@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
@@ -18,18 +18,42 @@ function formatIssue(err) {
18
18
  typeof err.params.missingProperty === 'string'
19
19
  ? `/${err.params.missingProperty}`
20
20
  : '';
21
+ // Enrich enum errors with the allowed values from AJV's params + replace
22
+ // the opaque "must be equal to one of the allowed values" message with
23
+ // the actual list. Without this, LLM-generated platforms can't self-
24
+ // correct (Emma matrix v17, 2026-04-30): the validation cascade from
25
+ // a single bad enum value swallows ~30 storyboard steps because no
26
+ // self-correction signal is available without fetching the schema.
27
+ const isEnum = err.keyword === 'enum' &&
28
+ err.params != null &&
29
+ Array.isArray(err.params.allowedValues);
30
+ const allowedValues = isEnum ? err.params.allowedValues : undefined;
31
+ const message = isEnum
32
+ ? `must be one of: ${allowedValues.map(v => JSON.stringify(v)).join(', ')}`
33
+ : (err.message ?? 'validation failed');
21
34
  return {
22
35
  pointer: `${instancePath}${missingProperty}` || '/',
23
- message: err.message ?? 'validation failed',
36
+ message,
24
37
  keyword: err.keyword,
25
38
  schemaPath: err.schemaPath,
39
+ ...(allowedValues !== undefined && { allowedValues }),
26
40
  };
27
41
  }
42
+ // Path segments we refuse to walk into during schema-path resolution. AJV
43
+ // emits trusted `schemaPath` strings today, but the function is exported in
44
+ // shape (anything in this file is reachable via the compiled JS), so any
45
+ // future caller passing user-influenced paths can't traverse into prototype
46
+ // chains. Bundled schemas have no use for these names either.
47
+ const FORBIDDEN_SCHEMA_PATH_SEGMENTS = new Set(['__proto__', 'constructor', 'prototype']);
28
48
  /**
29
49
  * Resolve an AJV `schemaPath` like `"#/properties/account/oneOf"` against
30
50
  * the compiled validator's root schema. Returns `undefined` if the path
31
51
  * doesn't land on an object. Handles URI-encoded path segments (AJV
32
52
  * escapes `~` as `~0` and `/` as `~1` per RFC 6901).
53
+ *
54
+ * Refuses prototype-chain segments and uses own-property indexing so a
55
+ * future caller (or a pathological future schema) can't induce a walk
56
+ * into `Object.prototype`.
33
57
  */
34
58
  function resolveSchemaPath(rootSchema, schemaPath) {
35
59
  if (rootSchema == null)
@@ -42,10 +66,221 @@ function resolveSchemaPath(rootSchema, schemaPath) {
42
66
  if (cursor == null || (typeof cursor !== 'object' && !Array.isArray(cursor)))
43
67
  return undefined;
44
68
  const decoded = raw.replace(/~1/g, '/').replace(/~0/g, '~');
69
+ if (FORBIDDEN_SCHEMA_PATH_SEGMENTS.has(decoded))
70
+ return undefined;
71
+ if (!Object.prototype.hasOwnProperty.call(cursor, decoded))
72
+ return undefined;
45
73
  cursor = cursor[decoded];
46
74
  }
47
75
  return cursor;
48
76
  }
