@adcp/sdk 12.0.6 → 12.1.1

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 (1452) hide show
  1. package/ADCP_VERSION +1 -1
  2. package/compliance/cache/{3.1.2.previous → 3.1.5}/domains/creative/scenarios/canonical_supported_formats.yaml +4 -8
  3. package/compliance/cache/{3.1.2.previous/protocols → 3.1.5/domains}/creative/scenarios/evaluator_auth.yaml +22 -4
  4. package/compliance/cache/{3.1.2/protocols → 3.1.5/domains}/media-buy/scenarios/available_actions.yaml +8 -2
  5. package/compliance/cache/{3.1.2/protocols → 3.1.5/domains}/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
  6. package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
  7. package/compliance/cache/{3.1.2 → 3.1.5}/index.json +3 -3
  8. package/compliance/cache/{3.1.2/domains → 3.1.5/protocols}/creative/scenarios/canonical_supported_formats.yaml +4 -8
  9. package/compliance/cache/{3.1.2/domains → 3.1.5/protocols}/creative/scenarios/evaluator_auth.yaml +22 -4
  10. package/compliance/cache/{3.1.2.previous → 3.1.5}/protocols/media-buy/scenarios/available_actions.yaml +8 -2
  11. package/compliance/cache/{3.1.2.previous/domains → 3.1.5/protocols}/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
  12. package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
  13. package/compliance/cache/{3.1.2.previous → 3.1.5}/test-kits/parallel-dispatch-runner.yaml +1 -1
  14. package/compliance/cache/{3.1.2.previous → 3.1.5}/test-kits/rate-limit-trip-runner.yaml +6 -5
  15. package/compliance/cache/{3.1.2.previous → 3.1.5}/universal/idempotency.yaml +5 -5
  16. package/compliance/cache/{3.1.2.previous → 3.1.5}/universal/runner-output-contract.yaml +58 -0
  17. package/compliance/cache/{3.1.2 → 3.1.5}/universal/storyboard-schema.yaml +9 -2
  18. package/compliance/cache/{3.1.2/protocols → 3.1.5.previous/domains}/creative/scenarios/canonical_supported_formats.yaml +4 -8
  19. package/compliance/cache/{3.1.2/protocols → 3.1.5.previous/domains}/creative/scenarios/evaluator_auth.yaml +22 -4
  20. package/compliance/cache/{3.1.2 → 3.1.5.previous}/domains/media-buy/scenarios/available_actions.yaml +8 -2
  21. package/compliance/cache/{3.1.2.previous/protocols → 3.1.5.previous/domains}/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
  22. package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
  23. package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/index.json +3 -3
  24. package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/creative/scenarios/canonical_supported_formats.yaml +4 -8
  25. package/compliance/cache/{3.1.2.previous/domains → 3.1.5.previous/protocols}/creative/scenarios/evaluator_auth.yaml +22 -4
  26. package/compliance/cache/{3.1.2.previous/domains → 3.1.5.previous/protocols}/media-buy/scenarios/available_actions.yaml +8 -2
  27. package/compliance/cache/{3.1.2/domains → 3.1.5.previous/protocols}/media-buy/scenarios/inventory_list_no_match.yaml +1 -1
  28. package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +1 -1
  29. package/compliance/cache/{3.1.2 → 3.1.5.previous}/test-kits/parallel-dispatch-runner.yaml +1 -1
  30. package/compliance/cache/{3.1.2 → 3.1.5.previous}/test-kits/rate-limit-trip-runner.yaml +6 -5
  31. package/compliance/cache/{3.1.2 → 3.1.5.previous}/universal/idempotency.yaml +5 -5
  32. package/compliance/cache/{3.1.2 → 3.1.5.previous}/universal/runner-output-contract.yaml +58 -0
  33. package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/storyboard-schema.yaml +9 -2
  34. package/dist/lib/auth/oauth/authorization-required.d.mts +3 -0
  35. package/dist/lib/auth/oauth/authorization-required.d.ts +3 -0
  36. package/dist/lib/auth/oauth/authorization-required.d.ts.map +1 -1
  37. package/dist/lib/auth/oauth/authorization-required.js +12 -9
  38. package/dist/lib/auth/oauth/authorization-required.js.map +1 -1
  39. package/dist/lib/auth/oauth/authorization-required.mjs +12 -9
  40. package/dist/lib/auth/oauth/authorization-required.mjs.map +1 -1
  41. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  42. package/dist/lib/core/SingleAgentClient.d.mts +2 -2
  43. package/dist/lib/core/SingleAgentClient.d.ts +2 -2
  44. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  45. package/dist/lib/core/SingleAgentClient.js +145 -55
  46. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  47. package/dist/lib/core/SingleAgentClient.mjs +145 -55
  48. package/dist/lib/core/SingleAgentClient.mjs.map +1 -1
  49. package/dist/lib/core/TaskExecutor.js +1 -1
  50. package/dist/lib/core/TaskExecutor.js.map +1 -1
  51. package/dist/lib/core/TaskExecutor.mjs +1 -1
  52. package/dist/lib/core/TaskExecutor.mjs.map +1 -1
  53. package/dist/lib/net/ssrf-fetch.d.mts +13 -1
  54. package/dist/lib/net/ssrf-fetch.d.ts +13 -1
  55. package/dist/lib/net/ssrf-fetch.d.ts.map +1 -1
  56. package/dist/lib/net/ssrf-fetch.js +14 -7
  57. package/dist/lib/net/ssrf-fetch.js.map +1 -1
  58. package/dist/lib/net/ssrf-fetch.mjs +14 -7
  59. package/dist/lib/net/ssrf-fetch.mjs.map +1 -1
  60. package/dist/lib/protocols/a2a.d.mts +2 -2
  61. package/dist/lib/protocols/a2a.d.ts +2 -2
  62. package/dist/lib/protocols/a2a.d.ts.map +1 -1
  63. package/dist/lib/protocols/a2a.js +14 -9
  64. package/dist/lib/protocols/a2a.js.map +1 -1
  65. package/dist/lib/protocols/a2a.mjs +14 -9
  66. package/dist/lib/protocols/a2a.mjs.map +1 -1
  67. package/dist/lib/protocols/index.d.mts +20 -3
  68. package/dist/lib/protocols/index.d.ts +20 -3
  69. package/dist/lib/protocols/index.d.ts.map +1 -1
  70. package/dist/lib/protocols/index.js +40 -18
  71. package/dist/lib/protocols/index.js.map +1 -1
  72. package/dist/lib/protocols/index.mjs +40 -18
  73. package/dist/lib/protocols/index.mjs.map +1 -1
  74. package/dist/lib/protocols/mcp-tasks.d.mts +3 -0
  75. package/dist/lib/protocols/mcp-tasks.d.ts +3 -0
  76. package/dist/lib/protocols/mcp-tasks.d.ts.map +1 -1
  77. package/dist/lib/protocols/mcp-tasks.js +21 -11
  78. package/dist/lib/protocols/mcp-tasks.js.map +1 -1
  79. package/dist/lib/protocols/mcp-tasks.mjs +21 -11
  80. package/dist/lib/protocols/mcp-tasks.mjs.map +1 -1
  81. package/dist/lib/schemas-data/3.1/a2ui/bound-value.json +1 -1
  82. package/dist/lib/schemas-data/3.1/a2ui/component.json +1 -1
  83. package/dist/lib/schemas-data/3.1/a2ui/si-catalog.json +25 -25
  84. package/dist/lib/schemas-data/3.1/a2ui/surface.json +2 -2
  85. package/dist/lib/schemas-data/3.1/a2ui/user-action.json +1 -1
  86. package/dist/lib/schemas-data/3.1/aao/agent-publishers.json +1 -1
  87. package/dist/lib/schemas-data/3.1/account/get-account-financials-request.json +6 -6
  88. package/dist/lib/schemas-data/3.1/account/get-account-financials-response.json +12 -12
  89. package/dist/lib/schemas-data/3.1/account/list-accounts-request.json +6 -6
  90. package/dist/lib/schemas-data/3.1/account/list-accounts-response.json +8 -8
  91. package/dist/lib/schemas-data/3.1/account/report-usage-request.json +6 -6
  92. package/dist/lib/schemas-data/3.1/account/report-usage-response.json +6 -6
  93. package/dist/lib/schemas-data/3.1/account/sync-accounts-request.json +12 -12
  94. package/dist/lib/schemas-data/3.1/account/sync-accounts-response.json +16 -16
  95. package/dist/lib/schemas-data/3.1/account/sync-governance-request.json +6 -6
  96. package/dist/lib/schemas-data/3.1/account/sync-governance-response.json +10 -10
  97. package/dist/lib/schemas-data/3.1/adagents.json +29 -29
  98. package/dist/lib/schemas-data/3.1/brand/acquire-rights-request.json +10 -10
  99. package/dist/lib/schemas-data/3.1/brand/acquire-rights-response.json +16 -16
  100. package/dist/lib/schemas-data/3.1/brand/creative-approval-request.json +5 -5
  101. package/dist/lib/schemas-data/3.1/brand/creative-approval-response.json +12 -12
  102. package/dist/lib/schemas-data/3.1/brand/get-brand-identity-request.json +4 -4
  103. package/dist/lib/schemas-data/3.1/brand/get-brand-identity-response.json +10 -10
  104. package/dist/lib/schemas-data/3.1/brand/get-rights-request.json +8 -8
  105. package/dist/lib/schemas-data/3.1/brand/get-rights-response.json +11 -11
  106. package/dist/lib/schemas-data/3.1/brand/revocation-notification.json +4 -4
  107. package/dist/lib/schemas-data/3.1/brand/rights-pricing-option.json +5 -5
  108. package/dist/lib/schemas-data/3.1/brand/rights-terms.json +3 -3
  109. package/dist/lib/schemas-data/3.1/brand/search-brands-request.json +6 -6
  110. package/dist/lib/schemas-data/3.1/brand/search-brands-response.json +11 -11
  111. package/dist/lib/schemas-data/3.1/brand/update-rights-request.json +6 -6
  112. package/dist/lib/schemas-data/3.1/brand/update-rights-response.json +11 -11
  113. package/dist/lib/schemas-data/3.1/brand/verification-status.json +1 -1
  114. package/dist/lib/schemas-data/3.1/brand/verify-brand-claim-request.json +2 -2
  115. package/dist/lib/schemas-data/3.1/brand/verify-brand-claim-response.json +13 -13
  116. package/dist/lib/schemas-data/3.1/brand/verify-brand-claims-request.json +2 -2
  117. package/dist/lib/schemas-data/3.1/brand/verify-brand-claims-response.json +13 -13
  118. package/dist/lib/schemas-data/3.1/brand.json +21 -21
  119. package/dist/lib/schemas-data/3.1/bundled/content-standards/calibrate-content-request.json +12 -12
  120. package/dist/lib/schemas-data/3.1/bundled/content-standards/calibrate-content-response.json +12 -12
  121. package/dist/lib/schemas-data/3.1/bundled/content-standards/create-content-standards-request.json +16 -16
  122. package/dist/lib/schemas-data/3.1/bundled/content-standards/create-content-standards-response.json +10 -10
  123. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-content-standards-request.json +5 -5
  124. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-content-standards-response.json +23 -23
  125. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-media-buy-artifacts-request.json +16 -16
  126. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-media-buy-artifacts-response.json +18 -18
  127. package/dist/lib/schemas-data/3.1/bundled/content-standards/list-content-standards-request.json +7 -7
  128. package/dist/lib/schemas-data/3.1/bundled/content-standards/list-content-standards-response.json +24 -24
  129. package/dist/lib/schemas-data/3.1/bundled/content-standards/update-content-standards-request.json +16 -16
  130. package/dist/lib/schemas-data/3.1/bundled/content-standards/update-content-standards-response.json +10 -10
  131. package/dist/lib/schemas-data/3.1/bundled/content-standards/validate-content-delivery-request.json +12 -12
  132. package/dist/lib/schemas-data/3.1/bundled/content-standards/validate-content-delivery-response.json +12 -12
  133. package/dist/lib/schemas-data/3.1/bundled/core/tasks-get-request.json +16 -16
  134. package/dist/lib/schemas-data/3.1/bundled/core/tasks-get-response.json +257 -181
  135. package/dist/lib/schemas-data/3.1/bundled/core/tasks-list-request.json +21 -21
  136. package/dist/lib/schemas-data/3.1/bundled/core/tasks-list-response.json +11 -11
  137. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-delivery-request.json +17 -17
  138. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-delivery-response.json +56 -56
  139. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-features-request.json +44 -44
  140. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-features-response.json +13 -13
  141. package/dist/lib/schemas-data/3.1/bundled/creative/list-creative-formats-request.json +16 -16
  142. package/dist/lib/schemas-data/3.1/bundled/creative/list-creative-formats-response.json +48 -48
  143. package/dist/lib/schemas-data/3.1/bundled/creative/list-creatives-request.json +17 -17
  144. package/dist/lib/schemas-data/3.1/bundled/creative/list-creatives-response.json +56 -56
  145. package/dist/lib/schemas-data/3.1/bundled/creative/list-transformers-request.json +18 -18
  146. package/dist/lib/schemas-data/3.1/bundled/creative/list-transformers-response.json +16 -16
  147. package/dist/lib/schemas-data/3.1/bundled/creative/preview-creative-request.json +44 -44
  148. package/dist/lib/schemas-data/3.1/bundled/creative/preview-creative-response.json +50 -50
  149. package/dist/lib/schemas-data/3.1/bundled/creative/sync-creatives-request.json +47 -47
  150. package/dist/lib/schemas-data/3.1/bundled/creative/sync-creatives-response.json +27 -27
  151. package/dist/lib/schemas-data/3.1/bundled/creative/validate-input-request.json +44 -44
  152. package/dist/lib/schemas-data/3.1/bundled/creative/validate-input-response.json +12 -12
  153. package/dist/lib/schemas-data/3.1/bundled/media-buy/build-creative-request.json +53 -53
  154. package/dist/lib/schemas-data/3.1/bundled/media-buy/build-creative-response.json +54 -54
  155. package/dist/lib/schemas-data/3.1/bundled/media-buy/create-media-buy-request.json +83 -83
  156. package/dist/lib/schemas-data/3.1/bundled/media-buy/create-media-buy-response.json +77 -77
  157. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buy-delivery-request.json +25 -25
  158. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buy-delivery-response.json +40 -40
  159. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buys-request.json +18 -18
  160. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buys-response.json +65 -65
  161. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-products-request.json +49 -49
  162. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-products-response.json +137 -99
  163. package/dist/lib/schemas-data/3.1/bundled/media-buy/list-creative-formats-request.json +12 -12
  164. package/dist/lib/schemas-data/3.1/bundled/media-buy/list-creative-formats-response.json +48 -48
  165. package/dist/lib/schemas-data/3.1/bundled/media-buy/log-event-request.json +12 -12
  166. package/dist/lib/schemas-data/3.1/bundled/media-buy/log-event-response.json +10 -10
  167. package/dist/lib/schemas-data/3.1/bundled/media-buy/package-request.json +79 -79
  168. package/dist/lib/schemas-data/3.1/bundled/media-buy/provide-performance-feedback-request.json +8 -8
  169. package/dist/lib/schemas-data/3.1/bundled/media-buy/provide-performance-feedback-response.json +10 -10
  170. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-audiences-request.json +18 -18
  171. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-audiences-response.json +12 -12
  172. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-catalogs-request.json +26 -26
  173. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-catalogs-response.json +12 -12
  174. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-event-sources-request.json +19 -19
  175. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-event-sources-response.json +16 -16
  176. package/dist/lib/schemas-data/3.1/bundled/media-buy/update-media-buy-request.json +79 -79
  177. package/dist/lib/schemas-data/3.1/bundled/media-buy/update-media-buy-response.json +71 -71
  178. package/dist/lib/schemas-data/3.1/bundled/property/create-property-list-request.json +18 -18
  179. package/dist/lib/schemas-data/3.1/bundled/property/create-property-list-response.json +26 -26
  180. package/dist/lib/schemas-data/3.1/bundled/property/delete-property-list-request.json +16 -16
  181. package/dist/lib/schemas-data/3.1/bundled/property/delete-property-list-response.json +10 -10
  182. package/dist/lib/schemas-data/3.1/bundled/property/get-property-list-request.json +16 -16
  183. package/dist/lib/schemas-data/3.1/bundled/property/get-property-list-response.json +27 -27
  184. package/dist/lib/schemas-data/3.1/bundled/property/list-property-lists-request.json +17 -17
  185. package/dist/lib/schemas-data/3.1/bundled/property/list-property-lists-response.json +27 -27
  186. package/dist/lib/schemas-data/3.1/bundled/property/update-property-list-request.json +18 -18
  187. package/dist/lib/schemas-data/3.1/bundled/property/update-property-list-response.json +26 -26
  188. package/dist/lib/schemas-data/3.1/bundled/property/validate-property-delivery-request.json +19 -19
  189. package/dist/lib/schemas-data/3.1/bundled/property/validate-property-delivery-response.json +15 -15
  190. package/dist/lib/schemas-data/3.1/bundled/protocol/get-adcp-capabilities-request.json +5 -5
  191. package/dist/lib/schemas-data/3.1/bundled/protocol/get-adcp-capabilities-response.json +36 -36
  192. package/dist/lib/schemas-data/3.1/bundled/protocol/get-task-status-request.json +16 -16
  193. package/dist/lib/schemas-data/3.1/bundled/protocol/get-task-status-response.json +257 -181
  194. package/dist/lib/schemas-data/3.1/bundled/protocol/list-tasks-request.json +21 -21
  195. package/dist/lib/schemas-data/3.1/bundled/protocol/list-tasks-response.json +11 -11
  196. package/dist/lib/schemas-data/3.1/bundled/signals/activate-signal-request.json +17 -17
  197. package/dist/lib/schemas-data/3.1/bundled/signals/activate-signal-response.json +12 -12
  198. package/dist/lib/schemas-data/3.1/bundled/signals/get-signals-request.json +24 -24
  199. package/dist/lib/schemas-data/3.1/bundled/signals/get-signals-response.json +53 -53
  200. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-get-offering-request.json +5 -5
  201. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-get-offering-response.json +23 -23
  202. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-initiate-session-request.json +18 -18
  203. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-initiate-session-response.json +25 -25
  204. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-send-message-request.json +16 -16
  205. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-send-message-response.json +26 -26
  206. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-terminate-session-request.json +5 -5
  207. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-terminate-session-response.json +11 -11
  208. package/dist/lib/schemas-data/3.1/collection/base-collection-source.json +3 -3
  209. package/dist/lib/schemas-data/3.1/collection/collection-list-changed-webhook.json +2 -2
  210. package/dist/lib/schemas-data/3.1/collection/collection-list-filters.json +7 -7
  211. package/dist/lib/schemas-data/3.1/collection/collection-list.json +5 -5
  212. package/dist/lib/schemas-data/3.1/collection/create-collection-list-request.json +8 -8
  213. package/dist/lib/schemas-data/3.1/collection/create-collection-list-response.json +6 -6
  214. package/dist/lib/schemas-data/3.1/collection/delete-collection-list-request.json +5 -5
  215. package/dist/lib/schemas-data/3.1/collection/delete-collection-list-response.json +5 -5
  216. package/dist/lib/schemas-data/3.1/collection/get-collection-list-request.json +5 -5
  217. package/dist/lib/schemas-data/3.1/collection/get-collection-list-response.json +12 -12
  218. package/dist/lib/schemas-data/3.1/collection/list-collection-lists-request.json +6 -6
  219. package/dist/lib/schemas-data/3.1/collection/list-collection-lists-response.json +7 -7
  220. package/dist/lib/schemas-data/3.1/collection/update-collection-list-request.json +8 -8
  221. package/dist/lib/schemas-data/3.1/collection/update-collection-list-response.json +6 -6
  222. package/dist/lib/schemas-data/3.1/content-standards/artifact-webhook-payload.json +3 -3
  223. package/dist/lib/schemas-data/3.1/content-standards/artifact.json +7 -7
  224. package/dist/lib/schemas-data/3.1/content-standards/calibrate-content-request.json +5 -5
  225. package/dist/lib/schemas-data/3.1/content-standards/calibrate-content-response.json +10 -10
  226. package/dist/lib/schemas-data/3.1/content-standards/content-standards.json +7 -7
  227. package/dist/lib/schemas-data/3.1/content-standards/create-content-standards-request.json +8 -8
  228. package/dist/lib/schemas-data/3.1/content-standards/create-content-standards-response.json +8 -8
  229. package/dist/lib/schemas-data/3.1/content-standards/get-content-standards-request.json +4 -4
  230. package/dist/lib/schemas-data/3.1/content-standards/get-content-standards-response.json +9 -9
  231. package/dist/lib/schemas-data/3.1/content-standards/get-media-buy-artifacts-request.json +5 -5
  232. package/dist/lib/schemas-data/3.1/content-standards/get-media-buy-artifacts-response.json +10 -10
  233. package/dist/lib/schemas-data/3.1/content-standards/list-content-standards-request.json +6 -6
  234. package/dist/lib/schemas-data/3.1/content-standards/list-content-standards-response.json +10 -10
  235. package/dist/lib/schemas-data/3.1/content-standards/update-content-standards-request.json +8 -8
  236. package/dist/lib/schemas-data/3.1/content-standards/update-content-standards-response.json +8 -8
  237. package/dist/lib/schemas-data/3.1/content-standards/validate-content-delivery-request.json +5 -5
  238. package/dist/lib/schemas-data/3.1/content-standards/validate-content-delivery-response.json +10 -10
  239. package/dist/lib/schemas-data/3.1/core/account-authorization.json +1 -1
  240. package/dist/lib/schemas-data/3.1/core/account-ref.json +2 -2
  241. package/dist/lib/schemas-data/3.1/core/account-with-authorization.json +3 -3
  242. package/dist/lib/schemas-data/3.1/core/account.json +10 -10
  243. package/dist/lib/schemas-data/3.1/core/activation-key.json +1 -1
  244. package/dist/lib/schemas-data/3.1/core/ad-inventory-config.json +1 -1
  245. package/dist/lib/schemas-data/3.1/core/agent-encryption-key.json +1 -1
  246. package/dist/lib/schemas-data/3.1/core/agent-signing-key.json +1 -1
  247. package/dist/lib/schemas-data/3.1/core/app-item.json +4 -4
  248. package/dist/lib/schemas-data/3.1/core/asset-group-vocabulary.json +1 -1
  249. package/dist/lib/schemas-data/3.1/core/assets/asset-union.json +21 -21
  250. package/dist/lib/schemas-data/3.1/core/assets/audio-asset.json +3 -3
  251. package/dist/lib/schemas-data/3.1/core/assets/brief-asset.json +2 -2
  252. package/dist/lib/schemas-data/3.1/core/assets/card-asset.json +6 -6
  253. package/dist/lib/schemas-data/3.1/core/assets/catalog-asset.json +2 -2
  254. package/dist/lib/schemas-data/3.1/core/assets/css-asset.json +2 -2
  255. package/dist/lib/schemas-data/3.1/core/assets/daast-asset.json +4 -4
  256. package/dist/lib/schemas-data/3.1/core/assets/daast-tracker-asset.json +3 -3
  257. package/dist/lib/schemas-data/3.1/core/assets/html-asset.json +2 -2
  258. package/dist/lib/schemas-data/3.1/core/assets/image-asset.json +2 -2
  259. package/dist/lib/schemas-data/3.1/core/assets/javascript-asset.json +3 -3
  260. package/dist/lib/schemas-data/3.1/core/assets/markdown-asset.json +2 -2
  261. package/dist/lib/schemas-data/3.1/core/assets/pixel-tracker-asset.json +2 -2
  262. package/dist/lib/schemas-data/3.1/core/assets/published-post-asset.json +2 -2
  263. package/dist/lib/schemas-data/3.1/core/assets/text-asset.json +2 -2
  264. package/dist/lib/schemas-data/3.1/core/assets/url-asset.json +3 -3
  265. package/dist/lib/schemas-data/3.1/core/assets/vast-asset.json +4 -4
  266. package/dist/lib/schemas-data/3.1/core/assets/vast-tracker-asset.json +3 -3
  267. package/dist/lib/schemas-data/3.1/core/assets/video-asset.json +7 -7
  268. package/dist/lib/schemas-data/3.1/core/assets/webhook-asset.json +7 -7
  269. package/dist/lib/schemas-data/3.1/core/assets/zip-asset.json +2 -2
  270. package/dist/lib/schemas-data/3.1/core/async-response-data.json +29 -29
  271. package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-input-required.json +3 -3
  272. package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-submitted.json +4 -4
  273. package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-working.json +3 -3
  274. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-input-required.json +4 -4
  275. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-submitted.json +4 -4
  276. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-working.json +3 -3
  277. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-input-required.json +4 -4
  278. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-submitted.json +4 -4
  279. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-working.json +3 -3
  280. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-input-required.json +4 -4
  281. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-submitted.json +4 -4
  282. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-working.json +3 -3
  283. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-input-required.json +3 -3
  284. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-submitted.json +4 -4
  285. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-working.json +3 -3
  286. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-input-required.json +3 -3
  287. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-submitted.json +4 -4
  288. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-working.json +3 -3
  289. package/dist/lib/schemas-data/3.1/core/async-response-refs/signals/get-signals-async-response-submitted.json +4 -4
  290. package/dist/lib/schemas-data/3.1/core/async-response-refs/signals/get-signals-async-response-working.json +3 -3
  291. package/dist/lib/schemas-data/3.1/core/attribution-window.json +4 -4
  292. package/dist/lib/schemas-data/3.1/core/audience-member.json +3 -3
  293. package/dist/lib/schemas-data/3.1/core/audience-selector.json +7 -7
  294. package/dist/lib/schemas-data/3.1/core/authorized-agent-base.json +3 -3
  295. package/dist/lib/schemas-data/3.1/core/brand-id.json +1 -1
  296. package/dist/lib/schemas-data/3.1/core/brand-ref.json +3 -3
  297. package/dist/lib/schemas-data/3.1/core/business-entity.json +2 -2
  298. package/dist/lib/schemas-data/3.1/core/cancellation-policy.json +40 -2
  299. package/dist/lib/schemas-data/3.1/core/canonical-format-kind.json +1 -1
  300. package/dist/lib/schemas-data/3.1/core/canonical-projection-ref.json +3 -3
  301. package/dist/lib/schemas-data/3.1/core/canonical-projection-slot-override.json +1 -1
  302. package/dist/lib/schemas-data/3.1/core/catalog-field-mapping.json +2 -2
  303. package/dist/lib/schemas-data/3.1/core/catalog-item-delivery-metrics.json +3 -3
  304. package/dist/lib/schemas-data/3.1/core/catalog.json +7 -7
  305. package/dist/lib/schemas-data/3.1/core/catchment.json +5 -5
  306. package/dist/lib/schemas-data/3.1/core/collection-distribution.json +2 -2
  307. package/dist/lib/schemas-data/3.1/core/collection-list-ref.json +1 -1
  308. package/dist/lib/schemas-data/3.1/core/collection-selector.json +1 -1
  309. package/dist/lib/schemas-data/3.1/core/collection.json +13 -13
  310. package/dist/lib/schemas-data/3.1/core/committed-metric.json +9 -9
  311. package/dist/lib/schemas-data/3.1/core/content-rating.json +2 -2
  312. package/dist/lib/schemas-data/3.1/core/context.json +1 -1
  313. package/dist/lib/schemas-data/3.1/core/creative-asset.json +10 -10
  314. package/dist/lib/schemas-data/3.1/core/creative-assignment.json +2 -2
  315. package/dist/lib/schemas-data/3.1/core/creative-brief.json +4 -4
  316. package/dist/lib/schemas-data/3.1/core/creative-consumption.json +1 -1
  317. package/dist/lib/schemas-data/3.1/core/creative-delivery-metrics.json +2 -2
  318. package/dist/lib/schemas-data/3.1/core/creative-filters.json +5 -5
  319. package/dist/lib/schemas-data/3.1/core/creative-item.json +1 -1
  320. package/dist/lib/schemas-data/3.1/core/creative-manifest.json +11 -11
  321. package/dist/lib/schemas-data/3.1/core/creative-policy.json +3 -3
  322. package/dist/lib/schemas-data/3.1/core/creative-variable.json +1 -1
  323. package/dist/lib/schemas-data/3.1/core/creative-variant.json +5 -5
  324. package/dist/lib/schemas-data/3.1/core/data-provider-signal-selector.json +1 -1
  325. package/dist/lib/schemas-data/3.1/core/date-range.json +1 -1
  326. package/dist/lib/schemas-data/3.1/core/datetime-range.json +1 -1
  327. package/dist/lib/schemas-data/3.1/core/daypart-target.json +2 -2
  328. package/dist/lib/schemas-data/3.1/core/deadline-policy.json +1 -1
  329. package/dist/lib/schemas-data/3.1/core/delivery-forecast.json +7 -7
  330. package/dist/lib/schemas-data/3.1/core/delivery-metric-aggregate.json +9 -9
  331. package/dist/lib/schemas-data/3.1/core/delivery-metrics.json +8 -8
  332. package/dist/lib/schemas-data/3.1/core/deployment.json +3 -3
  333. package/dist/lib/schemas-data/3.1/core/destination-item.json +4 -4
  334. package/dist/lib/schemas-data/3.1/core/destination.json +1 -1
  335. package/dist/lib/schemas-data/3.1/core/diagnostic-issue.json +1 -1
  336. package/dist/lib/schemas-data/3.1/core/downstream-connection-requirement.json +1 -1
  337. package/dist/lib/schemas-data/3.1/core/duration.json +1 -1
  338. package/dist/lib/schemas-data/3.1/core/education-item.json +4 -4
  339. package/dist/lib/schemas-data/3.1/core/error.json +1 -1
  340. package/dist/lib/schemas-data/3.1/core/evaluator-spec.json +5 -5
  341. package/dist/lib/schemas-data/3.1/core/event-custom-data.json +2 -2
  342. package/dist/lib/schemas-data/3.1/core/event-source-health.json +3 -3
  343. package/dist/lib/schemas-data/3.1/core/event-surface.json +2 -2
  344. package/dist/lib/schemas-data/3.1/core/event.json +8 -8
  345. package/dist/lib/schemas-data/3.1/core/ext.json +1 -1
  346. package/dist/lib/schemas-data/3.1/core/feature-requirement.json +1 -1
  347. package/dist/lib/schemas-data/3.1/core/flight-item.json +4 -4
  348. package/dist/lib/schemas-data/3.1/core/forecast-dimension-audience.json +2 -2
  349. package/dist/lib/schemas-data/3.1/core/forecast-dimension-device-platform.json +2 -2
  350. package/dist/lib/schemas-data/3.1/core/forecast-dimension-device-type.json +2 -2
  351. package/dist/lib/schemas-data/3.1/core/forecast-dimension-geo.json +5 -5
  352. package/dist/lib/schemas-data/3.1/core/forecast-dimension-placement.json +2 -2
  353. package/dist/lib/schemas-data/3.1/core/forecast-dimension-signal.json +2 -2
  354. package/dist/lib/schemas-data/3.1/core/forecast-point-dimensions.json +7 -7
  355. package/dist/lib/schemas-data/3.1/core/forecast-point.json +27 -27
  356. package/dist/lib/schemas-data/3.1/core/forecast-range.json +1 -1
  357. package/dist/lib/schemas-data/3.1/core/forecast-vendor-metric-value.json +5 -5
  358. package/dist/lib/schemas-data/3.1/core/format-id.json +1 -1
  359. package/dist/lib/schemas-data/3.1/core/format-option-ref.json +1 -1
  360. package/dist/lib/schemas-data/3.1/core/format-shape-vocabulary.json +1 -1
  361. package/dist/lib/schemas-data/3.1/core/format.json +44 -44
  362. package/dist/lib/schemas-data/3.1/core/frequency-cap.json +4 -4
  363. package/dist/lib/schemas-data/3.1/core/generation-credential.json +3 -3
  364. package/dist/lib/schemas-data/3.1/core/geo-breakdown-support.json +3 -3
  365. package/dist/lib/schemas-data/3.1/core/geo-delivery-metrics.json +6 -6
  366. package/dist/lib/schemas-data/3.1/core/hotel-item.json +4 -4
  367. package/dist/lib/schemas-data/3.1/core/identifier.json +2 -2
  368. package/dist/lib/schemas-data/3.1/core/impairment.json +3 -3
  369. package/dist/lib/schemas-data/3.1/core/industry-identifier.json +2 -2
  370. package/dist/lib/schemas-data/3.1/core/insertion-order.json +1 -1
  371. package/dist/lib/schemas-data/3.1/core/installment-deadlines.json +2 -2
  372. package/dist/lib/schemas-data/3.1/core/installment.json +9 -9
  373. package/dist/lib/schemas-data/3.1/core/job-item.json +3 -3
  374. package/dist/lib/schemas-data/3.1/core/keyword-delivery-metrics.json +3 -3
  375. package/dist/lib/schemas-data/3.1/core/limited-series.json +1 -1
  376. package/dist/lib/schemas-data/3.1/core/material-deadline.json +1 -1
  377. package/dist/lib/schemas-data/3.1/core/mcp-webhook-payload.json +5 -5
  378. package/dist/lib/schemas-data/3.1/core/measurement-readiness.json +5 -5
  379. package/dist/lib/schemas-data/3.1/core/measurement-terms.json +3 -3
  380. package/dist/lib/schemas-data/3.1/core/measurement-window.json +1 -1
  381. package/dist/lib/schemas-data/3.1/core/media-buy-available-action.json +4 -4
  382. package/dist/lib/schemas-data/3.1/core/media-buy-features.json +1 -1
  383. package/dist/lib/schemas-data/3.1/core/media-buy.json +10 -10
  384. package/dist/lib/schemas-data/3.1/core/missing-metric.json +9 -9
  385. package/dist/lib/schemas-data/3.1/core/notification-config.json +4 -4
  386. package/dist/lib/schemas-data/3.1/core/offering-asset-group.json +16 -16
  387. package/dist/lib/schemas-data/3.1/core/offering.json +5 -5
  388. package/dist/lib/schemas-data/3.1/core/optimization-goal.json +7 -7
  389. package/dist/lib/schemas-data/3.1/core/outcome-measurement.json +2 -2
  390. package/dist/lib/schemas-data/3.1/core/overlay.json +1 -1
  391. package/dist/lib/schemas-data/3.1/core/package-signal-targeting-group.json +2 -2
  392. package/dist/lib/schemas-data/3.1/core/package-signal-targeting-groups.json +2 -2
  393. package/dist/lib/schemas-data/3.1/core/package-signal-targeting.json +3 -3
  394. package/dist/lib/schemas-data/3.1/core/package.json +17 -17
  395. package/dist/lib/schemas-data/3.1/core/pagination-request.json +1 -1
  396. package/dist/lib/schemas-data/3.1/core/pagination-response.json +1 -1
  397. package/dist/lib/schemas-data/3.1/core/performance-feedback.json +12 -12
  398. package/dist/lib/schemas-data/3.1/core/performance-standard.json +4 -4
  399. package/dist/lib/schemas-data/3.1/core/placement-definition.json +10 -10
  400. package/dist/lib/schemas-data/3.1/core/placement-ref.json +1 -1
  401. package/dist/lib/schemas-data/3.1/core/placement.json +7 -7
  402. package/dist/lib/schemas-data/3.1/core/planned-delivery.json +5 -5
  403. package/dist/lib/schemas-data/3.1/core/platform-extension-ref.json +1 -1
  404. package/dist/lib/schemas-data/3.1/core/postal-area-support.json +2 -2
  405. package/dist/lib/schemas-data/3.1/core/postal-area.json +4 -4
  406. package/dist/lib/schemas-data/3.1/core/postal-country-system.json +2 -2
  407. package/dist/lib/schemas-data/3.1/core/price.json +1 -1
  408. package/dist/lib/schemas-data/3.1/core/pricing-option.json +10 -10
  409. package/dist/lib/schemas-data/3.1/core/product-allocation.json +4 -4
  410. package/dist/lib/schemas-data/3.1/core/product-allowed-action.json +5 -5
  411. package/dist/lib/schemas-data/3.1/core/product-filters.json +27 -27
  412. package/dist/lib/schemas-data/3.1/core/product-format-declaration.json +16 -16
  413. package/dist/lib/schemas-data/3.1/core/product-signal-targeting-option.json +3 -3
  414. package/dist/lib/schemas-data/3.1/core/product.json +40 -40
  415. package/dist/lib/schemas-data/3.1/core/property-id.json +1 -1
  416. package/dist/lib/schemas-data/3.1/core/property-list-ref.json +1 -1
  417. package/dist/lib/schemas-data/3.1/core/property-tag.json +1 -1
  418. package/dist/lib/schemas-data/3.1/core/property.json +6 -6
  419. package/dist/lib/schemas-data/3.1/core/proposal.json +6 -6
  420. package/dist/lib/schemas-data/3.1/core/protocol-envelope.json +5 -5
  421. package/dist/lib/schemas-data/3.1/core/provenance.json +9 -9
  422. package/dist/lib/schemas-data/3.1/core/publisher-property-selector.json +3 -3
  423. package/dist/lib/schemas-data/3.1/core/push-notification-config.json +2 -2
  424. package/dist/lib/schemas-data/3.1/core/real-estate-item.json +4 -4
  425. package/dist/lib/schemas-data/3.1/core/reference-asset.json +1 -1
  426. package/dist/lib/schemas-data/3.1/core/registry-event.json +13 -13
  427. package/dist/lib/schemas-data/3.1/core/registry-feed-response.json +2 -2
  428. package/dist/lib/schemas-data/3.1/core/reporting-capabilities.json +8 -8
  429. package/dist/lib/schemas-data/3.1/core/reporting-webhook.json +3 -3
  430. package/dist/lib/schemas-data/3.1/core/requirements/asset-requirements.json +13 -13
  431. package/dist/lib/schemas-data/3.1/core/requirements/audio-asset-requirements.json +1 -1
  432. package/dist/lib/schemas-data/3.1/core/requirements/catalog-field-binding.json +4 -4
  433. package/dist/lib/schemas-data/3.1/core/requirements/catalog-requirements.json +5 -5
  434. package/dist/lib/schemas-data/3.1/core/requirements/css-asset-requirements.json +1 -1
  435. package/dist/lib/schemas-data/3.1/core/requirements/daast-asset-requirements.json +1 -1
  436. package/dist/lib/schemas-data/3.1/core/requirements/html-asset-requirements.json +1 -1
  437. package/dist/lib/schemas-data/3.1/core/requirements/image-asset-requirements.json +2 -2
  438. package/dist/lib/schemas-data/3.1/core/requirements/javascript-asset-requirements.json +1 -1
  439. package/dist/lib/schemas-data/3.1/core/requirements/markdown-asset-requirements.json +1 -1
  440. package/dist/lib/schemas-data/3.1/core/requirements/offering-asset-constraint.json +4 -4
  441. package/dist/lib/schemas-data/3.1/core/requirements/text-asset-requirements.json +1 -1
  442. package/dist/lib/schemas-data/3.1/core/requirements/url-asset-requirements.json +1 -1
  443. package/dist/lib/schemas-data/3.1/core/requirements/vast-asset-requirements.json +1 -1
  444. package/dist/lib/schemas-data/3.1/core/requirements/video-asset-requirements.json +6 -6
  445. package/dist/lib/schemas-data/3.1/core/requirements/webhook-asset-requirements.json +1 -1
  446. package/dist/lib/schemas-data/3.1/core/response-payload-jws-envelope.json +1 -1
  447. package/dist/lib/schemas-data/3.1/core/response.json +1 -1
  448. package/dist/lib/schemas-data/3.1/core/rights-constraint.json +4 -4
  449. package/dist/lib/schemas-data/3.1/core/seller-agent-ref.json +1 -1
  450. package/dist/lib/schemas-data/3.1/core/signal-coverage-forecast.json +5 -5
  451. package/dist/lib/schemas-data/3.1/core/signal-definition-enrichment.json +4 -4
  452. package/dist/lib/schemas-data/3.1/core/signal-definition.json +5 -5
  453. package/dist/lib/schemas-data/3.1/core/signal-filters.json +3 -3
  454. package/dist/lib/schemas-data/3.1/core/signal-id.json +1 -1
  455. package/dist/lib/schemas-data/3.1/core/signal-listing.json +4 -4
  456. package/dist/lib/schemas-data/3.1/core/signal-modeling-disclosure.json +1 -1
  457. package/dist/lib/schemas-data/3.1/core/signal-pricing-option.json +2 -2
  458. package/dist/lib/schemas-data/3.1/core/signal-pricing.json +6 -6
  459. package/dist/lib/schemas-data/3.1/core/signal-ref.json +1 -1
  460. package/dist/lib/schemas-data/3.1/core/signal-selection-group-rule.json +1 -1
  461. package/dist/lib/schemas-data/3.1/core/signal-targeting-expression.json +4 -4
  462. package/dist/lib/schemas-data/3.1/core/signal-targeting-rules.json +2 -2
  463. package/dist/lib/schemas-data/3.1/core/signal-targeting.json +7 -7
  464. package/dist/lib/schemas-data/3.1/core/sla-window.json +1 -1
  465. package/dist/lib/schemas-data/3.1/core/special.json +2 -2
  466. package/dist/lib/schemas-data/3.1/core/start-timing.json +1 -1
  467. package/dist/lib/schemas-data/3.1/core/store-item.json +3 -3
  468. package/dist/lib/schemas-data/3.1/core/talent.json +2 -2
  469. package/dist/lib/schemas-data/3.1/core/targeting.json +22 -22
  470. package/dist/lib/schemas-data/3.1/core/tasks-get-request.json +5 -5
  471. package/dist/lib/schemas-data/3.1/core/tasks-get-response.json +10 -10
  472. package/dist/lib/schemas-data/3.1/core/tasks-list-request.json +13 -13
  473. package/dist/lib/schemas-data/3.1/core/tasks-list-response.json +8 -8
  474. package/dist/lib/schemas-data/3.1/core/transformer-param.json +1 -1
  475. package/dist/lib/schemas-data/3.1/core/transformer.json +5 -5
  476. package/dist/lib/schemas-data/3.1/core/truncation-sentinel.json +1 -1
  477. package/dist/lib/schemas-data/3.1/core/user-match.json +3 -3
  478. package/dist/lib/schemas-data/3.1/core/vehicle-item.json +4 -4
  479. package/dist/lib/schemas-data/3.1/core/vendor-metric-id.json +1 -1
  480. package/dist/lib/schemas-data/3.1/core/vendor-metric-optimization-supported-metric.json +3 -3
  481. package/dist/lib/schemas-data/3.1/core/vendor-metric-optimization.json +2 -2
  482. package/dist/lib/schemas-data/3.1/core/vendor-metric-value.json +3 -3
  483. package/dist/lib/schemas-data/3.1/core/vendor-pricing-option.json +3 -3
  484. package/dist/lib/schemas-data/3.1/core/version-envelope.json +1 -1
  485. package/dist/lib/schemas-data/3.1/core/webhook-activity-record.json +3 -3
  486. package/dist/lib/schemas-data/3.1/core/webhook-challenge-response.json +1 -1
  487. package/dist/lib/schemas-data/3.1/core/webhook-challenge.json +2 -2
  488. package/dist/lib/schemas-data/3.1/core/wholesale-feed-event.json +17 -17
  489. package/dist/lib/schemas-data/3.1/core/wholesale-feed-webhook.json +3 -3
  490. package/dist/lib/schemas-data/3.1/core/x-entity-types.json +1 -1
  491. package/dist/lib/schemas-data/3.1/creative/asset-types/index.json +6 -6
  492. package/dist/lib/schemas-data/3.1/creative/audit-observation.json +2 -2
  493. package/dist/lib/schemas-data/3.1/creative/creative-feature-result.json +2 -2
  494. package/dist/lib/schemas-data/3.1/creative/creative-purged-webhook.json +3 -3
  495. package/dist/lib/schemas-data/3.1/creative/creative-status-changed-webhook.json +4 -4
  496. package/dist/lib/schemas-data/3.1/creative/get-creative-delivery-request.json +6 -6
  497. package/dist/lib/schemas-data/3.1/creative/get-creative-delivery-response.json +9 -9
  498. package/dist/lib/schemas-data/3.1/creative/get-creative-features-request.json +6 -6
  499. package/dist/lib/schemas-data/3.1/creative/get-creative-features-response.json +11 -11
  500. package/dist/lib/schemas-data/3.1/creative/list-creative-formats-request.json +13 -13
  501. package/dist/lib/schemas-data/3.1/creative/list-creative-formats-response.json +9 -9
  502. package/dist/lib/schemas-data/3.1/creative/list-creatives-request.json +9 -9
  503. package/dist/lib/schemas-data/3.1/creative/list-creatives-response.json +19 -19
  504. package/dist/lib/schemas-data/3.1/creative/list-transformers-request.json +8 -8
  505. package/dist/lib/schemas-data/3.1/creative/list-transformers-response.json +8 -8
  506. package/dist/lib/schemas-data/3.1/creative/preview-creative-request.json +12 -12
  507. package/dist/lib/schemas-data/3.1/creative/preview-creative-response.json +14 -14
  508. package/dist/lib/schemas-data/3.1/creative/preview-render.json +1 -1
  509. package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-input-required.json +3 -3
  510. package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-submitted.json +4 -4
  511. package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-working.json +3 -3
  512. package/dist/lib/schemas-data/3.1/creative/sync-creatives-request.json +9 -9
  513. package/dist/lib/schemas-data/3.1/creative/sync-creatives-response.json +15 -15
  514. package/dist/lib/schemas-data/3.1/creative/validate-input-request.json +6 -6
  515. package/dist/lib/schemas-data/3.1/creative/validate-input-response.json +5 -5
  516. package/dist/lib/schemas-data/3.1/creative/validate-input-result.json +2 -2
  517. package/dist/lib/schemas-data/3.1/creative/video-brief.json +1 -1
  518. package/dist/lib/schemas-data/3.1/enums/account-scope.json +1 -1
  519. package/dist/lib/schemas-data/3.1/enums/account-status.json +1 -1
  520. package/dist/lib/schemas-data/3.1/enums/action-not-allowed-reason.json +1 -1
  521. package/dist/lib/schemas-data/3.1/enums/action-source.json +1 -1
  522. package/dist/lib/schemas-data/3.1/enums/adcp-protocol.json +1 -1
  523. package/dist/lib/schemas-data/3.1/enums/adjustment-kind.json +1 -1
  524. package/dist/lib/schemas-data/3.1/enums/advertiser-industry.json +1 -1
  525. package/dist/lib/schemas-data/3.1/enums/age-verification-method.json +1 -1
  526. package/dist/lib/schemas-data/3.1/enums/assessment-status.json +1 -1
  527. package/dist/lib/schemas-data/3.1/enums/asset-content-type.json +1 -1
  528. package/dist/lib/schemas-data/3.1/enums/attestation-claim.json +1 -1
  529. package/dist/lib/schemas-data/3.1/enums/attribution-methodology.json +1 -1
  530. package/dist/lib/schemas-data/3.1/enums/attribution-model.json +1 -1
  531. package/dist/lib/schemas-data/3.1/enums/audience-source.json +1 -1
  532. package/dist/lib/schemas-data/3.1/enums/audience-status.json +1 -1
  533. package/dist/lib/schemas-data/3.1/enums/audio-channel-layout.json +1 -1
  534. package/dist/lib/schemas-data/3.1/enums/audio-distribution-type.json +1 -1
  535. package/dist/lib/schemas-data/3.1/enums/auth-scheme.json +1 -1
  536. package/dist/lib/schemas-data/3.1/enums/available-metric.json +1 -1
  537. package/dist/lib/schemas-data/3.1/enums/billing-party.json +1 -1
  538. package/dist/lib/schemas-data/3.1/enums/binary-verdict.json +1 -1
  539. package/dist/lib/schemas-data/3.1/enums/brand-agent-type.json +1 -1
  540. package/dist/lib/schemas-data/3.1/enums/c2pa-watermark-action.json +1 -1
  541. package/dist/lib/schemas-data/3.1/enums/canceled-by.json +1 -1
  542. package/dist/lib/schemas-data/3.1/enums/catalog-action.json +1 -1
  543. package/dist/lib/schemas-data/3.1/enums/catalog-item-status.json +1 -1
  544. package/dist/lib/schemas-data/3.1/enums/catalog-type.json +1 -1
  545. package/dist/lib/schemas-data/3.1/enums/channels.json +1 -1
  546. package/dist/lib/schemas-data/3.1/enums/cloud-storage-protocol.json +1 -1
  547. package/dist/lib/schemas-data/3.1/enums/co-branding-requirement.json +1 -1
  548. package/dist/lib/schemas-data/3.1/enums/collection-cadence.json +1 -1
  549. package/dist/lib/schemas-data/3.1/enums/collection-kind.json +1 -1
  550. package/dist/lib/schemas-data/3.1/enums/collection-relationship.json +1 -1
  551. package/dist/lib/schemas-data/3.1/enums/collection-status.json +1 -1
  552. package/dist/lib/schemas-data/3.1/enums/completion-source.json +1 -1
  553. package/dist/lib/schemas-data/3.1/enums/consent-basis.json +1 -1
  554. package/dist/lib/schemas-data/3.1/enums/content-id-type.json +1 -1
  555. package/dist/lib/schemas-data/3.1/enums/content-rating-system.json +1 -1
  556. package/dist/lib/schemas-data/3.1/enums/creative-action.json +1 -1
  557. package/dist/lib/schemas-data/3.1/enums/creative-agent-capability.json +1 -1
  558. package/dist/lib/schemas-data/3.1/enums/creative-approval-status.json +1 -1
  559. package/dist/lib/schemas-data/3.1/enums/creative-event-reason-code.json +1 -1
  560. package/dist/lib/schemas-data/3.1/enums/creative-identifier-type.json +1 -1
  561. package/dist/lib/schemas-data/3.1/enums/creative-quality.json +1 -1
  562. package/dist/lib/schemas-data/3.1/enums/creative-selection-strategy.json +1 -1
  563. package/dist/lib/schemas-data/3.1/enums/creative-sort-field.json +1 -1
  564. package/dist/lib/schemas-data/3.1/enums/creative-status.json +1 -1
  565. package/dist/lib/schemas-data/3.1/enums/daast-tracking-event.json +1 -1
  566. package/dist/lib/schemas-data/3.1/enums/daast-version.json +1 -1
  567. package/dist/lib/schemas-data/3.1/enums/day-of-week.json +1 -1
  568. package/dist/lib/schemas-data/3.1/enums/delegation-authority.json +1 -1
  569. package/dist/lib/schemas-data/3.1/enums/delivery-type.json +1 -1
  570. package/dist/lib/schemas-data/3.1/enums/demographic-system.json +1 -1
  571. package/dist/lib/schemas-data/3.1/enums/derivative-type.json +1 -1
  572. package/dist/lib/schemas-data/3.1/enums/device-platform.json +1 -1
  573. package/dist/lib/schemas-data/3.1/enums/device-type.json +1 -1
  574. package/dist/lib/schemas-data/3.1/enums/digital-source-type.json +1 -1
  575. package/dist/lib/schemas-data/3.1/enums/dimension-unit.json +1 -1
  576. package/dist/lib/schemas-data/3.1/enums/disclosure-persistence.json +1 -1
  577. package/dist/lib/schemas-data/3.1/enums/disclosure-position.json +1 -1
  578. package/dist/lib/schemas-data/3.1/enums/distance-unit.json +1 -1
  579. package/dist/lib/schemas-data/3.1/enums/distribution-identifier-type.json +1 -1
  580. package/dist/lib/schemas-data/3.1/enums/embedded-provenance-method.json +1 -1
  581. package/dist/lib/schemas-data/3.1/enums/error-code.json +5 -5
  582. package/dist/lib/schemas-data/3.1/enums/error-scope.json +1 -1
  583. package/dist/lib/schemas-data/3.1/enums/escalation-severity.json +1 -1
  584. package/dist/lib/schemas-data/3.1/enums/event-type.json +1 -1
  585. package/dist/lib/schemas-data/3.1/enums/exclusivity.json +1 -1
  586. package/dist/lib/schemas-data/3.1/enums/feature-check-status.json +1 -1
  587. package/dist/lib/schemas-data/3.1/enums/feed-format.json +1 -1
  588. package/dist/lib/schemas-data/3.1/enums/feedback-source.json +1 -1
  589. package/dist/lib/schemas-data/3.1/enums/forecast-method.json +1 -1
  590. package/dist/lib/schemas-data/3.1/enums/forecast-range-unit.json +1 -1
  591. package/dist/lib/schemas-data/3.1/enums/forecastable-metric.json +1 -1
  592. package/dist/lib/schemas-data/3.1/enums/format-id-parameter.json +1 -1
  593. package/dist/lib/schemas-data/3.1/enums/frame-rate-type.json +1 -1
  594. package/dist/lib/schemas-data/3.1/enums/frequency-cap-scope.json +1 -1
  595. package/dist/lib/schemas-data/3.1/enums/genre-taxonomy.json +1 -1
  596. package/dist/lib/schemas-data/3.1/enums/geo-level.json +1 -1
  597. package/dist/lib/schemas-data/3.1/enums/gop-type.json +1 -1
  598. package/dist/lib/schemas-data/3.1/enums/governance-decision.json +1 -1
  599. package/dist/lib/schemas-data/3.1/enums/governance-domain.json +1 -1
  600. package/dist/lib/schemas-data/3.1/enums/governance-mode.json +1 -1
  601. package/dist/lib/schemas-data/3.1/enums/governance-phase.json +1 -1
  602. package/dist/lib/schemas-data/3.1/enums/history-entry-type.json +1 -1
  603. package/dist/lib/schemas-data/3.1/enums/http-method.json +1 -1
  604. package/dist/lib/schemas-data/3.1/enums/identifier-types.json +1 -1
  605. package/dist/lib/schemas-data/3.1/enums/impairment-offline-state.json +1 -1
  606. package/dist/lib/schemas-data/3.1/enums/impairment-reason-code.json +1 -1
  607. package/dist/lib/schemas-data/3.1/enums/installment-status.json +1 -1
  608. package/dist/lib/schemas-data/3.1/enums/javascript-module-type.json +1 -1
  609. package/dist/lib/schemas-data/3.1/enums/landing-page-requirement.json +1 -1
  610. package/dist/lib/schemas-data/3.1/enums/legacy-postal-system.json +1 -1
  611. package/dist/lib/schemas-data/3.1/enums/lift-dimension.json +1 -1
  612. package/dist/lib/schemas-data/3.1/enums/logo-slot.json +1 -1
  613. package/dist/lib/schemas-data/3.1/enums/makegood-remedy.json +1 -1
  614. package/dist/lib/schemas-data/3.1/enums/markdown-flavor.json +1 -1
  615. package/dist/lib/schemas-data/3.1/enums/match-id-type.json +1 -1
  616. package/dist/lib/schemas-data/3.1/enums/match-type.json +1 -1
  617. package/dist/lib/schemas-data/3.1/enums/media-buy-action-mode.json +1 -1
  618. package/dist/lib/schemas-data/3.1/enums/media-buy-health.json +1 -1
  619. package/dist/lib/schemas-data/3.1/enums/media-buy-status.json +1 -1
  620. package/dist/lib/schemas-data/3.1/enums/media-buy-valid-action.json +1 -1
  621. package/dist/lib/schemas-data/3.1/enums/metric-scope.json +1 -1
  622. package/dist/lib/schemas-data/3.1/enums/metric-type.json +1 -1
  623. package/dist/lib/schemas-data/3.1/enums/metro-system.json +1 -1
  624. package/dist/lib/schemas-data/3.1/enums/moov-atom-position.json +1 -1
  625. package/dist/lib/schemas-data/3.1/enums/notification-type.json +1 -1
  626. package/dist/lib/schemas-data/3.1/enums/offering-availability-status.json +1 -1
  627. package/dist/lib/schemas-data/3.1/enums/outcome-type.json +1 -1
  628. package/dist/lib/schemas-data/3.1/enums/pacing.json +1 -1
  629. package/dist/lib/schemas-data/3.1/enums/payment-terms.json +1 -1
  630. package/dist/lib/schemas-data/3.1/enums/performance-standard-metric.json +1 -1
  631. package/dist/lib/schemas-data/3.1/enums/policy-category.json +1 -1
  632. package/dist/lib/schemas-data/3.1/enums/policy-enforcement.json +1 -1
  633. package/dist/lib/schemas-data/3.1/enums/postal-system.json +1 -1
  634. package/dist/lib/schemas-data/3.1/enums/preview-output-format.json +1 -1
  635. package/dist/lib/schemas-data/3.1/enums/pricing-model.json +1 -1
  636. package/dist/lib/schemas-data/3.1/enums/production-quality.json +1 -1
  637. package/dist/lib/schemas-data/3.1/enums/property-type.json +1 -1
  638. package/dist/lib/schemas-data/3.1/enums/proposal-status.json +1 -1
  639. package/dist/lib/schemas-data/3.1/enums/publisher-identifier-types.json +1 -1
  640. package/dist/lib/schemas-data/3.1/enums/purchase-type.json +1 -1
  641. package/dist/lib/schemas-data/3.1/enums/reach-unit.json +1 -1
  642. package/dist/lib/schemas-data/3.1/enums/reporting-frequency.json +1 -1
  643. package/dist/lib/schemas-data/3.1/enums/response-type.json +1 -1
  644. package/dist/lib/schemas-data/3.1/enums/restricted-attribute.json +1 -1
  645. package/dist/lib/schemas-data/3.1/enums/right-type.json +1 -1
  646. package/dist/lib/schemas-data/3.1/enums/right-use.json +1 -1
  647. package/dist/lib/schemas-data/3.1/enums/rights-billing-period.json +1 -1
  648. package/dist/lib/schemas-data/3.1/enums/scan-type.json +1 -1
  649. package/dist/lib/schemas-data/3.1/enums/si-session-status.json +1 -1
  650. package/dist/lib/schemas-data/3.1/enums/signal-catalog-type.json +1 -1
  651. package/dist/lib/schemas-data/3.1/enums/signal-source.json +1 -1
  652. package/dist/lib/schemas-data/3.1/enums/signal-value-type.json +1 -1
  653. package/dist/lib/schemas-data/3.1/enums/snapshot-unavailable-reason.json +1 -1
  654. package/dist/lib/schemas-data/3.1/enums/social-placement-surface.json +1 -1
  655. package/dist/lib/schemas-data/3.1/enums/sort-direction.json +1 -1
  656. package/dist/lib/schemas-data/3.1/enums/sort-metric.json +1 -1
  657. package/dist/lib/schemas-data/3.1/enums/special-category.json +1 -1
  658. package/dist/lib/schemas-data/3.1/enums/specialism.json +1 -1
  659. package/dist/lib/schemas-data/3.1/enums/sponsored-placement-type.json +1 -1
  660. package/dist/lib/schemas-data/3.1/enums/talent-role.json +1 -1
  661. package/dist/lib/schemas-data/3.1/enums/task-status.json +1 -1
  662. package/dist/lib/schemas-data/3.1/enums/task-type.json +1 -1
  663. package/dist/lib/schemas-data/3.1/enums/transport-mode.json +1 -1
  664. package/dist/lib/schemas-data/3.1/enums/travel-time-unit.json +1 -1
  665. package/dist/lib/schemas-data/3.1/enums/uid-type.json +1 -1
  666. package/dist/lib/schemas-data/3.1/enums/universal-macro.json +1 -1
  667. package/dist/lib/schemas-data/3.1/enums/update-frequency.json +1 -1
  668. package/dist/lib/schemas-data/3.1/enums/url-asset-type.json +1 -1
  669. package/dist/lib/schemas-data/3.1/enums/validation-mode.json +1 -1
  670. package/dist/lib/schemas-data/3.1/enums/vast-tracking-event.json +1 -1
  671. package/dist/lib/schemas-data/3.1/enums/vast-version.json +1 -1
  672. package/dist/lib/schemas-data/3.1/enums/video-placement-type.json +1 -1
  673. package/dist/lib/schemas-data/3.1/enums/viewability-standard.json +1 -1
  674. package/dist/lib/schemas-data/3.1/enums/watermark-media-type.json +1 -1
  675. package/dist/lib/schemas-data/3.1/enums/wcag-level.json +1 -1
  676. package/dist/lib/schemas-data/3.1/enums/webhook-response-type.json +1 -1
  677. package/dist/lib/schemas-data/3.1/enums/webhook-security-method.json +1 -1
  678. package/dist/lib/schemas-data/3.1/error-details/account-setup-required.json +1 -1
  679. package/dist/lib/schemas-data/3.1/error-details/action-not-allowed.json +4 -4
  680. package/dist/lib/schemas-data/3.1/error-details/agent-permission-denied.json +1 -1
  681. package/dist/lib/schemas-data/3.1/error-details/audience-too-small.json +1 -1
  682. package/dist/lib/schemas-data/3.1/error-details/authorization-required.json +3 -3
  683. package/dist/lib/schemas-data/3.1/error-details/billing-not-permitted-for-agent.json +3 -3
  684. package/dist/lib/schemas-data/3.1/error-details/billing-not-supported.json +2 -2
  685. package/dist/lib/schemas-data/3.1/error-details/budget-too-low.json +1 -1
  686. package/dist/lib/schemas-data/3.1/error-details/conflict.json +1 -1
  687. package/dist/lib/schemas-data/3.1/error-details/creative-rejected.json +1 -1
  688. package/dist/lib/schemas-data/3.1/error-details/policy-violation.json +1 -1
  689. package/dist/lib/schemas-data/3.1/error-details/rate-limited.json +1 -1
  690. package/dist/lib/schemas-data/3.1/error-details/stale-response.json +1 -1
  691. package/dist/lib/schemas-data/3.1/error-details/vendor-error-codes.json +1 -1
  692. package/dist/lib/schemas-data/3.1/error-details/version-unsupported.json +2 -2
  693. package/dist/lib/schemas-data/3.1/extensions/extension-meta.json +1 -1
  694. package/dist/lib/schemas-data/3.1/extensions/index.json +2 -2
  695. package/dist/lib/schemas-data/3.1/formats/canonical/_base.json +5 -5
  696. package/dist/lib/schemas-data/3.1/formats/canonical/agent_placement.json +2 -2
  697. package/dist/lib/schemas-data/3.1/formats/canonical/audio_daast.json +2 -2
  698. package/dist/lib/schemas-data/3.1/formats/canonical/audio_hosted.json +2 -2
  699. package/dist/lib/schemas-data/3.1/formats/canonical/display_tag.json +2 -2
  700. package/dist/lib/schemas-data/3.1/formats/canonical/html5.json +2 -2
  701. package/dist/lib/schemas-data/3.1/formats/canonical/image.json +2 -2
  702. package/dist/lib/schemas-data/3.1/formats/canonical/image_carousel.json +2 -2
  703. package/dist/lib/schemas-data/3.1/formats/canonical/native_in_feed.json +2 -2
  704. package/dist/lib/schemas-data/3.1/formats/canonical/responsive_creative.json +2 -2
  705. package/dist/lib/schemas-data/3.1/formats/canonical/sponsored_placement.json +2 -2
  706. package/dist/lib/schemas-data/3.1/formats/canonical/video_hosted.json +2 -2
  707. package/dist/lib/schemas-data/3.1/formats/canonical/video_vast.json +2 -2
  708. package/dist/lib/schemas-data/3.1/governance/attribute-definition.json +1 -1
  709. package/dist/lib/schemas-data/3.1/governance/audience-constraints.json +3 -3
  710. package/dist/lib/schemas-data/3.1/governance/check-governance-request.json +8 -8
  711. package/dist/lib/schemas-data/3.1/governance/check-governance-response.json +7 -7
  712. package/dist/lib/schemas-data/3.1/governance/get-plan-audit-logs-request.json +5 -5
  713. package/dist/lib/schemas-data/3.1/governance/get-plan-audit-logs-response.json +11 -11
  714. package/dist/lib/schemas-data/3.1/governance/policy-category-definition.json +2 -2
  715. package/dist/lib/schemas-data/3.1/governance/policy-entry.json +6 -6
  716. package/dist/lib/schemas-data/3.1/governance/policy-ref.json +1 -1
  717. package/dist/lib/schemas-data/3.1/governance/report-plan-outcome-request.json +7 -7
  718. package/dist/lib/schemas-data/3.1/governance/report-plan-outcome-response.json +5 -5
  719. package/dist/lib/schemas-data/3.1/governance/sync-plans-request.json +14 -14
  720. package/dist/lib/schemas-data/3.1/governance/sync-plans-response.json +6 -6
  721. package/dist/lib/schemas-data/3.1/index.json +440 -440
  722. package/dist/lib/schemas-data/3.1/manifest.json +7 -7
  723. package/dist/lib/schemas-data/3.1/manifest.schema.json +1 -1
  724. package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-input-required.json +4 -4
  725. package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-submitted.json +4 -4
  726. package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-working.json +3 -3
  727. package/dist/lib/schemas-data/3.1/media-buy/build-creative-request.json +16 -16
  728. package/dist/lib/schemas-data/3.1/media-buy/build-creative-response.json +35 -35
  729. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-input-required.json +4 -4
  730. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-submitted.json +4 -4
  731. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-working.json +3 -3
  732. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-request.json +13 -13
  733. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-response.json +19 -19
  734. package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-request.json +23 -23
  735. package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-response.json +27 -27
  736. package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-request.json +8 -8
  737. package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-response.json +30 -30
  738. package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-input-required.json +4 -4
  739. package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-submitted.json +4 -4
  740. package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-working.json +3 -3
  741. package/dist/lib/schemas-data/3.1/media-buy/get-products-request.json +13 -13
  742. package/dist/lib/schemas-data/3.1/media-buy/get-products-response.json +10 -10
  743. package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-request.json +13 -13
  744. package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-response.json +9 -9
  745. package/dist/lib/schemas-data/3.1/media-buy/log-event-request.json +5 -5
  746. package/dist/lib/schemas-data/3.1/media-buy/log-event-response.json +8 -8
  747. package/dist/lib/schemas-data/3.1/media-buy/media-buy-delivery-webhook-result.json +9 -9
  748. package/dist/lib/schemas-data/3.1/media-buy/package-request.json +23 -23
  749. package/dist/lib/schemas-data/3.1/media-buy/package-update.json +13 -13
  750. package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-request.json +7 -7
  751. package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-response.json +8 -8
  752. package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-request.json +8 -8
  753. package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-response.json +14 -14
  754. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-input-required.json +3 -3
  755. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-submitted.json +4 -4
  756. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-working.json +3 -3
  757. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-request.json +8 -8
  758. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-response.json +14 -14
  759. package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-request.json +8 -8
  760. package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-response.json +14 -14
  761. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-input-required.json +3 -3
  762. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-submitted.json +4 -4
  763. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-working.json +3 -3
  764. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-request.json +11 -11
  765. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-response.json +17 -17
  766. package/dist/lib/schemas-data/3.1/pricing-options/cpa-option.json +4 -4
  767. package/dist/lib/schemas-data/3.1/pricing-options/cpc-option.json +4 -4
  768. package/dist/lib/schemas-data/3.1/pricing-options/cpcv-option.json +4 -4
  769. package/dist/lib/schemas-data/3.1/pricing-options/cpm-option.json +4 -4
  770. package/dist/lib/schemas-data/3.1/pricing-options/cpp-option.json +5 -5
  771. package/dist/lib/schemas-data/3.1/pricing-options/cpv-option.json +4 -4
  772. package/dist/lib/schemas-data/3.1/pricing-options/flat-rate-option.json +4 -4
  773. package/dist/lib/schemas-data/3.1/pricing-options/price-breakdown.json +2 -2
  774. package/dist/lib/schemas-data/3.1/pricing-options/price-guidance.json +1 -1
  775. package/dist/lib/schemas-data/3.1/pricing-options/time-option.json +4 -4
  776. package/dist/lib/schemas-data/3.1/pricing-options/vcpm-option.json +4 -4
  777. package/dist/lib/schemas-data/3.1/property/authorization-result.json +1 -1
  778. package/dist/lib/schemas-data/3.1/property/base-property-source.json +4 -4
  779. package/dist/lib/schemas-data/3.1/property/create-property-list-request.json +8 -8
  780. package/dist/lib/schemas-data/3.1/property/create-property-list-response.json +6 -6
  781. package/dist/lib/schemas-data/3.1/property/delete-property-list-request.json +5 -5
  782. package/dist/lib/schemas-data/3.1/property/delete-property-list-response.json +5 -5
  783. package/dist/lib/schemas-data/3.1/property/delivery-record.json +3 -3
  784. package/dist/lib/schemas-data/3.1/property/get-property-list-request.json +5 -5
  785. package/dist/lib/schemas-data/3.1/property/get-property-list-response.json +9 -9
  786. package/dist/lib/schemas-data/3.1/property/list-property-lists-request.json +6 -6
  787. package/dist/lib/schemas-data/3.1/property/list-property-lists-response.json +7 -7
  788. package/dist/lib/schemas-data/3.1/property/property-error.json +2 -2
  789. package/dist/lib/schemas-data/3.1/property/property-feature-definition.json +2 -2
  790. package/dist/lib/schemas-data/3.1/property/property-feature-result.json +4 -4
  791. package/dist/lib/schemas-data/3.1/property/property-feature-value.json +2 -2
  792. package/dist/lib/schemas-data/3.1/property/property-feature.json +1 -1
  793. package/dist/lib/schemas-data/3.1/property/property-list-changed-webhook.json +2 -2
  794. package/dist/lib/schemas-data/3.1/property/property-list-filters.json +5 -5
  795. package/dist/lib/schemas-data/3.1/property/property-list.json +6 -6
  796. package/dist/lib/schemas-data/3.1/property/update-property-list-request.json +8 -8
  797. package/dist/lib/schemas-data/3.1/property/update-property-list-response.json +6 -6
  798. package/dist/lib/schemas-data/3.1/property/validate-property-delivery-request.json +6 -6
  799. package/dist/lib/schemas-data/3.1/property/validate-property-delivery-response.json +6 -6
  800. package/dist/lib/schemas-data/3.1/property/validation-result.json +5 -5
  801. package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-request.json +4 -4
  802. package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-response.json +34 -34
  803. package/dist/lib/schemas-data/3.1/protocol/get-task-status-request.json +5 -5
  804. package/dist/lib/schemas-data/3.1/protocol/get-task-status-response.json +10 -10
  805. package/dist/lib/schemas-data/3.1/protocol/list-tasks-request.json +13 -13
  806. package/dist/lib/schemas-data/3.1/protocol/list-tasks-response.json +8 -8
  807. package/dist/lib/schemas-data/3.1/registries/v1-canonical-mapping.json +2 -2
  808. package/dist/lib/schemas-data/3.1/signals/activate-signal-request.json +6 -6
  809. package/dist/lib/schemas-data/3.1/signals/activate-signal-response.json +9 -9
  810. package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-submitted.json +4 -4
  811. package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-working.json +3 -3
  812. package/dist/lib/schemas-data/3.1/signals/get-signals-request.json +11 -11
  813. package/dist/lib/schemas-data/3.1/signals/get-signals-response.json +17 -17
  814. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-capabilities.json +1 -1
  815. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-context-use.json +1 -1
  816. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-request.json +4 -4
  817. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-response.json +9 -9
  818. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-identity.json +1 -1
  819. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-request.json +7 -7
  820. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-response.json +10 -10
  821. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-request.json +5 -5
  822. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-response.json +10 -10
  823. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context-receipt.json +4 -4
  824. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context.json +4 -4
  825. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-request.json +4 -4
  826. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-response.json +7 -7
  827. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-ui-element.json +1 -1
  828. package/dist/lib/schemas-data/3.1/trusted-match/available-package.json +4 -4
  829. package/dist/lib/schemas-data/3.1/trusted-match/context-match-request.json +5 -5
  830. package/dist/lib/schemas-data/3.1/trusted-match/context-match-response.json +4 -4
  831. package/dist/lib/schemas-data/3.1/trusted-match/error.json +1 -1
  832. package/dist/lib/schemas-data/3.1/trusted-match/identity-match-request.json +4 -4
  833. package/dist/lib/schemas-data/3.1/trusted-match/identity-match-response.json +3 -3
  834. package/dist/lib/schemas-data/3.1/trusted-match/offer-price.json +1 -1
  835. package/dist/lib/schemas-data/3.1/trusted-match/offer.json +5 -5
  836. package/dist/lib/schemas-data/3.1/trusted-match/provider-registration.json +2 -2
  837. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  838. package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js.map +1 -1
  839. package/dist/lib/server/decisioning/runtime/entity-hydration.generated.mjs.map +1 -1
  840. package/dist/lib/server/wire-spec-fields.generated.d.mts +29 -29
  841. package/dist/lib/server/wire-spec-fields.generated.d.ts +29 -29
  842. package/dist/lib/server/wire-spec-fields.generated.js +29 -29
  843. package/dist/lib/server/wire-spec-fields.generated.js.map +1 -1
  844. package/dist/lib/server/wire-spec-fields.generated.mjs +29 -29
  845. package/dist/lib/server/wire-spec-fields.generated.mjs.map +1 -1
  846. package/dist/lib/testing/client.d.ts.map +1 -1
  847. package/dist/lib/testing/client.js +12 -4
  848. package/dist/lib/testing/client.js.map +1 -1
  849. package/dist/lib/testing/client.mjs +12 -4
  850. package/dist/lib/testing/client.mjs.map +1 -1
  851. package/dist/lib/testing/compliance/comply.d.mts +1 -1
  852. package/dist/lib/testing/compliance/comply.d.ts +1 -1
  853. package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
  854. package/dist/lib/testing/compliance/comply.js +16 -6
  855. package/dist/lib/testing/compliance/comply.js.map +1 -1
  856. package/dist/lib/testing/compliance/comply.mjs +16 -6
  857. package/dist/lib/testing/compliance/comply.mjs.map +1 -1
  858. package/dist/lib/testing/storyboard/probes.d.mts +6 -0
  859. package/dist/lib/testing/storyboard/probes.d.ts +6 -0
  860. package/dist/lib/testing/storyboard/probes.d.ts.map +1 -1
  861. package/dist/lib/testing/storyboard/probes.js +16 -5
  862. package/dist/lib/testing/storyboard/probes.js.map +1 -1
  863. package/dist/lib/testing/storyboard/probes.mjs +16 -5
  864. package/dist/lib/testing/storyboard/probes.mjs.map +1 -1
  865. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  866. package/dist/lib/testing/storyboard/runner.js +6 -2
  867. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  868. package/dist/lib/testing/storyboard/runner.mjs +6 -2
  869. package/dist/lib/testing/storyboard/runner.mjs.map +1 -1
  870. package/dist/lib/testing/types.d.mts +7 -1
  871. package/dist/lib/testing/types.d.ts +7 -1
  872. package/dist/lib/testing/types.d.ts.map +1 -1
  873. package/dist/lib/testing/types.js.map +1 -1
  874. package/dist/lib/types/comply-test-controller.d.ts +49 -1
  875. package/dist/lib/types/core.generated.d.mts +54 -6
  876. package/dist/lib/types/core.generated.d.ts +54 -6
  877. package/dist/lib/types/core.generated.d.ts.map +1 -1
  878. package/dist/lib/types/core.generated.js.map +1 -1
  879. package/dist/lib/types/error-codes.d.mts +4 -4
  880. package/dist/lib/types/error-codes.d.ts +4 -4
  881. package/dist/lib/types/get-adcp-capabilities.d.ts +1 -1
  882. package/dist/lib/types/get-products.d.ts +49 -1
  883. package/dist/lib/types/get-task-status.d.ts +49 -1
  884. package/dist/lib/types/manifest.generated.d.mts +7 -7
  885. package/dist/lib/types/manifest.generated.d.ts +7 -7
  886. package/dist/lib/types/manifest.generated.js +4 -4
  887. package/dist/lib/types/manifest.generated.js.map +1 -1
  888. package/dist/lib/types/manifest.generated.mjs +4 -4
  889. package/dist/lib/types/manifest.generated.mjs.map +1 -1
  890. package/dist/lib/types/per-tool-index.json +1 -1
  891. package/dist/lib/types/schemas.generated.d.mts +135 -27
  892. package/dist/lib/types/schemas.generated.d.ts +135 -27
  893. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  894. package/dist/lib/types/schemas.generated.js +15 -3
  895. package/dist/lib/types/schemas.generated.js.map +1 -1
  896. package/dist/lib/types/schemas.generated.mjs +15 -3
  897. package/dist/lib/types/schemas.generated.mjs.map +1 -1
  898. package/dist/lib/types/sync-creatives.d.ts +1 -1
  899. package/dist/lib/types/tools.generated.d.mts +54 -6
  900. package/dist/lib/types/tools.generated.d.ts +54 -6
  901. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  902. package/dist/lib/types/tools.generated.js.map +1 -1
  903. package/dist/lib/types/validate-input.d.ts +3 -3
  904. package/dist/lib/version.d.mts +7 -7
  905. package/dist/lib/version.d.ts +7 -7
  906. package/dist/lib/version.d.ts.map +1 -1
  907. package/dist/lib/version.js +9 -6
  908. package/dist/lib/version.js.map +1 -1
  909. package/dist/lib/version.mjs +9 -6
  910. package/dist/lib/version.mjs.map +1 -1
  911. package/docs/llms.txt +4 -4
  912. package/package.json +2 -2
  913. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/brand/index.yaml +0 -0
  914. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  915. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
  916. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/creative/index.yaml +0 -0
  917. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
  918. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  919. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/creative/scenarios/native_in_feed.yaml +0 -0
  920. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/governance/index.yaml +0 -0
  921. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/index.yaml +0 -0
  922. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  923. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  924. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
  925. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  926. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  927. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  928. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
  929. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
  930. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
  931. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
  932. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  933. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  934. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  935. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
  936. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
  937. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
  938. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
  939. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  940. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  941. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
  942. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
  943. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  944. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  945. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  946. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  947. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  948. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  949. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  950. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  951. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
  952. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  953. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  954. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  955. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  956. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  957. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  958. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  959. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/refine_products.yaml +0 -0
  960. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  961. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  962. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  963. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/media-buy/state-machine.yaml +0 -0
  964. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/signals/index.yaml +0 -0
  965. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/signals/scenarios/get_signals_async.yaml +0 -0
  966. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/sponsored-intelligence/index.yaml +0 -0
  967. /package/compliance/cache/{3.1.2 → 3.1.5}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  968. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/brand/index.yaml +0 -0
  969. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  970. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
  971. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/creative/index.yaml +0 -0
  972. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
  973. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  974. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
  975. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/governance/index.yaml +0 -0
  976. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/index.yaml +0 -0
  977. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  978. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  979. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
  980. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  981. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  982. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  983. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
  984. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
  985. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
  986. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
  987. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  988. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  989. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  990. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
  991. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
  992. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
  993. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
  994. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  995. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  996. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
  997. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
  998. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  999. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  1000. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1001. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  1002. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  1003. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  1004. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  1005. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  1006. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1007. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  1008. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  1009. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  1010. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  1011. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  1012. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  1013. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  1014. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
  1015. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  1016. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  1017. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  1018. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/media-buy/state-machine.yaml +0 -0
  1019. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/signals/index.yaml +0 -0
  1020. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
  1021. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/sponsored-intelligence/index.yaml +0 -0
  1022. /package/compliance/cache/{3.1.2 → 3.1.5}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  1023. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/audience-sync/index.yaml +0 -0
  1024. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/brand-rights/index.yaml +0 -0
  1025. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
  1026. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/collection-lists/index.yaml +0 -0
  1027. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/content-standards/index.yaml +0 -0
  1028. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/creative-ad-server/index.yaml +0 -0
  1029. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/creative-generative/generative-seller.yaml +0 -0
  1030. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/creative-generative/index.yaml +0 -0
  1031. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/creative-template/index.yaml +0 -0
  1032. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/creative-transformers/index.yaml +0 -0
  1033. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/governance-aware-seller/index.yaml +0 -0
  1034. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
  1035. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/governance-delivery-monitor/index.yaml +0 -0
  1036. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/governance-spend-authority/denied.yaml +0 -0
  1037. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/governance-spend-authority/index.yaml +0 -0
  1038. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/property-lists/index.yaml +0 -0
  1039. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/sales-broadcast-tv/index.yaml +0 -0
  1040. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/sales-catalog-driven/index.yaml +0 -0
  1041. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/sales-guaranteed/index.yaml +0 -0
  1042. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/sales-non-guaranteed/index.yaml +0 -0
  1043. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/sales-proposal-mode/index.yaml +0 -0
  1044. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/sales-social/index.yaml +0 -0
  1045. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/signal-marketplace/index.yaml +0 -0
  1046. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
  1047. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/signal-owned/index.yaml +0 -0
  1048. /package/compliance/cache/{3.1.2 → 3.1.5}/specialisms/sponsored-intelligence/index.yaml +0 -0
  1049. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/acme-outdoor-live.yaml +0 -0
  1050. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/acme-outdoor.yaml +0 -0
  1051. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/billing-gate-runner.yaml +0 -0
  1052. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/bistro-oranje.yaml +0 -0
  1053. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/distributed-brand-runner.yaml +0 -0
  1054. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/nova-motors.yaml +0 -0
  1055. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/osei-natural.yaml +0 -0
  1056. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/signed-requests-runner.yaml +0 -0
  1057. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/single-side-trust-runner.yaml +0 -0
  1058. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/substitution-observer-runner.yaml +0 -0
  1059. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/summit-foods.yaml +0 -0
  1060. /package/compliance/cache/{3.1.2 → 3.1.5}/test-kits/webhook-receiver-runner.yaml +0 -0
  1061. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/catalog-macro-substitution.json +0 -0
  1062. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
  1063. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/002-full-plan.json +0 -0
  1064. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
  1065. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
  1066. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
  1067. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
  1068. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
  1069. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
  1070. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
  1071. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
  1072. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
  1073. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/README.md +0 -0
  1074. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/canonicalization.json +0 -0
  1075. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/keys.json +0 -0
  1076. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
  1077. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
  1078. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
  1079. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
  1080. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
  1081. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
  1082. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
  1083. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
  1084. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
  1085. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
  1086. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
  1087. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
  1088. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
  1089. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
  1090. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
  1091. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
  1092. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
  1093. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
  1094. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
  1095. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
  1096. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
  1097. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
  1098. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
  1099. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
  1100. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
  1101. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
  1102. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
  1103. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
  1104. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
  1105. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
  1106. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
  1107. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
  1108. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
  1109. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
  1110. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
  1111. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
  1112. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
  1113. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
  1114. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
  1115. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
  1116. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-receiver-envelope.json +0 -0
  1117. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/README.md +0 -0
  1118. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/keys.json +0 -0
  1119. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
  1120. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
  1121. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
  1122. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
  1123. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
  1124. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
  1125. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
  1126. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
  1127. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
  1128. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
  1129. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
  1130. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
  1131. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
  1132. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
  1133. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
  1134. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
  1135. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
  1136. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
  1137. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
  1138. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
  1139. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
  1140. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
  1141. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
  1142. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
  1143. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
  1144. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
  1145. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
  1146. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
  1147. /package/compliance/cache/{3.1.2 → 3.1.5}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
  1148. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/billing-gate-dispatch.yaml +0 -0
  1149. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/canonical-format-validate-input.yaml +0 -0
  1150. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/capability-discovery.yaml +0 -0
  1151. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/collection-lists-pagination-integrity.yaml +0 -0
  1152. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/comply-controller-mode-gate.yaml +0 -0
  1153. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/content-standards-pagination-integrity.yaml +0 -0
  1154. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/deterministic-testing.yaml +0 -0
  1155. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/error-compliance-signals.yaml +0 -0
  1156. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/error-compliance.yaml +0 -0
  1157. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/fictional-entities.yaml +0 -0
  1158. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/get-media-buys-pagination-integrity.yaml +0 -0
  1159. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/get-products-pagination-integrity.yaml +0 -0
  1160. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/get-signals-pagination-integrity.yaml +0 -0
  1161. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/notification-config-event-scope.yaml +0 -0
  1162. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/notification-config-lifecycle.yaml +0 -0
  1163. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/notification-config-rejections.yaml +0 -0
  1164. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/pagination-integrity-creative-formats.yaml +0 -0
  1165. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/pagination-integrity-list-accounts.yaml +0 -0
  1166. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/pagination-integrity.yaml +0 -0
  1167. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/property-lists-pagination-integrity.yaml +0 -0
  1168. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/read-tool-idempotency.yaml +0 -0
  1169. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/schema-validation-signals.yaml +0 -0
  1170. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/schema-validation.yaml +0 -0
  1171. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/security.yaml +0 -0
  1172. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/signed-requests.yaml +0 -0
  1173. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/stale-response-advisory.yaml +0 -0
  1174. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/v3-envelope-integrity.yaml +0 -0
  1175. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/version-negotiation.yaml +0 -0
  1176. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/webhook-emission.yaml +0 -0
  1177. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/webhook-receiver-envelope.yaml +0 -0
  1178. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
  1179. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/wholesale-feed-product-webhooks.yaml +0 -0
  1180. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/wholesale-feed-products.yaml +0 -0
  1181. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
  1182. /package/compliance/cache/{3.1.2 → 3.1.5}/universal/wholesale-feed-signals.yaml +0 -0
  1183. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/brand/index.yaml +0 -0
  1184. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  1185. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
  1186. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/creative/index.yaml +0 -0
  1187. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
  1188. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  1189. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/creative/scenarios/native_in_feed.yaml +0 -0
  1190. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/governance/index.yaml +0 -0
  1191. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/index.yaml +0 -0
  1192. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  1193. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  1194. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
  1195. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  1196. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  1197. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  1198. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
  1199. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
  1200. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
  1201. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
  1202. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  1203. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  1204. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  1205. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
  1206. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
  1207. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
  1208. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
  1209. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  1210. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  1211. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
  1212. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
  1213. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  1214. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  1215. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1216. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  1217. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  1218. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  1219. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  1220. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  1221. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1222. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  1223. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  1224. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  1225. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  1226. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  1227. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  1228. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  1229. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/refine_products.yaml +0 -0
  1230. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  1231. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  1232. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  1233. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/media-buy/state-machine.yaml +0 -0
  1234. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/signals/index.yaml +0 -0
  1235. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/signals/scenarios/get_signals_async.yaml +0 -0
  1236. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/sponsored-intelligence/index.yaml +0 -0
  1237. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  1238. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/brand/index.yaml +0 -0
  1239. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  1240. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
  1241. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/creative/index.yaml +0 -0
  1242. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
  1243. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  1244. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
  1245. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/governance/index.yaml +0 -0
  1246. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/index.yaml +0 -0
  1247. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  1248. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  1249. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
  1250. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  1251. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  1252. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  1253. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
  1254. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
  1255. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
  1256. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
  1257. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  1258. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  1259. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  1260. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
  1261. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
  1262. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
  1263. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
  1264. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  1265. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  1266. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
  1267. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
  1268. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  1269. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  1270. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1271. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  1272. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  1273. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  1274. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  1275. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  1276. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1277. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  1278. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  1279. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  1280. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  1281. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  1282. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  1283. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  1284. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
  1285. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  1286. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  1287. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  1288. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/media-buy/state-machine.yaml +0 -0
  1289. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/signals/index.yaml +0 -0
  1290. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
  1291. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/sponsored-intelligence/index.yaml +0 -0
  1292. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  1293. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/audience-sync/index.yaml +0 -0
  1294. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/brand-rights/index.yaml +0 -0
  1295. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
  1296. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/collection-lists/index.yaml +0 -0
  1297. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/content-standards/index.yaml +0 -0
  1298. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/creative-ad-server/index.yaml +0 -0
  1299. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/creative-generative/generative-seller.yaml +0 -0
  1300. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/creative-generative/index.yaml +0 -0
  1301. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/creative-template/index.yaml +0 -0
  1302. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/creative-transformers/index.yaml +0 -0
  1303. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/governance-aware-seller/index.yaml +0 -0
  1304. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
  1305. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/governance-delivery-monitor/index.yaml +0 -0
  1306. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/governance-spend-authority/denied.yaml +0 -0
  1307. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/governance-spend-authority/index.yaml +0 -0
  1308. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/property-lists/index.yaml +0 -0
  1309. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/sales-broadcast-tv/index.yaml +0 -0
  1310. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/sales-catalog-driven/index.yaml +0 -0
  1311. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/sales-guaranteed/index.yaml +0 -0
  1312. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/sales-non-guaranteed/index.yaml +0 -0
  1313. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/sales-proposal-mode/index.yaml +0 -0
  1314. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/sales-social/index.yaml +0 -0
  1315. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/signal-marketplace/index.yaml +0 -0
  1316. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
  1317. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/signal-owned/index.yaml +0 -0
  1318. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/specialisms/sponsored-intelligence/index.yaml +0 -0
  1319. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/acme-outdoor-live.yaml +0 -0
  1320. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/acme-outdoor.yaml +0 -0
  1321. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/billing-gate-runner.yaml +0 -0
  1322. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/bistro-oranje.yaml +0 -0
  1323. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/distributed-brand-runner.yaml +0 -0
  1324. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/nova-motors.yaml +0 -0
  1325. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/osei-natural.yaml +0 -0
  1326. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/signed-requests-runner.yaml +0 -0
  1327. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/single-side-trust-runner.yaml +0 -0
  1328. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/substitution-observer-runner.yaml +0 -0
  1329. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/summit-foods.yaml +0 -0
  1330. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-kits/webhook-receiver-runner.yaml +0 -0
  1331. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/catalog-macro-substitution.json +0 -0
  1332. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
  1333. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/002-full-plan.json +0 -0
  1334. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
  1335. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
  1336. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
  1337. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
  1338. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
  1339. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
  1340. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
  1341. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
  1342. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
  1343. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/README.md +0 -0
  1344. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/canonicalization.json +0 -0
  1345. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/keys.json +0 -0
  1346. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
  1347. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
  1348. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
  1349. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
  1350. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
  1351. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
  1352. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
  1353. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
  1354. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
  1355. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
  1356. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
  1357. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
  1358. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
  1359. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
  1360. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
  1361. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
  1362. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
  1363. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
  1364. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
  1365. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
  1366. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
  1367. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
  1368. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
  1369. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
  1370. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
  1371. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
  1372. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
  1373. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
  1374. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
  1375. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
  1376. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
  1377. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
  1378. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
  1379. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
  1380. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
  1381. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
  1382. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
  1383. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
  1384. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
  1385. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
  1386. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-receiver-envelope.json +0 -0
  1387. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/README.md +0 -0
  1388. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/keys.json +0 -0
  1389. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
  1390. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
  1391. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
  1392. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
  1393. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
  1394. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
  1395. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
  1396. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
  1397. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
  1398. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
  1399. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
  1400. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
  1401. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
  1402. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
  1403. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
  1404. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
  1405. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
  1406. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
  1407. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
  1408. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
  1409. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
  1410. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
  1411. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
  1412. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
  1413. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
  1414. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
  1415. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
  1416. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
  1417. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
  1418. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/billing-gate-dispatch.yaml +0 -0
  1419. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/canonical-format-validate-input.yaml +0 -0
  1420. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/capability-discovery.yaml +0 -0
  1421. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/collection-lists-pagination-integrity.yaml +0 -0
  1422. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/comply-controller-mode-gate.yaml +0 -0
  1423. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/content-standards-pagination-integrity.yaml +0 -0
  1424. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/deterministic-testing.yaml +0 -0
  1425. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/error-compliance-signals.yaml +0 -0
  1426. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/error-compliance.yaml +0 -0
  1427. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/fictional-entities.yaml +0 -0
  1428. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/get-media-buys-pagination-integrity.yaml +0 -0
  1429. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/get-products-pagination-integrity.yaml +0 -0
  1430. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/get-signals-pagination-integrity.yaml +0 -0
  1431. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/notification-config-event-scope.yaml +0 -0
  1432. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/notification-config-lifecycle.yaml +0 -0
  1433. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/notification-config-rejections.yaml +0 -0
  1434. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/pagination-integrity-creative-formats.yaml +0 -0
  1435. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/pagination-integrity-list-accounts.yaml +0 -0
  1436. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/pagination-integrity.yaml +0 -0
  1437. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/property-lists-pagination-integrity.yaml +0 -0
  1438. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/read-tool-idempotency.yaml +0 -0
  1439. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/schema-validation-signals.yaml +0 -0
  1440. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/schema-validation.yaml +0 -0
  1441. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/security.yaml +0 -0
  1442. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/signed-requests.yaml +0 -0
  1443. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/stale-response-advisory.yaml +0 -0
  1444. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/v3-envelope-integrity.yaml +0 -0
  1445. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/version-negotiation.yaml +0 -0
  1446. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/webhook-emission.yaml +0 -0
  1447. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/webhook-receiver-envelope.yaml +0 -0
  1448. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
  1449. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/wholesale-feed-product-webhooks.yaml +0 -0
  1450. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/wholesale-feed-products.yaml +0 -0
  1451. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
  1452. /package/compliance/cache/{3.1.2.previous → 3.1.5.previous}/universal/wholesale-feed-signals.yaml +0 -0
