@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
package/dist/lib/index.js
CHANGED
|
@@ -221,9 +221,6 @@ __export(index_exports, {
|
|
|
221
221
|
WebhookDispatchError: () => import_SingleAgentClient.WebhookDispatchError,
|
|
222
222
|
WholesaleFeedWebhookNotificationError: () => import_webhook_notification.WholesaleFeedWebhookNotificationError,
|
|
223
223
|
activationKey: () => import_activation_key_builders.activationKey,
|
|
224
|
-
adaptCreateMediaBuyRequestForV2: () => import_creative_adapter.adaptCreateMediaBuyRequestForV2,
|
|
225
|
-
adaptPackageRequestForV2: () => import_creative_adapter.adaptPackageRequestForV2,
|
|
226
|
-
adaptUpdateMediaBuyRequestForV2: () => import_creative_adapter.adaptUpdateMediaBuyRequestForV2,
|
|
227
224
|
adcpError: () => import_server.adcpError,
|
|
228
225
|
adcpErrorToTypedError: () => import_errors.adcpErrorToTypedError,
|
|
229
226
|
addSpanAttributes: () => import_observability.addSpanAttributes,
|
|
@@ -261,7 +258,6 @@ __export(index_exports, {
|
|
|
261
258
|
buildGovernanceProposedCommitment: () => import_governance.buildGovernanceProposedCommitment,
|
|
262
259
|
buildHumanOverride: () => import_governance.buildHumanOverride,
|
|
263
260
|
buildHumanReviewPlan: () => import_governance.buildHumanReviewPlan,
|
|
264
|
-
buildSyntheticCapabilities: () => import_capabilities.buildSyntheticCapabilities,
|
|
265
261
|
buildSyntheticV3Capabilities: () => import_capabilities.buildSyntheticV3Capabilities,
|
|
266
262
|
bundleSupportsAdcpVersionField: () => import_protocols.bundleSupportsAdcpVersionField,
|
|
267
263
|
callA2ATool: () => import_protocols.callA2ATool,
|
|
@@ -698,9 +694,6 @@ __export(index_exports, {
|
|
|
698
694
|
urlRender: () => import_render_builders.urlRender,
|
|
699
695
|
useIdempotencyKey: () => import_idempotency.useIdempotencyKey,
|
|
700
696
|
usesDeprecatedAssetsField: () => import_format_assets.usesDeprecatedAssetsField,
|
|
701
|
-
usesV2CreativeIds: () => import_creative_adapter.usesV2CreativeIds,
|
|
702
|
-
usesV2Dimensions: () => import_format_renders.usesV2Dimensions,
|
|
703
|
-
usesV2RenderFields: () => import_preview_normalizer.usesV2RenderFields,
|
|
704
697
|
usesV3CreativeAssignments: () => import_creative_adapter.usesV3CreativeAssignments,
|
|
705
698
|
usesV3RenderFields: () => import_preview_normalizer.usesV3RenderFields,
|
|
706
699
|
usesV3Renders: () => import_format_renders.usesV3Renders,
|
|
@@ -735,6 +728,7 @@ __export(index_exports, {
|
|
|
735
728
|
withSpan: () => import_observability.withSpan
|
|
736
729
|
});
|
|
737
730
|
module.exports = __toCommonJS(index_exports);
|
|
731
|
+
__reExport(index_exports, require('./identifiers.js'), module.exports);
|
|
738
732
|
var import_registry = require('./registry/index.js');
|
|
739
733
|
var import_registry2 = require('./registry/index.js');
|
|
740
734
|
var import_brand = require('./brand/index.js');
|
|
@@ -1071,9 +1065,6 @@ function createAdCPClientFromEnv() {
|
|
|
1071
1065
|
WebhookDispatchError,
|
|
1072
1066
|
WholesaleFeedWebhookNotificationError,
|
|
1073
1067
|
activationKey,
|
|
1074
|
-
adaptCreateMediaBuyRequestForV2,
|
|
1075
|
-
adaptPackageRequestForV2,
|
|
1076
|
-
adaptUpdateMediaBuyRequestForV2,
|
|
1077
1068
|
adcpError,
|
|
1078
1069
|
adcpErrorToTypedError,
|
|
1079
1070
|
addSpanAttributes,
|
|
@@ -1111,7 +1102,6 @@ function createAdCPClientFromEnv() {
|
|
|
1111
1102
|
buildGovernanceProposedCommitment,
|
|
1112
1103
|
buildHumanOverride,
|
|
1113
1104
|
buildHumanReviewPlan,
|
|
1114
|
-
buildSyntheticCapabilities,
|
|
1115
1105
|
buildSyntheticV3Capabilities,
|
|
1116
1106
|
bundleSupportsAdcpVersionField,
|
|
1117
1107
|
callA2ATool,
|
|
@@ -1548,9 +1538,6 @@ function createAdCPClientFromEnv() {
|
|
|
1548
1538
|
urlRender,
|
|
1549
1539
|
useIdempotencyKey,
|
|
1550
1540
|
usesDeprecatedAssetsField,
|
|
1551
|
-
usesV2CreativeIds,
|
|
1552
|
-
usesV2Dimensions,
|
|
1553
|
-
usesV2RenderFields,
|
|
1554
1541
|
usesV3CreativeAssignments,
|
|
1555
1542
|
usesV3RenderFields,
|
|
1556
1543
|
usesV3Renders,
|
|
@@ -1583,6 +1570,7 @@ function createAdCPClientFromEnv() {
|
|
|
1583
1570
|
withAdditiveCanonicalFormatOptions,
|
|
1584
1571
|
withMCPConnectionScope,
|
|
1585
1572
|
withSpan,
|
|
1573
|
+
...require('./identifiers.js'),
|
|
1586
1574
|
...require('./principal/index.js'),
|
|
1587
1575
|
...require('./handlers/types.js'),
|
|
1588
1576
|
...require('./negotiation/index.js'),
|
package/dist/lib/index.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from "./identifiers.mjs";
|
|
1
2
|
import {
|
|
2
3
|
RegistryClient,
|
|
3
4
|
RegistryRequestError,
|
|
@@ -617,7 +618,6 @@ import {
|
|
|
617
618
|
windowUpdateMediaBuyDeliveryNotification
|
|
618
619
|
} from "./utils/media-buy-delivery-notification-builders.mjs";
|
|
619
620
|
import {
|
|
620
|
-
buildSyntheticCapabilities,
|
|
621
621
|
buildSyntheticV3Capabilities,
|
|
622
622
|
parseCapabilitiesResponse,
|
|
623
623
|
supportsV3,
|
|
@@ -644,12 +644,8 @@ import {
|
|
|
644
644
|
} from "./utils/capabilities.mjs";
|
|
645
645
|
import { inlineCreativesForPackages, inlineCreativesForPackagesLegacy } from "./utils/creative-delivery.mjs";
|
|
646
646
|
import {
|
|
647
|
-
adaptPackageRequestForV2,
|
|
648
|
-
adaptCreateMediaBuyRequestForV2,
|
|
649
|
-
adaptUpdateMediaBuyRequestForV2,
|
|
650
647
|
normalizePackageResponse,
|
|
651
648
|
normalizeMediaBuyResponse,
|
|
652
|
-
usesV2CreativeIds,
|
|
653
649
|
usesV3CreativeAssignments,
|
|
654
650
|
getCreativeIds,
|
|
655
651
|
getCreativeAssignments
|
|
@@ -661,7 +657,6 @@ import {
|
|
|
661
657
|
getPrimaryRender,
|
|
662
658
|
getCompanionRenders,
|
|
663
659
|
isMultiRenderFormat,
|
|
664
|
-
usesV2Dimensions,
|
|
665
660
|
usesV3Renders,
|
|
666
661
|
getFormatDimensions
|
|
667
662
|
} from "./utils/format-renders.mjs";
|
|
@@ -669,7 +664,6 @@ import {
|
|
|
669
664
|
normalizePreviewRender,
|
|
670
665
|
normalizePreview,
|
|
671
666
|
normalizePreviewCreativeResponse,
|
|
672
|
-
usesV2RenderFields,
|
|
673
667
|
usesV3RenderFields,
|
|
674
668
|
getRenderId,
|
|
675
669
|
getRenderRole,
|
|
@@ -1033,9 +1027,6 @@ export {
|
|
|
1033
1027
|
WebhookDispatchError,
|
|
1034
1028
|
WholesaleFeedWebhookNotificationError,
|
|
1035
1029
|
activationKey,
|
|
1036
|
-
adaptCreateMediaBuyRequestForV2,
|
|
1037
|
-
adaptPackageRequestForV2,
|
|
1038
|
-
adaptUpdateMediaBuyRequestForV2,
|
|
1039
1030
|
adcpError,
|
|
1040
1031
|
adcpErrorToTypedError,
|
|
1041
1032
|
addSpanAttributes,
|
|
@@ -1073,7 +1064,6 @@ export {
|
|
|
1073
1064
|
buildGovernanceProposedCommitment,
|
|
1074
1065
|
buildHumanOverride,
|
|
1075
1066
|
buildHumanReviewPlan,
|
|
1076
|
-
buildSyntheticCapabilities,
|
|
1077
1067
|
buildSyntheticV3Capabilities,
|
|
1078
1068
|
bundleSupportsAdcpVersionField,
|
|
1079
1069
|
callA2ATool,
|
|
@@ -1510,9 +1500,6 @@ export {
|
|
|
1510
1500
|
urlRender,
|
|
1511
1501
|
useIdempotencyKey,
|
|
1512
1502
|
usesDeprecatedAssetsField,
|
|
1513
|
-
usesV2CreativeIds,
|
|
1514
|
-
usesV2Dimensions,
|
|
1515
|
-
usesV2RenderFields,
|
|
1516
1503
|
usesV3CreativeAssignments,
|
|
1517
1504
|
usesV3RenderFields,
|
|
1518
1505
|
usesV3Renders,
|
|
@@ -209,7 +209,7 @@ export interface MediaBuyLifecycleCoordinatorOptions {
|
|
|
209
209
|
* Stable, non-secret identity for the authenticated seller/account session.
|
|
210
210
|
* Persist and reuse it when a coordinator is rehydrated. It is required
|
|
211
211
|
* whenever `establishedProposalStore` is configured, and for established
|
|
212
|
-
*
|
|
212
|
+
* 3.0 or 3.1 sellers that provide no server context ID.
|
|
213
213
|
*/
|
|
214
214
|
legacyPurchaseSellerSessionScope?: string;
|
|
215
215
|
/** Durable storage for tokenless-catalog and products-only legacy purchase continuations. */
|
|
@@ -209,7 +209,7 @@ export interface MediaBuyLifecycleCoordinatorOptions {
|
|
|
209
209
|
* Stable, non-secret identity for the authenticated seller/account session.
|
|
210
210
|
* Persist and reuse it when a coordinator is rehydrated. It is required
|
|
211
211
|
* whenever `establishedProposalStore` is configured, and for established
|
|
212
|
-
*
|
|
212
|
+
* 3.0 or 3.1 sellers that provide no server context ID.
|
|
213
213
|
*/
|
|
214
214
|
legacyPurchaseSellerSessionScope?: string;
|
|
215
215
|
/** Durable storage for tokenless-catalog and products-only legacy purchase continuations. */
|
|
@@ -167,7 +167,7 @@ const CONTROL_MEDIA_BUY_FIELDS = /* @__PURE__ */ new Set([
|
|
|
167
167
|
"revision",
|
|
168
168
|
"total_budget"
|
|
169
169
|
]);
|
|
170
|
-
const
|
|
170
|
+
const V30_OFFER_FILTER_FIELDS = /* @__PURE__ */ new Set([
|
|
171
171
|
"budget_range",
|
|
172
172
|
"channels",
|
|
173
173
|
"countries",
|
|
@@ -176,10 +176,7 @@ const V25_OFFER_FILTER_FIELDS = /* @__PURE__ */ new Set([
|
|
|
176
176
|
"is_fixed_price",
|
|
177
177
|
"min_exposures",
|
|
178
178
|
"standard_formats_only",
|
|
179
|
-
"start_date"
|
|
180
|
-
]);
|
|
181
|
-
const V30_OFFER_FILTER_FIELDS = /* @__PURE__ */ new Set([
|
|
182
|
-
...V25_OFFER_FILTER_FIELDS,
|
|
179
|
+
"start_date",
|
|
183
180
|
"exclusivity",
|
|
184
181
|
"required_performance_standards",
|
|
185
182
|
"trusted_match"
|
|
@@ -207,15 +204,6 @@ const V30_PURCHASE_FIELDS = /* @__PURE__ */ new Set([
|
|
|
207
204
|
"start_time",
|
|
208
205
|
"targeting_overlay"
|
|
209
206
|
]);
|
|
210
|
-
const V25_PURCHASE_FIELDS = /* @__PURE__ */ new Set([
|
|
211
|
-
"budget",
|
|
212
|
-
"ext",
|
|
213
|
-
"impressions",
|
|
214
|
-
"pacing",
|
|
215
|
-
"pricing_option_id",
|
|
216
|
-
"product_id",
|
|
217
|
-
"targeting_overlay"
|
|
218
|
-
]);
|
|
219
207
|
const V31_PURCHASE_FIELDS = /* @__PURE__ */ new Set([...V30_PURCHASE_FIELDS, "format_option_refs"]);
|
|
220
208
|
const V32_PURCHASE_FIELDS = /* @__PURE__ */ new Set([
|
|
221
209
|
...V31_PURCHASE_FIELDS,
|
|
@@ -293,17 +281,6 @@ const V30_AVAILABLE_METRICS = /* @__PURE__ */ new Set([
|
|
|
293
281
|
"dooh_metrics",
|
|
294
282
|
"cost_per_click"
|
|
295
283
|
]);
|
|
296
|
-
const V25_AVAILABLE_METRICS = /* @__PURE__ */ new Set([
|
|
297
|
-
"impressions",
|
|
298
|
-
"spend",
|
|
299
|
-
"clicks",
|
|
300
|
-
"ctr",
|
|
301
|
-
"video_completions",
|
|
302
|
-
"completion_rate",
|
|
303
|
-
"conversions",
|
|
304
|
-
"viewability",
|
|
305
|
-
"engagement_rate"
|
|
306
|
-
]);
|
|
307
284
|
const V31_AVAILABLE_METRICS = /* @__PURE__ */ new Set([
|
|
308
285
|
"impressions",
|
|
309
286
|
"spend",
|
|
@@ -576,8 +553,17 @@ function isCompactRelease(value) {
|
|
|
576
553
|
return release !== void 0 && (release.major > 3 || release.major === 3 && release.minor >= 2);
|
|
577
554
|
}
|
|
578
555
|
function negotiatedVersion(capabilities, clientVersion) {
|
|
579
|
-
if (capabilities.version === "v2"
|
|
556
|
+
if (capabilities.version === "v2" || !capabilities.majorVersions.includes(3)) {
|
|
557
|
+
throw new import_errors.ConfigurationError(
|
|
558
|
+
"AdCP 2 reached end of life on 2026-08-01. Media-buy lifecycle negotiation requires AdCP 3."
|
|
559
|
+
);
|
|
560
|
+
}
|
|
580
561
|
if (capabilities.servedVersion && parseRelease(capabilities.servedVersion)) {
|
|
562
|
+
if (parseRelease(capabilities.servedVersion).major < 3) {
|
|
563
|
+
throw new import_errors.ConfigurationError(
|
|
564
|
+
"The seller served an unsupported AdCP version. Media-buy lifecycle negotiation requires AdCP 3."
|
|
565
|
+
);
|
|
566
|
+
}
|
|
581
567
|
if (compareRelease(capabilities.servedVersion, clientVersion) > 0) {
|
|
582
568
|
const displayedServedVersion = capabilities.servedVersion.slice(0, 64);
|
|
583
569
|
throw new import_errors.ConfigurationError(
|
|
@@ -586,7 +572,10 @@ function negotiatedVersion(capabilities, clientVersion) {
|
|
|
586
572
|
}
|
|
587
573
|
return capabilities.servedVersion;
|
|
588
574
|
}
|
|
589
|
-
const advertisedVersions = capabilities.supportedVersions?.filter((version) =>
|
|
575
|
+
const advertisedVersions = capabilities.supportedVersions?.filter((version) => {
|
|
576
|
+
const release = parseRelease(version);
|
|
577
|
+
return release !== void 0 && release.major >= 3;
|
|
578
|
+
});
|
|
590
579
|
const candidates = advertisedVersions?.filter(
|
|
591
580
|
(version) => parseRelease(version) !== void 0 && compareRelease(version, clientVersion) <= 0
|
|
592
581
|
);
|
|
@@ -1863,7 +1852,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
1863
1852
|
}
|
|
1864
1853
|
assertLegacyMetrics(operation, value, path) {
|
|
1865
1854
|
if (value === void 0 || isCompactRelease(this.negotiated_version)) return;
|
|
1866
|
-
const supported = compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_AVAILABLE_METRICS :
|
|
1855
|
+
const supported = compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_AVAILABLE_METRICS : V30_AVAILABLE_METRICS;
|
|
1867
1856
|
const unsupported = array(value).filter((metric) => typeof metric !== "string" || !supported.has(metric));
|
|
1868
1857
|
if (unsupported.length === 0) return;
|
|
1869
1858
|
throw this.unsupported(
|
|
@@ -1876,7 +1865,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
1876
1865
|
const offerFilters = record(value);
|
|
1877
1866
|
this.assertLegacyOfferFilterShapes(operation, offerFilters);
|
|
1878
1867
|
this.assertLegacyMetrics(operation, offerFilters.required_metrics, "criteria.offer_filters.required_metrics");
|
|
1879
|
-
const legacyOfferFilterFields = compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_OFFER_FILTER_FIELDS :
|
|
1868
|
+
const legacyOfferFilterFields = compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_OFFER_FILTER_FIELDS : V30_OFFER_FILTER_FIELDS;
|
|
1880
1869
|
const unsupportedFields = Object.keys(offerFilters).filter((field) => !legacyOfferFilterFields.has(field));
|
|
1881
1870
|
if (unsupportedFields.length > 0) {
|
|
1882
1871
|
const paths = unsupportedFields.map((field) => `criteria.offer_filters.${field}`);
|
|
@@ -1924,13 +1913,13 @@ class MediaBuyLifecycleCoordinator {
|
|
|
1924
1913
|
legacyPurchaseSourceVersion() {
|
|
1925
1914
|
if (compareRelease(this.negotiated_version, "3.1") >= 0) return "3.1";
|
|
1926
1915
|
if (compareRelease(this.negotiated_version, "3.0") >= 0) return "3.0";
|
|
1927
|
-
|
|
1916
|
+
throw new import_errors.ConfigurationError("Legacy purchase continuations require AdCP 3.0 or 3.1.");
|
|
1928
1917
|
}
|
|
1929
1918
|
legacyPurchaseLosses(sourceVersion) {
|
|
1930
1919
|
return [
|
|
1931
1920
|
"feed_version_not_atomic",
|
|
1932
1921
|
"pricing_version_not_atomic",
|
|
1933
|
-
...
|
|
1922
|
+
...this.idempotencyReplayTtlMs === void 0 ? ["mutation_idempotency_not_guaranteed"] : []
|
|
1934
1923
|
];
|
|
1935
1924
|
}
|
|
1936
1925
|
legacyWireTaskOptions(sourceVersion = this.negotiated_version) {
|
|
@@ -4202,17 +4191,13 @@ class MediaBuyLifecycleCoordinator {
|
|
|
4202
4191
|
"Every legacy_create_request package pricing_option_id must match an option observed for its selected product."
|
|
4203
4192
|
);
|
|
4204
4193
|
}
|
|
4205
|
-
if (
|
|
4194
|
+
if (this.accountScope(legacyRequest.account) !== accountScope) {
|
|
4206
4195
|
throw new LegacyPurchaseContinuationError(
|
|
4207
4196
|
"binding_mismatch",
|
|
4208
4197
|
"legacy_create_request.account must match the continuation account."
|
|
4209
4198
|
);
|
|
4210
4199
|
}
|
|
4211
|
-
const validation = (0, import_schema_validator2.validateRequest)(
|
|
4212
|
-
"create_media_buy",
|
|
4213
|
-
legacyRequest,
|
|
4214
|
-
continuation.sourceAdcpVersion === "2.5" ? "v2.5" : continuation.sourceAdcpVersion
|
|
4215
|
-
);
|
|
4200
|
+
const validation = (0, import_schema_validator2.validateRequest)("create_media_buy", legacyRequest, continuation.sourceAdcpVersion);
|
|
4216
4201
|
if (!validation.valid) {
|
|
4217
4202
|
throw new LegacyPurchaseContinuationError(
|
|
4218
4203
|
"request_invalid",
|
|
@@ -4266,7 +4251,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
4266
4251
|
"The final seller payload pricing options must match the observed product snapshot."
|
|
4267
4252
|
);
|
|
4268
4253
|
}
|
|
4269
|
-
if (
|
|
4254
|
+
if (this.accountScope(finalRequest.account) !== accountScope) {
|
|
4270
4255
|
throw new LegacyPurchaseContinuationError(
|
|
4271
4256
|
"binding_mismatch",
|
|
4272
4257
|
"The final seller payload account must match the continuation account."
|
|
@@ -5035,11 +5020,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
5035
5020
|
if (result.data === void 0) {
|
|
5036
5021
|
throw this.legacyPurchaseAmbiguousError("The seller reported completion without a create_media_buy result.");
|
|
5037
5022
|
}
|
|
5038
|
-
const validation = (0, import_schema_validator.validateResponse)(
|
|
5039
|
-
"create_media_buy",
|
|
5040
|
-
result.data,
|
|
5041
|
-
sourceVersion === "2.5" ? "v2.5" : sourceVersion
|
|
5042
|
-
);
|
|
5023
|
+
const validation = (0, import_schema_validator.validateResponse)("create_media_buy", result.data, sourceVersion);
|
|
5043
5024
|
if (!validation.valid) {
|
|
5044
5025
|
throw this.legacyPurchaseAmbiguousError(
|
|
5045
5026
|
`The seller returned an invalid terminal create_media_buy result: ${(0, import_schema_validator.formatIssues)(validation.issues)}`
|
|
@@ -7018,7 +6999,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
7018
6999
|
if (purchases.length === 0) {
|
|
7019
7000
|
throw this.unsupported("buyProducts", "purchases", "Legacy create_media_buy requires at least one purchase.");
|
|
7020
7001
|
}
|
|
7021
|
-
const packageFields = isCompactRelease(this.negotiated_version) ? V32_PURCHASE_FIELDS : compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_PURCHASE_FIELDS :
|
|
7002
|
+
const packageFields = isCompactRelease(this.negotiated_version) ? V32_PURCHASE_FIELDS : compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_PURCHASE_FIELDS : V30_PURCHASE_FIELDS;
|
|
7022
7003
|
const packages = purchases.map((value, index) => {
|
|
7023
7004
|
const purchase = record(value);
|
|
7024
7005
|
const unsupportedFields = Object.keys(purchase).filter((key) => !packageFields.has(key));
|
|
@@ -7865,7 +7846,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
7865
7846
|
lifecycle,
|
|
7866
7847
|
["update_media_buy"],
|
|
7867
7848
|
losses,
|
|
7868
|
-
losses.length ? ["The
|
|
7849
|
+
losses.length ? ["The established update cannot atomically enforce the compact revision token."] : []
|
|
7869
7850
|
),
|
|
7870
7851
|
(data) => data
|
|
7871
7852
|
);
|
|
@@ -160,7 +160,7 @@ const CONTROL_MEDIA_BUY_FIELDS = /* @__PURE__ */ new Set([
|
|
|
160
160
|
"revision",
|
|
161
161
|
"total_budget"
|
|
162
162
|
]);
|
|
163
|
-
const
|
|
163
|
+
const V30_OFFER_FILTER_FIELDS = /* @__PURE__ */ new Set([
|
|
164
164
|
"budget_range",
|
|
165
165
|
"channels",
|
|
166
166
|
"countries",
|
|
@@ -169,10 +169,7 @@ const V25_OFFER_FILTER_FIELDS = /* @__PURE__ */ new Set([
|
|
|
169
169
|
"is_fixed_price",
|
|
170
170
|
"min_exposures",
|
|
171
171
|
"standard_formats_only",
|
|
172
|
-
"start_date"
|
|
173
|
-
]);
|
|
174
|
-
const V30_OFFER_FILTER_FIELDS = /* @__PURE__ */ new Set([
|
|
175
|
-
...V25_OFFER_FILTER_FIELDS,
|
|
172
|
+
"start_date",
|
|
176
173
|
"exclusivity",
|
|
177
174
|
"required_performance_standards",
|
|
178
175
|
"trusted_match"
|
|
@@ -200,15 +197,6 @@ const V30_PURCHASE_FIELDS = /* @__PURE__ */ new Set([
|
|
|
200
197
|
"start_time",
|
|
201
198
|
"targeting_overlay"
|
|
202
199
|
]);
|
|
203
|
-
const V25_PURCHASE_FIELDS = /* @__PURE__ */ new Set([
|
|
204
|
-
"budget",
|
|
205
|
-
"ext",
|
|
206
|
-
"impressions",
|
|
207
|
-
"pacing",
|
|
208
|
-
"pricing_option_id",
|
|
209
|
-
"product_id",
|
|
210
|
-
"targeting_overlay"
|
|
211
|
-
]);
|
|
212
200
|
const V31_PURCHASE_FIELDS = /* @__PURE__ */ new Set([...V30_PURCHASE_FIELDS, "format_option_refs"]);
|
|
213
201
|
const V32_PURCHASE_FIELDS = /* @__PURE__ */ new Set([
|
|
214
202
|
...V31_PURCHASE_FIELDS,
|
|
@@ -286,17 +274,6 @@ const V30_AVAILABLE_METRICS = /* @__PURE__ */ new Set([
|
|
|
286
274
|
"dooh_metrics",
|
|
287
275
|
"cost_per_click"
|
|
288
276
|
]);
|
|
289
|
-
const V25_AVAILABLE_METRICS = /* @__PURE__ */ new Set([
|
|
290
|
-
"impressions",
|
|
291
|
-
"spend",
|
|
292
|
-
"clicks",
|
|
293
|
-
"ctr",
|
|
294
|
-
"video_completions",
|
|
295
|
-
"completion_rate",
|
|
296
|
-
"conversions",
|
|
297
|
-
"viewability",
|
|
298
|
-
"engagement_rate"
|
|
299
|
-
]);
|
|
300
277
|
const V31_AVAILABLE_METRICS = /* @__PURE__ */ new Set([
|
|
301
278
|
"impressions",
|
|
302
279
|
"spend",
|
|
@@ -569,8 +546,17 @@ function isCompactRelease(value) {
|
|
|
569
546
|
return release !== void 0 && (release.major > 3 || release.major === 3 && release.minor >= 2);
|
|
570
547
|
}
|
|
571
548
|
function negotiatedVersion(capabilities, clientVersion) {
|
|
572
|
-
if (capabilities.version === "v2"
|
|
549
|
+
if (capabilities.version === "v2" || !capabilities.majorVersions.includes(3)) {
|
|
550
|
+
throw new ConfigurationError(
|
|
551
|
+
"AdCP 2 reached end of life on 2026-08-01. Media-buy lifecycle negotiation requires AdCP 3."
|
|
552
|
+
);
|
|
553
|
+
}
|
|
573
554
|
if (capabilities.servedVersion && parseRelease(capabilities.servedVersion)) {
|
|
555
|
+
if (parseRelease(capabilities.servedVersion).major < 3) {
|
|
556
|
+
throw new ConfigurationError(
|
|
557
|
+
"The seller served an unsupported AdCP version. Media-buy lifecycle negotiation requires AdCP 3."
|
|
558
|
+
);
|
|
559
|
+
}
|
|
574
560
|
if (compareRelease(capabilities.servedVersion, clientVersion) > 0) {
|
|
575
561
|
const displayedServedVersion = capabilities.servedVersion.slice(0, 64);
|
|
576
562
|
throw new ConfigurationError(
|
|
@@ -579,7 +565,10 @@ function negotiatedVersion(capabilities, clientVersion) {
|
|
|
579
565
|
}
|
|
580
566
|
return capabilities.servedVersion;
|
|
581
567
|
}
|
|
582
|
-
const advertisedVersions = capabilities.supportedVersions?.filter((version) =>
|
|
568
|
+
const advertisedVersions = capabilities.supportedVersions?.filter((version) => {
|
|
569
|
+
const release = parseRelease(version);
|
|
570
|
+
return release !== void 0 && release.major >= 3;
|
|
571
|
+
});
|
|
583
572
|
const candidates = advertisedVersions?.filter(
|
|
584
573
|
(version) => parseRelease(version) !== void 0 && compareRelease(version, clientVersion) <= 0
|
|
585
574
|
);
|
|
@@ -1856,7 +1845,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
1856
1845
|
}
|
|
1857
1846
|
assertLegacyMetrics(operation, value, path) {
|
|
1858
1847
|
if (value === void 0 || isCompactRelease(this.negotiated_version)) return;
|
|
1859
|
-
const supported = compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_AVAILABLE_METRICS :
|
|
1848
|
+
const supported = compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_AVAILABLE_METRICS : V30_AVAILABLE_METRICS;
|
|
1860
1849
|
const unsupported = array(value).filter((metric) => typeof metric !== "string" || !supported.has(metric));
|
|
1861
1850
|
if (unsupported.length === 0) return;
|
|
1862
1851
|
throw this.unsupported(
|
|
@@ -1869,7 +1858,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
1869
1858
|
const offerFilters = record(value);
|
|
1870
1859
|
this.assertLegacyOfferFilterShapes(operation, offerFilters);
|
|
1871
1860
|
this.assertLegacyMetrics(operation, offerFilters.required_metrics, "criteria.offer_filters.required_metrics");
|
|
1872
|
-
const legacyOfferFilterFields = compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_OFFER_FILTER_FIELDS :
|
|
1861
|
+
const legacyOfferFilterFields = compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_OFFER_FILTER_FIELDS : V30_OFFER_FILTER_FIELDS;
|
|
1873
1862
|
const unsupportedFields = Object.keys(offerFilters).filter((field) => !legacyOfferFilterFields.has(field));
|
|
1874
1863
|
if (unsupportedFields.length > 0) {
|
|
1875
1864
|
const paths = unsupportedFields.map((field) => `criteria.offer_filters.${field}`);
|
|
@@ -1917,13 +1906,13 @@ class MediaBuyLifecycleCoordinator {
|
|
|
1917
1906
|
legacyPurchaseSourceVersion() {
|
|
1918
1907
|
if (compareRelease(this.negotiated_version, "3.1") >= 0) return "3.1";
|
|
1919
1908
|
if (compareRelease(this.negotiated_version, "3.0") >= 0) return "3.0";
|
|
1920
|
-
|
|
1909
|
+
throw new ConfigurationError("Legacy purchase continuations require AdCP 3.0 or 3.1.");
|
|
1921
1910
|
}
|
|
1922
1911
|
legacyPurchaseLosses(sourceVersion) {
|
|
1923
1912
|
return [
|
|
1924
1913
|
"feed_version_not_atomic",
|
|
1925
1914
|
"pricing_version_not_atomic",
|
|
1926
|
-
...
|
|
1915
|
+
...this.idempotencyReplayTtlMs === void 0 ? ["mutation_idempotency_not_guaranteed"] : []
|
|
1927
1916
|
];
|
|
1928
1917
|
}
|
|
1929
1918
|
legacyWireTaskOptions(sourceVersion = this.negotiated_version) {
|
|
@@ -4195,17 +4184,13 @@ class MediaBuyLifecycleCoordinator {
|
|
|
4195
4184
|
"Every legacy_create_request package pricing_option_id must match an option observed for its selected product."
|
|
4196
4185
|
);
|
|
4197
4186
|
}
|
|
4198
|
-
if (
|
|
4187
|
+
if (this.accountScope(legacyRequest.account) !== accountScope) {
|
|
4199
4188
|
throw new LegacyPurchaseContinuationError(
|
|
4200
4189
|
"binding_mismatch",
|
|
4201
4190
|
"legacy_create_request.account must match the continuation account."
|
|
4202
4191
|
);
|
|
4203
4192
|
}
|
|
4204
|
-
const validation = validateRequest(
|
|
4205
|
-
"create_media_buy",
|
|
4206
|
-
legacyRequest,
|
|
4207
|
-
continuation.sourceAdcpVersion === "2.5" ? "v2.5" : continuation.sourceAdcpVersion
|
|
4208
|
-
);
|
|
4193
|
+
const validation = validateRequest("create_media_buy", legacyRequest, continuation.sourceAdcpVersion);
|
|
4209
4194
|
if (!validation.valid) {
|
|
4210
4195
|
throw new LegacyPurchaseContinuationError(
|
|
4211
4196
|
"request_invalid",
|
|
@@ -4259,7 +4244,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
4259
4244
|
"The final seller payload pricing options must match the observed product snapshot."
|
|
4260
4245
|
);
|
|
4261
4246
|
}
|
|
4262
|
-
if (
|
|
4247
|
+
if (this.accountScope(finalRequest.account) !== accountScope) {
|
|
4263
4248
|
throw new LegacyPurchaseContinuationError(
|
|
4264
4249
|
"binding_mismatch",
|
|
4265
4250
|
"The final seller payload account must match the continuation account."
|
|
@@ -5028,11 +5013,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
5028
5013
|
if (result.data === void 0) {
|
|
5029
5014
|
throw this.legacyPurchaseAmbiguousError("The seller reported completion without a create_media_buy result.");
|
|
5030
5015
|
}
|
|
5031
|
-
const validation = validateResponse(
|
|
5032
|
-
"create_media_buy",
|
|
5033
|
-
result.data,
|
|
5034
|
-
sourceVersion === "2.5" ? "v2.5" : sourceVersion
|
|
5035
|
-
);
|
|
5016
|
+
const validation = validateResponse("create_media_buy", result.data, sourceVersion);
|
|
5036
5017
|
if (!validation.valid) {
|
|
5037
5018
|
throw this.legacyPurchaseAmbiguousError(
|
|
5038
5019
|
`The seller returned an invalid terminal create_media_buy result: ${formatIssues(validation.issues)}`
|
|
@@ -7011,7 +6992,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
7011
6992
|
if (purchases.length === 0) {
|
|
7012
6993
|
throw this.unsupported("buyProducts", "purchases", "Legacy create_media_buy requires at least one purchase.");
|
|
7013
6994
|
}
|
|
7014
|
-
const packageFields = isCompactRelease(this.negotiated_version) ? V32_PURCHASE_FIELDS : compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_PURCHASE_FIELDS :
|
|
6995
|
+
const packageFields = isCompactRelease(this.negotiated_version) ? V32_PURCHASE_FIELDS : compareRelease(this.negotiated_version, "3.1") >= 0 ? V31_PURCHASE_FIELDS : V30_PURCHASE_FIELDS;
|
|
7015
6996
|
const packages = purchases.map((value, index) => {
|
|
7016
6997
|
const purchase = record(value);
|
|
7017
6998
|
const unsupportedFields = Object.keys(purchase).filter((key) => !packageFields.has(key));
|
|
@@ -7858,7 +7839,7 @@ class MediaBuyLifecycleCoordinator {
|
|
|
7858
7839
|
lifecycle,
|
|
7859
7840
|
["update_media_buy"],
|
|
7860
7841
|
losses,
|
|
7861
|
-
losses.length ? ["The
|
|
7842
|
+
losses.length ? ["The established update cannot atomically enforce the compact revision token."] : []
|
|
7862
7843
|
),
|
|
7863
7844
|
(data) => data
|
|
7864
7845
|
);
|
|
@@ -4,7 +4,7 @@ export { LEGACY_COARSE_ACTIONS } from './types.mjs';
|
|
|
4
4
|
export type { LiveMediaBuyAction } from './action-types.mjs';
|
|
5
5
|
export type { AvailableActionsResult, AvailableActionsSource } from './available-actions.mjs';
|
|
6
6
|
export { findAvailableAction, getAvailableActions, getRollupParent, __resetValidActionsWarningForTests, } from './available-actions.mjs';
|
|
7
|
-
export type { BuyerPropertyPolicy, NormalizedPolicyDomain, ProductPolicyProductLike, ProductPropertyPolicyDiagnostic, ProductPropertyPolicyDiagnosticCode, ProductPropertyPolicyDiagnosticSeverity, ProductPropertyPolicyMode, ProductPropertyPolicySelectorBehavior, ProductPropertyPolicyValidationResult, ValidateProductsAgainstPropertyPolicyOptions, } from './property-policy.mjs';
|
|
7
|
+
export type { BuyerPropertyPolicy, NormalizedPolicyDomain, ProductPolicyProductLike, ProductPolicyResolvedProperty, ProductPropertyPolicyIdentifier, ProductPropertyPolicyDiagnostic, ProductPropertyPolicyDiagnosticCode, ProductPropertyPolicyDiagnosticSeverity, ProductPropertyPolicyMode, ProductPropertyPolicySelectorBehavior, ProductPropertyPolicyValidationResult, ValidateProductsAgainstPropertyPolicyOptions, } from './property-policy.mjs';
|
|
8
8
|
export { ProductPropertyPolicyError, normalizeDomainForPropertyPolicy, validateProductsAgainstPropertyPolicy, } from './property-policy.mjs';
|
|
9
9
|
export type { DecomposedUpdateMediaBuy, DecomposedUpdateMediaBuyMutation, MediaBuyMutationDirection, MediaBuyMutationScope, ModeMismatchRecovery, PreflightAllowed, PreflightDenial, PreflightDenied, PreflightResult, ResolvedAction, } from './preflight.mjs';
|
|
10
10
|
export { canAddPackages, canCancel, canDecreaseBudget, canExtendFlight, canIncreaseBudget, canPause, canReallocateBudget, canRemoveCreative, canRemovePackages, canReplaceCreative, canResume, canShortenFlight, canUpdateCreativeAssignments, canUpdateFlightDates, canUpdateFrequencyCaps, canUpdatePacing, canUpdateTargeting, decomposeUpdateMediaBuy, getActionForMutation, preflightUpdateMediaBuy, recoveryForModeMismatch, } from './preflight.mjs';
|
|
@@ -4,7 +4,7 @@ export { LEGACY_COARSE_ACTIONS } from './types';
|
|
|
4
4
|
export type { LiveMediaBuyAction } from './action-types';
|
|
5
5
|
export type { AvailableActionsResult, AvailableActionsSource } from './available-actions';
|
|
6
6
|
export { findAvailableAction, getAvailableActions, getRollupParent, __resetValidActionsWarningForTests, } from './available-actions';
|
|
7
|
-
export type { BuyerPropertyPolicy, NormalizedPolicyDomain, ProductPolicyProductLike, ProductPropertyPolicyDiagnostic, ProductPropertyPolicyDiagnosticCode, ProductPropertyPolicyDiagnosticSeverity, ProductPropertyPolicyMode, ProductPropertyPolicySelectorBehavior, ProductPropertyPolicyValidationResult, ValidateProductsAgainstPropertyPolicyOptions, } from './property-policy';
|
|
7
|
+
export type { BuyerPropertyPolicy, NormalizedPolicyDomain, ProductPolicyProductLike, ProductPolicyResolvedProperty, ProductPropertyPolicyIdentifier, ProductPropertyPolicyDiagnostic, ProductPropertyPolicyDiagnosticCode, ProductPropertyPolicyDiagnosticSeverity, ProductPropertyPolicyMode, ProductPropertyPolicySelectorBehavior, ProductPropertyPolicyValidationResult, ValidateProductsAgainstPropertyPolicyOptions, } from './property-policy';
|
|
8
8
|
export { ProductPropertyPolicyError, normalizeDomainForPropertyPolicy, validateProductsAgainstPropertyPolicy, } from './property-policy';
|
|
9
9
|
export type { DecomposedUpdateMediaBuy, DecomposedUpdateMediaBuyMutation, MediaBuyMutationDirection, MediaBuyMutationScope, ModeMismatchRecovery, PreflightAllowed, PreflightDenial, PreflightDenied, PreflightResult, ResolvedAction, } from './preflight';
|
|
10
10
|
export { canAddPackages, canCancel, canDecreaseBudget, canExtendFlight, canIncreaseBudget, canPause, canReallocateBudget, canRemoveCreative, canRemovePackages, canReplaceCreative, canResume, canShortenFlight, canUpdateCreativeAssignments, canUpdateFlightDates, canUpdateFrequencyCaps, canUpdatePacing, canUpdateTargeting, decomposeUpdateMediaBuy, getActionForMutation, preflightUpdateMediaBuy, recoveryForModeMismatch, } from './preflight';
|
|
@@ -3,7 +3,7 @@ import type { CompatibilityPurchaseCoordinatorInput } from '../types/core.genera
|
|
|
3
3
|
import type { CreateMediaBuyResponse } from '../types/tools.generated.mjs';
|
|
4
4
|
/** Minimum crash-recovery horizon after an SDK-owned publication is acknowledged. */
|
|
5
5
|
export declare const LEGACY_PURCHASE_PUBLICATION_PROOF_RETENTION_MS: number;
|
|
6
|
-
export type LegacyPurchaseSourceVersion = '
|
|
6
|
+
export type LegacyPurchaseSourceVersion = '3.0' | '3.1';
|
|
7
7
|
export type LegacyPurchaseLoss = 'feed_version_not_atomic' | 'pricing_version_not_atomic' | 'mutation_idempotency_not_guaranteed';
|
|
8
8
|
export type LegacyPurchaseTerminalResult = TaskResultCompleted<CreateMediaBuyResponse> | TaskResultFailure<CreateMediaBuyResponse>;
|
|
9
9
|
export interface LegacyPurchasePendingSettlement {
|
|
@@ -39,7 +39,7 @@ export interface LegacyPurchaseClaim {
|
|
|
39
39
|
claimedAt: string;
|
|
40
40
|
replayExpiresAt: string;
|
|
41
41
|
selectedProductIds: string[];
|
|
42
|
-
/** Source-version mutation key
|
|
42
|
+
/** Source-version mutation idempotency key. */
|
|
43
43
|
sourceMutationKey?: string;
|
|
44
44
|
/** Seller task handle retained after a submitted response. */
|
|
45
45
|
sellerTaskId?: string;
|
|
@@ -3,7 +3,7 @@ import type { CompatibilityPurchaseCoordinatorInput } from '../types/core.genera
|
|
|
3
3
|
import type { CreateMediaBuyResponse } from '../types/tools.generated';
|
|
4
4
|
/** Minimum crash-recovery horizon after an SDK-owned publication is acknowledged. */
|
|
5
5
|
export declare const LEGACY_PURCHASE_PUBLICATION_PROOF_RETENTION_MS: number;
|
|
6
|
-
export type LegacyPurchaseSourceVersion = '
|
|
6
|
+
export type LegacyPurchaseSourceVersion = '3.0' | '3.1';
|
|
7
7
|
export type LegacyPurchaseLoss = 'feed_version_not_atomic' | 'pricing_version_not_atomic' | 'mutation_idempotency_not_guaranteed';
|
|
8
8
|
export type LegacyPurchaseTerminalResult = TaskResultCompleted<CreateMediaBuyResponse> | TaskResultFailure<CreateMediaBuyResponse>;
|
|
9
9
|
export interface LegacyPurchasePendingSettlement {
|
|
@@ -39,7 +39,7 @@ export interface LegacyPurchaseClaim {
|
|
|
39
39
|
claimedAt: string;
|
|
40
40
|
replayExpiresAt: string;
|
|
41
41
|
selectedProductIds: string[];
|
|
42
|
-
/** Source-version mutation key
|
|
42
|
+
/** Source-version mutation idempotency key. */
|
|
43
43
|
sourceMutationKey?: string;
|
|
44
44
|
/** Seller task handle retained after a submitted response. */
|
|
45
45
|
sellerTaskId?: string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare function isSupportedPropertyIdentifierType(type: string): boolean;
|
|
1
2
|
export type ProductPropertyPolicyMode = 'audit' | 'filter' | 'reject_response';
|
|
2
3
|
export type ProductPropertyPolicySelectorBehavior = 'allow' | 'flag' | 'reject';
|
|
3
4
|
export interface BuyerPropertyPolicy {
|
|
@@ -10,6 +11,13 @@ export interface BuyerPropertyPolicy {
|
|
|
10
11
|
* `*.example.com` matches subdomains only).
|
|
11
12
|
*/
|
|
12
13
|
allowedPropertyIdentifiers?: readonly ProductPropertyPolicyIdentifier[];
|
|
14
|
+
/**
|
|
15
|
+
* Complete publisher catalogs, keyed by canonical publisher domain. Enables
|
|
16
|
+
* app/CTV identifier matching for all/by_id/by_tag selectors. Omitted keys
|
|
17
|
+
* mean unresolved metadata; an empty array means a known empty catalog.
|
|
18
|
+
* Property IDs remain publisher-scoped and are never treated as app IDs.
|
|
19
|
+
*/
|
|
20
|
+
publisherProperties?: Readonly<Record<string, readonly ProductPolicyResolvedProperty[] | undefined>>;
|
|
13
21
|
/**
|
|
14
22
|
* Require products to match the allowed domain/identifier set even when that
|
|
15
23
|
* set is empty. Used when a request property_list resolves successfully to
|
|
@@ -56,7 +64,12 @@ export interface ProductPropertyPolicyIdentifier {
|
|
|
56
64
|
type: string;
|
|
57
65
|
value: string;
|
|
58
66
|
}
|
|
59
|
-
export
|
|
67
|
+
export interface ProductPolicyResolvedProperty {
|
|
68
|
+
property_id?: string;
|
|
69
|
+
identifiers: readonly ProductPropertyPolicyIdentifier[];
|
|
70
|
+
tags?: readonly string[];
|
|
71
|
+
}
|
|
72
|
+
export type ProductPropertyPolicyDiagnosticCode = 'outside_property_list' | 'excluded_domain' | 'excluded_property_id' | 'missing_publisher_properties' | 'unresolved_tag_selector' | 'unknown_selector' | 'malformed_publisher_domain' | 'unresolved_property_identifiers' | 'excluded_resolved_property';
|
|
60
73
|
export type ProductPropertyPolicyDiagnosticSeverity = 'rejected' | 'flagged';
|
|
61
74
|
export interface ProductPropertyPolicyDiagnostic {
|
|
62
75
|
code: ProductPropertyPolicyDiagnosticCode;
|
|
@@ -75,6 +88,7 @@ export interface ProductPropertyPolicyDiagnostic {
|
|
|
75
88
|
matched_excluded_domain?: string;
|
|
76
89
|
property_ids?: string[];
|
|
77
90
|
matched_property_ids?: string[];
|
|
91
|
+
identifier_types?: string[];
|
|
78
92
|
}
|
|
79
93
|
export interface ProductPropertyPolicyValidationResult<TProduct extends ProductPolicyProductLike> {
|
|
80
94
|
mode: ProductPropertyPolicyMode;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare function isSupportedPropertyIdentifierType(type: string): boolean;
|
|
1
2
|
export type ProductPropertyPolicyMode = 'audit' | 'filter' | 'reject_response';
|
|
2
3
|
export type ProductPropertyPolicySelectorBehavior = 'allow' | 'flag' | 'reject';
|
|
3
4
|
export interface BuyerPropertyPolicy {
|
|
@@ -10,6 +11,13 @@ export interface BuyerPropertyPolicy {
|
|
|
10
11
|
* `*.example.com` matches subdomains only).
|
|
11
12
|
*/
|
|
12
13
|
allowedPropertyIdentifiers?: readonly ProductPropertyPolicyIdentifier[];
|
|
14
|
+
/**
|
|
15
|
+
* Complete publisher catalogs, keyed by canonical publisher domain. Enables
|
|
16
|
+
* app/CTV identifier matching for all/by_id/by_tag selectors. Omitted keys
|
|
17
|
+
* mean unresolved metadata; an empty array means a known empty catalog.
|
|
18
|
+
* Property IDs remain publisher-scoped and are never treated as app IDs.
|
|
19
|
+
*/
|
|
20
|
+
publisherProperties?: Readonly<Record<string, readonly ProductPolicyResolvedProperty[] | undefined>>;
|
|
13
21
|
/**
|
|
14
22
|
* Require products to match the allowed domain/identifier set even when that
|
|
15
23
|
* set is empty. Used when a request property_list resolves successfully to
|
|
@@ -56,7 +64,12 @@ export interface ProductPropertyPolicyIdentifier {
|
|
|
56
64
|
type: string;
|
|
57
65
|
value: string;
|
|
58
66
|
}
|
|
59
|
-
export
|
|
67
|
+
export interface ProductPolicyResolvedProperty {
|
|
68
|
+
property_id?: string;
|
|
69
|
+
identifiers: readonly ProductPropertyPolicyIdentifier[];
|
|
70
|
+
tags?: readonly string[];
|
|
71
|
+
}
|
|
72
|
+
export type ProductPropertyPolicyDiagnosticCode = 'outside_property_list' | 'excluded_domain' | 'excluded_property_id' | 'missing_publisher_properties' | 'unresolved_tag_selector' | 'unknown_selector' | 'malformed_publisher_domain' | 'unresolved_property_identifiers' | 'excluded_resolved_property';
|
|
60
73
|
export type ProductPropertyPolicyDiagnosticSeverity = 'rejected' | 'flagged';
|
|
61
74
|
export interface ProductPropertyPolicyDiagnostic {
|
|
62
75
|
code: ProductPropertyPolicyDiagnosticCode;
|
|
@@ -75,6 +88,7 @@ export interface ProductPropertyPolicyDiagnostic {
|
|
|
75
88
|
matched_excluded_domain?: string;
|
|
76
89
|
property_ids?: string[];
|
|
77
90
|
matched_property_ids?: string[];
|
|
91
|
+
identifier_types?: string[];
|
|
78
92
|
}
|
|
79
93
|
export interface ProductPropertyPolicyValidationResult<TProduct extends ProductPolicyProductLike> {
|
|
80
94
|
mode: ProductPropertyPolicyMode;
|