77
+ /**
78
+ * Compact AJV's `oneOf` / `anyOf` cascades before they reach the wire.
79
+ *
80
+ * AJV with `allErrors: true` emits one error per non-matching variant
81
+ * plus a synthetic "must match exactly one schema" root. For a 9-way
82
+ * `pricing_options` union with a single bad `pricing_model` value that
83
+ * is 14+ errors per failed item, drowning real residual errors elsewhere
84
+ * in the same payload (adcontextprotocol/adcp-client#1111).
85
+ *
86
+ * Strategy:
87
+ * 1. For each union root, group variant errors by variant index.
88
+ * 2. Inspect each variant's schema for `const`-constrained properties.
89
+ * A property where ≥2 variants assert `const` at the same path is a
90
+ * candidate discriminator (covers single-field discriminators like
91
+ * `pricing_model` and composite ones like `audience-selector`'s
92
+ * `(type, value_type)`).
93
+ * 3. Collapse a candidate path iff EVERY variant that asserts `const`
94
+ * there emitted a `const` error. (If some variants silently passed,
95
+ * the user's value matched some allowed const — collapsing would
96
+ * hide that and tell them their valid value was wrong.)
97
+ * 4. Each collapse becomes a synthetic `enum`-keyword issue carrying
98
+ * the union of allowed const values; the existing `formatIssue`
99
+ * enrichment then renders "must be one of: A, B, ...".
100
+ * 5. After collapse, if any variant has zero residual errors, the
101
+ * discriminator collapse fully explains the failure — drop the
102
+ * synthetic union root and the residuals from the other variants.
103
+ * 6. Otherwise pick the variant with the fewest residual errors,
104
+ * tie-breaking by fewest residual `const` errors so a variant the
105
+ * user's discriminator value satisfied wins over a sibling whose
106
+ * discriminator they violated. Drop the rest.
107
+ */
108
+ function compactUnionErrors(errors, rootSchema) {
109
+ if (errors.length === 0)
110
+ return [...errors];
111
+ // Pre-bucket once so each error is scanned a constant number of times even
112
+ // when a malicious or pathological payload pushes Ajv to emit thousands of
113
+ // errors across many union failures. The naive `for root in unionRoots: for
114
+ // e in errors` form is O(U·N) — at K=100 product items each producing a
115
+ // 14-error pricing-options cascade that's ~140k iterations on the
116
+ // request-validation hot path.
117
+ const errorsByOneOfPath = new Map();
118
+ for (const e of errors) {
119
+ const m = e.schemaPath.match(/^(.*\/(?:oneOf|anyOf))\/\d+(?:\/|$)/);
120
+ if (!m)
121
+ continue;
122
+ const root = m[1];
123
+ const bucket = errorsByOneOfPath.get(root);
124
+ if (bucket)
125
+ bucket.push(e);
126
+ else
127
+ errorsByOneOfPath.set(root, [e]);
128
+ }
129
+ const dropped = new Set();
130
+ const added = [];
131
+ // Deepest-first ordering matters for nested unions: by the time the outer
132
+ // root is evaluated, the inner cascade has already been replaced by a
133
+ // synthetic enum at a `<...>/discriminator/<field>` schemaPath that won't
134
+ // match the outer's `oneOfPath + '/'` prefix and stays independent.
135
+ const unionRoots = errors
136
+ .filter(e => e.keyword === 'oneOf' || e.keyword === 'anyOf')
137
+ .slice()
138
+ .sort((a, b) => b.schemaPath.length - a.schemaPath.length);
139
+ for (const root of unionRoots) {
140
+ if (dropped.has(root))
141
+ continue;
142
+ const oneOfPath = root.schemaPath;
143
+ const rootInstance = root.instancePath;
144
+ // Variant errors: pulled from the prebuilt index (constant per-error work
145
+ // above), then grouped by variant index. instancePath scoping keeps two
146
+ // separate union failures sharing the same `schemaPath` but different
147
+ // instancePaths — e.g., `products[0].pricing_options[0]` and
148
+ // `products[1]...` — independent.
149
+ const candidateErrors = errorsByOneOfPath.get(oneOfPath) ?? [];
150
+ const byVariant = new Map();
151
+ for (const e of candidateErrors) {
152
+ if (e === root || dropped.has(e))
153
+ continue;
154
+ const tail = e.schemaPath.slice(oneOfPath.length + 1);
155
+ const m = tail.match(/^(\d+)(?:\/|$)/);
156
+ if (!m)
157
+ continue;
158
+ if (e.instancePath !== rootInstance && !e.instancePath.startsWith(rootInstance + '/'))
159
+ continue;
160
+ const idx = parseInt(m[1], 10);
161
+ const bucket = byVariant.get(idx);
162
+ if (bucket)
163
+ bucket.push(e);
164
+ else
165
+ byVariant.set(idx, [e]);
166
+ }
167
+ if (byVariant.size === 0)
168
+ continue;
169
+ // Resolve the variant schema array. Without it we fall back to a pure
170
+ // error-shape collapse (still correct, just less precise on which
171
+ // variants asserted const where the user happened to match).
172
+ const variantSchemas = resolveSchemaPath(rootSchema, oneOfPath);
173
+ const variantArr = Array.isArray(variantSchemas) ? variantSchemas : [];
174
+ // For each top-level property in each variant, record which variants
175
+ // declare a `const` value there. Top-level only — composite
176
+ // discriminators in AdCP (`audience-selector`, pricing-option) all
177
+ // sit at the variant root.
178
+ const constAsserters = new Map();
179
+ for (let i = 0; i < variantArr.length; i++) {
180
+ const variant = variantArr[i];
181
+ if (!variant || typeof variant !== 'object')
182
+ continue;
183
+ const props = variant.properties;
184
+ if (!props || typeof props !== 'object')
185
+ continue;
186
+ for (const [key, prop] of Object.entries(props)) {
187
+ if (prop && typeof prop === 'object' && 'const' in prop) {
188
+ const path = `/${key.replace(/~/g, '~0').replace(/\//g, '~1')}`;
189
+ let m = constAsserters.get(path);
190
+ if (!m)
191
+ constAsserters.set(path, (m = new Map()));
192
+ m.set(i, prop.const);
193
+ }
194
+ }
195
+ }
196
+ // For each candidate path with ≥2 asserters, did every asserter emit?
197
+ const collapsedPaths = new Set();
198
+ for (const [relPath, asserters] of constAsserters) {
199
+ if (asserters.size < 2)
200
+ continue;
201
+ const absolutePath = rootInstance + relPath;
202
+ const emittersByVariant = new Map();
203
+ for (const [idx, errs] of byVariant) {
204
+ for (const e of errs) {
205
+ if (e.keyword === 'const' && e.instancePath === absolutePath) {
206
+ emittersByVariant.set(idx, e);
207
+ break;
208
+ }
209
+ }
210
+ }
211
+ let allEmitted = true;
212
+ for (const idx of asserters.keys()) {
213
+ if (!emittersByVariant.has(idx)) {
214
+ allEmitted = false;
215
+ break;
216
+ }
217
+ }
218
+ if (!allEmitted)
219
+ continue;
220
+ const allowedValues = [];
221
+ for (const v of asserters.values()) {
222
+ const already = allowedValues.some(existing => existing === v);
223
+ if (!already)
224
+ allowedValues.push(v);
225
+ }
226
+ const sample = emittersByVariant.values().next().value;
227
+ // Synthetic enum issue. `schemaPath: ''` keeps it out of any caller
228
+ // that walks the path back to a real schema location (the synthesized
229
+ // `<oneOfPath>/discriminator/<field>` would dangle if dereferenced)
230
+ // while still satisfying the wire shape — the response-side errors
231
+ // helper already gates `schemaPath` exposure via `exposeSchemaPath`.
232
+ // `JSON.stringify` on the const values is safe: they come from the
233
+ // bundled (trusted) schema and the outer wire envelope re-encodes
234
+ // anyway, so control characters or quotes can't break framing.
235
+ added.push({
236
+ ...sample,
237
+ keyword: 'enum',
238
+ schemaPath: '',
239
+ message: `must be one of: ${allowedValues.map(v => JSON.stringify(v)).join(', ')}`,
240
+ params: { allowedValues },
241
+ });
242
+ for (const e of emittersByVariant.values())
243
+ dropped.add(e);
244
+ collapsedPaths.add(absolutePath);
245
+ }
246
+ // Compute residuals after the collapse.
247
+ const residualByVariant = new Map();
248
+ for (const [idx, errs] of byVariant) {
249
+ residualByVariant.set(idx, errs.filter(e => !dropped.has(e)));
250
+ }
251
+ if (collapsedPaths.size > 0) {
252
+ const anyZeroResidual = [...residualByVariant.values()].some(r => r.length === 0);
253
+ if (anyZeroResidual) {
254
+ for (const errs of residualByVariant.values())
255
+ for (const e of errs)
256
+ dropped.add(e);
257
+ dropped.add(root);
258
+ continue;
259
+ }
260
+ }
261
+ // Pick the best surviving variant; prefer fewest residuals, tie-break
262
+ // by fewest residual `const` errors (so variants whose discriminator
263
+ // the user actually picked win over siblings whose discriminator they
264
+ // violated).
265
+ let bestIdx = -1;
266
+ let bestCount = Infinity;
267
+ let bestConsts = Infinity;
268
+ for (const [idx, residual] of residualByVariant) {
269
+ const constCount = residual.reduce((n, e) => (e.keyword === 'const' ? n + 1 : n), 0);
270
+ if (residual.length < bestCount || (residual.length === bestCount && constCount < bestConsts)) {
271
+ bestIdx = idx;
272
+ bestCount = residual.length;
273
+ bestConsts = constCount;
274
+ }
275
+ }
276
+ for (const [idx, residual] of residualByVariant) {
277
+ if (idx !== bestIdx)
278
+ for (const e of residual)
279
+ dropped.add(e);
280
+ }
281
+ }
282
+ return [...errors.filter(e => !dropped.has(e)), ...added];
283
+ }
49
284
  /**
50
285
  * When an AJV error has `keyword: 'oneOf' | 'anyOf'`, resolve the
51
286
  * schema's variant array and summarize each variant so a client can
@@ -87,9 +322,10 @@ function validateRequest(toolName, payload, version) {
87
322
  if (valid)
88
323
  return { valid: true, issues: [], variant: 'request' };
89
324
  const rootSchema = validator.schema;
325
+ const compacted = compactUnionErrors(validator.errors ?? [], rootSchema);
90
326
  return {
91
327
  valid: false,
92
- issues: (validator.errors ?? []).map(formatIssue).map(i => enrichWithVariants(i, rootSchema)),
328
+ issues: compacted.map(formatIssue).map(i => enrichWithVariants(i, rootSchema)),
93
329
  variant: 'request',
94
330
  };
95
331
  }
@@ -136,9 +372,10 @@ function validateResponse(toolName, payload, version) {
136
372
  if (valid)
137
373
  return { valid: true, issues: [], variant: usedVariant, ...fallbackFields };
138
374
  const rootSchema = effective.schema;
375
+ const compacted = compactUnionErrors(effective.errors ?? [], rootSchema);
139
376
  return {
140
377
  valid: false,
141
- issues: (effective.errors ?? []).map(formatIssue).map(i => enrichWithVariants(i, rootSchema)),
378
+ issues: compacted.map(formatIssue).map(i => enrichWithVariants(i, rootSchema)),
142
379
  variant: usedVariant,
143
380
  ...fallbackFields,
144
381
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/lib/validation/schema-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/lib/validation/schema-validator.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAwYH,0CAYC;AAyBD,4CAuBC;AAGD,oCAOC;AA3cD,mDAAqF;AAuFrF,MAAM,EAAE,GAAsB,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;AAE7F,SAAS,WAAW,CAAC,GAAgB;IACnC,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IAC5C,MAAM,eAAe,GACnB,GAAG,CAAC,OAAO,KAAK,UAAU;QAC1B,GAAG,CAAC,MAAM;QACV,OAAQ,GAAG,CAAC,MAAuC,CAAC,eAAe,KAAK,QAAQ;QAC9E,CAAC,CAAC,IAAK,GAAG,CAAC,MAAsC,CAAC,eAAe,EAAE;QACnE,CAAC,CAAC,EAAE,CAAC;IAET,yEAAyE;IACzE,uEAAuE;IACvE,qEAAqE;IACrE,qEAAqE;IACrE,mEAAmE;IACnE,mEAAmE;IACnE,MAAM,MAAM,GACV,GAAG,CAAC,OAAO,KAAK,MAAM;QACtB,GAAG,CAAC,MAAM,IAAI,IAAI;QAClB,KAAK,CAAC,OAAO,CAAE,GAAG,CAAC,MAAwC,CAAC,aAAa,CAAC,CAAC;IAC7E,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAE,GAAG,CAAC,MAAgD,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/G,MAAM,OAAO,GAAG,MAAM;QACpB,CAAC,CAAC,mBAAmB,aAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5E,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,mBAAmB,CAAC,CAAC;IAEzC,OAAO;QACL,OAAO,EAAE,GAAG,YAAY,GAAG,eAAe,EAAE,IAAI,GAAG;QACnD,OAAO;QACP,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,GAAG,CAAC,aAAa,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,4EAA4E;AAC5E,8DAA8D;AAC9D,MAAM,8BAA8B,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAE1F;;;;;;;;;GASG;AACH,SAAS,iBAAiB,CAAC,UAAmB,EAAE,UAAkB;IAChE,IAAI,UAAU,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,UAAU,CAAC;IAC1C,IAAI,MAAM,GAAY,UAAU,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,IAAI,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/F,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC5D,IAAI,8BAA8B,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QAClE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7E,MAAM,GAAI,MAAkC,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,SAAS,kBAAkB,CAAC,MAA8B,EAAE,UAAmB;IAC7E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IAE5C,2EAA2E;IAC3E,2EAA2E;IAC3E,4EAA4E;IAC5E,wEAAwE;IACxE,kEAAkE;IAClE,+BAA+B;IAC/B,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACpE,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;QACnB,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YACtB,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAe,CAAC;IACvC,MAAM,KAAK,GAAkB,EAAE,CAAC;IAEhC,0EAA0E;IAC1E,sEAAsE;IACtE,0EAA0E;IAC1E,oEAAoE;IACpE,MAAM,UAAU,GAAG,MAAM;SACtB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC;SAC3D,KAAK,EAAE;SACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAE7D,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,0EAA0E;QAC1E,wEAAwE;QACxE,sEAAsE;QACtE,6DAA6D;QAC7D,kCAAkC;QAClC,MAAM,eAAe,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC/D,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;QACnD,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;YAChC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,SAAS;YAC3C,MAAM,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACvC,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,IAAI,CAAC,CAAC,YAAY,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC;gBAAE,SAAS;YAChG,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,EAAE,CAAC,CAAC;YAChC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBACtB,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;YAAE,SAAS;QAEnC,sEAAsE;QACtE,kEAAkE;QAClE,6DAA6D;QAC7D,MAAM,cAAc,GAAG,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,UAAU,GAAuB,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAE3F,qEAAqE;QACrE,4DAA4D;QAC5D,mEAAmE;QACnE,2BAA2B;QAC3B,MAAM,cAAc,GAAG,IAAI,GAAG,EAAgC,CAAC;QAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,SAAS;YACtD,MAAM,KAAK,GAAI,OAAoC,CAAC,UAAU,CAAC;YAC/D,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,SAAS;YAClD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;gBAC3E,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;oBACxD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;oBAChE,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjC,IAAI,CAAC,CAAC;wBAAE,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;oBAClD,CAAC,CAAC,GAAG,CAAC,CAAC,EAAG,IAA2B,CAAC,KAAK,CAAC,CAAC;gBAC/C,CAAC;YACH,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;QACzC,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,cAAc,EAAE,CAAC;YAClD,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC;gBAAE,SAAS;YACjC,MAAM,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;YAC5C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAuB,CAAC;YACzD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;gBACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;oBACrB,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;wBAC7D,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;wBAC9B,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,UAAU,GAAG,IAAI,CAAC;YACtB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAChC,UAAU,GAAG,KAAK,CAAC;oBACnB,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,CAAC,UAAU;gBAAE,SAAS;YAE1B,MAAM,aAAa,GAAc,EAAE,CAAC;YACpC,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO;oBAAE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAoB,CAAC;YACtE,oEAAoE;YACpE,sEAAsE;YACtE,oEAAoE;YACpE,mEAAmE;YACnE,qEAAqE;YACrE,mEAAmE;YACnE,kEAAkE;YAClE,+DAA+D;YAC/D,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,MAAM;gBACT,OAAO,EAAE,MAAM;gBACf,UAAU,EAAE,EAAE;gBACd,OAAO,EAAE,mBAAmB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAClF,MAAM,EAAE,EAAE,aAAa,EAAE;aACX,CAAC,CAAC;YAClB,KAAK,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,EAAE;gBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3D,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QAED,wCAAwC;QACxC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAC3D,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,SAAS,EAAE,CAAC;YACpC,iBAAiB,CAAC,GAAG,CACnB,GAAG,EACH,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAClC,CAAC;QACJ,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,eAAe,GAAG,CAAC,GAAG,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YAClF,IAAI,eAAe,EAAE,CAAC;gBACpB,KAAK,MAAM,IAAI,IAAI,iBAAiB,CAAC,MAAM,EAAE;oBAAE,KAAK,MAAM,CAAC,IAAI,IAAI;wBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,SAAS;YACX,CAAC;QACH,CAAC;QAED,sEAAsE;QACtE,qEAAqE;QACrE,sEAAsE;QACtE,aAAa;QACb,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC;QACjB,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,IAAI,UAAU,GAAG,QAAQ,CAAC;QAC1B,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACrF,IAAI,QAAQ,CAAC,MAAM,GAAG,SAAS,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC;gBAC9F,OAAO,GAAG,GAAG,CAAC;gBACd,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAC5B,UAAU,GAAG,UAAU,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,iBAAiB,EAAE,CAAC;YAChD,IAAI,GAAG,KAAK,OAAO;gBAAE,KAAK,MAAM,CAAC,IAAI,QAAQ;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,kBAAkB,CAAC,KAAsB,EAAE,UAAmB;IACrE,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACzE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3C,MAAM,QAAQ,GAA6B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAgB,EAAE,KAAa,EAAE,EAAE;QAC1F,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACnD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;QACjD,CAAC;QACD,MAAM,CAAC,GAAG,OAAkC,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9G,MAAM,UAAU,GACd,CAAC,CAAC,UAAU,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAoB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAAC,QAAgB,EAAE,OAAgB,EAAE,OAAgB;IAClF,MAAM,SAAS,GAAG,IAAA,4BAAY,EAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7D,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAY,CAAC;IAC5C,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAClE,MAAM,UAAU,GAAI,SAAkC,CAAC,MAAM,CAAC;IAC9D,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IACzE,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC9E,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,QAAQ,IAAK,OAAmC,EAAE,CAAC;QAC/F,MAAM,MAAM,GAAI,OAAmC,CAAC,MAAM,CAAC;QAC3D,IAAI,MAAM,KAAK,WAAW;YAAE,OAAO,WAAW,CAAC;QAC/C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC3C,IAAI,MAAM,KAAK,gBAAgB;YAAE,OAAO,gBAAgB,CAAC;IAC3D,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAAC,QAAgB,EAAE,OAAgB,EAAE,OAAgB;IACnF,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,IAAA,4BAAY,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3D,qEAAqE;IACrE,kEAAkE;IAClE,qDAAqD;IACrD,MAAM,SAAS,GAAG,SAAS,IAAI,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,IAAA,4BAAY,EAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1G,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAY,CAAC;IAC5C,MAAM,WAAW,GAAc,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,MAAM,eAAe,GAAG,CAAC,SAAS,IAAI,OAAO,KAAK,MAAM,CAAC;IACzD,MAAM,cAAc,GAA8E,eAAe;QAC/G,CAAC,CAAC,EAAE,wBAAwB,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE;QAChE,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;IACvF,MAAM,UAAU,GAAI,SAAkC,CAAC,MAAM,CAAC;IAC9D,MAAM,SAAS,GAAG,kBAAkB,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IACzE,OAAO;QACL,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC9E,OAAO,EAAE,WAAW;QACpB,GAAG,cAAc;KAClB,CAAC;AACJ,CAAC;AAED,2EAA2E;AAC3E,SAAgB,YAAY,CAAC,MAAyB,EAAE,KAAK,GAAG,CAAC;IAC/D,MAAM,IAAI,GAAG,MAAM;SAChB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SACf,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;SACrC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;IACnC,OAAO,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * AdCP SDK library version
3
3
  */
