@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,682 +0,0 @@
1
- id: media_buy_governance_escalation
2
- version: "1.0.0"
3
- title: "Governance denial and human escalation"
4
- category: media_buy_governance_escalation
5
- summary: "Buyer's governance agent denies a media buy that exceeds spending authority, escalates to a human who approves with conditions."
6
- track: campaign_governance
7
- required_tools:
8
- - sync_plans
9
- - check_governance
10
-
11
- narrative: |
12
- The buyer's governance agent denies a media buy because it exceeds the agent's spending
13
- authority. The governance check escalates to a human reviewer who approves with conditions.
14
-
15
- This storyboard shows the full governance loop: plan registration with spending authority
16
- limits, product discovery, pre-buy governance check that gets denied, human escalation
17
- that results in conditional approval, media buy creation with the approved governance
18
- context, outcome reporting, and a complete audit trail.
19
-
20
- Governance exists to ensure that automated agents operate within defined boundaries. When
21
- those boundaries are exceeded, the system escalates to humans rather than blocking
22
- entirely. The audit trail provides accountability for every decision in the chain.
23
-
24
- agent:
25
- interaction_model: media_buy_seller
26
- capabilities:
27
- - sells_media
28
- - governance_aware
29
- examples:
30
- - "Publisher platform integrated with buyer governance"
31
- - "SSP that respects governance checks"
32
- - "Retail media network with governance support"
33
-
34
- caller:
35
- role: buyer_agent
36
- example: "Pinnacle Agency (buyer)"
37
-
38
- prerequisites:
39
- description: |
40
- The caller needs a brand identity, operator credentials, and a governance agent
41
- URL. The test kit provides a sample brand (Acme Outdoor) with campaign parameters
42
- and a governance configuration with spending authority limits.
43
- test_kit: "test-kits/acme-outdoor.yaml"
44
- controller_seeding: true
45
-
46
- fixtures:
47
- products:
48
- - product_id: "sports_ctv_q2"
49
- delivery_type: "guaranteed"
50
- channels: ["ctv"]
51
- format_ids:
52
- - id: "video_30s"
53
- - product_id: "outdoor_video_q2"
54
- delivery_type: "guaranteed"
55
- channels: ["video"]
56
- format_ids:
57
- - id: "video_15s"
58
- pricing_options:
59
- - product_id: "sports_ctv_q2"
60
- pricing_option_id: "cpm_guaranteed"
61
- pricing_model: "cpm"
62
- currency: "USD"
63
- fixed_price: 45.0
64
- - product_id: "outdoor_video_q2"
65
- pricing_option_id: "cpm_standard"
66
- pricing_model: "cpm"
67
- currency: "USD"
68
- fixed_price: 12.0
69
- plans:
70
- - plan_id: "gov_acme_q2_2027"
71
- brand:
72
- domain: "acmeoutdoor.example"
73
- objectives: "Q2 outdoor lifestyle campaign — display and video, Adults 25-54, US"
74
- budget:
75
- total: 50000
76
- currency: "USD"
77
- reallocation_threshold: 20000
78
- flight:
79
- start: "2027-04-01T00:00:00Z"
80
- end: "2027-06-30T23:59:59Z"
81
- countries: ["US"]
82
- custom_policies:
83
- - policy_id: "weekly_reporting_over_10k"
84
- enforcement: "must"
85
- policy: "Weekly reporting required for buys over $10K."
86
- - policy_id: "seller_concentration_cap"
87
- enforcement: "must"
88
- policy: "No single-seller concentration above 60% of total budget."
89
-
90
- phases:
91
- - id: capability_discovery
92
- title: "Capability discovery"
93
- narrative: |
94
- The buyer calls get_adcp_capabilities to confirm the agent supports media buying before sending briefs or creating buys.
95
-
96
- steps:
97
- - id: get_capabilities
98
- title: "Check agent capabilities"
99
- narrative: |
100
- Verify that the agent declares the expected protocol support before
101
- proceeding with domain-specific operations.
102
- task: get_adcp_capabilities
103
- schema_ref: "protocol/get-adcp-capabilities-request.json"
104
- response_schema_ref: "protocol/get-adcp-capabilities-response.json"
105
- doc_ref: "/protocol/get_adcp_capabilities"
106
- comply_scenario: capability_discovery
107
- stateful: false
108
- expected: |
109
- Return capabilities declaring media_buy in supported_protocols, confirming the agent sells media.
110
- sample_request:
111
- context:
112
- correlation_id: "media_buy_governance_escalation--get_capabilities"
113
- validations:
114
- - check: response_schema
115
- description: "Response matches get-adcp-capabilities-response.json schema"
116
- - check: field_present
117
- path: "supported_protocols"
118
- description: "Agent declares supported protocols"
119
-
120
- - check: field_present
121
- path: "context"
122
- description: "Response echoes back the context object"
123
- - check: field_value
124
- path: "context.correlation_id"
125
- value: "media_buy_governance_escalation--get_capabilities"
126
- description: "Context correlation_id returned unchanged"
127
- - id: account_setup
128
- title: "Account and governance setup"
129
- narrative: |
130
- The buyer establishes an account and registers their governance agent with the
131
- seller. The governance agent will be called before media buys are confirmed to
132
- validate spending authority, brand safety, and compliance.
133
-
134
- steps:
135
- - id: sync_accounts
136
- title: "Establish account relationship"
137
- narrative: |
138
- The buyer registers their brand and operator with your platform.
139
- task: sync_accounts
140
- schema_ref: "account/sync-accounts-request.json"
141
- response_schema_ref: "account/sync-accounts-response.json"
142
- doc_ref: "/accounts/tasks/sync_accounts"
143
- stateful: true
144
- expected: |
145
- Return the account with:
146
- - account_id: your platform's identifier
147
- - action: created or updated
148
- - status: active or pending_approval
149
-
150
- sample_request:
151
- accounts:
152
- - brand:
153
- domain: "acmeoutdoor.example"
154
- operator: "pinnacle-agency.example"
155
- billing: "operator"
156
- payment_terms: "net_30"
157
-
158
- idempotency_key: "$generate:uuid_v4#media_buy_governance_escalation_account_setup_sync_accounts"
159
- context:
160
- correlation_id: "media_buy_governance_escalation--sync_accounts"
161
- validations:
162
- - check: response_schema
163
- description: "Response matches sync-accounts-response.json schema"
164
- - check: field_present
165
- path: "accounts[0].account_id"
166
- description: "Account has a platform-assigned ID"
167
-
168
- - check: field_present
169
- path: "context"
170
- description: "Response echoes back the context object"
171
- - check: field_value
172
- path: "context.correlation_id"
173
- value: "media_buy_governance_escalation--sync_accounts"
174
- description: "Context correlation_id returned unchanged"
175
- - id: sync_governance
176
- title: "Register governance agent"
177
- narrative: |
178
- The buyer tells your platform: "Before you confirm any media buy for this
179
- account, call this governance agent to validate it." Your platform stores
180
- the governance agent URL and will call it during create_media_buy.
181
- task: sync_governance
182
- schema_ref: "account/sync-governance-request.json"
183
- response_schema_ref: "account/sync-governance-response.json"
184
- doc_ref: "/accounts/tasks/sync_governance"
185
- stateful: true
186
- expected: |
187
- Acknowledge the governance agents. Your platform should:
188
- - Store the governance agent URLs for the specified accounts
189
- - Return confirmation that agents were registered
190
- - Use these agents during create_media_buy validation
191
-
192
- sample_request:
193
- accounts:
194
- - account:
195
- brand:
196
- domain: "acmeoutdoor.example"
197
- operator: "pinnacle-agency.example"
198
- governance_agents:
199
- - url: "https://governance.pinnacle-agency.example"
200
- authentication:
201
- schemes: ["Bearer"]
202
- credentials: "gov-token-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
203
-
204
- idempotency_key: "$generate:uuid_v4#media_buy_governance_escalation_account_setup_sync_governance"
205
- context:
206
- correlation_id: "media_buy_governance_escalation--sync_governance"
207
- ext:
208
- test_platform:
209
- test_run: true
210
- validations:
211
- - check: response_schema
212
- description: "Response matches sync-governance-response.json schema"
213
-
214
- - check: field_present
215
- path: "context"
216
- description: "Response echoes back the context object"
217
- - check: field_value
218
- path: "context.correlation_id"
219
- value: "media_buy_governance_escalation--sync_governance"
220
- description: "Context correlation_id returned unchanged"
221
- - id: register_plan
222
- title: "Register governance plan with spending limits"
223
- narrative: |
224
- The buyer registers a governance plan that defines the agent's spending authority.
225
- The plan sets a per-transaction threshold below the intended media buy amount.
226
- This ensures the governance check will trigger an escalation when the buy exceeds
227
- the agent's authority.
228
-
229
- steps:
230
- - id: sync_plans
231
- title: "Register a governance plan with agent-limited authority"
232
- narrative: |
233
- The buyer's governance agent registers a plan with spending authority limits.
234
- The plan sets a per-transaction threshold of $20K via reallocation_threshold
235
- on the budget. Any media buy above this amount requires human approval.
236
- task: sync_plans
237
- schema_ref: "governance/sync-plans-request.json"
238
- response_schema_ref: "governance/sync-plans-response.json"
239
- doc_ref: "/governance/campaign/tasks/sync_plans"
240
- comply_scenario: campaign_governance
241
- stateful: true
242
- expected: |
243
- Acknowledge the governance plan:
244
- - plan_id: identifier for this governance plan
245
- - budget.reallocation_threshold: spending limit before re-evaluation
246
- - human_review_required: set when the plan mandates escalation
247
-
248
- sample_request:
249
- idempotency_key: "$generate:uuid_v4#gov-escalation-sync"
250
- plans:
251
- - plan_id: "gov_acme_q2_2027"
252
- brand:
253
- domain: "acmeoutdoor.example"
254
- objectives: "Q2 outdoor lifestyle campaign — display and video, Adults 25-54, US"
255
- budget:
256
- total: 50000
257
- currency: "USD"
258
- reallocation_threshold: 20000
259
- flight:
260
- start: "2027-04-01T00:00:00Z"
261
- end: "2027-06-30T23:59:59Z"
262
- countries: ["US"]
263
- custom_policies:
264
- - policy_id: "weekly_reporting_over_10k"
265
- enforcement: "must"
266
- policy: "Weekly reporting required for buys over $10K."
267
- - policy_id: "seller_concentration_cap"
268
- enforcement: "must"
269
- policy: "No single-seller concentration above 60% of total budget."
270
-
271
- context:
272
- correlation_id: "media_buy_governance_escalation--sync_plans"
273
- context_outputs:
274
- - name: plan_id
275
- path: 'plans[0].plan_id'
276
- validations:
277
- - check: response_schema
278
- description: "Response matches sync-plans-response.json schema"
279
-
280
- - check: field_present
281
- path: "context"
282
- description: "Response echoes back the context object"
283
- - check: field_value
284
- path: "context.correlation_id"
285
- value: "media_buy_governance_escalation--sync_plans"
286
- description: "Context correlation_id returned unchanged"
287
- - check: field_present
288
- path: "plans[0].plan_id"
289
- description: "Governance agent assigns plan_id — must be echoed in check_governance"
290
- - id: discover_products
291
- title: "Product discovery"
292
- narrative: |
293
- The buyer sends a brief to discover products. The products returned will exceed
294
- the governance agent's spending authority when assembled into a media buy.
295
-
296
- steps:
297
- - id: get_products_brief
298
- title: "Send a brief"
299
- narrative: |
300
- The buyer describes what they want. Your platform returns products with
301
- pricing that, when combined, will exceed the $20K per-transaction threshold
302
- set in the governance plan.
303
- task: get_products
304
- schema_ref: "media-buy/get-products-request.json"
305
- response_schema_ref: "media-buy/get-products-response.json"
306
- doc_ref: "/media-buy/task-reference/get_products"
307
- comply_scenario: full_sales_flow
308
- stateful: false
309
- expected: |
310
- Return products matching the brief with pricing that totals above $20K:
311
- - product_id, name, description
312
- - delivery_type: guaranteed or non_guaranteed
313
- - pricing_models with CPM and budget recommendations
314
- - forecast: estimated delivery
315
-
316
- sample_request:
317
- buying_mode: "brief"
318
- brief: "Premium CTV and video on sports publishers. Q2 flight, $50K budget. Adults 25-54, US."
319
- brand:
320
- domain: "acmeoutdoor.example"
321
- account:
322
- brand:
323
- domain: "acmeoutdoor.example"
324
- operator: "pinnacle-agency.example"
325
-
326
- context:
327
- correlation_id: "media_buy_governance_escalation--get_products_brief"
328
- validations:
329
- - check: response_schema
330
- description: "Response matches get-products-response.json schema"
331
- - check: field_present
332
- path: "products"
333
- description: "Response contains a products array"
334
-
335
- - check: field_present
336
- path: "context"
337
- description: "Response echoes back the context object"
338
- - check: field_value
339
- path: "context.correlation_id"
340
- value: "media_buy_governance_escalation--get_products_brief"
341
- description: "Context correlation_id returned unchanged"
342
- - check: field_present
343
- path: "products[0].format_ids"
344
- description: "Products include format_ids for creative requirements"
345
- - check: field_present
346
- path: "products[0].format_ids[0].agent_url"
347
- description: "Format IDs include agent_url — must match this agent's URL"
348
- - check: field_present
349
- path: "products[0].format_ids[0].id"
350
- description: "Format IDs include id — must be accepted back in sync_creatives"
351
- - id: governance_check_denied
352
- title: "Governance check — denied"
353
- narrative: |
354
- Before creating the media buy, the buyer's governance agent runs a pre-buy check.
355
- The proposed buy totals $50K, which exceeds the agent's $20K per-transaction
356
- authority. The governance agent denies the buy with a must-severity finding and
357
- returns escalation instructions for human review.
358
-
359
- steps:
360
- - id: check_governance_denied
361
- title: "Pre-buy governance check (denied)"
362
- narrative: |
363
- The buyer calls check_governance with the proposed media buy binding. The
364
- governance agent evaluates the buy against the registered plan and finds that
365
- the total exceeds the agent's spending authority. The check returns denied
366
- with a must-severity finding and instructions for escalating to a human.
367
- task: check_governance
368
- schema_ref: "governance/check-governance-request.json"
369
- response_schema_ref: "governance/check-governance-response.json"
370
- doc_ref: "/governance/campaign/tasks/check_governance"
371
- comply_scenario: governance_spend_authority/denied
372
- stateful: true
373
- expected: |
374
- Return a denied governance decision:
375
- - decision: denied
376
- - findings: array with at least one must-severity finding
377
- - severity: must
378
- - code: SPENDING_AUTHORITY_EXCEEDED
379
- - message: explains the agent's authority limit and how much the buy exceeds it
380
- - escalation: instructions for human review
381
- - governance_context: token/ID the buyer passes to the next check after escalation
382
- - plan_id: the governance plan that triggered the denial
383
-
384
- sample_request:
385
- plan_id: "$context.plan_id"
386
- caller: "https://pinnacle-agency.example"
387
- tool: "create_media_buy"
388
- payload:
389
- idempotency_key: "$generate:uuid_v4#media_buy_governance_escalation_check_governance_denied_payload"
390
- account:
391
- brand:
392
- domain: "acmeoutdoor.example"
393
- operator: "pinnacle-agency.example"
394
- brand:
395
- domain: "acmeoutdoor.example"
396
- start_time: "2027-01-01T00:00:00Z"
397
- end_time: "2027-03-31T23:59:59Z"
398
- packages:
399
- - product_id: "sports_ctv_q2"
400
- budget: 30000
401
- pricing_option_id: "cpm_standard"
402
- - product_id: "outdoor_video_q2"
403
- budget: 20000
404
- pricing_option_id: "cpm_standard"
405
-
406
- context:
407
- correlation_id: "media_buy_governance_escalation--check_governance_denied"
408
- validations:
409
- - check: response_schema
410
- description: "Response matches check-governance-response.json schema"
411
- - check: field_present
412
- path: "verdict"
413
- description: "Response contains a governance verdict"
414
- - check: field_present
415
- path: "findings"
416
- description: "Response contains findings explaining the denial"
417
-
418
- - check: field_present
419
- path: "context"
420
- description: "Response echoes back the context object"
421
- - check: field_value
422
- path: "context.correlation_id"
423
- value: "media_buy_governance_escalation--check_governance_denied"
424
- description: "Context correlation_id returned unchanged"
425
- - id: human_escalation
426
- title: "Human escalation — conditional approval"
427
- narrative: |
428
- The governance denial triggers human escalation. A human reviewer at the agency
429
- reviews the proposed buy, the denial reason, and the governance plan. The human
430
- approves the buy with conditions — for example, requiring weekly reporting. The
431
- buyer calls check_governance again with the human's approval, and this time
432
- the check returns approved with conditions.
433
-
434
- steps:
435
- - id: check_governance_approved
436
- title: "Re-check governance after human approval (approved with conditions)"
437
- narrative: |
438
- After the human reviewer approves the buy, the buyer calls check_governance
439
- again with the governance_context from the prior denial and the human's
440
- approval. The governance agent returns approved with conditions that the
441
- buyer must honor during the campaign.
442
- task: check_governance
443
- schema_ref: "governance/check-governance-request.json"
444
- response_schema_ref: "governance/check-governance-response.json"
445
- doc_ref: "/governance/campaign/tasks/check_governance"
446
- comply_scenario: governance_spend_authority
447
- stateful: true
448
- expected: |
449
- Return an approved governance decision with conditions:
450
- - decision: approved
451
- - conditions: array of requirements the buyer must honor
452
- - e.g., "Weekly delivery reporting required"
453
- - e.g., "Human review required for any budget increase"
454
- - governance_context: updated token the buyer passes to create_media_buy
455
- - approved_by: identifier of the human who approved
456
- - approved_at: timestamp of approval
457
-
458
- sample_request:
459
- plan_id: "$context.plan_id"
460
- caller: "https://pinnacle-agency.example"
461
- governance_context: "gov_ctx_acme_q2_escalated"
462
- tool: "create_media_buy"
463
- payload:
464
- idempotency_key: "$generate:uuid_v4#media_buy_governance_escalation_check_governance_approved_payload"
465
- account:
466
- brand:
467
- domain: "acmeoutdoor.example"
468
- operator: "pinnacle-agency.example"
469
- brand:
470
- domain: "acmeoutdoor.example"
471
- start_time: "2027-01-01T00:00:00Z"
472
- end_time: "2027-03-31T23:59:59Z"
473
- packages:
474
- - product_id: "sports_ctv_q2"
475
- budget: 30000
476
- pricing_option_id: "cpm_standard"
477
- - product_id: "outdoor_video_q2"
478
- budget: 20000
479
- pricing_option_id: "cpm_standard"
480
-
481
- context:
482
- correlation_id: "media_buy_governance_escalation--check_governance_approved"
483
- context_outputs:
484
- - name: check_id
485
- path: 'check_id'
486
- validations:
487
- - check: response_schema
488
- description: "Response matches check-governance-response.json schema"
489
- - check: field_present
490
- path: "verdict"
491
- description: "Response contains an approved governance verdict"
492
- - check: field_present
493
- path: "conditions"
494
- description: "Approval includes conditions"
495
-
496
- - check: field_present
497
- path: "context"
498
- description: "Response echoes back the context object"
499
- - check: field_value
500
- path: "context.correlation_id"
501
- value: "media_buy_governance_escalation--check_governance_approved"
502
- description: "Context correlation_id returned unchanged"
503
- - check: field_present
504
- path: "check_id"
505
- description: "Check ID for audit trail — must be echoed in report_plan_outcome"
506
- - id: create_buy_with_governance
507
- title: "Create media buy with governance context"
508
- narrative: |
509
- The buyer creates the media buy, passing the governance_context from the approved
510
- governance check. The seller's platform verifies the governance approval before
511
- confirming the buy.
512
-
513
- steps:
514
- - id: create_media_buy
515
- title: "Create a media buy with governance approval"
516
- narrative: |
517
- The buyer creates the media buy with the governance_context token from the
518
- approved check. The seller's platform validates the governance approval and
519
- confirms the buy. Without a valid governance_context, the platform would
520
- reject the buy because the governance agent is registered for this account.
521
- task: create_media_buy
522
- schema_ref: "media-buy/create-media-buy-request.json"
523
- response_schema_ref: "media-buy/create-media-buy-response.json"
524
- doc_ref: "/media-buy/task-reference/create_media_buy"
525
- comply_scenario: create_media_buy
526
- stateful: true
527
- expected: |
528
- Confirm the media buy with governance approval:
529
- - media_buy_id: your platform's identifier
530
- - status: active
531
- - confirmed_at: timestamp
532
- - governance_context: echoed back confirming governance was validated
533
- - packages: confirmed line items
534
- - valid_actions: creative sync, get_delivery, etc.
535
-
536
- sample_request:
537
- account:
538
- brand:
539
- domain: "acmeoutdoor.example"
540
- operator: "pinnacle-agency.example"
541
- brand:
542
- domain: "acmeoutdoor.example"
543
- governance_context: "gov_ctx_acme_q2_approved"
544
- start_time: "2026-04-01T00:00:00Z"
545
- end_time: "2026-06-30T23:59:59Z"
546
- packages:
547
- - product_id: "sports_ctv_q2"
548
- budget: 30000
549
- pricing_option_id: "cpm_guaranteed"
550
- creative_assignments:
551
- - creative_id: "video_30s_trail_pro"
552
- - product_id: "outdoor_video_q2"
553
- budget: 20000
554
- pricing_option_id: "cpm_standard"
555
- creative_assignments:
556
- - creative_id: "video_15s_trail_pro"
557
-
558
- idempotency_key: "$generate:uuid_v4#media_buy_governance_escalation_create_buy_with_governance_create_media_buy"
559
- context:
560
- correlation_id: "media_buy_governance_escalation--create_media_buy"
561
- context_outputs:
562
- - name: media_buy_id
563
- path: "media_buy_id"
564
- validations:
565
- - check: response_schema
566
- description: "Response matches create-media-buy-response.json schema"
567
-
568
- - check: field_present
569
- path: "context"
570
- description: "Response echoes back the context object"
571
- - check: field_value
572
- path: "context.correlation_id"
573
- value: "media_buy_governance_escalation--create_media_buy"
574
- description: "Context correlation_id returned unchanged"
575
- - id: report_outcome
576
- title: "Report governance outcome"
577
- narrative: |
578
- After the media buy is created, the buyer reports the outcome back to the
579
- governance agent. This closes the governance loop by linking the actual media
580
- buy to the governance check that authorized it.
581
-
582
- steps:
583
- - id: report_plan_outcome
584
- title: "Report media buy outcome to governance"
585
- narrative: |
586
- The buyer reports the media buy creation back to the governance agent,
587
- linking the media_buy_id to the governance check. This enables the governance
588
- agent to track what was actually purchased against what was approved.
589
- task: report_plan_outcome
590
- schema_ref: "governance/report-plan-outcome-request.json"
591
- response_schema_ref: "governance/report-plan-outcome-response.json"
592
- doc_ref: "/governance/campaign/tasks/report_plan_outcome"
593
- comply_scenario: campaign_governance
594
- stateful: true
595
- expected: |
596
- Acknowledge the outcome report:
597
- - outcome_id: identifier for this outcome record
598
- - plan_id: the governance plan
599
- - media_buy_id: the buy that was created
600
- - governance_context: the approval that authorized it
601
- - outcome_state: accepted
602
-
603
- sample_request:
604
- plan_id: "$context.plan_id"
605
- governance_context: "gov_ctx_acme_q2_approved"
606
- outcome: "completed"
607
- seller_response:
608
- seller_reference: "$context.media_buy_id"
609
- committed_budget: 50000
610
- packages:
611
- - package_id: "pkg_sports_ctv_q2"
612
- committed_budget: 30000
613
- - package_id: "pkg_outdoor_video_q2"
614
- committed_budget: 20000
615
-
616
- idempotency_key: "$generate:uuid_v4#media_buy_governance_escalation_report_outcome_report_plan_outcome"
617
- context:
618
- correlation_id: "media_buy_governance_escalation--report_plan_outcome"
619
- validations:
620
- - check: response_schema
621
- description: "Response matches report-plan-outcome-response.json schema"
622
-
623
- - check: field_present
624
- path: "context"
625
- description: "Response echoes back the context object"
626
- - check: field_value
627
- path: "context.correlation_id"
628
- value: "media_buy_governance_escalation--report_plan_outcome"
629
- description: "Context correlation_id returned unchanged"
630
- - id: audit_trail
631
- title: "Governance audit trail"
632
- narrative: |
633
- The buyer (or an auditor) retrieves the full audit trail for the governance
634
- plan. This shows every decision in the chain: the initial denial, the human
635
- escalation, the conditional approval, the media buy creation, and the outcome
636
- report. The audit trail provides accountability for automated spending decisions.
637
-
638
- steps:
639
- - id: get_plan_audit_logs
640
- title: "Retrieve the full governance audit trail"
641
- narrative: |
642
- The buyer requests the audit log for the governance plan. The log shows
643
- every governance event: check requests, denials, escalations, approvals,
644
- and outcome reports. Each entry has a timestamp, actor, and decision.
645
- task: get_plan_audit_logs
646
- schema_ref: "governance/get-plan-audit-logs-request.json"
647
- response_schema_ref: "governance/get-plan-audit-logs-response.json"
648
- doc_ref: "/governance/campaign/tasks/get_plan_audit_logs"
649
- comply_scenario: campaign_governance
650
- stateful: false
651
- expected: |
652
- Return the complete audit trail for the governance plan:
653
- - plan_id: the governance plan
654
- - entries: ordered list of governance events, including:
655
- 1. Plan registered with $20K per-transaction threshold
656
- 2. Governance check denied — spending authority exceeded ($50K > $20K)
657
- 3. Human escalation initiated
658
- 4. Human approved with conditions (weekly reporting, budget increase review)
659
- 5. Media buy created with governance approval
660
- 6. Outcome reported linking media_buy_id to governance context
661
- - Each entry includes: timestamp, event_type, actor, decision, details
662
-
663
- sample_request:
664
- plan_ids:
665
- - "$context.plan_id"
666
-
667
- context:
668
- correlation_id: "media_buy_governance_escalation--get_plan_audit_logs"
669
- validations:
670
- - check: response_schema
671
- description: "Response matches get-plan-audit-logs-response.json schema"
672
- - check: field_present
673
- path: "plans"
674
- description: "Response contains audit log entries"
675
-
676
- - check: field_present
677
- path: "context"
678
- description: "Response echoes back the context object"
679
- - check: field_value
680
- path: "context.correlation_id"
681
- value: "media_buy_governance_escalation--get_plan_audit_logs"
682
- description: "Context correlation_id returned unchanged"