@whooshbang/contracts 2.5.0 → 3.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 (102) hide show
  1. package/CHANGELOG.md +13 -2
  2. package/README.md +21 -21
  3. package/contract-manifest.json +32 -33
  4. package/dist/generated/artifact-index.d.ts +34 -34
  5. package/dist/generated/artifact-index.js +32 -33
  6. package/dist/generated/artifact-index.js.map +1 -1
  7. package/dist/generated/interaction-v1.d.ts +77 -4
  8. package/dist/generated/validators-standalone.d.ts +492 -492
  9. package/dist/generated/validators-standalone.js +6405 -4572
  10. package/dist/generated/validators-standalone.js.map +1 -1
  11. package/dist/generated/validators.d.ts +2 -2
  12. package/dist/generated/validators.js +1 -0
  13. package/dist/generated/validators.js.map +1 -1
  14. package/dist/generated/whooshbang-v1.d.ts +526 -116
  15. package/dist/index.d.ts +3 -0
  16. package/dist/index.js +1 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/input-defaults.d.ts +7 -0
  19. package/dist/input-defaults.js +59 -0
  20. package/dist/input-defaults.js.map +1 -0
  21. package/dist/interaction-expiry.js +2 -1
  22. package/dist/interaction-expiry.js.map +1 -1
  23. package/fixtures/core-v1/fixture-index.json +1 -9
  24. package/fixtures/core-v1/problems/idempotency-key-required.json +2 -2
  25. package/fixtures/core-v1/scenarios/api-credential-invalid-indistinguishable.json +1 -1
  26. package/fixtures/core-v1/scenarios/api-credential-one-time-reveal.json +1 -1
  27. package/fixtures/core-v1/scenarios/api-credential-revocation-replay.json +1 -1
  28. package/fixtures/core-v1/scenarios/api-credential-rotation-overlap.json +1 -1
  29. package/fixtures/core-v1/scenarios/cancellation-too-late.json +1 -1
  30. package/fixtures/core-v1/scenarios/cross-organization-project.json +1 -1
  31. package/fixtures/core-v1/scenarios/cross-project-resource.json +1 -1
  32. package/fixtures/core-v1/scenarios/environment-mismatch.json +1 -1
  33. package/fixtures/core-v1/scenarios/idempotency-conflict.json +1 -1
  34. package/fixtures/core-v1/scenarios/idempotency-equivalent-replay.json +1 -1
  35. package/fixtures/core-v1/scenarios/malformed-bearer.json +1 -1
  36. package/fixtures/core-v1/scenarios/metadata-overrun.json +1 -1
  37. package/fixtures/core-v1/scenarios/missing-scope.json +1 -1
  38. package/fixtures/core-v1/scenarios/project-create-equivalent-replay.json +1 -1
  39. package/fixtures/core-v1/scenarios/project-slug-conflict.json +1 -1
  40. package/fixtures/core-v1/scenarios/provider-outcome-unknown.json +1 -1
  41. package/fixtures/core-v1/scenarios/subscription-activation-replay.json +1 -1
  42. package/fixtures/core-v1/scenarios/subscription-authorization-capability-opacity.json +1 -1
  43. package/fixtures/core-v1/scenarios/subscription-cross-connection-callback-rejected.json +1 -1
  44. package/fixtures/core-v1/scenarios/subscription-expired-replay.json +1 -1
  45. package/fixtures/core-v1/scenarios/subscription-selected-connection-replay.json +1 -1
  46. package/fixtures/interaction-machine-v1/scenarios/ack-conflict.json +1 -1
  47. package/fixtures/interaction-machine-v1/scenarios/ack-cross-machine.json +1 -1
  48. package/fixtures/interaction-machine-v1/scenarios/ack-out-of-order.json +1 -1
  49. package/fixtures/interaction-machine-v1/scenarios/ack-replay.json +1 -1
  50. package/fixtures/interaction-machine-v1/scenarios/ambiguous-free-text.json +1 -1
  51. package/fixtures/interaction-machine-v1/scenarios/callback-token-opacity.json +1 -1
  52. package/fixtures/interaction-machine-v1/scenarios/credential-registration-conflict.json +1 -1
  53. package/fixtures/interaction-machine-v1/scenarios/credential-registration-replay.json +1 -1
  54. package/fixtures/interaction-machine-v1/scenarios/credential-revocation-replay.json +1 -1
  55. package/fixtures/interaction-machine-v1/scenarios/credential-rotation.json +1 -1
  56. package/fixtures/interaction-machine-v1/scenarios/first-credential-activates.json +1 -1
  57. package/fixtures/interaction-machine-v1/scenarios/interaction-duplicate.json +1 -1
  58. package/fixtures/interaction-machine-v1/scenarios/interaction-expired.json +1 -1
  59. package/fixtures/interaction-machine-v1/scenarios/interaction-mismatch.json +1 -1
  60. package/fixtures/interaction-machine-v1/scenarios/interaction-retired.json +1 -1
  61. package/fixtures/interaction-machine-v1/scenarios/interaction-stale.json +1 -1
  62. package/fixtures/interaction-machine-v1/scenarios/machine-admin-denied.json +1 -1
  63. package/fixtures/interaction-machine-v1/scenarios/machine-bound-message-create.json +1 -1
  64. package/fixtures/interaction-machine-v1/scenarios/machine-cancel-denied.json +1 -1
  65. package/fixtures/interaction-machine-v1/scenarios/machine-crash-before-ack.json +1 -1
  66. package/fixtures/interaction-machine-v1/scenarios/machine-notifier-mismatch.json +1 -1
  67. package/fixtures/interaction-machine-v1/scenarios/machine-other-message-read.json +1 -1
  68. package/fixtures/interaction-machine-v1/scenarios/machine-owned-message-read.json +1 -1
  69. package/fixtures/interaction-machine-v1/scenarios/machine-subscriber-mismatch.json +1 -1
  70. package/fixtures/interaction-machine-v1/scenarios/poll-uncommitted-cursor-rejected.json +1 -1
  71. package/fixtures/interaction-machine-v1/scenarios/project-credential-machine-endpoint-denied.json +1 -1
  72. package/fixtures/interaction-machine-v1/scenarios/quarantine-integrity-rejected.json +1 -1
  73. package/fixtures/interaction-machine-v1/scenarios/quarantine-signature-rejected.json +1 -1
  74. package/fixtures/interaction-machine-v1/scenarios/quarantine-valid.json +1 -1
  75. package/fixtures/interaction-machine-v1/scenarios/revoked-machine-credential.json +1 -1
  76. package/fixtures/recipient-experience-v1/scenarios/membership-broadcast-snapshot.json +1 -1
  77. package/fixtures/recipient-experience-v1/scenarios/preferred-binding-resolution.json +1 -1
  78. package/fixtures/recipient-experience-v1/scenarios/recipient-session-security.json +1 -1
  79. package/fixtures/recipient-experience-v1/scenarios/subscriber-initial-groups-transaction.json +1 -1
  80. package/openapi/generated/whooshbang-v1.bundle.json +1009 -302
  81. package/openapi/whooshbang-v1.yaml +455 -74
  82. package/package.json +1 -1
  83. package/schemas/core-scenario.schema.json +1 -1
  84. package/schemas/events/agent-binding-degraded-v1.schema.json +1 -1
  85. package/schemas/events/interaction-expired-v1.schema.json +1 -1
  86. package/schemas/events/interaction-received-v1.schema.json +1 -1
  87. package/schemas/events/message-delivered-v1.schema.json +1 -1
  88. package/schemas/events/message-expired-v1.schema.json +1 -1
  89. package/schemas/events/message-failed-v1.schema.json +1 -1
  90. package/schemas/events/message-provider-accepted-v1.schema.json +1 -1
  91. package/schemas/events/subscription-activated-v1.schema.json +1 -1
  92. package/schemas/events/subscription-revoked-v1.schema.json +1 -1
  93. package/schemas/events/whooshbang-event-v1.schema.json +1 -1
  94. package/schemas/fixture-index.schema.json +1 -1
  95. package/schemas/interaction-machine-scenario.schema.json +1 -1
  96. package/schemas/interaction-v1.schema.json +192 -5
  97. package/schemas/machine-v1.schema.json +1 -1
  98. package/schemas/provider-capabilities-v1.schema.json +1 -1
  99. package/schemas/webhooks/webhook-delivery-case-v1.schema.json +1 -1
  100. package/schemas/webhooks/webhook-signing-vector-v1.schema.json +1 -1
  101. package/schemas/whooshbang-v1.schema.json +410 -63
  102. package/fixtures/core-v1/problems/replay-unavailable-rollout.json +0 -16