4
- export declare const LIBRARY_VERSION = "5.25.1";
4
+ export declare const LIBRARY_VERSION = "6.1.0";
5
5
  /**
6
6
  * AdCP specification version this library is built for
7
7
  */
@@ -29,10 +29,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
29
29
  * Full version information
30
30
  */
31
31
  export declare const VERSION_INFO: {
32
- readonly library: "5.25.1";
32
+ readonly library: "6.1.0";
33
33
  readonly adcp: "3.0.1";
34
34
  readonly compatibleVersions: readonly ["v2.5", "v2.6", "v3", "3.0.0-beta.1", "3.0.0-beta.3", "3.0.0", "3.0.1"];
35
- readonly generatedAt: "2026-04-30T12:38:18.013Z";
35
+ readonly generatedAt: "2026-05-01T01:08:59.054Z";
36
36
  };
37
37
  /**
38
38
  * Get the AdCP specification version this library is built for
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,eAAe,WAAW,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,YAAY,UAAU,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,wBAAwB,mFAQ3B,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,SAAS,MAAM,EAAE,CAEzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK7D"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,eAAO,MAAM,eAAe,UAAU,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,YAAY,UAAU,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC;;GAEG;AACH,eAAO,MAAM,wBAAwB,mFAQ3B,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,SAAS,MAAM,EAAE,CAEzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAK7D"}
@@ -11,7 +11,7 @@ exports.parseAdcpMajorVersion = parseAdcpMajorVersion;
11
11
  /**
12
12
  * AdCP SDK library version
13
13
  */
