@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/canonical-format-satisfaction.ts"],"sourcesContent":["import { lookupV1Format, projectV1ProductToV2 } from '../../v2/projection';\nimport type { V1FormatId, V2ProductFormatDeclaration } from '../../v2/projection';\nimport type { TaskResult } from '../types';\nimport type { RunnerRequestRecord, StoryboardContext, StoryboardValidation, ValidationResult } from './types';\nimport { resolvePath, toJsonPointer } from './path';\n\ntype BugClass = 'normalization' | 'directionality' | 'range_containment' | 'closed_set' | 'authoring';\n\ninterface SatisfactionVerdict {\n satisfied: boolean;\n bug_class: BugClass;\n detail: string;\n json_pointer: string | null;\n actual?: unknown;\n observations?: unknown[];\n}\n\ninterface CanonicalSelector {\n format_kind: string;\n params: Record<string, unknown>;\n pointer: string;\n}\n\nconst FORMAT_IDENTITY_KEYS = ['agent_url', 'id', 'width', 'height', 'duration_ms'] as const;\nconst HANDLED_CANONICAL_PARAM_KEYS = new Set([\n 'width',\n 'height',\n 'sizes',\n 'min_width',\n 'max_width',\n 'min_height',\n 'max_height',\n 'duration_ms',\n 'duration_ms_exact',\n 'duration_ms_range',\n]);\nconst ARRAY_SUBSET_PARAM_KEYS = new Set(['video_codecs', 'audio_codecs', 'mime_types', 'file_types', 'formats']);\n\nexport function validateCanonicalFormatSatisfaction(\n validation: StoryboardValidation,\n request: RunnerRequestRecord | undefined,\n context: StoryboardContext | undefined,\n taskResult: TaskResult\n): ValidationResult {\n if (typeof validation.value !== 'boolean') {\n return {\n check: validation.check,\n passed: false,\n description: validation.description,\n error:\n 'canonical_format_satisfaction requires boolean `value` (true = request should be accepted, false = rejected)',\n json_pointer: null,\n expected: 'boolean validation.value',\n actual: validation.value ?? null,\n };\n }\n\n const expectedAccepted = validation.value;\n const taskAccepted = taskResult.success === true;\n const requestPayload = request?.payload;\n if (!isRecord(requestPayload)) {\n return {\n check: validation.check,\n passed: false,\n description: validation.description,\n error: 'canonical_format_satisfaction requires the runner request payload, but none was recorded',\n json_pointer: null,\n expected: 'create_media_buy request payload',\n actual: requestPayload ?? null,\n };\n }\n\n const packages = resolvePackages(requestPayload, validation.path);\n if (!packages.ok) {\n return {\n check: validation.check,\n passed: false,\n description: validation.description,\n error: packages.error,\n path: validation.path,\n json_pointer: packages.pointer,\n expected: 'one PackageRequest object or packages[] array',\n actual: packages.actual,\n };\n }\n\n const products = Array.isArray(context?.products) ? (context!.products as unknown[]) : [];\n const packageVerdicts = packages.packages.map(({ value, pointer }, index) =>\n evaluatePackage(value, pointer, index, products)\n );\n const localSatisfied = packageVerdicts.every(v => v.satisfied);\n const firstFailure = packageVerdicts.find(v => !v.satisfied);\n const primary = firstFailure ?? packageVerdicts[0];\n\n const localMatchesExpectation = localSatisfied === expectedAccepted;\n const observedMatchesExpectation = taskAccepted === expectedAccepted;\n const rejection = extractRejectionInfo(taskResult);\n const negativeRejectionMatches =\n expectedAccepted || taskAccepted || localSatisfied ? true : rejectionSupportsFormatFailure(rejection);\n const passed = localMatchesExpectation && observedMatchesExpectation && negativeRejectionMatches;\n if (passed) {\n return {\n check: validation.check,\n passed: true,\n description: validation.description,\n path: validation.path,\n json_pointer: primary?.json_pointer ?? null,\n expected: { accepted: expectedAccepted, local_satisfied: expectedAccepted },\n actual: {\n accepted: taskAccepted,\n local_satisfied: localSatisfied,\n ...(!taskAccepted && rejection && { rejection }),\n },\n observations: packageVerdicts.map(v => ({\n satisfied: v.satisfied,\n bug_class: v.bug_class,\n detail: v.detail,\n json_pointer: v.json_pointer,\n })),\n };\n }\n\n const likely = classifyLikelyFailure(expectedAccepted, taskAccepted, localSatisfied, primary);\n const error =\n !expectedAccepted && !taskAccepted && !localSatisfied && !negativeRejectionMatches\n ? `Expected request to be rejected for canonical format satisfaction, and local matching says it does not satisfy the product, but the agent rejection did not identify a format-selector cause. Observed rejection: ${formatRejectionInfo(rejection)}`\n : likely;\n return {\n check: validation.check,\n passed: false,\n description: validation.description,\n path: validation.path,\n error,\n json_pointer: primary?.json_pointer ?? null,\n expected: { accepted: expectedAccepted, local_satisfied: expectedAccepted },\n actual: {\n accepted: taskAccepted,\n local_satisfied: localSatisfied,\n ...(!taskAccepted && rejection && { rejection }),\n bug_class: primary?.bug_class ?? 'authoring',\n detail: primary?.detail ?? 'No package verdict was produced',\n },\n remediation: remediationFor(primary?.bug_class),\n observations: packageVerdicts.map(v => ({\n satisfied: v.satisfied,\n bug_class: v.bug_class,\n detail: v.detail,\n json_pointer: v.json_pointer,\n ...(v.actual !== undefined && { actual: v.actual }),\n ...(v.observations && { observations: v.observations }),\n })),\n };\n}\n\nfunction resolvePackages(\n requestPayload: Record<string, unknown>,\n path?: string\n):\n | { ok: true; packages: Array<{ value: Record<string, unknown>; pointer: string }> }\n | { ok: false; error: string; pointer: string | null; actual: unknown } {\n if (path) {\n const resolved = resolvePath(requestPayload, path);\n const pointer = toJsonPointer(path);\n if (Array.isArray(resolved)) {\n if (resolved.length === 0) {\n return {\n ok: false,\n error: `Path \"${path}\" resolved to an empty package array`,\n pointer,\n actual: [],\n };\n }\n const packages = resolved\n .map((item, i) => (isRecord(item) ? { value: item, pointer: `${pointer}/${i}` } : undefined))\n .filter((p): p is { value: Record<string, unknown>; pointer: string } => Boolean(p));\n if (packages.length === resolved.length) return { ok: true, packages };\n }\n if (isRecord(resolved)) return { ok: true, packages: [{ value: resolved, pointer }] };\n return {\n ok: false,\n error: `Path \"${path}\" did not resolve to a package object or array of package objects`,\n pointer,\n actual: resolved ?? null,\n };\n }\n\n const rawPackages = requestPayload.packages;\n if (!Array.isArray(rawPackages) || rawPackages.length === 0) {\n return {\n ok: false,\n error:\n 'canonical_format_satisfaction requires create_media_buy.packages[] unless validation.path selects a package',\n pointer: '/packages',\n actual: rawPackages ?? null,\n };\n }\n\n const packages = rawPackages\n .map((item, i) => (isRecord(item) ? { value: item, pointer: `/packages/${i}` } : undefined))\n .filter((p): p is { value: Record<string, unknown>; pointer: string } => Boolean(p));\n if (packages.length === rawPackages.length) return { ok: true, packages };\n return {\n ok: false,\n error: 'create_media_buy.packages[] contains a non-object entry',\n pointer: '/packages',\n actual: rawPackages,\n };\n}\n\nfunction evaluatePackage(\n pkg: Record<string, unknown>,\n pointer: string,\n index: number,\n products: unknown[]\n): SatisfactionVerdict {\n const productId = typeof pkg.product_id === 'string' ? pkg.product_id : undefined;\n const product = products.find(p => isRecord(p) && p.product_id === productId);\n if (!isRecord(product)) {\n return {\n satisfied: false,\n bug_class: 'authoring',\n detail: `No prior get_products context product matched packages[${index}].product_id=${JSON.stringify(productId)}`,\n json_pointer: `${pointer}/product_id`,\n actual: productId ?? null,\n };\n }\n\n const formatOptionRefs = Array.isArray(pkg.format_option_refs) ? pkg.format_option_refs : [];\n if (formatOptionRefs.length > 0) {\n return evaluateFormatOptionRefs(formatOptionRefs, product, pointer);\n }\n\n const formatIds = Array.isArray(pkg.format_ids) ? pkg.format_ids : [];\n if (formatIds.length > 0) {\n return evaluateLegacyFormatIds(formatIds, product, pointer, productId!);\n }\n\n const canonicalSelectors = extractCanonicalSelectors(pkg, pointer);\n if (canonicalSelectors.length > 0) {\n return evaluateCanonicalSelectors(canonicalSelectors, product);\n }\n\n return {\n satisfied: true,\n bug_class: 'directionality',\n detail: 'Package omitted format selectors; per PackageRequest semantics the seller default is all product formats',\n json_pointer: pointer,\n };\n}\n\nfunction evaluateFormatOptionRefs(\n refs: unknown[],\n product: Record<string, unknown>,\n packagePointer: string\n): SatisfactionVerdict {\n const declarations = productFormatOptions(product);\n if (declarations.length === 0) {\n return {\n satisfied: false,\n bug_class: 'closed_set',\n detail: 'Request used format_option_refs but the target product has no format_options[] closed set',\n json_pointer: `${packagePointer}/format_option_refs`,\n actual: refs,\n };\n }\n\n for (let i = 0; i < refs.length; i++) {\n const ref = refs[i];\n if (!isRecord(ref)) {\n return {\n satisfied: false,\n bug_class: 'authoring',\n detail: `format_option_refs[${i}] is not an object`,\n json_pointer: `${packagePointer}/format_option_refs/${i}`,\n actual: ref,\n };\n }\n if (ref.scope !== undefined && ref.scope !== 'product' && ref.scope !== 'publisher') {\n return {\n satisfied: false,\n bug_class: 'authoring',\n detail: `format_option_refs[${i}].scope must be \"product\" or \"publisher\" when present`,\n json_pointer: `${packagePointer}/format_option_refs/${i}/scope`,\n actual: ref.scope,\n };\n }\n if (ref.scope === 'publisher' && typeof ref.publisher_domain !== 'string') {\n return {\n satisfied: false,\n bug_class: 'authoring',\n detail: `format_option_refs[${i}] with scope=\"publisher\" requires publisher_domain`,\n json_pointer: `${packagePointer}/format_option_refs/${i}/publisher_domain`,\n actual: ref,\n };\n }\n const match = declarations.find(decl => {\n if (ref.scope === 'publisher') {\n return (\n decl.publisher_domain === ref.publisher_domain &&\n decl.format_option_id === ref.format_option_id &&\n typeof ref.publisher_domain === 'string'\n );\n }\n return decl.format_option_id === ref.format_option_id && !decl.publisher_domain;\n });\n if (!match) {\n return {\n satisfied: false,\n bug_class: 'closed_set',\n detail: `format_option_refs[${i}] does not resolve to the target product's format_options[] closed set`,\n json_pointer: `${packagePointer}/format_option_refs/${i}`,\n actual: ref,\n observations: [{ available_format_option_ids: declarations.map(declarationLabel).filter(Boolean) }],\n };\n }\n }\n\n return {\n satisfied: true,\n bug_class: 'directionality',\n detail: 'Every format_option_refs[] entry resolved to the target product format_options[] closed set',\n json_pointer: `${packagePointer}/format_option_refs`,\n };\n}\n\nfunction evaluateLegacyFormatIds(\n refs: unknown[],\n product: Record<string, unknown>,\n packagePointer: string,\n productId: string\n): SatisfactionVerdict {\n const declarations = productFormatOptions(product);\n for (let i = 0; i < refs.length; i++) {\n const ref = refs[i];\n if (!isFormatId(ref)) {\n return {\n satisfied: false,\n bug_class: 'authoring',\n detail: `format_ids[${i}] is not a structured FormatId object`,\n json_pointer: `${packagePointer}/format_ids/${i}`,\n actual: ref,\n };\n }\n\n const direct = declarations.find(decl => (decl.v1_format_ref ?? []).some(v1 => sameFormatId(v1, ref)));\n if (direct) continue;\n\n const projected = projectLegacyRef(ref, productId, `${packagePointer}/format_ids/${i}`);\n if (projected) {\n const match = declarations.find(decl => canonicalSelectorSatisfiesDeclaration(projected, decl).ok);\n if (match) continue;\n }\n\n if (\n declarations.length === 0 &&\n Array.isArray(product.format_ids) &&\n product.format_ids.some(fid => isFormatId(fid) && sameFormatId(fid, ref))\n ) {\n continue;\n }\n\n return {\n satisfied: false,\n bug_class: 'normalization',\n detail:\n `Legacy format_ids[${i}] did not normalize to any canonical declaration on product ${JSON.stringify(productId)}. ` +\n `Check v1_format_ref links and v1→canonical registry/catalog projection.`,\n json_pointer: `${packagePointer}/format_ids/${i}`,\n actual: ref,\n observations: [{ projected }],\n };\n }\n\n return {\n satisfied: true,\n bug_class: 'normalization',\n detail: 'Every legacy format_id normalized to a product canonical declaration or product legacy format_id',\n json_pointer: `${packagePointer}/format_ids`,\n };\n}\n\nfunction evaluateCanonicalSelectors(\n selectors: CanonicalSelector[],\n product: Record<string, unknown>\n): SatisfactionVerdict {\n const declarations = productFormatOptions(product);\n if (declarations.length === 0) {\n return {\n satisfied: false,\n bug_class: 'closed_set',\n detail: 'Request used canonical format selectors but the target product has no format_options[] closed set',\n json_pointer: selectors[0]?.pointer ?? null,\n actual: selectors,\n };\n }\n\n for (const selector of selectors) {\n const candidates = declarations.filter(decl => decl.format_kind === selector.format_kind);\n if (candidates.length === 0) {\n return {\n satisfied: false,\n bug_class: 'closed_set',\n detail: `Canonical selector format_kind=${JSON.stringify(selector.format_kind)} is outside the product format_options[] closed set`,\n json_pointer: selector.pointer,\n actual: selector,\n };\n }\n\n const checks = candidates.map(decl => canonicalSelectorSatisfiesDeclaration(selector, decl));\n if (checks.some(c => c.ok)) continue;\n const primary = checks.find(c => c.bug_class === 'range_containment') ?? checks[0]!;\n return {\n satisfied: false,\n bug_class: primary.bug_class,\n detail: primary.detail,\n json_pointer: selector.pointer,\n actual: selector,\n observations: checks.map(c => ({ ok: c.ok, bug_class: c.bug_class, detail: c.detail })),\n };\n }\n\n return {\n satisfied: true,\n bug_class: 'directionality',\n detail: 'Every canonical selector satisfies at least one product format_options[] declaration',\n json_pointer: selectors[0]?.pointer ?? null,\n };\n}\n\nfunction canonicalSelectorSatisfiesDeclaration(\n selector: CanonicalSelector,\n decl: V2ProductFormatDeclaration\n): { ok: true; detail: string; bug_class: BugClass } | { ok: false; detail: string; bug_class: BugClass } {\n if (selector.format_kind !== decl.format_kind) {\n return {\n ok: false,\n bug_class: 'closed_set',\n detail: `format_kind ${JSON.stringify(selector.format_kind)} does not match product declaration ${JSON.stringify(decl.format_kind)}`,\n };\n }\n const productParams = isRecord(decl.params) ? decl.params : {};\n const requestParams = selector.params;\n\n const fixedSize = requireFixedSize(productParams, requestParams);\n if (!fixedSize.ok) return fixedSize;\n\n const sizeList = requireSizeList(productParams, requestParams);\n if (!sizeList.ok) return sizeList;\n\n const dimensionRanges = requireNumericRangeContainment(\n productParams,\n requestParams,\n 'width',\n 'min_width',\n 'max_width'\n );\n if (!dimensionRanges.ok) return dimensionRanges;\n const heightRanges = requireNumericRangeContainment(\n productParams,\n requestParams,\n 'height',\n 'min_height',\n 'max_height'\n );\n if (!heightRanges.ok) return heightRanges;\n\n const duration = requireDurationContainment(productParams, requestParams);\n if (!duration.ok) return duration;\n\n const remainingParams = requireRemainingParamContainment(productParams, requestParams);\n if (!remainingParams.ok) return remainingParams;\n\n return {\n ok: true,\n bug_class: 'directionality',\n detail: 'Selector constraints satisfy product declaration constraints',\n };\n}\n\nfunction requireFixedSize(\n productParams: Record<string, unknown>,\n requestParams: Record<string, unknown>\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n const hasFixedWidth = typeof productParams.width === 'number';\n const hasFixedHeight = typeof productParams.height === 'number';\n if (!hasFixedWidth && !hasFixedHeight) return { ok: true };\n\n for (const key of ['width', 'height'] as const) {\n if (typeof productParams[key] !== 'number') continue;\n if (requestParams[key] === undefined) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product fixes params.${key}=${productParams[key]}, but the request selector omits ${key}`,\n };\n }\n if (requestParams[key] !== productParams[key]) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Selector params.${key}=${JSON.stringify(requestParams[key])} does not equal fixed product params.${key}=${productParams[key]}`,\n };\n }\n }\n return { ok: true };\n}\n\nfunction requireRemainingParamContainment(\n productParams: Record<string, unknown>,\n requestParams: Record<string, unknown>\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n for (const [key, productValue] of Object.entries(productParams)) {\n if (HANDLED_CANONICAL_PARAM_KEYS.has(key) || productValue === undefined) continue;\n if (Array.isArray(productValue) && productValue.length === 0) continue;\n\n if (requestParams[key] === undefined) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product constrains params.${key}, but the request selector omits ${key}`,\n };\n }\n\n const requestValue = requestParams[key];\n if (ARRAY_SUBSET_PARAM_KEYS.has(key)) {\n const subset = requireArraySubset(key, productValue, requestValue);\n if (!subset.ok) return subset;\n continue;\n }\n\n if (!deepEqualJson(requestValue, productValue)) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Selector params.${key}=${JSON.stringify(requestValue)} does not equal product params.${key}=${JSON.stringify(productValue)}`,\n };\n }\n }\n\n return { ok: true };\n}\n\nfunction requireArraySubset(\n key: string,\n productValue: unknown,\n requestValue: unknown\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n if (!Array.isArray(productValue)) {\n if (deepEqualJson(requestValue, productValue)) return { ok: true };\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Selector params.${key}=${JSON.stringify(requestValue)} does not equal product params.${key}=${JSON.stringify(productValue)}`,\n };\n }\n if (!Array.isArray(requestValue) || requestValue.length === 0) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product constrains params.${key}[], but the request selector omits a non-empty array`,\n };\n }\n const outside = requestValue.find(item => !productValue.some(allowed => deepEqualJson(item, allowed)));\n if (outside !== undefined) {\n return {\n ok: false,\n bug_class: 'closed_set',\n detail: `Selector params.${key} item ${JSON.stringify(outside)} is outside product params.${key}[]`,\n };\n }\n return { ok: true };\n}\n\nfunction requireSizeList(\n productParams: Record<string, unknown>,\n requestParams: Record<string, unknown>\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n const productSizes = parseSizes(productParams.sizes);\n if (!productSizes.length) return { ok: true };\n const requestSizes = parseSizes(requestParams.sizes);\n const requestExact =\n typeof requestParams.width === 'number' && typeof requestParams.height === 'number'\n ? [{ width: requestParams.width, height: requestParams.height }]\n : [];\n const selected = requestSizes.length > 0 ? requestSizes : requestExact;\n if (selected.length === 0) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail:\n 'Under-specified selector: product declares params.sizes[], but the request omits sizes or exact width/height',\n };\n }\n const outside = selected.find(s => !productSizes.some(p => p.width === s.width && p.height === s.height));\n if (outside) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Selector size ${outside.width}x${outside.height} is outside product params.sizes[]`,\n };\n }\n return { ok: true };\n}\n\nfunction requireNumericRangeContainment(\n productParams: Record<string, unknown>,\n requestParams: Record<string, unknown>,\n exactKey: string,\n minKey: string,\n maxKey: string\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n const min = typeof productParams[minKey] === 'number' ? productParams[minKey] : undefined;\n const max = typeof productParams[maxKey] === 'number' ? productParams[maxKey] : undefined;\n if (min === undefined && max === undefined) return { ok: true };\n\n if (typeof requestParams[exactKey] === 'number') {\n const exact = requestParams[exactKey] as number;\n if ((min !== undefined && exact < min) || (max !== undefined && exact > max)) {\n return {\n ok: false,\n bug_class: 'range_containment',\n detail: `Selector ${exactKey}=${exact} is outside product range ${rangeLabel(min, max)}`,\n };\n }\n return { ok: true };\n }\n\n const reqMin = typeof requestParams[minKey] === 'number' ? (requestParams[minKey] as number) : undefined;\n const reqMax = typeof requestParams[maxKey] === 'number' ? (requestParams[maxKey] as number) : undefined;\n if (reqMin === undefined && reqMax === undefined) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product constrains ${exactKey} range ${rangeLabel(min, max)}, but the request omits ${exactKey}/${minKey}/${maxKey}`,\n };\n }\n if ((min !== undefined && (reqMin ?? -Infinity) < min) || (max !== undefined && (reqMax ?? Infinity) > max)) {\n return {\n ok: false,\n bug_class: 'range_containment',\n detail: `Selector ${exactKey} range ${rangeLabel(reqMin, reqMax)} only overlaps or exceeds product range ${rangeLabel(min, max)}; request ranges must be contained`,\n };\n }\n return { ok: true };\n}\n\nfunction requireDurationContainment(\n productParams: Record<string, unknown>,\n requestParams: Record<string, unknown>\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n if (typeof productParams.duration_ms_exact === 'number') {\n const exact = requestDurationExact(requestParams);\n if (exact === undefined) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product fixes duration_ms_exact=${productParams.duration_ms_exact}, but the request omits an exact duration`,\n };\n }\n if (exact !== productParams.duration_ms_exact) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Selector duration ${exact} does not equal product duration_ms_exact=${productParams.duration_ms_exact}`,\n };\n }\n return { ok: true };\n }\n\n const productRange = parseNumberPair(productParams.duration_ms_range);\n if (!productRange) return { ok: true };\n const exact = requestDurationExact(requestParams);\n if (exact !== undefined) {\n if (exact < productRange[0] || exact > productRange[1]) {\n return {\n ok: false,\n bug_class: 'range_containment',\n detail: `Selector exact duration ${exact} is outside product duration_ms_range ${rangeLabel(productRange[0], productRange[1])}`,\n };\n }\n return { ok: true };\n }\n const requestRange = parseNumberPair(requestParams.duration_ms_range);\n if (!requestRange) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product constrains duration_ms_range ${rangeLabel(productRange[0], productRange[1])}, but the request omits duration`,\n };\n }\n if (requestRange[0] < productRange[0] || requestRange[1] > productRange[1]) {\n return {\n ok: false,\n bug_class: 'range_containment',\n detail: `Selector duration_ms_range ${rangeLabel(requestRange[0], requestRange[1])} only overlaps or exceeds product range ${rangeLabel(productRange[0], productRange[1])}; request ranges must be contained`,\n };\n }\n return { ok: true };\n}\n\nfunction extractCanonicalSelectors(pkg: Record<string, unknown>, packagePointer: string): CanonicalSelector[] {\n const selectors: CanonicalSelector[] = [];\n const arrays: Array<[unknown, string]> = [\n [pkg.format_options, `${packagePointer}/format_options`],\n [pkg.format_selectors, `${packagePointer}/format_selectors`],\n [pkg.formats, `${packagePointer}/formats`],\n ];\n for (const [value, pointer] of arrays) {\n if (!Array.isArray(value)) continue;\n for (let i = 0; i < value.length; i++) {\n const selector = canonicalSelectorFrom(value[i], `${pointer}/${i}`);\n if (selector) selectors.push(selector);\n }\n }\n const direct = canonicalSelectorFrom(pkg, packagePointer);\n if (direct) selectors.push(direct);\n const single = canonicalSelectorFrom(pkg.format_option, `${packagePointer}/format_option`);\n if (single) selectors.push(single);\n return selectors;\n}\n\nfunction canonicalSelectorFrom(value: unknown, pointer: string): CanonicalSelector | undefined {\n if (!isRecord(value) || typeof value.format_kind !== 'string') return undefined;\n const params = isRecord(value.params) ? { ...value.params } : {};\n for (const key of [\n 'width',\n 'height',\n 'sizes',\n 'min_width',\n 'max_width',\n 'min_height',\n 'max_height',\n 'duration_ms',\n 'duration_ms_exact',\n 'duration_ms_range',\n 'orientation',\n 'aspect_ratio',\n 'video_codecs',\n 'audio_codecs',\n 'mime_types',\n 'file_types',\n 'formats',\n 'slots',\n 'platform_extensions',\n 'tracking_extensions',\n ]) {\n if (value[key] !== undefined && params[key] === undefined) params[key] = value[key];\n }\n return { format_kind: value.format_kind, params, pointer };\n}\n\nfunction productFormatOptions(product: Record<string, unknown>): V2ProductFormatDeclaration[] {\n if (!Array.isArray(product.format_options)) return [];\n return product.format_options.filter(isRecord) as unknown as V2ProductFormatDeclaration[];\n}\n\nfunction projectLegacyRef(ref: V1FormatId, productId: string, pointer: string): CanonicalSelector | undefined {\n const { v2 } = projectV1ProductToV2({\n product_id: productId,\n name: productId,\n description: productId,\n format_ids: [ref],\n });\n const decl = v2.format_options[0];\n if (!decl) return undefined;\n const params = augmentProjectedParamsFromCatalog(ref, isRecord(decl.params) ? decl.params : {});\n return {\n format_kind: decl.format_kind,\n params,\n pointer,\n };\n}\n\nfunction augmentProjectedParamsFromCatalog(\n ref: V1FormatId,\n projectedParams: Record<string, unknown>\n): Record<string, unknown> {\n const out = { ...projectedParams };\n const catalogEntry = lookupV1Format(ref);\n if (!catalogEntry) return out;\n\n if (out.width === undefined || out.height === undefined) {\n const dimensions = firstCatalogDimensions(catalogEntry);\n if (dimensions) {\n if (out.width === undefined) out.width = dimensions.width;\n if (out.height === undefined) out.height = dimensions.height;\n }\n }\n\n if (out.duration_ms_exact === undefined) {\n const duration = firstCatalogDurationMs(catalogEntry);\n if (duration !== undefined) out.duration_ms_exact = duration;\n }\n\n return out;\n}\n\nfunction firstCatalogDimensions(catalogEntry: Record<string, unknown>): { width: number; height: number } | undefined {\n const renders = Array.isArray(catalogEntry.renders) ? catalogEntry.renders : [];\n for (const render of renders) {\n if (!isRecord(render) || !isRecord(render.dimensions)) continue;\n const { width, height } = render.dimensions;\n if (typeof width === 'number' && typeof height === 'number') return { width, height };\n }\n\n const assets = Array.isArray(catalogEntry.assets) ? catalogEntry.assets : [];\n for (const asset of assets) {\n if (!isRecord(asset) || !isRecord(asset.requirements)) continue;\n const { width, height } = asset.requirements;\n if (typeof width === 'number' && typeof height === 'number') return { width, height };\n }\n return undefined;\n}\n\ninterface RejectionInfo {\n codes: string[];\n fields: string[];\n messages: string[];\n}\n\nfunction extractRejectionInfo(taskResult: TaskResult): RejectionInfo | undefined {\n if (taskResult.success === true) return undefined;\n const codes = new Set<string>();\n const fields = new Set<string>();\n const messages = new Set<string>();\n collectRejectionInfo(taskResult, codes, fields, messages);\n return {\n codes: [...codes],\n fields: [...fields],\n messages: [...messages],\n };\n}\n\nfunction collectRejectionInfo(\n value: unknown,\n codes: Set<string>,\n fields: Set<string>,\n messages: Set<string>,\n depth = 0\n): void {\n if (depth > 5) return;\n if (typeof value === 'string') {\n messages.add(value);\n const prefixedCode = value.match(/^([A-Z][A-Z0-9_]+):/);\n if (prefixedCode?.[1]) codes.add(prefixedCode[1]);\n return;\n }\n if (Array.isArray(value)) {\n for (const item of value) collectRejectionInfo(item, codes, fields, messages, depth + 1);\n return;\n }\n if (!isRecord(value)) return;\n\n for (const key of ['code', 'error_code', 'reason'] as const) {\n const maybeCode = value[key];\n if (typeof maybeCode === 'string') codes.add(maybeCode);\n }\n for (const key of ['field', 'path', 'json_pointer'] as const) {\n const maybeField = value[key];\n if (typeof maybeField === 'string') fields.add(maybeField);\n }\n for (const key of ['message', 'error', 'detail', 'suggestion'] as const) {\n const maybeMessage = value[key];\n if (typeof maybeMessage === 'string') messages.add(maybeMessage);\n }\n for (const key of ['adcp_error', 'adcpError', 'data', 'details', 'errors', 'issues'] as const) {\n if (value[key] !== undefined) collectRejectionInfo(value[key], codes, fields, messages, depth + 1);\n }\n}\n\nfunction rejectionSupportsFormatFailure(rejection: RejectionInfo | undefined): boolean {\n if (!rejection) return false;\n if (rejection.codes.some(code => code.startsWith('FORMAT_'))) return true;\n return [...rejection.fields, ...rejection.messages].some(text =>\n /format|format_option|format_id|selector/i.test(text)\n );\n}\n\nfunction formatRejectionInfo(rejection: RejectionInfo | undefined): string {\n if (!rejection) return 'no structured rejection details';\n return JSON.stringify(rejection);\n}\n\nfunction deepEqualJson(a: unknown, b: unknown): boolean {\n return stableJson(a) === stableJson(b);\n}\n\nfunction stableJson(value: unknown): string {\n if (Array.isArray(value)) return `[${value.map(stableJson).join(',')}]`;\n if (isRecord(value)) {\n return `{${Object.keys(value)\n .sort()\n .map(key => `${JSON.stringify(key)}:${stableJson(value[key])}`)\n .join(',')}}`;\n }\n return JSON.stringify(value);\n}\n\nfunction firstCatalogDurationMs(catalogEntry: Record<string, unknown>): number | undefined {\n const assets = Array.isArray(catalogEntry.assets) ? catalogEntry.assets : [];\n for (const asset of assets) {\n if (!isRecord(asset) || !isRecord(asset.requirements)) continue;\n const { duration_ms, duration_seconds } = asset.requirements;\n if (typeof duration_ms === 'number') return duration_ms;\n if (typeof duration_seconds === 'number') return duration_seconds * 1000;\n }\n return undefined;\n}\n\nfunction classifyLikelyFailure(\n expectedAccepted: boolean,\n taskAccepted: boolean,\n localSatisfied: boolean,\n primary: SatisfactionVerdict | undefined\n): string {\n const observed = taskAccepted ? 'accepted' : 'rejected';\n const expected = expectedAccepted ? 'accepted' : 'rejected';\n const local = localSatisfied ? 'satisfies' : 'does not satisfy';\n const bugClass = primary?.bug_class ?? 'authoring';\n const detail = primary?.detail ?? 'no local satisfaction verdict';\n if (expectedAccepted && !taskAccepted && localSatisfied) {\n return `Expected request to be accepted and local canonical matching says it satisfies the product, but the agent rejected it. Likely ${bugClass} failure: ${detail}`;\n }\n if (!expectedAccepted && taskAccepted && !localSatisfied) {\n return `Expected request to be rejected because local canonical matching says it does not satisfy the product, but the agent accepted it. Likely ${bugClass} failure: ${detail}`;\n }\n if (!localSatisfied && expectedAccepted) {\n return `Storyboard expected acceptance, but the authored request does not satisfy the product locally (${bugClass}): ${detail}`;\n }\n if (localSatisfied && !expectedAccepted) {\n return `Storyboard expected rejection, but the authored request satisfies the product locally: ${detail}`;\n }\n return `Expected ${expected}, observed ${observed}; local matcher says request ${local}. ${detail}`;\n}\n\nfunction remediationFor(bugClass: BugClass | undefined): string | undefined {\n switch (bugClass) {\n case 'normalization':\n return 'Normalize legacy format_ids through product v1_format_ref, catalog canonical annotations, or the v1-canonical registry before comparing to product format_options.';\n case 'directionality':\n return 'Apply directional product gating: the request selector must contain the product-declared fixed constraints; a bare canonical kind does not satisfy a fixed-size or fixed-duration product.';\n case 'range_containment':\n return 'Use containment for ranges: an exact request must be inside the product range, and a request range must be fully contained by the product range, not merely overlap it.';\n case 'closed_set':\n return 'Treat product format_options[] as a closed set and reject selectors that do not resolve to one of its declarations.';\n default:\n return undefined;\n }\n}\n\nfunction sameFormatId(a: V1FormatId, b: V1FormatId): boolean {\n for (const key of FORMAT_IDENTITY_KEYS) {\n const av = key === 'agent_url' ? normalizeAgentUrl(a[key]) : a[key];\n const bv = key === 'agent_url' ? normalizeAgentUrl(b[key]) : b[key];\n if (av !== bv) return false;\n }\n return true;\n}\n\nfunction normalizeAgentUrl(value: unknown): unknown {\n if (typeof value !== 'string') return value;\n try {\n const url = new URL(value);\n url.hash = '';\n if ((url.protocol === 'https:' && url.port === '443') || (url.protocol === 'http:' && url.port === '80')) {\n url.port = '';\n }\n return url.toString().replace(/\\/$/, '');\n } catch {\n return value.replace(/\\/$/, '');\n }\n}\n\nfunction isFormatId(value: unknown): value is V1FormatId {\n return isRecord(value) && typeof value.agent_url === 'string' && typeof value.id === 'string';\n}\n\nfunction declarationLabel(decl: V2ProductFormatDeclaration): string | undefined {\n if (!decl.format_option_id) return undefined;\n return decl.publisher_domain ? `${decl.publisher_domain}/${decl.format_option_id}` : decl.format_option_id;\n}\n\nfunction requestDurationExact(params: Record<string, unknown>): number | undefined {\n if (typeof params.duration_ms_exact === 'number') return params.duration_ms_exact;\n if (typeof params.duration_ms === 'number') return params.duration_ms;\n return undefined;\n}\n\nfunction parseNumberPair(value: unknown): [number, number] | undefined {\n if (!Array.isArray(value) || value.length !== 2) return undefined;\n return typeof value[0] === 'number' && typeof value[1] === 'number' ? [value[0], value[1]] : undefined;\n}\n\nfunction parseSizes(value: unknown): Array<{ width: number; height: number }> {\n if (!Array.isArray(value)) return [];\n return value\n .map(item => {\n if (!isRecord(item)) return undefined;\n const width = typeof item.width === 'number' ? item.width : typeof item.w === 'number' ? item.w : undefined;\n const height = typeof item.height === 'number' ? item.height : typeof item.h === 'number' ? item.h : undefined;\n return width !== undefined && height !== undefined ? { width, height } : undefined;\n })\n .filter((s): s is { width: number; height: number } => Boolean(s));\n}\n\nfunction rangeLabel(min: unknown, max: unknown): string {\n return `[${min ?? '-infinity'}, ${max ?? 'infinity'}]`;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqD;AAIrD,kBAA2C;AAmB3C,MAAM,uBAAuB,CAAC,aAAa,MAAM,SAAS,UAAU,aAAa;AACjF,MAAM,+BAA+B,oBAAI,IAAI;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACD,MAAM,0BAA0B,oBAAI,IAAI,CAAC,gBAAgB,gBAAgB,cAAc,cAAc,SAAS,CAAC;AAExG,SAAS,oCACd,YACA,SACA,SACA,YACkB;AAClB,MAAI,OAAO,WAAW,UAAU,WAAW;AACzC,WAAO;AAAA,MACL,OAAO,WAAW;AAAA,MAClB,QAAQ;AAAA,MACR,aAAa,WAAW;AAAA,MACxB,OACE;AAAA,MACF,cAAc;AAAA,MACd,UAAU;AAAA,MACV,QAAQ,WAAW,SAAS;AAAA,IAC9B;AAAA,EACF;AAEA,QAAM,mBAAmB,WAAW;AACpC,QAAM,eAAe,WAAW,YAAY;AAC5C,QAAM,iBAAiB,SAAS;AAChC,MAAI,CAAC,SAAS,cAAc,GAAG;AAC7B,WAAO;AAAA,MACL,OAAO,WAAW;AAAA,MAClB,QAAQ;AAAA,MACR,aAAa,WAAW;AAAA,MACxB,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,MACV,QAAQ,kBAAkB;AAAA,IAC5B;AAAA,EACF;AAEA,QAAM,WAAW,gBAAgB,gBAAgB,WAAW,IAAI;AAChE,MAAI,CAAC,SAAS,IAAI;AAChB,WAAO;AAAA,MACL,OAAO,WAAW;AAAA,MAClB,QAAQ;AAAA,MACR,aAAa,WAAW;AAAA,MACxB,OAAO,SAAS;AAAA,MAChB,MAAM,WAAW;AAAA,MACjB,cAAc,SAAS;AAAA,MACvB,UAAU;AAAA,MACV,QAAQ,SAAS;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,WAAW,MAAM,QAAQ,SAAS,QAAQ,IAAK,QAAS,WAAyB,CAAC;AACxF,QAAM,kBAAkB,SAAS,SAAS;AAAA,IAAI,CAAC,EAAE,OAAO,QAAQ,GAAG,UACjE,gBAAgB,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjD;AACA,QAAM,iBAAiB,gBAAgB,MAAM,OAAK,EAAE,SAAS;AAC7D,QAAM,eAAe,gBAAgB,KAAK,OAAK,CAAC,EAAE,SAAS;AAC3D,QAAM,UAAU,gBAAgB,gBAAgB,CAAC;AAEjD,QAAM,0BAA0B,mBAAmB;AACnD,QAAM,6BAA6B,iBAAiB;AACpD,QAAM,YAAY,qBAAqB,UAAU;AACjD,QAAM,2BACJ,oBAAoB,gBAAgB,iBAAiB,OAAO,+BAA+B,SAAS;AACtG,QAAM,SAAS,2BAA2B,8BAA8B;AACxE,MAAI,QAAQ;AACV,WAAO;AAAA,MACL,OAAO,WAAW;AAAA,MAClB,QAAQ;AAAA,MACR,aAAa,WAAW;AAAA,MACxB,MAAM,WAAW;AAAA,MACjB,cAAc,SAAS,gBAAgB;AAAA,MACvC,UAAU,EAAE,UAAU,kBAAkB,iBAAiB,iBAAiB;AAAA,MAC1E,QAAQ;AAAA,QACN,UAAU;AAAA,QACV,iBAAiB;AAAA,QACjB,GAAI,CAAC,gBAAgB,aAAa,EAAE,UAAU;AAAA,MAChD;AAAA,MACA,cAAc,gBAAgB,IAAI,QAAM;AAAA,QACtC,WAAW,EAAE;AAAA,QACb,WAAW,EAAE;AAAA,QACb,QAAQ,EAAE;AAAA,QACV,cAAc,EAAE;AAAA,MAClB,EAAE;AAAA,IACJ;AAAA,EACF;AAEA,QAAM,SAAS,sBAAsB,kBAAkB,cAAc,gBAAgB,OAAO;AAC5F,QAAM,QACJ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,2BACtD,qNAAqN,oBAAoB,SAAS,CAAC,KACnP;AACN,SAAO;AAAA,IACL,OAAO,WAAW;AAAA,IAClB,QAAQ;AAAA,IACR,aAAa,WAAW;AAAA,IACxB,MAAM,WAAW;AAAA,IACjB;AAAA,IACA,cAAc,SAAS,gBAAgB;AAAA,IACvC,UAAU,EAAE,UAAU,kBAAkB,iBAAiB,iBAAiB;AAAA,IAC1E,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,iBAAiB;AAAA,MACjB,GAAI,CAAC,gBAAgB,aAAa,EAAE,UAAU;AAAA,MAC9C,WAAW,SAAS,aAAa;AAAA,MACjC,QAAQ,SAAS,UAAU;AAAA,IAC7B;AAAA,IACA,aAAa,eAAe,SAAS,SAAS;AAAA,IAC9C,cAAc,gBAAgB,IAAI,QAAM;AAAA,MACtC,WAAW,EAAE;AAAA,MACb,WAAW,EAAE;AAAA,MACb,QAAQ,EAAE;AAAA,MACV,cAAc,EAAE;AAAA,MAChB,GAAI,EAAE,WAAW,UAAa,EAAE,QAAQ,EAAE,OAAO;AAAA,MACjD,GAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa;AAAA,IACvD,EAAE;AAAA,EACJ;AACF;AAEA,SAAS,gBACP,gBACA,MAGwE;AACxE,MAAI,MAAM;AACR,UAAM,eAAW,yBAAY,gBAAgB,IAAI;AACjD,UAAM,cAAU,2BAAc,IAAI;AAClC,QAAI,MAAM,QAAQ,QAAQ,GAAG;AAC3B,UAAI,SAAS,WAAW,GAAG;AACzB,eAAO;AAAA,UACL,IAAI;AAAA,UACJ,OAAO,SAAS,IAAI;AAAA,UACpB;AAAA,UACA,QAAQ,CAAC;AAAA,QACX;AAAA,MACF;AACA,YAAMA,YAAW,SACd,IAAI,CAAC,MAAM,MAAO,SAAS,IAAI,IAAI,EAAE,OAAO,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,IAAI,MAAU,EAC3F,OAAO,CAAC,MAAgE,QAAQ,CAAC,CAAC;AACrF,UAAIA,UAAS,WAAW,SAAS,OAAQ,QAAO,EAAE,IAAI,MAAM,UAAAA,UAAS;AAAA,IACvE;AACA,QAAI,SAAS,QAAQ,EAAG,QAAO,EAAE,IAAI,MAAM,UAAU,CAAC,EAAE,OAAO,UAAU,QAAQ,CAAC,EAAE;AACpF,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,OAAO,SAAS,IAAI;AAAA,MACpB;AAAA,MACA,QAAQ,YAAY;AAAA,IACtB;AAAA,EACF;AAEA,QAAM,cAAc,eAAe;AACnC,MAAI,CAAC,MAAM,QAAQ,WAAW,KAAK,YAAY,WAAW,GAAG;AAC3D,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,OACE;AAAA,MACF,SAAS;AAAA,MACT,QAAQ,eAAe;AAAA,IACzB;AAAA,EACF;AAEA,QAAM,WAAW,YACd,IAAI,CAAC,MAAM,MAAO,SAAS,IAAI,IAAI,EAAE,OAAO,MAAM,SAAS,aAAa,CAAC,GAAG,IAAI,MAAU,EAC1F,OAAO,CAAC,MAAgE,QAAQ,CAAC,CAAC;AACrF,MAAI,SAAS,WAAW,YAAY,OAAQ,QAAO,EAAE,IAAI,MAAM,SAAS;AACxE,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AACF;AAEA,SAAS,gBACP,KACA,SACA,OACA,UACqB;AACrB,QAAM,YAAY,OAAO,IAAI,eAAe,WAAW,IAAI,aAAa;AACxE,QAAM,UAAU,SAAS,KAAK,OAAK,SAAS,CAAC,KAAK,EAAE,eAAe,SAAS;AAC5E,MAAI,CAAC,SAAS,OAAO,GAAG;AACtB,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QAAQ,0DAA0D,KAAK,gBAAgB,KAAK,UAAU,SAAS,CAAC;AAAA,MAChH,cAAc,GAAG,OAAO;AAAA,MACxB,QAAQ,aAAa;AAAA,IACvB;AAAA,EACF;AAEA,QAAM,mBAAmB,MAAM,QAAQ,IAAI,kBAAkB,IAAI,IAAI,qBAAqB,CAAC;AAC3F,MAAI,iBAAiB,SAAS,GAAG;AAC/B,WAAO,yBAAyB,kBAAkB,SAAS,OAAO;AAAA,EACpE;AAEA,QAAM,YAAY,MAAM,QAAQ,IAAI,UAAU,IAAI,IAAI,aAAa,CAAC;AACpE,MAAI,UAAU,SAAS,GAAG;AACxB,WAAO,wBAAwB,WAAW,SAAS,SAAS,SAAU;AAAA,EACxE;AAEA,QAAM,qBAAqB,0BAA0B,KAAK,OAAO;AACjE,MAAI,mBAAmB,SAAS,GAAG;AACjC,WAAO,2BAA2B,oBAAoB,OAAO;AAAA,EAC/D;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AACF;AAEA,SAAS,yBACP,MACA,SACA,gBACqB;AACrB,QAAM,eAAe,qBAAqB,OAAO;AACjD,MAAI,aAAa,WAAW,GAAG;AAC7B,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,cAAc,GAAG,cAAc;AAAA,MAC/B,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,MAAM,KAAK,CAAC;AAClB,QAAI,CAAC,SAAS,GAAG,GAAG;AAClB,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,sBAAsB,CAAC;AAAA,QAC/B,cAAc,GAAG,cAAc,uBAAuB,CAAC;AAAA,QACvD,QAAQ;AAAA,MACV;AAAA,IACF;AACA,QAAI,IAAI,UAAU,UAAa,IAAI,UAAU,aAAa,IAAI,UAAU,aAAa;AACnF,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,sBAAsB,CAAC;AAAA,QAC/B,cAAc,GAAG,cAAc,uBAAuB,CAAC;AAAA,QACvD,QAAQ,IAAI;AAAA,MACd;AAAA,IACF;AACA,QAAI,IAAI,UAAU,eAAe,OAAO,IAAI,qBAAqB,UAAU;AACzE,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,sBAAsB,CAAC;AAAA,QAC/B,cAAc,GAAG,cAAc,uBAAuB,CAAC;AAAA,QACvD,QAAQ;AAAA,MACV;AAAA,IACF;AACA,UAAM,QAAQ,aAAa,KAAK,UAAQ;AACtC,UAAI,IAAI,UAAU,aAAa;AAC7B,eACE,KAAK,qBAAqB,IAAI,oBAC9B,KAAK,qBAAqB,IAAI,oBAC9B,OAAO,IAAI,qBAAqB;AAAA,MAEpC;AACA,aAAO,KAAK,qBAAqB,IAAI,oBAAoB,CAAC,KAAK;AAAA,IACjE,CAAC;AACD,QAAI,CAAC,OAAO;AACV,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,sBAAsB,CAAC;AAAA,QAC/B,cAAc,GAAG,cAAc,uBAAuB,CAAC;AAAA,QACvD,QAAQ;AAAA,QACR,cAAc,CAAC,EAAE,6BAA6B,aAAa,IAAI,gBAAgB,EAAE,OAAO,OAAO,EAAE,CAAC;AAAA,MACpG;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc,GAAG,cAAc;AAAA,EACjC;AACF;AAEA,SAAS,wBACP,MACA,SACA,gBACA,WACqB;AACrB,QAAM,eAAe,qBAAqB,OAAO;AACjD,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,MAAM,KAAK,CAAC;AAClB,QAAI,CAAC,WAAW,GAAG,GAAG;AACpB,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,cAAc,CAAC;AAAA,QACvB,cAAc,GAAG,cAAc,eAAe,CAAC;AAAA,QAC/C,QAAQ;AAAA,MACV;AAAA,IACF;AAEA,UAAM,SAAS,aAAa,KAAK,WAAS,KAAK,iBAAiB,CAAC,GAAG,KAAK,QAAM,aAAa,IAAI,GAAG,CAAC,CAAC;AACrG,QAAI,OAAQ;AAEZ,UAAM,YAAY,iBAAiB,KAAK,WAAW,GAAG,cAAc,eAAe,CAAC,EAAE;AACtF,QAAI,WAAW;AACb,YAAM,QAAQ,aAAa,KAAK,UAAQ,sCAAsC,WAAW,IAAI,EAAE,EAAE;AACjG,UAAI,MAAO;AAAA,IACb;AAEA,QACE,aAAa,WAAW,KACxB,MAAM,QAAQ,QAAQ,UAAU,KAChC,QAAQ,WAAW,KAAK,SAAO,WAAW,GAAG,KAAK,aAAa,KAAK,GAAG,CAAC,GACxE;AACA;AAAA,IACF;AAEA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QACE,qBAAqB,CAAC,+DAA+D,KAAK,UAAU,SAAS,CAAC;AAAA,MAEhH,cAAc,GAAG,cAAc,eAAe,CAAC;AAAA,MAC/C,QAAQ;AAAA,MACR,cAAc,CAAC,EAAE,UAAU,CAAC;AAAA,IAC9B;AAAA,EACF;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc,GAAG,cAAc;AAAA,EACjC;AACF;AAEA,SAAS,2BACP,WACA,SACqB;AACrB,QAAM,eAAe,qBAAqB,OAAO;AACjD,MAAI,aAAa,WAAW,GAAG;AAC7B,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,cAAc,UAAU,CAAC,GAAG,WAAW;AAAA,MACvC,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,aAAW,YAAY,WAAW;AAChC,UAAM,aAAa,aAAa,OAAO,UAAQ,KAAK,gBAAgB,SAAS,WAAW;AACxF,QAAI,WAAW,WAAW,GAAG;AAC3B,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,kCAAkC,KAAK,UAAU,SAAS,WAAW,CAAC;AAAA,QAC9E,cAAc,SAAS;AAAA,QACvB,QAAQ;AAAA,MACV;AAAA,IACF;AAEA,UAAM,SAAS,WAAW,IAAI,UAAQ,sCAAsC,UAAU,IAAI,CAAC;AAC3F,QAAI,OAAO,KAAK,OAAK,EAAE,EAAE,EAAG;AAC5B,UAAM,UAAU,OAAO,KAAK,OAAK,EAAE,cAAc,mBAAmB,KAAK,OAAO,CAAC;AACjF,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW,QAAQ;AAAA,MACnB,QAAQ,QAAQ;AAAA,MAChB,cAAc,SAAS;AAAA,MACvB,QAAQ;AAAA,MACR,cAAc,OAAO,IAAI,QAAM,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,WAAW,QAAQ,EAAE,OAAO,EAAE;AAAA,IACxF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc,UAAU,CAAC,GAAG,WAAW;AAAA,EACzC;AACF;AAEA,SAAS,sCACP,UACA,MACwG;AACxG,MAAI,SAAS,gBAAgB,KAAK,aAAa;AAC7C,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,eAAe,KAAK,UAAU,SAAS,WAAW,CAAC,uCAAuC,KAAK,UAAU,KAAK,WAAW,CAAC;AAAA,IACpI;AAAA,EACF;AACA,QAAM,gBAAgB,SAAS,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC;AAC7D,QAAM,gBAAgB,SAAS;AAE/B,QAAM,YAAY,iBAAiB,eAAe,aAAa;AAC/D,MAAI,CAAC,UAAU,GAAI,QAAO;AAE1B,QAAM,WAAW,gBAAgB,eAAe,aAAa;AAC7D,MAAI,CAAC,SAAS,GAAI,QAAO;AAEzB,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,MAAI,CAAC,gBAAgB,GAAI,QAAO;AAChC,QAAM,eAAe;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,MAAI,CAAC,aAAa,GAAI,QAAO;AAE7B,QAAM,WAAW,2BAA2B,eAAe,aAAa;AACxE,MAAI,CAAC,SAAS,GAAI,QAAO;AAEzB,QAAM,kBAAkB,iCAAiC,eAAe,aAAa;AACrF,MAAI,CAAC,gBAAgB,GAAI,QAAO;AAEhC,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,WAAW;AAAA,IACX,QAAQ;AAAA,EACV;AACF;AAEA,SAAS,iBACP,eACA,eACmE;AACnE,QAAM,gBAAgB,OAAO,cAAc,UAAU;AACrD,QAAM,iBAAiB,OAAO,cAAc,WAAW;AACvD,MAAI,CAAC,iBAAiB,CAAC,eAAgB,QAAO,EAAE,IAAI,KAAK;AAEzD,aAAW,OAAO,CAAC,SAAS,QAAQ,GAAY;AAC9C,QAAI,OAAO,cAAc,GAAG,MAAM,SAAU;AAC5C,QAAI,cAAc,GAAG,MAAM,QAAW;AACpC,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,kDAAkD,GAAG,IAAI,cAAc,GAAG,CAAC,oCAAoC,GAAG;AAAA,MAC5H;AAAA,IACF;AACA,QAAI,cAAc,GAAG,MAAM,cAAc,GAAG,GAAG;AAC7C,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,mBAAmB,GAAG,IAAI,KAAK,UAAU,cAAc,GAAG,CAAC,CAAC,wCAAwC,GAAG,IAAI,cAAc,GAAG,CAAC;AAAA,MACvI;AAAA,IACF;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,iCACP,eACA,eACmE;AACnE,aAAW,CAAC,KAAK,YAAY,KAAK,OAAO,QAAQ,aAAa,GAAG;AAC/D,QAAI,6BAA6B,IAAI,GAAG,KAAK,iBAAiB,OAAW;AACzE,QAAI,MAAM,QAAQ,YAAY,KAAK,aAAa,WAAW,EAAG;AAE9D,QAAI,cAAc,GAAG,MAAM,QAAW;AACpC,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,uDAAuD,GAAG,oCAAoC,GAAG;AAAA,MAC3G;AAAA,IACF;AAEA,UAAM,eAAe,cAAc,GAAG;AACtC,QAAI,wBAAwB,IAAI,GAAG,GAAG;AACpC,YAAM,SAAS,mBAAmB,KAAK,cAAc,YAAY;AACjE,UAAI,CAAC,OAAO,GAAI,QAAO;AACvB;AAAA,IACF;AAEA,QAAI,CAAC,cAAc,cAAc,YAAY,GAAG;AAC9C,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,mBAAmB,GAAG,IAAI,KAAK,UAAU,YAAY,CAAC,kCAAkC,GAAG,IAAI,KAAK,UAAU,YAAY,CAAC;AAAA,MACrI;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,mBACP,KACA,cACA,cACmE;AACnE,MAAI,CAAC,MAAM,QAAQ,YAAY,GAAG;AAChC,QAAI,cAAc,cAAc,YAAY,EAAG,QAAO,EAAE,IAAI,KAAK;AACjE,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,mBAAmB,GAAG,IAAI,KAAK,UAAU,YAAY,CAAC,kCAAkC,GAAG,IAAI,KAAK,UAAU,YAAY,CAAC;AAAA,IACrI;AAAA,EACF;AACA,MAAI,CAAC,MAAM,QAAQ,YAAY,KAAK,aAAa,WAAW,GAAG;AAC7D,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,uDAAuD,GAAG;AAAA,IACpE;AAAA,EACF;AACA,QAAM,UAAU,aAAa,KAAK,UAAQ,CAAC,aAAa,KAAK,aAAW,cAAc,MAAM,OAAO,CAAC,CAAC;AACrG,MAAI,YAAY,QAAW;AACzB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,mBAAmB,GAAG,SAAS,KAAK,UAAU,OAAO,CAAC,8BAA8B,GAAG;AAAA,IACjG;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,gBACP,eACA,eACmE;AACnE,QAAM,eAAe,WAAW,cAAc,KAAK;AACnD,MAAI,CAAC,aAAa,OAAQ,QAAO,EAAE,IAAI,KAAK;AAC5C,QAAM,eAAe,WAAW,cAAc,KAAK;AACnD,QAAM,eACJ,OAAO,cAAc,UAAU,YAAY,OAAO,cAAc,WAAW,WACvE,CAAC,EAAE,OAAO,cAAc,OAAO,QAAQ,cAAc,OAAO,CAAC,IAC7D,CAAC;AACP,QAAM,WAAW,aAAa,SAAS,IAAI,eAAe;AAC1D,MAAI,SAAS,WAAW,GAAG;AACzB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QACE;AAAA,IACJ;AAAA,EACF;AACA,QAAM,UAAU,SAAS,KAAK,OAAK,CAAC,aAAa,KAAK,OAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC;AACxG,MAAI,SAAS;AACX,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,iBAAiB,QAAQ,KAAK,IAAI,QAAQ,MAAM;AAAA,IAC1D;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,+BACP,eACA,eACA,UACA,QACA,QACmE;AACnE,QAAM,MAAM,OAAO,cAAc,MAAM,MAAM,WAAW,cAAc,MAAM,IAAI;AAChF,QAAM,MAAM,OAAO,cAAc,MAAM,MAAM,WAAW,cAAc,MAAM,IAAI;AAChF,MAAI,QAAQ,UAAa,QAAQ,OAAW,QAAO,EAAE,IAAI,KAAK;AAE9D,MAAI,OAAO,cAAc,QAAQ,MAAM,UAAU;AAC/C,UAAM,QAAQ,cAAc,QAAQ;AACpC,QAAK,QAAQ,UAAa,QAAQ,OAAS,QAAQ,UAAa,QAAQ,KAAM;AAC5E,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,YAAY,QAAQ,IAAI,KAAK,6BAA6B,WAAW,KAAK,GAAG,CAAC;AAAA,MACxF;AAAA,IACF;AACA,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB;AAEA,QAAM,SAAS,OAAO,cAAc,MAAM,MAAM,WAAY,cAAc,MAAM,IAAe;AAC/F,QAAM,SAAS,OAAO,cAAc,MAAM,MAAM,WAAY,cAAc,MAAM,IAAe;AAC/F,MAAI,WAAW,UAAa,WAAW,QAAW;AAChD,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,gDAAgD,QAAQ,UAAU,WAAW,KAAK,GAAG,CAAC,2BAA2B,QAAQ,IAAI,MAAM,IAAI,MAAM;AAAA,IACvJ;AAAA,EACF;AACA,MAAK,QAAQ,WAAc,UAAU,aAAa,OAAS,QAAQ,WAAc,UAAU,YAAY,KAAM;AAC3G,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,YAAY,QAAQ,UAAU,WAAW,QAAQ,MAAM,CAAC,2CAA2C,WAAW,KAAK,GAAG,CAAC;AAAA,IACjI;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,2BACP,eACA,eACmE;AACnE,MAAI,OAAO,cAAc,sBAAsB,UAAU;AACvD,UAAMC,SAAQ,qBAAqB,aAAa;AAChD,QAAIA,WAAU,QAAW;AACvB,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,6DAA6D,cAAc,iBAAiB;AAAA,MACtG;AAAA,IACF;AACA,QAAIA,WAAU,cAAc,mBAAmB;AAC7C,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,qBAAqBA,MAAK,6CAA6C,cAAc,iBAAiB;AAAA,MAChH;AAAA,IACF;AACA,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB;AAEA,QAAM,eAAe,gBAAgB,cAAc,iBAAiB;AACpE,MAAI,CAAC,aAAc,QAAO,EAAE,IAAI,KAAK;AACrC,QAAM,QAAQ,qBAAqB,aAAa;AAChD,MAAI,UAAU,QAAW;AACvB,QAAI,QAAQ,aAAa,CAAC,KAAK,QAAQ,aAAa,CAAC,GAAG;AACtD,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,2BAA2B,KAAK,yCAAyC,WAAW,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;AAAA,MAC/H;AAAA,IACF;AACA,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB;AACA,QAAM,eAAe,gBAAgB,cAAc,iBAAiB;AACpE,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,kEAAkE,WAAW,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;AAAA,IACxH;AAAA,EACF;AACA,MAAI,aAAa,CAAC,IAAI,aAAa,CAAC,KAAK,aAAa,CAAC,IAAI,aAAa,CAAC,GAAG;AAC1E,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,8BAA8B,WAAW,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,2CAA2C,WAAW,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;AAAA,IAC3K;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,0BAA0B,KAA8B,gBAA6C;AAC5G,QAAM,YAAiC,CAAC;AACxC,QAAM,SAAmC;AAAA,IACvC,CAAC,IAAI,gBAAgB,GAAG,cAAc,iBAAiB;AAAA,IACvD,CAAC,IAAI,kBAAkB,GAAG,cAAc,mBAAmB;AAAA,IAC3D,CAAC,IAAI,SAAS,GAAG,cAAc,UAAU;AAAA,EAC3C;AACA,aAAW,CAAC,OAAO,OAAO,KAAK,QAAQ;AACrC,QAAI,CAAC,MAAM,QAAQ,KAAK,EAAG;AAC3B,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,WAAW,sBAAsB,MAAM,CAAC,GAAG,GAAG,OAAO,IAAI,CAAC,EAAE;AAClE,UAAI,SAAU,WAAU,KAAK,QAAQ;AAAA,IACvC;AAAA,EACF;AACA,QAAM,SAAS,sBAAsB,KAAK,cAAc;AACxD,MAAI,OAAQ,WAAU,KAAK,MAAM;AACjC,QAAM,SAAS,sBAAsB,IAAI,eAAe,GAAG,cAAc,gBAAgB;AACzF,MAAI,OAAQ,WAAU,KAAK,MAAM;AACjC,SAAO;AACT;AAEA,SAAS,sBAAsB,OAAgB,SAAgD;AAC7F,MAAI,CAAC,SAAS,KAAK,KAAK,OAAO,MAAM,gBAAgB,SAAU,QAAO;AACtE,QAAM,SAAS,SAAS,MAAM,MAAM,IAAI,EAAE,GAAG,MAAM,OAAO,IAAI,CAAC;AAC/D,aAAW,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAAG;AACD,QAAI,MAAM,GAAG,MAAM,UAAa,OAAO,GAAG,MAAM,OAAW,QAAO,GAAG,IAAI,MAAM,GAAG;AAAA,EACpF;AACA,SAAO,EAAE,aAAa,MAAM,aAAa,QAAQ,QAAQ;AAC3D;AAEA,SAAS,qBAAqB,SAAgE;AAC5F,MAAI,CAAC,MAAM,QAAQ,QAAQ,cAAc,EAAG,QAAO,CAAC;AACpD,SAAO,QAAQ,eAAe,OAAO,QAAQ;AAC/C;AAEA,SAAS,iBAAiB,KAAiB,WAAmB,SAAgD;AAC5G,QAAM,EAAE,GAAG,QAAI,wCAAqB;AAAA,IAClC,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY,CAAC,GAAG;AAAA,EAClB,CAAC;AACD,QAAM,OAAO,GAAG,eAAe,CAAC;AAChC,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,SAAS,kCAAkC,KAAK,SAAS,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;AAC9F,SAAO;AAAA,IACL,aAAa,KAAK;AAAA,IAClB;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,kCACP,KACA,iBACyB;AACzB,QAAM,MAAM,EAAE,GAAG,gBAAgB;AACjC,QAAM,mBAAe,kCAAe,GAAG;AACvC,MAAI,CAAC,aAAc,QAAO;AAE1B,MAAI,IAAI,UAAU,UAAa,IAAI,WAAW,QAAW;AACvD,UAAM,aAAa,uBAAuB,YAAY;AACtD,QAAI,YAAY;AACd,UAAI,IAAI,UAAU,OAAW,KAAI,QAAQ,WAAW;AACpD,UAAI,IAAI,WAAW,OAAW,KAAI,SAAS,WAAW;AAAA,IACxD;AAAA,EACF;AAEA,MAAI,IAAI,sBAAsB,QAAW;AACvC,UAAM,WAAW,uBAAuB,YAAY;AACpD,QAAI,aAAa,OAAW,KAAI,oBAAoB;AAAA,EACtD;AAEA,SAAO;AACT;AAEA,SAAS,uBAAuB,cAAsF;AACpH,QAAM,UAAU,MAAM,QAAQ,aAAa,OAAO,IAAI,aAAa,UAAU,CAAC;AAC9E,aAAW,UAAU,SAAS;AAC5B,QAAI,CAAC,SAAS,MAAM,KAAK,CAAC,SAAS,OAAO,UAAU,EAAG;AACvD,UAAM,EAAE,OAAO,OAAO,IAAI,OAAO;AACjC,QAAI,OAAO,UAAU,YAAY,OAAO,WAAW,SAAU,QAAO,EAAE,OAAO,OAAO;AAAA,EACtF;AAEA,QAAM,SAAS,MAAM,QAAQ,aAAa,MAAM,IAAI,aAAa,SAAS,CAAC;AAC3E,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,MAAM,YAAY,EAAG;AACvD,UAAM,EAAE,OAAO,OAAO,IAAI,MAAM;AAChC,QAAI,OAAO,UAAU,YAAY,OAAO,WAAW,SAAU,QAAO,EAAE,OAAO,OAAO;AAAA,EACtF;AACA,SAAO;AACT;AAQA,SAAS,qBAAqB,YAAmD;AAC/E,MAAI,WAAW,YAAY,KAAM,QAAO;AACxC,QAAM,QAAQ,oBAAI,IAAY;AAC9B,QAAM,SAAS,oBAAI,IAAY;AAC/B,QAAM,WAAW,oBAAI,IAAY;AACjC,uBAAqB,YAAY,OAAO,QAAQ,QAAQ;AACxD,SAAO;AAAA,IACL,OAAO,CAAC,GAAG,KAAK;AAAA,IAChB,QAAQ,CAAC,GAAG,MAAM;AAAA,IAClB,UAAU,CAAC,GAAG,QAAQ;AAAA,EACxB;AACF;AAEA,SAAS,qBACP,OACA,OACA,QACA,UACA,QAAQ,GACF;AACN,MAAI,QAAQ,EAAG;AACf,MAAI,OAAO,UAAU,UAAU;AAC7B,aAAS,IAAI,KAAK;AAClB,UAAM,eAAe,MAAM,MAAM,qBAAqB;AACtD,QAAI,eAAe,CAAC,EAAG,OAAM,IAAI,aAAa,CAAC,CAAC;AAChD;AAAA,EACF;AACA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,eAAW,QAAQ,MAAO,sBAAqB,MAAM,OAAO,QAAQ,UAAU,QAAQ,CAAC;AACvF;AAAA,EACF;AACA,MAAI,CAAC,SAAS,KAAK,EAAG;AAEtB,aAAW,OAAO,CAAC,QAAQ,cAAc,QAAQ,GAAY;AAC3D,UAAM,YAAY,MAAM,GAAG;AAC3B,QAAI,OAAO,cAAc,SAAU,OAAM,IAAI,SAAS;AAAA,EACxD;AACA,aAAW,OAAO,CAAC,SAAS,QAAQ,cAAc,GAAY;AAC5D,UAAM,aAAa,MAAM,GAAG;AAC5B,QAAI,OAAO,eAAe,SAAU,QAAO,IAAI,UAAU;AAAA,EAC3D;AACA,aAAW,OAAO,CAAC,WAAW,SAAS,UAAU,YAAY,GAAY;AACvE,UAAM,eAAe,MAAM,GAAG;AAC9B,QAAI,OAAO,iBAAiB,SAAU,UAAS,IAAI,YAAY;AAAA,EACjE;AACA,aAAW,OAAO,CAAC,cAAc,aAAa,QAAQ,WAAW,UAAU,QAAQ,GAAY;AAC7F,QAAI,MAAM,GAAG,MAAM,OAAW,sBAAqB,MAAM,GAAG,GAAG,OAAO,QAAQ,UAAU,QAAQ,CAAC;AAAA,EACnG;AACF;AAEA,SAAS,+BAA+B,WAA+C;AACrF,MAAI,CAAC,UAAW,QAAO;AACvB,MAAI,UAAU,MAAM,KAAK,UAAQ,KAAK,WAAW,SAAS,CAAC,EAAG,QAAO;AACrE,SAAO,CAAC,GAAG,UAAU,QAAQ,GAAG,UAAU,QAAQ,EAAE;AAAA,IAAK,UACvD,2CAA2C,KAAK,IAAI;AAAA,EACtD;AACF;AAEA,SAAS,oBAAoB,WAA8C;AACzE,MAAI,CAAC,UAAW,QAAO;AACvB,SAAO,KAAK,UAAU,SAAS;AACjC;AAEA,SAAS,cAAc,GAAY,GAAqB;AACtD,SAAO,WAAW,CAAC,MAAM,WAAW,CAAC;AACvC;AAEA,SAAS,WAAW,OAAwB;AAC1C,MAAI,MAAM,QAAQ,KAAK,EAAG,QAAO,IAAI,MAAM,IAAI,UAAU,EAAE,KAAK,GAAG,CAAC;AACpE,MAAI,SAAS,KAAK,GAAG;AACnB,WAAO,IAAI,OAAO,KAAK,KAAK,EACzB,KAAK,EACL,IAAI,SAAO,GAAG,KAAK,UAAU,GAAG,CAAC,IAAI,WAAW,MAAM,GAAG,CAAC,CAAC,EAAE,EAC7D,KAAK,GAAG,CAAC;AAAA,EACd;AACA,SAAO,KAAK,UAAU,KAAK;AAC7B;AAEA,SAAS,uBAAuB,cAA2D;AACzF,QAAM,SAAS,MAAM,QAAQ,aAAa,MAAM,IAAI,aAAa,SAAS,CAAC;AAC3E,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,MAAM,YAAY,EAAG;AACvD,UAAM,EAAE,aAAa,iBAAiB,IAAI,MAAM;AAChD,QAAI,OAAO,gBAAgB,SAAU,QAAO;AAC5C,QAAI,OAAO,qBAAqB,SAAU,QAAO,mBAAmB;AAAA,EACtE;AACA,SAAO;AACT;AAEA,SAAS,sBACP,kBACA,cACA,gBACA,SACQ;AACR,QAAM,WAAW,eAAe,aAAa;AAC7C,QAAM,WAAW,mBAAmB,aAAa;AACjD,QAAM,QAAQ,iBAAiB,cAAc;AAC7C,QAAM,WAAW,SAAS,aAAa;AACvC,QAAM,SAAS,SAAS,UAAU;AAClC,MAAI,oBAAoB,CAAC,gBAAgB,gBAAgB;AACvD,WAAO,iIAAiI,QAAQ,aAAa,MAAM;AAAA,EACrK;AACA,MAAI,CAAC,oBAAoB,gBAAgB,CAAC,gBAAgB;AACxD,WAAO,4IAA4I,QAAQ,aAAa,MAAM;AAAA,EAChL;AACA,MAAI,CAAC,kBAAkB,kBAAkB;AACvC,WAAO,kGAAkG,QAAQ,MAAM,MAAM;AAAA,EAC/H;AACA,MAAI,kBAAkB,CAAC,kBAAkB;AACvC,WAAO,0FAA0F,MAAM;AAAA,EACzG;AACA,SAAO,YAAY,QAAQ,cAAc,QAAQ,gCAAgC,KAAK,KAAK,MAAM;AACnG;AAEA,SAAS,eAAe,UAAoD;AAC1E,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEA,SAAS,aAAa,GAAe,GAAwB;AAC3D,aAAW,OAAO,sBAAsB;AACtC,UAAM,KAAK,QAAQ,cAAc,kBAAkB,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG;AAClE,UAAM,KAAK,QAAQ,cAAc,kBAAkB,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG;AAClE,QAAI,OAAO,GAAI,QAAO;AAAA,EACxB;AACA,SAAO;AACT;AAEA,SAAS,kBAAkB,OAAyB;AAClD,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI;AACF,UAAM,MAAM,IAAI,IAAI,KAAK;AACzB,QAAI,OAAO;AACX,QAAK,IAAI,aAAa,YAAY,IAAI,SAAS,SAAW,IAAI,aAAa,WAAW,IAAI,SAAS,MAAO;AACxG,UAAI,OAAO;AAAA,IACb;AACA,WAAO,IAAI,SAAS,EAAE,QAAQ,OAAO,EAAE;AAAA,EACzC,QAAQ;AACN,WAAO,MAAM,QAAQ,OAAO,EAAE;AAAA,EAChC;AACF;AAEA,SAAS,WAAW,OAAqC;AACvD,SAAO,SAAS,KAAK,KAAK,OAAO,MAAM,cAAc,YAAY,OAAO,MAAM,OAAO;AACvF;AAEA,SAAS,iBAAiB,MAAsD;AAC9E,MAAI,CAAC,KAAK,iBAAkB,QAAO;AACnC,SAAO,KAAK,mBAAmB,GAAG,KAAK,gBAAgB,IAAI,KAAK,gBAAgB,KAAK,KAAK;AAC5F;AAEA,SAAS,qBAAqB,QAAqD;AACjF,MAAI,OAAO,OAAO,sBAAsB,SAAU,QAAO,OAAO;AAChE,MAAI,OAAO,OAAO,gBAAgB,SAAU,QAAO,OAAO;AAC1D,SAAO;AACT;AAEA,SAAS,gBAAgB,OAA8C;AACrE,MAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,EAAG,QAAO;AACxD,SAAO,OAAO,MAAM,CAAC,MAAM,YAAY,OAAO,MAAM,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI;AAC/F;AAEA,SAAS,WAAW,OAA0D;AAC5E,MAAI,CAAC,MAAM,QAAQ,KAAK,EAAG,QAAO,CAAC;AACnC,SAAO,MACJ,IAAI,UAAQ;AACX,QAAI,CAAC,SAAS,IAAI,EAAG,QAAO;AAC5B,UAAM,QAAQ,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ,OAAO,KAAK,MAAM,WAAW,KAAK,IAAI;AAClG,UAAM,SAAS,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS,OAAO,KAAK,MAAM,WAAW,KAAK,IAAI;AACrG,WAAO,UAAU,UAAa,WAAW,SAAY,EAAE,OAAO,OAAO,IAAI;AAAA,EAC3E,CAAC,EACA,OAAO,CAAC,MAA8C,QAAQ,CAAC,CAAC;AACrE;AAEA,SAAS,WAAW,KAAc,KAAsB;AACtD,SAAO,IAAI,OAAO,WAAW,KAAK,OAAO,UAAU;AACrD;AAEA,SAAS,SAAS,OAAkD;AAClE,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;","names":["packages","exact"]}
1
+ {"version":3,"sources":["../../../../src/lib/testing/storyboard/canonical-format-satisfaction.ts"],"sourcesContent":["import { lookupV1Format, projectV1ProductToV2 } from '../../v2/projection';\nimport type { V1FormatId, V2ProductFormatDeclaration } from '../../v2/projection';\nimport type { TaskResult } from '../types';\nimport type { RunnerRequestRecord, StoryboardContext, StoryboardValidation, ValidationResult } from './types';\nimport { resolvePath, toJsonPointer } from './path';\n\ntype BugClass = 'normalization' | 'directionality' | 'range_containment' | 'closed_set' | 'authoring';\n\ninterface SatisfactionVerdict {\n satisfied: boolean;\n bug_class: BugClass;\n detail: string;\n json_pointer: string | null;\n actual?: unknown;\n observations?: unknown[];\n}\n\ninterface CanonicalSelector {\n format_kind: string;\n params: Record<string, unknown>;\n pointer: string;\n}\n\n/**\n * Pure catalog-side form of the canonical-format check used by fixture\n * discovery. The selector is buyer-authored; a product matches when at least\n * one of its canonical declarations can satisfy it.\n */\nexport function productCanonicalFormatSatisfies(\n productOrFormats: unknown,\n selectorValue: Record<string, unknown>\n): boolean {\n const selector = canonicalSelectorFrom(selectorValue, '/fixture_resolution');\n if (!selector) return false;\n const product = isRecord(productOrFormats)\n ? productOrFormats\n : Array.isArray(productOrFormats)\n ? { format_options: productOrFormats }\n : undefined;\n if (!product) return false;\n return productFormatOptions(product).some(\n declaration => canonicalSelectorSatisfiesDeclaration(selector, declaration).ok\n );\n}\n\nconst FORMAT_IDENTITY_KEYS = ['agent_url', 'id', 'width', 'height', 'duration_ms'] as const;\nconst HANDLED_CANONICAL_PARAM_KEYS = new Set([\n 'width',\n 'height',\n 'sizes',\n 'min_width',\n 'max_width',\n 'min_height',\n 'max_height',\n 'duration_ms',\n 'duration_ms_exact',\n 'duration_ms_range',\n]);\nconst ARRAY_SUBSET_PARAM_KEYS = new Set(['video_codecs', 'audio_codecs', 'mime_types', 'file_types', 'formats']);\n\nexport function validateCanonicalFormatSatisfaction(\n validation: StoryboardValidation,\n request: RunnerRequestRecord | undefined,\n context: StoryboardContext | undefined,\n taskResult: TaskResult\n): ValidationResult {\n if (typeof validation.value !== 'boolean') {\n return {\n check: validation.check,\n passed: false,\n description: validation.description,\n error:\n 'canonical_format_satisfaction requires boolean `value` (true = request should be accepted, false = rejected)',\n json_pointer: null,\n expected: 'boolean validation.value',\n actual: validation.value ?? null,\n };\n }\n\n const expectedAccepted = validation.value;\n const taskAccepted = taskResult.success === true;\n const requestPayload = request?.payload;\n if (!isRecord(requestPayload)) {\n return {\n check: validation.check,\n passed: false,\n description: validation.description,\n error: 'canonical_format_satisfaction requires the runner request payload, but none was recorded',\n json_pointer: null,\n expected: 'create_media_buy request payload',\n actual: requestPayload ?? null,\n };\n }\n\n const packages = resolvePackages(requestPayload, validation.path);\n if (!packages.ok) {\n return {\n check: validation.check,\n passed: false,\n description: validation.description,\n error: packages.error,\n path: validation.path,\n json_pointer: packages.pointer,\n expected: 'one PackageRequest object or packages[] array',\n actual: packages.actual,\n };\n }\n\n const products = Array.isArray(context?.products) ? (context!.products as unknown[]) : [];\n const packageVerdicts = packages.packages.map(({ value, pointer }, index) =>\n evaluatePackage(value, pointer, index, products)\n );\n const localSatisfied = packageVerdicts.every(v => v.satisfied);\n const firstFailure = packageVerdicts.find(v => !v.satisfied);\n const primary = firstFailure ?? packageVerdicts[0];\n\n const localMatchesExpectation = localSatisfied === expectedAccepted;\n const observedMatchesExpectation = taskAccepted === expectedAccepted;\n const rejection = extractRejectionInfo(taskResult);\n const negativeRejectionMatches =\n expectedAccepted || taskAccepted || localSatisfied ? true : rejectionSupportsFormatFailure(rejection);\n const passed = localMatchesExpectation && observedMatchesExpectation && negativeRejectionMatches;\n if (passed) {\n return {\n check: validation.check,\n passed: true,\n description: validation.description,\n path: validation.path,\n json_pointer: primary?.json_pointer ?? null,\n expected: { accepted: expectedAccepted, local_satisfied: expectedAccepted },\n actual: {\n accepted: taskAccepted,\n local_satisfied: localSatisfied,\n ...(!taskAccepted && rejection && { rejection }),\n },\n observations: packageVerdicts.map(v => ({\n satisfied: v.satisfied,\n bug_class: v.bug_class,\n detail: v.detail,\n json_pointer: v.json_pointer,\n })),\n };\n }\n\n const likely = classifyLikelyFailure(expectedAccepted, taskAccepted, localSatisfied, primary);\n const error =\n !expectedAccepted && !taskAccepted && !localSatisfied && !negativeRejectionMatches\n ? `Expected request to be rejected for canonical format satisfaction, and local matching says it does not satisfy the product, but the agent rejection did not identify a format-selector cause. Observed rejection: ${formatRejectionInfo(rejection)}`\n : likely;\n return {\n check: validation.check,\n passed: false,\n description: validation.description,\n path: validation.path,\n error,\n json_pointer: primary?.json_pointer ?? null,\n expected: { accepted: expectedAccepted, local_satisfied: expectedAccepted },\n actual: {\n accepted: taskAccepted,\n local_satisfied: localSatisfied,\n ...(!taskAccepted && rejection && { rejection }),\n bug_class: primary?.bug_class ?? 'authoring',\n detail: primary?.detail ?? 'No package verdict was produced',\n },\n remediation: remediationFor(primary?.bug_class),\n observations: packageVerdicts.map(v => ({\n satisfied: v.satisfied,\n bug_class: v.bug_class,\n detail: v.detail,\n json_pointer: v.json_pointer,\n ...(v.actual !== undefined && { actual: v.actual }),\n ...(v.observations && { observations: v.observations }),\n })),\n };\n}\n\nfunction resolvePackages(\n requestPayload: Record<string, unknown>,\n path?: string\n):\n | { ok: true; packages: Array<{ value: Record<string, unknown>; pointer: string }> }\n | { ok: false; error: string; pointer: string | null; actual: unknown } {\n if (path) {\n const resolved = resolvePath(requestPayload, path);\n const pointer = toJsonPointer(path);\n if (Array.isArray(resolved)) {\n if (resolved.length === 0) {\n return {\n ok: false,\n error: `Path \"${path}\" resolved to an empty package array`,\n pointer,\n actual: [],\n };\n }\n const packages = resolved\n .map((item, i) => (isRecord(item) ? { value: item, pointer: `${pointer}/${i}` } : undefined))\n .filter((p): p is { value: Record<string, unknown>; pointer: string } => Boolean(p));\n if (packages.length === resolved.length) return { ok: true, packages };\n }\n if (isRecord(resolved)) return { ok: true, packages: [{ value: resolved, pointer }] };\n return {\n ok: false,\n error: `Path \"${path}\" did not resolve to a package object or array of package objects`,\n pointer,\n actual: resolved ?? null,\n };\n }\n\n const rawPackages = requestPayload.packages;\n if (!Array.isArray(rawPackages) || rawPackages.length === 0) {\n return {\n ok: false,\n error:\n 'canonical_format_satisfaction requires create_media_buy.packages[] unless validation.path selects a package',\n pointer: '/packages',\n actual: rawPackages ?? null,\n };\n }\n\n const packages = rawPackages\n .map((item, i) => (isRecord(item) ? { value: item, pointer: `/packages/${i}` } : undefined))\n .filter((p): p is { value: Record<string, unknown>; pointer: string } => Boolean(p));\n if (packages.length === rawPackages.length) return { ok: true, packages };\n return {\n ok: false,\n error: 'create_media_buy.packages[] contains a non-object entry',\n pointer: '/packages',\n actual: rawPackages,\n };\n}\n\nfunction evaluatePackage(\n pkg: Record<string, unknown>,\n pointer: string,\n index: number,\n products: unknown[]\n): SatisfactionVerdict {\n const productId = typeof pkg.product_id === 'string' ? pkg.product_id : undefined;\n const product = products.find(p => isRecord(p) && p.product_id === productId);\n if (!isRecord(product)) {\n return {\n satisfied: false,\n bug_class: 'authoring',\n detail: `No prior get_products context product matched packages[${index}].product_id=${JSON.stringify(productId)}`,\n json_pointer: `${pointer}/product_id`,\n actual: productId ?? null,\n };\n }\n\n const formatOptionRefs = Array.isArray(pkg.format_option_refs) ? pkg.format_option_refs : [];\n if (formatOptionRefs.length > 0) {\n return evaluateFormatOptionRefs(formatOptionRefs, product, pointer);\n }\n\n const formatIds = Array.isArray(pkg.format_ids) ? pkg.format_ids : [];\n if (formatIds.length > 0) {\n return evaluateLegacyFormatIds(formatIds, product, pointer, productId!);\n }\n\n const canonicalSelectors = extractCanonicalSelectors(pkg, pointer);\n if (canonicalSelectors.length > 0) {\n return evaluateCanonicalSelectors(canonicalSelectors, product);\n }\n\n return {\n satisfied: true,\n bug_class: 'directionality',\n detail: 'Package omitted format selectors; per PackageRequest semantics the seller default is all product formats',\n json_pointer: pointer,\n };\n}\n\nfunction evaluateFormatOptionRefs(\n refs: unknown[],\n product: Record<string, unknown>,\n packagePointer: string\n): SatisfactionVerdict {\n const declarations = productFormatOptions(product);\n if (declarations.length === 0) {\n return {\n satisfied: false,\n bug_class: 'closed_set',\n detail: 'Request used format_option_refs but the target product has no format_options[] closed set',\n json_pointer: `${packagePointer}/format_option_refs`,\n actual: refs,\n };\n }\n\n for (let i = 0; i < refs.length; i++) {\n const ref = refs[i];\n if (!isRecord(ref)) {\n return {\n satisfied: false,\n bug_class: 'authoring',\n detail: `format_option_refs[${i}] is not an object`,\n json_pointer: `${packagePointer}/format_option_refs/${i}`,\n actual: ref,\n };\n }\n if (ref.scope !== undefined && ref.scope !== 'product' && ref.scope !== 'publisher') {\n return {\n satisfied: false,\n bug_class: 'authoring',\n detail: `format_option_refs[${i}].scope must be \"product\" or \"publisher\" when present`,\n json_pointer: `${packagePointer}/format_option_refs/${i}/scope`,\n actual: ref.scope,\n };\n }\n if (ref.scope === 'publisher' && typeof ref.publisher_domain !== 'string') {\n return {\n satisfied: false,\n bug_class: 'authoring',\n detail: `format_option_refs[${i}] with scope=\"publisher\" requires publisher_domain`,\n json_pointer: `${packagePointer}/format_option_refs/${i}/publisher_domain`,\n actual: ref,\n };\n }\n const match = declarations.find(decl => {\n if (ref.scope === 'publisher') {\n return (\n decl.publisher_domain === ref.publisher_domain &&\n decl.format_option_id === ref.format_option_id &&\n typeof ref.publisher_domain === 'string'\n );\n }\n return decl.format_option_id === ref.format_option_id && !decl.publisher_domain;\n });\n if (!match) {\n return {\n satisfied: false,\n bug_class: 'closed_set',\n detail: `format_option_refs[${i}] does not resolve to the target product's format_options[] closed set`,\n json_pointer: `${packagePointer}/format_option_refs/${i}`,\n actual: ref,\n observations: [{ available_format_option_ids: declarations.map(declarationLabel).filter(Boolean) }],\n };\n }\n }\n\n return {\n satisfied: true,\n bug_class: 'directionality',\n detail: 'Every format_option_refs[] entry resolved to the target product format_options[] closed set',\n json_pointer: `${packagePointer}/format_option_refs`,\n };\n}\n\nfunction evaluateLegacyFormatIds(\n refs: unknown[],\n product: Record<string, unknown>,\n packagePointer: string,\n productId: string\n): SatisfactionVerdict {\n const declarations = productFormatOptions(product);\n for (let i = 0; i < refs.length; i++) {\n const ref = refs[i];\n if (!isFormatId(ref)) {\n return {\n satisfied: false,\n bug_class: 'authoring',\n detail: `format_ids[${i}] is not a structured FormatId object`,\n json_pointer: `${packagePointer}/format_ids/${i}`,\n actual: ref,\n };\n }\n\n const direct = declarations.find(decl => (decl.v1_format_ref ?? []).some(v1 => sameFormatId(v1, ref)));\n if (direct) continue;\n\n const projected = projectLegacyRef(ref, productId, `${packagePointer}/format_ids/${i}`);\n if (projected) {\n const match = declarations.find(decl => canonicalSelectorSatisfiesDeclaration(projected, decl).ok);\n if (match) continue;\n }\n\n if (\n declarations.length === 0 &&\n Array.isArray(product.format_ids) &&\n product.format_ids.some(fid => isFormatId(fid) && sameFormatId(fid, ref))\n ) {\n continue;\n }\n\n return {\n satisfied: false,\n bug_class: 'normalization',\n detail:\n `Legacy format_ids[${i}] did not normalize to any canonical declaration on product ${JSON.stringify(productId)}. ` +\n `Check v1_format_ref links and v1→canonical registry/catalog projection.`,\n json_pointer: `${packagePointer}/format_ids/${i}`,\n actual: ref,\n observations: [{ projected }],\n };\n }\n\n return {\n satisfied: true,\n bug_class: 'normalization',\n detail: 'Every legacy format_id normalized to a product canonical declaration or product legacy format_id',\n json_pointer: `${packagePointer}/format_ids`,\n };\n}\n\nfunction evaluateCanonicalSelectors(\n selectors: CanonicalSelector[],\n product: Record<string, unknown>\n): SatisfactionVerdict {\n const declarations = productFormatOptions(product);\n if (declarations.length === 0) {\n return {\n satisfied: false,\n bug_class: 'closed_set',\n detail: 'Request used canonical format selectors but the target product has no format_options[] closed set',\n json_pointer: selectors[0]?.pointer ?? null,\n actual: selectors,\n };\n }\n\n for (const selector of selectors) {\n const candidates = declarations.filter(decl => decl.format_kind === selector.format_kind);\n if (candidates.length === 0) {\n return {\n satisfied: false,\n bug_class: 'closed_set',\n detail: `Canonical selector format_kind=${JSON.stringify(selector.format_kind)} is outside the product format_options[] closed set`,\n json_pointer: selector.pointer,\n actual: selector,\n };\n }\n\n const checks = candidates.map(decl => canonicalSelectorSatisfiesDeclaration(selector, decl));\n if (checks.some(c => c.ok)) continue;\n const primary = checks.find(c => c.bug_class === 'range_containment') ?? checks[0]!;\n return {\n satisfied: false,\n bug_class: primary.bug_class,\n detail: primary.detail,\n json_pointer: selector.pointer,\n actual: selector,\n observations: checks.map(c => ({ ok: c.ok, bug_class: c.bug_class, detail: c.detail })),\n };\n }\n\n return {\n satisfied: true,\n bug_class: 'directionality',\n detail: 'Every canonical selector satisfies at least one product format_options[] declaration',\n json_pointer: selectors[0]?.pointer ?? null,\n };\n}\n\nfunction canonicalSelectorSatisfiesDeclaration(\n selector: CanonicalSelector,\n decl: V2ProductFormatDeclaration\n): { ok: true; detail: string; bug_class: BugClass } | { ok: false; detail: string; bug_class: BugClass } {\n if (selector.format_kind !== decl.format_kind) {\n return {\n ok: false,\n bug_class: 'closed_set',\n detail: `format_kind ${JSON.stringify(selector.format_kind)} does not match product declaration ${JSON.stringify(decl.format_kind)}`,\n };\n }\n const productParams = isRecord(decl.params) ? decl.params : {};\n const requestParams = selector.params;\n\n const fixedSize = requireFixedSize(productParams, requestParams);\n if (!fixedSize.ok) return fixedSize;\n\n const sizeList = requireSizeList(productParams, requestParams);\n if (!sizeList.ok) return sizeList;\n\n const dimensionRanges = requireNumericRangeContainment(\n productParams,\n requestParams,\n 'width',\n 'min_width',\n 'max_width'\n );\n if (!dimensionRanges.ok) return dimensionRanges;\n const heightRanges = requireNumericRangeContainment(\n productParams,\n requestParams,\n 'height',\n 'min_height',\n 'max_height'\n );\n if (!heightRanges.ok) return heightRanges;\n\n const duration = requireDurationContainment(productParams, requestParams);\n if (!duration.ok) return duration;\n\n const remainingParams = requireRemainingParamContainment(productParams, requestParams);\n if (!remainingParams.ok) return remainingParams;\n\n return {\n ok: true,\n bug_class: 'directionality',\n detail: 'Selector constraints satisfy product declaration constraints',\n };\n}\n\nfunction requireFixedSize(\n productParams: Record<string, unknown>,\n requestParams: Record<string, unknown>\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n const hasFixedWidth = typeof productParams.width === 'number';\n const hasFixedHeight = typeof productParams.height === 'number';\n if (!hasFixedWidth && !hasFixedHeight) return { ok: true };\n\n for (const key of ['width', 'height'] as const) {\n if (typeof productParams[key] !== 'number') continue;\n if (requestParams[key] === undefined) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product fixes params.${key}=${productParams[key]}, but the request selector omits ${key}`,\n };\n }\n if (requestParams[key] !== productParams[key]) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Selector params.${key}=${JSON.stringify(requestParams[key])} does not equal fixed product params.${key}=${productParams[key]}`,\n };\n }\n }\n return { ok: true };\n}\n\nfunction requireRemainingParamContainment(\n productParams: Record<string, unknown>,\n requestParams: Record<string, unknown>\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n for (const [key, productValue] of Object.entries(productParams)) {\n if (HANDLED_CANONICAL_PARAM_KEYS.has(key) || productValue === undefined) continue;\n if (Array.isArray(productValue) && productValue.length === 0) continue;\n\n if (requestParams[key] === undefined) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product constrains params.${key}, but the request selector omits ${key}`,\n };\n }\n\n const requestValue = requestParams[key];\n if (ARRAY_SUBSET_PARAM_KEYS.has(key)) {\n const subset = requireArraySubset(key, productValue, requestValue);\n if (!subset.ok) return subset;\n continue;\n }\n\n if (!deepEqualJson(requestValue, productValue)) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Selector params.${key}=${JSON.stringify(requestValue)} does not equal product params.${key}=${JSON.stringify(productValue)}`,\n };\n }\n }\n\n return { ok: true };\n}\n\nfunction requireArraySubset(\n key: string,\n productValue: unknown,\n requestValue: unknown\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n if (!Array.isArray(productValue)) {\n if (deepEqualJson(requestValue, productValue)) return { ok: true };\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Selector params.${key}=${JSON.stringify(requestValue)} does not equal product params.${key}=${JSON.stringify(productValue)}`,\n };\n }\n if (!Array.isArray(requestValue) || requestValue.length === 0) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product constrains params.${key}[], but the request selector omits a non-empty array`,\n };\n }\n const outside = requestValue.find(item => !productValue.some(allowed => deepEqualJson(item, allowed)));\n if (outside !== undefined) {\n return {\n ok: false,\n bug_class: 'closed_set',\n detail: `Selector params.${key} item ${JSON.stringify(outside)} is outside product params.${key}[]`,\n };\n }\n return { ok: true };\n}\n\nfunction requireSizeList(\n productParams: Record<string, unknown>,\n requestParams: Record<string, unknown>\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n const productSizes = parseSizes(productParams.sizes);\n if (!productSizes.length) return { ok: true };\n const requestSizes = parseSizes(requestParams.sizes);\n const requestExact =\n typeof requestParams.width === 'number' && typeof requestParams.height === 'number'\n ? [{ width: requestParams.width, height: requestParams.height }]\n : [];\n const selected = requestSizes.length > 0 ? requestSizes : requestExact;\n if (selected.length === 0) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail:\n 'Under-specified selector: product declares params.sizes[], but the request omits sizes or exact width/height',\n };\n }\n const outside = selected.find(s => !productSizes.some(p => p.width === s.width && p.height === s.height));\n if (outside) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Selector size ${outside.width}x${outside.height} is outside product params.sizes[]`,\n };\n }\n return { ok: true };\n}\n\nfunction requireNumericRangeContainment(\n productParams: Record<string, unknown>,\n requestParams: Record<string, unknown>,\n exactKey: string,\n minKey: string,\n maxKey: string\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n const min = typeof productParams[minKey] === 'number' ? productParams[minKey] : undefined;\n const max = typeof productParams[maxKey] === 'number' ? productParams[maxKey] : undefined;\n if (min === undefined && max === undefined) return { ok: true };\n\n if (typeof requestParams[exactKey] === 'number') {\n const exact = requestParams[exactKey] as number;\n if ((min !== undefined && exact < min) || (max !== undefined && exact > max)) {\n return {\n ok: false,\n bug_class: 'range_containment',\n detail: `Selector ${exactKey}=${exact} is outside product range ${rangeLabel(min, max)}`,\n };\n }\n return { ok: true };\n }\n\n const reqMin = typeof requestParams[minKey] === 'number' ? (requestParams[minKey] as number) : undefined;\n const reqMax = typeof requestParams[maxKey] === 'number' ? (requestParams[maxKey] as number) : undefined;\n if (reqMin === undefined && reqMax === undefined) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product constrains ${exactKey} range ${rangeLabel(min, max)}, but the request omits ${exactKey}/${minKey}/${maxKey}`,\n };\n }\n if ((min !== undefined && (reqMin ?? -Infinity) < min) || (max !== undefined && (reqMax ?? Infinity) > max)) {\n return {\n ok: false,\n bug_class: 'range_containment',\n detail: `Selector ${exactKey} range ${rangeLabel(reqMin, reqMax)} only overlaps or exceeds product range ${rangeLabel(min, max)}; request ranges must be contained`,\n };\n }\n return { ok: true };\n}\n\nfunction requireDurationContainment(\n productParams: Record<string, unknown>,\n requestParams: Record<string, unknown>\n): { ok: true } | { ok: false; bug_class: BugClass; detail: string } {\n if (typeof productParams.duration_ms_exact === 'number') {\n const exact = requestDurationExact(requestParams);\n if (exact === undefined) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product fixes duration_ms_exact=${productParams.duration_ms_exact}, but the request omits an exact duration`,\n };\n }\n if (exact !== productParams.duration_ms_exact) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Selector duration ${exact} does not equal product duration_ms_exact=${productParams.duration_ms_exact}`,\n };\n }\n return { ok: true };\n }\n\n const productRange = parseNumberPair(productParams.duration_ms_range);\n if (!productRange) return { ok: true };\n const exact = requestDurationExact(requestParams);\n if (exact !== undefined) {\n if (exact < productRange[0] || exact > productRange[1]) {\n return {\n ok: false,\n bug_class: 'range_containment',\n detail: `Selector exact duration ${exact} is outside product duration_ms_range ${rangeLabel(productRange[0], productRange[1])}`,\n };\n }\n return { ok: true };\n }\n const requestRange = parseNumberPair(requestParams.duration_ms_range);\n if (!requestRange) {\n return {\n ok: false,\n bug_class: 'directionality',\n detail: `Under-specified selector: product constrains duration_ms_range ${rangeLabel(productRange[0], productRange[1])}, but the request omits duration`,\n };\n }\n if (requestRange[0] < productRange[0] || requestRange[1] > productRange[1]) {\n return {\n ok: false,\n bug_class: 'range_containment',\n detail: `Selector duration_ms_range ${rangeLabel(requestRange[0], requestRange[1])} only overlaps or exceeds product range ${rangeLabel(productRange[0], productRange[1])}; request ranges must be contained`,\n };\n }\n return { ok: true };\n}\n\nfunction extractCanonicalSelectors(pkg: Record<string, unknown>, packagePointer: string): CanonicalSelector[] {\n const selectors: CanonicalSelector[] = [];\n const arrays: Array<[unknown, string]> = [\n [pkg.format_options, `${packagePointer}/format_options`],\n [pkg.format_selectors, `${packagePointer}/format_selectors`],\n [pkg.formats, `${packagePointer}/formats`],\n ];\n for (const [value, pointer] of arrays) {\n if (!Array.isArray(value)) continue;\n for (let i = 0; i < value.length; i++) {\n const selector = canonicalSelectorFrom(value[i], `${pointer}/${i}`);\n if (selector) selectors.push(selector);\n }\n }\n const direct = canonicalSelectorFrom(pkg, packagePointer);\n if (direct) selectors.push(direct);\n const single = canonicalSelectorFrom(pkg.format_option, `${packagePointer}/format_option`);\n if (single) selectors.push(single);\n return selectors;\n}\n\nfunction canonicalSelectorFrom(value: unknown, pointer: string): CanonicalSelector | undefined {\n if (!isRecord(value) || typeof value.format_kind !== 'string') return undefined;\n const params = isRecord(value.params) ? { ...value.params } : {};\n for (const key of [\n 'width',\n 'height',\n 'sizes',\n 'min_width',\n 'max_width',\n 'min_height',\n 'max_height',\n 'duration_ms',\n 'duration_ms_exact',\n 'duration_ms_range',\n 'orientation',\n 'aspect_ratio',\n 'video_codecs',\n 'audio_codecs',\n 'mime_types',\n 'file_types',\n 'formats',\n 'slots',\n 'platform_extensions',\n 'tracking_extensions',\n ]) {\n if (value[key] !== undefined && params[key] === undefined) params[key] = value[key];\n }\n return { format_kind: value.format_kind, params, pointer };\n}\n\nfunction productFormatOptions(product: Record<string, unknown>): V2ProductFormatDeclaration[] {\n if (!Array.isArray(product.format_options)) return [];\n return product.format_options.filter(isRecord) as unknown as V2ProductFormatDeclaration[];\n}\n\nfunction projectLegacyRef(ref: V1FormatId, productId: string, pointer: string): CanonicalSelector | undefined {\n const { v2 } = projectV1ProductToV2({\n product_id: productId,\n name: productId,\n description: productId,\n format_ids: [ref],\n });\n const decl = v2.format_options[0];\n if (!decl) return undefined;\n const params = augmentProjectedParamsFromCatalog(ref, isRecord(decl.params) ? decl.params : {});\n return {\n format_kind: decl.format_kind,\n params,\n pointer,\n };\n}\n\nfunction augmentProjectedParamsFromCatalog(\n ref: V1FormatId,\n projectedParams: Record<string, unknown>\n): Record<string, unknown> {\n const out = { ...projectedParams };\n const catalogEntry = lookupV1Format(ref);\n if (!catalogEntry) return out;\n\n if (out.width === undefined || out.height === undefined) {\n const dimensions = firstCatalogDimensions(catalogEntry);\n if (dimensions) {\n if (out.width === undefined) out.width = dimensions.width;\n if (out.height === undefined) out.height = dimensions.height;\n }\n }\n\n if (out.duration_ms_exact === undefined) {\n const duration = firstCatalogDurationMs(catalogEntry);\n if (duration !== undefined) out.duration_ms_exact = duration;\n }\n\n return out;\n}\n\nfunction firstCatalogDimensions(catalogEntry: Record<string, unknown>): { width: number; height: number } | undefined {\n const renders = Array.isArray(catalogEntry.renders) ? catalogEntry.renders : [];\n for (const render of renders) {\n if (!isRecord(render) || !isRecord(render.dimensions)) continue;\n const { width, height } = render.dimensions;\n if (typeof width === 'number' && typeof height === 'number') return { width, height };\n }\n\n const assets = Array.isArray(catalogEntry.assets) ? catalogEntry.assets : [];\n for (const asset of assets) {\n if (!isRecord(asset) || !isRecord(asset.requirements)) continue;\n const { width, height } = asset.requirements;\n if (typeof width === 'number' && typeof height === 'number') return { width, height };\n }\n return undefined;\n}\n\ninterface RejectionInfo {\n codes: string[];\n fields: string[];\n messages: string[];\n}\n\nfunction extractRejectionInfo(taskResult: TaskResult): RejectionInfo | undefined {\n if (taskResult.success === true) return undefined;\n const codes = new Set<string>();\n const fields = new Set<string>();\n const messages = new Set<string>();\n collectRejectionInfo(taskResult, codes, fields, messages);\n return {\n codes: [...codes],\n fields: [...fields],\n messages: [...messages],\n };\n}\n\nfunction collectRejectionInfo(\n value: unknown,\n codes: Set<string>,\n fields: Set<string>,\n messages: Set<string>,\n depth = 0\n): void {\n if (depth > 5) return;\n if (typeof value === 'string') {\n messages.add(value);\n const prefixedCode = value.match(/^([A-Z][A-Z0-9_]+):/);\n if (prefixedCode?.[1]) codes.add(prefixedCode[1]);\n return;\n }\n if (Array.isArray(value)) {\n for (const item of value) collectRejectionInfo(item, codes, fields, messages, depth + 1);\n return;\n }\n if (!isRecord(value)) return;\n\n for (const key of ['code', 'error_code', 'reason'] as const) {\n const maybeCode = value[key];\n if (typeof maybeCode === 'string') codes.add(maybeCode);\n }\n for (const key of ['field', 'path', 'json_pointer'] as const) {\n const maybeField = value[key];\n if (typeof maybeField === 'string') fields.add(maybeField);\n }\n for (const key of ['message', 'error', 'detail', 'suggestion'] as const) {\n const maybeMessage = value[key];\n if (typeof maybeMessage === 'string') messages.add(maybeMessage);\n }\n for (const key of ['adcp_error', 'adcpError', 'data', 'details', 'errors', 'issues'] as const) {\n if (value[key] !== undefined) collectRejectionInfo(value[key], codes, fields, messages, depth + 1);\n }\n}\n\nfunction rejectionSupportsFormatFailure(rejection: RejectionInfo | undefined): boolean {\n if (!rejection) return false;\n if (rejection.codes.some(code => code.startsWith('FORMAT_'))) return true;\n return [...rejection.fields, ...rejection.messages].some(text =>\n /format|format_option|format_id|selector/i.test(text)\n );\n}\n\nfunction formatRejectionInfo(rejection: RejectionInfo | undefined): string {\n if (!rejection) return 'no structured rejection details';\n return JSON.stringify(rejection);\n}\n\nfunction deepEqualJson(a: unknown, b: unknown): boolean {\n return stableJson(a) === stableJson(b);\n}\n\nfunction stableJson(value: unknown): string {\n if (Array.isArray(value)) return `[${value.map(stableJson).join(',')}]`;\n if (isRecord(value)) {\n return `{${Object.keys(value)\n .sort()\n .map(key => `${JSON.stringify(key)}:${stableJson(value[key])}`)\n .join(',')}}`;\n }\n return JSON.stringify(value);\n}\n\nfunction firstCatalogDurationMs(catalogEntry: Record<string, unknown>): number | undefined {\n const assets = Array.isArray(catalogEntry.assets) ? catalogEntry.assets : [];\n for (const asset of assets) {\n if (!isRecord(asset) || !isRecord(asset.requirements)) continue;\n const { duration_ms, duration_seconds } = asset.requirements;\n if (typeof duration_ms === 'number') return duration_ms;\n if (typeof duration_seconds === 'number') return duration_seconds * 1000;\n }\n return undefined;\n}\n\nfunction classifyLikelyFailure(\n expectedAccepted: boolean,\n taskAccepted: boolean,\n localSatisfied: boolean,\n primary: SatisfactionVerdict | undefined\n): string {\n const observed = taskAccepted ? 'accepted' : 'rejected';\n const expected = expectedAccepted ? 'accepted' : 'rejected';\n const local = localSatisfied ? 'satisfies' : 'does not satisfy';\n const bugClass = primary?.bug_class ?? 'authoring';\n const detail = primary?.detail ?? 'no local satisfaction verdict';\n if (expectedAccepted && !taskAccepted && localSatisfied) {\n return `Expected request to be accepted and local canonical matching says it satisfies the product, but the agent rejected it. Likely ${bugClass} failure: ${detail}`;\n }\n if (!expectedAccepted && taskAccepted && !localSatisfied) {\n return `Expected request to be rejected because local canonical matching says it does not satisfy the product, but the agent accepted it. Likely ${bugClass} failure: ${detail}`;\n }\n if (!localSatisfied && expectedAccepted) {\n return `Storyboard expected acceptance, but the authored request does not satisfy the product locally (${bugClass}): ${detail}`;\n }\n if (localSatisfied && !expectedAccepted) {\n return `Storyboard expected rejection, but the authored request satisfies the product locally: ${detail}`;\n }\n return `Expected ${expected}, observed ${observed}; local matcher says request ${local}. ${detail}`;\n}\n\nfunction remediationFor(bugClass: BugClass | undefined): string | undefined {\n switch (bugClass) {\n case 'normalization':\n return 'Normalize legacy format_ids through product v1_format_ref, catalog canonical annotations, or the v1-canonical registry before comparing to product format_options.';\n case 'directionality':\n return 'Apply directional product gating: the request selector must contain the product-declared fixed constraints; a bare canonical kind does not satisfy a fixed-size or fixed-duration product.';\n case 'range_containment':\n return 'Use containment for ranges: an exact request must be inside the product range, and a request range must be fully contained by the product range, not merely overlap it.';\n case 'closed_set':\n return 'Treat product format_options[] as a closed set and reject selectors that do not resolve to one of its declarations.';\n default:\n return undefined;\n }\n}\n\nfunction sameFormatId(a: V1FormatId, b: V1FormatId): boolean {\n for (const key of FORMAT_IDENTITY_KEYS) {\n const av = key === 'agent_url' ? normalizeAgentUrl(a[key]) : a[key];\n const bv = key === 'agent_url' ? normalizeAgentUrl(b[key]) : b[key];\n if (av !== bv) return false;\n }\n return true;\n}\n\nfunction normalizeAgentUrl(value: unknown): unknown {\n if (typeof value !== 'string') return value;\n try {\n const url = new URL(value);\n url.hash = '';\n if ((url.protocol === 'https:' && url.port === '443') || (url.protocol === 'http:' && url.port === '80')) {\n url.port = '';\n }\n return url.toString().replace(/\\/$/, '');\n } catch {\n return value.replace(/\\/$/, '');\n }\n}\n\nfunction isFormatId(value: unknown): value is V1FormatId {\n return isRecord(value) && typeof value.agent_url === 'string' && typeof value.id === 'string';\n}\n\nfunction declarationLabel(decl: V2ProductFormatDeclaration): string | undefined {\n if (!decl.format_option_id) return undefined;\n return decl.publisher_domain ? `${decl.publisher_domain}/${decl.format_option_id}` : decl.format_option_id;\n}\n\nfunction requestDurationExact(params: Record<string, unknown>): number | undefined {\n if (typeof params.duration_ms_exact === 'number') return params.duration_ms_exact;\n if (typeof params.duration_ms === 'number') return params.duration_ms;\n return undefined;\n}\n\nfunction parseNumberPair(value: unknown): [number, number] | undefined {\n if (!Array.isArray(value) || value.length !== 2) return undefined;\n return typeof value[0] === 'number' && typeof value[1] === 'number' ? [value[0], value[1]] : undefined;\n}\n\nfunction parseSizes(value: unknown): Array<{ width: number; height: number }> {\n if (!Array.isArray(value)) return [];\n return value\n .map(item => {\n if (!isRecord(item)) return undefined;\n const width = typeof item.width === 'number' ? item.width : typeof item.w === 'number' ? item.w : undefined;\n const height = typeof item.height === 'number' ? item.height : typeof item.h === 'number' ? item.h : undefined;\n return width !== undefined && height !== undefined ? { width, height } : undefined;\n })\n .filter((s): s is { width: number; height: number } => Boolean(s));\n}\n\nfunction rangeLabel(min: unknown, max: unknown): string {\n return `[${min ?? '-infinity'}, ${max ?? 'infinity'}]`;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqD;AAIrD,kBAA2C;AAwBpC,SAAS,gCACd,kBACA,eACS;AACT,QAAM,WAAW,sBAAsB,eAAe,qBAAqB;AAC3E,MAAI,CAAC,SAAU,QAAO;AACtB,QAAM,UAAU,SAAS,gBAAgB,IACrC,mBACA,MAAM,QAAQ,gBAAgB,IAC5B,EAAE,gBAAgB,iBAAiB,IACnC;AACN,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO,qBAAqB,OAAO,EAAE;AAAA,IACnC,iBAAe,sCAAsC,UAAU,WAAW,EAAE;AAAA,EAC9E;AACF;AAEA,MAAM,uBAAuB,CAAC,aAAa,MAAM,SAAS,UAAU,aAAa;AACjF,MAAM,+BAA+B,oBAAI,IAAI;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AACD,MAAM,0BAA0B,oBAAI,IAAI,CAAC,gBAAgB,gBAAgB,cAAc,cAAc,SAAS,CAAC;AAExG,SAAS,oCACd,YACA,SACA,SACA,YACkB;AAClB,MAAI,OAAO,WAAW,UAAU,WAAW;AACzC,WAAO;AAAA,MACL,OAAO,WAAW;AAAA,MAClB,QAAQ;AAAA,MACR,aAAa,WAAW;AAAA,MACxB,OACE;AAAA,MACF,cAAc;AAAA,MACd,UAAU;AAAA,MACV,QAAQ,WAAW,SAAS;AAAA,IAC9B;AAAA,EACF;AAEA,QAAM,mBAAmB,WAAW;AACpC,QAAM,eAAe,WAAW,YAAY;AAC5C,QAAM,iBAAiB,SAAS;AAChC,MAAI,CAAC,SAAS,cAAc,GAAG;AAC7B,WAAO;AAAA,MACL,OAAO,WAAW;AAAA,MAClB,QAAQ;AAAA,MACR,aAAa,WAAW;AAAA,MACxB,OAAO;AAAA,MACP,cAAc;AAAA,MACd,UAAU;AAAA,MACV,QAAQ,kBAAkB;AAAA,IAC5B;AAAA,EACF;AAEA,QAAM,WAAW,gBAAgB,gBAAgB,WAAW,IAAI;AAChE,MAAI,CAAC,SAAS,IAAI;AAChB,WAAO;AAAA,MACL,OAAO,WAAW;AAAA,MAClB,QAAQ;AAAA,MACR,aAAa,WAAW;AAAA,MACxB,OAAO,SAAS;AAAA,MAChB,MAAM,WAAW;AAAA,MACjB,cAAc,SAAS;AAAA,MACvB,UAAU;AAAA,MACV,QAAQ,SAAS;AAAA,IACnB;AAAA,EACF;AAEA,QAAM,WAAW,MAAM,QAAQ,SAAS,QAAQ,IAAK,QAAS,WAAyB,CAAC;AACxF,QAAM,kBAAkB,SAAS,SAAS;AAAA,IAAI,CAAC,EAAE,OAAO,QAAQ,GAAG,UACjE,gBAAgB,OAAO,SAAS,OAAO,QAAQ;AAAA,EACjD;AACA,QAAM,iBAAiB,gBAAgB,MAAM,OAAK,EAAE,SAAS;AAC7D,QAAM,eAAe,gBAAgB,KAAK,OAAK,CAAC,EAAE,SAAS;AAC3D,QAAM,UAAU,gBAAgB,gBAAgB,CAAC;AAEjD,QAAM,0BAA0B,mBAAmB;AACnD,QAAM,6BAA6B,iBAAiB;AACpD,QAAM,YAAY,qBAAqB,UAAU;AACjD,QAAM,2BACJ,oBAAoB,gBAAgB,iBAAiB,OAAO,+BAA+B,SAAS;AACtG,QAAM,SAAS,2BAA2B,8BAA8B;AACxE,MAAI,QAAQ;AACV,WAAO;AAAA,MACL,OAAO,WAAW;AAAA,MAClB,QAAQ;AAAA,MACR,aAAa,WAAW;AAAA,MACxB,MAAM,WAAW;AAAA,MACjB,cAAc,SAAS,gBAAgB;AAAA,MACvC,UAAU,EAAE,UAAU,kBAAkB,iBAAiB,iBAAiB;AAAA,MAC1E,QAAQ;AAAA,QACN,UAAU;AAAA,QACV,iBAAiB;AAAA,QACjB,GAAI,CAAC,gBAAgB,aAAa,EAAE,UAAU;AAAA,MAChD;AAAA,MACA,cAAc,gBAAgB,IAAI,QAAM;AAAA,QACtC,WAAW,EAAE;AAAA,QACb,WAAW,EAAE;AAAA,QACb,QAAQ,EAAE;AAAA,QACV,cAAc,EAAE;AAAA,MAClB,EAAE;AAAA,IACJ;AAAA,EACF;AAEA,QAAM,SAAS,sBAAsB,kBAAkB,cAAc,gBAAgB,OAAO;AAC5F,QAAM,QACJ,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,2BACtD,qNAAqN,oBAAoB,SAAS,CAAC,KACnP;AACN,SAAO;AAAA,IACL,OAAO,WAAW;AAAA,IAClB,QAAQ;AAAA,IACR,aAAa,WAAW;AAAA,IACxB,MAAM,WAAW;AAAA,IACjB;AAAA,IACA,cAAc,SAAS,gBAAgB;AAAA,IACvC,UAAU,EAAE,UAAU,kBAAkB,iBAAiB,iBAAiB;AAAA,IAC1E,QAAQ;AAAA,MACN,UAAU;AAAA,MACV,iBAAiB;AAAA,MACjB,GAAI,CAAC,gBAAgB,aAAa,EAAE,UAAU;AAAA,MAC9C,WAAW,SAAS,aAAa;AAAA,MACjC,QAAQ,SAAS,UAAU;AAAA,IAC7B;AAAA,IACA,aAAa,eAAe,SAAS,SAAS;AAAA,IAC9C,cAAc,gBAAgB,IAAI,QAAM;AAAA,MACtC,WAAW,EAAE;AAAA,MACb,WAAW,EAAE;AAAA,MACb,QAAQ,EAAE;AAAA,MACV,cAAc,EAAE;AAAA,MAChB,GAAI,EAAE,WAAW,UAAa,EAAE,QAAQ,EAAE,OAAO;AAAA,MACjD,GAAI,EAAE,gBAAgB,EAAE,cAAc,EAAE,aAAa;AAAA,IACvD,EAAE;AAAA,EACJ;AACF;AAEA,SAAS,gBACP,gBACA,MAGwE;AACxE,MAAI,MAAM;AACR,UAAM,eAAW,yBAAY,gBAAgB,IAAI;AACjD,UAAM,cAAU,2BAAc,IAAI;AAClC,QAAI,MAAM,QAAQ,QAAQ,GAAG;AAC3B,UAAI,SAAS,WAAW,GAAG;AACzB,eAAO;AAAA,UACL,IAAI;AAAA,UACJ,OAAO,SAAS,IAAI;AAAA,UACpB;AAAA,UACA,QAAQ,CAAC;AAAA,QACX;AAAA,MACF;AACA,YAAMA,YAAW,SACd,IAAI,CAAC,MAAM,MAAO,SAAS,IAAI,IAAI,EAAE,OAAO,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,IAAI,MAAU,EAC3F,OAAO,CAAC,MAAgE,QAAQ,CAAC,CAAC;AACrF,UAAIA,UAAS,WAAW,SAAS,OAAQ,QAAO,EAAE,IAAI,MAAM,UAAAA,UAAS;AAAA,IACvE;AACA,QAAI,SAAS,QAAQ,EAAG,QAAO,EAAE,IAAI,MAAM,UAAU,CAAC,EAAE,OAAO,UAAU,QAAQ,CAAC,EAAE;AACpF,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,OAAO,SAAS,IAAI;AAAA,MACpB;AAAA,MACA,QAAQ,YAAY;AAAA,IACtB;AAAA,EACF;AAEA,QAAM,cAAc,eAAe;AACnC,MAAI,CAAC,MAAM,QAAQ,WAAW,KAAK,YAAY,WAAW,GAAG;AAC3D,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,OACE;AAAA,MACF,SAAS;AAAA,MACT,QAAQ,eAAe;AAAA,IACzB;AAAA,EACF;AAEA,QAAM,WAAW,YACd,IAAI,CAAC,MAAM,MAAO,SAAS,IAAI,IAAI,EAAE,OAAO,MAAM,SAAS,aAAa,CAAC,GAAG,IAAI,MAAU,EAC1F,OAAO,CAAC,MAAgE,QAAQ,CAAC,CAAC;AACrF,MAAI,SAAS,WAAW,YAAY,OAAQ,QAAO,EAAE,IAAI,MAAM,SAAS;AACxE,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,EACV;AACF;AAEA,SAAS,gBACP,KACA,SACA,OACA,UACqB;AACrB,QAAM,YAAY,OAAO,IAAI,eAAe,WAAW,IAAI,aAAa;AACxE,QAAM,UAAU,SAAS,KAAK,OAAK,SAAS,CAAC,KAAK,EAAE,eAAe,SAAS;AAC5E,MAAI,CAAC,SAAS,OAAO,GAAG;AACtB,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QAAQ,0DAA0D,KAAK,gBAAgB,KAAK,UAAU,SAAS,CAAC;AAAA,MAChH,cAAc,GAAG,OAAO;AAAA,MACxB,QAAQ,aAAa;AAAA,IACvB;AAAA,EACF;AAEA,QAAM,mBAAmB,MAAM,QAAQ,IAAI,kBAAkB,IAAI,IAAI,qBAAqB,CAAC;AAC3F,MAAI,iBAAiB,SAAS,GAAG;AAC/B,WAAO,yBAAyB,kBAAkB,SAAS,OAAO;AAAA,EACpE;AAEA,QAAM,YAAY,MAAM,QAAQ,IAAI,UAAU,IAAI,IAAI,aAAa,CAAC;AACpE,MAAI,UAAU,SAAS,GAAG;AACxB,WAAO,wBAAwB,WAAW,SAAS,SAAS,SAAU;AAAA,EACxE;AAEA,QAAM,qBAAqB,0BAA0B,KAAK,OAAO;AACjE,MAAI,mBAAmB,SAAS,GAAG;AACjC,WAAO,2BAA2B,oBAAoB,OAAO;AAAA,EAC/D;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc;AAAA,EAChB;AACF;AAEA,SAAS,yBACP,MACA,SACA,gBACqB;AACrB,QAAM,eAAe,qBAAqB,OAAO;AACjD,MAAI,aAAa,WAAW,GAAG;AAC7B,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,cAAc,GAAG,cAAc;AAAA,MAC/B,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,MAAM,KAAK,CAAC;AAClB,QAAI,CAAC,SAAS,GAAG,GAAG;AAClB,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,sBAAsB,CAAC;AAAA,QAC/B,cAAc,GAAG,cAAc,uBAAuB,CAAC;AAAA,QACvD,QAAQ;AAAA,MACV;AAAA,IACF;AACA,QAAI,IAAI,UAAU,UAAa,IAAI,UAAU,aAAa,IAAI,UAAU,aAAa;AACnF,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,sBAAsB,CAAC;AAAA,QAC/B,cAAc,GAAG,cAAc,uBAAuB,CAAC;AAAA,QACvD,QAAQ,IAAI;AAAA,MACd;AAAA,IACF;AACA,QAAI,IAAI,UAAU,eAAe,OAAO,IAAI,qBAAqB,UAAU;AACzE,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,sBAAsB,CAAC;AAAA,QAC/B,cAAc,GAAG,cAAc,uBAAuB,CAAC;AAAA,QACvD,QAAQ;AAAA,MACV;AAAA,IACF;AACA,UAAM,QAAQ,aAAa,KAAK,UAAQ;AACtC,UAAI,IAAI,UAAU,aAAa;AAC7B,eACE,KAAK,qBAAqB,IAAI,oBAC9B,KAAK,qBAAqB,IAAI,oBAC9B,OAAO,IAAI,qBAAqB;AAAA,MAEpC;AACA,aAAO,KAAK,qBAAqB,IAAI,oBAAoB,CAAC,KAAK;AAAA,IACjE,CAAC;AACD,QAAI,CAAC,OAAO;AACV,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,sBAAsB,CAAC;AAAA,QAC/B,cAAc,GAAG,cAAc,uBAAuB,CAAC;AAAA,QACvD,QAAQ;AAAA,QACR,cAAc,CAAC,EAAE,6BAA6B,aAAa,IAAI,gBAAgB,EAAE,OAAO,OAAO,EAAE,CAAC;AAAA,MACpG;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc,GAAG,cAAc;AAAA,EACjC;AACF;AAEA,SAAS,wBACP,MACA,SACA,gBACA,WACqB;AACrB,QAAM,eAAe,qBAAqB,OAAO;AACjD,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,MAAM,KAAK,CAAC;AAClB,QAAI,CAAC,WAAW,GAAG,GAAG;AACpB,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,cAAc,CAAC;AAAA,QACvB,cAAc,GAAG,cAAc,eAAe,CAAC;AAAA,QAC/C,QAAQ;AAAA,MACV;AAAA,IACF;AAEA,UAAM,SAAS,aAAa,KAAK,WAAS,KAAK,iBAAiB,CAAC,GAAG,KAAK,QAAM,aAAa,IAAI,GAAG,CAAC,CAAC;AACrG,QAAI,OAAQ;AAEZ,UAAM,YAAY,iBAAiB,KAAK,WAAW,GAAG,cAAc,eAAe,CAAC,EAAE;AACtF,QAAI,WAAW;AACb,YAAM,QAAQ,aAAa,KAAK,UAAQ,sCAAsC,WAAW,IAAI,EAAE,EAAE;AACjG,UAAI,MAAO;AAAA,IACb;AAEA,QACE,aAAa,WAAW,KACxB,MAAM,QAAQ,QAAQ,UAAU,KAChC,QAAQ,WAAW,KAAK,SAAO,WAAW,GAAG,KAAK,aAAa,KAAK,GAAG,CAAC,GACxE;AACA;AAAA,IACF;AAEA,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QACE,qBAAqB,CAAC,+DAA+D,KAAK,UAAU,SAAS,CAAC;AAAA,MAEhH,cAAc,GAAG,cAAc,eAAe,CAAC;AAAA,MAC/C,QAAQ;AAAA,MACR,cAAc,CAAC,EAAE,UAAU,CAAC;AAAA,IAC9B;AAAA,EACF;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc,GAAG,cAAc;AAAA,EACjC;AACF;AAEA,SAAS,2BACP,WACA,SACqB;AACrB,QAAM,eAAe,qBAAqB,OAAO;AACjD,MAAI,aAAa,WAAW,GAAG;AAC7B,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,cAAc,UAAU,CAAC,GAAG,WAAW;AAAA,MACvC,QAAQ;AAAA,IACV;AAAA,EACF;AAEA,aAAW,YAAY,WAAW;AAChC,UAAM,aAAa,aAAa,OAAO,UAAQ,KAAK,gBAAgB,SAAS,WAAW;AACxF,QAAI,WAAW,WAAW,GAAG;AAC3B,aAAO;AAAA,QACL,WAAW;AAAA,QACX,WAAW;AAAA,QACX,QAAQ,kCAAkC,KAAK,UAAU,SAAS,WAAW,CAAC;AAAA,QAC9E,cAAc,SAAS;AAAA,QACvB,QAAQ;AAAA,MACV;AAAA,IACF;AAEA,UAAM,SAAS,WAAW,IAAI,UAAQ,sCAAsC,UAAU,IAAI,CAAC;AAC3F,QAAI,OAAO,KAAK,OAAK,EAAE,EAAE,EAAG;AAC5B,UAAM,UAAU,OAAO,KAAK,OAAK,EAAE,cAAc,mBAAmB,KAAK,OAAO,CAAC;AACjF,WAAO;AAAA,MACL,WAAW;AAAA,MACX,WAAW,QAAQ;AAAA,MACnB,QAAQ,QAAQ;AAAA,MAChB,cAAc,SAAS;AAAA,MACvB,QAAQ;AAAA,MACR,cAAc,OAAO,IAAI,QAAM,EAAE,IAAI,EAAE,IAAI,WAAW,EAAE,WAAW,QAAQ,EAAE,OAAO,EAAE;AAAA,IACxF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,WAAW;AAAA,IACX,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,cAAc,UAAU,CAAC,GAAG,WAAW;AAAA,EACzC;AACF;AAEA,SAAS,sCACP,UACA,MACwG;AACxG,MAAI,SAAS,gBAAgB,KAAK,aAAa;AAC7C,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,eAAe,KAAK,UAAU,SAAS,WAAW,CAAC,uCAAuC,KAAK,UAAU,KAAK,WAAW,CAAC;AAAA,IACpI;AAAA,EACF;AACA,QAAM,gBAAgB,SAAS,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC;AAC7D,QAAM,gBAAgB,SAAS;AAE/B,QAAM,YAAY,iBAAiB,eAAe,aAAa;AAC/D,MAAI,CAAC,UAAU,GAAI,QAAO;AAE1B,QAAM,WAAW,gBAAgB,eAAe,aAAa;AAC7D,MAAI,CAAC,SAAS,GAAI,QAAO;AAEzB,QAAM,kBAAkB;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,MAAI,CAAC,gBAAgB,GAAI,QAAO;AAChC,QAAM,eAAe;AAAA,IACnB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,MAAI,CAAC,aAAa,GAAI,QAAO;AAE7B,QAAM,WAAW,2BAA2B,eAAe,aAAa;AACxE,MAAI,CAAC,SAAS,GAAI,QAAO;AAEzB,QAAM,kBAAkB,iCAAiC,eAAe,aAAa;AACrF,MAAI,CAAC,gBAAgB,GAAI,QAAO;AAEhC,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,WAAW;AAAA,IACX,QAAQ;AAAA,EACV;AACF;AAEA,SAAS,iBACP,eACA,eACmE;AACnE,QAAM,gBAAgB,OAAO,cAAc,UAAU;AACrD,QAAM,iBAAiB,OAAO,cAAc,WAAW;AACvD,MAAI,CAAC,iBAAiB,CAAC,eAAgB,QAAO,EAAE,IAAI,KAAK;AAEzD,aAAW,OAAO,CAAC,SAAS,QAAQ,GAAY;AAC9C,QAAI,OAAO,cAAc,GAAG,MAAM,SAAU;AAC5C,QAAI,cAAc,GAAG,MAAM,QAAW;AACpC,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,kDAAkD,GAAG,IAAI,cAAc,GAAG,CAAC,oCAAoC,GAAG;AAAA,MAC5H;AAAA,IACF;AACA,QAAI,cAAc,GAAG,MAAM,cAAc,GAAG,GAAG;AAC7C,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,mBAAmB,GAAG,IAAI,KAAK,UAAU,cAAc,GAAG,CAAC,CAAC,wCAAwC,GAAG,IAAI,cAAc,GAAG,CAAC;AAAA,MACvI;AAAA,IACF;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,iCACP,eACA,eACmE;AACnE,aAAW,CAAC,KAAK,YAAY,KAAK,OAAO,QAAQ,aAAa,GAAG;AAC/D,QAAI,6BAA6B,IAAI,GAAG,KAAK,iBAAiB,OAAW;AACzE,QAAI,MAAM,QAAQ,YAAY,KAAK,aAAa,WAAW,EAAG;AAE9D,QAAI,cAAc,GAAG,MAAM,QAAW;AACpC,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,uDAAuD,GAAG,oCAAoC,GAAG;AAAA,MAC3G;AAAA,IACF;AAEA,UAAM,eAAe,cAAc,GAAG;AACtC,QAAI,wBAAwB,IAAI,GAAG,GAAG;AACpC,YAAM,SAAS,mBAAmB,KAAK,cAAc,YAAY;AACjE,UAAI,CAAC,OAAO,GAAI,QAAO;AACvB;AAAA,IACF;AAEA,QAAI,CAAC,cAAc,cAAc,YAAY,GAAG;AAC9C,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,mBAAmB,GAAG,IAAI,KAAK,UAAU,YAAY,CAAC,kCAAkC,GAAG,IAAI,KAAK,UAAU,YAAY,CAAC;AAAA,MACrI;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,mBACP,KACA,cACA,cACmE;AACnE,MAAI,CAAC,MAAM,QAAQ,YAAY,GAAG;AAChC,QAAI,cAAc,cAAc,YAAY,EAAG,QAAO,EAAE,IAAI,KAAK;AACjE,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,mBAAmB,GAAG,IAAI,KAAK,UAAU,YAAY,CAAC,kCAAkC,GAAG,IAAI,KAAK,UAAU,YAAY,CAAC;AAAA,IACrI;AAAA,EACF;AACA,MAAI,CAAC,MAAM,QAAQ,YAAY,KAAK,aAAa,WAAW,GAAG;AAC7D,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,uDAAuD,GAAG;AAAA,IACpE;AAAA,EACF;AACA,QAAM,UAAU,aAAa,KAAK,UAAQ,CAAC,aAAa,KAAK,aAAW,cAAc,MAAM,OAAO,CAAC,CAAC;AACrG,MAAI,YAAY,QAAW;AACzB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,mBAAmB,GAAG,SAAS,KAAK,UAAU,OAAO,CAAC,8BAA8B,GAAG;AAAA,IACjG;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,gBACP,eACA,eACmE;AACnE,QAAM,eAAe,WAAW,cAAc,KAAK;AACnD,MAAI,CAAC,aAAa,OAAQ,QAAO,EAAE,IAAI,KAAK;AAC5C,QAAM,eAAe,WAAW,cAAc,KAAK;AACnD,QAAM,eACJ,OAAO,cAAc,UAAU,YAAY,OAAO,cAAc,WAAW,WACvE,CAAC,EAAE,OAAO,cAAc,OAAO,QAAQ,cAAc,OAAO,CAAC,IAC7D,CAAC;AACP,QAAM,WAAW,aAAa,SAAS,IAAI,eAAe;AAC1D,MAAI,SAAS,WAAW,GAAG;AACzB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QACE;AAAA,IACJ;AAAA,EACF;AACA,QAAM,UAAU,SAAS,KAAK,OAAK,CAAC,aAAa,KAAK,OAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC;AACxG,MAAI,SAAS;AACX,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,iBAAiB,QAAQ,KAAK,IAAI,QAAQ,MAAM;AAAA,IAC1D;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,+BACP,eACA,eACA,UACA,QACA,QACmE;AACnE,QAAM,MAAM,OAAO,cAAc,MAAM,MAAM,WAAW,cAAc,MAAM,IAAI;AAChF,QAAM,MAAM,OAAO,cAAc,MAAM,MAAM,WAAW,cAAc,MAAM,IAAI;AAChF,MAAI,QAAQ,UAAa,QAAQ,OAAW,QAAO,EAAE,IAAI,KAAK;AAE9D,MAAI,OAAO,cAAc,QAAQ,MAAM,UAAU;AAC/C,UAAM,QAAQ,cAAc,QAAQ;AACpC,QAAK,QAAQ,UAAa,QAAQ,OAAS,QAAQ,UAAa,QAAQ,KAAM;AAC5E,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,YAAY,QAAQ,IAAI,KAAK,6BAA6B,WAAW,KAAK,GAAG,CAAC;AAAA,MACxF;AAAA,IACF;AACA,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB;AAEA,QAAM,SAAS,OAAO,cAAc,MAAM,MAAM,WAAY,cAAc,MAAM,IAAe;AAC/F,QAAM,SAAS,OAAO,cAAc,MAAM,MAAM,WAAY,cAAc,MAAM,IAAe;AAC/F,MAAI,WAAW,UAAa,WAAW,QAAW;AAChD,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,gDAAgD,QAAQ,UAAU,WAAW,KAAK,GAAG,CAAC,2BAA2B,QAAQ,IAAI,MAAM,IAAI,MAAM;AAAA,IACvJ;AAAA,EACF;AACA,MAAK,QAAQ,WAAc,UAAU,aAAa,OAAS,QAAQ,WAAc,UAAU,YAAY,KAAM;AAC3G,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,YAAY,QAAQ,UAAU,WAAW,QAAQ,MAAM,CAAC,2CAA2C,WAAW,KAAK,GAAG,CAAC;AAAA,IACjI;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,2BACP,eACA,eACmE;AACnE,MAAI,OAAO,cAAc,sBAAsB,UAAU;AACvD,UAAMC,SAAQ,qBAAqB,aAAa;AAChD,QAAIA,WAAU,QAAW;AACvB,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,6DAA6D,cAAc,iBAAiB;AAAA,MACtG;AAAA,IACF;AACA,QAAIA,WAAU,cAAc,mBAAmB;AAC7C,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,qBAAqBA,MAAK,6CAA6C,cAAc,iBAAiB;AAAA,MAChH;AAAA,IACF;AACA,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB;AAEA,QAAM,eAAe,gBAAgB,cAAc,iBAAiB;AACpE,MAAI,CAAC,aAAc,QAAO,EAAE,IAAI,KAAK;AACrC,QAAM,QAAQ,qBAAqB,aAAa;AAChD,MAAI,UAAU,QAAW;AACvB,QAAI,QAAQ,aAAa,CAAC,KAAK,QAAQ,aAAa,CAAC,GAAG;AACtD,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,WAAW;AAAA,QACX,QAAQ,2BAA2B,KAAK,yCAAyC,WAAW,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;AAAA,MAC/H;AAAA,IACF;AACA,WAAO,EAAE,IAAI,KAAK;AAAA,EACpB;AACA,QAAM,eAAe,gBAAgB,cAAc,iBAAiB;AACpE,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,kEAAkE,WAAW,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;AAAA,IACxH;AAAA,EACF;AACA,MAAI,aAAa,CAAC,IAAI,aAAa,CAAC,KAAK,aAAa,CAAC,IAAI,aAAa,CAAC,GAAG;AAC1E,WAAO;AAAA,MACL,IAAI;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ,8BAA8B,WAAW,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,2CAA2C,WAAW,aAAa,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;AAAA,IAC3K;AAAA,EACF;AACA,SAAO,EAAE,IAAI,KAAK;AACpB;AAEA,SAAS,0BAA0B,KAA8B,gBAA6C;AAC5G,QAAM,YAAiC,CAAC;AACxC,QAAM,SAAmC;AAAA,IACvC,CAAC,IAAI,gBAAgB,GAAG,cAAc,iBAAiB;AAAA,IACvD,CAAC,IAAI,kBAAkB,GAAG,cAAc,mBAAmB;AAAA,IAC3D,CAAC,IAAI,SAAS,GAAG,cAAc,UAAU;AAAA,EAC3C;AACA,aAAW,CAAC,OAAO,OAAO,KAAK,QAAQ;AACrC,QAAI,CAAC,MAAM,QAAQ,KAAK,EAAG;AAC3B,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,WAAW,sBAAsB,MAAM,CAAC,GAAG,GAAG,OAAO,IAAI,CAAC,EAAE;AAClE,UAAI,SAAU,WAAU,KAAK,QAAQ;AAAA,IACvC;AAAA,EACF;AACA,QAAM,SAAS,sBAAsB,KAAK,cAAc;AACxD,MAAI,OAAQ,WAAU,KAAK,MAAM;AACjC,QAAM,SAAS,sBAAsB,IAAI,eAAe,GAAG,cAAc,gBAAgB;AACzF,MAAI,OAAQ,WAAU,KAAK,MAAM;AACjC,SAAO;AACT;AAEA,SAAS,sBAAsB,OAAgB,SAAgD;AAC7F,MAAI,CAAC,SAAS,KAAK,KAAK,OAAO,MAAM,gBAAgB,SAAU,QAAO;AACtE,QAAM,SAAS,SAAS,MAAM,MAAM,IAAI,EAAE,GAAG,MAAM,OAAO,IAAI,CAAC;AAC/D,aAAW,OAAO;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAAG;AACD,QAAI,MAAM,GAAG,MAAM,UAAa,OAAO,GAAG,MAAM,OAAW,QAAO,GAAG,IAAI,MAAM,GAAG;AAAA,EACpF;AACA,SAAO,EAAE,aAAa,MAAM,aAAa,QAAQ,QAAQ;AAC3D;AAEA,SAAS,qBAAqB,SAAgE;AAC5F,MAAI,CAAC,MAAM,QAAQ,QAAQ,cAAc,EAAG,QAAO,CAAC;AACpD,SAAO,QAAQ,eAAe,OAAO,QAAQ;AAC/C;AAEA,SAAS,iBAAiB,KAAiB,WAAmB,SAAgD;AAC5G,QAAM,EAAE,GAAG,QAAI,wCAAqB;AAAA,IAClC,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,aAAa;AAAA,IACb,YAAY,CAAC,GAAG;AAAA,EAClB,CAAC;AACD,QAAM,OAAO,GAAG,eAAe,CAAC;AAChC,MAAI,CAAC,KAAM,QAAO;AAClB,QAAM,SAAS,kCAAkC,KAAK,SAAS,KAAK,MAAM,IAAI,KAAK,SAAS,CAAC,CAAC;AAC9F,SAAO;AAAA,IACL,aAAa,KAAK;AAAA,IAClB;AAAA,IACA;AAAA,EACF;AACF;AAEA,SAAS,kCACP,KACA,iBACyB;AACzB,QAAM,MAAM,EAAE,GAAG,gBAAgB;AACjC,QAAM,mBAAe,kCAAe,GAAG;AACvC,MAAI,CAAC,aAAc,QAAO;AAE1B,MAAI,IAAI,UAAU,UAAa,IAAI,WAAW,QAAW;AACvD,UAAM,aAAa,uBAAuB,YAAY;AACtD,QAAI,YAAY;AACd,UAAI,IAAI,UAAU,OAAW,KAAI,QAAQ,WAAW;AACpD,UAAI,IAAI,WAAW,OAAW,KAAI,SAAS,WAAW;AAAA,IACxD;AAAA,EACF;AAEA,MAAI,IAAI,sBAAsB,QAAW;AACvC,UAAM,WAAW,uBAAuB,YAAY;AACpD,QAAI,aAAa,OAAW,KAAI,oBAAoB;AAAA,EACtD;AAEA,SAAO;AACT;AAEA,SAAS,uBAAuB,cAAsF;AACpH,QAAM,UAAU,MAAM,QAAQ,aAAa,OAAO,IAAI,aAAa,UAAU,CAAC;AAC9E,aAAW,UAAU,SAAS;AAC5B,QAAI,CAAC,SAAS,MAAM,KAAK,CAAC,SAAS,OAAO,UAAU,EAAG;AACvD,UAAM,EAAE,OAAO,OAAO,IAAI,OAAO;AACjC,QAAI,OAAO,UAAU,YAAY,OAAO,WAAW,SAAU,QAAO,EAAE,OAAO,OAAO;AAAA,EACtF;AAEA,QAAM,SAAS,MAAM,QAAQ,aAAa,MAAM,IAAI,aAAa,SAAS,CAAC;AAC3E,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,MAAM,YAAY,EAAG;AACvD,UAAM,EAAE,OAAO,OAAO,IAAI,MAAM;AAChC,QAAI,OAAO,UAAU,YAAY,OAAO,WAAW,SAAU,QAAO,EAAE,OAAO,OAAO;AAAA,EACtF;AACA,SAAO;AACT;AAQA,SAAS,qBAAqB,YAAmD;AAC/E,MAAI,WAAW,YAAY,KAAM,QAAO;AACxC,QAAM,QAAQ,oBAAI,IAAY;AAC9B,QAAM,SAAS,oBAAI,IAAY;AAC/B,QAAM,WAAW,oBAAI,IAAY;AACjC,uBAAqB,YAAY,OAAO,QAAQ,QAAQ;AACxD,SAAO;AAAA,IACL,OAAO,CAAC,GAAG,KAAK;AAAA,IAChB,QAAQ,CAAC,GAAG,MAAM;AAAA,IAClB,UAAU,CAAC,GAAG,QAAQ;AAAA,EACxB;AACF;AAEA,SAAS,qBACP,OACA,OACA,QACA,UACA,QAAQ,GACF;AACN,MAAI,QAAQ,EAAG;AACf,MAAI,OAAO,UAAU,UAAU;AAC7B,aAAS,IAAI,KAAK;AAClB,UAAM,eAAe,MAAM,MAAM,qBAAqB;AACtD,QAAI,eAAe,CAAC,EAAG,OAAM,IAAI,aAAa,CAAC,CAAC;AAChD;AAAA,EACF;AACA,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,eAAW,QAAQ,MAAO,sBAAqB,MAAM,OAAO,QAAQ,UAAU,QAAQ,CAAC;AACvF;AAAA,EACF;AACA,MAAI,CAAC,SAAS,KAAK,EAAG;AAEtB,aAAW,OAAO,CAAC,QAAQ,cAAc,QAAQ,GAAY;AAC3D,UAAM,YAAY,MAAM,GAAG;AAC3B,QAAI,OAAO,cAAc,SAAU,OAAM,IAAI,SAAS;AAAA,EACxD;AACA,aAAW,OAAO,CAAC,SAAS,QAAQ,cAAc,GAAY;AAC5D,UAAM,aAAa,MAAM,GAAG;AAC5B,QAAI,OAAO,eAAe,SAAU,QAAO,IAAI,UAAU;AAAA,EAC3D;AACA,aAAW,OAAO,CAAC,WAAW,SAAS,UAAU,YAAY,GAAY;AACvE,UAAM,eAAe,MAAM,GAAG;AAC9B,QAAI,OAAO,iBAAiB,SAAU,UAAS,IAAI,YAAY;AAAA,EACjE;AACA,aAAW,OAAO,CAAC,cAAc,aAAa,QAAQ,WAAW,UAAU,QAAQ,GAAY;AAC7F,QAAI,MAAM,GAAG,MAAM,OAAW,sBAAqB,MAAM,GAAG,GAAG,OAAO,QAAQ,UAAU,QAAQ,CAAC;AAAA,EACnG;AACF;AAEA,SAAS,+BAA+B,WAA+C;AACrF,MAAI,CAAC,UAAW,QAAO;AACvB,MAAI,UAAU,MAAM,KAAK,UAAQ,KAAK,WAAW,SAAS,CAAC,EAAG,QAAO;AACrE,SAAO,CAAC,GAAG,UAAU,QAAQ,GAAG,UAAU,QAAQ,EAAE;AAAA,IAAK,UACvD,2CAA2C,KAAK,IAAI;AAAA,EACtD;AACF;AAEA,SAAS,oBAAoB,WAA8C;AACzE,MAAI,CAAC,UAAW,QAAO;AACvB,SAAO,KAAK,UAAU,SAAS;AACjC;AAEA,SAAS,cAAc,GAAY,GAAqB;AACtD,SAAO,WAAW,CAAC,MAAM,WAAW,CAAC;AACvC;AAEA,SAAS,WAAW,OAAwB;AAC1C,MAAI,MAAM,QAAQ,KAAK,EAAG,QAAO,IAAI,MAAM,IAAI,UAAU,EAAE,KAAK,GAAG,CAAC;AACpE,MAAI,SAAS,KAAK,GAAG;AACnB,WAAO,IAAI,OAAO,KAAK,KAAK,EACzB,KAAK,EACL,IAAI,SAAO,GAAG,KAAK,UAAU,GAAG,CAAC,IAAI,WAAW,MAAM,GAAG,CAAC,CAAC,EAAE,EAC7D,KAAK,GAAG,CAAC;AAAA,EACd;AACA,SAAO,KAAK,UAAU,KAAK;AAC7B;AAEA,SAAS,uBAAuB,cAA2D;AACzF,QAAM,SAAS,MAAM,QAAQ,aAAa,MAAM,IAAI,aAAa,SAAS,CAAC;AAC3E,aAAW,SAAS,QAAQ;AAC1B,QAAI,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,MAAM,YAAY,EAAG;AACvD,UAAM,EAAE,aAAa,iBAAiB,IAAI,MAAM;AAChD,QAAI,OAAO,gBAAgB,SAAU,QAAO;AAC5C,QAAI,OAAO,qBAAqB,SAAU,QAAO,mBAAmB;AAAA,EACtE;AACA,SAAO;AACT;AAEA,SAAS,sBACP,kBACA,cACA,gBACA,SACQ;AACR,QAAM,WAAW,eAAe,aAAa;AAC7C,QAAM,WAAW,mBAAmB,aAAa;AACjD,QAAM,QAAQ,iBAAiB,cAAc;AAC7C,QAAM,WAAW,SAAS,aAAa;AACvC,QAAM,SAAS,SAAS,UAAU;AAClC,MAAI,oBAAoB,CAAC,gBAAgB,gBAAgB;AACvD,WAAO,iIAAiI,QAAQ,aAAa,MAAM;AAAA,EACrK;AACA,MAAI,CAAC,oBAAoB,gBAAgB,CAAC,gBAAgB;AACxD,WAAO,4IAA4I,QAAQ,aAAa,MAAM;AAAA,EAChL;AACA,MAAI,CAAC,kBAAkB,kBAAkB;AACvC,WAAO,kGAAkG,QAAQ,MAAM,MAAM;AAAA,EAC/H;AACA,MAAI,kBAAkB,CAAC,kBAAkB;AACvC,WAAO,0FAA0F,MAAM;AAAA,EACzG;AACA,SAAO,YAAY,QAAQ,cAAc,QAAQ,gCAAgC,KAAK,KAAK,MAAM;AACnG;AAEA,SAAS,eAAe,UAAoD;AAC1E,UAAQ,UAAU;AAAA,IAChB,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEA,SAAS,aAAa,GAAe,GAAwB;AAC3D,aAAW,OAAO,sBAAsB;AACtC,UAAM,KAAK,QAAQ,cAAc,kBAAkB,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG;AAClE,UAAM,KAAK,QAAQ,cAAc,kBAAkB,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG;AAClE,QAAI,OAAO,GAAI,QAAO;AAAA,EACxB;AACA,SAAO;AACT;AAEA,SAAS,kBAAkB,OAAyB;AAClD,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,MAAI;AACF,UAAM,MAAM,IAAI,IAAI,KAAK;AACzB,QAAI,OAAO;AACX,QAAK,IAAI,aAAa,YAAY,IAAI,SAAS,SAAW,IAAI,aAAa,WAAW,IAAI,SAAS,MAAO;AACxG,UAAI,OAAO;AAAA,IACb;AACA,WAAO,IAAI,SAAS,EAAE,QAAQ,OAAO,EAAE;AAAA,EACzC,QAAQ;AACN,WAAO,MAAM,QAAQ,OAAO,EAAE;AAAA,EAChC;AACF;AAEA,SAAS,WAAW,OAAqC;AACvD,SAAO,SAAS,KAAK,KAAK,OAAO,MAAM,cAAc,YAAY,OAAO,MAAM,OAAO;AACvF;AAEA,SAAS,iBAAiB,MAAsD;AAC9E,MAAI,CAAC,KAAK,iBAAkB,QAAO;AACnC,SAAO,KAAK,mBAAmB,GAAG,KAAK,gBAAgB,IAAI,KAAK,gBAAgB,KAAK,KAAK;AAC5F;AAEA,SAAS,qBAAqB,QAAqD;AACjF,MAAI,OAAO,OAAO,sBAAsB,SAAU,QAAO,OAAO;AAChE,MAAI,OAAO,OAAO,gBAAgB,SAAU,QAAO,OAAO;AAC1D,SAAO;AACT;AAEA,SAAS,gBAAgB,OAA8C;AACrE,MAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,EAAG,QAAO;AACxD,SAAO,OAAO,MAAM,CAAC,MAAM,YAAY,OAAO,MAAM,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI;AAC/F;AAEA,SAAS,WAAW,OAA0D;AAC5E,MAAI,CAAC,MAAM,QAAQ,KAAK,EAAG,QAAO,CAAC;AACnC,SAAO,MACJ,IAAI,UAAQ;AACX,QAAI,CAAC,SAAS,IAAI,EAAG,QAAO;AAC5B,UAAM,QAAQ,OAAO,KAAK,UAAU,WAAW,KAAK,QAAQ,OAAO,KAAK,MAAM,WAAW,KAAK,IAAI;AAClG,UAAM,SAAS,OAAO,KAAK,WAAW,WAAW,KAAK,SAAS,OAAO,KAAK,MAAM,WAAW,KAAK,IAAI;AACrG,WAAO,UAAU,UAAa,WAAW,SAAY,EAAE,OAAO,OAAO,IAAI;AAAA,EAC3E,CAAC,EACA,OAAO,CAAC,MAA8C,QAAQ,CAAC,CAAC;AACrE;AAEA,SAAS,WAAW,KAAc,KAAsB;AACtD,SAAO,IAAI,OAAO,WAAW,KAAK,OAAO,UAAU;AACrD;AAEA,SAAS,SAAS,OAAkD;AAClE,SAAO,UAAU,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;","names":["packages","exact"]}
@@ -1,5 +1,14 @@
1
1
  import { lookupV1Format, projectV1ProductToV2 } from "../../v2/projection/index.mjs";
