@clowder-ai/plugin-contract 0.1.0-beta.29 → 0.1.0-beta.37

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 (113) hide show
  1. package/dist/codegen/generate-contract.d.ts.map +1 -1
  2. package/dist/codegen/generate-contract.js +88 -1
  3. package/dist/codegen/generate-contract.js.map +1 -1
  4. package/dist/conformance/fixtures.d.ts +1 -1
  5. package/dist/conformance/fixtures.d.ts.map +1 -1
  6. package/dist/conformance/fixtures.js +1 -1
  7. package/dist/conformance/fixtures.js.map +1 -1
  8. package/dist/conformance/index.d.ts +1 -1
  9. package/dist/conformance/index.d.ts.map +1 -1
  10. package/dist/conformance/index.js +1 -1
  11. package/dist/conformance/index.js.map +1 -1
  12. package/dist/conformance/runner.js +1 -1
  13. package/dist/conformance/runner.js.map +1 -1
  14. package/dist/generated/contract.generated.d.ts +425 -62
  15. package/dist/generated/contract.generated.d.ts.map +1 -1
  16. package/dist/generated/contract.generated.js +63 -2
  17. package/dist/generated/contract.generated.js.map +1 -1
  18. package/dist/index.d.ts +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/validation/cloud-conversation-host.d.ts +18 -0
  21. package/dist/validation/cloud-conversation-host.d.ts.map +1 -0
  22. package/dist/validation/cloud-conversation-host.js +83 -0
  23. package/dist/validation/cloud-conversation-host.js.map +1 -0
  24. package/dist/validation/index.d.ts +5 -1
  25. package/dist/validation/index.d.ts.map +1 -1
  26. package/dist/validation/index.js +5 -1
  27. package/dist/validation/index.js.map +1 -1
  28. package/dist/validation/manifest.d.ts.map +1 -1
  29. package/dist/validation/manifest.js +113 -0
  30. package/dist/validation/manifest.js.map +1 -1
  31. package/dist/validation/members.d.ts +4 -0
  32. package/dist/validation/members.d.ts.map +1 -0
  33. package/dist/validation/members.js +11 -0
  34. package/dist/validation/members.js.map +1 -0
  35. package/dist/validation/messaging-semantic.d.ts.map +1 -1
  36. package/dist/validation/messaging-semantic.js +52 -3
  37. package/dist/validation/messaging-semantic.js.map +1 -1
  38. package/dist/validation/messaging-wire.d.ts +6 -2
  39. package/dist/validation/messaging-wire.d.ts.map +1 -1
  40. package/dist/validation/messaging-wire.js +22 -2
  41. package/dist/validation/messaging-wire.js.map +1 -1
  42. package/dist/validation/operation-rows.d.ts +25 -0
  43. package/dist/validation/operation-rows.d.ts.map +1 -0
  44. package/dist/validation/operation-rows.js +135 -0
  45. package/dist/validation/operation-rows.js.map +1 -0
  46. package/dist/validation/signals.d.ts +1 -10
  47. package/dist/validation/signals.d.ts.map +1 -1
  48. package/dist/validation/signals.js +0 -174
  49. package/dist/validation/signals.js.map +1 -1
  50. package/dist/wire/constants.d.ts +2 -1
  51. package/dist/wire/constants.d.ts.map +1 -1
  52. package/dist/wire/constants.js +2 -1
  53. package/dist/wire/constants.js.map +1 -1
  54. package/dist/wire/dispatch.d.ts +49 -0
  55. package/dist/wire/dispatch.d.ts.map +1 -0
  56. package/dist/wire/dispatch.js +880 -0
  57. package/dist/wire/dispatch.js.map +1 -0
  58. package/dist/wire/disposition-fixtures.d.ts +0 -2
  59. package/dist/wire/disposition-fixtures.d.ts.map +1 -1
  60. package/dist/wire/disposition-fixtures.js +20 -245
  61. package/dist/wire/disposition-fixtures.js.map +1 -1
  62. package/dist/wire/envelope.d.ts +31 -0
  63. package/dist/wire/envelope.d.ts.map +1 -1
  64. package/dist/wire/envelope.js +48 -1
  65. package/dist/wire/envelope.js.map +1 -1
  66. package/dist/wire/errors.d.ts +31 -1
  67. package/dist/wire/errors.d.ts.map +1 -1
  68. package/dist/wire/errors.js +36 -0
  69. package/dist/wire/errors.js.map +1 -1
  70. package/dist/wire/grants.d.ts +4 -4
  71. package/dist/wire/grants.js +3 -3
  72. package/dist/wire/handshake-byte-bounds.d.ts.map +1 -1
  73. package/dist/wire/handshake-byte-bounds.js +5 -2
  74. package/dist/wire/handshake-byte-bounds.js.map +1 -1
  75. package/dist/wire/handshake.d.ts +6 -0
  76. package/dist/wire/handshake.d.ts.map +1 -1
  77. package/dist/wire/handshake.js +6 -3
  78. package/dist/wire/handshake.js.map +1 -1
  79. package/dist/wire/index.d.ts +11 -11
  80. package/dist/wire/index.d.ts.map +1 -1
  81. package/dist/wire/index.js +20 -7
  82. package/dist/wire/index.js.map +1 -1
  83. package/dist/wire/lifecycle-byte-bounds.d.ts +0 -15
  84. package/dist/wire/lifecycle-byte-bounds.d.ts.map +1 -1
  85. package/dist/wire/lifecycle-byte-bounds.js +2 -62
  86. package/dist/wire/lifecycle-byte-bounds.js.map +1 -1
  87. package/dist/wire/messaging-byte-bounds.d.ts +4 -3
  88. package/dist/wire/messaging-byte-bounds.d.ts.map +1 -1
  89. package/dist/wire/messaging-byte-bounds.js +134 -12
  90. package/dist/wire/messaging-byte-bounds.js.map +1 -1
  91. package/dist/wire/registry.d.ts +15 -62
  92. package/dist/wire/registry.d.ts.map +1 -1
  93. package/dist/wire/registry.js +15 -61
  94. package/dist/wire/registry.js.map +1 -1
  95. package/dist/wire/row-shapes.d.ts +25 -13
  96. package/dist/wire/row-shapes.d.ts.map +1 -1
  97. package/dist/wire/row-shapes.js +11 -0
  98. package/dist/wire/row-shapes.js.map +1 -1
  99. package/fixtures/behavior/messaging/adversarial-invariants.json +7 -2
  100. package/fixtures/manifest/invalid/duplicate-signal-type.json +4 -2
  101. package/package.json +2 -2
  102. package/src/schemas/behavior-fixture.schema.json +711 -184
  103. package/src/schemas/companion-bridge.schema.json +51 -28
  104. package/src/schemas/manifest.schema.json +1954 -306
  105. package/src/schemas/messaging.schema.json +510 -35
  106. package/src/schemas/signal.schema.json +68 -78
  107. package/dist/wire/signal-byte-bounds.d.ts +0 -97
  108. package/dist/wire/signal-byte-bounds.d.ts.map +0 -1
  109. package/dist/wire/signal-byte-bounds.js +0 -229
  110. package/dist/wire/signal-byte-bounds.js.map +0 -1
  111. package/fixtures/signals/invalid/destination-injection.json +0 -15
  112. package/fixtures/signals/invalid/non-utc-occurred-at.json +0 -12
  113. package/fixtures/signals/valid/feishu-meeting-artifact.json +0 -18
