@canonmsg/backend-contracts 1.9.0 → 2.0.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 (198) hide show
  1. package/dist/agentBehaviorPolicy.d.ts +45 -86
  2. package/dist/agentBehaviorPolicy.js +0 -53
  3. package/dist/cjs/agentBehaviorPolicy.js +1 -54
  4. package/dist/cjs/contactRequest.js +0 -30
  5. package/dist/cjs/index.js +0 -8
  6. package/dist/cjs/media.js +0 -13
  7. package/dist/cjs/message.js +0 -64
  8. package/dist/cjs/runtimeCardFields.js +1 -58
  9. package/dist/cjs/turnProtocol.js +1 -41
  10. package/dist/contactRequest.d.ts +23 -42
  11. package/dist/contactRequest.js +0 -29
  12. package/dist/index.d.ts +0 -8
  13. package/dist/index.js +0 -8
  14. package/dist/media.d.ts +11 -24
  15. package/dist/media.js +0 -12
  16. package/dist/message.d.ts +50 -133
  17. package/dist/message.js +1 -64
  18. package/dist/runtimeCardFields.d.ts +39 -112
  19. package/dist/runtimeCardFields.js +0 -57
  20. package/dist/turnProtocol.d.ts +24 -91
  21. package/dist/turnProtocol.js +0 -40
  22. package/package.json +5 -8
  23. package/dist/bridgeLocal.d.ts +0 -1871
  24. package/dist/bridgeLocal.js +0 -744
  25. package/dist/cjs/bridgeLocal.js +0 -747
  26. package/dist/cjs/controlSignals.js +0 -44
  27. package/dist/cjs/endpointRegistry.js +0 -264
  28. package/dist/cjs/hitl.js +0 -171
  29. package/dist/cjs/inboundFrame.js +0 -92
  30. package/dist/cjs/restEndpoints.js +0 -237
  31. package/dist/cjs/sendContextual.js +0 -92
  32. package/dist/cjs/sseEvents.js +0 -281
  33. package/dist/controlSignals.d.ts +0 -55
  34. package/dist/controlSignals.js +0 -41
  35. package/dist/endpointRegistry.d.ts +0 -13
  36. package/dist/endpointRegistry.js +0 -261
  37. package/dist/hitl.d.ts +0 -303
  38. package/dist/hitl.js +0 -168
  39. package/dist/inboundFrame.d.ts +0 -229
  40. package/dist/inboundFrame.js +0 -89
  41. package/dist/restEndpoints.d.ts +0 -531
  42. package/dist/restEndpoints.js +0 -234
  43. package/dist/schemas/agent-behavior-settings-record.schema.json +0 -48
  44. package/dist/schemas/bridge-connection-state-notification.schema.json +0 -19
  45. package/dist/schemas/bridge-get-attachment-params.schema.json +0 -24
  46. package/dist/schemas/bridge-get-attachment-result.schema.json +0 -20
  47. package/dist/schemas/bridge-hello-params.schema.json +0 -42
  48. package/dist/schemas/bridge-hello-result.schema.json +0 -105
  49. package/dist/schemas/bridge-hitl-state.schema.json +0 -38
  50. package/dist/schemas/bridge-ok-result.schema.json +0 -15
  51. package/dist/schemas/bridge-publish-streaming-event-params.schema.json +0 -138
  52. package/dist/schemas/bridge-ready-notification.schema.json +0 -79
  53. package/dist/schemas/bridge-resync-reason.schema.json +0 -9
  54. package/dist/schemas/bridge-resync.schema.json +0 -18
  55. package/dist/schemas/bridge-rpc-error.schema.json +0 -19
  56. package/dist/schemas/bridge-rpc-id.schema.json +0 -12
  57. package/dist/schemas/bridge-rpc-notification.schema.json +0 -20
  58. package/dist/schemas/bridge-rpc-request.schema.json +0 -31
  59. package/dist/schemas/bridge-rpc-response.schema.json +0 -81
  60. package/dist/schemas/bridge-status-result.schema.json +0 -76
  61. package/dist/schemas/bridge-stream-clear-event.schema.json +0 -15
  62. package/dist/schemas/bridge-stream-event.schema.json +0 -112
  63. package/dist/schemas/bridge-stream-final-event.schema.json +0 -19
  64. package/dist/schemas/bridge-stream-text-event.schema.json +0 -31
  65. package/dist/schemas/bridge-stream-thinking-event.schema.json +0 -15
  66. package/dist/schemas/bridge-stream-tool-event.schema.json +0 -36
  67. package/dist/schemas/bridge-upload-media-params.schema.json +0 -28
  68. package/dist/schemas/bridge-upstream-state.schema.json +0 -10
  69. package/dist/schemas/contacts-response.schema.json +0 -52
  70. package/dist/schemas/control-channel-key.schema.json +0 -10
  71. package/dist/schemas/control-primitive-event.schema.json +0 -30
  72. package/dist/schemas/control-primitive-map.schema.json +0 -15
  73. package/dist/schemas/control-session-event.schema.json +0 -26
  74. package/dist/schemas/control-session-node.schema.json +0 -11
  75. package/dist/schemas/control-signal-event.schema.json +0 -35
  76. package/dist/schemas/control-signal-node.schema.json +0 -22
  77. package/dist/schemas/control-signal-type.schema.json +0 -10
  78. package/dist/schemas/conversations-response.schema.json +0 -167
  79. package/dist/schemas/create-contact-request-request.schema.json +0 -17
  80. package/dist/schemas/create-contact-request-response.schema.json +0 -51
  81. package/dist/schemas/create-conversation-request.schema.json +0 -82
  82. package/dist/schemas/create-conversation-response.schema.json +0 -29
  83. package/dist/schemas/delete-message-response.schema.json +0 -11
  84. package/dist/schemas/delivery-intent.schema.json +0 -11
  85. package/dist/schemas/forward-message-request.schema.json +0 -25
  86. package/dist/schemas/forward-message-response.schema.json +0 -35
  87. package/dist/schemas/forwarded-from.schema.json +0 -18
  88. package/dist/schemas/get-messages-query.schema.json +0 -17
  89. package/dist/schemas/hitl-approval-category.schema.json +0 -15
  90. package/dist/schemas/hitl-approval-detail.schema.json +0 -21
  91. package/dist/schemas/hitl-approval-outcome-record.schema.json +0 -33
  92. package/dist/schemas/hitl-approval-reply-record.schema.json +0 -57
  93. package/dist/schemas/hitl-approval-request-record.schema.json +0 -105
  94. package/dist/schemas/hitl-approval-risk.schema.json +0 -11
  95. package/dist/schemas/hitl-card-outcome-record.schema.json +0 -48
  96. package/dist/schemas/hitl-card-reply-record.schema.json +0 -46
  97. package/dist/schemas/hitl-card-request-record.schema.json +0 -73
  98. package/dist/schemas/hitl-input-answers.schema.json +0 -23
  99. package/dist/schemas/hitl-input-kind.schema.json +0 -10
  100. package/dist/schemas/hitl-input-outcome-record.schema.json +0 -46
  101. package/dist/schemas/hitl-input-question.schema.json +0 -54
  102. package/dist/schemas/hitl-input-reply-record.schema.json +0 -44
  103. package/dist/schemas/hitl-input-request-record.schema.json +0 -134
  104. package/dist/schemas/hitl-pending.schema.json +0 -31
  105. package/dist/schemas/hitl-request-accepted.schema.json +0 -18
  106. package/dist/schemas/hitl-request-kind.schema.json +0 -10
  107. package/dist/schemas/hitl-resolution-status.schema.json +0 -10
  108. package/dist/schemas/hitl-resolution.schema.json +0 -38
  109. package/dist/schemas/hitl-session-rule.schema.json +0 -32
  110. package/dist/schemas/inbound-disposition.schema.json +0 -13
  111. package/dist/schemas/inbound-frame-attachment-v1.schema.json +0 -94
  112. package/dist/schemas/inbound-frame-contact-card-v1.schema.json +0 -59
  113. package/dist/schemas/inbound-frame-group-context-v1.schema.json +0 -96
  114. package/dist/schemas/inbound-frame-reply-context-v1.schema.json +0 -261
  115. package/dist/schemas/inbound-frame-shape-v1.schema.json +0 -12
  116. package/dist/schemas/inbound-frame-v1.schema.json +0 -506
  117. package/dist/schemas/mark-read-response.schema.json +0 -11
  118. package/dist/schemas/media-attachment-kind.schema.json +0 -11
  119. package/dist/schemas/media-attachment.schema.json +0 -42
  120. package/dist/schemas/messages-page-response.schema.json +0 -290
  121. package/dist/schemas/participation-decision-input.schema.json +0 -44
  122. package/dist/schemas/participation-history-message.schema.json +0 -23
  123. package/dist/schemas/participation-history-snapshot.schema.json +0 -37
  124. package/dist/schemas/participation-style.schema.json +0 -13
  125. package/dist/schemas/react-request.schema.json +0 -22
  126. package/dist/schemas/react-response.schema.json +0 -35
  127. package/dist/schemas/resolve-admission-request.schema.json +0 -30
  128. package/dist/schemas/resolve-admission-response.schema.json +0 -129
  129. package/dist/schemas/resolved-agent-behavior-policy-record.schema.json +0 -81
  130. package/dist/schemas/rest-contact.schema.json +0 -40
  131. package/dist/schemas/rest-conversation-last-message.schema.json +0 -77
  132. package/dist/schemas/rest-conversation.schema.json +0 -155
  133. package/dist/schemas/rest-message.schema.json +0 -252
  134. package/dist/schemas/rest-ok-response.schema.json +0 -11
  135. package/dist/schemas/rest-session-selection.schema.json +0 -40
  136. package/dist/schemas/runtime-card-field-choice.schema.json +0 -23
  137. package/dist/schemas/runtime-card-field-type.schema.json +0 -17
  138. package/dist/schemas/runtime-card-field.schema.json +0 -180
  139. package/dist/schemas/runtime-card-line-item-column-type.schema.json +0 -12
  140. package/dist/schemas/runtime-card-line-item-column.schema.json +0 -74
  141. package/dist/schemas/send-contextual-deferred-response.schema.json +0 -39
  142. package/dist/schemas/send-contextual-messaged-response.schema.json +0 -42
  143. package/dist/schemas/send-contextual-request.schema.json +0 -103
  144. package/dist/schemas/send-contextual-response.schema.json +0 -105
  145. package/dist/schemas/send-contextual-self-context.schema.json +0 -19
  146. package/dist/schemas/send-contextual-state-response.schema.json +0 -24
  147. package/dist/schemas/send-message-request.schema.json +0 -106
  148. package/dist/schemas/send-message-response.schema.json +0 -14
  149. package/dist/schemas/sender-type.schema.json +0 -9
  150. package/dist/schemas/serialize-message-input.schema.json +0 -29
  151. package/dist/schemas/serialized-agent-client-type.schema.json +0 -12
  152. package/dist/schemas/serialized-contact-card.schema.json +0 -65
  153. package/dist/schemas/serialized-contact-request-status.schema.json +0 -11
  154. package/dist/schemas/serialized-contact-request.schema.json +0 -157
  155. package/dist/schemas/serialized-content-type.schema.json +0 -13
  156. package/dist/schemas/serialized-message.schema.json +0 -249
  157. package/dist/schemas/serialized-reactions.schema.json +0 -14
  158. package/dist/schemas/serialized-sender-type.schema.json +0 -9
  159. package/dist/schemas/set-streaming-request.schema.json +0 -67
  160. package/dist/schemas/set-typing-request.schema.json +0 -25
  161. package/dist/schemas/sse-access-policy.schema.json +0 -10
  162. package/dist/schemas/sse-agent-context-payload.schema.json +0 -57
  163. package/dist/schemas/sse-connected-payload.schema.json +0 -18
  164. package/dist/schemas/sse-contact-payload.schema.json +0 -40
  165. package/dist/schemas/sse-contact-removed-payload.schema.json +0 -14
  166. package/dist/schemas/sse-contact-request-payload.schema.json +0 -157
  167. package/dist/schemas/sse-conversation-updated-payload.schema.json +0 -48
  168. package/dist/schemas/sse-error-payload.schema.json +0 -23
  169. package/dist/schemas/sse-event-envelope.schema.json +0 -40
  170. package/dist/schemas/sse-event-family.schema.json +0 -12
  171. package/dist/schemas/sse-event-type.schema.json +0 -26
  172. package/dist/schemas/sse-heartbeat-payload.schema.json +0 -14
  173. package/dist/schemas/sse-membership-change.schema.json +0 -28
  174. package/dist/schemas/sse-message-created-payload.schema.json +0 -414
  175. package/dist/schemas/sse-message-deleted-payload.schema.json +0 -18
  176. package/dist/schemas/sse-message-updated-payload.schema.json +0 -46
  177. package/dist/schemas/sse-presence-payload.schema.json +0 -21
  178. package/dist/schemas/sse-provenance.schema.json +0 -64
  179. package/dist/schemas/sse-replay-expired-payload.schema.json +0 -21
  180. package/dist/schemas/sse-runtime-control-kind.schema.json +0 -13
  181. package/dist/schemas/sse-runtime-control-payload.schema.json +0 -44
  182. package/dist/schemas/sse-self-context.schema.json +0 -45
  183. package/dist/schemas/sse-turn-dispatch.schema.json +0 -29
  184. package/dist/schemas/sse-typing-payload.schema.json +0 -32
  185. package/dist/schemas/sse-voice-session-event-payload.schema.json +0 -170
  186. package/dist/schemas/sse-voice-session.schema.json +0 -157
  187. package/dist/schemas/trigger-decision.schema.json +0 -27
  188. package/dist/schemas/turn-lifecycle-state.schema.json +0 -14
  189. package/dist/schemas/turn-message-semantics.schema.json +0 -10
  190. package/dist/schemas/turn-metadata.schema.json +0 -56
  191. package/dist/schemas/turn-state-like.schema.json +0 -39
  192. package/dist/schemas/update-disposition-request.schema.json +0 -22
  193. package/dist/schemas/upload-media-request.schema.json +0 -25
  194. package/dist/schemas/upload-media-response.schema.json +0 -55
  195. package/dist/sendContextual.d.ts +0 -114
  196. package/dist/sendContextual.js +0 -89
  197. package/dist/sseEvents.d.ts +0 -474
  198. package/dist/sseEvents.js +0 -278
