@adcp/sdk 14.0.0-rc.37 → 14.0.0-rc.39

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 (622) hide show
  1. package/bin/adcp-storyboard-summary.js +286 -0
  2. package/bin/adcp.js +221 -10
  3. package/dist/lib/conformance/schemaLoader.d.mts +1 -1
  4. package/dist/lib/conformance/schemaLoader.d.ts +1 -1
  5. package/dist/lib/core/AgentClient.d.mts +6 -1
  6. package/dist/lib/core/AgentClient.d.ts +6 -1
  7. package/dist/lib/core/AgentClient.js +9 -0
  8. package/dist/lib/core/AgentClient.mjs +9 -0
  9. package/dist/lib/core/ConversationTypes.d.mts +29 -0
  10. package/dist/lib/core/ConversationTypes.d.ts +29 -0
  11. package/dist/lib/core/SingleAgentClient.d.mts +3 -1
  12. package/dist/lib/core/SingleAgentClient.d.ts +3 -1
  13. package/dist/lib/core/SingleAgentClient.js +9 -1
  14. package/dist/lib/core/SingleAgentClient.mjs +9 -1
  15. package/dist/lib/core/TaskExecutor.d.mts +13 -1
  16. package/dist/lib/core/TaskExecutor.d.ts +13 -1
  17. package/dist/lib/core/TaskExecutor.js +216 -18
  18. package/dist/lib/core/TaskExecutor.mjs +216 -19
  19. package/dist/lib/index.d.mts +5 -2
  20. package/dist/lib/index.d.ts +5 -2
  21. package/dist/lib/index.js +10 -1
  22. package/dist/lib/index.mjs +10 -1
  23. package/dist/lib/media-buy/action-assessment.d.mts +77 -0
  24. package/dist/lib/media-buy/action-assessment.d.ts +77 -0
  25. package/dist/lib/media-buy/action-assessment.js +300 -0
  26. package/dist/lib/media-buy/action-assessment.mjs +284 -0
  27. package/dist/lib/media-buy/action-constraints.d.mts +9 -0
  28. package/dist/lib/media-buy/action-constraints.d.ts +9 -0
  29. package/dist/lib/media-buy/action-constraints.js +170 -0
  30. package/dist/lib/media-buy/action-constraints.mjs +146 -0
  31. package/dist/lib/media-buy/action-contracts.d.mts +40 -0
  32. package/dist/lib/media-buy/action-contracts.d.ts +40 -0
  33. package/dist/lib/media-buy/action-contracts.js +304 -0
  34. package/dist/lib/media-buy/action-contracts.mjs +267 -0
  35. package/dist/lib/media-buy/action-metadata.generated.d.mts +37 -0
  36. package/dist/lib/media-buy/action-metadata.generated.d.ts +37 -0
  37. package/dist/lib/media-buy/action-metadata.generated.js +128 -0
  38. package/dist/lib/media-buy/action-metadata.generated.mjs +101 -0
  39. package/dist/lib/media-buy/action-types.d.mts +106 -0
  40. package/dist/lib/media-buy/action-types.d.ts +106 -0
  41. package/dist/lib/{types/v3-1-beta/tools.generated.js → media-buy/action-types.js} +2 -2
  42. package/dist/lib/media-buy/actions.d.mts +6 -0
  43. package/dist/lib/media-buy/actions.d.ts +6 -0
  44. package/dist/lib/media-buy/actions.js +38 -0
  45. package/dist/lib/media-buy/actions.mjs +9 -0
  46. package/dist/lib/media-buy/available-actions.d.mts +2 -1
  47. package/dist/lib/media-buy/available-actions.d.ts +2 -1
  48. package/dist/lib/media-buy/available-actions.js +4 -3
  49. package/dist/lib/media-buy/available-actions.mjs +4 -3
  50. package/dist/lib/media-buy/compatibility.js +3 -0
  51. package/dist/lib/media-buy/compatibility.mjs +3 -0
  52. package/dist/lib/media-buy/index.d.mts +4 -0
  53. package/dist/lib/media-buy/index.d.ts +4 -0
  54. package/dist/lib/media-buy/index.js +3 -1
  55. package/dist/lib/media-buy/index.mjs +1 -0
  56. package/dist/lib/media-buy/legacy-action-ids.d.mts +1 -0
  57. package/dist/lib/media-buy/legacy-action-ids.d.ts +1 -0
  58. package/dist/lib/media-buy/legacy-action-ids.js +50 -0
  59. package/dist/lib/media-buy/legacy-action-ids.mjs +26 -0
  60. package/dist/lib/media-buy/mutations.d.mts +70 -0
  61. package/dist/lib/media-buy/mutations.d.ts +70 -0
  62. package/dist/lib/media-buy/mutations.js +525 -0
  63. package/dist/lib/media-buy/mutations.mjs +498 -0
  64. package/dist/lib/media-buy/preflight.d.mts +20 -69
  65. package/dist/lib/media-buy/preflight.d.ts +20 -69
  66. package/dist/lib/media-buy/preflight.js +100 -336
  67. package/dist/lib/media-buy/preflight.mjs +111 -333
  68. package/dist/lib/media-buy/targeting-input.d.mts +7 -4
  69. package/dist/lib/media-buy/targeting-input.d.ts +7 -4
  70. package/dist/lib/media-buy/types.d.mts +55 -7
  71. package/dist/lib/media-buy/types.d.ts +55 -7
  72. package/dist/lib/protocols/rawResponseCapture.d.mts +12 -0
  73. package/dist/lib/protocols/rawResponseCapture.d.ts +12 -0
  74. package/dist/lib/protocols/rawResponseCapture.js +33 -3
  75. package/dist/lib/protocols/rawResponseCapture.mjs +32 -3
  76. package/dist/lib/registry/types.generated.d.mts +377 -9
  77. package/dist/lib/registry/types.generated.d.ts +377 -9
  78. package/dist/lib/reporting/content-mismatch.d.mts +126 -0
  79. package/dist/lib/reporting/content-mismatch.d.ts +126 -0
  80. package/dist/lib/reporting/content-mismatch.js +90 -0
  81. package/dist/lib/reporting/content-mismatch.mjs +66 -0
  82. package/dist/lib/reporting/evidence.d.mts +1 -0
  83. package/dist/lib/reporting/evidence.d.ts +1 -0
  84. package/dist/lib/reporting/evidence.js +32 -3
  85. package/dist/lib/reporting/evidence.mjs +31 -3
  86. package/dist/lib/reporting/index.d.mts +3 -1
  87. package/dist/lib/reporting/index.d.ts +3 -1
  88. package/dist/lib/reporting/index.js +3 -0
  89. package/dist/lib/reporting/index.mjs +2 -0
  90. package/dist/lib/reporting/ledger/handler.d.mts +51 -1
  91. package/dist/lib/reporting/ledger/handler.d.ts +51 -1
  92. package/dist/lib/reporting/ledger/handler.js +306 -38
  93. package/dist/lib/reporting/ledger/handler.mjs +304 -37
  94. package/dist/lib/reporting/ledger/health.d.mts +12 -0
  95. package/dist/lib/reporting/ledger/health.d.ts +12 -0
  96. package/dist/lib/reporting/ledger/health.js +15 -2
  97. package/dist/lib/reporting/ledger/health.mjs +13 -1
  98. package/dist/lib/reporting/ledger/index.d.mts +3 -0
  99. package/dist/lib/reporting/ledger/index.d.ts +3 -0
  100. package/dist/lib/reporting/ledger/index.js +7 -1
  101. package/dist/lib/reporting/ledger/index.mjs +3 -0
  102. package/dist/lib/reporting/ledger/lifecycle.d.mts +31 -4
  103. package/dist/lib/reporting/ledger/lifecycle.d.ts +31 -4
  104. package/dist/lib/reporting/ledger/lifecycle.js +244 -37
  105. package/dist/lib/reporting/ledger/lifecycle.mjs +244 -37
  106. package/dist/lib/reporting/ledger/managed-postgres.d.mts +231 -0
  107. package/dist/lib/reporting/ledger/managed-postgres.d.ts +231 -0
  108. package/dist/lib/reporting/ledger/managed-postgres.js +1797 -0
  109. package/dist/lib/reporting/ledger/managed-postgres.mjs +1776 -0
  110. package/dist/lib/reporting/ledger/managed.d.mts +355 -0
  111. package/dist/lib/reporting/ledger/managed.d.ts +355 -0
  112. package/dist/lib/reporting/ledger/managed.js +661 -0
  113. package/dist/lib/reporting/ledger/managed.mjs +633 -0
  114. package/dist/lib/reporting/ledger/notification-activity.d.mts +222 -0
  115. package/dist/lib/reporting/ledger/notification-activity.d.ts +222 -0
  116. package/dist/lib/reporting/ledger/notification-activity.js +1139 -0
  117. package/dist/lib/reporting/ledger/notification-activity.mjs +1110 -0
  118. package/dist/lib/reporting/ledger/postgres.d.mts +161 -1
  119. package/dist/lib/reporting/ledger/postgres.d.ts +161 -1
  120. package/dist/lib/reporting/ledger/postgres.js +1153 -21
  121. package/dist/lib/reporting/ledger/postgres.mjs +1152 -21
  122. package/dist/lib/reporting/ledger/producer.d.mts +8 -0
  123. package/dist/lib/reporting/ledger/producer.d.ts +8 -0
  124. package/dist/lib/reporting/ledger/producer.js +146 -52
  125. package/dist/lib/reporting/ledger/producer.mjs +146 -51
  126. package/dist/lib/reporting/ledger/types.d.mts +358 -1
  127. package/dist/lib/reporting/ledger/types.d.ts +358 -1
  128. package/dist/lib/reporting/ledger/types.js +3 -0
  129. package/dist/lib/reporting/ledger/types.mjs +2 -0
  130. package/dist/lib/reporting/reconciliation.d.mts +362 -2
  131. package/dist/lib/reporting/reconciliation.d.ts +362 -2
  132. package/dist/lib/reporting/reconciliation.js +1051 -7
  133. package/dist/lib/reporting/reconciliation.mjs +1053 -7
  134. package/dist/lib/reporting/service/conformance.d.mts +35 -0
  135. package/dist/lib/reporting/service/conformance.d.ts +35 -0
  136. package/dist/lib/reporting/service/conformance.js +89 -0
  137. package/dist/lib/reporting/service/conformance.mjs +68 -0
  138. package/dist/lib/reporting/service/index.d.mts +182 -0
  139. package/dist/lib/reporting/service/index.d.ts +182 -0
  140. package/dist/lib/reporting/service/index.js +793 -0
  141. package/dist/lib/reporting/service/index.mjs +787 -0
  142. package/dist/lib/reporting/source/index.d.mts +2 -1
  143. package/dist/lib/reporting/source/index.d.ts +2 -1
  144. package/dist/lib/reporting/source/index.js +16 -3
  145. package/dist/lib/reporting/source/index.mjs +12 -1
  146. package/dist/lib/reporting/source/inline.d.mts +88 -1
  147. package/dist/lib/reporting/source/inline.d.ts +88 -1
  148. package/dist/lib/reporting/source/inline.js +1161 -163
  149. package/dist/lib/reporting/source/inline.mjs +1166 -163
  150. package/dist/lib/reporting/source/manifest.js +12 -7
  151. package/dist/lib/reporting/source/manifest.mjs +12 -7
  152. package/dist/lib/reporting/source/source.d.mts +26 -0
  153. package/dist/lib/reporting/source/source.d.ts +26 -0
  154. package/dist/lib/reporting/source/source.js +71 -2
  155. package/dist/lib/reporting/source/source.mjs +65 -1
  156. package/dist/lib/schemas/index.d.mts +22 -1
  157. package/dist/lib/schemas/index.d.ts +22 -1
  158. package/dist/lib/schemas/index.js +7 -0
  159. package/dist/lib/schemas/index.mjs +7 -0
  160. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  161. package/dist/lib/server/create-adcp-server.d.mts +18 -0
  162. package/dist/lib/server/create-adcp-server.d.ts +18 -0
  163. package/dist/lib/server/create-adcp-server.js +52 -2
  164. package/dist/lib/server/create-adcp-server.mjs +52 -2
  165. package/dist/lib/server/decisioning/account.d.mts +1 -1
  166. package/dist/lib/server/decisioning/account.d.ts +1 -1
  167. package/dist/lib/server/decisioning/index.d.mts +1 -0
  168. package/dist/lib/server/decisioning/index.d.ts +1 -0
  169. package/dist/lib/server/decisioning/platform.d.mts +3 -0
  170. package/dist/lib/server/decisioning/platform.d.ts +3 -0
  171. package/dist/lib/server/decisioning/runtime/from-platform.js +88 -10
  172. package/dist/lib/server/decisioning/runtime/from-platform.mjs +88 -10
  173. package/dist/lib/server/decisioning/specialisms/reporting.d.mts +38 -0
  174. package/dist/lib/server/decisioning/specialisms/reporting.d.ts +38 -0
  175. package/dist/lib/{types/v3-1-beta/index.js → server/decisioning/specialisms/reporting.js} +2 -8
  176. package/dist/lib/server/decisioning/specialisms/reporting.mjs +0 -0
  177. package/dist/lib/server/index.d.mts +4 -2
  178. package/dist/lib/server/index.d.ts +4 -2
  179. package/dist/lib/server/index.js +5 -0
  180. package/dist/lib/server/index.mjs +4 -0
  181. package/dist/lib/server/media-buy-action-resolver.d.mts +63 -0
  182. package/dist/lib/server/media-buy-action-resolver.d.ts +63 -0
  183. package/dist/lib/server/media-buy-action-resolver.js +297 -0
  184. package/dist/lib/server/media-buy-action-resolver.mjs +285 -0
  185. package/dist/lib/server/media-buy-actions.d.mts +7 -8
  186. package/dist/lib/server/media-buy-actions.d.ts +7 -8
  187. package/dist/lib/server/media-buy-actions.js +57 -14
  188. package/dist/lib/server/media-buy-actions.mjs +63 -14
  189. package/dist/lib/server/notification-subscriptions/index.d.mts +2 -2
  190. package/dist/lib/server/notification-subscriptions/index.d.ts +2 -2
  191. package/dist/lib/server/notification-subscriptions/index.js +2 -0
  192. package/dist/lib/server/notification-subscriptions/index.mjs +2 -0
  193. package/dist/lib/server/notification-subscriptions/postgres-runtime.d.mts +3 -1
  194. package/dist/lib/server/notification-subscriptions/postgres-runtime.d.ts +3 -1
  195. package/dist/lib/server/notification-subscriptions/postgres-runtime.js +1 -0
  196. package/dist/lib/server/notification-subscriptions/postgres-runtime.mjs +1 -0
  197. package/dist/lib/server/notification-subscriptions/runtime.d.mts +12 -1
  198. package/dist/lib/server/notification-subscriptions/runtime.d.ts +12 -1
  199. package/dist/lib/server/notification-subscriptions/runtime.js +102 -16
  200. package/dist/lib/server/notification-subscriptions/runtime.mjs +101 -16
  201. package/dist/lib/server/notification-subscriptions/types.d.mts +104 -1
  202. package/dist/lib/server/notification-subscriptions/types.d.ts +104 -1
  203. package/dist/lib/server/webhook-emitter.d.mts +40 -5
  204. package/dist/lib/server/webhook-emitter.d.ts +40 -5
  205. package/dist/lib/server/webhook-emitter.js +23 -12
  206. package/dist/lib/server/webhook-emitter.mjs +23 -12
  207. package/dist/lib/storage/interfaces.d.mts +14 -2
  208. package/dist/lib/storage/interfaces.d.ts +14 -2
  209. package/dist/lib/testing/compliance/comply.d.mts +9 -3
  210. package/dist/lib/testing/compliance/comply.d.ts +9 -3
  211. package/dist/lib/testing/compliance/comply.js +158 -3
  212. package/dist/lib/testing/compliance/comply.mjs +159 -4
  213. package/dist/lib/testing/compliance/storyboard-tracks.js +7 -5
  214. package/dist/lib/testing/compliance/storyboard-tracks.mjs +7 -5
  215. package/dist/lib/testing/compliance/summary.js +10 -1
  216. package/dist/lib/testing/compliance/summary.mjs +10 -1
  217. package/dist/lib/testing/index.d.mts +1 -1
  218. package/dist/lib/testing/index.d.ts +1 -1
  219. package/dist/lib/testing/index.js +2 -0
  220. package/dist/lib/testing/index.mjs +3 -1
  221. package/dist/lib/testing/storyboard/agent-routing.d.mts +12 -43
  222. package/dist/lib/testing/storyboard/agent-routing.d.ts +12 -43
  223. package/dist/lib/testing/storyboard/agent-routing.js +75 -13
  224. package/dist/lib/testing/storyboard/agent-routing.mjs +70 -12
  225. package/dist/lib/testing/storyboard/index.d.mts +1 -0
  226. package/dist/lib/testing/storyboard/index.d.ts +1 -0
  227. package/dist/lib/testing/storyboard/index.js +3 -0
  228. package/dist/lib/testing/storyboard/index.mjs +2 -0
  229. package/dist/lib/testing/storyboard/junit.d.mts +1 -1
  230. package/dist/lib/testing/storyboard/junit.d.ts +1 -1
  231. package/dist/lib/testing/storyboard/junit.js +21 -2
  232. package/dist/lib/testing/storyboard/junit.mjs +21 -2
  233. package/dist/lib/testing/storyboard/probes.d.mts +130 -0
  234. package/dist/lib/testing/storyboard/probes.d.ts +130 -0
  235. package/dist/lib/testing/storyboard/probes.js +682 -10
  236. package/dist/lib/testing/storyboard/probes.mjs +683 -3
  237. package/dist/lib/testing/storyboard/request-signing/builder.d.mts +16 -5
  238. package/dist/lib/testing/storyboard/request-signing/builder.d.ts +16 -5
  239. package/dist/lib/testing/storyboard/request-signing/grader.d.mts +44 -1
  240. package/dist/lib/testing/storyboard/request-signing/grader.d.ts +44 -1
  241. package/dist/lib/testing/storyboard/request-signing/grader.js +46 -22
  242. package/dist/lib/testing/storyboard/request-signing/grader.mjs +43 -21
  243. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.mts +86 -11
  244. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.ts +86 -11
  245. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.js +119 -25
  246. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.mjs +117 -26
  247. package/dist/lib/testing/storyboard/request-signing/synthesize.js +22 -2
  248. package/dist/lib/testing/storyboard/request-signing/synthesize.mjs +22 -2
  249. package/dist/lib/testing/storyboard/runner.d.mts +103 -0
  250. package/dist/lib/testing/storyboard/runner.d.ts +103 -0
  251. package/dist/lib/testing/storyboard/runner.js +1090 -268
  252. package/dist/lib/testing/storyboard/runner.mjs +1096 -261
  253. package/dist/lib/testing/storyboard/seeding.d.mts +4 -1
  254. package/dist/lib/testing/storyboard/seeding.d.ts +4 -1
  255. package/dist/lib/testing/storyboard/seeding.js +55 -24
  256. package/dist/lib/testing/storyboard/seeding.mjs +55 -24
  257. package/dist/lib/testing/storyboard/test-kit.d.mts +37 -3
  258. package/dist/lib/testing/storyboard/test-kit.d.ts +37 -3
  259. package/dist/lib/testing/storyboard/test-kit.js +8 -2
  260. package/dist/lib/testing/storyboard/test-kit.mjs +7 -2
  261. package/dist/lib/testing/storyboard/types.d.mts +132 -10
  262. package/dist/lib/testing/storyboard/types.d.ts +132 -10
  263. package/dist/lib/testing/storyboard/types.js +17 -0
  264. package/dist/lib/testing/storyboard/types.mjs +16 -0
  265. package/dist/lib/testing/storyboard/validations.d.mts +1 -1
  266. package/dist/lib/testing/storyboard/validations.d.ts +1 -1
  267. package/dist/lib/testing/storyboard/validations.js +16 -0
  268. package/dist/lib/testing/storyboard/validations.mjs +16 -0
  269. package/dist/lib/testing/test-controller.d.mts +1 -1
  270. package/dist/lib/testing/test-controller.d.ts +1 -1
  271. package/dist/lib/types/buy-products.d.ts +71 -6
  272. package/dist/lib/types/control-media-buy.d.ts +25 -11
  273. package/dist/lib/types/core.generated.d.mts +69 -10
  274. package/dist/lib/types/core.generated.d.ts +69 -10
  275. package/dist/lib/types/create-media-buy.d.ts +71 -6
  276. package/dist/lib/types/forward-compat-error-codes.d.mts +7 -6
  277. package/dist/lib/types/forward-compat-error-codes.d.ts +7 -6
  278. package/dist/lib/types/index.d.mts +2 -2
  279. package/dist/lib/types/index.d.ts +2 -2
  280. package/dist/lib/types/schemas.generated.d.ts +8040 -8116
  281. package/dist/lib/types/schemas.generated.js +1074 -309
  282. package/dist/lib/types/schemas.generated.mjs +1068 -309
  283. package/dist/lib/types/tools.generated.d.mts +65 -6
  284. package/dist/lib/types/tools.generated.d.ts +65 -6
  285. package/dist/lib/types/update-media-buy.d.ts +71 -6
  286. package/dist/lib/utils/redact-secrets.d.mts +1 -1
  287. package/dist/lib/utils/redact-secrets.d.ts +1 -1
  288. package/dist/lib/utils/redact-secrets.js +1 -1
  289. package/dist/lib/utils/redact-secrets.mjs +1 -1
  290. package/dist/lib/v2/projection/cache-versions.d.mts +0 -1
  291. package/dist/lib/v2/projection/cache-versions.d.ts +0 -1
  292. package/dist/lib/v2/projection/cache-versions.js +1 -15
  293. package/dist/lib/v2/projection/cache-versions.mjs +1 -14
  294. package/dist/lib/v2/projection/canonical-properties.js +2 -2
  295. package/dist/lib/v2/projection/canonical-properties.mjs +3 -3
  296. package/dist/lib/v2/projection/registry.d.mts +1 -1
  297. package/dist/lib/v2/projection/registry.d.ts +1 -1
  298. package/dist/lib/v2/projection/registry.js +2 -2
  299. package/dist/lib/v2/projection/registry.mjs +3 -3
  300. package/dist/lib/validation/schema-loader.d.mts +9 -1
  301. package/dist/lib/validation/schema-loader.d.ts +9 -1
  302. package/dist/lib/validation/schema-loader.js +65 -8
  303. package/dist/lib/validation/schema-loader.mjs +64 -8
  304. package/dist/lib/version.d.mts +5 -5
  305. package/dist/lib/version.d.ts +5 -5
  306. package/dist/lib/version.js +3 -8
  307. package/dist/lib/version.mjs +3 -8
  308. package/dist/lib/wholesale-feed-sync/index.d.mts +1 -0
  309. package/dist/lib/wholesale-feed-sync/index.d.ts +1 -0
  310. package/dist/lib/wholesale-feed-sync/protocol-types.d.mts +42 -0
  311. package/dist/lib/wholesale-feed-sync/protocol-types.d.ts +42 -0
  312. package/dist/lib/wholesale-feed-sync/protocol-types.js +16 -0
  313. package/dist/lib/wholesale-feed-sync/protocol-types.mjs +0 -0
  314. package/dist/lib/wholesale-feed-sync/sync.d.mts +6 -6
  315. package/dist/lib/wholesale-feed-sync/sync.d.ts +6 -6
  316. package/dist/lib/wholesale-feed-sync/sync.js +3 -1
  317. package/dist/lib/wholesale-feed-sync/sync.mjs +3 -1
  318. package/dist/lib/wholesale-feed-sync/types.d.mts +15 -14
  319. package/dist/lib/wholesale-feed-sync/types.d.ts +15 -14
  320. package/dist/lib/wholesale-feed-sync/webhook-notification.d.mts +7 -5
  321. package/dist/lib/wholesale-feed-sync/webhook-notification.d.ts +7 -5
  322. package/dist/lib/wholesale-feed-sync/webhook-notification.js +45 -0
  323. package/dist/lib/wholesale-feed-sync/webhook-notification.mjs +44 -0
  324. package/docs/CLI.md +1 -1
  325. package/docs/TYPE-SUMMARY.md +118 -4
  326. package/docs/guides/ASYNC-API-REFERENCE.md +62 -1
  327. package/docs/guides/ASYNC-DEVELOPER-GUIDE.md +25 -0
  328. package/docs/guides/ASYNC-DOCUMENTATION-INDEX.md +3 -0
  329. package/docs/guides/BUYER-QUICKSTART-3.2.md +5 -0
  330. package/docs/guides/DURABLE-BUYER-WRITES.md +337 -0
  331. package/docs/guides/EXISTING-PLATFORM.md +80 -1
  332. package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +57 -0
  333. package/docs/guides/MEDIA-BUY-ACTION-ASSESSMENT.md +300 -0
  334. package/docs/guides/REPORTING-LEDGER.md +654 -3
  335. package/docs/guides/REPORTING-RECONCILIATION.md +50 -0
  336. package/docs/guides/REPORTING-SOURCE-EXECUTOR.md +63 -1
  337. package/docs/guides/SELLER-QUICKSTART-3.2.md +2 -0
  338. package/docs/guides/VALIDATE-YOUR-AGENT.md +35 -0
  339. package/docs/guides/idempotency-crash-recovery.md +4 -0
  340. package/docs/llms.txt +4 -2
  341. package/docs/migration-14.x-rc-worksheet.md +60 -5
  342. package/docs/migration-7.9-to-7.10.md +7 -5
  343. package/examples/README.md +17 -0
  344. package/examples/durable-buyer-writes/caller.ts +745 -0
  345. package/examples/durable-buyer-writes/worker.ts +240 -0
  346. package/examples/reliable-reporting-service/README.md +100 -0
  347. package/examples/seller-3.2-starter.ts +7 -8
  348. package/examples/targeting-input-existing-platform.ts +153 -0
  349. package/package.json +41 -29
  350. package/skills/build-seller-agent/SKILL.md +2 -0
  351. package/skills/build-seller-agent/specialisms/signed-requests.md +11 -1
  352. package/skills/cross-cutting.md +28 -11
  353. package/compliance/cache/3.1.0-beta.7/domains/brand/index.yaml +0 -160
  354. package/compliance/cache/3.1.0-beta.7/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -415
  355. package/compliance/cache/3.1.0-beta.7/domains/brand/scenarios/single_side_trust_extension.yaml +0 -454
  356. package/compliance/cache/3.1.0-beta.7/domains/creative/index.yaml +0 -339
  357. package/compliance/cache/3.1.0-beta.7/domains/creative/scenarios/billing_out_of_band.yaml +0 -153
  358. package/compliance/cache/3.1.0-beta.7/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -389
  359. package/compliance/cache/3.1.0-beta.7/domains/creative/scenarios/native_in_feed.yaml +0 -543
  360. package/compliance/cache/3.1.0-beta.7/domains/governance/index.yaml +0 -682
  361. package/compliance/cache/3.1.0-beta.7/domains/media-buy/index.yaml +0 -781
  362. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -380
  363. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/available_actions.yaml +0 -565
  364. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -354
  365. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/canonical_formats.yaml +0 -711
  366. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -264
  367. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -344
  368. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -234
  369. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -419
  370. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/creative_reception.yaml +0 -247
  371. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/delivery_reporting.yaml +0 -357
  372. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/dependency_impairment.yaml +0 -633
  373. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -800
  374. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -399
  375. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -309
  376. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_approved.yaml +0 -214
  377. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_conditions.yaml +0 -199
  378. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_denied.yaml +0 -204
  379. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -252
  380. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/invalid_transitions.yaml +0 -289
  381. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -148
  382. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -276
  383. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/measurement_accountability.yaml +0 -244
  384. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -203
  385. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -274
  386. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -500
  387. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -428
  388. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -470
  389. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -373
  390. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/proposal_finalize.yaml +0 -399
  391. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -264
  392. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -257
  393. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -333
  394. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -517
  395. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -294
  396. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -823
  397. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -360
  398. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/refine_products.yaml +0 -148
  399. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -293
  400. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -307
  401. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -576
  402. package/compliance/cache/3.1.0-beta.7/domains/media-buy/state-machine.yaml +0 -442
  403. package/compliance/cache/3.1.0-beta.7/domains/signals/index.yaml +0 -266
  404. package/compliance/cache/3.1.0-beta.7/domains/sponsored-intelligence/index.yaml +0 -256
  405. package/compliance/cache/3.1.0-beta.7/index.json +0 -356
  406. package/compliance/cache/3.1.0-beta.7/protocols/brand/index.yaml +0 -160
  407. package/compliance/cache/3.1.0-beta.7/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -415
  408. package/compliance/cache/3.1.0-beta.7/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -454
  409. package/compliance/cache/3.1.0-beta.7/protocols/creative/index.yaml +0 -339
  410. package/compliance/cache/3.1.0-beta.7/protocols/creative/scenarios/billing_out_of_band.yaml +0 -153
  411. package/compliance/cache/3.1.0-beta.7/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -389
  412. package/compliance/cache/3.1.0-beta.7/protocols/creative/scenarios/native_in_feed.yaml +0 -543
  413. package/compliance/cache/3.1.0-beta.7/protocols/governance/index.yaml +0 -682
  414. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/index.yaml +0 -781
  415. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -380
  416. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/available_actions.yaml +0 -565
  417. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -354
  418. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/canonical_formats.yaml +0 -711
  419. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -264
  420. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -344
  421. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -234
  422. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -419
  423. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/creative_reception.yaml +0 -247
  424. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -357
  425. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -633
  426. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -800
  427. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -399
  428. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -309
  429. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_approved.yaml +0 -214
  430. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_conditions.yaml +0 -199
  431. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_denied.yaml +0 -204
  432. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -252
  433. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -289
  434. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -148
  435. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -276
  436. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -244
  437. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -203
  438. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -274
  439. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -500
  440. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -428
  441. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -470
  442. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -373
  443. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -399
  444. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -264
  445. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -257
  446. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -333
  447. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -517
  448. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -294
  449. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -823
  450. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -360
  451. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/refine_products.yaml +0 -148
  452. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -293
  453. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -307
  454. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -576
  455. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/state-machine.yaml +0 -442
  456. package/compliance/cache/3.1.0-beta.7/protocols/signals/index.yaml +0 -266
  457. package/compliance/cache/3.1.0-beta.7/protocols/sponsored-intelligence/index.yaml +0 -256
  458. package/compliance/cache/3.1.0-beta.7/specialisms/audience-sync/index.yaml +0 -313
  459. package/compliance/cache/3.1.0-beta.7/specialisms/brand-rights/index.yaml +0 -350
  460. package/compliance/cache/3.1.0-beta.7/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -226
  461. package/compliance/cache/3.1.0-beta.7/specialisms/collection-lists/index.yaml +0 -359
  462. package/compliance/cache/3.1.0-beta.7/specialisms/content-standards/index.yaml +0 -572
  463. package/compliance/cache/3.1.0-beta.7/specialisms/creative-ad-server/index.yaml +0 -409
  464. package/compliance/cache/3.1.0-beta.7/specialisms/creative-generative/generative-seller.yaml +0 -807
  465. package/compliance/cache/3.1.0-beta.7/specialisms/creative-generative/index.yaml +0 -758
  466. package/compliance/cache/3.1.0-beta.7/specialisms/creative-template/index.yaml +0 -510
  467. package/compliance/cache/3.1.0-beta.7/specialisms/governance-aware-seller/index.yaml +0 -143
  468. package/compliance/cache/3.1.0-beta.7/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -117
  469. package/compliance/cache/3.1.0-beta.7/specialisms/governance-delivery-monitor/index.yaml +0 -441
  470. package/compliance/cache/3.1.0-beta.7/specialisms/governance-spend-authority/denied.yaml +0 -221
  471. package/compliance/cache/3.1.0-beta.7/specialisms/governance-spend-authority/index.yaml +0 -330
  472. package/compliance/cache/3.1.0-beta.7/specialisms/property-lists/index.yaml +0 -482
  473. package/compliance/cache/3.1.0-beta.7/specialisms/sales-broadcast-tv/index.yaml +0 -738
  474. package/compliance/cache/3.1.0-beta.7/specialisms/sales-catalog-driven/index.yaml +0 -840
  475. package/compliance/cache/3.1.0-beta.7/specialisms/sales-guaranteed/index.yaml +0 -601
  476. package/compliance/cache/3.1.0-beta.7/specialisms/sales-non-guaranteed/index.yaml +0 -546
  477. package/compliance/cache/3.1.0-beta.7/specialisms/sales-proposal-mode/index.yaml +0 -586
  478. package/compliance/cache/3.1.0-beta.7/specialisms/sales-social/index.yaml +0 -919
  479. package/compliance/cache/3.1.0-beta.7/specialisms/signal-marketplace/index.yaml +0 -424
  480. package/compliance/cache/3.1.0-beta.7/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -211
  481. package/compliance/cache/3.1.0-beta.7/specialisms/signal-owned/index.yaml +0 -317
  482. package/compliance/cache/3.1.0-beta.7/specialisms/sponsored-intelligence/index.yaml +0 -59
  483. package/compliance/cache/3.1.0-beta.7/test-kits/acme-outdoor-live.yaml +0 -78
  484. package/compliance/cache/3.1.0-beta.7/test-kits/acme-outdoor.yaml +0 -223
  485. package/compliance/cache/3.1.0-beta.7/test-kits/billing-gate-runner.yaml +0 -115
  486. package/compliance/cache/3.1.0-beta.7/test-kits/bistro-oranje.yaml +0 -126
  487. package/compliance/cache/3.1.0-beta.7/test-kits/distributed-brand-runner.yaml +0 -281
  488. package/compliance/cache/3.1.0-beta.7/test-kits/nova-motors.yaml +0 -262
  489. package/compliance/cache/3.1.0-beta.7/test-kits/osei-natural.yaml +0 -126
  490. package/compliance/cache/3.1.0-beta.7/test-kits/parallel-dispatch-runner.yaml +0 -196
  491. package/compliance/cache/3.1.0-beta.7/test-kits/rate-limit-trip-runner.yaml +0 -172
  492. package/compliance/cache/3.1.0-beta.7/test-kits/signed-requests-runner.yaml +0 -155
  493. package/compliance/cache/3.1.0-beta.7/test-kits/single-side-trust-runner.yaml +0 -294
  494. package/compliance/cache/3.1.0-beta.7/test-kits/substitution-observer-runner.yaml +0 -688
  495. package/compliance/cache/3.1.0-beta.7/test-kits/summit-foods.yaml +0 -125
  496. package/compliance/cache/3.1.0-beta.7/test-kits/webhook-receiver-runner.yaml +0 -265
  497. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/001-minimal-plan.json +0 -43
  498. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/002-full-plan.json +0 -217
  499. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -60
  500. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/004a-human-review-omitted.json +0 -43
  501. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -49
  502. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -53
  503. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -57
  504. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -49
  505. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -53
  506. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/007-unicode-objectives.json +0 -43
  507. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -65
  508. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/README.md +0 -220
  509. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/canonicalization.json +0 -241
  510. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/keys.json +0 -60
  511. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/001-no-signature-header.json +0 -24
  512. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/002-wrong-tag.json +0 -26
  513. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/003-expired-signature.json +0 -26
  514. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/004-window-too-long.json +0 -26
  515. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -26
  516. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -26
  517. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -26
  518. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -26
  519. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -27
  520. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -33
  521. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/011-malformed-header.json +0 -27
  522. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -26
  523. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/013-expires-le-created.json +0 -27
  524. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -27
  525. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/015-signature-invalid.json +0 -28
  526. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -35
  527. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/017-key-revoked.json +0 -38
  528. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -28
  529. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -26
  530. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/020-rate-abuse.json +0 -34
  531. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -31
  532. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -31
  533. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -32
  534. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -31
  535. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -43
  536. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -31
  537. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -25
  538. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -26
  539. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/001-basic-post.json +0 -30
  540. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -31
  541. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/003-es256-post.json +0 -30
  542. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -26
  543. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -30
  544. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -30
  545. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -30
  546. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -30
  547. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -30
  548. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -30
  549. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -30
  550. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -30
  551. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/README.md +0 -211
  552. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/keys.json +0 -61
  553. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -26
  554. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -26
  555. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -26
  556. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -26
  557. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -26
  558. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -25
  559. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -26
  560. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -26
  561. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -26
  562. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -26
  563. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -25
  564. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -26
  565. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -26
  566. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -26
  567. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -26
  568. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -37
  569. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -32
  570. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -33
  571. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -32
  572. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -41
  573. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -26
  574. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/001-basic-post.json +0 -24
  575. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/002-es256-post.json +0 -24
  576. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -24
  577. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -24
  578. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -24
  579. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -24
  580. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -25
  581. package/compliance/cache/3.1.0-beta.7/universal/billing-gate-dispatch.yaml +0 -450
  582. package/compliance/cache/3.1.0-beta.7/universal/canonical-format-validate-input.yaml +0 -640
  583. package/compliance/cache/3.1.0-beta.7/universal/capability-discovery.yaml +0 -125
  584. package/compliance/cache/3.1.0-beta.7/universal/collection-lists-pagination-integrity.yaml +0 -306
  585. package/compliance/cache/3.1.0-beta.7/universal/comply-controller-mode-gate.yaml +0 -141
  586. package/compliance/cache/3.1.0-beta.7/universal/content-standards-pagination-integrity.yaml +0 -326
  587. package/compliance/cache/3.1.0-beta.7/universal/deterministic-testing.yaml +0 -1430
  588. package/compliance/cache/3.1.0-beta.7/universal/error-compliance-signals.yaml +0 -377
  589. package/compliance/cache/3.1.0-beta.7/universal/error-compliance.yaml +0 -528
  590. package/compliance/cache/3.1.0-beta.7/universal/fictional-entities.yaml +0 -307
  591. package/compliance/cache/3.1.0-beta.7/universal/get-media-buys-pagination-integrity.yaml +0 -160
  592. package/compliance/cache/3.1.0-beta.7/universal/get-signals-pagination-integrity.yaml +0 -211
  593. package/compliance/cache/3.1.0-beta.7/universal/idempotency.yaml +0 -861
  594. package/compliance/cache/3.1.0-beta.7/universal/notification-config-event-scope.yaml +0 -119
  595. package/compliance/cache/3.1.0-beta.7/universal/notification-config-lifecycle.yaml +0 -337
  596. package/compliance/cache/3.1.0-beta.7/universal/notification-config-rejections.yaml +0 -107
  597. package/compliance/cache/3.1.0-beta.7/universal/pagination-integrity-creative-formats.yaml +0 -265
  598. package/compliance/cache/3.1.0-beta.7/universal/pagination-integrity-list-accounts.yaml +0 -245
  599. package/compliance/cache/3.1.0-beta.7/universal/pagination-integrity.yaml +0 -263
  600. package/compliance/cache/3.1.0-beta.7/universal/property-lists-pagination-integrity.yaml +0 -307
  601. package/compliance/cache/3.1.0-beta.7/universal/read-tool-idempotency.yaml +0 -405
  602. package/compliance/cache/3.1.0-beta.7/universal/runner-output-contract.yaml +0 -1266
  603. package/compliance/cache/3.1.0-beta.7/universal/schema-validation-signals.yaml +0 -181
  604. package/compliance/cache/3.1.0-beta.7/universal/schema-validation.yaml +0 -548
  605. package/compliance/cache/3.1.0-beta.7/universal/security.yaml +0 -539
  606. package/compliance/cache/3.1.0-beta.7/universal/signed-requests.yaml +0 -217
  607. package/compliance/cache/3.1.0-beta.7/universal/stale-response-advisory.yaml +0 -295
  608. package/compliance/cache/3.1.0-beta.7/universal/storyboard-schema.yaml +0 -2136
  609. package/compliance/cache/3.1.0-beta.7/universal/v3-envelope-integrity.yaml +0 -117
  610. package/compliance/cache/3.1.0-beta.7/universal/version-negotiation.yaml +0 -130
  611. package/compliance/cache/3.1.0-beta.7/universal/webhook-emission.yaml +0 -411
  612. package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-bulk-webhooks.yaml +0 -82
  613. package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-product-webhooks.yaml +0 -83
  614. package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-products.yaml +0 -151
  615. package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-signal-webhooks.yaml +0 -83
  616. package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-signals.yaml +0 -149
  617. package/dist/lib/types/v3-1-beta/index.d.mts +0 -1
  618. package/dist/lib/types/v3-1-beta/index.d.ts +0 -1
  619. package/dist/lib/types/v3-1-beta/index.mjs +0 -1
  620. package/dist/lib/types/v3-1-beta/tools.generated.d.mts +0 -26788
  621. package/dist/lib/types/v3-1-beta/tools.generated.d.ts +0 -26788
  622. /package/dist/lib/{types/v3-1-beta/tools.generated.mjs → media-buy/action-types.mjs} +0 -0
