@adcp/sdk 14.0.0-rc.38 → 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 (600) 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/evidence.d.mts +1 -0
  79. package/dist/lib/reporting/evidence.d.ts +1 -0
  80. package/dist/lib/reporting/evidence.js +32 -3
  81. package/dist/lib/reporting/evidence.mjs +31 -3
  82. package/dist/lib/reporting/ledger/handler.d.mts +51 -1
  83. package/dist/lib/reporting/ledger/handler.d.ts +51 -1
  84. package/dist/lib/reporting/ledger/handler.js +306 -38
  85. package/dist/lib/reporting/ledger/handler.mjs +304 -37
  86. package/dist/lib/reporting/ledger/health.d.mts +12 -0
  87. package/dist/lib/reporting/ledger/health.d.ts +12 -0
  88. package/dist/lib/reporting/ledger/health.js +15 -2
  89. package/dist/lib/reporting/ledger/health.mjs +13 -1
  90. package/dist/lib/reporting/ledger/index.d.mts +3 -0
  91. package/dist/lib/reporting/ledger/index.d.ts +3 -0
  92. package/dist/lib/reporting/ledger/index.js +7 -1
  93. package/dist/lib/reporting/ledger/index.mjs +3 -0
  94. package/dist/lib/reporting/ledger/lifecycle.d.mts +31 -4
  95. package/dist/lib/reporting/ledger/lifecycle.d.ts +31 -4
  96. package/dist/lib/reporting/ledger/lifecycle.js +244 -37
  97. package/dist/lib/reporting/ledger/lifecycle.mjs +244 -37
  98. package/dist/lib/reporting/ledger/managed-postgres.d.mts +231 -0
  99. package/dist/lib/reporting/ledger/managed-postgres.d.ts +231 -0
  100. package/dist/lib/reporting/ledger/managed-postgres.js +1797 -0
  101. package/dist/lib/reporting/ledger/managed-postgres.mjs +1776 -0
  102. package/dist/lib/reporting/ledger/managed.d.mts +355 -0
  103. package/dist/lib/reporting/ledger/managed.d.ts +355 -0
  104. package/dist/lib/reporting/ledger/managed.js +661 -0
  105. package/dist/lib/reporting/ledger/managed.mjs +633 -0
  106. package/dist/lib/reporting/ledger/notification-activity.d.mts +222 -0
  107. package/dist/lib/reporting/ledger/notification-activity.d.ts +222 -0
  108. package/dist/lib/reporting/ledger/notification-activity.js +1139 -0
  109. package/dist/lib/reporting/ledger/notification-activity.mjs +1110 -0
  110. package/dist/lib/reporting/ledger/postgres.d.mts +161 -1
  111. package/dist/lib/reporting/ledger/postgres.d.ts +161 -1
  112. package/dist/lib/reporting/ledger/postgres.js +1153 -21
  113. package/dist/lib/reporting/ledger/postgres.mjs +1152 -21
  114. package/dist/lib/reporting/ledger/producer.d.mts +8 -0
  115. package/dist/lib/reporting/ledger/producer.d.ts +8 -0
  116. package/dist/lib/reporting/ledger/producer.js +146 -52
  117. package/dist/lib/reporting/ledger/producer.mjs +146 -51
  118. package/dist/lib/reporting/ledger/types.d.mts +358 -1
  119. package/dist/lib/reporting/ledger/types.d.ts +358 -1
  120. package/dist/lib/reporting/ledger/types.js +3 -0
  121. package/dist/lib/reporting/ledger/types.mjs +2 -0
  122. package/dist/lib/reporting/service/conformance.d.mts +35 -0
  123. package/dist/lib/reporting/service/conformance.d.ts +35 -0
  124. package/dist/lib/reporting/service/conformance.js +89 -0
  125. package/dist/lib/reporting/service/conformance.mjs +68 -0
  126. package/dist/lib/reporting/service/index.d.mts +182 -0
  127. package/dist/lib/reporting/service/index.d.ts +182 -0
  128. package/dist/lib/reporting/service/index.js +793 -0
  129. package/dist/lib/reporting/service/index.mjs +787 -0
  130. package/dist/lib/reporting/source/index.d.mts +2 -1
  131. package/dist/lib/reporting/source/index.d.ts +2 -1
  132. package/dist/lib/reporting/source/index.js +16 -3
  133. package/dist/lib/reporting/source/index.mjs +12 -1
  134. package/dist/lib/reporting/source/inline.d.mts +88 -1
  135. package/dist/lib/reporting/source/inline.d.ts +88 -1
  136. package/dist/lib/reporting/source/inline.js +1161 -163
  137. package/dist/lib/reporting/source/inline.mjs +1166 -163
  138. package/dist/lib/reporting/source/manifest.js +12 -7
  139. package/dist/lib/reporting/source/manifest.mjs +12 -7
  140. package/dist/lib/reporting/source/source.d.mts +26 -0
  141. package/dist/lib/reporting/source/source.d.ts +26 -0
  142. package/dist/lib/reporting/source/source.js +71 -2
  143. package/dist/lib/reporting/source/source.mjs +65 -1
  144. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  145. package/dist/lib/server/create-adcp-server.d.mts +18 -0
  146. package/dist/lib/server/create-adcp-server.d.ts +18 -0
  147. package/dist/lib/server/create-adcp-server.js +52 -2
  148. package/dist/lib/server/create-adcp-server.mjs +52 -2
  149. package/dist/lib/server/decisioning/account.d.mts +1 -1
  150. package/dist/lib/server/decisioning/account.d.ts +1 -1
  151. package/dist/lib/server/decisioning/index.d.mts +1 -0
  152. package/dist/lib/server/decisioning/index.d.ts +1 -0
  153. package/dist/lib/server/decisioning/platform.d.mts +3 -0
  154. package/dist/lib/server/decisioning/platform.d.ts +3 -0
  155. package/dist/lib/server/decisioning/runtime/from-platform.js +88 -10
  156. package/dist/lib/server/decisioning/runtime/from-platform.mjs +88 -10
  157. package/dist/lib/server/decisioning/specialisms/reporting.d.mts +38 -0
  158. package/dist/lib/server/decisioning/specialisms/reporting.d.ts +38 -0
  159. package/dist/lib/{types/v3-1-beta/index.js → server/decisioning/specialisms/reporting.js} +2 -8
  160. package/dist/lib/server/decisioning/specialisms/reporting.mjs +0 -0
  161. package/dist/lib/server/index.d.mts +4 -2
  162. package/dist/lib/server/index.d.ts +4 -2
  163. package/dist/lib/server/index.js +5 -0
  164. package/dist/lib/server/index.mjs +4 -0
  165. package/dist/lib/server/media-buy-action-resolver.d.mts +63 -0
  166. package/dist/lib/server/media-buy-action-resolver.d.ts +63 -0
  167. package/dist/lib/server/media-buy-action-resolver.js +297 -0
  168. package/dist/lib/server/media-buy-action-resolver.mjs +285 -0
  169. package/dist/lib/server/media-buy-actions.d.mts +7 -8
  170. package/dist/lib/server/media-buy-actions.d.ts +7 -8
  171. package/dist/lib/server/media-buy-actions.js +57 -14
  172. package/dist/lib/server/media-buy-actions.mjs +63 -14
  173. package/dist/lib/server/notification-subscriptions/index.d.mts +2 -2
  174. package/dist/lib/server/notification-subscriptions/index.d.ts +2 -2
  175. package/dist/lib/server/notification-subscriptions/index.js +2 -0
  176. package/dist/lib/server/notification-subscriptions/index.mjs +2 -0
  177. package/dist/lib/server/notification-subscriptions/postgres-runtime.d.mts +3 -1
  178. package/dist/lib/server/notification-subscriptions/postgres-runtime.d.ts +3 -1
  179. package/dist/lib/server/notification-subscriptions/postgres-runtime.js +1 -0
  180. package/dist/lib/server/notification-subscriptions/postgres-runtime.mjs +1 -0
  181. package/dist/lib/server/notification-subscriptions/runtime.d.mts +12 -1
  182. package/dist/lib/server/notification-subscriptions/runtime.d.ts +12 -1
  183. package/dist/lib/server/notification-subscriptions/runtime.js +102 -16
  184. package/dist/lib/server/notification-subscriptions/runtime.mjs +101 -16
  185. package/dist/lib/server/notification-subscriptions/types.d.mts +104 -1
  186. package/dist/lib/server/notification-subscriptions/types.d.ts +104 -1
  187. package/dist/lib/server/webhook-emitter.d.mts +40 -5
  188. package/dist/lib/server/webhook-emitter.d.ts +40 -5
  189. package/dist/lib/server/webhook-emitter.js +23 -12
  190. package/dist/lib/server/webhook-emitter.mjs +23 -12
  191. package/dist/lib/storage/interfaces.d.mts +14 -2
  192. package/dist/lib/storage/interfaces.d.ts +14 -2
  193. package/dist/lib/testing/compliance/comply.d.mts +9 -3
  194. package/dist/lib/testing/compliance/comply.d.ts +9 -3
  195. package/dist/lib/testing/compliance/comply.js +158 -3
  196. package/dist/lib/testing/compliance/comply.mjs +159 -4
  197. package/dist/lib/testing/compliance/storyboard-tracks.js +7 -5
  198. package/dist/lib/testing/compliance/storyboard-tracks.mjs +7 -5
  199. package/dist/lib/testing/compliance/summary.js +10 -1
  200. package/dist/lib/testing/compliance/summary.mjs +10 -1
  201. package/dist/lib/testing/index.d.mts +1 -1
  202. package/dist/lib/testing/index.d.ts +1 -1
  203. package/dist/lib/testing/index.js +2 -0
  204. package/dist/lib/testing/index.mjs +3 -1
  205. package/dist/lib/testing/storyboard/agent-routing.d.mts +12 -43
  206. package/dist/lib/testing/storyboard/agent-routing.d.ts +12 -43
  207. package/dist/lib/testing/storyboard/agent-routing.js +75 -13
  208. package/dist/lib/testing/storyboard/agent-routing.mjs +70 -12
  209. package/dist/lib/testing/storyboard/index.d.mts +1 -0
  210. package/dist/lib/testing/storyboard/index.d.ts +1 -0
  211. package/dist/lib/testing/storyboard/index.js +3 -0
  212. package/dist/lib/testing/storyboard/index.mjs +2 -0
  213. package/dist/lib/testing/storyboard/junit.d.mts +1 -1
  214. package/dist/lib/testing/storyboard/junit.d.ts +1 -1
  215. package/dist/lib/testing/storyboard/junit.js +21 -2
  216. package/dist/lib/testing/storyboard/junit.mjs +21 -2
  217. package/dist/lib/testing/storyboard/probes.d.mts +130 -0
  218. package/dist/lib/testing/storyboard/probes.d.ts +130 -0
  219. package/dist/lib/testing/storyboard/probes.js +682 -10
  220. package/dist/lib/testing/storyboard/probes.mjs +683 -3
  221. package/dist/lib/testing/storyboard/request-signing/builder.d.mts +16 -5
  222. package/dist/lib/testing/storyboard/request-signing/builder.d.ts +16 -5
  223. package/dist/lib/testing/storyboard/request-signing/grader.d.mts +44 -1
  224. package/dist/lib/testing/storyboard/request-signing/grader.d.ts +44 -1
  225. package/dist/lib/testing/storyboard/request-signing/grader.js +46 -22
  226. package/dist/lib/testing/storyboard/request-signing/grader.mjs +43 -21
  227. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.mts +86 -11
  228. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.ts +86 -11
  229. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.js +119 -25
  230. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.mjs +117 -26
  231. package/dist/lib/testing/storyboard/request-signing/synthesize.js +22 -2
  232. package/dist/lib/testing/storyboard/request-signing/synthesize.mjs +22 -2
  233. package/dist/lib/testing/storyboard/runner.d.mts +103 -0
  234. package/dist/lib/testing/storyboard/runner.d.ts +103 -0
  235. package/dist/lib/testing/storyboard/runner.js +1090 -268
  236. package/dist/lib/testing/storyboard/runner.mjs +1096 -261
  237. package/dist/lib/testing/storyboard/seeding.d.mts +4 -1
  238. package/dist/lib/testing/storyboard/seeding.d.ts +4 -1
  239. package/dist/lib/testing/storyboard/seeding.js +55 -24
  240. package/dist/lib/testing/storyboard/seeding.mjs +55 -24
  241. package/dist/lib/testing/storyboard/test-kit.d.mts +37 -3
  242. package/dist/lib/testing/storyboard/test-kit.d.ts +37 -3
  243. package/dist/lib/testing/storyboard/test-kit.js +8 -2
  244. package/dist/lib/testing/storyboard/test-kit.mjs +7 -2
  245. package/dist/lib/testing/storyboard/types.d.mts +132 -10
  246. package/dist/lib/testing/storyboard/types.d.ts +132 -10
  247. package/dist/lib/testing/storyboard/types.js +17 -0
  248. package/dist/lib/testing/storyboard/types.mjs +16 -0
  249. package/dist/lib/testing/storyboard/validations.d.mts +1 -1
  250. package/dist/lib/testing/storyboard/validations.d.ts +1 -1
  251. package/dist/lib/testing/storyboard/validations.js +16 -0
  252. package/dist/lib/testing/storyboard/validations.mjs +16 -0
  253. package/dist/lib/testing/test-controller.d.mts +1 -1
  254. package/dist/lib/testing/test-controller.d.ts +1 -1
  255. package/dist/lib/types/buy-products.d.ts +71 -6
  256. package/dist/lib/types/control-media-buy.d.ts +25 -11
  257. package/dist/lib/types/core.generated.d.mts +69 -10
  258. package/dist/lib/types/core.generated.d.ts +69 -10
  259. package/dist/lib/types/create-media-buy.d.ts +71 -6
  260. package/dist/lib/types/forward-compat-error-codes.d.mts +7 -6
  261. package/dist/lib/types/forward-compat-error-codes.d.ts +7 -6
  262. package/dist/lib/types/index.d.mts +2 -2
  263. package/dist/lib/types/index.d.ts +2 -2
  264. package/dist/lib/types/schemas.generated.d.ts +8040 -8116
  265. package/dist/lib/types/schemas.generated.js +1074 -309
  266. package/dist/lib/types/schemas.generated.mjs +1068 -309
  267. package/dist/lib/types/tools.generated.d.mts +65 -6
  268. package/dist/lib/types/tools.generated.d.ts +65 -6
  269. package/dist/lib/types/update-media-buy.d.ts +71 -6
  270. package/dist/lib/utils/redact-secrets.d.mts +1 -1
  271. package/dist/lib/utils/redact-secrets.d.ts +1 -1
  272. package/dist/lib/utils/redact-secrets.js +1 -1
  273. package/dist/lib/utils/redact-secrets.mjs +1 -1
  274. package/dist/lib/v2/projection/cache-versions.d.mts +0 -1
  275. package/dist/lib/v2/projection/cache-versions.d.ts +0 -1
  276. package/dist/lib/v2/projection/cache-versions.js +1 -15
  277. package/dist/lib/v2/projection/cache-versions.mjs +1 -14
  278. package/dist/lib/v2/projection/canonical-properties.js +2 -2
  279. package/dist/lib/v2/projection/canonical-properties.mjs +3 -3
  280. package/dist/lib/v2/projection/registry.d.mts +1 -1
  281. package/dist/lib/v2/projection/registry.d.ts +1 -1
  282. package/dist/lib/v2/projection/registry.js +2 -2
  283. package/dist/lib/v2/projection/registry.mjs +3 -3
  284. package/dist/lib/version.d.mts +5 -5
  285. package/dist/lib/version.d.ts +5 -5
  286. package/dist/lib/version.js +3 -8
  287. package/dist/lib/version.mjs +3 -8
  288. package/dist/lib/wholesale-feed-sync/index.d.mts +1 -0
  289. package/dist/lib/wholesale-feed-sync/index.d.ts +1 -0
  290. package/dist/lib/wholesale-feed-sync/protocol-types.d.mts +42 -0
  291. package/dist/lib/wholesale-feed-sync/protocol-types.d.ts +42 -0
  292. package/dist/lib/wholesale-feed-sync/protocol-types.js +16 -0
  293. package/dist/lib/wholesale-feed-sync/protocol-types.mjs +0 -0
  294. package/dist/lib/wholesale-feed-sync/sync.d.mts +6 -6
  295. package/dist/lib/wholesale-feed-sync/sync.d.ts +6 -6
  296. package/dist/lib/wholesale-feed-sync/sync.js +3 -1
  297. package/dist/lib/wholesale-feed-sync/sync.mjs +3 -1
  298. package/dist/lib/wholesale-feed-sync/types.d.mts +15 -14
  299. package/dist/lib/wholesale-feed-sync/types.d.ts +15 -14
  300. package/dist/lib/wholesale-feed-sync/webhook-notification.d.mts +7 -5
  301. package/dist/lib/wholesale-feed-sync/webhook-notification.d.ts +7 -5
  302. package/dist/lib/wholesale-feed-sync/webhook-notification.js +45 -0
  303. package/dist/lib/wholesale-feed-sync/webhook-notification.mjs +44 -0
  304. package/docs/CLI.md +1 -1
  305. package/docs/TYPE-SUMMARY.md +118 -4
  306. package/docs/guides/ASYNC-API-REFERENCE.md +62 -1
  307. package/docs/guides/ASYNC-DEVELOPER-GUIDE.md +25 -0
  308. package/docs/guides/ASYNC-DOCUMENTATION-INDEX.md +3 -0
  309. package/docs/guides/BUYER-QUICKSTART-3.2.md +5 -0
  310. package/docs/guides/DURABLE-BUYER-WRITES.md +337 -0
  311. package/docs/guides/EXISTING-PLATFORM.md +35 -0
  312. package/docs/guides/MEDIA-BUY-3.2-COMPATIBILITY.md +7 -3
  313. package/docs/guides/MEDIA-BUY-ACTION-ASSESSMENT.md +300 -0
  314. package/docs/guides/REPORTING-LEDGER.md +654 -3
  315. package/docs/guides/REPORTING-SOURCE-EXECUTOR.md +63 -1
  316. package/docs/guides/SELLER-QUICKSTART-3.2.md +2 -0
  317. package/docs/guides/VALIDATE-YOUR-AGENT.md +35 -0
  318. package/docs/guides/idempotency-crash-recovery.md +4 -0
  319. package/docs/llms.txt +4 -2
  320. package/docs/migration-14.x-rc-worksheet.md +5 -5
  321. package/docs/migration-7.9-to-7.10.md +7 -5
  322. package/examples/README.md +17 -0
  323. package/examples/durable-buyer-writes/caller.ts +745 -0
  324. package/examples/durable-buyer-writes/worker.ts +240 -0
  325. package/examples/reliable-reporting-service/README.md +100 -0
  326. package/examples/seller-3.2-starter.ts +7 -8
  327. package/examples/targeting-input-existing-platform.ts +153 -0
  328. package/package.json +41 -29
  329. package/skills/build-seller-agent/specialisms/signed-requests.md +11 -1
  330. package/skills/cross-cutting.md +28 -11
  331. package/compliance/cache/3.1.0-beta.7/domains/brand/index.yaml +0 -160
  332. package/compliance/cache/3.1.0-beta.7/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -415
  333. package/compliance/cache/3.1.0-beta.7/domains/brand/scenarios/single_side_trust_extension.yaml +0 -454
  334. package/compliance/cache/3.1.0-beta.7/domains/creative/index.yaml +0 -339
  335. package/compliance/cache/3.1.0-beta.7/domains/creative/scenarios/billing_out_of_band.yaml +0 -153
  336. package/compliance/cache/3.1.0-beta.7/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -389
  337. package/compliance/cache/3.1.0-beta.7/domains/creative/scenarios/native_in_feed.yaml +0 -543
  338. package/compliance/cache/3.1.0-beta.7/domains/governance/index.yaml +0 -682
  339. package/compliance/cache/3.1.0-beta.7/domains/media-buy/index.yaml +0 -781
  340. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -380
  341. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/available_actions.yaml +0 -565
  342. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -354
  343. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/canonical_formats.yaml +0 -711
  344. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -264
  345. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -344
  346. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -234
  347. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -419
  348. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/creative_reception.yaml +0 -247
  349. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/delivery_reporting.yaml +0 -357
  350. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/dependency_impairment.yaml +0 -633
  351. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -800
  352. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -399
  353. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -309
  354. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_approved.yaml +0 -214
  355. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_conditions.yaml +0 -199
  356. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_denied.yaml +0 -204
  357. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -252
  358. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/invalid_transitions.yaml +0 -289
  359. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -148
  360. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -276
  361. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/measurement_accountability.yaml +0 -244
  362. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -203
  363. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -274
  364. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -500
  365. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -428
  366. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -470
  367. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -373
  368. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/proposal_finalize.yaml +0 -399
  369. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -264
  370. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -257
  371. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -333
  372. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -517
  373. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -294
  374. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -823
  375. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -360
  376. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/refine_products.yaml +0 -148
  377. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -293
  378. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -307
  379. package/compliance/cache/3.1.0-beta.7/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -576
  380. package/compliance/cache/3.1.0-beta.7/domains/media-buy/state-machine.yaml +0 -442
  381. package/compliance/cache/3.1.0-beta.7/domains/signals/index.yaml +0 -266
  382. package/compliance/cache/3.1.0-beta.7/domains/sponsored-intelligence/index.yaml +0 -256
  383. package/compliance/cache/3.1.0-beta.7/index.json +0 -356
  384. package/compliance/cache/3.1.0-beta.7/protocols/brand/index.yaml +0 -160
  385. package/compliance/cache/3.1.0-beta.7/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -415
  386. package/compliance/cache/3.1.0-beta.7/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -454
  387. package/compliance/cache/3.1.0-beta.7/protocols/creative/index.yaml +0 -339
  388. package/compliance/cache/3.1.0-beta.7/protocols/creative/scenarios/billing_out_of_band.yaml +0 -153
  389. package/compliance/cache/3.1.0-beta.7/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -389
  390. package/compliance/cache/3.1.0-beta.7/protocols/creative/scenarios/native_in_feed.yaml +0 -543
  391. package/compliance/cache/3.1.0-beta.7/protocols/governance/index.yaml +0 -682
  392. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/index.yaml +0 -781
  393. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -380
  394. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/available_actions.yaml +0 -565
  395. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -354
  396. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/canonical_formats.yaml +0 -711
  397. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -264
  398. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -344
  399. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -234
  400. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -419
  401. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/creative_reception.yaml +0 -247
  402. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -357
  403. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -633
  404. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -800
  405. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -399
  406. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -309
  407. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_approved.yaml +0 -214
  408. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_conditions.yaml +0 -199
  409. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_denied.yaml +0 -204
  410. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -252
  411. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -289
  412. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -148
  413. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -276
  414. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -244
  415. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -203
  416. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -274
  417. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -500
  418. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -428
  419. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -470
  420. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -373
  421. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -399
  422. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -264
  423. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -257
  424. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -333
  425. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -517
  426. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -294
  427. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -823
  428. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -360
  429. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/refine_products.yaml +0 -148
  430. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -293
  431. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -307
  432. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -576
  433. package/compliance/cache/3.1.0-beta.7/protocols/media-buy/state-machine.yaml +0 -442
  434. package/compliance/cache/3.1.0-beta.7/protocols/signals/index.yaml +0 -266
  435. package/compliance/cache/3.1.0-beta.7/protocols/sponsored-intelligence/index.yaml +0 -256
  436. package/compliance/cache/3.1.0-beta.7/specialisms/audience-sync/index.yaml +0 -313
  437. package/compliance/cache/3.1.0-beta.7/specialisms/brand-rights/index.yaml +0 -350
  438. package/compliance/cache/3.1.0-beta.7/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -226
  439. package/compliance/cache/3.1.0-beta.7/specialisms/collection-lists/index.yaml +0 -359
  440. package/compliance/cache/3.1.0-beta.7/specialisms/content-standards/index.yaml +0 -572
  441. package/compliance/cache/3.1.0-beta.7/specialisms/creative-ad-server/index.yaml +0 -409
  442. package/compliance/cache/3.1.0-beta.7/specialisms/creative-generative/generative-seller.yaml +0 -807
  443. package/compliance/cache/3.1.0-beta.7/specialisms/creative-generative/index.yaml +0 -758
  444. package/compliance/cache/3.1.0-beta.7/specialisms/creative-template/index.yaml +0 -510
  445. package/compliance/cache/3.1.0-beta.7/specialisms/governance-aware-seller/index.yaml +0 -143
  446. package/compliance/cache/3.1.0-beta.7/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -117
  447. package/compliance/cache/3.1.0-beta.7/specialisms/governance-delivery-monitor/index.yaml +0 -441
  448. package/compliance/cache/3.1.0-beta.7/specialisms/governance-spend-authority/denied.yaml +0 -221
  449. package/compliance/cache/3.1.0-beta.7/specialisms/governance-spend-authority/index.yaml +0 -330
  450. package/compliance/cache/3.1.0-beta.7/specialisms/property-lists/index.yaml +0 -482
  451. package/compliance/cache/3.1.0-beta.7/specialisms/sales-broadcast-tv/index.yaml +0 -738
  452. package/compliance/cache/3.1.0-beta.7/specialisms/sales-catalog-driven/index.yaml +0 -840
  453. package/compliance/cache/3.1.0-beta.7/specialisms/sales-guaranteed/index.yaml +0 -601
  454. package/compliance/cache/3.1.0-beta.7/specialisms/sales-non-guaranteed/index.yaml +0 -546
  455. package/compliance/cache/3.1.0-beta.7/specialisms/sales-proposal-mode/index.yaml +0 -586
  456. package/compliance/cache/3.1.0-beta.7/specialisms/sales-social/index.yaml +0 -919
  457. package/compliance/cache/3.1.0-beta.7/specialisms/signal-marketplace/index.yaml +0 -424
  458. package/compliance/cache/3.1.0-beta.7/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -211
  459. package/compliance/cache/3.1.0-beta.7/specialisms/signal-owned/index.yaml +0 -317
  460. package/compliance/cache/3.1.0-beta.7/specialisms/sponsored-intelligence/index.yaml +0 -59
  461. package/compliance/cache/3.1.0-beta.7/test-kits/acme-outdoor-live.yaml +0 -78
  462. package/compliance/cache/3.1.0-beta.7/test-kits/acme-outdoor.yaml +0 -223
  463. package/compliance/cache/3.1.0-beta.7/test-kits/billing-gate-runner.yaml +0 -115
  464. package/compliance/cache/3.1.0-beta.7/test-kits/bistro-oranje.yaml +0 -126
  465. package/compliance/cache/3.1.0-beta.7/test-kits/distributed-brand-runner.yaml +0 -281
  466. package/compliance/cache/3.1.0-beta.7/test-kits/nova-motors.yaml +0 -262
  467. package/compliance/cache/3.1.0-beta.7/test-kits/osei-natural.yaml +0 -126
  468. package/compliance/cache/3.1.0-beta.7/test-kits/parallel-dispatch-runner.yaml +0 -196
  469. package/compliance/cache/3.1.0-beta.7/test-kits/rate-limit-trip-runner.yaml +0 -172
  470. package/compliance/cache/3.1.0-beta.7/test-kits/signed-requests-runner.yaml +0 -155
  471. package/compliance/cache/3.1.0-beta.7/test-kits/single-side-trust-runner.yaml +0 -294
  472. package/compliance/cache/3.1.0-beta.7/test-kits/substitution-observer-runner.yaml +0 -688
  473. package/compliance/cache/3.1.0-beta.7/test-kits/summit-foods.yaml +0 -125
  474. package/compliance/cache/3.1.0-beta.7/test-kits/webhook-receiver-runner.yaml +0 -265
  475. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/001-minimal-plan.json +0 -43
  476. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/002-full-plan.json +0 -217
  477. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -60
  478. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/004a-human-review-omitted.json +0 -43
  479. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -49
  480. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -53
  481. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -57
  482. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -49
  483. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -53
  484. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/007-unicode-objectives.json +0 -43
  485. package/compliance/cache/3.1.0-beta.7/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -65
  486. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/README.md +0 -220
  487. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/canonicalization.json +0 -241
  488. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/keys.json +0 -60
  489. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/001-no-signature-header.json +0 -24
  490. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/002-wrong-tag.json +0 -26
  491. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/003-expired-signature.json +0 -26
  492. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/004-window-too-long.json +0 -26
  493. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -26
  494. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -26
  495. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -26
  496. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -26
  497. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -27
  498. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -33
  499. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/011-malformed-header.json +0 -27
  500. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -26
  501. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/013-expires-le-created.json +0 -27
  502. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -27
  503. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/015-signature-invalid.json +0 -28
  504. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -35
  505. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/017-key-revoked.json +0 -38
  506. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -28
  507. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -26
  508. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/020-rate-abuse.json +0 -34
  509. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -31
  510. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -31
  511. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -32
  512. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -31
  513. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -43
  514. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -31
  515. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -25
  516. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -26
  517. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/001-basic-post.json +0 -30
  518. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -31
  519. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/003-es256-post.json +0 -30
  520. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -26
  521. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -30
  522. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -30
  523. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -30
  524. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -30
  525. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -30
  526. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -30
  527. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -30
  528. package/compliance/cache/3.1.0-beta.7/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -30
  529. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/README.md +0 -211
  530. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/keys.json +0 -61
  531. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -26
  532. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -26
  533. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -26
  534. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -26
  535. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -26
  536. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -25
  537. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -26
  538. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -26
  539. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -26
  540. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -26
  541. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -25
  542. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -26
  543. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -26
  544. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -26
  545. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -26
  546. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -37
  547. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -32
  548. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -33
  549. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -32
  550. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -41
  551. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -26
  552. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/001-basic-post.json +0 -24
  553. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/002-es256-post.json +0 -24
  554. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -24
  555. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -24
  556. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -24
  557. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -24
  558. package/compliance/cache/3.1.0-beta.7/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -25
  559. package/compliance/cache/3.1.0-beta.7/universal/billing-gate-dispatch.yaml +0 -450
  560. package/compliance/cache/3.1.0-beta.7/universal/canonical-format-validate-input.yaml +0 -640
  561. package/compliance/cache/3.1.0-beta.7/universal/capability-discovery.yaml +0 -125
  562. package/compliance/cache/3.1.0-beta.7/universal/collection-lists-pagination-integrity.yaml +0 -306
  563. package/compliance/cache/3.1.0-beta.7/universal/comply-controller-mode-gate.yaml +0 -141
  564. package/compliance/cache/3.1.0-beta.7/universal/content-standards-pagination-integrity.yaml +0 -326
  565. package/compliance/cache/3.1.0-beta.7/universal/deterministic-testing.yaml +0 -1430
  566. package/compliance/cache/3.1.0-beta.7/universal/error-compliance-signals.yaml +0 -377
  567. package/compliance/cache/3.1.0-beta.7/universal/error-compliance.yaml +0 -528
  568. package/compliance/cache/3.1.0-beta.7/universal/fictional-entities.yaml +0 -307
  569. package/compliance/cache/3.1.0-beta.7/universal/get-media-buys-pagination-integrity.yaml +0 -160
  570. package/compliance/cache/3.1.0-beta.7/universal/get-signals-pagination-integrity.yaml +0 -211
  571. package/compliance/cache/3.1.0-beta.7/universal/idempotency.yaml +0 -861
  572. package/compliance/cache/3.1.0-beta.7/universal/notification-config-event-scope.yaml +0 -119
  573. package/compliance/cache/3.1.0-beta.7/universal/notification-config-lifecycle.yaml +0 -337
  574. package/compliance/cache/3.1.0-beta.7/universal/notification-config-rejections.yaml +0 -107
  575. package/compliance/cache/3.1.0-beta.7/universal/pagination-integrity-creative-formats.yaml +0 -265
  576. package/compliance/cache/3.1.0-beta.7/universal/pagination-integrity-list-accounts.yaml +0 -245
  577. package/compliance/cache/3.1.0-beta.7/universal/pagination-integrity.yaml +0 -263
  578. package/compliance/cache/3.1.0-beta.7/universal/property-lists-pagination-integrity.yaml +0 -307
  579. package/compliance/cache/3.1.0-beta.7/universal/read-tool-idempotency.yaml +0 -405
  580. package/compliance/cache/3.1.0-beta.7/universal/runner-output-contract.yaml +0 -1266
  581. package/compliance/cache/3.1.0-beta.7/universal/schema-validation-signals.yaml +0 -181
  582. package/compliance/cache/3.1.0-beta.7/universal/schema-validation.yaml +0 -548
  583. package/compliance/cache/3.1.0-beta.7/universal/security.yaml +0 -539
  584. package/compliance/cache/3.1.0-beta.7/universal/signed-requests.yaml +0 -217
  585. package/compliance/cache/3.1.0-beta.7/universal/stale-response-advisory.yaml +0 -295
  586. package/compliance/cache/3.1.0-beta.7/universal/storyboard-schema.yaml +0 -2136
  587. package/compliance/cache/3.1.0-beta.7/universal/v3-envelope-integrity.yaml +0 -117
  588. package/compliance/cache/3.1.0-beta.7/universal/version-negotiation.yaml +0 -130
  589. package/compliance/cache/3.1.0-beta.7/universal/webhook-emission.yaml +0 -411
  590. package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-bulk-webhooks.yaml +0 -82
  591. package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-product-webhooks.yaml +0 -83
  592. package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-products.yaml +0 -151
  593. package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-signal-webhooks.yaml +0 -83
  594. package/compliance/cache/3.1.0-beta.7/universal/wholesale-feed-signals.yaml +0 -149
  595. package/dist/lib/types/v3-1-beta/index.d.mts +0 -1
  596. package/dist/lib/types/v3-1-beta/index.d.ts +0 -1
  597. package/dist/lib/types/v3-1-beta/index.mjs +0 -1
  598. package/dist/lib/types/v3-1-beta/tools.generated.d.mts +0 -26788
  599. package/dist/lib/types/v3-1-beta/tools.generated.d.ts +0 -26788
  600. /package/dist/lib/{types/v3-1-beta/tools.generated.mjs → media-buy/action-types.mjs} +0 -0
