@adcp/sdk 13.0.0-rc.6 → 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.8 → 3.1.11}/domains/media-buy/index.yaml +1 -0
- package/compliance/cache/{3.1.8.previous/protocols → 3.1.11/domains}/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
- package/compliance/cache/3.1.11/domains/media-buy/scenarios/dependency_impairment_audience.yaml +317 -0
- package/compliance/cache/{3.1.8 → 3.1.11}/index.json +3 -3
- package/compliance/cache/{3.1.8.previous/domains → 3.1.11/protocols}/media-buy/index.yaml +1 -0
- package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
- package/compliance/cache/3.1.11/protocols/media-buy/scenarios/dependency_impairment_audience.yaml +317 -0
- package/compliance/cache/{3.1.8.previous → 3.1.11}/universal/runner-output-contract.yaml +1 -1
- package/compliance/cache/{3.1.8 → 3.1.11}/universal/storyboard-schema.yaml +19 -6
- package/compliance/cache/{3.1.8/protocols → 3.1.11.previous/domains}/media-buy/index.yaml +1 -0
- package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
- package/compliance/cache/3.1.11.previous/domains/media-buy/scenarios/dependency_impairment_audience.yaml +317 -0
- package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/index.json +3 -3
- package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/index.yaml +1 -0
- package/compliance/cache/{3.1.8/domains → 3.1.11.previous/protocols}/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
- package/compliance/cache/3.1.11.previous/protocols/media-buy/scenarios/dependency_impairment_audience.yaml +317 -0
- package/compliance/cache/{3.1.8 → 3.1.11.previous}/universal/runner-output-contract.yaml +1 -1
- package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/storyboard-schema.yaml +19 -6
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.d.mts +4 -3
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.d.ts +4 -3
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.d.ts.map +1 -1
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.js.map +1 -1
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.mjs.map +1 -1
- 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/MCPOAuthProvider.d.mts +2 -0
- package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts +2 -0
- package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts.map +1 -1
- package/dist/lib/auth/oauth/MCPOAuthProvider.js +8 -7
- package/dist/lib/auth/oauth/MCPOAuthProvider.js.map +1 -1
- package/dist/lib/auth/oauth/MCPOAuthProvider.mjs +8 -7
- package/dist/lib/auth/oauth/MCPOAuthProvider.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/auth/oauth/file-storage.d.mts +2 -1
- package/dist/lib/auth/oauth/file-storage.d.ts +2 -1
- package/dist/lib/auth/oauth/file-storage.d.ts.map +1 -1
- package/dist/lib/auth/oauth/file-storage.js +5 -1
- package/dist/lib/auth/oauth/file-storage.js.map +1 -1
- package/dist/lib/auth/oauth/file-storage.mjs +5 -1
- package/dist/lib/auth/oauth/file-storage.mjs.map +1 -1
- package/dist/lib/auth/oauth/index.d.mts +5 -1
- package/dist/lib/auth/oauth/index.d.ts +5 -1
- package/dist/lib/auth/oauth/index.d.ts.map +1 -1
- package/dist/lib/auth/oauth/index.js +4 -0
- package/dist/lib/auth/oauth/index.js.map +1 -1
- package/dist/lib/auth/oauth/index.mjs +4 -0
- package/dist/lib/auth/oauth/index.mjs.map +1 -1
- package/dist/lib/auth/oauth/resource-url.d.mts +4 -0
- package/dist/lib/auth/oauth/resource-url.d.ts +5 -0
- package/dist/lib/auth/oauth/resource-url.d.ts.map +1 -0
- package/dist/lib/auth/oauth/resource-url.js +51 -0
- package/dist/lib/auth/oauth/resource-url.js.map +1 -0
- package/dist/lib/auth/oauth/resource-url.mjs +27 -0
- package/dist/lib/auth/oauth/resource-url.mjs.map +1 -0
- package/dist/lib/auth/oauth/types.d.mts +7 -0
- package/dist/lib/auth/oauth/types.d.ts +7 -0
- package/dist/lib/auth/oauth/types.d.ts.map +1 -1
- package/dist/lib/auth/oauth/types.js.map +1 -1
- package/dist/lib/auth/oauth/types.mjs.map +1 -1
- package/dist/lib/auth/oauth/web-flow.d.mts +30 -5
- package/dist/lib/auth/oauth/web-flow.d.ts +30 -5
- package/dist/lib/auth/oauth/web-flow.d.ts.map +1 -1
- package/dist/lib/auth/oauth/web-flow.js +52 -8
- package/dist/lib/auth/oauth/web-flow.js.map +1 -1
- package/dist/lib/auth/oauth/web-flow.mjs +51 -8
- package/dist/lib/auth/oauth/web-flow.mjs.map +1 -1
- package/dist/lib/core/AgentClient.d.mts +2 -2
- package/dist/lib/core/AgentClient.d.ts +2 -2
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/core/AgentClient.mjs.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/registry/types.generated.d.mts +72 -9
- package/dist/lib/registry/types.generated.d.ts +72 -9
- package/dist/lib/registry/types.generated.d.ts.map +1 -1
- package/dist/lib/registry/types.generated.js.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 +452 -440
- 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 +355 -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 +45 -45
- 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 +90 -0
- package/dist/lib/schemas-data/3.1/trusted-match/provider-registration.json +8 -7
- package/dist/lib/schemas-data/3.1/trusted-match/publisher-tmpx-config.json +41 -0
- package/dist/lib/schemas-data/3.1/trusted-match/tmpx-chunk.json +28 -0
- 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.d.ts.map +1 -1
- 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/adcp.d.mts +10 -0
- package/dist/lib/types/adcp.d.ts +10 -0
- package/dist/lib/types/adcp.d.ts.map +1 -1
- package/dist/lib/types/adcp.js.map +1 -1
- package/dist/lib/types/adcp.mjs.map +1 -1
- package/dist/lib/types/core.generated.d.mts +127 -19
- package/dist/lib/types/core.generated.d.ts +127 -19
- 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/types/schemas.generated.d.mts +124 -20
- package/dist/lib/types/schemas.generated.d.ts +124 -20
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +83 -24
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/schemas.generated.mjs +79 -24
- package/dist/lib/types/schemas.generated.mjs.map +1 -1
- package/dist/lib/utils/response-schemas.js +1 -1
- package/dist/lib/utils/response-schemas.js.map +1 -1
- package/dist/lib/utils/response-schemas.mjs +1 -1
- package/dist/lib/utils/response-schemas.mjs.map +1 -1
- package/dist/lib/utils/sync-creatives-adapter.d.mts +6 -0
- package/dist/lib/utils/sync-creatives-adapter.d.ts +6 -0
- package/dist/lib/utils/sync-creatives-adapter.d.ts.map +1 -1
- package/dist/lib/utils/sync-creatives-adapter.js +22 -1
- package/dist/lib/utils/sync-creatives-adapter.js.map +1 -1
- package/dist/lib/utils/sync-creatives-adapter.mjs +22 -1
- package/dist/lib/utils/sync-creatives-adapter.mjs.map +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 +9 -6
- package/dist/lib/version.js.map +1 -1
- package/dist/lib/version.mjs +9 -6
- package/dist/lib/version.mjs.map +1 -1
- package/docs/llms.txt +13 -3
- package/package.json +2 -2
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/creative-transformers/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/specialisms/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/acme-outdoor-live.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/billing-gate-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/distributed-brand-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/parallel-dispatch-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/rate-limit-trip-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/single-side-trust-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/catalog-macro-substitution.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-receiver-envelope.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/billing-gate-dispatch.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/canonical-format-validate-input.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/comply-controller-mode-gate.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/error-compliance-signals.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/get-products-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/notification-config-event-scope.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/notification-config-lifecycle.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/notification-config-rejections.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/read-tool-idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/schema-validation-signals.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/stale-response-advisory.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/version-negotiation.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/webhook-emission.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/webhook-receiver-envelope.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/wholesale-feed-product-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/wholesale-feed-products.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.8 → 3.1.11}/universal/wholesale-feed-signals.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/creative-transformers/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/specialisms/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/acme-outdoor-live.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/billing-gate-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/distributed-brand-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/parallel-dispatch-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/rate-limit-trip-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/signed-requests-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/single-side-trust-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/catalog-macro-substitution.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-receiver-envelope.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/billing-gate-dispatch.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/canonical-format-validate-input.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/comply-controller-mode-gate.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/error-compliance-signals.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/get-products-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/notification-config-event-scope.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/notification-config-lifecycle.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/notification-config-rejections.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/read-tool-idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/schema-validation-signals.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/stale-response-advisory.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/version-negotiation.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/webhook-emission.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/webhook-receiver-envelope.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/wholesale-feed-product-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/wholesale-feed-products.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.8.previous → 3.1.11.previous}/universal/wholesale-feed-signals.yaml +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/oauth/discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/oauth/discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,wCAAwC;IACxC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,iEAAiE;IACjE,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,gCAAgC,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5C,+BAA+B;IAC/B,wBAAwB,CAAC,EAAE,MAAM,EAAE,CAAC;IACpC,4BAA4B;IAC5B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,4CAA4C;IAC5C,qCAAqC,CAAC,EAAE,MAAM,EAAE,CAAC;IACjD,uBAAuB;IACvB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,iEAAiE;IACjE,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CA0D/B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,CAGpH"}
|
|
@@ -24,9 +24,11 @@ __export(discovery_exports, {
|
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(discovery_exports);
|
|
26
26
|
var import_responseSizeLimit = require('../../protocols/responseSizeLimit.js');
|
|
27
|
+
var import_abort = require('../../protocols/abort.js');
|
|
27
28
|
async function discoverOAuthMetadata(agentUrl, options = {}) {
|
|
28
29
|
const { timeout = 5e3, fetch: providedFetch = fetch } = options;
|
|
29
30
|
const customFetch = (0, import_responseSizeLimit.wrapFetchWithSizeLimit)(providedFetch);
|
|
31
|
+
(0, import_abort.throwIfAborted)(options.signal);
|
|
30
32
|
try {
|
|
31
33
|
const baseUrl = new URL(agentUrl);
|
|
32
34
|
const pathname = baseUrl.pathname.endsWith("/") ? baseUrl.pathname.slice(0, -1) : baseUrl.pathname;
|
|
@@ -35,12 +37,12 @@ async function discoverOAuthMetadata(agentUrl, options = {}) {
|
|
|
35
37
|
const rootUrl = new URL("/.well-known/oauth-authorization-server", baseUrl.origin);
|
|
36
38
|
const urlsToTry = pathAwareUrl ? [pathAwareUrl, rootUrl] : [rootUrl];
|
|
37
39
|
for (const metadataUrl of urlsToTry) {
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
+
const timeoutSignal = AbortSignal.timeout(timeout);
|
|
41
|
+
const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;
|
|
40
42
|
try {
|
|
41
43
|
const response = await customFetch(metadataUrl.toString(), {
|
|
42
44
|
headers: { Accept: "application/json" },
|
|
43
|
-
signal
|
|
45
|
+
signal
|
|
44
46
|
});
|
|
45
47
|
if (!response.ok) {
|
|
46
48
|
continue;
|
|
@@ -51,13 +53,13 @@ async function discoverOAuthMetadata(agentUrl, options = {}) {
|
|
|
51
53
|
}
|
|
52
54
|
return metadata;
|
|
53
55
|
} catch {
|
|
56
|
+
(0, import_abort.throwIfAborted)(options.signal);
|
|
54
57
|
continue;
|
|
55
|
-
} finally {
|
|
56
|
-
clearTimeout(timeoutId);
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
return null;
|
|
60
61
|
} catch {
|
|
62
|
+
(0, import_abort.throwIfAborted)(options.signal);
|
|
61
63
|
return null;
|
|
62
64
|
}
|
|
63
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/auth/oauth/discovery.ts"],"sourcesContent":["/**\n * OAuth Discovery utilities\n *\n * Functions to discover OAuth capabilities of MCP servers.\n * MCP servers expose OAuth metadata at /.well-known/oauth-authorization-server\n */\n\nimport { wrapFetchWithSizeLimit } from '../../protocols/responseSizeLimit';\n\n/**\n * OAuth Authorization Server Metadata\n * @see https://datatracker.ietf.org/doc/html/rfc8414\n */\nexport interface OAuthMetadata {\n /** URL of the authorization endpoint */\n authorization_endpoint: string;\n /** URL of the token endpoint */\n token_endpoint: string;\n /** URL of the dynamic client registration endpoint (optional) */\n registration_endpoint?: string;\n /** Issuer identifier */\n issuer?: string;\n /** PKCE code challenge methods supported */\n code_challenge_methods_supported?: string[];\n /** Response types supported */\n response_types_supported?: string[];\n /** Grant types supported */\n grant_types_supported?: string[];\n /** Token endpoint auth methods supported */\n token_endpoint_auth_methods_supported?: string[];\n /** Scopes supported */\n scopes_supported?: string[];\n}\n\n/**\n * Options for OAuth discovery\n */\nexport interface DiscoveryOptions {\n /** Timeout in milliseconds (default: 5000) */\n timeout?: number;\n /** Custom fetch function (for testing or custom HTTP handling) */\n fetch?: typeof fetch;\n}\n\n/**\n * Discover OAuth metadata from an MCP server\n *\n * Fetches the OAuth Authorization Server Metadata from the well-known endpoint.\n * Returns null if the server doesn't support OAuth or the metadata isn't available.\n *\n * @param agentUrl - The MCP server URL\n * @param options - Discovery options\n * @returns OAuth metadata or null if not available\n *\n * @example\n * ```typescript\n * const metadata = await discoverOAuthMetadata('https://agent.example.com/mcp');\n * if (metadata) {\n * console.log('Authorization URL:', metadata.authorization_endpoint);\n * console.log('Supports dynamic registration:', !!metadata.registration_endpoint);\n * }\n * ```\n */\nexport async function discoverOAuthMetadata(\n agentUrl: string,\n options: DiscoveryOptions = {}\n): Promise<OAuthMetadata | null> {\n // Wrap with the response-size-limit guard so a hostile metadata endpoint\n // can't buffer-bomb during discovery. Pass-through when no\n // `withResponseSizeLimit` slot is active. (#1175)\n const { timeout = 5000, fetch: providedFetch = fetch } = options;\n const customFetch = wrapFetchWithSizeLimit(providedFetch);\n\n try {\n const baseUrl = new URL(agentUrl);\n\n // RFC 8414 path-aware discovery: try path-suffixed URL first, then fall back to root.\n // For https://example.com/mcp, try:\n // 1. https://example.com/.well-known/oauth-authorization-server/mcp\n // 2. https://example.com/.well-known/oauth-authorization-server (fallback)\n const pathname = baseUrl.pathname.endsWith('/') ? baseUrl.pathname.slice(0, -1) : baseUrl.pathname;\n const hasPath = pathname !== '' && pathname !== '/';\n\n const pathAwareUrl = hasPath ? new URL(`/.well-known/oauth-authorization-server${pathname}`, baseUrl.origin) : null;\n const rootUrl = new URL('/.well-known/oauth-authorization-server', baseUrl.origin);\n\n const urlsToTry = pathAwareUrl ? [pathAwareUrl, rootUrl] : [rootUrl];\n\n for (const metadataUrl of urlsToTry) {\n const
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/auth/oauth/discovery.ts"],"sourcesContent":["/**\n * OAuth Discovery utilities\n *\n * Functions to discover OAuth capabilities of MCP servers.\n * MCP servers expose OAuth metadata at /.well-known/oauth-authorization-server\n */\n\nimport { wrapFetchWithSizeLimit } from '../../protocols/responseSizeLimit';\nimport { throwIfAborted } from '../../protocols/abort';\n\n/**\n * OAuth Authorization Server Metadata\n * @see https://datatracker.ietf.org/doc/html/rfc8414\n */\nexport interface OAuthMetadata {\n /** URL of the authorization endpoint */\n authorization_endpoint: string;\n /** URL of the token endpoint */\n token_endpoint: string;\n /** URL of the dynamic client registration endpoint (optional) */\n registration_endpoint?: string;\n /** Issuer identifier */\n issuer?: string;\n /** PKCE code challenge methods supported */\n code_challenge_methods_supported?: string[];\n /** Response types supported */\n response_types_supported?: string[];\n /** Grant types supported */\n grant_types_supported?: string[];\n /** Token endpoint auth methods supported */\n token_endpoint_auth_methods_supported?: string[];\n /** Scopes supported */\n scopes_supported?: string[];\n}\n\n/**\n * Options for OAuth discovery\n */\nexport interface DiscoveryOptions {\n /** Timeout in milliseconds (default: 5000) */\n timeout?: number;\n /** Custom fetch function (for testing or custom HTTP handling) */\n fetch?: typeof fetch;\n /** Caller cancellation, including the absolute task deadline. */\n signal?: AbortSignal;\n}\n\n/**\n * Discover OAuth metadata from an MCP server\n *\n * Fetches the OAuth Authorization Server Metadata from the well-known endpoint.\n * Returns null if the server doesn't support OAuth or the metadata isn't available.\n *\n * @param agentUrl - The MCP server URL\n * @param options - Discovery options\n * @returns OAuth metadata or null if not available\n *\n * @example\n * ```typescript\n * const metadata = await discoverOAuthMetadata('https://agent.example.com/mcp');\n * if (metadata) {\n * console.log('Authorization URL:', metadata.authorization_endpoint);\n * console.log('Supports dynamic registration:', !!metadata.registration_endpoint);\n * }\n * ```\n */\nexport async function discoverOAuthMetadata(\n agentUrl: string,\n options: DiscoveryOptions = {}\n): Promise<OAuthMetadata | null> {\n // Wrap with the response-size-limit guard so a hostile metadata endpoint\n // can't buffer-bomb during discovery. Pass-through when no\n // `withResponseSizeLimit` slot is active. (#1175)\n const { timeout = 5000, fetch: providedFetch = fetch } = options;\n const customFetch = wrapFetchWithSizeLimit(providedFetch);\n throwIfAborted(options.signal);\n\n try {\n const baseUrl = new URL(agentUrl);\n\n // RFC 8414 path-aware discovery: try path-suffixed URL first, then fall back to root.\n // For https://example.com/mcp, try:\n // 1. https://example.com/.well-known/oauth-authorization-server/mcp\n // 2. https://example.com/.well-known/oauth-authorization-server (fallback)\n const pathname = baseUrl.pathname.endsWith('/') ? baseUrl.pathname.slice(0, -1) : baseUrl.pathname;\n const hasPath = pathname !== '' && pathname !== '/';\n\n const pathAwareUrl = hasPath ? new URL(`/.well-known/oauth-authorization-server${pathname}`, baseUrl.origin) : null;\n const rootUrl = new URL('/.well-known/oauth-authorization-server', baseUrl.origin);\n\n const urlsToTry = pathAwareUrl ? [pathAwareUrl, rootUrl] : [rootUrl];\n\n for (const metadataUrl of urlsToTry) {\n const timeoutSignal = AbortSignal.timeout(timeout);\n const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;\n\n try {\n const response = await customFetch(metadataUrl.toString(), {\n headers: { Accept: 'application/json' },\n signal,\n });\n\n if (!response.ok) {\n continue;\n }\n\n const metadata = (await response.json()) as OAuthMetadata;\n\n // Validate required fields\n if (!metadata.authorization_endpoint || !metadata.token_endpoint) {\n continue;\n }\n\n return metadata;\n } catch {\n throwIfAborted(options.signal);\n // Parse error, timeout, or network error on this URL -- try next\n continue;\n }\n }\n\n return null;\n } catch {\n throwIfAborted(options.signal);\n // Network error, timeout, or invalid URL - agent doesn't support OAuth\n return null;\n }\n}\n\n/**\n * Check if an MCP server supports OAuth authentication\n *\n * This is a simple boolean check - use discoverOAuthMetadata() if you need\n * the actual endpoints.\n *\n * @param agentUrl - The MCP server URL\n * @param options - Discovery options\n * @returns true if the server supports OAuth\n *\n * @example\n * ```typescript\n * if (await supportsOAuth('https://agent.example.com/mcp')) {\n * console.log('Agent requires OAuth authentication');\n * }\n * ```\n */\nexport async function supportsOAuth(agentUrl: string, options: DiscoveryOptions = {}): Promise<boolean> {\n const metadata = await discoverOAuthMetadata(agentUrl, options);\n return metadata !== null;\n}\n\n/**\n * Check if an MCP server supports dynamic client registration\n *\n * Servers that support dynamic registration allow clients to register\n * automatically without pre-configured credentials.\n *\n * @param agentUrl - The MCP server URL\n * @param options - Discovery options\n * @returns true if the server supports dynamic client registration\n *\n * @example\n * ```typescript\n * if (await supportsDynamicRegistration('https://agent.example.com/mcp')) {\n * console.log('Agent supports automatic client registration');\n * }\n * ```\n */\nexport async function supportsDynamicRegistration(agentUrl: string, options: DiscoveryOptions = {}): Promise<boolean> {\n const metadata = await discoverOAuthMetadata(agentUrl, options);\n return metadata?.registration_endpoint !== undefined;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,+BAAuC;AACvC,mBAA+B;AA0D/B,eAAsB,sBACpB,UACA,UAA4B,CAAC,GACE;AAI/B,QAAM,EAAE,UAAU,KAAM,OAAO,gBAAgB,MAAM,IAAI;AACzD,QAAM,kBAAc,iDAAuB,aAAa;AACxD,mCAAe,QAAQ,MAAM;AAE7B,MAAI;AACF,UAAM,UAAU,IAAI,IAAI,QAAQ;AAMhC,UAAM,WAAW,QAAQ,SAAS,SAAS,GAAG,IAAI,QAAQ,SAAS,MAAM,GAAG,EAAE,IAAI,QAAQ;AAC1F,UAAM,UAAU,aAAa,MAAM,aAAa;AAEhD,UAAM,eAAe,UAAU,IAAI,IAAI,0CAA0C,QAAQ,IAAI,QAAQ,MAAM,IAAI;AAC/G,UAAM,UAAU,IAAI,IAAI,2CAA2C,QAAQ,MAAM;AAEjF,UAAM,YAAY,eAAe,CAAC,cAAc,OAAO,IAAI,CAAC,OAAO;AAEnE,eAAW,eAAe,WAAW;AACnC,YAAM,gBAAgB,YAAY,QAAQ,OAAO;AACjD,YAAM,SAAS,QAAQ,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,aAAa,CAAC,IAAI;AAEnF,UAAI;AACF,cAAM,WAAW,MAAM,YAAY,YAAY,SAAS,GAAG;AAAA,UACzD,SAAS,EAAE,QAAQ,mBAAmB;AAAA,UACtC;AAAA,QACF,CAAC;AAED,YAAI,CAAC,SAAS,IAAI;AAChB;AAAA,QACF;AAEA,cAAM,WAAY,MAAM,SAAS,KAAK;AAGtC,YAAI,CAAC,SAAS,0BAA0B,CAAC,SAAS,gBAAgB;AAChE;AAAA,QACF;AAEA,eAAO;AAAA,MACT,QAAQ;AACN,yCAAe,QAAQ,MAAM;AAE7B;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT,QAAQ;AACN,qCAAe,QAAQ,MAAM;AAE7B,WAAO;AAAA,EACT;AACF;AAmBA,eAAsB,cAAc,UAAkB,UAA4B,CAAC,GAAqB;AACtG,QAAM,WAAW,MAAM,sBAAsB,UAAU,OAAO;AAC9D,SAAO,aAAa;AACtB;AAmBA,eAAsB,4BAA4B,UAAkB,UAA4B,CAAC,GAAqB;AACpH,QAAM,WAAW,MAAM,sBAAsB,UAAU,OAAO;AAC9D,SAAO,UAAU,0BAA0B;AAC7C;","names":[]}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { wrapFetchWithSizeLimit } from "../../protocols/responseSizeLimit.mjs";
|
|
2
|
+
import { throwIfAborted } from "../../protocols/abort.mjs";
|
|
2
3
|
async function discoverOAuthMetadata(agentUrl, options = {}) {
|
|
3
4
|
const { timeout = 5e3, fetch: providedFetch = fetch } = options;
|
|
4
5
|
const customFetch = wrapFetchWithSizeLimit(providedFetch);
|
|
6
|
+
throwIfAborted(options.signal);
|
|
5
7
|
try {
|
|
6
8
|
const baseUrl = new URL(agentUrl);
|
|
7
9
|
const pathname = baseUrl.pathname.endsWith("/") ? baseUrl.pathname.slice(0, -1) : baseUrl.pathname;
|
|
@@ -10,12 +12,12 @@ async function discoverOAuthMetadata(agentUrl, options = {}) {
|
|
|
10
12
|
const rootUrl = new URL("/.well-known/oauth-authorization-server", baseUrl.origin);
|
|
11
13
|
const urlsToTry = pathAwareUrl ? [pathAwareUrl, rootUrl] : [rootUrl];
|
|
12
14
|
for (const metadataUrl of urlsToTry) {
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
+
const timeoutSignal = AbortSignal.timeout(timeout);
|
|
16
|
+
const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;
|
|
15
17
|
try {
|
|
16
18
|
const response = await customFetch(metadataUrl.toString(), {
|
|
17
19
|
headers: { Accept: "application/json" },
|
|
18
|
-
signal
|
|
20
|
+
signal
|
|
19
21
|
});
|
|
20
22
|
if (!response.ok) {
|
|
21
23
|
continue;
|
|
@@ -26,13 +28,13 @@ async function discoverOAuthMetadata(agentUrl, options = {}) {
|
|
|
26
28
|
}
|
|
27
29
|
return metadata;
|
|
28
30
|
} catch {
|
|
31
|
+
throwIfAborted(options.signal);
|
|
29
32
|
continue;
|
|
30
|
-
} finally {
|
|
31
|
-
clearTimeout(timeoutId);
|
|
32
33
|
}
|
|
33
34
|
}
|
|
34
35
|
return null;
|
|
35
36
|
} catch {
|
|
37
|
+
throwIfAborted(options.signal);
|
|
36
38
|
return null;
|
|
37
39
|
}
|
|
38
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/auth/oauth/discovery.ts"],"sourcesContent":["/**\n * OAuth Discovery utilities\n *\n * Functions to discover OAuth capabilities of MCP servers.\n * MCP servers expose OAuth metadata at /.well-known/oauth-authorization-server\n */\n\nimport { wrapFetchWithSizeLimit } from '../../protocols/responseSizeLimit';\n\n/**\n * OAuth Authorization Server Metadata\n * @see https://datatracker.ietf.org/doc/html/rfc8414\n */\nexport interface OAuthMetadata {\n /** URL of the authorization endpoint */\n authorization_endpoint: string;\n /** URL of the token endpoint */\n token_endpoint: string;\n /** URL of the dynamic client registration endpoint (optional) */\n registration_endpoint?: string;\n /** Issuer identifier */\n issuer?: string;\n /** PKCE code challenge methods supported */\n code_challenge_methods_supported?: string[];\n /** Response types supported */\n response_types_supported?: string[];\n /** Grant types supported */\n grant_types_supported?: string[];\n /** Token endpoint auth methods supported */\n token_endpoint_auth_methods_supported?: string[];\n /** Scopes supported */\n scopes_supported?: string[];\n}\n\n/**\n * Options for OAuth discovery\n */\nexport interface DiscoveryOptions {\n /** Timeout in milliseconds (default: 5000) */\n timeout?: number;\n /** Custom fetch function (for testing or custom HTTP handling) */\n fetch?: typeof fetch;\n}\n\n/**\n * Discover OAuth metadata from an MCP server\n *\n * Fetches the OAuth Authorization Server Metadata from the well-known endpoint.\n * Returns null if the server doesn't support OAuth or the metadata isn't available.\n *\n * @param agentUrl - The MCP server URL\n * @param options - Discovery options\n * @returns OAuth metadata or null if not available\n *\n * @example\n * ```typescript\n * const metadata = await discoverOAuthMetadata('https://agent.example.com/mcp');\n * if (metadata) {\n * console.log('Authorization URL:', metadata.authorization_endpoint);\n * console.log('Supports dynamic registration:', !!metadata.registration_endpoint);\n * }\n * ```\n */\nexport async function discoverOAuthMetadata(\n agentUrl: string,\n options: DiscoveryOptions = {}\n): Promise<OAuthMetadata | null> {\n // Wrap with the response-size-limit guard so a hostile metadata endpoint\n // can't buffer-bomb during discovery. Pass-through when no\n // `withResponseSizeLimit` slot is active. (#1175)\n const { timeout = 5000, fetch: providedFetch = fetch } = options;\n const customFetch = wrapFetchWithSizeLimit(providedFetch);\n\n try {\n const baseUrl = new URL(agentUrl);\n\n // RFC 8414 path-aware discovery: try path-suffixed URL first, then fall back to root.\n // For https://example.com/mcp, try:\n // 1. https://example.com/.well-known/oauth-authorization-server/mcp\n // 2. https://example.com/.well-known/oauth-authorization-server (fallback)\n const pathname = baseUrl.pathname.endsWith('/') ? baseUrl.pathname.slice(0, -1) : baseUrl.pathname;\n const hasPath = pathname !== '' && pathname !== '/';\n\n const pathAwareUrl = hasPath ? new URL(`/.well-known/oauth-authorization-server${pathname}`, baseUrl.origin) : null;\n const rootUrl = new URL('/.well-known/oauth-authorization-server', baseUrl.origin);\n\n const urlsToTry = pathAwareUrl ? [pathAwareUrl, rootUrl] : [rootUrl];\n\n for (const metadataUrl of urlsToTry) {\n const
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/auth/oauth/discovery.ts"],"sourcesContent":["/**\n * OAuth Discovery utilities\n *\n * Functions to discover OAuth capabilities of MCP servers.\n * MCP servers expose OAuth metadata at /.well-known/oauth-authorization-server\n */\n\nimport { wrapFetchWithSizeLimit } from '../../protocols/responseSizeLimit';\nimport { throwIfAborted } from '../../protocols/abort';\n\n/**\n * OAuth Authorization Server Metadata\n * @see https://datatracker.ietf.org/doc/html/rfc8414\n */\nexport interface OAuthMetadata {\n /** URL of the authorization endpoint */\n authorization_endpoint: string;\n /** URL of the token endpoint */\n token_endpoint: string;\n /** URL of the dynamic client registration endpoint (optional) */\n registration_endpoint?: string;\n /** Issuer identifier */\n issuer?: string;\n /** PKCE code challenge methods supported */\n code_challenge_methods_supported?: string[];\n /** Response types supported */\n response_types_supported?: string[];\n /** Grant types supported */\n grant_types_supported?: string[];\n /** Token endpoint auth methods supported */\n token_endpoint_auth_methods_supported?: string[];\n /** Scopes supported */\n scopes_supported?: string[];\n}\n\n/**\n * Options for OAuth discovery\n */\nexport interface DiscoveryOptions {\n /** Timeout in milliseconds (default: 5000) */\n timeout?: number;\n /** Custom fetch function (for testing or custom HTTP handling) */\n fetch?: typeof fetch;\n /** Caller cancellation, including the absolute task deadline. */\n signal?: AbortSignal;\n}\n\n/**\n * Discover OAuth metadata from an MCP server\n *\n * Fetches the OAuth Authorization Server Metadata from the well-known endpoint.\n * Returns null if the server doesn't support OAuth or the metadata isn't available.\n *\n * @param agentUrl - The MCP server URL\n * @param options - Discovery options\n * @returns OAuth metadata or null if not available\n *\n * @example\n * ```typescript\n * const metadata = await discoverOAuthMetadata('https://agent.example.com/mcp');\n * if (metadata) {\n * console.log('Authorization URL:', metadata.authorization_endpoint);\n * console.log('Supports dynamic registration:', !!metadata.registration_endpoint);\n * }\n * ```\n */\nexport async function discoverOAuthMetadata(\n agentUrl: string,\n options: DiscoveryOptions = {}\n): Promise<OAuthMetadata | null> {\n // Wrap with the response-size-limit guard so a hostile metadata endpoint\n // can't buffer-bomb during discovery. Pass-through when no\n // `withResponseSizeLimit` slot is active. (#1175)\n const { timeout = 5000, fetch: providedFetch = fetch } = options;\n const customFetch = wrapFetchWithSizeLimit(providedFetch);\n throwIfAborted(options.signal);\n\n try {\n const baseUrl = new URL(agentUrl);\n\n // RFC 8414 path-aware discovery: try path-suffixed URL first, then fall back to root.\n // For https://example.com/mcp, try:\n // 1. https://example.com/.well-known/oauth-authorization-server/mcp\n // 2. https://example.com/.well-known/oauth-authorization-server (fallback)\n const pathname = baseUrl.pathname.endsWith('/') ? baseUrl.pathname.slice(0, -1) : baseUrl.pathname;\n const hasPath = pathname !== '' && pathname !== '/';\n\n const pathAwareUrl = hasPath ? new URL(`/.well-known/oauth-authorization-server${pathname}`, baseUrl.origin) : null;\n const rootUrl = new URL('/.well-known/oauth-authorization-server', baseUrl.origin);\n\n const urlsToTry = pathAwareUrl ? [pathAwareUrl, rootUrl] : [rootUrl];\n\n for (const metadataUrl of urlsToTry) {\n const timeoutSignal = AbortSignal.timeout(timeout);\n const signal = options.signal ? AbortSignal.any([options.signal, timeoutSignal]) : timeoutSignal;\n\n try {\n const response = await customFetch(metadataUrl.toString(), {\n headers: { Accept: 'application/json' },\n signal,\n });\n\n if (!response.ok) {\n continue;\n }\n\n const metadata = (await response.json()) as OAuthMetadata;\n\n // Validate required fields\n if (!metadata.authorization_endpoint || !metadata.token_endpoint) {\n continue;\n }\n\n return metadata;\n } catch {\n throwIfAborted(options.signal);\n // Parse error, timeout, or network error on this URL -- try next\n continue;\n }\n }\n\n return null;\n } catch {\n throwIfAborted(options.signal);\n // Network error, timeout, or invalid URL - agent doesn't support OAuth\n return null;\n }\n}\n\n/**\n * Check if an MCP server supports OAuth authentication\n *\n * This is a simple boolean check - use discoverOAuthMetadata() if you need\n * the actual endpoints.\n *\n * @param agentUrl - The MCP server URL\n * @param options - Discovery options\n * @returns true if the server supports OAuth\n *\n * @example\n * ```typescript\n * if (await supportsOAuth('https://agent.example.com/mcp')) {\n * console.log('Agent requires OAuth authentication');\n * }\n * ```\n */\nexport async function supportsOAuth(agentUrl: string, options: DiscoveryOptions = {}): Promise<boolean> {\n const metadata = await discoverOAuthMetadata(agentUrl, options);\n return metadata !== null;\n}\n\n/**\n * Check if an MCP server supports dynamic client registration\n *\n * Servers that support dynamic registration allow clients to register\n * automatically without pre-configured credentials.\n *\n * @param agentUrl - The MCP server URL\n * @param options - Discovery options\n * @returns true if the server supports dynamic client registration\n *\n * @example\n * ```typescript\n * if (await supportsDynamicRegistration('https://agent.example.com/mcp')) {\n * console.log('Agent supports automatic client registration');\n * }\n * ```\n */\nexport async function supportsDynamicRegistration(agentUrl: string, options: DiscoveryOptions = {}): Promise<boolean> {\n const metadata = await discoverOAuthMetadata(agentUrl, options);\n return metadata?.registration_endpoint !== undefined;\n}\n"],"mappings":"AAOA,SAAS,8BAA8B;AACvC,SAAS,sBAAsB;AA0D/B,eAAsB,sBACpB,UACA,UAA4B,CAAC,GACE;AAI/B,QAAM,EAAE,UAAU,KAAM,OAAO,gBAAgB,MAAM,IAAI;AACzD,QAAM,cAAc,uBAAuB,aAAa;AACxD,iBAAe,QAAQ,MAAM;AAE7B,MAAI;AACF,UAAM,UAAU,IAAI,IAAI,QAAQ;AAMhC,UAAM,WAAW,QAAQ,SAAS,SAAS,GAAG,IAAI,QAAQ,SAAS,MAAM,GAAG,EAAE,IAAI,QAAQ;AAC1F,UAAM,UAAU,aAAa,MAAM,aAAa;AAEhD,UAAM,eAAe,UAAU,IAAI,IAAI,0CAA0C,QAAQ,IAAI,QAAQ,MAAM,IAAI;AAC/G,UAAM,UAAU,IAAI,IAAI,2CAA2C,QAAQ,MAAM;AAEjF,UAAM,YAAY,eAAe,CAAC,cAAc,OAAO,IAAI,CAAC,OAAO;AAEnE,eAAW,eAAe,WAAW;AACnC,YAAM,gBAAgB,YAAY,QAAQ,OAAO;AACjD,YAAM,SAAS,QAAQ,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,aAAa,CAAC,IAAI;AAEnF,UAAI;AACF,cAAM,WAAW,MAAM,YAAY,YAAY,SAAS,GAAG;AAAA,UACzD,SAAS,EAAE,QAAQ,mBAAmB;AAAA,UACtC;AAAA,QACF,CAAC;AAED,YAAI,CAAC,SAAS,IAAI;AAChB;AAAA,QACF;AAEA,cAAM,WAAY,MAAM,SAAS,KAAK;AAGtC,YAAI,CAAC,SAAS,0BAA0B,CAAC,SAAS,gBAAgB;AAChE;AAAA,QACF;AAEA,eAAO;AAAA,MACT,QAAQ;AACN,uBAAe,QAAQ,MAAM;AAE7B;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT,QAAQ;AACN,mBAAe,QAAQ,MAAM;AAE7B,WAAO;AAAA,EACT;AACF;AAmBA,eAAsB,cAAc,UAAkB,UAA4B,CAAC,GAAqB;AACtG,QAAM,WAAW,MAAM,sBAAsB,UAAU,OAAO;AAC9D,SAAO,aAAa;AACtB;AAmBA,eAAsB,4BAA4B,UAAkB,UAA4B,CAAC,GAAqB;AACpH,QAAM,WAAW,MAAM,sBAAsB,UAAU,OAAO;AAC9D,SAAO,UAAU,0BAA0B;AAC7C;","names":[]}
|
|
@@ -28,7 +28,8 @@ export interface FileOAuthStorageOptions {
|
|
|
28
28
|
*
|
|
29
29
|
* Does NOT touch fields outside the OAuth envelope (`auth_token`, custom
|
|
30
30
|
* fields) when saving — the MCP provider only mutates `oauth_tokens`,
|
|
31
|
-
* `oauth_client`, and `oauth_code_verifier`, and we preserve
|
|
31
|
+
* `oauth_client`, `oauth_resource`, and `oauth_code_verifier`, and we preserve
|
|
32
|
+
* everything else.
|
|
32
33
|
*
|
|
33
34
|
* @example
|
|
34
35
|
* ```ts
|
|
@@ -28,7 +28,8 @@ export interface FileOAuthStorageOptions {
|
|
|
28
28
|
*
|
|
29
29
|
* Does NOT touch fields outside the OAuth envelope (`auth_token`, custom
|
|
30
30
|
* fields) when saving — the MCP provider only mutates `oauth_tokens`,
|
|
31
|
-
* `oauth_client`, and `oauth_code_verifier`, and we preserve
|
|
31
|
+
* `oauth_client`, `oauth_resource`, and `oauth_code_verifier`, and we preserve
|
|
32
|
+
* everything else.
|
|
32
33
|
*
|
|
33
34
|
* @example
|
|
34
35
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-storage.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/oauth/file-storage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-storage.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/oauth/file-storage.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAwBlD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,kBAAkB,CA0E3F"}
|
|
@@ -73,6 +73,7 @@ function createFileOAuthStorage(options) {
|
|
|
73
73
|
auth_token: stored.auth_token,
|
|
74
74
|
oauth_tokens: stored.oauth_tokens,
|
|
75
75
|
oauth_client: stored.oauth_client,
|
|
76
|
+
oauth_resource: stored.oauth_resource,
|
|
76
77
|
oauth_client_credentials: stored.oauth_client_credentials,
|
|
77
78
|
oauth_code_verifier: stored.oauth_code_verifier
|
|
78
79
|
};
|
|
@@ -81,16 +82,19 @@ function createFileOAuthStorage(options) {
|
|
|
81
82
|
const key = agentKeyOverride ?? agent.id;
|
|
82
83
|
const config = await readConfig();
|
|
83
84
|
const existing = config.agents[key] ?? { url: agent.agent_uri };
|
|
84
|
-
|
|
85
|
+
const next = {
|
|
85
86
|
...existing,
|
|
86
87
|
url: agent.agent_uri,
|
|
87
88
|
protocol: agent.protocol,
|
|
88
89
|
...agent.auth_token !== void 0 ? { auth_token: agent.auth_token } : {},
|
|
89
90
|
...agent.oauth_tokens !== void 0 ? { oauth_tokens: agent.oauth_tokens } : {},
|
|
90
91
|
...agent.oauth_client !== void 0 ? { oauth_client: agent.oauth_client } : {},
|
|
92
|
+
...agent.oauth_resource !== void 0 ? { oauth_resource: agent.oauth_resource } : {},
|
|
91
93
|
...agent.oauth_client_credentials !== void 0 ? { oauth_client_credentials: agent.oauth_client_credentials } : {},
|
|
92
94
|
...agent.oauth_code_verifier !== void 0 ? { oauth_code_verifier: agent.oauth_code_verifier } : {}
|
|
93
95
|
};
|
|
96
|
+
if (agent.oauth_resource === void 0) delete next.oauth_resource;
|
|
97
|
+
config.agents[key] = next;
|
|
94
98
|
await writeConfig(config);
|
|
95
99
|
}
|
|
96
100
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/auth/oauth/file-storage.ts"],"sourcesContent":["/**\n * File-backed {@link OAuthConfigStorage} implementation.\n *\n * Persists refreshed OAuth tokens back to a JSON file so that subsequent\n * `callTool` invocations use the latest access + refresh tokens without\n * triggering a redundant refresh (or worse, a re-login).\n *\n * On-disk format is the shape used by the `adcp` CLI's agents.json — agents\n * keyed by alias, each with `{ url, protocol, auth_token?, oauth_tokens?, oauth_client? }`.\n * Library consumers who want a different shape can implement\n * {@link OAuthConfigStorage} directly.\n */\nimport { promises as fs } from 'fs';\nimport path from 'path';\nimport { randomBytes } from 'crypto';\nimport type { AgentConfig } from '../../types/adcp';\nimport type { OAuthConfigStorage } from './types';\n\n/**\n * Shape of a single agent record on disk (matches the `adcp` CLI's config format).\n */\ninterface StoredAgent {\n url: string;\n protocol?: 'mcp' | 'a2a';\n auth_token?: string;\n oauth_tokens?: AgentConfig['oauth_tokens'];\n oauth_client?: AgentConfig['oauth_client'];\n oauth_client_credentials?: AgentConfig['oauth_client_credentials'];\n oauth_code_verifier?: string;\n}\n\n/**\n * Shape of the whole config file.\n */\ninterface StoredConfig {\n agents: Record<string, StoredAgent>;\n defaults?: Record<string, unknown>;\n}\n\n/**\n * Options for {@link createFileOAuthStorage}.\n */\nexport interface FileOAuthStorageOptions {\n /** Absolute path to the config JSON file. Must be a file, not a directory. */\n configPath: string;\n /**\n * Key persistence under a stable alias regardless of `agent.id`. Use this\n * when the in-memory `AgentConfig` carries an ephemeral identifier (e.g.\n * a per-request tenant id, or a synthetic `cli-agent`) but on-disk storage\n * should be organized by a long-lived alias chosen by the operator.\n */\n agentKey?: string;\n /**\n * Create the parent directory (with mode 0o700) if it doesn't exist.\n * Default true — CLI users expect first-run to create `~/.adcp/`.\n */\n autoCreateDir?: boolean;\n /** File mode for the config file when we create it. Default 0o600. */\n fileMode?: number;\n}\n\n/**\n * Create a file-backed `OAuthConfigStorage`.\n *\n * Reads are cheap: a single JSON.parse per call. Writes are atomic via\n * `write-then-rename` so a crash mid-save cannot produce a half-written file.\n *\n * Does NOT touch fields outside the OAuth envelope (`auth_token`, custom\n * fields) when saving — the MCP provider only mutates `oauth_tokens`,\n * `oauth_client`, and `oauth_code_verifier`, and we preserve everything else.\n *\n * @example\n * ```ts\n * const storage = createFileOAuthStorage({ configPath: '/home/user/.adcp/config.json' });\n * const provider = createNonInteractiveOAuthProvider(agent, { storage });\n * ```\n */\nexport function createFileOAuthStorage(options: FileOAuthStorageOptions): OAuthConfigStorage {\n const configPath = options.configPath;\n const agentKeyOverride = options.agentKey;\n const autoCreateDir = options.autoCreateDir ?? true;\n const fileMode = options.fileMode ?? 0o600;\n\n async function readConfig(): Promise<StoredConfig> {\n try {\n const raw = await fs.readFile(configPath, 'utf-8');\n const parsed = JSON.parse(raw) as StoredConfig;\n if (!parsed.agents || typeof parsed.agents !== 'object') parsed.agents = {};\n return parsed;\n } catch (err) {\n if (isNotFound(err)) return { agents: {} };\n throw err;\n }\n }\n\n async function writeConfig(config: StoredConfig): Promise<void> {\n if (autoCreateDir) {\n await fs.mkdir(path.dirname(configPath), { recursive: true, mode: 0o700 });\n }\n // Atomic write: stage next to the target, then rename. Same filesystem →\n // rename is atomic on POSIX and on NTFS (MoveFileEx under the hood).\n // Random suffix guards against two concurrent saves in the same process\n // racing on the same temp path.\n const tempPath = `${configPath}.${process.pid}.${randomBytes(4).toString('hex')}.tmp`;\n const serialized = JSON.stringify(config, null, 2);\n await fs.writeFile(tempPath, serialized, { mode: fileMode });\n await fs.rename(tempPath, configPath);\n }\n\n return {\n async loadAgent(agentId: string): Promise<AgentConfig | undefined> {\n const key = agentKeyOverride ?? agentId;\n const config = await readConfig();\n const stored = config.agents[key];\n if (!stored) return undefined;\n return {\n id: agentId,\n name: agentId,\n agent_uri: stored.url,\n protocol: stored.protocol ?? 'mcp',\n auth_token: stored.auth_token,\n oauth_tokens: stored.oauth_tokens,\n oauth_client: stored.oauth_client,\n oauth_client_credentials: stored.oauth_client_credentials,\n oauth_code_verifier: stored.oauth_code_verifier,\n };\n },\n\n async saveAgent(agent: AgentConfig): Promise<void> {\n const key = agentKeyOverride ?? agent.id;\n const config = await readConfig();\n const existing = config.agents[key] ?? { url: agent.agent_uri };\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/auth/oauth/file-storage.ts"],"sourcesContent":["/**\n * File-backed {@link OAuthConfigStorage} implementation.\n *\n * Persists refreshed OAuth tokens back to a JSON file so that subsequent\n * `callTool` invocations use the latest access + refresh tokens without\n * triggering a redundant refresh (or worse, a re-login).\n *\n * On-disk format is the shape used by the `adcp` CLI's agents.json — agents\n * keyed by alias, each with\n * `{ url, protocol, auth_token?, oauth_tokens?, oauth_client?, oauth_resource? }`.\n * Library consumers who want a different shape can implement\n * {@link OAuthConfigStorage} directly.\n */\nimport { promises as fs } from 'fs';\nimport path from 'path';\nimport { randomBytes } from 'crypto';\nimport type { AgentConfig } from '../../types/adcp';\nimport type { OAuthConfigStorage } from './types';\n\n/**\n * Shape of a single agent record on disk (matches the `adcp` CLI's config format).\n */\ninterface StoredAgent {\n url: string;\n protocol?: 'mcp' | 'a2a';\n auth_token?: string;\n oauth_tokens?: AgentConfig['oauth_tokens'];\n oauth_client?: AgentConfig['oauth_client'];\n oauth_resource?: string;\n oauth_client_credentials?: AgentConfig['oauth_client_credentials'];\n oauth_code_verifier?: string;\n}\n\n/**\n * Shape of the whole config file.\n */\ninterface StoredConfig {\n agents: Record<string, StoredAgent>;\n defaults?: Record<string, unknown>;\n}\n\n/**\n * Options for {@link createFileOAuthStorage}.\n */\nexport interface FileOAuthStorageOptions {\n /** Absolute path to the config JSON file. Must be a file, not a directory. */\n configPath: string;\n /**\n * Key persistence under a stable alias regardless of `agent.id`. Use this\n * when the in-memory `AgentConfig` carries an ephemeral identifier (e.g.\n * a per-request tenant id, or a synthetic `cli-agent`) but on-disk storage\n * should be organized by a long-lived alias chosen by the operator.\n */\n agentKey?: string;\n /**\n * Create the parent directory (with mode 0o700) if it doesn't exist.\n * Default true — CLI users expect first-run to create `~/.adcp/`.\n */\n autoCreateDir?: boolean;\n /** File mode for the config file when we create it. Default 0o600. */\n fileMode?: number;\n}\n\n/**\n * Create a file-backed `OAuthConfigStorage`.\n *\n * Reads are cheap: a single JSON.parse per call. Writes are atomic via\n * `write-then-rename` so a crash mid-save cannot produce a half-written file.\n *\n * Does NOT touch fields outside the OAuth envelope (`auth_token`, custom\n * fields) when saving — the MCP provider only mutates `oauth_tokens`,\n * `oauth_client`, `oauth_resource`, and `oauth_code_verifier`, and we preserve\n * everything else.\n *\n * @example\n * ```ts\n * const storage = createFileOAuthStorage({ configPath: '/home/user/.adcp/config.json' });\n * const provider = createNonInteractiveOAuthProvider(agent, { storage });\n * ```\n */\nexport function createFileOAuthStorage(options: FileOAuthStorageOptions): OAuthConfigStorage {\n const configPath = options.configPath;\n const agentKeyOverride = options.agentKey;\n const autoCreateDir = options.autoCreateDir ?? true;\n const fileMode = options.fileMode ?? 0o600;\n\n async function readConfig(): Promise<StoredConfig> {\n try {\n const raw = await fs.readFile(configPath, 'utf-8');\n const parsed = JSON.parse(raw) as StoredConfig;\n if (!parsed.agents || typeof parsed.agents !== 'object') parsed.agents = {};\n return parsed;\n } catch (err) {\n if (isNotFound(err)) return { agents: {} };\n throw err;\n }\n }\n\n async function writeConfig(config: StoredConfig): Promise<void> {\n if (autoCreateDir) {\n await fs.mkdir(path.dirname(configPath), { recursive: true, mode: 0o700 });\n }\n // Atomic write: stage next to the target, then rename. Same filesystem →\n // rename is atomic on POSIX and on NTFS (MoveFileEx under the hood).\n // Random suffix guards against two concurrent saves in the same process\n // racing on the same temp path.\n const tempPath = `${configPath}.${process.pid}.${randomBytes(4).toString('hex')}.tmp`;\n const serialized = JSON.stringify(config, null, 2);\n await fs.writeFile(tempPath, serialized, { mode: fileMode });\n await fs.rename(tempPath, configPath);\n }\n\n return {\n async loadAgent(agentId: string): Promise<AgentConfig | undefined> {\n const key = agentKeyOverride ?? agentId;\n const config = await readConfig();\n const stored = config.agents[key];\n if (!stored) return undefined;\n return {\n id: agentId,\n name: agentId,\n agent_uri: stored.url,\n protocol: stored.protocol ?? 'mcp',\n auth_token: stored.auth_token,\n oauth_tokens: stored.oauth_tokens,\n oauth_client: stored.oauth_client,\n oauth_resource: stored.oauth_resource,\n oauth_client_credentials: stored.oauth_client_credentials,\n oauth_code_verifier: stored.oauth_code_verifier,\n };\n },\n\n async saveAgent(agent: AgentConfig): Promise<void> {\n const key = agentKeyOverride ?? agent.id;\n const config = await readConfig();\n const existing = config.agents[key] ?? { url: agent.agent_uri };\n const next: StoredAgent = {\n ...existing,\n url: agent.agent_uri,\n protocol: agent.protocol,\n ...(agent.auth_token !== undefined ? { auth_token: agent.auth_token } : {}),\n ...(agent.oauth_tokens !== undefined ? { oauth_tokens: agent.oauth_tokens } : {}),\n ...(agent.oauth_client !== undefined ? { oauth_client: agent.oauth_client } : {}),\n ...(agent.oauth_resource !== undefined ? { oauth_resource: agent.oauth_resource } : {}),\n ...(agent.oauth_client_credentials !== undefined\n ? { oauth_client_credentials: agent.oauth_client_credentials }\n : {}),\n ...(agent.oauth_code_verifier !== undefined ? { oauth_code_verifier: agent.oauth_code_verifier } : {}),\n };\n if (agent.oauth_resource === undefined) delete next.oauth_resource;\n config.agents[key] = next;\n await writeConfig(config);\n },\n };\n}\n\nfunction isNotFound(err: unknown): boolean {\n return Boolean(err && typeof err === 'object' && (err as { code?: string }).code === 'ENOENT');\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,gBAA+B;AAC/B,kBAAiB;AACjB,oBAA4B;AAiErB,SAAS,uBAAuB,SAAsD;AAC3F,QAAM,aAAa,QAAQ;AAC3B,QAAM,mBAAmB,QAAQ;AACjC,QAAM,gBAAgB,QAAQ,iBAAiB;AAC/C,QAAM,WAAW,QAAQ,YAAY;AAErC,iBAAe,aAAoC;AACjD,QAAI;AACF,YAAM,MAAM,MAAM,UAAAA,SAAG,SAAS,YAAY,OAAO;AACjD,YAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,UAAI,CAAC,OAAO,UAAU,OAAO,OAAO,WAAW,SAAU,QAAO,SAAS,CAAC;AAC1E,aAAO;AAAA,IACT,SAAS,KAAK;AACZ,UAAI,WAAW,GAAG,EAAG,QAAO,EAAE,QAAQ,CAAC,EAAE;AACzC,YAAM;AAAA,IACR;AAAA,EACF;AAEA,iBAAe,YAAY,QAAqC;AAC9D,QAAI,eAAe;AACjB,YAAM,UAAAA,SAAG,MAAM,YAAAC,QAAK,QAAQ,UAAU,GAAG,EAAE,WAAW,MAAM,MAAM,IAAM,CAAC;AAAA,IAC3E;AAKA,UAAM,WAAW,GAAG,UAAU,IAAI,QAAQ,GAAG,QAAI,2BAAY,CAAC,EAAE,SAAS,KAAK,CAAC;AAC/E,UAAM,aAAa,KAAK,UAAU,QAAQ,MAAM,CAAC;AACjD,UAAM,UAAAD,SAAG,UAAU,UAAU,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,UAAM,UAAAA,SAAG,OAAO,UAAU,UAAU;AAAA,EACtC;AAEA,SAAO;AAAA,IACL,MAAM,UAAU,SAAmD;AACjE,YAAM,MAAM,oBAAoB;AAChC,YAAM,SAAS,MAAM,WAAW;AAChC,YAAM,SAAS,OAAO,OAAO,GAAG;AAChC,UAAI,CAAC,OAAQ,QAAO;AACpB,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO,YAAY;AAAA,QAC7B,YAAY,OAAO;AAAA,QACnB,cAAc,OAAO;AAAA,QACrB,cAAc,OAAO;AAAA,QACrB,gBAAgB,OAAO;AAAA,QACvB,0BAA0B,OAAO;AAAA,QACjC,qBAAqB,OAAO;AAAA,MAC9B;AAAA,IACF;AAAA,IAEA,MAAM,UAAU,OAAmC;AACjD,YAAM,MAAM,oBAAoB,MAAM;AACtC,YAAM,SAAS,MAAM,WAAW;AAChC,YAAM,WAAW,OAAO,OAAO,GAAG,KAAK,EAAE,KAAK,MAAM,UAAU;AAC9D,YAAM,OAAoB;AAAA,QACxB,GAAG;AAAA,QACH,KAAK,MAAM;AAAA,QACX,UAAU,MAAM;AAAA,QAChB,GAAI,MAAM,eAAe,SAAY,EAAE,YAAY,MAAM,WAAW,IAAI,CAAC;AAAA,QACzE,GAAI,MAAM,iBAAiB,SAAY,EAAE,cAAc,MAAM,aAAa,IAAI,CAAC;AAAA,QAC/E,GAAI,MAAM,iBAAiB,SAAY,EAAE,cAAc,MAAM,aAAa,IAAI,CAAC;AAAA,QAC/E,GAAI,MAAM,mBAAmB,SAAY,EAAE,gBAAgB,MAAM,eAAe,IAAI,CAAC;AAAA,QACrF,GAAI,MAAM,6BAA6B,SACnC,EAAE,0BAA0B,MAAM,yBAAyB,IAC3D,CAAC;AAAA,QACL,GAAI,MAAM,wBAAwB,SAAY,EAAE,qBAAqB,MAAM,oBAAoB,IAAI,CAAC;AAAA,MACtG;AACA,UAAI,MAAM,mBAAmB,OAAW,QAAO,KAAK;AACpD,aAAO,OAAO,GAAG,IAAI;AACrB,YAAM,YAAY,MAAM;AAAA,IAC1B;AAAA,EACF;AACF;AAEA,SAAS,WAAW,KAAuB;AACzC,SAAO,QAAQ,OAAO,OAAO,QAAQ,YAAa,IAA0B,SAAS,QAAQ;AAC/F;","names":["fs","path"]}
|
|
@@ -40,6 +40,7 @@ function createFileOAuthStorage(options) {
|
|
|
40
40
|
auth_token: stored.auth_token,
|
|
41
41
|
oauth_tokens: stored.oauth_tokens,
|
|
42
42
|
oauth_client: stored.oauth_client,
|
|
43
|
+
oauth_resource: stored.oauth_resource,
|
|
43
44
|
oauth_client_credentials: stored.oauth_client_credentials,
|
|
44
45
|
oauth_code_verifier: stored.oauth_code_verifier
|
|
45
46
|
};
|
|
@@ -48,16 +49,19 @@ function createFileOAuthStorage(options) {
|
|
|
48
49
|
const key = agentKeyOverride ?? agent.id;
|
|
49
50
|
const config = await readConfig();
|
|
50
51
|
const existing = config.agents[key] ?? { url: agent.agent_uri };
|
|
51
|
-
|
|
52
|
+
const next = {
|
|
52
53
|
...existing,
|
|
53
54
|
url: agent.agent_uri,
|
|
54
55
|
protocol: agent.protocol,
|
|
55
56
|
...agent.auth_token !== void 0 ? { auth_token: agent.auth_token } : {},
|
|
56
57
|
...agent.oauth_tokens !== void 0 ? { oauth_tokens: agent.oauth_tokens } : {},
|
|
57
58
|
...agent.oauth_client !== void 0 ? { oauth_client: agent.oauth_client } : {},
|
|
59
|
+
...agent.oauth_resource !== void 0 ? { oauth_resource: agent.oauth_resource } : {},
|
|
58
60
|
...agent.oauth_client_credentials !== void 0 ? { oauth_client_credentials: agent.oauth_client_credentials } : {},
|
|
59
61
|
...agent.oauth_code_verifier !== void 0 ? { oauth_code_verifier: agent.oauth_code_verifier } : {}
|
|
60
62
|
};
|
|
63
|
+
if (agent.oauth_resource === void 0) delete next.oauth_resource;
|
|
64
|
+
config.agents[key] = next;
|
|
61
65
|
await writeConfig(config);
|
|
62
66
|
}
|
|
63
67
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/auth/oauth/file-storage.ts"],"sourcesContent":["/**\n * File-backed {@link OAuthConfigStorage} implementation.\n *\n * Persists refreshed OAuth tokens back to a JSON file so that subsequent\n * `callTool` invocations use the latest access + refresh tokens without\n * triggering a redundant refresh (or worse, a re-login).\n *\n * On-disk format is the shape used by the `adcp` CLI's agents.json — agents\n * keyed by alias, each with `{ url, protocol, auth_token?, oauth_tokens?, oauth_client? }`.\n * Library consumers who want a different shape can implement\n * {@link OAuthConfigStorage} directly.\n */\nimport { promises as fs } from 'fs';\nimport path from 'path';\nimport { randomBytes } from 'crypto';\nimport type { AgentConfig } from '../../types/adcp';\nimport type { OAuthConfigStorage } from './types';\n\n/**\n * Shape of a single agent record on disk (matches the `adcp` CLI's config format).\n */\ninterface StoredAgent {\n url: string;\n protocol?: 'mcp' | 'a2a';\n auth_token?: string;\n oauth_tokens?: AgentConfig['oauth_tokens'];\n oauth_client?: AgentConfig['oauth_client'];\n oauth_client_credentials?: AgentConfig['oauth_client_credentials'];\n oauth_code_verifier?: string;\n}\n\n/**\n * Shape of the whole config file.\n */\ninterface StoredConfig {\n agents: Record<string, StoredAgent>;\n defaults?: Record<string, unknown>;\n}\n\n/**\n * Options for {@link createFileOAuthStorage}.\n */\nexport interface FileOAuthStorageOptions {\n /** Absolute path to the config JSON file. Must be a file, not a directory. */\n configPath: string;\n /**\n * Key persistence under a stable alias regardless of `agent.id`. Use this\n * when the in-memory `AgentConfig` carries an ephemeral identifier (e.g.\n * a per-request tenant id, or a synthetic `cli-agent`) but on-disk storage\n * should be organized by a long-lived alias chosen by the operator.\n */\n agentKey?: string;\n /**\n * Create the parent directory (with mode 0o700) if it doesn't exist.\n * Default true — CLI users expect first-run to create `~/.adcp/`.\n */\n autoCreateDir?: boolean;\n /** File mode for the config file when we create it. Default 0o600. */\n fileMode?: number;\n}\n\n/**\n * Create a file-backed `OAuthConfigStorage`.\n *\n * Reads are cheap: a single JSON.parse per call. Writes are atomic via\n * `write-then-rename` so a crash mid-save cannot produce a half-written file.\n *\n * Does NOT touch fields outside the OAuth envelope (`auth_token`, custom\n * fields) when saving — the MCP provider only mutates `oauth_tokens`,\n * `oauth_client`, and `oauth_code_verifier`, and we preserve everything else.\n *\n * @example\n * ```ts\n * const storage = createFileOAuthStorage({ configPath: '/home/user/.adcp/config.json' });\n * const provider = createNonInteractiveOAuthProvider(agent, { storage });\n * ```\n */\nexport function createFileOAuthStorage(options: FileOAuthStorageOptions): OAuthConfigStorage {\n const configPath = options.configPath;\n const agentKeyOverride = options.agentKey;\n const autoCreateDir = options.autoCreateDir ?? true;\n const fileMode = options.fileMode ?? 0o600;\n\n async function readConfig(): Promise<StoredConfig> {\n try {\n const raw = await fs.readFile(configPath, 'utf-8');\n const parsed = JSON.parse(raw) as StoredConfig;\n if (!parsed.agents || typeof parsed.agents !== 'object') parsed.agents = {};\n return parsed;\n } catch (err) {\n if (isNotFound(err)) return { agents: {} };\n throw err;\n }\n }\n\n async function writeConfig(config: StoredConfig): Promise<void> {\n if (autoCreateDir) {\n await fs.mkdir(path.dirname(configPath), { recursive: true, mode: 0o700 });\n }\n // Atomic write: stage next to the target, then rename. Same filesystem →\n // rename is atomic on POSIX and on NTFS (MoveFileEx under the hood).\n // Random suffix guards against two concurrent saves in the same process\n // racing on the same temp path.\n const tempPath = `${configPath}.${process.pid}.${randomBytes(4).toString('hex')}.tmp`;\n const serialized = JSON.stringify(config, null, 2);\n await fs.writeFile(tempPath, serialized, { mode: fileMode });\n await fs.rename(tempPath, configPath);\n }\n\n return {\n async loadAgent(agentId: string): Promise<AgentConfig | undefined> {\n const key = agentKeyOverride ?? agentId;\n const config = await readConfig();\n const stored = config.agents[key];\n if (!stored) return undefined;\n return {\n id: agentId,\n name: agentId,\n agent_uri: stored.url,\n protocol: stored.protocol ?? 'mcp',\n auth_token: stored.auth_token,\n oauth_tokens: stored.oauth_tokens,\n oauth_client: stored.oauth_client,\n oauth_client_credentials: stored.oauth_client_credentials,\n oauth_code_verifier: stored.oauth_code_verifier,\n };\n },\n\n async saveAgent(agent: AgentConfig): Promise<void> {\n const key = agentKeyOverride ?? agent.id;\n const config = await readConfig();\n const existing = config.agents[key] ?? { url: agent.agent_uri };\n
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/auth/oauth/file-storage.ts"],"sourcesContent":["/**\n * File-backed {@link OAuthConfigStorage} implementation.\n *\n * Persists refreshed OAuth tokens back to a JSON file so that subsequent\n * `callTool` invocations use the latest access + refresh tokens without\n * triggering a redundant refresh (or worse, a re-login).\n *\n * On-disk format is the shape used by the `adcp` CLI's agents.json — agents\n * keyed by alias, each with\n * `{ url, protocol, auth_token?, oauth_tokens?, oauth_client?, oauth_resource? }`.\n * Library consumers who want a different shape can implement\n * {@link OAuthConfigStorage} directly.\n */\nimport { promises as fs } from 'fs';\nimport path from 'path';\nimport { randomBytes } from 'crypto';\nimport type { AgentConfig } from '../../types/adcp';\nimport type { OAuthConfigStorage } from './types';\n\n/**\n * Shape of a single agent record on disk (matches the `adcp` CLI's config format).\n */\ninterface StoredAgent {\n url: string;\n protocol?: 'mcp' | 'a2a';\n auth_token?: string;\n oauth_tokens?: AgentConfig['oauth_tokens'];\n oauth_client?: AgentConfig['oauth_client'];\n oauth_resource?: string;\n oauth_client_credentials?: AgentConfig['oauth_client_credentials'];\n oauth_code_verifier?: string;\n}\n\n/**\n * Shape of the whole config file.\n */\ninterface StoredConfig {\n agents: Record<string, StoredAgent>;\n defaults?: Record<string, unknown>;\n}\n\n/**\n * Options for {@link createFileOAuthStorage}.\n */\nexport interface FileOAuthStorageOptions {\n /** Absolute path to the config JSON file. Must be a file, not a directory. */\n configPath: string;\n /**\n * Key persistence under a stable alias regardless of `agent.id`. Use this\n * when the in-memory `AgentConfig` carries an ephemeral identifier (e.g.\n * a per-request tenant id, or a synthetic `cli-agent`) but on-disk storage\n * should be organized by a long-lived alias chosen by the operator.\n */\n agentKey?: string;\n /**\n * Create the parent directory (with mode 0o700) if it doesn't exist.\n * Default true — CLI users expect first-run to create `~/.adcp/`.\n */\n autoCreateDir?: boolean;\n /** File mode for the config file when we create it. Default 0o600. */\n fileMode?: number;\n}\n\n/**\n * Create a file-backed `OAuthConfigStorage`.\n *\n * Reads are cheap: a single JSON.parse per call. Writes are atomic via\n * `write-then-rename` so a crash mid-save cannot produce a half-written file.\n *\n * Does NOT touch fields outside the OAuth envelope (`auth_token`, custom\n * fields) when saving — the MCP provider only mutates `oauth_tokens`,\n * `oauth_client`, `oauth_resource`, and `oauth_code_verifier`, and we preserve\n * everything else.\n *\n * @example\n * ```ts\n * const storage = createFileOAuthStorage({ configPath: '/home/user/.adcp/config.json' });\n * const provider = createNonInteractiveOAuthProvider(agent, { storage });\n * ```\n */\nexport function createFileOAuthStorage(options: FileOAuthStorageOptions): OAuthConfigStorage {\n const configPath = options.configPath;\n const agentKeyOverride = options.agentKey;\n const autoCreateDir = options.autoCreateDir ?? true;\n const fileMode = options.fileMode ?? 0o600;\n\n async function readConfig(): Promise<StoredConfig> {\n try {\n const raw = await fs.readFile(configPath, 'utf-8');\n const parsed = JSON.parse(raw) as StoredConfig;\n if (!parsed.agents || typeof parsed.agents !== 'object') parsed.agents = {};\n return parsed;\n } catch (err) {\n if (isNotFound(err)) return { agents: {} };\n throw err;\n }\n }\n\n async function writeConfig(config: StoredConfig): Promise<void> {\n if (autoCreateDir) {\n await fs.mkdir(path.dirname(configPath), { recursive: true, mode: 0o700 });\n }\n // Atomic write: stage next to the target, then rename. Same filesystem →\n // rename is atomic on POSIX and on NTFS (MoveFileEx under the hood).\n // Random suffix guards against two concurrent saves in the same process\n // racing on the same temp path.\n const tempPath = `${configPath}.${process.pid}.${randomBytes(4).toString('hex')}.tmp`;\n const serialized = JSON.stringify(config, null, 2);\n await fs.writeFile(tempPath, serialized, { mode: fileMode });\n await fs.rename(tempPath, configPath);\n }\n\n return {\n async loadAgent(agentId: string): Promise<AgentConfig | undefined> {\n const key = agentKeyOverride ?? agentId;\n const config = await readConfig();\n const stored = config.agents[key];\n if (!stored) return undefined;\n return {\n id: agentId,\n name: agentId,\n agent_uri: stored.url,\n protocol: stored.protocol ?? 'mcp',\n auth_token: stored.auth_token,\n oauth_tokens: stored.oauth_tokens,\n oauth_client: stored.oauth_client,\n oauth_resource: stored.oauth_resource,\n oauth_client_credentials: stored.oauth_client_credentials,\n oauth_code_verifier: stored.oauth_code_verifier,\n };\n },\n\n async saveAgent(agent: AgentConfig): Promise<void> {\n const key = agentKeyOverride ?? agent.id;\n const config = await readConfig();\n const existing = config.agents[key] ?? { url: agent.agent_uri };\n const next: StoredAgent = {\n ...existing,\n url: agent.agent_uri,\n protocol: agent.protocol,\n ...(agent.auth_token !== undefined ? { auth_token: agent.auth_token } : {}),\n ...(agent.oauth_tokens !== undefined ? { oauth_tokens: agent.oauth_tokens } : {}),\n ...(agent.oauth_client !== undefined ? { oauth_client: agent.oauth_client } : {}),\n ...(agent.oauth_resource !== undefined ? { oauth_resource: agent.oauth_resource } : {}),\n ...(agent.oauth_client_credentials !== undefined\n ? { oauth_client_credentials: agent.oauth_client_credentials }\n : {}),\n ...(agent.oauth_code_verifier !== undefined ? { oauth_code_verifier: agent.oauth_code_verifier } : {}),\n };\n if (agent.oauth_resource === undefined) delete next.oauth_resource;\n config.agents[key] = next;\n await writeConfig(config);\n },\n };\n}\n\nfunction isNotFound(err: unknown): boolean {\n return Boolean(err && typeof err === 'object' && (err as { code?: string }).code === 'ENOENT');\n}\n"],"mappings":"AAaA,SAAS,YAAY,UAAU;AAC/B,OAAO,UAAU;AACjB,SAAS,mBAAmB;AAiErB,SAAS,uBAAuB,SAAsD;AAC3F,QAAM,aAAa,QAAQ;AAC3B,QAAM,mBAAmB,QAAQ;AACjC,QAAM,gBAAgB,QAAQ,iBAAiB;AAC/C,QAAM,WAAW,QAAQ,YAAY;AAErC,iBAAe,aAAoC;AACjD,QAAI;AACF,YAAM,MAAM,MAAM,GAAG,SAAS,YAAY,OAAO;AACjD,YAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,UAAI,CAAC,OAAO,UAAU,OAAO,OAAO,WAAW,SAAU,QAAO,SAAS,CAAC;AAC1E,aAAO;AAAA,IACT,SAAS,KAAK;AACZ,UAAI,WAAW,GAAG,EAAG,QAAO,EAAE,QAAQ,CAAC,EAAE;AACzC,YAAM;AAAA,IACR;AAAA,EACF;AAEA,iBAAe,YAAY,QAAqC;AAC9D,QAAI,eAAe;AACjB,YAAM,GAAG,MAAM,KAAK,QAAQ,UAAU,GAAG,EAAE,WAAW,MAAM,MAAM,IAAM,CAAC;AAAA,IAC3E;AAKA,UAAM,WAAW,GAAG,UAAU,IAAI,QAAQ,GAAG,IAAI,YAAY,CAAC,EAAE,SAAS,KAAK,CAAC;AAC/E,UAAM,aAAa,KAAK,UAAU,QAAQ,MAAM,CAAC;AACjD,UAAM,GAAG,UAAU,UAAU,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3D,UAAM,GAAG,OAAO,UAAU,UAAU;AAAA,EACtC;AAEA,SAAO;AAAA,IACL,MAAM,UAAU,SAAmD;AACjE,YAAM,MAAM,oBAAoB;AAChC,YAAM,SAAS,MAAM,WAAW;AAChC,YAAM,SAAS,OAAO,OAAO,GAAG;AAChC,UAAI,CAAC,OAAQ,QAAO;AACpB,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WAAW,OAAO;AAAA,QAClB,UAAU,OAAO,YAAY;AAAA,QAC7B,YAAY,OAAO;AAAA,QACnB,cAAc,OAAO;AAAA,QACrB,cAAc,OAAO;AAAA,QACrB,gBAAgB,OAAO;AAAA,QACvB,0BAA0B,OAAO;AAAA,QACjC,qBAAqB,OAAO;AAAA,MAC9B;AAAA,IACF;AAAA,IAEA,MAAM,UAAU,OAAmC;AACjD,YAAM,MAAM,oBAAoB,MAAM;AACtC,YAAM,SAAS,MAAM,WAAW;AAChC,YAAM,WAAW,OAAO,OAAO,GAAG,KAAK,EAAE,KAAK,MAAM,UAAU;AAC9D,YAAM,OAAoB;AAAA,QACxB,GAAG;AAAA,QACH,KAAK,MAAM;AAAA,QACX,UAAU,MAAM;AAAA,QAChB,GAAI,MAAM,eAAe,SAAY,EAAE,YAAY,MAAM,WAAW,IAAI,CAAC;AAAA,QACzE,GAAI,MAAM,iBAAiB,SAAY,EAAE,cAAc,MAAM,aAAa,IAAI,CAAC;AAAA,QAC/E,GAAI,MAAM,iBAAiB,SAAY,EAAE,cAAc,MAAM,aAAa,IAAI,CAAC;AAAA,QAC/E,GAAI,MAAM,mBAAmB,SAAY,EAAE,gBAAgB,MAAM,eAAe,IAAI,CAAC;AAAA,QACrF,GAAI,MAAM,6BAA6B,SACnC,EAAE,0BAA0B,MAAM,yBAAyB,IAC3D,CAAC;AAAA,QACL,GAAI,MAAM,wBAAwB,SAAY,EAAE,qBAAqB,MAAM,oBAAoB,IAAI,CAAC;AAAA,MACtG;AACA,UAAI,MAAM,mBAAmB,OAAW,QAAO,KAAK;AACpD,aAAO,OAAO,GAAG,IAAI;AACrB,YAAM,YAAY,MAAM;AAAA,IAC1B;AAAA,EACF;AACF;AAEA,SAAS,WAAW,KAAuB;AACzC,SAAO,QAAQ,OAAO,OAAO,QAAQ,YAAa,IAA0B,SAAS,QAAQ;AAC/F;","names":[]}
|
|
@@ -34,7 +34,7 @@ export type { OAuthFlowHandler, OAuthProviderConfig, OAuthConfigStorage, OAuthCl
|
|
|
34
34
|
export { DEFAULT_CLIENT_METADATA, OAuthError, OAuthCancelledError, OAuthTimeoutError, toMCPTokens, fromMCPTokens, toMCPClientInfo, fromMCPClientInfo, } from './types.mjs';
|
|
35
35
|
export { CLIFlowHandler, type CLIFlowHandlerConfig } from './CLIFlowHandler.mjs';
|
|
36
36
|
export { NonInteractiveFlowHandler, type NonInteractiveFlowHandlerConfig } from './NonInteractiveFlowHandler.mjs';
|
|
37
|
-
export { startWebOAuthFlow, completeWebOAuthFlow, safeReturnTo, InMemoryPendingFlowStore, InvalidOrExpiredFlowError, StateMismatchError, BrowserBindingRequiredError, TokenExchangeError, ProtectedResourceMetadataError, AgentVanishedDuringFlowError, ConfidentialClientNotAllowedError, DEFAULT_WEB_FLOW_TTL_MS, type PendingWebFlow, type PendingWebFlowStore, type PendingFlowStore, type StartWebFlowOptions, type StartWebFlowResult, type CompleteWebFlowOptions, type CompleteWebFlowResult, } from './web-flow.mjs';
|
|
37
|
+
export { startWebOAuthFlow, completeWebOAuthFlow, safeReturnTo, InMemoryPendingFlowStore, InvalidOrExpiredFlowError, StateMismatchError, BrowserBindingRequiredError, TokenExchangeError, ProtectedResourceMetadataError, AgentVanishedDuringFlowError, AgentChangedDuringFlowError, ConfidentialClientNotAllowedError, DEFAULT_WEB_FLOW_TTL_MS, type PendingWebFlow, type PendingWebFlowStore, type PendingFlowStore, type StartWebFlowOptions, type StartWebFlowResult, type CompleteWebFlowOptions, type CompleteWebFlowResult, } from './web-flow.mjs';
|
|
38
38
|
export { MCPOAuthProvider } from './MCPOAuthProvider.mjs';
|
|
39
39
|
import { MCPOAuthProvider } from './MCPOAuthProvider.mjs';
|
|
40
40
|
import type { OAuthClientMetadata, OAuthConfigStorage, AgentConfig } from './types.mjs';
|
|
@@ -85,6 +85,8 @@ export declare function createCLIOAuthProvider(agent: AgentConfig, options?: {
|
|
|
85
85
|
quiet?: boolean;
|
|
86
86
|
/** Storage for persisting agent config */
|
|
87
87
|
storage?: OAuthConfigStorage;
|
|
88
|
+
/** Operator RFC 8707 override; `null` returns to metadata discovery. */
|
|
89
|
+
resourceOverride?: string | null;
|
|
88
90
|
/**
|
|
89
91
|
* Allow non-HTTPS resource URLs advertised in RFC 9728 protected-resource
|
|
90
92
|
* metadata. Mirrors the CLI's `--allow-http` flag. Defaults to `false`.
|
|
@@ -108,6 +110,8 @@ export declare function createNonInteractiveOAuthProvider(agent: AgentConfig, op
|
|
|
108
110
|
clientMetadata?: Partial<OAuthClientMetadata>;
|
|
109
111
|
/** Storage for persisting refreshed tokens back to disk. */
|
|
110
112
|
storage?: OAuthConfigStorage;
|
|
113
|
+
/** Operator RFC 8707 override reused during refresh; `null` disables it. */
|
|
114
|
+
resourceOverride?: string | null;
|
|
111
115
|
/**
|
|
112
116
|
* Allow non-HTTPS resource URLs advertised in RFC 9728 protected-resource
|
|
113
117
|
* metadata. Mirrors the CLI's `--allow-http` flag. Defaults to `false`.
|
|
@@ -34,7 +34,7 @@ export type { OAuthFlowHandler, OAuthProviderConfig, OAuthConfigStorage, OAuthCl
|
|
|
34
34
|
export { DEFAULT_CLIENT_METADATA, OAuthError, OAuthCancelledError, OAuthTimeoutError, toMCPTokens, fromMCPTokens, toMCPClientInfo, fromMCPClientInfo, } from './types';
|
|
35
35
|
export { CLIFlowHandler, type CLIFlowHandlerConfig } from './CLIFlowHandler';
|
|
36
36
|
export { NonInteractiveFlowHandler, type NonInteractiveFlowHandlerConfig } from './NonInteractiveFlowHandler';
|
|
37
|
-
export { startWebOAuthFlow, completeWebOAuthFlow, safeReturnTo, InMemoryPendingFlowStore, InvalidOrExpiredFlowError, StateMismatchError, BrowserBindingRequiredError, TokenExchangeError, ProtectedResourceMetadataError, AgentVanishedDuringFlowError, ConfidentialClientNotAllowedError, DEFAULT_WEB_FLOW_TTL_MS, type PendingWebFlow, type PendingWebFlowStore, type PendingFlowStore, type StartWebFlowOptions, type StartWebFlowResult, type CompleteWebFlowOptions, type CompleteWebFlowResult, } from './web-flow';
|
|
37
|
+
export { startWebOAuthFlow, completeWebOAuthFlow, safeReturnTo, InMemoryPendingFlowStore, InvalidOrExpiredFlowError, StateMismatchError, BrowserBindingRequiredError, TokenExchangeError, ProtectedResourceMetadataError, AgentVanishedDuringFlowError, AgentChangedDuringFlowError, ConfidentialClientNotAllowedError, DEFAULT_WEB_FLOW_TTL_MS, type PendingWebFlow, type PendingWebFlowStore, type PendingFlowStore, type StartWebFlowOptions, type StartWebFlowResult, type CompleteWebFlowOptions, type CompleteWebFlowResult, } from './web-flow';
|
|
38
38
|
export { MCPOAuthProvider } from './MCPOAuthProvider';
|
|
39
39
|
import { MCPOAuthProvider } from './MCPOAuthProvider';
|
|
40
40
|
import type { OAuthClientMetadata, OAuthConfigStorage, AgentConfig } from './types';
|
|
@@ -85,6 +85,8 @@ export declare function createCLIOAuthProvider(agent: AgentConfig, options?: {
|
|
|
85
85
|
quiet?: boolean;
|
|
86
86
|
/** Storage for persisting agent config */
|
|
87
87
|
storage?: OAuthConfigStorage;
|
|
88
|
+
/** Operator RFC 8707 override; `null` returns to metadata discovery. */
|
|
89
|
+
resourceOverride?: string | null;
|
|
88
90
|
/**
|
|
89
91
|
* Allow non-HTTPS resource URLs advertised in RFC 9728 protected-resource
|
|
90
92
|
* metadata. Mirrors the CLI's `--allow-http` flag. Defaults to `false`.
|
|
@@ -108,6 +110,8 @@ export declare function createNonInteractiveOAuthProvider(agent: AgentConfig, op
|
|
|
108
110
|
clientMetadata?: Partial<OAuthClientMetadata>;
|
|
109
111
|
/** Storage for persisting refreshed tokens back to disk. */
|
|
110
112
|
storage?: OAuthConfigStorage;
|
|
113
|
+
/** Operator RFC 8707 override reused during refresh; `null` disables it. */
|
|
114
|
+
resourceOverride?: string | null;
|
|
111
115
|
/**
|
|
112
116
|
* Allow non-HTTPS resource URLs advertised in RFC 9728 protected-resource
|
|
113
117
|
* metadata. Mirrors the CLI's `--allow-http` flag. Defaults to `false`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/oauth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,KAAK,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAM9G,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,2BAA2B,EAC3B,kBAAkB,EAClB,8BAA8B,EAC9B,4BAA4B,EAC5B,iCAAiC,EACjC,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE;IACR,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9C,8BAA8B;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/auth/oauth/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAGH,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,uBAAuB,EACvB,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,KAAK,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAM9G,OAAO,EACL,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,2BAA2B,EAC3B,kBAAkB,EAClB,8BAA8B,EAC9B,4BAA4B,EAC5B,2BAA2B,EAC3B,iCAAiC,EACjC,uBAAuB,EACvB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE;IACR,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9C,8BAA8B;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0CAA0C;IAC1C,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,gBAAgB,CAuBlB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE;IACR,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wFAAwF;IACxF,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9C,4DAA4D;IAC5D,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,gBAAgB,CAiBlB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CASvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAa/D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,CAIzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAO5E;AAGD,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,2BAA2B,EAC3B,KAAK,aAAa,EAClB,KAAK,gBAAgB,GACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,GACzB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,gBAAgB,EAChB,6BAA6B,EAC7B,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,uBAAuB,EACvB,iCAAiC,EACjC,kBAAkB,EAClB,KAAK,yBAAyB,EAC9B,KAAK,4BAA4B,GAClC,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAKtF,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,8BAA8B,EAC9B,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,GACpC,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAIpE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAK3F,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC"}
|
|
@@ -19,6 +19,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
var oauth_exports = {};
|
|
20
20
|
__export(oauth_exports, {
|
|
21
21
|
AUTH_DIAGNOSIS_SCHEMA_VERSION: () => import_diagnose.AUTH_DIAGNOSIS_SCHEMA_VERSION,
|
|
22
|
+
AgentChangedDuringFlowError: () => import_web_flow.AgentChangedDuringFlowError,
|
|
22
23
|
AgentVanishedDuringFlowError: () => import_web_flow.AgentVanishedDuringFlowError,
|
|
23
24
|
BrowserBindingRequiredError: () => import_web_flow.BrowserBindingRequiredError,
|
|
24
25
|
CLIFlowHandler: () => import_CLIFlowHandler.CLIFlowHandler,
|
|
@@ -108,6 +109,7 @@ function createCLIOAuthProvider(agent, options) {
|
|
|
108
109
|
agent,
|
|
109
110
|
flowHandler,
|
|
110
111
|
storage: options?.storage,
|
|
112
|
+
resourceOverride: options?.resourceOverride,
|
|
111
113
|
clientMetadata,
|
|
112
114
|
allowHttp: options?.allowHttp
|
|
113
115
|
});
|
|
@@ -123,6 +125,7 @@ function createNonInteractiveOAuthProvider(agent, options) {
|
|
|
123
125
|
agent,
|
|
124
126
|
flowHandler,
|
|
125
127
|
storage: options?.storage,
|
|
128
|
+
resourceOverride: options?.resourceOverride,
|
|
126
129
|
clientMetadata,
|
|
127
130
|
allowHttp: options?.allowHttp
|
|
128
131
|
});
|
|
@@ -162,6 +165,7 @@ function getEffectiveAuthToken(agent) {
|
|
|
162
165
|
// Annotate the CommonJS export names for ESM import in node:
|
|
163
166
|
0 && (module.exports = {
|
|
164
167
|
AUTH_DIAGNOSIS_SCHEMA_VERSION,
|
|
168
|
+
AgentChangedDuringFlowError,
|
|
165
169
|
AgentVanishedDuringFlowError,
|
|
166
170
|
BrowserBindingRequiredError,
|
|
167
171
|
CLIFlowHandler,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/auth/oauth/index.ts"],"sourcesContent":["/**\n * OAuth module for MCP authentication\n *\n * OAuth tokens are stored directly in AgentConfig, same as static auth tokens.\n *\n * @example\n * ```typescript\n * import { MCPOAuthProvider, CLIFlowHandler } from '@adcp/sdk';\n *\n * // Agent config - tokens will be stored here\n * const agent: AgentConfig = {\n * id: 'my-agent',\n * name: 'My Agent',\n * agent_uri: 'https://agent.example.com/mcp',\n * protocol: 'mcp',\n * // After OAuth flow completes:\n * // oauth_tokens: { access_token: '...', refresh_token: '...' }\n * };\n *\n * // Create provider with CLI flow handler\n * const provider = new MCPOAuthProvider({\n * agent,\n * flowHandler: new CLIFlowHandler(),\n * storage: myConfigStorage // Optional: persists tokens to file/db\n * });\n *\n * // Use with MCP transport\n * const transport = new StreamableHTTPClientTransport(url, {\n * authProvider: provider\n * });\n * ```\n */\n\n// Types\nexport type {\n OAuthFlowHandler,\n OAuthProviderConfig,\n OAuthConfigStorage,\n OAuthClientInformation,\n OAuthClientInformationFull,\n OAuthClientMetadata,\n OAuthTokens,\n AgentConfig,\n AgentOAuthTokens,\n AgentOAuthClient,\n} from './types';\n\nexport {\n DEFAULT_CLIENT_METADATA,\n OAuthError,\n OAuthCancelledError,\n OAuthTimeoutError,\n toMCPTokens,\n fromMCPTokens,\n toMCPClientInfo,\n fromMCPClientInfo,\n} from './types';\n\n// Flow handlers\nexport { CLIFlowHandler, type CLIFlowHandlerConfig } from './CLIFlowHandler';\nexport { NonInteractiveFlowHandler, type NonInteractiveFlowHandlerConfig } from './NonInteractiveFlowHandler';\n\n// Web (server-side) OAuth flow — companion to CLIFlowHandler for environments\n// where /oauth/start and /oauth/callback may be served by different processes.\n// Note: standalone functions, NOT a class implementing OAuthFlowHandler — see\n// docs/guides/WEB-OAUTH.md for the rationale (the contract spans two requests).\nexport {\n startWebOAuthFlow,\n completeWebOAuthFlow,\n safeReturnTo,\n InMemoryPendingFlowStore,\n InvalidOrExpiredFlowError,\n StateMismatchError,\n BrowserBindingRequiredError,\n TokenExchangeError,\n ProtectedResourceMetadataError,\n AgentVanishedDuringFlowError,\n ConfidentialClientNotAllowedError,\n DEFAULT_WEB_FLOW_TTL_MS,\n type PendingWebFlow,\n type PendingWebFlowStore,\n type PendingFlowStore,\n type StartWebFlowOptions,\n type StartWebFlowResult,\n type CompleteWebFlowOptions,\n type CompleteWebFlowResult,\n} from './web-flow';\n\n// Main provider\nexport { MCPOAuthProvider } from './MCPOAuthProvider';\n\n// ========================================\n// Convenience factory functions\n// ========================================\n\nimport { MCPOAuthProvider } from './MCPOAuthProvider';\nimport { CLIFlowHandler, type CLIFlowHandlerConfig } from './CLIFlowHandler';\nimport { NonInteractiveFlowHandler } from './NonInteractiveFlowHandler';\nimport type { OAuthClientMetadata, OAuthConfigStorage, AgentConfig } from './types';\nimport { DEFAULT_CLIENT_METADATA } from './types';\n\n/**\n * Create an OAuth provider for CLI usage\n *\n * @param agent Agent configuration (tokens stored here)\n * @param options Optional configuration\n * @returns Configured OAuth provider\n *\n * @example\n * ```typescript\n * const agent: AgentConfig = {\n * id: 'my-agent',\n * name: 'My Agent',\n * agent_uri: 'https://agent.example.com/mcp',\n * protocol: 'mcp'\n * };\n *\n * const provider = createCLIOAuthProvider(agent);\n *\n * const transport = new StreamableHTTPClientTransport(url, {\n * authProvider: provider\n * });\n *\n * try {\n * await client.connect(transport);\n * } catch (error) {\n * if (error instanceof UnauthorizedError) {\n * const code = await provider.waitForCallback();\n * await transport.finishAuth(code);\n * await client.connect(transport);\n * }\n * }\n *\n * // After successful auth, agent.oauth_tokens is populated\n * console.log(agent.oauth_tokens);\n * ```\n */\nexport function createCLIOAuthProvider(\n agent: AgentConfig,\n options?: {\n /** Callback port (default: 8766) */\n callbackPort?: number;\n /** Auth timeout in ms (default: 300000 = 5 min) */\n timeout?: number;\n /** Custom client metadata overrides */\n clientMetadata?: Partial<OAuthClientMetadata>;\n /** Suppress console output */\n quiet?: boolean;\n /** Storage for persisting agent config */\n storage?: OAuthConfigStorage;\n /**\n * Allow non-HTTPS resource URLs advertised in RFC 9728 protected-resource\n * metadata. Mirrors the CLI's `--allow-http` flag. Defaults to `false`.\n */\n allowHttp?: boolean;\n }\n): MCPOAuthProvider {\n const flowConfig: CLIFlowHandlerConfig = {\n callbackPort: options?.callbackPort,\n timeout: options?.timeout,\n quiet: options?.quiet,\n };\n const flowHandler = new CLIFlowHandler(flowConfig);\n\n // Build complete client metadata\n const clientMetadata: OAuthClientMetadata = {\n ...DEFAULT_CLIENT_METADATA,\n redirect_uris: [flowHandler.getRedirectUrl().toString()],\n ...options?.clientMetadata,\n };\n\n return new MCPOAuthProvider({\n agent,\n flowHandler,\n storage: options?.storage,\n clientMetadata,\n allowHttp: options?.allowHttp,\n });\n}\n\n/**\n * Create an OAuth provider that uses and auto-refreshes saved tokens but\n * refuses to start a new interactive browser flow. Use this for storyboard\n * runs, scheduled jobs, and other non-interactive contexts where you've\n * already saved tokens via `createCLIOAuthProvider`.\n *\n * If refresh fails (e.g., the refresh_token is revoked or expired), the\n * MCP SDK will throw `UnauthorizedError` at call time — the caller should\n * treat that as a signal to run `adcp --save-auth <alias> --oauth` and retry.\n */\nexport function createNonInteractiveOAuthProvider(\n agent: AgentConfig,\n options?: {\n /** Hint shown in error messages if an interactive flow is attempted. */\n agentHint?: string;\n /** Custom client metadata overrides (inherited from saved registration in practice). */\n clientMetadata?: Partial<OAuthClientMetadata>;\n /** Storage for persisting refreshed tokens back to disk. */\n storage?: OAuthConfigStorage;\n /**\n * Allow non-HTTPS resource URLs advertised in RFC 9728 protected-resource\n * metadata. Mirrors the CLI's `--allow-http` flag. Defaults to `false`.\n */\n allowHttp?: boolean;\n }\n): MCPOAuthProvider {\n const flowHandler = new NonInteractiveFlowHandler({ agentHint: options?.agentHint });\n\n const clientMetadata: OAuthClientMetadata = {\n ...DEFAULT_CLIENT_METADATA,\n redirect_uris: [flowHandler.getRedirectUrl().toString()],\n ...options?.clientMetadata,\n };\n\n return new MCPOAuthProvider({\n agent,\n flowHandler,\n storage: options?.storage,\n clientMetadata,\n allowHttp: options?.allowHttp,\n });\n}\n\n/**\n * Check if an error indicates OAuth is required\n */\nexport function isOAuthRequired(error: unknown): boolean {\n if (error instanceof Error) {\n if (error.name === 'UnauthorizedError') return true;\n const msg = error.message.toLowerCase();\n if (msg.includes('unauthorized') || msg.includes('authentication required') || msg.includes('oauth')) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Check if an agent has valid OAuth tokens\n */\nexport function hasValidOAuthTokens(agent: AgentConfig): boolean {\n const tokens = agent.oauth_tokens;\n if (!tokens?.access_token) return false;\n\n if (tokens.expires_at) {\n const expiresAt = new Date(tokens.expires_at);\n // Expired if within 5 minutes of expiration\n if (expiresAt.getTime() - Date.now() < 5 * 60 * 1000) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Clear OAuth tokens from an agent config\n */\nexport function clearOAuthTokens(agent: AgentConfig): void {\n delete agent.oauth_tokens;\n delete agent.oauth_client;\n delete agent.oauth_code_verifier;\n}\n\n/**\n * Get the effective auth token for an agent\n * Returns OAuth access_token if available, otherwise static auth_token\n */\nexport function getEffectiveAuthToken(agent: AgentConfig): string | undefined {\n // Prefer OAuth if available and valid\n if (hasValidOAuthTokens(agent)) {\n return agent.oauth_tokens!.access_token;\n }\n // Fall back to static token\n return agent.auth_token;\n}\n\n// OAuth discovery\nexport {\n discoverOAuthMetadata,\n supportsOAuth,\n supportsDynamicRegistration,\n type OAuthMetadata,\n type DiscoveryOptions,\n} from './discovery';\n\n// Diagnostics utilities — for `adcp diagnose-auth` and consumer introspection\nexport {\n parseWWWAuthenticate,\n decodeAccessTokenClaims,\n validateTokenAudience,\n type WWWAuthenticateChallenge,\n type DecodedJWTHeader,\n type DecodedJWTClaims,\n type DecodedAccessToken,\n type TokenAudienceResult,\n} from './diagnostics';\n\n// End-to-end OAuth handshake diagnosis (powers `adcp diagnose-auth`)\nexport {\n runAuthDiagnosis,\n AUTH_DIAGNOSIS_SCHEMA_VERSION,\n type DiagnoseOptions,\n type HttpCapture,\n type DiagnosisStep,\n type Hypothesis,\n type HypothesisVerdict,\n type AuthDiagnosisReport,\n} from './diagnose';\n\n// Zero-config authorization discovery + actionable error type.\n// Raised automatically by `ProtocolClient.callTool` when an MCP agent returns\n// a 401 Bearer challenge and the caller has no saved tokens.\nexport {\n NeedsAuthorizationError,\n discoverAuthorizationRequirements,\n probeAuthChallenge,\n type AuthorizationRequirements,\n type DiscoverAuthorizationOptions,\n} from './authorization-required';\n\n// File-backed `OAuthConfigStorage` implementation (agents.json format).\nexport { createFileOAuthStorage, type FileOAuthStorageOptions } from './file-storage';\n\n// OAuth 2.0 client credentials grant (RFC 6749 §4.4) for machine-to-machine\n// token exchange. Used by the CLI for automated compliance runs where there\n// is no user to walk through an authorization-code flow.\nexport {\n exchangeClientCredentials,\n ensureClientCredentialsTokens,\n ClientCredentialsExchangeError,\n type ExchangeClientCredentialsOptions,\n type EnsureClientCredentialsOptions,\n} from './ClientCredentialsFlow';\n\n// `$ENV:VAR` indirection for client credentials so secrets can live in env\n// vars (CI) rather than on disk in the agent config.\nexport {\n resolveSecret,\n isEnvSecretReference,\n toEnvSecretReference,\n extractEnvSecretName,\n MissingEnvSecretError,\n} from './secret-resolver';\n\n// Type re-export — the credentials struct itself lives in the ADCP core types\n// module alongside `AgentOAuthTokens` / `AgentOAuthClient`.\nexport type { AgentOAuthClientCredentials } from '../../types/adcp';\n\n// Per-agent storage binding — the bridge that lets `callTool` pick up the\n// caller's chosen `OAuthConfigStorage` without a signature change.\nexport { bindAgentStorage, getAgentStorage, unbindAgentStorage } from './storage-registry';\n\n// Re-exported MCP SDK OAuth error types so consumers can discriminate 401 causes\n// without string-matching on error messages. These originate from the MCP server\n// auth module but are the canonical OAuth error classes for client-side handling too.\nexport { InvalidTokenError, InsufficientScopeError } from '@modelcontextprotocol/sdk/server/auth/errors.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CA,mBASO;AAGP,4BAA0D;AAC1D,uCAAgF;AAMhF,sBAoBO;AAGP,8BAAiC;AAMjC,IAAAA,2BAAiC;AACjC,IAAAC,yBAA0D;AAC1D,IAAAC,oCAA0C;AAE1C,IAAAC,gBAAwC;AAmLxC,uBAMO;AAGP,yBASO;AAGP,sBASO;AAKP,oCAMO;AAGP,0BAAqE;AAKrE,mCAMO;AAIP,6BAMO;AAQP,8BAAsE;AAKtE,oBAA0D;AA3NnD,SAAS,uBACd,OACA,SAiBkB;AAClB,QAAM,aAAmC;AAAA,IACvC,cAAc,SAAS;AAAA,IACvB,SAAS,SAAS;AAAA,IAClB,OAAO,SAAS;AAAA,EAClB;AACA,QAAM,cAAc,IAAI,sCAAe,UAAU;AAGjD,QAAM,iBAAsC;AAAA,IAC1C,GAAG;AAAA,IACH,eAAe,CAAC,YAAY,eAAe,EAAE,SAAS,CAAC;AAAA,IACvD,GAAG,SAAS;AAAA,EACd;AAEA,SAAO,IAAI,0CAAiB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,SAAS,SAAS;AAAA,IAClB;AAAA,IACA,WAAW,SAAS;AAAA,EACtB,CAAC;AACH;AAYO,SAAS,kCACd,OACA,SAakB;AAClB,QAAM,cAAc,IAAI,4DAA0B,EAAE,WAAW,SAAS,UAAU,CAAC;AAEnF,QAAM,iBAAsC;AAAA,IAC1C,GAAG;AAAA,IACH,eAAe,CAAC,YAAY,eAAe,EAAE,SAAS,CAAC;AAAA,IACvD,GAAG,SAAS;AAAA,EACd;AAEA,SAAO,IAAI,0CAAiB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,SAAS,SAAS;AAAA,IAClB;AAAA,IACA,WAAW,SAAS;AAAA,EACtB,CAAC;AACH;AAKO,SAAS,gBAAgB,OAAyB;AACvD,MAAI,iBAAiB,OAAO;AAC1B,QAAI,MAAM,SAAS,oBAAqB,QAAO;AAC/C,UAAM,MAAM,MAAM,QAAQ,YAAY;AACtC,QAAI,IAAI,SAAS,cAAc,KAAK,IAAI,SAAS,yBAAyB,KAAK,IAAI,SAAS,OAAO,GAAG;AACpG,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAKO,SAAS,oBAAoB,OAA6B;AAC/D,QAAM,SAAS,MAAM;AACrB,MAAI,CAAC,QAAQ,aAAc,QAAO;AAElC,MAAI,OAAO,YAAY;AACrB,UAAM,YAAY,IAAI,KAAK,OAAO,UAAU;AAE5C,QAAI,UAAU,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAM;AACpD,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAKO,SAAS,iBAAiB,OAA0B;AACzD,SAAO,MAAM;AACb,SAAO,MAAM;AACb,SAAO,MAAM;AACf;AAMO,SAAS,sBAAsB,OAAwC;AAE5E,MAAI,oBAAoB,KAAK,GAAG;AAC9B,WAAO,MAAM,aAAc;AAAA,EAC7B;AAEA,SAAO,MAAM;AACf;","names":["import_MCPOAuthProvider","import_CLIFlowHandler","import_NonInteractiveFlowHandler","import_types"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/auth/oauth/index.ts"],"sourcesContent":["/**\n * OAuth module for MCP authentication\n *\n * OAuth tokens are stored directly in AgentConfig, same as static auth tokens.\n *\n * @example\n * ```typescript\n * import { MCPOAuthProvider, CLIFlowHandler } from '@adcp/sdk';\n *\n * // Agent config - tokens will be stored here\n * const agent: AgentConfig = {\n * id: 'my-agent',\n * name: 'My Agent',\n * agent_uri: 'https://agent.example.com/mcp',\n * protocol: 'mcp',\n * // After OAuth flow completes:\n * // oauth_tokens: { access_token: '...', refresh_token: '...' }\n * };\n *\n * // Create provider with CLI flow handler\n * const provider = new MCPOAuthProvider({\n * agent,\n * flowHandler: new CLIFlowHandler(),\n * storage: myConfigStorage // Optional: persists tokens to file/db\n * });\n *\n * // Use with MCP transport\n * const transport = new StreamableHTTPClientTransport(url, {\n * authProvider: provider\n * });\n * ```\n */\n\n// Types\nexport type {\n OAuthFlowHandler,\n OAuthProviderConfig,\n OAuthConfigStorage,\n OAuthClientInformation,\n OAuthClientInformationFull,\n OAuthClientMetadata,\n OAuthTokens,\n AgentConfig,\n AgentOAuthTokens,\n AgentOAuthClient,\n} from './types';\n\nexport {\n DEFAULT_CLIENT_METADATA,\n OAuthError,\n OAuthCancelledError,\n OAuthTimeoutError,\n toMCPTokens,\n fromMCPTokens,\n toMCPClientInfo,\n fromMCPClientInfo,\n} from './types';\n\n// Flow handlers\nexport { CLIFlowHandler, type CLIFlowHandlerConfig } from './CLIFlowHandler';\nexport { NonInteractiveFlowHandler, type NonInteractiveFlowHandlerConfig } from './NonInteractiveFlowHandler';\n\n// Web (server-side) OAuth flow — companion to CLIFlowHandler for environments\n// where /oauth/start and /oauth/callback may be served by different processes.\n// Note: standalone functions, NOT a class implementing OAuthFlowHandler — see\n// docs/guides/WEB-OAUTH.md for the rationale (the contract spans two requests).\nexport {\n startWebOAuthFlow,\n completeWebOAuthFlow,\n safeReturnTo,\n InMemoryPendingFlowStore,\n InvalidOrExpiredFlowError,\n StateMismatchError,\n BrowserBindingRequiredError,\n TokenExchangeError,\n ProtectedResourceMetadataError,\n AgentVanishedDuringFlowError,\n AgentChangedDuringFlowError,\n ConfidentialClientNotAllowedError,\n DEFAULT_WEB_FLOW_TTL_MS,\n type PendingWebFlow,\n type PendingWebFlowStore,\n type PendingFlowStore,\n type StartWebFlowOptions,\n type StartWebFlowResult,\n type CompleteWebFlowOptions,\n type CompleteWebFlowResult,\n} from './web-flow';\n\n// Main provider\nexport { MCPOAuthProvider } from './MCPOAuthProvider';\n\n// ========================================\n// Convenience factory functions\n// ========================================\n\nimport { MCPOAuthProvider } from './MCPOAuthProvider';\nimport { CLIFlowHandler, type CLIFlowHandlerConfig } from './CLIFlowHandler';\nimport { NonInteractiveFlowHandler } from './NonInteractiveFlowHandler';\nimport type { OAuthClientMetadata, OAuthConfigStorage, AgentConfig } from './types';\nimport { DEFAULT_CLIENT_METADATA } from './types';\n\n/**\n * Create an OAuth provider for CLI usage\n *\n * @param agent Agent configuration (tokens stored here)\n * @param options Optional configuration\n * @returns Configured OAuth provider\n *\n * @example\n * ```typescript\n * const agent: AgentConfig = {\n * id: 'my-agent',\n * name: 'My Agent',\n * agent_uri: 'https://agent.example.com/mcp',\n * protocol: 'mcp'\n * };\n *\n * const provider = createCLIOAuthProvider(agent);\n *\n * const transport = new StreamableHTTPClientTransport(url, {\n * authProvider: provider\n * });\n *\n * try {\n * await client.connect(transport);\n * } catch (error) {\n * if (error instanceof UnauthorizedError) {\n * const code = await provider.waitForCallback();\n * await transport.finishAuth(code);\n * await client.connect(transport);\n * }\n * }\n *\n * // After successful auth, agent.oauth_tokens is populated\n * console.log(agent.oauth_tokens);\n * ```\n */\nexport function createCLIOAuthProvider(\n agent: AgentConfig,\n options?: {\n /** Callback port (default: 8766) */\n callbackPort?: number;\n /** Auth timeout in ms (default: 300000 = 5 min) */\n timeout?: number;\n /** Custom client metadata overrides */\n clientMetadata?: Partial<OAuthClientMetadata>;\n /** Suppress console output */\n quiet?: boolean;\n /** Storage for persisting agent config */\n storage?: OAuthConfigStorage;\n /** Operator RFC 8707 override; `null` returns to metadata discovery. */\n resourceOverride?: string | null;\n /**\n * Allow non-HTTPS resource URLs advertised in RFC 9728 protected-resource\n * metadata. Mirrors the CLI's `--allow-http` flag. Defaults to `false`.\n */\n allowHttp?: boolean;\n }\n): MCPOAuthProvider {\n const flowConfig: CLIFlowHandlerConfig = {\n callbackPort: options?.callbackPort,\n timeout: options?.timeout,\n quiet: options?.quiet,\n };\n const flowHandler = new CLIFlowHandler(flowConfig);\n\n // Build complete client metadata\n const clientMetadata: OAuthClientMetadata = {\n ...DEFAULT_CLIENT_METADATA,\n redirect_uris: [flowHandler.getRedirectUrl().toString()],\n ...options?.clientMetadata,\n };\n\n return new MCPOAuthProvider({\n agent,\n flowHandler,\n storage: options?.storage,\n resourceOverride: options?.resourceOverride,\n clientMetadata,\n allowHttp: options?.allowHttp,\n });\n}\n\n/**\n * Create an OAuth provider that uses and auto-refreshes saved tokens but\n * refuses to start a new interactive browser flow. Use this for storyboard\n * runs, scheduled jobs, and other non-interactive contexts where you've\n * already saved tokens via `createCLIOAuthProvider`.\n *\n * If refresh fails (e.g., the refresh_token is revoked or expired), the\n * MCP SDK will throw `UnauthorizedError` at call time — the caller should\n * treat that as a signal to run `adcp --save-auth <alias> --oauth` and retry.\n */\nexport function createNonInteractiveOAuthProvider(\n agent: AgentConfig,\n options?: {\n /** Hint shown in error messages if an interactive flow is attempted. */\n agentHint?: string;\n /** Custom client metadata overrides (inherited from saved registration in practice). */\n clientMetadata?: Partial<OAuthClientMetadata>;\n /** Storage for persisting refreshed tokens back to disk. */\n storage?: OAuthConfigStorage;\n /** Operator RFC 8707 override reused during refresh; `null` disables it. */\n resourceOverride?: string | null;\n /**\n * Allow non-HTTPS resource URLs advertised in RFC 9728 protected-resource\n * metadata. Mirrors the CLI's `--allow-http` flag. Defaults to `false`.\n */\n allowHttp?: boolean;\n }\n): MCPOAuthProvider {\n const flowHandler = new NonInteractiveFlowHandler({ agentHint: options?.agentHint });\n\n const clientMetadata: OAuthClientMetadata = {\n ...DEFAULT_CLIENT_METADATA,\n redirect_uris: [flowHandler.getRedirectUrl().toString()],\n ...options?.clientMetadata,\n };\n\n return new MCPOAuthProvider({\n agent,\n flowHandler,\n storage: options?.storage,\n resourceOverride: options?.resourceOverride,\n clientMetadata,\n allowHttp: options?.allowHttp,\n });\n}\n\n/**\n * Check if an error indicates OAuth is required\n */\nexport function isOAuthRequired(error: unknown): boolean {\n if (error instanceof Error) {\n if (error.name === 'UnauthorizedError') return true;\n const msg = error.message.toLowerCase();\n if (msg.includes('unauthorized') || msg.includes('authentication required') || msg.includes('oauth')) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * Check if an agent has valid OAuth tokens\n */\nexport function hasValidOAuthTokens(agent: AgentConfig): boolean {\n const tokens = agent.oauth_tokens;\n if (!tokens?.access_token) return false;\n\n if (tokens.expires_at) {\n const expiresAt = new Date(tokens.expires_at);\n // Expired if within 5 minutes of expiration\n if (expiresAt.getTime() - Date.now() < 5 * 60 * 1000) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Clear OAuth tokens from an agent config\n */\nexport function clearOAuthTokens(agent: AgentConfig): void {\n delete agent.oauth_tokens;\n delete agent.oauth_client;\n delete agent.oauth_code_verifier;\n}\n\n/**\n * Get the effective auth token for an agent\n * Returns OAuth access_token if available, otherwise static auth_token\n */\nexport function getEffectiveAuthToken(agent: AgentConfig): string | undefined {\n // Prefer OAuth if available and valid\n if (hasValidOAuthTokens(agent)) {\n return agent.oauth_tokens!.access_token;\n }\n // Fall back to static token\n return agent.auth_token;\n}\n\n// OAuth discovery\nexport {\n discoverOAuthMetadata,\n supportsOAuth,\n supportsDynamicRegistration,\n type OAuthMetadata,\n type DiscoveryOptions,\n} from './discovery';\n\n// Diagnostics utilities — for `adcp diagnose-auth` and consumer introspection\nexport {\n parseWWWAuthenticate,\n decodeAccessTokenClaims,\n validateTokenAudience,\n type WWWAuthenticateChallenge,\n type DecodedJWTHeader,\n type DecodedJWTClaims,\n type DecodedAccessToken,\n type TokenAudienceResult,\n} from './diagnostics';\n\n// End-to-end OAuth handshake diagnosis (powers `adcp diagnose-auth`)\nexport {\n runAuthDiagnosis,\n AUTH_DIAGNOSIS_SCHEMA_VERSION,\n type DiagnoseOptions,\n type HttpCapture,\n type DiagnosisStep,\n type Hypothesis,\n type HypothesisVerdict,\n type AuthDiagnosisReport,\n} from './diagnose';\n\n// Zero-config authorization discovery + actionable error type.\n// Raised automatically by `ProtocolClient.callTool` when an MCP agent returns\n// a 401 Bearer challenge and the caller has no saved tokens.\nexport {\n NeedsAuthorizationError,\n discoverAuthorizationRequirements,\n probeAuthChallenge,\n type AuthorizationRequirements,\n type DiscoverAuthorizationOptions,\n} from './authorization-required';\n\n// File-backed `OAuthConfigStorage` implementation (agents.json format).\nexport { createFileOAuthStorage, type FileOAuthStorageOptions } from './file-storage';\n\n// OAuth 2.0 client credentials grant (RFC 6749 §4.4) for machine-to-machine\n// token exchange. Used by the CLI for automated compliance runs where there\n// is no user to walk through an authorization-code flow.\nexport {\n exchangeClientCredentials,\n ensureClientCredentialsTokens,\n ClientCredentialsExchangeError,\n type ExchangeClientCredentialsOptions,\n type EnsureClientCredentialsOptions,\n} from './ClientCredentialsFlow';\n\n// `$ENV:VAR` indirection for client credentials so secrets can live in env\n// vars (CI) rather than on disk in the agent config.\nexport {\n resolveSecret,\n isEnvSecretReference,\n toEnvSecretReference,\n extractEnvSecretName,\n MissingEnvSecretError,\n} from './secret-resolver';\n\n// Type re-export — the credentials struct itself lives in the ADCP core types\n// module alongside `AgentOAuthTokens` / `AgentOAuthClient`.\nexport type { AgentOAuthClientCredentials } from '../../types/adcp';\n\n// Per-agent storage binding — the bridge that lets `callTool` pick up the\n// caller's chosen `OAuthConfigStorage` without a signature change.\nexport { bindAgentStorage, getAgentStorage, unbindAgentStorage } from './storage-registry';\n\n// Re-exported MCP SDK OAuth error types so consumers can discriminate 401 causes\n// without string-matching on error messages. These originate from the MCP server\n// auth module but are the canonical OAuth error classes for client-side handling too.\nexport { InvalidTokenError, InsufficientScopeError } from '@modelcontextprotocol/sdk/server/auth/errors.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+CA,mBASO;AAGP,4BAA0D;AAC1D,uCAAgF;AAMhF,sBAqBO;AAGP,8BAAiC;AAMjC,IAAAA,2BAAiC;AACjC,IAAAC,yBAA0D;AAC1D,IAAAC,oCAA0C;AAE1C,IAAAC,gBAAwC;AAyLxC,uBAMO;AAGP,yBASO;AAGP,sBASO;AAKP,oCAMO;AAGP,0BAAqE;AAKrE,mCAMO;AAIP,6BAMO;AAQP,8BAAsE;AAKtE,oBAA0D;AAjOnD,SAAS,uBACd,OACA,SAmBkB;AAClB,QAAM,aAAmC;AAAA,IACvC,cAAc,SAAS;AAAA,IACvB,SAAS,SAAS;AAAA,IAClB,OAAO,SAAS;AAAA,EAClB;AACA,QAAM,cAAc,IAAI,sCAAe,UAAU;AAGjD,QAAM,iBAAsC;AAAA,IAC1C,GAAG;AAAA,IACH,eAAe,CAAC,YAAY,eAAe,EAAE,SAAS,CAAC;AAAA,IACvD,GAAG,SAAS;AAAA,EACd;AAEA,SAAO,IAAI,0CAAiB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,SAAS,SAAS;AAAA,IAClB,kBAAkB,SAAS;AAAA,IAC3B;AAAA,IACA,WAAW,SAAS;AAAA,EACtB,CAAC;AACH;AAYO,SAAS,kCACd,OACA,SAekB;AAClB,QAAM,cAAc,IAAI,4DAA0B,EAAE,WAAW,SAAS,UAAU,CAAC;AAEnF,QAAM,iBAAsC;AAAA,IAC1C,GAAG;AAAA,IACH,eAAe,CAAC,YAAY,eAAe,EAAE,SAAS,CAAC;AAAA,IACvD,GAAG,SAAS;AAAA,EACd;AAEA,SAAO,IAAI,0CAAiB;AAAA,IAC1B;AAAA,IACA;AAAA,IACA,SAAS,SAAS;AAAA,IAClB,kBAAkB,SAAS;AAAA,IAC3B;AAAA,IACA,WAAW,SAAS;AAAA,EACtB,CAAC;AACH;AAKO,SAAS,gBAAgB,OAAyB;AACvD,MAAI,iBAAiB,OAAO;AAC1B,QAAI,MAAM,SAAS,oBAAqB,QAAO;AAC/C,UAAM,MAAM,MAAM,QAAQ,YAAY;AACtC,QAAI,IAAI,SAAS,cAAc,KAAK,IAAI,SAAS,yBAAyB,KAAK,IAAI,SAAS,OAAO,GAAG;AACpG,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAKO,SAAS,oBAAoB,OAA6B;AAC/D,QAAM,SAAS,MAAM;AACrB,MAAI,CAAC,QAAQ,aAAc,QAAO;AAElC,MAAI,OAAO,YAAY;AACrB,UAAM,YAAY,IAAI,KAAK,OAAO,UAAU;AAE5C,QAAI,UAAU,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,KAAM;AACpD,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAKO,SAAS,iBAAiB,OAA0B;AACzD,SAAO,MAAM;AACb,SAAO,MAAM;AACb,SAAO,MAAM;AACf;AAMO,SAAS,sBAAsB,OAAwC;AAE5E,MAAI,oBAAoB,KAAK,GAAG;AAC9B,WAAO,MAAM,aAAc;AAAA,EAC7B;AAEA,SAAO,MAAM;AACf;","names":["import_MCPOAuthProvider","import_CLIFlowHandler","import_NonInteractiveFlowHandler","import_types"]}
|
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
TokenExchangeError,
|
|
22
22
|
ProtectedResourceMetadataError,
|
|
23
23
|
AgentVanishedDuringFlowError,
|
|
24
|
+
AgentChangedDuringFlowError,
|
|
24
25
|
ConfidentialClientNotAllowedError,
|
|
25
26
|
DEFAULT_WEB_FLOW_TTL_MS
|
|
26
27
|
} from "./web-flow.mjs";
|
|
@@ -45,6 +46,7 @@ function createCLIOAuthProvider(agent, options) {
|
|
|
45
46
|
agent,
|
|
46
47
|
flowHandler,
|
|
47
48
|
storage: options?.storage,
|
|
49
|
+
resourceOverride: options?.resourceOverride,
|
|
48
50
|
clientMetadata,
|
|
49
51
|
allowHttp: options?.allowHttp
|
|
50
52
|
});
|
|
@@ -60,6 +62,7 @@ function createNonInteractiveOAuthProvider(agent, options) {
|
|
|
60
62
|
agent,
|
|
61
63
|
flowHandler,
|
|
62
64
|
storage: options?.storage,
|
|
65
|
+
resourceOverride: options?.resourceOverride,
|
|
63
66
|
clientMetadata,
|
|
64
67
|
allowHttp: options?.allowHttp
|
|
65
68
|
});
|
|
@@ -132,6 +135,7 @@ import { bindAgentStorage, getAgentStorage, unbindAgentStorage } from "./storage
|
|
|
132
135
|
import { InvalidTokenError, InsufficientScopeError } from "@modelcontextprotocol/sdk/server/auth/errors.js";
|
|
133
136
|
export {
|
|
134
137
|
AUTH_DIAGNOSIS_SCHEMA_VERSION,
|
|
138
|
+
AgentChangedDuringFlowError,
|
|
135
139
|
AgentVanishedDuringFlowError,
|
|
136
140
|
BrowserBindingRequiredError,
|
|
137
141
|
CLIFlowHandler,
|