@adcp/sdk 6.14.0 → 6.15.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADCP_VERSION +1 -1
- package/bin/adcp.js +25 -7
- package/compliance/cache/{3.0.7.previous/protocols → 3.0.8/domains}/media-buy/scenarios/creative_fate_after_cancellation.yaml +5 -5
- package/compliance/cache/{3.0.7.previous/protocols → 3.0.8/domains}/media-buy/scenarios/governance_approved.yaml +1 -1
- package/compliance/cache/{3.0.7/protocols → 3.0.8/domains}/media-buy/scenarios/governance_conditions.yaml +1 -1
- package/compliance/cache/{3.0.7/protocols → 3.0.8/domains}/media-buy/scenarios/governance_denied.yaml +1 -1
- package/compliance/cache/{3.0.7/protocols → 3.0.8/domains}/media-buy/scenarios/governance_denied_recovery.yaml +3 -3
- package/compliance/cache/{3.0.7.previous → 3.0.8}/domains/media-buy/scenarios/invalid_transitions.yaml +1 -1
- package/compliance/cache/{3.0.7.previous/protocols → 3.0.8/domains}/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
- package/compliance/cache/{3.0.7 → 3.0.8}/domains/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
- package/compliance/cache/{3.0.7/protocols → 3.0.8/domains}/media-buy/scenarios/pending_creatives_to_start.yaml +1 -1
- package/compliance/cache/{3.0.7 → 3.0.8}/index.json +2 -2
- package/compliance/cache/{3.0.7.previous/domains → 3.0.8/protocols}/media-buy/scenarios/creative_fate_after_cancellation.yaml +5 -5
- package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/scenarios/governance_approved.yaml +1 -1
- package/compliance/cache/{3.0.7.previous/domains → 3.0.8/protocols}/media-buy/scenarios/governance_conditions.yaml +1 -1
- package/compliance/cache/{3.0.7.previous → 3.0.8}/protocols/media-buy/scenarios/governance_denied.yaml +1 -1
- package/compliance/cache/{3.0.7.previous → 3.0.8}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +3 -3
- package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/scenarios/invalid_transitions.yaml +1 -1
- package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
- package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
- package/compliance/cache/{3.0.7.previous → 3.0.8}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +1 -1
- package/compliance/cache/{3.0.7 → 3.0.8.previous}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +5 -5
- package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/scenarios/governance_approved.yaml +1 -1
- package/compliance/cache/{3.0.7 → 3.0.8.previous}/domains/media-buy/scenarios/governance_conditions.yaml +1 -1
- package/compliance/cache/{3.0.7 → 3.0.8.previous}/domains/media-buy/scenarios/governance_denied.yaml +1 -1
- package/compliance/cache/{3.0.7 → 3.0.8.previous}/domains/media-buy/scenarios/governance_denied_recovery.yaml +3 -3
- package/compliance/cache/{3.0.7.previous/protocols → 3.0.8.previous/domains}/media-buy/scenarios/invalid_transitions.yaml +1 -1
- package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
- package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
- package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +1 -1
- package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/index.json +2 -2
- package/compliance/cache/{3.0.7 → 3.0.8.previous}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +5 -5
- package/compliance/cache/{3.0.7/domains → 3.0.8.previous/protocols}/media-buy/scenarios/governance_approved.yaml +1 -1
- package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/media-buy/scenarios/governance_conditions.yaml +1 -1
- package/compliance/cache/{3.0.7.previous/domains → 3.0.8.previous/protocols}/media-buy/scenarios/governance_denied.yaml +1 -1
- package/compliance/cache/{3.0.7.previous/domains → 3.0.8.previous/protocols}/media-buy/scenarios/governance_denied_recovery.yaml +3 -3
- package/compliance/cache/{3.0.7/domains → 3.0.8.previous/protocols}/media-buy/scenarios/invalid_transitions.yaml +1 -1
- package/compliance/cache/{3.0.7/domains → 3.0.8.previous/protocols}/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
- package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
- package/compliance/cache/{3.0.7/domains → 3.0.8.previous/protocols}/media-buy/scenarios/pending_creatives_to_start.yaml +1 -1
- package/dist/lib/core/ConversationTypes.d.ts +6 -2
- package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +1 -1
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +106 -12
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/index.d.ts +5 -0
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +52 -4
- package/dist/lib/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 +4 -4
- 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 +363 -363
- package/dist/lib/schemas-data/3.0/manifest.json +3 -3
- package/dist/lib/schemas-data/3.0/manifest.schema.json +1 -1
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-request.json +11 -11
- package/dist/lib/schemas-data/3.0/media-buy/build-creative-response.json +17 -17
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-request.json +12 -12
- package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-response.json +15 -15
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buy-delivery-request.json +17 -17
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buy-delivery-response.json +24 -24
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buys-request.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/get-media-buys-response.json +19 -19
- package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/get-products-request.json +11 -11
- package/dist/lib/schemas-data/3.0/media-buy/get-products-response.json +8 -8
- package/dist/lib/schemas-data/3.0/media-buy/list-creative-formats-request.json +11 -11
- package/dist/lib/schemas-data/3.0/media-buy/list-creative-formats-response.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/log-event-request.json +4 -4
- package/dist/lib/schemas-data/3.0/media-buy/log-event-response.json +6 -6
- package/dist/lib/schemas-data/3.0/media-buy/package-request.json +12 -12
- package/dist/lib/schemas-data/3.0/media-buy/package-update.json +13 -13
- package/dist/lib/schemas-data/3.0/media-buy/provide-performance-feedback-request.json +6 -6
- package/dist/lib/schemas-data/3.0/media-buy/provide-performance-feedback-response.json +6 -6
- package/dist/lib/schemas-data/3.0/media-buy/sync-audiences-request.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/sync-audiences-response.json +9 -9
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-request.json +7 -7
- package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-response.json +9 -9
- package/dist/lib/schemas-data/3.0/media-buy/sync-event-sources-request.json +5 -5
- package/dist/lib/schemas-data/3.0/media-buy/sync-event-sources-response.json +10 -10
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-request.json +10 -10
- package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-response.json +10 -10
- package/dist/lib/schemas-data/3.0/pricing-options/cpa-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpc-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpcv-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpm-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/cpp-option.json +5 -5
- package/dist/lib/schemas-data/3.0/pricing-options/cpv-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/flat-rate-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/price-breakdown.json +2 -2
- package/dist/lib/schemas-data/3.0/pricing-options/price-guidance.json +1 -1
- package/dist/lib/schemas-data/3.0/pricing-options/time-option.json +4 -4
- package/dist/lib/schemas-data/3.0/pricing-options/vcpm-option.json +4 -4
- package/dist/lib/schemas-data/3.0/property/authorization-result.json +1 -1
- package/dist/lib/schemas-data/3.0/property/base-property-source.json +4 -4
- package/dist/lib/schemas-data/3.0/property/create-property-list-request.json +7 -7
- package/dist/lib/schemas-data/3.0/property/create-property-list-response.json +4 -4
- package/dist/lib/schemas-data/3.0/property/delete-property-list-request.json +4 -4
- package/dist/lib/schemas-data/3.0/property/delete-property-list-response.json +3 -3
- package/dist/lib/schemas-data/3.0/property/delivery-record.json +3 -3
- package/dist/lib/schemas-data/3.0/property/get-property-list-request.json +4 -4
- package/dist/lib/schemas-data/3.0/property/get-property-list-response.json +7 -7
- package/dist/lib/schemas-data/3.0/property/list-property-lists-request.json +5 -5
- package/dist/lib/schemas-data/3.0/property/list-property-lists-response.json +5 -5
- package/dist/lib/schemas-data/3.0/property/property-error.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-feature-definition.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-feature-result.json +4 -4
- package/dist/lib/schemas-data/3.0/property/property-feature-value.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-feature.json +1 -1
- package/dist/lib/schemas-data/3.0/property/property-list-changed-webhook.json +2 -2
- package/dist/lib/schemas-data/3.0/property/property-list-filters.json +5 -5
- package/dist/lib/schemas-data/3.0/property/property-list.json +6 -6
- package/dist/lib/schemas-data/3.0/property/update-property-list-request.json +7 -7
- package/dist/lib/schemas-data/3.0/property/update-property-list-response.json +4 -4
- package/dist/lib/schemas-data/3.0/property/validate-property-delivery-request.json +5 -5
- package/dist/lib/schemas-data/3.0/property/validate-property-delivery-response.json +4 -4
- package/dist/lib/schemas-data/3.0/property/validation-result.json +5 -5
- package/dist/lib/schemas-data/3.0/protocol/get-adcp-capabilities-request.json +3 -3
- package/dist/lib/schemas-data/3.0/protocol/get-adcp-capabilities-response.json +25 -25
- package/dist/lib/schemas-data/3.0/signals/activate-signal-request.json +5 -5
- package/dist/lib/schemas-data/3.0/signals/activate-signal-response.json +7 -7
- package/dist/lib/schemas-data/3.0/signals/get-signals-request.json +8 -8
- package/dist/lib/schemas-data/3.0/signals/get-signals-response.json +10 -10
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-capabilities.json +1 -1
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-get-offering-request.json +3 -3
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-get-offering-response.json +4 -4
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-identity.json +1 -1
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-initiate-session-request.json +5 -5
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-initiate-session-response.json +7 -7
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-send-message-request.json +3 -3
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-send-message-response.json +7 -7
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-terminate-session-request.json +3 -3
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-terminate-session-response.json +5 -5
- package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-ui-element.json +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +182 -0
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js +1 -1
- package/dist/lib/server/error-arm-tools.d.ts +56 -0
- package/dist/lib/server/error-arm-tools.d.ts.map +1 -0
- package/dist/lib/server/error-arm-tools.js +219 -0
- package/dist/lib/server/error-arm-tools.js.map +1 -0
- package/dist/lib/server/errors.d.ts +10 -0
- package/dist/lib/server/errors.d.ts.map +1 -1
- package/dist/lib/server/errors.js +10 -0
- package/dist/lib/server/errors.js.map +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 +7 -4
- package/dist/lib/testing/client.d.ts.map +1 -1
- package/dist/lib/testing/client.js +36 -3
- package/dist/lib/testing/client.js.map +1 -1
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
- package/dist/lib/testing/compliance/comply.js +5 -2
- package/dist/lib/testing/compliance/comply.js.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.d.ts +18 -0
- package/dist/lib/testing/storyboard/request-builder.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/request-builder.js +83 -24
- package/dist/lib/testing/storyboard/request-builder.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +17 -6
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/testing/storyboard/types.d.ts +9 -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/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/activation-key-builders.d.ts +21 -0
- package/dist/lib/utils/activation-key-builders.d.ts.map +1 -0
- package/dist/lib/utils/activation-key-builders.js +28 -0
- package/dist/lib/utils/activation-key-builders.js.map +1 -0
- package/dist/lib/utils/build-creative-return-builders.d.ts +24 -0
- package/dist/lib/utils/build-creative-return-builders.d.ts.map +1 -0
- package/dist/lib/utils/build-creative-return-builders.js +42 -0
- package/dist/lib/utils/build-creative-return-builders.js.map +1 -0
- package/dist/lib/utils/media-buy-delivery-notification-builders.d.ts +25 -0
- package/dist/lib/utils/media-buy-delivery-notification-builders.d.ts.map +1 -0
- package/dist/lib/utils/media-buy-delivery-notification-builders.js +41 -0
- package/dist/lib/utils/media-buy-delivery-notification-builders.js.map +1 -0
- package/dist/lib/utils/preview-creative-builders.d.ts +18 -0
- package/dist/lib/utils/preview-creative-builders.d.ts.map +1 -0
- package/dist/lib/utils/preview-creative-builders.js +28 -0
- package/dist/lib/utils/preview-creative-builders.js.map +1 -0
- package/dist/lib/utils/protocol-detection.js +26 -3
- package/dist/lib/utils/protocol-detection.js.map +1 -1
- package/dist/lib/utils/signal-id-builders.d.ts +21 -0
- package/dist/lib/utils/signal-id-builders.d.ts.map +1 -0
- package/dist/lib/utils/signal-id-builders.js +24 -0
- package/dist/lib/utils/signal-id-builders.js.map +1 -0
- package/dist/lib/version.d.ts +7 -7
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +6 -5
- package/dist/lib/version.js.map +1 -1
- package/examples/hello_creative_adapter_ad_server.ts +13 -14
- package/examples/hello_creative_adapter_template.ts +15 -13
- package/examples/hello_signals_adapter_marketplace.ts +9 -12
- package/examples/signals-agent.ts +11 -15
- package/package.json +2 -2
- package/skills/SHAPE-GOTCHAS.md +83 -19
- package/skills/build-creative-agent/SKILL.md +23 -8
- package/skills/build-retail-media-agent/SKILL.md +31 -25
- package/skills/build-seller-agent/SKILL.md +14 -8
- package/skills/build-seller-agent/specialisms/audience-sync.md +19 -65
- package/skills/build-seller-agent/specialisms/sales-broadcast-tv.md +48 -49
- package/skills/build-seller-agent/specialisms/sales-proposal-mode.md +47 -45
- package/skills/build-seller-agent/specialisms/sales-streaming-tv.md +45 -0
- package/skills/build-signals-agent/SKILL.md +21 -20
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/media-buy/creative-reception.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/creative-reception.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/storyboard-schema.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7 → 3.0.8}/universal/webhook-emission.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/creative-reception.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/media-buy/creative-reception.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/storyboard-schema.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.7.previous → 3.0.8.previous}/universal/webhook-emission.yaml +0 -0
|
@@ -36,6 +36,7 @@ import {
|
|
|
36
36
|
type CachedBuyerAgentRegistry,
|
|
37
37
|
} from '@adcp/sdk/server';
|
|
38
38
|
import type { GetSignalsResponse, ActivateSignalRequest, ActivateSignalSuccess } from '@adcp/sdk/types';
|
|
39
|
+
import { activationKey, signalId } from '@adcp/sdk';
|
|
39
40
|
import { createUpstreamRecorder, toQueryUpstreamTrafficResponse } from '@adcp/sdk/upstream-recorder';
|
|
40
41
|
import { createHash, randomUUID } from 'node:crypto';
|
|
41
42
|
|
|
@@ -292,11 +293,10 @@ function toAdcpSignal(c: UpstreamCohort): GetSignalsResponse['signals'][number]
|
|
|
292
293
|
const coverage = c.total_universe > 0 ? Math.round((c.member_count / c.total_universe) * 100) : 0;
|
|
293
294
|
return {
|
|
294
295
|
signal_agent_segment_id: c.cohort_id,
|
|
295
|
-
signal_id: {
|
|
296
|
-
source: 'catalog',
|
|
296
|
+
signal_id: signalId.catalog({
|
|
297
297
|
data_provider_domain: c.data_provider_domain,
|
|
298
298
|
id: c.data_provider_id,
|
|
299
|
-
},
|
|
299
|
+
}),
|
|
300
300
|
name: c.name,
|
|
301
301
|
description: c.description,
|
|
302
302
|
value_type: c.value_type,
|
|
@@ -449,18 +449,16 @@ class SignalMarketplaceAdapter implements DecisioningPlatform<Record<string, nev
|
|
|
449
449
|
client_request_id: `${idempotency}.${i}`,
|
|
450
450
|
});
|
|
451
451
|
if (dest.type === 'agent') {
|
|
452
|
-
//
|
|
453
|
-
//
|
|
454
|
-
// `value` MUST be string. See skills/SHAPE-GOTCHAS.md §1.
|
|
452
|
+
// `activationKey.keyValue({...})` injects `type: 'key_value'`
|
|
453
|
+
// and accepts the flat `{ key, value }` shape. SHAPE-GOTCHAS §1.
|
|
455
454
|
return {
|
|
456
455
|
type: 'agent' as const,
|
|
457
456
|
agent_url: dest.agent_url,
|
|
458
457
|
is_live: true,
|
|
459
|
-
activation_key: {
|
|
460
|
-
type: 'key_value' as const,
|
|
458
|
+
activation_key: activationKey.keyValue({
|
|
461
459
|
key: 'agent_segment',
|
|
462
460
|
value: activation.agent_activation_key?.agent_segment ?? activation.activation_id,
|
|
463
|
-
},
|
|
461
|
+
}),
|
|
464
462
|
deployed_at: new Date().toISOString(),
|
|
465
463
|
};
|
|
466
464
|
}
|
|
@@ -468,10 +466,9 @@ class SignalMarketplaceAdapter implements DecisioningPlatform<Record<string, nev
|
|
|
468
466
|
type: 'platform' as const,
|
|
469
467
|
platform: dest.platform,
|
|
470
468
|
is_live: false,
|
|
471
|
-
activation_key: {
|
|
472
|
-
type: 'segment_id' as const,
|
|
469
|
+
activation_key: activationKey.segment({
|
|
473
470
|
segment_id: activation.segment_id ?? activation.activation_id,
|
|
474
|
-
},
|
|
471
|
+
}),
|
|
475
472
|
estimated_activation_duration_minutes: 30,
|
|
476
473
|
};
|
|
477
474
|
})
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
import { createAdcpServer, serve } from '@adcp/sdk/server/legacy/v5';
|
|
20
20
|
import { createIdempotencyStore, memoryBackend } from '@adcp/sdk/server';
|
|
21
|
+
import { activationKey, signalId } from '@adcp/sdk';
|
|
21
22
|
import type { GetSignalsResponse, ServeContext } from '@adcp/sdk';
|
|
22
23
|
|
|
23
24
|
// ---------------------------------------------------------------------------
|
|
@@ -28,11 +29,10 @@ type Signal = GetSignalsResponse['signals'][number];
|
|
|
28
29
|
const SEGMENTS: Signal[] = [
|
|
29
30
|
{
|
|
30
31
|
signal_agent_segment_id: 'high_intent_shoppers',
|
|
31
|
-
signal_id: {
|
|
32
|
-
source: 'catalog',
|
|
32
|
+
signal_id: signalId.catalog({
|
|
33
33
|
data_provider_domain: 'example-signals.com',
|
|
34
34
|
id: 'high_intent_shoppers',
|
|
35
|
-
},
|
|
35
|
+
}),
|
|
36
36
|
name: 'High Intent Shoppers',
|
|
37
37
|
description: 'Users who visited product pages 3+ times in the last 7 days without purchasing.',
|
|
38
38
|
value_type: 'binary',
|
|
@@ -51,11 +51,10 @@ const SEGMENTS: Signal[] = [
|
|
|
51
51
|
},
|
|
52
52
|
{
|
|
53
53
|
signal_agent_segment_id: 'lapsed_subscribers',
|
|
54
|
-
signal_id: {
|
|
55
|
-
source: 'catalog',
|
|
54
|
+
signal_id: signalId.catalog({
|
|
56
55
|
data_provider_domain: 'example-signals.com',
|
|
57
56
|
id: 'lapsed_subscribers',
|
|
58
|
-
},
|
|
57
|
+
}),
|
|
59
58
|
name: 'Lapsed Subscribers',
|
|
60
59
|
description: 'Email subscribers who have not opened in 90+ days but previously had high engagement.',
|
|
61
60
|
value_type: 'binary',
|
|
@@ -74,11 +73,10 @@ const SEGMENTS: Signal[] = [
|
|
|
74
73
|
},
|
|
75
74
|
{
|
|
76
75
|
signal_agent_segment_id: 'geo_urban_commuters',
|
|
77
|
-
signal_id: {
|
|
78
|
-
source: 'catalog',
|
|
76
|
+
signal_id: signalId.catalog({
|
|
79
77
|
data_provider_domain: 'example-signals.com',
|
|
80
78
|
id: 'geo_urban_commuters',
|
|
81
|
-
},
|
|
79
|
+
}),
|
|
82
80
|
name: 'Urban Commuters',
|
|
83
81
|
description: 'Users whose location data indicates daily commute patterns through major metro areas.',
|
|
84
82
|
value_type: 'binary',
|
|
@@ -171,21 +169,19 @@ function createSignalsAgent({ taskStore }: ServeContext) {
|
|
|
171
169
|
platform: dest.platform,
|
|
172
170
|
is_live: false,
|
|
173
171
|
estimated_activation_duration_minutes: 30,
|
|
174
|
-
activation_key: {
|
|
175
|
-
type: 'segment_id' as const,
|
|
172
|
+
activation_key: activationKey.segment({
|
|
176
173
|
segment_id: `${dest.platform}_${params.signal_agent_segment_id}`,
|
|
177
|
-
},
|
|
174
|
+
}),
|
|
178
175
|
};
|
|
179
176
|
}
|
|
180
177
|
return {
|
|
181
178
|
type: 'agent' as const,
|
|
182
179
|
agent_url: dest.agent_url,
|
|
183
180
|
is_live: true,
|
|
184
|
-
activation_key: {
|
|
185
|
-
type: 'key_value' as const,
|
|
181
|
+
activation_key: activationKey.keyValue({
|
|
186
182
|
key: 'audience',
|
|
187
183
|
value: params.signal_agent_segment_id,
|
|
188
|
-
},
|
|
184
|
+
}),
|
|
189
185
|
deployed_at: new Date().toISOString(),
|
|
190
186
|
};
|
|
191
187
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adcp/sdk",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.15.1",
|
|
4
4
|
"description": "AdCP SDK — client, server, and compliance harnesses for the AdContext Protocol (MCP + A2A)",
|
|
5
5
|
"workspaces": [
|
|
6
6
|
".",
|
|
@@ -361,5 +361,5 @@
|
|
|
361
361
|
},
|
|
362
362
|
"minimatch": "^10.2.1"
|
|
363
363
|
},
|
|
364
|
-
"adcp_version": "3.0.
|
|
364
|
+
"adcp_version": "3.0.8"
|
|
365
365
|
}
|
package/skills/SHAPE-GOTCHAS.md
CHANGED
|
@@ -10,7 +10,7 @@ Six patterns surfaced repeatedly while building reference adapters (`examples/he
|
|
|
10
10
|
|
|
11
11
|
When returning `activate_signal` deployments with `type: 'key_value'` activation keys, `key` and `value` sit at the TOP level of `activation_key`. NOT nested under a `key_value` sub-field.
|
|
12
12
|
|
|
13
|
-
✗ Wrong (intuitive — the discriminator name
|
|
13
|
+
✗ Wrong (intuitive — the discriminator name _suggests_ nesting):
|
|
14
14
|
|
|
15
15
|
```ts
|
|
16
16
|
activation_key: {
|
|
@@ -37,6 +37,17 @@ activation_key: { type: 'segment_id', segment_id: 'plat_seg_xyz' }
|
|
|
37
37
|
|
|
38
38
|
— same flatness, single string ID under the discriminator.
|
|
39
39
|
|
|
40
|
+
**Prevent at write time:** import `activationKey` from `@adcp/sdk`. The
|
|
41
|
+
typed factory injects the `type` discriminator and accepts the flat shape:
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
activation_key: activationKey.keyValue({ key: 'segment', value: 'abc123' });
|
|
45
|
+
activation_key: activationKey.segment({ segment_id: 'plat_seg_xyz' });
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
The nested-`key_value` mistake doesn't typecheck — `activationKey.keyValue`
|
|
49
|
+
takes `{ key, value }`, not `{ key_value: {...} }`.
|
|
50
|
+
|
|
40
51
|
---
|
|
41
52
|
|
|
42
53
|
## 2. `signal_ids` is `signal_id[]` (provenance objects), not `string[]`
|
|
@@ -46,7 +57,9 @@ activation_key: { type: 'segment_id', segment_id: 'plat_seg_xyz' }
|
|
|
46
57
|
✗ Wrong:
|
|
47
58
|
|
|
48
59
|
```ts
|
|
49
|
-
{
|
|
60
|
+
{
|
|
61
|
+
signal_ids: ['cohort_abc', 'cohort_xyz'];
|
|
62
|
+
}
|
|
50
63
|
```
|
|
51
64
|
|
|
52
65
|
✓ Right (matches `/schemas/3.0/core/signal-id.json`):
|
|
@@ -62,11 +75,23 @@ activation_key: { type: 'segment_id', segment_id: 'plat_seg_xyz' }
|
|
|
62
75
|
|
|
63
76
|
`SignalID` is a discriminated union: `source: 'catalog'` (with `data_provider_domain` + `id`) or `source: 'agent'` (with `agent_url` + `id`). When implementing the filter on the seller side, narrow on `source` before reading `data_provider_domain` — only the catalog variant has it.
|
|
64
77
|
|
|
78
|
+
**Prevent at write time:** import `signalId` from `@adcp/sdk`. The typed
|
|
79
|
+
factory injects the `source` discriminator and only takes the fields the
|
|
80
|
+
selected variant requires:
|
|
81
|
+
|
|
82
|
+
```ts
|
|
83
|
+
signalId.catalog({ data_provider_domain: 'tridentauto.example', id: 'likely_ev_buyers' });
|
|
84
|
+
signalId.agent({ agent_url: 'https://liveramp.com/.well-known/adcp/signals', id: 'custom_auto_intenders' });
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
A bare-string `signal_ids` filter is rejected by the request type as soon
|
|
88
|
+
as you stop typing it as `any`.
|
|
89
|
+
|
|
65
90
|
---
|
|
66
91
|
|
|
67
92
|
## 3. `VASTAsset` requires an embedded `delivery_type` discriminator
|
|
68
93
|
|
|
69
|
-
`asset_type: 'vast'` is itself a discriminator at the asset level. A
|
|
94
|
+
`asset_type: 'vast'` is itself a discriminator at the asset level. A _second_ discriminator (`delivery_type`) picks between inline VAST XML and a redirect URL. Both are required; you can't pass `content` or `vast_url` without `delivery_type`.
|
|
70
95
|
|
|
71
96
|
✗ Wrong (flat `content` without `delivery_type`):
|
|
72
97
|
|
|
@@ -125,6 +150,28 @@ Same pattern applies to `DAASTAsset` (audio).
|
|
|
125
150
|
|
|
126
151
|
Each `PreviewRender` requires `render_id`, `output_format: 'url'` (or `'inline_html'`), `preview_url`, and `role`. Don't omit `role` — the validator requires it.
|
|
127
152
|
|
|
153
|
+
**Prevent at write time:** import `previewCreative` from
|
|
154
|
+
`@adcp/sdk`. The typed factory injects the `response_type` discriminator
|
|
155
|
+
and pairs naturally with `urlRender({...})` / `htmlRender({...})` /
|
|
156
|
+
`bothRender({...})` for the per-render `output_format`:
|
|
157
|
+
|
|
158
|
+
```ts
|
|
159
|
+
previewCreative.single({
|
|
160
|
+
previews: [
|
|
161
|
+
{
|
|
162
|
+
preview_id: 'prv_abc',
|
|
163
|
+
renders: [urlRender({ render_id: 'rnd_1', preview_url: 'https://...', role: 'primary' })],
|
|
164
|
+
input: { name: 'default' },
|
|
165
|
+
},
|
|
166
|
+
],
|
|
167
|
+
expires_at: '2026-05-03T00:00:00Z',
|
|
168
|
+
});
|
|
169
|
+
previewCreative.batch({ results: [...] });
|
|
170
|
+
previewCreative.variant({ variant_id, creative_id, previews });
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
A flat `{ preview: {...} }` shape doesn't typecheck.
|
|
174
|
+
|
|
128
175
|
---
|
|
129
176
|
|
|
130
177
|
## 5. `BuildCreativeReturn` has 4 valid shapes — framework auto-wraps the bare manifest
|
|
@@ -133,13 +180,13 @@ Each `PreviewRender` requires `render_id`, `output_format: 'url'` (or `'inline_h
|
|
|
133
180
|
|
|
134
181
|
```ts
|
|
135
182
|
type BuildCreativeReturn =
|
|
136
|
-
| CreativeManifest
|
|
137
|
-
| CreativeManifest[]
|
|
138
|
-
| BuildCreativeSuccess
|
|
139
|
-
| BuildCreativeMultiSuccess
|
|
183
|
+
| CreativeManifest // bare single — framework wraps as { creative_manifest: <obj> }
|
|
184
|
+
| CreativeManifest[] // bare multi — framework wraps as { creative_manifests: <arr> }
|
|
185
|
+
| BuildCreativeSuccess // shaped single — passthrough; you set sandbox/expires_at/preview
|
|
186
|
+
| BuildCreativeMultiSuccess; // shaped multi — passthrough
|
|
140
187
|
```
|
|
141
188
|
|
|
142
|
-
Easy mistake: return a bare `CreativeManifest` and confirm the response
|
|
189
|
+
Easy mistake: return a bare `CreativeManifest` and confirm the response _seems_ fine via tests that read `response.format_id` directly. The wire shape after framework wrapping is `response.creative_manifest.format_id` — a level deeper. Storyboards check the wire path; if you didn't go through the framework wrapper in your test, the storyboard will surface "field missing at `creative_manifest.format_id`" while your local test passes.
|
|
143
190
|
|
|
144
191
|
If you need to set `sandbox: true` or attach `preview` previews, return the shaped envelope directly:
|
|
145
192
|
|
|
@@ -151,16 +198,29 @@ return {
|
|
|
151
198
|
};
|
|
152
199
|
```
|
|
153
200
|
|
|
201
|
+
**Prevent at write time:** import `buildCreativeReturn` from `@adcp/sdk`.
|
|
202
|
+
The typed factory pins which arm of the 4-shape union you're emitting and
|
|
203
|
+
handles the singular/plural manifest-field rename for the shaped envelopes:
|
|
204
|
+
|
|
205
|
+
```ts
|
|
206
|
+
return buildCreativeReturn.single(manifest); // bare — framework wraps as { creative_manifest }
|
|
207
|
+
return buildCreativeReturn.multi(manifests); // bare — framework wraps as { creative_manifests }
|
|
208
|
+
return buildCreativeReturn.singleEnveloped({ manifest, sandbox: true, expires_at });
|
|
209
|
+
return buildCreativeReturn.multiEnveloped({ manifests, sandbox: true });
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Mixing `manifest` / `manifests` arms doesn't typecheck.
|
|
213
|
+
|
|
154
214
|
---
|
|
155
215
|
|
|
156
216
|
## 6. `log_event` projection for walled-garden CAPIs
|
|
157
217
|
|
|
158
218
|
Sales-social adopters fronting walled-garden conversion APIs translate AdCP's `log_event` wire shape onto the upstream CAPI's. Three projections trip every walled-garden integration on the first pass — the upstream returns `400` and the AdCP wire surface gives no hint that the field name or encoding was the problem.
|
|
159
219
|
|
|
160
|
-
| AdCP wire (`Event`)
|
|
161
|
-
|
|
|
162
|
-
| `event_type` (string)
|
|
163
|
-
| `event_time` (ISO 8601 string)
|
|
220
|
+
| AdCP wire (`Event`) | Walled-garden CAPI | Translation |
|
|
221
|
+
| -------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
|
|
222
|
+
| `event_type` (string) | `event_name` (string) | rename on the way out |
|
|
223
|
+
| `event_time` (ISO 8601 string) | `event_time` (UNIX seconds, number) | `Math.floor(new Date(t).getTime() / 1000)` |
|
|
164
224
|
| `user_match` (`hashed_email` / `hashed_phone` / `uids[]` / `click_id` / `client_ip`+`client_user_agent`) | `user_data.{email_sha256,phone_sha256,external_id_sha256}` (≥1 required) | map per the upstream's identifier types; drop events with empty `user_match` |
|
|
165
225
|
|
|
166
226
|
### 6.1 `event_name`, not `event_type`
|
|
@@ -187,13 +247,17 @@ upstream.trackEvents({
|
|
|
187
247
|
✗ Wrong:
|
|
188
248
|
|
|
189
249
|
```ts
|
|
190
|
-
{
|
|
250
|
+
{
|
|
251
|
+
event_time: e.event_time;
|
|
252
|
+
} // '2026-04-05T14:30:00Z'
|
|
191
253
|
```
|
|
192
254
|
|
|
193
255
|
✓ Right:
|
|
194
256
|
|
|
195
257
|
```ts
|
|
196
|
-
{
|
|
258
|
+
{
|
|
259
|
+
event_time: Math.floor(new Date(e.event_time).getTime() / 1000);
|
|
260
|
+
}
|
|
197
261
|
```
|
|
198
262
|
|
|
199
263
|
### 6.3 Hashed-identifier requirement — read `Event.user_match`, drop on empty
|
|
@@ -221,11 +285,11 @@ The `examples/hello_seller_adapter_social.ts` reference adapter codifies all thr
|
|
|
221
285
|
|
|
222
286
|
The spec definitions:
|
|
223
287
|
|
|
224
|
-
| Value
|
|
225
|
-
|
|
|
226
|
-
| `marketplace` | Resold third-party segments. Provider's authorization is verifiable via their `adagents.json`.
|
|
227
|
-
| `owned`
|
|
228
|
-
| `custom`
|
|
288
|
+
| Value | Use when | Example adopter |
|
|
289
|
+
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
|
|
290
|
+
| `marketplace` | Resold third-party segments. Provider's authorization is verifiable via their `adagents.json`. | LiveRamp marketplace; Oracle Data Cloud catalog; reseller of third-party panels |
|
|
291
|
+
| `owned` | First-party segments derived from data the signal agent **directly owns**. | Retailer purchase data (Kroger 84.51°, Walmart Connect); publisher behavioral data (NYT subscribers); telco data |
|
|
292
|
+
| `custom` | Agent-native segment built **on demand** from models, composites, or buyer inputs. Not attributable to a standing upstream provider. | Contextual classifier you train per-request; lookalike model output computed from a buyer's seed audience |
|
|
229
293
|
|
|
230
294
|
**`owned` is the default for first-party data agents.** Most non-marketplace adopters mis-classify their segments as `custom` because the segment was "built" — but the test is provenance, not lifecycle. If you can point at a stable data-asset you own (a customer table, a pixel, a panel), it's `owned`. `custom` is reserved for segments that don't have a standing data asset behind them — the agent computed them per-call.
|
|
231
295
|
|
|
@@ -9,16 +9,18 @@ A creative agent accepts assets from buyers, stores or transforms them, and retu
|
|
|
9
9
|
|
|
10
10
|
## Pick your fork target
|
|
11
11
|
|
|
12
|
-
Three creative archetypes
|
|
12
|
+
Three creative archetypes. Two have dedicated worked adapters; the third (`creative-generative`) reuses the template adapter and applies brief-to-creative deltas.
|
|
13
13
|
|
|
14
|
-
| Specialism
|
|
15
|
-
|
|
|
16
|
-
| `creative-ad-server`
|
|
17
|
-
| `creative-template`
|
|
18
|
-
| `creative-generative` | Brief-to-creative generation (
|
|
14
|
+
| Specialism | Archetype | Fork this | Mock upstream | Storyboard |
|
|
15
|
+
| --------------------- | --------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ----------------------------------------- | --------------------- |
|
|
16
|
+
| `creative-ad-server` | Stateful library, pricing + billing (Innovid, Flashtalking, CM360, GAM-creative) | [`hello_creative_adapter_ad_server.ts`](../../examples/hello_creative_adapter_ad_server.ts) | `npx adcp mock-server creative-ad-server` | `creative_ad_server` |
|
|
17
|
+
| `creative-template` | Stateless transform from inline manifest (Celtra, AudioStack, ElevenLabs, Resemble) | [`hello_creative_adapter_template.ts`](../../examples/hello_creative_adapter_template.ts) | `npx adcp mock-server creative-template` | `creative_template` |
|
|
18
|
+
| `creative-generative` | Brief-to-creative generation (standalone generative platform; not coupled with selling) | Same — fork the template adapter and apply the [generative deltas below](#creative-generative) | Same | `creative_generative` |
|
|
19
19
|
|
|
20
20
|
The `interaction_model` in each specialism's `index.yaml` is the forcing function: `stateful_ad_server`, `stateless_transform`, `stateless_generate`. Decide which one matches your business, then fork the adapter for that row.
|
|
21
21
|
|
|
22
|
+
> **Coupling generation with selling inventory?** That's the AI-ad-network shape (e.g., generative DSPs that sell programmatic inventory and generate the creative). See [`skills/build-generative-seller-agent/`](../build-generative-seller-agent/SKILL.md) — combine `sales-non-guaranteed` + `creative-generative`.
|
|
23
|
+
|
|
22
24
|
For exact response shapes, error codes, and optional fields, `docs/llms.txt` is the canonical reference. The fork target stays in sync with the spec because PR #1394's three-gate contract fails CI when it drifts.
|
|
23
25
|
|
|
24
26
|
## When to use this skill
|
|
@@ -29,7 +31,7 @@ For exact response shapes, error codes, and optional fields, `docs/llms.txt` is
|
|
|
29
31
|
**Not this skill:**
|
|
30
32
|
|
|
31
33
|
- Brief-to-creative generation coupled with selling inventory (AI ad network) → `skills/build-generative-seller-agent/`
|
|
32
|
-
- Publisher creative service that pairs with selling — usually a `build-seller-agent` adopter that omits a creative
|
|
34
|
+
- Publisher creative service that pairs with selling — usually a `build-seller-agent` adopter that omits a creative-\* specialism claim
|
|
33
35
|
|
|
34
36
|
## Cross-cutting rules
|
|
35
37
|
|
|
@@ -90,7 +92,20 @@ curl -H 'Authorization: Bearer mock_creative_template_key_do_not_use_in_prod' \
|
|
|
90
92
|
# Final: { ..., "status": "complete", "output": { "audio_url": "….mp3", "preview_url": "...", "assets": [{ "kind": "audio_url", "mime_type": "audio/mpeg" }] } }
|
|
91
93
|
```
|
|
92
94
|
|
|
93
|
-
|
|
95
|
+
### `creative-generative`
|
|
96
|
+
|
|
97
|
+
Forking [`hello_creative_adapter_template.ts`](../../examples/hello_creative_adapter_template.ts) for a `creative-generative` agent? Apply these deltas — the template adapter already handles the stateless `build_creative` flow, manifest projection, and async render polling. Generative just changes the **input semantics** (brief, not template inputs) and adds brand resolution.
|
|
98
|
+
|
|
99
|
+
- **`build_creative` accepts `message` + `brand.domain`** — no `template_id`, no slot inputs. Treat `message` as the creative brief and `brand.domain` as the brand identity.
|
|
100
|
+
- **Honor `quality: draft|production`** — drafts are cheap/fast (lower-quality model, no human review); production goes through full safety + brand checks.
|
|
101
|
+
- **Refinement loop** — buyers re-send the prior `creative_manifest` plus a new `message` to iterate. Detect "iterating on this manifest" by manifest-id presence and route to your refine endpoint instead of generate.
|
|
102
|
+
- **Brand resolution via `sync_accounts`** — buyers sync an account with `brand.domain`; treat that domain as resolvable for subsequent `build_creative` calls. Don't hardcode a brand allowlist; storyboards use fictional `.example` TLD brands.
|
|
103
|
+
- **Response shape stays the same** — `{ creative_manifest: { format_id, assets } }`, **not** `{ creative_id, status, preview_url }` (those are `sync_creatives` fields).
|
|
104
|
+
- **Delete the template-input slot validation** in the template adapter's `build_creative` handler — generative agents accept free-form briefs and can't validate slot presence/types up front.
|
|
105
|
+
|
|
106
|
+
The `creative_generative` storyboard exercises the same async render contract as `creative_template` — `build_creative` returns a render id, the buyer polls until status flips to complete. The template adapter's polling pattern transfers verbatim.
|
|
107
|
+
|
|
108
|
+
If your platform also sells inventory (AI ad network), claim both `sales-non-guaranteed` + `creative-generative` and see [`../build-generative-seller-agent/`](../build-generative-seller-agent/SKILL.md) for the combined wiring.
|
|
94
109
|
|
|
95
110
|
## Validate locally
|
|
96
111
|
|
|
@@ -5,20 +5,18 @@ description: Use when building an AdCP retail media network agent — a platform
|
|
|
5
5
|
|
|
6
6
|
# Build a Retail Media Agent
|
|
7
7
|
|
|
8
|
-
A retail media agent sells on-site placements driven by a product catalog and reports conversion outcomes back to buyers. The fastest path is to **fork a seller adapter** and
|
|
8
|
+
A retail media agent sells on-site placements driven by a product catalog and reports conversion outcomes back to buyers. The fastest path is to **fork a worked seller adapter** and replace its `// SWAP:` markers with calls to your backend.
|
|
9
9
|
|
|
10
10
|
## Pick your fork target
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
| Specialism | Status | Fork this | Mock upstream | Storyboard |
|
|
13
|
+
| ---------------------- | ------- | --------------------------------------------------------------------------------- | ----------------------------------- | ---------------------- |
|
|
14
|
+
| `sales-catalog-driven` | stable | [`hello_seller_adapter_social.ts`](../../examples/hello_seller_adapter_social.ts) | `npx adcp mock-server sales-social` | `sales_catalog_driven` |
|
|
15
|
+
| `sales-retail-media` | preview | Same | Same | placeholder |
|
|
13
16
|
|
|
14
|
-
|
|
15
|
-
| --- | --- | --- | --- | --- |
|
|
16
|
-
| `sales-catalog-driven` | stable | [`hello_seller_adapter_non_guaranteed.ts`](../../examples/hello_seller_adapter_non_guaranteed.ts) | `syncCatalogs`, `syncEventSources`, `logEvent`, `providePerformanceFeedback` | `sales_catalog_driven` |
|
|
17
|
-
| `sales-retail-media` | preview | Same | + retail-specific surface encoding in `publisher_properties` / `format_ids` (search vs PDP vs homepage vs offsite vs in-store) | placeholder |
|
|
17
|
+
The social fork target is the closest baseline because it already implements the catalog-driven surface (`syncCatalogs`, `syncEventSources`, `logEvent`) on top of `SalesIngestionPlatform`. Walled-garden social platforms and retail media networks share the same wire-level shape — buyer pushes catalogs and audiences, platform reports conversions, both close the loop via `provide_performance_feedback`. Apply the retail-specific deltas below.
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
For exact response shapes, error codes, and optional fields, `docs/llms.txt` is the canonical reference.
|
|
19
|
+
For exact response shapes, error codes, and optional fields, [`docs/llms.txt`](../../docs/llms.txt) is the canonical reference. The fork target stays in sync with the spec because PR #1394's three-gate contract fails CI when it drifts.
|
|
22
20
|
|
|
23
21
|
## When to use this skill
|
|
24
22
|
|
|
@@ -36,31 +34,39 @@ For exact response shapes, error codes, and optional fields, `docs/llms.txt` is
|
|
|
36
34
|
|
|
37
35
|
## Cross-cutting rules
|
|
38
36
|
|
|
39
|
-
Every retail-media agent hits the cross-cutting rules in [`../cross-cutting.md`](../cross-cutting.md)
|
|
37
|
+
Every retail-media agent hits the cross-cutting rules in [`../cross-cutting.md`](../cross-cutting.md) plus the seller cross-cutting from [`../build-seller-agent/SKILL.md`](../build-seller-agent/SKILL.md) — retail-media is additive on top of the seller baseline. The high-traffic ones for retail-media:
|
|
38
|
+
|
|
39
|
+
- [`idempotency_key`](../cross-cutting.md#idempotency_key-is-required-on-every-mutating-call) on `sync_catalogs`, `sync_event_sources`, `log_event`, `provide_performance_feedback`
|
|
40
|
+
- [Webhooks](../cross-cutting.md#webhooks-stable-operation_id-across-retries) — for catalog-ingestion completions, use `catalog_sync.${catalog_id}.${batch_id}` as the stable `operation_id`
|
|
41
|
+
- [SHAPE-GOTCHAS §6](../SHAPE-GOTCHAS.md#6-log_event-projection-for-walled-garden-capis) — `log_event` field-name + UNIX-seconds + `user_match` projections (shared with sales-social CAPIs)
|
|
42
|
+
|
|
43
|
+
## Specialism deltas
|
|
40
44
|
|
|
41
|
-
|
|
42
|
-
- [Webhooks](../cross-cutting.md#webhooks-stable-operation_id-across-retries) — for catalog-ingestion completions, use `catalog_sync.${catalog_id}.${batch_id}` as a stable `operation_id`
|
|
45
|
+
### `sales-catalog-driven`
|
|
43
46
|
|
|
44
|
-
|
|
47
|
+
What's different from the social baseline you forked:
|
|
45
48
|
|
|
46
|
-
|
|
49
|
+
- **Products declare catalog support**: `supports_catalog: true` and `supports_conversion_tracking: true` on each `Product`.
|
|
50
|
+
- **`create_media_buy` accepts `packages[].catalogs[]`** — references to previously-synced catalog ids. The seller renders the dynamic ad from the catalog row at serve time.
|
|
51
|
+
- **`sync_catalogs`** ingests product feeds (JSON / CSV / XML). Required per-row fields: `product_id`, `title`, `price`, `image_url`, `category`. Reject rows missing any of these with a structured error and surface the per-row failures in the response.
|
|
52
|
+
- **`sync_event_sources`** registers conversion endpoints — `purchase`, `add_to_cart`, `page_view`, `search`. Each event source has a `source_id` the buyer references on subsequent `log_event` calls.
|
|
53
|
+
- **`log_event` accepts `content_ids`** — the catalog row IDs the conversion attaches to. Counter-only responses pass the storyboard today; closed-loop attribution lands in 3.1.
|
|
54
|
+
- **`provide_performance_feedback`** accepts buyer optimization signals (clicked / not-clicked / converted / not-converted on specific impressions). Use it to close the bid-quality loop.
|
|
47
55
|
|
|
48
|
-
|
|
49
|
-
- `create_media_buy` accepts `packages[].catalogs[]` referencing previously-synced catalog ids
|
|
50
|
-
- `sync_catalogs` ingests product feeds (JSON/CSV/XML) with at minimum `product_id`, `title`, `price`, `image_url`, `category`
|
|
51
|
-
- `sync_event_sources` registers conversion endpoints (purchase, add_to_cart, page_view, search)
|
|
52
|
-
- `log_event` accepts conversion events with `content_ids` and returns a `match_quality` score; counter-only responses pass the storyboard (closed-loop attribution lands in 3.1)
|
|
53
|
-
- `provide_performance_feedback` accepts buyer optimization signals back
|
|
56
|
+
### `sales-retail-media`
|
|
54
57
|
|
|
55
|
-
|
|
58
|
+
Currently a v3.1 placeholder (empty `phases` in `index.yaml`); the protocol baseline is all that's enforced today. Claim the specialism to advertise intent. The forward-looking deltas on top of `sales-catalog-driven`:
|
|
56
59
|
|
|
57
|
-
|
|
60
|
+
- **Onsite placement encoding** in `publisher_properties` and `format_ids` — search results, product detail page (PDP), homepage, category, offsite (display retargeting), in-store (DOOH).
|
|
61
|
+
- **Sponsored-product vs sponsored-display** distinction surfaces as separate `format_ids` per product.
|
|
62
|
+
- **Offsite + in-store** require `publisher_properties.environment` to disambiguate the rendering surface (web vs DOOH vs CTV) — the buyer's targeting overlays vary by environment.
|
|
63
|
+
- **Closed-loop ROAS** lands with attribution in 3.1.
|
|
58
64
|
|
|
59
65
|
## Validate locally
|
|
60
66
|
|
|
61
67
|
```bash
|
|
62
|
-
# Run the fork-matrix gate against the
|
|
63
|
-
npm run compliance:fork-matrix -- --test-name-pattern="hello-seller-adapter-
|
|
68
|
+
# Run the fork-matrix gate against the social baseline
|
|
69
|
+
npm run compliance:fork-matrix -- --test-name-pattern="hello-seller-adapter-social"
|
|
64
70
|
|
|
65
71
|
# Or validate your forked agent directly against the catalog-driven storyboard
|
|
66
72
|
adcp storyboard run http://127.0.0.1:3005/mcp sales_catalog_driven \
|
|
@@ -73,7 +79,7 @@ For deeper validation: [`docs/guides/VALIDATE-YOUR-AGENT.md`](../../docs/guides/
|
|
|
73
79
|
|
|
74
80
|
## Common shape gotchas
|
|
75
81
|
|
|
76
|
-
`get_media_buy_delivery /reporting_period/start|end` are ISO 8601 **date-time** strings, not date-only. Per-package billing rows require `package_id`, `spend`, `pricing_model`, `rate`, `currency`. `sync_accounts` rows require `action: 'created' | 'updated' | 'unchanged' | 'failed'`. See [`../SHAPE-GOTCHAS.md`](../SHAPE-GOTCHAS.md).
|
|
82
|
+
`get_media_buy_delivery /reporting_period/start|end` are ISO 8601 **date-time** strings, not date-only. Per-package billing rows require `package_id`, `spend`, `pricing_model`, `rate`, `currency`. `sync_accounts` rows require `action: 'created' | 'updated' | 'unchanged' | 'failed'`. See [`../SHAPE-GOTCHAS.md`](../SHAPE-GOTCHAS.md) and [§6](../SHAPE-GOTCHAS.md#6-log_event-projection-for-walled-garden-capis) for `log_event` field-rename + UNIX-seconds patterns shared with social CAPIs.
|
|
77
83
|
|
|
78
84
|
## Migration notes
|
|
79
85
|
|
|
@@ -11,14 +11,19 @@ A seller agent receives briefs from buyers, returns products, accepts media buys
|
|
|
11
11
|
|
|
12
12
|
Each of these is a worked, currently-running, three-gate-tested reference adapter. Fork it, swap the upstream, ship.
|
|
13
13
|
|
|
14
|
-
| Specialism
|
|
15
|
-
|
|
|
16
|
-
| `sales-guaranteed`
|
|
17
|
-
| `sales-non-guaranteed`
|
|
18
|
-
| `sales-social`
|
|
19
|
-
| Multi-tenant holdco hub | [`hello_seller_adapter_multi_tenant.ts`](../../examples/hello_seller_adapter_multi_tenant.ts)
|
|
14
|
+
| Specialism | Fork this | Mock upstream | Storyboard |
|
|
15
|
+
| ----------------------- | ------------------------------------------------------------------------------------------------- | ------------------------------------------- | ---------------------- |
|
|
16
|
+
| `sales-guaranteed` | [`hello_seller_adapter_guaranteed.ts`](../../examples/hello_seller_adapter_guaranteed.ts) | `npx adcp mock-server sales-guaranteed` | `sales_guaranteed` |
|
|
17
|
+
| `sales-non-guaranteed` | [`hello_seller_adapter_non_guaranteed.ts`](../../examples/hello_seller_adapter_non_guaranteed.ts) | `npx adcp mock-server sales-non-guaranteed` | `sales_non_guaranteed` |
|
|
18
|
+
| `sales-social` | [`hello_seller_adapter_social.ts`](../../examples/hello_seller_adapter_social.ts) | `npx adcp mock-server sales-social` | `sales_social` |
|
|
19
|
+
| Multi-tenant holdco hub | [`hello_seller_adapter_multi_tenant.ts`](../../examples/hello_seller_adapter_multi_tenant.ts) | composed | per specialism |
|
|
20
20
|
|
|
21
|
-
The other sales
|
|
21
|
+
The other sales-\* specialisms reuse one of the primary fork targets and apply specialism deltas:
|
|
22
|
+
|
|
23
|
+
- [`sales-broadcast-tv`](specialisms/sales-broadcast-tv.md) — forks `hello_seller_adapter_guaranteed.ts`; deltas around DMA, GRP, daypart, agency estimate number, measurement windows.
|
|
24
|
+
- [`sales-streaming-tv`](specialisms/sales-streaming-tv.md) — forks `hello_seller_adapter_guaranteed.ts`; deltas around CTV (audience-vs-program targeting, reach/freq forecast). Preview specialism — placeholder storyboard.
|
|
25
|
+
- [`sales-proposal-mode`](specialisms/sales-proposal-mode.md) — forks `hello_seller_adapter_proposal_mode.ts`; deltas around `ProposalManager` two-platform composition, `ctx.recipes` hydration, sole-stateful exemption.
|
|
26
|
+
- `sales-exchange` — forks `hello_seller_adapter_non_guaranteed.ts`; preview specialism (placeholder storyboard).
|
|
22
27
|
|
|
23
28
|
For exact response shapes, error codes, and optional fields, `docs/llms.txt` is the canonical reference. The fork target stays in sync with the spec because PR #1394's three-gate contract fails CI when it drifts.
|
|
24
29
|
|
|
@@ -38,7 +43,7 @@ For exact response shapes, error codes, and optional fields, `docs/llms.txt` is
|
|
|
38
43
|
|
|
39
44
|
## Cross-cutting rules
|
|
40
45
|
|
|
41
|
-
Every sales
|
|
46
|
+
Every sales-\* seller hits the cross-cutting rules in [`../cross-cutting.md`](../cross-cutting.md). The high-traffic ones for sellers (deep-linked to the rule):
|
|
42
47
|
|
|
43
48
|
- [`idempotency_key`](../cross-cutting.md#idempotency_key-is-required-on-every-mutating-call) on every mutating request — `create_media_buy`, `update_media_buy`, `sync_creatives`, `sync_audiences`, etc.
|
|
44
49
|
- [Resolve-then-authorize](../cross-cutting.md#resolve-then-authorize--uniform-errors-for-not-found--not-yours) — byte-equivalent errors for `media_buy_id` cross-tenant lookups
|
|
@@ -53,6 +58,7 @@ The fork target covers the baseline. Specialism subpages cover the deltas — wh
|
|
|
53
58
|
- [`specialisms/sales-guaranteed.md`](specialisms/sales-guaranteed.md) — **read before coding if you claim `sales-guaranteed`**: IO-task envelope, three `create_media_buy` return shapes (task envelope / `pending_creatives` / `active`), `TERMS_REJECTED` on aggressive `measurement_terms`. Applying only the task-envelope path fails 5 storyboard `create_media_buy` steps.
|
|
54
59
|
- [`specialisms/sales-non-guaranteed.md`](specialisms/sales-non-guaranteed.md) — **read if your inventory clears at request time** (programmatic auction, no HITL approval): sync confirmation, `bid_price`, `update_media_buy` for in-flight changes.
|
|
55
60
|
- [`specialisms/sales-broadcast-tv.md`](specialisms/sales-broadcast-tv.md) — **read if you sell linear / broadcast TV**: `agency_estimate_number`, Ad-ID `industry_identifiers`, `measurement_windows` (Live/C3/C7).
|
|
61
|
+
- [`specialisms/sales-streaming-tv.md`](specialisms/sales-streaming-tv.md) — **read if you sell CTV / OTT streaming inventory** (preview): audience-vs-program targeting, reach/freq forecast, frequency caps.
|
|
56
62
|
- [`specialisms/sales-social.md`](specialisms/sales-social.md) — **read if you're a social platform** (Snap, Meta, TikTok, etc.): additive — claim alongside `sales-non-guaranteed`. Adds `sync_audiences`, `sync_catalogs` (DPA), `log_event` (conversions), `get_account_financials`.
|
|
57
63
|
- [`specialisms/sales-proposal-mode.md`](specialisms/sales-proposal-mode.md) — **read if you negotiate via proposals before line-itemizing**: `proposals[]` with `budget_allocations`, `buying_mode: 'refine'`.
|
|
58
64
|
- [`specialisms/audience-sync.md`](specialisms/audience-sync.md) — **read if buyers push audiences to you** (walled-garden + identity-provider patterns): `sync_audiences` track. Hashed identifiers, match-rate telemetry.
|