@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,94 +1,27 @@
1
- import { z } from 'zod';
2
- export declare const SenderTypeSchema: z.ZodEnum<{
3
- human: "human";
4
- ai_agent: "ai_agent";
5
- }>;
6
- export type SenderType = z.infer<typeof SenderTypeSchema>;
7
- export declare const TurnLifecycleStateSchema: z.ZodEnum<{
8
- idle: "idle";
9
- thinking: "thinking";
10
- streaming: "streaming";
11
- tool: "tool";
12
- waiting_input: "waiting_input";
13
- completed: "completed";
14
- interrupted: "interrupted";
15
- }>;
16
- export type TurnLifecycleState = z.infer<typeof TurnLifecycleStateSchema>;
17
- export declare const TurnMessageSemanticsSchema: z.ZodEnum<{
18
- progress: "progress";
19
- turn_complete: "turn_complete";
20
- control: "control";
21
- }>;
22
- export type TurnMessageSemantics = z.infer<typeof TurnMessageSemanticsSchema>;
23
- export declare const DeliveryIntentSchema: z.ZodEnum<{
24
- queue: "queue";
25
- interrupt: "interrupt";
26
- interleave: "interleave";
27
- stop: "stop";
28
- }>;
29
- export type DeliveryIntent = z.infer<typeof DeliveryIntentSchema>;
30
- export declare const InboundDispositionSchema: z.ZodEnum<{
31
- queued: "queued";
32
- accepted_now: "accepted_now";
33
- interleaved: "interleaved";
34
- trigger_suppressed: "trigger_suppressed";
35
- rejected: "rejected";
36
- cancelled: "cancelled";
37
- }>;
38
- export type InboundDisposition = z.infer<typeof InboundDispositionSchema>;
39
- export declare const TurnMetadataSchema: z.ZodObject<{
40
- turnId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
41
- turnSemantics: z.ZodOptional<z.ZodEnum<{
42
- progress: "progress";
43
- turn_complete: "turn_complete";
44
- control: "control";
45
- }>>;
46
- deliveryIntent: z.ZodOptional<z.ZodEnum<{
47
- queue: "queue";
48
- interrupt: "interrupt";
49
- interleave: "interleave";
50
- stop: "stop";
51
- }>>;
52
- replyBehavior: z.ZodOptional<z.ZodEnum<{
53
- allow_auto_reply: "allow_auto_reply";
54
- suppress_auto_reply: "suppress_auto_reply";
55
- }>>;
56
- inboundDisposition: z.ZodOptional<z.ZodEnum<{
57
- queued: "queued";
58
- accepted_now: "accepted_now";
59
- interleaved: "interleaved";
60
- trigger_suppressed: "trigger_suppressed";
61
- rejected: "rejected";
62
- cancelled: "cancelled";
63
- }>>;
64
- requestedTurnMode: z.ZodOptional<z.ZodString>;
65
- }, z.core.$strip>;
66
- export type TurnMetadata = z.infer<typeof TurnMetadataSchema>;
67
- export declare const TriggerDecisionSchema: z.ZodObject<{
68
- allow: z.ZodBoolean;
69
- semantics: z.ZodEnum<{
70
- progress: "progress";
71
- turn_complete: "turn_complete";
72
- control: "control";
73
- }>;
74
- reason: z.ZodString;
75
- }, z.core.$strip>;
76
- export type TriggerDecision = z.infer<typeof TriggerDecisionSchema>;
77
- export declare const TurnStateLikeSchema: z.ZodObject<{
78
- state: z.ZodEnum<{
79
- idle: "idle";
80
- thinking: "thinking";
81
- streaming: "streaming";
82
- tool: "tool";
83
- waiting_input: "waiting_input";
84
- completed: "completed";
85
- interrupted: "interrupted";
86
- }>;
87
- openedAt: z.ZodOptional<z.ZodNumber>;
88
- updatedAt: z.ZodOptional<z.ZodNumber>;
89
- turnUpdatedAt: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
90
- }, z.core.$strip>;
91
- export type TurnStateLike = z.infer<typeof TurnStateLikeSchema>;
1
+ export type SenderType = 'human' | 'ai_agent';
2
+ export type TurnLifecycleState = 'idle' | 'thinking' | 'streaming' | 'tool' | 'waiting_input' | 'completed' | 'interrupted';
3
+ export type TurnMessageSemantics = 'progress' | 'turn_complete' | 'control';
4
+ export type DeliveryIntent = 'queue' | 'interrupt' | 'interleave' | 'stop';
5
+ export type InboundDisposition = 'queued' | 'accepted_now' | 'interleaved' | 'trigger_suppressed' | 'rejected' | 'cancelled';
6
+ export interface TurnMetadata {
7
+ turnId?: string | null;
8
+ turnSemantics?: TurnMessageSemantics;
9
+ deliveryIntent?: DeliveryIntent;
10
+ replyBehavior?: 'allow_auto_reply' | 'suppress_auto_reply';
11
+ inboundDisposition?: InboundDisposition;
12
+ requestedTurnMode?: string;
13
+ }
14
+ export interface TriggerDecision {
15
+ allow: boolean;
16
+ semantics: TurnMessageSemantics;
17
+ reason: string;
18
+ }
19
+ export interface TurnStateLike {
20
+ state: TurnLifecycleState;
21
+ openedAt?: number;
22
+ updatedAt?: number;
23
+ turnUpdatedAt?: number | null;
24
+ }
92
25
  export declare const ACTIVE_TURN_STALE_THRESHOLD_MS: number;
