@adcp/sdk 16.0.0-beta.7 → 16.0.0-beta.9
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/AGENTS.md +3 -3
- package/README.md +20 -0
- package/bin/adcp.js +10 -13
- package/dist/lib/conformance/index.d.mts +2 -0
- package/dist/lib/conformance/index.d.ts +2 -0
- package/dist/lib/conformance/index.js +3 -0
- package/dist/lib/conformance/index.mjs +2 -0
- package/dist/lib/conformance/property-lists.d.mts +14 -0
- package/dist/lib/conformance/property-lists.d.ts +14 -0
- package/dist/lib/conformance/property-lists.js +45 -0
- package/dist/lib/conformance/property-lists.mjs +21 -0
- package/dist/lib/conformance/runConformance.js +20 -1
- package/dist/lib/conformance/runConformance.mjs +20 -1
- package/dist/lib/conformance/types.d.mts +3 -0
- package/dist/lib/conformance/types.d.ts +3 -0
- package/dist/lib/core/AgentClient.d.mts +8 -5
- package/dist/lib/core/AgentClient.d.ts +8 -5
- package/dist/lib/core/AgentClient.js +9 -4
- package/dist/lib/core/AgentClient.mjs +9 -4
- package/dist/lib/core/SingleAgentClient.d.mts +32 -115
- package/dist/lib/core/SingleAgentClient.d.ts +32 -115
- package/dist/lib/core/SingleAgentClient.js +379 -273
- package/dist/lib/core/SingleAgentClient.mjs +387 -275
- package/dist/lib/core/TaskExecutor.d.mts +1 -16
- package/dist/lib/core/TaskExecutor.d.ts +1 -16
- package/dist/lib/core/TaskExecutor.js +34 -51
- package/dist/lib/core/TaskExecutor.mjs +12 -29
- package/dist/lib/core/product-cache.d.mts +3 -1
- package/dist/lib/core/product-cache.d.ts +3 -1
- package/dist/lib/core/product-cache.js +2 -1
- package/dist/lib/core/product-cache.mjs +2 -1
- package/dist/lib/errors/index.d.mts +2 -8
- package/dist/lib/errors/index.d.ts +2 -8
- package/dist/lib/errors/index.js +4 -4
- package/dist/lib/errors/index.mjs +4 -4
- package/dist/lib/identifiers.d.mts +53 -0
- package/dist/lib/identifiers.d.ts +53 -0
- package/dist/lib/identifiers.js +212 -0
- package/dist/lib/identifiers.mjs +163 -0
- package/dist/lib/index.d.mts +7 -5
- package/dist/lib/index.d.ts +7 -5
- package/dist/lib/index.js +2 -14
- package/dist/lib/index.mjs +1 -14
- package/dist/lib/media-buy/compatibility.d.mts +1 -1
- package/dist/lib/media-buy/compatibility.d.ts +1 -1
- package/dist/lib/media-buy/compatibility.js +26 -45
- package/dist/lib/media-buy/compatibility.mjs +26 -45
- package/dist/lib/media-buy/index.d.mts +1 -1
- package/dist/lib/media-buy/index.d.ts +1 -1
- package/dist/lib/media-buy/legacy-purchase-continuation.d.mts +2 -2
- package/dist/lib/media-buy/legacy-purchase-continuation.d.ts +2 -2
- package/dist/lib/media-buy/property-policy.d.mts +15 -1
- package/dist/lib/media-buy/property-policy.d.ts +15 -1
- package/dist/lib/media-buy/property-policy.js +135 -3
- package/dist/lib/media-buy/property-policy.mjs +134 -3
- package/dist/lib/protocols/index.js +14 -22
- package/dist/lib/protocols/index.mjs +5 -13
- package/dist/lib/registry/index.d.mts +12 -0
- package/dist/lib/registry/index.d.ts +12 -0
- package/dist/lib/registry/index.js +159 -5
- package/dist/lib/registry/index.mjs +156 -4
- package/dist/lib/registry/types.d.mts +26 -2
- package/dist/lib/registry/types.d.ts +26 -2
- package/dist/lib/registry/types.generated.d.mts +51 -11
- package/dist/lib/registry/types.generated.d.ts +51 -11
- package/dist/lib/reporting/source/conformance.d.mts +8 -8
- package/dist/lib/reporting/source/conformance.d.ts +8 -8
- package/dist/lib/reporting/source/manifest.d.mts +27 -27
- package/dist/lib/reporting/source/manifest.d.ts +27 -27
- package/dist/lib/server/create-adcp-server.js +6 -0
- package/dist/lib/server/create-adcp-server.mjs +6 -0
- package/dist/lib/server/decisioning/specialisms/lists.d.mts +4 -4
- package/dist/lib/server/decisioning/specialisms/lists.d.ts +4 -4
- package/dist/lib/server/index.d.mts +3 -0
- package/dist/lib/server/index.d.ts +3 -0
- package/dist/lib/server/index.js +8 -1
- package/dist/lib/server/index.mjs +4 -0
- package/dist/lib/server/property-lists.d.mts +36 -0
- package/dist/lib/server/property-lists.d.ts +36 -0
- package/dist/lib/server/property-lists.js +154 -0
- package/dist/lib/server/property-lists.mjs +129 -0
- package/dist/lib/server/targeting-helpers.d.mts +2 -0
- package/dist/lib/server/targeting-helpers.d.ts +2 -0
- package/dist/lib/server/targeting-helpers.js +28 -1
- package/dist/lib/server/targeting-helpers.mjs +18 -1
- package/dist/lib/signing/parser.js +2 -2
- package/dist/lib/signing/parser.mjs +2 -2
- package/dist/lib/signing/server.d.mts +1 -1
- package/dist/lib/signing/server.d.ts +1 -1
- package/dist/lib/signing/server.mjs +5 -1
- package/dist/lib/signing/webhook-verifier.d.mts +11 -0
- package/dist/lib/signing/webhook-verifier.d.ts +11 -0
- package/dist/lib/signing/webhook-verifier.js +11 -3
- package/dist/lib/signing/webhook-verifier.mjs +11 -3
- package/dist/lib/supply-path/verify.js +12 -2
- package/dist/lib/supply-path/verify.mjs +2 -2
- package/dist/lib/testing/compliance/comply.js +0 -8
- package/dist/lib/testing/compliance/comply.mjs +0 -8
- package/dist/lib/testing/compliance/storyboard-tracks.js +11 -0
- package/dist/lib/testing/compliance/storyboard-tracks.mjs +11 -0
- package/dist/lib/testing/index.d.mts +2 -0
- package/dist/lib/testing/index.d.ts +2 -0
- package/dist/lib/testing/index.js +5 -0
- package/dist/lib/testing/index.mjs +3 -0
- package/dist/lib/testing/scenarios/capabilities.d.mts +2 -2
- package/dist/lib/testing/scenarios/capabilities.d.ts +2 -2
- package/dist/lib/testing/scenarios/capabilities.js +8 -41
- package/dist/lib/testing/scenarios/capabilities.mjs +9 -42
- package/dist/lib/testing/storyboard/creative-build-probe.d.mts +34 -0
- package/dist/lib/testing/storyboard/creative-build-probe.d.ts +34 -0
- package/dist/lib/testing/storyboard/creative-build-probe.js +395 -0
- package/dist/lib/testing/storyboard/creative-build-probe.mjs +373 -0
- package/dist/lib/testing/storyboard/index.d.mts +2 -0
- package/dist/lib/testing/storyboard/index.d.ts +2 -0
- package/dist/lib/testing/storyboard/index.js +5 -0
- package/dist/lib/testing/storyboard/index.mjs +3 -0
- package/dist/lib/testing/storyboard/loader.js +12 -0
- package/dist/lib/testing/storyboard/loader.mjs +12 -0
- package/dist/lib/testing/storyboard/property-list-reference.d.mts +15 -0
- package/dist/lib/testing/storyboard/property-list-reference.d.ts +15 -0
- package/dist/lib/testing/storyboard/property-list-reference.js +514 -0
- package/dist/lib/testing/storyboard/property-list-reference.mjs +487 -0
- package/dist/lib/testing/storyboard/runner.js +318 -58
- package/dist/lib/testing/storyboard/runner.mjs +322 -58
- package/dist/lib/testing/storyboard/types.d.mts +38 -16
- package/dist/lib/testing/storyboard/types.d.ts +38 -16
- package/dist/lib/testing/storyboard/types.js +1 -0
- package/dist/lib/testing/storyboard/types.mjs +1 -0
- package/dist/lib/testing/storyboard/validations.d.mts +1 -1
- package/dist/lib/testing/storyboard/validations.d.ts +1 -1
- package/dist/lib/testing/storyboard/validations.js +64 -0
- package/dist/lib/testing/storyboard/validations.mjs +67 -1
- package/dist/lib/testing/types.d.mts +15 -1
- package/dist/lib/testing/types.d.ts +15 -1
- package/dist/lib/types/schemas.generated.d.ts +65 -65
- package/dist/lib/types/wellknown-schemas.generated.d.mts +21 -21
- package/dist/lib/types/wellknown-schemas.generated.d.ts +21 -21
- package/dist/lib/utils/adcp-version-config.js +6 -0
- package/dist/lib/utils/adcp-version-config.mjs +6 -0
- package/dist/lib/utils/capabilities.d.mts +7 -9
- package/dist/lib/utils/capabilities.d.ts +7 -9
- package/dist/lib/utils/capabilities.js +14 -28
- package/dist/lib/utils/capabilities.mjs +14 -27
- package/dist/lib/utils/creative-adapter.d.mts +15 -113
- package/dist/lib/utils/creative-adapter.d.ts +15 -113
- package/dist/lib/utils/creative-adapter.js +7 -106
- package/dist/lib/utils/creative-adapter.mjs +7 -102
- package/dist/lib/utils/format-renders.d.mts +20 -80
- package/dist/lib/utils/format-renders.d.ts +20 -80
- package/dist/lib/utils/format-renders.js +7 -67
- package/dist/lib/utils/format-renders.mjs +7 -66
- package/dist/lib/utils/index.d.mts +1 -2
- package/dist/lib/utils/index.d.ts +1 -2
- package/dist/lib/utils/index.js +0 -7
- package/dist/lib/utils/index.mjs +0 -6
- package/dist/lib/utils/preview-normalizer.d.mts +31 -80
- package/dist/lib/utils/preview-normalizer.d.ts +31 -80
- package/dist/lib/utils/preview-normalizer.js +5 -50
- package/dist/lib/utils/preview-normalizer.mjs +5 -49
- package/dist/lib/utils/pricing-adapter.d.mts +2 -36
- package/dist/lib/utils/pricing-adapter.d.ts +2 -36
- package/dist/lib/utils/pricing-adapter.js +0 -105
- package/dist/lib/utils/pricing-adapter.mjs +0 -100
- package/dist/lib/utils/request-normalizer.d.mts +1 -2
- package/dist/lib/utils/request-normalizer.d.ts +1 -2
- package/dist/lib/v2/projection/creative-delivery.d.mts +2 -0
- package/dist/lib/v2/projection/creative-delivery.d.ts +2 -0
- package/dist/lib/v2/projection/creative-delivery.js +7 -0
- package/dist/lib/v2/projection/creative-delivery.mjs +6 -0
- package/dist/lib/v2/projection/legacy-metadata.d.mts +12 -0
- package/dist/lib/v2/projection/legacy-metadata.d.ts +12 -0
- package/dist/lib/v2/projection/legacy-metadata.js +41 -1
- package/dist/lib/v2/projection/legacy-metadata.mjs +37 -1
- package/dist/lib/v2/projection/legacy-normalization.d.mts +1 -1
- package/dist/lib/v2/projection/legacy-normalization.d.ts +1 -1
- package/dist/lib/v2/projection/v1-to-v2.js +13 -0
- package/dist/lib/v2/projection/v1-to-v2.mjs +14 -0
- package/dist/lib/validation/client-hooks.d.mts +1 -4
- package/dist/lib/validation/client-hooks.d.ts +1 -4
- package/dist/lib/validation/get-products-request.d.mts +1 -1
- package/dist/lib/validation/get-products-request.d.ts +1 -1
- package/dist/lib/validation/schema-loader.js +6 -0
- package/dist/lib/validation/schema-loader.mjs +6 -0
- package/dist/lib/validation/schema-validator.js +1 -26
- package/dist/lib/validation/schema-validator.mjs +1 -26
- package/dist/lib/version.d.mts +5 -5
- package/dist/lib/version.d.ts +5 -5
- package/dist/lib/version.js +3 -5
- package/dist/lib/version.mjs +3 -5
- package/docs/TYPE-SUMMARY.md +2 -2
- package/docs/development/PROTOCOL_DIFFERENCES.md +1 -1
- package/docs/guides/CONFORMANCE.md +25 -0
- package/docs/guides/CREATIVE-BUILD-PROBE.md +156 -0
- package/docs/guides/CREATIVE-DELIVERY.md +45 -6
- package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +15 -18
- package/docs/guides/PROPERTY-LISTS.md +264 -0
- package/docs/guides/SIGNING-GUIDE.md +25 -0
- package/docs/guides/VALIDATE-YOUR-AGENT.md +5 -0
- package/docs/llms.txt +2 -2
- package/docs/migration-13-to-14.md +20 -16
- package/docs/migration-14.x-rc-worksheet.md +5 -5
- package/docs/migration-4.x-to-5.x.md +12 -7
- package/docs/migration-drop-adcp-2.md +25 -0
- package/package.json +3 -18
- package/skills/call-adcp-agent/SKILL.md +23 -25
- package/dist/lib/adapters/legacy/v2-5/create_media_buy.d.mts +0 -3
- package/dist/lib/adapters/legacy/v2-5/create_media_buy.d.ts +0 -3
- package/dist/lib/adapters/legacy/v2-5/create_media_buy.js +0 -33
- package/dist/lib/adapters/legacy/v2-5/create_media_buy.mjs +0 -9
- package/dist/lib/adapters/legacy/v2-5/get_products.d.mts +0 -8
- package/dist/lib/adapters/legacy/v2-5/get_products.d.ts +0 -8
- package/dist/lib/adapters/legacy/v2-5/get_products.js +0 -33
- package/dist/lib/adapters/legacy/v2-5/get_products.mjs +0 -9
- package/dist/lib/adapters/legacy/v2-5/index.d.mts +0 -34
- package/dist/lib/adapters/legacy/v2-5/index.d.ts +0 -34
- package/dist/lib/adapters/legacy/v2-5/index.js +0 -50
- package/dist/lib/adapters/legacy/v2-5/index.mjs +0 -25
- package/dist/lib/adapters/legacy/v2-5/list_creative_formats.d.mts +0 -8
- package/dist/lib/adapters/legacy/v2-5/list_creative_formats.d.ts +0 -8
- package/dist/lib/adapters/legacy/v2-5/list_creative_formats.js +0 -33
- package/dist/lib/adapters/legacy/v2-5/list_creative_formats.mjs +0 -9
- package/dist/lib/adapters/legacy/v2-5/preview_creative.d.mts +0 -3
- package/dist/lib/adapters/legacy/v2-5/preview_creative.d.ts +0 -3
- package/dist/lib/adapters/legacy/v2-5/preview_creative.js +0 -33
- package/dist/lib/adapters/legacy/v2-5/preview_creative.mjs +0 -9
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.d.mts +0 -11
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.d.ts +0 -11
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.js +0 -32
- package/dist/lib/adapters/legacy/v2-5/sync_creatives.mjs +0 -8
- package/dist/lib/adapters/legacy/v2-5/types.d.mts +0 -39
- package/dist/lib/adapters/legacy/v2-5/types.d.ts +0 -39
- package/dist/lib/adapters/legacy/v2-5/types.js +0 -16
- package/dist/lib/adapters/legacy/v2-5/types.mjs +0 -0
- package/dist/lib/adapters/legacy/v2-5/update_media_buy.d.mts +0 -3
- package/dist/lib/adapters/legacy/v2-5/update_media_buy.d.ts +0 -3
- package/dist/lib/adapters/legacy/v2-5/update_media_buy.js +0 -35
- package/dist/lib/adapters/legacy/v2-5/update_media_buy.mjs +0 -11
- package/dist/lib/schemas-data/v2.5/_provenance.json +0 -8
- package/dist/lib/schemas-data/v2.5/adagents.json +0 -494
- package/dist/lib/schemas-data/v2.5/core/activation-key.json +0 -50
- package/dist/lib/schemas-data/v2.5/core/assets/audio-asset.json +0 -32
- package/dist/lib/schemas-data/v2.5/core/assets/css-asset.json +0 -21
- package/dist/lib/schemas-data/v2.5/core/assets/daast-asset.json +0 -87
- package/dist/lib/schemas-data/v2.5/core/assets/html-asset.json +0 -21
- package/dist/lib/schemas-data/v2.5/core/assets/image-asset.json +0 -38
- package/dist/lib/schemas-data/v2.5/core/assets/javascript-asset.json +0 -21
- package/dist/lib/schemas-data/v2.5/core/assets/markdown-asset.json +0 -31
- package/dist/lib/schemas-data/v2.5/core/assets/text-asset.json +0 -21
- package/dist/lib/schemas-data/v2.5/core/assets/url-asset.json +0 -26
- package/dist/lib/schemas-data/v2.5/core/assets/vast-asset.json +0 -87
- package/dist/lib/schemas-data/v2.5/core/assets/video-asset.json +0 -44
- package/dist/lib/schemas-data/v2.5/core/assets/webhook-asset.json +0 -71
- package/dist/lib/schemas-data/v2.5/core/async-response-data.json +0 -88
- package/dist/lib/schemas-data/v2.5/core/brand-manifest-ref.json +0 -33
- package/dist/lib/schemas-data/v2.5/core/brand-manifest.json +0 -409
- package/dist/lib/schemas-data/v2.5/core/context.json +0 -8
- package/dist/lib/schemas-data/v2.5/core/creative-asset.json +0 -125
- package/dist/lib/schemas-data/v2.5/core/creative-assignment.json +0 -31
- package/dist/lib/schemas-data/v2.5/core/creative-filters.json +0 -111
- package/dist/lib/schemas-data/v2.5/core/creative-manifest.json +0 -72
- package/dist/lib/schemas-data/v2.5/core/creative-policy.json +0 -27
- package/dist/lib/schemas-data/v2.5/core/delivery-metrics.json +0 -171
- package/dist/lib/schemas-data/v2.5/core/deployment.json +0 -93
- package/dist/lib/schemas-data/v2.5/core/destination.json +0 -53
- package/dist/lib/schemas-data/v2.5/core/error.json +0 -40
- package/dist/lib/schemas-data/v2.5/core/ext.json +0 -8
- package/dist/lib/schemas-data/v2.5/core/format-id.json +0 -47
- package/dist/lib/schemas-data/v2.5/core/format.json +0 -324
- package/dist/lib/schemas-data/v2.5/core/frequency-cap.json +0 -18
- package/dist/lib/schemas-data/v2.5/core/mcp-webhook-payload.json +0 -152
- package/dist/lib/schemas-data/v2.5/core/measurement.json +0 -48
- package/dist/lib/schemas-data/v2.5/core/media-buy.json +0 -62
- package/dist/lib/schemas-data/v2.5/core/package.json +0 -72
- package/dist/lib/schemas-data/v2.5/core/performance-feedback.json +0 -90
- package/dist/lib/schemas-data/v2.5/core/placement.json +0 -34
- package/dist/lib/schemas-data/v2.5/core/pricing-option.json +0 -35
- package/dist/lib/schemas-data/v2.5/core/product-filters.json +0 -102
- package/dist/lib/schemas-data/v2.5/core/product.json +0 -153
- package/dist/lib/schemas-data/v2.5/core/promoted-offerings.json +0 -115
- package/dist/lib/schemas-data/v2.5/core/promoted-products.json +0 -67
- package/dist/lib/schemas-data/v2.5/core/property-id.json +0 -14
- package/dist/lib/schemas-data/v2.5/core/property-tag.json +0 -16
- package/dist/lib/schemas-data/v2.5/core/property.json +0 -62
- package/dist/lib/schemas-data/v2.5/core/protocol-envelope.json +0 -146
- package/dist/lib/schemas-data/v2.5/core/publisher-property-selector.json +0 -92
- package/dist/lib/schemas-data/v2.5/core/push-notification-config.json +0 -48
- package/dist/lib/schemas-data/v2.5/core/reporting-capabilities.json +0 -71
- package/dist/lib/schemas-data/v2.5/core/response.json +0 -24
- package/dist/lib/schemas-data/v2.5/core/signal-filters.json +0 -35
- package/dist/lib/schemas-data/v2.5/core/start-timing.json +0 -18
- package/dist/lib/schemas-data/v2.5/core/sub-asset.json +0 -79
- package/dist/lib/schemas-data/v2.5/core/targeting.json +0 -50
- package/dist/lib/schemas-data/v2.5/core/tasks-get-request.json +0 -43
- package/dist/lib/schemas-data/v2.5/core/tasks-get-response.json +0 -166
- package/dist/lib/schemas-data/v2.5/core/tasks-list-request.json +0 -192
- package/dist/lib/schemas-data/v2.5/core/tasks-list-response.json +0 -183
- package/dist/lib/schemas-data/v2.5/creative/asset-types/index.json +0 -101
- package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-request.json +0 -73
- package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-response.json +0 -61
- package/dist/lib/schemas-data/v2.5/creative/preview-creative-request.json +0 -164
- package/dist/lib/schemas-data/v2.5/creative/preview-creative-response.json +0 -245
- package/dist/lib/schemas-data/v2.5/creative/preview-render.json +0 -225
- package/dist/lib/schemas-data/v2.5/enums/adcp-domain.json +0 -11
- package/dist/lib/schemas-data/v2.5/enums/asset-content-type.json +0 -22
- package/dist/lib/schemas-data/v2.5/enums/auth-scheme.json +0 -11
- package/dist/lib/schemas-data/v2.5/enums/available-metric.json +0 -18
- package/dist/lib/schemas-data/v2.5/enums/channels.json +0 -18
- package/dist/lib/schemas-data/v2.5/enums/co-branding-requirement.json +0 -12
- package/dist/lib/schemas-data/v2.5/enums/creative-action.json +0 -14
- package/dist/lib/schemas-data/v2.5/enums/creative-agent-capability.json +0 -13
- package/dist/lib/schemas-data/v2.5/enums/creative-sort-field.json +0 -15
- package/dist/lib/schemas-data/v2.5/enums/creative-status.json +0 -19
- package/dist/lib/schemas-data/v2.5/enums/daast-tracking-event.json +0 -20
- package/dist/lib/schemas-data/v2.5/enums/daast-version.json +0 -11
- package/dist/lib/schemas-data/v2.5/enums/delivery-type.json +0 -15
- package/dist/lib/schemas-data/v2.5/enums/dimension-unit.json +0 -13
- package/dist/lib/schemas-data/v2.5/enums/feed-format.json +0 -12
- package/dist/lib/schemas-data/v2.5/enums/feedback-source.json +0 -13
- package/dist/lib/schemas-data/v2.5/enums/format-category.json +0 -16
- package/dist/lib/schemas-data/v2.5/enums/format-id-parameter.json +0 -11
- package/dist/lib/schemas-data/v2.5/enums/frequency-cap-scope.json +0 -13
- package/dist/lib/schemas-data/v2.5/enums/history-entry-type.json +0 -11
- package/dist/lib/schemas-data/v2.5/enums/http-method.json +0 -11
- package/dist/lib/schemas-data/v2.5/enums/identifier-types.json +0 -34
- package/dist/lib/schemas-data/v2.5/enums/javascript-module-type.json +0 -12
- package/dist/lib/schemas-data/v2.5/enums/landing-page-requirement.json +0 -12
- package/dist/lib/schemas-data/v2.5/enums/markdown-flavor.json +0 -11
- package/dist/lib/schemas-data/v2.5/enums/media-buy-status.json +0 -19
- package/dist/lib/schemas-data/v2.5/enums/metric-type.json +0 -17
- package/dist/lib/schemas-data/v2.5/enums/notification-type.json +0 -13
- package/dist/lib/schemas-data/v2.5/enums/pacing.json +0 -17
- package/dist/lib/schemas-data/v2.5/enums/preview-output-format.json +0 -11
- package/dist/lib/schemas-data/v2.5/enums/pricing-model.json +0 -25
- package/dist/lib/schemas-data/v2.5/enums/property-type.json +0 -16
- package/dist/lib/schemas-data/v2.5/enums/publisher-identifier-types.json +0 -19
- package/dist/lib/schemas-data/v2.5/enums/reporting-frequency.json +0 -12
- package/dist/lib/schemas-data/v2.5/enums/signal-catalog-type.json +0 -12
- package/dist/lib/schemas-data/v2.5/enums/sort-direction.json +0 -11
- package/dist/lib/schemas-data/v2.5/enums/standard-format-ids.json +0 -103
- package/dist/lib/schemas-data/v2.5/enums/task-status.json +0 -29
- package/dist/lib/schemas-data/v2.5/enums/task-type.json +0 -27
- package/dist/lib/schemas-data/v2.5/enums/update-frequency.json +0 -13
- package/dist/lib/schemas-data/v2.5/enums/url-asset-type.json +0 -12
- package/dist/lib/schemas-data/v2.5/enums/validation-mode.json +0 -11
- package/dist/lib/schemas-data/v2.5/enums/vast-tracking-event.json +0 -25
- package/dist/lib/schemas-data/v2.5/enums/vast-version.json +0 -14
- package/dist/lib/schemas-data/v2.5/enums/webhook-response-type.json +0 -13
- package/dist/lib/schemas-data/v2.5/enums/webhook-security-method.json +0 -12
- package/dist/lib/schemas-data/v2.5/index.json +0 -604
- package/dist/lib/schemas-data/v2.5/media-buy/build-creative-request.json +0 -31
- package/dist/lib/schemas-data/v2.5/media-buy/build-creative-response.json +0 -65
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-input-required.json +0 -31
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-submitted.json +0 -16
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-working.json +0 -36
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-request.json +0 -126
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-response.json +0 -97
- package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-request.json +0 -54
- package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-response.json +0 -285
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-input-required.json +0 -38
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-submitted.json +0 -21
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-working.json +0 -34
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-request.json +0 -28
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-response.json +0 -33
- package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-request.json +0 -26
- package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-response.json +0 -70
- package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-request.json +0 -58
- package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-response.json +0 -61
- package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-request.json +0 -137
- package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-response.json +0 -437
- package/dist/lib/schemas-data/v2.5/media-buy/package-request.json +0 -80
- package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-request.json +0 -88
- package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-response.json +0 -66
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-input-required.json +0 -25
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-submitted.json +0 -16
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-working.json +0 -46
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-request.json +0 -178
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-response.json +0 -149
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-input-required.json +0 -24
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-submitted.json +0 -16
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-working.json +0 -36
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-request.json +0 -129
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-response.json +0 -99
- package/dist/lib/schemas-data/v2.5/pricing-options/cpc-option.json +0 -52
- package/dist/lib/schemas-data/v2.5/pricing-options/cpcv-option.json +0 -52
- package/dist/lib/schemas-data/v2.5/pricing-options/cpm-auction-option.json +0 -81
- package/dist/lib/schemas-data/v2.5/pricing-options/cpm-fixed-option.json +0 -52
- package/dist/lib/schemas-data/v2.5/pricing-options/cpp-option.json +0 -73
- package/dist/lib/schemas-data/v2.5/pricing-options/cpv-option.json +0 -88
- package/dist/lib/schemas-data/v2.5/pricing-options/flat-rate-option.json +0 -93
- package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-auction-option.json +0 -81
- package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-fixed-option.json +0 -52
- package/dist/lib/schemas-data/v2.5/protocols/adcp-extension.json +0 -33
- package/dist/lib/schemas-data/v2.5/signals/activate-signal-request.json +0 -32
- package/dist/lib/schemas-data/v2.5/signals/activate-signal-response.json +0 -68
- package/dist/lib/schemas-data/v2.5/signals/get-signals-request.json +0 -59
- package/dist/lib/schemas-data/v2.5/signals/get-signals-response.json +0 -100
- package/dist/lib/types/v2-5/index.d.mts +0 -1
- package/dist/lib/types/v2-5/index.d.ts +0 -1
- package/dist/lib/types/v2-5/index.js +0 -22
- package/dist/lib/types/v2-5/index.mjs +0 -1
- package/dist/lib/types/v2-5/tools.generated.d.mts +0 -3568
- package/dist/lib/types/v2-5/tools.generated.d.ts +0 -3568
- package/dist/lib/types/v2-5/tools.generated.js +0 -16
- package/dist/lib/types/v2-5/tools.generated.mjs +0 -0
- package/dist/lib/utils/sync-creatives-adapter.d.mts +0 -33
- package/dist/lib/utils/sync-creatives-adapter.d.ts +0 -33
- package/dist/lib/utils/sync-creatives-adapter.js +0 -83
- package/dist/lib/utils/sync-creatives-adapter.mjs +0 -59
|
@@ -18,7 +18,7 @@ import { type AgentDiscoveryCacheConfig } from './agent-discovery-cache.mjs';
|
|
|
18
18
|
import { BuyerAccountRegistry, type AccountPolicy, type BuyerAccountStorage } from './buyer-account-registry.mjs';
|
|
19
19
|
import type { ProductCache } from './product-cache.mjs';
|
|
20
20
|
import { type ResolveAccountOptions, type ResolveAccountResult } from './account-resolution.mjs';
|
|
21
|
-
import { type BuyerPropertyPolicy, type ProductPropertyPolicyMode } from '../media-buy/property-policy.mjs';
|
|
21
|
+
import { type BuyerPropertyPolicy, type ProductPolicyResolvedProperty, type ProductPropertyPolicyMode } from '../media-buy/property-policy.mjs';
|
|
22
22
|
import { type ResolveListOptions } from '../server/targeting-helpers.mjs';
|
|
23
23
|
import { type CanonicalCreateMediaBuyInput, type CanonicalCreativeResponse, type CanonicalGetProductsRequest, type CanonicalGetProductsResponse, type CanonicalListCreativesRequest, type CanonicalListCreativesResponse, type CanonicalPreviewCreativeRequest, type CanonicalPreviewCreativeResponse, type CanonicalSyncCreativesRequest, type CanonicalUpdateMediaBuyRequest, type CreativeFormatWireMode, type SyncCreativeFormatProjection } from '../v2/projection/creative-delivery.mjs';
|
|
24
24
|
import type { LegacyFormatConverter } from '../v2/projection/v1-to-v2.mjs';
|
|
@@ -63,6 +63,16 @@ export declare class UnsupportedFeatureError extends Error {
|
|
|
63
63
|
constructor(feature: string, serverVersion: 'v2' | 'v3', message?: string);
|
|
64
64
|
}
|
|
65
65
|
export interface ClientProductPropertyPolicy extends BuyerPropertyPolicy {
|
|
66
|
+
/** Resolve a complete publisher catalog for app/CTV selector matching. Failures follow unknownSelectorBehavior. */
|
|
67
|
+
resolvePublisherProperties?: (publisherDomain: string, options?: {
|
|
68
|
+
signal?: AbortSignal;
|
|
69
|
+
}) => Promise<readonly ProductPolicyResolvedProperty[] | undefined>;
|
|
70
|
+
/** Maximum distinct catalog lookups per response. Overflow follows unknownSelectorBehavior. Default: 100. */
|
|
71
|
+
maxPublisherLookups?: number;
|
|
72
|
+
/** Per-catalog timeout. The hook receives an abort signal. Default: 10 seconds. */
|
|
73
|
+
publisherLookupTimeoutMs?: number;
|
|
74
|
+
/** Total catalog-lookup budget per response. Unfinished lookups stay unknown. Default: 10 seconds. */
|
|
75
|
+
publisherLookupBudgetMs?: number;
|
|
66
76
|
/**
|
|
67
77
|
* Enforcement mode for completed `get_products` responses.
|
|
68
78
|
*
|
|
@@ -72,8 +82,8 @@ export interface ClientProductPropertyPolicy extends BuyerPropertyPolicy {
|
|
|
72
82
|
*/
|
|
73
83
|
mode?: ProductPropertyPolicyMode;
|
|
74
84
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
85
|
+
* Resolve `filters.property_list` (AdCP 3.2) or deprecated `property_list`
|
|
86
|
+
* as an allow-list. Conflicting references fail closed. Defaults to true.
|
|
77
87
|
*/
|
|
78
88
|
enforceRequestPropertyList?: boolean;
|
|
79
89
|
/**
|
|
@@ -370,35 +380,8 @@ export interface SingleAgentClientConfig extends ConversationConfig {
|
|
|
370
380
|
* @default true
|
|
371
381
|
*/
|
|
372
382
|
validateFeatures?: boolean;
|
|
373
|
-
/**
|
|
374
|
-
* Gate mutating-task dispatch on the seller's declared major version.
|
|
375
|
-
* When the seller returns an authoritative `get_adcp_capabilities`
|
|
376
|
-
* response, the guard requires:
|
|
377
|
-
* 1. `major_versions` includes 3
|
|
378
|
-
* 2. `adcp.idempotency.replay_ttl_seconds` is declared (spec-required)
|
|
379
|
-
*
|
|
380
|
-
* Sellers whose capabilities are synthesized from `tools/list` (no
|
|
381
|
-
* authoritative `get_adcp_capabilities` response) route through the
|
|
382
|
-
* v2 adapter with a one-time warning — a compliant v3 seller would
|
|
383
|
-
* declare itself, so absence of a declaration is read as v2. Adopters
|
|
384
|
-
* who need a hard "definitely-v3" gate should validate
|
|
385
|
-
* `(await client.getCapabilities())._synthetic === false` directly.
|
|
386
|
-
*
|
|
387
|
-
* Throws `VersionUnsupportedError` before the request is sent when
|
|
388
|
-
* the guard rejects. Bypass with `allowV2` or — process-wide as a
|
|
389
|
-
* fallback — `ADCP_ALLOW_V2=1`.
|
|
390
|
-
*
|
|
391
|
-
* @default false
|
|
392
|
-
*/
|
|
383
|
+
/** Require release compatibility and the declared idempotency replay TTL before mutations. */
|
|
393
384
|
requireV3ForMutations?: boolean;
|
|
394
|
-
/**
|
|
395
|
-
* Per-client bypass for the v3 guard. When `true`, the guard is off
|
|
396
|
-
* regardless of the `ADCP_ALLOW_V2` env var. When `undefined`, the env
|
|
397
|
-
* var is consulted as a fallback. Set explicitly in multi-tenant
|
|
398
|
-
* deployments so one tenant's override can't silently disable safety
|
|
399
|
-
* for another.
|
|
400
|
-
*/
|
|
401
|
-
allowV2?: boolean;
|
|
402
385
|
/**
|
|
403
386
|
* Runtime schema validation options
|
|
404
387
|
*/
|
|
@@ -583,9 +566,7 @@ export declare class SingleAgentClient {
|
|
|
583
566
|
private discoveredEndpointExpiresAt?;
|
|
584
567
|
private sharedEvidenceEpoch?;
|
|
585
568
|
private sharedEvidenceKey?;
|
|
586
|
-
private _v2WarningFired;
|
|
587
569
|
private _syntheticV3WarningFired;
|
|
588
|
-
private _syntheticV2WarningFired;
|
|
589
570
|
private readonly productPolicyRequestParamsByTask;
|
|
590
571
|
private readonly canonicalCreativeTaskAssociations;
|
|
591
572
|
private readonly previewCreativeHandlersByTask;
|
|
@@ -872,7 +853,7 @@ export declare class SingleAgentClient {
|
|
|
872
853
|
/**
|
|
873
854
|
* Execute task and call appropriate handler on completion
|
|
874
855
|
*
|
|
875
|
-
*
|
|
856
|
+
* Adapts requests for maintained AdCP 3 releases and normalizes product responses.
|
|
876
857
|
*/
|
|
877
858
|
private executeAndHandle;
|
|
878
859
|
private executeAndHandleWithinDeadline;
|
|
@@ -918,8 +899,7 @@ export declare class SingleAgentClient {
|
|
|
918
899
|
private applyProductPropertyPolicyToWebhookResult;
|
|
919
900
|
/**
|
|
920
901
|
* Adapt a request for the detected server wire version and the seller's
|
|
921
|
-
* AdCP protocol version. Applies
|
|
922
|
-
* to a v2 server, then applies protocol-version adapters (e.g. stripping
|
|
902
|
+
* AdCP protocol version. Applies protocol-version adapters (e.g. stripping
|
|
923
903
|
* 3.1-only fields for a 3.0 seller). Returns the adapted params and any
|
|
924
904
|
* drift log entries describing what was changed.
|
|
925
905
|
*
|
|
@@ -927,22 +907,7 @@ export declare class SingleAgentClient {
|
|
|
927
907
|
* current call's tool schemas can be supplied without cross-tenant caching.
|
|
928
908
|
*/
|
|
929
909
|
private adaptRequest;
|
|
930
|
-
|
|
931
|
-
* Normalize response to v3 format
|
|
932
|
-
*
|
|
933
|
-
* Converts v2 responses to v3 structure for consistent API surface.
|
|
934
|
-
*/
|
|
935
|
-
private normalizeResponseToV3;
|
|
936
|
-
/**
|
|
937
|
-
* Check if request uses v3 features that the server doesn't support
|
|
938
|
-
*
|
|
939
|
-
* Returns an early empty result if the request requires v3 features
|
|
940
|
-
* that the server doesn't support. This treats "products matching unsupported
|
|
941
|
-
* capability" as an empty result set rather than an error.
|
|
942
|
-
*
|
|
943
|
-
* @returns TaskResult with empty data if v3 features are unsupported, null to proceed normally
|
|
944
|
-
*/
|
|
945
|
-
private getEarlyResultForUnsupportedFeatures;
|
|
910
|
+
private normalizeEstablishedResponse;
|
|
946
911
|
/**
|
|
947
912
|
* Discover available advertising products
|
|
948
913
|
*
|
|
@@ -1031,14 +996,17 @@ export declare class SingleAgentClient {
|
|
|
1031
996
|
* sending a mutation. Discovers capabilities and the current tool's input
|
|
1032
997
|
* schema, or reuses fresh cached/primed evidence, with this client's wire pin.
|
|
1033
998
|
*
|
|
1034
|
-
* `unknown`
|
|
1035
|
-
*
|
|
1036
|
-
*
|
|
999
|
+
* This context-free check returns `unknown` when capabilities and schema do
|
|
1000
|
+
* not establish support. A write to a proven 3.1 seller can still select
|
|
1001
|
+
* canonical delivery from matching seller-advertised product options;
|
|
1002
|
+
* otherwise projection requires an unambiguous legacy reference.
|
|
1037
1003
|
* Conflicting evidence and unproven support with a 3.2+ buyer pin throw
|
|
1038
1004
|
* `CreativeFormatCapabilityError`, just as they do during a write.
|
|
1039
1005
|
*/
|
|
1040
1006
|
resolveCreativeFormatWireMode(taskType: 'sync_creatives' | 'create_media_buy' | 'update_media_buy', options?: ReadRequestOptions): Promise<CreativeFormatWireMode>;
|
|
1041
1007
|
private resolveCreativeWireMode;
|
|
1008
|
+
/** Product evidence applies to this request only; it must never prime a tool-wide capability. */
|
|
1009
|
+
private productOptionsSupportCanonicalWire;
|
|
1042
1010
|
/** Validate malformed creative payloads before capability discovery can perform I/O. */
|
|
1043
1011
|
private validateBeforeCreativeCapabilityProbe;
|
|
1044
1012
|
/**
|
|
@@ -1348,6 +1316,8 @@ export declare class SingleAgentClient {
|
|
|
1348
1316
|
* Get the agent protocol (may be normalized from original config)
|
|
1349
1317
|
*/
|
|
1350
1318
|
getProtocol(): 'mcp' | 'a2a';
|
|
1319
|
+
/** Resolved MCP endpoint already used by this client; never performs discovery. */
|
|
1320
|
+
getDiscoveredMcpEndpoint(): string | undefined;
|
|
1351
1321
|
/**
|
|
1352
1322
|
* Get the canonical base URL for this agent
|
|
1353
1323
|
*
|
|
@@ -1516,7 +1486,7 @@ export declare class SingleAgentClient {
|
|
|
1516
1486
|
* Get agent capabilities, including AdCP version support
|
|
1517
1487
|
*
|
|
1518
1488
|
* For v3 servers, calls get_adcp_capabilities tool.
|
|
1519
|
-
*
|
|
1489
|
+
* Requires AdCP 3 capability discovery; retired AdCP 2 agents are rejected.
|
|
1520
1490
|
*
|
|
1521
1491
|
* @returns Promise resolving to normalized capabilities object
|
|
1522
1492
|
*
|
|
@@ -1665,20 +1635,8 @@ export declare class SingleAgentClient {
|
|
|
1665
1635
|
primeDiscoveryCache(seed: AgentDiscoverySeed): Promise<boolean>;
|
|
1666
1636
|
/** Drop shared evidence when a seller answers with an error that says our cached view of it is stale. */
|
|
1667
1637
|
private invalidateDiscoveryOnCapabilityError;
|
|
1668
|
-
/**
|
|
1669
|
-
|
|
1670
|
-
*
|
|
1671
|
-
* v2 went unsupported on 2026-04-20 (AdCP 3.0 GA — adcp#2220). We still
|
|
1672
|
-
* execute v2 code paths (no behaviour change), but clients integrating
|
|
1673
|
-
* against an unsupported agent should hear about it loudly.
|
|
1674
|
-
*
|
|
1675
|
-
* Synthetic capabilities (no `get_adcp_capabilities` tool available) don't
|
|
1676
|
-
* trigger the warning — we don't actually know the agent's version, and
|
|
1677
|
-
* shouting at legitimately-unversioned agents would be noise.
|
|
1678
|
-
*
|
|
1679
|
-
* Suppression: `process.env.ADCP_ALLOW_V2 === '1'`.
|
|
1680
|
-
*/
|
|
1681
|
-
private maybeWarnV2Sunset;
|
|
1638
|
+
/** Reject retired protocol generations before caching or dispatching. */
|
|
1639
|
+
private assertSupportedServer;
|
|
1682
1640
|
/**
|
|
1683
1641
|
* Warn once per client when `requireSupportedMajor` accepts synthetic v3
|
|
1684
1642
|
* capabilities — the agent advertised the v3-only `get_adcp_capabilities`
|
|
@@ -1692,47 +1650,16 @@ export declare class SingleAgentClient {
|
|
|
1692
1650
|
* cadence). Issue #1217.
|
|
1693
1651
|
*/
|
|
1694
1652
|
private maybeWarnSyntheticV3;
|
|
1695
|
-
/**
|
|
1696
|
-
* Warn once per client when `requireSupportedMajor` routes a synthetic-v2
|
|
1697
|
-
* seller through the v2 adapter — the agent did not expose
|
|
1698
|
-
* `get_adcp_capabilities`, so the version was inferred from `tools/list`.
|
|
1699
|
-
* A compliant v3 seller would declare itself; absence of a declaration is
|
|
1700
|
-
* read as v2. Idempotency-TTL guarantees are unknown for these sellers,
|
|
1701
|
-
* so BYOK retry callers should treat them as such.
|
|
1702
|
-
*
|
|
1703
|
-
* One-shot via `_syntheticV2WarningFired` (matches `maybeWarnV2Sunset`
|
|
1704
|
-
* cadence).
|
|
1705
|
-
*/
|
|
1706
|
-
private maybeWarnSyntheticV2;
|
|
1707
1653
|
/**
|
|
1708
1654
|
* Detect server AdCP version
|
|
1709
1655
|
*
|
|
1710
1656
|
* @returns 'v2' or 'v3' based on server capabilities
|
|
1711
1657
|
*/
|
|
1712
1658
|
detectServerVersion(options?: ReadRequestOptions): Promise<'v2' | 'v3'>;
|
|
1713
|
-
/**
|
|
1714
|
-
* Whether the seller's capabilities are synthesized from `tools/list`
|
|
1715
|
-
* with no authoritative `get_adcp_capabilities` response — i.e. the
|
|
1716
|
-
* dispatcher routes through the v2 adapter and idempotency-TTL is
|
|
1717
|
-
* unknown. Use this to gate retry behavior for sellers whose retry
|
|
1718
|
-
* safety can't be derived from declared capabilities (lower attempt
|
|
1719
|
-
* caps, longer backoff, or fall back to natural-key recovery).
|
|
1720
|
-
*
|
|
1721
|
-
* Returns `false` for declared v2 sellers, declared v3 sellers, and
|
|
1722
|
-
* synthetic v3 sellers (which advertise the v3 discovery tool even
|
|
1723
|
-
* when the call itself failed).
|
|
1724
|
-
*
|
|
1725
|
-
* Caveat for synthetic v3: the predicate returns `false`, but TTL is
|
|
1726
|
-
* still unknown for those sellers — `getIdempotencyReplayTtlSeconds()`
|
|
1727
|
-
* throws until the agent's capabilities endpoint is fixed (issue
|
|
1728
|
-
* #1217). Retry-policy consumers that need a complete "TTL unknown"
|
|
1729
|
-
* gate should additionally check `getCapabilities()._synthetic`.
|
|
1730
|
-
*/
|
|
1731
|
-
isSyntheticV2(): Promise<boolean>;
|
|
1732
1659
|
/**
|
|
1733
1660
|
* Check if server supports a specific AdCP major version
|
|
1734
1661
|
*/
|
|
1735
|
-
supportsVersion(version:
|
|
1662
|
+
supportsVersion(version: 3): Promise<boolean>;
|
|
1736
1663
|
/**
|
|
1737
1664
|
* Return the seller's declared `adcp.idempotency.replay_ttl_seconds`.
|
|
1738
1665
|
*
|
|
@@ -1742,8 +1669,7 @@ export declare class SingleAgentClient {
|
|
|
1742
1669
|
*
|
|
1743
1670
|
* Fails closed when the seller is v3 but does not declare the field: the
|
|
1744
1671
|
* spec makes the declaration REQUIRED, and silently defaulting to 24h
|
|
1745
|
-
* would mislead buyers about retry safety.
|
|
1746
|
-
* `undefined` instead of a throw — v2 pre-dates the idempotency envelope.
|
|
1672
|
+
* would mislead buyers about retry safety.
|
|
1747
1673
|
*/
|
|
1748
1674
|
getIdempotencyReplayTtlSeconds(): Promise<number | undefined>;
|
|
1749
1675
|
/**
|
|
@@ -1833,16 +1759,8 @@ export declare class SingleAgentClient {
|
|
|
1833
1759
|
* 2. `capabilities.idempotency.replayTtlSeconds` present (spec-required
|
|
1834
1760
|
* for real major-3+ sellers)
|
|
1835
1761
|
*
|
|
1836
|
-
*
|
|
1837
|
-
*
|
|
1838
|
-
* compliant v3 seller would declare itself, so absence of a declaration
|
|
1839
|
-
* is taken as evidence of v2. The dispatcher routes the request through
|
|
1840
|
-
* the v2 wire-shape adapter. A one-time warning surfaces the routing
|
|
1841
|
-
* decision so adopters can audit it; retry-safety (idempotency TTL) is
|
|
1842
|
-
* unknown for these sellers and BYOK callers should treat them as such.
|
|
1843
|
-
*
|
|
1844
|
-
* Per-client `allowV2: true` or, when that's undefined,
|
|
1845
|
-
* `ADCP_ALLOW_V2=1` in the environment bypasses the guard entirely.
|
|
1762
|
+
* Synthetic v3 evidence is accepted only when the agent advertises discovery.
|
|
1763
|
+
* Agents without discovery and AdCP 2-only agents are rejected.
|
|
1846
1764
|
*
|
|
1847
1765
|
* Throws `VersionUnsupportedError` with the specific reason on failure.
|
|
1848
1766
|
*/
|
|
@@ -1856,7 +1774,6 @@ export declare class SingleAgentClient {
|
|
|
1856
1774
|
* @deprecated Use `requireSupportedMajor()` instead.
|
|
1857
1775
|
*/
|
|
1858
1776
|
requireV3(taskType?: string): Promise<void>;
|
|
1859
|
-
private isV2Allowed;
|
|
1860
1777
|
/**
|
|
1861
1778
|
* Query a legacy creative-agent named-format catalog.
|
|
1862
1779
|
*
|
|
@@ -18,7 +18,7 @@ import { type AgentDiscoveryCacheConfig } from './agent-discovery-cache';
|
|
|
18
18
|
import { BuyerAccountRegistry, type AccountPolicy, type BuyerAccountStorage } from './buyer-account-registry';
|
|
19
19
|
import type { ProductCache } from './product-cache';
|
|
20
20
|
import { type ResolveAccountOptions, type ResolveAccountResult } from './account-resolution';
|
|
21
|
-
import { type BuyerPropertyPolicy, type ProductPropertyPolicyMode } from '../media-buy/property-policy';
|
|
21
|
+
import { type BuyerPropertyPolicy, type ProductPolicyResolvedProperty, type ProductPropertyPolicyMode } from '../media-buy/property-policy';
|
|
22
22
|
import { type ResolveListOptions } from '../server/targeting-helpers';
|
|
23
23
|
import { type CanonicalCreateMediaBuyInput, type CanonicalCreativeResponse, type CanonicalGetProductsRequest, type CanonicalGetProductsResponse, type CanonicalListCreativesRequest, type CanonicalListCreativesResponse, type CanonicalPreviewCreativeRequest, type CanonicalPreviewCreativeResponse, type CanonicalSyncCreativesRequest, type CanonicalUpdateMediaBuyRequest, type CreativeFormatWireMode, type SyncCreativeFormatProjection } from '../v2/projection/creative-delivery';
|
|
24
24
|
import type { LegacyFormatConverter } from '../v2/projection/v1-to-v2';
|
|
@@ -63,6 +63,16 @@ export declare class UnsupportedFeatureError extends Error {
|
|
|
63
63
|
constructor(feature: string, serverVersion: 'v2' | 'v3', message?: string);
|
|
64
64
|
}
|
|
65
65
|
export interface ClientProductPropertyPolicy extends BuyerPropertyPolicy {
|
|
66
|
+
/** Resolve a complete publisher catalog for app/CTV selector matching. Failures follow unknownSelectorBehavior. */
|
|
67
|
+
resolvePublisherProperties?: (publisherDomain: string, options?: {
|
|
68
|
+
signal?: AbortSignal;
|
|
69
|
+
}) => Promise<readonly ProductPolicyResolvedProperty[] | undefined>;
|
|
70
|
+
/** Maximum distinct catalog lookups per response. Overflow follows unknownSelectorBehavior. Default: 100. */
|
|
71
|
+
maxPublisherLookups?: number;
|
|
72
|
+
/** Per-catalog timeout. The hook receives an abort signal. Default: 10 seconds. */
|
|
73
|
+
publisherLookupTimeoutMs?: number;
|
|
74
|
+
/** Total catalog-lookup budget per response. Unfinished lookups stay unknown. Default: 10 seconds. */
|
|
75
|
+
publisherLookupBudgetMs?: number;
|
|
66
76
|
/**
|
|
67
77
|
* Enforcement mode for completed `get_products` responses.
|
|
68
78
|
*
|
|
@@ -72,8 +82,8 @@ export interface ClientProductPropertyPolicy extends BuyerPropertyPolicy {
|
|
|
72
82
|
*/
|
|
73
83
|
mode?: ProductPropertyPolicyMode;
|
|
74
84
|
/**
|
|
75
|
-
*
|
|
76
|
-
*
|
|
85
|
+
* Resolve `filters.property_list` (AdCP 3.2) or deprecated `property_list`
|
|
86
|
+
* as an allow-list. Conflicting references fail closed. Defaults to true.
|
|
77
87
|
*/
|
|
78
88
|
enforceRequestPropertyList?: boolean;
|
|
79
89
|
/**
|
|
@@ -370,35 +380,8 @@ export interface SingleAgentClientConfig extends ConversationConfig {
|
|
|
370
380
|
* @default true
|
|
371
381
|
*/
|
|
372
382
|
validateFeatures?: boolean;
|
|
373
|
-
/**
|
|
374
|
-
* Gate mutating-task dispatch on the seller's declared major version.
|
|
375
|
-
* When the seller returns an authoritative `get_adcp_capabilities`
|
|
376
|
-
* response, the guard requires:
|
|
377
|
-
* 1. `major_versions` includes 3
|
|
378
|
-
* 2. `adcp.idempotency.replay_ttl_seconds` is declared (spec-required)
|
|
379
|
-
*
|
|
380
|
-
* Sellers whose capabilities are synthesized from `tools/list` (no
|
|
381
|
-
* authoritative `get_adcp_capabilities` response) route through the
|
|
382
|
-
* v2 adapter with a one-time warning — a compliant v3 seller would
|
|
383
|
-
* declare itself, so absence of a declaration is read as v2. Adopters
|
|
384
|
-
* who need a hard "definitely-v3" gate should validate
|
|
385
|
-
* `(await client.getCapabilities())._synthetic === false` directly.
|
|
386
|
-
*
|
|
387
|
-
* Throws `VersionUnsupportedError` before the request is sent when
|
|
388
|
-
* the guard rejects. Bypass with `allowV2` or — process-wide as a
|
|
389
|
-
* fallback — `ADCP_ALLOW_V2=1`.
|
|
390
|
-
*
|
|
391
|
-
* @default false
|
|
392
|
-
*/
|
|
383
|
+
/** Require release compatibility and the declared idempotency replay TTL before mutations. */
|
|
393
384
|
requireV3ForMutations?: boolean;
|
|
394
|
-
/**
|
|
395
|
-
* Per-client bypass for the v3 guard. When `true`, the guard is off
|
|
396
|
-
* regardless of the `ADCP_ALLOW_V2` env var. When `undefined`, the env
|
|
397
|
-
* var is consulted as a fallback. Set explicitly in multi-tenant
|
|
398
|
-
* deployments so one tenant's override can't silently disable safety
|
|
399
|
-
* for another.
|
|
400
|
-
*/
|
|
401
|
-
allowV2?: boolean;
|
|
402
385
|
/**
|
|
403
386
|
* Runtime schema validation options
|
|
404
387
|
*/
|
|
@@ -583,9 +566,7 @@ export declare class SingleAgentClient {
|
|
|
583
566
|
private discoveredEndpointExpiresAt?;
|
|
584
567
|
private sharedEvidenceEpoch?;
|
|
585
568
|
private sharedEvidenceKey?;
|
|
586
|
-
private _v2WarningFired;
|
|
587
569
|
private _syntheticV3WarningFired;
|
|
588
|
-
private _syntheticV2WarningFired;
|
|
589
570
|
private readonly productPolicyRequestParamsByTask;
|
|
590
571
|
private readonly canonicalCreativeTaskAssociations;
|
|
591
572
|
private readonly previewCreativeHandlersByTask;
|
|
@@ -872,7 +853,7 @@ export declare class SingleAgentClient {
|
|
|
872
853
|
/**
|
|
873
854
|
* Execute task and call appropriate handler on completion
|
|
874
855
|
*
|
|
875
|
-
*
|
|
856
|
+
* Adapts requests for maintained AdCP 3 releases and normalizes product responses.
|
|
876
857
|
*/
|
|
877
858
|
private executeAndHandle;
|
|
878
859
|
private executeAndHandleWithinDeadline;
|
|
@@ -918,8 +899,7 @@ export declare class SingleAgentClient {
|
|
|
918
899
|
private applyProductPropertyPolicyToWebhookResult;
|
|
919
900
|
/**
|
|
920
901
|
* Adapt a request for the detected server wire version and the seller's
|
|
921
|
-
* AdCP protocol version. Applies
|
|
922
|
-
* to a v2 server, then applies protocol-version adapters (e.g. stripping
|
|
902
|
+
* AdCP protocol version. Applies protocol-version adapters (e.g. stripping
|
|
923
903
|
* 3.1-only fields for a 3.0 seller). Returns the adapted params and any
|
|
924
904
|
* drift log entries describing what was changed.
|
|
925
905
|
*
|
|
@@ -927,22 +907,7 @@ export declare class SingleAgentClient {
|
|
|
927
907
|
* current call's tool schemas can be supplied without cross-tenant caching.
|
|
928
908
|
*/
|
|
929
909
|
private adaptRequest;
|
|
930
|
-
|
|
931
|
-
* Normalize response to v3 format
|
|
932
|
-
*
|
|
933
|
-
* Converts v2 responses to v3 structure for consistent API surface.
|
|
934
|
-
*/
|
|
935
|
-
private normalizeResponseToV3;
|
|
936
|
-
/**
|
|
937
|
-
* Check if request uses v3 features that the server doesn't support
|
|
938
|
-
*
|
|
939
|
-
* Returns an early empty result if the request requires v3 features
|
|
940
|
-
* that the server doesn't support. This treats "products matching unsupported
|
|
941
|
-
* capability" as an empty result set rather than an error.
|
|
942
|
-
*
|
|
943
|
-
* @returns TaskResult with empty data if v3 features are unsupported, null to proceed normally
|
|
944
|
-
*/
|
|
945
|
-
private getEarlyResultForUnsupportedFeatures;
|
|
910
|
+
private normalizeEstablishedResponse;
|
|
946
911
|
/**
|
|
947
912
|
* Discover available advertising products
|
|
948
913
|
*
|
|
@@ -1031,14 +996,17 @@ export declare class SingleAgentClient {
|
|
|
1031
996
|
* sending a mutation. Discovers capabilities and the current tool's input
|
|
1032
997
|
* schema, or reuses fresh cached/primed evidence, with this client's wire pin.
|
|
1033
998
|
*
|
|
1034
|
-
* `unknown`
|
|
1035
|
-
*
|
|
1036
|
-
*
|
|
999
|
+
* This context-free check returns `unknown` when capabilities and schema do
|
|
1000
|
+
* not establish support. A write to a proven 3.1 seller can still select
|
|
1001
|
+
* canonical delivery from matching seller-advertised product options;
|
|
1002
|
+
* otherwise projection requires an unambiguous legacy reference.
|
|
1037
1003
|
* Conflicting evidence and unproven support with a 3.2+ buyer pin throw
|
|
1038
1004
|
* `CreativeFormatCapabilityError`, just as they do during a write.
|
|
1039
1005
|
*/
|
|
1040
1006
|
resolveCreativeFormatWireMode(taskType: 'sync_creatives' | 'create_media_buy' | 'update_media_buy', options?: ReadRequestOptions): Promise<CreativeFormatWireMode>;
|
|
1041
1007
|
private resolveCreativeWireMode;
|
|
1008
|
+
/** Product evidence applies to this request only; it must never prime a tool-wide capability. */
|
|
1009
|
+
private productOptionsSupportCanonicalWire;
|
|
1042
1010
|
/** Validate malformed creative payloads before capability discovery can perform I/O. */
|
|
1043
1011
|
private validateBeforeCreativeCapabilityProbe;
|
|
1044
1012
|
/**
|
|
@@ -1348,6 +1316,8 @@ export declare class SingleAgentClient {
|
|
|
1348
1316
|
* Get the agent protocol (may be normalized from original config)
|
|
1349
1317
|
*/
|
|
1350
1318
|
getProtocol(): 'mcp' | 'a2a';
|
|
1319
|
+
/** Resolved MCP endpoint already used by this client; never performs discovery. */
|
|
1320
|
+
getDiscoveredMcpEndpoint(): string | undefined;
|
|
1351
1321
|
/**
|
|
1352
1322
|
* Get the canonical base URL for this agent
|
|
1353
1323
|
*
|
|
@@ -1516,7 +1486,7 @@ export declare class SingleAgentClient {
|
|
|
1516
1486
|
* Get agent capabilities, including AdCP version support
|
|
1517
1487
|
*
|
|
1518
1488
|
* For v3 servers, calls get_adcp_capabilities tool.
|
|
1519
|
-
*
|
|
1489
|
+
* Requires AdCP 3 capability discovery; retired AdCP 2 agents are rejected.
|
|
1520
1490
|
*
|
|
1521
1491
|
* @returns Promise resolving to normalized capabilities object
|
|
1522
1492
|
*
|
|
@@ -1665,20 +1635,8 @@ export declare class SingleAgentClient {
|
|
|
1665
1635
|
primeDiscoveryCache(seed: AgentDiscoverySeed): Promise<boolean>;
|
|
1666
1636
|
/** Drop shared evidence when a seller answers with an error that says our cached view of it is stale. */
|
|
1667
1637
|
private invalidateDiscoveryOnCapabilityError;
|
|
1668
|
-
/**
|
|
1669
|
-
|
|
1670
|
-
*
|
|
1671
|
-
* v2 went unsupported on 2026-04-20 (AdCP 3.0 GA — adcp#2220). We still
|
|
1672
|
-
* execute v2 code paths (no behaviour change), but clients integrating
|
|
1673
|
-
* against an unsupported agent should hear about it loudly.
|
|
1674
|
-
*
|
|
1675
|
-
* Synthetic capabilities (no `get_adcp_capabilities` tool available) don't
|
|
1676
|
-
* trigger the warning — we don't actually know the agent's version, and
|
|
1677
|
-
* shouting at legitimately-unversioned agents would be noise.
|
|
1678
|
-
*
|
|
1679
|
-
* Suppression: `process.env.ADCP_ALLOW_V2 === '1'`.
|
|
1680
|
-
*/
|
|
1681
|
-
private maybeWarnV2Sunset;
|
|
1638
|
+
/** Reject retired protocol generations before caching or dispatching. */
|
|
1639
|
+
private assertSupportedServer;
|
|
1682
1640
|
/**
|
|
1683
1641
|
* Warn once per client when `requireSupportedMajor` accepts synthetic v3
|
|
1684
1642
|
* capabilities — the agent advertised the v3-only `get_adcp_capabilities`
|
|
@@ -1692,47 +1650,16 @@ export declare class SingleAgentClient {
|
|
|
1692
1650
|
* cadence). Issue #1217.
|
|
1693
1651
|
*/
|
|
1694
1652
|
private maybeWarnSyntheticV3;
|
|
1695
|
-
/**
|
|
1696
|
-
* Warn once per client when `requireSupportedMajor` routes a synthetic-v2
|
|
1697
|
-
* seller through the v2 adapter — the agent did not expose
|
|
1698
|
-
* `get_adcp_capabilities`, so the version was inferred from `tools/list`.
|
|
1699
|
-
* A compliant v3 seller would declare itself; absence of a declaration is
|
|
1700
|
-
* read as v2. Idempotency-TTL guarantees are unknown for these sellers,
|
|
1701
|
-
* so BYOK retry callers should treat them as such.
|
|
1702
|
-
*
|
|
1703
|
-
* One-shot via `_syntheticV2WarningFired` (matches `maybeWarnV2Sunset`
|
|
1704
|
-
* cadence).
|
|
1705
|
-
*/
|
|
1706
|
-
private maybeWarnSyntheticV2;
|
|
1707
1653
|
/**
|
|
1708
1654
|
* Detect server AdCP version
|
|
1709
1655
|
*
|
|
1710
1656
|
* @returns 'v2' or 'v3' based on server capabilities
|
|
1711
1657
|
*/
|
|
1712
1658
|
detectServerVersion(options?: ReadRequestOptions): Promise<'v2' | 'v3'>;
|
|
1713
|
-
/**
|
|
1714
|
-
* Whether the seller's capabilities are synthesized from `tools/list`
|
|
1715
|
-
* with no authoritative `get_adcp_capabilities` response — i.e. the
|
|
1716
|
-
* dispatcher routes through the v2 adapter and idempotency-TTL is
|
|
1717
|
-
* unknown. Use this to gate retry behavior for sellers whose retry
|
|
1718
|
-
* safety can't be derived from declared capabilities (lower attempt
|
|
1719
|
-
* caps, longer backoff, or fall back to natural-key recovery).
|
|
1720
|
-
*
|
|
1721
|
-
* Returns `false` for declared v2 sellers, declared v3 sellers, and
|
|
1722
|
-
* synthetic v3 sellers (which advertise the v3 discovery tool even
|
|
1723
|
-
* when the call itself failed).
|
|
1724
|
-
*
|
|
1725
|
-
* Caveat for synthetic v3: the predicate returns `false`, but TTL is
|
|
1726
|
-
* still unknown for those sellers — `getIdempotencyReplayTtlSeconds()`
|
|
1727
|
-
* throws until the agent's capabilities endpoint is fixed (issue
|
|
1728
|
-
* #1217). Retry-policy consumers that need a complete "TTL unknown"
|
|
1729
|
-
* gate should additionally check `getCapabilities()._synthetic`.
|
|
1730
|
-
*/
|
|
1731
|
-
isSyntheticV2(): Promise<boolean>;
|
|
1732
1659
|
/**
|
|
1733
1660
|
* Check if server supports a specific AdCP major version
|
|
1734
1661
|
*/
|
|
1735
|
-
supportsVersion(version:
|
|
1662
|
+
supportsVersion(version: 3): Promise<boolean>;
|
|
1736
1663
|
/**
|
|
1737
1664
|
* Return the seller's declared `adcp.idempotency.replay_ttl_seconds`.
|
|
1738
1665
|
*
|
|
@@ -1742,8 +1669,7 @@ export declare class SingleAgentClient {
|
|
|
1742
1669
|
*
|
|
1743
1670
|
* Fails closed when the seller is v3 but does not declare the field: the
|
|
1744
1671
|
* spec makes the declaration REQUIRED, and silently defaulting to 24h
|
|
1745
|
-
* would mislead buyers about retry safety.
|
|
1746
|
-
* `undefined` instead of a throw — v2 pre-dates the idempotency envelope.
|
|
1672
|
+
* would mislead buyers about retry safety.
|
|
1747
1673
|
*/
|
|
1748
1674
|
getIdempotencyReplayTtlSeconds(): Promise<number | undefined>;
|
|
1749
1675
|
/**
|
|
@@ -1833,16 +1759,8 @@ export declare class SingleAgentClient {
|
|
|
1833
1759
|
* 2. `capabilities.idempotency.replayTtlSeconds` present (spec-required
|
|
1834
1760
|
* for real major-3+ sellers)
|
|
1835
1761
|
*
|
|
1836
|
-
*
|
|
1837
|
-
*
|
|
1838
|
-
* compliant v3 seller would declare itself, so absence of a declaration
|
|
1839
|
-
* is taken as evidence of v2. The dispatcher routes the request through
|
|
1840
|
-
* the v2 wire-shape adapter. A one-time warning surfaces the routing
|
|
1841
|
-
* decision so adopters can audit it; retry-safety (idempotency TTL) is
|
|
1842
|
-
* unknown for these sellers and BYOK callers should treat them as such.
|
|
1843
|
-
*
|
|
1844
|
-
* Per-client `allowV2: true` or, when that's undefined,
|
|
1845
|
-
* `ADCP_ALLOW_V2=1` in the environment bypasses the guard entirely.
|
|
1762
|
+
* Synthetic v3 evidence is accepted only when the agent advertises discovery.
|
|
1763
|
+
* Agents without discovery and AdCP 2-only agents are rejected.
|
|
1846
1764
|
*
|
|
1847
1765
|
* Throws `VersionUnsupportedError` with the specific reason on failure.
|
|
1848
1766
|
*/
|
|
@@ -1856,7 +1774,6 @@ export declare class SingleAgentClient {
|
|
|
1856
1774
|
* @deprecated Use `requireSupportedMajor()` instead.
|
|
1857
1775
|
*/
|
|
1858
1776
|
requireV3(taskType?: string): Promise<void>;
|
|
1859
|
-
private isV2Allowed;
|
|
1860
1777
|
/**
|
|
1861
1778
|
* Query a legacy creative-agent named-format catalog.
|
|
1862
1779
|
*
|