@@ -128,7 +128,8 @@ async function callMCPToolWithTasks(agentUrl, toolName, args, authToken, debugLo
128
128
  const modernAttempt = await (0, import_mcp_modern.tryCallModernMCPTool)(agentUrl, toolName, args, authToken, debugLogs, customHeaders, {
129
129
  ...options?.signingContext && { signingContext: options.signingContext },
130
130
  ...options?.signal && { signal: options.signal },
131
- ...options?.requestTimeoutMs !== void 0 && { requestTimeoutMs: options.requestTimeoutMs }
131
+ ...options?.requestTimeoutMs !== void 0 && { requestTimeoutMs: options.requestTimeoutMs },
132
+ ...options?.fetchFn && { fetchFn: options.fetchFn }
132
133
  });
133
134
  if (modernAttempt.handled) {
134
135
  debugLogs.push({
@@ -163,7 +164,7 @@ async function callMCPToolWithTasks(agentUrl, toolName, args, authToken, debugLo
163
164
  options?.signal,
164
165
  options?.requestTimeoutMs
165
166
  ),
166
- void 0,
167
+ options?.fetchFn,
167
168
  { signal: options?.signal, requestTimeoutMs: options?.requestTimeoutMs }
168
169
  );
169
170
  })
@@ -369,15 +370,24 @@ async function listMCPTasks(agentUrl, authToken, debugLogs = [], options = {}) {
369
370
  ...options.transportActivityContext,
370
371
  onTransportActivity: options.onTransportActivity
371
372
  },
372
- () => (0, import_mcp.withCachedConnection)(agentUrl, authToken, authHeaders, debugLogs, "tasks/list", async (client) => {
373
- const result = await client.experimental.tasks.listTasks();
374
- debugLogs.push({
375
- type: "info",
376
- message: `MCP Tasks: listTasks returned ${result.tasks.length} tasks`,
377
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
378
- });
379
- return result.tasks.map((task) => mapMCPTaskToTaskInfo(task));
380
- })
373
+ () => (0, import_mcp.withCachedConnection)(
374
+ agentUrl,
375
+ authToken,
376
+ authHeaders,
377
+ debugLogs,
378
+ "tasks/list",
379
+ async (client) => {
380
+ const result = await client.experimental.tasks.listTasks();
381
+ debugLogs.push({
382
+ type: "info",
383
+ message: `MCP Tasks: listTasks returned ${result.tasks.length} tasks`,
384
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
385
+ });
386
+ return result.tasks.map((task) => mapMCPTaskToTaskInfo(task));
387
+ },
388
+ options.transport?.fetchFn,
389
+ { requestTimeoutMs: options.transport?.requestTimeoutMs }
390
+ )
381
391
  )
