Core Concepts¶
This section explains the fundamental architecture of A2UI. Understanding these concepts will help you build effective agent-driven interfaces.
The Big Picture¶
A2UI is built around three core ideas:
- Streaming Messages: UI updates flow as a sequence of JSON messages from agent to client
- Declarative Components: UIs are described as data, not programmed as code
- Data Binding: UI structure is separate from application state, enabling reactive updates
Key Topics¶
Data Flow¶
How messages travel from agents to rendered UI. Includes a complete lifecycle example of a restaurant booking flow, transport options (SSE, WebSockets, A2A), progressive rendering, and error handling.
Component Structure¶
A2UI's adjacency list model for representing component hierarchies. Learn why flat lists are better than nested trees, how to use static vs. dynamic children, and best practices for incremental updates.
Data Binding¶
How components connect to application state using JSON Pointer paths. Covers reactive components, dynamic lists, input bindings, and the separation of structure from state that makes A2UI powerful.
Message Types¶
A2UI uses four message types:
surfaceUpdate: Define or update UI componentsdataModelUpdate: Update application statebeginRendering: Signal the client to renderdeleteSurface: Remove a UI surface
For complete technical details, see Message Reference.