@adcp/sdk 16.0.0-beta.8 → 16.0.0-beta.9

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 (355) hide show
  1. package/AGENTS.md +3 -3
  2. package/README.md +3 -0
  3. package/bin/adcp.js +10 -13
  4. package/dist/lib/core/AgentClient.d.mts +8 -5
  5. package/dist/lib/core/AgentClient.d.ts +8 -5
  6. package/dist/lib/core/AgentClient.js +9 -4
  7. package/dist/lib/core/AgentClient.mjs +9 -4
  8. package/dist/lib/core/SingleAgentClient.d.mts +19 -112
  9. package/dist/lib/core/SingleAgentClient.d.ts +19 -112
  10. package/dist/lib/core/SingleAgentClient.js +270 -252
  11. package/dist/lib/core/SingleAgentClient.mjs +275 -253
  12. package/dist/lib/core/TaskExecutor.d.mts +1 -16
  13. package/dist/lib/core/TaskExecutor.d.ts +1 -16
  14. package/dist/lib/core/TaskExecutor.js +34 -51
  15. package/dist/lib/core/TaskExecutor.mjs +12 -29
  16. package/dist/lib/core/product-cache.d.mts +3 -1
  17. package/dist/lib/core/product-cache.d.ts +3 -1
  18. package/dist/lib/core/product-cache.js +2 -1
  19. package/dist/lib/core/product-cache.mjs +2 -1
  20. package/dist/lib/errors/index.d.mts +2 -8
  21. package/dist/lib/errors/index.d.ts +2 -8
  22. package/dist/lib/errors/index.js +4 -4
  23. package/dist/lib/errors/index.mjs +4 -4
  24. package/dist/lib/index.d.mts +4 -4
  25. package/dist/lib/index.d.ts +4 -4
  26. package/dist/lib/index.js +0 -14
  27. package/dist/lib/index.mjs +0 -14
  28. package/dist/lib/media-buy/compatibility.d.mts +1 -1
  29. package/dist/lib/media-buy/compatibility.d.ts +1 -1
  30. package/dist/lib/media-buy/compatibility.js +26 -45
  31. package/dist/lib/media-buy/compatibility.mjs +26 -45
  32. package/dist/lib/media-buy/legacy-purchase-continuation.d.mts +2 -2
  33. package/dist/lib/media-buy/legacy-purchase-continuation.d.ts +2 -2
  34. package/dist/lib/protocols/index.js +14 -22
  35. package/dist/lib/protocols/index.mjs +5 -13
  36. package/dist/lib/registry/types.d.mts +3 -2
  37. package/dist/lib/registry/types.d.ts +3 -2
  38. package/dist/lib/registry/types.generated.d.mts +51 -11
  39. package/dist/lib/registry/types.generated.d.ts +51 -11
  40. package/dist/lib/reporting/source/conformance.d.mts +8 -8
  41. package/dist/lib/reporting/source/conformance.d.ts +8 -8
  42. package/dist/lib/reporting/source/manifest.d.mts +27 -27
  43. package/dist/lib/reporting/source/manifest.d.ts +27 -27
  44. package/dist/lib/server/create-adcp-server.js +6 -0
  45. package/dist/lib/server/create-adcp-server.mjs +6 -0
  46. package/dist/lib/testing/compliance/comply.js +0 -8
  47. package/dist/lib/testing/compliance/comply.mjs +0 -8
  48. package/dist/lib/testing/compliance/storyboard-tracks.js +11 -0
  49. package/dist/lib/testing/compliance/storyboard-tracks.mjs +11 -0
  50. package/dist/lib/testing/index.d.mts +2 -0
  51. package/dist/lib/testing/index.d.ts +2 -0
  52. package/dist/lib/testing/index.js +5 -0
  53. package/dist/lib/testing/index.mjs +3 -0
  54. package/dist/lib/testing/scenarios/capabilities.d.mts +2 -2
  55. package/dist/lib/testing/scenarios/capabilities.d.ts +2 -2
  56. package/dist/lib/testing/scenarios/capabilities.js +8 -41
  57. package/dist/lib/testing/scenarios/capabilities.mjs +9 -42
  58. package/dist/lib/testing/storyboard/creative-build-probe.d.mts +34 -0
  59. package/dist/lib/testing/storyboard/creative-build-probe.d.ts +34 -0
  60. package/dist/lib/testing/storyboard/creative-build-probe.js +395 -0
  61. package/dist/lib/testing/storyboard/creative-build-probe.mjs +373 -0
  62. package/dist/lib/testing/storyboard/index.d.mts +2 -0
  63. package/dist/lib/testing/storyboard/index.d.ts +2 -0
  64. package/dist/lib/testing/storyboard/index.js +5 -0
  65. package/dist/lib/testing/storyboard/index.mjs +3 -0
  66. package/dist/lib/testing/storyboard/loader.js +12 -0
  67. package/dist/lib/testing/storyboard/loader.mjs +12 -0
  68. package/dist/lib/testing/storyboard/property-list-reference.d.mts +15 -0
  69. package/dist/lib/testing/storyboard/property-list-reference.d.ts +15 -0
  70. package/dist/lib/testing/storyboard/property-list-reference.js +514 -0
  71. package/dist/lib/testing/storyboard/property-list-reference.mjs +487 -0
  72. package/dist/lib/testing/storyboard/runner.js +318 -58
  73. package/dist/lib/testing/storyboard/runner.mjs +322 -58
  74. package/dist/lib/testing/storyboard/types.d.mts +38 -16
  75. package/dist/lib/testing/storyboard/types.d.ts +38 -16
  76. package/dist/lib/testing/storyboard/types.js +1 -0
  77. package/dist/lib/testing/storyboard/types.mjs +1 -0
  78. package/dist/lib/testing/storyboard/validations.d.mts +1 -1
  79. package/dist/lib/testing/storyboard/validations.d.ts +1 -1
  80. package/dist/lib/testing/storyboard/validations.js +64 -0
  81. package/dist/lib/testing/storyboard/validations.mjs +67 -1
  82. package/dist/lib/testing/types.d.mts +15 -1
  83. package/dist/lib/testing/types.d.ts +15 -1
  84. package/dist/lib/types/schemas.generated.d.ts +65 -65
  85. package/dist/lib/types/wellknown-schemas.generated.d.mts +21 -21
  86. package/dist/lib/types/wellknown-schemas.generated.d.ts +21 -21
  87. package/dist/lib/utils/adcp-version-config.js +6 -0
  88. package/dist/lib/utils/adcp-version-config.mjs +6 -0
  89. package/dist/lib/utils/capabilities.d.mts +7 -9
  90. package/dist/lib/utils/capabilities.d.ts +7 -9
  91. package/dist/lib/utils/capabilities.js +14 -28
  92. package/dist/lib/utils/capabilities.mjs +14 -27
  93. package/dist/lib/utils/creative-adapter.d.mts +15 -113
  94. package/dist/lib/utils/creative-adapter.d.ts +15 -113
  95. package/dist/lib/utils/creative-adapter.js +7 -106
  96. package/dist/lib/utils/creative-adapter.mjs +7 -102
  97. package/dist/lib/utils/format-renders.d.mts +20 -80
  98. package/dist/lib/utils/format-renders.d.ts +20 -80
  99. package/dist/lib/utils/format-renders.js +7 -67
  100. package/dist/lib/utils/format-renders.mjs +7 -66
  101. package/dist/lib/utils/index.d.mts +1 -2
  102. package/dist/lib/utils/index.d.ts +1 -2
  103. package/dist/lib/utils/index.js +0 -7
  104. package/dist/lib/utils/index.mjs +0 -6
  105. package/dist/lib/utils/preview-normalizer.d.mts +31 -80
  106. package/dist/lib/utils/preview-normalizer.d.ts +31 -80
  107. package/dist/lib/utils/preview-normalizer.js +5 -50
  108. package/dist/lib/utils/preview-normalizer.mjs +5 -49
  109. package/dist/lib/utils/pricing-adapter.d.mts +2 -36
  110. package/dist/lib/utils/pricing-adapter.d.ts +2 -36
  111. package/dist/lib/utils/pricing-adapter.js +0 -105
  112. package/dist/lib/utils/pricing-adapter.mjs +0 -100
  113. package/dist/lib/utils/request-normalizer.d.mts +1 -2
  114. package/dist/lib/utils/request-normalizer.d.ts +1 -2
  115. package/dist/lib/v2/projection/creative-delivery.d.mts +2 -0
  116. package/dist/lib/v2/projection/creative-delivery.d.ts +2 -0
  117. package/dist/lib/v2/projection/creative-delivery.js +7 -0
  118. package/dist/lib/v2/projection/creative-delivery.mjs +6 -0
  119. package/dist/lib/v2/projection/legacy-metadata.d.mts +12 -0
  120. package/dist/lib/v2/projection/legacy-metadata.d.ts +12 -0
  121. package/dist/lib/v2/projection/legacy-metadata.js +41 -1
  122. package/dist/lib/v2/projection/legacy-metadata.mjs +37 -1
  123. package/dist/lib/v2/projection/legacy-normalization.d.mts +1 -1
  124. package/dist/lib/v2/projection/legacy-normalization.d.ts +1 -1
  125. package/dist/lib/v2/projection/v1-to-v2.js +13 -0
  126. package/dist/lib/v2/projection/v1-to-v2.mjs +14 -0
  127. package/dist/lib/validation/client-hooks.d.mts +1 -4
  128. package/dist/lib/validation/client-hooks.d.ts +1 -4
  129. package/dist/lib/validation/get-products-request.d.mts +1 -1
  130. package/dist/lib/validation/get-products-request.d.ts +1 -1
  131. package/dist/lib/validation/schema-loader.js +6 -0
  132. package/dist/lib/validation/schema-loader.mjs +6 -0
  133. package/dist/lib/validation/schema-validator.js +1 -26
  134. package/dist/lib/validation/schema-validator.mjs +1 -26
  135. package/dist/lib/version.d.mts +5 -5
  136. package/dist/lib/version.d.ts +5 -5
  137. package/dist/lib/version.js +3 -5
  138. package/dist/lib/version.mjs +3 -5
  139. package/docs/TYPE-SUMMARY.md +2 -2
  140. package/docs/development/PROTOCOL_DIFFERENCES.md +1 -1
  141. package/docs/guides/CONFORMANCE.md +25 -0
  142. package/docs/guides/CREATIVE-BUILD-PROBE.md +156 -0
  143. package/docs/guides/CREATIVE-DELIVERY.md +45 -6
  144. package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +15 -18
  145. package/docs/guides/VALIDATE-YOUR-AGENT.md +5 -0
  146. package/docs/llms.txt +2 -2
  147. package/docs/migration-13-to-14.md +20 -16
  148. package/docs/migration-14.x-rc-worksheet.md +5 -5
  149. package/docs/migration-4.x-to-5.x.md +12 -7
  150. package/docs/migration-drop-adcp-2.md +25 -0
  151. package/package.json +3 -18
  152. package/skills/call-adcp-agent/SKILL.md +23 -25
  153. package/dist/lib/adapters/legacy/v2-5/create_media_buy.d.mts +0 -3
  154. package/dist/lib/adapters/legacy/v2-5/create_media_buy.d.ts +0 -3
  155. package/dist/lib/adapters/legacy/v2-5/create_media_buy.js +0 -33
  156. package/dist/lib/adapters/legacy/v2-5/create_media_buy.mjs +0 -9
  157. package/dist/lib/adapters/legacy/v2-5/get_products.d.mts +0 -8
  158. package/dist/lib/adapters/legacy/v2-5/get_products.d.ts +0 -8
  159. package/dist/lib/adapters/legacy/v2-5/get_products.js +0 -33
  160. package/dist/lib/adapters/legacy/v2-5/get_products.mjs +0 -9
  161. package/dist/lib/adapters/legacy/v2-5/index.d.mts +0 -34
  162. package/dist/lib/adapters/legacy/v2-5/index.d.ts +0 -34
  163. package/dist/lib/adapters/legacy/v2-5/index.js +0 -50
  164. package/dist/lib/adapters/legacy/v2-5/index.mjs +0 -25
  165. package/dist/lib/adapters/legacy/v2-5/list_creative_formats.d.mts +0 -8
  166. package/dist/lib/adapters/legacy/v2-5/list_creative_formats.d.ts +0 -8
  167. package/dist/lib/adapters/legacy/v2-5/list_creative_formats.js +0 -33
  168. package/dist/lib/adapters/legacy/v2-5/list_creative_formats.mjs +0 -9
  169. package/dist/lib/adapters/legacy/v2-5/preview_creative.d.mts +0 -3
  170. package/dist/lib/adapters/legacy/v2-5/preview_creative.d.ts +0 -3
  171. package/dist/lib/adapters/legacy/v2-5/preview_creative.js +0 -33
  172. package/dist/lib/adapters/legacy/v2-5/preview_creative.mjs +0 -9
  173. package/dist/lib/adapters/legacy/v2-5/sync_creatives.d.mts +0 -11
  174. package/dist/lib/adapters/legacy/v2-5/sync_creatives.d.ts +0 -11
  175. package/dist/lib/adapters/legacy/v2-5/sync_creatives.js +0 -32
  176. package/dist/lib/adapters/legacy/v2-5/sync_creatives.mjs +0 -8
  177. package/dist/lib/adapters/legacy/v2-5/types.d.mts +0 -39
  178. package/dist/lib/adapters/legacy/v2-5/types.d.ts +0 -39
  179. package/dist/lib/adapters/legacy/v2-5/types.js +0 -16
  180. package/dist/lib/adapters/legacy/v2-5/types.mjs +0 -0
  181. package/dist/lib/adapters/legacy/v2-5/update_media_buy.d.mts +0 -3
  182. package/dist/lib/adapters/legacy/v2-5/update_media_buy.d.ts +0 -3
  183. package/dist/lib/adapters/legacy/v2-5/update_media_buy.js +0 -35
  184. package/dist/lib/adapters/legacy/v2-5/update_media_buy.mjs +0 -11
  185. package/dist/lib/schemas-data/v2.5/_provenance.json +0 -8
  186. package/dist/lib/schemas-data/v2.5/adagents.json +0 -494
  187. package/dist/lib/schemas-data/v2.5/core/activation-key.json +0 -50
  188. package/dist/lib/schemas-data/v2.5/core/assets/audio-asset.json +0 -32
  189. package/dist/lib/schemas-data/v2.5/core/assets/css-asset.json +0 -21
  190. package/dist/lib/schemas-data/v2.5/core/assets/daast-asset.json +0 -87
  191. package/dist/lib/schemas-data/v2.5/core/assets/html-asset.json +0 -21
  192. package/dist/lib/schemas-data/v2.5/core/assets/image-asset.json +0 -38
  193. package/dist/lib/schemas-data/v2.5/core/assets/javascript-asset.json +0 -21
  194. package/dist/lib/schemas-data/v2.5/core/assets/markdown-asset.json +0 -31
  195. package/dist/lib/schemas-data/v2.5/core/assets/text-asset.json +0 -21
  196. package/dist/lib/schemas-data/v2.5/core/assets/url-asset.json +0 -26
  197. package/dist/lib/schemas-data/v2.5/core/assets/vast-asset.json +0 -87
  198. package/dist/lib/schemas-data/v2.5/core/assets/video-asset.json +0 -44
  199. package/dist/lib/schemas-data/v2.5/core/assets/webhook-asset.json +0 -71
  200. package/dist/lib/schemas-data/v2.5/core/async-response-data.json +0 -88
  201. package/dist/lib/schemas-data/v2.5/core/brand-manifest-ref.json +0 -33
  202. package/dist/lib/schemas-data/v2.5/core/brand-manifest.json +0 -409
  203. package/dist/lib/schemas-data/v2.5/core/context.json +0 -8
  204. package/dist/lib/schemas-data/v2.5/core/creative-asset.json +0 -125
  205. package/dist/lib/schemas-data/v2.5/core/creative-assignment.json +0 -31
  206. package/dist/lib/schemas-data/v2.5/core/creative-filters.json +0 -111
  207. package/dist/lib/schemas-data/v2.5/core/creative-manifest.json +0 -72
  208. package/dist/lib/schemas-data/v2.5/core/creative-policy.json +0 -27
  209. package/dist/lib/schemas-data/v2.5/core/delivery-metrics.json +0 -171
  210. package/dist/lib/schemas-data/v2.5/core/deployment.json +0 -93
  211. package/dist/lib/schemas-data/v2.5/core/destination.json +0 -53
  212. package/dist/lib/schemas-data/v2.5/core/error.json +0 -40
  213. package/dist/lib/schemas-data/v2.5/core/ext.json +0 -8
  214. package/dist/lib/schemas-data/v2.5/core/format-id.json +0 -47
  215. package/dist/lib/schemas-data/v2.5/core/format.json +0 -324
  216. package/dist/lib/schemas-data/v2.5/core/frequency-cap.json +0 -18
  217. package/dist/lib/schemas-data/v2.5/core/mcp-webhook-payload.json +0 -152
  218. package/dist/lib/schemas-data/v2.5/core/measurement.json +0 -48
  219. package/dist/lib/schemas-data/v2.5/core/media-buy.json +0 -62
  220. package/dist/lib/schemas-data/v2.5/core/package.json +0 -72
  221. package/dist/lib/schemas-data/v2.5/core/performance-feedback.json +0 -90
  222. package/dist/lib/schemas-data/v2.5/core/placement.json +0 -34
  223. package/dist/lib/schemas-data/v2.5/core/pricing-option.json +0 -35
  224. package/dist/lib/schemas-data/v2.5/core/product-filters.json +0 -102
  225. package/dist/lib/schemas-data/v2.5/core/product.json +0 -153
  226. package/dist/lib/schemas-data/v2.5/core/promoted-offerings.json +0 -115
  227. package/dist/lib/schemas-data/v2.5/core/promoted-products.json +0 -67
  228. package/dist/lib/schemas-data/v2.5/core/property-id.json +0 -14
  229. package/dist/lib/schemas-data/v2.5/core/property-tag.json +0 -16
  230. package/dist/lib/schemas-data/v2.5/core/property.json +0 -62
  231. package/dist/lib/schemas-data/v2.5/core/protocol-envelope.json +0 -146
  232. package/dist/lib/schemas-data/v2.5/core/publisher-property-selector.json +0 -92
  233. package/dist/lib/schemas-data/v2.5/core/push-notification-config.json +0 -48
  234. package/dist/lib/schemas-data/v2.5/core/reporting-capabilities.json +0 -71
  235. package/dist/lib/schemas-data/v2.5/core/response.json +0 -24
  236. package/dist/lib/schemas-data/v2.5/core/signal-filters.json +0 -35
  237. package/dist/lib/schemas-data/v2.5/core/start-timing.json +0 -18
  238. package/dist/lib/schemas-data/v2.5/core/sub-asset.json +0 -79
  239. package/dist/lib/schemas-data/v2.5/core/targeting.json +0 -50
  240. package/dist/lib/schemas-data/v2.5/core/tasks-get-request.json +0 -43
  241. package/dist/lib/schemas-data/v2.5/core/tasks-get-response.json +0 -166
  242. package/dist/lib/schemas-data/v2.5/core/tasks-list-request.json +0 -192
  243. package/dist/lib/schemas-data/v2.5/core/tasks-list-response.json +0 -183
  244. package/dist/lib/schemas-data/v2.5/creative/asset-types/index.json +0 -101
  245. package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-request.json +0 -73
  246. package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-response.json +0 -61
  247. package/dist/lib/schemas-data/v2.5/creative/preview-creative-request.json +0 -164
  248. package/dist/lib/schemas-data/v2.5/creative/preview-creative-response.json +0 -245
  249. package/dist/lib/schemas-data/v2.5/creative/preview-render.json +0 -225
  250. package/dist/lib/schemas-data/v2.5/enums/adcp-domain.json +0 -11
  251. package/dist/lib/schemas-data/v2.5/enums/asset-content-type.json +0 -22
  252. package/dist/lib/schemas-data/v2.5/enums/auth-scheme.json +0 -11
  253. package/dist/lib/schemas-data/v2.5/enums/available-metric.json +0 -18
  254. package/dist/lib/schemas-data/v2.5/enums/channels.json +0 -18
  255. package/dist/lib/schemas-data/v2.5/enums/co-branding-requirement.json +0 -12
  256. package/dist/lib/schemas-data/v2.5/enums/creative-action.json +0 -14
  257. package/dist/lib/schemas-data/v2.5/enums/creative-agent-capability.json +0 -13
  258. package/dist/lib/schemas-data/v2.5/enums/creative-sort-field.json +0 -15
  259. package/dist/lib/schemas-data/v2.5/enums/creative-status.json +0 -19
  260. package/dist/lib/schemas-data/v2.5/enums/daast-tracking-event.json +0 -20
  261. package/dist/lib/schemas-data/v2.5/enums/daast-version.json +0 -11
  262. package/dist/lib/schemas-data/v2.5/enums/delivery-type.json +0 -15
  263. package/dist/lib/schemas-data/v2.5/enums/dimension-unit.json +0 -13
  264. package/dist/lib/schemas-data/v2.5/enums/feed-format.json +0 -12
  265. package/dist/lib/schemas-data/v2.5/enums/feedback-source.json +0 -13
  266. package/dist/lib/schemas-data/v2.5/enums/format-category.json +0 -16
  267. package/dist/lib/schemas-data/v2.5/enums/format-id-parameter.json +0 -11
  268. package/dist/lib/schemas-data/v2.5/enums/frequency-cap-scope.json +0 -13
  269. package/dist/lib/schemas-data/v2.5/enums/history-entry-type.json +0 -11
  270. package/dist/lib/schemas-data/v2.5/enums/http-method.json +0 -11
  271. package/dist/lib/schemas-data/v2.5/enums/identifier-types.json +0 -34
  272. package/dist/lib/schemas-data/v2.5/enums/javascript-module-type.json +0 -12
  273. package/dist/lib/schemas-data/v2.5/enums/landing-page-requirement.json +0 -12
  274. package/dist/lib/schemas-data/v2.5/enums/markdown-flavor.json +0 -11
  275. package/dist/lib/schemas-data/v2.5/enums/media-buy-status.json +0 -19
  276. package/dist/lib/schemas-data/v2.5/enums/metric-type.json +0 -17
  277. package/dist/lib/schemas-data/v2.5/enums/notification-type.json +0 -13
  278. package/dist/lib/schemas-data/v2.5/enums/pacing.json +0 -17
  279. package/dist/lib/schemas-data/v2.5/enums/preview-output-format.json +0 -11
  280. package/dist/lib/schemas-data/v2.5/enums/pricing-model.json +0 -25
  281. package/dist/lib/schemas-data/v2.5/enums/property-type.json +0 -16
  282. package/dist/lib/schemas-data/v2.5/enums/publisher-identifier-types.json +0 -19
  283. package/dist/lib/schemas-data/v2.5/enums/reporting-frequency.json +0 -12
  284. package/dist/lib/schemas-data/v2.5/enums/signal-catalog-type.json +0 -12
  285. package/dist/lib/schemas-data/v2.5/enums/sort-direction.json +0 -11
  286. package/dist/lib/schemas-data/v2.5/enums/standard-format-ids.json +0 -103
  287. package/dist/lib/schemas-data/v2.5/enums/task-status.json +0 -29
  288. package/dist/lib/schemas-data/v2.5/enums/task-type.json +0 -27
  289. package/dist/lib/schemas-data/v2.5/enums/update-frequency.json +0 -13
  290. package/dist/lib/schemas-data/v2.5/enums/url-asset-type.json +0 -12
  291. package/dist/lib/schemas-data/v2.5/enums/validation-mode.json +0 -11
  292. package/dist/lib/schemas-data/v2.5/enums/vast-tracking-event.json +0 -25
  293. package/dist/lib/schemas-data/v2.5/enums/vast-version.json +0 -14
  294. package/dist/lib/schemas-data/v2.5/enums/webhook-response-type.json +0 -13
  295. package/dist/lib/schemas-data/v2.5/enums/webhook-security-method.json +0 -12
  296. package/dist/lib/schemas-data/v2.5/index.json +0 -604
  297. package/dist/lib/schemas-data/v2.5/media-buy/build-creative-request.json +0 -31
  298. package/dist/lib/schemas-data/v2.5/media-buy/build-creative-response.json +0 -65
  299. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-input-required.json +0 -31
  300. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-submitted.json +0 -16
  301. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-working.json +0 -36
  302. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-request.json +0 -126
  303. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-response.json +0 -97
  304. package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-request.json +0 -54
  305. package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-response.json +0 -285
  306. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-input-required.json +0 -38
  307. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-submitted.json +0 -21
  308. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-working.json +0 -34
  309. package/dist/lib/schemas-data/v2.5/media-buy/get-products-request.json +0 -28
  310. package/dist/lib/schemas-data/v2.5/media-buy/get-products-response.json +0 -33
  311. package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-request.json +0 -26
  312. package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-response.json +0 -70
  313. package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-request.json +0 -58
  314. package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-response.json +0 -61
  315. package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-request.json +0 -137
  316. package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-response.json +0 -437
  317. package/dist/lib/schemas-data/v2.5/media-buy/package-request.json +0 -80
  318. package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-request.json +0 -88
  319. package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-response.json +0 -66
  320. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-input-required.json +0 -25
  321. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-submitted.json +0 -16
  322. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-working.json +0 -46
  323. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-request.json +0 -178
  324. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-response.json +0 -149
  325. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-input-required.json +0 -24
  326. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-submitted.json +0 -16
  327. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-working.json +0 -36
  328. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-request.json +0 -129
  329. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-response.json +0 -99
  330. package/dist/lib/schemas-data/v2.5/pricing-options/cpc-option.json +0 -52
  331. package/dist/lib/schemas-data/v2.5/pricing-options/cpcv-option.json +0 -52
  332. package/dist/lib/schemas-data/v2.5/pricing-options/cpm-auction-option.json +0 -81
  333. package/dist/lib/schemas-data/v2.5/pricing-options/cpm-fixed-option.json +0 -52
  334. package/dist/lib/schemas-data/v2.5/pricing-options/cpp-option.json +0 -73
  335. package/dist/lib/schemas-data/v2.5/pricing-options/cpv-option.json +0 -88
  336. package/dist/lib/schemas-data/v2.5/pricing-options/flat-rate-option.json +0 -93
  337. package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-auction-option.json +0 -81
  338. package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-fixed-option.json +0 -52
  339. package/dist/lib/schemas-data/v2.5/protocols/adcp-extension.json +0 -33
  340. package/dist/lib/schemas-data/v2.5/signals/activate-signal-request.json +0 -32
  341. package/dist/lib/schemas-data/v2.5/signals/activate-signal-response.json +0 -68
  342. package/dist/lib/schemas-data/v2.5/signals/get-signals-request.json +0 -59
  343. package/dist/lib/schemas-data/v2.5/signals/get-signals-response.json +0 -100
  344. package/dist/lib/types/v2-5/index.d.mts +0 -1
  345. package/dist/lib/types/v2-5/index.d.ts +0 -1
  346. package/dist/lib/types/v2-5/index.js +0 -22
  347. package/dist/lib/types/v2-5/index.mjs +0 -1
  348. package/dist/lib/types/v2-5/tools.generated.d.mts +0 -3568
  349. package/dist/lib/types/v2-5/tools.generated.d.ts +0 -3568
  350. package/dist/lib/types/v2-5/tools.generated.js +0 -16
  351. package/dist/lib/types/v2-5/tools.generated.mjs +0 -0
  352. package/dist/lib/utils/sync-creatives-adapter.d.mts +0 -33
  353. package/dist/lib/utils/sync-creatives-adapter.d.ts +0 -33
  354. package/dist/lib/utils/sync-creatives-adapter.js +0 -83
  355. package/dist/lib/utils/sync-creatives-adapter.mjs +0 -59
