@whooshbang/contracts 1.0.0-rc.13

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 (229) hide show
  1. package/CHANGELOG.md +198 -0
  2. package/LICENSE +21 -0
  3. package/README.md +120 -0
  4. package/contract-manifest.json +390 -0
  5. package/dist/base64url.d.ts +2 -0
  6. package/dist/base64url.js +51 -0
  7. package/dist/base64url.js.map +1 -0
  8. package/dist/generated/artifact-index.d.ts +205 -0
  9. package/dist/generated/artifact-index.js +396 -0
  10. package/dist/generated/artifact-index.js.map +1 -0
  11. package/dist/generated/contract-manifest.d.ts +66 -0
  12. package/dist/generated/contract-manifest.js +6 -0
  13. package/dist/generated/contract-manifest.js.map +1 -0
  14. package/dist/generated/core-scenario.d.ts +18 -0
  15. package/dist/generated/core-scenario.js +6 -0
  16. package/dist/generated/core-scenario.js.map +1 -0
  17. package/dist/generated/fixture-index.d.ts +33 -0
  18. package/dist/generated/fixture-index.js +6 -0
  19. package/dist/generated/fixture-index.js.map +1 -0
  20. package/dist/generated/interaction-machine-scenario.d.ts +263 -0
  21. package/dist/generated/interaction-machine-scenario.js +6 -0
  22. package/dist/generated/interaction-machine-scenario.js.map +1 -0
  23. package/dist/generated/interaction-v1.d.ts +152 -0
  24. package/dist/generated/interaction-v1.js +6 -0
  25. package/dist/generated/interaction-v1.js.map +1 -0
  26. package/dist/generated/machine-v1.d.ts +169 -0
  27. package/dist/generated/machine-v1.js +6 -0
  28. package/dist/generated/machine-v1.js.map +1 -0
  29. package/dist/generated/provider-capabilities-v1.d.ts +78 -0
  30. package/dist/generated/provider-capabilities-v1.js +6 -0
  31. package/dist/generated/provider-capabilities-v1.js.map +1 -0
  32. package/dist/generated/validators-standalone.d.ts +659 -0
  33. package/dist/generated/validators-standalone.js +47800 -0
  34. package/dist/generated/validators-standalone.js.map +1 -0
  35. package/dist/generated/validators.d.ts +74 -0
  36. package/dist/generated/validators.js +493 -0
  37. package/dist/generated/validators.js.map +1 -0
  38. package/dist/generated/webhook-delivery-case-v1.d.ts +91 -0
  39. package/dist/generated/webhook-delivery-case-v1.js +6 -0
  40. package/dist/generated/webhook-delivery-case-v1.js.map +1 -0
  41. package/dist/generated/webhook-signing-vector-v1.d.ts +88 -0
  42. package/dist/generated/webhook-signing-vector-v1.js +6 -0
  43. package/dist/generated/webhook-signing-vector-v1.js.map +1 -0
  44. package/dist/generated/whooshbang-event-v1.d.ts +191 -0
  45. package/dist/generated/whooshbang-event-v1.js +6 -0
  46. package/dist/generated/whooshbang-event-v1.js.map +1 -0
  47. package/dist/generated/whooshbang-v1.d.ts +1162 -0
  48. package/dist/generated/whooshbang-v1.js +6 -0
  49. package/dist/generated/whooshbang-v1.js.map +1 -0
  50. package/dist/index.d.ts +20 -0
  51. package/dist/index.js +7 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/machine-credential.d.ts +31 -0
  54. package/dist/machine-credential.js +78 -0
  55. package/dist/machine-credential.js.map +1 -0
  56. package/dist/webhook-consumer.d.ts +50 -0
  57. package/dist/webhook-consumer.js +71 -0
  58. package/dist/webhook-consumer.js.map +1 -0
  59. package/dist/webhook-delivery.d.ts +46 -0
  60. package/dist/webhook-delivery.js +126 -0
  61. package/dist/webhook-delivery.js.map +1 -0
  62. package/dist/webhook-signature.d.ts +36 -0
  63. package/dist/webhook-signature.js +255 -0
  64. package/dist/webhook-signature.js.map +1 -0
  65. package/examples/python/verify_webhook.py +283 -0
  66. package/fixtures/.gitkeep +1 -0
  67. package/fixtures/core-v1/fixture-index.json +963 -0
  68. package/fixtures/core-v1/problems/auth-invalid.json +9 -0
  69. package/fixtures/core-v1/problems/authentication-required.json +9 -0
  70. package/fixtures/core-v1/problems/cancellation-too-late.json +9 -0
  71. package/fixtures/core-v1/problems/endpoint-rotation-conflict.json +10 -0
  72. package/fixtures/core-v1/problems/environment-mismatch.json +9 -0
  73. package/fixtures/core-v1/problems/idempotency-conflict.json +9 -0
  74. package/fixtures/core-v1/problems/idempotency-key-required.json +9 -0
  75. package/fixtures/core-v1/problems/project-slug-conflict.json +16 -0
  76. package/fixtures/core-v1/problems/provider-outcome-unknown.json +9 -0
  77. package/fixtures/core-v1/problems/provider-retryable.json +10 -0
  78. package/fixtures/core-v1/problems/provider-terminal.json +9 -0
  79. package/fixtures/core-v1/problems/rate-limited.json +10 -0
  80. package/fixtures/core-v1/problems/replay-unavailable-not-terminal.json +16 -0
  81. package/fixtures/core-v1/problems/replay-unavailable-payload.json +16 -0
  82. package/fixtures/core-v1/problems/replay-unavailable-rollout.json +16 -0
  83. package/fixtures/core-v1/problems/request-invalid.json +16 -0
  84. package/fixtures/core-v1/problems/resource-expired.json +9 -0
  85. package/fixtures/core-v1/problems/resource-not-found.json +9 -0
  86. package/fixtures/core-v1/problems/scope-forbidden.json +9 -0
  87. package/fixtures/core-v1/problems/subscriber-unbound.json +9 -0
  88. package/fixtures/core-v1/requests/create-api-credential.json +9 -0
  89. package/fixtures/core-v1/requests/create-customer-endpoint.json +5 -0
  90. package/fixtures/core-v1/requests/create-message.json +15 -0
  91. package/fixtures/core-v1/requests/create-project.json +4 -0
  92. package/fixtures/core-v1/requests/create-subscription-link.json +5 -0
  93. package/fixtures/core-v1/requests/rotate-api-credential.json +3 -0
  94. package/fixtures/core-v1/requests/rotate-customer-endpoint.json +3 -0
  95. package/fixtures/core-v1/scenarios/api-credential-invalid-indistinguishable.json +14 -0
  96. package/fixtures/core-v1/scenarios/api-credential-one-time-reveal.json +21 -0
  97. package/fixtures/core-v1/scenarios/api-credential-revocation-replay.json +17 -0
  98. package/fixtures/core-v1/scenarios/api-credential-rotation-overlap.json +18 -0
  99. package/fixtures/core-v1/scenarios/cancellation-too-late.json +15 -0
  100. package/fixtures/core-v1/scenarios/cross-account-project.json +14 -0
  101. package/fixtures/core-v1/scenarios/cross-project-resource.json +17 -0
  102. package/fixtures/core-v1/scenarios/environment-mismatch.json +17 -0
  103. package/fixtures/core-v1/scenarios/idempotency-conflict.json +35 -0
  104. package/fixtures/core-v1/scenarios/idempotency-equivalent-replay.json +27 -0
  105. package/fixtures/core-v1/scenarios/malformed-bearer.json +14 -0
  106. package/fixtures/core-v1/scenarios/metadata-overrun.json +14 -0
  107. package/fixtures/core-v1/scenarios/missing-scope.json +15 -0
  108. package/fixtures/core-v1/scenarios/project-create-equivalent-replay.json +26 -0
  109. package/fixtures/core-v1/scenarios/project-slug-conflict.json +21 -0
  110. package/fixtures/core-v1/scenarios/provider-outcome-unknown.json +15 -0
  111. package/fixtures/core-v1/scenarios/subscription-activation-replay.json +18 -0
  112. package/fixtures/core-v1/scenarios/subscription-expired-replay.json +16 -0
  113. package/fixtures/core-v1/success/account-projection.json +11 -0
  114. package/fixtures/core-v1/success/api-credential-collection.json +22 -0
  115. package/fixtures/core-v1/success/api-credential-created.json +20 -0
  116. package/fixtures/core-v1/success/api-credential-revoked.json +19 -0
  117. package/fixtures/core-v1/success/api-credential-rotated.json +41 -0
  118. package/fixtures/core-v1/success/customer-endpoint-attempts.json +15 -0
  119. package/fixtures/core-v1/success/customer-endpoint-collection.json +26 -0
  120. package/fixtures/core-v1/success/customer-endpoint-create-replayed.json +16 -0
  121. package/fixtures/core-v1/success/customer-endpoint-created.json +17 -0
  122. package/fixtures/core-v1/success/customer-endpoint-rotated.json +21 -0
  123. package/fixtures/core-v1/success/message-accepted.json +30 -0
  124. package/fixtures/core-v1/success/message-cancellation-too-late.json +27 -0
  125. package/fixtures/core-v1/success/message-cancelled.json +27 -0
  126. package/fixtures/core-v1/success/message-outcome-unknown.json +33 -0
  127. package/fixtures/core-v1/success/message-provider-accepted.json +30 -0
  128. package/fixtures/core-v1/success/project-collection.json +42 -0
  129. package/fixtures/core-v1/success/project-created.json +38 -0
  130. package/fixtures/core-v1/success/subscription-link-activated.json +22 -0
  131. package/fixtures/core-v1/success/subscription-link-cancelled.json +14 -0
  132. package/fixtures/core-v1/success/subscription-link-paused.json +22 -0
  133. package/fixtures/core-v1/success/subscription-link-pending.json +14 -0
  134. package/fixtures/core-v1/success/subscription-link-revoked.json +22 -0
  135. package/fixtures/interaction-machine-v1/capabilities/providers.json +57 -0
  136. package/fixtures/interaction-machine-v1/capabilities/telegram.json +52 -0
  137. package/fixtures/interaction-machine-v1/events/confirm-answered.json +22 -0
  138. package/fixtures/interaction-machine-v1/events/input-answered.json +22 -0
  139. package/fixtures/interaction-machine-v1/events/input-redacted.json +18 -0
  140. package/fixtures/interaction-machine-v1/events/select-answered.json +22 -0
  141. package/fixtures/interaction-machine-v1/requests/ack-processed.json +5 -0
  142. package/fixtures/interaction-machine-v1/requests/ack-quarantined.json +5 -0
  143. package/fixtures/interaction-machine-v1/requests/create-machine-client.json +6 -0
  144. package/fixtures/interaction-machine-v1/requests/create-message-confirm.json +18 -0
  145. package/fixtures/interaction-machine-v1/requests/create-message-input.json +16 -0
  146. package/fixtures/interaction-machine-v1/requests/create-message-select.json +26 -0
  147. package/fixtures/interaction-machine-v1/requests/register-machine-credential.json +4 -0
  148. package/fixtures/interaction-machine-v1/scenarios/ack-conflict.json +14 -0
  149. package/fixtures/interaction-machine-v1/scenarios/ack-cross-machine.json +15 -0
  150. package/fixtures/interaction-machine-v1/scenarios/ack-out-of-order.json +15 -0
  151. package/fixtures/interaction-machine-v1/scenarios/ack-replay.json +17 -0
  152. package/fixtures/interaction-machine-v1/scenarios/ambiguous-free-text.json +15 -0
  153. package/fixtures/interaction-machine-v1/scenarios/callback-token-opacity.json +16 -0
  154. package/fixtures/interaction-machine-v1/scenarios/credential-registration-conflict.json +16 -0
  155. package/fixtures/interaction-machine-v1/scenarios/credential-registration-replay.json +15 -0
  156. package/fixtures/interaction-machine-v1/scenarios/credential-revocation-replay.json +14 -0
  157. package/fixtures/interaction-machine-v1/scenarios/credential-rotation.json +16 -0
  158. package/fixtures/interaction-machine-v1/scenarios/first-credential-activates.json +15 -0
  159. package/fixtures/interaction-machine-v1/scenarios/interaction-duplicate.json +16 -0
  160. package/fixtures/interaction-machine-v1/scenarios/interaction-expired.json +17 -0
  161. package/fixtures/interaction-machine-v1/scenarios/interaction-mismatch.json +16 -0
  162. package/fixtures/interaction-machine-v1/scenarios/interaction-retired.json +16 -0
  163. package/fixtures/interaction-machine-v1/scenarios/interaction-stale.json +16 -0
  164. package/fixtures/interaction-machine-v1/scenarios/machine-admin-denied.json +14 -0
  165. package/fixtures/interaction-machine-v1/scenarios/machine-bound-message-create.json +22 -0
  166. package/fixtures/interaction-machine-v1/scenarios/machine-cancel-denied.json +14 -0
  167. package/fixtures/interaction-machine-v1/scenarios/machine-crash-before-ack.json +16 -0
  168. package/fixtures/interaction-machine-v1/scenarios/machine-notifier-mismatch.json +14 -0
  169. package/fixtures/interaction-machine-v1/scenarios/machine-other-message-read.json +14 -0
  170. package/fixtures/interaction-machine-v1/scenarios/machine-owned-message-read.json +22 -0
  171. package/fixtures/interaction-machine-v1/scenarios/machine-subscriber-mismatch.json +14 -0
  172. package/fixtures/interaction-machine-v1/scenarios/poll-uncommitted-cursor-rejected.json +17 -0
  173. package/fixtures/interaction-machine-v1/scenarios/project-credential-machine-endpoint-denied.json +14 -0
  174. package/fixtures/interaction-machine-v1/scenarios/quarantine-integrity-rejected.json +15 -0
  175. package/fixtures/interaction-machine-v1/scenarios/quarantine-signature-rejected.json +16 -0
  176. package/fixtures/interaction-machine-v1/scenarios/quarantine-valid.json +15 -0
  177. package/fixtures/interaction-machine-v1/scenarios/revoked-machine-credential.json +15 -0
  178. package/fixtures/interaction-machine-v1/success/ack-out-of-order.json +8 -0
  179. package/fixtures/interaction-machine-v1/success/ack-processed.json +8 -0
  180. package/fixtures/interaction-machine-v1/success/ack-quarantined.json +9 -0
  181. package/fixtures/interaction-machine-v1/success/interaction-answered-confirm.json +10 -0
  182. package/fixtures/interaction-machine-v1/success/interaction-answered-input.json +10 -0
  183. package/fixtures/interaction-machine-v1/success/interaction-answered-redacted.json +8 -0
  184. package/fixtures/interaction-machine-v1/success/interaction-answered-select.json +10 -0
  185. package/fixtures/interaction-machine-v1/success/interaction-open.json +7 -0
  186. package/fixtures/interaction-machine-v1/success/machine-client-active.json +20 -0
  187. package/fixtures/interaction-machine-v1/success/machine-client-provisioning.json +19 -0
  188. package/fixtures/interaction-machine-v1/success/machine-client-revoked.json +21 -0
  189. package/fixtures/interaction-machine-v1/success/machine-credential-active.json +13 -0
  190. package/fixtures/interaction-machine-v1/success/machine-credential-revoked.json +14 -0
  191. package/fixtures/interaction-machine-v1/success/message-interaction-open.json +33 -0
  192. package/fixtures/interaction-machine-v1/success/poll-empty.json +6 -0
  193. package/fixtures/interaction-machine-v1/success/poll-events.json +51 -0
  194. package/fixtures/interaction-machine-v1/tokens/callback-token.json +1 -0
  195. package/fixtures/whooshbang-events-v1/delivery/cases.json +418 -0
  196. package/fixtures/whooshbang-events-v1/events/agent-binding-degraded.json +17 -0
  197. package/fixtures/whooshbang-events-v1/events/interaction-expired.json +16 -0
  198. package/fixtures/whooshbang-events-v1/events/interaction-received.json +23 -0
  199. package/fixtures/whooshbang-events-v1/events/message-delivered.json +16 -0
  200. package/fixtures/whooshbang-events-v1/events/message-expired.json +15 -0
  201. package/fixtures/whooshbang-events-v1/events/message-failed.json +17 -0
  202. package/fixtures/whooshbang-events-v1/events/message-provider-accepted.json +15 -0
  203. package/fixtures/whooshbang-events-v1/events/subscription-activated.json +18 -0
  204. package/fixtures/whooshbang-events-v1/events/subscription-revoked.json +18 -0
  205. package/fixtures/whooshbang-events-v1/signing/vectors.json +852 -0
  206. package/openapi/.gitkeep +1 -0
  207. package/openapi/generated/whooshbang-v1.bundle.json +5913 -0
  208. package/openapi/whooshbang-v1.yaml +2334 -0
  209. package/package.json +63 -0
  210. package/schemas/contract-manifest.schema.json +140 -0
  211. package/schemas/core-scenario.schema.json +38 -0
  212. package/schemas/events/agent-binding-degraded-v1.schema.json +8 -0
  213. package/schemas/events/interaction-expired-v1.schema.json +8 -0
  214. package/schemas/events/interaction-received-v1.schema.json +8 -0
  215. package/schemas/events/message-delivered-v1.schema.json +8 -0
  216. package/schemas/events/message-expired-v1.schema.json +8 -0
  217. package/schemas/events/message-failed-v1.schema.json +8 -0
  218. package/schemas/events/message-provider-accepted-v1.schema.json +8 -0
  219. package/schemas/events/subscription-activated-v1.schema.json +8 -0
  220. package/schemas/events/subscription-revoked-v1.schema.json +8 -0
  221. package/schemas/events/whooshbang-event-v1.schema.json +689 -0
  222. package/schemas/fixture-index.schema.json +67 -0
  223. package/schemas/interaction-machine-scenario.schema.json +700 -0
  224. package/schemas/interaction-v1.schema.json +483 -0
  225. package/schemas/machine-v1.schema.json +430 -0
  226. package/schemas/provider-capabilities-v1.schema.json +263 -0
  227. package/schemas/webhooks/webhook-delivery-case-v1.schema.json +167 -0
  228. package/schemas/webhooks/webhook-signing-vector-v1.schema.json +197 -0
  229. package/schemas/whooshbang-v1.schema.json +2173 -0
