@whooshbang/contracts 2.1.0 → 2.2.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 (85) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/contract-manifest.json +32 -32
  3. package/dist/generated/artifact-index.d.ts +33 -33
  4. package/dist/generated/artifact-index.js +32 -32
  5. package/dist/generated/validators-standalone.js +126 -12
  6. package/dist/generated/validators-standalone.js.map +1 -1
  7. package/dist/generated/whooshbang-v1.d.ts +4 -0
  8. package/fixtures/core-v1/fixture-index.json +1 -1
  9. package/fixtures/core-v1/scenarios/api-credential-invalid-indistinguishable.json +1 -1
  10. package/fixtures/core-v1/scenarios/api-credential-one-time-reveal.json +1 -1
  11. package/fixtures/core-v1/scenarios/api-credential-revocation-replay.json +1 -1
  12. package/fixtures/core-v1/scenarios/api-credential-rotation-overlap.json +1 -1
  13. package/fixtures/core-v1/scenarios/cancellation-too-late.json +1 -1
  14. package/fixtures/core-v1/scenarios/cross-organization-project.json +1 -1
  15. package/fixtures/core-v1/scenarios/cross-project-resource.json +1 -1
  16. package/fixtures/core-v1/scenarios/environment-mismatch.json +1 -1
  17. package/fixtures/core-v1/scenarios/idempotency-conflict.json +1 -1
  18. package/fixtures/core-v1/scenarios/idempotency-equivalent-replay.json +1 -1
  19. package/fixtures/core-v1/scenarios/malformed-bearer.json +1 -1
  20. package/fixtures/core-v1/scenarios/metadata-overrun.json +1 -1
  21. package/fixtures/core-v1/scenarios/missing-scope.json +1 -1
  22. package/fixtures/core-v1/scenarios/project-create-equivalent-replay.json +1 -1
  23. package/fixtures/core-v1/scenarios/project-slug-conflict.json +1 -1
  24. package/fixtures/core-v1/scenarios/provider-outcome-unknown.json +1 -1
  25. package/fixtures/core-v1/scenarios/subscription-activation-replay.json +1 -1
  26. package/fixtures/core-v1/scenarios/subscription-authorization-capability-opacity.json +1 -1
  27. package/fixtures/core-v1/scenarios/subscription-cross-connection-callback-rejected.json +1 -1
  28. package/fixtures/core-v1/scenarios/subscription-expired-replay.json +1 -1
  29. package/fixtures/core-v1/scenarios/subscription-selected-connection-replay.json +1 -1
  30. package/fixtures/interaction-machine-v1/scenarios/ack-conflict.json +1 -1
  31. package/fixtures/interaction-machine-v1/scenarios/ack-cross-machine.json +1 -1
  32. package/fixtures/interaction-machine-v1/scenarios/ack-out-of-order.json +1 -1
  33. package/fixtures/interaction-machine-v1/scenarios/ack-replay.json +1 -1
  34. package/fixtures/interaction-machine-v1/scenarios/ambiguous-free-text.json +1 -1
  35. package/fixtures/interaction-machine-v1/scenarios/callback-token-opacity.json +1 -1
  36. package/fixtures/interaction-machine-v1/scenarios/credential-registration-conflict.json +1 -1
  37. package/fixtures/interaction-machine-v1/scenarios/credential-registration-replay.json +1 -1
  38. package/fixtures/interaction-machine-v1/scenarios/credential-revocation-replay.json +1 -1
  39. package/fixtures/interaction-machine-v1/scenarios/credential-rotation.json +1 -1
  40. package/fixtures/interaction-machine-v1/scenarios/first-credential-activates.json +1 -1
  41. package/fixtures/interaction-machine-v1/scenarios/interaction-duplicate.json +1 -1
  42. package/fixtures/interaction-machine-v1/scenarios/interaction-expired.json +1 -1
  43. package/fixtures/interaction-machine-v1/scenarios/interaction-mismatch.json +1 -1
  44. package/fixtures/interaction-machine-v1/scenarios/interaction-retired.json +1 -1
  45. package/fixtures/interaction-machine-v1/scenarios/interaction-stale.json +1 -1
  46. package/fixtures/interaction-machine-v1/scenarios/machine-admin-denied.json +1 -1
  47. package/fixtures/interaction-machine-v1/scenarios/machine-bound-message-create.json +1 -1
  48. package/fixtures/interaction-machine-v1/scenarios/machine-cancel-denied.json +1 -1
  49. package/fixtures/interaction-machine-v1/scenarios/machine-crash-before-ack.json +1 -1
  50. package/fixtures/interaction-machine-v1/scenarios/machine-notifier-mismatch.json +1 -1
  51. package/fixtures/interaction-machine-v1/scenarios/machine-other-message-read.json +1 -1
  52. package/fixtures/interaction-machine-v1/scenarios/machine-owned-message-read.json +1 -1
  53. package/fixtures/interaction-machine-v1/scenarios/machine-subscriber-mismatch.json +1 -1
  54. package/fixtures/interaction-machine-v1/scenarios/poll-uncommitted-cursor-rejected.json +1 -1
  55. package/fixtures/interaction-machine-v1/scenarios/project-credential-machine-endpoint-denied.json +1 -1
  56. package/fixtures/interaction-machine-v1/scenarios/quarantine-integrity-rejected.json +1 -1
  57. package/fixtures/interaction-machine-v1/scenarios/quarantine-signature-rejected.json +1 -1
  58. package/fixtures/interaction-machine-v1/scenarios/quarantine-valid.json +1 -1
  59. package/fixtures/interaction-machine-v1/scenarios/revoked-machine-credential.json +1 -1
  60. package/fixtures/recipient-experience-v1/scenarios/membership-broadcast-snapshot.json +1 -1
  61. package/fixtures/recipient-experience-v1/scenarios/preferred-binding-resolution.json +1 -1
  62. package/fixtures/recipient-experience-v1/scenarios/recipient-session-security.json +1 -1
  63. package/fixtures/recipient-experience-v1/scenarios/subscriber-initial-groups-transaction.json +1 -1
  64. package/openapi/generated/whooshbang-v1.bundle.json +10 -4
  65. package/openapi/whooshbang-v1.yaml +2 -2
  66. package/package.json +1 -1
  67. package/schemas/core-scenario.schema.json +1 -1
  68. package/schemas/events/agent-binding-degraded-v1.schema.json +1 -1
  69. package/schemas/events/interaction-expired-v1.schema.json +1 -1
  70. package/schemas/events/interaction-received-v1.schema.json +1 -1
  71. package/schemas/events/message-delivered-v1.schema.json +1 -1
  72. package/schemas/events/message-expired-v1.schema.json +1 -1
  73. package/schemas/events/message-failed-v1.schema.json +1 -1
  74. package/schemas/events/message-provider-accepted-v1.schema.json +1 -1
  75. package/schemas/events/subscription-activated-v1.schema.json +1 -1
  76. package/schemas/events/subscription-revoked-v1.schema.json +1 -1
  77. package/schemas/events/whooshbang-event-v1.schema.json +1 -1
  78. package/schemas/fixture-index.schema.json +1 -1
  79. package/schemas/interaction-machine-scenario.schema.json +1 -1
  80. package/schemas/interaction-v1.schema.json +1 -1
  81. package/schemas/machine-v1.schema.json +1 -1
  82. package/schemas/provider-capabilities-v1.schema.json +1 -1
  83. package/schemas/webhooks/webhook-delivery-case-v1.schema.json +1 -1
  84. package/schemas/webhooks/webhook-signing-vector-v1.schema.json +1 -1
  85. package/schemas/whooshbang-v1.schema.json +7 -1