@@ -121,9 +121,13 @@
121
121
  "required": ["epistemicStatus"],
122
122
  "additionalProperties": false
123
123
  },
124
+ "MediaType": {
125
+ "type": "string",
126
+ "enum": ["image", "file", "audio", "video"]
127
+ },
124
128
  "ElementKind": {
125
129
  "type": "string",
126
- "enum": ["text", "media_ref", "rich_block"]
130
+ "enum": ["text", "media_ref", "rich_block", "media_unavailable", "media_warning"]
127
131
  },
128
132
  "TextElementPayload": {
129
133
  "type": "object",
@@ -135,12 +139,60 @@
135
139
  },
136
140
  "MediaRefElementPayload": {
137
141
  "type": "object",
138
- "additionalProperties": true
142
+ "properties": {
143
+ "type": { "$ref": "#/$defs/MediaType" },
144
+ "reference": {
145
+ "type": "string",
146
+ "minLength": 1,
147
+ "maxLength": 2048,
148
+ "description": "pmr_* enters only through a public messaging.send draft that carries sourceEventId; whisper, appendElements, and pmr drafts without sourceEventId are rejected. hmr_* is an opaque identifier, not a bearer token: send, appendElements, and media.read share the same Host authorization decision, and unknown, unauthorized, cross-instance, or revoked references all return MEDIA_ACCESS_DENIED. References without either prefix are legacy opaque values: the Host does not parse, materialize, or expose them through media.read."
149
+ },
150
+ "sourceId": { "type": "string", "minLength": 1, "maxLength": 256 },
151
+ "fileName": { "type": "string", "minLength": 1, "maxLength": 512 }
152
+ },
153
+ "required": ["type", "reference"],
154
+ "additionalProperties": true,
155
+ "allOf": [
156
+ {
157
+ "if": { "properties": { "reference": { "pattern": "^pmr_" } }, "required": ["reference"] },
158
+ "then": { "required": ["sourceId"] }
159
+ },
160
+ {
161
+ "if": { "properties": { "reference": { "pattern": "^hmr_" } }, "required": ["reference"] },
162
+ "then": { "not": { "required": ["sourceId"] } }
163
+ }
164
+ ]
139
165
  },