@@ -1,5 +1,6 @@
1
1
  import type { SingleAgentClient } from '../core/SingleAgentClient.mjs';
2
- import type * as V31Beta from '../types/v3-1-beta/index.mjs';
2
+ import type { AccountReference } from '../types/index.mjs';
3
+ import type { LegacyWholesaleFeedEvent } from './protocol-types.mjs';
3
4
  /**
4
5
  * Operating mode for a {@link WholesaleFeedSync} instance, resolved from the
5
6
  * agent's capability stanza at `start()` time.
@@ -34,7 +35,7 @@ export interface WholesaleFeedSyncClient {
34
35
  /**
35
36
  * Configuration for a {@link WholesaleFeedSync} instance.
36
37
  *
37
- * The SDK's primary version pin (`ADCP_VERSION`) stays at GA; the wholesale
38
+ * The SDK's primary version pin (`ADCP_VERSION`) provides the wholesale
38
39
  * feed surfaces activate when the agent declares `wholesale_feed_versioning`
39
40
  * and/or `wholesale_feed_webhooks` in its `get_adcp_capabilities` response.
40
41
  * Against pre-3.1 agents the sync still works in `'manual'` mode — bootstrap
@@ -44,12 +45,12 @@ export interface WholesaleFeedSyncConfig {
44
45
  /** Pre-configured client (or stub) for tool calls against the target agent. */
