Package-level declarations
Types
A user action on a surface, as the A2UI renderer-to-agent action message (toMessage).
Renders one component type of a catalog.
A data model write that cannot apply (e.g. through a primitive value).
Side effects functions may ask the host for (only openUrl in the Basic Catalog).
An expression that cannot be evaluated (unknown function, disallowed URL…).
A catalog function. invoke gets resolved args (formatString gets them raw, to interpolate itself) and the calling scope (null when the agent calls it via callRendererFunction).
A formatString template that does not parse.
The renderer side of an A2UI session: feed it agent-to-renderer messages (process), render its surfaces with A2uiSurfaceView. Messages it must answer (function responses, errors) come back from process as renderer-to-agent messages for the transport to send.
One A2UI surface: its components (an adjacency list keyed by id; root mounts first) and its data model. Both are Compose state, so a surface re-renders as messages arrive and as inputs write through two-way bindings.
The A2UI Basic Catalog in Material 3, per the basic catalog implementation guide: invisible containers add no spacing, leaves and outlined containers carry a uniform LeafMargin, colours come from the theme (LocalContentColor), cards are outlined so nesting stays readable.
The Basic Catalog's renderer-side functions (A2UI v1.0 basic catalog implementation guide).
What a component renderer sees: its properties resolved in its data scope, its children, two-way binding writes and action dispatch.
Where a component evaluates its dynamic values (A2UI "evaluation scope"): absolute paths resolve from the surface's data model; relative paths from base, the item a list template is rendering (at index). Resolves Dynamic* values: literals, {"path": …} bindings and {"call": …} function calls, including formatString ${…} interpolation.
Functions
Renders the chat's A2UI parts (DataPart.A2UI, whatever transport brought them) natively. Register it with AiElementsRenderers(data = mapOf(DataPart.A2UI to a2uiRenderer { chat.send(it) })).
Renders an A2UI surface natively with catalog (default: the Basic Catalog); nothing until its root component arrives. onAction receives the user's actions as renderer-to-agent messages (A2uiAction.toMessage) for the transport to send back; links open through LocalUriHandler.
Send a user's A2UI action to the agent, as a user turn the transports map onto their A2UI binding (AG-UI forwardedProps.a2uiAction, an A2A application/a2ui+json part, an AI SDK data-a2ui part). Its text is the action's userMessage, else its name.
This action as the data parts of a user turn: the A2UI action message (DataPart.A2UI) and, when the surface asked for it, its data model (DataPart.A2UI_DATA_MODEL).