@@ -1,807 +0,0 @@
1
- id: creative_generative/seller
2
- version: "1.0.0"
3
- title: "Generative seller agent"
4
- category: creative_generative
5
- summary: "Seller agent that generates creatives from briefs at buy time — no pre-built assets required."
6
- track: media_buy
7
- required_tools:
8
- - sync_governance
9
- - get_products
10
- - create_media_buy
11
- - list_creative_formats
12
- - sync_creatives
13
- - get_media_buy_delivery
14
- requires_scenarios:
15
- - media_buy_seller/refine_products
16
- - media_buy_seller/delivery_reporting
17
- - governance_aware_seller/governance_multi_agent_rejected
18
-
19
- # Cross-step assertion (adcp#2664). status.monotonic rejects resource
20
- # status transitions observed across steps that aren't on the spec
21
- # lifecycle graph — e.g. active → pending_creatives on a media_buy or
22
- # approved → processing on a creative asset.
23
- invariants:
24
- - status.monotonic
25
-
26
- narrative: |
27
- You run a generative sell-side platform — an AI ad network, generative DSP, or any system that
28
- both sells inventory and generates creatives from a brief. The buyer doesn't upload finished
29
- assets. Instead, they describe what they want via a creative brief, point you at a brand.json,
30
- and your platform produces finished creatives ready for delivery.
31
-
32
- This is the media buy seller flow with generative creative capabilities. Your platform handles
33
- the full lifecycle from brief to reporting, but the creative sync step accepts briefs instead
34
- of static assets. Your formats declare what brief inputs they accept, and your platform
35
- generates the creative — potentially asynchronously.
36
-
37
- A programmatic seller with generative capabilities should also support standard IAB formats
38
- (display, video, VAST, etc.) for buyers who bring their own assets. A platform that sells
39
- programmatic inventory but can't accept a pre-built VAST tag or display banner is incoherent.
40
- The generative capability is additive to standard programmatic creative acceptance.
41
-
42
- This storyboard focuses on the generative creative delta. The account setup includes
43
- governance agent registration before the buy flow; proposal refinement works identically
44
- to the base media_buy_seller storyboard.
45
-
46
- context:
47
- governance_agent_url: "https://test-agent.adcontextprotocol.org"
48
-
49
- agent:
50
- interaction_model: media_buy_seller
51
- capabilities:
52
- - sells_media
53
- - accepts_briefs
54
- - supports_generation
55
- - supports_guaranteed
56
- - supports_non_guaranteed
57
- examples:
58
- - "OpenAds"
59
- - "AI ad networks"
60
- - "Generative DSPs"
61
-
62
- caller:
63
- role: buyer_agent
64
- example: "Scope3 (DSP)"
65
-
66
- prerequisites:
67
- description: |
68
- The caller needs a brand identity hosted at the brand's domain (brand.json) or resolvable
69
- via AgenticAdvertising.org. The brand.json provides visual identity — logos, colors, fonts,
70
- tone — that the generative seller uses to produce on-brand creatives. The test kit provides
71
- a sample brand with campaign parameters.
72
- test_kit: "test-kits/acme-outdoor.yaml"
73
- controller_seeding: true
74
-
75
- fixtures:
76
- products:
77
- - product_id: "outdoor_display_q2"
78
- delivery_type: "guaranteed"
79
- channels: ["display"]
80
- format_ids:
81
- - id: "display_300x250"
82
- - product_id: "outdoor_video_q2"
83
- delivery_type: "guaranteed"
84
- channels: ["video"]
85
- format_ids:
86
- - id: "video_15s"
87
- pricing_options:
88
- - product_id: "outdoor_display_q2"
89
- pricing_option_id: "cpm_guaranteed"
90
- pricing_model: "cpm"
91
- currency: "USD"
92
- fixed_price: 12.0
93
- - product_id: "outdoor_video_q2"
94
- pricing_option_id: "cpm_standard"
95
- pricing_model: "cpm"
96
- currency: "USD"
97
- fixed_price: 12.0
98
-
99
- phases:
100
- - id: capability_discovery
101
- title: "Capability discovery"
102
- narrative: |
103
- The buyer calls get_adcp_capabilities to confirm the agent supports media buying before sending briefs or creating buys.
104
-
105
- steps:
106
- - id: get_capabilities
107
- title: "Check agent capabilities"
108
- narrative: |
109
- Verify that the agent declares the expected protocol support before
110
- proceeding with domain-specific operations.
111
- task: get_adcp_capabilities
112
- schema_ref: "protocol/get-adcp-capabilities-request.json"
113
- response_schema_ref: "protocol/get-adcp-capabilities-response.json"
114
- doc_ref: "/protocol/get_adcp_capabilities"
115
- comply_scenario: capability_discovery
116
- stateful: false
117
- expected: |
118
- Return capabilities declaring media_buy in supported_protocols, confirming the agent sells media.
119
- sample_request:
120
- context:
121
- correlation_id: "creative_generative--seller--get_capabilities"
122
- validations:
123
- - check: response_schema
124
- description: "Response matches get-adcp-capabilities-response.json schema"
125
- - check: field_present
126
- path: "supported_protocols"
127
- description: "Agent declares supported protocols"
128
-
129
- - check: field_present
130
- path: "context"
131
- description: "Response echoes back the context object"
132
- - check: field_value
133
- path: "context.correlation_id"
134
- value: "creative_generative--seller--get_capabilities"
135
- description: "Context correlation_id returned unchanged"
136
- - id: account_setup
137
- title: "Account setup"
138
- narrative: |
139
- Before buying anything, the buyer establishes an account relationship with your platform.
140
- This is the same handshake as any media buy seller — the buyer identifies the brand and
141
- operator, and you provision the account.
142
-
143
- steps:
144
- - id: sync_accounts
145
- title: "Establish account relationship"
146
- narrative: |
147
- The buyer registers their brand and operator with your platform. Your platform should
148
- resolve the brand via AgenticAdvertising.org to pull brand identity for creative
149
- generation. If the brand domain doesn't resolve, return an error — don't generate
150
- creatives for unknown brands.
151
- task: sync_accounts
152
- schema_ref: "account/sync-accounts-request.json"
153
- response_schema_ref: "account/sync-accounts-response.json"
154
- doc_ref: "/accounts/tasks/sync_accounts"
155
- stateful: true
156
- expected: |
157
- Return the account with:
158
- - account_id: your platform's identifier for this relationship
159
- - action: created or updated
160
- - status: active (instant approval) or pending_approval (requires human review)
161
- - account_scope: operator, brand, operator_brand, or agent
162
- - setup: URL and message if pending_approval
163
-
164
- sample_request:
165
- accounts:
166
- - brand:
167
- domain: "acmeoutdoor.example"
168
- operator: "pinnacle-agency.example"
169
- billing: "operator"
170
- payment_terms: "net_30"
171
-
172
- idempotency_key: "$generate:uuid_v4#creative_generative_seller_account_setup_sync_accounts"
173
- context:
174
- correlation_id: "creative_generative--seller--sync_accounts"
175
- validations:
176
- - check: response_schema
177
- description: "Response matches sync-accounts-response.json schema"
178
- - check: field_present
179
- path: "accounts[0].account_id"
180
- description: "Account has a platform-assigned ID"
181
- - check: field_present
182
- path: "accounts[0].status"
183
- description: "Account has a status (active or pending_approval)"
184
-
185
- - check: field_present
186
- path: "context"
187
- description: "Response echoes back the context object"
188
- - check: field_value
189
- path: "context.correlation_id"
190
- value: "creative_generative--seller--sync_accounts"
191
- description: "Context correlation_id returned unchanged"
192
- - id: sync_governance
193
- title: "Register governance agent"
194
- narrative: |
195
- The buyer registers the configured governance agent on the account before
196
- creating the media buy with generative creative support.
197
- task: sync_governance
198
- schema_ref: "account/sync-governance-request.json"
199
- response_schema_ref: "account/sync-governance-response.json"
200
- doc_ref: "/accounts/tasks/sync_governance"
201
- stateful: true
202
- expected: |
203
- Acknowledge governance registration for the account:
204
- - status: synced
205
- - governance_agents[0].url echoes the configured governance agent
206
-
207
- sample_request:
208
- accounts:
209
- - account:
210
- brand:
211
- domain: "acmeoutdoor.example"
212
- operator: "pinnacle-agency.example"
213
- governance_agents:
214
- - url: "$context.governance_agent_url"
215
- authentication:
216
- schemes: ["Bearer"]
217
- credentials: "gov-token-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
218
-
219
- idempotency_key: "$generate:uuid_v4#creative_generative_seller_account_setup_sync_governance"
220
- context:
221
- correlation_id: "creative_generative--seller--sync_governance"
222
- validations:
223
- - check: response_schema
224
- description: "Response matches sync-governance-response.json schema"
225
- - check: field_value
226
- path: "accounts[0].status"
227
- value: "synced"
228
- description: "Governance agent is registered on the account"
229
- - check: field_present
230
- path: "context"
231
- description: "Response echoes back the context object"
232
- - check: field_value
233
- path: "context.correlation_id"
234
- value: "creative_generative--seller--sync_governance"
235
- description: "Context correlation_id returned unchanged"
236
- - id: format_discovery
237
- title: "Format discovery"
238
- narrative: |
239
- The buyer discovers what your platform can accept. A generative seller's format catalog
240
- has two parts: generative formats that accept briefs as inputs, and standard IAB formats
241
- that accept pre-built assets.
242
-
243
- Generative formats declare brief asset slots. Standard formats declare image, video, or
244
- HTML asset slots. The buyer uses this to decide whether to send a brief or upload finished
245
- assets for each package.
246
-
247
- A platform selling programmatic inventory should support both. Generative-only is fine for
248
- a pure creative agent, but a seller that takes media buys needs to accept pre-built assets
249
- from buyers who already have creatives.
250
-
251
- steps:
252
- - id: list_formats
253
- title: "Discover creative formats"
254
- narrative: |
255
- The buyer asks what formats your platform supports. Your response should include both
256
- generative formats (accepting brief inputs) and standard IAB formats (accepting image,
257
- video, VAST, etc.).
258
-
259
- A programmatic seller that only returns generative formats means the buyer can never
260
- bring their own assets. If you sell inventory, you should accept pre-built creatives
261
- too — the generative capability is additive.
262
- task: list_creative_formats
263
- schema_ref: "creative/list-creative-formats-request.json"
264
- response_schema_ref: "creative/list-creative-formats-response.json"
265
- doc_ref: "/creative/task-reference/list_creative_formats"
266
- comply_scenario: creative_lifecycle
267
- stateful: false
268
- expected: |
269
- Return your format catalog. It should include:
270
-
271
- Generative formats:
272
- - format_id with your agent_url and a unique id (e.g., "display_300x250_generative")
273
- - Asset slots accepting brief asset types
274
- - Render dimensions for the output
275
- - Description indicating this is a generative format
276
-
277
- Standard formats:
278
- - Standard IAB display formats (300x250, 728x90, etc.)
279
- - Video formats (VAST, pre-roll, etc.) if applicable
280
- - Asset slots accepting image, video, html, etc.
281
-
282
- Both types should be present for a programmatic seller. Buyers who already
283
- have creatives need to be able to upload them directly.
284
-
285
- sample_request:
286
- context:
287
- correlation_id: "creative_generative--seller--list_formats"
288
-
289
- validations:
290
- - check: response_schema
291
- description: "Response matches list-creative-formats-response.json schema"
292
- - check: field_present
293
- path: "formats"
294
- description: "Response contains a formats array"
295
- - check: field_present
296
- path: "formats[0].format_id.agent_url"
297
- description: "Each format has a format_id with agent_url"
298
-
299
- - check: field_present
300
- path: "context"
301
- description: "Response echoes back the context object"
302
- - check: field_value
303
- path: "context.correlation_id"
304
- value: "creative_generative--seller--list_formats"
305
- description: "Context correlation_id returned unchanged"
306
- - id: product_discovery
307
- title: "Product discovery"
308
- narrative: |
309
- The buyer sends a natural-language brief describing what they want to buy. Your platform
310
- interprets the brief against your inventory and returns products with pricing, delivery
311
- forecasts, and creative format requirements.
312
-
313
- Products from a generative seller should reference generative format IDs — telling the
314
- buyer that this product accepts a brief rather than requiring pre-built assets. Products
315
- may also reference standard formats for buyers who prefer to supply their own creatives.
316
-
317
- steps:
318
- - id: get_products_brief
319
- title: "Send a brief"
320
- narrative: |
321
- The buyer describes what they want. Your platform returns products. Each product's
322
- creative_format_ids should reference formats from the catalog — some generative,
323
- some standard. The buyer uses this to decide the creative approach per product.
324
- task: get_products
325
- schema_ref: "media-buy/get-products-request.json"
326
- response_schema_ref: "media-buy/get-products-response.json"
327
- doc_ref: "/media-buy/task-reference/get_products"
328
- comply_scenario: full_sales_flow
329
- stateful: false
330
- expected: |
331
- Return products matching the brief. Each product should include:
332
- - product_id: unique identifier
333
- - name and description
334
- - delivery_type: guaranteed or non_guaranteed
335
- - pricing_models: available pricing options
336
- - forecast: estimated impressions, reach
337
- - creative_format_ids: formats this product accepts (including generative formats)
338
-
339
- sample_request:
340
- buying_mode: "brief"
341
- brief: "Premium display and video inventory on outdoor lifestyle content. Q2 flight, $50K budget. Adults 25-54, US. We want your platform to generate the creatives from our brand brief."
342
- account:
343
- brand:
344
- domain: "acmeoutdoor.example"
345
- operator: "pinnacle-agency.example"
346
-
347
- context:
348
- correlation_id: "creative_generative--seller--get_products_brief"
349
- validations:
350
- - check: response_schema
351
- description: "Response matches get-products-response.json schema"
352
- - check: field_present
353
- path: "products"
354
- description: "Response contains a products array"
355
- - check: field_present
356
- path: "products[0].product_id"
357
- description: "Each product has a product_id"
358
-
359
- - check: field_present
360
- path: "context"
361
- description: "Response echoes back the context object"
362
- - check: field_value
363
- path: "context.correlation_id"
364
- value: "creative_generative--seller--get_products_brief"
365
- description: "Context correlation_id returned unchanged"
366
- - check: field_present
367
- path: "products[0].format_ids"
368
- description: "Products include format_ids for creative requirements"
369
- - check: field_present
370
- path: "products[0].format_ids[0].agent_url"
371
- description: "Format IDs include agent_url — must match this agent's URL"
372
- - check: field_present
373
- path: "products[0].format_ids[0].id"
374
- description: "Format IDs include id — must be accepted back in sync_creatives"
375
- - id: create_buy
376
- title: "Create the media buy"
377
- narrative: |
378
- The buyer commits to specific products with budgets and flight dates. This is the same
379
- create_media_buy flow as any seller — the generative aspect doesn't change the buy
380
- creation. The buy may return pending_creatives status, indicating the buyer needs to
381
- sync creatives (via brief) before the campaign can go live.
382
-
383
- steps:
384
- - id: create_media_buy
385
- title: "Create a media buy"
386
- narrative: |
387
- The buyer commits to products. The response may include pending_creatives status
388
- for packages that require creative sync before activation.
389
- task: create_media_buy
390
- schema_ref: "media-buy/create-media-buy-request.json"
391
- response_schema_ref: "media-buy/create-media-buy-response.json"
392
- doc_ref: "/media-buy/task-reference/create_media_buy"
393
- comply_scenario: create_media_buy
394
- stateful: true
395
- expected: |
396
- Process the media buy request and return one of:
397
- - completed: buy confirmed, packages may be pending_creatives
398
- - working: platform is processing (poll for status)
399
- - submitted: long-running async (approval workflow, IO signing)
400
- - input-required: need more information
401
-
402
- sample_request:
403
- brand:
404
- domain: "acmeoutdoor.example"
405
- account:
406
- brand:
407
- domain: "acmeoutdoor.example"
408
- operator: "pinnacle-agency.example"
409
- start_time: "2026-04-01T00:00:00Z"
410
- end_time: "2026-06-30T23:59:59Z"
411
- packages:
412
- - product_id: "outdoor_display_q2"
413
- budget: 30000
414
- pricing_option_id: "cpm_guaranteed"
415
- - product_id: "outdoor_video_q2"
416
- budget: 20000
417
- pricing_option_id: "cpm_standard"
418
- push_notification_config:
419
- url: "https://buyer.example/webhooks/adcp"
420
- authentication:
421
- schemes:
422
- - "HMAC-SHA256"
423
- credentials: "creative-generative-seller-webhook-secret-token"
424
-
425
- idempotency_key: "$generate:uuid_v4#creative_generative_seller_create_buy_create_media_buy"
426
- context:
427
- correlation_id: "creative_generative--seller--create_media_buy"
428
- context_outputs:
429
- - name: media_buy_id
430
- path: "media_buy_id"
431
- validations:
432
- - check: response_schema
433
- description: "Response matches create-media-buy-response.json schema"
434
-
435
- - check: field_present
436
- path: "context"
437
- description: "Response echoes back the context object"
438
- - check: field_value
439
- path: "context.correlation_id"
440
- value: "creative_generative--seller--create_media_buy"
441
- description: "Context correlation_id returned unchanged"
442
- - id: creative_brief_sync
443
- title: "Creative brief sync"
444
- narrative: |
445
- This is where a generative seller diverges from the standard flow. Instead of the buyer
446
- uploading finished assets, they send a creative brief through sync_creatives. The brief
447
- describes campaign messaging, tone, audience, and compliance requirements. The format_id
448
- points to a generative format that accepts brief asset types.
449
-
450
- Your platform resolves the brand via AgenticAdvertising.org (using the account's brand
451
- domain), pulls brand.json for visual identity, and generates the creative. This may be
452
- synchronous (accepted immediately) or asynchronous (pending_review while generation
453
- completes). The buyer polls or waits for a webhook to know when the creative is ready.
454
-
455
- steps:
456
- - id: sync_creatives_brief
457
- title: "Send creative brief via sync_creatives"
458
- narrative: |
459
- The buyer sends a creative brief through sync_creatives, using a generative format_id
460
- that accepts brief asset types. The account's brand domain tells your platform where
461
- to resolve brand identity for generation.
462
-
463
- Your platform should actually read the operator and brand from the request — not
464
- ignore them. If the brand domain is invalid or unresolvable, return a rejection
465
- with a clear error rather than generating with defaults.
466
- task: sync_creatives
467
- schema_ref: "creative/sync-creatives-request.json"
468
- response_schema_ref: "creative/sync-creatives-response.json"
469
- doc_ref: "/creative/task-reference/sync_creatives"
470
- comply_scenario: creative_sync
471
- stateful: true
472
- expected: |
473
- Accept the creative brief and begin generation:
474
- - Per-creative action: created
475
- - Per-creative status: pending_review (generation in progress) or accepted (instant)
476
- - The brand domain from the account should be resolved via AgenticAdvertising.org
477
- - If the brand domain is invalid, reject with a clear error
478
- - If the brief references a non-generative format, reject with format mismatch error
479
-
480
- sample_request:
481
- account:
482
- brand:
483
- domain: "acmeoutdoor.example"
484
- operator: "pinnacle-agency.example"
485
- creatives:
486
- - creative_id: "gen_display_summer_sale"
487
- name: "Summer Sale - Generated Display 300x250"
488
- format_id:
489
- agent_url: "https://your-platform.example.com"
490
- id: "display_300x250_generative"
491
- assets:
492
- brief:
493
- asset_type: "brief"
494
- name: "Acme Outdoor Summer Sale Q2"
495
- objective: "conversion"
496
- tone: "Bold, adventurous, urgent"
497
- audience: "Active adults 25-54, outdoor enthusiasts"
498
- territory: "Summer gear clearance"
499
- messaging:
500
- headline: "Summer Sale — 40% Off All Gear"
501
- tagline: "Gear up for less"
502
- cta: "Shop Now"
503
- key_messages:
504
- - "40% off all trail running and hiking gear"
505
- - "Free shipping on orders over $75"
506
- compliance:
507
- required_disclosures:
508
- - text: "Sale ends June 30, 2026. Exclusions apply."
509
- position: "footer"
510
- jurisdictions: ["US"]
511
- prohibited_claims:
512
- - "Best price guaranteed"
513
- - creative_id: "gen_video_summer_sale"
514
- name: "Summer Sale - Generated Video 30s"
515
- format_id:
516
- agent_url: "https://your-platform.example.com"
517
- id: "video_30s_generative"
518
- assets:
519
- brief:
520
- asset_type: "brief"
521
- name: "Acme Outdoor Summer Sale Q2 - Video"
522
- objective: "awareness"
523
- tone: "Cinematic, energetic"
524
- audience: "Active adults 25-54"
525
- territory: "Summer adventure"
526
- messaging:
527
- headline: "Your Next Adventure Starts Here"
528
- tagline: "Acme Outdoor — Gear up for less"
529
- cta: "Shop the Sale"
530
- key_messages:
531
- - "40% off all gear this summer"
532
- compliance:
533
- required_disclosures:
534
- - text: "Sale ends June 30, 2026. Exclusions apply."
535
- position: "audio"
536
- jurisdictions: ["US"]
537
- assignments:
538
- - creative_id: "gen_display_summer_sale"
539
- package_id: "outdoor_display_q2"
540
- - creative_id: "gen_video_summer_sale"
541
- package_id: "outdoor_video_q2"
542
-
543
- idempotency_key: "$generate:uuid_v4#creative_generative_seller_creative_brief_sync_sync_creatives_brief"
544
- context:
545
- correlation_id: "creative_generative--seller--sync_creatives_brief"
546
- validations:
547
- - check: response_schema
548
- description: "Response matches sync-creatives-response.json schema"
549
- - check: field_present
550
- path: "creatives[0].action"
551
- description: "Each creative has an action (created/updated)"
552
- - check: field_present
553
- path: "creatives[0].action"
554
- description: "Each creative has a status (pending_review or accepted)"
555
-
556
- - check: field_present
557
- path: "context"
558
- description: "Response echoes back the context object"
559
- - check: field_value
560
- path: "context.correlation_id"
561
- value: "creative_generative--seller--sync_creatives_brief"
562
- description: "Context correlation_id returned unchanged"
563
- - id: sync_creatives_standard
564
- title: "Sync standard creatives alongside generative"
565
- narrative: |
566
- The buyer sends a pre-built creative using a standard format — verifying that this
567
- programmatic seller also accepts traditional asset uploads alongside generative briefs.
568
- task: sync_creatives
569
- schema_ref: "creative/sync-creatives-request.json"
570
- response_schema_ref: "creative/sync-creatives-response.json"
571
- doc_ref: "/creative/task-reference/sync_creatives"
572
- comply_scenario: creative_sync
573
- stateful: true
574
- expected: |
575
- Accept the standard creative:
576
- - Per-creative action: created
577
- - Per-creative status: accepted or pending_review
578
- - Standard asset validation (dimensions, file size, mime type)
579
-
580
- sample_request:
581
- account:
582
- brand:
583
- domain: "acmeoutdoor.example"
584
- operator: "pinnacle-agency.example"
585
- creatives:
586
- - creative_id: "static_display_300x250"
587
- name: "Trail Pro 3000 - Pre-built Display 300x250"
588
- format_id:
589
- agent_url: "https://your-platform.example.com"
590
- id: "display_300x250"
591
- assets:
592
- image:
593
- asset_type: "image"
594
- url: "https://cdn.pinnacle-agency.example/trail-pro-300x250.png"
595
- format: "png"
596
- width: 300
597
- height: 250
598
-
599
- idempotency_key: "$generate:uuid_v4#creative_generative_seller_creative_brief_sync_sync_creatives_standard"
600
- context:
601
- correlation_id: "creative_generative--seller--sync_creatives_standard"
602
- validations:
603
- - check: response_schema
604
- description: "Response matches sync-creatives-response.json schema"
605
- - check: field_present
606
- path: "creatives[0].action"
607
- description: "Standard creative has an action"
608
-
609
- - check: field_present
610
- path: "context"
611
- description: "Response echoes back the context object"
612
- - check: field_value
613
- path: "context.correlation_id"
614
- value: "creative_generative--seller--sync_creatives_standard"
615
- description: "Context correlation_id returned unchanged"
616
- - id: sync_creatives_invalid_brand
617
- title: "Reject brief with invalid brand"
618
- narrative: |
619
- The buyer sends a brief referencing a brand domain that doesn't exist in
620
- AgenticAdvertising.org. The seller should reject the creative rather than
621
- generating with unknown brand identity.
622
- task: sync_creatives
623
- schema_ref: "creative/sync-creatives-request.json"
624
- response_schema_ref: "creative/sync-creatives-response.json"
625
- doc_ref: "/creative/task-reference/sync_creatives"
626
- comply_scenario: creative_sync
627
- stateful: true
628
- expected: |
629
- Reject the creative with a clear error:
630
- - Per-creative status: rejected
631
- - Validation error indicating the brand domain could not be resolved
632
- - The seller should not generate creatives for unknown brands
633
-
634
- sample_request:
635
- account:
636
- brand:
637
- domain: "nonexistent-brand-xyz.example"
638
- operator: "pinnacle-agency.example"
639
- creatives:
640
- - creative_id: "gen_invalid_brand"
641
- name: "Invalid Brand Test"
642
- format_id:
643
- agent_url: "https://your-platform.example.com"
644
- id: "display_300x250_generative"
645
- assets:
646
- brief:
647
- asset_type: "brief"
648
- name: "Test brief"
649
- objective: "awareness"
650
- tone: "Neutral"
651
- messaging:
652
- headline: "Test"
653
- cta: "Click"
654
-
655
- idempotency_key: "$generate:uuid_v4#creative_generative_seller_creative_brief_sync_sync_creatives_invalid_brand"
656
- context:
657
- correlation_id: "creative_generative--seller--sync_creatives_invalid_brand"
658
- validations:
659
- - check: response_schema
660
- description: "Response matches sync-creatives-response.json schema"
661
- - check: field_present
662
- path: "creatives[0].action"
663
- description: "Creative has a status (expected: rejected)"
664
-
665
- - check: field_present
666
- path: "context"
667
- description: "Response echoes back the context object"
668
- - check: field_value
669
- path: "context.correlation_id"
670
- value: "creative_generative--seller--sync_creatives_invalid_brand"
671
- description: "Context correlation_id returned unchanged"
672
- - id: creative_generation_lifecycle
673
- title: "Creative generation lifecycle"
674
- narrative: |
675
- If creative generation is asynchronous, the buyer monitors progress. The seller
676
- transitions creatives through processing → pending_review → approved as generation
677
- completes. The comply_test_controller can force these transitions for deterministic
678
- testing via force_creative_status.
679
-
680
- The buyer polls by re-calling sync_creatives with the same creatives. Because
681
- sync_creatives has upsert semantics, re-sending the same brief is idempotent — the
682
- seller returns the current status without restarting generation.
683
-
684
- steps:
685
- - id: check_creative_status
686
- title: "Poll creative generation status"
687
- narrative: |
688
- The buyer re-sends the same creatives via sync_creatives. Because sync has upsert
689
- semantics, this is idempotent — the seller returns updated statuses without
690
- restarting generation. If the creative was pending_review after the initial sync,
691
- it should transition to approved once generation completes. In testing, the
692
- comply_test_controller forces this transition via force_creative_status.
693
- task: sync_creatives
694
- schema_ref: "creative/sync-creatives-request.json"
695
- response_schema_ref: "creative/sync-creatives-response.json"
696
- doc_ref: "/creative/task-reference/sync_creatives"
697
- comply_scenario: creative_sync
698
- stateful: true
699
- expected: |
700
- Return updated creative statuses:
701
- - Generative creatives should transition from pending_review to approved
702
- - Approved creatives should include generated assets (image URLs, VAST tags, etc.)
703
- - The generated output should reflect the brand identity from the original brief
704
-
705
- sample_request:
706
- account:
707
- brand:
708
- domain: "acmeoutdoor.example"
709
- operator: "pinnacle-agency.example"
710
- creatives:
711
- - creative_id: "gen_display_summer_sale"
712
- name: "Summer Sale - Generated Display 300x250"
713
- format_id:
714
- agent_url: "https://your-platform.example.com"
715
- id: "display_300x250_generative"
716
- assets:
717
- brief:
718
- asset_type: "brief"
719
- name: "Acme Outdoor Summer Sale Q2"
720
- objective: "conversion"
721
- tone: "Bold, adventurous, urgent"
722
- messaging:
723
- headline: "Summer Sale — 40% Off All Gear"
724
- cta: "Shop Now"
725
- - creative_id: "gen_video_summer_sale"
726
- name: "Summer Sale - Generated Video 30s"
727
- format_id:
728
- agent_url: "https://your-platform.example.com"
729
- id: "video_30s_generative"
730
- assets:
731
- brief:
732
- asset_type: "brief"
733
- name: "Acme Outdoor Summer Sale Q2 - Video"
734
- objective: "awareness"
735
- tone: "Cinematic, energetic"
736
- messaging:
737
- headline: "Your Next Adventure Starts Here"
738
- cta: "Shop the Sale"
739
-
740
- idempotency_key: "$generate:uuid_v4#creative_generative_seller_creative_generation_lifecycle_check_creative_status"
741
- context:
742
- correlation_id: "creative_generative--seller--check_creative_status"
743
- validations:
744
- - check: response_schema
745
- description: "Response matches sync-creatives-response.json schema"
746
- - check: field_present
747
- path: "creatives[0].action"
748
- description: "Each creative has a current status"
749
-
750
- - check: field_present
751
- path: "context"
752
- description: "Response echoes back the context object"
753
- - check: field_value
754
- path: "context.correlation_id"
755
- value: "creative_generative--seller--check_creative_status"
756
- description: "Context correlation_id returned unchanged"
757
- - id: delivery_monitoring
758
- title: "Delivery and reporting"
759
- narrative: |
760
- The campaign is live. Delivery monitoring is identical to any media buy seller —
761
- the generative aspect doesn't change how delivery is reported. The buyer monitors
762
- impressions, clicks, spend, and pacing.
763
-
764
- steps:
765
- - id: get_delivery
766
- title: "Check delivery metrics"
767
- narrative: |
768
- The buyer requests delivery data for the active media buy. Reporting is the same
769
- regardless of whether creatives were generated or uploaded.
770
- task: get_media_buy_delivery
771
- schema_ref: "media-buy/get-media-buy-delivery-request.json"
772
- response_schema_ref: "media-buy/get-media-buy-delivery-response.json"
773
- doc_ref: "/media-buy/task-reference/get_media_buy_delivery"
774
- comply_scenario: reporting_flow
775
- stateful: true
776
- expected: |
777
- Return delivery metrics for the media buy:
778
- - Per-package delivery: impressions, clicks, spend, completion rates
779
- - Daily breakdown if requested
780
- - Pacing information
781
- - Budget utilization
782
-
783
- sample_request:
784
- account:
785
- brand:
786
- domain: "acmeoutdoor.example"
787
- operator: "pinnacle-agency.example"
788
- media_buy_ids:
789
- - "$context.media_buy_id"
790
- include_package_daily_breakdown: true
791
-
792
- context:
793
- correlation_id: "creative_generative--seller--get_delivery"
794
- validations:
795
- - check: response_schema
796
- description: "Response matches get-media-buy-delivery-response.json schema"
797
- - check: field_present
798
- path: "media_buy_deliveries"
799
- description: "Response contains media buy delivery data"
800
-
801
- - check: field_present
802
- path: "context"
803
- description: "Response echoes back the context object"
804
- - check: field_value
805
- path: "context.correlation_id"
806
- value: "creative_generative--seller--get_delivery"
807
- description: "Context correlation_id returned unchanged"