@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/server/wire-spec-fields.generated.ts"],"sourcesContent":["// AUTO-GENERATED by scripts/generate-wire-spec-fields.ts. DO NOT EDIT.\n// Source: schemas/cache/3.1.24/**/*-request.json\n// Generated at: 2026-09-28T12:35:35.257Z\n\nimport type {\n AcquireRightsRequest,\n ActivateSignalRequest,\n BuildCreativeRequest,\n CalibrateContentRequest,\n CreateCollectionListRequest,\n CreateContentStandardsRequest,\n CreateMediaBuyRequest,\n CreatePropertyListRequest,\n DeleteCollectionListRequest,\n DeletePropertyListRequest,\n GetMediaBuyDeliveryRequest,\n LogEventRequest,\n ProvidePerformanceFeedbackRequest,\n ReportPlanOutcomeRequest,\n ReportUsageRequest,\n SIInitiateSessionRequest,\n SISendMessageRequest,\n SyncAccountsRequest,\n SyncAudiencesRequest,\n SyncCatalogsRequest,\n SyncCreativesRequest,\n SyncEventSourcesRequest,\n SyncGovernanceRequest,\n SyncPlansRequest,\n UpdateCollectionListRequest,\n UpdateContentStandardsRequest,\n UpdateMediaBuyRequest,\n UpdatePropertyListRequest,\n UpdateRightsRequest,\n} from '../types';\n\n/**\n * Wire-spec field allowlists per request type. The `fields` values\n * are exact top-level property names from the AdCP request JSON\n * schemas; `pickWireSpecFields(req, schemaName)` uses them to strip\n * buyer-controlled args to schema-spec fields at the operational\n * fan-out boundary. Drift between this map and the schemas is\n * impossible by construction — both are emitted from the same\n * codegen pass.\n *\n * The `__type` phantom is type-only (`null as unknown as T`) — it\n * carries the wire-spec request shape so `pickWireSpecFields`'s\n * return type narrows per `schemaName`. Runtime cost: one null\n * property per entry.\n *\n * Arrays and entry objects are runtime-frozen via `Object.freeze`\n * so a misbehaving dependency cannot widen the scrub via prototype\n * pollution or shared-state mutation of the allowlist.\n */\nexport const WIRE_SPEC_FIELDS = Object.freeze({\n /** schemas/cache/3.1.24/brand/acquire-rights-request.json */\n AcquireRightsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"buyer\",\"campaign\",\"context\",\"ext\",\"idempotency_key\",\"pricing_option_id\",\"push_notification_config\",\"revocation_webhook\",\"rights_id\"]) as readonly string[],\n __type: null as unknown as AcquireRightsRequest,\n }),\n /** schemas/cache/3.1.24/signals/activate-signal-request.json */\n ActivateSignalRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"action\",\"context\",\"destinations\",\"ext\",\"governance_context\",\"idempotency_key\",\"pricing_option_id\",\"signal_agent_segment_id\"]) as readonly string[],\n __type: null as unknown as ActivateSignalRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/build-creative-request.json */\n BuildCreativeRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"brand\",\"concept_id\",\"config\",\"context\",\"creative_id\",\"creative_manifest\",\"evaluator\",\"ext\",\"idempotency_key\",\"include_preview\",\"item_limit\",\"keep_mode\",\"macro_values\",\"max_creatives\",\"max_spend\",\"max_variants\",\"media_buy_id\",\"message\",\"mode\",\"package_id\",\"preview_inputs\",\"preview_output_format\",\"preview_quality\",\"push_notification_config\",\"quality\",\"refine_from_build_variant_id\",\"selection_strategy\",\"signal_conditions\",\"target_format_id\",\"target_format_ids\",\"transformer_id\",\"variant_axis\"]) as readonly string[],\n __type: null as unknown as BuildCreativeRequest,\n }),\n /** schemas/cache/3.1.24/content-standards/calibrate-content-request.json */\n CalibrateContentRequest: Object.freeze({\n fields: Object.freeze([\"artifact\",\"context\",\"ext\",\"idempotency_key\",\"standards_id\"]) as readonly string[],\n __type: null as unknown as CalibrateContentRequest,\n }),\n /** schemas/cache/3.1.24/collection/create-collection-list-request.json */\n CreateCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_collections\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"name\"]) as readonly string[],\n __type: null as unknown as CreateCollectionListRequest,\n }),\n /** schemas/cache/3.1.24/content-standards/create-content-standards-request.json */\n CreateContentStandardsRequest: Object.freeze({\n fields: Object.freeze([\"calibration_exemplars\",\"context\",\"ext\",\"idempotency_key\",\"policies\",\"registry_policy_ids\",\"scope\"]) as readonly string[],\n __type: null as unknown as CreateContentStandardsRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/create-media-buy-request.json */\n CreateMediaBuyRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"advertiser_industry\",\"agency_estimate_number\",\"artifact_webhook\",\"brand\",\"context\",\"end_time\",\"ext\",\"idempotency_key\",\"invoice_recipient\",\"io_acceptance\",\"packages\",\"paused\",\"plan_id\",\"po_number\",\"proposal_id\",\"push_notification_config\",\"reporting_webhook\",\"start_time\",\"total_budget\"]) as readonly string[],\n __type: null as unknown as CreateMediaBuyRequest,\n }),\n /** schemas/cache/3.1.24/property/create-property-list-request.json */\n CreatePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_properties\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"name\"]) as readonly string[],\n __type: null as unknown as CreatePropertyListRequest,\n }),\n /** schemas/cache/3.1.24/collection/delete-collection-list-request.json */\n DeleteCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"ext\",\"idempotency_key\",\"list_id\"]) as readonly string[],\n __type: null as unknown as DeleteCollectionListRequest,\n }),\n /** schemas/cache/3.1.24/property/delete-property-list-request.json */\n DeletePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"ext\",\"idempotency_key\",\"list_id\"]) as readonly string[],\n __type: null as unknown as DeletePropertyListRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/get-media-buy-delivery-request.json */\n GetMediaBuyDeliveryRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"attribution_window\",\"context\",\"end_date\",\"ext\",\"include_package_daily_breakdown\",\"include_window_breakdown\",\"media_buy_ids\",\"reporting_dimensions\",\"start_date\",\"status_filter\",\"time_granularity\"]) as readonly string[],\n __type: null as unknown as GetMediaBuyDeliveryRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/log-event-request.json */\n LogEventRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"event_source_id\",\"events\",\"ext\",\"idempotency_key\",\"test_event_code\"]) as readonly string[],\n __type: null as unknown as LogEventRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/provide-performance-feedback-request.json */\n ProvidePerformanceFeedbackRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"creative_id\",\"ext\",\"feedback_source\",\"idempotency_key\",\"measurement_period\",\"media_buy_id\",\"metric_type\",\"package_id\",\"performance_index\"]) as readonly string[],\n __type: null as unknown as ProvidePerformanceFeedbackRequest,\n }),\n /** schemas/cache/3.1.24/governance/report-plan-outcome-request.json */\n ReportPlanOutcomeRequest: Object.freeze({\n fields: Object.freeze([\"check_id\",\"context\",\"delivery\",\"error\",\"ext\",\"governance_context\",\"idempotency_key\",\"outcome\",\"plan_id\",\"purchase_type\",\"seller_response\"]) as readonly string[],\n __type: null as unknown as ReportPlanOutcomeRequest,\n }),\n /** schemas/cache/3.1.24/account/report-usage-request.json */\n ReportUsageRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"reporting_period\",\"usage\"]) as readonly string[],\n __type: null as unknown as ReportUsageRequest,\n }),\n /** schemas/cache/3.1.24/sponsored-intelligence/si-initiate-session-request.json */\n SIInitiateSessionRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"identity\",\"intent\",\"media_buy_id\",\"offering_id\",\"offering_token\",\"placement\",\"sponsored_context_receipt\",\"supported_capabilities\"]) as readonly string[],\n __type: null as unknown as SIInitiateSessionRequest,\n }),\n /** schemas/cache/3.1.24/sponsored-intelligence/si-send-message-request.json */\n SISendMessageRequest: Object.freeze({\n fields: Object.freeze([\"action_response\",\"context\",\"ext\",\"idempotency_key\",\"message\",\"session_id\",\"sponsored_context_receipt\"]) as readonly string[],\n __type: null as unknown as SISendMessageRequest,\n }),\n /** schemas/cache/3.1.24/account/sync-accounts-request.json */\n SyncAccountsRequest: Object.freeze({\n fields: Object.freeze([\"accounts\",\"context\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\"]) as readonly string[],\n __type: null as unknown as SyncAccountsRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/sync-audiences-request.json */\n SyncAudiencesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"audiences\",\"context\",\"delete_missing\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncAudiencesRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/sync-catalogs-request.json */\n SyncCatalogsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"catalog_ids\",\"catalogs\",\"context\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\",\"validation_mode\"]) as readonly string[],\n __type: null as unknown as SyncCatalogsRequest,\n }),\n /** schemas/cache/3.1.24/creative/sync-creatives-request.json */\n SyncCreativesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"assignments\",\"context\",\"creative_ids\",\"creatives\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\",\"validation_mode\"]) as readonly string[],\n __type: null as unknown as SyncCreativesRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/sync-event-sources-request.json */\n SyncEventSourcesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"delete_missing\",\"event_sources\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncEventSourcesRequest,\n }),\n /** schemas/cache/3.1.24/account/sync-governance-request.json */\n SyncGovernanceRequest: Object.freeze({\n fields: Object.freeze([\"accounts\",\"context\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncGovernanceRequest,\n }),\n /** schemas/cache/3.1.24/governance/sync-plans-request.json */\n SyncPlansRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"plans\"]) as readonly string[],\n __type: null as unknown as SyncPlansRequest,\n }),\n /** schemas/cache/3.1.24/collection/update-collection-list-request.json */\n UpdateCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_collections\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"list_id\",\"name\",\"webhook_url\"]) as readonly string[],\n __type: null as unknown as UpdateCollectionListRequest,\n }),\n /** schemas/cache/3.1.24/content-standards/update-content-standards-request.json */\n UpdateContentStandardsRequest: Object.freeze({\n fields: Object.freeze([\"calibration_exemplars\",\"context\",\"ext\",\"idempotency_key\",\"policies\",\"registry_policy_ids\",\"scope\",\"standards_id\"]) as readonly string[],\n __type: null as unknown as UpdateContentStandardsRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/update-media-buy-request.json */\n UpdateMediaBuyRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"canceled\",\"cancellation_reason\",\"context\",\"end_time\",\"ext\",\"idempotency_key\",\"invoice_recipient\",\"media_buy_id\",\"new_packages\",\"packages\",\"paused\",\"push_notification_config\",\"reporting_webhook\",\"revision\",\"start_time\"]) as readonly string[],\n __type: null as unknown as UpdateMediaBuyRequest,\n }),\n /** schemas/cache/3.1.24/property/update-property-list-request.json */\n UpdatePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_properties\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"list_id\",\"name\",\"webhook_url\"]) as readonly string[],\n __type: null as unknown as UpdatePropertyListRequest,\n }),\n /** schemas/cache/3.1.24/brand/update-rights-request.json */\n UpdateRightsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"end_date\",\"ext\",\"idempotency_key\",\"impression_cap\",\"paused\",\"pricing_option_id\",\"push_notification_config\",\"rights_id\"]) as readonly string[],\n __type: null as unknown as UpdateRightsRequest,\n }),\n} as const);\n\nexport type WireSpecRequestName = keyof typeof WIRE_SPEC_FIELDS;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/server/wire-spec-fields.generated.ts"],"sourcesContent":["// AUTO-GENERATED by scripts/generate-wire-spec-fields.ts. DO NOT EDIT.\n// Source: schemas/cache/3.1.30/**/*-request.json\n// Generated at: 2026-10-28T16:08:14.592Z\n\nimport type {\n AcquireRightsRequest,\n ActivateSignalRequest,\n BuildCreativeRequest,\n CalibrateContentRequest,\n CreateCollectionListRequest,\n CreateContentStandardsRequest,\n CreateMediaBuyRequest,\n CreatePropertyListRequest,\n DeleteCollectionListRequest,\n DeletePropertyListRequest,\n GetMediaBuyDeliveryRequest,\n LogEventRequest,\n ProvidePerformanceFeedbackRequest,\n ReportPlanOutcomeRequest,\n ReportUsageRequest,\n SIInitiateSessionRequest,\n SISendMessageRequest,\n SyncAccountsRequest,\n SyncAudiencesRequest,\n SyncCatalogsRequest,\n SyncCreativesRequest,\n SyncEventSourcesRequest,\n SyncGovernanceRequest,\n SyncPlansRequest,\n UpdateCollectionListRequest,\n UpdateContentStandardsRequest,\n UpdateMediaBuyRequest,\n UpdatePropertyListRequest,\n UpdateRightsRequest,\n} from '../types';\n\n/**\n * Wire-spec field allowlists per request type. The `fields` values\n * are exact top-level property names from the AdCP request JSON\n * schemas; `pickWireSpecFields(req, schemaName)` uses them to strip\n * buyer-controlled args to schema-spec fields at the operational\n * fan-out boundary. Drift between this map and the schemas is\n * impossible by construction — both are emitted from the same\n * codegen pass.\n *\n * The `__type` phantom is type-only (`null as unknown as T`) — it\n * carries the wire-spec request shape so `pickWireSpecFields`'s\n * return type narrows per `schemaName`. Runtime cost: one null\n * property per entry.\n *\n * Arrays and entry objects are runtime-frozen via `Object.freeze`\n * so a misbehaving dependency cannot widen the scrub via prototype\n * pollution or shared-state mutation of the allowlist.\n */\nexport const WIRE_SPEC_FIELDS = Object.freeze({\n /** schemas/cache/3.1.30/brand/acquire-rights-request.json */\n AcquireRightsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"buyer\",\"campaign\",\"context\",\"ext\",\"idempotency_key\",\"pricing_option_id\",\"push_notification_config\",\"revocation_webhook\",\"rights_id\"]) as readonly string[],\n __type: null as unknown as AcquireRightsRequest,\n }),\n /** schemas/cache/3.1.30/signals/activate-signal-request.json */\n ActivateSignalRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"action\",\"context\",\"destinations\",\"ext\",\"governance_context\",\"idempotency_key\",\"pricing_option_id\",\"signal_agent_segment_id\"]) as readonly string[],\n __type: null as unknown as ActivateSignalRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/build-creative-request.json */\n BuildCreativeRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"brand\",\"concept_id\",\"config\",\"context\",\"creative_id\",\"creative_manifest\",\"evaluator\",\"ext\",\"idempotency_key\",\"include_preview\",\"item_limit\",\"keep_mode\",\"macro_values\",\"max_creatives\",\"max_spend\",\"max_variants\",\"media_buy_id\",\"message\",\"mode\",\"package_id\",\"preview_inputs\",\"preview_output_format\",\"preview_quality\",\"push_notification_config\",\"quality\",\"refine_from_build_variant_id\",\"selection_strategy\",\"signal_conditions\",\"target_format_id\",\"target_format_ids\",\"transformer_id\",\"variant_axis\"]) as readonly string[],\n __type: null as unknown as BuildCreativeRequest,\n }),\n /** schemas/cache/3.1.30/content-standards/calibrate-content-request.json */\n CalibrateContentRequest: Object.freeze({\n fields: Object.freeze([\"artifact\",\"context\",\"ext\",\"idempotency_key\",\"standards_id\"]) as readonly string[],\n __type: null as unknown as CalibrateContentRequest,\n }),\n /** schemas/cache/3.1.30/collection/create-collection-list-request.json */\n CreateCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_collections\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"name\"]) as readonly string[],\n __type: null as unknown as CreateCollectionListRequest,\n }),\n /** schemas/cache/3.1.30/content-standards/create-content-standards-request.json */\n CreateContentStandardsRequest: Object.freeze({\n fields: Object.freeze([\"calibration_exemplars\",\"context\",\"ext\",\"idempotency_key\",\"policies\",\"registry_policy_ids\",\"scope\"]) as readonly string[],\n __type: null as unknown as CreateContentStandardsRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/create-media-buy-request.json */\n CreateMediaBuyRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"advertiser_industry\",\"agency_estimate_number\",\"artifact_webhook\",\"brand\",\"context\",\"end_time\",\"ext\",\"idempotency_key\",\"invoice_recipient\",\"io_acceptance\",\"packages\",\"paused\",\"plan_id\",\"po_number\",\"proposal_id\",\"push_notification_config\",\"reporting_webhook\",\"start_time\",\"total_budget\"]) as readonly string[],\n __type: null as unknown as CreateMediaBuyRequest,\n }),\n /** schemas/cache/3.1.30/property/create-property-list-request.json */\n CreatePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_properties\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"name\"]) as readonly string[],\n __type: null as unknown as CreatePropertyListRequest,\n }),\n /** schemas/cache/3.1.30/collection/delete-collection-list-request.json */\n DeleteCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"ext\",\"idempotency_key\",\"list_id\"]) as readonly string[],\n __type: null as unknown as DeleteCollectionListRequest,\n }),\n /** schemas/cache/3.1.30/property/delete-property-list-request.json */\n DeletePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"ext\",\"idempotency_key\",\"list_id\"]) as readonly string[],\n __type: null as unknown as DeletePropertyListRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/get-media-buy-delivery-request.json */\n GetMediaBuyDeliveryRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"attribution_window\",\"context\",\"end_date\",\"ext\",\"include_package_daily_breakdown\",\"include_window_breakdown\",\"media_buy_ids\",\"reporting_dimensions\",\"start_date\",\"status_filter\",\"time_granularity\"]) as readonly string[],\n __type: null as unknown as GetMediaBuyDeliveryRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/log-event-request.json */\n LogEventRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"event_source_id\",\"events\",\"ext\",\"idempotency_key\",\"test_event_code\"]) as readonly string[],\n __type: null as unknown as LogEventRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/provide-performance-feedback-request.json */\n ProvidePerformanceFeedbackRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"creative_id\",\"ext\",\"feedback_source\",\"idempotency_key\",\"measurement_period\",\"media_buy_id\",\"metric_type\",\"package_id\",\"performance_index\"]) as readonly string[],\n __type: null as unknown as ProvidePerformanceFeedbackRequest,\n }),\n /** schemas/cache/3.1.30/governance/report-plan-outcome-request.json */\n ReportPlanOutcomeRequest: Object.freeze({\n fields: Object.freeze([\"check_id\",\"context\",\"delivery\",\"error\",\"ext\",\"governance_context\",\"idempotency_key\",\"outcome\",\"plan_id\",\"purchase_type\",\"seller_response\"]) as readonly string[],\n __type: null as unknown as ReportPlanOutcomeRequest,\n }),\n /** schemas/cache/3.1.30/account/report-usage-request.json */\n ReportUsageRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"reporting_period\",\"usage\"]) as readonly string[],\n __type: null as unknown as ReportUsageRequest,\n }),\n /** schemas/cache/3.1.30/sponsored-intelligence/si-initiate-session-request.json */\n SIInitiateSessionRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"identity\",\"intent\",\"media_buy_id\",\"offering_id\",\"offering_token\",\"placement\",\"sponsored_context_receipt\",\"supported_capabilities\"]) as readonly string[],\n __type: null as unknown as SIInitiateSessionRequest,\n }),\n /** schemas/cache/3.1.30/sponsored-intelligence/si-send-message-request.json */\n SISendMessageRequest: Object.freeze({\n fields: Object.freeze([\"action_response\",\"context\",\"ext\",\"idempotency_key\",\"message\",\"session_id\",\"sponsored_context_receipt\"]) as readonly string[],\n __type: null as unknown as SISendMessageRequest,\n }),\n /** schemas/cache/3.1.30/account/sync-accounts-request.json */\n SyncAccountsRequest: Object.freeze({\n fields: Object.freeze([\"accounts\",\"context\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\"]) as readonly string[],\n __type: null as unknown as SyncAccountsRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/sync-audiences-request.json */\n SyncAudiencesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"audiences\",\"context\",\"delete_missing\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncAudiencesRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/sync-catalogs-request.json */\n SyncCatalogsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"catalog_ids\",\"catalogs\",\"context\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\",\"validation_mode\"]) as readonly string[],\n __type: null as unknown as SyncCatalogsRequest,\n }),\n /** schemas/cache/3.1.30/creative/sync-creatives-request.json */\n SyncCreativesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"assignments\",\"context\",\"creative_ids\",\"creatives\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\",\"validation_mode\"]) as readonly string[],\n __type: null as unknown as SyncCreativesRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/sync-event-sources-request.json */\n SyncEventSourcesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"delete_missing\",\"event_sources\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncEventSourcesRequest,\n }),\n /** schemas/cache/3.1.30/account/sync-governance-request.json */\n SyncGovernanceRequest: Object.freeze({\n fields: Object.freeze([\"accounts\",\"context\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncGovernanceRequest,\n }),\n /** schemas/cache/3.1.30/governance/sync-plans-request.json */\n SyncPlansRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"plans\"]) as readonly string[],\n __type: null as unknown as SyncPlansRequest,\n }),\n /** schemas/cache/3.1.30/collection/update-collection-list-request.json */\n UpdateCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_collections\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"list_id\",\"name\",\"webhook_url\"]) as readonly string[],\n __type: null as unknown as UpdateCollectionListRequest,\n }),\n /** schemas/cache/3.1.30/content-standards/update-content-standards-request.json */\n UpdateContentStandardsRequest: Object.freeze({\n fields: Object.freeze([\"calibration_exemplars\",\"context\",\"ext\",\"idempotency_key\",\"policies\",\"registry_policy_ids\",\"scope\",\"standards_id\"]) as readonly string[],\n __type: null as unknown as UpdateContentStandardsRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/update-media-buy-request.json */\n UpdateMediaBuyRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"canceled\",\"cancellation_reason\",\"context\",\"end_time\",\"ext\",\"idempotency_key\",\"invoice_recipient\",\"media_buy_id\",\"new_packages\",\"packages\",\"paused\",\"push_notification_config\",\"reporting_webhook\",\"revision\",\"start_time\"]) as readonly string[],\n __type: null as unknown as UpdateMediaBuyRequest,\n }),\n /** schemas/cache/3.1.30/property/update-property-list-request.json */\n UpdatePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_properties\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"list_id\",\"name\",\"webhook_url\"]) as readonly string[],\n __type: null as unknown as UpdatePropertyListRequest,\n }),\n /** schemas/cache/3.1.30/brand/update-rights-request.json */\n UpdateRightsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"end_date\",\"ext\",\"idempotency_key\",\"impression_cap\",\"paused\",\"pricing_option_id\",\"push_notification_config\",\"rights_id\"]) as readonly string[],\n __type: null as unknown as UpdateRightsRequest,\n }),\n} as const);\n\nexport type WireSpecRequestName = keyof typeof WIRE_SPEC_FIELDS;\n"],"mappings":"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","names":[]}
|
|
@@ -1,145 +1,145 @@
|
|
|
1
1
|
const WIRE_SPEC_FIELDS = Object.freeze({
|
|
2
|
-
/** schemas/cache/3.1.
|
|
2
|
+
/** schemas/cache/3.1.30/brand/acquire-rights-request.json */
|
|
3
3
|
AcquireRightsRequest: Object.freeze({
|
|
4
4
|
fields: Object.freeze(["account", "buyer", "campaign", "context", "ext", "idempotency_key", "pricing_option_id", "push_notification_config", "revocation_webhook", "rights_id"]),
|
|
5
5
|
__type: null
|
|
6
6
|
}),
|
|
7
|
-
/** schemas/cache/3.1.
|
|
7
|
+
/** schemas/cache/3.1.30/signals/activate-signal-request.json */
|
|
8
8
|
ActivateSignalRequest: Object.freeze({
|
|
9
9
|
fields: Object.freeze(["account", "action", "context", "destinations", "ext", "governance_context", "idempotency_key", "pricing_option_id", "signal_agent_segment_id"]),
|
|
10
10
|
__type: null
|
|
11
11
|
}),
|
|
12
|
-
/** schemas/cache/3.1.
|
|
12
|
+
/** schemas/cache/3.1.30/media-buy/build-creative-request.json */
|
|
13
13
|
BuildCreativeRequest: Object.freeze({
|
|
14
14
|
fields: Object.freeze(["account", "brand", "concept_id", "config", "context", "creative_id", "creative_manifest", "evaluator", "ext", "idempotency_key", "include_preview", "item_limit", "keep_mode", "macro_values", "max_creatives", "max_spend", "max_variants", "media_buy_id", "message", "mode", "package_id", "preview_inputs", "preview_output_format", "preview_quality", "push_notification_config", "quality", "refine_from_build_variant_id", "selection_strategy", "signal_conditions", "target_format_id", "target_format_ids", "transformer_id", "variant_axis"]),
|
|
15
15
|
__type: null
|
|
16
16
|
}),
|
|
17
|
-
/** schemas/cache/3.1.
|
|
17
|
+
/** schemas/cache/3.1.30/content-standards/calibrate-content-request.json */
|
|
18
18
|
CalibrateContentRequest: Object.freeze({
|
|
19
19
|
fields: Object.freeze(["artifact", "context", "ext", "idempotency_key", "standards_id"]),
|
|
20
20
|
__type: null
|
|
21
21
|
}),
|
|
22
|
-
/** schemas/cache/3.1.
|
|
22
|
+
/** schemas/cache/3.1.30/collection/create-collection-list-request.json */
|
|
23
23
|
CreateCollectionListRequest: Object.freeze({
|
|
24
24
|
fields: Object.freeze(["account", "base_collections", "brand", "context", "description", "ext", "filters", "idempotency_key", "name"]),
|
|
25
25
|
__type: null
|
|
26
26
|
}),
|
|
27
|
-
/** schemas/cache/3.1.
|
|
27
|
+
/** schemas/cache/3.1.30/content-standards/create-content-standards-request.json */
|
|
28
28
|
CreateContentStandardsRequest: Object.freeze({
|
|
29
29
|
fields: Object.freeze(["calibration_exemplars", "context", "ext", "idempotency_key", "policies", "registry_policy_ids", "scope"]),
|
|
30
30
|
__type: null
|
|
31
31
|
}),
|
|
32
|
-
/** schemas/cache/3.1.
|
|
32
|
+
/** schemas/cache/3.1.30/media-buy/create-media-buy-request.json */
|
|
33
33
|
CreateMediaBuyRequest: Object.freeze({
|
|
34
34
|
fields: Object.freeze(["account", "advertiser_industry", "agency_estimate_number", "artifact_webhook", "brand", "context", "end_time", "ext", "idempotency_key", "invoice_recipient", "io_acceptance", "packages", "paused", "plan_id", "po_number", "proposal_id", "push_notification_config", "reporting_webhook", "start_time", "total_budget"]),
|
|
35
35
|
__type: null
|
|
36
36
|
}),
|
|
37
|
-
/** schemas/cache/3.1.
|
|
37
|
+
/** schemas/cache/3.1.30/property/create-property-list-request.json */
|
|
38
38
|
CreatePropertyListRequest: Object.freeze({
|
|
39
39
|
fields: Object.freeze(["account", "base_properties", "brand", "context", "description", "ext", "filters", "idempotency_key", "name"]),
|
|
40
40
|
__type: null
|
|
41
41
|
}),
|
|
42
|
-
/** schemas/cache/3.1.
|
|
42
|
+
/** schemas/cache/3.1.30/collection/delete-collection-list-request.json */
|
|
43
43
|
DeleteCollectionListRequest: Object.freeze({
|
|
44
44
|
fields: Object.freeze(["account", "context", "ext", "idempotency_key", "list_id"]),
|
|
45
45
|
__type: null
|
|
46
46
|
}),
|
|
47
|
-
/** schemas/cache/3.1.
|
|
47
|
+
/** schemas/cache/3.1.30/property/delete-property-list-request.json */
|
|
48
48
|
DeletePropertyListRequest: Object.freeze({
|
|
49
49
|
fields: Object.freeze(["account", "context", "ext", "idempotency_key", "list_id"]),
|
|
50
50
|
__type: null
|
|
51
51
|
}),
|
|
52
|
-
/** schemas/cache/3.1.
|
|
52
|
+
/** schemas/cache/3.1.30/media-buy/get-media-buy-delivery-request.json */
|
|
53
53
|
GetMediaBuyDeliveryRequest: Object.freeze({
|
|
54
54
|
fields: Object.freeze(["account", "attribution_window", "context", "end_date", "ext", "include_package_daily_breakdown", "include_window_breakdown", "media_buy_ids", "reporting_dimensions", "start_date", "status_filter", "time_granularity"]),
|
|
55
55
|
__type: null
|
|
56
56
|
}),
|
|
57
|
-
/** schemas/cache/3.1.
|
|
57
|
+
/** schemas/cache/3.1.30/media-buy/log-event-request.json */
|
|
58
58
|
LogEventRequest: Object.freeze({
|
|
59
59
|
fields: Object.freeze(["context", "event_source_id", "events", "ext", "idempotency_key", "test_event_code"]),
|
|
60
60
|
__type: null
|
|
61
61
|
}),
|
|
62
|
-
/** schemas/cache/3.1.
|
|
62
|
+
/** schemas/cache/3.1.30/media-buy/provide-performance-feedback-request.json */
|
|
63
63
|
ProvidePerformanceFeedbackRequest: Object.freeze({
|
|
64
64
|
fields: Object.freeze(["context", "creative_id", "ext", "feedback_source", "idempotency_key", "measurement_period", "media_buy_id", "metric_type", "package_id", "performance_index"]),
|
|
65
65
|
__type: null
|
|
66
66
|
}),
|
|
67
|
-
/** schemas/cache/3.1.
|
|
67
|
+
/** schemas/cache/3.1.30/governance/report-plan-outcome-request.json */
|
|
68
68
|
ReportPlanOutcomeRequest: Object.freeze({
|
|
69
69
|
fields: Object.freeze(["check_id", "context", "delivery", "error", "ext", "governance_context", "idempotency_key", "outcome", "plan_id", "purchase_type", "seller_response"]),
|
|
70
70
|
__type: null
|
|
71
71
|
}),
|
|
72
|
-
/** schemas/cache/3.1.
|
|
72
|
+
/** schemas/cache/3.1.30/account/report-usage-request.json */
|
|
73
73
|
ReportUsageRequest: Object.freeze({
|
|
74
74
|
fields: Object.freeze(["context", "ext", "idempotency_key", "reporting_period", "usage"]),
|
|
75
75
|
__type: null
|
|
76
76
|
}),
|
|
77
|
-
/** schemas/cache/3.1.
|
|
77
|
+
/** schemas/cache/3.1.30/sponsored-intelligence/si-initiate-session-request.json */
|
|
78
78
|
SIInitiateSessionRequest: Object.freeze({
|
|
79
79
|
fields: Object.freeze(["context", "ext", "idempotency_key", "identity", "intent", "media_buy_id", "offering_id", "offering_token", "placement", "sponsored_context_receipt", "supported_capabilities"]),
|
|
80
80
|
__type: null
|
|
81
81
|
}),
|
|
82
|
-
/** schemas/cache/3.1.
|
|
82
|
+
/** schemas/cache/3.1.30/sponsored-intelligence/si-send-message-request.json */
|
|
83
83
|
SISendMessageRequest: Object.freeze({
|
|
84
84
|
fields: Object.freeze(["action_response", "context", "ext", "idempotency_key", "message", "session_id", "sponsored_context_receipt"]),
|
|
85
85
|
__type: null
|
|
86
86
|
}),
|
|
87
|
-
/** schemas/cache/3.1.
|
|
87
|
+
/** schemas/cache/3.1.30/account/sync-accounts-request.json */
|
|
88
88
|
SyncAccountsRequest: Object.freeze({
|
|
89
89
|
fields: Object.freeze(["accounts", "context", "delete_missing", "dry_run", "ext", "idempotency_key", "push_notification_config"]),
|
|
90
90
|
__type: null
|
|
91
91
|
}),
|
|
92
|
-
/** schemas/cache/3.1.
|
|
92
|
+
/** schemas/cache/3.1.30/media-buy/sync-audiences-request.json */
|
|
93
93
|
SyncAudiencesRequest: Object.freeze({
|
|
94
94
|
fields: Object.freeze(["account", "audiences", "context", "delete_missing", "ext", "idempotency_key"]),
|
|
95
95
|
__type: null
|
|
96
96
|
}),
|
|
97
|
-
/** schemas/cache/3.1.
|
|
97
|
+
/** schemas/cache/3.1.30/media-buy/sync-catalogs-request.json */
|
|
98
98
|
SyncCatalogsRequest: Object.freeze({
|
|
99
99
|
fields: Object.freeze(["account", "catalog_ids", "catalogs", "context", "delete_missing", "dry_run", "ext", "idempotency_key", "push_notification_config", "validation_mode"]),
|
|
100
100
|
__type: null
|
|
101
101
|
}),
|
|
102
|
-
/** schemas/cache/3.1.
|
|
102
|
+
/** schemas/cache/3.1.30/creative/sync-creatives-request.json */
|
|
103
103
|
SyncCreativesRequest: Object.freeze({
|
|
104
104
|
fields: Object.freeze(["account", "assignments", "context", "creative_ids", "creatives", "delete_missing", "dry_run", "ext", "idempotency_key", "push_notification_config", "validation_mode"]),
|
|
105
105
|
__type: null
|
|
106
106
|
}),
|
|
107
|
-
/** schemas/cache/3.1.
|
|
107
|
+
/** schemas/cache/3.1.30/media-buy/sync-event-sources-request.json */
|
|
108
108
|
SyncEventSourcesRequest: Object.freeze({
|
|
109
109
|
fields: Object.freeze(["account", "context", "delete_missing", "event_sources", "ext", "idempotency_key"]),
|
|
110
110
|
__type: null
|
|
111
111
|
}),
|
|
112
|
-
/** schemas/cache/3.1.
|
|
112
|
+
/** schemas/cache/3.1.30/account/sync-governance-request.json */
|
|
113
113
|
SyncGovernanceRequest: Object.freeze({
|
|
114
114
|
fields: Object.freeze(["accounts", "context", "ext", "idempotency_key"]),
|
|
115
115
|
__type: null
|
|
116
116
|
}),
|
|
117
|
-
/** schemas/cache/3.1.
|
|
117
|
+
/** schemas/cache/3.1.30/governance/sync-plans-request.json */
|
|
118
118
|
SyncPlansRequest: Object.freeze({
|
|
119
119
|
fields: Object.freeze(["context", "ext", "idempotency_key", "plans"]),
|
|
120
120
|
__type: null
|
|
121
121
|
}),
|
|
122
|
-
/** schemas/cache/3.1.
|
|
122
|
+
/** schemas/cache/3.1.30/collection/update-collection-list-request.json */
|
|
123
123
|
UpdateCollectionListRequest: Object.freeze({
|
|
124
124
|
fields: Object.freeze(["account", "base_collections", "brand", "context", "description", "ext", "filters", "idempotency_key", "list_id", "name", "webhook_url"]),
|
|
125
125
|
__type: null
|
|
126
126
|
}),
|
|
127
|
-
/** schemas/cache/3.1.
|
|
127
|
+
/** schemas/cache/3.1.30/content-standards/update-content-standards-request.json */
|
|
128
128
|
UpdateContentStandardsRequest: Object.freeze({
|
|
129
129
|
fields: Object.freeze(["calibration_exemplars", "context", "ext", "idempotency_key", "policies", "registry_policy_ids", "scope", "standards_id"]),
|
|
130
130
|
__type: null
|
|
131
131
|
}),
|
|
132
|
-
/** schemas/cache/3.1.
|
|
132
|
+
/** schemas/cache/3.1.30/media-buy/update-media-buy-request.json */
|
|
133
133
|
UpdateMediaBuyRequest: Object.freeze({
|
|
134
134
|
fields: Object.freeze(["account", "canceled", "cancellation_reason", "context", "end_time", "ext", "idempotency_key", "invoice_recipient", "media_buy_id", "new_packages", "packages", "paused", "push_notification_config", "reporting_webhook", "revision", "start_time"]),
|
|
135
135
|
__type: null
|
|
136
136
|
}),
|
|
137
|
-
/** schemas/cache/3.1.
|
|
137
|
+
/** schemas/cache/3.1.30/property/update-property-list-request.json */
|
|
138
138
|
UpdatePropertyListRequest: Object.freeze({
|
|
139
139
|
fields: Object.freeze(["account", "base_properties", "brand", "context", "description", "ext", "filters", "idempotency_key", "list_id", "name", "webhook_url"]),
|
|
140
140
|
__type: null
|
|
141
141
|
}),
|
|
142
|
-
/** schemas/cache/3.1.
|
|
142
|
+
/** schemas/cache/3.1.30/brand/update-rights-request.json */
|
|
143
143
|
UpdateRightsRequest: Object.freeze({
|
|
144
144
|
fields: Object.freeze(["account", "context", "end_date", "ext", "idempotency_key", "impression_cap", "paused", "pricing_option_id", "push_notification_config", "rights_id"]),
|
|
145
145
|
__type: null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/server/wire-spec-fields.generated.ts"],"sourcesContent":["// AUTO-GENERATED by scripts/generate-wire-spec-fields.ts. DO NOT EDIT.\n// Source: schemas/cache/3.1.24/**/*-request.json\n// Generated at: 2026-09-28T12:35:35.257Z\n\nimport type {\n AcquireRightsRequest,\n ActivateSignalRequest,\n BuildCreativeRequest,\n CalibrateContentRequest,\n CreateCollectionListRequest,\n CreateContentStandardsRequest,\n CreateMediaBuyRequest,\n CreatePropertyListRequest,\n DeleteCollectionListRequest,\n DeletePropertyListRequest,\n GetMediaBuyDeliveryRequest,\n LogEventRequest,\n ProvidePerformanceFeedbackRequest,\n ReportPlanOutcomeRequest,\n ReportUsageRequest,\n SIInitiateSessionRequest,\n SISendMessageRequest,\n SyncAccountsRequest,\n SyncAudiencesRequest,\n SyncCatalogsRequest,\n SyncCreativesRequest,\n SyncEventSourcesRequest,\n SyncGovernanceRequest,\n SyncPlansRequest,\n UpdateCollectionListRequest,\n UpdateContentStandardsRequest,\n UpdateMediaBuyRequest,\n UpdatePropertyListRequest,\n UpdateRightsRequest,\n} from '../types';\n\n/**\n * Wire-spec field allowlists per request type. The `fields` values\n * are exact top-level property names from the AdCP request JSON\n * schemas; `pickWireSpecFields(req, schemaName)` uses them to strip\n * buyer-controlled args to schema-spec fields at the operational\n * fan-out boundary. Drift between this map and the schemas is\n * impossible by construction — both are emitted from the same\n * codegen pass.\n *\n * The `__type` phantom is type-only (`null as unknown as T`) — it\n * carries the wire-spec request shape so `pickWireSpecFields`'s\n * return type narrows per `schemaName`. Runtime cost: one null\n * property per entry.\n *\n * Arrays and entry objects are runtime-frozen via `Object.freeze`\n * so a misbehaving dependency cannot widen the scrub via prototype\n * pollution or shared-state mutation of the allowlist.\n */\nexport const WIRE_SPEC_FIELDS = Object.freeze({\n /** schemas/cache/3.1.24/brand/acquire-rights-request.json */\n AcquireRightsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"buyer\",\"campaign\",\"context\",\"ext\",\"idempotency_key\",\"pricing_option_id\",\"push_notification_config\",\"revocation_webhook\",\"rights_id\"]) as readonly string[],\n __type: null as unknown as AcquireRightsRequest,\n }),\n /** schemas/cache/3.1.24/signals/activate-signal-request.json */\n ActivateSignalRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"action\",\"context\",\"destinations\",\"ext\",\"governance_context\",\"idempotency_key\",\"pricing_option_id\",\"signal_agent_segment_id\"]) as readonly string[],\n __type: null as unknown as ActivateSignalRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/build-creative-request.json */\n BuildCreativeRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"brand\",\"concept_id\",\"config\",\"context\",\"creative_id\",\"creative_manifest\",\"evaluator\",\"ext\",\"idempotency_key\",\"include_preview\",\"item_limit\",\"keep_mode\",\"macro_values\",\"max_creatives\",\"max_spend\",\"max_variants\",\"media_buy_id\",\"message\",\"mode\",\"package_id\",\"preview_inputs\",\"preview_output_format\",\"preview_quality\",\"push_notification_config\",\"quality\",\"refine_from_build_variant_id\",\"selection_strategy\",\"signal_conditions\",\"target_format_id\",\"target_format_ids\",\"transformer_id\",\"variant_axis\"]) as readonly string[],\n __type: null as unknown as BuildCreativeRequest,\n }),\n /** schemas/cache/3.1.24/content-standards/calibrate-content-request.json */\n CalibrateContentRequest: Object.freeze({\n fields: Object.freeze([\"artifact\",\"context\",\"ext\",\"idempotency_key\",\"standards_id\"]) as readonly string[],\n __type: null as unknown as CalibrateContentRequest,\n }),\n /** schemas/cache/3.1.24/collection/create-collection-list-request.json */\n CreateCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_collections\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"name\"]) as readonly string[],\n __type: null as unknown as CreateCollectionListRequest,\n }),\n /** schemas/cache/3.1.24/content-standards/create-content-standards-request.json */\n CreateContentStandardsRequest: Object.freeze({\n fields: Object.freeze([\"calibration_exemplars\",\"context\",\"ext\",\"idempotency_key\",\"policies\",\"registry_policy_ids\",\"scope\"]) as readonly string[],\n __type: null as unknown as CreateContentStandardsRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/create-media-buy-request.json */\n CreateMediaBuyRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"advertiser_industry\",\"agency_estimate_number\",\"artifact_webhook\",\"brand\",\"context\",\"end_time\",\"ext\",\"idempotency_key\",\"invoice_recipient\",\"io_acceptance\",\"packages\",\"paused\",\"plan_id\",\"po_number\",\"proposal_id\",\"push_notification_config\",\"reporting_webhook\",\"start_time\",\"total_budget\"]) as readonly string[],\n __type: null as unknown as CreateMediaBuyRequest,\n }),\n /** schemas/cache/3.1.24/property/create-property-list-request.json */\n CreatePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_properties\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"name\"]) as readonly string[],\n __type: null as unknown as CreatePropertyListRequest,\n }),\n /** schemas/cache/3.1.24/collection/delete-collection-list-request.json */\n DeleteCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"ext\",\"idempotency_key\",\"list_id\"]) as readonly string[],\n __type: null as unknown as DeleteCollectionListRequest,\n }),\n /** schemas/cache/3.1.24/property/delete-property-list-request.json */\n DeletePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"ext\",\"idempotency_key\",\"list_id\"]) as readonly string[],\n __type: null as unknown as DeletePropertyListRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/get-media-buy-delivery-request.json */\n GetMediaBuyDeliveryRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"attribution_window\",\"context\",\"end_date\",\"ext\",\"include_package_daily_breakdown\",\"include_window_breakdown\",\"media_buy_ids\",\"reporting_dimensions\",\"start_date\",\"status_filter\",\"time_granularity\"]) as readonly string[],\n __type: null as unknown as GetMediaBuyDeliveryRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/log-event-request.json */\n LogEventRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"event_source_id\",\"events\",\"ext\",\"idempotency_key\",\"test_event_code\"]) as readonly string[],\n __type: null as unknown as LogEventRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/provide-performance-feedback-request.json */\n ProvidePerformanceFeedbackRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"creative_id\",\"ext\",\"feedback_source\",\"idempotency_key\",\"measurement_period\",\"media_buy_id\",\"metric_type\",\"package_id\",\"performance_index\"]) as readonly string[],\n __type: null as unknown as ProvidePerformanceFeedbackRequest,\n }),\n /** schemas/cache/3.1.24/governance/report-plan-outcome-request.json */\n ReportPlanOutcomeRequest: Object.freeze({\n fields: Object.freeze([\"check_id\",\"context\",\"delivery\",\"error\",\"ext\",\"governance_context\",\"idempotency_key\",\"outcome\",\"plan_id\",\"purchase_type\",\"seller_response\"]) as readonly string[],\n __type: null as unknown as ReportPlanOutcomeRequest,\n }),\n /** schemas/cache/3.1.24/account/report-usage-request.json */\n ReportUsageRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"reporting_period\",\"usage\"]) as readonly string[],\n __type: null as unknown as ReportUsageRequest,\n }),\n /** schemas/cache/3.1.24/sponsored-intelligence/si-initiate-session-request.json */\n SIInitiateSessionRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"identity\",\"intent\",\"media_buy_id\",\"offering_id\",\"offering_token\",\"placement\",\"sponsored_context_receipt\",\"supported_capabilities\"]) as readonly string[],\n __type: null as unknown as SIInitiateSessionRequest,\n }),\n /** schemas/cache/3.1.24/sponsored-intelligence/si-send-message-request.json */\n SISendMessageRequest: Object.freeze({\n fields: Object.freeze([\"action_response\",\"context\",\"ext\",\"idempotency_key\",\"message\",\"session_id\",\"sponsored_context_receipt\"]) as readonly string[],\n __type: null as unknown as SISendMessageRequest,\n }),\n /** schemas/cache/3.1.24/account/sync-accounts-request.json */\n SyncAccountsRequest: Object.freeze({\n fields: Object.freeze([\"accounts\",\"context\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\"]) as readonly string[],\n __type: null as unknown as SyncAccountsRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/sync-audiences-request.json */\n SyncAudiencesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"audiences\",\"context\",\"delete_missing\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncAudiencesRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/sync-catalogs-request.json */\n SyncCatalogsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"catalog_ids\",\"catalogs\",\"context\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\",\"validation_mode\"]) as readonly string[],\n __type: null as unknown as SyncCatalogsRequest,\n }),\n /** schemas/cache/3.1.24/creative/sync-creatives-request.json */\n SyncCreativesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"assignments\",\"context\",\"creative_ids\",\"creatives\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\",\"validation_mode\"]) as readonly string[],\n __type: null as unknown as SyncCreativesRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/sync-event-sources-request.json */\n SyncEventSourcesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"delete_missing\",\"event_sources\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncEventSourcesRequest,\n }),\n /** schemas/cache/3.1.24/account/sync-governance-request.json */\n SyncGovernanceRequest: Object.freeze({\n fields: Object.freeze([\"accounts\",\"context\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncGovernanceRequest,\n }),\n /** schemas/cache/3.1.24/governance/sync-plans-request.json */\n SyncPlansRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"plans\"]) as readonly string[],\n __type: null as unknown as SyncPlansRequest,\n }),\n /** schemas/cache/3.1.24/collection/update-collection-list-request.json */\n UpdateCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_collections\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"list_id\",\"name\",\"webhook_url\"]) as readonly string[],\n __type: null as unknown as UpdateCollectionListRequest,\n }),\n /** schemas/cache/3.1.24/content-standards/update-content-standards-request.json */\n UpdateContentStandardsRequest: Object.freeze({\n fields: Object.freeze([\"calibration_exemplars\",\"context\",\"ext\",\"idempotency_key\",\"policies\",\"registry_policy_ids\",\"scope\",\"standards_id\"]) as readonly string[],\n __type: null as unknown as UpdateContentStandardsRequest,\n }),\n /** schemas/cache/3.1.24/media-buy/update-media-buy-request.json */\n UpdateMediaBuyRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"canceled\",\"cancellation_reason\",\"context\",\"end_time\",\"ext\",\"idempotency_key\",\"invoice_recipient\",\"media_buy_id\",\"new_packages\",\"packages\",\"paused\",\"push_notification_config\",\"reporting_webhook\",\"revision\",\"start_time\"]) as readonly string[],\n __type: null as unknown as UpdateMediaBuyRequest,\n }),\n /** schemas/cache/3.1.24/property/update-property-list-request.json */\n UpdatePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_properties\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"list_id\",\"name\",\"webhook_url\"]) as readonly string[],\n __type: null as unknown as UpdatePropertyListRequest,\n }),\n /** schemas/cache/3.1.24/brand/update-rights-request.json */\n UpdateRightsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"end_date\",\"ext\",\"idempotency_key\",\"impression_cap\",\"paused\",\"pricing_option_id\",\"push_notification_config\",\"rights_id\"]) as readonly string[],\n __type: null as unknown as UpdateRightsRequest,\n }),\n} as const);\n\nexport type WireSpecRequestName = keyof typeof WIRE_SPEC_FIELDS;\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/server/wire-spec-fields.generated.ts"],"sourcesContent":["// AUTO-GENERATED by scripts/generate-wire-spec-fields.ts. DO NOT EDIT.\n// Source: schemas/cache/3.1.30/**/*-request.json\n// Generated at: 2026-10-28T16:08:14.592Z\n\nimport type {\n AcquireRightsRequest,\n ActivateSignalRequest,\n BuildCreativeRequest,\n CalibrateContentRequest,\n CreateCollectionListRequest,\n CreateContentStandardsRequest,\n CreateMediaBuyRequest,\n CreatePropertyListRequest,\n DeleteCollectionListRequest,\n DeletePropertyListRequest,\n GetMediaBuyDeliveryRequest,\n LogEventRequest,\n ProvidePerformanceFeedbackRequest,\n ReportPlanOutcomeRequest,\n ReportUsageRequest,\n SIInitiateSessionRequest,\n SISendMessageRequest,\n SyncAccountsRequest,\n SyncAudiencesRequest,\n SyncCatalogsRequest,\n SyncCreativesRequest,\n SyncEventSourcesRequest,\n SyncGovernanceRequest,\n SyncPlansRequest,\n UpdateCollectionListRequest,\n UpdateContentStandardsRequest,\n UpdateMediaBuyRequest,\n UpdatePropertyListRequest,\n UpdateRightsRequest,\n} from '../types';\n\n/**\n * Wire-spec field allowlists per request type. The `fields` values\n * are exact top-level property names from the AdCP request JSON\n * schemas; `pickWireSpecFields(req, schemaName)` uses them to strip\n * buyer-controlled args to schema-spec fields at the operational\n * fan-out boundary. Drift between this map and the schemas is\n * impossible by construction — both are emitted from the same\n * codegen pass.\n *\n * The `__type` phantom is type-only (`null as unknown as T`) — it\n * carries the wire-spec request shape so `pickWireSpecFields`'s\n * return type narrows per `schemaName`. Runtime cost: one null\n * property per entry.\n *\n * Arrays and entry objects are runtime-frozen via `Object.freeze`\n * so a misbehaving dependency cannot widen the scrub via prototype\n * pollution or shared-state mutation of the allowlist.\n */\nexport const WIRE_SPEC_FIELDS = Object.freeze({\n /** schemas/cache/3.1.30/brand/acquire-rights-request.json */\n AcquireRightsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"buyer\",\"campaign\",\"context\",\"ext\",\"idempotency_key\",\"pricing_option_id\",\"push_notification_config\",\"revocation_webhook\",\"rights_id\"]) as readonly string[],\n __type: null as unknown as AcquireRightsRequest,\n }),\n /** schemas/cache/3.1.30/signals/activate-signal-request.json */\n ActivateSignalRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"action\",\"context\",\"destinations\",\"ext\",\"governance_context\",\"idempotency_key\",\"pricing_option_id\",\"signal_agent_segment_id\"]) as readonly string[],\n __type: null as unknown as ActivateSignalRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/build-creative-request.json */\n BuildCreativeRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"brand\",\"concept_id\",\"config\",\"context\",\"creative_id\",\"creative_manifest\",\"evaluator\",\"ext\",\"idempotency_key\",\"include_preview\",\"item_limit\",\"keep_mode\",\"macro_values\",\"max_creatives\",\"max_spend\",\"max_variants\",\"media_buy_id\",\"message\",\"mode\",\"package_id\",\"preview_inputs\",\"preview_output_format\",\"preview_quality\",\"push_notification_config\",\"quality\",\"refine_from_build_variant_id\",\"selection_strategy\",\"signal_conditions\",\"target_format_id\",\"target_format_ids\",\"transformer_id\",\"variant_axis\"]) as readonly string[],\n __type: null as unknown as BuildCreativeRequest,\n }),\n /** schemas/cache/3.1.30/content-standards/calibrate-content-request.json */\n CalibrateContentRequest: Object.freeze({\n fields: Object.freeze([\"artifact\",\"context\",\"ext\",\"idempotency_key\",\"standards_id\"]) as readonly string[],\n __type: null as unknown as CalibrateContentRequest,\n }),\n /** schemas/cache/3.1.30/collection/create-collection-list-request.json */\n CreateCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_collections\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"name\"]) as readonly string[],\n __type: null as unknown as CreateCollectionListRequest,\n }),\n /** schemas/cache/3.1.30/content-standards/create-content-standards-request.json */\n CreateContentStandardsRequest: Object.freeze({\n fields: Object.freeze([\"calibration_exemplars\",\"context\",\"ext\",\"idempotency_key\",\"policies\",\"registry_policy_ids\",\"scope\"]) as readonly string[],\n __type: null as unknown as CreateContentStandardsRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/create-media-buy-request.json */\n CreateMediaBuyRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"advertiser_industry\",\"agency_estimate_number\",\"artifact_webhook\",\"brand\",\"context\",\"end_time\",\"ext\",\"idempotency_key\",\"invoice_recipient\",\"io_acceptance\",\"packages\",\"paused\",\"plan_id\",\"po_number\",\"proposal_id\",\"push_notification_config\",\"reporting_webhook\",\"start_time\",\"total_budget\"]) as readonly string[],\n __type: null as unknown as CreateMediaBuyRequest,\n }),\n /** schemas/cache/3.1.30/property/create-property-list-request.json */\n CreatePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_properties\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"name\"]) as readonly string[],\n __type: null as unknown as CreatePropertyListRequest,\n }),\n /** schemas/cache/3.1.30/collection/delete-collection-list-request.json */\n DeleteCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"ext\",\"idempotency_key\",\"list_id\"]) as readonly string[],\n __type: null as unknown as DeleteCollectionListRequest,\n }),\n /** schemas/cache/3.1.30/property/delete-property-list-request.json */\n DeletePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"ext\",\"idempotency_key\",\"list_id\"]) as readonly string[],\n __type: null as unknown as DeletePropertyListRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/get-media-buy-delivery-request.json */\n GetMediaBuyDeliveryRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"attribution_window\",\"context\",\"end_date\",\"ext\",\"include_package_daily_breakdown\",\"include_window_breakdown\",\"media_buy_ids\",\"reporting_dimensions\",\"start_date\",\"status_filter\",\"time_granularity\"]) as readonly string[],\n __type: null as unknown as GetMediaBuyDeliveryRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/log-event-request.json */\n LogEventRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"event_source_id\",\"events\",\"ext\",\"idempotency_key\",\"test_event_code\"]) as readonly string[],\n __type: null as unknown as LogEventRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/provide-performance-feedback-request.json */\n ProvidePerformanceFeedbackRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"creative_id\",\"ext\",\"feedback_source\",\"idempotency_key\",\"measurement_period\",\"media_buy_id\",\"metric_type\",\"package_id\",\"performance_index\"]) as readonly string[],\n __type: null as unknown as ProvidePerformanceFeedbackRequest,\n }),\n /** schemas/cache/3.1.30/governance/report-plan-outcome-request.json */\n ReportPlanOutcomeRequest: Object.freeze({\n fields: Object.freeze([\"check_id\",\"context\",\"delivery\",\"error\",\"ext\",\"governance_context\",\"idempotency_key\",\"outcome\",\"plan_id\",\"purchase_type\",\"seller_response\"]) as readonly string[],\n __type: null as unknown as ReportPlanOutcomeRequest,\n }),\n /** schemas/cache/3.1.30/account/report-usage-request.json */\n ReportUsageRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"reporting_period\",\"usage\"]) as readonly string[],\n __type: null as unknown as ReportUsageRequest,\n }),\n /** schemas/cache/3.1.30/sponsored-intelligence/si-initiate-session-request.json */\n SIInitiateSessionRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"identity\",\"intent\",\"media_buy_id\",\"offering_id\",\"offering_token\",\"placement\",\"sponsored_context_receipt\",\"supported_capabilities\"]) as readonly string[],\n __type: null as unknown as SIInitiateSessionRequest,\n }),\n /** schemas/cache/3.1.30/sponsored-intelligence/si-send-message-request.json */\n SISendMessageRequest: Object.freeze({\n fields: Object.freeze([\"action_response\",\"context\",\"ext\",\"idempotency_key\",\"message\",\"session_id\",\"sponsored_context_receipt\"]) as readonly string[],\n __type: null as unknown as SISendMessageRequest,\n }),\n /** schemas/cache/3.1.30/account/sync-accounts-request.json */\n SyncAccountsRequest: Object.freeze({\n fields: Object.freeze([\"accounts\",\"context\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\"]) as readonly string[],\n __type: null as unknown as SyncAccountsRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/sync-audiences-request.json */\n SyncAudiencesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"audiences\",\"context\",\"delete_missing\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncAudiencesRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/sync-catalogs-request.json */\n SyncCatalogsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"catalog_ids\",\"catalogs\",\"context\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\",\"validation_mode\"]) as readonly string[],\n __type: null as unknown as SyncCatalogsRequest,\n }),\n /** schemas/cache/3.1.30/creative/sync-creatives-request.json */\n SyncCreativesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"assignments\",\"context\",\"creative_ids\",\"creatives\",\"delete_missing\",\"dry_run\",\"ext\",\"idempotency_key\",\"push_notification_config\",\"validation_mode\"]) as readonly string[],\n __type: null as unknown as SyncCreativesRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/sync-event-sources-request.json */\n SyncEventSourcesRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"delete_missing\",\"event_sources\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncEventSourcesRequest,\n }),\n /** schemas/cache/3.1.30/account/sync-governance-request.json */\n SyncGovernanceRequest: Object.freeze({\n fields: Object.freeze([\"accounts\",\"context\",\"ext\",\"idempotency_key\"]) as readonly string[],\n __type: null as unknown as SyncGovernanceRequest,\n }),\n /** schemas/cache/3.1.30/governance/sync-plans-request.json */\n SyncPlansRequest: Object.freeze({\n fields: Object.freeze([\"context\",\"ext\",\"idempotency_key\",\"plans\"]) as readonly string[],\n __type: null as unknown as SyncPlansRequest,\n }),\n /** schemas/cache/3.1.30/collection/update-collection-list-request.json */\n UpdateCollectionListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_collections\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"list_id\",\"name\",\"webhook_url\"]) as readonly string[],\n __type: null as unknown as UpdateCollectionListRequest,\n }),\n /** schemas/cache/3.1.30/content-standards/update-content-standards-request.json */\n UpdateContentStandardsRequest: Object.freeze({\n fields: Object.freeze([\"calibration_exemplars\",\"context\",\"ext\",\"idempotency_key\",\"policies\",\"registry_policy_ids\",\"scope\",\"standards_id\"]) as readonly string[],\n __type: null as unknown as UpdateContentStandardsRequest,\n }),\n /** schemas/cache/3.1.30/media-buy/update-media-buy-request.json */\n UpdateMediaBuyRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"canceled\",\"cancellation_reason\",\"context\",\"end_time\",\"ext\",\"idempotency_key\",\"invoice_recipient\",\"media_buy_id\",\"new_packages\",\"packages\",\"paused\",\"push_notification_config\",\"reporting_webhook\",\"revision\",\"start_time\"]) as readonly string[],\n __type: null as unknown as UpdateMediaBuyRequest,\n }),\n /** schemas/cache/3.1.30/property/update-property-list-request.json */\n UpdatePropertyListRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"base_properties\",\"brand\",\"context\",\"description\",\"ext\",\"filters\",\"idempotency_key\",\"list_id\",\"name\",\"webhook_url\"]) as readonly string[],\n __type: null as unknown as UpdatePropertyListRequest,\n }),\n /** schemas/cache/3.1.30/brand/update-rights-request.json */\n UpdateRightsRequest: Object.freeze({\n fields: Object.freeze([\"account\",\"context\",\"end_date\",\"ext\",\"idempotency_key\",\"impression_cap\",\"paused\",\"pricing_option_id\",\"push_notification_config\",\"rights_id\"]) as readonly string[],\n __type: null as unknown as UpdateRightsRequest,\n }),\n} as const);\n\nexport type WireSpecRequestName = keyof typeof WIRE_SPEC_FIELDS;\n"],"mappings":"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","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/storyboard/loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK1C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,qBAAsB,CAAC;AAKxD,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CA4B/D;AAED,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAE/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/storyboard/loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAK1C;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,qBAAsB,CAAC;AAKxD,oFAAoF;AACpF,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU,CA4B/D;AAED,kGAAkG;AAClG,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,CAE/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CA2BpE"}
|
|
@@ -69,6 +69,11 @@ function validateStoryboardShape(storyboard) {
|
|
|
69
69
|
validateBranchSet(storyboard.id, phase);
|
|
70
70
|
if (!phase.steps) continue;
|
|
71
71
|
for (const step of phase.steps) {
|
|
72
|
+
if (step.enrich_request !== void 0 && (step.enrich_request !== true || !step.expect_error || step.negative_path !== "payload_well_formed")) {
|
|
73
|
+
throw new Error(
|
|
74
|
+
`[${storyboard.id}] ${step.id}: enrich_request requires expect_error: true and negative_path: payload_well_formed`
|
|
75
|
+
);
|
|
76
|
+
}
|
|
72
77
|
resolveContributesShorthand(storyboard.id, phase, step);
|
|
73
78
|
validateFixtureForMutatingStep(storyboard.id, phase, step);
|
|
74
79
|
validateOmitFlagCoherence(storyboard.id, phase, step);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/testing/storyboard/loader.ts"],"sourcesContent":["/**\n * Storyboard YAML parser.\n *\n * Storyboards are pulled from the compliance cache populated by\n * `npm run sync-schemas`. See `./compliance.ts` for capability-driven\n * resolution and bundle loading.\n */\n\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport type { Storyboard } from './types';\nimport { MUTATING_TASKS } from '../../utils/idempotency';\nimport { validateFixtureResolutionDeclarations } from './fixture-resolution';\nimport { valid as validSemver } from 'semver';\n\n/**\n * Supported `branch_set.semantics` values. Extend when AdCP adds `all_of`,\n * `at_least_n`, etc. Exported so the runner can enforce the same whitelist\n * on programmatically-constructed storyboards that bypass the YAML parser.\n */\nexport const BRANCH_SET_SEMANTICS = ['any_of'] as const;\n\nconst IDENTIFIER_PATH_SEGMENT = String.raw`[A-Za-z_][A-Za-z0-9_-]*(?:\\[\\*\\])*`;\nconst IDENTIFIER_PATH_PATTERN = new RegExp(`^${IDENTIFIER_PATH_SEGMENT}(?:\\\\.${IDENTIFIER_PATH_SEGMENT})*$`);\n\n/** Parse a YAML string into a Storyboard. Throws if required fields are missing. */\nexport function parseStoryboard(yamlContent: string): Storyboard {\n const parsed = parse(yamlContent) as Storyboard;\n if (!parsed?.id || !parsed?.phases) {\n throw new Error('Invalid storyboard YAML: missing required fields (id, phases)');\n }\n if (Object.prototype.hasOwnProperty.call(parsed, 'compliance_dir')) {\n throw new Error(\n 'Invalid storyboard YAML: compliance_dir is loader-owned runtime provenance; select an external cache with runner options instead.'\n );\n }\n for (const phase of parsed.phases) {\n // Specialism YAMLs may declare a phase with no `steps:` — the steps are\n // synthesized at runtime from fixtures (see request-signing/synthesize.ts).\n // Treat missing steps as an empty list so the parser stays phase-agnostic.\n if (!phase.steps) phase.steps = [];\n // YAML uses `name:` for context outputs but our runtime expects `key:`.\n for (const step of phase.steps) {\n if (!step.context_outputs) continue;\n for (const output of step.context_outputs) {\n const raw = output as unknown as Record<string, unknown>;\n if (raw.name && !raw.key) {\n output.key = raw.name as string;\n }\n }\n }\n }\n validateStoryboardShape(parsed);\n return parsed;\n}\n\n/** Load and parse a single storyboard file. Useful for ad-hoc testing of in-development YAMLs. */\nexport function loadStoryboardFile(filePath: string): Storyboard {\n return parseStoryboard(readFileSync(filePath, 'utf-8'));\n}\n\n/**\n * Enforce authoring-time invariants on a Storyboard. Called by\n * `parseStoryboard`, and should also be called by any runner entry point\n * that accepts a programmatically-built `Storyboard` object so the same\n * loud-fail-on-drift guarantee holds regardless of how the storyboard was\n * constructed. Mutates only legacy shorthand fields (resolves\n * `contributes: true` to `contributes_to`) and is idempotent on\n * already-validated inputs.\n */\nexport function validateStoryboardShape(storyboard: Storyboard): void {\n validateRequires(storyboard);\n validateFixtureResolutionDeclarations(storyboard);\n validateRequiredAnyOfTools(storyboard);\n validatePhaseDependsOn(storyboard);\n for (const phase of storyboard.phases) {\n validateBranchSet(storyboard.id, phase);\n if (!phase.steps) continue;\n for (const step of phase.steps) {\n resolveContributesShorthand(storyboard.id, phase, step);\n validateFixtureForMutatingStep(storyboard.id, phase, step);\n validateOmitFlagCoherence(storyboard.id, phase, step);\n validateContextOutputs(storyboard.id, phase, step);\n validateUpstreamAttestationMode(storyboard.id, phase, step);\n validateUpstreamIdentifierPaths(storyboard.id, phase, step);\n validateAdvisoryDeclarations(storyboard.id, phase, step);\n validatePeerSubstitutesFor(storyboard.id, phase, step);\n }\n }\n}\n\nfunction validateAdvisoryDeclarations(\n storyboardId: string,\n phase: { id?: string },\n step: { id?: string; validations?: any[] }\n): void {\n for (let index = 0; index < (step.validations ?? []).length; index++) {\n const validation = step.validations![index];\n if (\n validation?.severity !== undefined &&\n validation.severity !== 'required' &&\n validation.severity !== 'advisory'\n ) {\n const prefix = `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${index}]`;\n throw new Error(`${prefix}.severity: must be either \"required\" or \"advisory\"`);\n }\n if (validation?.severity !== 'advisory') continue;\n const prefix = `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${index}]`;\n const hasExpiry = validation.expires_after_version !== undefined;\n const hasPermanent = validation.permanent_advisory !== undefined;\n if (hasExpiry === hasPermanent) {\n throw new Error(\n `${prefix}: severity \"advisory\" must declare exactly one of expires_after_version or permanent_advisory`\n );\n }\n if (\n hasExpiry &&\n (typeof validation.expires_after_version !== 'string' || !validSemver(validation.expires_after_version))\n ) {\n throw new Error(`${prefix}.expires_after_version: must be a valid semver string`);\n }\n if (\n hasPermanent &&\n (typeof validation.permanent_advisory !== 'object' ||\n validation.permanent_advisory === null ||\n typeof validation.permanent_advisory.reason !== 'string' ||\n validation.permanent_advisory.reason.trim().length === 0)\n ) {\n throw new Error(`${prefix}.permanent_advisory.reason: must be a non-empty string`);\n }\n }\n}\n\nfunction validateUpstreamAttestationMode(\n storyboardId: string,\n phase: { id?: string },\n step: { id?: string; validations?: any[] }\n): void {\n const validations = step.validations ?? [];\n for (let validationIndex = 0; validationIndex < validations.length; validationIndex++) {\n const validation = validations[validationIndex];\n if (validation?.check !== 'upstream_traffic') continue;\n const mode = validation.preferred_attestation_mode;\n if (mode !== undefined && mode !== 'raw' && mode !== 'digest') {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].preferred_attestation_mode: must be \"raw\" or \"digest\"`\n );\n }\n }\n}\n\nfunction validateUpstreamIdentifierPaths(\n storyboardId: string,\n phase: { id?: string },\n step: { id?: string; validations?: any[] }\n): void {\n const validations = step.validations ?? [];\n for (let validationIndex = 0; validationIndex < validations.length; validationIndex++) {\n const validation = validations[validationIndex];\n if (validation?.check !== 'upstream_traffic' || validation.identifier_paths === undefined) continue;\n if (!Array.isArray(validation.identifier_paths)) {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${\n step.id ?? '?'\n }.validations[${validationIndex}].identifier_paths: must be an array of request-payload paths`\n );\n }\n for (let pathIndex = 0; pathIndex < validation.identifier_paths.length; pathIndex++) {\n const path = validation.identifier_paths[pathIndex];\n if (typeof path !== 'string' || path.length === 0) {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].identifier_paths[${pathIndex}]: must be a non-empty string`\n );\n }\n const pathErrorPrefix = `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].identifier_paths[${pathIndex}]`;\n let firstSegment: string;\n try {\n const validated = validateIdentifierPathSyntax(path);\n firstSegment = validated.firstSegment;\n } catch {\n throw new Error(\n `${pathErrorPrefix}: \"${path}\" is unsupported; identifier_paths resolve only against the request payload or sample_request using dotted paths with [*] array selectors`\n );\n }\n const root = firstSegment.toLowerCase();\n if (root === 'request' || root === 'response' || root === 'context') {\n throw new Error(\n `${pathErrorPrefix}: \"${path}\" is unsupported; identifier_paths resolve only against the request payload or sample_request`\n );\n }\n }\n }\n}\n\nfunction validateIdentifierPathSyntax(path: string): { normalized: string; firstSegment: string } {\n const trimmed = path.trim();\n const normalized = trimmed.startsWith('$.') ? trimmed.slice(2) : trimmed;\n if (!IDENTIFIER_PATH_PATTERN.test(normalized)) {\n throw new Error('unsupported identifier path syntax');\n }\n return { normalized, firstSegment: normalized.split(/[.[\\]]/, 1)[0] ?? '' };\n}\n\nfunction validateRequiredAnyOfTools(storyboard: Storyboard): void {\n if (storyboard.required_any_of_tools === undefined) return;\n if (!Array.isArray(storyboard.required_any_of_tools)) {\n throw new Error(`[${storyboard.id}] required_any_of_tools: must be an array of tool-family objects`);\n }\n if (storyboard.required_any_of_tools.length === 0) {\n throw new Error(`[${storyboard.id}] required_any_of_tools: [] is not allowed — omit the field to use no gate`);\n }\n for (let i = 0; i < storyboard.required_any_of_tools.length; i++) {\n const family = storyboard.required_any_of_tools[i] as unknown;\n if (family === null || typeof family !== 'object' || Array.isArray(family)) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}]: must be an object`);\n }\n const { tools, rationale } = family as { tools?: unknown; rationale?: unknown };\n if (!Array.isArray(tools) || tools.length < 2) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].tools: must list at least two tool names`);\n }\n for (const tool of tools) {\n if (typeof tool !== 'string' || tool.length === 0) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].tools: entries must be non-empty strings`);\n }\n }\n if (rationale !== undefined && typeof rationale !== 'string') {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].rationale: must be a string`);\n }\n }\n}\n\n/**\n * Authoring-time validation for `phase.depends_on` (#1161). Each entry\n * must reference a phase declared earlier in the storyboard. Forward\n * references and self-references fail loud at parse time so authoring\n * mistakes (typos, reorderings) don't degrade silently into \"phase\n * always runs\" / \"phase always cascades.\"\n *\n * Rules:\n * - Empty list (`depends_on: []`) is legal — it declares an\n * independent phase. No further validation needed.\n * - Each non-empty entry must be a non-empty string.\n * - Each entry must reference a phase that appears EARLIER in the\n * `storyboard.phases[]` array (forward references are rejected).\n * - A phase cannot depend on itself.\n */\nfunction validatePhaseDependsOn(storyboard: Storyboard): void {\n const phaseIdsSeen = new Set<string>();\n for (const phase of storyboard.phases) {\n if (phase.depends_on !== undefined) {\n if (!Array.isArray(phase.depends_on)) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on must be an array of phase ids`);\n }\n for (const dep of phase.depends_on) {\n if (typeof dep !== 'string' || dep.length === 0) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on entries must be non-empty strings`);\n }\n if (dep === phase.id) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on cannot reference itself`);\n }\n if (!phaseIdsSeen.has(dep)) {\n throw new Error(\n `[${storyboard.id}] phase '${phase.id}': depends_on '${dep}' is not a phase declared earlier in this storyboard (forward and unknown references are rejected)`\n );\n }\n }\n }\n phaseIdsSeen.add(phase.id);\n }\n}\n\n/**\n * Authoring-time validation for `Storyboard.requires` (#1626). The field is\n * an array of non-empty requirement names:\n *\n * - `requires: []` is rejected — an empty array reads as \"no\n * requirements,\" which is the same as omitting the field; failing\n * load forces the author to omit it explicitly.\n * - Each entry must be a non-empty string.\n *\n * Unknown string values are allowed for forward compatibility. Runners that\n * don't know how to satisfy a future requirement skip at runtime with\n * `skip_reason: 'requirement_unmet'` and the authored value in\n * `skip.requirement`.\n */\nfunction validateRequires(storyboard: Storyboard): void {\n if (storyboard.requires === undefined) return;\n if (!Array.isArray(storyboard.requires)) {\n throw new Error(\n `[${storyboard.id}] requires: must be an array of requirement names (got ${typeof storyboard.requires})`\n );\n }\n if (storyboard.requires.length === 0) {\n throw new Error(`[${storyboard.id}] requires: [] is not allowed — omit the field to use the default ([real_wire])`);\n }\n for (let i = 0; i < storyboard.requires.length; i++) {\n const name = storyboard.requires[i];\n if (typeof name !== 'string' || name.length === 0) {\n throw new Error(`[${storyboard.id}] requires[${i}]: entries must be non-empty strings`);\n }\n }\n}\n\n/**\n * Issue #820: mutating tasks (per {@link MUTATING_TASKS}) must have a\n * `sample_request` authored. The fixture is authoritative at run time —\n * there's no sane default payload for a write, and silently fabricating\n * one was the bug factory that produced #780 / #792 / #793 / #802 / #805.\n *\n * Error messages point at the task name, the step id, the storyboard, and\n * suggest the concrete author action.\n *\n * Opt-out: steps with `expect_error: true` that deliberately exercise\n * missing-fixture / malformed-payload seller behavior skip this check —\n * the author is signaling the payload is the test condition.\n *\n * Synthesized phases (`request-signing/synthesize.ts`, controller seeding)\n * start with `phase.steps = []` in YAML and the loader doesn't see the\n * runtime-generated steps, so those paths are not affected.\n */\nfunction validateFixtureForMutatingStep(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (!MUTATING_TASKS.has(step.task)) return;\n if (step.sample_request !== undefined) return;\n if (step.expect_error === true) return;\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}' (task=${step.task}): ` +\n `mutating tasks require a sample_request fixture — the runner no longer fabricates ` +\n `write payloads. Author sample_request in the step or, for intentionally malformed ` +\n `payloads, set expect_error: true.`\n );\n}\n\n/**\n * `omit_account: true` must be paired with `expect_error: true`.\n *\n * An accountless `create_media_buy` will always be rejected by a spec-compliant\n * seller; a step that sets `omit_account` without `expect_error` will be graded\n * as a failure (not a controlled negative test), producing a misleading\n * compliance result. Fail loud at parse time so the author sees the problem\n * during storyboard load, not at run time.\n */\nfunction validateOmitFlagCoherence(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (step.omit_account && step.expect_error !== true) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ` +\n `omit_account: true requires expect_error: true — an accountless ` +\n `create_media_buy will always be rejected by a spec-compliant seller.`\n );\n }\n}\n\n/**\n * Each `context_outputs` entry must declare exactly one source: either\n * `path` (extract from response) or `generate` (mint at run time). An entry\n * with neither is a silent no-op; one with both would silently pick `generate`\n * and ignore `path`. Both are authoring foot-guns that should fail loud.\n */\nfunction validateContextOutputs(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (!step.context_outputs?.length) return;\n for (const output of step.context_outputs) {\n const hasPath = output.path !== undefined;\n const hasGenerate = output.generate !== undefined;\n if (!hasPath && !hasGenerate) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' must set exactly one of 'path' or 'generate'.`\n );\n }\n if (hasPath && hasGenerate) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' sets both 'path' and 'generate' — they are mutually exclusive.`\n );\n }\n // Validate generator name. The runtime resolver also checks but the loader\n // catches typos at storyboard-load time so authors see the failure on\n // build, not on the first run.\n if (hasGenerate && output.generate !== 'uuid_v4' && output.generate !== 'opaque_id') {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' has unknown generate value '${output.generate}'. ` +\n `Supported: 'uuid_v4', 'opaque_id'.`\n );\n }\n }\n}\n\n/**\n * Authoring-time validation for `provides_state_for` (the AdCP 3.0.3 spec\n * field — adcp#3734) and the legacy `peer_substitutes_for` synonym. The\n * runner treats the field as same-phase-only and substitution-only-when-\n * stateful; surface those constraints at parse time so storyboard authors\n * see typos and cross-phase references on build, not as a silent no-rescue\n * at run time.\n *\n * Both field names parse to the same canonical normalized form on the step\n * object (the spec name `provides_state_for` is preferred when both are\n * declared). The deprecation alias is documented in `types.ts`.\n *\n * Rules:\n * - Each target must reference a step that exists in the same phase.\n * - A step cannot substitute for itself.\n * - The substitute step itself must be `stateful: true` — non-stateful\n * passes don't establish state per the cascade contract.\n * - The target step must be `stateful: true` — non-stateful targets\n * don't participate in cascade gating, so a substitution declaration\n * would be a no-op.\n * - When both fields are declared on the same step, they must match\n * element-for-element (the deprecation contract is \"synonym for\", not\n * \"additive with\").\n */\nfunction validatePeerSubstitutesFor(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n const newField = step.provides_state_for;\n const legacyField = step.peer_substitutes_for;\n if (newField === undefined && legacyField === undefined) return;\n\n if (newField !== undefined && legacyField !== undefined) {\n // Order-sensitive equality: `[A, B]` vs `[B, A]` would throw despite being\n // semantically equivalent. Authors mid-migration should write the same list\n // in both fields; the deprecation alias is a literal synonym, not a\n // same-set restatement.\n const a = JSON.stringify(Array.isArray(newField) ? newField : [newField]);\n const b = JSON.stringify(Array.isArray(legacyField) ? legacyField : [legacyField]);\n if (a !== b) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': both provides_state_for and ` +\n `peer_substitutes_for declared with different values — pick one (provides_state_for is the ` +\n `spec field; peer_substitutes_for is a deprecated synonym)`\n );\n }\n }\n\n // Normalize onto provides_state_for so the runner can read a single field.\n // peer_substitutes_for stays for back-compat with any consumer code that\n // already reads it.\n if (newField === undefined && legacyField !== undefined) {\n step.provides_state_for = legacyField;\n } else if (newField !== undefined && legacyField === undefined) {\n step.peer_substitutes_for = newField;\n }\n\n const sourceFieldName = newField !== undefined ? 'provides_state_for' : 'peer_substitutes_for';\n const declared = step.provides_state_for!;\n const targets = Array.isArray(declared) ? declared : [declared];\n if (!step.stateful) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} is only legal on stateful steps`\n );\n }\n const phaseStepIds = new Map(phase.steps.map(s => [s.id, s]));\n for (const target of targets) {\n if (typeof target !== 'string' || target.length === 0) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} entries must be non-empty strings`\n );\n }\n if (target === step.id) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} cannot reference itself`\n );\n }\n const targetStep = phaseStepIds.get(target);\n if (!targetStep) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} target '${target}' is not a step in this phase (same-phase only)`\n );\n }\n if (!targetStep.stateful) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} target '${target}' must be stateful`\n );\n }\n }\n}\n\nfunction validateBranchSet(storyboardId: string, phase: Storyboard['phases'][number]): void {\n if (phase.branch_set === undefined) return;\n const bs = phase.branch_set as unknown;\n if (!bs || typeof bs !== 'object') {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set must be an object with { id, semantics }`);\n }\n const { id, semantics } = bs as Record<string, unknown>;\n if (typeof id !== 'string' || id.length === 0) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set.id must be a non-empty string`);\n }\n if (typeof semantics !== 'string' || semantics.length === 0) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set.semantics must be a non-empty string`);\n }\n // Only `any_of` is defined in AdCP today (adcp#2646 lint rule 2 —\n // `at_least_n` and `all_of` are reserved but not defined). Reject unknown\n // values at parse rather than silently skipping grading at runtime, so\n // spec-drift typos fail loud instead of degrading to raw `failed` peers.\n if (!(BRANCH_SET_SEMANTICS as readonly string[]).includes(semantics)) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}': branch_set.semantics='${semantics}' is not supported (valid: ${BRANCH_SET_SEMANTICS.join(', ')})`\n );\n }\n // Schema constraint: every phase in a branch set MUST be optional. A\n // non-optional branch-set phase would fail the storyboard on any step\n // failure regardless of peer contribution, defeating the any_of gate.\n if (phase.optional !== true) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': phases declaring branch_set must set 'optional: true'`);\n }\n}\n\n/**\n * Resolve the `contributes: true` boolean shorthand introduced alongside the\n * first-class `branch_set:` phase field (adcp-client#693, adcp#2646).\n *\n * Rules:\n * - `contributes: true` is legal only inside a phase that declares `branch_set:`.\n * - A step MUST NOT set both `contributes` and `contributes_to` (ambiguous).\n * - A string `contributes_to` inside a branch_set phase MUST equal `branch_set.id`\n * (otherwise the aggregation target drifts — same invariant the spec lint enforces).\n *\n * After resolution, `step.contributes_to` carries the flag name and `step.contributes`\n * is cleared, so the runner reads a single field regardless of authoring form.\n */\nfunction resolveContributesShorthand(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n const hasBoolean = step.contributes !== undefined;\n const hasString = step.contributes_to !== undefined;\n\n if (hasBoolean && hasString) {\n throw new Error(`[${storyboardId}] step '${step.id}' declares both 'contributes' and 'contributes_to' — pick one`);\n }\n\n if (hasBoolean) {\n if (step.contributes === true) {\n if (!phase.branch_set) {\n throw new Error(\n `[${storyboardId}] step '${step.id}': 'contributes: true' is only legal inside a phase that declares branch_set`\n );\n }\n step.contributes_to = phase.branch_set.id;\n }\n delete step.contributes;\n return;\n }\n\n if (hasString && phase.branch_set && step.contributes_to !== phase.branch_set.id) {\n throw new Error(\n `[${storyboardId}] step '${step.id}': contributes_to='${step.contributes_to}' must equal enclosing phase's branch_set.id='${phase.branch_set.id}'`\n );\n }\n}\n"],"mappings":"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","names":["prefix","validSemver"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/testing/storyboard/loader.ts"],"sourcesContent":["/**\n * Storyboard YAML parser.\n *\n * Storyboards are pulled from the compliance cache populated by\n * `npm run sync-schemas`. See `./compliance.ts` for capability-driven\n * resolution and bundle loading.\n */\n\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport type { Storyboard } from './types';\nimport { MUTATING_TASKS } from '../../utils/idempotency';\nimport { validateFixtureResolutionDeclarations } from './fixture-resolution';\nimport { valid as validSemver } from 'semver';\n\n/**\n * Supported `branch_set.semantics` values. Extend when AdCP adds `all_of`,\n * `at_least_n`, etc. Exported so the runner can enforce the same whitelist\n * on programmatically-constructed storyboards that bypass the YAML parser.\n */\nexport const BRANCH_SET_SEMANTICS = ['any_of'] as const;\n\nconst IDENTIFIER_PATH_SEGMENT = String.raw`[A-Za-z_][A-Za-z0-9_-]*(?:\\[\\*\\])*`;\nconst IDENTIFIER_PATH_PATTERN = new RegExp(`^${IDENTIFIER_PATH_SEGMENT}(?:\\\\.${IDENTIFIER_PATH_SEGMENT})*$`);\n\n/** Parse a YAML string into a Storyboard. Throws if required fields are missing. */\nexport function parseStoryboard(yamlContent: string): Storyboard {\n const parsed = parse(yamlContent) as Storyboard;\n if (!parsed?.id || !parsed?.phases) {\n throw new Error('Invalid storyboard YAML: missing required fields (id, phases)');\n }\n if (Object.prototype.hasOwnProperty.call(parsed, 'compliance_dir')) {\n throw new Error(\n 'Invalid storyboard YAML: compliance_dir is loader-owned runtime provenance; select an external cache with runner options instead.'\n );\n }\n for (const phase of parsed.phases) {\n // Specialism YAMLs may declare a phase with no `steps:` — the steps are\n // synthesized at runtime from fixtures (see request-signing/synthesize.ts).\n // Treat missing steps as an empty list so the parser stays phase-agnostic.\n if (!phase.steps) phase.steps = [];\n // YAML uses `name:` for context outputs but our runtime expects `key:`.\n for (const step of phase.steps) {\n if (!step.context_outputs) continue;\n for (const output of step.context_outputs) {\n const raw = output as unknown as Record<string, unknown>;\n if (raw.name && !raw.key) {\n output.key = raw.name as string;\n }\n }\n }\n }\n validateStoryboardShape(parsed);\n return parsed;\n}\n\n/** Load and parse a single storyboard file. Useful for ad-hoc testing of in-development YAMLs. */\nexport function loadStoryboardFile(filePath: string): Storyboard {\n return parseStoryboard(readFileSync(filePath, 'utf-8'));\n}\n\n/**\n * Enforce authoring-time invariants on a Storyboard. Called by\n * `parseStoryboard`, and should also be called by any runner entry point\n * that accepts a programmatically-built `Storyboard` object so the same\n * loud-fail-on-drift guarantee holds regardless of how the storyboard was\n * constructed. Mutates only legacy shorthand fields (resolves\n * `contributes: true` to `contributes_to`) and is idempotent on\n * already-validated inputs.\n */\nexport function validateStoryboardShape(storyboard: Storyboard): void {\n validateRequires(storyboard);\n validateFixtureResolutionDeclarations(storyboard);\n validateRequiredAnyOfTools(storyboard);\n validatePhaseDependsOn(storyboard);\n for (const phase of storyboard.phases) {\n validateBranchSet(storyboard.id, phase);\n if (!phase.steps) continue;\n for (const step of phase.steps) {\n if (\n step.enrich_request !== undefined &&\n (step.enrich_request !== true || !step.expect_error || step.negative_path !== 'payload_well_formed')\n ) {\n throw new Error(\n `[${storyboard.id}] ${step.id}: enrich_request requires expect_error: true and negative_path: payload_well_formed`\n );\n }\n resolveContributesShorthand(storyboard.id, phase, step);\n validateFixtureForMutatingStep(storyboard.id, phase, step);\n validateOmitFlagCoherence(storyboard.id, phase, step);\n validateContextOutputs(storyboard.id, phase, step);\n validateUpstreamAttestationMode(storyboard.id, phase, step);\n validateUpstreamIdentifierPaths(storyboard.id, phase, step);\n validateAdvisoryDeclarations(storyboard.id, phase, step);\n validatePeerSubstitutesFor(storyboard.id, phase, step);\n }\n }\n}\n\nfunction validateAdvisoryDeclarations(\n storyboardId: string,\n phase: { id?: string },\n step: { id?: string; validations?: any[] }\n): void {\n for (let index = 0; index < (step.validations ?? []).length; index++) {\n const validation = step.validations![index];\n if (\n validation?.severity !== undefined &&\n validation.severity !== 'required' &&\n validation.severity !== 'advisory'\n ) {\n const prefix = `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${index}]`;\n throw new Error(`${prefix}.severity: must be either \"required\" or \"advisory\"`);\n }\n if (validation?.severity !== 'advisory') continue;\n const prefix = `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${index}]`;\n const hasExpiry = validation.expires_after_version !== undefined;\n const hasPermanent = validation.permanent_advisory !== undefined;\n if (hasExpiry === hasPermanent) {\n throw new Error(\n `${prefix}: severity \"advisory\" must declare exactly one of expires_after_version or permanent_advisory`\n );\n }\n if (\n hasExpiry &&\n (typeof validation.expires_after_version !== 'string' || !validSemver(validation.expires_after_version))\n ) {\n throw new Error(`${prefix}.expires_after_version: must be a valid semver string`);\n }\n if (\n hasPermanent &&\n (typeof validation.permanent_advisory !== 'object' ||\n validation.permanent_advisory === null ||\n typeof validation.permanent_advisory.reason !== 'string' ||\n validation.permanent_advisory.reason.trim().length === 0)\n ) {\n throw new Error(`${prefix}.permanent_advisory.reason: must be a non-empty string`);\n }\n }\n}\n\nfunction validateUpstreamAttestationMode(\n storyboardId: string,\n phase: { id?: string },\n step: { id?: string; validations?: any[] }\n): void {\n const validations = step.validations ?? [];\n for (let validationIndex = 0; validationIndex < validations.length; validationIndex++) {\n const validation = validations[validationIndex];\n if (validation?.check !== 'upstream_traffic') continue;\n const mode = validation.preferred_attestation_mode;\n if (mode !== undefined && mode !== 'raw' && mode !== 'digest') {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].preferred_attestation_mode: must be \"raw\" or \"digest\"`\n );\n }\n }\n}\n\nfunction validateUpstreamIdentifierPaths(\n storyboardId: string,\n phase: { id?: string },\n step: { id?: string; validations?: any[] }\n): void {\n const validations = step.validations ?? [];\n for (let validationIndex = 0; validationIndex < validations.length; validationIndex++) {\n const validation = validations[validationIndex];\n if (validation?.check !== 'upstream_traffic' || validation.identifier_paths === undefined) continue;\n if (!Array.isArray(validation.identifier_paths)) {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${\n step.id ?? '?'\n }.validations[${validationIndex}].identifier_paths: must be an array of request-payload paths`\n );\n }\n for (let pathIndex = 0; pathIndex < validation.identifier_paths.length; pathIndex++) {\n const path = validation.identifier_paths[pathIndex];\n if (typeof path !== 'string' || path.length === 0) {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].identifier_paths[${pathIndex}]: must be a non-empty string`\n );\n }\n const pathErrorPrefix = `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].identifier_paths[${pathIndex}]`;\n let firstSegment: string;\n try {\n const validated = validateIdentifierPathSyntax(path);\n firstSegment = validated.firstSegment;\n } catch {\n throw new Error(\n `${pathErrorPrefix}: \"${path}\" is unsupported; identifier_paths resolve only against the request payload or sample_request using dotted paths with [*] array selectors`\n );\n }\n const root = firstSegment.toLowerCase();\n if (root === 'request' || root === 'response' || root === 'context') {\n throw new Error(\n `${pathErrorPrefix}: \"${path}\" is unsupported; identifier_paths resolve only against the request payload or sample_request`\n );\n }\n }\n }\n}\n\nfunction validateIdentifierPathSyntax(path: string): { normalized: string; firstSegment: string } {\n const trimmed = path.trim();\n const normalized = trimmed.startsWith('$.') ? trimmed.slice(2) : trimmed;\n if (!IDENTIFIER_PATH_PATTERN.test(normalized)) {\n throw new Error('unsupported identifier path syntax');\n }\n return { normalized, firstSegment: normalized.split(/[.[\\]]/, 1)[0] ?? '' };\n}\n\nfunction validateRequiredAnyOfTools(storyboard: Storyboard): void {\n if (storyboard.required_any_of_tools === undefined) return;\n if (!Array.isArray(storyboard.required_any_of_tools)) {\n throw new Error(`[${storyboard.id}] required_any_of_tools: must be an array of tool-family objects`);\n }\n if (storyboard.required_any_of_tools.length === 0) {\n throw new Error(`[${storyboard.id}] required_any_of_tools: [] is not allowed — omit the field to use no gate`);\n }\n for (let i = 0; i < storyboard.required_any_of_tools.length; i++) {\n const family = storyboard.required_any_of_tools[i] as unknown;\n if (family === null || typeof family !== 'object' || Array.isArray(family)) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}]: must be an object`);\n }\n const { tools, rationale } = family as { tools?: unknown; rationale?: unknown };\n if (!Array.isArray(tools) || tools.length < 2) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].tools: must list at least two tool names`);\n }\n for (const tool of tools) {\n if (typeof tool !== 'string' || tool.length === 0) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].tools: entries must be non-empty strings`);\n }\n }\n if (rationale !== undefined && typeof rationale !== 'string') {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].rationale: must be a string`);\n }\n }\n}\n\n/**\n * Authoring-time validation for `phase.depends_on` (#1161). Each entry\n * must reference a phase declared earlier in the storyboard. Forward\n * references and self-references fail loud at parse time so authoring\n * mistakes (typos, reorderings) don't degrade silently into \"phase\n * always runs\" / \"phase always cascades.\"\n *\n * Rules:\n * - Empty list (`depends_on: []`) is legal — it declares an\n * independent phase. No further validation needed.\n * - Each non-empty entry must be a non-empty string.\n * - Each entry must reference a phase that appears EARLIER in the\n * `storyboard.phases[]` array (forward references are rejected).\n * - A phase cannot depend on itself.\n */\nfunction validatePhaseDependsOn(storyboard: Storyboard): void {\n const phaseIdsSeen = new Set<string>();\n for (const phase of storyboard.phases) {\n if (phase.depends_on !== undefined) {\n if (!Array.isArray(phase.depends_on)) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on must be an array of phase ids`);\n }\n for (const dep of phase.depends_on) {\n if (typeof dep !== 'string' || dep.length === 0) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on entries must be non-empty strings`);\n }\n if (dep === phase.id) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on cannot reference itself`);\n }\n if (!phaseIdsSeen.has(dep)) {\n throw new Error(\n `[${storyboard.id}] phase '${phase.id}': depends_on '${dep}' is not a phase declared earlier in this storyboard (forward and unknown references are rejected)`\n );\n }\n }\n }\n phaseIdsSeen.add(phase.id);\n }\n}\n\n/**\n * Authoring-time validation for `Storyboard.requires` (#1626). The field is\n * an array of non-empty requirement names:\n *\n * - `requires: []` is rejected — an empty array reads as \"no\n * requirements,\" which is the same as omitting the field; failing\n * load forces the author to omit it explicitly.\n * - Each entry must be a non-empty string.\n *\n * Unknown string values are allowed for forward compatibility. Runners that\n * don't know how to satisfy a future requirement skip at runtime with\n * `skip_reason: 'requirement_unmet'` and the authored value in\n * `skip.requirement`.\n */\nfunction validateRequires(storyboard: Storyboard): void {\n if (storyboard.requires === undefined) return;\n if (!Array.isArray(storyboard.requires)) {\n throw new Error(\n `[${storyboard.id}] requires: must be an array of requirement names (got ${typeof storyboard.requires})`\n );\n }\n if (storyboard.requires.length === 0) {\n throw new Error(`[${storyboard.id}] requires: [] is not allowed — omit the field to use the default ([real_wire])`);\n }\n for (let i = 0; i < storyboard.requires.length; i++) {\n const name = storyboard.requires[i];\n if (typeof name !== 'string' || name.length === 0) {\n throw new Error(`[${storyboard.id}] requires[${i}]: entries must be non-empty strings`);\n }\n }\n}\n\n/**\n * Issue #820: mutating tasks (per {@link MUTATING_TASKS}) must have a\n * `sample_request` authored. The fixture is authoritative at run time —\n * there's no sane default payload for a write, and silently fabricating\n * one was the bug factory that produced #780 / #792 / #793 / #802 / #805.\n *\n * Error messages point at the task name, the step id, the storyboard, and\n * suggest the concrete author action.\n *\n * Opt-out: steps with `expect_error: true` that deliberately exercise\n * missing-fixture / malformed-payload seller behavior skip this check —\n * the author is signaling the payload is the test condition.\n *\n * Synthesized phases (`request-signing/synthesize.ts`, controller seeding)\n * start with `phase.steps = []` in YAML and the loader doesn't see the\n * runtime-generated steps, so those paths are not affected.\n */\nfunction validateFixtureForMutatingStep(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (!MUTATING_TASKS.has(step.task)) return;\n if (step.sample_request !== undefined) return;\n if (step.expect_error === true) return;\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}' (task=${step.task}): ` +\n `mutating tasks require a sample_request fixture — the runner no longer fabricates ` +\n `write payloads. Author sample_request in the step or, for intentionally malformed ` +\n `payloads, set expect_error: true.`\n );\n}\n\n/**\n * `omit_account: true` must be paired with `expect_error: true`.\n *\n * An accountless `create_media_buy` will always be rejected by a spec-compliant\n * seller; a step that sets `omit_account` without `expect_error` will be graded\n * as a failure (not a controlled negative test), producing a misleading\n * compliance result. Fail loud at parse time so the author sees the problem\n * during storyboard load, not at run time.\n */\nfunction validateOmitFlagCoherence(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (step.omit_account && step.expect_error !== true) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ` +\n `omit_account: true requires expect_error: true — an accountless ` +\n `create_media_buy will always be rejected by a spec-compliant seller.`\n );\n }\n}\n\n/**\n * Each `context_outputs` entry must declare exactly one source: either\n * `path` (extract from response) or `generate` (mint at run time). An entry\n * with neither is a silent no-op; one with both would silently pick `generate`\n * and ignore `path`. Both are authoring foot-guns that should fail loud.\n */\nfunction validateContextOutputs(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (!step.context_outputs?.length) return;\n for (const output of step.context_outputs) {\n const hasPath = output.path !== undefined;\n const hasGenerate = output.generate !== undefined;\n if (!hasPath && !hasGenerate) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' must set exactly one of 'path' or 'generate'.`\n );\n }\n if (hasPath && hasGenerate) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' sets both 'path' and 'generate' — they are mutually exclusive.`\n );\n }\n // Validate generator name. The runtime resolver also checks but the loader\n // catches typos at storyboard-load time so authors see the failure on\n // build, not on the first run.\n if (hasGenerate && output.generate !== 'uuid_v4' && output.generate !== 'opaque_id') {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' has unknown generate value '${output.generate}'. ` +\n `Supported: 'uuid_v4', 'opaque_id'.`\n );\n }\n }\n}\n\n/**\n * Authoring-time validation for `provides_state_for` (the AdCP 3.0.3 spec\n * field — adcp#3734) and the legacy `peer_substitutes_for` synonym. The\n * runner treats the field as same-phase-only and substitution-only-when-\n * stateful; surface those constraints at parse time so storyboard authors\n * see typos and cross-phase references on build, not as a silent no-rescue\n * at run time.\n *\n * Both field names parse to the same canonical normalized form on the step\n * object (the spec name `provides_state_for` is preferred when both are\n * declared). The deprecation alias is documented in `types.ts`.\n *\n * Rules:\n * - Each target must reference a step that exists in the same phase.\n * - A step cannot substitute for itself.\n * - The substitute step itself must be `stateful: true` — non-stateful\n * passes don't establish state per the cascade contract.\n * - The target step must be `stateful: true` — non-stateful targets\n * don't participate in cascade gating, so a substitution declaration\n * would be a no-op.\n * - When both fields are declared on the same step, they must match\n * element-for-element (the deprecation contract is \"synonym for\", not\n * \"additive with\").\n */\nfunction validatePeerSubstitutesFor(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n const newField = step.provides_state_for;\n const legacyField = step.peer_substitutes_for;\n if (newField === undefined && legacyField === undefined) return;\n\n if (newField !== undefined && legacyField !== undefined) {\n // Order-sensitive equality: `[A, B]` vs `[B, A]` would throw despite being\n // semantically equivalent. Authors mid-migration should write the same list\n // in both fields; the deprecation alias is a literal synonym, not a\n // same-set restatement.\n const a = JSON.stringify(Array.isArray(newField) ? newField : [newField]);\n const b = JSON.stringify(Array.isArray(legacyField) ? legacyField : [legacyField]);\n if (a !== b) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': both provides_state_for and ` +\n `peer_substitutes_for declared with different values — pick one (provides_state_for is the ` +\n `spec field; peer_substitutes_for is a deprecated synonym)`\n );\n }\n }\n\n // Normalize onto provides_state_for so the runner can read a single field.\n // peer_substitutes_for stays for back-compat with any consumer code that\n // already reads it.\n if (newField === undefined && legacyField !== undefined) {\n step.provides_state_for = legacyField;\n } else if (newField !== undefined && legacyField === undefined) {\n step.peer_substitutes_for = newField;\n }\n\n const sourceFieldName = newField !== undefined ? 'provides_state_for' : 'peer_substitutes_for';\n const declared = step.provides_state_for!;\n const targets = Array.isArray(declared) ? declared : [declared];\n if (!step.stateful) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} is only legal on stateful steps`\n );\n }\n const phaseStepIds = new Map(phase.steps.map(s => [s.id, s]));\n for (const target of targets) {\n if (typeof target !== 'string' || target.length === 0) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} entries must be non-empty strings`\n );\n }\n if (target === step.id) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} cannot reference itself`\n );\n }\n const targetStep = phaseStepIds.get(target);\n if (!targetStep) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} target '${target}' is not a step in this phase (same-phase only)`\n );\n }\n if (!targetStep.stateful) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} target '${target}' must be stateful`\n );\n }\n }\n}\n\nfunction validateBranchSet(storyboardId: string, phase: Storyboard['phases'][number]): void {\n if (phase.branch_set === undefined) return;\n const bs = phase.branch_set as unknown;\n if (!bs || typeof bs !== 'object') {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set must be an object with { id, semantics }`);\n }\n const { id, semantics } = bs as Record<string, unknown>;\n if (typeof id !== 'string' || id.length === 0) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set.id must be a non-empty string`);\n }\n if (typeof semantics !== 'string' || semantics.length === 0) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set.semantics must be a non-empty string`);\n }\n // Only `any_of` is defined in AdCP today (adcp#2646 lint rule 2 —\n // `at_least_n` and `all_of` are reserved but not defined). Reject unknown\n // values at parse rather than silently skipping grading at runtime, so\n // spec-drift typos fail loud instead of degrading to raw `failed` peers.\n if (!(BRANCH_SET_SEMANTICS as readonly string[]).includes(semantics)) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}': branch_set.semantics='${semantics}' is not supported (valid: ${BRANCH_SET_SEMANTICS.join(', ')})`\n );\n }\n // Schema constraint: every phase in a branch set MUST be optional. A\n // non-optional branch-set phase would fail the storyboard on any step\n // failure regardless of peer contribution, defeating the any_of gate.\n if (phase.optional !== true) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': phases declaring branch_set must set 'optional: true'`);\n }\n}\n\n/**\n * Resolve the `contributes: true` boolean shorthand introduced alongside the\n * first-class `branch_set:` phase field (adcp-client#693, adcp#2646).\n *\n * Rules:\n * - `contributes: true` is legal only inside a phase that declares `branch_set:`.\n * - A step MUST NOT set both `contributes` and `contributes_to` (ambiguous).\n * - A string `contributes_to` inside a branch_set phase MUST equal `branch_set.id`\n * (otherwise the aggregation target drifts — same invariant the spec lint enforces).\n *\n * After resolution, `step.contributes_to` carries the flag name and `step.contributes`\n * is cleared, so the runner reads a single field regardless of authoring form.\n */\nfunction resolveContributesShorthand(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n const hasBoolean = step.contributes !== undefined;\n const hasString = step.contributes_to !== undefined;\n\n if (hasBoolean && hasString) {\n throw new Error(`[${storyboardId}] step '${step.id}' declares both 'contributes' and 'contributes_to' — pick one`);\n }\n\n if (hasBoolean) {\n if (step.contributes === true) {\n if (!phase.branch_set) {\n throw new Error(\n `[${storyboardId}] step '${step.id}': 'contributes: true' is only legal inside a phase that declares branch_set`\n );\n }\n step.contributes_to = phase.branch_set.id;\n }\n delete step.contributes;\n return;\n }\n\n if (hasString && phase.branch_set && step.contributes_to !== phase.branch_set.id) {\n throw new Error(\n `[${storyboardId}] step '${step.id}': contributes_to='${step.contributes_to}' must equal enclosing phase's branch_set.id='${phase.branch_set.id}'`\n );\n }\n}\n"],"mappings":"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","names":["prefix","validSemver"]}
|
|
@@ -43,6 +43,11 @@ function validateStoryboardShape(storyboard) {
|
|
|
43
43
|
validateBranchSet(storyboard.id, phase);
|
|
44
44
|
if (!phase.steps) continue;
|
|
45
45
|
for (const step of phase.steps) {
|
|
46
|
+
if (step.enrich_request !== void 0 && (step.enrich_request !== true || !step.expect_error || step.negative_path !== "payload_well_formed")) {
|
|
47
|
+
throw new Error(
|
|
48
|
+
`[${storyboard.id}] ${step.id}: enrich_request requires expect_error: true and negative_path: payload_well_formed`
|
|
49
|
+
);
|
|
50
|
+
}
|
|
46
51
|
resolveContributesShorthand(storyboard.id, phase, step);
|
|
47
52
|
validateFixtureForMutatingStep(storyboard.id, phase, step);
|
|
48
53
|
validateOmitFlagCoherence(storyboard.id, phase, step);
|