@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
|
@@ -1,22 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Preview Response Normalizer
|
|
3
|
-
*
|
|
4
|
-
* Handles conversion between v2 output_id/output_role and v3 render_id/role.
|
|
5
|
-
* The library exposes only v3 API to clients.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* v3 preview render
|
|
9
|
-
*/
|
|
1
|
+
/** Helpers for reading AdCP 3 creative previews. */
|
|
10
2
|
export interface PreviewRendererMetadata {
|
|
11
|
-
/** Stable identifier for the renderer implementation. */
|
|
12
3
|
renderer_id: string;
|
|
13
|
-
/** Exact semantic version of the renderer implementation. */
|
|
14
4
|
version: string;
|
|
15
|
-
/** Named package export or implementation entry point used. */
|
|
16
5
|
export: string;
|
|
17
|
-
/** Whether this renderer represents serving-platform output or an approximation. */
|
|
18
6
|
fidelity: 'authoritative' | 'representative';
|
|
19
|
-
/** True when delivery and measurement side effects were suppressed. */
|
|
20
7
|
tracking_suppressed: boolean;
|
|
21
8
|
[key: string]: unknown;
|
|
22
9
|
}
|
|
@@ -35,36 +22,12 @@ export interface PreviewRenderV3 {
|
|
|
35
22
|
requires_https?: boolean;
|
|
36
23
|
supports_fullscreen?: boolean;
|
|
37
24
|
csp_policy?: string;
|
|
25
|
+
[key: string]: unknown;
|
|
38
26
|
};
|
|
39
27
|
/** Renderer provenance and safety metadata; it does not independently grant authority. */
|
|
40
28
|
renderer?: PreviewRendererMetadata;
|
|
29
|
+
[key: string]: unknown;
|
|
41
30
|
}
|
|
42
|
-
/**
|
|
43
|
-
* v2 preview render (with old field names)
|
|
44
|
-
*/
|
|
45
|
-
export interface PreviewRenderV2 {
|
|
46
|
-
output_id?: string;
|
|
47
|
-
output_role?: string;
|
|
48
|
-
render_id?: string;
|
|
49
|
-
role?: string;
|
|
50
|
-
output_format: 'url' | 'html' | 'both';
|
|
51
|
-
preview_url?: string;
|
|
52
|
-
preview_html?: string;
|
|
53
|
-
dimensions?: {
|
|
54
|
-
width: number;
|
|
55
|
-
height: number;
|
|
56
|
-
};
|
|
57
|
-
embedding?: {
|
|
58
|
-
recommended_sandbox?: string;
|
|
59
|
-
requires_https?: boolean;
|
|
60
|
-
supports_fullscreen?: boolean;
|
|
61
|
-
csp_policy?: string;
|
|
62
|
-
};
|
|
63
|
-
renderer?: PreviewRendererMetadata;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* v3 preview object
|
|
67
|
-
*/
|
|
68
31
|
export interface PreviewV3 {
|
|
69
32
|
preview_id: string;
|
|
70
33
|
renders: PreviewRenderV3[];
|
|
@@ -72,53 +35,41 @@ export interface PreviewV3 {
|
|
|
72
35
|
name: string;
|
|
73
36
|
macros?: Record<string, unknown>;
|
|
74
37
|
context_description?: string;
|
|
38
|
+
[key: string]: unknown;
|
|
75
39
|
};
|
|
76
40
|
interactive_url?: string;
|
|
77
41
|
expires_at: string;
|
|
42
|
+
[key: string]: unknown;
|
|
78
43
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
|
|
93
|
-
*/
|
|
94
|
-
export declare function
|
|
95
|
-
/**
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
export declare function
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
*/
|
|
102
|
-
export declare function getRenderId(render: PreviewRenderV2 | PreviewRenderV3): string;
|
|
103
|
-
/**
|
|
104
|
-
* Get render role from a render (works with both v2 and v3)
|
|
105
|
-
*/
|
|
106
|
-
export declare function getRenderRole(render: PreviewRenderV2 | PreviewRenderV3): string;
|
|
107
|
-
/**
|
|
108
|
-
* Get primary render from a preview
|
|
109
|
-
*/
|
|
44
|
+
interface PreviewCreativeResponseV3 {
|
|
45
|
+
previews?: PreviewV3[];
|
|
46
|
+
results?: {
|
|
47
|
+
success?: boolean;
|
|
48
|
+
response?: {
|
|
49
|
+
previews?: PreviewV3[];
|
|
50
|
+
[key: string]: unknown;
|
|
51
|
+
};
|
|
52
|
+
[key: string]: unknown;
|
|
53
|
+
}[];
|
|
54
|
+
[key: string]: unknown;
|
|
55
|
+
}
|
|
56
|
+
/** Preserve the supplied render, including provenance and extension fields. */
|
|
57
|
+
export declare function normalizePreviewRender<T extends PreviewRenderV3>(render: T): T;
|
|
58
|
+
/** Preserve an AdCP 3 preview and all of its supplied renders. */
|
|
59
|
+
export declare function normalizePreview<T extends PreviewV3>(preview: T): T;
|
|
60
|
+
/** Preserve an AdCP 3 single or batch preview response. */
|
|
61
|
+
export declare function normalizePreviewCreativeResponse<T extends PreviewCreativeResponseV3>(response: T): T;
|
|
62
|
+
export declare function usesV3RenderFields(render: PreviewRenderV3): boolean;
|
|
63
|
+
export declare function getRenderId(render: PreviewRenderV3): string;
|
|
64
|
+
export declare function getRenderRole(render: PreviewRenderV3): string;
|
|
65
|
+
/** Select the primary render, or the first supplied render when no primary is declared. */
|
|
110
66
|
export declare function getPrimaryPreviewRender(preview: {
|
|
111
|
-
renders:
|
|
67
|
+
renders: PreviewRenderV3[];
|
|
112
68
|
}): PreviewRenderV3 | undefined;
|
|
113
|
-
/**
|
|
114
|
-
* Get preview URL from primary render
|
|
115
|
-
*/
|
|
116
69
|
export declare function getPreviewUrl(preview: {
|
|
117
|
-
renders:
|
|
70
|
+
renders: PreviewRenderV3[];
|
|
118
71
|
}): string | undefined;
|
|
119
|
-
/**
|
|
120
|
-
* Get preview HTML from primary render
|
|
121
|
-
*/
|
|
122
72
|
export declare function getPreviewHtml(preview: {
|
|
123
|
-
renders:
|
|
73
|
+
renders: PreviewRenderV3[];
|
|
124
74
|
}): string | undefined;
|
|
75
|
+
export {};
|
|
@@ -26,73 +26,29 @@ __export(preview_normalizer_exports, {
|
|
|
26
26
|
normalizePreview: () => normalizePreview,
|
|
27
27
|
normalizePreviewCreativeResponse: () => normalizePreviewCreativeResponse,
|
|
28
28
|
normalizePreviewRender: () => normalizePreviewRender,
|
|
29
|
-
usesV2RenderFields: () => usesV2RenderFields,
|
|
30
29
|
usesV3RenderFields: () => usesV3RenderFields
|
|
31
30
|
});
|
|
32
31
|
module.exports = __toCommonJS(preview_normalizer_exports);
|
|
33
32
|
function normalizePreviewRender(render) {
|
|
34
|
-
return
|
|
35
|
-
// Prefer v3 field names, fall back to v2
|
|
36
|
-
render_id: render.render_id ?? render.output_id ?? "primary",
|
|
37
|
-
role: render.role ?? render.output_role ?? "primary",
|
|
38
|
-
output_format: render.output_format,
|
|
39
|
-
preview_url: render.preview_url,
|
|
40
|
-
preview_html: render.preview_html,
|
|
41
|
-
dimensions: render.dimensions,
|
|
42
|
-
embedding: render.embedding,
|
|
43
|
-
renderer: render.renderer
|
|
44
|
-
};
|
|
33
|
+
return render;
|
|
45
34
|
}
|
|
46
35
|
function normalizePreview(preview) {
|
|
47
|
-
|
|
48
|
-
return preview;
|
|
49
|
-
}
|
|
50
|
-
return {
|
|
51
|
-
...preview,
|
|
52
|
-
renders: preview.renders.map(normalizePreviewRender)
|
|
53
|
-
};
|
|
36
|
+
return preview;
|
|
54
37
|
}
|
|
55
38
|
function normalizePreviewCreativeResponse(response) {
|
|
56
|
-
if (response.previews && Array.isArray(response.previews)) {
|
|
57
|
-
return {
|
|
58
|
-
...response,
|
|
59
|
-
previews: response.previews.map(normalizePreview)
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
if (response.results && Array.isArray(response.results)) {
|
|
63
|
-
return {
|
|
64
|
-
...response,
|
|
65
|
-
results: response.results.map((result) => {
|
|
66
|
-
if (result.success && result.response?.previews) {
|
|
67
|
-
return {
|
|
68
|
-
...result,
|
|
69
|
-
response: {
|
|
70
|
-
...result.response,
|
|
71
|
-
previews: result.response.previews.map(normalizePreview)
|
|
72
|
-
}
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
return result;
|
|
76
|
-
})
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
39
|
return response;
|
|
80
40
|
}
|
|
81
|
-
function usesV2RenderFields(render) {
|
|
82
|
-
return (render.output_id !== void 0 || render.output_role !== void 0) && render.render_id === void 0 && render.role === void 0;
|
|
83
|
-
}
|
|
84
41
|
function usesV3RenderFields(render) {
|
|
85
42
|
return render.render_id !== void 0 || render.role !== void 0;
|
|
86
43
|
}
|
|
87
44
|
function getRenderId(render) {
|
|
88
|
-
return render.render_id
|
|
45
|
+
return render.render_id;
|
|
89
46
|
}
|
|
90
47
|
function getRenderRole(render) {
|
|
91
|
-
return render.role
|
|
48
|
+
return render.role;
|
|
92
49
|
}
|
|
93
50
|
function getPrimaryPreviewRender(preview) {
|
|
94
|
-
|
|
95
|
-
return renders.find((r) => r.role === "primary") ?? renders[0];
|
|
51
|
+
return preview.renders.find((render) => render.role === "primary") ?? preview.renders[0];
|
|
96
52
|
}
|
|
97
53
|
function getPreviewUrl(preview) {
|
|
98
54
|
return getPrimaryPreviewRender(preview)?.preview_url;
|
|
@@ -110,6 +66,5 @@ function getPreviewHtml(preview) {
|
|
|
110
66
|
normalizePreview,
|
|
111
67
|
normalizePreviewCreativeResponse,
|
|
112
68
|
normalizePreviewRender,
|
|
113
|
-
usesV2RenderFields,
|
|
114
69
|
usesV3RenderFields
|
|
115
70
|
});
|
|
@@ -1,66 +1,23 @@
|
|
|
1
1
|
function normalizePreviewRender(render) {
|
|
2
|
-
return
|
|
3
|
-
// Prefer v3 field names, fall back to v2
|
|
4
|
-
render_id: render.render_id ?? render.output_id ?? "primary",
|
|
5
|
-
role: render.role ?? render.output_role ?? "primary",
|
|
6
|
-
output_format: render.output_format,
|
|
7
|
-
preview_url: render.preview_url,
|
|
8
|
-
preview_html: render.preview_html,
|
|
9
|
-
dimensions: render.dimensions,
|
|
10
|
-
embedding: render.embedding,
|
|
11
|
-
renderer: render.renderer
|
|
12
|
-
};
|
|
2
|
+
return render;
|
|
13
3
|
}
|
|
14
4
|
function normalizePreview(preview) {
|
|
15
|
-
|
|
16
|
-
return preview;
|
|
17
|
-
}
|
|
18
|
-
return {
|
|
19
|
-
...preview,
|
|
20
|
-
renders: preview.renders.map(normalizePreviewRender)
|
|
21
|
-
};
|
|
5
|
+
return preview;
|
|
22
6
|
}
|
|
23
7
|
function normalizePreviewCreativeResponse(response) {
|
|
24
|
-
if (response.previews && Array.isArray(response.previews)) {
|
|
25
|
-
return {
|
|
26
|
-
...response,
|
|
27
|
-
previews: response.previews.map(normalizePreview)
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
if (response.results && Array.isArray(response.results)) {
|
|
31
|
-
return {
|
|
32
|
-
...response,
|
|
33
|
-
results: response.results.map((result) => {
|
|
34
|
-
if (result.success && result.response?.previews) {
|
|
35
|
-
return {
|
|
36
|
-
...result,
|
|
37
|
-
response: {
|
|
38
|
-
...result.response,
|
|
39
|
-
previews: result.response.previews.map(normalizePreview)
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
return result;
|
|
44
|
-
})
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
8
|
return response;
|
|
48
9
|
}
|
|
49
|
-
function usesV2RenderFields(render) {
|
|
50
|
-
return (render.output_id !== void 0 || render.output_role !== void 0) && render.render_id === void 0 && render.role === void 0;
|
|
51
|
-
}
|
|
52
10
|
function usesV3RenderFields(render) {
|
|
53
11
|
return render.render_id !== void 0 || render.role !== void 0;
|
|
54
12
|
}
|
|
55
13
|
function getRenderId(render) {
|
|
56
|
-
return render.render_id
|
|
14
|
+
return render.render_id;
|
|
57
15
|
}
|
|
58
16
|
function getRenderRole(render) {
|
|
59
|
-
return render.role
|
|
17
|
+
return render.role;
|
|
60
18
|
}
|
|
61
19
|
function getPrimaryPreviewRender(preview) {
|
|
62
|
-
|
|
63
|
-
return renders.find((r) => r.role === "primary") ?? renders[0];
|
|
20
|
+
return preview.renders.find((render) => render.role === "primary") ?? preview.renders[0];
|
|
64
21
|
}
|
|
65
22
|
function getPreviewUrl(preview) {
|
|
66
23
|
return getPrimaryPreviewRender(preview)?.preview_url;
|
|
@@ -77,6 +34,5 @@ export {
|
|
|
77
34
|
normalizePreview,
|
|
78
35
|
normalizePreviewCreativeResponse,
|
|
79
36
|
normalizePreviewRender,
|
|
80
|
-
usesV2RenderFields,
|
|
81
37
|
usesV3RenderFields
|
|
82
38
|
};
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pricing Option Adapter
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* The library exposes only v3 API (fixed_price, floor_price) to clients,
|
|
6
|
-
* and internally adapts requests for v2.x servers.
|
|
4
|
+
* Normalizes historical pricing fields for established AdCP 3 catalogs.
|
|
7
5
|
*
|
|
8
6
|
* Field mappings:
|
|
9
7
|
* - v3 fixed_price ↔ v2 rate (for fixed pricing)
|
|
@@ -87,58 +85,26 @@ export declare function getPrice(option: PricingOptionV2 | PricingOptionV3): num
|
|
|
87
85
|
* Get the floor price from a pricing option (works with v2 or v3)
|
|
88
86
|
*/
|
|
89
87
|
export declare function getFloorPrice(option: PricingOptionV2 | PricingOptionV3): number | undefined;
|
|
90
|
-
/**
|
|
91
|
-
* Adapt a v3-style pricing option for a v2 server.
|
|
92
|
-
* Converts fixed_price → rate, floor_price → price_guidance.floor
|
|
93
|
-
*/
|
|
94
|
-
export declare function adaptPricingOptionForV2(option: PricingOptionV3): PricingOptionV2;
|
|
95
88
|
/**
|
|
96
89
|
* Normalize a v2-style pricing option to v3.
|
|
97
90
|
* Converts rate → fixed_price, price_guidance.floor → floor_price
|
|
98
91
|
*/
|
|
99
92
|
export declare function normalizePricingOption(option: PricingOptionV2 | PricingOptionV3): PricingOptionV3;
|
|
100
|
-
/**
|
|
101
|
-
* Adapt all pricing options in a product for v2 server
|
|
102
|
-
*/
|
|
103
|
-
export declare function adaptProductPricingForV2(product: any): any;
|
|
104
93
|
/**
|
|
105
94
|
* Normalize all pricing options in a product to v3
|
|
106
95
|
*/
|
|
107
96
|
export declare function normalizeProductPricing(product: any): any;
|
|
108
|
-
/**
|
|
109
|
-
* Adapt a get_products request for a v2 server.
|
|
110
|
-
*
|
|
111
|
-
* Converts v3 fields to their v2 equivalents:
|
|
112
|
-
* - brand (BrandReference) → brand_manifest (base domain URL string)
|
|
113
|
-
* - catalog → promoted_offerings (type='offering') or promoted_offerings.product_selectors (type='product')
|
|
114
|
-
* - channels in filters → v2 channel names
|
|
115
|
-
*
|
|
116
|
-
* Strips v3-only fields v2 agents don't understand:
|
|
117
|
-
* - buying_mode, buyer_campaign_ref, property_list, account_id, pagination (top-level)
|
|
118
|
-
* - filters: required_features, required_axe_integrations, required_geo_targeting,
|
|
119
|
-
* signal_targeting, regions, metros
|
|
120
|
-
*/
|
|
121
|
-
export declare function adaptGetProductsRequestForV2(request: any): any;
|
|
122
97
|
/**
|
|
123
98
|
* Normalize v2 channel names on a product to v3.
|
|
124
99
|
* v2 used coarser buckets; some map one-to-many (e.g. 'video' → ['olv', 'ctv']).
|
|
125
100
|
*/
|
|
126
101
|
export declare function normalizeProductChannels(product: any): any;
|
|
127
|
-
/** Normalize optional forecast timestamps
|
|
102
|
+
/** Normalize optional forecast timestamps in established product responses. */
|
|
128
103
|
export declare function normalizeLegacyProductForecast(product: any): any;
|
|
129
104
|
/**
|
|
130
105
|
* Normalize all products in a get_products response to v3
|
|
131
106
|
*/
|
|
132
107
|
export declare function normalizeGetProductsResponse(response: any): any;
|
|
133
|
-
/**
|
|
134
|
-
* Adapt a package request's pricing option selection for v2 server.
|
|
135
|
-
* This handles bid_price which references pricing option floor semantics.
|
|
136
|
-
*/
|
|
137
|
-
export declare function adaptPackagePricingForV2(pkg: any): any;
|
|
138
|
-
/**
|
|
139
|
-
* Adapt a create_media_buy request for v2 server (pricing fields)
|
|
140
|
-
*/
|
|
141
|
-
export declare function adaptMediaBuyPricingForV2(request: any): any;
|
|
142
108
|
/**
|
|
143
109
|
* Normalize a media buy response's package pricing to v3
|
|
144
110
|
*/
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Pricing Option Adapter
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* The library exposes only v3 API (fixed_price, floor_price) to clients,
|
|
6
|
-
* and internally adapts requests for v2.x servers.
|
|
4
|
+
* Normalizes historical pricing fields for established AdCP 3 catalogs.
|
|
7
5
|
*
|
|
8
6
|
* Field mappings:
|
|
9
7
|
* - v3 fixed_price ↔ v2 rate (for fixed pricing)
|
|
@@ -87,58 +85,26 @@ export declare function getPrice(option: PricingOptionV2 | PricingOptionV3): num
|
|
|
87
85
|
* Get the floor price from a pricing option (works with v2 or v3)
|
|
88
86
|
*/
|
|
89
87
|
export declare function getFloorPrice(option: PricingOptionV2 | PricingOptionV3): number | undefined;
|
|
90
|
-
/**
|
|
91
|
-
* Adapt a v3-style pricing option for a v2 server.
|
|
92
|
-
* Converts fixed_price → rate, floor_price → price_guidance.floor
|
|
93
|
-
*/
|
|
94
|
-
export declare function adaptPricingOptionForV2(option: PricingOptionV3): PricingOptionV2;
|
|
95
88
|
/**
|
|
96
89
|
* Normalize a v2-style pricing option to v3.
|
|
97
90
|
* Converts rate → fixed_price, price_guidance.floor → floor_price
|
|
98
91
|
*/
|
|
99
92
|
export declare function normalizePricingOption(option: PricingOptionV2 | PricingOptionV3): PricingOptionV3;
|
|
100
|
-
/**
|
|
101
|
-
* Adapt all pricing options in a product for v2 server
|
|
102
|
-
*/
|
|
103
|
-
export declare function adaptProductPricingForV2(product: any): any;
|
|
104
93
|
/**
|
|
105
94
|
* Normalize all pricing options in a product to v3
|
|
106
95
|
*/
|
|
107
96
|
export declare function normalizeProductPricing(product: any): any;
|
|
108
|
-
/**
|
|
109
|
-
* Adapt a get_products request for a v2 server.
|
|
110
|
-
*
|
|
111
|
-
* Converts v3 fields to their v2 equivalents:
|
|
112
|
-
* - brand (BrandReference) → brand_manifest (base domain URL string)
|
|
113
|
-
* - catalog → promoted_offerings (type='offering') or promoted_offerings.product_selectors (type='product')
|
|
114
|
-
* - channels in filters → v2 channel names
|
|
115
|
-
*
|
|
116
|
-
* Strips v3-only fields v2 agents don't understand:
|
|
117
|
-
* - buying_mode, buyer_campaign_ref, property_list, account_id, pagination (top-level)
|
|
118
|
-
* - filters: required_features, required_axe_integrations, required_geo_targeting,
|
|
119
|
-
* signal_targeting, regions, metros
|
|
120
|
-
*/
|
|
121
|
-
export declare function adaptGetProductsRequestForV2(request: any): any;
|
|
122
97
|
/**
|
|
123
98
|
* Normalize v2 channel names on a product to v3.
|
|
124
99
|
* v2 used coarser buckets; some map one-to-many (e.g. 'video' → ['olv', 'ctv']).
|
|
125
100
|
*/
|
|
126
101
|
export declare function normalizeProductChannels(product: any): any;
|
|
127
|
-
/** Normalize optional forecast timestamps
|
|
102
|
+
/** Normalize optional forecast timestamps in established product responses. */
|
|
128
103
|
export declare function normalizeLegacyProductForecast(product: any): any;
|
|
129
104
|
/**
|
|
130
105
|
* Normalize all products in a get_products response to v3
|
|
131
106
|
*/
|
|
132
107
|
export declare function normalizeGetProductsResponse(response: any): any;
|
|
133
|
-
/**
|
|
134
|
-
* Adapt a package request's pricing option selection for v2 server.
|
|
135
|
-
* This handles bid_price which references pricing option floor semantics.
|
|
136
|
-
*/
|
|
137
|
-
export declare function adaptPackagePricingForV2(pkg: any): any;
|
|
138
|
-
/**
|
|
139
|
-
* Adapt a create_media_buy request for v2 server (pricing fields)
|
|
140
|
-
*/
|
|
141
|
-
export declare function adaptMediaBuyPricingForV2(request: any): any;
|
|
142
108
|
/**
|
|
143
109
|
* Normalize a media buy response's package pricing to v3
|
|
144
110
|
*/
|
|
@@ -18,11 +18,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var pricing_adapter_exports = {};
|
|
20
20
|
__export(pricing_adapter_exports, {
|
|
21
|
-
adaptGetProductsRequestForV2: () => adaptGetProductsRequestForV2,
|
|
22
|
-
adaptMediaBuyPricingForV2: () => adaptMediaBuyPricingForV2,
|
|
23
|
-
adaptPackagePricingForV2: () => adaptPackagePricingForV2,
|
|
24
|
-
adaptPricingOptionForV2: () => adaptPricingOptionForV2,
|
|
25
|
-
adaptProductPricingForV2: () => adaptProductPricingForV2,
|
|
26
21
|
getFloorPrice: () => getFloorPrice,
|
|
27
22
|
getPrice: () => getPrice,
|
|
28
23
|
isCPAPricing: () => isCPAPricing,
|
|
@@ -72,28 +67,6 @@ function getFloorPrice(option) {
|
|
|
72
67
|
}
|
|
73
68
|
return option.price_guidance?.floor;
|
|
74
69
|
}
|
|
75
|
-
function adaptPricingOptionForV2(option) {
|
|
76
|
-
if (!usesV3PricingFields(option)) {
|
|
77
|
-
return option;
|
|
78
|
-
}
|
|
79
|
-
const { fixed_price, floor_price, price_guidance, ...rest } = option;
|
|
80
|
-
const result = { ...rest };
|
|
81
|
-
if (fixed_price !== void 0) {
|
|
82
|
-
result.rate = fixed_price;
|
|
83
|
-
result.is_fixed = true;
|
|
84
|
-
} else {
|
|
85
|
-
result.is_fixed = false;
|
|
86
|
-
if (floor_price !== void 0 || price_guidance) {
|
|
87
|
-
result.price_guidance = {
|
|
88
|
-
...price_guidance || {}
|
|
89
|
-
};
|
|
90
|
-
if (floor_price !== void 0) {
|
|
91
|
-
result.price_guidance.floor = floor_price;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
return result;
|
|
96
|
-
}
|
|
97
70
|
function normalizePricingOption(option) {
|
|
98
71
|
if (usesV3PricingFields(option) && !usesV2PricingFields(option)) {
|
|
99
72
|
return option;
|
|
@@ -115,15 +88,6 @@ function normalizePricingOption(option) {
|
|
|
115
88
|
}
|
|
116
89
|
return result;
|
|
117
90
|
}
|
|
118
|
-
function adaptProductPricingForV2(product) {
|
|
119
|
-
if (!product?.pricing_options || !Array.isArray(product.pricing_options)) {
|
|
120
|
-
return product;
|
|
121
|
-
}
|
|
122
|
-
return {
|
|
123
|
-
...product,
|
|
124
|
-
pricing_options: product.pricing_options.map(adaptPricingOptionForV2)
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
91
|
function normalizeProductPricing(product) {
|
|
128
92
|
if (!product?.pricing_options || !Array.isArray(product.pricing_options)) {
|
|
129
93
|
return product;
|
|
@@ -133,64 +97,6 @@ function normalizeProductPricing(product) {
|
|
|
133
97
|
pricing_options: product.pricing_options.map(normalizePricingOption)
|
|
134
98
|
};
|
|
135
99
|
}
|
|
136
|
-
function adaptGetProductsRequestForV2(request) {
|
|
137
|
-
const adapted = { ...request };
|
|
138
|
-
if (adapted.brand?.domain) {
|
|
139
|
-
adapted.brand_manifest = `https://${adapted.brand.domain}`;
|
|
140
|
-
delete adapted.brand;
|
|
141
|
-
}
|
|
142
|
-
if (adapted.catalog) {
|
|
143
|
-
const catalog = adapted.catalog;
|
|
144
|
-
if (catalog.type === "product") {
|
|
145
|
-
adapted.promoted_offerings = {
|
|
146
|
-
product_selectors: {
|
|
147
|
-
...catalog.gtins?.length && { manifest_gtins: catalog.gtins },
|
|
148
|
-
...catalog.ids?.length && { manifest_skus: catalog.ids },
|
|
149
|
-
...catalog.tags?.length && { manifest_tags: catalog.tags },
|
|
150
|
-
...catalog.category && { manifest_category: catalog.category },
|
|
151
|
-
...catalog.query && { manifest_query: catalog.query }
|
|
152
|
-
}
|
|
153
|
-
};
|
|
154
|
-
} else if (catalog.type === "offering") {
|
|
155
|
-
adapted.promoted_offerings = {
|
|
156
|
-
...catalog.items?.length && { offerings: catalog.items }
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
delete adapted.catalog;
|
|
160
|
-
}
|
|
161
|
-
if (adapted.filters?.channels) {
|
|
162
|
-
const v2ChannelMap = {
|
|
163
|
-
olv: "video",
|
|
164
|
-
ctv: "video",
|
|
165
|
-
streaming_audio: "audio",
|
|
166
|
-
retail_media: "retail"
|
|
167
|
-
};
|
|
168
|
-
const mapped = adapted.filters.channels.map((ch) => v2ChannelMap[ch] ?? ch);
|
|
169
|
-
adapted.filters = {
|
|
170
|
-
...adapted.filters,
|
|
171
|
-
channels: [...new Set(mapped)]
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
if (adapted.filters) {
|
|
175
|
-
const {
|
|
176
|
-
required_features,
|
|
177
|
-
required_axe_integrations,
|
|
178
|
-
required_geo_targeting,
|
|
179
|
-
signal_targeting,
|
|
180
|
-
regions,
|
|
181
|
-
metros,
|
|
182
|
-
...v2Filters
|
|
183
|
-
} = adapted.filters;
|
|
184
|
-
adapted.filters = v2Filters;
|
|
185
|
-
}
|
|
186
|
-
delete adapted.buying_mode;
|
|
187
|
-
delete adapted.buyer_campaign_ref;
|
|
188
|
-
delete adapted.property_list;
|
|
189
|
-
delete adapted.account;
|
|
190
|
-
delete adapted.pagination;
|
|
191
|
-
delete adapted.adcp_major_version;
|
|
192
|
-
return adapted;
|
|
193
|
-
}
|
|
194
100
|
function normalizeProductChannels(product) {
|
|
195
101
|
if (!product?.channels || !Array.isArray(product.channels)) {
|
|
196
102
|
return product;
|
|
@@ -288,12 +194,6 @@ function normalizeGetProductsResponse(response) {
|
|
|
288
194
|
)
|
|
289
195
|
};
|
|
290
196
|
}
|
|
291
|
-
function adaptPackagePricingForV2(pkg) {
|
|
292
|
-
return pkg;
|
|
293
|
-
}
|
|
294
|
-
function adaptMediaBuyPricingForV2(request) {
|
|
295
|
-
return request;
|
|
296
|
-
}
|
|
297
197
|
function normalizeMediaBuyPricingResponse(response) {
|
|
298
198
|
if (response?.products && Array.isArray(response.products)) {
|
|
299
199
|
return {
|
|
@@ -305,11 +205,6 @@ function normalizeMediaBuyPricingResponse(response) {
|
|
|
305
205
|
}
|
|
306
206
|
// Annotate the CommonJS export names for ESM import in node:
|
|
307
207
|
0 && (module.exports = {
|
|
308
|
-
adaptGetProductsRequestForV2,
|
|
309
|
-
adaptMediaBuyPricingForV2,
|
|
310
|
-
adaptPackagePricingForV2,
|
|
311
|
-
adaptPricingOptionForV2,
|
|
312
|
-
adaptProductPricingForV2,
|
|
313
208
|
getFloorPrice,
|
|
314
209
|
getPrice,
|
|
315
210
|
isCPAPricing,
|