@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,431 @@
|
|
|
1
|
+
id: security_baseline
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
title: "Authentication baseline"
|
|
4
|
+
category: security
|
|
5
|
+
summary: "Every AdCP agent MUST require authentication on protected operations. At least one of API key or OAuth MUST be implemented and correctly advertised."
|
|
6
|
+
track: security
|
|
7
|
+
required_tools: [] # protocol-level, not tool-level
|
|
8
|
+
|
|
9
|
+
narrative: |
|
|
10
|
+
Every AdCP agent handles data belonging to publishers or buyers that other parties
|
|
11
|
+
should not see or modify. Without authentication on protected operations, a seller
|
|
12
|
+
agent would leak media buys, creative libraries, or account-level reports to anyone
|
|
13
|
+
who knew the URL. Without correct authentication metadata, buyers cannot obtain
|
|
14
|
+
tokens with the right audience and every authenticated request fails with 401 — an
|
|
15
|
+
agent-side misconfiguration that looks identical to "my client is broken".
|
|
16
|
+
|
|
17
|
+
AdCP uses a tiered model: discovery operations (`get_adcp_capabilities`,
|
|
18
|
+
`list_creative_formats`, `get_products` without pricing) are public; operations
|
|
19
|
+
that return tenant-scoped data or modify state (`list_creatives`, `create_media_buy`,
|
|
20
|
+
`get_media_buy_delivery`, `sync_creatives`, etc.) require credentials. See
|
|
21
|
+
[/docs/building/integration/authentication](/docs/building/integration/authentication).
|
|
22
|
+
|
|
23
|
+
AdCP accepts two credential mechanisms: static API keys (Authorization: Bearer <key>)
|
|
24
|
+
or OAuth 2.0 + RFC 8707 resource indicators. An agent MUST implement at least one.
|
|
25
|
+
It MAY implement both. This storyboard verifies that (a) a protected operation is
|
|
26
|
+
rejected when called without credentials, (b) a deliberately invalid key is also
|
|
27
|
+
rejected (an agent that 200s on an unauth call and 200s on a bad-key call is
|
|
28
|
+
ignoring credentials entirely), and (c) at least one auth mechanism is present and
|
|
29
|
+
correctly advertised.
|
|
30
|
+
|
|
31
|
+
Pass semantics are encoded in the step flow: the unauth probe and invalid-key
|
|
32
|
+
probe (when a test-kit key is present) are always required, and at least one of
|
|
33
|
+
the API key phase or the OAuth discovery phase must contribute
|
|
34
|
+
`auth_mechanism_verified`. Agents that fail any required phase, or advertise no
|
|
35
|
+
working auth mechanism, are non-conformant.
|
|
36
|
+
|
|
37
|
+
**API-key-only agents (no OAuth).** An agent with no OAuth issuer — sandbox,
|
|
38
|
+
staging, or any production deployment that chose Bearer-only auth — does NOT
|
|
39
|
+
need to advertise RFC 9728 protected-resource metadata. Declare
|
|
40
|
+
`auth.api_key` in the test-kit and do not serve
|
|
41
|
+
`/.well-known/oauth-protected-resource/...`. The `api_key_path` phase
|
|
42
|
+
contributes `auth_mechanism_verified` and `oauth_discovery` is allowed to fail
|
|
43
|
+
silently as an optional phase — no fake issuer URL or stub RFC 8414 metadata
|
|
44
|
+
document is required. Agents that DO advertise `authorization_servers` in
|
|
45
|
+
their PRM MUST stand up the RFC 8414 auth-server metadata document to match;
|
|
46
|
+
advertising an issuer without serving its metadata is the failure mode this
|
|
47
|
+
storyboard was written to catch.
|
|
48
|
+
|
|
49
|
+
For local debugging before re-running compliance, use `adcp diagnose-auth <alias>`
|
|
50
|
+
(see adcp-client#563) to trace the full OAuth handshake and surface ranked
|
|
51
|
+
hypotheses about what's wrong.
|
|
52
|
+
|
|
53
|
+
agent:
|
|
54
|
+
interaction_model: "*" # applies to every agent regardless of specialism
|
|
55
|
+
examples:
|
|
56
|
+
- "Any AdCP agent (seller, signals, creative, retail media, SI, governance)"
|
|
57
|
+
|
|
58
|
+
caller:
|
|
59
|
+
role: buyer_agent
|
|
60
|
+
example: "Compliance test harness"
|
|
61
|
+
|
|
62
|
+
prerequisites:
|
|
63
|
+
description: |
|
|
64
|
+
The test kit declares the agent's **protected probe task** at `auth.probe_task`
|
|
65
|
+
— an auth-required, read-only task the agent supports (`list_creatives`,
|
|
66
|
+
`get_media_buy_delivery`, `get_signals`, etc.). The runner defaults to
|
|
67
|
+
`list_creatives` if unspecified. This is the task used for both the unauth and
|
|
68
|
+
invalid-key probes, since public tasks like `get_adcp_capabilities` return 200
|
|
69
|
+
without credentials by design.
|
|
70
|
+
|
|
71
|
+
The test kit MAY also provide an API key at `auth.api_key`. If absent, the API
|
|
72
|
+
key phase is skipped and the OAuth discovery phase MUST succeed instead. OAuth
|
|
73
|
+
discovery probes the well-known endpoint directly and does not require any
|
|
74
|
+
test-kit input.
|
|
75
|
+
|
|
76
|
+
Agent URLs MUST use `https://` in production compliance runs. The runner rejects
|
|
77
|
+
`http://` agent URLs outright unless invoked with `--allow-http` for local dev.
|
|
78
|
+
test_kit: "test-kits/acme-outdoor.yaml"
|
|
79
|
+
|
|
80
|
+
phases:
|
|
81
|
+
- id: unauth_rejection
|
|
82
|
+
title: "Unauthenticated requests on protected operations are rejected"
|
|
83
|
+
narrative: |
|
|
84
|
+
The baseline conformance bar. A compliant agent MUST NOT serve protected
|
|
85
|
+
operations without credentials. 401 is the semantically correct response
|
|
86
|
+
(no/invalid credentials, retry with auth); 403 is accepted for pragmatic
|
|
87
|
+
reasons (many production gateways conflate them behind path-based ACLs)
|
|
88
|
+
but is suboptimal — 403 means "authenticated but forbidden" and should not
|
|
89
|
+
apply to an anonymous caller. Anything else (200, 500, network hang) is
|
|
90
|
+
non-conformant.
|
|
91
|
+
|
|
92
|
+
On 401, the response MUST include a `WWW-Authenticate` header per RFC 6750 §3
|
|
93
|
+
so clients know how to authenticate. A correct example:
|
|
94
|
+
|
|
95
|
+
```
|
|
96
|
+
WWW-Authenticate: Bearer realm="https://agent.example.com/mcp", as_uri="https://auth.example.com"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
steps:
|
|
100
|
+
- id: probe_unauth
|
|
101
|
+
title: "Call the protected probe task with no credentials"
|
|
102
|
+
narrative: |
|
|
103
|
+
Send the test kit's declared protected task (`auth.probe_task`, default
|
|
104
|
+
`list_creatives`) with no Authorization header and no API key. The runner
|
|
105
|
+
forces credentials to be stripped via `auth: none` even when the transport
|
|
106
|
+
has a valid token configured. Expect 401 or 403.
|
|
107
|
+
|
|
108
|
+
If this probe returns 200 the agent is ignoring credentials on protected
|
|
109
|
+
operations — the most serious conformance failure this storyboard catches.
|
|
110
|
+
task: "$test_kit.auth.probe_task"
|
|
111
|
+
task_default: list_creatives
|
|
112
|
+
doc_ref: "/protocol/authentication"
|
|
113
|
+
comply_scenario: security_unauth_rejection
|
|
114
|
+
stateful: false
|
|
115
|
+
auth: none
|
|
116
|
+
expect_error: true
|
|
117
|
+
negative_path: schema_invalid
|
|
118
|
+
expected: |
|
|
119
|
+
The agent rejects the request with:
|
|
120
|
+
- http_status: 401 (preferred) or 403
|
|
121
|
+
- On 401, a `WWW-Authenticate: Bearer ...` header per RFC 6750 §3
|
|
122
|
+
- Example: `WWW-Authenticate: Bearer realm="<agent-url>", as_uri="<auth-server>"`
|
|
123
|
+
|
|
124
|
+
sample_request:
|
|
125
|
+
context:
|
|
126
|
+
correlation_id: "security_baseline--probe_unauth"
|
|
127
|
+
|
|
128
|
+
validations:
|
|
129
|
+
- check: http_status_in
|
|
130
|
+
allowed_values: [401, 403]
|
|
131
|
+
description: "Agent returned 200 or 5xx on an unauthenticated protected call — it MUST reject with 401 (and send WWW-Authenticate) or 403"
|
|
132
|
+
- check: on_401_require_header
|
|
133
|
+
value: "www-authenticate"
|
|
134
|
+
description: "401 responses MUST include a WWW-Authenticate header per RFC 6750 §3 (e.g. `Bearer realm=\"<agent-url>\", as_uri=\"<auth-server>\"`)"
|
|
135
|
+
|
|
136
|
+
- id: api_key_path
|
|
137
|
+
title: "API key mechanism"
|
|
138
|
+
narrative: |
|
|
139
|
+
**This phase OR `oauth_discovery` MUST pass — see `mechanism_required`.**
|
|
140
|
+
|
|
141
|
+
If the test kit provides an API key, the agent MUST accept it on the protected
|
|
142
|
+
probe task AND MUST reject a deliberately invalid key. Both checks together
|
|
143
|
+
prove the key is actually enforced — a 200 response with a valid key means
|
|
144
|
+
nothing if the agent returns 200 with an obviously bad key too. If no key is
|
|
145
|
+
provided the phase is skipped and OAuth discovery must succeed instead.
|
|
146
|
+
|
|
147
|
+
optional: true
|
|
148
|
+
skip_if: "!test_kit.auth.api_key"
|
|
149
|
+
branch_set:
|
|
150
|
+
id: auth_mechanism_verified
|
|
151
|
+
semantics: any_of
|
|
152
|
+
|
|
153
|
+
steps:
|
|
154
|
+
- id: probe_api_key
|
|
155
|
+
title: "Call the protected probe task with the provided API key"
|
|
156
|
+
narrative: |
|
|
157
|
+
Authenticate with the API key supplied by the test kit (as a Bearer token
|
|
158
|
+
in the Authorization header) and expect a normal 200 response on the
|
|
159
|
+
declared protected task. This confirms the static-credential path works
|
|
160
|
+
end to end.
|
|
161
|
+
task: "$test_kit.auth.probe_task"
|
|
162
|
+
task_default: list_creatives
|
|
163
|
+
doc_ref: "/protocol/authentication"
|
|
164
|
+
comply_scenario: security_api_key
|
|
165
|
+
stateful: false
|
|
166
|
+
auth:
|
|
167
|
+
type: api_key
|
|
168
|
+
from_test_kit: true
|
|
169
|
+
expected: |
|
|
170
|
+
The agent accepts the API key and returns a well-formed response with
|
|
171
|
+
http_status 200.
|
|
172
|
+
|
|
173
|
+
sample_request:
|
|
174
|
+
context:
|
|
175
|
+
correlation_id: "security_baseline--probe_api_key"
|
|
176
|
+
|
|
177
|
+
validations:
|
|
178
|
+
- check: http_status
|
|
179
|
+
value: 200
|
|
180
|
+
description: "Agent accepts the provided API key on the protected probe task"
|
|
181
|
+
- check: field_present
|
|
182
|
+
path: "context"
|
|
183
|
+
description: "Response echoes back the context object"
|
|
184
|
+
- check: field_value
|
|
185
|
+
path: "context.correlation_id"
|
|
186
|
+
value: "security_baseline--probe_api_key"
|
|
187
|
+
description: "Context correlation_id returned unchanged"
|
|
188
|
+
|
|
189
|
+
- id: probe_invalid_api_key
|
|
190
|
+
title: "Reject a deliberately invalid API key"
|
|
191
|
+
narrative: |
|
|
192
|
+
Send the same protected task with a Bearer token the runner generates
|
|
193
|
+
per-run from 32 random bytes (prefix `invalid-` for log readability,
|
|
194
|
+
e.g. `invalid-8e4a2c1f...`). A conformant agent rejects this with
|
|
195
|
+
401/403. An agent that returns 200 here is ignoring credentials entirely
|
|
196
|
+
and falsely appeared to pass `probe_api_key` — only the pair of (200 with
|
|
197
|
+
valid key, 401/403 with random-invalid key) proves the key is actually
|
|
198
|
+
checked. The token is randomized per run so no allowlist can collide
|
|
199
|
+
with it by accident.
|
|
200
|
+
|
|
201
|
+
Contributes `auth_mechanism_verified` only when *both* this step and
|
|
202
|
+
`probe_api_key` succeed.
|
|
203
|
+
task: "$test_kit.auth.probe_task"
|
|
204
|
+
task_default: list_creatives
|
|
205
|
+
doc_ref: "/protocol/authentication"
|
|
206
|
+
comply_scenario: security_invalid_key_rejection
|
|
207
|
+
stateful: false
|
|
208
|
+
auth:
|
|
209
|
+
type: api_key
|
|
210
|
+
value_strategy: random_invalid
|
|
211
|
+
contributes: true
|
|
212
|
+
contributes_if: "prior_step.probe_api_key.passed"
|
|
213
|
+
expect_error: true
|
|
214
|
+
negative_path: schema_invalid
|
|
215
|
+
expected: |
|
|
216
|
+
The agent rejects the random-invalid key with:
|
|
217
|
+
- http_status: 400 (if the agent enforces a key format the random token
|
|
218
|
+
doesn't match), 401 (preferred), or 403
|
|
219
|
+
- On 401, a `WWW-Authenticate: Bearer ... error="invalid_token"` header
|
|
220
|
+
|
|
221
|
+
sample_request:
|
|
222
|
+
context:
|
|
223
|
+
correlation_id: "security_baseline--probe_invalid_api_key"
|
|
224
|
+
|
|
225
|
+
validations:
|
|
226
|
+
- check: http_status_in
|
|
227
|
+
allowed_values: [400, 401, 403]
|
|
228
|
+
description: "Agent returned 200 on a known-bad API key — credentials are not being validated. MUST reject with 400 (key-format validation failure per RFC 6750 §3.1), 401 (preferred), or 403"
|
|
229
|
+
- check: on_401_require_header
|
|
230
|
+
value: "www-authenticate"
|
|
231
|
+
description: "401 responses on invalid credentials MUST include WWW-Authenticate with `error=\"invalid_token\"` per RFC 6750 §3"
|
|
232
|
+
|
|
233
|
+
- id: oauth_discovery
|
|
234
|
+
title: "OAuth discovery and audience binding"
|
|
235
|
+
narrative: |
|
|
236
|
+
**This phase OR `api_key_path` MUST pass — see `mechanism_required`.**
|
|
237
|
+
|
|
238
|
+
**Skip for API-key-only agents.** If your agent has no OAuth issuer,
|
|
239
|
+
declare `auth.api_key` in the test-kit and do not serve PRM. This phase
|
|
240
|
+
will fail its probes (404 on the well-known path), but failures inside
|
|
241
|
+
an `optional: true` phase do not fail the storyboard — the api_key path
|
|
242
|
+
carries `auth_mechanism_verified` on its own. Do NOT serve PRM pointing
|
|
243
|
+
at a fake issuer to "pass" this phase; that triggers the
|
|
244
|
+
advertised-but-unserved failure mode below.
|
|
245
|
+
|
|
246
|
+
OAuth-enabled agents advertise their auth server at the well-known path defined
|
|
247
|
+
by RFC 9728 §3. For an agent at `https://agent.example.com/mcp`, metadata lives
|
|
248
|
+
at `https://agent.example.com/.well-known/oauth-protected-resource/mcp` — the
|
|
249
|
+
agent's resource path is appended after the well-known segment. The metadata
|
|
250
|
+
MUST include a `resource` URL that matches the full URL being called (including
|
|
251
|
+
path) so clients issue RFC 8707 `resource` parameters that result in tokens
|
|
252
|
+
bound to the correct audience.
|
|
253
|
+
|
|
254
|
+
The canonical failure this phase catches: an agent advertising the auth
|
|
255
|
+
server's origin as its own `resource`, causing issued tokens to have the
|
|
256
|
+
wrong audience and every request to 401 for reasons the buyer cannot
|
|
257
|
+
diagnose from the error message alone (see adcp-client#563). Fix the metadata
|
|
258
|
+
document, not the OAuth config.
|
|
259
|
+
|
|
260
|
+
Contribution to `auth_mechanism_verified` is gated on the pair of
|
|
261
|
+
`probe_protected_resource` (advertises OAuth correctly) AND
|
|
262
|
+
`probe_invalid_oauth_token` (actually validates inbound tokens), symmetric
|
|
263
|
+
with the API key path. Metadata alone is not sufficient — an agent that
|
|
264
|
+
advertises OAuth but accepts any Bearer is broken in the same way an
|
|
265
|
+
agent that ignores API keys is broken.
|
|
266
|
+
|
|
267
|
+
optional: true
|
|
268
|
+
branch_set:
|
|
269
|
+
id: auth_mechanism_verified
|
|
270
|
+
semantics: any_of
|
|
271
|
+
|
|
272
|
+
steps:
|
|
273
|
+
- id: probe_protected_resource
|
|
274
|
+
title: "GET /.well-known/oauth-protected-resource/<path>"
|
|
275
|
+
narrative: |
|
|
276
|
+
Fetch the protected-resource metadata document for the agent's URL per
|
|
277
|
+
RFC 9728. Verify it returns 200, contains `resource` and
|
|
278
|
+
`authorization_servers`, and — the critical check — that the `resource`
|
|
279
|
+
value equals the agent URL under test. A mismatched `resource` silently
|
|
280
|
+
breaks every OAuth client.
|
|
281
|
+
task: protected_resource_metadata
|
|
282
|
+
doc_ref: "/protocol/authentication"
|
|
283
|
+
comply_scenario: security_oauth_discovery
|
|
284
|
+
stateful: false
|
|
285
|
+
expected: |
|
|
286
|
+
A 200 response with a JSON document. Example for an agent at
|
|
287
|
+
`https://agent.example.com/mcp`:
|
|
288
|
+
|
|
289
|
+
```json
|
|
290
|
+
{
|
|
291
|
+
"resource": "https://agent.example.com/mcp",
|
|
292
|
+
"authorization_servers": ["https://auth.example.com"],
|
|
293
|
+
"bearer_methods_supported": ["header"]
|
|
294
|
+
}
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
Required fields:
|
|
298
|
+
- `resource`: MUST equal the agent URL being called (including path)
|
|
299
|
+
- `authorization_servers`: MUST be a non-empty array of issuer URLs
|
|
300
|
+
|
|
301
|
+
sample_response:
|
|
302
|
+
resource: "https://agent.example.com/mcp"
|
|
303
|
+
authorization_servers:
|
|
304
|
+
- "https://auth.example.com"
|
|
305
|
+
bearer_methods_supported:
|
|
306
|
+
- "header"
|
|
307
|
+
|
|
308
|
+
validations:
|
|
309
|
+
- check: http_status
|
|
310
|
+
value: 200
|
|
311
|
+
description: "Protected-resource metadata is served at the well-known path per RFC 9728 §3"
|
|
312
|
+
- check: field_present
|
|
313
|
+
path: "resource"
|
|
314
|
+
description: "Metadata declares the protected resource URL"
|
|
315
|
+
- check: field_present
|
|
316
|
+
path: "authorization_servers"
|
|
317
|
+
description: "Metadata declares at least one authorization server issuer URL"
|
|
318
|
+
- check: resource_equals_agent_url
|
|
319
|
+
description: "The `resource` field in your metadata MUST equal the full URL clients call (including path). A common mistake: advertising the auth server's origin as `resource`. Fix the metadata document, not the OAuth config. Runner normalizes: scheme+host lowercased, default ports (443/80) elided; path is case-sensitive."
|
|
320
|
+
|
|
321
|
+
- id: probe_auth_server_metadata
|
|
322
|
+
title: "Verify authorization_servers[0] resolves (RFC 8414)"
|
|
323
|
+
narrative: |
|
|
324
|
+
Fetch the OAuth authorization-server metadata for the first issuer listed,
|
|
325
|
+
per RFC 8414 §3. The path is `<issuer>/.well-known/oauth-authorization-server`
|
|
326
|
+
— NOT `/.well-known/openid-configuration` (that's OIDC Discovery, a
|
|
327
|
+
different spec). Confirm the document is reachable and exposes the minimum
|
|
328
|
+
fields clients need to request a token (`issuer` and `token_endpoint`).
|
|
329
|
+
|
|
330
|
+
The runner applies SSRF guardrails on this outbound fetch: HTTPS only,
|
|
331
|
+
no RFC 1918 / loopback / link-local hosts, bounded response size and
|
|
332
|
+
time. If you are testing locally against a localhost auth server, run
|
|
333
|
+
the compliance runner with `--allow-http` to relax these guards for dev.
|
|
334
|
+
task: oauth_auth_server_metadata
|
|
335
|
+
doc_ref: "/protocol/authentication"
|
|
336
|
+
comply_scenario: security_oauth_discovery
|
|
337
|
+
stateful: false
|
|
338
|
+
expected: |
|
|
339
|
+
A 200 response from `<issuer>/.well-known/oauth-authorization-server` per
|
|
340
|
+
RFC 8414 §3 with at least `issuer`, `token_endpoint`, and one of
|
|
341
|
+
`grant_types_supported` or `response_types_supported` present.
|
|
342
|
+
|
|
343
|
+
validations:
|
|
344
|
+
- check: http_status
|
|
345
|
+
value: 200
|
|
346
|
+
description: "Authorization server metadata is reachable at <issuer>/.well-known/oauth-authorization-server (RFC 8414 §3) — not /.well-known/openid-configuration"
|
|
347
|
+
- check: field_present
|
|
348
|
+
path: "issuer"
|
|
349
|
+
description: "Authorization server declares its issuer"
|
|
350
|
+
- check: field_present
|
|
351
|
+
path: "token_endpoint"
|
|
352
|
+
description: "Authorization server exposes a token endpoint"
|
|
353
|
+
|
|
354
|
+
- id: probe_invalid_oauth_token
|
|
355
|
+
title: "Reject a bogus Bearer token on the protected task"
|
|
356
|
+
narrative: |
|
|
357
|
+
Metadata correctness proves the agent *advertises* OAuth correctly. It
|
|
358
|
+
does NOT prove the agent actually validates inbound tokens. An agent
|
|
359
|
+
that accepts any Bearer token on protected operations is broken in
|
|
360
|
+
exactly the same way an agent that ignores API keys is broken — this
|
|
361
|
+
step closes that loophole symmetrically.
|
|
362
|
+
|
|
363
|
+
The runner sends a JWT-shaped token generated per run: the header and
|
|
364
|
+
payload are well-formed base64url-encoded JSON objects
|
|
365
|
+
(`{"alg":"RS256","typ":"JWT"}` / `{"sub":"invalid","aud":"<agent-url>"}`)
|
|
366
|
+
so the agent's JWT parser succeeds, and the signature segment is
|
|
367
|
+
random base64url bytes so signature verification fails. Well-implemented
|
|
368
|
+
validators will return 401 `invalid_token` per RFC 6750 §3.1. Strict
|
|
369
|
+
validators that reject at parse time may return 400 `invalid_request`
|
|
370
|
+
per RFC 6750 §3.1 — both outcomes are conformant (the agent rejected
|
|
371
|
+
the bogus token). Minimal validators that don't parse at all should
|
|
372
|
+
still return 401 because the Bearer string doesn't match any issued
|
|
373
|
+
token. The token is randomized per run so no allowlist can collide
|
|
374
|
+
with it.
|
|
375
|
+
task: "$test_kit.auth.probe_task"
|
|
376
|
+
task_default: list_creatives
|
|
377
|
+
doc_ref: "/protocol/authentication"
|
|
378
|
+
comply_scenario: security_oauth_token_rejection
|
|
379
|
+
stateful: false
|
|
380
|
+
auth:
|
|
381
|
+
type: oauth_bearer
|
|
382
|
+
value_strategy: random_invalid_jwt
|
|
383
|
+
contributes: true
|
|
384
|
+
contributes_if: "prior_step.probe_protected_resource.passed"
|
|
385
|
+
expect_error: true
|
|
386
|
+
negative_path: schema_invalid
|
|
387
|
+
expected: |
|
|
388
|
+
The agent rejects the bogus Bearer with:
|
|
389
|
+
- http_status: 400 (syntactic parse-time rejection), 401 (preferred —
|
|
390
|
+
signature/audience/expiry failure), or 403
|
|
391
|
+
- On 401, a `WWW-Authenticate: Bearer ... error="invalid_token"` header
|
|
392
|
+
|
|
393
|
+
sample_request:
|
|
394
|
+
context:
|
|
395
|
+
correlation_id: "security_baseline--probe_invalid_oauth_token"
|
|
396
|
+
|
|
397
|
+
validations:
|
|
398
|
+
- check: http_status_in
|
|
399
|
+
allowed_values: [400, 401, 403]
|
|
400
|
+
description: "Agent returned 200 on a bogus Bearer token — OAuth validation is not running on protected operations. MUST reject with 400 (parse-time rejection per RFC 6750 §3.1), 401 (preferred — signature/audience failure), or 403"
|
|
401
|
+
- check: on_401_require_header
|
|
402
|
+
value: "www-authenticate"
|
|
403
|
+
description: "401 responses on invalid tokens MUST include WWW-Authenticate with `error=\"invalid_token\"` per RFC 6750 §3"
|
|
404
|
+
|
|
405
|
+
- id: mechanism_required
|
|
406
|
+
title: "At least one mechanism must be verified"
|
|
407
|
+
narrative: |
|
|
408
|
+
Logical check — not a network call. The storyboard runner fails this phase
|
|
409
|
+
if neither `api_key_path` nor `oauth_discovery` contributed
|
|
410
|
+
`auth_mechanism_verified`. An agent that rejects unauthenticated requests
|
|
411
|
+
but advertises no working auth mechanism cannot actually be called by a
|
|
412
|
+
compliant buyer, so it does not pass the baseline.
|
|
413
|
+
|
|
414
|
+
steps:
|
|
415
|
+
- id: assert_mechanism
|
|
416
|
+
title: "Require auth_mechanism_verified from at least one path"
|
|
417
|
+
narrative: |
|
|
418
|
+
Synthetic assertion over accumulated flags from prior phases. Passes
|
|
419
|
+
if any prior optional phase contributed `auth_mechanism_verified`.
|
|
420
|
+
task: assert_contribution
|
|
421
|
+
comply_scenario: security_mechanism_required
|
|
422
|
+
stateful: false
|
|
423
|
+
expected: |
|
|
424
|
+
At least one of the API key path (both valid-key and invalid-key steps
|
|
425
|
+
must succeed) or the OAuth path (correct metadata AND token validation
|
|
426
|
+
both must succeed) contributed `auth_mechanism_verified`.
|
|
427
|
+
|
|
428
|
+
validations:
|
|
429
|
+
- check: any_of
|
|
430
|
+
allowed_values: ["auth_mechanism_verified"]
|
|
431
|
+
description: "No auth mechanism was verified. Three things to check: (1) your test kit declares `auth.probe_task` pointing at a read-only authenticated task your agent supports (defaults to `list_creatives`); (2) you provide `auth.api_key` in your test kit AND the agent both accepts it and rejects a random-invalid key; OR (3) you serve protected-resource metadata at /.well-known/oauth-protected-resource/<path> with `resource` equal to your agent URL."
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
id: signed_requests
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
title: "Signed requests — RFC 9421 transport-layer verification"
|
|
4
|
+
category: signed_requests
|
|
5
|
+
summary: "Agent verifies RFC 9421 HTTP Signatures on incoming AdCP requests per the transport-layer profile. Universal capability-gated storyboard — runs for any agent advertising `request_signing.supported: true` regardless of `supported_protocols`. Graded against conformance vectors covering every checklist step and canonicalization-edge rule."
|
|
6
|
+
track: security_transport
|
|
7
|
+
required_tools:
|
|
8
|
+
- get_adcp_capabilities
|
|
9
|
+
# Additional tool families are exercised transport-layer only — the runner signs
|
|
10
|
+
# requests targeting any mutating AdCP operation (create_media_buy, update_media_buy,
|
|
11
|
+
# acquire_*, activate_signal, sync_creatives) and grades the verifier's response.
|
|
12
|
+
# The runner picks operations available given the agent's `supported_protocols`;
|
|
13
|
+
# operations the agent does not implement are skipped, not failed. Runner
|
|
14
|
+
# implementation tracked at adcontextprotocol/adcp#2331.
|
|
15
|
+
|
|
16
|
+
narrative: |
|
|
17
|
+
Request signing is a transport-layer claim that applies to every AdCP agent regardless
|
|
18
|
+
of which protocols it speaks. RFC 9421 verification behavior is identical whether the
|
|
19
|
+
agent is a media-buy seller, a signals agent, a governance agent, a creative agent, or
|
|
20
|
+
a brand agent. This universal storyboard certifies that an agent correctly implements
|
|
21
|
+
the AdCP RFC 9421 request-signing verifier per
|
|
22
|
+
[`docs/building/implementation/security.mdx#signed-requests-transport-layer`](/docs/building/implementation/security#signed-requests-transport-layer).
|
|
23
|
+
|
|
24
|
+
**Gating.** This storyboard runs for any agent advertising `request_signing.supported: true`
|
|
25
|
+
in `get_adcp_capabilities`. Agents that do not advertise support are not tested against
|
|
26
|
+
this storyboard — absence of advertisement is not a failure, it is a declaration that
|
|
27
|
+
the agent does not offer verified signed requests. Same gating model as
|
|
28
|
+
`deterministic_testing` (gated on `compliance_testing.supported: true`).
|
|
29
|
+
|
|
30
|
+
**Backward-compatible specialism claims.** The deprecated `signed-requests` specialism
|
|
31
|
+
enum value remains in the schema for back-compat (see
|
|
32
|
+
[#3075](https://github.com/adcontextprotocol/adcp/issues/3075)). Agents that still
|
|
33
|
+
advertise `specialisms: ["signed-requests"]` are graded via this universal storyboard;
|
|
34
|
+
the runner SHOULD emit an informational notice (not a failure) advising the agent to
|
|
35
|
+
drop the now-redundant specialism claim and rely solely on `request_signing.supported: true`.
|
|
36
|
+
4.0 removes the enum value entirely — see
|
|
37
|
+
[#3078](https://github.com/adcontextprotocol/adcp/issues/3078).
|
|
38
|
+
|
|
39
|
+
**Composition with other storyboards.** This storyboard runs independently of any
|
|
40
|
+
specialism a seller also claims. A seller advertising `request_signing.supported: true`
|
|
41
|
+
AND `specialisms: ["sales-guaranteed"]` is graded on both — universal failure does not
|
|
42
|
+
exempt the specialism's pass, and a specialism pass does not paper over universal
|
|
43
|
+
failure. The overall AAO Verified verdict requires all gated storyboards to pass; the
|
|
44
|
+
runner reports per-storyboard outcomes so operators can isolate failures.
|
|
45
|
+
|
|
46
|
+
**Grading.** Observable-behavior only. The runner constructs signed HTTP requests
|
|
47
|
+
exactly as documented in the conformance vectors at
|
|
48
|
+
`/compliance/{version}/test-vectors/request-signing/` and sends them to the agent. The
|
|
49
|
+
agent's responses are compared against the vectors' `expected_outcome`:
|
|
50
|
+
|
|
51
|
+
- Positive vectors MUST produce a non-4xx response — the agent accepted the signed request.
|
|
52
|
+
- Negative vectors MUST produce `401` with `WWW-Authenticate: Signature error="<code>"`,
|
|
53
|
+
where the `<code>` matches the vector's `expected_outcome.error_code` byte-for-byte.
|
|
54
|
+
The checklist step number is informational; grading is on the stable error code only.
|
|
55
|
+
|
|
56
|
+
The runner supplies signed requests; the agent is the verifier. A separate signer-side
|
|
57
|
+
storyboard may follow but is out of scope here — signers are easier to get right, and a
|
|
58
|
+
signer that produces valid signatures is proven correct by a conformant verifier
|
|
59
|
+
accepting them.
|
|
60
|
+
|
|
61
|
+
**Stateful vectors.** Three negative vectors — 016 (replayed nonce), 017 (key revoked),
|
|
62
|
+
and 020 (per-keyid cap) — assert verifier state the runner cannot set from the outside.
|
|
63
|
+
Those vectors declare `requires_contract` and are gated on the `signed_requests_runner`
|
|
64
|
+
test-kit contract at `test-kits/signed-requests-runner.yaml`, which specifies the
|
|
65
|
+
runner's signing keyids, a dedicated pre-revoked keyid (`test-revoked-2026`), and the
|
|
66
|
+
grading-time per-keyid cap the runner will target. Agents advertising
|
|
67
|
+
`request_signing.supported: true` MUST pre-configure their verifier per that contract
|
|
68
|
+
before the negative phase runs. If the agent does not satisfy the contract (e.g., the
|
|
69
|
+
runner can't coordinate the pre-state), the affected vectors grade as FAIL, never as
|
|
70
|
+
SKIP — the contract is a prerequisite for the capability claim, not an optional
|
|
71
|
+
extension.
|
|
72
|
+
|
|
73
|
+
agent:
|
|
74
|
+
interaction_model: request_verifier
|
|
75
|
+
capabilities:
|
|
76
|
+
- verifies_request_signatures
|
|
77
|
+
examples:
|
|
78
|
+
- "Any AdCP agent advertising `request_signing.supported: true` — sales agent, signals agent, governance agent, creative agent, or brand agent"
|
|
79
|
+
|
|
80
|
+
caller:
|
|
81
|
+
role: compliance_runner
|
|
82
|
+
example: "AdCP Verified runner (or equivalent signed-request grader)"
|
|
83
|
+
|
|
84
|
+
prerequisites:
|
|
85
|
+
description: |
|
|
86
|
+
The agent MUST advertise `request_signing.supported: true` in `get_adcp_capabilities`.
|
|
87
|
+
The agent's verifier MUST be configured to accept requests signed by the test keypairs
|
|
88
|
+
published in `keys.json` alongside the conformance vectors — specifically, the runner's
|
|
89
|
+
signing keys (`test-ed25519-2026`, `test-es256-2026`) should be treated as coming from
|
|
90
|
+
a registered test counterparty whose JWKS contains those public keys with
|
|
91
|
+
`adcp_use: "request-signing"`.
|
|
92
|
+
test_kit: "test-kits/signed-requests-runner.yaml"
|
|
93
|
+
|
|
94
|
+
phases:
|
|
95
|
+
- id: capability_discovery
|
|
96
|
+
title: "Capability discovery"
|
|
97
|
+
narrative: |
|
|
98
|
+
Confirm the agent advertises request-signing support before grading the verifier.
|
|
99
|
+
|
|
100
|
+
steps:
|
|
101
|
+
- id: get_capabilities
|
|
102
|
+
title: "Verify the agent declares request_signing.supported"
|
|
103
|
+
narrative: |
|
|
104
|
+
The runner calls `get_adcp_capabilities` and confirms that the agent declares
|
|
105
|
+
support for the request-signing capability. Absence of `request_signing.supported: true`
|
|
106
|
+
means the agent has not opted into this storyboard; the runner SHOULD skip the
|
|
107
|
+
remaining phases.
|
|
108
|
+
task: get_adcp_capabilities
|
|
109
|
+
schema_ref: "protocol/get-adcp-capabilities-request.json"
|
|
110
|
+
response_schema_ref: "protocol/get-adcp-capabilities-response.json"
|
|
111
|
+
doc_ref: "/protocol/get_adcp_capabilities"
|
|
112
|
+
comply_scenario: capability_discovery
|
|
113
|
+
stateful: false
|
|
114
|
+
expected: |
|
|
115
|
+
Return capabilities declaring request_signing.supported: true. If false or absent,
|
|
116
|
+
this storyboard does not apply and grading skips to a non-applicable outcome.
|
|
117
|
+
sample_request:
|
|
118
|
+
context:
|
|
119
|
+
correlation_id: "signed_requests--get_capabilities"
|
|
120
|
+
validations:
|
|
121
|
+
- check: field_present
|
|
122
|
+
path: "request_signing"
|
|
123
|
+
description: "Agent declares request_signing capability block"
|
|
124
|
+
- check: field_value
|
|
125
|
+
path: "request_signing.supported"
|
|
126
|
+
value: true
|
|
127
|
+
description: "Agent verifies request signatures"
|
|
128
|
+
|
|
129
|
+
- id: positive_vectors
|
|
130
|
+
title: "Positive conformance vectors"
|
|
131
|
+
narrative: |
|
|
132
|
+
The runner sends each positive vector as a signed HTTP request to the agent and
|
|
133
|
+
expects the agent to accept it. Vectors exercise the happy path plus every
|
|
134
|
+
canonicalization-edge rule in the profile:
|
|
135
|
+
|
|
136
|
+
001 basic Ed25519 POST
|
|
137
|
+
002 Ed25519 POST with content-digest covered
|
|
138
|
+
003 ES256 POST (edge-runtime profile)
|
|
139
|
+
004 multiple Signature-Input labels (verifier processes sig1 only)
|
|
140
|
+
005 default-port strip (URL has :443)
|
|
141
|
+
006 dot-segment path normalization
|
|
142
|
+
007 query-string byte preservation (no alphabetization)
|
|
143
|
+
008 percent-encoded path normalization (lowercase → uppercase hex)
|
|
144
|
+
|
|
145
|
+
Vectors and test keys live at
|
|
146
|
+
`/compliance/{version}/test-vectors/request-signing/positive/` and
|
|
147
|
+
`/compliance/{version}/test-vectors/request-signing/keys.json`.
|
|
148
|
+
|
|
149
|
+
$comment: |
|
|
150
|
+
Step-level YAML entries for each positive vector will be generated from the vector
|
|
151
|
+
fixtures at runtime by the compliance runner; we do not duplicate them in this file.
|
|
152
|
+
The runner loads the vector, constructs the HTTP request, sends it to the agent,
|
|
153
|
+
and validates the response against expected_outcome.success. Runner implementation
|
|
154
|
+
tracked at adcontextprotocol/adcp#2331.
|
|
155
|
+
|
|
156
|
+
- id: negative_vectors
|
|
157
|
+
title: "Negative conformance vectors"
|
|
158
|
+
narrative: |
|
|
159
|
+
The runner sends each negative vector and expects the agent to reject with the
|
|
160
|
+
stable error code in `expected_outcome.error_code`. Negative vectors cover every
|
|
161
|
+
failure mode in the verifier checklist (13 numbered steps plus sub-step 9a for
|
|
162
|
+
the per-keyid cap) plus the pre-check:
|
|
163
|
+
|
|
164
|
+
001 unsigned + required_for → request_signature_required
|
|
165
|
+
002 wrong tag → request_signature_tag_invalid
|
|
166
|
+
003 expired signature → request_signature_window_invalid
|
|
167
|
+
004 window > 300s → request_signature_window_invalid
|
|
168
|
+
005 alg not allowed → request_signature_alg_not_allowed
|
|
169
|
+
006 missing covered component → request_signature_components_incomplete
|
|
170
|
+
007 missing content-digest (required) → request_signature_components_incomplete
|
|
171
|
+
008 unknown keyid → request_signature_key_unknown
|
|
172
|
+
009 wrong adcp_use → request_signature_key_purpose_invalid
|
|
173
|
+
010 content-digest mismatch → request_signature_digest_mismatch
|
|
174
|
+
011 malformed Signature-Input → request_signature_header_malformed
|
|
175
|
+
012 missing expires param → request_signature_params_incomplete
|
|
176
|
+
013 expires ≤ created → request_signature_window_invalid
|
|
177
|
+
014 missing nonce param → request_signature_params_incomplete
|
|
178
|
+
015 signature cryptographically invalid → request_signature_invalid
|
|
179
|
+
016 replayed nonce → request_signature_replayed
|
|
180
|
+
017 key revoked → request_signature_key_revoked
|
|
181
|
+
018 content-digest when forbidden → request_signature_components_unexpected
|
|
182
|
+
019 Signature without Signature-Input → request_signature_header_malformed
|
|
183
|
+
020 per-keyid replay cache cap → request_signature_rate_abuse
|
|
184
|
+
|
|
185
|
+
Vectors live at `/compliance/{version}/test-vectors/request-signing/negative/`.
|
|
186
|
+
Grading requires byte-for-byte match on the error code; the failed_step value is
|
|
187
|
+
informational. The runner reads the error code from the agent's
|
|
188
|
+
`WWW-Authenticate: Signature error="<code>"` response header on 401.
|
|
189
|
+
|
|
190
|
+
$comment: |
|
|
191
|
+
As with positive_vectors, step-level entries are synthesized by the runner from
|
|
192
|
+
the vector fixtures. Runner implementation at adcontextprotocol/adcp#2331.
|
|
193
|
+
|
|
194
|
+
grading:
|
|
195
|
+
pass_criteria: |
|
|
196
|
+
All vectors in positive/ produce 2xx, and all vectors in negative/ produce 401 with
|
|
197
|
+
the expected error code byte-for-byte. Any single vector's failure to produce its
|
|
198
|
+
expected outcome fails the storyboard. Vectors that declare `requires_contract`
|
|
199
|
+
whose contract the runner cannot satisfy grade as FAIL, never as SKIP — the
|
|
200
|
+
signed-requests-runner contract is a prerequisite for the capability claim, not an
|
|
201
|
+
optional extension.
|
|
202
|
+
report_format: |
|
|
203
|
+
Pass/fail per vector, with the response's error code (if any) and a diff against
|
|
204
|
+
the vector's expected_outcome. Operators receive specific per-vector diagnostics
|
|
205
|
+
so they can debug without re-running the full suite.
|