package/CHANGELOG.md CHANGED
@@ -4,6 +4,17 @@ All notable contract changes are recorded here.
4
4
 
5
5
  ## Unreleased
6
6
 
7
+ ## 3.0.0
8
+
9
+ - Add endpoint pause reason, next probe time and recovery state. Resume probes once before releasing deliveries held for up to seven days (FXO-3133).
10
+ - Remove the retired customer endpoint rollout gate and its problem codes. This is a breaking contract change.
11
+
12
+ ## 2.6.0
13
+
14
+ - Accept optional idempotency keys, inferred content and question types, string targets/content/options and prompt-only sends.
15
+ - Add credential-scoped endpoint and operator routes, setup defaults and notification-only interaction read metadata.
16
+ - Permit developer HTTPS return URLs, mixed-case/underscore group keys, short correlation IDs and delivery expiry beyond 24 hours. Webhook endpoints are active on creation with a signed diagnostic ping instead of an echo handshake.
17
+
7
18
  ## 2.5.0
8
19
 
9
20
  - Add launch promotions: `BillingPromotions`, `BillingPromotion` and `RedeemBillingPromotionRequest` for `GET /v1/billing/promotions` and `POST /v1/billing/promotions/redeem` (FXO-2994).
@@ -607,8 +618,8 @@ because an integrator branching on those codes has no other way to learn them.
607
618
  ## 1.0.0-rc.11
608
619
 
609
620
  - Add the closed `replay_unavailable` Problem code at HTTP 409. Replay
610
- refusals retain the `not_terminal`, `payload_unavailable`, or
611
- `rollout_disabled` field error that tells an integrator which state blocked
621
+ refusals retain a `not_terminal` or `payload_unavailable`
622
+ field error that tells an integrator which state blocked
612
623
  the operation.
613
624
  - Allow `interaction.received` machine events to outlive answer content. New
614
625
  retained events publish `answer_retained: true` with `response`; redacted
package/README.md CHANGED
@@ -1,16 +1,12 @@
1
1
  # WhooshBang contract workspace
2
2
 
3
- The organization contract batch uses `@whooshbang/contracts@1.0.0-rc.23`,
4
- `@whooshbang/sdk@1.0.0-rc.32` and `@whooshbang/contract-mock@1.0.0-rc.35`.
5
- Install the matching batch after publication. FXO-2337 is a clean cut from
6
- tenant account terminology; the [upgrade guide](../../docs/onboarding/organization-upgrade.mdx)
7
- covers renamed types, routes, fields, credentials and integration validation.
3
+ Use the published contracts with a compatible SDK and contract mock.
8
4
 
9
5
  `@whooshbang/contracts` is the runtime-neutral artifact boundary for
10
6
  public contracts owned by WhooshBang. It does not depend on sibling
11
7
  repositories or Cloudflare runtime types.
12
8
 
13
- Install the current release candidate from the public npm registry:
9
+ Install the current release from the public npm registry:
14
10
 