382
392
  );
383
393
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/protocols/mcp-tasks.ts"],"sourcesContent":["/**\n * MCP Tasks protocol integration for async tool calls.\n *\n * When an MCP server declares `capabilities.tasks.requests.tools.call`, this module\n * uses the SDK's experimental tasks API instead of custom AdCP tool calls for async\n * lifecycle management. This removes the LLM from the polling path.\n *\n * Detection: check `client.getServerCapabilities()?.tasks?.requests?.tools?.call`\n * after connection. The SDK's `isToolTask()` auto-detects per-tool `taskSupport`.\n */\n\nimport type { Client as MCPClient } from '@modelcontextprotocol/sdk/client/index.js';\nimport type { DebugLogEntry } from '../types/adcp';\nimport type { TaskInfo } from '../core/ConversationTypes';\nimport { withCachedConnection } from './mcp';\nimport { createMCPAuthHeaders } from '../auth';\nimport { withSpan, injectTraceHeaders } from '../observability/tracing';\nimport { signingContextStorage, type AgentSigningContext } from '../signing/client';\nimport { redactIdempotencyKeyInArgs } from '../utils/idempotency';\nimport { withResponseSizeLimit } from './responseSizeLimit';\nimport { withTransportDiagnostics, type TransportActivityHandler } from './transportDiagnostics';\nimport { isAbortOrTimeoutError, resolveClientRequestTimeoutMs } from './abort';\nimport { tryCallModernMCPTool } from './mcp-modern';\n\n/** Response shape returned by MCPClient.callTool(). */\ntype CallToolResponse = {\n isError?: boolean;\n content?: Array<{ type: string; text?: string }>;\n [key: string]: unknown;\n};\n\ninterface MCPTaskProtocolOptions {\n transport?: { maxResponseBytes?: number };\n onTransportActivity?: TransportActivityHandler;\n transportActivityContext?: {\n agentId: string;\n operationId?: string;\n taskId?: string;\n contextId?: string;\n idempotencyKey?: string;\n };\n}\n\n/**\n * Track which MCP clients have had listTools() called.\n * The SDK's isToolTask() needs tool metadata from listTools() to determine\n * per-tool taskSupport. Without this, callToolStream silently degrades to\n * a synchronous tools/call (no task creation).\n */\nconst toolsListedClients = new WeakSet<MCPClient>();\n\n/**\n * Ensure tool metadata is cached in the SDK so isToolTask() works.\n * Called once per client connection when tasks are supported.\n */\nasync function ensureToolsListed(client: MCPClient, signal?: AbortSignal, requestTimeoutMs?: number): Promise<void> {\n if (toolsListedClients.has(client)) return;\n await client.listTools(undefined, {\n ...(signal && { signal }),\n ...(requestTimeoutMs !== undefined && { timeout: requestTimeoutMs }),\n });\n toolsListedClients.add(client);\n}\n\n/**\n * Check if an MCP server supports the Tasks protocol for tool calls.\n */\nexport function serverSupportsTasks(client: MCPClient): boolean {\n const caps = client.getServerCapabilities();\n return !!(caps as Record<string, any>)?.tasks?.requests?.tools?.call;\n}\n\n/**\n * Map MCP Tasks status to AdCP status.\n *\n * MCP Tasks uses underscores and British spelling; AdCP uses hyphens and American spelling.\n */\nexport function mapMCPTaskStatus(mcpStatus: string): string {\n switch (mcpStatus) {\n case 'working':\n return 'working';\n case 'input_required':\n return 'input-required';\n case 'completed':\n return 'completed';\n case 'failed':\n return 'failed';\n case 'cancelled':\n return 'canceled';\n default:\n return mcpStatus;\n }\n}\n\n/**\n * Map an MCP Task object to an AdCP TaskInfo.\n */\nfunction mapMCPTaskToTaskInfo(\n task: {\n taskId: string;\n status: string;\n createdAt: string;\n lastUpdatedAt: string;\n statusMessage?: string;\n pollInterval?: number;\n },\n toolName?: string\n): TaskInfo {\n // Project `statusMessage → TaskInfo.error` against the\n // POST-MAPPING AdCP status (not the raw MCP-side status). MCP\n // Tasks emits `'cancelled'` (British) and never `'rejected'` as a\n // standard status; checking against the AdCP set after mapping\n // catches all terminal failures uniformly. Sellers that extend\n // MCP with custom statuses (e.g. emit `'rejected'` via spec\n // extension) flow through unchanged via the `default` arm of\n // {@link mapMCPTaskStatus}.\n const adcpStatus = mapMCPTaskStatus(task.status);\n const isTerminalFailure = adcpStatus === 'failed' || adcpStatus === 'rejected' || adcpStatus === 'canceled';\n return {\n taskId: task.taskId,\n status: adcpStatus,\n taskType: toolName ?? 'unknown',\n createdAt: new Date(task.createdAt).getTime(),\n updatedAt: new Date(task.lastUpdatedAt).getTime(),\n error: isTerminalFailure ? task.statusMessage : undefined,\n };\n}\n\n/**\n * Build auth headers for MCP connections.\n */\nfunction buildAuthHeaders(authToken?: string, customHeaders?: Record<string, string>): Record<string, string> {\n const traceHeaders = injectTraceHeaders();\n return {\n ...customHeaders,\n ...traceHeaders,\n ...(authToken ? createMCPAuthHeaders(authToken) : {}),\n };\n}\n\n/**\n * Redact sensitive fields from tool args before logging.\n *\n * Redacts:\n * - `push_notification_config.authentication` — webhook signing secret\n * - `idempotency_key` — retry-pattern oracle within the seller's TTL; opt-in\n * full logging via `ADCP_LOG_IDEMPOTENCY_KEYS=1`\n */\nfunction redactArgsForLog(args: Record<string, unknown>): Record<string, unknown> {\n let redacted: Record<string, unknown> = args;\n if (redacted.push_notification_config) {\n redacted = {\n ...redacted,\n push_notification_config: {\n ...(redacted.push_notification_config as object),\n authentication: '***',\n },\n };\n }\n return redactIdempotencyKeyInArgs(redacted);\n}\n\n/**\n * Validate taskId before passing to protocol methods.\n */\nfunction validateTaskId(taskId: string): void {\n if (!taskId || typeof taskId !== 'string' || taskId.length > 256) {\n throw new Error(`Invalid taskId: expected non-empty string (max 256 chars)`);\n }\n}\n\n/**\n * Call an MCP tool with Tasks protocol support.\n *\n * If the server supports MCP Tasks and the tool has `taskSupport: 'optional' | 'required'`,\n * uses `callToolStream()` which handles task creation, polling, and result retrieval.\n *\n * If the server doesn't support tasks, falls back to regular `client.callTool()`.\n *\n * The stream is consumed with a timeout. If the task doesn't complete within the timeout,\n * returns a working-status response with the MCP task_id for follow-up polling.\n */\nexport async function callMCPToolWithTasks(\n agentUrl: string,\n toolName: string,\n args: Record<string, unknown>,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n customHeaders?: Record<string, string>,\n options?: {\n workingTimeout?: number;\n signingContext?: AgentSigningContext;\n signal?: AbortSignal;\n requestTimeoutMs?: number;\n }\n): Promise<unknown> {\n // Keep the public debug-log contract identical across modern and legacy\n // protocol eras. Era negotiation happens after these common entries; the\n // selected transport appends its own connection diagnostics.\n debugLogs.push({\n type: 'info',\n message: `MCP: Auth configuration`,\n timestamp: new Date().toISOString(),\n hasAuth: !!authToken,\n headers: authToken ? { 'x-adcp-auth': '***' } : {},\n customHeaderKeys: customHeaders ? Object.keys(customHeaders) : [],\n });\n\n debugLogs.push({\n type: 'info',\n message: `MCP: Calling tool ${toolName} with args: ${JSON.stringify(redactArgsForLog(args))}`,\n timestamp: new Date().toISOString(),\n });\n\n if (authToken) {\n debugLogs.push({\n type: 'info',\n message: `MCP: Transport configured with x-adcp-auth header for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n }\n\n const modernAttempt = await tryCallModernMCPTool(agentUrl, toolName, args, authToken, debugLogs, customHeaders, {\n ...(options?.signingContext && { signingContext: options.signingContext }),\n ...(options?.signal && { signal: options.signal }),\n ...(options?.requestTimeoutMs !== undefined && { requestTimeoutMs: options.requestTimeoutMs }),\n });\n if (modernAttempt.handled) {\n debugLogs.push({\n type: modernAttempt.response?.isError ? 'error' : 'success',\n message: `MCP: Tool ${toolName} response received (${modernAttempt.response?.isError ? 'error' : 'success'})`,\n timestamp: new Date().toISOString(),\n response: modernAttempt.response,\n });\n return modernAttempt.response;\n }\n\n return withSpan(\n 'adcp.mcp.call_tool',\n {\n 'adcp.tool': toolName,\n 'http.url': agentUrl,\n },\n async () =>\n signingContextStorage.run(options?.signingContext, async () => {\n const authHeaders = buildAuthHeaders(authToken, customHeaders);\n const workingTimeout = options?.workingTimeout ?? 120_000;\n\n return withCachedConnection(\n agentUrl,\n authToken,\n authHeaders,\n debugLogs,\n toolName,\n client =>\n callToolOnClient(\n client,\n toolName,\n args,\n debugLogs,\n workingTimeout,\n options?.signal,\n options?.requestTimeoutMs\n ),\n undefined,\n { signal: options?.signal, requestTimeoutMs: options?.requestTimeoutMs }\n );\n })\n );\n}\n\n/**\n * Call a tool on a pre-connected MCP `Client` without HTTP transport or connection caching.\n *\n * This is the in-process companion to `callMCPToolWithTasks`. It skips URL validation,\n * connection setup, OAuth refresh, and the reconnect-retry path — the caller owns the\n * client lifecycle. All other semantics (tasks protocol detection, stream handling,\n * timeout surfacing) are identical to the URL-based path.\n *\n * Use via `AgentClient.fromMCPClient()`. Not intended for direct import outside the\n * protocols directory.\n */\nexport async function callMCPToolWithClient(\n mcpClient: MCPClient,\n toolName: string,\n args: Record<string, unknown>,\n debugLogs: DebugLogEntry[] = [],\n options?: { workingTimeout?: number; signal?: AbortSignal; requestTimeoutMs?: number }\n): Promise<unknown> {\n debugLogs.push({\n type: 'info',\n message: `MCP: Calling tool ${toolName} (in-process) with args: ${JSON.stringify(redactArgsForLog(args))}`,\n timestamp: new Date().toISOString(),\n });\n return callToolOnClient(\n mcpClient,\n toolName,\n args,\n debugLogs,\n options?.workingTimeout ?? 120_000,\n options?.signal,\n options?.requestTimeoutMs\n );\n}\n\n/**\n * Inner dispatch logic shared by `callMCPToolWithTasks` (URL path) and\n * `callMCPToolWithClient` (in-process path). Both paths converge here once\n * a connected `MCPClient` is in hand.\n */\nasync function callToolOnClient(\n client: MCPClient,\n toolName: string,\n args: Record<string, unknown>,\n debugLogs: DebugLogEntry[],\n workingTimeout: number,\n signal?: AbortSignal,\n requestTimeoutMs?: number\n): Promise<unknown> {\n const resolvedRequestTimeoutMs = resolveClientRequestTimeoutMs(requestTimeoutMs);\n const requestOptions = {\n ...(signal && { signal }),\n ...(resolvedRequestTimeoutMs !== undefined && { timeout: resolvedRequestTimeoutMs }),\n };\n if (!serverSupportsTasks(client)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server does not support tasks, using standard callTool for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n const response = (await client.callTool(\n { name: toolName, arguments: args },\n undefined,\n requestOptions\n )) as CallToolResponse;\n\n debugLogs.push({\n type: response?.isError ? 'error' : 'success',\n message: `MCP: Tool ${toolName} response received (${response?.isError ? 'error' : 'success'})`,\n timestamp: new Date().toISOString(),\n response: response,\n });\n\n return response;\n }\n\n // Ensure tool metadata is cached so the SDK's isToolTask() works correctly.\n // Without this, callToolStream silently skips task creation for tools that\n // declare taskSupport: 'optional' | 'required'.\n await ensureToolsListed(client, signal, resolvedRequestTimeoutMs);\n\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server supports tasks, using callToolStream for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n\n // Use callToolStream which handles the full task lifecycle\n const stream = client.experimental.tasks.callToolStream({ name: toolName, arguments: args }, undefined, {\n timeout: resolvedRequestTimeoutMs ?? workingTimeout,\n resetTimeoutOnProgress: true,\n ...(signal && { signal }),\n });\n\n let capturedTaskId: string | undefined;\n let capturedTask: { taskId: string; status: string; pollInterval?: number } | undefined;\n\n try {\n for await (const message of stream) {\n switch (message.type) {\n case 'taskCreated':\n capturedTaskId = message.task.taskId;\n capturedTask = message.task;\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Task created ${capturedTaskId} for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n break;\n\n case 'taskStatus':\n capturedTask = message.task;\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Status update for ${capturedTaskId}: ${message.task.status}`,\n timestamp: new Date().toISOString(),\n });\n break;\n\n case 'result': {\n debugLogs.push({\n type: 'success',\n message: `MCP: Tool ${toolName} response received (success)`,\n timestamp: new Date().toISOString(),\n response: message.result,\n });\n return message.result as CallToolResponse;\n }\n\n case 'error': {\n debugLogs.push({\n type: 'error',\n message: `MCP Tasks: Error for ${toolName}: ${message.error.message}`,\n timestamp: new Date().toISOString(),\n });\n // The MCP Tasks SDK error event may strip structured content.\n // If we have a taskId, fetch the full result to recover adcp_error data\n // and return it as a proper isError response for downstream unwrapping.\n if (capturedTaskId) {\n try {\n const taskResult = await client.experimental.tasks.getTaskResult(\n capturedTaskId,\n undefined,\n requestOptions\n );\n const content = taskResult?.content as Array<{ type: string; text?: string }> | undefined;\n if (content) {\n return {\n isError: true,\n content,\n structuredContent: taskResult?.structuredContent,\n } as unknown as CallToolResponse;\n }\n } catch {\n // Failed to fetch task result — fall through to throw\n }\n }\n throw message.error;\n }\n }\n }\n } catch (error) {\n if (signal?.aborted && isAbortOrTimeoutError(error)) {\n throw error;\n }\n // If we timed out but have a taskId, return a working status\n // so the caller can poll via getMCPTaskStatus/getMCPTaskResult\n if (capturedTaskId && error instanceof Error && /timeout|timed out/i.test(error.message)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Timeout for ${toolName}, returning working status with taskId ${capturedTaskId}`,\n timestamp: new Date().toISOString(),\n });\n\n return {\n structuredContent: {\n status: 'working',\n task_id: capturedTaskId,\n poll_interval: capturedTask?.pollInterval,\n },\n };\n }\n if (isAbortOrTimeoutError(error)) {\n throw error;\n }\n // Servers may return a synchronous tool error (e.g. VERSION_UNSUPPORTED)\n // rather than creating a task. The Tasks SDK rejects these with a Zod\n // validation error about a missing `task` field. When no task was\n // captured, fall back to standard callTool so the error response\n // reaches the caller intact.\n const msg = error instanceof Error ? error.message : String(error);\n if (!capturedTaskId && /Invalid task creation result/i.test(msg)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server returned synchronous response for ${toolName}, falling back to callTool`,\n timestamp: new Date().toISOString(),\n });\n return (await client.callTool(\n { name: toolName, arguments: args },\n undefined,\n requestOptions\n )) as CallToolResponse;\n }\n throw error;\n }\n\n // Stream ended without result — shouldn't happen with well-behaved servers\n if (capturedTaskId) {\n return {\n structuredContent: {\n status: 'working',\n task_id: capturedTaskId,\n poll_interval: capturedTask?.pollInterval,\n },\n };\n }\n\n throw new Error(`MCP Tasks: callToolStream for ${toolName} ended without result or task`);\n}\n\n/**\n * Get task status via MCP Tasks protocol method (not tool call).\n *\n * Task lifecycle methods (`tasks/get`, `tasks/result`, `tasks/list`,\n * `tasks/cancel`) are MCP protocol methods, not AdCP operations.\n * `extractAdcpOperation` returns `undefined` for them, so the signing fetch\n * passes them through unsigned regardless of whether an `AgentSigningContext`\n * is present in ALS. That matches the RFC 9421 signing profile, which only\n * covers AdCP tool calls (`tools/call` / `message/send`).\n *\n * Re-throws auth errors (401) — only catches protocol capability errors.\n */\nexport async function getMCPTaskStatus(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n toolName?: string\n): Promise<TaskInfo> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n return withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/get:${taskId}`, async client => {\n const result = await client.experimental.tasks.getTask(taskId);\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: getTask ${taskId} → ${result.status}`,\n timestamp: new Date().toISOString(),\n });\n return mapMCPTaskToTaskInfo(\n result as {\n taskId: string;\n status: string;\n createdAt: string;\n lastUpdatedAt: string;\n statusMessage?: string;\n pollInterval?: number;\n },\n toolName\n );\n });\n}\n\n/**\n * Get task result via MCP Tasks protocol method (blocks until terminal).\n */\nexport async function getMCPTaskResult(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = []\n): Promise<unknown> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n return withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/result:${taskId}`, async client => {\n const result = await client.experimental.tasks.getTaskResult(taskId);\n debugLogs.push({\n type: 'success',\n message: `MCP Tasks: getTaskResult ${taskId} received`,\n timestamp: new Date().toISOString(),\n });\n return result;\n });\n}\n\n/**\n * List tasks via MCP Tasks protocol method.\n */\nexport async function listMCPTasks(\n agentUrl: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n options: MCPTaskProtocolOptions = {}\n): Promise<TaskInfo[]> {\n const authHeaders = buildAuthHeaders(authToken);\n\n return withResponseSizeLimit(options.transport?.maxResponseBytes, () =>\n withTransportDiagnostics(\n {\n agentId: options.transportActivityContext?.agentId ?? 'unknown-agent',\n protocol: 'mcp',\n tool: 'tasks/list',\n taskType: 'tasks/list',\n ...options.transportActivityContext,\n onTransportActivity: options.onTransportActivity,\n },\n () =>\n withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, 'tasks/list', async client => {\n const result = await client.experimental.tasks.listTasks();\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: listTasks returned ${result.tasks.length} tasks`,\n timestamp: new Date().toISOString(),\n });\n return result.tasks.map((task: any) => mapMCPTaskToTaskInfo(task));\n })\n )\n );\n}\n\n/**\n * Cancel a task via MCP Tasks protocol method.\n */\nexport async function cancelMCPTask(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = []\n): Promise<void> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n await withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/cancel:${taskId}`, async client => {\n await client.experimental.tasks.cancelTask(taskId);\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: cancelTask ${taskId} succeeded`,\n timestamp: new Date().toISOString(),\n });\n });\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/lib/protocols/mcp-tasks.ts"],"sourcesContent":["/**\n * MCP Tasks protocol integration for async tool calls.\n *\n * When an MCP server declares `capabilities.tasks.requests.tools.call`, this module\n * uses the SDK's experimental tasks API instead of custom AdCP tool calls for async\n * lifecycle management. This removes the LLM from the polling path.\n *\n * Detection: check `client.getServerCapabilities()?.tasks?.requests?.tools?.call`\n * after connection. The SDK's `isToolTask()` auto-detects per-tool `taskSupport`.\n */\n\nimport type { Client as MCPClient } from '@modelcontextprotocol/sdk/client/index.js';\nimport type { DebugLogEntry } from '../types/adcp';\nimport type { TaskInfo } from '../core/ConversationTypes';\nimport { withCachedConnection } from './mcp';\nimport { createMCPAuthHeaders } from '../auth';\nimport { withSpan, injectTraceHeaders } from '../observability/tracing';\nimport { signingContextStorage, type AgentSigningContext } from '../signing/client';\nimport { redactIdempotencyKeyInArgs } from '../utils/idempotency';\nimport { withResponseSizeLimit } from './responseSizeLimit';\nimport { withTransportDiagnostics, type TransportActivityHandler } from './transportDiagnostics';\nimport { isAbortOrTimeoutError, resolveClientRequestTimeoutMs } from './abort';\nimport { tryCallModernMCPTool } from './mcp-modern';\n\n/** Response shape returned by MCPClient.callTool(). */\ntype CallToolResponse = {\n isError?: boolean;\n content?: Array<{ type: string; text?: string }>;\n [key: string]: unknown;\n};\n\ninterface MCPTaskProtocolOptions {\n transport?: { maxResponseBytes?: number; fetchFn?: typeof fetch; requestTimeoutMs?: number };\n onTransportActivity?: TransportActivityHandler;\n transportActivityContext?: {\n agentId: string;\n operationId?: string;\n taskId?: string;\n contextId?: string;\n idempotencyKey?: string;\n };\n}\n\n/**\n * Track which MCP clients have had listTools() called.\n * The SDK's isToolTask() needs tool metadata from listTools() to determine\n * per-tool taskSupport. Without this, callToolStream silently degrades to\n * a synchronous tools/call (no task creation).\n */\nconst toolsListedClients = new WeakSet<MCPClient>();\n\n/**\n * Ensure tool metadata is cached in the SDK so isToolTask() works.\n * Called once per client connection when tasks are supported.\n */\nasync function ensureToolsListed(client: MCPClient, signal?: AbortSignal, requestTimeoutMs?: number): Promise<void> {\n if (toolsListedClients.has(client)) return;\n await client.listTools(undefined, {\n ...(signal && { signal }),\n ...(requestTimeoutMs !== undefined && { timeout: requestTimeoutMs }),\n });\n toolsListedClients.add(client);\n}\n\n/**\n * Check if an MCP server supports the Tasks protocol for tool calls.\n */\nexport function serverSupportsTasks(client: MCPClient): boolean {\n const caps = client.getServerCapabilities();\n return !!(caps as Record<string, any>)?.tasks?.requests?.tools?.call;\n}\n\n/**\n * Map MCP Tasks status to AdCP status.\n *\n * MCP Tasks uses underscores and British spelling; AdCP uses hyphens and American spelling.\n */\nexport function mapMCPTaskStatus(mcpStatus: string): string {\n switch (mcpStatus) {\n case 'working':\n return 'working';\n case 'input_required':\n return 'input-required';\n case 'completed':\n return 'completed';\n case 'failed':\n return 'failed';\n case 'cancelled':\n return 'canceled';\n default:\n return mcpStatus;\n }\n}\n\n/**\n * Map an MCP Task object to an AdCP TaskInfo.\n */\nfunction mapMCPTaskToTaskInfo(\n task: {\n taskId: string;\n status: string;\n createdAt: string;\n lastUpdatedAt: string;\n statusMessage?: string;\n pollInterval?: number;\n },\n toolName?: string\n): TaskInfo {\n // Project `statusMessage → TaskInfo.error` against the\n // POST-MAPPING AdCP status (not the raw MCP-side status). MCP\n // Tasks emits `'cancelled'` (British) and never `'rejected'` as a\n // standard status; checking against the AdCP set after mapping\n // catches all terminal failures uniformly. Sellers that extend\n // MCP with custom statuses (e.g. emit `'rejected'` via spec\n // extension) flow through unchanged via the `default` arm of\n // {@link mapMCPTaskStatus}.\n const adcpStatus = mapMCPTaskStatus(task.status);\n const isTerminalFailure = adcpStatus === 'failed' || adcpStatus === 'rejected' || adcpStatus === 'canceled';\n return {\n taskId: task.taskId,\n status: adcpStatus,\n taskType: toolName ?? 'unknown',\n createdAt: new Date(task.createdAt).getTime(),\n updatedAt: new Date(task.lastUpdatedAt).getTime(),\n error: isTerminalFailure ? task.statusMessage : undefined,\n };\n}\n\n/**\n * Build auth headers for MCP connections.\n */\nfunction buildAuthHeaders(authToken?: string, customHeaders?: Record<string, string>): Record<string, string> {\n const traceHeaders = injectTraceHeaders();\n return {\n ...customHeaders,\n ...traceHeaders,\n ...(authToken ? createMCPAuthHeaders(authToken) : {}),\n };\n}\n\n/**\n * Redact sensitive fields from tool args before logging.\n *\n * Redacts:\n * - `push_notification_config.authentication` — webhook signing secret\n * - `idempotency_key` — retry-pattern oracle within the seller's TTL; opt-in\n * full logging via `ADCP_LOG_IDEMPOTENCY_KEYS=1`\n */\nfunction redactArgsForLog(args: Record<string, unknown>): Record<string, unknown> {\n let redacted: Record<string, unknown> = args;\n if (redacted.push_notification_config) {\n redacted = {\n ...redacted,\n push_notification_config: {\n ...(redacted.push_notification_config as object),\n authentication: '***',\n },\n };\n }\n return redactIdempotencyKeyInArgs(redacted);\n}\n\n/**\n * Validate taskId before passing to protocol methods.\n */\nfunction validateTaskId(taskId: string): void {\n if (!taskId || typeof taskId !== 'string' || taskId.length > 256) {\n throw new Error(`Invalid taskId: expected non-empty string (max 256 chars)`);\n }\n}\n\n/**\n * Call an MCP tool with Tasks protocol support.\n *\n * If the server supports MCP Tasks and the tool has `taskSupport: 'optional' | 'required'`,\n * uses `callToolStream()` which handles task creation, polling, and result retrieval.\n *\n * If the server doesn't support tasks, falls back to regular `client.callTool()`.\n *\n * The stream is consumed with a timeout. If the task doesn't complete within the timeout,\n * returns a working-status response with the MCP task_id for follow-up polling.\n */\nexport async function callMCPToolWithTasks(\n agentUrl: string,\n toolName: string,\n args: Record<string, unknown>,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n customHeaders?: Record<string, string>,\n options?: {\n workingTimeout?: number;\n signingContext?: AgentSigningContext;\n signal?: AbortSignal;\n requestTimeoutMs?: number;\n fetchFn?: typeof fetch;\n }\n): Promise<unknown> {\n // Keep the public debug-log contract identical across modern and legacy\n // protocol eras. Era negotiation happens after these common entries; the\n // selected transport appends its own connection diagnostics.\n debugLogs.push({\n type: 'info',\n message: `MCP: Auth configuration`,\n timestamp: new Date().toISOString(),\n hasAuth: !!authToken,\n headers: authToken ? { 'x-adcp-auth': '***' } : {},\n customHeaderKeys: customHeaders ? Object.keys(customHeaders) : [],\n });\n\n debugLogs.push({\n type: 'info',\n message: `MCP: Calling tool ${toolName} with args: ${JSON.stringify(redactArgsForLog(args))}`,\n timestamp: new Date().toISOString(),\n });\n\n if (authToken) {\n debugLogs.push({\n type: 'info',\n message: `MCP: Transport configured with x-adcp-auth header for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n }\n\n const modernAttempt = await tryCallModernMCPTool(agentUrl, toolName, args, authToken, debugLogs, customHeaders, {\n ...(options?.signingContext && { signingContext: options.signingContext }),\n ...(options?.signal && { signal: options.signal }),\n ...(options?.requestTimeoutMs !== undefined && { requestTimeoutMs: options.requestTimeoutMs }),\n ...(options?.fetchFn && { fetchFn: options.fetchFn }),\n });\n if (modernAttempt.handled) {\n debugLogs.push({\n type: modernAttempt.response?.isError ? 'error' : 'success',\n message: `MCP: Tool ${toolName} response received (${modernAttempt.response?.isError ? 'error' : 'success'})`,\n timestamp: new Date().toISOString(),\n response: modernAttempt.response,\n });\n return modernAttempt.response;\n }\n\n return withSpan(\n 'adcp.mcp.call_tool',\n {\n 'adcp.tool': toolName,\n 'http.url': agentUrl,\n },\n async () =>\n signingContextStorage.run(options?.signingContext, async () => {\n const authHeaders = buildAuthHeaders(authToken, customHeaders);\n const workingTimeout = options?.workingTimeout ?? 120_000;\n\n return withCachedConnection(\n agentUrl,\n authToken,\n authHeaders,\n debugLogs,\n toolName,\n client =>\n callToolOnClient(\n client,\n toolName,\n args,\n debugLogs,\n workingTimeout,\n options?.signal,\n options?.requestTimeoutMs\n ),\n options?.fetchFn,\n { signal: options?.signal, requestTimeoutMs: options?.requestTimeoutMs }\n );\n })\n );\n}\n\n/**\n * Call a tool on a pre-connected MCP `Client` without HTTP transport or connection caching.\n *\n * This is the in-process companion to `callMCPToolWithTasks`. It skips URL validation,\n * connection setup, OAuth refresh, and the reconnect-retry path — the caller owns the\n * client lifecycle. All other semantics (tasks protocol detection, stream handling,\n * timeout surfacing) are identical to the URL-based path.\n *\n * Use via `AgentClient.fromMCPClient()`. Not intended for direct import outside the\n * protocols directory.\n */\nexport async function callMCPToolWithClient(\n mcpClient: MCPClient,\n toolName: string,\n args: Record<string, unknown>,\n debugLogs: DebugLogEntry[] = [],\n options?: { workingTimeout?: number; signal?: AbortSignal; requestTimeoutMs?: number }\n): Promise<unknown> {\n debugLogs.push({\n type: 'info',\n message: `MCP: Calling tool ${toolName} (in-process) with args: ${JSON.stringify(redactArgsForLog(args))}`,\n timestamp: new Date().toISOString(),\n });\n return callToolOnClient(\n mcpClient,\n toolName,\n args,\n debugLogs,\n options?.workingTimeout ?? 120_000,\n options?.signal,\n options?.requestTimeoutMs\n );\n}\n\n/**\n * Inner dispatch logic shared by `callMCPToolWithTasks` (URL path) and\n * `callMCPToolWithClient` (in-process path). Both paths converge here once\n * a connected `MCPClient` is in hand.\n */\nasync function callToolOnClient(\n client: MCPClient,\n toolName: string,\n args: Record<string, unknown>,\n debugLogs: DebugLogEntry[],\n workingTimeout: number,\n signal?: AbortSignal,\n requestTimeoutMs?: number\n): Promise<unknown> {\n const resolvedRequestTimeoutMs = resolveClientRequestTimeoutMs(requestTimeoutMs);\n const requestOptions = {\n ...(signal && { signal }),\n ...(resolvedRequestTimeoutMs !== undefined && { timeout: resolvedRequestTimeoutMs }),\n };\n if (!serverSupportsTasks(client)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server does not support tasks, using standard callTool for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n const response = (await client.callTool(\n { name: toolName, arguments: args },\n undefined,\n requestOptions\n )) as CallToolResponse;\n\n debugLogs.push({\n type: response?.isError ? 'error' : 'success',\n message: `MCP: Tool ${toolName} response received (${response?.isError ? 'error' : 'success'})`,\n timestamp: new Date().toISOString(),\n response: response,\n });\n\n return response;\n }\n\n // Ensure tool metadata is cached so the SDK's isToolTask() works correctly.\n // Without this, callToolStream silently skips task creation for tools that\n // declare taskSupport: 'optional' | 'required'.\n await ensureToolsListed(client, signal, resolvedRequestTimeoutMs);\n\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server supports tasks, using callToolStream for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n\n // Use callToolStream which handles the full task lifecycle\n const stream = client.experimental.tasks.callToolStream({ name: toolName, arguments: args }, undefined, {\n timeout: resolvedRequestTimeoutMs ?? workingTimeout,\n resetTimeoutOnProgress: true,\n ...(signal && { signal }),\n });\n\n let capturedTaskId: string | undefined;\n let capturedTask: { taskId: string; status: string; pollInterval?: number } | undefined;\n\n try {\n for await (const message of stream) {\n switch (message.type) {\n case 'taskCreated':\n capturedTaskId = message.task.taskId;\n capturedTask = message.task;\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Task created ${capturedTaskId} for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n break;\n\n case 'taskStatus':\n capturedTask = message.task;\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Status update for ${capturedTaskId}: ${message.task.status}`,\n timestamp: new Date().toISOString(),\n });\n break;\n\n case 'result': {\n debugLogs.push({\n type: 'success',\n message: `MCP: Tool ${toolName} response received (success)`,\n timestamp: new Date().toISOString(),\n response: message.result,\n });\n return message.result as CallToolResponse;\n }\n\n case 'error': {\n debugLogs.push({\n type: 'error',\n message: `MCP Tasks: Error for ${toolName}: ${message.error.message}`,\n timestamp: new Date().toISOString(),\n });\n // The MCP Tasks SDK error event may strip structured content.\n // If we have a taskId, fetch the full result to recover adcp_error data\n // and return it as a proper isError response for downstream unwrapping.\n if (capturedTaskId) {\n try {\n const taskResult = await client.experimental.tasks.getTaskResult(\n capturedTaskId,\n undefined,\n requestOptions\n );\n const content = taskResult?.content as Array<{ type: string; text?: string }> | undefined;\n if (content) {\n return {\n isError: true,\n content,\n structuredContent: taskResult?.structuredContent,\n } as unknown as CallToolResponse;\n }\n } catch {\n // Failed to fetch task result — fall through to throw\n }\n }\n throw message.error;\n }\n }\n }\n } catch (error) {\n if (signal?.aborted && isAbortOrTimeoutError(error)) {\n throw error;\n }\n // If we timed out but have a taskId, return a working status\n // so the caller can poll via getMCPTaskStatus/getMCPTaskResult\n if (capturedTaskId && error instanceof Error && /timeout|timed out/i.test(error.message)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Timeout for ${toolName}, returning working status with taskId ${capturedTaskId}`,\n timestamp: new Date().toISOString(),\n });\n\n return {\n structuredContent: {\n status: 'working',\n task_id: capturedTaskId,\n poll_interval: capturedTask?.pollInterval,\n },\n };\n }\n if (isAbortOrTimeoutError(error)) {\n throw error;\n }\n // Servers may return a synchronous tool error (e.g. VERSION_UNSUPPORTED)\n // rather than creating a task. The Tasks SDK rejects these with a Zod\n // validation error about a missing `task` field. When no task was\n // captured, fall back to standard callTool so the error response\n // reaches the caller intact.\n const msg = error instanceof Error ? error.message : String(error);\n if (!capturedTaskId && /Invalid task creation result/i.test(msg)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server returned synchronous response for ${toolName}, falling back to callTool`,\n timestamp: new Date().toISOString(),\n });\n return (await client.callTool(\n { name: toolName, arguments: args },\n undefined,\n requestOptions\n )) as CallToolResponse;\n }\n throw error;\n }\n\n // Stream ended without result — shouldn't happen with well-behaved servers\n if (capturedTaskId) {\n return {\n structuredContent: {\n status: 'working',\n task_id: capturedTaskId,\n poll_interval: capturedTask?.pollInterval,\n },\n };\n }\n\n throw new Error(`MCP Tasks: callToolStream for ${toolName} ended without result or task`);\n}\n\n/**\n * Get task status via MCP Tasks protocol method (not tool call).\n *\n * Task lifecycle methods (`tasks/get`, `tasks/result`, `tasks/list`,\n * `tasks/cancel`) are MCP protocol methods, not AdCP operations.\n * `extractAdcpOperation` returns `undefined` for them, so the signing fetch\n * passes them through unsigned regardless of whether an `AgentSigningContext`\n * is present in ALS. That matches the RFC 9421 signing profile, which only\n * covers AdCP tool calls (`tools/call` / `message/send`).\n *\n * Re-throws auth errors (401) — only catches protocol capability errors.\n */\nexport async function getMCPTaskStatus(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n toolName?: string\n): Promise<TaskInfo> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n return withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/get:${taskId}`, async client => {\n const result = await client.experimental.tasks.getTask(taskId);\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: getTask ${taskId} → ${result.status}`,\n timestamp: new Date().toISOString(),\n });\n return mapMCPTaskToTaskInfo(\n result as {\n taskId: string;\n status: string;\n createdAt: string;\n lastUpdatedAt: string;\n statusMessage?: string;\n pollInterval?: number;\n },\n toolName\n );\n });\n}\n\n/**\n * Get task result via MCP Tasks protocol method (blocks until terminal).\n */\nexport async function getMCPTaskResult(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = []\n): Promise<unknown> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n return withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/result:${taskId}`, async client => {\n const result = await client.experimental.tasks.getTaskResult(taskId);\n debugLogs.push({\n type: 'success',\n message: `MCP Tasks: getTaskResult ${taskId} received`,\n timestamp: new Date().toISOString(),\n });\n return result;\n });\n}\n\n/**\n * List tasks via MCP Tasks protocol method.\n */\nexport async function listMCPTasks(\n agentUrl: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n options: MCPTaskProtocolOptions = {}\n): Promise<TaskInfo[]> {\n const authHeaders = buildAuthHeaders(authToken);\n\n return withResponseSizeLimit(options.transport?.maxResponseBytes, () =>\n withTransportDiagnostics(\n {\n agentId: options.transportActivityContext?.agentId ?? 'unknown-agent',\n protocol: 'mcp',\n tool: 'tasks/list',\n taskType: 'tasks/list',\n ...options.transportActivityContext,\n onTransportActivity: options.onTransportActivity,\n },\n () =>\n withCachedConnection(\n agentUrl,\n authToken,\n authHeaders,\n debugLogs,\n 'tasks/list',\n async client => {\n const result = await client.experimental.tasks.listTasks();\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: listTasks returned ${result.tasks.length} tasks`,\n timestamp: new Date().toISOString(),\n });\n return result.tasks.map((task: any) => mapMCPTaskToTaskInfo(task));\n },\n options.transport?.fetchFn,\n { requestTimeoutMs: options.transport?.requestTimeoutMs }\n )\n )\n );\n}\n\n/**\n * Cancel a task via MCP Tasks protocol method.\n */\nexport async function cancelMCPTask(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = []\n): Promise<void> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n await withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/cancel:${taskId}`, async client => {\n await client.experimental.tasks.cancelTask(taskId);\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: cancelTask ${taskId} succeeded`,\n timestamp: new Date().toISOString(),\n });\n });\n}\n"],"mappings":"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","names":[]}
@@ -103,7 +103,8 @@ async function callMCPToolWithTasks(agentUrl, toolName, args, authToken, debugLo
103
103
  const modernAttempt = await tryCallModernMCPTool(agentUrl, toolName, args, authToken, debugLogs, customHeaders, {
104
104
  ...options?.signingContext && { signingContext: options.signingContext },
105
105
  ...options?.signal && { signal: options.signal },
106
- ...options?.requestTimeoutMs !== void 0 && { requestTimeoutMs: options.requestTimeoutMs }
106
+ ...options?.requestTimeoutMs !== void 0 && { requestTimeoutMs: options.requestTimeoutMs },
107
+ ...options?.fetchFn && { fetchFn: options.fetchFn }
107
108
  });
108
109
  if (modernAttempt.handled) {
109
110
  debugLogs.push({
@@ -138,7 +139,7 @@ async function callMCPToolWithTasks(agentUrl, toolName, args, authToken, debugLo
138
139
  options?.signal,
139
140
  options?.requestTimeoutMs
140
141
  ),
141
- void 0,
142
+ options?.fetchFn,
142
143
  { signal: options?.signal, requestTimeoutMs: options?.requestTimeoutMs }
143
144
  );
144
145
  })
@@ -344,15 +345,24 @@ async function listMCPTasks(agentUrl, authToken, debugLogs = [], options = {}) {
344
345
  ...options.transportActivityContext,
345
346
  onTransportActivity: options.onTransportActivity
346
347
  },
347
- () => withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, "tasks/list", async (client) => {
348
- const result = await client.experimental.tasks.listTasks();
349
- debugLogs.push({
350
- type: "info",
351
- message: `MCP Tasks: listTasks returned ${result.tasks.length} tasks`,
352
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
353
- });
354
- return result.tasks.map((task) => mapMCPTaskToTaskInfo(task));
355
- })
348
+ () => withCachedConnection(
349
+ agentUrl,
350
+ authToken,
351
+ authHeaders,
352
+ debugLogs,
353
+ "tasks/list",
354
+ async (client) => {
355
+ const result = await client.experimental.tasks.listTasks();
356
+ debugLogs.push({
357
+ type: "info",
358
+ message: `MCP Tasks: listTasks returned ${result.tasks.length} tasks`,
359
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
360
+ });
361
+ return result.tasks.map((task) => mapMCPTaskToTaskInfo(task));
362
+ },
363
+ options.transport?.fetchFn,
364
+ { requestTimeoutMs: options.transport?.requestTimeoutMs }
365
+ )
356
366
  )