@@ -0,0 +1,963 @@
1
+ {
2
+ "contract_version": "1.0.0-rc.13",
3
+ "fixtures": [
4
+ {
5
+ "id": "create-project.request",
6
+ "kind": "request",
7
+ "path": "fixtures/core-v1/requests/create-project.json",
8
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CreateProjectRequest",
9
+ "operation_id": "createProject"
10
+ },
11
+ {
12
+ "id": "account-projection.success",
13
+ "kind": "success",
14
+ "path": "fixtures/core-v1/success/account-projection.json",
15
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/AccountProjection",
16
+ "operation_id": "getAccount",
17
+ "status_code": 200
18
+ },
19
+ {
20
+ "id": "project-created.success",
21
+ "kind": "success",
22
+ "path": "fixtures/core-v1/success/project-created.json",
23
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Project",
24
+ "operation_id": "createProject",
25
+ "status_code": 201
26
+ },
27
+ {
28
+ "id": "project-collection.success",
29
+ "kind": "success",
30
+ "path": "fixtures/core-v1/success/project-collection.json",
31
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/ProjectCollection",
32
+ "operation_id": "listProjects",
33
+ "status_code": 200
34
+ },
35
+ {
36
+ "id": "create-api-credential.request",
37
+ "kind": "request",
38
+ "path": "fixtures/core-v1/requests/create-api-credential.json",
39
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CreateApiCredentialRequest",
40
+ "operation_id": "createApiCredential"
41
+ },
42
+ {
43
+ "id": "rotate-api-credential.request",
44
+ "kind": "request",
45
+ "path": "fixtures/core-v1/requests/rotate-api-credential.json",
46
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/RotateApiCredentialRequest",
47
+ "operation_id": "rotateApiCredential"
48
+ },
49
+ {
50
+ "id": "api-credential-created.success",
51
+ "kind": "success",
52
+ "path": "fixtures/core-v1/success/api-credential-created.json",
53
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/ApiCredentialSecretReveal",
54
+ "operation_id": "createApiCredential",
55
+ "status_code": 201
56
+ },
57
+ {
58
+ "id": "api-credential-collection.success",
59
+ "kind": "success",
60
+ "path": "fixtures/core-v1/success/api-credential-collection.json",
61
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/ApiCredentialCollection",
62
+ "operation_id": "listApiCredentials",
63
+ "status_code": 200
64
+ },
65
+ {
66
+ "id": "api-credential-rotated.success",
67
+ "kind": "success",
68
+ "path": "fixtures/core-v1/success/api-credential-rotated.json",
69
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/ApiCredentialRotation",
70
+ "operation_id": "rotateApiCredential",
71
+ "status_code": 201
72
+ },
73
+ {
74
+ "id": "api-credential-revoked.success",
75
+ "kind": "success",
76
+ "path": "fixtures/core-v1/success/api-credential-revoked.json",
77
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/ApiCredential",
78
+ "operation_id": "revokeApiCredential",
79
+ "status_code": 200
80
+ },
81
+ {
82
+ "id": "create-customer-endpoint.request",
83
+ "kind": "request",
84
+ "path": "fixtures/core-v1/requests/create-customer-endpoint.json",
85
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CreateCustomerEndpointRequest",
86
+ "operation_id": "createCustomerEndpoint"
87
+ },
88
+ {
89
+ "id": "rotate-customer-endpoint.request",
90
+ "kind": "request",
91
+ "path": "fixtures/core-v1/requests/rotate-customer-endpoint.json",
92
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/RotateCustomerEndpointRequest",
93
+ "operation_id": "rotateCustomerEndpoint"
94
+ },
95
+ {
96
+ "id": "customer-endpoint-created.success",
97
+ "kind": "success",
98
+ "path": "fixtures/core-v1/success/customer-endpoint-created.json",
99
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CustomerEndpointMutationResult",
100
+ "operation_id": "createCustomerEndpoint",
101
+ "status_code": 201
102
+ },
103
+ {
104
+ "id": "customer-endpoint-create-replayed.success",
105
+ "kind": "success",
106
+ "path": "fixtures/core-v1/success/customer-endpoint-create-replayed.json",
107
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CustomerEndpointMutationResult",
108
+ "operation_id": "createCustomerEndpoint",
109
+ "status_code": 200
110
+ },
111
+ {
112
+ "id": "customer-endpoint-rotated.success",
113
+ "kind": "success",
114
+ "path": "fixtures/core-v1/success/customer-endpoint-rotated.json",
115
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CustomerEndpointMutationResult",
116
+ "operation_id": "rotateCustomerEndpoint",
117
+ "status_code": 201
118
+ },
119
+ {
120
+ "id": "customer-endpoint-collection.success",
121
+ "kind": "success",
122
+ "path": "fixtures/core-v1/success/customer-endpoint-collection.json",
123
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CustomerEndpointCollection",
124
+ "operation_id": "listCustomerEndpoints",
125
+ "status_code": 200
126
+ },
127
+ {
128
+ "id": "customer-endpoint-attempts.success",
129
+ "kind": "success",
130
+ "path": "fixtures/core-v1/success/customer-endpoint-attempts.json",
131
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CustomerEndpointAttemptCollection",
132
+ "operation_id": "listCustomerEndpointAttempts",
133
+ "status_code": 200
134
+ },
135
+ {
136
+ "id": "create-subscription-link.request",
137
+ "kind": "request",
138
+ "path": "fixtures/core-v1/requests/create-subscription-link.json",
139
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CreateSubscriptionLinkRequest",
140
+ "operation_id": "createSubscriptionLink"
141
+ },
142
+ {
143
+ "id": "create-message.request",
144
+ "kind": "request",
145
+ "path": "fixtures/core-v1/requests/create-message.json",
146
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CreateMessageRequest",
147
+ "operation_id": "createMessage"
148
+ },
149
+ {
150
+ "id": "subscription-link-pending.success",
151
+ "kind": "success",
152
+ "path": "fixtures/core-v1/success/subscription-link-pending.json",
153
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/SubscriptionLink",
154
+ "operation_id": "createSubscriptionLink",
155
+ "status_code": 201
156
+ },
157
+ {
158
+ "id": "subscription-link-activated.success",
159
+ "kind": "success",
160
+ "path": "fixtures/core-v1/success/subscription-link-activated.json",
161
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/SubscriptionLink",
162
+ "operation_id": "getSubscriptionLink",
163
+ "status_code": 200
164
+ },
165
+ {
166
+ "id": "subscription-link-paused.success",
167
+ "kind": "success",
168
+ "path": "fixtures/core-v1/success/subscription-link-paused.json",
169
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/SubscriptionLink",
170
+ "operation_id": "getSubscriptionLink",
171
+ "status_code": 200
172
+ },
173
+ {
174
+ "id": "subscription-link-revoked.success",
175
+ "kind": "success",
176
+ "path": "fixtures/core-v1/success/subscription-link-revoked.json",
177
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/SubscriptionLink",
178
+ "operation_id": "getSubscriptionLink",
179
+ "status_code": 200
180
+ },
181
+ {
182
+ "id": "subscription-link-cancelled.success",
183
+ "kind": "success",
184
+ "path": "fixtures/core-v1/success/subscription-link-cancelled.json",
185
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/SubscriptionLink",
186
+ "operation_id": "cancelSubscriptionLink",
187
+ "status_code": 200
188
+ },
189
+ {
190
+ "id": "message-accepted.success",
191
+ "kind": "success",
192
+ "path": "fixtures/core-v1/success/message-accepted.json",
193
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Message",
194
+ "operation_id": "createMessage",
195
+ "status_code": 202
196
+ },
197
+ {
198
+ "id": "message-provider-accepted.success",
199
+ "kind": "success",
200
+ "path": "fixtures/core-v1/success/message-provider-accepted.json",
201
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Message",
202
+ "operation_id": "getMessage",
203
+ "status_code": 200
204
+ },
205
+ {
206
+ "id": "message-outcome-unknown.success",
207
+ "kind": "success",
208
+ "path": "fixtures/core-v1/success/message-outcome-unknown.json",
209
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Message",
210
+ "operation_id": "getMessage",
211
+ "status_code": 200
212
+ },
213
+ {
214
+ "id": "message-cancelled.success",
215
+ "kind": "success",
216
+ "path": "fixtures/core-v1/success/message-cancelled.json",
217
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Message",
218
+ "operation_id": "cancelMessage",
219
+ "status_code": 200
220
+ },
221
+ {
222
+ "id": "message-cancellation-too-late.success",
223
+ "kind": "success",
224
+ "path": "fixtures/core-v1/success/message-cancellation-too-late.json",
225
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Message",
226
+ "operation_id": "cancelMessage",
227
+ "status_code": 200
228
+ },
229
+ {
230
+ "id": "authentication-required.problem",
231
+ "kind": "problem",
232
+ "path": "fixtures/core-v1/problems/authentication-required.json",
233
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
234
+ "status_code": 401,
235
+ "problem_code": "authentication_required"
236
+ },
237
+ {
238
+ "id": "credential-invalid.problem",
239
+ "kind": "problem",
240
+ "path": "fixtures/core-v1/problems/auth-invalid.json",
241
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
242
+ "status_code": 401,
243
+ "problem_code": "credential_invalid"
244
+ },
245
+ {
246
+ "id": "scope-forbidden.problem",
247
+ "kind": "problem",
248
+ "path": "fixtures/core-v1/problems/scope-forbidden.json",
249
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
250
+ "status_code": 403,
251
+ "problem_code": "scope_forbidden"
252
+ },
253
+ {
254
+ "id": "environment-mismatch.problem",
255
+ "kind": "problem",
256
+ "path": "fixtures/core-v1/problems/environment-mismatch.json",
257
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
258
+ "status_code": 403,
259
+ "problem_code": "environment_mismatch"
260
+ },
261
+ {
262
+ "id": "idempotency-key-required.problem",
263
+ "kind": "problem",
264
+ "path": "fixtures/core-v1/problems/idempotency-key-required.json",
265
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
266
+ "status_code": 400,
267
+ "problem_code": "idempotency_key_required"
268
+ },
269
+ {
270
+ "id": "idempotency-conflict.problem",
271
+ "kind": "problem",
272
+ "path": "fixtures/core-v1/problems/idempotency-conflict.json",
273
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
274
+ "status_code": 409,
275
+ "problem_code": "idempotency_conflict"
276
+ },
277
+ {
278
+ "id": "project-slug-conflict.problem",
279
+ "kind": "problem",
280
+ "path": "fixtures/core-v1/problems/project-slug-conflict.json",
281
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
282
+ "status_code": 409,
283
+ "problem_code": "project_slug_conflict"
284
+ },
285
+ {
286
+ "id": "request-invalid.problem",
287
+ "kind": "problem",
288
+ "path": "fixtures/core-v1/problems/request-invalid.json",
289
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
290
+ "status_code": 400,
291
+ "problem_code": "request_invalid"
292
+ },
293
+ {
294
+ "id": "replay-unavailable-not-terminal.problem",
295
+ "kind": "problem",
296
+ "path": "fixtures/core-v1/problems/replay-unavailable-not-terminal.json",
297
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
298
+ "status_code": 409,
299
+ "problem_code": "replay_unavailable"
300
+ },
301
+ {
302
+ "id": "replay-unavailable-payload.problem",
303
+ "kind": "problem",
304
+ "path": "fixtures/core-v1/problems/replay-unavailable-payload.json",
305
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
306
+ "status_code": 409,
307
+ "problem_code": "replay_unavailable"
308
+ },
309
+ {
310
+ "id": "replay-unavailable-rollout.problem",
311
+ "kind": "problem",
312
+ "path": "fixtures/core-v1/problems/replay-unavailable-rollout.json",
313
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
314
+ "status_code": 409,
315
+ "problem_code": "replay_unavailable"
316
+ },
317
+ {
318
+ "id": "subscriber-unbound.problem",
319
+ "kind": "problem",
320
+ "path": "fixtures/core-v1/problems/subscriber-unbound.json",
321
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
322
+ "status_code": 422,
323
+ "problem_code": "subscriber_unbound"
324
+ },
325
+ {
326
+ "id": "resource-not-found.problem",
327
+ "kind": "problem",
328
+ "path": "fixtures/core-v1/problems/resource-not-found.json",
329
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
330
+ "status_code": 404,
331
+ "problem_code": "resource_not_found"
332
+ },
333
+ {
334
+ "id": "resource-expired.problem",
335
+ "kind": "problem",
336
+ "path": "fixtures/core-v1/problems/resource-expired.json",
337
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
338
+ "status_code": 404,
339
+ "problem_code": "resource_expired"
340
+ },
341
+ {
342
+ "id": "cancellation-too-late.problem",
343
+ "kind": "problem",
344
+ "path": "fixtures/core-v1/problems/cancellation-too-late.json",
345
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
346
+ "status_code": 409,
347
+ "problem_code": "cancellation_too_late"
348
+ },
349
+ {
350
+ "id": "endpoint-rotation-conflict.problem",
351
+ "kind": "problem",
352
+ "path": "fixtures/core-v1/problems/endpoint-rotation-conflict.json",
353
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
354
+ "status_code": 409,
355
+ "problem_code": "endpoint_rotation_conflict"
356
+ },
357
+ {
358
+ "id": "rate-limited.problem",
359
+ "kind": "problem",
360
+ "path": "fixtures/core-v1/problems/rate-limited.json",
361
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
362
+ "status_code": 429,
363
+ "problem_code": "rate_limited"
364
+ },
365
+ {
366
+ "id": "provider-retryable.problem",
367
+ "kind": "problem",
368
+ "path": "fixtures/core-v1/problems/provider-retryable.json",
369
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
370
+ "status_code": 503,
371
+ "problem_code": "provider_retryable"
372
+ },
373
+ {
374
+ "id": "provider-terminal.problem",
375
+ "kind": "problem",
376
+ "path": "fixtures/core-v1/problems/provider-terminal.json",
377
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
378
+ "status_code": 502,
379
+ "problem_code": "provider_terminal"
380
+ },
381
+ {
382
+ "id": "provider-outcome-unknown.problem",
383
+ "kind": "problem",
384
+ "path": "fixtures/core-v1/problems/provider-outcome-unknown.json",
385
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Problem",
386
+ "status_code": 502,
387
+ "problem_code": "provider_outcome_unknown"
388
+ },
389
+ {
390
+ "id": "idempotency-equivalent-replay.scenario",
391
+ "kind": "scenario",
392
+ "path": "fixtures/core-v1/scenarios/idempotency-equivalent-replay.json",
393
+ "schema_ref": "schemas/core-scenario.schema.json"
394
+ },
395
+ {
396
+ "id": "project-create-equivalent-replay.scenario",
397
+ "kind": "scenario",
398
+ "path": "fixtures/core-v1/scenarios/project-create-equivalent-replay.json",
399
+ "schema_ref": "schemas/core-scenario.schema.json"
400
+ },
401
+ {
402
+ "id": "project-slug-conflict.scenario",
403
+ "kind": "scenario",
404
+ "path": "fixtures/core-v1/scenarios/project-slug-conflict.json",
405
+ "schema_ref": "schemas/core-scenario.schema.json"
406
+ },
407
+ {
408
+ "id": "cross-account-project.scenario",
409
+ "kind": "scenario",
410
+ "path": "fixtures/core-v1/scenarios/cross-account-project.json",
411
+ "schema_ref": "schemas/core-scenario.schema.json"
412
+ },
413
+ {
414
+ "id": "api-credential-one-time-reveal.scenario",
415
+ "kind": "scenario",
416
+ "path": "fixtures/core-v1/scenarios/api-credential-one-time-reveal.json",
417
+ "schema_ref": "schemas/core-scenario.schema.json"
418
+ },
419
+ {
420
+ "id": "api-credential-rotation-overlap.scenario",
421
+ "kind": "scenario",
422
+ "path": "fixtures/core-v1/scenarios/api-credential-rotation-overlap.json",
423
+ "schema_ref": "schemas/core-scenario.schema.json"
424
+ },
425
+ {
426
+ "id": "api-credential-revocation-replay.scenario",
427
+ "kind": "scenario",
428
+ "path": "fixtures/core-v1/scenarios/api-credential-revocation-replay.json",
429
+ "schema_ref": "schemas/core-scenario.schema.json"
430
+ },
431
+ {
432
+ "id": "api-credential-invalid-indistinguishable.scenario",
433
+ "kind": "scenario",
434
+ "path": "fixtures/core-v1/scenarios/api-credential-invalid-indistinguishable.json",
435
+ "schema_ref": "schemas/core-scenario.schema.json"
436
+ },
437
+ {
438
+ "id": "idempotency-conflict.scenario",
439
+ "kind": "scenario",
440
+ "path": "fixtures/core-v1/scenarios/idempotency-conflict.json",
441
+ "schema_ref": "schemas/core-scenario.schema.json"
442
+ },
443
+ {
444
+ "id": "cross-project-resource.scenario",
445
+ "kind": "scenario",
446
+ "path": "fixtures/core-v1/scenarios/cross-project-resource.json",
447
+ "schema_ref": "schemas/core-scenario.schema.json"
448
+ },
449
+ {
450
+ "id": "environment-mismatch.scenario",
451
+ "kind": "scenario",
452
+ "path": "fixtures/core-v1/scenarios/environment-mismatch.json",
453
+ "schema_ref": "schemas/core-scenario.schema.json"
454
+ },
455
+ {
456
+ "id": "missing-scope.scenario",
457
+ "kind": "scenario",
458
+ "path": "fixtures/core-v1/scenarios/missing-scope.json",
459
+ "schema_ref": "schemas/core-scenario.schema.json"
460
+ },
461
+ {
462
+ "id": "malformed-bearer.scenario",
463
+ "kind": "scenario",
464
+ "path": "fixtures/core-v1/scenarios/malformed-bearer.json",
465
+ "schema_ref": "schemas/core-scenario.schema.json"
466
+ },
467
+ {
468
+ "id": "subscription-activation-replay.scenario",
469
+ "kind": "scenario",
470
+ "path": "fixtures/core-v1/scenarios/subscription-activation-replay.json",
471
+ "schema_ref": "schemas/core-scenario.schema.json"
472
+ },
473
+ {
474
+ "id": "subscription-expired-replay.scenario",
475
+ "kind": "scenario",
476
+ "path": "fixtures/core-v1/scenarios/subscription-expired-replay.json",
477
+ "schema_ref": "schemas/core-scenario.schema.json"
478
+ },
479
+ {
480
+ "id": "provider-outcome-unknown.scenario",
481
+ "kind": "scenario",
482
+ "path": "fixtures/core-v1/scenarios/provider-outcome-unknown.json",
483
+ "schema_ref": "schemas/core-scenario.schema.json"
484
+ },
485
+ {
486
+ "id": "cancellation-too-late.scenario",
487
+ "kind": "scenario",
488
+ "path": "fixtures/core-v1/scenarios/cancellation-too-late.json",
489
+ "schema_ref": "schemas/core-scenario.schema.json"
490
+ },
491
+ {
492
+ "id": "metadata-overrun.scenario",
493
+ "kind": "scenario",
494
+ "path": "fixtures/core-v1/scenarios/metadata-overrun.json",
495
+ "schema_ref": "schemas/core-scenario.schema.json"
496
+ },
497
+ {
498
+ "id": "create-message-confirm.request",
499
+ "kind": "request",
500
+ "path": "fixtures/interaction-machine-v1/requests/create-message-confirm.json",
501
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CreateMessageRequest",
502
+ "operation_id": "createMessage"
503
+ },
504
+ {
505
+ "id": "create-message-select.request",
506
+ "kind": "request",
507
+ "path": "fixtures/interaction-machine-v1/requests/create-message-select.json",
508
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CreateMessageRequest",
509
+ "operation_id": "createMessage"
510
+ },
511
+ {
512
+ "id": "create-message-input.request",
513
+ "kind": "request",
514
+ "path": "fixtures/interaction-machine-v1/requests/create-message-input.json",
515
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/CreateMessageRequest",
516
+ "operation_id": "createMessage"
517
+ },
518
+ {
519
+ "id": "message-interaction-open.success",
520
+ "kind": "success",
521
+ "path": "fixtures/interaction-machine-v1/success/message-interaction-open.json",
522
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/Message",
523
+ "operation_id": "createMessage",
524
+ "status_code": 202
525
+ },
526
+ {
527
+ "id": "interaction-open.success",
528
+ "kind": "success",
529
+ "path": "fixtures/interaction-machine-v1/success/interaction-open.json",
530
+ "schema_ref": "schemas/interaction-v1.schema.json#/$defs/InteractionSummary",
531
+ "operation_id": "getInteraction",
532
+ "status_code": 200
533
+ },
534
+ {
535
+ "id": "interaction-answered-confirm.success",
536
+ "kind": "success",
537
+ "path": "fixtures/interaction-machine-v1/success/interaction-answered-confirm.json",
538
+ "schema_ref": "schemas/interaction-v1.schema.json#/$defs/InteractionSummary"
539
+ },
540
+ {
541
+ "id": "interaction-answered-select.success",
542
+ "kind": "success",
543
+ "path": "fixtures/interaction-machine-v1/success/interaction-answered-select.json",
544
+ "schema_ref": "schemas/interaction-v1.schema.json#/$defs/InteractionSummary",
545
+ "operation_id": "getInteraction",
546
+ "status_code": 200
547
+ },
548
+ {
549
+ "id": "interaction-answered-input.success",
550
+ "kind": "success",
551
+ "path": "fixtures/interaction-machine-v1/success/interaction-answered-input.json",
552
+ "schema_ref": "schemas/interaction-v1.schema.json#/$defs/InteractionSummary",
553
+ "operation_id": "getInteraction",
554
+ "status_code": 200
555
+ },
556
+ {
557
+ "id": "interaction-answered-redacted.success",
558
+ "kind": "success",
559
+ "path": "fixtures/interaction-machine-v1/success/interaction-answered-redacted.json",
560
+ "schema_ref": "schemas/interaction-v1.schema.json#/$defs/InteractionSummary"
561
+ },
562
+ {
563
+ "id": "interaction-confirm.event",
564
+ "kind": "event",
565
+ "path": "fixtures/interaction-machine-v1/events/confirm-answered.json",
566
+ "schema_ref": "schemas/interaction-v1.schema.json#/$defs/InteractionEvent"
567
+ },
568
+ {
569
+ "id": "interaction-select.event",
570
+ "kind": "event",
571
+ "path": "fixtures/interaction-machine-v1/events/select-answered.json",
572
+ "schema_ref": "schemas/interaction-v1.schema.json#/$defs/InteractionEvent"
573
+ },
574
+ {
575
+ "id": "interaction-input.event",
576
+ "kind": "event",
577
+ "path": "fixtures/interaction-machine-v1/events/input-answered.json",
578
+ "schema_ref": "schemas/interaction-v1.schema.json#/$defs/InteractionEvent"
579
+ },
580
+ {
581
+ "id": "interaction-input-redacted.event",
582
+ "kind": "event",
583
+ "path": "fixtures/interaction-machine-v1/events/input-redacted.json",
584
+ "schema_ref": "schemas/interaction-v1.schema.json#/$defs/InteractionEvent"
585
+ },
586
+ {
587
+ "id": "callback-token.success",
588
+ "kind": "success",
589
+ "path": "fixtures/interaction-machine-v1/tokens/callback-token.json",
590
+ "schema_ref": "schemas/interaction-v1.schema.json#/$defs/ProviderCallbackToken"
591
+ },
592
+ {
593
+ "id": "create-machine-client.request",
594
+ "kind": "request",
595
+ "path": "fixtures/interaction-machine-v1/requests/create-machine-client.json",
596
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/CreateMachineClientRequest",
597
+ "operation_id": "createMachineClient"
598
+ },
599
+ {
600
+ "id": "register-machine-credential.request",
601
+ "kind": "request",
602
+ "path": "fixtures/interaction-machine-v1/requests/register-machine-credential.json",
603
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/RegisterMachineCredentialRequest",
604
+ "operation_id": "registerMachineCredential"
605
+ },
606
+ {
607
+ "id": "ack-machine-event-processed.request",
608
+ "kind": "request",
609
+ "path": "fixtures/interaction-machine-v1/requests/ack-processed.json",
610
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineEventAckRequest",
611
+ "operation_id": "ackMachineEvent"
612
+ },
613
+ {
614
+ "id": "ack-machine-event-quarantined.request",
615
+ "kind": "request",
616
+ "path": "fixtures/interaction-machine-v1/requests/ack-quarantined.json",
617
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineEventAckRequest",
618
+ "operation_id": "ackMachineEvent"
619
+ },
620
+ {
621
+ "id": "machine-client-provisioning.success",
622
+ "kind": "success",
623
+ "path": "fixtures/interaction-machine-v1/success/machine-client-provisioning.json",
624
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineClient",
625
+ "operation_id": "createMachineClient",
626
+ "status_code": 201
627
+ },
628
+ {
629
+ "id": "machine-client-active.success",
630
+ "kind": "success",
631
+ "path": "fixtures/interaction-machine-v1/success/machine-client-active.json",
632
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineClient",
633
+ "operation_id": "getMachineClient",
634
+ "status_code": 200
635
+ },
636
+ {
637
+ "id": "machine-client-revoked.success",
638
+ "kind": "success",
639
+ "path": "fixtures/interaction-machine-v1/success/machine-client-revoked.json",
640
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineClient",
641
+ "operation_id": "revokeMachineClient",
642
+ "status_code": 200
643
+ },
644
+ {
645
+ "id": "machine-credential-active.success",
646
+ "kind": "success",
647
+ "path": "fixtures/interaction-machine-v1/success/machine-credential-active.json",
648
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineCredential",
649
+ "operation_id": "registerMachineCredential",
650
+ "status_code": 201
651
+ },
652
+ {
653
+ "id": "machine-credential-revoked.success",
654
+ "kind": "success",
655
+ "path": "fixtures/interaction-machine-v1/success/machine-credential-revoked.json",
656
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineCredential",
657
+ "operation_id": "revokeMachineCredential",
658
+ "status_code": 200
659
+ },
660
+ {
661
+ "id": "machine-poll-events.success",
662
+ "kind": "success",
663
+ "path": "fixtures/interaction-machine-v1/success/poll-events.json",
664
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineEventPollResponse",
665
+ "operation_id": "pollMachineEvents",
666
+ "status_code": 200
667
+ },
668
+ {
669
+ "id": "machine-poll-empty.success",
670
+ "kind": "success",
671
+ "path": "fixtures/interaction-machine-v1/success/poll-empty.json",
672
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineEventPollResponse",
673
+ "operation_id": "pollMachineEvents",
674
+ "status_code": 200
675
+ },
676
+ {
677
+ "id": "machine-ack-processed.success",
678
+ "kind": "success",
679
+ "path": "fixtures/interaction-machine-v1/success/ack-processed.json",
680
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineEventAckResponse",
681
+ "operation_id": "ackMachineEvent",
682
+ "status_code": 200
683
+ },
684
+ {
685
+ "id": "machine-ack-out-of-order.success",
686
+ "kind": "success",
687
+ "path": "fixtures/interaction-machine-v1/success/ack-out-of-order.json",
688
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineEventAckResponse",
689
+ "operation_id": "ackMachineEvent",
690
+ "status_code": 200
691
+ },
692
+ {
693
+ "id": "machine-ack-quarantined.success",
694
+ "kind": "success",
695
+ "path": "fixtures/interaction-machine-v1/success/ack-quarantined.json",
696
+ "schema_ref": "schemas/machine-v1.schema.json#/$defs/MachineEventAckResponse",
697
+ "operation_id": "ackMachineEvent",
698
+ "status_code": 200
699
+ },
700
+ {
701
+ "id": "telegram.capability",
702
+ "kind": "capability",
703
+ "path": "fixtures/interaction-machine-v1/capabilities/telegram.json",
704
+ "schema_ref": "schemas/provider-capabilities-v1.schema.json",
705
+ "operation_id": "getCapabilities",
706
+ "status_code": 200
707
+ },
708
+ {
709
+ "id": "providers.capability-collection",
710
+ "kind": "capability",
711
+ "path": "fixtures/interaction-machine-v1/capabilities/providers.json",
712
+ "schema_ref": "schemas/whooshbang-v1.schema.json#/$defs/ProviderCapabilitiesCollection",
713
+ "operation_id": "getCapabilities",
714
+ "status_code": 200
715
+ },
716
+ {
717
+ "id": "interaction-duplicate.scenario",
718
+ "kind": "scenario",
719
+ "path": "fixtures/interaction-machine-v1/scenarios/interaction-duplicate.json",
720
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
721
+ },
722
+ {
723
+ "id": "interaction-stale.scenario",
724
+ "kind": "scenario",
725
+ "path": "fixtures/interaction-machine-v1/scenarios/interaction-stale.json",
726
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
727
+ },
728
+ {
729
+ "id": "interaction-expired.scenario",
730
+ "kind": "scenario",
731
+ "path": "fixtures/interaction-machine-v1/scenarios/interaction-expired.json",
732
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
733
+ },
734
+ {
735
+ "id": "interaction-retired.scenario",
736
+ "kind": "scenario",
737
+ "path": "fixtures/interaction-machine-v1/scenarios/interaction-retired.json",
738
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
739
+ },
740
+ {
741
+ "id": "interaction-mismatch.scenario",
742
+ "kind": "scenario",
743
+ "path": "fixtures/interaction-machine-v1/scenarios/interaction-mismatch.json",
744
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
745
+ },
746
+ {
747
+ "id": "ambiguous-free-text.scenario",
748
+ "kind": "scenario",
749
+ "path": "fixtures/interaction-machine-v1/scenarios/ambiguous-free-text.json",
750
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
751
+ },
752
+ {
753
+ "id": "callback-token-opacity.scenario",
754
+ "kind": "scenario",
755
+ "path": "fixtures/interaction-machine-v1/scenarios/callback-token-opacity.json",
756
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
757
+ },
758
+ {
759
+ "id": "credential-registration-replay.scenario",
760
+ "kind": "scenario",
761
+ "path": "fixtures/interaction-machine-v1/scenarios/credential-registration-replay.json",
762
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
763
+ },
764
+ {
765
+ "id": "credential-registration-conflict.scenario",
766
+ "kind": "scenario",
767
+ "path": "fixtures/interaction-machine-v1/scenarios/credential-registration-conflict.json",
768
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
769
+ },
770
+ {
771
+ "id": "first-credential-activates.scenario",
772
+ "kind": "scenario",
773
+ "path": "fixtures/interaction-machine-v1/scenarios/first-credential-activates.json",
774
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
775
+ },
776
+ {
777
+ "id": "credential-revocation-replay.scenario",
778
+ "kind": "scenario",
779
+ "path": "fixtures/interaction-machine-v1/scenarios/credential-revocation-replay.json",
780
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
781
+ },
782
+ {
783
+ "id": "credential-rotation.scenario",
784
+ "kind": "scenario",
785
+ "path": "fixtures/interaction-machine-v1/scenarios/credential-rotation.json",
786
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
787
+ },
788
+ {
789
+ "id": "machine-crash-before-ack.scenario",
790
+ "kind": "scenario",
791
+ "path": "fixtures/interaction-machine-v1/scenarios/machine-crash-before-ack.json",
792
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
793
+ },
794
+ {
795
+ "id": "poll-uncommitted-cursor-rejected.scenario",
796
+ "kind": "scenario",
797
+ "path": "fixtures/interaction-machine-v1/scenarios/poll-uncommitted-cursor-rejected.json",
798
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
799
+ },
800
+ {
801
+ "id": "ack-out-of-order.scenario",
802
+ "kind": "scenario",
803
+ "path": "fixtures/interaction-machine-v1/scenarios/ack-out-of-order.json",
804
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
805
+ },
806
+ {
807
+ "id": "ack-replay.scenario",
808
+ "kind": "scenario",
809
+ "path": "fixtures/interaction-machine-v1/scenarios/ack-replay.json",
810
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
811
+ },
812
+ {
813
+ "id": "ack-conflict.scenario",
814
+ "kind": "scenario",
815
+ "path": "fixtures/interaction-machine-v1/scenarios/ack-conflict.json",
816
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
817
+ },
818
+ {
819
+ "id": "ack-cross-machine.scenario",
820
+ "kind": "scenario",
821
+ "path": "fixtures/interaction-machine-v1/scenarios/ack-cross-machine.json",
822
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
823
+ },
824
+ {
825
+ "id": "quarantine-valid.scenario",
826
+ "kind": "scenario",
827
+ "path": "fixtures/interaction-machine-v1/scenarios/quarantine-valid.json",
828
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
829
+ },
830
+ {
831
+ "id": "quarantine-integrity-rejected.scenario",
832
+ "kind": "scenario",
833
+ "path": "fixtures/interaction-machine-v1/scenarios/quarantine-integrity-rejected.json",
834
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
835
+ },
836
+ {
837
+ "id": "quarantine-signature-rejected.scenario",
838
+ "kind": "scenario",
839
+ "path": "fixtures/interaction-machine-v1/scenarios/quarantine-signature-rejected.json",
840
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
841
+ },
842
+ {
843
+ "id": "machine-bound-message-create.scenario",
844
+ "kind": "scenario",
845
+ "path": "fixtures/interaction-machine-v1/scenarios/machine-bound-message-create.json",
846
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
847
+ },
848
+ {
849
+ "id": "machine-owned-message-read.scenario",
850
+ "kind": "scenario",
851
+ "path": "fixtures/interaction-machine-v1/scenarios/machine-owned-message-read.json",
852
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
853
+ },
854
+ {
855
+ "id": "machine-subscriber-mismatch.scenario",
856
+ "kind": "scenario",
857
+ "path": "fixtures/interaction-machine-v1/scenarios/machine-subscriber-mismatch.json",
858
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
859
+ },
860
+ {
861
+ "id": "machine-notifier-mismatch.scenario",
862
+ "kind": "scenario",
863
+ "path": "fixtures/interaction-machine-v1/scenarios/machine-notifier-mismatch.json",
864
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
865
+ },
866
+ {
867
+ "id": "machine-other-message-read.scenario",
868
+ "kind": "scenario",
869
+ "path": "fixtures/interaction-machine-v1/scenarios/machine-other-message-read.json",
870
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
871
+ },
872
+ {
873
+ "id": "machine-cancel-denied.scenario",
874
+ "kind": "scenario",
875
+ "path": "fixtures/interaction-machine-v1/scenarios/machine-cancel-denied.json",
876
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
877
+ },
878
+ {
879
+ "id": "machine-admin-denied.scenario",
880
+ "kind": "scenario",
881
+ "path": "fixtures/interaction-machine-v1/scenarios/machine-admin-denied.json",
882
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
883
+ },
884
+ {
885
+ "id": "revoked-machine-credential.scenario",
886
+ "kind": "scenario",
887
+ "path": "fixtures/interaction-machine-v1/scenarios/revoked-machine-credential.json",
888
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
889
+ },
890
+ {
891
+ "id": "project-credential-machine-endpoint-denied.scenario",
892
+ "kind": "scenario",
893
+ "path": "fixtures/interaction-machine-v1/scenarios/project-credential-machine-endpoint-denied.json",
894
+ "schema_ref": "schemas/interaction-machine-scenario.schema.json"
895
+ },
896
+ {
897
+ "id": "subscription-activated.customer-event",
898
+ "kind": "event",
899
+ "path": "fixtures/whooshbang-events-v1/events/subscription-activated.json",
900
+ "schema_ref": "schemas/events/subscription-activated-v1.schema.json"
901
+ },
902
+ {
903
+ "id": "subscription-revoked.customer-event",
904
+ "kind": "event",
905
+ "path": "fixtures/whooshbang-events-v1/events/subscription-revoked.json",
906
+ "schema_ref": "schemas/events/subscription-revoked-v1.schema.json"
907
+ },
908
+ {
909
+ "id": "message-provider-accepted.customer-event",
910
+ "kind": "event",
911
+ "path": "fixtures/whooshbang-events-v1/events/message-provider-accepted.json",
912
+ "schema_ref": "schemas/events/message-provider-accepted-v1.schema.json"
913
+ },
914
+ {
915
+ "id": "message-delivered.customer-event",
916
+ "kind": "event",
917
+ "path": "fixtures/whooshbang-events-v1/events/message-delivered.json",
918
+ "schema_ref": "schemas/events/message-delivered-v1.schema.json"
919
+ },
920
+ {
921
+ "id": "message-failed.customer-event",
922
+ "kind": "event",
923
+ "path": "fixtures/whooshbang-events-v1/events/message-failed.json",
924
+ "schema_ref": "schemas/events/message-failed-v1.schema.json"
925
+ },
926
+ {
927
+ "id": "message-expired.customer-event",
928
+ "kind": "event",
929
+ "path": "fixtures/whooshbang-events-v1/events/message-expired.json",
930
+ "schema_ref": "schemas/events/message-expired-v1.schema.json"
931
+ },
932
+ {
933
+ "id": "interaction-received.customer-event",
934
+ "kind": "event",
935
+ "path": "fixtures/whooshbang-events-v1/events/interaction-received.json",
936
+ "schema_ref": "schemas/events/interaction-received-v1.schema.json"
937
+ },
938
+ {
939
+ "id": "interaction-expired.customer-event",
940
+ "kind": "event",
941
+ "path": "fixtures/whooshbang-events-v1/events/interaction-expired.json",
942
+ "schema_ref": "schemas/events/interaction-expired-v1.schema.json"
943
+ },
944
+ {
945
+ "id": "agent-binding-degraded.customer-event",
946
+ "kind": "event",
947
+ "path": "fixtures/whooshbang-events-v1/events/agent-binding-degraded.json",
948
+ "schema_ref": "schemas/events/agent-binding-degraded-v1.schema.json"
949
+ },
950
+ {
951
+ "id": "webhook-signing-vectors.v1",
952
+ "kind": "signing_vector",
953
+ "path": "fixtures/whooshbang-events-v1/signing/vectors.json",
954
+ "schema_ref": "schemas/webhooks/webhook-signing-vector-v1.schema.json"
955
+ },
956
+ {
957
+ "id": "webhook-delivery-cases.v1",
958
+ "kind": "delivery_case",
959
+ "path": "fixtures/whooshbang-events-v1/delivery/cases.json",
960
+ "schema_ref": "schemas/webhooks/webhook-delivery-case-v1.schema.json"
961
+ }
962
+ ]
963
+ }