15
11
  ```sh
16
12
  npm install @whooshbang/contracts
@@ -26,23 +22,23 @@ npm install @whooshbang/contracts
26
22
  - Other products retain ownership of their own schemas. Consumer artifacts are
27
23
  pinned and exchanged as tarballs rather than accessed through sibling paths.
28
24
 
29
- The manifest indexes the C0-02 core REST contract, its approved N1-02
30
- organization/project administration and N1-03 credential-lifecycle amendments, the
31
- C0-03 interaction, machine-client, machine-event, and provider-capability
32
- contracts, and the C0-04 signed customer-event and delivery contracts. The
33
- canonical API is `openapi/whooshbang-v1.yaml`; its committed distribution
25
+ The manifest indexes the REST, organization/project administration and credential
26
+ contracts, plus interactions, machine clients/events, provider capabilities,
27
+ signed customer events and delivery. The canonical API is `openapi/whooshbang-v1.yaml`; its committed distribution
34
28
  bundle, generated TypeScript, validators, and fixture index are checked for
35
29
  drift on every contract check.
36
30
 
37
31
  The contract intentionally stops at serialized behavior. The JavaScript SDK and
38
- executable Hono mock provide deterministic C0-05 consumer behavior, while no
32
+ executable Hono mock provide deterministic consumer behavior, while no
39
33
  production authentication, persistence, queue, Telegram, endpoint registration,
40
34
  or provider behavior lives in this package. Its bounded runtime-neutral helpers
41
35
  cover local machine credential material, raw-byte webhook verification,
42
36
  caller-owned idempotent consumption, and delivery-response classification. They
43
37
  perform no networking or persistence.
44
38
 
45
- ## N1-03 credential boundary
39
+ <span id="n1-03-credential-boundary"></span>
40
+
41
+ ## Credential boundary
46
42
 
47
43
  - Human credential administration is scoped by the verified Clerk organization and
48
44
  explicit organization-owned project/environment path targets.
@@ -57,7 +53,9 @@ perform no networking or persistence.
57
53
  resource-read scope alongside `messages:write`, `messages:read`, and
58
54
  `subscriptions:write`.
59
55
 
60
- ## C0-03 boundaries
56
+ <span id="c0-03-boundaries"></span>
57
+
58
+ ## Interaction and machine-client boundaries
61
59
 
62
60
  - Message creation accepts an optional tagged `confirm`, single `select`, or
63
61
  `input` interaction. Expiry and first-terminal-answer behavior remain
@@ -74,20 +72,22 @@ perform no networking or persistence.
74
72
  failures.
75
73
  - `GET /v1/capabilities` returns a provider collection whose individual
76
74
  declarations validate against the standalone provider-capability schema.
77
- - Customer applications and Agent Relay decide what an authenticated answer
75
+ - Customer apps and Agent Relay decide what an authenticated answer
78
76
  means. WhooshBang never serializes or issues an executable resume
79
77
  command.
80
78
 
81
- ## C0-04 boundaries
79
+ <span id="c0-04-boundaries"></span>
80
+
81
+ ## Customer-event and delivery boundaries
82
82
 
83
- - `whooshbang.event.v1` is a strict nine-member customer-event union with
83
+ - `whooshbang.event.v1` is a strict customer-event union with
84
84
  stable public resource IDs and no bearer, callback token, raw provider
85
85
  identity, executable command, or original message body.
86
86
  - Standard Webhooks V1 verification signs
87
87
  `<webhook-id>.<webhook-timestamp>.<raw-body>` with HMAC-SHA256, accepts at
88
88
  most current and previous `whsec_` keys during rotation, and enforces a
89
89
  five-minute-or-narrower replay window.
90
- - Customer code checks the expected project and atomically deduplicates event
90
+ - Your app checks the expected project and atomically deduplicates event
91
91
  IDs before business side effects, retaining successful claims for at least
92
92
  seven days.
93
93
  - Delivery is at least once and unordered. Redirects are not followed; only
@@ -107,8 +107,8 @@ perform no networking or persistence.
107
107
  projected into that exact browser session, with `no-store` and `nosniff` so
108
108
  a browser cache cannot outlive session revocation or logo replacement.
109
109
  - `RecipientSession.panel_copy` is sparse and contains only the ten
110
- owner-voiced embedded-panel keys. Mandatory safety, refusal, pause,
111
- unavailable, and unsubscribe text is not accepted as owner input.
110
+ customer-editable embedded-panel keys. Mandatory safety, refusal, pause,
111
+ unavailable, and unsubscribe text is not accepted as customer input.
112
112
 
113
113
  ## Public package exports
114
114
 
@@ -117,7 +117,7 @@ perform no networking or persistence.
117
117
  consumption, and delivery classification.
118
118
  - `examples/python/verify_webhook.py`: independent standard-library verifier.
119
119
  - `openapi/whooshbang-v1.yaml`: canonical OpenAPI 3.1.1 source.
120
- - `openapi/whooshbang-v1.bundle.json`: deterministic self-contained bundle.
120
+ - `openapi/generated/whooshbang-v1.bundle.json`: deterministic self-contained bundle.
121
121
  - `schemas/*`: canonical JSON Schema 2020-12 documents.
122
122
  - `fixtures/*`: versioned synthetic golden fixtures and their machine-readable
123
123
  index.
@@ -1,115 +1,115 @@
1
1
  {
2
2
  "schema": "flowxo.contract-manifest.v1",
3
3
  "artifact": "@whooshbang/contracts",
4
- "version": "2.5.0",
4
+ "version": "3.0.0",
5
5
  "openapi": [
6
6
  {
7
7
  "id": "whooshbang-rest-v1",
8
- "version": "2.5.0",
8
+ "version": "3.0.0",
9
9
  "path": "openapi/whooshbang-v1.yaml"
10
10
  }
11
11
  ],
12
12
  "schemas": [
13
13
  {
14
14
  "id": "whooshbang-v1",
15
- "version": "2.5.0",
15
+ "version": "3.0.0",
16
16
  "path": "schemas/whooshbang-v1.schema.json"
17
17
  },
18
18
  {
19
19
  "id": "interaction-v1",
20
- "version": "2.5.0",
20
+ "version": "3.0.0",
21
21
  "path": "schemas/interaction-v1.schema.json"
22
22
  },
23
23
  {
24
24
  "id": "machine-v1",
25
- "version": "2.5.0",
25
+ "version": "3.0.0",
26
26
  "path": "schemas/machine-v1.schema.json"
27
27
  },
28
28
  {
29
29
  "id": "provider-capabilities-v1",
30
- "version": "2.5.0",
30
+ "version": "3.0.0",
31
31
  "path": "schemas/provider-capabilities-v1.schema.json"
32
32
  },
33
33
  {
34
34
  "id": "whooshbang-event-v1",
35
- "version": "2.5.0",
35
+ "version": "3.0.0",
36
36
  "path": "schemas/events/whooshbang-event-v1.schema.json"
37
37
  },
38
38
  {
39
39
  "id": "subscription-activated-event-v1",
40
- "version": "2.5.0",
40
+ "version": "3.0.0",
41
41
  "path": "schemas/events/subscription-activated-v1.schema.json"
42
42
  },
43
43
  {
44
44
  "id": "subscription-revoked-event-v1",
45
- "version": "2.5.0",
45
+ "version": "3.0.0",
46
46
  "path": "schemas/events/subscription-revoked-v1.schema.json"
47
47
  },
48
48
  {
49
49
  "id": "message-provider-accepted-event-v1",
50
- "version": "2.5.0",
50
+ "version": "3.0.0",
51
51
  "path": "schemas/events/message-provider-accepted-v1.schema.json"
52
52
  },
53
53
  {
54
54
  "id": "message-delivered-event-v1",
55
- "version": "2.5.0",
55
+ "version": "3.0.0",
56
56
  "path": "schemas/events/message-delivered-v1.schema.json"
57
57
  },
58
58
  {
59
59
  "id": "message-failed-event-v1",
60
- "version": "2.5.0",
60
+ "version": "3.0.0",
61
61
  "path": "schemas/events/message-failed-v1.schema.json"
62
62
  },
63
63
  {
64
64
  "id": "message-expired-event-v1",
65
- "version": "2.5.0",
65
+ "version": "3.0.0",
66
66
  "path": "schemas/events/message-expired-v1.schema.json"
67
67
  },
68
68
  {
69
69
  "id": "interaction-received-event-v1",
70
- "version": "2.5.0",
70
+ "version": "3.0.0",
71
71
  "path": "schemas/events/interaction-received-v1.schema.json"
72
72
  },
73
73
  {
74
74
  "id": "interaction-expired-event-v1",
75
- "version": "2.5.0",
75
+ "version": "3.0.0",
76
76
  "path": "schemas/events/interaction-expired-v1.schema.json"
77
77
  },
78
78
  {
79
79
  "id": "agent-binding-degraded-event-v1",
80
- "version": "2.5.0",
80
+ "version": "3.0.0",
81
81
  "path": "schemas/events/agent-binding-degraded-v1.schema.json"
82
82
  },
83
83
  {
84
84
  "id": "webhook-signing-vector-v1",
85
- "version": "2.5.0",
85
+ "version": "3.0.0",
86
86
  "path": "schemas/webhooks/webhook-signing-vector-v1.schema.json"
87
87
  },
88
88
  {
89
89
  "id": "webhook-delivery-case-v1",
90
- "version": "2.5.0",
90
+ "version": "3.0.0",
91
91
  "path": "schemas/webhooks/webhook-delivery-case-v1.schema.json"
92
92
  },
93
93
  {
94
94
  "id": "interaction-machine-scenario",
95
- "version": "2.5.0",
95
+ "version": "3.0.0",
96
96
  "path": "schemas/interaction-machine-scenario.schema.json"
97
97
  },
98
98
  {
99
99
  "id": "core-contract-scenario",
100
- "version": "2.5.0",
100
+ "version": "3.0.0",
101
101
  "path": "schemas/core-scenario.schema.json"
102
102
  },
103
103
  {
104
104
  "id": "core-fixture-index",
105
- "version": "2.5.0",
105
+ "version": "3.0.0",
106
106
  "path": "schemas/fixture-index.schema.json"
107
107
  }
108
108
  ],
109
109
  "fixture_sets": [
110
110
  {
111
111
  "id": "core-api-bodies",
112
- "version": "2.5.0",
112
+ "version": "3.0.0",
113
113
  "schema": "schemas/whooshbang-v1.schema.json",
114
114
  "fixtures": [
115
115
  "fixtures/core-v1/requests/create-project.json",
@@ -167,7 +167,6 @@
167
167
  "fixtures/core-v1/problems/live-simulator-refused.json",
168
168
  "fixtures/core-v1/problems/replay-unavailable-not-terminal.json",
169
169
  "fixtures/core-v1/problems/replay-unavailable-payload.json",
170
- "fixtures/core-v1/problems/replay-unavailable-rollout.json",
171
170
  "fixtures/core-v1/problems/subscriber-unbound.json",
172
171
  "fixtures/core-v1/problems/resource-not-found.json",
173
172
  "fixtures/core-v1/problems/resource-expired.json",
@@ -305,7 +304,7 @@
305
304
  },
306
305
  {
307
306
  "id": "core-semantic-scenarios",
308
- "version": "2.5.0",
307
+ "version": "3.0.0",
309
308
  "schema": "schemas/core-scenario.schema.json",
310
309
  "fixtures": [
311
310
  "fixtures/core-v1/scenarios/project-create-equivalent-replay.json",
@@ -337,7 +336,7 @@
337
336
  },
338
337
  {
339
338
  "id": "interaction-message-api-bodies",
340
- "version": "2.5.0",
339
+ "version": "3.0.0",
341
340
  "schema": "schemas/whooshbang-v1.schema.json",
342
341
  "fixtures": [
343
342
  "fixtures/interaction-machine-v1/requests/create-message-confirm.json",
@@ -349,7 +348,7 @@
349
348
  },
350
349
  {
351
350
  "id": "interaction-contract-bodies",
352
- "version": "2.5.0",
351
+ "version": "3.0.0",
353
352
  "schema": "schemas/interaction-v1.schema.json",
354
353
  "fixtures": [
355
354
  "fixtures/interaction-machine-v1/success/interaction-open.json",
@@ -366,7 +365,7 @@
366
365
  },
367
366
  {
368
367
  "id": "machine-api-bodies",
369
- "version": "2.5.0",
368
+ "version": "3.0.0",
370
369
  "schema": "schemas/machine-v1.schema.json",
371
370
  "fixtures": [
372
371
  "fixtures/interaction-machine-v1/requests/create-machine-client.json",
@@ -387,13 +386,13 @@
387
386
  },
388
387
  {
389
388
  "id": "provider-capability-bodies",
390
- "version": "2.5.0",
389
+ "version": "3.0.0",
391
390
  "schema": "schemas/provider-capabilities-v1.schema.json",
392
391
  "fixtures": ["fixtures/interaction-machine-v1/capabilities/telegram.json"]
393
392
  },
394
393
  {
395
394
  "id": "interaction-machine-semantic-scenarios",
396
- "version": "2.5.0",
395
+ "version": "3.0.0",
397
396
  "schema": "schemas/interaction-machine-scenario.schema.json",
398
397
  "fixtures": [
399
398
  "fixtures/interaction-machine-v1/scenarios/interaction-duplicate.json",
@@ -430,7 +429,7 @@
430
429
  },
431
430
  {
432
431
  "id": "customer-event-bodies",
433
- "version": "2.5.0",
432
+ "version": "3.0.0",
434
433
  "schema": "schemas/events/whooshbang-event-v1.schema.json",
435
434
  "fixtures": [
436
435
  "fixtures/whooshbang-events-v1/events/subscription-activated.json",
@@ -448,19 +447,19 @@
448
447
  },
449
448
  {
450
449
  "id": "webhook-signing-vectors",
451
- "version": "2.5.0",
450
+ "version": "3.0.0",
452
451
  "schema": "schemas/webhooks/webhook-signing-vector-v1.schema.json",
453
452
  "fixtures": ["fixtures/whooshbang-events-v1/signing/vectors.json"]
454
453
  },
455
454
  {
456
455
  "id": "webhook-delivery-cases",
457
- "version": "2.5.0",
456
+ "version": "3.0.0",
458
457
  "schema": "schemas/webhooks/webhook-delivery-case-v1.schema.json",
459
458
  "fixtures": ["fixtures/whooshbang-events-v1/delivery/cases.json"]
460
459
  },
461
460
  {
462
461
  "id": "core-fixture-index",
463
- "version": "2.5.0",
462
+ "version": "3.0.0",
464
463
  "schema": "schemas/fixture-index.schema.json",
465
464
  "fixtures": ["fixtures/core-v1/fixture-index.json"]
466
465
  }
@@ -5,142 +5,142 @@
5
5
  export declare const contractManifest: {
6
6
  readonly schema: "flowxo.contract-manifest.v1";
7
7
  readonly artifact: "@whooshbang/contracts";
8
- readonly version: "2.5.0";
8
+ readonly version: "3.0.0";
9
9
  readonly openapi: [{
10
10
  readonly id: "whooshbang-rest-v1";
11
- readonly version: "2.5.0";
11
+ readonly version: "3.0.0";
12
12
  readonly path: "openapi/whooshbang-v1.yaml";
13
13
  }];
14
14
  readonly schemas: [{
15
15
  readonly id: "whooshbang-v1";
16
- readonly version: "2.5.0";
16
+ readonly version: "3.0.0";
17
17
  readonly path: "schemas/whooshbang-v1.schema.json";
18
18
  }, {
19
19
  readonly id: "interaction-v1";
20
- readonly version: "2.5.0";
20
+ readonly version: "3.0.0";
21
21
  readonly path: "schemas/interaction-v1.schema.json";
22
22
  }, {
23
23
  readonly id: "machine-v1";
24
- readonly version: "2.5.0";
24
+ readonly version: "3.0.0";
25
25
  readonly path: "schemas/machine-v1.schema.json";
26
26
  }, {
27
27
  readonly id: "provider-capabilities-v1";
28
- readonly version: "2.5.0";
28
+ readonly version: "3.0.0";
29
29
  readonly path: "schemas/provider-capabilities-v1.schema.json";
30
30
  }, {
31
31
  readonly id: "whooshbang-event-v1";
32
- readonly version: "2.5.0";
32
+ readonly version: "3.0.0";
33
33
  readonly path: "schemas/events/whooshbang-event-v1.schema.json";
34
34
  }, {
35
35
  readonly id: "subscription-activated-event-v1";
36
- readonly version: "2.5.0";
36
+ readonly version: "3.0.0";
37
37
  readonly path: "schemas/events/subscription-activated-v1.schema.json";
38
38
  }, {
39
39
  readonly id: "subscription-revoked-event-v1";
40
- readonly version: "2.5.0";
40
+ readonly version: "3.0.0";
41
41
  readonly path: "schemas/events/subscription-revoked-v1.schema.json";
42
42
  }, {
43
43
  readonly id: "message-provider-accepted-event-v1";
44
- readonly version: "2.5.0";
44
+ readonly version: "3.0.0";
45
45
  readonly path: "schemas/events/message-provider-accepted-v1.schema.json";
46
46
  }, {
47
47
  readonly id: "message-delivered-event-v1";
48
- readonly version: "2.5.0";
48
+ readonly version: "3.0.0";
49
49
  readonly path: "schemas/events/message-delivered-v1.schema.json";
50
50
  }, {
51
51
  readonly id: "message-failed-event-v1";
52
- readonly version: "2.5.0";
52
+ readonly version: "3.0.0";
53
53
  readonly path: "schemas/events/message-failed-v1.schema.json";
54
54
  }, {
55
55
  readonly id: "message-expired-event-v1";
56
- readonly version: "2.5.0";
56
+ readonly version: "3.0.0";
57
57
  readonly path: "schemas/events/message-expired-v1.schema.json";
58
58
  }, {
59
59
  readonly id: "interaction-received-event-v1";
60
- readonly version: "2.5.0";
60
+ readonly version: "3.0.0";
61
61
  readonly path: "schemas/events/interaction-received-v1.schema.json";
62
62
  }, {
63
63
  readonly id: "interaction-expired-event-v1";
64
- readonly version: "2.5.0";
64
+ readonly version: "3.0.0";
65
65
  readonly path: "schemas/events/interaction-expired-v1.schema.json";
66
66
  }, {
67
67
  readonly id: "agent-binding-degraded-event-v1";
68
- readonly version: "2.5.0";
68
+ readonly version: "3.0.0";
69
69
  readonly path: "schemas/events/agent-binding-degraded-v1.schema.json";
70
70
  }, {
71
71
  readonly id: "webhook-signing-vector-v1";
72
- readonly version: "2.5.0";
72
+ readonly version: "3.0.0";
73
73
  readonly path: "schemas/webhooks/webhook-signing-vector-v1.schema.json";
74
74
  }, {
75
75
  readonly id: "webhook-delivery-case-v1";
76
- readonly version: "2.5.0";
76
+ readonly version: "3.0.0";
77
77
  readonly path: "schemas/webhooks/webhook-delivery-case-v1.schema.json";
78
78
  }, {
79
79
  readonly id: "interaction-machine-scenario";
80
- readonly version: "2.5.0";
80
+ readonly version: "3.0.0";
81
81
  readonly path: "schemas/interaction-machine-scenario.schema.json";
82
82
  }, {
83
83
  readonly id: "core-contract-scenario";
84
- readonly version: "2.5.0";
84
+ readonly version: "3.0.0";
85
85
  readonly path: "schemas/core-scenario.schema.json";
86
86
  }, {
87
87
  readonly id: "core-fixture-index";
88
- readonly version: "2.5.0";
88
+ readonly version: "3.0.0";
89
89
  readonly path: "schemas/fixture-index.schema.json";
90
90
  }];
91
91
  readonly fixture_sets: [{
92
92
  readonly id: "core-api-bodies";
93
- readonly version: "2.5.0";
93
+ readonly version: "3.0.0";
94
94
  readonly schema: "schemas/whooshbang-v1.schema.json";
95
- readonly fixtures: ["fixtures/core-v1/requests/create-project.json", "fixtures/core-v1/requests/update-project.json", "fixtures/core-v1/success/organization-projection.json", "fixtures/core-v1/success/project-created.json", "fixtures/core-v1/success/project-collection.json", "fixtures/core-v1/requests/create-api-credential.json", "fixtures/core-v1/requests/rotate-api-credential.json", "fixtures/core-v1/success/api-credential-collection.json", "fixtures/core-v1/success/api-credential-created.json", "fixtures/core-v1/success/api-credential-rotated.json", "fixtures/core-v1/success/api-credential-revoked.json", "fixtures/core-v1/requests/create-organization-credential.json", "fixtures/core-v1/requests/rotate-organization-credential.json", "fixtures/core-v1/success/organization-credential-collection.json", "fixtures/core-v1/success/organization-credential-created.json", "fixtures/core-v1/success/organization-credential-rotated.json", "fixtures/core-v1/success/organization-credential-revoked.json", "fixtures/core-v1/problems/credential-organization-mismatch.json", "fixtures/core-v1/requests/create-customer-endpoint.json", "fixtures/core-v1/requests/rotate-customer-endpoint.json", "fixtures/core-v1/success/customer-endpoint-created.json", "fixtures/core-v1/success/customer-endpoint-create-replayed.json", "fixtures/core-v1/success/customer-endpoint-rotated.json", "fixtures/core-v1/success/customer-endpoint-collection.json", "fixtures/core-v1/success/customer-endpoint-attempts.json", "fixtures/core-v1/requests/create-subscription-link.json", "fixtures/core-v1/requests/create-subscription-link-email.json", "fixtures/core-v1/requests/create-message.json", "fixtures/core-v1/requests/create-message-structured.json", "fixtures/core-v1/requests/create-message-image.json", "fixtures/core-v1/requests/create-message-document-image.json", "fixtures/core-v1/requests/create-message-connection.json", "fixtures/core-v1/success/subscription-link-pending.json", "fixtures/core-v1/success/subscription-link-email-pending.json", "fixtures/core-v1/success/subscription-link-activated.json", "fixtures/core-v1/success/subscription-link-paused.json", "fixtures/core-v1/success/subscription-link-revoked.json", "fixtures/core-v1/success/subscription-link-cancelled.json", "fixtures/core-v1/success/message-accepted.json", "fixtures/core-v1/success/notification-image-asset-created.json", "fixtures/core-v1/success/message-provider-accepted.json", "fixtures/core-v1/success/message-outcome-unknown.json", "fixtures/core-v1/success/message-cancelled.json", "fixtures/core-v1/success/message-cancellation-too-late.json", "fixtures/core-v1/problems/authentication-required.json", "fixtures/core-v1/problems/auth-invalid.json", "fixtures/core-v1/problems/scope-forbidden.json", "fixtures/core-v1/problems/environment-mismatch.json", "fixtures/core-v1/problems/idempotency-key-required.json", "fixtures/core-v1/problems/idempotency-conflict.json", "fixtures/core-v1/problems/project-slug-conflict.json", "fixtures/core-v1/problems/request-invalid.json", "fixtures/core-v1/problems/live-simulator-refused.json", "fixtures/core-v1/problems/replay-unavailable-not-terminal.json", "fixtures/core-v1/problems/replay-unavailable-payload.json", "fixtures/core-v1/problems/replay-unavailable-rollout.json", "fixtures/core-v1/problems/subscriber-unbound.json", "fixtures/core-v1/problems/resource-not-found.json", "fixtures/core-v1/problems/resource-expired.json", "fixtures/core-v1/problems/cancellation-too-late.json", "fixtures/core-v1/problems/endpoint-rotation-conflict.json", "fixtures/core-v1/problems/rate-limited.json", "fixtures/core-v1/problems/provider-retryable.json", "fixtures/core-v1/problems/provider-terminal.json", "fixtures/core-v1/problems/provider-destination-suppressed.json", "fixtures/core-v1/problems/provider-hard-bounce.json", "fixtures/core-v1/problems/provider-outcome-unknown.json", "fixtures/core-v1/problems/internal-error.json", "fixtures/core-v1/requests/create-channel-connection.json", "fixtures/core-v1/requests/create-channel-connection-byok.json", "fixtures/core-v1/requests/create-channel-connection-managed.json", "fixtures/core-v1/requests/update-channel-connection.json", "fixtures/core-v1/requests/rotate-channel-connection-credential.json", "fixtures/core-v1/requests/rotate-channel-connection-managed.json", "fixtures/core-v1/requests/attach-notifier-connection.json", "fixtures/core-v1/success/connection-provider-collection.json", "fixtures/core-v1/success/channel-connection-collection.json", "fixtures/core-v1/success/channel-connection-created.json", "fixtures/core-v1/success/channel-connection-byok-created.json", "fixtures/core-v1/success/channel-connection-managed-pending.json", "fixtures/core-v1/success/channel-connection-managed-setup-failed.json", "fixtures/core-v1/success/channel-connection-slack-hosted-pending.json", "fixtures/core-v1/success/channel-connection-slack-hosted-active.json", "fixtures/core-v1/success/channel-connection-email-shared.json", "fixtures/core-v1/success/channel-connection-email-customer.json", "fixtures/core-v1/success/channel-connection-email-customer-test.json", "fixtures/core-v1/success/provider-installation-email-collection.json", "fixtures/core-v1/success/email-domain-collection.json", "fixtures/core-v1/requests/create-email-domain.json", "fixtures/core-v1/requests/create-email-binding-import.json", "fixtures/core-v1/success/email-binding-import-job.json", "fixtures/core-v1/success/channel-connection-slack-hosted-failed.json", "fixtures/core-v1/success/channel-connection-slack-customer-pending.json", "fixtures/core-v1/success/channel-connection-slack-customer-active.json", "fixtures/core-v1/success/channel-connection-setup-restarted.json", "fixtures/core-v1/success/channel-connection-repaired.json", "fixtures/core-v1/success/channel-connection-credential-rotated.json", "fixtures/core-v1/success/channel-connection-managed-rotated.json", "fixtures/core-v1/success/channel-connection-health-checked.json", "fixtures/core-v1/success/channel-connection-archived.json", "fixtures/core-v1/success/channel-connection-purged.json", "fixtures/core-v1/requests/create-connection-test.json", "fixtures/core-v1/requests/create-connection-test-subscriber-message.json", "fixtures/core-v1/success/connection-test-pending.json", "fixtures/core-v1/success/connection-test-succeeded.json", "fixtures/core-v1/success/connection-test-collection.json", "fixtures/core-v1/success/connection-test-subscriber-message.json", "fixtures/core-v1/success/usage-report.json", "fixtures/core-v1/success/customer-owned-slack-app-manifest.json", "fixtures/core-v1/success/notifier-connection-collection.json", "fixtures/core-v1/problems/recipient-configuration-invalid.json", "fixtures/core-v1/problems/recipient-origin-forbidden.json", "fixtures/core-v1/problems/return-destination-not-found.json", "fixtures/core-v1/problems/recipient-capability-invalid.json", "fixtures/core-v1/problems/recipient-handoff-invalid.json", "fixtures/core-v1/problems/preferred-binding-conflict.json", "fixtures/core-v1/problems/preferred-binding-unavailable.json", "fixtures/core-v1/problems/subscriber-not-connected.json", "fixtures/core-v1/problems/subscriber-conflict.json", "fixtures/core-v1/problems/subscriber-group-conflict.json", "fixtures/core-v1/problems/subscriber-group-archived.json", "fixtures/recipient-experience-v1/requests/update-project-recipient-experience.json", "fixtures/recipient-experience-v1/requests/update-environment-recipient-experience.json", "fixtures/recipient-experience-v1/requests/create-recipient-session.json", "fixtures/recipient-experience-v1/requests/create-provider-handoff.json", "fixtures/recipient-experience-v1/requests/set-preferred-binding.json", "fixtures/recipient-experience-v1/requests/create-subscriber-with-groups.json", "fixtures/recipient-experience-v1/requests/update-subscriber.json", "fixtures/recipient-experience-v1/requests/create-subscriber-group.json", "fixtures/recipient-experience-v1/requests/create-group-broadcast.json", "fixtures/recipient-experience-v1/success/project-recipient-experience.json", "fixtures/recipient-experience-v1/success/environment-recipient-experience.json", "fixtures/recipient-experience-v1/success/recipient-session-created.json", "fixtures/recipient-experience-v1/success/recipient-session.json", "fixtures/recipient-experience-v1/success/provider-handoff.json", "fixtures/recipient-experience-v1/success/recipient-handoff-completion.json", "fixtures/recipient-experience-v1/success/preferred-binding.json", "fixtures/recipient-experience-v1/success/subscriber-created.json", "fixtures/recipient-experience-v1/success/subscriber-updated.json", "fixtures/recipient-experience-v1/success/subscriber-collection.json", "fixtures/recipient-experience-v1/success/subscriber-group.json", "fixtures/recipient-experience-v1/success/subscriber-group-membership.json", "fixtures/recipient-experience-v1/success/subscriber-group-members.json", "fixtures/recipient-experience-v1/success/group-broadcast-accepted.json", "fixtures/recipient-experience-v1/success/group-broadcast-complete.json", "fixtures/recipient-experience-v1/success/broadcast-child-message.json", "fixtures/core-v1/requests/assert-email-consent.json", "fixtures/core-v1/requests/assert-email-service.json", "fixtures/core-v1/success/email-consent-asserted.json", "fixtures/core-v1/success/message-list-entry.json", "fixtures/core-v1/success/message-list-page.json", "fixtures/core-v1/success/message-delivery-timeline-entry.json", "fixtures/core-v1/success/retained-message-content.json", "fixtures/core-v1/success/message-delivery-history.json", "fixtures/core-v1/success/message-delivery-history-purged.json", "fixtures/core-v1/success/interaction-timeline-entry.json", "fixtures/core-v1/success/interaction-timeline.json", "fixtures/core-v1/success/customer-event-delivery-attempt.json", "fixtures/core-v1/success/customer-event-delivery-history.json", "fixtures/core-v1/success/delivery-holds.json", "fixtures/core-v1/success/machine-client-operations.json", "fixtures/core-v1/success/machine-client-operations-list.json", "fixtures/core-v1/success/recipient-copy-catalogue.json", "fixtures/core-v1/success/message-notification-image.json", "fixtures/core-v1/requests/update-email-sender.json", "fixtures/core-v1/requests/create-slack-subscription-link.json", "fixtures/core-v1/requests/create-connection-test-rich.json", "fixtures/core-v1/problems/slack-connection-required.json", "fixtures/core-v1/requests/create-message-markdown.json", "fixtures/core-v1/success/billing-account.json", "fixtures/core-v1/success/billing-entitlements.json", "fixtures/core-v1/success/project-attribution.json", "fixtures/core-v1/requests/update-project-attribution.json", "fixtures/core-v1/success/billing-project-slots.json", "fixtures/core-v1/requests/assign-billing-project-slots.json", "fixtures/core-v1/success/billing-promotions.json", "fixtures/core-v1/requests/redeem-billing-promotion.json", "fixtures/core-v1/success/billing-promotion.json", "fixtures/core-v1/success/auto-top-up-settings.json", "fixtures/core-v1/requests/update-auto-top-up-settings.json", "fixtures/core-v1/requests/confirm-subscription-change.json", "fixtures/core-v1/success/subscription-change.json", "fixtures/core-v1/requests/create-subscription-change.json", "fixtures/core-v1/success/card-setup.json", "fixtures/core-v1/success/reconcile-card-setup.json", "fixtures/core-v1/requests/create-credit-purchase.json", "fixtures/core-v1/success/credit-purchase.json", "fixtures/core-v1/success/billing-invoices.json", "fixtures/core-v1/requests/update-billing-receipt-email.json"];
95
+ readonly fixtures: ["fixtures/core-v1/requests/create-project.json", "fixtures/core-v1/requests/update-project.json", "fixtures/core-v1/success/organization-projection.json", "fixtures/core-v1/success/project-created.json", "fixtures/core-v1/success/project-collection.json", "fixtures/core-v1/requests/create-api-credential.json", "fixtures/core-v1/requests/rotate-api-credential.json", "fixtures/core-v1/success/api-credential-collection.json", "fixtures/core-v1/success/api-credential-created.json", "fixtures/core-v1/success/api-credential-rotated.json", "fixtures/core-v1/success/api-credential-revoked.json", "fixtures/core-v1/requests/create-organization-credential.json", "fixtures/core-v1/requests/rotate-organization-credential.json", "fixtures/core-v1/success/organization-credential-collection.json", "fixtures/core-v1/success/organization-credential-created.json", "fixtures/core-v1/success/organization-credential-rotated.json", "fixtures/core-v1/success/organization-credential-revoked.json", "fixtures/core-v1/problems/credential-organization-mismatch.json", "fixtures/core-v1/requests/create-customer-endpoint.json", "fixtures/core-v1/requests/rotate-customer-endpoint.json", "fixtures/core-v1/success/customer-endpoint-created.json", "fixtures/core-v1/success/customer-endpoint-create-replayed.json", "fixtures/core-v1/success/customer-endpoint-rotated.json", "fixtures/core-v1/success/customer-endpoint-collection.json", "fixtures/core-v1/success/customer-endpoint-attempts.json", "fixtures/core-v1/requests/create-subscription-link.json", "fixtures/core-v1/requests/create-subscription-link-email.json", "fixtures/core-v1/requests/create-message.json", "fixtures/core-v1/requests/create-message-structured.json", "fixtures/core-v1/requests/create-message-image.json", "fixtures/core-v1/requests/create-message-document-image.json", "fixtures/core-v1/requests/create-message-connection.json", "fixtures/core-v1/success/subscription-link-pending.json", "fixtures/core-v1/success/subscription-link-email-pending.json", "fixtures/core-v1/success/subscription-link-activated.json", "fixtures/core-v1/success/subscription-link-paused.json", "fixtures/core-v1/success/subscription-link-revoked.json", "fixtures/core-v1/success/subscription-link-cancelled.json", "fixtures/core-v1/success/message-accepted.json", "fixtures/core-v1/success/notification-image-asset-created.json", "fixtures/core-v1/success/message-provider-accepted.json", "fixtures/core-v1/success/message-outcome-unknown.json", "fixtures/core-v1/success/message-cancelled.json", "fixtures/core-v1/success/message-cancellation-too-late.json", "fixtures/core-v1/problems/authentication-required.json", "fixtures/core-v1/problems/auth-invalid.json", "fixtures/core-v1/problems/scope-forbidden.json", "fixtures/core-v1/problems/environment-mismatch.json", "fixtures/core-v1/problems/idempotency-key-required.json", "fixtures/core-v1/problems/idempotency-conflict.json", "fixtures/core-v1/problems/project-slug-conflict.json", "fixtures/core-v1/problems/request-invalid.json", "fixtures/core-v1/problems/live-simulator-refused.json", "fixtures/core-v1/problems/replay-unavailable-not-terminal.json", "fixtures/core-v1/problems/replay-unavailable-payload.json", "fixtures/core-v1/problems/subscriber-unbound.json", "fixtures/core-v1/problems/resource-not-found.json", "fixtures/core-v1/problems/resource-expired.json", "fixtures/core-v1/problems/cancellation-too-late.json", "fixtures/core-v1/problems/endpoint-rotation-conflict.json", "fixtures/core-v1/problems/rate-limited.json", "fixtures/core-v1/problems/provider-retryable.json", "fixtures/core-v1/problems/provider-terminal.json", "fixtures/core-v1/problems/provider-destination-suppressed.json", "fixtures/core-v1/problems/provider-hard-bounce.json", "fixtures/core-v1/problems/provider-outcome-unknown.json", "fixtures/core-v1/problems/internal-error.json", "fixtures/core-v1/requests/create-channel-connection.json", "fixtures/core-v1/requests/create-channel-connection-byok.json", "fixtures/core-v1/requests/create-channel-connection-managed.json", "fixtures/core-v1/requests/update-channel-connection.json", "fixtures/core-v1/requests/rotate-channel-connection-credential.json", "fixtures/core-v1/requests/rotate-channel-connection-managed.json", "fixtures/core-v1/requests/attach-notifier-connection.json", "fixtures/core-v1/success/connection-provider-collection.json", "fixtures/core-v1/success/channel-connection-collection.json", "fixtures/core-v1/success/channel-connection-created.json", "fixtures/core-v1/success/channel-connection-byok-created.json", "fixtures/core-v1/success/channel-connection-managed-pending.json", "fixtures/core-v1/success/channel-connection-managed-setup-failed.json", "fixtures/core-v1/success/channel-connection-slack-hosted-pending.json", "fixtures/core-v1/success/channel-connection-slack-hosted-active.json", "fixtures/core-v1/success/channel-connection-email-shared.json", "fixtures/core-v1/success/channel-connection-email-customer.json", "fixtures/core-v1/success/channel-connection-email-customer-test.json", "fixtures/core-v1/success/provider-installation-email-collection.json", "fixtures/core-v1/success/email-domain-collection.json", "fixtures/core-v1/requests/create-email-domain.json", "fixtures/core-v1/requests/create-email-binding-import.json", "fixtures/core-v1/success/email-binding-import-job.json", "fixtures/core-v1/success/channel-connection-slack-hosted-failed.json", "fixtures/core-v1/success/channel-connection-slack-customer-pending.json", "fixtures/core-v1/success/channel-connection-slack-customer-active.json", "fixtures/core-v1/success/channel-connection-setup-restarted.json", "fixtures/core-v1/success/channel-connection-repaired.json", "fixtures/core-v1/success/channel-connection-credential-rotated.json", "fixtures/core-v1/success/channel-connection-managed-rotated.json", "fixtures/core-v1/success/channel-connection-health-checked.json", "fixtures/core-v1/success/channel-connection-archived.json", "fixtures/core-v1/success/channel-connection-purged.json", "fixtures/core-v1/requests/create-connection-test.json", "fixtures/core-v1/requests/create-connection-test-subscriber-message.json", "fixtures/core-v1/success/connection-test-pending.json", "fixtures/core-v1/success/connection-test-succeeded.json", "fixtures/core-v1/success/connection-test-collection.json", "fixtures/core-v1/success/connection-test-subscriber-message.json", "fixtures/core-v1/success/usage-report.json", "fixtures/core-v1/success/customer-owned-slack-app-manifest.json", "fixtures/core-v1/success/notifier-connection-collection.json", "fixtures/core-v1/problems/recipient-configuration-invalid.json", "fixtures/core-v1/problems/recipient-origin-forbidden.json", "fixtures/core-v1/problems/return-destination-not-found.json", "fixtures/core-v1/problems/recipient-capability-invalid.json", "fixtures/core-v1/problems/recipient-handoff-invalid.json", "fixtures/core-v1/problems/preferred-binding-conflict.json", "fixtures/core-v1/problems/preferred-binding-unavailable.json", "fixtures/core-v1/problems/subscriber-not-connected.json", "fixtures/core-v1/problems/subscriber-conflict.json", "fixtures/core-v1/problems/subscriber-group-conflict.json", "fixtures/core-v1/problems/subscriber-group-archived.json", "fixtures/recipient-experience-v1/requests/update-project-recipient-experience.json", "fixtures/recipient-experience-v1/requests/update-environment-recipient-experience.json", "fixtures/recipient-experience-v1/requests/create-recipient-session.json", "fixtures/recipient-experience-v1/requests/create-provider-handoff.json", "fixtures/recipient-experience-v1/requests/set-preferred-binding.json", "fixtures/recipient-experience-v1/requests/create-subscriber-with-groups.json", "fixtures/recipient-experience-v1/requests/update-subscriber.json", "fixtures/recipient-experience-v1/requests/create-subscriber-group.json", "fixtures/recipient-experience-v1/requests/create-group-broadcast.json", "fixtures/recipient-experience-v1/success/project-recipient-experience.json", "fixtures/recipient-experience-v1/success/environment-recipient-experience.json", "fixtures/recipient-experience-v1/success/recipient-session-created.json", "fixtures/recipient-experience-v1/success/recipient-session.json", "fixtures/recipient-experience-v1/success/provider-handoff.json", "fixtures/recipient-experience-v1/success/recipient-handoff-completion.json", "fixtures/recipient-experience-v1/success/preferred-binding.json", "fixtures/recipient-experience-v1/success/subscriber-created.json", "fixtures/recipient-experience-v1/success/subscriber-updated.json", "fixtures/recipient-experience-v1/success/subscriber-collection.json", "fixtures/recipient-experience-v1/success/subscriber-group.json", "fixtures/recipient-experience-v1/success/subscriber-group-membership.json", "fixtures/recipient-experience-v1/success/subscriber-group-members.json", "fixtures/recipient-experience-v1/success/group-broadcast-accepted.json", "fixtures/recipient-experience-v1/success/group-broadcast-complete.json", "fixtures/recipient-experience-v1/success/broadcast-child-message.json", "fixtures/core-v1/requests/assert-email-consent.json", "fixtures/core-v1/requests/assert-email-service.json", "fixtures/core-v1/success/email-consent-asserted.json", "fixtures/core-v1/success/message-list-entry.json", "fixtures/core-v1/success/message-list-page.json", "fixtures/core-v1/success/message-delivery-timeline-entry.json", "fixtures/core-v1/success/retained-message-content.json", "fixtures/core-v1/success/message-delivery-history.json", "fixtures/core-v1/success/message-delivery-history-purged.json", "fixtures/core-v1/success/interaction-timeline-entry.json", "fixtures/core-v1/success/interaction-timeline.json", "fixtures/core-v1/success/customer-event-delivery-attempt.json", "fixtures/core-v1/success/customer-event-delivery-history.json", "fixtures/core-v1/success/delivery-holds.json", "fixtures/core-v1/success/machine-client-operations.json", "fixtures/core-v1/success/machine-client-operations-list.json", "fixtures/core-v1/success/recipient-copy-catalogue.json", "fixtures/core-v1/success/message-notification-image.json", "fixtures/core-v1/requests/update-email-sender.json", "fixtures/core-v1/requests/create-slack-subscription-link.json", "fixtures/core-v1/requests/create-connection-test-rich.json", "fixtures/core-v1/problems/slack-connection-required.json", "fixtures/core-v1/requests/create-message-markdown.json", "fixtures/core-v1/success/billing-account.json", "fixtures/core-v1/success/billing-entitlements.json", "fixtures/core-v1/success/project-attribution.json", "fixtures/core-v1/requests/update-project-attribution.json", "fixtures/core-v1/success/billing-project-slots.json", "fixtures/core-v1/requests/assign-billing-project-slots.json", "fixtures/core-v1/success/billing-promotions.json", "fixtures/core-v1/requests/redeem-billing-promotion.json", "fixtures/core-v1/success/billing-promotion.json", "fixtures/core-v1/success/auto-top-up-settings.json", "fixtures/core-v1/requests/update-auto-top-up-settings.json", "fixtures/core-v1/requests/confirm-subscription-change.json", "fixtures/core-v1/success/subscription-change.json", "fixtures/core-v1/requests/create-subscription-change.json", "fixtures/core-v1/success/card-setup.json", "fixtures/core-v1/success/reconcile-card-setup.json", "fixtures/core-v1/requests/create-credit-purchase.json", "fixtures/core-v1/success/credit-purchase.json", "fixtures/core-v1/success/billing-invoices.json", "fixtures/core-v1/requests/update-billing-receipt-email.json"];
96
96
  }, {
97
97
  readonly id: "core-semantic-scenarios";
98
- readonly version: "2.5.0";
98
+ readonly version: "3.0.0";
99
99
  readonly schema: "schemas/core-scenario.schema.json";
100
100
  readonly fixtures: ["fixtures/core-v1/scenarios/project-create-equivalent-replay.json", "fixtures/core-v1/scenarios/project-slug-conflict.json", "fixtures/core-v1/scenarios/cross-organization-project.json", "fixtures/core-v1/scenarios/api-credential-one-time-reveal.json", "fixtures/core-v1/scenarios/api-credential-rotation-overlap.json", "fixtures/core-v1/scenarios/api-credential-revocation-replay.json", "fixtures/core-v1/scenarios/api-credential-invalid-indistinguishable.json", "fixtures/core-v1/scenarios/idempotency-equivalent-replay.json", "fixtures/core-v1/scenarios/idempotency-conflict.json", "fixtures/core-v1/scenarios/cross-project-resource.json", "fixtures/core-v1/scenarios/environment-mismatch.json", "fixtures/core-v1/scenarios/missing-scope.json", "fixtures/core-v1/scenarios/malformed-bearer.json", "fixtures/core-v1/scenarios/subscription-activation-replay.json", "fixtures/core-v1/scenarios/subscription-authorization-capability-opacity.json", "fixtures/core-v1/scenarios/subscription-cross-connection-callback-rejected.json", "fixtures/core-v1/scenarios/subscription-selected-connection-replay.json", "fixtures/core-v1/scenarios/subscription-expired-replay.json", "fixtures/core-v1/scenarios/provider-outcome-unknown.json", "fixtures/core-v1/scenarios/cancellation-too-late.json", "fixtures/core-v1/scenarios/metadata-overrun.json", "fixtures/recipient-experience-v1/scenarios/recipient-session-security.json", "fixtures/recipient-experience-v1/scenarios/preferred-binding-resolution.json", "fixtures/recipient-experience-v1/scenarios/subscriber-initial-groups-transaction.json", "fixtures/recipient-experience-v1/scenarios/membership-broadcast-snapshot.json"];
101
101
  }, {
102
102
  readonly id: "interaction-message-api-bodies";
103
- readonly version: "2.5.0";
103
+ readonly version: "3.0.0";
104
104
  readonly schema: "schemas/whooshbang-v1.schema.json";
105
105
  readonly fixtures: ["fixtures/interaction-machine-v1/requests/create-message-confirm.json", "fixtures/interaction-machine-v1/requests/create-message-select.json", "fixtures/interaction-machine-v1/requests/create-message-input.json", "fixtures/interaction-machine-v1/success/message-interaction-open.json", "fixtures/interaction-machine-v1/capabilities/providers.json"];
106
106
  }, {
107
107
  readonly id: "interaction-contract-bodies";
108
- readonly version: "2.5.0";
108
+ readonly version: "3.0.0";
109
109
  readonly schema: "schemas/interaction-v1.schema.json";
110
110
  readonly fixtures: ["fixtures/interaction-machine-v1/success/interaction-open.json", "fixtures/interaction-machine-v1/success/interaction-answered-confirm.json", "fixtures/interaction-machine-v1/success/interaction-answered-select.json", "fixtures/interaction-machine-v1/success/interaction-answered-input.json", "fixtures/interaction-machine-v1/success/interaction-answered-redacted.json", "fixtures/interaction-machine-v1/events/confirm-answered.json", "fixtures/interaction-machine-v1/events/select-answered.json", "fixtures/interaction-machine-v1/events/input-answered.json", "fixtures/interaction-machine-v1/events/input-redacted.json", "fixtures/interaction-machine-v1/tokens/callback-token.json"];
111
111
  }, {
112
112
  readonly id: "machine-api-bodies";
113
- readonly version: "2.5.0";
113
+ readonly version: "3.0.0";
114
114
  readonly schema: "schemas/machine-v1.schema.json";
115
115
  readonly fixtures: ["fixtures/interaction-machine-v1/requests/create-machine-client.json", "fixtures/interaction-machine-v1/requests/register-machine-credential.json", "fixtures/interaction-machine-v1/requests/ack-processed.json", "fixtures/interaction-machine-v1/requests/ack-quarantined.json", "fixtures/interaction-machine-v1/success/machine-client-provisioning.json", "fixtures/interaction-machine-v1/success/machine-client-active.json", "fixtures/interaction-machine-v1/success/machine-client-revoked.json", "fixtures/interaction-machine-v1/success/machine-credential-active.json", "fixtures/interaction-machine-v1/success/machine-credential-revoked.json", "fixtures/interaction-machine-v1/success/poll-events.json", "fixtures/interaction-machine-v1/success/poll-empty.json", "fixtures/interaction-machine-v1/success/ack-processed.json", "fixtures/interaction-machine-v1/success/ack-out-of-order.json", "fixtures/interaction-machine-v1/success/ack-quarantined.json"];
116
116
  }, {
117
117
  readonly id: "provider-capability-bodies";
118
- readonly version: "2.5.0";
118
+ readonly version: "3.0.0";
119
119
  readonly schema: "schemas/provider-capabilities-v1.schema.json";
120
120
  readonly fixtures: ["fixtures/interaction-machine-v1/capabilities/telegram.json"];
121
121
  }, {
122
122
  readonly id: "interaction-machine-semantic-scenarios";
123
- readonly version: "2.5.0";
123
+ readonly version: "3.0.0";
124
124
  readonly schema: "schemas/interaction-machine-scenario.schema.json";
125
125
  readonly fixtures: ["fixtures/interaction-machine-v1/scenarios/interaction-duplicate.json", "fixtures/interaction-machine-v1/scenarios/interaction-stale.json", "fixtures/interaction-machine-v1/scenarios/interaction-expired.json", "fixtures/interaction-machine-v1/scenarios/interaction-retired.json", "fixtures/interaction-machine-v1/scenarios/interaction-mismatch.json", "fixtures/interaction-machine-v1/scenarios/ambiguous-free-text.json", "fixtures/interaction-machine-v1/scenarios/callback-token-opacity.json", "fixtures/interaction-machine-v1/scenarios/credential-registration-replay.json", "fixtures/interaction-machine-v1/scenarios/credential-registration-conflict.json", "fixtures/interaction-machine-v1/scenarios/first-credential-activates.json", "fixtures/interaction-machine-v1/scenarios/credential-revocation-replay.json", "fixtures/interaction-machine-v1/scenarios/credential-rotation.json", "fixtures/interaction-machine-v1/scenarios/machine-crash-before-ack.json", "fixtures/interaction-machine-v1/scenarios/poll-uncommitted-cursor-rejected.json", "fixtures/interaction-machine-v1/scenarios/ack-out-of-order.json", "fixtures/interaction-machine-v1/scenarios/ack-replay.json", "fixtures/interaction-machine-v1/scenarios/ack-conflict.json", "fixtures/interaction-machine-v1/scenarios/ack-cross-machine.json", "fixtures/interaction-machine-v1/scenarios/quarantine-valid.json", "fixtures/interaction-machine-v1/scenarios/quarantine-integrity-rejected.json", "fixtures/interaction-machine-v1/scenarios/quarantine-signature-rejected.json", "fixtures/interaction-machine-v1/scenarios/machine-bound-message-create.json", "fixtures/interaction-machine-v1/scenarios/machine-owned-message-read.json", "fixtures/interaction-machine-v1/scenarios/machine-subscriber-mismatch.json", "fixtures/interaction-machine-v1/scenarios/machine-notifier-mismatch.json", "fixtures/interaction-machine-v1/scenarios/machine-other-message-read.json", "fixtures/interaction-machine-v1/scenarios/machine-cancel-denied.json", "fixtures/interaction-machine-v1/scenarios/machine-admin-denied.json", "fixtures/interaction-machine-v1/scenarios/revoked-machine-credential.json", "fixtures/interaction-machine-v1/scenarios/project-credential-machine-endpoint-denied.json"];
126
126
  }, {
127
127
  readonly id: "customer-event-bodies";
128
- readonly version: "2.5.0";
128
+ readonly version: "3.0.0";
129
129
  readonly schema: "schemas/events/whooshbang-event-v1.schema.json";
130
130
  readonly fixtures: ["fixtures/whooshbang-events-v1/events/subscription-activated.json", "fixtures/whooshbang-events-v1/events/subscription-revoked.json", "fixtures/whooshbang-events-v1/events/message-provider-accepted.json", "fixtures/whooshbang-events-v1/events/message-delivered.json", "fixtures/whooshbang-events-v1/events/message-failed.json", "fixtures/whooshbang-events-v1/events/message-expired.json", "fixtures/whooshbang-events-v1/events/interaction-received.json", "fixtures/whooshbang-events-v1/events/interaction-expired.json", "fixtures/whooshbang-events-v1/events/agent-binding-degraded.json", "fixtures/whooshbang-events-v1/events/subscription-asserted.json", "fixtures/whooshbang-events-v1/events/subscription-asserted-revoked.json"];
131
131
  }, {
132
132
  readonly id: "webhook-signing-vectors";
133
- readonly version: "2.5.0";
133
+ readonly version: "3.0.0";
134
134
  readonly schema: "schemas/webhooks/webhook-signing-vector-v1.schema.json";
135
135
  readonly fixtures: ["fixtures/whooshbang-events-v1/signing/vectors.json"];
136
136
  }, {
137
137
  readonly id: "webhook-delivery-cases";
138
- readonly version: "2.5.0";
138
+ readonly version: "3.0.0";
139
139
  readonly schema: "schemas/webhooks/webhook-delivery-case-v1.schema.json";
140
140
  readonly fixtures: ["fixtures/whooshbang-events-v1/delivery/cases.json"];
141
141
  }, {
142
142
  readonly id: "core-fixture-index";
143
- readonly version: "2.5.0";
143
+ readonly version: "3.0.0";
144
144
  readonly schema: "schemas/fixture-index.schema.json";
145
145
  readonly fixtures: ["fixtures/core-v1/fixture-index.json"];
146
146
  }];
@@ -202,4 +202,4 @@ export declare const contractManifest: {
202
202
  readonly status: "release-candidate";
203
203
  };
204
204
  };
205
- export declare const contractVersion: "2.5.0";
205
+ export declare const contractVersion: "3.0.0";