42 lines
1.0 KiB
JSON
42 lines
1.0 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"$id": "https://example.local/http-client-app/contracts/events.schema.json",
|
|
"title": "WebSocket Event Envelope",
|
|
"description": "Base envelope for WebSocket events emitted by the local HTTP Client application.",
|
|
"type": "object",
|
|
"required": [
|
|
"type",
|
|
"executionId",
|
|
"seq",
|
|
"timestamp",
|
|
"payload"
|
|
],
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"examples": [
|
|
"execution.response.chunk"
|
|
]
|
|
},
|
|
"executionId": {
|
|
"type": "string",
|
|
"minLength": 1
|
|
},
|
|
"seq": {
|
|
"type": "integer",
|
|
"minimum": 0,
|
|
"description": "Monotonically increasing sequence number within an execution."
|
|
},
|
|
"timestamp": {
|
|
"type": "string",
|
|
"format": "date-time"
|
|
},
|
|
"payload": {
|
|
"type": "object",
|
|
"description": "Event-specific payload. Specialized schemas can narrow this object by event type."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
}
|