@adcp/sdk 12.1.1 → 13.0.0-rc.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/README.md +19 -3
- package/bin/adcp-fuzz.js +3 -1
- package/dist/lib/adapters/content-standards-adapter.d.mts +9 -9
- package/dist/lib/adapters/content-standards-adapter.d.ts +9 -9
- package/dist/lib/adapters/content-standards-adapter.d.ts.map +1 -1
- package/dist/lib/adapters/content-standards-adapter.js +22 -22
- package/dist/lib/adapters/content-standards-adapter.js.map +1 -1
- package/dist/lib/adapters/content-standards-adapter.mjs +18 -18
- package/dist/lib/adapters/content-standards-adapter.mjs.map +1 -1
- package/dist/lib/adapters/index.d.mts +2 -2
- package/dist/lib/adapters/index.d.ts +2 -2
- package/dist/lib/adapters/index.d.ts.map +1 -1
- package/dist/lib/adapters/index.js +10 -10
- package/dist/lib/adapters/index.js.map +1 -1
- package/dist/lib/adapters/index.mjs +9 -9
- package/dist/lib/adapters/index.mjs.map +1 -1
- package/dist/lib/auth/oauth/provider-cache.d.mts +7 -0
- package/dist/lib/auth/oauth/provider-cache.d.ts +8 -0
- package/dist/lib/auth/oauth/provider-cache.d.ts.map +1 -0
- package/dist/lib/auth/oauth/provider-cache.js +44 -0
- package/dist/lib/auth/oauth/provider-cache.js.map +1 -0
- package/dist/lib/auth/oauth/provider-cache.mjs +19 -0
- package/dist/lib/auth/oauth/provider-cache.mjs.map +1 -0
- package/dist/lib/conformance/invariants/uniformError.js +1 -1
- package/dist/lib/conformance/invariants/uniformError.js.map +1 -1
- package/dist/lib/conformance/invariants/uniformError.mjs +1 -1
- package/dist/lib/conformance/invariants/uniformError.mjs.map +1 -1
- package/dist/lib/conformance/runners.js +1 -1
- package/dist/lib/conformance/runners.js.map +1 -1
- package/dist/lib/conformance/runners.mjs +1 -1
- package/dist/lib/conformance/runners.mjs.map +1 -1
- package/dist/lib/conformance/seeder.js +5 -5
- package/dist/lib/conformance/seeder.js.map +1 -1
- package/dist/lib/conformance/seeder.mjs +5 -5
- package/dist/lib/conformance/seeder.mjs.map +1 -1
- package/dist/lib/core/ADCPMultiAgentClient.d.mts +26 -29
- package/dist/lib/core/ADCPMultiAgentClient.d.ts +26 -29
- package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -1
- package/dist/lib/core/ADCPMultiAgentClient.js +27 -19
- package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -1
- package/dist/lib/core/ADCPMultiAgentClient.mjs +27 -19
- package/dist/lib/core/ADCPMultiAgentClient.mjs.map +1 -1
- package/dist/lib/core/AgentClient.d.mts +148 -138
- package/dist/lib/core/AgentClient.d.ts +148 -138
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js +174 -85
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/core/AgentClient.mjs +174 -85
- package/dist/lib/core/AgentClient.mjs.map +1 -1
- package/dist/lib/core/AsyncHandler.d.mts +18 -16
- package/dist/lib/core/AsyncHandler.d.ts +18 -16
- package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
- package/dist/lib/core/AsyncHandler.js +22 -1
- package/dist/lib/core/AsyncHandler.js.map +1 -1
- package/dist/lib/core/AsyncHandler.mjs +22 -1
- package/dist/lib/core/AsyncHandler.mjs.map +1 -1
- package/dist/lib/core/ConversationTypes.d.mts +6 -2
- package/dist/lib/core/ConversationTypes.d.ts +6 -2
- package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
- package/dist/lib/core/ConversationTypes.js.map +1 -1
- package/dist/lib/core/CreativeAgentClient.d.mts +41 -17
- package/dist/lib/core/CreativeAgentClient.d.ts +41 -17
- package/dist/lib/core/CreativeAgentClient.d.ts.map +1 -1
- package/dist/lib/core/CreativeAgentClient.js +39 -12
- package/dist/lib/core/CreativeAgentClient.js.map +1 -1
- package/dist/lib/core/CreativeAgentClient.mjs +39 -12
- package/dist/lib/core/CreativeAgentClient.mjs.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.mts +127 -50
- package/dist/lib/core/SingleAgentClient.d.ts +127 -50
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +1617 -177
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/SingleAgentClient.mjs +1627 -177
- package/dist/lib/core/SingleAgentClient.mjs.map +1 -1
- package/dist/lib/core/TaskExecutor.d.mts +9 -0
- package/dist/lib/core/TaskExecutor.d.ts +9 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +136 -43
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/core/TaskExecutor.mjs +136 -43
- package/dist/lib/core/TaskExecutor.mjs.map +1 -1
- package/dist/lib/index.d.mts +111 -17
- package/dist/lib/index.d.ts +111 -17
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +94 -94
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +93 -94
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/protocols/index.d.ts.map +1 -1
- package/dist/lib/protocols/index.js +6 -15
- package/dist/lib/protocols/index.js.map +1 -1
- package/dist/lib/protocols/index.mjs +6 -16
- package/dist/lib/protocols/index.mjs.map +1 -1
- package/dist/lib/protocols/mcp-modern.d.ts.map +1 -1
- package/dist/lib/protocols/mcp-modern.js +87 -12
- package/dist/lib/protocols/mcp-modern.js.map +1 -1
- package/dist/lib/protocols/mcp-modern.mjs +89 -12
- package/dist/lib/protocols/mcp-modern.mjs.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/create-adcp-server.d.mts +6 -0
- package/dist/lib/server/create-adcp-server.d.ts +6 -0
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +295 -48
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/server/create-adcp-server.mjs +301 -50
- package/dist/lib/server/create-adcp-server.mjs.map +1 -1
- package/dist/lib/server/decisioning/assembly-helpers.d.mts +27 -13
- package/dist/lib/server/decisioning/assembly-helpers.d.ts +27 -13
- package/dist/lib/server/decisioning/assembly-helpers.d.ts.map +1 -1
- package/dist/lib/server/decisioning/assembly-helpers.js +136 -14
- package/dist/lib/server/decisioning/assembly-helpers.js.map +1 -1
- package/dist/lib/server/decisioning/assembly-helpers.mjs +134 -13
- package/dist/lib/server/decisioning/assembly-helpers.mjs.map +1 -1
- package/dist/lib/server/decisioning/index.d.mts +13 -12
- package/dist/lib/server/decisioning/index.d.ts +13 -12
- package/dist/lib/server/decisioning/index.d.ts.map +1 -1
- package/dist/lib/server/decisioning/index.js +6 -0
- package/dist/lib/server/decisioning/index.js.map +1 -1
- package/dist/lib/server/decisioning/index.mjs +9 -3
- package/dist/lib/server/decisioning/index.mjs.map +1 -1
- package/dist/lib/server/decisioning/list-helpers.d.mts +13 -3
- package/dist/lib/server/decisioning/list-helpers.d.ts +13 -3
- package/dist/lib/server/decisioning/list-helpers.d.ts.map +1 -1
- package/dist/lib/server/decisioning/list-helpers.js +13 -3
- package/dist/lib/server/decisioning/list-helpers.js.map +1 -1
- package/dist/lib/server/decisioning/list-helpers.mjs +11 -2
- package/dist/lib/server/decisioning/list-helpers.mjs.map +1 -1
- package/dist/lib/server/decisioning/manifest-helpers.d.mts +5 -3
- package/dist/lib/server/decisioning/manifest-helpers.d.ts +5 -3
- package/dist/lib/server/decisioning/manifest-helpers.d.ts.map +1 -1
- package/dist/lib/server/decisioning/manifest-helpers.js.map +1 -1
- package/dist/lib/server/decisioning/manifest-helpers.mjs.map +1 -1
- package/dist/lib/server/decisioning/proposal/dispatch.d.mts +2 -2
- package/dist/lib/server/decisioning/proposal/dispatch.d.ts +2 -2
- package/dist/lib/server/decisioning/proposal/dispatch.d.ts.map +1 -1
- package/dist/lib/server/decisioning/proposal/dispatch.js.map +1 -1
- package/dist/lib/server/decisioning/proposal/dispatch.mjs.map +1 -1
- package/dist/lib/server/decisioning/proposal/index.d.mts +1 -1
- package/dist/lib/server/decisioning/proposal/index.d.ts +1 -1
- package/dist/lib/server/decisioning/proposal/index.d.ts.map +1 -1
- package/dist/lib/server/decisioning/proposal/index.js.map +1 -1
- package/dist/lib/server/decisioning/proposal/index.mjs.map +1 -1
- package/dist/lib/server/decisioning/proposal/lifecycle.d.mts +3 -2
- package/dist/lib/server/decisioning/proposal/lifecycle.d.ts +3 -2
- package/dist/lib/server/decisioning/proposal/lifecycle.d.ts.map +1 -1
- package/dist/lib/server/decisioning/proposal/lifecycle.js.map +1 -1
- package/dist/lib/server/decisioning/proposal/lifecycle.mjs.map +1 -1
- package/dist/lib/server/decisioning/proposal/mock-manager.d.mts +3 -3
- package/dist/lib/server/decisioning/proposal/mock-manager.d.ts +3 -3
- package/dist/lib/server/decisioning/proposal/mock-manager.d.ts.map +1 -1
- package/dist/lib/server/decisioning/proposal/mock-manager.js.map +1 -1
- package/dist/lib/server/decisioning/proposal/mock-manager.mjs.map +1 -1
- package/dist/lib/server/decisioning/proposal/types.d.mts +10 -6
- package/dist/lib/server/decisioning/proposal/types.d.ts +10 -6
- package/dist/lib/server/decisioning/proposal/types.d.ts.map +1 -1
- package/dist/lib/server/decisioning/proposal/types.js.map +1 -1
- package/dist/lib/server/decisioning/proposal/types.mjs.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.d.mts +21 -2
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts +21 -2
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.js +754 -81
- package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.mjs +763 -81
- package/dist/lib/server/decisioning/runtime/from-platform.mjs.map +1 -1
- package/dist/lib/server/decisioning/specialisms/brand-rights.d.mts +9 -9
- package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts +9 -9
- package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts.map +1 -1
- package/dist/lib/server/decisioning/specialisms/brand-rights.js.map +1 -1
- package/dist/lib/server/decisioning/specialisms/content-standards.d.mts +16 -16
- package/dist/lib/server/decisioning/specialisms/content-standards.d.ts +16 -16
- package/dist/lib/server/decisioning/specialisms/content-standards.d.ts.map +1 -1
- package/dist/lib/server/decisioning/specialisms/content-standards.js.map +1 -1
- package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.mts +15 -13
- package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts +15 -13
- package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts.map +1 -1
- package/dist/lib/server/decisioning/specialisms/creative-ad-server.js.map +1 -1
- package/dist/lib/server/decisioning/specialisms/creative.d.mts +12 -11
- package/dist/lib/server/decisioning/specialisms/creative.d.ts +12 -11
- package/dist/lib/server/decisioning/specialisms/creative.d.ts.map +1 -1
- package/dist/lib/server/decisioning/specialisms/creative.js.map +1 -1
- package/dist/lib/server/decisioning/specialisms/sales.d.mts +25 -15
- package/dist/lib/server/decisioning/specialisms/sales.d.ts +25 -15
- package/dist/lib/server/decisioning/specialisms/sales.d.ts.map +1 -1
- package/dist/lib/server/decisioning/specialisms/sales.js.map +1 -1
- package/dist/lib/server/index.d.mts +3 -3
- package/dist/lib/server/index.d.ts +3 -3
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js +72 -72
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/server/index.mjs +36 -36
- package/dist/lib/server/index.mjs.map +1 -1
- package/dist/lib/server/legacy/v5/index.d.mts +1 -0
- package/dist/lib/server/legacy/v5/index.d.ts +1 -0
- package/dist/lib/server/legacy/v5/index.d.ts.map +1 -1
- package/dist/lib/server/legacy/v5/index.js +74 -1
- package/dist/lib/server/legacy/v5/index.js.map +1 -1
- package/dist/lib/server/legacy/v5/index.mjs +75 -1
- package/dist/lib/server/legacy/v5/index.mjs.map +1 -1
- package/dist/lib/server/responses.d.mts +2 -2
- package/dist/lib/server/responses.d.ts +2 -2
- package/dist/lib/server/responses.js.map +1 -1
- package/dist/lib/server/responses.mjs.map +1 -1
- package/dist/lib/testing/client.js +1 -1
- package/dist/lib/testing/client.js.map +1 -1
- package/dist/lib/testing/client.mjs +1 -1
- package/dist/lib/testing/client.mjs.map +1 -1
- package/dist/lib/testing/scenarios/brand-rights.js +6 -6
- package/dist/lib/testing/scenarios/brand-rights.js.map +1 -1
- package/dist/lib/testing/scenarios/brand-rights.mjs +6 -6
- package/dist/lib/testing/scenarios/brand-rights.mjs.map +1 -1
- package/dist/lib/testing/scenarios/creative.js +7 -7
- package/dist/lib/testing/scenarios/creative.js.map +1 -1
- package/dist/lib/testing/scenarios/creative.mjs +7 -7
- package/dist/lib/testing/scenarios/creative.mjs.map +1 -1
- package/dist/lib/testing/scenarios/discovery.js +2 -2
- package/dist/lib/testing/scenarios/discovery.js.map +1 -1
- package/dist/lib/testing/scenarios/discovery.mjs +2 -2
- package/dist/lib/testing/scenarios/discovery.mjs.map +1 -1
- package/dist/lib/testing/scenarios/edge-cases.js +11 -11
- package/dist/lib/testing/scenarios/edge-cases.js.map +1 -1
- package/dist/lib/testing/scenarios/edge-cases.mjs +11 -11
- package/dist/lib/testing/scenarios/edge-cases.mjs.map +1 -1
- package/dist/lib/testing/scenarios/governance.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/governance.js +16 -22
- package/dist/lib/testing/scenarios/governance.js.map +1 -1
- package/dist/lib/testing/scenarios/governance.mjs +16 -22
- package/dist/lib/testing/scenarios/governance.mjs.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.js +5 -5
- package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
- package/dist/lib/testing/scenarios/media-buy.mjs +5 -5
- package/dist/lib/testing/scenarios/media-buy.mjs.map +1 -1
- package/dist/lib/testing/scenarios/schema-compliance.js +1 -1
- package/dist/lib/testing/scenarios/schema-compliance.js.map +1 -1
- package/dist/lib/testing/scenarios/schema-compliance.mjs +1 -1
- package/dist/lib/testing/scenarios/schema-compliance.mjs.map +1 -1
- package/dist/lib/testing/scenarios/trusted-match.d.ts.map +1 -1
- package/dist/lib/testing/scenarios/trusted-match.js +4 -3
- package/dist/lib/testing/scenarios/trusted-match.js.map +1 -1
- package/dist/lib/testing/scenarios/trusted-match.mjs +4 -3
- package/dist/lib/testing/scenarios/trusted-match.mjs.map +1 -1
- package/dist/lib/testing/storyboard/shape-drift-hints.d.mts +3 -4
- package/dist/lib/testing/storyboard/shape-drift-hints.d.ts +3 -4
- package/dist/lib/testing/storyboard/shape-drift-hints.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/shape-drift-hints.js +27 -27
- package/dist/lib/testing/storyboard/shape-drift-hints.js.map +1 -1
- package/dist/lib/testing/storyboard/shape-drift-hints.mjs +27 -27
- package/dist/lib/testing/storyboard/shape-drift-hints.mjs.map +1 -1
- package/dist/lib/testing/storyboard/task-map.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/task-map.js +43 -5
- package/dist/lib/testing/storyboard/task-map.js.map +1 -1
- package/dist/lib/testing/storyboard/task-map.mjs +43 -5
- package/dist/lib/testing/storyboard/task-map.mjs.map +1 -1
- package/dist/lib/testing/test-helpers.d.mts +2 -2
- package/dist/lib/testing/test-helpers.d.ts +2 -2
- package/dist/lib/testing/test-helpers.js.map +1 -1
- package/dist/lib/testing/test-helpers.mjs.map +1 -1
- package/dist/lib/types/adcp.d.mts +14 -14
- package/dist/lib/types/adcp.d.ts +14 -14
- package/dist/lib/types/adcp.d.ts.map +1 -1
- package/dist/lib/types/adcp.js.map +1 -1
- package/dist/lib/types/adcp.mjs.map +1 -1
- package/dist/lib/types/index.d.mts +2 -2
- package/dist/lib/types/index.d.ts +2 -2
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/types/index.mjs.map +1 -1
- package/dist/lib/utils/capabilities.d.mts +6 -0
- package/dist/lib/utils/capabilities.d.ts +6 -0
- package/dist/lib/utils/capabilities.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.js +4 -0
- package/dist/lib/utils/capabilities.js.map +1 -1
- package/dist/lib/utils/capabilities.mjs +4 -0
- package/dist/lib/utils/capabilities.mjs.map +1 -1
- package/dist/lib/utils/creative-delivery.d.mts +52 -10
- package/dist/lib/utils/creative-delivery.d.ts +52 -10
- package/dist/lib/utils/creative-delivery.d.ts.map +1 -1
- package/dist/lib/utils/creative-delivery.js +104 -9
- package/dist/lib/utils/creative-delivery.js.map +1 -1
- package/dist/lib/utils/creative-delivery.mjs +104 -8
- package/dist/lib/utils/creative-delivery.mjs.map +1 -1
- package/dist/lib/utils/format-assets.d.mts +41 -38
- package/dist/lib/utils/format-assets.d.ts +41 -38
- package/dist/lib/utils/format-assets.d.ts.map +1 -1
- package/dist/lib/utils/format-assets.js +3 -1
- package/dist/lib/utils/format-assets.js.map +1 -1
- package/dist/lib/utils/format-assets.mjs +3 -1
- package/dist/lib/utils/format-assets.mjs.map +1 -1
- package/dist/lib/utils/index.d.mts +8 -8
- package/dist/lib/utils/index.d.ts +8 -8
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +11 -9
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/index.mjs +9 -8
- package/dist/lib/utils/index.mjs.map +1 -1
- package/dist/lib/utils/preview-utils.d.mts +11 -8
- package/dist/lib/utils/preview-utils.d.ts +11 -8
- package/dist/lib/utils/preview-utils.d.ts.map +1 -1
- package/dist/lib/utils/preview-utils.js +4 -4
- package/dist/lib/utils/preview-utils.js.map +1 -1
- package/dist/lib/utils/preview-utils.mjs +3 -3
- package/dist/lib/utils/preview-utils.mjs.map +1 -1
- package/dist/lib/utils/tool-request-schemas.d.mts +2 -2
- package/dist/lib/utils/tool-request-schemas.d.ts +2 -2
- package/dist/lib/v2/projection/aao-reference-formats.json +492 -0
- package/dist/lib/v2/projection/augment-response.d.mts +31 -11
- package/dist/lib/v2/projection/augment-response.d.ts +31 -11
- package/dist/lib/v2/projection/augment-response.d.ts.map +1 -1
- package/dist/lib/v2/projection/augment-response.js +233 -27
- package/dist/lib/v2/projection/augment-response.js.map +1 -1
- package/dist/lib/v2/projection/augment-response.mjs +232 -27
- package/dist/lib/v2/projection/augment-response.mjs.map +1 -1
- package/dist/lib/v2/projection/builders.d.mts +7 -6
- package/dist/lib/v2/projection/builders.d.ts +7 -6
- package/dist/lib/v2/projection/builders.d.ts.map +1 -1
- package/dist/lib/v2/projection/builders.js +11 -8
- package/dist/lib/v2/projection/builders.js.map +1 -1
- package/dist/lib/v2/projection/builders.mjs +9 -6
- package/dist/lib/v2/projection/builders.mjs.map +1 -1
- package/dist/lib/v2/projection/catalog-snapshot.d.mts +47 -0
- package/dist/lib/v2/projection/catalog-snapshot.d.ts +48 -0
- package/dist/lib/v2/projection/catalog-snapshot.d.ts.map +1 -0
- package/dist/lib/v2/projection/catalog-snapshot.js +291 -0
- package/dist/lib/v2/projection/catalog-snapshot.js.map +1 -0
- package/dist/lib/v2/projection/catalog-snapshot.mjs +265 -0
- package/dist/lib/v2/projection/catalog-snapshot.mjs.map +1 -0
- package/dist/lib/v2/projection/catalog.d.mts +23 -2
- package/dist/lib/v2/projection/catalog.d.ts +23 -2
- package/dist/lib/v2/projection/catalog.d.ts.map +1 -1
- package/dist/lib/v2/projection/catalog.js +34 -10
- package/dist/lib/v2/projection/catalog.js.map +1 -1
- package/dist/lib/v2/projection/catalog.mjs +33 -10
- package/dist/lib/v2/projection/catalog.mjs.map +1 -1
- package/dist/lib/v2/projection/creative-delivery.d.mts +157 -0
- package/dist/lib/v2/projection/creative-delivery.d.ts +158 -0
- package/dist/lib/v2/projection/creative-delivery.d.ts.map +1 -0
- package/dist/lib/v2/projection/creative-delivery.js +967 -0
- package/dist/lib/v2/projection/creative-delivery.js.map +1 -0
- package/dist/lib/v2/projection/creative-delivery.mjs +941 -0
- package/dist/lib/v2/projection/creative-delivery.mjs.map +1 -0
- package/dist/lib/v2/projection/index.d.mts +8 -6
- package/dist/lib/v2/projection/index.d.ts +8 -6
- package/dist/lib/v2/projection/index.d.ts.map +1 -1
- package/dist/lib/v2/projection/index.js +26 -4
- package/dist/lib/v2/projection/index.js.map +1 -1
- package/dist/lib/v2/projection/index.mjs +28 -4
- package/dist/lib/v2/projection/index.mjs.map +1 -1
- package/dist/lib/v2/projection/legacy-metadata.d.mts +21 -0
- package/dist/lib/v2/projection/legacy-metadata.d.ts +22 -0
- package/dist/lib/v2/projection/legacy-metadata.d.ts.map +1 -0
- package/dist/lib/v2/projection/legacy-metadata.js +73 -0
- package/dist/lib/v2/projection/legacy-metadata.js.map +1 -0
- package/dist/lib/v2/projection/legacy-metadata.mjs +45 -0
- package/dist/lib/v2/projection/legacy-metadata.mjs.map +1 -0
- package/dist/lib/v2/projection/types.d.mts +29 -23
- package/dist/lib/v2/projection/types.d.ts +29 -23
- package/dist/lib/v2/projection/types.d.ts.map +1 -1
- package/dist/lib/v2/projection/types.js.map +1 -1
- package/dist/lib/v2/projection/v1-to-v2.d.mts +29 -6
- package/dist/lib/v2/projection/v1-to-v2.d.ts +29 -6
- package/dist/lib/v2/projection/v1-to-v2.d.ts.map +1 -1
- package/dist/lib/v2/projection/v1-to-v2.js +218 -9
- package/dist/lib/v2/projection/v1-to-v2.js.map +1 -1
- package/dist/lib/v2/projection/v1-to-v2.mjs +219 -10
- package/dist/lib/v2/projection/v1-to-v2.mjs.map +1 -1
- package/dist/lib/v2/projection/v2-to-v1.d.mts +31 -2
- package/dist/lib/v2/projection/v2-to-v1.d.ts +31 -2
- package/dist/lib/v2/projection/v2-to-v1.d.ts.map +1 -1
- package/dist/lib/v2/projection/v2-to-v1.js +138 -7
- package/dist/lib/v2/projection/v2-to-v1.js.map +1 -1
- package/dist/lib/v2/projection/v2-to-v1.mjs +135 -6
- package/dist/lib/v2/projection/v2-to-v1.mjs.map +1 -1
- package/dist/lib/v2/projection/write-side.d.mts +12 -13
- package/dist/lib/v2/projection/write-side.d.ts +12 -13
- package/dist/lib/v2/projection/write-side.d.ts.map +1 -1
- package/dist/lib/v2/projection/write-side.js +16 -12
- package/dist/lib/v2/projection/write-side.js.map +1 -1
- package/dist/lib/v2/projection/write-side.mjs +16 -12
- package/dist/lib/v2/projection/write-side.mjs.map +1 -1
- package/dist/lib/version.d.mts +3 -3
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.d.ts.map +1 -1
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.js.map +1 -1
- package/dist/lib/version.mjs +3 -3
- package/dist/lib/version.mjs.map +1 -1
- package/docs/guides/BUILD-AN-AGENT.md +7 -2
- package/docs/guides/PREVIEW-ASSET-DURABILITY.md +6 -2
- package/docs/llms.txt +1 -0
- package/examples/README.md +1 -1
- package/examples/batch-preview-test.ts +3 -3
- package/examples/conversation-client.ts +2 -2
- package/examples/debug-preview-response.ts +1 -1
- package/examples/decisioning-platform-broadcast-tv.ts +10 -4
- package/examples/decisioning-platform-mock-seller.ts +16 -9
- package/examples/decisioning-platform-programmatic.ts +18 -7
- package/examples/error-compliant-server.ts +26 -16
- package/examples/generative-creative-demo.ts +7 -19
- package/examples/hello_creative_adapter_ad_server.ts +37 -16
- package/examples/hello_creative_adapter_template.ts +12 -10
- package/examples/hello_seller_adapter_guaranteed.ts +52 -23
- package/examples/hello_seller_adapter_multi_tenant.ts +6 -3
- package/examples/hello_seller_adapter_non_guaranteed.ts +54 -26
- package/examples/hello_seller_adapter_proposal_mode.ts +40 -14
- package/examples/hello_seller_adapter_social.ts +2 -7
- package/examples/inspect-card-formats.ts +1 -1
- package/examples/simple-getting-started.ts +1 -1
- package/examples/test-helpers-demo.ts +1 -1
- package/package.json +2 -2
- package/skills/build-decisioning-creative-template/SKILL.md +11 -11
- package/skills/build-decisioning-platform/advanced/REFERENCE.md +8 -2
|
@@ -5241,5 +5241,497 @@
|
|
|
5241
5241
|
"canonical": {
|
|
5242
5242
|
"kind": "agent_placement"
|
|
5243
5243
|
}
|
|
5244
|
+
},
|
|
5245
|
+
{
|
|
5246
|
+
"format_id": {
|
|
5247
|
+
"agent_url": "https://creative.adcontextprotocol.org/",
|
|
5248
|
+
"id": "display_320x50_html"
|
|
5249
|
+
},
|
|
5250
|
+
"name": "Mobile Leaderboard - HTML5",
|
|
5251
|
+
"description": "320x50 HTML5 creative",
|
|
5252
|
+
"type": "display",
|
|
5253
|
+
"renders": [
|
|
5254
|
+
{
|
|
5255
|
+
"dimensions": {
|
|
5256
|
+
"height": 50,
|
|
5257
|
+
"responsive": {
|
|
5258
|
+
"height": false,
|
|
5259
|
+
"width": false
|
|
5260
|
+
},
|
|
5261
|
+
"width": 320
|
|
5262
|
+
},
|
|
5263
|
+
"role": "primary"
|
|
5264
|
+
}
|
|
5265
|
+
],
|
|
5266
|
+
"assets": [
|
|
5267
|
+
{
|
|
5268
|
+
"item_type": "individual",
|
|
5269
|
+
"asset_id": "html_creative",
|
|
5270
|
+
"required": true,
|
|
5271
|
+
"asset_type": "html",
|
|
5272
|
+
"requirements": {
|
|
5273
|
+
"sandbox": "none",
|
|
5274
|
+
"width": 320,
|
|
5275
|
+
"height": 50,
|
|
5276
|
+
"max_file_size_mb": 0.5,
|
|
5277
|
+
"description": "HTML5 creative code"
|
|
5278
|
+
}
|
|
5279
|
+
},
|
|
5280
|
+
{
|
|
5281
|
+
"item_type": "individual",
|
|
5282
|
+
"asset_id": "impression_tracker",
|
|
5283
|
+
"required": false,
|
|
5284
|
+
"asset_type": "pixel_tracker",
|
|
5285
|
+
"requirements": {
|
|
5286
|
+
"description": "3rd party impression tracking pixel URL"
|
|
5287
|
+
},
|
|
5288
|
+
"event": "impression",
|
|
5289
|
+
"method": "img"
|
|
5290
|
+
},
|
|
5291
|
+
{
|
|
5292
|
+
"item_type": "individual",
|
|
5293
|
+
"asset_id": "viewability_tracker",
|
|
5294
|
+
"required": false,
|
|
5295
|
+
"asset_type": "pixel_tracker",
|
|
5296
|
+
"event": "viewable_mrc_50",
|
|
5297
|
+
"method": "img",
|
|
5298
|
+
"requirements": {
|
|
5299
|
+
"description": "MRC 50% viewable tracker pixel (1-second viewability for display, 2-seconds with audio for video). Optional — measurement vendor URLs the seller's renderer fires when the viewable threshold is met."
|
|
5300
|
+
}
|
|
5301
|
+
},
|
|
5302
|
+
{
|
|
5303
|
+
"item_type": "individual",
|
|
5304
|
+
"asset_id": "click_tracker",
|
|
5305
|
+
"required": false,
|
|
5306
|
+
"asset_type": "pixel_tracker",
|
|
5307
|
+
"event": "click",
|
|
5308
|
+
"method": "img",
|
|
5309
|
+
"requirements": {
|
|
5310
|
+
"description": "Click measurement tracker pixel (distinct from landing_page_url, the destination). Optional — measurement vendor URL fired when the user clicks the creative, in addition to navigating to landing_page_url."
|
|
5311
|
+
}
|
|
5312
|
+
}
|
|
5313
|
+
],
|
|
5314
|
+
"supported_macros": [
|
|
5315
|
+
"MEDIA_BUY_ID",
|
|
5316
|
+
"CREATIVE_ID",
|
|
5317
|
+
"CACHEBUSTER",
|
|
5318
|
+
"CLICK_URL",
|
|
5319
|
+
"DEVICE_TYPE",
|
|
5320
|
+
"GDPR",
|
|
5321
|
+
"GDPR_CONSENT",
|
|
5322
|
+
"US_PRIVACY",
|
|
5323
|
+
"GPP_STRING"
|
|
5324
|
+
],
|
|
5325
|
+
"assets_required": [
|
|
5326
|
+
{
|
|
5327
|
+
"asset_id": "html_creative",
|
|
5328
|
+
"item_type": "individual",
|
|
5329
|
+
"required": true,
|
|
5330
|
+
"asset_type": "html",
|
|
5331
|
+
"requirements": {
|
|
5332
|
+
"sandbox": "none",
|
|
5333
|
+
"width": 320,
|
|
5334
|
+
"height": 50,
|
|
5335
|
+
"max_file_size_mb": 0.5,
|
|
5336
|
+
"description": "HTML5 creative code"
|
|
5337
|
+
}
|
|
5338
|
+
}
|
|
5339
|
+
],
|
|
5340
|
+
"canonical": {
|
|
5341
|
+
"kind": "html5"
|
|
5342
|
+
}
|
|
5343
|
+
},
|
|
5344
|
+
{
|
|
5345
|
+
"format_id": {
|
|
5346
|
+
"agent_url": "https://creative.adcontextprotocol.org/",
|
|
5347
|
+
"id": "display_300x50_html"
|
|
5348
|
+
},
|
|
5349
|
+
"name": "Mobile Banner - HTML5",
|
|
5350
|
+
"description": "300x50 HTML5 creative",
|
|
5351
|
+
"type": "display",
|
|
5352
|
+
"renders": [
|
|
5353
|
+
{
|
|
5354
|
+
"dimensions": {
|
|
5355
|
+
"height": 50,
|
|
5356
|
+
"responsive": {
|
|
5357
|
+
"height": false,
|
|
5358
|
+
"width": false
|
|
5359
|
+
},
|
|
5360
|
+
"width": 300
|
|
5361
|
+
},
|
|
5362
|
+
"role": "primary"
|
|
5363
|
+
}
|
|
5364
|
+
],
|
|
5365
|
+
"assets": [
|
|
5366
|
+
{
|
|
5367
|
+
"item_type": "individual",
|
|
5368
|
+
"asset_id": "html_creative",
|
|
5369
|
+
"required": true,
|
|
5370
|
+
"asset_type": "html",
|
|
5371
|
+
"requirements": {
|
|
5372
|
+
"sandbox": "none",
|
|
5373
|
+
"width": 300,
|
|
5374
|
+
"height": 50,
|
|
5375
|
+
"max_file_size_mb": 0.5,
|
|
5376
|
+
"description": "HTML5 creative code"
|
|
5377
|
+
}
|
|
5378
|
+
},
|
|
5379
|
+
{
|
|
5380
|
+
"item_type": "individual",
|
|
5381
|
+
"asset_id": "impression_tracker",
|
|
5382
|
+
"required": false,
|
|
5383
|
+
"asset_type": "pixel_tracker",
|
|
5384
|
+
"requirements": {
|
|
5385
|
+
"description": "3rd party impression tracking pixel URL"
|
|
5386
|
+
},
|
|
5387
|
+
"event": "impression",
|
|
5388
|
+
"method": "img"
|
|
5389
|
+
},
|
|
5390
|
+
{
|
|
5391
|
+
"item_type": "individual",
|
|
5392
|
+
"asset_id": "viewability_tracker",
|
|
5393
|
+
"required": false,
|
|
5394
|
+
"asset_type": "pixel_tracker",
|
|
5395
|
+
"event": "viewable_mrc_50",
|
|
5396
|
+
"method": "img",
|
|
5397
|
+
"requirements": {
|
|
5398
|
+
"description": "MRC 50% viewable tracker pixel (1-second viewability for display, 2-seconds with audio for video). Optional — measurement vendor URLs the seller's renderer fires when the viewable threshold is met."
|
|
5399
|
+
}
|
|
5400
|
+
},
|
|
5401
|
+
{
|
|
5402
|
+
"item_type": "individual",
|
|
5403
|
+
"asset_id": "click_tracker",
|
|
5404
|
+
"required": false,
|
|
5405
|
+
"asset_type": "pixel_tracker",
|
|
5406
|
+
"event": "click",
|
|
5407
|
+
"method": "img",
|
|
5408
|
+
"requirements": {
|
|
5409
|
+
"description": "Click measurement tracker pixel (distinct from landing_page_url, the destination). Optional — measurement vendor URL fired when the user clicks the creative, in addition to navigating to landing_page_url."
|
|
5410
|
+
}
|
|
5411
|
+
}
|
|
5412
|
+
],
|
|
5413
|
+
"supported_macros": [
|
|
5414
|
+
"MEDIA_BUY_ID",
|
|
5415
|
+
"CREATIVE_ID",
|
|
5416
|
+
"CACHEBUSTER",
|
|
5417
|
+
"CLICK_URL",
|
|
5418
|
+
"DEVICE_TYPE",
|
|
5419
|
+
"GDPR",
|
|
5420
|
+
"GDPR_CONSENT",
|
|
5421
|
+
"US_PRIVACY",
|
|
5422
|
+
"GPP_STRING"
|
|
5423
|
+
],
|
|
5424
|
+
"assets_required": [
|
|
5425
|
+
{
|
|
5426
|
+
"asset_id": "html_creative",
|
|
5427
|
+
"item_type": "individual",
|
|
5428
|
+
"required": true,
|
|
5429
|
+
"asset_type": "html",
|
|
5430
|
+
"requirements": {
|
|
5431
|
+
"sandbox": "none",
|
|
5432
|
+
"width": 300,
|
|
5433
|
+
"height": 50,
|
|
5434
|
+
"max_file_size_mb": 0.5,
|
|
5435
|
+
"description": "HTML5 creative code"
|
|
5436
|
+
}
|
|
5437
|
+
}
|
|
5438
|
+
],
|
|
5439
|
+
"canonical": {
|
|
5440
|
+
"kind": "html5"
|
|
5441
|
+
}
|
|
5442
|
+
},
|
|
5443
|
+
{
|
|
5444
|
+
"format_id": {
|
|
5445
|
+
"agent_url": "https://creative.adcontextprotocol.org/",
|
|
5446
|
+
"id": "display_static"
|
|
5447
|
+
},
|
|
5448
|
+
"name": "Static Display",
|
|
5449
|
+
"description": "Legacy static image display format (supports any dimensions)",
|
|
5450
|
+
"type": "display",
|
|
5451
|
+
"accepts_parameters": [
|
|
5452
|
+
"dimensions"
|
|
5453
|
+
],
|
|
5454
|
+
"assets": [
|
|
5455
|
+
{
|
|
5456
|
+
"item_type": "individual",
|
|
5457
|
+
"asset_id": "banner_image",
|
|
5458
|
+
"required": true,
|
|
5459
|
+
"asset_type": "image",
|
|
5460
|
+
"requirements": {
|
|
5461
|
+
"containers": [
|
|
5462
|
+
"jpg",
|
|
5463
|
+
"png",
|
|
5464
|
+
"gif",
|
|
5465
|
+
"webp"
|
|
5466
|
+
]
|
|
5467
|
+
}
|
|
5468
|
+
},
|
|
5469
|
+
{
|
|
5470
|
+
"item_type": "individual",
|
|
5471
|
+
"asset_id": "click_url",
|
|
5472
|
+
"required": true,
|
|
5473
|
+
"asset_type": "url",
|
|
5474
|
+
"requirements": {
|
|
5475
|
+
"url_type": "clickthrough",
|
|
5476
|
+
"description": "Clickthrough destination URL"
|
|
5477
|
+
}
|
|
5478
|
+
},
|
|
5479
|
+
{
|
|
5480
|
+
"item_type": "individual",
|
|
5481
|
+
"asset_id": "impression_tracker",
|
|
5482
|
+
"required": false,
|
|
5483
|
+
"asset_type": "pixel_tracker",
|
|
5484
|
+
"requirements": {
|
|
5485
|
+
"description": "3rd party impression tracking pixel URL"
|
|
5486
|
+
},
|
|
5487
|
+
"event": "impression",
|
|
5488
|
+
"method": "img"
|
|
5489
|
+
},
|
|
5490
|
+
{
|
|
5491
|
+
"item_type": "individual",
|
|
5492
|
+
"asset_id": "viewability_tracker",
|
|
5493
|
+
"required": false,
|
|
5494
|
+
"asset_type": "pixel_tracker",
|
|
5495
|
+
"event": "viewable_mrc_50",
|
|
5496
|
+
"method": "img",
|
|
5497
|
+
"requirements": {
|
|
5498
|
+
"description": "MRC 50% viewable tracker pixel (1-second viewability for display, 2-seconds with audio for video). Optional — measurement vendor URLs the seller's renderer fires when the viewable threshold is met."
|
|
5499
|
+
}
|
|
5500
|
+
},
|
|
5501
|
+
{
|
|
5502
|
+
"item_type": "individual",
|
|
5503
|
+
"asset_id": "click_tracker",
|
|
5504
|
+
"required": false,
|
|
5505
|
+
"asset_type": "pixel_tracker",
|
|
5506
|
+
"event": "click",
|
|
5507
|
+
"method": "img",
|
|
5508
|
+
"requirements": {
|
|
5509
|
+
"description": "Click measurement tracker pixel (distinct from landing_page_url, the destination). Optional — measurement vendor URL fired when the user clicks the creative, in addition to navigating to landing_page_url."
|
|
5510
|
+
}
|
|
5511
|
+
}
|
|
5512
|
+
],
|
|
5513
|
+
"supported_macros": [
|
|
5514
|
+
"MEDIA_BUY_ID",
|
|
5515
|
+
"CREATIVE_ID",
|
|
5516
|
+
"CACHEBUSTER",
|
|
5517
|
+
"CLICK_URL",
|
|
5518
|
+
"DEVICE_TYPE",
|
|
5519
|
+
"GDPR",
|
|
5520
|
+
"GDPR_CONSENT",
|
|
5521
|
+
"US_PRIVACY",
|
|
5522
|
+
"GPP_STRING"
|
|
5523
|
+
],
|
|
5524
|
+
"assets_required": [
|
|
5525
|
+
{
|
|
5526
|
+
"asset_id": "banner_image",
|
|
5527
|
+
"item_type": "individual",
|
|
5528
|
+
"required": true,
|
|
5529
|
+
"asset_type": "image",
|
|
5530
|
+
"requirements": {
|
|
5531
|
+
"containers": [
|
|
5532
|
+
"jpg",
|
|
5533
|
+
"png",
|
|
5534
|
+
"gif",
|
|
5535
|
+
"webp"
|
|
5536
|
+
]
|
|
5537
|
+
}
|
|
5538
|
+
},
|
|
5539
|
+
{
|
|
5540
|
+
"asset_id": "click_url",
|
|
5541
|
+
"item_type": "individual",
|
|
5542
|
+
"required": true,
|
|
5543
|
+
"asset_type": "url",
|
|
5544
|
+
"requirements": {
|
|
5545
|
+
"url_type": "clickthrough",
|
|
5546
|
+
"description": "Clickthrough destination URL"
|
|
5547
|
+
}
|
|
5548
|
+
}
|
|
5549
|
+
],
|
|
5550
|
+
"canonical": {
|
|
5551
|
+
"kind": "image"
|
|
5552
|
+
}
|
|
5553
|
+
},
|
|
5554
|
+
{
|
|
5555
|
+
"format_id": {
|
|
5556
|
+
"agent_url": "https://creative.adcontextprotocol.org/",
|
|
5557
|
+
"id": "video_hosted"
|
|
5558
|
+
},
|
|
5559
|
+
"name": "Hosted Video",
|
|
5560
|
+
"description": "Legacy hosted video format (supports any duration)",
|
|
5561
|
+
"type": "video",
|
|
5562
|
+
"accepts_parameters": [
|
|
5563
|
+
"duration"
|
|
5564
|
+
],
|
|
5565
|
+
"assets": [
|
|
5566
|
+
{
|
|
5567
|
+
"item_type": "individual",
|
|
5568
|
+
"asset_id": "video_file",
|
|
5569
|
+
"required": true,
|
|
5570
|
+
"asset_type": "video",
|
|
5571
|
+
"requirements": {
|
|
5572
|
+
"containers": [
|
|
5573
|
+
"mp4",
|
|
5574
|
+
"mov",
|
|
5575
|
+
"webm"
|
|
5576
|
+
]
|
|
5577
|
+
}
|
|
5578
|
+
},
|
|
5579
|
+
{
|
|
5580
|
+
"item_type": "individual",
|
|
5581
|
+
"asset_id": "impression_tracker",
|
|
5582
|
+
"required": false,
|
|
5583
|
+
"asset_type": "pixel_tracker",
|
|
5584
|
+
"requirements": {
|
|
5585
|
+
"description": "3rd party impression tracking pixel URL"
|
|
5586
|
+
},
|
|
5587
|
+
"event": "impression",
|
|
5588
|
+
"method": "img"
|
|
5589
|
+
},
|
|
5590
|
+
{
|
|
5591
|
+
"item_type": "individual",
|
|
5592
|
+
"asset_id": "viewability_tracker",
|
|
5593
|
+
"required": false,
|
|
5594
|
+
"asset_type": "pixel_tracker",
|
|
5595
|
+
"event": "viewable_mrc_50",
|
|
5596
|
+
"method": "img",
|
|
5597
|
+
"requirements": {
|
|
5598
|
+
"description": "MRC 50% viewable tracker pixel (1-second viewability for display, 2-seconds with audio for video). Optional — measurement vendor URLs the seller's renderer fires when the viewable threshold is met."
|
|
5599
|
+
}
|
|
5600
|
+
},
|
|
5601
|
+
{
|
|
5602
|
+
"item_type": "individual",
|
|
5603
|
+
"asset_id": "click_tracker",
|
|
5604
|
+
"required": false,
|
|
5605
|
+
"asset_type": "pixel_tracker",
|
|
5606
|
+
"event": "click",
|
|
5607
|
+
"method": "img",
|
|
5608
|
+
"requirements": {
|
|
5609
|
+
"description": "Click measurement tracker pixel (distinct from landing_page_url, the destination). Optional — measurement vendor URL fired when the user clicks the creative, in addition to navigating to landing_page_url."
|
|
5610
|
+
}
|
|
5611
|
+
}
|
|
5612
|
+
],
|
|
5613
|
+
"supported_macros": [
|
|
5614
|
+
"MEDIA_BUY_ID",
|
|
5615
|
+
"CREATIVE_ID",
|
|
5616
|
+
"CACHEBUSTER",
|
|
5617
|
+
"CLICK_URL",
|
|
5618
|
+
"DEVICE_TYPE",
|
|
5619
|
+
"GDPR",
|
|
5620
|
+
"GDPR_CONSENT",
|
|
5621
|
+
"US_PRIVACY",
|
|
5622
|
+
"GPP_STRING",
|
|
5623
|
+
"VIDEO_ID",
|
|
5624
|
+
"POD_POSITION",
|
|
5625
|
+
"CONTENT_GENRE"
|
|
5626
|
+
],
|
|
5627
|
+
"assets_required": [
|
|
5628
|
+
{
|
|
5629
|
+
"asset_id": "video_file",
|
|
5630
|
+
"item_type": "individual",
|
|
5631
|
+
"required": true,
|
|
5632
|
+
"asset_type": "video",
|
|
5633
|
+
"requirements": {
|
|
5634
|
+
"containers": [
|
|
5635
|
+
"mp4",
|
|
5636
|
+
"mov",
|
|
5637
|
+
"webm"
|
|
5638
|
+
]
|
|
5639
|
+
}
|
|
5640
|
+
}
|
|
5641
|
+
],
|
|
5642
|
+
"canonical": {
|
|
5643
|
+
"kind": "video_hosted"
|
|
5644
|
+
}
|
|
5645
|
+
},
|
|
5646
|
+
{
|
|
5647
|
+
"format_id": {
|
|
5648
|
+
"agent_url": "https://creative.adcontextprotocol.org/",
|
|
5649
|
+
"id": "audio_30s"
|
|
5650
|
+
},
|
|
5651
|
+
"name": "Hosted Audio - 30 seconds",
|
|
5652
|
+
"description": "Legacy 30-second hosted audio format",
|
|
5653
|
+
"type": "audio",
|
|
5654
|
+
"assets": [
|
|
5655
|
+
{
|
|
5656
|
+
"item_type": "individual",
|
|
5657
|
+
"asset_id": "audio_file",
|
|
5658
|
+
"required": true,
|
|
5659
|
+
"asset_type": "audio",
|
|
5660
|
+
"requirements": {
|
|
5661
|
+
"min_duration_ms": 30000,
|
|
5662
|
+
"max_duration_ms": 30000,
|
|
5663
|
+
"containers": [
|
|
5664
|
+
"mp3",
|
|
5665
|
+
"aac",
|
|
5666
|
+
"m4a"
|
|
5667
|
+
]
|
|
5668
|
+
}
|
|
5669
|
+
},
|
|
5670
|
+
{
|
|
5671
|
+
"item_type": "individual",
|
|
5672
|
+
"asset_id": "impression_tracker",
|
|
5673
|
+
"required": false,
|
|
5674
|
+
"asset_type": "pixel_tracker",
|
|
5675
|
+
"requirements": {
|
|
5676
|
+
"description": "3rd party impression tracking pixel URL"
|
|
5677
|
+
},
|
|
5678
|
+
"event": "impression",
|
|
5679
|
+
"method": "img"
|
|
5680
|
+
},
|
|
5681
|
+
{
|
|
5682
|
+
"item_type": "individual",
|
|
5683
|
+
"asset_id": "viewability_tracker",
|
|
5684
|
+
"required": false,
|
|
5685
|
+
"asset_type": "pixel_tracker",
|
|
5686
|
+
"event": "viewable_mrc_50",
|
|
5687
|
+
"method": "img",
|
|
5688
|
+
"requirements": {
|
|
5689
|
+
"description": "MRC 50% viewable tracker pixel (1-second viewability for display, 2-seconds with audio for video). Optional — measurement vendor URLs the seller's renderer fires when the viewable threshold is met."
|
|
5690
|
+
}
|
|
5691
|
+
},
|
|
5692
|
+
{
|
|
5693
|
+
"item_type": "individual",
|
|
5694
|
+
"asset_id": "click_tracker",
|
|
5695
|
+
"required": false,
|
|
5696
|
+
"asset_type": "pixel_tracker",
|
|
5697
|
+
"event": "click",
|
|
5698
|
+
"method": "img",
|
|
5699
|
+
"requirements": {
|
|
5700
|
+
"description": "Click measurement tracker pixel (distinct from landing_page_url, the destination). Optional — measurement vendor URL fired when the user clicks the creative, in addition to navigating to landing_page_url."
|
|
5701
|
+
}
|
|
5702
|
+
}
|
|
5703
|
+
],
|
|
5704
|
+
"supported_macros": [
|
|
5705
|
+
"MEDIA_BUY_ID",
|
|
5706
|
+
"CREATIVE_ID",
|
|
5707
|
+
"CACHEBUSTER",
|
|
5708
|
+
"CLICK_URL",
|
|
5709
|
+
"DEVICE_TYPE",
|
|
5710
|
+
"GDPR",
|
|
5711
|
+
"GDPR_CONSENT",
|
|
5712
|
+
"US_PRIVACY",
|
|
5713
|
+
"GPP_STRING",
|
|
5714
|
+
"CONTENT_GENRE"
|
|
5715
|
+
],
|
|
5716
|
+
"assets_required": [
|
|
5717
|
+
{
|
|
5718
|
+
"asset_id": "audio_file",
|
|
5719
|
+
"item_type": "individual",
|
|
5720
|
+
"required": true,
|
|
5721
|
+
"asset_type": "audio",
|
|
5722
|
+
"requirements": {
|
|
5723
|
+
"min_duration_ms": 30000,
|
|
5724
|
+
"max_duration_ms": 30000,
|
|
5725
|
+
"containers": [
|
|
5726
|
+
"mp3",
|
|
5727
|
+
"aac",
|
|
5728
|
+
"m4a"
|
|
5729
|
+
]
|
|
5730
|
+
}
|
|
5731
|
+
}
|
|
5732
|
+
],
|
|
5733
|
+
"canonical": {
|
|
5734
|
+
"kind": "audio_hosted"
|
|
5735
|
+
}
|
|
5244
5736
|
}
|
|
5245
5737
|
]
|
|
@@ -20,6 +20,20 @@
|
|
|
20
20
|
* `toCanonicalOnlyProduct` / `toCanonicalOnlyResponse`.
|
|
21
21
|
*/
|
|
22
22
|
import type { V1Product, V2ProductFormatDeclaration, ProjectionDiagnostic } from './types.mjs';
|
|
23
|
+
import type { V1ToV2ProjectionOptions } from './v1-to-v2.mjs';
|
|
24
|
+
import type { CanonicalFormatDeclaration } from './legacy-metadata.mjs';
|
|
25
|
+
/** Protocol Error shape used for portable response-level projection advisories. */
|
|
26
|
+
export interface CanonicalProjectionError {
|
|
27
|
+
code: ProjectionDiagnostic['code'];
|
|
28
|
+
message: string;
|
|
29
|
+
field: string;
|
|
30
|
+
recovery: 'correctable';
|
|
31
|
+
source: 'sdk';
|
|
32
|
+
sdk_id: string;
|
|
33
|
+
details: ProjectionDiagnostic['error']['details'];
|
|
34
|
+
}
|
|
35
|
+
/** Flatten the projector's internal diagnostic into the protocol `Error` shape. */
|
|
36
|
+
export declare function projectionDiagnosticToError(diagnostic: ProjectionDiagnostic): CanonicalProjectionError;
|
|
23
37
|
/**
|
|
24
38
|
* A Product that has been augmented with `format_options[]` while
|
|
25
39
|
* preserving the original `format_ids[]`. Carries the projection
|
|
@@ -52,7 +66,7 @@ export type V2AugmentedProduct<P> = P & {
|
|
|
52
66
|
* @see toCanonicalOnlyProduct — the canonical-only counterpart that DROPS
|
|
53
67
|
* `format_ids[]` for a fully-migrated consumer.
|
|
54
68
|
*/
|
|
55
|
-
export declare function augmentProductWithFormatOptions<P extends V1Product>(product: P): {
|
|
69
|
+
export declare function augmentProductWithFormatOptions<P extends V1Product>(product: P, options?: V1ToV2ProjectionOptions): {
|
|
56
70
|
product: V2AugmentedProduct<P>;
|
|
57
71
|
diagnostics: ProjectionDiagnostic[];
|
|
58
72
|
};
|
|
@@ -72,7 +86,7 @@ export declare function augmentProductWithFormatOptions<P extends V1Product>(pro
|
|
|
72
86
|
*/
|
|
73
87
|
export declare function withFormatOptions<R extends {
|
|
74
88
|
products?: V1Product[];
|
|
75
|
-
}>(response: R): {
|
|
89
|
+
}>(response: R, options?: V1ToV2ProjectionOptions): {
|
|
76
90
|
response: R & {
|
|
77
91
|
products: V2AugmentedProduct<V1Product>[];
|
|
78
92
|
};
|
|
@@ -86,7 +100,8 @@ export declare function withFormatOptions<R extends {
|
|
|
86
100
|
* silently bypass the canonical model.
|
|
87
101
|
*/
|
|
88
102
|
export type CanonicalOnlyProduct<P> = Omit<P, 'format_ids'> & {
|
|
89
|
-
|
|
103
|
+
format_ids?: never;
|
|
104
|
+
format_options: CanonicalFormatDeclaration[];
|
|
90
105
|
};
|
|
91
106
|
/**
|
|
92
107
|
* Project a single Product to the canonical-only shape: `format_options[]`
|
|
@@ -101,9 +116,9 @@ export type CanonicalOnlyProduct<P> = Omit<P, 'format_ids'> & {
|
|
|
101
116
|
* the projection can't map is surfaced as `FORMAT_PROJECTION_FAILED`.
|
|
102
117
|
* - **v2-native input** (`format_options[]` already present): keeps the
|
|
103
118
|
* seller's canonical surface and drops the redundant v1 fallback. If a
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
119
|
+
* legacy routing entry exists that no canonical option covers, it
|
|
120
|
+
* surfaces a canonical-safe `LEGACY_FORMAT_ID_DROPPED_UNMAPPED`
|
|
121
|
+
* diagnostic without echoing the routing identifier.
|
|
107
122
|
* - **neither shape**: returns `format_options: []`; there is nothing to
|
|
108
123
|
* project and nothing to lose.
|
|
109
124
|
*
|
|
@@ -113,7 +128,7 @@ export type CanonicalOnlyProduct<P> = Omit<P, 'format_ids'> & {
|
|
|
113
128
|
* non-invertibility tracked at adcontextprotocol/adcp#4842 — this is the
|
|
114
129
|
* read-side transparency half.
|
|
115
130
|
*/
|
|
116
|
-
export declare function toCanonicalOnlyProduct<P extends V1Product>(product: P): {
|
|
131
|
+
export declare function toCanonicalOnlyProduct<P extends V1Product>(product: P, options?: V1ToV2ProjectionOptions): {
|
|
117
132
|
product: CanonicalOnlyProduct<P>;
|
|
118
133
|
diagnostics: ProjectionDiagnostic[];
|
|
119
134
|
};
|
|
@@ -124,15 +139,20 @@ export declare function toCanonicalOnlyProduct<P extends V1Product>(product: P):
|
|
|
124
139
|
* alongside the response's existing `errors[]`.
|
|
125
140
|
*
|
|
126
141
|
* Response-level counterpart to {@link toCanonicalOnlyProduct}; same
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
142
|
+
* fail-closed guarantee, aggregated across products. A wholly unmappable
|
|
143
|
+
* legacy product cannot be represented as a canonical Product because the
|
|
144
|
+
* protocol requires `format_options` to contain at least one declaration. It
|
|
145
|
+
* is therefore omitted from the canonical list and surfaced through the
|
|
146
|
+
* response's portable `errors[]` plus the SDK convenience diagnostics. A
|
|
147
|
+
* partially mappable product remains with its mapped options and advisories
|
|
148
|
+
* for the refs that could not be projected.
|
|
130
149
|
*/
|
|
131
150
|
export declare function toCanonicalOnlyResponse<R extends {
|
|
132
151
|
products?: V1Product[];
|
|
133
|
-
}>(response: R): {
|
|
152
|
+
}>(response: R, options?: V1ToV2ProjectionOptions): {
|
|
134
153
|
response: Omit<R, 'products'> & {
|
|
135
154
|
products: CanonicalOnlyProduct<V1Product>[];
|
|
155
|
+
errors?: unknown[];
|
|
136
156
|
};
|
|
137
157
|
diagnostics: ProjectionDiagnostic[];
|
|
138
158
|
};
|
|
@@ -20,6 +20,20 @@
|
|
|
20
20
|
* `toCanonicalOnlyProduct` / `toCanonicalOnlyResponse`.
|
|
21
21
|
*/
|
|
22
22
|
import type { V1Product, V2ProductFormatDeclaration, ProjectionDiagnostic } from './types';
|
|
23
|
+
import type { V1ToV2ProjectionOptions } from './v1-to-v2';
|
|
24
|
+
import type { CanonicalFormatDeclaration } from './legacy-metadata';
|
|
25
|
+
/** Protocol Error shape used for portable response-level projection advisories. */
|
|
26
|
+
export interface CanonicalProjectionError {
|
|
27
|
+
code: ProjectionDiagnostic['code'];
|
|
28
|
+
message: string;
|
|
29
|
+
field: string;
|
|
30
|
+
recovery: 'correctable';
|
|
31
|
+
source: 'sdk';
|
|
32
|
+
sdk_id: string;
|
|
33
|
+
details: ProjectionDiagnostic['error']['details'];
|
|
34
|
+
}
|
|
35
|
+
/** Flatten the projector's internal diagnostic into the protocol `Error` shape. */
|
|
36
|
+
export declare function projectionDiagnosticToError(diagnostic: ProjectionDiagnostic): CanonicalProjectionError;
|
|
23
37
|
/**
|
|
24
38
|
* A Product that has been augmented with `format_options[]` while
|
|
25
39
|
* preserving the original `format_ids[]`. Carries the projection
|
|
@@ -52,7 +66,7 @@ export type V2AugmentedProduct<P> = P & {
|
|
|
52
66
|
* @see toCanonicalOnlyProduct — the canonical-only counterpart that DROPS
|
|
53
67
|
* `format_ids[]` for a fully-migrated consumer.
|
|
54
68
|
*/
|
|
55
|
-
export declare function augmentProductWithFormatOptions<P extends V1Product>(product: P): {
|
|
69
|
+
export declare function augmentProductWithFormatOptions<P extends V1Product>(product: P, options?: V1ToV2ProjectionOptions): {
|
|
56
70
|
product: V2AugmentedProduct<P>;
|
|
57
71
|
diagnostics: ProjectionDiagnostic[];
|
|
58
72
|
};
|
|
@@ -72,7 +86,7 @@ export declare function augmentProductWithFormatOptions<P extends V1Product>(pro
|
|
|
72
86
|
*/
|
|
73
87
|
export declare function withFormatOptions<R extends {
|
|
74
88
|
products?: V1Product[];
|
|
75
|
-
}>(response: R): {
|
|
89
|
+
}>(response: R, options?: V1ToV2ProjectionOptions): {
|
|
76
90
|
response: R & {
|
|
77
91
|
products: V2AugmentedProduct<V1Product>[];
|
|
78
92
|
};
|
|
@@ -86,7 +100,8 @@ export declare function withFormatOptions<R extends {
|
|
|
86
100
|
* silently bypass the canonical model.
|
|
87
101
|
*/
|
|
88
102
|
export type CanonicalOnlyProduct<P> = Omit<P, 'format_ids'> & {
|
|
89
|
-
|
|
103
|
+
format_ids?: never;
|
|
104
|
+
format_options: CanonicalFormatDeclaration[];
|
|
90
105
|
};
|
|
91
106
|
/**
|
|
92
107
|
* Project a single Product to the canonical-only shape: `format_options[]`
|
|
@@ -101,9 +116,9 @@ export type CanonicalOnlyProduct<P> = Omit<P, 'format_ids'> & {
|
|
|
101
116
|
* the projection can't map is surfaced as `FORMAT_PROJECTION_FAILED`.
|
|
102
117
|
* - **v2-native input** (`format_options[]` already present): keeps the
|
|
103
118
|
* seller's canonical surface and drops the redundant v1 fallback. If a
|
|
104
|
-
*
|
|
105
|
-
*
|
|
106
|
-
*
|
|
119
|
+
* legacy routing entry exists that no canonical option covers, it
|
|
120
|
+
* surfaces a canonical-safe `LEGACY_FORMAT_ID_DROPPED_UNMAPPED`
|
|
121
|
+
* diagnostic without echoing the routing identifier.
|
|
107
122
|
* - **neither shape**: returns `format_options: []`; there is nothing to
|
|
108
123
|
* project and nothing to lose.
|
|
109
124
|
*
|
|
@@ -113,7 +128,7 @@ export type CanonicalOnlyProduct<P> = Omit<P, 'format_ids'> & {
|
|
|
113
128
|
* non-invertibility tracked at adcontextprotocol/adcp#4842 — this is the
|
|
114
129
|
* read-side transparency half.
|
|
115
130
|
*/
|
|
116
|
-
export declare function toCanonicalOnlyProduct<P extends V1Product>(product: P): {
|
|
131
|
+
export declare function toCanonicalOnlyProduct<P extends V1Product>(product: P, options?: V1ToV2ProjectionOptions): {
|
|
117
132
|
product: CanonicalOnlyProduct<P>;
|
|
118
133
|
diagnostics: ProjectionDiagnostic[];
|
|
119
134
|
};
|
|
@@ -124,15 +139,20 @@ export declare function toCanonicalOnlyProduct<P extends V1Product>(product: P):
|
|
|
124
139
|
* alongside the response's existing `errors[]`.
|
|
125
140
|
*
|
|
126
141
|
* Response-level counterpart to {@link toCanonicalOnlyProduct}; same
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
142
|
+
* fail-closed guarantee, aggregated across products. A wholly unmappable
|
|
143
|
+
* legacy product cannot be represented as a canonical Product because the
|
|
144
|
+
* protocol requires `format_options` to contain at least one declaration. It
|
|
145
|
+
* is therefore omitted from the canonical list and surfaced through the
|
|
146
|
+
* response's portable `errors[]` plus the SDK convenience diagnostics. A
|
|
147
|
+
* partially mappable product remains with its mapped options and advisories
|
|
148
|
+
* for the refs that could not be projected.
|
|
130
149
|
*/
|
|
131
150
|
export declare function toCanonicalOnlyResponse<R extends {
|
|
132
151
|
products?: V1Product[];
|
|
133
|
-
}>(response: R): {
|
|
152
|
+
}>(response: R, options?: V1ToV2ProjectionOptions): {
|
|
134
153
|
response: Omit<R, 'products'> & {
|
|
135
154
|
products: CanonicalOnlyProduct<V1Product>[];
|
|
155
|
+
errors?: unknown[];
|
|
136
156
|
};
|
|
137
157
|
diagnostics: ProjectionDiagnostic[];
|
|
138
158
|
};
|