93
26
  export declare const WAITING_INPUT_STALE_THRESHOLD_MS: number;
94
27
  export declare function normalizeTurnMetadata(metadata: unknown): TurnMetadata | null;
@@ -1,43 +1,3 @@
1
- import { z } from 'zod';
2
- export const SenderTypeSchema = z.enum(['human', 'ai_agent']);
3
- export const TurnLifecycleStateSchema = z.enum([
4
- 'idle',
5
- 'thinking',
6
- 'streaming',
7
- 'tool',
8
- 'waiting_input',
9
- 'completed',
10
- 'interrupted',
11
- ]);
12
- export const TurnMessageSemanticsSchema = z.enum(['progress', 'turn_complete', 'control']);
13
- export const DeliveryIntentSchema = z.enum(['queue', 'interrupt', 'interleave', 'stop']);
14
- export const InboundDispositionSchema = z.enum([
15
- 'queued',
16
- 'accepted_now',
17
- 'interleaved',
18
- 'trigger_suppressed',
19
- 'rejected',
20
- 'cancelled',
21
- ]);
22
- export const TurnMetadataSchema = z.object({
23
- turnId: z.string().nullable().optional(),
24
- turnSemantics: TurnMessageSemanticsSchema.optional(),
25
- deliveryIntent: DeliveryIntentSchema.optional(),
26
- replyBehavior: z.enum(['allow_auto_reply', 'suppress_auto_reply']).optional(),
27
- inboundDisposition: InboundDispositionSchema.optional(),
28
- requestedTurnMode: z.string().optional(),
29
- });
30
- export const TriggerDecisionSchema = z.object({
31
- allow: z.boolean(),
32
- semantics: TurnMessageSemanticsSchema,
33
- reason: z.string(),
34
- });
35
- export const TurnStateLikeSchema = z.object({
36
- state: TurnLifecycleStateSchema,
37
- openedAt: z.number().optional(),
38
- updatedAt: z.number().optional(),
39
- turnUpdatedAt: z.number().nullable().optional(),
40
- });
41
1
  export const ACTIVE_TURN_STALE_THRESHOLD_MS = 30 * 60 * 1000;
42
2
  export const WAITING_INPUT_STALE_THRESHOLD_MS = 12 * 60 * 60 * 1000;
43
3
  const TURN_SEMANTICS = [
package/package.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "@canonmsg/backend-contracts",
3
- "version": "1.9.0",
3
+ "version": "2.0.0",
4
4
  "description": "Canon backend contract helpers shared by Functions and stream-service",
5
5
  "type": "module",
6
6
  "main": "dist/cjs/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "types": "./dist/index.d.ts",
11
10
  "import": "./dist/index.js",
12
- "require": "./dist/cjs/index.js"
11
+ "require": "./dist/cjs/index.js",
12
+ "types": "./dist/index.d.ts"
13
13
  }
14
14
  },
15
15
  "files": [
16
16
  "dist"
17
17
  ],
18
18
  "scripts": {
19
- "build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node -e \"require('fs').mkdirSync('dist/cjs',{recursive:true}); require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({type:'commonjs'}))\" && node scripts/emit-json-schema.mjs",
19
+ "build": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\" && tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node -e \"require('fs').mkdirSync('dist/cjs',{recursive:true}); require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({type:'commonjs'}))\"",
20
20
  "dev": "tsc -p tsconfig.json --watch",
21
21
  "test": "vitest run",
22
22
  "prepack": "npm run build"
@@ -44,8 +44,5 @@
44
44
  "typescript": "~5.7.0",
45
45
  "vitest": "^4.1.8"
46
46
  },
47
- "license": "MIT",
48
- "dependencies": {
49
- "zod": "^4.4.3"
50
- }
47
+ "license": "MIT"
51
48
  }