@adcp/sdk 13.1.2 → 13.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADCP_VERSION +1 -1
- package/README.md +6 -3
- package/compliance/cache/{3.1.24 → 3.1.30}/domains/creative/scenarios/evaluator_auth.yaml +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/billing_finality_delivery.yaml +6 -3
- package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/canonical_formats.yaml +16 -14
- package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +2 -4
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/delivery_reporting.yaml +6 -4
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/dependency_impairment.yaml +2 -4
- package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +2 -4
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/governance_approved.yaml +10 -7
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/governance_conditions.yaml +10 -7
- package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/governance_denied.yaml +10 -7
- package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/governance_denied_recovery.yaml +12 -9
- package/compliance/cache/3.1.30/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +1161 -0
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/invalid_transitions.yaml +2 -4
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/measurement_accountability.yaml +10 -2
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/measurement_terms_rejected.yaml +6 -7
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/provenance_audit_observation.yaml +52 -10
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/provenance_enforcement.yaml +48 -11
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/provenance_truth_of_claim.yaml +55 -19
- package/compliance/cache/{3.1.24/protocols → 3.1.30/domains}/media-buy/scenarios/vendor_metric_accountability.yaml +5 -2
- package/compliance/cache/{3.1.24 → 3.1.30}/index.json +3 -3
- package/compliance/cache/{3.1.24 → 3.1.30}/protocols/creative/scenarios/evaluator_auth.yaml +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +6 -3
- package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/canonical_formats.yaml +16 -14
- package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +2 -4
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/delivery_reporting.yaml +6 -4
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/dependency_impairment.yaml +2 -4
- package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +2 -4
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/governance_approved.yaml +10 -7
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/governance_conditions.yaml +10 -7
- package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/governance_denied.yaml +10 -7
- package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +12 -9
- package/compliance/cache/3.1.30/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +1161 -0
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/invalid_transitions.yaml +2 -4
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/measurement_accountability.yaml +10 -2
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/measurement_terms_rejected.yaml +6 -7
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/provenance_audit_observation.yaml +52 -10
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/provenance_enforcement.yaml +48 -11
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/provenance_truth_of_claim.yaml +55 -19
- package/compliance/cache/{3.1.24/domains → 3.1.30/protocols}/media-buy/scenarios/vendor_metric_accountability.yaml +5 -2
- package/compliance/cache/3.1.30/test-kits/hosted-grader.yaml +56 -0
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/001-no-signature-header.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/002-wrong-tag.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/003-expired-signature.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/004-window-too-long.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/005-alg-not-allowed.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/006-missing-covered-component.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/007-missing-content-digest.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/008-unknown-keyid.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/011-malformed-header.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/012-missing-expires-param.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/013-expires-le-created.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/014-missing-nonce-param.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/015-signature-invalid.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/016-replayed-nonce.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/017-key-revoked.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +9 -5
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/020-rate-abuse.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/024-unquoted-string-param.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/026-non-ascii-host.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/001-basic-post.json +1 -1
- package/compliance/cache/3.1.30/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/003-es256-post.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/005-default-port-stripped.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/006-dot-segment-path.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/011-ipv6-authority.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +1 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/universal/read-tool-idempotency.yaml +0 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/universal/stale-response-advisory.yaml +75 -67
- package/compliance/cache/{3.1.24 → 3.1.30}/universal/storyboard-schema.yaml +25 -1
- package/compliance/cache/{3.1.24 → 3.1.30}/universal/webhook-emission.yaml +131 -13
- package/dist/lib/schemas-data/3.1/a2ui/bound-value.json +1 -1
- package/dist/lib/schemas-data/3.1/a2ui/component.json +1 -1
- package/dist/lib/schemas-data/3.1/a2ui/si-catalog.json +25 -25
- package/dist/lib/schemas-data/3.1/a2ui/surface.json +2 -2
- package/dist/lib/schemas-data/3.1/a2ui/user-action.json +1 -1
- package/dist/lib/schemas-data/3.1/aao/agent-publishers.json +1 -1
- package/dist/lib/schemas-data/3.1/account/get-account-financials-request.json +6 -6
- package/dist/lib/schemas-data/3.1/account/get-account-financials-response.json +12 -12
- package/dist/lib/schemas-data/3.1/account/list-accounts-request.json +6 -6
- package/dist/lib/schemas-data/3.1/account/list-accounts-response.json +8 -8
- package/dist/lib/schemas-data/3.1/account/report-usage-request.json +6 -6
- package/dist/lib/schemas-data/3.1/account/report-usage-response.json +6 -6
- package/dist/lib/schemas-data/3.1/account/sync-accounts-request.json +12 -12
- package/dist/lib/schemas-data/3.1/account/sync-accounts-response.json +16 -16
- package/dist/lib/schemas-data/3.1/account/sync-governance-request.json +6 -6
- package/dist/lib/schemas-data/3.1/account/sync-governance-response.json +10 -10
- package/dist/lib/schemas-data/3.1/adagents.json +29 -29
- package/dist/lib/schemas-data/3.1/brand/acquire-rights-request.json +10 -10
- package/dist/lib/schemas-data/3.1/brand/acquire-rights-response.json +16 -16
- package/dist/lib/schemas-data/3.1/brand/creative-approval-request.json +5 -5
- package/dist/lib/schemas-data/3.1/brand/creative-approval-response.json +12 -12
- package/dist/lib/schemas-data/3.1/brand/get-brand-identity-request.json +4 -4
- package/dist/lib/schemas-data/3.1/brand/get-brand-identity-response.json +10 -10
- package/dist/lib/schemas-data/3.1/brand/get-rights-request.json +8 -8
- package/dist/lib/schemas-data/3.1/brand/get-rights-response.json +11 -11
- package/dist/lib/schemas-data/3.1/brand/revocation-notification.json +4 -4
- package/dist/lib/schemas-data/3.1/brand/rights-pricing-option.json +5 -5
- package/dist/lib/schemas-data/3.1/brand/rights-terms.json +3 -3
- package/dist/lib/schemas-data/3.1/brand/search-brands-request.json +6 -6
- package/dist/lib/schemas-data/3.1/brand/search-brands-response.json +11 -11
- package/dist/lib/schemas-data/3.1/brand/update-rights-request.json +6 -6
- package/dist/lib/schemas-data/3.1/brand/update-rights-response.json +11 -11
- package/dist/lib/schemas-data/3.1/brand/verification-status.json +1 -1
- package/dist/lib/schemas-data/3.1/brand/verify-brand-claim-request.json +2 -2
- package/dist/lib/schemas-data/3.1/brand/verify-brand-claim-response.json +13 -13
- package/dist/lib/schemas-data/3.1/brand/verify-brand-claims-request.json +2 -2
- package/dist/lib/schemas-data/3.1/brand/verify-brand-claims-response.json +13 -13
- package/dist/lib/schemas-data/3.1/brand.json +21 -21
- package/dist/lib/schemas-data/3.1/bundled/content-standards/calibrate-content-request.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/content-standards/calibrate-content-response.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/content-standards/create-content-standards-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/content-standards/create-content-standards-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/content-standards/get-content-standards-request.json +5 -5
- package/dist/lib/schemas-data/3.1/bundled/content-standards/get-content-standards-response.json +23 -23
- package/dist/lib/schemas-data/3.1/bundled/content-standards/get-media-buy-artifacts-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/content-standards/get-media-buy-artifacts-response.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/content-standards/list-content-standards-request.json +7 -7
- package/dist/lib/schemas-data/3.1/bundled/content-standards/list-content-standards-response.json +24 -24
- package/dist/lib/schemas-data/3.1/bundled/content-standards/update-content-standards-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/content-standards/update-content-standards-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/content-standards/validate-content-delivery-request.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/content-standards/validate-content-delivery-response.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/core/tasks-get-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/core/tasks-get-response.json +770 -265
- package/dist/lib/schemas-data/3.1/bundled/core/tasks-list-request.json +21 -21
- package/dist/lib/schemas-data/3.1/bundled/core/tasks-list-response.json +11 -11
- package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-delivery-request.json +17 -17
- package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-delivery-response.json +253 -84
- package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-features-request.json +241 -72
- package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-features-response.json +13 -13
- package/dist/lib/schemas-data/3.1/bundled/creative/list-creative-formats-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/creative/list-creative-formats-response.json +48 -48
- package/dist/lib/schemas-data/3.1/bundled/creative/list-creatives-request.json +17 -17
- package/dist/lib/schemas-data/3.1/bundled/creative/list-creatives-response.json +255 -86
- package/dist/lib/schemas-data/3.1/bundled/creative/list-transformers-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/creative/list-transformers-response.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/creative/preview-creative-request.json +437 -100
- package/dist/lib/schemas-data/3.1/bundled/creative/preview-creative-response.json +247 -78
- package/dist/lib/schemas-data/3.1/bundled/creative/sync-creatives-request.json +243 -74
- package/dist/lib/schemas-data/3.1/bundled/creative/sync-creatives-response.json +27 -27
- package/dist/lib/schemas-data/3.1/bundled/creative/validate-input-request.json +239 -70
- package/dist/lib/schemas-data/3.1/bundled/creative/validate-input-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/media-buy/build-creative-request.json +250 -81
- package/dist/lib/schemas-data/3.1/bundled/media-buy/build-creative-response.json +643 -138
- package/dist/lib/schemas-data/3.1/bundled/media-buy/create-media-buy-request.json +280 -111
- package/dist/lib/schemas-data/3.1/bundled/media-buy/create-media-buy-response.json +77 -77
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buy-delivery-request.json +25 -25
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buy-delivery-response.json +40 -40
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buys-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buys-response.json +65 -65
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-products-request.json +49 -49
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-products-response.json +99 -99
- package/dist/lib/schemas-data/3.1/bundled/media-buy/list-creative-formats-request.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/media-buy/list-creative-formats-response.json +48 -48
- package/dist/lib/schemas-data/3.1/bundled/media-buy/log-event-request.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/media-buy/log-event-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/media-buy/package-request.json +276 -107
- package/dist/lib/schemas-data/3.1/bundled/media-buy/provide-performance-feedback-request.json +8 -8
- package/dist/lib/schemas-data/3.1/bundled/media-buy/provide-performance-feedback-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-audiences-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-audiences-response.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-catalogs-request.json +26 -26
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-catalogs-response.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-event-sources-request.json +19 -19
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-event-sources-response.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/media-buy/update-media-buy-request.json +472 -135
- package/dist/lib/schemas-data/3.1/bundled/media-buy/update-media-buy-response.json +71 -71
- package/dist/lib/schemas-data/3.1/bundled/property/create-property-list-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/property/create-property-list-response.json +26 -26
- package/dist/lib/schemas-data/3.1/bundled/property/delete-property-list-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/property/delete-property-list-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/property/get-property-list-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/property/get-property-list-response.json +27 -27
- package/dist/lib/schemas-data/3.1/bundled/property/list-property-lists-request.json +17 -17
- package/dist/lib/schemas-data/3.1/bundled/property/list-property-lists-response.json +27 -27
- package/dist/lib/schemas-data/3.1/bundled/property/update-property-list-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/property/update-property-list-response.json +26 -26
- package/dist/lib/schemas-data/3.1/bundled/property/validate-property-delivery-request.json +19 -19
- package/dist/lib/schemas-data/3.1/bundled/property/validate-property-delivery-response.json +15 -15
- package/dist/lib/schemas-data/3.1/bundled/protocol/get-adcp-capabilities-request.json +5 -5
- package/dist/lib/schemas-data/3.1/bundled/protocol/get-adcp-capabilities-response.json +37 -37
- package/dist/lib/schemas-data/3.1/bundled/protocol/get-task-status-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/protocol/get-task-status-response.json +770 -265
- package/dist/lib/schemas-data/3.1/bundled/protocol/list-tasks-request.json +21 -21
- package/dist/lib/schemas-data/3.1/bundled/protocol/list-tasks-response.json +11 -11
- package/dist/lib/schemas-data/3.1/bundled/signals/activate-signal-request.json +17 -17
- package/dist/lib/schemas-data/3.1/bundled/signals/activate-signal-response.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/signals/get-signals-request.json +24 -24
- package/dist/lib/schemas-data/3.1/bundled/signals/get-signals-response.json +53 -53
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-get-offering-request.json +5 -5
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-get-offering-response.json +23 -23
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-initiate-session-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-initiate-session-response.json +25 -25
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-send-message-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-send-message-response.json +26 -26
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-terminate-session-request.json +5 -5
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-terminate-session-response.json +11 -11
- package/dist/lib/schemas-data/3.1/collection/base-collection-source.json +3 -3
- package/dist/lib/schemas-data/3.1/collection/collection-list-changed-webhook.json +2 -2
- package/dist/lib/schemas-data/3.1/collection/collection-list-filters.json +7 -7
- package/dist/lib/schemas-data/3.1/collection/collection-list.json +5 -5
- package/dist/lib/schemas-data/3.1/collection/create-collection-list-request.json +8 -8
- package/dist/lib/schemas-data/3.1/collection/create-collection-list-response.json +6 -6
- package/dist/lib/schemas-data/3.1/collection/delete-collection-list-request.json +5 -5
- package/dist/lib/schemas-data/3.1/collection/delete-collection-list-response.json +5 -5
- package/dist/lib/schemas-data/3.1/collection/get-collection-list-request.json +5 -5
- package/dist/lib/schemas-data/3.1/collection/get-collection-list-response.json +12 -12
- package/dist/lib/schemas-data/3.1/collection/list-collection-lists-request.json +6 -6
- package/dist/lib/schemas-data/3.1/collection/list-collection-lists-response.json +7 -7
- package/dist/lib/schemas-data/3.1/collection/update-collection-list-request.json +8 -8
- package/dist/lib/schemas-data/3.1/collection/update-collection-list-response.json +6 -6
- package/dist/lib/schemas-data/3.1/content-standards/artifact-webhook-payload.json +3 -3
- package/dist/lib/schemas-data/3.1/content-standards/artifact.json +7 -7
- package/dist/lib/schemas-data/3.1/content-standards/calibrate-content-request.json +5 -5
- package/dist/lib/schemas-data/3.1/content-standards/calibrate-content-response.json +10 -10
- package/dist/lib/schemas-data/3.1/content-standards/content-standards.json +7 -7
- package/dist/lib/schemas-data/3.1/content-standards/create-content-standards-request.json +8 -8
- package/dist/lib/schemas-data/3.1/content-standards/create-content-standards-response.json +8 -8
- package/dist/lib/schemas-data/3.1/content-standards/get-content-standards-request.json +4 -4
- package/dist/lib/schemas-data/3.1/content-standards/get-content-standards-response.json +9 -9
- package/dist/lib/schemas-data/3.1/content-standards/get-media-buy-artifacts-request.json +5 -5
- package/dist/lib/schemas-data/3.1/content-standards/get-media-buy-artifacts-response.json +10 -10
- package/dist/lib/schemas-data/3.1/content-standards/list-content-standards-request.json +6 -6
- package/dist/lib/schemas-data/3.1/content-standards/list-content-standards-response.json +10 -10
- package/dist/lib/schemas-data/3.1/content-standards/update-content-standards-request.json +8 -8
- package/dist/lib/schemas-data/3.1/content-standards/update-content-standards-response.json +8 -8
- package/dist/lib/schemas-data/3.1/content-standards/validate-content-delivery-request.json +5 -5
- package/dist/lib/schemas-data/3.1/content-standards/validate-content-delivery-response.json +10 -10
- package/dist/lib/schemas-data/3.1/core/account-authorization.json +1 -1
- package/dist/lib/schemas-data/3.1/core/account-ref.json +2 -2
- package/dist/lib/schemas-data/3.1/core/account-with-authorization.json +3 -3
- package/dist/lib/schemas-data/3.1/core/account.json +10 -10
- package/dist/lib/schemas-data/3.1/core/activation-key.json +1 -1
- package/dist/lib/schemas-data/3.1/core/ad-inventory-config.json +1 -1
- package/dist/lib/schemas-data/3.1/core/agent-encryption-key.json +1 -1
- package/dist/lib/schemas-data/3.1/core/agent-signing-key.json +1 -1
- package/dist/lib/schemas-data/3.1/core/app-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/asset-group-vocabulary.json +1 -1
- package/dist/lib/schemas-data/3.1/core/assets/asset-union.json +21 -21
- package/dist/lib/schemas-data/3.1/core/assets/audio-asset.json +3 -3
- package/dist/lib/schemas-data/3.1/core/assets/brief-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/card-asset.json +6 -6
- package/dist/lib/schemas-data/3.1/core/assets/catalog-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/css-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/daast-asset.json +6 -7
- package/dist/lib/schemas-data/3.1/core/assets/daast-tracker-asset.json +4 -5
- package/dist/lib/schemas-data/3.1/core/assets/html-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/image-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/javascript-asset.json +3 -3
- package/dist/lib/schemas-data/3.1/core/assets/markdown-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/pixel-tracker-asset.json +3 -4
- package/dist/lib/schemas-data/3.1/core/assets/published-post-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/text-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/url-asset.json +4 -5
- package/dist/lib/schemas-data/3.1/core/assets/vast-asset.json +6 -7
- package/dist/lib/schemas-data/3.1/core/assets/vast-tracker-asset.json +4 -5
- package/dist/lib/schemas-data/3.1/core/assets/video-asset.json +7 -7
- package/dist/lib/schemas-data/3.1/core/assets/webhook-asset.json +7 -7
- package/dist/lib/schemas-data/3.1/core/assets/zip-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/async-response-data.json +29 -29
- package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/signals/get-signals-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/signals/get-signals-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/attribution-window.json +4 -4
- package/dist/lib/schemas-data/3.1/core/audience-member.json +3 -3
- package/dist/lib/schemas-data/3.1/core/audience-selector.json +7 -7
- package/dist/lib/schemas-data/3.1/core/authorized-agent-base.json +3 -3
- package/dist/lib/schemas-data/3.1/core/brand-id.json +1 -1
- package/dist/lib/schemas-data/3.1/core/brand-ref.json +3 -3
- package/dist/lib/schemas-data/3.1/core/business-entity.json +2 -2
- package/dist/lib/schemas-data/3.1/core/cancellation-policy.json +2 -2
- package/dist/lib/schemas-data/3.1/core/canonical-format-kind.json +1 -1
- package/dist/lib/schemas-data/3.1/core/canonical-projection-ref.json +3 -3
- package/dist/lib/schemas-data/3.1/core/canonical-projection-slot-override.json +1 -1
- package/dist/lib/schemas-data/3.1/core/catalog-field-mapping.json +2 -2
- package/dist/lib/schemas-data/3.1/core/catalog-item-delivery-metrics.json +3 -3
- package/dist/lib/schemas-data/3.1/core/catalog.json +7 -7
- package/dist/lib/schemas-data/3.1/core/catchment.json +5 -5
- package/dist/lib/schemas-data/3.1/core/collection-distribution.json +2 -2
- package/dist/lib/schemas-data/3.1/core/collection-list-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/collection-selector.json +1 -1
- package/dist/lib/schemas-data/3.1/core/collection.json +13 -13
- package/dist/lib/schemas-data/3.1/core/committed-metric.json +9 -9
- package/dist/lib/schemas-data/3.1/core/content-rating.json +2 -2
- package/dist/lib/schemas-data/3.1/core/context.json +1 -1
- package/dist/lib/schemas-data/3.1/core/creative-asset.json +10 -10
- package/dist/lib/schemas-data/3.1/core/creative-assignment.json +2 -2
- package/dist/lib/schemas-data/3.1/core/creative-brief.json +4 -4
- package/dist/lib/schemas-data/3.1/core/creative-consumption.json +1 -1
- package/dist/lib/schemas-data/3.1/core/creative-delivery-metrics.json +2 -2
- package/dist/lib/schemas-data/3.1/core/creative-filters.json +5 -5
- package/dist/lib/schemas-data/3.1/core/creative-item.json +1 -1
- package/dist/lib/schemas-data/3.1/core/creative-manifest.json +11 -11
- package/dist/lib/schemas-data/3.1/core/creative-policy.json +3 -3
- package/dist/lib/schemas-data/3.1/core/creative-variable.json +1 -1
- package/dist/lib/schemas-data/3.1/core/creative-variant.json +5 -5
- package/dist/lib/schemas-data/3.1/core/data-provider-signal-selector.json +1 -1
- package/dist/lib/schemas-data/3.1/core/date-range.json +1 -1
- package/dist/lib/schemas-data/3.1/core/datetime-range.json +1 -1
- package/dist/lib/schemas-data/3.1/core/daypart-target.json +2 -2
- package/dist/lib/schemas-data/3.1/core/deadline-policy.json +1 -1
- package/dist/lib/schemas-data/3.1/core/delivery-forecast.json +7 -7
- package/dist/lib/schemas-data/3.1/core/delivery-metric-aggregate.json +9 -9
- package/dist/lib/schemas-data/3.1/core/delivery-metrics.json +8 -8
- package/dist/lib/schemas-data/3.1/core/deployment.json +3 -3
- package/dist/lib/schemas-data/3.1/core/destination-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/destination.json +1 -1
- package/dist/lib/schemas-data/3.1/core/diagnostic-issue.json +1 -1
- package/dist/lib/schemas-data/3.1/core/downstream-connection-requirement.json +1 -1
- package/dist/lib/schemas-data/3.1/core/duration.json +1 -1
- package/dist/lib/schemas-data/3.1/core/education-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/error.json +1 -1
- package/dist/lib/schemas-data/3.1/core/evaluator-spec.json +5 -5
- package/dist/lib/schemas-data/3.1/core/event-custom-data.json +2 -2
- package/dist/lib/schemas-data/3.1/core/event-source-health.json +3 -3
- package/dist/lib/schemas-data/3.1/core/event-surface.json +2 -2
- package/dist/lib/schemas-data/3.1/core/event.json +8 -8
- package/dist/lib/schemas-data/3.1/core/ext.json +1 -1
- package/dist/lib/schemas-data/3.1/core/feature-requirement.json +1 -1
- package/dist/lib/schemas-data/3.1/core/flight-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-audience.json +2 -2
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-device-platform.json +2 -2
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-device-type.json +2 -2
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-geo.json +5 -5
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-placement.json +2 -2
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-signal.json +2 -2
- package/dist/lib/schemas-data/3.1/core/forecast-point-dimensions.json +7 -7
- package/dist/lib/schemas-data/3.1/core/forecast-point.json +27 -27
- package/dist/lib/schemas-data/3.1/core/forecast-range.json +1 -1
- package/dist/lib/schemas-data/3.1/core/forecast-vendor-metric-value.json +5 -5
- package/dist/lib/schemas-data/3.1/core/format-id.json +1 -1
- package/dist/lib/schemas-data/3.1/core/format-option-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/format-shape-vocabulary.json +1 -1
- package/dist/lib/schemas-data/3.1/core/format.json +45 -45
- package/dist/lib/schemas-data/3.1/core/frequency-cap.json +4 -4
- package/dist/lib/schemas-data/3.1/core/generation-credential.json +3 -3
- package/dist/lib/schemas-data/3.1/core/geo-breakdown-support.json +3 -3
- package/dist/lib/schemas-data/3.1/core/geo-delivery-metrics.json +6 -6
- package/dist/lib/schemas-data/3.1/core/hotel-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/identifier.json +2 -2
- package/dist/lib/schemas-data/3.1/core/impairment.json +3 -3
- package/dist/lib/schemas-data/3.1/core/industry-identifier.json +2 -2
- package/dist/lib/schemas-data/3.1/core/insertion-order.json +1 -1
- package/dist/lib/schemas-data/3.1/core/installment-deadlines.json +2 -2
- package/dist/lib/schemas-data/3.1/core/installment.json +9 -9
- package/dist/lib/schemas-data/3.1/core/job-item.json +3 -3
- package/dist/lib/schemas-data/3.1/core/keyword-delivery-metrics.json +3 -3
- package/dist/lib/schemas-data/3.1/core/limited-series.json +1 -1
- package/dist/lib/schemas-data/3.1/core/macro-bearing-url.json +19 -0
- package/dist/lib/schemas-data/3.1/core/material-deadline.json +1 -1
- package/dist/lib/schemas-data/3.1/core/mcp-webhook-payload.json +5 -5
- package/dist/lib/schemas-data/3.1/core/measurement-readiness.json +5 -5
- package/dist/lib/schemas-data/3.1/core/measurement-terms.json +3 -3
- package/dist/lib/schemas-data/3.1/core/measurement-window.json +1 -1
- package/dist/lib/schemas-data/3.1/core/media-buy-available-action.json +4 -4
- package/dist/lib/schemas-data/3.1/core/media-buy-features.json +1 -1
- package/dist/lib/schemas-data/3.1/core/media-buy.json +10 -10
- package/dist/lib/schemas-data/3.1/core/missing-metric.json +9 -9
- package/dist/lib/schemas-data/3.1/core/notification-config.json +4 -4
- package/dist/lib/schemas-data/3.1/core/offering-asset-group.json +16 -16
- package/dist/lib/schemas-data/3.1/core/offering.json +5 -5
- package/dist/lib/schemas-data/3.1/core/optimization-goal.json +7 -7
- package/dist/lib/schemas-data/3.1/core/outcome-measurement.json +2 -2
- package/dist/lib/schemas-data/3.1/core/overlay.json +1 -1
- package/dist/lib/schemas-data/3.1/core/package-signal-targeting-group.json +2 -2
- package/dist/lib/schemas-data/3.1/core/package-signal-targeting-groups.json +2 -2
- package/dist/lib/schemas-data/3.1/core/package-signal-targeting.json +3 -3
- package/dist/lib/schemas-data/3.1/core/package.json +17 -17
- package/dist/lib/schemas-data/3.1/core/pagination-request.json +1 -1
- package/dist/lib/schemas-data/3.1/core/pagination-response.json +1 -1
- package/dist/lib/schemas-data/3.1/core/performance-feedback.json +12 -12
- package/dist/lib/schemas-data/3.1/core/performance-standard.json +4 -4
- package/dist/lib/schemas-data/3.1/core/placement-definition.json +10 -10
- package/dist/lib/schemas-data/3.1/core/placement-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/placement.json +7 -7
- package/dist/lib/schemas-data/3.1/core/planned-delivery.json +5 -5
- package/dist/lib/schemas-data/3.1/core/platform-extension-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/postal-area-support.json +2 -2
- package/dist/lib/schemas-data/3.1/core/postal-area.json +4 -4
- package/dist/lib/schemas-data/3.1/core/postal-country-system.json +2 -2
- package/dist/lib/schemas-data/3.1/core/price.json +1 -1
- package/dist/lib/schemas-data/3.1/core/pricing-option.json +10 -10
- package/dist/lib/schemas-data/3.1/core/product-allocation.json +4 -4
- package/dist/lib/schemas-data/3.1/core/product-allowed-action.json +5 -5
- package/dist/lib/schemas-data/3.1/core/product-filters.json +27 -27
- package/dist/lib/schemas-data/3.1/core/product-format-declaration.json +16 -16
- package/dist/lib/schemas-data/3.1/core/product-signal-targeting-option.json +3 -3
- package/dist/lib/schemas-data/3.1/core/product.json +40 -40
- package/dist/lib/schemas-data/3.1/core/property-id.json +1 -1
- package/dist/lib/schemas-data/3.1/core/property-list-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/property-tag.json +1 -1
- package/dist/lib/schemas-data/3.1/core/property.json +6 -6
- package/dist/lib/schemas-data/3.1/core/proposal.json +6 -6
- package/dist/lib/schemas-data/3.1/core/protocol-envelope.json +5 -5
- package/dist/lib/schemas-data/3.1/core/provenance.json +9 -9
- package/dist/lib/schemas-data/3.1/core/publisher-property-selector.json +3 -3
- package/dist/lib/schemas-data/3.1/core/push-notification-config.json +2 -2
- package/dist/lib/schemas-data/3.1/core/real-estate-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/reference-asset.json +1 -1
- package/dist/lib/schemas-data/3.1/core/registry-event.json +14 -14
- package/dist/lib/schemas-data/3.1/core/registry-feed-response.json +2 -2
- package/dist/lib/schemas-data/3.1/core/reporting-capabilities.json +8 -8
- package/dist/lib/schemas-data/3.1/core/reporting-webhook.json +3 -3
- package/dist/lib/schemas-data/3.1/core/requirements/asset-requirements.json +13 -13
- package/dist/lib/schemas-data/3.1/core/requirements/audio-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/catalog-field-binding.json +4 -4
- package/dist/lib/schemas-data/3.1/core/requirements/catalog-requirements.json +5 -5
- package/dist/lib/schemas-data/3.1/core/requirements/css-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/daast-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/html-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/image-asset-requirements.json +2 -2
- package/dist/lib/schemas-data/3.1/core/requirements/javascript-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/markdown-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/offering-asset-constraint.json +4 -4
- package/dist/lib/schemas-data/3.1/core/requirements/text-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/url-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/vast-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/video-asset-requirements.json +6 -6
- package/dist/lib/schemas-data/3.1/core/requirements/webhook-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/response-payload-jws-envelope.json +1 -1
- package/dist/lib/schemas-data/3.1/core/response.json +1 -1
- package/dist/lib/schemas-data/3.1/core/rights-constraint.json +4 -4
- package/dist/lib/schemas-data/3.1/core/seller-agent-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/signal-coverage-forecast.json +5 -5
- package/dist/lib/schemas-data/3.1/core/signal-definition-enrichment.json +4 -4
- package/dist/lib/schemas-data/3.1/core/signal-definition.json +5 -5
- package/dist/lib/schemas-data/3.1/core/signal-filters.json +3 -3
- package/dist/lib/schemas-data/3.1/core/signal-id.json +1 -1
- package/dist/lib/schemas-data/3.1/core/signal-listing.json +4 -4
- package/dist/lib/schemas-data/3.1/core/signal-modeling-disclosure.json +1 -1
- package/dist/lib/schemas-data/3.1/core/signal-pricing-option.json +2 -2
- package/dist/lib/schemas-data/3.1/core/signal-pricing.json +6 -6
- package/dist/lib/schemas-data/3.1/core/signal-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/signal-selection-group-rule.json +1 -1
- package/dist/lib/schemas-data/3.1/core/signal-targeting-expression.json +4 -4
- package/dist/lib/schemas-data/3.1/core/signal-targeting-rules.json +2 -2
- package/dist/lib/schemas-data/3.1/core/signal-targeting.json +7 -7
- package/dist/lib/schemas-data/3.1/core/sla-window.json +1 -1
- package/dist/lib/schemas-data/3.1/core/special.json +2 -2
- package/dist/lib/schemas-data/3.1/core/start-timing.json +1 -1
- package/dist/lib/schemas-data/3.1/core/store-item.json +3 -3
- package/dist/lib/schemas-data/3.1/core/talent.json +2 -2
- package/dist/lib/schemas-data/3.1/core/targeting.json +22 -22
- package/dist/lib/schemas-data/3.1/core/tasks-get-request.json +5 -5
- package/dist/lib/schemas-data/3.1/core/tasks-get-response.json +10 -10
- package/dist/lib/schemas-data/3.1/core/tasks-list-request.json +13 -13
- package/dist/lib/schemas-data/3.1/core/tasks-list-response.json +8 -8
- package/dist/lib/schemas-data/3.1/core/transformer-param.json +1 -1
- package/dist/lib/schemas-data/3.1/core/transformer.json +5 -5
- package/dist/lib/schemas-data/3.1/core/truncation-sentinel.json +1 -1
- package/dist/lib/schemas-data/3.1/core/user-match.json +3 -3
- package/dist/lib/schemas-data/3.1/core/vehicle-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/vendor-metric-id.json +1 -1
- package/dist/lib/schemas-data/3.1/core/vendor-metric-optimization-supported-metric.json +3 -3
- package/dist/lib/schemas-data/3.1/core/vendor-metric-optimization.json +2 -2
- package/dist/lib/schemas-data/3.1/core/vendor-metric-value.json +3 -3
- package/dist/lib/schemas-data/3.1/core/vendor-pricing-option.json +3 -3
- package/dist/lib/schemas-data/3.1/core/version-envelope.json +1 -1
- package/dist/lib/schemas-data/3.1/core/webhook-activity-record.json +3 -3
- package/dist/lib/schemas-data/3.1/core/webhook-challenge-response.json +1 -1
- package/dist/lib/schemas-data/3.1/core/webhook-challenge.json +2 -2
- package/dist/lib/schemas-data/3.1/core/wholesale-feed-event.json +17 -17
- package/dist/lib/schemas-data/3.1/core/wholesale-feed-webhook.json +3 -3
- package/dist/lib/schemas-data/3.1/core/x-entity-types.json +1 -1
- package/dist/lib/schemas-data/3.1/creative/asset-types/index.json +6 -6
- package/dist/lib/schemas-data/3.1/creative/audit-observation.json +2 -2
- package/dist/lib/schemas-data/3.1/creative/creative-feature-result.json +2 -2
- package/dist/lib/schemas-data/3.1/creative/creative-purged-webhook.json +3 -3
- package/dist/lib/schemas-data/3.1/creative/creative-status-changed-webhook.json +4 -4
- package/dist/lib/schemas-data/3.1/creative/get-creative-delivery-request.json +6 -6
- package/dist/lib/schemas-data/3.1/creative/get-creative-delivery-response.json +9 -9
- package/dist/lib/schemas-data/3.1/creative/get-creative-features-request.json +6 -6
- package/dist/lib/schemas-data/3.1/creative/get-creative-features-response.json +11 -11
- package/dist/lib/schemas-data/3.1/creative/list-creative-formats-request.json +13 -13
- package/dist/lib/schemas-data/3.1/creative/list-creative-formats-response.json +9 -9
- package/dist/lib/schemas-data/3.1/creative/list-creatives-request.json +9 -9
- package/dist/lib/schemas-data/3.1/creative/list-creatives-response.json +21 -21
- package/dist/lib/schemas-data/3.1/creative/list-transformers-request.json +8 -8
- package/dist/lib/schemas-data/3.1/creative/list-transformers-response.json +8 -8
- package/dist/lib/schemas-data/3.1/creative/preview-creative-request.json +12 -12
- package/dist/lib/schemas-data/3.1/creative/preview-creative-response.json +14 -14
- package/dist/lib/schemas-data/3.1/creative/preview-render.json +1 -1
- package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/creative/sync-creatives-request.json +8 -8
- package/dist/lib/schemas-data/3.1/creative/sync-creatives-response.json +15 -15
- package/dist/lib/schemas-data/3.1/creative/validate-input-request.json +4 -4
- package/dist/lib/schemas-data/3.1/creative/validate-input-response.json +4 -4
- package/dist/lib/schemas-data/3.1/creative/validate-input-result.json +1 -1
- package/dist/lib/schemas-data/3.1/creative/video-brief.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/account-scope.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/account-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/action-not-allowed-reason.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/action-source.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/adcp-protocol.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/adjustment-kind.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/advertiser-industry.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/age-verification-method.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/assessment-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/asset-content-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/attestation-claim.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/attribution-methodology.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/attribution-model.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/audience-source.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/audience-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/audio-channel-layout.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/audio-distribution-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/auth-scheme.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/available-metric.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/billing-party.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/binary-verdict.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/brand-agent-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/c2pa-watermark-action.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/canceled-by.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/catalog-action.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/catalog-item-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/catalog-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/channels.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/cloud-storage-protocol.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/co-branding-requirement.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/collection-cadence.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/collection-kind.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/collection-relationship.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/collection-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/completion-source.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/consent-basis.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/content-id-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/content-rating-system.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-action.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-agent-capability.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-approval-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-event-reason-code.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-identifier-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-quality.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-selection-strategy.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-sort-field.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/daast-tracking-event.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/daast-version.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/day-of-week.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/delegation-authority.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/delivery-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/demographic-system.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/derivative-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/device-platform.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/device-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/digital-source-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/dimension-unit.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/disclosure-persistence.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/disclosure-position.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/distance-unit.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/distribution-identifier-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/embedded-provenance-method.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/error-code.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/error-scope.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/escalation-severity.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/event-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/exclusivity.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/feature-check-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/feed-format.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/feedback-source.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/forecast-method.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/forecast-range-unit.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/forecastable-metric.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/format-id-parameter.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/frame-rate-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/frequency-cap-scope.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/genre-taxonomy.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/geo-level.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/gop-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/governance-decision.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/governance-domain.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/governance-mode.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/governance-phase.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/history-entry-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/http-method.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/identifier-types.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/impairment-offline-state.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/impairment-reason-code.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/installment-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/javascript-module-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/landing-page-requirement.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/legacy-postal-system.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/lift-dimension.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/logo-slot.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/makegood-remedy.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/markdown-flavor.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/match-id-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/match-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/media-buy-action-mode.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/media-buy-health.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/media-buy-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/media-buy-valid-action.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/metric-scope.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/metric-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/metro-system.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/moov-atom-position.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/notification-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/offering-availability-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/outcome-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/pacing.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/payment-terms.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/performance-standard-metric.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/policy-category.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/policy-enforcement.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/postal-system.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/preview-output-format.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/pricing-model.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/production-quality.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/property-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/proposal-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/publisher-identifier-types.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/purchase-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/reach-unit.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/reporting-frequency.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/response-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/restricted-attribute.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/right-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/right-use.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/rights-billing-period.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/scan-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/si-session-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/signal-catalog-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/signal-source.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/signal-value-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/snapshot-unavailable-reason.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/social-placement-surface.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/sort-direction.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/sort-metric.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/special-category.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/specialism.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/sponsored-placement-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/talent-role.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/task-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/task-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/transport-mode.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/travel-time-unit.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/uid-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/universal-macro.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/update-frequency.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/url-asset-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/validation-mode.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/vast-tracking-event.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/vast-version.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/video-placement-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/viewability-standard.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/watermark-media-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/wcag-level.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/webhook-response-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/webhook-security-method.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/account-setup-required.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/action-not-allowed.json +4 -4
- package/dist/lib/schemas-data/3.1/error-details/agent-permission-denied.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/audience-too-small.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/authorization-required.json +3 -3
- package/dist/lib/schemas-data/3.1/error-details/billing-not-permitted-for-agent.json +3 -3
- package/dist/lib/schemas-data/3.1/error-details/billing-not-supported.json +2 -2
- package/dist/lib/schemas-data/3.1/error-details/budget-too-low.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/conflict.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/creative-rejected.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/policy-violation.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/rate-limited.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/stale-response.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/vendor-error-codes.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/version-unsupported.json +2 -2
- package/dist/lib/schemas-data/3.1/extensions/extension-meta.json +1 -1
- package/dist/lib/schemas-data/3.1/extensions/index.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/_base.json +5 -5
- package/dist/lib/schemas-data/3.1/formats/canonical/agent_placement.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/audio_daast.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/audio_hosted.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/display_tag.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/html5.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/image.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/image_carousel.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/native_in_feed.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/responsive_creative.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/sponsored_placement.json +3 -3
- package/dist/lib/schemas-data/3.1/formats/canonical/video_hosted.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/video_vast.json +2 -2
- package/dist/lib/schemas-data/3.1/governance/attribute-definition.json +1 -1
- package/dist/lib/schemas-data/3.1/governance/audience-constraints.json +3 -3
- package/dist/lib/schemas-data/3.1/governance/check-governance-request.json +8 -8
- package/dist/lib/schemas-data/3.1/governance/check-governance-response.json +7 -7
- package/dist/lib/schemas-data/3.1/governance/get-plan-audit-logs-request.json +5 -5
- package/dist/lib/schemas-data/3.1/governance/get-plan-audit-logs-response.json +11 -11
- package/dist/lib/schemas-data/3.1/governance/policy-category-definition.json +2 -2
- package/dist/lib/schemas-data/3.1/governance/policy-entry.json +6 -6
- package/dist/lib/schemas-data/3.1/governance/policy-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/governance/report-plan-outcome-request.json +7 -7
- package/dist/lib/schemas-data/3.1/governance/report-plan-outcome-response.json +5 -5
- package/dist/lib/schemas-data/3.1/governance/sync-plans-request.json +14 -14
- package/dist/lib/schemas-data/3.1/governance/sync-plans-response.json +6 -6
- package/dist/lib/schemas-data/3.1/index.json +443 -443
- package/dist/lib/schemas-data/3.1/manifest.json +3 -3
- package/dist/lib/schemas-data/3.1/manifest.schema.json +1 -1
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-request.json +16 -16
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-response.json +35 -35
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-request.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-response.json +19 -19
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-request.json +23 -23
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-response.json +27 -27
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-response.json +30 -30
- package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/get-products-request.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/get-products-response.json +10 -10
- package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-request.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-response.json +9 -9
- package/dist/lib/schemas-data/3.1/media-buy/log-event-request.json +5 -5
- package/dist/lib/schemas-data/3.1/media-buy/log-event-response.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/media-buy-delivery-webhook-result.json +9 -9
- package/dist/lib/schemas-data/3.1/media-buy/package-request.json +23 -23
- package/dist/lib/schemas-data/3.1/media-buy/package-update.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-request.json +7 -7
- package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-response.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-response.json +14 -14
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-response.json +14 -14
- package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-response.json +14 -14
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-request.json +11 -11
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-response.json +17 -17
- package/dist/lib/schemas-data/3.1/pricing-options/cpa-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpc-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpcv-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpm-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpp-option.json +5 -5
- package/dist/lib/schemas-data/3.1/pricing-options/cpv-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/flat-rate-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/price-breakdown.json +2 -2
- package/dist/lib/schemas-data/3.1/pricing-options/price-guidance.json +1 -1
- package/dist/lib/schemas-data/3.1/pricing-options/time-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/vcpm-option.json +4 -4
- package/dist/lib/schemas-data/3.1/property/authorization-result.json +1 -1
- package/dist/lib/schemas-data/3.1/property/base-property-source.json +4 -4
- package/dist/lib/schemas-data/3.1/property/create-property-list-request.json +8 -8
- package/dist/lib/schemas-data/3.1/property/create-property-list-response.json +6 -6
- package/dist/lib/schemas-data/3.1/property/delete-property-list-request.json +5 -5
- package/dist/lib/schemas-data/3.1/property/delete-property-list-response.json +5 -5
- package/dist/lib/schemas-data/3.1/property/delivery-record.json +3 -3
- package/dist/lib/schemas-data/3.1/property/get-property-list-request.json +5 -5
- package/dist/lib/schemas-data/3.1/property/get-property-list-response.json +9 -9
- package/dist/lib/schemas-data/3.1/property/list-property-lists-request.json +6 -6
- package/dist/lib/schemas-data/3.1/property/list-property-lists-response.json +7 -7
- package/dist/lib/schemas-data/3.1/property/property-error.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-feature-definition.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-feature-result.json +4 -4
- package/dist/lib/schemas-data/3.1/property/property-feature-value.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-feature.json +1 -1
- package/dist/lib/schemas-data/3.1/property/property-list-changed-webhook.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-list-filters.json +5 -5
- package/dist/lib/schemas-data/3.1/property/property-list.json +6 -6
- package/dist/lib/schemas-data/3.1/property/update-property-list-request.json +8 -8
- package/dist/lib/schemas-data/3.1/property/update-property-list-response.json +6 -6
- package/dist/lib/schemas-data/3.1/property/validate-property-delivery-request.json +6 -6
- package/dist/lib/schemas-data/3.1/property/validate-property-delivery-response.json +6 -6
- package/dist/lib/schemas-data/3.1/property/validation-result.json +5 -5
- package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-request.json +4 -4
- package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-response.json +34 -34
- package/dist/lib/schemas-data/3.1/protocol/get-task-status-request.json +5 -5
- package/dist/lib/schemas-data/3.1/protocol/get-task-status-response.json +10 -10
- package/dist/lib/schemas-data/3.1/protocol/list-tasks-request.json +13 -13
- package/dist/lib/schemas-data/3.1/protocol/list-tasks-response.json +8 -8
- package/dist/lib/schemas-data/3.1/registries/v1-canonical-mapping.json +2 -2
- package/dist/lib/schemas-data/3.1/signals/activate-signal-request.json +6 -6
- package/dist/lib/schemas-data/3.1/signals/activate-signal-response.json +9 -9
- package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/signals/get-signals-request.json +11 -11
- package/dist/lib/schemas-data/3.1/signals/get-signals-response.json +17 -17
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-capabilities.json +1 -1
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-context-use.json +1 -1
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-request.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-response.json +9 -9
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-identity.json +1 -1
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-request.json +7 -7
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-response.json +10 -10
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-request.json +5 -5
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-response.json +10 -10
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context-receipt.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-request.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-response.json +7 -7
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-ui-element.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/available-package.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/context-match-request.json +5 -5
- package/dist/lib/schemas-data/3.1/trusted-match/context-match-response.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/error.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/identity-match-request.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/identity-match-response.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/offer-price.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/offer.json +5 -5
- package/dist/lib/schemas-data/3.1/trusted-match/provider-identity-match-response.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/provider-registration.json +2 -2
- package/dist/lib/schemas-data/3.1/trusted-match/publisher-tmpx-config.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/tmpx-chunk.json +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.mjs.map +1 -1
- package/dist/lib/server/serve.d.ts.map +1 -1
- package/dist/lib/server/serve.js +2 -0
- package/dist/lib/server/serve.js.map +1 -1
- package/dist/lib/server/serve.mjs +2 -0
- package/dist/lib/server/serve.mjs.map +1 -1
- package/dist/lib/server/test-controller.d.mts +1 -0
- package/dist/lib/server/test-controller.d.ts +1 -0
- package/dist/lib/server/test-controller.d.ts.map +1 -1
- package/dist/lib/server/test-controller.js +5 -1
- package/dist/lib/server/test-controller.js.map +1 -1
- package/dist/lib/server/test-controller.mjs +5 -1
- package/dist/lib/server/test-controller.mjs.map +1 -1
- package/dist/lib/server/wire-spec-fields.generated.d.mts +29 -29
- package/dist/lib/server/wire-spec-fields.generated.d.ts +29 -29
- package/dist/lib/server/wire-spec-fields.generated.js +29 -29
- package/dist/lib/server/wire-spec-fields.generated.js.map +1 -1
- package/dist/lib/server/wire-spec-fields.generated.mjs +29 -29
- package/dist/lib/server/wire-spec-fields.generated.mjs.map +1 -1
- package/dist/lib/testing/storyboard/loader.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/loader.js +5 -0
- package/dist/lib/testing/storyboard/loader.js.map +1 -1
- package/dist/lib/testing/storyboard/loader.mjs +5 -0
- package/dist/lib/testing/storyboard/loader.mjs.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.js +27 -11
- package/dist/lib/testing/storyboard/request-builder.js.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.mjs +27 -11
- package/dist/lib/testing/storyboard/request-builder.mjs.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +2 -2
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.mjs +2 -2
- package/dist/lib/testing/storyboard/runner.mjs.map +1 -1
- package/dist/lib/testing/storyboard/types.d.mts +10 -0
- package/dist/lib/testing/storyboard/types.d.ts +10 -0
- package/dist/lib/testing/storyboard/types.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/types.js.map +1 -1
- package/dist/lib/testing/storyboard/types.mjs.map +1 -1
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/types/build-creative.d.ts +11 -24
- package/dist/lib/types/comply-test-controller.d.ts +11 -24
- package/dist/lib/types/core.generated.d.mts +10 -24
- package/dist/lib/types/core.generated.d.ts +10 -24
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js.map +1 -1
- package/dist/lib/types/create-media-buy.d.ts +11 -24
- package/dist/lib/types/get-creative-delivery.d.ts +11 -24
- package/dist/lib/types/get-creative-features.d.ts +11 -24
- package/dist/lib/types/get-task-status.d.ts +11 -24
- package/dist/lib/types/list-creatives.d.ts +11 -24
- package/dist/lib/types/manifest.generated.d.mts +3 -3
- package/dist/lib/types/manifest.generated.d.ts +3 -3
- package/dist/lib/types/manifest.generated.js.map +1 -1
- package/dist/lib/types/manifest.generated.mjs.map +1 -1
- package/dist/lib/types/per-tool-index.json +1 -1
- package/dist/lib/types/preview-creative.d.ts +11 -24
- package/dist/lib/types/schemas.generated.d.mts +69 -68
- package/dist/lib/types/schemas.generated.d.ts +69 -68
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +16 -13
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/schemas.generated.mjs +15 -13
- package/dist/lib/types/schemas.generated.mjs.map +1 -1
- package/dist/lib/types/tools.generated.d.mts +10 -24
- package/dist/lib/types/tools.generated.d.ts +10 -24
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/types/tools.generated.js.map +1 -1
- package/dist/lib/types/update-media-buy.d.ts +11 -24
- package/dist/lib/types/validate-input.d.ts +11 -24
- package/dist/lib/version.d.mts +7 -7
- package/dist/lib/version.d.ts +7 -7
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +12 -6
- package/dist/lib/version.js.map +1 -1
- package/dist/lib/version.mjs +12 -6
- package/dist/lib/version.mjs.map +1 -1
- package/docs/llms.txt +6 -6
- package/package.json +7 -7
- package/compliance/cache/3.1.24/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -556
- package/compliance/cache/3.1.24/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -556
- package/compliance/cache/3.1.24/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -31
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/creative-transformers/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/specialisms/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/acme-outdoor-live.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/billing-gate-runner.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/distributed-brand-runner.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/parallel-dispatch-runner.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/rate-limit-trip-runner.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/single-side-trust-runner.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/catalog-macro-substitution.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-receiver-envelope.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/billing-gate-dispatch.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/canonical-format-validate-input.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/comply-controller-mode-gate.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/error-compliance-signals.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/get-products-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/notification-config-event-scope.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/notification-config-lifecycle.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/notification-config-rejections.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/schema-validation-signals.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/version-negotiation.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/webhook-receiver-envelope.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/wholesale-feed-product-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/wholesale-feed-products.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.24 → 3.1.30}/universal/wholesale-feed-signals.yaml +0 -0
package/compliance/cache/3.1.30/domains/media-buy/scenarios/inline_creatives_without_sync.yaml
ADDED
|
@@ -0,0 +1,1161 @@
|
|
|
1
|
+
id: media_buy_seller/inline_creatives_without_sync
|
|
2
|
+
version: "1.0.0"
|
|
3
|
+
title: "Inline media-buy creatives without sync_creatives"
|
|
4
|
+
category: media_buy_seller
|
|
5
|
+
summary: "Verifies that a seller advertising inline_creative_management accepts package creatives on create_media_buy and update_media_buy without requiring the Creative Protocol or sync_creatives."
|
|
6
|
+
track: media_buy
|
|
7
|
+
|
|
8
|
+
# Gate: scenario runs only when the seller declares inline creative handling on
|
|
9
|
+
# the media-buy feature surface. Sellers that do not advertise the flag grade
|
|
10
|
+
# not_applicable. The scenario intentionally does not call sync_creatives; that
|
|
11
|
+
# keeps inline-only media-buy sellers from being forced into the creative
|
|
12
|
+
# library surface.
|
|
13
|
+
requires_capability:
|
|
14
|
+
path: media_buy.features.inline_creative_management
|
|
15
|
+
equals: true
|
|
16
|
+
|
|
17
|
+
required_tools:
|
|
18
|
+
- get_products
|
|
19
|
+
- create_media_buy
|
|
20
|
+
- update_media_buy
|
|
21
|
+
- get_media_buys
|
|
22
|
+
|
|
23
|
+
narrative: |
|
|
24
|
+
Some sales agents do not expose the Creative Protocol or a reusable creative
|
|
25
|
+
library. They still accept creative bodies inline on media-buy operations. For
|
|
26
|
+
those sellers, the buyer should not call sync_creatives; it should put
|
|
27
|
+
CreativeAsset objects in packages[].creatives on create_media_buy and
|
|
28
|
+
update_media_buy.
|
|
29
|
+
|
|
30
|
+
This scenario walks that path end-to-end:
|
|
31
|
+
|
|
32
|
+
1. Discover that inline_creative_management is true.
|
|
33
|
+
2. Create a media buy with packages[].creatives populated.
|
|
34
|
+
3. Replace the package's inline creative through update_media_buy.
|
|
35
|
+
4. Read the media buy back and confirm the replacement approval state is visible.
|
|
36
|
+
|
|
37
|
+
The scenario exercises each format representation the seller actually publishes.
|
|
38
|
+
There are four execution paths. One canonical discovery decides between the three
|
|
39
|
+
canonical shapes; the legacy path has its own discovery and runs independently:
|
|
40
|
+
|
|
41
|
+
- canonical, product-local option: selected via packages[].format_option_refs with
|
|
42
|
+
scope "product"
|
|
43
|
+
- canonical, publisher-catalog option: selected via packages[].format_option_refs
|
|
44
|
+
with scope "publisher", carrying the full {publisher_domain, format_option_id} pair
|
|
45
|
+
- canonical, no stable format_option_id: no selector at all, format_kind alone
|
|
46
|
+
- legacy format_ids[]
|
|
47
|
+
|
|
48
|
+
Exactly one canonical path runs for a given seller - the three gates are mutually
|
|
49
|
+
exclusive on the captured declaration - and the legacy path runs independently of all
|
|
50
|
+
three. Each path creates its own media buy so the readback checks prove each
|
|
51
|
+
replacement persisted independently.
|
|
52
|
+
|
|
53
|
+
Every canonical gate and every canonical buy come from the SAME get_products response,
|
|
54
|
+
because there is one canonical discovery rather than one per shape. Brief-mode
|
|
55
|
+
discovery carries no ordering or stability guarantee and nothing here depends on one:
|
|
56
|
+
a seller whose results reorder, or whose canonical shape differs between calls, is
|
|
57
|
+
never failed for it.
|
|
58
|
+
|
|
59
|
+
Runner floor. Every canonical path is gated by a skip_if that dereferences the
|
|
60
|
+
captured declaration. Verified with @adcp/sdk 15.8.1 - the hosted grader's version -
|
|
61
|
+
and 15.9.2, and verified NOT evaluated on 9.6.2, whose grammar matches test_kit
|
|
62
|
+
references only. 15.8.1 was checked against the published registry tarball, by
|
|
63
|
+
compiled-source inspection and public-API runStoryboard reproductions. Those cover
|
|
64
|
+
the three canonical shapes, an absent declaration, the scope-only no-mutation
|
|
65
|
+
boundary, and - the property this scenario's kind detector rests on - that a FAILED
|
|
66
|
+
optional discovery step does not promote its captures into the run context, so every
|
|
67
|
+
canonical phase stands down with no outbound call. This does not establish 15.8.1 as
|
|
68
|
+
the earliest supporting release; versions between were not tested.
|
|
69
|
+
|
|
70
|
+
On a runner that does not evaluate these guards the storyboard mis-executes rather
|
|
71
|
+
than degrading politely: every canonical phase opens, and the product-scoped path
|
|
72
|
+
sends a ref built from a declaration that may carry no format_option_id, which is
|
|
73
|
+
schema-invalid. There is deliberately no second, validation-level gate to soften
|
|
74
|
+
that - an earlier field_absent guard was removed because it made two probes
|
|
75
|
+
mutually exclusive and failed conformant sellers whose catalog ordering differed
|
|
76
|
+
between calls. Grade this scenario on a runner at or above the stated floor.
|
|
77
|
+
|
|
78
|
+
Reading the report: the two discovery phases are optional, and a seller publishing
|
|
79
|
+
one representation WILL see the other representation's discovery step go red. That
|
|
80
|
+
is expected and takes no action - those steps do not gate the run, and the red is how
|
|
81
|
+
the probe keeps a path it cannot serve from executing. A red step inside one of the
|
|
82
|
+
four execution phases is the opposite: that representation was advertised and the
|
|
83
|
+
seller must make inline create, update and readback work on it. The closing
|
|
84
|
+
assert_contribution is the only coverage gate: it fails when no path completed.
|
|
85
|
+
|
|
86
|
+
agent:
|
|
87
|
+
interaction_model: media_buy_seller
|
|
88
|
+
capabilities:
|
|
89
|
+
- sells_media
|
|
90
|
+
- accepts_inline_creatives
|
|
91
|
+
examples:
|
|
92
|
+
- "Media-buy sellers that attach creatives directly to buys"
|
|
93
|
+
|
|
94
|
+
caller:
|
|
95
|
+
role: buyer_agent
|
|
96
|
+
example: "Pinnacle Agency (buyer)"
|
|
97
|
+
|
|
98
|
+
prerequisites:
|
|
99
|
+
description: |
|
|
100
|
+
Seller advertises media_buy.features.inline_creative_management: true and
|
|
101
|
+
accepts package-scoped CreativeAsset objects on create_media_buy and
|
|
102
|
+
update_media_buy. The seller does not need to implement sync_creatives.
|
|
103
|
+
|
|
104
|
+
Fixture applicability, because this is a controlled fixture rather than a
|
|
105
|
+
general format negotiation. Each probe reads products[0] and, on the canonical
|
|
106
|
+
side, format_options[0]; the buyer then submits a fixed 300x250 image creative
|
|
107
|
+
and a fixed-price package with no bid_price. So for this brief the seller needs
|
|
108
|
+
its FIRST matched product, that product's FIRST format option, and its first
|
|
109
|
+
pricing option to be compatible with a 300x250 image bought at a fixed price.
|
|
110
|
+
The two sides behave differently on a mismatch. On the CANONICAL side the
|
|
111
|
+
discovery probe asserts format_kind image, so a video-first first declaration is
|
|
112
|
+
detected there: no canonical create is issued at all, and the canonical lanes
|
|
113
|
+
stand down. Such a seller is graded red only if it has no legacy representation
|
|
114
|
+
to carry the run; a dual-emitting seller passes on legacy alone, with its
|
|
115
|
+
canonical support ungraded. On the LEGACY side there is no equivalent probe -
|
|
116
|
+
format_ids[] carries no kind to assert - so a first format_id that cannot take a
|
|
117
|
+
300x250 image is rejected on create and graded red for an asset-applicability
|
|
118
|
+
mismatch, not for a protocol defect.
|
|
119
|
+
|
|
120
|
+
Neither side SELECTS a matching declaration, and that limit is NOT closed here.
|
|
121
|
+
Selecting a product and declaration by kind and dimensions, independently of
|
|
122
|
+
the order the seller returns them in, needs either a canonical-kind product
|
|
123
|
+
filter (3.1 defines none) or a selection construct the storyboard DSL does not
|
|
124
|
+
have. Tracked as a separate limitation; do not read any filter on these probes
|
|
125
|
+
as providing it.
|
|
126
|
+
test_kit: "test-kits/acme-outdoor.yaml"
|
|
127
|
+
|
|
128
|
+
# Scope is the one field a format_option_ref needs that no get_products response
|
|
129
|
+
# carries, so it is seeded here as a run-start constant and injected per path with
|
|
130
|
+
# context_inputs. Storyboard-root context values must be scalars.
|
|
131
|
+
context:
|
|
132
|
+
format_option_scope_product: "product"
|
|
133
|
+
format_option_scope_publisher: "publisher"
|
|
134
|
+
|
|
135
|
+
phases:
|
|
136
|
+
- id: capability_discovery
|
|
137
|
+
title: "Discover inline creative support"
|
|
138
|
+
narrative: |
|
|
139
|
+
The buyer confirms the seller accepts inline package creatives before
|
|
140
|
+
exercising either accepted product-format path.
|
|
141
|
+
|
|
142
|
+
steps:
|
|
143
|
+
- id: get_capabilities
|
|
144
|
+
title: "Check inline creative feature"
|
|
145
|
+
task: get_adcp_capabilities
|
|
146
|
+
schema_ref: "protocol/get-adcp-capabilities-request.json"
|
|
147
|
+
response_schema_ref: "protocol/get-adcp-capabilities-response.json"
|
|
148
|
+
doc_ref: "/protocol/get_adcp_capabilities"
|
|
149
|
+
comply_scenario: capability_discovery
|
|
150
|
+
stateful: false
|
|
151
|
+
expected: |
|
|
152
|
+
Return capabilities declaring media_buy support and
|
|
153
|
+
media_buy.features.inline_creative_management: true.
|
|
154
|
+
sample_request:
|
|
155
|
+
context:
|
|
156
|
+
correlation_id: "inline_creatives_without_sync--get_capabilities"
|
|
157
|
+
validations:
|
|
158
|
+
- check: response_schema
|
|
159
|
+
description: "Response matches get-adcp-capabilities-response.json schema"
|
|
160
|
+
- check: field_present
|
|
161
|
+
path: "supported_protocols"
|
|
162
|
+
description: "Agent declares supported protocols"
|
|
163
|
+
- check: field_value
|
|
164
|
+
path: "media_buy.features.inline_creative_management"
|
|
165
|
+
value: true
|
|
166
|
+
description: "Seller advertises inline creative handling on media-buy operations"
|
|
167
|
+
- check: field_value
|
|
168
|
+
path: "context.correlation_id"
|
|
169
|
+
value: "inline_creatives_without_sync--get_capabilities"
|
|
170
|
+
description: "Context correlation_id returned unchanged"
|
|
171
|
+
|
|
172
|
+
# ONE canonical discovery, so every canonical shape is decided from a single
|
|
173
|
+
# get_products response: the product, pricing option and format declaration a path
|
|
174
|
+
# buys with are always the ones that opened its gate. Splitting this per shape made
|
|
175
|
+
# the discriminating field (format_option_id, which product-format-declaration.json
|
|
176
|
+
# marks optional) a MANDATORY capture in one probe and a required absence in another,
|
|
177
|
+
# so a seller answering one brief with different canonical shapes across calls had no
|
|
178
|
+
# gate open at all.
|
|
179
|
+
#
|
|
180
|
+
# The whole declaration is captured as one object. Every capture here resolves for any
|
|
181
|
+
# canonical product, so there is no optional capture to fail the step, and the three
|
|
182
|
+
# execution phases below discriminate with skip_if reading into that object.
|
|
183
|
+
#
|
|
184
|
+
# optional, and deliberately WITHOUT branch_set: a seller publishing only legacy
|
|
185
|
+
# format_ids[] has nothing to capture here, and that is conformant - Product requires
|
|
186
|
+
# format_ids, format_options, or both. `optional: true` already keeps an unproductive
|
|
187
|
+
# capture from failing the storyboard. Declaring a branch_set would additionally
|
|
188
|
+
# regrade a peer's failures once any one branch completed, hiding a real
|
|
189
|
+
# per-representation diagnostic; the execution phases below are what must stay graded.
|
|
190
|
+
- id: canonical_format_discovery
|
|
191
|
+
title: "Discover a product option through format_options"
|
|
192
|
+
optional: true
|
|
193
|
+
narrative: |
|
|
194
|
+
A 3.1+ seller may publish products through format_options[]. This phase captures
|
|
195
|
+
the product, its pricing option, its canonical format_kind and the whole first
|
|
196
|
+
format declaration from one response.
|
|
197
|
+
|
|
198
|
+
format_option_id is optional on a declaration (product-format-declaration.json
|
|
199
|
+
requires only format_kind and params), and publisher_domain is present only on
|
|
200
|
+
publisher-catalog-backed options. Neither is captured on its own, because a
|
|
201
|
+
capture that does not resolve fails the step and discards every other capture with
|
|
202
|
+
it. Capturing the declaration whole keeps those optional fields intact without
|
|
203
|
+
making either one a precondition.
|
|
204
|
+
|
|
205
|
+
Expected non-gating diagnostic: a seller publishing only legacy format_ids[] has
|
|
206
|
+
nothing to capture here, so this step goes red and the legacy path grades it
|
|
207
|
+
instead. No action is required for that red.
|
|
208
|
+
|
|
209
|
+
steps:
|
|
210
|
+
|
|
211
|
+
- id: get_products_canonical_format
|
|
212
|
+
title: "Discover a product with format_options"
|
|
213
|
+
task: get_products
|
|
214
|
+
schema_ref: "media-buy/get-products-request.json"
|
|
215
|
+
response_schema_ref: "media-buy/get-products-response.json"
|
|
216
|
+
doc_ref: "/media-buy/task-reference/get_products"
|
|
217
|
+
comply_scenario: full_sales_flow
|
|
218
|
+
stateful: false
|
|
219
|
+
expected: |
|
|
220
|
+
Return at least one fixed-price product with a pricing option and a
|
|
221
|
+
format_options[] declaration that can be used by the inline CreativeAsset.
|
|
222
|
+
sample_request:
|
|
223
|
+
idempotency_key: "$generate:uuid_v4#media_buy_seller_inline_creatives_without_sync_canonical_format_discovery_get_products_canonical_format"
|
|
224
|
+
buying_mode: "brief"
|
|
225
|
+
brief: "Display inventory on outdoor lifestyle content. Q3 flight with buyer-supplied inline creative."
|
|
226
|
+
filters:
|
|
227
|
+
# 3.1 product-filters.json defines no canonical-kind filter, so this
|
|
228
|
+
# probe cannot narrow by format_kind and does not pretend to. The
|
|
229
|
+
# buyer submits a 300x250 image creative on this path; rank a product
|
|
230
|
+
# whose first format option accepts that creative first for this
|
|
231
|
+
# brief. A product selected here that cannot take a 300x250 image is
|
|
232
|
+
# an asset-applicability mismatch, not a protocol defect.
|
|
233
|
+
is_fixed_price: true
|
|
234
|
+
account:
|
|
235
|
+
brand:
|
|
236
|
+
domain: "acmeoutdoor.example"
|
|
237
|
+
operator: "pinnacle-agency.example"
|
|
238
|
+
context:
|
|
239
|
+
correlation_id: "inline_creatives_without_sync--get_products_canonical"
|
|
240
|
+
context_outputs:
|
|
241
|
+
- path: "products[0].product_id"
|
|
242
|
+
key: "canonical_product_id"
|
|
243
|
+
- path: "products[0].pricing_options[0].pricing_option_id"
|
|
244
|
+
key: "canonical_pricing_option_id"
|
|
245
|
+
- path: "products[0].format_options[0].format_kind"
|
|
246
|
+
key: "canonical_format_kind"
|
|
247
|
+
- path: "products[0].format_options[0]"
|
|
248
|
+
key: "canonical_declaration"
|
|
249
|
+
validations:
|
|
250
|
+
- check: response_schema
|
|
251
|
+
description: "Response matches get-products-response.json schema"
|
|
252
|
+
- check: field_present
|
|
253
|
+
path: "products[0].format_options[0].format_kind"
|
|
254
|
+
description: "Product declares a canonical format option for inline creative validation"
|
|
255
|
+
- check: field_value
|
|
256
|
+
path: "products[0].format_options[0].format_kind"
|
|
257
|
+
value: "image"
|
|
258
|
+
description: "Mismatch detector, not a format selector. The buyer only has a 300x250 image to send on the canonical paths, so if this first declaration is some other kind the probe fails here, its captures are never promoted, and all three canonical paths stand down rather than buying an image under, say, a video declaration. It does NOT pick a matching declaration out of the catalog: a canonical-only seller whose first declaration is not an image still completes no canonical path and fails the closing coverage assertion. 3.1 defines no canonical-kind product filter, so this detection is all that is available here"
|
|
259
|
+
- check: field_present
|
|
260
|
+
path: "products[0].pricing_options[0].fixed_price"
|
|
261
|
+
description: "The captured pricing option is fixed-price; fixed-price storyboards do not send bid_price"
|
|
262
|
+
- check: field_value
|
|
263
|
+
path: "context.correlation_id"
|
|
264
|
+
value: "inline_creatives_without_sync--get_products_canonical"
|
|
265
|
+
description: "Context correlation_id returned unchanged"
|
|
266
|
+
|
|
267
|
+
- id: canonical_unnamed_option_inline_path
|
|
268
|
+
title: "Inline creative path using an unnamed format option"
|
|
269
|
+
depends_on: [capability_discovery]
|
|
270
|
+
# Also stands down when canonical discovery captured nothing at all: a dotted
|
|
271
|
+
# reference onto an absent key is falsy, so without the existence clause this phase
|
|
272
|
+
# would run for a legacy-only seller and fail on unresolved context.
|
|
273
|
+
skip_if: "!context.canonical_declaration || context.canonical_declaration.format_option_id"
|
|
274
|
+
narrative: |
|
|
275
|
+
Covers the seller whose first canonical declaration carries no stable
|
|
276
|
+
format_option_id - legal, because product-format-declaration.json requires only
|
|
277
|
+
format_kind and params. There is no id to select with, and none is needed:
|
|
278
|
+
format_kind alone routes the creative to that single declaration. The package
|
|
279
|
+
therefore carries no format_option_refs[] at all.
|
|
280
|
+
|
|
281
|
+
Not optional: once canonical discovery captured a declaration with no id, inline
|
|
282
|
+
create, update and readback on this representation must work.
|
|
283
|
+
|
|
284
|
+
steps:
|
|
285
|
+
|
|
286
|
+
- id: create_buy_with_unnamed_option_inline_creative
|
|
287
|
+
title: "Create media buy with unnamed-option inline creative"
|
|
288
|
+
task: create_media_buy
|
|
289
|
+
schema_ref: "media-buy/create-media-buy-request.json"
|
|
290
|
+
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
291
|
+
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
292
|
+
comply_scenario: create_media_buy
|
|
293
|
+
stateful: true
|
|
294
|
+
expected: |
|
|
295
|
+
Accept the media buy and attach the inline creative to the package.
|
|
296
|
+
The response should include the package and preserve package context.
|
|
297
|
+
sample_request:
|
|
298
|
+
brand:
|
|
299
|
+
domain: "acmeoutdoor.example"
|
|
300
|
+
account:
|
|
301
|
+
brand:
|
|
302
|
+
domain: "acmeoutdoor.example"
|
|
303
|
+
operator: "pinnacle-agency.example"
|
|
304
|
+
idempotency_key: "$generate:uuid_v4#inline_creatives_without_sync_create_unnamed_option"
|
|
305
|
+
start_time: "asap"
|
|
306
|
+
end_time: "2099-09-30T23:59:59Z"
|
|
307
|
+
packages:
|
|
308
|
+
- product_id: "$context.canonical_product_id"
|
|
309
|
+
budget: 7500
|
|
310
|
+
pricing_option_id: "$context.canonical_pricing_option_id"
|
|
311
|
+
context:
|
|
312
|
+
buyer_ref: "inline-creative-unnamed-option-line-001"
|
|
313
|
+
creatives:
|
|
314
|
+
- creative_id: "acme-inline-unnamed-option-display-v1"
|
|
315
|
+
name: "Acme Outdoor inline unnamed-option display v1"
|
|
316
|
+
format_kind: "$context.canonical_format_kind"
|
|
317
|
+
assets:
|
|
318
|
+
image:
|
|
319
|
+
asset_type: "image"
|
|
320
|
+
url: "https://test-assets.adcontextprotocol.org/acme-outdoor/hero-master.jpg"
|
|
321
|
+
width: 300
|
|
322
|
+
height: 250
|
|
323
|
+
mime_type: "image/jpeg"
|
|
324
|
+
click_url:
|
|
325
|
+
asset_type: "url"
|
|
326
|
+
url: "https://acmeoutdoor.example/q3"
|
|
327
|
+
context:
|
|
328
|
+
correlation_id: "inline_creatives_without_sync--create_unnamed_option"
|
|
329
|
+
context_outputs:
|
|
330
|
+
- path: "media_buy_id"
|
|
331
|
+
key: "unnamed_option_media_buy_id"
|
|
332
|
+
- path: "packages[0].package_id"
|
|
333
|
+
key: "unnamed_option_package_id"
|
|
334
|
+
validations:
|
|
335
|
+
- check: response_schema
|
|
336
|
+
description: "Response matches create-media-buy-response.json schema"
|
|
337
|
+
- check: field_present
|
|
338
|
+
path: "media_buy_id"
|
|
339
|
+
description: "Seller assigns a media_buy_id"
|
|
340
|
+
- check: field_present
|
|
341
|
+
path: "packages[0].package_id"
|
|
342
|
+
description: "Seller assigns a package_id"
|
|
343
|
+
- check: field_value
|
|
344
|
+
path: "packages[0].context.buyer_ref"
|
|
345
|
+
value: "inline-creative-unnamed-option-line-001"
|
|
346
|
+
description: "Created package echoes package-level context for correlation"
|
|
347
|
+
- check: field_value
|
|
348
|
+
path: "context.correlation_id"
|
|
349
|
+
value: "inline_creatives_without_sync--create_unnamed_option"
|
|
350
|
+
description: "Context correlation_id returned unchanged"
|
|
351
|
+
|
|
352
|
+
- id: update_buy_with_replacement_unnamed_option_inline_creative
|
|
353
|
+
title: "Replace unnamed-option inline creative"
|
|
354
|
+
task: update_media_buy
|
|
355
|
+
schema_ref: "media-buy/update-media-buy-request.json"
|
|
356
|
+
response_schema_ref: "media-buy/update-media-buy-response.json"
|
|
357
|
+
doc_ref: "/media-buy/task-reference/update_media_buy"
|
|
358
|
+
comply_scenario: media_buy_lifecycle
|
|
359
|
+
stateful: true
|
|
360
|
+
expected: |
|
|
361
|
+
Replace the package's inline creative body with the new creative_id and
|
|
362
|
+
return the affected package. The replacement creative is verified on
|
|
363
|
+
the standardized creative_approvals readback surface below.
|
|
364
|
+
sample_request:
|
|
365
|
+
account:
|
|
366
|
+
brand:
|
|
367
|
+
domain: "acmeoutdoor.example"
|
|
368
|
+
operator: "pinnacle-agency.example"
|
|
369
|
+
media_buy_id: "$context.unnamed_option_media_buy_id"
|
|
370
|
+
packages:
|
|
371
|
+
- package_id: "$context.unnamed_option_package_id"
|
|
372
|
+
creatives:
|
|
373
|
+
- creative_id: "acme-inline-unnamed-option-display-v2"
|
|
374
|
+
name: "Acme Outdoor inline unnamed-option display v2"
|
|
375
|
+
format_kind: "$context.canonical_format_kind"
|
|
376
|
+
assets:
|
|
377
|
+
image:
|
|
378
|
+
asset_type: "image"
|
|
379
|
+
url: "https://test-assets.adcontextprotocol.org/acme-outdoor/hero-alt.jpg"
|
|
380
|
+
width: 300
|
|
381
|
+
height: 250
|
|
382
|
+
mime_type: "image/jpeg"
|
|
383
|
+
click_url:
|
|
384
|
+
asset_type: "url"
|
|
385
|
+
url: "https://acmeoutdoor.example/q3-refresh"
|
|
386
|
+
idempotency_key: "$generate:uuid_v4#inline_creatives_without_sync_update_unnamed_option"
|
|
387
|
+
context:
|
|
388
|
+
correlation_id: "inline_creatives_without_sync--update_unnamed_option"
|
|
389
|
+
validations:
|
|
390
|
+
- check: response_schema
|
|
391
|
+
description: "Response matches update-media-buy-response.json schema"
|
|
392
|
+
- check: field_equals_context
|
|
393
|
+
path: "media_buy_id"
|
|
394
|
+
context_key: "unnamed_option_media_buy_id"
|
|
395
|
+
description: "Update response references the same media buy"
|
|
396
|
+
- check: field_equals_context
|
|
397
|
+
path: "affected_packages[0].package_id"
|
|
398
|
+
context_key: "unnamed_option_package_id"
|
|
399
|
+
description: "Update response includes the affected package"
|
|
400
|
+
- check: field_contains
|
|
401
|
+
path: "affected_packages[*]"
|
|
402
|
+
value:
|
|
403
|
+
package_id: "$context.unnamed_option_package_id"
|
|
404
|
+
product_id: "$context.canonical_product_id"
|
|
405
|
+
pricing_option_id: "$context.canonical_pricing_option_id"
|
|
406
|
+
budget: 7500
|
|
407
|
+
context:
|
|
408
|
+
buyer_ref: "inline-creative-unnamed-option-line-001"
|
|
409
|
+
description: "Affected package includes complete post-update package state for the unnamed-option inline creative line"
|
|
410
|
+
- check: field_value
|
|
411
|
+
path: "context.correlation_id"
|
|
412
|
+
value: "inline_creatives_without_sync--update_unnamed_option"
|
|
413
|
+
description: "Context correlation_id returned unchanged"
|
|
414
|
+
|
|
415
|
+
- id: get_unnamed_option_media_buy_after_inline_replacement
|
|
416
|
+
title: "Read unnamed-option media buy after inline replacement"
|
|
417
|
+
contributes_to: inline_creative_path_exercised
|
|
418
|
+
task: get_media_buys
|
|
419
|
+
schema_ref: "media-buy/get-media-buys-request.json"
|
|
420
|
+
response_schema_ref: "media-buy/get-media-buys-response.json"
|
|
421
|
+
doc_ref: "/media-buy/task-reference/get_media_buys"
|
|
422
|
+
comply_scenario: media_buy_lifecycle
|
|
423
|
+
stateful: true
|
|
424
|
+
expected: |
|
|
425
|
+
Return the unnamed-option-path media buy with package approval state for
|
|
426
|
+
the replacement inline creative. The full CreativeAsset body is not
|
|
427
|
+
required on this read surface.
|
|
428
|
+
|
|
429
|
+
sample_request:
|
|
430
|
+
account:
|
|
431
|
+
brand:
|
|
432
|
+
domain: "acmeoutdoor.example"
|
|
433
|
+
operator: "pinnacle-agency.example"
|
|
434
|
+
media_buy_ids:
|
|
435
|
+
- "$context.unnamed_option_media_buy_id"
|
|
436
|
+
context:
|
|
437
|
+
correlation_id: "inline_creatives_without_sync--get_unnamed_option_media_buy"
|
|
438
|
+
validations:
|
|
439
|
+
- check: response_schema
|
|
440
|
+
description: "Response matches get-media-buys-response.json schema"
|
|
441
|
+
- check: field_equals_context
|
|
442
|
+
path: "media_buys[0].media_buy_id"
|
|
443
|
+
context_key: "unnamed_option_media_buy_id"
|
|
444
|
+
description: "Read response returns the created unnamed-option media buy"
|
|
445
|
+
- check: field_equals_context
|
|
446
|
+
path: "media_buys[0].packages[0].package_id"
|
|
447
|
+
context_key: "unnamed_option_package_id"
|
|
448
|
+
description: "Read response returns the created unnamed-option package"
|
|
449
|
+
- check: field_value
|
|
450
|
+
path: "media_buys[0].packages[0].creative_approvals[0].creative_id"
|
|
451
|
+
value: "acme-inline-unnamed-option-display-v2"
|
|
452
|
+
description: "Read response reflects the unnamed-option replacement inline creative on the package approval-state surface"
|
|
453
|
+
- check: field_value
|
|
454
|
+
path: "context.correlation_id"
|
|
455
|
+
value: "inline_creatives_without_sync--get_unnamed_option_media_buy"
|
|
456
|
+
description: "Context correlation_id returned unchanged"
|
|
457
|
+
|
|
458
|
+
- id: canonical_product_scoped_inline_path
|
|
459
|
+
title: "Inline creative path using a product-local format option ref"
|
|
460
|
+
depends_on: [capability_discovery]
|
|
461
|
+
skip_if: "!context.canonical_declaration.format_option_id || context.canonical_declaration.publisher_domain"
|
|
462
|
+
narrative: |
|
|
463
|
+
Covers the seller whose first canonical declaration carries a stable
|
|
464
|
+
format_option_id and no publisher_domain - a product-local option. The package
|
|
465
|
+
selects it with format_option_refs[], built from the captured declaration so the
|
|
466
|
+
id is exactly the one discovery observed.
|
|
467
|
+
|
|
468
|
+
Not optional: once canonical discovery captured a product-local option, inline
|
|
469
|
+
create, update and readback on this representation must work.
|
|
470
|
+
|
|
471
|
+
steps:
|
|
472
|
+
|
|
473
|
+
- id: create_buy_with_product_scoped_inline_creative
|
|
474
|
+
title: "Create media buy with product-scoped inline creative"
|
|
475
|
+
task: create_media_buy
|
|
476
|
+
schema_ref: "media-buy/create-media-buy-request.json"
|
|
477
|
+
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
478
|
+
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
479
|
+
comply_scenario: create_media_buy
|
|
480
|
+
stateful: true
|
|
481
|
+
expected: |
|
|
482
|
+
Accept the media buy and attach the inline creative to the package.
|
|
483
|
+
The response should include the package and preserve package context.
|
|
484
|
+
sample_request:
|
|
485
|
+
brand:
|
|
486
|
+
domain: "acmeoutdoor.example"
|
|
487
|
+
account:
|
|
488
|
+
brand:
|
|
489
|
+
domain: "acmeoutdoor.example"
|
|
490
|
+
operator: "pinnacle-agency.example"
|
|
491
|
+
idempotency_key: "$generate:uuid_v4#inline_creatives_without_sync_create_product_scoped"
|
|
492
|
+
start_time: "asap"
|
|
493
|
+
end_time: "2099-09-30T23:59:59Z"
|
|
494
|
+
packages:
|
|
495
|
+
- product_id: "$context.canonical_product_id"
|
|
496
|
+
budget: 7500
|
|
497
|
+
pricing_option_id: "$context.canonical_pricing_option_id"
|
|
498
|
+
format_option_refs:
|
|
499
|
+
# The whole captured declaration becomes the ref. Both
|
|
500
|
+
# format-option-ref.json branches are additionalProperties: true, so the
|
|
501
|
+
# declaration's seller-side extras (params, display_name,
|
|
502
|
+
# seller_preference, v1_format_ref) ride along legally and are inert:
|
|
503
|
+
# package-request.json resolves the ref by id, not by these fields. This
|
|
504
|
+
# keeps the {publisher_domain, format_option_id} identity pair coherent
|
|
505
|
+
# rather than rebuilding it from separately captured leaves.
|
|
506
|
+
#
|
|
507
|
+
# `scope` is the one field no get_products response can supply. A whole
|
|
508
|
+
# object substitution puts the declaration here, but the template DSL
|
|
509
|
+
# has no object-spread or projection, so it cannot ALSO add a literal
|
|
510
|
+
# sibling key in the same expression. context_inputs is the supported
|
|
511
|
+
# way to add exactly that one key - not a workaround for an SDK defect.
|
|
512
|
+
# Verified with @adcp/sdk 15.8.1 and 15.9.2: context_inputs clones the
|
|
513
|
+
# request before writing, so the captured declaration is not mutated.
|
|
514
|
+
- "$context.canonical_declaration"
|
|
515
|
+
context:
|
|
516
|
+
buyer_ref: "inline-creative-product-scoped-line-001"
|
|
517
|
+
creatives:
|
|
518
|
+
- creative_id: "acme-inline-product-scoped-display-v1"
|
|
519
|
+
name: "Acme Outdoor inline product-scoped display v1"
|
|
520
|
+
format_kind: "$context.canonical_format_kind"
|
|
521
|
+
assets:
|
|
522
|
+
image:
|
|
523
|
+
asset_type: "image"
|
|
524
|
+
url: "https://test-assets.adcontextprotocol.org/acme-outdoor/hero-master.jpg"
|
|
525
|
+
width: 300
|
|
526
|
+
height: 250
|
|
527
|
+
mime_type: "image/jpeg"
|
|
528
|
+
click_url:
|
|
529
|
+
asset_type: "url"
|
|
530
|
+
url: "https://acmeoutdoor.example/q3"
|
|
531
|
+
context:
|
|
532
|
+
correlation_id: "inline_creatives_without_sync--create_product_scoped"
|
|
533
|
+
context_inputs:
|
|
534
|
+
- key: "format_option_scope_product"
|
|
535
|
+
inject_at: "packages[0].format_option_refs[0].scope"
|
|
536
|
+
context_outputs:
|
|
537
|
+
- path: "media_buy_id"
|
|
538
|
+
key: "product_scoped_media_buy_id"
|
|
539
|
+
- path: "packages[0].package_id"
|
|
540
|
+
key: "product_scoped_package_id"
|
|
541
|
+
validations:
|
|
542
|
+
- check: response_schema
|
|
543
|
+
description: "Response matches create-media-buy-response.json schema"
|
|
544
|
+
- check: field_present
|
|
545
|
+
path: "media_buy_id"
|
|
546
|
+
description: "Seller assigns a media_buy_id"
|
|
547
|
+
- check: field_present
|
|
548
|
+
path: "packages[0].package_id"
|
|
549
|
+
description: "Seller assigns a package_id"
|
|
550
|
+
- check: field_value
|
|
551
|
+
path: "packages[0].context.buyer_ref"
|
|
552
|
+
value: "inline-creative-product-scoped-line-001"
|
|
553
|
+
description: "Created package echoes package-level context for correlation"
|
|
554
|
+
- check: field_value
|
|
555
|
+
path: "context.correlation_id"
|
|
556
|
+
value: "inline_creatives_without_sync--create_product_scoped"
|
|
557
|
+
description: "Context correlation_id returned unchanged"
|
|
558
|
+
|
|
559
|
+
- id: update_buy_with_replacement_product_scoped_inline_creative
|
|
560
|
+
title: "Replace product-scoped inline creative"
|
|
561
|
+
task: update_media_buy
|
|
562
|
+
schema_ref: "media-buy/update-media-buy-request.json"
|
|
563
|
+
response_schema_ref: "media-buy/update-media-buy-response.json"
|
|
564
|
+
doc_ref: "/media-buy/task-reference/update_media_buy"
|
|
565
|
+
comply_scenario: media_buy_lifecycle
|
|
566
|
+
stateful: true
|
|
567
|
+
expected: |
|
|
568
|
+
Replace the package's inline creative body with the new creative_id and
|
|
569
|
+
return the affected package. The replacement creative is verified on
|
|
570
|
+
the standardized creative_approvals readback surface below.
|
|
571
|
+
sample_request:
|
|
572
|
+
account:
|
|
573
|
+
brand:
|
|
574
|
+
domain: "acmeoutdoor.example"
|
|
575
|
+
operator: "pinnacle-agency.example"
|
|
576
|
+
media_buy_id: "$context.product_scoped_media_buy_id"
|
|
577
|
+
packages:
|
|
578
|
+
- package_id: "$context.product_scoped_package_id"
|
|
579
|
+
creatives:
|
|
580
|
+
- creative_id: "acme-inline-product-scoped-display-v2"
|
|
581
|
+
name: "Acme Outdoor inline product-scoped display v2"
|
|
582
|
+
format_kind: "$context.canonical_format_kind"
|
|
583
|
+
assets:
|
|
584
|
+
image:
|
|
585
|
+
asset_type: "image"
|
|
586
|
+
url: "https://test-assets.adcontextprotocol.org/acme-outdoor/hero-alt.jpg"
|
|
587
|
+
width: 300
|
|
588
|
+
height: 250
|
|
589
|
+
mime_type: "image/jpeg"
|
|
590
|
+
click_url:
|
|
591
|
+
asset_type: "url"
|
|
592
|
+
url: "https://acmeoutdoor.example/q3-refresh"
|
|
593
|
+
idempotency_key: "$generate:uuid_v4#inline_creatives_without_sync_update_product_scoped"
|
|
594
|
+
context:
|
|
595
|
+
correlation_id: "inline_creatives_without_sync--update_product_scoped"
|
|
596
|
+
validations:
|
|
597
|
+
- check: response_schema
|
|
598
|
+
description: "Response matches update-media-buy-response.json schema"
|
|
599
|
+
- check: field_equals_context
|
|
600
|
+
path: "media_buy_id"
|
|
601
|
+
context_key: "product_scoped_media_buy_id"
|
|
602
|
+
description: "Update response references the same media buy"
|
|
603
|
+
- check: field_equals_context
|
|
604
|
+
path: "affected_packages[0].package_id"
|
|
605
|
+
context_key: "product_scoped_package_id"
|
|
606
|
+
description: "Update response includes the affected package"
|
|
607
|
+
- check: field_contains
|
|
608
|
+
path: "affected_packages[*]"
|
|
609
|
+
value:
|
|
610
|
+
package_id: "$context.product_scoped_package_id"
|
|
611
|
+
product_id: "$context.canonical_product_id"
|
|
612
|
+
pricing_option_id: "$context.canonical_pricing_option_id"
|
|
613
|
+
budget: 7500
|
|
614
|
+
context:
|
|
615
|
+
buyer_ref: "inline-creative-product-scoped-line-001"
|
|
616
|
+
description: "Affected package includes complete post-update package state for the product-scoped inline creative line"
|
|
617
|
+
- check: field_value
|
|
618
|
+
path: "context.correlation_id"
|
|
619
|
+
value: "inline_creatives_without_sync--update_product_scoped"
|
|
620
|
+
description: "Context correlation_id returned unchanged"
|
|
621
|
+
|
|
622
|
+
- id: get_product_scoped_media_buy_after_inline_replacement
|
|
623
|
+
title: "Read product-scoped media buy after inline replacement"
|
|
624
|
+
contributes_to: inline_creative_path_exercised
|
|
625
|
+
task: get_media_buys
|
|
626
|
+
schema_ref: "media-buy/get-media-buys-request.json"
|
|
627
|
+
response_schema_ref: "media-buy/get-media-buys-response.json"
|
|
628
|
+
doc_ref: "/media-buy/task-reference/get_media_buys"
|
|
629
|
+
comply_scenario: media_buy_lifecycle
|
|
630
|
+
stateful: true
|
|
631
|
+
expected: |
|
|
632
|
+
Return the product-scoped-path media buy with package approval state for
|
|
633
|
+
the replacement inline creative. The full CreativeAsset body is not
|
|
634
|
+
required on this read surface.
|
|
635
|
+
|
|
636
|
+
sample_request:
|
|
637
|
+
account:
|
|
638
|
+
brand:
|
|
639
|
+
domain: "acmeoutdoor.example"
|
|
640
|
+
operator: "pinnacle-agency.example"
|
|
641
|
+
media_buy_ids:
|
|
642
|
+
- "$context.product_scoped_media_buy_id"
|
|
643
|
+
context:
|
|
644
|
+
correlation_id: "inline_creatives_without_sync--get_product_scoped_media_buy"
|
|
645
|
+
validations:
|
|
646
|
+
- check: response_schema
|
|
647
|
+
description: "Response matches get-media-buys-response.json schema"
|
|
648
|
+
- check: field_equals_context
|
|
649
|
+
path: "media_buys[0].media_buy_id"
|
|
650
|
+
context_key: "product_scoped_media_buy_id"
|
|
651
|
+
description: "Read response returns the created product-scoped media buy"
|
|
652
|
+
- check: field_equals_context
|
|
653
|
+
path: "media_buys[0].packages[0].package_id"
|
|
654
|
+
context_key: "product_scoped_package_id"
|
|
655
|
+
description: "Read response returns the created product-scoped package"
|
|
656
|
+
- check: field_value
|
|
657
|
+
path: "media_buys[0].packages[0].creative_approvals[0].creative_id"
|
|
658
|
+
value: "acme-inline-product-scoped-display-v2"
|
|
659
|
+
description: "Read response reflects the product-scoped replacement inline creative on the package approval-state surface"
|
|
660
|
+
- check: field_value
|
|
661
|
+
path: "context.correlation_id"
|
|
662
|
+
value: "inline_creatives_without_sync--get_product_scoped_media_buy"
|
|
663
|
+
description: "Context correlation_id returned unchanged"
|
|
664
|
+
|
|
665
|
+
- id: canonical_publisher_scoped_inline_path
|
|
666
|
+
title: "Inline creative path using a publisher-catalog format option ref"
|
|
667
|
+
depends_on: [capability_discovery]
|
|
668
|
+
skip_if: "!context.canonical_declaration.format_option_id || !context.canonical_declaration.publisher_domain"
|
|
669
|
+
narrative: |
|
|
670
|
+
Covers the seller whose first canonical declaration is publisher-catalog-backed.
|
|
671
|
+
product-format-declaration.json makes such an option addressable only by the
|
|
672
|
+
complete {publisher_domain, format_option_id} pair, and format-option-ref.json's
|
|
673
|
+
product-local branch forbids publisher_domain outright - so a product-scoped ref
|
|
674
|
+
would be unresolvable here and a correct seller would reject it with
|
|
675
|
+
UNSUPPORTED_FEATURE. The ref is built from the captured declaration, which keeps
|
|
676
|
+
that identity pair intact.
|
|
677
|
+
|
|
678
|
+
Not optional: once canonical discovery captured a publisher-backed option, inline
|
|
679
|
+
create, update and readback on this representation must work.
|
|
680
|
+
|
|
681
|
+
steps:
|
|
682
|
+
|
|
683
|
+
- id: create_buy_with_publisher_scoped_inline_creative
|
|
684
|
+
title: "Create media buy with publisher-scoped inline creative"
|
|
685
|
+
task: create_media_buy
|
|
686
|
+
schema_ref: "media-buy/create-media-buy-request.json"
|
|
687
|
+
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
688
|
+
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
689
|
+
comply_scenario: create_media_buy
|
|
690
|
+
stateful: true
|
|
691
|
+
expected: |
|
|
692
|
+
Accept the media buy and attach the inline creative to the package.
|
|
693
|
+
The response should include the package and preserve package context.
|
|
694
|
+
sample_request:
|
|
695
|
+
brand:
|
|
696
|
+
domain: "acmeoutdoor.example"
|
|
697
|
+
account:
|
|
698
|
+
brand:
|
|
699
|
+
domain: "acmeoutdoor.example"
|
|
700
|
+
operator: "pinnacle-agency.example"
|
|
701
|
+
idempotency_key: "$generate:uuid_v4#inline_creatives_without_sync_create_publisher_scoped"
|
|
702
|
+
start_time: "asap"
|
|
703
|
+
end_time: "2099-09-30T23:59:59Z"
|
|
704
|
+
packages:
|
|
705
|
+
- product_id: "$context.canonical_product_id"
|
|
706
|
+
budget: 7500
|
|
707
|
+
pricing_option_id: "$context.canonical_pricing_option_id"
|
|
708
|
+
format_option_refs:
|
|
709
|
+
# The whole captured declaration becomes the ref. Both
|
|
710
|
+
# format-option-ref.json branches are additionalProperties: true, so the
|
|
711
|
+
# declaration's seller-side extras (params, display_name,
|
|
712
|
+
# seller_preference, v1_format_ref) ride along legally and are inert:
|
|
713
|
+
# package-request.json resolves the ref by id, not by these fields. This
|
|
714
|
+
# keeps the {publisher_domain, format_option_id} identity pair coherent
|
|
715
|
+
# rather than rebuilding it from separately captured leaves.
|
|
716
|
+
#
|
|
717
|
+
# `scope` is the one field no get_products response can supply. A whole
|
|
718
|
+
# object substitution puts the declaration here, but the template DSL
|
|
719
|
+
# has no object-spread or projection, so it cannot ALSO add a literal
|
|
720
|
+
# sibling key in the same expression. context_inputs is the supported
|
|
721
|
+
# way to add exactly that one key - not a workaround for an SDK defect.
|
|
722
|
+
# Verified with @adcp/sdk 15.8.1 and 15.9.2: context_inputs clones the
|
|
723
|
+
# request before writing, so the captured declaration is not mutated.
|
|
724
|
+
- "$context.canonical_declaration"
|
|
725
|
+
context:
|
|
726
|
+
buyer_ref: "inline-creative-publisher-scoped-line-001"
|
|
727
|
+
creatives:
|
|
728
|
+
- creative_id: "acme-inline-publisher-scoped-display-v1"
|
|
729
|
+
name: "Acme Outdoor inline publisher-scoped display v1"
|
|
730
|
+
format_kind: "$context.canonical_format_kind"
|
|
731
|
+
assets:
|
|
732
|
+
image:
|
|
733
|
+
asset_type: "image"
|
|
734
|
+
url: "https://test-assets.adcontextprotocol.org/acme-outdoor/hero-master.jpg"
|
|
735
|
+
width: 300
|
|
736
|
+
height: 250
|
|
737
|
+
mime_type: "image/jpeg"
|
|
738
|
+
click_url:
|
|
739
|
+
asset_type: "url"
|
|
740
|
+
url: "https://acmeoutdoor.example/q3"
|
|
741
|
+
context:
|
|
742
|
+
correlation_id: "inline_creatives_without_sync--create_publisher_scoped"
|
|
743
|
+
context_inputs:
|
|
744
|
+
- key: "format_option_scope_publisher"
|
|
745
|
+
inject_at: "packages[0].format_option_refs[0].scope"
|
|
746
|
+
context_outputs:
|
|
747
|
+
- path: "media_buy_id"
|
|
748
|
+
key: "publisher_scoped_media_buy_id"
|
|
749
|
+
- path: "packages[0].package_id"
|
|
750
|
+
key: "publisher_scoped_package_id"
|
|
751
|
+
validations:
|
|
752
|
+
- check: response_schema
|
|
753
|
+
description: "Response matches create-media-buy-response.json schema"
|
|
754
|
+
- check: field_present
|
|
755
|
+
path: "media_buy_id"
|
|
756
|
+
description: "Seller assigns a media_buy_id"
|
|
757
|
+
- check: field_present
|
|
758
|
+
path: "packages[0].package_id"
|
|
759
|
+
description: "Seller assigns a package_id"
|
|
760
|
+
- check: field_value
|
|
761
|
+
path: "packages[0].context.buyer_ref"
|
|
762
|
+
value: "inline-creative-publisher-scoped-line-001"
|
|
763
|
+
description: "Created package echoes package-level context for correlation"
|
|
764
|
+
- check: field_value
|
|
765
|
+
path: "context.correlation_id"
|
|
766
|
+
value: "inline_creatives_without_sync--create_publisher_scoped"
|
|
767
|
+
description: "Context correlation_id returned unchanged"
|
|
768
|
+
|
|
769
|
+
- id: update_buy_with_replacement_publisher_scoped_inline_creative
|
|
770
|
+
title: "Replace publisher-scoped inline creative"
|
|
771
|
+
task: update_media_buy
|
|
772
|
+
schema_ref: "media-buy/update-media-buy-request.json"
|
|
773
|
+
response_schema_ref: "media-buy/update-media-buy-response.json"
|
|
774
|
+
doc_ref: "/media-buy/task-reference/update_media_buy"
|
|
775
|
+
comply_scenario: media_buy_lifecycle
|
|
776
|
+
stateful: true
|
|
777
|
+
expected: |
|
|
778
|
+
Replace the package's inline creative body with the new creative_id and
|
|
779
|
+
return the affected package. The replacement creative is verified on
|
|
780
|
+
the standardized creative_approvals readback surface below.
|
|
781
|
+
sample_request:
|
|
782
|
+
account:
|
|
783
|
+
brand:
|
|
784
|
+
domain: "acmeoutdoor.example"
|
|
785
|
+
operator: "pinnacle-agency.example"
|
|
786
|
+
media_buy_id: "$context.publisher_scoped_media_buy_id"
|
|
787
|
+
packages:
|
|
788
|
+
- package_id: "$context.publisher_scoped_package_id"
|
|
789
|
+
creatives:
|
|
790
|
+
- creative_id: "acme-inline-publisher-scoped-display-v2"
|
|
791
|
+
name: "Acme Outdoor inline publisher-scoped display v2"
|
|
792
|
+
format_kind: "$context.canonical_format_kind"
|
|
793
|
+
assets:
|
|
794
|
+
image:
|
|
795
|
+
asset_type: "image"
|
|
796
|
+
url: "https://test-assets.adcontextprotocol.org/acme-outdoor/hero-alt.jpg"
|
|
797
|
+
width: 300
|
|
798
|
+
height: 250
|
|
799
|
+
mime_type: "image/jpeg"
|
|
800
|
+
click_url:
|
|
801
|
+
asset_type: "url"
|
|
802
|
+
url: "https://acmeoutdoor.example/q3-refresh"
|
|
803
|
+
idempotency_key: "$generate:uuid_v4#inline_creatives_without_sync_update_publisher_scoped"
|
|
804
|
+
context:
|
|
805
|
+
correlation_id: "inline_creatives_without_sync--update_publisher_scoped"
|
|
806
|
+
validations:
|
|
807
|
+
- check: response_schema
|
|
808
|
+
description: "Response matches update-media-buy-response.json schema"
|
|
809
|
+
- check: field_equals_context
|
|
810
|
+
path: "media_buy_id"
|
|
811
|
+
context_key: "publisher_scoped_media_buy_id"
|
|
812
|
+
description: "Update response references the same media buy"
|
|
813
|
+
- check: field_equals_context
|
|
814
|
+
path: "affected_packages[0].package_id"
|
|
815
|
+
context_key: "publisher_scoped_package_id"
|
|
816
|
+
description: "Update response includes the affected package"
|
|
817
|
+
- check: field_contains
|
|
818
|
+
path: "affected_packages[*]"
|
|
819
|
+
value:
|
|
820
|
+
package_id: "$context.publisher_scoped_package_id"
|
|
821
|
+
product_id: "$context.canonical_product_id"
|
|
822
|
+
pricing_option_id: "$context.canonical_pricing_option_id"
|
|
823
|
+
budget: 7500
|
|
824
|
+
context:
|
|
825
|
+
buyer_ref: "inline-creative-publisher-scoped-line-001"
|
|
826
|
+
description: "Affected package includes complete post-update package state for the publisher-scoped inline creative line"
|
|
827
|
+
- check: field_value
|
|
828
|
+
path: "context.correlation_id"
|
|
829
|
+
value: "inline_creatives_without_sync--update_publisher_scoped"
|
|
830
|
+
description: "Context correlation_id returned unchanged"
|
|
831
|
+
|
|
832
|
+
- id: get_publisher_scoped_media_buy_after_inline_replacement
|
|
833
|
+
title: "Read publisher-scoped media buy after inline replacement"
|
|
834
|
+
contributes_to: inline_creative_path_exercised
|
|
835
|
+
task: get_media_buys
|
|
836
|
+
schema_ref: "media-buy/get-media-buys-request.json"
|
|
837
|
+
response_schema_ref: "media-buy/get-media-buys-response.json"
|
|
838
|
+
doc_ref: "/media-buy/task-reference/get_media_buys"
|
|
839
|
+
comply_scenario: media_buy_lifecycle
|
|
840
|
+
stateful: true
|
|
841
|
+
expected: |
|
|
842
|
+
Return the publisher-scoped-path media buy with package approval state for
|
|
843
|
+
the replacement inline creative. The full CreativeAsset body is not
|
|
844
|
+
required on this read surface.
|
|
845
|
+
|
|
846
|
+
sample_request:
|
|
847
|
+
account:
|
|
848
|
+
brand:
|
|
849
|
+
domain: "acmeoutdoor.example"
|
|
850
|
+
operator: "pinnacle-agency.example"
|
|
851
|
+
media_buy_ids:
|
|
852
|
+
- "$context.publisher_scoped_media_buy_id"
|
|
853
|
+
context:
|
|
854
|
+
correlation_id: "inline_creatives_without_sync--get_publisher_scoped_media_buy"
|
|
855
|
+
validations:
|
|
856
|
+
- check: response_schema
|
|
857
|
+
description: "Response matches get-media-buys-response.json schema"
|
|
858
|
+
- check: field_equals_context
|
|
859
|
+
path: "media_buys[0].media_buy_id"
|
|
860
|
+
context_key: "publisher_scoped_media_buy_id"
|
|
861
|
+
description: "Read response returns the created publisher-scoped media buy"
|
|
862
|
+
- check: field_equals_context
|
|
863
|
+
path: "media_buys[0].packages[0].package_id"
|
|
864
|
+
context_key: "publisher_scoped_package_id"
|
|
865
|
+
description: "Read response returns the created publisher-scoped package"
|
|
866
|
+
- check: field_value
|
|
867
|
+
path: "media_buys[0].packages[0].creative_approvals[0].creative_id"
|
|
868
|
+
value: "acme-inline-publisher-scoped-display-v2"
|
|
869
|
+
description: "Read response reflects the publisher-scoped replacement inline creative on the package approval-state surface"
|
|
870
|
+
- check: field_value
|
|
871
|
+
path: "context.correlation_id"
|
|
872
|
+
value: "inline_creatives_without_sync--get_publisher_scoped_media_buy"
|
|
873
|
+
description: "Context correlation_id returned unchanged"
|
|
874
|
+
|
|
875
|
+
- id: legacy_format_discovery
|
|
876
|
+
title: "Discover a product option through format_ids"
|
|
877
|
+
optional: true
|
|
878
|
+
depends_on: [capability_discovery]
|
|
879
|
+
narrative: |
|
|
880
|
+
A seller may still publish products through legacy format_ids[]. This phase
|
|
881
|
+
captures the product, its pricing option and its legacy format reference from
|
|
882
|
+
one response. A seller publishing only canonical format_options[] has nothing
|
|
883
|
+
to capture here and is graded on a canonical path instead.
|
|
884
|
+
|
|
885
|
+
This probe does NOT narrow by canonical kind, and on 3.1 it could not: this
|
|
886
|
+
line's product-filters.json defines no canonical-kind filter, so neither this
|
|
887
|
+
probe nor canonical discovery narrows that way. The omission is deliberate
|
|
888
|
+
regardless of the schema. A legacy format is matched to a canonical kind only
|
|
889
|
+
once it has been projected - through `canonical`, `v1_format_ref`, or the
|
|
890
|
+
canonical mapping registry. A NON-projectable legacy format has no such
|
|
891
|
+
projection, so there is no canonical kind it can honestly be said to accept.
|
|
892
|
+
Narrowing by kind would therefore exclude exactly the legacy-only population
|
|
893
|
+
this scenario exists to serve. No canonical projection is invented for it.
|
|
894
|
+
|
|
895
|
+
Applicability is stated here instead: the buyer submits a 300x250 image creative
|
|
896
|
+
on this path, so rank a product whose format_ids[0] accepts that creative first
|
|
897
|
+
for this brief. A product selected here that cannot take a 300x250 image is
|
|
898
|
+
rejected on create, and this phase is graded.
|
|
899
|
+
|
|
900
|
+
steps:
|
|
901
|
+
|
|
902
|
+
- id: get_products_legacy_format
|
|
903
|
+
title: "Discover a product with format_ids"
|
|
904
|
+
task: get_products
|
|
905
|
+
schema_ref: "media-buy/get-products-request.json"
|
|
906
|
+
response_schema_ref: "media-buy/get-products-response.json"
|
|
907
|
+
doc_ref: "/media-buy/task-reference/get_products"
|
|
908
|
+
comply_scenario: full_sales_flow
|
|
909
|
+
stateful: false
|
|
910
|
+
expected: |
|
|
911
|
+
Return at least one fixed-price product with a pricing option and a
|
|
912
|
+
concrete format_id that can be used by the inline CreativeAsset.
|
|
913
|
+
sample_request:
|
|
914
|
+
idempotency_key: "$generate:uuid_v4#media_buy_seller_inline_creatives_without_sync_legacy_format_inline_path_get_products_legacy_format"
|
|
915
|
+
buying_mode: "brief"
|
|
916
|
+
brief: "Display inventory on outdoor lifestyle content. Q3 flight with buyer-supplied inline creative."
|
|
917
|
+
filters:
|
|
918
|
+
is_fixed_price: true
|
|
919
|
+
account:
|
|
920
|
+
brand:
|
|
921
|
+
domain: "acmeoutdoor.example"
|
|
922
|
+
operator: "pinnacle-agency.example"
|
|
923
|
+
context:
|
|
924
|
+
correlation_id: "inline_creatives_without_sync--get_products_legacy"
|
|
925
|
+
context_outputs:
|
|
926
|
+
- path: "products[0].product_id"
|
|
927
|
+
key: "legacy_product_id"
|
|
928
|
+
- path: "products[0].pricing_options[0].pricing_option_id"
|
|
929
|
+
key: "legacy_pricing_option_id"
|
|
930
|
+
- path: "products[0].format_ids[0]"
|
|
931
|
+
key: "legacy_format_id"
|
|
932
|
+
# Gate key: capturing the id leaf separately means a format_ids[0] with no
|
|
933
|
+
# id leaves the gate closed instead of opening it onto an unusable reference.
|
|
934
|
+
- path: "products[0].format_ids[0].id"
|
|
935
|
+
key: "legacy_format_id_value"
|
|
936
|
+
validations:
|
|
937
|
+
- check: response_schema
|
|
938
|
+
description: "Response matches get-products-response.json schema"
|
|
939
|
+
- check: field_present
|
|
940
|
+
path: "products[0].format_ids[0].id"
|
|
941
|
+
description: "EXPECTED AND NON-GATING for a canonical-only seller: format_ids is deprecated in 3.2 and a product carrying format_options[] alone is conformant, so a red here means the legacy path below is standing down and no action is required. It is graded only so an advertised legacy representation cannot skip silently."
|
|
942
|
+
- check: field_present
|
|
943
|
+
path: "products[0].pricing_options[0].fixed_price"
|
|
944
|
+
description: "The captured pricing option is fixed-price; fixed-price storyboards do not send bid_price"
|
|
945
|
+
- check: field_value
|
|
946
|
+
path: "context.correlation_id"
|
|
947
|
+
value: "inline_creatives_without_sync--get_products_legacy"
|
|
948
|
+
description: "Context correlation_id returned unchanged"
|
|
949
|
+
|
|
950
|
+
# Deliberately NOT optional and with no branch_set: the discovery phases above
|
|
951
|
+
# absorb "this seller does not publish that representation"; this phase only runs
|
|
952
|
+
# when the representation WAS captured, so a failure here is a real one. Adding
|
|
953
|
+
# optional/branch_set would regrade it peer_branch_taken and re-hide it.
|
|
954
|
+
- id: legacy_format_inline_path
|
|
955
|
+
title: "Inline creative path using format_ids"
|
|
956
|
+
depends_on: [capability_discovery]
|
|
957
|
+
skip_if: "!context.legacy_format_id_value"
|
|
958
|
+
narrative: |
|
|
959
|
+
Runs only when legacy_format_discovery captured a usable legacy format
|
|
960
|
+
reference, and buys with the product, pricing option and reference captured
|
|
961
|
+
from that same response. Not optional: once the seller advertises this
|
|
962
|
+
representation, inline create, update and readback on it must work.
|
|
963
|
+
|
|
964
|
+
steps:
|
|
965
|
+
|
|
966
|
+
- id: create_buy_with_legacy_inline_creative
|
|
967
|
+
title: "Create media buy with legacy inline creative"
|
|
968
|
+
task: create_media_buy
|
|
969
|
+
schema_ref: "media-buy/create-media-buy-request.json"
|
|
970
|
+
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
971
|
+
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
972
|
+
comply_scenario: create_media_buy
|
|
973
|
+
stateful: true
|
|
974
|
+
expected: |
|
|
975
|
+
Accept the media buy and attach the inline creative to the package.
|
|
976
|
+
The response should include the package and preserve package context.
|
|
977
|
+
sample_request:
|
|
978
|
+
brand:
|
|
979
|
+
domain: "acmeoutdoor.example"
|
|
980
|
+
account:
|
|
981
|
+
brand:
|
|
982
|
+
domain: "acmeoutdoor.example"
|
|
983
|
+
operator: "pinnacle-agency.example"
|
|
984
|
+
idempotency_key: "$generate:uuid_v4#inline_creatives_without_sync_create_legacy"
|
|
985
|
+
start_time: "asap"
|
|
986
|
+
end_time: "2099-09-30T23:59:59Z"
|
|
987
|
+
packages:
|
|
988
|
+
- product_id: "$context.legacy_product_id"
|
|
989
|
+
budget: 7500
|
|
990
|
+
pricing_option_id: "$context.legacy_pricing_option_id"
|
|
991
|
+
context:
|
|
992
|
+
buyer_ref: "inline-creative-legacy-line-001"
|
|
993
|
+
creatives:
|
|
994
|
+
- creative_id: "acme-inline-legacy-display-v1"
|
|
995
|
+
name: "Acme Outdoor inline legacy display v1"
|
|
996
|
+
format_id: "$context.legacy_format_id"
|
|
997
|
+
assets:
|
|
998
|
+
image:
|
|
999
|
+
asset_type: "image"
|
|
1000
|
+
url: "https://test-assets.adcontextprotocol.org/acme-outdoor/hero-master.jpg"
|
|
1001
|
+
width: 300
|
|
1002
|
+
height: 250
|
|
1003
|
+
mime_type: "image/jpeg"
|
|
1004
|
+
click_url:
|
|
1005
|
+
asset_type: "url"
|
|
1006
|
+
url: "https://acmeoutdoor.example/q3"
|
|
1007
|
+
context:
|
|
1008
|
+
correlation_id: "inline_creatives_without_sync--create_legacy"
|
|
1009
|
+
context_outputs:
|
|
1010
|
+
- path: "media_buy_id"
|
|
1011
|
+
key: "legacy_media_buy_id"
|
|
1012
|
+
- path: "packages[0].package_id"
|
|
1013
|
+
key: "legacy_package_id"
|
|
1014
|
+
validations:
|
|
1015
|
+
- check: response_schema
|
|
1016
|
+
description: "Response matches create-media-buy-response.json schema"
|
|
1017
|
+
- check: field_present
|
|
1018
|
+
path: "media_buy_id"
|
|
1019
|
+
description: "Seller assigns a media_buy_id"
|
|
1020
|
+
- check: field_present
|
|
1021
|
+
path: "packages[0].package_id"
|
|
1022
|
+
description: "Seller assigns a package_id"
|
|
1023
|
+
- check: field_value
|
|
1024
|
+
path: "packages[0].context.buyer_ref"
|
|
1025
|
+
value: "inline-creative-legacy-line-001"
|
|
1026
|
+
description: "Created package echoes package-level context for correlation"
|
|
1027
|
+
- check: field_value
|
|
1028
|
+
path: "context.correlation_id"
|
|
1029
|
+
value: "inline_creatives_without_sync--create_legacy"
|
|
1030
|
+
description: "Context correlation_id returned unchanged"
|
|
1031
|
+
|
|
1032
|
+
- id: update_buy_with_replacement_legacy_inline_creative
|
|
1033
|
+
title: "Replace legacy inline creative"
|
|
1034
|
+
task: update_media_buy
|
|
1035
|
+
schema_ref: "media-buy/update-media-buy-request.json"
|
|
1036
|
+
response_schema_ref: "media-buy/update-media-buy-response.json"
|
|
1037
|
+
doc_ref: "/media-buy/task-reference/update_media_buy"
|
|
1038
|
+
comply_scenario: media_buy_lifecycle
|
|
1039
|
+
stateful: true
|
|
1040
|
+
expected: |
|
|
1041
|
+
Replace the package's inline creative body with the new creative_id and
|
|
1042
|
+
return the affected package. The replacement creative is verified on
|
|
1043
|
+
the standardized creative_approvals readback surface below.
|
|
1044
|
+
sample_request:
|
|
1045
|
+
account:
|
|
1046
|
+
brand:
|
|
1047
|
+
domain: "acmeoutdoor.example"
|
|
1048
|
+
operator: "pinnacle-agency.example"
|
|
1049
|
+
media_buy_id: "$context.legacy_media_buy_id"
|
|
1050
|
+
packages:
|
|
1051
|
+
- package_id: "$context.legacy_package_id"
|
|
1052
|
+
creatives:
|
|
1053
|
+
- creative_id: "acme-inline-legacy-display-v2"
|
|
1054
|
+
name: "Acme Outdoor inline legacy display v2"
|
|
1055
|
+
format_id: "$context.legacy_format_id"
|
|
1056
|
+
assets:
|
|
1057
|
+
image:
|
|
1058
|
+
asset_type: "image"
|
|
1059
|
+
url: "https://test-assets.adcontextprotocol.org/acme-outdoor/hero-alt.jpg"
|
|
1060
|
+
width: 300
|
|
1061
|
+
height: 250
|
|
1062
|
+
mime_type: "image/jpeg"
|
|
1063
|
+
click_url:
|
|
1064
|
+
asset_type: "url"
|
|
1065
|
+
url: "https://acmeoutdoor.example/q3-refresh"
|
|
1066
|
+
idempotency_key: "$generate:uuid_v4#inline_creatives_without_sync_update_legacy"
|
|
1067
|
+
context:
|
|
1068
|
+
correlation_id: "inline_creatives_without_sync--update_legacy"
|
|
1069
|
+
validations:
|
|
1070
|
+
- check: response_schema
|
|
1071
|
+
description: "Response matches update-media-buy-response.json schema"
|
|
1072
|
+
- check: field_equals_context
|
|
1073
|
+
path: "media_buy_id"
|
|
1074
|
+
context_key: "legacy_media_buy_id"
|
|
1075
|
+
description: "Update response references the same media buy"
|
|
1076
|
+
- check: field_equals_context
|
|
1077
|
+
path: "affected_packages[0].package_id"
|
|
1078
|
+
context_key: "legacy_package_id"
|
|
1079
|
+
description: "Update response includes the affected package"
|
|
1080
|
+
- check: field_contains
|
|
1081
|
+
path: "affected_packages[*]"
|
|
1082
|
+
value:
|
|
1083
|
+
package_id: "$context.legacy_package_id"
|
|
1084
|
+
product_id: "$context.legacy_product_id"
|
|
1085
|
+
pricing_option_id: "$context.legacy_pricing_option_id"
|
|
1086
|
+
budget: 7500
|
|
1087
|
+
context:
|
|
1088
|
+
buyer_ref: "inline-creative-legacy-line-001"
|
|
1089
|
+
description: "Affected package includes complete post-update package state for the legacy inline creative line"
|
|
1090
|
+
- check: field_value
|
|
1091
|
+
path: "context.correlation_id"
|
|
1092
|
+
value: "inline_creatives_without_sync--update_legacy"
|
|
1093
|
+
description: "Context correlation_id returned unchanged"
|
|
1094
|
+
|
|
1095
|
+
- id: get_legacy_media_buy_after_inline_replacement
|
|
1096
|
+
title: "Read legacy media buy after inline replacement"
|
|
1097
|
+
contributes_to: inline_creative_path_exercised
|
|
1098
|
+
task: get_media_buys
|
|
1099
|
+
schema_ref: "media-buy/get-media-buys-request.json"
|
|
1100
|
+
response_schema_ref: "media-buy/get-media-buys-response.json"
|
|
1101
|
+
doc_ref: "/media-buy/task-reference/get_media_buys"
|
|
1102
|
+
comply_scenario: media_buy_lifecycle
|
|
1103
|
+
stateful: true
|
|
1104
|
+
expected: |
|
|
1105
|
+
Return the legacy-path media buy with package approval state for the
|
|
1106
|
+
replacement inline creative. The full CreativeAsset body is not
|
|
1107
|
+
required on this read surface.
|
|
1108
|
+
|
|
1109
|
+
sample_request:
|
|
1110
|
+
account:
|
|
1111
|
+
brand:
|
|
1112
|
+
domain: "acmeoutdoor.example"
|
|
1113
|
+
operator: "pinnacle-agency.example"
|
|
1114
|
+
media_buy_ids:
|
|
1115
|
+
- "$context.legacy_media_buy_id"
|
|
1116
|
+
context:
|
|
1117
|
+
correlation_id: "inline_creatives_without_sync--get_legacy_media_buy"
|
|
1118
|
+
validations:
|
|
1119
|
+
- check: response_schema
|
|
1120
|
+
description: "Response matches get-media-buys-response.json schema"
|
|
1121
|
+
- check: field_equals_context
|
|
1122
|
+
path: "media_buys[0].media_buy_id"
|
|
1123
|
+
context_key: "legacy_media_buy_id"
|
|
1124
|
+
description: "Read response returns the created legacy media buy"
|
|
1125
|
+
- check: field_equals_context
|
|
1126
|
+
path: "media_buys[0].packages[0].package_id"
|
|
1127
|
+
context_key: "legacy_package_id"
|
|
1128
|
+
description: "Read response returns the created legacy package"
|
|
1129
|
+
- check: field_value
|
|
1130
|
+
path: "media_buys[0].packages[0].creative_approvals[0].creative_id"
|
|
1131
|
+
value: "acme-inline-legacy-display-v2"
|
|
1132
|
+
description: "Read response reflects the legacy replacement inline creative on the package approval-state surface"
|
|
1133
|
+
- check: field_value
|
|
1134
|
+
path: "context.correlation_id"
|
|
1135
|
+
value: "inline_creatives_without_sync--get_legacy_media_buy"
|
|
1136
|
+
description: "Context correlation_id returned unchanged"
|
|
1137
|
+
|
|
1138
|
+
- id: verify_format_coverage
|
|
1139
|
+
title: "Require a complete inline creative path"
|
|
1140
|
+
depends_on: []
|
|
1141
|
+
narrative: |
|
|
1142
|
+
Skipping a format path the seller does not advertise is expected; skipping
|
|
1143
|
+
every path is not. This assertion is the scenario's only coverage gate: it fails
|
|
1144
|
+
when no path completed create, update and readback, so a run in which every path
|
|
1145
|
+
stood down cannot be graded as passing.
|
|
1146
|
+
|
|
1147
|
+
steps:
|
|
1148
|
+
- id: assert_inline_creative_path
|
|
1149
|
+
title: "Require a completed inline creative path"
|
|
1150
|
+
task: assert_contribution
|
|
1151
|
+
stateful: false
|
|
1152
|
+
expected: |
|
|
1153
|
+
At least one of canonical_product_scoped_inline_path,
|
|
1154
|
+
canonical_publisher_scoped_inline_path,
|
|
1155
|
+
canonical_unnamed_option_inline_path or legacy_format_inline_path
|
|
1156
|
+
contributed inline_creative_path_exercised.
|
|
1157
|
+
validations:
|
|
1158
|
+
- id: inline_creative_path_coverage
|
|
1159
|
+
check: any_of
|
|
1160
|
+
allowed_values: [inline_creative_path_exercised]
|
|
1161
|
+
description: "No format path completed create, update, and readback. If a path above failed, that failure is the cause - fix it there; this check is only the summary. If every path stood down instead, neither discovery gate closed on a usable product: the canonical paths need products[0] of the canonical get_products response to carry a fixed_price pricing option and a format_options[0] declaration, and the legacy path needs products[0] of its own response to carry a fixed_price pricing option and format_ids[0].id. A product that declares formats can still close every gate by returning no fixed_price pricing option first, or by carrying a format_options[0] declaration whose format_kind is not image - this fixture's creative is a 300x250 image, so the canonical probe asserts that kind and stands the canonical lanes down when it differs."
|