98 lines
3.0 KiB
JSON
98 lines
3.0 KiB
JSON
{
|
|
"title": "A2UI (Agent to UI) Client-to-Server Event Schema",
|
|
"description": "Describes a JSON payload for a client-to-server event message.",
|
|
"type": "object",
|
|
"minProperties": 1,
|
|
"maxProperties": 1,
|
|
"properties": {
|
|
"userAction": {
|
|
"type": "object",
|
|
"description": "Reports a user-initiated action from a component.",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"description": "The name of the action, taken from the component's action.name property."
|
|
},
|
|
"surfaceId": {
|
|
"type": "string",
|
|
"description": "The id of the surface where the event originated."
|
|
},
|
|
"sourceComponentId": {
|
|
"type": "string",
|
|
"description": "The id of the component that triggered the event."
|
|
},
|
|
"timestamp": {
|
|
"type": "string",
|
|
"format": "date-time",
|
|
"description": "An ISO 8601 timestamp of when the event occurred."
|
|
},
|
|
"context": {
|
|
"type": "object",
|
|
"description": "A JSON object containing the key-value pairs from the component's action.context, after resolving all data bindings.",
|
|
"additionalProperties": true
|
|
}
|
|
},
|
|
"required": [
|
|
"name",
|
|
"surfaceId",
|
|
"sourceComponentId",
|
|
"timestamp",
|
|
"context"
|
|
]
|
|
},
|
|
"error": {
|
|
"description": "Reports a client-side error.",
|
|
"oneOf": [
|
|
{
|
|
"type": "object",
|
|
"title": "Validation Failed Error",
|
|
"properties": {
|
|
"code": {
|
|
"const": "VALIDATION_FAILED"
|
|
},
|
|
"surfaceId": {
|
|
"type": "string",
|
|
"description": "The id of the surface where the error occurred."
|
|
},
|
|
"path": {
|
|
"type": "string",
|
|
"description": "The JSON pointer to the field that failed validation (e.g. '/components/0/text')."
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"description": "A short one-sentence description of why validation failed."
|
|
}
|
|
},
|
|
"required": ["code", "path", "message", "surfaceId"]
|
|
},
|
|
{
|
|
"type": "object",
|
|
"title": "Generic Error",
|
|
"properties": {
|
|
"code": {
|
|
"not": {
|
|
"const": "VALIDATION_FAILED"
|
|
}
|
|
},
|
|
"message": {
|
|
"type": "string",
|
|
"description": "A short one-sentence description of why the error occurred."
|
|
},
|
|
"surfaceId": {
|
|
"type": "string",
|
|
"description": "The id of the surface where the error occurred."
|
|
}
|
|
},
|
|
"required": ["code", "surfaceId", "message"],
|
|
"additionalProperties": true
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"oneOf": [
|
|
{ "required": ["userAction"] },
|
|
{ "required": ["clientUiCapabilities"] },
|
|
{ "required": ["error"] }
|
|
]
|
|
}
|