Skip to content

Commit 53b3bc5

Browse files
authored
Expand extension specification docs and unify URL (#246)
1 parent 092e2f9 commit 53b3bc5

File tree

3 files changed

+30
-4
lines changed

3 files changed

+30
-4
lines changed

a2a_agents/java/src/main/java/org/a2ui/A2uiExtension.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
public final class A2uiExtension {
3333
private static final Logger logger = Logger.getLogger(A2uiExtension.class.getName());
3434

35-
public static final String A2UI_EXTENSION_URI = "https://a2ui.org/a2a-extension/v0.1";
35+
public static final String A2UI_EXTENSION_URI = "https://a2ui.org/a2a-extension/a2ui/v0.8";
3636
public static final String MIME_TYPE_KEY = "mimeType";
3737
public static final String A2UI_MIME_TYPE = "application/json+a2ui";
3838

specification/0.8/docs/a2ui_extension_specification.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ This extension implements the A2UI (Agent-to-Agent UI) spec, a format for agents
66

77
## Extension URI
88

9-
The URI of this extension is https://a2ui.org/ext/a2a-ui/v0.8
9+
The URI of this extension is https://a2ui.org/a2a-extension/a2ui/v0.8
1010

1111
This is the only URI accepted for this extension.
1212

@@ -36,7 +36,7 @@ Example AgentExtension block:
3636

3737
```json
3838
{
39-
"uri": "https://a2ui.org/ext/a2a-ui/v0.8",
39+
"uri": "https://a2ui.org/a2a-extension/a2ui/v0.8",
4040
"description": "Ability to render A2UI",
4141
"required": false,
4242
"params": {
@@ -61,3 +61,29 @@ For JSON-RPC and HTTP transports, this is indicated via the X-A2A-Extensions HTT
6161
For gRPC, this is indicated via the X-A2A-Extensions metadata value.
6262

6363
Activating this extension implies that the server can send A2UI-specific messages (like surfaceUpdate) and the client is expected to send A2UI-specific events (like userAction).
64+
65+
## Data Encoding
66+
67+
A2UI messages are encoded as an A2A `DataPart`.
68+
69+
To identify a `DataPart` as containing A2UI data, it must have the following metadata:
70+
71+
- `mimeType`: `application/json+a2ui`
72+
73+
The `data` field of the `DataPart` contains the A2UI JSON message (e.g., `surfaceUpdate`, `userAction`).
74+
75+
Example A2UI DataPart:
76+
77+
```json
78+
{
79+
"data": {
80+
"beginRendering": {
81+
"surfaceId": "outlier_stores_map_surface",
82+
}
83+
},
84+
"kind": "data",
85+
"metadata": {
86+
"mimeType": "application/json+a2ui"
87+
}
88+
}
89+
```

specification/0.8/docs/a2ui_protocol.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ The server (agent) advertises its capabilities in its Agent Card as part of the
192192
"capabilities": {
193193
"extensions": [
194194
{
195-
"uri": "https://a2ui.org/ext/a2a-ui/v0.8",
195+
"uri": "https://a2ui.org/a2a-extension/a2ui/v0.8",
196196
"params": {
197197
"supportedCatalogIds": [
198198
"https://github.com/google/A2UI/blob/main/specification/0.8/json/standard_catalog_definition.json",

0 commit comments

Comments
 (0)