@adcp/sdk 5.25.1 → 6.1.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 +45 -7
- package/dist/lib/compliance-fixtures/index.d.ts +1 -1
- package/dist/lib/compliance-fixtures/index.js +1 -1
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +27 -0
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +21 -0
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +25 -2
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +7 -8
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/schemas/index.d.ts +1 -1
- package/dist/lib/schemas/index.js +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +8 -0
- package/dist/lib/schemas-data/v2.5/adagents.json +494 -0
- package/dist/lib/schemas-data/v2.5/core/activation-key.json +50 -0
- package/dist/lib/schemas-data/v2.5/core/assets/audio-asset.json +32 -0
- package/dist/lib/schemas-data/v2.5/core/assets/css-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/daast-asset.json +87 -0
- package/dist/lib/schemas-data/v2.5/core/assets/html-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/image-asset.json +38 -0
- package/dist/lib/schemas-data/v2.5/core/assets/javascript-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/markdown-asset.json +31 -0
- package/dist/lib/schemas-data/v2.5/core/assets/text-asset.json +21 -0
- package/dist/lib/schemas-data/v2.5/core/assets/url-asset.json +26 -0
- package/dist/lib/schemas-data/v2.5/core/assets/vast-asset.json +87 -0
- package/dist/lib/schemas-data/v2.5/core/assets/video-asset.json +44 -0
- package/dist/lib/schemas-data/v2.5/core/assets/webhook-asset.json +71 -0
- package/dist/lib/schemas-data/v2.5/core/async-response-data.json +88 -0
- package/dist/lib/schemas-data/v2.5/core/brand-manifest-ref.json +33 -0
- package/dist/lib/schemas-data/v2.5/core/brand-manifest.json +409 -0
- package/dist/lib/schemas-data/v2.5/core/context.json +8 -0
- package/dist/lib/schemas-data/v2.5/core/creative-asset.json +125 -0
- package/dist/lib/schemas-data/v2.5/core/creative-assignment.json +31 -0
- package/dist/lib/schemas-data/v2.5/core/creative-filters.json +111 -0
- package/dist/lib/schemas-data/v2.5/core/creative-manifest.json +72 -0
- package/dist/lib/schemas-data/v2.5/core/creative-policy.json +27 -0
- package/dist/lib/schemas-data/v2.5/core/delivery-metrics.json +171 -0
- package/dist/lib/schemas-data/v2.5/core/deployment.json +93 -0
- package/dist/lib/schemas-data/v2.5/core/destination.json +53 -0
- package/dist/lib/schemas-data/v2.5/core/error.json +40 -0
- package/dist/lib/schemas-data/v2.5/core/ext.json +8 -0
- package/dist/lib/schemas-data/v2.5/core/format-id.json +47 -0
- package/dist/lib/schemas-data/v2.5/core/format.json +324 -0
- package/dist/lib/schemas-data/v2.5/core/frequency-cap.json +18 -0
- package/dist/lib/schemas-data/v2.5/core/mcp-webhook-payload.json +152 -0
- package/dist/lib/schemas-data/v2.5/core/measurement.json +48 -0
- package/dist/lib/schemas-data/v2.5/core/media-buy.json +62 -0
- package/dist/lib/schemas-data/v2.5/core/package.json +72 -0
- package/dist/lib/schemas-data/v2.5/core/performance-feedback.json +90 -0
- package/dist/lib/schemas-data/v2.5/core/placement.json +34 -0
- package/dist/lib/schemas-data/v2.5/core/pricing-option.json +35 -0
- package/dist/lib/schemas-data/v2.5/core/product-filters.json +102 -0
- package/dist/lib/schemas-data/v2.5/core/product.json +153 -0
- package/dist/lib/schemas-data/v2.5/core/promoted-offerings.json +115 -0
- package/dist/lib/schemas-data/v2.5/core/promoted-products.json +67 -0
- package/dist/lib/schemas-data/v2.5/core/property-id.json +14 -0
- package/dist/lib/schemas-data/v2.5/core/property-tag.json +16 -0
- package/dist/lib/schemas-data/v2.5/core/property.json +62 -0
- package/dist/lib/schemas-data/v2.5/core/protocol-envelope.json +146 -0
- package/dist/lib/schemas-data/v2.5/core/publisher-property-selector.json +92 -0
- package/dist/lib/schemas-data/v2.5/core/push-notification-config.json +48 -0
- package/dist/lib/schemas-data/v2.5/core/reporting-capabilities.json +71 -0
- package/dist/lib/schemas-data/v2.5/core/response.json +24 -0
- package/dist/lib/schemas-data/v2.5/core/signal-filters.json +35 -0
- package/dist/lib/schemas-data/v2.5/core/start-timing.json +18 -0
- package/dist/lib/schemas-data/v2.5/core/sub-asset.json +79 -0
- package/dist/lib/schemas-data/v2.5/core/targeting.json +50 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-get-request.json +43 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-get-response.json +166 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-list-request.json +192 -0
- package/dist/lib/schemas-data/v2.5/core/tasks-list-response.json +183 -0
- package/dist/lib/schemas-data/v2.5/creative/asset-types/index.json +101 -0
- package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-request.json +73 -0
- package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-response.json +61 -0
- package/dist/lib/schemas-data/v2.5/creative/preview-creative-request.json +164 -0
- package/dist/lib/schemas-data/v2.5/creative/preview-creative-response.json +245 -0
- package/dist/lib/schemas-data/v2.5/creative/preview-render.json +225 -0
- package/dist/lib/schemas-data/v2.5/enums/adcp-domain.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/asset-content-type.json +22 -0
- package/dist/lib/schemas-data/v2.5/enums/auth-scheme.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/available-metric.json +18 -0
- package/dist/lib/schemas-data/v2.5/enums/channels.json +18 -0
- package/dist/lib/schemas-data/v2.5/enums/co-branding-requirement.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-action.json +14 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-agent-capability.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-sort-field.json +15 -0
- package/dist/lib/schemas-data/v2.5/enums/creative-status.json +19 -0
- package/dist/lib/schemas-data/v2.5/enums/daast-tracking-event.json +20 -0
- package/dist/lib/schemas-data/v2.5/enums/daast-version.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/delivery-type.json +15 -0
- package/dist/lib/schemas-data/v2.5/enums/dimension-unit.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/feed-format.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/feedback-source.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/format-category.json +16 -0
- package/dist/lib/schemas-data/v2.5/enums/format-id-parameter.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/frequency-cap-scope.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/history-entry-type.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/http-method.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/identifier-types.json +34 -0
- package/dist/lib/schemas-data/v2.5/enums/javascript-module-type.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/landing-page-requirement.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/markdown-flavor.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/media-buy-status.json +19 -0
- package/dist/lib/schemas-data/v2.5/enums/metric-type.json +17 -0
- package/dist/lib/schemas-data/v2.5/enums/notification-type.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/pacing.json +17 -0
- package/dist/lib/schemas-data/v2.5/enums/preview-output-format.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/pricing-model.json +25 -0
- package/dist/lib/schemas-data/v2.5/enums/property-type.json +16 -0
- package/dist/lib/schemas-data/v2.5/enums/publisher-identifier-types.json +19 -0
- package/dist/lib/schemas-data/v2.5/enums/reporting-frequency.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/signal-catalog-type.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/sort-direction.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/standard-format-ids.json +103 -0
- package/dist/lib/schemas-data/v2.5/enums/task-status.json +29 -0
- package/dist/lib/schemas-data/v2.5/enums/task-type.json +27 -0
- package/dist/lib/schemas-data/v2.5/enums/update-frequency.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/url-asset-type.json +12 -0
- package/dist/lib/schemas-data/v2.5/enums/validation-mode.json +11 -0
- package/dist/lib/schemas-data/v2.5/enums/vast-tracking-event.json +25 -0
- package/dist/lib/schemas-data/v2.5/enums/vast-version.json +14 -0
- package/dist/lib/schemas-data/v2.5/enums/webhook-response-type.json +13 -0
- package/dist/lib/schemas-data/v2.5/enums/webhook-security-method.json +12 -0
- package/dist/lib/schemas-data/v2.5/index.json +604 -0
- package/dist/lib/schemas-data/v2.5/media-buy/build-creative-request.json +31 -0
- package/dist/lib/schemas-data/v2.5/media-buy/build-creative-response.json +65 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-input-required.json +31 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-working.json +36 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-request.json +126 -0
- package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-response.json +97 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-request.json +54 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-response.json +285 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-input-required.json +38 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-submitted.json +21 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-working.json +34 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-request.json +28 -0
- package/dist/lib/schemas-data/v2.5/media-buy/get-products-response.json +33 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-request.json +26 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-response.json +70 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-request.json +58 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-response.json +61 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-request.json +137 -0
- package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-response.json +437 -0
- package/dist/lib/schemas-data/v2.5/media-buy/package-request.json +80 -0
- package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-request.json +88 -0
- package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-response.json +66 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-input-required.json +25 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-working.json +46 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-request.json +178 -0
- package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-response.json +149 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-input-required.json +24 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-submitted.json +16 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-working.json +36 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-request.json +129 -0
- package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-response.json +99 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpc-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpcv-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpm-auction-option.json +81 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpm-fixed-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpp-option.json +73 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/cpv-option.json +88 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/flat-rate-option.json +93 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-auction-option.json +81 -0
- package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-fixed-option.json +52 -0
- package/dist/lib/schemas-data/v2.5/protocols/adcp-extension.json +33 -0
- package/dist/lib/schemas-data/v2.5/signals/activate-signal-request.json +32 -0
- package/dist/lib/schemas-data/v2.5/signals/activate-signal-response.json +68 -0
- package/dist/lib/schemas-data/v2.5/signals/get-signals-request.json +59 -0
- package/dist/lib/schemas-data/v2.5/signals/get-signals-response.json +100 -0
- package/dist/lib/server/create-adcp-server.d.ts +129 -11
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +127 -2
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/server/ctx-metadata/backends/memory.d.ts +27 -0
- package/dist/lib/server/ctx-metadata/backends/memory.d.ts.map +1 -0
- package/dist/lib/server/ctx-metadata/backends/memory.js +72 -0
- package/dist/lib/server/ctx-metadata/backends/memory.js.map +1 -0
- package/dist/lib/server/ctx-metadata/backends/pg.d.ts +62 -0
- package/dist/lib/server/ctx-metadata/backends/pg.d.ts.map +1 -0
- package/dist/lib/server/ctx-metadata/backends/pg.js +145 -0
- package/dist/lib/server/ctx-metadata/backends/pg.js.map +1 -0
- package/dist/lib/server/ctx-metadata/index.d.ts +15 -0
- package/dist/lib/server/ctx-metadata/index.d.ts.map +1 -0
- package/dist/lib/server/ctx-metadata/index.js +28 -0
- package/dist/lib/server/ctx-metadata/index.js.map +1 -0
- package/dist/lib/server/ctx-metadata/store.d.ts +177 -0
- package/dist/lib/server/ctx-metadata/store.d.ts.map +1 -0
- package/dist/lib/server/ctx-metadata/store.js +327 -0
- package/dist/lib/server/ctx-metadata/store.js.map +1 -0
- package/dist/lib/server/ctx-metadata/wire-shape.d.ts +55 -0
- package/dist/lib/server/ctx-metadata/wire-shape.d.ts.map +1 -0
- package/dist/lib/server/ctx-metadata/wire-shape.js +121 -0
- package/dist/lib/server/ctx-metadata/wire-shape.js.map +1 -0
- package/dist/lib/server/decisioning/account.d.ts +309 -0
- package/dist/lib/server/decisioning/account.d.ts.map +1 -0
- package/dist/lib/server/decisioning/account.js +102 -0
- package/dist/lib/server/decisioning/account.js.map +1 -0
- package/dist/lib/server/decisioning/admin-router.d.ts +75 -0
- package/dist/lib/server/decisioning/admin-router.d.ts.map +1 -0
- package/dist/lib/server/decisioning/admin-router.js +120 -0
- package/dist/lib/server/decisioning/admin-router.js.map +1 -0
- package/dist/lib/server/decisioning/assembly-helpers.d.ts +204 -0
- package/dist/lib/server/decisioning/assembly-helpers.d.ts.map +1 -0
- package/dist/lib/server/decisioning/assembly-helpers.js +173 -0
- package/dist/lib/server/decisioning/assembly-helpers.js.map +1 -0
- package/dist/lib/server/decisioning/async-outcome.d.ts +154 -0
- package/dist/lib/server/decisioning/async-outcome.d.ts.map +1 -0
- package/dist/lib/server/decisioning/async-outcome.js +239 -0
- package/dist/lib/server/decisioning/async-outcome.js.map +1 -0
- package/dist/lib/server/decisioning/capabilities.d.ts +251 -0
- package/dist/lib/server/decisioning/capabilities.d.ts.map +1 -0
- package/dist/lib/server/decisioning/capabilities.js +16 -0
- package/dist/lib/server/decisioning/capabilities.js.map +1 -0
- package/dist/lib/server/decisioning/context.d.ts +212 -0
- package/dist/lib/server/decisioning/context.d.ts.map +1 -0
- package/dist/lib/server/decisioning/context.js +26 -0
- package/dist/lib/server/decisioning/context.js.map +1 -0
- package/dist/lib/server/decisioning/errors-typed.d.ts +104 -0
- package/dist/lib/server/decisioning/errors-typed.d.ts.map +1 -0
- package/dist/lib/server/decisioning/errors-typed.js +304 -0
- package/dist/lib/server/decisioning/errors-typed.js.map +1 -0
- package/dist/lib/server/decisioning/helpers.d.ts +131 -0
- package/dist/lib/server/decisioning/helpers.d.ts.map +1 -0
- package/dist/lib/server/decisioning/helpers.js +134 -0
- package/dist/lib/server/decisioning/helpers.js.map +1 -0
- package/dist/lib/server/decisioning/index.d.ts +46 -0
- package/dist/lib/server/decisioning/index.d.ts.map +1 -0
- package/dist/lib/server/decisioning/index.js +120 -0
- package/dist/lib/server/decisioning/index.js.map +1 -0
- package/dist/lib/server/decisioning/list-helpers.d.ts +53 -0
- package/dist/lib/server/decisioning/list-helpers.d.ts.map +1 -0
- package/dist/lib/server/decisioning/list-helpers.js +96 -0
- package/dist/lib/server/decisioning/list-helpers.js.map +1 -0
- package/dist/lib/server/decisioning/manifest-helpers.d.ts +56 -0
- package/dist/lib/server/decisioning/manifest-helpers.d.ts.map +1 -0
- package/dist/lib/server/decisioning/manifest-helpers.js +78 -0
- package/dist/lib/server/decisioning/manifest-helpers.js.map +1 -0
- package/dist/lib/server/decisioning/pagination.d.ts +21 -0
- package/dist/lib/server/decisioning/pagination.d.ts.map +1 -0
- package/dist/lib/server/decisioning/pagination.js +12 -0
- package/dist/lib/server/decisioning/pagination.js.map +1 -0
- package/dist/lib/server/decisioning/platform.d.ts +188 -0
- package/dist/lib/server/decisioning/platform.d.ts.map +1 -0
- package/dist/lib/server/decisioning/platform.js +19 -0
- package/dist/lib/server/decisioning/platform.js.map +1 -0
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts +510 -0
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -0
- package/dist/lib/server/decisioning/runtime/from-platform.js +2196 -0
- package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -0
- package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts +114 -0
- package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts.map +1 -0
- package/dist/lib/server/decisioning/runtime/postgres-task-registry.js +247 -0
- package/dist/lib/server/decisioning/runtime/postgres-task-registry.js.map +1 -0
- package/dist/lib/server/decisioning/runtime/protocol-for-tool.d.ts +32 -0
- package/dist/lib/server/decisioning/runtime/protocol-for-tool.d.ts.map +1 -0
- package/dist/lib/server/decisioning/runtime/protocol-for-tool.js +127 -0
- package/dist/lib/server/decisioning/runtime/protocol-for-tool.js.map +1 -0
- package/dist/lib/server/decisioning/runtime/task-registry.d.ts +105 -0
- package/dist/lib/server/decisioning/runtime/task-registry.d.ts.map +1 -0
- package/dist/lib/server/decisioning/runtime/task-registry.js +96 -0
- package/dist/lib/server/decisioning/runtime/task-registry.js.map +1 -0
- package/dist/lib/server/decisioning/runtime/to-context.d.ts +54 -0
- package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -0
- package/dist/lib/server/decisioning/runtime/to-context.js +166 -0
- package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -0
- package/dist/lib/server/decisioning/runtime/validate-platform.d.ts +20 -0
- package/dist/lib/server/decisioning/runtime/validate-platform.d.ts.map +1 -0
- package/dist/lib/server/decisioning/runtime/validate-platform.js +93 -0
- package/dist/lib/server/decisioning/runtime/validate-platform.js.map +1 -0
- package/dist/lib/server/decisioning/specialisms/audiences.d.ts +72 -0
- package/dist/lib/server/decisioning/specialisms/audiences.d.ts.map +1 -0
- package/dist/lib/server/decisioning/specialisms/audiences.js +15 -0
- package/dist/lib/server/decisioning/specialisms/audiences.js.map +1 -0
- package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts +92 -0
- package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts.map +1 -0
- package/dist/lib/server/decisioning/specialisms/brand-rights.js +28 -0
- package/dist/lib/server/decisioning/specialisms/brand-rights.js.map +1 -0
- package/dist/lib/server/decisioning/specialisms/campaign-governance.d.ts +67 -0
- package/dist/lib/server/decisioning/specialisms/campaign-governance.d.ts.map +1 -0
- package/dist/lib/server/decisioning/specialisms/campaign-governance.js +31 -0
- package/dist/lib/server/decisioning/specialisms/campaign-governance.js.map +1 -0
- package/dist/lib/server/decisioning/specialisms/content-standards.d.ts +78 -0
- package/dist/lib/server/decisioning/specialisms/content-standards.d.ts.map +1 -0
- package/dist/lib/server/decisioning/specialisms/content-standards.js +35 -0
- package/dist/lib/server/decisioning/specialisms/content-standards.js.map +1 -0
- package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts +81 -0
- package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts.map +1 -0
- package/dist/lib/server/decisioning/specialisms/creative-ad-server.js +28 -0
- package/dist/lib/server/decisioning/specialisms/creative-ad-server.js.map +1 -0
- package/dist/lib/server/decisioning/specialisms/creative.d.ts +144 -0
- package/dist/lib/server/decisioning/specialisms/creative.d.ts.map +1 -0
- package/dist/lib/server/decisioning/specialisms/creative.js +19 -0
- package/dist/lib/server/decisioning/specialisms/creative.js.map +1 -0
- package/dist/lib/server/decisioning/specialisms/lists.d.ts +61 -0
- package/dist/lib/server/decisioning/specialisms/lists.d.ts.map +1 -0
- package/dist/lib/server/decisioning/specialisms/lists.js +30 -0
- package/dist/lib/server/decisioning/specialisms/lists.js.map +1 -0
- package/dist/lib/server/decisioning/specialisms/sales.d.ts +163 -0
- package/dist/lib/server/decisioning/specialisms/sales.d.ts.map +1 -0
- package/dist/lib/server/decisioning/specialisms/sales.js +64 -0
- package/dist/lib/server/decisioning/specialisms/sales.js.map +1 -0
- package/dist/lib/server/decisioning/specialisms/signals.d.ts +64 -0
- package/dist/lib/server/decisioning/specialisms/signals.d.ts.map +1 -0
- package/dist/lib/server/decisioning/specialisms/signals.js +28 -0
- package/dist/lib/server/decisioning/specialisms/signals.js.map +1 -0
- package/dist/lib/server/decisioning/start-time.d.ts +76 -0
- package/dist/lib/server/decisioning/start-time.d.ts.map +1 -0
- package/dist/lib/server/decisioning/start-time.js +81 -0
- package/dist/lib/server/decisioning/start-time.js.map +1 -0
- package/dist/lib/server/decisioning/status-changes.d.ts +165 -0
- package/dist/lib/server/decisioning/status-changes.d.ts.map +1 -0
- package/dist/lib/server/decisioning/status-changes.js +131 -0
- package/dist/lib/server/decisioning/status-changes.js.map +1 -0
- package/dist/lib/server/decisioning/status-mappers.d.ts +46 -0
- package/dist/lib/server/decisioning/status-mappers.d.ts.map +1 -0
- package/dist/lib/server/decisioning/status-mappers.js +46 -0
- package/dist/lib/server/decisioning/status-mappers.js.map +1 -0
- package/dist/lib/server/decisioning/tenant-registry.d.ts +289 -0
- package/dist/lib/server/decisioning/tenant-registry.d.ts.map +1 -0
- package/dist/lib/server/decisioning/tenant-registry.js +503 -0
- package/dist/lib/server/decisioning/tenant-registry.js.map +1 -0
- package/dist/lib/server/express-adapter.d.ts +1 -1
- package/dist/lib/server/express-adapter.js +1 -1
- package/dist/lib/server/governance.d.ts +1 -1
- package/dist/lib/server/governance.js +1 -1
- package/dist/lib/server/idempotency/store.d.ts +1 -1
- package/dist/lib/server/idempotency/store.js +1 -1
- package/dist/lib/server/index.d.ts +9 -2
- package/dist/lib/server/index.d.ts.map +1 -1
- package/dist/lib/server/index.js +79 -4
- package/dist/lib/server/index.js.map +1 -1
- package/dist/lib/server/legacy/v5/index.d.ts +38 -0
- package/dist/lib/server/legacy/v5/index.d.ts.map +1 -0
- package/dist/lib/server/legacy/v5/index.js +60 -0
- package/dist/lib/server/legacy/v5/index.js.map +1 -0
- package/dist/lib/server/normalize-errors.d.ts +88 -0
- package/dist/lib/server/normalize-errors.d.ts.map +1 -0
- package/dist/lib/server/normalize-errors.js +146 -0
- package/dist/lib/server/normalize-errors.js.map +1 -0
- package/dist/lib/server/pick-safe-details.d.ts +90 -0
- package/dist/lib/server/pick-safe-details.d.ts.map +1 -0
- package/dist/lib/server/pick-safe-details.js +148 -0
- package/dist/lib/server/pick-safe-details.js.map +1 -0
- package/dist/lib/server/postgres-state-store.d.ts +1 -1
- package/dist/lib/server/postgres-state-store.js +1 -1
- package/dist/lib/server/responses.d.ts +38 -0
- package/dist/lib/server/responses.d.ts.map +1 -1
- package/dist/lib/server/responses.js +38 -0
- package/dist/lib/server/responses.js.map +1 -1
- package/dist/lib/server/state-store.d.ts +1 -1
- package/dist/lib/server/state-store.js +1 -1
- package/dist/lib/server/test-controller.d.ts +10 -3
- package/dist/lib/server/test-controller.d.ts.map +1 -1
- package/dist/lib/server/test-controller.js +10 -3
- package/dist/lib/server/test-controller.js.map +1 -1
- package/dist/lib/testing/comply-controller.d.ts +47 -1
- package/dist/lib/testing/comply-controller.d.ts.map +1 -1
- package/dist/lib/testing/comply-controller.js +11 -4
- package/dist/lib/testing/comply-controller.js.map +1 -1
- package/dist/lib/testing/index.d.ts +1 -1
- package/dist/lib/testing/index.d.ts.map +1 -1
- package/dist/lib/testing/index.js.map +1 -1
- package/dist/lib/testing/personas/index.d.ts +143 -0
- package/dist/lib/testing/personas/index.d.ts.map +1 -0
- package/dist/lib/testing/personas/index.js +190 -0
- package/dist/lib/testing/personas/index.js.map +1 -0
- package/dist/lib/testing/storyboard/index.d.ts +1 -1
- package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/index.js +3 -2
- package/dist/lib/testing/storyboard/index.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts +13 -0
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +260 -7
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/types/asset-instances.d.ts +1 -0
- package/dist/lib/types/asset-instances.d.ts.map +1 -1
- package/dist/lib/types/core.generated.d.ts +203 -98
- package/dist/lib/types/core.generated.d.ts.map +1 -1
- package/dist/lib/types/core.generated.js +1 -1
- package/dist/lib/types/index.d.ts +1 -0
- package/dist/lib/types/index.d.ts.map +1 -1
- package/dist/lib/types/index.js.map +1 -1
- package/dist/lib/types/schemas.generated.d.ts +599 -159
- package/dist/lib/types/schemas.generated.d.ts.map +1 -1
- package/dist/lib/types/schemas.generated.js +175 -94
- package/dist/lib/types/schemas.generated.js.map +1 -1
- package/dist/lib/types/tools.generated.d.ts +315 -46
- package/dist/lib/types/tools.generated.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.d.ts +1 -1
- package/dist/lib/utils/capabilities.d.ts.map +1 -1
- package/dist/lib/utils/capabilities.js +6 -0
- package/dist/lib/utils/capabilities.js.map +1 -1
- package/dist/lib/utils/creative-adapter.d.ts +32 -2
- package/dist/lib/utils/creative-adapter.d.ts.map +1 -1
- package/dist/lib/utils/creative-adapter.js +42 -6
- package/dist/lib/utils/creative-adapter.js.map +1 -1
- package/dist/lib/validation/schema-loader.d.ts.map +1 -1
- package/dist/lib/validation/schema-loader.js +20 -2
- package/dist/lib/validation/schema-loader.js.map +1 -1
- package/dist/lib/validation/schema-validator.d.ts +13 -0
- package/dist/lib/validation/schema-validator.d.ts.map +1 -1
- package/dist/lib/validation/schema-validator.js +240 -3
- package/dist/lib/validation/schema-validator.js.map +1 -1
- 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/docs/guides/BUILD-AN-AGENT.md +30 -5
- package/docs/llms.txt +28 -17
- package/examples/README.md +3 -1
- package/examples/decisioning-platform-broadcast-tv.ts +300 -0
- package/examples/decisioning-platform-identity-graph.ts +214 -0
- package/examples/decisioning-platform-mock-seller.ts +332 -0
- package/examples/decisioning-platform-multi-tenant.ts +128 -0
- package/examples/decisioning-platform-programmatic.ts +254 -0
- package/examples/signals-agent.ts +1 -1
- package/package.json +18 -5
- package/skills/build-brand-rights-agent/SKILL.md +10 -3
- package/skills/build-creative-agent/SKILL.md +94 -64
- package/skills/build-decisioning-creative-template/SKILL.md +554 -0
- package/skills/build-decisioning-platform/SKILL.md +304 -0
- package/skills/build-decisioning-platform/advanced/BRAND-RIGHTS.md +25 -0
- package/skills/build-decisioning-platform/advanced/COMPLIANCE.md +23 -0
- package/skills/build-decisioning-platform/advanced/GOVERNANCE.md +24 -0
- package/skills/build-decisioning-platform/advanced/HITL.md +34 -0
- package/skills/build-decisioning-platform/advanced/IDEMPOTENCY.md +52 -0
- package/skills/build-decisioning-platform/advanced/MULTI-TENANT.md +47 -0
- package/skills/build-decisioning-platform/advanced/OAUTH.md +22 -0
- package/skills/build-decisioning-platform/advanced/REFERENCE.md +991 -0
- package/skills/build-decisioning-platform/advanced/SANDBOX.md +24 -0
- package/skills/build-decisioning-platform/advanced/STATE-MACHINE.md +52 -0
- package/skills/build-decisioning-signal-marketplace/SKILL.md +269 -0
- package/skills/build-generative-seller-agent/SKILL.md +89 -53
- package/skills/build-governance-agent/SKILL.md +76 -45
- package/skills/build-retail-media-agent/SKILL.md +87 -62
- package/skills/build-seller-agent/SKILL.md +384 -255
- package/skills/build-seller-agent/deployment.md +5 -3
- package/skills/build-seller-agent/specialisms/audience-sync.md +0 -2
- package/skills/build-seller-agent/specialisms/sales-broadcast-tv.md +0 -2
- package/skills/build-seller-agent/specialisms/sales-guaranteed.md +0 -2
- package/skills/build-seller-agent/specialisms/sales-non-guaranteed.md +0 -2
- package/skills/build-seller-agent/specialisms/sales-proposal-mode.md +0 -2
- package/skills/build-seller-agent/specialisms/sales-social.md +0 -2
- package/skills/build-seller-agent/specialisms/signed-requests.md +0 -2
- package/skills/build-si-agent/SKILL.md +40 -32
- package/skills/build-signals-agent/SKILL.md +139 -92
- package/skills/call-adcp-agent.previous/SKILL.md +5 -0
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/media-buy/update-media-buy-request.json",
|
|
4
|
+
"title": "Update Media Buy Request",
|
|
5
|
+
"description": "Request parameters for updating campaign and package settings",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"media_buy_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Publisher's ID of the media buy to update"
|
|
11
|
+
},
|
|
12
|
+
"buyer_ref": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"description": "Buyer's reference for the media buy to update"
|
|
15
|
+
},
|
|
16
|
+
"paused": {
|
|
17
|
+
"type": "boolean",
|
|
18
|
+
"description": "Pause/resume the entire media buy (true = paused, false = active)"
|
|
19
|
+
},
|
|
20
|
+
"start_time": {
|
|
21
|
+
"$ref": "/schemas/core/start-timing.json"
|
|
22
|
+
},
|
|
23
|
+
"end_time": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"format": "date-time",
|
|
26
|
+
"description": "New end date/time in ISO 8601 format"
|
|
27
|
+
},
|
|
28
|
+
"packages": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"description": "Package-specific updates",
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"properties": {
|
|
34
|
+
"package_id": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "Publisher's ID of package to update"
|
|
37
|
+
},
|
|
38
|
+
"buyer_ref": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"description": "Buyer's reference for the package to update"
|
|
41
|
+
},
|
|
42
|
+
"budget": {
|
|
43
|
+
"type": "number",
|
|
44
|
+
"description": "Updated budget allocation for this package in the currency specified by the pricing option",
|
|
45
|
+
"minimum": 0
|
|
46
|
+
},
|
|
47
|
+
"pacing": {
|
|
48
|
+
"$ref": "/schemas/enums/pacing.json"
|
|
49
|
+
},
|
|
50
|
+
"bid_price": {
|
|
51
|
+
"type": "number",
|
|
52
|
+
"description": "Updated bid price for auction-based pricing options (only applies when pricing_option is auction-based)",
|
|
53
|
+
"minimum": 0
|
|
54
|
+
},
|
|
55
|
+
"impressions": {
|
|
56
|
+
"type": "number",
|
|
57
|
+
"description": "Updated impression goal for this package",
|
|
58
|
+
"minimum": 0
|
|
59
|
+
},
|
|
60
|
+
"paused": {
|
|
61
|
+
"type": "boolean",
|
|
62
|
+
"description": "Pause/resume specific package (true = paused, false = active)"
|
|
63
|
+
},
|
|
64
|
+
"targeting_overlay": {
|
|
65
|
+
"$ref": "/schemas/core/targeting.json"
|
|
66
|
+
},
|
|
67
|
+
"creative_ids": {
|
|
68
|
+
"type": "array",
|
|
69
|
+
"description": "Update creative assignments (references existing library creatives)",
|
|
70
|
+
"items": {
|
|
71
|
+
"type": "string"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"creatives": {
|
|
75
|
+
"type": "array",
|
|
76
|
+
"description": "Full creative objects to upload and assign to this package (alternative to creative_ids - creatives will be added to library). Supports both static and generative creatives.",
|
|
77
|
+
"items": {
|
|
78
|
+
"$ref": "/schemas/core/creative-asset.json"
|
|
79
|
+
},
|
|
80
|
+
"maxItems": 100
|
|
81
|
+
},
|
|
82
|
+
"creative_assignments": {
|
|
83
|
+
"type": "array",
|
|
84
|
+
"description": "Full creative assignment objects with weights and placement targeting (alternative to creative_ids - provides granular control over weights and placement targeting). Uses replacement semantics like creative_ids.",
|
|
85
|
+
"items": {
|
|
86
|
+
"$ref": "/schemas/core/creative-assignment.json"
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"oneOf": [
|
|
91
|
+
{
|
|
92
|
+
"required": [
|
|
93
|
+
"package_id"
|
|
94
|
+
]
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"required": [
|
|
98
|
+
"buyer_ref"
|
|
99
|
+
]
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"additionalProperties": true
|
|
103
|
+
}
|
|
104
|
+
},
|
|
105
|
+
"push_notification_config": {
|
|
106
|
+
"$ref": "/schemas/core/push-notification-config.json",
|
|
107
|
+
"description": "Optional webhook configuration for async update notifications. Publisher will send webhook when update completes if operation takes longer than immediate response time."
|
|
108
|
+
},
|
|
109
|
+
"context": {
|
|
110
|
+
"$ref": "/schemas/core/context.json"
|
|
111
|
+
},
|
|
112
|
+
"ext": {
|
|
113
|
+
"$ref": "/schemas/core/ext.json"
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"oneOf": [
|
|
117
|
+
{
|
|
118
|
+
"required": [
|
|
119
|
+
"media_buy_id"
|
|
120
|
+
]
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"required": [
|
|
124
|
+
"buyer_ref"
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"additionalProperties": true
|
|
129
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/media-buy/update-media-buy-response.json",
|
|
4
|
+
"title": "Update Media Buy Response",
|
|
5
|
+
"description": "Response payload for update_media_buy task. Returns either complete success data OR error information, never both. This enforces atomic operation semantics - updates are either fully applied or not applied at all.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"oneOf": [
|
|
8
|
+
{
|
|
9
|
+
"title": "UpdateMediaBuySuccess",
|
|
10
|
+
"description": "Success response - media buy updated successfully",
|
|
11
|
+
"type": "object",
|
|
12
|
+
"properties": {
|
|
13
|
+
"media_buy_id": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"description": "Publisher's identifier for the media buy"
|
|
16
|
+
},
|
|
17
|
+
"buyer_ref": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "Buyer's reference identifier for the media buy"
|
|
20
|
+
},
|
|
21
|
+
"implementation_date": {
|
|
22
|
+
"type": [
|
|
23
|
+
"string",
|
|
24
|
+
"null"
|
|
25
|
+
],
|
|
26
|
+
"format": "date-time",
|
|
27
|
+
"description": "ISO 8601 timestamp when changes take effect (null if pending approval)"
|
|
28
|
+
},
|
|
29
|
+
"affected_packages": {
|
|
30
|
+
"type": "array",
|
|
31
|
+
"description": "Array of packages that were modified with complete state information",
|
|
32
|
+
"items": {
|
|
33
|
+
"$ref": "/schemas/core/package.json"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"context": {
|
|
37
|
+
"$ref": "/schemas/core/context.json"
|
|
38
|
+
},
|
|
39
|
+
"ext": {
|
|
40
|
+
"$ref": "/schemas/core/ext.json"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"required": [
|
|
44
|
+
"media_buy_id",
|
|
45
|
+
"buyer_ref"
|
|
46
|
+
],
|
|
47
|
+
"additionalProperties": true,
|
|
48
|
+
"not": {
|
|
49
|
+
"required": [
|
|
50
|
+
"errors"
|
|
51
|
+
]
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"title": "UpdateMediaBuyError",
|
|
56
|
+
"description": "Error response - operation failed, no changes applied",
|
|
57
|
+
"type": "object",
|
|
58
|
+
"properties": {
|
|
59
|
+
"errors": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"description": "Array of errors explaining why the operation failed",
|
|
62
|
+
"items": {
|
|
63
|
+
"$ref": "/schemas/core/error.json"
|
|
64
|
+
},
|
|
65
|
+
"minItems": 1
|
|
66
|
+
},
|
|
67
|
+
"context": {
|
|
68
|
+
"$ref": "/schemas/core/context.json"
|
|
69
|
+
},
|
|
70
|
+
"ext": {
|
|
71
|
+
"$ref": "/schemas/core/ext.json"
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"required": [
|
|
75
|
+
"errors"
|
|
76
|
+
],
|
|
77
|
+
"additionalProperties": true,
|
|
78
|
+
"not": {
|
|
79
|
+
"anyOf": [
|
|
80
|
+
{
|
|
81
|
+
"required": [
|
|
82
|
+
"media_buy_id"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"required": [
|
|
87
|
+
"buyer_ref"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"required": [
|
|
92
|
+
"affected_packages"
|
|
93
|
+
]
|
|
94
|
+
}
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpc-option.json",
|
|
4
|
+
"title": "CPC Pricing Option",
|
|
5
|
+
"description": "Cost Per Click fixed-rate pricing for performance-driven advertising campaigns",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpc_usd_fixed')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpc",
|
|
15
|
+
"description": "Cost per click"
|
|
16
|
+
},
|
|
17
|
+
"rate": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"description": "Fixed CPC rate (cost per click)",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"currency": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "ISO 4217 currency code",
|
|
25
|
+
"pattern": "^[A-Z]{3}$",
|
|
26
|
+
"examples": [
|
|
27
|
+
"USD",
|
|
28
|
+
"EUR",
|
|
29
|
+
"GBP",
|
|
30
|
+
"JPY"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"is_fixed": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
36
|
+
"const": true
|
|
37
|
+
},
|
|
38
|
+
"min_spend_per_package": {
|
|
39
|
+
"type": "number",
|
|
40
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
41
|
+
"minimum": 0
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": [
|
|
45
|
+
"pricing_option_id",
|
|
46
|
+
"pricing_model",
|
|
47
|
+
"rate",
|
|
48
|
+
"currency",
|
|
49
|
+
"is_fixed"
|
|
50
|
+
],
|
|
51
|
+
"additionalProperties": true
|
|
52
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpcv-option.json",
|
|
4
|
+
"title": "CPCV Pricing Option",
|
|
5
|
+
"description": "Cost Per Completed View (100% video/audio completion) fixed-rate pricing",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpcv_usd_guaranteed')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpcv",
|
|
15
|
+
"description": "Cost per completed view (100% completion)"
|
|
16
|
+
},
|
|
17
|
+
"rate": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"description": "Fixed CPCV rate (cost per 100% completion)",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"currency": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "ISO 4217 currency code",
|
|
25
|
+
"pattern": "^[A-Z]{3}$",
|
|
26
|
+
"examples": [
|
|
27
|
+
"USD",
|
|
28
|
+
"EUR",
|
|
29
|
+
"GBP",
|
|
30
|
+
"JPY"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"is_fixed": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
36
|
+
"const": true
|
|
37
|
+
},
|
|
38
|
+
"min_spend_per_package": {
|
|
39
|
+
"type": "number",
|
|
40
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
41
|
+
"minimum": 0
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": [
|
|
45
|
+
"pricing_option_id",
|
|
46
|
+
"pricing_model",
|
|
47
|
+
"rate",
|
|
48
|
+
"currency",
|
|
49
|
+
"is_fixed"
|
|
50
|
+
],
|
|
51
|
+
"additionalProperties": true
|
|
52
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpm-auction-option.json",
|
|
4
|
+
"title": "CPM Auction Pricing Option",
|
|
5
|
+
"description": "Cost Per Mille (cost per 1,000 impressions) with auction-based pricing - common for programmatic/non-guaranteed inventory",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpm_usd_auction')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpm",
|
|
15
|
+
"description": "Cost per 1,000 impressions"
|
|
16
|
+
},
|
|
17
|
+
"currency": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"description": "ISO 4217 currency code",
|
|
20
|
+
"pattern": "^[A-Z]{3}$",
|
|
21
|
+
"examples": [
|
|
22
|
+
"USD",
|
|
23
|
+
"EUR",
|
|
24
|
+
"GBP",
|
|
25
|
+
"JPY"
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
"is_fixed": {
|
|
29
|
+
"type": "boolean",
|
|
30
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
31
|
+
"const": false
|
|
32
|
+
},
|
|
33
|
+
"price_guidance": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"description": "Pricing guidance for auction-based CPM bidding",
|
|
36
|
+
"properties": {
|
|
37
|
+
"floor": {
|
|
38
|
+
"type": "number",
|
|
39
|
+
"description": "Minimum bid price - publisher will reject bids under this value",
|
|
40
|
+
"minimum": 0
|
|
41
|
+
},
|
|
42
|
+
"p25": {
|
|
43
|
+
"type": "number",
|
|
44
|
+
"description": "25th percentile winning price",
|
|
45
|
+
"minimum": 0
|
|
46
|
+
},
|
|
47
|
+
"p50": {
|
|
48
|
+
"type": "number",
|
|
49
|
+
"description": "Median winning price",
|
|
50
|
+
"minimum": 0
|
|
51
|
+
},
|
|
52
|
+
"p75": {
|
|
53
|
+
"type": "number",
|
|
54
|
+
"description": "75th percentile winning price",
|
|
55
|
+
"minimum": 0
|
|
56
|
+
},
|
|
57
|
+
"p90": {
|
|
58
|
+
"type": "number",
|
|
59
|
+
"description": "90th percentile winning price",
|
|
60
|
+
"minimum": 0
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"required": [
|
|
64
|
+
"floor"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"min_spend_per_package": {
|
|
68
|
+
"type": "number",
|
|
69
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
70
|
+
"minimum": 0
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"required": [
|
|
74
|
+
"pricing_option_id",
|
|
75
|
+
"pricing_model",
|
|
76
|
+
"price_guidance",
|
|
77
|
+
"currency",
|
|
78
|
+
"is_fixed"
|
|
79
|
+
],
|
|
80
|
+
"additionalProperties": true
|
|
81
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpm-fixed-option.json",
|
|
4
|
+
"title": "CPM Fixed Rate Pricing Option",
|
|
5
|
+
"description": "Cost Per Mille (cost per 1,000 impressions) with guaranteed fixed rate - common for direct/guaranteed deals",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpm_usd_guaranteed')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpm",
|
|
15
|
+
"description": "Cost per 1,000 impressions"
|
|
16
|
+
},
|
|
17
|
+
"rate": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"description": "Fixed CPM rate (cost per 1,000 impressions)",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"currency": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "ISO 4217 currency code",
|
|
25
|
+
"pattern": "^[A-Z]{3}$",
|
|
26
|
+
"examples": [
|
|
27
|
+
"USD",
|
|
28
|
+
"EUR",
|
|
29
|
+
"GBP",
|
|
30
|
+
"JPY"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"is_fixed": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
36
|
+
"const": true
|
|
37
|
+
},
|
|
38
|
+
"min_spend_per_package": {
|
|
39
|
+
"type": "number",
|
|
40
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
41
|
+
"minimum": 0
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": [
|
|
45
|
+
"pricing_option_id",
|
|
46
|
+
"pricing_model",
|
|
47
|
+
"rate",
|
|
48
|
+
"currency",
|
|
49
|
+
"is_fixed"
|
|
50
|
+
],
|
|
51
|
+
"additionalProperties": true
|
|
52
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpp-option.json",
|
|
4
|
+
"title": "CPP Pricing Option",
|
|
5
|
+
"description": "Cost Per Point (Gross Rating Point) fixed-rate pricing for TV and audio campaigns requiring demographic measurement",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpp_usd_p18-49')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpp",
|
|
15
|
+
"description": "Cost per Gross Rating Point"
|
|
16
|
+
},
|
|
17
|
+
"rate": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"description": "Fixed CPP rate (cost per rating point)",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"currency": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "ISO 4217 currency code",
|
|
25
|
+
"pattern": "^[A-Z]{3}$",
|
|
26
|
+
"examples": [
|
|
27
|
+
"USD",
|
|
28
|
+
"EUR",
|
|
29
|
+
"GBP",
|
|
30
|
+
"JPY"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"is_fixed": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
36
|
+
"const": true
|
|
37
|
+
},
|
|
38
|
+
"parameters": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"description": "CPP-specific parameters for demographic targeting and GRP requirements",
|
|
41
|
+
"properties": {
|
|
42
|
+
"demographic": {
|
|
43
|
+
"type": "string",
|
|
44
|
+
"pattern": "^[PMWAC][0-9]{2}(-[0-9]{2}|\\+)$",
|
|
45
|
+
"description": "Target demographic in Nielsen format: P/M/W/A/C + age range. Examples: P18-49 (Persons 18-49), M25-54 (Men 25-54), W35+ (Women 35+), A18-34 (Adults 18-34), C2-11 (Children 2-11)"
|
|
46
|
+
},
|
|
47
|
+
"min_points": {
|
|
48
|
+
"type": "number",
|
|
49
|
+
"description": "Minimum GRPs/TRPs required for this pricing option",
|
|
50
|
+
"minimum": 0
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"required": [
|
|
54
|
+
"demographic"
|
|
55
|
+
],
|
|
56
|
+
"additionalProperties": true
|
|
57
|
+
},
|
|
58
|
+
"min_spend_per_package": {
|
|
59
|
+
"type": "number",
|
|
60
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
61
|
+
"minimum": 0
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"required": [
|
|
65
|
+
"pricing_option_id",
|
|
66
|
+
"pricing_model",
|
|
67
|
+
"rate",
|
|
68
|
+
"currency",
|
|
69
|
+
"is_fixed",
|
|
70
|
+
"parameters"
|
|
71
|
+
],
|
|
72
|
+
"additionalProperties": true
|
|
73
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "/schemas/pricing-options/cpv-option.json",
|
|
4
|
+
"title": "CPV Pricing Option",
|
|
5
|
+
"description": "Cost Per View (at publisher-defined threshold) fixed-rate pricing for video/audio",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"pricing_option_id": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"description": "Unique identifier for this pricing option within the product (e.g., 'cpv_usd_50pct')"
|
|
11
|
+
},
|
|
12
|
+
"pricing_model": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"const": "cpv",
|
|
15
|
+
"description": "Cost per view at threshold"
|
|
16
|
+
},
|
|
17
|
+
"rate": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"description": "Fixed CPV rate (cost per view)",
|
|
20
|
+
"minimum": 0
|
|
21
|
+
},
|
|
22
|
+
"currency": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"description": "ISO 4217 currency code",
|
|
25
|
+
"pattern": "^[A-Z]{3}$",
|
|
26
|
+
"examples": [
|
|
27
|
+
"USD",
|
|
28
|
+
"EUR",
|
|
29
|
+
"GBP",
|
|
30
|
+
"JPY"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"is_fixed": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Whether this is a fixed rate (true) or auction-based (false)",
|
|
36
|
+
"const": true
|
|
37
|
+
},
|
|
38
|
+
"parameters": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"description": "CPV-specific parameters defining the view threshold",
|
|
41
|
+
"properties": {
|
|
42
|
+
"view_threshold": {
|
|
43
|
+
"oneOf": [
|
|
44
|
+
{
|
|
45
|
+
"type": "number",
|
|
46
|
+
"description": "Percentage completion threshold for CPV pricing (0.0 to 1.0, e.g., 0.5 = 50% completion)",
|
|
47
|
+
"minimum": 0,
|
|
48
|
+
"maximum": 1
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"type": "object",
|
|
52
|
+
"description": "Time-based view threshold for CPV pricing",
|
|
53
|
+
"properties": {
|
|
54
|
+
"duration_seconds": {
|
|
55
|
+
"type": "integer",
|
|
56
|
+
"description": "Seconds of viewing required (e.g., 30 for YouTube-style '30 seconds = view')",
|
|
57
|
+
"minimum": 1
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"required": [
|
|
61
|
+
"duration_seconds"
|
|
62
|
+
],
|
|
63
|
+
"additionalProperties": true
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"required": [
|
|
69
|
+
"view_threshold"
|
|
70
|
+
],
|
|
71
|
+
"additionalProperties": true
|
|
72
|
+
},
|
|
73
|
+
"min_spend_per_package": {
|
|
74
|
+
"type": "number",
|
|
75
|
+
"description": "Minimum spend requirement per package using this pricing option, in the specified currency",
|
|
76
|
+
"minimum": 0
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"required": [
|
|
80
|
+
"pricing_option_id",
|
|
81
|
+
"pricing_model",
|
|
82
|
+
"rate",
|
|
83
|
+
"currency",
|
|
84
|
+
"is_fixed",
|
|
85
|
+
"parameters"
|
|
86
|
+
],
|
|
87
|
+
"additionalProperties": true
|
|
88
|
+
}
|