@adcp/sdk 7.11.1 → 7.11.3
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/compliance/cache/{3.0.12 → 3.0.18}/domains/creative/index.yaml +2 -1
- package/compliance/cache/{3.0.12/protocols → 3.0.18/domains}/media-buy/creative-reception.yaml +1 -0
- package/compliance/cache/{3.0.12/protocols → 3.0.18/domains}/media-buy/scenarios/measurement_terms_rejected.yaml +19 -11
- package/compliance/cache/{3.0.12.previous → 3.0.18}/domains/media-buy/scenarios/proposal_finalize.yaml +6 -0
- package/compliance/cache/{3.0.12.previous/protocols → 3.0.18/domains}/media-buy/state-machine.yaml +82 -13
- package/compliance/cache/{3.0.12 → 3.0.18}/index.json +3 -2
- package/compliance/cache/{3.0.12 → 3.0.18}/protocols/creative/index.yaml +2 -1
- package/compliance/cache/{3.0.12.previous/domains → 3.0.18/protocols}/media-buy/creative-reception.yaml +1 -0
- package/compliance/cache/{3.0.12.previous → 3.0.18}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +19 -11
- package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/proposal_finalize.yaml +6 -0
- package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/state-machine.yaml +82 -13
- package/compliance/cache/{3.0.12.previous → 3.0.18}/specialisms/creative-template/index.yaml +1 -0
- package/compliance/cache/{3.0.12 → 3.0.18}/test-kits/webhook-receiver-runner.yaml +9 -9
- package/compliance/cache/{3.0.12 → 3.0.18}/universal/idempotency.yaml +327 -124
- package/compliance/cache/{3.0.12.previous → 3.0.18}/universal/schema-validation.yaml +52 -13
- package/compliance/cache/{3.0.12 → 3.0.18}/universal/security.yaml +170 -61
- package/compliance/cache/{3.0.12 → 3.0.18}/universal/storyboard-schema.yaml +43 -23
- package/compliance/cache/{3.0.12.previous → 3.0.18}/universal/v3-envelope-integrity.yaml +20 -1
- package/compliance/cache/3.0.18/universal/webhook-emission.yaml +751 -0
- package/compliance/cache/{3.0.12.previous/protocols → 3.0.18.previous/domains}/creative/index.yaml +2 -1
- package/compliance/cache/{3.0.12.previous/protocols → 3.0.18.previous/domains}/media-buy/creative-reception.yaml +1 -0
- package/compliance/cache/{3.1.0-rc.2 → 3.0.18.previous}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +5 -4
- package/compliance/cache/{3.0.12.previous/protocols → 3.0.18.previous/domains}/media-buy/scenarios/proposal_finalize.yaml +6 -0
- package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/state-machine.yaml +82 -13
- package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/index.json +3 -2
- package/compliance/cache/{3.0.12.previous/domains → 3.0.18.previous/protocols}/creative/index.yaml +2 -1
- package/compliance/cache/{3.0.12/domains → 3.0.18.previous/protocols}/media-buy/creative-reception.yaml +1 -0
- package/compliance/cache/{3.1.0-rc.2 → 3.0.18.previous}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +5 -4
- package/compliance/cache/{3.0.12/domains → 3.0.18.previous/protocols}/media-buy/scenarios/proposal_finalize.yaml +6 -0
- package/compliance/cache/{3.0.12/domains → 3.0.18.previous/protocols}/media-buy/state-machine.yaml +82 -13
- package/compliance/cache/{3.0.12 → 3.0.18.previous}/specialisms/creative-template/index.yaml +1 -0
- package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-kits/webhook-receiver-runner.yaml +9 -9
- package/compliance/cache/{3.1.0-rc.2 → 3.0.18.previous}/universal/idempotency.yaml +56 -108
- package/compliance/cache/{3.1.0-rc.2 → 3.0.18.previous}/universal/schema-validation.yaml +25 -8
- package/compliance/cache/{3.1.0-rc.2 → 3.0.18.previous}/universal/security.yaml +29 -28
- package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/storyboard-schema.yaml +43 -23
- package/compliance/cache/{3.1.0-rc.2 → 3.0.18.previous}/universal/v3-envelope-integrity.yaml +22 -14
- package/compliance/cache/{3.1.0-rc.2 → 3.0.18.previous}/universal/webhook-emission.yaml +362 -22
- package/dist/lib/core/AgentClient.d.ts +1 -1
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/core/ResponseValidator.d.ts +2 -0
- package/dist/lib/core/ResponseValidator.d.ts.map +1 -1
- package/dist/lib/core/ResponseValidator.js +3 -3
- package/dist/lib/core/ResponseValidator.js.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.ts +6 -0
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +1 -0
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +6 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +15 -1
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/protocols/index.d.ts +10 -2
- package/dist/lib/protocols/index.d.ts.map +1 -1
- package/dist/lib/protocols/index.js +14 -6
- package/dist/lib/protocols/index.js.map +1 -1
- package/dist/lib/schemas-data/3.0/a2ui/bound-value.json +1 -1
- package/dist/lib/schemas-data/3.0/a2ui/component.json +1 -1
- package/dist/lib/schemas-data/3.0/a2ui/si-catalog.json +25 -25
- package/dist/lib/schemas-data/3.0/a2ui/surface.json +2 -2
- package/dist/lib/schemas-data/3.0/a2ui/user-action.json +1 -1
- package/dist/lib/schemas-data/3.0/account/get-account-financials-request.json +5 -5
- package/dist/lib/schemas-data/3.0/account/get-account-financials-response.json +10 -10
- package/dist/lib/schemas-data/3.0/account/list-accounts-request.json +4 -4
- package/dist/lib/schemas-data/3.0/account/list-accounts-response.json +6 -6
- package/dist/lib/schemas-data/3.0/account/report-usage-request.json +5 -5
- package/dist/lib/schemas-data/3.0/account/report-usage-response.json +4 -4
- package/dist/lib/schemas-data/3.0/account/sync-accounts-request.json +9 -9
- package/dist/lib/schemas-data/3.0/account/sync-accounts-response.json +12 -12
- package/dist/lib/schemas-data/3.0/account/sync-governance-request.json +5 -5
- package/dist/lib/schemas-data/3.0/account/sync-governance-response.json +8 -8
- package/dist/lib/schemas-data/3.0/adagents.json +32 -32
- package/dist/lib/schemas-data/3.0/brand/acquire-rights-request.json +8 -8
- package/dist/lib/schemas-data/3.0/brand/acquire-rights-response.json +14 -14
- package/dist/lib/schemas-data/3.0/brand/creative-approval-request.json +4 -4
- package/dist/lib/schemas-data/3.0/brand/creative-approval-response.json +10 -10
- package/dist/lib/schemas-data/3.0/brand/get-brand-identity-request.json +3 -3
- package/dist/lib/schemas-data/3.0/brand/get-brand-identity-response.json +8 -8
- package/dist/lib/schemas-data/3.0/brand/get-rights-request.json +7 -7
- package/dist/lib/schemas-data/3.0/brand/get-rights-response.json +9 -9
- package/dist/lib/schemas-data/3.0/brand/revocation-notification.json +4 -4
- package/dist/lib/schemas-data/3.0/brand/rights-pricing-option.json +5 -5
- package/dist/lib/schemas-data/3.0/brand/rights-terms.json +3 -3
- package/dist/lib/schemas-data/3.0/brand/update-rights-request.json +4 -4
- package/dist/lib/schemas-data/3.0/brand/update-rights-response.json +9 -9
- package/dist/lib/schemas-data/3.0/brand.json +14 -14
- package/dist/lib/schemas-data/3.0/bundled/content-standards/calibrate-content-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/calibrate-content-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/create-content-standards-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/create-content-standards-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/get-content-standards-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/get-content-standards-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/get-media-buy-artifacts-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/get-media-buy-artifacts-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/list-content-standards-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/list-content-standards-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/update-content-standards-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/update-content-standards-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/validate-content-delivery-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/content-standards/validate-content-delivery-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/core/tasks-get-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/core/tasks-get-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/core/tasks-list-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/core/tasks-list-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-delivery-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-delivery-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-features-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-features-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/list-creative-formats-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/list-creative-formats-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/list-creatives-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/list-creatives-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/preview-creative-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/preview-creative-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/sync-creatives-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/creative/sync-creatives-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/build-creative-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/build-creative-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/create-media-buy-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/create-media-buy-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buy-delivery-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buy-delivery-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buys-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buys-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-products-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/get-products-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/list-creative-formats-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/list-creative-formats-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/log-event-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/log-event-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/package-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/provide-performance-feedback-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/provide-performance-feedback-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-audiences-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-audiences-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-catalogs-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-catalogs-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-event-sources-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-event-sources-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/update-media-buy-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/media-buy/update-media-buy-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/create-property-list-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/create-property-list-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/delete-property-list-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/delete-property-list-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/get-property-list-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/get-property-list-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/list-property-lists-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/list-property-lists-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/update-property-list-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/update-property-list-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/validate-property-delivery-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/property/validate-property-delivery-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/protocol/get-adcp-capabilities-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/protocol/get-adcp-capabilities-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/signals/activate-signal-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/signals/activate-signal-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/signals/get-signals-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/signals/get-signals-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-get-offering-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-get-offering-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-initiate-session-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-initiate-session-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-send-message-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-send-message-response.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-terminate-session-request.json +2 -2
- package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-terminate-session-response.json +2 -2
- package/dist/lib/schemas-data/3.0/collection/base-collection-source.json +3 -3
- package/dist/lib/schemas-data/3.0/collection/collection-list-changed-webhook.json +2 -2
- package/dist/lib/schemas-data/3.0/collection/collection-list-filters.json +7 -7
- package/dist/lib/schemas-data/3.0/collection/collection-list.json +5 -5
- package/dist/lib/schemas-data/3.0/collection/create-collection-list-request.json +7 -7
- package/dist/lib/schemas-data/3.0/collection/create-collection-list-response.json +4 -4
- package/dist/lib/schemas-data/3.0/collection/delete-collection-list-request.json +4 -4
- package/dist/lib/schemas-data/3.0/collection/delete-collection-list-response.json +3 -3
- package/dist/lib/schemas-data/3.0/collection/get-collection-list-request.json +4 -4
- package/dist/lib/schemas-data/3.0/collection/get-collection-list-response.json +10 -10
- package/dist/lib/schemas-data/3.0/collection/list-collection-lists-request.json +5 -5
- package/dist/lib/schemas-data/3.0/collection/list-collection-lists-response.json +5 -5
- package/dist/lib/schemas-data/3.0/collection/update-collection-list-request.json +7 -7
- package/dist/lib/schemas-data/3.0/collection/update-collection-list-response.json +4 -4
- package/dist/lib/schemas-data/3.0/content-standards/artifact-webhook-payload.json +3 -3
- package/dist/lib/schemas-data/3.0/content-standards/artifact.json +7 -7
- package/dist/lib/schemas-data/3.0/content-standards/calibrate-content-request.json +4 -4
- package/dist/lib/schemas-data/3.0/content-standards/calibrate-content-response.json +8 -8
- package/dist/lib/schemas-data/3.0/content-standards/content-standards.json +7 -7
- package/dist/lib/schemas-data/3.0/content-standards/create-content-standards-request.json +7 -7
- package/dist/lib/schemas-data/3.0/content-standards/create-content-standards-response.json +6 -6
- package/dist/lib/schemas-data/3.0/content-standards/get-content-standards-request.json +3 -3
- package/dist/lib/schemas-data/3.0/content-standards/get-content-standards-response.json +7 -7
- package/dist/lib/schemas-data/3.0/content-standards/get-media-buy-artifacts-request.json +4 -4
- package/dist/lib/schemas-data/3.0/content-standards/get-media-buy-artifacts-response.json +8 -8
- package/dist/lib/schemas-data/3.0/content-standards/list-content-standards-request.json +5 -5
- package/dist/lib/schemas-data/3.0/content-standards/list-content-standards-response.json +8 -8
- package/dist/lib/schemas-data/3.0/content-standards/update-content-standards-request.json +7 -7
- package/dist/lib/schemas-data/3.0/content-standards/update-content-standards-response.json +6 -6
- package/dist/lib/schemas-data/3.0/content-standards/validate-content-delivery-request.json +4 -4
- package/dist/lib/schemas-data/3.0/content-standards/validate-content-delivery-response.json +8 -8
- package/dist/lib/schemas-data/3.0/core/account-ref.json +2 -2
- package/dist/lib/schemas-data/3.0/core/account.json +9 -9
- package/dist/lib/schemas-data/3.0/core/activation-key.json +1 -1
- package/dist/lib/schemas-data/3.0/core/ad-inventory-config.json +1 -1
- package/dist/lib/schemas-data/3.0/core/agent-encryption-key.json +1 -1
- package/dist/lib/schemas-data/3.0/core/agent-signing-key.json +1 -1
- package/dist/lib/schemas-data/3.0/core/app-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/assets/asset-union.json +15 -15
- package/dist/lib/schemas-data/3.0/core/assets/audio-asset.json +3 -3
- package/dist/lib/schemas-data/3.0/core/assets/brief-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/catalog-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/css-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/daast-asset.json +4 -4
- package/dist/lib/schemas-data/3.0/core/assets/html-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/image-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/javascript-asset.json +3 -3
- package/dist/lib/schemas-data/3.0/core/assets/markdown-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/text-asset.json +2 -2
- package/dist/lib/schemas-data/3.0/core/assets/url-asset.json +3 -3
- package/dist/lib/schemas-data/3.0/core/assets/vast-asset.json +4 -4
- package/dist/lib/schemas-data/3.0/core/assets/video-asset.json +7 -7
- package/dist/lib/schemas-data/3.0/core/assets/webhook-asset.json +7 -7
- package/dist/lib/schemas-data/3.0/core/async-response-data.json +25 -25
- package/dist/lib/schemas-data/3.0/core/attribution-window.json +4 -4
- package/dist/lib/schemas-data/3.0/core/audience-member.json +3 -3
- package/dist/lib/schemas-data/3.0/core/audience-selector.json +4 -4
- package/dist/lib/schemas-data/3.0/core/brand-id.json +1 -1
- package/dist/lib/schemas-data/3.0/core/brand-ref.json +2 -2
- package/dist/lib/schemas-data/3.0/core/business-entity.json +2 -2
- package/dist/lib/schemas-data/3.0/core/cancellation-policy.json +2 -2
- package/dist/lib/schemas-data/3.0/core/catalog-field-mapping.json +2 -2
- package/dist/lib/schemas-data/3.0/core/catalog.json +7 -7
- package/dist/lib/schemas-data/3.0/core/catchment.json +5 -5
- package/dist/lib/schemas-data/3.0/core/collection-distribution.json +2 -2
- package/dist/lib/schemas-data/3.0/core/collection-list-ref.json +1 -1
- package/dist/lib/schemas-data/3.0/core/collection-selector.json +1 -1
- package/dist/lib/schemas-data/3.0/core/collection.json +13 -13
- package/dist/lib/schemas-data/3.0/core/content-rating.json +2 -2
- package/dist/lib/schemas-data/3.0/core/context.json +1 -1
- package/dist/lib/schemas-data/3.0/core/creative-asset.json +6 -6
- package/dist/lib/schemas-data/3.0/core/creative-assignment.json +1 -1
- package/dist/lib/schemas-data/3.0/core/creative-brief.json +4 -4
- package/dist/lib/schemas-data/3.0/core/creative-consumption.json +1 -1
- package/dist/lib/schemas-data/3.0/core/creative-filters.json +4 -4
- package/dist/lib/schemas-data/3.0/core/creative-item.json +1 -1
- package/dist/lib/schemas-data/3.0/core/creative-manifest.json +7 -7
- package/dist/lib/schemas-data/3.0/core/creative-policy.json +3 -3
- package/dist/lib/schemas-data/3.0/core/creative-variable.json +1 -1
- package/dist/lib/schemas-data/3.0/core/creative-variant.json +5 -5
- package/dist/lib/schemas-data/3.0/core/data-provider-signal-selector.json +1 -1
- package/dist/lib/schemas-data/3.0/core/date-range.json +1 -1
- package/dist/lib/schemas-data/3.0/core/datetime-range.json +1 -1
- package/dist/lib/schemas-data/3.0/core/daypart-target.json +2 -2
- package/dist/lib/schemas-data/3.0/core/deadline-policy.json +1 -1
- package/dist/lib/schemas-data/3.0/core/delivery-forecast.json +7 -7
- package/dist/lib/schemas-data/3.0/core/delivery-metrics.json +5 -5
- package/dist/lib/schemas-data/3.0/core/deployment.json +3 -3
- package/dist/lib/schemas-data/3.0/core/destination-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/destination.json +1 -1
- package/dist/lib/schemas-data/3.0/core/diagnostic-issue.json +1 -1
- package/dist/lib/schemas-data/3.0/core/duration.json +1 -1
- package/dist/lib/schemas-data/3.0/core/education-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/error.json +1 -1
- package/dist/lib/schemas-data/3.0/core/event-custom-data.json +2 -2
- package/dist/lib/schemas-data/3.0/core/event-source-health.json +3 -3
- package/dist/lib/schemas-data/3.0/core/event.json +6 -6
- package/dist/lib/schemas-data/3.0/core/ext.json +1 -1
- package/dist/lib/schemas-data/3.0/core/feature-requirement.json +1 -1
- package/dist/lib/schemas-data/3.0/core/flight-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/forecast-point.json +18 -18
- package/dist/lib/schemas-data/3.0/core/forecast-range.json +1 -1
- package/dist/lib/schemas-data/3.0/core/format-id.json +1 -1
- package/dist/lib/schemas-data/3.0/core/format.json +42 -42
- package/dist/lib/schemas-data/3.0/core/frequency-cap.json +4 -4
- package/dist/lib/schemas-data/3.0/core/generation-credential.json +3 -3
- package/dist/lib/schemas-data/3.0/core/geo-breakdown-support.json +3 -3
- package/dist/lib/schemas-data/3.0/core/hotel-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/identifier.json +2 -2
- package/dist/lib/schemas-data/3.0/core/industry-identifier.json +2 -2
- package/dist/lib/schemas-data/3.0/core/insertion-order.json +1 -1
- package/dist/lib/schemas-data/3.0/core/installment-deadlines.json +2 -2
- package/dist/lib/schemas-data/3.0/core/installment.json +9 -9
- package/dist/lib/schemas-data/3.0/core/job-item.json +3 -3
- package/dist/lib/schemas-data/3.0/core/limited-series.json +1 -1
- package/dist/lib/schemas-data/3.0/core/material-deadline.json +1 -1
- package/dist/lib/schemas-data/3.0/core/mcp-webhook-payload.json +5 -5
- package/dist/lib/schemas-data/3.0/core/measurement-readiness.json +5 -5
- package/dist/lib/schemas-data/3.0/core/measurement-terms.json +3 -3
- package/dist/lib/schemas-data/3.0/core/measurement-window.json +1 -1
- package/dist/lib/schemas-data/3.0/core/media-buy-features.json +1 -1
- package/dist/lib/schemas-data/3.0/core/media-buy.json +7 -7
- package/dist/lib/schemas-data/3.0/core/offering-asset-group.json +15 -15
- package/dist/lib/schemas-data/3.0/core/offering.json +5 -5
- package/dist/lib/schemas-data/3.0/core/optimization-goal.json +6 -6
- package/dist/lib/schemas-data/3.0/core/outcome-measurement.json +2 -2
- package/dist/lib/schemas-data/3.0/core/overlay.json +1 -1
- package/dist/lib/schemas-data/3.0/core/package.json +14 -14
- package/dist/lib/schemas-data/3.0/core/pagination-request.json +1 -1
- package/dist/lib/schemas-data/3.0/core/pagination-response.json +1 -1
- package/dist/lib/schemas-data/3.0/core/performance-feedback.json +3 -3
- package/dist/lib/schemas-data/3.0/core/performance-standard.json +4 -4
- package/dist/lib/schemas-data/3.0/core/placement-definition.json +5 -5
- package/dist/lib/schemas-data/3.0/core/placement.json +2 -2
- package/dist/lib/schemas-data/3.0/core/planned-delivery.json +5 -5
- package/dist/lib/schemas-data/3.0/core/price.json +1 -1
- package/dist/lib/schemas-data/3.0/core/pricing-option.json +10 -10
- package/dist/lib/schemas-data/3.0/core/product-allocation.json +4 -4
- package/dist/lib/schemas-data/3.0/core/product-filters.json +16 -16
- package/dist/lib/schemas-data/3.0/core/product.json +28 -28
- package/dist/lib/schemas-data/3.0/core/property-id.json +1 -1
- package/dist/lib/schemas-data/3.0/core/property-list-ref.json +1 -1
- package/dist/lib/schemas-data/3.0/core/property-tag.json +1 -1
- package/dist/lib/schemas-data/3.0/core/property.json +6 -6
- package/dist/lib/schemas-data/3.0/core/proposal.json +6 -6
- package/dist/lib/schemas-data/3.0/core/protocol-envelope.json +3 -3
- package/dist/lib/schemas-data/3.0/core/provenance.json +6 -6
- package/dist/lib/schemas-data/3.0/core/publisher-property-selector.json +3 -3
- package/dist/lib/schemas-data/3.0/core/push-notification-config.json +2 -2
- package/dist/lib/schemas-data/3.0/core/real-estate-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/reference-asset.json +1 -1
- package/dist/lib/schemas-data/3.0/core/reporting-capabilities.json +5 -5
- package/dist/lib/schemas-data/3.0/core/reporting-webhook.json +3 -3
- package/dist/lib/schemas-data/3.0/core/requirements/asset-requirements.json +13 -13
- package/dist/lib/schemas-data/3.0/core/requirements/audio-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/catalog-field-binding.json +4 -4
- package/dist/lib/schemas-data/3.0/core/requirements/catalog-requirements.json +5 -5
- package/dist/lib/schemas-data/3.0/core/requirements/css-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/daast-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/html-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/image-asset-requirements.json +2 -2
- package/dist/lib/schemas-data/3.0/core/requirements/javascript-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/markdown-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/offering-asset-constraint.json +4 -4
- package/dist/lib/schemas-data/3.0/core/requirements/text-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/url-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/vast-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/requirements/video-asset-requirements.json +6 -6
- package/dist/lib/schemas-data/3.0/core/requirements/webhook-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.0/core/response.json +1 -1
- package/dist/lib/schemas-data/3.0/core/rights-constraint.json +4 -4
- package/dist/lib/schemas-data/3.0/core/seller-agent-ref.json +1 -1
- package/dist/lib/schemas-data/3.0/core/signal-definition.json +3 -3
- package/dist/lib/schemas-data/3.0/core/signal-filters.json +2 -2
- package/dist/lib/schemas-data/3.0/core/signal-id.json +1 -1
- package/dist/lib/schemas-data/3.0/core/signal-pricing-option.json +2 -2
- package/dist/lib/schemas-data/3.0/core/signal-pricing.json +6 -6
- package/dist/lib/schemas-data/3.0/core/signal-targeting.json +4 -4
- package/dist/lib/schemas-data/3.0/core/special.json +2 -2
- package/dist/lib/schemas-data/3.0/core/start-timing.json +1 -1
- package/dist/lib/schemas-data/3.0/core/store-item.json +3 -3
- package/dist/lib/schemas-data/3.0/core/talent.json +2 -2
- package/dist/lib/schemas-data/3.0/core/targeting.json +20 -20
- package/dist/lib/schemas-data/3.0/core/tasks-get-request.json +3 -3
- package/dist/lib/schemas-data/3.0/core/tasks-get-response.json +7 -7
- package/dist/lib/schemas-data/3.0/core/tasks-list-request.json +11 -11
- package/dist/lib/schemas-data/3.0/core/tasks-list-response.json +6 -6
- package/dist/lib/schemas-data/3.0/core/user-match.json +3 -3
- package/dist/lib/schemas-data/3.0/core/vehicle-item.json +4 -4
- package/dist/lib/schemas-data/3.0/core/vendor-pricing-option.json +2 -2
- package/dist/lib/schemas-data/3.0/core/x-entity-types.json +1 -1
- package/dist/lib/schemas-data/3.0/creative/asset-types/index.json +5 -5
- package/dist/lib/schemas-data/3.0/creative/creative-feature-result.json +2 -2
- package/dist/lib/schemas-data/3.0/creative/get-creative-delivery-request.json +5 -5
- package/dist/lib/schemas-data/3.0/creative/get-creative-delivery-response.json +7 -7
- package/dist/lib/schemas-data/3.0/creative/get-creative-features-request.json +5 -5
- package/dist/lib/schemas-data/3.0/creative/get-creative-features-response.json +8 -8
- package/dist/lib/schemas-data/3.0/creative/list-creative-formats-request.json +11 -11
- package/dist/lib/schemas-data/3.0/creative/list-creative-formats-response.json +7 -7
- package/dist/lib/schemas-data/3.0/creative/list-creatives-request.json +8 -8
- package/dist/lib/schemas-data/3.0/creative/list-creatives-response.json +14 -14
- package/dist/lib/schemas-data/3.0/creative/preview-creative-request.json +11 -11
- package/dist/lib/schemas-data/3.0/creative/preview-creative-response.json +12 -12
- package/dist/lib/schemas-data/3.0/creative/preview-render.json +1 -1
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-request.json +7 -7
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-response.json +13 -13
- package/dist/lib/schemas-data/3.0/enums/account-scope.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/account-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/action-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/adcp-protocol.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/adjustment-kind.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/advertiser-industry.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/age-verification-method.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/assessment-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/asset-content-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/attribution-model.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/audience-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/audience-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/audio-channel-layout.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/auth-scheme.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/available-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/billing-party.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/binary-verdict.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/brand-agent-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/canceled-by.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/catalog-action.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/catalog-item-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/catalog-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/channels.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/cloud-storage-protocol.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/co-branding-requirement.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-cadence.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-kind.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-relationship.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/consent-basis.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/content-id-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/content-rating-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-action.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-agent-capability.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-approval-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-identifier-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-quality.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-sort-field.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/daast-tracking-event.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/daast-version.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/day-of-week.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/delegation-authority.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/delivery-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/demographic-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/derivative-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/device-platform.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/device-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/digital-source-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/dimension-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/disclosure-persistence.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/disclosure-position.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/distance-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/distribution-identifier-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/error-code.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/escalation-severity.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/event-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/exclusivity.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/feature-check-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/feed-format.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/feedback-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/forecast-method.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/forecast-range-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/forecastable-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/format-id-parameter.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/frame-rate-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/frequency-cap-scope.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/genre-taxonomy.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/geo-level.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/gop-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-decision.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-domain.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-mode.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-phase.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/history-entry-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/http-method.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/identifier-types.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/installment-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/javascript-module-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/landing-page-requirement.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/makegood-remedy.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/markdown-flavor.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/match-id-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/match-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/media-buy-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/media-buy-valid-action.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/metric-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/metro-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/moov-atom-position.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/notification-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/outcome-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/pacing.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/payment-terms.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/performance-standard-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/policy-category.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/policy-enforcement.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/postal-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/preview-output-format.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/pricing-model.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/production-quality.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/property-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/proposal-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/publisher-identifier-types.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/purchase-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/reach-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/reporting-frequency.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/response-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/restricted-attribute.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/right-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/right-use.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/rights-billing-period.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/scan-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/si-session-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/signal-catalog-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/signal-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/signal-value-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/snapshot-unavailable-reason.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/sort-direction.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/sort-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/special-category.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/specialism.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/talent-role.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/task-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/task-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/transport-mode.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/travel-time-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/uid-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/universal-macro.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/update-frequency.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/url-asset-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/validation-mode.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/vast-tracking-event.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/vast-version.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/viewability-standard.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/wcag-level.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/webhook-response-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/webhook-security-method.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/account-setup-required.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/audience-too-small.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/budget-too-low.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/conflict.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/creative-rejected.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/policy-violation.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/rate-limited.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/vendor-error-codes.json +1 -1
- package/dist/lib/schemas-data/3.0/extensions/extension-meta.json +1 -1
- package/dist/lib/schemas-data/3.0/extensions/index.json +2 -2
- package/dist/lib/schemas-data/3.0/governance/attribute-definition.json +1 -1
- package/dist/lib/schemas-data/3.0/governance/audience-constraints.json +3 -3
- package/dist/lib/schemas-data/3.0/governance/check-governance-request.json +7 -7
- package/dist/lib/schemas-data/3.0/governance/check-governance-response.json +6 -6
- package/dist/lib/schemas-data/3.0/governance/get-plan-audit-logs-request.json +4 -4
- package/dist/lib/schemas-data/3.0/governance/get-plan-audit-logs-response.json +9 -9
- package/dist/lib/schemas-data/3.0/governance/policy-category-definition.json +2 -2
- package/dist/lib/schemas-data/3.0/governance/policy-entry.json +6 -6
- package/dist/lib/schemas-data/3.0/governance/policy-ref.json +1 -1
- package/dist/lib/schemas-data/3.0/governance/report-plan-outcome-request.json +6 -6
- package/dist/lib/schemas-data/3.0/governance/report-plan-outcome-response.json +4 -4
- package/dist/lib/schemas-data/3.0/governance/sync-plans-request.json +13 -13
- package/dist/lib/schemas-data/3.0/governance/sync-plans-response.json +4 -4
- package/dist/lib/schemas-data/3.0/index.json +366 -365
- package/dist/lib/schemas-data/3.0/manifest.json +5 -9
- package/dist/lib/schemas-data/3.0/manifest.schema.json +1 -1
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-request.json +11 -11
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-response.json +17 -17
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-request.json +12 -12
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-response.json +15 -15
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buy-delivery-request.json +17 -17
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buy-delivery-response.json +24 -24
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buys-request.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buys-response.json +19 -19
- package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/get-products-request.json +11 -11
- package/dist/lib/schemas-data/3.0/media-buy/get-products-response.json +8 -8
- package/dist/lib/schemas-data/3.0/media-buy/list-creative-formats-request.json +11 -11
- package/dist/lib/schemas-data/3.0/media-buy/list-creative-formats-response.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/log-event-request.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/log-event-response.json +6 -6
- package/dist/lib/schemas-data/3.0/media-buy/package-request.json +12 -12
- package/dist/lib/schemas-data/3.0/media-buy/package-update.json +13 -13
- package/dist/lib/schemas-data/3.0/media-buy/provide-performance-feedback-request.json +6 -6
- package/dist/lib/schemas-data/3.0/media-buy/provide-performance-feedback-response.json +6 -6
- package/dist/lib/schemas-data/3.0/media-buy/sync-audiences-request.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/sync-audiences-response.json +9 -9
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-request.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-response.json +9 -9
- package/dist/lib/schemas-data/3.0/media-buy/sync-event-sources-request.json +5 -5
- package/dist/lib/schemas-data/3.0/media-buy/sync-event-sources-response.json +10 -10
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-request.json +10 -10
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-response.json +10 -10
- package/dist/lib/schemas-data/3.0/pricing-options/cpa-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpc-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpcv-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpm-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpp-option.json +5 -5
- package/dist/lib/schemas-data/3.0/pricing-options/cpv-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/flat-rate-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/price-breakdown.json +2 -2
- package/dist/lib/schemas-data/3.0/pricing-options/price-guidance.json +1 -1
- package/dist/lib/schemas-data/3.0/pricing-options/time-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/vcpm-option.json +4 -4
- package/dist/lib/schemas-data/3.0/property/authorization-result.json +1 -1
- package/dist/lib/schemas-data/3.0/property/base-property-source.json +4 -4
- package/dist/lib/schemas-data/3.0/property/create-property-list-request.json +7 -7
- package/dist/lib/schemas-data/3.0/property/create-property-list-response.json +4 -4
- package/dist/lib/schemas-data/3.0/property/delete-property-list-request.json +4 -4
- package/dist/lib/schemas-data/3.0/property/delete-property-list-response.json +3 -3
- package/dist/lib/schemas-data/3.0/property/delivery-record.json +3 -3
- package/dist/lib/schemas-data/3.0/property/get-property-list-request.json +4 -4
- package/dist/lib/schemas-data/3.0/property/get-property-list-response.json +7 -7
- package/dist/lib/schemas-data/3.0/property/list-property-lists-request.json +5 -5
- package/dist/lib/schemas-data/3.0/property/list-property-lists-response.json +5 -5
- package/dist/lib/schemas-data/3.0/property/property-error.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-feature-definition.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-feature-result.json +4 -4
- package/dist/lib/schemas-data/3.0/property/property-feature-value.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-feature.json +1 -1
- package/dist/lib/schemas-data/3.0/property/property-list-changed-webhook.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-list-filters.json +5 -5
- package/dist/lib/schemas-data/3.0/property/property-list.json +6 -6
- package/dist/lib/schemas-data/3.0/property/update-property-list-request.json +7 -7
- package/dist/lib/schemas-data/3.0/property/update-property-list-response.json +4 -4
- package/dist/lib/schemas-data/3.0/property/validate-property-delivery-request.json +5 -5
- package/dist/lib/schemas-data/3.0/property/validate-property-delivery-response.json +4 -4
- package/dist/lib/schemas-data/3.0/property/validation-result.json +5 -5
- package/dist/lib/schemas-data/3.0/protocol/get-adcp-capabilities-request.json +3 -3
- package/dist/lib/schemas-data/3.0/protocol/get-adcp-capabilities-response.json +25 -25
- package/dist/lib/schemas-data/3.0/signals/activate-signal-request.json +5 -5
- package/dist/lib/schemas-data/3.0/signals/activate-signal-response.json +7 -7
- package/dist/lib/schemas-data/3.0/signals/get-signals-request.json +8 -8
- package/dist/lib/schemas-data/3.0/signals/get-signals-response.json +10 -10
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-capabilities.json +1 -1
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-get-offering-request.json +3 -3
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-get-offering-response.json +4 -4
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-identity.json +1 -1
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-initiate-session-request.json +5 -5
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-initiate-session-response.json +7 -7
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-send-message-request.json +3 -3
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-send-message-response.json +7 -7
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-terminate-session-request.json +3 -3
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-terminate-session-response.json +5 -5
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-ui-element.json +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js +1 -1
- package/dist/lib/server/wire-spec-fields.generated.d.ts +29 -29
- package/dist/lib/server/wire-spec-fields.generated.js +31 -31
- package/dist/lib/testing/client.d.ts +1 -1
- package/dist/lib/testing/client.d.ts.map +1 -1
- package/dist/lib/testing/client.js +9 -2
- package/dist/lib/testing/client.js.map +1 -1
- package/dist/lib/testing/compliance/comply.d.ts +6 -0
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
- package/dist/lib/testing/compliance/comply.js +110 -4
- package/dist/lib/testing/compliance/comply.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts +2 -0
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +51 -1
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/testing/storyboard/types.d.ts +2 -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/validations.d.ts +4 -0
- package/dist/lib/testing/storyboard/validations.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/validations.js +13 -4
- package/dist/lib/testing/storyboard/validations.js.map +1 -1
- package/dist/lib/testing/types.d.ts +23 -0
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +2 -2
- package/dist/lib/types/manifest.generated.d.ts +3 -3
- package/dist/lib/types/manifest.generated.js +1 -1
- package/dist/lib/utils/adcp-version-config.d.ts +1 -0
- package/dist/lib/utils/adcp-version-config.d.ts.map +1 -1
- package/dist/lib/utils/adcp-version-config.js +21 -0
- package/dist/lib/utils/adcp-version-config.js.map +1 -1
- package/dist/lib/utils/response-schemas.d.ts +1 -0
- package/dist/lib/utils/response-schemas.d.ts.map +1 -1
- package/dist/lib/utils/response-schemas.js +14 -0
- package/dist/lib/utils/response-schemas.js.map +1 -1
- package/dist/lib/utils/response-unwrapper.d.ts +2 -1
- package/dist/lib/utils/response-unwrapper.d.ts.map +1 -1
- package/dist/lib/utils/response-unwrapper.js +15 -5
- package/dist/lib/utils/response-unwrapper.js.map +1 -1
- package/dist/lib/version.d.ts +7 -7
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +11 -5
- package/dist/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/compliance/cache/3.0.12/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -196
- package/compliance/cache/3.0.12/universal/schema-validation.yaml +0 -526
- package/compliance/cache/3.0.12/universal/v3-envelope-integrity.yaml +0 -106
- package/compliance/cache/3.0.12/universal/webhook-emission.yaml +0 -337
- package/compliance/cache/3.0.12.previous/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -196
- package/compliance/cache/3.0.12.previous/universal/idempotency.yaml +0 -606
- package/compliance/cache/3.0.12.previous/universal/security.yaml +0 -431
- package/compliance/cache/3.0.12.previous/universal/webhook-emission.yaml +0 -337
- package/compliance/cache/3.1.0-rc.2/domains/brand/index.yaml +0 -160
- package/compliance/cache/3.1.0-rc.2/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -415
- package/compliance/cache/3.1.0-rc.2/domains/brand/scenarios/single_side_trust_extension.yaml +0 -454
- package/compliance/cache/3.1.0-rc.2/domains/creative/index.yaml +0 -339
- package/compliance/cache/3.1.0-rc.2/domains/creative/scenarios/billing_out_of_band.yaml +0 -153
- package/compliance/cache/3.1.0-rc.2/domains/creative/scenarios/canonical_supported_formats.yaml +0 -212
- package/compliance/cache/3.1.0-rc.2/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -389
- package/compliance/cache/3.1.0-rc.2/domains/creative/scenarios/native_in_feed.yaml +0 -543
- package/compliance/cache/3.1.0-rc.2/domains/governance/index.yaml +0 -682
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/index.yaml +0 -789
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -380
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/available_actions.yaml +0 -565
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -354
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/canonical_formats.yaml +0 -861
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -264
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -344
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -234
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -419
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/creative_reception.yaml +0 -247
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/delivery_reporting.yaml +0 -357
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/dependency_impairment.yaml +0 -633
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -800
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -399
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -309
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/governance_approved.yaml +0 -214
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/governance_conditions.yaml +0 -199
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/governance_denied.yaml +0 -204
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -252
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/invalid_transitions.yaml +0 -289
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -148
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -276
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/measurement_accountability.yaml +0 -244
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -113
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -292
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -500
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -428
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -470
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -373
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/proposal_finalize.yaml +0 -399
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -264
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -257
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -333
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -517
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -294
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -823
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -360
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/refine_products.yaml +0 -148
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -293
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -307
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -576
- package/compliance/cache/3.1.0-rc.2/domains/media-buy/state-machine.yaml +0 -442
- package/compliance/cache/3.1.0-rc.2/domains/signals/index.yaml +0 -266
- package/compliance/cache/3.1.0-rc.2/domains/sponsored-intelligence/index.yaml +0 -256
- package/compliance/cache/3.1.0-rc.2/index.json +0 -356
- package/compliance/cache/3.1.0-rc.2/protocols/brand/index.yaml +0 -160
- package/compliance/cache/3.1.0-rc.2/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -415
- package/compliance/cache/3.1.0-rc.2/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -454
- package/compliance/cache/3.1.0-rc.2/protocols/creative/index.yaml +0 -339
- package/compliance/cache/3.1.0-rc.2/protocols/creative/scenarios/billing_out_of_band.yaml +0 -153
- package/compliance/cache/3.1.0-rc.2/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -212
- package/compliance/cache/3.1.0-rc.2/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -389
- package/compliance/cache/3.1.0-rc.2/protocols/creative/scenarios/native_in_feed.yaml +0 -543
- package/compliance/cache/3.1.0-rc.2/protocols/governance/index.yaml +0 -682
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/index.yaml +0 -789
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -380
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/available_actions.yaml +0 -565
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -354
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/canonical_formats.yaml +0 -861
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -264
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -344
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -234
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -419
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/creative_reception.yaml +0 -247
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -357
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -633
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -800
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -399
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -309
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/governance_approved.yaml +0 -214
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/governance_conditions.yaml +0 -199
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/governance_denied.yaml +0 -204
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -252
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -289
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -148
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -276
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -244
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -113
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -292
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -500
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -428
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -470
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -373
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -399
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -264
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -257
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -333
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -517
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -294
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -823
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -360
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/refine_products.yaml +0 -148
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -293
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -307
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -576
- package/compliance/cache/3.1.0-rc.2/protocols/media-buy/state-machine.yaml +0 -442
- package/compliance/cache/3.1.0-rc.2/protocols/signals/index.yaml +0 -266
- package/compliance/cache/3.1.0-rc.2/protocols/sponsored-intelligence/index.yaml +0 -256
- package/compliance/cache/3.1.0-rc.2/specialisms/audience-sync/index.yaml +0 -313
- package/compliance/cache/3.1.0-rc.2/specialisms/brand-rights/index.yaml +0 -350
- package/compliance/cache/3.1.0-rc.2/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -226
- package/compliance/cache/3.1.0-rc.2/specialisms/collection-lists/index.yaml +0 -359
- package/compliance/cache/3.1.0-rc.2/specialisms/content-standards/index.yaml +0 -572
- package/compliance/cache/3.1.0-rc.2/specialisms/creative-ad-server/index.yaml +0 -409
- package/compliance/cache/3.1.0-rc.2/specialisms/creative-generative/generative-seller.yaml +0 -807
- package/compliance/cache/3.1.0-rc.2/specialisms/creative-generative/index.yaml +0 -758
- package/compliance/cache/3.1.0-rc.2/specialisms/creative-template/index.yaml +0 -510
- package/compliance/cache/3.1.0-rc.2/specialisms/governance-aware-seller/index.yaml +0 -143
- package/compliance/cache/3.1.0-rc.2/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -117
- package/compliance/cache/3.1.0-rc.2/specialisms/governance-delivery-monitor/index.yaml +0 -441
- package/compliance/cache/3.1.0-rc.2/specialisms/governance-spend-authority/denied.yaml +0 -221
- package/compliance/cache/3.1.0-rc.2/specialisms/governance-spend-authority/index.yaml +0 -330
- package/compliance/cache/3.1.0-rc.2/specialisms/property-lists/index.yaml +0 -482
- package/compliance/cache/3.1.0-rc.2/specialisms/sales-broadcast-tv/index.yaml +0 -738
- package/compliance/cache/3.1.0-rc.2/specialisms/sales-catalog-driven/index.yaml +0 -840
- package/compliance/cache/3.1.0-rc.2/specialisms/sales-guaranteed/index.yaml +0 -601
- package/compliance/cache/3.1.0-rc.2/specialisms/sales-non-guaranteed/index.yaml +0 -546
- package/compliance/cache/3.1.0-rc.2/specialisms/sales-proposal-mode/index.yaml +0 -586
- package/compliance/cache/3.1.0-rc.2/specialisms/sales-social/index.yaml +0 -919
- package/compliance/cache/3.1.0-rc.2/specialisms/signal-marketplace/index.yaml +0 -424
- package/compliance/cache/3.1.0-rc.2/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -210
- package/compliance/cache/3.1.0-rc.2/specialisms/signal-owned/index.yaml +0 -317
- package/compliance/cache/3.1.0-rc.2/specialisms/sponsored-intelligence/index.yaml +0 -59
- package/compliance/cache/3.1.0-rc.2/test-kits/acme-outdoor-live.yaml +0 -78
- package/compliance/cache/3.1.0-rc.2/test-kits/acme-outdoor.yaml +0 -223
- package/compliance/cache/3.1.0-rc.2/test-kits/billing-gate-runner.yaml +0 -115
- package/compliance/cache/3.1.0-rc.2/test-kits/bistro-oranje.yaml +0 -126
- package/compliance/cache/3.1.0-rc.2/test-kits/distributed-brand-runner.yaml +0 -281
- package/compliance/cache/3.1.0-rc.2/test-kits/nova-motors.yaml +0 -262
- package/compliance/cache/3.1.0-rc.2/test-kits/osei-natural.yaml +0 -126
- package/compliance/cache/3.1.0-rc.2/test-kits/parallel-dispatch-runner.yaml +0 -196
- package/compliance/cache/3.1.0-rc.2/test-kits/rate-limit-trip-runner.yaml +0 -172
- package/compliance/cache/3.1.0-rc.2/test-kits/signed-requests-runner.yaml +0 -155
- package/compliance/cache/3.1.0-rc.2/test-kits/single-side-trust-runner.yaml +0 -294
- package/compliance/cache/3.1.0-rc.2/test-kits/substitution-observer-runner.yaml +0 -688
- package/compliance/cache/3.1.0-rc.2/test-kits/summit-foods.yaml +0 -125
- package/compliance/cache/3.1.0-rc.2/test-kits/webhook-receiver-runner.yaml +0 -265
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/001-minimal-plan.json +0 -43
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/002-full-plan.json +0 -217
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -60
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/004a-human-review-omitted.json +0 -43
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -49
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -53
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -57
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -49
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -53
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/007-unicode-objectives.json +0 -43
- package/compliance/cache/3.1.0-rc.2/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -65
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/README.md +0 -220
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/canonicalization.json +0 -241
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/keys.json +0 -60
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/001-no-signature-header.json +0 -24
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/002-wrong-tag.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/003-expired-signature.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/004-window-too-long.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -27
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -33
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/011-malformed-header.json +0 -27
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/013-expires-le-created.json +0 -27
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -27
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/015-signature-invalid.json +0 -28
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -35
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/017-key-revoked.json +0 -38
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -28
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/020-rate-abuse.json +0 -34
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -31
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -31
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -32
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -31
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -43
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -31
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -25
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/001-basic-post.json +0 -30
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -31
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/003-es256-post.json +0 -30
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -30
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -30
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -30
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -30
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -30
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -30
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -30
- package/compliance/cache/3.1.0-rc.2/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -30
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/README.md +0 -211
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/keys.json +0 -61
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -25
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -25
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -37
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -32
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -33
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -32
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -41
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -26
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/positive/001-basic-post.json +0 -24
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/positive/002-es256-post.json +0 -24
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -24
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -24
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -24
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -24
- package/compliance/cache/3.1.0-rc.2/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -25
- package/compliance/cache/3.1.0-rc.2/universal/billing-gate-dispatch.yaml +0 -450
- package/compliance/cache/3.1.0-rc.2/universal/canonical-format-validate-input.yaml +0 -640
- package/compliance/cache/3.1.0-rc.2/universal/capability-discovery.yaml +0 -125
- package/compliance/cache/3.1.0-rc.2/universal/collection-lists-pagination-integrity.yaml +0 -306
- package/compliance/cache/3.1.0-rc.2/universal/comply-controller-mode-gate.yaml +0 -141
- package/compliance/cache/3.1.0-rc.2/universal/content-standards-pagination-integrity.yaml +0 -326
- package/compliance/cache/3.1.0-rc.2/universal/deterministic-testing.yaml +0 -1430
- package/compliance/cache/3.1.0-rc.2/universal/error-compliance-signals.yaml +0 -377
- package/compliance/cache/3.1.0-rc.2/universal/error-compliance.yaml +0 -528
- package/compliance/cache/3.1.0-rc.2/universal/fictional-entities.yaml +0 -307
- package/compliance/cache/3.1.0-rc.2/universal/get-media-buys-pagination-integrity.yaml +0 -160
- package/compliance/cache/3.1.0-rc.2/universal/get-signals-pagination-integrity.yaml +0 -210
- package/compliance/cache/3.1.0-rc.2/universal/notification-config-event-scope.yaml +0 -119
- package/compliance/cache/3.1.0-rc.2/universal/notification-config-lifecycle.yaml +0 -337
- package/compliance/cache/3.1.0-rc.2/universal/notification-config-rejections.yaml +0 -107
- package/compliance/cache/3.1.0-rc.2/universal/pagination-integrity-creative-formats.yaml +0 -265
- package/compliance/cache/3.1.0-rc.2/universal/pagination-integrity-list-accounts.yaml +0 -245
- package/compliance/cache/3.1.0-rc.2/universal/pagination-integrity.yaml +0 -263
- package/compliance/cache/3.1.0-rc.2/universal/property-lists-pagination-integrity.yaml +0 -307
- package/compliance/cache/3.1.0-rc.2/universal/read-tool-idempotency.yaml +0 -405
- package/compliance/cache/3.1.0-rc.2/universal/runner-output-contract.yaml +0 -1285
- package/compliance/cache/3.1.0-rc.2/universal/schema-validation-signals.yaml +0 -181
- package/compliance/cache/3.1.0-rc.2/universal/signed-requests.yaml +0 -217
- package/compliance/cache/3.1.0-rc.2/universal/stale-response-advisory.yaml +0 -295
- package/compliance/cache/3.1.0-rc.2/universal/storyboard-schema.yaml +0 -2194
- package/compliance/cache/3.1.0-rc.2/universal/version-negotiation.yaml +0 -130
- package/compliance/cache/3.1.0-rc.2/universal/wholesale-feed-bulk-webhooks.yaml +0 -82
- package/compliance/cache/3.1.0-rc.2/universal/wholesale-feed-product-webhooks.yaml +0 -83
- package/compliance/cache/3.1.0-rc.2/universal/wholesale-feed-products.yaml +0 -151
- package/compliance/cache/3.1.0-rc.2/universal/wholesale-feed-signal-webhooks.yaml +0 -83
- package/compliance/cache/3.1.0-rc.2/universal/wholesale-feed-signals.yaml +0 -149
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-kits/acme-outdoor-live.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/comply-controller-mode-gate.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.0.12 → 3.0.18}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-kits/acme-outdoor-live.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/comply-controller-mode-gate.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.0.12.previous → 3.0.18.previous}/universal/signed-requests.yaml +0 -0
|
@@ -1,823 +0,0 @@
|
|
|
1
|
-
id: media_buy_seller/reach_buy_flow
|
|
2
|
-
version: "1.0.0"
|
|
3
|
-
title: "Seller fulfills a media buy with a reach optimization goal"
|
|
4
|
-
category: media_buy_seller
|
|
5
|
-
summary: "Verifies that a seller advertising reach in supported_optimization_metrics can accept a media buy whose metric-kind optimization_goal targets unique reach with a buyer-supplied reach_unit, reject reach_unit values not in the product's metric_optimization.supported_reach_units, and report reach + frequency on delivery. Sibling to the performance buy scenarios on the brand-reach side: sellers that don't advertise reach as an optimization metric (most pure performance DSPs, retail-media networks) grade not_applicable."
|
|
6
|
-
track: media_buy
|
|
7
|
-
|
|
8
|
-
# Gate: scenario runs only when the seller declares reach in
|
|
9
|
-
# media_buy.supported_optimization_metrics (proposed in #4669). Sellers
|
|
10
|
-
# whose products optimize for clicks / conversions / views but not unique
|
|
11
|
-
# reach grade `not_applicable`, not failing. Reach as an optimization
|
|
12
|
-
# metric is upper-funnel-shaped — broadcast TV, CTV, social brand
|
|
13
|
-
# campaigns, audio — and gating on the explicit metric in
|
|
14
|
-
# supported_optimization_metrics avoids over-claiming against the
|
|
15
|
-
# performance-tracking community. Requires runner support for the
|
|
16
|
-
# `contains:` matcher (adcp-client >= 7.70).
|
|
17
|
-
requires_capability:
|
|
18
|
-
path: media_buy.supported_optimization_metrics
|
|
19
|
-
contains: "reach"
|
|
20
|
-
|
|
21
|
-
required_tools:
|
|
22
|
-
- get_products
|
|
23
|
-
- create_media_buy
|
|
24
|
-
- get_media_buy_delivery
|
|
25
|
-
- comply_test_controller
|
|
26
|
-
|
|
27
|
-
invariants:
|
|
28
|
-
- status.monotonic
|
|
29
|
-
|
|
30
|
-
narrative: |
|
|
31
|
-
A "reach buy" is a media buy whose optimization_goal is metric-kind with
|
|
32
|
-
metric: reach and a buyer-supplied reach_unit naming the units of the
|
|
33
|
-
count (individuals / households / devices / accounts / cookies / custom).
|
|
34
|
-
Optionally the buyer specifies a target_frequency band — the seller treats
|
|
35
|
-
impressions toward entities already within [min, max] as lower-value and
|
|
36
|
-
prioritizes fresh reach. This is the upper-funnel optimization shape
|
|
37
|
-
(broadcast TV, CTV, social brand campaigns, audio) that's distinct from
|
|
38
|
-
the performance / conversion-tracking shapes.
|
|
39
|
-
|
|
40
|
-
Discriminating behaviors this scenario verifies:
|
|
41
|
-
1. create_media_buy with metric: reach, a reach_unit value declared in
|
|
42
|
-
the product's metric_optimization.supported_reach_units, and an optional
|
|
43
|
-
target_frequency band is accepted.
|
|
44
|
-
2. create_media_buy with a reach_unit value NOT in the product's
|
|
45
|
-
supported_reach_units is rejected with INVALID_REQUEST. error.field
|
|
46
|
-
points at the offending reach_unit path. Silent acceptance with
|
|
47
|
-
unit-coercion would create cross-platform comparison errors because
|
|
48
|
-
reach in cookies is not reach in households.
|
|
49
|
-
3. get_media_buy_delivery surfaces totals.reach (the unique-count value)
|
|
50
|
-
and totals.frequency (average exposures per reach unit over the
|
|
51
|
-
declared reach_window). reach_unit on delivery aligns with the
|
|
52
|
-
reach_unit declared on the optimization goal — the unit declaration is
|
|
53
|
-
load-bearing for cross-platform comparison.
|
|
54
|
-
|
|
55
|
-
Per-window reach-window breakdown (cumulative vs period vs rolling
|
|
56
|
-
semantics declared in delivery-metrics.json's reach_window block) is
|
|
57
|
-
asserted in dedicated follow-up phases after the base reach delivery
|
|
58
|
-
check. The omission case remains an advisory because reach_window is
|
|
59
|
-
schema-valid to omit, but buyers must treat omitted-window reach rows
|
|
60
|
-
as unsafe to sum or average across reporting periods.
|
|
61
|
-
|
|
62
|
-
agent:
|
|
63
|
-
interaction_model: media_buy_seller
|
|
64
|
-
capabilities:
|
|
65
|
-
- sells_media
|
|
66
|
-
- supports_non_guaranteed
|
|
67
|
-
examples:
|
|
68
|
-
- "Broadcast TV / CTV sellers optimizing for unique households"
|
|
69
|
-
- "Social platforms with reach optimization (Meta Reach & Frequency, TikTok Reach)"
|
|
70
|
-
- "Audio sellers optimizing for unique listeners"
|
|
71
|
-
- "OOH / DOOH sellers optimizing for unique passers-by"
|
|
72
|
-
|
|
73
|
-
caller:
|
|
74
|
-
role: buyer_agent
|
|
75
|
-
example: "Pinnacle Agency (buyer)"
|
|
76
|
-
|
|
77
|
-
prerequisites:
|
|
78
|
-
description: |
|
|
79
|
-
The seller must implement comply_test_controller with simulate_delivery
|
|
80
|
-
(already required for delivery_reporting). simulate_delivery injects
|
|
81
|
-
impressions, reach, and frequency values so get_media_buy_delivery has
|
|
82
|
-
something to surface for the reach-optimized buy.
|
|
83
|
-
|
|
84
|
-
The buyer fixture supplies a brand, an operator, and reach targeting
|
|
85
|
-
parameters sufficient to exercise the reach_unit binding contract and
|
|
86
|
-
the unsupported-unit rejection.
|
|
87
|
-
test_kit: "test-kits/acme-outdoor.yaml"
|
|
88
|
-
controller_seeding: true
|
|
89
|
-
|
|
90
|
-
fixtures:
|
|
91
|
-
products:
|
|
92
|
-
- product_id: "reach_ctv_q2"
|
|
93
|
-
delivery_type: "non_guaranteed"
|
|
94
|
-
channels: ["video"]
|
|
95
|
-
format_ids:
|
|
96
|
-
- id: "video_30s"
|
|
97
|
-
metric_optimization:
|
|
98
|
-
supported_metrics: ["reach"]
|
|
99
|
-
supported_reach_units: ["households", "individuals"]
|
|
100
|
-
pricing_options:
|
|
101
|
-
- product_id: "reach_ctv_q2"
|
|
102
|
-
pricing_option_id: "auction_cpm"
|
|
103
|
-
pricing_model: "cpm"
|
|
104
|
-
currency: "USD"
|
|
105
|
-
floor_price: 18.00
|
|
106
|
-
|
|
107
|
-
phases:
|
|
108
|
-
|
|
109
|
-
- id: setup
|
|
110
|
-
title: "Establish account and discover products"
|
|
111
|
-
steps:
|
|
112
|
-
- id: sync_accounts
|
|
113
|
-
title: "Establish account"
|
|
114
|
-
task: sync_accounts
|
|
115
|
-
schema_ref: "account/sync-accounts-request.json"
|
|
116
|
-
response_schema_ref: "account/sync-accounts-response.json"
|
|
117
|
-
doc_ref: "/accounts/tasks/sync_accounts"
|
|
118
|
-
stateful: true
|
|
119
|
-
expected: |
|
|
120
|
-
Return the account with account_id and status active.
|
|
121
|
-
sample_request:
|
|
122
|
-
accounts:
|
|
123
|
-
- brand:
|
|
124
|
-
domain: "acmeoutdoor.example"
|
|
125
|
-
operator: "pinnacle-agency.example"
|
|
126
|
-
billing: "operator"
|
|
127
|
-
idempotency_key: "$generate:uuid_v4#reach_buy_flow_setup_sync_accounts"
|
|
128
|
-
validations:
|
|
129
|
-
- check: response_schema
|
|
130
|
-
description: "Response matches sync-accounts-response.json schema"
|
|
131
|
-
- check: field_present
|
|
132
|
-
path: "accounts[0].account_id"
|
|
133
|
-
description: "Account has a platform-assigned ID"
|
|
134
|
-
|
|
135
|
-
- id: get_products_for_reach
|
|
136
|
-
title: "Discover products that support reach optimization"
|
|
137
|
-
task: get_products
|
|
138
|
-
schema_ref: "media-buy/get-products-request.json"
|
|
139
|
-
response_schema_ref: "media-buy/get-products-response.json"
|
|
140
|
-
doc_ref: "/media-buy/task-reference/get_products"
|
|
141
|
-
stateful: false
|
|
142
|
-
expected: |
|
|
143
|
-
Return at least one product whose metric_optimization capabilities
|
|
144
|
-
include reach as an optimization metric and declare
|
|
145
|
-
supported_reach_units. The buyer selects a unit from that list for
|
|
146
|
-
the create_media_buy call below.
|
|
147
|
-
sample_request:
|
|
148
|
-
buying_mode: "brief"
|
|
149
|
-
brief: "CTV video, US adults 25-54. Q2 brand flight ~$50K, optimizing for unique household reach with a target frequency cap."
|
|
150
|
-
account:
|
|
151
|
-
brand:
|
|
152
|
-
domain: "acmeoutdoor.example"
|
|
153
|
-
operator: "pinnacle-agency.example"
|
|
154
|
-
validations:
|
|
155
|
-
- check: response_schema
|
|
156
|
-
description: "Response matches get-products-response.json schema"
|
|
157
|
-
- check: field_present
|
|
158
|
-
path: "products"
|
|
159
|
-
description: "Response contains products"
|
|
160
|
-
|
|
161
|
-
- id: create_reach_buy
|
|
162
|
-
title: "Create a reach-optimized buy with a supported reach_unit"
|
|
163
|
-
narrative: |
|
|
164
|
-
The buyer creates a media buy whose package carries a metric-kind
|
|
165
|
-
optimization_goal with metric: reach, reach_unit: households (explicitly
|
|
166
|
-
declared in the product fixture's supported_reach_units), and
|
|
167
|
-
a target_frequency band of 1–3 over a 7-day rolling window. The seller
|
|
168
|
-
should accept and return a media_buy_id used for subsequent delivery
|
|
169
|
-
checks.
|
|
170
|
-
|
|
171
|
-
steps:
|
|
172
|
-
- id: create_media_buy_reach
|
|
173
|
-
title: "Create media buy with metric-kind reach goal"
|
|
174
|
-
task: create_media_buy
|
|
175
|
-
schema_ref: "media-buy/create-media-buy-request.json"
|
|
176
|
-
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
177
|
-
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
178
|
-
stateful: true
|
|
179
|
-
expected: |
|
|
180
|
-
Create the media buy. Response carries a media_buy_id used for
|
|
181
|
-
subsequent get_media_buy_delivery calls.
|
|
182
|
-
sample_request:
|
|
183
|
-
brand:
|
|
184
|
-
domain: "acmeoutdoor.example"
|
|
185
|
-
account:
|
|
186
|
-
brand:
|
|
187
|
-
domain: "acmeoutdoor.example"
|
|
188
|
-
operator: "pinnacle-agency.example"
|
|
189
|
-
start_time: "2026-06-01T00:00:00Z"
|
|
190
|
-
end_time: "2026-06-30T23:59:59Z"
|
|
191
|
-
packages:
|
|
192
|
-
- product_id: "reach_ctv_q2"
|
|
193
|
-
budget: 50000
|
|
194
|
-
pricing_option_id: "auction_cpm"
|
|
195
|
-
optimization_goals:
|
|
196
|
-
- kind: "metric"
|
|
197
|
-
metric: "reach"
|
|
198
|
-
reach_unit: "households"
|
|
199
|
-
target_frequency:
|
|
200
|
-
window:
|
|
201
|
-
interval: 7
|
|
202
|
-
unit: "days"
|
|
203
|
-
min: 1
|
|
204
|
-
max: 3
|
|
205
|
-
priority: 1
|
|
206
|
-
idempotency_key: "$generate:uuid_v4#reach_buy_flow_create_reach_buy_create_media_buy"
|
|
207
|
-
context_outputs:
|
|
208
|
-
- name: media_buy_id
|
|
209
|
-
path: "media_buy_id"
|
|
210
|
-
validations:
|
|
211
|
-
- check: response_schema
|
|
212
|
-
description: "Response matches create-media-buy-response.json schema"
|
|
213
|
-
- check: field_present
|
|
214
|
-
path: "media_buy_id"
|
|
215
|
-
description: "Media buy has a platform-assigned ID"
|
|
216
|
-
|
|
217
|
-
- id: rejection_unsupported_reach_unit
|
|
218
|
-
title: "Reject a reach goal whose reach_unit is not in supported_reach_units"
|
|
219
|
-
narrative: |
|
|
220
|
-
Silent acceptance of a reach_unit value not declared in the product's
|
|
221
|
-
metric_optimization.supported_reach_units is a façade — the seller
|
|
222
|
-
either coerces the unit (creating cross-platform comparison errors)
|
|
223
|
-
or runs without a unit (delivery reach values become uncomparable).
|
|
224
|
-
The seller MUST reject with INVALID_REQUEST and set error.field to the
|
|
225
|
-
offending reach_unit path. Same shape as the unbound event_source_id
|
|
226
|
-
rejection in performance_buy_flow and the unbound audience_id
|
|
227
|
-
rejection in audience_buy_flow.
|
|
228
|
-
|
|
229
|
-
"devices" is chosen because it is a valid spec-defined reach_unit enum
|
|
230
|
-
value that the reach_ctv_q2 product fixture deliberately omits from
|
|
231
|
-
supported_reach_units (which declares only "households" and
|
|
232
|
-
"individuals"). Using a valid enum value satisfies
|
|
233
|
-
negative_path: payload_well_formed (the request is schema-valid),
|
|
234
|
-
while the fixture exclusion ensures the rejection must come from the
|
|
235
|
-
seller's capability-checking logic rather than schema validation.
|
|
236
|
-
Sellers that silently accept "devices" are demonstrating they don't
|
|
237
|
-
validate reach_unit against their product capability declarations.
|
|
238
|
-
|
|
239
|
-
steps:
|
|
240
|
-
- id: create_media_buy_with_unsupported_reach_unit
|
|
241
|
-
title: "Submit a reach goal whose reach_unit is not in supported_reach_units"
|
|
242
|
-
task: create_media_buy
|
|
243
|
-
schema_ref: "media-buy/create-media-buy-request.json"
|
|
244
|
-
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
245
|
-
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
246
|
-
expect_error: true
|
|
247
|
-
negative_path: payload_well_formed
|
|
248
|
-
stateful: false
|
|
249
|
-
expected: |
|
|
250
|
-
Reject with INVALID_REQUEST. error.field points at the offending
|
|
251
|
-
reach_unit path. media_buy_id is not allocated.
|
|
252
|
-
sample_request:
|
|
253
|
-
brand:
|
|
254
|
-
domain: "acmeoutdoor.example"
|
|
255
|
-
account:
|
|
256
|
-
brand:
|
|
257
|
-
domain: "acmeoutdoor.example"
|
|
258
|
-
operator: "pinnacle-agency.example"
|
|
259
|
-
start_time: "2026-06-01T00:00:00Z"
|
|
260
|
-
end_time: "2026-06-30T23:59:59Z"
|
|
261
|
-
packages:
|
|
262
|
-
- product_id: "reach_ctv_q2"
|
|
263
|
-
budget: 10000
|
|
264
|
-
pricing_option_id: "auction_cpm"
|
|
265
|
-
optimization_goals:
|
|
266
|
-
- kind: "metric"
|
|
267
|
-
metric: "reach"
|
|
268
|
-
reach_unit: "devices"
|
|
269
|
-
idempotency_key: "$generate:uuid_v4#reach_buy_flow_rejection_unsupported_reach_unit"
|
|
270
|
-
validations:
|
|
271
|
-
- check: error_code
|
|
272
|
-
allowed_values: ["INVALID_REQUEST"]
|
|
273
|
-
description: "Seller rejects the unsupported reach_unit with INVALID_REQUEST"
|
|
274
|
-
- check: field_value
|
|
275
|
-
path: "errors[0].field"
|
|
276
|
-
value: "packages[0].optimization_goals[0].reach_unit"
|
|
277
|
-
description: "Error.field points at the offending reach_unit path (core/error.json defines field as deterministic JSONPath-lite — literal equality)"
|
|
278
|
-
|
|
279
|
-
- id: reach_delivery
|
|
280
|
-
title: "Delivery reporting carries reach and frequency"
|
|
281
|
-
narrative: |
|
|
282
|
-
The discriminating assertion of the reach buy mode: delivery reporting
|
|
283
|
-
MUST surface reach and frequency at the buy level — not just
|
|
284
|
-
impressions and spend. The runner injects simulated impressions,
|
|
285
|
-
reach, and frequency via the test controller, then verifies
|
|
286
|
-
get_media_buy_delivery returns reach + frequency on totals.
|
|
287
|
-
|
|
288
|
-
Per-row reach_window semantics (cumulative vs period vs rolling — see
|
|
289
|
-
delivery-metrics.json) are deliberately not asserted at this layer.
|
|
290
|
-
The scenario asserts the discriminating fields are present at the
|
|
291
|
-
buy level; reach_window correctness is asserted by the schema
|
|
292
|
-
validation alongside the totals payload.
|
|
293
|
-
|
|
294
|
-
steps:
|
|
295
|
-
- id: simulate_reach_delivery
|
|
296
|
-
title: "Inject impressions + reach + frequency"
|
|
297
|
-
task: comply_test_controller
|
|
298
|
-
requires_tool: comply_test_controller
|
|
299
|
-
stateful: true
|
|
300
|
-
expected: |
|
|
301
|
-
The test controller acknowledges the simulated delivery.
|
|
302
|
-
sample_request:
|
|
303
|
-
account:
|
|
304
|
-
sandbox: true
|
|
305
|
-
scenario: "simulate_delivery"
|
|
306
|
-
params:
|
|
307
|
-
media_buy_id: "$context.media_buy_id"
|
|
308
|
-
impressions: 750000
|
|
309
|
-
reach: 250000
|
|
310
|
-
frequency: 3.0
|
|
311
|
-
reported_spend:
|
|
312
|
-
amount: 14000.00
|
|
313
|
-
currency: "USD"
|
|
314
|
-
validations:
|
|
315
|
-
- check: field_value
|
|
316
|
-
path: "success"
|
|
317
|
-
allowed_values: [true]
|
|
318
|
-
description: "Delivery simulation succeeds"
|
|
319
|
-
|
|
320
|
-
- id: get_reach_delivery
|
|
321
|
-
title: "Get delivery and verify reach + frequency metrics"
|
|
322
|
-
task: get_media_buy_delivery
|
|
323
|
-
schema_ref: "media-buy/get-media-buy-delivery-request.json"
|
|
324
|
-
response_schema_ref: "media-buy/get-media-buy-delivery-response.json"
|
|
325
|
-
doc_ref: "/media-buy/task-reference/get_media_buy_delivery"
|
|
326
|
-
stateful: true
|
|
327
|
-
expected: |
|
|
328
|
-
Delivery response includes totals.reach (the unique-count value
|
|
329
|
-
in the declared reach_unit) and totals.frequency (average
|
|
330
|
-
exposures per reach unit over the declared reach_window). These
|
|
331
|
-
two fields are the discriminating output of reach optimization
|
|
332
|
-
and are required on reach-optimized buys.
|
|
333
|
-
sample_request:
|
|
334
|
-
account:
|
|
335
|
-
brand:
|
|
336
|
-
domain: "acmeoutdoor.example"
|
|
337
|
-
operator: "pinnacle-agency.example"
|
|
338
|
-
media_buy_ids:
|
|
339
|
-
- "$context.media_buy_id"
|
|
340
|
-
include_package_daily_breakdown: true
|
|
341
|
-
validations:
|
|
342
|
-
- check: response_schema
|
|
343
|
-
description: "Response matches get-media-buy-delivery-response.json schema"
|
|
344
|
-
- check: field_present
|
|
345
|
-
path: "media_buy_deliveries[0].totals.reach"
|
|
346
|
-
description: "Reach count surfaced at the buy level (in the declared reach_unit)"
|
|
347
|
-
- check: field_present
|
|
348
|
-
path: "media_buy_deliveries[0].totals.frequency"
|
|
349
|
-
description: "Frequency surfaced at the buy level — average exposures per reach unit"
|
|
350
|
-
|
|
351
|
-
- id: reach_window_cumulative
|
|
352
|
-
title: "Delivery row carries reach_window.kind cumulative"
|
|
353
|
-
narrative: |
|
|
354
|
-
A cumulative reach_window declares that the reach value represents
|
|
355
|
-
unique audiences since campaign start. Each successive delivery row
|
|
356
|
-
supersedes the prior one — buyers MUST NOT sum cumulative rows to
|
|
357
|
-
compute campaign reach, since each later row already includes all
|
|
358
|
-
prior audiences. No period field is required for cumulative.
|
|
359
|
-
|
|
360
|
-
This phase injects a delivery row with reach_window.kind cumulative
|
|
361
|
-
and verifies that the seller surfaces the window semantics on the
|
|
362
|
-
delivery response. Sellers that omit reach_window on a reach-optimized
|
|
363
|
-
buy force buyers to guess the window — creating silent double-counting
|
|
364
|
-
when buyers aggregate across reporting periods.
|
|
365
|
-
|
|
366
|
-
steps:
|
|
367
|
-
- id: create_media_buy_cumulative_reach
|
|
368
|
-
title: "Create media buy for cumulative reach-window delivery"
|
|
369
|
-
task: create_media_buy
|
|
370
|
-
schema_ref: "media-buy/create-media-buy-request.json"
|
|
371
|
-
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
372
|
-
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
373
|
-
stateful: true
|
|
374
|
-
expected: |
|
|
375
|
-
Create a fresh reach-optimized media buy so the cumulative
|
|
376
|
-
reach_window assertion is not contaminated by prior delivery
|
|
377
|
-
simulation calls.
|
|
378
|
-
sample_request:
|
|
379
|
-
brand:
|
|
380
|
-
domain: "acmeoutdoor.example"
|
|
381
|
-
account:
|
|
382
|
-
brand:
|
|
383
|
-
domain: "acmeoutdoor.example"
|
|
384
|
-
operator: "pinnacle-agency.example"
|
|
385
|
-
start_time: "2026-06-01T00:00:00Z"
|
|
386
|
-
end_time: "2026-06-30T23:59:59Z"
|
|
387
|
-
packages:
|
|
388
|
-
- product_id: "reach_ctv_q2"
|
|
389
|
-
budget: 10000
|
|
390
|
-
pricing_option_id: "auction_cpm"
|
|
391
|
-
optimization_goals:
|
|
392
|
-
- kind: "metric"
|
|
393
|
-
metric: "reach"
|
|
394
|
-
reach_unit: "households"
|
|
395
|
-
priority: 1
|
|
396
|
-
idempotency_key: "$generate:uuid_v4#reach_buy_flow_reach_window_cumulative_create_media_buy"
|
|
397
|
-
context_outputs:
|
|
398
|
-
- name: cumulative_media_buy_id
|
|
399
|
-
path: "media_buy_id"
|
|
400
|
-
validations:
|
|
401
|
-
- check: response_schema
|
|
402
|
-
description: "Response matches create-media-buy-response.json schema"
|
|
403
|
-
- check: field_present
|
|
404
|
-
path: "media_buy_id"
|
|
405
|
-
description: "Media buy has a platform-assigned ID"
|
|
406
|
-
|
|
407
|
-
- id: simulate_cumulative_reach
|
|
408
|
-
title: "Inject delivery with cumulative reach_window"
|
|
409
|
-
task: comply_test_controller
|
|
410
|
-
requires_tool: comply_test_controller
|
|
411
|
-
stateful: true
|
|
412
|
-
expected: |
|
|
413
|
-
The test controller acknowledges the simulated delivery with a
|
|
414
|
-
cumulative reach_window.
|
|
415
|
-
sample_request:
|
|
416
|
-
account:
|
|
417
|
-
sandbox: true
|
|
418
|
-
scenario: "simulate_delivery"
|
|
419
|
-
params:
|
|
420
|
-
media_buy_id: "$context.cumulative_media_buy_id"
|
|
421
|
-
impressions: 1200000
|
|
422
|
-
reach: 400000
|
|
423
|
-
frequency: 3.0
|
|
424
|
-
reach_window:
|
|
425
|
-
kind: "cumulative"
|
|
426
|
-
reported_spend:
|
|
427
|
-
amount: 22000.00
|
|
428
|
-
currency: "USD"
|
|
429
|
-
validations:
|
|
430
|
-
- check: field_value
|
|
431
|
-
path: "success"
|
|
432
|
-
allowed_values: [true]
|
|
433
|
-
description: "Delivery simulation with cumulative reach_window succeeds"
|
|
434
|
-
|
|
435
|
-
- id: get_cumulative_reach_delivery
|
|
436
|
-
title: "Verify reach_window.kind cumulative on delivery row"
|
|
437
|
-
task: get_media_buy_delivery
|
|
438
|
-
schema_ref: "media-buy/get-media-buy-delivery-request.json"
|
|
439
|
-
response_schema_ref: "media-buy/get-media-buy-delivery-response.json"
|
|
440
|
-
doc_ref: "/media-buy/task-reference/get_media_buy_delivery"
|
|
441
|
-
stateful: true
|
|
442
|
-
expected: |
|
|
443
|
-
Delivery row carries reach_window with kind: cumulative. No period
|
|
444
|
-
field is expected — cumulative reach is campaign-to-date and the
|
|
445
|
-
window is implicit. The row's reach value is the total unique count
|
|
446
|
-
since campaign start; each subsequent cumulative row supersedes
|
|
447
|
-
this one.
|
|
448
|
-
sample_request:
|
|
449
|
-
account:
|
|
450
|
-
brand:
|
|
451
|
-
domain: "acmeoutdoor.example"
|
|
452
|
-
operator: "pinnacle-agency.example"
|
|
453
|
-
media_buy_ids:
|
|
454
|
-
- "$context.cumulative_media_buy_id"
|
|
455
|
-
include_package_daily_breakdown: true
|
|
456
|
-
validations:
|
|
457
|
-
- check: response_schema
|
|
458
|
-
description: "Response matches get-media-buy-delivery-response.json schema"
|
|
459
|
-
- check: field_present
|
|
460
|
-
path: "media_buy_deliveries[0].totals.reach_window"
|
|
461
|
-
description: "Seller populates reach_window on the delivery row"
|
|
462
|
-
- check: field_value
|
|
463
|
-
path: "media_buy_deliveries[0].totals.reach_window.kind"
|
|
464
|
-
allowed_values: ["cumulative"]
|
|
465
|
-
description: "reach_window.kind is cumulative as injected"
|
|
466
|
-
|
|
467
|
-
- id: reach_window_period
|
|
468
|
-
title: "Delivery row carries reach_window.kind period with period field"
|
|
469
|
-
narrative: |
|
|
470
|
-
A period reach_window declares that the reach value covers a single
|
|
471
|
-
non-overlapping reporting period (e.g., one calendar day). Adjacent
|
|
472
|
-
period rows do not share audiences by construction — the same person
|
|
473
|
-
MAY appear across multiple periods — so buyers MUST NOT sum period
|
|
474
|
-
rows to compute campaign reach. The period field is REQUIRED for
|
|
475
|
-
kind: period and declares the snapshot length (e.g., 1 day).
|
|
476
|
-
|
|
477
|
-
This phase injects a delivery row with reach_window.kind period and
|
|
478
|
-
period: {interval:1, unit:"days"} and verifies the seller surfaces
|
|
479
|
-
both the kind and the period duration on the delivery response.
|
|
480
|
-
|
|
481
|
-
steps:
|
|
482
|
-
- id: create_media_buy_period_reach
|
|
483
|
-
title: "Create media buy for period reach-window delivery"
|
|
484
|
-
task: create_media_buy
|
|
485
|
-
schema_ref: "media-buy/create-media-buy-request.json"
|
|
486
|
-
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
487
|
-
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
488
|
-
stateful: true
|
|
489
|
-
expected: |
|
|
490
|
-
Create a fresh reach-optimized media buy so the period
|
|
491
|
-
reach_window assertion is isolated from cumulative or rolling
|
|
492
|
-
delivery simulations.
|
|
493
|
-
sample_request:
|
|
494
|
-
brand:
|
|
495
|
-
domain: "acmeoutdoor.example"
|
|
496
|
-
account:
|
|
497
|
-
brand:
|
|
498
|
-
domain: "acmeoutdoor.example"
|
|
499
|
-
operator: "pinnacle-agency.example"
|
|
500
|
-
start_time: "2026-06-01T00:00:00Z"
|
|
501
|
-
end_time: "2026-06-30T23:59:59Z"
|
|
502
|
-
packages:
|
|
503
|
-
- product_id: "reach_ctv_q2"
|
|
504
|
-
budget: 10000
|
|
505
|
-
pricing_option_id: "auction_cpm"
|
|
506
|
-
optimization_goals:
|
|
507
|
-
- kind: "metric"
|
|
508
|
-
metric: "reach"
|
|
509
|
-
reach_unit: "households"
|
|
510
|
-
priority: 1
|
|
511
|
-
idempotency_key: "$generate:uuid_v4#reach_buy_flow_reach_window_period_create_media_buy"
|
|
512
|
-
context_outputs:
|
|
513
|
-
- name: period_media_buy_id
|
|
514
|
-
path: "media_buy_id"
|
|
515
|
-
validations:
|
|
516
|
-
- check: response_schema
|
|
517
|
-
description: "Response matches create-media-buy-response.json schema"
|
|
518
|
-
- check: field_present
|
|
519
|
-
path: "media_buy_id"
|
|
520
|
-
description: "Media buy has a platform-assigned ID"
|
|
521
|
-
|
|
522
|
-
- id: simulate_period_reach
|
|
523
|
-
title: "Inject delivery with period reach_window"
|
|
524
|
-
task: comply_test_controller
|
|
525
|
-
requires_tool: comply_test_controller
|
|
526
|
-
stateful: true
|
|
527
|
-
expected: |
|
|
528
|
-
The test controller acknowledges the simulated delivery with a
|
|
529
|
-
period reach_window carrying a 1-day period.
|
|
530
|
-
sample_request:
|
|
531
|
-
account:
|
|
532
|
-
sandbox: true
|
|
533
|
-
scenario: "simulate_delivery"
|
|
534
|
-
params:
|
|
535
|
-
media_buy_id: "$context.period_media_buy_id"
|
|
536
|
-
impressions: 175000
|
|
537
|
-
reach: 140000
|
|
538
|
-
frequency: 1.25
|
|
539
|
-
reach_window:
|
|
540
|
-
kind: "period"
|
|
541
|
-
period:
|
|
542
|
-
interval: 1
|
|
543
|
-
unit: "days"
|
|
544
|
-
reported_spend:
|
|
545
|
-
amount: 3200.00
|
|
546
|
-
currency: "USD"
|
|
547
|
-
validations:
|
|
548
|
-
- check: field_value
|
|
549
|
-
path: "success"
|
|
550
|
-
allowed_values: [true]
|
|
551
|
-
description: "Delivery simulation with period reach_window succeeds"
|
|
552
|
-
|
|
553
|
-
- id: get_period_reach_delivery
|
|
554
|
-
title: "Verify reach_window.kind period and period duration on delivery row"
|
|
555
|
-
task: get_media_buy_delivery
|
|
556
|
-
schema_ref: "media-buy/get-media-buy-delivery-request.json"
|
|
557
|
-
response_schema_ref: "media-buy/get-media-buy-delivery-response.json"
|
|
558
|
-
doc_ref: "/media-buy/task-reference/get_media_buy_delivery"
|
|
559
|
-
stateful: true
|
|
560
|
-
expected: |
|
|
561
|
-
Delivery row carries reach_window with kind: period and a period
|
|
562
|
-
duration of 1 day. The period field is required for kind: period —
|
|
563
|
-
its absence would leave buyers unable to determine the snapshot
|
|
564
|
-
length, making cross-period reach comparisons unreliable.
|
|
565
|
-
sample_request:
|
|
566
|
-
account:
|
|
567
|
-
brand:
|
|
568
|
-
domain: "acmeoutdoor.example"
|
|
569
|
-
operator: "pinnacle-agency.example"
|
|
570
|
-
media_buy_ids:
|
|
571
|
-
- "$context.period_media_buy_id"
|
|
572
|
-
include_package_daily_breakdown: true
|
|
573
|
-
validations:
|
|
574
|
-
- check: response_schema
|
|
575
|
-
description: "Response matches get-media-buy-delivery-response.json schema"
|
|
576
|
-
- check: field_present
|
|
577
|
-
path: "media_buy_deliveries[0].totals.reach_window"
|
|
578
|
-
description: "Seller populates reach_window on the delivery row"
|
|
579
|
-
- check: field_value
|
|
580
|
-
path: "media_buy_deliveries[0].totals.reach_window.kind"
|
|
581
|
-
allowed_values: ["period"]
|
|
582
|
-
description: "reach_window.kind is period as injected"
|
|
583
|
-
- check: field_present
|
|
584
|
-
path: "media_buy_deliveries[0].totals.reach_window.period"
|
|
585
|
-
description: "period field is present — required for kind: period"
|
|
586
|
-
|
|
587
|
-
- id: reach_window_rolling
|
|
588
|
-
title: "Delivery row carries reach_window.kind rolling with period field"
|
|
589
|
-
narrative: |
|
|
590
|
-
A rolling reach_window declares that the reach value covers a trailing
|
|
591
|
-
window ending at the row's reporting timestamp (e.g., trailing-7-day
|
|
592
|
-
unique reach). Adjacent rolling rows overlap — each row stands alone
|
|
593
|
-
and MUST NOT be summed; summing rolling rows double-counts audiences
|
|
594
|
-
seen in multiple windows. The period field is REQUIRED for kind: rolling
|
|
595
|
-
and declares the trailing-window length (e.g., 7 days).
|
|
596
|
-
|
|
597
|
-
This phase injects a delivery row with reach_window.kind rolling and
|
|
598
|
-
period: {interval:7, unit:"days"} and verifies the seller surfaces
|
|
599
|
-
both the kind and the window duration. A trailing-7-day reach window
|
|
600
|
-
is the canonical frequency-cap companion — buyers reading this value
|
|
601
|
-
know exactly which audiences are within the 7-day dedup window.
|
|
602
|
-
|
|
603
|
-
steps:
|
|
604
|
-
- id: create_media_buy_rolling_reach
|
|
605
|
-
title: "Create media buy for rolling reach-window delivery"
|
|
606
|
-
task: create_media_buy
|
|
607
|
-
schema_ref: "media-buy/create-media-buy-request.json"
|
|
608
|
-
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
609
|
-
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
610
|
-
stateful: true
|
|
611
|
-
expected: |
|
|
612
|
-
Create a fresh reach-optimized media buy so the rolling
|
|
613
|
-
reach_window assertion is isolated from period or cumulative
|
|
614
|
-
delivery simulations.
|
|
615
|
-
sample_request:
|
|
616
|
-
brand:
|
|
617
|
-
domain: "acmeoutdoor.example"
|
|
618
|
-
account:
|
|
619
|
-
brand:
|
|
620
|
-
domain: "acmeoutdoor.example"
|
|
621
|
-
operator: "pinnacle-agency.example"
|
|
622
|
-
start_time: "2026-06-01T00:00:00Z"
|
|
623
|
-
end_time: "2026-06-30T23:59:59Z"
|
|
624
|
-
packages:
|
|
625
|
-
- product_id: "reach_ctv_q2"
|
|
626
|
-
budget: 10000
|
|
627
|
-
pricing_option_id: "auction_cpm"
|
|
628
|
-
optimization_goals:
|
|
629
|
-
- kind: "metric"
|
|
630
|
-
metric: "reach"
|
|
631
|
-
reach_unit: "households"
|
|
632
|
-
priority: 1
|
|
633
|
-
idempotency_key: "$generate:uuid_v4#reach_buy_flow_reach_window_rolling_create_media_buy"
|
|
634
|
-
context_outputs:
|
|
635
|
-
- name: rolling_media_buy_id
|
|
636
|
-
path: "media_buy_id"
|
|
637
|
-
validations:
|
|
638
|
-
- check: response_schema
|
|
639
|
-
description: "Response matches create-media-buy-response.json schema"
|
|
640
|
-
- check: field_present
|
|
641
|
-
path: "media_buy_id"
|
|
642
|
-
description: "Media buy has a platform-assigned ID"
|
|
643
|
-
|
|
644
|
-
- id: simulate_rolling_reach
|
|
645
|
-
title: "Inject delivery with rolling reach_window"
|
|
646
|
-
task: comply_test_controller
|
|
647
|
-
requires_tool: comply_test_controller
|
|
648
|
-
stateful: true
|
|
649
|
-
expected: |
|
|
650
|
-
The test controller acknowledges the simulated delivery with a
|
|
651
|
-
rolling reach_window carrying a 7-day trailing window.
|
|
652
|
-
sample_request:
|
|
653
|
-
account:
|
|
654
|
-
sandbox: true
|
|
655
|
-
scenario: "simulate_delivery"
|
|
656
|
-
params:
|
|
657
|
-
media_buy_id: "$context.rolling_media_buy_id"
|
|
658
|
-
impressions: 450000
|
|
659
|
-
reach: 210000
|
|
660
|
-
frequency: 2.1
|
|
661
|
-
reach_window:
|
|
662
|
-
kind: "rolling"
|
|
663
|
-
period:
|
|
664
|
-
interval: 7
|
|
665
|
-
unit: "days"
|
|
666
|
-
reported_spend:
|
|
667
|
-
amount: 8500.00
|
|
668
|
-
currency: "USD"
|
|
669
|
-
validations:
|
|
670
|
-
- check: field_value
|
|
671
|
-
path: "success"
|
|
672
|
-
allowed_values: [true]
|
|
673
|
-
description: "Delivery simulation with rolling reach_window succeeds"
|
|
674
|
-
|
|
675
|
-
- id: get_rolling_reach_delivery
|
|
676
|
-
title: "Verify reach_window.kind rolling and period duration on delivery row"
|
|
677
|
-
task: get_media_buy_delivery
|
|
678
|
-
schema_ref: "media-buy/get-media-buy-delivery-request.json"
|
|
679
|
-
response_schema_ref: "media-buy/get-media-buy-delivery-response.json"
|
|
680
|
-
doc_ref: "/media-buy/task-reference/get_media_buy_delivery"
|
|
681
|
-
stateful: true
|
|
682
|
-
expected: |
|
|
683
|
-
Delivery row carries reach_window with kind: rolling and a period
|
|
684
|
-
of 7 days. The period field is required for kind: rolling — without
|
|
685
|
-
it, buyers cannot determine the trailing window length and cannot
|
|
686
|
-
safely use the reach value for frequency optimization.
|
|
687
|
-
sample_request:
|
|
688
|
-
account:
|
|
689
|
-
brand:
|
|
690
|
-
domain: "acmeoutdoor.example"
|
|
691
|
-
operator: "pinnacle-agency.example"
|
|
692
|
-
media_buy_ids:
|
|
693
|
-
- "$context.rolling_media_buy_id"
|
|
694
|
-
include_package_daily_breakdown: true
|
|
695
|
-
validations:
|
|
696
|
-
- check: response_schema
|
|
697
|
-
description: "Response matches get-media-buy-delivery-response.json schema"
|
|
698
|
-
- check: field_present
|
|
699
|
-
path: "media_buy_deliveries[0].totals.reach_window"
|
|
700
|
-
description: "Seller populates reach_window on the delivery row"
|
|
701
|
-
- check: field_value
|
|
702
|
-
path: "media_buy_deliveries[0].totals.reach_window.kind"
|
|
703
|
-
allowed_values: ["rolling"]
|
|
704
|
-
description: "reach_window.kind is rolling as injected"
|
|
705
|
-
- check: field_present
|
|
706
|
-
path: "media_buy_deliveries[0].totals.reach_window.period"
|
|
707
|
-
description: "period field is present — required for kind: rolling"
|
|
708
|
-
|
|
709
|
-
- id: reach_window_absent_advisory
|
|
710
|
-
title: "Advisory: delivery row with reach but no reach_window is schema-valid but sum-unsafe"
|
|
711
|
-
narrative: |
|
|
712
|
-
Reach/frequency rows with `reach_window` omitted are schema-valid —
|
|
713
|
-
the schema marks the field SHOULD (not MUST) populate it. However,
|
|
714
|
-
buyers MUST NOT treat omitted-window rows as sum-safe: the value may
|
|
715
|
-
be a daily snapshot, a cumulative total, or something else. Summing
|
|
716
|
-
reach values across rows without a declared window silently
|
|
717
|
-
double-counts audiences.
|
|
718
|
-
|
|
719
|
-
This phase simulates a delivery row without reach_window and issues
|
|
720
|
-
an advisory (not a conformance fail) when the seller returns reach
|
|
721
|
-
without the window declaration. Advisory grading: sellers that do
|
|
722
|
-
not populate reach_window on reach-optimized buys are warned but
|
|
723
|
-
not failed — the omission is spec-valid. Sellers should treat this
|
|
724
|
-
advisory as a signal to add reach_window to their delivery responses
|
|
725
|
-
for 3.1+ buyers.
|
|
726
|
-
|
|
727
|
-
steps:
|
|
728
|
-
- id: create_media_buy_reach_no_window
|
|
729
|
-
title: "Create media buy for omitted reach-window advisory"
|
|
730
|
-
task: create_media_buy
|
|
731
|
-
schema_ref: "media-buy/create-media-buy-request.json"
|
|
732
|
-
response_schema_ref: "media-buy/create-media-buy-response.json"
|
|
733
|
-
doc_ref: "/media-buy/task-reference/create_media_buy"
|
|
734
|
-
stateful: true
|
|
735
|
-
expected: |
|
|
736
|
-
Create a fresh reach-optimized media buy so the omitted-window
|
|
737
|
-
advisory observes a delivery row whose reach_window was never
|
|
738
|
-
populated by earlier simulation calls.
|
|
739
|
-
sample_request:
|
|
740
|
-
brand:
|
|
741
|
-
domain: "acmeoutdoor.example"
|
|
742
|
-
account:
|
|
743
|
-
brand:
|
|
744
|
-
domain: "acmeoutdoor.example"
|
|
745
|
-
operator: "pinnacle-agency.example"
|
|
746
|
-
start_time: "2026-06-01T00:00:00Z"
|
|
747
|
-
end_time: "2026-06-30T23:59:59Z"
|
|
748
|
-
packages:
|
|
749
|
-
- product_id: "reach_ctv_q2"
|
|
750
|
-
budget: 10000
|
|
751
|
-
pricing_option_id: "auction_cpm"
|
|
752
|
-
optimization_goals:
|
|
753
|
-
- kind: "metric"
|
|
754
|
-
metric: "reach"
|
|
755
|
-
reach_unit: "households"
|
|
756
|
-
priority: 1
|
|
757
|
-
idempotency_key: "$generate:uuid_v4#reach_buy_flow_reach_window_absent_create_media_buy"
|
|
758
|
-
context_outputs:
|
|
759
|
-
- name: no_window_media_buy_id
|
|
760
|
-
path: "media_buy_id"
|
|
761
|
-
validations:
|
|
762
|
-
- check: response_schema
|
|
763
|
-
description: "Response matches create-media-buy-response.json schema"
|
|
764
|
-
- check: field_present
|
|
765
|
-
path: "media_buy_id"
|
|
766
|
-
description: "Media buy has a platform-assigned ID"
|
|
767
|
-
|
|
768
|
-
- id: simulate_reach_no_window
|
|
769
|
-
title: "Inject delivery with reach but no reach_window"
|
|
770
|
-
task: comply_test_controller
|
|
771
|
-
requires_tool: comply_test_controller
|
|
772
|
-
stateful: true
|
|
773
|
-
expected: |
|
|
774
|
-
The test controller injects a delivery row with reach and frequency
|
|
775
|
-
but no reach_window. This is a valid operation — the scenario
|
|
776
|
-
tests the advisory behavior, not a rejection.
|
|
777
|
-
sample_request:
|
|
778
|
-
account:
|
|
779
|
-
sandbox: true
|
|
780
|
-
scenario: "simulate_delivery"
|
|
781
|
-
params:
|
|
782
|
-
media_buy_id: "$context.no_window_media_buy_id"
|
|
783
|
-
impressions: 300000
|
|
784
|
-
reach: 180000
|
|
785
|
-
frequency: 1.67
|
|
786
|
-
reported_spend:
|
|
787
|
-
amount: 5800.00
|
|
788
|
-
currency: "USD"
|
|
789
|
-
validations:
|
|
790
|
-
- check: field_value
|
|
791
|
-
path: "success"
|
|
792
|
-
allowed_values: [true]
|
|
793
|
-
description: "Delivery simulation without reach_window succeeds"
|
|
794
|
-
|
|
795
|
-
- id: get_delivery_reach_no_window
|
|
796
|
-
title: "Verify advisory when reach is present but reach_window is absent"
|
|
797
|
-
task: get_media_buy_delivery
|
|
798
|
-
schema_ref: "media-buy/get-media-buy-delivery-request.json"
|
|
799
|
-
response_schema_ref: "media-buy/get-media-buy-delivery-response.json"
|
|
800
|
-
doc_ref: "/media-buy/task-reference/get_media_buy_delivery"
|
|
801
|
-
stateful: true
|
|
802
|
-
expected: |
|
|
803
|
-
Delivery row contains reach without reach_window. Schema-valid —
|
|
804
|
-
this is a SHOULD, not a MUST. The advisory validation below fires
|
|
805
|
-
when reach_window is absent, surfacing the omission for the seller
|
|
806
|
-
to address in future delivery responses.
|
|
807
|
-
sample_request:
|
|
808
|
-
account:
|
|
809
|
-
brand:
|
|
810
|
-
domain: "acmeoutdoor.example"
|
|
811
|
-
operator: "pinnacle-agency.example"
|
|
812
|
-
media_buy_ids:
|
|
813
|
-
- "$context.no_window_media_buy_id"
|
|
814
|
-
include_package_daily_breakdown: true
|
|
815
|
-
validations:
|
|
816
|
-
- check: response_schema
|
|
817
|
-
description: "Response matches get-media-buy-delivery-response.json schema"
|
|
818
|
-
- check: field_present
|
|
819
|
-
path: "media_buy_deliveries[0].totals.reach_window"
|
|
820
|
-
severity: advisory
|
|
821
|
-
permanent_advisory:
|
|
822
|
-
reason: "delivery-metrics.json declares reach_window as SHOULD (not MUST) for 3.1. Omitting it is schema-valid but prevents buyers from determining the measurement window, making the reach value sum-unsafe across reporting periods. Sellers on the 3.1 track should populate reach_window on all reach-bearing delivery rows. This advisory is permanent: promotion to required is a 4.0 breaking change and will be tracked separately."
|
|
823
|
-
description: "reach_window populated on reach-bearing delivery row (advisory — SHOULD per 3.1 spec)"
|