@canonmsg/backend-contracts 1.7.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/agentBehaviorPolicy.d.ts +86 -45
  2. package/dist/agentBehaviorPolicy.js +53 -0
  3. package/dist/bridgeLocal.d.ts +1729 -0
  4. package/dist/bridgeLocal.js +673 -0
  5. package/dist/cjs/agentBehaviorPolicy.js +54 -1
  6. package/dist/cjs/bridgeLocal.js +676 -0
  7. package/dist/cjs/contactRequest.js +30 -0
  8. package/dist/cjs/controlSignals.js +44 -0
  9. package/dist/cjs/endpointRegistry.js +264 -0
  10. package/dist/cjs/hitl.js +171 -0
  11. package/dist/cjs/inboundFrame.js +92 -0
  12. package/dist/cjs/index.js +8 -0
  13. package/dist/cjs/media.js +13 -0
  14. package/dist/cjs/message.js +64 -0
  15. package/dist/cjs/restEndpoints.js +220 -0
  16. package/dist/cjs/runtimeCardFields.js +58 -1
  17. package/dist/cjs/sendContextual.js +92 -0
  18. package/dist/cjs/sseEvents.js +298 -0
  19. package/dist/cjs/turnProtocol.js +41 -2
  20. package/dist/contactRequest.d.ts +42 -23
  21. package/dist/contactRequest.js +29 -0
  22. package/dist/controlSignals.d.ts +55 -0
  23. package/dist/controlSignals.js +41 -0
  24. package/dist/endpointRegistry.d.ts +13 -0
  25. package/dist/endpointRegistry.js +261 -0
  26. package/dist/hitl.d.ts +303 -0
  27. package/dist/hitl.js +168 -0
  28. package/dist/inboundFrame.d.ts +229 -0
  29. package/dist/inboundFrame.js +89 -0
  30. package/dist/index.d.ts +8 -0
  31. package/dist/index.js +8 -0
  32. package/dist/media.d.ts +24 -11
  33. package/dist/media.js +12 -0
  34. package/dist/message.d.ts +133 -50
  35. package/dist/message.js +64 -1
  36. package/dist/restEndpoints.d.ts +496 -0
  37. package/dist/restEndpoints.js +217 -0
  38. package/dist/runtimeCardFields.d.ts +112 -39
  39. package/dist/runtimeCardFields.js +57 -0
  40. package/dist/schemas/agent-behavior-settings-record.schema.json +48 -0
  41. package/dist/schemas/bridge-connection-state-notification.schema.json +19 -0
  42. package/dist/schemas/bridge-get-attachment-params.schema.json +24 -0
  43. package/dist/schemas/bridge-get-attachment-result.schema.json +20 -0
  44. package/dist/schemas/bridge-hello-params.schema.json +42 -0
  45. package/dist/schemas/bridge-hello-result.schema.json +105 -0
  46. package/dist/schemas/bridge-hitl-state.schema.json +38 -0
  47. package/dist/schemas/bridge-ok-result.schema.json +15 -0
  48. package/dist/schemas/bridge-ready-notification.schema.json +79 -0
  49. package/dist/schemas/bridge-resync-reason.schema.json +9 -0
  50. package/dist/schemas/bridge-resync.schema.json +18 -0
  51. package/dist/schemas/bridge-rpc-error.schema.json +19 -0
  52. package/dist/schemas/bridge-rpc-id.schema.json +12 -0
  53. package/dist/schemas/bridge-rpc-notification.schema.json +20 -0
  54. package/dist/schemas/bridge-rpc-request.schema.json +31 -0
  55. package/dist/schemas/bridge-rpc-response.schema.json +81 -0
  56. package/dist/schemas/bridge-status-result.schema.json +76 -0
  57. package/dist/schemas/bridge-upload-media-params.schema.json +28 -0
  58. package/dist/schemas/bridge-upstream-state.schema.json +10 -0
  59. package/dist/schemas/contacts-response.schema.json +52 -0
  60. package/dist/schemas/control-channel-key.schema.json +10 -0
  61. package/dist/schemas/control-primitive-event.schema.json +30 -0
  62. package/dist/schemas/control-primitive-map.schema.json +15 -0
  63. package/dist/schemas/control-session-event.schema.json +26 -0
  64. package/dist/schemas/control-session-node.schema.json +11 -0
  65. package/dist/schemas/control-signal-event.schema.json +35 -0
  66. package/dist/schemas/control-signal-node.schema.json +22 -0
  67. package/dist/schemas/control-signal-type.schema.json +10 -0
  68. package/dist/schemas/conversations-response.schema.json +127 -0
  69. package/dist/schemas/create-contact-request-request.schema.json +17 -0
  70. package/dist/schemas/create-contact-request-response.schema.json +51 -0
  71. package/dist/schemas/create-conversation-request.schema.json +82 -0
  72. package/dist/schemas/create-conversation-response.schema.json +29 -0
  73. package/dist/schemas/delete-message-response.schema.json +11 -0
  74. package/dist/schemas/delivery-intent.schema.json +11 -0
  75. package/dist/schemas/forward-message-request.schema.json +25 -0
  76. package/dist/schemas/forward-message-response.schema.json +35 -0
  77. package/dist/schemas/forwarded-from.schema.json +18 -0
  78. package/dist/schemas/get-messages-query.schema.json +17 -0
  79. package/dist/schemas/hitl-approval-category.schema.json +15 -0
  80. package/dist/schemas/hitl-approval-detail.schema.json +21 -0
  81. package/dist/schemas/hitl-approval-outcome-record.schema.json +33 -0
  82. package/dist/schemas/hitl-approval-reply-record.schema.json +57 -0
  83. package/dist/schemas/hitl-approval-request-record.schema.json +105 -0
  84. package/dist/schemas/hitl-approval-risk.schema.json +11 -0
  85. package/dist/schemas/hitl-card-outcome-record.schema.json +48 -0
  86. package/dist/schemas/hitl-card-reply-record.schema.json +46 -0
  87. package/dist/schemas/hitl-card-request-record.schema.json +73 -0
  88. package/dist/schemas/hitl-input-answers.schema.json +23 -0
  89. package/dist/schemas/hitl-input-kind.schema.json +10 -0
  90. package/dist/schemas/hitl-input-outcome-record.schema.json +46 -0
  91. package/dist/schemas/hitl-input-question.schema.json +54 -0
  92. package/dist/schemas/hitl-input-reply-record.schema.json +44 -0
  93. package/dist/schemas/hitl-input-request-record.schema.json +134 -0
  94. package/dist/schemas/hitl-pending.schema.json +31 -0
  95. package/dist/schemas/hitl-request-accepted.schema.json +18 -0
  96. package/dist/schemas/hitl-request-kind.schema.json +10 -0
  97. package/dist/schemas/hitl-resolution-status.schema.json +10 -0
  98. package/dist/schemas/hitl-resolution.schema.json +38 -0
  99. package/dist/schemas/hitl-session-rule.schema.json +32 -0
  100. package/dist/schemas/inbound-disposition.schema.json +13 -0
  101. package/dist/schemas/inbound-frame-attachment-v1.schema.json +94 -0
  102. package/dist/schemas/inbound-frame-contact-card-v1.schema.json +59 -0
  103. package/dist/schemas/inbound-frame-group-context-v1.schema.json +96 -0
  104. package/dist/schemas/inbound-frame-reply-context-v1.schema.json +261 -0
  105. package/dist/schemas/inbound-frame-shape-v1.schema.json +12 -0
  106. package/dist/schemas/inbound-frame-v1.schema.json +506 -0
  107. package/dist/schemas/mark-read-response.schema.json +11 -0
  108. package/dist/schemas/media-attachment-kind.schema.json +11 -0
  109. package/dist/schemas/media-attachment.schema.json +42 -0
  110. package/dist/schemas/messages-page-response.schema.json +290 -0
  111. package/dist/schemas/participation-decision-input.schema.json +44 -0
  112. package/dist/schemas/participation-history-message.schema.json +23 -0
  113. package/dist/schemas/participation-history-snapshot.schema.json +37 -0
  114. package/dist/schemas/participation-style.schema.json +13 -0
  115. package/dist/schemas/react-request.schema.json +22 -0
  116. package/dist/schemas/react-response.schema.json +35 -0
  117. package/dist/schemas/resolve-admission-request.schema.json +30 -0
  118. package/dist/schemas/resolve-admission-response.schema.json +129 -0
  119. package/dist/schemas/resolved-agent-behavior-policy-record.schema.json +81 -0
  120. package/dist/schemas/rest-contact.schema.json +40 -0
  121. package/dist/schemas/rest-conversation.schema.json +115 -0
  122. package/dist/schemas/rest-message.schema.json +252 -0
  123. package/dist/schemas/rest-ok-response.schema.json +11 -0
  124. package/dist/schemas/rest-session-selection.schema.json +40 -0
  125. package/dist/schemas/runtime-card-field-choice.schema.json +23 -0
  126. package/dist/schemas/runtime-card-field-type.schema.json +17 -0
  127. package/dist/schemas/runtime-card-field.schema.json +180 -0
  128. package/dist/schemas/runtime-card-line-item-column-type.schema.json +12 -0
  129. package/dist/schemas/runtime-card-line-item-column.schema.json +74 -0
  130. package/dist/schemas/send-contextual-deferred-response.schema.json +39 -0
  131. package/dist/schemas/send-contextual-messaged-response.schema.json +42 -0
  132. package/dist/schemas/send-contextual-request.schema.json +103 -0
  133. package/dist/schemas/send-contextual-response.schema.json +105 -0
  134. package/dist/schemas/send-contextual-self-context.schema.json +19 -0
  135. package/dist/schemas/send-contextual-state-response.schema.json +24 -0
  136. package/dist/schemas/send-message-request.schema.json +106 -0
  137. package/dist/schemas/send-message-response.schema.json +14 -0
  138. package/dist/schemas/sender-type.schema.json +9 -0
  139. package/dist/schemas/serialize-message-input.schema.json +29 -0
  140. package/dist/schemas/serialized-agent-client-type.schema.json +12 -0
  141. package/dist/schemas/serialized-contact-card.schema.json +65 -0
  142. package/dist/schemas/serialized-contact-request-status.schema.json +11 -0
  143. package/dist/schemas/serialized-contact-request.schema.json +157 -0
  144. package/dist/schemas/serialized-content-type.schema.json +13 -0
  145. package/dist/schemas/serialized-message.schema.json +249 -0
  146. package/dist/schemas/serialized-reactions.schema.json +14 -0
  147. package/dist/schemas/serialized-sender-type.schema.json +9 -0
  148. package/dist/schemas/set-streaming-request.schema.json +67 -0
  149. package/dist/schemas/set-typing-request.schema.json +25 -0
  150. package/dist/schemas/sse-access-policy.schema.json +10 -0
  151. package/dist/schemas/sse-agent-context-payload.schema.json +57 -0
  152. package/dist/schemas/sse-connected-payload.schema.json +18 -0
  153. package/dist/schemas/sse-contact-payload.schema.json +40 -0
  154. package/dist/schemas/sse-contact-removed-payload.schema.json +14 -0
  155. package/dist/schemas/sse-contact-request-payload.schema.json +157 -0
  156. package/dist/schemas/sse-conversation-updated-payload.schema.json +48 -0
  157. package/dist/schemas/sse-error-payload.schema.json +23 -0
  158. package/dist/schemas/sse-event-envelope.schema.json +42 -0
  159. package/dist/schemas/sse-event-family.schema.json +12 -0
  160. package/dist/schemas/sse-event-type.schema.json +28 -0
  161. package/dist/schemas/sse-heartbeat-payload.schema.json +14 -0
  162. package/dist/schemas/sse-membership-change.schema.json +28 -0
  163. package/dist/schemas/sse-message-created-payload.schema.json +414 -0
  164. package/dist/schemas/sse-message-deleted-payload.schema.json +18 -0
  165. package/dist/schemas/sse-message-updated-payload.schema.json +46 -0
  166. package/dist/schemas/sse-presence-payload.schema.json +21 -0
  167. package/dist/schemas/sse-provenance.schema.json +64 -0
  168. package/dist/schemas/sse-replay-expired-payload.schema.json +21 -0
  169. package/dist/schemas/sse-runtime-control-kind.schema.json +13 -0
  170. package/dist/schemas/sse-runtime-control-payload.schema.json +44 -0
  171. package/dist/schemas/sse-runtime-updated-payload.schema.json +78 -0
  172. package/dist/schemas/sse-self-context.schema.json +45 -0
  173. package/dist/schemas/sse-turn-dispatch.schema.json +29 -0
  174. package/dist/schemas/sse-turn-updated-payload.schema.json +33 -0
  175. package/dist/schemas/sse-typing-payload.schema.json +32 -0
  176. package/dist/schemas/sse-voice-session-event-payload.schema.json +170 -0
  177. package/dist/schemas/sse-voice-session.schema.json +157 -0
  178. package/dist/schemas/trigger-decision.schema.json +27 -0
  179. package/dist/schemas/turn-lifecycle-state.schema.json +14 -0
  180. package/dist/schemas/turn-message-semantics.schema.json +10 -0
  181. package/dist/schemas/turn-metadata.schema.json +56 -0
  182. package/dist/schemas/turn-state-like.schema.json +39 -0
  183. package/dist/schemas/update-disposition-request.schema.json +22 -0
  184. package/dist/schemas/upload-media-request.schema.json +25 -0
  185. package/dist/schemas/upload-media-response.schema.json +55 -0
  186. package/dist/sendContextual.d.ts +114 -0
  187. package/dist/sendContextual.js +89 -0
  188. package/dist/sseEvents.d.ts +494 -0
  189. package/dist/sseEvents.js +295 -0
  190. package/dist/turnProtocol.d.ts +91 -24
  191. package/dist/turnProtocol.js +40 -1
  192. package/package.json +8 -5