14
- exports.LIBRARY_VERSION = '5.25.1';
14
+ exports.LIBRARY_VERSION = '6.1.0';
15
15
  /**
16
16
  * AdCP specification version this library is built for
17
17
  */
@@ -38,10 +38,10 @@ exports.COMPATIBLE_ADCP_VERSIONS = [
38
38
  * Full version information
39
39
  */
40
40
  exports.VERSION_INFO = {
41
- library: '5.25.1',
41
+ library: '6.1.0',
42
42
  adcp: '3.0.1',
43
43
  compatibleVersions: exports.COMPATIBLE_ADCP_VERSIONS,
44
- generatedAt: '2026-04-30T12:38:18.013Z',
44
+ generatedAt: '2026-05-01T01:08:59.054Z',
45
45
  };
46
46
  /**
47
47
  * Get the AdCP specification version this library is built for
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,iDAAiD;;;AAuDjD,wCAEC;AAKD,8CAEC;AAKD,4CAEC;AAKD,sDAEC;AAWD,sDAKC;AA5FD;;GAEG;AACU,QAAA,eAAe,GAAG,QAAQ,CAAC;AAExC;;GAEG;AACU,QAAA,YAAY,GAAG,OAAO,CAAC;AAEpC;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;GAEG;AACU,QAAA,wBAAwB,GAAG;IACtC,MAAM;IACN,MAAM;IACN,IAAI;IACJ,cAAc;IACd,cAAc;IACd,OAAO;IACP,OAAO;CACC,CAAC;AAYX;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,OAAO;IACb,kBAAkB,EAAE,gCAAwB;IAC5C,WAAW,EAAE,0BAA0B;CAC/B,CAAC;AAEX;;GAEG;AACH,SAAgB,cAAc;IAC5B,OAAO,oBAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,uBAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,OAAQ,gCAA8C,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,gCAAwB,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,iDAAiD;;;AAuDjD,wCAEC;AAKD,8CAEC;AAKD,4CAEC;AAKD,sDAEC;AAWD,sDAKC;AA5FD;;GAEG;AACU,QAAA,eAAe,GAAG,OAAO,CAAC;AAEvC;;GAEG;AACU,QAAA,YAAY,GAAG,OAAO,CAAC;AAEpC;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,CAAC,CAAC;AAEpC;;GAEG;AACU,QAAA,wBAAwB,GAAG;IACtC,MAAM;IACN,MAAM;IACN,IAAI;IACJ,cAAc;IACd,cAAc;IACd,OAAO;IACP,OAAO;CACC,CAAC;AAYX;;GAEG;AACU,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,OAAO;IACb,kBAAkB,EAAE,gCAAwB;IAC5C,WAAW,EAAE,0BAA0B;CAC/B,CAAC;AAEX;;GAEG;AACH,SAAgB,cAAc;IAC5B,OAAO,oBAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,OAAO,uBAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB,CAAC,WAAmB;IAClD,OAAQ,gCAA8C,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/E,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB;IACnC,OAAO,gCAAwB,CAAC;AAClC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,qBAAqB,CAAC,OAAe;IACnD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AAC9C,CAAC"}
@@ -12,12 +12,37 @@ We'll build a **signals agent** that serves audience segments via the `get_signa
12
12
  - `@adcp/sdk` installed (`npm install @adcp/sdk`)
13
13
  - `@modelcontextprotocol/sdk` (installed as a dependency of `@adcp/sdk`)
14
14
 
15
+ ## Two paths
16
+
17
+ `@adcp/sdk` exposes two server entry points. Pick based on the agent
18
+ shape:
19
+
20
+ - **`createAdcpServerFromPlatform`** — recommended for new agents. You
21
+ declare a typed `DecisioningPlatform` (per-specialism interfaces:
22
+ `SalesPlatform`, `CreativeBuilderPlatform`, `AudiencePlatform`,
23
+ `SignalsPlatform`, etc.) and the framework wires capability
24
+ projection, idempotency, RFC 9421 signing, async tasks, status
25
+ normalization, lifecycle state, multi-tenant routing, and webhook
26
+ auto-emit on sync mutations. Compile-time enforcement via
27
+ `RequiredPlatformsFor<S>` catches missing methods before runtime.
28
+ - **`createAdcpServer`** — the lower-level handler-bag API. Still
29
+ fully supported (it's the substrate `createAdcpServerFromPlatform`
30
+ calls into) and the right choice when you want fine control over
31
+ individual handlers, mid-migration from a v5 codebase, or
32
+ custom-shaped tools the platform interface doesn't yet model.
33
+
34
+ The Quick Start below uses `createAdcpServer` for a single-tool signals
35
+ agent because that's the smallest possible shape. For multi-specialism
36
+ production agents (sales + creative + governance + brand-rights, etc.)
37
+ read `docs/migration-5.x-to-6.x.md` for the platform path — and the
38
+ `skills/build-decisioning-platform/` skill for a fuller walkthrough.
39
+
15
40
  ## Quick Start
16
41
 
17
42
  A minimal signals agent using `createAdcpServer`:
18
43
 
19
44
  ```typescript
20
- import { createAdcpServer, serve } from '@adcp/sdk';
45
+ import { createAdcpServer, serve } from '@adcp/sdk/server/legacy/v5';
21
46
 
22
47
  serve(() => createAdcpServer({
23
48
  name: 'My Signals Agent',
@@ -62,7 +87,7 @@ npx @adcp/sdk@latest http://localhost:3001/mcp get_signals '{}' # call get_sig
62
87
  The declarative way to build AdCP agents. You provide domain-grouped handler functions, and the framework handles schema validation, response formatting, account resolution, capabilities generation, and error catching.
63
88
 
64
89
  ```typescript
65
- import { createAdcpServer, serve } from '@adcp/sdk';
90
+ import { createAdcpServer, serve } from '@adcp/sdk/server/legacy/v5';
66
91
 
67
92
  serve(() => createAdcpServer({
68
93
  name: 'My Publisher',
@@ -104,7 +129,7 @@ MCP is the default transport (`serve({ server: adcp })`). To additionally expose
104
129
 
105
130
  ```typescript
106
131
  import express from 'express';
107
- import { createAdcpServer, serve, createA2AAdapter } from '@adcp/sdk';
132
+ import { createAdcpServer, serve, createA2AAdapter } from '@adcp/sdk/server/legacy/v5';
108
133
 
109
134
  const adcp = createAdcpServer({
110
135
  mediaBuy: { getProducts: async () => ({ products: [] }) },
@@ -337,7 +362,7 @@ The same validator runs on the `AdcpClient` side — storyboards and third-party
337
362
  If your agent receives signed requests from buyers, verify them using `requireAuthenticatedOrSigned()` — one call that bundles signature verification with credential fallback and `requiredFor` enforcement:
338
363
 
339
364
  ```typescript
340
- import { createAdcpServer, serve } from '@adcp/sdk';
365
+ import { createAdcpServer, serve } from '@adcp/sdk/server/legacy/v5';
341
366
  import {
342
367
  verifySignatureAsAuthenticator,
343
368
  verifyApiKey,
@@ -517,7 +542,7 @@ Key storyboards for server-side builders:
517
542
  The `serve()` helper handles HTTP transport setup. Pass it a factory function that returns a configured `McpServer`:
518
543
 
519
544
  ```typescript
520
- import { createAdcpServer, serve } from '@adcp/sdk';
545
+ import { createAdcpServer, serve } from '@adcp/sdk/server/legacy/v5';
521
546
 
522
547
  serve(() => createAdcpServer({ name: 'My Agent', version: '1.0.0', /* handlers */ }));