2
2
  import { resolvePath, toJsonPointer } from "./path.mjs";
3
+ function productCanonicalFormatSatisfies(productOrFormats, selectorValue) {
4
+ const selector = canonicalSelectorFrom(selectorValue, "/fixture_resolution");
5
+ if (!selector) return false;
6
+ const product = isRecord(productOrFormats) ? productOrFormats : Array.isArray(productOrFormats) ? { format_options: productOrFormats } : void 0;
7
+ if (!product) return false;
8
+ return productFormatOptions(product).some(
9
+ (declaration) => canonicalSelectorSatisfiesDeclaration(selector, declaration).ok
10
+ );
11
+ }
3
12
  const FORMAT_IDENTITY_KEYS = ["agent_url", "id", "width", "height", "duration_ms"];
4
13
  const HANDLED_CANONICAL_PARAM_KEYS = /* @__PURE__ */ new Set([
5
14
  "width",
@@ -812,6 +821,7 @@ function isRecord(value) {
812
821
  return value !== null && typeof value === "object" && !Array.isArray(value);
813
822
  }
814
823
  export {
824
+ productCanonicalFormatSatisfies,
815
825
  validateCanonicalFormatSatisfaction
816
826
  };
817
827
  //# sourceMappingURL=canonical-format-satisfaction.mjs.map