@adcp/sdk 5.23.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/.claude-plugin/marketplace.json +17 -0
- package/.claude-plugin/plugin.json +25 -0
- package/ADCP_VERSION +1 -0
- package/AGENTS.md +282 -0
- package/LICENSE +191 -0
- package/README.md +816 -0
- package/bin/adcp-async-handler.js +275 -0
- package/bin/adcp-config.js +240 -0
- package/bin/adcp-fuzz.js +391 -0
- package/bin/adcp-grade.js +505 -0
- package/bin/adcp-json-stdout.js +36 -0
- package/bin/adcp-registry.js +745 -0
- package/bin/adcp-signing.js +233 -0
- package/bin/adcp-step-hints.js +246 -0
- package/bin/adcp-version-check.js +150 -0
- package/bin/adcp.js +4821 -0
- package/compliance/cache/3.0.0/domains/brand/index.yaml +167 -0
- package/compliance/cache/3.0.0/domains/creative/index.yaml +412 -0
- package/compliance/cache/3.0.0/domains/governance/index.yaml +683 -0
- package/compliance/cache/3.0.0/domains/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.0/domains/media-buy/index.yaml +742 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/delivery_reporting.yaml +180 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_approved.yaml +186 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_conditions.yaml +195 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_denied.yaml +189 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/invalid_transitions.yaml +279 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/proposal_finalize.yaml +242 -0
- package/compliance/cache/3.0.0/domains/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.0/domains/media-buy/state-machine.yaml +437 -0
- package/compliance/cache/3.0.0/domains/signals/index.yaml +266 -0
- package/compliance/cache/3.0.0/domains/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.0/index.json +324 -0
- package/compliance/cache/3.0.0/protocols/brand/index.yaml +167 -0
- package/compliance/cache/3.0.0/protocols/creative/index.yaml +412 -0
- package/compliance/cache/3.0.0/protocols/governance/index.yaml +683 -0
- package/compliance/cache/3.0.0/protocols/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.0/protocols/media-buy/index.yaml +742 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/delivery_reporting.yaml +180 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_approved.yaml +186 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_conditions.yaml +195 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_denied.yaml +189 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/invalid_transitions.yaml +279 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/proposal_finalize.yaml +242 -0
- package/compliance/cache/3.0.0/protocols/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.0/protocols/media-buy/state-machine.yaml +437 -0
- package/compliance/cache/3.0.0/protocols/signals/index.yaml +266 -0
- package/compliance/cache/3.0.0/protocols/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.0/specialisms/audience-sync/index.yaml +280 -0
- package/compliance/cache/3.0.0/specialisms/brand-rights/index.yaml +346 -0
- package/compliance/cache/3.0.0/specialisms/brand-rights/scenarios/governance_denied.yaml +203 -0
- package/compliance/cache/3.0.0/specialisms/collection-lists/index.yaml +359 -0
- package/compliance/cache/3.0.0/specialisms/content-standards/index.yaml +572 -0
- package/compliance/cache/3.0.0/specialisms/creative-ad-server/index.yaml +383 -0
- package/compliance/cache/3.0.0/specialisms/creative-generative/generative-seller.yaml +733 -0
- package/compliance/cache/3.0.0/specialisms/creative-generative/index.yaml +746 -0
- package/compliance/cache/3.0.0/specialisms/creative-template/index.yaml +413 -0
- package/compliance/cache/3.0.0/specialisms/governance-aware-seller/index.yaml +99 -0
- package/compliance/cache/3.0.0/specialisms/governance-delivery-monitor/index.yaml +419 -0
- package/compliance/cache/3.0.0/specialisms/governance-spend-authority/denied.yaml +221 -0
- package/compliance/cache/3.0.0/specialisms/governance-spend-authority/index.yaml +330 -0
- package/compliance/cache/3.0.0/specialisms/property-lists/index.yaml +482 -0
- package/compliance/cache/3.0.0/specialisms/sales-broadcast-tv/index.yaml +664 -0
- package/compliance/cache/3.0.0/specialisms/sales-catalog-driven/index.yaml +779 -0
- package/compliance/cache/3.0.0/specialisms/sales-guaranteed/index.yaml +479 -0
- package/compliance/cache/3.0.0/specialisms/sales-non-guaranteed/index.yaml +428 -0
- package/compliance/cache/3.0.0/specialisms/sales-proposal-mode/index.yaml +520 -0
- package/compliance/cache/3.0.0/specialisms/sales-social/index.yaml +521 -0
- package/compliance/cache/3.0.0/specialisms/signal-marketplace/index.yaml +415 -0
- package/compliance/cache/3.0.0/specialisms/signal-marketplace/scenarios/governance_denied.yaml +195 -0
- package/compliance/cache/3.0.0/specialisms/signal-owned/index.yaml +316 -0
- package/compliance/cache/3.0.0/specialisms/signed-requests/index.yaml +192 -0
- package/compliance/cache/3.0.0/test-kits/acme-outdoor.yaml +210 -0
- package/compliance/cache/3.0.0/test-kits/bistro-oranje.yaml +126 -0
- package/compliance/cache/3.0.0/test-kits/nova-motors.yaml +262 -0
- package/compliance/cache/3.0.0/test-kits/osei-natural.yaml +126 -0
- package/compliance/cache/3.0.0/test-kits/signed-requests-runner.yaml +153 -0
- package/compliance/cache/3.0.0/test-kits/substitution-observer-runner.yaml +690 -0
- package/compliance/cache/3.0.0/test-kits/summit-foods.yaml +125 -0
- package/compliance/cache/3.0.0/test-kits/webhook-receiver-runner.yaml +265 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/001-minimal-plan.json +43 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/002-full-plan.json +217 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
- package/compliance/cache/3.0.0/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/README.md +219 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/canonicalization.json +241 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/keys.json +60 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/001-basic-post.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/003-es256-post.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/README.md +211 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/keys.json +61 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
- package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
- package/compliance/cache/3.0.0/universal/capability-discovery.yaml +125 -0
- package/compliance/cache/3.0.0/universal/deterministic-testing.yaml +1318 -0
- package/compliance/cache/3.0.0/universal/error-compliance.yaml +468 -0
- package/compliance/cache/3.0.0/universal/fictional-entities.yaml +307 -0
- package/compliance/cache/3.0.0/universal/idempotency.yaml +577 -0
- package/compliance/cache/3.0.0/universal/runner-output-contract.yaml +335 -0
- package/compliance/cache/3.0.0/universal/schema-validation.yaml +514 -0
- package/compliance/cache/3.0.0/universal/security.yaml +428 -0
- package/compliance/cache/3.0.0/universal/storyboard-schema.yaml +1010 -0
- package/compliance/cache/3.0.0/universal/webhook-emission.yaml +337 -0
- package/compliance/cache/3.0.0.previous/domains/brand/index.yaml +167 -0
- package/compliance/cache/3.0.0.previous/domains/creative/index.yaml +412 -0
- package/compliance/cache/3.0.0.previous/domains/governance/index.yaml +683 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/index.yaml +742 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/delivery_reporting.yaml +180 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_approved.yaml +186 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_conditions.yaml +195 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_denied.yaml +189 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/invalid_transitions.yaml +279 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/proposal_finalize.yaml +242 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.0.previous/domains/media-buy/state-machine.yaml +437 -0
- package/compliance/cache/3.0.0.previous/domains/signals/index.yaml +266 -0
- package/compliance/cache/3.0.0.previous/domains/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.0.previous/index.json +324 -0
- package/compliance/cache/3.0.0.previous/protocols/brand/index.yaml +167 -0
- package/compliance/cache/3.0.0.previous/protocols/creative/index.yaml +412 -0
- package/compliance/cache/3.0.0.previous/protocols/governance/index.yaml +683 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/index.yaml +742 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/delivery_reporting.yaml +180 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_approved.yaml +186 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_conditions.yaml +195 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_denied.yaml +189 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/invalid_transitions.yaml +279 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/proposal_finalize.yaml +242 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.0.previous/protocols/media-buy/state-machine.yaml +437 -0
- package/compliance/cache/3.0.0.previous/protocols/signals/index.yaml +266 -0
- package/compliance/cache/3.0.0.previous/protocols/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.0.previous/specialisms/audience-sync/index.yaml +280 -0
- package/compliance/cache/3.0.0.previous/specialisms/brand-rights/index.yaml +346 -0
- package/compliance/cache/3.0.0.previous/specialisms/brand-rights/scenarios/governance_denied.yaml +203 -0
- package/compliance/cache/3.0.0.previous/specialisms/collection-lists/index.yaml +359 -0
- package/compliance/cache/3.0.0.previous/specialisms/content-standards/index.yaml +572 -0
- package/compliance/cache/3.0.0.previous/specialisms/creative-ad-server/index.yaml +383 -0
- package/compliance/cache/3.0.0.previous/specialisms/creative-generative/generative-seller.yaml +733 -0
- package/compliance/cache/3.0.0.previous/specialisms/creative-generative/index.yaml +746 -0
- package/compliance/cache/3.0.0.previous/specialisms/creative-template/index.yaml +413 -0
- package/compliance/cache/3.0.0.previous/specialisms/governance-aware-seller/index.yaml +99 -0
- package/compliance/cache/3.0.0.previous/specialisms/governance-delivery-monitor/index.yaml +419 -0
- package/compliance/cache/3.0.0.previous/specialisms/governance-spend-authority/denied.yaml +221 -0
- package/compliance/cache/3.0.0.previous/specialisms/governance-spend-authority/index.yaml +330 -0
- package/compliance/cache/3.0.0.previous/specialisms/property-lists/index.yaml +482 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-broadcast-tv/index.yaml +664 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-catalog-driven/index.yaml +779 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-guaranteed/index.yaml +479 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-non-guaranteed/index.yaml +428 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-proposal-mode/index.yaml +520 -0
- package/compliance/cache/3.0.0.previous/specialisms/sales-social/index.yaml +521 -0
- package/compliance/cache/3.0.0.previous/specialisms/signal-marketplace/index.yaml +415 -0
- package/compliance/cache/3.0.0.previous/specialisms/signal-marketplace/scenarios/governance_denied.yaml +195 -0
- package/compliance/cache/3.0.0.previous/specialisms/signal-owned/index.yaml +316 -0
- package/compliance/cache/3.0.0.previous/specialisms/signed-requests/index.yaml +192 -0
- package/compliance/cache/3.0.0.previous/test-kits/acme-outdoor.yaml +210 -0
- package/compliance/cache/3.0.0.previous/test-kits/bistro-oranje.yaml +126 -0
- package/compliance/cache/3.0.0.previous/test-kits/nova-motors.yaml +262 -0
- package/compliance/cache/3.0.0.previous/test-kits/osei-natural.yaml +126 -0
- package/compliance/cache/3.0.0.previous/test-kits/signed-requests-runner.yaml +153 -0
- package/compliance/cache/3.0.0.previous/test-kits/substitution-observer-runner.yaml +690 -0
- package/compliance/cache/3.0.0.previous/test-kits/summit-foods.yaml +125 -0
- package/compliance/cache/3.0.0.previous/test-kits/webhook-receiver-runner.yaml +265 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/001-minimal-plan.json +43 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/002-full-plan.json +217 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
- package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/README.md +219 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/canonicalization.json +241 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/keys.json +60 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/001-basic-post.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/003-es256-post.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/README.md +211 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/keys.json +61 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
- package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
- package/compliance/cache/3.0.0.previous/universal/capability-discovery.yaml +125 -0
- package/compliance/cache/3.0.0.previous/universal/deterministic-testing.yaml +1318 -0
- package/compliance/cache/3.0.0.previous/universal/error-compliance.yaml +468 -0
- package/compliance/cache/3.0.0.previous/universal/fictional-entities.yaml +307 -0
- package/compliance/cache/3.0.0.previous/universal/idempotency.yaml +577 -0
- package/compliance/cache/3.0.0.previous/universal/runner-output-contract.yaml +335 -0
- package/compliance/cache/3.0.0.previous/universal/schema-validation.yaml +514 -0
- package/compliance/cache/3.0.0.previous/universal/security.yaml +428 -0
- package/compliance/cache/3.0.0.previous/universal/storyboard-schema.yaml +1010 -0
- package/compliance/cache/3.0.0.previous/universal/webhook-emission.yaml +337 -0
- package/compliance/cache/3.0.1/domains/brand/index.yaml +163 -0
- package/compliance/cache/3.0.1/domains/creative/index.yaml +412 -0
- package/compliance/cache/3.0.1/domains/governance/index.yaml +683 -0
- package/compliance/cache/3.0.1/domains/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.1/domains/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.1/domains/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.1/domains/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.1/domains/signals/index.yaml +266 -0
- package/compliance/cache/3.0.1/domains/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.1/index.json +324 -0
- package/compliance/cache/3.0.1/protocols/brand/index.yaml +163 -0
- package/compliance/cache/3.0.1/protocols/creative/index.yaml +412 -0
- package/compliance/cache/3.0.1/protocols/governance/index.yaml +683 -0
- package/compliance/cache/3.0.1/protocols/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.1/protocols/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.1/protocols/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.1/protocols/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.1/protocols/signals/index.yaml +266 -0
- package/compliance/cache/3.0.1/protocols/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.1/specialisms/audience-sync/index.yaml +280 -0
- package/compliance/cache/3.0.1/specialisms/brand-rights/index.yaml +350 -0
- package/compliance/cache/3.0.1/specialisms/brand-rights/scenarios/governance_denied.yaml +204 -0
- package/compliance/cache/3.0.1/specialisms/collection-lists/index.yaml +359 -0
- package/compliance/cache/3.0.1/specialisms/content-standards/index.yaml +572 -0
- package/compliance/cache/3.0.1/specialisms/creative-ad-server/index.yaml +383 -0
- package/compliance/cache/3.0.1/specialisms/creative-generative/generative-seller.yaml +758 -0
- package/compliance/cache/3.0.1/specialisms/creative-generative/index.yaml +746 -0
- package/compliance/cache/3.0.1/specialisms/creative-template/index.yaml +413 -0
- package/compliance/cache/3.0.1/specialisms/governance-aware-seller/index.yaml +136 -0
- package/compliance/cache/3.0.1/specialisms/governance-delivery-monitor/index.yaml +441 -0
- package/compliance/cache/3.0.1/specialisms/governance-spend-authority/denied.yaml +221 -0
- package/compliance/cache/3.0.1/specialisms/governance-spend-authority/index.yaml +330 -0
- package/compliance/cache/3.0.1/specialisms/property-lists/index.yaml +482 -0
- package/compliance/cache/3.0.1/specialisms/sales-broadcast-tv/index.yaml +689 -0
- package/compliance/cache/3.0.1/specialisms/sales-catalog-driven/index.yaml +779 -0
- package/compliance/cache/3.0.1/specialisms/sales-guaranteed/index.yaml +504 -0
- package/compliance/cache/3.0.1/specialisms/sales-non-guaranteed/index.yaml +428 -0
- package/compliance/cache/3.0.1/specialisms/sales-proposal-mode/index.yaml +520 -0
- package/compliance/cache/3.0.1/specialisms/sales-social/index.yaml +577 -0
- package/compliance/cache/3.0.1/specialisms/signal-marketplace/index.yaml +415 -0
- package/compliance/cache/3.0.1/specialisms/signal-marketplace/scenarios/governance_denied.yaml +207 -0
- package/compliance/cache/3.0.1/specialisms/signal-owned/index.yaml +316 -0
- package/compliance/cache/3.0.1/test-kits/acme-outdoor.yaml +210 -0
- package/compliance/cache/3.0.1/test-kits/bistro-oranje.yaml +126 -0
- package/compliance/cache/3.0.1/test-kits/nova-motors.yaml +262 -0
- package/compliance/cache/3.0.1/test-kits/osei-natural.yaml +126 -0
- package/compliance/cache/3.0.1/test-kits/signed-requests-runner.yaml +155 -0
- package/compliance/cache/3.0.1/test-kits/substitution-observer-runner.yaml +690 -0
- package/compliance/cache/3.0.1/test-kits/summit-foods.yaml +125 -0
- package/compliance/cache/3.0.1/test-kits/webhook-receiver-runner.yaml +265 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/001-minimal-plan.json +43 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/002-full-plan.json +217 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
- package/compliance/cache/3.0.1/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/README.md +219 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/canonicalization.json +241 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/keys.json +60 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/001-basic-post.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/003-es256-post.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/README.md +211 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/keys.json +61 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
- package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
- package/compliance/cache/3.0.1/universal/capability-discovery.yaml +125 -0
- package/compliance/cache/3.0.1/universal/collection-lists-pagination-integrity.yaml +306 -0
- package/compliance/cache/3.0.1/universal/content-standards-pagination-integrity.yaml +326 -0
- package/compliance/cache/3.0.1/universal/deterministic-testing.yaml +1343 -0
- package/compliance/cache/3.0.1/universal/error-compliance.yaml +474 -0
- package/compliance/cache/3.0.1/universal/fictional-entities.yaml +307 -0
- package/compliance/cache/3.0.1/universal/get-media-buys-pagination-integrity.yaml +160 -0
- package/compliance/cache/3.0.1/universal/get-signals-pagination-integrity.yaml +211 -0
- package/compliance/cache/3.0.1/universal/idempotency.yaml +593 -0
- package/compliance/cache/3.0.1/universal/pagination-integrity-creative-formats.yaml +258 -0
- package/compliance/cache/3.0.1/universal/pagination-integrity-list-accounts.yaml +262 -0
- package/compliance/cache/3.0.1/universal/pagination-integrity.yaml +263 -0
- package/compliance/cache/3.0.1/universal/property-lists-pagination-integrity.yaml +307 -0
- package/compliance/cache/3.0.1/universal/runner-output-contract.yaml +339 -0
- package/compliance/cache/3.0.1/universal/schema-validation.yaml +526 -0
- package/compliance/cache/3.0.1/universal/security.yaml +431 -0
- package/compliance/cache/3.0.1/universal/signed-requests.yaml +205 -0
- package/compliance/cache/3.0.1/universal/storyboard-schema.yaml +1056 -0
- package/compliance/cache/3.0.1/universal/v3-envelope-integrity.yaml +104 -0
- package/compliance/cache/3.0.1/universal/webhook-emission.yaml +337 -0
- package/compliance/cache/3.0.1.previous/domains/brand/index.yaml +163 -0
- package/compliance/cache/3.0.1.previous/domains/creative/index.yaml +412 -0
- package/compliance/cache/3.0.1.previous/domains/governance/index.yaml +683 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.1.previous/domains/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.1.previous/domains/signals/index.yaml +266 -0
- package/compliance/cache/3.0.1.previous/domains/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.1.previous/index.json +324 -0
- package/compliance/cache/3.0.1.previous/protocols/brand/index.yaml +163 -0
- package/compliance/cache/3.0.1.previous/protocols/creative/index.yaml +412 -0
- package/compliance/cache/3.0.1.previous/protocols/governance/index.yaml +683 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/creative-reception.yaml +247 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/index.yaml +769 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/create_media_buy_async.yaml +232 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/delivery_reporting.yaml +205 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_approved.yaml +211 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_conditions.yaml +196 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_denied.yaml +192 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/invalid_transitions.yaml +284 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/proposal_finalize.yaml +243 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/refine_products.yaml +148 -0
- package/compliance/cache/3.0.1.previous/protocols/media-buy/state-machine.yaml +442 -0
- package/compliance/cache/3.0.1.previous/protocols/signals/index.yaml +266 -0
- package/compliance/cache/3.0.1.previous/protocols/sponsored-intelligence/index.yaml +256 -0
- package/compliance/cache/3.0.1.previous/specialisms/audience-sync/index.yaml +280 -0
- package/compliance/cache/3.0.1.previous/specialisms/brand-rights/index.yaml +350 -0
- package/compliance/cache/3.0.1.previous/specialisms/brand-rights/scenarios/governance_denied.yaml +204 -0
- package/compliance/cache/3.0.1.previous/specialisms/collection-lists/index.yaml +359 -0
- package/compliance/cache/3.0.1.previous/specialisms/content-standards/index.yaml +572 -0
- package/compliance/cache/3.0.1.previous/specialisms/creative-ad-server/index.yaml +383 -0
- package/compliance/cache/3.0.1.previous/specialisms/creative-generative/generative-seller.yaml +758 -0
- package/compliance/cache/3.0.1.previous/specialisms/creative-generative/index.yaml +746 -0
- package/compliance/cache/3.0.1.previous/specialisms/creative-template/index.yaml +413 -0
- package/compliance/cache/3.0.1.previous/specialisms/governance-aware-seller/index.yaml +136 -0
- package/compliance/cache/3.0.1.previous/specialisms/governance-delivery-monitor/index.yaml +441 -0
- package/compliance/cache/3.0.1.previous/specialisms/governance-spend-authority/denied.yaml +221 -0
- package/compliance/cache/3.0.1.previous/specialisms/governance-spend-authority/index.yaml +330 -0
- package/compliance/cache/3.0.1.previous/specialisms/property-lists/index.yaml +482 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-broadcast-tv/index.yaml +689 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-catalog-driven/index.yaml +779 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-guaranteed/index.yaml +504 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-non-guaranteed/index.yaml +428 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-proposal-mode/index.yaml +520 -0
- package/compliance/cache/3.0.1.previous/specialisms/sales-social/index.yaml +577 -0
- package/compliance/cache/3.0.1.previous/specialisms/signal-marketplace/index.yaml +415 -0
- package/compliance/cache/3.0.1.previous/specialisms/signal-marketplace/scenarios/governance_denied.yaml +207 -0
- package/compliance/cache/3.0.1.previous/specialisms/signal-owned/index.yaml +316 -0
- package/compliance/cache/3.0.1.previous/test-kits/acme-outdoor.yaml +210 -0
- package/compliance/cache/3.0.1.previous/test-kits/bistro-oranje.yaml +126 -0
- package/compliance/cache/3.0.1.previous/test-kits/nova-motors.yaml +262 -0
- package/compliance/cache/3.0.1.previous/test-kits/osei-natural.yaml +126 -0
- package/compliance/cache/3.0.1.previous/test-kits/signed-requests-runner.yaml +155 -0
- package/compliance/cache/3.0.1.previous/test-kits/substitution-observer-runner.yaml +690 -0
- package/compliance/cache/3.0.1.previous/test-kits/summit-foods.yaml +125 -0
- package/compliance/cache/3.0.1.previous/test-kits/webhook-receiver-runner.yaml +265 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/001-minimal-plan.json +43 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/002-full-plan.json +217 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
- package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/README.md +219 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/canonicalization.json +241 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/keys.json +60 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/001-basic-post.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/003-es256-post.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/README.md +211 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/keys.json +61 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
- package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
- package/compliance/cache/3.0.1.previous/universal/capability-discovery.yaml +125 -0
- package/compliance/cache/3.0.1.previous/universal/collection-lists-pagination-integrity.yaml +306 -0
- package/compliance/cache/3.0.1.previous/universal/content-standards-pagination-integrity.yaml +326 -0
- package/compliance/cache/3.0.1.previous/universal/deterministic-testing.yaml +1343 -0
- package/compliance/cache/3.0.1.previous/universal/error-compliance.yaml +474 -0
- package/compliance/cache/3.0.1.previous/universal/fictional-entities.yaml +307 -0
- package/compliance/cache/3.0.1.previous/universal/get-media-buys-pagination-integrity.yaml +160 -0
- package/compliance/cache/3.0.1.previous/universal/get-signals-pagination-integrity.yaml +211 -0
- package/compliance/cache/3.0.1.previous/universal/idempotency.yaml +593 -0
- package/compliance/cache/3.0.1.previous/universal/pagination-integrity-creative-formats.yaml +258 -0
- package/compliance/cache/3.0.1.previous/universal/pagination-integrity-list-accounts.yaml +262 -0
- package/compliance/cache/3.0.1.previous/universal/pagination-integrity.yaml +263 -0
- package/compliance/cache/3.0.1.previous/universal/property-lists-pagination-integrity.yaml +307 -0
- package/compliance/cache/3.0.1.previous/universal/runner-output-contract.yaml +339 -0
- package/compliance/cache/3.0.1.previous/universal/schema-validation.yaml +526 -0
- package/compliance/cache/3.0.1.previous/universal/security.yaml +431 -0
- package/compliance/cache/3.0.1.previous/universal/signed-requests.yaml +205 -0
- package/compliance/cache/3.0.1.previous/universal/storyboard-schema.yaml +1056 -0
- package/compliance/cache/3.0.1.previous/universal/v3-envelope-integrity.yaml +104 -0
- package/compliance/cache/3.0.1.previous/universal/webhook-emission.yaml +337 -0
- package/dist/lib/adapters/content-standards-adapter.d.ts +106 -0
- package/dist/lib/adapters/content-standards-adapter.d.ts.map +1 -0
- package/dist/lib/adapters/content-standards-adapter.js +201 -0
- package/dist/lib/adapters/content-standards-adapter.js.map +1 -0
- package/dist/lib/adapters/governance-adapter.d.ts +88 -0
- package/dist/lib/adapters/governance-adapter.d.ts.map +1 -0
- package/dist/lib/adapters/governance-adapter.js +93 -0
- package/dist/lib/adapters/governance-adapter.js.map +1 -0
- package/dist/lib/adapters/index.d.ts +19 -0
- package/dist/lib/adapters/index.d.ts.map +1 -0
- package/dist/lib/adapters/index.js +47 -0
- package/dist/lib/adapters/index.js.map +1 -0
- package/dist/lib/adapters/property-list-adapter.d.ts +123 -0
- package/dist/lib/adapters/property-list-adapter.d.ts.map +1 -0
- package/dist/lib/adapters/property-list-adapter.js +231 -0
- package/dist/lib/adapters/property-list-adapter.js.map +1 -0
- package/dist/lib/adapters/proposal-manager.d.ts +142 -0
- package/dist/lib/adapters/proposal-manager.d.ts.map +1 -0
- package/dist/lib/adapters/proposal-manager.js +184 -0
- package/dist/lib/adapters/proposal-manager.js.map +1 -0
- package/dist/lib/adapters/si-session-manager.d.ts +164 -0
- package/dist/lib/adapters/si-session-manager.d.ts.map +1 -0
- package/dist/lib/adapters/si-session-manager.js +330 -0
- package/dist/lib/adapters/si-session-manager.js.map +1 -0
- package/dist/lib/advanced.d.ts +41 -0
- package/dist/lib/advanced.d.ts.map +1 -0
- package/dist/lib/advanced.js +49 -0
- package/dist/lib/advanced.js.map +1 -0
- package/dist/lib/agents/index.generated.d.ts +397 -0
- package/dist/lib/agents/index.generated.d.ts.map +1 -0
- package/dist/lib/agents/index.generated.js +624 -0
- package/dist/lib/agents/index.generated.js.map +1 -0
- package/dist/lib/auth/index.d.ts +39 -0
- package/dist/lib/auth/index.d.ts.map +1 -0
- package/dist/lib/auth/index.js +100 -0
- package/dist/lib/auth/index.js.map +1 -0
- package/dist/lib/auth/oauth/CLIFlowHandler.d.ts +61 -0
- package/dist/lib/auth/oauth/CLIFlowHandler.d.ts.map +1 -0
- package/dist/lib/auth/oauth/CLIFlowHandler.js +287 -0
- package/dist/lib/auth/oauth/CLIFlowHandler.js.map +1 -0
- package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts +134 -0
- package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts.map +1 -0
- package/dist/lib/auth/oauth/ClientCredentialsFlow.js +325 -0
- package/dist/lib/auth/oauth/ClientCredentialsFlow.js.map +1 -0
- package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts +136 -0
- package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts.map +1 -0
- package/dist/lib/auth/oauth/MCPOAuthProvider.js +255 -0
- package/dist/lib/auth/oauth/MCPOAuthProvider.js.map +1 -0
- package/dist/lib/auth/oauth/NonInteractiveFlowHandler.d.ts +37 -0
- package/dist/lib/auth/oauth/NonInteractiveFlowHandler.d.ts.map +1 -0
- package/dist/lib/auth/oauth/NonInteractiveFlowHandler.js +30 -0
- package/dist/lib/auth/oauth/NonInteractiveFlowHandler.js.map +1 -0
- package/dist/lib/auth/oauth/authorization-required.d.ts +112 -0
- package/dist/lib/auth/oauth/authorization-required.d.ts.map +1 -0
- package/dist/lib/auth/oauth/authorization-required.js +363 -0
- package/dist/lib/auth/oauth/authorization-required.js.map +1 -0
- package/dist/lib/auth/oauth/diagnose.d.ts +101 -0
- package/dist/lib/auth/oauth/diagnose.d.ts.map +1 -0
- package/dist/lib/auth/oauth/diagnose.js +630 -0
- package/dist/lib/auth/oauth/diagnose.js.map +1 -0
- package/dist/lib/auth/oauth/diagnostics.d.ts +129 -0
- package/dist/lib/auth/oauth/diagnostics.d.ts.map +1 -0
- package/dist/lib/auth/oauth/diagnostics.js +207 -0
- package/dist/lib/auth/oauth/diagnostics.js.map +1 -0
- package/dist/lib/auth/oauth/discovery.d.ts +96 -0
- package/dist/lib/auth/oauth/discovery.d.ts.map +1 -0
- package/dist/lib/auth/oauth/discovery.js +119 -0
- package/dist/lib/auth/oauth/discovery.js.map +1 -0
- package/dist/lib/auth/oauth/file-storage.d.ts +40 -0
- package/dist/lib/auth/oauth/file-storage.d.ts.map +1 -0
- package/dist/lib/auth/oauth/file-storage.js +112 -0
- package/dist/lib/auth/oauth/file-storage.js.map +1 -0
- package/dist/lib/auth/oauth/index.d.ts +133 -0
- package/dist/lib/auth/oauth/index.d.ts.map +1 -0
- package/dist/lib/auth/oauth/index.js +246 -0
- package/dist/lib/auth/oauth/index.js.map +1 -0
- package/dist/lib/auth/oauth/secret-resolver.d.ts +54 -0
- package/dist/lib/auth/oauth/secret-resolver.d.ts.map +1 -0
- package/dist/lib/auth/oauth/secret-resolver.js +96 -0
- package/dist/lib/auth/oauth/secret-resolver.js.map +1 -0
- package/dist/lib/auth/oauth/storage-registry.d.ts +44 -0
- package/dist/lib/auth/oauth/storage-registry.d.ts.map +1 -0
- package/dist/lib/auth/oauth/storage-registry.js +33 -0
- package/dist/lib/auth/oauth/storage-registry.js.map +1 -0
- package/dist/lib/auth/oauth/types.d.ts +114 -0
- package/dist/lib/auth/oauth/types.d.ts.map +1 -0
- package/dist/lib/auth/oauth/types.js +104 -0
- package/dist/lib/auth/oauth/types.js.map +1 -0
- package/dist/lib/client/index.d.ts +2 -0
- package/dist/lib/client/index.d.ts.map +1 -0
- package/dist/lib/client/index.js +26 -0
- package/dist/lib/client/index.js.map +1 -0
- package/dist/lib/compliance/index.d.ts +5 -0
- package/dist/lib/compliance/index.d.ts.map +1 -0
- package/dist/lib/compliance/index.js +52 -0
- package/dist/lib/compliance/index.js.map +1 -0
- package/dist/lib/compliance-fixtures/index.d.ts +167 -0
- package/dist/lib/compliance-fixtures/index.d.ts.map +1 -0
- package/dist/lib/compliance-fixtures/index.js +218 -0
- package/dist/lib/compliance-fixtures/index.js.map +1 -0
- package/dist/lib/compliance-fixtures/test-authorization-server.d.ts +88 -0
- package/dist/lib/compliance-fixtures/test-authorization-server.d.ts.map +1 -0
- package/dist/lib/compliance-fixtures/test-authorization-server.js +252 -0
- package/dist/lib/compliance-fixtures/test-authorization-server.js.map +1 -0
- package/dist/lib/conformance/index.d.ts +26 -0
- package/dist/lib/conformance/index.d.ts.map +1 -0
- package/dist/lib/conformance/index.js +34 -0
- package/dist/lib/conformance/index.js.map +1 -0
- package/dist/lib/conformance/invariants/uniformError.d.ts +45 -0
- package/dist/lib/conformance/invariants/uniformError.d.ts.map +1 -0
- package/dist/lib/conformance/invariants/uniformError.js +179 -0
- package/dist/lib/conformance/invariants/uniformError.js.map +1 -0
- package/dist/lib/conformance/invariants/uniformErrorComparator.d.ts +8 -0
- package/dist/lib/conformance/invariants/uniformErrorComparator.d.ts.map +1 -0
- package/dist/lib/conformance/invariants/uniformErrorComparator.js +488 -0
- package/dist/lib/conformance/invariants/uniformErrorComparator.js.map +1 -0
- package/dist/lib/conformance/oracle.d.ts +36 -0
- package/dist/lib/conformance/oracle.d.ts.map +1 -0
- package/dist/lib/conformance/oracle.js +267 -0
- package/dist/lib/conformance/oracle.js.map +1 -0
- package/dist/lib/conformance/runConformance.d.ts +17 -0
- package/dist/lib/conformance/runConformance.d.ts.map +1 -0
- package/dist/lib/conformance/runConformance.js +174 -0
- package/dist/lib/conformance/runConformance.js.map +1 -0
- package/dist/lib/conformance/runners.d.ts +27 -0
- package/dist/lib/conformance/runners.d.ts.map +1 -0
- package/dist/lib/conformance/runners.js +159 -0
- package/dist/lib/conformance/runners.js.map +1 -0
- package/dist/lib/conformance/schemaArbitrary.d.ts +39 -0
- package/dist/lib/conformance/schemaArbitrary.d.ts.map +1 -0
- package/dist/lib/conformance/schemaArbitrary.js +382 -0
- package/dist/lib/conformance/schemaArbitrary.js.map +1 -0
- package/dist/lib/conformance/schemaLoader.d.ts +12 -0
- package/dist/lib/conformance/schemaLoader.d.ts.map +1 -0
- package/dist/lib/conformance/schemaLoader.js +122 -0
- package/dist/lib/conformance/schemaLoader.js.map +1 -0
- package/dist/lib/conformance/seeder.d.ts +51 -0
- package/dist/lib/conformance/seeder.d.ts.map +1 -0
- package/dist/lib/conformance/seeder.js +341 -0
- package/dist/lib/conformance/seeder.js.map +1 -0
- package/dist/lib/conformance/types.d.ts +201 -0
- package/dist/lib/conformance/types.d.ts.map +1 -0
- package/dist/lib/conformance/types.js +56 -0
- package/dist/lib/conformance/types.js.map +1 -0
- package/dist/lib/core/ADCPMultiAgentClient.d.ts +624 -0
- package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -0
- package/dist/lib/core/ADCPMultiAgentClient.js +908 -0
- package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -0
- package/dist/lib/core/AgentClient.d.ts +517 -0
- package/dist/lib/core/AgentClient.d.ts.map +1 -0
- package/dist/lib/core/AgentClient.js +784 -0
- package/dist/lib/core/AgentClient.js.map +1 -0
- package/dist/lib/core/AsyncHandler.d.ts +210 -0
- package/dist/lib/core/AsyncHandler.d.ts.map +1 -0
- package/dist/lib/core/AsyncHandler.js +182 -0
- package/dist/lib/core/AsyncHandler.js.map +1 -0
- package/dist/lib/core/ConfigurationManager.d.ts +79 -0
- package/dist/lib/core/ConfigurationManager.d.ts.map +1 -0
- package/dist/lib/core/ConfigurationManager.js +249 -0
- package/dist/lib/core/ConfigurationManager.js.map +1 -0
- package/dist/lib/core/ConversationTypes.d.ts +422 -0
- package/dist/lib/core/ConversationTypes.d.ts.map +1 -0
- package/dist/lib/core/ConversationTypes.js +5 -0
- package/dist/lib/core/ConversationTypes.js.map +1 -0
- package/dist/lib/core/CreativeAgentClient.d.ts +144 -0
- package/dist/lib/core/CreativeAgentClient.d.ts.map +1 -0
- package/dist/lib/core/CreativeAgentClient.js +169 -0
- package/dist/lib/core/CreativeAgentClient.js.map +1 -0
- package/dist/lib/core/GovernanceMiddleware.d.ts +93 -0
- package/dist/lib/core/GovernanceMiddleware.d.ts.map +1 -0
- package/dist/lib/core/GovernanceMiddleware.js +306 -0
- package/dist/lib/core/GovernanceMiddleware.js.map +1 -0
- package/dist/lib/core/GovernanceTypes.d.ts +116 -0
- package/dist/lib/core/GovernanceTypes.d.ts.map +1 -0
- package/dist/lib/core/GovernanceTypes.js +60 -0
- package/dist/lib/core/GovernanceTypes.js.map +1 -0
- package/dist/lib/core/ProtocolResponseParser.d.ts +80 -0
- package/dist/lib/core/ProtocolResponseParser.d.ts.map +1 -0
- package/dist/lib/core/ProtocolResponseParser.js +367 -0
- package/dist/lib/core/ProtocolResponseParser.js.map +1 -0
- package/dist/lib/core/ResponseValidator.d.ts +68 -0
- package/dist/lib/core/ResponseValidator.d.ts.map +1 -0
- package/dist/lib/core/ResponseValidator.js +283 -0
- package/dist/lib/core/ResponseValidator.js.map +1 -0
- package/dist/lib/core/SingleAgentClient.d.ts +1065 -0
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -0
- package/dist/lib/core/SingleAgentClient.js +2134 -0
- package/dist/lib/core/SingleAgentClient.js.map +1 -0
- package/dist/lib/core/TaskEventTypes.d.ts +220 -0
- package/dist/lib/core/TaskEventTypes.d.ts.map +1 -0
- package/dist/lib/core/TaskEventTypes.js +80 -0
- package/dist/lib/core/TaskEventTypes.js.map +1 -0
- package/dist/lib/core/TaskExecutor.d.ts +245 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -0
- package/dist/lib/core/TaskExecutor.js +1452 -0
- package/dist/lib/core/TaskExecutor.js.map +1 -0
- package/dist/lib/core/match.d.ts +84 -0
- package/dist/lib/core/match.d.ts.map +1 -0
- package/dist/lib/core/match.js +47 -0
- package/dist/lib/core/match.js.map +1 -0
- package/dist/lib/discovery/network-consistency-checker.d.ts +111 -0
- package/dist/lib/discovery/network-consistency-checker.d.ts.map +1 -0
- package/dist/lib/discovery/network-consistency-checker.js +541 -0
- package/dist/lib/discovery/network-consistency-checker.js.map +1 -0
- package/dist/lib/discovery/property-crawler.d.ts +91 -0
- package/dist/lib/discovery/property-crawler.d.ts.map +1 -0
- package/dist/lib/discovery/property-crawler.js +290 -0
- package/dist/lib/discovery/property-crawler.js.map +1 -0
- package/dist/lib/discovery/property-index.d.ts +68 -0
- package/dist/lib/discovery/property-index.d.ts.map +1 -0
- package/dist/lib/discovery/property-index.js +163 -0
- package/dist/lib/discovery/property-index.js.map +1 -0
- package/dist/lib/discovery/types.d.ts +42 -0
- package/dist/lib/discovery/types.d.ts.map +1 -0
- package/dist/lib/discovery/types.js +7 -0
- package/dist/lib/discovery/types.js.map +1 -0
- package/dist/lib/errors/index.d.ts +284 -0
- package/dist/lib/errors/index.d.ts.map +1 -0
- package/dist/lib/errors/index.js +446 -0
- package/dist/lib/errors/index.js.map +1 -0
- package/dist/lib/express-mcp/index.d.ts +62 -0
- package/dist/lib/express-mcp/index.d.ts.map +1 -0
- package/dist/lib/express-mcp/index.js +118 -0
- package/dist/lib/express-mcp/index.js.map +1 -0
- package/dist/lib/governance/index.d.ts +149 -0
- package/dist/lib/governance/index.d.ts.map +1 -0
- package/dist/lib/governance/index.js +171 -0
- package/dist/lib/governance/index.js.map +1 -0
- package/dist/lib/handlers/types.d.ts +119 -0
- package/dist/lib/handlers/types.d.ts.map +1 -0
- package/dist/lib/handlers/types.js +239 -0
- package/dist/lib/handlers/types.js.map +1 -0
- package/dist/lib/index.d.ts +118 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +689 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/net/address-guards.d.ts +34 -0
- package/dist/lib/net/address-guards.d.ts.map +1 -0
- package/dist/lib/net/address-guards.js +132 -0
- package/dist/lib/net/address-guards.js.map +1 -0
- package/dist/lib/net/index.d.ts +8 -0
- package/dist/lib/net/index.d.ts.map +1 -0
- package/dist/lib/net/index.js +17 -0
- package/dist/lib/net/index.js.map +1 -0
- package/dist/lib/net/ssrf-fetch.d.ts +56 -0
- package/dist/lib/net/ssrf-fetch.d.ts.map +1 -0
- package/dist/lib/net/ssrf-fetch.js +199 -0
- package/dist/lib/net/ssrf-fetch.js.map +1 -0
- package/dist/lib/observability/index.d.ts +8 -0
- package/dist/lib/observability/index.d.ts.map +1 -0
- package/dist/lib/observability/index.js +17 -0
- package/dist/lib/observability/index.js.map +1 -0
- package/dist/lib/observability/tracing.d.ts +42 -0
- package/dist/lib/observability/tracing.d.ts.map +1 -0
- package/dist/lib/observability/tracing.js +126 -0
- package/dist/lib/observability/tracing.js.map +1 -0
- package/dist/lib/protocols/a2a.d.ts +23 -0
- package/dist/lib/protocols/a2a.d.ts.map +1 -0
- package/dist/lib/protocols/a2a.js +268 -0
- package/dist/lib/protocols/a2a.js.map +1 -0
- package/dist/lib/protocols/index.d.ts +43 -0
- package/dist/lib/protocols/index.d.ts.map +1 -0
- package/dist/lib/protocols/index.js +264 -0
- package/dist/lib/protocols/index.js.map +1 -0
- package/dist/lib/protocols/mcp-tasks.d.ts +79 -0
- package/dist/lib/protocols/mcp-tasks.d.ts.map +1 -0
- package/dist/lib/protocols/mcp-tasks.js +407 -0
- package/dist/lib/protocols/mcp-tasks.js.map +1 -0
- package/dist/lib/protocols/mcp.d.ts +124 -0
- package/dist/lib/protocols/mcp.d.ts.map +1 -0
- package/dist/lib/protocols/mcp.js +564 -0
- package/dist/lib/protocols/mcp.js.map +1 -0
- package/dist/lib/protocols/rawResponseCapture.d.ts +44 -0
- package/dist/lib/protocols/rawResponseCapture.d.ts.map +1 -0
- package/dist/lib/protocols/rawResponseCapture.js +147 -0
- package/dist/lib/protocols/rawResponseCapture.js.map +1 -0
- package/dist/lib/registry/cursor-store.d.ts +19 -0
- package/dist/lib/registry/cursor-store.d.ts.map +1 -0
- package/dist/lib/registry/cursor-store.js +44 -0
- package/dist/lib/registry/cursor-store.js.map +1 -0
- package/dist/lib/registry/index.d.ts +278 -0
- package/dist/lib/registry/index.d.ts.map +1 -0
- package/dist/lib/registry/index.js +652 -0
- package/dist/lib/registry/index.js.map +1 -0
- package/dist/lib/registry/property-registry.d.ts +57 -0
- package/dist/lib/registry/property-registry.d.ts.map +1 -0
- package/dist/lib/registry/property-registry.js +92 -0
- package/dist/lib/registry/property-registry.js.map +1 -0
- package/dist/lib/registry/sync.d.ts +139 -0
- package/dist/lib/registry/sync.d.ts.map +1 -0
- package/dist/lib/registry/sync.js +390 -0
- package/dist/lib/registry/sync.js.map +1 -0
- package/dist/lib/registry/types.d.ts +112 -0
- package/dist/lib/registry/types.d.ts.map +1 -0
- package/dist/lib/registry/types.generated.d.ts +5680 -0
- package/dist/lib/registry/types.generated.d.ts.map +1 -0
- package/dist/lib/registry/types.generated.js +8 -0
- package/dist/lib/registry/types.generated.js.map +1 -0
- package/dist/lib/registry/types.js +9 -0
- package/dist/lib/registry/types.js.map +1 -0
- package/dist/lib/schemas/index.d.ts +76 -0
- package/dist/lib/schemas/index.d.ts.map +1 -0
- package/dist/lib/schemas/index.js +133 -0
- package/dist/lib/schemas/index.js.map +1 -0
- package/dist/lib/schemas-data/3.0.1/a2ui/bound-value.json +81 -0
- package/dist/lib/schemas-data/3.0.1/a2ui/component.json +32 -0
- package/dist/lib/schemas-data/3.0.1/a2ui/si-catalog.json +427 -0
- package/dist/lib/schemas-data/3.0.1/a2ui/surface.json +39 -0
- package/dist/lib/schemas-data/3.0.1/a2ui/user-action.json +47 -0
- package/dist/lib/schemas-data/3.0.1/account/get-account-financials-request.json +70 -0
- package/dist/lib/schemas-data/3.0.1/account/get-account-financials-response.json +320 -0
- package/dist/lib/schemas-data/3.0.1/account/list-accounts-request.json +42 -0
- package/dist/lib/schemas-data/3.0.1/account/list-accounts-response.json +108 -0
- package/dist/lib/schemas-data/3.0.1/account/report-usage-request.json +168 -0
- package/dist/lib/schemas-data/3.0.1/account/report-usage-response.json +56 -0
- package/dist/lib/schemas-data/3.0.1/account/sync-accounts-request.json +201 -0
- package/dist/lib/schemas-data/3.0.1/account/sync-accounts-response.json +346 -0
- package/dist/lib/schemas-data/3.0.1/account/sync-governance-request.json +170 -0
- package/dist/lib/schemas-data/3.0.1/account/sync-governance-response.json +193 -0
- package/dist/lib/schemas-data/3.0.1/adagents.json +1225 -0
- package/dist/lib/schemas-data/3.0.1/brand/acquire-rights-request.json +114 -0
- package/dist/lib/schemas-data/3.0.1/brand/acquire-rights-response.json +220 -0
- package/dist/lib/schemas-data/3.0.1/brand/creative-approval-request.json +63 -0
- package/dist/lib/schemas-data/3.0.1/brand/creative-approval-response.json +189 -0
- package/dist/lib/schemas-data/3.0.1/brand/get-brand-identity-request.json +56 -0
- package/dist/lib/schemas-data/3.0.1/brand/get-brand-identity-response.json +585 -0
- package/dist/lib/schemas-data/3.0.1/brand/get-rights-request.json +70 -0
- package/dist/lib/schemas-data/3.0.1/brand/get-rights-response.json +220 -0
- package/dist/lib/schemas-data/3.0.1/brand/revocation-notification.json +57 -0
- package/dist/lib/schemas-data/3.0.1/brand/rights-pricing-option.json +65 -0
- package/dist/lib/schemas-data/3.0.1/brand/rights-terms.json +70 -0
- package/dist/lib/schemas-data/3.0.1/brand/update-rights-request.json +63 -0
- package/dist/lib/schemas-data/3.0.1/brand/update-rights-response.json +99 -0
- package/dist/lib/schemas-data/3.0.1/brand.json +2582 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/calibrate-content-request.json +1712 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/calibrate-content-response.json +180 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/create-content-standards-request.json +3622 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/create-content-standards-response.json +116 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-content-standards-request.json +38 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-content-standards-response.json +3851 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-media-buy-artifacts-request.json +234 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-media-buy-artifacts-response.json +1880 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/list-content-standards-request.json +121 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/list-content-standards-response.json +3880 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/update-content-standards-request.json +3611 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/update-content-standards-response.json +131 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/validate-content-delivery-request.json +1766 -0
- package/dist/lib/schemas-data/3.0.1/bundled/content-standards/validate-content-delivery-response.json +208 -0
- package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-get-request.json +60 -0
- package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-get-response.json +264 -0
- package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-list-request.json +318 -0
- package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-list-response.json +258 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-delivery-request.json +245 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-delivery-response.json +5967 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-features-request.json +5091 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-features-response.json +230 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creative-formats-request.json +485 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creative-formats-response.json +4076 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creatives-request.json +687 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creatives-response.json +5977 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/preview-creative-request.json +9624 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/preview-creative-response.json +5931 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/sync-creatives-request.json +5268 -0
- package/dist/lib/schemas-data/3.0.1/bundled/creative/sync-creatives-response.json +1146 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/build-creative-request.json +5369 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/build-creative-response.json +10286 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/create-media-buy-request.json +7893 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/create-media-buy-response.json +4170 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buy-delivery-request.json +494 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buy-delivery-response.json +4256 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buys-request.json +261 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buys-response.json +2357 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-products-request.json +2046 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-products-response.json +6809 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/list-creative-formats-request.json +311 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/list-creative-formats-response.json +4080 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/log-event-request.json +394 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/log-event-response.json +193 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/package-request.json +6923 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/provide-performance-feedback-request.json +119 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/provide-performance-feedback-response.json +142 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-audiences-request.json +454 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-audiences-response.json +335 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-catalogs-request.json +836 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-catalogs-response.json +344 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-event-sources-request.json +299 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-event-sources-response.json +461 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/update-media-buy-request.json +13548 -0
- package/dist/lib/schemas-data/3.0.1/bundled/media-buy/update-media-buy-response.json +2799 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/create-property-list-request.json +661 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/create-property-list-response.json +928 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/delete-property-list-request.json +198 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/delete-property-list-response.json +44 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/get-property-list-request.json +212 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/get-property-list-response.json +1001 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/list-property-lists-request.json +204 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/list-property-lists-response.json +946 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/update-property-list-request.json +670 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/update-property-list-response.json +923 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/validate-property-delivery-request.json +308 -0
- package/dist/lib/schemas-data/3.0.1/bundled/property/validate-property-delivery-response.json +418 -0
- package/dist/lib/schemas-data/3.0.1/bundled/protocol/get-adcp-capabilities-request.json +47 -0
- package/dist/lib/schemas-data/3.0.1/bundled/protocol/get-adcp-capabilities-response.json +1729 -0
- package/dist/lib/schemas-data/3.0.1/bundled/signals/activate-signal-request.json +269 -0
- package/dist/lib/schemas-data/3.0.1/bundled/signals/activate-signal-response.json +320 -0
- package/dist/lib/schemas-data/3.0.1/bundled/signals/get-signals-request.json +409 -0
- package/dist/lib/schemas-data/3.0.1/bundled/signals/get-signals-response.json +689 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-get-offering-request.json +57 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-get-offering-response.json +207 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-initiate-session-request.json +322 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-initiate-session-response.json +618 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-send-message-request.json +81 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-send-message-response.json +589 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-terminate-session-request.json +87 -0
- package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-terminate-session-response.json +156 -0
- package/dist/lib/schemas-data/3.0.1/collection/base-collection-source.json +118 -0
- package/dist/lib/schemas-data/3.0.1/collection/collection-list-changed-webhook.json +74 -0
- package/dist/lib/schemas-data/3.0.1/collection/collection-list-filters.json +85 -0
- package/dist/lib/schemas-data/3.0.1/collection/collection-list.json +71 -0
- package/dist/lib/schemas-data/3.0.1/collection/create-collection-list-request.json +62 -0
- package/dist/lib/schemas-data/3.0.1/collection/create-collection-list-response.json +33 -0
- package/dist/lib/schemas-data/3.0.1/collection/delete-collection-list-request.json +43 -0
- package/dist/lib/schemas-data/3.0.1/collection/delete-collection-list-response.json +34 -0
- package/dist/lib/schemas-data/3.0.1/collection/get-collection-list-request.json +57 -0
- package/dist/lib/schemas-data/3.0.1/collection/get-collection-list-response.json +122 -0
- package/dist/lib/schemas-data/3.0.1/collection/list-collection-lists-request.json +33 -0
- package/dist/lib/schemas-data/3.0.1/collection/list-collection-lists-response.json +29 -0
- package/dist/lib/schemas-data/3.0.1/collection/update-collection-list-request.json +71 -0
- package/dist/lib/schemas-data/3.0.1/collection/update-collection-list-response.json +28 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/artifact-webhook-payload.json +88 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/artifact.json +407 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/calibrate-content-request.json +42 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/calibrate-content-response.json +93 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/content-standards.json +83 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/create-content-standards-request.json +177 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/create-content-standards-response.json +53 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/get-content-standards-request.json +28 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/get-content-standards-response.json +47 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/get-media-buy-artifacts-request.json +79 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/get-media-buy-artifacts-response.json +136 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/list-content-standards-request.json +49 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/list-content-standards-response.json +55 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/update-content-standards-request.json +166 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/update-content-standards-response.json +68 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/validate-content-delivery-request.json +96 -0
- package/dist/lib/schemas-data/3.0.1/content-standards/validate-content-delivery-response.json +121 -0
- package/dist/lib/schemas-data/3.0.1/core/account-ref.json +71 -0
- package/dist/lib/schemas-data/3.0.1/core/account.json +344 -0
- package/dist/lib/schemas-data/3.0.1/core/activation-key.json +50 -0
- package/dist/lib/schemas-data/3.0.1/core/ad-inventory-config.json +39 -0
- package/dist/lib/schemas-data/3.0.1/core/agent-encryption-key.json +41 -0
- package/dist/lib/schemas-data/3.0.1/core/agent-signing-key.json +55 -0
- package/dist/lib/schemas-data/3.0.1/core/app-item.json +170 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/audio-asset.json +82 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/brief-asset.json +22 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/catalog-asset.json +22 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/css-asset.json +31 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/daast-asset.json +88 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/html-asset.json +54 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/image-asset.json +49 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/javascript-asset.json +54 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/markdown-asset.json +37 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/text-asset.json +31 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/url-asset.json +36 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/vast-asset.json +94 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/video-asset.json +179 -0
- package/dist/lib/schemas-data/3.0.1/core/assets/webhook-asset.json +97 -0
- package/dist/lib/schemas-data/3.0.1/core/async-response-data.json +128 -0
- package/dist/lib/schemas-data/3.0.1/core/attribution-window.json +33 -0
- package/dist/lib/schemas-data/3.0.1/core/audience-member.json +70 -0
- package/dist/lib/schemas-data/3.0.1/core/audience-selector.json +134 -0
- package/dist/lib/schemas-data/3.0.1/core/brand-id.json +16 -0
- package/dist/lib/schemas-data/3.0.1/core/brand-ref.json +76 -0
- package/dist/lib/schemas-data/3.0.1/core/business-entity.json +207 -0
- package/dist/lib/schemas-data/3.0.1/core/cancellation-policy.json +49 -0
- package/dist/lib/schemas-data/3.0.1/core/catalog-field-mapping.json +144 -0
- package/dist/lib/schemas-data/3.0.1/core/catalog.json +222 -0
- package/dist/lib/schemas-data/3.0.1/core/catchment.json +221 -0
- package/dist/lib/schemas-data/3.0.1/core/collection-distribution.json +41 -0
- package/dist/lib/schemas-data/3.0.1/core/collection-list-ref.json +29 -0
- package/dist/lib/schemas-data/3.0.1/core/collection-selector.json +27 -0
- package/dist/lib/schemas-data/3.0.1/core/collection.json +116 -0
- package/dist/lib/schemas-data/3.0.1/core/content-rating.json +22 -0
- package/dist/lib/schemas-data/3.0.1/core/context.json +8 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-asset.json +150 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-assignment.json +32 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-brief.json +136 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-consumption.json +30 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-filters.json +119 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-item.json +79 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-manifest.json +96 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-policy.json +31 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-variable.json +47 -0
- package/dist/lib/schemas-data/3.0.1/core/creative-variant.json +60 -0
- package/dist/lib/schemas-data/3.0.1/core/data-provider-signal-selector.json +94 -0
- package/dist/lib/schemas-data/3.0.1/core/date-range.json +24 -0
- package/dist/lib/schemas-data/3.0.1/core/datetime-range.json +24 -0
- package/dist/lib/schemas-data/3.0.1/core/daypart-target.json +39 -0
- package/dist/lib/schemas-data/3.0.1/core/deadline-policy.json +58 -0
- package/dist/lib/schemas-data/3.0.1/core/delivery-forecast.json +86 -0
- package/dist/lib/schemas-data/3.0.1/core/delivery-metrics.json +327 -0
- package/dist/lib/schemas-data/3.0.1/core/deployment.json +93 -0
- package/dist/lib/schemas-data/3.0.1/core/destination-item.json +168 -0
- package/dist/lib/schemas-data/3.0.1/core/destination.json +53 -0
- package/dist/lib/schemas-data/3.0.1/core/diagnostic-issue.json +27 -0
- package/dist/lib/schemas-data/3.0.1/core/duration.json +30 -0
- package/dist/lib/schemas-data/3.0.1/core/education-item.json +168 -0
- package/dist/lib/schemas-data/3.0.1/core/error.json +52 -0
- package/dist/lib/schemas-data/3.0.1/core/event-custom-data.json +86 -0
- package/dist/lib/schemas-data/3.0.1/core/event-source-health.json +70 -0
- package/dist/lib/schemas-data/3.0.1/core/event.json +54 -0
- package/dist/lib/schemas-data/3.0.1/core/ext.json +8 -0
- package/dist/lib/schemas-data/3.0.1/core/feature-requirement.json +45 -0
- package/dist/lib/schemas-data/3.0.1/core/flight-item.json +159 -0
- package/dist/lib/schemas-data/3.0.1/core/forecast-point.json +85 -0
- package/dist/lib/schemas-data/3.0.1/core/forecast-range.json +38 -0
- package/dist/lib/schemas-data/3.0.1/core/format-id.json +48 -0
- package/dist/lib/schemas-data/3.0.1/core/format.json +904 -0
- package/dist/lib/schemas-data/3.0.1/core/frequency-cap.json +73 -0
- package/dist/lib/schemas-data/3.0.1/core/generation-credential.json +44 -0
- package/dist/lib/schemas-data/3.0.1/core/geo-breakdown-support.json +38 -0
- package/dist/lib/schemas-data/3.0.1/core/hotel-item.json +214 -0
- package/dist/lib/schemas-data/3.0.1/core/identifier.json +22 -0
- package/dist/lib/schemas-data/3.0.1/core/industry-identifier.json +22 -0
- package/dist/lib/schemas-data/3.0.1/core/insertion-order.json +91 -0
- package/dist/lib/schemas-data/3.0.1/core/installment-deadlines.json +29 -0
- package/dist/lib/schemas-data/3.0.1/core/installment.json +108 -0
- package/dist/lib/schemas-data/3.0.1/core/job-item.json +199 -0
- package/dist/lib/schemas-data/3.0.1/core/limited-series.json +28 -0
- package/dist/lib/schemas-data/3.0.1/core/material-deadline.json +31 -0
- package/dist/lib/schemas-data/3.0.1/core/mcp-webhook-payload.json +163 -0
- package/dist/lib/schemas-data/3.0.1/core/measurement-readiness.json +43 -0
- package/dist/lib/schemas-data/3.0.1/core/measurement-terms.json +63 -0
- package/dist/lib/schemas-data/3.0.1/core/measurement-window.json +54 -0
- package/dist/lib/schemas-data/3.0.1/core/media-buy-features.json +24 -0
- package/dist/lib/schemas-data/3.0.1/core/media-buy.json +101 -0
- package/dist/lib/schemas-data/3.0.1/core/offering-asset-group.json +118 -0
- package/dist/lib/schemas-data/3.0.1/core/offering.json +267 -0
- package/dist/lib/schemas-data/3.0.1/core/optimization-goal.json +285 -0
- package/dist/lib/schemas-data/3.0.1/core/outcome-measurement.json +48 -0
- package/dist/lib/schemas-data/3.0.1/core/overlay.json +89 -0
- package/dist/lib/schemas-data/3.0.1/core/package.json +170 -0
- package/dist/lib/schemas-data/3.0.1/core/pagination-request.json +21 -0
- package/dist/lib/schemas-data/3.0.1/core/pagination-response.json +26 -0
- package/dist/lib/schemas-data/3.0.1/core/performance-feedback.json +90 -0
- package/dist/lib/schemas-data/3.0.1/core/performance-standard.json +33 -0
- package/dist/lib/schemas-data/3.0.1/core/placement-definition.json +81 -0
- package/dist/lib/schemas-data/3.0.1/core/placement.json +42 -0
- package/dist/lib/schemas-data/3.0.1/core/planned-delivery.json +84 -0
- package/dist/lib/schemas-data/3.0.1/core/price.json +59 -0
- package/dist/lib/schemas-data/3.0.1/core/pricing-option.json +35 -0
- package/dist/lib/schemas-data/3.0.1/core/product-allocation.json +69 -0
- package/dist/lib/schemas-data/3.0.1/core/product-filters.json +435 -0
- package/dist/lib/schemas-data/3.0.1/core/product.json +493 -0
- package/dist/lib/schemas-data/3.0.1/core/property-id.json +15 -0
- package/dist/lib/schemas-data/3.0.1/core/property-list-ref.json +29 -0
- package/dist/lib/schemas-data/3.0.1/core/property-tag.json +16 -0
- package/dist/lib/schemas-data/3.0.1/core/property.json +70 -0
- package/dist/lib/schemas-data/3.0.1/core/proposal.json +89 -0
- package/dist/lib/schemas-data/3.0.1/core/protocol-envelope.json +186 -0
- package/dist/lib/schemas-data/3.0.1/core/provenance.json +234 -0
- package/dist/lib/schemas-data/3.0.1/core/publisher-property-selector.json +92 -0
- package/dist/lib/schemas-data/3.0.1/core/push-notification-config.json +47 -0
- package/dist/lib/schemas-data/3.0.1/core/real-estate-item.json +241 -0
- package/dist/lib/schemas-data/3.0.1/core/reference-asset.json +36 -0
- package/dist/lib/schemas-data/3.0.1/core/reporting-capabilities.json +118 -0
- package/dist/lib/schemas-data/3.0.1/core/reporting-webhook.json +67 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/asset-requirements.json +44 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/audio-asset-requirements.json +68 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/catalog-field-binding.json +172 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/catalog-requirements.json +68 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/css-asset-requirements.json +15 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/daast-asset-requirements.json +17 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/html-asset-requirements.json +38 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/image-asset-requirements.json +151 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/javascript-asset-requirements.json +40 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/markdown-asset-requirements.json +15 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/offering-asset-constraint.json +66 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/text-asset-requirements.json +41 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/url-asset-requirements.json +50 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/vast-asset-requirements.json +21 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/video-asset-requirements.json +172 -0
- package/dist/lib/schemas-data/3.0.1/core/requirements/webhook-asset-requirements.json +21 -0
- package/dist/lib/schemas-data/3.0.1/core/response.json +24 -0
- package/dist/lib/schemas-data/3.0.1/core/rights-constraint.json +98 -0
- package/dist/lib/schemas-data/3.0.1/core/seller-agent-ref.json +30 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-definition.json +89 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-filters.json +43 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-id.json +66 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-pricing-option.json +7 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-pricing.json +194 -0
- package/dist/lib/schemas-data/3.0.1/core/signal-targeting.json +93 -0
- package/dist/lib/schemas-data/3.0.1/core/special.json +31 -0
- package/dist/lib/schemas-data/3.0.1/core/start-timing.json +18 -0
- package/dist/lib/schemas-data/3.0.1/core/store-item.json +259 -0
- package/dist/lib/schemas-data/3.0.1/core/talent.json +27 -0
- package/dist/lib/schemas-data/3.0.1/core/targeting.json +510 -0
- package/dist/lib/schemas-data/3.0.1/core/tasks-get-request.json +50 -0
- package/dist/lib/schemas-data/3.0.1/core/tasks-get-response.json +159 -0
- package/dist/lib/schemas-data/3.0.1/core/tasks-list-request.json +185 -0
- package/dist/lib/schemas-data/3.0.1/core/tasks-list-response.json +153 -0
- package/dist/lib/schemas-data/3.0.1/core/user-match.json +90 -0
- package/dist/lib/schemas-data/3.0.1/core/vehicle-item.json +231 -0
- package/dist/lib/schemas-data/3.0.1/core/vendor-pricing-option.json +24 -0
- package/dist/lib/schemas-data/3.0.1/core/x-entity-types.json +69 -0
- package/dist/lib/schemas-data/3.0.1/creative/asset-types/index.json +118 -0
- package/dist/lib/schemas-data/3.0.1/creative/creative-feature-result.json +69 -0
- package/dist/lib/schemas-data/3.0.1/creative/get-creative-delivery-request.json +75 -0
- package/dist/lib/schemas-data/3.0.1/creative/get-creative-delivery-response.json +143 -0
- package/dist/lib/schemas-data/3.0.1/creative/get-creative-features-request.json +41 -0
- package/dist/lib/schemas-data/3.0.1/creative/get-creative-features-response.json +76 -0
- package/dist/lib/schemas-data/3.0.1/creative/list-creative-formats-request.json +150 -0
- package/dist/lib/schemas-data/3.0.1/creative/list-creative-formats-response.json +64 -0
- package/dist/lib/schemas-data/3.0.1/creative/list-creatives-request.json +184 -0
- package/dist/lib/schemas-data/3.0.1/creative/list-creatives-response.json +445 -0
- package/dist/lib/schemas-data/3.0.1/creative/preview-creative-request.json +212 -0
- package/dist/lib/schemas-data/3.0.1/creative/preview-creative-response.json +307 -0
- package/dist/lib/schemas-data/3.0.1/creative/preview-render.json +225 -0
- package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-async-response-input-required.json +25 -0
- package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-async-response-working.json +46 -0
- package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-request.json +242 -0
- package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-response.json +270 -0
- package/dist/lib/schemas-data/3.0.1/enums/account-scope.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/account-status.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/action-source.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/adcp-protocol.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/adjustment-kind.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/advertiser-industry.json +175 -0
- package/dist/lib/schemas-data/3.0.1/enums/age-verification-method.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/assessment-status.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/asset-content-type.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/attribution-model.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/audience-source.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/audience-status.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/audio-channel-layout.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/auth-scheme.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/available-metric.json +31 -0
- package/dist/lib/schemas-data/3.0.1/enums/billing-party.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/binary-verdict.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/brand-agent-type.json +27 -0
- package/dist/lib/schemas-data/3.0.1/enums/canceled-by.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/catalog-action.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/catalog-item-status.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/catalog-type.json +22 -0
- package/dist/lib/schemas-data/3.0.1/enums/channels.json +51 -0
- package/dist/lib/schemas-data/3.0.1/enums/cloud-storage-protocol.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/co-branding-requirement.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/collection-cadence.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/collection-kind.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/collection-relationship.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/collection-status.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/consent-basis.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/content-id-type.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/content-rating-system.json +33 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-action.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-agent-capability.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-approval-status.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-identifier-type.json +22 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-quality.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-sort-field.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/creative-status.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/daast-tracking-event.json +32 -0
- package/dist/lib/schemas-data/3.0.1/enums/daast-version.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/day-of-week.json +16 -0
- package/dist/lib/schemas-data/3.0.1/enums/delegation-authority.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/delivery-type.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/demographic-system.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/derivative-type.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/device-platform.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/device-type.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/digital-source-type.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/dimension-unit.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/disclosure-persistence.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/disclosure-position.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/distance-unit.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/distribution-identifier-type.json +53 -0
- package/dist/lib/schemas-data/3.0.1/enums/error-code.json +101 -0
- package/dist/lib/schemas-data/3.0.1/enums/escalation-severity.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/event-type.json +67 -0
- package/dist/lib/schemas-data/3.0.1/enums/exclusivity.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/feature-check-status.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/feed-format.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/feedback-source.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/forecast-method.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/forecast-range-unit.json +27 -0
- package/dist/lib/schemas-data/3.0.1/enums/forecastable-metric.json +43 -0
- package/dist/lib/schemas-data/3.0.1/enums/format-id-parameter.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/frame-rate-type.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/frequency-cap-scope.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/genre-taxonomy.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/geo-level.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/gop-type.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/governance-decision.json +18 -0
- package/dist/lib/schemas-data/3.0.1/enums/governance-domain.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/governance-mode.json +18 -0
- package/dist/lib/schemas-data/3.0.1/enums/governance-phase.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/history-entry-type.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/http-method.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/identifier-types.json +61 -0
- package/dist/lib/schemas-data/3.0.1/enums/installment-status.json +25 -0
- package/dist/lib/schemas-data/3.0.1/enums/javascript-module-type.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/landing-page-requirement.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/makegood-remedy.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/markdown-flavor.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/match-id-type.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/match-type.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/media-buy-status.json +25 -0
- package/dist/lib/schemas-data/3.0.1/enums/media-buy-valid-action.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/metric-type.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/metro-system.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/moov-atom-position.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/notification-type.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/outcome-type.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/pacing.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/payment-terms.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/performance-standard-metric.json +21 -0
- package/dist/lib/schemas-data/3.0.1/enums/policy-category.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/policy-enforcement.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/postal-system.json +20 -0
- package/dist/lib/schemas-data/3.0.1/enums/preview-output-format.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/pricing-model.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/production-quality.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/property-type.json +31 -0
- package/dist/lib/schemas-data/3.0.1/enums/proposal-status.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/publisher-identifier-types.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/purchase-type.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/reach-unit.json +23 -0
- package/dist/lib/schemas-data/3.0.1/enums/reporting-frequency.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/response-type.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/restricted-attribute.json +31 -0
- package/dist/lib/schemas-data/3.0.1/enums/right-type.json +22 -0
- package/dist/lib/schemas-data/3.0.1/enums/right-use.json +36 -0
- package/dist/lib/schemas-data/3.0.1/enums/rights-billing-period.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/scan-type.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/si-session-status.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/signal-catalog-type.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/signal-source.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/signal-value-type.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/snapshot-unavailable-reason.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/sort-direction.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/sort-metric.json +31 -0
- package/dist/lib/schemas-data/3.0.1/enums/special-category.json +35 -0
- package/dist/lib/schemas-data/3.0.1/enums/specialism.json +55 -0
- package/dist/lib/schemas-data/3.0.1/enums/talent-role.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/task-status.json +29 -0
- package/dist/lib/schemas-data/3.0.1/enums/task-type.json +57 -0
- package/dist/lib/schemas-data/3.0.1/enums/transport-mode.json +19 -0
- package/dist/lib/schemas-data/3.0.1/enums/travel-time-unit.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/uid-type.json +31 -0
- package/dist/lib/schemas-data/3.0.1/enums/universal-macro.json +149 -0
- package/dist/lib/schemas-data/3.0.1/enums/update-frequency.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/url-asset-type.json +12 -0
- package/dist/lib/schemas-data/3.0.1/enums/validation-mode.json +11 -0
- package/dist/lib/schemas-data/3.0.1/enums/vast-tracking-event.json +41 -0
- package/dist/lib/schemas-data/3.0.1/enums/vast-version.json +14 -0
- package/dist/lib/schemas-data/3.0.1/enums/viewability-standard.json +15 -0
- package/dist/lib/schemas-data/3.0.1/enums/wcag-level.json +17 -0
- package/dist/lib/schemas-data/3.0.1/enums/webhook-response-type.json +13 -0
- package/dist/lib/schemas-data/3.0.1/enums/webhook-security-method.json +12 -0
- package/dist/lib/schemas-data/3.0.1/error-details/account-setup-required.json +22 -0
- package/dist/lib/schemas-data/3.0.1/error-details/audience-too-small.json +18 -0
- package/dist/lib/schemas-data/3.0.1/error-details/budget-too-low.json +18 -0
- package/dist/lib/schemas-data/3.0.1/error-details/conflict.json +28 -0
- package/dist/lib/schemas-data/3.0.1/error-details/creative-rejected.json +27 -0
- package/dist/lib/schemas-data/3.0.1/error-details/policy-violation.json +27 -0
- package/dist/lib/schemas-data/3.0.1/error-details/rate-limited.json +31 -0
- package/dist/lib/schemas-data/3.0.1/error-details/vendor-error-codes.json +55 -0
- package/dist/lib/schemas-data/3.0.1/extensions/extension-meta.json +69 -0
- package/dist/lib/schemas-data/3.0.1/extensions/index.json +9 -0
- package/dist/lib/schemas-data/3.0.1/governance/attribute-definition.json +82 -0
- package/dist/lib/schemas-data/3.0.1/governance/audience-constraints.json +27 -0
- package/dist/lib/schemas-data/3.0.1/governance/check-governance-request.json +198 -0
- package/dist/lib/schemas-data/3.0.1/governance/check-governance-response.json +217 -0
- package/dist/lib/schemas-data/3.0.1/governance/get-plan-audit-logs-request.json +79 -0
- package/dist/lib/schemas-data/3.0.1/governance/get-plan-audit-logs-response.json +423 -0
- package/dist/lib/schemas-data/3.0.1/governance/policy-category-definition.json +95 -0
- package/dist/lib/schemas-data/3.0.1/governance/policy-entry.json +165 -0
- package/dist/lib/schemas-data/3.0.1/governance/policy-ref.json +27 -0
- package/dist/lib/schemas-data/3.0.1/governance/report-plan-outcome-request.json +165 -0
- package/dist/lib/schemas-data/3.0.1/governance/report-plan-outcome-response.json +89 -0
- package/dist/lib/schemas-data/3.0.1/governance/sync-plans-request.json +449 -0
- package/dist/lib/schemas-data/3.0.1/governance/sync-plans-response.json +119 -0
- package/dist/lib/schemas-data/3.0.1/index.json +1678 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-async-response-input-required.json +32 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-async-response-working.json +36 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-request.json +138 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-response.json +293 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-async-response-input-required.json +31 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-async-response-working.json +36 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-request.json +221 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-response.json +194 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buy-delivery-request.json +205 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buy-delivery-response.json +704 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buys-request.json +66 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buys-response.json +394 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-products-async-response-input-required.json +38 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-products-async-response-submitted.json +21 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-products-async-response-working.json +34 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-products-request.json +229 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/get-products-response.json +195 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/list-creative-formats-request.json +103 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/list-creative-formats-response.json +68 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/log-event-request.json +53 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/log-event-response.json +130 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/package-request.json +133 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/package-update.json +202 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/provide-performance-feedback-request.json +73 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/provide-performance-feedback-response.json +79 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-audiences-request.json +127 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-audiences-response.json +191 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-async-response-input-required.json +26 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-async-response-working.json +56 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-request.json +162 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-response.json +213 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-event-sources-request.json +82 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/sync-event-sources-response.json +167 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-async-response-input-required.json +24 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-async-response-working.json +36 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-request.json +99 -0
- package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-response.json +119 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpa-option.json +75 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpc-option.json +71 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpcv-option.json +71 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpm-option.json +71 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpp-option.json +90 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/cpv-option.json +107 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/flat-rate-option.json +116 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/price-breakdown.json +88 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/price-guidance.json +30 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/time-option.json +97 -0
- package/dist/lib/schemas-data/3.0.1/pricing-options/vcpm-option.json +71 -0
- package/dist/lib/schemas-data/3.0.1/property/authorization-result.json +50 -0
- package/dist/lib/schemas-data/3.0.1/property/base-property-source.json +98 -0
- package/dist/lib/schemas-data/3.0.1/property/create-property-list-request.json +62 -0
- package/dist/lib/schemas-data/3.0.1/property/create-property-list-response.json +33 -0
- package/dist/lib/schemas-data/3.0.1/property/delete-property-list-request.json +43 -0
- package/dist/lib/schemas-data/3.0.1/property/delete-property-list-response.json +34 -0
- package/dist/lib/schemas-data/3.0.1/property/delivery-record.json +35 -0
- package/dist/lib/schemas-data/3.0.1/property/get-property-list-request.json +57 -0
- package/dist/lib/schemas-data/3.0.1/property/get-property-list-response.json +53 -0
- package/dist/lib/schemas-data/3.0.1/property/list-property-lists-request.json +33 -0
- package/dist/lib/schemas-data/3.0.1/property/list-property-lists-response.json +29 -0
- package/dist/lib/schemas-data/3.0.1/property/property-error.json +34 -0
- package/dist/lib/schemas-data/3.0.1/property/property-feature-definition.json +96 -0
- package/dist/lib/schemas-data/3.0.1/property/property-feature-result.json +50 -0
- package/dist/lib/schemas-data/3.0.1/property/property-feature-value.json +59 -0
- package/dist/lib/schemas-data/3.0.1/property/property-feature.json +26 -0
- package/dist/lib/schemas-data/3.0.1/property/property-list-changed-webhook.json +74 -0
- package/dist/lib/schemas-data/3.0.1/property/property-list-filters.json +51 -0
- package/dist/lib/schemas-data/3.0.1/property/property-list.json +79 -0
- package/dist/lib/schemas-data/3.0.1/property/update-property-list-request.json +71 -0
- package/dist/lib/schemas-data/3.0.1/property/update-property-list-response.json +28 -0
- package/dist/lib/schemas-data/3.0.1/property/validate-property-delivery-request.json +49 -0
- package/dist/lib/schemas-data/3.0.1/property/validate-property-delivery-response.json +180 -0
- package/dist/lib/schemas-data/3.0.1/property/validation-result.json +101 -0
- package/dist/lib/schemas-data/3.0.1/protocol/get-adcp-capabilities-request.json +37 -0
- package/dist/lib/schemas-data/3.0.1/protocol/get-adcp-capabilities-response.json +1108 -0
- package/dist/lib/schemas-data/3.0.1/signals/activate-signal-request.json +66 -0
- package/dist/lib/schemas-data/3.0.1/signals/activate-signal-response.json +81 -0
- package/dist/lib/schemas-data/3.0.1/signals/get-signals-request.json +80 -0
- package/dist/lib/schemas-data/3.0.1/signals/get-signals-response.json +130 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-capabilities.json +154 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-get-offering-request.json +47 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-get-offering-response.json +150 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-identity.json +104 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-initiate-session-request.json +65 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-initiate-session-response.json +64 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-send-message-request.json +71 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-send-message-response.json +123 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-terminate-session-request.json +77 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-terminate-session-response.json +86 -0
- package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-ui-element.json +341 -0
- package/dist/lib/server/a2a-adapter.d.ts +234 -0
- package/dist/lib/server/a2a-adapter.d.ts.map +1 -0
- package/dist/lib/server/a2a-adapter.js +503 -0
- package/dist/lib/server/a2a-adapter.js.map +1 -0
- package/dist/lib/server/adcp-server.d.ts +265 -0
- package/dist/lib/server/adcp-server.d.ts.map +1 -0
- package/dist/lib/server/adcp-server.js +187 -0
- package/dist/lib/server/adcp-server.js.map +1 -0
- package/dist/lib/server/auth-introspection.d.ts +83 -0
- package/dist/lib/server/auth-introspection.d.ts.map +1 -0
- package/dist/lib/server/auth-introspection.js +297 -0
- package/dist/lib/server/auth-introspection.js.map +1 -0
- package/dist/lib/server/auth-signature.d.ts +322 -0
- package/dist/lib/server/auth-signature.d.ts.map +1 -0
- package/dist/lib/server/auth-signature.js +310 -0
- package/dist/lib/server/auth-signature.js.map +1 -0
- package/dist/lib/server/auth.d.ts +303 -0
- package/dist/lib/server/auth.d.ts.map +1 -0
- package/dist/lib/server/auth.js +387 -0
- package/dist/lib/server/auth.js.map +1 -0
- package/dist/lib/server/create-adcp-server.d.ts +968 -0
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -0
- package/dist/lib/server/create-adcp-server.js +1831 -0
- package/dist/lib/server/create-adcp-server.js.map +1 -0
- package/dist/lib/server/envelope-allowlist.d.ts +109 -0
- package/dist/lib/server/envelope-allowlist.d.ts.map +1 -0
- package/dist/lib/server/envelope-allowlist.js +155 -0
- package/dist/lib/server/envelope-allowlist.js.map +1 -0
- package/dist/lib/server/errors.d.ts +129 -0
- package/dist/lib/server/errors.d.ts.map +1 -0
- package/dist/lib/server/errors.js +85 -0
- package/dist/lib/server/errors.js.map +1 -0
- package/dist/lib/server/express-adapter.d.ts +169 -0
- package/dist/lib/server/express-adapter.d.ts.map +1 -0
- package/dist/lib/server/express-adapter.js +271 -0
- package/dist/lib/server/express-adapter.js.map +1 -0
- package/dist/lib/server/governance.d.ts +122 -0
- package/dist/lib/server/governance.d.ts.map +1 -0
- package/dist/lib/server/governance.js +189 -0
- package/dist/lib/server/governance.js.map +1 -0
- package/dist/lib/server/idempotency/backends/memory.d.ts +22 -0
- package/dist/lib/server/idempotency/backends/memory.d.ts.map +1 -0
- package/dist/lib/server/idempotency/backends/memory.js +78 -0
- package/dist/lib/server/idempotency/backends/memory.js.map +1 -0
- package/dist/lib/server/idempotency/backends/pg.d.ts +76 -0
- package/dist/lib/server/idempotency/backends/pg.d.ts.map +1 -0
- package/dist/lib/server/idempotency/backends/pg.js +163 -0
- package/dist/lib/server/idempotency/backends/pg.js.map +1 -0
- package/dist/lib/server/idempotency/index.d.ts +7 -0
- package/dist/lib/server/idempotency/index.d.ts.map +1 -0
- package/dist/lib/server/idempotency/index.js +15 -0
- package/dist/lib/server/idempotency/index.js.map +1 -0
- package/dist/lib/server/idempotency/store.d.ts +302 -0
- package/dist/lib/server/idempotency/store.d.ts.map +1 -0
- package/dist/lib/server/idempotency/store.js +272 -0
- package/dist/lib/server/idempotency/store.js.map +1 -0
- package/dist/lib/server/index.d.ts +50 -0
- package/dist/lib/server/index.d.ts.map +1 -0
- package/dist/lib/server/index.js +164 -0
- package/dist/lib/server/index.js.map +1 -0
- package/dist/lib/server/media-buy-helpers.d.ts +47 -0
- package/dist/lib/server/media-buy-helpers.d.ts.map +1 -0
- package/dist/lib/server/media-buy-helpers.js +43 -0
- package/dist/lib/server/media-buy-helpers.js.map +1 -0
- package/dist/lib/server/pin-and-bind-fetch.d.ts +115 -0
- package/dist/lib/server/pin-and-bind-fetch.d.ts.map +1 -0
- package/dist/lib/server/pin-and-bind-fetch.js +244 -0
- package/dist/lib/server/pin-and-bind-fetch.js.map +1 -0
- package/dist/lib/server/postgres-state-store.d.ts +76 -0
- package/dist/lib/server/postgres-state-store.d.ts.map +1 -0
- package/dist/lib/server/postgres-state-store.js +218 -0
- package/dist/lib/server/postgres-state-store.js.map +1 -0
- package/dist/lib/server/postgres-task-store.d.ts +121 -0
- package/dist/lib/server/postgres-task-store.d.ts.map +1 -0
- package/dist/lib/server/postgres-task-store.js +298 -0
- package/dist/lib/server/postgres-task-store.js.map +1 -0
- package/dist/lib/server/product-defaults.d.ts +16 -0
- package/dist/lib/server/product-defaults.d.ts.map +1 -0
- package/dist/lib/server/product-defaults.js +25 -0
- package/dist/lib/server/product-defaults.js.map +1 -0
- package/dist/lib/server/responses.d.ts +257 -0
- package/dist/lib/server/responses.d.ts.map +1 -0
- package/dist/lib/server/responses.js +542 -0
- package/dist/lib/server/responses.js.map +1 -0
- package/dist/lib/server/serve.d.ts +308 -0
- package/dist/lib/server/serve.d.ts.map +1 -0
- package/dist/lib/server/serve.js +663 -0
- package/dist/lib/server/serve.js.map +1 -0
- package/dist/lib/server/state-store.d.ts +296 -0
- package/dist/lib/server/state-store.d.ts.map +1 -0
- package/dist/lib/server/state-store.js +459 -0
- package/dist/lib/server/state-store.js.map +1 -0
- package/dist/lib/server/structured-serialize.d.ts +30 -0
- package/dist/lib/server/structured-serialize.d.ts.map +1 -0
- package/dist/lib/server/structured-serialize.js +109 -0
- package/dist/lib/server/structured-serialize.js.map +1 -0
- package/dist/lib/server/targeting-helpers.d.ts +90 -0
- package/dist/lib/server/targeting-helpers.d.ts.map +1 -0
- package/dist/lib/server/targeting-helpers.js +144 -0
- package/dist/lib/server/targeting-helpers.js.map +1 -0
- package/dist/lib/server/tasks.d.ts +91 -0
- package/dist/lib/server/tasks.d.ts.map +1 -0
- package/dist/lib/server/tasks.js +116 -0
- package/dist/lib/server/tasks.js.map +1 -0
- package/dist/lib/server/test-controller-bridge.d.ts +192 -0
- package/dist/lib/server/test-controller-bridge.d.ts.map +1 -0
- package/dist/lib/server/test-controller-bridge.js +207 -0
- package/dist/lib/server/test-controller-bridge.js.map +1 -0
- package/dist/lib/server/test-controller.d.ts +388 -0
- package/dist/lib/server/test-controller.d.ts.map +1 -0
- package/dist/lib/server/test-controller.js +735 -0
- package/dist/lib/server/test-controller.js.map +1 -0
- package/dist/lib/server/webhook-emitter.d.ts +192 -0
- package/dist/lib/server/webhook-emitter.d.ts.map +1 -0
- package/dist/lib/server/webhook-emitter.js +316 -0
- package/dist/lib/server/webhook-emitter.js.map +1 -0
- package/dist/lib/server/wrap-envelope.d.ts +162 -0
- package/dist/lib/server/wrap-envelope.d.ts.map +1 -0
- package/dist/lib/server/wrap-envelope.js +145 -0
- package/dist/lib/server/wrap-envelope.js.map +1 -0
- package/dist/lib/signing/agent-context.d.ts +73 -0
- package/dist/lib/signing/agent-context.d.ts.map +1 -0
- package/dist/lib/signing/agent-context.js +104 -0
- package/dist/lib/signing/agent-context.js.map +1 -0
- package/dist/lib/signing/agent-fetch.d.ts +177 -0
- package/dist/lib/signing/agent-fetch.d.ts.map +1 -0
- package/dist/lib/signing/agent-fetch.js +271 -0
- package/dist/lib/signing/agent-fetch.js.map +1 -0
- package/dist/lib/signing/brand-jwks.d.ts +102 -0
- package/dist/lib/signing/brand-jwks.d.ts.map +1 -0
- package/dist/lib/signing/brand-jwks.js +433 -0
- package/dist/lib/signing/brand-jwks.js.map +1 -0
- package/dist/lib/signing/canonicalize.d.ts +39 -0
- package/dist/lib/signing/canonicalize.d.ts.map +1 -0
- package/dist/lib/signing/canonicalize.js +149 -0
- package/dist/lib/signing/canonicalize.js.map +1 -0
- package/dist/lib/signing/capability-cache.d.ts +70 -0
- package/dist/lib/signing/capability-cache.d.ts.map +1 -0
- package/dist/lib/signing/capability-cache.js +90 -0
- package/dist/lib/signing/capability-cache.js.map +1 -0
- package/dist/lib/signing/capability-priming.d.ts +30 -0
- package/dist/lib/signing/capability-priming.d.ts.map +1 -0
- package/dist/lib/signing/capability-priming.js +145 -0
- package/dist/lib/signing/capability-priming.js.map +1 -0
- package/dist/lib/signing/client.d.ts +25 -0
- package/dist/lib/signing/client.d.ts.map +1 -0
- package/dist/lib/signing/client.js +70 -0
- package/dist/lib/signing/client.js.map +1 -0
- package/dist/lib/signing/content-digest.d.ts +9 -0
- package/dist/lib/signing/content-digest.d.ts.map +1 -0
- package/dist/lib/signing/content-digest.js +48 -0
- package/dist/lib/signing/content-digest.js.map +1 -0
- package/dist/lib/signing/crypto.d.ts +5 -0
- package/dist/lib/signing/crypto.d.ts.map +1 -0
- package/dist/lib/signing/crypto.js +35 -0
- package/dist/lib/signing/crypto.js.map +1 -0
- package/dist/lib/signing/ecdsa-encoding.d.ts +20 -0
- package/dist/lib/signing/ecdsa-encoding.d.ts.map +1 -0
- package/dist/lib/signing/ecdsa-encoding.js +91 -0
- package/dist/lib/signing/ecdsa-encoding.js.map +1 -0
- package/dist/lib/signing/errors.d.ts +49 -0
- package/dist/lib/signing/errors.d.ts.map +1 -0
- package/dist/lib/signing/errors.js +48 -0
- package/dist/lib/signing/errors.js.map +1 -0
- package/dist/lib/signing/fetch-async.d.ts +23 -0
- package/dist/lib/signing/fetch-async.d.ts.map +1 -0
- package/dist/lib/signing/fetch-async.js +96 -0
- package/dist/lib/signing/fetch-async.js.map +1 -0
- package/dist/lib/signing/fetch.d.ts +17 -0
- package/dist/lib/signing/fetch.d.ts.map +1 -0
- package/dist/lib/signing/fetch.js +89 -0
- package/dist/lib/signing/fetch.js.map +1 -0
- package/dist/lib/signing/index.d.ts +16 -0
- package/dist/lib/signing/index.d.ts.map +1 -0
- package/dist/lib/signing/index.js +32 -0
- package/dist/lib/signing/index.js.map +1 -0
- package/dist/lib/signing/jwks-helpers.d.ts +48 -0
- package/dist/lib/signing/jwks-helpers.d.ts.map +1 -0
- package/dist/lib/signing/jwks-helpers.js +87 -0
- package/dist/lib/signing/jwks-helpers.js.map +1 -0
- package/dist/lib/signing/jwks-https.d.ts +61 -0
- package/dist/lib/signing/jwks-https.d.ts.map +1 -0
- package/dist/lib/signing/jwks-https.js +165 -0
- package/dist/lib/signing/jwks-https.js.map +1 -0
- package/dist/lib/signing/jwks.d.ts +10 -0
- package/dist/lib/signing/jwks.d.ts.map +1 -0
- package/dist/lib/signing/jwks.js +15 -0
- package/dist/lib/signing/jwks.js.map +1 -0
- package/dist/lib/signing/middleware.d.ts +77 -0
- package/dist/lib/signing/middleware.d.ts.map +1 -0
- package/dist/lib/signing/middleware.js +77 -0
- package/dist/lib/signing/middleware.js.map +1 -0
- package/dist/lib/signing/parser.d.ts +35 -0
- package/dist/lib/signing/parser.d.ts.map +1 -0
- package/dist/lib/signing/parser.js +244 -0
- package/dist/lib/signing/parser.js.map +1 -0
- package/dist/lib/signing/postgres-replay-store.d.ts +138 -0
- package/dist/lib/signing/postgres-replay-store.d.ts.map +1 -0
- package/dist/lib/signing/postgres-replay-store.js +236 -0
- package/dist/lib/signing/postgres-replay-store.js.map +1 -0
- package/dist/lib/signing/provider.d.ts +81 -0
- package/dist/lib/signing/provider.d.ts.map +1 -0
- package/dist/lib/signing/provider.js +3 -0
- package/dist/lib/signing/provider.js.map +1 -0
- package/dist/lib/signing/replay.d.ts +62 -0
- package/dist/lib/signing/replay.d.ts.map +1 -0
- package/dist/lib/signing/replay.js +106 -0
- package/dist/lib/signing/replay.js.map +1 -0
- package/dist/lib/signing/revocation-https.d.ts +79 -0
- package/dist/lib/signing/revocation-https.d.ts.map +1 -0
- package/dist/lib/signing/revocation-https.js +144 -0
- package/dist/lib/signing/revocation-https.js.map +1 -0
- package/dist/lib/signing/revocation.d.ts +11 -0
- package/dist/lib/signing/revocation.d.ts.map +1 -0
- package/dist/lib/signing/revocation.js +18 -0
- package/dist/lib/signing/revocation.js.map +1 -0
- package/dist/lib/signing/server.d.ts +27 -0
- package/dist/lib/signing/server.d.ts.map +1 -0
- package/dist/lib/signing/server.js +67 -0
- package/dist/lib/signing/server.js.map +1 -0
- package/dist/lib/signing/signer-async.d.ts +24 -0
- package/dist/lib/signing/signer-async.d.ts.map +1 -0
- package/dist/lib/signing/signer-async.js +34 -0
- package/dist/lib/signing/signer-async.js.map +1 -0
- package/dist/lib/signing/signer.d.ts +94 -0
- package/dist/lib/signing/signer.d.ts.map +1 -0
- package/dist/lib/signing/signer.js +131 -0
- package/dist/lib/signing/signer.js.map +1 -0
- package/dist/lib/signing/testing.d.ts +45 -0
- package/dist/lib/signing/testing.d.ts.map +1 -0
- package/dist/lib/signing/testing.js +81 -0
- package/dist/lib/signing/testing.js.map +1 -0
- package/dist/lib/signing/types.d.ts +90 -0
- package/dist/lib/signing/types.d.ts.map +1 -0
- package/dist/lib/signing/types.js +9 -0
- package/dist/lib/signing/types.js.map +1 -0
- package/dist/lib/signing/verifier.d.ts +23 -0
- package/dist/lib/signing/verifier.d.ts.map +1 -0
- package/dist/lib/signing/verifier.js +386 -0
- package/dist/lib/signing/verifier.js.map +1 -0
- package/dist/lib/signing/webhook-verifier.d.ts +119 -0
- package/dist/lib/signing/webhook-verifier.d.ts.map +1 -0
- package/dist/lib/signing/webhook-verifier.js +292 -0
- package/dist/lib/signing/webhook-verifier.js.map +1 -0
- package/dist/lib/storage/MemoryStorage.d.ts +93 -0
- package/dist/lib/storage/MemoryStorage.d.ts.map +1 -0
- package/dist/lib/storage/MemoryStorage.js +219 -0
- package/dist/lib/storage/MemoryStorage.js.map +1 -0
- package/dist/lib/storage/interfaces.d.ts +195 -0
- package/dist/lib/storage/interfaces.d.ts.map +1 -0
- package/dist/lib/storage/interfaces.js +5 -0
- package/dist/lib/storage/interfaces.js.map +1 -0
- package/dist/lib/substitution/encoder/SubstitutionEncoder.d.ts +45 -0
- package/dist/lib/substitution/encoder/SubstitutionEncoder.d.ts.map +1 -0
- package/dist/lib/substitution/encoder/SubstitutionEncoder.js +73 -0
- package/dist/lib/substitution/encoder/SubstitutionEncoder.js.map +1 -0
- package/dist/lib/substitution/encoder/index.d.ts +2 -0
- package/dist/lib/substitution/encoder/index.d.ts.map +1 -0
- package/dist/lib/substitution/encoder/index.js +7 -0
- package/dist/lib/substitution/encoder/index.js.map +1 -0
- package/dist/lib/substitution/index.d.ts +36 -0
- package/dist/lib/substitution/index.d.ts.map +1 -0
- package/dist/lib/substitution/index.js +56 -0
- package/dist/lib/substitution/index.js.map +1 -0
- package/dist/lib/substitution/observer/SubstitutionObserver.d.ts +91 -0
- package/dist/lib/substitution/observer/SubstitutionObserver.d.ts.map +1 -0
- package/dist/lib/substitution/observer/SubstitutionObserver.js +248 -0
- package/dist/lib/substitution/observer/SubstitutionObserver.js.map +1 -0
- package/dist/lib/substitution/observer/alignment.d.ts +24 -0
- package/dist/lib/substitution/observer/alignment.d.ts.map +1 -0
- package/dist/lib/substitution/observer/alignment.js +279 -0
- package/dist/lib/substitution/observer/alignment.js.map +1 -0
- package/dist/lib/substitution/observer/assertions.d.ts +48 -0
- package/dist/lib/substitution/observer/assertions.d.ts.map +1 -0
- package/dist/lib/substitution/observer/assertions.js +145 -0
- package/dist/lib/substitution/observer/assertions.js.map +1 -0
- package/dist/lib/substitution/observer/html-parser.d.ts +29 -0
- package/dist/lib/substitution/observer/html-parser.d.ts.map +1 -0
- package/dist/lib/substitution/observer/html-parser.js +308 -0
- package/dist/lib/substitution/observer/html-parser.js.map +1 -0
- package/dist/lib/substitution/observer/index.d.ts +7 -0
- package/dist/lib/substitution/observer/index.d.ts.map +1 -0
- package/dist/lib/substitution/observer/index.js +21 -0
- package/dist/lib/substitution/observer/index.js.map +1 -0
- package/dist/lib/substitution/observer/ssrf.d.ts +29 -0
- package/dist/lib/substitution/observer/ssrf.d.ts.map +1 -0
- package/dist/lib/substitution/observer/ssrf.js +226 -0
- package/dist/lib/substitution/observer/ssrf.js.map +1 -0
- package/dist/lib/substitution/rfc3986.d.ts +51 -0
- package/dist/lib/substitution/rfc3986.d.ts.map +1 -0
- package/dist/lib/substitution/rfc3986.js +139 -0
- package/dist/lib/substitution/rfc3986.js.map +1 -0
- package/dist/lib/substitution/types.d.ts +147 -0
- package/dist/lib/substitution/types.d.ts.map +1 -0
- package/dist/lib/substitution/types.js +8 -0
- package/dist/lib/substitution/types.js.map +1 -0
- package/dist/lib/substitution/vectors.d.ts +18 -0
- package/dist/lib/substitution/vectors.d.ts.map +1 -0
- package/dist/lib/substitution/vectors.js +79 -0
- package/dist/lib/substitution/vectors.js.map +1 -0
- package/dist/lib/testing/agent-tester.d.ts +34 -0
- package/dist/lib/testing/agent-tester.d.ts.map +1 -0
- package/dist/lib/testing/agent-tester.js +421 -0
- package/dist/lib/testing/agent-tester.js.map +1 -0
- package/dist/lib/testing/client.d.ts +104 -0
- package/dist/lib/testing/client.d.ts.map +1 -0
- package/dist/lib/testing/client.js +487 -0
- package/dist/lib/testing/client.js.map +1 -0
- package/dist/lib/testing/compliance/briefs.d.ts +11 -0
- package/dist/lib/testing/compliance/briefs.d.ts.map +1 -0
- package/dist/lib/testing/compliance/briefs.js +156 -0
- package/dist/lib/testing/compliance/briefs.js.map +1 -0
- package/dist/lib/testing/compliance/comply.d.ts +83 -0
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -0
- package/dist/lib/testing/compliance/comply.js +1275 -0
- package/dist/lib/testing/compliance/comply.js.map +1 -0
- package/dist/lib/testing/compliance/index.d.ts +10 -0
- package/dist/lib/testing/compliance/index.d.ts.map +1 -0
- package/dist/lib/testing/compliance/index.js +18 -0
- package/dist/lib/testing/compliance/index.js.map +1 -0
- package/dist/lib/testing/compliance/storyboard-tracks.d.ts +17 -0
- package/dist/lib/testing/compliance/storyboard-tracks.d.ts.map +1 -0
- package/dist/lib/testing/compliance/storyboard-tracks.js +147 -0
- package/dist/lib/testing/compliance/storyboard-tracks.js.map +1 -0
- package/dist/lib/testing/compliance/types.d.ts +145 -0
- package/dist/lib/testing/compliance/types.d.ts.map +1 -0
- package/dist/lib/testing/compliance/types.js +6 -0
- package/dist/lib/testing/compliance/types.js.map +1 -0
- package/dist/lib/testing/comply-controller.d.ts +193 -0
- package/dist/lib/testing/comply-controller.d.ts.map +1 -0
- package/dist/lib/testing/comply-controller.js +199 -0
- package/dist/lib/testing/comply-controller.js.map +1 -0
- package/dist/lib/testing/controller-assertions.d.ts +67 -0
- package/dist/lib/testing/controller-assertions.d.ts.map +1 -0
- package/dist/lib/testing/controller-assertions.js +60 -0
- package/dist/lib/testing/controller-assertions.js.map +1 -0
- package/dist/lib/testing/formatter.d.ts +17 -0
- package/dist/lib/testing/formatter.d.ts.map +1 -0
- package/dist/lib/testing/formatter.js +92 -0
- package/dist/lib/testing/formatter.js.map +1 -0
- package/dist/lib/testing/index.d.ts +19 -0
- package/dist/lib/testing/index.d.ts.map +1 -0
- package/dist/lib/testing/index.js +185 -0
- package/dist/lib/testing/index.js.map +1 -0
- package/dist/lib/testing/local-agent-runner.d.ts +189 -0
- package/dist/lib/testing/local-agent-runner.d.ts.map +1 -0
- package/dist/lib/testing/local-agent-runner.js +290 -0
- package/dist/lib/testing/local-agent-runner.js.map +1 -0
- package/dist/lib/testing/orchestrator.d.ts +70 -0
- package/dist/lib/testing/orchestrator.d.ts.map +1 -0
- package/dist/lib/testing/orchestrator.js +278 -0
- package/dist/lib/testing/orchestrator.js.map +1 -0
- package/dist/lib/testing/scenarios/brand-rights.d.ts +41 -0
- package/dist/lib/testing/scenarios/brand-rights.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/brand-rights.js +278 -0
- package/dist/lib/testing/scenarios/brand-rights.js.map +1 -0
- package/dist/lib/testing/scenarios/capabilities.d.ts +27 -0
- package/dist/lib/testing/scenarios/capabilities.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/capabilities.js +332 -0
- package/dist/lib/testing/scenarios/capabilities.js.map +1 -0
- package/dist/lib/testing/scenarios/creative.d.ts +38 -0
- package/dist/lib/testing/scenarios/creative.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/creative.js +429 -0
- package/dist/lib/testing/scenarios/creative.js.map +1 -0
- package/dist/lib/testing/scenarios/deterministic.d.ts +37 -0
- package/dist/lib/testing/scenarios/deterministic.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/deterministic.js +705 -0
- package/dist/lib/testing/scenarios/deterministic.js.map +1 -0
- package/dist/lib/testing/scenarios/discovery.d.ts +15 -0
- package/dist/lib/testing/scenarios/discovery.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/discovery.js +68 -0
- package/dist/lib/testing/scenarios/discovery.js.map +1 -0
- package/dist/lib/testing/scenarios/edge-cases.d.ts +64 -0
- package/dist/lib/testing/scenarios/edge-cases.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/edge-cases.js +569 -0
- package/dist/lib/testing/scenarios/edge-cases.js.map +1 -0
- package/dist/lib/testing/scenarios/error-compliance.d.ts +30 -0
- package/dist/lib/testing/scenarios/error-compliance.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/error-compliance.js +372 -0
- package/dist/lib/testing/scenarios/error-compliance.js.map +1 -0
- package/dist/lib/testing/scenarios/governance.d.ts +114 -0
- package/dist/lib/testing/scenarios/governance.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/governance.js +1619 -0
- package/dist/lib/testing/scenarios/governance.js.map +1 -0
- package/dist/lib/testing/scenarios/health.d.ts +12 -0
- package/dist/lib/testing/scenarios/health.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/health.js +21 -0
- package/dist/lib/testing/scenarios/health.js.map +1 -0
- package/dist/lib/testing/scenarios/index.d.ts +20 -0
- package/dist/lib/testing/scenarios/index.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/index.js +96 -0
- package/dist/lib/testing/scenarios/index.js.map +1 -0
- package/dist/lib/testing/scenarios/media-buy.d.ts +128 -0
- package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/media-buy.js +1655 -0
- package/dist/lib/testing/scenarios/media-buy.js.map +1 -0
- package/dist/lib/testing/scenarios/schema-compliance.d.ts +17 -0
- package/dist/lib/testing/scenarios/schema-compliance.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/schema-compliance.js +194 -0
- package/dist/lib/testing/scenarios/schema-compliance.js.map +1 -0
- package/dist/lib/testing/scenarios/signals.d.ts +22 -0
- package/dist/lib/testing/scenarios/signals.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/signals.js +221 -0
- package/dist/lib/testing/scenarios/signals.js.map +1 -0
- package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts +45 -0
- package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/sponsored-intelligence.js +554 -0
- package/dist/lib/testing/scenarios/sponsored-intelligence.js.map +1 -0
- package/dist/lib/testing/scenarios/trusted-match.d.ts +22 -0
- package/dist/lib/testing/scenarios/trusted-match.d.ts.map +1 -0
- package/dist/lib/testing/scenarios/trusted-match.js +128 -0
- package/dist/lib/testing/scenarios/trusted-match.js.map +1 -0
- package/dist/lib/testing/seed-merge.d.ts +150 -0
- package/dist/lib/testing/seed-merge.d.ts.map +1 -0
- package/dist/lib/testing/seed-merge.js +315 -0
- package/dist/lib/testing/seed-merge.js.map +1 -0
- package/dist/lib/testing/storyboard/assertions.d.ts +148 -0
- package/dist/lib/testing/storyboard/assertions.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/assertions.js +270 -0
- package/dist/lib/testing/storyboard/assertions.js.map +1 -0
- package/dist/lib/testing/storyboard/compliance.d.ts +166 -0
- package/dist/lib/testing/storyboard/compliance.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/compliance.js +434 -0
- package/dist/lib/testing/storyboard/compliance.js.map +1 -0
- package/dist/lib/testing/storyboard/context.d.ts +124 -0
- package/dist/lib/testing/storyboard/context.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/context.js +560 -0
- package/dist/lib/testing/storyboard/context.js.map +1 -0
- package/dist/lib/testing/storyboard/default-invariants.d.ts +36 -0
- package/dist/lib/testing/storyboard/default-invariants.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/default-invariants.js +882 -0
- package/dist/lib/testing/storyboard/default-invariants.js.map +1 -0
- package/dist/lib/testing/storyboard/index.d.ts +34 -0
- package/dist/lib/testing/storyboard/index.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/index.js +110 -0
- package/dist/lib/testing/storyboard/index.js.map +1 -0
- package/dist/lib/testing/storyboard/junit.d.ts +2 -0
- package/dist/lib/testing/storyboard/junit.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/junit.js +104 -0
- package/dist/lib/testing/storyboard/junit.js.map +1 -0
- package/dist/lib/testing/storyboard/loader.d.ts +28 -0
- package/dist/lib/testing/storyboard/loader.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/loader.js +194 -0
- package/dist/lib/testing/storyboard/loader.js.map +1 -0
- package/dist/lib/testing/storyboard/path.d.ts +76 -0
- package/dist/lib/testing/storyboard/path.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/path.js +258 -0
- package/dist/lib/testing/storyboard/path.js.map +1 -0
- package/dist/lib/testing/storyboard/probes.d.ts +148 -0
- package/dist/lib/testing/storyboard/probes.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/probes.js +402 -0
- package/dist/lib/testing/storyboard/probes.js.map +1 -0
- package/dist/lib/testing/storyboard/rejection-hints.d.ts +41 -0
- package/dist/lib/testing/storyboard/rejection-hints.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/rejection-hints.js +344 -0
- package/dist/lib/testing/storyboard/rejection-hints.js.map +1 -0
- package/dist/lib/testing/storyboard/request-builder.d.ts +35 -0
- package/dist/lib/testing/storyboard/request-builder.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-builder.js +845 -0
- package/dist/lib/testing/storyboard/request-builder.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/builder.d.ts +60 -0
- package/dist/lib/testing/storyboard/request-signing/builder.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/builder.js +462 -0
- package/dist/lib/testing/storyboard/request-signing/builder.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/grader.d.ts +166 -0
- package/dist/lib/testing/storyboard/request-signing/grader.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/grader.js +517 -0
- package/dist/lib/testing/storyboard/request-signing/grader.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/index.d.ts +38 -0
- package/dist/lib/testing/storyboard/request-signing/index.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/index.js +62 -0
- package/dist/lib/testing/storyboard/request-signing/index.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.ts +10 -0
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.js +81 -0
- package/dist/lib/testing/storyboard/request-signing/probe-dispatch.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/probe.d.ts +41 -0
- package/dist/lib/testing/storyboard/request-signing/probe.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/probe.js +220 -0
- package/dist/lib/testing/storyboard/request-signing/probe.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/synthesize.d.ts +28 -0
- package/dist/lib/testing/storyboard/request-signing/synthesize.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/synthesize.js +79 -0
- package/dist/lib/testing/storyboard/request-signing/synthesize.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.d.ts +42 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.js +101 -0
- package/dist/lib/testing/storyboard/request-signing/test-kit.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/types.d.ts +72 -0
- package/dist/lib/testing/storyboard/request-signing/types.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/types.js +6 -0
- package/dist/lib/testing/storyboard/request-signing/types.js.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts +16 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.js +242 -0
- package/dist/lib/testing/storyboard/request-signing/vector-loader.js.map +1 -0
- package/dist/lib/testing/storyboard/runner.d.ts +141 -0
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/runner.js +2349 -0
- package/dist/lib/testing/storyboard/runner.js.map +1 -0
- package/dist/lib/testing/storyboard/sandbox-entities.d.ts +56 -0
- package/dist/lib/testing/storyboard/sandbox-entities.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/sandbox-entities.js +222 -0
- package/dist/lib/testing/storyboard/sandbox-entities.js.map +1 -0
- package/dist/lib/testing/storyboard/seeding.d.ts +72 -0
- package/dist/lib/testing/storyboard/seeding.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/seeding.js +282 -0
- package/dist/lib/testing/storyboard/seeding.js.map +1 -0
- package/dist/lib/testing/storyboard/shape-drift-hints.d.ts +54 -0
- package/dist/lib/testing/storyboard/shape-drift-hints.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/shape-drift-hints.js +200 -0
- package/dist/lib/testing/storyboard/shape-drift-hints.js.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/grader.d.ts +56 -0
- package/dist/lib/testing/storyboard/signer-grader/grader.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/grader.js +270 -0
- package/dist/lib/testing/storyboard/signer-grader/grader.js.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/index.d.ts +3 -0
- package/dist/lib/testing/storyboard/signer-grader/index.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/index.js +6 -0
- package/dist/lib/testing/storyboard/signer-grader/index.js.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/types.d.ts +62 -0
- package/dist/lib/testing/storyboard/signer-grader/types.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/signer-grader/types.js +3 -0
- package/dist/lib/testing/storyboard/signer-grader/types.js.map +1 -0
- package/dist/lib/testing/storyboard/strict-validation-hints.d.ts +28 -0
- package/dist/lib/testing/storyboard/strict-validation-hints.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/strict-validation-hints.js +128 -0
- package/dist/lib/testing/storyboard/strict-validation-hints.js.map +1 -0
- package/dist/lib/testing/storyboard/task-map.d.ts +25 -0
- package/dist/lib/testing/storyboard/task-map.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/task-map.js +130 -0
- package/dist/lib/testing/storyboard/task-map.js.map +1 -0
- package/dist/lib/testing/storyboard/test-kit.d.ts +52 -0
- package/dist/lib/testing/storyboard/test-kit.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/test-kit.js +93 -0
- package/dist/lib/testing/storyboard/test-kit.js.map +1 -0
- package/dist/lib/testing/storyboard/types.d.ts +1404 -0
- package/dist/lib/testing/storyboard/types.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/types.js +35 -0
- package/dist/lib/testing/storyboard/types.js.map +1 -0
- package/dist/lib/testing/storyboard/validations.d.ts +103 -0
- package/dist/lib/testing/storyboard/validations.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/validations.js +1729 -0
- package/dist/lib/testing/storyboard/validations.js.map +1 -0
- package/dist/lib/testing/storyboard/webhook-assertions.d.ts +62 -0
- package/dist/lib/testing/storyboard/webhook-assertions.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/webhook-assertions.js +538 -0
- package/dist/lib/testing/storyboard/webhook-assertions.js.map +1 -0
- package/dist/lib/testing/storyboard/webhook-receiver.d.ts +104 -0
- package/dist/lib/testing/storyboard/webhook-receiver.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/webhook-receiver.js +402 -0
- package/dist/lib/testing/storyboard/webhook-receiver.js.map +1 -0
- package/dist/lib/testing/stubs/governance-agent-stub.d.ts +72 -0
- package/dist/lib/testing/stubs/governance-agent-stub.d.ts.map +1 -0
- package/dist/lib/testing/stubs/governance-agent-stub.js +297 -0
- package/dist/lib/testing/stubs/governance-agent-stub.js.map +1 -0
- package/dist/lib/testing/stubs/index.d.ts +3 -0
- package/dist/lib/testing/stubs/index.d.ts.map +1 -0
- package/dist/lib/testing/stubs/index.js +6 -0
- package/dist/lib/testing/stubs/index.js.map +1 -0
- package/dist/lib/testing/test-controller.d.ts +46 -0
- package/dist/lib/testing/test-controller.d.ts.map +1 -0
- package/dist/lib/testing/test-controller.js +143 -0
- package/dist/lib/testing/test-controller.js.map +1 -0
- package/dist/lib/testing/test-helpers.d.ts +213 -0
- package/dist/lib/testing/test-helpers.d.ts.map +1 -0
- package/dist/lib/testing/test-helpers.js +250 -0
- package/dist/lib/testing/test-helpers.js.map +1 -0
- package/dist/lib/testing/types.d.ts +222 -0
- package/dist/lib/testing/types.d.ts.map +1 -0
- package/dist/lib/testing/types.js +6 -0
- package/dist/lib/testing/types.js.map +1 -0
- package/dist/lib/types/adcp.d.ts +625 -0
- package/dist/lib/types/adcp.d.ts.map +1 -0
- package/dist/lib/types/adcp.js +20 -0
- package/dist/lib/types/adcp.js.map +1 -0
- package/dist/lib/types/asset-instances.d.ts +32 -0
- package/dist/lib/types/asset-instances.d.ts.map +1 -0
- package/dist/lib/types/asset-instances.js +24 -0
- package/dist/lib/types/asset-instances.js.map +1 -0
- package/dist/lib/types/compat.d.ts +105 -0
- package/dist/lib/types/compat.d.ts.map +1 -0
- package/dist/lib/types/compat.js +52 -0
- package/dist/lib/types/compat.js.map +1 -0
- package/dist/lib/types/core.generated.d.ts +15973 -0
- package/dist/lib/types/core.generated.d.ts.map +1 -0
- package/dist/lib/types/core.generated.js +5 -0
- package/dist/lib/types/core.generated.js.map +1 -0
- package/dist/lib/types/enums.generated.d.ts +139 -0
- package/dist/lib/types/enums.generated.d.ts.map +1 -0
- package/dist/lib/types/enums.generated.js +158 -0
- package/dist/lib/types/enums.generated.js.map +1 -0
- package/dist/lib/types/error-codes.d.ts +32 -0
- package/dist/lib/types/error-codes.d.ts.map +1 -0
- package/dist/lib/types/error-codes.js +146 -0
- package/dist/lib/types/error-codes.js.map +1 -0
- package/dist/lib/types/format-asset-slots.d.ts +117 -0
- package/dist/lib/types/format-asset-slots.d.ts.map +1 -0
- package/dist/lib/types/format-asset-slots.js +20 -0
- package/dist/lib/types/format-asset-slots.js.map +1 -0
- package/dist/lib/types/index.d.ts +20 -0
- package/dist/lib/types/index.d.ts.map +1 -0
- package/dist/lib/types/index.js +48 -0
- package/dist/lib/types/index.js.map +1 -0
- package/dist/lib/types/inline-enums.aliases.d.ts +53 -0
- package/dist/lib/types/inline-enums.aliases.d.ts.map +1 -0
- package/dist/lib/types/inline-enums.aliases.js +73 -0
- package/dist/lib/types/inline-enums.aliases.js.map +1 -0
- package/dist/lib/types/inline-enums.generated.d.ts +157 -0
- package/dist/lib/types/inline-enums.generated.d.ts.map +1 -0
- package/dist/lib/types/inline-enums.generated.js +239 -0
- package/dist/lib/types/inline-enums.generated.js.map +1 -0
- package/dist/lib/types/schemas.generated.d.ts +46531 -0
- package/dist/lib/types/schemas.generated.d.ts.map +1 -0
- package/dist/lib/types/schemas.generated.js +5867 -0
- package/dist/lib/types/schemas.generated.js.map +1 -0
- package/dist/lib/types/sync-rows.d.ts +37 -0
- package/dist/lib/types/sync-rows.d.ts.map +1 -0
- package/dist/lib/types/sync-rows.js +21 -0
- package/dist/lib/types/sync-rows.js.map +1 -0
- package/dist/lib/types/tools.generated.d.ts +13423 -0
- package/dist/lib/types/tools.generated.d.ts.map +1 -0
- package/dist/lib/types/tools.generated.js +5 -0
- package/dist/lib/types/tools.generated.js.map +1 -0
- package/dist/lib/types/wellknown-schemas.generated.d.ts +1363 -0
- package/dist/lib/types/wellknown-schemas.generated.d.ts.map +1 -0
- package/dist/lib/types/wellknown-schemas.generated.js +14 -0
- package/dist/lib/types/wellknown-schemas.generated.js.map +1 -0
- package/dist/lib/utils/a2a-discovery.d.ts +42 -0
- package/dist/lib/utils/a2a-discovery.d.ts.map +1 -0
- package/dist/lib/utils/a2a-discovery.js +68 -0
- package/dist/lib/utils/a2a-discovery.js.map +1 -0
- package/dist/lib/utils/adcp-version-config.d.ts +11 -0
- package/dist/lib/utils/adcp-version-config.d.ts.map +1 -0
- package/dist/lib/utils/adcp-version-config.js +44 -0
- package/dist/lib/utils/adcp-version-config.js.map +1 -0
- package/dist/lib/utils/asset-builders.d.ts +44 -0
- package/dist/lib/utils/asset-builders.d.ts.map +1 -0
- package/dist/lib/utils/asset-builders.js +84 -0
- package/dist/lib/utils/asset-builders.js.map +1 -0
- package/dist/lib/utils/capabilities.d.ts +259 -0
- package/dist/lib/utils/capabilities.d.ts.map +1 -0
- package/dist/lib/utils/capabilities.js +463 -0
- package/dist/lib/utils/capabilities.js.map +1 -0
- package/dist/lib/utils/creative-adapter.d.ts +91 -0
- package/dist/lib/utils/creative-adapter.d.ts.map +1 -0
- package/dist/lib/utils/creative-adapter.js +156 -0
- package/dist/lib/utils/creative-adapter.js.map +1 -0
- package/dist/lib/utils/deprecation.d.ts +11 -0
- package/dist/lib/utils/deprecation.d.ts.map +1 -0
- package/dist/lib/utils/deprecation.js +23 -0
- package/dist/lib/utils/deprecation.js.map +1 -0
- package/dist/lib/utils/error-extraction.d.ts +43 -0
- package/dist/lib/utils/error-extraction.d.ts.map +1 -0
- package/dist/lib/utils/error-extraction.js +225 -0
- package/dist/lib/utils/error-extraction.js.map +1 -0
- package/dist/lib/utils/extract-result.d.ts +45 -0
- package/dist/lib/utils/extract-result.d.ts.map +1 -0
- package/dist/lib/utils/extract-result.js +27 -0
- package/dist/lib/utils/extract-result.js.map +1 -0
- package/dist/lib/utils/format-asset-slot-builders.d.ts +76 -0
- package/dist/lib/utils/format-asset-slot-builders.d.ts.map +1 -0
- package/dist/lib/utils/format-asset-slot-builders.js +174 -0
- package/dist/lib/utils/format-asset-slot-builders.js.map +1 -0
- package/dist/lib/utils/format-assets.d.ts +100 -0
- package/dist/lib/utils/format-assets.d.ts.map +1 -0
- package/dist/lib/utils/format-assets.js +147 -0
- package/dist/lib/utils/format-assets.js.map +1 -0
- package/dist/lib/utils/format-render-builders.d.ts +76 -0
- package/dist/lib/utils/format-render-builders.d.ts.map +1 -0
- package/dist/lib/utils/format-render-builders.js +76 -0
- package/dist/lib/utils/format-render-builders.js.map +1 -0
- package/dist/lib/utils/format-renders.d.ts +96 -0
- package/dist/lib/utils/format-renders.d.ts.map +1 -0
- package/dist/lib/utils/format-renders.js +141 -0
- package/dist/lib/utils/format-renders.js.map +1 -0
- package/dist/lib/utils/idempotency.d.ts +96 -0
- package/dist/lib/utils/idempotency.d.ts.map +1 -0
- package/dist/lib/utils/idempotency.js +156 -0
- package/dist/lib/utils/idempotency.js.map +1 -0
- package/dist/lib/utils/index.d.ts +39 -0
- package/dist/lib/utils/index.d.ts.map +1 -0
- package/dist/lib/utils/index.js +196 -0
- package/dist/lib/utils/index.js.map +1 -0
- package/dist/lib/utils/jcs.d.ts +30 -0
- package/dist/lib/utils/jcs.d.ts.map +1 -0
- package/dist/lib/utils/jcs.js +167 -0
- package/dist/lib/utils/jcs.js.map +1 -0
- package/dist/lib/utils/logger.d.ts +55 -0
- package/dist/lib/utils/logger.d.ts.map +1 -0
- package/dist/lib/utils/logger.js +100 -0
- package/dist/lib/utils/logger.js.map +1 -0
- package/dist/lib/utils/pagination.d.ts +31 -0
- package/dist/lib/utils/pagination.d.ts.map +1 -0
- package/dist/lib/utils/pagination.js +51 -0
- package/dist/lib/utils/pagination.js.map +1 -0
- package/dist/lib/utils/preview-normalizer.d.ts +109 -0
- package/dist/lib/utils/preview-normalizer.d.ts.map +1 -0
- package/dist/lib/utils/preview-normalizer.js +122 -0
- package/dist/lib/utils/preview-normalizer.js.map +1 -0
- package/dist/lib/utils/preview-utils.d.ts +87 -0
- package/dist/lib/utils/preview-utils.d.ts.map +1 -0
- package/dist/lib/utils/preview-utils.js +340 -0
- package/dist/lib/utils/preview-utils.js.map +1 -0
- package/dist/lib/utils/pricing-adapter.d.ts +144 -0
- package/dist/lib/utils/pricing-adapter.d.ts.map +1 -0
- package/dist/lib/utils/pricing-adapter.js +322 -0
- package/dist/lib/utils/pricing-adapter.js.map +1 -0
- package/dist/lib/utils/protocol-detection.d.ts +26 -0
- package/dist/lib/utils/protocol-detection.d.ts.map +1 -0
- package/dist/lib/utils/protocol-detection.js +62 -0
- package/dist/lib/utils/protocol-detection.js.map +1 -0
- package/dist/lib/utils/render-builders.d.ts +41 -0
- package/dist/lib/utils/render-builders.d.ts.map +1 -0
- package/dist/lib/utils/render-builders.js +52 -0
- package/dist/lib/utils/render-builders.js.map +1 -0
- package/dist/lib/utils/request-normalizer.d.ts +26 -0
- package/dist/lib/utils/request-normalizer.d.ts.map +1 -0
- package/dist/lib/utils/request-normalizer.js +175 -0
- package/dist/lib/utils/request-normalizer.js.map +1 -0
- package/dist/lib/utils/response-schemas.d.ts +9 -0
- package/dist/lib/utils/response-schemas.d.ts.map +1 -0
- package/dist/lib/utils/response-schemas.js +129 -0
- package/dist/lib/utils/response-schemas.js.map +1 -0
- package/dist/lib/utils/response-unwrapper.d.ts +54 -0
- package/dist/lib/utils/response-unwrapper.d.ts.map +1 -0
- package/dist/lib/utils/response-unwrapper.js +406 -0
- package/dist/lib/utils/response-unwrapper.js.map +1 -0
- package/dist/lib/utils/retry.d.ts +15 -0
- package/dist/lib/utils/retry.d.ts.map +1 -0
- package/dist/lib/utils/retry.js +22 -0
- package/dist/lib/utils/retry.js.map +1 -0
- package/dist/lib/utils/sync-creatives-adapter.d.ts +18 -0
- package/dist/lib/utils/sync-creatives-adapter.d.ts.map +1 -0
- package/dist/lib/utils/sync-creatives-adapter.js +46 -0
- package/dist/lib/utils/sync-creatives-adapter.js.map +1 -0
- package/dist/lib/utils/tool-request-schemas.d.ts +15 -0
- package/dist/lib/utils/tool-request-schemas.d.ts.map +1 -0
- package/dist/lib/utils/tool-request-schemas.js +129 -0
- package/dist/lib/utils/tool-request-schemas.js.map +1 -0
- package/dist/lib/utils/typeGuards.d.ts +147 -0
- package/dist/lib/utils/typeGuards.d.ts.map +1 -0
- package/dist/lib/utils/typeGuards.js +240 -0
- package/dist/lib/utils/typeGuards.js.map +1 -0
- package/dist/lib/utils/union-errors.d.ts +20 -0
- package/dist/lib/utils/union-errors.d.ts.map +1 -0
- package/dist/lib/utils/union-errors.js +38 -0
- package/dist/lib/utils/union-errors.js.map +1 -0
- package/dist/lib/utils/validate-user-agent.d.ts +8 -0
- package/dist/lib/utils/validate-user-agent.d.ts.map +1 -0
- package/dist/lib/utils/validate-user-agent.js +15 -0
- package/dist/lib/utils/validate-user-agent.js.map +1 -0
- package/dist/lib/validation/client-hooks.d.ts +49 -0
- package/dist/lib/validation/client-hooks.d.ts.map +1 -0
- package/dist/lib/validation/client-hooks.js +82 -0
- package/dist/lib/validation/client-hooks.js.map +1 -0
- package/dist/lib/validation/index.d.ts +37 -0
- package/dist/lib/validation/index.d.ts.map +1 -0
- package/dist/lib/validation/index.js +202 -0
- package/dist/lib/validation/index.js.map +1 -0
- package/dist/lib/validation/schema-errors.d.ts +67 -0
- package/dist/lib/validation/schema-errors.d.ts.map +1 -0
- package/dist/lib/validation/schema-errors.js +75 -0
- package/dist/lib/validation/schema-errors.js.map +1 -0
- package/dist/lib/validation/schema-loader.d.ts +24 -0
- package/dist/lib/validation/schema-loader.d.ts.map +1 -0
- package/dist/lib/validation/schema-loader.js +315 -0
- package/dist/lib/validation/schema-loader.js.map +1 -0
- package/dist/lib/validation/schema-validator.d.ts +83 -0
- package/dist/lib/validation/schema-validator.d.ts.map +1 -0
- package/dist/lib/validation/schema-validator.js +142 -0
- package/dist/lib/validation/schema-validator.js.map +1 -0
- package/dist/lib/validation/sync-creatives.d.ts +327 -0
- package/dist/lib/validation/sync-creatives.d.ts.map +1 -0
- package/dist/lib/validation/sync-creatives.js +72 -0
- package/dist/lib/validation/sync-creatives.js.map +1 -0
- package/dist/lib/version.d.ts +63 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +85 -0
- package/dist/lib/version.js.map +1 -0
- package/docs/README.md +42 -0
- package/docs/guides/BUILD-AN-AGENT.md +632 -0
- package/docs/llms.txt +1197 -0
- package/examples/README.md +117 -0
- package/examples/adcp.config.json +30 -0
- package/examples/basic-a2a.ts +76 -0
- package/examples/basic-mcp.ts +50 -0
- package/examples/batch-preview-test.ts +266 -0
- package/examples/comply-controller-seller.ts +146 -0
- package/examples/conversation-client.ts +291 -0
- package/examples/debug-preview-response.ts +73 -0
- package/examples/debug-preview-with-logging.ts +50 -0
- package/examples/easy-config-demo.ts +242 -0
- package/examples/env-config.ts +51 -0
- package/examples/error-compliant-server.ts +241 -0
- package/examples/gcp-kms-signing-provider.ts +281 -0
- package/examples/generative-creative-demo.ts +196 -0
- package/examples/inspect-card-formats.ts +161 -0
- package/examples/logger-usage.ts +165 -0
- package/examples/oauth-cli-example.ts +154 -0
- package/examples/pr78-async-patterns-demo.ts +247 -0
- package/examples/seller-test-controller.ts +320 -0
- package/examples/signals-agent.ts +201 -0
- package/examples/simple-getting-started.ts +225 -0
- package/examples/simple-protocol-demo.ts +75 -0
- package/examples/test-helpers-demo.ts +239 -0
- package/examples/zod-validation-example.ts +126 -0
- package/package.json +313 -0
- package/skills/adcp/SKILL.md +326 -0
- package/skills/adcp-brand/SKILL.md +202 -0
- package/skills/adcp-brand.previous/SKILL.md +202 -0
- package/skills/adcp-creative/SKILL.md +301 -0
- package/skills/adcp-creative.previous/SKILL.md +301 -0
- package/skills/adcp-governance/SKILL.md +566 -0
- package/skills/adcp-governance.previous/SKILL.md +566 -0
- package/skills/adcp-media-buy/SKILL.md +446 -0
- package/skills/adcp-media-buy.previous/SKILL.md +446 -0
- package/skills/adcp-si/SKILL.md +206 -0
- package/skills/adcp-si.previous/SKILL.md +206 -0
- package/skills/adcp-signals/SKILL.md +204 -0
- package/skills/adcp-signals.previous/SKILL.md +204 -0
- package/skills/build-brand-rights-agent/SKILL.md +528 -0
- package/skills/build-creative-agent/SKILL.md +824 -0
- package/skills/build-generative-seller-agent/SKILL.md +579 -0
- package/skills/build-governance-agent/SKILL.md +966 -0
- package/skills/build-retail-media-agent/SKILL.md +488 -0
- package/skills/build-seller-agent/SKILL.md +1407 -0
- package/skills/build-seller-agent/deployment.md +407 -0
- package/skills/build-seller-agent/specialisms/audience-sync.md +63 -0
- package/skills/build-seller-agent/specialisms/sales-broadcast-tv.md +71 -0
- package/skills/build-seller-agent/specialisms/sales-guaranteed.md +67 -0
- package/skills/build-seller-agent/specialisms/sales-non-guaranteed.md +39 -0
- package/skills/build-seller-agent/specialisms/sales-proposal-mode.md +51 -0
- package/skills/build-seller-agent/specialisms/sales-social.md +30 -0
- package/skills/build-seller-agent/specialisms/signed-requests.md +89 -0
- package/skills/build-si-agent/SKILL.md +347 -0
- package/skills/build-signals-agent/SKILL.md +527 -0
- package/skills/call-adcp-agent/SKILL.md +255 -0
- package/skills/call-adcp-agent.previous/SKILL.md +255 -0
package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-content-standards-response.json
ADDED
|
@@ -0,0 +1,3851 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/3.0.1/bundled/content-standards/get-content-standards-response.json",
|
|
4
|
+
"title": "Get Content Standards Response",
|
|
5
|
+
"description": "Response payload with content safety policies",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"oneOf": [
|
|
8
|
+
{
|
|
9
|
+
"type": "object",
|
|
10
|
+
"description": "Success response - returns the content standards configuration",
|
|
11
|
+
"allOf": [
|
|
12
|
+
{
|
|
13
|
+
"title": "Content Standards",
|
|
14
|
+
"description": "A content standards configuration defining brand safety and suitability policies. Standards are scoped by brand, geography, and channel. Multiple standards can be active simultaneously for different scopes.",
|
|
15
|
+
"type": "object",
|
|
16
|
+
"properties": {
|
|
17
|
+
"standards_id": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Unique identifier for this standards configuration"
|
|
20
|
+
},
|
|
21
|
+
"name": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"description": "Human-readable name for this standards configuration"
|
|
24
|
+
},
|
|
25
|
+
"countries_all": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"items": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
},
|
|
30
|
+
"minItems": 1,
|
|
31
|
+
"description": "ISO 3166-1 alpha-2 country codes. Standards apply in ALL listed countries (AND logic)."
|
|
32
|
+
},
|
|
33
|
+
"channels_any": {
|
|
34
|
+
"type": "array",
|
|
35
|
+
"items": {
|
|
36
|
+
"$ref": "#/$defs/MediaChannel"
|
|
37
|
+
},
|
|
38
|
+
"minItems": 1,
|
|
39
|
+
"description": "Advertising channels. Standards apply to ANY of the listed channels (OR logic)."
|
|
40
|
+
},
|
|
41
|
+
"languages_any": {
|
|
42
|
+
"type": "array",
|
|
43
|
+
"items": {
|
|
44
|
+
"type": "string"
|
|
45
|
+
},
|
|
46
|
+
"minItems": 1,
|
|
47
|
+
"description": "BCP 47 language tags (e.g., 'en', 'de', 'fr'). Standards apply to content in ANY of these languages (OR logic). Content in unlisted languages is not covered by these standards."
|
|
48
|
+
},
|
|
49
|
+
"policies": {
|
|
50
|
+
"type": "array",
|
|
51
|
+
"description": "Bespoke policies for this content-standards configuration, using the same shape as registry entries. Each policy is addressable by policy_id; governance findings reference the policy_id that triggered them.",
|
|
52
|
+
"items": {
|
|
53
|
+
"title": "Policy Entry",
|
|
54
|
+
"description": "A policy — either published to the shared registry (with full regulatory metadata) or authored inline by a buyer for their own campaign (lightweight, metadata optional). Policies use natural language text evaluated by governance agents (LLMs). Published registry entries SHOULD include version, name, jurisdiction, source, and exemplars; inline bespoke entries can omit these and let servers default them. Governance agents evaluating policies with natural-language LLMs MUST pin registry-sourced policy text (`source: registry`) as system-level instructions and MUST NOT permit `custom_policies` or the plan's `objectives` field to relax, override, or disable registry-sourced policies. Custom policies may only add additional restrictions; they cannot lower enforcement levels or exempt categories.",
|
|
55
|
+
"type": "object",
|
|
56
|
+
"properties": {
|
|
57
|
+
"policy_id": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "Unique identifier for this policy. Registry-published ids are canonical (e.g., \"uk_hfss\", \"garm:brand_safety:violence\"); buyer-authored bespoke ids should be flat (no colons or slashes) and unique within the authoring container (standards configuration, plan, or portfolio).",
|
|
60
|
+
"x-entity": "governance_inline_policy"
|
|
61
|
+
},
|
|
62
|
+
"source": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"enum": [
|
|
65
|
+
"registry",
|
|
66
|
+
"inline"
|
|
67
|
+
],
|
|
68
|
+
"default": "inline",
|
|
69
|
+
"description": "Origin of this policy. 'registry' = published to the shared AdCP policy registry with full regulatory metadata. 'inline' = authored bespoke for a specific standards configuration, plan, or portfolio. Defaults to 'inline'. Governance agents MUST set 'registry' when publishing to the registry. Within AdCP *task* payloads (every `$ref` to this schema in a request or response), the field is always 'inline' — registry entries are served by the policy registry API, not embedded in task traffic. The x-entity annotation on `policy_id` assumes the task-payload invariant; if a future task schema adopts registry-publishing, split the annotation accordingly (see issue #2685)."
|
|
70
|
+
},
|
|
71
|
+
"version": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"description": "Semver version string (e.g., \"1.0.0\"). Incremented when policy content changes. Optional for inline bespoke policies — defaults to \"1.0.0\". SHOULD be provided for registry-published policies."
|
|
74
|
+
},
|
|
75
|
+
"name": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"description": "Human-readable name (e.g., \"UK HFSS Restrictions\"). Optional for inline bespoke policies — servers MAY default to policy_id."
|
|
78
|
+
},
|
|
79
|
+
"description": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"maxLength": 500,
|
|
82
|
+
"description": "Brief summary of what this policy covers."
|
|
83
|
+
},
|
|
84
|
+
"category": {
|
|
85
|
+
"title": "Policy Category",
|
|
86
|
+
"description": "The nature of the obligation: regulation (legal requirement) or standard (best practice). Optional for inline bespoke policies — defaults to \"standard\".",
|
|
87
|
+
"type": "string",
|
|
88
|
+
"enum": [
|
|
89
|
+
"regulation",
|
|
90
|
+
"standard"
|
|
91
|
+
],
|
|
92
|
+
"enumDescriptions": {
|
|
93
|
+
"regulation": "Legal requirement with jurisdiction scope. Violations have legal consequences. Enforcement is hard (must).",
|
|
94
|
+
"standard": "Industry best practice, voluntary but recommended. Protects brand value and campaign effectiveness. Enforcement is soft (should)."
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"enforcement": {
|
|
98
|
+
"title": "Policy Enforcement Level",
|
|
99
|
+
"description": "How governance agents treat violations. Regulations are typically \"must\"; standards are typically \"should\".",
|
|
100
|
+
"type": "string",
|
|
101
|
+
"enum": [
|
|
102
|
+
"must",
|
|
103
|
+
"should",
|
|
104
|
+
"may"
|
|
105
|
+
],
|
|
106
|
+
"enumDescriptions": {
|
|
107
|
+
"must": "Legal requirement. Governance agents reject actions that violate this policy.",
|
|
108
|
+
"should": "Best practice. Governance agents warn on violations but do not block.",
|
|
109
|
+
"may": "Recommendation. Governance agents log for informational purposes only."
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"requires_human_review": {
|
|
113
|
+
"type": "boolean",
|
|
114
|
+
"default": false,
|
|
115
|
+
"description": "When true, plans subject to this policy MUST set plan.human_review_required = true. Use for policies that mandate human oversight of decisions affecting data subjects — e.g., GDPR Article 22 (solely automated decisions with legal or similarly significant effects) and EU AI Act Annex III high-risk categories (credit, insurance pricing, recruitment, housing allocation). Governance agents MUST escalate any plan action whose resolved policies include requires_human_review: true. Unlike `enforcement`, this flag applies as soon as the policy is resolved — it is NOT gated by `effective_date`. Art 22 GDPR and similar foundational obligations may predate an AI-Act-specific effective date; the human-review requirement fires regardless."
|
|
116
|
+
},
|
|
117
|
+
"jurisdictions": {
|
|
118
|
+
"type": "array",
|
|
119
|
+
"items": {
|
|
120
|
+
"type": "string"
|
|
121
|
+
},
|
|
122
|
+
"description": "ISO 3166-1 alpha-2 country codes where this policy applies. Empty array means the policy is not jurisdiction-specific."
|
|
123
|
+
},
|
|
124
|
+
"region_aliases": {
|
|
125
|
+
"type": "object",
|
|
126
|
+
"description": "Named groups of jurisdictions for convenience (e.g., {\"EU\": [\"AT\",\"BE\",\"BG\",...]}). Governance agents expand aliases when matching against a plan's target jurisdictions.",
|
|
127
|
+
"additionalProperties": {
|
|
128
|
+
"type": "array",
|
|
129
|
+
"items": {
|
|
130
|
+
"type": "string"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"policy_categories": {
|
|
135
|
+
"type": "array",
|
|
136
|
+
"items": {
|
|
137
|
+
"type": "string"
|
|
138
|
+
},
|
|
139
|
+
"description": "Regulatory categories this policy belongs to (e.g., [\"children_directed\", \"age_restricted\"]). Used for automatic matching against a campaign plan's declared policy_categories. A single policy can belong to multiple categories."
|
|
140
|
+
},
|
|
141
|
+
"channels": {
|
|
142
|
+
"type": "array",
|
|
143
|
+
"items": {
|
|
144
|
+
"$ref": "#/$defs/MediaChannel"
|
|
145
|
+
},
|
|
146
|
+
"description": "Advertising channels this policy applies to. If omitted or null, the policy applies to all channels."
|
|
147
|
+
},
|
|
148
|
+
"governance_domains": {
|
|
149
|
+
"type": "array",
|
|
150
|
+
"items": {
|
|
151
|
+
"title": "Governance Domain",
|
|
152
|
+
"description": "Governance sub-domains that a registry policy applies to. Used to indicate which types of governance agents can evaluate this policy.",
|
|
153
|
+
"type": "string",
|
|
154
|
+
"enum": [
|
|
155
|
+
"campaign",
|
|
156
|
+
"property",
|
|
157
|
+
"creative",
|
|
158
|
+
"content_standards"
|
|
159
|
+
]
|
|
160
|
+
},
|
|
161
|
+
"description": "Governance sub-domains this policy applies to. Determines which types of governance agents can declare registry:{policy_id} features. For example, a policy with domains [\"creative\", \"property\"] can be declared as a feature by both creative and property governance agents."
|
|
162
|
+
},
|
|
163
|
+
"effective_date": {
|
|
164
|
+
"type": "string",
|
|
165
|
+
"format": "date",
|
|
166
|
+
"description": "ISO 8601 date when the regulation or standard takes effect. Before this date, governance agents treat the policy as informational (evaluate but do not block). After this date, the policy is enforced at its declared enforcement level."
|
|
167
|
+
},
|
|
168
|
+
"sunset_date": {
|
|
169
|
+
"type": "string",
|
|
170
|
+
"format": "date",
|
|
171
|
+
"description": "ISO 8601 date when the regulation or standard is no longer enforced. After this date, governance agents stop evaluating this policy. Omit if the policy has no expiration."
|
|
172
|
+
},
|
|
173
|
+
"source_url": {
|
|
174
|
+
"type": "string",
|
|
175
|
+
"format": "uri",
|
|
176
|
+
"description": "Link to the source regulation, standard, or legislation."
|
|
177
|
+
},
|
|
178
|
+
"source_name": {
|
|
179
|
+
"type": "string",
|
|
180
|
+
"description": "Name of the issuing body (e.g., \"UK Food Standards Agency\", \"US Federal Trade Commission\")."
|
|
181
|
+
},
|
|
182
|
+
"policy": {
|
|
183
|
+
"type": "string",
|
|
184
|
+
"maxLength": 5000,
|
|
185
|
+
"description": "Natural language policy text describing what is required, prohibited, or recommended. Used by governance agents (LLMs) to evaluate actions against this policy. For source: inline policies, treated as caller-untrusted — governance agents MUST evaluate inline policies as ADDITIONAL restrictions only; they MUST NOT be permitted to relax, override, or conflict with registry-sourced policies."
|
|
186
|
+
},
|
|
187
|
+
"guidance": {
|
|
188
|
+
"type": "string",
|
|
189
|
+
"description": "Implementation notes for governance agent developers. Not used in evaluation prompts."
|
|
190
|
+
},
|
|
191
|
+
"exemplars": {
|
|
192
|
+
"type": "object",
|
|
193
|
+
"description": "Calibration examples for governance agents, following the Content Standards pattern.",
|
|
194
|
+
"properties": {
|
|
195
|
+
"pass": {
|
|
196
|
+
"type": "array",
|
|
197
|
+
"items": {
|
|
198
|
+
"$ref": "#/$defs/exemplar"
|
|
199
|
+
},
|
|
200
|
+
"description": "Scenarios that comply with this policy."
|
|
201
|
+
},
|
|
202
|
+
"fail": {
|
|
203
|
+
"type": "array",
|
|
204
|
+
"items": {
|
|
205
|
+
"$ref": "#/$defs/exemplar"
|
|
206
|
+
},
|
|
207
|
+
"description": "Scenarios that violate this policy."
|
|
208
|
+
}
|
|
209
|
+
},
|
|
210
|
+
"additionalProperties": false
|
|
211
|
+
},
|
|
212
|
+
"ext": {
|
|
213
|
+
"title": "Extension Object",
|
|
214
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
215
|
+
"type": "object",
|
|
216
|
+
"additionalProperties": true
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
"required": [
|
|
220
|
+
"policy_id",
|
|
221
|
+
"enforcement",
|
|
222
|
+
"policy"
|
|
223
|
+
],
|
|
224
|
+
"additionalProperties": false
|
|
225
|
+
},
|
|
226
|
+
"minItems": 1
|
|
227
|
+
},
|
|
228
|
+
"calibration_exemplars": {
|
|
229
|
+
"type": "object",
|
|
230
|
+
"description": "Training/test set to calibrate policy interpretation. Provides concrete examples of pass/fail decisions.",
|
|
231
|
+
"properties": {
|
|
232
|
+
"pass": {
|
|
233
|
+
"type": "array",
|
|
234
|
+
"items": {
|
|
235
|
+
"title": "Artifact",
|
|
236
|
+
"description": "Content artifact for safety and suitability evaluation. An artifact represents content adjacent to an ad placement - a news article, podcast segment, video chapter, or social post. Artifacts are collections of assets (text, images, video, audio) plus metadata and signals.",
|
|
237
|
+
"type": "object",
|
|
238
|
+
"properties": {
|
|
239
|
+
"property_rid": {
|
|
240
|
+
"type": "string",
|
|
241
|
+
"description": "Stable property identifier from the property catalog. Globally unique across the ecosystem."
|
|
242
|
+
},
|
|
243
|
+
"artifact_id": {
|
|
244
|
+
"type": "string",
|
|
245
|
+
"description": "Identifier for this artifact within the property. The property owner defines the scheme (e.g., 'article_12345', 'episode_42_segment_3', 'post_abc123')."
|
|
246
|
+
},
|
|
247
|
+
"variant_id": {
|
|
248
|
+
"type": "string",
|
|
249
|
+
"description": "Identifies a specific variant of this artifact. Use for A/B tests, translations, or temporal versions. Examples: 'en', 'es-MX', 'v2', 'headline_test_b'. The combination of artifact_id + variant_id must be unique."
|
|
250
|
+
},
|
|
251
|
+
"format_id": {
|
|
252
|
+
"title": "Format Reference (Structured Object)",
|
|
253
|
+
"description": "Always a structured object {agent_url, id} — never a plain string. Optional reference to a format definition. Uses the same format registry as creative formats.",
|
|
254
|
+
"x-entity": "creative_format",
|
|
255
|
+
"type": "object",
|
|
256
|
+
"properties": {
|
|
257
|
+
"agent_url": {
|
|
258
|
+
"type": "string",
|
|
259
|
+
"format": "uri",
|
|
260
|
+
"description": "URL of the agent that defines this format (e.g., 'https://creative.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats). Callers comparing two `format-id` values MUST canonicalize `agent_url` per the AdCP URL canonicalization rules before treating two formats as the same. See docs/reference/url-canonicalization."
|
|
261
|
+
},
|
|
262
|
+
"id": {
|
|
263
|
+
"type": "string",
|
|
264
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
265
|
+
"description": "Format identifier within the agent's namespace (e.g., 'display_static', 'video_hosted', 'audio_standard'). When used alone, references a template format. When combined with dimension/duration fields, creates a parameterized format ID for a specific variant."
|
|
266
|
+
},
|
|
267
|
+
"width": {
|
|
268
|
+
"type": "integer",
|
|
269
|
+
"minimum": 1,
|
|
270
|
+
"description": "Width in pixels for visual formats. When specified, height must also be specified. Both fields together create a parameterized format ID for dimension-specific variants."
|
|
271
|
+
},
|
|
272
|
+
"height": {
|
|
273
|
+
"type": "integer",
|
|
274
|
+
"minimum": 1,
|
|
275
|
+
"description": "Height in pixels for visual formats. When specified, width must also be specified. Both fields together create a parameterized format ID for dimension-specific variants."
|
|
276
|
+
},
|
|
277
|
+
"duration_ms": {
|
|
278
|
+
"type": "number",
|
|
279
|
+
"minimum": 1,
|
|
280
|
+
"description": "Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters."
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
"required": [
|
|
284
|
+
"agent_url",
|
|
285
|
+
"id"
|
|
286
|
+
],
|
|
287
|
+
"additionalProperties": true,
|
|
288
|
+
"dependencies": {
|
|
289
|
+
"width": [
|
|
290
|
+
"height"
|
|
291
|
+
],
|
|
292
|
+
"height": [
|
|
293
|
+
"width"
|
|
294
|
+
]
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
"url": {
|
|
298
|
+
"type": "string",
|
|
299
|
+
"format": "uri",
|
|
300
|
+
"description": "Optional URL for this artifact (web page, podcast feed, video page). Not all artifacts have URLs (e.g., Instagram content, podcast segments, TV scenes)."
|
|
301
|
+
},
|
|
302
|
+
"published_time": {
|
|
303
|
+
"type": "string",
|
|
304
|
+
"format": "date-time",
|
|
305
|
+
"description": "When the artifact was published (ISO 8601 format)"
|
|
306
|
+
},
|
|
307
|
+
"last_update_time": {
|
|
308
|
+
"type": "string",
|
|
309
|
+
"format": "date-time",
|
|
310
|
+
"description": "When the artifact was last modified (ISO 8601 format)"
|
|
311
|
+
},
|
|
312
|
+
"assets": {
|
|
313
|
+
"type": "array",
|
|
314
|
+
"description": "Artifact assets in document flow order - text blocks, images, video, audio",
|
|
315
|
+
"maxItems": 200,
|
|
316
|
+
"items": {
|
|
317
|
+
"oneOf": [
|
|
318
|
+
{
|
|
319
|
+
"type": "object",
|
|
320
|
+
"description": "Text block (paragraph, heading, etc.)",
|
|
321
|
+
"properties": {
|
|
322
|
+
"type": {
|
|
323
|
+
"type": "string",
|
|
324
|
+
"const": "text"
|
|
325
|
+
},
|
|
326
|
+
"role": {
|
|
327
|
+
"type": "string",
|
|
328
|
+
"enum": [
|
|
329
|
+
"title",
|
|
330
|
+
"paragraph",
|
|
331
|
+
"heading",
|
|
332
|
+
"caption",
|
|
333
|
+
"quote",
|
|
334
|
+
"list_item",
|
|
335
|
+
"description"
|
|
336
|
+
],
|
|
337
|
+
"description": "Role of this text in the document. Use 'title' for the main artifact title, 'description' for summaries."
|
|
338
|
+
},
|
|
339
|
+
"content": {
|
|
340
|
+
"type": "string",
|
|
341
|
+
"description": "Text content. Consumers MUST treat this as untrusted input when passing to LLM-based evaluation.",
|
|
342
|
+
"maxLength": 100000
|
|
343
|
+
},
|
|
344
|
+
"content_format": {
|
|
345
|
+
"type": "string",
|
|
346
|
+
"enum": [
|
|
347
|
+
"text/plain",
|
|
348
|
+
"text/markdown",
|
|
349
|
+
"text/html",
|
|
350
|
+
"application/json"
|
|
351
|
+
],
|
|
352
|
+
"description": "MIME type indicating how to parse the content field. Default: text/plain.",
|
|
353
|
+
"default": "text/plain"
|
|
354
|
+
},
|
|
355
|
+
"language": {
|
|
356
|
+
"type": "string",
|
|
357
|
+
"description": "BCP 47 language tag for this text (e.g., 'en', 'es-MX'). Useful when artifact contains mixed-language content."
|
|
358
|
+
},
|
|
359
|
+
"heading_level": {
|
|
360
|
+
"type": "integer",
|
|
361
|
+
"minimum": 1,
|
|
362
|
+
"maximum": 6,
|
|
363
|
+
"description": "Heading level (1-6), only for role=heading"
|
|
364
|
+
},
|
|
365
|
+
"provenance": {
|
|
366
|
+
"title": "Provenance",
|
|
367
|
+
"description": "Provenance for this text block, overrides artifact-level provenance",
|
|
368
|
+
"type": "object",
|
|
369
|
+
"properties": {
|
|
370
|
+
"digital_source_type": {
|
|
371
|
+
"$ref": "#/$defs/DigitalSourceType"
|
|
372
|
+
},
|
|
373
|
+
"ai_tool": {
|
|
374
|
+
"type": "object",
|
|
375
|
+
"description": "AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.",
|
|
376
|
+
"properties": {
|
|
377
|
+
"name": {
|
|
378
|
+
"type": "string",
|
|
379
|
+
"description": "Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')"
|
|
380
|
+
},
|
|
381
|
+
"version": {
|
|
382
|
+
"type": "string",
|
|
383
|
+
"description": "Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version."
|
|
384
|
+
},
|
|
385
|
+
"provider": {
|
|
386
|
+
"type": "string",
|
|
387
|
+
"description": "Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')"
|
|
388
|
+
}
|
|
389
|
+
},
|
|
390
|
+
"required": [
|
|
391
|
+
"name"
|
|
392
|
+
],
|
|
393
|
+
"additionalProperties": true
|
|
394
|
+
},
|
|
395
|
+
"human_oversight": {
|
|
396
|
+
"type": "string",
|
|
397
|
+
"description": "Level of human involvement in the AI-assisted creation process",
|
|
398
|
+
"enum": [
|
|
399
|
+
"none",
|
|
400
|
+
"prompt_only",
|
|
401
|
+
"selected",
|
|
402
|
+
"edited",
|
|
403
|
+
"directed"
|
|
404
|
+
],
|
|
405
|
+
"enumDescriptions": {
|
|
406
|
+
"none": "Fully automated with no human involvement in generation",
|
|
407
|
+
"prompt_only": "Human provided the prompt or instructions but did not review outputs",
|
|
408
|
+
"selected": "Human selected from multiple AI-generated candidates",
|
|
409
|
+
"edited": "Human edited or refined AI-generated output",
|
|
410
|
+
"directed": "Human directed the creative process with AI as an assistive tool"
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
"declared_by": {
|
|
414
|
+
"type": "object",
|
|
415
|
+
"description": "Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.",
|
|
416
|
+
"properties": {
|
|
417
|
+
"agent_url": {
|
|
418
|
+
"type": "string",
|
|
419
|
+
"format": "uri",
|
|
420
|
+
"description": "URL of the agent or service that declared this provenance"
|
|
421
|
+
},
|
|
422
|
+
"role": {
|
|
423
|
+
"type": "string",
|
|
424
|
+
"enum": [
|
|
425
|
+
"creator",
|
|
426
|
+
"advertiser",
|
|
427
|
+
"agency",
|
|
428
|
+
"platform",
|
|
429
|
+
"tool"
|
|
430
|
+
],
|
|
431
|
+
"description": "Role of the declaring party in the supply chain",
|
|
432
|
+
"enumDescriptions": {
|
|
433
|
+
"creator": "The party that created or generated the content",
|
|
434
|
+
"advertiser": "The brand or advertiser that owns the content",
|
|
435
|
+
"agency": "Agency acting on behalf of the advertiser",
|
|
436
|
+
"platform": "Ad platform or publisher that processed the content",
|
|
437
|
+
"tool": "Automated tool or service that attached provenance metadata"
|
|
438
|
+
}
|
|
439
|
+
}
|
|
440
|
+
},
|
|
441
|
+
"required": [
|
|
442
|
+
"role"
|
|
443
|
+
],
|
|
444
|
+
"additionalProperties": true
|
|
445
|
+
},
|
|
446
|
+
"declared_at": {
|
|
447
|
+
"type": "string",
|
|
448
|
+
"format": "date-time",
|
|
449
|
+
"description": "When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance."
|
|
450
|
+
},
|
|
451
|
+
"created_time": {
|
|
452
|
+
"type": "string",
|
|
453
|
+
"format": "date-time",
|
|
454
|
+
"description": "When this content was created or generated (ISO 8601)"
|
|
455
|
+
},
|
|
456
|
+
"c2pa": {
|
|
457
|
+
"type": "object",
|
|
458
|
+
"description": "C2PA Content Credentials reference. Links to the cryptographic provenance manifest for this content. Because file-level C2PA bindings break during ad-tech transcoding, this URL reference preserves the chain of provenance through the supply chain.",
|
|
459
|
+
"properties": {
|
|
460
|
+
"manifest_url": {
|
|
461
|
+
"type": "string",
|
|
462
|
+
"format": "uri",
|
|
463
|
+
"description": "URL to the C2PA manifest store for this content"
|
|
464
|
+
}
|
|
465
|
+
},
|
|
466
|
+
"required": [
|
|
467
|
+
"manifest_url"
|
|
468
|
+
],
|
|
469
|
+
"additionalProperties": true
|
|
470
|
+
},
|
|
471
|
+
"disclosure": {
|
|
472
|
+
"type": "object",
|
|
473
|
+
"description": "Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.",
|
|
474
|
+
"properties": {
|
|
475
|
+
"required": {
|
|
476
|
+
"type": "boolean",
|
|
477
|
+
"description": "Whether AI disclosure is required for this content based on applicable regulations"
|
|
478
|
+
},
|
|
479
|
+
"jurisdictions": {
|
|
480
|
+
"type": "array",
|
|
481
|
+
"description": "Jurisdictions where disclosure obligations apply",
|
|
482
|
+
"items": {
|
|
483
|
+
"type": "object",
|
|
484
|
+
"properties": {
|
|
485
|
+
"country": {
|
|
486
|
+
"type": "string",
|
|
487
|
+
"description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')"
|
|
488
|
+
},
|
|
489
|
+
"region": {
|
|
490
|
+
"type": "string",
|
|
491
|
+
"description": "Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)"
|
|
492
|
+
},
|
|
493
|
+
"regulation": {
|
|
494
|
+
"type": "string",
|
|
495
|
+
"description": "Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')"
|
|
496
|
+
},
|
|
497
|
+
"label_text": {
|
|
498
|
+
"type": "string",
|
|
499
|
+
"description": "Required disclosure label text for this jurisdiction, in the local language"
|
|
500
|
+
},
|
|
501
|
+
"render_guidance": {
|
|
502
|
+
"type": "object",
|
|
503
|
+
"description": "How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.",
|
|
504
|
+
"minProperties": 1,
|
|
505
|
+
"properties": {
|
|
506
|
+
"persistence": {
|
|
507
|
+
"$ref": "#/$defs/DisclosurePersistence"
|
|
508
|
+
},
|
|
509
|
+
"min_duration_ms": {
|
|
510
|
+
"type": "integer",
|
|
511
|
+
"minimum": 1,
|
|
512
|
+
"description": "Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available."
|
|
513
|
+
},
|
|
514
|
+
"positions": {
|
|
515
|
+
"type": "array",
|
|
516
|
+
"description": "Preferred disclosure positions in priority order. The first position a format supports should be used.",
|
|
517
|
+
"items": {
|
|
518
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
519
|
+
},
|
|
520
|
+
"minItems": 1,
|
|
521
|
+
"uniqueItems": true
|
|
522
|
+
},
|
|
523
|
+
"ext": {
|
|
524
|
+
"title": "Extension Object",
|
|
525
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
526
|
+
"type": "object",
|
|
527
|
+
"additionalProperties": true
|
|
528
|
+
}
|
|
529
|
+
},
|
|
530
|
+
"additionalProperties": true
|
|
531
|
+
}
|
|
532
|
+
},
|
|
533
|
+
"required": [
|
|
534
|
+
"country",
|
|
535
|
+
"regulation"
|
|
536
|
+
],
|
|
537
|
+
"additionalProperties": true
|
|
538
|
+
},
|
|
539
|
+
"minItems": 1
|
|
540
|
+
}
|
|
541
|
+
},
|
|
542
|
+
"required": [
|
|
543
|
+
"required"
|
|
544
|
+
],
|
|
545
|
+
"additionalProperties": true
|
|
546
|
+
},
|
|
547
|
+
"verification": {
|
|
548
|
+
"type": "array",
|
|
549
|
+
"description": "Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.",
|
|
550
|
+
"minItems": 1,
|
|
551
|
+
"items": {
|
|
552
|
+
"type": "object",
|
|
553
|
+
"properties": {
|
|
554
|
+
"verified_by": {
|
|
555
|
+
"type": "string",
|
|
556
|
+
"description": "Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')"
|
|
557
|
+
},
|
|
558
|
+
"verified_time": {
|
|
559
|
+
"type": "string",
|
|
560
|
+
"format": "date-time",
|
|
561
|
+
"description": "When the verification was performed (ISO 8601)"
|
|
562
|
+
},
|
|
563
|
+
"result": {
|
|
564
|
+
"type": "string",
|
|
565
|
+
"enum": [
|
|
566
|
+
"authentic",
|
|
567
|
+
"ai_generated",
|
|
568
|
+
"ai_modified",
|
|
569
|
+
"inconclusive"
|
|
570
|
+
],
|
|
571
|
+
"description": "Verification outcome"
|
|
572
|
+
},
|
|
573
|
+
"confidence": {
|
|
574
|
+
"type": "number",
|
|
575
|
+
"minimum": 0,
|
|
576
|
+
"maximum": 1,
|
|
577
|
+
"description": "Confidence score of the verification result (0.0 to 1.0)"
|
|
578
|
+
},
|
|
579
|
+
"details_url": {
|
|
580
|
+
"type": "string",
|
|
581
|
+
"format": "uri",
|
|
582
|
+
"description": "URL to the full verification report"
|
|
583
|
+
}
|
|
584
|
+
},
|
|
585
|
+
"required": [
|
|
586
|
+
"verified_by",
|
|
587
|
+
"result"
|
|
588
|
+
],
|
|
589
|
+
"additionalProperties": true
|
|
590
|
+
}
|
|
591
|
+
},
|
|
592
|
+
"ext": {
|
|
593
|
+
"title": "Extension Object",
|
|
594
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
595
|
+
"type": "object",
|
|
596
|
+
"additionalProperties": true
|
|
597
|
+
}
|
|
598
|
+
},
|
|
599
|
+
"additionalProperties": true
|
|
600
|
+
}
|
|
601
|
+
},
|
|
602
|
+
"required": [
|
|
603
|
+
"type",
|
|
604
|
+
"content"
|
|
605
|
+
]
|
|
606
|
+
},
|
|
607
|
+
{
|
|
608
|
+
"type": "object",
|
|
609
|
+
"description": "Image asset",
|
|
610
|
+
"properties": {
|
|
611
|
+
"type": {
|
|
612
|
+
"type": "string",
|
|
613
|
+
"const": "image"
|
|
614
|
+
},
|
|
615
|
+
"url": {
|
|
616
|
+
"type": "string",
|
|
617
|
+
"format": "uri",
|
|
618
|
+
"description": "Image URL"
|
|
619
|
+
},
|
|
620
|
+
"access": {
|
|
621
|
+
"$ref": "#/$defs/asset_access",
|
|
622
|
+
"description": "Authentication for secured URLs"
|
|
623
|
+
},
|
|
624
|
+
"alt_text": {
|
|
625
|
+
"type": "string",
|
|
626
|
+
"description": "Alt text or image description"
|
|
627
|
+
},
|
|
628
|
+
"caption": {
|
|
629
|
+
"type": "string",
|
|
630
|
+
"description": "Image caption"
|
|
631
|
+
},
|
|
632
|
+
"width": {
|
|
633
|
+
"type": "integer",
|
|
634
|
+
"description": "Image width in pixels"
|
|
635
|
+
},
|
|
636
|
+
"height": {
|
|
637
|
+
"type": "integer",
|
|
638
|
+
"description": "Image height in pixels"
|
|
639
|
+
},
|
|
640
|
+
"provenance": {
|
|
641
|
+
"title": "Provenance",
|
|
642
|
+
"description": "Provenance for this image, overrides artifact-level provenance",
|
|
643
|
+
"type": "object",
|
|
644
|
+
"properties": {
|
|
645
|
+
"digital_source_type": {
|
|
646
|
+
"$ref": "#/$defs/DigitalSourceType"
|
|
647
|
+
},
|
|
648
|
+
"ai_tool": {
|
|
649
|
+
"type": "object",
|
|
650
|
+
"description": "AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.",
|
|
651
|
+
"properties": {
|
|
652
|
+
"name": {
|
|
653
|
+
"type": "string",
|
|
654
|
+
"description": "Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')"
|
|
655
|
+
},
|
|
656
|
+
"version": {
|
|
657
|
+
"type": "string",
|
|
658
|
+
"description": "Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version."
|
|
659
|
+
},
|
|
660
|
+
"provider": {
|
|
661
|
+
"type": "string",
|
|
662
|
+
"description": "Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')"
|
|
663
|
+
}
|
|
664
|
+
},
|
|
665
|
+
"required": [
|
|
666
|
+
"name"
|
|
667
|
+
],
|
|
668
|
+
"additionalProperties": true
|
|
669
|
+
},
|
|
670
|
+
"human_oversight": {
|
|
671
|
+
"type": "string",
|
|
672
|
+
"description": "Level of human involvement in the AI-assisted creation process",
|
|
673
|
+
"enum": [
|
|
674
|
+
"none",
|
|
675
|
+
"prompt_only",
|
|
676
|
+
"selected",
|
|
677
|
+
"edited",
|
|
678
|
+
"directed"
|
|
679
|
+
],
|
|
680
|
+
"enumDescriptions": {
|
|
681
|
+
"none": "Fully automated with no human involvement in generation",
|
|
682
|
+
"prompt_only": "Human provided the prompt or instructions but did not review outputs",
|
|
683
|
+
"selected": "Human selected from multiple AI-generated candidates",
|
|
684
|
+
"edited": "Human edited or refined AI-generated output",
|
|
685
|
+
"directed": "Human directed the creative process with AI as an assistive tool"
|
|
686
|
+
}
|
|
687
|
+
},
|
|
688
|
+
"declared_by": {
|
|
689
|
+
"type": "object",
|
|
690
|
+
"description": "Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.",
|
|
691
|
+
"properties": {
|
|
692
|
+
"agent_url": {
|
|
693
|
+
"type": "string",
|
|
694
|
+
"format": "uri",
|
|
695
|
+
"description": "URL of the agent or service that declared this provenance"
|
|
696
|
+
},
|
|
697
|
+
"role": {
|
|
698
|
+
"type": "string",
|
|
699
|
+
"enum": [
|
|
700
|
+
"creator",
|
|
701
|
+
"advertiser",
|
|
702
|
+
"agency",
|
|
703
|
+
"platform",
|
|
704
|
+
"tool"
|
|
705
|
+
],
|
|
706
|
+
"description": "Role of the declaring party in the supply chain",
|
|
707
|
+
"enumDescriptions": {
|
|
708
|
+
"creator": "The party that created or generated the content",
|
|
709
|
+
"advertiser": "The brand or advertiser that owns the content",
|
|
710
|
+
"agency": "Agency acting on behalf of the advertiser",
|
|
711
|
+
"platform": "Ad platform or publisher that processed the content",
|
|
712
|
+
"tool": "Automated tool or service that attached provenance metadata"
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
},
|
|
716
|
+
"required": [
|
|
717
|
+
"role"
|
|
718
|
+
],
|
|
719
|
+
"additionalProperties": true
|
|
720
|
+
},
|
|
721
|
+
"declared_at": {
|
|
722
|
+
"type": "string",
|
|
723
|
+
"format": "date-time",
|
|
724
|
+
"description": "When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance."
|
|
725
|
+
},
|
|
726
|
+
"created_time": {
|
|
727
|
+
"type": "string",
|
|
728
|
+
"format": "date-time",
|
|
729
|
+
"description": "When this content was created or generated (ISO 8601)"
|
|
730
|
+
},
|
|
731
|
+
"c2pa": {
|
|
732
|
+
"type": "object",
|
|
733
|
+
"description": "C2PA Content Credentials reference. Links to the cryptographic provenance manifest for this content. Because file-level C2PA bindings break during ad-tech transcoding, this URL reference preserves the chain of provenance through the supply chain.",
|
|
734
|
+
"properties": {
|
|
735
|
+
"manifest_url": {
|
|
736
|
+
"type": "string",
|
|
737
|
+
"format": "uri",
|
|
738
|
+
"description": "URL to the C2PA manifest store for this content"
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
"required": [
|
|
742
|
+
"manifest_url"
|
|
743
|
+
],
|
|
744
|
+
"additionalProperties": true
|
|
745
|
+
},
|
|
746
|
+
"disclosure": {
|
|
747
|
+
"type": "object",
|
|
748
|
+
"description": "Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.",
|
|
749
|
+
"properties": {
|
|
750
|
+
"required": {
|
|
751
|
+
"type": "boolean",
|
|
752
|
+
"description": "Whether AI disclosure is required for this content based on applicable regulations"
|
|
753
|
+
},
|
|
754
|
+
"jurisdictions": {
|
|
755
|
+
"type": "array",
|
|
756
|
+
"description": "Jurisdictions where disclosure obligations apply",
|
|
757
|
+
"items": {
|
|
758
|
+
"type": "object",
|
|
759
|
+
"properties": {
|
|
760
|
+
"country": {
|
|
761
|
+
"type": "string",
|
|
762
|
+
"description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')"
|
|
763
|
+
},
|
|
764
|
+
"region": {
|
|
765
|
+
"type": "string",
|
|
766
|
+
"description": "Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)"
|
|
767
|
+
},
|
|
768
|
+
"regulation": {
|
|
769
|
+
"type": "string",
|
|
770
|
+
"description": "Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')"
|
|
771
|
+
},
|
|
772
|
+
"label_text": {
|
|
773
|
+
"type": "string",
|
|
774
|
+
"description": "Required disclosure label text for this jurisdiction, in the local language"
|
|
775
|
+
},
|
|
776
|
+
"render_guidance": {
|
|
777
|
+
"type": "object",
|
|
778
|
+
"description": "How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.",
|
|
779
|
+
"minProperties": 1,
|
|
780
|
+
"properties": {
|
|
781
|
+
"persistence": {
|
|
782
|
+
"$ref": "#/$defs/DisclosurePersistence"
|
|
783
|
+
},
|
|
784
|
+
"min_duration_ms": {
|
|
785
|
+
"type": "integer",
|
|
786
|
+
"minimum": 1,
|
|
787
|
+
"description": "Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available."
|
|
788
|
+
},
|
|
789
|
+
"positions": {
|
|
790
|
+
"type": "array",
|
|
791
|
+
"description": "Preferred disclosure positions in priority order. The first position a format supports should be used.",
|
|
792
|
+
"items": {
|
|
793
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
794
|
+
},
|
|
795
|
+
"minItems": 1,
|
|
796
|
+
"uniqueItems": true
|
|
797
|
+
},
|
|
798
|
+
"ext": {
|
|
799
|
+
"title": "Extension Object",
|
|
800
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
801
|
+
"type": "object",
|
|
802
|
+
"additionalProperties": true
|
|
803
|
+
}
|
|
804
|
+
},
|
|
805
|
+
"additionalProperties": true
|
|
806
|
+
}
|
|
807
|
+
},
|
|
808
|
+
"required": [
|
|
809
|
+
"country",
|
|
810
|
+
"regulation"
|
|
811
|
+
],
|
|
812
|
+
"additionalProperties": true
|
|
813
|
+
},
|
|
814
|
+
"minItems": 1
|
|
815
|
+
}
|
|
816
|
+
},
|
|
817
|
+
"required": [
|
|
818
|
+
"required"
|
|
819
|
+
],
|
|
820
|
+
"additionalProperties": true
|
|
821
|
+
},
|
|
822
|
+
"verification": {
|
|
823
|
+
"type": "array",
|
|
824
|
+
"description": "Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.",
|
|
825
|
+
"minItems": 1,
|
|
826
|
+
"items": {
|
|
827
|
+
"type": "object",
|
|
828
|
+
"properties": {
|
|
829
|
+
"verified_by": {
|
|
830
|
+
"type": "string",
|
|
831
|
+
"description": "Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')"
|
|
832
|
+
},
|
|
833
|
+
"verified_time": {
|
|
834
|
+
"type": "string",
|
|
835
|
+
"format": "date-time",
|
|
836
|
+
"description": "When the verification was performed (ISO 8601)"
|
|
837
|
+
},
|
|
838
|
+
"result": {
|
|
839
|
+
"type": "string",
|
|
840
|
+
"enum": [
|
|
841
|
+
"authentic",
|
|
842
|
+
"ai_generated",
|
|
843
|
+
"ai_modified",
|
|
844
|
+
"inconclusive"
|
|
845
|
+
],
|
|
846
|
+
"description": "Verification outcome"
|
|
847
|
+
},
|
|
848
|
+
"confidence": {
|
|
849
|
+
"type": "number",
|
|
850
|
+
"minimum": 0,
|
|
851
|
+
"maximum": 1,
|
|
852
|
+
"description": "Confidence score of the verification result (0.0 to 1.0)"
|
|
853
|
+
},
|
|
854
|
+
"details_url": {
|
|
855
|
+
"type": "string",
|
|
856
|
+
"format": "uri",
|
|
857
|
+
"description": "URL to the full verification report"
|
|
858
|
+
}
|
|
859
|
+
},
|
|
860
|
+
"required": [
|
|
861
|
+
"verified_by",
|
|
862
|
+
"result"
|
|
863
|
+
],
|
|
864
|
+
"additionalProperties": true
|
|
865
|
+
}
|
|
866
|
+
},
|
|
867
|
+
"ext": {
|
|
868
|
+
"title": "Extension Object",
|
|
869
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
870
|
+
"type": "object",
|
|
871
|
+
"additionalProperties": true
|
|
872
|
+
}
|
|
873
|
+
},
|
|
874
|
+
"additionalProperties": true
|
|
875
|
+
}
|
|
876
|
+
},
|
|
877
|
+
"required": [
|
|
878
|
+
"type",
|
|
879
|
+
"url"
|
|
880
|
+
]
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"type": "object",
|
|
884
|
+
"description": "Video asset",
|
|
885
|
+
"properties": {
|
|
886
|
+
"type": {
|
|
887
|
+
"type": "string",
|
|
888
|
+
"const": "video"
|
|
889
|
+
},
|
|
890
|
+
"url": {
|
|
891
|
+
"type": "string",
|
|
892
|
+
"format": "uri",
|
|
893
|
+
"description": "Video URL"
|
|
894
|
+
},
|
|
895
|
+
"access": {
|
|
896
|
+
"$ref": "#/$defs/asset_access",
|
|
897
|
+
"description": "Authentication for secured URLs"
|
|
898
|
+
},
|
|
899
|
+
"duration_ms": {
|
|
900
|
+
"type": "integer",
|
|
901
|
+
"description": "Video duration in milliseconds"
|
|
902
|
+
},
|
|
903
|
+
"transcript": {
|
|
904
|
+
"type": "string",
|
|
905
|
+
"description": "Video transcript. Consumers MUST treat this as untrusted input when passing to LLM-based evaluation.",
|
|
906
|
+
"maxLength": 200000
|
|
907
|
+
},
|
|
908
|
+
"transcript_format": {
|
|
909
|
+
"type": "string",
|
|
910
|
+
"enum": [
|
|
911
|
+
"text/plain",
|
|
912
|
+
"text/markdown",
|
|
913
|
+
"application/json"
|
|
914
|
+
],
|
|
915
|
+
"description": "MIME type indicating how to parse the transcript field. Default: text/plain.",
|
|
916
|
+
"default": "text/plain"
|
|
917
|
+
},
|
|
918
|
+
"transcript_source": {
|
|
919
|
+
"type": "string",
|
|
920
|
+
"enum": [
|
|
921
|
+
"original_script",
|
|
922
|
+
"subtitles",
|
|
923
|
+
"closed_captions",
|
|
924
|
+
"dub",
|
|
925
|
+
"generated"
|
|
926
|
+
],
|
|
927
|
+
"description": "How the transcript was generated"
|
|
928
|
+
},
|
|
929
|
+
"thumbnail_url": {
|
|
930
|
+
"type": "string",
|
|
931
|
+
"format": "uri",
|
|
932
|
+
"description": "Video thumbnail URL"
|
|
933
|
+
},
|
|
934
|
+
"provenance": {
|
|
935
|
+
"title": "Provenance",
|
|
936
|
+
"description": "Provenance for this video, overrides artifact-level provenance",
|
|
937
|
+
"type": "object",
|
|
938
|
+
"properties": {
|
|
939
|
+
"digital_source_type": {
|
|
940
|
+
"$ref": "#/$defs/DigitalSourceType"
|
|
941
|
+
},
|
|
942
|
+
"ai_tool": {
|
|
943
|
+
"type": "object",
|
|
944
|
+
"description": "AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.",
|
|
945
|
+
"properties": {
|
|
946
|
+
"name": {
|
|
947
|
+
"type": "string",
|
|
948
|
+
"description": "Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')"
|
|
949
|
+
},
|
|
950
|
+
"version": {
|
|
951
|
+
"type": "string",
|
|
952
|
+
"description": "Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version."
|
|
953
|
+
},
|
|
954
|
+
"provider": {
|
|
955
|
+
"type": "string",
|
|
956
|
+
"description": "Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')"
|
|
957
|
+
}
|
|
958
|
+
},
|
|
959
|
+
"required": [
|
|
960
|
+
"name"
|
|
961
|
+
],
|
|
962
|
+
"additionalProperties": true
|
|
963
|
+
},
|
|
964
|
+
"human_oversight": {
|
|
965
|
+
"type": "string",
|
|
966
|
+
"description": "Level of human involvement in the AI-assisted creation process",
|
|
967
|
+
"enum": [
|
|
968
|
+
"none",
|
|
969
|
+
"prompt_only",
|
|
970
|
+
"selected",
|
|
971
|
+
"edited",
|
|
972
|
+
"directed"
|
|
973
|
+
],
|
|
974
|
+
"enumDescriptions": {
|
|
975
|
+
"none": "Fully automated with no human involvement in generation",
|
|
976
|
+
"prompt_only": "Human provided the prompt or instructions but did not review outputs",
|
|
977
|
+
"selected": "Human selected from multiple AI-generated candidates",
|
|
978
|
+
"edited": "Human edited or refined AI-generated output",
|
|
979
|
+
"directed": "Human directed the creative process with AI as an assistive tool"
|
|
980
|
+
}
|
|
981
|
+
},
|
|
982
|
+
"declared_by": {
|
|
983
|
+
"type": "object",
|
|
984
|
+
"description": "Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.",
|
|
985
|
+
"properties": {
|
|
986
|
+
"agent_url": {
|
|
987
|
+
"type": "string",
|
|
988
|
+
"format": "uri",
|
|
989
|
+
"description": "URL of the agent or service that declared this provenance"
|
|
990
|
+
},
|
|
991
|
+
"role": {
|
|
992
|
+
"type": "string",
|
|
993
|
+
"enum": [
|
|
994
|
+
"creator",
|
|
995
|
+
"advertiser",
|
|
996
|
+
"agency",
|
|
997
|
+
"platform",
|
|
998
|
+
"tool"
|
|
999
|
+
],
|
|
1000
|
+
"description": "Role of the declaring party in the supply chain",
|
|
1001
|
+
"enumDescriptions": {
|
|
1002
|
+
"creator": "The party that created or generated the content",
|
|
1003
|
+
"advertiser": "The brand or advertiser that owns the content",
|
|
1004
|
+
"agency": "Agency acting on behalf of the advertiser",
|
|
1005
|
+
"platform": "Ad platform or publisher that processed the content",
|
|
1006
|
+
"tool": "Automated tool or service that attached provenance metadata"
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
},
|
|
1010
|
+
"required": [
|
|
1011
|
+
"role"
|
|
1012
|
+
],
|
|
1013
|
+
"additionalProperties": true
|
|
1014
|
+
},
|
|
1015
|
+
"declared_at": {
|
|
1016
|
+
"type": "string",
|
|
1017
|
+
"format": "date-time",
|
|
1018
|
+
"description": "When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance."
|
|
1019
|
+
},
|
|
1020
|
+
"created_time": {
|
|
1021
|
+
"type": "string",
|
|
1022
|
+
"format": "date-time",
|
|
1023
|
+
"description": "When this content was created or generated (ISO 8601)"
|
|
1024
|
+
},
|
|
1025
|
+
"c2pa": {
|
|
1026
|
+
"type": "object",
|
|
1027
|
+
"description": "C2PA Content Credentials reference. Links to the cryptographic provenance manifest for this content. Because file-level C2PA bindings break during ad-tech transcoding, this URL reference preserves the chain of provenance through the supply chain.",
|
|
1028
|
+
"properties": {
|
|
1029
|
+
"manifest_url": {
|
|
1030
|
+
"type": "string",
|
|
1031
|
+
"format": "uri",
|
|
1032
|
+
"description": "URL to the C2PA manifest store for this content"
|
|
1033
|
+
}
|
|
1034
|
+
},
|
|
1035
|
+
"required": [
|
|
1036
|
+
"manifest_url"
|
|
1037
|
+
],
|
|
1038
|
+
"additionalProperties": true
|
|
1039
|
+
},
|
|
1040
|
+
"disclosure": {
|
|
1041
|
+
"type": "object",
|
|
1042
|
+
"description": "Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.",
|
|
1043
|
+
"properties": {
|
|
1044
|
+
"required": {
|
|
1045
|
+
"type": "boolean",
|
|
1046
|
+
"description": "Whether AI disclosure is required for this content based on applicable regulations"
|
|
1047
|
+
},
|
|
1048
|
+
"jurisdictions": {
|
|
1049
|
+
"type": "array",
|
|
1050
|
+
"description": "Jurisdictions where disclosure obligations apply",
|
|
1051
|
+
"items": {
|
|
1052
|
+
"type": "object",
|
|
1053
|
+
"properties": {
|
|
1054
|
+
"country": {
|
|
1055
|
+
"type": "string",
|
|
1056
|
+
"description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')"
|
|
1057
|
+
},
|
|
1058
|
+
"region": {
|
|
1059
|
+
"type": "string",
|
|
1060
|
+
"description": "Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)"
|
|
1061
|
+
},
|
|
1062
|
+
"regulation": {
|
|
1063
|
+
"type": "string",
|
|
1064
|
+
"description": "Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')"
|
|
1065
|
+
},
|
|
1066
|
+
"label_text": {
|
|
1067
|
+
"type": "string",
|
|
1068
|
+
"description": "Required disclosure label text for this jurisdiction, in the local language"
|
|
1069
|
+
},
|
|
1070
|
+
"render_guidance": {
|
|
1071
|
+
"type": "object",
|
|
1072
|
+
"description": "How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.",
|
|
1073
|
+
"minProperties": 1,
|
|
1074
|
+
"properties": {
|
|
1075
|
+
"persistence": {
|
|
1076
|
+
"$ref": "#/$defs/DisclosurePersistence"
|
|
1077
|
+
},
|
|
1078
|
+
"min_duration_ms": {
|
|
1079
|
+
"type": "integer",
|
|
1080
|
+
"minimum": 1,
|
|
1081
|
+
"description": "Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available."
|
|
1082
|
+
},
|
|
1083
|
+
"positions": {
|
|
1084
|
+
"type": "array",
|
|
1085
|
+
"description": "Preferred disclosure positions in priority order. The first position a format supports should be used.",
|
|
1086
|
+
"items": {
|
|
1087
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
1088
|
+
},
|
|
1089
|
+
"minItems": 1,
|
|
1090
|
+
"uniqueItems": true
|
|
1091
|
+
},
|
|
1092
|
+
"ext": {
|
|
1093
|
+
"title": "Extension Object",
|
|
1094
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
1095
|
+
"type": "object",
|
|
1096
|
+
"additionalProperties": true
|
|
1097
|
+
}
|
|
1098
|
+
},
|
|
1099
|
+
"additionalProperties": true
|
|
1100
|
+
}
|
|
1101
|
+
},
|
|
1102
|
+
"required": [
|
|
1103
|
+
"country",
|
|
1104
|
+
"regulation"
|
|
1105
|
+
],
|
|
1106
|
+
"additionalProperties": true
|
|
1107
|
+
},
|
|
1108
|
+
"minItems": 1
|
|
1109
|
+
}
|
|
1110
|
+
},
|
|
1111
|
+
"required": [
|
|
1112
|
+
"required"
|
|
1113
|
+
],
|
|
1114
|
+
"additionalProperties": true
|
|
1115
|
+
},
|
|
1116
|
+
"verification": {
|
|
1117
|
+
"type": "array",
|
|
1118
|
+
"description": "Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.",
|
|
1119
|
+
"minItems": 1,
|
|
1120
|
+
"items": {
|
|
1121
|
+
"type": "object",
|
|
1122
|
+
"properties": {
|
|
1123
|
+
"verified_by": {
|
|
1124
|
+
"type": "string",
|
|
1125
|
+
"description": "Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')"
|
|
1126
|
+
},
|
|
1127
|
+
"verified_time": {
|
|
1128
|
+
"type": "string",
|
|
1129
|
+
"format": "date-time",
|
|
1130
|
+
"description": "When the verification was performed (ISO 8601)"
|
|
1131
|
+
},
|
|
1132
|
+
"result": {
|
|
1133
|
+
"type": "string",
|
|
1134
|
+
"enum": [
|
|
1135
|
+
"authentic",
|
|
1136
|
+
"ai_generated",
|
|
1137
|
+
"ai_modified",
|
|
1138
|
+
"inconclusive"
|
|
1139
|
+
],
|
|
1140
|
+
"description": "Verification outcome"
|
|
1141
|
+
},
|
|
1142
|
+
"confidence": {
|
|
1143
|
+
"type": "number",
|
|
1144
|
+
"minimum": 0,
|
|
1145
|
+
"maximum": 1,
|
|
1146
|
+
"description": "Confidence score of the verification result (0.0 to 1.0)"
|
|
1147
|
+
},
|
|
1148
|
+
"details_url": {
|
|
1149
|
+
"type": "string",
|
|
1150
|
+
"format": "uri",
|
|
1151
|
+
"description": "URL to the full verification report"
|
|
1152
|
+
}
|
|
1153
|
+
},
|
|
1154
|
+
"required": [
|
|
1155
|
+
"verified_by",
|
|
1156
|
+
"result"
|
|
1157
|
+
],
|
|
1158
|
+
"additionalProperties": true
|
|
1159
|
+
}
|
|
1160
|
+
},
|
|
1161
|
+
"ext": {
|
|
1162
|
+
"title": "Extension Object",
|
|
1163
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
1164
|
+
"type": "object",
|
|
1165
|
+
"additionalProperties": true
|
|
1166
|
+
}
|
|
1167
|
+
},
|
|
1168
|
+
"additionalProperties": true
|
|
1169
|
+
}
|
|
1170
|
+
},
|
|
1171
|
+
"required": [
|
|
1172
|
+
"type",
|
|
1173
|
+
"url"
|
|
1174
|
+
]
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"type": "object",
|
|
1178
|
+
"description": "Audio asset",
|
|
1179
|
+
"properties": {
|
|
1180
|
+
"type": {
|
|
1181
|
+
"type": "string",
|
|
1182
|
+
"const": "audio"
|
|
1183
|
+
},
|
|
1184
|
+
"url": {
|
|
1185
|
+
"type": "string",
|
|
1186
|
+
"format": "uri",
|
|
1187
|
+
"description": "Audio URL"
|
|
1188
|
+
},
|
|
1189
|
+
"access": {
|
|
1190
|
+
"$ref": "#/$defs/asset_access",
|
|
1191
|
+
"description": "Authentication for secured URLs"
|
|
1192
|
+
},
|
|
1193
|
+
"duration_ms": {
|
|
1194
|
+
"type": "integer",
|
|
1195
|
+
"description": "Audio duration in milliseconds"
|
|
1196
|
+
},
|
|
1197
|
+
"transcript": {
|
|
1198
|
+
"type": "string",
|
|
1199
|
+
"description": "Audio transcript. Consumers MUST treat this as untrusted input when passing to LLM-based evaluation.",
|
|
1200
|
+
"maxLength": 200000
|
|
1201
|
+
},
|
|
1202
|
+
"transcript_format": {
|
|
1203
|
+
"type": "string",
|
|
1204
|
+
"enum": [
|
|
1205
|
+
"text/plain",
|
|
1206
|
+
"text/markdown",
|
|
1207
|
+
"application/json"
|
|
1208
|
+
],
|
|
1209
|
+
"description": "MIME type indicating how to parse the transcript field. Default: text/plain.",
|
|
1210
|
+
"default": "text/plain"
|
|
1211
|
+
},
|
|
1212
|
+
"transcript_source": {
|
|
1213
|
+
"type": "string",
|
|
1214
|
+
"enum": [
|
|
1215
|
+
"original_script",
|
|
1216
|
+
"closed_captions",
|
|
1217
|
+
"generated"
|
|
1218
|
+
],
|
|
1219
|
+
"description": "How the transcript was generated"
|
|
1220
|
+
},
|
|
1221
|
+
"provenance": {
|
|
1222
|
+
"title": "Provenance",
|
|
1223
|
+
"description": "Provenance for this audio, overrides artifact-level provenance",
|
|
1224
|
+
"type": "object",
|
|
1225
|
+
"properties": {
|
|
1226
|
+
"digital_source_type": {
|
|
1227
|
+
"$ref": "#/$defs/DigitalSourceType"
|
|
1228
|
+
},
|
|
1229
|
+
"ai_tool": {
|
|
1230
|
+
"type": "object",
|
|
1231
|
+
"description": "AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.",
|
|
1232
|
+
"properties": {
|
|
1233
|
+
"name": {
|
|
1234
|
+
"type": "string",
|
|
1235
|
+
"description": "Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')"
|
|
1236
|
+
},
|
|
1237
|
+
"version": {
|
|
1238
|
+
"type": "string",
|
|
1239
|
+
"description": "Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version."
|
|
1240
|
+
},
|
|
1241
|
+
"provider": {
|
|
1242
|
+
"type": "string",
|
|
1243
|
+
"description": "Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')"
|
|
1244
|
+
}
|
|
1245
|
+
},
|
|
1246
|
+
"required": [
|
|
1247
|
+
"name"
|
|
1248
|
+
],
|
|
1249
|
+
"additionalProperties": true
|
|
1250
|
+
},
|
|
1251
|
+
"human_oversight": {
|
|
1252
|
+
"type": "string",
|
|
1253
|
+
"description": "Level of human involvement in the AI-assisted creation process",
|
|
1254
|
+
"enum": [
|
|
1255
|
+
"none",
|
|
1256
|
+
"prompt_only",
|
|
1257
|
+
"selected",
|
|
1258
|
+
"edited",
|
|
1259
|
+
"directed"
|
|
1260
|
+
],
|
|
1261
|
+
"enumDescriptions": {
|
|
1262
|
+
"none": "Fully automated with no human involvement in generation",
|
|
1263
|
+
"prompt_only": "Human provided the prompt or instructions but did not review outputs",
|
|
1264
|
+
"selected": "Human selected from multiple AI-generated candidates",
|
|
1265
|
+
"edited": "Human edited or refined AI-generated output",
|
|
1266
|
+
"directed": "Human directed the creative process with AI as an assistive tool"
|
|
1267
|
+
}
|
|
1268
|
+
},
|
|
1269
|
+
"declared_by": {
|
|
1270
|
+
"type": "object",
|
|
1271
|
+
"description": "Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.",
|
|
1272
|
+
"properties": {
|
|
1273
|
+
"agent_url": {
|
|
1274
|
+
"type": "string",
|
|
1275
|
+
"format": "uri",
|
|
1276
|
+
"description": "URL of the agent or service that declared this provenance"
|
|
1277
|
+
},
|
|
1278
|
+
"role": {
|
|
1279
|
+
"type": "string",
|
|
1280
|
+
"enum": [
|
|
1281
|
+
"creator",
|
|
1282
|
+
"advertiser",
|
|
1283
|
+
"agency",
|
|
1284
|
+
"platform",
|
|
1285
|
+
"tool"
|
|
1286
|
+
],
|
|
1287
|
+
"description": "Role of the declaring party in the supply chain",
|
|
1288
|
+
"enumDescriptions": {
|
|
1289
|
+
"creator": "The party that created or generated the content",
|
|
1290
|
+
"advertiser": "The brand or advertiser that owns the content",
|
|
1291
|
+
"agency": "Agency acting on behalf of the advertiser",
|
|
1292
|
+
"platform": "Ad platform or publisher that processed the content",
|
|
1293
|
+
"tool": "Automated tool or service that attached provenance metadata"
|
|
1294
|
+
}
|
|
1295
|
+
}
|
|
1296
|
+
},
|
|
1297
|
+
"required": [
|
|
1298
|
+
"role"
|
|
1299
|
+
],
|
|
1300
|
+
"additionalProperties": true
|
|
1301
|
+
},
|
|
1302
|
+
"declared_at": {
|
|
1303
|
+
"type": "string",
|
|
1304
|
+
"format": "date-time",
|
|
1305
|
+
"description": "When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance."
|
|
1306
|
+
},
|
|
1307
|
+
"created_time": {
|
|
1308
|
+
"type": "string",
|
|
1309
|
+
"format": "date-time",
|
|
1310
|
+
"description": "When this content was created or generated (ISO 8601)"
|
|
1311
|
+
},
|
|
1312
|
+
"c2pa": {
|
|
1313
|
+
"type": "object",
|
|
1314
|
+
"description": "C2PA Content Credentials reference. Links to the cryptographic provenance manifest for this content. Because file-level C2PA bindings break during ad-tech transcoding, this URL reference preserves the chain of provenance through the supply chain.",
|
|
1315
|
+
"properties": {
|
|
1316
|
+
"manifest_url": {
|
|
1317
|
+
"type": "string",
|
|
1318
|
+
"format": "uri",
|
|
1319
|
+
"description": "URL to the C2PA manifest store for this content"
|
|
1320
|
+
}
|
|
1321
|
+
},
|
|
1322
|
+
"required": [
|
|
1323
|
+
"manifest_url"
|
|
1324
|
+
],
|
|
1325
|
+
"additionalProperties": true
|
|
1326
|
+
},
|
|
1327
|
+
"disclosure": {
|
|
1328
|
+
"type": "object",
|
|
1329
|
+
"description": "Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.",
|
|
1330
|
+
"properties": {
|
|
1331
|
+
"required": {
|
|
1332
|
+
"type": "boolean",
|
|
1333
|
+
"description": "Whether AI disclosure is required for this content based on applicable regulations"
|
|
1334
|
+
},
|
|
1335
|
+
"jurisdictions": {
|
|
1336
|
+
"type": "array",
|
|
1337
|
+
"description": "Jurisdictions where disclosure obligations apply",
|
|
1338
|
+
"items": {
|
|
1339
|
+
"type": "object",
|
|
1340
|
+
"properties": {
|
|
1341
|
+
"country": {
|
|
1342
|
+
"type": "string",
|
|
1343
|
+
"description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')"
|
|
1344
|
+
},
|
|
1345
|
+
"region": {
|
|
1346
|
+
"type": "string",
|
|
1347
|
+
"description": "Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)"
|
|
1348
|
+
},
|
|
1349
|
+
"regulation": {
|
|
1350
|
+
"type": "string",
|
|
1351
|
+
"description": "Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')"
|
|
1352
|
+
},
|
|
1353
|
+
"label_text": {
|
|
1354
|
+
"type": "string",
|
|
1355
|
+
"description": "Required disclosure label text for this jurisdiction, in the local language"
|
|
1356
|
+
},
|
|
1357
|
+
"render_guidance": {
|
|
1358
|
+
"type": "object",
|
|
1359
|
+
"description": "How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.",
|
|
1360
|
+
"minProperties": 1,
|
|
1361
|
+
"properties": {
|
|
1362
|
+
"persistence": {
|
|
1363
|
+
"$ref": "#/$defs/DisclosurePersistence"
|
|
1364
|
+
},
|
|
1365
|
+
"min_duration_ms": {
|
|
1366
|
+
"type": "integer",
|
|
1367
|
+
"minimum": 1,
|
|
1368
|
+
"description": "Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available."
|
|
1369
|
+
},
|
|
1370
|
+
"positions": {
|
|
1371
|
+
"type": "array",
|
|
1372
|
+
"description": "Preferred disclosure positions in priority order. The first position a format supports should be used.",
|
|
1373
|
+
"items": {
|
|
1374
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
1375
|
+
},
|
|
1376
|
+
"minItems": 1,
|
|
1377
|
+
"uniqueItems": true
|
|
1378
|
+
},
|
|
1379
|
+
"ext": {
|
|
1380
|
+
"title": "Extension Object",
|
|
1381
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
1382
|
+
"type": "object",
|
|
1383
|
+
"additionalProperties": true
|
|
1384
|
+
}
|
|
1385
|
+
},
|
|
1386
|
+
"additionalProperties": true
|
|
1387
|
+
}
|
|
1388
|
+
},
|
|
1389
|
+
"required": [
|
|
1390
|
+
"country",
|
|
1391
|
+
"regulation"
|
|
1392
|
+
],
|
|
1393
|
+
"additionalProperties": true
|
|
1394
|
+
},
|
|
1395
|
+
"minItems": 1
|
|
1396
|
+
}
|
|
1397
|
+
},
|
|
1398
|
+
"required": [
|
|
1399
|
+
"required"
|
|
1400
|
+
],
|
|
1401
|
+
"additionalProperties": true
|
|
1402
|
+
},
|
|
1403
|
+
"verification": {
|
|
1404
|
+
"type": "array",
|
|
1405
|
+
"description": "Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.",
|
|
1406
|
+
"minItems": 1,
|
|
1407
|
+
"items": {
|
|
1408
|
+
"type": "object",
|
|
1409
|
+
"properties": {
|
|
1410
|
+
"verified_by": {
|
|
1411
|
+
"type": "string",
|
|
1412
|
+
"description": "Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')"
|
|
1413
|
+
},
|
|
1414
|
+
"verified_time": {
|
|
1415
|
+
"type": "string",
|
|
1416
|
+
"format": "date-time",
|
|
1417
|
+
"description": "When the verification was performed (ISO 8601)"
|
|
1418
|
+
},
|
|
1419
|
+
"result": {
|
|
1420
|
+
"type": "string",
|
|
1421
|
+
"enum": [
|
|
1422
|
+
"authentic",
|
|
1423
|
+
"ai_generated",
|
|
1424
|
+
"ai_modified",
|
|
1425
|
+
"inconclusive"
|
|
1426
|
+
],
|
|
1427
|
+
"description": "Verification outcome"
|
|
1428
|
+
},
|
|
1429
|
+
"confidence": {
|
|
1430
|
+
"type": "number",
|
|
1431
|
+
"minimum": 0,
|
|
1432
|
+
"maximum": 1,
|
|
1433
|
+
"description": "Confidence score of the verification result (0.0 to 1.0)"
|
|
1434
|
+
},
|
|
1435
|
+
"details_url": {
|
|
1436
|
+
"type": "string",
|
|
1437
|
+
"format": "uri",
|
|
1438
|
+
"description": "URL to the full verification report"
|
|
1439
|
+
}
|
|
1440
|
+
},
|
|
1441
|
+
"required": [
|
|
1442
|
+
"verified_by",
|
|
1443
|
+
"result"
|
|
1444
|
+
],
|
|
1445
|
+
"additionalProperties": true
|
|
1446
|
+
}
|
|
1447
|
+
},
|
|
1448
|
+
"ext": {
|
|
1449
|
+
"title": "Extension Object",
|
|
1450
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
1451
|
+
"type": "object",
|
|
1452
|
+
"additionalProperties": true
|
|
1453
|
+
}
|
|
1454
|
+
},
|
|
1455
|
+
"additionalProperties": true
|
|
1456
|
+
}
|
|
1457
|
+
},
|
|
1458
|
+
"required": [
|
|
1459
|
+
"type",
|
|
1460
|
+
"url"
|
|
1461
|
+
]
|
|
1462
|
+
}
|
|
1463
|
+
]
|
|
1464
|
+
}
|
|
1465
|
+
},
|
|
1466
|
+
"metadata": {
|
|
1467
|
+
"type": "object",
|
|
1468
|
+
"description": "Rich metadata extracted from the artifact",
|
|
1469
|
+
"properties": {
|
|
1470
|
+
"canonical": {
|
|
1471
|
+
"type": "string",
|
|
1472
|
+
"format": "uri",
|
|
1473
|
+
"description": "Canonical URL"
|
|
1474
|
+
},
|
|
1475
|
+
"author": {
|
|
1476
|
+
"type": "string",
|
|
1477
|
+
"description": "Artifact author name"
|
|
1478
|
+
},
|
|
1479
|
+
"keywords": {
|
|
1480
|
+
"type": "string",
|
|
1481
|
+
"description": "Artifact keywords"
|
|
1482
|
+
},
|
|
1483
|
+
"open_graph": {
|
|
1484
|
+
"type": "object",
|
|
1485
|
+
"description": "Open Graph protocol metadata",
|
|
1486
|
+
"additionalProperties": true
|
|
1487
|
+
},
|
|
1488
|
+
"twitter_card": {
|
|
1489
|
+
"type": "object",
|
|
1490
|
+
"description": "Twitter Card metadata",
|
|
1491
|
+
"additionalProperties": true
|
|
1492
|
+
},
|
|
1493
|
+
"json_ld": {
|
|
1494
|
+
"type": "array",
|
|
1495
|
+
"description": "JSON-LD structured data (schema.org)",
|
|
1496
|
+
"items": {
|
|
1497
|
+
"type": "object"
|
|
1498
|
+
}
|
|
1499
|
+
}
|
|
1500
|
+
},
|
|
1501
|
+
"additionalProperties": true
|
|
1502
|
+
},
|
|
1503
|
+
"provenance": {
|
|
1504
|
+
"title": "Provenance",
|
|
1505
|
+
"description": "Provenance metadata for this artifact. Serves as the default provenance for all assets within this artifact — individual assets can override with their own provenance.",
|
|
1506
|
+
"type": "object",
|
|
1507
|
+
"properties": {
|
|
1508
|
+
"digital_source_type": {
|
|
1509
|
+
"$ref": "#/$defs/DigitalSourceType"
|
|
1510
|
+
},
|
|
1511
|
+
"ai_tool": {
|
|
1512
|
+
"type": "object",
|
|
1513
|
+
"description": "AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.",
|
|
1514
|
+
"properties": {
|
|
1515
|
+
"name": {
|
|
1516
|
+
"type": "string",
|
|
1517
|
+
"description": "Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')"
|
|
1518
|
+
},
|
|
1519
|
+
"version": {
|
|
1520
|
+
"type": "string",
|
|
1521
|
+
"description": "Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version."
|
|
1522
|
+
},
|
|
1523
|
+
"provider": {
|
|
1524
|
+
"type": "string",
|
|
1525
|
+
"description": "Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')"
|
|
1526
|
+
}
|
|
1527
|
+
},
|
|
1528
|
+
"required": [
|
|
1529
|
+
"name"
|
|
1530
|
+
],
|
|
1531
|
+
"additionalProperties": true
|
|
1532
|
+
},
|
|
1533
|
+
"human_oversight": {
|
|
1534
|
+
"type": "string",
|
|
1535
|
+
"description": "Level of human involvement in the AI-assisted creation process",
|
|
1536
|
+
"enum": [
|
|
1537
|
+
"none",
|
|
1538
|
+
"prompt_only",
|
|
1539
|
+
"selected",
|
|
1540
|
+
"edited",
|
|
1541
|
+
"directed"
|
|
1542
|
+
],
|
|
1543
|
+
"enumDescriptions": {
|
|
1544
|
+
"none": "Fully automated with no human involvement in generation",
|
|
1545
|
+
"prompt_only": "Human provided the prompt or instructions but did not review outputs",
|
|
1546
|
+
"selected": "Human selected from multiple AI-generated candidates",
|
|
1547
|
+
"edited": "Human edited or refined AI-generated output",
|
|
1548
|
+
"directed": "Human directed the creative process with AI as an assistive tool"
|
|
1549
|
+
}
|
|
1550
|
+
},
|
|
1551
|
+
"declared_by": {
|
|
1552
|
+
"type": "object",
|
|
1553
|
+
"description": "Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.",
|
|
1554
|
+
"properties": {
|
|
1555
|
+
"agent_url": {
|
|
1556
|
+
"type": "string",
|
|
1557
|
+
"format": "uri",
|
|
1558
|
+
"description": "URL of the agent or service that declared this provenance"
|
|
1559
|
+
},
|
|
1560
|
+
"role": {
|
|
1561
|
+
"type": "string",
|
|
1562
|
+
"enum": [
|
|
1563
|
+
"creator",
|
|
1564
|
+
"advertiser",
|
|
1565
|
+
"agency",
|
|
1566
|
+
"platform",
|
|
1567
|
+
"tool"
|
|
1568
|
+
],
|
|
1569
|
+
"description": "Role of the declaring party in the supply chain",
|
|
1570
|
+
"enumDescriptions": {
|
|
1571
|
+
"creator": "The party that created or generated the content",
|
|
1572
|
+
"advertiser": "The brand or advertiser that owns the content",
|
|
1573
|
+
"agency": "Agency acting on behalf of the advertiser",
|
|
1574
|
+
"platform": "Ad platform or publisher that processed the content",
|
|
1575
|
+
"tool": "Automated tool or service that attached provenance metadata"
|
|
1576
|
+
}
|
|
1577
|
+
}
|
|
1578
|
+
},
|
|
1579
|
+
"required": [
|
|
1580
|
+
"role"
|
|
1581
|
+
],
|
|
1582
|
+
"additionalProperties": true
|
|
1583
|
+
},
|
|
1584
|
+
"declared_at": {
|
|
1585
|
+
"type": "string",
|
|
1586
|
+
"format": "date-time",
|
|
1587
|
+
"description": "When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance."
|
|
1588
|
+
},
|
|
1589
|
+
"created_time": {
|
|
1590
|
+
"type": "string",
|
|
1591
|
+
"format": "date-time",
|
|
1592
|
+
"description": "When this content was created or generated (ISO 8601)"
|
|
1593
|
+
},
|
|
1594
|
+
"c2pa": {
|
|
1595
|
+
"type": "object",
|
|
1596
|
+
"description": "C2PA Content Credentials reference. Links to the cryptographic provenance manifest for this content. Because file-level C2PA bindings break during ad-tech transcoding, this URL reference preserves the chain of provenance through the supply chain.",
|
|
1597
|
+
"properties": {
|
|
1598
|
+
"manifest_url": {
|
|
1599
|
+
"type": "string",
|
|
1600
|
+
"format": "uri",
|
|
1601
|
+
"description": "URL to the C2PA manifest store for this content"
|
|
1602
|
+
}
|
|
1603
|
+
},
|
|
1604
|
+
"required": [
|
|
1605
|
+
"manifest_url"
|
|
1606
|
+
],
|
|
1607
|
+
"additionalProperties": true
|
|
1608
|
+
},
|
|
1609
|
+
"disclosure": {
|
|
1610
|
+
"type": "object",
|
|
1611
|
+
"description": "Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.",
|
|
1612
|
+
"properties": {
|
|
1613
|
+
"required": {
|
|
1614
|
+
"type": "boolean",
|
|
1615
|
+
"description": "Whether AI disclosure is required for this content based on applicable regulations"
|
|
1616
|
+
},
|
|
1617
|
+
"jurisdictions": {
|
|
1618
|
+
"type": "array",
|
|
1619
|
+
"description": "Jurisdictions where disclosure obligations apply",
|
|
1620
|
+
"items": {
|
|
1621
|
+
"type": "object",
|
|
1622
|
+
"properties": {
|
|
1623
|
+
"country": {
|
|
1624
|
+
"type": "string",
|
|
1625
|
+
"description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')"
|
|
1626
|
+
},
|
|
1627
|
+
"region": {
|
|
1628
|
+
"type": "string",
|
|
1629
|
+
"description": "Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)"
|
|
1630
|
+
},
|
|
1631
|
+
"regulation": {
|
|
1632
|
+
"type": "string",
|
|
1633
|
+
"description": "Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')"
|
|
1634
|
+
},
|
|
1635
|
+
"label_text": {
|
|
1636
|
+
"type": "string",
|
|
1637
|
+
"description": "Required disclosure label text for this jurisdiction, in the local language"
|
|
1638
|
+
},
|
|
1639
|
+
"render_guidance": {
|
|
1640
|
+
"type": "object",
|
|
1641
|
+
"description": "How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.",
|
|
1642
|
+
"minProperties": 1,
|
|
1643
|
+
"properties": {
|
|
1644
|
+
"persistence": {
|
|
1645
|
+
"$ref": "#/$defs/DisclosurePersistence"
|
|
1646
|
+
},
|
|
1647
|
+
"min_duration_ms": {
|
|
1648
|
+
"type": "integer",
|
|
1649
|
+
"minimum": 1,
|
|
1650
|
+
"description": "Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available."
|
|
1651
|
+
},
|
|
1652
|
+
"positions": {
|
|
1653
|
+
"type": "array",
|
|
1654
|
+
"description": "Preferred disclosure positions in priority order. The first position a format supports should be used.",
|
|
1655
|
+
"items": {
|
|
1656
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
1657
|
+
},
|
|
1658
|
+
"minItems": 1,
|
|
1659
|
+
"uniqueItems": true
|
|
1660
|
+
},
|
|
1661
|
+
"ext": {
|
|
1662
|
+
"title": "Extension Object",
|
|
1663
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
1664
|
+
"type": "object",
|
|
1665
|
+
"additionalProperties": true
|
|
1666
|
+
}
|
|
1667
|
+
},
|
|
1668
|
+
"additionalProperties": true
|
|
1669
|
+
}
|
|
1670
|
+
},
|
|
1671
|
+
"required": [
|
|
1672
|
+
"country",
|
|
1673
|
+
"regulation"
|
|
1674
|
+
],
|
|
1675
|
+
"additionalProperties": true
|
|
1676
|
+
},
|
|
1677
|
+
"minItems": 1
|
|
1678
|
+
}
|
|
1679
|
+
},
|
|
1680
|
+
"required": [
|
|
1681
|
+
"required"
|
|
1682
|
+
],
|
|
1683
|
+
"additionalProperties": true
|
|
1684
|
+
},
|
|
1685
|
+
"verification": {
|
|
1686
|
+
"type": "array",
|
|
1687
|
+
"description": "Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.",
|
|
1688
|
+
"minItems": 1,
|
|
1689
|
+
"items": {
|
|
1690
|
+
"type": "object",
|
|
1691
|
+
"properties": {
|
|
1692
|
+
"verified_by": {
|
|
1693
|
+
"type": "string",
|
|
1694
|
+
"description": "Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')"
|
|
1695
|
+
},
|
|
1696
|
+
"verified_time": {
|
|
1697
|
+
"type": "string",
|
|
1698
|
+
"format": "date-time",
|
|
1699
|
+
"description": "When the verification was performed (ISO 8601)"
|
|
1700
|
+
},
|
|
1701
|
+
"result": {
|
|
1702
|
+
"type": "string",
|
|
1703
|
+
"enum": [
|
|
1704
|
+
"authentic",
|
|
1705
|
+
"ai_generated",
|
|
1706
|
+
"ai_modified",
|
|
1707
|
+
"inconclusive"
|
|
1708
|
+
],
|
|
1709
|
+
"description": "Verification outcome"
|
|
1710
|
+
},
|
|
1711
|
+
"confidence": {
|
|
1712
|
+
"type": "number",
|
|
1713
|
+
"minimum": 0,
|
|
1714
|
+
"maximum": 1,
|
|
1715
|
+
"description": "Confidence score of the verification result (0.0 to 1.0)"
|
|
1716
|
+
},
|
|
1717
|
+
"details_url": {
|
|
1718
|
+
"type": "string",
|
|
1719
|
+
"format": "uri",
|
|
1720
|
+
"description": "URL to the full verification report"
|
|
1721
|
+
}
|
|
1722
|
+
},
|
|
1723
|
+
"required": [
|
|
1724
|
+
"verified_by",
|
|
1725
|
+
"result"
|
|
1726
|
+
],
|
|
1727
|
+
"additionalProperties": true
|
|
1728
|
+
}
|
|
1729
|
+
},
|
|
1730
|
+
"ext": {
|
|
1731
|
+
"title": "Extension Object",
|
|
1732
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
1733
|
+
"type": "object",
|
|
1734
|
+
"additionalProperties": true
|
|
1735
|
+
}
|
|
1736
|
+
},
|
|
1737
|
+
"additionalProperties": true
|
|
1738
|
+
},
|
|
1739
|
+
"identifiers": {
|
|
1740
|
+
"type": "object",
|
|
1741
|
+
"description": "Platform-specific identifiers for this artifact",
|
|
1742
|
+
"properties": {
|
|
1743
|
+
"apple_podcast_id": {
|
|
1744
|
+
"type": "string",
|
|
1745
|
+
"description": "Apple Podcasts ID"
|
|
1746
|
+
},
|
|
1747
|
+
"spotify_collection_id": {
|
|
1748
|
+
"type": "string",
|
|
1749
|
+
"description": "Spotify collection ID"
|
|
1750
|
+
},
|
|
1751
|
+
"podcast_guid": {
|
|
1752
|
+
"type": "string",
|
|
1753
|
+
"description": "Podcast GUID (from RSS feed)"
|
|
1754
|
+
},
|
|
1755
|
+
"youtube_video_id": {
|
|
1756
|
+
"type": "string",
|
|
1757
|
+
"description": "YouTube video ID"
|
|
1758
|
+
},
|
|
1759
|
+
"rss_url": {
|
|
1760
|
+
"type": "string",
|
|
1761
|
+
"format": "uri",
|
|
1762
|
+
"description": "RSS feed URL"
|
|
1763
|
+
}
|
|
1764
|
+
},
|
|
1765
|
+
"additionalProperties": true
|
|
1766
|
+
}
|
|
1767
|
+
},
|
|
1768
|
+
"required": [
|
|
1769
|
+
"property_rid",
|
|
1770
|
+
"artifact_id",
|
|
1771
|
+
"assets"
|
|
1772
|
+
],
|
|
1773
|
+
"additionalProperties": true
|
|
1774
|
+
},
|
|
1775
|
+
"description": "Artifacts that pass the content standards"
|
|
1776
|
+
},
|
|
1777
|
+
"fail": {
|
|
1778
|
+
"type": "array",
|
|
1779
|
+
"items": {
|
|
1780
|
+
"title": "Artifact",
|
|
1781
|
+
"description": "Content artifact for safety and suitability evaluation. An artifact represents content adjacent to an ad placement - a news article, podcast segment, video chapter, or social post. Artifacts are collections of assets (text, images, video, audio) plus metadata and signals.",
|
|
1782
|
+
"type": "object",
|
|
1783
|
+
"properties": {
|
|
1784
|
+
"property_rid": {
|
|
1785
|
+
"type": "string",
|
|
1786
|
+
"description": "Stable property identifier from the property catalog. Globally unique across the ecosystem."
|
|
1787
|
+
},
|
|
1788
|
+
"artifact_id": {
|
|
1789
|
+
"type": "string",
|
|
1790
|
+
"description": "Identifier for this artifact within the property. The property owner defines the scheme (e.g., 'article_12345', 'episode_42_segment_3', 'post_abc123')."
|
|
1791
|
+
},
|
|
1792
|
+
"variant_id": {
|
|
1793
|
+
"type": "string",
|
|
1794
|
+
"description": "Identifies a specific variant of this artifact. Use for A/B tests, translations, or temporal versions. Examples: 'en', 'es-MX', 'v2', 'headline_test_b'. The combination of artifact_id + variant_id must be unique."
|
|
1795
|
+
},
|
|
1796
|
+
"format_id": {
|
|
1797
|
+
"title": "Format Reference (Structured Object)",
|
|
1798
|
+
"description": "Always a structured object {agent_url, id} — never a plain string. Optional reference to a format definition. Uses the same format registry as creative formats.",
|
|
1799
|
+
"x-entity": "creative_format",
|
|
1800
|
+
"type": "object",
|
|
1801
|
+
"properties": {
|
|
1802
|
+
"agent_url": {
|
|
1803
|
+
"type": "string",
|
|
1804
|
+
"format": "uri",
|
|
1805
|
+
"description": "URL of the agent that defines this format (e.g., 'https://creative.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats). Callers comparing two `format-id` values MUST canonicalize `agent_url` per the AdCP URL canonicalization rules before treating two formats as the same. See docs/reference/url-canonicalization."
|
|
1806
|
+
},
|
|
1807
|
+
"id": {
|
|
1808
|
+
"type": "string",
|
|
1809
|
+
"pattern": "^[a-zA-Z0-9_-]+$",
|
|
1810
|
+
"description": "Format identifier within the agent's namespace (e.g., 'display_static', 'video_hosted', 'audio_standard'). When used alone, references a template format. When combined with dimension/duration fields, creates a parameterized format ID for a specific variant."
|
|
1811
|
+
},
|
|
1812
|
+
"width": {
|
|
1813
|
+
"type": "integer",
|
|
1814
|
+
"minimum": 1,
|
|
1815
|
+
"description": "Width in pixels for visual formats. When specified, height must also be specified. Both fields together create a parameterized format ID for dimension-specific variants."
|
|
1816
|
+
},
|
|
1817
|
+
"height": {
|
|
1818
|
+
"type": "integer",
|
|
1819
|
+
"minimum": 1,
|
|
1820
|
+
"description": "Height in pixels for visual formats. When specified, width must also be specified. Both fields together create a parameterized format ID for dimension-specific variants."
|
|
1821
|
+
},
|
|
1822
|
+
"duration_ms": {
|
|
1823
|
+
"type": "number",
|
|
1824
|
+
"minimum": 1,
|
|
1825
|
+
"description": "Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters."
|
|
1826
|
+
}
|
|
1827
|
+
},
|
|
1828
|
+
"required": [
|
|
1829
|
+
"agent_url",
|
|
1830
|
+
"id"
|
|
1831
|
+
],
|
|
1832
|
+
"additionalProperties": true,
|
|
1833
|
+
"dependencies": {
|
|
1834
|
+
"width": [
|
|
1835
|
+
"height"
|
|
1836
|
+
],
|
|
1837
|
+
"height": [
|
|
1838
|
+
"width"
|
|
1839
|
+
]
|
|
1840
|
+
}
|
|
1841
|
+
},
|
|
1842
|
+
"url": {
|
|
1843
|
+
"type": "string",
|
|
1844
|
+
"format": "uri",
|
|
1845
|
+
"description": "Optional URL for this artifact (web page, podcast feed, video page). Not all artifacts have URLs (e.g., Instagram content, podcast segments, TV scenes)."
|
|
1846
|
+
},
|
|
1847
|
+
"published_time": {
|
|
1848
|
+
"type": "string",
|
|
1849
|
+
"format": "date-time",
|
|
1850
|
+
"description": "When the artifact was published (ISO 8601 format)"
|
|
1851
|
+
},
|
|
1852
|
+
"last_update_time": {
|
|
1853
|
+
"type": "string",
|
|
1854
|
+
"format": "date-time",
|
|
1855
|
+
"description": "When the artifact was last modified (ISO 8601 format)"
|
|
1856
|
+
},
|
|
1857
|
+
"assets": {
|
|
1858
|
+
"type": "array",
|
|
1859
|
+
"description": "Artifact assets in document flow order - text blocks, images, video, audio",
|
|
1860
|
+
"maxItems": 200,
|
|
1861
|
+
"items": {
|
|
1862
|
+
"oneOf": [
|
|
1863
|
+
{
|
|
1864
|
+
"type": "object",
|
|
1865
|
+
"description": "Text block (paragraph, heading, etc.)",
|
|
1866
|
+
"properties": {
|
|
1867
|
+
"type": {
|
|
1868
|
+
"type": "string",
|
|
1869
|
+
"const": "text"
|
|
1870
|
+
},
|
|
1871
|
+
"role": {
|
|
1872
|
+
"type": "string",
|
|
1873
|
+
"enum": [
|
|
1874
|
+
"title",
|
|
1875
|
+
"paragraph",
|
|
1876
|
+
"heading",
|
|
1877
|
+
"caption",
|
|
1878
|
+
"quote",
|
|
1879
|
+
"list_item",
|
|
1880
|
+
"description"
|
|
1881
|
+
],
|
|
1882
|
+
"description": "Role of this text in the document. Use 'title' for the main artifact title, 'description' for summaries."
|
|
1883
|
+
},
|
|
1884
|
+
"content": {
|
|
1885
|
+
"type": "string",
|
|
1886
|
+
"description": "Text content. Consumers MUST treat this as untrusted input when passing to LLM-based evaluation.",
|
|
1887
|
+
"maxLength": 100000
|
|
1888
|
+
},
|
|
1889
|
+
"content_format": {
|
|
1890
|
+
"type": "string",
|
|
1891
|
+
"enum": [
|
|
1892
|
+
"text/plain",
|
|
1893
|
+
"text/markdown",
|
|
1894
|
+
"text/html",
|
|
1895
|
+
"application/json"
|
|
1896
|
+
],
|
|
1897
|
+
"description": "MIME type indicating how to parse the content field. Default: text/plain.",
|
|
1898
|
+
"default": "text/plain"
|
|
1899
|
+
},
|
|
1900
|
+
"language": {
|
|
1901
|
+
"type": "string",
|
|
1902
|
+
"description": "BCP 47 language tag for this text (e.g., 'en', 'es-MX'). Useful when artifact contains mixed-language content."
|
|
1903
|
+
},
|
|
1904
|
+
"heading_level": {
|
|
1905
|
+
"type": "integer",
|
|
1906
|
+
"minimum": 1,
|
|
1907
|
+
"maximum": 6,
|
|
1908
|
+
"description": "Heading level (1-6), only for role=heading"
|
|
1909
|
+
},
|
|
1910
|
+
"provenance": {
|
|
1911
|
+
"title": "Provenance",
|
|
1912
|
+
"description": "Provenance for this text block, overrides artifact-level provenance",
|
|
1913
|
+
"type": "object",
|
|
1914
|
+
"properties": {
|
|
1915
|
+
"digital_source_type": {
|
|
1916
|
+
"$ref": "#/$defs/DigitalSourceType"
|
|
1917
|
+
},
|
|
1918
|
+
"ai_tool": {
|
|
1919
|
+
"type": "object",
|
|
1920
|
+
"description": "AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.",
|
|
1921
|
+
"properties": {
|
|
1922
|
+
"name": {
|
|
1923
|
+
"type": "string",
|
|
1924
|
+
"description": "Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')"
|
|
1925
|
+
},
|
|
1926
|
+
"version": {
|
|
1927
|
+
"type": "string",
|
|
1928
|
+
"description": "Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version."
|
|
1929
|
+
},
|
|
1930
|
+
"provider": {
|
|
1931
|
+
"type": "string",
|
|
1932
|
+
"description": "Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')"
|
|
1933
|
+
}
|
|
1934
|
+
},
|
|
1935
|
+
"required": [
|
|
1936
|
+
"name"
|
|
1937
|
+
],
|
|
1938
|
+
"additionalProperties": true
|
|
1939
|
+
},
|
|
1940
|
+
"human_oversight": {
|
|
1941
|
+
"type": "string",
|
|
1942
|
+
"description": "Level of human involvement in the AI-assisted creation process",
|
|
1943
|
+
"enum": [
|
|
1944
|
+
"none",
|
|
1945
|
+
"prompt_only",
|
|
1946
|
+
"selected",
|
|
1947
|
+
"edited",
|
|
1948
|
+
"directed"
|
|
1949
|
+
],
|
|
1950
|
+
"enumDescriptions": {
|
|
1951
|
+
"none": "Fully automated with no human involvement in generation",
|
|
1952
|
+
"prompt_only": "Human provided the prompt or instructions but did not review outputs",
|
|
1953
|
+
"selected": "Human selected from multiple AI-generated candidates",
|
|
1954
|
+
"edited": "Human edited or refined AI-generated output",
|
|
1955
|
+
"directed": "Human directed the creative process with AI as an assistive tool"
|
|
1956
|
+
}
|
|
1957
|
+
},
|
|
1958
|
+
"declared_by": {
|
|
1959
|
+
"type": "object",
|
|
1960
|
+
"description": "Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.",
|
|
1961
|
+
"properties": {
|
|
1962
|
+
"agent_url": {
|
|
1963
|
+
"type": "string",
|
|
1964
|
+
"format": "uri",
|
|
1965
|
+
"description": "URL of the agent or service that declared this provenance"
|
|
1966
|
+
},
|
|
1967
|
+
"role": {
|
|
1968
|
+
"type": "string",
|
|
1969
|
+
"enum": [
|
|
1970
|
+
"creator",
|
|
1971
|
+
"advertiser",
|
|
1972
|
+
"agency",
|
|
1973
|
+
"platform",
|
|
1974
|
+
"tool"
|
|
1975
|
+
],
|
|
1976
|
+
"description": "Role of the declaring party in the supply chain",
|
|
1977
|
+
"enumDescriptions": {
|
|
1978
|
+
"creator": "The party that created or generated the content",
|
|
1979
|
+
"advertiser": "The brand or advertiser that owns the content",
|
|
1980
|
+
"agency": "Agency acting on behalf of the advertiser",
|
|
1981
|
+
"platform": "Ad platform or publisher that processed the content",
|
|
1982
|
+
"tool": "Automated tool or service that attached provenance metadata"
|
|
1983
|
+
}
|
|
1984
|
+
}
|
|
1985
|
+
},
|
|
1986
|
+
"required": [
|
|
1987
|
+
"role"
|
|
1988
|
+
],
|
|
1989
|
+
"additionalProperties": true
|
|
1990
|
+
},
|
|
1991
|
+
"declared_at": {
|
|
1992
|
+
"type": "string",
|
|
1993
|
+
"format": "date-time",
|
|
1994
|
+
"description": "When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance."
|
|
1995
|
+
},
|
|
1996
|
+
"created_time": {
|
|
1997
|
+
"type": "string",
|
|
1998
|
+
"format": "date-time",
|
|
1999
|
+
"description": "When this content was created or generated (ISO 8601)"
|
|
2000
|
+
},
|
|
2001
|
+
"c2pa": {
|
|
2002
|
+
"type": "object",
|
|
2003
|
+
"description": "C2PA Content Credentials reference. Links to the cryptographic provenance manifest for this content. Because file-level C2PA bindings break during ad-tech transcoding, this URL reference preserves the chain of provenance through the supply chain.",
|
|
2004
|
+
"properties": {
|
|
2005
|
+
"manifest_url": {
|
|
2006
|
+
"type": "string",
|
|
2007
|
+
"format": "uri",
|
|
2008
|
+
"description": "URL to the C2PA manifest store for this content"
|
|
2009
|
+
}
|
|
2010
|
+
},
|
|
2011
|
+
"required": [
|
|
2012
|
+
"manifest_url"
|
|
2013
|
+
],
|
|
2014
|
+
"additionalProperties": true
|
|
2015
|
+
},
|
|
2016
|
+
"disclosure": {
|
|
2017
|
+
"type": "object",
|
|
2018
|
+
"description": "Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.",
|
|
2019
|
+
"properties": {
|
|
2020
|
+
"required": {
|
|
2021
|
+
"type": "boolean",
|
|
2022
|
+
"description": "Whether AI disclosure is required for this content based on applicable regulations"
|
|
2023
|
+
},
|
|
2024
|
+
"jurisdictions": {
|
|
2025
|
+
"type": "array",
|
|
2026
|
+
"description": "Jurisdictions where disclosure obligations apply",
|
|
2027
|
+
"items": {
|
|
2028
|
+
"type": "object",
|
|
2029
|
+
"properties": {
|
|
2030
|
+
"country": {
|
|
2031
|
+
"type": "string",
|
|
2032
|
+
"description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')"
|
|
2033
|
+
},
|
|
2034
|
+
"region": {
|
|
2035
|
+
"type": "string",
|
|
2036
|
+
"description": "Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)"
|
|
2037
|
+
},
|
|
2038
|
+
"regulation": {
|
|
2039
|
+
"type": "string",
|
|
2040
|
+
"description": "Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')"
|
|
2041
|
+
},
|
|
2042
|
+
"label_text": {
|
|
2043
|
+
"type": "string",
|
|
2044
|
+
"description": "Required disclosure label text for this jurisdiction, in the local language"
|
|
2045
|
+
},
|
|
2046
|
+
"render_guidance": {
|
|
2047
|
+
"type": "object",
|
|
2048
|
+
"description": "How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.",
|
|
2049
|
+
"minProperties": 1,
|
|
2050
|
+
"properties": {
|
|
2051
|
+
"persistence": {
|
|
2052
|
+
"$ref": "#/$defs/DisclosurePersistence"
|
|
2053
|
+
},
|
|
2054
|
+
"min_duration_ms": {
|
|
2055
|
+
"type": "integer",
|
|
2056
|
+
"minimum": 1,
|
|
2057
|
+
"description": "Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available."
|
|
2058
|
+
},
|
|
2059
|
+
"positions": {
|
|
2060
|
+
"type": "array",
|
|
2061
|
+
"description": "Preferred disclosure positions in priority order. The first position a format supports should be used.",
|
|
2062
|
+
"items": {
|
|
2063
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
2064
|
+
},
|
|
2065
|
+
"minItems": 1,
|
|
2066
|
+
"uniqueItems": true
|
|
2067
|
+
},
|
|
2068
|
+
"ext": {
|
|
2069
|
+
"title": "Extension Object",
|
|
2070
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
2071
|
+
"type": "object",
|
|
2072
|
+
"additionalProperties": true
|
|
2073
|
+
}
|
|
2074
|
+
},
|
|
2075
|
+
"additionalProperties": true
|
|
2076
|
+
}
|
|
2077
|
+
},
|
|
2078
|
+
"required": [
|
|
2079
|
+
"country",
|
|
2080
|
+
"regulation"
|
|
2081
|
+
],
|
|
2082
|
+
"additionalProperties": true
|
|
2083
|
+
},
|
|
2084
|
+
"minItems": 1
|
|
2085
|
+
}
|
|
2086
|
+
},
|
|
2087
|
+
"required": [
|
|
2088
|
+
"required"
|
|
2089
|
+
],
|
|
2090
|
+
"additionalProperties": true
|
|
2091
|
+
},
|
|
2092
|
+
"verification": {
|
|
2093
|
+
"type": "array",
|
|
2094
|
+
"description": "Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.",
|
|
2095
|
+
"minItems": 1,
|
|
2096
|
+
"items": {
|
|
2097
|
+
"type": "object",
|
|
2098
|
+
"properties": {
|
|
2099
|
+
"verified_by": {
|
|
2100
|
+
"type": "string",
|
|
2101
|
+
"description": "Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')"
|
|
2102
|
+
},
|
|
2103
|
+
"verified_time": {
|
|
2104
|
+
"type": "string",
|
|
2105
|
+
"format": "date-time",
|
|
2106
|
+
"description": "When the verification was performed (ISO 8601)"
|
|
2107
|
+
},
|
|
2108
|
+
"result": {
|
|
2109
|
+
"type": "string",
|
|
2110
|
+
"enum": [
|
|
2111
|
+
"authentic",
|
|
2112
|
+
"ai_generated",
|
|
2113
|
+
"ai_modified",
|
|
2114
|
+
"inconclusive"
|
|
2115
|
+
],
|
|
2116
|
+
"description": "Verification outcome"
|
|
2117
|
+
},
|
|
2118
|
+
"confidence": {
|
|
2119
|
+
"type": "number",
|
|
2120
|
+
"minimum": 0,
|
|
2121
|
+
"maximum": 1,
|
|
2122
|
+
"description": "Confidence score of the verification result (0.0 to 1.0)"
|
|
2123
|
+
},
|
|
2124
|
+
"details_url": {
|
|
2125
|
+
"type": "string",
|
|
2126
|
+
"format": "uri",
|
|
2127
|
+
"description": "URL to the full verification report"
|
|
2128
|
+
}
|
|
2129
|
+
},
|
|
2130
|
+
"required": [
|
|
2131
|
+
"verified_by",
|
|
2132
|
+
"result"
|
|
2133
|
+
],
|
|
2134
|
+
"additionalProperties": true
|
|
2135
|
+
}
|
|
2136
|
+
},
|
|
2137
|
+
"ext": {
|
|
2138
|
+
"title": "Extension Object",
|
|
2139
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
2140
|
+
"type": "object",
|
|
2141
|
+
"additionalProperties": true
|
|
2142
|
+
}
|
|
2143
|
+
},
|
|
2144
|
+
"additionalProperties": true
|
|
2145
|
+
}
|
|
2146
|
+
},
|
|
2147
|
+
"required": [
|
|
2148
|
+
"type",
|
|
2149
|
+
"content"
|
|
2150
|
+
]
|
|
2151
|
+
},
|
|
2152
|
+
{
|
|
2153
|
+
"type": "object",
|
|
2154
|
+
"description": "Image asset",
|
|
2155
|
+
"properties": {
|
|
2156
|
+
"type": {
|
|
2157
|
+
"type": "string",
|
|
2158
|
+
"const": "image"
|
|
2159
|
+
},
|
|
2160
|
+
"url": {
|
|
2161
|
+
"type": "string",
|
|
2162
|
+
"format": "uri",
|
|
2163
|
+
"description": "Image URL"
|
|
2164
|
+
},
|
|
2165
|
+
"access": {
|
|
2166
|
+
"$ref": "#/$defs/asset_access",
|
|
2167
|
+
"description": "Authentication for secured URLs"
|
|
2168
|
+
},
|
|
2169
|
+
"alt_text": {
|
|
2170
|
+
"type": "string",
|
|
2171
|
+
"description": "Alt text or image description"
|
|
2172
|
+
},
|
|
2173
|
+
"caption": {
|
|
2174
|
+
"type": "string",
|
|
2175
|
+
"description": "Image caption"
|
|
2176
|
+
},
|
|
2177
|
+
"width": {
|
|
2178
|
+
"type": "integer",
|
|
2179
|
+
"description": "Image width in pixels"
|
|
2180
|
+
},
|
|
2181
|
+
"height": {
|
|
2182
|
+
"type": "integer",
|
|
2183
|
+
"description": "Image height in pixels"
|
|
2184
|
+
},
|
|
2185
|
+
"provenance": {
|
|
2186
|
+
"title": "Provenance",
|
|
2187
|
+
"description": "Provenance for this image, overrides artifact-level provenance",
|
|
2188
|
+
"type": "object",
|
|
2189
|
+
"properties": {
|
|
2190
|
+
"digital_source_type": {
|
|
2191
|
+
"$ref": "#/$defs/DigitalSourceType"
|
|
2192
|
+
},
|
|
2193
|
+
"ai_tool": {
|
|
2194
|
+
"type": "object",
|
|
2195
|
+
"description": "AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.",
|
|
2196
|
+
"properties": {
|
|
2197
|
+
"name": {
|
|
2198
|
+
"type": "string",
|
|
2199
|
+
"description": "Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')"
|
|
2200
|
+
},
|
|
2201
|
+
"version": {
|
|
2202
|
+
"type": "string",
|
|
2203
|
+
"description": "Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version."
|
|
2204
|
+
},
|
|
2205
|
+
"provider": {
|
|
2206
|
+
"type": "string",
|
|
2207
|
+
"description": "Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')"
|
|
2208
|
+
}
|
|
2209
|
+
},
|
|
2210
|
+
"required": [
|
|
2211
|
+
"name"
|
|
2212
|
+
],
|
|
2213
|
+
"additionalProperties": true
|
|
2214
|
+
},
|
|
2215
|
+
"human_oversight": {
|
|
2216
|
+
"type": "string",
|
|
2217
|
+
"description": "Level of human involvement in the AI-assisted creation process",
|
|
2218
|
+
"enum": [
|
|
2219
|
+
"none",
|
|
2220
|
+
"prompt_only",
|
|
2221
|
+
"selected",
|
|
2222
|
+
"edited",
|
|
2223
|
+
"directed"
|
|
2224
|
+
],
|
|
2225
|
+
"enumDescriptions": {
|
|
2226
|
+
"none": "Fully automated with no human involvement in generation",
|
|
2227
|
+
"prompt_only": "Human provided the prompt or instructions but did not review outputs",
|
|
2228
|
+
"selected": "Human selected from multiple AI-generated candidates",
|
|
2229
|
+
"edited": "Human edited or refined AI-generated output",
|
|
2230
|
+
"directed": "Human directed the creative process with AI as an assistive tool"
|
|
2231
|
+
}
|
|
2232
|
+
},
|
|
2233
|
+
"declared_by": {
|
|
2234
|
+
"type": "object",
|
|
2235
|
+
"description": "Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.",
|
|
2236
|
+
"properties": {
|
|
2237
|
+
"agent_url": {
|
|
2238
|
+
"type": "string",
|
|
2239
|
+
"format": "uri",
|
|
2240
|
+
"description": "URL of the agent or service that declared this provenance"
|
|
2241
|
+
},
|
|
2242
|
+
"role": {
|
|
2243
|
+
"type": "string",
|
|
2244
|
+
"enum": [
|
|
2245
|
+
"creator",
|
|
2246
|
+
"advertiser",
|
|
2247
|
+
"agency",
|
|
2248
|
+
"platform",
|
|
2249
|
+
"tool"
|
|
2250
|
+
],
|
|
2251
|
+
"description": "Role of the declaring party in the supply chain",
|
|
2252
|
+
"enumDescriptions": {
|
|
2253
|
+
"creator": "The party that created or generated the content",
|
|
2254
|
+
"advertiser": "The brand or advertiser that owns the content",
|
|
2255
|
+
"agency": "Agency acting on behalf of the advertiser",
|
|
2256
|
+
"platform": "Ad platform or publisher that processed the content",
|
|
2257
|
+
"tool": "Automated tool or service that attached provenance metadata"
|
|
2258
|
+
}
|
|
2259
|
+
}
|
|
2260
|
+
},
|
|
2261
|
+
"required": [
|
|
2262
|
+
"role"
|
|
2263
|
+
],
|
|
2264
|
+
"additionalProperties": true
|
|
2265
|
+
},
|
|
2266
|
+
"declared_at": {
|
|
2267
|
+
"type": "string",
|
|
2268
|
+
"format": "date-time",
|
|
2269
|
+
"description": "When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance."
|
|
2270
|
+
},
|
|
2271
|
+
"created_time": {
|
|
2272
|
+
"type": "string",
|
|
2273
|
+
"format": "date-time",
|
|
2274
|
+
"description": "When this content was created or generated (ISO 8601)"
|
|
2275
|
+
},
|
|
2276
|
+
"c2pa": {
|
|
2277
|
+
"type": "object",
|
|
2278
|
+
"description": "C2PA Content Credentials reference. Links to the cryptographic provenance manifest for this content. Because file-level C2PA bindings break during ad-tech transcoding, this URL reference preserves the chain of provenance through the supply chain.",
|
|
2279
|
+
"properties": {
|
|
2280
|
+
"manifest_url": {
|
|
2281
|
+
"type": "string",
|
|
2282
|
+
"format": "uri",
|
|
2283
|
+
"description": "URL to the C2PA manifest store for this content"
|
|
2284
|
+
}
|
|
2285
|
+
},
|
|
2286
|
+
"required": [
|
|
2287
|
+
"manifest_url"
|
|
2288
|
+
],
|
|
2289
|
+
"additionalProperties": true
|
|
2290
|
+
},
|
|
2291
|
+
"disclosure": {
|
|
2292
|
+
"type": "object",
|
|
2293
|
+
"description": "Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.",
|
|
2294
|
+
"properties": {
|
|
2295
|
+
"required": {
|
|
2296
|
+
"type": "boolean",
|
|
2297
|
+
"description": "Whether AI disclosure is required for this content based on applicable regulations"
|
|
2298
|
+
},
|
|
2299
|
+
"jurisdictions": {
|
|
2300
|
+
"type": "array",
|
|
2301
|
+
"description": "Jurisdictions where disclosure obligations apply",
|
|
2302
|
+
"items": {
|
|
2303
|
+
"type": "object",
|
|
2304
|
+
"properties": {
|
|
2305
|
+
"country": {
|
|
2306
|
+
"type": "string",
|
|
2307
|
+
"description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')"
|
|
2308
|
+
},
|
|
2309
|
+
"region": {
|
|
2310
|
+
"type": "string",
|
|
2311
|
+
"description": "Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)"
|
|
2312
|
+
},
|
|
2313
|
+
"regulation": {
|
|
2314
|
+
"type": "string",
|
|
2315
|
+
"description": "Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')"
|
|
2316
|
+
},
|
|
2317
|
+
"label_text": {
|
|
2318
|
+
"type": "string",
|
|
2319
|
+
"description": "Required disclosure label text for this jurisdiction, in the local language"
|
|
2320
|
+
},
|
|
2321
|
+
"render_guidance": {
|
|
2322
|
+
"type": "object",
|
|
2323
|
+
"description": "How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.",
|
|
2324
|
+
"minProperties": 1,
|
|
2325
|
+
"properties": {
|
|
2326
|
+
"persistence": {
|
|
2327
|
+
"$ref": "#/$defs/DisclosurePersistence"
|
|
2328
|
+
},
|
|
2329
|
+
"min_duration_ms": {
|
|
2330
|
+
"type": "integer",
|
|
2331
|
+
"minimum": 1,
|
|
2332
|
+
"description": "Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available."
|
|
2333
|
+
},
|
|
2334
|
+
"positions": {
|
|
2335
|
+
"type": "array",
|
|
2336
|
+
"description": "Preferred disclosure positions in priority order. The first position a format supports should be used.",
|
|
2337
|
+
"items": {
|
|
2338
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
2339
|
+
},
|
|
2340
|
+
"minItems": 1,
|
|
2341
|
+
"uniqueItems": true
|
|
2342
|
+
},
|
|
2343
|
+
"ext": {
|
|
2344
|
+
"title": "Extension Object",
|
|
2345
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
2346
|
+
"type": "object",
|
|
2347
|
+
"additionalProperties": true
|
|
2348
|
+
}
|
|
2349
|
+
},
|
|
2350
|
+
"additionalProperties": true
|
|
2351
|
+
}
|
|
2352
|
+
},
|
|
2353
|
+
"required": [
|
|
2354
|
+
"country",
|
|
2355
|
+
"regulation"
|
|
2356
|
+
],
|
|
2357
|
+
"additionalProperties": true
|
|
2358
|
+
},
|
|
2359
|
+
"minItems": 1
|
|
2360
|
+
}
|
|
2361
|
+
},
|
|
2362
|
+
"required": [
|
|
2363
|
+
"required"
|
|
2364
|
+
],
|
|
2365
|
+
"additionalProperties": true
|
|
2366
|
+
},
|
|
2367
|
+
"verification": {
|
|
2368
|
+
"type": "array",
|
|
2369
|
+
"description": "Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.",
|
|
2370
|
+
"minItems": 1,
|
|
2371
|
+
"items": {
|
|
2372
|
+
"type": "object",
|
|
2373
|
+
"properties": {
|
|
2374
|
+
"verified_by": {
|
|
2375
|
+
"type": "string",
|
|
2376
|
+
"description": "Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')"
|
|
2377
|
+
},
|
|
2378
|
+
"verified_time": {
|
|
2379
|
+
"type": "string",
|
|
2380
|
+
"format": "date-time",
|
|
2381
|
+
"description": "When the verification was performed (ISO 8601)"
|
|
2382
|
+
},
|
|
2383
|
+
"result": {
|
|
2384
|
+
"type": "string",
|
|
2385
|
+
"enum": [
|
|
2386
|
+
"authentic",
|
|
2387
|
+
"ai_generated",
|
|
2388
|
+
"ai_modified",
|
|
2389
|
+
"inconclusive"
|
|
2390
|
+
],
|
|
2391
|
+
"description": "Verification outcome"
|
|
2392
|
+
},
|
|
2393
|
+
"confidence": {
|
|
2394
|
+
"type": "number",
|
|
2395
|
+
"minimum": 0,
|
|
2396
|
+
"maximum": 1,
|
|
2397
|
+
"description": "Confidence score of the verification result (0.0 to 1.0)"
|
|
2398
|
+
},
|
|
2399
|
+
"details_url": {
|
|
2400
|
+
"type": "string",
|
|
2401
|
+
"format": "uri",
|
|
2402
|
+
"description": "URL to the full verification report"
|
|
2403
|
+
}
|
|
2404
|
+
},
|
|
2405
|
+
"required": [
|
|
2406
|
+
"verified_by",
|
|
2407
|
+
"result"
|
|
2408
|
+
],
|
|
2409
|
+
"additionalProperties": true
|
|
2410
|
+
}
|
|
2411
|
+
},
|
|
2412
|
+
"ext": {
|
|
2413
|
+
"title": "Extension Object",
|
|
2414
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
2415
|
+
"type": "object",
|
|
2416
|
+
"additionalProperties": true
|
|
2417
|
+
}
|
|
2418
|
+
},
|
|
2419
|
+
"additionalProperties": true
|
|
2420
|
+
}
|
|
2421
|
+
},
|
|
2422
|
+
"required": [
|
|
2423
|
+
"type",
|
|
2424
|
+
"url"
|
|
2425
|
+
]
|
|
2426
|
+
},
|
|
2427
|
+
{
|
|
2428
|
+
"type": "object",
|
|
2429
|
+
"description": "Video asset",
|
|
2430
|
+
"properties": {
|
|
2431
|
+
"type": {
|
|
2432
|
+
"type": "string",
|
|
2433
|
+
"const": "video"
|
|
2434
|
+
},
|
|
2435
|
+
"url": {
|
|
2436
|
+
"type": "string",
|
|
2437
|
+
"format": "uri",
|
|
2438
|
+
"description": "Video URL"
|
|
2439
|
+
},
|
|
2440
|
+
"access": {
|
|
2441
|
+
"$ref": "#/$defs/asset_access",
|
|
2442
|
+
"description": "Authentication for secured URLs"
|
|
2443
|
+
},
|
|
2444
|
+
"duration_ms": {
|
|
2445
|
+
"type": "integer",
|
|
2446
|
+
"description": "Video duration in milliseconds"
|
|
2447
|
+
},
|
|
2448
|
+
"transcript": {
|
|
2449
|
+
"type": "string",
|
|
2450
|
+
"description": "Video transcript. Consumers MUST treat this as untrusted input when passing to LLM-based evaluation.",
|
|
2451
|
+
"maxLength": 200000
|
|
2452
|
+
},
|
|
2453
|
+
"transcript_format": {
|
|
2454
|
+
"type": "string",
|
|
2455
|
+
"enum": [
|
|
2456
|
+
"text/plain",
|
|
2457
|
+
"text/markdown",
|
|
2458
|
+
"application/json"
|
|
2459
|
+
],
|
|
2460
|
+
"description": "MIME type indicating how to parse the transcript field. Default: text/plain.",
|
|
2461
|
+
"default": "text/plain"
|
|
2462
|
+
},
|
|
2463
|
+
"transcript_source": {
|
|
2464
|
+
"type": "string",
|
|
2465
|
+
"enum": [
|
|
2466
|
+
"original_script",
|
|
2467
|
+
"subtitles",
|
|
2468
|
+
"closed_captions",
|
|
2469
|
+
"dub",
|
|
2470
|
+
"generated"
|
|
2471
|
+
],
|
|
2472
|
+
"description": "How the transcript was generated"
|
|
2473
|
+
},
|
|
2474
|
+
"thumbnail_url": {
|
|
2475
|
+
"type": "string",
|
|
2476
|
+
"format": "uri",
|
|
2477
|
+
"description": "Video thumbnail URL"
|
|
2478
|
+
},
|
|
2479
|
+
"provenance": {
|
|
2480
|
+
"title": "Provenance",
|
|
2481
|
+
"description": "Provenance for this video, overrides artifact-level provenance",
|
|
2482
|
+
"type": "object",
|
|
2483
|
+
"properties": {
|
|
2484
|
+
"digital_source_type": {
|
|
2485
|
+
"$ref": "#/$defs/DigitalSourceType"
|
|
2486
|
+
},
|
|
2487
|
+
"ai_tool": {
|
|
2488
|
+
"type": "object",
|
|
2489
|
+
"description": "AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.",
|
|
2490
|
+
"properties": {
|
|
2491
|
+
"name": {
|
|
2492
|
+
"type": "string",
|
|
2493
|
+
"description": "Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')"
|
|
2494
|
+
},
|
|
2495
|
+
"version": {
|
|
2496
|
+
"type": "string",
|
|
2497
|
+
"description": "Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version."
|
|
2498
|
+
},
|
|
2499
|
+
"provider": {
|
|
2500
|
+
"type": "string",
|
|
2501
|
+
"description": "Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')"
|
|
2502
|
+
}
|
|
2503
|
+
},
|
|
2504
|
+
"required": [
|
|
2505
|
+
"name"
|
|
2506
|
+
],
|
|
2507
|
+
"additionalProperties": true
|
|
2508
|
+
},
|
|
2509
|
+
"human_oversight": {
|
|
2510
|
+
"type": "string",
|
|
2511
|
+
"description": "Level of human involvement in the AI-assisted creation process",
|
|
2512
|
+
"enum": [
|
|
2513
|
+
"none",
|
|
2514
|
+
"prompt_only",
|
|
2515
|
+
"selected",
|
|
2516
|
+
"edited",
|
|
2517
|
+
"directed"
|
|
2518
|
+
],
|
|
2519
|
+
"enumDescriptions": {
|
|
2520
|
+
"none": "Fully automated with no human involvement in generation",
|
|
2521
|
+
"prompt_only": "Human provided the prompt or instructions but did not review outputs",
|
|
2522
|
+
"selected": "Human selected from multiple AI-generated candidates",
|
|
2523
|
+
"edited": "Human edited or refined AI-generated output",
|
|
2524
|
+
"directed": "Human directed the creative process with AI as an assistive tool"
|
|
2525
|
+
}
|
|
2526
|
+
},
|
|
2527
|
+
"declared_by": {
|
|
2528
|
+
"type": "object",
|
|
2529
|
+
"description": "Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.",
|
|
2530
|
+
"properties": {
|
|
2531
|
+
"agent_url": {
|
|
2532
|
+
"type": "string",
|
|
2533
|
+
"format": "uri",
|
|
2534
|
+
"description": "URL of the agent or service that declared this provenance"
|
|
2535
|
+
},
|
|
2536
|
+
"role": {
|
|
2537
|
+
"type": "string",
|
|
2538
|
+
"enum": [
|
|
2539
|
+
"creator",
|
|
2540
|
+
"advertiser",
|
|
2541
|
+
"agency",
|
|
2542
|
+
"platform",
|
|
2543
|
+
"tool"
|
|
2544
|
+
],
|
|
2545
|
+
"description": "Role of the declaring party in the supply chain",
|
|
2546
|
+
"enumDescriptions": {
|
|
2547
|
+
"creator": "The party that created or generated the content",
|
|
2548
|
+
"advertiser": "The brand or advertiser that owns the content",
|
|
2549
|
+
"agency": "Agency acting on behalf of the advertiser",
|
|
2550
|
+
"platform": "Ad platform or publisher that processed the content",
|
|
2551
|
+
"tool": "Automated tool or service that attached provenance metadata"
|
|
2552
|
+
}
|
|
2553
|
+
}
|
|
2554
|
+
},
|
|
2555
|
+
"required": [
|
|
2556
|
+
"role"
|
|
2557
|
+
],
|
|
2558
|
+
"additionalProperties": true
|
|
2559
|
+
},
|
|
2560
|
+
"declared_at": {
|
|
2561
|
+
"type": "string",
|
|
2562
|
+
"format": "date-time",
|
|
2563
|
+
"description": "When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance."
|
|
2564
|
+
},
|
|
2565
|
+
"created_time": {
|
|
2566
|
+
"type": "string",
|
|
2567
|
+
"format": "date-time",
|
|
2568
|
+
"description": "When this content was created or generated (ISO 8601)"
|
|
2569
|
+
},
|
|
2570
|
+
"c2pa": {
|
|
2571
|
+
"type": "object",
|
|
2572
|
+
"description": "C2PA Content Credentials reference. Links to the cryptographic provenance manifest for this content. Because file-level C2PA bindings break during ad-tech transcoding, this URL reference preserves the chain of provenance through the supply chain.",
|
|
2573
|
+
"properties": {
|
|
2574
|
+
"manifest_url": {
|
|
2575
|
+
"type": "string",
|
|
2576
|
+
"format": "uri",
|
|
2577
|
+
"description": "URL to the C2PA manifest store for this content"
|
|
2578
|
+
}
|
|
2579
|
+
},
|
|
2580
|
+
"required": [
|
|
2581
|
+
"manifest_url"
|
|
2582
|
+
],
|
|
2583
|
+
"additionalProperties": true
|
|
2584
|
+
},
|
|
2585
|
+
"disclosure": {
|
|
2586
|
+
"type": "object",
|
|
2587
|
+
"description": "Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.",
|
|
2588
|
+
"properties": {
|
|
2589
|
+
"required": {
|
|
2590
|
+
"type": "boolean",
|
|
2591
|
+
"description": "Whether AI disclosure is required for this content based on applicable regulations"
|
|
2592
|
+
},
|
|
2593
|
+
"jurisdictions": {
|
|
2594
|
+
"type": "array",
|
|
2595
|
+
"description": "Jurisdictions where disclosure obligations apply",
|
|
2596
|
+
"items": {
|
|
2597
|
+
"type": "object",
|
|
2598
|
+
"properties": {
|
|
2599
|
+
"country": {
|
|
2600
|
+
"type": "string",
|
|
2601
|
+
"description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')"
|
|
2602
|
+
},
|
|
2603
|
+
"region": {
|
|
2604
|
+
"type": "string",
|
|
2605
|
+
"description": "Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)"
|
|
2606
|
+
},
|
|
2607
|
+
"regulation": {
|
|
2608
|
+
"type": "string",
|
|
2609
|
+
"description": "Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')"
|
|
2610
|
+
},
|
|
2611
|
+
"label_text": {
|
|
2612
|
+
"type": "string",
|
|
2613
|
+
"description": "Required disclosure label text for this jurisdiction, in the local language"
|
|
2614
|
+
},
|
|
2615
|
+
"render_guidance": {
|
|
2616
|
+
"type": "object",
|
|
2617
|
+
"description": "How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.",
|
|
2618
|
+
"minProperties": 1,
|
|
2619
|
+
"properties": {
|
|
2620
|
+
"persistence": {
|
|
2621
|
+
"$ref": "#/$defs/DisclosurePersistence"
|
|
2622
|
+
},
|
|
2623
|
+
"min_duration_ms": {
|
|
2624
|
+
"type": "integer",
|
|
2625
|
+
"minimum": 1,
|
|
2626
|
+
"description": "Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available."
|
|
2627
|
+
},
|
|
2628
|
+
"positions": {
|
|
2629
|
+
"type": "array",
|
|
2630
|
+
"description": "Preferred disclosure positions in priority order. The first position a format supports should be used.",
|
|
2631
|
+
"items": {
|
|
2632
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
2633
|
+
},
|
|
2634
|
+
"minItems": 1,
|
|
2635
|
+
"uniqueItems": true
|
|
2636
|
+
},
|
|
2637
|
+
"ext": {
|
|
2638
|
+
"title": "Extension Object",
|
|
2639
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
2640
|
+
"type": "object",
|
|
2641
|
+
"additionalProperties": true
|
|
2642
|
+
}
|
|
2643
|
+
},
|
|
2644
|
+
"additionalProperties": true
|
|
2645
|
+
}
|
|
2646
|
+
},
|
|
2647
|
+
"required": [
|
|
2648
|
+
"country",
|
|
2649
|
+
"regulation"
|
|
2650
|
+
],
|
|
2651
|
+
"additionalProperties": true
|
|
2652
|
+
},
|
|
2653
|
+
"minItems": 1
|
|
2654
|
+
}
|
|
2655
|
+
},
|
|
2656
|
+
"required": [
|
|
2657
|
+
"required"
|
|
2658
|
+
],
|
|
2659
|
+
"additionalProperties": true
|
|
2660
|
+
},
|
|
2661
|
+
"verification": {
|
|
2662
|
+
"type": "array",
|
|
2663
|
+
"description": "Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.",
|
|
2664
|
+
"minItems": 1,
|
|
2665
|
+
"items": {
|
|
2666
|
+
"type": "object",
|
|
2667
|
+
"properties": {
|
|
2668
|
+
"verified_by": {
|
|
2669
|
+
"type": "string",
|
|
2670
|
+
"description": "Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')"
|
|
2671
|
+
},
|
|
2672
|
+
"verified_time": {
|
|
2673
|
+
"type": "string",
|
|
2674
|
+
"format": "date-time",
|
|
2675
|
+
"description": "When the verification was performed (ISO 8601)"
|
|
2676
|
+
},
|
|
2677
|
+
"result": {
|
|
2678
|
+
"type": "string",
|
|
2679
|
+
"enum": [
|
|
2680
|
+
"authentic",
|
|
2681
|
+
"ai_generated",
|
|
2682
|
+
"ai_modified",
|
|
2683
|
+
"inconclusive"
|
|
2684
|
+
],
|
|
2685
|
+
"description": "Verification outcome"
|
|
2686
|
+
},
|
|
2687
|
+
"confidence": {
|
|
2688
|
+
"type": "number",
|
|
2689
|
+
"minimum": 0,
|
|
2690
|
+
"maximum": 1,
|
|
2691
|
+
"description": "Confidence score of the verification result (0.0 to 1.0)"
|
|
2692
|
+
},
|
|
2693
|
+
"details_url": {
|
|
2694
|
+
"type": "string",
|
|
2695
|
+
"format": "uri",
|
|
2696
|
+
"description": "URL to the full verification report"
|
|
2697
|
+
}
|
|
2698
|
+
},
|
|
2699
|
+
"required": [
|
|
2700
|
+
"verified_by",
|
|
2701
|
+
"result"
|
|
2702
|
+
],
|
|
2703
|
+
"additionalProperties": true
|
|
2704
|
+
}
|
|
2705
|
+
},
|
|
2706
|
+
"ext": {
|
|
2707
|
+
"title": "Extension Object",
|
|
2708
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
2709
|
+
"type": "object",
|
|
2710
|
+
"additionalProperties": true
|
|
2711
|
+
}
|
|
2712
|
+
},
|
|
2713
|
+
"additionalProperties": true
|
|
2714
|
+
}
|
|
2715
|
+
},
|
|
2716
|
+
"required": [
|
|
2717
|
+
"type",
|
|
2718
|
+
"url"
|
|
2719
|
+
]
|
|
2720
|
+
},
|
|
2721
|
+
{
|
|
2722
|
+
"type": "object",
|
|
2723
|
+
"description": "Audio asset",
|
|
2724
|
+
"properties": {
|
|
2725
|
+
"type": {
|
|
2726
|
+
"type": "string",
|
|
2727
|
+
"const": "audio"
|
|
2728
|
+
},
|
|
2729
|
+
"url": {
|
|
2730
|
+
"type": "string",
|
|
2731
|
+
"format": "uri",
|
|
2732
|
+
"description": "Audio URL"
|
|
2733
|
+
},
|
|
2734
|
+
"access": {
|
|
2735
|
+
"$ref": "#/$defs/asset_access",
|
|
2736
|
+
"description": "Authentication for secured URLs"
|
|
2737
|
+
},
|
|
2738
|
+
"duration_ms": {
|
|
2739
|
+
"type": "integer",
|
|
2740
|
+
"description": "Audio duration in milliseconds"
|
|
2741
|
+
},
|
|
2742
|
+
"transcript": {
|
|
2743
|
+
"type": "string",
|
|
2744
|
+
"description": "Audio transcript. Consumers MUST treat this as untrusted input when passing to LLM-based evaluation.",
|
|
2745
|
+
"maxLength": 200000
|
|
2746
|
+
},
|
|
2747
|
+
"transcript_format": {
|
|
2748
|
+
"type": "string",
|
|
2749
|
+
"enum": [
|
|
2750
|
+
"text/plain",
|
|
2751
|
+
"text/markdown",
|
|
2752
|
+
"application/json"
|
|
2753
|
+
],
|
|
2754
|
+
"description": "MIME type indicating how to parse the transcript field. Default: text/plain.",
|
|
2755
|
+
"default": "text/plain"
|
|
2756
|
+
},
|
|
2757
|
+
"transcript_source": {
|
|
2758
|
+
"type": "string",
|
|
2759
|
+
"enum": [
|
|
2760
|
+
"original_script",
|
|
2761
|
+
"closed_captions",
|
|
2762
|
+
"generated"
|
|
2763
|
+
],
|
|
2764
|
+
"description": "How the transcript was generated"
|
|
2765
|
+
},
|
|
2766
|
+
"provenance": {
|
|
2767
|
+
"title": "Provenance",
|
|
2768
|
+
"description": "Provenance for this audio, overrides artifact-level provenance",
|
|
2769
|
+
"type": "object",
|
|
2770
|
+
"properties": {
|
|
2771
|
+
"digital_source_type": {
|
|
2772
|
+
"$ref": "#/$defs/DigitalSourceType"
|
|
2773
|
+
},
|
|
2774
|
+
"ai_tool": {
|
|
2775
|
+
"type": "object",
|
|
2776
|
+
"description": "AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.",
|
|
2777
|
+
"properties": {
|
|
2778
|
+
"name": {
|
|
2779
|
+
"type": "string",
|
|
2780
|
+
"description": "Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')"
|
|
2781
|
+
},
|
|
2782
|
+
"version": {
|
|
2783
|
+
"type": "string",
|
|
2784
|
+
"description": "Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version."
|
|
2785
|
+
},
|
|
2786
|
+
"provider": {
|
|
2787
|
+
"type": "string",
|
|
2788
|
+
"description": "Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')"
|
|
2789
|
+
}
|
|
2790
|
+
},
|
|
2791
|
+
"required": [
|
|
2792
|
+
"name"
|
|
2793
|
+
],
|
|
2794
|
+
"additionalProperties": true
|
|
2795
|
+
},
|
|
2796
|
+
"human_oversight": {
|
|
2797
|
+
"type": "string",
|
|
2798
|
+
"description": "Level of human involvement in the AI-assisted creation process",
|
|
2799
|
+
"enum": [
|
|
2800
|
+
"none",
|
|
2801
|
+
"prompt_only",
|
|
2802
|
+
"selected",
|
|
2803
|
+
"edited",
|
|
2804
|
+
"directed"
|
|
2805
|
+
],
|
|
2806
|
+
"enumDescriptions": {
|
|
2807
|
+
"none": "Fully automated with no human involvement in generation",
|
|
2808
|
+
"prompt_only": "Human provided the prompt or instructions but did not review outputs",
|
|
2809
|
+
"selected": "Human selected from multiple AI-generated candidates",
|
|
2810
|
+
"edited": "Human edited or refined AI-generated output",
|
|
2811
|
+
"directed": "Human directed the creative process with AI as an assistive tool"
|
|
2812
|
+
}
|
|
2813
|
+
},
|
|
2814
|
+
"declared_by": {
|
|
2815
|
+
"type": "object",
|
|
2816
|
+
"description": "Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.",
|
|
2817
|
+
"properties": {
|
|
2818
|
+
"agent_url": {
|
|
2819
|
+
"type": "string",
|
|
2820
|
+
"format": "uri",
|
|
2821
|
+
"description": "URL of the agent or service that declared this provenance"
|
|
2822
|
+
},
|
|
2823
|
+
"role": {
|
|
2824
|
+
"type": "string",
|
|
2825
|
+
"enum": [
|
|
2826
|
+
"creator",
|
|
2827
|
+
"advertiser",
|
|
2828
|
+
"agency",
|
|
2829
|
+
"platform",
|
|
2830
|
+
"tool"
|
|
2831
|
+
],
|
|
2832
|
+
"description": "Role of the declaring party in the supply chain",
|
|
2833
|
+
"enumDescriptions": {
|
|
2834
|
+
"creator": "The party that created or generated the content",
|
|
2835
|
+
"advertiser": "The brand or advertiser that owns the content",
|
|
2836
|
+
"agency": "Agency acting on behalf of the advertiser",
|
|
2837
|
+
"platform": "Ad platform or publisher that processed the content",
|
|
2838
|
+
"tool": "Automated tool or service that attached provenance metadata"
|
|
2839
|
+
}
|
|
2840
|
+
}
|
|
2841
|
+
},
|
|
2842
|
+
"required": [
|
|
2843
|
+
"role"
|
|
2844
|
+
],
|
|
2845
|
+
"additionalProperties": true
|
|
2846
|
+
},
|
|
2847
|
+
"declared_at": {
|
|
2848
|
+
"type": "string",
|
|
2849
|
+
"format": "date-time",
|
|
2850
|
+
"description": "When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance."
|
|
2851
|
+
},
|
|
2852
|
+
"created_time": {
|
|
2853
|
+
"type": "string",
|
|
2854
|
+
"format": "date-time",
|
|
2855
|
+
"description": "When this content was created or generated (ISO 8601)"
|
|
2856
|
+
},
|
|
2857
|
+
"c2pa": {
|
|
2858
|
+
"type": "object",
|
|
2859
|
+
"description": "C2PA Content Credentials reference. Links to the cryptographic provenance manifest for this content. Because file-level C2PA bindings break during ad-tech transcoding, this URL reference preserves the chain of provenance through the supply chain.",
|
|
2860
|
+
"properties": {
|
|
2861
|
+
"manifest_url": {
|
|
2862
|
+
"type": "string",
|
|
2863
|
+
"format": "uri",
|
|
2864
|
+
"description": "URL to the C2PA manifest store for this content"
|
|
2865
|
+
}
|
|
2866
|
+
},
|
|
2867
|
+
"required": [
|
|
2868
|
+
"manifest_url"
|
|
2869
|
+
],
|
|
2870
|
+
"additionalProperties": true
|
|
2871
|
+
},
|
|
2872
|
+
"disclosure": {
|
|
2873
|
+
"type": "object",
|
|
2874
|
+
"description": "Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.",
|
|
2875
|
+
"properties": {
|
|
2876
|
+
"required": {
|
|
2877
|
+
"type": "boolean",
|
|
2878
|
+
"description": "Whether AI disclosure is required for this content based on applicable regulations"
|
|
2879
|
+
},
|
|
2880
|
+
"jurisdictions": {
|
|
2881
|
+
"type": "array",
|
|
2882
|
+
"description": "Jurisdictions where disclosure obligations apply",
|
|
2883
|
+
"items": {
|
|
2884
|
+
"type": "object",
|
|
2885
|
+
"properties": {
|
|
2886
|
+
"country": {
|
|
2887
|
+
"type": "string",
|
|
2888
|
+
"description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')"
|
|
2889
|
+
},
|
|
2890
|
+
"region": {
|
|
2891
|
+
"type": "string",
|
|
2892
|
+
"description": "Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)"
|
|
2893
|
+
},
|
|
2894
|
+
"regulation": {
|
|
2895
|
+
"type": "string",
|
|
2896
|
+
"description": "Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')"
|
|
2897
|
+
},
|
|
2898
|
+
"label_text": {
|
|
2899
|
+
"type": "string",
|
|
2900
|
+
"description": "Required disclosure label text for this jurisdiction, in the local language"
|
|
2901
|
+
},
|
|
2902
|
+
"render_guidance": {
|
|
2903
|
+
"type": "object",
|
|
2904
|
+
"description": "How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.",
|
|
2905
|
+
"minProperties": 1,
|
|
2906
|
+
"properties": {
|
|
2907
|
+
"persistence": {
|
|
2908
|
+
"$ref": "#/$defs/DisclosurePersistence"
|
|
2909
|
+
},
|
|
2910
|
+
"min_duration_ms": {
|
|
2911
|
+
"type": "integer",
|
|
2912
|
+
"minimum": 1,
|
|
2913
|
+
"description": "Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available."
|
|
2914
|
+
},
|
|
2915
|
+
"positions": {
|
|
2916
|
+
"type": "array",
|
|
2917
|
+
"description": "Preferred disclosure positions in priority order. The first position a format supports should be used.",
|
|
2918
|
+
"items": {
|
|
2919
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
2920
|
+
},
|
|
2921
|
+
"minItems": 1,
|
|
2922
|
+
"uniqueItems": true
|
|
2923
|
+
},
|
|
2924
|
+
"ext": {
|
|
2925
|
+
"title": "Extension Object",
|
|
2926
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
2927
|
+
"type": "object",
|
|
2928
|
+
"additionalProperties": true
|
|
2929
|
+
}
|
|
2930
|
+
},
|
|
2931
|
+
"additionalProperties": true
|
|
2932
|
+
}
|
|
2933
|
+
},
|
|
2934
|
+
"required": [
|
|
2935
|
+
"country",
|
|
2936
|
+
"regulation"
|
|
2937
|
+
],
|
|
2938
|
+
"additionalProperties": true
|
|
2939
|
+
},
|
|
2940
|
+
"minItems": 1
|
|
2941
|
+
}
|
|
2942
|
+
},
|
|
2943
|
+
"required": [
|
|
2944
|
+
"required"
|
|
2945
|
+
],
|
|
2946
|
+
"additionalProperties": true
|
|
2947
|
+
},
|
|
2948
|
+
"verification": {
|
|
2949
|
+
"type": "array",
|
|
2950
|
+
"description": "Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.",
|
|
2951
|
+
"minItems": 1,
|
|
2952
|
+
"items": {
|
|
2953
|
+
"type": "object",
|
|
2954
|
+
"properties": {
|
|
2955
|
+
"verified_by": {
|
|
2956
|
+
"type": "string",
|
|
2957
|
+
"description": "Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')"
|
|
2958
|
+
},
|
|
2959
|
+
"verified_time": {
|
|
2960
|
+
"type": "string",
|
|
2961
|
+
"format": "date-time",
|
|
2962
|
+
"description": "When the verification was performed (ISO 8601)"
|
|
2963
|
+
},
|
|
2964
|
+
"result": {
|
|
2965
|
+
"type": "string",
|
|
2966
|
+
"enum": [
|
|
2967
|
+
"authentic",
|
|
2968
|
+
"ai_generated",
|
|
2969
|
+
"ai_modified",
|
|
2970
|
+
"inconclusive"
|
|
2971
|
+
],
|
|
2972
|
+
"description": "Verification outcome"
|
|
2973
|
+
},
|
|
2974
|
+
"confidence": {
|
|
2975
|
+
"type": "number",
|
|
2976
|
+
"minimum": 0,
|
|
2977
|
+
"maximum": 1,
|
|
2978
|
+
"description": "Confidence score of the verification result (0.0 to 1.0)"
|
|
2979
|
+
},
|
|
2980
|
+
"details_url": {
|
|
2981
|
+
"type": "string",
|
|
2982
|
+
"format": "uri",
|
|
2983
|
+
"description": "URL to the full verification report"
|
|
2984
|
+
}
|
|
2985
|
+
},
|
|
2986
|
+
"required": [
|
|
2987
|
+
"verified_by",
|
|
2988
|
+
"result"
|
|
2989
|
+
],
|
|
2990
|
+
"additionalProperties": true
|
|
2991
|
+
}
|
|
2992
|
+
},
|
|
2993
|
+
"ext": {
|
|
2994
|
+
"title": "Extension Object",
|
|
2995
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
2996
|
+
"type": "object",
|
|
2997
|
+
"additionalProperties": true
|
|
2998
|
+
}
|
|
2999
|
+
},
|
|
3000
|
+
"additionalProperties": true
|
|
3001
|
+
}
|
|
3002
|
+
},
|
|
3003
|
+
"required": [
|
|
3004
|
+
"type",
|
|
3005
|
+
"url"
|
|
3006
|
+
]
|
|
3007
|
+
}
|
|
3008
|
+
]
|
|
3009
|
+
}
|
|
3010
|
+
},
|
|
3011
|
+
"metadata": {
|
|
3012
|
+
"type": "object",
|
|
3013
|
+
"description": "Rich metadata extracted from the artifact",
|
|
3014
|
+
"properties": {
|
|
3015
|
+
"canonical": {
|
|
3016
|
+
"type": "string",
|
|
3017
|
+
"format": "uri",
|
|
3018
|
+
"description": "Canonical URL"
|
|
3019
|
+
},
|
|
3020
|
+
"author": {
|
|
3021
|
+
"type": "string",
|
|
3022
|
+
"description": "Artifact author name"
|
|
3023
|
+
},
|
|
3024
|
+
"keywords": {
|
|
3025
|
+
"type": "string",
|
|
3026
|
+
"description": "Artifact keywords"
|
|
3027
|
+
},
|
|
3028
|
+
"open_graph": {
|
|
3029
|
+
"type": "object",
|
|
3030
|
+
"description": "Open Graph protocol metadata",
|
|
3031
|
+
"additionalProperties": true
|
|
3032
|
+
},
|
|
3033
|
+
"twitter_card": {
|
|
3034
|
+
"type": "object",
|
|
3035
|
+
"description": "Twitter Card metadata",
|
|
3036
|
+
"additionalProperties": true
|
|
3037
|
+
},
|
|
3038
|
+
"json_ld": {
|
|
3039
|
+
"type": "array",
|
|
3040
|
+
"description": "JSON-LD structured data (schema.org)",
|
|
3041
|
+
"items": {
|
|
3042
|
+
"type": "object"
|
|
3043
|
+
}
|
|
3044
|
+
}
|
|
3045
|
+
},
|
|
3046
|
+
"additionalProperties": true
|
|
3047
|
+
},
|
|
3048
|
+
"provenance": {
|
|
3049
|
+
"title": "Provenance",
|
|
3050
|
+
"description": "Provenance metadata for this artifact. Serves as the default provenance for all assets within this artifact — individual assets can override with their own provenance.",
|
|
3051
|
+
"type": "object",
|
|
3052
|
+
"properties": {
|
|
3053
|
+
"digital_source_type": {
|
|
3054
|
+
"$ref": "#/$defs/DigitalSourceType"
|
|
3055
|
+
},
|
|
3056
|
+
"ai_tool": {
|
|
3057
|
+
"type": "object",
|
|
3058
|
+
"description": "AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.",
|
|
3059
|
+
"properties": {
|
|
3060
|
+
"name": {
|
|
3061
|
+
"type": "string",
|
|
3062
|
+
"description": "Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')"
|
|
3063
|
+
},
|
|
3064
|
+
"version": {
|
|
3065
|
+
"type": "string",
|
|
3066
|
+
"description": "Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version."
|
|
3067
|
+
},
|
|
3068
|
+
"provider": {
|
|
3069
|
+
"type": "string",
|
|
3070
|
+
"description": "Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')"
|
|
3071
|
+
}
|
|
3072
|
+
},
|
|
3073
|
+
"required": [
|
|
3074
|
+
"name"
|
|
3075
|
+
],
|
|
3076
|
+
"additionalProperties": true
|
|
3077
|
+
},
|
|
3078
|
+
"human_oversight": {
|
|
3079
|
+
"type": "string",
|
|
3080
|
+
"description": "Level of human involvement in the AI-assisted creation process",
|
|
3081
|
+
"enum": [
|
|
3082
|
+
"none",
|
|
3083
|
+
"prompt_only",
|
|
3084
|
+
"selected",
|
|
3085
|
+
"edited",
|
|
3086
|
+
"directed"
|
|
3087
|
+
],
|
|
3088
|
+
"enumDescriptions": {
|
|
3089
|
+
"none": "Fully automated with no human involvement in generation",
|
|
3090
|
+
"prompt_only": "Human provided the prompt or instructions but did not review outputs",
|
|
3091
|
+
"selected": "Human selected from multiple AI-generated candidates",
|
|
3092
|
+
"edited": "Human edited or refined AI-generated output",
|
|
3093
|
+
"directed": "Human directed the creative process with AI as an assistive tool"
|
|
3094
|
+
}
|
|
3095
|
+
},
|
|
3096
|
+
"declared_by": {
|
|
3097
|
+
"type": "object",
|
|
3098
|
+
"description": "Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.",
|
|
3099
|
+
"properties": {
|
|
3100
|
+
"agent_url": {
|
|
3101
|
+
"type": "string",
|
|
3102
|
+
"format": "uri",
|
|
3103
|
+
"description": "URL of the agent or service that declared this provenance"
|
|
3104
|
+
},
|
|
3105
|
+
"role": {
|
|
3106
|
+
"type": "string",
|
|
3107
|
+
"enum": [
|
|
3108
|
+
"creator",
|
|
3109
|
+
"advertiser",
|
|
3110
|
+
"agency",
|
|
3111
|
+
"platform",
|
|
3112
|
+
"tool"
|
|
3113
|
+
],
|
|
3114
|
+
"description": "Role of the declaring party in the supply chain",
|
|
3115
|
+
"enumDescriptions": {
|
|
3116
|
+
"creator": "The party that created or generated the content",
|
|
3117
|
+
"advertiser": "The brand or advertiser that owns the content",
|
|
3118
|
+
"agency": "Agency acting on behalf of the advertiser",
|
|
3119
|
+
"platform": "Ad platform or publisher that processed the content",
|
|
3120
|
+
"tool": "Automated tool or service that attached provenance metadata"
|
|
3121
|
+
}
|
|
3122
|
+
}
|
|
3123
|
+
},
|
|
3124
|
+
"required": [
|
|
3125
|
+
"role"
|
|
3126
|
+
],
|
|
3127
|
+
"additionalProperties": true
|
|
3128
|
+
},
|
|
3129
|
+
"declared_at": {
|
|
3130
|
+
"type": "string",
|
|
3131
|
+
"format": "date-time",
|
|
3132
|
+
"description": "When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance."
|
|
3133
|
+
},
|
|
3134
|
+
"created_time": {
|
|
3135
|
+
"type": "string",
|
|
3136
|
+
"format": "date-time",
|
|
3137
|
+
"description": "When this content was created or generated (ISO 8601)"
|
|
3138
|
+
},
|
|
3139
|
+
"c2pa": {
|
|
3140
|
+
"type": "object",
|
|
3141
|
+
"description": "C2PA Content Credentials reference. Links to the cryptographic provenance manifest for this content. Because file-level C2PA bindings break during ad-tech transcoding, this URL reference preserves the chain of provenance through the supply chain.",
|
|
3142
|
+
"properties": {
|
|
3143
|
+
"manifest_url": {
|
|
3144
|
+
"type": "string",
|
|
3145
|
+
"format": "uri",
|
|
3146
|
+
"description": "URL to the C2PA manifest store for this content"
|
|
3147
|
+
}
|
|
3148
|
+
},
|
|
3149
|
+
"required": [
|
|
3150
|
+
"manifest_url"
|
|
3151
|
+
],
|
|
3152
|
+
"additionalProperties": true
|
|
3153
|
+
},
|
|
3154
|
+
"disclosure": {
|
|
3155
|
+
"type": "object",
|
|
3156
|
+
"description": "Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.",
|
|
3157
|
+
"properties": {
|
|
3158
|
+
"required": {
|
|
3159
|
+
"type": "boolean",
|
|
3160
|
+
"description": "Whether AI disclosure is required for this content based on applicable regulations"
|
|
3161
|
+
},
|
|
3162
|
+
"jurisdictions": {
|
|
3163
|
+
"type": "array",
|
|
3164
|
+
"description": "Jurisdictions where disclosure obligations apply",
|
|
3165
|
+
"items": {
|
|
3166
|
+
"type": "object",
|
|
3167
|
+
"properties": {
|
|
3168
|
+
"country": {
|
|
3169
|
+
"type": "string",
|
|
3170
|
+
"description": "ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')"
|
|
3171
|
+
},
|
|
3172
|
+
"region": {
|
|
3173
|
+
"type": "string",
|
|
3174
|
+
"description": "Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)"
|
|
3175
|
+
},
|
|
3176
|
+
"regulation": {
|
|
3177
|
+
"type": "string",
|
|
3178
|
+
"description": "Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')"
|
|
3179
|
+
},
|
|
3180
|
+
"label_text": {
|
|
3181
|
+
"type": "string",
|
|
3182
|
+
"description": "Required disclosure label text for this jurisdiction, in the local language"
|
|
3183
|
+
},
|
|
3184
|
+
"render_guidance": {
|
|
3185
|
+
"type": "object",
|
|
3186
|
+
"description": "How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.",
|
|
3187
|
+
"minProperties": 1,
|
|
3188
|
+
"properties": {
|
|
3189
|
+
"persistence": {
|
|
3190
|
+
"$ref": "#/$defs/DisclosurePersistence"
|
|
3191
|
+
},
|
|
3192
|
+
"min_duration_ms": {
|
|
3193
|
+
"type": "integer",
|
|
3194
|
+
"minimum": 1,
|
|
3195
|
+
"description": "Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available."
|
|
3196
|
+
},
|
|
3197
|
+
"positions": {
|
|
3198
|
+
"type": "array",
|
|
3199
|
+
"description": "Preferred disclosure positions in priority order. The first position a format supports should be used.",
|
|
3200
|
+
"items": {
|
|
3201
|
+
"$ref": "#/$defs/DisclosurePosition"
|
|
3202
|
+
},
|
|
3203
|
+
"minItems": 1,
|
|
3204
|
+
"uniqueItems": true
|
|
3205
|
+
},
|
|
3206
|
+
"ext": {
|
|
3207
|
+
"title": "Extension Object",
|
|
3208
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3209
|
+
"type": "object",
|
|
3210
|
+
"additionalProperties": true
|
|
3211
|
+
}
|
|
3212
|
+
},
|
|
3213
|
+
"additionalProperties": true
|
|
3214
|
+
}
|
|
3215
|
+
},
|
|
3216
|
+
"required": [
|
|
3217
|
+
"country",
|
|
3218
|
+
"regulation"
|
|
3219
|
+
],
|
|
3220
|
+
"additionalProperties": true
|
|
3221
|
+
},
|
|
3222
|
+
"minItems": 1
|
|
3223
|
+
}
|
|
3224
|
+
},
|
|
3225
|
+
"required": [
|
|
3226
|
+
"required"
|
|
3227
|
+
],
|
|
3228
|
+
"additionalProperties": true
|
|
3229
|
+
},
|
|
3230
|
+
"verification": {
|
|
3231
|
+
"type": "array",
|
|
3232
|
+
"description": "Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.",
|
|
3233
|
+
"minItems": 1,
|
|
3234
|
+
"items": {
|
|
3235
|
+
"type": "object",
|
|
3236
|
+
"properties": {
|
|
3237
|
+
"verified_by": {
|
|
3238
|
+
"type": "string",
|
|
3239
|
+
"description": "Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')"
|
|
3240
|
+
},
|
|
3241
|
+
"verified_time": {
|
|
3242
|
+
"type": "string",
|
|
3243
|
+
"format": "date-time",
|
|
3244
|
+
"description": "When the verification was performed (ISO 8601)"
|
|
3245
|
+
},
|
|
3246
|
+
"result": {
|
|
3247
|
+
"type": "string",
|
|
3248
|
+
"enum": [
|
|
3249
|
+
"authentic",
|
|
3250
|
+
"ai_generated",
|
|
3251
|
+
"ai_modified",
|
|
3252
|
+
"inconclusive"
|
|
3253
|
+
],
|
|
3254
|
+
"description": "Verification outcome"
|
|
3255
|
+
},
|
|
3256
|
+
"confidence": {
|
|
3257
|
+
"type": "number",
|
|
3258
|
+
"minimum": 0,
|
|
3259
|
+
"maximum": 1,
|
|
3260
|
+
"description": "Confidence score of the verification result (0.0 to 1.0)"
|
|
3261
|
+
},
|
|
3262
|
+
"details_url": {
|
|
3263
|
+
"type": "string",
|
|
3264
|
+
"format": "uri",
|
|
3265
|
+
"description": "URL to the full verification report"
|
|
3266
|
+
}
|
|
3267
|
+
},
|
|
3268
|
+
"required": [
|
|
3269
|
+
"verified_by",
|
|
3270
|
+
"result"
|
|
3271
|
+
],
|
|
3272
|
+
"additionalProperties": true
|
|
3273
|
+
}
|
|
3274
|
+
},
|
|
3275
|
+
"ext": {
|
|
3276
|
+
"title": "Extension Object",
|
|
3277
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3278
|
+
"type": "object",
|
|
3279
|
+
"additionalProperties": true
|
|
3280
|
+
}
|
|
3281
|
+
},
|
|
3282
|
+
"additionalProperties": true
|
|
3283
|
+
},
|
|
3284
|
+
"identifiers": {
|
|
3285
|
+
"type": "object",
|
|
3286
|
+
"description": "Platform-specific identifiers for this artifact",
|
|
3287
|
+
"properties": {
|
|
3288
|
+
"apple_podcast_id": {
|
|
3289
|
+
"type": "string",
|
|
3290
|
+
"description": "Apple Podcasts ID"
|
|
3291
|
+
},
|
|
3292
|
+
"spotify_collection_id": {
|
|
3293
|
+
"type": "string",
|
|
3294
|
+
"description": "Spotify collection ID"
|
|
3295
|
+
},
|
|
3296
|
+
"podcast_guid": {
|
|
3297
|
+
"type": "string",
|
|
3298
|
+
"description": "Podcast GUID (from RSS feed)"
|
|
3299
|
+
},
|
|
3300
|
+
"youtube_video_id": {
|
|
3301
|
+
"type": "string",
|
|
3302
|
+
"description": "YouTube video ID"
|
|
3303
|
+
},
|
|
3304
|
+
"rss_url": {
|
|
3305
|
+
"type": "string",
|
|
3306
|
+
"format": "uri",
|
|
3307
|
+
"description": "RSS feed URL"
|
|
3308
|
+
}
|
|
3309
|
+
},
|
|
3310
|
+
"additionalProperties": true
|
|
3311
|
+
}
|
|
3312
|
+
},
|
|
3313
|
+
"required": [
|
|
3314
|
+
"property_rid",
|
|
3315
|
+
"artifact_id",
|
|
3316
|
+
"assets"
|
|
3317
|
+
],
|
|
3318
|
+
"additionalProperties": true
|
|
3319
|
+
},
|
|
3320
|
+
"description": "Artifacts that fail the content standards"
|
|
3321
|
+
}
|
|
3322
|
+
}
|
|
3323
|
+
},
|
|
3324
|
+
"pricing_options": {
|
|
3325
|
+
"type": "array",
|
|
3326
|
+
"description": "Pricing options for this content standards service. The buyer passes the selected pricing_option_id in report_usage for billing verification.",
|
|
3327
|
+
"items": {
|
|
3328
|
+
"title": "Vendor Pricing Option",
|
|
3329
|
+
"description": "A pricing option offered by a vendor agent (signals, creative, governance). Combines pricing_option_id with the pricing model fields. Pass pricing_option_id in report_usage for billing verification. All vendor discovery responses return pricing_options as an array — vendors may offer multiple options (volume tiers, context-specific rates, different models per product line).",
|
|
3330
|
+
"allOf": [
|
|
3331
|
+
{
|
|
3332
|
+
"type": "object",
|
|
3333
|
+
"properties": {
|
|
3334
|
+
"pricing_option_id": {
|
|
3335
|
+
"type": "string",
|
|
3336
|
+
"description": "Opaque identifier for this pricing option, unique within the vendor agent. Pass this in report_usage to identify which pricing option was applied.",
|
|
3337
|
+
"x-entity": "vendor_pricing_option"
|
|
3338
|
+
}
|
|
3339
|
+
},
|
|
3340
|
+
"required": [
|
|
3341
|
+
"pricing_option_id"
|
|
3342
|
+
]
|
|
3343
|
+
},
|
|
3344
|
+
{
|
|
3345
|
+
"title": "Vendor Pricing",
|
|
3346
|
+
"description": "Pricing model for a vendor service. Discriminated by model: 'cpm' (fixed CPM), 'percent_of_media' (percentage of spend with optional CPM cap), 'flat_fee' (fixed charge per reporting period), 'per_unit' (fixed price per unit of work), or 'custom' (escape hatch for models not covered by the enumerated forms — requires a description and structured metadata).",
|
|
3347
|
+
"type": "object",
|
|
3348
|
+
"oneOf": [
|
|
3349
|
+
{
|
|
3350
|
+
"title": "CpmPricing",
|
|
3351
|
+
"description": "Fixed cost per thousand impressions",
|
|
3352
|
+
"type": "object",
|
|
3353
|
+
"properties": {
|
|
3354
|
+
"model": {
|
|
3355
|
+
"type": "string",
|
|
3356
|
+
"const": "cpm"
|
|
3357
|
+
},
|
|
3358
|
+
"cpm": {
|
|
3359
|
+
"type": "number",
|
|
3360
|
+
"description": "Cost per thousand impressions",
|
|
3361
|
+
"minimum": 0
|
|
3362
|
+
},
|
|
3363
|
+
"currency": {
|
|
3364
|
+
"type": "string",
|
|
3365
|
+
"description": "ISO 4217 currency code",
|
|
3366
|
+
"pattern": "^[A-Z]{3}$"
|
|
3367
|
+
},
|
|
3368
|
+
"ext": {
|
|
3369
|
+
"title": "Extension Object",
|
|
3370
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3371
|
+
"type": "object",
|
|
3372
|
+
"additionalProperties": true
|
|
3373
|
+
}
|
|
3374
|
+
},
|
|
3375
|
+
"required": [
|
|
3376
|
+
"model",
|
|
3377
|
+
"cpm",
|
|
3378
|
+
"currency"
|
|
3379
|
+
],
|
|
3380
|
+
"additionalProperties": true
|
|
3381
|
+
},
|
|
3382
|
+
{
|
|
3383
|
+
"title": "PercentOfMediaPricing",
|
|
3384
|
+
"description": "Percentage of media spend charged for this signal. When max_cpm is set, the effective rate is capped at that CPM — useful for platforms like The Trade Desk that use percent-of-media pricing with a CPM ceiling.",
|
|
3385
|
+
"type": "object",
|
|
3386
|
+
"properties": {
|
|
3387
|
+
"model": {
|
|
3388
|
+
"type": "string",
|
|
3389
|
+
"const": "percent_of_media"
|
|
3390
|
+
},
|
|
3391
|
+
"percent": {
|
|
3392
|
+
"type": "number",
|
|
3393
|
+
"description": "Percentage of media spend, e.g. 15 = 15%",
|
|
3394
|
+
"minimum": 0,
|
|
3395
|
+
"maximum": 100
|
|
3396
|
+
},
|
|
3397
|
+
"max_cpm": {
|
|
3398
|
+
"type": "number",
|
|
3399
|
+
"description": "Optional CPM cap. When set, the effective charge is min(percent × media_spend_per_mille, max_cpm).",
|
|
3400
|
+
"minimum": 0
|
|
3401
|
+
},
|
|
3402
|
+
"currency": {
|
|
3403
|
+
"type": "string",
|
|
3404
|
+
"description": "ISO 4217 currency code for the resulting charge",
|
|
3405
|
+
"pattern": "^[A-Z]{3}$"
|
|
3406
|
+
},
|
|
3407
|
+
"ext": {
|
|
3408
|
+
"title": "Extension Object",
|
|
3409
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3410
|
+
"type": "object",
|
|
3411
|
+
"additionalProperties": true
|
|
3412
|
+
}
|
|
3413
|
+
},
|
|
3414
|
+
"required": [
|
|
3415
|
+
"model",
|
|
3416
|
+
"percent",
|
|
3417
|
+
"currency"
|
|
3418
|
+
],
|
|
3419
|
+
"additionalProperties": true
|
|
3420
|
+
},
|
|
3421
|
+
{
|
|
3422
|
+
"title": "FlatFeePricing",
|
|
3423
|
+
"description": "Fixed charge per billing period, regardless of impressions or spend. Used for licensed data bundles and audience subscriptions.",
|
|
3424
|
+
"type": "object",
|
|
3425
|
+
"properties": {
|
|
3426
|
+
"model": {
|
|
3427
|
+
"type": "string",
|
|
3428
|
+
"const": "flat_fee"
|
|
3429
|
+
},
|
|
3430
|
+
"amount": {
|
|
3431
|
+
"type": "number",
|
|
3432
|
+
"description": "Fixed charge for the billing period",
|
|
3433
|
+
"minimum": 0
|
|
3434
|
+
},
|
|
3435
|
+
"period": {
|
|
3436
|
+
"type": "string",
|
|
3437
|
+
"enum": [
|
|
3438
|
+
"monthly",
|
|
3439
|
+
"quarterly",
|
|
3440
|
+
"annual",
|
|
3441
|
+
"campaign"
|
|
3442
|
+
],
|
|
3443
|
+
"description": "Billing period for the flat fee."
|
|
3444
|
+
},
|
|
3445
|
+
"currency": {
|
|
3446
|
+
"type": "string",
|
|
3447
|
+
"description": "ISO 4217 currency code",
|
|
3448
|
+
"pattern": "^[A-Z]{3}$"
|
|
3449
|
+
},
|
|
3450
|
+
"ext": {
|
|
3451
|
+
"title": "Extension Object",
|
|
3452
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3453
|
+
"type": "object",
|
|
3454
|
+
"additionalProperties": true
|
|
3455
|
+
}
|
|
3456
|
+
},
|
|
3457
|
+
"required": [
|
|
3458
|
+
"model",
|
|
3459
|
+
"amount",
|
|
3460
|
+
"period",
|
|
3461
|
+
"currency"
|
|
3462
|
+
],
|
|
3463
|
+
"additionalProperties": true
|
|
3464
|
+
},
|
|
3465
|
+
{
|
|
3466
|
+
"title": "PerUnitPricing",
|
|
3467
|
+
"description": "Fixed price per unit of work. Used for creative transformation (per format), AI generation (per image, per token), and rendering (per variant). The unit field describes what is counted; unit_price is the cost per one unit.",
|
|
3468
|
+
"type": "object",
|
|
3469
|
+
"properties": {
|
|
3470
|
+
"model": {
|
|
3471
|
+
"type": "string",
|
|
3472
|
+
"const": "per_unit"
|
|
3473
|
+
},
|
|
3474
|
+
"unit": {
|
|
3475
|
+
"type": "string",
|
|
3476
|
+
"description": "What is counted — e.g. 'format', 'image', 'token', 'variant', 'render', 'evaluation'."
|
|
3477
|
+
},
|
|
3478
|
+
"unit_price": {
|
|
3479
|
+
"type": "number",
|
|
3480
|
+
"description": "Cost per one unit",
|
|
3481
|
+
"minimum": 0
|
|
3482
|
+
},
|
|
3483
|
+
"currency": {
|
|
3484
|
+
"type": "string",
|
|
3485
|
+
"description": "ISO 4217 currency code",
|
|
3486
|
+
"pattern": "^[A-Z]{3}$"
|
|
3487
|
+
},
|
|
3488
|
+
"ext": {
|
|
3489
|
+
"title": "Extension Object",
|
|
3490
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3491
|
+
"type": "object",
|
|
3492
|
+
"additionalProperties": true
|
|
3493
|
+
}
|
|
3494
|
+
},
|
|
3495
|
+
"required": [
|
|
3496
|
+
"model",
|
|
3497
|
+
"unit",
|
|
3498
|
+
"unit_price",
|
|
3499
|
+
"currency"
|
|
3500
|
+
],
|
|
3501
|
+
"additionalProperties": true
|
|
3502
|
+
},
|
|
3503
|
+
{
|
|
3504
|
+
"title": "CustomPricing",
|
|
3505
|
+
"description": "Escape hatch for pricing constructs that do not fit cpm, percent_of_media, flat_fee, or per_unit. Use when a vendor prices via performance kickers, tiered volume, hybrid formulas, outcome-sharing, or any other model the standard forms cannot express. Requires a human-readable description and a structured metadata object that captures the parameters a buyer needs to reason about the charge. Buyers SHOULD route custom pricing through operator review before commitment — automatic selection is not recommended.",
|
|
3506
|
+
"type": "object",
|
|
3507
|
+
"properties": {
|
|
3508
|
+
"model": {
|
|
3509
|
+
"type": "string",
|
|
3510
|
+
"const": "custom"
|
|
3511
|
+
},
|
|
3512
|
+
"description": {
|
|
3513
|
+
"type": "string",
|
|
3514
|
+
"description": "Human-readable description of the custom pricing model. Buyers display this to the operator when requesting approval.",
|
|
3515
|
+
"minLength": 1
|
|
3516
|
+
},
|
|
3517
|
+
"metadata": {
|
|
3518
|
+
"type": "object",
|
|
3519
|
+
"description": "Structured parameters for the custom model. Keys follow lowercase_snake_case. Values may be primitives, arrays, or nested objects. Must be sufficient for a human to understand the pricing basis and for a downstream system to reconstruct the charge. Vendors SHOULD include a `summary_for_operator` string (one or two sentences, suitable for display in a buyer's operator-review UI) so reviewers across vendors see a consistent prompt. Required operator-review fields (approver role, dollar threshold for automatic approval, escalation contact) MAY be surfaced via additional keys the buyer's review surface recognizes.",
|
|
3520
|
+
"additionalProperties": true,
|
|
3521
|
+
"minProperties": 1,
|
|
3522
|
+
"properties": {
|
|
3523
|
+
"summary_for_operator": {
|
|
3524
|
+
"type": "string",
|
|
3525
|
+
"description": "One or two sentences describing the pricing construct in plain language, displayed to the buyer's operator when requesting approval. Should not repeat the top-level `description` verbatim — summarize the charge mechanic instead (e.g., 'Base $12 CPM plus $0.50 per qualifying post-view conversion, capped at $45 CPM').",
|
|
3526
|
+
"minLength": 1
|
|
3527
|
+
}
|
|
3528
|
+
}
|
|
3529
|
+
},
|
|
3530
|
+
"currency": {
|
|
3531
|
+
"type": "string",
|
|
3532
|
+
"description": "ISO 4217 currency code. Present when the pricing resolves to a monetary charge in a specific currency.",
|
|
3533
|
+
"pattern": "^[A-Z]{3}$"
|
|
3534
|
+
},
|
|
3535
|
+
"ext": {
|
|
3536
|
+
"title": "Extension Object",
|
|
3537
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3538
|
+
"type": "object",
|
|
3539
|
+
"additionalProperties": true
|
|
3540
|
+
}
|
|
3541
|
+
},
|
|
3542
|
+
"required": [
|
|
3543
|
+
"model",
|
|
3544
|
+
"description",
|
|
3545
|
+
"metadata"
|
|
3546
|
+
],
|
|
3547
|
+
"additionalProperties": true
|
|
3548
|
+
}
|
|
3549
|
+
]
|
|
3550
|
+
}
|
|
3551
|
+
]
|
|
3552
|
+
},
|
|
3553
|
+
"minItems": 1
|
|
3554
|
+
},
|
|
3555
|
+
"ext": {
|
|
3556
|
+
"title": "Extension Object",
|
|
3557
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3558
|
+
"type": "object",
|
|
3559
|
+
"additionalProperties": true
|
|
3560
|
+
}
|
|
3561
|
+
},
|
|
3562
|
+
"required": [
|
|
3563
|
+
"standards_id"
|
|
3564
|
+
]
|
|
3565
|
+
}
|
|
3566
|
+
],
|
|
3567
|
+
"properties": {
|
|
3568
|
+
"context": {
|
|
3569
|
+
"title": "Context Object",
|
|
3570
|
+
"description": "Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.",
|
|
3571
|
+
"type": "object",
|
|
3572
|
+
"additionalProperties": true
|
|
3573
|
+
},
|
|
3574
|
+
"ext": {
|
|
3575
|
+
"title": "Extension Object",
|
|
3576
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3577
|
+
"type": "object",
|
|
3578
|
+
"additionalProperties": true
|
|
3579
|
+
}
|
|
3580
|
+
}
|
|
3581
|
+
},
|
|
3582
|
+
{
|
|
3583
|
+
"type": "object",
|
|
3584
|
+
"description": "Error response",
|
|
3585
|
+
"properties": {
|
|
3586
|
+
"errors": {
|
|
3587
|
+
"type": "array",
|
|
3588
|
+
"items": {
|
|
3589
|
+
"title": "Error",
|
|
3590
|
+
"description": "Standard error structure for task-specific errors and warnings",
|
|
3591
|
+
"type": "object",
|
|
3592
|
+
"properties": {
|
|
3593
|
+
"code": {
|
|
3594
|
+
"type": "string",
|
|
3595
|
+
"minLength": 1,
|
|
3596
|
+
"maxLength": 64,
|
|
3597
|
+
"description": "Error code for programmatic handling. Standard codes are defined in error-code.json and enable autonomous agent recovery. Sellers MAY use codes not in the standard vocabulary for platform-specific errors; agents MUST handle unknown codes gracefully by falling back to the recovery classification."
|
|
3598
|
+
},
|
|
3599
|
+
"message": {
|
|
3600
|
+
"type": "string",
|
|
3601
|
+
"description": "Human-readable error message"
|
|
3602
|
+
},
|
|
3603
|
+
"field": {
|
|
3604
|
+
"type": "string",
|
|
3605
|
+
"description": "Field path associated with the error (e.g., 'packages[0].targeting')"
|
|
3606
|
+
},
|
|
3607
|
+
"suggestion": {
|
|
3608
|
+
"type": "string",
|
|
3609
|
+
"description": "Suggested fix for the error"
|
|
3610
|
+
},
|
|
3611
|
+
"retry_after": {
|
|
3612
|
+
"type": "number",
|
|
3613
|
+
"description": "Seconds to wait before retrying the operation. Sellers MUST return values between 1 and 3600. Clients MUST clamp values outside this range.",
|
|
3614
|
+
"minimum": 1,
|
|
3615
|
+
"maximum": 3600
|
|
3616
|
+
},
|
|
3617
|
+
"details": {
|
|
3618
|
+
"type": "object",
|
|
3619
|
+
"description": "Additional task-specific error details",
|
|
3620
|
+
"additionalProperties": true
|
|
3621
|
+
},
|
|
3622
|
+
"recovery": {
|
|
3623
|
+
"type": "string",
|
|
3624
|
+
"enum": [
|
|
3625
|
+
"transient",
|
|
3626
|
+
"correctable",
|
|
3627
|
+
"terminal"
|
|
3628
|
+
],
|
|
3629
|
+
"description": "Agent recovery classification. transient: retry after delay (rate limit, service unavailable, timeout). correctable: fix the request and resend (invalid field, budget too low, creative rejected). terminal: requires human action (account suspended, payment required, account not found)."
|
|
3630
|
+
}
|
|
3631
|
+
},
|
|
3632
|
+
"required": [
|
|
3633
|
+
"code",
|
|
3634
|
+
"message"
|
|
3635
|
+
],
|
|
3636
|
+
"additionalProperties": true
|
|
3637
|
+
}
|
|
3638
|
+
},
|
|
3639
|
+
"context": {
|
|
3640
|
+
"title": "Context Object",
|
|
3641
|
+
"description": "Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.",
|
|
3642
|
+
"type": "object",
|
|
3643
|
+
"additionalProperties": true
|
|
3644
|
+
},
|
|
3645
|
+
"ext": {
|
|
3646
|
+
"title": "Extension Object",
|
|
3647
|
+
"description": "Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.",
|
|
3648
|
+
"type": "object",
|
|
3649
|
+
"additionalProperties": true
|
|
3650
|
+
}
|
|
3651
|
+
},
|
|
3652
|
+
"required": [
|
|
3653
|
+
"errors"
|
|
3654
|
+
]
|
|
3655
|
+
}
|
|
3656
|
+
],
|
|
3657
|
+
"$defs": {
|
|
3658
|
+
"exemplar": {
|
|
3659
|
+
"type": "object",
|
|
3660
|
+
"properties": {
|
|
3661
|
+
"scenario": {
|
|
3662
|
+
"type": "string",
|
|
3663
|
+
"description": "A concrete scenario describing an advertising action or configuration."
|
|
3664
|
+
},
|
|
3665
|
+
"explanation": {
|
|
3666
|
+
"type": "string",
|
|
3667
|
+
"description": "Why this scenario passes or fails the policy."
|
|
3668
|
+
}
|
|
3669
|
+
},
|
|
3670
|
+
"required": [
|
|
3671
|
+
"scenario",
|
|
3672
|
+
"explanation"
|
|
3673
|
+
],
|
|
3674
|
+
"additionalProperties": false
|
|
3675
|
+
},
|
|
3676
|
+
"asset_access": {
|
|
3677
|
+
"type": "object",
|
|
3678
|
+
"description": "Authentication for accessing secured asset URLs",
|
|
3679
|
+
"oneOf": [
|
|
3680
|
+
{
|
|
3681
|
+
"type": "object",
|
|
3682
|
+
"description": "Bearer token authentication",
|
|
3683
|
+
"properties": {
|
|
3684
|
+
"method": {
|
|
3685
|
+
"type": "string",
|
|
3686
|
+
"const": "bearer_token"
|
|
3687
|
+
},
|
|
3688
|
+
"token": {
|
|
3689
|
+
"type": "string",
|
|
3690
|
+
"description": "OAuth2 bearer token for Authorization header"
|
|
3691
|
+
}
|
|
3692
|
+
},
|
|
3693
|
+
"required": [
|
|
3694
|
+
"method",
|
|
3695
|
+
"token"
|
|
3696
|
+
]
|
|
3697
|
+
},
|
|
3698
|
+
{
|
|
3699
|
+
"type": "object",
|
|
3700
|
+
"description": "Service account authentication (GCP, AWS)",
|
|
3701
|
+
"properties": {
|
|
3702
|
+
"method": {
|
|
3703
|
+
"type": "string",
|
|
3704
|
+
"const": "service_account"
|
|
3705
|
+
},
|
|
3706
|
+
"provider": {
|
|
3707
|
+
"type": "string",
|
|
3708
|
+
"enum": [
|
|
3709
|
+
"gcp",
|
|
3710
|
+
"aws"
|
|
3711
|
+
],
|
|
3712
|
+
"description": "Cloud provider"
|
|
3713
|
+
},
|
|
3714
|
+
"credentials": {
|
|
3715
|
+
"type": "object",
|
|
3716
|
+
"description": "Service account credentials",
|
|
3717
|
+
"additionalProperties": true
|
|
3718
|
+
}
|
|
3719
|
+
},
|
|
3720
|
+
"required": [
|
|
3721
|
+
"method",
|
|
3722
|
+
"provider"
|
|
3723
|
+
]
|
|
3724
|
+
},
|
|
3725
|
+
{
|
|
3726
|
+
"type": "object",
|
|
3727
|
+
"description": "Pre-signed URL (credentials embedded in URL)",
|
|
3728
|
+
"properties": {
|
|
3729
|
+
"method": {
|
|
3730
|
+
"type": "string",
|
|
3731
|
+
"const": "signed_url"
|
|
3732
|
+
}
|
|
3733
|
+
},
|
|
3734
|
+
"required": [
|
|
3735
|
+
"method"
|
|
3736
|
+
]
|
|
3737
|
+
}
|
|
3738
|
+
]
|
|
3739
|
+
},
|
|
3740
|
+
"MediaChannel": {
|
|
3741
|
+
"title": "Media Channel",
|
|
3742
|
+
"description": "Standardized advertising media channels describing how buyers allocate budget. Channels are planning abstractions, not technical substrates. See the Media Channel Taxonomy specification for detailed definitions.",
|
|
3743
|
+
"type": "string",
|
|
3744
|
+
"enum": [
|
|
3745
|
+
"display",
|
|
3746
|
+
"olv",
|
|
3747
|
+
"social",
|
|
3748
|
+
"search",
|
|
3749
|
+
"ctv",
|
|
3750
|
+
"linear_tv",
|
|
3751
|
+
"radio",
|
|
3752
|
+
"streaming_audio",
|
|
3753
|
+
"podcast",
|
|
3754
|
+
"dooh",
|
|
3755
|
+
"ooh",
|
|
3756
|
+
"print",
|
|
3757
|
+
"cinema",
|
|
3758
|
+
"email",
|
|
3759
|
+
"gaming",
|
|
3760
|
+
"retail_media",
|
|
3761
|
+
"influencer",
|
|
3762
|
+
"affiliate",
|
|
3763
|
+
"product_placement",
|
|
3764
|
+
"sponsored_intelligence"
|
|
3765
|
+
],
|
|
3766
|
+
"enumDescriptions": {
|
|
3767
|
+
"display": "Digital display advertising (banners, native, rich media) across web and app",
|
|
3768
|
+
"olv": "Online video advertising outside CTV (pre-roll, outstream, in-app video)",
|
|
3769
|
+
"social": "Social media platforms (Facebook, Instagram, TikTok, LinkedIn, etc.)",
|
|
3770
|
+
"search": "Search engine advertising and search networks",
|
|
3771
|
+
"ctv": "Connected TV and streaming on television screens",
|
|
3772
|
+
"linear_tv": "Traditional broadcast and cable television",
|
|
3773
|
+
"radio": "Traditional AM/FM radio broadcast",
|
|
3774
|
+
"streaming_audio": "Digital audio streaming services (Spotify, Pandora, etc.)",
|
|
3775
|
+
"podcast": "Podcast advertising (host-read or dynamically inserted)",
|
|
3776
|
+
"dooh": "Digital out-of-home screens in public spaces",
|
|
3777
|
+
"ooh": "Classic out-of-home (physical billboards, transit, etc.)",
|
|
3778
|
+
"print": "Newspapers, magazines, and other print publications",
|
|
3779
|
+
"cinema": "Movie theater advertising",
|
|
3780
|
+
"email": "Email advertising and sponsored newsletter content",
|
|
3781
|
+
"gaming": "In-game advertising across platforms",
|
|
3782
|
+
"retail_media": "Retail media networks and commerce marketplaces (Amazon, Walmart, Instacart)",
|
|
3783
|
+
"influencer": "Creator and influencer marketing partnerships",
|
|
3784
|
+
"affiliate": "Affiliate networks, comparison sites, and performance-based partnerships",
|
|
3785
|
+
"product_placement": "Product placement, branded content, and sponsorship integrations",
|
|
3786
|
+
"sponsored_intelligence": "Sponsored Intelligence — advertising within AI assistants, AI search, and generative AI experiences via the reversed data flow"
|
|
3787
|
+
}
|
|
3788
|
+
},
|
|
3789
|
+
"DigitalSourceType": {
|
|
3790
|
+
"title": "Digital Source Type",
|
|
3791
|
+
"description": "IPTC-aligned classification of AI involvement in producing this content",
|
|
3792
|
+
"type": "string",
|
|
3793
|
+
"enum": [
|
|
3794
|
+
"digital_capture",
|
|
3795
|
+
"digital_creation",
|
|
3796
|
+
"trained_algorithmic_media",
|
|
3797
|
+
"composite_with_trained_algorithmic_media",
|
|
3798
|
+
"algorithmic_media",
|
|
3799
|
+
"composite_capture",
|
|
3800
|
+
"composite_synthetic",
|
|
3801
|
+
"human_edits",
|
|
3802
|
+
"data_driven_media"
|
|
3803
|
+
],
|
|
3804
|
+
"enumDescriptions": {
|
|
3805
|
+
"digital_capture": "Captured by a digital device (camera, scanner, screen recording) with no AI involvement",
|
|
3806
|
+
"digital_creation": "Created by a human using digital tools (Photoshop, Illustrator, After Effects) without AI generation",
|
|
3807
|
+
"trained_algorithmic_media": "Generated entirely by a trained AI model (DALL-E, Midjourney, Stable Diffusion, Sora)",
|
|
3808
|
+
"composite_with_trained_algorithmic_media": "Human-created content combined with AI-generated elements (e.g., photo with AI background)",
|
|
3809
|
+
"algorithmic_media": "Produced by deterministic algorithms without machine learning (procedural generation, rule-based systems)",
|
|
3810
|
+
"composite_capture": "Multiple digital captures composited together without AI",
|
|
3811
|
+
"composite_synthetic": "Composite of multiple elements where at least one is AI-generated (e.g., stock photo composited with AI-generated background)",
|
|
3812
|
+
"human_edits": "Content augmented, corrected, or enhanced by humans using non-generative tools",
|
|
3813
|
+
"data_driven_media": "Assembled from structured data feeds (DCO templates, product catalogs, weather-triggered variants)"
|
|
3814
|
+
}
|
|
3815
|
+
},
|
|
3816
|
+
"DisclosurePersistence": {
|
|
3817
|
+
"title": "Disclosure Persistence",
|
|
3818
|
+
"description": "How long the disclosure must persist during content playback or display",
|
|
3819
|
+
"type": "string",
|
|
3820
|
+
"enum": [
|
|
3821
|
+
"continuous",
|
|
3822
|
+
"initial",
|
|
3823
|
+
"flexible"
|
|
3824
|
+
],
|
|
3825
|
+
"enumDescriptions": {
|
|
3826
|
+
"continuous": "Disclosure must remain visible or audible throughout the entire content display duration. For video and audio, this means the full playback duration. For static formats (display, DOOH), this means the full display slot. For DOOH specifically, 'content duration' means the ad's display slot within the rotation, not the screen's full rotation cycle.",
|
|
3827
|
+
"initial": "Disclosure must appear at the start of content for a minimum duration before it may be removed. Pair with min_duration_ms in render_guidance or creative brief to specify the required duration.",
|
|
3828
|
+
"flexible": "Disclosure presence is sufficient; placement timing and duration are at the publisher's discretion"
|
|
3829
|
+
}
|
|
3830
|
+
},
|
|
3831
|
+
"DisclosurePosition": {
|
|
3832
|
+
"title": "Disclosure Position",
|
|
3833
|
+
"description": "Where a required disclosure should appear within a creative. Used by creative briefs to specify disclosure placement and by formats to declare which positions they can render.",
|
|
3834
|
+
"type": "string",
|
|
3835
|
+
"enum": [
|
|
3836
|
+
"prominent",
|
|
3837
|
+
"footer",
|
|
3838
|
+
"audio",
|
|
3839
|
+
"subtitle",
|
|
3840
|
+
"overlay",
|
|
3841
|
+
"end_card",
|
|
3842
|
+
"pre_roll",
|
|
3843
|
+
"companion"
|
|
3844
|
+
]
|
|
3845
|
+
}
|
|
3846
|
+
},
|
|
3847
|
+
"_bundled": {
|
|
3848
|
+
"generatedAt": "2026-04-28T12:32:22.847Z",
|
|
3849
|
+
"note": "This is a bundled schema with all $ref resolved inline. For the modular version with references, use the parent directory."
|
|
3850
|
+
}
|
|
3851
|
+
}
|