@canonmsg/backend-contracts 1.8.1 → 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 (193) 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 -1729
  24. package/dist/bridgeLocal.js +0 -673
  25. package/dist/cjs/bridgeLocal.js +0 -676
  26. package/dist/cjs/controlSignals.js +0 -44
  27. package/dist/cjs/endpointRegistry.js +0 -264
  28. package/dist/cjs/hitl.js +0 -0
  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 -298
  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-ready-notification.schema.json +0 -79
  52. package/dist/schemas/bridge-resync-reason.schema.json +0 -9
  53. package/dist/schemas/bridge-resync.schema.json +0 -18
  54. package/dist/schemas/bridge-rpc-error.schema.json +0 -19
  55. package/dist/schemas/bridge-rpc-id.schema.json +0 -12
  56. package/dist/schemas/bridge-rpc-notification.schema.json +0 -20
  57. package/dist/schemas/bridge-rpc-request.schema.json +0 -31
  58. package/dist/schemas/bridge-rpc-response.schema.json +0 -81
  59. package/dist/schemas/bridge-status-result.schema.json +0 -76
  60. package/dist/schemas/bridge-upload-media-params.schema.json +0 -28
  61. package/dist/schemas/bridge-upstream-state.schema.json +0 -10
  62. package/dist/schemas/contacts-response.schema.json +0 -52
  63. package/dist/schemas/control-channel-key.schema.json +0 -10
  64. package/dist/schemas/control-primitive-event.schema.json +0 -30
  65. package/dist/schemas/control-primitive-map.schema.json +0 -15
  66. package/dist/schemas/control-session-event.schema.json +0 -26
  67. package/dist/schemas/control-session-node.schema.json +0 -11
  68. package/dist/schemas/control-signal-event.schema.json +0 -35
  69. package/dist/schemas/control-signal-node.schema.json +0 -22
  70. package/dist/schemas/control-signal-type.schema.json +0 -10
  71. package/dist/schemas/conversations-response.schema.json +0 -167
  72. package/dist/schemas/create-contact-request-request.schema.json +0 -17
  73. package/dist/schemas/create-contact-request-response.schema.json +0 -51
  74. package/dist/schemas/create-conversation-request.schema.json +0 -82
  75. package/dist/schemas/create-conversation-response.schema.json +0 -29
  76. package/dist/schemas/delete-message-response.schema.json +0 -11
  77. package/dist/schemas/delivery-intent.schema.json +0 -11
  78. package/dist/schemas/forward-message-request.schema.json +0 -25
  79. package/dist/schemas/forward-message-response.schema.json +0 -35
  80. package/dist/schemas/forwarded-from.schema.json +0 -18
  81. package/dist/schemas/get-messages-query.schema.json +0 -17
  82. package/dist/schemas/hitl-approval-category.schema.json +0 -15
  83. package/dist/schemas/hitl-approval-detail.schema.json +0 -21
  84. package/dist/schemas/hitl-approval-outcome-record.schema.json +0 -33
  85. package/dist/schemas/hitl-approval-reply-record.schema.json +0 -57
  86. package/dist/schemas/hitl-approval-request-record.schema.json +0 -105
  87. package/dist/schemas/hitl-approval-risk.schema.json +0 -11
  88. package/dist/schemas/hitl-card-outcome-record.schema.json +0 -48
  89. package/dist/schemas/hitl-card-reply-record.schema.json +0 -46
  90. package/dist/schemas/hitl-card-request-record.schema.json +0 -73
  91. package/dist/schemas/hitl-input-answers.schema.json +0 -23
  92. package/dist/schemas/hitl-input-kind.schema.json +0 -10
  93. package/dist/schemas/hitl-input-outcome-record.schema.json +0 -46
  94. package/dist/schemas/hitl-input-question.schema.json +0 -54
  95. package/dist/schemas/hitl-input-reply-record.schema.json +0 -44
  96. package/dist/schemas/hitl-input-request-record.schema.json +0 -134
  97. package/dist/schemas/hitl-pending.schema.json +0 -31
  98. package/dist/schemas/hitl-request-accepted.schema.json +0 -18
  99. package/dist/schemas/hitl-request-kind.schema.json +0 -10
  100. package/dist/schemas/hitl-resolution-status.schema.json +0 -10
  101. package/dist/schemas/hitl-resolution.schema.json +0 -38
  102. package/dist/schemas/hitl-session-rule.schema.json +0 -32
  103. package/dist/schemas/inbound-disposition.schema.json +0 -13
  104. package/dist/schemas/inbound-frame-attachment-v1.schema.json +0 -94
  105. package/dist/schemas/inbound-frame-contact-card-v1.schema.json +0 -59
  106. package/dist/schemas/inbound-frame-group-context-v1.schema.json +0 -96
  107. package/dist/schemas/inbound-frame-reply-context-v1.schema.json +0 -261
  108. package/dist/schemas/inbound-frame-shape-v1.schema.json +0 -12
  109. package/dist/schemas/inbound-frame-v1.schema.json +0 -506
  110. package/dist/schemas/mark-read-response.schema.json +0 -11
  111. package/dist/schemas/media-attachment-kind.schema.json +0 -11
  112. package/dist/schemas/media-attachment.schema.json +0 -42
  113. package/dist/schemas/messages-page-response.schema.json +0 -290
  114. package/dist/schemas/participation-decision-input.schema.json +0 -44
  115. package/dist/schemas/participation-history-message.schema.json +0 -23
  116. package/dist/schemas/participation-history-snapshot.schema.json +0 -37
  117. package/dist/schemas/participation-style.schema.json +0 -13
  118. package/dist/schemas/react-request.schema.json +0 -22
  119. package/dist/schemas/react-response.schema.json +0 -35
  120. package/dist/schemas/resolve-admission-request.schema.json +0 -30
  121. package/dist/schemas/resolve-admission-response.schema.json +0 -129
  122. package/dist/schemas/resolved-agent-behavior-policy-record.schema.json +0 -81
  123. package/dist/schemas/rest-contact.schema.json +0 -40
  124. package/dist/schemas/rest-conversation-last-message.schema.json +0 -77
  125. package/dist/schemas/rest-conversation.schema.json +0 -155
  126. package/dist/schemas/rest-message.schema.json +0 -252
  127. package/dist/schemas/rest-ok-response.schema.json +0 -11
  128. package/dist/schemas/rest-session-selection.schema.json +0 -40
  129. package/dist/schemas/runtime-card-field-choice.schema.json +0 -23
  130. package/dist/schemas/runtime-card-field-type.schema.json +0 -17
  131. package/dist/schemas/runtime-card-field.schema.json +0 -180
  132. package/dist/schemas/runtime-card-line-item-column-type.schema.json +0 -12
  133. package/dist/schemas/runtime-card-line-item-column.schema.json +0 -74
  134. package/dist/schemas/send-contextual-deferred-response.schema.json +0 -39
  135. package/dist/schemas/send-contextual-messaged-response.schema.json +0 -42
  136. package/dist/schemas/send-contextual-request.schema.json +0 -103
  137. package/dist/schemas/send-contextual-response.schema.json +0 -105
  138. package/dist/schemas/send-contextual-self-context.schema.json +0 -19
  139. package/dist/schemas/send-contextual-state-response.schema.json +0 -24
  140. package/dist/schemas/send-message-request.schema.json +0 -106
  141. package/dist/schemas/send-message-response.schema.json +0 -14
  142. package/dist/schemas/sender-type.schema.json +0 -9
  143. package/dist/schemas/serialize-message-input.schema.json +0 -29
  144. package/dist/schemas/serialized-agent-client-type.schema.json +0 -12
  145. package/dist/schemas/serialized-contact-card.schema.json +0 -65
  146. package/dist/schemas/serialized-contact-request-status.schema.json +0 -11
  147. package/dist/schemas/serialized-contact-request.schema.json +0 -157
  148. package/dist/schemas/serialized-content-type.schema.json +0 -13
  149. package/dist/schemas/serialized-message.schema.json +0 -249
  150. package/dist/schemas/serialized-reactions.schema.json +0 -14
  151. package/dist/schemas/serialized-sender-type.schema.json +0 -9
  152. package/dist/schemas/set-streaming-request.schema.json +0 -67
  153. package/dist/schemas/set-typing-request.schema.json +0 -25
  154. package/dist/schemas/sse-access-policy.schema.json +0 -10
  155. package/dist/schemas/sse-agent-context-payload.schema.json +0 -57
  156. package/dist/schemas/sse-connected-payload.schema.json +0 -18
  157. package/dist/schemas/sse-contact-payload.schema.json +0 -40
  158. package/dist/schemas/sse-contact-removed-payload.schema.json +0 -14
  159. package/dist/schemas/sse-contact-request-payload.schema.json +0 -157
  160. package/dist/schemas/sse-conversation-updated-payload.schema.json +0 -48
  161. package/dist/schemas/sse-error-payload.schema.json +0 -23
  162. package/dist/schemas/sse-event-envelope.schema.json +0 -42
  163. package/dist/schemas/sse-event-family.schema.json +0 -12
  164. package/dist/schemas/sse-event-type.schema.json +0 -28
  165. package/dist/schemas/sse-heartbeat-payload.schema.json +0 -14
  166. package/dist/schemas/sse-membership-change.schema.json +0 -28
  167. package/dist/schemas/sse-message-created-payload.schema.json +0 -414
  168. package/dist/schemas/sse-message-deleted-payload.schema.json +0 -18
  169. package/dist/schemas/sse-message-updated-payload.schema.json +0 -46
  170. package/dist/schemas/sse-presence-payload.schema.json +0 -21
  171. package/dist/schemas/sse-provenance.schema.json +0 -64
  172. package/dist/schemas/sse-replay-expired-payload.schema.json +0 -21
  173. package/dist/schemas/sse-runtime-control-kind.schema.json +0 -13
  174. package/dist/schemas/sse-runtime-control-payload.schema.json +0 -44
  175. package/dist/schemas/sse-runtime-updated-payload.schema.json +0 -78
  176. package/dist/schemas/sse-self-context.schema.json +0 -45
  177. package/dist/schemas/sse-turn-dispatch.schema.json +0 -29
  178. package/dist/schemas/sse-turn-updated-payload.schema.json +0 -33
  179. package/dist/schemas/sse-typing-payload.schema.json +0 -32
  180. package/dist/schemas/sse-voice-session-event-payload.schema.json +0 -170
  181. package/dist/schemas/sse-voice-session.schema.json +0 -157
  182. package/dist/schemas/trigger-decision.schema.json +0 -27
  183. package/dist/schemas/turn-lifecycle-state.schema.json +0 -14
  184. package/dist/schemas/turn-message-semantics.schema.json +0 -10
  185. package/dist/schemas/turn-metadata.schema.json +0 -56
  186. package/dist/schemas/turn-state-like.schema.json +0 -39
  187. package/dist/schemas/update-disposition-request.schema.json +0 -22
  188. package/dist/schemas/upload-media-request.schema.json +0 -25
  189. package/dist/schemas/upload-media-response.schema.json +0 -55
  190. package/dist/sendContextual.d.ts +0 -114
  191. package/dist/sendContextual.js +0 -89
  192. package/dist/sseEvents.d.ts +0 -494
  193. package/dist/sseEvents.js +0 -295
@@ -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.8.1",
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
  }