@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
@@ -29,7 +29,7 @@ export interface Storyboard {
29
29
  version: string;
30
30
  /**
31
31
  * AdCP compliance cache version this storyboard was loaded from, e.g.
32
- * "3.0.12" or "3.1.0-beta.7". Injected by the local cache loader; not
32
+ * "3.1.18" or "3.2.0-rc.3". Injected by the local cache loader; not
33
33
  * authored in storyboard YAML.
34
34
  */
35
35
  adcp_version?: string;
@@ -897,7 +897,22 @@ export type StoryboardValidationCheck = 'response_schema' | 'field_present' | 'f
897
897
  * envelope fields such as `adcp_major_version` should use
898
898
  * `envelope_field_value`.
899
899
  */
900
- | 'envelope_field_pattern' | 'field_contains' | 'status_code' | 'error_code' | 'http_status' | 'http_status_in' | 'on_401_require_header' | 'resource_equals_agent_url' | 'oauth_metadata_graph' | 'any_of' | 'a2a_submitted_artifact' | 'a2a_context_continuity' | 'refs_resolve'
900
+ | 'envelope_field_pattern' | 'field_contains' | 'status_code' | 'error_code' | 'http_status' | 'http_status_in' | 'on_401_require_header'
901
+ /**
902
+ * Assert that the step's probe reported no grading error, without asserting
903
+ * anything about an HTTP exchange. For probes whose verdict is decided
904
+ * in-library rather than on the wire — the `jwks_override` request-signing
905
+ * negatives, which mutate a JWK the agent under test never publishes and so
906
+ * are graded against the SDK verifier at `http_status: 0` — this is the only
907
+ * honest assertion: synthesizing a 401 from a library boolean would claim a
908
+ * wire exchange that never happened (RFC 9421 §3; adcp-client#2955).
909
+ *
910
+ * Passes when the probe result carries no `error`; fails with the probe's
911
+ * own diagnostic otherwise. Like the `http_status` family it requires a
912
+ * probe result, so authoring it on an ordinary task step fails the step
913
+ * rather than passing vacuously.
914
+ */
915
+ | 'probe_passed' | 'resource_equals_agent_url' | 'oauth_metadata_graph' | 'any_of' | 'a2a_submitted_artifact' | 'a2a_context_continuity' | 'refs_resolve'
901
916
  /**
902
917
  * Assert a numeric field in the current step's response is strictly less than
903
918
  * a comparand. The comparand is either a context-captured runtime value
@@ -1362,6 +1377,44 @@ export type WebhookAssertionErrorCode = 'no_webhook_received' | 'schema_violatio
1362
1377
  * (tests, tooling) can reproduce the grader's exact validation.
1363
1378
  */
1364
1379
  export declare const WEBHOOK_IDEMPOTENCY_KEY_PATTERN: RegExp;
1380
+ /**
1381
+ * Runner-native sentinel task for the MCP session auth probe
1382
+ * (adcp-client#2940).
1383
+ *
1384
+ * `$test_kit.auth.probe_task` normally resolves to an advertised entry of
1385
+ * `PROBE_TASK_ALLOWLIST`. When MCP discovery succeeds but the agent advertises
1386
+ * none of them, `selectProbeTask` resolves to this sentinel instead of
1387
+ * `undefined` — but only on an explicit `protocol: 'mcp'`. The runner then
1388
+ * drives a complete MCP session lifecycle: `initialize` →
1389
+ * `notifications/initialized` → `tools/call` against a canonical AdCP
1390
+ * protected read the agent advertises, then `DELETE` to terminate the session.
1391
+ *
1392
+ * The graded call is `tools/call`, not MCP discovery: `tools/list` is not an
1393
+ * AdCP protected task (`get_adcp_capabilities` is mandatory-public), so it can
1394
+ * never be evidence about this agent's authentication. Grading a real
1395
+ * protected operation — rather than stopping at the handshake — is also what
1396
+ * makes the verdict independent of whether the agent enforces auth at the
1397
+ * session boundary or per operation.
1398
+ *
1399
+ * The target is drawn from the canonical AdCP tool registries, excludes the
1400
+ * public tier and mutating tasks, and must declare no required request field.
1401
+ * The runner still cannot guarantee an agent accepts an empty-argument call:
1402
+ * the next candidate is tried, and if every one refuses the shape the step
1403
+ * reports *inconclusive* on its response rather than an auth result. When the
1404
+ * agent advertises no eligible target at all, the step is skipped
1405
+ * `session_probe_ungradable` instead.
1406
+ *
1407
+ * What the probe can establish is bounded: that the endpoint accepts a
1408
+ * credential the *runner was configured with* and refuses the states it was
1409
+ * told to refuse, **at the tool it graded**. It is evidence that the auth
1410
+ * mechanism is enforced, not proof that every tool enforces it. It does not
1411
+ * verify any cryptographic property of that credential, and does not prove
1412
+ * which issuer minted it.
1413
+ *
1414
+ * Deliberately **not** a member of `PROBE_TASK_ALLOWLIST`: operators cannot
1415
+ * select it via `test_kit.auth.probe_task`, only the runner can resolve to it.
1416
+ */
1417
+ export declare const MCP_SESSION_PROBE_TASK = "mcp_session_probe";
1365
1418
  /**
1366
1419
  * Raw HTTP probe result for tasks like `protected_resource_metadata` that
1367
1420
  * bypass the MCP transport. Carried through the runner alongside
@@ -1377,6 +1430,18 @@ export interface HttpProbeResult {
1377
1430
  body: unknown;
1378
1431
  /** Optional error — set when the fetch failed (network, SSRF guard, etc.). */
1379
1432
  error?: string;
1433
+ /**
1434
+ * The probe could not complete for a reason the runner owns — a transport
1435
+ * or precondition failure (MCP initialize, DNS, an unreadable fixture
1436
+ * cache), as opposed to a verdict the probe reached.
1437
+ *
1438
+ * Needed because both shapes report `status: 0` with `error` set: an
1439
+ * in-library request-signing grade that failed is a real verdict about the
1440
+ * agent's expected behavior, while a failed MCP handshake says only that
1441
+ * the run never got far enough to ask. Coverage reporting has to tell an
1442
+ * operator which of the two happened, and the remedies are opposites.
1443
+ */
1444
+ probe_error?: boolean;
1380
1445
  /**
1381
1446
  * Probe was intentionally skipped (e.g. operator opted out of a vector,
1382
1447
  * capability profile mismatch, or test-kit contract not in scope). When
@@ -1493,8 +1558,8 @@ export interface StoryboardRunOptions extends TestOptions {
1493
1558
  *
1494
1559
  * Reuse a profile only for the same agent URL, authentication, AdCP version,
1495
1560
  * and route that produced it. Route-specific profiles are not interchangeable.
1496
- * In an `agents` run this value supplies only the run-level/default-agent
1497
- * gating context; each routed agent is still discovered independently.
1561
+ * Ignored in an `agents` run: each routed agent is discovered independently,
1562
+ * and its profile governs the steps selected for that agent.
1498
1563
  * Profile reuse does not retain or reuse a client or transport connection.
1499
1564
  *
1500
1565
  * `AgentProfile` does not carry the server's exact wire version. Pass
@@ -1530,7 +1595,11 @@ export interface StoryboardRunOptions extends TestOptions {
1530
1595
  contributions?: string[];
1531
1596
  /** Override the step's sample_request with a custom request */
1532
1597
  request?: Record<string, unknown>;
1533
- /** Agent's available tools for storyboard/step-level tool gates. */
1598
+ /**
1599
+ * Agent's available tools for storyboard/step-level tool gates. Ignored when
1600
+ * `agents` is supplied: routed discovery determines applicability and each
1601
+ * selected agent's tool list controls its execution gates.
1602
+ */
1534
1603
  agentTools?: string[];
1535
1604
  /**
1536
1605
  * Allow plain-http agent URLs during compliance runs and permit guarded
@@ -1587,15 +1656,35 @@ export interface StoryboardRunOptions extends TestOptions {
1587
1656
  * operation AdCP endpoint (e.g. `<baseUrl>/create_media_buy`).
1588
1657
  * Works for agents that expose AdCP tools as discrete HTTP
1589
1658
  * operations.
1590
- * - `mcp` (default) — wraps each vector body in a JSON-RPC `tools/call`
1659
+ * - `mcp` — wraps each vector body in a JSON-RPC `tools/call`
1591
1660
  * envelope and POSTs to the agent's single `/mcp` mount. Required
1592
1661
  * for MCP-only agents that don't expose per-operation endpoints.
1593
1662
  * The operation name is derived from the last path segment of the
1594
1663
  * vector's target URL.
1595
1664
  *
1596
- * Matches the `adcp grade request-signing --transport <mode>` CLI flag.
1597
- * Agents that only speak MCP JSON-RPC can't grade under `raw`; use
1598
- * `mcp` to let the runner round-trip every vector through `tools/call`.
1665
+ * Defaults to the shape the run's `protocol` can actually grade: `mcp`
1666
+ * on an MCP run, and neither shape on an A2A run — this runner
1667
+ * implements only those two dispatches, and neither is an A2A request.
1668
+ * Vectors that need a wire exchange then skip as
1669
+ * `signing_transport_unavailable` — and because no vector reached the
1670
+ * agent, the storyboard cannot report a pass and the track grades
1671
+ * `partial` rather than the run being scored against a transport error
1672
+ * (adcp-client#2954). Only the
1673
+ * in-library `jwks_override` negatives still run there: the grader
1674
+ * decides them against the library verifier with no wire exchange at
1675
+ * all, so the run's protocol is irrelevant to them. Every other probed
1676
+ * vector reports the coverage gap, the protocol-method negatives
1677
+ * included — the official `@a2a-js/sdk` client can issue those methods,
1678
+ * but this runner does not yet sign and dispatch a vector through it,
1679
+ * and writing the fixture bytes to the endpoint directly would be a
1680
+ * hand-rolled A2A dispatch. Setting this field explicitly overrides the
1681
+ * inference on any protocol; on an A2A run, do that only when the
1682
+ * agent's MCP or REST binding answers at the same URL.
1683
+ *
1684
+ * Matches the `adcp grade request-signing --transport <mode>` CLI flag,
1685
+ * and `adcp storyboard run --signing-transport <mode>`. Agents that only
1686
+ * speak MCP JSON-RPC can't grade under `raw`; use `mcp` to let the runner
1687
+ * round-trip every vector through `tools/call`.
1599
1688
  */
1600
1689
  transport?: 'raw' | 'mcp';
1601
1690
  /**
@@ -1640,6 +1729,12 @@ export interface StoryboardRunOptions extends TestOptions {
1640
1729
  * (`StoryboardStep.task`) is resolved to the agent that claims its
1641
1730
  * specialism via `TASK_FEATURE_MAP` × per-agent `get_adcp_capabilities`.
1642
1731
  * An optional explicit `StoryboardStep.agent` override takes precedence.
1732
+ * Discovered tools across the map determine storyboard-level any-of
1733
+ * applicability. Each dispatched step uses its selected agent's tools
1734
+ * and profile; run-level `agentTools` cannot override routed discovery.
1735
+ * Per-entry authentication and transport override caller-supplied run
1736
+ * defaults. Other run options, including headers and request signing,
1737
+ * remain shared defaults across the map.
1643
1738
  *
1644
1739
  * Mutually exclusive with `multi_instance_strategy` (which is replica
1645
1740
  * round-robin, a different concept) and with the legacy `_client`
@@ -1663,7 +1758,7 @@ export interface StoryboardRunOptions extends TestOptions {
1663
1758
  agents?: Record<string, AgentEntry>;
1664
1759
  /**
1665
1760
  * Fallback agent key (must be present in `agents`) for tasks with no entry
1666
- * in `TASK_FEATURE_MAP` — e.g., `comply_test_controller`, future tasks
1761
+ * in `TASK_FEATURE_MAP` — e.g., `sync_creatives`, future tasks
1667
1762
  * shipped before the SDK adds them to the map. When omitted, unmapped
1668
1763
  * tasks fail-fast with `unroutable_task`.
1669
1764
  */
@@ -1930,6 +2025,26 @@ export type RunnerDetailedSkipReason = 'probe_skipped' | 'rate_abuse_opt_out' |
1930
2025
  | 'capability_profile_mismatch'
1931
2026
  /** Request-signing vector cannot be graded faithfully by the selected transport. */
1932
2027
  | 'transport_ungradable'
2028
+ /**
2029
+ * The run's protocol has no shape the request-signing vectors can be
2030
+ * framed in, so the runner could not grade them at all — a runner-owned
2031
+ * coverage gap, not a property of the agent.
2032
+ *
2033
+ * Canonicalizes to `not_applicable` with `skip.detail` set to this exact
2034
+ * token, the shape `runner-output-contract.yaml` defines for a registered
2035
+ * `canonical_detail_sub_reasons.not_applicable.*` sub-reason (see
2036
+ * `rate_limit_not_triggered`, the shipped precedent). It deliberately does
2037
+ * NOT use `fixture_unavailable`: that reason's contract text mandates a
2038
+ * `creative_asset_fixture_unavailable:` detail prefix and says the
2039
+ * storyboard grades `not_applicable` with no verdict movement, which is
2040
+ * the opposite of what this gap must do.
2041
+ *
2042
+ * The gap is kept visible by coverage, not by the reason: `signingCoverage`
2043
+ * in the runner decides the storyboard verdict, the track rollup, the
2044
+ * report block and the CLI exit from whether any probe reached the agent.
2045
+ * See that function for why a skip reason cannot carry that weight.
2046
+ */
2047
+ | 'signing_transport_unavailable'
1933
2048
  /** Request-signing grader's MCP-transport mode collapses URL-edge vectors (#617). */
1934
2049
  | 'mcp_mode_flattens_url_edges'
1935
2050
  /** RFC 9728 protected-resource metadata returned 404 → agent is not advertising OAuth, cascade-skip oauth_discovery (#677). */
@@ -1955,6 +2070,13 @@ export type RunnerDetailedSkipReason = 'probe_skipped' | 'rate_abuse_opt_out' |
1955
2070
  | 'fixture_seed_unsupported'
1956
2071
  /** A valid fixture strategy ladder exhausted without finding a binding. */
1957
2072
  | 'fixture_unsatisfied'
2073
+ /**
2074
+ * The MCP session auth probe (`mcp_session_probe`) cannot grade this step:
2075
+ * its authored validations assert an AdCP task response body that no MCP
2076
+ * protocol operation produces. Distinct from the generic `probe_skipped` so
2077
+ * human and JUnit output can surface the actionable detail (adcp-client#2940).
2078
+ */
2079
+ | 'session_probe_ungradable'
1958
2080
  /**
1959
2081
  * A root capability predicate on the storyboard evaluated to false —
1960
2082
  * the agent explicitly declared it does not support the capability this
@@ -29,7 +29,7 @@ export interface Storyboard {
29
29
  version: string;
30
30
  /**
31
31
  * AdCP compliance cache version this storyboard was loaded from, e.g.
32
- * "3.0.12" or "3.1.0-beta.7". Injected by the local cache loader; not
32
+ * "3.1.18" or "3.2.0-rc.3". Injected by the local cache loader; not
33
33
  * authored in storyboard YAML.
34
34
  */
35
35
  adcp_version?: string;
@@ -897,7 +897,22 @@ export type StoryboardValidationCheck = 'response_schema' | 'field_present' | 'f
897
897
  * envelope fields such as `adcp_major_version` should use
898
898
  * `envelope_field_value`.
899
899
  */
900
- | 'envelope_field_pattern' | 'field_contains' | 'status_code' | 'error_code' | 'http_status' | 'http_status_in' | 'on_401_require_header' | 'resource_equals_agent_url' | 'oauth_metadata_graph' | 'any_of' | 'a2a_submitted_artifact' | 'a2a_context_continuity' | 'refs_resolve'
900
+ | 'envelope_field_pattern' | 'field_contains' | 'status_code' | 'error_code' | 'http_status' | 'http_status_in' | 'on_401_require_header'
901
+ /**
902
+ * Assert that the step's probe reported no grading error, without asserting
903
+ * anything about an HTTP exchange. For probes whose verdict is decided
904
+ * in-library rather than on the wire — the `jwks_override` request-signing
905
+ * negatives, which mutate a JWK the agent under test never publishes and so
906
+ * are graded against the SDK verifier at `http_status: 0` — this is the only
907
+ * honest assertion: synthesizing a 401 from a library boolean would claim a
908
+ * wire exchange that never happened (RFC 9421 §3; adcp-client#2955).
909
+ *
910
+ * Passes when the probe result carries no `error`; fails with the probe's
911
+ * own diagnostic otherwise. Like the `http_status` family it requires a
912
+ * probe result, so authoring it on an ordinary task step fails the step
913
+ * rather than passing vacuously.
914
+ */
915
+ | 'probe_passed' | 'resource_equals_agent_url' | 'oauth_metadata_graph' | 'any_of' | 'a2a_submitted_artifact' | 'a2a_context_continuity' | 'refs_resolve'
901
916
  /**
902
917
  * Assert a numeric field in the current step's response is strictly less than
903
918
  * a comparand. The comparand is either a context-captured runtime value
@@ -1362,6 +1377,44 @@ export type WebhookAssertionErrorCode = 'no_webhook_received' | 'schema_violatio
1362
1377
  * (tests, tooling) can reproduce the grader's exact validation.
1363
1378
  */
1364
1379
  export declare const WEBHOOK_IDEMPOTENCY_KEY_PATTERN: RegExp;
1380
+ /**
1381
+ * Runner-native sentinel task for the MCP session auth probe
1382
+ * (adcp-client#2940).
1383
+ *
1384
+ * `$test_kit.auth.probe_task` normally resolves to an advertised entry of
1385
+ * `PROBE_TASK_ALLOWLIST`. When MCP discovery succeeds but the agent advertises
1386
+ * none of them, `selectProbeTask` resolves to this sentinel instead of
1387
+ * `undefined` — but only on an explicit `protocol: 'mcp'`. The runner then
1388
+ * drives a complete MCP session lifecycle: `initialize` →
1389
+ * `notifications/initialized` → `tools/call` against a canonical AdCP
1390
+ * protected read the agent advertises, then `DELETE` to terminate the session.
1391
+ *
1392
+ * The graded call is `tools/call`, not MCP discovery: `tools/list` is not an
1393
+ * AdCP protected task (`get_adcp_capabilities` is mandatory-public), so it can
1394
+ * never be evidence about this agent's authentication. Grading a real
1395
+ * protected operation — rather than stopping at the handshake — is also what
1396
+ * makes the verdict independent of whether the agent enforces auth at the
1397
+ * session boundary or per operation.
1398
+ *
1399
+ * The target is drawn from the canonical AdCP tool registries, excludes the
1400
+ * public tier and mutating tasks, and must declare no required request field.
1401
+ * The runner still cannot guarantee an agent accepts an empty-argument call:
1402
+ * the next candidate is tried, and if every one refuses the shape the step
1403
+ * reports *inconclusive* on its response rather than an auth result. When the
1404
+ * agent advertises no eligible target at all, the step is skipped
1405
+ * `session_probe_ungradable` instead.
1406
+ *
1407
+ * What the probe can establish is bounded: that the endpoint accepts a
1408
+ * credential the *runner was configured with* and refuses the states it was
1409
+ * told to refuse, **at the tool it graded**. It is evidence that the auth
1410
+ * mechanism is enforced, not proof that every tool enforces it. It does not
1411
+ * verify any cryptographic property of that credential, and does not prove
1412
+ * which issuer minted it.
1413
+ *
1414
+ * Deliberately **not** a member of `PROBE_TASK_ALLOWLIST`: operators cannot
1415
+ * select it via `test_kit.auth.probe_task`, only the runner can resolve to it.
1416
+ */
1417
+ export declare const MCP_SESSION_PROBE_TASK = "mcp_session_probe";
1365
1418
  /**
1366
1419
  * Raw HTTP probe result for tasks like `protected_resource_metadata` that
1367
1420
  * bypass the MCP transport. Carried through the runner alongside
@@ -1377,6 +1430,18 @@ export interface HttpProbeResult {
1377
1430
  body: unknown;
1378
1431
  /** Optional error — set when the fetch failed (network, SSRF guard, etc.). */
1379
1432
  error?: string;
1433
+ /**
1434
+ * The probe could not complete for a reason the runner owns — a transport
1435
+ * or precondition failure (MCP initialize, DNS, an unreadable fixture
1436
+ * cache), as opposed to a verdict the probe reached.
1437
+ *
1438
+ * Needed because both shapes report `status: 0` with `error` set: an
1439
+ * in-library request-signing grade that failed is a real verdict about the
1440
+ * agent's expected behavior, while a failed MCP handshake says only that
1441
+ * the run never got far enough to ask. Coverage reporting has to tell an
1442
+ * operator which of the two happened, and the remedies are opposites.
1443
+ */
1444
+ probe_error?: boolean;
1380
1445
  /**
1381
1446
  * Probe was intentionally skipped (e.g. operator opted out of a vector,
1382
1447
  * capability profile mismatch, or test-kit contract not in scope). When
@@ -1493,8 +1558,8 @@ export interface StoryboardRunOptions extends TestOptions {
1493
1558
  *
1494
1559
  * Reuse a profile only for the same agent URL, authentication, AdCP version,
1495
1560
  * and route that produced it. Route-specific profiles are not interchangeable.
1496
- * In an `agents` run this value supplies only the run-level/default-agent
1497
- * gating context; each routed agent is still discovered independently.
1561
+ * Ignored in an `agents` run: each routed agent is discovered independently,
1562
+ * and its profile governs the steps selected for that agent.
1498
1563
  * Profile reuse does not retain or reuse a client or transport connection.
1499
1564
  *
1500
1565
  * `AgentProfile` does not carry the server's exact wire version. Pass
@@ -1530,7 +1595,11 @@ export interface StoryboardRunOptions extends TestOptions {
1530
1595
  contributions?: string[];
1531
1596
  /** Override the step's sample_request with a custom request */
1532
1597
  request?: Record<string, unknown>;
1533
- /** Agent's available tools for storyboard/step-level tool gates. */
1598
+ /**
1599
+ * Agent's available tools for storyboard/step-level tool gates. Ignored when
1600
+ * `agents` is supplied: routed discovery determines applicability and each
1601
+ * selected agent's tool list controls its execution gates.
1602
+ */
1534
1603
  agentTools?: string[];
1535
1604
  /**
1536
1605
  * Allow plain-http agent URLs during compliance runs and permit guarded
@@ -1587,15 +1656,35 @@ export interface StoryboardRunOptions extends TestOptions {
1587
1656
  * operation AdCP endpoint (e.g. `<baseUrl>/create_media_buy`).
1588
1657
  * Works for agents that expose AdCP tools as discrete HTTP
1589
1658
  * operations.
1590
- * - `mcp` (default) — wraps each vector body in a JSON-RPC `tools/call`
1659
+ * - `mcp` — wraps each vector body in a JSON-RPC `tools/call`
1591
1660
  * envelope and POSTs to the agent's single `/mcp` mount. Required
1592
1661
  * for MCP-only agents that don't expose per-operation endpoints.
1593
1662
  * The operation name is derived from the last path segment of the
1594
1663
  * vector's target URL.
1595
1664
  *
1596
- * Matches the `adcp grade request-signing --transport <mode>` CLI flag.
1597
- * Agents that only speak MCP JSON-RPC can't grade under `raw`; use
1598
- * `mcp` to let the runner round-trip every vector through `tools/call`.
1665
+ * Defaults to the shape the run's `protocol` can actually grade: `mcp`
1666
+ * on an MCP run, and neither shape on an A2A run — this runner
1667
+ * implements only those two dispatches, and neither is an A2A request.
1668
+ * Vectors that need a wire exchange then skip as
1669
+ * `signing_transport_unavailable` — and because no vector reached the
1670
+ * agent, the storyboard cannot report a pass and the track grades
1671
+ * `partial` rather than the run being scored against a transport error
1672
+ * (adcp-client#2954). Only the
1673
+ * in-library `jwks_override` negatives still run there: the grader
1674
+ * decides them against the library verifier with no wire exchange at
1675
+ * all, so the run's protocol is irrelevant to them. Every other probed
1676
+ * vector reports the coverage gap, the protocol-method negatives
1677
+ * included — the official `@a2a-js/sdk` client can issue those methods,
1678
+ * but this runner does not yet sign and dispatch a vector through it,
1679
+ * and writing the fixture bytes to the endpoint directly would be a
1680
+ * hand-rolled A2A dispatch. Setting this field explicitly overrides the
1681
+ * inference on any protocol; on an A2A run, do that only when the
1682
+ * agent's MCP or REST binding answers at the same URL.
1683
+ *
1684
+ * Matches the `adcp grade request-signing --transport <mode>` CLI flag,
1685
+ * and `adcp storyboard run --signing-transport <mode>`. Agents that only
1686
+ * speak MCP JSON-RPC can't grade under `raw`; use `mcp` to let the runner
1687
+ * round-trip every vector through `tools/call`.
1599
1688
  */
1600
1689
  transport?: 'raw' | 'mcp';
1601
1690
  /**
@@ -1640,6 +1729,12 @@ export interface StoryboardRunOptions extends TestOptions {
1640
1729
  * (`StoryboardStep.task`) is resolved to the agent that claims its
1641
1730
  * specialism via `TASK_FEATURE_MAP` × per-agent `get_adcp_capabilities`.
1642
1731
  * An optional explicit `StoryboardStep.agent` override takes precedence.
1732
+ * Discovered tools across the map determine storyboard-level any-of
1733
+ * applicability. Each dispatched step uses its selected agent's tools
1734
+ * and profile; run-level `agentTools` cannot override routed discovery.
1735
+ * Per-entry authentication and transport override caller-supplied run
1736
+ * defaults. Other run options, including headers and request signing,
1737
+ * remain shared defaults across the map.
1643
1738
  *
1644
1739
  * Mutually exclusive with `multi_instance_strategy` (which is replica
1645
1740
  * round-robin, a different concept) and with the legacy `_client`
@@ -1663,7 +1758,7 @@ export interface StoryboardRunOptions extends TestOptions {
1663
1758
  agents?: Record<string, AgentEntry>;
1664
1759
  /**
1665
1760
  * Fallback agent key (must be present in `agents`) for tasks with no entry
1666
- * in `TASK_FEATURE_MAP` — e.g., `comply_test_controller`, future tasks
1761
+ * in `TASK_FEATURE_MAP` — e.g., `sync_creatives`, future tasks
1667
1762
  * shipped before the SDK adds them to the map. When omitted, unmapped
1668
1763
  * tasks fail-fast with `unroutable_task`.
1669
1764
  */
@@ -1930,6 +2025,26 @@ export type RunnerDetailedSkipReason = 'probe_skipped' | 'rate_abuse_opt_out' |
1930
2025
  | 'capability_profile_mismatch'
1931
2026
  /** Request-signing vector cannot be graded faithfully by the selected transport. */
1932
2027
  | 'transport_ungradable'
2028
+ /**
2029
+ * The run's protocol has no shape the request-signing vectors can be
2030
+ * framed in, so the runner could not grade them at all — a runner-owned
2031
+ * coverage gap, not a property of the agent.
2032
+ *
2033
+ * Canonicalizes to `not_applicable` with `skip.detail` set to this exact
2034
+ * token, the shape `runner-output-contract.yaml` defines for a registered
2035
+ * `canonical_detail_sub_reasons.not_applicable.*` sub-reason (see
2036
+ * `rate_limit_not_triggered`, the shipped precedent). It deliberately does
2037
+ * NOT use `fixture_unavailable`: that reason's contract text mandates a
2038
+ * `creative_asset_fixture_unavailable:` detail prefix and says the
2039
+ * storyboard grades `not_applicable` with no verdict movement, which is
2040
+ * the opposite of what this gap must do.
2041
+ *
2042
+ * The gap is kept visible by coverage, not by the reason: `signingCoverage`
2043
+ * in the runner decides the storyboard verdict, the track rollup, the
2044
+ * report block and the CLI exit from whether any probe reached the agent.
2045
+ * See that function for why a skip reason cannot carry that weight.
2046
+ */
2047
+ | 'signing_transport_unavailable'
1933
2048
  /** Request-signing grader's MCP-transport mode collapses URL-edge vectors (#617). */
1934
2049
  | 'mcp_mode_flattens_url_edges'
1935
2050
  /** RFC 9728 protected-resource metadata returned 404 → agent is not advertising OAuth, cascade-skip oauth_discovery (#677). */
@@ -1955,6 +2070,13 @@ export type RunnerDetailedSkipReason = 'probe_skipped' | 'rate_abuse_opt_out' |
1955
2070
  | 'fixture_seed_unsupported'
1956
2071
  /** A valid fixture strategy ladder exhausted without finding a binding. */
1957
2072
  | 'fixture_unsatisfied'
2073
+ /**
2074
+ * The MCP session auth probe (`mcp_session_probe`) cannot grade this step:
2075
+ * its authored validations assert an AdCP task response body that no MCP
2076
+ * protocol operation produces. Distinct from the generic `probe_skipped` so
2077
+ * human and JUnit output can surface the actionable detail (adcp-client#2940).
2078
+ */
2079
+ | 'session_probe_ungradable'
1958
2080
  /**
1959
2081
  * A root capability predicate on the storyboard evaluated to false —
1960
2082
  * the agent explicitly declared it does not support the capability this
@@ -20,22 +20,38 @@ var types_exports = {};
20
20
  __export(types_exports, {
21
21
  DETAILED_SKIP_TO_CANONICAL: () => DETAILED_SKIP_TO_CANONICAL,
22
22
  KNOWN_REQUIREMENTS: () => KNOWN_REQUIREMENTS,
23
+ MCP_SESSION_PROBE_TASK: () => MCP_SESSION_PROBE_TASK,
23
24
  WEBHOOK_IDEMPOTENCY_KEY_PATTERN: () => WEBHOOK_IDEMPOTENCY_KEY_PATTERN
24
25
  });
25
26
  module.exports = __toCommonJS(types_exports);
26
27
  const WEBHOOK_IDEMPOTENCY_KEY_PATTERN = /^[A-Za-z0-9_.:-]{16,255}$/;
28
+ const MCP_SESSION_PROBE_TASK = "mcp_session_probe";
27
29
  const DETAILED_SKIP_TO_CANONICAL = {
28
30
  probe_skipped: "not_applicable",
29
31
  not_in_only_vectors: "not_applicable",
30
32
  grader_skipped: "not_applicable",
31
33
  capability_profile_mismatch: "not_applicable",
34
+ // Scope note (adcp-client#2954): `transport_ungradable` marks vectors the
35
+ // grader's own TRANSPORT_UNGRADABLE table carves out on every run because
36
+ // no HTTP client can put those bytes on the wire — `026-non-ascii-host`
37
+ // for any storyboard-synthesized run, plus a profile-3.2 entry the
38
+ // storyboard never synthesizes. It stays `not_applicable`: those vectors
39
+ // are inapplicable to every binding, and the other ~38 still verify the
40
+ // agent.
41
+ //
42
+ // `signing_transport_unavailable` is also `not_applicable` at the canonical
43
+ // layer, but for the contract-shape reason documented on the enum member
44
+ // above — not because the gap is tolerable. Its weight is carried by
45
+ // `signingCoverage`, which asks whether any vector reached the agent.
32
46
  transport_ungradable: "not_applicable",
47
+ signing_transport_unavailable: "not_applicable",
33
48
  mcp_mode_flattens_url_edges: "not_applicable",
34
49
  oauth_not_advertised: "not_applicable",
35
50
  rate_limit_not_triggered: "not_applicable",
36
51
  force_scenario_unsupported: "not_applicable",
37
52
  fixture_seed_unsupported: "not_applicable",
38
53
  fixture_unsatisfied: "not_applicable",
54
+ session_probe_ungradable: "not_applicable",
39
55
  capability_unsupported: "not_applicable",
40
56
  capability_prerequisite_unavailable: "not_applicable",
41
57
  rate_abuse_opt_out: "unsatisfied_contract",
@@ -59,5 +75,6 @@ const KNOWN_REQUIREMENTS = /* @__PURE__ */ new Set([
59
75
  0 && (module.exports = {
60
76
  DETAILED_SKIP_TO_CANONICAL,
61
77
  KNOWN_REQUIREMENTS,
78
+ MCP_SESSION_PROBE_TASK,
62
79
  WEBHOOK_IDEMPOTENCY_KEY_PATTERN
63
80
  });
@@ -1,16 +1,31 @@
1
1
  const WEBHOOK_IDEMPOTENCY_KEY_PATTERN = /^[A-Za-z0-9_.:-]{16,255}$/;
2
+ const MCP_SESSION_PROBE_TASK = "mcp_session_probe";
2
3
  const DETAILED_SKIP_TO_CANONICAL = {
3
4
  probe_skipped: "not_applicable",
4
5
  not_in_only_vectors: "not_applicable",
5
6
  grader_skipped: "not_applicable",
6
7
  capability_profile_mismatch: "not_applicable",
8
+ // Scope note (adcp-client#2954): `transport_ungradable` marks vectors the
9
+ // grader's own TRANSPORT_UNGRADABLE table carves out on every run because
10
+ // no HTTP client can put those bytes on the wire — `026-non-ascii-host`
11
+ // for any storyboard-synthesized run, plus a profile-3.2 entry the
12
+ // storyboard never synthesizes. It stays `not_applicable`: those vectors
13
+ // are inapplicable to every binding, and the other ~38 still verify the
14
+ // agent.
15
+ //
16
+ // `signing_transport_unavailable` is also `not_applicable` at the canonical
17
+ // layer, but for the contract-shape reason documented on the enum member
18
+ // above — not because the gap is tolerable. Its weight is carried by
19
+ // `signingCoverage`, which asks whether any vector reached the agent.
7
20
  transport_ungradable: "not_applicable",
21
+ signing_transport_unavailable: "not_applicable",
8
22
  mcp_mode_flattens_url_edges: "not_applicable",
9
23
  oauth_not_advertised: "not_applicable",
10
24
  rate_limit_not_triggered: "not_applicable",
11
25
  force_scenario_unsupported: "not_applicable",
12
26
  fixture_seed_unsupported: "not_applicable",
13
27
  fixture_unsatisfied: "not_applicable",
28
+ session_probe_ungradable: "not_applicable",
14
29
  capability_unsupported: "not_applicable",
15
30
  capability_prerequisite_unavailable: "not_applicable",
16
31
  rate_abuse_opt_out: "unsatisfied_contract",
@@ -33,5 +48,6 @@ const KNOWN_REQUIREMENTS = /* @__PURE__ */ new Set([
33
48
  export {
34
49
  DETAILED_SKIP_TO_CANONICAL,
35
50
  KNOWN_REQUIREMENTS,
51
+ MCP_SESSION_PROBE_TASK,
36
52
  WEBHOOK_IDEMPOTENCY_KEY_PATTERN
37
53
  };
@@ -197,7 +197,7 @@ export interface UpstreamTrafficQueryResult {
197
197
  */
198
198
  export declare function runValidations(validations: StoryboardValidation[], context: ValidationContext): ValidationResult[];
199
199
  /** Capability semver emitted in run summaries and used for advisory expiry. */
200
- export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-rc.38";
200
+ export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-rc.39";
201
201
  /** True when a failed validation contributes to the owning step's grade. */
202
202
  export declare function validationFailsStep(result: ValidationResult): boolean;
203
203
  /**
@@ -197,7 +197,7 @@ export interface UpstreamTrafficQueryResult {
197
197
  */
198
198
  export declare function runValidations(validations: StoryboardValidation[], context: ValidationContext): ValidationResult[];
199
199
  /** Capability semver emitted in run summaries and used for advisory expiry. */
200
- export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-rc.38";
200
+ export declare const RUNNER_CAPABILITY_VERSION = "14.0.0-rc.39";
201
201
  /** True when a failed validation contributes to the owning step's grade. */
202
202
  export declare function validationFailsStep(result: ValidationResult): boolean;
203
203
  /**
@@ -107,6 +107,8 @@ function runValidation(validation, ctx) {
107
107
  return requireHttpResult(ctx, validation, (hr) => validateHttpStatus(validation, hr));
108
108
  case "http_status_in":
109
109
  return requireHttpResult(ctx, validation, (hr) => validateHttpStatusIn(validation, hr));
110
+ case "probe_passed":
111
+ return requireHttpResult(ctx, validation, (hr) => validateProbePassed(validation, hr));
110
112
  case "on_401_require_header":
111
113
  return requireHttpResult(ctx, validation, (hr) => validateOn401RequireHeader(validation, hr));
112
114
  case "resource_equals_agent_url":
@@ -1210,6 +1212,20 @@ function validateHttpStatusIn(validation, hr) {
1210
1212
  actual: hr.status
1211
1213
  };
1212
1214
  }
1215
+ function validateProbePassed(validation, hr) {
1216
+ if (!hr.error) {
1217
+ return { check: "probe_passed", passed: true, description: validation.description };
1218
+ }
1219
+ return {
1220
+ check: "probe_passed",
1221
+ passed: false,
1222
+ description: validation.description,
1223
+ error: `Probe reported a failed grade: ${hr.error}`,
1224
+ json_pointer: null,
1225
+ expected: "probe grade with no error",
1226
+ actual: hr.error
1227
+ };
1228
+ }
1213
1229
  const SCHEMA_KEYWORD_RE = /invalid[_ ]?params|validation|schema|required|must be/i;
1214
1230
  const SCHEMA_CODE_RE = /VALIDATION|INVALID|SCHEMA|BAD_REQUEST/i;
1215
1231
  function looksLikeSchemaValidationBody(body) {
@@ -82,6 +82,8 @@ function runValidation(validation, ctx) {
82
82
  return requireHttpResult(ctx, validation, (hr) => validateHttpStatus(validation, hr));
83
83
  case "http_status_in":
84
84
  return requireHttpResult(ctx, validation, (hr) => validateHttpStatusIn(validation, hr));
85
+ case "probe_passed":
86
+ return requireHttpResult(ctx, validation, (hr) => validateProbePassed(validation, hr));
85
87
  case "on_401_require_header":
86
88
  return requireHttpResult(ctx, validation, (hr) => validateOn401RequireHeader(validation, hr));
87
89
  case "resource_equals_agent_url":
@@ -1186,6 +1188,20 @@ function validateHttpStatusIn(validation, hr) {
1186
1188
  actual: hr.status
1187
1189
  };
1188
1190
  }
1191
+ function validateProbePassed(validation, hr) {
1192
+ if (!hr.error) {
1193
+ return { check: "probe_passed", passed: true, description: validation.description };
1194
+ }
1195
+ return {
1196
+ check: "probe_passed",
1197
+ passed: false,
1198
+ description: validation.description,
1199
+ error: `Probe reported a failed grade: ${hr.error}`,
1200
+ json_pointer: null,
1201
+ expected: "probe grade with no error",
1202
+ actual: hr.error
1203
+ };
1204
+ }
1189
1205
  const SCHEMA_KEYWORD_RE = /invalid[_ ]?params|validation|schema|required|must be/i;
1190
1206
  const SCHEMA_CODE_RE = /VALIDATION|INVALID|SCHEMA|BAD_REQUEST/i;
1191
1207
  function looksLikeSchemaValidationBody(body) {
@@ -9,7 +9,7 @@ import type { AgentProfile, TaskResult, TestOptions } from './types.mjs';
9
9
  import type { RecordedCall } from '../upstream-recorder/types.mjs';
10
10
  import type { ComplyTestControllerResponse, ListScenariosSuccess, StateTransitionSuccess, SimulationSuccess, ControllerError } from '../types/tools.generated.mjs';
11
11
  /** Known canonical scenarios, retained as an autocomplete convenience. */
12
- export type ControllerScenario = 'force_creative_status' | 'force_account_status' | 'force_media_buy_status' | 'force_session_status' | 'force_create_media_buy_arm' | 'force_get_products_arm' | 'force_get_signals_arm' | 'force_task_completion' | 'simulate_delivery' | 'simulate_budget_spend'
12
+ export type ControllerScenario = 'force_creative_status' | 'force_account_status' | 'force_media_buy_status' | 'force_session_status' | 'force_create_media_buy_arm' | 'force_get_products_arm' | 'force_get_signals_arm' | 'force_task_completion' | 'reset_state' | 'simulate_delivery' | 'simulate_budget_spend'
13
13
  /**
14
14
  * Returns outbound HTTP calls the agent has made since session start
15
15
  * (or since a caller-supplied timestamp). Backs the `upstream_traffic`
@@ -9,7 +9,7 @@ import type { AgentProfile, TaskResult, TestOptions } from './types';
9
9
  import type { RecordedCall } from '../upstream-recorder/types';
10
10
  import type { ComplyTestControllerResponse, ListScenariosSuccess, StateTransitionSuccess, SimulationSuccess, ControllerError } from '../types/tools.generated';
11
11
  /** Known canonical scenarios, retained as an autocomplete convenience. */
12
- export type ControllerScenario = 'force_creative_status' | 'force_account_status' | 'force_media_buy_status' | 'force_session_status' | 'force_create_media_buy_arm' | 'force_get_products_arm' | 'force_get_signals_arm' | 'force_task_completion' | 'simulate_delivery' | 'simulate_budget_spend'
12
+ export type ControllerScenario = 'force_creative_status' | 'force_account_status' | 'force_media_buy_status' | 'force_session_status' | 'force_create_media_buy_arm' | 'force_get_products_arm' | 'force_get_signals_arm' | 'force_task_completion' | 'reset_state' | 'simulate_delivery' | 'simulate_budget_spend'
13
13
  /**
14
14
  * Returns outbound HTTP calls the agent has made since session start
15
15
  * (or since a caller-supplied timestamp). Backs the `upstream_traffic`