45
46
  client: WholesaleFeedSyncClient;
46
47
  /**
47
- * Account scope for wholesale product/signal reads. Beta 3 wholesale-feed
48
+ * Account scope for wholesale product/signal reads. Wholesale-feed
48
49
  * webhooks are account-anchored; pass the same account used when registering
49
50
  * `notification_configs[]` so repair reads reconcile the correct public or
50
51
  * account overlay.
51
52
  */
52
- account?: V31Beta.AccountReference;
53
+ account?: AccountReference;
53
54
  /**
54
55
  * Expected inbound webhook subscription scope. Set this when routing a
55
56
  * validated webhook receiver into a WholesaleFeedSync instance so misrouted
@@ -155,43 +156,43 @@ export interface WholesaleFeedSyncEvents {
155
156
  to: WholesaleFeedSyncState;
156
157
  }];
157
158
  event: [{
158
- event: V31Beta.WholesaleFeedEvent;
159
+ event: LegacyWholesaleFeedEvent;
159
160
  synthetic?: boolean;
160
161
  }];
161
162
  'product.created': [{
162
- event: V31Beta.WholesaleFeedEvent;
163
+ event: LegacyWholesaleFeedEvent;
163
164
  synthetic?: boolean;
164
165
  }];
165
166
  'product.updated': [{
166
- event: V31Beta.WholesaleFeedEvent;
167
+ event: LegacyWholesaleFeedEvent;
167
168
  synthetic?: boolean;
168
169
  }];
169
170
  'product.priced': [{
170
- event: V31Beta.WholesaleFeedEvent;
171
+ event: LegacyWholesaleFeedEvent;
171
172
  synthetic?: boolean;
172
173
  }];
173
174
  'product.removed': [{
174
- event: V31Beta.WholesaleFeedEvent;
175
+ event: LegacyWholesaleFeedEvent;
175
176
  synthetic?: boolean;
176
177
  }];
177
178
  'signal.created': [{
178
- event: V31Beta.WholesaleFeedEvent;
179
+ event: LegacyWholesaleFeedEvent;
179
180
  synthetic?: boolean;
180
181
  }];
181
182
  'signal.updated': [{
182
- event: V31Beta.WholesaleFeedEvent;
183
+ event: LegacyWholesaleFeedEvent;
183
184
  synthetic?: boolean;
184
185
  }];
185
186
  'signal.priced': [{
186
- event: V31Beta.WholesaleFeedEvent;
187
+ event: LegacyWholesaleFeedEvent;
187
188
  synthetic?: boolean;
188
189
  }];
189
190
  'signal.removed': [{
190
- event: V31Beta.WholesaleFeedEvent;
191
+ event: LegacyWholesaleFeedEvent;
191
192
  synthetic?: boolean;
192
193
  }];
193
194
  'wholesale_feed.bulk_change': [{
194
- event: V31Beta.WholesaleFeedEvent;
195
+ event: LegacyWholesaleFeedEvent;
195
196
  synthetic?: boolean;
196
197
  }];
197
198
  }
@@ -1,5 +1,6 @@
1
1
  import type { SingleAgentClient } from '../core/SingleAgentClient';
2
- import type * as V31Beta from '../types/v3-1-beta';
2
+ import type { AccountReference } from '../types';
3
+ import type { LegacyWholesaleFeedEvent } from './protocol-types';
3
4
  /**
4
5
  * Operating mode for a {@link WholesaleFeedSync} instance, resolved from the
5
6
  * agent's capability stanza at `start()` time.
@@ -34,7 +35,7 @@ export interface WholesaleFeedSyncClient {
34
35
  /**
35
36
  * Configuration for a {@link WholesaleFeedSync} instance.
36
37
  *
37
- * The SDK's primary version pin (`ADCP_VERSION`) stays at GA; the wholesale
38
+ * The SDK's primary version pin (`ADCP_VERSION`) provides the wholesale
38
39
  * feed surfaces activate when the agent declares `wholesale_feed_versioning`
39
40
  * and/or `wholesale_feed_webhooks` in its `get_adcp_capabilities` response.
40
41
  * Against pre-3.1 agents the sync still works in `'manual'` mode — bootstrap
@@ -44,12 +45,12 @@ export interface WholesaleFeedSyncConfig {
44
45
  /** Pre-configured client (or stub) for tool calls against the target agent. */
