@adcp/sdk 13.0.0-rc.7 → 13.0.0-rc.8

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 (1529) hide show
  1. package/ADCP_VERSION +1 -1
  2. package/bin/adcp.js +29 -0
  3. package/compliance/cache/{3.1.10.previous/protocols → 3.1.11/domains}/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
  4. package/compliance/cache/{3.1.10 → 3.1.11}/index.json +3 -3
  5. package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
  6. package/compliance/cache/{3.1.10 → 3.1.11}/universal/storyboard-schema.yaml +19 -6
  7. package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
  8. package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/index.json +3 -3
  9. package/compliance/cache/{3.1.10/domains → 3.1.11.previous/protocols}/media-buy/scenarios/creative_fate_after_cancellation.yaml +46 -24
  10. package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/storyboard-schema.yaml +19 -6
  11. package/dist/lib/auth/oauth/ClientCredentialsFlow.d.mts +2 -0
  12. package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts +2 -0
  13. package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts.map +1 -1
  14. package/dist/lib/auth/oauth/ClientCredentialsFlow.js +69 -24
  15. package/dist/lib/auth/oauth/ClientCredentialsFlow.js.map +1 -1
  16. package/dist/lib/auth/oauth/ClientCredentialsFlow.mjs +69 -24
  17. package/dist/lib/auth/oauth/ClientCredentialsFlow.mjs.map +1 -1
  18. package/dist/lib/auth/oauth/authorization-required.d.mts +3 -0
  19. package/dist/lib/auth/oauth/authorization-required.d.ts +3 -0
  20. package/dist/lib/auth/oauth/authorization-required.d.ts.map +1 -1
  21. package/dist/lib/auth/oauth/authorization-required.js +37 -7
  22. package/dist/lib/auth/oauth/authorization-required.js.map +1 -1
  23. package/dist/lib/auth/oauth/authorization-required.mjs +37 -7
  24. package/dist/lib/auth/oauth/authorization-required.mjs.map +1 -1
  25. package/dist/lib/auth/oauth/discovery.d.mts +2 -0
  26. package/dist/lib/auth/oauth/discovery.d.ts +2 -0
  27. package/dist/lib/auth/oauth/discovery.d.ts.map +1 -1
  28. package/dist/lib/auth/oauth/discovery.js +7 -5
  29. package/dist/lib/auth/oauth/discovery.js.map +1 -1
  30. package/dist/lib/auth/oauth/discovery.mjs +7 -5
  31. package/dist/lib/auth/oauth/discovery.mjs.map +1 -1
  32. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  33. package/dist/lib/core/ConversationTypes.d.mts +6 -2
  34. package/dist/lib/core/ConversationTypes.d.ts +6 -2
  35. package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
  36. package/dist/lib/core/ConversationTypes.js.map +1 -1
  37. package/dist/lib/core/GovernanceMiddleware.d.mts +3 -3
  38. package/dist/lib/core/GovernanceMiddleware.d.ts +3 -3
  39. package/dist/lib/core/GovernanceMiddleware.d.ts.map +1 -1
  40. package/dist/lib/core/GovernanceMiddleware.js +8 -4
  41. package/dist/lib/core/GovernanceMiddleware.js.map +1 -1
  42. package/dist/lib/core/GovernanceMiddleware.mjs +8 -4
  43. package/dist/lib/core/GovernanceMiddleware.mjs.map +1 -1
  44. package/dist/lib/core/SingleAgentClient.d.mts +12 -1
  45. package/dist/lib/core/SingleAgentClient.d.ts +12 -1
  46. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  47. package/dist/lib/core/SingleAgentClient.js +89 -12
  48. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  49. package/dist/lib/core/SingleAgentClient.mjs +89 -12
  50. package/dist/lib/core/SingleAgentClient.mjs.map +1 -1
  51. package/dist/lib/core/TaskExecutor.d.mts +2 -4
  52. package/dist/lib/core/TaskExecutor.d.ts +2 -4
  53. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  54. package/dist/lib/core/TaskExecutor.js +90 -14
  55. package/dist/lib/core/TaskExecutor.js.map +1 -1
  56. package/dist/lib/core/TaskExecutor.mjs +95 -14
  57. package/dist/lib/core/TaskExecutor.mjs.map +1 -1
  58. package/dist/lib/core/task-deadline.d.mts +20 -0
  59. package/dist/lib/core/task-deadline.d.ts +21 -0
  60. package/dist/lib/core/task-deadline.d.ts.map +1 -0
  61. package/dist/lib/core/task-deadline.js +74 -0
  62. package/dist/lib/core/task-deadline.js.map +1 -0
  63. package/dist/lib/core/task-deadline.mjs +47 -0
  64. package/dist/lib/core/task-deadline.mjs.map +1 -0
  65. package/dist/lib/errors/index.d.mts +11 -0
  66. package/dist/lib/errors/index.d.ts +11 -0
  67. package/dist/lib/errors/index.d.ts.map +1 -1
  68. package/dist/lib/errors/index.js +6 -0
  69. package/dist/lib/errors/index.js.map +1 -1
  70. package/dist/lib/errors/index.mjs +6 -0
  71. package/dist/lib/errors/index.mjs.map +1 -1
  72. package/dist/lib/net/ssrf-fetch.d.ts.map +1 -1
  73. package/dist/lib/net/ssrf-fetch.js +11 -0
  74. package/dist/lib/net/ssrf-fetch.js.map +1 -1
  75. package/dist/lib/net/ssrf-fetch.mjs +11 -0
  76. package/dist/lib/net/ssrf-fetch.mjs.map +1 -1
  77. package/dist/lib/protocols/abort.d.mts +3 -1
  78. package/dist/lib/protocols/abort.d.ts +3 -1
  79. package/dist/lib/protocols/abort.d.ts.map +1 -1
  80. package/dist/lib/protocols/abort.js +19 -17
  81. package/dist/lib/protocols/abort.js.map +1 -1
  82. package/dist/lib/protocols/abort.mjs +19 -17
  83. package/dist/lib/protocols/abort.mjs.map +1 -1
  84. package/dist/lib/protocols/index.d.ts.map +1 -1
  85. package/dist/lib/protocols/index.js +13 -10
  86. package/dist/lib/protocols/index.js.map +1 -1
  87. package/dist/lib/protocols/index.mjs +13 -10
  88. package/dist/lib/protocols/index.mjs.map +1 -1
  89. package/dist/lib/protocols/mcp.d.ts.map +1 -1
  90. package/dist/lib/protocols/mcp.js +8 -7
  91. package/dist/lib/protocols/mcp.js.map +1 -1
  92. package/dist/lib/protocols/mcp.mjs +8 -7
  93. package/dist/lib/protocols/mcp.mjs.map +1 -1
  94. package/dist/lib/schemas-data/3.1/a2ui/bound-value.json +1 -1
  95. package/dist/lib/schemas-data/3.1/a2ui/component.json +1 -1
  96. package/dist/lib/schemas-data/3.1/a2ui/si-catalog.json +25 -25
  97. package/dist/lib/schemas-data/3.1/a2ui/surface.json +2 -2
  98. package/dist/lib/schemas-data/3.1/a2ui/user-action.json +1 -1
  99. package/dist/lib/schemas-data/3.1/aao/agent-publishers.json +1 -1
  100. package/dist/lib/schemas-data/3.1/account/get-account-financials-request.json +6 -6
  101. package/dist/lib/schemas-data/3.1/account/get-account-financials-response.json +12 -12
  102. package/dist/lib/schemas-data/3.1/account/list-accounts-request.json +6 -6
  103. package/dist/lib/schemas-data/3.1/account/list-accounts-response.json +8 -8
  104. package/dist/lib/schemas-data/3.1/account/report-usage-request.json +6 -6
  105. package/dist/lib/schemas-data/3.1/account/report-usage-response.json +6 -6
  106. package/dist/lib/schemas-data/3.1/account/sync-accounts-request.json +12 -12
  107. package/dist/lib/schemas-data/3.1/account/sync-accounts-response.json +16 -16
  108. package/dist/lib/schemas-data/3.1/account/sync-governance-request.json +6 -6
  109. package/dist/lib/schemas-data/3.1/account/sync-governance-response.json +10 -10
  110. package/dist/lib/schemas-data/3.1/adagents.json +29 -29
  111. package/dist/lib/schemas-data/3.1/brand/acquire-rights-request.json +10 -10
  112. package/dist/lib/schemas-data/3.1/brand/acquire-rights-response.json +16 -16
  113. package/dist/lib/schemas-data/3.1/brand/creative-approval-request.json +5 -5
  114. package/dist/lib/schemas-data/3.1/brand/creative-approval-response.json +12 -12
  115. package/dist/lib/schemas-data/3.1/brand/get-brand-identity-request.json +4 -4
  116. package/dist/lib/schemas-data/3.1/brand/get-brand-identity-response.json +10 -10
  117. package/dist/lib/schemas-data/3.1/brand/get-rights-request.json +8 -8
  118. package/dist/lib/schemas-data/3.1/brand/get-rights-response.json +11 -11
  119. package/dist/lib/schemas-data/3.1/brand/revocation-notification.json +4 -4
  120. package/dist/lib/schemas-data/3.1/brand/rights-pricing-option.json +5 -5
  121. package/dist/lib/schemas-data/3.1/brand/rights-terms.json +3 -3
  122. package/dist/lib/schemas-data/3.1/brand/search-brands-request.json +6 -6
  123. package/dist/lib/schemas-data/3.1/brand/search-brands-response.json +11 -11
  124. package/dist/lib/schemas-data/3.1/brand/update-rights-request.json +6 -6
  125. package/dist/lib/schemas-data/3.1/brand/update-rights-response.json +11 -11
  126. package/dist/lib/schemas-data/3.1/brand/verification-status.json +1 -1
  127. package/dist/lib/schemas-data/3.1/brand/verify-brand-claim-request.json +2 -2
  128. package/dist/lib/schemas-data/3.1/brand/verify-brand-claim-response.json +13 -13
  129. package/dist/lib/schemas-data/3.1/brand/verify-brand-claims-request.json +2 -2
  130. package/dist/lib/schemas-data/3.1/brand/verify-brand-claims-response.json +13 -13
  131. package/dist/lib/schemas-data/3.1/brand.json +21 -21
  132. package/dist/lib/schemas-data/3.1/bundled/content-standards/calibrate-content-request.json +12 -12
  133. package/dist/lib/schemas-data/3.1/bundled/content-standards/calibrate-content-response.json +12 -12
  134. package/dist/lib/schemas-data/3.1/bundled/content-standards/create-content-standards-request.json +16 -16
  135. package/dist/lib/schemas-data/3.1/bundled/content-standards/create-content-standards-response.json +10 -10
  136. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-content-standards-request.json +5 -5
  137. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-content-standards-response.json +23 -23
  138. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-media-buy-artifacts-request.json +16 -16
  139. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-media-buy-artifacts-response.json +18 -18
  140. package/dist/lib/schemas-data/3.1/bundled/content-standards/list-content-standards-request.json +7 -7
  141. package/dist/lib/schemas-data/3.1/bundled/content-standards/list-content-standards-response.json +24 -24
  142. package/dist/lib/schemas-data/3.1/bundled/content-standards/update-content-standards-request.json +16 -16
  143. package/dist/lib/schemas-data/3.1/bundled/content-standards/update-content-standards-response.json +10 -10
  144. package/dist/lib/schemas-data/3.1/bundled/content-standards/validate-content-delivery-request.json +12 -12
  145. package/dist/lib/schemas-data/3.1/bundled/content-standards/validate-content-delivery-response.json +12 -12
  146. package/dist/lib/schemas-data/3.1/bundled/core/tasks-get-request.json +16 -16
  147. package/dist/lib/schemas-data/3.1/bundled/core/tasks-get-response.json +181 -181
  148. package/dist/lib/schemas-data/3.1/bundled/core/tasks-list-request.json +21 -21
  149. package/dist/lib/schemas-data/3.1/bundled/core/tasks-list-response.json +11 -11
  150. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-delivery-request.json +17 -17
  151. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-delivery-response.json +56 -56
  152. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-features-request.json +44 -44
  153. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-features-response.json +13 -13
  154. package/dist/lib/schemas-data/3.1/bundled/creative/list-creative-formats-request.json +16 -16
  155. package/dist/lib/schemas-data/3.1/bundled/creative/list-creative-formats-response.json +48 -48
  156. package/dist/lib/schemas-data/3.1/bundled/creative/list-creatives-request.json +17 -17
  157. package/dist/lib/schemas-data/3.1/bundled/creative/list-creatives-response.json +58 -58
  158. package/dist/lib/schemas-data/3.1/bundled/creative/list-transformers-request.json +18 -18
  159. package/dist/lib/schemas-data/3.1/bundled/creative/list-transformers-response.json +16 -16
  160. package/dist/lib/schemas-data/3.1/bundled/creative/preview-creative-request.json +44 -44
  161. package/dist/lib/schemas-data/3.1/bundled/creative/preview-creative-response.json +50 -50
  162. package/dist/lib/schemas-data/3.1/bundled/creative/sync-creatives-request.json +46 -46
  163. package/dist/lib/schemas-data/3.1/bundled/creative/sync-creatives-response.json +27 -27
  164. package/dist/lib/schemas-data/3.1/bundled/creative/validate-input-request.json +42 -42
  165. package/dist/lib/schemas-data/3.1/bundled/creative/validate-input-response.json +10 -10
  166. package/dist/lib/schemas-data/3.1/bundled/media-buy/build-creative-request.json +53 -53
  167. package/dist/lib/schemas-data/3.1/bundled/media-buy/build-creative-response.json +54 -54
  168. package/dist/lib/schemas-data/3.1/bundled/media-buy/create-media-buy-request.json +83 -83
  169. package/dist/lib/schemas-data/3.1/bundled/media-buy/create-media-buy-response.json +77 -77
  170. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buy-delivery-request.json +25 -25
  171. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buy-delivery-response.json +40 -40
  172. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buys-request.json +18 -18
  173. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buys-response.json +65 -65
  174. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-products-request.json +49 -49
  175. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-products-response.json +99 -99
  176. package/dist/lib/schemas-data/3.1/bundled/media-buy/list-creative-formats-request.json +12 -12
  177. package/dist/lib/schemas-data/3.1/bundled/media-buy/list-creative-formats-response.json +48 -48
  178. package/dist/lib/schemas-data/3.1/bundled/media-buy/log-event-request.json +12 -12
  179. package/dist/lib/schemas-data/3.1/bundled/media-buy/log-event-response.json +10 -10
  180. package/dist/lib/schemas-data/3.1/bundled/media-buy/package-request.json +79 -79
  181. package/dist/lib/schemas-data/3.1/bundled/media-buy/provide-performance-feedback-request.json +8 -8
  182. package/dist/lib/schemas-data/3.1/bundled/media-buy/provide-performance-feedback-response.json +10 -10
  183. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-audiences-request.json +18 -18
  184. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-audiences-response.json +12 -12
  185. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-catalogs-request.json +26 -26
  186. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-catalogs-response.json +12 -12
  187. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-event-sources-request.json +19 -19
  188. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-event-sources-response.json +16 -16
  189. package/dist/lib/schemas-data/3.1/bundled/media-buy/update-media-buy-request.json +79 -79
  190. package/dist/lib/schemas-data/3.1/bundled/media-buy/update-media-buy-response.json +71 -71
  191. package/dist/lib/schemas-data/3.1/bundled/property/create-property-list-request.json +18 -18
  192. package/dist/lib/schemas-data/3.1/bundled/property/create-property-list-response.json +26 -26
  193. package/dist/lib/schemas-data/3.1/bundled/property/delete-property-list-request.json +16 -16
  194. package/dist/lib/schemas-data/3.1/bundled/property/delete-property-list-response.json +10 -10
  195. package/dist/lib/schemas-data/3.1/bundled/property/get-property-list-request.json +16 -16
  196. package/dist/lib/schemas-data/3.1/bundled/property/get-property-list-response.json +27 -27
  197. package/dist/lib/schemas-data/3.1/bundled/property/list-property-lists-request.json +17 -17
  198. package/dist/lib/schemas-data/3.1/bundled/property/list-property-lists-response.json +27 -27
  199. package/dist/lib/schemas-data/3.1/bundled/property/update-property-list-request.json +18 -18
  200. package/dist/lib/schemas-data/3.1/bundled/property/update-property-list-response.json +26 -26
  201. package/dist/lib/schemas-data/3.1/bundled/property/validate-property-delivery-request.json +19 -19
  202. package/dist/lib/schemas-data/3.1/bundled/property/validate-property-delivery-response.json +15 -15
  203. package/dist/lib/schemas-data/3.1/bundled/protocol/get-adcp-capabilities-request.json +5 -5
  204. package/dist/lib/schemas-data/3.1/bundled/protocol/get-adcp-capabilities-response.json +35 -35
  205. package/dist/lib/schemas-data/3.1/bundled/protocol/get-task-status-request.json +16 -16
  206. package/dist/lib/schemas-data/3.1/bundled/protocol/get-task-status-response.json +181 -181
  207. package/dist/lib/schemas-data/3.1/bundled/protocol/list-tasks-request.json +21 -21
  208. package/dist/lib/schemas-data/3.1/bundled/protocol/list-tasks-response.json +11 -11
  209. package/dist/lib/schemas-data/3.1/bundled/signals/activate-signal-request.json +17 -17
  210. package/dist/lib/schemas-data/3.1/bundled/signals/activate-signal-response.json +12 -12
  211. package/dist/lib/schemas-data/3.1/bundled/signals/get-signals-request.json +24 -24
  212. package/dist/lib/schemas-data/3.1/bundled/signals/get-signals-response.json +53 -53
  213. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-get-offering-request.json +5 -5
  214. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-get-offering-response.json +23 -23
  215. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-initiate-session-request.json +18 -18
  216. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-initiate-session-response.json +25 -25
  217. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-send-message-request.json +16 -16
  218. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-send-message-response.json +26 -26
  219. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-terminate-session-request.json +5 -5
  220. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-terminate-session-response.json +11 -11
  221. package/dist/lib/schemas-data/3.1/collection/base-collection-source.json +3 -3
  222. package/dist/lib/schemas-data/3.1/collection/collection-list-changed-webhook.json +2 -2
  223. package/dist/lib/schemas-data/3.1/collection/collection-list-filters.json +7 -7
  224. package/dist/lib/schemas-data/3.1/collection/collection-list.json +5 -5
  225. package/dist/lib/schemas-data/3.1/collection/create-collection-list-request.json +8 -8
  226. package/dist/lib/schemas-data/3.1/collection/create-collection-list-response.json +6 -6
  227. package/dist/lib/schemas-data/3.1/collection/delete-collection-list-request.json +5 -5
  228. package/dist/lib/schemas-data/3.1/collection/delete-collection-list-response.json +5 -5
  229. package/dist/lib/schemas-data/3.1/collection/get-collection-list-request.json +5 -5
  230. package/dist/lib/schemas-data/3.1/collection/get-collection-list-response.json +12 -12
  231. package/dist/lib/schemas-data/3.1/collection/list-collection-lists-request.json +6 -6
  232. package/dist/lib/schemas-data/3.1/collection/list-collection-lists-response.json +7 -7
  233. package/dist/lib/schemas-data/3.1/collection/update-collection-list-request.json +8 -8
  234. package/dist/lib/schemas-data/3.1/collection/update-collection-list-response.json +6 -6
  235. package/dist/lib/schemas-data/3.1/content-standards/artifact-webhook-payload.json +3 -3
  236. package/dist/lib/schemas-data/3.1/content-standards/artifact.json +7 -7
  237. package/dist/lib/schemas-data/3.1/content-standards/calibrate-content-request.json +5 -5
  238. package/dist/lib/schemas-data/3.1/content-standards/calibrate-content-response.json +10 -10
  239. package/dist/lib/schemas-data/3.1/content-standards/content-standards.json +7 -7
  240. package/dist/lib/schemas-data/3.1/content-standards/create-content-standards-request.json +8 -8
  241. package/dist/lib/schemas-data/3.1/content-standards/create-content-standards-response.json +8 -8
  242. package/dist/lib/schemas-data/3.1/content-standards/get-content-standards-request.json +4 -4
  243. package/dist/lib/schemas-data/3.1/content-standards/get-content-standards-response.json +9 -9
  244. package/dist/lib/schemas-data/3.1/content-standards/get-media-buy-artifacts-request.json +5 -5
  245. package/dist/lib/schemas-data/3.1/content-standards/get-media-buy-artifacts-response.json +10 -10
  246. package/dist/lib/schemas-data/3.1/content-standards/list-content-standards-request.json +6 -6
  247. package/dist/lib/schemas-data/3.1/content-standards/list-content-standards-response.json +10 -10
  248. package/dist/lib/schemas-data/3.1/content-standards/update-content-standards-request.json +8 -8
  249. package/dist/lib/schemas-data/3.1/content-standards/update-content-standards-response.json +8 -8
  250. package/dist/lib/schemas-data/3.1/content-standards/validate-content-delivery-request.json +5 -5
  251. package/dist/lib/schemas-data/3.1/content-standards/validate-content-delivery-response.json +10 -10
  252. package/dist/lib/schemas-data/3.1/core/account-authorization.json +1 -1
  253. package/dist/lib/schemas-data/3.1/core/account-ref.json +2 -2
  254. package/dist/lib/schemas-data/3.1/core/account-with-authorization.json +3 -3
  255. package/dist/lib/schemas-data/3.1/core/account.json +10 -10
  256. package/dist/lib/schemas-data/3.1/core/activation-key.json +1 -1
  257. package/dist/lib/schemas-data/3.1/core/ad-inventory-config.json +1 -1
  258. package/dist/lib/schemas-data/3.1/core/agent-encryption-key.json +1 -1
  259. package/dist/lib/schemas-data/3.1/core/agent-signing-key.json +1 -1
  260. package/dist/lib/schemas-data/3.1/core/app-item.json +4 -4
  261. package/dist/lib/schemas-data/3.1/core/asset-group-vocabulary.json +1 -1
  262. package/dist/lib/schemas-data/3.1/core/assets/asset-union.json +21 -21
  263. package/dist/lib/schemas-data/3.1/core/assets/audio-asset.json +3 -3
  264. package/dist/lib/schemas-data/3.1/core/assets/brief-asset.json +2 -2
  265. package/dist/lib/schemas-data/3.1/core/assets/card-asset.json +6 -6
  266. package/dist/lib/schemas-data/3.1/core/assets/catalog-asset.json +2 -2
  267. package/dist/lib/schemas-data/3.1/core/assets/css-asset.json +2 -2
  268. package/dist/lib/schemas-data/3.1/core/assets/daast-asset.json +4 -4
  269. package/dist/lib/schemas-data/3.1/core/assets/daast-tracker-asset.json +3 -3
  270. package/dist/lib/schemas-data/3.1/core/assets/html-asset.json +2 -2
  271. package/dist/lib/schemas-data/3.1/core/assets/image-asset.json +2 -2
  272. package/dist/lib/schemas-data/3.1/core/assets/javascript-asset.json +3 -3
  273. package/dist/lib/schemas-data/3.1/core/assets/markdown-asset.json +2 -2
  274. package/dist/lib/schemas-data/3.1/core/assets/pixel-tracker-asset.json +2 -2
  275. package/dist/lib/schemas-data/3.1/core/assets/published-post-asset.json +2 -2
  276. package/dist/lib/schemas-data/3.1/core/assets/text-asset.json +2 -2
  277. package/dist/lib/schemas-data/3.1/core/assets/url-asset.json +3 -3
  278. package/dist/lib/schemas-data/3.1/core/assets/vast-asset.json +4 -4
  279. package/dist/lib/schemas-data/3.1/core/assets/vast-tracker-asset.json +3 -3
  280. package/dist/lib/schemas-data/3.1/core/assets/video-asset.json +7 -7
  281. package/dist/lib/schemas-data/3.1/core/assets/webhook-asset.json +7 -7
  282. package/dist/lib/schemas-data/3.1/core/assets/zip-asset.json +2 -2
  283. package/dist/lib/schemas-data/3.1/core/async-response-data.json +29 -29
  284. package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-input-required.json +3 -3
  285. package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-submitted.json +4 -4
  286. package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-working.json +3 -3
  287. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-input-required.json +4 -4
  288. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-submitted.json +4 -4
  289. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-working.json +3 -3
  290. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-input-required.json +4 -4
  291. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-submitted.json +4 -4
  292. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-working.json +3 -3
  293. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-input-required.json +4 -4
  294. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-submitted.json +4 -4
  295. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-working.json +3 -3
  296. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-input-required.json +3 -3
  297. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-submitted.json +4 -4
  298. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-working.json +3 -3
  299. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-input-required.json +3 -3
  300. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-submitted.json +4 -4
  301. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-working.json +3 -3
  302. package/dist/lib/schemas-data/3.1/core/async-response-refs/signals/get-signals-async-response-submitted.json +4 -4
  303. package/dist/lib/schemas-data/3.1/core/async-response-refs/signals/get-signals-async-response-working.json +3 -3
  304. package/dist/lib/schemas-data/3.1/core/attribution-window.json +4 -4
  305. package/dist/lib/schemas-data/3.1/core/audience-member.json +3 -3
  306. package/dist/lib/schemas-data/3.1/core/audience-selector.json +7 -7
  307. package/dist/lib/schemas-data/3.1/core/authorized-agent-base.json +3 -3
  308. package/dist/lib/schemas-data/3.1/core/brand-id.json +1 -1
  309. package/dist/lib/schemas-data/3.1/core/brand-ref.json +3 -3
  310. package/dist/lib/schemas-data/3.1/core/business-entity.json +2 -2
  311. package/dist/lib/schemas-data/3.1/core/cancellation-policy.json +2 -2
  312. package/dist/lib/schemas-data/3.1/core/canonical-format-kind.json +1 -1
  313. package/dist/lib/schemas-data/3.1/core/canonical-projection-ref.json +3 -3
  314. package/dist/lib/schemas-data/3.1/core/canonical-projection-slot-override.json +1 -1
  315. package/dist/lib/schemas-data/3.1/core/catalog-field-mapping.json +2 -2
  316. package/dist/lib/schemas-data/3.1/core/catalog-item-delivery-metrics.json +3 -3
  317. package/dist/lib/schemas-data/3.1/core/catalog.json +7 -7
  318. package/dist/lib/schemas-data/3.1/core/catchment.json +5 -5
  319. package/dist/lib/schemas-data/3.1/core/collection-distribution.json +2 -2
  320. package/dist/lib/schemas-data/3.1/core/collection-list-ref.json +1 -1
  321. package/dist/lib/schemas-data/3.1/core/collection-selector.json +1 -1
  322. package/dist/lib/schemas-data/3.1/core/collection.json +13 -13
  323. package/dist/lib/schemas-data/3.1/core/committed-metric.json +9 -9
  324. package/dist/lib/schemas-data/3.1/core/content-rating.json +2 -2
  325. package/dist/lib/schemas-data/3.1/core/context.json +1 -1
  326. package/dist/lib/schemas-data/3.1/core/creative-asset.json +10 -10
  327. package/dist/lib/schemas-data/3.1/core/creative-assignment.json +2 -2
  328. package/dist/lib/schemas-data/3.1/core/creative-brief.json +4 -4
  329. package/dist/lib/schemas-data/3.1/core/creative-consumption.json +1 -1
  330. package/dist/lib/schemas-data/3.1/core/creative-delivery-metrics.json +2 -2
  331. package/dist/lib/schemas-data/3.1/core/creative-filters.json +5 -5
  332. package/dist/lib/schemas-data/3.1/core/creative-item.json +1 -1
  333. package/dist/lib/schemas-data/3.1/core/creative-manifest.json +11 -11
  334. package/dist/lib/schemas-data/3.1/core/creative-policy.json +3 -3
  335. package/dist/lib/schemas-data/3.1/core/creative-variable.json +1 -1
  336. package/dist/lib/schemas-data/3.1/core/creative-variant.json +5 -5
  337. package/dist/lib/schemas-data/3.1/core/data-provider-signal-selector.json +1 -1
  338. package/dist/lib/schemas-data/3.1/core/date-range.json +1 -1
  339. package/dist/lib/schemas-data/3.1/core/datetime-range.json +1 -1
  340. package/dist/lib/schemas-data/3.1/core/daypart-target.json +2 -2
  341. package/dist/lib/schemas-data/3.1/core/deadline-policy.json +1 -1
  342. package/dist/lib/schemas-data/3.1/core/delivery-forecast.json +7 -7
  343. package/dist/lib/schemas-data/3.1/core/delivery-metric-aggregate.json +9 -9
  344. package/dist/lib/schemas-data/3.1/core/delivery-metrics.json +8 -8
  345. package/dist/lib/schemas-data/3.1/core/deployment.json +3 -3
  346. package/dist/lib/schemas-data/3.1/core/destination-item.json +4 -4
  347. package/dist/lib/schemas-data/3.1/core/destination.json +1 -1
  348. package/dist/lib/schemas-data/3.1/core/diagnostic-issue.json +1 -1
  349. package/dist/lib/schemas-data/3.1/core/downstream-connection-requirement.json +1 -1
  350. package/dist/lib/schemas-data/3.1/core/duration.json +1 -1
  351. package/dist/lib/schemas-data/3.1/core/education-item.json +4 -4
  352. package/dist/lib/schemas-data/3.1/core/error.json +1 -1
  353. package/dist/lib/schemas-data/3.1/core/evaluator-spec.json +5 -5
  354. package/dist/lib/schemas-data/3.1/core/event-custom-data.json +2 -2
  355. package/dist/lib/schemas-data/3.1/core/event-source-health.json +3 -3
  356. package/dist/lib/schemas-data/3.1/core/event-surface.json +2 -2
  357. package/dist/lib/schemas-data/3.1/core/event.json +8 -8
  358. package/dist/lib/schemas-data/3.1/core/ext.json +1 -1
  359. package/dist/lib/schemas-data/3.1/core/feature-requirement.json +1 -1
  360. package/dist/lib/schemas-data/3.1/core/flight-item.json +4 -4
  361. package/dist/lib/schemas-data/3.1/core/forecast-dimension-audience.json +2 -2
  362. package/dist/lib/schemas-data/3.1/core/forecast-dimension-device-platform.json +2 -2
  363. package/dist/lib/schemas-data/3.1/core/forecast-dimension-device-type.json +2 -2
  364. package/dist/lib/schemas-data/3.1/core/forecast-dimension-geo.json +5 -5
  365. package/dist/lib/schemas-data/3.1/core/forecast-dimension-placement.json +2 -2
  366. package/dist/lib/schemas-data/3.1/core/forecast-dimension-signal.json +2 -2
  367. package/dist/lib/schemas-data/3.1/core/forecast-point-dimensions.json +7 -7
  368. package/dist/lib/schemas-data/3.1/core/forecast-point.json +27 -27
  369. package/dist/lib/schemas-data/3.1/core/forecast-range.json +1 -1
  370. package/dist/lib/schemas-data/3.1/core/forecast-vendor-metric-value.json +5 -5
  371. package/dist/lib/schemas-data/3.1/core/format-id.json +1 -1
  372. package/dist/lib/schemas-data/3.1/core/format-option-ref.json +1 -1
  373. package/dist/lib/schemas-data/3.1/core/format-shape-vocabulary.json +1 -1
  374. package/dist/lib/schemas-data/3.1/core/format.json +44 -44
  375. package/dist/lib/schemas-data/3.1/core/frequency-cap.json +4 -4
  376. package/dist/lib/schemas-data/3.1/core/generation-credential.json +3 -3
  377. package/dist/lib/schemas-data/3.1/core/geo-breakdown-support.json +3 -3
  378. package/dist/lib/schemas-data/3.1/core/geo-delivery-metrics.json +6 -6
  379. package/dist/lib/schemas-data/3.1/core/hotel-item.json +4 -4
  380. package/dist/lib/schemas-data/3.1/core/identifier.json +2 -2
  381. package/dist/lib/schemas-data/3.1/core/impairment.json +3 -3
  382. package/dist/lib/schemas-data/3.1/core/industry-identifier.json +2 -2
  383. package/dist/lib/schemas-data/3.1/core/insertion-order.json +1 -1
  384. package/dist/lib/schemas-data/3.1/core/installment-deadlines.json +2 -2
  385. package/dist/lib/schemas-data/3.1/core/installment.json +9 -9
  386. package/dist/lib/schemas-data/3.1/core/job-item.json +3 -3
  387. package/dist/lib/schemas-data/3.1/core/keyword-delivery-metrics.json +3 -3
  388. package/dist/lib/schemas-data/3.1/core/limited-series.json +1 -1
  389. package/dist/lib/schemas-data/3.1/core/material-deadline.json +1 -1
  390. package/dist/lib/schemas-data/3.1/core/mcp-webhook-payload.json +5 -5
  391. package/dist/lib/schemas-data/3.1/core/measurement-readiness.json +5 -5
  392. package/dist/lib/schemas-data/3.1/core/measurement-terms.json +3 -3
  393. package/dist/lib/schemas-data/3.1/core/measurement-window.json +1 -1
  394. package/dist/lib/schemas-data/3.1/core/media-buy-available-action.json +4 -4
  395. package/dist/lib/schemas-data/3.1/core/media-buy-features.json +1 -1
  396. package/dist/lib/schemas-data/3.1/core/media-buy.json +10 -10
  397. package/dist/lib/schemas-data/3.1/core/missing-metric.json +9 -9
  398. package/dist/lib/schemas-data/3.1/core/notification-config.json +4 -4
  399. package/dist/lib/schemas-data/3.1/core/offering-asset-group.json +16 -16
  400. package/dist/lib/schemas-data/3.1/core/offering.json +5 -5
  401. package/dist/lib/schemas-data/3.1/core/optimization-goal.json +7 -7
  402. package/dist/lib/schemas-data/3.1/core/outcome-measurement.json +2 -2
  403. package/dist/lib/schemas-data/3.1/core/overlay.json +1 -1
  404. package/dist/lib/schemas-data/3.1/core/package-signal-targeting-group.json +2 -2
  405. package/dist/lib/schemas-data/3.1/core/package-signal-targeting-groups.json +2 -2
  406. package/dist/lib/schemas-data/3.1/core/package-signal-targeting.json +3 -3
  407. package/dist/lib/schemas-data/3.1/core/package.json +17 -17
  408. package/dist/lib/schemas-data/3.1/core/pagination-request.json +1 -1
  409. package/dist/lib/schemas-data/3.1/core/pagination-response.json +1 -1
  410. package/dist/lib/schemas-data/3.1/core/performance-feedback.json +12 -12
  411. package/dist/lib/schemas-data/3.1/core/performance-standard.json +4 -4
  412. package/dist/lib/schemas-data/3.1/core/placement-definition.json +10 -10
  413. package/dist/lib/schemas-data/3.1/core/placement-ref.json +1 -1
  414. package/dist/lib/schemas-data/3.1/core/placement.json +7 -7
  415. package/dist/lib/schemas-data/3.1/core/planned-delivery.json +5 -5
  416. package/dist/lib/schemas-data/3.1/core/platform-extension-ref.json +1 -1
  417. package/dist/lib/schemas-data/3.1/core/postal-area-support.json +2 -2
  418. package/dist/lib/schemas-data/3.1/core/postal-area.json +4 -4
  419. package/dist/lib/schemas-data/3.1/core/postal-country-system.json +2 -2
  420. package/dist/lib/schemas-data/3.1/core/price.json +1 -1
  421. package/dist/lib/schemas-data/3.1/core/pricing-option.json +10 -10
  422. package/dist/lib/schemas-data/3.1/core/product-allocation.json +4 -4
  423. package/dist/lib/schemas-data/3.1/core/product-allowed-action.json +5 -5
  424. package/dist/lib/schemas-data/3.1/core/product-filters.json +27 -27
  425. package/dist/lib/schemas-data/3.1/core/product-format-declaration.json +16 -16
  426. package/dist/lib/schemas-data/3.1/core/product-signal-targeting-option.json +3 -3
  427. package/dist/lib/schemas-data/3.1/core/product.json +40 -40
  428. package/dist/lib/schemas-data/3.1/core/property-id.json +1 -1
  429. package/dist/lib/schemas-data/3.1/core/property-list-ref.json +1 -1
  430. package/dist/lib/schemas-data/3.1/core/property-tag.json +1 -1
  431. package/dist/lib/schemas-data/3.1/core/property.json +6 -6
  432. package/dist/lib/schemas-data/3.1/core/proposal.json +6 -6
  433. package/dist/lib/schemas-data/3.1/core/protocol-envelope.json +5 -5
  434. package/dist/lib/schemas-data/3.1/core/provenance.json +9 -9
  435. package/dist/lib/schemas-data/3.1/core/publisher-property-selector.json +3 -3
  436. package/dist/lib/schemas-data/3.1/core/push-notification-config.json +2 -2
  437. package/dist/lib/schemas-data/3.1/core/real-estate-item.json +4 -4
  438. package/dist/lib/schemas-data/3.1/core/reference-asset.json +1 -1
  439. package/dist/lib/schemas-data/3.1/core/registry-event.json +13 -13
  440. package/dist/lib/schemas-data/3.1/core/registry-feed-response.json +2 -2
  441. package/dist/lib/schemas-data/3.1/core/reporting-capabilities.json +8 -8
  442. package/dist/lib/schemas-data/3.1/core/reporting-webhook.json +3 -3
  443. package/dist/lib/schemas-data/3.1/core/requirements/asset-requirements.json +13 -13
  444. package/dist/lib/schemas-data/3.1/core/requirements/audio-asset-requirements.json +1 -1
  445. package/dist/lib/schemas-data/3.1/core/requirements/catalog-field-binding.json +4 -4
  446. package/dist/lib/schemas-data/3.1/core/requirements/catalog-requirements.json +5 -5
  447. package/dist/lib/schemas-data/3.1/core/requirements/css-asset-requirements.json +1 -1
  448. package/dist/lib/schemas-data/3.1/core/requirements/daast-asset-requirements.json +1 -1
  449. package/dist/lib/schemas-data/3.1/core/requirements/html-asset-requirements.json +1 -1
  450. package/dist/lib/schemas-data/3.1/core/requirements/image-asset-requirements.json +2 -2
  451. package/dist/lib/schemas-data/3.1/core/requirements/javascript-asset-requirements.json +1 -1
  452. package/dist/lib/schemas-data/3.1/core/requirements/markdown-asset-requirements.json +1 -1
  453. package/dist/lib/schemas-data/3.1/core/requirements/offering-asset-constraint.json +4 -4
  454. package/dist/lib/schemas-data/3.1/core/requirements/text-asset-requirements.json +1 -1
  455. package/dist/lib/schemas-data/3.1/core/requirements/url-asset-requirements.json +1 -1
  456. package/dist/lib/schemas-data/3.1/core/requirements/vast-asset-requirements.json +1 -1
  457. package/dist/lib/schemas-data/3.1/core/requirements/video-asset-requirements.json +6 -6
  458. package/dist/lib/schemas-data/3.1/core/requirements/webhook-asset-requirements.json +1 -1
  459. package/dist/lib/schemas-data/3.1/core/response-payload-jws-envelope.json +1 -1
  460. package/dist/lib/schemas-data/3.1/core/response.json +1 -1
  461. package/dist/lib/schemas-data/3.1/core/rights-constraint.json +4 -4
  462. package/dist/lib/schemas-data/3.1/core/seller-agent-ref.json +1 -1
  463. package/dist/lib/schemas-data/3.1/core/signal-coverage-forecast.json +5 -5
  464. package/dist/lib/schemas-data/3.1/core/signal-definition-enrichment.json +4 -4
  465. package/dist/lib/schemas-data/3.1/core/signal-definition.json +5 -5
  466. package/dist/lib/schemas-data/3.1/core/signal-filters.json +3 -3
  467. package/dist/lib/schemas-data/3.1/core/signal-id.json +1 -1
  468. package/dist/lib/schemas-data/3.1/core/signal-listing.json +4 -4
  469. package/dist/lib/schemas-data/3.1/core/signal-modeling-disclosure.json +1 -1
  470. package/dist/lib/schemas-data/3.1/core/signal-pricing-option.json +2 -2
  471. package/dist/lib/schemas-data/3.1/core/signal-pricing.json +6 -6
  472. package/dist/lib/schemas-data/3.1/core/signal-ref.json +1 -1
  473. package/dist/lib/schemas-data/3.1/core/signal-selection-group-rule.json +1 -1
  474. package/dist/lib/schemas-data/3.1/core/signal-targeting-expression.json +4 -4
  475. package/dist/lib/schemas-data/3.1/core/signal-targeting-rules.json +2 -2
  476. package/dist/lib/schemas-data/3.1/core/signal-targeting.json +7 -7
  477. package/dist/lib/schemas-data/3.1/core/sla-window.json +1 -1
  478. package/dist/lib/schemas-data/3.1/core/special.json +2 -2
  479. package/dist/lib/schemas-data/3.1/core/start-timing.json +1 -1
  480. package/dist/lib/schemas-data/3.1/core/store-item.json +3 -3
  481. package/dist/lib/schemas-data/3.1/core/talent.json +2 -2
  482. package/dist/lib/schemas-data/3.1/core/targeting.json +22 -22
  483. package/dist/lib/schemas-data/3.1/core/tasks-get-request.json +5 -5
  484. package/dist/lib/schemas-data/3.1/core/tasks-get-response.json +10 -10
  485. package/dist/lib/schemas-data/3.1/core/tasks-list-request.json +13 -13
  486. package/dist/lib/schemas-data/3.1/core/tasks-list-response.json +8 -8
  487. package/dist/lib/schemas-data/3.1/core/transformer-param.json +1 -1
  488. package/dist/lib/schemas-data/3.1/core/transformer.json +5 -5
  489. package/dist/lib/schemas-data/3.1/core/truncation-sentinel.json +1 -1
  490. package/dist/lib/schemas-data/3.1/core/user-match.json +3 -3
  491. package/dist/lib/schemas-data/3.1/core/vehicle-item.json +4 -4
  492. package/dist/lib/schemas-data/3.1/core/vendor-metric-id.json +1 -1
  493. package/dist/lib/schemas-data/3.1/core/vendor-metric-optimization-supported-metric.json +3 -3
  494. package/dist/lib/schemas-data/3.1/core/vendor-metric-optimization.json +2 -2
  495. package/dist/lib/schemas-data/3.1/core/vendor-metric-value.json +3 -3
  496. package/dist/lib/schemas-data/3.1/core/vendor-pricing-option.json +3 -3
  497. package/dist/lib/schemas-data/3.1/core/version-envelope.json +1 -1
  498. package/dist/lib/schemas-data/3.1/core/webhook-activity-record.json +3 -3
  499. package/dist/lib/schemas-data/3.1/core/webhook-challenge-response.json +1 -1
  500. package/dist/lib/schemas-data/3.1/core/webhook-challenge.json +2 -2
  501. package/dist/lib/schemas-data/3.1/core/wholesale-feed-event.json +17 -17
  502. package/dist/lib/schemas-data/3.1/core/wholesale-feed-webhook.json +3 -3
  503. package/dist/lib/schemas-data/3.1/core/x-entity-types.json +1 -1
  504. package/dist/lib/schemas-data/3.1/creative/asset-types/index.json +6 -6
  505. package/dist/lib/schemas-data/3.1/creative/audit-observation.json +2 -2
  506. package/dist/lib/schemas-data/3.1/creative/creative-feature-result.json +2 -2
  507. package/dist/lib/schemas-data/3.1/creative/creative-purged-webhook.json +3 -3
  508. package/dist/lib/schemas-data/3.1/creative/creative-status-changed-webhook.json +4 -4
  509. package/dist/lib/schemas-data/3.1/creative/get-creative-delivery-request.json +6 -6
  510. package/dist/lib/schemas-data/3.1/creative/get-creative-delivery-response.json +9 -9
  511. package/dist/lib/schemas-data/3.1/creative/get-creative-features-request.json +6 -6
  512. package/dist/lib/schemas-data/3.1/creative/get-creative-features-response.json +11 -11
  513. package/dist/lib/schemas-data/3.1/creative/list-creative-formats-request.json +13 -13
  514. package/dist/lib/schemas-data/3.1/creative/list-creative-formats-response.json +9 -9
  515. package/dist/lib/schemas-data/3.1/creative/list-creatives-request.json +9 -9
  516. package/dist/lib/schemas-data/3.1/creative/list-creatives-response.json +21 -21
  517. package/dist/lib/schemas-data/3.1/creative/list-transformers-request.json +8 -8
  518. package/dist/lib/schemas-data/3.1/creative/list-transformers-response.json +8 -8
  519. package/dist/lib/schemas-data/3.1/creative/preview-creative-request.json +12 -12
  520. package/dist/lib/schemas-data/3.1/creative/preview-creative-response.json +14 -14
  521. package/dist/lib/schemas-data/3.1/creative/preview-render.json +1 -1
  522. package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-input-required.json +3 -3
  523. package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-submitted.json +4 -4
  524. package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-working.json +3 -3
  525. package/dist/lib/schemas-data/3.1/creative/sync-creatives-request.json +8 -8
  526. package/dist/lib/schemas-data/3.1/creative/sync-creatives-response.json +15 -15
  527. package/dist/lib/schemas-data/3.1/creative/validate-input-request.json +4 -4
  528. package/dist/lib/schemas-data/3.1/creative/validate-input-response.json +4 -4
  529. package/dist/lib/schemas-data/3.1/creative/validate-input-result.json +1 -1
  530. package/dist/lib/schemas-data/3.1/creative/video-brief.json +1 -1
  531. package/dist/lib/schemas-data/3.1/enums/account-scope.json +1 -1
  532. package/dist/lib/schemas-data/3.1/enums/account-status.json +1 -1
  533. package/dist/lib/schemas-data/3.1/enums/action-not-allowed-reason.json +1 -1
  534. package/dist/lib/schemas-data/3.1/enums/action-source.json +1 -1
  535. package/dist/lib/schemas-data/3.1/enums/adcp-protocol.json +1 -1
  536. package/dist/lib/schemas-data/3.1/enums/adjustment-kind.json +1 -1
  537. package/dist/lib/schemas-data/3.1/enums/advertiser-industry.json +1 -1
  538. package/dist/lib/schemas-data/3.1/enums/age-verification-method.json +1 -1
  539. package/dist/lib/schemas-data/3.1/enums/assessment-status.json +1 -1
  540. package/dist/lib/schemas-data/3.1/enums/asset-content-type.json +1 -1
  541. package/dist/lib/schemas-data/3.1/enums/attestation-claim.json +1 -1
  542. package/dist/lib/schemas-data/3.1/enums/attribution-methodology.json +1 -1
  543. package/dist/lib/schemas-data/3.1/enums/attribution-model.json +1 -1
  544. package/dist/lib/schemas-data/3.1/enums/audience-source.json +1 -1
  545. package/dist/lib/schemas-data/3.1/enums/audience-status.json +1 -1
  546. package/dist/lib/schemas-data/3.1/enums/audio-channel-layout.json +1 -1
  547. package/dist/lib/schemas-data/3.1/enums/audio-distribution-type.json +1 -1
  548. package/dist/lib/schemas-data/3.1/enums/auth-scheme.json +1 -1
  549. package/dist/lib/schemas-data/3.1/enums/available-metric.json +1 -1
  550. package/dist/lib/schemas-data/3.1/enums/billing-party.json +1 -1
  551. package/dist/lib/schemas-data/3.1/enums/binary-verdict.json +1 -1
  552. package/dist/lib/schemas-data/3.1/enums/brand-agent-type.json +1 -1
  553. package/dist/lib/schemas-data/3.1/enums/c2pa-watermark-action.json +1 -1
  554. package/dist/lib/schemas-data/3.1/enums/canceled-by.json +1 -1
  555. package/dist/lib/schemas-data/3.1/enums/catalog-action.json +1 -1
  556. package/dist/lib/schemas-data/3.1/enums/catalog-item-status.json +1 -1
  557. package/dist/lib/schemas-data/3.1/enums/catalog-type.json +1 -1
  558. package/dist/lib/schemas-data/3.1/enums/channels.json +1 -1
  559. package/dist/lib/schemas-data/3.1/enums/cloud-storage-protocol.json +1 -1
  560. package/dist/lib/schemas-data/3.1/enums/co-branding-requirement.json +1 -1
  561. package/dist/lib/schemas-data/3.1/enums/collection-cadence.json +1 -1
  562. package/dist/lib/schemas-data/3.1/enums/collection-kind.json +1 -1
  563. package/dist/lib/schemas-data/3.1/enums/collection-relationship.json +1 -1
  564. package/dist/lib/schemas-data/3.1/enums/collection-status.json +1 -1
  565. package/dist/lib/schemas-data/3.1/enums/completion-source.json +1 -1
  566. package/dist/lib/schemas-data/3.1/enums/consent-basis.json +1 -1
  567. package/dist/lib/schemas-data/3.1/enums/content-id-type.json +1 -1
  568. package/dist/lib/schemas-data/3.1/enums/content-rating-system.json +1 -1
  569. package/dist/lib/schemas-data/3.1/enums/creative-action.json +1 -1
  570. package/dist/lib/schemas-data/3.1/enums/creative-agent-capability.json +1 -1
  571. package/dist/lib/schemas-data/3.1/enums/creative-approval-status.json +1 -1
  572. package/dist/lib/schemas-data/3.1/enums/creative-event-reason-code.json +1 -1
  573. package/dist/lib/schemas-data/3.1/enums/creative-identifier-type.json +1 -1
  574. package/dist/lib/schemas-data/3.1/enums/creative-quality.json +1 -1
  575. package/dist/lib/schemas-data/3.1/enums/creative-selection-strategy.json +1 -1
  576. package/dist/lib/schemas-data/3.1/enums/creative-sort-field.json +1 -1
  577. package/dist/lib/schemas-data/3.1/enums/creative-status.json +1 -1
  578. package/dist/lib/schemas-data/3.1/enums/daast-tracking-event.json +1 -1
  579. package/dist/lib/schemas-data/3.1/enums/daast-version.json +1 -1
  580. package/dist/lib/schemas-data/3.1/enums/day-of-week.json +1 -1
  581. package/dist/lib/schemas-data/3.1/enums/delegation-authority.json +1 -1
  582. package/dist/lib/schemas-data/3.1/enums/delivery-type.json +1 -1
  583. package/dist/lib/schemas-data/3.1/enums/demographic-system.json +1 -1
  584. package/dist/lib/schemas-data/3.1/enums/derivative-type.json +1 -1
  585. package/dist/lib/schemas-data/3.1/enums/device-platform.json +1 -1
  586. package/dist/lib/schemas-data/3.1/enums/device-type.json +1 -1
  587. package/dist/lib/schemas-data/3.1/enums/digital-source-type.json +1 -1
  588. package/dist/lib/schemas-data/3.1/enums/dimension-unit.json +1 -1
  589. package/dist/lib/schemas-data/3.1/enums/disclosure-persistence.json +1 -1
  590. package/dist/lib/schemas-data/3.1/enums/disclosure-position.json +1 -1
  591. package/dist/lib/schemas-data/3.1/enums/distance-unit.json +1 -1
  592. package/dist/lib/schemas-data/3.1/enums/distribution-identifier-type.json +1 -1
  593. package/dist/lib/schemas-data/3.1/enums/embedded-provenance-method.json +1 -1
  594. package/dist/lib/schemas-data/3.1/enums/error-code.json +1 -1
  595. package/dist/lib/schemas-data/3.1/enums/error-scope.json +1 -1
  596. package/dist/lib/schemas-data/3.1/enums/escalation-severity.json +1 -1
  597. package/dist/lib/schemas-data/3.1/enums/event-type.json +1 -1
  598. package/dist/lib/schemas-data/3.1/enums/exclusivity.json +1 -1
  599. package/dist/lib/schemas-data/3.1/enums/feature-check-status.json +1 -1
  600. package/dist/lib/schemas-data/3.1/enums/feed-format.json +1 -1
  601. package/dist/lib/schemas-data/3.1/enums/feedback-source.json +1 -1
  602. package/dist/lib/schemas-data/3.1/enums/forecast-method.json +1 -1
  603. package/dist/lib/schemas-data/3.1/enums/forecast-range-unit.json +1 -1
  604. package/dist/lib/schemas-data/3.1/enums/forecastable-metric.json +1 -1
  605. package/dist/lib/schemas-data/3.1/enums/format-id-parameter.json +1 -1
  606. package/dist/lib/schemas-data/3.1/enums/frame-rate-type.json +1 -1
  607. package/dist/lib/schemas-data/3.1/enums/frequency-cap-scope.json +1 -1
  608. package/dist/lib/schemas-data/3.1/enums/genre-taxonomy.json +1 -1
  609. package/dist/lib/schemas-data/3.1/enums/geo-level.json +1 -1
  610. package/dist/lib/schemas-data/3.1/enums/gop-type.json +1 -1
  611. package/dist/lib/schemas-data/3.1/enums/governance-decision.json +1 -1
  612. package/dist/lib/schemas-data/3.1/enums/governance-domain.json +1 -1
  613. package/dist/lib/schemas-data/3.1/enums/governance-mode.json +1 -1
  614. package/dist/lib/schemas-data/3.1/enums/governance-phase.json +1 -1
  615. package/dist/lib/schemas-data/3.1/enums/history-entry-type.json +1 -1
  616. package/dist/lib/schemas-data/3.1/enums/http-method.json +1 -1
  617. package/dist/lib/schemas-data/3.1/enums/identifier-types.json +1 -1
  618. package/dist/lib/schemas-data/3.1/enums/impairment-offline-state.json +1 -1
  619. package/dist/lib/schemas-data/3.1/enums/impairment-reason-code.json +1 -1
  620. package/dist/lib/schemas-data/3.1/enums/installment-status.json +1 -1
  621. package/dist/lib/schemas-data/3.1/enums/javascript-module-type.json +1 -1
  622. package/dist/lib/schemas-data/3.1/enums/landing-page-requirement.json +1 -1
  623. package/dist/lib/schemas-data/3.1/enums/legacy-postal-system.json +1 -1
  624. package/dist/lib/schemas-data/3.1/enums/lift-dimension.json +1 -1
  625. package/dist/lib/schemas-data/3.1/enums/logo-slot.json +1 -1
  626. package/dist/lib/schemas-data/3.1/enums/makegood-remedy.json +1 -1
  627. package/dist/lib/schemas-data/3.1/enums/markdown-flavor.json +1 -1
  628. package/dist/lib/schemas-data/3.1/enums/match-id-type.json +1 -1
  629. package/dist/lib/schemas-data/3.1/enums/match-type.json +1 -1
  630. package/dist/lib/schemas-data/3.1/enums/media-buy-action-mode.json +1 -1
  631. package/dist/lib/schemas-data/3.1/enums/media-buy-health.json +1 -1
  632. package/dist/lib/schemas-data/3.1/enums/media-buy-status.json +1 -1
  633. package/dist/lib/schemas-data/3.1/enums/media-buy-valid-action.json +1 -1
  634. package/dist/lib/schemas-data/3.1/enums/metric-scope.json +1 -1
  635. package/dist/lib/schemas-data/3.1/enums/metric-type.json +1 -1
  636. package/dist/lib/schemas-data/3.1/enums/metro-system.json +1 -1
  637. package/dist/lib/schemas-data/3.1/enums/moov-atom-position.json +1 -1
  638. package/dist/lib/schemas-data/3.1/enums/notification-type.json +1 -1
  639. package/dist/lib/schemas-data/3.1/enums/offering-availability-status.json +1 -1
  640. package/dist/lib/schemas-data/3.1/enums/outcome-type.json +1 -1
  641. package/dist/lib/schemas-data/3.1/enums/pacing.json +1 -1
  642. package/dist/lib/schemas-data/3.1/enums/payment-terms.json +1 -1
  643. package/dist/lib/schemas-data/3.1/enums/performance-standard-metric.json +1 -1
  644. package/dist/lib/schemas-data/3.1/enums/policy-category.json +1 -1
  645. package/dist/lib/schemas-data/3.1/enums/policy-enforcement.json +1 -1
  646. package/dist/lib/schemas-data/3.1/enums/postal-system.json +1 -1
  647. package/dist/lib/schemas-data/3.1/enums/preview-output-format.json +1 -1
  648. package/dist/lib/schemas-data/3.1/enums/pricing-model.json +1 -1
  649. package/dist/lib/schemas-data/3.1/enums/production-quality.json +1 -1
  650. package/dist/lib/schemas-data/3.1/enums/property-type.json +1 -1
  651. package/dist/lib/schemas-data/3.1/enums/proposal-status.json +1 -1
  652. package/dist/lib/schemas-data/3.1/enums/publisher-identifier-types.json +1 -1
  653. package/dist/lib/schemas-data/3.1/enums/purchase-type.json +1 -1
  654. package/dist/lib/schemas-data/3.1/enums/reach-unit.json +1 -1
  655. package/dist/lib/schemas-data/3.1/enums/reporting-frequency.json +1 -1
  656. package/dist/lib/schemas-data/3.1/enums/response-type.json +1 -1
  657. package/dist/lib/schemas-data/3.1/enums/restricted-attribute.json +1 -1
  658. package/dist/lib/schemas-data/3.1/enums/right-type.json +1 -1
  659. package/dist/lib/schemas-data/3.1/enums/right-use.json +1 -1
  660. package/dist/lib/schemas-data/3.1/enums/rights-billing-period.json +1 -1
  661. package/dist/lib/schemas-data/3.1/enums/scan-type.json +1 -1
  662. package/dist/lib/schemas-data/3.1/enums/si-session-status.json +1 -1
  663. package/dist/lib/schemas-data/3.1/enums/signal-catalog-type.json +1 -1
  664. package/dist/lib/schemas-data/3.1/enums/signal-source.json +1 -1
  665. package/dist/lib/schemas-data/3.1/enums/signal-value-type.json +1 -1
  666. package/dist/lib/schemas-data/3.1/enums/snapshot-unavailable-reason.json +1 -1
  667. package/dist/lib/schemas-data/3.1/enums/social-placement-surface.json +1 -1
  668. package/dist/lib/schemas-data/3.1/enums/sort-direction.json +1 -1
  669. package/dist/lib/schemas-data/3.1/enums/sort-metric.json +1 -1
  670. package/dist/lib/schemas-data/3.1/enums/special-category.json +1 -1
  671. package/dist/lib/schemas-data/3.1/enums/specialism.json +1 -1
  672. package/dist/lib/schemas-data/3.1/enums/sponsored-placement-type.json +1 -1
  673. package/dist/lib/schemas-data/3.1/enums/talent-role.json +1 -1
  674. package/dist/lib/schemas-data/3.1/enums/task-status.json +1 -1
  675. package/dist/lib/schemas-data/3.1/enums/task-type.json +1 -1
  676. package/dist/lib/schemas-data/3.1/enums/transport-mode.json +1 -1
  677. package/dist/lib/schemas-data/3.1/enums/travel-time-unit.json +1 -1
  678. package/dist/lib/schemas-data/3.1/enums/uid-type.json +1 -1
  679. package/dist/lib/schemas-data/3.1/enums/universal-macro.json +1 -1
  680. package/dist/lib/schemas-data/3.1/enums/update-frequency.json +1 -1
  681. package/dist/lib/schemas-data/3.1/enums/url-asset-type.json +1 -1
  682. package/dist/lib/schemas-data/3.1/enums/validation-mode.json +1 -1
  683. package/dist/lib/schemas-data/3.1/enums/vast-tracking-event.json +1 -1
  684. package/dist/lib/schemas-data/3.1/enums/vast-version.json +1 -1
  685. package/dist/lib/schemas-data/3.1/enums/video-placement-type.json +1 -1
  686. package/dist/lib/schemas-data/3.1/enums/viewability-standard.json +1 -1
  687. package/dist/lib/schemas-data/3.1/enums/watermark-media-type.json +1 -1
  688. package/dist/lib/schemas-data/3.1/enums/wcag-level.json +1 -1
  689. package/dist/lib/schemas-data/3.1/enums/webhook-response-type.json +1 -1
  690. package/dist/lib/schemas-data/3.1/enums/webhook-security-method.json +1 -1
  691. package/dist/lib/schemas-data/3.1/error-details/account-setup-required.json +1 -1
  692. package/dist/lib/schemas-data/3.1/error-details/action-not-allowed.json +4 -4
  693. package/dist/lib/schemas-data/3.1/error-details/agent-permission-denied.json +1 -1
  694. package/dist/lib/schemas-data/3.1/error-details/audience-too-small.json +1 -1
  695. package/dist/lib/schemas-data/3.1/error-details/authorization-required.json +3 -3
  696. package/dist/lib/schemas-data/3.1/error-details/billing-not-permitted-for-agent.json +3 -3
  697. package/dist/lib/schemas-data/3.1/error-details/billing-not-supported.json +2 -2
  698. package/dist/lib/schemas-data/3.1/error-details/budget-too-low.json +1 -1
  699. package/dist/lib/schemas-data/3.1/error-details/conflict.json +1 -1
  700. package/dist/lib/schemas-data/3.1/error-details/creative-rejected.json +1 -1
  701. package/dist/lib/schemas-data/3.1/error-details/policy-violation.json +1 -1
  702. package/dist/lib/schemas-data/3.1/error-details/rate-limited.json +1 -1
  703. package/dist/lib/schemas-data/3.1/error-details/stale-response.json +1 -1
  704. package/dist/lib/schemas-data/3.1/error-details/vendor-error-codes.json +1 -1
  705. package/dist/lib/schemas-data/3.1/error-details/version-unsupported.json +2 -2
  706. package/dist/lib/schemas-data/3.1/extensions/extension-meta.json +1 -1
  707. package/dist/lib/schemas-data/3.1/extensions/index.json +2 -2
  708. package/dist/lib/schemas-data/3.1/formats/canonical/_base.json +5 -5
  709. package/dist/lib/schemas-data/3.1/formats/canonical/agent_placement.json +2 -2
  710. package/dist/lib/schemas-data/3.1/formats/canonical/audio_daast.json +2 -2
  711. package/dist/lib/schemas-data/3.1/formats/canonical/audio_hosted.json +2 -2
  712. package/dist/lib/schemas-data/3.1/formats/canonical/display_tag.json +2 -2
  713. package/dist/lib/schemas-data/3.1/formats/canonical/html5.json +2 -2
  714. package/dist/lib/schemas-data/3.1/formats/canonical/image.json +2 -2
  715. package/dist/lib/schemas-data/3.1/formats/canonical/image_carousel.json +2 -2
  716. package/dist/lib/schemas-data/3.1/formats/canonical/native_in_feed.json +2 -2
  717. package/dist/lib/schemas-data/3.1/formats/canonical/responsive_creative.json +2 -2
  718. package/dist/lib/schemas-data/3.1/formats/canonical/sponsored_placement.json +2 -2
  719. package/dist/lib/schemas-data/3.1/formats/canonical/video_hosted.json +2 -2
  720. package/dist/lib/schemas-data/3.1/formats/canonical/video_vast.json +2 -2
  721. package/dist/lib/schemas-data/3.1/governance/attribute-definition.json +1 -1
  722. package/dist/lib/schemas-data/3.1/governance/audience-constraints.json +3 -3
  723. package/dist/lib/schemas-data/3.1/governance/check-governance-request.json +8 -8
  724. package/dist/lib/schemas-data/3.1/governance/check-governance-response.json +7 -7
  725. package/dist/lib/schemas-data/3.1/governance/get-plan-audit-logs-request.json +5 -5
  726. package/dist/lib/schemas-data/3.1/governance/get-plan-audit-logs-response.json +11 -11
  727. package/dist/lib/schemas-data/3.1/governance/policy-category-definition.json +2 -2
  728. package/dist/lib/schemas-data/3.1/governance/policy-entry.json +6 -6
  729. package/dist/lib/schemas-data/3.1/governance/policy-ref.json +1 -1
  730. package/dist/lib/schemas-data/3.1/governance/report-plan-outcome-request.json +7 -7
  731. package/dist/lib/schemas-data/3.1/governance/report-plan-outcome-response.json +5 -5
  732. package/dist/lib/schemas-data/3.1/governance/sync-plans-request.json +14 -14
  733. package/dist/lib/schemas-data/3.1/governance/sync-plans-response.json +6 -6
  734. package/dist/lib/schemas-data/3.1/index.json +443 -443
  735. package/dist/lib/schemas-data/3.1/manifest.json +3 -3
  736. package/dist/lib/schemas-data/3.1/manifest.schema.json +1 -1
  737. package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-input-required.json +4 -4
  738. package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-submitted.json +4 -4
  739. package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-working.json +3 -3
  740. package/dist/lib/schemas-data/3.1/media-buy/build-creative-request.json +16 -16
  741. package/dist/lib/schemas-data/3.1/media-buy/build-creative-response.json +35 -35
  742. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-input-required.json +4 -4
  743. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-submitted.json +4 -4
  744. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-working.json +3 -3
  745. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-request.json +13 -13
  746. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-response.json +19 -19
  747. package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-request.json +23 -23
  748. package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-response.json +27 -27
  749. package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-request.json +8 -8
  750. package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-response.json +30 -30
  751. package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-input-required.json +4 -4
  752. package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-submitted.json +4 -4
  753. package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-working.json +3 -3
  754. package/dist/lib/schemas-data/3.1/media-buy/get-products-request.json +13 -13
  755. package/dist/lib/schemas-data/3.1/media-buy/get-products-response.json +10 -10
  756. package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-request.json +13 -13
  757. package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-response.json +9 -9
  758. package/dist/lib/schemas-data/3.1/media-buy/log-event-request.json +5 -5
  759. package/dist/lib/schemas-data/3.1/media-buy/log-event-response.json +8 -8
  760. package/dist/lib/schemas-data/3.1/media-buy/media-buy-delivery-webhook-result.json +9 -9
  761. package/dist/lib/schemas-data/3.1/media-buy/package-request.json +23 -23
  762. package/dist/lib/schemas-data/3.1/media-buy/package-update.json +13 -13
  763. package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-request.json +7 -7
  764. package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-response.json +8 -8
  765. package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-request.json +8 -8
  766. package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-response.json +14 -14
  767. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-input-required.json +3 -3
  768. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-submitted.json +4 -4
  769. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-working.json +3 -3
  770. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-request.json +8 -8
  771. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-response.json +14 -14
  772. package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-request.json +8 -8
  773. package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-response.json +14 -14
  774. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-input-required.json +3 -3
  775. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-submitted.json +4 -4
  776. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-working.json +3 -3
  777. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-request.json +11 -11
  778. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-response.json +17 -17
  779. package/dist/lib/schemas-data/3.1/pricing-options/cpa-option.json +4 -4
  780. package/dist/lib/schemas-data/3.1/pricing-options/cpc-option.json +4 -4
  781. package/dist/lib/schemas-data/3.1/pricing-options/cpcv-option.json +4 -4
  782. package/dist/lib/schemas-data/3.1/pricing-options/cpm-option.json +4 -4
  783. package/dist/lib/schemas-data/3.1/pricing-options/cpp-option.json +5 -5
  784. package/dist/lib/schemas-data/3.1/pricing-options/cpv-option.json +4 -4
  785. package/dist/lib/schemas-data/3.1/pricing-options/flat-rate-option.json +4 -4
  786. package/dist/lib/schemas-data/3.1/pricing-options/price-breakdown.json +2 -2
  787. package/dist/lib/schemas-data/3.1/pricing-options/price-guidance.json +1 -1
  788. package/dist/lib/schemas-data/3.1/pricing-options/time-option.json +4 -4
  789. package/dist/lib/schemas-data/3.1/pricing-options/vcpm-option.json +4 -4
  790. package/dist/lib/schemas-data/3.1/property/authorization-result.json +1 -1
  791. package/dist/lib/schemas-data/3.1/property/base-property-source.json +4 -4
  792. package/dist/lib/schemas-data/3.1/property/create-property-list-request.json +8 -8
  793. package/dist/lib/schemas-data/3.1/property/create-property-list-response.json +6 -6
  794. package/dist/lib/schemas-data/3.1/property/delete-property-list-request.json +5 -5
  795. package/dist/lib/schemas-data/3.1/property/delete-property-list-response.json +5 -5
  796. package/dist/lib/schemas-data/3.1/property/delivery-record.json +3 -3
  797. package/dist/lib/schemas-data/3.1/property/get-property-list-request.json +5 -5
  798. package/dist/lib/schemas-data/3.1/property/get-property-list-response.json +9 -9
  799. package/dist/lib/schemas-data/3.1/property/list-property-lists-request.json +6 -6
  800. package/dist/lib/schemas-data/3.1/property/list-property-lists-response.json +7 -7
  801. package/dist/lib/schemas-data/3.1/property/property-error.json +2 -2
  802. package/dist/lib/schemas-data/3.1/property/property-feature-definition.json +2 -2
  803. package/dist/lib/schemas-data/3.1/property/property-feature-result.json +4 -4
  804. package/dist/lib/schemas-data/3.1/property/property-feature-value.json +2 -2
  805. package/dist/lib/schemas-data/3.1/property/property-feature.json +1 -1
  806. package/dist/lib/schemas-data/3.1/property/property-list-changed-webhook.json +2 -2
  807. package/dist/lib/schemas-data/3.1/property/property-list-filters.json +5 -5
  808. package/dist/lib/schemas-data/3.1/property/property-list.json +6 -6
  809. package/dist/lib/schemas-data/3.1/property/update-property-list-request.json +8 -8
  810. package/dist/lib/schemas-data/3.1/property/update-property-list-response.json +6 -6
  811. package/dist/lib/schemas-data/3.1/property/validate-property-delivery-request.json +6 -6
  812. package/dist/lib/schemas-data/3.1/property/validate-property-delivery-response.json +6 -6
  813. package/dist/lib/schemas-data/3.1/property/validation-result.json +5 -5
  814. package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-request.json +4 -4
  815. package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-response.json +33 -33
  816. package/dist/lib/schemas-data/3.1/protocol/get-task-status-request.json +5 -5
  817. package/dist/lib/schemas-data/3.1/protocol/get-task-status-response.json +10 -10
  818. package/dist/lib/schemas-data/3.1/protocol/list-tasks-request.json +13 -13
  819. package/dist/lib/schemas-data/3.1/protocol/list-tasks-response.json +8 -8
  820. package/dist/lib/schemas-data/3.1/registries/v1-canonical-mapping.json +5 -5
  821. package/dist/lib/schemas-data/3.1/signals/activate-signal-request.json +6 -6
  822. package/dist/lib/schemas-data/3.1/signals/activate-signal-response.json +9 -9
  823. package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-submitted.json +4 -4
  824. package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-working.json +3 -3
  825. package/dist/lib/schemas-data/3.1/signals/get-signals-request.json +11 -11
  826. package/dist/lib/schemas-data/3.1/signals/get-signals-response.json +17 -17
  827. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-capabilities.json +1 -1
  828. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-context-use.json +1 -1
  829. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-request.json +4 -4
  830. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-response.json +9 -9
  831. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-identity.json +1 -1
  832. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-request.json +7 -7
  833. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-response.json +10 -10
  834. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-request.json +5 -5
  835. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-response.json +10 -10
  836. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context-receipt.json +4 -4
  837. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context.json +4 -4
  838. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-request.json +4 -4
  839. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-response.json +7 -7
  840. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-ui-element.json +1 -1
  841. package/dist/lib/schemas-data/3.1/trusted-match/available-package.json +4 -4
  842. package/dist/lib/schemas-data/3.1/trusted-match/context-match-request.json +5 -5
  843. package/dist/lib/schemas-data/3.1/trusted-match/context-match-response.json +4 -4
  844. package/dist/lib/schemas-data/3.1/trusted-match/error.json +1 -1
  845. package/dist/lib/schemas-data/3.1/trusted-match/identity-match-request.json +4 -4
  846. package/dist/lib/schemas-data/3.1/trusted-match/identity-match-response.json +4 -4
  847. package/dist/lib/schemas-data/3.1/trusted-match/offer-price.json +1 -1
  848. package/dist/lib/schemas-data/3.1/trusted-match/offer.json +5 -5
  849. package/dist/lib/schemas-data/3.1/trusted-match/provider-identity-match-response.json +4 -4
  850. package/dist/lib/schemas-data/3.1/trusted-match/provider-registration.json +2 -2
  851. package/dist/lib/schemas-data/3.1/trusted-match/publisher-tmpx-config.json +1 -1
  852. package/dist/lib/schemas-data/3.1/trusted-match/tmpx-chunk.json +1 -1
  853. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  854. package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js.map +1 -1
  855. package/dist/lib/server/decisioning/runtime/entity-hydration.generated.mjs.map +1 -1
  856. package/dist/lib/server/wire-spec-fields.generated.d.mts +29 -29
  857. package/dist/lib/server/wire-spec-fields.generated.d.ts +29 -29
  858. package/dist/lib/server/wire-spec-fields.generated.js +29 -29
  859. package/dist/lib/server/wire-spec-fields.generated.js.map +1 -1
  860. package/dist/lib/server/wire-spec-fields.generated.mjs +29 -29
  861. package/dist/lib/server/wire-spec-fields.generated.mjs.map +1 -1
  862. package/dist/lib/testing/index.d.mts +1 -1
  863. package/dist/lib/testing/index.d.ts +1 -1
  864. package/dist/lib/testing/index.d.ts.map +1 -1
  865. package/dist/lib/testing/index.js +12 -0
  866. package/dist/lib/testing/index.js.map +1 -1
  867. package/dist/lib/testing/index.mjs +12 -0
  868. package/dist/lib/testing/index.mjs.map +1 -1
  869. package/dist/lib/testing/storyboard/canonical-format-satisfaction.d.mts +6 -0
  870. package/dist/lib/testing/storyboard/canonical-format-satisfaction.d.ts +6 -0
  871. package/dist/lib/testing/storyboard/canonical-format-satisfaction.d.ts.map +1 -1
  872. package/dist/lib/testing/storyboard/canonical-format-satisfaction.js +11 -0
  873. package/dist/lib/testing/storyboard/canonical-format-satisfaction.js.map +1 -1
  874. package/dist/lib/testing/storyboard/canonical-format-satisfaction.mjs +10 -0
  875. package/dist/lib/testing/storyboard/canonical-format-satisfaction.mjs.map +1 -1
  876. package/dist/lib/testing/storyboard/creative-assets.d.mts +5 -0
  877. package/dist/lib/testing/storyboard/creative-assets.d.ts +6 -0
  878. package/dist/lib/testing/storyboard/creative-assets.d.ts.map +1 -0
  879. package/dist/lib/testing/storyboard/creative-assets.js +180 -0
  880. package/dist/lib/testing/storyboard/creative-assets.js.map +1 -0
  881. package/dist/lib/testing/storyboard/creative-assets.mjs +154 -0
  882. package/dist/lib/testing/storyboard/creative-assets.mjs.map +1 -0
  883. package/dist/lib/testing/storyboard/fixture-resolution.d.mts +37 -0
  884. package/dist/lib/testing/storyboard/fixture-resolution.d.ts +38 -0
  885. package/dist/lib/testing/storyboard/fixture-resolution.d.ts.map +1 -0
  886. package/dist/lib/testing/storyboard/fixture-resolution.js +424 -0
  887. package/dist/lib/testing/storyboard/fixture-resolution.js.map +1 -0
  888. package/dist/lib/testing/storyboard/fixture-resolution.mjs +395 -0
  889. package/dist/lib/testing/storyboard/fixture-resolution.mjs.map +1 -0
  890. package/dist/lib/testing/storyboard/index.d.mts +2 -1
  891. package/dist/lib/testing/storyboard/index.d.ts +2 -1
  892. package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
  893. package/dist/lib/testing/storyboard/index.js +13 -0
  894. package/dist/lib/testing/storyboard/index.js.map +1 -1
  895. package/dist/lib/testing/storyboard/index.mjs +14 -0
  896. package/dist/lib/testing/storyboard/index.mjs.map +1 -1
  897. package/dist/lib/testing/storyboard/junit.js +14 -1
  898. package/dist/lib/testing/storyboard/junit.js.map +1 -1
  899. package/dist/lib/testing/storyboard/junit.mjs +14 -1
  900. package/dist/lib/testing/storyboard/junit.mjs.map +1 -1
  901. package/dist/lib/testing/storyboard/loader.d.ts.map +1 -1
  902. package/dist/lib/testing/storyboard/loader.js +2 -0
  903. package/dist/lib/testing/storyboard/loader.js.map +1 -1
  904. package/dist/lib/testing/storyboard/loader.mjs +2 -0
  905. package/dist/lib/testing/storyboard/loader.mjs.map +1 -1
  906. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  907. package/dist/lib/testing/storyboard/runner.js +170 -12
  908. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  909. package/dist/lib/testing/storyboard/runner.mjs +175 -13
  910. package/dist/lib/testing/storyboard/runner.mjs.map +1 -1
  911. package/dist/lib/testing/storyboard/seeding.d.mts +10 -3
  912. package/dist/lib/testing/storyboard/seeding.d.ts +10 -3
  913. package/dist/lib/testing/storyboard/seeding.d.ts.map +1 -1
  914. package/dist/lib/testing/storyboard/seeding.js +550 -2
  915. package/dist/lib/testing/storyboard/seeding.js.map +1 -1
  916. package/dist/lib/testing/storyboard/seeding.mjs +555 -2
  917. package/dist/lib/testing/storyboard/seeding.mjs.map +1 -1
  918. package/dist/lib/testing/storyboard/types.d.mts +106 -0
  919. package/dist/lib/testing/storyboard/types.d.ts +106 -0
  920. package/dist/lib/testing/storyboard/types.d.ts.map +1 -1
  921. package/dist/lib/testing/storyboard/types.js +1 -0
  922. package/dist/lib/testing/storyboard/types.js.map +1 -1
  923. package/dist/lib/testing/storyboard/types.mjs +1 -0
  924. package/dist/lib/testing/storyboard/types.mjs.map +1 -1
  925. package/dist/lib/testing/stubs/governance-agent-stub.d.ts.map +1 -1
  926. package/dist/lib/testing/stubs/governance-agent-stub.js +4 -1
  927. package/dist/lib/testing/stubs/governance-agent-stub.js.map +1 -1
  928. package/dist/lib/testing/stubs/governance-agent-stub.mjs +4 -1
  929. package/dist/lib/testing/stubs/governance-agent-stub.mjs.map +1 -1
  930. package/dist/lib/types/core.generated.d.mts +3 -1
  931. package/dist/lib/types/core.generated.d.ts +3 -1
  932. package/dist/lib/types/core.generated.d.ts.map +1 -1
  933. package/dist/lib/types/core.generated.js.map +1 -1
  934. package/dist/lib/types/inline-enums.generated.d.mts +2 -0
  935. package/dist/lib/types/inline-enums.generated.d.ts +2 -0
  936. package/dist/lib/types/inline-enums.generated.d.ts.map +1 -1
  937. package/dist/lib/types/inline-enums.generated.js +3 -0
  938. package/dist/lib/types/inline-enums.generated.js.map +1 -1
  939. package/dist/lib/types/inline-enums.generated.mjs +2 -0
  940. package/dist/lib/types/inline-enums.generated.mjs.map +1 -1
  941. package/dist/lib/types/manifest.generated.d.mts +3 -3
  942. package/dist/lib/types/manifest.generated.d.ts +3 -3
  943. package/dist/lib/types/manifest.generated.js.map +1 -1
  944. package/dist/lib/types/manifest.generated.mjs.map +1 -1
  945. package/dist/lib/types/per-tool-index.json +1 -1
  946. package/dist/lib/validation/schema-loader.d.mts +16 -0
  947. package/dist/lib/validation/schema-loader.d.ts +16 -0
  948. package/dist/lib/validation/schema-loader.d.ts.map +1 -1
  949. package/dist/lib/validation/schema-loader.js +116 -0
  950. package/dist/lib/validation/schema-loader.js.map +1 -1
  951. package/dist/lib/validation/schema-loader.mjs +115 -0
  952. package/dist/lib/validation/schema-loader.mjs.map +1 -1
  953. package/dist/lib/version.d.mts +7 -7
  954. package/dist/lib/version.d.ts +7 -7
  955. package/dist/lib/version.d.ts.map +1 -1
  956. package/dist/lib/version.js +7 -6
  957. package/dist/lib/version.js.map +1 -1
  958. package/dist/lib/version.mjs +7 -6
  959. package/dist/lib/version.mjs.map +1 -1
  960. package/docs/llms.txt +3 -3
  961. package/package.json +2 -2
  962. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/brand/index.yaml +0 -0
  963. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  964. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
  965. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/index.yaml +0 -0
  966. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
  967. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
  968. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  969. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/scenarios/evaluator_auth.yaml +0 -0
  970. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/creative/scenarios/native_in_feed.yaml +0 -0
  971. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/governance/index.yaml +0 -0
  972. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/index.yaml +0 -0
  973. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  974. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/available_actions.yaml +0 -0
  975. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  976. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
  977. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  978. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  979. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  980. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
  981. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
  982. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
  983. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
  984. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  985. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  986. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  987. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
  988. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
  989. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
  990. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
  991. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  992. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  993. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
  994. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
  995. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
  996. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
  997. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  998. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  999. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1000. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  1001. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  1002. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  1003. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  1004. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  1005. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1006. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  1007. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  1008. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  1009. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  1010. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  1011. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  1012. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  1013. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/refine_products.yaml +0 -0
  1014. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  1015. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  1016. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  1017. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/media-buy/state-machine.yaml +0 -0
  1018. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/signals/index.yaml +0 -0
  1019. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/signals/scenarios/get_signals_async.yaml +0 -0
  1020. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/sponsored-intelligence/index.yaml +0 -0
  1021. /package/compliance/cache/{3.1.10 → 3.1.11}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  1022. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/brand/index.yaml +0 -0
  1023. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  1024. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
  1025. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/index.yaml +0 -0
  1026. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
  1027. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
  1028. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  1029. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/scenarios/evaluator_auth.yaml +0 -0
  1030. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
  1031. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/governance/index.yaml +0 -0
  1032. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/index.yaml +0 -0
  1033. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  1034. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
  1035. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  1036. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
  1037. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  1038. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  1039. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  1040. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
  1041. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
  1042. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
  1043. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
  1044. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  1045. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  1046. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  1047. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
  1048. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
  1049. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
  1050. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
  1051. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  1052. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  1053. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
  1054. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
  1055. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
  1056. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
  1057. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  1058. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  1059. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1060. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  1061. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  1062. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  1063. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  1064. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  1065. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1066. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  1067. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  1068. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  1069. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  1070. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  1071. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  1072. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  1073. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
  1074. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  1075. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  1076. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  1077. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/media-buy/state-machine.yaml +0 -0
  1078. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/signals/index.yaml +0 -0
  1079. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
  1080. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/sponsored-intelligence/index.yaml +0 -0
  1081. /package/compliance/cache/{3.1.10 → 3.1.11}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  1082. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/audience-sync/index.yaml +0 -0
  1083. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/brand-rights/index.yaml +0 -0
  1084. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
  1085. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/collection-lists/index.yaml +0 -0
  1086. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/content-standards/index.yaml +0 -0
  1087. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/creative-ad-server/index.yaml +0 -0
  1088. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/creative-generative/generative-seller.yaml +0 -0
  1089. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/creative-generative/index.yaml +0 -0
  1090. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/creative-template/index.yaml +0 -0
  1091. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/creative-transformers/index.yaml +0 -0
  1092. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/governance-aware-seller/index.yaml +0 -0
  1093. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
  1094. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/governance-delivery-monitor/index.yaml +0 -0
  1095. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/governance-spend-authority/denied.yaml +0 -0
  1096. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/governance-spend-authority/index.yaml +0 -0
  1097. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/property-lists/index.yaml +0 -0
  1098. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-broadcast-tv/index.yaml +0 -0
  1099. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-catalog-driven/index.yaml +0 -0
  1100. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-guaranteed/index.yaml +0 -0
  1101. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-non-guaranteed/index.yaml +0 -0
  1102. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-proposal-mode/index.yaml +0 -0
  1103. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sales-social/index.yaml +0 -0
  1104. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/signal-marketplace/index.yaml +0 -0
  1105. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
  1106. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/signal-owned/index.yaml +0 -0
  1107. /package/compliance/cache/{3.1.10 → 3.1.11}/specialisms/sponsored-intelligence/index.yaml +0 -0
  1108. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/acme-outdoor-live.yaml +0 -0
  1109. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/acme-outdoor.yaml +0 -0
  1110. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/billing-gate-runner.yaml +0 -0
  1111. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/bistro-oranje.yaml +0 -0
  1112. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/distributed-brand-runner.yaml +0 -0
  1113. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/nova-motors.yaml +0 -0
  1114. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/osei-natural.yaml +0 -0
  1115. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/parallel-dispatch-runner.yaml +0 -0
  1116. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/rate-limit-trip-runner.yaml +0 -0
  1117. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/signed-requests-runner.yaml +0 -0
  1118. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/single-side-trust-runner.yaml +0 -0
  1119. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/substitution-observer-runner.yaml +0 -0
  1120. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/summit-foods.yaml +0 -0
  1121. /package/compliance/cache/{3.1.10 → 3.1.11}/test-kits/webhook-receiver-runner.yaml +0 -0
  1122. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/catalog-macro-substitution.json +0 -0
  1123. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
  1124. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/002-full-plan.json +0 -0
  1125. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
  1126. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
  1127. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
  1128. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
  1129. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
  1130. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
  1131. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
  1132. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
  1133. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
  1134. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/README.md +0 -0
  1135. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/canonicalization.json +0 -0
  1136. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/keys.json +0 -0
  1137. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
  1138. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
  1139. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
  1140. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
  1141. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
  1142. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
  1143. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
  1144. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
  1145. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
  1146. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
  1147. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
  1148. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
  1149. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
  1150. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
  1151. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
  1152. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
  1153. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
  1154. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
  1155. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
  1156. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
  1157. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
  1158. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
  1159. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
  1160. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
  1161. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
  1162. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
  1163. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
  1164. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
  1165. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
  1166. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
  1167. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
  1168. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
  1169. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
  1170. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
  1171. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
  1172. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
  1173. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
  1174. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
  1175. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
  1176. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
  1177. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-receiver-envelope.json +0 -0
  1178. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/README.md +0 -0
  1179. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/keys.json +0 -0
  1180. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
  1181. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
  1182. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
  1183. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
  1184. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
  1185. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
  1186. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
  1187. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
  1188. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
  1189. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
  1190. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
  1191. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
  1192. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
  1193. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
  1194. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
  1195. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
  1196. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
  1197. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
  1198. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
  1199. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
  1200. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
  1201. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
  1202. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
  1203. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
  1204. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
  1205. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
  1206. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
  1207. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
  1208. /package/compliance/cache/{3.1.10 → 3.1.11}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
  1209. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/billing-gate-dispatch.yaml +0 -0
  1210. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/canonical-format-validate-input.yaml +0 -0
  1211. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/capability-discovery.yaml +0 -0
  1212. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/collection-lists-pagination-integrity.yaml +0 -0
  1213. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/comply-controller-mode-gate.yaml +0 -0
  1214. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/content-standards-pagination-integrity.yaml +0 -0
  1215. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/deterministic-testing.yaml +0 -0
  1216. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/error-compliance-signals.yaml +0 -0
  1217. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/error-compliance.yaml +0 -0
  1218. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/fictional-entities.yaml +0 -0
  1219. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/get-media-buys-pagination-integrity.yaml +0 -0
  1220. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/get-products-pagination-integrity.yaml +0 -0
  1221. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/get-signals-pagination-integrity.yaml +0 -0
  1222. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/idempotency.yaml +0 -0
  1223. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/notification-config-event-scope.yaml +0 -0
  1224. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/notification-config-lifecycle.yaml +0 -0
  1225. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/notification-config-rejections.yaml +0 -0
  1226. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/pagination-integrity-creative-formats.yaml +0 -0
  1227. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/pagination-integrity-list-accounts.yaml +0 -0
  1228. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/pagination-integrity.yaml +0 -0
  1229. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/property-lists-pagination-integrity.yaml +0 -0
  1230. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/read-tool-idempotency.yaml +0 -0
  1231. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/runner-output-contract.yaml +0 -0
  1232. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/schema-validation-signals.yaml +0 -0
  1233. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/schema-validation.yaml +0 -0
  1234. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/security.yaml +0 -0
  1235. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/signed-requests.yaml +0 -0
  1236. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/stale-response-advisory.yaml +0 -0
  1237. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/v3-envelope-integrity.yaml +0 -0
  1238. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/version-negotiation.yaml +0 -0
  1239. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/webhook-emission.yaml +0 -0
  1240. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/webhook-receiver-envelope.yaml +0 -0
  1241. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
  1242. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/wholesale-feed-product-webhooks.yaml +0 -0
  1243. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/wholesale-feed-products.yaml +0 -0
  1244. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
  1245. /package/compliance/cache/{3.1.10 → 3.1.11}/universal/wholesale-feed-signals.yaml +0 -0
  1246. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/brand/index.yaml +0 -0
  1247. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  1248. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
  1249. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/index.yaml +0 -0
  1250. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
  1251. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
  1252. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  1253. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/scenarios/evaluator_auth.yaml +0 -0
  1254. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/creative/scenarios/native_in_feed.yaml +0 -0
  1255. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/governance/index.yaml +0 -0
  1256. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/index.yaml +0 -0
  1257. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  1258. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/available_actions.yaml +0 -0
  1259. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  1260. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
  1261. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  1262. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  1263. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  1264. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
  1265. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
  1266. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
  1267. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
  1268. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  1269. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  1270. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  1271. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
  1272. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
  1273. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
  1274. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
  1275. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  1276. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  1277. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
  1278. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
  1279. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
  1280. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
  1281. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  1282. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  1283. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1284. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  1285. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  1286. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  1287. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  1288. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  1289. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1290. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  1291. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  1292. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  1293. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  1294. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  1295. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  1296. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  1297. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/refine_products.yaml +0 -0
  1298. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  1299. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  1300. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  1301. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/media-buy/state-machine.yaml +0 -0
  1302. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/signals/index.yaml +0 -0
  1303. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/signals/scenarios/get_signals_async.yaml +0 -0
  1304. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/sponsored-intelligence/index.yaml +0 -0
  1305. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  1306. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/brand/index.yaml +0 -0
  1307. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  1308. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
  1309. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/index.yaml +0 -0
  1310. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
  1311. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
  1312. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  1313. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/scenarios/evaluator_auth.yaml +0 -0
  1314. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
  1315. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/governance/index.yaml +0 -0
  1316. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/index.yaml +0 -0
  1317. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  1318. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
  1319. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  1320. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
  1321. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  1322. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  1323. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  1324. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
  1325. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
  1326. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
  1327. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/dependency_impairment_audience.yaml +0 -0
  1328. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  1329. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  1330. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  1331. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
  1332. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
  1333. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
  1334. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
  1335. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  1336. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  1337. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
  1338. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
  1339. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
  1340. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
  1341. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  1342. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  1343. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1344. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  1345. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  1346. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  1347. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  1348. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  1349. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1350. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  1351. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  1352. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  1353. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  1354. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  1355. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  1356. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  1357. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
  1358. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  1359. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  1360. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  1361. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/media-buy/state-machine.yaml +0 -0
  1362. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/signals/index.yaml +0 -0
  1363. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
  1364. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/sponsored-intelligence/index.yaml +0 -0
  1365. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  1366. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/audience-sync/index.yaml +0 -0
  1367. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/brand-rights/index.yaml +0 -0
  1368. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
  1369. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/collection-lists/index.yaml +0 -0
  1370. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/content-standards/index.yaml +0 -0
  1371. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/creative-ad-server/index.yaml +0 -0
  1372. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/creative-generative/generative-seller.yaml +0 -0
  1373. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/creative-generative/index.yaml +0 -0
  1374. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/creative-template/index.yaml +0 -0
  1375. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/creative-transformers/index.yaml +0 -0
  1376. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/governance-aware-seller/index.yaml +0 -0
  1377. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
  1378. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/governance-delivery-monitor/index.yaml +0 -0
  1379. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/governance-spend-authority/denied.yaml +0 -0
  1380. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/governance-spend-authority/index.yaml +0 -0
  1381. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/property-lists/index.yaml +0 -0
  1382. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-broadcast-tv/index.yaml +0 -0
  1383. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-catalog-driven/index.yaml +0 -0
  1384. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-guaranteed/index.yaml +0 -0
  1385. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-non-guaranteed/index.yaml +0 -0
  1386. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-proposal-mode/index.yaml +0 -0
  1387. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sales-social/index.yaml +0 -0
  1388. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/signal-marketplace/index.yaml +0 -0
  1389. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
  1390. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/signal-owned/index.yaml +0 -0
  1391. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/specialisms/sponsored-intelligence/index.yaml +0 -0
  1392. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/acme-outdoor-live.yaml +0 -0
  1393. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/acme-outdoor.yaml +0 -0
  1394. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/billing-gate-runner.yaml +0 -0
  1395. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/bistro-oranje.yaml +0 -0
  1396. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/distributed-brand-runner.yaml +0 -0
  1397. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/nova-motors.yaml +0 -0
  1398. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/osei-natural.yaml +0 -0
  1399. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/parallel-dispatch-runner.yaml +0 -0
  1400. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/rate-limit-trip-runner.yaml +0 -0
  1401. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/signed-requests-runner.yaml +0 -0
  1402. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/single-side-trust-runner.yaml +0 -0
  1403. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/substitution-observer-runner.yaml +0 -0
  1404. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/summit-foods.yaml +0 -0
  1405. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-kits/webhook-receiver-runner.yaml +0 -0
  1406. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/catalog-macro-substitution.json +0 -0
  1407. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
  1408. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/002-full-plan.json +0 -0
  1409. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
  1410. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
  1411. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
  1412. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
  1413. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
  1414. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
  1415. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
  1416. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
  1417. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
  1418. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/README.md +0 -0
  1419. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/canonicalization.json +0 -0
  1420. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/keys.json +0 -0
  1421. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
  1422. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
  1423. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
  1424. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
  1425. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
  1426. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
  1427. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
  1428. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
  1429. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
  1430. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
  1431. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
  1432. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
  1433. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
  1434. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
  1435. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
  1436. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
  1437. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
  1438. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
  1439. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
  1440. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
  1441. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
  1442. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
  1443. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
  1444. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
  1445. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
  1446. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
  1447. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
  1448. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
  1449. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
  1450. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
  1451. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
  1452. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
  1453. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
  1454. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
  1455. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
  1456. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
  1457. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
  1458. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
  1459. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
  1460. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
  1461. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-receiver-envelope.json +0 -0
  1462. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/README.md +0 -0
  1463. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/keys.json +0 -0
  1464. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
  1465. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
  1466. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
  1467. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
  1468. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
  1469. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
  1470. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
  1471. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
  1472. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
  1473. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
  1474. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
  1475. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
  1476. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
  1477. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
  1478. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
  1479. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
  1480. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
  1481. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
  1482. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
  1483. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
  1484. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
  1485. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
  1486. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
  1487. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
  1488. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
  1489. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
  1490. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
  1491. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
  1492. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
  1493. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/billing-gate-dispatch.yaml +0 -0
  1494. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/canonical-format-validate-input.yaml +0 -0
  1495. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/capability-discovery.yaml +0 -0
  1496. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/collection-lists-pagination-integrity.yaml +0 -0
  1497. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/comply-controller-mode-gate.yaml +0 -0
  1498. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/content-standards-pagination-integrity.yaml +0 -0
  1499. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/deterministic-testing.yaml +0 -0
  1500. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/error-compliance-signals.yaml +0 -0
  1501. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/error-compliance.yaml +0 -0
  1502. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/fictional-entities.yaml +0 -0
  1503. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/get-media-buys-pagination-integrity.yaml +0 -0
  1504. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/get-products-pagination-integrity.yaml +0 -0
  1505. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/get-signals-pagination-integrity.yaml +0 -0
  1506. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/idempotency.yaml +0 -0
  1507. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/notification-config-event-scope.yaml +0 -0
  1508. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/notification-config-lifecycle.yaml +0 -0
  1509. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/notification-config-rejections.yaml +0 -0
  1510. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/pagination-integrity-creative-formats.yaml +0 -0
  1511. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/pagination-integrity-list-accounts.yaml +0 -0
  1512. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/pagination-integrity.yaml +0 -0
  1513. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/property-lists-pagination-integrity.yaml +0 -0
  1514. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/read-tool-idempotency.yaml +0 -0
  1515. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/runner-output-contract.yaml +0 -0
  1516. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/schema-validation-signals.yaml +0 -0
  1517. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/schema-validation.yaml +0 -0
  1518. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/security.yaml +0 -0
  1519. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/signed-requests.yaml +0 -0
  1520. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/stale-response-advisory.yaml +0 -0
  1521. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/v3-envelope-integrity.yaml +0 -0
  1522. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/version-negotiation.yaml +0 -0
  1523. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/webhook-emission.yaml +0 -0
  1524. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/webhook-receiver-envelope.yaml +0 -0
  1525. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
  1526. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/wholesale-feed-product-webhooks.yaml +0 -0
  1527. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/wholesale-feed-products.yaml +0 -0
  1528. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
  1529. /package/compliance/cache/{3.1.10.previous → 3.1.11.previous}/universal/wholesale-feed-signals.yaml +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/testing/storyboard/loader.ts"],"sourcesContent":["/**\n * Storyboard YAML parser.\n *\n * Storyboards are pulled from the compliance cache populated by\n * `npm run sync-schemas`. See `./compliance.ts` for capability-driven\n * resolution and bundle loading.\n */\n\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport type { Storyboard } from './types';\nimport { MUTATING_TASKS } from '../../utils/idempotency';\n\n/**\n * Supported `branch_set.semantics` values. Extend when AdCP adds `all_of`,\n * `at_least_n`, etc. Exported so the runner can enforce the same whitelist\n * on programmatically-constructed storyboards that bypass the YAML parser.\n */\nexport const BRANCH_SET_SEMANTICS = ['any_of'] as const;\n\nconst IDENTIFIER_PATH_SEGMENT = String.raw`[A-Za-z_][A-Za-z0-9_-]*(?:\\[\\*\\])*`;\nconst IDENTIFIER_PATH_PATTERN = new RegExp(`^${IDENTIFIER_PATH_SEGMENT}(?:\\\\.${IDENTIFIER_PATH_SEGMENT})*$`);\n\n/** Parse a YAML string into a Storyboard. Throws if required fields are missing. */\nexport function parseStoryboard(yamlContent: string): Storyboard {\n const parsed = parse(yamlContent) as Storyboard;\n if (!parsed?.id || !parsed?.phases) {\n throw new Error('Invalid storyboard YAML: missing required fields (id, phases)');\n }\n for (const phase of parsed.phases) {\n // Specialism YAMLs may declare a phase with no `steps:` — the steps are\n // synthesized at runtime from fixtures (see request-signing/synthesize.ts).\n // Treat missing steps as an empty list so the parser stays phase-agnostic.\n if (!phase.steps) phase.steps = [];\n // YAML uses `name:` for context outputs but our runtime expects `key:`.\n for (const step of phase.steps) {\n if (!step.context_outputs) continue;\n for (const output of step.context_outputs) {\n const raw = output as unknown as Record<string, unknown>;\n if (raw.name && !raw.key) {\n output.key = raw.name as string;\n }\n }\n }\n }\n validateStoryboardShape(parsed);\n return parsed;\n}\n\n/** Load and parse a single storyboard file. Useful for ad-hoc testing of in-development YAMLs. */\nexport function loadStoryboardFile(filePath: string): Storyboard {\n return parseStoryboard(readFileSync(filePath, 'utf-8'));\n}\n\n/**\n * Enforce authoring-time invariants on a Storyboard. Called by\n * `parseStoryboard`, and should also be called by any runner entry point\n * that accepts a programmatically-built `Storyboard` object so the same\n * loud-fail-on-drift guarantee holds regardless of how the storyboard was\n * constructed. Mutates only legacy shorthand fields (resolves\n * `contributes: true` to `contributes_to`) and is idempotent on\n * already-validated inputs.\n */\nexport function validateStoryboardShape(storyboard: Storyboard): void {\n validateRequires(storyboard);\n validateRequiredAnyOfTools(storyboard);\n validatePhaseDependsOn(storyboard);\n for (const phase of storyboard.phases) {\n validateBranchSet(storyboard.id, phase);\n if (!phase.steps) continue;\n for (const step of phase.steps) {\n resolveContributesShorthand(storyboard.id, phase, step);\n validateFixtureForMutatingStep(storyboard.id, phase, step);\n validateOmitFlagCoherence(storyboard.id, phase, step);\n validateContextOutputs(storyboard.id, phase, step);\n validateUpstreamAttestationMode(storyboard.id, phase, step);\n validateUpstreamIdentifierPaths(storyboard.id, phase, step);\n validatePeerSubstitutesFor(storyboard.id, phase, step);\n }\n }\n}\n\nfunction validateUpstreamAttestationMode(\n storyboardId: string,\n phase: { id?: string },\n step: { id?: string; validations?: any[] }\n): void {\n const validations = step.validations ?? [];\n for (let validationIndex = 0; validationIndex < validations.length; validationIndex++) {\n const validation = validations[validationIndex];\n if (validation?.check !== 'upstream_traffic') continue;\n const mode = validation.preferred_attestation_mode;\n if (mode !== undefined && mode !== 'raw' && mode !== 'digest') {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].preferred_attestation_mode: must be \"raw\" or \"digest\"`\n );\n }\n }\n}\n\nfunction validateUpstreamIdentifierPaths(\n storyboardId: string,\n phase: { id?: string },\n step: { id?: string; validations?: any[] }\n): void {\n const validations = step.validations ?? [];\n for (let validationIndex = 0; validationIndex < validations.length; validationIndex++) {\n const validation = validations[validationIndex];\n if (validation?.check !== 'upstream_traffic' || validation.identifier_paths === undefined) continue;\n if (!Array.isArray(validation.identifier_paths)) {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${\n step.id ?? '?'\n }.validations[${validationIndex}].identifier_paths: must be an array of request-payload paths`\n );\n }\n for (let pathIndex = 0; pathIndex < validation.identifier_paths.length; pathIndex++) {\n const path = validation.identifier_paths[pathIndex];\n if (typeof path !== 'string' || path.length === 0) {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].identifier_paths[${pathIndex}]: must be a non-empty string`\n );\n }\n const pathErrorPrefix = `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].identifier_paths[${pathIndex}]`;\n let firstSegment: string;\n try {\n const validated = validateIdentifierPathSyntax(path);\n firstSegment = validated.firstSegment;\n } catch {\n throw new Error(\n `${pathErrorPrefix}: \"${path}\" is unsupported; identifier_paths resolve only against the request payload or sample_request using dotted paths with [*] array selectors`\n );\n }\n const root = firstSegment.toLowerCase();\n if (root === 'request' || root === 'response' || root === 'context') {\n throw new Error(\n `${pathErrorPrefix}: \"${path}\" is unsupported; identifier_paths resolve only against the request payload or sample_request`\n );\n }\n }\n }\n}\n\nfunction validateIdentifierPathSyntax(path: string): { normalized: string; firstSegment: string } {\n const trimmed = path.trim();\n const normalized = trimmed.startsWith('$.') ? trimmed.slice(2) : trimmed;\n if (!IDENTIFIER_PATH_PATTERN.test(normalized)) {\n throw new Error('unsupported identifier path syntax');\n }\n return { normalized, firstSegment: normalized.split(/[.[\\]]/, 1)[0] ?? '' };\n}\n\nfunction validateRequiredAnyOfTools(storyboard: Storyboard): void {\n if (storyboard.required_any_of_tools === undefined) return;\n if (!Array.isArray(storyboard.required_any_of_tools)) {\n throw new Error(`[${storyboard.id}] required_any_of_tools: must be an array of tool-family objects`);\n }\n if (storyboard.required_any_of_tools.length === 0) {\n throw new Error(`[${storyboard.id}] required_any_of_tools: [] is not allowed — omit the field to use no gate`);\n }\n for (let i = 0; i < storyboard.required_any_of_tools.length; i++) {\n const family = storyboard.required_any_of_tools[i] as unknown;\n if (family === null || typeof family !== 'object' || Array.isArray(family)) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}]: must be an object`);\n }\n const { tools, rationale } = family as { tools?: unknown; rationale?: unknown };\n if (!Array.isArray(tools) || tools.length < 2) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].tools: must list at least two tool names`);\n }\n for (const tool of tools) {\n if (typeof tool !== 'string' || tool.length === 0) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].tools: entries must be non-empty strings`);\n }\n }\n if (rationale !== undefined && typeof rationale !== 'string') {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].rationale: must be a string`);\n }\n }\n}\n\n/**\n * Authoring-time validation for `phase.depends_on` (#1161). Each entry\n * must reference a phase declared earlier in the storyboard. Forward\n * references and self-references fail loud at parse time so authoring\n * mistakes (typos, reorderings) don't degrade silently into \"phase\n * always runs\" / \"phase always cascades.\"\n *\n * Rules:\n * - Empty list (`depends_on: []`) is legal — it declares an\n * independent phase. No further validation needed.\n * - Each non-empty entry must be a non-empty string.\n * - Each entry must reference a phase that appears EARLIER in the\n * `storyboard.phases[]` array (forward references are rejected).\n * - A phase cannot depend on itself.\n */\nfunction validatePhaseDependsOn(storyboard: Storyboard): void {\n const phaseIdsSeen = new Set<string>();\n for (const phase of storyboard.phases) {\n if (phase.depends_on !== undefined) {\n if (!Array.isArray(phase.depends_on)) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on must be an array of phase ids`);\n }\n for (const dep of phase.depends_on) {\n if (typeof dep !== 'string' || dep.length === 0) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on entries must be non-empty strings`);\n }\n if (dep === phase.id) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on cannot reference itself`);\n }\n if (!phaseIdsSeen.has(dep)) {\n throw new Error(\n `[${storyboard.id}] phase '${phase.id}': depends_on '${dep}' is not a phase declared earlier in this storyboard (forward and unknown references are rejected)`\n );\n }\n }\n }\n phaseIdsSeen.add(phase.id);\n }\n}\n\n/**\n * Authoring-time validation for `Storyboard.requires` (#1626). The field is\n * an array of non-empty requirement names:\n *\n * - `requires: []` is rejected — an empty array reads as \"no\n * requirements,\" which is the same as omitting the field; failing\n * load forces the author to omit it explicitly.\n * - Each entry must be a non-empty string.\n *\n * Unknown string values are allowed for forward compatibility. Runners that\n * don't know how to satisfy a future requirement skip at runtime with\n * `skip_reason: 'requirement_unmet'` and the authored value in\n * `skip.requirement`.\n */\nfunction validateRequires(storyboard: Storyboard): void {\n if (storyboard.requires === undefined) return;\n if (!Array.isArray(storyboard.requires)) {\n throw new Error(\n `[${storyboard.id}] requires: must be an array of requirement names (got ${typeof storyboard.requires})`\n );\n }\n if (storyboard.requires.length === 0) {\n throw new Error(`[${storyboard.id}] requires: [] is not allowed — omit the field to use the default ([real_wire])`);\n }\n for (let i = 0; i < storyboard.requires.length; i++) {\n const name = storyboard.requires[i];\n if (typeof name !== 'string' || name.length === 0) {\n throw new Error(`[${storyboard.id}] requires[${i}]: entries must be non-empty strings`);\n }\n }\n}\n\n/**\n * Issue #820: mutating tasks (per {@link MUTATING_TASKS}) must have a\n * `sample_request` authored. The fixture is authoritative at run time —\n * there's no sane default payload for a write, and silently fabricating\n * one was the bug factory that produced #780 / #792 / #793 / #802 / #805.\n *\n * Error messages point at the task name, the step id, the storyboard, and\n * suggest the concrete author action.\n *\n * Opt-out: steps with `expect_error: true` that deliberately exercise\n * missing-fixture / malformed-payload seller behavior skip this check —\n * the author is signaling the payload is the test condition.\n *\n * Synthesized phases (`request-signing/synthesize.ts`, controller seeding)\n * start with `phase.steps = []` in YAML and the loader doesn't see the\n * runtime-generated steps, so those paths are not affected.\n */\nfunction validateFixtureForMutatingStep(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (!MUTATING_TASKS.has(step.task)) return;\n if (step.sample_request !== undefined) return;\n if (step.expect_error === true) return;\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}' (task=${step.task}): ` +\n `mutating tasks require a sample_request fixture — the runner no longer fabricates ` +\n `write payloads. Author sample_request in the step or, for intentionally malformed ` +\n `payloads, set expect_error: true.`\n );\n}\n\n/**\n * `omit_account: true` must be paired with `expect_error: true`.\n *\n * An accountless `create_media_buy` will always be rejected by a spec-compliant\n * seller; a step that sets `omit_account` without `expect_error` will be graded\n * as a failure (not a controlled negative test), producing a misleading\n * compliance result. Fail loud at parse time so the author sees the problem\n * during storyboard load, not at run time.\n */\nfunction validateOmitFlagCoherence(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (step.omit_account && step.expect_error !== true) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ` +\n `omit_account: true requires expect_error: true — an accountless ` +\n `create_media_buy will always be rejected by a spec-compliant seller.`\n );\n }\n}\n\n/**\n * Each `context_outputs` entry must declare exactly one source: either\n * `path` (extract from response) or `generate` (mint at run time). An entry\n * with neither is a silent no-op; one with both would silently pick `generate`\n * and ignore `path`. Both are authoring foot-guns that should fail loud.\n */\nfunction validateContextOutputs(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (!step.context_outputs?.length) return;\n for (const output of step.context_outputs) {\n const hasPath = output.path !== undefined;\n const hasGenerate = output.generate !== undefined;\n if (!hasPath && !hasGenerate) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' must set exactly one of 'path' or 'generate'.`\n );\n }\n if (hasPath && hasGenerate) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' sets both 'path' and 'generate' — they are mutually exclusive.`\n );\n }\n // Validate generator name. The runtime resolver also checks but the loader\n // catches typos at storyboard-load time so authors see the failure on\n // build, not on the first run.\n if (hasGenerate && output.generate !== 'uuid_v4' && output.generate !== 'opaque_id') {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' has unknown generate value '${output.generate}'. ` +\n `Supported: 'uuid_v4', 'opaque_id'.`\n );\n }\n }\n}\n\n/**\n * Authoring-time validation for `provides_state_for` (the AdCP 3.0.3 spec\n * field — adcp#3734) and the legacy `peer_substitutes_for` synonym. The\n * runner treats the field as same-phase-only and substitution-only-when-\n * stateful; surface those constraints at parse time so storyboard authors\n * see typos and cross-phase references on build, not as a silent no-rescue\n * at run time.\n *\n * Both field names parse to the same canonical normalized form on the step\n * object (the spec name `provides_state_for` is preferred when both are\n * declared). The deprecation alias is documented in `types.ts`.\n *\n * Rules:\n * - Each target must reference a step that exists in the same phase.\n * - A step cannot substitute for itself.\n * - The substitute step itself must be `stateful: true` — non-stateful\n * passes don't establish state per the cascade contract.\n * - The target step must be `stateful: true` — non-stateful targets\n * don't participate in cascade gating, so a substitution declaration\n * would be a no-op.\n * - When both fields are declared on the same step, they must match\n * element-for-element (the deprecation contract is \"synonym for\", not\n * \"additive with\").\n */\nfunction validatePeerSubstitutesFor(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n const newField = step.provides_state_for;\n const legacyField = step.peer_substitutes_for;\n if (newField === undefined && legacyField === undefined) return;\n\n if (newField !== undefined && legacyField !== undefined) {\n // Order-sensitive equality: `[A, B]` vs `[B, A]` would throw despite being\n // semantically equivalent. Authors mid-migration should write the same list\n // in both fields; the deprecation alias is a literal synonym, not a\n // same-set restatement.\n const a = JSON.stringify(Array.isArray(newField) ? newField : [newField]);\n const b = JSON.stringify(Array.isArray(legacyField) ? legacyField : [legacyField]);\n if (a !== b) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': both provides_state_for and ` +\n `peer_substitutes_for declared with different values — pick one (provides_state_for is the ` +\n `spec field; peer_substitutes_for is a deprecated synonym)`\n );\n }\n }\n\n // Normalize onto provides_state_for so the runner can read a single field.\n // peer_substitutes_for stays for back-compat with any consumer code that\n // already reads it.\n if (newField === undefined && legacyField !== undefined) {\n step.provides_state_for = legacyField;\n } else if (newField !== undefined && legacyField === undefined) {\n step.peer_substitutes_for = newField;\n }\n\n const sourceFieldName = newField !== undefined ? 'provides_state_for' : 'peer_substitutes_for';\n const declared = step.provides_state_for!;\n const targets = Array.isArray(declared) ? declared : [declared];\n if (!step.stateful) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} is only legal on stateful steps`\n );\n }\n const phaseStepIds = new Map(phase.steps.map(s => [s.id, s]));\n for (const target of targets) {\n if (typeof target !== 'string' || target.length === 0) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} entries must be non-empty strings`\n );\n }\n if (target === step.id) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} cannot reference itself`\n );\n }\n const targetStep = phaseStepIds.get(target);\n if (!targetStep) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} target '${target}' is not a step in this phase (same-phase only)`\n );\n }\n if (!targetStep.stateful) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} target '${target}' must be stateful`\n );\n }\n }\n}\n\nfunction validateBranchSet(storyboardId: string, phase: Storyboard['phases'][number]): void {\n if (phase.branch_set === undefined) return;\n const bs = phase.branch_set as unknown;\n if (!bs || typeof bs !== 'object') {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set must be an object with { id, semantics }`);\n }\n const { id, semantics } = bs as Record<string, unknown>;\n if (typeof id !== 'string' || id.length === 0) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set.id must be a non-empty string`);\n }\n if (typeof semantics !== 'string' || semantics.length === 0) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set.semantics must be a non-empty string`);\n }\n // Only `any_of` is defined in AdCP today (adcp#2646 lint rule 2 —\n // `at_least_n` and `all_of` are reserved but not defined). Reject unknown\n // values at parse rather than silently skipping grading at runtime, so\n // spec-drift typos fail loud instead of degrading to raw `failed` peers.\n if (!(BRANCH_SET_SEMANTICS as readonly string[]).includes(semantics)) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}': branch_set.semantics='${semantics}' is not supported (valid: ${BRANCH_SET_SEMANTICS.join(', ')})`\n );\n }\n // Schema constraint: every phase in a branch set MUST be optional. A\n // non-optional branch-set phase would fail the storyboard on any step\n // failure regardless of peer contribution, defeating the any_of gate.\n if (phase.optional !== true) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': phases declaring branch_set must set 'optional: true'`);\n }\n}\n\n/**\n * Resolve the `contributes: true` boolean shorthand introduced alongside the\n * first-class `branch_set:` phase field (adcp-client#693, adcp#2646).\n *\n * Rules:\n * - `contributes: true` is legal only inside a phase that declares `branch_set:`.\n * - A step MUST NOT set both `contributes` and `contributes_to` (ambiguous).\n * - A string `contributes_to` inside a branch_set phase MUST equal `branch_set.id`\n * (otherwise the aggregation target drifts — same invariant the spec lint enforces).\n *\n * After resolution, `step.contributes_to` carries the flag name and `step.contributes`\n * is cleared, so the runner reads a single field regardless of authoring form.\n */\nfunction resolveContributesShorthand(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n const hasBoolean = step.contributes !== undefined;\n const hasString = step.contributes_to !== undefined;\n\n if (hasBoolean && hasString) {\n throw new Error(`[${storyboardId}] step '${step.id}' declares both 'contributes' and 'contributes_to' — pick one`);\n }\n\n if (hasBoolean) {\n if (step.contributes === true) {\n if (!phase.branch_set) {\n throw new Error(\n `[${storyboardId}] step '${step.id}': 'contributes: true' is only legal inside a phase that declares branch_set`\n );\n }\n step.contributes_to = phase.branch_set.id;\n }\n delete step.contributes;\n return;\n }\n\n if (hasString && phase.branch_set && step.contributes_to !== phase.branch_set.id) {\n throw new Error(\n `[${storyboardId}] step '${step.id}': contributes_to='${step.contributes_to}' must equal enclosing phase's branch_set.id='${phase.branch_set.id}'`\n );\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/lib/testing/storyboard/loader.ts"],"sourcesContent":["/**\n * Storyboard YAML parser.\n *\n * Storyboards are pulled from the compliance cache populated by\n * `npm run sync-schemas`. See `./compliance.ts` for capability-driven\n * resolution and bundle loading.\n */\n\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport type { Storyboard } from './types';\nimport { MUTATING_TASKS } from '../../utils/idempotency';\nimport { validateFixtureResolutionDeclarations } from './fixture-resolution';\n\n/**\n * Supported `branch_set.semantics` values. Extend when AdCP adds `all_of`,\n * `at_least_n`, etc. Exported so the runner can enforce the same whitelist\n * on programmatically-constructed storyboards that bypass the YAML parser.\n */\nexport const BRANCH_SET_SEMANTICS = ['any_of'] as const;\n\nconst IDENTIFIER_PATH_SEGMENT = String.raw`[A-Za-z_][A-Za-z0-9_-]*(?:\\[\\*\\])*`;\nconst IDENTIFIER_PATH_PATTERN = new RegExp(`^${IDENTIFIER_PATH_SEGMENT}(?:\\\\.${IDENTIFIER_PATH_SEGMENT})*$`);\n\n/** Parse a YAML string into a Storyboard. Throws if required fields are missing. */\nexport function parseStoryboard(yamlContent: string): Storyboard {\n const parsed = parse(yamlContent) as Storyboard;\n if (!parsed?.id || !parsed?.phases) {\n throw new Error('Invalid storyboard YAML: missing required fields (id, phases)');\n }\n for (const phase of parsed.phases) {\n // Specialism YAMLs may declare a phase with no `steps:` — the steps are\n // synthesized at runtime from fixtures (see request-signing/synthesize.ts).\n // Treat missing steps as an empty list so the parser stays phase-agnostic.\n if (!phase.steps) phase.steps = [];\n // YAML uses `name:` for context outputs but our runtime expects `key:`.\n for (const step of phase.steps) {\n if (!step.context_outputs) continue;\n for (const output of step.context_outputs) {\n const raw = output as unknown as Record<string, unknown>;\n if (raw.name && !raw.key) {\n output.key = raw.name as string;\n }\n }\n }\n }\n validateStoryboardShape(parsed);\n return parsed;\n}\n\n/** Load and parse a single storyboard file. Useful for ad-hoc testing of in-development YAMLs. */\nexport function loadStoryboardFile(filePath: string): Storyboard {\n return parseStoryboard(readFileSync(filePath, 'utf-8'));\n}\n\n/**\n * Enforce authoring-time invariants on a Storyboard. Called by\n * `parseStoryboard`, and should also be called by any runner entry point\n * that accepts a programmatically-built `Storyboard` object so the same\n * loud-fail-on-drift guarantee holds regardless of how the storyboard was\n * constructed. Mutates only legacy shorthand fields (resolves\n * `contributes: true` to `contributes_to`) and is idempotent on\n * already-validated inputs.\n */\nexport function validateStoryboardShape(storyboard: Storyboard): void {\n validateRequires(storyboard);\n validateFixtureResolutionDeclarations(storyboard);\n validateRequiredAnyOfTools(storyboard);\n validatePhaseDependsOn(storyboard);\n for (const phase of storyboard.phases) {\n validateBranchSet(storyboard.id, phase);\n if (!phase.steps) continue;\n for (const step of phase.steps) {\n resolveContributesShorthand(storyboard.id, phase, step);\n validateFixtureForMutatingStep(storyboard.id, phase, step);\n validateOmitFlagCoherence(storyboard.id, phase, step);\n validateContextOutputs(storyboard.id, phase, step);\n validateUpstreamAttestationMode(storyboard.id, phase, step);\n validateUpstreamIdentifierPaths(storyboard.id, phase, step);\n validatePeerSubstitutesFor(storyboard.id, phase, step);\n }\n }\n}\n\nfunction validateUpstreamAttestationMode(\n storyboardId: string,\n phase: { id?: string },\n step: { id?: string; validations?: any[] }\n): void {\n const validations = step.validations ?? [];\n for (let validationIndex = 0; validationIndex < validations.length; validationIndex++) {\n const validation = validations[validationIndex];\n if (validation?.check !== 'upstream_traffic') continue;\n const mode = validation.preferred_attestation_mode;\n if (mode !== undefined && mode !== 'raw' && mode !== 'digest') {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].preferred_attestation_mode: must be \"raw\" or \"digest\"`\n );\n }\n }\n}\n\nfunction validateUpstreamIdentifierPaths(\n storyboardId: string,\n phase: { id?: string },\n step: { id?: string; validations?: any[] }\n): void {\n const validations = step.validations ?? [];\n for (let validationIndex = 0; validationIndex < validations.length; validationIndex++) {\n const validation = validations[validationIndex];\n if (validation?.check !== 'upstream_traffic' || validation.identifier_paths === undefined) continue;\n if (!Array.isArray(validation.identifier_paths)) {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${\n step.id ?? '?'\n }.validations[${validationIndex}].identifier_paths: must be an array of request-payload paths`\n );\n }\n for (let pathIndex = 0; pathIndex < validation.identifier_paths.length; pathIndex++) {\n const path = validation.identifier_paths[pathIndex];\n if (typeof path !== 'string' || path.length === 0) {\n throw new Error(\n `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].identifier_paths[${pathIndex}]: must be a non-empty string`\n );\n }\n const pathErrorPrefix = `[${storyboardId}] ${phase.id ?? '?'}.${step.id ?? '?'}.validations[${validationIndex}].identifier_paths[${pathIndex}]`;\n let firstSegment: string;\n try {\n const validated = validateIdentifierPathSyntax(path);\n firstSegment = validated.firstSegment;\n } catch {\n throw new Error(\n `${pathErrorPrefix}: \"${path}\" is unsupported; identifier_paths resolve only against the request payload or sample_request using dotted paths with [*] array selectors`\n );\n }\n const root = firstSegment.toLowerCase();\n if (root === 'request' || root === 'response' || root === 'context') {\n throw new Error(\n `${pathErrorPrefix}: \"${path}\" is unsupported; identifier_paths resolve only against the request payload or sample_request`\n );\n }\n }\n }\n}\n\nfunction validateIdentifierPathSyntax(path: string): { normalized: string; firstSegment: string } {\n const trimmed = path.trim();\n const normalized = trimmed.startsWith('$.') ? trimmed.slice(2) : trimmed;\n if (!IDENTIFIER_PATH_PATTERN.test(normalized)) {\n throw new Error('unsupported identifier path syntax');\n }\n return { normalized, firstSegment: normalized.split(/[.[\\]]/, 1)[0] ?? '' };\n}\n\nfunction validateRequiredAnyOfTools(storyboard: Storyboard): void {\n if (storyboard.required_any_of_tools === undefined) return;\n if (!Array.isArray(storyboard.required_any_of_tools)) {\n throw new Error(`[${storyboard.id}] required_any_of_tools: must be an array of tool-family objects`);\n }\n if (storyboard.required_any_of_tools.length === 0) {\n throw new Error(`[${storyboard.id}] required_any_of_tools: [] is not allowed — omit the field to use no gate`);\n }\n for (let i = 0; i < storyboard.required_any_of_tools.length; i++) {\n const family = storyboard.required_any_of_tools[i] as unknown;\n if (family === null || typeof family !== 'object' || Array.isArray(family)) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}]: must be an object`);\n }\n const { tools, rationale } = family as { tools?: unknown; rationale?: unknown };\n if (!Array.isArray(tools) || tools.length < 2) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].tools: must list at least two tool names`);\n }\n for (const tool of tools) {\n if (typeof tool !== 'string' || tool.length === 0) {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].tools: entries must be non-empty strings`);\n }\n }\n if (rationale !== undefined && typeof rationale !== 'string') {\n throw new Error(`[${storyboard.id}] required_any_of_tools[${i}].rationale: must be a string`);\n }\n }\n}\n\n/**\n * Authoring-time validation for `phase.depends_on` (#1161). Each entry\n * must reference a phase declared earlier in the storyboard. Forward\n * references and self-references fail loud at parse time so authoring\n * mistakes (typos, reorderings) don't degrade silently into \"phase\n * always runs\" / \"phase always cascades.\"\n *\n * Rules:\n * - Empty list (`depends_on: []`) is legal — it declares an\n * independent phase. No further validation needed.\n * - Each non-empty entry must be a non-empty string.\n * - Each entry must reference a phase that appears EARLIER in the\n * `storyboard.phases[]` array (forward references are rejected).\n * - A phase cannot depend on itself.\n */\nfunction validatePhaseDependsOn(storyboard: Storyboard): void {\n const phaseIdsSeen = new Set<string>();\n for (const phase of storyboard.phases) {\n if (phase.depends_on !== undefined) {\n if (!Array.isArray(phase.depends_on)) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on must be an array of phase ids`);\n }\n for (const dep of phase.depends_on) {\n if (typeof dep !== 'string' || dep.length === 0) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on entries must be non-empty strings`);\n }\n if (dep === phase.id) {\n throw new Error(`[${storyboard.id}] phase '${phase.id}': depends_on cannot reference itself`);\n }\n if (!phaseIdsSeen.has(dep)) {\n throw new Error(\n `[${storyboard.id}] phase '${phase.id}': depends_on '${dep}' is not a phase declared earlier in this storyboard (forward and unknown references are rejected)`\n );\n }\n }\n }\n phaseIdsSeen.add(phase.id);\n }\n}\n\n/**\n * Authoring-time validation for `Storyboard.requires` (#1626). The field is\n * an array of non-empty requirement names:\n *\n * - `requires: []` is rejected — an empty array reads as \"no\n * requirements,\" which is the same as omitting the field; failing\n * load forces the author to omit it explicitly.\n * - Each entry must be a non-empty string.\n *\n * Unknown string values are allowed for forward compatibility. Runners that\n * don't know how to satisfy a future requirement skip at runtime with\n * `skip_reason: 'requirement_unmet'` and the authored value in\n * `skip.requirement`.\n */\nfunction validateRequires(storyboard: Storyboard): void {\n if (storyboard.requires === undefined) return;\n if (!Array.isArray(storyboard.requires)) {\n throw new Error(\n `[${storyboard.id}] requires: must be an array of requirement names (got ${typeof storyboard.requires})`\n );\n }\n if (storyboard.requires.length === 0) {\n throw new Error(`[${storyboard.id}] requires: [] is not allowed — omit the field to use the default ([real_wire])`);\n }\n for (let i = 0; i < storyboard.requires.length; i++) {\n const name = storyboard.requires[i];\n if (typeof name !== 'string' || name.length === 0) {\n throw new Error(`[${storyboard.id}] requires[${i}]: entries must be non-empty strings`);\n }\n }\n}\n\n/**\n * Issue #820: mutating tasks (per {@link MUTATING_TASKS}) must have a\n * `sample_request` authored. The fixture is authoritative at run time —\n * there's no sane default payload for a write, and silently fabricating\n * one was the bug factory that produced #780 / #792 / #793 / #802 / #805.\n *\n * Error messages point at the task name, the step id, the storyboard, and\n * suggest the concrete author action.\n *\n * Opt-out: steps with `expect_error: true` that deliberately exercise\n * missing-fixture / malformed-payload seller behavior skip this check —\n * the author is signaling the payload is the test condition.\n *\n * Synthesized phases (`request-signing/synthesize.ts`, controller seeding)\n * start with `phase.steps = []` in YAML and the loader doesn't see the\n * runtime-generated steps, so those paths are not affected.\n */\nfunction validateFixtureForMutatingStep(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (!MUTATING_TASKS.has(step.task)) return;\n if (step.sample_request !== undefined) return;\n if (step.expect_error === true) return;\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}' (task=${step.task}): ` +\n `mutating tasks require a sample_request fixture — the runner no longer fabricates ` +\n `write payloads. Author sample_request in the step or, for intentionally malformed ` +\n `payloads, set expect_error: true.`\n );\n}\n\n/**\n * `omit_account: true` must be paired with `expect_error: true`.\n *\n * An accountless `create_media_buy` will always be rejected by a spec-compliant\n * seller; a step that sets `omit_account` without `expect_error` will be graded\n * as a failure (not a controlled negative test), producing a misleading\n * compliance result. Fail loud at parse time so the author sees the problem\n * during storyboard load, not at run time.\n */\nfunction validateOmitFlagCoherence(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (step.omit_account && step.expect_error !== true) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ` +\n `omit_account: true requires expect_error: true — an accountless ` +\n `create_media_buy will always be rejected by a spec-compliant seller.`\n );\n }\n}\n\n/**\n * Each `context_outputs` entry must declare exactly one source: either\n * `path` (extract from response) or `generate` (mint at run time). An entry\n * with neither is a silent no-op; one with both would silently pick `generate`\n * and ignore `path`. Both are authoring foot-guns that should fail loud.\n */\nfunction validateContextOutputs(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n if (!step.context_outputs?.length) return;\n for (const output of step.context_outputs) {\n const hasPath = output.path !== undefined;\n const hasGenerate = output.generate !== undefined;\n if (!hasPath && !hasGenerate) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' must set exactly one of 'path' or 'generate'.`\n );\n }\n if (hasPath && hasGenerate) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' sets both 'path' and 'generate' — they are mutually exclusive.`\n );\n }\n // Validate generator name. The runtime resolver also checks but the loader\n // catches typos at storyboard-load time so authors see the failure on\n // build, not on the first run.\n if (hasGenerate && output.generate !== 'uuid_v4' && output.generate !== 'opaque_id') {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': context_outputs entry ` +\n `'${output.key}' has unknown generate value '${output.generate}'. ` +\n `Supported: 'uuid_v4', 'opaque_id'.`\n );\n }\n }\n}\n\n/**\n * Authoring-time validation for `provides_state_for` (the AdCP 3.0.3 spec\n * field — adcp#3734) and the legacy `peer_substitutes_for` synonym. The\n * runner treats the field as same-phase-only and substitution-only-when-\n * stateful; surface those constraints at parse time so storyboard authors\n * see typos and cross-phase references on build, not as a silent no-rescue\n * at run time.\n *\n * Both field names parse to the same canonical normalized form on the step\n * object (the spec name `provides_state_for` is preferred when both are\n * declared). The deprecation alias is documented in `types.ts`.\n *\n * Rules:\n * - Each target must reference a step that exists in the same phase.\n * - A step cannot substitute for itself.\n * - The substitute step itself must be `stateful: true` — non-stateful\n * passes don't establish state per the cascade contract.\n * - The target step must be `stateful: true` — non-stateful targets\n * don't participate in cascade gating, so a substitution declaration\n * would be a no-op.\n * - When both fields are declared on the same step, they must match\n * element-for-element (the deprecation contract is \"synonym for\", not\n * \"additive with\").\n */\nfunction validatePeerSubstitutesFor(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n const newField = step.provides_state_for;\n const legacyField = step.peer_substitutes_for;\n if (newField === undefined && legacyField === undefined) return;\n\n if (newField !== undefined && legacyField !== undefined) {\n // Order-sensitive equality: `[A, B]` vs `[B, A]` would throw despite being\n // semantically equivalent. Authors mid-migration should write the same list\n // in both fields; the deprecation alias is a literal synonym, not a\n // same-set restatement.\n const a = JSON.stringify(Array.isArray(newField) ? newField : [newField]);\n const b = JSON.stringify(Array.isArray(legacyField) ? legacyField : [legacyField]);\n if (a !== b) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': both provides_state_for and ` +\n `peer_substitutes_for declared with different values — pick one (provides_state_for is the ` +\n `spec field; peer_substitutes_for is a deprecated synonym)`\n );\n }\n }\n\n // Normalize onto provides_state_for so the runner can read a single field.\n // peer_substitutes_for stays for back-compat with any consumer code that\n // already reads it.\n if (newField === undefined && legacyField !== undefined) {\n step.provides_state_for = legacyField;\n } else if (newField !== undefined && legacyField === undefined) {\n step.peer_substitutes_for = newField;\n }\n\n const sourceFieldName = newField !== undefined ? 'provides_state_for' : 'peer_substitutes_for';\n const declared = step.provides_state_for!;\n const targets = Array.isArray(declared) ? declared : [declared];\n if (!step.stateful) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} is only legal on stateful steps`\n );\n }\n const phaseStepIds = new Map(phase.steps.map(s => [s.id, s]));\n for (const target of targets) {\n if (typeof target !== 'string' || target.length === 0) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} entries must be non-empty strings`\n );\n }\n if (target === step.id) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} cannot reference itself`\n );\n }\n const targetStep = phaseStepIds.get(target);\n if (!targetStep) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} target '${target}' is not a step in this phase (same-phase only)`\n );\n }\n if (!targetStep.stateful) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}' step '${step.id}': ${sourceFieldName} target '${target}' must be stateful`\n );\n }\n }\n}\n\nfunction validateBranchSet(storyboardId: string, phase: Storyboard['phases'][number]): void {\n if (phase.branch_set === undefined) return;\n const bs = phase.branch_set as unknown;\n if (!bs || typeof bs !== 'object') {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set must be an object with { id, semantics }`);\n }\n const { id, semantics } = bs as Record<string, unknown>;\n if (typeof id !== 'string' || id.length === 0) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set.id must be a non-empty string`);\n }\n if (typeof semantics !== 'string' || semantics.length === 0) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': branch_set.semantics must be a non-empty string`);\n }\n // Only `any_of` is defined in AdCP today (adcp#2646 lint rule 2 —\n // `at_least_n` and `all_of` are reserved but not defined). Reject unknown\n // values at parse rather than silently skipping grading at runtime, so\n // spec-drift typos fail loud instead of degrading to raw `failed` peers.\n if (!(BRANCH_SET_SEMANTICS as readonly string[]).includes(semantics)) {\n throw new Error(\n `[${storyboardId}] phase '${phase.id}': branch_set.semantics='${semantics}' is not supported (valid: ${BRANCH_SET_SEMANTICS.join(', ')})`\n );\n }\n // Schema constraint: every phase in a branch set MUST be optional. A\n // non-optional branch-set phase would fail the storyboard on any step\n // failure regardless of peer contribution, defeating the any_of gate.\n if (phase.optional !== true) {\n throw new Error(`[${storyboardId}] phase '${phase.id}': phases declaring branch_set must set 'optional: true'`);\n }\n}\n\n/**\n * Resolve the `contributes: true` boolean shorthand introduced alongside the\n * first-class `branch_set:` phase field (adcp-client#693, adcp#2646).\n *\n * Rules:\n * - `contributes: true` is legal only inside a phase that declares `branch_set:`.\n * - A step MUST NOT set both `contributes` and `contributes_to` (ambiguous).\n * - A string `contributes_to` inside a branch_set phase MUST equal `branch_set.id`\n * (otherwise the aggregation target drifts — same invariant the spec lint enforces).\n *\n * After resolution, `step.contributes_to` carries the flag name and `step.contributes`\n * is cleared, so the runner reads a single field regardless of authoring form.\n */\nfunction resolveContributesShorthand(\n storyboardId: string,\n phase: Storyboard['phases'][number],\n step: Storyboard['phases'][number]['steps'][number]\n): void {\n const hasBoolean = step.contributes !== undefined;\n const hasString = step.contributes_to !== undefined;\n\n if (hasBoolean && hasString) {\n throw new Error(`[${storyboardId}] step '${step.id}' declares both 'contributes' and 'contributes_to' — pick one`);\n }\n\n if (hasBoolean) {\n if (step.contributes === true) {\n if (!phase.branch_set) {\n throw new Error(\n `[${storyboardId}] step '${step.id}': 'contributes: true' is only legal inside a phase that declares branch_set`\n );\n }\n step.contributes_to = phase.branch_set.id;\n }\n delete step.contributes;\n return;\n }\n\n if (hasString && phase.branch_set && step.contributes_to !== phase.branch_set.id) {\n throw new Error(\n `[${storyboardId}] step '${step.id}': contributes_to='${step.contributes_to}' must equal enclosing phase's branch_set.id='${phase.branch_set.id}'`\n );\n }\n}\n"],"mappings":"AAQA,SAAS,oBAAoB;AAC7B,SAAS,aAAa;AAEtB,SAAS,sBAAsB;AAC/B,SAAS,6CAA6C;AAO/C,MAAM,uBAAuB,CAAC,QAAQ;AAE7C,MAAM,0BAA0B,OAAO;AACvC,MAAM,0BAA0B,IAAI,OAAO,IAAI,uBAAuB,SAAS,uBAAuB,KAAK;AAGpG,SAAS,gBAAgB,aAAiC;AAC/D,QAAM,SAAS,MAAM,WAAW;AAChC,MAAI,CAAC,QAAQ,MAAM,CAAC,QAAQ,QAAQ;AAClC,UAAM,IAAI,MAAM,+DAA+D;AAAA,EACjF;AACA,aAAW,SAAS,OAAO,QAAQ;AAIjC,QAAI,CAAC,MAAM,MAAO,OAAM,QAAQ,CAAC;AAEjC,eAAW,QAAQ,MAAM,OAAO;AAC9B,UAAI,CAAC,KAAK,gBAAiB;AAC3B,iBAAW,UAAU,KAAK,iBAAiB;AACzC,cAAM,MAAM;AACZ,YAAI,IAAI,QAAQ,CAAC,IAAI,KAAK;AACxB,iBAAO,MAAM,IAAI;AAAA,QACnB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,0BAAwB,MAAM;AAC9B,SAAO;AACT;AAGO,SAAS,mBAAmB,UAA8B;AAC/D,SAAO,gBAAgB,aAAa,UAAU,OAAO,CAAC;AACxD;AAWO,SAAS,wBAAwB,YAA8B;AACpE,mBAAiB,UAAU;AAC3B,wCAAsC,UAAU;AAChD,6BAA2B,UAAU;AACrC,yBAAuB,UAAU;AACjC,aAAW,SAAS,WAAW,QAAQ;AACrC,sBAAkB,WAAW,IAAI,KAAK;AACtC,QAAI,CAAC,MAAM,MAAO;AAClB,eAAW,QAAQ,MAAM,OAAO;AAC9B,kCAA4B,WAAW,IAAI,OAAO,IAAI;AACtD,qCAA+B,WAAW,IAAI,OAAO,IAAI;AACzD,gCAA0B,WAAW,IAAI,OAAO,IAAI;AACpD,6BAAuB,WAAW,IAAI,OAAO,IAAI;AACjD,sCAAgC,WAAW,IAAI,OAAO,IAAI;AAC1D,sCAAgC,WAAW,IAAI,OAAO,IAAI;AAC1D,iCAA2B,WAAW,IAAI,OAAO,IAAI;AAAA,IACvD;AAAA,EACF;AACF;AAEA,SAAS,gCACP,cACA,OACA,MACM;AACN,QAAM,cAAc,KAAK,eAAe,CAAC;AACzC,WAAS,kBAAkB,GAAG,kBAAkB,YAAY,QAAQ,mBAAmB;AACrF,UAAM,aAAa,YAAY,eAAe;AAC9C,QAAI,YAAY,UAAU,mBAAoB;AAC9C,UAAM,OAAO,WAAW;AACxB,QAAI,SAAS,UAAa,SAAS,SAAS,SAAS,UAAU;AAC7D,YAAM,IAAI;AAAA,QACR,IAAI,YAAY,KAAK,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,gBAAgB,eAAe;AAAA,MACvF;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,gCACP,cACA,OACA,MACM;AACN,QAAM,cAAc,KAAK,eAAe,CAAC;AACzC,WAAS,kBAAkB,GAAG,kBAAkB,YAAY,QAAQ,mBAAmB;AACrF,UAAM,aAAa,YAAY,eAAe;AAC9C,QAAI,YAAY,UAAU,sBAAsB,WAAW,qBAAqB,OAAW;AAC3F,QAAI,CAAC,MAAM,QAAQ,WAAW,gBAAgB,GAAG;AAC/C,YAAM,IAAI;AAAA,QACR,IAAI,YAAY,KAAK,MAAM,MAAM,GAAG,IAClC,KAAK,MAAM,GACb,gBAAgB,eAAe;AAAA,MACjC;AAAA,IACF;AACA,aAAS,YAAY,GAAG,YAAY,WAAW,iBAAiB,QAAQ,aAAa;AACnF,YAAM,OAAO,WAAW,iBAAiB,SAAS;AAClD,UAAI,OAAO,SAAS,YAAY,KAAK,WAAW,GAAG;AACjD,cAAM,IAAI;AAAA,UACR,IAAI,YAAY,KAAK,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,gBAAgB,eAAe,sBAAsB,SAAS;AAAA,QACtH;AAAA,MACF;AACA,YAAM,kBAAkB,IAAI,YAAY,KAAK,MAAM,MAAM,GAAG,IAAI,KAAK,MAAM,GAAG,gBAAgB,eAAe,sBAAsB,SAAS;AAC5I,UAAI;AACJ,UAAI;AACF,cAAM,YAAY,6BAA6B,IAAI;AACnD,uBAAe,UAAU;AAAA,MAC3B,QAAQ;AACN,cAAM,IAAI;AAAA,UACR,GAAG,eAAe,MAAM,IAAI;AAAA,QAC9B;AAAA,MACF;AACA,YAAM,OAAO,aAAa,YAAY;AACtC,UAAI,SAAS,aAAa,SAAS,cAAc,SAAS,WAAW;AACnE,cAAM,IAAI;AAAA,UACR,GAAG,eAAe,MAAM,IAAI;AAAA,QAC9B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,6BAA6B,MAA4D;AAChG,QAAM,UAAU,KAAK,KAAK;AAC1B,QAAM,aAAa,QAAQ,WAAW,IAAI,IAAI,QAAQ,MAAM,CAAC,IAAI;AACjE,MAAI,CAAC,wBAAwB,KAAK,UAAU,GAAG;AAC7C,UAAM,IAAI,MAAM,oCAAoC;AAAA,EACtD;AACA,SAAO,EAAE,YAAY,cAAc,WAAW,MAAM,UAAU,CAAC,EAAE,CAAC,KAAK,GAAG;AAC5E;AAEA,SAAS,2BAA2B,YAA8B;AAChE,MAAI,WAAW,0BAA0B,OAAW;AACpD,MAAI,CAAC,MAAM,QAAQ,WAAW,qBAAqB,GAAG;AACpD,UAAM,IAAI,MAAM,IAAI,WAAW,EAAE,kEAAkE;AAAA,EACrG;AACA,MAAI,WAAW,sBAAsB,WAAW,GAAG;AACjD,UAAM,IAAI,MAAM,IAAI,WAAW,EAAE,iFAA4E;AAAA,EAC/G;AACA,WAAS,IAAI,GAAG,IAAI,WAAW,sBAAsB,QAAQ,KAAK;AAChE,UAAM,SAAS,WAAW,sBAAsB,CAAC;AACjD,QAAI,WAAW,QAAQ,OAAO,WAAW,YAAY,MAAM,QAAQ,MAAM,GAAG;AAC1E,YAAM,IAAI,MAAM,IAAI,WAAW,EAAE,2BAA2B,CAAC,sBAAsB;AAAA,IACrF;AACA,UAAM,EAAE,OAAO,UAAU,IAAI;AAC7B,QAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,GAAG;AAC7C,YAAM,IAAI,MAAM,IAAI,WAAW,EAAE,2BAA2B,CAAC,4CAA4C;AAAA,IAC3G;AACA,eAAW,QAAQ,OAAO;AACxB,UAAI,OAAO,SAAS,YAAY,KAAK,WAAW,GAAG;AACjD,cAAM,IAAI,MAAM,IAAI,WAAW,EAAE,2BAA2B,CAAC,4CAA4C;AAAA,MAC3G;AAAA,IACF;AACA,QAAI,cAAc,UAAa,OAAO,cAAc,UAAU;AAC5D,YAAM,IAAI,MAAM,IAAI,WAAW,EAAE,2BAA2B,CAAC,+BAA+B;AAAA,IAC9F;AAAA,EACF;AACF;AAiBA,SAAS,uBAAuB,YAA8B;AAC5D,QAAM,eAAe,oBAAI,IAAY;AACrC,aAAW,SAAS,WAAW,QAAQ;AACrC,QAAI,MAAM,eAAe,QAAW;AAClC,UAAI,CAAC,MAAM,QAAQ,MAAM,UAAU,GAAG;AACpC,cAAM,IAAI,MAAM,IAAI,WAAW,EAAE,YAAY,MAAM,EAAE,6CAA6C;AAAA,MACpG;AACA,iBAAW,OAAO,MAAM,YAAY;AAClC,YAAI,OAAO,QAAQ,YAAY,IAAI,WAAW,GAAG;AAC/C,gBAAM,IAAI,MAAM,IAAI,WAAW,EAAE,YAAY,MAAM,EAAE,iDAAiD;AAAA,QACxG;AACA,YAAI,QAAQ,MAAM,IAAI;AACpB,gBAAM,IAAI,MAAM,IAAI,WAAW,EAAE,YAAY,MAAM,EAAE,uCAAuC;AAAA,QAC9F;AACA,YAAI,CAAC,aAAa,IAAI,GAAG,GAAG;AAC1B,gBAAM,IAAI;AAAA,YACR,IAAI,WAAW,EAAE,YAAY,MAAM,EAAE,kBAAkB,GAAG;AAAA,UAC5D;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,iBAAa,IAAI,MAAM,EAAE;AAAA,EAC3B;AACF;AAgBA,SAAS,iBAAiB,YAA8B;AACtD,MAAI,WAAW,aAAa,OAAW;AACvC,MAAI,CAAC,MAAM,QAAQ,WAAW,QAAQ,GAAG;AACvC,UAAM,IAAI;AAAA,MACR,IAAI,WAAW,EAAE,0DAA0D,OAAO,WAAW,QAAQ;AAAA,IACvG;AAAA,EACF;AACA,MAAI,WAAW,SAAS,WAAW,GAAG;AACpC,UAAM,IAAI,MAAM,IAAI,WAAW,EAAE,sFAAiF;AAAA,EACpH;AACA,WAAS,IAAI,GAAG,IAAI,WAAW,SAAS,QAAQ,KAAK;AACnD,UAAM,OAAO,WAAW,SAAS,CAAC;AAClC,QAAI,OAAO,SAAS,YAAY,KAAK,WAAW,GAAG;AACjD,YAAM,IAAI,MAAM,IAAI,WAAW,EAAE,cAAc,CAAC,sCAAsC;AAAA,IACxF;AAAA,EACF;AACF;AAmBA,SAAS,+BACP,cACA,OACA,MACM;AACN,MAAI,CAAC,eAAe,IAAI,KAAK,IAAI,EAAG;AACpC,MAAI,KAAK,mBAAmB,OAAW;AACvC,MAAI,KAAK,iBAAiB,KAAM;AAChC,QAAM,IAAI;AAAA,IACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE,WAAW,KAAK,IAAI;AAAA,EAI5E;AACF;AAWA,SAAS,0BACP,cACA,OACA,MACM;AACN,MAAI,KAAK,gBAAgB,KAAK,iBAAiB,MAAM;AACnD,UAAM,IAAI;AAAA,MACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE;AAAA,IAGxD;AAAA,EACF;AACF;AAQA,SAAS,uBACP,cACA,OACA,MACM;AACN,MAAI,CAAC,KAAK,iBAAiB,OAAQ;AACnC,aAAW,UAAU,KAAK,iBAAiB;AACzC,UAAM,UAAU,OAAO,SAAS;AAChC,UAAM,cAAc,OAAO,aAAa;AACxC,QAAI,CAAC,WAAW,CAAC,aAAa;AAC5B,YAAM,IAAI;AAAA,QACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE,6BAChD,OAAO,GAAG;AAAA,MAClB;AAAA,IACF;AACA,QAAI,WAAW,aAAa;AAC1B,YAAM,IAAI;AAAA,QACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE,6BAChD,OAAO,GAAG;AAAA,MAClB;AAAA,IACF;AAIA,QAAI,eAAe,OAAO,aAAa,aAAa,OAAO,aAAa,aAAa;AACnF,YAAM,IAAI;AAAA,QACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE,6BAChD,OAAO,GAAG,iCAAiC,OAAO,QAAQ;AAAA,MAElE;AAAA,IACF;AAAA,EACF;AACF;AA0BA,SAAS,2BACP,cACA,OACA,MACM;AACN,QAAM,WAAW,KAAK;AACtB,QAAM,cAAc,KAAK;AACzB,MAAI,aAAa,UAAa,gBAAgB,OAAW;AAEzD,MAAI,aAAa,UAAa,gBAAgB,QAAW;AAKvD,UAAM,IAAI,KAAK,UAAU,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC;AACxE,UAAM,IAAI,KAAK,UAAU,MAAM,QAAQ,WAAW,IAAI,cAAc,CAAC,WAAW,CAAC;AACjF,QAAI,MAAM,GAAG;AACX,YAAM,IAAI;AAAA,QACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE;AAAA,MAGxD;AAAA,IACF;AAAA,EACF;AAKA,MAAI,aAAa,UAAa,gBAAgB,QAAW;AACvD,SAAK,qBAAqB;AAAA,EAC5B,WAAW,aAAa,UAAa,gBAAgB,QAAW;AAC9D,SAAK,uBAAuB;AAAA,EAC9B;AAEA,QAAM,kBAAkB,aAAa,SAAY,uBAAuB;AACxE,QAAM,WAAW,KAAK;AACtB,QAAM,UAAU,MAAM,QAAQ,QAAQ,IAAI,WAAW,CAAC,QAAQ;AAC9D,MAAI,CAAC,KAAK,UAAU;AAClB,UAAM,IAAI;AAAA,MACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE,MAAM,eAAe;AAAA,IAC7E;AAAA,EACF;AACA,QAAM,eAAe,IAAI,IAAI,MAAM,MAAM,IAAI,OAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;AAC5D,aAAW,UAAU,SAAS;AAC5B,QAAI,OAAO,WAAW,YAAY,OAAO,WAAW,GAAG;AACrD,YAAM,IAAI;AAAA,QACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE,MAAM,eAAe;AAAA,MAC7E;AAAA,IACF;AACA,QAAI,WAAW,KAAK,IAAI;AACtB,YAAM,IAAI;AAAA,QACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE,MAAM,eAAe;AAAA,MAC7E;AAAA,IACF;AACA,UAAM,aAAa,aAAa,IAAI,MAAM;AAC1C,QAAI,CAAC,YAAY;AACf,YAAM,IAAI;AAAA,QACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE,MAAM,eAAe,YAAY,MAAM;AAAA,MAC/F;AAAA,IACF;AACA,QAAI,CAAC,WAAW,UAAU;AACxB,YAAM,IAAI;AAAA,QACR,IAAI,YAAY,YAAY,MAAM,EAAE,WAAW,KAAK,EAAE,MAAM,eAAe,YAAY,MAAM;AAAA,MAC/F;AAAA,IACF;AAAA,EACF;AACF;AAEA,SAAS,kBAAkB,cAAsB,OAA2C;AAC1F,MAAI,MAAM,eAAe,OAAW;AACpC,QAAM,KAAK,MAAM;AACjB,MAAI,CAAC,MAAM,OAAO,OAAO,UAAU;AACjC,UAAM,IAAI,MAAM,IAAI,YAAY,YAAY,MAAM,EAAE,wDAAwD;AAAA,EAC9G;AACA,QAAM,EAAE,IAAI,UAAU,IAAI;AAC1B,MAAI,OAAO,OAAO,YAAY,GAAG,WAAW,GAAG;AAC7C,UAAM,IAAI,MAAM,IAAI,YAAY,YAAY,MAAM,EAAE,6CAA6C;AAAA,EACnG;AACA,MAAI,OAAO,cAAc,YAAY,UAAU,WAAW,GAAG;AAC3D,UAAM,IAAI,MAAM,IAAI,YAAY,YAAY,MAAM,EAAE,oDAAoD;AAAA,EAC1G;AAKA,MAAI,CAAE,qBAA2C,SAAS,SAAS,GAAG;AACpE,UAAM,IAAI;AAAA,MACR,IAAI,YAAY,YAAY,MAAM,EAAE,4BAA4B,SAAS,8BAA8B,qBAAqB,KAAK,IAAI,CAAC;AAAA,IACxI;AAAA,EACF;AAIA,MAAI,MAAM,aAAa,MAAM;AAC3B,UAAM,IAAI,MAAM,IAAI,YAAY,YAAY,MAAM,EAAE,0DAA0D;AAAA,EAChH;AACF;AAeA,SAAS,4BACP,cACA,OACA,MACM;AACN,QAAM,aAAa,KAAK,gBAAgB;AACxC,QAAM,YAAY,KAAK,mBAAmB;AAE1C,MAAI,cAAc,WAAW;AAC3B,UAAM,IAAI,MAAM,IAAI,YAAY,WAAW,KAAK,EAAE,oEAA+D;AAAA,EACnH;AAEA,MAAI,YAAY;AACd,QAAI,KAAK,gBAAgB,MAAM;AAC7B,UAAI,CAAC,MAAM,YAAY;AACrB,cAAM,IAAI;AAAA,UACR,IAAI,YAAY,WAAW,KAAK,EAAE;AAAA,QACpC;AAAA,MACF;AACA,WAAK,iBAAiB,MAAM,WAAW;AAAA,IACzC;AACA,WAAO,KAAK;AACZ;AAAA,EACF;AAEA,MAAI,aAAa,MAAM,cAAc,KAAK,mBAAmB,MAAM,WAAW,IAAI;AAChF,UAAM,IAAI;AAAA,MACR,IAAI,YAAY,WAAW,KAAK,EAAE,sBAAsB,KAAK,cAAc,iDAAiD,MAAM,WAAW,EAAE;AAAA,IACjJ;AAAA,EACF;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/storyboard/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/storyboard/runner.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAqFH,OAAO,KAAK,EAiBV,2BAA2B,EAG3B,UAAU,EACV,cAAc,EAEd,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAEhB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EAErB,uBAAuB,EACvB,qBAAqB,EAGtB,MAAM,SAAS,CAAC;AASjB,OAAO,KAAK,EAA4B,cAAc,EAAE,MAAM,UAAU,CAAC;AAoCzE,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,oBAAoB,GAC5B,oBAAoB,CAEtB;AAED,wBAAgB,0BAA0B,CACxC,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,OAAO,EAAE,oBAAoB,GAC5B,oBAAoB,CAUtB;AAsED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAS/E;AAoCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,2BAA2B,CAAC,SAAS,EAAE,2BAA2B,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CA2ClH;AA+kBD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE9D;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC1C,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAEpC;AAED,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAEpC;AAiCD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CACjC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,EACjC,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,gBAAgB,CAAC,CAS3B;AAiqBD;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,MAAM,EAAE,EACnB,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,cAAc,GAC5B,gBAAgB,CA8ClB;AA6vDD;;;;;;;;;;;;;;;;GAgBG;AACH;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,qBAAqB,EAAE,GAC9B,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,qBAAqB,EAAE,CAAA;CAAE,CAAC,CA0B9G;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,uBAAuB,CA4BlG;AAMD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC,CAU/B;AAirFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,oBAAoB,EAC7B,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyDzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAyBpH;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB;AAkfD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,iBAAsB,GAC9B,qBAAqB,GAAG,SAAS,CAgBnC"}
@@ -57,6 +57,7 @@ var import_envelope_status_compat = require('../../utils/envelope-status-compat.
57
57
  var import_test_controller = require('../test-controller.js');
58
58
  var import_constants = require('../../upstream-recorder/constants.js');
59
59
  var import_request_builder = require('./request-builder.js');
60
+ var import_creative_assets = require('./creative-assets.js');
60
61
  var import_client2 = require('../client.js');
61
62
  var import_idempotency = require('../../utils/idempotency.js');
62
63
  var import_schema_loader = require('../../validation/schema-loader.js');
@@ -69,6 +70,7 @@ var import_probe_dispatch = require('./request-signing/probe-dispatch.js');
69
70
  var import_webhook_receiver = require('./webhook-receiver.js');
70
71
  var import_webhook_assertions = require('./webhook-assertions.js');
71
72
  var import_seeding = require('./seeding.js');
73
+ var import_fixture_resolution = require('./fixture-resolution.js');
72
74
  var import_compliance = require('./compliance.js');
73
75
  var import_client3 = require('../../signing/client.js');
74
76
  var import_agent_routing = require('./agent-routing.js');
@@ -1367,15 +1369,64 @@ async function executeStoryboardPass(agentUrls, storyboard, options, dispatchOff
1367
1369
  let seedingFailed = false;
1368
1370
  let seedingMissingController = false;
1369
1371
  let seedingUnsupported = false;
1372
+ let fixtureUnsatisfied = false;
1373
+ let fixtureBindings;
1374
+ let fixtureResolutionRecords;
1375
+ let fixtureCoverageGap;
1370
1376
  {
1371
- const seeding = skipControllerSeedingForPhaseGates ? null : preSeeded !== void 0 ? preSeeded.result : await (0, import_seeding.runControllerSeeding)(clients[0], storyboard, options, context);
1377
+ let fixtureSeedClient = clients[0];
1378
+ let fixtureDiscoveryClient = clients[0];
1379
+ if (routingContext && options.agents) {
1380
+ const fixtureStep = (task) => ({
1381
+ id: `__fixture_resolution_${task}__`,
1382
+ title: `Fixture resolution via ${task}`,
1383
+ task
1384
+ });
1385
+ if (options.agentTools?.includes("comply_test_controller")) {
1386
+ fixtureSeedClient = dispatch.nextFor(fixtureStep("comply_test_controller")).client;
1387
+ }
1388
+ if (options.agentTools?.includes("get_products")) {
1389
+ fixtureDiscoveryClient = dispatch.nextFor(fixtureStep("get_products")).client;
1390
+ }
1391
+ }
1392
+ const seeding = skipControllerSeedingForPhaseGates ? null : preSeeded !== void 0 ? preSeeded.result : await (0, import_seeding.runControllerSeeding)(fixtureSeedClient, storyboard, options, context, fixtureDiscoveryClient);
1372
1393
  if (seeding) {
1373
1394
  const attach = preSeeded === void 0 || preSeeded.attach;
1374
1395
  if (attach) {
1375
1396
  seedingPhaseResult = seeding.phase;
1376
1397
  passedCount += seeding.passedCount;
1377
1398
  failedCount += seeding.failedCount;
1378
- if (seeding.missingController || seeding.seedUnsupported) skippedCount += seeding.phase.steps.length;
1399
+ if (seeding.missingController || seeding.seedUnsupported || seeding.fixtureUnsatisfied) {
1400
+ skippedCount += seeding.phase.steps.filter((step) => step.skipped).length;
1401
+ }
1402
+ }
1403
+ fixtureBindings = seeding.bindings;
1404
+ fixtureResolutionRecords = seeding.resolutionRecords;
1405
+ fixtureUnsatisfied = seeding.fixtureUnsatisfied === true && seeding.failedCount === 0;
1406
+ if (fixtureUnsatisfied) {
1407
+ const noPhasesIndex = phaseResults.findIndex((phase) => phase.phase_id === "no_phases");
1408
+ if (noPhasesIndex >= 0) {
1409
+ skippedCount -= phaseResults[noPhasesIndex].steps.filter((step) => step.skipped).length;
1410
+ phaseResults.splice(noPhasesIndex, 1);
1411
+ }
1412
+ if (attach) skippedCount += 1;
1413
+ }
1414
+ const hasUnsatisfiedFixtures = fixtureResolutionRecords?.some((record) => record.status === "unsatisfied") === true;
1415
+ if (hasUnsatisfiedFixtures && fixtureResolutionRecords) {
1416
+ const fixtures = fixtureResolutionRecords.filter((record) => record.status === "unsatisfied").map((record) => ({
1417
+ fixture_type: record.fixture_type,
1418
+ handle: record.handle,
1419
+ ...record.product_handle && { product_handle: record.product_handle },
1420
+ requirements: record.requirements
1421
+ }));
1422
+ const names = fixtures.map(
1423
+ (fixture) => fixture.fixture_type === "pricing_option" ? `pricing_option "${fixture.product_handle}/${fixture.handle}"` : `product "${fixture.handle}"`
1424
+ );
1425
+ fixtureCoverageGap = {
1426
+ reason: "fixture_unsatisfied",
1427
+ detail: `fixture_unsatisfied: no seller fixture satisfied ${names.join(", ")}`,
1428
+ fixtures
1429
+ };
1379
1430
  }
1380
1431
  if (seeding.missingController) {
1381
1432
  seedingMissingController = true;
@@ -1389,6 +1440,16 @@ async function executeStoryboardPass(agentUrls, storyboard, options, dispatchOff
1389
1440
  for (const phase of storyboard.phases) {
1390
1441
  options.signal?.throwIfAborted();
1391
1442
  const phaseStart = Date.now();
1443
+ if (fixtureUnsatisfied) {
1444
+ phaseResults.push({
1445
+ phase_id: phase.id,
1446
+ phase_title: phase.title,
1447
+ passed: true,
1448
+ steps: [],
1449
+ duration_ms: 0
1450
+ });
1451
+ continue;
1452
+ }
1392
1453
  const phaseCapabilitySkipDetail = phaseCapabilitySkipDetails.get(phase.id);
1393
1454
  if (phaseCapabilitySkipDetail !== void 0) {
1394
1455
  const skippedSteps = buildPhaseCapabilitySkippedSteps(storyboard, phase, phaseCapabilitySkipDetail, context);
@@ -1447,6 +1508,9 @@ async function executeStoryboardPass(agentUrls, storyboard, options, dispatchOff
1447
1508
  } : seedingUnsupported ? {
1448
1509
  skip_reason: "fixture_seed_unsupported",
1449
1510
  skip: { reason: "not_applicable", detail: FIXTURE_SEED_UNSUPPORTED_DETAIL }
1511
+ } : seedingFailed ? {
1512
+ skip_reason: "controller_seeding_failed",
1513
+ skip: { reason: "prerequisite_failed", detail: CONTROLLER_SEEDING_FAILED_DETAIL }
1450
1514
  } : {
1451
1515
  skip_reason: "controller_seeding_failed",
1452
1516
  skip: { reason: "prerequisite_failed", detail: CONTROLLER_SEEDING_FAILED_DETAIL }
@@ -1590,7 +1654,8 @@ async function executeStoryboardPass(agentUrls, storyboard, options, dispatchOff
1590
1654
  responseDerivedNotApplicableContextKeys,
1591
1655
  agentProfile: assignment.profile,
1592
1656
  agentLibraryVersion: assignment.profile?.library_version,
1593
- storyboardRequiresRequestSigner: allRequires.includes("request_signer")
1657
+ storyboardRequiresRequestSigner: allRequires.includes("request_signer"),
1658
+ fixtureBindings
1594
1659
  }
1595
1660
  );
1596
1661
  const result2 = { ...rawResult, storyboard_id: storyboard.id };
@@ -1786,7 +1851,7 @@ async function executeStoryboardPass(agentUrls, storyboard, options, dispatchOff
1786
1851
  return !!phaseResult && phaseResult.passed && phaseResult.steps.some((s) => !s.skipped && s.passed);
1787
1852
  });
1788
1853
  const requiredPhasesPassed = !hasExecutableSteps || requiredPhaseHasExecutedPass || failedCount === 0 && requiredPhasesCoveredByCapabilityGates;
1789
- const storyboardWideFixtureSeedUnsupported = seedingUnsupported && failedCount === 0 && phaseResults.some((p) => p.steps.some((s) => s.skipped && s.skip?.reason === "not_applicable")) && phaseResults.every((p) => p.steps.every((s) => s.skipped && s.skip?.reason === "not_applicable"));
1854
+ const storyboardWideFixtureUnavailable = (seedingUnsupported || fixtureUnsatisfied) && failedCount === 0;
1790
1855
  if (seedingPhaseResult) phaseResults.unshift(seedingPhaseResult);
1791
1856
  const schemasUsed = collectSchemasUsed(phaseResults);
1792
1857
  const strictSummary = summarizeStrictValidation(phaseResults);
@@ -1805,7 +1870,7 @@ async function executeStoryboardPass(agentUrls, storyboard, options, dispatchOff
1805
1870
  // `multi-pass`.
1806
1871
  ...isMultiInstance && { multi_instance_strategy: "round-robin" },
1807
1872
  ...routingContext && { agent_map: { ...routingContext.agentMap } },
1808
- overall_passed: failedCount === 0 && (requiredPhasesPassed || storyboardWideFixtureSeedUnsupported) && !assertionsFailed,
1873
+ overall_passed: failedCount === 0 && (requiredPhasesPassed || storyboardWideFixtureUnavailable) && !assertionsFailed,
1809
1874
  phases: phaseResults,
1810
1875
  context,
1811
1876
  total_duration_ms: Date.now() - start,
@@ -1818,6 +1883,8 @@ async function executeStoryboardPass(agentUrls, storyboard, options, dispatchOff
1818
1883
  ...assertionResults.length > 0 ? { assertions: assertionResults } : {},
1819
1884
  strict_validation_summary: strictSummary,
1820
1885
  notices,
1886
+ ...fixtureResolutionRecords && { fixture_resolutions: fixtureResolutionRecords },
1887
+ ...fixtureCoverageGap && { coverage_gaps: [fixtureCoverageGap] },
1821
1888
  ...routingContext && routingContext.discoveryFailures.length > 0 ? {
1822
1889
  discovery_failures: routingContext.discoveryFailures.map((f) => ({
1823
1890
  agent_key: f.agentKey,
@@ -1911,6 +1978,8 @@ async function runMultiPass(agentUrls, storyboard, options) {
1911
1978
  tested_at: (/* @__PURE__ */ new Date()).toISOString(),
1912
1979
  ...schemasDedup.length > 0 ? { schemas_used: schemasDedup } : {},
1913
1980
  ...assertionsAgg.length > 0 ? { assertions: assertionsAgg } : {},
1981
+ ...first.fixture_resolutions ? { fixture_resolutions: first.fixture_resolutions } : {},
1982
+ ...first.coverage_gaps ? { coverage_gaps: first.coverage_gaps } : {},
1914
1983
  notices: noticesDedup
1915
1984
  };
1916
1985
  }
@@ -2191,8 +2260,43 @@ async function executeStep(client, step, storyboardId, phaseId, context, allStep
2191
2260
  request = applyDisableSandboxHint(request, effectiveStep.task);
2192
2261
  }
2193
2262
  request = applyIdempotencyInvariant(request, effectiveStep.task, step);
2194
- const unresolvedVars = findUnresolvedContextVars(request);
2195
- if (unresolvedVars.length > 0 && !step.expect_error) {
2263
+ const fixtureBinding = applyFixtureBindingsSafely(request, effectiveStep.task, options, runState);
2264
+ if (!fixtureBinding.ok) {
2265
+ const next2 = getNextStepPreview(step.id, allSteps, context, runState.runnerVars);
2266
+ return {
2267
+ step_id: step.id,
2268
+ phase_id: phaseId,
2269
+ title: step.title,
2270
+ task: effectiveStep.task,
2271
+ passed: false,
2272
+ duration_ms: 0,
2273
+ validations: [
2274
+ {
2275
+ check: "unresolved_substitution",
2276
+ passed: false,
2277
+ description: `Fixture handle substitution failed: ${fixtureBinding.error}`,
2278
+ json_pointer: null,
2279
+ expected: "an unambiguous fixture handle binding",
2280
+ actual: fixtureBinding.error,
2281
+ schema_id: null,
2282
+ schema_url: null
2283
+ }
2284
+ ],
2285
+ context,
2286
+ error: fixtureBinding.error,
2287
+ next: next2,
2288
+ extraction: { path: "none" }
2289
+ };
2290
+ }
2291
+ request = fixtureBinding.request;
2292
+ request = (0, import_creative_assets.expandCreativeAssetDirectives)(request, context, options.test_kit);
2293
+ const unresolvedContextVars = findUnresolvedContextVars(request);
2294
+ const unresolvedAssetDirectives = (0, import_creative_assets.findUnresolvedCreativeAssetDirectives)(request).map((path) => ({
2295
+ key: path,
2296
+ token: import_creative_assets.BUILD_ASSETS_FROM_FORMAT_DIRECTIVE
2297
+ }));
2298
+ const unresolvedVars = [...unresolvedContextVars, ...unresolvedAssetDirectives];
2299
+ if (unresolvedAssetDirectives.length > 0 || unresolvedContextVars.length > 0 && !step.expect_error) {
2196
2300
  const next2 = getNextStepPreview(step.id, allSteps, context, runState.runnerVars);
2197
2301
  const responseDerivedDetails = unresolvedVars.map((v) => runState.responseDerivedNotApplicableContextKeys?.get(v.key)).filter((d) => typeof d === "string");
2198
2302
  const allResponseDerived = responseDerivedDetails.length === unresolvedVars.length && responseDerivedDetails.length > 0;
@@ -2206,7 +2310,7 @@ async function executeStep(client, step, storyboardId, phaseId, context, allStep
2206
2310
  synthesized.push({
2207
2311
  check: "unresolved_substitution",
2208
2312
  passed: false,
2209
- description: `request token "${v.token}" did not resolve \u2014 prior step did not populate context.${v.key}`,
2313
+ description: v.token === import_creative_assets.BUILD_ASSETS_FROM_FORMAT_DIRECTIVE ? `request directive "${v.token}" did not resolve \u2014 the test kit could not populate every seller-required asset at ${v.key}` : `request token "${v.token}" did not resolve \u2014 prior step did not populate context.${v.key}`,
2210
2314
  json_pointer: null,
2211
2315
  expected: v.token,
2212
2316
  actual: null,
@@ -2866,9 +2970,42 @@ async function executeProbeStep(client, step, phaseId, context, allSteps, option
2866
2970
  sample_request: rateLimitTrip.trip_target_sample_request,
2867
2971
  omit_idempotency_key: true
2868
2972
  };
2869
- const resolvedTargetRequest = buildEffectiveStepRequest(targetStep, context, options, runState);
2870
- const unresolvedVars = findUnresolvedContextVars(resolvedTargetRequest);
2871
- if (unresolvedVars.length > 0 && !targetStep.expect_error) {
2973
+ const targetRequestResult = buildEffectiveStepRequest(targetStep, context, options, runState);
2974
+ if (!targetRequestResult.ok) {
2975
+ const next = getNextStepPreview(step.id, allSteps, context, runState.runnerVars);
2976
+ return {
2977
+ step_id: step.id,
2978
+ phase_id: phaseId,
2979
+ title: step.title,
2980
+ task: step.task,
2981
+ passed: false,
2982
+ duration_ms: Date.now() - start,
2983
+ validations: [
2984
+ {
2985
+ check: "unresolved_substitution",
2986
+ passed: false,
2987
+ description: `Fixture handle substitution failed: ${targetRequestResult.error}`,
2988
+ json_pointer: null,
2989
+ expected: "an unambiguous fixture handle binding",
2990
+ actual: targetRequestResult.error,
2991
+ schema_id: null,
2992
+ schema_url: null
2993
+ }
2994
+ ],
2995
+ context,
2996
+ next,
2997
+ extraction: { path: "none" },
2998
+ error: targetRequestResult.error
2999
+ };
3000
+ }
3001
+ const resolvedTargetRequest = targetRequestResult.request;
3002
+ const unresolvedContextVars = findUnresolvedContextVars(resolvedTargetRequest);
3003
+ const unresolvedAssetDirectives = (0, import_creative_assets.findUnresolvedCreativeAssetDirectives)(resolvedTargetRequest).map((path) => ({
3004
+ key: path,
3005
+ token: import_creative_assets.BUILD_ASSETS_FROM_FORMAT_DIRECTIVE
3006
+ }));
3007
+ const unresolvedVars = [...unresolvedContextVars, ...unresolvedAssetDirectives];
3008
+ if (unresolvedAssetDirectives.length > 0 || unresolvedContextVars.length > 0 && !targetStep.expect_error) {
2872
3009
  const next = getNextStepPreview(step.id, allSteps, context, runState.runnerVars);
2873
3010
  const detail = `Skipped: unresolved context variables from rate_limit_trip.trip_target_sample_request: ${unresolvedVars.map((v) => v.key).join(", ")}.`;
2874
3011
  return {
@@ -3032,6 +3169,21 @@ async function executeProbeStep(client, step, phaseId, context, allSteps, option
3032
3169
  extraction
3033
3170
  };
3034
3171
  }
3172
+ function applyFixtureBindingsSafely(request, task, options, runState) {
3173
+ try {
3174
+ return {
3175
+ ok: true,
3176
+ request: (0, import_fixture_resolution.applyFixtureBindingsToRequest)(
3177
+ request,
3178
+ task,
3179
+ runState.fixtureBindings,
3180
+ options.adcpVersion ?? import_version.ADCP_VERSION
3181
+ )
3182
+ };
3183
+ } catch (error) {
3184
+ return { ok: false, error: error instanceof Error ? error.message : String(error) };
3185
+ }
3186
+ }
3035
3187
  function buildEffectiveStepRequest(step, context, options, runState) {
3036
3188
  let request;
3037
3189
  if (options.request) {
@@ -3052,7 +3204,13 @@ function buildEffectiveStepRequest(step, context, options, runState) {
3052
3204
  if (options.disable_sandbox === true) {
3053
3205
  request = applyDisableSandboxHint(request, step.task);
3054
3206
  }
3055
- return applyIdempotencyInvariant(request, step.task, step);
3207
+ request = applyIdempotencyInvariant(request, step.task, step);
3208
+ const fixtureBinding = applyFixtureBindingsSafely(request, step.task, options, runState);
3209
+ if (!fixtureBinding.ok) return fixtureBinding;
3210
+ return {
3211
+ ok: true,
3212
+ request: (0, import_creative_assets.expandCreativeAssetDirectives)(fixtureBinding.request, context, options.test_kit)
3213
+ };
3056
3214
  }
3057
3215
  async function executeReplayWebhookVectorStep(step, phaseId, context, allSteps, options, runState) {
3058
3216
  const start = Date.now();