140
166
  "RichBlockElementPayload": {
141
167
  "type": "object",
168
+ "properties": {
169
+ "id": { "type": "string", "minLength": 1, "maxLength": 128 },
170
+ "kind": { "type": "string", "minLength": 1, "maxLength": 128 },
171
+ "v": { "const": 1 }
172
+ },
173
+ "required": ["id", "kind", "v"],
142
174
  "additionalProperties": true
143
175
  },
176
+ "MediaUnavailableElementPayload": {
177
+ "type": "object",
178
+ "properties": {
179
+ "type": { "$ref": "#/$defs/MediaType" },
180
+ "fileName": { "type": "string", "minLength": 1, "maxLength": 512 },
181
+ "reason": { "type": "string", "enum": ["source_expired", "timeout", "unavailable"] }
182
+ },
183
+ "required": ["type", "reason"],
184
+ "additionalProperties": false
185
+ },
186
+ "MediaWarningElementPayload": {
187
+ "type": "object",
188
+ "properties": {
189
+ "mediaElementId": { "type": "string", "minLength": 1, "maxLength": 128 },
190
+ "stage": { "type": "string", "enum": ["transcription", "preview"] },
191
+ "reason": { "type": "string", "enum": ["timeout", "processing_failed"] }
192
+ },
193
+ "required": ["mediaElementId", "stage", "reason"],
194
+ "additionalProperties": false
195
+ },
144
196
  "TextMessageElement": {
145
197
  "type": "object",
146
198
  "properties": {
@@ -165,6 +217,20 @@
165
217
  "required": ["elementId", "kind", "payload"],
166
218
  "additionalProperties": false
167
219
  },
220
+ "PmrMediaRefElementMatch": {
221
+ "type": "object",
222
+ "properties": {
223
+ "kind": { "const": "media_ref" },
224
+ "payload": {
225
+ "type": "object",
226
+ "properties": {
227
+ "reference": { "type": "string", "pattern": "^pmr_" }
228
+ },
229
+ "required": ["reference"]
230
+ }
231
+ },
232
+ "required": ["kind", "payload"]
233
+ },
168
234
  "RichBlockMessageElement": {
169
235
  "type": "object",
170
236
  "properties": {
@@ -177,11 +243,37 @@
177
243
  "required": ["elementId", "kind", "payload"],
178
244
  "additionalProperties": false
179
245
  },
246
+ "MediaUnavailableMessageElement": {
247
+ "type": "object",
248
+ "properties": {
249
+ "elementId": { "type": "string", "minLength": 1, "maxLength": 128 },
250
+ "kind": { "const": "media_unavailable" },
251
+ "payload": { "$ref": "#/$defs/MediaUnavailableElementPayload" },
252
+ "derivedFromElementId": { "type": "string", "minLength": 1, "maxLength": 128 },
253
+ "epistemicStatus": { "$ref": "#/$defs/EpistemicStatus" }
254
+ },
255
+ "required": ["elementId", "kind", "payload"],
256
+ "additionalProperties": false
257
+ },
258
+ "MediaWarningMessageElement": {
259
+ "type": "object",
260
+ "properties": {
261
+ "elementId": { "type": "string", "minLength": 1, "maxLength": 128 },
262
+ "kind": { "const": "media_warning" },
263
+ "payload": { "$ref": "#/$defs/MediaWarningElementPayload" },
264
+ "derivedFromElementId": { "type": "string", "minLength": 1, "maxLength": 128 },
265
+ "epistemicStatus": { "$ref": "#/$defs/EpistemicStatus" }
266
+ },
267
+ "required": ["elementId", "kind", "payload"],
268
+ "additionalProperties": false
269
+ },
180
270
  "MessageElement": {
181
271
  "oneOf": [
182
272
  { "$ref": "#/$defs/TextMessageElement" },
183
273
  { "$ref": "#/$defs/MediaRefMessageElement" },
184
- { "$ref": "#/$defs/RichBlockMessageElement" }
274
+ { "$ref": "#/$defs/RichBlockMessageElement" },
275
+ { "$ref": "#/$defs/MediaUnavailableMessageElement" },
276
+ { "$ref": "#/$defs/MediaWarningMessageElement" }
185
277
  ]
186
278
  },
187
279
  "MessagePayload": {
@@ -284,6 +376,12 @@
284
376
  { "$ref": "#/$defs/SystemAudience" }
285
377
  ]
286
378
  },
379
+ "MessageId": {
380
+ "type": "string",
381
+ "minLength": 1,
382
+ "maxLength": 512,
383
+ "description": "Host message id."
384
+ },
287
385
  "MessageDraft": {
288
386
  "type": "object",
289
387
  "properties": {
@@ -291,11 +389,50 @@
291
389
  "draftAudience": { "$ref": "#/$defs/DraftAudience" },
292
390
  "idempotencyKey": { "type": "string", "minLength": 1, "maxLength": 200 },
293
391
  "sourceEventId": { "type": "string", "minLength": 1, "maxLength": 512 },
294
- "replyTo": { "type": "string", "minLength": 1, "maxLength": 256 },
392
+ "replyTo": { "$ref": "#/$defs/MessageId" },
295
393
  "payload": { "$ref": "#/$defs/DraftPayload" }
296
394
  },
297
395
  "required": ["address", "idempotencyKey", "payload"],
298
- "additionalProperties": false
396
+ "additionalProperties": false,
397
+ "allOf": [
398
+ {
399
+ "if": {
400
+ "properties": {
401
+ "draftAudience": {
402
+ "type": "object",
403
+ "properties": { "kind": { "const": "whisper" } },
404
+ "required": ["kind"]
405
+ }
406
+ },
407
+ "required": ["draftAudience"]
408
+ },
409
+ "then": {
410
+ "properties": {
411
+ "payload": {
412
+ "properties": {
413
+ "elements": {
414
+ "not": { "contains": { "$ref": "#/$defs/PmrMediaRefElementMatch" } }
415
+ }
416
+ }
417
+ }
418
+ }
419
+ }
420
+ },
421
+ {
422
+ "if": {
423
+ "properties": {
424
+ "payload": {
425
+ "properties": {
426
+ "elements": {
427
+ "contains": { "$ref": "#/$defs/PmrMediaRefElementMatch" }
428
+ }
429
+ }
430
+ }
431
+ }
432
+ },
433
+ "then": { "required": ["sourceEventId"] }
434
+ }
435
+ ]
299
436
  },
300
437
  "OccurredAt": {
301
438
  "oneOf": [
@@ -313,13 +450,18 @@
313
450
  }
314
451
  ]
315
452
  },