45
46
  client: WholesaleFeedSyncClient;
46
47
  /**
47
- * Account scope for wholesale product/signal reads. Beta 3 wholesale-feed
48
+ * Account scope for wholesale product/signal reads. Wholesale-feed
48
49
  * webhooks are account-anchored; pass the same account used when registering
49
50
  * `notification_configs[]` so repair reads reconcile the correct public or
50
51
  * account overlay.
51
52
  */
52
- account?: V31Beta.AccountReference;
53
+ account?: AccountReference;
53
54
  /**
54
55
  * Expected inbound webhook subscription scope. Set this when routing a
55
56
  * validated webhook receiver into a WholesaleFeedSync instance so misrouted
@@ -155,43 +156,43 @@ export interface WholesaleFeedSyncEvents {
155
156
  to: WholesaleFeedSyncState;
156
157
  }];
157
158
  event: [{
158
- event: V31Beta.WholesaleFeedEvent;
159
+ event: LegacyWholesaleFeedEvent;
159
160
  synthetic?: boolean;
160
161
  }];
161
162
  'product.created': [{
162
- event: V31Beta.WholesaleFeedEvent;
163
+ event: LegacyWholesaleFeedEvent;
163
164
  synthetic?: boolean;
164
165
  }];
165
166
  'product.updated': [{
166
- event: V31Beta.WholesaleFeedEvent;
167
+ event: LegacyWholesaleFeedEvent;
167
168
  synthetic?: boolean;
168
169
  }];
169
170
  'product.priced': [{
170
- event: V31Beta.WholesaleFeedEvent;
171
+ event: LegacyWholesaleFeedEvent;
171
172
  synthetic?: boolean;
172
173
  }];
173
174
  'product.removed': [{
174
- event: V31Beta.WholesaleFeedEvent;
175
+ event: LegacyWholesaleFeedEvent;
175
176
  synthetic?: boolean;
176
177
  }];
177
178
  'signal.created': [{
178
- event: V31Beta.WholesaleFeedEvent;
179
+ event: LegacyWholesaleFeedEvent;
179
180
  synthetic?: boolean;
180
181
  }];
181
182
  'signal.updated': [{
182
- event: V31Beta.WholesaleFeedEvent;
183
+ event: LegacyWholesaleFeedEvent;
183
184
  synthetic?: boolean;
184
185
  }];
185
186
  'signal.priced': [{
186
- event: V31Beta.WholesaleFeedEvent;
187
+ event: LegacyWholesaleFeedEvent;
187
188
  synthetic?: boolean;
188
189
  }];
189
190
  'signal.removed': [{
190
- event: V31Beta.WholesaleFeedEvent;
191
+ event: LegacyWholesaleFeedEvent;
191
192
  synthetic?: boolean;
192
193
  }];
193
194
  'wholesale_feed.bulk_change': [{
194
- event: V31Beta.WholesaleFeedEvent;
195
+ event: LegacyWholesaleFeedEvent;
195
196
  synthetic?: boolean;
196
197
  }];
197
198
  }
@@ -1,8 +1,8 @@
1
1
  import { ADCPError } from '../errors/index.mjs';
2
- import type * as V31Beta from '../types/v3-1-beta/index.mjs';
3
- export type WholesaleFeedWebhookNotificationType = V31Beta.WholesaleFeedWebhook['notification_type'];
2
+ import type { LegacyWholesaleFeedEvent, LegacyWholesaleFeedWebhook } from './protocol-types.mjs';
3
+ export type WholesaleFeedWebhookNotificationType = LegacyWholesaleFeedWebhook['notification_type'];
4
4
  export type WholesaleFeedWebhookAffectedEntityType = 'product' | 'signal';
5
- export type WholesaleFeedWebhookCacheScope = V31Beta.WholesaleFeedWebhook['cache_scope'];
5
+ export type WholesaleFeedWebhookCacheScope = LegacyWholesaleFeedWebhook['cache_scope'];
6
6
  export type WholesaleFeedWebhookNotificationErrorCode = 'wholesale_feed_webhook_body_malformed' | 'wholesale_feed_webhook_field_missing' | 'wholesale_feed_webhook_field_invalid' | 'wholesale_feed_webhook_notification_type_mismatch' | 'wholesale_feed_webhook_entity_type_mismatch' | 'wholesale_feed_webhook_cache_scope_mismatch' | 'wholesale_feed_webhook_bulk_change_invalid';
7
7
  export interface WholesaleFeedWebhookNotificationErrorDetails {
8
8
  field?: string;
@@ -38,8 +38,8 @@ export interface NormalizedWholesaleFeedWebhookNotification {
38
38
  eventCreatedAt: string;
39
39
  /** Present for `wholesale_feed.bulk_change` notifications. */
