Package-level declarations
Types
Chat lifecycle, mirroring the AI SDK useChat().status.
Structured, app-defined data streamed by the agent — the AI SDK data-* parts (e.g. data-plan, data-task). A later part with the same id replaces the earlier one, so agents can update it live.
A chat message: an ordered list of Parts, the same shape as the AI SDK UIMessage. Assistant messages usually interleave reasoning, tool calls and text across several agent steps.
The model's reasoning; durationMs is how long it thought, once finished.
A cited source (URL and title), shown by the UI Sources element and inline citations.
A prompt suggestion chip.
Output written for a terminal, as a terminal shows it: the control functions of ECMA-48 (ISO/IEC 6429, "ANSI escape codes") in the subset xterm-compatible programs use for their output, applied to a screen of lines with a cursor.
What a tool call does, in the vocabulary of the Agent Client Protocol's ToolKind (read, edit, delete, move, search, execute, think, fetch, switch_mode, other), which Pydantic AI Harness also uses for its file-system and shell tools. Elements pick a step's view from it: a terminal for EXECUTE, a diff for EDIT, a browser frame for FETCH.
The protocol-independent meaning of a tool call. Backends map their protocol onto it (an on-device tool declares it, AG-UI SUBAGENT_* runs and the Pydantic AI Harness tool conventions are translated in core), so UI elements only ever look at this.