docs/concepts/transports.md
Transports deliver A2UI messages from agents to clients. A2UI is transport-agnostic—use any method that can send JSON.
The actual component rendering is done by the renderer, and the agents are responsible for generating the A2UI messages. Getting the messages from the agent to the client is the job of the transport.
Agent → Transport → Client Renderer
A2UI defines a sequence of JSON messages. The transport layer is responsible for delivering this sequence from the agent to the client. A common transport mechanism is a stream using a format like JSON Lines (JSONL), where each line is a single A2UI message.
| Transport | Status | Use Case |
|---|---|---|
| A2A Protocol | ✅ Stable | Multi-agent systems, enterprise meshes |
| AG UI | ✅ Stable | Full-stack React applications |
| REST API | 📋 Planned | Simple HTTP endpoints |
| WebSockets | 💡 Proposed | Real-time bidirectional |
| SSE (Server-Sent Events) | 💡 Proposed | Web streaming |
The Agent2Agent (A2A) protocol provides secure, standardized agent communication. An A2A extension provides easy integration with A2UI.
Benefits:
If you are using A2A, this should be nearly automatic.
TODO: Add a detailed guide.
See: A2A Extension Specification
AG UI translates from A2UI messages to AG UI messages, and handles transport and state sync automatically.
If you are using AG UI, this should be automatic.
TODO: Add a detailed guide.
You can use any transport that sends JSON:
HTTP/REST:
// TODO: Add an example
WebSockets:
// TODO: Add an example
Server-Sent Events:
// TODO: Add an example