40
40
  affectedEntityType?: WholesaleFeedWebhookAffectedEntityType;
41
- event: V31Beta.WholesaleFeedEvent;
42
- webhook: V31Beta.WholesaleFeedWebhook;
41
+ event: LegacyWholesaleFeedEvent;
42
+ webhook: LegacyWholesaleFeedWebhook;
43
43
  }
44
44
  /**
45
45
  * Parse and normalize a canonical wholesale-feed webhook notification.
@@ -51,3 +51,5 @@ export interface NormalizedWholesaleFeedWebhookNotification {
51
51
  */
52
52
  export declare function parseWholesaleFeedWebhookNotification(input: unknown): NormalizedWholesaleFeedWebhookNotification;
53
53
  export declare const normalizeWholesaleFeedWebhookNotification: typeof parseWholesaleFeedWebhookNotification;
54
+ /** Validate only the product representation contract, without consuming dedupe state. */
55
+ export declare function assertLegacyWholesaleFeedRepresentation(webhook: Record<string, unknown>): void;
@@ -1,8 +1,8 @@
1
1
  import { ADCPError } from '../errors';
2
- import type * as V31Beta from '../types/v3-1-beta';
3
- export type WholesaleFeedWebhookNotificationType = V31Beta.WholesaleFeedWebhook['notification_type'];
2
+ import type { LegacyWholesaleFeedEvent, LegacyWholesaleFeedWebhook } from './protocol-types';
3
+ export type WholesaleFeedWebhookNotificationType = LegacyWholesaleFeedWebhook['notification_type'];
4
4
  export type WholesaleFeedWebhookAffectedEntityType = 'product' | 'signal';
