@adcp/sdk 13.0.0-rc.13 → 13.0.0-rc.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ADCP_VERSION +1 -1
- package/compliance/cache/{3.1.11.previous/protocols → 3.1.13/domains}/media-buy/scenarios/create_media_buy_async.yaml +18 -8
- package/compliance/cache/{3.1.11 → 3.1.13}/index.json +3 -3
- package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/create_media_buy_async.yaml +18 -8
- package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/billing-gate-runner.yaml +9 -5
- package/compliance/cache/{3.1.11.previous → 3.1.13}/test-kits/signed-requests-runner.yaml +1 -1
- package/compliance/cache/{3.1.11.previous → 3.1.13}/universal/billing-gate-dispatch.yaml +25 -13
- package/compliance/cache/{3.1.11 → 3.1.13.previous}/domains/media-buy/scenarios/create_media_buy_async.yaml +18 -8
- package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/index.json +3 -3
- package/compliance/cache/{3.1.11.previous/domains → 3.1.13.previous/protocols}/media-buy/scenarios/create_media_buy_async.yaml +18 -8
- package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/billing-gate-runner.yaml +9 -5
- package/compliance/cache/{3.1.11 → 3.1.13.previous}/test-kits/signed-requests-runner.yaml +1 -1
- package/compliance/cache/{3.1.11 → 3.1.13.previous}/universal/billing-gate-dispatch.yaml +25 -13
- package/dist/lib/index.d.mts +2 -2
- package/dist/lib/index.d.ts +2 -2
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +6 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +6 -0
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/protocols/transportDiagnostics.js +2 -1
- package/dist/lib/protocols/transportDiagnostics.js.map +1 -1
- package/dist/lib/protocols/transportDiagnostics.mjs +2 -1
- package/dist/lib/protocols/transportDiagnostics.mjs.map +1 -1
- package/dist/lib/registry/index.d.mts +17 -0
- package/dist/lib/registry/index.d.ts +17 -0
- package/dist/lib/registry/index.d.ts.map +1 -1
- package/dist/lib/registry/index.js +81 -7
- package/dist/lib/registry/index.js.map +1 -1
- package/dist/lib/registry/index.mjs +79 -7
- package/dist/lib/registry/index.mjs.map +1 -1
- package/dist/lib/registry/types.generated.d.mts +257 -32
- package/dist/lib/registry/types.generated.d.ts +257 -32
- 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 +443 -443
- package/dist/lib/schemas-data/3.1/manifest.json +3 -3
- package/dist/lib/schemas-data/3.1/manifest.schema.json +1 -1
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-request.json +16 -16
- package/dist/lib/schemas-data/3.1/media-buy/build-creative-response.json +35 -35
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-request.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-response.json +19 -19
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-request.json +23 -23
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-response.json +27 -27
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-response.json +30 -30
- package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-input-required.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/get-products-request.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/get-products-response.json +10 -10
- package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-request.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-response.json +9 -9
- package/dist/lib/schemas-data/3.1/media-buy/log-event-request.json +5 -5
- package/dist/lib/schemas-data/3.1/media-buy/log-event-response.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/media-buy-delivery-webhook-result.json +9 -9
- package/dist/lib/schemas-data/3.1/media-buy/package-request.json +23 -23
- package/dist/lib/schemas-data/3.1/media-buy/package-update.json +13 -13
- package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-request.json +7 -7
- package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-response.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-response.json +14 -14
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-response.json +14 -14
- package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-request.json +8 -8
- package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-response.json +14 -14
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-input-required.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-request.json +11 -11
- package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-response.json +17 -17
- package/dist/lib/schemas-data/3.1/pricing-options/cpa-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpc-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpcv-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpm-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/cpp-option.json +5 -5
- package/dist/lib/schemas-data/3.1/pricing-options/cpv-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/flat-rate-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/price-breakdown.json +2 -2
- package/dist/lib/schemas-data/3.1/pricing-options/price-guidance.json +1 -1
- package/dist/lib/schemas-data/3.1/pricing-options/time-option.json +4 -4
- package/dist/lib/schemas-data/3.1/pricing-options/vcpm-option.json +4 -4
- package/dist/lib/schemas-data/3.1/property/authorization-result.json +1 -1
- package/dist/lib/schemas-data/3.1/property/base-property-source.json +4 -4
- package/dist/lib/schemas-data/3.1/property/create-property-list-request.json +8 -8
- package/dist/lib/schemas-data/3.1/property/create-property-list-response.json +6 -6
- package/dist/lib/schemas-data/3.1/property/delete-property-list-request.json +5 -5
- package/dist/lib/schemas-data/3.1/property/delete-property-list-response.json +5 -5
- package/dist/lib/schemas-data/3.1/property/delivery-record.json +3 -3
- package/dist/lib/schemas-data/3.1/property/get-property-list-request.json +5 -5
- package/dist/lib/schemas-data/3.1/property/get-property-list-response.json +9 -9
- package/dist/lib/schemas-data/3.1/property/list-property-lists-request.json +6 -6
- package/dist/lib/schemas-data/3.1/property/list-property-lists-response.json +7 -7
- package/dist/lib/schemas-data/3.1/property/property-error.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-feature-definition.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-feature-result.json +4 -4
- package/dist/lib/schemas-data/3.1/property/property-feature-value.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-feature.json +1 -1
- package/dist/lib/schemas-data/3.1/property/property-list-changed-webhook.json +2 -2
- package/dist/lib/schemas-data/3.1/property/property-list-filters.json +5 -5
- package/dist/lib/schemas-data/3.1/property/property-list.json +6 -6
- package/dist/lib/schemas-data/3.1/property/update-property-list-request.json +8 -8
- package/dist/lib/schemas-data/3.1/property/update-property-list-response.json +6 -6
- package/dist/lib/schemas-data/3.1/property/validate-property-delivery-request.json +6 -6
- package/dist/lib/schemas-data/3.1/property/validate-property-delivery-response.json +6 -6
- package/dist/lib/schemas-data/3.1/property/validation-result.json +5 -5
- package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-request.json +4 -4
- package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-response.json +33 -33
- package/dist/lib/schemas-data/3.1/protocol/get-task-status-request.json +5 -5
- package/dist/lib/schemas-data/3.1/protocol/get-task-status-response.json +10 -10
- package/dist/lib/schemas-data/3.1/protocol/list-tasks-request.json +13 -13
- package/dist/lib/schemas-data/3.1/protocol/list-tasks-response.json +8 -8
- package/dist/lib/schemas-data/3.1/registries/v1-canonical-mapping.json +2 -2
- package/dist/lib/schemas-data/3.1/signals/activate-signal-request.json +6 -6
- package/dist/lib/schemas-data/3.1/signals/activate-signal-response.json +9 -9
- package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-submitted.json +4 -4
- package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-working.json +3 -3
- package/dist/lib/schemas-data/3.1/signals/get-signals-request.json +11 -11
- package/dist/lib/schemas-data/3.1/signals/get-signals-response.json +17 -17
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-capabilities.json +1 -1
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-context-use.json +1 -1
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-request.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-response.json +9 -9
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-identity.json +1 -1
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-request.json +7 -7
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-response.json +10 -10
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-request.json +5 -5
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-response.json +10 -10
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context-receipt.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-request.json +4 -4
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-response.json +7 -7
- package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-ui-element.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/available-package.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/context-match-request.json +5 -5
- package/dist/lib/schemas-data/3.1/trusted-match/context-match-response.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/error.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/identity-match-request.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/identity-match-response.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/offer-price.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/offer.json +5 -5
- package/dist/lib/schemas-data/3.1/trusted-match/provider-identity-match-response.json +4 -4
- package/dist/lib/schemas-data/3.1/trusted-match/provider-registration.json +2 -2
- package/dist/lib/schemas-data/3.1/trusted-match/publisher-tmpx-config.json +1 -1
- package/dist/lib/schemas-data/3.1/trusted-match/tmpx-chunk.json +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/entity-hydration.generated.mjs.map +1 -1
- package/dist/lib/server/errors.d.mts +10 -2
- package/dist/lib/server/errors.d.ts +10 -2
- package/dist/lib/server/errors.d.ts.map +1 -1
- package/dist/lib/server/errors.js +9 -2
- package/dist/lib/server/errors.js.map +1 -1
- package/dist/lib/server/errors.mjs +9 -2
- package/dist/lib/server/errors.mjs.map +1 -1
- package/dist/lib/server/wire-spec-fields.generated.d.mts +29 -29
- package/dist/lib/server/wire-spec-fields.generated.d.ts +29 -29
- package/dist/lib/server/wire-spec-fields.generated.js +29 -29
- package/dist/lib/server/wire-spec-fields.generated.js.map +1 -1
- package/dist/lib/server/wire-spec-fields.generated.mjs +29 -29
- package/dist/lib/server/wire-spec-fields.generated.mjs.map +1 -1
- package/dist/lib/testing/compliance/comply.d.mts +6 -0
- package/dist/lib/testing/compliance/comply.d.ts +6 -0
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
- package/dist/lib/testing/compliance/comply.js +3 -0
- package/dist/lib/testing/compliance/comply.js.map +1 -1
- package/dist/lib/testing/compliance/comply.mjs +3 -0
- package/dist/lib/testing/compliance/comply.mjs.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +31 -5
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.mjs +36 -6
- package/dist/lib/testing/storyboard/runner.mjs.map +1 -1
- package/dist/lib/testing/storyboard/types.d.mts +16 -5
- package/dist/lib/testing/storyboard/types.d.ts +16 -5
- package/dist/lib/testing/storyboard/types.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/types.js +1 -1
- package/dist/lib/testing/storyboard/types.js.map +1 -1
- package/dist/lib/testing/storyboard/types.mjs +1 -1
- package/dist/lib/testing/storyboard/types.mjs.map +1 -1
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/types/core.generated.js.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/v2/projection/augment-response.d.mts +16 -0
- package/dist/lib/v2/projection/augment-response.d.ts +16 -0
- package/dist/lib/v2/projection/augment-response.d.ts.map +1 -1
- package/dist/lib/v2/projection/augment-response.js +13 -4
- package/dist/lib/v2/projection/augment-response.js.map +1 -1
- package/dist/lib/v2/projection/augment-response.mjs +12 -4
- package/dist/lib/v2/projection/augment-response.mjs.map +1 -1
- package/dist/lib/v2/projection/index.d.mts +3 -1
- package/dist/lib/v2/projection/index.d.ts +3 -1
- package/dist/lib/v2/projection/index.d.ts.map +1 -1
- package/dist/lib/v2/projection/index.js +2 -0
- package/dist/lib/v2/projection/index.js.map +1 -1
- package/dist/lib/v2/projection/index.mjs +2 -0
- package/dist/lib/v2/projection/index.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 +8 -6
- package/dist/lib/version.js.map +1 -1
- package/dist/lib/version.mjs +8 -6
- package/dist/lib/version.mjs.map +1 -1
- package/docs/llms.txt +2 -2
- package/examples/error-compliant-server.ts +9 -3
- package/package.json +2 -2
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/creative-transformers/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/specialisms/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/acme-outdoor-live.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/distributed-brand-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/parallel-dispatch-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/rate-limit-trip-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/single-side-trust-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/catalog-macro-substitution.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-receiver-envelope.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/canonical-format-validate-input.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/comply-controller-mode-gate.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/error-compliance-signals.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/get-products-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/notification-config-event-scope.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/notification-config-lifecycle.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/notification-config-rejections.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/read-tool-idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/schema-validation-signals.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/stale-response-advisory.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/storyboard-schema.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/version-negotiation.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/webhook-emission.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/webhook-receiver-envelope.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/wholesale-feed-product-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/wholesale-feed-products.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.11 → 3.1.13}/universal/wholesale-feed-signals.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/brand/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/creative/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/creative/scenarios/evaluator_auth.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/governance/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/media-buy/state-machine.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/signals/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/audience-sync/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/brand-rights/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/collection-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/content-standards/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/creative-ad-server/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/creative-generative/generative-seller.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/creative-generative/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/creative-template/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/creative-transformers/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/governance-aware-seller/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/governance-delivery-monitor/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/governance-spend-authority/denied.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/governance-spend-authority/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/property-lists/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/sales-broadcast-tv/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/sales-catalog-driven/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/sales-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/sales-non-guaranteed/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/sales-proposal-mode/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/sales-social/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/signal-marketplace/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/signal-owned/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/specialisms/sponsored-intelligence/index.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/acme-outdoor-live.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/acme-outdoor.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/bistro-oranje.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/distributed-brand-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/nova-motors.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/osei-natural.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/parallel-dispatch-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/rate-limit-trip-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/single-side-trust-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/substitution-observer-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/summit-foods.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-kits/webhook-receiver-runner.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/catalog-macro-substitution.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/002-full-plan.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/README.md +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/canonicalization.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-receiver-envelope.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/README.md +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/keys.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/canonical-format-validate-input.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/capability-discovery.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/collection-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/comply-controller-mode-gate.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/content-standards-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/deterministic-testing.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/error-compliance-signals.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/error-compliance.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/fictional-entities.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/get-media-buys-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/get-products-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/get-signals-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/notification-config-event-scope.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/notification-config-lifecycle.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/notification-config-rejections.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/pagination-integrity-creative-formats.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/pagination-integrity-list-accounts.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/property-lists-pagination-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/read-tool-idempotency.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/runner-output-contract.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/schema-validation-signals.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/schema-validation.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/security.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/signed-requests.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/stale-response-advisory.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/storyboard-schema.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/v3-envelope-integrity.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/version-negotiation.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/webhook-emission.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/webhook-receiver-envelope.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/wholesale-feed-product-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/wholesale-feed-products.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
- /package/compliance/cache/{3.1.11.previous → 3.1.13.previous}/universal/wholesale-feed-signals.yaml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "/schemas/3.1.
|
|
3
|
+
"$id": "/schemas/3.1.13/trusted-match/offer-price.json",
|
|
4
4
|
"title": "Offer Price",
|
|
5
5
|
"description": "Lightweight price for a TMP offer. Used when the product supports variable pricing and the buyer specifies a price at match time.",
|
|
6
6
|
"x-status": "experimental",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "/schemas/3.1.
|
|
3
|
+
"$id": "/schemas/3.1.13/trusted-match/offer.json",
|
|
4
4
|
"title": "Offer",
|
|
5
5
|
"description": "A buyer's response to a context match request. Generalizes package activation — a simple activation is an offer with just package_id. A rich response includes brand, price, summary, and optionally an inline creative manifest.",
|
|
6
6
|
"x-status": "experimental",
|
|
@@ -11,15 +11,15 @@
|
|
|
11
11
|
"description": "Package identifier from the media buy."
|
|
12
12
|
},
|
|
13
13
|
"seller_agent": {
|
|
14
|
-
"$ref": "/schemas/3.1.
|
|
14
|
+
"$ref": "/schemas/3.1.13/core/seller-agent-ref.json",
|
|
15
15
|
"description": "Optional echo of the package's seller agent from sync-time metadata. Provided for publisher-side observability so log pipelines can attribute offers to sellers without round-tripping to the media-buy store. Non-authoritative: the binding on the cached AvailablePackage is source of truth. When omitted, the router MAY stamp this field from its cached package→seller map."
|
|
16
16
|
},
|
|
17
17
|
"brand": {
|
|
18
|
-
"$ref": "/schemas/3.1.
|
|
18
|
+
"$ref": "/schemas/3.1.13/core/brand-ref.json",
|
|
19
19
|
"description": "Brand for this offer. Required when the product allows dynamic brands (brand selected at match time rather than fixed on the package). For single-brand packages, the brand is already known from the media buy."
|
|
20
20
|
},
|
|
21
21
|
"price": {
|
|
22
|
-
"$ref": "/schemas/3.1.
|
|
22
|
+
"$ref": "/schemas/3.1.13/trusted-match/offer-price.json",
|
|
23
23
|
"description": "Price for this offer. Only present when the product supports variable pricing. For fixed-price packages, price is already set on the media buy."
|
|
24
24
|
},
|
|
25
25
|
"summary": {
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"description": "Buyer-generated description of the offer, for the publisher to judge relevance. E.g., '50% off Goldenfield mayo — recipe integration'. The publisher (or their AI assistant) uses this to decide whether the offer fits the context."
|
|
28
28
|
},
|
|
29
29
|
"creative_manifest": {
|
|
30
|
-
"$ref": "/schemas/3.1.
|
|
30
|
+
"$ref": "/schemas/3.1.13/core/creative-manifest.json",
|
|
31
31
|
"description": "Full creative details, inline. When present, the publisher has everything needed to render. Inline for small creatives (markdown, product card). For large creatives (VAST, video), the manifest references external assets via URLs."
|
|
32
32
|
},
|
|
33
33
|
"macros": {
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "/schemas/3.1.
|
|
3
|
+
"$id": "/schemas/3.1.13/trusted-match/provider-identity-match-response.json",
|
|
4
4
|
"title": "Identity Match Response (Provider → Router)",
|
|
5
5
|
"description": "Provider-to-router shape of the Identity Match response. An identity agent returns eligibility, the per-package serve-window throttle, and — when it mints one — an ordered list of TMPX chunks. Each chunk pairs a provider-local `slot_id` (declared at registration in `tmpx_slots`) with an opaque URL-safe `value`. Publisher-local destination names (ad-server macros, GAM key-values, VAST URL macros, DOOH play-log fields) MUST NOT appear on this hop; the router keys chunks under the emitting `provider_id` and the publisher's deployment configuration resolves `(provider_id, slot_id)` to the local destination (see publisher-tmpx-config.json). Router-hop fields (`tmpx_providers`, `tmpx`) MUST NOT appear on this shape — a router receiving them from a provider MUST reject the response. Envelope extension fields (`context`, `ext`) are intentionally omitted to prevent data leakage across the identity privacy boundary; they are forbidden by this schema.",
|
|
6
6
|
"type": "object",
|
|
7
7
|
"allOf": [
|
|
8
8
|
{
|
|
9
|
-
"$ref": "/schemas/3.1.
|
|
9
|
+
"$ref": "/schemas/3.1.13/core/version-envelope.json"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
|
-
"$ref": "/schemas/3.1.
|
|
12
|
+
"$ref": "/schemas/3.1.13/core/protocol-envelope.json"
|
|
13
13
|
}
|
|
14
14
|
],
|
|
15
15
|
"x-status": "experimental",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"type": "array",
|
|
41
41
|
"description": "Ordered TMPX chunk/value pairs this identity agent mints. Each entry names the provider-local `slot_id` the value fills (from the provider's registered `tmpx_slots` in provider-registration.json). Ordered-prefix invariant: a response that carries fewer chunks than the provider registered MUST emit an ordered prefix of the registered `tmpx_slots` — routers MUST NOT reorder or fill gaps. The router MUST validate this contract before forwarding: if the provider has no `tmpx_slots` registration, or if the chunk `slot_id` sequence is not an exact non-empty ordered prefix of the registered list (duplicate, reordered, sparse, or unregistered slot IDs), the router MUST drop that provider's chunks atomically and MUST NOT forward them into `tmpx_providers`. Cap of 2 chunks in v1 aligned with the GAM macro-slot budget; the cap MAY rise without a shape change. Omitted when this provider mints no TMPX (e.g. no eligible packages).",
|
|
42
42
|
"items": {
|
|
43
|
-
"$ref": "/schemas/3.1.
|
|
43
|
+
"$ref": "/schemas/3.1.13/trusted-match/tmpx-chunk.json"
|
|
44
44
|
},
|
|
45
45
|
"minItems": 1,
|
|
46
46
|
"maxItems": 2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "/schemas/3.1.
|
|
3
|
+
"$id": "/schemas/3.1.13/trusted-match/provider-registration.json",
|
|
4
4
|
"title": "TMP Provider Registration",
|
|
5
5
|
"description": "Declares a TMP provider's endpoint, capabilities, and operational parameters. Used in router configuration (static YAML or dynamic API) and referenced by product-level provider entries. The publisher controls which providers participate in their ad decisioning. Endpoint URLs MUST be validated against SSRF, and dynamic registration endpoints MUST authenticate callers — see docs/trusted-match/specification#provider-registration-security.",
|
|
6
6
|
"x-status": "experimental",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"type": "array",
|
|
40
40
|
"description": "Identity types this provider can resolve. The router selects Identity Match providers whose uid_types overlaps with any uid_type in the request's identities array. MUST be present and non-empty when identity_match is true.",
|
|
41
41
|
"items": {
|
|
42
|
-
"$ref": "/schemas/3.1.
|
|
42
|
+
"$ref": "/schemas/3.1.13/enums/uid-type.json"
|
|
43
43
|
},
|
|
44
44
|
"minItems": 1
|
|
45
45
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "/schemas/3.1.
|
|
3
|
+
"$id": "/schemas/3.1.13/trusted-match/publisher-tmpx-config.json",
|
|
4
4
|
"title": "Publisher TMPX Macro Mapping",
|
|
5
5
|
"description": "Publisher-owned deployment configuration that maps each identity provider's TMPX slots to the ad-server macro names (or targeting keys, VAST substitutions, DOOH play-log fields) the publisher wants those chunks fired into on this surface. Mapping is authored by the publisher — the same operator who trafficks the corresponding ad-server line items — and never travels on the wire between identity provider and router. This keeps macro naming a deployment concern rather than a protocol identifier: providers emit chunks as `{slot_id, value}` pairs (see provider-identity-match-response.json), the router preserves ordering and slot IDs under the emitting `provider_id` (see identity-match-response.json), and this configuration resolves each `(provider_id, slot_id)` to a local destination on the way to the ad server. A publisher may map the same provider to different destinations across surfaces (GAM key-values vs. VAST macros vs. DOOH play-log fields) by carrying one instance of this configuration per surface.",
|
|
6
6
|
"x-status": "experimental",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "/schemas/3.1.
|
|
3
|
+
"$id": "/schemas/3.1.13/trusted-match/tmpx-chunk.json",
|
|
4
4
|
"title": "TMPX Chunk",
|
|
5
5
|
"description": "A single provider TMPX chunk — the provider-local `slot_id` (declared at registration in `tmpx_slots`) and its opaque URL-safe `value`. Same shape on both hops of the Identity Match response: providers emit `tmpx_chunks[]` on the provider→router shape, the router forwards them under `tmpx_providers[provider_id].chunks[]` on the router→publisher shape. Publisher-local destination names never appear here — the publisher's deployment configuration resolves `(provider_id, slot_id)` → local destination via publisher-tmpx-config.json.",
|
|
6
6
|
"x-status": "experimental",
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
"source_sha": "4e553ad955f83b49c7d221ab5c3ff78237ad02e3",
|
|
5
5
|
"source_tarball_sha256": "580656d6466ef9f0d1119985e6726c2efea718dc671e2ad30957fcb2fd54af0f",
|
|
6
6
|
"upstream_adcp_version": "2.5.3",
|
|
7
|
-
"synced_at": "2026-08-
|
|
7
|
+
"synced_at": "2026-08-11T19:47:16.023Z"
|
|
8
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/server/decisioning/runtime/entity-hydration.generated.ts"],"sourcesContent":["// Generated entity-hydration field map — do NOT edit by hand\n//\n// Source: `schemas/cache/3.1.
|
|
1
|
+
{"version":3,"sources":["../../../../../src/lib/server/decisioning/runtime/entity-hydration.generated.ts"],"sourcesContent":["// Generated entity-hydration field map — do NOT edit by hand\n//\n// Source: `schemas/cache/3.1.13/manifest.json` + per-tool request\n// schemas. Every top-level `x-entity`-tagged string field on a request\n// schema lands here. The runtime hydrator (`from-platform.ts` →\n// `hydrateForTool`) walks this map plus the hand-curated\n// `ENTITY_TO_RESOURCE_KIND` table to drive auto-hydration without\n// re-walking schemas at startup.\n//\n// Renaming-firewall: if the spec renames `media_buy_id` → `mediabuy_id`,\n// the `x-entity` tag travels with it; the next codegen run picks up\n// the new field name automatically.\n//\n// Regenerate with: npm run generate-entity-hydration\n\nexport interface EntityHydrationField {\n /** Top-level property on the wire request object. */\n readonly field: string;\n /** Spec `x-entity` annotation — maps to `ResourceKind` at runtime. */\n readonly xEntity: string;\n}\n\nexport const TOOL_ENTITY_FIELDS: Readonly<Record<string, ReadonlyArray<EntityHydrationField>>> = {\n acquire_rights: [\n { field: \"pricing_option_id\", xEntity: \"vendor_pricing_option\" },\n { field: \"rights_id\", xEntity: \"rights_grant\" },\n ],\n activate_signal: [\n { field: \"pricing_option_id\", xEntity: \"vendor_pricing_option\" },\n { field: \"signal_agent_segment_id\", xEntity: \"signal_activation_id\" },\n ],\n build_creative: [\n { field: \"creative_id\", xEntity: \"creative\" },\n { field: \"media_buy_id\", xEntity: \"media_buy\" },\n { field: \"package_id\", xEntity: \"package\" },\n { field: \"refine_from_build_variant_id\", xEntity: \"build_variant\" },\n { field: \"transformer_id\", xEntity: \"transformer\" },\n ],\n check_governance: [\n { field: \"plan_id\", xEntity: \"governance_plan\" },\n ],\n create_media_buy: [\n { field: \"plan_id\", xEntity: \"governance_plan\" },\n ],\n delete_collection_list: [\n { field: \"list_id\", xEntity: \"collection_list\" },\n ],\n delete_property_list: [\n { field: \"list_id\", xEntity: \"property_list\" },\n ],\n get_brand_identity: [\n { field: \"brand_id\", xEntity: \"advertiser_brand\" },\n ],\n get_collection_list: [\n { field: \"list_id\", xEntity: \"collection_list\" },\n ],\n get_property_list: [\n { field: \"list_id\", xEntity: \"property_list\" },\n ],\n get_rights: [\n { field: \"brand_id\", xEntity: \"rights_holder_brand\" },\n ],\n get_task_status: [\n { field: \"task_id\", xEntity: \"task\" },\n ],\n log_event: [\n { field: \"event_source_id\", xEntity: \"event_source\" },\n ],\n preview_creative: [\n { field: \"creative_id\", xEntity: \"creative\" },\n ],\n provide_performance_feedback: [\n { field: \"creative_id\", xEntity: \"creative\" },\n { field: \"media_buy_id\", xEntity: \"media_buy\" },\n { field: \"package_id\", xEntity: \"package\" },\n ],\n report_plan_outcome: [\n { field: \"check_id\", xEntity: \"governance_check\" },\n { field: \"plan_id\", xEntity: \"governance_plan\" },\n ],\n si_get_offering: [\n { field: \"offering_id\", xEntity: \"offering\" },\n ],\n si_initiate_session: [\n { field: \"media_buy_id\", xEntity: \"media_buy\" },\n { field: \"offering_id\", xEntity: \"offering\" },\n ],\n si_send_message: [\n { field: \"session_id\", xEntity: \"si_session\" },\n ],\n si_terminate_session: [\n { field: \"session_id\", xEntity: \"si_session\" },\n ],\n update_collection_list: [\n { field: \"list_id\", xEntity: \"collection_list\" },\n ],\n update_media_buy: [\n { field: \"media_buy_id\", xEntity: \"media_buy\" },\n ],\n update_property_list: [\n { field: \"list_id\", xEntity: \"property_list\" },\n ],\n update_rights: [\n { field: \"pricing_option_id\", xEntity: \"vendor_pricing_option\" },\n { field: \"rights_id\", xEntity: \"rights_grant\" },\n ],\n validate_property_delivery: [\n { field: \"list_id\", xEntity: \"property_list\" },\n ],\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBO,MAAM,qBAAoF;AAAA,EAC/F,gBAAgB;AAAA,IACd,EAAE,OAAO,qBAAqB,SAAS,wBAAwB;AAAA,IAC/D,EAAE,OAAO,aAAa,SAAS,eAAe;AAAA,EAChD;AAAA,EACA,iBAAiB;AAAA,IACf,EAAE,OAAO,qBAAqB,SAAS,wBAAwB;AAAA,IAC/D,EAAE,OAAO,2BAA2B,SAAS,uBAAuB;AAAA,EACtE;AAAA,EACA,gBAAgB;AAAA,IACd,EAAE,OAAO,eAAe,SAAS,WAAW;AAAA,IAC5C,EAAE,OAAO,gBAAgB,SAAS,YAAY;AAAA,IAC9C,EAAE,OAAO,cAAc,SAAS,UAAU;AAAA,IAC1C,EAAE,OAAO,gCAAgC,SAAS,gBAAgB;AAAA,IAClE,EAAE,OAAO,kBAAkB,SAAS,cAAc;AAAA,EACpD;AAAA,EACA,kBAAkB;AAAA,IAChB,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,kBAAkB;AAAA,IAChB,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,wBAAwB;AAAA,IACtB,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,sBAAsB;AAAA,IACpB,EAAE,OAAO,WAAW,SAAS,gBAAgB;AAAA,EAC/C;AAAA,EACA,oBAAoB;AAAA,IAClB,EAAE,OAAO,YAAY,SAAS,mBAAmB;AAAA,EACnD;AAAA,EACA,qBAAqB;AAAA,IACnB,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,mBAAmB;AAAA,IACjB,EAAE,OAAO,WAAW,SAAS,gBAAgB;AAAA,EAC/C;AAAA,EACA,YAAY;AAAA,IACV,EAAE,OAAO,YAAY,SAAS,sBAAsB;AAAA,EACtD;AAAA,EACA,iBAAiB;AAAA,IACf,EAAE,OAAO,WAAW,SAAS,OAAO;AAAA,EACtC;AAAA,EACA,WAAW;AAAA,IACT,EAAE,OAAO,mBAAmB,SAAS,eAAe;AAAA,EACtD;AAAA,EACA,kBAAkB;AAAA,IAChB,EAAE,OAAO,eAAe,SAAS,WAAW;AAAA,EAC9C;AAAA,EACA,8BAA8B;AAAA,IAC5B,EAAE,OAAO,eAAe,SAAS,WAAW;AAAA,IAC5C,EAAE,OAAO,gBAAgB,SAAS,YAAY;AAAA,IAC9C,EAAE,OAAO,cAAc,SAAS,UAAU;AAAA,EAC5C;AAAA,EACA,qBAAqB;AAAA,IACnB,EAAE,OAAO,YAAY,SAAS,mBAAmB;AAAA,IACjD,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,iBAAiB;AAAA,IACf,EAAE,OAAO,eAAe,SAAS,WAAW;AAAA,EAC9C;AAAA,EACA,qBAAqB;AAAA,IACnB,EAAE,OAAO,gBAAgB,SAAS,YAAY;AAAA,IAC9C,EAAE,OAAO,eAAe,SAAS,WAAW;AAAA,EAC9C;AAAA,EACA,iBAAiB;AAAA,IACf,EAAE,OAAO,cAAc,SAAS,aAAa;AAAA,EAC/C;AAAA,EACA,sBAAsB;AAAA,IACpB,EAAE,OAAO,cAAc,SAAS,aAAa;AAAA,EAC/C;AAAA,EACA,wBAAwB;AAAA,IACtB,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,kBAAkB;AAAA,IAChB,EAAE,OAAO,gBAAgB,SAAS,YAAY;AAAA,EAChD;AAAA,EACA,sBAAsB;AAAA,IACpB,EAAE,OAAO,WAAW,SAAS,gBAAgB;AAAA,EAC/C;AAAA,EACA,eAAe;AAAA,IACb,EAAE,OAAO,qBAAqB,SAAS,wBAAwB;AAAA,IAC/D,EAAE,OAAO,aAAa,SAAS,eAAe;AAAA,EAChD;AAAA,EACA,4BAA4B;AAAA,IAC1B,EAAE,OAAO,WAAW,SAAS,gBAAgB;AAAA,EAC/C;AACF;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../src/lib/server/decisioning/runtime/entity-hydration.generated.ts"],"sourcesContent":["// Generated entity-hydration field map — do NOT edit by hand\n//\n// Source: `schemas/cache/3.1.
|
|
1
|
+
{"version":3,"sources":["../../../../../src/lib/server/decisioning/runtime/entity-hydration.generated.ts"],"sourcesContent":["// Generated entity-hydration field map — do NOT edit by hand\n//\n// Source: `schemas/cache/3.1.13/manifest.json` + per-tool request\n// schemas. Every top-level `x-entity`-tagged string field on a request\n// schema lands here. The runtime hydrator (`from-platform.ts` →\n// `hydrateForTool`) walks this map plus the hand-curated\n// `ENTITY_TO_RESOURCE_KIND` table to drive auto-hydration without\n// re-walking schemas at startup.\n//\n// Renaming-firewall: if the spec renames `media_buy_id` → `mediabuy_id`,\n// the `x-entity` tag travels with it; the next codegen run picks up\n// the new field name automatically.\n//\n// Regenerate with: npm run generate-entity-hydration\n\nexport interface EntityHydrationField {\n /** Top-level property on the wire request object. */\n readonly field: string;\n /** Spec `x-entity` annotation — maps to `ResourceKind` at runtime. */\n readonly xEntity: string;\n}\n\nexport const TOOL_ENTITY_FIELDS: Readonly<Record<string, ReadonlyArray<EntityHydrationField>>> = {\n acquire_rights: [\n { field: \"pricing_option_id\", xEntity: \"vendor_pricing_option\" },\n { field: \"rights_id\", xEntity: \"rights_grant\" },\n ],\n activate_signal: [\n { field: \"pricing_option_id\", xEntity: \"vendor_pricing_option\" },\n { field: \"signal_agent_segment_id\", xEntity: \"signal_activation_id\" },\n ],\n build_creative: [\n { field: \"creative_id\", xEntity: \"creative\" },\n { field: \"media_buy_id\", xEntity: \"media_buy\" },\n { field: \"package_id\", xEntity: \"package\" },\n { field: \"refine_from_build_variant_id\", xEntity: \"build_variant\" },\n { field: \"transformer_id\", xEntity: \"transformer\" },\n ],\n check_governance: [\n { field: \"plan_id\", xEntity: \"governance_plan\" },\n ],\n create_media_buy: [\n { field: \"plan_id\", xEntity: \"governance_plan\" },\n ],\n delete_collection_list: [\n { field: \"list_id\", xEntity: \"collection_list\" },\n ],\n delete_property_list: [\n { field: \"list_id\", xEntity: \"property_list\" },\n ],\n get_brand_identity: [\n { field: \"brand_id\", xEntity: \"advertiser_brand\" },\n ],\n get_collection_list: [\n { field: \"list_id\", xEntity: \"collection_list\" },\n ],\n get_property_list: [\n { field: \"list_id\", xEntity: \"property_list\" },\n ],\n get_rights: [\n { field: \"brand_id\", xEntity: \"rights_holder_brand\" },\n ],\n get_task_status: [\n { field: \"task_id\", xEntity: \"task\" },\n ],\n log_event: [\n { field: \"event_source_id\", xEntity: \"event_source\" },\n ],\n preview_creative: [\n { field: \"creative_id\", xEntity: \"creative\" },\n ],\n provide_performance_feedback: [\n { field: \"creative_id\", xEntity: \"creative\" },\n { field: \"media_buy_id\", xEntity: \"media_buy\" },\n { field: \"package_id\", xEntity: \"package\" },\n ],\n report_plan_outcome: [\n { field: \"check_id\", xEntity: \"governance_check\" },\n { field: \"plan_id\", xEntity: \"governance_plan\" },\n ],\n si_get_offering: [\n { field: \"offering_id\", xEntity: \"offering\" },\n ],\n si_initiate_session: [\n { field: \"media_buy_id\", xEntity: \"media_buy\" },\n { field: \"offering_id\", xEntity: \"offering\" },\n ],\n si_send_message: [\n { field: \"session_id\", xEntity: \"si_session\" },\n ],\n si_terminate_session: [\n { field: \"session_id\", xEntity: \"si_session\" },\n ],\n update_collection_list: [\n { field: \"list_id\", xEntity: \"collection_list\" },\n ],\n update_media_buy: [\n { field: \"media_buy_id\", xEntity: \"media_buy\" },\n ],\n update_property_list: [\n { field: \"list_id\", xEntity: \"property_list\" },\n ],\n update_rights: [\n { field: \"pricing_option_id\", xEntity: \"vendor_pricing_option\" },\n { field: \"rights_id\", xEntity: \"rights_grant\" },\n ],\n validate_property_delivery: [\n { field: \"list_id\", xEntity: \"property_list\" },\n ],\n};\n"],"mappings":"AAsBO,MAAM,qBAAoF;AAAA,EAC/F,gBAAgB;AAAA,IACd,EAAE,OAAO,qBAAqB,SAAS,wBAAwB;AAAA,IAC/D,EAAE,OAAO,aAAa,SAAS,eAAe;AAAA,EAChD;AAAA,EACA,iBAAiB;AAAA,IACf,EAAE,OAAO,qBAAqB,SAAS,wBAAwB;AAAA,IAC/D,EAAE,OAAO,2BAA2B,SAAS,uBAAuB;AAAA,EACtE;AAAA,EACA,gBAAgB;AAAA,IACd,EAAE,OAAO,eAAe,SAAS,WAAW;AAAA,IAC5C,EAAE,OAAO,gBAAgB,SAAS,YAAY;AAAA,IAC9C,EAAE,OAAO,cAAc,SAAS,UAAU;AAAA,IAC1C,EAAE,OAAO,gCAAgC,SAAS,gBAAgB;AAAA,IAClE,EAAE,OAAO,kBAAkB,SAAS,cAAc;AAAA,EACpD;AAAA,EACA,kBAAkB;AAAA,IAChB,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,kBAAkB;AAAA,IAChB,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,wBAAwB;AAAA,IACtB,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,sBAAsB;AAAA,IACpB,EAAE,OAAO,WAAW,SAAS,gBAAgB;AAAA,EAC/C;AAAA,EACA,oBAAoB;AAAA,IAClB,EAAE,OAAO,YAAY,SAAS,mBAAmB;AAAA,EACnD;AAAA,EACA,qBAAqB;AAAA,IACnB,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,mBAAmB;AAAA,IACjB,EAAE,OAAO,WAAW,SAAS,gBAAgB;AAAA,EAC/C;AAAA,EACA,YAAY;AAAA,IACV,EAAE,OAAO,YAAY,SAAS,sBAAsB;AAAA,EACtD;AAAA,EACA,iBAAiB;AAAA,IACf,EAAE,OAAO,WAAW,SAAS,OAAO;AAAA,EACtC;AAAA,EACA,WAAW;AAAA,IACT,EAAE,OAAO,mBAAmB,SAAS,eAAe;AAAA,EACtD;AAAA,EACA,kBAAkB;AAAA,IAChB,EAAE,OAAO,eAAe,SAAS,WAAW;AAAA,EAC9C;AAAA,EACA,8BAA8B;AAAA,IAC5B,EAAE,OAAO,eAAe,SAAS,WAAW;AAAA,IAC5C,EAAE,OAAO,gBAAgB,SAAS,YAAY;AAAA,IAC9C,EAAE,OAAO,cAAc,SAAS,UAAU;AAAA,EAC5C;AAAA,EACA,qBAAqB;AAAA,IACnB,EAAE,OAAO,YAAY,SAAS,mBAAmB;AAAA,IACjD,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,iBAAiB;AAAA,IACf,EAAE,OAAO,eAAe,SAAS,WAAW;AAAA,EAC9C;AAAA,EACA,qBAAqB;AAAA,IACnB,EAAE,OAAO,gBAAgB,SAAS,YAAY;AAAA,IAC9C,EAAE,OAAO,eAAe,SAAS,WAAW;AAAA,EAC9C;AAAA,EACA,iBAAiB;AAAA,IACf,EAAE,OAAO,cAAc,SAAS,aAAa;AAAA,EAC/C;AAAA,EACA,sBAAsB;AAAA,IACpB,EAAE,OAAO,cAAc,SAAS,aAAa;AAAA,EAC/C;AAAA,EACA,wBAAwB;AAAA,IACtB,EAAE,OAAO,WAAW,SAAS,kBAAkB;AAAA,EACjD;AAAA,EACA,kBAAkB;AAAA,IAChB,EAAE,OAAO,gBAAgB,SAAS,YAAY;AAAA,EAChD;AAAA,EACA,sBAAsB;AAAA,IACpB,EAAE,OAAO,WAAW,SAAS,gBAAgB;AAAA,EAC/C;AAAA,EACA,eAAe;AAAA,IACb,EAAE,OAAO,qBAAqB,SAAS,wBAAwB;AAAA,IAC/D,EAAE,OAAO,aAAa,SAAS,eAAe;AAAA,EAChD;AAAA,EACA,4BAA4B;AAAA,IAC1B,EAAE,OAAO,WAAW,SAAS,gBAAgB;AAAA,EAC/C;AACF;","names":[]}
|
|
@@ -8,6 +8,11 @@ import { type StandardErrorCode, type ErrorRecovery } from '../types/error-codes
|
|
|
8
8
|
import type { ValidationIssue } from '../validation/schema-validator.mjs';
|
|
9
9
|
export interface AdcpErrorOptions {
|
|
10
10
|
message: string;
|
|
11
|
+
/**
|
|
12
|
+
* Opaque request context to echo beside `adcp_error`. Only a non-null,
|
|
13
|
+
* non-array object is echoable, matching the framework envelope behavior.
|
|
14
|
+
*/
|
|
15
|
+
context?: unknown;
|
|
11
16
|
/**
|
|
12
17
|
* Override the recovery classification. Defaults to
|
|
13
18
|
* `STANDARD_ERROR_CODES[code].recovery` for known codes, `'terminal'`
|
|
@@ -89,6 +94,7 @@ export interface AdcpErrorResponse {
|
|
|
89
94
|
isError: true;
|
|
90
95
|
structuredContent: {
|
|
91
96
|
adcp_error: AdcpErrorPayload;
|
|
97
|
+
context?: object;
|
|
92
98
|
};
|
|
93
99
|
}
|
|
94
100
|
/**
|
|
@@ -123,15 +129,17 @@ export interface AdcpErrorResponse {
|
|
|
123
129
|
* ```typescript
|
|
124
130
|
* import { adcpError } from '@adcp/sdk';
|
|
125
131
|
*
|
|
126
|
-
* server.registerTool("get_products", { inputSchema: schema }, async
|
|
132
|
+
* server.registerTool("get_products", { inputSchema: schema }, async request => {
|
|
133
|
+
* const { query, context } = request;
|
|
127
134
|
* if (!products.length) {
|
|
128
135
|
* return adcpError('PRODUCT_NOT_FOUND', {
|
|
129
136
|
* message: 'No products match query',
|
|
130
137
|
* field: 'query',
|
|
131
138
|
* suggestion: 'Try a broader search term',
|
|
139
|
+
* context,
|
|
132
140
|
* });
|
|
133
141
|
* }
|
|
134
|
-
* return { content: [...], structuredContent: { products } };
|
|
142
|
+
* return { content: [...], structuredContent: { products, context } };
|
|
135
143
|
* });
|
|
136
144
|
* ```
|
|
137
145
|
*/
|
|
@@ -8,6 +8,11 @@ import { type StandardErrorCode, type ErrorRecovery } from '../types/error-codes
|
|
|
8
8
|
import type { ValidationIssue } from '../validation/schema-validator';
|
|
9
9
|
export interface AdcpErrorOptions {
|
|
10
10
|
message: string;
|
|
11
|
+
/**
|
|
12
|
+
* Opaque request context to echo beside `adcp_error`. Only a non-null,
|
|
13
|
+
* non-array object is echoable, matching the framework envelope behavior.
|
|
14
|
+
*/
|
|
15
|
+
context?: unknown;
|
|
11
16
|
/**
|
|
12
17
|
* Override the recovery classification. Defaults to
|
|
13
18
|
* `STANDARD_ERROR_CODES[code].recovery` for known codes, `'terminal'`
|
|
@@ -89,6 +94,7 @@ export interface AdcpErrorResponse {
|
|
|
89
94
|
isError: true;
|
|
90
95
|
structuredContent: {
|
|
91
96
|
adcp_error: AdcpErrorPayload;
|
|
97
|
+
context?: object;
|
|
92
98
|
};
|
|
93
99
|
}
|
|
94
100
|
/**
|
|
@@ -123,15 +129,17 @@ export interface AdcpErrorResponse {
|
|
|
123
129
|
* ```typescript
|
|
124
130
|
* import { adcpError } from '@adcp/sdk';
|
|
125
131
|
*
|
|
126
|
-
* server.registerTool("get_products", { inputSchema: schema }, async
|
|
132
|
+
* server.registerTool("get_products", { inputSchema: schema }, async request => {
|
|
133
|
+
* const { query, context } = request;
|
|
127
134
|
* if (!products.length) {
|
|
128
135
|
* return adcpError('PRODUCT_NOT_FOUND', {
|
|
129
136
|
* message: 'No products match query',
|
|
130
137
|
* field: 'query',
|
|
131
138
|
* suggestion: 'Try a broader search term',
|
|
139
|
+
* context,
|
|
132
140
|
* });
|
|
133
141
|
* }
|
|
134
|
-
* return { content: [...], structuredContent: { products } };
|
|
142
|
+
* return { content: [...], structuredContent: { products, context } };
|
|
135
143
|
* });
|
|
136
144
|
* ```
|
|
137
145
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/server/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAItE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,IAAI,CAAC;IACd,iBAAiB,EAAE;QACjB,UAAU,EAAE,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/server/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,aAAa,EACnB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAItE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,OAAO,EAAE,IAAI,CAAC;IACd,iBAAiB,EAAE;QACjB,UAAU,EAAE,gBAAgB,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AA4BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,iBAAiB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,GAAG,iBAAiB,CAyB/G;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,gBAAgB,CAUxG;AAED,wBAAgB,2BAA2B,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAEpG"}
|
|
@@ -26,6 +26,9 @@ module.exports = __toCommonJS(errors_exports);
|
|
|
26
26
|
var import_error_codes = require('../types/error-codes.js');
|
|
27
27
|
var import_envelope_allowlist = require('./envelope-allowlist.js');
|
|
28
28
|
var import_pick_safe_details = require('./pick-safe-details.js');
|
|
29
|
+
function isEchoableContext(value) {
|
|
30
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
31
|
+
}
|
|
29
32
|
const AUTHORIZATION_REQUIRED_DETAIL_KEYS = [
|
|
30
33
|
"required_connections",
|
|
31
34
|
"missing_connections",
|
|
@@ -60,10 +63,14 @@ function adcpError(code, options) {
|
|
|
60
63
|
...options.details != null && { details: options.details }
|
|
61
64
|
};
|
|
62
65
|
const filtered = applyAdcpErrorAllowlist(code, adcp_error);
|
|
66
|
+
const structuredContent = {
|
|
67
|
+
adcp_error: filtered,
|
|
68
|
+
...isEchoableContext(options.context) ? { context: options.context } : {}
|
|
69
|
+
};
|
|
63
70
|
return {
|
|
64
|
-
content: [{ type: "text", text: JSON.stringify(
|
|
71
|
+
content: [{ type: "text", text: JSON.stringify(structuredContent) }],
|
|
65
72
|
isError: true,
|
|
66
|
-
structuredContent
|
|
73
|
+
structuredContent
|
|
67
74
|
};
|
|
68
75
|
}
|
|
69
76
|
function applyAdcpErrorAllowlist(code, payload) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/server/errors.ts"],"sourcesContent":["/**\n * Server-side helpers for producing L3-compliant AdCP error responses.\n *\n * Use `adcpError()` in MCP tool handlers to return structured errors\n * that clients can automatically detect, classify, and act on.\n */\n\nimport {\n STANDARD_ERROR_CODES,\n isStandardErrorCode,\n type StandardErrorCode,\n type ErrorRecovery,\n} from '../types/error-codes';\nimport type { ValidationIssue } from '../validation/schema-validator';\nimport { ADCP_ERROR_FIELD_ALLOWLIST } from './envelope-allowlist';\nimport { pickSafeDetails } from './pick-safe-details';\n\nexport interface AdcpErrorOptions {\n message: string;\n /**\n * Override the recovery classification. Defaults to\n * `STANDARD_ERROR_CODES[code].recovery` for known codes, `'terminal'`\n * otherwise. Dropped from the wire shape for codes whose entry in\n * `ADCP_ERROR_FIELD_ALLOWLIST` excludes it; normalized back to the\n * standard table value for allowlisted standard-code envelopes.\n */\n recovery?: ErrorRecovery;\n /**\n * Name of the request field the error applies to (validation /\n * constraint errors). Dropped from the wire shape for codes whose\n * `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it (e.g. `IDEMPOTENCY_CONFLICT`\n * — a conflict response MUST NOT echo prior payload state).\n */\n field?: string;\n /**\n * Human-readable remediation hint. Dropped from the wire shape for\n * codes whose `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it (e.g.\n * `IDEMPOTENCY_CONFLICT`).\n */\n suggestion?: string;\n /**\n * Seconds to wait before retrying a transient error. Only meaningful\n * on retryable codes (`RATE_LIMITED`, `SERVICE_UNAVAILABLE`); dropped\n * on terminal codes whose allowlist excludes it (`IDEMPOTENCY_CONFLICT`\n * — a computed `retry_after` on conflict would leak cached-entry age).\n */\n retry_after?: number;\n /**\n * Code-specific diagnostic payload. Dropped from the wire shape for\n * codes whose `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it\n * (`IDEMPOTENCY_CONFLICT` — a conflict response MUST NOT echo the\n * prior request payload or cached response body).\n */\n details?: Record<string, unknown>;\n /**\n * Schema validation issues surfaced at the top level of `adcp_error`\n * so operators see JSON Pointers on the first render. Primary use is\n * `VALIDATION_ERROR`; framework validation hooks populate this\n * automatically and also mirror the same array to `details.issues`\n * for buyers that already index into `details` per AdCP spec\n * convention.\n */\n issues?: Array<Omit<ValidationIssue, 'schemaPath'> & { schemaPath?: string }>;\n}\n\nexport interface AdcpErrorPayload {\n code: string;\n message: string;\n /**\n * Closed-enum classifier. Populated by `adcpError()` from\n * `STANDARD_ERROR_CODES[code].recovery` unless the caller provides an\n * override. Marked optional because per-code inside-`adcp_error`\n * allowlists may deliberately drop it from the wire shape — consumers\n * reading a payload parsed off the wire MUST tolerate `undefined`.\n */\n recovery?: ErrorRecovery;\n field?: string;\n suggestion?: string;\n retry_after?: number;\n details?: Record<string, unknown>;\n /**\n * Schema validation issues (`VALIDATION_ERROR`) exposed at the top\n * level so the list is the first thing a reader sees when inspecting\n * the envelope. Also mirrored at `details.issues` for spec-convention\n * compatibility.\n */\n issues?: Array<Omit<ValidationIssue, 'schemaPath'> & { schemaPath?: string }>;\n}\n\nexport interface AdcpErrorResponse {\n [key: string]: unknown;\n content: Array<{ type: 'text'; text: string }>;\n isError: true;\n structuredContent: {\n adcp_error: AdcpErrorPayload;\n };\n}\n\nconst AUTHORIZATION_REQUIRED_DETAIL_KEYS = [\n 'required_connections',\n 'missing_connections',\n 'provider',\n 'connection_type',\n 'required_for',\n 'scope',\n 'status',\n 'resource_ref',\n 'platform_account_id',\n 'identity_id',\n 'handle',\n 'profile_url',\n 'post_id',\n 'post_url',\n 'authorization_url',\n 'authorization_instructions',\n 'checked_at',\n 'expires_at',\n 'reference_authorization',\n] as const;\n\n/**\n * Build an L3-compliant MCP tool error response with all three transport layers:\n *\n * 1. `structuredContent.adcp_error` — programmatic extraction (L3)\n * 2. `content[0].text` — JSON text fallback (L2)\n * 3. `isError: true` — MCP error signal\n *\n * Recovery is auto-populated from the standard error code table when not provided.\n *\n * Before returning, any field NOT allowlisted for the given code in\n * {@link ADCP_ERROR_FIELD_ALLOWLIST} is dropped — sellers get the builder's\n * ergonomics for every code AND the strict wire shape for codes that have\n * a registered allowlist. `IDEMPOTENCY_CONFLICT` is the canonical case:\n * payload-shaped diagnostics like `field`, `suggestion`, and `details`\n * silently drop while standard `recovery` metadata is preserved as the\n * canonical standard-table value. Codes without a registered allowlist\n * pass through unchanged.\n *\n * **Two-layer wire shape.** This builder emits the envelope layer\n * (`structuredContent.adcp_error`) only. For tools whose response\n * schema declares a typed Error arm (`errors[]` required at the top\n * level), the framework dispatcher synthesises the payload-layer\n * `errors[]` from the same data at finalize time, so the wire carries\n * both the envelope marker and the typed Error arm together — no\n * adopter code change required. The list of affected tools is derived\n * at server build from the bundled schema cache. RFC:\n * `docs/proposals/adcperror-two-layer-emission.md`.\n *\n * @example\n * ```typescript\n * import { adcpError } from '@adcp/sdk';\n *\n * server.registerTool(\"get_products\", { inputSchema: schema }, async ({ query }) => {\n * if (!products.length) {\n * return adcpError('PRODUCT_NOT_FOUND', {\n * message: 'No products match query',\n * field: 'query',\n * suggestion: 'Try a broader search term',\n * });\n * }\n * return { content: [...], structuredContent: { products } };\n * });\n * ```\n */\nexport function adcpError(code: StandardErrorCode | (string & {}), options: AdcpErrorOptions): AdcpErrorResponse {\n const recovery = normalizeRecoveryForCode(code, options.recovery);\n\n const adcp_error: AdcpErrorPayload = {\n code,\n message: options.message,\n recovery,\n ...(options.field != null && { field: options.field }),\n ...(options.suggestion != null && { suggestion: options.suggestion }),\n ...(options.retry_after != null && { retry_after: options.retry_after }),\n ...(options.issues != null && { issues: options.issues }),\n ...(options.details != null && { details: options.details }),\n };\n\n const filtered = applyAdcpErrorAllowlist(code, adcp_error as unknown as Record<string, unknown>);\n\n return {\n content: [{ type: 'text', text: JSON.stringify({ adcp_error: filtered }) }],\n isError: true,\n structuredContent: { adcp_error: filtered },\n };\n}\n\n/**\n * Drop every field not in {@link ADCP_ERROR_FIELD_ALLOWLIST} for `code`.\n * When an allowlisted standard code carries `recovery`, normalize it to\n * the fixed classifier from `STANDARD_ERROR_CODES` instead of trusting a\n * caller-supplied value.\n * Codes without an entry pass through unchanged — the allowlist is\n * opt-in per code, not a global filter. The returned object is re-typed\n * as `AdcpErrorPayload` on the assumption that `code` and `message`\n * (the only required fields) are in every registered allowlist; that\n * invariant is re-asserted at runtime by the module-load check in\n * `envelope-allowlist.ts`.\n */\nexport function applyAdcpErrorAllowlist(code: string, payload: Record<string, unknown>): AdcpErrorPayload {\n payload = sanitizeAdcpErrorDetails(code, payload);\n const allowlist = ADCP_ERROR_FIELD_ALLOWLIST[code];\n if (!allowlist) return payload as unknown as AdcpErrorPayload;\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(payload)) {\n if (!allowlist.has(key)) continue;\n out[key] = key === 'recovery' ? normalizeAllowlistedRecoveryForCode(code, value) : value;\n }\n return out as unknown as AdcpErrorPayload;\n}\n\nexport function sanitizeStructuredAdcpError<T extends { code: string; message: string }>(error: T): T {\n return applyAdcpErrorAllowlist(error.code, error as unknown as Record<string, unknown>) as unknown as T;\n}\n\nfunction sanitizeAdcpErrorDetails(code: string, payload: Record<string, unknown>): Record<string, unknown> {\n if (code !== 'AUTHORIZATION_REQUIRED' || payload.details === undefined) return payload;\n\n const sanitizedDetails = pickSafeDetails(payload.details, AUTHORIZATION_REQUIRED_DETAIL_KEYS, {\n maxDepth: 4,\n maxSizeBytes: 4096,\n });\n const { details: _details, ...rest } = payload;\n return sanitizedDetails === undefined ? rest : { ...rest, details: sanitizedDetails };\n}\n\nfunction isErrorRecovery(value: unknown): value is ErrorRecovery {\n return value === 'transient' || value === 'correctable' || value === 'terminal';\n}\n\nfunction normalizeRecoveryForCode(code: string, value: unknown): ErrorRecovery {\n return isErrorRecovery(value) ? value : isStandardErrorCode(code) ? STANDARD_ERROR_CODES[code].recovery : 'terminal';\n}\n\nfunction normalizeAllowlistedRecoveryForCode(code: string, value: unknown): ErrorRecovery {\n if (isStandardErrorCode(code)) {\n return STANDARD_ERROR_CODES[code].recovery;\n }\n return normalizeRecoveryForCode(code, value);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,yBAKO;AAEP,gCAA2C;AAC3C,+BAAgC;AAmFhC,MAAM,qCAAqC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AA8CO,SAAS,UAAU,MAAyC,SAA8C;AAC/G,QAAM,WAAW,yBAAyB,MAAM,QAAQ,QAAQ;AAEhE,QAAM,aAA+B;AAAA,IACnC;AAAA,IACA,SAAS,QAAQ;AAAA,IACjB;AAAA,IACA,GAAI,QAAQ,SAAS,QAAQ,EAAE,OAAO,QAAQ,MAAM;AAAA,IACpD,GAAI,QAAQ,cAAc,QAAQ,EAAE,YAAY,QAAQ,WAAW;AAAA,IACnE,GAAI,QAAQ,eAAe,QAAQ,EAAE,aAAa,QAAQ,YAAY;AAAA,IACtE,GAAI,QAAQ,UAAU,QAAQ,EAAE,QAAQ,QAAQ,OAAO;AAAA,IACvD,GAAI,QAAQ,WAAW,QAAQ,EAAE,SAAS,QAAQ,QAAQ;AAAA,EAC5D;AAEA,QAAM,WAAW,wBAAwB,MAAM,UAAgD;AAE/F,SAAO;AAAA,IACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,EAAE,YAAY,SAAS,CAAC,EAAE,CAAC;AAAA,IAC1E,SAAS;AAAA,IACT,mBAAmB,EAAE,YAAY,SAAS;AAAA,EAC5C;AACF;AAcO,SAAS,wBAAwB,MAAc,SAAoD;AACxG,YAAU,yBAAyB,MAAM,OAAO;AAChD,QAAM,YAAY,qDAA2B,IAAI;AACjD,MAAI,CAAC,UAAW,QAAO;AACvB,QAAM,MAA+B,CAAC;AACtC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QAAI,CAAC,UAAU,IAAI,GAAG,EAAG;AACzB,QAAI,GAAG,IAAI,QAAQ,aAAa,oCAAoC,MAAM,KAAK,IAAI;AAAA,EACrF;AACA,SAAO;AACT;AAEO,SAAS,4BAAyE,OAAa;AACpG,SAAO,wBAAwB,MAAM,MAAM,KAA2C;AACxF;AAEA,SAAS,yBAAyB,MAAc,SAA2D;AACzG,MAAI,SAAS,4BAA4B,QAAQ,YAAY,OAAW,QAAO;AAE/E,QAAM,uBAAmB,0CAAgB,QAAQ,SAAS,oCAAoC;AAAA,IAC5F,UAAU;AAAA,IACV,cAAc;AAAA,EAChB,CAAC;AACD,QAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI;AACvC,SAAO,qBAAqB,SAAY,OAAO,EAAE,GAAG,MAAM,SAAS,iBAAiB;AACtF;AAEA,SAAS,gBAAgB,OAAwC;AAC/D,SAAO,UAAU,eAAe,UAAU,iBAAiB,UAAU;AACvE;AAEA,SAAS,yBAAyB,MAAc,OAA+B;AAC7E,SAAO,gBAAgB,KAAK,IAAI,YAAQ,wCAAoB,IAAI,IAAI,wCAAqB,IAAI,EAAE,WAAW;AAC5G;AAEA,SAAS,oCAAoC,MAAc,OAA+B;AACxF,UAAI,wCAAoB,IAAI,GAAG;AAC7B,WAAO,wCAAqB,IAAI,EAAE;AAAA,EACpC;AACA,SAAO,yBAAyB,MAAM,KAAK;AAC7C;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/server/errors.ts"],"sourcesContent":["/**\n * Server-side helpers for producing L3-compliant AdCP error responses.\n *\n * Use `adcpError()` in MCP tool handlers to return structured errors\n * that clients can automatically detect, classify, and act on.\n */\n\nimport {\n STANDARD_ERROR_CODES,\n isStandardErrorCode,\n type StandardErrorCode,\n type ErrorRecovery,\n} from '../types/error-codes';\nimport type { ValidationIssue } from '../validation/schema-validator';\nimport { ADCP_ERROR_FIELD_ALLOWLIST } from './envelope-allowlist';\nimport { pickSafeDetails } from './pick-safe-details';\n\nexport interface AdcpErrorOptions {\n message: string;\n /**\n * Opaque request context to echo beside `adcp_error`. Only a non-null,\n * non-array object is echoable, matching the framework envelope behavior.\n */\n context?: unknown;\n /**\n * Override the recovery classification. Defaults to\n * `STANDARD_ERROR_CODES[code].recovery` for known codes, `'terminal'`\n * otherwise. Dropped from the wire shape for codes whose entry in\n * `ADCP_ERROR_FIELD_ALLOWLIST` excludes it; normalized back to the\n * standard table value for allowlisted standard-code envelopes.\n */\n recovery?: ErrorRecovery;\n /**\n * Name of the request field the error applies to (validation /\n * constraint errors). Dropped from the wire shape for codes whose\n * `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it (e.g. `IDEMPOTENCY_CONFLICT`\n * — a conflict response MUST NOT echo prior payload state).\n */\n field?: string;\n /**\n * Human-readable remediation hint. Dropped from the wire shape for\n * codes whose `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it (e.g.\n * `IDEMPOTENCY_CONFLICT`).\n */\n suggestion?: string;\n /**\n * Seconds to wait before retrying a transient error. Only meaningful\n * on retryable codes (`RATE_LIMITED`, `SERVICE_UNAVAILABLE`); dropped\n * on terminal codes whose allowlist excludes it (`IDEMPOTENCY_CONFLICT`\n * — a computed `retry_after` on conflict would leak cached-entry age).\n */\n retry_after?: number;\n /**\n * Code-specific diagnostic payload. Dropped from the wire shape for\n * codes whose `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it\n * (`IDEMPOTENCY_CONFLICT` — a conflict response MUST NOT echo the\n * prior request payload or cached response body).\n */\n details?: Record<string, unknown>;\n /**\n * Schema validation issues surfaced at the top level of `adcp_error`\n * so operators see JSON Pointers on the first render. Primary use is\n * `VALIDATION_ERROR`; framework validation hooks populate this\n * automatically and also mirror the same array to `details.issues`\n * for buyers that already index into `details` per AdCP spec\n * convention.\n */\n issues?: Array<Omit<ValidationIssue, 'schemaPath'> & { schemaPath?: string }>;\n}\n\nexport interface AdcpErrorPayload {\n code: string;\n message: string;\n /**\n * Closed-enum classifier. Populated by `adcpError()` from\n * `STANDARD_ERROR_CODES[code].recovery` unless the caller provides an\n * override. Marked optional because per-code inside-`adcp_error`\n * allowlists may deliberately drop it from the wire shape — consumers\n * reading a payload parsed off the wire MUST tolerate `undefined`.\n */\n recovery?: ErrorRecovery;\n field?: string;\n suggestion?: string;\n retry_after?: number;\n details?: Record<string, unknown>;\n /**\n * Schema validation issues (`VALIDATION_ERROR`) exposed at the top\n * level so the list is the first thing a reader sees when inspecting\n * the envelope. Also mirrored at `details.issues` for spec-convention\n * compatibility.\n */\n issues?: Array<Omit<ValidationIssue, 'schemaPath'> & { schemaPath?: string }>;\n}\n\nexport interface AdcpErrorResponse {\n [key: string]: unknown;\n content: Array<{ type: 'text'; text: string }>;\n isError: true;\n structuredContent: {\n adcp_error: AdcpErrorPayload;\n context?: object;\n };\n}\n\nfunction isEchoableContext(value: unknown): value is object {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\nconst AUTHORIZATION_REQUIRED_DETAIL_KEYS = [\n 'required_connections',\n 'missing_connections',\n 'provider',\n 'connection_type',\n 'required_for',\n 'scope',\n 'status',\n 'resource_ref',\n 'platform_account_id',\n 'identity_id',\n 'handle',\n 'profile_url',\n 'post_id',\n 'post_url',\n 'authorization_url',\n 'authorization_instructions',\n 'checked_at',\n 'expires_at',\n 'reference_authorization',\n] as const;\n\n/**\n * Build an L3-compliant MCP tool error response with all three transport layers:\n *\n * 1. `structuredContent.adcp_error` — programmatic extraction (L3)\n * 2. `content[0].text` — JSON text fallback (L2)\n * 3. `isError: true` — MCP error signal\n *\n * Recovery is auto-populated from the standard error code table when not provided.\n *\n * Before returning, any field NOT allowlisted for the given code in\n * {@link ADCP_ERROR_FIELD_ALLOWLIST} is dropped — sellers get the builder's\n * ergonomics for every code AND the strict wire shape for codes that have\n * a registered allowlist. `IDEMPOTENCY_CONFLICT` is the canonical case:\n * payload-shaped diagnostics like `field`, `suggestion`, and `details`\n * silently drop while standard `recovery` metadata is preserved as the\n * canonical standard-table value. Codes without a registered allowlist\n * pass through unchanged.\n *\n * **Two-layer wire shape.** This builder emits the envelope layer\n * (`structuredContent.adcp_error`) only. For tools whose response\n * schema declares a typed Error arm (`errors[]` required at the top\n * level), the framework dispatcher synthesises the payload-layer\n * `errors[]` from the same data at finalize time, so the wire carries\n * both the envelope marker and the typed Error arm together — no\n * adopter code change required. The list of affected tools is derived\n * at server build from the bundled schema cache. RFC:\n * `docs/proposals/adcperror-two-layer-emission.md`.\n *\n * @example\n * ```typescript\n * import { adcpError } from '@adcp/sdk';\n *\n * server.registerTool(\"get_products\", { inputSchema: schema }, async request => {\n * const { query, context } = request;\n * if (!products.length) {\n * return adcpError('PRODUCT_NOT_FOUND', {\n * message: 'No products match query',\n * field: 'query',\n * suggestion: 'Try a broader search term',\n * context,\n * });\n * }\n * return { content: [...], structuredContent: { products, context } };\n * });\n * ```\n */\nexport function adcpError(code: StandardErrorCode | (string & {}), options: AdcpErrorOptions): AdcpErrorResponse {\n const recovery = normalizeRecoveryForCode(code, options.recovery);\n\n const adcp_error: AdcpErrorPayload = {\n code,\n message: options.message,\n recovery,\n ...(options.field != null && { field: options.field }),\n ...(options.suggestion != null && { suggestion: options.suggestion }),\n ...(options.retry_after != null && { retry_after: options.retry_after }),\n ...(options.issues != null && { issues: options.issues }),\n ...(options.details != null && { details: options.details }),\n };\n\n const filtered = applyAdcpErrorAllowlist(code, adcp_error as unknown as Record<string, unknown>);\n const structuredContent = {\n adcp_error: filtered,\n ...(isEchoableContext(options.context) ? { context: options.context } : {}),\n };\n\n return {\n content: [{ type: 'text', text: JSON.stringify(structuredContent) }],\n isError: true,\n structuredContent,\n };\n}\n\n/**\n * Drop every field not in {@link ADCP_ERROR_FIELD_ALLOWLIST} for `code`.\n * When an allowlisted standard code carries `recovery`, normalize it to\n * the fixed classifier from `STANDARD_ERROR_CODES` instead of trusting a\n * caller-supplied value.\n * Codes without an entry pass through unchanged — the allowlist is\n * opt-in per code, not a global filter. The returned object is re-typed\n * as `AdcpErrorPayload` on the assumption that `code` and `message`\n * (the only required fields) are in every registered allowlist; that\n * invariant is re-asserted at runtime by the module-load check in\n * `envelope-allowlist.ts`.\n */\nexport function applyAdcpErrorAllowlist(code: string, payload: Record<string, unknown>): AdcpErrorPayload {\n payload = sanitizeAdcpErrorDetails(code, payload);\n const allowlist = ADCP_ERROR_FIELD_ALLOWLIST[code];\n if (!allowlist) return payload as unknown as AdcpErrorPayload;\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(payload)) {\n if (!allowlist.has(key)) continue;\n out[key] = key === 'recovery' ? normalizeAllowlistedRecoveryForCode(code, value) : value;\n }\n return out as unknown as AdcpErrorPayload;\n}\n\nexport function sanitizeStructuredAdcpError<T extends { code: string; message: string }>(error: T): T {\n return applyAdcpErrorAllowlist(error.code, error as unknown as Record<string, unknown>) as unknown as T;\n}\n\nfunction sanitizeAdcpErrorDetails(code: string, payload: Record<string, unknown>): Record<string, unknown> {\n if (code !== 'AUTHORIZATION_REQUIRED' || payload.details === undefined) return payload;\n\n const sanitizedDetails = pickSafeDetails(payload.details, AUTHORIZATION_REQUIRED_DETAIL_KEYS, {\n maxDepth: 4,\n maxSizeBytes: 4096,\n });\n const { details: _details, ...rest } = payload;\n return sanitizedDetails === undefined ? rest : { ...rest, details: sanitizedDetails };\n}\n\nfunction isErrorRecovery(value: unknown): value is ErrorRecovery {\n return value === 'transient' || value === 'correctable' || value === 'terminal';\n}\n\nfunction normalizeRecoveryForCode(code: string, value: unknown): ErrorRecovery {\n return isErrorRecovery(value) ? value : isStandardErrorCode(code) ? STANDARD_ERROR_CODES[code].recovery : 'terminal';\n}\n\nfunction normalizeAllowlistedRecoveryForCode(code: string, value: unknown): ErrorRecovery {\n if (isStandardErrorCode(code)) {\n return STANDARD_ERROR_CODES[code].recovery;\n }\n return normalizeRecoveryForCode(code, value);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,yBAKO;AAEP,gCAA2C;AAC3C,+BAAgC;AAyFhC,SAAS,kBAAkB,OAAiC;AAC1D,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAEA,MAAM,qCAAqC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAgDO,SAAS,UAAU,MAAyC,SAA8C;AAC/G,QAAM,WAAW,yBAAyB,MAAM,QAAQ,QAAQ;AAEhE,QAAM,aAA+B;AAAA,IACnC;AAAA,IACA,SAAS,QAAQ;AAAA,IACjB;AAAA,IACA,GAAI,QAAQ,SAAS,QAAQ,EAAE,OAAO,QAAQ,MAAM;AAAA,IACpD,GAAI,QAAQ,cAAc,QAAQ,EAAE,YAAY,QAAQ,WAAW;AAAA,IACnE,GAAI,QAAQ,eAAe,QAAQ,EAAE,aAAa,QAAQ,YAAY;AAAA,IACtE,GAAI,QAAQ,UAAU,QAAQ,EAAE,QAAQ,QAAQ,OAAO;AAAA,IACvD,GAAI,QAAQ,WAAW,QAAQ,EAAE,SAAS,QAAQ,QAAQ;AAAA,EAC5D;AAEA,QAAM,WAAW,wBAAwB,MAAM,UAAgD;AAC/F,QAAM,oBAAoB;AAAA,IACxB,YAAY;AAAA,IACZ,GAAI,kBAAkB,QAAQ,OAAO,IAAI,EAAE,SAAS,QAAQ,QAAQ,IAAI,CAAC;AAAA,EAC3E;AAEA,SAAO;AAAA,IACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,iBAAiB,EAAE,CAAC;AAAA,IACnE,SAAS;AAAA,IACT;AAAA,EACF;AACF;AAcO,SAAS,wBAAwB,MAAc,SAAoD;AACxG,YAAU,yBAAyB,MAAM,OAAO;AAChD,QAAM,YAAY,qDAA2B,IAAI;AACjD,MAAI,CAAC,UAAW,QAAO;AACvB,QAAM,MAA+B,CAAC;AACtC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QAAI,CAAC,UAAU,IAAI,GAAG,EAAG;AACzB,QAAI,GAAG,IAAI,QAAQ,aAAa,oCAAoC,MAAM,KAAK,IAAI;AAAA,EACrF;AACA,SAAO;AACT;AAEO,SAAS,4BAAyE,OAAa;AACpG,SAAO,wBAAwB,MAAM,MAAM,KAA2C;AACxF;AAEA,SAAS,yBAAyB,MAAc,SAA2D;AACzG,MAAI,SAAS,4BAA4B,QAAQ,YAAY,OAAW,QAAO;AAE/E,QAAM,uBAAmB,0CAAgB,QAAQ,SAAS,oCAAoC;AAAA,IAC5F,UAAU;AAAA,IACV,cAAc;AAAA,EAChB,CAAC;AACD,QAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI;AACvC,SAAO,qBAAqB,SAAY,OAAO,EAAE,GAAG,MAAM,SAAS,iBAAiB;AACtF;AAEA,SAAS,gBAAgB,OAAwC;AAC/D,SAAO,UAAU,eAAe,UAAU,iBAAiB,UAAU;AACvE;AAEA,SAAS,yBAAyB,MAAc,OAA+B;AAC7E,SAAO,gBAAgB,KAAK,IAAI,YAAQ,wCAAoB,IAAI,IAAI,wCAAqB,IAAI,EAAE,WAAW;AAC5G;AAEA,SAAS,oCAAoC,MAAc,OAA+B;AACxF,UAAI,wCAAoB,IAAI,GAAG;AAC7B,WAAO,wCAAqB,IAAI,EAAE;AAAA,EACpC;AACA,SAAO,yBAAyB,MAAM,KAAK;AAC7C;","names":[]}
|
|
@@ -4,6 +4,9 @@ import {
|
|
|
4
4
|
} from "../types/error-codes.mjs";
|
|
5
5
|
import { ADCP_ERROR_FIELD_ALLOWLIST } from "./envelope-allowlist.mjs";
|
|
6
6
|
import { pickSafeDetails } from "./pick-safe-details.mjs";
|
|
7
|
+
function isEchoableContext(value) {
|
|
8
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
9
|
+
}
|
|
7
10
|
const AUTHORIZATION_REQUIRED_DETAIL_KEYS = [
|
|
8
11
|
"required_connections",
|
|
9
12
|
"missing_connections",
|
|
@@ -38,10 +41,14 @@ function adcpError(code, options) {
|
|
|
38
41
|
...options.details != null && { details: options.details }
|
|
39
42
|
};
|
|
40
43
|
const filtered = applyAdcpErrorAllowlist(code, adcp_error);
|
|
44
|
+
const structuredContent = {
|
|
45
|
+
adcp_error: filtered,
|
|
46
|
+
...isEchoableContext(options.context) ? { context: options.context } : {}
|
|
47
|
+
};
|
|
41
48
|
return {
|
|
42
|
-
content: [{ type: "text", text: JSON.stringify(
|
|
49
|
+
content: [{ type: "text", text: JSON.stringify(structuredContent) }],
|
|
43
50
|
isError: true,
|
|
44
|
-
structuredContent
|
|
51
|
+
structuredContent
|
|
45
52
|
};
|
|
46
53
|
}
|
|
47
54
|
function applyAdcpErrorAllowlist(code, payload) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/server/errors.ts"],"sourcesContent":["/**\n * Server-side helpers for producing L3-compliant AdCP error responses.\n *\n * Use `adcpError()` in MCP tool handlers to return structured errors\n * that clients can automatically detect, classify, and act on.\n */\n\nimport {\n STANDARD_ERROR_CODES,\n isStandardErrorCode,\n type StandardErrorCode,\n type ErrorRecovery,\n} from '../types/error-codes';\nimport type { ValidationIssue } from '../validation/schema-validator';\nimport { ADCP_ERROR_FIELD_ALLOWLIST } from './envelope-allowlist';\nimport { pickSafeDetails } from './pick-safe-details';\n\nexport interface AdcpErrorOptions {\n message: string;\n /**\n * Override the recovery classification. Defaults to\n * `STANDARD_ERROR_CODES[code].recovery` for known codes, `'terminal'`\n * otherwise. Dropped from the wire shape for codes whose entry in\n * `ADCP_ERROR_FIELD_ALLOWLIST` excludes it; normalized back to the\n * standard table value for allowlisted standard-code envelopes.\n */\n recovery?: ErrorRecovery;\n /**\n * Name of the request field the error applies to (validation /\n * constraint errors). Dropped from the wire shape for codes whose\n * `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it (e.g. `IDEMPOTENCY_CONFLICT`\n * — a conflict response MUST NOT echo prior payload state).\n */\n field?: string;\n /**\n * Human-readable remediation hint. Dropped from the wire shape for\n * codes whose `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it (e.g.\n * `IDEMPOTENCY_CONFLICT`).\n */\n suggestion?: string;\n /**\n * Seconds to wait before retrying a transient error. Only meaningful\n * on retryable codes (`RATE_LIMITED`, `SERVICE_UNAVAILABLE`); dropped\n * on terminal codes whose allowlist excludes it (`IDEMPOTENCY_CONFLICT`\n * — a computed `retry_after` on conflict would leak cached-entry age).\n */\n retry_after?: number;\n /**\n * Code-specific diagnostic payload. Dropped from the wire shape for\n * codes whose `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it\n * (`IDEMPOTENCY_CONFLICT` — a conflict response MUST NOT echo the\n * prior request payload or cached response body).\n */\n details?: Record<string, unknown>;\n /**\n * Schema validation issues surfaced at the top level of `adcp_error`\n * so operators see JSON Pointers on the first render. Primary use is\n * `VALIDATION_ERROR`; framework validation hooks populate this\n * automatically and also mirror the same array to `details.issues`\n * for buyers that already index into `details` per AdCP spec\n * convention.\n */\n issues?: Array<Omit<ValidationIssue, 'schemaPath'> & { schemaPath?: string }>;\n}\n\nexport interface AdcpErrorPayload {\n code: string;\n message: string;\n /**\n * Closed-enum classifier. Populated by `adcpError()` from\n * `STANDARD_ERROR_CODES[code].recovery` unless the caller provides an\n * override. Marked optional because per-code inside-`adcp_error`\n * allowlists may deliberately drop it from the wire shape — consumers\n * reading a payload parsed off the wire MUST tolerate `undefined`.\n */\n recovery?: ErrorRecovery;\n field?: string;\n suggestion?: string;\n retry_after?: number;\n details?: Record<string, unknown>;\n /**\n * Schema validation issues (`VALIDATION_ERROR`) exposed at the top\n * level so the list is the first thing a reader sees when inspecting\n * the envelope. Also mirrored at `details.issues` for spec-convention\n * compatibility.\n */\n issues?: Array<Omit<ValidationIssue, 'schemaPath'> & { schemaPath?: string }>;\n}\n\nexport interface AdcpErrorResponse {\n [key: string]: unknown;\n content: Array<{ type: 'text'; text: string }>;\n isError: true;\n structuredContent: {\n adcp_error: AdcpErrorPayload;\n };\n}\n\nconst AUTHORIZATION_REQUIRED_DETAIL_KEYS = [\n 'required_connections',\n 'missing_connections',\n 'provider',\n 'connection_type',\n 'required_for',\n 'scope',\n 'status',\n 'resource_ref',\n 'platform_account_id',\n 'identity_id',\n 'handle',\n 'profile_url',\n 'post_id',\n 'post_url',\n 'authorization_url',\n 'authorization_instructions',\n 'checked_at',\n 'expires_at',\n 'reference_authorization',\n] as const;\n\n/**\n * Build an L3-compliant MCP tool error response with all three transport layers:\n *\n * 1. `structuredContent.adcp_error` — programmatic extraction (L3)\n * 2. `content[0].text` — JSON text fallback (L2)\n * 3. `isError: true` — MCP error signal\n *\n * Recovery is auto-populated from the standard error code table when not provided.\n *\n * Before returning, any field NOT allowlisted for the given code in\n * {@link ADCP_ERROR_FIELD_ALLOWLIST} is dropped — sellers get the builder's\n * ergonomics for every code AND the strict wire shape for codes that have\n * a registered allowlist. `IDEMPOTENCY_CONFLICT` is the canonical case:\n * payload-shaped diagnostics like `field`, `suggestion`, and `details`\n * silently drop while standard `recovery` metadata is preserved as the\n * canonical standard-table value. Codes without a registered allowlist\n * pass through unchanged.\n *\n * **Two-layer wire shape.** This builder emits the envelope layer\n * (`structuredContent.adcp_error`) only. For tools whose response\n * schema declares a typed Error arm (`errors[]` required at the top\n * level), the framework dispatcher synthesises the payload-layer\n * `errors[]` from the same data at finalize time, so the wire carries\n * both the envelope marker and the typed Error arm together — no\n * adopter code change required. The list of affected tools is derived\n * at server build from the bundled schema cache. RFC:\n * `docs/proposals/adcperror-two-layer-emission.md`.\n *\n * @example\n * ```typescript\n * import { adcpError } from '@adcp/sdk';\n *\n * server.registerTool(\"get_products\", { inputSchema: schema }, async ({ query }) => {\n * if (!products.length) {\n * return adcpError('PRODUCT_NOT_FOUND', {\n * message: 'No products match query',\n * field: 'query',\n * suggestion: 'Try a broader search term',\n * });\n * }\n * return { content: [...], structuredContent: { products } };\n * });\n * ```\n */\nexport function adcpError(code: StandardErrorCode | (string & {}), options: AdcpErrorOptions): AdcpErrorResponse {\n const recovery = normalizeRecoveryForCode(code, options.recovery);\n\n const adcp_error: AdcpErrorPayload = {\n code,\n message: options.message,\n recovery,\n ...(options.field != null && { field: options.field }),\n ...(options.suggestion != null && { suggestion: options.suggestion }),\n ...(options.retry_after != null && { retry_after: options.retry_after }),\n ...(options.issues != null && { issues: options.issues }),\n ...(options.details != null && { details: options.details }),\n };\n\n const filtered = applyAdcpErrorAllowlist(code, adcp_error as unknown as Record<string, unknown>);\n\n return {\n content: [{ type: 'text', text: JSON.stringify({ adcp_error: filtered }) }],\n isError: true,\n structuredContent: { adcp_error: filtered },\n };\n}\n\n/**\n * Drop every field not in {@link ADCP_ERROR_FIELD_ALLOWLIST} for `code`.\n * When an allowlisted standard code carries `recovery`, normalize it to\n * the fixed classifier from `STANDARD_ERROR_CODES` instead of trusting a\n * caller-supplied value.\n * Codes without an entry pass through unchanged — the allowlist is\n * opt-in per code, not a global filter. The returned object is re-typed\n * as `AdcpErrorPayload` on the assumption that `code` and `message`\n * (the only required fields) are in every registered allowlist; that\n * invariant is re-asserted at runtime by the module-load check in\n * `envelope-allowlist.ts`.\n */\nexport function applyAdcpErrorAllowlist(code: string, payload: Record<string, unknown>): AdcpErrorPayload {\n payload = sanitizeAdcpErrorDetails(code, payload);\n const allowlist = ADCP_ERROR_FIELD_ALLOWLIST[code];\n if (!allowlist) return payload as unknown as AdcpErrorPayload;\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(payload)) {\n if (!allowlist.has(key)) continue;\n out[key] = key === 'recovery' ? normalizeAllowlistedRecoveryForCode(code, value) : value;\n }\n return out as unknown as AdcpErrorPayload;\n}\n\nexport function sanitizeStructuredAdcpError<T extends { code: string; message: string }>(error: T): T {\n return applyAdcpErrorAllowlist(error.code, error as unknown as Record<string, unknown>) as unknown as T;\n}\n\nfunction sanitizeAdcpErrorDetails(code: string, payload: Record<string, unknown>): Record<string, unknown> {\n if (code !== 'AUTHORIZATION_REQUIRED' || payload.details === undefined) return payload;\n\n const sanitizedDetails = pickSafeDetails(payload.details, AUTHORIZATION_REQUIRED_DETAIL_KEYS, {\n maxDepth: 4,\n maxSizeBytes: 4096,\n });\n const { details: _details, ...rest } = payload;\n return sanitizedDetails === undefined ? rest : { ...rest, details: sanitizedDetails };\n}\n\nfunction isErrorRecovery(value: unknown): value is ErrorRecovery {\n return value === 'transient' || value === 'correctable' || value === 'terminal';\n}\n\nfunction normalizeRecoveryForCode(code: string, value: unknown): ErrorRecovery {\n return isErrorRecovery(value) ? value : isStandardErrorCode(code) ? STANDARD_ERROR_CODES[code].recovery : 'terminal';\n}\n\nfunction normalizeAllowlistedRecoveryForCode(code: string, value: unknown): ErrorRecovery {\n if (isStandardErrorCode(code)) {\n return STANDARD_ERROR_CODES[code].recovery;\n }\n return normalizeRecoveryForCode(code, value);\n}\n"],"mappings":"AAOA;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AAEP,SAAS,kCAAkC;AAC3C,SAAS,uBAAuB;AAmFhC,MAAM,qCAAqC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AA8CO,SAAS,UAAU,MAAyC,SAA8C;AAC/G,QAAM,WAAW,yBAAyB,MAAM,QAAQ,QAAQ;AAEhE,QAAM,aAA+B;AAAA,IACnC;AAAA,IACA,SAAS,QAAQ;AAAA,IACjB;AAAA,IACA,GAAI,QAAQ,SAAS,QAAQ,EAAE,OAAO,QAAQ,MAAM;AAAA,IACpD,GAAI,QAAQ,cAAc,QAAQ,EAAE,YAAY,QAAQ,WAAW;AAAA,IACnE,GAAI,QAAQ,eAAe,QAAQ,EAAE,aAAa,QAAQ,YAAY;AAAA,IACtE,GAAI,QAAQ,UAAU,QAAQ,EAAE,QAAQ,QAAQ,OAAO;AAAA,IACvD,GAAI,QAAQ,WAAW,QAAQ,EAAE,SAAS,QAAQ,QAAQ;AAAA,EAC5D;AAEA,QAAM,WAAW,wBAAwB,MAAM,UAAgD;AAE/F,SAAO;AAAA,IACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,EAAE,YAAY,SAAS,CAAC,EAAE,CAAC;AAAA,IAC1E,SAAS;AAAA,IACT,mBAAmB,EAAE,YAAY,SAAS;AAAA,EAC5C;AACF;AAcO,SAAS,wBAAwB,MAAc,SAAoD;AACxG,YAAU,yBAAyB,MAAM,OAAO;AAChD,QAAM,YAAY,2BAA2B,IAAI;AACjD,MAAI,CAAC,UAAW,QAAO;AACvB,QAAM,MAA+B,CAAC;AACtC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QAAI,CAAC,UAAU,IAAI,GAAG,EAAG;AACzB,QAAI,GAAG,IAAI,QAAQ,aAAa,oCAAoC,MAAM,KAAK,IAAI;AAAA,EACrF;AACA,SAAO;AACT;AAEO,SAAS,4BAAyE,OAAa;AACpG,SAAO,wBAAwB,MAAM,MAAM,KAA2C;AACxF;AAEA,SAAS,yBAAyB,MAAc,SAA2D;AACzG,MAAI,SAAS,4BAA4B,QAAQ,YAAY,OAAW,QAAO;AAE/E,QAAM,mBAAmB,gBAAgB,QAAQ,SAAS,oCAAoC;AAAA,IAC5F,UAAU;AAAA,IACV,cAAc;AAAA,EAChB,CAAC;AACD,QAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI;AACvC,SAAO,qBAAqB,SAAY,OAAO,EAAE,GAAG,MAAM,SAAS,iBAAiB;AACtF;AAEA,SAAS,gBAAgB,OAAwC;AAC/D,SAAO,UAAU,eAAe,UAAU,iBAAiB,UAAU;AACvE;AAEA,SAAS,yBAAyB,MAAc,OAA+B;AAC7E,SAAO,gBAAgB,KAAK,IAAI,QAAQ,oBAAoB,IAAI,IAAI,qBAAqB,IAAI,EAAE,WAAW;AAC5G;AAEA,SAAS,oCAAoC,MAAc,OAA+B;AACxF,MAAI,oBAAoB,IAAI,GAAG;AAC7B,WAAO,qBAAqB,IAAI,EAAE;AAAA,EACpC;AACA,SAAO,yBAAyB,MAAM,KAAK;AAC7C;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/server/errors.ts"],"sourcesContent":["/**\n * Server-side helpers for producing L3-compliant AdCP error responses.\n *\n * Use `adcpError()` in MCP tool handlers to return structured errors\n * that clients can automatically detect, classify, and act on.\n */\n\nimport {\n STANDARD_ERROR_CODES,\n isStandardErrorCode,\n type StandardErrorCode,\n type ErrorRecovery,\n} from '../types/error-codes';\nimport type { ValidationIssue } from '../validation/schema-validator';\nimport { ADCP_ERROR_FIELD_ALLOWLIST } from './envelope-allowlist';\nimport { pickSafeDetails } from './pick-safe-details';\n\nexport interface AdcpErrorOptions {\n message: string;\n /**\n * Opaque request context to echo beside `adcp_error`. Only a non-null,\n * non-array object is echoable, matching the framework envelope behavior.\n */\n context?: unknown;\n /**\n * Override the recovery classification. Defaults to\n * `STANDARD_ERROR_CODES[code].recovery` for known codes, `'terminal'`\n * otherwise. Dropped from the wire shape for codes whose entry in\n * `ADCP_ERROR_FIELD_ALLOWLIST` excludes it; normalized back to the\n * standard table value for allowlisted standard-code envelopes.\n */\n recovery?: ErrorRecovery;\n /**\n * Name of the request field the error applies to (validation /\n * constraint errors). Dropped from the wire shape for codes whose\n * `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it (e.g. `IDEMPOTENCY_CONFLICT`\n * — a conflict response MUST NOT echo prior payload state).\n */\n field?: string;\n /**\n * Human-readable remediation hint. Dropped from the wire shape for\n * codes whose `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it (e.g.\n * `IDEMPOTENCY_CONFLICT`).\n */\n suggestion?: string;\n /**\n * Seconds to wait before retrying a transient error. Only meaningful\n * on retryable codes (`RATE_LIMITED`, `SERVICE_UNAVAILABLE`); dropped\n * on terminal codes whose allowlist excludes it (`IDEMPOTENCY_CONFLICT`\n * — a computed `retry_after` on conflict would leak cached-entry age).\n */\n retry_after?: number;\n /**\n * Code-specific diagnostic payload. Dropped from the wire shape for\n * codes whose `ADCP_ERROR_FIELD_ALLOWLIST` entry excludes it\n * (`IDEMPOTENCY_CONFLICT` — a conflict response MUST NOT echo the\n * prior request payload or cached response body).\n */\n details?: Record<string, unknown>;\n /**\n * Schema validation issues surfaced at the top level of `adcp_error`\n * so operators see JSON Pointers on the first render. Primary use is\n * `VALIDATION_ERROR`; framework validation hooks populate this\n * automatically and also mirror the same array to `details.issues`\n * for buyers that already index into `details` per AdCP spec\n * convention.\n */\n issues?: Array<Omit<ValidationIssue, 'schemaPath'> & { schemaPath?: string }>;\n}\n\nexport interface AdcpErrorPayload {\n code: string;\n message: string;\n /**\n * Closed-enum classifier. Populated by `adcpError()` from\n * `STANDARD_ERROR_CODES[code].recovery` unless the caller provides an\n * override. Marked optional because per-code inside-`adcp_error`\n * allowlists may deliberately drop it from the wire shape — consumers\n * reading a payload parsed off the wire MUST tolerate `undefined`.\n */\n recovery?: ErrorRecovery;\n field?: string;\n suggestion?: string;\n retry_after?: number;\n details?: Record<string, unknown>;\n /**\n * Schema validation issues (`VALIDATION_ERROR`) exposed at the top\n * level so the list is the first thing a reader sees when inspecting\n * the envelope. Also mirrored at `details.issues` for spec-convention\n * compatibility.\n */\n issues?: Array<Omit<ValidationIssue, 'schemaPath'> & { schemaPath?: string }>;\n}\n\nexport interface AdcpErrorResponse {\n [key: string]: unknown;\n content: Array<{ type: 'text'; text: string }>;\n isError: true;\n structuredContent: {\n adcp_error: AdcpErrorPayload;\n context?: object;\n };\n}\n\nfunction isEchoableContext(value: unknown): value is object {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n\nconst AUTHORIZATION_REQUIRED_DETAIL_KEYS = [\n 'required_connections',\n 'missing_connections',\n 'provider',\n 'connection_type',\n 'required_for',\n 'scope',\n 'status',\n 'resource_ref',\n 'platform_account_id',\n 'identity_id',\n 'handle',\n 'profile_url',\n 'post_id',\n 'post_url',\n 'authorization_url',\n 'authorization_instructions',\n 'checked_at',\n 'expires_at',\n 'reference_authorization',\n] as const;\n\n/**\n * Build an L3-compliant MCP tool error response with all three transport layers:\n *\n * 1. `structuredContent.adcp_error` — programmatic extraction (L3)\n * 2. `content[0].text` — JSON text fallback (L2)\n * 3. `isError: true` — MCP error signal\n *\n * Recovery is auto-populated from the standard error code table when not provided.\n *\n * Before returning, any field NOT allowlisted for the given code in\n * {@link ADCP_ERROR_FIELD_ALLOWLIST} is dropped — sellers get the builder's\n * ergonomics for every code AND the strict wire shape for codes that have\n * a registered allowlist. `IDEMPOTENCY_CONFLICT` is the canonical case:\n * payload-shaped diagnostics like `field`, `suggestion`, and `details`\n * silently drop while standard `recovery` metadata is preserved as the\n * canonical standard-table value. Codes without a registered allowlist\n * pass through unchanged.\n *\n * **Two-layer wire shape.** This builder emits the envelope layer\n * (`structuredContent.adcp_error`) only. For tools whose response\n * schema declares a typed Error arm (`errors[]` required at the top\n * level), the framework dispatcher synthesises the payload-layer\n * `errors[]` from the same data at finalize time, so the wire carries\n * both the envelope marker and the typed Error arm together — no\n * adopter code change required. The list of affected tools is derived\n * at server build from the bundled schema cache. RFC:\n * `docs/proposals/adcperror-two-layer-emission.md`.\n *\n * @example\n * ```typescript\n * import { adcpError } from '@adcp/sdk';\n *\n * server.registerTool(\"get_products\", { inputSchema: schema }, async request => {\n * const { query, context } = request;\n * if (!products.length) {\n * return adcpError('PRODUCT_NOT_FOUND', {\n * message: 'No products match query',\n * field: 'query',\n * suggestion: 'Try a broader search term',\n * context,\n * });\n * }\n * return { content: [...], structuredContent: { products, context } };\n * });\n * ```\n */\nexport function adcpError(code: StandardErrorCode | (string & {}), options: AdcpErrorOptions): AdcpErrorResponse {\n const recovery = normalizeRecoveryForCode(code, options.recovery);\n\n const adcp_error: AdcpErrorPayload = {\n code,\n message: options.message,\n recovery,\n ...(options.field != null && { field: options.field }),\n ...(options.suggestion != null && { suggestion: options.suggestion }),\n ...(options.retry_after != null && { retry_after: options.retry_after }),\n ...(options.issues != null && { issues: options.issues }),\n ...(options.details != null && { details: options.details }),\n };\n\n const filtered = applyAdcpErrorAllowlist(code, adcp_error as unknown as Record<string, unknown>);\n const structuredContent = {\n adcp_error: filtered,\n ...(isEchoableContext(options.context) ? { context: options.context } : {}),\n };\n\n return {\n content: [{ type: 'text', text: JSON.stringify(structuredContent) }],\n isError: true,\n structuredContent,\n };\n}\n\n/**\n * Drop every field not in {@link ADCP_ERROR_FIELD_ALLOWLIST} for `code`.\n * When an allowlisted standard code carries `recovery`, normalize it to\n * the fixed classifier from `STANDARD_ERROR_CODES` instead of trusting a\n * caller-supplied value.\n * Codes without an entry pass through unchanged — the allowlist is\n * opt-in per code, not a global filter. The returned object is re-typed\n * as `AdcpErrorPayload` on the assumption that `code` and `message`\n * (the only required fields) are in every registered allowlist; that\n * invariant is re-asserted at runtime by the module-load check in\n * `envelope-allowlist.ts`.\n */\nexport function applyAdcpErrorAllowlist(code: string, payload: Record<string, unknown>): AdcpErrorPayload {\n payload = sanitizeAdcpErrorDetails(code, payload);\n const allowlist = ADCP_ERROR_FIELD_ALLOWLIST[code];\n if (!allowlist) return payload as unknown as AdcpErrorPayload;\n const out: Record<string, unknown> = {};\n for (const [key, value] of Object.entries(payload)) {\n if (!allowlist.has(key)) continue;\n out[key] = key === 'recovery' ? normalizeAllowlistedRecoveryForCode(code, value) : value;\n }\n return out as unknown as AdcpErrorPayload;\n}\n\nexport function sanitizeStructuredAdcpError<T extends { code: string; message: string }>(error: T): T {\n return applyAdcpErrorAllowlist(error.code, error as unknown as Record<string, unknown>) as unknown as T;\n}\n\nfunction sanitizeAdcpErrorDetails(code: string, payload: Record<string, unknown>): Record<string, unknown> {\n if (code !== 'AUTHORIZATION_REQUIRED' || payload.details === undefined) return payload;\n\n const sanitizedDetails = pickSafeDetails(payload.details, AUTHORIZATION_REQUIRED_DETAIL_KEYS, {\n maxDepth: 4,\n maxSizeBytes: 4096,\n });\n const { details: _details, ...rest } = payload;\n return sanitizedDetails === undefined ? rest : { ...rest, details: sanitizedDetails };\n}\n\nfunction isErrorRecovery(value: unknown): value is ErrorRecovery {\n return value === 'transient' || value === 'correctable' || value === 'terminal';\n}\n\nfunction normalizeRecoveryForCode(code: string, value: unknown): ErrorRecovery {\n return isErrorRecovery(value) ? value : isStandardErrorCode(code) ? STANDARD_ERROR_CODES[code].recovery : 'terminal';\n}\n\nfunction normalizeAllowlistedRecoveryForCode(code: string, value: unknown): ErrorRecovery {\n if (isStandardErrorCode(code)) {\n return STANDARD_ERROR_CODES[code].recovery;\n }\n return normalizeRecoveryForCode(code, value);\n}\n"],"mappings":"AAOA;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AAEP,SAAS,kCAAkC;AAC3C,SAAS,uBAAuB;AAyFhC,SAAS,kBAAkB,OAAiC;AAC1D,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;AAEA,MAAM,qCAAqC;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAgDO,SAAS,UAAU,MAAyC,SAA8C;AAC/G,QAAM,WAAW,yBAAyB,MAAM,QAAQ,QAAQ;AAEhE,QAAM,aAA+B;AAAA,IACnC;AAAA,IACA,SAAS,QAAQ;AAAA,IACjB;AAAA,IACA,GAAI,QAAQ,SAAS,QAAQ,EAAE,OAAO,QAAQ,MAAM;AAAA,IACpD,GAAI,QAAQ,cAAc,QAAQ,EAAE,YAAY,QAAQ,WAAW;AAAA,IACnE,GAAI,QAAQ,eAAe,QAAQ,EAAE,aAAa,QAAQ,YAAY;AAAA,IACtE,GAAI,QAAQ,UAAU,QAAQ,EAAE,QAAQ,QAAQ,OAAO;AAAA,IACvD,GAAI,QAAQ,WAAW,QAAQ,EAAE,SAAS,QAAQ,QAAQ;AAAA,EAC5D;AAEA,QAAM,WAAW,wBAAwB,MAAM,UAAgD;AAC/F,QAAM,oBAAoB;AAAA,IACxB,YAAY;AAAA,IACZ,GAAI,kBAAkB,QAAQ,OAAO,IAAI,EAAE,SAAS,QAAQ,QAAQ,IAAI,CAAC;AAAA,EAC3E;AAEA,SAAO;AAAA,IACL,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,iBAAiB,EAAE,CAAC;AAAA,IACnE,SAAS;AAAA,IACT;AAAA,EACF;AACF;AAcO,SAAS,wBAAwB,MAAc,SAAoD;AACxG,YAAU,yBAAyB,MAAM,OAAO;AAChD,QAAM,YAAY,2BAA2B,IAAI;AACjD,MAAI,CAAC,UAAW,QAAO;AACvB,QAAM,MAA+B,CAAC;AACtC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,OAAO,GAAG;AAClD,QAAI,CAAC,UAAU,IAAI,GAAG,EAAG;AACzB,QAAI,GAAG,IAAI,QAAQ,aAAa,oCAAoC,MAAM,KAAK,IAAI;AAAA,EACrF;AACA,SAAO;AACT;AAEO,SAAS,4BAAyE,OAAa;AACpG,SAAO,wBAAwB,MAAM,MAAM,KAA2C;AACxF;AAEA,SAAS,yBAAyB,MAAc,SAA2D;AACzG,MAAI,SAAS,4BAA4B,QAAQ,YAAY,OAAW,QAAO;AAE/E,QAAM,mBAAmB,gBAAgB,QAAQ,SAAS,oCAAoC;AAAA,IAC5F,UAAU;AAAA,IACV,cAAc;AAAA,EAChB,CAAC;AACD,QAAM,EAAE,SAAS,UAAU,GAAG,KAAK,IAAI;AACvC,SAAO,qBAAqB,SAAY,OAAO,EAAE,GAAG,MAAM,SAAS,iBAAiB;AACtF;AAEA,SAAS,gBAAgB,OAAwC;AAC/D,SAAO,UAAU,eAAe,UAAU,iBAAiB,UAAU;AACvE;AAEA,SAAS,yBAAyB,MAAc,OAA+B;AAC7E,SAAO,gBAAgB,KAAK,IAAI,QAAQ,oBAAoB,IAAI,IAAI,qBAAqB,IAAI,EAAE,WAAW;AAC5G;AAEA,SAAS,oCAAoC,MAAc,OAA+B;AACxF,MAAI,oBAAoB,IAAI,GAAG;AAC7B,WAAO,qBAAqB,IAAI,EAAE;AAAA,EACpC;AACA,SAAO,yBAAyB,MAAM,KAAK;AAC7C;","names":[]}
|