@@ -1,31 +0,0 @@
1
- {
2
- "$id": "canon:HitlPendingSchema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "object",
5
- "properties": {
6
- "requestId": {
7
- "type": "string"
8
- },
9
- "kind": {
10
- "type": "string",
11
- "enum": [
12
- "approval",
13
- "input",
14
- "card"
15
- ]
16
- },
17
- "conversationId": {
18
- "type": "string"
19
- },
20
- "expiresAt": {
21
- "type": "string"
22
- }
23
- },
24
- "required": [
25
- "requestId",
26
- "kind",
27
- "conversationId",
28
- "expiresAt"
29
- ],
30
- "additionalProperties": false
31
- }
@@ -1,18 +0,0 @@
1
- {
2
- "$id": "canon:HitlRequestAcceptedSchema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "object",
5
- "properties": {
6
- "requestId": {
7
- "type": "string"
8
- },
9
- "expiresAt": {
10
- "type": "string"
11
- }
12
- },
13
- "required": [
14
- "requestId",
15
- "expiresAt"
16
- ],
17
- "additionalProperties": false
18
- }
@@ -1,10 +0,0 @@
1
- {
2
- "$id": "canon:HitlRequestKindSchema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "string",
5
- "enum": [
6
- "approval",
7
- "input",
8
- "card"
9
- ]
10
- }
@@ -1,10 +0,0 @@
1
- {
2
- "$id": "canon:HitlResolutionStatusSchema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "string",
5
- "enum": [
6
- "submitted",
7
- "cancelled",
8
- "timeout"
9
- ]
10
- }
@@ -1,38 +0,0 @@
1
- {
2
- "$id": "canon:HitlResolutionSchema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "object",
5
- "properties": {
6
- "requestId": {
7
- "type": "string"
8
- },
9
- "kind": {
10
- "type": "string",
11
- "enum": [
12
- "approval",
13
- "input",
14
- "card"
15
- ]
16
- },
17
- "status": {
18
- "type": "string",
19
- "enum": [
20
- "submitted",
21
- "cancelled",
22
- "timeout"
23
- ]
24
- },
25
- "answer": {
26
- "type": "object",
27
- "propertyNames": {
28
- "type": "string"
29
- },
30
- "additionalProperties": {}
31
- }
32
- },
33
- "required": [
34
- "requestId",
35
- "status"
36
- ],
37
- "additionalProperties": false
38
- }
@@ -1,32 +0,0 @@
1
- {
2
- "$id": "canon:HitlSessionRuleSchema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "object",
5
- "properties": {
6
- "type": {
7
- "type": "string",
8
- "enum": [
9
- "approve-all",
10
- "approve-tool",
11
- "deny-tool"
12
- ]
13
- },
14
- "toolPattern": {
15
- "type": "string"
16
- },
17
- "expiresAt": {
18
- "anyOf": [
19
- {
20
- "type": "string"
21
- },
22
- {
23
- "type": "null"
24
- }
25
- ]
26
- }
27
- },
28
- "required": [
29
- "type"
30
- ],
31
- "additionalProperties": false
32
- }
@@ -1,13 +0,0 @@
1
- {
2
- "$id": "canon:InboundDispositionSchema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "string",
5
- "enum": [
6
- "queued",
7
- "accepted_now",
8
- "interleaved",
9
- "trigger_suppressed",
10
- "rejected",
11
- "cancelled"
12
- ]
13
- }
@@ -1,94 +0,0 @@
1
- {
2
- "$id": "canon:InboundFrameAttachmentV1Schema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "object",
5
- "properties": {
6
- "index": {
7
- "type": "number"
8
- },
9
- "kind": {
10
- "type": "string",
11
- "enum": [
12
- "image",
13
- "audio",
14
- "video",
15
- "file"
16
- ]
17
- },
18
- "placeholder": {
19
- "type": "string"
20
- },
21
- "fileName": {
22
- "anyOf": [
23
- {
24
- "type": "string"
25
- },
26
- {
27
- "type": "null"
28
- }
29
- ]
30
- },
31
- "mimeType": {
32
- "anyOf": [
33
- {
34
- "type": "string"
35
- },
36
- {
37
- "type": "null"
38
- }
39
- ]
40
- },
41
- "sizeBytes": {
42
- "anyOf": [
43
- {
44
- "type": "number"
45
- },
46
- {
47
- "type": "null"
48
- }
49
- ]
50
- },
51
- "width": {
52
- "anyOf": [
53
- {
54
- "type": "number"
55
- },
56
- {
57
- "type": "null"
58
- }
59
- ]
60
- },
61
- "height": {
62
- "anyOf": [
63
- {
64
- "type": "number"
65
- },
66
- {
67
- "type": "null"
68
- }
69
- ]
70
- },
71
- "durationMs": {
72
- "anyOf": [
73
- {
74
- "type": "number"
75
- },
76
- {
77
- "type": "null"
78
- }
79
- ]
80
- }
81
- },
82
- "required": [
83
- "index",
84
- "kind",
85
- "placeholder",
86
- "fileName",
87
- "mimeType",
88
- "sizeBytes",
89
- "width",
90
- "height",
91
- "durationMs"
92
- ],
93
- "additionalProperties": false
94
- }
@@ -1,59 +0,0 @@
1
- {
2
- "$id": "canon:InboundFrameContactCardV1Schema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "object",
5
- "properties": {
6
- "userId": {
7
- "type": "string"
8
- },
9
- "canonContactId": {
10
- "anyOf": [
11
- {
12
- "type": "string"
13
- },
14
- {
15
- "type": "null"
16
- }
17
- ]
18
- },
19
- "displayName": {
20
- "type": "string"
21
- },
22
- "userType": {
23
- "type": "string",
24
- "enum": [
25
- "human",
26
- "ai_agent"
27
- ]
28
- },
29
- "ownerName": {
30
- "anyOf": [
31
- {
32
- "type": "string"
33
- },
34
- {
35
- "type": "null"
36
- }
37
- ]
38
- },
39
- "about": {
40
- "anyOf": [
41
- {
42
- "type": "string"
43
- },
44
- {
45
- "type": "null"
46
- }
47
- ]
48
- }
49
- },
50
- "required": [
51
- "userId",
52
- "canonContactId",
53
- "displayName",
54
- "userType",
55
- "ownerName",
56
- "about"
57
- ],
58
- "additionalProperties": false
59
- }
@@ -1,96 +0,0 @@
1
- {
2
- "$id": "canon:InboundFrameGroupContextV1Schema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "object",
5
- "properties": {
6
- "memberCount": {
7
- "type": "number"
8
- },
9
- "memberIds": {
10
- "type": "array",
11
- "items": {
12
- "type": "string"
13
- }
14
- },
15
- "ownerId": {
16
- "type": "string"
17
- },
18
- "ownerName": {
19
- "type": "string"
20
- },
21
- "ownerPresent": {
22
- "type": "boolean"
23
- },
24
- "knownRecentParticipants": {
25
- "type": "array",
26
- "items": {
27
- "type": "object",
28
- "properties": {
29
- "id": {
30
- "type": "string"
31
- },
32
- "name": {
33
- "type": "string"
34
- },
35
- "userType": {
36
- "type": "string",
37
- "enum": [
38
- "human",
39
- "ai_agent",
40
- "unknown"
41
- ]
42
- },
43
- "isOwner": {
44
- "type": "boolean"
45
- },
46
- "isSelf": {
47
- "type": "boolean"
48
- }
49
- },
50
- "required": [
51
- "id",
52
- "name",
53
- "userType",
54
- "isOwner",
55
- "isSelf"
56
- ],
57
- "additionalProperties": false
58
- }
59
- },
60
- "membershipChange": {
61
- "type": "object",
62
- "properties": {
63
- "addedMemberIds": {
64
- "type": "array",
65
- "items": {
66
- "type": "string"
67
- }
68
- },
69
- "removedMemberIds": {
70
- "type": "array",
71
- "items": {
72
- "type": "string"
73
- }
74
- },
75
- "memberCount": {
76
- "type": "number"
77
- }
78
- },
79
- "required": [
80
- "addedMemberIds",
81
- "removedMemberIds",
82
- "memberCount"
83
- ],
84
- "additionalProperties": false
85
- }
86
- },
87
- "required": [
88
- "memberCount",
89
- "memberIds",
90
- "ownerId",
91
- "ownerName",
92
- "ownerPresent",
93
- "knownRecentParticipants"
94
- ],
95
- "additionalProperties": false
96
- }
@@ -1,261 +0,0 @@
1
- {
2
- "$id": "canon:InboundFrameReplyContextV1Schema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "object",
5
- "properties": {
6
- "messageId": {
7
- "type": "string"
8
- },
9
- "found": {
10
- "type": "boolean"
11
- },
12
- "senderId": {
13
- "anyOf": [
14
- {
15
- "type": "string"
16
- },
17
- {
18
- "type": "null"
19
- }
20
- ]
21
- },
22
- "senderName": {
23
- "anyOf": [
24
- {
25
- "type": "string"
26
- },
27
- {
28
- "type": "null"
29
- }
30
- ]
31
- },
32
- "senderType": {
33
- "anyOf": [
34
- {
35
- "type": "string",
36
- "enum": [
37
- "human",
38
- "ai_agent"
39
- ]
40
- },
41
- {
42
- "type": "null"
43
- }
44
- ]
45
- },
46
- "contentType": {
47
- "anyOf": [
48
- {
49
- "type": "string",
50
- "enum": [
51
- "text",
52
- "image",
53
- "audio",
54
- "video",
55
- "file",
56
- "contact_card"
57
- ]
58
- },
59
- {
60
- "type": "null"
61
- }
62
- ]
63
- },
64
- "text": {
65
- "anyOf": [
66
- {
67
- "type": "string"
68
- },
69
- {
70
- "type": "null"
71
- }
72
- ]
73
- },
74
- "body": {
75
- "type": "string"
76
- },
77
- "replyToPosition": {
78
- "anyOf": [
79
- {
80
- "type": "number"
81
- },
82
- {
83
- "type": "null"
84
- }
85
- ]
86
- },
87
- "attachments": {
88
- "type": "array",
89
- "items": {
90
- "type": "object",
91
- "properties": {
92
- "index": {
93
- "type": "number"
94
- },
95
- "kind": {
96
- "type": "string",
97
- "enum": [
98
- "image",
99
- "audio",
100
- "video",
101
- "file"
102
- ]
103
- },
104
- "placeholder": {
105
- "type": "string"
106
- },
107
- "fileName": {
108
- "anyOf": [
109
- {
110
- "type": "string"
111
- },
112
- {
113
- "type": "null"
114
- }
115
- ]
116
- },
117
- "mimeType": {
118
- "anyOf": [
119
- {
120
- "type": "string"
121
- },
122
- {
123
- "type": "null"
124
- }
125
- ]
126
- },
127
- "sizeBytes": {
128
- "anyOf": [
129
- {
130
- "type": "number"
131
- },
132
- {
133
- "type": "null"
134
- }
135
- ]
136
- },
137
- "width": {
138
- "anyOf": [
139
- {
140
- "type": "number"
141
- },
142
- {
143
- "type": "null"
144
- }
145
- ]
146
- },
147
- "height": {
148
- "anyOf": [
149
- {
150
- "type": "number"
151
- },
152
- {
153
- "type": "null"
154
- }
155
- ]
156
- },
157
- "durationMs": {
158
- "anyOf": [
159
- {
160
- "type": "number"
161
- },
162
- {
163
- "type": "null"
164
- }
165
- ]
166
- }
167
- },
168
- "required": [
169
- "index",
170
- "kind",
171
- "placeholder",
172
- "fileName",
173
- "mimeType",
174
- "sizeBytes",
175
- "width",
176
- "height",
177
- "durationMs"
178
- ],
179
- "additionalProperties": false
180
- }
181
- },
182
- "contactCard": {
183
- "anyOf": [
184
- {
185
- "type": "object",
186
- "properties": {
187
- "userId": {
188
- "type": "string"
189
- },
190
- "canonContactId": {
191
- "anyOf": [
192
- {
193
- "type": "string"
194
- },
195
- {
196
- "type": "null"
197
- }
198
- ]
199
- },
200
- "displayName": {
201
- "type": "string"
202
- },
203
- "userType": {
204
- "type": "string",
205
- "enum": [
206
- "human",
207
- "ai_agent"
208
- ]
209
- },
210
- "ownerName": {
211
- "anyOf": [
212
- {
213
- "type": "string"
214
- },
215
- {
216
- "type": "null"
217
- }
218
- ]
219
- },
220
- "about": {
221
- "anyOf": [
222
- {
223
- "type": "string"
224
- },
225
- {
226
- "type": "null"
227
- }
228
- ]
229
- }
230
- },
231
- "required": [
232
- "userId",
233
- "canonContactId",
234
- "displayName",
235
- "userType",
236
- "ownerName",
237
- "about"
238
- ],
239
- "additionalProperties": false
240
- },
241
- {
242
- "type": "null"
243
- }
244
- ]
245
- }
246
- },
247
- "required": [
248
- "messageId",
249
- "found",
250
- "senderId",
251
- "senderName",
252
- "senderType",
253
- "contentType",
254
- "text",
255
- "body",
256
- "replyToPosition",
257
- "attachments",
258
- "contactCard"
259
- ],
260
- "additionalProperties": false
261
- }
@@ -1,12 +0,0 @@
1
- {
2
- "$id": "canon:InboundFrameShapeV1Schema",
3
- "$schema": "https://json-schema.org/draft/2020-12/schema",
4
- "type": "string",
5
- "enum": [
6
- "direct_owner",
7
- "direct_human",
8
- "direct_agent",
9
- "group",
10
- "unknown"
11
- ]
12
- }