453
+ "ThreadId": {
454
+ "type": "string",
455
+ "minLength": 1,
456
+ "maxLength": 512
457
+ },
316
458
  "MessageEnvelope": {
317
459
  "type": "object",
318
460
  "properties": {
319
- "messageId": { "type": "string", "minLength": 1, "maxLength": 512 },
461
+ "messageId": { "$ref": "#/$defs/MessageId" },
320
462
  "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 },
321
- "threadId": { "type": "string", "minLength": 1, "maxLength": 512 },
322
- "replyTo": { "type": "string", "minLength": 1, "maxLength": 256 },
463
+ "threadId": { "$ref": "#/$defs/ThreadId" },
464
+ "replyTo": { "$ref": "#/$defs/MessageId" },
323
465
  "actor": { "$ref": "#/$defs/ActorRef" },
324
466
  "audience": { "$ref": "#/$defs/CanonicalAudience" },
325
467
  "occurredAt": { "$ref": "#/$defs/OccurredAt" },
@@ -345,8 +487,8 @@
345
487
  "eventId": { "type": "string", "minLength": 1, "maxLength": 720 },
346
488
  "sequence": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
347
489
  "type": { "const": "message.elements.append" },
348
- "messageId": { "type": "string", "minLength": 1, "maxLength": 512 },
349
- "threadId": { "type": "string", "minLength": 1, "maxLength": 512 },
490
+ "messageId": { "$ref": "#/$defs/MessageId" },
491
+ "threadId": { "$ref": "#/$defs/ThreadId" },
350
492
  "operationId": { "type": "string", "minLength": 1, "maxLength": 200 },
351
493
  "baseRevision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 },
352
494
  "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 },
@@ -369,19 +511,24 @@
369
511
  "SendReceipt": {
370
512
  "type": "object",
371
513
  "properties": {
372
- "messageId": { "type": "string", "minLength": 1, "maxLength": 512 },
373
- "threadId": { "type": "string", "minLength": 1, "maxLength": 512 },
514
+ "messageId": { "$ref": "#/$defs/MessageId" },
515
+ "threadId": { "$ref": "#/$defs/ThreadId" },
374
516
  "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 },
375
517
  "messageHandle": { "$ref": "#/$defs/MessageHandle" },
376
- "publishSequence": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 }
518
+ "publishSequence": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
519
+ "pendingPublication": {
520
+ "const": true,
521
+ "description": "The Host accepted and reserved this message, but media import is still pending and the message is not yet published or readable."
522
+ }
377
523
  },
378
524
  "required": ["messageId", "threadId", "revision", "messageHandle"],
379
- "additionalProperties": false
525
+ "additionalProperties": false,
526
+ "not": { "required": ["publishSequence", "pendingPublication"] }
380
527
  },
381
528
  "AppendReceipt": {
382
529
  "type": "object",
383
530
  "properties": {
384
- "messageId": { "type": "string", "minLength": 1, "maxLength": 512 },
531
+ "messageId": { "$ref": "#/$defs/MessageId" },
385
532
  "revision": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 },
386
533
  "appendSequence": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
387
534
  "appliedElementIds": {
@@ -396,7 +543,7 @@
396
543
  },
397
544
  "MessagingErrorCode": {
398
545
  "type": "string",
399
- "enum": ["VALIDATION", "PERMISSION", "NOT_FOUND", "CONFLICT", "RETRYABLE_INFLIGHT", "STALE_CURSOR"]
546
+ "enum": ["VALIDATION", "PERMISSION", "NOT_FOUND", "CONFLICT", "RETRYABLE_INFLIGHT", "STALE_CURSOR", "MEDIA_ACCESS_DENIED", "MESSAGE_NOT_PUBLISHED"]
400
547
  },
401
548
  "MessageHandle": {
402
549
  "type": "object",
@@ -417,7 +564,8 @@
417
564
  "type": "array",
418
565
  "items": { "$ref": "#/$defs/MessageElement" },
419
566
  "minItems": 1,
420
- "maxItems": 32
567
+ "maxItems": 32,
568
+ "not": { "contains": { "$ref": "#/$defs/PmrMediaRefElementMatch" } }
421
569
  }
422
570
  },
423
571
  "required": ["handle", "operationId", "elements"],
@@ -494,6 +642,351 @@
494
642
  "required": ["envelopes", "resumeSequence"],
495
643
  "additionalProperties": false
496
644
  },