523
548
  serve(() => createAdcpServer({ /* ... */ }), { port: 8080 }); // custom port
package/docs/llms.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  # Ad Context Protocol (AdCP)
2
2
 
3
- > Generated at: 2026-04-28
4
- > Library: @adcp/sdk v5.21.1
3
+ > Generated at: 2026-04-30
4
+ > Library: @adcp/sdk v5.25.1
5
5
  > AdCP major version: 3
6
6
  > Canonical URL: https://adcontextprotocol.github.io/adcp-client/llms.txt
7
7
 
@@ -12,25 +12,36 @@ AdCP is an open protocol for AI agents to buy, manage, and optimize advertising
12
12
  ## Are you building a client or a server?
13
13
 
14
14
  - **Client** (calling existing agents): Continue reading — the Quick Start below is for you.
15
- - **Server** (implementing an agent that others call): Read `docs/guides/BUILD-AN-AGENT.md` instead. Minimal example:
15
+ - **Server** (implementing an agent that others call): Read `docs/guides/BUILD-AN-AGENT.md` and `docs/migration-5.x-to-6.x.md`. v6 recommended path:
16
16
 
17
17
  ```typescript
18
- import { createTaskCapableServer, taskToolResponse, serve, GetSignalsRequestSchema } from '@adcp/sdk';
19
-
20
- function createAgent({ taskStore }) {
21
- const server = createTaskCapableServer('My Agent', '1.0.0', { taskStore });
22
- server.registerTool(
23
- 'get_signals',
24
- { description: 'Discover segments.', inputSchema: GetSignalsRequestSchema.shape },
25
- async (args) => taskToolResponse({ signals: [...], sandbox: true }, 'Found segments')
26
- );
27
- return server;
28
- }
29
-
30
- serve(createAgent); // http://localhost:3001/mcp
18
+ import { serve } from '@adcp/sdk';
19
+ import { createAdcpServerFromPlatform } from '@adcp/sdk/server';
20
+
21
+ const platform = {
22
+ capabilities: {
23
+ specialisms: ['signal-marketplace'] as const,
24
+ creative_agents: [], channels: [], pricingModels: ['cpm'] as const, config: {},
25
+ },
26
+ statusMappers: {},
27
+ accounts: {
28
+ resolve: async () => ({ id: 'acc_1', ctx_metadata: {}, authInfo: { kind: 'api_key' } }),
29
+ },
30
+ signals: {
31
+ getSignals: async (req, ctx) => ({ signals: [/* ... */], sandbox: true }),
32
+ activateSignal: async (req, ctx) => ({ /* ... */ }),
33
+ },
34
+ };
35
+
36
+ serve(() => createAdcpServerFromPlatform(platform, {
37
+ name: 'My Signals Agent',
38
+ version: '1.0.0',
39
+ })); // http://localhost:3001/mcp
31
40
  ```
