@greatwait/contracts 0.1.0-alpha.3 → 0.1.0-alpha.5
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/README.md +12 -10
- package/dist/authority.d.ts +33 -27
- package/dist/authority.js +12 -2
- package/dist/billing.d.ts +1231 -0
- package/dist/billing.js +833 -0
- package/dist/callback-safety.d.ts +2 -2
- package/dist/callback-safety.js +15 -5
- package/dist/compatibility.d.ts +3 -3
- package/dist/compatibility.js +1 -1
- package/dist/configuration-bounds.d.ts +13 -0
- package/dist/configuration-bounds.js +13 -0
- package/dist/data-export.d.ts +67 -0
- package/dist/data-export.js +182 -0
- package/dist/effective-limits.d.ts +40 -0
- package/dist/effective-limits.js +42 -0
- package/dist/endpoints.d.ts +186 -245
- package/dist/endpoints.js +82 -86
- package/dist/events.d.ts +17 -17
- package/dist/events.js +1 -1
- package/dist/first-value-journey.d.ts +50 -56
- package/dist/first-value-journey.js +17 -20
- package/dist/forecast.d.ts +182 -92
- package/dist/forecast.js +88 -25
- package/dist/identifiers.d.ts +20 -20
- package/dist/identifiers.js +1 -1
- package/dist/identity.d.ts +41 -37
- package/dist/identity.js +5 -4
- package/dist/index.d.ts +12 -6
- package/dist/index.js +12 -6
- package/dist/mcp.d.ts +21 -19
- package/dist/mcp.js +2 -2
- package/dist/naming.d.ts +45 -0
- package/dist/naming.js +159 -0
- package/dist/oauth.d.ts +186 -172
- package/dist/oauth.js +1 -1
- package/dist/operation-definitions.d.ts +9 -0
- package/dist/operation-definitions.js +7 -0
- package/dist/operational-config.d.ts +101 -0
- package/dist/operational-config.js +341 -0
- package/dist/operations.d.ts +4742 -2170
- package/dist/operations.js +3064 -932
- package/dist/organization-lifecycle.d.ts +34 -0
- package/dist/organization-lifecycle.js +122 -0
- package/dist/partition.d.ts +43 -9
- package/dist/partition.js +3 -3
- package/dist/policy.d.ts +4 -4
- package/dist/policy.js +9 -5
- package/dist/problems.d.ts +57 -28
- package/dist/problems.js +55 -3
- package/dist/protocol.d.ts +209 -80
- package/dist/protocol.js +110 -37
- package/dist/scheduling-records.d.ts +349 -285
- package/dist/scheduling-records.js +1 -1
- package/dist/scheduling.d.ts +707 -361
- package/dist/scheduling.js +443 -61
- package/dist/secrets.d.ts +119 -105
- package/dist/secrets.js +1 -1
- package/dist/signatures.d.ts +74 -74
- package/dist/signatures.js +1 -1
- package/dist/tenancy.d.ts +142 -68
- package/dist/tenancy.js +70 -17
- package/dist/test-sink.d.ts +127 -127
- package/dist/test-sink.js +1 -1
- package/dist/time.d.ts +4 -4
- package/dist/time.js +1 -1
- package/dist/timing.d.ts +65 -0
- package/dist/timing.js +82 -0
- package/dist/usage.d.ts +103 -47
- package/dist/usage.js +183 -32
- package/dist/workspace.d.ts +34 -34
- package/dist/workspace.js +1 -1
- package/dist/zod-values.d.ts +3 -0
- package/dist/zod-values.js +2 -0
- package/dist/zod.d.ts +2 -0
- package/dist/zod.js +2 -0
- package/generated/v1/examples/attempts.list.response.json +6 -0
- package/generated/v1/examples/attempts.read.response.json +6 -0
- package/generated/v1/examples/billing.autotopup.request.json +5 -0
- package/generated/v1/examples/billing.autotopup.response.json +120 -0
- package/generated/v1/examples/billing.autotopuppreview.request.json +19 -0
- package/generated/v1/examples/billing.autotopuppreview.response.json +45 -0
- package/generated/v1/examples/billing.budgets.request.json +13 -0
- package/generated/v1/examples/billing.budgets.response.json +22 -0
- package/generated/v1/examples/billing.ceiling.request.json +8 -0
- package/generated/v1/examples/billing.ceiling.response.json +120 -0
- package/generated/v1/examples/billing.change.request.json +5 -0
- package/generated/v1/examples/billing.change.response.json +12 -0
- package/generated/v1/examples/billing.funding.response.json +120 -0
- package/generated/v1/examples/billing.fundingconfirm.response.json +120 -0
- package/generated/v1/examples/billing.fundingquote.request.json +7 -0
- package/generated/v1/examples/billing.fundingquote.response.json +13 -0
- package/generated/v1/examples/billing.invoicehistory.response.json +6 -0
- package/generated/v1/examples/billing.invoices.response.json +15 -0
- package/generated/v1/examples/billing.ledger.response.json +23 -0
- package/generated/v1/examples/billing.notices.response.json +41 -0
- package/generated/v1/examples/billing.notificationsettings.response.json +17 -0
- package/generated/v1/examples/billing.notificationsettingsupdate.request.json +9 -0
- package/generated/v1/examples/billing.notificationsettingsupdate.response.json +17 -0
- package/generated/v1/examples/billing.paymenthistory.response.json +6 -0
- package/generated/v1/examples/billing.paymentmethod.response.json +16 -0
- package/generated/v1/examples/billing.paymentmethodconfirm.request.json +3 -0
- package/generated/v1/examples/billing.paymentmethodconfirm.response.json +16 -0
- package/generated/v1/examples/billing.paymentmethodremove.request.json +3 -0
- package/generated/v1/examples/billing.paymentmethodremove.response.json +4 -0
- package/generated/v1/examples/billing.paymentmethodsetup.request.json +1 -0
- package/generated/v1/examples/billing.paymentmethodsetup.response.json +3 -0
- package/generated/v1/examples/billing.portal.response.json +3 -0
- package/generated/v1/examples/billing.projects.response.json +12 -0
- package/generated/v1/examples/billing.purchase.request.json +5 -0
- package/generated/v1/examples/billing.purchase.response.json +120 -0
- package/generated/v1/examples/billing.quote.request.json +4 -0
- package/generated/v1/examples/billing.quote.response.json +19 -0
- package/generated/v1/examples/billing.reconcile.response.json +73 -0
- package/generated/v1/examples/billing.refundrequest.request.json +10 -0
- package/generated/v1/examples/billing.refundrequest.response.json +11 -0
- package/generated/v1/examples/billing.refundresolution.request.json +4 -0
- package/generated/v1/examples/billing.refundresolution.response.json +120 -0
- package/generated/v1/examples/billing.summary.response.json +73 -0
- package/generated/v1/examples/endpoints.acknowledgeSigningKeyRotation.response.json +18 -0
- package/generated/v1/examples/endpoints.create.response.json +1 -1
- package/generated/v1/examples/endpoints.disable.response.json +0 -1
- package/generated/v1/examples/{endpoints.verify.response.json → endpoints.enable.response.json} +4 -5
- package/generated/v1/examples/endpoints.list.response.json +1 -2
- package/generated/v1/examples/endpoints.read.response.json +2 -2
- package/generated/v1/examples/endpoints.revealSigningSecret.response.json +7 -0
- package/generated/v1/examples/endpoints.rotateSigningKey.response.json +1 -2
- package/generated/v1/examples/endpoints.update.response.json +1 -1
- package/generated/v1/examples/executions.list.response.json +20 -0
- package/generated/v1/examples/exports.cancel.response.json +11 -0
- package/generated/v1/examples/exports.create.request.json +1 -0
- package/generated/v1/examples/exports.create.response.json +8 -0
- package/generated/v1/examples/exports.part.response.json +5 -0
- package/generated/v1/examples/exports.read.response.json +8 -0
- package/generated/v1/examples/limits.read.response.json +16 -0
- package/generated/v1/examples/occurrences.read.response.json +4 -0
- package/generated/v1/examples/occurrences.redeliver.response.json +2 -0
- package/generated/v1/examples/organizations.close.request.json +5 -0
- package/generated/v1/examples/organizations.close.response.json +10 -0
- package/generated/v1/examples/organizations.lifecycle.response.json +10 -0
- package/generated/v1/examples/organizations.restore.request.json +3 -0
- package/generated/v1/examples/organizations.restore.response.json +10 -0
- package/generated/v1/examples/projects.archive.request.json +3 -0
- package/generated/v1/examples/projects.archive.response.json +14 -0
- package/generated/v1/examples/projects.create.response.json +10 -1
- package/generated/v1/examples/projects.delete.response.json +9 -0
- package/generated/v1/examples/projects.list.response.json +12 -2
- package/generated/v1/examples/projects.rename.request.json +3 -0
- package/generated/v1/examples/projects.rename.response.json +14 -0
- package/generated/v1/examples/schedules.archive.response.json +3 -0
- package/generated/v1/examples/schedules.cancel.response.json +3 -0
- package/generated/v1/examples/schedules.create.request.json +4 -0
- package/generated/v1/examples/schedules.create.response.json +3 -0
- package/generated/v1/examples/schedules.list.response.json +3 -0
- package/generated/v1/examples/schedules.pause.response.json +3 -0
- package/generated/v1/examples/schedules.read.response.json +6 -0
- package/generated/v1/examples/schedules.replace.request.json +4 -0
- package/generated/v1/examples/schedules.replace.response.json +3 -0
- package/generated/v1/examples/schedules.resume.response.json +3 -0
- package/generated/v1/examples/timing.summary.response.json +35 -0
- package/generated/v1/examples/usage.read.response.json +1 -0
- package/generated/v1/first-value-journey.json +43 -18
- package/generated/v1/manifest.json +1287 -42
- package/generated/v1/openapi.json +36033 -5982
- package/generated/v1/policy-matrix.json +341 -47
- package/generated/v1/schemas/attempts.list.response.json +39 -1
- package/generated/v1/schemas/attempts.read.response.json +39 -1
- package/generated/v1/schemas/billing.autotopup.request-headers.json +13 -0
- package/generated/v1/schemas/billing.autotopup.request.json +22 -0
- package/generated/v1/schemas/billing.autotopup.response-headers.json +10 -0
- package/generated/v1/schemas/billing.autotopup.response.json +552 -0
- package/generated/v1/schemas/billing.autotopuppreview.request.json +77 -0
- package/generated/v1/schemas/billing.autotopuppreview.response.json +277 -0
- package/generated/v1/schemas/billing.budgets.request-headers.json +13 -0
- package/generated/v1/schemas/billing.budgets.request.json +66 -0
- package/generated/v1/schemas/billing.budgets.response-headers.json +10 -0
- package/generated/v1/schemas/billing.budgets.response.json +92 -0
- package/generated/v1/schemas/billing.ceiling.request-headers.json +13 -0
- package/generated/v1/schemas/billing.ceiling.request.json +40 -0
- package/generated/v1/schemas/billing.ceiling.response-headers.json +10 -0
- package/generated/v1/schemas/billing.ceiling.response.json +552 -0
- package/generated/v1/schemas/billing.change.request-headers.json +13 -0
- package/generated/v1/schemas/billing.change.request.json +22 -0
- package/generated/v1/schemas/billing.change.response.json +119 -0
- package/generated/v1/schemas/billing.funding.response.json +552 -0
- package/generated/v1/schemas/billing.fundingconfirm.response.json +552 -0
- package/generated/v1/schemas/billing.fundingquote.request.json +28 -0
- package/generated/v1/schemas/billing.fundingquote.response.json +61 -0
- package/generated/v1/schemas/billing.invoicehistory.query.json +16 -0
- package/generated/v1/schemas/billing.invoicehistory.response.json +88 -0
- package/generated/v1/schemas/billing.invoices.response.json +51 -0
- package/generated/v1/schemas/billing.ledger.query.json +16 -0
- package/generated/v1/schemas/billing.ledger.response.json +130 -0
- package/generated/v1/schemas/billing.notices.query.json +16 -0
- package/generated/v1/schemas/billing.notices.response.json +278 -0
- package/generated/v1/schemas/billing.notificationsettings.response.json +70 -0
- package/generated/v1/schemas/billing.notificationsettingsupdate.request-headers.json +13 -0
- package/generated/v1/schemas/billing.notificationsettingsupdate.request.json +43 -0
- package/generated/v1/schemas/billing.notificationsettingsupdate.response-headers.json +10 -0
- package/generated/v1/schemas/billing.notificationsettingsupdate.response.json +70 -0
- package/generated/v1/schemas/billing.paymenthistory.query.json +16 -0
- package/generated/v1/schemas/billing.paymenthistory.response.json +182 -0
- package/generated/v1/schemas/billing.paymentmethod.response.json +137 -0
- package/generated/v1/schemas/billing.paymentmethodconfirm.request.json +14 -0
- package/generated/v1/schemas/billing.paymentmethodconfirm.response.json +137 -0
- package/generated/v1/schemas/billing.paymentmethodremove.request.json +12 -0
- package/generated/v1/schemas/billing.paymentmethodremove.response.json +137 -0
- package/generated/v1/schemas/billing.paymentmethodsetup.request.json +12 -0
- package/generated/v1/schemas/billing.paymentmethodsetup.response.json +11 -0
- package/generated/v1/schemas/billing.portal.response.json +11 -0
- package/generated/v1/schemas/billing.projects.response.json +119 -0
- package/generated/v1/schemas/billing.purchase.request-headers.json +13 -0
- package/generated/v1/schemas/billing.purchase.request.json +26 -0
- package/generated/v1/schemas/billing.purchase.response-headers.json +10 -0
- package/generated/v1/schemas/billing.purchase.response.json +552 -0
- package/generated/v1/schemas/billing.quote.request.json +20 -0
- package/generated/v1/schemas/billing.quote.response.json +86 -0
- package/generated/v1/schemas/billing.reconcile.response.json +468 -0
- package/generated/v1/schemas/billing.refundrequest.request-headers.json +13 -0
- package/generated/v1/schemas/billing.refundrequest.request.json +42 -0
- package/generated/v1/schemas/billing.refundrequest.response-headers.json +10 -0
- package/generated/v1/schemas/billing.refundrequest.response.json +45 -0
- package/generated/v1/schemas/billing.refundresolution.request-headers.json +13 -0
- package/generated/v1/schemas/billing.refundresolution.request.json +61 -0
- package/generated/v1/schemas/billing.refundresolution.response-headers.json +10 -0
- package/generated/v1/schemas/billing.refundresolution.response.json +552 -0
- package/generated/v1/schemas/billing.summary.response.json +468 -0
- package/generated/v1/schemas/context.read.response.json +2 -0
- package/generated/v1/schemas/credentials.connection.response.json +2 -0
- package/generated/v1/schemas/credentials.create.request.json +2 -0
- package/generated/v1/schemas/credentials.create.response.json +2 -0
- package/generated/v1/schemas/credentials.list.response.json +2 -0
- package/generated/v1/schemas/credentials.revoke.response.json +2 -0
- package/generated/v1/schemas/credentials.rotate.response.json +4 -0
- package/generated/v1/schemas/{endpoints.verify.request-headers.json → endpoints.acknowledgeSigningKeyRotation.request-headers.json} +2 -1
- package/generated/v1/schemas/{endpoints.verify.response.json → endpoints.acknowledgeSigningKeyRotation.response.json} +8 -21
- package/generated/v1/schemas/endpoints.create.request.json +5 -0
- package/generated/v1/schemas/endpoints.create.response.json +8 -21
- package/generated/v1/schemas/endpoints.disable.response.json +8 -21
- package/generated/v1/schemas/endpoints.enable.response-headers.json +11 -0
- package/generated/v1/schemas/endpoints.enable.response.json +87 -0
- package/generated/v1/schemas/endpoints.list.response.json +8 -21
- package/generated/v1/schemas/endpoints.read.response.json +8 -21
- package/generated/v1/schemas/endpoints.revealSigningSecret.response.json +43 -0
- package/generated/v1/schemas/endpoints.rotateSigningKey.response.json +8 -21
- package/generated/v1/schemas/endpoints.update.request.json +5 -0
- package/generated/v1/schemas/endpoints.update.response.json +8 -21
- package/generated/v1/schemas/executions.list.query.json +46 -0
- package/generated/v1/schemas/executions.list.response.json +116 -0
- package/generated/v1/schemas/exports.cancel.response.json +48 -0
- package/generated/v1/schemas/exports.create.request.json +6 -0
- package/generated/v1/schemas/exports.create.response.json +38 -0
- package/generated/v1/schemas/exports.part.query.json +11 -0
- package/generated/v1/schemas/exports.part.response.json +22 -0
- package/generated/v1/schemas/exports.read.response.json +38 -0
- package/generated/v1/schemas/forecast.read.request-headers.json +10 -0
- package/generated/v1/schemas/forecast.read.response.json +148 -0
- package/generated/v1/schemas/grants.list.response.json +2 -0
- package/generated/v1/schemas/grants.revoke.response.json +2 -0
- package/generated/v1/schemas/limits.read.response.json +79 -0
- package/generated/v1/schemas/occurrences.list.query.json +5 -0
- package/generated/v1/schemas/occurrences.list.response.json +23 -0
- package/generated/v1/schemas/occurrences.read.response.json +23 -0
- package/generated/v1/schemas/occurrences.redeliver.response.json +39 -1
- package/generated/v1/schemas/organizations.close.request.json +20 -0
- package/generated/v1/schemas/organizations.close.response.json +68 -0
- package/generated/v1/schemas/organizations.lifecycle.response.json +68 -0
- package/generated/v1/schemas/organizations.restore.request.json +13 -0
- package/generated/v1/schemas/organizations.restore.response.json +68 -0
- package/generated/v1/schemas/projects.archive.request-headers.json +11 -0
- package/generated/v1/schemas/projects.archive.request.json +10 -0
- package/generated/v1/schemas/projects.archive.response-headers.json +11 -0
- package/generated/v1/schemas/projects.archive.response.json +79 -0
- package/generated/v1/schemas/projects.create.response.json +55 -1
- package/generated/v1/schemas/projects.delete.request-headers.json +11 -0
- package/generated/v1/schemas/projects.delete.response.json +37 -0
- package/generated/v1/schemas/projects.list.response.json +61 -2
- package/generated/v1/schemas/projects.rename.request-headers.json +11 -0
- package/generated/v1/schemas/projects.rename.request.json +12 -0
- package/generated/v1/schemas/projects.rename.response-headers.json +11 -0
- package/generated/v1/schemas/projects.rename.response.json +79 -0
- package/generated/v1/schemas/schedules.archive.response.json +90 -2
- package/generated/v1/schemas/schedules.cancel.response.json +90 -2
- package/generated/v1/schemas/schedules.create.request.json +24 -3
- package/generated/v1/schemas/schedules.create.response.json +90 -2
- package/generated/v1/schemas/schedules.list.query.json +13 -0
- package/generated/v1/schemas/schedules.list.response.json +67 -2
- package/generated/v1/schemas/schedules.pause.response.json +90 -2
- package/generated/v1/schemas/schedules.read.response.json +90 -2
- package/generated/v1/schemas/schedules.replace.request.json +24 -3
- package/generated/v1/schemas/schedules.replace.response.json +90 -2
- package/generated/v1/schemas/schedules.resume.response.json +90 -2
- package/generated/v1/schemas/timing.summary.response.json +191 -0
- package/generated/v1/schemas/usage.read.query.json +7 -0
- package/generated/v1/schemas/usage.read.response.json +36 -1
- package/generated/v1/snippets/billing.autotopup.json +6 -0
- package/generated/v1/snippets/billing.autotopuppreview.json +6 -0
- package/generated/v1/snippets/billing.budgets.json +6 -0
- package/generated/v1/snippets/billing.ceiling.json +6 -0
- package/generated/v1/snippets/billing.change.json +6 -0
- package/generated/v1/snippets/billing.funding.json +6 -0
- package/generated/v1/snippets/billing.fundingconfirm.json +6 -0
- package/generated/v1/snippets/billing.fundingquote.json +6 -0
- package/generated/v1/snippets/billing.invoicehistory.json +6 -0
- package/generated/v1/snippets/billing.invoices.json +6 -0
- package/generated/v1/snippets/billing.ledger.json +6 -0
- package/generated/v1/snippets/billing.notices.json +6 -0
- package/generated/v1/snippets/billing.notificationsettings.json +6 -0
- package/generated/v1/snippets/billing.notificationsettingsupdate.json +6 -0
- package/generated/v1/snippets/billing.paymenthistory.json +6 -0
- package/generated/v1/snippets/billing.paymentmethod.json +6 -0
- package/generated/v1/snippets/billing.paymentmethodconfirm.json +6 -0
- package/generated/v1/snippets/billing.paymentmethodremove.json +6 -0
- package/generated/v1/snippets/billing.paymentmethodsetup.json +6 -0
- package/generated/v1/snippets/billing.portal.json +6 -0
- package/generated/v1/snippets/billing.projects.json +6 -0
- package/generated/v1/snippets/billing.purchase.json +6 -0
- package/generated/v1/snippets/billing.quote.json +6 -0
- package/generated/v1/snippets/billing.reconcile.json +6 -0
- package/generated/v1/snippets/billing.refundrequest.json +6 -0
- package/generated/v1/snippets/billing.refundresolution.json +6 -0
- package/generated/v1/snippets/billing.summary.json +6 -0
- package/generated/v1/snippets/endpoints.acknowledgeSigningKeyRotation.json +6 -0
- package/generated/v1/snippets/{endpoints.verify.json → endpoints.enable.json} +3 -3
- package/generated/v1/snippets/endpoints.revealSigningSecret.json +6 -0
- package/generated/v1/snippets/executions.list.json +6 -0
- package/generated/v1/snippets/exports.cancel.json +6 -0
- package/generated/v1/snippets/exports.create.json +6 -0
- package/generated/v1/snippets/exports.part.json +6 -0
- package/generated/v1/snippets/exports.read.json +6 -0
- package/generated/v1/snippets/forecast.windows.json +1 -1
- package/generated/v1/snippets/limits.read.json +6 -0
- package/generated/v1/snippets/organizations.close.json +6 -0
- package/generated/v1/snippets/organizations.lifecycle.json +6 -0
- package/generated/v1/snippets/organizations.restore.json +6 -0
- package/generated/v1/snippets/projects.archive.json +6 -0
- package/generated/v1/snippets/projects.delete.json +6 -0
- package/generated/v1/snippets/projects.rename.json +6 -0
- package/generated/v1/snippets/schedules.create.json +3 -3
- package/generated/v1/snippets/schedules.replace.json +3 -3
- package/generated/v1/snippets/timing.summary.json +6 -0
- package/package.json +7 -7
- package/dist/callback-ownership.d.ts +0 -58
- package/dist/callback-ownership.js +0 -71
- package/generated/v1/callback-endpoint-verification.json +0 -59
- /package/generated/v1/schemas/{endpoints.verify.response-headers.json → endpoints.acknowledgeSigningKeyRotation.response-headers.json} +0 -0
package/dist/test-sink.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
1
|
+
import { z } from "./zod.js";
|
|
2
2
|
import { type CallbackCompletionOutcome } from "./delivery.js";
|
|
3
3
|
/**
|
|
4
4
|
* The deterministic test sink and the receiver contract it and the shipped
|
|
@@ -54,7 +54,7 @@ import { type CallbackCompletionOutcome } from "./delivery.js";
|
|
|
54
54
|
* is the whole of what an integrator rehearsing deferral needs to see.
|
|
55
55
|
*/
|
|
56
56
|
export declare const TEST_SINK_BEHAVIORS: readonly ["client_error", "defer_abandon", "defer_fail", "defer_succeed", "delay", "disconnect", "duplicate", "invalid_signature", "rate_limited", "server_error", "success", "timeout"];
|
|
57
|
-
export declare const testSinkBehaviorSchema:
|
|
57
|
+
export declare const testSinkBehaviorSchema: import("zod").ZodEnum<{
|
|
58
58
|
rate_limited: "rate_limited";
|
|
59
59
|
success: "success";
|
|
60
60
|
server_error: "server_error";
|
|
@@ -154,8 +154,8 @@ export declare const TEST_SINK_SERVER_ERROR_STATUSES: readonly [500, 502, 503, 5
|
|
|
154
154
|
* occurrence's attempts: a sink is a destination and does not get to know which
|
|
155
155
|
* occurrence the sender considers current.
|
|
156
156
|
*/
|
|
157
|
-
export declare const testSinkProgramSchema:
|
|
158
|
-
behavior:
|
|
157
|
+
export declare const testSinkProgramSchema: import("zod").ZodObject<{
|
|
158
|
+
behavior: import("zod").ZodEnum<{
|
|
159
159
|
rate_limited: "rate_limited";
|
|
160
160
|
success: "success";
|
|
161
161
|
server_error: "server_error";
|
|
@@ -169,12 +169,12 @@ export declare const testSinkProgramSchema: z.ZodObject<{
|
|
|
169
169
|
invalid_signature: "invalid_signature";
|
|
170
170
|
timeout: "timeout";
|
|
171
171
|
}>;
|
|
172
|
-
completionDelayMs:
|
|
173
|
-
delayMs:
|
|
174
|
-
forDeliveries:
|
|
175
|
-
retryAfterSeconds:
|
|
176
|
-
status:
|
|
177
|
-
then:
|
|
172
|
+
completionDelayMs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
173
|
+
delayMs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
174
|
+
forDeliveries: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
175
|
+
retryAfterSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
176
|
+
status: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
177
|
+
then: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
178
178
|
rate_limited: "rate_limited";
|
|
179
179
|
success: "success";
|
|
180
180
|
server_error: "server_error";
|
|
@@ -188,7 +188,7 @@ export declare const testSinkProgramSchema: z.ZodObject<{
|
|
|
188
188
|
invalid_signature: "invalid_signature";
|
|
189
189
|
timeout: "timeout";
|
|
190
190
|
}>>;
|
|
191
|
-
},
|
|
191
|
+
}, import("zod/v4/core").$strip>;
|
|
192
192
|
export type TestSinkProgram = z.infer<typeof testSinkProgramSchema>;
|
|
193
193
|
/**
|
|
194
194
|
* What each behavior does, as data rather than prose, so the published artifact
|
|
@@ -382,7 +382,7 @@ export declare function resolveTestSinkAction(program: TestSinkProgram, delivery
|
|
|
382
382
|
* yet produced.
|
|
383
383
|
*/
|
|
384
384
|
export declare const CALLBACK_RECEIVER_DISPOSITIONS: readonly ["body_too_large", "duplicate", "handler_failed", "in_flight", "invalid_envelope", "invalid_headers", "invalid_signature", "processed", "replay", "stale_timestamp"];
|
|
385
|
-
export declare const callbackReceiverDispositionSchema:
|
|
385
|
+
export declare const callbackReceiverDispositionSchema: import("zod").ZodEnum<{
|
|
386
386
|
duplicate: "duplicate";
|
|
387
387
|
invalid_signature: "invalid_signature";
|
|
388
388
|
body_too_large: "body_too_large";
|
|
@@ -406,7 +406,7 @@ export type CallbackReceiverDisposition = z.infer<typeof callbackReceiverDisposi
|
|
|
406
406
|
* makes that list useful — every member maps to exactly one status.
|
|
407
407
|
*/
|
|
408
408
|
export declare const TEST_SINK_DISPOSITIONS: readonly ["body_too_large", "duplicate", "handler_failed", "in_flight", "invalid_envelope", "invalid_headers", "invalid_signature", "processed", "replay", "stale_timestamp", "connection_dropped"];
|
|
409
|
-
export declare const testSinkDispositionSchema:
|
|
409
|
+
export declare const testSinkDispositionSchema: import("zod").ZodEnum<{
|
|
410
410
|
duplicate: "duplicate";
|
|
411
411
|
invalid_signature: "invalid_signature";
|
|
412
412
|
body_too_large: "body_too_large";
|
|
@@ -476,8 +476,8 @@ export declare const CALLBACK_RECEIVER_STATUS: {
|
|
|
476
476
|
* read by a machine, and a body that carries an exception message is how a
|
|
477
477
|
* receiver leaks its internals to whoever can provoke an error.
|
|
478
478
|
*/
|
|
479
|
-
export declare const callbackReceiverAcknowledgementSchema:
|
|
480
|
-
disposition:
|
|
479
|
+
export declare const callbackReceiverAcknowledgementSchema: import("zod").ZodObject<{
|
|
480
|
+
disposition: import("zod").ZodEnum<{
|
|
481
481
|
duplicate: "duplicate";
|
|
482
482
|
invalid_signature: "invalid_signature";
|
|
483
483
|
body_too_large: "body_too_large";
|
|
@@ -489,17 +489,17 @@ export declare const callbackReceiverAcknowledgementSchema: z.ZodObject<{
|
|
|
489
489
|
replay: "replay";
|
|
490
490
|
stale_timestamp: "stale_timestamp";
|
|
491
491
|
}>;
|
|
492
|
-
occurrenceId:
|
|
493
|
-
},
|
|
492
|
+
occurrenceId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
493
|
+
}, import("zod/v4/core").$strip>;
|
|
494
494
|
export type CallbackReceiverAcknowledgement = z.infer<typeof callbackReceiverAcknowledgementSchema>;
|
|
495
|
-
export declare const testSinkSchema:
|
|
496
|
-
createdAt:
|
|
497
|
-
deliveryCount:
|
|
498
|
-
endpoint:
|
|
499
|
-
environmentKind:
|
|
500
|
-
id:
|
|
501
|
-
program:
|
|
502
|
-
behavior:
|
|
495
|
+
export declare const testSinkSchema: import("zod").ZodObject<{
|
|
496
|
+
createdAt: import("zod").ZodString;
|
|
497
|
+
deliveryCount: import("zod").ZodNumber;
|
|
498
|
+
endpoint: import("zod").ZodString;
|
|
499
|
+
environmentKind: import("zod").ZodLiteral<"test">;
|
|
500
|
+
id: import("zod").ZodString;
|
|
501
|
+
program: import("zod").ZodObject<{
|
|
502
|
+
behavior: import("zod").ZodEnum<{
|
|
503
503
|
rate_limited: "rate_limited";
|
|
504
504
|
success: "success";
|
|
505
505
|
server_error: "server_error";
|
|
@@ -513,12 +513,12 @@ export declare const testSinkSchema: z.ZodObject<{
|
|
|
513
513
|
invalid_signature: "invalid_signature";
|
|
514
514
|
timeout: "timeout";
|
|
515
515
|
}>;
|
|
516
|
-
completionDelayMs:
|
|
517
|
-
delayMs:
|
|
518
|
-
forDeliveries:
|
|
519
|
-
retryAfterSeconds:
|
|
520
|
-
status:
|
|
521
|
-
then:
|
|
516
|
+
completionDelayMs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
517
|
+
delayMs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
518
|
+
forDeliveries: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
519
|
+
retryAfterSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
520
|
+
status: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
521
|
+
then: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
522
522
|
rate_limited: "rate_limited";
|
|
523
523
|
success: "success";
|
|
524
524
|
server_error: "server_error";
|
|
@@ -532,21 +532,21 @@ export declare const testSinkSchema: z.ZodObject<{
|
|
|
532
532
|
invalid_signature: "invalid_signature";
|
|
533
533
|
timeout: "timeout";
|
|
534
534
|
}>>;
|
|
535
|
-
},
|
|
536
|
-
project:
|
|
537
|
-
updatedAt:
|
|
538
|
-
url:
|
|
539
|
-
},
|
|
535
|
+
}, import("zod/v4/core").$strip>;
|
|
536
|
+
project: import("zod").ZodString;
|
|
537
|
+
updatedAt: import("zod").ZodString;
|
|
538
|
+
url: import("zod").ZodURL;
|
|
539
|
+
}, import("zod/v4/core").$strip>;
|
|
540
540
|
export type TestSink = z.infer<typeof testSinkSchema>;
|
|
541
|
-
export declare const testSinkPageSchema:
|
|
542
|
-
data:
|
|
543
|
-
createdAt:
|
|
544
|
-
deliveryCount:
|
|
545
|
-
endpoint:
|
|
546
|
-
environmentKind:
|
|
547
|
-
id:
|
|
548
|
-
program:
|
|
549
|
-
behavior:
|
|
541
|
+
export declare const testSinkPageSchema: import("zod").ZodObject<{
|
|
542
|
+
data: import("zod").ZodArray<import("zod").ZodObject<{
|
|
543
|
+
createdAt: import("zod").ZodString;
|
|
544
|
+
deliveryCount: import("zod").ZodNumber;
|
|
545
|
+
endpoint: import("zod").ZodString;
|
|
546
|
+
environmentKind: import("zod").ZodLiteral<"test">;
|
|
547
|
+
id: import("zod").ZodString;
|
|
548
|
+
program: import("zod").ZodObject<{
|
|
549
|
+
behavior: import("zod").ZodEnum<{
|
|
550
550
|
rate_limited: "rate_limited";
|
|
551
551
|
success: "success";
|
|
552
552
|
server_error: "server_error";
|
|
@@ -560,12 +560,12 @@ export declare const testSinkPageSchema: z.ZodObject<{
|
|
|
560
560
|
invalid_signature: "invalid_signature";
|
|
561
561
|
timeout: "timeout";
|
|
562
562
|
}>;
|
|
563
|
-
completionDelayMs:
|
|
564
|
-
delayMs:
|
|
565
|
-
forDeliveries:
|
|
566
|
-
retryAfterSeconds:
|
|
567
|
-
status:
|
|
568
|
-
then:
|
|
563
|
+
completionDelayMs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
564
|
+
delayMs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
565
|
+
forDeliveries: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
566
|
+
retryAfterSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
567
|
+
status: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
568
|
+
then: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
569
569
|
rate_limited: "rate_limited";
|
|
570
570
|
success: "success";
|
|
571
571
|
server_error: "server_error";
|
|
@@ -579,25 +579,25 @@ export declare const testSinkPageSchema: z.ZodObject<{
|
|
|
579
579
|
invalid_signature: "invalid_signature";
|
|
580
580
|
timeout: "timeout";
|
|
581
581
|
}>>;
|
|
582
|
-
},
|
|
583
|
-
project:
|
|
584
|
-
updatedAt:
|
|
585
|
-
url:
|
|
586
|
-
},
|
|
587
|
-
freshness:
|
|
588
|
-
kind:
|
|
589
|
-
},
|
|
590
|
-
asOf:
|
|
591
|
-
kind:
|
|
592
|
-
lagSeconds:
|
|
593
|
-
},
|
|
594
|
-
nextCursor:
|
|
595
|
-
},
|
|
582
|
+
}, import("zod/v4/core").$strip>;
|
|
583
|
+
project: import("zod").ZodString;
|
|
584
|
+
updatedAt: import("zod").ZodString;
|
|
585
|
+
url: import("zod").ZodURL;
|
|
586
|
+
}, import("zod/v4/core").$strip>>;
|
|
587
|
+
freshness: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
588
|
+
kind: import("zod").ZodLiteral<"authoritative">;
|
|
589
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
590
|
+
asOf: import("zod").ZodString;
|
|
591
|
+
kind: import("zod").ZodLiteral<"projected">;
|
|
592
|
+
lagSeconds: import("zod").ZodNumber;
|
|
593
|
+
}, import("zod/v4/core").$strip>], "kind">;
|
|
594
|
+
nextCursor: import("zod").ZodOptional<import("zod").ZodString>;
|
|
595
|
+
}, import("zod/v4/core").$strip>;
|
|
596
596
|
export type TestSinkPage = z.infer<typeof testSinkPageSchema>;
|
|
597
|
-
export declare const testSinkCreateRequestSchema:
|
|
598
|
-
endpoint:
|
|
599
|
-
program:
|
|
600
|
-
behavior:
|
|
597
|
+
export declare const testSinkCreateRequestSchema: import("zod").ZodObject<{
|
|
598
|
+
endpoint: import("zod").ZodString;
|
|
599
|
+
program: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
600
|
+
behavior: import("zod").ZodEnum<{
|
|
601
601
|
rate_limited: "rate_limited";
|
|
602
602
|
success: "success";
|
|
603
603
|
server_error: "server_error";
|
|
@@ -611,12 +611,12 @@ export declare const testSinkCreateRequestSchema: z.ZodObject<{
|
|
|
611
611
|
invalid_signature: "invalid_signature";
|
|
612
612
|
timeout: "timeout";
|
|
613
613
|
}>;
|
|
614
|
-
completionDelayMs:
|
|
615
|
-
delayMs:
|
|
616
|
-
forDeliveries:
|
|
617
|
-
retryAfterSeconds:
|
|
618
|
-
status:
|
|
619
|
-
then:
|
|
614
|
+
completionDelayMs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
615
|
+
delayMs: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
616
|
+
forDeliveries: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
617
|
+
retryAfterSeconds: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
618
|
+
status: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
619
|
+
then: import("zod").ZodOptional<import("zod").ZodEnum<{
|
|
620
620
|
rate_limited: "rate_limited";
|
|
621
621
|
success: "success";
|
|
622
622
|
server_error: "server_error";
|
|
@@ -630,8 +630,8 @@ export declare const testSinkCreateRequestSchema: z.ZodObject<{
|
|
|
630
630
|
invalid_signature: "invalid_signature";
|
|
631
631
|
timeout: "timeout";
|
|
632
632
|
}>>;
|
|
633
|
-
},
|
|
634
|
-
},
|
|
633
|
+
}, import("zod/v4/core").$strip>>;
|
|
634
|
+
}, import("zod/v4/core").$strip>;
|
|
635
635
|
export type TestSinkCreateRequest = z.infer<typeof testSinkCreateRequestSchema>;
|
|
636
636
|
/**
|
|
637
637
|
* One received delivery, as the sink recorded it.
|
|
@@ -640,8 +640,8 @@ export type TestSinkCreateRequest = z.infer<typeof testSinkCreateRequestSchema>;
|
|
|
640
640
|
* what a *list* returns. The exact body is available only from the single-record
|
|
641
641
|
* read, capped, and only in a test environment — see `testSinkDeliveryBodySchema`.
|
|
642
642
|
*/
|
|
643
|
-
export declare const testSinkDeliverySchema:
|
|
644
|
-
behavior:
|
|
643
|
+
export declare const testSinkDeliverySchema: import("zod").ZodObject<{
|
|
644
|
+
behavior: import("zod").ZodEnum<{
|
|
645
645
|
rate_limited: "rate_limited";
|
|
646
646
|
success: "success";
|
|
647
647
|
server_error: "server_error";
|
|
@@ -655,7 +655,7 @@ export declare const testSinkDeliverySchema: z.ZodObject<{
|
|
|
655
655
|
invalid_signature: "invalid_signature";
|
|
656
656
|
timeout: "timeout";
|
|
657
657
|
}>;
|
|
658
|
-
disposition:
|
|
658
|
+
disposition: import("zod").ZodEnum<{
|
|
659
659
|
duplicate: "duplicate";
|
|
660
660
|
invalid_signature: "invalid_signature";
|
|
661
661
|
body_too_large: "body_too_large";
|
|
@@ -668,19 +668,19 @@ export declare const testSinkDeliverySchema: z.ZodObject<{
|
|
|
668
668
|
stale_timestamp: "stale_timestamp";
|
|
669
669
|
connection_dropped: "connection_dropped";
|
|
670
670
|
}>;
|
|
671
|
-
delivery:
|
|
672
|
-
id:
|
|
673
|
-
keyId:
|
|
674
|
-
occurrenceId:
|
|
675
|
-
receivedAt:
|
|
676
|
-
respondedWith:
|
|
677
|
-
scheduleId:
|
|
678
|
-
sink:
|
|
679
|
-
},
|
|
671
|
+
delivery: import("zod").ZodString;
|
|
672
|
+
id: import("zod").ZodString;
|
|
673
|
+
keyId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
674
|
+
occurrenceId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
675
|
+
receivedAt: import("zod").ZodString;
|
|
676
|
+
respondedWith: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
677
|
+
scheduleId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
678
|
+
sink: import("zod").ZodString;
|
|
679
|
+
}, import("zod/v4/core").$strip>;
|
|
680
680
|
export type TestSinkDelivery = z.infer<typeof testSinkDeliverySchema>;
|
|
681
|
-
export declare const testSinkDeliveryPageSchema:
|
|
682
|
-
data:
|
|
683
|
-
behavior:
|
|
681
|
+
export declare const testSinkDeliveryPageSchema: import("zod").ZodObject<{
|
|
682
|
+
data: import("zod").ZodArray<import("zod").ZodObject<{
|
|
683
|
+
behavior: import("zod").ZodEnum<{
|
|
684
684
|
rate_limited: "rate_limited";
|
|
685
685
|
success: "success";
|
|
686
686
|
server_error: "server_error";
|
|
@@ -694,7 +694,7 @@ export declare const testSinkDeliveryPageSchema: z.ZodObject<{
|
|
|
694
694
|
invalid_signature: "invalid_signature";
|
|
695
695
|
timeout: "timeout";
|
|
696
696
|
}>;
|
|
697
|
-
disposition:
|
|
697
|
+
disposition: import("zod").ZodEnum<{
|
|
698
698
|
duplicate: "duplicate";
|
|
699
699
|
invalid_signature: "invalid_signature";
|
|
700
700
|
body_too_large: "body_too_large";
|
|
@@ -707,24 +707,24 @@ export declare const testSinkDeliveryPageSchema: z.ZodObject<{
|
|
|
707
707
|
stale_timestamp: "stale_timestamp";
|
|
708
708
|
connection_dropped: "connection_dropped";
|
|
709
709
|
}>;
|
|
710
|
-
delivery:
|
|
711
|
-
id:
|
|
712
|
-
keyId:
|
|
713
|
-
occurrenceId:
|
|
714
|
-
receivedAt:
|
|
715
|
-
respondedWith:
|
|
716
|
-
scheduleId:
|
|
717
|
-
sink:
|
|
718
|
-
},
|
|
719
|
-
freshness:
|
|
720
|
-
kind:
|
|
721
|
-
},
|
|
722
|
-
asOf:
|
|
723
|
-
kind:
|
|
724
|
-
lagSeconds:
|
|
725
|
-
},
|
|
726
|
-
nextCursor:
|
|
727
|
-
},
|
|
710
|
+
delivery: import("zod").ZodString;
|
|
711
|
+
id: import("zod").ZodString;
|
|
712
|
+
keyId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
713
|
+
occurrenceId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
714
|
+
receivedAt: import("zod").ZodString;
|
|
715
|
+
respondedWith: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
716
|
+
scheduleId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
717
|
+
sink: import("zod").ZodString;
|
|
718
|
+
}, import("zod/v4/core").$strip>>;
|
|
719
|
+
freshness: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
|
|
720
|
+
kind: import("zod").ZodLiteral<"authoritative">;
|
|
721
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
722
|
+
asOf: import("zod").ZodString;
|
|
723
|
+
kind: import("zod").ZodLiteral<"projected">;
|
|
724
|
+
lagSeconds: import("zod").ZodNumber;
|
|
725
|
+
}, import("zod/v4/core").$strip>], "kind">;
|
|
726
|
+
nextCursor: import("zod").ZodOptional<import("zod").ZodString>;
|
|
727
|
+
}, import("zod/v4/core").$strip>;
|
|
728
728
|
export type TestSinkDeliveryPage = z.infer<typeof testSinkDeliveryPageSchema>;
|
|
729
729
|
/**
|
|
730
730
|
* One received delivery including the bytes that arrived.
|
|
@@ -745,8 +745,8 @@ export type TestSinkDeliveryPage = z.infer<typeof testSinkDeliveryPageSchema>;
|
|
|
745
745
|
* comparing it against a locally computed one is how a receiver author finds a
|
|
746
746
|
* body-mutation bug; no signing key has a field anywhere in this file.
|
|
747
747
|
*/
|
|
748
|
-
export declare const testSinkDeliveryBodySchema:
|
|
749
|
-
behavior:
|
|
748
|
+
export declare const testSinkDeliveryBodySchema: import("zod").ZodObject<{
|
|
749
|
+
behavior: import("zod").ZodEnum<{
|
|
750
750
|
rate_limited: "rate_limited";
|
|
751
751
|
success: "success";
|
|
752
752
|
server_error: "server_error";
|
|
@@ -760,7 +760,7 @@ export declare const testSinkDeliveryBodySchema: z.ZodObject<{
|
|
|
760
760
|
invalid_signature: "invalid_signature";
|
|
761
761
|
timeout: "timeout";
|
|
762
762
|
}>;
|
|
763
|
-
disposition:
|
|
763
|
+
disposition: import("zod").ZodEnum<{
|
|
764
764
|
duplicate: "duplicate";
|
|
765
765
|
invalid_signature: "invalid_signature";
|
|
766
766
|
body_too_large: "body_too_large";
|
|
@@ -773,19 +773,19 @@ export declare const testSinkDeliveryBodySchema: z.ZodObject<{
|
|
|
773
773
|
stale_timestamp: "stale_timestamp";
|
|
774
774
|
connection_dropped: "connection_dropped";
|
|
775
775
|
}>;
|
|
776
|
-
delivery:
|
|
777
|
-
id:
|
|
778
|
-
keyId:
|
|
779
|
-
occurrenceId:
|
|
780
|
-
receivedAt:
|
|
781
|
-
respondedWith:
|
|
782
|
-
scheduleId:
|
|
783
|
-
sink:
|
|
784
|
-
body:
|
|
785
|
-
bodyTruncated:
|
|
786
|
-
receivedBytes:
|
|
787
|
-
signature:
|
|
788
|
-
},
|
|
776
|
+
delivery: import("zod").ZodString;
|
|
777
|
+
id: import("zod").ZodString;
|
|
778
|
+
keyId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
779
|
+
occurrenceId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
780
|
+
receivedAt: import("zod").ZodString;
|
|
781
|
+
respondedWith: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
782
|
+
scheduleId: import("zod").ZodOptional<import("zod").ZodString>;
|
|
783
|
+
sink: import("zod").ZodString;
|
|
784
|
+
body: import("zod").ZodString;
|
|
785
|
+
bodyTruncated: import("zod").ZodBoolean;
|
|
786
|
+
receivedBytes: import("zod").ZodNumber;
|
|
787
|
+
signature: import("zod").ZodOptional<import("zod").ZodString>;
|
|
788
|
+
}, import("zod/v4/core").$strip>;
|
|
789
789
|
export type TestSinkDeliveryBody = z.infer<typeof testSinkDeliveryBodySchema>;
|
|
790
790
|
/**
|
|
791
791
|
* Dated, and moved on 2026-08-23 because the sink gained the three deferring
|
package/dist/test-sink.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
1
|
+
import { z } from "./zod.js";
|
|
2
2
|
import { CALLBACK_DEFERRAL_STATUS, CALLBACK_PENDING_DISCRIMINATOR, } from "./delivery.js";
|
|
3
3
|
import { callbackSigningKeyIdSchema, deliveryIdSchema, endpointIdSchema, occurrenceIdSchema, projectIdSchema, scheduleIdSchema, testSinkDeliveryIdSchema, testSinkIdSchema, } from "./identifiers.js";
|
|
4
4
|
import { CALLBACK_RECEIVER_MAX_BODY_BYTES } from "./callback-receiver.js";
|
package/dist/time.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export declare const timestampSchema:
|
|
1
|
+
import { z } from "./zod.js";
|
|
2
|
+
export declare const timestampSchema: import("zod").ZodString;
|
|
3
3
|
export type Timestamp = z.infer<typeof timestampSchema>;
|
|
4
4
|
/** Formats an instant in the one representation the wire accepts. */
|
|
5
5
|
export declare function toTimestamp(instant: Date): Timestamp;
|
|
@@ -7,7 +7,7 @@ export declare function toTimestamp(instant: Date): Timestamp;
|
|
|
7
7
|
* Durations are whole seconds, never strings. Bounds belong to the resource
|
|
8
8
|
* that uses them; this only fixes the representation.
|
|
9
9
|
*/
|
|
10
|
-
export declare const durationSecondsSchema:
|
|
10
|
+
export declare const durationSecondsSchema: import("zod").ZodNumber;
|
|
11
11
|
export type DurationSeconds = z.infer<typeof durationSecondsSchema>;
|
|
12
12
|
/**
|
|
13
13
|
* An IANA timezone name, carried alongside a recurrence rather than encoded
|
|
@@ -41,5 +41,5 @@ export type DurationSeconds = z.infer<typeof durationSecondsSchema>;
|
|
|
41
41
|
* `toTimestamp` for instants. Throws on a name the runtime does not know.
|
|
42
42
|
*/
|
|
43
43
|
export declare function toTimeZone(value: string): string;
|
|
44
|
-
export declare const timeZoneSchema:
|
|
44
|
+
export declare const timeZoneSchema: import("zod").ZodPipe<import("zod").ZodString, import("zod").ZodTransform<string, string>>;
|
|
45
45
|
export type TimeZone = z.infer<typeof timeZoneSchema>;
|
package/dist/time.js
CHANGED
package/dist/timing.d.ts
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { z } from "./zod.js";
|
|
2
|
+
export declare const DELIVERY_TIMING_TARGETS_MS: readonly [5000, 15000];
|
|
3
|
+
export declare const DELIVERY_TIMING_VERDICTS: readonly ["met", "missed", "unknown"];
|
|
4
|
+
export declare const timingThresholdSummarySchema: import("zod").ZodObject<{
|
|
5
|
+
breachCount: import("zod").ZodInt;
|
|
6
|
+
customerBlockedCount: import("zod").ZodInt;
|
|
7
|
+
eligibleOutstandingBreachCount: import("zod").ZodInt;
|
|
8
|
+
maturedCount: import("zod").ZodInt;
|
|
9
|
+
targetMs: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<5000>, import("zod").ZodLiteral<15000>]>;
|
|
10
|
+
verdict: import("zod").ZodEnum<{
|
|
11
|
+
unknown: "unknown";
|
|
12
|
+
met: "met";
|
|
13
|
+
missed: "missed";
|
|
14
|
+
}>;
|
|
15
|
+
withinTargetCount: import("zod").ZodInt;
|
|
16
|
+
}, import("zod/v4/core").$strip>;
|
|
17
|
+
export type TimingThresholdView = z.infer<typeof timingThresholdSummarySchema>;
|
|
18
|
+
/**
|
|
19
|
+
* Exact rolling 24-hour due-time cohort for one project and timing policy.
|
|
20
|
+
*
|
|
21
|
+
* Counts include eligible work that has not fired, so successful deliveries
|
|
22
|
+
* alone cannot manufacture a healthy verdict. Percentiles describe delivered
|
|
23
|
+
* samples only and remain separate from the exact threshold counters.
|
|
24
|
+
*/
|
|
25
|
+
export declare const deliveryTimingSummarySchema: import("zod").ZodObject<{
|
|
26
|
+
customerBlockedCount: import("zod").ZodInt;
|
|
27
|
+
deliveredSampleCount: import("zod").ZodInt;
|
|
28
|
+
freshness: import("zod").ZodObject<{
|
|
29
|
+
kind: import("zod").ZodLiteral<"authoritative">;
|
|
30
|
+
}, import("zod/v4/core").$strip>;
|
|
31
|
+
missingEvidenceCount: import("zod").ZodInt;
|
|
32
|
+
p95LatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
|
|
33
|
+
p99LatenessMs: import("zod").ZodOptional<import("zod").ZodInt>;
|
|
34
|
+
platformBlockedCount: import("zod").ZodInt;
|
|
35
|
+
policyVersion: import("zod").ZodString;
|
|
36
|
+
skippedCount: import("zod").ZodInt;
|
|
37
|
+
targets: import("zod").ZodTuple<[import("zod").ZodObject<{
|
|
38
|
+
breachCount: import("zod").ZodInt;
|
|
39
|
+
customerBlockedCount: import("zod").ZodInt;
|
|
40
|
+
eligibleOutstandingBreachCount: import("zod").ZodInt;
|
|
41
|
+
maturedCount: import("zod").ZodInt;
|
|
42
|
+
targetMs: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<5000>, import("zod").ZodLiteral<15000>]>;
|
|
43
|
+
verdict: import("zod").ZodEnum<{
|
|
44
|
+
unknown: "unknown";
|
|
45
|
+
met: "met";
|
|
46
|
+
missed: "missed";
|
|
47
|
+
}>;
|
|
48
|
+
withinTargetCount: import("zod").ZodInt;
|
|
49
|
+
}, import("zod/v4/core").$strip>, import("zod").ZodObject<{
|
|
50
|
+
breachCount: import("zod").ZodInt;
|
|
51
|
+
customerBlockedCount: import("zod").ZodInt;
|
|
52
|
+
eligibleOutstandingBreachCount: import("zod").ZodInt;
|
|
53
|
+
maturedCount: import("zod").ZodInt;
|
|
54
|
+
targetMs: import("zod").ZodUnion<readonly [import("zod").ZodLiteral<5000>, import("zod").ZodLiteral<15000>]>;
|
|
55
|
+
verdict: import("zod").ZodEnum<{
|
|
56
|
+
unknown: "unknown";
|
|
57
|
+
met: "met";
|
|
58
|
+
missed: "missed";
|
|
59
|
+
}>;
|
|
60
|
+
withinTargetCount: import("zod").ZodInt;
|
|
61
|
+
}, import("zod/v4/core").$strip>], null>;
|
|
62
|
+
windowEnd: import("zod").ZodString;
|
|
63
|
+
windowStart: import("zod").ZodString;
|
|
64
|
+
}, import("zod/v4/core").$strip>;
|
|
65
|
+
export type DeliveryTimingSummaryView = z.infer<typeof deliveryTimingSummarySchema>;
|
package/dist/timing.js
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { z } from "./zod.js";
|
|
2
|
+
import { timestampSchema } from "./time.js";
|
|
3
|
+
export const DELIVERY_TIMING_TARGETS_MS = [5_000, 15_000];
|
|
4
|
+
export const DELIVERY_TIMING_VERDICTS = ["met", "missed", "unknown"];
|
|
5
|
+
const integerSchema = z.int();
|
|
6
|
+
const countSchema = integerSchema.nonnegative();
|
|
7
|
+
export const timingThresholdSummarySchema = z
|
|
8
|
+
.object({
|
|
9
|
+
breachCount: countSchema,
|
|
10
|
+
customerBlockedCount: countSchema,
|
|
11
|
+
eligibleOutstandingBreachCount: countSchema,
|
|
12
|
+
maturedCount: countSchema,
|
|
13
|
+
targetMs: z.union([z.literal(5_000), z.literal(15_000)]),
|
|
14
|
+
verdict: z.enum(DELIVERY_TIMING_VERDICTS),
|
|
15
|
+
withinTargetCount: countSchema,
|
|
16
|
+
})
|
|
17
|
+
.superRefine((value, context) => {
|
|
18
|
+
const within = BigInt(value.withinTargetCount);
|
|
19
|
+
const breaches = BigInt(value.breachCount);
|
|
20
|
+
const matured = BigInt(value.maturedCount);
|
|
21
|
+
if (within + breaches !== matured) {
|
|
22
|
+
context.addIssue({
|
|
23
|
+
code: z.ZodIssueCode.custom,
|
|
24
|
+
message: "within-target and breach counts must equal the matured count",
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
if (value.eligibleOutstandingBreachCount > value.breachCount) {
|
|
28
|
+
context.addIssue({
|
|
29
|
+
code: z.ZodIssueCode.custom,
|
|
30
|
+
message: "outstanding eligible breaches must be part of the breach count",
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (value.maturedCount === 0 && value.verdict !== "unknown") {
|
|
34
|
+
context.addIssue({
|
|
35
|
+
code: z.ZodIssueCode.custom,
|
|
36
|
+
message: "a threshold with no matured samples has an unknown verdict",
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
const requiredPercentage = value.targetMs === 5_000 ? 95n : 99n;
|
|
40
|
+
const expectedVerdict = matured === 0n
|
|
41
|
+
? "unknown"
|
|
42
|
+
: within * 100n >= matured * requiredPercentage
|
|
43
|
+
? "met"
|
|
44
|
+
: "missed";
|
|
45
|
+
if (value.verdict !== expectedVerdict) {
|
|
46
|
+
context.addIssue({
|
|
47
|
+
code: z.ZodIssueCode.custom,
|
|
48
|
+
message: `${String(value.targetMs)}ms verdict must match its exact threshold counts`,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
/**
|
|
53
|
+
* Exact rolling 24-hour due-time cohort for one project and timing policy.
|
|
54
|
+
*
|
|
55
|
+
* Counts include eligible work that has not fired, so successful deliveries
|
|
56
|
+
* alone cannot manufacture a healthy verdict. Percentiles describe delivered
|
|
57
|
+
* samples only and remain separate from the exact threshold counters.
|
|
58
|
+
*/
|
|
59
|
+
export const deliveryTimingSummarySchema = z.object({
|
|
60
|
+
customerBlockedCount: countSchema,
|
|
61
|
+
deliveredSampleCount: countSchema,
|
|
62
|
+
freshness: z.object({ kind: z.literal("authoritative") }),
|
|
63
|
+
missingEvidenceCount: countSchema,
|
|
64
|
+
p95LatenessMs: integerSchema.optional(),
|
|
65
|
+
p99LatenessMs: integerSchema.optional(),
|
|
66
|
+
platformBlockedCount: countSchema,
|
|
67
|
+
policyVersion: z.string().min(1).max(64),
|
|
68
|
+
skippedCount: countSchema,
|
|
69
|
+
targets: z
|
|
70
|
+
.tuple([timingThresholdSummarySchema, timingThresholdSummarySchema])
|
|
71
|
+
.superRefine((targets, context) => {
|
|
72
|
+
if (targets[0].targetMs !== DELIVERY_TIMING_TARGETS_MS[0] ||
|
|
73
|
+
targets[1].targetMs !== DELIVERY_TIMING_TARGETS_MS[1]) {
|
|
74
|
+
context.addIssue({
|
|
75
|
+
code: z.ZodIssueCode.custom,
|
|
76
|
+
message: "targets must be the pinned 5000ms and 15000ms thresholds",
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
}),
|
|
80
|
+
windowEnd: timestampSchema,
|
|
81
|
+
windowStart: timestampSchema,
|
|
82
|
+
});
|