@@ -0,0 +1,414 @@
1
+ {
2
+ "$id": "canon:SseMessageCreatedPayloadSchema",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "conversationId": {
7
+ "type": "string"
8
+ },
9
+ "behavior": {
10
+ "type": "object",
11
+ "propertyNames": {
12
+ "type": "string"
13
+ },
14
+ "additionalProperties": {}
15
+ },
16
+ "activeSelfContextId": {
17
+ "anyOf": [
18
+ {
19
+ "type": "string"
20
+ },
21
+ {
22
+ "type": "null"
23
+ }
24
+ ]
25
+ },
26
+ "selfContexts": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "object",
30
+ "properties": {
31
+ "id": {
32
+ "type": "string"
33
+ },
34
+ "type": {
35
+ "type": "string",
36
+ "const": "cross_session"
37
+ },
38
+ "context": {
39
+ "type": "string"
40
+ },
41
+ "createdAt": {
42
+ "anyOf": [
43
+ {
44
+ "type": "string"
45
+ },
46
+ {
47
+ "type": "null"
48
+ }
49
+ ]
50
+ },
51
+ "updatedAt": {
52
+ "anyOf": [
53
+ {
54
+ "type": "string"
55
+ },
56
+ {
57
+ "type": "null"
58
+ }
59
+ ]
60
+ }
61
+ },
62
+ "required": [
63
+ "id",
64
+ "type",
65
+ "context",
66
+ "createdAt",
67
+ "updatedAt"
68
+ ],
69
+ "additionalProperties": false
70
+ }
71
+ },
72
+ "provenance": {
73
+ "type": "object",
74
+ "properties": {
75
+ "conversation": {
76
+ "type": "object",
77
+ "properties": {
78
+ "id": {
79
+ "type": "string"
80
+ },
81
+ "type": {
82
+ "type": "string",
83
+ "enum": [
84
+ "direct",
85
+ "group",
86
+ "unknown"
87
+ ]
88
+ }
89
+ },
90
+ "required": [
91
+ "id",
92
+ "type"
93
+ ],
94
+ "additionalProperties": {}
95
+ },
96
+ "sender": {
97
+ "type": "object",
98
+ "properties": {
99
+ "id": {
100
+ "type": "string"
101
+ },
102
+ "name": {
103
+ "type": "string"
104
+ },
105
+ "type": {
106
+ "type": "string",
107
+ "enum": [
108
+ "human",
109
+ "ai_agent"
110
+ ]
111
+ },
112
+ "isOwner": {
113
+ "type": "boolean"
114
+ }
115
+ },
116
+ "required": [
117
+ "id",
118
+ "type",
119
+ "isOwner"
120
+ ],
121
+ "additionalProperties": {}
122
+ },
123
+ "mentionedAgent": {
124
+ "type": "boolean"
125
+ }
126
+ },
127
+ "required": [
128
+ "conversation",
129
+ "sender",
130
+ "mentionedAgent"
131
+ ],
132
+ "additionalProperties": {}
133
+ },
134
+ "turnDispatch": {
135
+ "type": "object",
136
+ "properties": {
137
+ "kind": {
138
+ "type": "string",
139
+ "enum": [
140
+ "run_turn",
141
+ "observe_only"
142
+ ]
143
+ },
144
+ "reason": {
145
+ "type": "string"
146
+ },
147
+ "addressed": {
148
+ "type": "boolean"
149
+ },
150
+ "policyVersion": {
151
+ "type": "string"
152
+ }
153
+ },
154
+ "required": [
155
+ "kind",
156
+ "reason",
157
+ "addressed"
158
+ ],
159
+ "additionalProperties": {}
160
+ },
161
+ "message": {
162
+ "type": "object",
163
+ "properties": {
164
+ "id": {
165
+ "type": "string"
166
+ },
167
+ "senderId": {
168
+ "type": "string"
169
+ },
170
+ "senderName": {
171
+ "type": "string"
172
+ },
173
+ "senderType": {
174
+ "type": "string",
175
+ "enum": [
176
+ "human",
177
+ "ai_agent"
178
+ ]
179
+ },
180
+ "isOwner": {
181
+ "type": "boolean"
182
+ },
183
+ "contentType": {
184
+ "type": "string",
185
+ "enum": [
186
+ "text",
187
+ "image",
188
+ "audio",
189
+ "video",
190
+ "file",
191
+ "contact_card"
192
+ ]
193
+ },
194
+ "text": {
195
+ "anyOf": [
196
+ {
197
+ "type": "string"
198
+ },
199
+ {
200
+ "type": "null"
201
+ }
202
+ ]
203
+ },
204
+ "attachments": {
205
+ "type": "array",
206
+ "items": {
207
+ "type": "object",
208
+ "properties": {
209
+ "kind": {
210
+ "type": "string",
211
+ "enum": [
212
+ "image",
213
+ "audio",
214
+ "video",
215
+ "file"
216
+ ]
217
+ },
218
+ "url": {
219
+ "type": "string"
220
+ },
221
+ "mimeType": {
222
+ "type": "string"
223
+ },
224
+ "fileName": {
225
+ "type": "string"
226
+ },
227
+ "sizeBytes": {
228
+ "type": "number"
229
+ },
230
+ "width": {
231
+ "type": "number"
232
+ },
233
+ "height": {
234
+ "type": "number"
235
+ },
236
+ "durationMs": {
237
+ "type": "number"
238
+ }
239
+ },
240
+ "required": [
241
+ "kind",
242
+ "url"
243
+ ],
244
+ "additionalProperties": false
245
+ }
246
+ },
247
+ "mentions": {
248
+ "type": "array",
249
+ "items": {
250
+ "type": "string"
251
+ }
252
+ },
253
+ "replyTo": {
254
+ "anyOf": [
255
+ {
256
+ "type": "string"
257
+ },
258
+ {
259
+ "type": "null"
260
+ }
261
+ ]
262
+ },
263
+ "replyToPosition": {
264
+ "anyOf": [
265
+ {
266
+ "type": "number"
267
+ },
268
+ {
269
+ "type": "null"
270
+ }
271
+ ]
272
+ },
273
+ "forwarded": {
274
+ "type": "boolean"
275
+ },
276
+ "forwardedFrom": {
277
+ "type": "object",
278
+ "properties": {
279
+ "sourceConversationId": {
280
+ "type": "string"
281
+ },
282
+ "messageId": {
283
+ "type": "string"
284
+ }
285
+ },
286
+ "required": [
287
+ "sourceConversationId",
288
+ "messageId"
289
+ ],
290
+ "additionalProperties": false
291
+ },
292
+ "status": {
293
+ "type": "string",
294
+ "enum": [
295
+ "sent",
296
+ "read"
297
+ ]
298
+ },
299
+ "createdAt": {
300
+ "type": "string"
301
+ },
302
+ "metadata": {
303
+ "type": "object",
304
+ "propertyNames": {
305
+ "type": "string"
306
+ },
307
+ "additionalProperties": {}
308
+ },
309
+ "contactCard": {
310
+ "type": "object",
311
+ "properties": {
312
+ "userId": {
313
+ "type": "string"
314
+ },
315
+ "canonContactId": {
316
+ "type": "string"
317
+ },
318
+ "displayName": {
319
+ "type": "string"
320
+ },
321
+ "avatarUrl": {
322
+ "anyOf": [
323
+ {
324
+ "type": "string"
325
+ },
326
+ {
327
+ "type": "null"
328
+ }
329
+ ]
330
+ },
331
+ "userType": {
332
+ "type": "string",
333
+ "enum": [
334
+ "human",
335
+ "ai_agent"
336
+ ]
337
+ },
338
+ "clientType": {
339
+ "type": "string",
340
+ "enum": [
341
+ "claude-code",
342
+ "openclaw",
343
+ "codex",
344
+ "hermes",
345
+ "generic"
346
+ ]
347
+ },
348
+ "about": {
349
+ "type": "string"
350
+ },
351
+ "isActive": {
352
+ "type": "boolean"
353
+ },
354
+ "ownerId": {
355
+ "type": "string"
356
+ },
357
+ "ownerName": {
358
+ "type": "string"
359
+ },
360
+ "lifecycleState": {
361
+ "type": "string"
362
+ }
363
+ },
364
+ "required": [
365
+ "userId",
366
+ "displayName",
367
+ "avatarUrl",
368
+ "userType"
369
+ ],
370
+ "additionalProperties": false
371
+ },
372
+ "runtimeCard": {
373
+ "type": "object",
374
+ "propertyNames": {
375
+ "type": "string"
376
+ },
377
+ "additionalProperties": {}
378
+ },
379
+ "reactions": {
380
+ "type": "object",
381
+ "propertyNames": {
382
+ "type": "string"
383
+ },
384
+ "additionalProperties": {
385
+ "type": "array",
386
+ "items": {
387
+ "type": "string"
388
+ }
389
+ }
390
+ }
391
+ },
392
+ "required": [
393
+ "id",
394
+ "senderId",
395
+ "senderType",
396
+ "isOwner",
397
+ "contentType",
398
+ "text",
399
+ "attachments",
400
+ "mentions",
401
+ "replyTo",
402
+ "replyToPosition",
403
+ "status",
404
+ "createdAt"
405
+ ],
406
+ "additionalProperties": false
407
+ }
408
+ },
409
+ "required": [
410
+ "conversationId",
411
+ "message"
412
+ ],
413
+ "additionalProperties": {}
414
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$id": "canon:SseMessageDeletedPayloadSchema",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "conversationId": {
7
+ "type": "string"
8
+ },
9
+ "messageId": {
10
+ "type": "string"
11
+ }
12
+ },
13
+ "required": [
14
+ "conversationId",
15
+ "messageId"
16
+ ],
17
+ "additionalProperties": false
18
+ }
@@ -0,0 +1,46 @@
1
+ {
2
+ "$id": "canon:SseMessageUpdatedPayloadSchema",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "conversationId": {
7
+ "type": "string"
8
+ },
9
+ "messageId": {
10
+ "type": "string"
11
+ },
12
+ "actorId": {
13
+ "type": "string"
14
+ },
15
+ "updatedAt": {
16
+ "type": "string"
17
+ },
18
+ "changes": {
19
+ "type": "object",
20
+ "properties": {
21
+ "reactions": {
22
+ "type": "object",
23
+ "propertyNames": {
24
+ "type": "string"
25
+ },
26
+ "additionalProperties": {
27
+ "type": "array",
28
+ "items": {
29
+ "type": "string"
30
+ }
31
+ }
32
+ }
33
+ },
34
+ "required": [
35
+ "reactions"
36
+ ],
37
+ "additionalProperties": {}
38
+ }
39
+ },
40
+ "required": [
41
+ "conversationId",
42
+ "messageId",
43
+ "changes"
44
+ ],
45
+ "additionalProperties": false
46
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$id": "canon:SsePresencePayloadSchema",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "userId": {
7
+ "type": "string"
8
+ },
9
+ "online": {
10
+ "type": "boolean"
11
+ },
12
+ "lastSeen": {
13
+ "type": "string"
14
+ }
15
+ },
16
+ "required": [
17
+ "userId",
18
+ "online"
19
+ ],
20
+ "additionalProperties": false
21
+ }
@@ -0,0 +1,64 @@
1
+ {
2
+ "$id": "canon:SseProvenanceSchema",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "conversation": {
7
+ "type": "object",
8
+ "properties": {
9
+ "id": {
10
+ "type": "string"
11
+ },
12
+ "type": {
13
+ "type": "string",
14
+ "enum": [
15
+ "direct",
16
+ "group",
17
+ "unknown"
18
+ ]
19
+ }
20
+ },
21
+ "required": [
22
+ "id",
23
+ "type"
24
+ ],
25
+ "additionalProperties": {}
26
+ },
27
+ "sender": {
28
+ "type": "object",
29
+ "properties": {
30
+ "id": {
31
+ "type": "string"
32
+ },
33
+ "name": {
34
+ "type": "string"
35
+ },
36
+ "type": {
37
+ "type": "string",
38
+ "enum": [
39
+ "human",
40
+ "ai_agent"
41
+ ]
42
+ },
43
+ "isOwner": {
44
+ "type": "boolean"
45
+ }
46
+ },
47
+ "required": [
48
+ "id",
49
+ "type",
50
+ "isOwner"
51
+ ],
52
+ "additionalProperties": {}
53
+ },
54
+ "mentionedAgent": {
55
+ "type": "boolean"
56
+ }
57
+ },
58
+ "required": [
59
+ "conversation",
60
+ "sender",
61
+ "mentionedAgent"
62
+ ],
63
+ "additionalProperties": {}
64
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "$id": "canon:SseReplayExpiredPayloadSchema",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "lastAvailableId": {
7
+ "anyOf": [
8
+ {
9
+ "type": "string"
10
+ },
11
+ {
12
+ "type": "null"
13
+ }
14
+ ]
15
+ },
16
+ "message": {
17
+ "type": "string"
18
+ }
19
+ },
20
+ "additionalProperties": {}
21
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "$id": "canon:SseRuntimeControlKindSchema",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "string",
5
+ "enum": [
6
+ "session",
7
+ "signal",
8
+ "primitive",
9
+ "runtimeInput",
10
+ "runtimeCard",
11
+ "runtimeApproval"
12
+ ]
13
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "$id": "canon:SseRuntimeControlPayloadSchema",
3
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
4
+ "type": "object",
5
+ "properties": {
6
+ "conversationId": {
7
+ "type": "string"
8
+ },
9
+ "agentId": {
10
+ "type": "string"
11
+ },
12
+ "kind": {
13
+ "type": "string",
14
+ "enum": [
15
+ "session",
16
+ "signal",
17
+ "primitive",
18
+ "runtimeInput",
19
+ "runtimeCard",
20
+ "runtimeApproval"
21
+ ]
22
+ },
23
+ "requestId": {
24
+ "type": "string"
25
+ },
26
+ "updatedAt": {
27
+ "type": "number"
28
+ },
29
+ "value": {
30
+ "type": "object",
31
+ "propertyNames": {
32
+ "type": "string"
33
+ },
34
+ "additionalProperties": {}
35
+ }
36
+ },
37
+ "required": [
38
+ "conversationId",
39
+ "agentId",
40
+ "kind",
41
+ "value"
42
+ ],
43
+ "additionalProperties": false
44
+ }