@adcp/sdk 6.13.2 → 6.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADCP_VERSION +1 -1
- package/bin/adcp-storyboard-summary.js +152 -0
- package/bin/adcp.js +209 -17
- package/compliance/cache/{3.0.6.previous/protocols → 3.0.8/domains}/media-buy/scenarios/creative_fate_after_cancellation.yaml +5 -5
- package/compliance/cache/{3.0.6.previous/protocols → 3.0.8/domains}/media-buy/scenarios/governance_approved.yaml +1 -1
- package/compliance/cache/{3.0.6/protocols → 3.0.8/domains}/media-buy/scenarios/governance_conditions.yaml +1 -1
- package/compliance/cache/{3.0.6/protocols → 3.0.8/domains}/media-buy/scenarios/governance_denied.yaml +1 -1
- package/compliance/cache/{3.0.6/protocols → 3.0.8/domains}/media-buy/scenarios/governance_denied_recovery.yaml +3 -3
- package/compliance/cache/{3.0.6.previous → 3.0.8}/domains/media-buy/scenarios/invalid_transitions.yaml +1 -1
- package/compliance/cache/{3.0.6.previous/protocols → 3.0.8/domains}/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
- package/compliance/cache/{3.0.6 → 3.0.8}/domains/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
- package/compliance/cache/{3.0.6.previous → 3.0.8}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +5 -4
- package/compliance/cache/{3.0.6/protocols → 3.0.8/domains}/media-buy/scenarios/pending_creatives_to_start.yaml +1 -1
- package/compliance/cache/{3.0.6.previous → 3.0.8}/domains/media-buy/scenarios/proposal_finalize.yaml +7 -3
- package/compliance/cache/{3.0.6 → 3.0.8}/index.json +2 -2
- package/compliance/cache/{3.0.6.previous/domains → 3.0.8/protocols}/media-buy/scenarios/creative_fate_after_cancellation.yaml +5 -5
- package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/scenarios/governance_approved.yaml +1 -1
- package/compliance/cache/{3.0.6.previous/domains → 3.0.8/protocols}/media-buy/scenarios/governance_conditions.yaml +1 -1
- package/compliance/cache/{3.0.6.previous → 3.0.8}/protocols/media-buy/scenarios/governance_denied.yaml +1 -1
- package/compliance/cache/{3.0.6.previous → 3.0.8}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +3 -3
- package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/scenarios/invalid_transitions.yaml +1 -1
- package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
- package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
- package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +5 -4
- package/compliance/cache/{3.0.6.previous → 3.0.8}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +1 -1
- package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/scenarios/proposal_finalize.yaml +7 -3
- package/compliance/cache/{3.0.6 → 3.0.8.previous}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +5 -5
- package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/media-buy/scenarios/governance_approved.yaml +1 -1
- package/compliance/cache/{3.0.6 → 3.0.8.previous}/domains/media-buy/scenarios/governance_conditions.yaml +1 -1
- package/compliance/cache/{3.0.6 → 3.0.8.previous}/domains/media-buy/scenarios/governance_denied.yaml +1 -1
- package/compliance/cache/{3.0.6 → 3.0.8.previous}/domains/media-buy/scenarios/governance_denied_recovery.yaml +3 -3
- package/compliance/cache/{3.0.6.previous/protocols → 3.0.8.previous/domains}/media-buy/scenarios/invalid_transitions.yaml +1 -1
- package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
- package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
- package/compliance/cache/{3.0.6 → 3.0.8.previous}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +5 -4
- package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +1 -1
- package/compliance/cache/{3.0.6.previous/protocols → 3.0.8.previous/domains}/media-buy/scenarios/proposal_finalize.yaml +7 -3
- package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/index.json +2 -2
- package/compliance/cache/{3.0.6 → 3.0.8.previous}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +5 -5
- package/compliance/cache/{3.0.6/domains → 3.0.8.previous/protocols}/media-buy/scenarios/governance_approved.yaml +1 -1
- package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/media-buy/scenarios/governance_conditions.yaml +1 -1
- package/compliance/cache/{3.0.6.previous/domains → 3.0.8.previous/protocols}/media-buy/scenarios/governance_denied.yaml +1 -1
- package/compliance/cache/{3.0.6.previous/domains → 3.0.8.previous/protocols}/media-buy/scenarios/governance_denied_recovery.yaml +3 -3
- package/compliance/cache/{3.0.6/domains → 3.0.8.previous/protocols}/media-buy/scenarios/invalid_transitions.yaml +1 -1
- package/compliance/cache/{3.0.6/domains → 3.0.8.previous/protocols}/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
- package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
- package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +5 -4
- package/compliance/cache/{3.0.6/domains → 3.0.8.previous/protocols}/media-buy/scenarios/pending_creatives_to_start.yaml +1 -1
- package/compliance/cache/{3.0.6/domains → 3.0.8.previous/protocols}/media-buy/scenarios/proposal_finalize.yaml +7 -3
- package/dist/lib/core/AgentClient.d.ts +22 -26
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js +77 -65
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +33 -1
- 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 +5 -5
- package/dist/lib/schemas-data/3.0/creative/creative-feature-result.json +2 -2
- package/dist/lib/schemas-data/3.0/creative/get-creative-delivery-request.json +5 -5
- package/dist/lib/schemas-data/3.0/creative/get-creative-delivery-response.json +7 -7
- package/dist/lib/schemas-data/3.0/creative/get-creative-features-request.json +5 -5
- package/dist/lib/schemas-data/3.0/creative/get-creative-features-response.json +8 -8
- package/dist/lib/schemas-data/3.0/creative/list-creative-formats-request.json +11 -11
- package/dist/lib/schemas-data/3.0/creative/list-creative-formats-response.json +7 -7
- package/dist/lib/schemas-data/3.0/creative/list-creatives-request.json +8 -8
- package/dist/lib/schemas-data/3.0/creative/list-creatives-response.json +14 -14
- package/dist/lib/schemas-data/3.0/creative/preview-creative-request.json +11 -11
- package/dist/lib/schemas-data/3.0/creative/preview-creative-response.json +12 -12
- package/dist/lib/schemas-data/3.0/creative/preview-render.json +1 -1
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-submitted.json +3 -3
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-request.json +7 -7
- package/dist/lib/schemas-data/3.0/creative/sync-creatives-response.json +13 -13
- package/dist/lib/schemas-data/3.0/enums/account-scope.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/account-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/action-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/adcp-protocol.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/adjustment-kind.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/advertiser-industry.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/age-verification-method.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/assessment-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/asset-content-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/attribution-model.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/audience-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/audience-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/audio-channel-layout.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/auth-scheme.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/available-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/billing-party.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/binary-verdict.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/brand-agent-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/canceled-by.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/catalog-action.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/catalog-item-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/catalog-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/channels.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/cloud-storage-protocol.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/co-branding-requirement.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-cadence.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-kind.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-relationship.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/collection-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/consent-basis.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/content-id-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/content-rating-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-action.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-agent-capability.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-approval-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-identifier-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-quality.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-sort-field.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/creative-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/daast-tracking-event.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/daast-version.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/day-of-week.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/delegation-authority.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/delivery-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/demographic-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/derivative-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/device-platform.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/device-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/digital-source-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/dimension-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/disclosure-persistence.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/disclosure-position.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/distance-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/distribution-identifier-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/error-code.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/escalation-severity.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/event-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/exclusivity.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/feature-check-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/feed-format.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/feedback-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/forecast-method.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/forecast-range-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/forecastable-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/format-id-parameter.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/frame-rate-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/frequency-cap-scope.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/genre-taxonomy.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/geo-level.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/gop-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-decision.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-domain.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-mode.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/governance-phase.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/history-entry-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/http-method.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/identifier-types.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/installment-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/javascript-module-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/landing-page-requirement.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/makegood-remedy.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/markdown-flavor.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/match-id-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/match-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/media-buy-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/media-buy-valid-action.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/metric-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/metro-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/moov-atom-position.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/notification-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/outcome-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/pacing.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/payment-terms.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/performance-standard-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/policy-category.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/policy-enforcement.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/postal-system.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/preview-output-format.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/pricing-model.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/production-quality.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/property-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/proposal-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/publisher-identifier-types.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/purchase-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/reach-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/reporting-frequency.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/response-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/restricted-attribute.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/right-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/right-use.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/rights-billing-period.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/scan-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/si-session-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/signal-catalog-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/signal-source.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/signal-value-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/snapshot-unavailable-reason.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/sort-direction.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/sort-metric.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/special-category.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/specialism.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/talent-role.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/task-status.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/task-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/transport-mode.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/travel-time-unit.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/uid-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/universal-macro.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/update-frequency.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/url-asset-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/validation-mode.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/vast-tracking-event.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/vast-version.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/viewability-standard.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/wcag-level.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/webhook-response-type.json +1 -1
- package/dist/lib/schemas-data/3.0/enums/webhook-security-method.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/account-setup-required.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/audience-too-small.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/budget-too-low.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/conflict.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/creative-rejected.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/policy-violation.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/rate-limited.json +1 -1
- package/dist/lib/schemas-data/3.0/error-details/vendor-error-codes.json +1 -1
- package/dist/lib/schemas-data/3.0/extensions/extension-meta.json +1 -1
- package/dist/lib/schemas-data/3.0/extensions/index.json +2 -2
- package/dist/lib/schemas-data/3.0/governance/attribute-definition.json +1 -1
- package/dist/lib/schemas-data/3.0/governance/audience-constraints.json +3 -3
- package/dist/lib/schemas-data/3.0/governance/check-governance-request.json +7 -7
- package/dist/lib/schemas-data/3.0/governance/check-governance-response.json +6 -6
- package/dist/lib/schemas-data/3.0/governance/get-plan-audit-logs-request.json +4 -4
- package/dist/lib/schemas-data/3.0/governance/get-plan-audit-logs-response.json +9 -9
- package/dist/lib/schemas-data/3.0/governance/policy-category-definition.json +2 -2
- package/dist/lib/schemas-data/3.0/governance/policy-entry.json +6 -6
- package/dist/lib/schemas-data/3.0/governance/policy-ref.json +1 -1
- package/dist/lib/schemas-data/3.0/governance/report-plan-outcome-request.json +6 -6
- package/dist/lib/schemas-data/3.0/governance/report-plan-outcome-response.json +4 -4
- package/dist/lib/schemas-data/3.0/governance/sync-plans-request.json +13 -13
- package/dist/lib/schemas-data/3.0/governance/sync-plans-response.json +4 -4
- package/dist/lib/schemas-data/3.0/index.json +364 -364
- 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/decisioning/specialisms/creative-ad-server.d.ts +0 -10
- package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts.map +1 -1
- package/dist/lib/server/decisioning/specialisms/creative.d.ts +7 -22
- package/dist/lib/server/decisioning/specialisms/creative.d.ts.map +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/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 +35 -0
- package/dist/lib/testing/storyboard/runner.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/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 +7 -5
- package/dist/lib/version.js.map +1 -1
- package/docs/guides/BUILD-AN-AGENT.md +25 -36
- package/docs/llms.txt +4 -4
- package/examples/hello_creative_adapter_ad_server.ts +13 -14
- package/examples/hello_creative_adapter_template.ts +15 -13
- package/examples/hello_seller_adapter_proposal_mode.ts +71 -0
- 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-decisioning-creative-template/SKILL.md +8 -10
- package/skills/build-decisioning-platform/SKILL.md +1 -1
- package/skills/build-decisioning-platform/advanced/REFERENCE.md +4 -8
- package/skills/build-decisioning-signal-marketplace/SKILL.md +6 -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/deployment.md +34 -36
- package/skills/build-seller-agent/specialisms/audience-sync.md +27 -57
- 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-seller-agent/specialisms/signed-requests.md +11 -4
- package/skills/build-signals-agent/SKILL.md +21 -20
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/media-buy/creative-reception.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/creative-reception.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/storyboard-schema.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6 → 3.0.8}/universal/webhook-emission.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/media-buy/creative-reception.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/media-buy/creative-reception.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/storyboard-schema.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.0.6.previous → 3.0.8.previous}/universal/webhook-emission.yaml +0 -0
|
@@ -529,6 +529,13 @@ const platform: DecisioningPlatform<unknown, NetworkMeta> = {
|
|
|
529
529
|
channels: ['olv', 'ctv', 'display'],
|
|
530
530
|
pricingModels: ['cpm'],
|
|
531
531
|
config: undefined,
|
|
532
|
+
// Declare the comply_test_controller surface so the conformance runner
|
|
533
|
+
// grades missing scenarios as `not_applicable` rather than `failed`. The
|
|
534
|
+
// framework auto-derives the `scenarios` list from the `complyTest`
|
|
535
|
+
// adapter set wired below.
|
|
536
|
+
compliance_testing: {
|
|
537
|
+
scenarios: ['force_media_buy_status', 'simulate_delivery'],
|
|
538
|
+
},
|
|
532
539
|
},
|
|
533
540
|
accounts,
|
|
534
541
|
proposalManager,
|
|
@@ -544,6 +551,21 @@ const proposalStore = new InMemoryProposalStore<GAMLikeRecipe>();
|
|
|
544
551
|
const stateStore = new InMemoryStateStore();
|
|
545
552
|
const mediaBuyStore = createMediaBuyStore({ store: stateStore });
|
|
546
553
|
|
|
554
|
+
// ─── TEST-ONLY: in-memory state for comply_test_controller adapters ─────
|
|
555
|
+
// DELETE THESE MAPS BEFORE DEPLOYING (or scope per-tenant if you keep the
|
|
556
|
+
// controller wired in a sandbox tenant). Module-scope shared maps leak
|
|
557
|
+
// state across accounts — that's fine for a worked example whose only
|
|
558
|
+
// caller is the conformance harness, but unacceptable in production.
|
|
559
|
+
// SWAP: scope by `account.id` (or your tenant key) and persist via the
|
|
560
|
+
// same data layer your production handlers read from. The controller
|
|
561
|
+
// and production tools should share one source of truth for state.
|
|
562
|
+
const seededMediaBuys = new Map<string, { status: string; revision: number }>();
|
|
563
|
+
const simulatedDelivery = new Map<
|
|
564
|
+
string,
|
|
565
|
+
{ impressions: number; clicks: number; reported_spend: { amount: number; currency: string } }
|
|
566
|
+
>();
|
|
567
|
+
// ─── /TEST-ONLY ──────────────────────────────────────────────────────────
|
|
568
|
+
|
|
547
569
|
serve(
|
|
548
570
|
({ taskStore }) =>
|
|
549
571
|
createAdcpServerFromPlatform(platform, {
|
|
@@ -559,6 +581,55 @@ serve(
|
|
|
559
581
|
const acct = ctx.account as Account<NetworkMeta> | undefined;
|
|
560
582
|
return acct?.id ?? 'anonymous';
|
|
561
583
|
},
|
|
584
|
+
// ─── TEST-ONLY: comply_test_controller wiring ──────────────────────
|
|
585
|
+
// DELETE THIS BLOCK BEFORE DEPLOYING. The conformance runner uses
|
|
586
|
+
// `comply_test_controller` to seed media-buy fixtures and force
|
|
587
|
+
// state transitions across cascade scenarios in the broader
|
|
588
|
+
// `sales_proposal_mode` storyboard suite (delivery_reporting,
|
|
589
|
+
// invalid_transitions, pending_creatives_to_start). The
|
|
590
|
+
// `proposal_finalize` storyboard itself doesn't invoke the
|
|
591
|
+
// controller, but the surface is wired here for parity with the
|
|
592
|
+
// other reference seller adapters.
|
|
593
|
+
//
|
|
594
|
+
// No `sandboxGate` here — the framework gate inside
|
|
595
|
+
// `createAdcpServerFromPlatform` admits via the resolved account's
|
|
596
|
+
// `mode === 'sandbox'`. Production refs flow through the live path
|
|
597
|
+
// with the field unset (default `'live'`), so the framework gate
|
|
598
|
+
// refuses dispatch for them.
|
|
599
|
+
complyTest: {
|
|
600
|
+
seed: {
|
|
601
|
+
media_buy: ({ media_buy_id, fixture }) => {
|
|
602
|
+
const existing = seededMediaBuys.get(media_buy_id);
|
|
603
|
+
const status = typeof fixture['status'] === 'string' ? (fixture['status'] as string) : 'pending_creatives';
|
|
604
|
+
seededMediaBuys.set(media_buy_id, { status, revision: existing?.revision ?? 0 });
|
|
605
|
+
},
|
|
606
|
+
},
|
|
607
|
+
force: {
|
|
608
|
+
media_buy_status: ({ media_buy_id, status, rejection_reason }) => {
|
|
609
|
+
const buy = seededMediaBuys.get(media_buy_id);
|
|
610
|
+
const previous = buy?.status ?? 'pending_creatives';
|
|
611
|
+
seededMediaBuys.set(media_buy_id, { status, revision: (buy?.revision ?? 0) + 1 });
|
|
612
|
+
void rejection_reason;
|
|
613
|
+
return { success: true, previous_state: previous, current_state: status };
|
|
614
|
+
},
|
|
615
|
+
},
|
|
616
|
+
simulate: {
|
|
617
|
+
delivery: ({ media_buy_id, impressions, clicks, reported_spend }) => {
|
|
618
|
+
const prev = simulatedDelivery.get(media_buy_id) ?? {
|
|
619
|
+
impressions: 0,
|
|
620
|
+
clicks: 0,
|
|
621
|
+
reported_spend: { amount: 0, currency: 'USD' },
|
|
622
|
+
};
|
|
623
|
+
simulatedDelivery.set(media_buy_id, {
|
|
624
|
+
impressions: prev.impressions + (impressions ?? 0),
|
|
625
|
+
clicks: prev.clicks + (clicks ?? 0),
|
|
626
|
+
reported_spend: reported_spend ?? prev.reported_spend,
|
|
627
|
+
});
|
|
628
|
+
return { success: true, simulated: { media_buy_id, impressions, clicks, reported_spend } };
|
|
629
|
+
},
|
|
630
|
+
},
|
|
631
|
+
},
|
|
632
|
+
// ─── /TEST-ONLY ──────────────────────────────────────────────────
|
|
562
633
|
}),
|
|
563
634
|
{
|
|
564
635
|
port: PORT,
|
|
@@ -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.0",
|
|
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
|
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: build-decisioning-creative-template
|
|
3
|
-
description: Build an AdCP
|
|
3
|
+
description: Build an AdCP creative-template decisioning platform — a stateless creative transform service (TTS, watermarking, format conversion, template fill). Use when the user wants the typed `DecisioningPlatform` shape; for fork-an-adapter starting points, see `build-creative-agent`.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Build a Creative-Template Decisioning Platform
|
|
6
|
+
# Build a Creative-Template Decisioning Platform
|
|
7
7
|
|
|
8
8
|
You're building a **stateless creative transform** service that fits the AdCP `creative-template` specialism: take an input creative manifest + format spec, produce an output creative manifest. No library, no review queue, no persisting state. Examples: TTS audio synthesis, image watermarking, video format conversion, template-based ad generation.
|
|
9
9
|
|
|
10
10
|
## When this skill applies
|
|
11
11
|
|
|
12
|
-
- User wants a creative-template service
|
|
12
|
+
- User wants a creative-template service against the typed `DecisioningPlatform` surface
|
|
13
13
|
- Specialism: `creative-template` (stateless transform; not `creative-ad-server` which is stateful, not `creative-generative` which is brief-driven — though `creative-template` and `creative-generative` share the same `CreativeBuilderPlatform` interface; pick the specialism ID that matches your behavior)
|
|
14
|
-
- SDK package: `@adcp/sdk`
|
|
14
|
+
- SDK package: `@adcp/sdk`
|
|
15
15
|
|
|
16
16
|
**Wrong skill if:**
|
|
17
17
|
|
|
18
|
-
- User wants
|
|
18
|
+
- User wants to fork a worked adapter → `skills/build-creative-agent/`
|
|
19
19
|
- User wants stateful creative library/ad-server → `skills/build-creative-agent/` § creative-ad-server
|
|
20
20
|
- User wants brief-to-creative generation → same skill as this one (Builder covers both); declare `'creative-generative'` instead of `'creative-template'`
|
|
21
21
|
- User wants to sell media inventory → `skills/build-seller-agent/`
|
|
22
22
|
|
|
23
23
|
## The whole shape (read this first)
|
|
24
24
|
|
|
25
|
-
A
|
|
25
|
+
A creative-template platform is a **single class** implementing `DecisioningPlatform` with a `creative` field of type `CreativeBuilderPlatform`. The framework dispatches each tool call to the right method. (`CreativeTemplatePlatform` and `CreativeGenerativePlatform` are deprecated aliases of `CreativeBuilderPlatform` for source compat.)
|
|
26
26
|
|
|
27
27
|
### Key fact: `CreativeManifest.assets` is a **keyed map**, not an array
|
|
28
28
|
|
|
@@ -406,7 +406,7 @@ serve(() => server, {
|
|
|
406
406
|
- Wraps each method with `AdcpError`-catch + `submitted`-envelope projection for HITL
|
|
407
407
|
- Returns a `DecisioningAdcpServer` (extends `AdcpServer`) with `getTaskState(taskId)` + `awaitTask(taskId)` for HITL inspection
|
|
408
408
|
|
|
409
|
-
`serve()`
|
|
409
|
+
`serve()` accepts the server and binds HTTP transport for both MCP and A2A.
|
|
410
410
|
|
|
411
411
|
## Capabilities — declare what you support
|
|
412
412
|
|
|
@@ -486,9 +486,7 @@ For HITL platforms, `server.awaitTask(taskId)` settles the background promise; `
|
|
|
486
486
|
|
|
487
487
|
## What NOT to do
|
|
488
488
|
|
|
489
|
-
❌ **Don't
|
|
490
|
-
|
|
491
|
-
❌ **Don't use `ctx.runAsync(...)` or `ctx.startTask(...)`.** Those were in earlier preview drops; they're gone in v2.1. The async story is dual-method (`xxx` vs `xxxTask`), period.
|
|
489
|
+
❌ **Don't use `ctx.runAsync(...)` or `ctx.startTask(...)`.** The async story is dual-method (`xxx` vs `xxxTask`), period.
|
|
492
490
|
|
|
493
491
|
❌ **Don't define both `buildCreative` and `buildCreativeTask`.** `validatePlatform()` will throw with a clear diagnostic. Pick one.
|
|
494
492
|
|
|
@@ -48,7 +48,7 @@ For other agent shapes:
|
|
|
48
48
|
- **Brand-rights agent:** swap for `BrandRightsPlatform`
|
|
49
49
|
- **Multi-tenant host:** add `createTenantRegistry`
|
|
50
50
|
|
|
51
|
-
The full export list is in `@adcp/sdk/server`.
|
|
51
|
+
The full export list is in `@adcp/sdk/server`. Surfaces marked `@deprecated` will strikethrough in your IDE. Trust the strikethrough — pick from the typed-error catalog above instead.
|
|
52
52
|
|
|
53
53
|
## When you need...
|
|
54
54
|
|
|
@@ -5,13 +5,9 @@ description: Use when building an AdCP seller, creative, or audience agent again
|
|
|
5
5
|
|
|
6
6
|
# Build a Decisioning Platform (v6.0)
|
|
7
7
|
|
|
8
|
-
> **Status: GA.**
|
|
9
|
-
> `createAdcpServerFromPlatform` + `DecisioningPlatform`. The
|
|
10
|
-
>
|
|
11
|
-
> as the substrate this framework calls into; reach for it when you need
|
|
12
|
-
> fine control over individual handlers or have custom-shaped tools the
|
|
13
|
-
> platform interface doesn't yet model. The handler-bag skill is at
|
|
14
|
-
> `skills/build-seller-agent/`.
|
|
8
|
+
> **Status: GA.** Ships under `@adcp/sdk/server` —
|
|
9
|
+
> `createAdcpServerFromPlatform` + `DecisioningPlatform`. The handler-bag
|
|
10
|
+
> skill (forking a worked adapter) lives at `skills/build-seller-agent/`.
|
|
15
11
|
|
|
16
12
|
## Overview
|
|
17
13
|
|
|
@@ -102,7 +98,7 @@ const platform = {
|
|
|
102
98
|
const server = createAdcpServerFromPlatform(platform, {
|
|
103
99
|
name: 'My Ad Network',
|
|
104
100
|
version: '1.0.0',
|
|
105
|
-
// Plus standard
|
|
101
|
+
// Plus standard server options: idempotency, signedRequests,
|
|
106
102
|
// webhooks, validation, etc.
|
|
107
103
|
});
|
|
108
104
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: build-decisioning-signal-marketplace
|
|
3
|
-
description: Build an AdCP
|
|
3
|
+
description: Build an AdCP signal-marketplace OR signal-owned decisioning platform — a data provider serving audience signals to buyers. Use when the user wants the typed `DecisioningPlatform` shape; for fork-an-adapter starting points, see `build-signals-agent`.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Build a Signals Decisioning Platform
|
|
6
|
+
# Build a Signals Decisioning Platform
|
|
7
7
|
|
|
8
8
|
You're building a **signals data provider** that fits one of two AdCP specialisms:
|
|
9
9
|
|
|
@@ -14,19 +14,19 @@ Both share the same `SignalsPlatform` interface. Pick the specialism that matche
|
|
|
14
14
|
|
|
15
15
|
## When this skill applies
|
|
16
16
|
|
|
17
|
-
- User wants a signals platform on the
|
|
17
|
+
- User wants a signals platform on the typed `DecisioningPlatform` surface
|
|
18
18
|
- Specialism: `signal-marketplace` OR `signal-owned`
|
|
19
|
-
- SDK package: `@adcp/sdk`
|
|
19
|
+
- SDK package: `@adcp/sdk`
|
|
20
20
|
|
|
21
21
|
**Wrong skill if:**
|
|
22
22
|
|
|
23
|
-
- User wants
|
|
23
|
+
- User wants to fork a worked adapter → `skills/build-signals-agent/`
|
|
24
24
|
- User wants creative transforms → `skills/build-decisioning-creative-template/`
|
|
25
25
|
- User wants to sell media inventory → `skills/build-seller-agent/`
|
|
26
26
|
|
|
27
27
|
## The whole shape (read this first)
|
|
28
28
|
|
|
29
|
-
A
|
|
29
|
+
A signals platform implements two methods:
|
|
30
30
|
|
|
31
31
|
- **`getSignals(req, ctx) → Promise<GetSignalsResponse>`** — sync catalog discovery. Buyer sends filters; you return the matching signals. No async envelope.
|
|
32
32
|
- **`activateSignal(req, ctx) → Promise<ActivateSignalSuccess>`** — sync ack with async lifecycle. Provision the signal onto destination platforms (Snap, Meta, TikTok, etc.); return immediately with `deployments[]` rows in current state (`pending` is valid). Each deployment's eventual `activating` / `deployed` / `failed` flows via `publishStatusChange({ resource_type: 'signal', ... })`.
|
|
@@ -229,8 +229,6 @@ console.log(result.structuredContent);
|
|
|
229
229
|
|
|
230
230
|
## What NOT to do
|
|
231
231
|
|
|
232
|
-
❌ **Don't import from `@adcp/sdk/server` for the platform shape.** Use `@adcp/sdk/server` for v6.0.
|
|
233
|
-
|
|
234
232
|
❌ **Don't try to make activateSignal HITL.** The wire response has no `Submitted` arm. Sync ack + `publishStatusChange` is the correct pattern.
|
|
235
233
|
|
|
236
234
|
❌ **Don't return error envelopes manually.** Throw `AdcpError`; the framework projects to wire shape.
|