32
41
 
33
- Low-level server (bypassing `createAdcpServer`)? Use `wrapEnvelope(inner, { replayed, context, operationId })` from `@adcp/sdk/server` to attach protocol envelope fields with the per-error-code allowlist applied (IDEMPOTENCY_CONFLICT drops `replayed`).
42
+ Compile-time enforcement: `RequiredPlatformsFor<S>` catches missing specialism methods. Capability projection auto-derives `get_adcp_capabilities` blocks (`audience_targeting`, `conversion_tracking`, `compliance_testing.scenarios`, etc.). Idempotency, RFC 9421 signing, async tasks, status normalization, and sync-completion webhook auto-emit are framework-owned.
43
+
44
+ Lower-level option: `createAdcpServer({ signals: { getSignals: ... } })` from `@adcp/sdk/server/legacy/v5` — handler-bag API. Still fully supported, the substrate the platform path calls into. Use when you need fine control over individual handlers, mid-migration from a v5 codebase, or custom-shaped tools the platform interface doesn't yet model. `wrapEnvelope(inner, { replayed, context, operationId })` from `@adcp/sdk/server` attaches protocol envelope fields with the per-error-code allowlist (IDEMPOTENCY_CONFLICT drops `replayed`).
34
45
 
35
46
  ## Quick Start (Client)
36
47
 
@@ -54,7 +54,9 @@ ADCP_AGENTS_CONFIG='[{"id":"test-agent","name":"Test Agent","agent_uri":"https:/
54
54
  ```typescript
55
55
  import { ADCPMultiAgentClient, type AgentConfig } from '@adcp/sdk';
56
56
 
57
- const agents: AgentConfig[] = [/* your agents */];
57
+ const agents: AgentConfig[] = [
58
+ /* your agents */
59
+ ];
58
60
  const client = new ADCPMultiAgentClient(agents);
59
61
 
60
62
  // Single agent operation