@adcp/sdk 14.0.0-rc.38 → 14.0.0-rc.39
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/bin/adcp-storyboard-summary.js +286 -0
- package/bin/adcp.js +221 -10
- package/dist/lib/conformance/schemaLoader.d.mts +1 -1
- package/dist/lib/conformance/schemaLoader.d.ts +1 -1
- package/dist/lib/core/AgentClient.d.mts +6 -1
- package/dist/lib/core/AgentClient.d.ts +6 -1
- package/dist/lib/core/AgentClient.js +9 -0
- package/dist/lib/core/AgentClient.mjs +9 -0
- package/dist/lib/core/ConversationTypes.d.mts +29 -0
- package/dist/lib/core/ConversationTypes.d.ts +29 -0
- package/dist/lib/core/SingleAgentClient.d.mts +3 -1
- package/dist/lib/core/SingleAgentClient.d.ts +3 -1
- package/dist/lib/core/SingleAgentClient.js +9 -1
- package/dist/lib/core/SingleAgentClient.mjs +9 -1
- package/dist/lib/core/TaskExecutor.d.mts +13 -1
- package/dist/lib/core/TaskExecutor.d.ts +13 -1
- package/dist/lib/core/TaskExecutor.js +216 -18
- package/dist/lib/core/TaskExecutor.mjs +216 -19
- package/dist/lib/index.d.mts +5 -2
- package/dist/lib/index.d.ts +5 -2
- package/dist/lib/index.js +10 -1
- package/dist/lib/index.mjs +10 -1
- package/dist/lib/media-buy/action-assessment.d.mts +77 -0
- package/dist/lib/media-buy/action-assessment.d.ts +77 -0
- package/dist/lib/media-buy/action-assessment.js +300 -0
- package/dist/lib/media-buy/action-assessment.mjs +284 -0
- package/dist/lib/media-buy/action-constraints.d.mts +9 -0
- package/dist/lib/media-buy/action-constraints.d.ts +9 -0
- package/dist/lib/media-buy/action-constraints.js +170 -0
- package/dist/lib/media-buy/action-constraints.mjs +146 -0
- package/dist/lib/media-buy/action-contracts.d.mts +40 -0
- package/dist/lib/media-buy/action-contracts.d.ts +40 -0
- package/dist/lib/media-buy/action-contracts.js +304 -0
- package/dist/lib/media-buy/action-contracts.mjs +267 -0
- package/dist/lib/media-buy/action-metadata.generated.d.mts +37 -0
- package/dist/lib/media-buy/action-metadata.generated.d.ts +37 -0
- package/dist/lib/media-buy/action-metadata.generated.js +128 -0
- package/dist/lib/media-buy/action-metadata.generated.mjs +101 -0
- package/dist/lib/media-buy/action-types.d.mts +106 -0
- package/dist/lib/media-buy/action-types.d.ts +106 -0
- package/dist/lib/{types/v3-1-beta/tools.generated.js → media-buy/action-types.js} +2 -2
- package/dist/lib/media-buy/actions.d.mts +6 -0
- package/dist/lib/media-buy/actions.d.ts +6 -0
- package/dist/lib/media-buy/actions.js +38 -0
- package/dist/lib/media-buy/actions.mjs +9 -0
- package/dist/lib/media-buy/available-actions.d.mts +2 -1
- package/dist/lib/media-buy/available-actions.d.ts +2 -1
- package/dist/lib/media-buy/available-actions.js +4 -3
- package/dist/lib/media-buy/available-actions.mjs +4 -3
- package/dist/lib/media-buy/compatibility.js +3 -0
- package/dist/lib/media-buy/compatibility.mjs +3 -0
- package/dist/lib/media-buy/index.d.mts +4 -0
- package/dist/lib/media-buy/index.d.ts +4 -0
- package/dist/lib/media-buy/index.js +3 -1
- package/dist/lib/media-buy/index.mjs +1 -0
- package/dist/lib/media-buy/legacy-action-ids.d.mts +1 -0
- package/dist/lib/media-buy/legacy-action-ids.d.ts +1 -0
- package/dist/lib/media-buy/legacy-action-ids.js +50 -0
- package/dist/lib/media-buy/legacy-action-ids.mjs +26 -0
- package/dist/lib/media-buy/mutations.d.mts +70 -0
- package/dist/lib/media-buy/mutations.d.ts +70 -0
- package/dist/lib/media-buy/mutations.js +525 -0
- package/dist/lib/media-buy/mutations.mjs +498 -0
- package/dist/lib/media-buy/preflight.d.mts +20 -69
- package/dist/lib/media-buy/preflight.d.ts +20 -69
- package/dist/lib/media-buy/preflight.js +100 -336
- package/dist/lib/media-buy/preflight.mjs +111 -333
- package/dist/lib/media-buy/targeting-input.d.mts +7 -4
- package/dist/lib/media-buy/targeting-input.d.ts +7 -4
- package/dist/lib/media-buy/types.d.mts +55 -7
- package/dist/lib/media-buy/types.d.ts +55 -7
- package/dist/lib/protocols/rawResponseCapture.d.mts +12 -0
- package/dist/lib/protocols/rawResponseCapture.d.ts +12 -0
- package/dist/lib/protocols/rawResponseCapture.js +33 -3
- package/dist/lib/protocols/rawResponseCapture.mjs +32 -3
- package/dist/lib/registry/types.generated.d.mts +377 -9
- package/dist/lib/registry/types.generated.d.ts +377 -9
- package/dist/lib/reporting/evidence.d.mts +1 -0
- package/dist/lib/reporting/evidence.d.ts +1 -0
- package/dist/lib/reporting/evidence.js +32 -3
- package/dist/lib/reporting/evidence.mjs +31 -3
- package/dist/lib/reporting/ledger/handler.d.mts +51 -1
- package/dist/lib/reporting/ledger/handler.d.ts +51 -1
- package/dist/lib/reporting/ledger/handler.js +306 -38
- package/dist/lib/reporting/ledger/handler.mjs +304 -37
- package/dist/lib/reporting/ledger/health.d.mts +12 -0
- package/dist/lib/reporting/ledger/health.d.ts +12 -0
- package/dist/lib/reporting/ledger/health.js +15 -2
- package/dist/lib/reporting/ledger/health.mjs +13 -1
- package/dist/lib/reporting/ledger/index.d.mts +3 -0
- package/dist/lib/reporting/ledger/index.d.ts +3 -0
- package/dist/lib/reporting/ledger/index.js +7 -1
- package/dist/lib/reporting/ledger/index.mjs +3 -0
- package/dist/lib/reporting/ledger/lifecycle.d.mts +31 -4
- package/dist/lib/reporting/ledger/lifecycle.d.ts +31 -4
- package/dist/lib/reporting/ledger/lifecycle.js +244 -37
- package/dist/lib/reporting/ledger/lifecycle.mjs +244 -37
- package/dist/lib/reporting/ledger/managed-postgres.d.mts +231 -0
- package/dist/lib/reporting/ledger/managed-postgres.d.ts +231 -0
- package/dist/lib/reporting/ledger/managed-postgres.js +1797 -0
- package/dist/lib/reporting/ledger/managed-postgres.mjs +1776 -0
- package/dist/lib/reporting/ledger/managed.d.mts +355 -0
- package/dist/lib/reporting/ledger/managed.d.ts +355 -0
- package/dist/lib/reporting/ledger/managed.js +661 -0
- package/dist/lib/reporting/ledger/managed.mjs +633 -0
- package/dist/lib/reporting/ledger/notification-activity.d.mts +222 -0
- package/dist/lib/reporting/ledger/notification-activity.d.ts +222 -0
- package/dist/lib/reporting/ledger/notification-activity.js +1139 -0
- package/dist/lib/reporting/ledger/notification-activity.mjs +1110 -0
- package/dist/lib/reporting/ledger/postgres.d.mts +161 -1
- package/dist/lib/reporting/ledger/postgres.d.ts +161 -1
- package/dist/lib/reporting/ledger/postgres.js +1153 -21
- package/dist/lib/reporting/ledger/postgres.mjs +1152 -21
- package/dist/lib/reporting/ledger/producer.d.mts +8 -0
- package/dist/lib/reporting/ledger/producer.d.ts +8 -0
- package/dist/lib/reporting/ledger/producer.js +146 -52
- package/dist/lib/reporting/ledger/producer.mjs +146 -51
- package/dist/lib/reporting/ledger/types.d.mts +358 -1
- package/dist/lib/reporting/ledger/types.d.ts +358 -1
- package/dist/lib/reporting/ledger/types.js +3 -0
- package/dist/lib/reporting/ledger/types.mjs +2 -0
- package/dist/lib/reporting/service/conformance.d.mts +35 -0
- package/dist/lib/reporting/service/conformance.d.ts +35 -0
- package/dist/lib/reporting/service/conformance.js +89 -0
- package/dist/lib/reporting/service/conformance.mjs +68 -0
- package/dist/lib/reporting/service/index.d.mts +182 -0
- package/dist/lib/reporting/service/index.d.ts +182 -0
- package/dist/lib/reporting/service/index.js +793 -0
- package/dist/lib/reporting/service/index.mjs +787 -0
- package/dist/lib/reporting/source/index.d.mts +2 -1
- package/dist/lib/reporting/source/index.d.ts +2 -1
- package/dist/lib/reporting/source/index.js +16 -3
- package/dist/lib/reporting/source/index.mjs +12 -1
- package/dist/lib/reporting/source/inline.d.mts +88 -1
- package/dist/lib/reporting/source/inline.d.ts +88 -1
- package/dist/lib/reporting/source/inline.js +1161 -163
- package/dist/lib/reporting/source/inline.mjs +1166 -163
- package/dist/lib/reporting/source/manifest.js +12 -7
- package/dist/lib/reporting/source/manifest.mjs +12 -7
- package/dist/lib/reporting/source/source.d.mts +26 -0
- package/dist/lib/reporting/source/source.d.ts +26 -0
- package/dist/lib/reporting/source/source.js +71 -2
- package/dist/lib/reporting/source/source.mjs +65 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/create-adcp-server.d.mts +18 -0
- package/dist/lib/server/create-adcp-server.d.ts +18 -0
- package/dist/lib/server/create-adcp-server.js +52 -2
- package/dist/lib/server/create-adcp-server.mjs +52 -2
- package/dist/lib/server/decisioning/account.d.mts +1 -1
- package/dist/lib/server/decisioning/account.d.ts +1 -1
- package/dist/lib/server/decisioning/index.d.mts +1 -0
- package/dist/lib/server/decisioning/index.d.ts +1 -0
- package/dist/lib/server/decisioning/platform.d.mts +3 -0
- package/dist/lib/server/decisioning/platform.d.ts +3 -0
- package/dist/lib/server/decisioning/runtime/from-platform.js +88 -10
- package/dist/lib/server/decisioning/runtime/from-platform.mjs +88 -10
- package/dist/lib/server/decisioning/specialisms/reporting.d.mts +38 -0
- package/dist/lib/server/decisioning/specialisms/reporting.d.ts +38 -0
- package/dist/lib/{types/v3-1-beta/index.js → server/decisioning/specialisms/reporting.js} +2 -8
- package/dist/lib/server/decisioning/specialisms/reporting.mjs +0 -0
- package/dist/lib/server/index.d.mts +4 -2
- package/dist/lib/server/index.d.ts +4 -2
- package/dist/lib/server/index.js +5 -0
- package/dist/lib/server/index.mjs +4 -0
- package/dist/lib/server/media-buy-action-resolver.d.mts +63 -0
- package/dist/lib/server/media-buy-action-resolver.d.ts +63 -0
- package/dist/lib/server/media-buy-action-resolver.js +297 -0
- package/dist/lib/server/media-buy-action-resolver.mjs +285 -0
- package/dist/lib/server/media-buy-actions.d.mts +7 -8
- package/dist/lib/server/media-buy-actions.d.ts +7 -8
- package/dist/lib/server/media-buy-actions.js +57 -14
- package/dist/lib/server/media-buy-actions.mjs +63 -14
- package/dist/lib/server/notification-subscriptions/index.d.mts +2 -2
- package/dist/lib/server/notification-subscriptions/index.d.ts +2 -2
- package/dist/lib/server/notification-subscriptions/index.js +2 -0
- package/dist/lib/server/notification-subscriptions/index.mjs +2 -0
- package/dist/lib/server/notification-subscriptions/postgres-runtime.d.mts +3 -1
- package/dist/lib/server/notification-subscriptions/postgres-runtime.d.ts +3 -1
- package/dist/lib/server/notification-subscriptions/postgres-runtime.js +1 -0
- package/dist/lib/server/notification-subscriptions/postgres-runtime.mjs +1 -0
- package/dist/lib/server/notification-subscriptions/runtime.d.mts +12 -1
- package/dist/lib/server/notification-subscriptions/runtime.d.ts +12 -1
- package/dist/lib/server/notification-subscriptions/runtime.js +102 -16
- package/dist/lib/server/notification-subscriptions/runtime.mjs +101 -16
- package/dist/lib/server/notification-subscriptions/types.d.mts +104 -1
- package/dist/lib/server/notification-subscriptions/types.d.ts +104 -1
- package/dist/lib/server/webhook-emitter.d.mts +40 -5
- package/dist/lib/server/webhook-emitter.d.ts +40 -5
- package/dist/lib/server/webhook-emitter.js +23 -12
- package/dist/lib/server/webhook-emitter.mjs +23 -12
- package/dist/lib/storage/interfaces.d.mts +14 -2
- package/dist/lib/storage/interfaces.d.ts +14 -2
- package/dist/lib/testing/compliance/comply.d.mts +9 -3
- package/dist/lib/testing/compliance/comply.d.ts +9 -3
- package/dist/lib/testing/compliance/comply.js +158 -3
- package/dist/lib/testing/compliance/comply.mjs +159 -4
- package/dist/lib/testing/compliance/storyboard-tracks.js +7 -5
- package/dist/lib/testing/compliance/storyboard-tracks.mjs +7 -5
- package/dist/lib/testing/compliance/summary.js +10 -1
- package/dist/lib/testing/compliance/summary.mjs +10 -1
- package/dist/lib/testing/index.d.mts +1 -1
- package/dist/lib/testing/index.d.ts +1 -1
- package/dist/lib/testing/index.js +2 -0
- package/dist/lib/testing/index.mjs +3 -1
- package/dist/lib/testing/storyboard/agent-routing.d.mts +12 -43
- package/dist/lib/testing/storyboard/agent-routing.d.ts +12 -43
- package/dist/lib/testing/storyboard/agent-routing.js +75 -13
- package/dist/lib/testing/storyboard/agent-routing.mjs +70 -12
- package/dist/lib/testing/storyboard/index.d.mts +1 -0
- package/dist/lib/testing/storyboard/index.d.ts +1 -0
- package/dist/lib/testing/storyboard/index.js +3 -0
- package/dist/lib/testing/storyboard/index.mjs +2 -0
- package/dist/lib/testing/storyboard/junit.d.mts +1 -1
- package/dist/lib/testing/storyboard/junit.d.ts +1 -1
- package/dist/lib/testing/storyboard/junit.js +21 -2
- package/dist/lib/testing/storyboard/junit.mjs +21 -2
- package/dist/lib/testing/storyboard/probes.d.mts +130 -0
- package/dist/lib/testing/storyboard/probes.d.ts +130 -0
- package/dist/lib/testing/storyboard/probes.js +682 -10
- package/dist/lib/testing/storyboard/probes.mjs +683 -3
- package/dist/lib/testing/storyboard/request-signing/builder.d.mts +16 -5
- package/dist/lib/testing/storyboard/request-signing/builder.d.ts +16 -5
- package/dist/lib/testing/storyboard/request-signing/grader.d.mts +44 -1
- package/dist/lib/testing/storyboard/request-signing/grader.d.ts +44 -1
- package/dist/lib/testing/storyboard/request-signing/grader.js +46 -22
- package/dist/lib/testing/storyboard/request-signing/grader.mjs +43 -21
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.mts +86 -11
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.ts +86 -11
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.js +119 -25
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.mjs +117 -26
- package/dist/lib/testing/storyboard/request-signing/synthesize.js +22 -2
- package/dist/lib/testing/storyboard/request-signing/synthesize.mjs +22 -2
- package/dist/lib/testing/storyboard/runner.d.mts +103 -0
- package/dist/lib/testing/storyboard/runner.d.ts +103 -0
- package/dist/lib/testing/storyboard/runner.js +1090 -268
- package/dist/lib/testing/storyboard/runner.mjs +1096 -261
- package/dist/lib/testing/storyboard/seeding.d.mts +4 -1
- package/dist/lib/testing/storyboard/seeding.d.ts +4 -1
- package/dist/lib/testing/storyboard/seeding.js +55 -24
- package/dist/lib/testing/storyboard/seeding.mjs +55 -24
- package/dist/lib/testing/storyboard/test-kit.d.mts +37 -3
- package/dist/lib/testing/storyboard/test-kit.d.ts +37 -3
- package/dist/lib/testing/storyboard/test-kit.js +8 -2
- package/dist/lib/testing/storyboard/test-kit.mjs +7 -2
- package/dist/lib/testing/storyboard/types.d.mts +132 -10
- package/dist/lib/testing/storyboard/types.d.ts +132 -10
- package/dist/lib/testing/storyboard/types.js +17 -0
- package/dist/lib/testing/storyboard/types.mjs +16 -0
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/testing/storyboard/validations.js +16 -0
- package/dist/lib/testing/storyboard/validations.mjs +16 -0
- package/dist/lib/testing/test-controller.d.mts +1 -1
- package/dist/lib/testing/test-controller.d.ts +1 -1
- package/dist/lib/types/buy-products.d.ts +71 -6
- package/dist/lib/types/control-media-buy.d.ts +25 -11
- package/dist/lib/types/core.generated.d.mts +69 -10
- package/dist/lib/types/core.generated.d.ts +69 -10
- package/dist/lib/types/create-media-buy.d.ts +71 -6
- package/dist/lib/types/forward-compat-error-codes.d.mts +7 -6
- package/dist/lib/types/forward-compat-error-codes.d.ts +7 -6
- package/dist/lib/types/index.d.mts +2 -2
- package/dist/lib/types/index.d.ts +2 -2
- package/dist/lib/types/schemas.generated.d.ts +8040 -8116
- package/dist/lib/types/schemas.generated.js +1074 -309
- package/dist/lib/types/schemas.generated.mjs +1068 -309
- package/dist/lib/types/tools.generated.d.mts +65 -6
- package/dist/lib/types/tools.generated.d.ts +65 -6
- package/dist/lib/types/update-media-buy.d.ts +71 -6
- package/dist/lib/utils/redact-secrets.d.mts +1 -1
- package/dist/lib/utils/redact-secrets.d.ts +1 -1
- package/dist/lib/utils/redact-secrets.js +1 -1
- package/dist/lib/utils/redact-secrets.mjs +1 -1
- package/dist/lib/v2/projection/cache-versions.d.mts +0 -1
- package/dist/lib/v2/projection/cache-versions.d.ts +0 -1
- package/dist/lib/v2/projection/cache-versions.js +1 -15
- package/dist/lib/v2/projection/cache-versions.mjs +1 -14
- package/dist/lib/v2/projection/canonical-properties.js +2 -2
- package/dist/lib/v2/projection/canonical-properties.mjs +3 -3
- package/dist/lib/v2/projection/registry.d.mts +1 -1
- package/dist/lib/v2/projection/registry.d.ts +1 -1
- package/dist/lib/v2/projection/registry.js +2 -2
- package/dist/lib/v2/projection/registry.mjs +3 -3
- package/dist/lib/version.d.mts +5 -5
- package/dist/lib/version.d.ts +5 -5
- package/dist/lib/version.js +3 -8
- package/dist/lib/version.mjs +3 -8
- package/dist/lib/wholesale-feed-sync/index.d.mts +1 -0
- package/dist/lib/wholesale-feed-sync/index.d.ts +1 -0
- package/dist/lib/wholesale-feed-sync/protocol-types.d.mts +42 -0
- package/dist/lib/wholesale-feed-sync/protocol-types.d.ts +42 -0
- package/dist/lib/wholesale-feed-sync/protocol-types.js +16 -0
- package/dist/lib/wholesale-feed-sync/protocol-types.mjs +0 -0
- package/dist/lib/wholesale-feed-sync/sync.d.mts +6 -6
- package/dist/lib/wholesale-feed-sync/sync.d.ts +6 -6
- package/dist/lib/wholesale-feed-sync/sync.js +3 -1
- package/dist/lib/wholesale-feed-sync/sync.mjs +3 -1
- package/dist/lib/wholesale-feed-sync/types.d.mts +15 -14
- package/dist/lib/wholesale-feed-sync/types.d.ts +15 -14
- package/dist/lib/wholesale-feed-sync/webhook-notification.d.mts +7 -5
- package/dist/lib/wholesale-feed-sync/webhook-notification.d.ts +7 -5
- package/dist/lib/wholesale-feed-sync/webhook-notification.js +45 -0
- package/dist/lib/wholesale-feed-sync/webhook-notification.mjs +44 -0
- package/docs/CLI.md +1 -1
- package/docs/TYPE-SUMMARY.md +118 -4
- package/docs/guides/ASYNC-API-REFERENCE.md +62 -1
- package/docs/guides/ASYNC-DEVELOPER-GUIDE.md +25 -0
- package/docs/guides/ASYNC-DOCUMENTATION-INDEX.md +3 -0
- package/docs/guides/BUYER-QUICKSTART-3.2.md +5 -0
- package/docs/guides/DURABLE-BUYER-WRITES.md +337 -0
- package/docs/guides/EXISTING-PLATFORM.md +35 -0
- package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +7 -3
- package/docs/guides/MEDIA-BUY-ACTION-ASSESSMENT.md +300 -0
- package/docs/guides/REPORTING-LEDGER.md +654 -3
- package/docs/guides/REPORTING-SOURCE-EXECUTOR.md +63 -1
- package/docs/guides/SELLER-QUICKSTART-3.2.md +2 -0
- package/docs/guides/VALIDATE-YOUR-AGENT.md +35 -0
- package/docs/guides/idempotency-crash-recovery.md +4 -0
- package/docs/llms.txt +4 -2
- package/docs/migration-14.x-rc-worksheet.md +5 -5
- package/docs/migration-7.9-to-7.10.md +7 -5
- package/examples/README.md +17 -0
- package/examples/durable-buyer-writes/caller.ts +745 -0
- package/examples/durable-buyer-writes/worker.ts +240 -0
- package/examples/reliable-reporting-service/README.md +100 -0
- package/examples/seller-3.2-starter.ts +7 -8
- package/examples/targeting-input-existing-platform.ts +153 -0
- package/package.json +41 -29
- package/skills/build-seller-agent/specialisms/signed-requests.md +11 -1
- package/skills/cross-cutting.md +28 -11
- package/compliance/cache/3.1.0-beta.7/domains/brand/index.yaml +0 -160
- package/compliance/cache/3.1.0-beta.7/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -415
- package/compliance/cache/3.1.0-beta.7/domains/brand/scenarios/single_side_trust_extension.yaml +0 -454
- package/compliance/cache/3.1.0-beta.7/domains/creative/index.yaml +0 -339
- package/compliance/cache/3.1.0-beta.7/domains/creative/scenarios/billing_out_of_band.yaml +0 -153
- package/compliance/cache/3.1.0-beta.7/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -389
- package/compliance/cache/3.1.0-beta.7/domains/creative/scenarios/native_in_feed.yaml +0 -543
- package/compliance/cache/3.1.0-beta.7/domains/governance/index.yaml +0 -682
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/index.yaml +0 -781
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -380
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/available_actions.yaml +0 -565
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -354
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/canonical_formats.yaml +0 -711
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -264
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -344
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -234
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -419
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/creative_reception.yaml +0 -247
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/delivery_reporting.yaml +0 -357
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/dependency_impairment.yaml +0 -633
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -800
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -399
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -309
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_approved.yaml +0 -214
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_conditions.yaml +0 -199
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_denied.yaml +0 -204
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -252
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/invalid_transitions.yaml +0 -289
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -148
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -276
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/measurement_accountability.yaml +0 -244
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -203
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -274
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -500
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -428
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -470
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -373
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/proposal_finalize.yaml +0 -399
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -264
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -257
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -333
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -517
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -294
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -823
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -360
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/refine_products.yaml +0 -148
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -293
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -307
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -576
- package/compliance/cache/3.1.0-beta.7/domains/media-buy/state-machine.yaml +0 -442
- package/compliance/cache/3.1.0-beta.7/domains/signals/index.yaml +0 -266
- package/compliance/cache/3.1.0-beta.7/domains/sponsored-intelligence/index.yaml +0 -256
- package/compliance/cache/3.1.0-beta.7/index.json +0 -356
- package/compliance/cache/3.1.0-beta.7/protocols/brand/index.yaml +0 -160
- package/compliance/cache/3.1.0-beta.7/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -415
- package/compliance/cache/3.1.0-beta.7/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -454
- package/compliance/cache/3.1.0-beta.7/protocols/creative/index.yaml +0 -339
- package/compliance/cache/3.1.0-beta.7/protocols/creative/scenarios/billing_out_of_band.yaml +0 -153
- package/compliance/cache/3.1.0-beta.7/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -389
- package/compliance/cache/3.1.0-beta.7/protocols/creative/scenarios/native_in_feed.yaml +0 -543
- package/compliance/cache/3.1.0-beta.7/protocols/governance/index.yaml +0 -682
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/index.yaml +0 -781
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -380
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/available_actions.yaml +0 -565
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -354
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/canonical_formats.yaml +0 -711
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -264
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -344
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -234
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -419
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/creative_reception.yaml +0 -247
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -357
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -633
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -800
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -399
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -309
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_approved.yaml +0 -214
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_conditions.yaml +0 -199
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_denied.yaml +0 -204
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -252
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -289
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -148
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -276
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -244
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -203
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -274
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -500
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -428
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -470
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -373
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -399
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -264
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -257
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -333
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -517
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -294
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -823
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -360
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/refine_products.yaml +0 -148
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -293
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -307
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -576
- package/compliance/cache/3.1.0-beta.7/protocols/media-buy/state-machine.yaml +0 -442
- package/compliance/cache/3.1.0-beta.7/protocols/signals/index.yaml +0 -266
- package/compliance/cache/3.1.0-beta.7/protocols/sponsored-intelligence/index.yaml +0 -256
- package/compliance/cache/3.1.0-beta.7/specialisms/audience-sync/index.yaml +0 -313
- package/compliance/cache/3.1.0-beta.7/specialisms/brand-rights/index.yaml +0 -350
- package/compliance/cache/3.1.0-beta.7/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -226
- package/compliance/cache/3.1.0-beta.7/specialisms/collection-lists/index.yaml +0 -359
- package/compliance/cache/3.1.0-beta.7/specialisms/content-standards/index.yaml +0 -572
- package/compliance/cache/3.1.0-beta.7/specialisms/creative-ad-server/index.yaml +0 -409
- package/compliance/cache/3.1.0-beta.7/specialisms/creative-generative/generative-seller.yaml +0 -807
- package/compliance/cache/3.1.0-beta.7/specialisms/creative-generative/index.yaml +0 -758
- package/compliance/cache/3.1.0-beta.7/specialisms/creative-template/index.yaml +0 -510
- package/compliance/cache/3.1.0-beta.7/specialisms/governance-aware-seller/index.yaml +0 -143
- package/compliance/cache/3.1.0-beta.7/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -117
- package/compliance/cache/3.1.0-beta.7/specialisms/governance-delivery-monitor/index.yaml +0 -441
- package/compliance/cache/3.1.0-beta.7/specialisms/governance-spend-authority/denied.yaml +0 -221
- package/compliance/cache/3.1.0-beta.7/specialisms/governance-spend-authority/index.yaml +0 -330
- package/compliance/cache/3.1.0-beta.7/specialisms/property-lists/index.yaml +0 -482
- package/compliance/cache/3.1.0-beta.7/specialisms/sales-broadcast-tv/index.yaml +0 -738
- package/compliance/cache/3.1.0-beta.7/specialisms/sales-catalog-driven/index.yaml +0 -840
- package/compliance/cache/3.1.0-beta.7/specialisms/sales-guaranteed/index.yaml +0 -601
- package/compliance/cache/3.1.0-beta.7/specialisms/sales-non-guaranteed/index.yaml +0 -546
- package/compliance/cache/3.1.0-beta.7/specialisms/sales-proposal-mode/index.yaml +0 -586
- package/compliance/cache/3.1.0-beta.7/specialisms/sales-social/index.yaml +0 -919
- package/compliance/cache/3.1.0-beta.7/specialisms/signal-marketplace/index.yaml +0 -424
- package/compliance/cache/3.1.0-beta.7/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -211
- package/compliance/cache/3.1.0-beta.7/specialisms/signal-owned/index.yaml +0 -317
- package/compliance/cache/3.1.0-beta.7/specialisms/sponsored-intelligence/index.yaml +0 -59
- package/compliance/cache/3.1.0-beta.7/test-kits/acme-outdoor-live.yaml +0 -78
- package/compliance/cache/3.1.0-beta.7/test-kits/acme-outdoor.yaml +0 -223
- package/compliance/cache/3.1.0-beta.7/test-kits/billing-gate-runner.yaml +0 -115
- package/compliance/cache/3.1.0-beta.7/test-kits/bistro-oranje.yaml +0 -126
- package/compliance/cache/3.1.0-beta.7/test-kits/distributed-brand-runner.yaml +0 -281
- package/compliance/cache/3.1.0-beta.7/test-kits/nova-motors.yaml +0 -262
- package/compliance/cache/3.1.0-beta.7/test-kits/osei-natural.yaml +0 -126
- package/compliance/cache/3.1.0-beta.7/test-kits/parallel-dispatch-runner.yaml +0 -196
- package/compliance/cache/3.1.0-beta.7/test-kits/rate-limit-trip-runner.yaml +0 -172
- package/compliance/cache/3.1.0-beta.7/test-kits/signed-requests-runner.yaml +0 -155
- package/compliance/cache/3.1.0-beta.7/test-kits/single-side-trust-runner.yaml +0 -294
- package/compliance/cache/3.1.0-beta.7/test-kits/substitution-observer-runner.yaml +0 -688
- package/compliance/cache/3.1.0-beta.7/test-kits/summit-foods.yaml +0 -125
- package/compliance/cache/3.1.0-beta.7/test-kits/webhook-receiver-runner.yaml +0 -265
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/001-minimal-plan.json +0 -43
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/002-full-plan.json +0 -217
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -60
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/004a-human-review-omitted.json +0 -43
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -49
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -53
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -57
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -49
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -53
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/007-unicode-objectives.json +0 -43
- package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -65
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/README.md +0 -220
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/canonicalization.json +0 -241
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/keys.json +0 -60
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/001-no-signature-header.json +0 -24
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/002-wrong-tag.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/003-expired-signature.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/004-window-too-long.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -27
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -33
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/011-malformed-header.json +0 -27
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/013-expires-le-created.json +0 -27
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -27
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/015-signature-invalid.json +0 -28
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -35
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/017-key-revoked.json +0 -38
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -28
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/020-rate-abuse.json +0 -34
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -31
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -31
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -32
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -31
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -43
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -31
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -25
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/001-basic-post.json +0 -30
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -31
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/003-es256-post.json +0 -30
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -30
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -30
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -30
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -30
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -30
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -30
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -30
- package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -30
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/README.md +0 -211
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/keys.json +0 -61
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -25
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -25
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -37
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -32
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -33
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -32
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -41
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -26
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/001-basic-post.json +0 -24
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/002-es256-post.json +0 -24
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -24
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -24
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -24
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -24
- package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -25
- package/compliance/cache/3.1.0-beta.7/universal/billing-gate-dispatch.yaml +0 -450
- package/compliance/cache/3.1.0-beta.7/universal/canonical-format-validate-input.yaml +0 -640
- package/compliance/cache/3.1.0-beta.7/universal/capability-discovery.yaml +0 -125
- package/compliance/cache/3.1.0-beta.7/universal/collection-lists-pagination-integrity.yaml +0 -306
- package/compliance/cache/3.1.0-beta.7/universal/comply-controller-mode-gate.yaml +0 -141
- package/compliance/cache/3.1.0-beta.7/universal/content-standards-pagination-integrity.yaml +0 -326
- package/compliance/cache/3.1.0-beta.7/universal/deterministic-testing.yaml +0 -1430
- package/compliance/cache/3.1.0-beta.7/universal/error-compliance-signals.yaml +0 -377
- package/compliance/cache/3.1.0-beta.7/universal/error-compliance.yaml +0 -528
- package/compliance/cache/3.1.0-beta.7/universal/fictional-entities.yaml +0 -307
- package/compliance/cache/3.1.0-beta.7/universal/get-media-buys-pagination-integrity.yaml +0 -160
- package/compliance/cache/3.1.0-beta.7/universal/get-signals-pagination-integrity.yaml +0 -211
- package/compliance/cache/3.1.0-beta.7/universal/idempotency.yaml +0 -861
- package/compliance/cache/3.1.0-beta.7/universal/notification-config-event-scope.yaml +0 -119
- package/compliance/cache/3.1.0-beta.7/universal/notification-config-lifecycle.yaml +0 -337
- package/compliance/cache/3.1.0-beta.7/universal/notification-config-rejections.yaml +0 -107
- package/compliance/cache/3.1.0-beta.7/universal/pagination-integrity-creative-formats.yaml +0 -265
- package/compliance/cache/3.1.0-beta.7/universal/pagination-integrity-list-accounts.yaml +0 -245
- package/compliance/cache/3.1.0-beta.7/universal/pagination-integrity.yaml +0 -263
- package/compliance/cache/3.1.0-beta.7/universal/property-lists-pagination-integrity.yaml +0 -307
- package/compliance/cache/3.1.0-beta.7/universal/read-tool-idempotency.yaml +0 -405
- package/compliance/cache/3.1.0-beta.7/universal/runner-output-contract.yaml +0 -1266
- package/compliance/cache/3.1.0-beta.7/universal/schema-validation-signals.yaml +0 -181
- package/compliance/cache/3.1.0-beta.7/universal/schema-validation.yaml +0 -548
- package/compliance/cache/3.1.0-beta.7/universal/security.yaml +0 -539
- package/compliance/cache/3.1.0-beta.7/universal/signed-requests.yaml +0 -217
- package/compliance/cache/3.1.0-beta.7/universal/stale-response-advisory.yaml +0 -295
- package/compliance/cache/3.1.0-beta.7/universal/storyboard-schema.yaml +0 -2136
- package/compliance/cache/3.1.0-beta.7/universal/v3-envelope-integrity.yaml +0 -117
- package/compliance/cache/3.1.0-beta.7/universal/version-negotiation.yaml +0 -130
- package/compliance/cache/3.1.0-beta.7/universal/webhook-emission.yaml +0 -411
- package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-bulk-webhooks.yaml +0 -82
- package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-product-webhooks.yaml +0 -83
- package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-products.yaml +0 -151
- package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-signal-webhooks.yaml +0 -83
- package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-signals.yaml +0 -149
- package/dist/lib/types/v3-1-beta/index.d.mts +0 -1
- package/dist/lib/types/v3-1-beta/index.d.ts +0 -1
- package/dist/lib/types/v3-1-beta/index.mjs +0 -1
- package/dist/lib/types/v3-1-beta/tools.generated.d.mts +0 -26788
- package/dist/lib/types/v3-1-beta/tools.generated.d.ts +0 -26788
- /package/dist/lib/{types/v3-1-beta/tools.generated.mjs → media-buy/action-types.mjs} +0 -0
|
@@ -1,9 +1,22 @@
|
|
|
1
|
-
import type { GetReportingStatusResponse, ReportingAdjustment, ReportingConsumerStatus, ReportingRevision } from '../../types';
|
|
1
|
+
import type { GetReportingStatusResponse, ReportingAdjustment, ReportingAdjustmentReceipt, ReportingConsumerStatus, ReportingMaterialization, ReportingReceipt, ReportingRevision } from '../../types';
|
|
2
2
|
import type { AdcpToolMap, HandlerContext } from '../../server/create-adcp-server';
|
|
3
3
|
import type { ErrorRecovery } from '../../types/error-codes';
|
|
4
|
+
import type { ReportingScheduleAlignment } from '../../types/core.generated';
|
|
4
5
|
import type { ReportingSourceExecutorV1, ReportingSourceOfferingV1, ReportingSourceSliceRequestV1, ReportingSourceStagedObjectReaderV1, SourceBatchManifestReferenceV1 } from '../source';
|
|
6
|
+
/**
|
|
7
|
+
* Private-by-convention identity used to prove Core and Managed stores share
|
|
8
|
+
* one reporting authority. Store implementations may expose their own stable
|
|
9
|
+
* authority identity through this symbol; it is never serialized.
|
|
10
|
+
*/
|
|
11
|
+
export declare const REPORTING_LEDGER_AUTHORITY: unique symbol;
|
|
12
|
+
/** Shared identity used by separately constructed Core and opt-in reporting stores. */
|
|
13
|
+
export interface ReportingLedgerAuthorityV1 {
|
|
14
|
+
readonly substrate: unknown;
|
|
15
|
+
readonly managedDelivery: boolean;
|
|
16
|
+
}
|
|
5
17
|
export type ReportingHealthV1 = 'waiting' | 'healthy' | 'delayed' | 'action_required' | 'complete';
|
|
6
18
|
export type ReportingFinalityV1 = 'snapshot' | 'official';
|
|
19
|
+
export type ReportingObservedFinalityV1 = 'none' | ReportingFinalityV1;
|
|
7
20
|
export type ReportingLedgerAccountV1 = Readonly<{
|
|
8
21
|
account_id: string;
|
|
9
22
|
}>;
|
|
@@ -69,6 +82,20 @@ export interface ReportingLedgerConfigurationV1 {
|
|
|
69
82
|
recoveryWindowMilliseconds: number;
|
|
70
83
|
officialAfterMilliseconds?: number;
|
|
71
84
|
restatementMilliseconds?: number[];
|
|
85
|
+
/**
|
|
86
|
+
* The exact schedule identity the offering advertised, echoed verbatim.
|
|
87
|
+
*
|
|
88
|
+
* `installed_schedule_match` requires period_duration, alignment, and the
|
|
89
|
+
* applicable period_timezone to equal the installed configuration, so these
|
|
90
|
+
* are preserved rather than re-derived: `P1D` must not come back as
|
|
91
|
+
* `PT86400S`, and a `source_timezone` schedule must not be reported as
|
|
92
|
+
* `utc` merely because its boundaries also sit on the UTC origin. Optional
|
|
93
|
+
* so generations installed before this field keep their fingerprint.
|
|
94
|
+
*/
|
|
95
|
+
periodDuration?: string;
|
|
96
|
+
alignment?: ReportingScheduleAlignment;
|
|
97
|
+
periodTimezone?: string;
|
|
98
|
+
deliverySlaDuration?: string;
|
|
72
99
|
};
|
|
73
100
|
sourceSettings: ReportingSourceSliceRequestV1['sourceSettings'];
|
|
74
101
|
contract: ReportingSourceSliceRequestV1['contract'];
|
|
@@ -353,10 +380,33 @@ export interface ReportingLedgerStatusTransitionV1 {
|
|
|
353
380
|
reporting_obligation_id: string;
|
|
354
381
|
previousHealth: ReportingHealthV1;
|
|
355
382
|
health: ReportingHealthV1;
|
|
383
|
+
/** Finality visible immediately before this transition. Added in SDK 14. */
|
|
384
|
+
previousFinality?: ReportingObservedFinalityV1;
|
|
385
|
+
/** Finality visible at this transition. Added in SDK 14. */
|
|
386
|
+
finality?: ReportingObservedFinalityV1;
|
|
356
387
|
issueIds: string[];
|
|
357
388
|
occurredAt: string;
|
|
358
389
|
notifiedAt?: string;
|
|
359
390
|
}
|
|
391
|
+
/** Minimum transaction surface used by the bundled PostgreSQL ledger. */
|
|
392
|
+
export interface ReportingLedgerTransactionV1 {
|
|
393
|
+
query<Row extends Record<string, unknown> = Record<string, unknown>>(text: string, values?: unknown[]): Promise<{
|
|
394
|
+
rows: Row[];
|
|
395
|
+
rowCount: number | null;
|
|
396
|
+
}>;
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Persists the durable consequence of a reporting lifecycle transition.
|
|
400
|
+
*
|
|
401
|
+
* The ledger store MUST call this port with its active authoritative
|
|
402
|
+
* transaction. Implementations must not perform network I/O from this method.
|
|
403
|
+
*/
|
|
404
|
+
export interface ReportingLedgerNotificationActivityPortV1<TTransaction = unknown> {
|
|
405
|
+
recordTransition(input: {
|
|
406
|
+
transition: Readonly<ReportingLedgerStatusTransitionV1>;
|
|
407
|
+
obligation: Readonly<ReportingLedgerObligationV1>;
|
|
408
|
+
}, transaction: TTransaction): Promise<void>;
|
|
409
|
+
}
|
|
360
410
|
export interface ReportingLedgerSubscriberV1 {
|
|
361
411
|
subscriberId: string;
|
|
362
412
|
account_id: string;
|
|
@@ -396,6 +446,31 @@ export interface ReportingLedgerSnapshotV1 {
|
|
|
396
446
|
obligations: ReportingLedgerObligationV1[];
|
|
397
447
|
revisions: ReportingLedgerRevisionSnapshotV1[];
|
|
398
448
|
adjustments: ReportingLedgerAdjustmentSnapshotV1[];
|
|
449
|
+
/** Present only when the opt-in Managed Delivery migration is installed. */
|
|
450
|
+
managedBindings?: ReportingManagedDeliveryBindingV1[];
|
|
451
|
+
materializations?: ReportingMaterialization[];
|
|
452
|
+
/** Full immutable history; separate from authorization-aware health projection. */
|
|
453
|
+
materializationHistoryProjection?: ReportingMaterialization[];
|
|
454
|
+
materializationProjection?: ReportingMaterialization[];
|
|
455
|
+
/** Authenticated caller's receipts only; another consumer is never projected. */
|
|
456
|
+
receipts?: ReportingReceipt[];
|
|
457
|
+
receiptProjection?: ReportingReceipt[];
|
|
458
|
+
adjustmentReceipts?: ReportingAdjustmentReceipt[];
|
|
459
|
+
adjustmentReceiptProjection?: ReportingAdjustmentReceipt[];
|
|
460
|
+
/**
|
|
461
|
+
* Subjects whose accepted receipt body has been pruned.
|
|
462
|
+
*
|
|
463
|
+
* Retention removes bodies past the advertised horizon, but an accepted
|
|
464
|
+
* leaf is terminal forever. Without this the projection stops seeing the
|
|
465
|
+
* acceptance and reopens a settled subject.
|
|
466
|
+
*/
|
|
467
|
+
tombstonedAcceptedSubjects?: Array<{
|
|
468
|
+
kind: 'revision' | 'adjustment';
|
|
469
|
+
subjectId: string;
|
|
470
|
+
consumerId: string;
|
|
471
|
+
}>;
|
|
472
|
+
/** Revisions whose successful materialization row has been pruned. */
|
|
473
|
+
tombstonedDeliveredRevisionIds?: readonly string[];
|
|
399
474
|
consumerStatuses?: ReportingLedgerConsumerStatementV1[];
|
|
400
475
|
/** Full scoped histories retained across changes_after for complete counts and current-leaf projection. */
|
|
401
476
|
consumerStatusProjection?: ReportingLedgerConsumerStatementV1[];
|
|
@@ -406,6 +481,9 @@ export interface ReportingLedgerPageV1 {
|
|
|
406
481
|
obligations: ReportingLedgerObligationV1[];
|
|
407
482
|
revisions: ReportingLedgerRevisionSnapshotV1[];
|
|
408
483
|
adjustments: ReportingLedgerAdjustmentSnapshotV1[];
|
|
484
|
+
materializations?: ReportingMaterialization[];
|
|
485
|
+
receipts?: ReportingReceipt[];
|
|
486
|
+
adjustmentReceipts?: ReportingAdjustmentReceipt[];
|
|
409
487
|
consumerStatuses?: ReportingLedgerConsumerStatementV1[];
|
|
410
488
|
totalCount: number;
|
|
411
489
|
offset: number;
|
|
@@ -413,6 +491,152 @@ export interface ReportingLedgerPageV1 {
|
|
|
413
491
|
hasMore: boolean;
|
|
414
492
|
nextCursor?: string;
|
|
415
493
|
}
|
|
494
|
+
/**
|
|
495
|
+
* Immutable opt-in binding between one Core configuration generation and one
|
|
496
|
+
* caller-owned destination authorization generation. Core configurations do
|
|
497
|
+
* not carry this shape and remain API-delivered.
|
|
498
|
+
*/
|
|
499
|
+
export interface ReportingManagedDeliveryBindingV1 {
|
|
500
|
+
configurationId: string;
|
|
501
|
+
account_id: string;
|
|
502
|
+
delivery_config_id: string;
|
|
503
|
+
delivery_config_version: number;
|
|
504
|
+
destination_ref: string;
|
|
505
|
+
authorization_generation: number;
|
|
506
|
+
feed_purpose: 'pacing' | 'analytics' | 'billing';
|
|
507
|
+
method: ReportingMaterialization['method'];
|
|
508
|
+
transport?: string;
|
|
509
|
+
verification_profile: NonNullable<ReportingMaterialization['verification']>['verification_profile'];
|
|
510
|
+
reconciliation_mode: 'delivery_only' | 'consumer_receipt';
|
|
511
|
+
resource_retention_days: number;
|
|
512
|
+
created_at: string;
|
|
513
|
+
semantic_fingerprint: string;
|
|
514
|
+
}
|
|
515
|
+
/**
|
|
516
|
+
* Managed Delivery inputs the lifecycle reconciler needs to project the same
|
|
517
|
+
* health the read path projects.
|
|
518
|
+
*
|
|
519
|
+
* Reads are scoped to one authenticated consumer; a persisted transition is
|
|
520
|
+
* account-level, so receipts arrive grouped per consumer and the reconciler
|
|
521
|
+
* folds the per-consumer projections with `moreSevereReportingHealthV1`. The
|
|
522
|
+
* seller's obligation is only reconciled once every consumer that owes a
|
|
523
|
+
* receipt has accepted, so the most severe consumer is the truthful one.
|
|
524
|
+
*/
|
|
525
|
+
export interface ReportingManagedLifecycleProjectionV1 {
|
|
526
|
+
binding: ReportingManagedDeliveryBindingV1;
|
|
527
|
+
/** Authorization-aware view: a revoked destination reads as `failed`. */
|
|
528
|
+
materializations: ReportingMaterialization[];
|
|
529
|
+
/** Full immutable history, independent of current authorization. */
|
|
530
|
+
materializationHistory: ReportingMaterialization[];
|
|
531
|
+
/** One entry per consumer that has submitted receipts; empty when none has. */
|
|
532
|
+
consumers: Array<{
|
|
533
|
+
consumer_id: string;
|
|
534
|
+
receipts: ReportingReceipt[];
|
|
535
|
+
adjustmentReceipts: ReportingAdjustmentReceipt[];
|
|
536
|
+
}>;
|
|
537
|
+
/**
|
|
538
|
+
* Principals that owe a receipt for this obligation, from trusted state.
|
|
539
|
+
*
|
|
540
|
+
* `consumers` alone is not a roster: it is only who has already submitted
|
|
541
|
+
* something. Aggregating it would let an authorized consumer that owes a
|
|
542
|
+
* receipt and has stayed silent vanish the moment another consumer accepts,
|
|
543
|
+
* so the account-level transition could report the obligation reconciled
|
|
544
|
+
* while that consumer's own read still says `action_required`. Entries here
|
|
545
|
+
* that have submitted nothing are projected with empty receipts.
|
|
546
|
+
*/
|
|
547
|
+
obligatedConsumerIds?: readonly string[];
|
|
548
|
+
/**
|
|
549
|
+
* Set only when `obligatedConsumerIds` is provably the complete roster.
|
|
550
|
+
*
|
|
551
|
+
* The managed tables key destination authorizations and bindings by
|
|
552
|
+
* `(account_id, destination_ref, generation)` with no consumer dimension, so
|
|
553
|
+
* the SDK's own PostgreSQL store cannot prove completeness and leaves this
|
|
554
|
+
* false. While it is false the reconciler keeps projecting one additional
|
|
555
|
+
* zero-receipt consumer for a `consumer_receipt` binding, so the obligation
|
|
556
|
+
* is never reported reconciled on the strength of the consumers that
|
|
557
|
+
* happened to be observed. A seller whose authorization layer knows the
|
|
558
|
+
* roster should supply it and set this true to get accurate reconciled
|
|
559
|
+
* transitions.
|
|
560
|
+
*/
|
|
561
|
+
obligatedConsumerRosterComplete?: boolean;
|
|
562
|
+
/**
|
|
563
|
+
* False when the store could not project every consumer's receipt evidence.
|
|
564
|
+
*
|
|
565
|
+
* A store bounds what it will hold in memory at once. Crossing that bound
|
|
566
|
+
* must not fail the reconcile — nothing about a retry makes a large tenant
|
|
567
|
+
* smaller — so the store truncates at a deterministic consumer boundary and
|
|
568
|
+
* says so here. An incomplete projection can never prove reconciliation, so
|
|
569
|
+
* the fold treats it exactly as it treats an unproven roster.
|
|
570
|
+
*/
|
|
571
|
+
receiptEvidenceComplete?: boolean;
|
|
572
|
+
/**
|
|
573
|
+
* Adjustments this obligation had at the projection's cutoff.
|
|
574
|
+
*
|
|
575
|
+
* Adjustment bodies carry a producer-authored `createdAt`, which is a host
|
|
576
|
+
* clock; the cutoff is compared against the store's own ordering column. A
|
|
577
|
+
* store that can tell the two apart reports the cutoff-visible set here, and
|
|
578
|
+
* the reconciler folds only those — otherwise a fast producer clock hid a
|
|
579
|
+
* correction from the lifecycle while the public status still demanded a
|
|
580
|
+
* receipt for it.
|
|
581
|
+
*/
|
|
582
|
+
visibleAdjustmentIds?: readonly string[];
|
|
583
|
+
/**
|
|
584
|
+
* Revisions this obligation had at the projection's cutoff.
|
|
585
|
+
*
|
|
586
|
+
* The managed evidence beside a revision is cutoff-bounded, so the revision
|
|
587
|
+
* set has to be too: one committed after the cutoff arrives with no
|
|
588
|
+
* materialization and no receipt in scope and reads as an unmet obligation.
|
|
589
|
+
* The CAS still fences on the full set — that is a concurrency check, not a
|
|
590
|
+
* statement about the moment being described.
|
|
591
|
+
*/
|
|
592
|
+
visibleRevisionIds?: readonly string[];
|
|
593
|
+
/**
|
|
594
|
+
* Opaque token over the managed state this projection was computed from.
|
|
595
|
+
*
|
|
596
|
+
* The lifecycle CAS fences Core evidence — revision set, obligation state,
|
|
597
|
+
* attempt count, predecessor health — but managed state is read in a
|
|
598
|
+
* separate transaction, so a revocation, receipt, adjustment or
|
|
599
|
+
* materialization landing between projection and apply would be written over
|
|
600
|
+
* by a health computed before it existed. Pass it back through
|
|
601
|
+
* `applyLifecycleProjection` so a store that supplies one can refuse a stale
|
|
602
|
+
* apply.
|
|
603
|
+
*/
|
|
604
|
+
managedStateVersion?: string;
|
|
605
|
+
/**
|
|
606
|
+
* Subjects whose accepted receipt body has been pruned, and revisions whose
|
|
607
|
+
* successful materialization has been pruned.
|
|
608
|
+
*
|
|
609
|
+
* Retention removes bodies; it must not remove conclusions. Without these
|
|
610
|
+
* the lifecycle recomputes an accepted subject as outstanding and a
|
|
611
|
+
* delivered revision as never delivered.
|
|
612
|
+
*/
|
|
613
|
+
tombstonedAcceptedSubjects?: Array<{
|
|
614
|
+
kind: 'revision' | 'adjustment';
|
|
615
|
+
subjectId: string;
|
|
616
|
+
consumerId: string;
|
|
617
|
+
}>;
|
|
618
|
+
tombstonedDeliveredRevisionIds?: readonly string[];
|
|
619
|
+
/**
|
|
620
|
+
* The cutoff this projection actually used, at full database precision.
|
|
621
|
+
*
|
|
622
|
+
* A host `toISOString()` is millisecond-truncated while the underlying
|
|
623
|
+
* columns are microsecond timestamps, so a caller-taken "now" can sort
|
|
624
|
+
* before a row written in the same millisecond. A store that resolves its
|
|
625
|
+
* own instant reports it here, and the reconciler uses it for everything
|
|
626
|
+
* downstream so the projection, its token and the transition all describe
|
|
627
|
+
* one instant.
|
|
628
|
+
*/
|
|
629
|
+
resolvedLedgerAsOf?: string;
|
|
630
|
+
/**
|
|
631
|
+
* Version of the externally supplied obligated-consumer roster.
|
|
632
|
+
*
|
|
633
|
+
* The roster is fetched outside the store's transaction, so it cannot be
|
|
634
|
+
* re-read inside the apply. It is versioned separately and re-checked just
|
|
635
|
+
* before the apply instead, which is what keeps a concurrent roster change
|
|
636
|
+
* from passing the CAS.
|
|
637
|
+
*/
|
|
638
|
+
obligatedConsumerRosterVersion?: string;
|
|
639
|
+
}
|
|
416
640
|
export interface ReportingLedgerLeaseV1 {
|
|
417
641
|
obligation: ReportingLedgerObligationV1;
|
|
418
642
|
owner: string;
|
|
@@ -430,6 +654,47 @@ export declare class ReportingConsumerStatusConflictError extends Error {
|
|
|
430
654
|
constructor(message?: string);
|
|
431
655
|
}
|
|
432
656
|
export interface ReportingLedgerStore {
|
|
657
|
+
/** Optional substrate identity for an add-on store that must prove shared authority. */
|
|
658
|
+
readonly [REPORTING_LEDGER_AUTHORITY]?: ReportingLedgerAuthorityV1;
|
|
659
|
+
/**
|
|
660
|
+
* True when durable notification/activity intent is committed with transitions.
|
|
661
|
+
* Such stores must atomically stamp `notifiedAt` as the durable handoff marker.
|
|
662
|
+
*/
|
|
663
|
+
readonly transactionalNotificationActivity?: boolean;
|
|
664
|
+
/**
|
|
665
|
+
* Resolves the authoritative observed finality of the obligation's latest
|
|
666
|
+
* transition.
|
|
667
|
+
*
|
|
668
|
+
* Transitions written from SDK 14 onward carry their own `finality`, so the
|
|
669
|
+
* baseline is read straight back off the committed row. Pre-SDK-14 rows carry
|
|
670
|
+
* none, and a store MUST NOT reconstruct one: nothing already stored proves
|
|
671
|
+
* which revisions had committed when such a row was recorded. Payload
|
|
672
|
+
* timestamps rank creation instants rather than commits, and insert wall
|
|
673
|
+
* clocks such as `clock_timestamp()` can repeat within a microsecond and step
|
|
674
|
+
* backward. Either rule can conclude `official`, which makes
|
|
675
|
+
* `previousFinality` equal `finality` and permanently suppresses the real
|
|
676
|
+
* snapshot→official change.
|
|
677
|
+
*
|
|
678
|
+
* Such rows therefore resolve to `'none'`, which the store persists so
|
|
679
|
+
* `applyLifecycleProjection` compares against the same committed value the
|
|
680
|
+
* lifecycle decision used. That records at most one redundant finality-only
|
|
681
|
+
* transition per obligation at upgrade, which stays internal activity because
|
|
682
|
+
* the AdCP status webhook is health-only.
|
|
683
|
+
*
|
|
684
|
+
* Optional for stores compiled against the pre-finality lifecycle port. Such
|
|
685
|
+
* stores must also ignore `expectedPreviousFinality`, and omitting the port
|
|
686
|
+
* is **not** equivalent to returning `'none'`: the lifecycle cannot persist a
|
|
687
|
+
* baseline on their behalf, so it uses the currently observed finality
|
|
688
|
+
* instead, making the comparison a no-op. Finality is simply unobservable
|
|
689
|
+
* there — health transitions still fire, finality-only ones never do, exactly
|
|
690
|
+
* as before finality existed. Returning `'none'` for such a store would
|
|
691
|
+
* instead make every reconciliation tick observe `'none' -> official` and
|
|
692
|
+
* append another finality-only transition, forever.
|
|
693
|
+
*
|
|
694
|
+
* So a store that wants finality-only activity at all must implement this
|
|
695
|
+
* port, and commit what it returns.
|
|
696
|
+
*/
|
|
697
|
+
resolveTransitionFinalityBaseline?(reporting_obligation_id: string): Promise<ReportingObservedFinalityV1>;
|
|
433
698
|
putConfiguration(configuration: ReportingLedgerConfigurationV1): Promise<{
|
|
434
699
|
inserted: boolean;
|
|
435
700
|
value: ReportingLedgerConfigurationV1;
|
|
@@ -487,16 +752,101 @@ export interface ReportingLedgerStore {
|
|
|
487
752
|
reporting_obligation_id: string;
|
|
488
753
|
expectedRevisionIds: string[];
|
|
489
754
|
expectedPreviousHealth: ReportingHealthV1;
|
|
755
|
+
/**
|
|
756
|
+
* Baseline observed finality the caller decided against, as returned by
|
|
757
|
+
* `resolveTransitionFinalityBaseline`. Stores must compare it against that
|
|
758
|
+
* same committed baseline and never against a freshly reconstructed one.
|
|
759
|
+
* Optional for callers compiled against the pre-finality lifecycle port.
|
|
760
|
+
*/
|
|
761
|
+
expectedPreviousFinality?: ReportingObservedFinalityV1;
|
|
490
762
|
expectedObligationState: ReportingLedgerObligationV1['state'];
|
|
491
763
|
expectedAttemptCount: number;
|
|
492
764
|
projectedIssues: ReportingLedgerIssueV1[];
|
|
493
765
|
ledgerAsOf: string;
|
|
494
766
|
transition?: ReportingLedgerStatusTransitionV1;
|
|
767
|
+
/**
|
|
768
|
+
* Managed-state token from the projection this apply was computed from.
|
|
769
|
+
* A store that produces `managedStateVersion` MUST re-read it inside the
|
|
770
|
+
* apply transaction and return `applied: false` when it has moved, so a
|
|
771
|
+
* concurrent managed write cannot be overwritten by a stale health.
|
|
772
|
+
*/
|
|
773
|
+
expectedManagedStateVersion?: string;
|
|
774
|
+
/**
|
|
775
|
+
* Watermark to record for this obligation, even when health did not move.
|
|
776
|
+
*
|
|
777
|
+
* Without it a managed change with no health effect leaves the obligation
|
|
778
|
+
* due forever, and a fair-ordered sweep keeps returning it ahead of work
|
|
779
|
+
* that has waited less.
|
|
780
|
+
*/
|
|
781
|
+
processedManagedStateVersion?: string;
|
|
782
|
+
processedObligatedConsumerRosterVersion?: string;
|
|
783
|
+
/**
|
|
784
|
+
* Roster version this reconcile observed, for the same compare-and-set
|
|
785
|
+
* treatment as `expectedManagedStateVersion`.
|
|
786
|
+
*
|
|
787
|
+
* The roster lives outside the store, so the apply cannot re-read it.
|
|
788
|
+
* A store that records what readers observed MUST NOT overwrite a newer
|
|
789
|
+
* observation with this one: the due query compares the observed version
|
|
790
|
+
* with the processed one, so clobbering it drops the re-arm.
|
|
791
|
+
*/
|
|
792
|
+
expectedObligatedConsumerRosterVersion?: string;
|
|
495
793
|
}): Promise<{
|
|
496
794
|
applied: boolean;
|
|
497
795
|
transitionInserted: boolean;
|
|
498
796
|
}>;
|
|
499
797
|
markTransitionNotified(transitionId: string, notifiedAt: string): Promise<void>;
|
|
798
|
+
/**
|
|
799
|
+
* Managed Delivery projection inputs for one obligation.
|
|
800
|
+
*
|
|
801
|
+
* Optional on purpose: a Core-only ledger omits it and the lifecycle stays
|
|
802
|
+
* Core-only, exactly as before. A store that has the Managed Delivery
|
|
803
|
+
* migration installed must implement it, otherwise persisted transitions and
|
|
804
|
+
* webhooks would keep reporting Core health while `get_reporting_status`
|
|
805
|
+
* reports the composed managed health — the divergence this exists to close.
|
|
806
|
+
* Return `null` for an obligation whose configuration has no managed binding.
|
|
807
|
+
*/
|
|
808
|
+
getManagedLifecycleProjection?(input: {
|
|
809
|
+
reporting_obligation_id: string;
|
|
810
|
+
/** Omit to let the store resolve an authoritative instant at full precision. */
|
|
811
|
+
ledgerAsOf?: string;
|
|
812
|
+
}): Promise<ReportingManagedLifecycleProjectionV1 | null>;
|
|
813
|
+
/**
|
|
814
|
+
* Re-reads the external obligated-consumer roster version immediately
|
|
815
|
+
* before an apply, outside any transaction.
|
|
816
|
+
*/
|
|
817
|
+
readObligatedConsumerRosterVersion?(input: {
|
|
818
|
+
reporting_obligation_id: string;
|
|
819
|
+
}): Promise<string | undefined>;
|
|
820
|
+
/**
|
|
821
|
+
* An authoritative instant from the ledger's own clock, at full precision.
|
|
822
|
+
*
|
|
823
|
+
* Lifecycle cutoffs taken from a caller's `Date` are millisecond-truncated
|
|
824
|
+
* and may lag the database, which silently drops rows written in the same
|
|
825
|
+
* millisecond. Reconciliation prefers this when the caller has not pinned a
|
|
826
|
+
* cutoff, and always takes a fresh one before a retry.
|
|
827
|
+
*/
|
|
828
|
+
readLedgerInstant?(): Promise<string>;
|
|
829
|
+
/**
|
|
830
|
+
* Records a failed reconcile so the obligation backs off rather than
|
|
831
|
+
* re-occupying the head of every sweep. It must not advance the
|
|
832
|
+
* reconciliation watermark: the work is still unresolved.
|
|
833
|
+
*/
|
|
834
|
+
recordLifecycleFailure?(input: {
|
|
835
|
+
reporting_obligation_id: string;
|
|
836
|
+
}): Promise<void>;
|
|
837
|
+
/**
|
|
838
|
+
* Refreshes the recorded roster version for obligations that have one.
|
|
839
|
+
*
|
|
840
|
+
* The roster lives outside the database, so nothing here changes when it
|
|
841
|
+
* does. Publishing the version only during a reconcile is circular — a
|
|
842
|
+
* reconcile happens because the obligation is due, and a roster change is
|
|
843
|
+
* what should have made it due. A sweep calls this first so a change made
|
|
844
|
+
* while nothing was scheduled can still schedule something.
|
|
845
|
+
*/
|
|
846
|
+
refreshObligatedConsumerRosterVersions?(input: {
|
|
847
|
+
account_id?: string;
|
|
848
|
+
limit: number;
|
|
849
|
+
}): Promise<number>;
|
|
500
850
|
listTransitions(reporting_obligation_id: string): Promise<ReportingLedgerStatusTransitionV1[]>;
|
|
501
851
|
listPendingTransitions(input?: {
|
|
502
852
|
account_id?: string;
|
|
@@ -567,6 +917,13 @@ export interface ReportingProducerV1 {
|
|
|
567
917
|
revisionsCommitted: number;
|
|
568
918
|
notReady: number;
|
|
569
919
|
failed: number;
|
|
920
|
+
/**
|
|
921
|
+
* Obligations whose durable work committed but whose projection could not
|
|
922
|
+
* be published on this pass. They stay due for the deadline sweep, which
|
|
923
|
+
* isolates and backs off per obligation; a non-zero count that does not
|
|
924
|
+
* clear is an operational signal, not a lost write.
|
|
925
|
+
*/
|
|
926
|
+
reconcilesDeferred: number;
|
|
570
927
|
}>;
|
|
571
928
|
}
|
|
572
929
|
export type ReportingSourceWithReaderV1 = ReportingSourceExecutorV1 & ReportingSourceStagedObjectReaderV1;
|
|
@@ -23,10 +23,12 @@ __export(types_exports, {
|
|
|
23
23
|
REPORTING_CONSUMER_STATUS_ERROR_FIELD_MAX_BYTES: () => REPORTING_CONSUMER_STATUS_ERROR_FIELD_MAX_BYTES,
|
|
24
24
|
REPORTING_CONSUMER_STATUS_ERROR_MESSAGE_MAX_BYTES: () => REPORTING_CONSUMER_STATUS_ERROR_MESSAGE_MAX_BYTES,
|
|
25
25
|
REPORTING_CONSUMER_STATUS_MAX_BYTES: () => REPORTING_CONSUMER_STATUS_MAX_BYTES,
|
|
26
|
+
REPORTING_LEDGER_AUTHORITY: () => REPORTING_LEDGER_AUTHORITY,
|
|
26
27
|
ReportingConsumerStatusConflictError: () => ReportingConsumerStatusConflictError,
|
|
27
28
|
ReportingLedgerSnapshotUnavailableError: () => ReportingLedgerSnapshotUnavailableError
|
|
28
29
|
});
|
|
29
30
|
module.exports = __toCommonJS(types_exports);
|
|
31
|
+
const REPORTING_LEDGER_AUTHORITY = /* @__PURE__ */ Symbol.for("@adcp/sdk/reporting-ledger-authority");
|
|
30
32
|
const REPORTING_CONSUMER_STATUS_ERROR_FIELD_MAX_BYTES = 1024;
|
|
31
33
|
const REPORTING_CONSUMER_STATUS_ERROR_MESSAGE_MAX_BYTES = 1024;
|
|
32
34
|
const REPORTING_CONSUMER_STATUS_MAX_BYTES = 64 * 1024;
|
|
@@ -55,6 +57,7 @@ class ReportingConsumerStatusConflictError extends Error {
|
|
|
55
57
|
REPORTING_CONSUMER_STATUS_ERROR_FIELD_MAX_BYTES,
|
|
56
58
|
REPORTING_CONSUMER_STATUS_ERROR_MESSAGE_MAX_BYTES,
|
|
57
59
|
REPORTING_CONSUMER_STATUS_MAX_BYTES,
|
|
60
|
+
REPORTING_LEDGER_AUTHORITY,
|
|
58
61
|
ReportingConsumerStatusConflictError,
|
|
59
62
|
ReportingLedgerSnapshotUnavailableError
|
|
60
63
|
});
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const REPORTING_LEDGER_AUTHORITY = /* @__PURE__ */ Symbol.for("@adcp/sdk/reporting-ledger-authority");
|
|
1
2
|
const REPORTING_CONSUMER_STATUS_ERROR_FIELD_MAX_BYTES = 1024;
|
|
2
3
|
const REPORTING_CONSUMER_STATUS_ERROR_MESSAGE_MAX_BYTES = 1024;
|
|
3
4
|
const REPORTING_CONSUMER_STATUS_MAX_BYTES = 64 * 1024;
|
|
@@ -25,6 +26,7 @@ export {
|
|
|
25
26
|
REPORTING_CONSUMER_STATUS_ERROR_FIELD_MAX_BYTES,
|
|
26
27
|
REPORTING_CONSUMER_STATUS_ERROR_MESSAGE_MAX_BYTES,
|
|
27
28
|
REPORTING_CONSUMER_STATUS_MAX_BYTES,
|
|
29
|
+
REPORTING_LEDGER_AUTHORITY,
|
|
28
30
|
ReportingConsumerStatusConflictError,
|
|
29
31
|
ReportingLedgerSnapshotUnavailableError
|
|
30
32
|
};
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ReportingSourceManifestV1, type ReportingSourceSliceRequestV1 } from '../source/index.mjs';
|
|
2
|
+
import type { ReliableReportingAdapterV1, ReliableReportingConfigurationInputV1, ReliableReportingInstallContextV1, ReliableReportingServiceV1 } from './index.mjs';
|
|
3
|
+
export interface ReliableReportingServiceConformanceOptionsV1<TCtxMeta = Record<string, unknown>> {
|
|
4
|
+
service: ReliableReportingServiceV1<TCtxMeta>;
|
|
5
|
+
adapter: ReliableReportingAdapterV1;
|
|
6
|
+
replayRequest: ReportingSourceSliceRequestV1;
|
|
7
|
+
primary: {
|
|
8
|
+
context: ReliableReportingInstallContextV1<TCtxMeta>;
|
|
9
|
+
configuration: ReliableReportingConfigurationInputV1 & {
|
|
10
|
+
expectedCurrency: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
isolated: {
|
|
14
|
+
context: ReliableReportingInstallContextV1<TCtxMeta>;
|
|
15
|
+
configuration: ReliableReportingConfigurationInputV1 & {
|
|
16
|
+
expectedCurrency: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface ReliableReportingServiceConformanceResultV1 {
|
|
21
|
+
checks: readonly [
|
|
22
|
+
'adapter_replay',
|
|
23
|
+
'account_isolation',
|
|
24
|
+
'frozen_currency',
|
|
25
|
+
'lifecycle_start_stop',
|
|
26
|
+
'capability_truthfulness'
|
|
27
|
+
];
|
|
28
|
+
manifest: ReportingSourceManifestV1;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Exercise the invariants every Core installation must preserve. Use an
|
|
32
|
+
* isolated conformance ledger: the helper intentionally installs two durable
|
|
33
|
+
* configurations and starts the lifecycle once.
|
|
34
|
+
*/
|
|
35
|
+
export declare function runReliableReportingServiceConformanceV1<TCtxMeta = Record<string, unknown>>(options: ReliableReportingServiceConformanceOptionsV1<TCtxMeta>): Promise<ReliableReportingServiceConformanceResultV1>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ReportingSourceManifestV1, type ReportingSourceSliceRequestV1 } from '../source';
|
|
2
|
+
import type { ReliableReportingAdapterV1, ReliableReportingConfigurationInputV1, ReliableReportingInstallContextV1, ReliableReportingServiceV1 } from './index';
|
|
3
|
+
export interface ReliableReportingServiceConformanceOptionsV1<TCtxMeta = Record<string, unknown>> {
|
|
4
|
+
service: ReliableReportingServiceV1<TCtxMeta>;
|
|
5
|
+
adapter: ReliableReportingAdapterV1;
|
|
6
|
+
replayRequest: ReportingSourceSliceRequestV1;
|
|
7
|
+
primary: {
|
|
8
|
+
context: ReliableReportingInstallContextV1<TCtxMeta>;
|
|
9
|
+
configuration: ReliableReportingConfigurationInputV1 & {
|
|
10
|
+
expectedCurrency: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
isolated: {
|
|
14
|
+
context: ReliableReportingInstallContextV1<TCtxMeta>;
|
|
15
|
+
configuration: ReliableReportingConfigurationInputV1 & {
|
|
16
|
+
expectedCurrency: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface ReliableReportingServiceConformanceResultV1 {
|
|
21
|
+
checks: readonly [
|
|
22
|
+
'adapter_replay',
|
|
23
|
+
'account_isolation',
|
|
24
|
+
'frozen_currency',
|
|
25
|
+
'lifecycle_start_stop',
|
|
26
|
+
'capability_truthfulness'
|
|
27
|
+
];
|
|
28
|
+
manifest: ReportingSourceManifestV1;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Exercise the invariants every Core installation must preserve. Use an
|
|
32
|
+
* isolated conformance ledger: the helper intentionally installs two durable
|
|
33
|
+
* configurations and starts the lifecycle once.
|
|
34
|
+
*/
|
|
35
|
+
export declare function runReliableReportingServiceConformanceV1<TCtxMeta = Record<string, unknown>>(options: ReliableReportingServiceConformanceOptionsV1<TCtxMeta>): Promise<ReliableReportingServiceConformanceResultV1>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var conformance_exports = {};
|
|
20
|
+
__export(conformance_exports, {
|
|
21
|
+
runReliableReportingServiceConformanceV1: () => runReliableReportingServiceConformanceV1
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(conformance_exports);
|
|
24
|
+
var import_source = require('../source/index.js');
|
|
25
|
+
async function runReliableReportingServiceConformanceV1(options) {
|
|
26
|
+
const source = options.adapter.executor ?? (0, import_source.createInlineReportingSourceExecutor)(options.adapter.fetchSlice, options.adapter.sourceOffering);
|
|
27
|
+
const manifest = await (0, import_source.runReportingSourceReplayConformanceV1)({
|
|
28
|
+
level: "basic",
|
|
29
|
+
executor: source,
|
|
30
|
+
objectReader: source,
|
|
31
|
+
request: structuredClone(options.replayRequest)
|
|
32
|
+
});
|
|
33
|
+
const first = await options.service.installConfiguration(options.primary.configuration, options.primary.context);
|
|
34
|
+
const replay = await options.service.installConfiguration(options.primary.configuration, options.primary.context);
|
|
35
|
+
const isolated = await options.service.installConfiguration(options.isolated.configuration, options.isolated.context);
|
|
36
|
+
if (first.configurationId !== replay.configurationId || first.semanticFingerprint !== replay.semanticFingerprint) {
|
|
37
|
+
throw new Error("Reliable reporting configuration replay was not idempotent");
|
|
38
|
+
}
|
|
39
|
+
if (first.account.account_id === isolated.account.account_id || first.configurationId === isolated.configurationId || first.account.account_id !== options.primary.context.account.id || isolated.account.account_id !== options.isolated.context.account.id) {
|
|
40
|
+
throw new Error("Reliable reporting configuration identity is not account isolated");
|
|
41
|
+
}
|
|
42
|
+
if (first.sourceSettings.currency !== options.primary.configuration.expectedCurrency || isolated.sourceSettings.currency !== options.isolated.configuration.expectedCurrency) {
|
|
43
|
+
throw new Error("Reliable reporting configuration did not freeze trusted currency");
|
|
44
|
+
}
|
|
45
|
+
assertTruthfulCoreCapabilities(options.service);
|
|
46
|
+
options.service.start({ intervalMilliseconds: 6e4, accountIds: [] });
|
|
47
|
+
if (!options.service.running) throw new Error("Reliable reporting lifecycle did not start");
|
|
48
|
+
await options.service.stop();
|
|
49
|
+
if (options.service.running) throw new Error("Reliable reporting lifecycle did not stop");
|
|
50
|
+
return {
|
|
51
|
+
checks: [
|
|
52
|
+
"adapter_replay",
|
|
53
|
+
"account_isolation",
|
|
54
|
+
"frozen_currency",
|
|
55
|
+
"lifecycle_start_stop",
|
|
56
|
+
"capability_truthfulness"
|
|
57
|
+
],
|
|
58
|
+
manifest
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
function assertTruthfulCoreCapabilities(service) {
|
|
62
|
+
const capabilities = service.capabilities;
|
|
63
|
+
for (const forbidden of [
|
|
64
|
+
"managed_delivery",
|
|
65
|
+
"reconciled_billing",
|
|
66
|
+
"receipt_task",
|
|
67
|
+
"readiness_notification",
|
|
68
|
+
"status_notification",
|
|
69
|
+
"ledger_notification",
|
|
70
|
+
"supports_webhook_activity"
|
|
71
|
+
]) {
|
|
72
|
+
if (capabilities[forbidden] !== void 0) {
|
|
73
|
+
throw new Error(`Reliable Reporting Core must not advertise ${forbidden}`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
if (capabilities.consumer_status_task !== void 0 !== (service.platform.syncReportingStatus !== void 0)) {
|
|
77
|
+
throw new Error("Reliable reporting consumer-status capability does not match its installed handler");
|
|
78
|
+
}
|
|
79
|
+
if (capabilities.consumer_mismatch_escalation_seconds !== void 0 && capabilities.consumer_status_task !== "sync_reporting_status") {
|
|
80
|
+
throw new Error("Reliable reporting mismatch escalation requires the consumer-status task");
|
|
81
|
+
}
|
|
82
|
+
if (capabilities.status_task !== "get_reporting_status" || capabilities.revision_content_task !== "get_media_buy_delivery") {
|
|
83
|
+
throw new Error("Reliable reporting capability does not match its installed read handlers");
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
+
0 && (module.exports = {
|
|
88
|
+
runReliableReportingServiceConformanceV1
|
|
89
|
+
});
|