5
- export type WholesaleFeedWebhookCacheScope = V31Beta.WholesaleFeedWebhook['cache_scope'];
5
+ export type WholesaleFeedWebhookCacheScope = LegacyWholesaleFeedWebhook['cache_scope'];
6
6
  export type WholesaleFeedWebhookNotificationErrorCode = 'wholesale_feed_webhook_body_malformed' | 'wholesale_feed_webhook_field_missing' | 'wholesale_feed_webhook_field_invalid' | 'wholesale_feed_webhook_notification_type_mismatch' | 'wholesale_feed_webhook_entity_type_mismatch' | 'wholesale_feed_webhook_cache_scope_mismatch' | 'wholesale_feed_webhook_bulk_change_invalid';
7
7
  export interface WholesaleFeedWebhookNotificationErrorDetails {
8
8
  field?: string;
@@ -38,8 +38,8 @@ export interface NormalizedWholesaleFeedWebhookNotification {
38
38
  eventCreatedAt: string;
39
39
  /** Present for `wholesale_feed.bulk_change` notifications. */
40
40
  affectedEntityType?: WholesaleFeedWebhookAffectedEntityType;
41
- event: V31Beta.WholesaleFeedEvent;
42
- webhook: V31Beta.WholesaleFeedWebhook;
41
+ event: LegacyWholesaleFeedEvent;
42
+ webhook: LegacyWholesaleFeedWebhook;
43
43
  }
44
44
  /**
45
45
  * Parse and normalize a canonical wholesale-feed webhook notification.
@@ -51,3 +51,5 @@ export interface NormalizedWholesaleFeedWebhookNotification {
51
51
  */
52
52
  export declare function parseWholesaleFeedWebhookNotification(input: unknown): NormalizedWholesaleFeedWebhookNotification;
53
53
  export declare const normalizeWholesaleFeedWebhookNotification: typeof parseWholesaleFeedWebhookNotification;
54
+ /** Validate only the product representation contract, without consuming dedupe state. */
55
+ export declare function assertLegacyWholesaleFeedRepresentation(webhook: Record<string, unknown>): void;
@@ -19,6 +19,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var webhook_notification_exports = {};
20
20
  __export(webhook_notification_exports, {
21
21
  WholesaleFeedWebhookNotificationError: () => WholesaleFeedWebhookNotificationError,
22
+ assertLegacyWholesaleFeedRepresentation: () => assertLegacyWholesaleFeedRepresentation,
22
23
  normalizeWholesaleFeedWebhookNotification: () => normalizeWholesaleFeedWebhookNotification,
23
24
  parseWholesaleFeedWebhookNotification: () => parseWholesaleFeedWebhookNotification
24
25
  });
@@ -57,6 +58,7 @@ function parseWholesaleFeedWebhookNotification(input) {
57
58
  const wholesaleFeedVersion = readRequiredString(webhook, "wholesale_feed_version");
58
59
  const previousWholesaleFeedVersion = readOptionalString(webhook, "previous_wholesale_feed_version");
59
60
  const cacheScope = readCacheScope(readRequiredString(webhook, "cache_scope"), "cache_scope");
61
+ assertLegacyWholesaleFeedRepresentation(webhook);
60
62
  const eventId = readRequiredString(event, "event.event_id");
61
63
  if (notificationId !== eventId) {
62
64
  throw new WholesaleFeedWebhookNotificationError(
@@ -225,11 +227,13 @@ function validatePayloadForEvent(notificationType, entityId, payload) {
225
227
  case "product.created":
226
228
  case "product.updated": {
227
229
  assertEntityIdMatchesPayload(entityId, readRequiredString(payload, "event.payload.product_id"), "product_id");
230
+ rejectCanonicalPayloadField(payload, "canonical_product");
228
231
  readRequiredRecord(payload, "event.payload.product");
229
232
  return void 0;
230
233
  }
231
234
  case "product.priced": {
232
235
  assertEntityIdMatchesPayload(entityId, readRequiredString(payload, "event.payload.product_id"), "product_id");
236
+ rejectCanonicalPayloadField(payload, "canonical_pricing_options");
233
237
  readRequiredNonEmptyArray(payload, "event.payload.pricing_options");
234
238
  return void 0;
235
239
  }
@@ -270,6 +274,46 @@ function validatePayloadForEvent(notificationType, entityId, payload) {
270
274
  return readBulkChangeAffectedEntityType(payload);
271
275
  }
272
276
  }
277
+ function assertLegacyProductPayloadView(notificationType, productPayloadView) {
278
+ const isProductEvent = notificationType.startsWith("product.");
279
+ if (isProductEvent && (productPayloadView === void 0 || productPayloadView === "legacy")) return;
280
+ if (!isProductEvent && productPayloadView === void 0) return;
281
+ throw new WholesaleFeedWebhookNotificationError(
282
+ "wholesale_feed_webhook_field_invalid",
283
+ isProductEvent ? 'WholesaleFeedSync supports only product_payload_view "legacy".' : "Non-product wholesale-feed webhooks must omit product_payload_view.",
284
+ {
285
+ field: "product_payload_view",
286
+ expected: isProductEvent ? ["legacy"] : ["absent"],
287
+ actual: productPayloadView
288
+ }
289
+ );
290
+ }
291
+ function assertLegacyWholesaleFeedRepresentation(webhook) {
292
+ const notificationType = webhook.notification_type;
293
+ if (typeof notificationType !== "string" || !WHOLESALE_FEED_NOTIFICATION_TYPES.has(notificationType))
294
+ return;
295
+ const productPayloadView = readOptionalString(webhook, "product_payload_view");
296
+ assertLegacyProductPayloadView(notificationType, productPayloadView);
297
+ if (!notificationType.startsWith("product.")) return;
298
+ const event = webhook.event;
299
+ if (!event || typeof event !== "object" || Array.isArray(event)) return;
300
+ const payload = event.payload;
301
+ if (!payload || typeof payload !== "object" || Array.isArray(payload)) return;
302
+ const payloadRecord = payload;
303
+ if (notificationType === "product.created" || notificationType === "product.updated") {
304
+ rejectCanonicalPayloadField(payloadRecord, "canonical_product");
305
+ } else if (notificationType === "product.priced") {
306
+ rejectCanonicalPayloadField(payloadRecord, "canonical_pricing_options");
307
+ }
308
+ }
309
+ function rejectCanonicalPayloadField(payload, field) {
310
+ if (!Object.prototype.hasOwnProperty.call(payload, field)) return;
311
+ throw new WholesaleFeedWebhookNotificationError(
312
+ "wholesale_feed_webhook_field_invalid",
313
+ `WholesaleFeedSync legacy product view does not accept event.payload.${field}.`,
314
+ { field: `event.payload.${field}`, expected: "absent", actual: payload[field] }
315
+ );
316
+ }
273
317
  function assertEntityIdMatchesPayload(entityId, payloadEntityId, payloadField) {
274
318
  if (entityId === payloadEntityId) return;
275
319
  throw new WholesaleFeedWebhookNotificationError(
@@ -302,6 +346,7 @@ function describeValue(value) {
302
346
  // Annotate the CommonJS export names for ESM import in node:
303
347
  0 && (module.exports = {
304
348
  WholesaleFeedWebhookNotificationError,
349
+ assertLegacyWholesaleFeedRepresentation,
305
350
  normalizeWholesaleFeedWebhookNotification,
306
351
  parseWholesaleFeedWebhookNotification
307
352
  });
@@ -32,6 +32,7 @@ function parseWholesaleFeedWebhookNotification(input) {
32
32
  const wholesaleFeedVersion = readRequiredString(webhook, "wholesale_feed_version");
33
33
  const previousWholesaleFeedVersion = readOptionalString(webhook, "previous_wholesale_feed_version");
34
34
  const cacheScope = readCacheScope(readRequiredString(webhook, "cache_scope"), "cache_scope");
35
+ assertLegacyWholesaleFeedRepresentation(webhook);
35
36
  const eventId = readRequiredString(event, "event.event_id");
36
37
  if (notificationId !== eventId) {
37
38
  throw new WholesaleFeedWebhookNotificationError(
@@ -200,11 +201,13 @@ function validatePayloadForEvent(notificationType, entityId, payload) {
200
201
  case "product.created":
201
202
  case "product.updated": {
202
203
  assertEntityIdMatchesPayload(entityId, readRequiredString(payload, "event.payload.product_id"), "product_id");
204
+ rejectCanonicalPayloadField(payload, "canonical_product");
203
205
  readRequiredRecord(payload, "event.payload.product");
204
206
  return void 0;
205
207
  }
206
208
  case "product.priced": {
207
209
  assertEntityIdMatchesPayload(entityId, readRequiredString(payload, "event.payload.product_id"), "product_id");
210
+ rejectCanonicalPayloadField(payload, "canonical_pricing_options");
208
211
  readRequiredNonEmptyArray(payload, "event.payload.pricing_options");
209
212
  return void 0;
210
213
  }
@@ -245,6 +248,46 @@ function validatePayloadForEvent(notificationType, entityId, payload) {
245
248
  return readBulkChangeAffectedEntityType(payload);
246
249
  }
247
250
  }
251
+ function assertLegacyProductPayloadView(notificationType, productPayloadView) {
252
+ const isProductEvent = notificationType.startsWith("product.");
253
+ if (isProductEvent && (productPayloadView === void 0 || productPayloadView === "legacy")) return;
254
+ if (!isProductEvent && productPayloadView === void 0) return;
255
+ throw new WholesaleFeedWebhookNotificationError(
256
+ "wholesale_feed_webhook_field_invalid",
257
+ isProductEvent ? 'WholesaleFeedSync supports only product_payload_view "legacy".' : "Non-product wholesale-feed webhooks must omit product_payload_view.",
258
+ {
259
+ field: "product_payload_view",
260
+ expected: isProductEvent ? ["legacy"] : ["absent"],
261
+ actual: productPayloadView
262
+ }
263
+ );
264
+ }
265
+ function assertLegacyWholesaleFeedRepresentation(webhook) {
266
+ const notificationType = webhook.notification_type;
267
+ if (typeof notificationType !== "string" || !WHOLESALE_FEED_NOTIFICATION_TYPES.has(notificationType))
268
+ return;
269
+ const productPayloadView = readOptionalString(webhook, "product_payload_view");
270
+ assertLegacyProductPayloadView(notificationType, productPayloadView);
271
+ if (!notificationType.startsWith("product.")) return;
272
+ const event = webhook.event;
273
+ if (!event || typeof event !== "object" || Array.isArray(event)) return;
274
+ const payload = event.payload;
275
+ if (!payload || typeof payload !== "object" || Array.isArray(payload)) return;
276
+ const payloadRecord = payload;
277
+ if (notificationType === "product.created" || notificationType === "product.updated") {
278
+ rejectCanonicalPayloadField(payloadRecord, "canonical_product");
279
+ } else if (notificationType === "product.priced") {
280
+ rejectCanonicalPayloadField(payloadRecord, "canonical_pricing_options");
281
+ }
282
+ }
283
+ function rejectCanonicalPayloadField(payload, field) {
284
+ if (!Object.prototype.hasOwnProperty.call(payload, field)) return;
285
+ throw new WholesaleFeedWebhookNotificationError(
286
+ "wholesale_feed_webhook_field_invalid",
287
+ `WholesaleFeedSync legacy product view does not accept event.payload.${field}.`,
288
+ { field: `event.payload.${field}`, expected: "absent", actual: payload[field] }
289
+ );
290
+ }
248
291
  function assertEntityIdMatchesPayload(entityId, payloadEntityId, payloadField) {
249
292
  if (entityId === payloadEntityId) return;
250
293
  throw new WholesaleFeedWebhookNotificationError(
@@ -276,6 +319,7 @@ function describeValue(value) {
276
319
  }
277
320
  export {
278
321
  WholesaleFeedWebhookNotificationError,
322
+ assertLegacyWholesaleFeedRepresentation,
279
323
  normalizeWholesaleFeedWebhookNotification,
280
324
  parseWholesaleFeedWebhookNotification
281
325
  };
package/docs/CLI.md CHANGED
@@ -320,7 +320,7 @@ Useful flags:
320
320
 
321
321
  - `--storyboards ID,...`: Run specific storyboard or bundle IDs instead of capability-driven selection
322
322
  - `--tracks core,products,...`: Restrict the run to specific tracks
323
- - `--compliance-version VERSION`: Select the compliance cache/spec line, for example `3.0.12` or `3.1.0-beta.7`; use the same flag with `storyboard list`, `show`, and `step` when reproducing a pinned run
323
+ - `--compliance-version VERSION`: Select a packaged compliance cache/spec line, for example `3.1.18` or `3.2.0-rc.3`; use the same flag with `storyboard list`, `show`, and `step` when reproducing a pinned run
324
324
  - `--compliance-dir PATH`: Use a specific compliance cache directory, mainly for local protocol/cache development
325
325
  - `--brief TEXT`: Override the default sample discovery brief
326
326
  - `--dry-run`: Preview steps without executing
@@ -1,10 +1,24 @@
1
1
  # AdCP Type Summary
2
2
 
3
- > Generated at: 2026-09-15
4
- > @adcp/sdk v14.0.0-rc.37
3
+ > Generated at: 2026-09-18
4
+ > @adcp/sdk v14.0.0-rc.39
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
 
8
+ ## MediaBuy Action Assessment Types
9
+
10
+ Use `@adcp/sdk/media-buy/actions` for pure buyer assessment and `@adcp/sdk/server` for `mediaBuyActionResolver`. See [action assessment guide](guides/MEDIA-BUY-ACTION-ASSESSMENT.md).
11
+
12
+ | Type | Use |
13
+ | --- | --- |
14
+ | `MediaBuyTask` | Narrow routing union: `update_media_buy`, `control_media_buy`, `refine_proposals`, `sync_creatives`. |
15
+ | `ActionAvailability` | `available_now` with optional `nonDefaultRoute`, mode and authority; or `currently_unavailable` with reason, certainty and optional compatibility/constraint detail. |
16
+ | `ActionBuy`, `ActionProduct`, `ActionProposal` | Structural inputs for joining current accepted terms with live actions and advisory products. |
17
+ | `LiveMediaBuyAction` | Readable canonical or legacy entry for assessment, projection and existing preflight helpers, including rc.3 package scope. |
18
+ | `MediaBuyAvailableAction`, `MediaBuyValidAction` | Generated legacy wire entry / deprecated flat vocabulary; distinct from canonical helper entries. |
19
+ | `MediaBuyAction`, `MediaBuyActionId` | Action identifiers accepted by assessment / mutation helpers; runtime validation preserves unknown future data. |
20
+ | `ProposalChangeTerm`, `ChangeTermConstraints` | Negotiated term view and portable discriminated budget / flight / package-count / effective-timing constraints. |
21
+
8
22
  ## Client Types
9
23
 
10
24
  ```typescript
@@ -41,12 +55,24 @@ interface TransportOptions {
41
55
  interface TaskOptions {
42
56
  timeout?: number; // Absolute whole-task deadline
43
57
  signal?: AbortSignal; // Caller cancellation
58
+ // Direct A2A mutation route, bound to authenticated principal + account scope.
59
+ durableContinuationRecovery?: { ownerScope: string };
44
60
  // Trusted local receiver policy; snapshotted and persisted with generated
45
61
  // webhook registrations, never inferred from or sent in task arguments.
46
62
  delegatedOperatorAuthorization?: DelegatedOperatorAuthorizationContext;
47
63
  // ...deadline, cancellation, transport, and conversation options...
48
64
  }
49
65
 
66
+ interface DeferredContinuation<T> {
67
+ token: string;
68
+ question?: string;
69
+ resume(input: unknown): Promise<TaskResult<T>>;
70
+ recovery?: { operationId: string; recoveryKey: string }; // Host-only, persist once
71
+ }
72
+
73
+ // AgentClient public direct-mutation route recovery
74
+ agent.recoverDirectPauseContinuation<T>({ operationId, recoveryKey, ownerScope });
75
+
50
76
  interface ValidateAdAgentsOptions {
51
77
  timeoutMs?: number; // Per-request ceiling
52
78
  signal?: AbortSignal; // One signal/deadline across the complete discovery flow
@@ -2799,6 +2825,14 @@ interface ReportingSourceStagedObjectReaderV1 {
2799
2825
  type ReportingSourceExecutorResultV1 =
2800
2826
  | { ok: true; response: ReportingSourceExecutionResponseV1; manifestBytes: Uint8Array }
2801
2827
  | { ok: false; error: ReportingSourceErrorV1 };
2828
+ type InlineReportingMetricEvidenceV1 =
2829
+ | { constituent_id: string; metric: string; status: 'present' | 'explicit_zero'; data_through: string }
2830
+ | { constituent_id: string; metric: string; status: 'unsupported' | 'delayed' | 'partial' | 'stale' | 'missing'; reason: string; data_through?: string };
2831
+ interface InlineReportingAvailabilityEvidenceV1 {
2832
+ version: '1.0';
2833
+ cells: readonly InlineReportingMetricEvidenceV1[];
2834
+ }
2835
+ // Inline callback requests include constituents: { constituent_id, media_buy_id }[]; evidence-bearing responses add availability_evidence.
2802
2836
  // validateReportingSourceExecutionV1({ level, capabilities, request, result, objectReader })
2803
2837
  // runReportingSourceReplayConformanceV1({ level, executor, request, objectReader })
2804
2838
  // validateReportingRevisionSequenceV1(manifests, { crossFinalityBridge })
@@ -2809,11 +2843,41 @@ type ReportingSourceExecutorResultV1 =
2809
2843
 
2810
2844
  ## Seller Reporting Ledger
2811
2845
 
2812
- Import from `@adcp/sdk/reporting/ledger`.
2846
+ Ledger symbols import from `@adcp/sdk/reporting/ledger`; `createPostgresPersistentNotificationRuntime` is a server symbol and imports from `@adcp/sdk/server`.
2813
2847
 
2814
2848
  ```typescript
2815
- const store = new PostgresReportingLedgerStore(pool, { acknowledgeIsolatedDatabase: true });
2849
+ // Build the notification path first: the store must be constructed with the
2850
+ // activity port, or lifecycle transitions record no activity and notify nobody.
2851
+ const attemptCheckpoint = createPostgresReportingNotificationAttemptCheckpoint({
2852
+ db: pool,
2853
+ namespace: 'seller-production',
2854
+ });
2855
+ const notifications = createPostgresPersistentNotificationRuntime({
2856
+ db: pool,
2857
+ publisherScope: 'seller-production',
2858
+ checkpointDeliveryAttempt: attemptCheckpoint,
2859
+ subscriptions: { acknowledgeIsolatedDatabase: true },
2860
+ ...notificationOptions,
2861
+ });
2862
+ const reportingActivity = createPostgresReportingNotificationActivityRuntime({
2863
+ db: pool,
2864
+ notifications,
2865
+ namespace: 'seller-production',
2866
+ attemptCheckpoint,
2867
+ tenantScopeForAccount: accountId => trustedTenantDirectory.tenantFor(accountId),
2868
+ });
2869
+
2870
+ // One store, wired to the activity port, used by every participant below.
2871
+ const store = new PostgresReportingLedgerStore(pool, {
2872
+ acknowledgeIsolatedDatabase: true,
2873
+ notificationActivityPort: reportingActivity.port,
2874
+ });
2875
+
2876
+ // Every migration this wiring needs, before probing.
2816
2877
  await pool.query(REPORTING_LEDGER_MIGRATION);
2878
+ for (const sql of notifications.migrations.all) await pool.query(sql);
2879
+ for (const sql of reportingActivity.migrations.all) await pool.query(sql);
2880
+
2817
2881
  const producer = createReportingProducer({ store, source, offerings, contact });
2818
2882
  await producer.planObligations();
2819
2883
  await producer.runWorker();
@@ -2824,10 +2888,60 @@ const getMediaBuyDelivery = createReportingDeliveryHandler(store); // exact repo
2824
2888
  const syncReportingStatus = createSyncReportingStatusHandler(store, {
2825
2889
  resolveConsumerId: context => context.agent.agent_url,
2826
2890
  });
2891
+
2892
+ await reportingActivity.probe();
2893
+ // Run repeatedly from a durable scheduler; this call is bounded.
2894
+ await reportingActivity.recoverOnce({ ownerToken: stableWorkerId });
2895
+ const activityPage = await reportingActivity.listActivity({
2896
+ tenantId: trustedTenant,
2897
+ accountId: resolvedAccountId,
2898
+ limit: 100,
2899
+ });
2827
2900
  ```
2828
2901
 
2829
2902
  The store freezes configuration lineage and period-end denominators, retains immutable RFC 8785 JCS/SHA-256-bound revisions, atomically fences lifecycle projections against their revision evidence, and provides leased production plus snapshot-stable status pagination. `projectReportingObligationHealthV1` implements waiting, healthy, delayed, action_required, and complete without I/O.
2830
2903
 
2904
+ `ReportingLedgerNotificationActivityPortV1<TTransaction>` is the custom-store seam. Invoke it inside the authoritative transition transaction and fence both predecessor health and finality. The bundled PostgreSQL runtime persists exactly-once intent plus paginatable account activity, then projects health changes through `PersistentNotificationRuntime`; finality-only changes remain internal activity. It never owns subscriber credentials or sends webhooks itself. `listActivity()` is adopter-facing only because no public AdCP account-activity read task exists.
2905
+
2906
+ ## Reliable Reporting Service
2907
+
2908
+ Import from `@adcp/sdk/reporting/service`. This is the adapter-first lifecycle owner over the source and ledger primitives; it does not introduce another store or transport.
2909
+
2910
+ ```typescript
2911
+ interface ReliableReportingAdapterV1 {
2912
+ readonly sourceOffering: ReportingSourceOfferingV1;
2913
+ readonly deliveryOffering: ReportingDeliveryOffering;
2914
+ // Exactly one of fetchSlice or executor.
2915
+ readonly fetchSlice?: InlineReportingDeliveryFetchV1;
2916
+ readonly executor?: ReportingSourceWithReaderV1;
2917
+ // Opt-in bounded replay window for the inline executor; never applied
2918
+ // silently. A feed that outlives its replay ceiling needs this or a
2919
+ // durable executor.
2920
+ readonly inlineReplayRetention?: InlineReportingReplayRetentionV1;
2921
+ }
2922
+
2923
+ const reporting = createReliableReportingService({
2924
+ store,
2925
+ adapters,
2926
+ contact,
2927
+ automatedRecoveryWindowSeconds,
2928
+ statusRetentionDays, // enforce this commitment in the ledger database
2929
+ resolveSource: account => ({ adapterId, sourceScope, sourceTimezone }),
2930
+ resolveCurrency: account => currency,
2931
+ resolveCoverage: account => ({ constituents }), // authorized media-buy/package denominator
2932
+ resolveConsumerId, // optional; controls consumer-status handler/capability
2933
+ });
2934
+
2935
+ await pool.query(reporting.setup.migrations[0]);
2936
+ const installedPlatform = reporting.install(platform);
2937
+ await reporting.installConfiguration(configuration, { account: ctx.account });
2938
+ await reporting.runCycle({ accountId }); // tenant-partitioned
2939
+ reporting.start({ intervalMilliseconds, deploymentWide: true }); // explicit full-ledger scan
2940
+ await reporting.stop();
2941
+ ```
2942
+
2943
+ Account identity comes only from the framework-resolved context. Trusted host callbacks derive adapter routing, credential-free `sourceScope`, source timezone, currency, and the authorized constituent denominator. A declaration cannot supply `account`, `sourceScope`, `sourceTimezone`, `contract`, `currency`, `constituents`, or `mediaBuyIds`; `mediaBuyIds` is derived from `resolveCoverage`, so a buyer cannot name another buyer's media buys on a shared upstream network. Currency is frozen into configuration and obligation lineage. Capabilities are Core-only and derived from installed adapters and handlers; managed delivery, reconciled billing, receipts, webhook activity, and notifications are not advertised. Installation requires `platform.accounts.upsert`, which owns the advertised `sync_accounts` configuration path.
2944
+
2831
2945
  ## Key Enums
2832
2946
 
2833
2947
  | Enum | Values |