@@ -80,6 +80,12 @@ function isRuntimeSchemaDirectory(name) {
80
80
  return name !== "bundled" && !TRANSPORT_PROJECTION_DIRECTORIES.has(name);
81
81
  }
82
82
  function resolveBundleKey(version) {
83
+ if (/^v?2(?:\.|$)/.test(version)) {
84
+ throw new import_errors.ConfigurationError(
85
+ "AdCP 2 reached end of life on 2026-08-01; only AdCP 3 schema bundles are supported.",
86
+ "adcpVersion"
87
+ );
88
+ }
83
89
  const minorOnly = version.match(/^(\d+)\.(\d+)$/);
84
90
  if (minorOnly) return `${minorOnly[1]}.${minorOnly[2]}`;
85
91
  const releasePrecisionPre = version.match(/^(\d+)\.(\d+)-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*$/);
@@ -24,6 +24,12 @@ function isRuntimeSchemaDirectory(name) {
24
24
  return name !== "bundled" && !TRANSPORT_PROJECTION_DIRECTORIES.has(name);
25
25
  }
26
26
  function resolveBundleKey(version) {
27
+ if (/^v?2(?:\.|$)/.test(version)) {
28
+ throw new ConfigurationError(
29
+ "AdCP 2 reached end of life on 2026-08-01; only AdCP 3 schema bundles are supported.",
30
+ "adcpVersion"
31
+ );
32
+ }
27
33
  const minorOnly = version.match(/^(\d+)\.(\d+)$/);
28
34
  if (minorOnly) return `${minorOnly[1]}.${minorOnly[2]}`;
29
35
  const releasePrecisionPre = version.match(/^(\d+)\.(\d+)-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*$/);
@@ -26,7 +26,6 @@ __export(schema_validator_exports, {
26
26
  });
27
27
  module.exports = __toCommonJS(schema_validator_exports);
28
28
  var import_schema_loader = require('./schema-loader.js');
29
- var import_version = require('../version.js');
30
29
  var import_hints = require('./hints.js');
31
30
  var import_envelope_status_compat = require('../utils/envelope-status-compat.js');
32
31
  var import_diagnostic_limits = require('./diagnostic-limits.js');
@@ -310,29 +309,6 @@ function validateRequest(toolName, payload, version) {
310
309
  ...rootSchemaId && { schemaId: rootSchemaId }
311
310
  };
312
311
  }
313
- function stripEnvelopeNulls(payload, schema) {
314
- if (payload == null || typeof payload !== "object" || Array.isArray(payload)) return payload;
315
- const s = schema;
316
- if (!s) return payload;
317
- const properties = s.properties;
318
- if (!properties) return payload;
319
- const required = new Set(Array.isArray(s.required) ? s.required : []);
320
- const payloadObj = payload;
321
- let cloned = null;
322
- for (const [key, value] of Object.entries(payloadObj)) {
323
- if (value !== null) continue;
324
- if (required.has(key)) continue;
325
- const propSchema = properties[key];
326
- if (!propSchema) continue;
327
- const type = propSchema.type;
328
- const isNullable = type === "null" || Array.isArray(type) && type.includes("null");
329
- if (!isNullable) {
330
- if (!cloned) cloned = { ...payloadObj };
331
- delete cloned[key];
332
- }
333
- }
334
- return cloned ?? payload;
335
- }
336
312
  function selectResponseVariant(payload) {
337
313
  if (payload && typeof payload === "object" && "status" in payload) {
338
314
  const status = payload.status;
@@ -349,8 +325,7 @@ function validateResponse(toolName, payload, version) {
349
325
  const effective = validator ?? (variant !== "sync" ? (0, import_schema_loader.getValidator)(toolName, "sync", version) : void 0);
350
326
  if (!effective) return OK;
351
327
  const rootSchema = effective.schema;
352
- const isV2Bundle = version != null && (0, import_version.parseAdcpMajorVersion)(version) === 2;
353
- const normalizedPayload = isV2Bundle ? stripEnvelopeNulls(compatPayload, rootSchema) : compatPayload;
328
+ const normalizedPayload = compatPayload;
354
329
  const valid = effective(normalizedPayload);
355
330
  const usedVariant = validator ? variant : "sync";
356
331
  const variantFallback = !validator && variant !== "sync";
@@ -1,5 +1,4 @@
1
1
  import { getValidator, getRegisteredSchemaIds } from "./schema-loader.mjs";
2
- import { parseAdcpMajorVersion } from "../version.mjs";
3
2
  import { findHint } from "./hints.mjs";
4
3
  import { injectLegacyEnvelopeStatus } from "../utils/envelope-status-compat.mjs";
5
4
  import { boundValidationIssues } from "./diagnostic-limits.mjs";
@@ -283,29 +282,6 @@ function validateRequest(toolName, payload, version) {
283
282
  ...rootSchemaId && { schemaId: rootSchemaId }
284
283
  };
285
284
  }
286
- function stripEnvelopeNulls(payload, schema) {
287
- if (payload == null || typeof payload !== "object" || Array.isArray(payload)) return payload;
288
- const s = schema;
289
- if (!s) return payload;
290
- const properties = s.properties;
291
- if (!properties) return payload;
292
- const required = new Set(Array.isArray(s.required) ? s.required : []);
293
- const payloadObj = payload;
294
- let cloned = null;
295
- for (const [key, value] of Object.entries(payloadObj)) {
296
- if (value !== null) continue;
297
- if (required.has(key)) continue;
298
- const propSchema = properties[key];
299
- if (!propSchema) continue;
300
- const type = propSchema.type;
301
- const isNullable = type === "null" || Array.isArray(type) && type.includes("null");
302
- if (!isNullable) {
303
- if (!cloned) cloned = { ...payloadObj };
304
- delete cloned[key];
305
- }
306
- }
307
- return cloned ?? payload;
308
- }
309
285
  function selectResponseVariant(payload) {
310
286
  if (payload && typeof payload === "object" && "status" in payload) {
311
287
  const status = payload.status;
@@ -322,8 +298,7 @@ function validateResponse(toolName, payload, version) {
322
298
  const effective = validator ?? (variant !== "sync" ? getValidator(toolName, "sync", version) : void 0);
323
299
  if (!effective) return OK;
324
300
  const rootSchema = effective.schema;
325
- const isV2Bundle = version != null && parseAdcpMajorVersion(version) === 2;
326
- const normalizedPayload = isV2Bundle ? stripEnvelopeNulls(compatPayload, rootSchema) : compatPayload;
301
+ const normalizedPayload = compatPayload;
327
302
  const valid = effective(normalizedPayload);
328
303
  const usedVariant = validator ? variant : "sync";
329
304
  const variantFallback = !validator && variant !== "sync";
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * AdCP SDK library version
3
3
  */
4
- export declare const LIBRARY_VERSION = "16.0.0-beta.8";
4
+ export declare const LIBRARY_VERSION = "16.0.0-beta.9";
5
5
  /**
6
6
  * AdCP specification version this library is built for
7
7
  */
@@ -19,7 +19,7 @@ export declare const ADCP_MAJOR_VERSION = 3;
19
19
  * this list by hand; bumping the AdCP pin via `npm run sync-version`
20
20
  * extends it.
21
21
  */
22
- export declare const COMPATIBLE_ADCP_VERSIONS: readonly ["v2.5", "v2.6", "v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
22
+ export declare const COMPATIBLE_ADCP_VERSIONS: readonly ["v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
23
23
  /**
24
24
  * String literal union of every AdCP version the SDK formally supports.
25
25
  *
@@ -33,10 +33,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
33
33
  * Full version information
34
34
  */
35
35
  export declare const VERSION_INFO: {
36
- readonly library: "16.0.0-beta.8";
36
+ readonly library: "16.0.0-beta.9";
37
37
  readonly adcp: "3.2.5";
38
- readonly compatibleVersions: readonly ["v2.5", "v2.6", "v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
39
- readonly generatedAt: "2026-10-18T01:21:23.594Z";
38
+ readonly compatibleVersions: readonly ["v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
39
+ readonly generatedAt: "2026-10-19T19:41:05.601Z";
40
40
  };
41
41
  /**
42
42
  * Get the AdCP specification version this library is built for
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * AdCP SDK library version
3
3
  */
4
- export declare const LIBRARY_VERSION = "16.0.0-beta.8";
4
+ export declare const LIBRARY_VERSION = "16.0.0-beta.9";
5
5
  /**
6
6
  * AdCP specification version this library is built for
7
7
  */
@@ -19,7 +19,7 @@ export declare const ADCP_MAJOR_VERSION = 3;
19
19
  * this list by hand; bumping the AdCP pin via `npm run sync-version`
20
20
  * extends it.
21
21
  */
22
- export declare const COMPATIBLE_ADCP_VERSIONS: readonly ["v2.5", "v2.6", "v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
22
+ export declare const COMPATIBLE_ADCP_VERSIONS: readonly ["v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
23
23
  /**
24
24
  * String literal union of every AdCP version the SDK formally supports.
25
25
  *
@@ -33,10 +33,10 @@ export type AdcpVersion = (typeof COMPATIBLE_ADCP_VERSIONS)[number];
33
33
  * Full version information
34
34
  */
35
35
  export declare const VERSION_INFO: {
36
- readonly library: "16.0.0-beta.8";
36
+ readonly library: "16.0.0-beta.9";
37
37
  readonly adcp: "3.2.5";
38
- readonly compatibleVersions: readonly ["v2.5", "v2.6", "v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
39
- readonly generatedAt: "2026-10-18T01:21:23.594Z";
38
+ readonly compatibleVersions: readonly ["v3", "3.0.0", "3.0", "3.0.1", "3.0.2", "3.0.3", "3.0.4", "3.0.5", "3.0.6", "3.0.7", "3.0.8", "3.0.9", "3.0.10", "3.0.11", "3.0.12", "3.0.13", "3.0.14", "3.0.15", "3.0.16", "3.0.17", "3.0.18", "3.0.19", "3.0.20", "3.0.21", "3.0.22", "3.0.23", "3.0.24", "3.0.25", "3.1.0", "3.1", "3.1.1", "3.1.2", "3.1.3", "3.1.4", "3.1.5", "3.1.6", "3.1.7", "3.1.8", "3.1.9", "3.1.10", "3.1.11", "3.1.12", "3.1.13", "3.1.14", "3.1.15", "3.1.16", "3.1.17", "3.1.18", "3.1.19", "3.1.20", "3.1.21", "3.1.22", "3.1.23", "3.1.24", "3.1.25", "3.1.26", "3.1.27", "3.1.28", "3.1.29", "3.2.1", "3.2", "3.2.2", "3.2.3", "3.2.4", "3.2.5"];
39
+ readonly generatedAt: "2026-10-19T19:41:05.601Z";
40
40
  };
41
41
  /**
42
42
  * Get the AdCP specification version this library is built for
@@ -31,12 +31,10 @@ __export(version_exports, {
31
31
  toReleasePrecisionVersion: () => toReleasePrecisionVersion
32
32
  });
33
33
  module.exports = __toCommonJS(version_exports);
34
- const LIBRARY_VERSION = "16.0.0-beta.8";
34
+ const LIBRARY_VERSION = "16.0.0-beta.9";
35
35
  const ADCP_VERSION = "3.2.5";
36
36
  const ADCP_MAJOR_VERSION = 3;
37
37
  const COMPATIBLE_ADCP_VERSIONS = [
38
- "v2.5",
39
- "v2.6",
40
38
  "v3",
41
39
  "3.0.0",
42
40
  "3.0",
@@ -104,10 +102,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
104
102
  "3.2.5"
105
103
  ];
106
104
  const VERSION_INFO = {
107
- library: "16.0.0-beta.8",
105
+ library: "16.0.0-beta.9",
108
106
  adcp: "3.2.5",
109
107
  compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
110
- generatedAt: "2026-10-18T01:21:23.594Z"
108
+ generatedAt: "2026-10-19T19:41:05.601Z"
111
109
  };
112
110
  function getAdcpVersion() {
113
111
  return ADCP_VERSION;
@@ -1,9 +1,7 @@
1
- const LIBRARY_VERSION = "16.0.0-beta.8";
1
+ const LIBRARY_VERSION = "16.0.0-beta.9";
2
2
  const ADCP_VERSION = "3.2.5";
3
3
  const ADCP_MAJOR_VERSION = 3;
4
4
  const COMPATIBLE_ADCP_VERSIONS = [
5
- "v2.5",
6
- "v2.6",
7
5
  "v3",
8
6
  "3.0.0",
9
7
  "3.0",
@@ -71,10 +69,10 @@ const COMPATIBLE_ADCP_VERSIONS = [
71
69
  "3.2.5"
72
70
  ];
73
71
  const VERSION_INFO = {
74
- library: "16.0.0-beta.8",
72
+ library: "16.0.0-beta.9",
75
73
  adcp: "3.2.5",
76
74
  compatibleVersions: COMPATIBLE_ADCP_VERSIONS,
77
- generatedAt: "2026-10-18T01:21:23.594Z"
75
+ generatedAt: "2026-10-19T19:41:05.601Z"
78
76
  };
79
77
  function getAdcpVersion() {
80
78
  return ADCP_VERSION;
@@ -1,7 +1,7 @@
1
1
  # AdCP Type Summary
2
2
 
3
- > Generated at: 2026-10-18
4
- > @adcp/sdk v16.0.0-beta.8
3
+ > Generated at: 2026-10-19
4
+ > @adcp/sdk v16.0.0-beta.9
5
5
 
6
6
  Curated reference of the types that matter for using the AdCP client. For full generated types see `src/lib/types/tools.generated.ts` and `src/lib/types/core.generated.ts`.
7
7
 
@@ -333,4 +333,4 @@ Look for messages like:
333
333
  - [MCP Specification](https://spec.modelcontextprotocol.io)
334
334
  - [A2A Protocol Documentation](https://github.com/AgentProtocol/A2A)
335
335
  - [AdCP Specification](https://github.com/adcontextprotocol/adcp)
336
- - [Wire-version compat playbook](https://adcontextprotocol.github.io/adcp-client/development/WIRE-VERSION-COMPAT.md) — orthogonal but commonly conflated with transport differences. Read this if you're touching how the SDK adapts requests/responses across AdCP major versions (v3 ↔ v2.5), not just MCP vs A2A.
336
+ - [Wire-version compat playbook](https://adcontextprotocol.github.io/adcp-client/development/WIRE-VERSION-COMPAT.md) — orthogonal but commonly conflated with transport differences. Read this when adapting requests/responses across maintained AdCP 3 releases. AdCP 2 wire translation was [removed in SDK 16](../migration-drop-adcp-2.md); transport differences remain independent of the selected AdCP release.
@@ -282,6 +282,31 @@ provenance manifest first. Resolve the release tag to its full commit, then use
282
282
  file and verify the release bundle's `.tgz.sha256` sidecar before updating the
283
283
  manifest. The command never accepts moving branches or unverified content.
284
284
 
285
+ ## Property-list reference credential isolation
286
+
287
+ The storyboard runner implements `check: property_list_reference` and the
288
+ `property_list_reference_runner` requirement for MCP. The protocol-authored
289
+ `universal/property-list-reference-resolution` storyboard creates a shared list
290
+ and a control list under the owner identity. Its probe then starts a fresh MCP
291
+ session with only the issued reference Bearer token, follows every page, checks
292
+ the exact identifier set, and requires authorization denials for a cross-list
293
+ read and a name-changing update. Owner credentials, accounts, cookies, and
294
+ signing keys are never forwarded into that session. The check needs no extra
295
+ runner configuration beyond the storyboard's sandbox/controller setup.
296
+ It uses the MCP endpoint already discovered by the owner client, with a fresh
297
+ transport that does not inherit the owner's `transport.trustedFetchFn`.
298
+
299
+ Evidence includes initialization, each page, and both denial probes; issued
300
+ tokens are redacted from creation responses and diagnostic strings. Explicit
301
+ A2A runs report `requirement_unmet` before fixture setup or task calls because
302
+ the credential-isolated probe currently implements the MCP baseline.
303
+
304
+ The storyboard is authored for the next AdCP minor release and is not in the
305
+ bundled 3.2.5 compliance cache. Until that release, load its YAML from a local
306
+ copy of spec PR #8289 and use `runStoryboard` with that checkout's schema root.
307
+
308
+ Upstream contract: [adcp#8289](https://github.com/adcontextprotocol/adcp/pull/8289).
309
+
285
310
  ## Trusted Match Context router replay
286
311
 
287
312
  Context Match routers expose raw `POST /context`, not an MCP or A2A tool. A
@@ -0,0 +1,156 @@
1
+ # Creative evaluator build probes
2
+
3
+ A storyboard may opt into `creative_build_probe: {context_prefix: build,
4
+ message: "Create one sandbox creative"}`. The full runner and standalone step
5
+ runner prepare one route/input binding before controller seeding or dispatch,
6
+ and then enable `creative_build_probe_runner`. Author the gated steps with
7
+ `requires_contract: creative_build_probe_runner` so older engines give no
8
+ executed security credit.
9
+
10
+ Provision the sandbox account, build entitlement, task authorization, and
11
+ accepted evaluator endpoint separately. Complete format metadata does not prove
12
+ these account/task prerequisites. The resolver does not issue a hidden build.
13
+
14
+ `test_kit.creative_build_probes` accepts recipes `{match: [...], input: {...}}`.
15
+ Match clauses use the existing fixture-resolution DSL against the catalog entry.
16
+ The operator asserts that the input is valid for **every** matched route for this
17
+ account. Input can contain message, creative_manifest, creative_id, transformer_id,
18
+ config and legacy target_format_id; it cannot replace evaluator, account, auth or trust material. Use a
19
+ specific capability-ID predicate when a kind-only predicate is insufficient.
20
+ Full manifest schema validation runs before dispatch. Config requires a transformer;
21
+ provision its live parameter values and an appropriate output route. Library IDs,
22
+ transformers, source asset URLs, and account authorization are operator fixtures.
23
+
24
+ The automatic generation path requires a unique advertised build route,
25
+ supports_generation, technical_requirements_complete, a known non-custom kind,
26
+ empty params, and no unhandled declaration metadata (descriptive identity/preference/channel metadata is inert).
27
+ It supplies the brief and `{format_kind: selectedKind, assets: {}}`. Otherwise a
28
+ matched recipe is required; omitted catalog operations still mean build and
29
+ missing catalog IDs remain discoverable but unaddressable through capability-ID routing. Non-build entries and
30
+ unsatisfiable routes do not prevent selecting a later satisfiable route.
31
+
32
+ Resolved records use fixture_type `creative_format`, the prefix as handle, exact
33
+ matched requirements, and seller_ids.capability_id or seller_ids.format_id. Unsatisfied whole runs have a
34
+ fixture_unsatisfied coverage gap and zero executed security validations; standalone
35
+ steps use skip_reason fixture_unsatisfied and canonical not_applicable, with detail
36
+ naming creative_format:<prefix>. This does not establish producer nonconformance
37
+ or passing security coverage. Malformed catalogs produce a structured failed validation; malformed operator recipes throw authoring errors during applicable preparation
38
+ with the required schemas available. Unavailable catalog/schema prerequisites
39
+ can return a zero-credit fixture gap before exhaustive recipe diagnostics. Routed and
40
+ replicated runs currently report an explicit gap before seeding; run each agent
41
+ independently. Unopted storyboards retain their existing behavior and counters.
42
+
43
+ The protocol-side harness contract and consuming fixture are tracked in
44
+ [adcp#8240](https://github.com/adcontextprotocol/adcp/issues/8240).
45
+
46
+ ## Payload-bound authorization limitation
47
+
48
+ Current probe preparation requires a sandbox build fixture that does not need
49
+ a per-request signed governance_context. The runner detects an advertised
50
+ build_creative signed_context enforcement claim and reports fixture_unsatisfied
51
+ with zero security credit; static recipes cannot pre-sign the fresh request.
52
+ Other governed tasks do not disable this build probe. Preparing fresh governed
53
+ probe authorizations is a separate runner integration, not a protocol decision.
54
+
55
+ Recipe fields stay exactly as provisioned: omitting message does not add the
56
+ storyboard's generation brief. The automatic source manifest is validated too.
57
+ Descriptive metadata (display_name, seller_preference, experimental,
58
+ sample_render_url, format_option_id, publisher_domain, applies_to_channels,
59
+ canonical_formats_only) does not remove security coverage. Unknown metadata and
60
+ constraint-bearing extensions require an operator recipe. The probe-local
61
+ unambiguous-source/config rules do not add restrictions to build_creative wire
62
+ requests in other modes, including refinement.
63
+
64
+ Operator recipe authoring is bounded to 100,000 traversed nodes, 4 MiB of UTF-8
65
+ string/key bytes, and the existing JSON depth bound per recipe. Repeated aliases
66
+ count on every visit, before match normalization. These are harness configuration
67
+ limits, not producer catalog requirements. Missing required selected-version
68
+ validators yield a zero-credit harness gap; they never authorize a dispatch.
69
+
70
+
71
+ ## Selected-version routing
72
+
73
+ The runner uses the existing guarded capabilities-echo authority for catalog
74
+ interpretation. A same-major release-precision echo must be listed in the
75
+ response's supported_versions and have an available bundled or supplied schema
76
+ root. Invalid, missing, unlisted or unavailable echoes retain the pin. Supplied
77
+ servedReleaseSchemaRoots apply to the catalog only. The runner captures build
78
+ request, source-manifest and target-FormatID validators from the pin before
79
+ activating any served catalog root, including overlapping version aliases.
80
+ The public five-argument resolveCreativeBuildProbe works on an already selected
81
+ creative catalog and uses its supplied pin only; it has no full capabilities
82
+ response from which to select an echo. Full and standalone runners use the
83
+ internal preparation path for guarded served-release selection.
84
+
85
+ Catalog kind, parameter, ID and operation semantics follow that served release;
86
+ build selectors and source inputs retain the request pin. Canonical route IDs
87
+ and automatic generation require canonical routing in both releases. Otherwise
88
+ use a provisioned legacy selector and pinned-valid input; do not synthesize a
89
+ named format or upgrade the request. An advertised 3.2 legacy reference's density
90
+ constraints still apply when a 3.1 request treats pixel_ratio as an opaque
91
+ extension: the old request cannot establish a 2x parameterized binding by adding
92
+ that field. An incompatible binding is a fixture gap, not producer failure.
93
+
94
+ The reverse direction retains the older catalog's parameter rules. A 3.1
95
+ reference cannot establish density through an omitted or opaque pixel_ratio
96
+ field. Actual named-format requirements still apply: the published 3.1 narrowing
97
+ rule uses an any-value baseline only where the projected legacy requirements
98
+ impose no constraint. A provisioned, live-valid 3.2 target at 2x can
99
+ therefore match a 3.1 reference with no ratio, even if the old payload carries
100
+ an opaque ratio extension. The resolver does not union property sets or invent
101
+ a 1x default for that older catalog. The operator must still provision a valid
102
+ named-format mapping and input for the selected account.
103
+
104
+ Local schema diagnostics display at most eight AJV error entries and 2048
105
+ escaped characters. Control characters are escaped for display; producer
106
+ catalogs and failed validation outcomes remain unchanged.
107
+
108
+ Read the selected capabilities schema's format reference and selected build request
109
+ selector. A 3.2 recipe normally binds the advertised capability ID; a provisioned legacy selector remains supported when the selected request declares it. A 3.1 recipe must supply
110
+ an existing schema-valid `target_format_id` and assert that its discovered or
111
+ provisioned named format maps to every matched catalog route. The resolver never
112
+ constructs a named format from a capability ID. Missing legacy capability IDs are
113
+ legal. Without a provisioned legacy selector there is a coverage gap; an unknown
114
+ extra `target_capability_id` is not a valid 3.1 routing contract. Automatic generation
115
+ is restricted to capability-ID routing. Unknown 3.1 canonical kinds remain intact
116
+ as unsupported routes while resolution continues to understood routes. Older
117
+ catalogs do not acquire 3.2 ID-pattern or operations-field producer requirements.
118
+
119
+ Transformer-only recipes need no dummy brief/source manifest. Provision valid live
120
+ configuration and matching transformer output_capability_ids (3.2) or
121
+ output_format_ids (legacy). Recipe messages are trusted operator-authored input and
122
+ remain exactly as supplied; banning a brief would not prevent a dishonest fixture
123
+ author from biasing other input content. Credential-key and URL checks reject known
124
+ aliases but cannot prove opaque values or custom encodings secret-free. Operators
125
+ must provision non-secret fixture content. A malformed recipe throws an authoring
126
+ error after the runner closes any receiver/connections it owns.
127
+
128
+
129
+ An explicit legacy selector recipe is also supported on newer versions that retain
130
+ `target_format_id`; bind exactly one selector. Recipes cannot override
131
+ `canonical_formats_only: true` or contradict an advertised `v1_format_ref` pairing.
132
+ Reference agent URLs use existing canonicalization, and declared dimensions/duration
133
+ must agree. Incompatible pairs are unavailable; continue to another usable route.
134
+
135
+
136
+ Resolution certifies preparation of the selected route/input, not complete catalog
137
+ conformance. Unknown legacy kinds remain unvalidated local unsupported routes;
138
+ the consuming storyboard must retain its required whole-response discovery schema
139
+ validation. A standalone boundary step grades its selected probe, not unrelated
140
+ catalog metadata. The evaluator storyboard keeps that independent required check.
141
+
142
+
143
+ The provisioned brief is sent as `build_creative.message` to the agent under test,
144
+ where its model may read it as instructions. Author ordinary creative direction;
145
+ do not include instructions about evaluator behavior or expected test verdicts.
146
+ An explicit runner `test_kit` overrides the storyboard's declared kit as a whole:
147
+ include recipes in that override when also supplying auth. Hosted auth defaults
148
+ preserve recipes explicitly supplied by the operator; they do not merge missing
149
+ recipes from a separately declared brand kit.
150
+
151
+ The normal hosted HTTP/UI flow does not expose arbitrary recipe uploads. Use trusted
152
+ programmatic runner options or the local CLI for operator-provisioned recipes.
153
+
154
+ The preparer checks the selected route/input binding. It does not certify all
155
+ unselected recipe matches or remote account entitlements; narrow the operator
156
+ match predicates when an input is valid for only one route.
@@ -131,9 +131,45 @@ checks the explicit `media_buy.features.canonical_creatives` declaration. A
131
131
  `unknown` because a 3.1 version claim does not prove the runtime accepts
132
132
  canonical creatives. For MCP peers the client then inspects the advertised
133
133
  input schema for the current tool only; support advertised by another creative
134
- tool is never reused. Unknown peers receive a legacy projection only when the
135
- selected product provides one unambiguous ref. Ambiguous or unavailable mappings throw
136
- `CreativeFormatProjectionError` before transport.
134
+ tool is never reused.
135
+
136
+ For a seller proven to serve AdCP 3.1, an otherwise unknown write uses canonical
137
+ delivery when every selected option and creative is covered by the seller's own
138
+ `format_options`. This follows the 3.1 buyer rule to prefer advertised format
139
+ options over dual-emitted legacy IDs. Creative option references and kinds must
140
+ match, including declared slots and dimensions. Sync assignments must all have
141
+ matching selector containers. Explicit legacy capabilities or tool schemas take
142
+ precedence; experimental declarations and options synthesized by the SDK from
143
+ legacy IDs do not establish canonical support. This also works when a 3.2 buyer
144
+ negotiates down to a 3.1 seller.
145
+
146
+ Supply the selected product or the result of `packageRefsForFormatOptions()` in
147
+ `creativeFormatProjection.selectorContainers`. Include `package_id` when using
148
+ assignments. After serializing a selection, include `product_id` so the same
149
+ client can recover the seller declaration from account-scoped product discovery,
150
+ including product-cache hits. Product evidence applies to that request only.
151
+ The seller remains responsible for full manifest validation.
152
+
153
+ Canonical fallback requires affirmative evidence from this client's product
154
+ discovery and an advertised `supported_versions` entry proving the seller serves
155
+ 3.1. The fallback uses synchronous discovery and successful conditional catalog
156
+ revalidation. A saved product on a fresh client, including one synthesized from
157
+ legacy IDs, cannot establish support by its shape alone. Rediscover the product
158
+ in the current account and authorization scope first. Evidence expires after
159
+ the discovery TTL (five minutes by default); product-cache hits do not extend
160
+ it. Authorization changes and discovery invalidation invalidate the evidence.
161
+ Request-scoped custom transports require explicit capability or tool-schema
162
+ support and do not reuse this inferred product evidence.
163
+
164
+ Assignment-only sync and updates containing only an existing `package_id` keep
165
+ their existing wire behavior. Pass the matching selectors for this request to
166
+ use the product-based fallback; package IDs alone do not establish support.
167
+ Without assignments, each creative must match every supplied container; use
168
+ assignments or split mixed-format batches when the products accept different kinds.
169
+
170
+ Without matching product evidence, unknown peers receive a legacy projection
171
+ only when the selected product provides one unambiguous ref. Ambiguous or
172
+ unavailable mappings throw `CreativeFormatProjectionError` before transport.
137
173
 
138
174
  Schema inspection follows local JSON Pointer `$ref` targets, including `$defs`,
139
175
  and retains the complete listed document through shared discovery-cache reuse.
@@ -141,7 +177,7 @@ Unused definitions and annotations do not establish support. External references
141
177
  named anchors, and dynamic references are not resolved; inspection never fetches
142
178
  schema URLs. Cycles and traversal limits cannot force a guessed wire mode.
143
179
 
144
- Before building creatives, ask the client which mode that write will use:
180
+ Before building creatives, inspect the tool's wire evidence:
145
181
 
146
182
  ```ts
147
183
  const mode = await agent.resolveCreativeFormatWireMode('sync_creatives');
@@ -150,13 +186,16 @@ const mode = await agent.resolveCreativeFormatWireMode('sync_creatives');
150
186
  This method is available on `AgentClient` and `SingleAgentClient`, accepts
151
187
  `sync_creatives`, `create_media_buy`, or `update_media_buy`, and shares the
152
188
  write path's capability discovery, tool-schema fallback, and buyer wire pin.
189
+ This context-free check does not inspect a write's product options, so an
190
+ `unknown` result can still become canonical for a matching 3.1 write as described
191
+ above.
153
192
  It reuses fresh cached or primed evidence; cold discovery may make read calls,
154
193
  but it sends no mutation. Pass `{ signal, transport }` as the optional second
155
194
  argument to use the same cancellation and transport scope as the write.
156
195
 
157
196
  The result is `canonical`, `legacy`, or `unknown` (`CreativeFormatWireMode`).
158
- For older peers with insufficient evidence, `unknown` means projection still
159
- requires one unambiguous legacy reference. It does not promise canonical
197
+ For older peers without matching product evidence, `unknown` means projection
198
+ still requires one unambiguous legacy reference. It does not promise canonical
160
199
  support. Conflicting capability/schema evidence or missing release proof with
161
200
  a 3.2+ buyer pin throws `CreativeFormatCapabilityError`, as during a write.
162
201
  The standalone `resolveCreativeFormatWireMode(capabilities, version)` helper