@adcp/sdk 13.0.0-rc.7 → 13.0.0-rc.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADCP_VERSION +1 -1
- package/bin/adcp.js +29 -0
- package/compliance/cache/{3.1.10.previous/protocols → 3.1.11/domains}/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
- package/compliance/cache/{3.1.10 → 3.1.11}/index.json +3 -3
- package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
- package/compliance/cache/{3.1.10 → 3.1.11}/universal/storyboard-schema.yaml +19 -6
- package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
- package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/index.json +3 -3
- package/compliance/cache/{3.1.10/domains → 3.1.11.previous/protocols}/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
- package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/storyboard-schema.yaml +19 -6
- package/dist/lib/auth/oauth/ClientCredentialsFlow.d.mts +2 -0
- package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts +2 -0
- package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts.map +1 -1
- package/dist/lib/auth/oauth/ClientCredentialsFlow.js +69 -24
- package/dist/lib/auth/oauth/ClientCredentialsFlow.js.map +1 -1
- package/dist/lib/auth/oauth/ClientCredentialsFlow.mjs +69 -24
- package/dist/lib/auth/oauth/ClientCredentialsFlow.mjs.map +1 -1
- package/dist/lib/auth/oauth/authorization-required.d.mts +3 -0
- package/dist/lib/auth/oauth/authorization-required.d.ts +3 -0
- package/dist/lib/auth/oauth/authorization-required.d.ts.map +1 -1
- package/dist/lib/auth/oauth/authorization-required.js +37 -7
- package/dist/lib/auth/oauth/authorization-required.js.map +1 -1
- package/dist/lib/auth/oauth/authorization-required.mjs +37 -7
- package/dist/lib/auth/oauth/authorization-required.mjs.map +1 -1
- package/dist/lib/auth/oauth/discovery.d.mts +2 -0
- package/dist/lib/auth/oauth/discovery.d.ts +2 -0
- package/dist/lib/auth/oauth/discovery.d.ts.map +1 -1
- package/dist/lib/auth/oauth/discovery.js +7 -5
- package/dist/lib/auth/oauth/discovery.js.map +1 -1
- package/dist/lib/auth/oauth/discovery.mjs +7 -5
- package/dist/lib/auth/oauth/discovery.mjs.map +1 -1
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/ConversationTypes.d.mts +6 -2
- package/dist/lib/core/ConversationTypes.d.ts +6 -2
- package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
- package/dist/lib/core/ConversationTypes.js.map +1 -1
- package/dist/lib/core/GovernanceMiddleware.d.mts +3 -3
- package/dist/lib/core/GovernanceMiddleware.d.ts +3 -3
- package/dist/lib/core/GovernanceMiddleware.d.ts.map +1 -1
- package/dist/lib/core/GovernanceMiddleware.js +8 -4
- package/dist/lib/core/GovernanceMiddleware.js.map +1 -1
- package/dist/lib/core/GovernanceMiddleware.mjs +8 -4
- package/dist/lib/core/GovernanceMiddleware.mjs.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.mts +12 -1
- package/dist/lib/core/SingleAgentClient.d.ts +12 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +89 -12
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/SingleAgentClient.mjs +89 -12
- package/dist/lib/core/SingleAgentClient.mjs.map +1 -1
- package/dist/lib/core/TaskExecutor.d.mts +2 -4
- package/dist/lib/core/TaskExecutor.d.ts +2 -4
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +90 -14
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/core/TaskExecutor.mjs +95 -14
- package/dist/lib/core/TaskExecutor.mjs.map +1 -1
- package/dist/lib/core/task-deadline.d.mts +20 -0
- package/dist/lib/core/task-deadline.d.ts +21 -0
- package/dist/lib/core/task-deadline.d.ts.map +1 -0
- package/dist/lib/core/task-deadline.js +74 -0
- package/dist/lib/core/task-deadline.js.map +1 -0
- package/dist/lib/core/task-deadline.mjs +47 -0
- package/dist/lib/core/task-deadline.mjs.map +1 -0
- package/dist/lib/errors/index.d.mts +11 -0
- package/dist/lib/errors/index.d.ts +11 -0
- package/dist/lib/errors/index.d.ts.map +1 -1
- package/dist/lib/errors/index.js +6 -0
- package/dist/lib/errors/index.js.map +1 -1
- package/dist/lib/errors/index.mjs +6 -0
- package/dist/lib/errors/index.mjs.map +1 -1
- package/dist/lib/net/ssrf-fetch.d.ts.map +1 -1
- package/dist/lib/net/ssrf-fetch.js +11 -0
- package/dist/lib/net/ssrf-fetch.js.map +1 -1
- package/dist/lib/net/ssrf-fetch.mjs +11 -0
- package/dist/lib/net/ssrf-fetch.mjs.map +1 -1
- package/dist/lib/protocols/abort.d.mts +3 -1
- package/dist/lib/protocols/abort.d.ts +3 -1
- package/dist/lib/protocols/abort.d.ts.map +1 -1
- package/dist/lib/protocols/abort.js +19 -17
- package/dist/lib/protocols/abort.js.map +1 -1
- package/dist/lib/protocols/abort.mjs +19 -17
- package/dist/lib/protocols/abort.mjs.map +1 -1
- package/dist/lib/protocols/index.d.ts.map +1 -1
- package/dist/lib/protocols/index.js +13 -10
- package/dist/lib/protocols/index.js.map +1 -1
- package/dist/lib/protocols/index.mjs +13 -10
- package/dist/lib/protocols/index.mjs.map +1 -1
- package/dist/lib/protocols/mcp.d.ts.map +1 -1
- package/dist/lib/protocols/mcp.js +8 -7
- package/dist/lib/protocols/mcp.js.map +1 -1
- package/dist/lib/protocols/mcp.mjs +8 -7
- package/dist/lib/protocols/mcp.mjs.map +1 -1
- package/dist/lib/schemas-data/3.1/a2ui/bound-value.json +1 -1
- package/dist/lib/schemas-data/3.1/a2ui/component.json +1 -1
- package/dist/lib/schemas-data/3.1/a2ui/si-catalog.json +25 -25
- package/dist/lib/schemas-data/3.1/a2ui/surface.json +2 -2
- package/dist/lib/schemas-data/3.1/a2ui/user-action.json +1 -1
- package/dist/lib/schemas-data/3.1/aao/agent-publishers.json +1 -1
- package/dist/lib/schemas-data/3.1/account/get-account-financials-request.json +6 -6
- package/dist/lib/schemas-data/3.1/account/get-account-financials-response.json +12 -12
- package/dist/lib/schemas-data/3.1/account/list-accounts-request.json +6 -6
- package/dist/lib/schemas-data/3.1/account/list-accounts-response.json +8 -8
- package/dist/lib/schemas-data/3.1/account/report-usage-request.json +6 -6
- package/dist/lib/schemas-data/3.1/account/report-usage-response.json +6 -6
- package/dist/lib/schemas-data/3.1/account/sync-accounts-request.json +12 -12
- package/dist/lib/schemas-data/3.1/account/sync-accounts-response.json +16 -16
- package/dist/lib/schemas-data/3.1/account/sync-governance-request.json +6 -6
- package/dist/lib/schemas-data/3.1/account/sync-governance-response.json +10 -10
- package/dist/lib/schemas-data/3.1/adagents.json +29 -29
- package/dist/lib/schemas-data/3.1/brand/acquire-rights-request.json +10 -10
- package/dist/lib/schemas-data/3.1/brand/acquire-rights-response.json +16 -16
- package/dist/lib/schemas-data/3.1/brand/creative-approval-request.json +5 -5
- package/dist/lib/schemas-data/3.1/brand/creative-approval-response.json +12 -12
- package/dist/lib/schemas-data/3.1/brand/get-brand-identity-request.json +4 -4
- package/dist/lib/schemas-data/3.1/brand/get-brand-identity-response.json +10 -10
- package/dist/lib/schemas-data/3.1/brand/get-rights-request.json +8 -8
- package/dist/lib/schemas-data/3.1/brand/get-rights-response.json +11 -11
- package/dist/lib/schemas-data/3.1/brand/revocation-notification.json +4 -4
- package/dist/lib/schemas-data/3.1/brand/rights-pricing-option.json +5 -5
- package/dist/lib/schemas-data/3.1/brand/rights-terms.json +3 -3
- package/dist/lib/schemas-data/3.1/brand/search-brands-request.json +6 -6
- package/dist/lib/schemas-data/3.1/brand/search-brands-response.json +11 -11
- package/dist/lib/schemas-data/3.1/brand/update-rights-request.json +6 -6
- package/dist/lib/schemas-data/3.1/brand/update-rights-response.json +11 -11
- package/dist/lib/schemas-data/3.1/brand/verification-status.json +1 -1
- package/dist/lib/schemas-data/3.1/brand/verify-brand-claim-request.json +2 -2
- package/dist/lib/schemas-data/3.1/brand/verify-brand-claim-response.json +13 -13
- package/dist/lib/schemas-data/3.1/brand/verify-brand-claims-request.json +2 -2
- package/dist/lib/schemas-data/3.1/brand/verify-brand-claims-response.json +13 -13
- package/dist/lib/schemas-data/3.1/brand.json +21 -21
- package/dist/lib/schemas-data/3.1/bundled/content-standards/calibrate-content-request.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/content-standards/calibrate-content-response.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/content-standards/create-content-standards-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/content-standards/create-content-standards-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/content-standards/get-content-standards-request.json +5 -5
- package/dist/lib/schemas-data/3.1/bundled/content-standards/get-content-standards-response.json +23 -23
- package/dist/lib/schemas-data/3.1/bundled/content-standards/get-media-buy-artifacts-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/content-standards/get-media-buy-artifacts-response.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/content-standards/list-content-standards-request.json +7 -7
- package/dist/lib/schemas-data/3.1/bundled/content-standards/list-content-standards-response.json +24 -24
- package/dist/lib/schemas-data/3.1/bundled/content-standards/update-content-standards-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/content-standards/update-content-standards-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/content-standards/validate-content-delivery-request.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/content-standards/validate-content-delivery-response.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/core/tasks-get-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/core/tasks-get-response.json +181 -181
- package/dist/lib/schemas-data/3.1/bundled/core/tasks-list-request.json +21 -21
- package/dist/lib/schemas-data/3.1/bundled/core/tasks-list-response.json +11 -11
- package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-delivery-request.json +17 -17
- package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-delivery-response.json +56 -56
- package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-features-request.json +44 -44
- package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-features-response.json +13 -13
- package/dist/lib/schemas-data/3.1/bundled/creative/list-creative-formats-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/creative/list-creative-formats-response.json +48 -48
- package/dist/lib/schemas-data/3.1/bundled/creative/list-creatives-request.json +17 -17
- package/dist/lib/schemas-data/3.1/bundled/creative/list-creatives-response.json +58 -58
- package/dist/lib/schemas-data/3.1/bundled/creative/list-transformers-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/creative/list-transformers-response.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/creative/preview-creative-request.json +44 -44
- package/dist/lib/schemas-data/3.1/bundled/creative/preview-creative-response.json +50 -50
- package/dist/lib/schemas-data/3.1/bundled/creative/sync-creatives-request.json +46 -46
- package/dist/lib/schemas-data/3.1/bundled/creative/sync-creatives-response.json +27 -27
- package/dist/lib/schemas-data/3.1/bundled/creative/validate-input-request.json +42 -42
- package/dist/lib/schemas-data/3.1/bundled/creative/validate-input-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/media-buy/build-creative-request.json +53 -53
- package/dist/lib/schemas-data/3.1/bundled/media-buy/build-creative-response.json +54 -54
- package/dist/lib/schemas-data/3.1/bundled/media-buy/create-media-buy-request.json +83 -83
- package/dist/lib/schemas-data/3.1/bundled/media-buy/create-media-buy-response.json +77 -77
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buy-delivery-request.json +25 -25
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buy-delivery-response.json +40 -40
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buys-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buys-response.json +65 -65
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-products-request.json +49 -49
- package/dist/lib/schemas-data/3.1/bundled/media-buy/get-products-response.json +99 -99
- package/dist/lib/schemas-data/3.1/bundled/media-buy/list-creative-formats-request.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/media-buy/list-creative-formats-response.json +48 -48
- package/dist/lib/schemas-data/3.1/bundled/media-buy/log-event-request.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/media-buy/log-event-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/media-buy/package-request.json +79 -79
- package/dist/lib/schemas-data/3.1/bundled/media-buy/provide-performance-feedback-request.json +8 -8
- package/dist/lib/schemas-data/3.1/bundled/media-buy/provide-performance-feedback-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-audiences-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-audiences-response.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-catalogs-request.json +26 -26
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-catalogs-response.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-event-sources-request.json +19 -19
- package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-event-sources-response.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/media-buy/update-media-buy-request.json +79 -79
- package/dist/lib/schemas-data/3.1/bundled/media-buy/update-media-buy-response.json +71 -71
- package/dist/lib/schemas-data/3.1/bundled/property/create-property-list-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/property/create-property-list-response.json +26 -26
- package/dist/lib/schemas-data/3.1/bundled/property/delete-property-list-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/property/delete-property-list-response.json +10 -10
- package/dist/lib/schemas-data/3.1/bundled/property/get-property-list-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/property/get-property-list-response.json +27 -27
- package/dist/lib/schemas-data/3.1/bundled/property/list-property-lists-request.json +17 -17
- package/dist/lib/schemas-data/3.1/bundled/property/list-property-lists-response.json +27 -27
- package/dist/lib/schemas-data/3.1/bundled/property/update-property-list-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/property/update-property-list-response.json +26 -26
- package/dist/lib/schemas-data/3.1/bundled/property/validate-property-delivery-request.json +19 -19
- package/dist/lib/schemas-data/3.1/bundled/property/validate-property-delivery-response.json +15 -15
- package/dist/lib/schemas-data/3.1/bundled/protocol/get-adcp-capabilities-request.json +5 -5
- package/dist/lib/schemas-data/3.1/bundled/protocol/get-adcp-capabilities-response.json +35 -35
- package/dist/lib/schemas-data/3.1/bundled/protocol/get-task-status-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/protocol/get-task-status-response.json +181 -181
- package/dist/lib/schemas-data/3.1/bundled/protocol/list-tasks-request.json +21 -21
- package/dist/lib/schemas-data/3.1/bundled/protocol/list-tasks-response.json +11 -11
- package/dist/lib/schemas-data/3.1/bundled/signals/activate-signal-request.json +17 -17
- package/dist/lib/schemas-data/3.1/bundled/signals/activate-signal-response.json +12 -12
- package/dist/lib/schemas-data/3.1/bundled/signals/get-signals-request.json +24 -24
- package/dist/lib/schemas-data/3.1/bundled/signals/get-signals-response.json +53 -53
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-get-offering-request.json +5 -5
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-get-offering-response.json +23 -23
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-initiate-session-request.json +18 -18
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-initiate-session-response.json +25 -25
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-send-message-request.json +16 -16
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-send-message-response.json +26 -26
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-terminate-session-request.json +5 -5
- package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-terminate-session-response.json +11 -11
- package/dist/lib/schemas-data/3.1/collection/base-collection-source.json +3 -3
- package/dist/lib/schemas-data/3.1/collection/collection-list-changed-webhook.json +2 -2
- package/dist/lib/schemas-data/3.1/collection/collection-list-filters.json +7 -7
- package/dist/lib/schemas-data/3.1/collection/collection-list.json +5 -5
- package/dist/lib/schemas-data/3.1/collection/create-collection-list-request.json +8 -8
- package/dist/lib/schemas-data/3.1/collection/create-collection-list-response.json +6 -6
- package/dist/lib/schemas-data/3.1/collection/delete-collection-list-request.json +5 -5
- package/dist/lib/schemas-data/3.1/collection/delete-collection-list-response.json +5 -5
- package/dist/lib/schemas-data/3.1/collection/get-collection-list-request.json +5 -5
- package/dist/lib/schemas-data/3.1/collection/get-collection-list-response.json +12 -12
- package/dist/lib/schemas-data/3.1/collection/list-collection-lists-request.json +6 -6
- package/dist/lib/schemas-data/3.1/collection/list-collection-lists-response.json +7 -7
- package/dist/lib/schemas-data/3.1/collection/update-collection-list-request.json +8 -8
- package/dist/lib/schemas-data/3.1/collection/update-collection-list-response.json +6 -6
- package/dist/lib/schemas-data/3.1/content-standards/artifact-webhook-payload.json +3 -3
- package/dist/lib/schemas-data/3.1/content-standards/artifact.json +7 -7
- package/dist/lib/schemas-data/3.1/content-standards/calibrate-content-request.json +5 -5
- package/dist/lib/schemas-data/3.1/content-standards/calibrate-content-response.json +10 -10
- package/dist/lib/schemas-data/3.1/content-standards/content-standards.json +7 -7
- package/dist/lib/schemas-data/3.1/content-standards/create-content-standards-request.json +8 -8
- package/dist/lib/schemas-data/3.1/content-standards/create-content-standards-response.json +8 -8
- package/dist/lib/schemas-data/3.1/content-standards/get-content-standards-request.json +4 -4
- package/dist/lib/schemas-data/3.1/content-standards/get-content-standards-response.json +9 -9
- package/dist/lib/schemas-data/3.1/content-standards/get-media-buy-artifacts-request.json +5 -5
- package/dist/lib/schemas-data/3.1/content-standards/get-media-buy-artifacts-response.json +10 -10
- package/dist/lib/schemas-data/3.1/content-standards/list-content-standards-request.json +6 -6
- package/dist/lib/schemas-data/3.1/content-standards/list-content-standards-response.json +10 -10
- package/dist/lib/schemas-data/3.1/content-standards/update-content-standards-request.json +8 -8
- package/dist/lib/schemas-data/3.1/content-standards/update-content-standards-response.json +8 -8
- package/dist/lib/schemas-data/3.1/content-standards/validate-content-delivery-request.json +5 -5
- package/dist/lib/schemas-data/3.1/content-standards/validate-content-delivery-response.json +10 -10
- package/dist/lib/schemas-data/3.1/core/account-authorization.json +1 -1
- package/dist/lib/schemas-data/3.1/core/account-ref.json +2 -2
- package/dist/lib/schemas-data/3.1/core/account-with-authorization.json +3 -3
- package/dist/lib/schemas-data/3.1/core/account.json +10 -10
- package/dist/lib/schemas-data/3.1/core/activation-key.json +1 -1
- package/dist/lib/schemas-data/3.1/core/ad-inventory-config.json +1 -1
- package/dist/lib/schemas-data/3.1/core/agent-encryption-key.json +1 -1
- package/dist/lib/schemas-data/3.1/core/agent-signing-key.json +1 -1
- package/dist/lib/schemas-data/3.1/core/app-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/asset-group-vocabulary.json +1 -1
- package/dist/lib/schemas-data/3.1/core/assets/asset-union.json +21 -21
- package/dist/lib/schemas-data/3.1/core/assets/audio-asset.json +3 -3
- package/dist/lib/schemas-data/3.1/core/assets/brief-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/card-asset.json +6 -6
- package/dist/lib/schemas-data/3.1/core/assets/catalog-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/css-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/daast-asset.json +4 -4
- package/dist/lib/schemas-data/3.1/core/assets/daast-tracker-asset.json +3 -3
- package/dist/lib/schemas-data/3.1/core/assets/html-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/image-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/javascript-asset.json +3 -3
- package/dist/lib/schemas-data/3.1/core/assets/markdown-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/pixel-tracker-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/published-post-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/text-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/assets/url-asset.json +3 -3
- package/dist/lib/schemas-data/3.1/core/assets/vast-asset.json +4 -4
- package/dist/lib/schemas-data/3.1/core/assets/vast-tracker-asset.json +3 -3
- package/dist/lib/schemas-data/3.1/core/assets/video-asset.json +7 -7
- package/dist/lib/schemas-data/3.1/core/assets/webhook-asset.json +7 -7
- package/dist/lib/schemas-data/3.1/core/assets/zip-asset.json +2 -2
- package/dist/lib/schemas-data/3.1/core/async-response-data.json +29 -29
- package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/async-response-refs/signals/get-signals-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/core/async-response-refs/signals/get-signals-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/core/attribution-window.json +4 -4
- package/dist/lib/schemas-data/3.1/core/audience-member.json +3 -3
- package/dist/lib/schemas-data/3.1/core/audience-selector.json +7 -7
- package/dist/lib/schemas-data/3.1/core/authorized-agent-base.json +3 -3
- package/dist/lib/schemas-data/3.1/core/brand-id.json +1 -1
- package/dist/lib/schemas-data/3.1/core/brand-ref.json +3 -3
- package/dist/lib/schemas-data/3.1/core/business-entity.json +2 -2
- package/dist/lib/schemas-data/3.1/core/cancellation-policy.json +2 -2
- package/dist/lib/schemas-data/3.1/core/canonical-format-kind.json +1 -1
- package/dist/lib/schemas-data/3.1/core/canonical-projection-ref.json +3 -3
- package/dist/lib/schemas-data/3.1/core/canonical-projection-slot-override.json +1 -1
- package/dist/lib/schemas-data/3.1/core/catalog-field-mapping.json +2 -2
- package/dist/lib/schemas-data/3.1/core/catalog-item-delivery-metrics.json +3 -3
- package/dist/lib/schemas-data/3.1/core/catalog.json +7 -7
- package/dist/lib/schemas-data/3.1/core/catchment.json +5 -5
- package/dist/lib/schemas-data/3.1/core/collection-distribution.json +2 -2
- package/dist/lib/schemas-data/3.1/core/collection-list-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/collection-selector.json +1 -1
- package/dist/lib/schemas-data/3.1/core/collection.json +13 -13
- package/dist/lib/schemas-data/3.1/core/committed-metric.json +9 -9
- package/dist/lib/schemas-data/3.1/core/content-rating.json +2 -2
- package/dist/lib/schemas-data/3.1/core/context.json +1 -1
- package/dist/lib/schemas-data/3.1/core/creative-asset.json +10 -10
- package/dist/lib/schemas-data/3.1/core/creative-assignment.json +2 -2
- package/dist/lib/schemas-data/3.1/core/creative-brief.json +4 -4
- package/dist/lib/schemas-data/3.1/core/creative-consumption.json +1 -1
- package/dist/lib/schemas-data/3.1/core/creative-delivery-metrics.json +2 -2
- package/dist/lib/schemas-data/3.1/core/creative-filters.json +5 -5
- package/dist/lib/schemas-data/3.1/core/creative-item.json +1 -1
- package/dist/lib/schemas-data/3.1/core/creative-manifest.json +11 -11
- package/dist/lib/schemas-data/3.1/core/creative-policy.json +3 -3
- package/dist/lib/schemas-data/3.1/core/creative-variable.json +1 -1
- package/dist/lib/schemas-data/3.1/core/creative-variant.json +5 -5
- package/dist/lib/schemas-data/3.1/core/data-provider-signal-selector.json +1 -1
- package/dist/lib/schemas-data/3.1/core/date-range.json +1 -1
- package/dist/lib/schemas-data/3.1/core/datetime-range.json +1 -1
- package/dist/lib/schemas-data/3.1/core/daypart-target.json +2 -2
- package/dist/lib/schemas-data/3.1/core/deadline-policy.json +1 -1
- package/dist/lib/schemas-data/3.1/core/delivery-forecast.json +7 -7
- package/dist/lib/schemas-data/3.1/core/delivery-metric-aggregate.json +9 -9
- package/dist/lib/schemas-data/3.1/core/delivery-metrics.json +8 -8
- package/dist/lib/schemas-data/3.1/core/deployment.json +3 -3
- package/dist/lib/schemas-data/3.1/core/destination-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/destination.json +1 -1
- package/dist/lib/schemas-data/3.1/core/diagnostic-issue.json +1 -1
- package/dist/lib/schemas-data/3.1/core/downstream-connection-requirement.json +1 -1
- package/dist/lib/schemas-data/3.1/core/duration.json +1 -1
- package/dist/lib/schemas-data/3.1/core/education-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/error.json +1 -1
- package/dist/lib/schemas-data/3.1/core/evaluator-spec.json +5 -5
- package/dist/lib/schemas-data/3.1/core/event-custom-data.json +2 -2
- package/dist/lib/schemas-data/3.1/core/event-source-health.json +3 -3
- package/dist/lib/schemas-data/3.1/core/event-surface.json +2 -2
- package/dist/lib/schemas-data/3.1/core/event.json +8 -8
- package/dist/lib/schemas-data/3.1/core/ext.json +1 -1
- package/dist/lib/schemas-data/3.1/core/feature-requirement.json +1 -1
- package/dist/lib/schemas-data/3.1/core/flight-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-audience.json +2 -2
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-device-platform.json +2 -2
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-device-type.json +2 -2
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-geo.json +5 -5
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-placement.json +2 -2
- package/dist/lib/schemas-data/3.1/core/forecast-dimension-signal.json +2 -2
- package/dist/lib/schemas-data/3.1/core/forecast-point-dimensions.json +7 -7
- package/dist/lib/schemas-data/3.1/core/forecast-point.json +27 -27
- package/dist/lib/schemas-data/3.1/core/forecast-range.json +1 -1
- package/dist/lib/schemas-data/3.1/core/forecast-vendor-metric-value.json +5 -5
- package/dist/lib/schemas-data/3.1/core/format-id.json +1 -1
- package/dist/lib/schemas-data/3.1/core/format-option-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/format-shape-vocabulary.json +1 -1
- package/dist/lib/schemas-data/3.1/core/format.json +44 -44
- package/dist/lib/schemas-data/3.1/core/frequency-cap.json +4 -4
- package/dist/lib/schemas-data/3.1/core/generation-credential.json +3 -3
- package/dist/lib/schemas-data/3.1/core/geo-breakdown-support.json +3 -3
- package/dist/lib/schemas-data/3.1/core/geo-delivery-metrics.json +6 -6
- package/dist/lib/schemas-data/3.1/core/hotel-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/identifier.json +2 -2
- package/dist/lib/schemas-data/3.1/core/impairment.json +3 -3
- package/dist/lib/schemas-data/3.1/core/industry-identifier.json +2 -2
- package/dist/lib/schemas-data/3.1/core/insertion-order.json +1 -1
- package/dist/lib/schemas-data/3.1/core/installment-deadlines.json +2 -2
- package/dist/lib/schemas-data/3.1/core/installment.json +9 -9
- package/dist/lib/schemas-data/3.1/core/job-item.json +3 -3
- package/dist/lib/schemas-data/3.1/core/keyword-delivery-metrics.json +3 -3
- package/dist/lib/schemas-data/3.1/core/limited-series.json +1 -1
- package/dist/lib/schemas-data/3.1/core/material-deadline.json +1 -1
- package/dist/lib/schemas-data/3.1/core/mcp-webhook-payload.json +5 -5
- package/dist/lib/schemas-data/3.1/core/measurement-readiness.json +5 -5
- package/dist/lib/schemas-data/3.1/core/measurement-terms.json +3 -3
- package/dist/lib/schemas-data/3.1/core/measurement-window.json +1 -1
- package/dist/lib/schemas-data/3.1/core/media-buy-available-action.json +4 -4
- package/dist/lib/schemas-data/3.1/core/media-buy-features.json +1 -1
- package/dist/lib/schemas-data/3.1/core/media-buy.json +10 -10
- package/dist/lib/schemas-data/3.1/core/missing-metric.json +9 -9
- package/dist/lib/schemas-data/3.1/core/notification-config.json +4 -4
- package/dist/lib/schemas-data/3.1/core/offering-asset-group.json +16 -16
- package/dist/lib/schemas-data/3.1/core/offering.json +5 -5
- package/dist/lib/schemas-data/3.1/core/optimization-goal.json +7 -7
- package/dist/lib/schemas-data/3.1/core/outcome-measurement.json +2 -2
- package/dist/lib/schemas-data/3.1/core/overlay.json +1 -1
- package/dist/lib/schemas-data/3.1/core/package-signal-targeting-group.json +2 -2
- package/dist/lib/schemas-data/3.1/core/package-signal-targeting-groups.json +2 -2
- package/dist/lib/schemas-data/3.1/core/package-signal-targeting.json +3 -3
- package/dist/lib/schemas-data/3.1/core/package.json +17 -17
- package/dist/lib/schemas-data/3.1/core/pagination-request.json +1 -1
- package/dist/lib/schemas-data/3.1/core/pagination-response.json +1 -1
- package/dist/lib/schemas-data/3.1/core/performance-feedback.json +12 -12
- package/dist/lib/schemas-data/3.1/core/performance-standard.json +4 -4
- package/dist/lib/schemas-data/3.1/core/placement-definition.json +10 -10
- package/dist/lib/schemas-data/3.1/core/placement-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/placement.json +7 -7
- package/dist/lib/schemas-data/3.1/core/planned-delivery.json +5 -5
- package/dist/lib/schemas-data/3.1/core/platform-extension-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/postal-area-support.json +2 -2
- package/dist/lib/schemas-data/3.1/core/postal-area.json +4 -4
- package/dist/lib/schemas-data/3.1/core/postal-country-system.json +2 -2
- package/dist/lib/schemas-data/3.1/core/price.json +1 -1
- package/dist/lib/schemas-data/3.1/core/pricing-option.json +10 -10
- package/dist/lib/schemas-data/3.1/core/product-allocation.json +4 -4
- package/dist/lib/schemas-data/3.1/core/product-allowed-action.json +5 -5
- package/dist/lib/schemas-data/3.1/core/product-filters.json +27 -27
- package/dist/lib/schemas-data/3.1/core/product-format-declaration.json +16 -16
- package/dist/lib/schemas-data/3.1/core/product-signal-targeting-option.json +3 -3
- package/dist/lib/schemas-data/3.1/core/product.json +40 -40
- package/dist/lib/schemas-data/3.1/core/property-id.json +1 -1
- package/dist/lib/schemas-data/3.1/core/property-list-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/property-tag.json +1 -1
- package/dist/lib/schemas-data/3.1/core/property.json +6 -6
- package/dist/lib/schemas-data/3.1/core/proposal.json +6 -6
- package/dist/lib/schemas-data/3.1/core/protocol-envelope.json +5 -5
- package/dist/lib/schemas-data/3.1/core/provenance.json +9 -9
- package/dist/lib/schemas-data/3.1/core/publisher-property-selector.json +3 -3
- package/dist/lib/schemas-data/3.1/core/push-notification-config.json +2 -2
- package/dist/lib/schemas-data/3.1/core/real-estate-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/reference-asset.json +1 -1
- package/dist/lib/schemas-data/3.1/core/registry-event.json +13 -13
- package/dist/lib/schemas-data/3.1/core/registry-feed-response.json +2 -2
- package/dist/lib/schemas-data/3.1/core/reporting-capabilities.json +8 -8
- package/dist/lib/schemas-data/3.1/core/reporting-webhook.json +3 -3
- package/dist/lib/schemas-data/3.1/core/requirements/asset-requirements.json +13 -13
- package/dist/lib/schemas-data/3.1/core/requirements/audio-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/catalog-field-binding.json +4 -4
- package/dist/lib/schemas-data/3.1/core/requirements/catalog-requirements.json +5 -5
- package/dist/lib/schemas-data/3.1/core/requirements/css-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/daast-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/html-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/image-asset-requirements.json +2 -2
- package/dist/lib/schemas-data/3.1/core/requirements/javascript-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/markdown-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/offering-asset-constraint.json +4 -4
- package/dist/lib/schemas-data/3.1/core/requirements/text-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/url-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/vast-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/requirements/video-asset-requirements.json +6 -6
- package/dist/lib/schemas-data/3.1/core/requirements/webhook-asset-requirements.json +1 -1
- package/dist/lib/schemas-data/3.1/core/response-payload-jws-envelope.json +1 -1
- package/dist/lib/schemas-data/3.1/core/response.json +1 -1
- package/dist/lib/schemas-data/3.1/core/rights-constraint.json +4 -4
- package/dist/lib/schemas-data/3.1/core/seller-agent-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/signal-coverage-forecast.json +5 -5
- package/dist/lib/schemas-data/3.1/core/signal-definition-enrichment.json +4 -4
- package/dist/lib/schemas-data/3.1/core/signal-definition.json +5 -5
- package/dist/lib/schemas-data/3.1/core/signal-filters.json +3 -3
- package/dist/lib/schemas-data/3.1/core/signal-id.json +1 -1
- package/dist/lib/schemas-data/3.1/core/signal-listing.json +4 -4
- package/dist/lib/schemas-data/3.1/core/signal-modeling-disclosure.json +1 -1
- package/dist/lib/schemas-data/3.1/core/signal-pricing-option.json +2 -2
- package/dist/lib/schemas-data/3.1/core/signal-pricing.json +6 -6
- package/dist/lib/schemas-data/3.1/core/signal-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/core/signal-selection-group-rule.json +1 -1
- package/dist/lib/schemas-data/3.1/core/signal-targeting-expression.json +4 -4
- package/dist/lib/schemas-data/3.1/core/signal-targeting-rules.json +2 -2
- package/dist/lib/schemas-data/3.1/core/signal-targeting.json +7 -7
- package/dist/lib/schemas-data/3.1/core/sla-window.json +1 -1
- package/dist/lib/schemas-data/3.1/core/special.json +2 -2
- package/dist/lib/schemas-data/3.1/core/start-timing.json +1 -1
- package/dist/lib/schemas-data/3.1/core/store-item.json +3 -3
- package/dist/lib/schemas-data/3.1/core/talent.json +2 -2
- package/dist/lib/schemas-data/3.1/core/targeting.json +22 -22
- package/dist/lib/schemas-data/3.1/core/tasks-get-request.json +5 -5
- package/dist/lib/schemas-data/3.1/core/tasks-get-response.json +10 -10
- package/dist/lib/schemas-data/3.1/core/tasks-list-request.json +13 -13
- package/dist/lib/schemas-data/3.1/core/tasks-list-response.json +8 -8
- package/dist/lib/schemas-data/3.1/core/transformer-param.json +1 -1
- package/dist/lib/schemas-data/3.1/core/transformer.json +5 -5
- package/dist/lib/schemas-data/3.1/core/truncation-sentinel.json +1 -1
- package/dist/lib/schemas-data/3.1/core/user-match.json +3 -3
- package/dist/lib/schemas-data/3.1/core/vehicle-item.json +4 -4
- package/dist/lib/schemas-data/3.1/core/vendor-metric-id.json +1 -1
- package/dist/lib/schemas-data/3.1/core/vendor-metric-optimization-supported-metric.json +3 -3
- package/dist/lib/schemas-data/3.1/core/vendor-metric-optimization.json +2 -2
- package/dist/lib/schemas-data/3.1/core/vendor-metric-value.json +3 -3
- package/dist/lib/schemas-data/3.1/core/vendor-pricing-option.json +3 -3
- package/dist/lib/schemas-data/3.1/core/version-envelope.json +1 -1
- package/dist/lib/schemas-data/3.1/core/webhook-activity-record.json +3 -3
- package/dist/lib/schemas-data/3.1/core/webhook-challenge-response.json +1 -1
- package/dist/lib/schemas-data/3.1/core/webhook-challenge.json +2 -2
- package/dist/lib/schemas-data/3.1/core/wholesale-feed-event.json +17 -17
- package/dist/lib/schemas-data/3.1/core/wholesale-feed-webhook.json +3 -3
- package/dist/lib/schemas-data/3.1/core/x-entity-types.json +1 -1
- package/dist/lib/schemas-data/3.1/creative/asset-types/index.json +6 -6
- package/dist/lib/schemas-data/3.1/creative/audit-observation.json +2 -2
- package/dist/lib/schemas-data/3.1/creative/creative-feature-result.json +2 -2
- package/dist/lib/schemas-data/3.1/creative/creative-purged-webhook.json +3 -3
- package/dist/lib/schemas-data/3.1/creative/creative-status-changed-webhook.json +4 -4
- package/dist/lib/schemas-data/3.1/creative/get-creative-delivery-request.json +6 -6
- package/dist/lib/schemas-data/3.1/creative/get-creative-delivery-response.json +9 -9
- package/dist/lib/schemas-data/3.1/creative/get-creative-features-request.json +6 -6
- package/dist/lib/schemas-data/3.1/creative/get-creative-features-response.json +11 -11
- package/dist/lib/schemas-data/3.1/creative/list-creative-formats-request.json +13 -13
- package/dist/lib/schemas-data/3.1/creative/list-creative-formats-response.json +9 -9
- package/dist/lib/schemas-data/3.1/creative/list-creatives-request.json +9 -9
- package/dist/lib/schemas-data/3.1/creative/list-creatives-response.json +21 -21
- package/dist/lib/schemas-data/3.1/creative/list-transformers-request.json +8 -8
- package/dist/lib/schemas-data/3.1/creative/list-transformers-response.json +8 -8
- package/dist/lib/schemas-data/3.1/creative/preview-creative-request.json +12 -12
- package/dist/lib/schemas-data/3.1/creative/preview-creative-response.json +14 -14
- package/dist/lib/schemas-data/3.1/creative/preview-render.json +1 -1
- package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/creative/sync-creatives-request.json +8 -8
- package/dist/lib/schemas-data/3.1/creative/sync-creatives-response.json +15 -15
- package/dist/lib/schemas-data/3.1/creative/validate-input-request.json +4 -4
- package/dist/lib/schemas-data/3.1/creative/validate-input-response.json +4 -4
- package/dist/lib/schemas-data/3.1/creative/validate-input-result.json +1 -1
- package/dist/lib/schemas-data/3.1/creative/video-brief.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/account-scope.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/account-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/action-not-allowed-reason.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/action-source.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/adcp-protocol.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/adjustment-kind.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/advertiser-industry.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/age-verification-method.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/assessment-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/asset-content-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/attestation-claim.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/attribution-methodology.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/attribution-model.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/audience-source.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/audience-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/audio-channel-layout.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/audio-distribution-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/auth-scheme.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/available-metric.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/billing-party.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/binary-verdict.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/brand-agent-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/c2pa-watermark-action.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/canceled-by.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/catalog-action.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/catalog-item-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/catalog-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/channels.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/cloud-storage-protocol.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/co-branding-requirement.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/collection-cadence.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/collection-kind.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/collection-relationship.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/collection-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/completion-source.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/consent-basis.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/content-id-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/content-rating-system.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-action.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-agent-capability.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-approval-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-event-reason-code.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-identifier-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-quality.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-selection-strategy.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-sort-field.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/creative-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/daast-tracking-event.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/daast-version.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/day-of-week.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/delegation-authority.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/delivery-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/demographic-system.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/derivative-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/device-platform.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/device-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/digital-source-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/dimension-unit.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/disclosure-persistence.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/disclosure-position.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/distance-unit.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/distribution-identifier-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/embedded-provenance-method.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/error-code.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/error-scope.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/escalation-severity.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/event-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/exclusivity.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/feature-check-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/feed-format.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/feedback-source.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/forecast-method.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/forecast-range-unit.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/forecastable-metric.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/format-id-parameter.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/frame-rate-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/frequency-cap-scope.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/genre-taxonomy.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/geo-level.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/gop-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/governance-decision.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/governance-domain.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/governance-mode.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/governance-phase.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/history-entry-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/http-method.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/identifier-types.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/impairment-offline-state.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/impairment-reason-code.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/installment-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/javascript-module-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/landing-page-requirement.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/legacy-postal-system.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/lift-dimension.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/logo-slot.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/makegood-remedy.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/markdown-flavor.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/match-id-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/match-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/media-buy-action-mode.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/media-buy-health.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/media-buy-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/media-buy-valid-action.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/metric-scope.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/metric-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/metro-system.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/moov-atom-position.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/notification-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/offering-availability-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/outcome-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/pacing.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/payment-terms.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/performance-standard-metric.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/policy-category.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/policy-enforcement.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/postal-system.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/preview-output-format.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/pricing-model.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/production-quality.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/property-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/proposal-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/publisher-identifier-types.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/purchase-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/reach-unit.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/reporting-frequency.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/response-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/restricted-attribute.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/right-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/right-use.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/rights-billing-period.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/scan-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/si-session-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/signal-catalog-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/signal-source.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/signal-value-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/snapshot-unavailable-reason.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/social-placement-surface.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/sort-direction.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/sort-metric.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/special-category.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/specialism.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/sponsored-placement-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/talent-role.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/task-status.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/task-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/transport-mode.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/travel-time-unit.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/uid-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/universal-macro.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/update-frequency.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/url-asset-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/validation-mode.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/vast-tracking-event.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/vast-version.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/video-placement-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/viewability-standard.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/watermark-media-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/wcag-level.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/webhook-response-type.json +1 -1
- package/dist/lib/schemas-data/3.1/enums/webhook-security-method.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/account-setup-required.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/action-not-allowed.json +4 -4
- package/dist/lib/schemas-data/3.1/error-details/agent-permission-denied.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/audience-too-small.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/authorization-required.json +3 -3
- package/dist/lib/schemas-data/3.1/error-details/billing-not-permitted-for-agent.json +3 -3
- package/dist/lib/schemas-data/3.1/error-details/billing-not-supported.json +2 -2
- package/dist/lib/schemas-data/3.1/error-details/budget-too-low.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/conflict.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/creative-rejected.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/policy-violation.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/rate-limited.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/stale-response.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/vendor-error-codes.json +1 -1
- package/dist/lib/schemas-data/3.1/error-details/version-unsupported.json +2 -2
- package/dist/lib/schemas-data/3.1/extensions/extension-meta.json +1 -1
- package/dist/lib/schemas-data/3.1/extensions/index.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/_base.json +5 -5
- package/dist/lib/schemas-data/3.1/formats/canonical/agent_placement.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/audio_daast.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/audio_hosted.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/display_tag.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/html5.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/image.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/image_carousel.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/native_in_feed.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/responsive_creative.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/sponsored_placement.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/video_hosted.json +2 -2
- package/dist/lib/schemas-data/3.1/formats/canonical/video_vast.json +2 -2
- package/dist/lib/schemas-data/3.1/governance/attribute-definition.json +1 -1
- package/dist/lib/schemas-data/3.1/governance/audience-constraints.json +3 -3
- package/dist/lib/schemas-data/3.1/governance/check-governance-request.json +8 -8
- package/dist/lib/schemas-data/3.1/governance/check-governance-response.json +7 -7
- package/dist/lib/schemas-data/3.1/governance/get-plan-audit-logs-request.json +5 -5
- package/dist/lib/schemas-data/3.1/governance/get-plan-audit-logs-response.json +11 -11
- package/dist/lib/schemas-data/3.1/governance/policy-category-definition.json +2 -2
- package/dist/lib/schemas-data/3.1/governance/policy-entry.json +6 -6
- package/dist/lib/schemas-data/3.1/governance/policy-ref.json +1 -1
- package/dist/lib/schemas-data/3.1/governance/report-plan-outcome-request.json +7 -7
- package/dist/lib/schemas-data/3.1/governance/report-plan-outcome-response.json +5 -5
- package/dist/lib/schemas-data/3.1/governance/sync-plans-request.json +14 -14
- package/dist/lib/schemas-data/3.1/governance/sync-plans-response.json +6 -6
- package/dist/lib/schemas-data/3.1/index.json +443 -443
- package/dist/lib/schemas-data/3.1/manifest.json +3 -3
- package/dist/lib/schemas-data/3.1/manifest.schema.json +1 -1
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-request.json +16 -16
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-response.json +35 -35
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-request.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-response.json +19 -19
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-request.json +23 -23
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-response.json +27 -27
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-response.json +30 -30
- package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/get-products-request.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/get-products-response.json +10 -10
- package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-request.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-response.json +9 -9
- package/dist/lib/schemas-data/3.1/media-buy/log-event-request.json +5 -5
- package/dist/lib/schemas-data/3.1/media-buy/log-event-response.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/media-buy-delivery-webhook-result.json +9 -9
- package/dist/lib/schemas-data/3.1/media-buy/package-request.json +23 -23
- package/dist/lib/schemas-data/3.1/media-buy/package-update.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-request.json +7 -7
- package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-response.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-response.json +14 -14
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-response.json +14 -14
- package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-response.json +14 -14
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-request.json +11 -11
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-response.json +17 -17
- package/dist/lib/schemas-data/3.1/pricing-options/cpa-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpc-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpcv-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpm-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpp-option.json +5 -5
- package/dist/lib/schemas-data/3.1/pricing-options/cpv-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/flat-rate-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/price-breakdown.json +2 -2
- package/dist/lib/schemas-data/3.1/pricing-options/price-guidance.json +1 -1
- package/dist/lib/schemas-data/3.1/pricing-options/time-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/vcpm-option.json +4 -4
- package/dist/lib/schemas-data/3.1/property/authorization-result.json +1 -1
- package/dist/lib/schemas-data/3.1/property/base-property-source.json +4 -4
- package/dist/lib/schemas-data/3.1/property/create-property-list-request.json +8 -8
- package/dist/lib/schemas-data/3.1/property/create-property-list-response.json +6 -6
- package/dist/lib/schemas-data/3.1/property/delete-property-list-request.json +5 -5
- package/dist/lib/schemas-data/3.1/property/delete-property-list-response.json +5 -5
- package/dist/lib/schemas-data/3.1/property/delivery-record.json +3 -3
- package/dist/lib/schemas-data/3.1/property/get-property-list-request.json +5 -5
- package/dist/lib/schemas-data/3.1/property/get-property-list-response.json +9 -9
- package/dist/lib/schemas-data/3.1/property/list-property-lists-request.json +6 -6
- package/dist/lib/schemas-data/3.1/property/list-property-lists-response.json +7 -7
- package/dist/lib/schemas-data/3.1/property/property-error.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-feature-definition.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-feature-result.json +4 -4
- package/dist/lib/schemas-data/3.1/property/property-feature-value.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-feature.json +1 -1
- package/dist/lib/schemas-data/3.1/property/property-list-changed-webhook.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-list-filters.json +5 -5
- package/dist/lib/schemas-data/3.1/property/property-list.json +6 -6
- package/dist/lib/schemas-data/3.1/property/update-property-list-request.json +8 -8
- package/dist/lib/schemas-data/3.1/property/update-property-list-response.json +6 -6
- package/dist/lib/schemas-data/3.1/property/validate-property-delivery-request.json +6 -6
- package/dist/lib/schemas-data/3.1/property/validate-property-delivery-response.json +6 -6
- package/dist/lib/schemas-data/3.1/property/validation-result.json +5 -5
- package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-request.json +4 -4
- package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-response.json +33 -33
- package/dist/lib/schemas-data/3.1/protocol/get-task-status-request.json +5 -5
- package/dist/lib/schemas-data/3.1/protocol/get-task-status-response.json +10 -10
- package/dist/lib/schemas-data/3.1/protocol/list-tasks-request.json +13 -13
- package/dist/lib/schemas-data/3.1/protocol/list-tasks-response.json +8 -8
- package/dist/lib/schemas-data/3.1/registries/v1-canonical-mapping.json +5 -5
- package/dist/lib/schemas-data/3.1/signals/activate-signal-request.json +6 -6
- package/dist/lib/schemas-data/3.1/signals/activate-signal-response.json +9 -9
- package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/signals/get-signals-request.json +11 -11
- package/dist/lib/schemas-data/3.1/signals/get-signals-response.json +17 -17
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-capabilities.json +1 -1
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-context-use.json +1 -1
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-request.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-response.json +9 -9
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-identity.json +1 -1
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-request.json +7 -7
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-response.json +10 -10
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-request.json +5 -5
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-response.json +10 -10
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context-receipt.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-request.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-response.json +7 -7
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-ui-element.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/available-package.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/context-match-request.json +5 -5
- package/dist/lib/schemas-data/3.1/trusted-match/context-match-response.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/error.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/identity-match-request.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/identity-match-response.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/offer-price.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/offer.json +5 -5
- package/dist/lib/schemas-data/3.1/trusted-match/provider-identity-match-response.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/provider-registration.json +2 -2
- package/dist/lib/schemas-data/3.1/trusted-match/publisher-tmpx-config.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/tmpx-chunk.json +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.mjs.map +1 -1
- package/dist/lib/server/wire-spec-fields.generated.d.mts +29 -29
- package/dist/lib/server/wire-spec-fields.generated.d.ts +29 -29
- package/dist/lib/server/wire-spec-fields.generated.js +29 -29
- package/dist/lib/server/wire-spec-fields.generated.js.map +1 -1
- package/dist/lib/server/wire-spec-fields.generated.mjs +29 -29
- package/dist/lib/server/wire-spec-fields.generated.mjs.map +1 -1
- package/dist/lib/testing/index.d.mts +1 -1
- package/dist/lib/testing/index.d.ts +1 -1
- package/dist/lib/testing/index.d.ts.map +1 -1
- package/dist/lib/testing/index.js +12 -0
- package/dist/lib/testing/index.js.map +1 -1
- package/dist/lib/testing/index.mjs +12 -0
- package/dist/lib/testing/index.mjs.map +1 -1
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.d.mts +6 -0
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.d.ts +6 -0
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.js +11 -0
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.js.map +1 -1
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.mjs +10 -0
- package/dist/lib/testing/storyboard/canonical-format-satisfaction.mjs.map +1 -1
- package/dist/lib/testing/storyboard/creative-assets.d.mts +5 -0
- package/dist/lib/testing/storyboard/creative-assets.d.ts +6 -0
- package/dist/lib/testing/storyboard/creative-assets.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/creative-assets.js +180 -0
- package/dist/lib/testing/storyboard/creative-assets.js.map +1 -0
- package/dist/lib/testing/storyboard/creative-assets.mjs +154 -0
- package/dist/lib/testing/storyboard/creative-assets.mjs.map +1 -0
- package/dist/lib/testing/storyboard/fixture-resolution.d.mts +37 -0
- package/dist/lib/testing/storyboard/fixture-resolution.d.ts +38 -0
- package/dist/lib/testing/storyboard/fixture-resolution.d.ts.map +1 -0
- package/dist/lib/testing/storyboard/fixture-resolution.js +424 -0
- package/dist/lib/testing/storyboard/fixture-resolution.js.map +1 -0
- package/dist/lib/testing/storyboard/fixture-resolution.mjs +395 -0
- package/dist/lib/testing/storyboard/fixture-resolution.mjs.map +1 -0
- package/dist/lib/testing/storyboard/index.d.mts +2 -1
- package/dist/lib/testing/storyboard/index.d.ts +2 -1
- package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/index.js +13 -0
- package/dist/lib/testing/storyboard/index.js.map +1 -1
- package/dist/lib/testing/storyboard/index.mjs +14 -0
- package/dist/lib/testing/storyboard/index.mjs.map +1 -1
- package/dist/lib/testing/storyboard/junit.js +14 -1
- package/dist/lib/testing/storyboard/junit.js.map +1 -1
- package/dist/lib/testing/storyboard/junit.mjs +14 -1
- package/dist/lib/testing/storyboard/junit.mjs.map +1 -1
- package/dist/lib/testing/storyboard/loader.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/loader.js +2 -0
- package/dist/lib/testing/storyboard/loader.js.map +1 -1
- package/dist/lib/testing/storyboard/loader.mjs +2 -0
- package/dist/lib/testing/storyboard/loader.mjs.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +170 -12
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.mjs +175 -13
- package/dist/lib/testing/storyboard/runner.mjs.map +1 -1
- package/dist/lib/testing/storyboard/seeding.d.mts +10 -3
- package/dist/lib/testing/storyboard/seeding.d.ts +10 -3
- package/dist/lib/testing/storyboard/seeding.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/seeding.js +550 -2
- package/dist/lib/testing/storyboard/seeding.js.map +1 -1
- package/dist/lib/testing/storyboard/seeding.mjs +555 -2
- package/dist/lib/testing/storyboard/seeding.mjs.map +1 -1
- package/dist/lib/testing/storyboard/types.d.mts +106 -0
- package/dist/lib/testing/storyboard/types.d.ts +106 -0
- package/dist/lib/testing/storyboard/types.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/types.js +1 -0
- package/dist/lib/testing/storyboard/types.js.map +1 -1
- package/dist/lib/testing/storyboard/types.mjs +1 -0
- package/dist/lib/testing/storyboard/types.mjs.map +1 -1
- package/dist/lib/testing/stubs/governance-agent-stub.d.ts.map +1 -1
- package/dist/lib/testing/stubs/governance-agent-stub.js +4 -1
- package/dist/lib/testing/stubs/governance-agent-stub.js.map +1 -1
- package/dist/lib/testing/stubs/governance-agent-stub.mjs +4 -1
- package/dist/lib/testing/stubs/governance-agent-stub.mjs.map +1 -1
- package/dist/lib/types/core.generated.d.mts +3 -1
- package/dist/lib/types/core.generated.d.ts +3 -1
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js.map +1 -1
- package/dist/lib/types/inline-enums.generated.d.mts +2 -0
- package/dist/lib/types/inline-enums.generated.d.ts +2 -0
- package/dist/lib/types/inline-enums.generated.d.ts.map +1 -1
- package/dist/lib/types/inline-enums.generated.js +3 -0
- package/dist/lib/types/inline-enums.generated.js.map +1 -1
- package/dist/lib/types/inline-enums.generated.mjs +2 -0
- package/dist/lib/types/inline-enums.generated.mjs.map +1 -1
- package/dist/lib/types/manifest.generated.d.mts +3 -3
- package/dist/lib/types/manifest.generated.d.ts +3 -3
- package/dist/lib/types/manifest.generated.js.map +1 -1
- package/dist/lib/types/manifest.generated.mjs.map +1 -1
- package/dist/lib/types/per-tool-index.json +1 -1
- package/dist/lib/validation/schema-loader.d.mts +16 -0
- package/dist/lib/validation/schema-loader.d.ts +16 -0
- package/dist/lib/validation/schema-loader.d.ts.map +1 -1
- package/dist/lib/validation/schema-loader.js +116 -0
- package/dist/lib/validation/schema-loader.js.map +1 -1
- package/dist/lib/validation/schema-loader.mjs +115 -0
- package/dist/lib/validation/schema-loader.mjs.map +1 -1
- package/dist/lib/version.d.mts +7 -7
- package/dist/lib/version.d.ts +7 -7
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +7 -6
- package/dist/lib/version.js.map +1 -1
- package/dist/lib/version.mjs +7 -6
- package/dist/lib/version.mjs.map +1 -1
- package/docs/llms.txt +3 -3
- package/package.json +2 -2
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/creative-transformers/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/acme-outdoor-live.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/billing-gate-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/distributed-brand-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/parallel-dispatch-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/rate-limit-trip-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/single-side-trust-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/catalog-macro-substitution.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-receiver-envelope.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/billing-gate-dispatch.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/canonical-format-validate-input.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/comply-controller-mode-gate.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/error-compliance-signals.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/get-products-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/notification-config-event-scope.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/notification-config-lifecycle.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/notification-config-rejections.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/read-tool-idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/schema-validation-signals.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/stale-response-advisory.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/version-negotiation.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/webhook-emission.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/webhook-receiver-envelope.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/wholesale-feed-product-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/wholesale-feed-products.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.10 → 3.1.11}/universal/wholesale-feed-signals.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/creative-transformers/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/acme-outdoor-live.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/billing-gate-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/distributed-brand-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/parallel-dispatch-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/rate-limit-trip-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/single-side-trust-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/catalog-macro-substitution.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-receiver-envelope.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/billing-gate-dispatch.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/canonical-format-validate-input.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/comply-controller-mode-gate.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/error-compliance-signals.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/get-products-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/notification-config-event-scope.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/notification-config-lifecycle.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/notification-config-rejections.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/read-tool-idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/schema-validation-signals.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/stale-response-advisory.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/version-negotiation.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/webhook-emission.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/webhook-receiver-envelope.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/wholesale-feed-product-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/wholesale-feed-products.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/wholesale-feed-signals.yaml +0 -0
|
@@ -19,7 +19,9 @@ function resolveClientRequestTimeoutMs(timeoutMs) {
|
|
|
19
19
|
return resolveRequestTimeoutMs(timeoutMs);
|
|
20
20
|
}
|
|
21
21
|
function createAbortError(reason) {
|
|
22
|
-
if (reason instanceof Error && (reason.name === "AbortError" || reason.name === "TimeoutError"))
|
|
22
|
+
if (reason instanceof Error && (reason.name === "AbortError" || reason.name === "TimeoutError" || reason.name === "TaskTimeoutError")) {
|
|
23
|
+
return reason;
|
|
24
|
+
}
|
|
23
25
|
const error = new Error(reason == null ? "The operation was aborted" : String(reason));
|
|
24
26
|
error.name = "AbortError";
|
|
25
27
|
if (reason instanceof Error) {
|
|
@@ -36,15 +38,15 @@ function createTimeoutError(timeoutMs) {
|
|
|
36
38
|
function isAbortOrTimeoutError(error) {
|
|
37
39
|
if (error == null || typeof error !== "object") return false;
|
|
38
40
|
const value = error;
|
|
39
|
-
if (value.name === "AbortError" || value.name === "TimeoutError") return true;
|
|
40
|
-
return value.code === -32001 || value.code === "REQUEST_TIMEOUT";
|
|
41
|
+
if (value.name === "AbortError" || value.name === "TimeoutError" || value.name === "TaskTimeoutError") return true;
|
|
42
|
+
return value.code === -32001 || value.code === "REQUEST_TIMEOUT" || value.code === "TASK_TIMEOUT";
|
|
41
43
|
}
|
|
42
44
|
function throwIfAborted(signal) {
|
|
43
45
|
if (signal?.aborted) {
|
|
44
46
|
throw createAbortError(signal.reason);
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
|
-
async function withAbortSignal(signals, timeoutMs, fn) {
|
|
49
|
+
async function withAbortSignal(signals, timeoutMs, fn, options = {}) {
|
|
48
50
|
const activeSignals = signals.filter((signal) => signal != null);
|
|
49
51
|
for (const signal of activeSignals) {
|
|
50
52
|
throwIfAborted(signal);
|
|
@@ -52,17 +54,6 @@ async function withAbortSignal(signals, timeoutMs, fn) {
|
|
|
52
54
|
if (timeoutMs == null && activeSignals.length === 0) {
|
|
53
55
|
return fn(void 0);
|
|
54
56
|
}
|
|
55
|
-
if (timeoutMs == null && activeSignals.length === 1) {
|
|
56
|
-
const signal = activeSignals[0];
|
|
57
|
-
try {
|
|
58
|
-
return await fn(signal);
|
|
59
|
-
} catch (error) {
|
|
60
|
-
if (signal.aborted) {
|
|
61
|
-
throw createAbortError(signal.reason);
|
|
62
|
-
}
|
|
63
|
-
throw error;
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
57
|
const controller = new AbortController();
|
|
67
58
|
const abort = (reason) => {
|
|
68
59
|
if (!controller.signal.aborted) {
|
|
@@ -75,12 +66,23 @@ async function withAbortSignal(signals, timeoutMs, fn) {
|
|
|
75
66
|
return { signal, listener };
|
|
76
67
|
});
|
|
77
68
|
const timer = timeoutMs == null ? void 0 : setTimeout(() => {
|
|
78
|
-
abort(createTimeoutError(timeoutMs));
|
|
69
|
+
abort(options.timeoutError ?? createTimeoutError(timeoutMs));
|
|
79
70
|
}, timeoutMs);
|
|
71
|
+
let rejectOnAbort;
|
|
72
|
+
const aborted = new Promise((_resolve, reject) => {
|
|
73
|
+
rejectOnAbort = () => reject(controller.signal.reason ?? createAbortError());
|
|
74
|
+
controller.signal.addEventListener("abort", rejectOnAbort, { once: true });
|
|
75
|
+
});
|
|
80
76
|
try {
|
|
81
|
-
return await fn(controller.signal);
|
|
77
|
+
return await Promise.race([fn(controller.signal), aborted]);
|
|
78
|
+
} catch (error) {
|
|
79
|
+
if (controller.signal.aborted) {
|
|
80
|
+
throw controller.signal.reason ?? createAbortError();
|
|
81
|
+
}
|
|
82
|
+
throw error;
|
|
82
83
|
} finally {
|
|
83
84
|
if (timer) clearTimeout(timer);
|
|
85
|
+
if (rejectOnAbort) controller.signal.removeEventListener("abort", rejectOnAbort);
|
|
84
86
|
for (const { signal, listener } of listeners) {
|
|
85
87
|
signal.removeEventListener("abort", listener);
|
|
86
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/protocols/abort.ts"],"sourcesContent":["import { fileURLToPath as __adcpFileURLToPath } from 'node:url';\nimport { dirname as __adcpDirname } from 'node:path';\nimport { createRequire as __adcpCreateRequire } from 'node:module';\nconst __dirname = __adcpDirname(__adcpFileURLToPath(import.meta.url));\nconst require = __adcpCreateRequire(import.meta.url);\nexport const DEFAULT_REQUEST_TIMEOUT_MS = 60_000;\nexport const MAX_TIMER_DELAY_MS = 2_147_483_647;\n\nexport function resolveRequestTimeoutMs(timeoutMs: number | undefined, defaultTimeoutMs?: number): number | undefined {\n const resolved = timeoutMs ?? defaultTimeoutMs;\n if (resolved == null) return undefined;\n if (resolved === 0) return undefined;\n if (!Number.isFinite(resolved) || resolved < 0 || resolved > MAX_TIMER_DELAY_MS) {\n throw new RangeError(`requestTimeoutMs must be a finite non-negative number <= ${MAX_TIMER_DELAY_MS}`);\n }\n return resolved;\n}\n\nexport function resolveClientRequestTimeoutMs(timeoutMs: number | undefined): number | undefined {\n if (timeoutMs === 0) return MAX_TIMER_DELAY_MS;\n return resolveRequestTimeoutMs(timeoutMs);\n}\n\nexport function createAbortError(reason?: unknown): Error {\n if (reason instanceof Error
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/protocols/abort.ts"],"sourcesContent":["import { fileURLToPath as __adcpFileURLToPath } from 'node:url';\nimport { dirname as __adcpDirname } from 'node:path';\nimport { createRequire as __adcpCreateRequire } from 'node:module';\nconst __dirname = __adcpDirname(__adcpFileURLToPath(import.meta.url));\nconst require = __adcpCreateRequire(import.meta.url);\nexport const DEFAULT_REQUEST_TIMEOUT_MS = 60_000;\nexport const MAX_TIMER_DELAY_MS = 2_147_483_647;\n\nexport function resolveRequestTimeoutMs(timeoutMs: number | undefined, defaultTimeoutMs?: number): number | undefined {\n const resolved = timeoutMs ?? defaultTimeoutMs;\n if (resolved == null) return undefined;\n if (resolved === 0) return undefined;\n if (!Number.isFinite(resolved) || resolved < 0 || resolved > MAX_TIMER_DELAY_MS) {\n throw new RangeError(`requestTimeoutMs must be a finite non-negative number <= ${MAX_TIMER_DELAY_MS}`);\n }\n return resolved;\n}\n\nexport function resolveClientRequestTimeoutMs(timeoutMs: number | undefined): number | undefined {\n if (timeoutMs === 0) return MAX_TIMER_DELAY_MS;\n return resolveRequestTimeoutMs(timeoutMs);\n}\n\nexport function createAbortError(reason?: unknown): Error {\n if (\n reason instanceof Error &&\n (reason.name === 'AbortError' || reason.name === 'TimeoutError' || reason.name === 'TaskTimeoutError')\n ) {\n return reason;\n }\n const error = new Error(reason == null ? 'The operation was aborted' : String(reason));\n error.name = 'AbortError';\n if (reason instanceof Error) {\n (error as Error & { cause?: unknown }).cause = reason;\n error.message = reason.message;\n }\n return error;\n}\n\nexport function createTimeoutError(timeoutMs: number): Error {\n const error = new Error(`Request timed out after ${timeoutMs} ms`);\n error.name = 'TimeoutError';\n return error;\n}\n\nexport function isAbortOrTimeoutError(error: unknown): boolean {\n if (error == null || typeof error !== 'object') return false;\n const value = error as { name?: unknown; code?: unknown };\n if (value.name === 'AbortError' || value.name === 'TimeoutError' || value.name === 'TaskTimeoutError') return true;\n // MCP SDK v1 raises JSON-RPC RequestTimeout (-32001); the v2 packages use\n // the typed SDK error code REQUEST_TIMEOUT. Both represent the same\n // timeout/cancellation boundary and must bypass endpoint fallback.\n return value.code === -32001 || value.code === 'REQUEST_TIMEOUT' || value.code === 'TASK_TIMEOUT';\n}\n\nexport function throwIfAborted(signal?: AbortSignal): void {\n if (signal?.aborted) {\n throw createAbortError(signal.reason);\n }\n}\n\nexport async function withAbortSignal<T>(\n signals: Array<AbortSignal | null | undefined>,\n timeoutMs: number | undefined,\n fn: (signal?: AbortSignal) => Promise<T>,\n options: { timeoutError?: Error } = {}\n): Promise<T> {\n const activeSignals = signals.filter((signal): signal is AbortSignal => signal != null);\n for (const signal of activeSignals) {\n throwIfAborted(signal);\n }\n\n if (timeoutMs == null && activeSignals.length === 0) {\n return fn(undefined);\n }\n\n const controller = new AbortController();\n const abort = (reason?: unknown) => {\n if (!controller.signal.aborted) {\n controller.abort(reason);\n }\n };\n\n const listeners = activeSignals.map(signal => {\n const listener = () => abort(createAbortError(signal.reason));\n signal.addEventListener('abort', listener, { once: true });\n return { signal, listener };\n });\n const timer =\n timeoutMs == null\n ? undefined\n : setTimeout(() => {\n abort(options.timeoutError ?? createTimeoutError(timeoutMs));\n }, timeoutMs);\n\n let rejectOnAbort: ((reason: unknown) => void) | undefined;\n const aborted = new Promise<never>((_resolve, reject) => {\n rejectOnAbort = () => reject(controller.signal.reason ?? createAbortError());\n controller.signal.addEventListener('abort', rejectOnAbort, { once: true });\n });\n\n try {\n // The signal reclaims transports that honor cancellation. The race also\n // guarantees the caller-facing deadline when an intermediate callback or\n // protocol implementation is slow to observe that signal.\n return await Promise.race([fn(controller.signal), aborted]);\n } catch (error) {\n if (controller.signal.aborted) {\n throw controller.signal.reason ?? createAbortError();\n }\n throw error;\n } finally {\n if (timer) clearTimeout(timer);\n if (rejectOnAbort) controller.signal.removeEventListener('abort', rejectOnAbort);\n for (const { signal, listener } of listeners) {\n signal.removeEventListener('abort', listener);\n }\n }\n}\n"],"mappings":"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","names":["require"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -186,7 +186,8 @@ class ProtocolClient {
|
|
|
186
186
|
await (0, import_oauth.ensureClientCredentialsTokens)(agent, {
|
|
187
187
|
storage: ccStorage,
|
|
188
188
|
allowPrivateIp,
|
|
189
|
-
fetch: transport?.fetchFn
|
|
189
|
+
fetch: transport?.fetchFn,
|
|
190
|
+
signal
|
|
190
191
|
});
|
|
191
192
|
}
|
|
192
193
|
const authToken = (0, import_auth.getAuthToken)(agent);
|
|
@@ -252,7 +253,7 @@ class ProtocolClient {
|
|
|
252
253
|
fetchFn: transport?.fetchFn
|
|
253
254
|
});
|
|
254
255
|
} catch (err) {
|
|
255
|
-
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn);
|
|
256
|
+
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn, signal);
|
|
256
257
|
throw err;
|
|
257
258
|
}
|
|
258
259
|
}
|
|
@@ -281,7 +282,8 @@ class ProtocolClient {
|
|
|
281
282
|
storage: ccStorage,
|
|
282
283
|
force: true,
|
|
283
284
|
allowPrivateIp,
|
|
284
|
-
fetch: transport?.fetchFn
|
|
285
|
+
fetch: transport?.fetchFn,
|
|
286
|
+
signal
|
|
285
287
|
});
|
|
286
288
|
const retryAuthToken = agent.oauth_tokens?.access_token ?? authToken;
|
|
287
289
|
try {
|
|
@@ -302,11 +304,11 @@ class ProtocolClient {
|
|
|
302
304
|
}
|
|
303
305
|
);
|
|
304
306
|
} catch (retryErr) {
|
|
305
|
-
await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn);
|
|
307
|
+
await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn, signal);
|
|
306
308
|
throw retryErr;
|
|
307
309
|
}
|
|
308
310
|
}
|
|
309
|
-
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn);
|
|
311
|
+
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn, signal);
|
|
310
312
|
throw err;
|
|
311
313
|
}
|
|
312
314
|
} else if (agent.protocol === "a2a") {
|
|
@@ -333,7 +335,8 @@ class ProtocolClient {
|
|
|
333
335
|
storage: ccStorage,
|
|
334
336
|
force: true,
|
|
335
337
|
allowPrivateIp,
|
|
336
|
-
fetch: transport?.fetchFn
|
|
338
|
+
fetch: transport?.fetchFn,
|
|
339
|
+
signal
|
|
337
340
|
});
|
|
338
341
|
const retryAuthToken = agent.oauth_tokens?.access_token ?? authToken;
|
|
339
342
|
try {
|
|
@@ -352,11 +355,11 @@ class ProtocolClient {
|
|
|
352
355
|
transport?.fetchFn
|
|
353
356
|
);
|
|
354
357
|
} catch (retryErr) {
|
|
355
|
-
await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn);
|
|
358
|
+
await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn, signal);
|
|
356
359
|
throw retryErr;
|
|
357
360
|
}
|
|
358
361
|
}
|
|
359
|
-
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn);
|
|
362
|
+
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn, signal);
|
|
360
363
|
throw err;
|
|
361
364
|
}
|
|
362
365
|
} else {
|
|
@@ -368,11 +371,11 @@ class ProtocolClient {
|
|
|
368
371
|
);
|
|
369
372
|
}
|
|
370
373
|
}
|
|
371
|
-
async function rethrowAsNeedsAuthorization(err, agentUrl, fetchFn) {
|
|
374
|
+
async function rethrowAsNeedsAuthorization(err, agentUrl, fetchFn, signal) {
|
|
372
375
|
if (err instanceof import_oauth.NeedsAuthorizationError) throw err;
|
|
373
376
|
if (!(0, import_errors.is401Error)(err)) return;
|
|
374
377
|
const allowPrivateIp = (0, import_net.isLikelyPrivateUrl)(agentUrl);
|
|
375
|
-
const requirements = await (0, import_oauth.discoverAuthorizationRequirements)(agentUrl, { allowPrivateIp, fetchFn });
|
|
378
|
+
const requirements = await (0, import_oauth.discoverAuthorizationRequirements)(agentUrl, { allowPrivateIp, fetchFn, signal });
|
|
376
379
|
if (requirements) {
|
|
377
380
|
throw new import_oauth.NeedsAuthorizationError(requirements);
|
|
378
381
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/protocols/index.ts"],"sourcesContent":["// Unified Protocol Interface for AdCP\nexport {\n callMCPTool,\n callMCPToolWithOAuth,\n connectMCP,\n closeMCPConnections,\n closeOAuthConnections,\n UnauthorizedError,\n} from './mcp';\n\nimport { closeMCPConnections } from './mcp';\nimport { closeA2AConnections } from './a2a';\n\n/**\n * Close protocol connections for the given protocol.\n * MCP closes persistent HTTP transports; A2A clears the agent-card client cache.\n */\nexport async function closeConnections(protocol: 'mcp' | 'a2a' = 'mcp'): Promise<void> {\n if (protocol === 'mcp') {\n await closeMCPConnections();\n } else {\n closeA2AConnections();\n }\n}\nexport type { MCPCallOptions, MCPConnectionResult } from './mcp';\nexport { callA2ATool } from './a2a';\nexport { DEFAULT_REQUEST_TIMEOUT_MS } from './abort';\nexport {\n callMCPToolWithTasks,\n getMCPTaskStatus,\n getMCPTaskResult,\n listMCPTasks,\n cancelMCPTask,\n mapMCPTaskStatus,\n serverSupportsTasks,\n} from './mcp-tasks';\n\nimport { callMCPToolWithTasks, callMCPToolWithClient } from './mcp-tasks';\nimport { callMCPToolWithOAuth } from './mcp';\nimport { callA2ATool } from './a2a';\nimport type { AgentConfig, DebugLogEntry } from '../types';\nimport type { PushNotificationConfig } from '../types/tools.generated';\nimport { getAuthToken } from '../auth';\nimport {\n discoverAuthorizationRequirements,\n NeedsAuthorizationError,\n getAgentStorage,\n ensureClientCredentialsTokens,\n} from '../auth/oauth';\nimport { getNonInteractiveOAuthProvider } from '../auth/oauth/provider-cache';\nimport { is401Error } from '../errors';\nimport { isLikelyPrivateUrl } from '../net';\nimport { validateAgentUrl } from '../validation';\nimport { withSpan } from '../observability/tracing';\nimport { ADCP_MAJOR_VERSION, ADCP_VERSION, parseAdcpMajorVersion } from '../version';\nimport { ConfigurationError } from '../errors';\nimport { resolveBundleKey, toReleasePrecisionWire, validateAdcpVersionWire } from '../validation/schema-loader';\nimport { buildAgentSigningContext, CAPABILITY_OP, ensureCapabilityLoaded } from '../signing/client';\nimport { withResponseSizeLimit } from './responseSizeLimit';\nimport {\n withTransportDiagnostics,\n type TransportActivityHandler as TransportActivityHandlerFn,\n} from './transportDiagnostics';\n\nexport {\n sanitizeTransportHeaders,\n sanitizeTransportUrl,\n withTransportDiagnostics,\n wrapFetchWithTransportDiagnostics,\n} from './transportDiagnostics';\nexport type { TransportActivity, TransportActivityContext, TransportActivityHandler } from './transportDiagnostics';\n\nexport type VersionEnvelopeMode = 'auto' | 'none' | 'major-only';\n\n/**\n * Derive the wire-level `adcp_major_version` integer from a caller-supplied\n * pin. Returns the SDK default when no pin is provided; throws on a pin\n * that doesn't parse so misuse surfaces at the factory boundary instead\n * of silently emitting the SDK's major.\n *\n * Throws `ConfigurationError` (not a plain `Error`) so a typo'd pin\n * surfaces with the same error class as the construction-time gate in\n * `resolveAdcpVersion` — one shape for all pin-misuse paths.\n */\nfunction resolveWireMajor(adcpVersion: string | undefined): number {\n if (adcpVersion === undefined) return ADCP_MAJOR_VERSION;\n const parsed = parseAdcpMajorVersion(adcpVersion);\n if (!Number.isFinite(parsed)) {\n throw new ConfigurationError(\n `adcpVersion ${JSON.stringify(adcpVersion)} is not a valid AdCP version. ` +\n `Expected a semver string (e.g. '3.0.1', '3.1.0-beta.1') or a legacy alias (e.g. 'v3').`,\n 'adcpVersion'\n );\n }\n return parsed;\n}\n\n/**\n * Returns true when the AdCP release that `bundleKey` identifies declares the\n * top-level `adcp_version` envelope field. The field landed in AdCP 3.1 per\n * spec PR `adcontextprotocol/adcp#3493` — 3.0 (any patch / prerelease) does\n * not carry it; 3.1+ does. Used to gate dual-emit on the wire so a 3.0-pinned\n * client doesn't emit a field its target schema doesn't define.\n */\nexport function bundleSupportsAdcpVersionField(bundleKey: string): boolean {\n const major = parseAdcpMajorVersion(bundleKey);\n if (!Number.isFinite(major)) return false;\n if (major < 3) return false;\n if (major > 3) return true;\n // Major 3 — only 3.1+ has the field. Bundle key shape is normalized by\n // `resolveBundleKey`: `'3.0'` / `'3.1'` for stable; `'3.0.0-beta.1'` /\n // `'3.1.0-beta.1'` for prereleases. Match the minor.\n const minorMatch = bundleKey.match(/^\\d+\\.(\\d+)/);\n if (!minorMatch) return false;\n return parseInt(minorMatch[1]!, 10) >= 1;\n}\n\n/**\n * Build the wire-level version envelope to merge into outgoing request args.\n *\n * Per AdCP 3.1 (spec PR `adcontextprotocol/adcp#3493`), 3.1+ requests carry\n * BOTH the integer `adcp_major_version` (deprecated through 3.x, removed in\n * 4.0) AND the release-precision string `adcp_version`. 3.0 schemas don't\n * define the string field, so a 3.0-pinned client emits the integer only —\n * matches the 3.0 spec exactly.\n *\n * Wire string is release-precision (MAJOR.MINOR with optional prerelease tag),\n * per `core/version-envelope.json`'s pattern `^\\d+\\.\\d+(-[a-zA-Z0-9.-]+)?$`.\n * Full-semver bundle keys (`'3.1.0-beta.1'`) are collapsed via\n * `toReleasePrecisionWire` to `'3.1-beta.1'` before emit — meta-field shapes\n * are explicitly NOT valid wire values per the envelope schema's own\n * normalization rule.\n *\n * Returns `{}` for v2 callers (predates the major-version field entirely).\n */\nfunction buildVersionEnvelope(\n adcpVersion: string | undefined,\n serverVersion: 'v2' | 'v3' | undefined\n): Record<string, unknown> {\n if (serverVersion === 'v2') return {};\n const wireMajor = resolveWireMajor(adcpVersion);\n const bundleKey = resolveBundleKey(adcpVersion ?? ADCP_VERSION);\n if (!bundleSupportsAdcpVersionField(bundleKey)) {\n return { adcp_major_version: wireMajor };\n }\n const wireValue = toReleasePrecisionWire(bundleKey);\n // Defensive postcondition — should never throw in well-formed code, but\n // if a future refactor breaks the normalization the error message tells\n // the developer to call `toReleasePrecisionWire` instead of silently\n // emitting a non-spec wire string.\n validateAdcpVersionWire(wireValue);\n return { adcp_major_version: wireMajor, adcp_version: wireValue };\n}\n\nlet hasWarnedAboutV2PushNotificationSecret = false;\n\n/**\n * Warn once when an async webhook registration is suppressed for a v2 seller.\n *\n * v2.5's `push-notification-config.json` requires `authentication`, and unlike\n * 3.x it has no RFC 9421 selector semantics — so omitting the block produces a\n * schema-invalid request rather than choosing a signing mode. Without a\n * configured secret there is no honest value to send, and the previous\n * behaviour (a hardcoded placeholder credential) told the seller the channel\n * was authenticated by a constant published in this package.\n */\nfunction warnV2PushNotificationNeedsSecret(): void {\n if (hasWarnedAboutV2PushNotificationSecret) return;\n hasWarnedAboutV2PushNotificationSecret = true;\n console.warn(\n '[adcp] Suppressing push_notification_config for a v2 seller: AdCP 2.5 requires an ' +\n '`authentication` block and no `webhookSecret` is configured. Set `webhookSecret` to register ' +\n 'async task-status webhooks with this agent, or move the agent to an AdCP 3.x pin, where the ' +\n 'RFC 9421 webhook profile needs no shared secret.'\n );\n}\n\nfunction buildVersionEnvelopeForMode(\n mode: VersionEnvelopeMode,\n adcpVersion: string | undefined,\n serverVersion: 'v2' | 'v3' | undefined\n): Record<string, unknown> {\n if (mode === 'none' || serverVersion === 'v2') return {};\n if (mode === 'major-only') return { adcp_major_version: resolveWireMajor(adcpVersion) };\n return buildVersionEnvelope(adcpVersion, serverVersion);\n}\n\n/**\n * Merge the wire-level version envelope into a caller-supplied args object.\n * Caller args win: an explicit `adcp_major_version` / `adcp_version` in\n * `args` (e.g. a conformance harness probing `VERSION_UNSUPPORTED`) passes\n * through unchanged. The envelope only fills fields the caller didn't set.\n *\n * Single chokepoint for all four wire-injection sites so a future refactor\n * can't silently flip the spread order on one branch and leave the others\n * intact. Stale dual-field drift is caught at the server boundary by\n * `createAdcpServer`'s field-disagreement check (spec PR\n * `adcontextprotocol/adcp#3493`).\n *\n * @internal\n */\nexport function applyVersionEnvelope(\n args: Record<string, unknown>,\n envelope: Record<string, unknown>\n): Record<string, unknown> {\n return { ...envelope, ...args };\n}\n\n/**\n * Transport-level safeguards applied to a call.\n *\n * Wired into the SDK's internal fetch chain via AsyncLocalStorage, so the\n * cap takes effect even when the underlying transport's connection cache\n * reuses a fetch that was created on an earlier call with different limits.\n */\nexport interface TransportOptions {\n /**\n * Maximum response body size (in octets) the SDK will read before aborting\n * with `ResponseTooLargeError`. When unset, the SDK does not impose a cap —\n * matches the underlying MCP / A2A transport defaults.\n *\n * Set this when crawling **untrusted** agents (registries, federated\n * discovery layers, monitoring tools) to prevent a hostile vendor from\n * buffering a large reply before any application-layer schema validation\n * runs. Counted across response chunks; pre-cancels when `Content-Length`\n * exceeds the cap. Applies to A2A agent-card discovery\n * (`/.well-known/agent.json`) on the same call as well.\n *\n * Per-call override (`TaskOptions.transport.maxResponseBytes`) beats the\n * value set on the client constructor (`SingleAgentClientConfig.transport`).\n *\n * @remarks\n * **Safe to set on all calls.** SSE responses (`text/event-stream`) are\n * passed through unchanged — a single tool call legitimately emits N status\n * frames + a final result, bounded by protocol-level framing rather than\n * cumulative byte counts. The cap applies to one-shot JSON responses\n * (`get_adcp_capabilities`, agent-card lookup, tool result payloads on\n * non-streaming transports) where the body is bounded by definition.\n *\n * @remarks\n * **Hostile-peer note:** A peer can opt itself out of this cap by responding\n * with `Content-Type: text/event-stream`. SSE is bypassed because cumulative\n * event-frame bytes are unbounded by spec — MCP and A2A both stream tool\n * responses this way. The MCP/A2A SDKs consume SSE incrementally and frame\n * termination bounds memory in practice, so this is not a memory-bomb risk\n * for well-formed transports. Adopters relying on `maxResponseBytes` as a\n * hostile-server defense should treat it as best-effort for non-SSE\n * responses only.\n *\n * @remarks\n * Future hardening knobs (DNS-rebind defense, scheme allow-list, request\n * timeout overrides) will land here as additional fields. When `fetchFn`\n * is supplied, the SDK composes it inside its signing, capture, size-limit,\n * timeout, and diagnostics wrappers so callers do not have to reproduce\n * that non-obvious ordering themselves.\n */\n maxResponseBytes?: number;\n /**\n * Scoped fetch implementation for all outbound HTTP performed on behalf of\n * this client or call, including endpoint/card discovery, tool listing,\n * OAuth discovery and token refresh, and MCP/A2A tool requests.\n *\n * The function is runtime-only configuration and is never serialized into\n * agent records, storyboard artifacts, or compliance output. When unset,\n * the SDK uses the global `fetch` implementation.\n *\n * For SSRF-sensitive metadata probes, supplying this function makes it the\n * trusted network boundary: the SDK still validates schemes and resolved\n * addresses, but a custom fetch API cannot accept the SDK's pinned undici\n * dispatcher. The implementation must therefore prevent DNS rebinding (for\n * example with an egress proxy or its own DNS pinning).\n */\n fetchFn?: typeof fetch;\n /**\n * Timeout in milliseconds for bounded one-shot transport requests such as\n * A2A agent-card discovery and MCP read-path probes. Defaults to 60 seconds\n * for A2A discovery so an unresponsive card endpoint cannot hang forever.\n * Set to `0` to disable the SDK-imposed discovery timeout.\n */\n requestTimeoutMs?: number;\n}\n\n/**\n * Options for {@link ProtocolClient.callTool}. All fields are optional.\n *\n * `webhookUrl` / `webhookSecret` / `webhookToken` are for ASYNC TASK STATUS\n * notifications (push_notification_config). For reporting webhooks\n * (reporting_webhook), include them directly in `args` — they stay in skill\n * parameters and are sent verbatim to the agent.\n */\nexport interface CallToolOptions {\n /** Debug log array. Mutated in place by the protocol layer. */\n debugLogs?: DebugLogEntry[];\n /** URL for async task status notifications. */\n webhookUrl?: string;\n /** HMAC-SHA256 secret for push_notification_config authentication. */\n webhookSecret?: string;\n /** Bearer token for push_notification_config validation. */\n webhookToken?: string;\n /** Pinned protocol generation when the agent advertises both v2 and v3. */\n serverVersion?: 'v2' | 'v3';\n /** A2A session continuity (contextId carries conversation, taskId resumes a task). */\n session?: { contextId?: string; taskId?: string };\n /**\n * AdCP version pin from the calling client/server instance. Sets the\n * wire-level `adcp_major_version` field per-call instead of from the\n * SDK-pinned `ADCP_MAJOR_VERSION` constant. Default falls back to the\n * constant so call sites that don't plumb a per-instance version keep\n * their existing behavior. An explicit `adcp_major_version` /\n * `adcp_version` in `args` overrides this — conformance harnesses use\n * that path to probe seller version negotiation.\n */\n adcpVersion?: string;\n /**\n * Optional wire-only version override. Schema selection and client\n * construction can remain pinned to `adcpVersion`; the request envelope is\n * emitted for this release-precision line.\n */\n wireAdcpVersion?: string;\n /**\n * Controls whether the SDK injects AdCP version envelope fields into the\n * outgoing request. Defaults to `auto`. 3.0 pins emit only the legacy\n * `adcp_major_version`; 3.1+ pins emit both the legacy major and exact\n * `adcp_version` marker. `major-only` forces the legacy integer marker\n * without the 3.1 string marker for strict pre-3.1 peers discovered at\n * runtime.\n */\n versionEnvelope?: VersionEnvelopeMode;\n /**\n * Transport-level safeguards (size caps, etc.). Per-call override of any\n * matching field on the client constructor's `transport` option.\n */\n transport?: TransportOptions;\n /** Caller-owned cancellation signal for the in-flight protocol call. */\n signal?: AbortSignal;\n /** Transport-level diagnostics callback for outbound HTTP requests. */\n onTransportActivity?: TransportActivityHandlerFn;\n /**\n * Correlation metadata attached to transport diagnostics events emitted\n * while this protocol call is active.\n */\n transportActivityContext?: {\n operationId?: string;\n taskId?: string;\n contextId?: string;\n idempotencyKey?: string;\n };\n}\n\n/**\n * Universal protocol client - automatically routes to the correct protocol implementation\n */\nexport class ProtocolClient {\n /**\n * Call a tool on an agent using the appropriate protocol.\n *\n * @param agent - Agent configuration\n * @param toolName - Name of the tool/skill to call\n * @param args - Tool arguments (includes reporting_webhook if needed - NOT removed)\n * @param options - Optional call-level configuration. See {@link CallToolOptions}.\n */\n static async callTool(\n agent: AgentConfig,\n toolName: string,\n args: Record<string, unknown>,\n options: CallToolOptions = {}\n ): Promise<unknown> {\n const {\n debugLogs = [],\n webhookUrl,\n webhookSecret,\n webhookToken,\n serverVersion,\n session,\n adcpVersion,\n wireAdcpVersion,\n versionEnvelope: versionEnvelopeMode = 'auto',\n transport,\n signal,\n onTransportActivity,\n transportActivityContext,\n } = options;\n // Per-instance version envelope. Throws on unparseable pins via\n // `resolveWireMajor`; construction-time `resolveAdcpVersion` is the\n // primary gate but this is the failsafe for callers reaching\n // `ProtocolClient.callTool` directly (test harnesses, the in-process\n // MCP path). Returns `{ adcp_major_version }` for 3.0 pins and\n // `{ adcp_major_version, adcp_version }` for 3.1+ pins.\n const versionEnvelope = buildVersionEnvelopeForMode(\n versionEnvelopeMode,\n wireAdcpVersion ?? adcpVersion,\n serverVersion\n );\n // Enter the response-size-limit ALS slot once for this call. The slot is\n // read by `wrapFetchWithSizeLimit` in both protocol transports, so the\n // cap applies regardless of which path (MCP / A2A / OAuth refresh) the\n // call ends up taking. No-op when the cap is unset or non-positive.\n return withResponseSizeLimit(transport?.maxResponseBytes, () =>\n withTransportDiagnostics(\n {\n agentId: agent.id,\n protocol: agent.protocol,\n tool: toolName,\n taskType: toolName,\n ...transportActivityContext,\n onTransportActivity,\n },\n () =>\n withSpan(\n `adcp.${agent.protocol}.call_tool`,\n {\n 'adcp.agent_id': agent.id,\n 'adcp.protocol': agent.protocol,\n 'adcp.tool': toolName,\n 'http.url': agent.agent_uri,\n },\n async () => {\n // In-process MCP path: pre-connected client, no HTTP transport.\n // Idempotency injection, schema validation, and governance middleware all\n // still apply (they run in SingleAgentClient above this call). We skip\n // URL validation, OAuth refresh, and signing — none apply in-process.\n if (agent.protocol === 'mcp' && agent._inProcessMcpClient) {\n const inProcArgs = applyVersionEnvelope(args, versionEnvelope);\n return callMCPToolWithClient(agent._inProcessMcpClient, toolName, inProcArgs, debugLogs, {\n ...(signal && { signal }),\n ...(transport?.requestTimeoutMs !== undefined && { requestTimeoutMs: transport.requestTimeoutMs }),\n });\n }\n\n validateAgentUrl(agent.agent_uri);\n\n // OAuth 2.0 client credentials (RFC 6749 §4.4): re-exchange the\n // secret for a fresh access token whenever the cached one is within\n // its expiration skew. Runs before every call so mid-session expiry\n // can't leave the caller with a stale bearer. No-op if the agent\n // doesn't declare client credentials. Cheap on warm cache (single\n // `Date.now()` compare); a single POST to the token endpoint on miss.\n //\n // `allowPrivateIp` inherits the trust the caller already placed in\n // `agent.agent_uri` — if they're making a call to a private-IP agent,\n // they've authorized this process to talk to private-IP hosts, so\n // the token endpoint on the same network is reachable too. Public\n // agent URLs with private-IP token endpoints still require an\n // explicit opt-in via the library API.\n if (agent.oauth_client_credentials) {\n const ccStorage = getAgentStorage(agent);\n const allowPrivateIp = isLikelyPrivateUrl(agent.agent_uri);\n await ensureClientCredentialsTokens(agent, {\n storage: ccStorage,\n allowPrivateIp,\n fetch: transport?.fetchFn,\n });\n }\n\n const authToken = getAuthToken(agent);\n\n // RFC 9421 signing context. Built once per call and passed through\n // to each protocol-layer entry (`callMCPToolWithTasks`, `callA2ATool`,\n // `callMCPToolWithOAuth`) — those entries seed `signingContextStorage`\n // (AsyncLocalStorage) so the internal transport helpers read it\n // without an explicit parameter. Keep the explicit arg here: it's the\n // ALS seed, not incidental plumbing. `get_adcp_capabilities` is\n // exempt from signing (it's the discovery call itself) and also\n // triggers cache priming for any other op on agents with\n // `request_signing` configured.\n const signingContext = buildAgentSigningContext(agent);\n if (signingContext && toolName !== CAPABILITY_OP) {\n await ensureCapabilityLoaded(agent, signingContext, primeArgs =>\n ProtocolClient.callTool(agent, CAPABILITY_OP, primeArgs, {\n debugLogs,\n serverVersion,\n adcpVersion,\n ...(versionEnvelopeMode !== 'auto' && { versionEnvelope: versionEnvelopeMode }),\n transport,\n signal,\n ...(transport?.requestTimeoutMs !== undefined && { requestTimeoutMs: transport.requestTimeoutMs }),\n onTransportActivity,\n transportActivityContext,\n })\n );\n }\n\n // Inject the version envelope on every request so sellers can validate\n // compatibility. Skip for v2 servers — they don't recognise the\n // version fields and strict-schema agents reject them. The envelope\n // shape is per-pin: 3.0 pins get the integer `adcp_major_version`\n // alone; 3.1+ pins get both that and the release-precision string\n // `adcp_version` (`'3.1'` / `'3.1.0-beta.1'`) per spec PR\n // `adcontextprotocol/adcp#3493`.\n const argsWithVersion = applyVersionEnvelope(args, versionEnvelope);\n\n // Build push_notification_config for ASYNC TASK STATUS notifications\n // (NOT for reporting_webhook - that stays in args)\n // Schema: https://adcontextprotocol.org/schemas/v1/core/push-notification-config.json\n // `authentication` is a scheme SELECTOR, not a fallback: from AdCP\n // 3.0 on, push-notification-config.json makes its presence opt the\n // seller into legacy HMAC-SHA256 and its absence select the RFC\n // 9421 webhook profile, with `required: [\"url\"]` only. Emitting it\n // with a placeholder credential would therefore downgrade every\n // webhook to legacy HMAC keyed by a constant that ships in this\n // file, so the block is omitted unless a real secret backs it.\n //\n // v2.5 predates the selector: there `required` is\n // `[\"url\", \"authentication\"]` and there is no 9421 path, so an\n // omitted block is schema-invalid rather than a mode selection.\n // With no secret there is nothing honest to send a v2 seller, so\n // suppress the registration instead of fabricating a credential.\n const pushNotificationConfig: PushNotificationConfig | undefined = (():\n | PushNotificationConfig\n | undefined => {\n if (!webhookUrl) return undefined;\n if (webhookSecret) {\n return {\n url: webhookUrl,\n ...(webhookToken && { token: webhookToken }),\n authentication: {\n schemes: ['HMAC-SHA256' as const],\n credentials: webhookSecret,\n },\n };\n }\n if (serverVersion === 'v2') {\n warnV2PushNotificationNeedsSecret();\n return undefined;\n }\n return {\n url: webhookUrl,\n ...(webhookToken && { token: webhookToken }),\n };\n })();\n\n if (agent.protocol === 'mcp') {\n // For MCP, include push_notification_config in tool arguments (MCP spec)\n const argsWithWebhook = pushNotificationConfig\n ? { ...argsWithVersion, push_notification_config: pushNotificationConfig }\n : argsWithVersion;\n\n // If the agent config carries authorization-code OAuth tokens,\n // route through the OAuth provider path so the MCP SDK can refresh\n // on 401 instead of hard-failing. Excludes client-credentials\n // agents: they have a cached access token but no refresh_token,\n // and their refresh path is a secret re-exchange (handled above),\n // not the SDK's refresh_token grant.\n if (agent.oauth_tokens && !agent.oauth_client_credentials) {\n const authProvider = getNonInteractiveOAuthProvider(agent, {\n agentHint: agent.id,\n storage: getAgentStorage(agent),\n allowHttp: isLikelyPrivateUrl(agent.agent_uri),\n });\n try {\n return await callMCPToolWithOAuth({\n agentUrl: agent.agent_uri,\n toolName,\n args: argsWithWebhook,\n authProvider,\n debugLogs,\n customHeaders: agent.headers,\n signingContext,\n signal,\n requestTimeoutMs: transport?.requestTimeoutMs,\n fetchFn: transport?.fetchFn,\n });\n } catch (err) {\n // Refresh failed or server rejected the refreshed token — walk the\n // discovery chain so the caller can distinguish \"re-auth needed\"\n // from other failure modes.\n await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn);\n throw err;\n }\n }\n\n // Use callMCPToolWithTasks which auto-detects server tasks capability\n // and falls back to standard callTool when tasks are not supported\n try {\n return await callMCPToolWithTasks(\n agent.agent_uri,\n toolName,\n argsWithWebhook,\n authToken,\n debugLogs,\n agent.headers,\n {\n ...(signingContext && { signingContext }),\n ...(signal && { signal }),\n ...(transport?.requestTimeoutMs !== undefined && {\n requestTimeoutMs: transport.requestTimeoutMs,\n }),\n ...(transport?.fetchFn && { fetchFn: transport.fetchFn }),\n }\n );\n } catch (err) {\n // Client-credentials agents: on 401, the AS may have rotated\n // something out-of-band. Force a fresh exchange and retry once\n // before surfacing the error. Bounded (single retry) so we don't\n // loop if the credentials are genuinely wrong.\n if (agent.oauth_client_credentials && is401Error(err)) {\n const ccStorage = getAgentStorage(agent);\n const allowPrivateIp = isLikelyPrivateUrl(agent.agent_uri);\n await ensureClientCredentialsTokens(agent, {\n storage: ccStorage,\n force: true,\n allowPrivateIp,\n fetch: transport?.fetchFn,\n });\n const retryAuthToken = agent.oauth_tokens?.access_token ?? authToken;\n try {\n return await callMCPToolWithTasks(\n agent.agent_uri,\n toolName,\n argsWithWebhook,\n retryAuthToken,\n debugLogs,\n agent.headers,\n {\n ...(signingContext && { signingContext }),\n ...(signal && { signal }),\n ...(transport?.requestTimeoutMs !== undefined && {\n requestTimeoutMs: transport.requestTimeoutMs,\n }),\n ...(transport?.fetchFn && { fetchFn: transport.fetchFn }),\n }\n );\n } catch (retryErr) {\n await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn);\n throw retryErr;\n }\n }\n await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn);\n throw err;\n }\n } else if (agent.protocol === 'a2a') {\n // For A2A, pass pushNotificationConfig separately (not in skill parameters)\n try {\n return await callA2ATool(\n agent.agent_uri,\n toolName,\n argsWithVersion,\n authToken,\n debugLogs,\n pushNotificationConfig,\n agent.headers,\n signingContext,\n session,\n signal,\n transport?.requestTimeoutMs,\n transport?.fetchFn\n );\n } catch (err) {\n // Same single-retry-on-401 for client-credentials agents as the\n // MCP path above. Kept symmetric so A2A CC agents aren't a\n // second-class experience — including the NeedsAuthorizationError\n // rewrap on a retry that still 401s.\n if (agent.oauth_client_credentials && is401Error(err)) {\n const ccStorage = getAgentStorage(agent);\n const allowPrivateIp = isLikelyPrivateUrl(agent.agent_uri);\n await ensureClientCredentialsTokens(agent, {\n storage: ccStorage,\n force: true,\n allowPrivateIp,\n fetch: transport?.fetchFn,\n });\n const retryAuthToken = agent.oauth_tokens?.access_token ?? authToken;\n try {\n return await callA2ATool(\n agent.agent_uri,\n toolName,\n argsWithVersion,\n retryAuthToken,\n debugLogs,\n pushNotificationConfig,\n agent.headers,\n signingContext,\n session,\n signal,\n transport?.requestTimeoutMs,\n transport?.fetchFn\n );\n } catch (retryErr) {\n await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn);\n throw retryErr;\n }\n }\n await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn);\n throw err;\n }\n } else {\n throw new Error(`Unsupported protocol: ${agent.protocol}`);\n }\n }\n )\n )\n );\n }\n}\n\n/**\n * If `err` looks like a 401 from the MCP transport, probe the agent for a\n * Bearer challenge and throw a {@link NeedsAuthorizationError} carrying\n * walked discovery metadata. If the error isn't a 401 or we can't build a\n * requirements record, return silently so the caller re-throws the original.\n *\n * Keeping this off the hot path: we only probe on error, and the probe is\n * a single unauthenticated `tools/list` POST — no retries, no DNS rebind.\n */\nasync function rethrowAsNeedsAuthorization(err: unknown, agentUrl: string, fetchFn?: typeof fetch): Promise<void> {\n if (err instanceof NeedsAuthorizationError) throw err;\n if (!is401Error(err)) return;\n\n // If the caller has already connected to the agent URL, they've implicitly\n // trusted it — inherit that trust for the discovery probe so loopback /\n // private-IP development agents work the same way as public ones.\n const allowPrivateIp = isLikelyPrivateUrl(agentUrl);\n\n // discoverAuthorizationRequirements internally catches network failures and\n // returns null rather than throwing — anything that escapes is a genuine\n // bug we want to surface rather than mask the 401 with.\n const requirements = await discoverAuthorizationRequirements(agentUrl, { allowPrivateIp, fetchFn });\n if (requirements) {\n throw new NeedsAuthorizationError(requirements);\n }\n // No requirements walked; let the caller re-throw the original error.\n}\n\n/**\n * Simple factory functions for protocol-specific clients.\n *\n * Both factories accept a `transport` argument that flows through to the\n * size-cap surface so callers reaching the factory exports honor the same\n * `maxResponseBytes` contract as `ProtocolClient.callTool`. Without it,\n * the factories would silently bypass the cap, which the public API\n * (`TransportOptions`) implies they honor.\n */\nexport const createMCPClient = (\n agentUrl: string,\n authToken?: string,\n headers?: Record<string, string>,\n serverVersion?: 'v2' | 'v3',\n adcpVersion?: string,\n transport?: TransportOptions,\n versionEnvelopeMode: VersionEnvelopeMode = 'auto'\n) => {\n // Validate the pin at factory time so a typo surfaces here rather than at\n // first call. `buildVersionEnvelope` throws via `resolveWireMajor` on bad\n // input — call it once to surface, then close over the envelope.\n const versionEnvelope = buildVersionEnvelopeForMode(versionEnvelopeMode, adcpVersion, serverVersion);\n return {\n callTool: (toolName: string, args: Record<string, unknown>, debugLogs?: DebugLogEntry[]) =>\n withResponseSizeLimit(transport?.maxResponseBytes, () =>\n callMCPToolWithTasks(\n agentUrl,\n toolName,\n applyVersionEnvelope(args, versionEnvelope),\n authToken,\n debugLogs,\n headers,\n {\n ...(transport?.requestTimeoutMs !== undefined && { requestTimeoutMs: transport.requestTimeoutMs }),\n ...(transport?.fetchFn && { fetchFn: transport.fetchFn }),\n }\n )\n ),\n };\n};\n\nexport const createA2AClient = (\n agentUrl: string,\n authToken?: string,\n headers?: Record<string, string>,\n serverVersion?: 'v2' | 'v3',\n adcpVersion?: string,\n transport?: TransportOptions,\n versionEnvelopeMode: VersionEnvelopeMode = 'auto'\n) => {\n const versionEnvelope = buildVersionEnvelopeForMode(versionEnvelopeMode, adcpVersion, serverVersion);\n return {\n callTool: (toolName: string, parameters: Record<string, unknown>, debugLogs?: DebugLogEntry[]) =>\n withResponseSizeLimit(transport?.maxResponseBytes, () =>\n callA2ATool(\n agentUrl,\n toolName,\n applyVersionEnvelope(parameters, versionEnvelope),\n authToken,\n debugLogs,\n undefined,\n headers,\n undefined,\n undefined,\n undefined,\n transport?.requestTimeoutMs,\n transport?.fetchFn\n )\n ),\n };\n};\n"],"mappings":"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","names":["import_mcp","import_a2a","import_mcp_tasks","import_errors","import_transportDiagnostics"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/protocols/index.ts"],"sourcesContent":["// Unified Protocol Interface for AdCP\nexport {\n callMCPTool,\n callMCPToolWithOAuth,\n connectMCP,\n closeMCPConnections,\n closeOAuthConnections,\n UnauthorizedError,\n} from './mcp';\n\nimport { closeMCPConnections } from './mcp';\nimport { closeA2AConnections } from './a2a';\n\n/**\n * Close protocol connections for the given protocol.\n * MCP closes persistent HTTP transports; A2A clears the agent-card client cache.\n */\nexport async function closeConnections(protocol: 'mcp' | 'a2a' = 'mcp'): Promise<void> {\n if (protocol === 'mcp') {\n await closeMCPConnections();\n } else {\n closeA2AConnections();\n }\n}\nexport type { MCPCallOptions, MCPConnectionResult } from './mcp';\nexport { callA2ATool } from './a2a';\nexport { DEFAULT_REQUEST_TIMEOUT_MS } from './abort';\nexport {\n callMCPToolWithTasks,\n getMCPTaskStatus,\n getMCPTaskResult,\n listMCPTasks,\n cancelMCPTask,\n mapMCPTaskStatus,\n serverSupportsTasks,\n} from './mcp-tasks';\n\nimport { callMCPToolWithTasks, callMCPToolWithClient } from './mcp-tasks';\nimport { callMCPToolWithOAuth } from './mcp';\nimport { callA2ATool } from './a2a';\nimport type { AgentConfig, DebugLogEntry } from '../types';\nimport type { PushNotificationConfig } from '../types/tools.generated';\nimport { getAuthToken } from '../auth';\nimport {\n discoverAuthorizationRequirements,\n NeedsAuthorizationError,\n getAgentStorage,\n ensureClientCredentialsTokens,\n} from '../auth/oauth';\nimport { getNonInteractiveOAuthProvider } from '../auth/oauth/provider-cache';\nimport { is401Error } from '../errors';\nimport { isLikelyPrivateUrl } from '../net';\nimport { validateAgentUrl } from '../validation';\nimport { withSpan } from '../observability/tracing';\nimport { ADCP_MAJOR_VERSION, ADCP_VERSION, parseAdcpMajorVersion } from '../version';\nimport { ConfigurationError } from '../errors';\nimport { resolveBundleKey, toReleasePrecisionWire, validateAdcpVersionWire } from '../validation/schema-loader';\nimport { buildAgentSigningContext, CAPABILITY_OP, ensureCapabilityLoaded } from '../signing/client';\nimport { withResponseSizeLimit } from './responseSizeLimit';\nimport {\n withTransportDiagnostics,\n type TransportActivityHandler as TransportActivityHandlerFn,\n} from './transportDiagnostics';\n\nexport {\n sanitizeTransportHeaders,\n sanitizeTransportUrl,\n withTransportDiagnostics,\n wrapFetchWithTransportDiagnostics,\n} from './transportDiagnostics';\nexport type { TransportActivity, TransportActivityContext, TransportActivityHandler } from './transportDiagnostics';\n\nexport type VersionEnvelopeMode = 'auto' | 'none' | 'major-only';\n\n/**\n * Derive the wire-level `adcp_major_version` integer from a caller-supplied\n * pin. Returns the SDK default when no pin is provided; throws on a pin\n * that doesn't parse so misuse surfaces at the factory boundary instead\n * of silently emitting the SDK's major.\n *\n * Throws `ConfigurationError` (not a plain `Error`) so a typo'd pin\n * surfaces with the same error class as the construction-time gate in\n * `resolveAdcpVersion` — one shape for all pin-misuse paths.\n */\nfunction resolveWireMajor(adcpVersion: string | undefined): number {\n if (adcpVersion === undefined) return ADCP_MAJOR_VERSION;\n const parsed = parseAdcpMajorVersion(adcpVersion);\n if (!Number.isFinite(parsed)) {\n throw new ConfigurationError(\n `adcpVersion ${JSON.stringify(adcpVersion)} is not a valid AdCP version. ` +\n `Expected a semver string (e.g. '3.0.1', '3.1.0-beta.1') or a legacy alias (e.g. 'v3').`,\n 'adcpVersion'\n );\n }\n return parsed;\n}\n\n/**\n * Returns true when the AdCP release that `bundleKey` identifies declares the\n * top-level `adcp_version` envelope field. The field landed in AdCP 3.1 per\n * spec PR `adcontextprotocol/adcp#3493` — 3.0 (any patch / prerelease) does\n * not carry it; 3.1+ does. Used to gate dual-emit on the wire so a 3.0-pinned\n * client doesn't emit a field its target schema doesn't define.\n */\nexport function bundleSupportsAdcpVersionField(bundleKey: string): boolean {\n const major = parseAdcpMajorVersion(bundleKey);\n if (!Number.isFinite(major)) return false;\n if (major < 3) return false;\n if (major > 3) return true;\n // Major 3 — only 3.1+ has the field. Bundle key shape is normalized by\n // `resolveBundleKey`: `'3.0'` / `'3.1'` for stable; `'3.0.0-beta.1'` /\n // `'3.1.0-beta.1'` for prereleases. Match the minor.\n const minorMatch = bundleKey.match(/^\\d+\\.(\\d+)/);\n if (!minorMatch) return false;\n return parseInt(minorMatch[1]!, 10) >= 1;\n}\n\n/**\n * Build the wire-level version envelope to merge into outgoing request args.\n *\n * Per AdCP 3.1 (spec PR `adcontextprotocol/adcp#3493`), 3.1+ requests carry\n * BOTH the integer `adcp_major_version` (deprecated through 3.x, removed in\n * 4.0) AND the release-precision string `adcp_version`. 3.0 schemas don't\n * define the string field, so a 3.0-pinned client emits the integer only —\n * matches the 3.0 spec exactly.\n *\n * Wire string is release-precision (MAJOR.MINOR with optional prerelease tag),\n * per `core/version-envelope.json`'s pattern `^\\d+\\.\\d+(-[a-zA-Z0-9.-]+)?$`.\n * Full-semver bundle keys (`'3.1.0-beta.1'`) are collapsed via\n * `toReleasePrecisionWire` to `'3.1-beta.1'` before emit — meta-field shapes\n * are explicitly NOT valid wire values per the envelope schema's own\n * normalization rule.\n *\n * Returns `{}` for v2 callers (predates the major-version field entirely).\n */\nfunction buildVersionEnvelope(\n adcpVersion: string | undefined,\n serverVersion: 'v2' | 'v3' | undefined\n): Record<string, unknown> {\n if (serverVersion === 'v2') return {};\n const wireMajor = resolveWireMajor(adcpVersion);\n const bundleKey = resolveBundleKey(adcpVersion ?? ADCP_VERSION);\n if (!bundleSupportsAdcpVersionField(bundleKey)) {\n return { adcp_major_version: wireMajor };\n }\n const wireValue = toReleasePrecisionWire(bundleKey);\n // Defensive postcondition — should never throw in well-formed code, but\n // if a future refactor breaks the normalization the error message tells\n // the developer to call `toReleasePrecisionWire` instead of silently\n // emitting a non-spec wire string.\n validateAdcpVersionWire(wireValue);\n return { adcp_major_version: wireMajor, adcp_version: wireValue };\n}\n\nlet hasWarnedAboutV2PushNotificationSecret = false;\n\n/**\n * Warn once when an async webhook registration is suppressed for a v2 seller.\n *\n * v2.5's `push-notification-config.json` requires `authentication`, and unlike\n * 3.x it has no RFC 9421 selector semantics — so omitting the block produces a\n * schema-invalid request rather than choosing a signing mode. Without a\n * configured secret there is no honest value to send, and the previous\n * behaviour (a hardcoded placeholder credential) told the seller the channel\n * was authenticated by a constant published in this package.\n */\nfunction warnV2PushNotificationNeedsSecret(): void {\n if (hasWarnedAboutV2PushNotificationSecret) return;\n hasWarnedAboutV2PushNotificationSecret = true;\n console.warn(\n '[adcp] Suppressing push_notification_config for a v2 seller: AdCP 2.5 requires an ' +\n '`authentication` block and no `webhookSecret` is configured. Set `webhookSecret` to register ' +\n 'async task-status webhooks with this agent, or move the agent to an AdCP 3.x pin, where the ' +\n 'RFC 9421 webhook profile needs no shared secret.'\n );\n}\n\nfunction buildVersionEnvelopeForMode(\n mode: VersionEnvelopeMode,\n adcpVersion: string | undefined,\n serverVersion: 'v2' | 'v3' | undefined\n): Record<string, unknown> {\n if (mode === 'none' || serverVersion === 'v2') return {};\n if (mode === 'major-only') return { adcp_major_version: resolveWireMajor(adcpVersion) };\n return buildVersionEnvelope(adcpVersion, serverVersion);\n}\n\n/**\n * Merge the wire-level version envelope into a caller-supplied args object.\n * Caller args win: an explicit `adcp_major_version` / `adcp_version` in\n * `args` (e.g. a conformance harness probing `VERSION_UNSUPPORTED`) passes\n * through unchanged. The envelope only fills fields the caller didn't set.\n *\n * Single chokepoint for all four wire-injection sites so a future refactor\n * can't silently flip the spread order on one branch and leave the others\n * intact. Stale dual-field drift is caught at the server boundary by\n * `createAdcpServer`'s field-disagreement check (spec PR\n * `adcontextprotocol/adcp#3493`).\n *\n * @internal\n */\nexport function applyVersionEnvelope(\n args: Record<string, unknown>,\n envelope: Record<string, unknown>\n): Record<string, unknown> {\n return { ...envelope, ...args };\n}\n\n/**\n * Transport-level safeguards applied to a call.\n *\n * Wired into the SDK's internal fetch chain via AsyncLocalStorage, so the\n * cap takes effect even when the underlying transport's connection cache\n * reuses a fetch that was created on an earlier call with different limits.\n */\nexport interface TransportOptions {\n /**\n * Maximum response body size (in octets) the SDK will read before aborting\n * with `ResponseTooLargeError`. When unset, the SDK does not impose a cap —\n * matches the underlying MCP / A2A transport defaults.\n *\n * Set this when crawling **untrusted** agents (registries, federated\n * discovery layers, monitoring tools) to prevent a hostile vendor from\n * buffering a large reply before any application-layer schema validation\n * runs. Counted across response chunks; pre-cancels when `Content-Length`\n * exceeds the cap. Applies to A2A agent-card discovery\n * (`/.well-known/agent.json`) on the same call as well.\n *\n * Per-call override (`TaskOptions.transport.maxResponseBytes`) beats the\n * value set on the client constructor (`SingleAgentClientConfig.transport`).\n *\n * @remarks\n * **Safe to set on all calls.** SSE responses (`text/event-stream`) are\n * passed through unchanged — a single tool call legitimately emits N status\n * frames + a final result, bounded by protocol-level framing rather than\n * cumulative byte counts. The cap applies to one-shot JSON responses\n * (`get_adcp_capabilities`, agent-card lookup, tool result payloads on\n * non-streaming transports) where the body is bounded by definition.\n *\n * @remarks\n * **Hostile-peer note:** A peer can opt itself out of this cap by responding\n * with `Content-Type: text/event-stream`. SSE is bypassed because cumulative\n * event-frame bytes are unbounded by spec — MCP and A2A both stream tool\n * responses this way. The MCP/A2A SDKs consume SSE incrementally and frame\n * termination bounds memory in practice, so this is not a memory-bomb risk\n * for well-formed transports. Adopters relying on `maxResponseBytes` as a\n * hostile-server defense should treat it as best-effort for non-SSE\n * responses only.\n *\n * @remarks\n * Future hardening knobs (DNS-rebind defense, scheme allow-list, request\n * timeout overrides) will land here as additional fields. When `fetchFn`\n * is supplied, the SDK composes it inside its signing, capture, size-limit,\n * timeout, and diagnostics wrappers so callers do not have to reproduce\n * that non-obvious ordering themselves.\n */\n maxResponseBytes?: number;\n /**\n * Scoped fetch implementation for all outbound HTTP performed on behalf of\n * this client or call, including endpoint/card discovery, tool listing,\n * OAuth discovery and token refresh, and MCP/A2A tool requests.\n *\n * The function is runtime-only configuration and is never serialized into\n * agent records, storyboard artifacts, or compliance output. When unset,\n * the SDK uses the global `fetch` implementation.\n *\n * For SSRF-sensitive metadata probes, supplying this function makes it the\n * trusted network boundary: the SDK still validates schemes and resolved\n * addresses, but a custom fetch API cannot accept the SDK's pinned undici\n * dispatcher. The implementation must therefore prevent DNS rebinding (for\n * example with an egress proxy or its own DNS pinning).\n */\n fetchFn?: typeof fetch;\n /**\n * Timeout in milliseconds for bounded one-shot transport requests such as\n * A2A agent-card discovery and MCP read-path probes. Defaults to 60 seconds\n * for A2A discovery so an unresponsive card endpoint cannot hang forever.\n * Set to `0` to disable the SDK-imposed discovery timeout.\n */\n requestTimeoutMs?: number;\n}\n\n/**\n * Options for {@link ProtocolClient.callTool}. All fields are optional.\n *\n * `webhookUrl` / `webhookSecret` / `webhookToken` are for ASYNC TASK STATUS\n * notifications (push_notification_config). For reporting webhooks\n * (reporting_webhook), include them directly in `args` — they stay in skill\n * parameters and are sent verbatim to the agent.\n */\nexport interface CallToolOptions {\n /** Debug log array. Mutated in place by the protocol layer. */\n debugLogs?: DebugLogEntry[];\n /** URL for async task status notifications. */\n webhookUrl?: string;\n /** HMAC-SHA256 secret for push_notification_config authentication. */\n webhookSecret?: string;\n /** Bearer token for push_notification_config validation. */\n webhookToken?: string;\n /** Pinned protocol generation when the agent advertises both v2 and v3. */\n serverVersion?: 'v2' | 'v3';\n /** A2A session continuity (contextId carries conversation, taskId resumes a task). */\n session?: { contextId?: string; taskId?: string };\n /**\n * AdCP version pin from the calling client/server instance. Sets the\n * wire-level `adcp_major_version` field per-call instead of from the\n * SDK-pinned `ADCP_MAJOR_VERSION` constant. Default falls back to the\n * constant so call sites that don't plumb a per-instance version keep\n * their existing behavior. An explicit `adcp_major_version` /\n * `adcp_version` in `args` overrides this — conformance harnesses use\n * that path to probe seller version negotiation.\n */\n adcpVersion?: string;\n /**\n * Optional wire-only version override. Schema selection and client\n * construction can remain pinned to `adcpVersion`; the request envelope is\n * emitted for this release-precision line.\n */\n wireAdcpVersion?: string;\n /**\n * Controls whether the SDK injects AdCP version envelope fields into the\n * outgoing request. Defaults to `auto`. 3.0 pins emit only the legacy\n * `adcp_major_version`; 3.1+ pins emit both the legacy major and exact\n * `adcp_version` marker. `major-only` forces the legacy integer marker\n * without the 3.1 string marker for strict pre-3.1 peers discovered at\n * runtime.\n */\n versionEnvelope?: VersionEnvelopeMode;\n /**\n * Transport-level safeguards (size caps, etc.). Per-call override of any\n * matching field on the client constructor's `transport` option.\n */\n transport?: TransportOptions;\n /** Caller-owned cancellation signal for the in-flight protocol call. */\n signal?: AbortSignal;\n /** Transport-level diagnostics callback for outbound HTTP requests. */\n onTransportActivity?: TransportActivityHandlerFn;\n /**\n * Correlation metadata attached to transport diagnostics events emitted\n * while this protocol call is active.\n */\n transportActivityContext?: {\n operationId?: string;\n taskId?: string;\n contextId?: string;\n idempotencyKey?: string;\n };\n}\n\n/**\n * Universal protocol client - automatically routes to the correct protocol implementation\n */\nexport class ProtocolClient {\n /**\n * Call a tool on an agent using the appropriate protocol.\n *\n * @param agent - Agent configuration\n * @param toolName - Name of the tool/skill to call\n * @param args - Tool arguments (includes reporting_webhook if needed - NOT removed)\n * @param options - Optional call-level configuration. See {@link CallToolOptions}.\n */\n static async callTool(\n agent: AgentConfig,\n toolName: string,\n args: Record<string, unknown>,\n options: CallToolOptions = {}\n ): Promise<unknown> {\n const {\n debugLogs = [],\n webhookUrl,\n webhookSecret,\n webhookToken,\n serverVersion,\n session,\n adcpVersion,\n wireAdcpVersion,\n versionEnvelope: versionEnvelopeMode = 'auto',\n transport,\n signal,\n onTransportActivity,\n transportActivityContext,\n } = options;\n // Per-instance version envelope. Throws on unparseable pins via\n // `resolveWireMajor`; construction-time `resolveAdcpVersion` is the\n // primary gate but this is the failsafe for callers reaching\n // `ProtocolClient.callTool` directly (test harnesses, the in-process\n // MCP path). Returns `{ adcp_major_version }` for 3.0 pins and\n // `{ adcp_major_version, adcp_version }` for 3.1+ pins.\n const versionEnvelope = buildVersionEnvelopeForMode(\n versionEnvelopeMode,\n wireAdcpVersion ?? adcpVersion,\n serverVersion\n );\n // Enter the response-size-limit ALS slot once for this call. The slot is\n // read by `wrapFetchWithSizeLimit` in both protocol transports, so the\n // cap applies regardless of which path (MCP / A2A / OAuth refresh) the\n // call ends up taking. No-op when the cap is unset or non-positive.\n return withResponseSizeLimit(transport?.maxResponseBytes, () =>\n withTransportDiagnostics(\n {\n agentId: agent.id,\n protocol: agent.protocol,\n tool: toolName,\n taskType: toolName,\n ...transportActivityContext,\n onTransportActivity,\n },\n () =>\n withSpan(\n `adcp.${agent.protocol}.call_tool`,\n {\n 'adcp.agent_id': agent.id,\n 'adcp.protocol': agent.protocol,\n 'adcp.tool': toolName,\n 'http.url': agent.agent_uri,\n },\n async () => {\n // In-process MCP path: pre-connected client, no HTTP transport.\n // Idempotency injection, schema validation, and governance middleware all\n // still apply (they run in SingleAgentClient above this call). We skip\n // URL validation, OAuth refresh, and signing — none apply in-process.\n if (agent.protocol === 'mcp' && agent._inProcessMcpClient) {\n const inProcArgs = applyVersionEnvelope(args, versionEnvelope);\n return callMCPToolWithClient(agent._inProcessMcpClient, toolName, inProcArgs, debugLogs, {\n ...(signal && { signal }),\n ...(transport?.requestTimeoutMs !== undefined && { requestTimeoutMs: transport.requestTimeoutMs }),\n });\n }\n\n validateAgentUrl(agent.agent_uri);\n\n // OAuth 2.0 client credentials (RFC 6749 §4.4): re-exchange the\n // secret for a fresh access token whenever the cached one is within\n // its expiration skew. Runs before every call so mid-session expiry\n // can't leave the caller with a stale bearer. No-op if the agent\n // doesn't declare client credentials. Cheap on warm cache (single\n // `Date.now()` compare); a single POST to the token endpoint on miss.\n //\n // `allowPrivateIp` inherits the trust the caller already placed in\n // `agent.agent_uri` — if they're making a call to a private-IP agent,\n // they've authorized this process to talk to private-IP hosts, so\n // the token endpoint on the same network is reachable too. Public\n // agent URLs with private-IP token endpoints still require an\n // explicit opt-in via the library API.\n if (agent.oauth_client_credentials) {\n const ccStorage = getAgentStorage(agent);\n const allowPrivateIp = isLikelyPrivateUrl(agent.agent_uri);\n await ensureClientCredentialsTokens(agent, {\n storage: ccStorage,\n allowPrivateIp,\n fetch: transport?.fetchFn,\n signal,\n });\n }\n\n const authToken = getAuthToken(agent);\n\n // RFC 9421 signing context. Built once per call and passed through\n // to each protocol-layer entry (`callMCPToolWithTasks`, `callA2ATool`,\n // `callMCPToolWithOAuth`) — those entries seed `signingContextStorage`\n // (AsyncLocalStorage) so the internal transport helpers read it\n // without an explicit parameter. Keep the explicit arg here: it's the\n // ALS seed, not incidental plumbing. `get_adcp_capabilities` is\n // exempt from signing (it's the discovery call itself) and also\n // triggers cache priming for any other op on agents with\n // `request_signing` configured.\n const signingContext = buildAgentSigningContext(agent);\n if (signingContext && toolName !== CAPABILITY_OP) {\n await ensureCapabilityLoaded(agent, signingContext, primeArgs =>\n ProtocolClient.callTool(agent, CAPABILITY_OP, primeArgs, {\n debugLogs,\n serverVersion,\n adcpVersion,\n ...(versionEnvelopeMode !== 'auto' && { versionEnvelope: versionEnvelopeMode }),\n transport,\n signal,\n ...(transport?.requestTimeoutMs !== undefined && { requestTimeoutMs: transport.requestTimeoutMs }),\n onTransportActivity,\n transportActivityContext,\n })\n );\n }\n\n // Inject the version envelope on every request so sellers can validate\n // compatibility. Skip for v2 servers — they don't recognise the\n // version fields and strict-schema agents reject them. The envelope\n // shape is per-pin: 3.0 pins get the integer `adcp_major_version`\n // alone; 3.1+ pins get both that and the release-precision string\n // `adcp_version` (`'3.1'` / `'3.1.0-beta.1'`) per spec PR\n // `adcontextprotocol/adcp#3493`.\n const argsWithVersion = applyVersionEnvelope(args, versionEnvelope);\n\n // Build push_notification_config for ASYNC TASK STATUS notifications\n // (NOT for reporting_webhook - that stays in args)\n // Schema: https://adcontextprotocol.org/schemas/v1/core/push-notification-config.json\n // `authentication` is a scheme SELECTOR, not a fallback: from AdCP\n // 3.0 on, push-notification-config.json makes its presence opt the\n // seller into legacy HMAC-SHA256 and its absence select the RFC\n // 9421 webhook profile, with `required: [\"url\"]` only. Emitting it\n // with a placeholder credential would therefore downgrade every\n // webhook to legacy HMAC keyed by a constant that ships in this\n // file, so the block is omitted unless a real secret backs it.\n //\n // v2.5 predates the selector: there `required` is\n // `[\"url\", \"authentication\"]` and there is no 9421 path, so an\n // omitted block is schema-invalid rather than a mode selection.\n // With no secret there is nothing honest to send a v2 seller, so\n // suppress the registration instead of fabricating a credential.\n const pushNotificationConfig: PushNotificationConfig | undefined = (():\n | PushNotificationConfig\n | undefined => {\n if (!webhookUrl) return undefined;\n if (webhookSecret) {\n return {\n url: webhookUrl,\n ...(webhookToken && { token: webhookToken }),\n authentication: {\n schemes: ['HMAC-SHA256' as const],\n credentials: webhookSecret,\n },\n };\n }\n if (serverVersion === 'v2') {\n warnV2PushNotificationNeedsSecret();\n return undefined;\n }\n return {\n url: webhookUrl,\n ...(webhookToken && { token: webhookToken }),\n };\n })();\n\n if (agent.protocol === 'mcp') {\n // For MCP, include push_notification_config in tool arguments (MCP spec)\n const argsWithWebhook = pushNotificationConfig\n ? { ...argsWithVersion, push_notification_config: pushNotificationConfig }\n : argsWithVersion;\n\n // If the agent config carries authorization-code OAuth tokens,\n // route through the OAuth provider path so the MCP SDK can refresh\n // on 401 instead of hard-failing. Excludes client-credentials\n // agents: they have a cached access token but no refresh_token,\n // and their refresh path is a secret re-exchange (handled above),\n // not the SDK's refresh_token grant.\n if (agent.oauth_tokens && !agent.oauth_client_credentials) {\n const authProvider = getNonInteractiveOAuthProvider(agent, {\n agentHint: agent.id,\n storage: getAgentStorage(agent),\n allowHttp: isLikelyPrivateUrl(agent.agent_uri),\n });\n try {\n return await callMCPToolWithOAuth({\n agentUrl: agent.agent_uri,\n toolName,\n args: argsWithWebhook,\n authProvider,\n debugLogs,\n customHeaders: agent.headers,\n signingContext,\n signal,\n requestTimeoutMs: transport?.requestTimeoutMs,\n fetchFn: transport?.fetchFn,\n });\n } catch (err) {\n // Refresh failed or server rejected the refreshed token — walk the\n // discovery chain so the caller can distinguish \"re-auth needed\"\n // from other failure modes.\n await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn, signal);\n throw err;\n }\n }\n\n // Use callMCPToolWithTasks which auto-detects server tasks capability\n // and falls back to standard callTool when tasks are not supported\n try {\n return await callMCPToolWithTasks(\n agent.agent_uri,\n toolName,\n argsWithWebhook,\n authToken,\n debugLogs,\n agent.headers,\n {\n ...(signingContext && { signingContext }),\n ...(signal && { signal }),\n ...(transport?.requestTimeoutMs !== undefined && {\n requestTimeoutMs: transport.requestTimeoutMs,\n }),\n ...(transport?.fetchFn && { fetchFn: transport.fetchFn }),\n }\n );\n } catch (err) {\n // Client-credentials agents: on 401, the AS may have rotated\n // something out-of-band. Force a fresh exchange and retry once\n // before surfacing the error. Bounded (single retry) so we don't\n // loop if the credentials are genuinely wrong.\n if (agent.oauth_client_credentials && is401Error(err)) {\n const ccStorage = getAgentStorage(agent);\n const allowPrivateIp = isLikelyPrivateUrl(agent.agent_uri);\n await ensureClientCredentialsTokens(agent, {\n storage: ccStorage,\n force: true,\n allowPrivateIp,\n fetch: transport?.fetchFn,\n signal,\n });\n const retryAuthToken = agent.oauth_tokens?.access_token ?? authToken;\n try {\n return await callMCPToolWithTasks(\n agent.agent_uri,\n toolName,\n argsWithWebhook,\n retryAuthToken,\n debugLogs,\n agent.headers,\n {\n ...(signingContext && { signingContext }),\n ...(signal && { signal }),\n ...(transport?.requestTimeoutMs !== undefined && {\n requestTimeoutMs: transport.requestTimeoutMs,\n }),\n ...(transport?.fetchFn && { fetchFn: transport.fetchFn }),\n }\n );\n } catch (retryErr) {\n await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn, signal);\n throw retryErr;\n }\n }\n await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn, signal);\n throw err;\n }\n } else if (agent.protocol === 'a2a') {\n // For A2A, pass pushNotificationConfig separately (not in skill parameters)\n try {\n return await callA2ATool(\n agent.agent_uri,\n toolName,\n argsWithVersion,\n authToken,\n debugLogs,\n pushNotificationConfig,\n agent.headers,\n signingContext,\n session,\n signal,\n transport?.requestTimeoutMs,\n transport?.fetchFn\n );\n } catch (err) {\n // Same single-retry-on-401 for client-credentials agents as the\n // MCP path above. Kept symmetric so A2A CC agents aren't a\n // second-class experience — including the NeedsAuthorizationError\n // rewrap on a retry that still 401s.\n if (agent.oauth_client_credentials && is401Error(err)) {\n const ccStorage = getAgentStorage(agent);\n const allowPrivateIp = isLikelyPrivateUrl(agent.agent_uri);\n await ensureClientCredentialsTokens(agent, {\n storage: ccStorage,\n force: true,\n allowPrivateIp,\n fetch: transport?.fetchFn,\n signal,\n });\n const retryAuthToken = agent.oauth_tokens?.access_token ?? authToken;\n try {\n return await callA2ATool(\n agent.agent_uri,\n toolName,\n argsWithVersion,\n retryAuthToken,\n debugLogs,\n pushNotificationConfig,\n agent.headers,\n signingContext,\n session,\n signal,\n transport?.requestTimeoutMs,\n transport?.fetchFn\n );\n } catch (retryErr) {\n await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn, signal);\n throw retryErr;\n }\n }\n await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn, signal);\n throw err;\n }\n } else {\n throw new Error(`Unsupported protocol: ${agent.protocol}`);\n }\n }\n )\n )\n );\n }\n}\n\n/**\n * If `err` looks like a 401 from the MCP transport, probe the agent for a\n * Bearer challenge and throw a {@link NeedsAuthorizationError} carrying\n * walked discovery metadata. If the error isn't a 401 or we can't build a\n * requirements record, return silently so the caller re-throws the original.\n *\n * Keeping this off the hot path: we only probe on error, and the probe is\n * a single unauthenticated `tools/list` POST — no retries, no DNS rebind.\n */\nasync function rethrowAsNeedsAuthorization(\n err: unknown,\n agentUrl: string,\n fetchFn?: typeof fetch,\n signal?: AbortSignal\n): Promise<void> {\n if (err instanceof NeedsAuthorizationError) throw err;\n if (!is401Error(err)) return;\n\n // If the caller has already connected to the agent URL, they've implicitly\n // trusted it — inherit that trust for the discovery probe so loopback /\n // private-IP development agents work the same way as public ones.\n const allowPrivateIp = isLikelyPrivateUrl(agentUrl);\n\n // discoverAuthorizationRequirements internally catches network failures and\n // returns null rather than throwing — anything that escapes is a genuine\n // bug we want to surface rather than mask the 401 with.\n const requirements = await discoverAuthorizationRequirements(agentUrl, { allowPrivateIp, fetchFn, signal });\n if (requirements) {\n throw new NeedsAuthorizationError(requirements);\n }\n // No requirements walked; let the caller re-throw the original error.\n}\n\n/**\n * Simple factory functions for protocol-specific clients.\n *\n * Both factories accept a `transport` argument that flows through to the\n * size-cap surface so callers reaching the factory exports honor the same\n * `maxResponseBytes` contract as `ProtocolClient.callTool`. Without it,\n * the factories would silently bypass the cap, which the public API\n * (`TransportOptions`) implies they honor.\n */\nexport const createMCPClient = (\n agentUrl: string,\n authToken?: string,\n headers?: Record<string, string>,\n serverVersion?: 'v2' | 'v3',\n adcpVersion?: string,\n transport?: TransportOptions,\n versionEnvelopeMode: VersionEnvelopeMode = 'auto'\n) => {\n // Validate the pin at factory time so a typo surfaces here rather than at\n // first call. `buildVersionEnvelope` throws via `resolveWireMajor` on bad\n // input — call it once to surface, then close over the envelope.\n const versionEnvelope = buildVersionEnvelopeForMode(versionEnvelopeMode, adcpVersion, serverVersion);\n return {\n callTool: (toolName: string, args: Record<string, unknown>, debugLogs?: DebugLogEntry[]) =>\n withResponseSizeLimit(transport?.maxResponseBytes, () =>\n callMCPToolWithTasks(\n agentUrl,\n toolName,\n applyVersionEnvelope(args, versionEnvelope),\n authToken,\n debugLogs,\n headers,\n {\n ...(transport?.requestTimeoutMs !== undefined && { requestTimeoutMs: transport.requestTimeoutMs }),\n ...(transport?.fetchFn && { fetchFn: transport.fetchFn }),\n }\n )\n ),\n };\n};\n\nexport const createA2AClient = (\n agentUrl: string,\n authToken?: string,\n headers?: Record<string, string>,\n serverVersion?: 'v2' | 'v3',\n adcpVersion?: string,\n transport?: TransportOptions,\n versionEnvelopeMode: VersionEnvelopeMode = 'auto'\n) => {\n const versionEnvelope = buildVersionEnvelopeForMode(versionEnvelopeMode, adcpVersion, serverVersion);\n return {\n callTool: (toolName: string, parameters: Record<string, unknown>, debugLogs?: DebugLogEntry[]) =>\n withResponseSizeLimit(transport?.maxResponseBytes, () =>\n callA2ATool(\n agentUrl,\n toolName,\n applyVersionEnvelope(parameters, versionEnvelope),\n authToken,\n debugLogs,\n undefined,\n headers,\n undefined,\n undefined,\n undefined,\n transport?.requestTimeoutMs,\n transport?.fetchFn\n )\n ),\n };\n};\n"],"mappings":"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","names":["import_mcp","import_a2a","import_mcp_tasks","import_errors","import_transportDiagnostics"]}
|
|
@@ -171,7 +171,8 @@ class ProtocolClient {
|
|
|
171
171
|
await ensureClientCredentialsTokens(agent, {
|
|
172
172
|
storage: ccStorage,
|
|
173
173
|
allowPrivateIp,
|
|
174
|
-
fetch: transport?.fetchFn
|
|
174
|
+
fetch: transport?.fetchFn,
|
|
175
|
+
signal
|
|
175
176
|
});
|
|
176
177
|
}
|
|
177
178
|
const authToken = getAuthToken(agent);
|
|
@@ -237,7 +238,7 @@ class ProtocolClient {
|
|
|
237
238
|
fetchFn: transport?.fetchFn
|
|
238
239
|
});
|
|
239
240
|
} catch (err) {
|
|
240
|
-
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn);
|
|
241
|
+
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn, signal);
|
|
241
242
|
throw err;
|
|
242
243
|
}
|
|
243
244
|
}
|
|
@@ -266,7 +267,8 @@ class ProtocolClient {
|
|
|
266
267
|
storage: ccStorage,
|
|
267
268
|
force: true,
|
|
268
269
|
allowPrivateIp,
|
|
269
|
-
fetch: transport?.fetchFn
|
|
270
|
+
fetch: transport?.fetchFn,
|
|
271
|
+
signal
|
|
270
272
|
});
|
|
271
273
|
const retryAuthToken = agent.oauth_tokens?.access_token ?? authToken;
|
|
272
274
|
try {
|
|
@@ -287,11 +289,11 @@ class ProtocolClient {
|
|
|
287
289
|
}
|
|
288
290
|
);
|
|
289
291
|
} catch (retryErr) {
|
|
290
|
-
await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn);
|
|
292
|
+
await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn, signal);
|
|
291
293
|
throw retryErr;
|
|
292
294
|
}
|
|
293
295
|
}
|
|
294
|
-
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn);
|
|
296
|
+
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn, signal);
|
|
295
297
|
throw err;
|
|
296
298
|
}
|
|
297
299
|
} else if (agent.protocol === "a2a") {
|
|
@@ -318,7 +320,8 @@ class ProtocolClient {
|
|
|
318
320
|
storage: ccStorage,
|
|
319
321
|
force: true,
|
|
320
322
|
allowPrivateIp,
|
|
321
|
-
fetch: transport?.fetchFn
|
|
323
|
+
fetch: transport?.fetchFn,
|
|
324
|
+
signal
|
|
322
325
|
});
|
|
323
326
|
const retryAuthToken = agent.oauth_tokens?.access_token ?? authToken;
|
|
324
327
|
try {
|
|
@@ -337,11 +340,11 @@ class ProtocolClient {
|
|
|
337
340
|
transport?.fetchFn
|
|
338
341
|
);
|
|
339
342
|
} catch (retryErr) {
|
|
340
|
-
await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn);
|
|
343
|
+
await rethrowAsNeedsAuthorization(retryErr, agent.agent_uri, transport?.fetchFn, signal);
|
|
341
344
|
throw retryErr;
|
|
342
345
|
}
|
|
343
346
|
}
|
|
344
|
-
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn);
|
|
347
|
+
await rethrowAsNeedsAuthorization(err, agent.agent_uri, transport?.fetchFn, signal);
|
|
345
348
|
throw err;
|
|
346
349
|
}
|
|
347
350
|
} else {
|
|
@@ -353,11 +356,11 @@ class ProtocolClient {
|
|
|
353
356
|
);
|
|
354
357
|
}
|
|
355
358
|
}
|
|
356
|
-
async function rethrowAsNeedsAuthorization(err, agentUrl, fetchFn) {
|
|
359
|
+
async function rethrowAsNeedsAuthorization(err, agentUrl, fetchFn, signal) {
|
|
357
360
|
if (err instanceof NeedsAuthorizationError) throw err;
|
|
358
361
|
if (!is401Error(err)) return;
|
|
359
362
|
const allowPrivateIp = isLikelyPrivateUrl(agentUrl);
|
|
360
|
-
const requirements = await discoverAuthorizationRequirements(agentUrl, { allowPrivateIp, fetchFn });
|
|
363
|
+
const requirements = await discoverAuthorizationRequirements(agentUrl, { allowPrivateIp, fetchFn, signal });
|
|
361
364
|
if (requirements) {
|
|
362
365
|
throw new NeedsAuthorizationError(requirements);
|
|
363
366
|
}
|