@adcp/sdk 16.0.0-beta.8 → 16.0.0
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 +5 -2
- package/bin/adcp.js +10 -13
- 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 +19 -112
- package/dist/lib/core/SingleAgentClient.d.ts +19 -112
- package/dist/lib/core/SingleAgentClient.js +270 -252
- package/dist/lib/core/SingleAgentClient.mjs +275 -253
- 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/identity-3.3/revocation.js +6 -7
- package/dist/lib/identity-3.3/revocation.mjs +6 -7
- package/dist/lib/index.d.mts +4 -4
- package/dist/lib/index.d.ts +4 -4
- package/dist/lib/index.js +0 -14
- package/dist/lib/index.mjs +0 -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/legacy-purchase-continuation.d.mts +2 -2
- package/dist/lib/media-buy/legacy-purchase-continuation.d.ts +2 -2
- package/dist/lib/protocols/index.js +14 -22
- package/dist/lib/protocols/index.mjs +5 -13
- package/dist/lib/registry/types.d.mts +3 -2
- package/dist/lib/registry/types.d.ts +3 -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 +7 -1
- package/dist/lib/server/create-adcp-server.mjs +7 -1
- package/dist/lib/signing/crypto.d.mts +1 -1
- package/dist/lib/signing/crypto.d.ts +1 -1
- package/dist/lib/signing/crypto.js +2 -45
- package/dist/lib/signing/crypto.mjs +2 -46
- package/dist/lib/signing/web-bot-auth.d.mts +18 -10
- package/dist/lib/signing/web-bot-auth.d.ts +18 -10
- package/dist/lib/signing/web-bot-auth.js +29 -24
- package/dist/lib/signing/web-bot-auth.mjs +29 -24
- 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/catalog.d.mts +4 -0
- package/dist/lib/v2/projection/catalog.d.ts +4 -0
- package/dist/lib/v2/projection/creative-delivery.d.mts +17 -9
- package/dist/lib/v2/projection/creative-delivery.d.ts +17 -9
- package/dist/lib/v2/projection/creative-delivery.js +78 -10
- package/dist/lib/v2/projection/creative-delivery.mjs +77 -10
- 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 +63 -7
- package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +15 -18
- package/docs/guides/REPORTING-STABILITY.md +7 -7
- package/docs/guides/VALIDATE-YOUR-AGENT.md +5 -0
- package/docs/llms.txt +3 -3
- 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-agent-identity-3.3.md +44 -19
- package/docs/migration-drop-adcp-2.md +25 -0
- package/docs/migration-reporting-storage-package.md +3 -3
- package/docs/releases/16.0.0.md +20 -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
|
@@ -12,9 +12,21 @@ type DeclarationWithMetadata = CanonicalFormatDeclaration;
|
|
|
12
12
|
export type PackageSelectionMetadata = {
|
|
13
13
|
format_option_refs?: readonly unknown[];
|
|
14
14
|
};
|
|
15
|
+
export interface SellerFormatEvidence {
|
|
16
|
+
scopeKey: string;
|
|
17
|
+
accountScope: string;
|
|
18
|
+
productId: string;
|
|
19
|
+
expiresAt: number;
|
|
20
|
+
}
|
|
21
|
+
/** Positive evidence is client/account-bound and cannot survive a JSON round trip on its own. */
|
|
22
|
+
export declare function rememberSellerFormatEvidence(declaration: object, evidence: SellerFormatEvidence): void;
|
|
23
|
+
export declare function sellerFormatEvidence(declaration: object): SellerFormatEvidence | undefined;
|
|
15
24
|
/** Keep seller-origin evidence private while canonical products pass through the cache. */
|
|
16
25
|
export declare function rememberSellerDeclaredFormatOption(declaration: object, declared: boolean): void;
|
|
17
26
|
export declare function sellerDeclaredFormatOption(declaration: object): boolean | undefined;
|
|
27
|
+
/** A pure legacy projection cannot establish what the original seller advertised. */
|
|
28
|
+
export declare function rememberSynthesizedFormatOption(declaration: object): void;
|
|
29
|
+
export declare function isSynthesizedFormatOption(declaration: object): boolean;
|
|
18
30
|
export declare function concealLegacyFormatRefs(declaration: ProductFormatDeclaration | V2ProductFormatDeclaration | CanonicalFormatDeclaration): DeclarationWithMetadata;
|
|
19
31
|
export declare function legacyFormatRefsForDeclaration(value: unknown): readonly V1FormatId[];
|
|
20
32
|
export declare function selectedFormatOptions(value: unknown): readonly DeclarationWithMetadata[];
|
|
@@ -12,9 +12,21 @@ type DeclarationWithMetadata = CanonicalFormatDeclaration;
|
|
|
12
12
|
export type PackageSelectionMetadata = {
|
|
13
13
|
format_option_refs?: readonly unknown[];
|
|
14
14
|
};
|
|
15
|
+
export interface SellerFormatEvidence {
|
|
16
|
+
scopeKey: string;
|
|
17
|
+
accountScope: string;
|
|
18
|
+
productId: string;
|
|
19
|
+
expiresAt: number;
|
|
20
|
+
}
|
|
21
|
+
/** Positive evidence is client/account-bound and cannot survive a JSON round trip on its own. */
|
|
22
|
+
export declare function rememberSellerFormatEvidence(declaration: object, evidence: SellerFormatEvidence): void;
|
|
23
|
+
export declare function sellerFormatEvidence(declaration: object): SellerFormatEvidence | undefined;
|
|
15
24
|
/** Keep seller-origin evidence private while canonical products pass through the cache. */
|
|
16
25
|
export declare function rememberSellerDeclaredFormatOption(declaration: object, declared: boolean): void;
|
|
17
26
|
export declare function sellerDeclaredFormatOption(declaration: object): boolean | undefined;
|
|
27
|
+
/** A pure legacy projection cannot establish what the original seller advertised. */
|
|
28
|
+
export declare function rememberSynthesizedFormatOption(declaration: object): void;
|
|
29
|
+
export declare function isSynthesizedFormatOption(declaration: object): boolean;
|
|
18
30
|
export declare function concealLegacyFormatRefs(declaration: ProductFormatDeclaration | V2ProductFormatDeclaration | CanonicalFormatDeclaration): DeclarationWithMetadata;
|
|
19
31
|
export declare function legacyFormatRefsForDeclaration(value: unknown): readonly V1FormatId[];
|
|
20
32
|
export declare function selectedFormatOptions(value: unknown): readonly DeclarationWithMetadata[];
|
|
@@ -20,22 +20,52 @@ var legacy_metadata_exports = {};
|
|
|
20
20
|
__export(legacy_metadata_exports, {
|
|
21
21
|
concealLegacyFormatRefs: () => concealLegacyFormatRefs,
|
|
22
22
|
concealSelectedFormatOptions: () => concealSelectedFormatOptions,
|
|
23
|
+
isSynthesizedFormatOption: () => isSynthesizedFormatOption,
|
|
23
24
|
legacyFormatRefsForDeclaration: () => legacyFormatRefsForDeclaration,
|
|
24
25
|
rememberSellerDeclaredFormatOption: () => rememberSellerDeclaredFormatOption,
|
|
26
|
+
rememberSellerFormatEvidence: () => rememberSellerFormatEvidence,
|
|
27
|
+
rememberSynthesizedFormatOption: () => rememberSynthesizedFormatOption,
|
|
25
28
|
selectedFormatOptions: () => selectedFormatOptions,
|
|
26
29
|
sellerDeclaredFormatOption: () => sellerDeclaredFormatOption,
|
|
30
|
+
sellerFormatEvidence: () => sellerFormatEvidence,
|
|
27
31
|
structuredCloneWithLegacyCreativeMetadata: () => structuredCloneWithLegacyCreativeMetadata,
|
|
28
32
|
transferLegacyCreativeMetadata: () => transferLegacyCreativeMetadata
|
|
29
33
|
});
|
|
30
34
|
module.exports = __toCommonJS(legacy_metadata_exports);
|
|
35
|
+
var import_jcs = require('../../utils/jcs.js');
|
|
31
36
|
const legacyRefsByDeclaration = /* @__PURE__ */ new WeakMap();
|
|
32
37
|
const selectedOptionsByRefs = /* @__PURE__ */ new WeakMap();
|
|
33
38
|
const sellerDeclaredByDeclaration = /* @__PURE__ */ new WeakMap();
|
|
39
|
+
const sellerEvidenceByDeclaration = /* @__PURE__ */ new WeakMap();
|
|
40
|
+
function rememberSellerFormatEvidence(declaration, evidence) {
|
|
41
|
+
try {
|
|
42
|
+
sellerEvidenceByDeclaration.set(
|
|
43
|
+
declaration,
|
|
44
|
+
Object.freeze({ ...evidence, fingerprint: (0, import_jcs.canonicalize)(declaration) })
|
|
45
|
+
);
|
|
46
|
+
} catch {
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function sellerFormatEvidence(declaration) {
|
|
50
|
+
const evidence = sellerEvidenceByDeclaration.get(declaration);
|
|
51
|
+
try {
|
|
52
|
+
return evidence?.fingerprint === (0, import_jcs.canonicalize)(declaration) ? evidence : void 0;
|
|
53
|
+
} catch {
|
|
54
|
+
return void 0;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
34
57
|
function rememberSellerDeclaredFormatOption(declaration, declared) {
|
|
35
58
|
sellerDeclaredByDeclaration.set(declaration, declared);
|
|
36
59
|
}
|
|
37
60
|
function sellerDeclaredFormatOption(declaration) {
|
|
38
|
-
|
|
61
|
+
const origin = sellerDeclaredByDeclaration.get(declaration);
|
|
62
|
+
return typeof origin === "boolean" ? origin : void 0;
|
|
63
|
+
}
|
|
64
|
+
function rememberSynthesizedFormatOption(declaration) {
|
|
65
|
+
sellerDeclaredByDeclaration.set(declaration, "synthesized");
|
|
66
|
+
}
|
|
67
|
+
function isSynthesizedFormatOption(declaration) {
|
|
68
|
+
return sellerDeclaredByDeclaration.get(declaration) === "synthesized";
|
|
39
69
|
}
|
|
40
70
|
function concealLegacyFormatRefs(declaration) {
|
|
41
71
|
const { v1_format_ref: refs, ...canonical } = declaration;
|
|
@@ -43,6 +73,8 @@ function concealLegacyFormatRefs(declaration) {
|
|
|
43
73
|
const refsToConceal = Array.isArray(existingHidden) && existingHidden.length > 0 ? existingHidden : refs;
|
|
44
74
|
const declared = sellerDeclaredByDeclaration.get(declaration);
|
|
45
75
|
if (declared !== void 0) sellerDeclaredByDeclaration.set(canonical, declared);
|
|
76
|
+
const evidence = sellerEvidenceByDeclaration.get(declaration);
|
|
77
|
+
if (evidence) sellerEvidenceByDeclaration.set(canonical, evidence);
|
|
46
78
|
if (Array.isArray(refsToConceal) && refsToConceal.length > 0) {
|
|
47
79
|
legacyRefsByDeclaration.set(
|
|
48
80
|
canonical,
|
|
@@ -75,6 +107,8 @@ function transferLegacyCreativeMetadata(source, target) {
|
|
|
75
107
|
if (selected) selectedOptionsByRefs.set(target, selected);
|
|
76
108
|
const declared = sellerDeclaredByDeclaration.get(source);
|
|
77
109
|
if (declared !== void 0) sellerDeclaredByDeclaration.set(target, declared);
|
|
110
|
+
const evidence = sellerEvidenceByDeclaration.get(source);
|
|
111
|
+
if (evidence) sellerEvidenceByDeclaration.set(target, evidence);
|
|
78
112
|
}
|
|
79
113
|
function structuredCloneWithLegacyCreativeMetadata(value) {
|
|
80
114
|
const clone = structuredClone(value);
|
|
@@ -82,6 +116,8 @@ function structuredCloneWithLegacyCreativeMetadata(value) {
|
|
|
82
116
|
const snapshotMetadata = (source, target) => {
|
|
83
117
|
const declared = sellerDeclaredByDeclaration.get(source);
|
|
84
118
|
if (declared !== void 0) sellerDeclaredByDeclaration.set(target, declared);
|
|
119
|
+
const evidence = sellerEvidenceByDeclaration.get(source);
|
|
120
|
+
if (evidence) sellerEvidenceByDeclaration.set(target, evidence);
|
|
85
121
|
const refs = legacyRefsByDeclaration.get(source);
|
|
86
122
|
if (refs) legacyRefsByDeclaration.set(target, structuredClone(refs));
|
|
87
123
|
const selected = selectedOptionsByRefs.get(source);
|
|
@@ -119,10 +155,14 @@ function structuredCloneWithLegacyCreativeMetadata(value) {
|
|
|
119
155
|
0 && (module.exports = {
|
|
120
156
|
concealLegacyFormatRefs,
|
|
121
157
|
concealSelectedFormatOptions,
|
|
158
|
+
isSynthesizedFormatOption,
|
|
122
159
|
legacyFormatRefsForDeclaration,
|
|
123
160
|
rememberSellerDeclaredFormatOption,
|
|
161
|
+
rememberSellerFormatEvidence,
|
|
162
|
+
rememberSynthesizedFormatOption,
|
|
124
163
|
selectedFormatOptions,
|
|
125
164
|
sellerDeclaredFormatOption,
|
|
165
|
+
sellerFormatEvidence,
|
|
126
166
|
structuredCloneWithLegacyCreativeMetadata,
|
|
127
167
|
transferLegacyCreativeMetadata
|
|
128
168
|
});
|
|
@@ -1,11 +1,37 @@
|
|
|
1
|
+
import { canonicalize } from "../../utils/jcs.mjs";
|
|
1
2
|
const legacyRefsByDeclaration = /* @__PURE__ */ new WeakMap();
|
|
2
3
|
const selectedOptionsByRefs = /* @__PURE__ */ new WeakMap();
|
|
3
4
|
const sellerDeclaredByDeclaration = /* @__PURE__ */ new WeakMap();
|
|
5
|
+
const sellerEvidenceByDeclaration = /* @__PURE__ */ new WeakMap();
|
|
6
|
+
function rememberSellerFormatEvidence(declaration, evidence) {
|
|
7
|
+
try {
|
|
8
|
+
sellerEvidenceByDeclaration.set(
|
|
9
|
+
declaration,
|
|
10
|
+
Object.freeze({ ...evidence, fingerprint: canonicalize(declaration) })
|
|
11
|
+
);
|
|
12
|
+
} catch {
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
function sellerFormatEvidence(declaration) {
|
|
16
|
+
const evidence = sellerEvidenceByDeclaration.get(declaration);
|
|
17
|
+
try {
|
|
18
|
+
return evidence?.fingerprint === canonicalize(declaration) ? evidence : void 0;
|
|
19
|
+
} catch {
|
|
20
|
+
return void 0;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
4
23
|
function rememberSellerDeclaredFormatOption(declaration, declared) {
|
|
5
24
|
sellerDeclaredByDeclaration.set(declaration, declared);
|
|
6
25
|
}
|
|
7
26
|
function sellerDeclaredFormatOption(declaration) {
|
|
8
|
-
|
|
27
|
+
const origin = sellerDeclaredByDeclaration.get(declaration);
|
|
28
|
+
return typeof origin === "boolean" ? origin : void 0;
|
|
29
|
+
}
|
|
30
|
+
function rememberSynthesizedFormatOption(declaration) {
|
|
31
|
+
sellerDeclaredByDeclaration.set(declaration, "synthesized");
|
|
32
|
+
}
|
|
33
|
+
function isSynthesizedFormatOption(declaration) {
|
|
34
|
+
return sellerDeclaredByDeclaration.get(declaration) === "synthesized";
|
|
9
35
|
}
|
|
10
36
|
function concealLegacyFormatRefs(declaration) {
|
|
11
37
|
const { v1_format_ref: refs, ...canonical } = declaration;
|
|
@@ -13,6 +39,8 @@ function concealLegacyFormatRefs(declaration) {
|
|
|
13
39
|
const refsToConceal = Array.isArray(existingHidden) && existingHidden.length > 0 ? existingHidden : refs;
|
|
14
40
|
const declared = sellerDeclaredByDeclaration.get(declaration);
|
|
15
41
|
if (declared !== void 0) sellerDeclaredByDeclaration.set(canonical, declared);
|
|
42
|
+
const evidence = sellerEvidenceByDeclaration.get(declaration);
|
|
43
|
+
if (evidence) sellerEvidenceByDeclaration.set(canonical, evidence);
|
|
16
44
|
if (Array.isArray(refsToConceal) && refsToConceal.length > 0) {
|
|
17
45
|
legacyRefsByDeclaration.set(
|
|
18
46
|
canonical,
|
|
@@ -45,6 +73,8 @@ function transferLegacyCreativeMetadata(source, target) {
|
|
|
45
73
|
if (selected) selectedOptionsByRefs.set(target, selected);
|
|
46
74
|
const declared = sellerDeclaredByDeclaration.get(source);
|
|
47
75
|
if (declared !== void 0) sellerDeclaredByDeclaration.set(target, declared);
|
|
76
|
+
const evidence = sellerEvidenceByDeclaration.get(source);
|
|
77
|
+
if (evidence) sellerEvidenceByDeclaration.set(target, evidence);
|
|
48
78
|
}
|
|
49
79
|
function structuredCloneWithLegacyCreativeMetadata(value) {
|
|
50
80
|
const clone = structuredClone(value);
|
|
@@ -52,6 +82,8 @@ function structuredCloneWithLegacyCreativeMetadata(value) {
|
|
|
52
82
|
const snapshotMetadata = (source, target) => {
|
|
53
83
|
const declared = sellerDeclaredByDeclaration.get(source);
|
|
54
84
|
if (declared !== void 0) sellerDeclaredByDeclaration.set(target, declared);
|
|
85
|
+
const evidence = sellerEvidenceByDeclaration.get(source);
|
|
86
|
+
if (evidence) sellerEvidenceByDeclaration.set(target, evidence);
|
|
55
87
|
const refs = legacyRefsByDeclaration.get(source);
|
|
56
88
|
if (refs) legacyRefsByDeclaration.set(target, structuredClone(refs));
|
|
57
89
|
const selected = selectedOptionsByRefs.get(source);
|
|
@@ -88,10 +120,14 @@ function structuredCloneWithLegacyCreativeMetadata(value) {
|
|
|
88
120
|
export {
|
|
89
121
|
concealLegacyFormatRefs,
|
|
90
122
|
concealSelectedFormatOptions,
|
|
123
|
+
isSynthesizedFormatOption,
|
|
91
124
|
legacyFormatRefsForDeclaration,
|
|
92
125
|
rememberSellerDeclaredFormatOption,
|
|
126
|
+
rememberSellerFormatEvidence,
|
|
127
|
+
rememberSynthesizedFormatOption,
|
|
93
128
|
selectedFormatOptions,
|
|
94
129
|
sellerDeclaredFormatOption,
|
|
130
|
+
sellerFormatEvidence,
|
|
95
131
|
structuredCloneWithLegacyCreativeMetadata,
|
|
96
132
|
transferLegacyCreativeMetadata
|
|
97
133
|
};
|
|
@@ -12,7 +12,7 @@ export type NormalizedLegacyProduct<TProduct extends LegacyProductNormalizationI
|
|
|
12
12
|
forecast?: Record<string, unknown>;
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
|
-
* Apply the SDK's
|
|
15
|
+
* Apply the SDK's established `get_products` field normalization
|
|
16
16
|
* before projecting a response recovered through a custom `tasks_get` flow.
|
|
17
17
|
*/
|
|
18
18
|
export declare function normalizeLegacyGetProductsResponse<TProduct extends LegacyProductNormalizationInput, TResponse extends object & {
|
|
@@ -12,7 +12,7 @@ export type NormalizedLegacyProduct<TProduct extends LegacyProductNormalizationI
|
|
|
12
12
|
forecast?: Record<string, unknown>;
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
|
-
* Apply the SDK's
|
|
15
|
+
* Apply the SDK's established `get_products` field normalization
|
|
16
16
|
* before projecting a response recovered through a custom `tasks_get` flow.
|
|
17
17
|
*/
|
|
18
18
|
export declare function normalizeLegacyGetProductsResponse<TProduct extends LegacyProductNormalizationInput, TResponse extends object & {
|
|
@@ -339,6 +339,7 @@ function projectV1ProductToV2(v1, options) {
|
|
|
339
339
|
...rest,
|
|
340
340
|
format_options
|
|
341
341
|
};
|
|
342
|
+
for (const declaration of format_options) (0, import_legacy_metadata.rememberSynthesizedFormatOption)(declaration);
|
|
342
343
|
return { v2: v2Product, diagnostics, legacyRoutes: (0, import_legacy_routes.legacyRoutesForProduct)(v1.product_id, format_options) };
|
|
343
344
|
}
|
|
344
345
|
function canonicalDeclarationFromBareId(id, options) {
|
|
@@ -400,6 +401,18 @@ function compatible(option, ref) {
|
|
|
400
401
|
)) {
|
|
401
402
|
return false;
|
|
402
403
|
}
|
|
404
|
+
for (const dimension of ["width", "height"]) {
|
|
405
|
+
const actual = constraints[dimension];
|
|
406
|
+
const min = params[`min_${dimension}`];
|
|
407
|
+
const max = params[`max_${dimension}`];
|
|
408
|
+
if (typeof actual === "number" && (typeof min === "number" && actual < min || typeof max === "number" && actual > max))
|
|
409
|
+
return false;
|
|
410
|
+
}
|
|
411
|
+
const duration = constraints.duration_ms_exact;
|
|
412
|
+
if (typeof duration === "number" && typeof params.duration_ms_exact !== "number" && Array.isArray(params.duration_ms_range)) {
|
|
413
|
+
const [min, max] = params.duration_ms_range;
|
|
414
|
+
if (typeof min === "number" && duration < min || typeof max === "number" && duration > max) return false;
|
|
415
|
+
}
|
|
403
416
|
if (Array.isArray(params.sizes) && params.sizes.length > 0) {
|
|
404
417
|
return params.sizes.some((value) => {
|
|
405
418
|
const size = record(value);
|
|
@@ -15,6 +15,7 @@ import { legacyRoutesForProduct } from "./legacy-routes.mjs";
|
|
|
15
15
|
import {
|
|
16
16
|
concealLegacyFormatRefs,
|
|
17
17
|
legacyFormatRefsForDeclaration,
|
|
18
|
+
rememberSynthesizedFormatOption,
|
|
18
19
|
transferLegacyCreativeMetadata
|
|
19
20
|
} from "./legacy-metadata.mjs";
|
|
20
21
|
const SDK_ID = `@adcp/sdk@${LIBRARY_VERSION}`;
|
|
@@ -321,6 +322,7 @@ function projectV1ProductToV2(v1, options) {
|
|
|
321
322
|
...rest,
|
|
322
323
|
format_options
|
|
323
324
|
};
|
|
325
|
+
for (const declaration of format_options) rememberSynthesizedFormatOption(declaration);
|
|
324
326
|
return { v2: v2Product, diagnostics, legacyRoutes: legacyRoutesForProduct(v1.product_id, format_options) };
|
|
325
327
|
}
|
|
326
328
|
function canonicalDeclarationFromBareId(id, options) {
|
|
@@ -382,6 +384,18 @@ function compatible(option, ref) {
|
|
|
382
384
|
)) {
|
|
383
385
|
return false;
|
|
384
386
|
}
|
|
387
|
+
for (const dimension of ["width", "height"]) {
|
|
388
|
+
const actual = constraints[dimension];
|
|
389
|
+
const min = params[`min_${dimension}`];
|
|
390
|
+
const max = params[`max_${dimension}`];
|
|
391
|
+
if (typeof actual === "number" && (typeof min === "number" && actual < min || typeof max === "number" && actual > max))
|
|
392
|
+
return false;
|
|
393
|
+
}
|
|
394
|
+
const duration = constraints.duration_ms_exact;
|
|
395
|
+
if (typeof duration === "number" && typeof params.duration_ms_exact !== "number" && Array.isArray(params.duration_ms_range)) {
|
|
396
|
+
const [min, max] = params.duration_ms_range;
|
|
397
|
+
if (typeof min === "number" && duration < min || typeof max === "number" && duration > max) return false;
|
|
398
|
+
}
|
|
385
399
|
if (Array.isArray(params.sizes) && params.sizes.length > 0) {
|
|
386
400
|
return params.sizes.some((value) => {
|
|
387
401
|
const size = record(value);
|
|
@@ -16,10 +16,7 @@ export interface ValidationHookConfig {
|
|
|
16
16
|
*
|
|
17
17
|
* Both default to `warn` everywhere — buyers get drift surfaced through
|
|
18
18
|
* `result.debug_logs` without losing the response payload to a strict
|
|
19
|
-
* rejection.
|
|
20
|
-
* (envelope nulls, optional-required fields, enum mismatches) that
|
|
21
|
-
* strict-by-default leaves callers staring at "0 products" with no
|
|
22
|
-
* useful signal. Buyers and harnesses that want hard-stop behavior
|
|
19
|
+
* rejection. Buyers and harnesses that want hard-stop behavior
|
|
23
20
|
* (conformance suites, third-party validators) opt into strict via
|
|
24
21
|
* `validation: { responses: 'strict' }` — explicit config always wins.
|
|
25
22
|
*
|
|
@@ -16,10 +16,7 @@ export interface ValidationHookConfig {
|
|
|
16
16
|
*
|
|
17
17
|
* Both default to `warn` everywhere — buyers get drift surfaced through
|
|
18
18
|
* `result.debug_logs` without losing the response payload to a strict
|
|
19
|
-
* rejection.
|
|
20
|
-
* (envelope nulls, optional-required fields, enum mismatches) that
|
|
21
|
-
* strict-by-default leaves callers staring at "0 products" with no
|
|
22
|
-
* useful signal. Buyers and harnesses that want hard-stop behavior
|
|
19
|
+
* rejection. Buyers and harnesses that want hard-stop behavior
|
|
23
20
|
* (conformance suites, third-party validators) opt into strict via
|
|
24
21
|
* `validation: { responses: 'strict' }` — explicit config always wins.
|
|
25
22
|
*
|
|
@@ -107,7 +107,7 @@ export declare const LegacyGetProductsRequestSchema: z.ZodObject<{
|
|
|
107
107
|
required_overlay_support: z.ZodOptional<z.ZodType<import("../types/core.generated.mjs").TargetingOverlayRequirements, import("../types/core.generated.mjs").TargetingOverlayRequirements, z.core.$ZodTypeInternals<import("../types/core.generated.mjs").TargetingOverlayRequirements, import("../types/core.generated.mjs").TargetingOverlayRequirements>>>;
|
|
108
108
|
required_media_buy_support: z.ZodOptional<z.ZodType<import("../types/tools.generated.mjs").ProductMediaBuySupportRequirements, import("../types/tools.generated.mjs").ProductMediaBuySupportRequirements, z.core.$ZodTypeInternals<import("../types/tools.generated.mjs").ProductMediaBuySupportRequirements, import("../types/tools.generated.mjs").ProductMediaBuySupportRequirements>>>;
|
|
109
109
|
property_list: z.ZodOptional<z.ZodType<import("../types/tools.generated.mjs").PropertyListReference, import("../types/tools.generated.mjs").PropertyListReference, z.core.$ZodTypeInternals<import("../types/tools.generated.mjs").PropertyListReference, import("../types/tools.generated.mjs").PropertyListReference>>>;
|
|
110
|
-
fields: z.ZodOptional<z.ZodType<("name" | "
|
|
110
|
+
fields: z.ZodOptional<z.ZodType<("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], z.core.$ZodTypeInternals<("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[]>>>;
|
|
111
111
|
time_budget: z.ZodOptional<z.ZodType<import("../index.mjs").Duration, import("../index.mjs").Duration, z.core.$ZodTypeInternals<import("../index.mjs").Duration, import("../index.mjs").Duration>>>;
|
|
112
112
|
push_notification_config: z.ZodOptional<z.ZodType<import("../types/tools.generated.mjs").PushNotificationConfig, import("../types/tools.generated.mjs").PushNotificationConfig, z.core.$ZodTypeInternals<import("../types/tools.generated.mjs").PushNotificationConfig, import("../types/tools.generated.mjs").PushNotificationConfig>>>;
|
|
113
113
|
pagination: z.ZodOptional<z.ZodType<import("../index.mjs").PaginationRequest, import("../index.mjs").PaginationRequest, z.core.$ZodTypeInternals<import("../index.mjs").PaginationRequest, import("../index.mjs").PaginationRequest>>>;
|
|
@@ -107,7 +107,7 @@ export declare const LegacyGetProductsRequestSchema: z.ZodObject<{
|
|
|
107
107
|
required_overlay_support: z.ZodOptional<z.ZodType<import("../types/core.generated").TargetingOverlayRequirements, import("../types/core.generated").TargetingOverlayRequirements, z.core.$ZodTypeInternals<import("../types/core.generated").TargetingOverlayRequirements, import("../types/core.generated").TargetingOverlayRequirements>>>;
|
|
108
108
|
required_media_buy_support: z.ZodOptional<z.ZodType<import("../types/tools.generated").ProductMediaBuySupportRequirements, import("../types/tools.generated").ProductMediaBuySupportRequirements, z.core.$ZodTypeInternals<import("../types/tools.generated").ProductMediaBuySupportRequirements, import("../types/tools.generated").ProductMediaBuySupportRequirements>>>;
|
|
109
109
|
property_list: z.ZodOptional<z.ZodType<import("../types/tools.generated").PropertyListReference, import("../types/tools.generated").PropertyListReference, z.core.$ZodTypeInternals<import("../types/tools.generated").PropertyListReference, import("../types/tools.generated").PropertyListReference>>>;
|
|
110
|
-
fields: z.ZodOptional<z.ZodType<("name" | "
|
|
110
|
+
fields: z.ZodOptional<z.ZodType<("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], z.core.$ZodTypeInternals<("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[], ("name" | "audience_evidence" | "identity" | "forecast" | "description" | "publisher_properties" | "product_id" | "channels" | "video_placement_types" | "audio_distribution_types" | "sponsored_placement_types" | "social_placement_surfaces" | "format_options" | "placements" | "delivery_type" | "exclusivity" | "pricing_options" | "reporting_capabilities" | "measurement_terms" | "performance_standards" | "catalog_types" | "signal_targeting_allowed" | "signal_targeting_rules" | "demographic_targeting" | "overlay_support" | "collections" | "collection_targeting_allowed" | "media_buy_support" | "audience_evidence_selections" | "max_optimization_goals" | "catalog_match" | "list_applications" | "brief_relevance" | "targeting_resolution" | "acceptance_policy_profile_ids" | "execution_requirements" | "expires_at" | "allowed_actions" | "product_card" | "format_ids" | "outcome_measurement" | "delivery_measurement" | "creative_policy" | "metric_optimization" | "conversion_tracking" | "data_provider_signals" | "included_signals" | "signal_targeting_options" | "installments" | "is_custom" | "product_card_detailed" | "enforced_policies" | "trusted_match")[]>>>;
|
|
111
111
|
time_budget: z.ZodOptional<z.ZodType<import("..").Duration, import("..").Duration, z.core.$ZodTypeInternals<import("..").Duration, import("..").Duration>>>;
|
|
112
112
|
push_notification_config: z.ZodOptional<z.ZodType<import("../types/tools.generated").PushNotificationConfig, import("../types/tools.generated").PushNotificationConfig, z.core.$ZodTypeInternals<import("../types/tools.generated").PushNotificationConfig, import("../types/tools.generated").PushNotificationConfig>>>;
|
|
113
113
|
pagination: z.ZodOptional<z.ZodType<import("..").PaginationRequest, import("..").PaginationRequest, z.core.$ZodTypeInternals<import("..").PaginationRequest, import("..").PaginationRequest>>>;
|
|
@@ -80,6 +80,12 @@ function isRuntimeSchemaDirectory(name) {
|
|
|
80
80
|
return name !== "bundled" && !TRANSPORT_PROJECTION_DIRECTORIES.has(name);
|
|
81
81
|
}
|
|
82
82
|
function resolveBundleKey(version) {
|
|
83
|
+
if (/^v?2(?:\.|$)/.test(version)) {
|
|
84
|
+
throw new import_errors.ConfigurationError(
|
|
85
|
+
"AdCP 2 reached end of life on 2026-08-01; only AdCP 3 schema bundles are supported.",
|
|
86
|
+
"adcpVersion"
|
|
87
|
+
);
|
|
88
|
+
}
|
|
83
89
|
const minorOnly = version.match(/^(\d+)\.(\d+)$/);
|
|
84
90
|
if (minorOnly) return `${minorOnly[1]}.${minorOnly[2]}`;
|
|
85
91
|
const releasePrecisionPre = version.match(/^(\d+)\.(\d+)-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*$/);
|
|
@@ -24,6 +24,12 @@ function isRuntimeSchemaDirectory(name) {
|
|
|
24
24
|
return name !== "bundled" && !TRANSPORT_PROJECTION_DIRECTORIES.has(name);
|
|
25
25
|
}
|
|
26
26
|
function resolveBundleKey(version) {
|
|
27
|
+
if (/^v?2(?:\.|$)/.test(version)) {
|
|
28
|
+
throw new ConfigurationError(
|
|
29
|
+
"AdCP 2 reached end of life on 2026-08-01; only AdCP 3 schema bundles are supported.",
|
|
30
|
+
"adcpVersion"
|
|
31
|
+
);
|
|
32
|
+
}
|
|
27
33
|
const minorOnly = version.match(/^(\d+)\.(\d+)$/);
|
|
28
34
|
if (minorOnly) return `${minorOnly[1]}.${minorOnly[2]}`;
|
|
29
35
|
const releasePrecisionPre = version.match(/^(\d+)\.(\d+)-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*$/);
|
|
@@ -26,7 +26,6 @@ __export(schema_validator_exports, {
|
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(schema_validator_exports);
|
|
28
28
|
var import_schema_loader = require('./schema-loader.js');
|
|
29
|
-
var import_version = require('../version.js');
|
|
30
29
|
var import_hints = require('./hints.js');
|
|
31
30
|
var import_envelope_status_compat = require('../utils/envelope-status-compat.js');
|
|
32
31
|
var import_diagnostic_limits = require('./diagnostic-limits.js');
|
|
@@ -310,29 +309,6 @@ function validateRequest(toolName, payload, version) {
|
|
|
310
309
|
...rootSchemaId && { schemaId: rootSchemaId }
|
|
311
310
|
};
|
|
312
311
|
}
|
|
313
|
-
function stripEnvelopeNulls(payload, schema) {
|
|
314
|
-
if (payload == null || typeof payload !== "object" || Array.isArray(payload)) return payload;
|
|
315
|
-
const s = schema;
|
|
316
|
-
if (!s) return payload;
|
|
317
|
-
const properties = s.properties;
|
|
318
|
-
if (!properties) return payload;
|
|
319
|
-
const required = new Set(Array.isArray(s.required) ? s.required : []);
|
|
320
|
-
const payloadObj = payload;
|
|
321
|
-
let cloned = null;
|
|
322
|
-
for (const [key, value] of Object.entries(payloadObj)) {
|
|
323
|
-
if (value !== null) continue;
|
|
324
|
-
if (required.has(key)) continue;
|
|
325
|
-
const propSchema = properties[key];
|
|
326
|
-
if (!propSchema) continue;
|
|
327
|
-
const type = propSchema.type;
|
|
328
|
-
const isNullable = type === "null" || Array.isArray(type) && type.includes("null");
|
|
329
|
-
if (!isNullable) {
|
|
330
|
-
if (!cloned) cloned = { ...payloadObj };
|
|
331
|
-
delete cloned[key];
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
return cloned ?? payload;
|
|
335
|
-
}
|
|
336
312
|
function selectResponseVariant(payload) {
|
|
337
313
|
if (payload && typeof payload === "object" && "status" in payload) {
|
|
338
314
|
const status = payload.status;
|
|
@@ -349,8 +325,7 @@ function validateResponse(toolName, payload, version) {
|
|
|
349
325
|
const effective = validator ?? (variant !== "sync" ? (0, import_schema_loader.getValidator)(toolName, "sync", version) : void 0);
|
|
350
326
|
if (!effective) return OK;
|
|
351
327
|
const rootSchema = effective.schema;
|
|
352
|
-
const
|
|
353
|
-
const normalizedPayload = isV2Bundle ? stripEnvelopeNulls(compatPayload, rootSchema) : compatPayload;
|
|
328
|
+
const normalizedPayload = compatPayload;
|
|
354
329
|
const valid = effective(normalizedPayload);
|
|
355
330
|
const usedVariant = validator ? variant : "sync";
|
|
356
331
|
const variantFallback = !validator && variant !== "sync";
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { getValidator, getRegisteredSchemaIds } from "./schema-loader.mjs";
|
|
2
|
-
import { parseAdcpMajorVersion } from "../version.mjs";
|
|
3
2
|
import { findHint } from "./hints.mjs";
|
|
4
3
|
import { injectLegacyEnvelopeStatus } from "../utils/envelope-status-compat.mjs";
|
|
5
4
|
import { boundValidationIssues } from "./diagnostic-limits.mjs";
|
|
@@ -283,29 +282,6 @@ function validateRequest(toolName, payload, version) {
|
|
|
283
282
|
...rootSchemaId && { schemaId: rootSchemaId }
|
|
284
283
|
};
|
|
285
284
|
}
|
|
286
|
-
function stripEnvelopeNulls(payload, schema) {
|
|
287
|
-
if (payload == null || typeof payload !== "object" || Array.isArray(payload)) return payload;
|
|
288
|
-
const s = schema;
|
|
289
|
-
if (!s) return payload;
|
|
290
|
-
const properties = s.properties;
|
|
291
|
-
if (!properties) return payload;
|
|
292
|
-
const required = new Set(Array.isArray(s.required) ? s.required : []);
|
|
293
|
-
const payloadObj = payload;
|
|
294
|
-
let cloned = null;
|
|
295
|
-
for (const [key, value] of Object.entries(payloadObj)) {
|
|
296
|
-
if (value !== null) continue;
|
|
297
|
-
if (required.has(key)) continue;
|
|
298
|
-
const propSchema = properties[key];
|
|
299
|
-
if (!propSchema) continue;
|
|
300
|
-
const type = propSchema.type;
|
|
301
|
-
const isNullable = type === "null" || Array.isArray(type) && type.includes("null");
|
|
302
|
-
if (!isNullable) {
|
|
303
|
-
if (!cloned) cloned = { ...payloadObj };
|
|
304
|
-
delete cloned[key];
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
return cloned ?? payload;
|
|
308
|
-
}
|
|
309
285
|
function selectResponseVariant(payload) {
|
|
310
286
|
if (payload && typeof payload === "object" && "status" in payload) {
|
|
311
287
|
const status = payload.status;
|
|
@@ -322,8 +298,7 @@ function validateResponse(toolName, payload, version) {
|
|
|
322
298
|
const effective = validator ?? (variant !== "sync" ? getValidator(toolName, "sync", version) : void 0);
|
|
323
299
|
if (!effective) return OK;
|
|
324
300
|
const rootSchema = effective.schema;
|
|
325
|
-
const
|
|
326
|
-
const normalizedPayload = isV2Bundle ? stripEnvelopeNulls(compatPayload, rootSchema) : compatPayload;
|
|
301
|
+
const normalizedPayload = compatPayload;
|
|
327
302
|
const valid = effective(normalizedPayload);
|
|
328
303
|
const usedVariant = validator ? variant : "sync";
|
|
329
304
|
const variantFallback = !validator && variant !== "sync";
|
package/dist/lib/version.d.mts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AdCP SDK library version
|
|
3
3
|
*/
|
|
4
|
-
export declare const LIBRARY_VERSION = "16.0.0
|
|
4
|
+
export declare const LIBRARY_VERSION = "16.0.0";
|
|
5
5
|
/**
|
|
6
6
|
* AdCP specification version this library is built for
|
|
7
7
|
*/
|
|
@@ -19,7 +19,7 @@ export declare const ADCP_MAJOR_VERSION = 3;
|
|
|
19
19
|
* this list by hand; bumping the AdCP pin via `npm run sync-version`
|
|
20
20
|
* extends it.
|
|
21
21
|
*/
|
|
22
|
-
export declare const COMPATIBLE_ADCP_VERSIONS: readonly ["
|
|
22
|
+
export declare const COMPATIBLE_ADCP_VERSIONS: readonly ["v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
|
|
23
23
|
/**
|
|
24
24
|
* String literal union of every AdCP version the SDK formally supports.
|
|
25
25
|
*
|
|
@@ -33,10 +33,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
|
|
|
33
33
|
* Full version information
|
|
34
34
|
*/
|
|
35
35
|
export declare const VERSION_INFO: {
|
|
36
|
-
readonly library: "16.0.0
|
|
36
|
+
readonly library: "16.0.0";
|
|
37
37
|
readonly adcp: "3.2.5";
|
|
38
|
-
readonly compatibleVersions: readonly ["
|
|
39
|
-
readonly generatedAt: "2026-10-
|
|
38
|
+
readonly compatibleVersions: readonly ["v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
|
|
39
|
+
readonly generatedAt: "2026-10-19T23:27:30.750Z";
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
42
|
* Get the AdCP specification version this library is built for
|
package/dist/lib/version.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AdCP SDK library version
|
|
3
3
|
*/
|
|
4
|
-
export declare const LIBRARY_VERSION = "16.0.0
|
|
4
|
+
export declare const LIBRARY_VERSION = "16.0.0";
|
|
5
5
|
/**
|
|
6
6
|
* AdCP specification version this library is built for
|
|
7
7
|
*/
|
|
@@ -19,7 +19,7 @@ export declare const ADCP_MAJOR_VERSION = 3;
|
|
|
19
19
|
* this list by hand; bumping the AdCP pin via `npm run sync-version`
|
|
20
20
|
* extends it.
|
|
21
21
|
*/
|
|
22
|
-
export declare const COMPATIBLE_ADCP_VERSIONS: readonly ["
|
|
22
|
+
export declare const COMPATIBLE_ADCP_VERSIONS: readonly ["v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
|
|
23
23
|
/**
|
|
24
24
|
* String literal union of every AdCP version the SDK formally supports.
|
|
25
25
|
*
|
|
@@ -33,10 +33,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
|
|
|
33
33
|
* Full version information
|
|
34
34
|
*/
|
|
35
35
|
export declare const VERSION_INFO: {
|
|
36
|
-
readonly library: "16.0.0
|
|
36
|
+
readonly library: "16.0.0";
|
|
37
37
|
readonly adcp: "3.2.5";
|
|
38
|
-
readonly compatibleVersions: readonly ["
|
|
39
|
-
readonly generatedAt: "2026-10-
|
|
38
|
+
readonly compatibleVersions: readonly ["v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
|
|
39
|
+
readonly generatedAt: "2026-10-19T23:27:30.750Z";
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
42
|
* Get the AdCP specification version this library is built for
|