@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.
Files changed (454) hide show
  1. package/README.md +45 -7
  2. package/dist/lib/compliance-fixtures/index.d.ts +1 -1
  3. package/dist/lib/compliance-fixtures/index.js +1 -1
  4. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  5. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  6. package/dist/lib/core/SingleAgentClient.js +27 -0
  7. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  8. package/dist/lib/core/TaskExecutor.d.ts +21 -0
  9. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  10. package/dist/lib/core/TaskExecutor.js +25 -2
  11. package/dist/lib/core/TaskExecutor.js.map +1 -1
  12. package/dist/lib/index.d.ts +1 -1
  13. package/dist/lib/index.d.ts.map +1 -1
  14. package/dist/lib/index.js +7 -8
  15. package/dist/lib/index.js.map +1 -1
  16. package/dist/lib/schemas/index.d.ts +1 -1
  17. package/dist/lib/schemas/index.js +1 -1
  18. package/dist/lib/schemas-data/v2.5/_provenance.json +8 -0
  19. package/dist/lib/schemas-data/v2.5/adagents.json +494 -0
  20. package/dist/lib/schemas-data/v2.5/core/activation-key.json +50 -0
  21. package/dist/lib/schemas-data/v2.5/core/assets/audio-asset.json +32 -0
  22. package/dist/lib/schemas-data/v2.5/core/assets/css-asset.json +21 -0
  23. package/dist/lib/schemas-data/v2.5/core/assets/daast-asset.json +87 -0
  24. package/dist/lib/schemas-data/v2.5/core/assets/html-asset.json +21 -0
  25. package/dist/lib/schemas-data/v2.5/core/assets/image-asset.json +38 -0
  26. package/dist/lib/schemas-data/v2.5/core/assets/javascript-asset.json +21 -0
  27. package/dist/lib/schemas-data/v2.5/core/assets/markdown-asset.json +31 -0
  28. package/dist/lib/schemas-data/v2.5/core/assets/text-asset.json +21 -0
  29. package/dist/lib/schemas-data/v2.5/core/assets/url-asset.json +26 -0
  30. package/dist/lib/schemas-data/v2.5/core/assets/vast-asset.json +87 -0
  31. package/dist/lib/schemas-data/v2.5/core/assets/video-asset.json +44 -0
  32. package/dist/lib/schemas-data/v2.5/core/assets/webhook-asset.json +71 -0
  33. package/dist/lib/schemas-data/v2.5/core/async-response-data.json +88 -0
  34. package/dist/lib/schemas-data/v2.5/core/brand-manifest-ref.json +33 -0
  35. package/dist/lib/schemas-data/v2.5/core/brand-manifest.json +409 -0
  36. package/dist/lib/schemas-data/v2.5/core/context.json +8 -0
  37. package/dist/lib/schemas-data/v2.5/core/creative-asset.json +125 -0
  38. package/dist/lib/schemas-data/v2.5/core/creative-assignment.json +31 -0
  39. package/dist/lib/schemas-data/v2.5/core/creative-filters.json +111 -0
  40. package/dist/lib/schemas-data/v2.5/core/creative-manifest.json +72 -0
  41. package/dist/lib/schemas-data/v2.5/core/creative-policy.json +27 -0
  42. package/dist/lib/schemas-data/v2.5/core/delivery-metrics.json +171 -0
  43. package/dist/lib/schemas-data/v2.5/core/deployment.json +93 -0
  44. package/dist/lib/schemas-data/v2.5/core/destination.json +53 -0
  45. package/dist/lib/schemas-data/v2.5/core/error.json +40 -0
  46. package/dist/lib/schemas-data/v2.5/core/ext.json +8 -0
  47. package/dist/lib/schemas-data/v2.5/core/format-id.json +47 -0
  48. package/dist/lib/schemas-data/v2.5/core/format.json +324 -0
  49. package/dist/lib/schemas-data/v2.5/core/frequency-cap.json +18 -0
  50. package/dist/lib/schemas-data/v2.5/core/mcp-webhook-payload.json +152 -0
  51. package/dist/lib/schemas-data/v2.5/core/measurement.json +48 -0
  52. package/dist/lib/schemas-data/v2.5/core/media-buy.json +62 -0
  53. package/dist/lib/schemas-data/v2.5/core/package.json +72 -0
  54. package/dist/lib/schemas-data/v2.5/core/performance-feedback.json +90 -0
  55. package/dist/lib/schemas-data/v2.5/core/placement.json +34 -0
  56. package/dist/lib/schemas-data/v2.5/core/pricing-option.json +35 -0
  57. package/dist/lib/schemas-data/v2.5/core/product-filters.json +102 -0
  58. package/dist/lib/schemas-data/v2.5/core/product.json +153 -0
  59. package/dist/lib/schemas-data/v2.5/core/promoted-offerings.json +115 -0
  60. package/dist/lib/schemas-data/v2.5/core/promoted-products.json +67 -0
  61. package/dist/lib/schemas-data/v2.5/core/property-id.json +14 -0
  62. package/dist/lib/schemas-data/v2.5/core/property-tag.json +16 -0
  63. package/dist/lib/schemas-data/v2.5/core/property.json +62 -0
  64. package/dist/lib/schemas-data/v2.5/core/protocol-envelope.json +146 -0
  65. package/dist/lib/schemas-data/v2.5/core/publisher-property-selector.json +92 -0
  66. package/dist/lib/schemas-data/v2.5/core/push-notification-config.json +48 -0
  67. package/dist/lib/schemas-data/v2.5/core/reporting-capabilities.json +71 -0
  68. package/dist/lib/schemas-data/v2.5/core/response.json +24 -0
  69. package/dist/lib/schemas-data/v2.5/core/signal-filters.json +35 -0
  70. package/dist/lib/schemas-data/v2.5/core/start-timing.json +18 -0
  71. package/dist/lib/schemas-data/v2.5/core/sub-asset.json +79 -0
  72. package/dist/lib/schemas-data/v2.5/core/targeting.json +50 -0
  73. package/dist/lib/schemas-data/v2.5/core/tasks-get-request.json +43 -0
  74. package/dist/lib/schemas-data/v2.5/core/tasks-get-response.json +166 -0
  75. package/dist/lib/schemas-data/v2.5/core/tasks-list-request.json +192 -0
  76. package/dist/lib/schemas-data/v2.5/core/tasks-list-response.json +183 -0
  77. package/dist/lib/schemas-data/v2.5/creative/asset-types/index.json +101 -0
  78. package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-request.json +73 -0
  79. package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-response.json +61 -0
  80. package/dist/lib/schemas-data/v2.5/creative/preview-creative-request.json +164 -0
  81. package/dist/lib/schemas-data/v2.5/creative/preview-creative-response.json +245 -0
  82. package/dist/lib/schemas-data/v2.5/creative/preview-render.json +225 -0
  83. package/dist/lib/schemas-data/v2.5/enums/adcp-domain.json +11 -0
  84. package/dist/lib/schemas-data/v2.5/enums/asset-content-type.json +22 -0
  85. package/dist/lib/schemas-data/v2.5/enums/auth-scheme.json +11 -0
  86. package/dist/lib/schemas-data/v2.5/enums/available-metric.json +18 -0
  87. package/dist/lib/schemas-data/v2.5/enums/channels.json +18 -0
  88. package/dist/lib/schemas-data/v2.5/enums/co-branding-requirement.json +12 -0
  89. package/dist/lib/schemas-data/v2.5/enums/creative-action.json +14 -0
  90. package/dist/lib/schemas-data/v2.5/enums/creative-agent-capability.json +13 -0
  91. package/dist/lib/schemas-data/v2.5/enums/creative-sort-field.json +15 -0
  92. package/dist/lib/schemas-data/v2.5/enums/creative-status.json +19 -0
  93. package/dist/lib/schemas-data/v2.5/enums/daast-tracking-event.json +20 -0
  94. package/dist/lib/schemas-data/v2.5/enums/daast-version.json +11 -0
  95. package/dist/lib/schemas-data/v2.5/enums/delivery-type.json +15 -0
  96. package/dist/lib/schemas-data/v2.5/enums/dimension-unit.json +13 -0
  97. package/dist/lib/schemas-data/v2.5/enums/feed-format.json +12 -0
  98. package/dist/lib/schemas-data/v2.5/enums/feedback-source.json +13 -0
  99. package/dist/lib/schemas-data/v2.5/enums/format-category.json +16 -0
  100. package/dist/lib/schemas-data/v2.5/enums/format-id-parameter.json +11 -0
  101. package/dist/lib/schemas-data/v2.5/enums/frequency-cap-scope.json +13 -0
  102. package/dist/lib/schemas-data/v2.5/enums/history-entry-type.json +11 -0
  103. package/dist/lib/schemas-data/v2.5/enums/http-method.json +11 -0
  104. package/dist/lib/schemas-data/v2.5/enums/identifier-types.json +34 -0
  105. package/dist/lib/schemas-data/v2.5/enums/javascript-module-type.json +12 -0
  106. package/dist/lib/schemas-data/v2.5/enums/landing-page-requirement.json +12 -0
  107. package/dist/lib/schemas-data/v2.5/enums/markdown-flavor.json +11 -0
  108. package/dist/lib/schemas-data/v2.5/enums/media-buy-status.json +19 -0
  109. package/dist/lib/schemas-data/v2.5/enums/metric-type.json +17 -0
  110. package/dist/lib/schemas-data/v2.5/enums/notification-type.json +13 -0
  111. package/dist/lib/schemas-data/v2.5/enums/pacing.json +17 -0
  112. package/dist/lib/schemas-data/v2.5/enums/preview-output-format.json +11 -0
  113. package/dist/lib/schemas-data/v2.5/enums/pricing-model.json +25 -0
  114. package/dist/lib/schemas-data/v2.5/enums/property-type.json +16 -0
  115. package/dist/lib/schemas-data/v2.5/enums/publisher-identifier-types.json +19 -0
  116. package/dist/lib/schemas-data/v2.5/enums/reporting-frequency.json +12 -0
  117. package/dist/lib/schemas-data/v2.5/enums/signal-catalog-type.json +12 -0
  118. package/dist/lib/schemas-data/v2.5/enums/sort-direction.json +11 -0
  119. package/dist/lib/schemas-data/v2.5/enums/standard-format-ids.json +103 -0
  120. package/dist/lib/schemas-data/v2.5/enums/task-status.json +29 -0
  121. package/dist/lib/schemas-data/v2.5/enums/task-type.json +27 -0
  122. package/dist/lib/schemas-data/v2.5/enums/update-frequency.json +13 -0
  123. package/dist/lib/schemas-data/v2.5/enums/url-asset-type.json +12 -0
  124. package/dist/lib/schemas-data/v2.5/enums/validation-mode.json +11 -0
  125. package/dist/lib/schemas-data/v2.5/enums/vast-tracking-event.json +25 -0
  126. package/dist/lib/schemas-data/v2.5/enums/vast-version.json +14 -0
  127. package/dist/lib/schemas-data/v2.5/enums/webhook-response-type.json +13 -0
  128. package/dist/lib/schemas-data/v2.5/enums/webhook-security-method.json +12 -0
  129. package/dist/lib/schemas-data/v2.5/index.json +604 -0
  130. package/dist/lib/schemas-data/v2.5/media-buy/build-creative-request.json +31 -0
  131. package/dist/lib/schemas-data/v2.5/media-buy/build-creative-response.json +65 -0
  132. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-input-required.json +31 -0
  133. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-submitted.json +16 -0
  134. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-working.json +36 -0
  135. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-request.json +126 -0
  136. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-response.json +97 -0
  137. package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-request.json +54 -0
  138. package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-response.json +285 -0
  139. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-input-required.json +38 -0
  140. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-submitted.json +21 -0
  141. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-working.json +34 -0
  142. package/dist/lib/schemas-data/v2.5/media-buy/get-products-request.json +28 -0
  143. package/dist/lib/schemas-data/v2.5/media-buy/get-products-response.json +33 -0
  144. package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-request.json +26 -0
  145. package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-response.json +70 -0
  146. package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-request.json +58 -0
  147. package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-response.json +61 -0
  148. package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-request.json +137 -0
  149. package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-response.json +437 -0
  150. package/dist/lib/schemas-data/v2.5/media-buy/package-request.json +80 -0
  151. package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-request.json +88 -0
  152. package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-response.json +66 -0
  153. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-input-required.json +25 -0
  154. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-submitted.json +16 -0
  155. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-working.json +46 -0
  156. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-request.json +178 -0
  157. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-response.json +149 -0
  158. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-input-required.json +24 -0
  159. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-submitted.json +16 -0
  160. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-working.json +36 -0
  161. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-request.json +129 -0
  162. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-response.json +99 -0
  163. package/dist/lib/schemas-data/v2.5/pricing-options/cpc-option.json +52 -0
  164. package/dist/lib/schemas-data/v2.5/pricing-options/cpcv-option.json +52 -0
  165. package/dist/lib/schemas-data/v2.5/pricing-options/cpm-auction-option.json +81 -0
  166. package/dist/lib/schemas-data/v2.5/pricing-options/cpm-fixed-option.json +52 -0
  167. package/dist/lib/schemas-data/v2.5/pricing-options/cpp-option.json +73 -0
  168. package/dist/lib/schemas-data/v2.5/pricing-options/cpv-option.json +88 -0
  169. package/dist/lib/schemas-data/v2.5/pricing-options/flat-rate-option.json +93 -0
  170. package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-auction-option.json +81 -0
  171. package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-fixed-option.json +52 -0
  172. package/dist/lib/schemas-data/v2.5/protocols/adcp-extension.json +33 -0
  173. package/dist/lib/schemas-data/v2.5/signals/activate-signal-request.json +32 -0
  174. package/dist/lib/schemas-data/v2.5/signals/activate-signal-response.json +68 -0
  175. package/dist/lib/schemas-data/v2.5/signals/get-signals-request.json +59 -0
  176. package/dist/lib/schemas-data/v2.5/signals/get-signals-response.json +100 -0
  177. package/dist/lib/server/create-adcp-server.d.ts +129 -11
  178. package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
  179. package/dist/lib/server/create-adcp-server.js +127 -2
  180. package/dist/lib/server/create-adcp-server.js.map +1 -1
  181. package/dist/lib/server/ctx-metadata/backends/memory.d.ts +27 -0
  182. package/dist/lib/server/ctx-metadata/backends/memory.d.ts.map +1 -0
  183. package/dist/lib/server/ctx-metadata/backends/memory.js +72 -0
  184. package/dist/lib/server/ctx-metadata/backends/memory.js.map +1 -0
  185. package/dist/lib/server/ctx-metadata/backends/pg.d.ts +62 -0
  186. package/dist/lib/server/ctx-metadata/backends/pg.d.ts.map +1 -0
  187. package/dist/lib/server/ctx-metadata/backends/pg.js +145 -0
  188. package/dist/lib/server/ctx-metadata/backends/pg.js.map +1 -0
  189. package/dist/lib/server/ctx-metadata/index.d.ts +15 -0
  190. package/dist/lib/server/ctx-metadata/index.d.ts.map +1 -0
  191. package/dist/lib/server/ctx-metadata/index.js +28 -0
  192. package/dist/lib/server/ctx-metadata/index.js.map +1 -0
  193. package/dist/lib/server/ctx-metadata/store.d.ts +177 -0
  194. package/dist/lib/server/ctx-metadata/store.d.ts.map +1 -0
  195. package/dist/lib/server/ctx-metadata/store.js +327 -0
  196. package/dist/lib/server/ctx-metadata/store.js.map +1 -0
  197. package/dist/lib/server/ctx-metadata/wire-shape.d.ts +55 -0
  198. package/dist/lib/server/ctx-metadata/wire-shape.d.ts.map +1 -0
  199. package/dist/lib/server/ctx-metadata/wire-shape.js +121 -0
  200. package/dist/lib/server/ctx-metadata/wire-shape.js.map +1 -0
  201. package/dist/lib/server/decisioning/account.d.ts +309 -0
  202. package/dist/lib/server/decisioning/account.d.ts.map +1 -0
  203. package/dist/lib/server/decisioning/account.js +102 -0
  204. package/dist/lib/server/decisioning/account.js.map +1 -0
  205. package/dist/lib/server/decisioning/admin-router.d.ts +75 -0
  206. package/dist/lib/server/decisioning/admin-router.d.ts.map +1 -0
  207. package/dist/lib/server/decisioning/admin-router.js +120 -0
  208. package/dist/lib/server/decisioning/admin-router.js.map +1 -0
  209. package/dist/lib/server/decisioning/assembly-helpers.d.ts +204 -0
  210. package/dist/lib/server/decisioning/assembly-helpers.d.ts.map +1 -0
  211. package/dist/lib/server/decisioning/assembly-helpers.js +173 -0
  212. package/dist/lib/server/decisioning/assembly-helpers.js.map +1 -0
  213. package/dist/lib/server/decisioning/async-outcome.d.ts +154 -0
  214. package/dist/lib/server/decisioning/async-outcome.d.ts.map +1 -0
  215. package/dist/lib/server/decisioning/async-outcome.js +239 -0
  216. package/dist/lib/server/decisioning/async-outcome.js.map +1 -0
  217. package/dist/lib/server/decisioning/capabilities.d.ts +251 -0
  218. package/dist/lib/server/decisioning/capabilities.d.ts.map +1 -0
  219. package/dist/lib/server/decisioning/capabilities.js +16 -0
  220. package/dist/lib/server/decisioning/capabilities.js.map +1 -0
  221. package/dist/lib/server/decisioning/context.d.ts +212 -0
  222. package/dist/lib/server/decisioning/context.d.ts.map +1 -0
  223. package/dist/lib/server/decisioning/context.js +26 -0
  224. package/dist/lib/server/decisioning/context.js.map +1 -0
  225. package/dist/lib/server/decisioning/errors-typed.d.ts +104 -0
  226. package/dist/lib/server/decisioning/errors-typed.d.ts.map +1 -0
  227. package/dist/lib/server/decisioning/errors-typed.js +304 -0
  228. package/dist/lib/server/decisioning/errors-typed.js.map +1 -0
  229. package/dist/lib/server/decisioning/helpers.d.ts +131 -0
  230. package/dist/lib/server/decisioning/helpers.d.ts.map +1 -0
  231. package/dist/lib/server/decisioning/helpers.js +134 -0
  232. package/dist/lib/server/decisioning/helpers.js.map +1 -0
  233. package/dist/lib/server/decisioning/index.d.ts +46 -0
  234. package/dist/lib/server/decisioning/index.d.ts.map +1 -0
  235. package/dist/lib/server/decisioning/index.js +120 -0
  236. package/dist/lib/server/decisioning/index.js.map +1 -0
  237. package/dist/lib/server/decisioning/list-helpers.d.ts +53 -0
  238. package/dist/lib/server/decisioning/list-helpers.d.ts.map +1 -0
  239. package/dist/lib/server/decisioning/list-helpers.js +96 -0
  240. package/dist/lib/server/decisioning/list-helpers.js.map +1 -0
  241. package/dist/lib/server/decisioning/manifest-helpers.d.ts +56 -0
  242. package/dist/lib/server/decisioning/manifest-helpers.d.ts.map +1 -0
  243. package/dist/lib/server/decisioning/manifest-helpers.js +78 -0
  244. package/dist/lib/server/decisioning/manifest-helpers.js.map +1 -0
  245. package/dist/lib/server/decisioning/pagination.d.ts +21 -0
  246. package/dist/lib/server/decisioning/pagination.d.ts.map +1 -0
  247. package/dist/lib/server/decisioning/pagination.js +12 -0
  248. package/dist/lib/server/decisioning/pagination.js.map +1 -0
  249. package/dist/lib/server/decisioning/platform.d.ts +188 -0
  250. package/dist/lib/server/decisioning/platform.d.ts.map +1 -0
  251. package/dist/lib/server/decisioning/platform.js +19 -0
  252. package/dist/lib/server/decisioning/platform.js.map +1 -0
  253. package/dist/lib/server/decisioning/runtime/from-platform.d.ts +510 -0
  254. package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -0
  255. package/dist/lib/server/decisioning/runtime/from-platform.js +2196 -0
  256. package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -0
  257. package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts +114 -0
  258. package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts.map +1 -0
  259. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js +247 -0
  260. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js.map +1 -0
  261. package/dist/lib/server/decisioning/runtime/protocol-for-tool.d.ts +32 -0
  262. package/dist/lib/server/decisioning/runtime/protocol-for-tool.d.ts.map +1 -0
  263. package/dist/lib/server/decisioning/runtime/protocol-for-tool.js +127 -0
  264. package/dist/lib/server/decisioning/runtime/protocol-for-tool.js.map +1 -0
  265. package/dist/lib/server/decisioning/runtime/task-registry.d.ts +105 -0
  266. package/dist/lib/server/decisioning/runtime/task-registry.d.ts.map +1 -0
  267. package/dist/lib/server/decisioning/runtime/task-registry.js +96 -0
  268. package/dist/lib/server/decisioning/runtime/task-registry.js.map +1 -0
  269. package/dist/lib/server/decisioning/runtime/to-context.d.ts +54 -0
  270. package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -0
  271. package/dist/lib/server/decisioning/runtime/to-context.js +166 -0
  272. package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -0
  273. package/dist/lib/server/decisioning/runtime/validate-platform.d.ts +20 -0
  274. package/dist/lib/server/decisioning/runtime/validate-platform.d.ts.map +1 -0
  275. package/dist/lib/server/decisioning/runtime/validate-platform.js +93 -0
  276. package/dist/lib/server/decisioning/runtime/validate-platform.js.map +1 -0
  277. package/dist/lib/server/decisioning/specialisms/audiences.d.ts +72 -0
  278. package/dist/lib/server/decisioning/specialisms/audiences.d.ts.map +1 -0
  279. package/dist/lib/server/decisioning/specialisms/audiences.js +15 -0
  280. package/dist/lib/server/decisioning/specialisms/audiences.js.map +1 -0
  281. package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts +92 -0
  282. package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts.map +1 -0
  283. package/dist/lib/server/decisioning/specialisms/brand-rights.js +28 -0
  284. package/dist/lib/server/decisioning/specialisms/brand-rights.js.map +1 -0
  285. package/dist/lib/server/decisioning/specialisms/campaign-governance.d.ts +67 -0
  286. package/dist/lib/server/decisioning/specialisms/campaign-governance.d.ts.map +1 -0
  287. package/dist/lib/server/decisioning/specialisms/campaign-governance.js +31 -0
  288. package/dist/lib/server/decisioning/specialisms/campaign-governance.js.map +1 -0
  289. package/dist/lib/server/decisioning/specialisms/content-standards.d.ts +78 -0
  290. package/dist/lib/server/decisioning/specialisms/content-standards.d.ts.map +1 -0
  291. package/dist/lib/server/decisioning/specialisms/content-standards.js +35 -0
  292. package/dist/lib/server/decisioning/specialisms/content-standards.js.map +1 -0
  293. package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts +81 -0
  294. package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts.map +1 -0
  295. package/dist/lib/server/decisioning/specialisms/creative-ad-server.js +28 -0
  296. package/dist/lib/server/decisioning/specialisms/creative-ad-server.js.map +1 -0
  297. package/dist/lib/server/decisioning/specialisms/creative.d.ts +144 -0
  298. package/dist/lib/server/decisioning/specialisms/creative.d.ts.map +1 -0
  299. package/dist/lib/server/decisioning/specialisms/creative.js +19 -0
  300. package/dist/lib/server/decisioning/specialisms/creative.js.map +1 -0
  301. package/dist/lib/server/decisioning/specialisms/lists.d.ts +61 -0
  302. package/dist/lib/server/decisioning/specialisms/lists.d.ts.map +1 -0
  303. package/dist/lib/server/decisioning/specialisms/lists.js +30 -0
  304. package/dist/lib/server/decisioning/specialisms/lists.js.map +1 -0
  305. package/dist/lib/server/decisioning/specialisms/sales.d.ts +163 -0
  306. package/dist/lib/server/decisioning/specialisms/sales.d.ts.map +1 -0
  307. package/dist/lib/server/decisioning/specialisms/sales.js +64 -0
  308. package/dist/lib/server/decisioning/specialisms/sales.js.map +1 -0
  309. package/dist/lib/server/decisioning/specialisms/signals.d.ts +64 -0
  310. package/dist/lib/server/decisioning/specialisms/signals.d.ts.map +1 -0
  311. package/dist/lib/server/decisioning/specialisms/signals.js +28 -0
  312. package/dist/lib/server/decisioning/specialisms/signals.js.map +1 -0
  313. package/dist/lib/server/decisioning/start-time.d.ts +76 -0
  314. package/dist/lib/server/decisioning/start-time.d.ts.map +1 -0
  315. package/dist/lib/server/decisioning/start-time.js +81 -0
  316. package/dist/lib/server/decisioning/start-time.js.map +1 -0
  317. package/dist/lib/server/decisioning/status-changes.d.ts +165 -0
  318. package/dist/lib/server/decisioning/status-changes.d.ts.map +1 -0
  319. package/dist/lib/server/decisioning/status-changes.js +131 -0
  320. package/dist/lib/server/decisioning/status-changes.js.map +1 -0
  321. package/dist/lib/server/decisioning/status-mappers.d.ts +46 -0
  322. package/dist/lib/server/decisioning/status-mappers.d.ts.map +1 -0
  323. package/dist/lib/server/decisioning/status-mappers.js +46 -0
  324. package/dist/lib/server/decisioning/status-mappers.js.map +1 -0
  325. package/dist/lib/server/decisioning/tenant-registry.d.ts +289 -0
  326. package/dist/lib/server/decisioning/tenant-registry.d.ts.map +1 -0
  327. package/dist/lib/server/decisioning/tenant-registry.js +503 -0
  328. package/dist/lib/server/decisioning/tenant-registry.js.map +1 -0
  329. package/dist/lib/server/express-adapter.d.ts +1 -1
  330. package/dist/lib/server/express-adapter.js +1 -1
  331. package/dist/lib/server/governance.d.ts +1 -1
  332. package/dist/lib/server/governance.js +1 -1
  333. package/dist/lib/server/idempotency/store.d.ts +1 -1
  334. package/dist/lib/server/idempotency/store.js +1 -1
  335. package/dist/lib/server/index.d.ts +9 -2
  336. package/dist/lib/server/index.d.ts.map +1 -1
  337. package/dist/lib/server/index.js +79 -4
  338. package/dist/lib/server/index.js.map +1 -1
  339. package/dist/lib/server/legacy/v5/index.d.ts +38 -0
  340. package/dist/lib/server/legacy/v5/index.d.ts.map +1 -0
  341. package/dist/lib/server/legacy/v5/index.js +60 -0
  342. package/dist/lib/server/legacy/v5/index.js.map +1 -0
  343. package/dist/lib/server/normalize-errors.d.ts +88 -0
  344. package/dist/lib/server/normalize-errors.d.ts.map +1 -0
  345. package/dist/lib/server/normalize-errors.js +146 -0
  346. package/dist/lib/server/normalize-errors.js.map +1 -0
  347. package/dist/lib/server/pick-safe-details.d.ts +90 -0
  348. package/dist/lib/server/pick-safe-details.d.ts.map +1 -0
  349. package/dist/lib/server/pick-safe-details.js +148 -0
  350. package/dist/lib/server/pick-safe-details.js.map +1 -0
  351. package/dist/lib/server/postgres-state-store.d.ts +1 -1
  352. package/dist/lib/server/postgres-state-store.js +1 -1
  353. package/dist/lib/server/responses.d.ts +38 -0
  354. package/dist/lib/server/responses.d.ts.map +1 -1
  355. package/dist/lib/server/responses.js +38 -0
  356. package/dist/lib/server/responses.js.map +1 -1
  357. package/dist/lib/server/state-store.d.ts +1 -1
  358. package/dist/lib/server/state-store.js +1 -1
  359. package/dist/lib/server/test-controller.d.ts +10 -3
  360. package/dist/lib/server/test-controller.d.ts.map +1 -1
  361. package/dist/lib/server/test-controller.js +10 -3
  362. package/dist/lib/server/test-controller.js.map +1 -1
  363. package/dist/lib/testing/comply-controller.d.ts +47 -1
  364. package/dist/lib/testing/comply-controller.d.ts.map +1 -1
  365. package/dist/lib/testing/comply-controller.js +11 -4
  366. package/dist/lib/testing/comply-controller.js.map +1 -1
  367. package/dist/lib/testing/index.d.ts +1 -1
  368. package/dist/lib/testing/index.d.ts.map +1 -1
  369. package/dist/lib/testing/index.js.map +1 -1
  370. package/dist/lib/testing/personas/index.d.ts +143 -0
  371. package/dist/lib/testing/personas/index.d.ts.map +1 -0
  372. package/dist/lib/testing/personas/index.js +190 -0
  373. package/dist/lib/testing/personas/index.js.map +1 -0
  374. package/dist/lib/testing/storyboard/index.d.ts +1 -1
  375. package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
  376. package/dist/lib/testing/storyboard/index.js +3 -2
  377. package/dist/lib/testing/storyboard/index.js.map +1 -1
  378. package/dist/lib/testing/storyboard/runner.d.ts +13 -0
  379. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  380. package/dist/lib/testing/storyboard/runner.js +260 -7
  381. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  382. package/dist/lib/types/asset-instances.d.ts +1 -0
  383. package/dist/lib/types/asset-instances.d.ts.map +1 -1
  384. package/dist/lib/types/core.generated.d.ts +203 -98
  385. package/dist/lib/types/core.generated.d.ts.map +1 -1
  386. package/dist/lib/types/core.generated.js +1 -1
  387. package/dist/lib/types/index.d.ts +1 -0
  388. package/dist/lib/types/index.d.ts.map +1 -1
  389. package/dist/lib/types/index.js.map +1 -1
  390. package/dist/lib/types/schemas.generated.d.ts +599 -159
  391. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  392. package/dist/lib/types/schemas.generated.js +175 -94
  393. package/dist/lib/types/schemas.generated.js.map +1 -1
  394. package/dist/lib/types/tools.generated.d.ts +315 -46
  395. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  396. package/dist/lib/utils/capabilities.d.ts +1 -1
  397. package/dist/lib/utils/capabilities.d.ts.map +1 -1
  398. package/dist/lib/utils/capabilities.js +6 -0
  399. package/dist/lib/utils/capabilities.js.map +1 -1
  400. package/dist/lib/utils/creative-adapter.d.ts +32 -2
  401. package/dist/lib/utils/creative-adapter.d.ts.map +1 -1
  402. package/dist/lib/utils/creative-adapter.js +42 -6
  403. package/dist/lib/utils/creative-adapter.js.map +1 -1
  404. package/dist/lib/validation/schema-loader.d.ts.map +1 -1
  405. package/dist/lib/validation/schema-loader.js +20 -2
  406. package/dist/lib/validation/schema-loader.js.map +1 -1
  407. package/dist/lib/validation/schema-validator.d.ts +13 -0
  408. package/dist/lib/validation/schema-validator.d.ts.map +1 -1
  409. package/dist/lib/validation/schema-validator.js +240 -3
  410. package/dist/lib/validation/schema-validator.js.map +1 -1
  411. package/dist/lib/version.d.ts +3 -3
  412. package/dist/lib/version.d.ts.map +1 -1
  413. package/dist/lib/version.js +3 -3
  414. package/dist/lib/version.js.map +1 -1
  415. package/docs/guides/BUILD-AN-AGENT.md +30 -5
  416. package/docs/llms.txt +28 -17
  417. package/examples/README.md +3 -1
  418. package/examples/decisioning-platform-broadcast-tv.ts +300 -0
  419. package/examples/decisioning-platform-identity-graph.ts +214 -0
  420. package/examples/decisioning-platform-mock-seller.ts +332 -0
  421. package/examples/decisioning-platform-multi-tenant.ts +128 -0
  422. package/examples/decisioning-platform-programmatic.ts +254 -0
  423. package/examples/signals-agent.ts +1 -1
  424. package/package.json +18 -5
  425. package/skills/build-brand-rights-agent/SKILL.md +10 -3
  426. package/skills/build-creative-agent/SKILL.md +94 -64
  427. package/skills/build-decisioning-creative-template/SKILL.md +554 -0
  428. package/skills/build-decisioning-platform/SKILL.md +304 -0
  429. package/skills/build-decisioning-platform/advanced/BRAND-RIGHTS.md +25 -0
  430. package/skills/build-decisioning-platform/advanced/COMPLIANCE.md +23 -0
  431. package/skills/build-decisioning-platform/advanced/GOVERNANCE.md +24 -0
  432. package/skills/build-decisioning-platform/advanced/HITL.md +34 -0
  433. package/skills/build-decisioning-platform/advanced/IDEMPOTENCY.md +52 -0
  434. package/skills/build-decisioning-platform/advanced/MULTI-TENANT.md +47 -0
  435. package/skills/build-decisioning-platform/advanced/OAUTH.md +22 -0
  436. package/skills/build-decisioning-platform/advanced/REFERENCE.md +991 -0
  437. package/skills/build-decisioning-platform/advanced/SANDBOX.md +24 -0
  438. package/skills/build-decisioning-platform/advanced/STATE-MACHINE.md +52 -0
  439. package/skills/build-decisioning-signal-marketplace/SKILL.md +269 -0
  440. package/skills/build-generative-seller-agent/SKILL.md +89 -53
  441. package/skills/build-governance-agent/SKILL.md +76 -45
  442. package/skills/build-retail-media-agent/SKILL.md +87 -62
  443. package/skills/build-seller-agent/SKILL.md +384 -255
  444. package/skills/build-seller-agent/deployment.md +5 -3
  445. package/skills/build-seller-agent/specialisms/audience-sync.md +0 -2
  446. package/skills/build-seller-agent/specialisms/sales-broadcast-tv.md +0 -2
  447. package/skills/build-seller-agent/specialisms/sales-guaranteed.md +0 -2
  448. package/skills/build-seller-agent/specialisms/sales-non-guaranteed.md +0 -2
  449. package/skills/build-seller-agent/specialisms/sales-proposal-mode.md +0 -2
  450. package/skills/build-seller-agent/specialisms/sales-social.md +0 -2
  451. package/skills/build-seller-agent/specialisms/signed-requests.md +0 -2
  452. package/skills/build-si-agent/SKILL.md +40 -32
  453. package/skills/build-signals-agent/SKILL.md +139 -92
  454. 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
+ }