You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: specification/v0_10/docs/a2ui_protocol.md
+18-1Lines changed: 18 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -181,6 +181,8 @@ This message signals the client to create a new surface and begin rendering it.
181
181
-`catalogId` (string, required): A string that uniquely identifies the catalog (components and functions) used for this surface. It is recommended to prefix this with an internet domain that you own, to avoid conflicts (e.g., `https://mycompany.com/1.0/somecatalog`). If it is a URL, the URL does not need to have any deployed resources, it is simply a unique identifier.
182
182
-`theme` (object, optional): A JSON object containing theme parameters (e.g., `primaryColor`) defined in the catalog's theme schema.
183
183
-`sendDataModel` (boolean, optional): If true, the client will send the full data model of this surface in the metadata of every message sent to the server (via the Transport's metadata mechanism). This ensures the surface owner receives the full current state of the UI alongside the user's action or query. Defaults to false.
184
+
-`components` (array, optional): A list containing UI components for the surface, allowing the client to build and populate the UI tree immediately on surface creation. Conforms to the `ComponentsList` schema.
185
+
-`dataModel` (object, optional): A plain JSON object representing the initial root state of the data model.
184
186
185
187
**Example:**
186
188
@@ -193,7 +195,22 @@ This message signals the client to create a new surface and begin rendering it.
Copy file name to clipboardExpand all lines: specification/v0_10/json/server_to_client.json
+17-6Lines changed: 17 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -38,6 +38,14 @@
38
38
"sendDataModel": {
39
39
"type": "boolean",
40
40
"description": "If true, the client will send the full data model of this surface in the metadata of every A2A message sent to the server that created the surface. Defaults to false."
41
+
},
42
+
"components": {
43
+
"$ref": "#/$defs/ComponentsList"
44
+
},
45
+
"dataModel": {
46
+
"type": "object",
47
+
"description": "The initial root data model object for the surface.",
48
+
"additionalProperties": true
41
49
}
42
50
},
43
51
"required": ["surfaceId", "catalogId"],
@@ -47,6 +55,14 @@
47
55
"required": ["createSurface", "version"],
48
56
"additionalProperties": false
49
57
},
58
+
"ComponentsList": {
59
+
"type": "array",
60
+
"description": "A list containing UI components for the surface.",
61
+
"minItems": 1,
62
+
"items": {
63
+
"$ref": "catalog.json#/$defs/anyComponent"
64
+
}
65
+
},
50
66
"UpdateComponentsMessage": {
51
67
"type": "object",
52
68
"properties": {
@@ -62,12 +78,7 @@
62
78
"description": "The unique identifier for the UI surface to be updated."
63
79
},
64
80
"components": {
65
-
"type": "array",
66
-
"description": "A list containing all UI components for the surface.",
0 commit comments