@adcp/sdk 6.8.0 → 6.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADCP_VERSION +1 -1
- package/bin/adcp.js +285 -5
- package/compliance/cache/3.0.6/domains/brand/index.yaml +163 -0
- package/compliance/cache/3.0.6/domains/creative/index.yaml +412 -0
- package/compliance/cache/3.0.6/domains/governance/index.yaml +683 -0
- package/compliance/cache/3.0.6/domains/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.6/domains/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/inventory_list_targeting.yaml +271 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.6/domains/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.6/domains/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.6/domains/signals/index.yaml +266 -0
- package/compliance/cache/3.0.6/domains/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.6/index.json +324 -0
- package/compliance/cache/3.0.6/protocols/brand/index.yaml +163 -0
- package/compliance/cache/3.0.6/protocols/creative/index.yaml +412 -0
- package/compliance/cache/3.0.6/protocols/governance/index.yaml +683 -0
- package/compliance/cache/3.0.6/protocols/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.6/protocols/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/inventory_list_targeting.yaml +271 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.6/protocols/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.6/protocols/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.6/protocols/signals/index.yaml +266 -0
- package/compliance/cache/3.0.6/protocols/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.6/specialisms/audience-sync/index.yaml +280 -0
- package/compliance/cache/3.0.6/specialisms/brand-rights/index.yaml +350 -0
- package/compliance/cache/3.0.6/specialisms/brand-rights/scenarios/governance_denied.yaml +204 -0
- package/compliance/cache/3.0.6/specialisms/collection-lists/index.yaml +359 -0
- package/compliance/cache/3.0.6/specialisms/content-standards/index.yaml +572 -0
- package/compliance/cache/3.0.6/specialisms/creative-ad-server/index.yaml +383 -0
- package/compliance/cache/3.0.6/specialisms/creative-generative/generative-seller.yaml +758 -0
- package/compliance/cache/3.0.6/specialisms/creative-generative/index.yaml +746 -0
- package/compliance/cache/3.0.6/specialisms/creative-template/index.yaml +413 -0
- package/compliance/cache/3.0.6/specialisms/governance-aware-seller/index.yaml +136 -0
- package/compliance/cache/3.0.6/specialisms/governance-delivery-monitor/index.yaml +441 -0
- package/compliance/cache/3.0.6/specialisms/governance-spend-authority/denied.yaml +221 -0
- package/compliance/cache/3.0.6/specialisms/governance-spend-authority/index.yaml +330 -0
- package/compliance/cache/3.0.6/specialisms/property-lists/index.yaml +482 -0
- package/compliance/cache/3.0.6/specialisms/sales-broadcast-tv/index.yaml +689 -0
- package/compliance/cache/3.0.6/specialisms/sales-catalog-driven/index.yaml +779 -0
- package/compliance/cache/3.0.6/specialisms/sales-guaranteed/index.yaml +504 -0
- package/compliance/cache/3.0.6/specialisms/sales-non-guaranteed/index.yaml +428 -0
- package/compliance/cache/3.0.6/specialisms/sales-proposal-mode/index.yaml +520 -0
- package/compliance/cache/3.0.6/specialisms/sales-social/index.yaml +584 -0
- package/compliance/cache/3.0.6/specialisms/signal-marketplace/index.yaml +415 -0
- package/compliance/cache/3.0.6/specialisms/signal-marketplace/scenarios/governance_denied.yaml +207 -0
- package/compliance/cache/3.0.6/specialisms/signal-owned/index.yaml +316 -0
- package/compliance/cache/3.0.6/test-kits/acme-outdoor.yaml +210 -0
- package/compliance/cache/3.0.6/test-kits/bistro-oranje.yaml +126 -0
- package/compliance/cache/3.0.6/test-kits/nova-motors.yaml +262 -0
- package/compliance/cache/3.0.6/test-kits/osei-natural.yaml +126 -0
- package/compliance/cache/3.0.6/test-kits/signed-requests-runner.yaml +155 -0
- package/compliance/cache/3.0.6/test-kits/substitution-observer-runner.yaml +690 -0
- package/compliance/cache/3.0.6/test-kits/summit-foods.yaml +125 -0
- package/compliance/cache/3.0.6/test-kits/webhook-receiver-runner.yaml +265 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/001-minimal-plan.json +43 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/002-full-plan.json +217 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
- package/compliance/cache/3.0.6/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/README.md +219 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/canonicalization.json +241 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/keys.json +60 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/001-basic-post.json +30 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/003-es256-post.json +30 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
- package/compliance/cache/3.0.6/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/README.md +211 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/keys.json +61 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
- package/compliance/cache/3.0.6/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
- package/compliance/cache/3.0.6/universal/capability-discovery.yaml +125 -0
- package/compliance/cache/3.0.6/universal/collection-lists-pagination-integrity.yaml +306 -0
- package/compliance/cache/3.0.6/universal/content-standards-pagination-integrity.yaml +326 -0
- package/compliance/cache/3.0.6/universal/deterministic-testing.yaml +1343 -0
- package/compliance/cache/3.0.6/universal/error-compliance.yaml +474 -0
- package/compliance/cache/3.0.6/universal/fictional-entities.yaml +307 -0
- package/compliance/cache/3.0.6/universal/get-media-buys-pagination-integrity.yaml +160 -0
- package/compliance/cache/3.0.6/universal/get-signals-pagination-integrity.yaml +211 -0
- package/compliance/cache/3.0.6/universal/idempotency.yaml +593 -0
- package/compliance/cache/3.0.6/universal/pagination-integrity-creative-formats.yaml +258 -0
- package/compliance/cache/3.0.6/universal/pagination-integrity-list-accounts.yaml +262 -0
- package/compliance/cache/3.0.6/universal/pagination-integrity.yaml +263 -0
- package/compliance/cache/3.0.6/universal/property-lists-pagination-integrity.yaml +307 -0
- package/compliance/cache/3.0.6/universal/runner-output-contract.yaml +358 -0
- package/compliance/cache/3.0.6/universal/schema-validation.yaml +526 -0
- package/compliance/cache/3.0.6/universal/security.yaml +431 -0
- package/compliance/cache/3.0.6/universal/signed-requests.yaml +205 -0
- package/compliance/cache/3.0.6/universal/storyboard-schema.yaml +1176 -0
- package/compliance/cache/3.0.6/universal/v3-envelope-integrity.yaml +106 -0
- package/compliance/cache/3.0.6/universal/webhook-emission.yaml +337 -0
- package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/inventory_list_targeting.yaml +5 -0
- package/compliance/cache/{3.0.5 → 3.0.6.previous}/index.json +2 -2
- package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +5 -0
- package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/sales-guaranteed/index.yaml +1 -1
- package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/storyboard-schema.yaml +15 -0
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js +20 -0
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/mock-server/creative-template/seed-data.d.ts +1 -1
- package/dist/lib/mock-server/creative-template/seed-data.d.ts.map +1 -1
- package/dist/lib/mock-server/creative-template/seed-data.js +53 -0
- package/dist/lib/mock-server/creative-template/seed-data.js.map +1 -1
- package/dist/lib/mock-server/creative-template/server.d.ts.map +1 -1
- package/dist/lib/mock-server/creative-template/server.js +12 -0
- package/dist/lib/mock-server/creative-template/server.js.map +1 -1
- package/dist/lib/schemas-data/3.0/a2ui/bound-value.json +1 -1
- package/dist/lib/schemas-data/3.0/a2ui/component.json +1 -1
- package/dist/lib/schemas-data/3.0/a2ui/si-catalog.json +25 -25
- package/dist/lib/schemas-data/3.0/a2ui/surface.json +2 -2
- package/dist/lib/schemas-data/3.0/a2ui/user-action.json +1 -1
- package/dist/lib/schemas-data/3.0/account/get-account-financials-request.json +5 -5
- package/dist/lib/schemas-data/3.0/account/get-account-financials-response.json +10 -10
- package/dist/lib/schemas-data/3.0/account/list-accounts-request.json +4 -4
- package/dist/lib/schemas-data/3.0/account/list-accounts-response.json +6 -6
- package/dist/lib/schemas-data/3.0/account/report-usage-request.json +5 -5
- package/dist/lib/schemas-data/3.0/account/report-usage-response.json +4 -4
- package/dist/lib/schemas-data/3.0/account/sync-accounts-request.json +9 -9
- package/dist/lib/schemas-data/3.0/account/sync-accounts-response.json +12 -12
- package/dist/lib/schemas-data/3.0/account/sync-governance-request.json +5 -5
- package/dist/lib/schemas-data/3.0/account/sync-governance-response.json +8 -8
- package/dist/lib/schemas-data/3.0/adagents.json +32 -32
- package/dist/lib/schemas-data/3.0/brand/acquire-rights-request.json +8 -8
- package/dist/lib/schemas-data/3.0/brand/acquire-rights-response.json +14 -14
- package/dist/lib/schemas-data/3.0/brand/creative-approval-request.json +4 -4
- package/dist/lib/schemas-data/3.0/brand/creative-approval-response.json +10 -10
- package/dist/lib/schemas-data/3.0/brand/get-brand-identity-request.json +3 -3
- package/dist/lib/schemas-data/3.0/brand/get-brand-identity-response.json +8 -8
- package/dist/lib/schemas-data/3.0/brand/get-rights-request.json +7 -7
- package/dist/lib/schemas-data/3.0/brand/get-rights-response.json +9 -9
- package/dist/lib/schemas-data/3.0/brand/revocation-notification.json +4 -4
- package/dist/lib/schemas-data/3.0/brand/rights-pricing-option.json +5 -5
- package/dist/lib/schemas-data/3.0/brand/rights-terms.json +3 -3
- package/dist/lib/schemas-data/3.0/brand/update-rights-request.json +4 -4
- package/dist/lib/schemas-data/3.0/brand/update-rights-response.json +9 -9
- package/dist/lib/schemas-data/3.0/brand.json +14 -14
- package/dist/lib/schemas-data/3.0/bundled/content-standards/calibrate-content-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/calibrate-content-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/create-content-standards-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/create-content-standards-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/get-content-standards-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/get-content-standards-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/get-media-buy-artifacts-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/get-media-buy-artifacts-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/list-content-standards-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/list-content-standards-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/update-content-standards-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/update-content-standards-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/validate-content-delivery-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/validate-content-delivery-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/core/tasks-get-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/core/tasks-get-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/core/tasks-list-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/core/tasks-list-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-delivery-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-delivery-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-features-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-features-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/list-creative-formats-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/list-creative-formats-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/list-creatives-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/list-creatives-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/preview-creative-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/preview-creative-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/sync-creatives-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/sync-creatives-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/build-creative-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/build-creative-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/create-media-buy-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/create-media-buy-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buy-delivery-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buy-delivery-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buys-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buys-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-products-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-products-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/list-creative-formats-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/list-creative-formats-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/log-event-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/log-event-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/package-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/provide-performance-feedback-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/provide-performance-feedback-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-audiences-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-audiences-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-catalogs-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-catalogs-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-event-sources-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-event-sources-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/update-media-buy-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/update-media-buy-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/create-property-list-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/create-property-list-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/delete-property-list-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/delete-property-list-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/get-property-list-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/get-property-list-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/list-property-lists-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/list-property-lists-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/update-property-list-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/update-property-list-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/validate-property-delivery-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/validate-property-delivery-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/protocol/get-adcp-capabilities-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/protocol/get-adcp-capabilities-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/signals/activate-signal-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/signals/activate-signal-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/signals/get-signals-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/signals/get-signals-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-get-offering-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-get-offering-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-initiate-session-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-initiate-session-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-send-message-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-send-message-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-terminate-session-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-terminate-session-response.json +2 -2
- package/dist/lib/schemas-data/3.0/collection/base-collection-source.json +3 -3
- package/dist/lib/schemas-data/3.0/collection/collection-list-changed-webhook.json +2 -2
- package/dist/lib/schemas-data/3.0/collection/collection-list-filters.json +7 -7
- package/dist/lib/schemas-data/3.0/collection/collection-list.json +5 -5
- package/dist/lib/schemas-data/3.0/collection/create-collection-list-request.json +7 -7
- package/dist/lib/schemas-data/3.0/collection/create-collection-list-response.json +4 -4
- package/dist/lib/schemas-data/3.0/collection/delete-collection-list-request.json +4 -4
- package/dist/lib/schemas-data/3.0/collection/delete-collection-list-response.json +3 -3
- package/dist/lib/schemas-data/3.0/collection/get-collection-list-request.json +4 -4
- package/dist/lib/schemas-data/3.0/collection/get-collection-list-response.json +10 -10
- package/dist/lib/schemas-data/3.0/collection/list-collection-lists-request.json +5 -5
- package/dist/lib/schemas-data/3.0/collection/list-collection-lists-response.json +5 -5
- package/dist/lib/schemas-data/3.0/collection/update-collection-list-request.json +7 -7
- package/dist/lib/schemas-data/3.0/collection/update-collection-list-response.json +4 -4
- package/dist/lib/schemas-data/3.0/content-standards/artifact-webhook-payload.json +3 -3
- package/dist/lib/schemas-data/3.0/content-standards/artifact.json +7 -7
- package/dist/lib/schemas-data/3.0/content-standards/calibrate-content-request.json +4 -4
- package/dist/lib/schemas-data/3.0/content-standards/calibrate-content-response.json +8 -8
- package/dist/lib/schemas-data/3.0/content-standards/content-standards.json +7 -7
- package/dist/lib/schemas-data/3.0/content-standards/create-content-standards-request.json +7 -7
- package/dist/lib/schemas-data/3.0/content-standards/create-content-standards-response.json +6 -6
- package/dist/lib/schemas-data/3.0/content-standards/get-content-standards-request.json +3 -3
- package/dist/lib/schemas-data/3.0/content-standards/get-content-standards-response.json +7 -7
- package/dist/lib/schemas-data/3.0/content-standards/get-media-buy-artifacts-request.json +4 -4
- package/dist/lib/schemas-data/3.0/content-standards/get-media-buy-artifacts-response.json +8 -8
- package/dist/lib/schemas-data/3.0/content-standards/list-content-standards-request.json +5 -5
- package/dist/lib/schemas-data/3.0/content-standards/list-content-standards-response.json +8 -8
- package/dist/lib/schemas-data/3.0/content-standards/update-content-standards-request.json +7 -7
- package/dist/lib/schemas-data/3.0/content-standards/update-content-standards-response.json +6 -6
- package/dist/lib/schemas-data/3.0/content-standards/validate-content-delivery-request.json +4 -4
- package/dist/lib/schemas-data/3.0/content-standards/validate-content-delivery-response.json +8 -8
- package/dist/lib/schemas-data/3.0/core/account-ref.json +2 -2
- package/dist/lib/schemas-data/3.0/core/account.json +9 -9
- package/dist/lib/schemas-data/3.0/core/activation-key.json +1 -1
- package/dist/lib/schemas-data/3.0/core/ad-inventory-config.json +1 -1
- package/dist/lib/schemas-data/3.0/core/agent-encryption-key.json +1 -1
- package/dist/lib/schemas-data/3.0/core/agent-signing-key.json +1 -1
- package/dist/lib/schemas-data/3.0/core/app-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/assets/asset-union.json +15 -15
- package/dist/lib/schemas-data/3.0/core/assets/audio-asset.json +3 -3
- package/dist/lib/schemas-data/3.0/core/assets/brief-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/catalog-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/css-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/daast-asset.json +4 -4
- package/dist/lib/schemas-data/3.0/core/assets/html-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/image-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/javascript-asset.json +3 -3
- package/dist/lib/schemas-data/3.0/core/assets/markdown-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/text-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/url-asset.json +3 -3
- package/dist/lib/schemas-data/3.0/core/assets/vast-asset.json +4 -4
- package/dist/lib/schemas-data/3.0/core/assets/video-asset.json +7 -7
- package/dist/lib/schemas-data/3.0/core/assets/webhook-asset.json +7 -7
- package/dist/lib/schemas-data/3.0/core/async-response-data.json +25 -25
- package/dist/lib/schemas-data/3.0/core/attribution-window.json +4 -4
- package/dist/lib/schemas-data/3.0/core/audience-member.json +3 -3
- package/dist/lib/schemas-data/3.0/core/audience-selector.json +4 -4
- package/dist/lib/schemas-data/3.0/core/brand-id.json +1 -1
- package/dist/lib/schemas-data/3.0/core/brand-ref.json +2 -2
- package/dist/lib/schemas-data/3.0/core/business-entity.json +2 -2
- package/dist/lib/schemas-data/3.0/core/cancellation-policy.json +2 -2
- package/dist/lib/schemas-data/3.0/core/catalog-field-mapping.json +2 -2
- package/dist/lib/schemas-data/3.0/core/catalog.json +7 -7
- package/dist/lib/schemas-data/3.0/core/catchment.json +5 -5
- package/dist/lib/schemas-data/3.0/core/collection-distribution.json +2 -2
- package/dist/lib/schemas-data/3.0/core/collection-list-ref.json +1 -1
- package/dist/lib/schemas-data/3.0/core/collection-selector.json +1 -1
- package/dist/lib/schemas-data/3.0/core/collection.json +13 -13
- package/dist/lib/schemas-data/3.0/core/content-rating.json +2 -2
- package/dist/lib/schemas-data/3.0/core/context.json +1 -1
- package/dist/lib/schemas-data/3.0/core/creative-asset.json +6 -6
- package/dist/lib/schemas-data/3.0/core/creative-assignment.json +1 -1
- package/dist/lib/schemas-data/3.0/core/creative-brief.json +4 -4
- package/dist/lib/schemas-data/3.0/core/creative-consumption.json +1 -1
- package/dist/lib/schemas-data/3.0/core/creative-filters.json +4 -4
- package/dist/lib/schemas-data/3.0/core/creative-item.json +1 -1
- package/dist/lib/schemas-data/3.0/core/creative-manifest.json +7 -7
- package/dist/lib/schemas-data/3.0/core/creative-policy.json +3 -3
- package/dist/lib/schemas-data/3.0/core/creative-variable.json +1 -1
- package/dist/lib/schemas-data/3.0/core/creative-variant.json +5 -5
- package/dist/lib/schemas-data/3.0/core/data-provider-signal-selector.json +1 -1
- package/dist/lib/schemas-data/3.0/core/date-range.json +1 -1
- package/dist/lib/schemas-data/3.0/core/datetime-range.json +1 -1
- package/dist/lib/schemas-data/3.0/core/daypart-target.json +2 -2
- package/dist/lib/schemas-data/3.0/core/deadline-policy.json +1 -1
- package/dist/lib/schemas-data/3.0/core/delivery-forecast.json +7 -7
- package/dist/lib/schemas-data/3.0/core/delivery-metrics.json +5 -5
- package/dist/lib/schemas-data/3.0/core/deployment.json +3 -3
- package/dist/lib/schemas-data/3.0/core/destination-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/destination.json +1 -1
- package/dist/lib/schemas-data/3.0/core/diagnostic-issue.json +1 -1
- package/dist/lib/schemas-data/3.0/core/duration.json +1 -1
- package/dist/lib/schemas-data/3.0/core/education-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/error.json +1 -1
- package/dist/lib/schemas-data/3.0/core/event-custom-data.json +2 -2
- package/dist/lib/schemas-data/3.0/core/event-source-health.json +3 -3
- package/dist/lib/schemas-data/3.0/core/event.json +6 -6
- package/dist/lib/schemas-data/3.0/core/ext.json +1 -1
- package/dist/lib/schemas-data/3.0/core/feature-requirement.json +1 -1
- package/dist/lib/schemas-data/3.0/core/flight-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/forecast-point.json +18 -18
- package/dist/lib/schemas-data/3.0/core/forecast-range.json +1 -1
- package/dist/lib/schemas-data/3.0/core/format-id.json +1 -1
- package/dist/lib/schemas-data/3.0/core/format.json +42 -42
- package/dist/lib/schemas-data/3.0/core/frequency-cap.json +4 -4
- package/dist/lib/schemas-data/3.0/core/generation-credential.json +3 -3
- package/dist/lib/schemas-data/3.0/core/geo-breakdown-support.json +3 -3
- package/dist/lib/schemas-data/3.0/core/hotel-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/identifier.json +2 -2
- package/dist/lib/schemas-data/3.0/core/industry-identifier.json +2 -2
- package/dist/lib/schemas-data/3.0/core/insertion-order.json +1 -1
- package/dist/lib/schemas-data/3.0/core/installment-deadlines.json +2 -2
- package/dist/lib/schemas-data/3.0/core/installment.json +9 -9
- package/dist/lib/schemas-data/3.0/core/job-item.json +3 -3
- package/dist/lib/schemas-data/3.0/core/limited-series.json +1 -1
- package/dist/lib/schemas-data/3.0/core/material-deadline.json +1 -1
- package/dist/lib/schemas-data/3.0/core/mcp-webhook-payload.json +5 -5
- package/dist/lib/schemas-data/3.0/core/measurement-readiness.json +5 -5
- package/dist/lib/schemas-data/3.0/core/measurement-terms.json +3 -3
- package/dist/lib/schemas-data/3.0/core/measurement-window.json +1 -1
- package/dist/lib/schemas-data/3.0/core/media-buy-features.json +1 -1
- package/dist/lib/schemas-data/3.0/core/media-buy.json +7 -7
- package/dist/lib/schemas-data/3.0/core/offering-asset-group.json +15 -15
- package/dist/lib/schemas-data/3.0/core/offering.json +5 -5
- package/dist/lib/schemas-data/3.0/core/optimization-goal.json +6 -6
- package/dist/lib/schemas-data/3.0/core/outcome-measurement.json +2 -2
- package/dist/lib/schemas-data/3.0/core/overlay.json +1 -1
- package/dist/lib/schemas-data/3.0/core/package.json +14 -14
- package/dist/lib/schemas-data/3.0/core/pagination-request.json +1 -1
- package/dist/lib/schemas-data/3.0/core/pagination-response.json +1 -1
- package/dist/lib/schemas-data/3.0/core/performance-feedback.json +3 -3
- package/dist/lib/schemas-data/3.0/core/performance-standard.json +4 -4
- package/dist/lib/schemas-data/3.0/core/placement-definition.json +5 -5
- package/dist/lib/schemas-data/3.0/core/placement.json +2 -2
- package/dist/lib/schemas-data/3.0/core/planned-delivery.json +5 -5
- package/dist/lib/schemas-data/3.0/core/price.json +1 -1
- package/dist/lib/schemas-data/3.0/core/pricing-option.json +10 -10
- package/dist/lib/schemas-data/3.0/core/product-allocation.json +4 -4
- package/dist/lib/schemas-data/3.0/core/product-filters.json +16 -16
- package/dist/lib/schemas-data/3.0/core/product.json +28 -28
- package/dist/lib/schemas-data/3.0/core/property-id.json +1 -1
- package/dist/lib/schemas-data/3.0/core/property-list-ref.json +1 -1
- package/dist/lib/schemas-data/3.0/core/property-tag.json +1 -1
- package/dist/lib/schemas-data/3.0/core/property.json +6 -6
- package/dist/lib/schemas-data/3.0/core/proposal.json +6 -6
- package/dist/lib/schemas-data/3.0/core/protocol-envelope.json +3 -3
- package/dist/lib/schemas-data/3.0/core/provenance.json +6 -6
- package/dist/lib/schemas-data/3.0/core/publisher-property-selector.json +3 -3
- package/dist/lib/schemas-data/3.0/core/push-notification-config.json +2 -2
- package/dist/lib/schemas-data/3.0/core/real-estate-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/reference-asset.json +1 -1
- package/dist/lib/schemas-data/3.0/core/reporting-capabilities.json +5 -5
- package/dist/lib/schemas-data/3.0/core/reporting-webhook.json +3 -3
- package/dist/lib/schemas-data/3.0/core/requirements/asset-requirements.json +13 -13
- package/dist/lib/schemas-data/3.0/core/requirements/audio-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/catalog-field-binding.json +4 -4
- package/dist/lib/schemas-data/3.0/core/requirements/catalog-requirements.json +5 -5
- package/dist/lib/schemas-data/3.0/core/requirements/css-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/daast-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/html-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/image-asset-requirements.json +2 -2
- package/dist/lib/schemas-data/3.0/core/requirements/javascript-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/markdown-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/offering-asset-constraint.json +4 -4
- package/dist/lib/schemas-data/3.0/core/requirements/text-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/url-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/vast-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/video-asset-requirements.json +6 -6
- package/dist/lib/schemas-data/3.0/core/requirements/webhook-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/response.json +1 -1
- package/dist/lib/schemas-data/3.0/core/rights-constraint.json +4 -4
- package/dist/lib/schemas-data/3.0/core/seller-agent-ref.json +1 -1
- package/dist/lib/schemas-data/3.0/core/signal-definition.json +3 -3
- package/dist/lib/schemas-data/3.0/core/signal-filters.json +2 -2
- package/dist/lib/schemas-data/3.0/core/signal-id.json +1 -1
- package/dist/lib/schemas-data/3.0/core/signal-pricing-option.json +2 -2
- package/dist/lib/schemas-data/3.0/core/signal-pricing.json +6 -6
- package/dist/lib/schemas-data/3.0/core/signal-targeting.json +4 -4
- package/dist/lib/schemas-data/3.0/core/special.json +2 -2
- package/dist/lib/schemas-data/3.0/core/start-timing.json +1 -1
- package/dist/lib/schemas-data/3.0/core/store-item.json +3 -3
- package/dist/lib/schemas-data/3.0/core/talent.json +2 -2
- package/dist/lib/schemas-data/3.0/core/targeting.json +20 -20
- package/dist/lib/schemas-data/3.0/core/tasks-get-request.json +3 -3
- package/dist/lib/schemas-data/3.0/core/tasks-get-response.json +7 -7
- package/dist/lib/schemas-data/3.0/core/tasks-list-request.json +11 -11
- package/dist/lib/schemas-data/3.0/core/tasks-list-response.json +6 -6
- package/dist/lib/schemas-data/3.0/core/user-match.json +3 -3
- package/dist/lib/schemas-data/3.0/core/vehicle-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/vendor-pricing-option.json +2 -2
- package/dist/lib/schemas-data/3.0/core/x-entity-types.json +1 -1
- package/dist/lib/schemas-data/3.0/creative/asset-types/index.json +5 -5
- package/dist/lib/schemas-data/3.0/creative/creative-feature-result.json +2 -2
- package/dist/lib/schemas-data/3.0/creative/get-creative-delivery-request.json +5 -5
- package/dist/lib/schemas-data/3.0/creative/get-creative-delivery-response.json +7 -7
- package/dist/lib/schemas-data/3.0/creative/get-creative-features-request.json +5 -5
- package/dist/lib/schemas-data/3.0/creative/get-creative-features-response.json +8 -8
- package/dist/lib/schemas-data/3.0/creative/list-creative-formats-request.json +11 -11
- package/dist/lib/schemas-data/3.0/creative/list-creative-formats-response.json +7 -7
- package/dist/lib/schemas-data/3.0/creative/list-creatives-request.json +8 -8
- package/dist/lib/schemas-data/3.0/creative/list-creatives-response.json +14 -14
- package/dist/lib/schemas-data/3.0/creative/preview-creative-request.json +11 -11
- package/dist/lib/schemas-data/3.0/creative/preview-creative-response.json +12 -12
- package/dist/lib/schemas-data/3.0/creative/preview-render.json +1 -1
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-request.json +7 -7
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-response.json +13 -13
- package/dist/lib/schemas-data/3.0/enums/account-scope.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/account-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/action-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/adcp-protocol.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/adjustment-kind.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/advertiser-industry.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/age-verification-method.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/assessment-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/asset-content-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/attribution-model.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/audience-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/audience-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/audio-channel-layout.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/auth-scheme.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/available-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/billing-party.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/binary-verdict.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/brand-agent-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/canceled-by.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/catalog-action.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/catalog-item-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/catalog-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/channels.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/cloud-storage-protocol.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/co-branding-requirement.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-cadence.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-kind.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-relationship.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/consent-basis.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/content-id-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/content-rating-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-action.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-agent-capability.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-approval-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-identifier-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-quality.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-sort-field.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/daast-tracking-event.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/daast-version.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/day-of-week.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/delegation-authority.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/delivery-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/demographic-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/derivative-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/device-platform.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/device-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/digital-source-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/dimension-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/disclosure-persistence.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/disclosure-position.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/distance-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/distribution-identifier-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/error-code.json +3 -3
- package/dist/lib/schemas-data/3.0/enums/escalation-severity.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/event-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/exclusivity.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/feature-check-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/feed-format.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/feedback-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/forecast-method.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/forecast-range-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/forecastable-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/format-id-parameter.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/frame-rate-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/frequency-cap-scope.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/genre-taxonomy.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/geo-level.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/gop-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-decision.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-domain.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-mode.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-phase.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/history-entry-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/http-method.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/identifier-types.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/installment-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/javascript-module-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/landing-page-requirement.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/makegood-remedy.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/markdown-flavor.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/match-id-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/match-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/media-buy-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/media-buy-valid-action.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/metric-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/metro-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/moov-atom-position.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/notification-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/outcome-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/pacing.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/payment-terms.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/performance-standard-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/policy-category.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/policy-enforcement.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/postal-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/preview-output-format.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/pricing-model.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/production-quality.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/property-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/proposal-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/publisher-identifier-types.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/purchase-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/reach-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/reporting-frequency.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/response-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/restricted-attribute.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/right-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/right-use.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/rights-billing-period.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/scan-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/si-session-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/signal-catalog-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/signal-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/signal-value-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/snapshot-unavailable-reason.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/sort-direction.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/sort-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/special-category.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/specialism.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/talent-role.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/task-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/task-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/transport-mode.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/travel-time-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/uid-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/universal-macro.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/update-frequency.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/url-asset-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/validation-mode.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/vast-tracking-event.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/vast-version.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/viewability-standard.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/wcag-level.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/webhook-response-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/webhook-security-method.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/account-setup-required.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/audience-too-small.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/budget-too-low.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/conflict.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/creative-rejected.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/policy-violation.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/rate-limited.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/vendor-error-codes.json +1 -1
- package/dist/lib/schemas-data/3.0/extensions/extension-meta.json +1 -1
- package/dist/lib/schemas-data/3.0/extensions/index.json +2 -2
- package/dist/lib/schemas-data/3.0/governance/attribute-definition.json +1 -1
- package/dist/lib/schemas-data/3.0/governance/audience-constraints.json +3 -3
- package/dist/lib/schemas-data/3.0/governance/check-governance-request.json +7 -7
- package/dist/lib/schemas-data/3.0/governance/check-governance-response.json +6 -6
- package/dist/lib/schemas-data/3.0/governance/get-plan-audit-logs-request.json +4 -4
- package/dist/lib/schemas-data/3.0/governance/get-plan-audit-logs-response.json +9 -9
- package/dist/lib/schemas-data/3.0/governance/policy-category-definition.json +2 -2
- package/dist/lib/schemas-data/3.0/governance/policy-entry.json +6 -6
- package/dist/lib/schemas-data/3.0/governance/policy-ref.json +1 -1
- package/dist/lib/schemas-data/3.0/governance/report-plan-outcome-request.json +6 -6
- package/dist/lib/schemas-data/3.0/governance/report-plan-outcome-response.json +4 -4
- package/dist/lib/schemas-data/3.0/governance/sync-plans-request.json +13 -13
- package/dist/lib/schemas-data/3.0/governance/sync-plans-response.json +4 -4
- package/dist/lib/schemas-data/3.0/index.json +364 -364
- package/dist/lib/schemas-data/3.0/manifest.json +5 -5
- package/dist/lib/schemas-data/3.0/manifest.schema.json +1 -1
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-request.json +11 -11
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-response.json +17 -17
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-request.json +12 -12
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-response.json +15 -15
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buy-delivery-request.json +17 -17
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buy-delivery-response.json +24 -24
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buys-request.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buys-response.json +19 -19
- package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/get-products-request.json +11 -11
- package/dist/lib/schemas-data/3.0/media-buy/get-products-response.json +8 -8
- package/dist/lib/schemas-data/3.0/media-buy/list-creative-formats-request.json +11 -11
- package/dist/lib/schemas-data/3.0/media-buy/list-creative-formats-response.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/log-event-request.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/log-event-response.json +6 -6
- package/dist/lib/schemas-data/3.0/media-buy/package-request.json +12 -12
- package/dist/lib/schemas-data/3.0/media-buy/package-update.json +13 -13
- package/dist/lib/schemas-data/3.0/media-buy/provide-performance-feedback-request.json +6 -6
- package/dist/lib/schemas-data/3.0/media-buy/provide-performance-feedback-response.json +6 -6
- package/dist/lib/schemas-data/3.0/media-buy/sync-audiences-request.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/sync-audiences-response.json +9 -9
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-request.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-response.json +9 -9
- package/dist/lib/schemas-data/3.0/media-buy/sync-event-sources-request.json +5 -5
- package/dist/lib/schemas-data/3.0/media-buy/sync-event-sources-response.json +10 -10
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-request.json +10 -10
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-response.json +10 -10
- package/dist/lib/schemas-data/3.0/pricing-options/cpa-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpc-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpcv-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpm-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpp-option.json +5 -5
- package/dist/lib/schemas-data/3.0/pricing-options/cpv-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/flat-rate-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/price-breakdown.json +2 -2
- package/dist/lib/schemas-data/3.0/pricing-options/price-guidance.json +1 -1
- package/dist/lib/schemas-data/3.0/pricing-options/time-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/vcpm-option.json +4 -4
- package/dist/lib/schemas-data/3.0/property/authorization-result.json +1 -1
- package/dist/lib/schemas-data/3.0/property/base-property-source.json +4 -4
- package/dist/lib/schemas-data/3.0/property/create-property-list-request.json +7 -7
- package/dist/lib/schemas-data/3.0/property/create-property-list-response.json +4 -4
- package/dist/lib/schemas-data/3.0/property/delete-property-list-request.json +4 -4
- package/dist/lib/schemas-data/3.0/property/delete-property-list-response.json +3 -3
- package/dist/lib/schemas-data/3.0/property/delivery-record.json +3 -3
- package/dist/lib/schemas-data/3.0/property/get-property-list-request.json +4 -4
- package/dist/lib/schemas-data/3.0/property/get-property-list-response.json +7 -7
- package/dist/lib/schemas-data/3.0/property/list-property-lists-request.json +5 -5
- package/dist/lib/schemas-data/3.0/property/list-property-lists-response.json +5 -5
- package/dist/lib/schemas-data/3.0/property/property-error.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-feature-definition.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-feature-result.json +4 -4
- package/dist/lib/schemas-data/3.0/property/property-feature-value.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-feature.json +1 -1
- package/dist/lib/schemas-data/3.0/property/property-list-changed-webhook.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-list-filters.json +5 -5
- package/dist/lib/schemas-data/3.0/property/property-list.json +6 -6
- package/dist/lib/schemas-data/3.0/property/update-property-list-request.json +7 -7
- package/dist/lib/schemas-data/3.0/property/update-property-list-response.json +4 -4
- package/dist/lib/schemas-data/3.0/property/validate-property-delivery-request.json +5 -5
- package/dist/lib/schemas-data/3.0/property/validate-property-delivery-response.json +4 -4
- package/dist/lib/schemas-data/3.0/property/validation-result.json +5 -5
- package/dist/lib/schemas-data/3.0/protocol/get-adcp-capabilities-request.json +3 -3
- package/dist/lib/schemas-data/3.0/protocol/get-adcp-capabilities-response.json +25 -25
- package/dist/lib/schemas-data/3.0/signals/activate-signal-request.json +5 -5
- package/dist/lib/schemas-data/3.0/signals/activate-signal-response.json +7 -7
- package/dist/lib/schemas-data/3.0/signals/get-signals-request.json +8 -8
- package/dist/lib/schemas-data/3.0/signals/get-signals-response.json +10 -10
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-capabilities.json +1 -1
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-get-offering-request.json +3 -3
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-get-offering-response.json +4 -4
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-identity.json +1 -1
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-initiate-session-request.json +5 -5
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-initiate-session-response.json +7 -7
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-send-message-request.json +3 -3
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-send-message-response.json +7 -7
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-terminate-session-request.json +3 -3
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-terminate-session-response.json +5 -5
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-ui-element.json +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/create-adcp-server.d.ts +33 -0
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +127 -1
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/server/credential-policy.d.ts +221 -0
- package/dist/lib/server/credential-policy.d.ts.map +1 -0
- package/dist/lib/server/credential-policy.js +260 -0
- package/dist/lib/server/credential-policy.js.map +1 -0
- package/dist/lib/server/decisioning/account.d.ts +14 -0
- package/dist/lib/server/decisioning/account.d.ts.map +1 -1
- package/dist/lib/server/decisioning/account.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.js +36 -11
- package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
- package/dist/lib/server/dynamic-registry.d.ts +219 -0
- package/dist/lib/server/dynamic-registry.d.ts.map +1 -0
- package/dist/lib/server/dynamic-registry.js +245 -0
- package/dist/lib/server/dynamic-registry.js.map +1 -0
- package/dist/lib/server/index.d.ts +9 -0
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js +21 -4
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/server/operational-platform.d.ts +239 -0
- package/dist/lib/server/operational-platform.d.ts.map +1 -0
- package/dist/lib/server/operational-platform.js +94 -0
- package/dist/lib/server/operational-platform.js.map +1 -0
- package/dist/lib/server/socket-mode/conformance-client.d.ts +83 -0
- package/dist/lib/server/socket-mode/conformance-client.d.ts.map +1 -0
- package/dist/lib/server/socket-mode/conformance-client.js +117 -0
- package/dist/lib/server/socket-mode/conformance-client.js.map +1 -0
- package/dist/lib/server/socket-mode/index.d.ts +15 -0
- package/dist/lib/server/socket-mode/index.d.ts.map +1 -0
- package/dist/lib/server/socket-mode/index.js +20 -0
- package/dist/lib/server/socket-mode/index.js.map +1 -0
- package/dist/lib/server/socket-mode/ws-transport.d.ts +26 -0
- package/dist/lib/server/socket-mode/ws-transport.d.ts.map +1 -0
- package/dist/lib/server/socket-mode/ws-transport.js +93 -0
- package/dist/lib/server/socket-mode/ws-transport.js.map +1 -0
- package/dist/lib/server/wire-safe.d.ts +211 -0
- package/dist/lib/server/wire-safe.d.ts.map +1 -0
- package/dist/lib/server/wire-safe.js +231 -0
- package/dist/lib/server/wire-safe.js.map +1 -0
- package/dist/lib/server/wire-spec-fields.generated.d.ts +168 -0
- package/dist/lib/server/wire-spec-fields.generated.d.ts.map +1 -0
- package/dist/lib/server/wire-spec-fields.generated.js +172 -0
- package/dist/lib/server/wire-spec-fields.generated.js.map +1 -0
- package/dist/lib/testing/compliance/index.d.ts +2 -0
- package/dist/lib/testing/compliance/index.d.ts.map +1 -1
- package/dist/lib/testing/compliance/index.js +6 -1
- package/dist/lib/testing/compliance/index.js.map +1 -1
- package/dist/lib/testing/compliance/summary.d.ts +77 -0
- package/dist/lib/testing/compliance/summary.d.ts.map +1 -0
- package/dist/lib/testing/compliance/summary.js +176 -0
- package/dist/lib/testing/compliance/summary.js.map +1 -0
- package/dist/lib/testing/comply-controller.d.ts +42 -1
- package/dist/lib/testing/comply-controller.d.ts.map +1 -1
- package/dist/lib/testing/comply-controller.js +13 -1
- package/dist/lib/testing/comply-controller.js.map +1 -1
- package/dist/lib/testing/storyboard/compliance.d.ts +26 -0
- package/dist/lib/testing/storyboard/compliance.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/compliance.js +51 -0
- package/dist/lib/testing/storyboard/compliance.js.map +1 -1
- package/dist/lib/testing/storyboard/index.d.ts +2 -2
- package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/index.js +4 -2
- package/dist/lib/testing/storyboard/index.js.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.js +63 -40
- package/dist/lib/testing/storyboard/request-builder.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +58 -5
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/types/core.generated.d.ts +54 -14
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +2 -2
- package/dist/lib/types/error-codes.d.ts +2 -2
- package/dist/lib/types/index.d.ts +1 -1
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/types/manifest.generated.d.ts +5 -5
- package/dist/lib/types/manifest.generated.js +3 -3
- package/dist/lib/types/manifest.generated.js.map +1 -1
- package/dist/lib/types/schemas.generated.d.ts +465 -381
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +171 -143
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +42 -14
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/version.d.ts +7 -7
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +6 -5
- package/dist/lib/version.js.map +1 -1
- package/docs/llms.txt +4 -3
- package/examples/hello_creative_adapter_ad_server.ts +22 -3
- package/examples/hello_creative_adapter_template.ts +61 -6
- package/examples/hello_seller_adapter_guaranteed.ts +85 -10
- package/examples/hello_seller_adapter_multi_tenant.ts +39 -5
- package/examples/hello_seller_adapter_non_guaranteed.ts +54 -3
- package/examples/hello_seller_adapter_social.ts +1 -1
- package/examples/hello_signals_adapter_marketplace.ts +34 -29
- package/package.json +6 -5
- package/skills/SHAPE-GOTCHAS.md +18 -0
- package/skills/build-brand-rights-agent/SKILL.md +61 -597
- package/skills/build-creative-agent/SKILL.md +69 -750
- package/skills/build-generative-seller-agent/SKILL.md +43 -583
- package/skills/build-governance-agent/SKILL.md +63 -959
- package/skills/build-holdco-agent/SKILL.md +8 -0
- package/skills/build-retail-media-agent/SKILL.md +46 -480
- package/skills/build-seller-agent/SKILL.md +53 -1797
- package/skills/build-si-agent/SKILL.md +50 -368
- package/skills/build-signals-agent/SKILL.md +49 -539
- package/skills/cross-cutting.md +84 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/creative-reception.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/creative-reception.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.5 → 3.0.6.previous}/universal/webhook-emission.yaml +0 -0
|
@@ -0,0 +1,593 @@
|
|
|
1
|
+
id: idempotency
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
title: "Idempotency enforcement"
|
|
4
|
+
category: core
|
|
5
|
+
summary: "Validates that mutating requests enforce idempotency_key — replays return cached responses, key reuse with a different payload returns IDEMPOTENCY_CONFLICT, and fresh keys create new resources."
|
|
6
|
+
track: core
|
|
7
|
+
|
|
8
|
+
# Cross-step assertions (adcontextprotocol/adcp#2639). These convert two
|
|
9
|
+
# reviewer-only checks from `key_reuse_conflict` and `security` into
|
|
10
|
+
# programmatic gates that fail the storyboard at runtime rather than
|
|
11
|
+
# waiting on human review. `idempotency.conflict_no_payload_leak` catches
|
|
12
|
+
# the stolen-key read oracle the key-reuse phase calls out; `context.no_secret_echo`
|
|
13
|
+
# catches credential echo on any step's response. Both ship as default
|
|
14
|
+
# assertions in `@adcp/client` 5.9+ — `import '@adcp/client/testing'`
|
|
15
|
+
# auto-registers them; no additional module loading required. Consumers
|
|
16
|
+
# who need stricter per-repo checks can re-register with their own spec
|
|
17
|
+
# via `registerAssertion(spec, { override: true })` (adcp-client#752).
|
|
18
|
+
invariants:
|
|
19
|
+
- idempotency.conflict_no_payload_leak
|
|
20
|
+
- context.no_secret_echo
|
|
21
|
+
|
|
22
|
+
# Security note for the test harness: sample_request values below use
|
|
23
|
+
# $generate:uuid_v4 and $generate:uuid_v4#alias placeholders. The harness
|
|
24
|
+
# MUST replace these with fresh UUID v4 values PER RUN (not per file, not
|
|
25
|
+
# per deploy). Hardcoding keys across runs creates a cross-tenant replay
|
|
26
|
+
# oracle — a malicious reviewer could probe the cached responses of the
|
|
27
|
+
# compliance principal using the same keys. Multiple references to the
|
|
28
|
+
# same alias (e.g. $generate:uuid_v4#replay_a) in the same run MUST
|
|
29
|
+
# resolve to the same UUID so the replay phase can use it intentionally.
|
|
30
|
+
#
|
|
31
|
+
# The compliance principal SHOULD be a sandbox account whose idempotency
|
|
32
|
+
# cache is isolated per test run (prefix-scoped, or purged on start).
|
|
33
|
+
|
|
34
|
+
narrative: |
|
|
35
|
+
Every mutating request in AdCP carries an idempotency_key so buyers can safely retry
|
|
36
|
+
after network errors without double-booking. This storyboard walks through the four
|
|
37
|
+
observable behaviors a seller MUST implement:
|
|
38
|
+
|
|
39
|
+
1. First call with a fresh key is processed normally and returns the canonical response.
|
|
40
|
+
2. Replay with the same key and an equivalent payload returns the cached response
|
|
41
|
+
without re-executing side effects (same media_buy_id, no new webhooks fired).
|
|
42
|
+
3. Replay with the same key but a materially different payload is rejected with
|
|
43
|
+
IDEMPOTENCY_CONFLICT. The buyer has clearly reused a key by mistake.
|
|
44
|
+
4. A request with a different key is treated as a new request, even if the payload
|
|
45
|
+
is identical — the key is what makes retries safe, not payload equivalence.
|
|
46
|
+
5. Error responses (returned envelopes, thrown envelopes, and uncaught exceptions)
|
|
47
|
+
do not cache. The next request carrying the same key re-executes the handler.
|
|
48
|
+
This applies to every recovery class, including terminal — terminal states in
|
|
49
|
+
AdCP are mostly state-dependent (e.g., ACCOUNT_SUSPENDED flips after buyer
|
|
50
|
+
remediation) and cached error replay would mask legitimate recovery. Handler
|
|
51
|
+
authors must mutate state last: a handler that writes state then returns or
|
|
52
|
+
throws an error envelope will double-write on retry. See
|
|
53
|
+
security.mdx#idempotency rule 3 ("Only successful responses are cached"),
|
|
54
|
+
which this storyboard validates structurally via the reviewer check on
|
|
55
|
+
key_reuse_conflict. An end-to-end phase that drives a deterministic terminal
|
|
56
|
+
error and replays the key is deferred pending a generic force-error controller
|
|
57
|
+
verb (see adcontextprotocol/adcp#2760).
|
|
58
|
+
|
|
59
|
+
Missing idempotency_key on any mutating request MUST be rejected with INVALID_REQUEST.
|
|
60
|
+
Sellers MUST declare adcp.idempotency on get_adcp_capabilities — either
|
|
61
|
+
{ supported: true, replay_ttl_seconds: N } to opt into replay protection, or
|
|
62
|
+
{ supported: false } to declare they do not deduplicate retries. This storyboard
|
|
63
|
+
validates the supported: true behavior; sellers declaring supported: false
|
|
64
|
+
MUST skip this storyboard (they have no replay window to test).
|
|
65
|
+
|
|
66
|
+
**Cache-growth defense (MUST, not yet runtime-graded).** Per
|
|
67
|
+
security.mdx bullet 8 on the idempotency section, sellers MUST apply per-agent
|
|
68
|
+
rate limits on idempotency-cache inserts and MUST return RATE_LIMITED when the
|
|
69
|
+
per-agent insert rate exceeds the configured ceiling. The recommended
|
|
70
|
+
first-deployment ceiling is 60 inserts/sec sustained per agent (3,600/min)
|
|
71
|
+
with burst allowance to 300/sec over rolling 10-second windows. This storyboard
|
|
72
|
+
does not yet drive the high-volume burst that would exercise the ceiling —
|
|
73
|
+
runtime grading is tracked as a follow-up once a burst-runner test-kit
|
|
74
|
+
contract is defined. Sellers SHOULD self-attest to this requirement until the
|
|
75
|
+
runtime phase lands.
|
|
76
|
+
|
|
77
|
+
agent:
|
|
78
|
+
interaction_model: media_buy_seller
|
|
79
|
+
capabilities:
|
|
80
|
+
- sells_media
|
|
81
|
+
examples:
|
|
82
|
+
- "Any AdCP seller agent"
|
|
83
|
+
|
|
84
|
+
caller:
|
|
85
|
+
role: buyer_agent
|
|
86
|
+
example: "Compliance test harness"
|
|
87
|
+
|
|
88
|
+
prerequisites:
|
|
89
|
+
description: |
|
|
90
|
+
No special prerequisites. The storyboard uses create_media_buy as the canonical
|
|
91
|
+
mutating request. Sellers that do not support create_media_buy SHOULD still pass
|
|
92
|
+
idempotency compliance on whichever mutating task they do implement.
|
|
93
|
+
test_kit: "test-kits/acme-outdoor.yaml"
|
|
94
|
+
|
|
95
|
+
phases:
|
|
96
|
+
- id: capability_discovery
|
|
97
|
+
title: "Capability discovery"
|
|
98
|
+
narrative: |
|
|
99
|
+
Confirm the agent supports media buying and check whether it declares an
|
|
100
|
+
explicit replay-window TTL.
|
|
101
|
+
|
|
102
|
+
steps:
|
|
103
|
+
- id: get_capabilities
|
|
104
|
+
title: "Check idempotency capability declaration"
|
|
105
|
+
narrative: |
|
|
106
|
+
Call get_adcp_capabilities and verify adcp.idempotency is declared with
|
|
107
|
+
supported: true and a replay_ttl_seconds value. The block is REQUIRED —
|
|
108
|
+
clients MUST NOT fall back to an assumed default, and a seller that omits
|
|
109
|
+
it is non-compliant. Sellers running this storyboard must declare
|
|
110
|
+
supported: true; supported: false sellers skip this storyboard entirely.
|
|
111
|
+
task: get_adcp_capabilities
|
|
112
|
+
schema_ref: "protocol/get-adcp-capabilities-request.json"
|
|
113
|
+
response_schema_ref: "protocol/get-adcp-capabilities-response.json"
|
|
114
|
+
doc_ref: "/protocol/get_adcp_capabilities"
|
|
115
|
+
comply_scenario: capability_discovery
|
|
116
|
+
stateful: false
|
|
117
|
+
expected: |
|
|
118
|
+
Return capabilities declaring media_buy in supported_protocols AND
|
|
119
|
+
adcp.idempotency with supported: true and replay_ttl_seconds (minimum
|
|
120
|
+
3600s; recommended 86400s or longer).
|
|
121
|
+
sample_request:
|
|
122
|
+
context:
|
|
123
|
+
correlation_id: "idempotency--get_capabilities"
|
|
124
|
+
validations:
|
|
125
|
+
- check: response_schema
|
|
126
|
+
description: "Response matches get-adcp-capabilities-response.json schema"
|
|
127
|
+
- check: field_present
|
|
128
|
+
path: "supported_protocols"
|
|
129
|
+
description: "Agent declares supported protocols"
|
|
130
|
+
- check: field_value
|
|
131
|
+
path: "adcp.idempotency.supported"
|
|
132
|
+
value: true
|
|
133
|
+
description: "Agent declares supported: true for this storyboard (supported: false sellers skip)"
|
|
134
|
+
- check: field_present
|
|
135
|
+
path: "adcp.idempotency.replay_ttl_seconds"
|
|
136
|
+
description: "Agent declares replay window TTL (required when supported: true)"
|
|
137
|
+
|
|
138
|
+
- check: field_present
|
|
139
|
+
path: "context"
|
|
140
|
+
description: "Response echoes back the context object"
|
|
141
|
+
- check: field_value
|
|
142
|
+
path: "context.correlation_id"
|
|
143
|
+
value: "idempotency--get_capabilities"
|
|
144
|
+
description: "Context correlation_id returned unchanged"
|
|
145
|
+
|
|
146
|
+
- id: missing_key
|
|
147
|
+
title: "Reject requests without idempotency_key"
|
|
148
|
+
narrative: |
|
|
149
|
+
A create_media_buy request without idempotency_key MUST be rejected. The schema
|
|
150
|
+
marks the field as required, so this is typically caught at validation time.
|
|
151
|
+
|
|
152
|
+
The reference `@adcp/client` SDK auto-injects `idempotency_key` on mutating
|
|
153
|
+
tasks via `applyIdempotencyInvariant` + client-side shaping. Without an
|
|
154
|
+
explicit opt-out this vector would never reach the agent with a missing key
|
|
155
|
+
— the runner would inject one before dispatch, and the vector would silently
|
|
156
|
+
pass for every SDK-speaking agent regardless of enforcement. The step below
|
|
157
|
+
sets `omit_idempotency_key: true` so the runner skips both its own
|
|
158
|
+
invariant application and the SDK's auto-inject. Do not remove the flag:
|
|
159
|
+
without it, "certified" agents all carry an unverified assertion on this
|
|
160
|
+
vector.
|
|
161
|
+
|
|
162
|
+
steps:
|
|
163
|
+
- id: create_media_buy_missing_key
|
|
164
|
+
title: "Missing idempotency_key returns INVALID_REQUEST"
|
|
165
|
+
narrative: |
|
|
166
|
+
Send a create_media_buy with no idempotency_key. The agent MUST reject this
|
|
167
|
+
with INVALID_REQUEST (or VALIDATION_ERROR as an accepted alternative) and
|
|
168
|
+
MUST NOT create a media buy.
|
|
169
|
+
task: create_media_buy
|
|
170
|
+
schema_ref: "media-buy/create-media-buy-request.json"
|
|
171
|
+
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
172
|
+
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
173
|
+
comply_scenario: error_handling
|
|
174
|
+
expect_error: true
|
|
175
|
+
negative_path: schema_invalid
|
|
176
|
+
omit_idempotency_key: true
|
|
177
|
+
stateful: false
|
|
178
|
+
expected: |
|
|
179
|
+
Reject with:
|
|
180
|
+
- code: INVALID_REQUEST or VALIDATION_ERROR
|
|
181
|
+
- recovery: correctable
|
|
182
|
+
- field: idempotency_key (recommended)
|
|
183
|
+
|
|
184
|
+
sample_request:
|
|
185
|
+
account:
|
|
186
|
+
brand:
|
|
187
|
+
domain: "acmeoutdoor.example"
|
|
188
|
+
operator: "pinnacle-agency.example"
|
|
189
|
+
brand:
|
|
190
|
+
domain: "acmeoutdoor.example"
|
|
191
|
+
start_time: "2026-05-01T00:00:00Z"
|
|
192
|
+
end_time: "2026-05-31T23:59:59Z"
|
|
193
|
+
packages:
|
|
194
|
+
- product_id: "test-product"
|
|
195
|
+
budget: 5000
|
|
196
|
+
pricing_option_id: "test-pricing"
|
|
197
|
+
|
|
198
|
+
context:
|
|
199
|
+
correlation_id: "idempotency--create_media_buy_missing_key"
|
|
200
|
+
validations:
|
|
201
|
+
- check: error_code
|
|
202
|
+
allowed_values: ["INVALID_REQUEST", "VALIDATION_ERROR"]
|
|
203
|
+
description: "Missing idempotency_key rejected with INVALID_REQUEST or VALIDATION_ERROR"
|
|
204
|
+
|
|
205
|
+
- check: field_present
|
|
206
|
+
path: "context"
|
|
207
|
+
description: "Response echoes back the context object"
|
|
208
|
+
- check: field_value
|
|
209
|
+
path: "context.correlation_id"
|
|
210
|
+
value: "idempotency--create_media_buy_missing_key"
|
|
211
|
+
description: "Context correlation_id returned unchanged"
|
|
212
|
+
|
|
213
|
+
- id: replay_same_payload
|
|
214
|
+
title: "Replay returns cached response"
|
|
215
|
+
narrative: |
|
|
216
|
+
The canonical retry-safety case: a buyer's first request times out but actually
|
|
217
|
+
succeeded on the server. The buyer retries with the same idempotency_key and
|
|
218
|
+
the same payload. The seller MUST return the same response — same media_buy_id,
|
|
219
|
+
no new side effects.
|
|
220
|
+
|
|
221
|
+
steps:
|
|
222
|
+
- id: create_media_buy_initial
|
|
223
|
+
title: "Initial create_media_buy with fresh key"
|
|
224
|
+
narrative: |
|
|
225
|
+
Create a media buy with a fresh UUID v4 idempotency_key. Capture the
|
|
226
|
+
returned media_buy_id for comparison against the replay.
|
|
227
|
+
task: create_media_buy
|
|
228
|
+
schema_ref: "media-buy/create-media-buy-request.json"
|
|
229
|
+
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
230
|
+
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
231
|
+
comply_scenario: idempotency_replay
|
|
232
|
+
stateful: true
|
|
233
|
+
context_outputs:
|
|
234
|
+
- name: initial_media_buy_id
|
|
235
|
+
path: "media_buy_id"
|
|
236
|
+
- name: idempotency_key_a
|
|
237
|
+
path: "idempotency_key"
|
|
238
|
+
expected: |
|
|
239
|
+
Create a new media buy and return a media_buy_id. This establishes the
|
|
240
|
+
canonical response that subsequent replays must match.
|
|
241
|
+
|
|
242
|
+
sample_request:
|
|
243
|
+
idempotency_key: "$generate:uuid_v4#replay_key"
|
|
244
|
+
account:
|
|
245
|
+
brand:
|
|
246
|
+
domain: "acmeoutdoor.example"
|
|
247
|
+
operator: "pinnacle-agency.example"
|
|
248
|
+
brand:
|
|
249
|
+
domain: "acmeoutdoor.example"
|
|
250
|
+
start_time: "2026-06-01T00:00:00Z"
|
|
251
|
+
end_time: "2026-06-30T23:59:59Z"
|
|
252
|
+
packages:
|
|
253
|
+
- product_id: "test-product"
|
|
254
|
+
budget: 5000
|
|
255
|
+
pricing_option_id: "test-pricing"
|
|
256
|
+
# Both the initial call and the replay below use the SAME webhook URL
|
|
257
|
+
# so the canonical payload hash matches across the two calls. A
|
|
258
|
+
# different URL between the two requests would hash differently and
|
|
259
|
+
# trip IDEMPOTENCY_CONFLICT instead of exercising replay. The URL
|
|
260
|
+
# template resolves against the runner's ephemeral webhook receiver
|
|
261
|
+
# (webhook_receiver_runner contract); runners without a receiver
|
|
262
|
+
# grade `no_duplicate_webhooks_on_replay` as not_applicable.
|
|
263
|
+
push_notification_config:
|
|
264
|
+
url: "{{runner.webhook_url:create_media_buy_initial}}"
|
|
265
|
+
|
|
266
|
+
context:
|
|
267
|
+
correlation_id: "idempotency--create_media_buy_initial"
|
|
268
|
+
validations:
|
|
269
|
+
- check: response_schema
|
|
270
|
+
description: "Response matches create-media-buy-response.json schema"
|
|
271
|
+
- check: field_present
|
|
272
|
+
path: "media_buy_id"
|
|
273
|
+
description: "Agent returns a media_buy_id for the initial request"
|
|
274
|
+
# Per `protocol-envelope.json`, fresh execution MAY omit
|
|
275
|
+
# `replayed` entirely; agents that do report it MUST NOT
|
|
276
|
+
# report `true` on a fresh call. `field_value_or_absent`
|
|
277
|
+
# (adcp-client#873, shipped in 5.16) asserts that tolerance:
|
|
278
|
+
# passes when absent OR present-and-matching. The replay
|
|
279
|
+
# step below asserts the positive side (`replayed: true`
|
|
280
|
+
# on replay) with plain `field_value`.
|
|
281
|
+
- check: field_value_or_absent
|
|
282
|
+
path: "replayed"
|
|
283
|
+
allowed_values: [false]
|
|
284
|
+
description: "If reported on fresh execution, replayed must be false"
|
|
285
|
+
|
|
286
|
+
- check: field_present
|
|
287
|
+
path: "context"
|
|
288
|
+
description: "Response echoes back the context object"
|
|
289
|
+
- check: field_value
|
|
290
|
+
path: "context.correlation_id"
|
|
291
|
+
value: "idempotency--create_media_buy_initial"
|
|
292
|
+
description: "Context correlation_id returned unchanged"
|
|
293
|
+
|
|
294
|
+
- id: create_media_buy_replay
|
|
295
|
+
title: "Replay with same key and payload returns cached response"
|
|
296
|
+
narrative: |
|
|
297
|
+
Re-send the exact same create_media_buy request — same idempotency_key,
|
|
298
|
+
same payload, same everything. The seller MUST return the same media_buy_id
|
|
299
|
+
from the prior step. It MUST NOT create a second media buy or fire a
|
|
300
|
+
second set of webhooks. This is the whole point of idempotency_key.
|
|
301
|
+
task: create_media_buy
|
|
302
|
+
schema_ref: "media-buy/create-media-buy-request.json"
|
|
303
|
+
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
304
|
+
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
305
|
+
comply_scenario: idempotency_replay
|
|
306
|
+
stateful: true
|
|
307
|
+
expected: |
|
|
308
|
+
Return the cached response from the initial request:
|
|
309
|
+
- media_buy_id: same as $context.initial_media_buy_id
|
|
310
|
+
- No new side effects (no duplicate webhooks, no new audit log entry)
|
|
311
|
+
|
|
312
|
+
Programmatic verification of "no duplicate webhooks" runs in the next step
|
|
313
|
+
(no_duplicate_webhooks_on_replay) when the storyboard is driven by a runner
|
|
314
|
+
that implements the webhook_receiver_runner contract. Runners without a
|
|
315
|
+
webhook receiver grade that step as not_applicable — agents MAY still claim
|
|
316
|
+
idempotency compliance, but the replay-side-effect invariant is only
|
|
317
|
+
programmatically graded when the webhook_callbacks specialism is also in
|
|
318
|
+
scope.
|
|
319
|
+
|
|
320
|
+
sample_request:
|
|
321
|
+
idempotency_key: "$generate:uuid_v4#replay_key"
|
|
322
|
+
account:
|
|
323
|
+
brand:
|
|
324
|
+
domain: "acmeoutdoor.example"
|
|
325
|
+
operator: "pinnacle-agency.example"
|
|
326
|
+
brand:
|
|
327
|
+
domain: "acmeoutdoor.example"
|
|
328
|
+
start_time: "2026-06-01T00:00:00Z"
|
|
329
|
+
end_time: "2026-06-30T23:59:59Z"
|
|
330
|
+
packages:
|
|
331
|
+
- product_id: "test-product"
|
|
332
|
+
budget: 5000
|
|
333
|
+
pricing_option_id: "test-pricing"
|
|
334
|
+
# Byte-identical to the initial call above — same URL, same step id
|
|
335
|
+
# token — so the canonical payload hash matches and the request
|
|
336
|
+
# lands on the replay branch rather than IDEMPOTENCY_CONFLICT.
|
|
337
|
+
push_notification_config:
|
|
338
|
+
url: "{{runner.webhook_url:create_media_buy_initial}}"
|
|
339
|
+
|
|
340
|
+
context:
|
|
341
|
+
correlation_id: "idempotency--create_media_buy_replay"
|
|
342
|
+
validations:
|
|
343
|
+
- check: response_schema
|
|
344
|
+
description: "Response matches create-media-buy-response.json schema"
|
|
345
|
+
- check: field_present
|
|
346
|
+
path: "media_buy_id"
|
|
347
|
+
description: "Replay returns a media_buy_id (same as initial)"
|
|
348
|
+
- check: field_value
|
|
349
|
+
path: "media_buy_id"
|
|
350
|
+
value: "$context.initial_media_buy_id"
|
|
351
|
+
description: "Replay returns the SAME media_buy_id as the initial call"
|
|
352
|
+
- check: field_value
|
|
353
|
+
path: "replayed"
|
|
354
|
+
value: true
|
|
355
|
+
description: "Replay sets replayed: true on the response envelope"
|
|
356
|
+
|
|
357
|
+
- check: field_present
|
|
358
|
+
path: "context"
|
|
359
|
+
description: "Response echoes back the context object"
|
|
360
|
+
- check: field_value
|
|
361
|
+
path: "context.correlation_id"
|
|
362
|
+
value: "idempotency--create_media_buy_replay"
|
|
363
|
+
description: "Context correlation_id returned unchanged"
|
|
364
|
+
|
|
365
|
+
- id: no_duplicate_webhooks_on_replay
|
|
366
|
+
title: "No duplicate webhooks fired across initial + replay"
|
|
367
|
+
narrative: |
|
|
368
|
+
The central invariant of idempotency: replaying with the same key MUST
|
|
369
|
+
NOT produce duplicate side effects. Webhook emission is the observable
|
|
370
|
+
side effect most likely to leak if the seller re-executes on replay
|
|
371
|
+
instead of returning cached state.
|
|
372
|
+
|
|
373
|
+
This step requires the storyboard runner to implement the
|
|
374
|
+
`webhook_receiver_runner` contract at
|
|
375
|
+
`test-kits/webhook-receiver-runner.yaml`. Runners without a webhook
|
|
376
|
+
receiver skip this step with a stable not_applicable marker; the
|
|
377
|
+
replay-side-effect invariant then relies on the next phase's cached-
|
|
378
|
+
response assertions plus manual audit of the seller's webhook
|
|
379
|
+
delivery history.
|
|
380
|
+
|
|
381
|
+
When the receiver IS in scope, the runner counts webhooks arriving at
|
|
382
|
+
{{runner.webhook_url:create_media_buy_initial}} across the initial
|
|
383
|
+
call's window AND the replay call's window. A conformant seller emits
|
|
384
|
+
webhooks only on the first execution; a non-conformant seller that
|
|
385
|
+
re-executes on replay emits a second set, catchable only by live
|
|
386
|
+
observation.
|
|
387
|
+
task: expect_webhook
|
|
388
|
+
# `triggered_by` points at the initial call (not the replay) because the
|
|
389
|
+
# default filter resolves `step_id` + `operation_id` from `stepOperationIds`
|
|
390
|
+
# for that step — which is populated when the initial sample_request's
|
|
391
|
+
# `push_notification_config.url` expanded `{{runner.webhook_url:create_media_buy_initial}}`
|
|
392
|
+
# above. The execution-order wait still spans the replay window: this
|
|
393
|
+
# step runs after `create_media_buy_replay` in YAML order and `wait_all`
|
|
394
|
+
# drains the full `timeout_seconds` so any webhook re-fired by the
|
|
395
|
+
# replay is captured and counted against the cap below. A non-conformant
|
|
396
|
+
# seller that re-executes on replay would deliver a second webhook with
|
|
397
|
+
# a fresh idempotency_key and trip `duplicate_webhook_on_replay`.
|
|
398
|
+
triggered_by: create_media_buy_initial
|
|
399
|
+
timeout_seconds: 30
|
|
400
|
+
expect_max_deliveries_per_logical_event: 1
|
|
401
|
+
requires_contract: webhook_receiver_runner
|
|
402
|
+
stateful: true
|
|
403
|
+
expected: |
|
|
404
|
+
At most one logical webhook event delivered for the create_media_buy
|
|
405
|
+
operation across both the initial and replay windows. If the runner
|
|
406
|
+
observes a second webhook delivery tagged with a distinct
|
|
407
|
+
idempotency_key but the same media_buy_id/operation_id, the seller is
|
|
408
|
+
re-executing on replay and the step fails with
|
|
409
|
+
duplicate_webhook_on_replay. Not_applicable when the runner does not
|
|
410
|
+
host a webhook receiver.
|
|
411
|
+
|
|
412
|
+
- id: key_reuse_conflict
|
|
413
|
+
title: "Key reuse with different payload returns IDEMPOTENCY_CONFLICT"
|
|
414
|
+
narrative: |
|
|
415
|
+
When a buyer reuses an idempotency_key with a different payload within the
|
|
416
|
+
replay window, the seller MUST reject the second request with
|
|
417
|
+
IDEMPOTENCY_CONFLICT. Silently applying the new payload would break the
|
|
418
|
+
at-most-once guarantee; silently returning the old response would hide a
|
|
419
|
+
real bug in the buyer's retry logic.
|
|
420
|
+
|
|
421
|
+
steps:
|
|
422
|
+
- id: create_media_buy_conflict
|
|
423
|
+
title: "Same key, different payload returns IDEMPOTENCY_CONFLICT"
|
|
424
|
+
narrative: |
|
|
425
|
+
Re-send create_media_buy with the same idempotency_key as the replay
|
|
426
|
+
phase but a materially different payload — a different end_time and
|
|
427
|
+
a different budget. The seller MUST reject this with IDEMPOTENCY_CONFLICT.
|
|
428
|
+
CONFLICT is accepted as a fallback for sellers that haven't adopted the
|
|
429
|
+
new error code yet.
|
|
430
|
+
task: create_media_buy
|
|
431
|
+
schema_ref: "media-buy/create-media-buy-request.json"
|
|
432
|
+
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
433
|
+
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
434
|
+
comply_scenario: idempotency_conflict
|
|
435
|
+
expect_error: true
|
|
436
|
+
negative_path: payload_well_formed
|
|
437
|
+
stateful: true
|
|
438
|
+
expected: |
|
|
439
|
+
Reject with:
|
|
440
|
+
- code: IDEMPOTENCY_CONFLICT (preferred) or CONFLICT (fallback)
|
|
441
|
+
- recovery: correctable (buyer should use a fresh UUID v4)
|
|
442
|
+
|
|
443
|
+
sample_request:
|
|
444
|
+
idempotency_key: "$generate:uuid_v4#replay_key"
|
|
445
|
+
account:
|
|
446
|
+
brand:
|
|
447
|
+
domain: "acmeoutdoor.example"
|
|
448
|
+
operator: "pinnacle-agency.example"
|
|
449
|
+
brand:
|
|
450
|
+
domain: "acmeoutdoor.example"
|
|
451
|
+
start_time: "2026-06-01T00:00:00Z"
|
|
452
|
+
end_time: "2026-09-30T23:59:59Z"
|
|
453
|
+
packages:
|
|
454
|
+
- product_id: "test-product"
|
|
455
|
+
budget: 25000
|
|
456
|
+
pricing_option_id: "test-pricing"
|
|
457
|
+
|
|
458
|
+
context:
|
|
459
|
+
correlation_id: "idempotency--create_media_buy_conflict"
|
|
460
|
+
validations:
|
|
461
|
+
- check: error_code
|
|
462
|
+
allowed_values: ["IDEMPOTENCY_CONFLICT", "CONFLICT"]
|
|
463
|
+
description: "Key reuse with different payload returns IDEMPOTENCY_CONFLICT"
|
|
464
|
+
|
|
465
|
+
- check: field_present
|
|
466
|
+
path: "context"
|
|
467
|
+
description: "Response echoes back the context object"
|
|
468
|
+
- check: field_value
|
|
469
|
+
path: "context.correlation_id"
|
|
470
|
+
value: "idempotency--create_media_buy_conflict"
|
|
471
|
+
description: "Context correlation_id returned unchanged"
|
|
472
|
+
|
|
473
|
+
reviewer_checks:
|
|
474
|
+
- "Error body MUST NOT include the cached payload, the original request, or any fingerprint (hash, digest, field diff). Leaking cached state turns key-reuse into a read oracle for attackers who stole a key."
|
|
475
|
+
- "Error body MAY include code + message only. No `field` json-pointer — even a pointer like `/packages/0/budget` reveals schema shape."
|
|
476
|
+
- "Reviewer MUST confirm the seller's documentation states that errored requests release the idempotency claim, or manually probe the behavior (force a deterministic terminal error, then retry with the same key and a valid payload — the seller MUST return a fresh success, not IDEMPOTENCY_CONFLICT and not the cached error). See security.mdx#idempotency rule 3."
|
|
477
|
+
|
|
478
|
+
- id: fresh_key_new_resource
|
|
479
|
+
title: "Different key creates a new resource"
|
|
480
|
+
narrative: |
|
|
481
|
+
A request with a DIFFERENT idempotency_key is treated as a new request, even
|
|
482
|
+
if the payload is byte-for-byte identical to a prior request. The key — not
|
|
483
|
+
payload equivalence — is what provides the dedup boundary. This confirms the
|
|
484
|
+
seller is checking the key, not fingerprinting requests.
|
|
485
|
+
|
|
486
|
+
steps:
|
|
487
|
+
- id: create_media_buy_fresh_key
|
|
488
|
+
title: "Fresh key with identical payload creates a new media buy"
|
|
489
|
+
narrative: |
|
|
490
|
+
Send the same payload as the initial create_media_buy but with a different
|
|
491
|
+
idempotency_key. The seller MUST treat this as a new request and return a
|
|
492
|
+
NEW media_buy_id distinct from $context.initial_media_buy_id.
|
|
493
|
+
task: create_media_buy
|
|
494
|
+
schema_ref: "media-buy/create-media-buy-request.json"
|
|
495
|
+
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
496
|
+
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
497
|
+
comply_scenario: idempotency_fresh_key
|
|
498
|
+
stateful: true
|
|
499
|
+
context_outputs:
|
|
500
|
+
- name: fresh_key_media_buy_id
|
|
501
|
+
path: "media_buy_id"
|
|
502
|
+
expected: |
|
|
503
|
+
Return a NEW media_buy_id, distinct from $context.initial_media_buy_id.
|
|
504
|
+
This confirms the seller treats the fresh key as a new request.
|
|
505
|
+
|
|
506
|
+
sample_request:
|
|
507
|
+
idempotency_key: "$generate:uuid_v4#fresh_key"
|
|
508
|
+
account:
|
|
509
|
+
brand:
|
|
510
|
+
domain: "acmeoutdoor.example"
|
|
511
|
+
operator: "pinnacle-agency.example"
|
|
512
|
+
brand:
|
|
513
|
+
domain: "acmeoutdoor.example"
|
|
514
|
+
start_time: "2026-06-01T00:00:00Z"
|
|
515
|
+
end_time: "2026-06-30T23:59:59Z"
|
|
516
|
+
packages:
|
|
517
|
+
- product_id: "test-product"
|
|
518
|
+
budget: 5000
|
|
519
|
+
pricing_option_id: "test-pricing"
|
|
520
|
+
|
|
521
|
+
context:
|
|
522
|
+
correlation_id: "idempotency--create_media_buy_fresh_key"
|
|
523
|
+
validations:
|
|
524
|
+
- check: response_schema
|
|
525
|
+
description: "Response matches create-media-buy-response.json schema"
|
|
526
|
+
- check: field_present
|
|
527
|
+
path: "media_buy_id"
|
|
528
|
+
description: "Fresh key returns a media_buy_id"
|
|
529
|
+
# Fresh-key execution is a non-replay call — same tolerance as
|
|
530
|
+
# create_media_buy_initial applies: `replayed` MAY be omitted,
|
|
531
|
+
# but if present MUST NOT be `true`.
|
|
532
|
+
- check: field_value_or_absent
|
|
533
|
+
path: "replayed"
|
|
534
|
+
allowed_values: [false]
|
|
535
|
+
description: "If reported on fresh-key execution, replayed must be false"
|
|
536
|
+
|
|
537
|
+
- check: field_present
|
|
538
|
+
path: "context"
|
|
539
|
+
description: "Response echoes back the context object"
|
|
540
|
+
- check: field_value
|
|
541
|
+
path: "context.correlation_id"
|
|
542
|
+
value: "idempotency--create_media_buy_fresh_key"
|
|
543
|
+
description: "Context correlation_id returned unchanged"
|
|
544
|
+
|
|
545
|
+
- id: verify_media_buy_count
|
|
546
|
+
title: "Verify dedup actually happened"
|
|
547
|
+
narrative: |
|
|
548
|
+
Call get_media_buys to confirm that only TWO media buys were created across
|
|
549
|
+
all prior steps — one for the initial + replay pair (same key, deduplicated)
|
|
550
|
+
and one for the fresh-key request. If the seller ignored the idempotency_key,
|
|
551
|
+
there would be three or more.
|
|
552
|
+
|
|
553
|
+
steps:
|
|
554
|
+
- id: get_media_buys_dedup_check
|
|
555
|
+
title: "Confirm dedup via get_media_buys"
|
|
556
|
+
narrative: |
|
|
557
|
+
Query the two media_buy_ids captured from prior steps. Both should exist
|
|
558
|
+
and be distinct. This is an end-to-end verification that the replay did
|
|
559
|
+
not create a duplicate row.
|
|
560
|
+
task: get_media_buys
|
|
561
|
+
schema_ref: "media-buy/get-media-buys-request.json"
|
|
562
|
+
response_schema_ref: "media-buy/get-media-buys-response.json"
|
|
563
|
+
doc_ref: "/media-buy/task-reference/get_media_buys"
|
|
564
|
+
comply_scenario: idempotency_verify
|
|
565
|
+
stateful: true
|
|
566
|
+
expected: |
|
|
567
|
+
Return exactly two media buys with the two captured IDs. Not three.
|
|
568
|
+
|
|
569
|
+
sample_request:
|
|
570
|
+
account:
|
|
571
|
+
brand:
|
|
572
|
+
domain: "acmeoutdoor.example"
|
|
573
|
+
operator: "pinnacle-agency.example"
|
|
574
|
+
media_buy_ids:
|
|
575
|
+
- "$context.initial_media_buy_id"
|
|
576
|
+
- "$context.fresh_key_media_buy_id"
|
|
577
|
+
|
|
578
|
+
context:
|
|
579
|
+
correlation_id: "idempotency--get_media_buys_dedup_check"
|
|
580
|
+
validations:
|
|
581
|
+
- check: response_schema
|
|
582
|
+
description: "Response matches get-media-buys-response.json schema"
|
|
583
|
+
- check: field_present
|
|
584
|
+
path: "media_buys"
|
|
585
|
+
description: "Response contains the queried media buys"
|
|
586
|
+
|
|
587
|
+
- check: field_present
|
|
588
|
+
path: "context"
|
|
589
|
+
description: "Response echoes back the context object"
|
|
590
|
+
- check: field_value
|
|
591
|
+
path: "context.correlation_id"
|
|
592
|
+
value: "idempotency--get_media_buys_dedup_check"
|
|
593
|
+
description: "Context correlation_id returned unchanged"
|