357
367
  );
358
368
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/protocols/mcp-tasks.ts"],"sourcesContent":["import { fileURLToPath as __adcpFileURLToPath } from 'node:url';\nimport { dirname as __adcpDirname } from 'node:path';\nimport { createRequire as __adcpCreateRequire } from 'node:module';\nconst __dirname = __adcpDirname(__adcpFileURLToPath(import.meta.url));\nconst require = __adcpCreateRequire(import.meta.url);\n/**\n * MCP Tasks protocol integration for async tool calls.\n *\n * When an MCP server declares `capabilities.tasks.requests.tools.call`, this module\n * uses the SDK's experimental tasks API instead of custom AdCP tool calls for async\n * lifecycle management. This removes the LLM from the polling path.\n *\n * Detection: check `client.getServerCapabilities()?.tasks?.requests?.tools?.call`\n * after connection. The SDK's `isToolTask()` auto-detects per-tool `taskSupport`.\n */\n\nimport type { Client as MCPClient } from '@modelcontextprotocol/sdk/client/index.js';\nimport type { DebugLogEntry } from '../types/adcp';\nimport type { TaskInfo } from '../core/ConversationTypes';\nimport { withCachedConnection } from './mcp';\nimport { createMCPAuthHeaders } from '../auth';\nimport { withSpan, injectTraceHeaders } from '../observability/tracing';\nimport { signingContextStorage, type AgentSigningContext } from '../signing/client';\nimport { redactIdempotencyKeyInArgs } from '../utils/idempotency';\nimport { withResponseSizeLimit } from './responseSizeLimit';\nimport { withTransportDiagnostics, type TransportActivityHandler } from './transportDiagnostics';\nimport { isAbortOrTimeoutError, resolveClientRequestTimeoutMs } from './abort';\nimport { tryCallModernMCPTool } from './mcp-modern';\n\n/** Response shape returned by MCPClient.callTool(). */\ntype CallToolResponse = {\n isError?: boolean;\n content?: Array<{ type: string; text?: string }>;\n [key: string]: unknown;\n};\n\ninterface MCPTaskProtocolOptions {\n transport?: { maxResponseBytes?: number };\n onTransportActivity?: TransportActivityHandler;\n transportActivityContext?: {\n agentId: string;\n operationId?: string;\n taskId?: string;\n contextId?: string;\n idempotencyKey?: string;\n };\n}\n\n/**\n * Track which MCP clients have had listTools() called.\n * The SDK's isToolTask() needs tool metadata from listTools() to determine\n * per-tool taskSupport. Without this, callToolStream silently degrades to\n * a synchronous tools/call (no task creation).\n */\nconst toolsListedClients = new WeakSet<MCPClient>();\n\n/**\n * Ensure tool metadata is cached in the SDK so isToolTask() works.\n * Called once per client connection when tasks are supported.\n */\nasync function ensureToolsListed(client: MCPClient, signal?: AbortSignal, requestTimeoutMs?: number): Promise<void> {\n if (toolsListedClients.has(client)) return;\n await client.listTools(undefined, {\n ...(signal && { signal }),\n ...(requestTimeoutMs !== undefined && { timeout: requestTimeoutMs }),\n });\n toolsListedClients.add(client);\n}\n\n/**\n * Check if an MCP server supports the Tasks protocol for tool calls.\n */\nexport function serverSupportsTasks(client: MCPClient): boolean {\n const caps = client.getServerCapabilities();\n return !!(caps as Record<string, any>)?.tasks?.requests?.tools?.call;\n}\n\n/**\n * Map MCP Tasks status to AdCP status.\n *\n * MCP Tasks uses underscores and British spelling; AdCP uses hyphens and American spelling.\n */\nexport function mapMCPTaskStatus(mcpStatus: string): string {\n switch (mcpStatus) {\n case 'working':\n return 'working';\n case 'input_required':\n return 'input-required';\n case 'completed':\n return 'completed';\n case 'failed':\n return 'failed';\n case 'cancelled':\n return 'canceled';\n default:\n return mcpStatus;\n }\n}\n\n/**\n * Map an MCP Task object to an AdCP TaskInfo.\n */\nfunction mapMCPTaskToTaskInfo(\n task: {\n taskId: string;\n status: string;\n createdAt: string;\n lastUpdatedAt: string;\n statusMessage?: string;\n pollInterval?: number;\n },\n toolName?: string\n): TaskInfo {\n // Project `statusMessage → TaskInfo.error` against the\n // POST-MAPPING AdCP status (not the raw MCP-side status). MCP\n // Tasks emits `'cancelled'` (British) and never `'rejected'` as a\n // standard status; checking against the AdCP set after mapping\n // catches all terminal failures uniformly. Sellers that extend\n // MCP with custom statuses (e.g. emit `'rejected'` via spec\n // extension) flow through unchanged via the `default` arm of\n // {@link mapMCPTaskStatus}.\n const adcpStatus = mapMCPTaskStatus(task.status);\n const isTerminalFailure = adcpStatus === 'failed' || adcpStatus === 'rejected' || adcpStatus === 'canceled';\n return {\n taskId: task.taskId,\n status: adcpStatus,\n taskType: toolName ?? 'unknown',\n createdAt: new Date(task.createdAt).getTime(),\n updatedAt: new Date(task.lastUpdatedAt).getTime(),\n error: isTerminalFailure ? task.statusMessage : undefined,\n };\n}\n\n/**\n * Build auth headers for MCP connections.\n */\nfunction buildAuthHeaders(authToken?: string, customHeaders?: Record<string, string>): Record<string, string> {\n const traceHeaders = injectTraceHeaders();\n return {\n ...customHeaders,\n ...traceHeaders,\n ...(authToken ? createMCPAuthHeaders(authToken) : {}),\n };\n}\n\n/**\n * Redact sensitive fields from tool args before logging.\n *\n * Redacts:\n * - `push_notification_config.authentication` — webhook signing secret\n * - `idempotency_key` — retry-pattern oracle within the seller's TTL; opt-in\n * full logging via `ADCP_LOG_IDEMPOTENCY_KEYS=1`\n */\nfunction redactArgsForLog(args: Record<string, unknown>): Record<string, unknown> {\n let redacted: Record<string, unknown> = args;\n if (redacted.push_notification_config) {\n redacted = {\n ...redacted,\n push_notification_config: {\n ...(redacted.push_notification_config as object),\n authentication: '***',\n },\n };\n }\n return redactIdempotencyKeyInArgs(redacted);\n}\n\n/**\n * Validate taskId before passing to protocol methods.\n */\nfunction validateTaskId(taskId: string): void {\n if (!taskId || typeof taskId !== 'string' || taskId.length > 256) {\n throw new Error(`Invalid taskId: expected non-empty string (max 256 chars)`);\n }\n}\n\n/**\n * Call an MCP tool with Tasks protocol support.\n *\n * If the server supports MCP Tasks and the tool has `taskSupport: 'optional' | 'required'`,\n * uses `callToolStream()` which handles task creation, polling, and result retrieval.\n *\n * If the server doesn't support tasks, falls back to regular `client.callTool()`.\n *\n * The stream is consumed with a timeout. If the task doesn't complete within the timeout,\n * returns a working-status response with the MCP task_id for follow-up polling.\n */\nexport async function callMCPToolWithTasks(\n agentUrl: string,\n toolName: string,\n args: Record<string, unknown>,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n customHeaders?: Record<string, string>,\n options?: {\n workingTimeout?: number;\n signingContext?: AgentSigningContext;\n signal?: AbortSignal;\n requestTimeoutMs?: number;\n }\n): Promise<unknown> {\n // Keep the public debug-log contract identical across modern and legacy\n // protocol eras. Era negotiation happens after these common entries; the\n // selected transport appends its own connection diagnostics.\n debugLogs.push({\n type: 'info',\n message: `MCP: Auth configuration`,\n timestamp: new Date().toISOString(),\n hasAuth: !!authToken,\n headers: authToken ? { 'x-adcp-auth': '***' } : {},\n customHeaderKeys: customHeaders ? Object.keys(customHeaders) : [],\n });\n\n debugLogs.push({\n type: 'info',\n message: `MCP: Calling tool ${toolName} with args: ${JSON.stringify(redactArgsForLog(args))}`,\n timestamp: new Date().toISOString(),\n });\n\n if (authToken) {\n debugLogs.push({\n type: 'info',\n message: `MCP: Transport configured with x-adcp-auth header for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n }\n\n const modernAttempt = await tryCallModernMCPTool(agentUrl, toolName, args, authToken, debugLogs, customHeaders, {\n ...(options?.signingContext && { signingContext: options.signingContext }),\n ...(options?.signal && { signal: options.signal }),\n ...(options?.requestTimeoutMs !== undefined && { requestTimeoutMs: options.requestTimeoutMs }),\n });\n if (modernAttempt.handled) {\n debugLogs.push({\n type: modernAttempt.response?.isError ? 'error' : 'success',\n message: `MCP: Tool ${toolName} response received (${modernAttempt.response?.isError ? 'error' : 'success'})`,\n timestamp: new Date().toISOString(),\n response: modernAttempt.response,\n });\n return modernAttempt.response;\n }\n\n return withSpan(\n 'adcp.mcp.call_tool',\n {\n 'adcp.tool': toolName,\n 'http.url': agentUrl,\n },\n async () =>\n signingContextStorage.run(options?.signingContext, async () => {\n const authHeaders = buildAuthHeaders(authToken, customHeaders);\n const workingTimeout = options?.workingTimeout ?? 120_000;\n\n return withCachedConnection(\n agentUrl,\n authToken,\n authHeaders,\n debugLogs,\n toolName,\n client =>\n callToolOnClient(\n client,\n toolName,\n args,\n debugLogs,\n workingTimeout,\n options?.signal,\n options?.requestTimeoutMs\n ),\n undefined,\n { signal: options?.signal, requestTimeoutMs: options?.requestTimeoutMs }\n );\n })\n );\n}\n\n/**\n * Call a tool on a pre-connected MCP `Client` without HTTP transport or connection caching.\n *\n * This is the in-process companion to `callMCPToolWithTasks`. It skips URL validation,\n * connection setup, OAuth refresh, and the reconnect-retry path — the caller owns the\n * client lifecycle. All other semantics (tasks protocol detection, stream handling,\n * timeout surfacing) are identical to the URL-based path.\n *\n * Use via `AgentClient.fromMCPClient()`. Not intended for direct import outside the\n * protocols directory.\n */\nexport async function callMCPToolWithClient(\n mcpClient: MCPClient,\n toolName: string,\n args: Record<string, unknown>,\n debugLogs: DebugLogEntry[] = [],\n options?: { workingTimeout?: number; signal?: AbortSignal; requestTimeoutMs?: number }\n): Promise<unknown> {\n debugLogs.push({\n type: 'info',\n message: `MCP: Calling tool ${toolName} (in-process) with args: ${JSON.stringify(redactArgsForLog(args))}`,\n timestamp: new Date().toISOString(),\n });\n return callToolOnClient(\n mcpClient,\n toolName,\n args,\n debugLogs,\n options?.workingTimeout ?? 120_000,\n options?.signal,\n options?.requestTimeoutMs\n );\n}\n\n/**\n * Inner dispatch logic shared by `callMCPToolWithTasks` (URL path) and\n * `callMCPToolWithClient` (in-process path). Both paths converge here once\n * a connected `MCPClient` is in hand.\n */\nasync function callToolOnClient(\n client: MCPClient,\n toolName: string,\n args: Record<string, unknown>,\n debugLogs: DebugLogEntry[],\n workingTimeout: number,\n signal?: AbortSignal,\n requestTimeoutMs?: number\n): Promise<unknown> {\n const resolvedRequestTimeoutMs = resolveClientRequestTimeoutMs(requestTimeoutMs);\n const requestOptions = {\n ...(signal && { signal }),\n ...(resolvedRequestTimeoutMs !== undefined && { timeout: resolvedRequestTimeoutMs }),\n };\n if (!serverSupportsTasks(client)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server does not support tasks, using standard callTool for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n const response = (await client.callTool(\n { name: toolName, arguments: args },\n undefined,\n requestOptions\n )) as CallToolResponse;\n\n debugLogs.push({\n type: response?.isError ? 'error' : 'success',\n message: `MCP: Tool ${toolName} response received (${response?.isError ? 'error' : 'success'})`,\n timestamp: new Date().toISOString(),\n response: response,\n });\n\n return response;\n }\n\n // Ensure tool metadata is cached so the SDK's isToolTask() works correctly.\n // Without this, callToolStream silently skips task creation for tools that\n // declare taskSupport: 'optional' | 'required'.\n await ensureToolsListed(client, signal, resolvedRequestTimeoutMs);\n\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server supports tasks, using callToolStream for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n\n // Use callToolStream which handles the full task lifecycle\n const stream = client.experimental.tasks.callToolStream({ name: toolName, arguments: args }, undefined, {\n timeout: resolvedRequestTimeoutMs ?? workingTimeout,\n resetTimeoutOnProgress: true,\n ...(signal && { signal }),\n });\n\n let capturedTaskId: string | undefined;\n let capturedTask: { taskId: string; status: string; pollInterval?: number } | undefined;\n\n try {\n for await (const message of stream) {\n switch (message.type) {\n case 'taskCreated':\n capturedTaskId = message.task.taskId;\n capturedTask = message.task;\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Task created ${capturedTaskId} for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n break;\n\n case 'taskStatus':\n capturedTask = message.task;\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Status update for ${capturedTaskId}: ${message.task.status}`,\n timestamp: new Date().toISOString(),\n });\n break;\n\n case 'result': {\n debugLogs.push({\n type: 'success',\n message: `MCP: Tool ${toolName} response received (success)`,\n timestamp: new Date().toISOString(),\n response: message.result,\n });\n return message.result as CallToolResponse;\n }\n\n case 'error': {\n debugLogs.push({\n type: 'error',\n message: `MCP Tasks: Error for ${toolName}: ${message.error.message}`,\n timestamp: new Date().toISOString(),\n });\n // The MCP Tasks SDK error event may strip structured content.\n // If we have a taskId, fetch the full result to recover adcp_error data\n // and return it as a proper isError response for downstream unwrapping.\n if (capturedTaskId) {\n try {\n const taskResult = await client.experimental.tasks.getTaskResult(\n capturedTaskId,\n undefined,\n requestOptions\n );\n const content = taskResult?.content as Array<{ type: string; text?: string }> | undefined;\n if (content) {\n return {\n isError: true,\n content,\n structuredContent: taskResult?.structuredContent,\n } as unknown as CallToolResponse;\n }\n } catch {\n // Failed to fetch task result — fall through to throw\n }\n }\n throw message.error;\n }\n }\n }\n } catch (error) {\n if (signal?.aborted && isAbortOrTimeoutError(error)) {\n throw error;\n }\n // If we timed out but have a taskId, return a working status\n // so the caller can poll via getMCPTaskStatus/getMCPTaskResult\n if (capturedTaskId && error instanceof Error && /timeout|timed out/i.test(error.message)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Timeout for ${toolName}, returning working status with taskId ${capturedTaskId}`,\n timestamp: new Date().toISOString(),\n });\n\n return {\n structuredContent: {\n status: 'working',\n task_id: capturedTaskId,\n poll_interval: capturedTask?.pollInterval,\n },\n };\n }\n if (isAbortOrTimeoutError(error)) {\n throw error;\n }\n // Servers may return a synchronous tool error (e.g. VERSION_UNSUPPORTED)\n // rather than creating a task. The Tasks SDK rejects these with a Zod\n // validation error about a missing `task` field. When no task was\n // captured, fall back to standard callTool so the error response\n // reaches the caller intact.\n const msg = error instanceof Error ? error.message : String(error);\n if (!capturedTaskId && /Invalid task creation result/i.test(msg)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server returned synchronous response for ${toolName}, falling back to callTool`,\n timestamp: new Date().toISOString(),\n });\n return (await client.callTool(\n { name: toolName, arguments: args },\n undefined,\n requestOptions\n )) as CallToolResponse;\n }\n throw error;\n }\n\n // Stream ended without result — shouldn't happen with well-behaved servers\n if (capturedTaskId) {\n return {\n structuredContent: {\n status: 'working',\n task_id: capturedTaskId,\n poll_interval: capturedTask?.pollInterval,\n },\n };\n }\n\n throw new Error(`MCP Tasks: callToolStream for ${toolName} ended without result or task`);\n}\n\n/**\n * Get task status via MCP Tasks protocol method (not tool call).\n *\n * Task lifecycle methods (`tasks/get`, `tasks/result`, `tasks/list`,\n * `tasks/cancel`) are MCP protocol methods, not AdCP operations.\n * `extractAdcpOperation` returns `undefined` for them, so the signing fetch\n * passes them through unsigned regardless of whether an `AgentSigningContext`\n * is present in ALS. That matches the RFC 9421 signing profile, which only\n * covers AdCP tool calls (`tools/call` / `message/send`).\n *\n * Re-throws auth errors (401) — only catches protocol capability errors.\n */\nexport async function getMCPTaskStatus(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n toolName?: string\n): Promise<TaskInfo> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n return withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/get:${taskId}`, async client => {\n const result = await client.experimental.tasks.getTask(taskId);\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: getTask ${taskId} → ${result.status}`,\n timestamp: new Date().toISOString(),\n });\n return mapMCPTaskToTaskInfo(\n result as {\n taskId: string;\n status: string;\n createdAt: string;\n lastUpdatedAt: string;\n statusMessage?: string;\n pollInterval?: number;\n },\n toolName\n );\n });\n}\n\n/**\n * Get task result via MCP Tasks protocol method (blocks until terminal).\n */\nexport async function getMCPTaskResult(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = []\n): Promise<unknown> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n return withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/result:${taskId}`, async client => {\n const result = await client.experimental.tasks.getTaskResult(taskId);\n debugLogs.push({\n type: 'success',\n message: `MCP Tasks: getTaskResult ${taskId} received`,\n timestamp: new Date().toISOString(),\n });\n return result;\n });\n}\n\n/**\n * List tasks via MCP Tasks protocol method.\n */\nexport async function listMCPTasks(\n agentUrl: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n options: MCPTaskProtocolOptions = {}\n): Promise<TaskInfo[]> {\n const authHeaders = buildAuthHeaders(authToken);\n\n return withResponseSizeLimit(options.transport?.maxResponseBytes, () =>\n withTransportDiagnostics(\n {\n agentId: options.transportActivityContext?.agentId ?? 'unknown-agent',\n protocol: 'mcp',\n tool: 'tasks/list',\n taskType: 'tasks/list',\n ...options.transportActivityContext,\n onTransportActivity: options.onTransportActivity,\n },\n () =>\n withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, 'tasks/list', async client => {\n const result = await client.experimental.tasks.listTasks();\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: listTasks returned ${result.tasks.length} tasks`,\n timestamp: new Date().toISOString(),\n });\n return result.tasks.map((task: any) => mapMCPTaskToTaskInfo(task));\n })\n )\n );\n}\n\n/**\n * Cancel a task via MCP Tasks protocol method.\n */\nexport async function cancelMCPTask(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = []\n): Promise<void> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n await withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/cancel:${taskId}`, async client => {\n await client.experimental.tasks.cancelTask(taskId);\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: cancelTask ${taskId} succeeded`,\n timestamp: new Date().toISOString(),\n });\n });\n}\n"],"mappings":"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","names":["require"]}
1
+ {"version":3,"sources":["../../../src/lib/protocols/mcp-tasks.ts"],"sourcesContent":["import { fileURLToPath as __adcpFileURLToPath } from 'node:url';\nimport { dirname as __adcpDirname } from 'node:path';\nimport { createRequire as __adcpCreateRequire } from 'node:module';\nconst __dirname = __adcpDirname(__adcpFileURLToPath(import.meta.url));\nconst require = __adcpCreateRequire(import.meta.url);\n/**\n * MCP Tasks protocol integration for async tool calls.\n *\n * When an MCP server declares `capabilities.tasks.requests.tools.call`, this module\n * uses the SDK's experimental tasks API instead of custom AdCP tool calls for async\n * lifecycle management. This removes the LLM from the polling path.\n *\n * Detection: check `client.getServerCapabilities()?.tasks?.requests?.tools?.call`\n * after connection. The SDK's `isToolTask()` auto-detects per-tool `taskSupport`.\n */\n\nimport type { Client as MCPClient } from '@modelcontextprotocol/sdk/client/index.js';\nimport type { DebugLogEntry } from '../types/adcp';\nimport type { TaskInfo } from '../core/ConversationTypes';\nimport { withCachedConnection } from './mcp';\nimport { createMCPAuthHeaders } from '../auth';\nimport { withSpan, injectTraceHeaders } from '../observability/tracing';\nimport { signingContextStorage, type AgentSigningContext } from '../signing/client';\nimport { redactIdempotencyKeyInArgs } from '../utils/idempotency';\nimport { withResponseSizeLimit } from './responseSizeLimit';\nimport { withTransportDiagnostics, type TransportActivityHandler } from './transportDiagnostics';\nimport { isAbortOrTimeoutError, resolveClientRequestTimeoutMs } from './abort';\nimport { tryCallModernMCPTool } from './mcp-modern';\n\n/** Response shape returned by MCPClient.callTool(). */\ntype CallToolResponse = {\n isError?: boolean;\n content?: Array<{ type: string; text?: string }>;\n [key: string]: unknown;\n};\n\ninterface MCPTaskProtocolOptions {\n transport?: { maxResponseBytes?: number; fetchFn?: typeof fetch; requestTimeoutMs?: number };\n onTransportActivity?: TransportActivityHandler;\n transportActivityContext?: {\n agentId: string;\n operationId?: string;\n taskId?: string;\n contextId?: string;\n idempotencyKey?: string;\n };\n}\n\n/**\n * Track which MCP clients have had listTools() called.\n * The SDK's isToolTask() needs tool metadata from listTools() to determine\n * per-tool taskSupport. Without this, callToolStream silently degrades to\n * a synchronous tools/call (no task creation).\n */\nconst toolsListedClients = new WeakSet<MCPClient>();\n\n/**\n * Ensure tool metadata is cached in the SDK so isToolTask() works.\n * Called once per client connection when tasks are supported.\n */\nasync function ensureToolsListed(client: MCPClient, signal?: AbortSignal, requestTimeoutMs?: number): Promise<void> {\n if (toolsListedClients.has(client)) return;\n await client.listTools(undefined, {\n ...(signal && { signal }),\n ...(requestTimeoutMs !== undefined && { timeout: requestTimeoutMs }),\n });\n toolsListedClients.add(client);\n}\n\n/**\n * Check if an MCP server supports the Tasks protocol for tool calls.\n */\nexport function serverSupportsTasks(client: MCPClient): boolean {\n const caps = client.getServerCapabilities();\n return !!(caps as Record<string, any>)?.tasks?.requests?.tools?.call;\n}\n\n/**\n * Map MCP Tasks status to AdCP status.\n *\n * MCP Tasks uses underscores and British spelling; AdCP uses hyphens and American spelling.\n */\nexport function mapMCPTaskStatus(mcpStatus: string): string {\n switch (mcpStatus) {\n case 'working':\n return 'working';\n case 'input_required':\n return 'input-required';\n case 'completed':\n return 'completed';\n case 'failed':\n return 'failed';\n case 'cancelled':\n return 'canceled';\n default:\n return mcpStatus;\n }\n}\n\n/**\n * Map an MCP Task object to an AdCP TaskInfo.\n */\nfunction mapMCPTaskToTaskInfo(\n task: {\n taskId: string;\n status: string;\n createdAt: string;\n lastUpdatedAt: string;\n statusMessage?: string;\n pollInterval?: number;\n },\n toolName?: string\n): TaskInfo {\n // Project `statusMessage → TaskInfo.error` against the\n // POST-MAPPING AdCP status (not the raw MCP-side status). MCP\n // Tasks emits `'cancelled'` (British) and never `'rejected'` as a\n // standard status; checking against the AdCP set after mapping\n // catches all terminal failures uniformly. Sellers that extend\n // MCP with custom statuses (e.g. emit `'rejected'` via spec\n // extension) flow through unchanged via the `default` arm of\n // {@link mapMCPTaskStatus}.\n const adcpStatus = mapMCPTaskStatus(task.status);\n const isTerminalFailure = adcpStatus === 'failed' || adcpStatus === 'rejected' || adcpStatus === 'canceled';\n return {\n taskId: task.taskId,\n status: adcpStatus,\n taskType: toolName ?? 'unknown',\n createdAt: new Date(task.createdAt).getTime(),\n updatedAt: new Date(task.lastUpdatedAt).getTime(),\n error: isTerminalFailure ? task.statusMessage : undefined,\n };\n}\n\n/**\n * Build auth headers for MCP connections.\n */\nfunction buildAuthHeaders(authToken?: string, customHeaders?: Record<string, string>): Record<string, string> {\n const traceHeaders = injectTraceHeaders();\n return {\n ...customHeaders,\n ...traceHeaders,\n ...(authToken ? createMCPAuthHeaders(authToken) : {}),\n };\n}\n\n/**\n * Redact sensitive fields from tool args before logging.\n *\n * Redacts:\n * - `push_notification_config.authentication` — webhook signing secret\n * - `idempotency_key` — retry-pattern oracle within the seller's TTL; opt-in\n * full logging via `ADCP_LOG_IDEMPOTENCY_KEYS=1`\n */\nfunction redactArgsForLog(args: Record<string, unknown>): Record<string, unknown> {\n let redacted: Record<string, unknown> = args;\n if (redacted.push_notification_config) {\n redacted = {\n ...redacted,\n push_notification_config: {\n ...(redacted.push_notification_config as object),\n authentication: '***',\n },\n };\n }\n return redactIdempotencyKeyInArgs(redacted);\n}\n\n/**\n * Validate taskId before passing to protocol methods.\n */\nfunction validateTaskId(taskId: string): void {\n if (!taskId || typeof taskId !== 'string' || taskId.length > 256) {\n throw new Error(`Invalid taskId: expected non-empty string (max 256 chars)`);\n }\n}\n\n/**\n * Call an MCP tool with Tasks protocol support.\n *\n * If the server supports MCP Tasks and the tool has `taskSupport: 'optional' | 'required'`,\n * uses `callToolStream()` which handles task creation, polling, and result retrieval.\n *\n * If the server doesn't support tasks, falls back to regular `client.callTool()`.\n *\n * The stream is consumed with a timeout. If the task doesn't complete within the timeout,\n * returns a working-status response with the MCP task_id for follow-up polling.\n */\nexport async function callMCPToolWithTasks(\n agentUrl: string,\n toolName: string,\n args: Record<string, unknown>,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n customHeaders?: Record<string, string>,\n options?: {\n workingTimeout?: number;\n signingContext?: AgentSigningContext;\n signal?: AbortSignal;\n requestTimeoutMs?: number;\n fetchFn?: typeof fetch;\n }\n): Promise<unknown> {\n // Keep the public debug-log contract identical across modern and legacy\n // protocol eras. Era negotiation happens after these common entries; the\n // selected transport appends its own connection diagnostics.\n debugLogs.push({\n type: 'info',\n message: `MCP: Auth configuration`,\n timestamp: new Date().toISOString(),\n hasAuth: !!authToken,\n headers: authToken ? { 'x-adcp-auth': '***' } : {},\n customHeaderKeys: customHeaders ? Object.keys(customHeaders) : [],\n });\n\n debugLogs.push({\n type: 'info',\n message: `MCP: Calling tool ${toolName} with args: ${JSON.stringify(redactArgsForLog(args))}`,\n timestamp: new Date().toISOString(),\n });\n\n if (authToken) {\n debugLogs.push({\n type: 'info',\n message: `MCP: Transport configured with x-adcp-auth header for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n }\n\n const modernAttempt = await tryCallModernMCPTool(agentUrl, toolName, args, authToken, debugLogs, customHeaders, {\n ...(options?.signingContext && { signingContext: options.signingContext }),\n ...(options?.signal && { signal: options.signal }),\n ...(options?.requestTimeoutMs !== undefined && { requestTimeoutMs: options.requestTimeoutMs }),\n ...(options?.fetchFn && { fetchFn: options.fetchFn }),\n });\n if (modernAttempt.handled) {\n debugLogs.push({\n type: modernAttempt.response?.isError ? 'error' : 'success',\n message: `MCP: Tool ${toolName} response received (${modernAttempt.response?.isError ? 'error' : 'success'})`,\n timestamp: new Date().toISOString(),\n response: modernAttempt.response,\n });\n return modernAttempt.response;\n }\n\n return withSpan(\n 'adcp.mcp.call_tool',\n {\n 'adcp.tool': toolName,\n 'http.url': agentUrl,\n },\n async () =>\n signingContextStorage.run(options?.signingContext, async () => {\n const authHeaders = buildAuthHeaders(authToken, customHeaders);\n const workingTimeout = options?.workingTimeout ?? 120_000;\n\n return withCachedConnection(\n agentUrl,\n authToken,\n authHeaders,\n debugLogs,\n toolName,\n client =>\n callToolOnClient(\n client,\n toolName,\n args,\n debugLogs,\n workingTimeout,\n options?.signal,\n options?.requestTimeoutMs\n ),\n options?.fetchFn,\n { signal: options?.signal, requestTimeoutMs: options?.requestTimeoutMs }\n );\n })\n );\n}\n\n/**\n * Call a tool on a pre-connected MCP `Client` without HTTP transport or connection caching.\n *\n * This is the in-process companion to `callMCPToolWithTasks`. It skips URL validation,\n * connection setup, OAuth refresh, and the reconnect-retry path — the caller owns the\n * client lifecycle. All other semantics (tasks protocol detection, stream handling,\n * timeout surfacing) are identical to the URL-based path.\n *\n * Use via `AgentClient.fromMCPClient()`. Not intended for direct import outside the\n * protocols directory.\n */\nexport async function callMCPToolWithClient(\n mcpClient: MCPClient,\n toolName: string,\n args: Record<string, unknown>,\n debugLogs: DebugLogEntry[] = [],\n options?: { workingTimeout?: number; signal?: AbortSignal; requestTimeoutMs?: number }\n): Promise<unknown> {\n debugLogs.push({\n type: 'info',\n message: `MCP: Calling tool ${toolName} (in-process) with args: ${JSON.stringify(redactArgsForLog(args))}`,\n timestamp: new Date().toISOString(),\n });\n return callToolOnClient(\n mcpClient,\n toolName,\n args,\n debugLogs,\n options?.workingTimeout ?? 120_000,\n options?.signal,\n options?.requestTimeoutMs\n );\n}\n\n/**\n * Inner dispatch logic shared by `callMCPToolWithTasks` (URL path) and\n * `callMCPToolWithClient` (in-process path). Both paths converge here once\n * a connected `MCPClient` is in hand.\n */\nasync function callToolOnClient(\n client: MCPClient,\n toolName: string,\n args: Record<string, unknown>,\n debugLogs: DebugLogEntry[],\n workingTimeout: number,\n signal?: AbortSignal,\n requestTimeoutMs?: number\n): Promise<unknown> {\n const resolvedRequestTimeoutMs = resolveClientRequestTimeoutMs(requestTimeoutMs);\n const requestOptions = {\n ...(signal && { signal }),\n ...(resolvedRequestTimeoutMs !== undefined && { timeout: resolvedRequestTimeoutMs }),\n };\n if (!serverSupportsTasks(client)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server does not support tasks, using standard callTool for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n const response = (await client.callTool(\n { name: toolName, arguments: args },\n undefined,\n requestOptions\n )) as CallToolResponse;\n\n debugLogs.push({\n type: response?.isError ? 'error' : 'success',\n message: `MCP: Tool ${toolName} response received (${response?.isError ? 'error' : 'success'})`,\n timestamp: new Date().toISOString(),\n response: response,\n });\n\n return response;\n }\n\n // Ensure tool metadata is cached so the SDK's isToolTask() works correctly.\n // Without this, callToolStream silently skips task creation for tools that\n // declare taskSupport: 'optional' | 'required'.\n await ensureToolsListed(client, signal, resolvedRequestTimeoutMs);\n\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server supports tasks, using callToolStream for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n\n // Use callToolStream which handles the full task lifecycle\n const stream = client.experimental.tasks.callToolStream({ name: toolName, arguments: args }, undefined, {\n timeout: resolvedRequestTimeoutMs ?? workingTimeout,\n resetTimeoutOnProgress: true,\n ...(signal && { signal }),\n });\n\n let capturedTaskId: string | undefined;\n let capturedTask: { taskId: string; status: string; pollInterval?: number } | undefined;\n\n try {\n for await (const message of stream) {\n switch (message.type) {\n case 'taskCreated':\n capturedTaskId = message.task.taskId;\n capturedTask = message.task;\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Task created ${capturedTaskId} for ${toolName}`,\n timestamp: new Date().toISOString(),\n });\n break;\n\n case 'taskStatus':\n capturedTask = message.task;\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Status update for ${capturedTaskId}: ${message.task.status}`,\n timestamp: new Date().toISOString(),\n });\n break;\n\n case 'result': {\n debugLogs.push({\n type: 'success',\n message: `MCP: Tool ${toolName} response received (success)`,\n timestamp: new Date().toISOString(),\n response: message.result,\n });\n return message.result as CallToolResponse;\n }\n\n case 'error': {\n debugLogs.push({\n type: 'error',\n message: `MCP Tasks: Error for ${toolName}: ${message.error.message}`,\n timestamp: new Date().toISOString(),\n });\n // The MCP Tasks SDK error event may strip structured content.\n // If we have a taskId, fetch the full result to recover adcp_error data\n // and return it as a proper isError response for downstream unwrapping.\n if (capturedTaskId) {\n try {\n const taskResult = await client.experimental.tasks.getTaskResult(\n capturedTaskId,\n undefined,\n requestOptions\n );\n const content = taskResult?.content as Array<{ type: string; text?: string }> | undefined;\n if (content) {\n return {\n isError: true,\n content,\n structuredContent: taskResult?.structuredContent,\n } as unknown as CallToolResponse;\n }\n } catch {\n // Failed to fetch task result — fall through to throw\n }\n }\n throw message.error;\n }\n }\n }\n } catch (error) {\n if (signal?.aborted && isAbortOrTimeoutError(error)) {\n throw error;\n }\n // If we timed out but have a taskId, return a working status\n // so the caller can poll via getMCPTaskStatus/getMCPTaskResult\n if (capturedTaskId && error instanceof Error && /timeout|timed out/i.test(error.message)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Timeout for ${toolName}, returning working status with taskId ${capturedTaskId}`,\n timestamp: new Date().toISOString(),\n });\n\n return {\n structuredContent: {\n status: 'working',\n task_id: capturedTaskId,\n poll_interval: capturedTask?.pollInterval,\n },\n };\n }\n if (isAbortOrTimeoutError(error)) {\n throw error;\n }\n // Servers may return a synchronous tool error (e.g. VERSION_UNSUPPORTED)\n // rather than creating a task. The Tasks SDK rejects these with a Zod\n // validation error about a missing `task` field. When no task was\n // captured, fall back to standard callTool so the error response\n // reaches the caller intact.\n const msg = error instanceof Error ? error.message : String(error);\n if (!capturedTaskId && /Invalid task creation result/i.test(msg)) {\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: Server returned synchronous response for ${toolName}, falling back to callTool`,\n timestamp: new Date().toISOString(),\n });\n return (await client.callTool(\n { name: toolName, arguments: args },\n undefined,\n requestOptions\n )) as CallToolResponse;\n }\n throw error;\n }\n\n // Stream ended without result — shouldn't happen with well-behaved servers\n if (capturedTaskId) {\n return {\n structuredContent: {\n status: 'working',\n task_id: capturedTaskId,\n poll_interval: capturedTask?.pollInterval,\n },\n };\n }\n\n throw new Error(`MCP Tasks: callToolStream for ${toolName} ended without result or task`);\n}\n\n/**\n * Get task status via MCP Tasks protocol method (not tool call).\n *\n * Task lifecycle methods (`tasks/get`, `tasks/result`, `tasks/list`,\n * `tasks/cancel`) are MCP protocol methods, not AdCP operations.\n * `extractAdcpOperation` returns `undefined` for them, so the signing fetch\n * passes them through unsigned regardless of whether an `AgentSigningContext`\n * is present in ALS. That matches the RFC 9421 signing profile, which only\n * covers AdCP tool calls (`tools/call` / `message/send`).\n *\n * Re-throws auth errors (401) — only catches protocol capability errors.\n */\nexport async function getMCPTaskStatus(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n toolName?: string\n): Promise<TaskInfo> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n return withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/get:${taskId}`, async client => {\n const result = await client.experimental.tasks.getTask(taskId);\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: getTask ${taskId} → ${result.status}`,\n timestamp: new Date().toISOString(),\n });\n return mapMCPTaskToTaskInfo(\n result as {\n taskId: string;\n status: string;\n createdAt: string;\n lastUpdatedAt: string;\n statusMessage?: string;\n pollInterval?: number;\n },\n toolName\n );\n });\n}\n\n/**\n * Get task result via MCP Tasks protocol method (blocks until terminal).\n */\nexport async function getMCPTaskResult(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = []\n): Promise<unknown> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n return withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/result:${taskId}`, async client => {\n const result = await client.experimental.tasks.getTaskResult(taskId);\n debugLogs.push({\n type: 'success',\n message: `MCP Tasks: getTaskResult ${taskId} received`,\n timestamp: new Date().toISOString(),\n });\n return result;\n });\n}\n\n/**\n * List tasks via MCP Tasks protocol method.\n */\nexport async function listMCPTasks(\n agentUrl: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = [],\n options: MCPTaskProtocolOptions = {}\n): Promise<TaskInfo[]> {\n const authHeaders = buildAuthHeaders(authToken);\n\n return withResponseSizeLimit(options.transport?.maxResponseBytes, () =>\n withTransportDiagnostics(\n {\n agentId: options.transportActivityContext?.agentId ?? 'unknown-agent',\n protocol: 'mcp',\n tool: 'tasks/list',\n taskType: 'tasks/list',\n ...options.transportActivityContext,\n onTransportActivity: options.onTransportActivity,\n },\n () =>\n withCachedConnection(\n agentUrl,\n authToken,\n authHeaders,\n debugLogs,\n 'tasks/list',\n async client => {\n const result = await client.experimental.tasks.listTasks();\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: listTasks returned ${result.tasks.length} tasks`,\n timestamp: new Date().toISOString(),\n });\n return result.tasks.map((task: any) => mapMCPTaskToTaskInfo(task));\n },\n options.transport?.fetchFn,\n { requestTimeoutMs: options.transport?.requestTimeoutMs }\n )\n )\n );\n}\n\n/**\n * Cancel a task via MCP Tasks protocol method.\n */\nexport async function cancelMCPTask(\n agentUrl: string,\n taskId: string,\n authToken?: string,\n debugLogs: DebugLogEntry[] = []\n): Promise<void> {\n validateTaskId(taskId);\n const authHeaders = buildAuthHeaders(authToken);\n\n await withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, `tasks/cancel:${taskId}`, async client => {\n await client.experimental.tasks.cancelTask(taskId);\n debugLogs.push({\n type: 'info',\n message: `MCP Tasks: cancelTask ${taskId} succeeded`,\n timestamp: new Date().toISOString(),\n });\n });\n}\n"],"mappings":"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","names":["require"]}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "/schemas/3.1.2/a2ui/bound-value.json",
3
+ "$id": "/schemas/3.1.5/a2ui/bound-value.json",
4
4
  "title": "A2UI Bound Value",
5
5
  "description": "A value that can be a literal or bound to a path in the data model",
6
6
  "oneOf": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "/schemas/3.1.2/a2ui/component.json",
3
+ "$id": "/schemas/3.1.5/a2ui/component.json",
4
4
  "title": "A2UI Component",
5
5
  "description": "A component in an A2UI surface",
6
6
  "type": "object",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "/schemas/3.1.2/a2ui/si-catalog.json",
3
+ "$id": "/schemas/3.1.5/a2ui/si-catalog.json",
4
4
  "title": "SI Component Catalog",
5
5
  "description": "A2UI component catalog for Sponsored Intelligence",
6
6
  "definitions": {
@@ -9,7 +9,7 @@
9
9
  "description": "Text display component",
10
10
  "properties": {
11
11
  "text": {
12
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
12
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
13
13
  "description": "Text content to display"
14
14
  },
15
15
  "variant": {
@@ -32,7 +32,7 @@
32
32
  "description": "Interactive button component",
33
33
  "properties": {
34
34
  "label": {
35
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
35
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
36
36
  "description": "Button label text"
37
37
  },
38
38
  "action": {
@@ -47,7 +47,7 @@
47
47
  "type": "object",
48
48
  "description": "Context data to include with action",
49
49
  "additionalProperties": {
50
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json"
50
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json"
51
51
  }
52
52
  }
53
53
  },
@@ -65,7 +65,7 @@
65
65
  "default": "primary"
66
66
  },
67
67
  "disabled": {
68
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json"
68
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json"
69
69
  }
70
70
  },
71
71
  "required": [
@@ -78,11 +78,11 @@
78
78
  "description": "Hyperlink component",
79
79
  "properties": {
80
80
  "label": {
81
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
81
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
82
82
  "description": "Link text"
83
83
  },
84
84
  "url": {
85
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
85
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
86
86
  "description": "URL to navigate to"
87
87
  },
88
88
  "external": {
@@ -101,11 +101,11 @@
101
101
  "description": "Image display component",
102
102
  "properties": {
103
103
  "src": {
104
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
104
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
105
105
  "description": "Image source URL"
106
106
  },
107
107
  "alt": {
108
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
108
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
109
109
  "description": "Alt text for accessibility"
110
110
  },
111
111
  "width": {
@@ -127,19 +127,19 @@
127
127
  "description": "Card container for grouped content",
128
128
  "properties": {
129
129
  "title": {
130
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
130
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
131
131
  "description": "Card title"
132
132
  },
133
133
  "subtitle": {
134
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
134
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
135
135
  "description": "Card subtitle"
136
136
  },
137
137
  "image": {
138
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
138
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
139
139
  "description": "Card image URL"
140
140
  },
141
141
  "badge": {
142
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
142
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
143
143
  "description": "Badge text (e.g., 'New', 'Sale')"
144
144
  },
145
145
  "action": {
@@ -152,7 +152,7 @@
152
152
  "context": {
153
153
  "type": "object",
154
154
  "additionalProperties": {
155
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json"
155
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json"
156
156
  }
157
157
  }
158
158
  },
@@ -177,27 +177,27 @@
177
177
  "description": "Product display card (SI-specific)",
178
178
  "properties": {
179
179
  "title": {
180
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
180
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
181
181
  "description": "Product name"
182
182
  },
183
183
  "price": {
184
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
184
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
185
185
  "description": "Price display string"
186
186
  },
187
187
  "image": {
188
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
188
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
189
189
  "description": "Product image URL"
190
190
  },
191
191
  "description": {
192
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
192
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
193
193
  "description": "Product description"
194
194
  },
195
195
  "badge": {
196
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
196
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
197
197
  "description": "Badge text (e.g., 'Best Seller')"
198
198
  },
199
199
  "ctaLabel": {
200
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
200
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
201
201
  "description": "CTA button label"
202
202
  },
203
203
  "action": {
@@ -209,7 +209,7 @@
209
209
  "context": {
210
210
  "type": "object",
211
211
  "additionalProperties": {
212
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json"
212
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json"
213
213
  }
214
214
  }
215
215
  },
@@ -228,7 +228,7 @@
228
228
  "description": "Data-bound list component",
229
229
  "properties": {
230
230
  "items": {
231
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
231
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
232
232
  "description": "Path to array in data model"
233
233
  },
234
234
  "template": {
@@ -245,7 +245,7 @@
245
245
  ]
246
246
  },
247
247
  "emptyMessage": {
248
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
248
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
249
249
  "description": "Message to show when list is empty"
250
250
  },
251
251
  "layout": {
@@ -349,11 +349,11 @@
349
349
  "description": "Integration type"
350
350
  },
351
351
  "label": {
352
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
352
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
353
353
  "description": "Button label"
354
354
  },
355
355
  "url": {
356
- "$ref": "/schemas/3.1.2/a2ui/bound-value.json",
356
+ "$ref": "/schemas/3.1.5/a2ui/bound-value.json",
357
357
  "description": "Integration endpoint URL"
358
358
  },
359
359
  "highlighted": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "/schemas/3.1.2/a2ui/surface.json",
3
+ "$id": "/schemas/3.1.5/a2ui/surface.json",
4
4
  "title": "A2UI Surface",
5
5
  "description": "A contiguous UI region containing components",
6
6
  "type": "object",
@@ -18,7 +18,7 @@
18
18
  "type": "array",
19
19
  "description": "Flat list of components (adjacency list structure)",
20
20
  "items": {
21
- "$ref": "/schemas/3.1.2/a2ui/component.json"
21
+ "$ref": "/schemas/3.1.5/a2ui/component.json"
22
22
  }
23
23
  },
24
24
  "rootId": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "/schemas/3.1.2/a2ui/user-action.json",
3
+ "$id": "/schemas/3.1.5/a2ui/user-action.json",
4
4
  "title": "A2UI User Action",
5
5
  "description": "User interaction event sent from client to agent",
6
6
  "type": "object",