@@ -8240,6 +8240,10 @@ export interface Operator {
8240
8240
  readiness: "ready" | "channel_unavailable";
8241
8241
  preferred_channel?: Channel;
8242
8242
  preferences_url: string;
8243
+ /**
8244
+ * An actionable platform setup reason when the default shared email setup is missing, ambiguous or unavailable.
8245
+ */
8246
+ setup_reason?: string;
8243
8247
  }
8244
8248
  /**
8245
8249
  * Read-only predefined operators audience, filtered to current account and project membership.
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "fixtures": [
4
4
  {
5
5
  "id": "create-project.request",
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "api-credential-invalid-indistinguishable",
4
4
  "category": "credential_lifecycle",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "api-credential-one-time-reveal",
4
4
  "category": "credential_lifecycle",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "api-credential-revocation-replay",
4
4
  "category": "credential_lifecycle",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "api-credential-rotation-overlap",
4
4
  "category": "credential_lifecycle",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "cancellation-too-late",
4
4
  "category": "cancellation",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "cross-organization-project",
4
4
  "category": "isolation",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "cross-project-resource",
4
4
  "category": "isolation",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "environment-mismatch",
4
4
  "category": "isolation",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "idempotency-conflict",
4
4
  "category": "idempotency",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "idempotency-equivalent-replay",
4
4
  "category": "idempotency",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "malformed-bearer",
4
4
  "category": "isolation",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "metadata-overrun",
4
4
  "category": "message_outcome",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "missing-scope",
4
4
  "category": "isolation",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "project-create-equivalent-replay",
4
4
  "category": "idempotency",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "project-slug-conflict",
4
4
  "category": "idempotency",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "provider-outcome-unknown",
4
4
  "category": "message_outcome",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "subscription-activation-replay",
4
4
  "category": "subscription_replay",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "subscription-authorization-capability-opacity",
4
4
  "category": "isolation",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "subscription-cross-connection-callback-rejected",
4
4
  "category": "isolation",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "subscription-expired-replay",
4
4
  "category": "subscription_replay",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "subscription-selected-connection-replay",
4
4
  "category": "subscription_replay",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "ack-conflict",
4
4
  "category": "machine_ack",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "ack-cross-machine",
4
4
  "category": "machine_authorization",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "ack-out-of-order",
4
4
  "category": "machine_ack",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "ack-replay",
4
4
  "category": "machine_ack",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "ambiguous-free-text",
4
4
  "category": "interaction_resolution",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "callback-token-opacity",
4
4
  "category": "callback_token",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "credential-registration-conflict",
4
4
  "category": "machine_credential",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "credential-registration-replay",
4
4
  "category": "machine_credential",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "credential-revocation-replay",
4
4
  "category": "machine_credential",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "credential-rotation",
4
4
  "category": "machine_credential",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "first-credential-activates",
4
4
  "category": "machine_credential",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "interaction-duplicate",
4
4
  "category": "interaction_resolution",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "interaction-expired",
4
4
  "category": "interaction_resolution",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "interaction-mismatch",
4
4
  "category": "interaction_resolution",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "interaction-retired",
4
4
  "category": "interaction_resolution",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "interaction-stale",
4
4
  "category": "interaction_resolution",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "machine-admin-denied",
4
4
  "category": "machine_authorization",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "machine-bound-message-create",
4
4
  "category": "machine_authorization",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "machine-cancel-denied",
4
4
  "category": "machine_authorization",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "machine-crash-before-ack",
4
4
  "category": "machine_poll",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "machine-notifier-mismatch",
4
4
  "category": "machine_authorization",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "machine-other-message-read",
4
4
  "category": "machine_authorization",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "machine-owned-message-read",
4
4
  "category": "machine_authorization",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "machine-subscriber-mismatch",
4
4
  "category": "machine_authorization",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "poll-uncommitted-cursor-rejected",
4
4
  "category": "machine_poll",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "project-credential-machine-endpoint-denied",
4
4
  "category": "machine_authorization",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "quarantine-integrity-rejected",
4
4
  "category": "quarantine",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "quarantine-signature-rejected",
4
4
  "category": "quarantine",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "quarantine-valid",
4
4
  "category": "quarantine",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "revoked-machine-credential",
4
4
  "category": "machine_authorization",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "membership-broadcast-snapshot",
4
4
  "category": "membership_broadcast",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "preferred-binding-resolution",
4
4
  "category": "preference_resolution",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "recipient-session-security",
4
4
  "category": "recipient_security",
5
5
  "given": {
@@ -1,5 +1,5 @@
1
1
  {
2
- "contract_version": "2.1.0",
2
+ "contract_version": "2.2.0",
3
3
  "id": "subscriber-initial-groups-transaction",
4
4
  "category": "subscriber_groups",
5
5
  "given": {
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.1",
3
3
  "info": {
4
4
  "title": "WhooshBang API",
5
- "version": "2.1.0",
5
+ "version": "2.2.0",
6
6
  "description": "The V1 contract for human organization/project administration, project-scoped\nsubscription links, and asynchronous text messages. A Clerk session selects\none organization for administration. A project credential selects one organization,\nproject, and `test` or `live` environment for product operations; request\nbodies cannot override either authenticated scope.\n\nA person's OAuth grant selects one organization and carries scopes, but no\nproject. It names the project and environment it acts in through the URL\npath, on the environment-scoped form of each operation; the service checks\nthat path against the granting person's membership on every call. The flat\nforms remain credential-only and are unchanged.\n\nResource identifiers are opaque and are not authorization. Reads outside the\ncredential scope return the same `404` shape as absent resources. Provider\ncredentials, raw Telegram identity, and protected provider responses are\nnever part of this API.\n",
7
7
  "termsOfService": "https://flowxo.com/terms",
8
8
  "contact": {
@@ -11146,7 +11146,13 @@
11146
11146
  "role": { "enum": ["admin", "member", "messenger"] },
11147
11147
  "readiness": { "enum": ["ready", "channel_unavailable"] },
11148
11148
  "preferred_channel": { "$ref": "#/components/schemas/Channel" },
11149
- "preferences_url": { "type": "string", "format": "uri" }
11149
+ "preferences_url": { "type": "string", "format": "uri" },
11150
+ "setup_reason": {
11151
+ "type": "string",
11152
+ "minLength": 1,
11153
+ "maxLength": 512,
11154
+ "description": "An actionable platform setup reason when the default shared email setup is missing, ambiguous or unavailable."
11155
+ }
11150
11156
  },
11151
11157
  "additionalProperties": false
11152
11158
  },
@@ -20334,7 +20340,7 @@
20334
20340
  "provider-capabilities-v1.schema": {
20335
20341
  "$schema": "https://json-schema.org/draft/2020-12/schema",
20336
20342
  "$id": "https://whooshbang.flowxo.com/schemas/provider-capabilities-v1.schema.json",
20337
- "x-contract-version": "2.1.0",
20343
+ "x-contract-version": "2.2.0",
20338
20344
  "title": "ProviderCapabilitiesV1",
20339
20345
  "description": "Provider-neutral, renderer-facing delivery and interaction capabilities with explicit degradation.",
20340
20346
  "type": "object",
@@ -21054,5 +21060,5 @@
21054
21060
  }
21055
21061
  }
21056
21062
  },
21057
- "x-contract-version": "2.1.0"
21063
+ "x-contract-version": "2.2.0"
21058
21064
  }
@@ -1,10 +1,10 @@
1
1
  openapi: 3.1.1
2
2
  jsonSchemaDialect: https://json-schema.org/draft/2020-12/schema
3
3
  # whooshbang:public-origin production api https://api.whooshbang.com
4
- x-contract-version: 2.1.0
4
+ x-contract-version: 2.2.0
5
5
  info:
6
6
  title: WhooshBang API
7
- version: 2.1.0
7
+ version: 2.2.0
8
8
  description: |
9
9
  The V1 contract for human organization/project administration, project-scoped
10
10
  subscription links, and asynchronous text messages. A Clerk session selects
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whooshbang/contracts",
3
- "version": "2.1.0",
3
+ "version": "2.2.0",
4
4
  "description": "Versioned public contracts for WhooshBang",
5
5
  "private": false,
6
6
  "license": "MIT",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://whooshbang.flowxo.com/schemas/core-scenario.schema.json",
4
- "x-contract-version": "2.1.0",
4
+ "x-contract-version": "2.2.0",
5
5
  "title": "CoreContractScenario",
6
6
  "description": "A deterministic C0-02 semantic, state, idempotency, or isolation scenario.",
7
7
  "type": "object",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://whooshbang.flowxo.com/schemas/events/agent-binding-degraded-v1.schema.json",
4
- "x-contract-version": "2.1.0",
4
+ "x-contract-version": "2.2.0",
5
5
  "title": "AgentBindingDegradedEventV1",
6
6
  "description": "An agent binding entered a provider-neutral degraded state.",
7
7
  "$ref": "whooshbang-event-v1.schema.json#/$defs/AgentBindingDegradedEvent"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://whooshbang.flowxo.com/schemas/events/interaction-expired-v1.schema.json",
4
- "x-contract-version": "2.1.0",
4
+ "x-contract-version": "2.2.0",
5
5
  "title": "InteractionExpiredEventV1",
6
6
  "description": "An interaction reached its terminal expiry without a valid answer.",
7
7
  "$ref": "whooshbang-event-v1.schema.json#/$defs/InteractionExpiredEvent"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://whooshbang.flowxo.com/schemas/events/interaction-received-v1.schema.json",
4
- "x-contract-version": "2.1.0",
4
+ "x-contract-version": "2.2.0",
5
5
  "title": "InteractionReceivedEventV1",
6
6
  "description": "One authenticated, provider-neutral interaction answer was received.",
7
7
  "$ref": "whooshbang-event-v1.schema.json#/$defs/InteractionReceivedEvent"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://whooshbang.flowxo.com/schemas/events/message-delivered-v1.schema.json",
4
- "x-contract-version": "2.1.0",
4
+ "x-contract-version": "2.2.0",
5
5
  "title": "MessageDeliveredEventV1",
6
6
  "description": "A provider supplied trustworthy evidence that a message was delivered.",
7
7
  "$ref": "whooshbang-event-v1.schema.json#/$defs/MessageDeliveredEvent"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://whooshbang.flowxo.com/schemas/events/message-expired-v1.schema.json",
4
- "x-contract-version": "2.1.0",
4
+ "x-contract-version": "2.2.0",
5
5
  "title": "MessageExpiredEventV1",
6
6
  "description": "A message expired before reaching a later delivery state.",
7
7
  "$ref": "whooshbang-event-v1.schema.json#/$defs/MessageExpiredEvent"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://whooshbang.flowxo.com/schemas/events/message-failed-v1.schema.json",
4
- "x-contract-version": "2.1.0",
4
+ "x-contract-version": "2.2.0",
5
5
  "title": "MessageFailedEventV1",
6
6
  "description": "A message reached a classified terminal failure.",
7
7
  "$ref": "whooshbang-event-v1.schema.json#/$defs/MessageFailedEvent"