645
+ "FrontendDisplayUrl": {
646
+ "type": "string",
647
+ "minLength": 1,
648
+ "maxLength": 2048,
649
+ "format": "uri",
650
+ "pattern": "^https?://",
651
+ "description": "Absolute browser-facing http(s) URL. Userinfo and the case-insensitive query keys bearer, access_token, token, secret, and api_key are forbidden by semantic validation."
652
+ },
653
+ "DeliveryPresentationActor": {
654
+ "type": "object",
655
+ "properties": {
656
+ "displayName": { "type": "string", "minLength": 1, "maxLength": 256 },
657
+ "emoji": { "type": "string", "minLength": 1, "maxLength": 32 }
658
+ },
659
+ "required": ["displayName", "emoji"],
660
+ "additionalProperties": false
661
+ },
662
+ "DeliveryPresentationThread": {
663
+ "type": "object",
664
+ "properties": {
665
+ "shortId": { "type": "string", "minLength": 1, "maxLength": 128 },
666
+ "title": { "type": "string", "minLength": 1, "maxLength": 512 },
667
+ "featId": { "type": "string", "minLength": 1, "maxLength": 128 }
668
+ },
669
+ "required": ["shortId"],
670
+ "additionalProperties": false
671
+ },
672
+ "DeliveryPresentationContext": {
673
+ "type": "object",
674
+ "properties": {
675
+ "actor": { "$ref": "#/$defs/DeliveryPresentationActor" },
676
+ "thread": { "$ref": "#/$defs/DeliveryPresentationThread" },
677
+ "deepLinkUrl": { "$ref": "#/$defs/FrontendDisplayUrl" }
678
+ },
679
+ "required": ["actor", "thread"],
680
+ "additionalProperties": false
681
+ },
682
+ "MediaReadInput": {
683
+ "type": "object",
684
+ "properties": {
685
+ "reference": { "type": "string", "pattern": "^hmr_", "maxLength": 2048 },
686
+ "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
687
+ "limit": { "type": "integer", "minimum": 1, "maximum": 524288 }
688
+ },
689
+ "required": ["reference", "offset", "limit"],
690
+ "additionalProperties": false
691
+ },
692
+ "MediaReadResult": {
693
+ "type": "object",
694
+ "properties": {
695
+ "offset": { "type": "integer", "minimum": 0, "maximum": 9007199254740991 },
696
+ "dataBase64": { "type": "string", "maxLength": 699052, "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" },
697
+ "nextOffset": { "type": "integer", "minimum": 1, "maximum": 9007199254740991 },
698
+ "done": { "type": "boolean" }
699
+ },
700
+ "required": ["offset", "dataBase64", "done"],
701
+ "additionalProperties": false,
702
+ "allOf": [
703
+ {
704
+ "if": { "properties": { "done": { "const": false } }, "required": ["done"] },
705
+ "then": {
706
+ "properties": { "dataBase64": { "minLength": 4 } },
707
+ "required": ["nextOffset"]
708
+ }
709
+ },
710
+ { "if": { "properties": { "done": { "const": true } }, "required": ["done"] }, "then": { "not": { "required": ["nextOffset"] } } }
711
+ ]
712
+ },
713
+ "PluginMessageDelivery": {
714
+ "type": "object",
715
+ "properties": {
716
+ "kind": {
717
+ "const": "message"
718
+ },
719
+ "deliveryId": {
720
+ "type": "string",
721
+ "minLength": 1,
722
+ "maxLength": 128
723
+ },
724
+ "threadId": {
725
+ "$ref": "#/$defs/ThreadId"
726
+ },
727
+ "executionId": {
728
+ "type": "string",
729
+ "minLength": 1,
730
+ "maxLength": 128
731
+ },
732
+ "envelope": {
733
+ "$ref": "#/$defs/MessageEnvelope"
734
+ },
735
+ "presentation": {
736
+ "$ref": "#/$defs/DeliveryPresentationContext"
737
+ }
738
+ },
739
+ "required": [
740
+ "kind",
741
+ "deliveryId",
742
+ "threadId",
743
+ "envelope"
744
+ ],
745
+ "additionalProperties": false
746
+ },
747
+ "PluginExecutionStartedDelivery": {
748
+ "type": "object",
749
+ "properties": {
750
+ "deliveryId": {
751
+ "type": "string",
752
+ "minLength": 1,
753
+ "maxLength": 128
754
+ },
755
+ "threadId": {
756
+ "$ref": "#/$defs/ThreadId"
757
+ },
758
+ "state": {
759
+ "const": "started"
760
+ },
761
+ "presentation": {
762
+ "$ref": "#/$defs/DeliveryPresentationContext"
763
+ },
764
+ "placeholderLine": {
765
+ "type": "string",
766
+ "minLength": 1,
767
+ "maxLength": 256
768
+ },
769
+ "replyTo": {
770
+ "$ref": "#/$defs/MessageId"
771
+ },
772
+ "executionId": {
773
+ "type": "string",
774
+ "minLength": 1,
775
+ "maxLength": 128
776
+ },
777
+ "kind": {
778
+ "const": "execution_status"
779
+ }
780
+ },
781
+ "required": [
782
+ "executionId",
783
+ "deliveryId",
784
+ "threadId",
785
+ "state",
786
+ "presentation",
787
+ "kind"
788
+ ],
789
+ "additionalProperties": false
790
+ },
791
+ "PluginExecutionCatchingUpDelivery": {
792
+ "type": "object",
793
+ "properties": {
794
+ "deliveryId": {
795
+ "type": "string",
796
+ "minLength": 1,
797
+ "maxLength": 128
798
+ },
799
+ "threadId": {
800
+ "$ref": "#/$defs/ThreadId"
801
+ },
802
+ "state": {
803
+ "const": "catching_up"
804
+ },
805
+ "executionId": {
806
+ "type": "string",
807
+ "minLength": 1,
808
+ "maxLength": 128
809
+ },
810
+ "kind": {
811
+ "const": "execution_status"
812
+ }
813
+ },
814
+ "required": [
815
+ "executionId",
816
+ "deliveryId",
817
+ "threadId",
818
+ "state",
819
+ "kind"
820
+ ],
821
+ "additionalProperties": false
822
+ },
823
+ "PluginExecutionBlockedDelivery": {
824
+ "type": "object",
825
+ "properties": {
826
+ "deliveryId": {
827
+ "type": "string",
828
+ "minLength": 1,
829
+ "maxLength": 128
830
+ },
831
+ "threadId": {
832
+ "$ref": "#/$defs/ThreadId"
833
+ },
834
+ "state": {
835
+ "const": "blocked"
836
+ },
837
+ "reason": {
838
+ "type": "string",
839
+ "minLength": 1,
840
+ "maxLength": 512
841
+ },
842
+ "recoveryUrl": {
843
+ "$ref": "#/$defs/FrontendDisplayUrl"
844
+ },
845
+ "executionId": {
846
+ "type": "string",
847
+ "minLength": 1,
848
+ "maxLength": 128
849
+ },
850
+ "kind": {
851
+ "const": "execution_status"
852
+ }
853
+ },
854
+ "required": [
855
+ "executionId",
856
+ "deliveryId",
857
+ "threadId",
858
+ "state",
859
+ "reason",
860
+ "kind"
861
+ ],
862
+ "additionalProperties": false
863
+ },
864
+ "PluginExecutionResumedDelivery": {
865
+ "type": "object",
866
+ "properties": {
867
+ "deliveryId": {
868
+ "type": "string",
869
+ "minLength": 1,
870
+ "maxLength": 128
871
+ },
872
+ "threadId": {
873
+ "$ref": "#/$defs/ThreadId"
874
+ },
875
+ "state": {
876
+ "const": "resumed"
877
+ },
878
+ "executionId": {
879
+ "type": "string",
880
+ "minLength": 1,
881
+ "maxLength": 128
882
+ },
883
+ "kind": {
884
+ "const": "execution_status"
885
+ }
886
+ },
887
+ "required": [
888
+ "executionId",
889
+ "deliveryId",
890
+ "threadId",
891
+ "state",
892
+ "kind"
893
+ ],
894
+ "additionalProperties": false
895
+ },
896
+ "PluginExecutionSettledDelivery": {
897
+ "type": "object",
898
+ "properties": {
899
+ "deliveryId": {
900
+ "type": "string",
901
+ "minLength": 1,
902
+ "maxLength": 128
903
+ },
904
+ "threadId": {
905
+ "$ref": "#/$defs/ThreadId"
906
+ },
907
+ "state": {
908
+ "const": "settled"
909
+ },
910
+ "chainDone": {
911
+ "type": "boolean"
912
+ },
913
+ "outcome": {
914
+ "type": "string",
915
+ "enum": [
916
+ "completed",
917
+ "failed",
918
+ "cancelled"
919
+ ]
920
+ },
921
+ "executionId": {
922
+ "type": "string",
923
+ "minLength": 1,
924
+ "maxLength": 128
925
+ },
926
+ "kind": {
927
+ "const": "execution_status"
928
+ }
929
+ },
930
+ "required": [
931
+ "executionId",
932
+ "deliveryId",
933
+ "threadId",
934
+ "state",
935
+ "chainDone",
936
+ "outcome",
937
+ "kind"
938
+ ],
939
+ "additionalProperties": false
940
+ },
941
+ "PluginExecutionStatusDelivery": {
942
+ "oneOf": [
943
+ {
944
+ "$ref": "#/$defs/PluginExecutionStartedDelivery"
945
+ },
946
+ {
947
+ "$ref": "#/$defs/PluginExecutionCatchingUpDelivery"
948
+ },
949
+ {
950
+ "$ref": "#/$defs/PluginExecutionBlockedDelivery"
951
+ },
952
+ {
953
+ "$ref": "#/$defs/PluginExecutionResumedDelivery"
954
+ },
955
+ {
956
+ "$ref": "#/$defs/PluginExecutionSettledDelivery"
957
+ }
958
+ ]
959
+ },
960
+ "PluginDeliveryInput": {
961
+ "oneOf": [
962
+ {
963
+ "$ref": "#/$defs/PluginMessageDelivery"
964
+ },
965
+ {
966
+ "$ref": "#/$defs/PluginExecutionStatusDelivery"
967
+ }
968
+ ]
969
+ },
970
+ "PluginDeliveryReceipt": {
971
+ "type": "object",
972
+ "properties": {
973
+ "deliveryId": {
974
+ "type": "string",
975
+ "minLength": 1,
976
+ "maxLength": 128
977
+ }
978
+ },
979
+ "required": [
980
+ "deliveryId"
981
+ ],
982
+ "additionalProperties": false
983
+ },
984
+
985
+
986
+
987
+
988
+
989
+
497
990
  "M0CSubscribeInput": {
498
991
  "type": "object",
499
992
  "properties": {
@@ -627,24 +1120,6 @@
627
1120
  { "$ref": "#/$defs/M0CSnapshotIntermediateResult" },
628
1121
  { "$ref": "#/$defs/M0CSnapshotFinalResult" }
629
1122
  ]
630
- },
631
- "M0CDeliverInput": {
632
- "type": "object",
633
- "properties": {
634
- "deliveryId": { "type": "string", "minLength": 1, "maxLength": 128 },
635
- "threadHandle": { "$ref": "#/$defs/ThreadHandleAddress" },
636
- "envelope": { "$ref": "#/$defs/MessageEnvelope" }
637
- },
638
- "required": ["deliveryId", "threadHandle", "envelope"],
639
- "additionalProperties": false
640
- },
641
- "M0CDeliverResult": {
642
- "type": "object",
643
- "properties": {
644
- "deliveryId": { "type": "string", "minLength": 1, "maxLength": 128 }
645
- },
646
- "required": ["deliveryId"],
647
- "additionalProperties": false
648
1123
  }
649
1124
  }
650
1125
  }