@whooshbang/contracts 1.0.0-rc.22 → 1.0.0-rc.24
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.
- package/CHANGELOG.md +68 -0
- package/README.md +9 -3
- package/contract-manifest.json +60 -43
- package/dist/generated/artifact-index.d.ts +36 -36
- package/dist/generated/artifact-index.js +58 -41
- package/dist/generated/artifact-index.js.map +1 -1
- package/dist/generated/validators-standalone.d.ts +429 -300
- package/dist/generated/validators-standalone.js +83679 -60246
- package/dist/generated/validators-standalone.js.map +1 -1
- package/dist/generated/validators.d.ts +22 -12
- package/dist/generated/validators.js +31 -21
- package/dist/generated/validators.js.map +1 -1
- package/dist/generated/whooshbang-event-v1.d.ts +32 -4
- package/dist/generated/whooshbang-v1.d.ts +1435 -442
- package/dist/index.d.ts +8 -7
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/fixtures/core-v1/fixture-index.json +146 -35
- package/fixtures/core-v1/problems/credential-organization-mismatch.json +9 -0
- package/fixtures/core-v1/problems/internal-error.json +10 -0
- package/fixtures/core-v1/problems/project-slug-conflict.json +1 -1
- package/fixtures/core-v1/problems/provider-destination-suppressed.json +13 -0
- package/fixtures/core-v1/problems/provider-hard-bounce.json +13 -0
- package/fixtures/core-v1/requests/assert-email-consent.json +10 -0
- package/fixtures/core-v1/requests/create-email-binding-import.json +35 -0
- package/fixtures/core-v1/requests/create-email-domain.json +5 -0
- package/fixtures/core-v1/requests/create-organization-credential.json +4 -0
- package/fixtures/core-v1/requests/create-subscription-link-email.json +8 -0
- package/fixtures/core-v1/scenarios/api-credential-invalid-indistinguishable.json +1 -1
- package/fixtures/core-v1/scenarios/api-credential-one-time-reveal.json +1 -1
- package/fixtures/core-v1/scenarios/api-credential-revocation-replay.json +1 -1
- package/fixtures/core-v1/scenarios/api-credential-rotation-overlap.json +1 -1
- package/fixtures/core-v1/scenarios/cancellation-too-late.json +1 -1
- package/fixtures/core-v1/scenarios/cross-organization-project.json +14 -0
- package/fixtures/core-v1/scenarios/cross-project-resource.json +1 -1
- package/fixtures/core-v1/scenarios/environment-mismatch.json +1 -1
- package/fixtures/core-v1/scenarios/idempotency-conflict.json +1 -1
- package/fixtures/core-v1/scenarios/idempotency-equivalent-replay.json +1 -1
- package/fixtures/core-v1/scenarios/malformed-bearer.json +1 -1
- package/fixtures/core-v1/scenarios/metadata-overrun.json +1 -1
- package/fixtures/core-v1/scenarios/missing-scope.json +1 -1
- package/fixtures/core-v1/scenarios/project-create-equivalent-replay.json +2 -2
- package/fixtures/core-v1/scenarios/project-slug-conflict.json +2 -2
- package/fixtures/core-v1/scenarios/provider-outcome-unknown.json +1 -1
- package/fixtures/core-v1/scenarios/subscription-activation-replay.json +1 -1
- package/fixtures/core-v1/scenarios/subscription-authorization-capability-opacity.json +1 -1
- package/fixtures/core-v1/scenarios/subscription-cross-connection-callback-rejected.json +1 -1
- package/fixtures/core-v1/scenarios/subscription-expired-replay.json +1 -1
- package/fixtures/core-v1/scenarios/subscription-selected-connection-replay.json +1 -1
- package/fixtures/core-v1/success/channel-connection-email-customer-test.json +38 -0
- package/fixtures/core-v1/success/channel-connection-email-customer.json +38 -0
- package/fixtures/core-v1/success/channel-connection-email-shared.json +31 -0
- package/fixtures/core-v1/success/channel-connection-slack-customer-pending.json +3 -3
- package/fixtures/core-v1/success/customer-owned-slack-app-manifest.json +1 -0
- package/fixtures/core-v1/success/email-binding-import-job.json +22 -0
- package/fixtures/core-v1/success/email-consent-asserted.json +22 -0
- package/fixtures/core-v1/success/email-domain-collection.json +460 -0
- package/fixtures/core-v1/success/{account-credential-collection.json → organization-credential-collection.json} +3 -3
- package/fixtures/core-v1/success/organization-credential-created.json +12 -0
- package/fixtures/core-v1/success/{account-credential-revoked.json → organization-credential-revoked.json} +3 -3
- package/fixtures/core-v1/success/{account-credential-rotated.json → organization-credential-rotated.json} +7 -7
- package/fixtures/core-v1/success/{account-projection.json → organization-projection.json} +2 -2
- package/fixtures/core-v1/success/project-collection.json +1 -1
- package/fixtures/core-v1/success/project-created.json +1 -1
- package/fixtures/core-v1/success/provider-installation-email-collection.json +56 -0
- package/fixtures/core-v1/success/subscription-link-email-pending.json +24 -0
- package/fixtures/interaction-machine-v1/capabilities/providers.json +64 -32
- package/fixtures/interaction-machine-v1/capabilities/telegram.json +11 -33
- package/fixtures/interaction-machine-v1/scenarios/ack-conflict.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/ack-cross-machine.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/ack-out-of-order.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/ack-replay.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/ambiguous-free-text.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/callback-token-opacity.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/credential-registration-conflict.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/credential-registration-replay.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/credential-revocation-replay.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/credential-rotation.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/first-credential-activates.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/interaction-duplicate.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/interaction-expired.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/interaction-mismatch.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/interaction-retired.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/interaction-stale.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/machine-admin-denied.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/machine-bound-message-create.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/machine-cancel-denied.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/machine-crash-before-ack.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/machine-notifier-mismatch.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/machine-other-message-read.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/machine-owned-message-read.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/machine-subscriber-mismatch.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/poll-uncommitted-cursor-rejected.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/project-credential-machine-endpoint-denied.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/quarantine-integrity-rejected.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/quarantine-signature-rejected.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/quarantine-valid.json +1 -1
- package/fixtures/interaction-machine-v1/scenarios/revoked-machine-credential.json +1 -1
- package/fixtures/recipient-experience-v1/requests/create-recipient-group.json +1 -1
- package/fixtures/recipient-experience-v1/requests/create-subscriber-with-groups.json +1 -1
- package/fixtures/recipient-experience-v1/scenarios/membership-broadcast-snapshot.json +1 -1
- package/fixtures/recipient-experience-v1/scenarios/preferred-binding-resolution.json +1 -1
- package/fixtures/recipient-experience-v1/scenarios/recipient-session-security.json +1 -1
- package/fixtures/recipient-experience-v1/scenarios/subscriber-initial-groups-transaction.json +2 -2
- package/fixtures/recipient-experience-v1/success/recipient-group.json +1 -1
- package/fixtures/whooshbang-events-v1/events/agent-binding-degraded.json +1 -1
- package/fixtures/whooshbang-events-v1/events/interaction-expired.json +1 -1
- package/fixtures/whooshbang-events-v1/events/interaction-received.json +1 -1
- package/fixtures/whooshbang-events-v1/events/message-delivered.json +1 -1
- package/fixtures/whooshbang-events-v1/events/message-expired.json +1 -1
- package/fixtures/whooshbang-events-v1/events/message-failed.json +1 -1
- package/fixtures/whooshbang-events-v1/events/message-provider-accepted.json +1 -1
- package/fixtures/whooshbang-events-v1/events/subscription-activated.json +1 -1
- package/fixtures/whooshbang-events-v1/events/subscription-asserted-revoked.json +18 -0
- package/fixtures/whooshbang-events-v1/events/subscription-asserted.json +18 -0
- package/fixtures/whooshbang-events-v1/events/subscription-revoked.json +1 -1
- package/fixtures/whooshbang-events-v1/signing/vectors.json +29 -29
- package/openapi/generated/whooshbang-v1.bundle.json +2656 -569
- package/openapi/whooshbang-v1.yaml +951 -246
- package/package.json +1 -1
- package/schemas/core-scenario.schema.json +1 -1
- package/schemas/events/agent-binding-degraded-v1.schema.json +1 -1
- package/schemas/events/interaction-expired-v1.schema.json +1 -1
- package/schemas/events/interaction-received-v1.schema.json +1 -1
- package/schemas/events/message-delivered-v1.schema.json +1 -1
- package/schemas/events/message-expired-v1.schema.json +1 -1
- package/schemas/events/message-failed-v1.schema.json +1 -1
- package/schemas/events/message-provider-accepted-v1.schema.json +1 -1
- package/schemas/events/subscription-activated-v1.schema.json +1 -1
- package/schemas/events/subscription-revoked-v1.schema.json +1 -1
- package/schemas/events/whooshbang-event-v1.schema.json +121 -5
- package/schemas/fixture-index.schema.json +1 -1
- package/schemas/interaction-machine-scenario.schema.json +1 -1
- package/schemas/interaction-v1.schema.json +1 -1
- package/schemas/machine-v1.schema.json +1 -1
- package/schemas/provider-capabilities-v1.schema.json +1 -1
- package/schemas/webhooks/webhook-delivery-case-v1.schema.json +1 -1
- package/schemas/webhooks/webhook-signing-vector-v1.schema.json +1 -1
- package/schemas/whooshbang-v1.schema.json +1516 -297
- package/fixtures/core-v1/problems/credential-account-mismatch.json +0 -9
- package/fixtures/core-v1/requests/create-account-credential.json +0 -4
- package/fixtures/core-v1/scenarios/cross-account-project.json +0 -14
- package/fixtures/core-v1/success/account-credential-created.json +0 -12
- /package/fixtures/core-v1/requests/{rotate-account-credential.json → rotate-organization-credential.json} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,74 @@ All notable contract changes are recorded here.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## 1.0.0-rc.24
|
|
8
|
+
|
|
9
|
+
### Breaking
|
|
10
|
+
|
|
11
|
+
- The channel-connection surface no longer names Slack (FXO-2442). Rename
|
|
12
|
+
`CustomerOwnedSlackChannelConnection`, `CustomerOwnedSlackConnectionSetup`,
|
|
13
|
+
`CustomerOwnedSlackSetupStatus`, `CustomerOwnedSlackAppAuthority` and
|
|
14
|
+
`CustomerOwnedSlackAppManifest` to `CustomerApplicationChannelConnection`,
|
|
15
|
+
`CustomerApplicationConnectionSetup`, `CustomerApplicationSetupStatus`,
|
|
16
|
+
`CustomerApplicationAuthority` and `CustomerApplicationManifest`, and
|
|
17
|
+
`validateCustomerOwnedSlackAppManifest` to
|
|
18
|
+
`validateCustomerApplicationManifest`. The old names have no aliases.
|
|
19
|
+
- The application authorities a customer-owned application hands over are
|
|
20
|
+
`application_identity`, `application_secret` and `ingress_secret`, replacing
|
|
21
|
+
`client_identity`, `client_secret` and `signing_secret` on
|
|
22
|
+
`RotateChannelConnectionCredentialRequest` and in `outstanding_authorities`.
|
|
23
|
+
`ingress_secret` is optional in shape; a provider whose application has one
|
|
24
|
+
(Slack) still refuses a request without it. `application_identity` is bounded
|
|
25
|
+
printable text; Slack still refuses a Client ID that is not
|
|
26
|
+
`<digits>.<digits>`.
|
|
27
|
+
- `TelegramConnectionIdentity`, `SlackConnectionIdentity` and
|
|
28
|
+
`EmailConnectionIdentity` are one `ConnectionIdentity` whose `provider` is any
|
|
29
|
+
`ChannelConnectionProvider`; an email handle is still an `EmailAddress`, and
|
|
30
|
+
every other handle is still at most 128 characters.
|
|
31
|
+
`SubscriptionConnectionSummary` is one object rather than a union of three.
|
|
32
|
+
- `HostedChannelConnection`, `CustomerApplicationChannelConnection` and the
|
|
33
|
+
hosted and customer-application arms of `CreateChannelConnectionRequest` take
|
|
34
|
+
any `ChannelConnectionProvider` rather than the `slack` constant. A provider
|
|
35
|
+
without that setup refuses it as `request_invalid` with the
|
|
36
|
+
`setup_mode_unavailable` field error on `/mode`.
|
|
37
|
+
`provider` alone therefore no longer discriminates `ChannelConnection`:
|
|
38
|
+
narrow on `mode`, or on a field only that arm publishes.
|
|
39
|
+
- `management_url` is no longer pinned to `slack://app`, and `creation_url` is
|
|
40
|
+
no longer pinned to `https://api.slack.com/apps`; each is a provider-owned
|
|
41
|
+
link. `management_url` still refuses a scheme a browser would execute.
|
|
42
|
+
- `CustomerApplicationManifest` carries `provider`; each of its `request_urls`
|
|
43
|
+
is present only when the provider calls it separately, and `manifest` only
|
|
44
|
+
when the provider creates the application from a document. Slack's always
|
|
45
|
+
carries all of them.
|
|
46
|
+
- `OrganizationClosureProviderAction.provider` is any
|
|
47
|
+
`ChannelConnectionProvider` rather than `telegram` or `slack`.
|
|
48
|
+
|
|
49
|
+
### Added
|
|
50
|
+
|
|
51
|
+
- `ProblemCode` gains `internal_error` (500, "Internal error", retryable): a
|
|
52
|
+
fault inside WhooshBang with no provider or customer system involved. It
|
|
53
|
+
replaces the `provider_retryable` 503 the service used to answer for any
|
|
54
|
+
unrecognised failure, which sent readers to check a provider that was
|
|
55
|
+
working (FXO-2612). A consumer that switches exhaustively on `ProblemCode`
|
|
56
|
+
needs a branch for it.
|
|
57
|
+
|
|
58
|
+
## 1.0.0-rc.23
|
|
59
|
+
|
|
60
|
+
### Breaking
|
|
61
|
+
|
|
62
|
+
- Rename the WhooshBang tenant to organization throughout the public contract
|
|
63
|
+
(FXO-2337): `OrganizationProjection`, membership, role, credential and closure
|
|
64
|
+
types, `/v1/organization` routes, `organization_id` fields and
|
|
65
|
+
`organization:read`. Former tenant names have no aliases or deprecation
|
|
66
|
+
window. Personal and provider accounts retain their meaning.
|
|
67
|
+
- Organization credentials use `wb_oc1` and `ocred_`. The deployment migration
|
|
68
|
+
revokes existing tenant credentials; issue fresh organization credentials and
|
|
69
|
+
reauthorize existing OAuth clients after the cut. Project and machine
|
|
70
|
+
credentials retain their kinds.
|
|
71
|
+
- Update schemas, generated validators and synthetic fixtures together.
|
|
72
|
+
Integrators must update SDK validators even when their application does not
|
|
73
|
+
explicitly read the renamed tenant field.
|
|
74
|
+
|
|
7
75
|
## 1.0.0-rc.22
|
|
8
76
|
|
|
9
77
|
- FXO-2271: live sends reject the reserved `test:` subscriber prefix and explicit
|
package/README.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
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.
|
|
8
|
+
|
|
3
9
|
`@whooshbang/contracts` is the runtime-neutral artifact boundary for
|
|
4
10
|
public contracts owned by WhooshBang. It does not depend on sibling
|
|
5
11
|
repositories or Cloudflare runtime types.
|
|
@@ -21,7 +27,7 @@ npm install @whooshbang/contracts@next
|
|
|
21
27
|
pinned and exchanged as tarballs rather than accessed through sibling paths.
|
|
22
28
|
|
|
23
29
|
The manifest indexes the C0-02 core REST contract, its approved N1-02
|
|
24
|
-
|
|
30
|
+
organization/project administration and N1-03 credential-lifecycle amendments, the
|
|
25
31
|
C0-03 interaction, machine-client, machine-event, and provider-capability
|
|
26
32
|
contracts, and the C0-04 signed customer-event and delivery contracts. The
|
|
27
33
|
canonical API is `openapi/whooshbang-v1.yaml`; its committed distribution
|
|
@@ -38,8 +44,8 @@ perform no networking or persistence.
|
|
|
38
44
|
|
|
39
45
|
## N1-03 credential boundary
|
|
40
46
|
|
|
41
|
-
- Human credential administration is scoped by the verified Clerk
|
|
42
|
-
explicit
|
|
47
|
+
- Human credential administration is scoped by the verified Clerk organization and
|
|
48
|
+
explicit organization-owned project/environment path targets.
|
|
43
49
|
- Project bearer syntax is
|
|
44
50
|
`wb_pc1.pcred_<16-byte-base64url>.<32-byte-base64url-secret>`. Creation and
|
|
45
51
|
rotation reveal the complete bearer exactly once and cannot be replayed.
|
package/contract-manifest.json
CHANGED
|
@@ -1,120 +1,120 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema": "flowxo.contract-manifest.v1",
|
|
3
3
|
"artifact": "@whooshbang/contracts",
|
|
4
|
-
"version": "1.0.0-rc.
|
|
4
|
+
"version": "1.0.0-rc.24",
|
|
5
5
|
"openapi": [
|
|
6
6
|
{
|
|
7
7
|
"id": "whooshbang-rest-v1",
|
|
8
|
-
"version": "1.0.0-rc.
|
|
8
|
+
"version": "1.0.0-rc.24",
|
|
9
9
|
"path": "openapi/whooshbang-v1.yaml"
|
|
10
10
|
}
|
|
11
11
|
],
|
|
12
12
|
"schemas": [
|
|
13
13
|
{
|
|
14
14
|
"id": "whooshbang-v1",
|
|
15
|
-
"version": "1.0.0-rc.
|
|
15
|
+
"version": "1.0.0-rc.24",
|
|
16
16
|
"path": "schemas/whooshbang-v1.schema.json"
|
|
17
17
|
},
|
|
18
18
|
{
|
|
19
19
|
"id": "interaction-v1",
|
|
20
|
-
"version": "1.0.0-rc.
|
|
20
|
+
"version": "1.0.0-rc.24",
|
|
21
21
|
"path": "schemas/interaction-v1.schema.json"
|
|
22
22
|
},
|
|
23
23
|
{
|
|
24
24
|
"id": "machine-v1",
|
|
25
|
-
"version": "1.0.0-rc.
|
|
25
|
+
"version": "1.0.0-rc.24",
|
|
26
26
|
"path": "schemas/machine-v1.schema.json"
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
"id": "provider-capabilities-v1",
|
|
30
|
-
"version": "1.0.0-rc.
|
|
30
|
+
"version": "1.0.0-rc.24",
|
|
31
31
|
"path": "schemas/provider-capabilities-v1.schema.json"
|
|
32
32
|
},
|
|
33
33
|
{
|
|
34
34
|
"id": "whooshbang-event-v1",
|
|
35
|
-
"version": "1.0.0-rc.
|
|
35
|
+
"version": "1.0.0-rc.24",
|
|
36
36
|
"path": "schemas/events/whooshbang-event-v1.schema.json"
|
|
37
37
|
},
|
|
38
38
|
{
|
|
39
39
|
"id": "subscription-activated-event-v1",
|
|
40
|
-
"version": "1.0.0-rc.
|
|
40
|
+
"version": "1.0.0-rc.24",
|
|
41
41
|
"path": "schemas/events/subscription-activated-v1.schema.json"
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
"id": "subscription-revoked-event-v1",
|
|
45
|
-
"version": "1.0.0-rc.
|
|
45
|
+
"version": "1.0.0-rc.24",
|
|
46
46
|
"path": "schemas/events/subscription-revoked-v1.schema.json"
|
|
47
47
|
},
|
|
48
48
|
{
|
|
49
49
|
"id": "message-provider-accepted-event-v1",
|
|
50
|
-
"version": "1.0.0-rc.
|
|
50
|
+
"version": "1.0.0-rc.24",
|
|
51
51
|
"path": "schemas/events/message-provider-accepted-v1.schema.json"
|
|
52
52
|
},
|
|
53
53
|
{
|
|
54
54
|
"id": "message-delivered-event-v1",
|
|
55
|
-
"version": "1.0.0-rc.
|
|
55
|
+
"version": "1.0.0-rc.24",
|
|
56
56
|
"path": "schemas/events/message-delivered-v1.schema.json"
|
|
57
57
|
},
|
|
58
58
|
{
|
|
59
59
|
"id": "message-failed-event-v1",
|
|
60
|
-
"version": "1.0.0-rc.
|
|
60
|
+
"version": "1.0.0-rc.24",
|
|
61
61
|
"path": "schemas/events/message-failed-v1.schema.json"
|
|
62
62
|
},
|
|
63
63
|
{
|
|
64
64
|
"id": "message-expired-event-v1",
|
|
65
|
-
"version": "1.0.0-rc.
|
|
65
|
+
"version": "1.0.0-rc.24",
|
|
66
66
|
"path": "schemas/events/message-expired-v1.schema.json"
|
|
67
67
|
},
|
|
68
68
|
{
|
|
69
69
|
"id": "interaction-received-event-v1",
|
|
70
|
-
"version": "1.0.0-rc.
|
|
70
|
+
"version": "1.0.0-rc.24",
|
|
71
71
|
"path": "schemas/events/interaction-received-v1.schema.json"
|
|
72
72
|
},
|
|
73
73
|
{
|
|
74
74
|
"id": "interaction-expired-event-v1",
|
|
75
|
-
"version": "1.0.0-rc.
|
|
75
|
+
"version": "1.0.0-rc.24",
|
|
76
76
|
"path": "schemas/events/interaction-expired-v1.schema.json"
|
|
77
77
|
},
|
|
78
78
|
{
|
|
79
79
|
"id": "agent-binding-degraded-event-v1",
|
|
80
|
-
"version": "1.0.0-rc.
|
|
80
|
+
"version": "1.0.0-rc.24",
|
|
81
81
|
"path": "schemas/events/agent-binding-degraded-v1.schema.json"
|
|
82
82
|
},
|
|
83
83
|
{
|
|
84
84
|
"id": "webhook-signing-vector-v1",
|
|
85
|
-
"version": "1.0.0-rc.
|
|
85
|
+
"version": "1.0.0-rc.24",
|
|
86
86
|
"path": "schemas/webhooks/webhook-signing-vector-v1.schema.json"
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
89
|
"id": "webhook-delivery-case-v1",
|
|
90
|
-
"version": "1.0.0-rc.
|
|
90
|
+
"version": "1.0.0-rc.24",
|
|
91
91
|
"path": "schemas/webhooks/webhook-delivery-case-v1.schema.json"
|
|
92
92
|
},
|
|
93
93
|
{
|
|
94
94
|
"id": "interaction-machine-scenario",
|
|
95
|
-
"version": "1.0.0-rc.
|
|
95
|
+
"version": "1.0.0-rc.24",
|
|
96
96
|
"path": "schemas/interaction-machine-scenario.schema.json"
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
"id": "core-contract-scenario",
|
|
100
|
-
"version": "1.0.0-rc.
|
|
100
|
+
"version": "1.0.0-rc.24",
|
|
101
101
|
"path": "schemas/core-scenario.schema.json"
|
|
102
102
|
},
|
|
103
103
|
{
|
|
104
104
|
"id": "core-fixture-index",
|
|
105
|
-
"version": "1.0.0-rc.
|
|
105
|
+
"version": "1.0.0-rc.24",
|
|
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": "1.0.0-rc.
|
|
112
|
+
"version": "1.0.0-rc.24",
|
|
113
113
|
"schema": "schemas/whooshbang-v1.schema.json",
|
|
114
114
|
"fixtures": [
|
|
115
115
|
"fixtures/core-v1/requests/create-project.json",
|
|
116
116
|
"fixtures/core-v1/requests/update-project.json",
|
|
117
|
-
"fixtures/core-v1/success/
|
|
117
|
+
"fixtures/core-v1/success/organization-projection.json",
|
|
118
118
|
"fixtures/core-v1/success/project-created.json",
|
|
119
119
|
"fixtures/core-v1/success/project-collection.json",
|
|
120
120
|
"fixtures/core-v1/requests/create-api-credential.json",
|
|
@@ -123,13 +123,13 @@
|
|
|
123
123
|
"fixtures/core-v1/success/api-credential-created.json",
|
|
124
124
|
"fixtures/core-v1/success/api-credential-rotated.json",
|
|
125
125
|
"fixtures/core-v1/success/api-credential-revoked.json",
|
|
126
|
-
"fixtures/core-v1/requests/create-
|
|
127
|
-
"fixtures/core-v1/requests/rotate-
|
|
128
|
-
"fixtures/core-v1/success/
|
|
129
|
-
"fixtures/core-v1/success/
|
|
130
|
-
"fixtures/core-v1/success/
|
|
131
|
-
"fixtures/core-v1/success/
|
|
132
|
-
"fixtures/core-v1/problems/credential-
|
|
126
|
+
"fixtures/core-v1/requests/create-organization-credential.json",
|
|
127
|
+
"fixtures/core-v1/requests/rotate-organization-credential.json",
|
|
128
|
+
"fixtures/core-v1/success/organization-credential-collection.json",
|
|
129
|
+
"fixtures/core-v1/success/organization-credential-created.json",
|
|
130
|
+
"fixtures/core-v1/success/organization-credential-rotated.json",
|
|
131
|
+
"fixtures/core-v1/success/organization-credential-revoked.json",
|
|
132
|
+
"fixtures/core-v1/problems/credential-organization-mismatch.json",
|
|
133
133
|
"fixtures/core-v1/requests/create-customer-endpoint.json",
|
|
134
134
|
"fixtures/core-v1/requests/rotate-customer-endpoint.json",
|
|
135
135
|
"fixtures/core-v1/success/customer-endpoint-created.json",
|
|
@@ -138,12 +138,14 @@
|
|
|
138
138
|
"fixtures/core-v1/success/customer-endpoint-collection.json",
|
|
139
139
|
"fixtures/core-v1/success/customer-endpoint-attempts.json",
|
|
140
140
|
"fixtures/core-v1/requests/create-subscription-link.json",
|
|
141
|
+
"fixtures/core-v1/requests/create-subscription-link-email.json",
|
|
141
142
|
"fixtures/core-v1/requests/create-message.json",
|
|
142
143
|
"fixtures/core-v1/requests/create-message-structured.json",
|
|
143
144
|
"fixtures/core-v1/requests/create-message-image.json",
|
|
144
145
|
"fixtures/core-v1/requests/create-message-document-image.json",
|
|
145
146
|
"fixtures/core-v1/requests/create-message-connection.json",
|
|
146
147
|
"fixtures/core-v1/success/subscription-link-pending.json",
|
|
148
|
+
"fixtures/core-v1/success/subscription-link-email-pending.json",
|
|
147
149
|
"fixtures/core-v1/success/subscription-link-activated.json",
|
|
148
150
|
"fixtures/core-v1/success/subscription-link-paused.json",
|
|
149
151
|
"fixtures/core-v1/success/subscription-link-revoked.json",
|
|
@@ -174,7 +176,10 @@
|
|
|
174
176
|
"fixtures/core-v1/problems/rate-limited.json",
|
|
175
177
|
"fixtures/core-v1/problems/provider-retryable.json",
|
|
176
178
|
"fixtures/core-v1/problems/provider-terminal.json",
|
|
179
|
+
"fixtures/core-v1/problems/provider-destination-suppressed.json",
|
|
180
|
+
"fixtures/core-v1/problems/provider-hard-bounce.json",
|
|
177
181
|
"fixtures/core-v1/problems/provider-outcome-unknown.json",
|
|
182
|
+
"fixtures/core-v1/problems/internal-error.json",
|
|
178
183
|
"fixtures/core-v1/requests/create-channel-connection.json",
|
|
179
184
|
"fixtures/core-v1/requests/create-channel-connection-byok.json",
|
|
180
185
|
"fixtures/core-v1/requests/create-channel-connection-managed.json",
|
|
@@ -190,6 +195,14 @@
|
|
|
190
195
|
"fixtures/core-v1/success/channel-connection-managed-setup-failed.json",
|
|
191
196
|
"fixtures/core-v1/success/channel-connection-slack-hosted-pending.json",
|
|
192
197
|
"fixtures/core-v1/success/channel-connection-slack-hosted-active.json",
|
|
198
|
+
"fixtures/core-v1/success/channel-connection-email-shared.json",
|
|
199
|
+
"fixtures/core-v1/success/channel-connection-email-customer.json",
|
|
200
|
+
"fixtures/core-v1/success/channel-connection-email-customer-test.json",
|
|
201
|
+
"fixtures/core-v1/success/provider-installation-email-collection.json",
|
|
202
|
+
"fixtures/core-v1/success/email-domain-collection.json",
|
|
203
|
+
"fixtures/core-v1/requests/create-email-domain.json",
|
|
204
|
+
"fixtures/core-v1/requests/create-email-binding-import.json",
|
|
205
|
+
"fixtures/core-v1/success/email-binding-import-job.json",
|
|
193
206
|
"fixtures/core-v1/success/channel-connection-slack-hosted-failed.json",
|
|
194
207
|
"fixtures/core-v1/success/channel-connection-slack-customer-pending.json",
|
|
195
208
|
"fixtures/core-v1/success/channel-connection-slack-customer-active.json",
|
|
@@ -237,17 +250,19 @@
|
|
|
237
250
|
"fixtures/recipient-experience-v1/success/recipient-group-members.json",
|
|
238
251
|
"fixtures/recipient-experience-v1/success/group-broadcast-accepted.json",
|
|
239
252
|
"fixtures/recipient-experience-v1/success/group-broadcast-complete.json",
|
|
240
|
-
"fixtures/recipient-experience-v1/success/broadcast-child-message.json"
|
|
253
|
+
"fixtures/recipient-experience-v1/success/broadcast-child-message.json",
|
|
254
|
+
"fixtures/core-v1/requests/assert-email-consent.json",
|
|
255
|
+
"fixtures/core-v1/success/email-consent-asserted.json"
|
|
241
256
|
]
|
|
242
257
|
},
|
|
243
258
|
{
|
|
244
259
|
"id": "core-semantic-scenarios",
|
|
245
|
-
"version": "1.0.0-rc.
|
|
260
|
+
"version": "1.0.0-rc.24",
|
|
246
261
|
"schema": "schemas/core-scenario.schema.json",
|
|
247
262
|
"fixtures": [
|
|
248
263
|
"fixtures/core-v1/scenarios/project-create-equivalent-replay.json",
|
|
249
264
|
"fixtures/core-v1/scenarios/project-slug-conflict.json",
|
|
250
|
-
"fixtures/core-v1/scenarios/cross-
|
|
265
|
+
"fixtures/core-v1/scenarios/cross-organization-project.json",
|
|
251
266
|
"fixtures/core-v1/scenarios/api-credential-one-time-reveal.json",
|
|
252
267
|
"fixtures/core-v1/scenarios/api-credential-rotation-overlap.json",
|
|
253
268
|
"fixtures/core-v1/scenarios/api-credential-revocation-replay.json",
|
|
@@ -274,7 +289,7 @@
|
|
|
274
289
|
},
|
|
275
290
|
{
|
|
276
291
|
"id": "interaction-message-api-bodies",
|
|
277
|
-
"version": "1.0.0-rc.
|
|
292
|
+
"version": "1.0.0-rc.24",
|
|
278
293
|
"schema": "schemas/whooshbang-v1.schema.json",
|
|
279
294
|
"fixtures": [
|
|
280
295
|
"fixtures/interaction-machine-v1/requests/create-message-confirm.json",
|
|
@@ -286,7 +301,7 @@
|
|
|
286
301
|
},
|
|
287
302
|
{
|
|
288
303
|
"id": "interaction-contract-bodies",
|
|
289
|
-
"version": "1.0.0-rc.
|
|
304
|
+
"version": "1.0.0-rc.24",
|
|
290
305
|
"schema": "schemas/interaction-v1.schema.json",
|
|
291
306
|
"fixtures": [
|
|
292
307
|
"fixtures/interaction-machine-v1/success/interaction-open.json",
|
|
@@ -303,7 +318,7 @@
|
|
|
303
318
|
},
|
|
304
319
|
{
|
|
305
320
|
"id": "machine-api-bodies",
|
|
306
|
-
"version": "1.0.0-rc.
|
|
321
|
+
"version": "1.0.0-rc.24",
|
|
307
322
|
"schema": "schemas/machine-v1.schema.json",
|
|
308
323
|
"fixtures": [
|
|
309
324
|
"fixtures/interaction-machine-v1/requests/create-machine-client.json",
|
|
@@ -324,13 +339,13 @@
|
|
|
324
339
|
},
|
|
325
340
|
{
|
|
326
341
|
"id": "provider-capability-bodies",
|
|
327
|
-
"version": "1.0.0-rc.
|
|
342
|
+
"version": "1.0.0-rc.24",
|
|
328
343
|
"schema": "schemas/provider-capabilities-v1.schema.json",
|
|
329
344
|
"fixtures": ["fixtures/interaction-machine-v1/capabilities/telegram.json"]
|
|
330
345
|
},
|
|
331
346
|
{
|
|
332
347
|
"id": "interaction-machine-semantic-scenarios",
|
|
333
|
-
"version": "1.0.0-rc.
|
|
348
|
+
"version": "1.0.0-rc.24",
|
|
334
349
|
"schema": "schemas/interaction-machine-scenario.schema.json",
|
|
335
350
|
"fixtures": [
|
|
336
351
|
"fixtures/interaction-machine-v1/scenarios/interaction-duplicate.json",
|
|
@@ -367,7 +382,7 @@
|
|
|
367
382
|
},
|
|
368
383
|
{
|
|
369
384
|
"id": "customer-event-bodies",
|
|
370
|
-
"version": "1.0.0-rc.
|
|
385
|
+
"version": "1.0.0-rc.24",
|
|
371
386
|
"schema": "schemas/events/whooshbang-event-v1.schema.json",
|
|
372
387
|
"fixtures": [
|
|
373
388
|
"fixtures/whooshbang-events-v1/events/subscription-activated.json",
|
|
@@ -378,24 +393,26 @@
|
|
|
378
393
|
"fixtures/whooshbang-events-v1/events/message-expired.json",
|
|
379
394
|
"fixtures/whooshbang-events-v1/events/interaction-received.json",
|
|
380
395
|
"fixtures/whooshbang-events-v1/events/interaction-expired.json",
|
|
381
|
-
"fixtures/whooshbang-events-v1/events/agent-binding-degraded.json"
|
|
396
|
+
"fixtures/whooshbang-events-v1/events/agent-binding-degraded.json",
|
|
397
|
+
"fixtures/whooshbang-events-v1/events/subscription-asserted.json",
|
|
398
|
+
"fixtures/whooshbang-events-v1/events/subscription-asserted-revoked.json"
|
|
382
399
|
]
|
|
383
400
|
},
|
|
384
401
|
{
|
|
385
402
|
"id": "webhook-signing-vectors",
|
|
386
|
-
"version": "1.0.0-rc.
|
|
403
|
+
"version": "1.0.0-rc.24",
|
|
387
404
|
"schema": "schemas/webhooks/webhook-signing-vector-v1.schema.json",
|
|
388
405
|
"fixtures": ["fixtures/whooshbang-events-v1/signing/vectors.json"]
|
|
389
406
|
},
|
|
390
407
|
{
|
|
391
408
|
"id": "webhook-delivery-cases",
|
|
392
|
-
"version": "1.0.0-rc.
|
|
409
|
+
"version": "1.0.0-rc.24",
|
|
393
410
|
"schema": "schemas/webhooks/webhook-delivery-case-v1.schema.json",
|
|
394
411
|
"fixtures": ["fixtures/whooshbang-events-v1/delivery/cases.json"]
|
|
395
412
|
},
|
|
396
413
|
{
|
|
397
414
|
"id": "core-fixture-index",
|
|
398
|
-
"version": "1.0.0-rc.
|
|
415
|
+
"version": "1.0.0-rc.24",
|
|
399
416
|
"schema": "schemas/fixture-index.schema.json",
|
|
400
417
|
"fixtures": ["fixtures/core-v1/fixture-index.json"]
|
|
401
418
|
}
|