@adcp/sdk 13.0.0-rc.0 → 13.0.0-rc.2

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 (1380) hide show
  1. package/ADCP_VERSION +1 -1
  2. package/compliance/cache/{3.1.5 → 3.1.8}/index.json +3 -3
  3. package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/index.json +3 -3
  4. package/dist/lib/registry/index.d.mts +1 -1
  5. package/dist/lib/registry/index.d.ts +1 -1
  6. package/dist/lib/registry/index.d.ts.map +1 -1
  7. package/dist/lib/registry/index.js +4 -3
  8. package/dist/lib/registry/index.js.map +1 -1
  9. package/dist/lib/registry/index.mjs +4 -3
  10. package/dist/lib/registry/index.mjs.map +1 -1
  11. package/dist/lib/registry/types.generated.d.mts +137 -7
  12. package/dist/lib/registry/types.generated.d.ts +137 -7
  13. package/dist/lib/registry/types.generated.d.ts.map +1 -1
  14. package/dist/lib/registry/types.generated.js.map +1 -1
  15. package/dist/lib/schemas-data/3.1/a2ui/bound-value.json +1 -1
  16. package/dist/lib/schemas-data/3.1/a2ui/component.json +1 -1
  17. package/dist/lib/schemas-data/3.1/a2ui/si-catalog.json +25 -25
  18. package/dist/lib/schemas-data/3.1/a2ui/surface.json +2 -2
  19. package/dist/lib/schemas-data/3.1/a2ui/user-action.json +1 -1
  20. package/dist/lib/schemas-data/3.1/aao/agent-publishers.json +1 -1
  21. package/dist/lib/schemas-data/3.1/account/get-account-financials-request.json +6 -6
  22. package/dist/lib/schemas-data/3.1/account/get-account-financials-response.json +12 -12
  23. package/dist/lib/schemas-data/3.1/account/list-accounts-request.json +6 -6
  24. package/dist/lib/schemas-data/3.1/account/list-accounts-response.json +8 -8
  25. package/dist/lib/schemas-data/3.1/account/report-usage-request.json +6 -6
  26. package/dist/lib/schemas-data/3.1/account/report-usage-response.json +6 -6
  27. package/dist/lib/schemas-data/3.1/account/sync-accounts-request.json +12 -12
  28. package/dist/lib/schemas-data/3.1/account/sync-accounts-response.json +16 -16
  29. package/dist/lib/schemas-data/3.1/account/sync-governance-request.json +6 -6
  30. package/dist/lib/schemas-data/3.1/account/sync-governance-response.json +10 -10
  31. package/dist/lib/schemas-data/3.1/adagents.json +29 -29
  32. package/dist/lib/schemas-data/3.1/brand/acquire-rights-request.json +10 -10
  33. package/dist/lib/schemas-data/3.1/brand/acquire-rights-response.json +16 -16
  34. package/dist/lib/schemas-data/3.1/brand/creative-approval-request.json +5 -5
  35. package/dist/lib/schemas-data/3.1/brand/creative-approval-response.json +12 -12
  36. package/dist/lib/schemas-data/3.1/brand/get-brand-identity-request.json +4 -4
  37. package/dist/lib/schemas-data/3.1/brand/get-brand-identity-response.json +10 -10
  38. package/dist/lib/schemas-data/3.1/brand/get-rights-request.json +8 -8
  39. package/dist/lib/schemas-data/3.1/brand/get-rights-response.json +11 -11
  40. package/dist/lib/schemas-data/3.1/brand/revocation-notification.json +4 -4
  41. package/dist/lib/schemas-data/3.1/brand/rights-pricing-option.json +5 -5
  42. package/dist/lib/schemas-data/3.1/brand/rights-terms.json +3 -3
  43. package/dist/lib/schemas-data/3.1/brand/search-brands-request.json +6 -6
  44. package/dist/lib/schemas-data/3.1/brand/search-brands-response.json +11 -11
  45. package/dist/lib/schemas-data/3.1/brand/update-rights-request.json +6 -6
  46. package/dist/lib/schemas-data/3.1/brand/update-rights-response.json +11 -11
  47. package/dist/lib/schemas-data/3.1/brand/verification-status.json +1 -1
  48. package/dist/lib/schemas-data/3.1/brand/verify-brand-claim-request.json +2 -2
  49. package/dist/lib/schemas-data/3.1/brand/verify-brand-claim-response.json +13 -13
  50. package/dist/lib/schemas-data/3.1/brand/verify-brand-claims-request.json +2 -2
  51. package/dist/lib/schemas-data/3.1/brand/verify-brand-claims-response.json +13 -13
  52. package/dist/lib/schemas-data/3.1/brand.json +21 -21
  53. package/dist/lib/schemas-data/3.1/bundled/content-standards/calibrate-content-request.json +12 -12
  54. package/dist/lib/schemas-data/3.1/bundled/content-standards/calibrate-content-response.json +12 -12
  55. package/dist/lib/schemas-data/3.1/bundled/content-standards/create-content-standards-request.json +16 -16
  56. package/dist/lib/schemas-data/3.1/bundled/content-standards/create-content-standards-response.json +10 -10
  57. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-content-standards-request.json +5 -5
  58. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-content-standards-response.json +23 -23
  59. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-media-buy-artifacts-request.json +16 -16
  60. package/dist/lib/schemas-data/3.1/bundled/content-standards/get-media-buy-artifacts-response.json +18 -18
  61. package/dist/lib/schemas-data/3.1/bundled/content-standards/list-content-standards-request.json +7 -7
  62. package/dist/lib/schemas-data/3.1/bundled/content-standards/list-content-standards-response.json +24 -24
  63. package/dist/lib/schemas-data/3.1/bundled/content-standards/update-content-standards-request.json +16 -16
  64. package/dist/lib/schemas-data/3.1/bundled/content-standards/update-content-standards-response.json +10 -10
  65. package/dist/lib/schemas-data/3.1/bundled/content-standards/validate-content-delivery-request.json +12 -12
  66. package/dist/lib/schemas-data/3.1/bundled/content-standards/validate-content-delivery-response.json +12 -12
  67. package/dist/lib/schemas-data/3.1/bundled/core/tasks-get-request.json +16 -16
  68. package/dist/lib/schemas-data/3.1/bundled/core/tasks-get-response.json +181 -181
  69. package/dist/lib/schemas-data/3.1/bundled/core/tasks-list-request.json +21 -21
  70. package/dist/lib/schemas-data/3.1/bundled/core/tasks-list-response.json +11 -11
  71. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-delivery-request.json +17 -17
  72. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-delivery-response.json +56 -56
  73. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-features-request.json +44 -44
  74. package/dist/lib/schemas-data/3.1/bundled/creative/get-creative-features-response.json +13 -13
  75. package/dist/lib/schemas-data/3.1/bundled/creative/list-creative-formats-request.json +16 -16
  76. package/dist/lib/schemas-data/3.1/bundled/creative/list-creative-formats-response.json +48 -48
  77. package/dist/lib/schemas-data/3.1/bundled/creative/list-creatives-request.json +17 -17
  78. package/dist/lib/schemas-data/3.1/bundled/creative/list-creatives-response.json +163 -58
  79. package/dist/lib/schemas-data/3.1/bundled/creative/list-transformers-request.json +18 -18
  80. package/dist/lib/schemas-data/3.1/bundled/creative/list-transformers-response.json +16 -16
  81. package/dist/lib/schemas-data/3.1/bundled/creative/preview-creative-request.json +44 -44
  82. package/dist/lib/schemas-data/3.1/bundled/creative/preview-creative-response.json +50 -50
  83. package/dist/lib/schemas-data/3.1/bundled/creative/sync-creatives-request.json +46 -46
  84. package/dist/lib/schemas-data/3.1/bundled/creative/sync-creatives-response.json +27 -27
  85. package/dist/lib/schemas-data/3.1/bundled/creative/validate-input-request.json +42 -42
  86. package/dist/lib/schemas-data/3.1/bundled/creative/validate-input-response.json +10 -10
  87. package/dist/lib/schemas-data/3.1/bundled/media-buy/build-creative-request.json +53 -53
  88. package/dist/lib/schemas-data/3.1/bundled/media-buy/build-creative-response.json +54 -54
  89. package/dist/lib/schemas-data/3.1/bundled/media-buy/create-media-buy-request.json +83 -83
  90. package/dist/lib/schemas-data/3.1/bundled/media-buy/create-media-buy-response.json +77 -77
  91. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buy-delivery-request.json +25 -25
  92. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buy-delivery-response.json +40 -40
  93. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buys-request.json +18 -18
  94. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-media-buys-response.json +65 -65
  95. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-products-request.json +49 -49
  96. package/dist/lib/schemas-data/3.1/bundled/media-buy/get-products-response.json +99 -99
  97. package/dist/lib/schemas-data/3.1/bundled/media-buy/list-creative-formats-request.json +12 -12
  98. package/dist/lib/schemas-data/3.1/bundled/media-buy/list-creative-formats-response.json +48 -48
  99. package/dist/lib/schemas-data/3.1/bundled/media-buy/log-event-request.json +12 -12
  100. package/dist/lib/schemas-data/3.1/bundled/media-buy/log-event-response.json +10 -10
  101. package/dist/lib/schemas-data/3.1/bundled/media-buy/package-request.json +79 -79
  102. package/dist/lib/schemas-data/3.1/bundled/media-buy/provide-performance-feedback-request.json +8 -8
  103. package/dist/lib/schemas-data/3.1/bundled/media-buy/provide-performance-feedback-response.json +10 -10
  104. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-audiences-request.json +18 -18
  105. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-audiences-response.json +12 -12
  106. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-catalogs-request.json +26 -26
  107. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-catalogs-response.json +12 -12
  108. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-event-sources-request.json +19 -19
  109. package/dist/lib/schemas-data/3.1/bundled/media-buy/sync-event-sources-response.json +16 -16
  110. package/dist/lib/schemas-data/3.1/bundled/media-buy/update-media-buy-request.json +79 -79
  111. package/dist/lib/schemas-data/3.1/bundled/media-buy/update-media-buy-response.json +71 -71
  112. package/dist/lib/schemas-data/3.1/bundled/property/create-property-list-request.json +18 -18
  113. package/dist/lib/schemas-data/3.1/bundled/property/create-property-list-response.json +26 -26
  114. package/dist/lib/schemas-data/3.1/bundled/property/delete-property-list-request.json +16 -16
  115. package/dist/lib/schemas-data/3.1/bundled/property/delete-property-list-response.json +10 -10
  116. package/dist/lib/schemas-data/3.1/bundled/property/get-property-list-request.json +16 -16
  117. package/dist/lib/schemas-data/3.1/bundled/property/get-property-list-response.json +27 -27
  118. package/dist/lib/schemas-data/3.1/bundled/property/list-property-lists-request.json +17 -17
  119. package/dist/lib/schemas-data/3.1/bundled/property/list-property-lists-response.json +27 -27
  120. package/dist/lib/schemas-data/3.1/bundled/property/update-property-list-request.json +18 -18
  121. package/dist/lib/schemas-data/3.1/bundled/property/update-property-list-response.json +26 -26
  122. package/dist/lib/schemas-data/3.1/bundled/property/validate-property-delivery-request.json +19 -19
  123. package/dist/lib/schemas-data/3.1/bundled/property/validate-property-delivery-response.json +15 -15
  124. package/dist/lib/schemas-data/3.1/bundled/protocol/get-adcp-capabilities-request.json +5 -5
  125. package/dist/lib/schemas-data/3.1/bundled/protocol/get-adcp-capabilities-response.json +35 -35
  126. package/dist/lib/schemas-data/3.1/bundled/protocol/get-task-status-request.json +16 -16
  127. package/dist/lib/schemas-data/3.1/bundled/protocol/get-task-status-response.json +181 -181
  128. package/dist/lib/schemas-data/3.1/bundled/protocol/list-tasks-request.json +21 -21
  129. package/dist/lib/schemas-data/3.1/bundled/protocol/list-tasks-response.json +11 -11
  130. package/dist/lib/schemas-data/3.1/bundled/signals/activate-signal-request.json +17 -17
  131. package/dist/lib/schemas-data/3.1/bundled/signals/activate-signal-response.json +12 -12
  132. package/dist/lib/schemas-data/3.1/bundled/signals/get-signals-request.json +24 -24
  133. package/dist/lib/schemas-data/3.1/bundled/signals/get-signals-response.json +53 -53
  134. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-get-offering-request.json +5 -5
  135. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-get-offering-response.json +23 -23
  136. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-initiate-session-request.json +18 -18
  137. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-initiate-session-response.json +25 -25
  138. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-send-message-request.json +16 -16
  139. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-send-message-response.json +26 -26
  140. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-terminate-session-request.json +5 -5
  141. package/dist/lib/schemas-data/3.1/bundled/sponsored-intelligence/si-terminate-session-response.json +11 -11
  142. package/dist/lib/schemas-data/3.1/collection/base-collection-source.json +3 -3
  143. package/dist/lib/schemas-data/3.1/collection/collection-list-changed-webhook.json +2 -2
  144. package/dist/lib/schemas-data/3.1/collection/collection-list-filters.json +7 -7
  145. package/dist/lib/schemas-data/3.1/collection/collection-list.json +5 -5
  146. package/dist/lib/schemas-data/3.1/collection/create-collection-list-request.json +8 -8
  147. package/dist/lib/schemas-data/3.1/collection/create-collection-list-response.json +6 -6
  148. package/dist/lib/schemas-data/3.1/collection/delete-collection-list-request.json +5 -5
  149. package/dist/lib/schemas-data/3.1/collection/delete-collection-list-response.json +5 -5
  150. package/dist/lib/schemas-data/3.1/collection/get-collection-list-request.json +5 -5
  151. package/dist/lib/schemas-data/3.1/collection/get-collection-list-response.json +12 -12
  152. package/dist/lib/schemas-data/3.1/collection/list-collection-lists-request.json +6 -6
  153. package/dist/lib/schemas-data/3.1/collection/list-collection-lists-response.json +7 -7
  154. package/dist/lib/schemas-data/3.1/collection/update-collection-list-request.json +8 -8
  155. package/dist/lib/schemas-data/3.1/collection/update-collection-list-response.json +6 -6
  156. package/dist/lib/schemas-data/3.1/content-standards/artifact-webhook-payload.json +3 -3
  157. package/dist/lib/schemas-data/3.1/content-standards/artifact.json +7 -7
  158. package/dist/lib/schemas-data/3.1/content-standards/calibrate-content-request.json +5 -5
  159. package/dist/lib/schemas-data/3.1/content-standards/calibrate-content-response.json +10 -10
  160. package/dist/lib/schemas-data/3.1/content-standards/content-standards.json +7 -7
  161. package/dist/lib/schemas-data/3.1/content-standards/create-content-standards-request.json +8 -8
  162. package/dist/lib/schemas-data/3.1/content-standards/create-content-standards-response.json +8 -8
  163. package/dist/lib/schemas-data/3.1/content-standards/get-content-standards-request.json +4 -4
  164. package/dist/lib/schemas-data/3.1/content-standards/get-content-standards-response.json +9 -9
  165. package/dist/lib/schemas-data/3.1/content-standards/get-media-buy-artifacts-request.json +5 -5
  166. package/dist/lib/schemas-data/3.1/content-standards/get-media-buy-artifacts-response.json +10 -10
  167. package/dist/lib/schemas-data/3.1/content-standards/list-content-standards-request.json +6 -6
  168. package/dist/lib/schemas-data/3.1/content-standards/list-content-standards-response.json +10 -10
  169. package/dist/lib/schemas-data/3.1/content-standards/update-content-standards-request.json +8 -8
  170. package/dist/lib/schemas-data/3.1/content-standards/update-content-standards-response.json +8 -8
  171. package/dist/lib/schemas-data/3.1/content-standards/validate-content-delivery-request.json +5 -5
  172. package/dist/lib/schemas-data/3.1/content-standards/validate-content-delivery-response.json +10 -10
  173. package/dist/lib/schemas-data/3.1/core/account-authorization.json +1 -1
  174. package/dist/lib/schemas-data/3.1/core/account-ref.json +2 -2
  175. package/dist/lib/schemas-data/3.1/core/account-with-authorization.json +3 -3
  176. package/dist/lib/schemas-data/3.1/core/account.json +10 -10
  177. package/dist/lib/schemas-data/3.1/core/activation-key.json +1 -1
  178. package/dist/lib/schemas-data/3.1/core/ad-inventory-config.json +1 -1
  179. package/dist/lib/schemas-data/3.1/core/agent-encryption-key.json +1 -1
  180. package/dist/lib/schemas-data/3.1/core/agent-signing-key.json +1 -1
  181. package/dist/lib/schemas-data/3.1/core/app-item.json +4 -4
  182. package/dist/lib/schemas-data/3.1/core/asset-group-vocabulary.json +1 -1
  183. package/dist/lib/schemas-data/3.1/core/assets/asset-union.json +21 -21
  184. package/dist/lib/schemas-data/3.1/core/assets/audio-asset.json +3 -3
  185. package/dist/lib/schemas-data/3.1/core/assets/brief-asset.json +2 -2
  186. package/dist/lib/schemas-data/3.1/core/assets/card-asset.json +6 -6
  187. package/dist/lib/schemas-data/3.1/core/assets/catalog-asset.json +2 -2
  188. package/dist/lib/schemas-data/3.1/core/assets/css-asset.json +2 -2
  189. package/dist/lib/schemas-data/3.1/core/assets/daast-asset.json +4 -4
  190. package/dist/lib/schemas-data/3.1/core/assets/daast-tracker-asset.json +3 -3
  191. package/dist/lib/schemas-data/3.1/core/assets/html-asset.json +2 -2
  192. package/dist/lib/schemas-data/3.1/core/assets/image-asset.json +2 -2
  193. package/dist/lib/schemas-data/3.1/core/assets/javascript-asset.json +3 -3
  194. package/dist/lib/schemas-data/3.1/core/assets/markdown-asset.json +2 -2
  195. package/dist/lib/schemas-data/3.1/core/assets/pixel-tracker-asset.json +2 -2
  196. package/dist/lib/schemas-data/3.1/core/assets/published-post-asset.json +2 -2
  197. package/dist/lib/schemas-data/3.1/core/assets/text-asset.json +2 -2
  198. package/dist/lib/schemas-data/3.1/core/assets/url-asset.json +3 -3
  199. package/dist/lib/schemas-data/3.1/core/assets/vast-asset.json +4 -4
  200. package/dist/lib/schemas-data/3.1/core/assets/vast-tracker-asset.json +3 -3
  201. package/dist/lib/schemas-data/3.1/core/assets/video-asset.json +7 -7
  202. package/dist/lib/schemas-data/3.1/core/assets/webhook-asset.json +7 -7
  203. package/dist/lib/schemas-data/3.1/core/assets/zip-asset.json +2 -2
  204. package/dist/lib/schemas-data/3.1/core/async-response-data.json +29 -29
  205. package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-input-required.json +3 -3
  206. package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-submitted.json +4 -4
  207. package/dist/lib/schemas-data/3.1/core/async-response-refs/creative/sync-creatives-async-response-working.json +3 -3
  208. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-input-required.json +4 -4
  209. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-submitted.json +4 -4
  210. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/build-creative-async-response-working.json +3 -3
  211. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-input-required.json +4 -4
  212. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-submitted.json +4 -4
  213. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/create-media-buy-async-response-working.json +3 -3
  214. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-input-required.json +4 -4
  215. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-submitted.json +4 -4
  216. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/get-products-async-response-working.json +3 -3
  217. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-input-required.json +3 -3
  218. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-submitted.json +4 -4
  219. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/sync-catalogs-async-response-working.json +3 -3
  220. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-input-required.json +3 -3
  221. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-submitted.json +4 -4
  222. package/dist/lib/schemas-data/3.1/core/async-response-refs/media-buy/update-media-buy-async-response-working.json +3 -3
  223. package/dist/lib/schemas-data/3.1/core/async-response-refs/signals/get-signals-async-response-submitted.json +4 -4
  224. package/dist/lib/schemas-data/3.1/core/async-response-refs/signals/get-signals-async-response-working.json +3 -3
  225. package/dist/lib/schemas-data/3.1/core/attribution-window.json +4 -4
  226. package/dist/lib/schemas-data/3.1/core/audience-member.json +3 -3
  227. package/dist/lib/schemas-data/3.1/core/audience-selector.json +7 -7
  228. package/dist/lib/schemas-data/3.1/core/authorized-agent-base.json +3 -3
  229. package/dist/lib/schemas-data/3.1/core/brand-id.json +1 -1
  230. package/dist/lib/schemas-data/3.1/core/brand-ref.json +3 -3
  231. package/dist/lib/schemas-data/3.1/core/business-entity.json +2 -2
  232. package/dist/lib/schemas-data/3.1/core/cancellation-policy.json +2 -2
  233. package/dist/lib/schemas-data/3.1/core/canonical-format-kind.json +1 -1
  234. package/dist/lib/schemas-data/3.1/core/canonical-projection-ref.json +3 -3
  235. package/dist/lib/schemas-data/3.1/core/canonical-projection-slot-override.json +1 -1
  236. package/dist/lib/schemas-data/3.1/core/catalog-field-mapping.json +2 -2
  237. package/dist/lib/schemas-data/3.1/core/catalog-item-delivery-metrics.json +3 -3
  238. package/dist/lib/schemas-data/3.1/core/catalog.json +7 -7
  239. package/dist/lib/schemas-data/3.1/core/catchment.json +5 -5
  240. package/dist/lib/schemas-data/3.1/core/collection-distribution.json +2 -2
  241. package/dist/lib/schemas-data/3.1/core/collection-list-ref.json +1 -1
  242. package/dist/lib/schemas-data/3.1/core/collection-selector.json +1 -1
  243. package/dist/lib/schemas-data/3.1/core/collection.json +13 -13
  244. package/dist/lib/schemas-data/3.1/core/committed-metric.json +9 -9
  245. package/dist/lib/schemas-data/3.1/core/content-rating.json +2 -2
  246. package/dist/lib/schemas-data/3.1/core/context.json +1 -1
  247. package/dist/lib/schemas-data/3.1/core/creative-asset.json +10 -10
  248. package/dist/lib/schemas-data/3.1/core/creative-assignment.json +2 -2
  249. package/dist/lib/schemas-data/3.1/core/creative-brief.json +4 -4
  250. package/dist/lib/schemas-data/3.1/core/creative-consumption.json +1 -1
  251. package/dist/lib/schemas-data/3.1/core/creative-delivery-metrics.json +2 -2
  252. package/dist/lib/schemas-data/3.1/core/creative-filters.json +5 -5
  253. package/dist/lib/schemas-data/3.1/core/creative-item.json +1 -1
  254. package/dist/lib/schemas-data/3.1/core/creative-manifest.json +11 -11
  255. package/dist/lib/schemas-data/3.1/core/creative-policy.json +3 -3
  256. package/dist/lib/schemas-data/3.1/core/creative-variable.json +1 -1
  257. package/dist/lib/schemas-data/3.1/core/creative-variant.json +5 -5
  258. package/dist/lib/schemas-data/3.1/core/data-provider-signal-selector.json +1 -1
  259. package/dist/lib/schemas-data/3.1/core/date-range.json +1 -1
  260. package/dist/lib/schemas-data/3.1/core/datetime-range.json +1 -1
  261. package/dist/lib/schemas-data/3.1/core/daypart-target.json +2 -2
  262. package/dist/lib/schemas-data/3.1/core/deadline-policy.json +1 -1
  263. package/dist/lib/schemas-data/3.1/core/delivery-forecast.json +7 -7
  264. package/dist/lib/schemas-data/3.1/core/delivery-metric-aggregate.json +9 -9
  265. package/dist/lib/schemas-data/3.1/core/delivery-metrics.json +8 -8
  266. package/dist/lib/schemas-data/3.1/core/deployment.json +3 -3
  267. package/dist/lib/schemas-data/3.1/core/destination-item.json +4 -4
  268. package/dist/lib/schemas-data/3.1/core/destination.json +1 -1
  269. package/dist/lib/schemas-data/3.1/core/diagnostic-issue.json +1 -1
  270. package/dist/lib/schemas-data/3.1/core/downstream-connection-requirement.json +1 -1
  271. package/dist/lib/schemas-data/3.1/core/duration.json +1 -1
  272. package/dist/lib/schemas-data/3.1/core/education-item.json +4 -4
  273. package/dist/lib/schemas-data/3.1/core/error.json +1 -1
  274. package/dist/lib/schemas-data/3.1/core/evaluator-spec.json +5 -5
  275. package/dist/lib/schemas-data/3.1/core/event-custom-data.json +2 -2
  276. package/dist/lib/schemas-data/3.1/core/event-source-health.json +3 -3
  277. package/dist/lib/schemas-data/3.1/core/event-surface.json +2 -2
  278. package/dist/lib/schemas-data/3.1/core/event.json +8 -8
  279. package/dist/lib/schemas-data/3.1/core/ext.json +1 -1
  280. package/dist/lib/schemas-data/3.1/core/feature-requirement.json +1 -1
  281. package/dist/lib/schemas-data/3.1/core/flight-item.json +4 -4
  282. package/dist/lib/schemas-data/3.1/core/forecast-dimension-audience.json +2 -2
  283. package/dist/lib/schemas-data/3.1/core/forecast-dimension-device-platform.json +2 -2
  284. package/dist/lib/schemas-data/3.1/core/forecast-dimension-device-type.json +2 -2
  285. package/dist/lib/schemas-data/3.1/core/forecast-dimension-geo.json +5 -5
  286. package/dist/lib/schemas-data/3.1/core/forecast-dimension-placement.json +2 -2
  287. package/dist/lib/schemas-data/3.1/core/forecast-dimension-signal.json +2 -2
  288. package/dist/lib/schemas-data/3.1/core/forecast-point-dimensions.json +7 -7
  289. package/dist/lib/schemas-data/3.1/core/forecast-point.json +27 -27
  290. package/dist/lib/schemas-data/3.1/core/forecast-range.json +1 -1
  291. package/dist/lib/schemas-data/3.1/core/forecast-vendor-metric-value.json +5 -5
  292. package/dist/lib/schemas-data/3.1/core/format-id.json +1 -1
  293. package/dist/lib/schemas-data/3.1/core/format-option-ref.json +1 -1
  294. package/dist/lib/schemas-data/3.1/core/format-shape-vocabulary.json +1 -1
  295. package/dist/lib/schemas-data/3.1/core/format.json +44 -44
  296. package/dist/lib/schemas-data/3.1/core/frequency-cap.json +4 -4
  297. package/dist/lib/schemas-data/3.1/core/generation-credential.json +3 -3
  298. package/dist/lib/schemas-data/3.1/core/geo-breakdown-support.json +3 -3
  299. package/dist/lib/schemas-data/3.1/core/geo-delivery-metrics.json +6 -6
  300. package/dist/lib/schemas-data/3.1/core/hotel-item.json +4 -4
  301. package/dist/lib/schemas-data/3.1/core/identifier.json +2 -2
  302. package/dist/lib/schemas-data/3.1/core/impairment.json +3 -3
  303. package/dist/lib/schemas-data/3.1/core/industry-identifier.json +2 -2
  304. package/dist/lib/schemas-data/3.1/core/insertion-order.json +1 -1
  305. package/dist/lib/schemas-data/3.1/core/installment-deadlines.json +2 -2
  306. package/dist/lib/schemas-data/3.1/core/installment.json +9 -9
  307. package/dist/lib/schemas-data/3.1/core/job-item.json +3 -3
  308. package/dist/lib/schemas-data/3.1/core/keyword-delivery-metrics.json +3 -3
  309. package/dist/lib/schemas-data/3.1/core/limited-series.json +1 -1
  310. package/dist/lib/schemas-data/3.1/core/material-deadline.json +1 -1
  311. package/dist/lib/schemas-data/3.1/core/mcp-webhook-payload.json +5 -5
  312. package/dist/lib/schemas-data/3.1/core/measurement-readiness.json +5 -5
  313. package/dist/lib/schemas-data/3.1/core/measurement-terms.json +3 -3
  314. package/dist/lib/schemas-data/3.1/core/measurement-window.json +1 -1
  315. package/dist/lib/schemas-data/3.1/core/media-buy-available-action.json +4 -4
  316. package/dist/lib/schemas-data/3.1/core/media-buy-features.json +1 -1
  317. package/dist/lib/schemas-data/3.1/core/media-buy.json +10 -10
  318. package/dist/lib/schemas-data/3.1/core/missing-metric.json +9 -9
  319. package/dist/lib/schemas-data/3.1/core/notification-config.json +4 -4
  320. package/dist/lib/schemas-data/3.1/core/offering-asset-group.json +16 -16
  321. package/dist/lib/schemas-data/3.1/core/offering.json +5 -5
  322. package/dist/lib/schemas-data/3.1/core/optimization-goal.json +7 -7
  323. package/dist/lib/schemas-data/3.1/core/outcome-measurement.json +2 -2
  324. package/dist/lib/schemas-data/3.1/core/overlay.json +1 -1
  325. package/dist/lib/schemas-data/3.1/core/package-signal-targeting-group.json +2 -2
  326. package/dist/lib/schemas-data/3.1/core/package-signal-targeting-groups.json +2 -2
  327. package/dist/lib/schemas-data/3.1/core/package-signal-targeting.json +3 -3
  328. package/dist/lib/schemas-data/3.1/core/package.json +17 -17
  329. package/dist/lib/schemas-data/3.1/core/pagination-request.json +1 -1
  330. package/dist/lib/schemas-data/3.1/core/pagination-response.json +1 -1
  331. package/dist/lib/schemas-data/3.1/core/performance-feedback.json +12 -12
  332. package/dist/lib/schemas-data/3.1/core/performance-standard.json +4 -4
  333. package/dist/lib/schemas-data/3.1/core/placement-definition.json +10 -10
  334. package/dist/lib/schemas-data/3.1/core/placement-ref.json +1 -1
  335. package/dist/lib/schemas-data/3.1/core/placement.json +7 -7
  336. package/dist/lib/schemas-data/3.1/core/planned-delivery.json +5 -5
  337. package/dist/lib/schemas-data/3.1/core/platform-extension-ref.json +1 -1
  338. package/dist/lib/schemas-data/3.1/core/postal-area-support.json +2 -2
  339. package/dist/lib/schemas-data/3.1/core/postal-area.json +4 -4
  340. package/dist/lib/schemas-data/3.1/core/postal-country-system.json +2 -2
  341. package/dist/lib/schemas-data/3.1/core/price.json +1 -1
  342. package/dist/lib/schemas-data/3.1/core/pricing-option.json +10 -10
  343. package/dist/lib/schemas-data/3.1/core/product-allocation.json +4 -4
  344. package/dist/lib/schemas-data/3.1/core/product-allowed-action.json +5 -5
  345. package/dist/lib/schemas-data/3.1/core/product-filters.json +27 -27
  346. package/dist/lib/schemas-data/3.1/core/product-format-declaration.json +16 -16
  347. package/dist/lib/schemas-data/3.1/core/product-signal-targeting-option.json +3 -3
  348. package/dist/lib/schemas-data/3.1/core/product.json +40 -40
  349. package/dist/lib/schemas-data/3.1/core/property-id.json +1 -1
  350. package/dist/lib/schemas-data/3.1/core/property-list-ref.json +1 -1
  351. package/dist/lib/schemas-data/3.1/core/property-tag.json +1 -1
  352. package/dist/lib/schemas-data/3.1/core/property.json +6 -6
  353. package/dist/lib/schemas-data/3.1/core/proposal.json +6 -6
  354. package/dist/lib/schemas-data/3.1/core/protocol-envelope.json +5 -5
  355. package/dist/lib/schemas-data/3.1/core/provenance.json +9 -9
  356. package/dist/lib/schemas-data/3.1/core/publisher-property-selector.json +3 -3
  357. package/dist/lib/schemas-data/3.1/core/push-notification-config.json +2 -2
  358. package/dist/lib/schemas-data/3.1/core/real-estate-item.json +4 -4
  359. package/dist/lib/schemas-data/3.1/core/reference-asset.json +1 -1
  360. package/dist/lib/schemas-data/3.1/core/registry-event.json +13 -13
  361. package/dist/lib/schemas-data/3.1/core/registry-feed-response.json +2 -2
  362. package/dist/lib/schemas-data/3.1/core/reporting-capabilities.json +8 -8
  363. package/dist/lib/schemas-data/3.1/core/reporting-webhook.json +3 -3
  364. package/dist/lib/schemas-data/3.1/core/requirements/asset-requirements.json +13 -13
  365. package/dist/lib/schemas-data/3.1/core/requirements/audio-asset-requirements.json +1 -1
  366. package/dist/lib/schemas-data/3.1/core/requirements/catalog-field-binding.json +4 -4
  367. package/dist/lib/schemas-data/3.1/core/requirements/catalog-requirements.json +5 -5
  368. package/dist/lib/schemas-data/3.1/core/requirements/css-asset-requirements.json +1 -1
  369. package/dist/lib/schemas-data/3.1/core/requirements/daast-asset-requirements.json +1 -1
  370. package/dist/lib/schemas-data/3.1/core/requirements/html-asset-requirements.json +1 -1
  371. package/dist/lib/schemas-data/3.1/core/requirements/image-asset-requirements.json +2 -2
  372. package/dist/lib/schemas-data/3.1/core/requirements/javascript-asset-requirements.json +1 -1
  373. package/dist/lib/schemas-data/3.1/core/requirements/markdown-asset-requirements.json +1 -1
  374. package/dist/lib/schemas-data/3.1/core/requirements/offering-asset-constraint.json +4 -4
  375. package/dist/lib/schemas-data/3.1/core/requirements/text-asset-requirements.json +1 -1
  376. package/dist/lib/schemas-data/3.1/core/requirements/url-asset-requirements.json +1 -1
  377. package/dist/lib/schemas-data/3.1/core/requirements/vast-asset-requirements.json +1 -1
  378. package/dist/lib/schemas-data/3.1/core/requirements/video-asset-requirements.json +6 -6
  379. package/dist/lib/schemas-data/3.1/core/requirements/webhook-asset-requirements.json +1 -1
  380. package/dist/lib/schemas-data/3.1/core/response-payload-jws-envelope.json +1 -1
  381. package/dist/lib/schemas-data/3.1/core/response.json +1 -1
  382. package/dist/lib/schemas-data/3.1/core/rights-constraint.json +4 -4
  383. package/dist/lib/schemas-data/3.1/core/seller-agent-ref.json +1 -1
  384. package/dist/lib/schemas-data/3.1/core/signal-coverage-forecast.json +5 -5
  385. package/dist/lib/schemas-data/3.1/core/signal-definition-enrichment.json +4 -4
  386. package/dist/lib/schemas-data/3.1/core/signal-definition.json +5 -5
  387. package/dist/lib/schemas-data/3.1/core/signal-filters.json +3 -3
  388. package/dist/lib/schemas-data/3.1/core/signal-id.json +1 -1
  389. package/dist/lib/schemas-data/3.1/core/signal-listing.json +4 -4
  390. package/dist/lib/schemas-data/3.1/core/signal-modeling-disclosure.json +1 -1
  391. package/dist/lib/schemas-data/3.1/core/signal-pricing-option.json +2 -2
  392. package/dist/lib/schemas-data/3.1/core/signal-pricing.json +6 -6
  393. package/dist/lib/schemas-data/3.1/core/signal-ref.json +1 -1
  394. package/dist/lib/schemas-data/3.1/core/signal-selection-group-rule.json +1 -1
  395. package/dist/lib/schemas-data/3.1/core/signal-targeting-expression.json +4 -4
  396. package/dist/lib/schemas-data/3.1/core/signal-targeting-rules.json +2 -2
  397. package/dist/lib/schemas-data/3.1/core/signal-targeting.json +7 -7
  398. package/dist/lib/schemas-data/3.1/core/sla-window.json +1 -1
  399. package/dist/lib/schemas-data/3.1/core/special.json +2 -2
  400. package/dist/lib/schemas-data/3.1/core/start-timing.json +1 -1
  401. package/dist/lib/schemas-data/3.1/core/store-item.json +3 -3
  402. package/dist/lib/schemas-data/3.1/core/talent.json +2 -2
  403. package/dist/lib/schemas-data/3.1/core/targeting.json +22 -22
  404. package/dist/lib/schemas-data/3.1/core/tasks-get-request.json +5 -5
  405. package/dist/lib/schemas-data/3.1/core/tasks-get-response.json +10 -10
  406. package/dist/lib/schemas-data/3.1/core/tasks-list-request.json +13 -13
  407. package/dist/lib/schemas-data/3.1/core/tasks-list-response.json +8 -8
  408. package/dist/lib/schemas-data/3.1/core/transformer-param.json +1 -1
  409. package/dist/lib/schemas-data/3.1/core/transformer.json +5 -5
  410. package/dist/lib/schemas-data/3.1/core/truncation-sentinel.json +1 -1
  411. package/dist/lib/schemas-data/3.1/core/user-match.json +3 -3
  412. package/dist/lib/schemas-data/3.1/core/vehicle-item.json +4 -4
  413. package/dist/lib/schemas-data/3.1/core/vendor-metric-id.json +1 -1
  414. package/dist/lib/schemas-data/3.1/core/vendor-metric-optimization-supported-metric.json +3 -3
  415. package/dist/lib/schemas-data/3.1/core/vendor-metric-optimization.json +2 -2
  416. package/dist/lib/schemas-data/3.1/core/vendor-metric-value.json +3 -3
  417. package/dist/lib/schemas-data/3.1/core/vendor-pricing-option.json +3 -3
  418. package/dist/lib/schemas-data/3.1/core/version-envelope.json +1 -1
  419. package/dist/lib/schemas-data/3.1/core/webhook-activity-record.json +3 -3
  420. package/dist/lib/schemas-data/3.1/core/webhook-challenge-response.json +1 -1
  421. package/dist/lib/schemas-data/3.1/core/webhook-challenge.json +2 -2
  422. package/dist/lib/schemas-data/3.1/core/wholesale-feed-event.json +17 -17
  423. package/dist/lib/schemas-data/3.1/core/wholesale-feed-webhook.json +3 -3
  424. package/dist/lib/schemas-data/3.1/core/x-entity-types.json +1 -1
  425. package/dist/lib/schemas-data/3.1/creative/asset-types/index.json +6 -6
  426. package/dist/lib/schemas-data/3.1/creative/audit-observation.json +2 -2
  427. package/dist/lib/schemas-data/3.1/creative/creative-feature-result.json +2 -2
  428. package/dist/lib/schemas-data/3.1/creative/creative-purged-webhook.json +3 -3
  429. package/dist/lib/schemas-data/3.1/creative/creative-status-changed-webhook.json +4 -4
  430. package/dist/lib/schemas-data/3.1/creative/get-creative-delivery-request.json +6 -6
  431. package/dist/lib/schemas-data/3.1/creative/get-creative-delivery-response.json +9 -9
  432. package/dist/lib/schemas-data/3.1/creative/get-creative-features-request.json +6 -6
  433. package/dist/lib/schemas-data/3.1/creative/get-creative-features-response.json +11 -11
  434. package/dist/lib/schemas-data/3.1/creative/list-creative-formats-request.json +13 -13
  435. package/dist/lib/schemas-data/3.1/creative/list-creative-formats-response.json +9 -9
  436. package/dist/lib/schemas-data/3.1/creative/list-creatives-request.json +9 -9
  437. package/dist/lib/schemas-data/3.1/creative/list-creatives-response.json +52 -21
  438. package/dist/lib/schemas-data/3.1/creative/list-transformers-request.json +8 -8
  439. package/dist/lib/schemas-data/3.1/creative/list-transformers-response.json +8 -8
  440. package/dist/lib/schemas-data/3.1/creative/preview-creative-request.json +12 -12
  441. package/dist/lib/schemas-data/3.1/creative/preview-creative-response.json +14 -14
  442. package/dist/lib/schemas-data/3.1/creative/preview-render.json +1 -1
  443. package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-input-required.json +3 -3
  444. package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-submitted.json +4 -4
  445. package/dist/lib/schemas-data/3.1/creative/sync-creatives-async-response-working.json +3 -3
  446. package/dist/lib/schemas-data/3.1/creative/sync-creatives-request.json +8 -8
  447. package/dist/lib/schemas-data/3.1/creative/sync-creatives-response.json +15 -15
  448. package/dist/lib/schemas-data/3.1/creative/validate-input-request.json +4 -4
  449. package/dist/lib/schemas-data/3.1/creative/validate-input-response.json +4 -4
  450. package/dist/lib/schemas-data/3.1/creative/validate-input-result.json +1 -1
  451. package/dist/lib/schemas-data/3.1/creative/video-brief.json +1 -1
  452. package/dist/lib/schemas-data/3.1/enums/account-scope.json +1 -1
  453. package/dist/lib/schemas-data/3.1/enums/account-status.json +1 -1
  454. package/dist/lib/schemas-data/3.1/enums/action-not-allowed-reason.json +1 -1
  455. package/dist/lib/schemas-data/3.1/enums/action-source.json +1 -1
  456. package/dist/lib/schemas-data/3.1/enums/adcp-protocol.json +1 -1
  457. package/dist/lib/schemas-data/3.1/enums/adjustment-kind.json +1 -1
  458. package/dist/lib/schemas-data/3.1/enums/advertiser-industry.json +1 -1
  459. package/dist/lib/schemas-data/3.1/enums/age-verification-method.json +1 -1
  460. package/dist/lib/schemas-data/3.1/enums/assessment-status.json +1 -1
  461. package/dist/lib/schemas-data/3.1/enums/asset-content-type.json +1 -1
  462. package/dist/lib/schemas-data/3.1/enums/attestation-claim.json +1 -1
  463. package/dist/lib/schemas-data/3.1/enums/attribution-methodology.json +1 -1
  464. package/dist/lib/schemas-data/3.1/enums/attribution-model.json +1 -1
  465. package/dist/lib/schemas-data/3.1/enums/audience-source.json +1 -1
  466. package/dist/lib/schemas-data/3.1/enums/audience-status.json +1 -1
  467. package/dist/lib/schemas-data/3.1/enums/audio-channel-layout.json +1 -1
  468. package/dist/lib/schemas-data/3.1/enums/audio-distribution-type.json +1 -1
  469. package/dist/lib/schemas-data/3.1/enums/auth-scheme.json +1 -1
  470. package/dist/lib/schemas-data/3.1/enums/available-metric.json +1 -1
  471. package/dist/lib/schemas-data/3.1/enums/billing-party.json +1 -1
  472. package/dist/lib/schemas-data/3.1/enums/binary-verdict.json +1 -1
  473. package/dist/lib/schemas-data/3.1/enums/brand-agent-type.json +1 -1
  474. package/dist/lib/schemas-data/3.1/enums/c2pa-watermark-action.json +1 -1
  475. package/dist/lib/schemas-data/3.1/enums/canceled-by.json +1 -1
  476. package/dist/lib/schemas-data/3.1/enums/catalog-action.json +1 -1
  477. package/dist/lib/schemas-data/3.1/enums/catalog-item-status.json +1 -1
  478. package/dist/lib/schemas-data/3.1/enums/catalog-type.json +1 -1
  479. package/dist/lib/schemas-data/3.1/enums/channels.json +1 -1
  480. package/dist/lib/schemas-data/3.1/enums/cloud-storage-protocol.json +1 -1
  481. package/dist/lib/schemas-data/3.1/enums/co-branding-requirement.json +1 -1
  482. package/dist/lib/schemas-data/3.1/enums/collection-cadence.json +1 -1
  483. package/dist/lib/schemas-data/3.1/enums/collection-kind.json +1 -1
  484. package/dist/lib/schemas-data/3.1/enums/collection-relationship.json +1 -1
  485. package/dist/lib/schemas-data/3.1/enums/collection-status.json +1 -1
  486. package/dist/lib/schemas-data/3.1/enums/completion-source.json +1 -1
  487. package/dist/lib/schemas-data/3.1/enums/consent-basis.json +1 -1
  488. package/dist/lib/schemas-data/3.1/enums/content-id-type.json +1 -1
  489. package/dist/lib/schemas-data/3.1/enums/content-rating-system.json +1 -1
  490. package/dist/lib/schemas-data/3.1/enums/creative-action.json +1 -1
  491. package/dist/lib/schemas-data/3.1/enums/creative-agent-capability.json +1 -1
  492. package/dist/lib/schemas-data/3.1/enums/creative-approval-status.json +1 -1
  493. package/dist/lib/schemas-data/3.1/enums/creative-event-reason-code.json +1 -1
  494. package/dist/lib/schemas-data/3.1/enums/creative-identifier-type.json +1 -1
  495. package/dist/lib/schemas-data/3.1/enums/creative-quality.json +1 -1
  496. package/dist/lib/schemas-data/3.1/enums/creative-selection-strategy.json +1 -1
  497. package/dist/lib/schemas-data/3.1/enums/creative-sort-field.json +1 -1
  498. package/dist/lib/schemas-data/3.1/enums/creative-status.json +1 -1
  499. package/dist/lib/schemas-data/3.1/enums/daast-tracking-event.json +1 -1
  500. package/dist/lib/schemas-data/3.1/enums/daast-version.json +1 -1
  501. package/dist/lib/schemas-data/3.1/enums/day-of-week.json +1 -1
  502. package/dist/lib/schemas-data/3.1/enums/delegation-authority.json +1 -1
  503. package/dist/lib/schemas-data/3.1/enums/delivery-type.json +1 -1
  504. package/dist/lib/schemas-data/3.1/enums/demographic-system.json +1 -1
  505. package/dist/lib/schemas-data/3.1/enums/derivative-type.json +1 -1
  506. package/dist/lib/schemas-data/3.1/enums/device-platform.json +1 -1
  507. package/dist/lib/schemas-data/3.1/enums/device-type.json +1 -1
  508. package/dist/lib/schemas-data/3.1/enums/digital-source-type.json +1 -1
  509. package/dist/lib/schemas-data/3.1/enums/dimension-unit.json +1 -1
  510. package/dist/lib/schemas-data/3.1/enums/disclosure-persistence.json +1 -1
  511. package/dist/lib/schemas-data/3.1/enums/disclosure-position.json +1 -1
  512. package/dist/lib/schemas-data/3.1/enums/distance-unit.json +1 -1
  513. package/dist/lib/schemas-data/3.1/enums/distribution-identifier-type.json +1 -1
  514. package/dist/lib/schemas-data/3.1/enums/embedded-provenance-method.json +1 -1
  515. package/dist/lib/schemas-data/3.1/enums/error-code.json +1 -1
  516. package/dist/lib/schemas-data/3.1/enums/error-scope.json +1 -1
  517. package/dist/lib/schemas-data/3.1/enums/escalation-severity.json +1 -1
  518. package/dist/lib/schemas-data/3.1/enums/event-type.json +1 -1
  519. package/dist/lib/schemas-data/3.1/enums/exclusivity.json +1 -1
  520. package/dist/lib/schemas-data/3.1/enums/feature-check-status.json +1 -1
  521. package/dist/lib/schemas-data/3.1/enums/feed-format.json +1 -1
  522. package/dist/lib/schemas-data/3.1/enums/feedback-source.json +1 -1
  523. package/dist/lib/schemas-data/3.1/enums/forecast-method.json +1 -1
  524. package/dist/lib/schemas-data/3.1/enums/forecast-range-unit.json +1 -1
  525. package/dist/lib/schemas-data/3.1/enums/forecastable-metric.json +1 -1
  526. package/dist/lib/schemas-data/3.1/enums/format-id-parameter.json +1 -1
  527. package/dist/lib/schemas-data/3.1/enums/frame-rate-type.json +1 -1
  528. package/dist/lib/schemas-data/3.1/enums/frequency-cap-scope.json +1 -1
  529. package/dist/lib/schemas-data/3.1/enums/genre-taxonomy.json +1 -1
  530. package/dist/lib/schemas-data/3.1/enums/geo-level.json +1 -1
  531. package/dist/lib/schemas-data/3.1/enums/gop-type.json +1 -1
  532. package/dist/lib/schemas-data/3.1/enums/governance-decision.json +1 -1
  533. package/dist/lib/schemas-data/3.1/enums/governance-domain.json +1 -1
  534. package/dist/lib/schemas-data/3.1/enums/governance-mode.json +1 -1
  535. package/dist/lib/schemas-data/3.1/enums/governance-phase.json +1 -1
  536. package/dist/lib/schemas-data/3.1/enums/history-entry-type.json +1 -1
  537. package/dist/lib/schemas-data/3.1/enums/http-method.json +1 -1
  538. package/dist/lib/schemas-data/3.1/enums/identifier-types.json +1 -1
  539. package/dist/lib/schemas-data/3.1/enums/impairment-offline-state.json +1 -1
  540. package/dist/lib/schemas-data/3.1/enums/impairment-reason-code.json +1 -1
  541. package/dist/lib/schemas-data/3.1/enums/installment-status.json +1 -1
  542. package/dist/lib/schemas-data/3.1/enums/javascript-module-type.json +1 -1
  543. package/dist/lib/schemas-data/3.1/enums/landing-page-requirement.json +1 -1
  544. package/dist/lib/schemas-data/3.1/enums/legacy-postal-system.json +1 -1
  545. package/dist/lib/schemas-data/3.1/enums/lift-dimension.json +1 -1
  546. package/dist/lib/schemas-data/3.1/enums/logo-slot.json +1 -1
  547. package/dist/lib/schemas-data/3.1/enums/makegood-remedy.json +1 -1
  548. package/dist/lib/schemas-data/3.1/enums/markdown-flavor.json +1 -1
  549. package/dist/lib/schemas-data/3.1/enums/match-id-type.json +1 -1
  550. package/dist/lib/schemas-data/3.1/enums/match-type.json +1 -1
  551. package/dist/lib/schemas-data/3.1/enums/media-buy-action-mode.json +1 -1
  552. package/dist/lib/schemas-data/3.1/enums/media-buy-health.json +1 -1
  553. package/dist/lib/schemas-data/3.1/enums/media-buy-status.json +1 -1
  554. package/dist/lib/schemas-data/3.1/enums/media-buy-valid-action.json +1 -1
  555. package/dist/lib/schemas-data/3.1/enums/metric-scope.json +1 -1
  556. package/dist/lib/schemas-data/3.1/enums/metric-type.json +1 -1
  557. package/dist/lib/schemas-data/3.1/enums/metro-system.json +1 -1
  558. package/dist/lib/schemas-data/3.1/enums/moov-atom-position.json +1 -1
  559. package/dist/lib/schemas-data/3.1/enums/notification-type.json +1 -1
  560. package/dist/lib/schemas-data/3.1/enums/offering-availability-status.json +1 -1
  561. package/dist/lib/schemas-data/3.1/enums/outcome-type.json +1 -1
  562. package/dist/lib/schemas-data/3.1/enums/pacing.json +1 -1
  563. package/dist/lib/schemas-data/3.1/enums/payment-terms.json +1 -1
  564. package/dist/lib/schemas-data/3.1/enums/performance-standard-metric.json +1 -1
  565. package/dist/lib/schemas-data/3.1/enums/policy-category.json +1 -1
  566. package/dist/lib/schemas-data/3.1/enums/policy-enforcement.json +1 -1
  567. package/dist/lib/schemas-data/3.1/enums/postal-system.json +1 -1
  568. package/dist/lib/schemas-data/3.1/enums/preview-output-format.json +1 -1
  569. package/dist/lib/schemas-data/3.1/enums/pricing-model.json +1 -1
  570. package/dist/lib/schemas-data/3.1/enums/production-quality.json +1 -1
  571. package/dist/lib/schemas-data/3.1/enums/property-type.json +1 -1
  572. package/dist/lib/schemas-data/3.1/enums/proposal-status.json +1 -1
  573. package/dist/lib/schemas-data/3.1/enums/publisher-identifier-types.json +1 -1
  574. package/dist/lib/schemas-data/3.1/enums/purchase-type.json +1 -1
  575. package/dist/lib/schemas-data/3.1/enums/reach-unit.json +1 -1
  576. package/dist/lib/schemas-data/3.1/enums/reporting-frequency.json +1 -1
  577. package/dist/lib/schemas-data/3.1/enums/response-type.json +1 -1
  578. package/dist/lib/schemas-data/3.1/enums/restricted-attribute.json +1 -1
  579. package/dist/lib/schemas-data/3.1/enums/right-type.json +1 -1
  580. package/dist/lib/schemas-data/3.1/enums/right-use.json +1 -1
  581. package/dist/lib/schemas-data/3.1/enums/rights-billing-period.json +1 -1
  582. package/dist/lib/schemas-data/3.1/enums/scan-type.json +1 -1
  583. package/dist/lib/schemas-data/3.1/enums/si-session-status.json +1 -1
  584. package/dist/lib/schemas-data/3.1/enums/signal-catalog-type.json +1 -1
  585. package/dist/lib/schemas-data/3.1/enums/signal-source.json +1 -1
  586. package/dist/lib/schemas-data/3.1/enums/signal-value-type.json +1 -1
  587. package/dist/lib/schemas-data/3.1/enums/snapshot-unavailable-reason.json +1 -1
  588. package/dist/lib/schemas-data/3.1/enums/social-placement-surface.json +1 -1
  589. package/dist/lib/schemas-data/3.1/enums/sort-direction.json +1 -1
  590. package/dist/lib/schemas-data/3.1/enums/sort-metric.json +1 -1
  591. package/dist/lib/schemas-data/3.1/enums/special-category.json +1 -1
  592. package/dist/lib/schemas-data/3.1/enums/specialism.json +1 -1
  593. package/dist/lib/schemas-data/3.1/enums/sponsored-placement-type.json +1 -1
  594. package/dist/lib/schemas-data/3.1/enums/talent-role.json +1 -1
  595. package/dist/lib/schemas-data/3.1/enums/task-status.json +1 -1
  596. package/dist/lib/schemas-data/3.1/enums/task-type.json +1 -1
  597. package/dist/lib/schemas-data/3.1/enums/transport-mode.json +1 -1
  598. package/dist/lib/schemas-data/3.1/enums/travel-time-unit.json +1 -1
  599. package/dist/lib/schemas-data/3.1/enums/uid-type.json +1 -1
  600. package/dist/lib/schemas-data/3.1/enums/universal-macro.json +1 -1
  601. package/dist/lib/schemas-data/3.1/enums/update-frequency.json +1 -1
  602. package/dist/lib/schemas-data/3.1/enums/url-asset-type.json +1 -1
  603. package/dist/lib/schemas-data/3.1/enums/validation-mode.json +1 -1
  604. package/dist/lib/schemas-data/3.1/enums/vast-tracking-event.json +1 -1
  605. package/dist/lib/schemas-data/3.1/enums/vast-version.json +1 -1
  606. package/dist/lib/schemas-data/3.1/enums/video-placement-type.json +1 -1
  607. package/dist/lib/schemas-data/3.1/enums/viewability-standard.json +1 -1
  608. package/dist/lib/schemas-data/3.1/enums/watermark-media-type.json +1 -1
  609. package/dist/lib/schemas-data/3.1/enums/wcag-level.json +1 -1
  610. package/dist/lib/schemas-data/3.1/enums/webhook-response-type.json +1 -1
  611. package/dist/lib/schemas-data/3.1/enums/webhook-security-method.json +1 -1
  612. package/dist/lib/schemas-data/3.1/error-details/account-setup-required.json +1 -1
  613. package/dist/lib/schemas-data/3.1/error-details/action-not-allowed.json +4 -4
  614. package/dist/lib/schemas-data/3.1/error-details/agent-permission-denied.json +1 -1
  615. package/dist/lib/schemas-data/3.1/error-details/audience-too-small.json +1 -1
  616. package/dist/lib/schemas-data/3.1/error-details/authorization-required.json +3 -3
  617. package/dist/lib/schemas-data/3.1/error-details/billing-not-permitted-for-agent.json +3 -3
  618. package/dist/lib/schemas-data/3.1/error-details/billing-not-supported.json +2 -2
  619. package/dist/lib/schemas-data/3.1/error-details/budget-too-low.json +1 -1
  620. package/dist/lib/schemas-data/3.1/error-details/conflict.json +1 -1
  621. package/dist/lib/schemas-data/3.1/error-details/creative-rejected.json +1 -1
  622. package/dist/lib/schemas-data/3.1/error-details/policy-violation.json +1 -1
  623. package/dist/lib/schemas-data/3.1/error-details/rate-limited.json +1 -1
  624. package/dist/lib/schemas-data/3.1/error-details/stale-response.json +1 -1
  625. package/dist/lib/schemas-data/3.1/error-details/vendor-error-codes.json +1 -1
  626. package/dist/lib/schemas-data/3.1/error-details/version-unsupported.json +2 -2
  627. package/dist/lib/schemas-data/3.1/extensions/extension-meta.json +1 -1
  628. package/dist/lib/schemas-data/3.1/extensions/index.json +2 -2
  629. package/dist/lib/schemas-data/3.1/formats/canonical/_base.json +5 -5
  630. package/dist/lib/schemas-data/3.1/formats/canonical/agent_placement.json +2 -2
  631. package/dist/lib/schemas-data/3.1/formats/canonical/audio_daast.json +2 -2
  632. package/dist/lib/schemas-data/3.1/formats/canonical/audio_hosted.json +2 -2
  633. package/dist/lib/schemas-data/3.1/formats/canonical/display_tag.json +2 -2
  634. package/dist/lib/schemas-data/3.1/formats/canonical/html5.json +2 -2
  635. package/dist/lib/schemas-data/3.1/formats/canonical/image.json +2 -2
  636. package/dist/lib/schemas-data/3.1/formats/canonical/image_carousel.json +2 -2
  637. package/dist/lib/schemas-data/3.1/formats/canonical/native_in_feed.json +2 -2
  638. package/dist/lib/schemas-data/3.1/formats/canonical/responsive_creative.json +2 -2
  639. package/dist/lib/schemas-data/3.1/formats/canonical/sponsored_placement.json +2 -2
  640. package/dist/lib/schemas-data/3.1/formats/canonical/video_hosted.json +2 -2
  641. package/dist/lib/schemas-data/3.1/formats/canonical/video_vast.json +2 -2
  642. package/dist/lib/schemas-data/3.1/governance/attribute-definition.json +1 -1
  643. package/dist/lib/schemas-data/3.1/governance/audience-constraints.json +3 -3
  644. package/dist/lib/schemas-data/3.1/governance/check-governance-request.json +8 -8
  645. package/dist/lib/schemas-data/3.1/governance/check-governance-response.json +7 -7
  646. package/dist/lib/schemas-data/3.1/governance/get-plan-audit-logs-request.json +5 -5
  647. package/dist/lib/schemas-data/3.1/governance/get-plan-audit-logs-response.json +11 -11
  648. package/dist/lib/schemas-data/3.1/governance/policy-category-definition.json +2 -2
  649. package/dist/lib/schemas-data/3.1/governance/policy-entry.json +6 -6
  650. package/dist/lib/schemas-data/3.1/governance/policy-ref.json +1 -1
  651. package/dist/lib/schemas-data/3.1/governance/report-plan-outcome-request.json +7 -7
  652. package/dist/lib/schemas-data/3.1/governance/report-plan-outcome-response.json +5 -5
  653. package/dist/lib/schemas-data/3.1/governance/sync-plans-request.json +14 -14
  654. package/dist/lib/schemas-data/3.1/governance/sync-plans-response.json +6 -6
  655. package/dist/lib/schemas-data/3.1/index.json +440 -440
  656. package/dist/lib/schemas-data/3.1/manifest.json +3 -3
  657. package/dist/lib/schemas-data/3.1/manifest.schema.json +1 -1
  658. package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-input-required.json +4 -4
  659. package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-submitted.json +4 -4
  660. package/dist/lib/schemas-data/3.1/media-buy/build-creative-async-response-working.json +3 -3
  661. package/dist/lib/schemas-data/3.1/media-buy/build-creative-request.json +16 -16
  662. package/dist/lib/schemas-data/3.1/media-buy/build-creative-response.json +35 -35
  663. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-input-required.json +4 -4
  664. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-submitted.json +4 -4
  665. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-async-response-working.json +3 -3
  666. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-request.json +13 -13
  667. package/dist/lib/schemas-data/3.1/media-buy/create-media-buy-response.json +19 -19
  668. package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-request.json +23 -23
  669. package/dist/lib/schemas-data/3.1/media-buy/get-media-buy-delivery-response.json +27 -27
  670. package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-request.json +8 -8
  671. package/dist/lib/schemas-data/3.1/media-buy/get-media-buys-response.json +30 -30
  672. package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-input-required.json +4 -4
  673. package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-submitted.json +4 -4
  674. package/dist/lib/schemas-data/3.1/media-buy/get-products-async-response-working.json +3 -3
  675. package/dist/lib/schemas-data/3.1/media-buy/get-products-request.json +13 -13
  676. package/dist/lib/schemas-data/3.1/media-buy/get-products-response.json +10 -10
  677. package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-request.json +13 -13
  678. package/dist/lib/schemas-data/3.1/media-buy/list-creative-formats-response.json +9 -9
  679. package/dist/lib/schemas-data/3.1/media-buy/log-event-request.json +5 -5
  680. package/dist/lib/schemas-data/3.1/media-buy/log-event-response.json +8 -8
  681. package/dist/lib/schemas-data/3.1/media-buy/media-buy-delivery-webhook-result.json +9 -9
  682. package/dist/lib/schemas-data/3.1/media-buy/package-request.json +23 -23
  683. package/dist/lib/schemas-data/3.1/media-buy/package-update.json +13 -13
  684. package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-request.json +7 -7
  685. package/dist/lib/schemas-data/3.1/media-buy/provide-performance-feedback-response.json +8 -8
  686. package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-request.json +8 -8
  687. package/dist/lib/schemas-data/3.1/media-buy/sync-audiences-response.json +14 -14
  688. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-input-required.json +3 -3
  689. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-submitted.json +4 -4
  690. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-async-response-working.json +3 -3
  691. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-request.json +8 -8
  692. package/dist/lib/schemas-data/3.1/media-buy/sync-catalogs-response.json +14 -14
  693. package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-request.json +8 -8
  694. package/dist/lib/schemas-data/3.1/media-buy/sync-event-sources-response.json +14 -14
  695. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-input-required.json +3 -3
  696. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-submitted.json +4 -4
  697. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-async-response-working.json +3 -3
  698. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-request.json +11 -11
  699. package/dist/lib/schemas-data/3.1/media-buy/update-media-buy-response.json +17 -17
  700. package/dist/lib/schemas-data/3.1/pricing-options/cpa-option.json +4 -4
  701. package/dist/lib/schemas-data/3.1/pricing-options/cpc-option.json +4 -4
  702. package/dist/lib/schemas-data/3.1/pricing-options/cpcv-option.json +4 -4
  703. package/dist/lib/schemas-data/3.1/pricing-options/cpm-option.json +4 -4
  704. package/dist/lib/schemas-data/3.1/pricing-options/cpp-option.json +5 -5
  705. package/dist/lib/schemas-data/3.1/pricing-options/cpv-option.json +4 -4
  706. package/dist/lib/schemas-data/3.1/pricing-options/flat-rate-option.json +4 -4
  707. package/dist/lib/schemas-data/3.1/pricing-options/price-breakdown.json +2 -2
  708. package/dist/lib/schemas-data/3.1/pricing-options/price-guidance.json +1 -1
  709. package/dist/lib/schemas-data/3.1/pricing-options/time-option.json +4 -4
  710. package/dist/lib/schemas-data/3.1/pricing-options/vcpm-option.json +4 -4
  711. package/dist/lib/schemas-data/3.1/property/authorization-result.json +1 -1
  712. package/dist/lib/schemas-data/3.1/property/base-property-source.json +4 -4
  713. package/dist/lib/schemas-data/3.1/property/create-property-list-request.json +8 -8
  714. package/dist/lib/schemas-data/3.1/property/create-property-list-response.json +6 -6
  715. package/dist/lib/schemas-data/3.1/property/delete-property-list-request.json +5 -5
  716. package/dist/lib/schemas-data/3.1/property/delete-property-list-response.json +5 -5
  717. package/dist/lib/schemas-data/3.1/property/delivery-record.json +3 -3
  718. package/dist/lib/schemas-data/3.1/property/get-property-list-request.json +5 -5
  719. package/dist/lib/schemas-data/3.1/property/get-property-list-response.json +9 -9
  720. package/dist/lib/schemas-data/3.1/property/list-property-lists-request.json +6 -6
  721. package/dist/lib/schemas-data/3.1/property/list-property-lists-response.json +7 -7
  722. package/dist/lib/schemas-data/3.1/property/property-error.json +2 -2
  723. package/dist/lib/schemas-data/3.1/property/property-feature-definition.json +2 -2
  724. package/dist/lib/schemas-data/3.1/property/property-feature-result.json +4 -4
  725. package/dist/lib/schemas-data/3.1/property/property-feature-value.json +2 -2
  726. package/dist/lib/schemas-data/3.1/property/property-feature.json +1 -1
  727. package/dist/lib/schemas-data/3.1/property/property-list-changed-webhook.json +2 -2
  728. package/dist/lib/schemas-data/3.1/property/property-list-filters.json +5 -5
  729. package/dist/lib/schemas-data/3.1/property/property-list.json +6 -6
  730. package/dist/lib/schemas-data/3.1/property/update-property-list-request.json +8 -8
  731. package/dist/lib/schemas-data/3.1/property/update-property-list-response.json +6 -6
  732. package/dist/lib/schemas-data/3.1/property/validate-property-delivery-request.json +6 -6
  733. package/dist/lib/schemas-data/3.1/property/validate-property-delivery-response.json +6 -6
  734. package/dist/lib/schemas-data/3.1/property/validation-result.json +5 -5
  735. package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-request.json +4 -4
  736. package/dist/lib/schemas-data/3.1/protocol/get-adcp-capabilities-response.json +33 -33
  737. package/dist/lib/schemas-data/3.1/protocol/get-task-status-request.json +5 -5
  738. package/dist/lib/schemas-data/3.1/protocol/get-task-status-response.json +10 -10
  739. package/dist/lib/schemas-data/3.1/protocol/list-tasks-request.json +13 -13
  740. package/dist/lib/schemas-data/3.1/protocol/list-tasks-response.json +8 -8
  741. package/dist/lib/schemas-data/3.1/registries/v1-canonical-mapping.json +282 -5
  742. package/dist/lib/schemas-data/3.1/signals/activate-signal-request.json +6 -6
  743. package/dist/lib/schemas-data/3.1/signals/activate-signal-response.json +9 -9
  744. package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-submitted.json +4 -4
  745. package/dist/lib/schemas-data/3.1/signals/get-signals-async-response-working.json +3 -3
  746. package/dist/lib/schemas-data/3.1/signals/get-signals-request.json +11 -11
  747. package/dist/lib/schemas-data/3.1/signals/get-signals-response.json +17 -17
  748. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-capabilities.json +1 -1
  749. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-context-use.json +1 -1
  750. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-request.json +4 -4
  751. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-get-offering-response.json +9 -9
  752. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-identity.json +1 -1
  753. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-request.json +7 -7
  754. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-initiate-session-response.json +10 -10
  755. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-request.json +5 -5
  756. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-send-message-response.json +10 -10
  757. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context-receipt.json +4 -4
  758. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-sponsored-context.json +4 -4
  759. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-request.json +4 -4
  760. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-terminate-session-response.json +7 -7
  761. package/dist/lib/schemas-data/3.1/sponsored-intelligence/si-ui-element.json +1 -1
  762. package/dist/lib/schemas-data/3.1/trusted-match/available-package.json +4 -4
  763. package/dist/lib/schemas-data/3.1/trusted-match/context-match-request.json +5 -5
  764. package/dist/lib/schemas-data/3.1/trusted-match/context-match-response.json +4 -4
  765. package/dist/lib/schemas-data/3.1/trusted-match/error.json +1 -1
  766. package/dist/lib/schemas-data/3.1/trusted-match/identity-match-request.json +4 -4
  767. package/dist/lib/schemas-data/3.1/trusted-match/identity-match-response.json +3 -3
  768. package/dist/lib/schemas-data/3.1/trusted-match/offer-price.json +1 -1
  769. package/dist/lib/schemas-data/3.1/trusted-match/offer.json +5 -5
  770. package/dist/lib/schemas-data/3.1/trusted-match/provider-registration.json +2 -2
  771. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  772. package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js.map +1 -1
  773. package/dist/lib/server/decisioning/runtime/entity-hydration.generated.mjs.map +1 -1
  774. package/dist/lib/server/wire-spec-fields.generated.d.mts +29 -29
  775. package/dist/lib/server/wire-spec-fields.generated.d.ts +29 -29
  776. package/dist/lib/server/wire-spec-fields.generated.js +29 -29
  777. package/dist/lib/server/wire-spec-fields.generated.js.map +1 -1
  778. package/dist/lib/server/wire-spec-fields.generated.mjs +29 -29
  779. package/dist/lib/server/wire-spec-fields.generated.mjs.map +1 -1
  780. package/dist/lib/types/core.generated.d.mts +258 -129
  781. package/dist/lib/types/core.generated.d.ts +258 -129
  782. package/dist/lib/types/core.generated.d.ts.map +1 -1
  783. package/dist/lib/types/core.generated.js.map +1 -1
  784. package/dist/lib/types/list-creatives.d.ts +301 -126
  785. package/dist/lib/types/manifest.generated.d.mts +3 -3
  786. package/dist/lib/types/manifest.generated.d.ts +3 -3
  787. package/dist/lib/types/manifest.generated.js.map +1 -1
  788. package/dist/lib/types/manifest.generated.mjs.map +1 -1
  789. package/dist/lib/types/per-tool-index.json +1 -11
  790. package/dist/lib/types/schemas.generated.d.mts +32219 -22290
  791. package/dist/lib/types/schemas.generated.d.ts +32219 -22290
  792. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  793. package/dist/lib/types/schemas.generated.js +120 -77
  794. package/dist/lib/types/schemas.generated.js.map +1 -1
  795. package/dist/lib/types/schemas.generated.mjs +118 -77
  796. package/dist/lib/types/schemas.generated.mjs.map +1 -1
  797. package/dist/lib/types/tools.generated.d.mts +255 -126
  798. package/dist/lib/types/tools.generated.d.ts +255 -126
  799. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  800. package/dist/lib/types/tools.generated.js.map +1 -1
  801. package/dist/lib/version.d.mts +7 -7
  802. package/dist/lib/version.d.ts +7 -7
  803. package/dist/lib/version.d.ts.map +1 -1
  804. package/dist/lib/version.js +9 -6
  805. package/dist/lib/version.js.map +1 -1
  806. package/dist/lib/version.mjs +9 -6
  807. package/dist/lib/version.mjs.map +1 -1
  808. package/docs/llms.txt +2 -2
  809. package/package.json +4 -4
  810. package/dist/lib/types/sync-creatives.d.ts +0 -2406
  811. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/brand/index.yaml +0 -0
  812. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  813. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
  814. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/creative/index.yaml +0 -0
  815. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
  816. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
  817. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  818. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/creative/scenarios/evaluator_auth.yaml +0 -0
  819. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/creative/scenarios/native_in_feed.yaml +0 -0
  820. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/governance/index.yaml +0 -0
  821. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/index.yaml +0 -0
  822. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  823. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/available_actions.yaml +0 -0
  824. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  825. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
  826. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  827. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  828. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  829. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
  830. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
  831. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
  832. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
  833. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  834. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  835. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  836. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
  837. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
  838. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
  839. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
  840. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  841. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  842. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
  843. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
  844. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
  845. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
  846. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  847. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  848. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  849. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  850. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  851. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  852. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  853. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  854. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
  855. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  856. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  857. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  858. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  859. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  860. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  861. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  862. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/refine_products.yaml +0 -0
  863. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  864. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  865. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  866. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/media-buy/state-machine.yaml +0 -0
  867. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/signals/index.yaml +0 -0
  868. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/signals/scenarios/get_signals_async.yaml +0 -0
  869. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/sponsored-intelligence/index.yaml +0 -0
  870. /package/compliance/cache/{3.1.5 → 3.1.8}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  871. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/brand/index.yaml +0 -0
  872. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  873. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
  874. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/creative/index.yaml +0 -0
  875. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
  876. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
  877. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  878. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/creative/scenarios/evaluator_auth.yaml +0 -0
  879. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
  880. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/governance/index.yaml +0 -0
  881. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/index.yaml +0 -0
  882. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  883. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
  884. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  885. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
  886. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  887. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  888. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  889. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
  890. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
  891. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
  892. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
  893. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  894. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  895. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  896. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
  897. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
  898. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
  899. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
  900. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  901. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  902. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
  903. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
  904. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
  905. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
  906. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  907. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  908. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  909. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  910. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  911. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  912. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  913. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  914. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
  915. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  916. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  917. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  918. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  919. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  920. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  921. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  922. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
  923. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  924. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  925. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  926. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/media-buy/state-machine.yaml +0 -0
  927. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/signals/index.yaml +0 -0
  928. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
  929. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/sponsored-intelligence/index.yaml +0 -0
  930. /package/compliance/cache/{3.1.5 → 3.1.8}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  931. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/audience-sync/index.yaml +0 -0
  932. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/brand-rights/index.yaml +0 -0
  933. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
  934. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/collection-lists/index.yaml +0 -0
  935. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/content-standards/index.yaml +0 -0
  936. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/creative-ad-server/index.yaml +0 -0
  937. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/creative-generative/generative-seller.yaml +0 -0
  938. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/creative-generative/index.yaml +0 -0
  939. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/creative-template/index.yaml +0 -0
  940. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/creative-transformers/index.yaml +0 -0
  941. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/governance-aware-seller/index.yaml +0 -0
  942. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
  943. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/governance-delivery-monitor/index.yaml +0 -0
  944. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/governance-spend-authority/denied.yaml +0 -0
  945. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/governance-spend-authority/index.yaml +0 -0
  946. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/property-lists/index.yaml +0 -0
  947. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/sales-broadcast-tv/index.yaml +0 -0
  948. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/sales-catalog-driven/index.yaml +0 -0
  949. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/sales-guaranteed/index.yaml +0 -0
  950. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/sales-non-guaranteed/index.yaml +0 -0
  951. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/sales-proposal-mode/index.yaml +0 -0
  952. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/sales-social/index.yaml +0 -0
  953. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/signal-marketplace/index.yaml +0 -0
  954. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
  955. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/signal-owned/index.yaml +0 -0
  956. /package/compliance/cache/{3.1.5 → 3.1.8}/specialisms/sponsored-intelligence/index.yaml +0 -0
  957. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/acme-outdoor-live.yaml +0 -0
  958. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/acme-outdoor.yaml +0 -0
  959. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/billing-gate-runner.yaml +0 -0
  960. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/bistro-oranje.yaml +0 -0
  961. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/distributed-brand-runner.yaml +0 -0
  962. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/nova-motors.yaml +0 -0
  963. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/osei-natural.yaml +0 -0
  964. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/parallel-dispatch-runner.yaml +0 -0
  965. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/rate-limit-trip-runner.yaml +0 -0
  966. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/signed-requests-runner.yaml +0 -0
  967. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/single-side-trust-runner.yaml +0 -0
  968. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/substitution-observer-runner.yaml +0 -0
  969. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/summit-foods.yaml +0 -0
  970. /package/compliance/cache/{3.1.5 → 3.1.8}/test-kits/webhook-receiver-runner.yaml +0 -0
  971. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/catalog-macro-substitution.json +0 -0
  972. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
  973. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/002-full-plan.json +0 -0
  974. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
  975. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
  976. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
  977. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
  978. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
  979. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
  980. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
  981. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
  982. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
  983. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/README.md +0 -0
  984. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/canonicalization.json +0 -0
  985. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/keys.json +0 -0
  986. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
  987. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
  988. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
  989. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
  990. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
  991. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
  992. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
  993. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
  994. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
  995. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
  996. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
  997. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
  998. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
  999. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
  1000. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
  1001. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
  1002. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
  1003. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
  1004. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
  1005. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
  1006. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
  1007. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
  1008. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
  1009. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
  1010. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
  1011. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
  1012. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
  1013. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
  1014. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
  1015. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
  1016. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
  1017. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
  1018. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
  1019. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
  1020. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
  1021. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
  1022. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
  1023. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
  1024. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
  1025. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
  1026. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-receiver-envelope.json +0 -0
  1027. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/README.md +0 -0
  1028. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/keys.json +0 -0
  1029. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
  1030. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
  1031. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
  1032. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
  1033. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
  1034. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
  1035. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
  1036. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
  1037. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
  1038. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
  1039. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
  1040. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
  1041. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
  1042. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
  1043. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
  1044. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
  1045. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
  1046. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
  1047. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
  1048. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
  1049. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
  1050. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
  1051. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
  1052. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
  1053. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
  1054. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
  1055. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
  1056. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
  1057. /package/compliance/cache/{3.1.5 → 3.1.8}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
  1058. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/billing-gate-dispatch.yaml +0 -0
  1059. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/canonical-format-validate-input.yaml +0 -0
  1060. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/capability-discovery.yaml +0 -0
  1061. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/collection-lists-pagination-integrity.yaml +0 -0
  1062. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/comply-controller-mode-gate.yaml +0 -0
  1063. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/content-standards-pagination-integrity.yaml +0 -0
  1064. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/deterministic-testing.yaml +0 -0
  1065. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/error-compliance-signals.yaml +0 -0
  1066. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/error-compliance.yaml +0 -0
  1067. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/fictional-entities.yaml +0 -0
  1068. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/get-media-buys-pagination-integrity.yaml +0 -0
  1069. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/get-products-pagination-integrity.yaml +0 -0
  1070. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/get-signals-pagination-integrity.yaml +0 -0
  1071. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/idempotency.yaml +0 -0
  1072. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/notification-config-event-scope.yaml +0 -0
  1073. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/notification-config-lifecycle.yaml +0 -0
  1074. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/notification-config-rejections.yaml +0 -0
  1075. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/pagination-integrity-creative-formats.yaml +0 -0
  1076. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/pagination-integrity-list-accounts.yaml +0 -0
  1077. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/pagination-integrity.yaml +0 -0
  1078. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/property-lists-pagination-integrity.yaml +0 -0
  1079. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/read-tool-idempotency.yaml +0 -0
  1080. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/runner-output-contract.yaml +0 -0
  1081. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/schema-validation-signals.yaml +0 -0
  1082. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/schema-validation.yaml +0 -0
  1083. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/security.yaml +0 -0
  1084. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/signed-requests.yaml +0 -0
  1085. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/stale-response-advisory.yaml +0 -0
  1086. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/storyboard-schema.yaml +0 -0
  1087. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/v3-envelope-integrity.yaml +0 -0
  1088. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/version-negotiation.yaml +0 -0
  1089. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/webhook-emission.yaml +0 -0
  1090. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/webhook-receiver-envelope.yaml +0 -0
  1091. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
  1092. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/wholesale-feed-product-webhooks.yaml +0 -0
  1093. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/wholesale-feed-products.yaml +0 -0
  1094. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
  1095. /package/compliance/cache/{3.1.5 → 3.1.8}/universal/wholesale-feed-signals.yaml +0 -0
  1096. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/brand/index.yaml +0 -0
  1097. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  1098. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/brand/scenarios/single_side_trust_extension.yaml +0 -0
  1099. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/creative/index.yaml +0 -0
  1100. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/creative/scenarios/billing_out_of_band.yaml +0 -0
  1101. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/creative/scenarios/canonical_supported_formats.yaml +0 -0
  1102. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  1103. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/creative/scenarios/evaluator_auth.yaml +0 -0
  1104. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/creative/scenarios/native_in_feed.yaml +0 -0
  1105. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/governance/index.yaml +0 -0
  1106. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/index.yaml +0 -0
  1107. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  1108. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/available_actions.yaml +0 -0
  1109. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  1110. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/canonical_formats.yaml +0 -0
  1111. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  1112. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  1113. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  1114. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
  1115. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/creative_reception.yaml +0 -0
  1116. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
  1117. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/dependency_impairment.yaml +0 -0
  1118. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  1119. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  1120. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  1121. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/get_products_async.yaml +0 -0
  1122. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
  1123. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
  1124. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
  1125. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  1126. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  1127. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
  1128. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
  1129. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
  1130. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/measurement_accountability.yaml +0 -0
  1131. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  1132. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  1133. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1134. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  1135. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  1136. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  1137. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  1138. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  1139. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1140. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  1141. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  1142. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  1143. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  1144. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  1145. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  1146. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  1147. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/refine_products.yaml +0 -0
  1148. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  1149. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  1150. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  1151. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/media-buy/state-machine.yaml +0 -0
  1152. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/signals/index.yaml +0 -0
  1153. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/signals/scenarios/get_signals_async.yaml +0 -0
  1154. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/sponsored-intelligence/index.yaml +0 -0
  1155. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/domains/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  1156. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/brand/index.yaml +0 -0
  1157. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/brand/scenarios/distributed_brand_resolution.yaml +0 -0
  1158. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/brand/scenarios/single_side_trust_extension.yaml +0 -0
  1159. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/creative/index.yaml +0 -0
  1160. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/creative/scenarios/billing_out_of_band.yaml +0 -0
  1161. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/creative/scenarios/canonical_supported_formats.yaml +0 -0
  1162. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/creative/scenarios/creative_lifecycle_webhooks.yaml +0 -0
  1163. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/creative/scenarios/evaluator_auth.yaml +0 -0
  1164. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/creative/scenarios/native_in_feed.yaml +0 -0
  1165. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/governance/index.yaml +0 -0
  1166. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/index.yaml +0 -0
  1167. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/audience_buy_flow.yaml +0 -0
  1168. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/available_actions.yaml +0 -0
  1169. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/billing_finality_delivery.yaml +0 -0
  1170. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/canonical_formats.yaml +0 -0
  1171. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/clicks_buy_flow.yaml +0 -0
  1172. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/completed_views_buy_flow.yaml +0 -0
  1173. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  1174. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
  1175. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/creative_reception.yaml +0 -0
  1176. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
  1177. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/dependency_impairment.yaml +0 -0
  1178. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/dependency_impairment_cardinality.yaml +0 -0
  1179. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/event_dedup_flow.yaml +0 -0
  1180. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/frequency_cap_enforcement.yaml +0 -0
  1181. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/get_products_async.yaml +0 -0
  1182. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
  1183. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
  1184. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
  1185. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  1186. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/inline_creatives_without_sync.yaml +0 -0
  1187. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
  1188. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
  1189. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
  1190. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/measurement_accountability.yaml +0 -0
  1191. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  1192. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/package_correlation_legacy_fallback.yaml +0 -0
  1193. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1194. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/per_creative_conversion_attribution.yaml +0 -0
  1195. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/performance_buy_flow.yaml +0 -0
  1196. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/performance_buy_flow_roas.yaml +0 -0
  1197. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/pricing_currency_filter.yaml +0 -0
  1198. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/product_signal_targeting.yaml +0 -0
  1199. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1200. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/proposal_finalize_asap_timing.yaml +0 -0
  1201. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/proposal_not_found_errors.yaml +0 -0
  1202. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/provenance_audit_observation.yaml +0 -0
  1203. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/provenance_enforcement.yaml +0 -0
  1204. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/provenance_truth_of_claim.yaml +0 -0
  1205. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/reach_buy_flow.yaml +0 -0
  1206. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/refine_finalize_exclusivity.yaml +0 -0
  1207. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
  1208. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/vendor_metric_accountability.yaml +0 -0
  1209. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/vendor_metric_catalog_precondition.yaml +0 -0
  1210. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/scenarios/vendor_metric_optimization_flow.yaml +0 -0
  1211. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/media-buy/state-machine.yaml +0 -0
  1212. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/signals/index.yaml +0 -0
  1213. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/signals/scenarios/get_signals_async.yaml +0 -0
  1214. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/sponsored-intelligence/index.yaml +0 -0
  1215. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/protocols/sponsored-intelligence/sponsored-context-accountability.yaml +0 -0
  1216. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/audience-sync/index.yaml +0 -0
  1217. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/brand-rights/index.yaml +0 -0
  1218. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
  1219. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/collection-lists/index.yaml +0 -0
  1220. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/content-standards/index.yaml +0 -0
  1221. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/creative-ad-server/index.yaml +0 -0
  1222. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/creative-generative/generative-seller.yaml +0 -0
  1223. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/creative-generative/index.yaml +0 -0
  1224. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/creative-template/index.yaml +0 -0
  1225. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/creative-transformers/index.yaml +0 -0
  1226. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/governance-aware-seller/index.yaml +0 -0
  1227. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/governance-aware-seller/scenarios/governance_multi_agent_rejected.yaml +0 -0
  1228. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/governance-delivery-monitor/index.yaml +0 -0
  1229. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/governance-spend-authority/denied.yaml +0 -0
  1230. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/governance-spend-authority/index.yaml +0 -0
  1231. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/property-lists/index.yaml +0 -0
  1232. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/sales-broadcast-tv/index.yaml +0 -0
  1233. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/sales-catalog-driven/index.yaml +0 -0
  1234. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/sales-guaranteed/index.yaml +0 -0
  1235. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/sales-non-guaranteed/index.yaml +0 -0
  1236. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/sales-proposal-mode/index.yaml +0 -0
  1237. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/sales-social/index.yaml +0 -0
  1238. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/signal-marketplace/index.yaml +0 -0
  1239. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
  1240. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/signal-owned/index.yaml +0 -0
  1241. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/specialisms/sponsored-intelligence/index.yaml +0 -0
  1242. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/acme-outdoor-live.yaml +0 -0
  1243. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/acme-outdoor.yaml +0 -0
  1244. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/billing-gate-runner.yaml +0 -0
  1245. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/bistro-oranje.yaml +0 -0
  1246. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/distributed-brand-runner.yaml +0 -0
  1247. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/nova-motors.yaml +0 -0
  1248. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/osei-natural.yaml +0 -0
  1249. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/parallel-dispatch-runner.yaml +0 -0
  1250. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/rate-limit-trip-runner.yaml +0 -0
  1251. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/signed-requests-runner.yaml +0 -0
  1252. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/single-side-trust-runner.yaml +0 -0
  1253. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/substitution-observer-runner.yaml +0 -0
  1254. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/summit-foods.yaml +0 -0
  1255. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-kits/webhook-receiver-runner.yaml +0 -0
  1256. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/catalog-macro-substitution.json +0 -0
  1257. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
  1258. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/002-full-plan.json +0 -0
  1259. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
  1260. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
  1261. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
  1262. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
  1263. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
  1264. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
  1265. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
  1266. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
  1267. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
  1268. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/README.md +0 -0
  1269. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/canonicalization.json +0 -0
  1270. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/keys.json +0 -0
  1271. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
  1272. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
  1273. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
  1274. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
  1275. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
  1276. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
  1277. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
  1278. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
  1279. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
  1280. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
  1281. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
  1282. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
  1283. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
  1284. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
  1285. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
  1286. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
  1287. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
  1288. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
  1289. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
  1290. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
  1291. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
  1292. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
  1293. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
  1294. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
  1295. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
  1296. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
  1297. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
  1298. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/negative/028-unsigned-protocol-method-required.json +0 -0
  1299. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
  1300. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
  1301. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
  1302. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
  1303. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
  1304. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
  1305. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
  1306. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
  1307. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
  1308. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
  1309. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
  1310. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
  1311. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-receiver-envelope.json +0 -0
  1312. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/README.md +0 -0
  1313. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/keys.json +0 -0
  1314. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
  1315. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
  1316. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
  1317. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
  1318. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
  1319. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
  1320. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
  1321. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
  1322. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
  1323. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
  1324. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
  1325. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
  1326. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
  1327. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
  1328. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
  1329. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
  1330. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
  1331. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
  1332. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
  1333. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
  1334. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
  1335. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
  1336. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
  1337. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
  1338. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
  1339. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
  1340. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
  1341. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
  1342. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/test-vectors/webhook-signing/positive/008-request-signing-key-reuse.json +0 -0
  1343. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/billing-gate-dispatch.yaml +0 -0
  1344. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/canonical-format-validate-input.yaml +0 -0
  1345. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/capability-discovery.yaml +0 -0
  1346. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/collection-lists-pagination-integrity.yaml +0 -0
  1347. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/comply-controller-mode-gate.yaml +0 -0
  1348. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/content-standards-pagination-integrity.yaml +0 -0
  1349. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/deterministic-testing.yaml +0 -0
  1350. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/error-compliance-signals.yaml +0 -0
  1351. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/error-compliance.yaml +0 -0
  1352. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/fictional-entities.yaml +0 -0
  1353. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/get-media-buys-pagination-integrity.yaml +0 -0
  1354. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/get-products-pagination-integrity.yaml +0 -0
  1355. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/get-signals-pagination-integrity.yaml +0 -0
  1356. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/idempotency.yaml +0 -0
  1357. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/notification-config-event-scope.yaml +0 -0
  1358. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/notification-config-lifecycle.yaml +0 -0
  1359. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/notification-config-rejections.yaml +0 -0
  1360. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/pagination-integrity-creative-formats.yaml +0 -0
  1361. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/pagination-integrity-list-accounts.yaml +0 -0
  1362. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/pagination-integrity.yaml +0 -0
  1363. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/property-lists-pagination-integrity.yaml +0 -0
  1364. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/read-tool-idempotency.yaml +0 -0
  1365. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/runner-output-contract.yaml +0 -0
  1366. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/schema-validation-signals.yaml +0 -0
  1367. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/schema-validation.yaml +0 -0
  1368. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/security.yaml +0 -0
  1369. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/signed-requests.yaml +0 -0
  1370. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/stale-response-advisory.yaml +0 -0
  1371. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/storyboard-schema.yaml +0 -0
  1372. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/v3-envelope-integrity.yaml +0 -0
  1373. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/version-negotiation.yaml +0 -0
  1374. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/webhook-emission.yaml +0 -0
  1375. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/webhook-receiver-envelope.yaml +0 -0
  1376. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/wholesale-feed-bulk-webhooks.yaml +0 -0
  1377. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/wholesale-feed-product-webhooks.yaml +0 -0
  1378. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/wholesale-feed-products.yaml +0 -0
  1379. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/wholesale-feed-signal-webhooks.yaml +0 -0
  1380. /package/compliance/cache/{3.1.5.previous → 3.1.8.previous}/universal/wholesale-feed-signals.yaml +0 -0
@@ -1,2406 +0,0 @@
1
- // AUTO-GENERATED — DO NOT EDIT.
2
- // Per-tool .d.ts slice for `sync_creatives`. Built from the published
3
- // `tools.generated.d.ts` + `core.generated.d.ts` + `enums.generated.d.ts`
4
- // by `scripts/generate-per-tool-types.ts`.
5
- //
6
- // Self-contained: imports nothing from the broader SDK. Adopters who
7
- // import only this slice pay a fraction of the tsc cost of pulling in
8
- // `@adcp/sdk` root — useful when strict + skipLibCheck:false adopters
9
- // hit memory pressure on the full surface.
10
-
11
- /**
12
- * Request parameters for syncing creative assets with upsert semantics - supports bulk operations, scoped updates, and assignment management
13
- */
14
- export interface SyncCreativesRequest {
15
- /**
16
- * Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.
17
- */
18
- adcp_version?: string;
19
- /**
20
- * DEPRECATED in favor of adcp_version (release-precision string). Servers MUST continue to honor this field through 3.x. Removed in 4.0. Original semantics: the AdCP major version the buyer's payloads conform to. Sellers validate against their supported major_versions and return VERSION_UNSUPPORTED if unsupported. When omitted, the seller assumes its highest supported version.
21
- */
22
- adcp_major_version?: number;
23
- account: AccountReference;
24
- /**
25
- * Array of creative assets to sync (create or update)
26
- */
27
- creatives: CreativeAsset[];
28
- /**
29
- * Optional filter to limit sync scope to specific creative IDs. When provided, only these creatives will be created/updated. Other creatives in the library are unaffected. Useful for partial updates and error recovery.
30
- */
31
- creative_ids?: string[];
32
- /**
33
- * Optional bulk assignment of creatives to packages. Each entry maps one creative to one package with optional weight and placement targeting. Standalone creative agents that do not manage media buys ignore this field.
34
- */
35
- assignments?: {
36
- /**
37
- * ID of the creative to assign
38
- */
39
- creative_id: string;
40
- /**
41
- * ID of the package to assign the creative to
42
- */
43
- package_id: string;
44
- /**
45
- * Relative delivery weight (0-100). When multiple creatives are assigned to the same package, weights determine impression distribution proportionally. When omitted, the creative receives equal rotation with other unweighted creatives. A weight of 0 means the creative is assigned but paused (receives no delivery).
46
- * @minimum 0
47
- * @maximum 100
48
- */
49
- weight?: number;
50
- /**
51
- * Restrict this creative to specific placements within the package. When omitted, the creative is eligible for all placements.
52
- */
53
- placement_ids?: string[];
54
- }[];
55
- /**
56
- * Client-generated idempotency key for safe retries. If a sync fails without a response, resending with the same idempotency_key guarantees at-most-once execution. MUST be unique per (seller, request) pair to prevent cross-seller correlation. Use a fresh UUID v4 for each request.
57
- * @minLength 16
58
- * @maxLength 255
59
- * @pattern ^[A-Za-z0-9_.:-]{16,255}$
60
- */
61
- idempotency_key: string;
62
- /**
63
- * When true, creatives not included in this sync will be archived. Use with caution for full library replacement. Invalid when creative_ids is provided — delete_missing applies to the entire library scope, not a filtered subset.
64
- */
65
- delete_missing?: boolean;
66
- /**
67
- * When true, rehearse this sync_creatives operation without applying it. Validates the actual trafficking request in the seller's current context, including library upsert semantics, creative IDs, assignments, account-scoped gates, and seller policies, then returns what would be created/updated/deleted. This is distinct from validate_input, which only validates manifest structure against canonical/product format targets.
68
- */
69
- dry_run?: boolean;
70
- validation_mode?: ValidationMode;
71
- push_notification_config?: PushNotificationConfig;
72
- context?: ContextObject;
73
- ext?: ExtensionObject;
74
- }
75
-
76
- /**
77
- * Response from creative sync operation. Exactly one of three shapes: (1) synchronous success — per-creative results in the creatives array (best-effort processing with per-item status/failures); (2) terminal failure — errors array with no creatives processed; (3) submitted task envelope — status 'submitted' with task_id when the whole operation is queued (batch ingestion, async review that must settle before per-item results can be issued). The submitted branch MAY carry advisory errors for non-blocking warnings; terminal failures belong in the error branch. Final per-item results land on the task completion artifact, not this envelope. These three shapes are mutually exclusive — a response has exactly one.
78
- */
79
- export type SyncCreativesResponse = {
80
- /**
81
- * Session/conversation identifier for tracking related operations across multiple task invocations. Managed by the protocol layer to maintain conversational context. Distinct from `context` (per-request opaque echo, see below).
82
- */
83
- context_id?: string;
84
- context?: ContextObject;
85
- /**
86
- * Unique identifier for tracking asynchronous operations. Present when a task requires extended processing time. Used to query task status and retrieve results when complete.
87
- */
88
- task_id?: string;
89
- status: TaskStatus;
90
- /**
91
- * Human-readable summary of the task result. Provides natural language explanation of what happened, suitable for display to end users or for AI agent comprehension. Generated by the protocol layer based on the task response.
92
- */
93
- message?: string;
94
- /**
95
- * ISO 8601 timestamp when the response was generated. Useful for debugging, logging, cache validation, and tracking async operation progress.
96
- */
97
- timestamp?: string;
98
- /**
99
- * Set to true when this response was returned from the idempotency cache rather than from a fresh execution. Set to false (or omitted) when the request was executed fresh. Buyers use this to distinguish cached replays from new executions — matters for billing reconciliation, audit logs, state-machine routing (cached state-tracking fields are historical snapshots, not current state — re-read via the resource's read endpoint), and any downstream system that assumes exactly-once event semantics. From 3.1 onward, `replayed` MAY appear on responses to any request that resolved via the idempotency cache, including read tools — universal `idempotency_key` (see security.mdx §Idempotency) means the cache holds read responses too.
100
- */
101
- replayed?: boolean;
102
- adcp_error?: Error;
103
- push_notification_config?: PushNotificationConfig;
104
- /**
105
- * Governance context token issued by the account's governance agent during check_governance. Buyers attach it to governed purchase requests (media buys, rights acquisitions, signal activations, creative services); sellers persist it and include it on all subsequent governance calls for that action's lifecycle. An account binds to one governance agent (see sync_governance); governance is phased across `purchase` / `modification` / `delivery`, not partitioned across specialist agents, so the envelope carries a single token for the full lifecycle.
106
- *
107
- * Value format: governance agents MUST emit a compact JWS per the AdCP JWS profile (see Security — Signed Governance Context). Sellers MAY verify; sellers that do not verify MUST persist and forward the token unchanged. In 3.1 all sellers MUST verify. Non-JWS values from pre-3.0 governance agents are deprecated.
108
- *
109
- * This is the primary correlation key for audit and reporting across the governance lifecycle.
110
- */
111
- governance_context?: string;
112
- /**
113
- * Conceptual grouping for the task-specific response data defined by individual task response schemas (e.g., get-products-response.json, create-media-buy-response.json). `payload` is a documentary construct — it is NOT a required wire field, and its on-the-wire shape depends on transport (see Transport serialization below). Task response schemas declare body fields without wrapping them in a `payload` object; the wire representation places those body fields per transport convention. On MCP the body fields appear as siblings of envelope fields at the root of the tool response; on A2A they appear inside `task.artifacts[0].parts[].DataPart`; on REST they appear at the root of the JSON body.
114
- */
115
- payload?: {};
116
- /**
117
- * Release-precision AdCP version (VERSION.RELEASE, e.g. "3.0", "3.1", "3.1-beta"). On a request: the buyer's release pin — the seller validates against its supported_versions and returns VERSION_UNSUPPORTED on cross-major mismatch, or downshifts to the highest supported release within the same major. On a response: the release the seller actually served — clients SHOULD validate the response against that release's schema, not against their pin. Patches are not negotiated; surface them as build_version on capabilities for operational visibility. When omitted, falls back to adcp_major_version (deprecated) or server default. Buyers SHOULD emit both adcp_version and adcp_major_version through 3.x to remain compatible with sellers that only read the legacy field. NORMALIZATION: SDKs that read full-semver values from bundle metadata (e.g. ComplianceIndex.published_version = "3.1.0-beta.1") MUST normalize to release-precision ("3.1-beta.1") before emitting on the wire — meta-field values are NOT valid wire values.
118
- */
119
- adcp_version?: string;
120
- /**
121
- * DEPRECATED in favor of adcp_version (release-precision string). Servers MUST continue to honor this field through 3.x. Removed in 4.0. Original semantics: the AdCP major version the buyer's payloads conform to. Sellers validate against their supported major_versions and return VERSION_UNSUPPORTED if unsupported. When omitted, the seller assumes its highest supported version.
122
- */
123
- adcp_major_version?: number;
124
- } & (SyncCreativesSuccess | SyncCreativesError | SyncCreativesSubmitted);
125
-
126
- /**
127
- * Success response - sync operation processed creatives (may include per-item failures)
128
- */
129
- export interface SyncCreativesSuccess {
130
- /**
131
- * Whether this was a dry run (no actual changes made)
132
- */
133
- dry_run?: boolean;
134
- /**
135
- * Results for each creative processed. Items with action='failed' indicate per-item validation/processing failures, not operation-level failures.
136
- */
137
- creatives: {
138
- /**
139
- * Creative ID from the request
140
- */
141
- creative_id: string;
142
- account?: Account;
143
- action: CreativeAction;
144
- status?: CreativeStatus;
145
- /**
146
- * Platform-specific ID assigned to the creative
147
- */
148
- platform_id?: string;
149
- /**
150
- * Field names that were modified (only present when action='updated')
151
- */
152
- changes?: string[];
153
- /**
154
- * Validation or processing errors (only present when action='failed')
155
- */
156
- errors?: Error[];
157
- /**
158
- * Non-fatal warnings about this creative
159
- */
160
- warnings?: string[];
161
- /**
162
- * Preview URL for generative creatives (only present for generative formats)
163
- */
164
- preview_url?: string;
165
- /**
166
- * ISO 8601 timestamp when preview link expires (only present when preview_url exists)
167
- * @format date-time
168
- */
169
- expires_at?: string;
170
- /**
171
- * Package IDs this creative was successfully assigned to (only present when assignments were requested)
172
- */
173
- assigned_to?: string[];
174
- /**
175
- * Assignment errors by package ID (only present when assignment failures occurred)
176
- */
177
- assignment_errors?: {
178
- /**
179
- * Error message for this package assignment
180
- *
181
- * This interface was referenced by `undefined`'s JSON-Schema definition
182
- * via the `patternProperty` "^[a-zA-Z0-9_-]+$".
183
- */
184
- [k: string]: string | undefined;
185
- };
186
- }[];
187
- /**
188
- * When true, this response contains simulated data from sandbox mode.
189
- */
190
- sandbox?: boolean;
191
- context?: ContextObject;
192
- ext?: ExtensionObject;
193
- }
194
-
195
- /**
196
- * Error response - operation failed completely, no creatives were processed
197
- */
198
- export interface SyncCreativesError {
199
- /**
200
- * Operation-level errors that prevented processing any creatives (e.g., authentication failure, service unavailable, invalid request format)
201
- */
202
- errors: Error[];
203
- context?: ContextObject;
204
- ext?: ExtensionObject;
205
- }
206
-
207
- /**
208
- * Async task envelope returned when the whole sync operation cannot be confirmed before the response is emitted — for example, when the seller batches ingestion, when async review must settle before per-item results can be issued, or when governance review gates the sync. The buyer polls tasks/get with task_id or receives a webhook when the task completes; the creatives array with per-item action/status lands on the completion artifact, not this envelope. Per-item async review (an item in pending_review while the rest of the sync resolves synchronously) belongs on the SyncCreativesSuccess branch with status: pending_review, not here.
209
- */
210
- export interface SyncCreativesSubmitted {
211
- /**
212
- * Task-level status literal. Discriminates this async envelope from the synchronous success shape, whose creatives array carries per-item approval state via CreativeStatus. See task-status.json for the full task-status enum.
213
- */
214
- status: 'submitted';
215
- /**
216
- * Task handle the buyer uses with tasks/get, and that the seller references on push-notification callbacks. The creatives array is issued on the completion artifact, not here. Per AdCP wire conventions this is snake_case; A2A adapters MAY surface it as taskId, but the payload field emitted by the agent is task_id.
217
- */
218
- task_id: string;
219
- /**
220
- * Optional human-readable explanation of why the task is submitted — e.g., 'Batch ingestion queued; typical turnaround 15-30 minutes.' Plain text only. Buyers MUST treat this as untrusted seller input: escape before rendering to HTML UIs, and sanitize or isolate before passing to an LLM prompt context — a hostile seller may inject prompt-injection payloads aimed at the buyer's agent.
221
- * @maxLength 2000
222
- */
223
- message?: string;
224
- /**
225
- * Optional advisory errors accompanying the submitted envelope. Use only for non-blocking warnings (e.g., throttled_severity advisories, governance observations). Terminal failures belong in the error branch, not here.
226
- */
227
- errors?: Error[];
228
- context?: ContextObject;
229
- ext?: ExtensionObject;
230
- }
231
-
232
- /**
233
- * Account billed for this media buy. Includes advertiser, billing proxy (if any), and rate card applied.
234
- */
235
- export interface Account {
236
- /**
237
- * Unique identifier for this account
238
- */
239
- account_id: string;
240
- /**
241
- * Human-readable account name (e.g., 'Acme', 'Acme c/o Pinnacle')
242
- */
243
- name: string;
244
- /**
245
- * The advertiser whose rates apply to this account
246
- */
247
- advertiser?: string;
248
- /**
249
- * Optional intermediary who receives invoices on behalf of the advertiser (e.g., agency)
250
- */
251
- billing_proxy?: string;
252
- status: AccountStatus;
253
- brand?: BrandReference;
254
- /**
255
- * Domain of the entity operating this account. When the brand operates directly, this is the brand's domain.
256
- * @pattern ^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$
257
- */
258
- operator?: string;
259
- billing?: BillingParty;
260
- billing_entity?: BusinessEntity;
261
- /**
262
- * Identifier for the rate card applied to this account
263
- */
264
- rate_card?: string;
265
- payment_terms?: PaymentTerms;
266
- /**
267
- * Maximum outstanding balance allowed
268
- */
269
- credit_limit?: {
270
- /**
271
- * @minimum 0
272
- */
273
- amount: number;
274
- /**
275
- * @pattern ^[A-Z]{3}$
276
- */
277
- currency: string;
278
- };
279
- /**
280
- * Present when status is 'pending_approval'. Contains next steps for completing account activation.
281
- */
282
- setup?: {
283
- /**
284
- * URL where the human can complete the required action (credit application, legal agreement, add funds).
285
- */
286
- url?: string;
287
- /**
288
- * Human-readable description of what's needed.
289
- */
290
- message: string;
291
- /**
292
- * When this setup link expires.
293
- * @format date-time
294
- */
295
- expires_at?: string;
296
- };
297
- account_scope?: AccountScope;
298
- /**
299
- * Governance agent endpoint registered on this account. Exactly one entry per sync_governance's one-agent-per-account invariant. The array shape is preserved for wire compatibility with 3.0; `maxItems: 1` is load-bearing and mirrors the singular `governance_context` on the protocol envelope. Authentication credentials are write-only and not included in responses — use sync_governance to set or update credentials.
300
- */
301
- governance_agents?: {
302
- /**
303
- * Governance agent endpoint URL. Must use HTTPS.
304
- * @pattern ^https:\/\/
305
- */
306
- url: string;
307
- }[];
308
- /**
309
- * Cloud storage bucket where the seller delivers offline reporting files for this account. Seller provisions a dedicated bucket or a per-account prefix within a shared bucket, and grants the buyer read access out-of-band. Access MUST be scoped at the IAM layer so each account can only read its own prefix — bucket-wide grants are non-compliant even with per-account prefixes. Seller MUST revoke access when the account's status transitions to inactive, suspended, or closed. See security considerations for offline delivery in docs/media-buy/media-buys/optimization-reporting. Only present when the seller supports offline delivery (reporting_delivery_methods includes 'offline' in capabilities).
310
- */
311
- reporting_bucket?: {
312
- protocol: CloudStorageProtocol;
313
- /**
314
- * Bucket or container name
315
- * @minLength 3
316
- * @maxLength 63
317
- * @pattern ^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$
318
- */
319
- bucket: string;
320
- /**
321
- * Path prefix within the bucket. Seller appends date-based partitioning beneath this prefix.
322
- * @maxLength 512
323
- * @pattern ^[a-zA-Z0-9\/_.-]+$
324
- */
325
- prefix?: string;
326
- /**
327
- * Cloud region for the bucket
328
- * @maxLength 64
329
- * @pattern ^[a-z0-9-]+$
330
- */
331
- region?: string;
332
- /**
333
- * File format for delivered files. Parquet, Avro, and ORC use internal compression (the top-level compression field is ignored for these formats).
334
- */
335
- format?: 'jsonl' | 'csv' | 'parquet' | 'avro' | 'orc';
336
- /**
337
- * Compression applied to delivered files
338
- */
339
- compression?: 'gzip' | 'none';
340
- /**
341
- * How long reporting files are retained in the bucket before deletion. Buyers must read files within this window. Minimum recommended: 14 days.
342
- * @minimum 1
343
- */
344
- file_retention_days: number;
345
- /**
346
- * URL to documentation for configuring buyer read access to this bucket (IAM role, service account, etc.). Operator-facing documentation — buyer agents MUST NOT auto-fetch this URL; surface it to a human operator. If an implementation fetches it (for preview), apply webhook URL SSRF validation and do not pass the fetched content into an LLM context without indirect-prompt-injection guarding. See docs/media-buy/media-buys/optimization-reporting#security-considerations-for-offline-delivery.
347
- * @pattern ^https:\/\/
348
- */
349
- setup_instructions?: string;
350
- };
351
- /**
352
- * When true, this is a sandbox account — no real platform calls, no real spend. For account-id namespaces, sandbox accounts are pre-existing test accounts on the platform discovered via list_accounts or supplied out-of-band. For buyer-declared accounts, sandbox is part of the natural key: the same brand/operator pair can have both a production and sandbox account.
353
- */
354
- sandbox?: boolean;
355
- /**
356
- * Account-level webhook subscriptions for notifications whose lifecycle outlives any single media buy (e.g., `creative.status_changed`, `creative.purged`, wholesale feed change payloads). This is an account-scoped delivery surface, not an account-object lifecycle event stream; account status changes are observed through `list_accounts` polling or the one-shot `sync_accounts.push_notification_config` async result channel. Distinct from `push_notification_config` on individual operations, which anchors at a per-resource scope. Buyers register and update entries via `sync_accounts`; sellers echo the applied state here on `list_accounts` reads so buyers can verify what's active. The set is keyed by account-scoped `subscriber_id`; re-registering the same `subscriber_id` replaces that subscriber's config. `authentication.credentials` is write-only — sellers MUST NOT echo legacy auth credentials in this response. When two or more entries register the same `event_types`, each receives an independent fire — see #3009 multi-subscriber composition.
357
- */
358
- notification_configs?: NotificationConfig[];
359
- ext?: ExtensionObject;
360
- }
361
-
362
- /**
363
- * Account for product lookup. Returns products with pricing specific to this account's rate card.
364
- */
365
- export type AccountReference = {
366
- /**
367
- * Seller-assigned account identifier. For upstream-managed account namespaces, this value comes from list_accounts; for seller-defined namespaces without a list_accounts surface, it is supplied out-of-band. Buyer-declared account sellers MAY echo account_id from sync_accounts as an internal handle, but they MUST continue accepting the natural-key AccountRef for that account on subsequent calls.
368
- */
369
- account_id: string;
370
- } | {
371
- brand: BrandReference;
372
- /**
373
- * Domain of the entity operating on the brand's behalf. When the brand operates directly, this is the brand's domain.
374
- * @pattern ^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$
375
- */
376
- operator: string;
377
- /**
378
- * When true, references the sandbox account for this brand/operator pair. Defaults to false (production account).
379
- */
380
- sandbox?: boolean;
381
- };
382
-
383
- /**
384
- * How the seller scoped a billing account relative to the operator and brand dimensions.
385
- */
386
- export type AccountScope = 'operator' | 'brand' | 'operator_brand' | 'agent';
387
-
388
- /**
389
- * Account lifecycle status. See the Accounts Protocol overview for the operations matrix showing which tasks are permitted in each state.
390
- */
391
- export type AccountStatus = 'active' | 'pending_approval' | 'rejected' | 'payment_required' | 'suspended' | 'closed';
392
-
393
- /**
394
- * Canonical union of all asset variant schemas. Referenced from creative-asset.json and creative-manifest.json to ensure a single named type is emitted by schema-to-TypeScript tooling. Add new asset types here and to the creative/asset-types registry.
395
- */
396
- export type AssetVariant = ImageAsset | VideoAsset | AudioAsset | VASTAsset | TextAsset | URLAsset | HTMLAsset | JavaScriptAsset | ZipAsset | WebhookAsset | CSSAsset | DAASTAsset | MarkdownAsset | BriefAsset | CatalogAsset | PublishedPostAsset | CardAsset | PixelTrackerAsset | VASTTrackerAsset | DAASTTrackerAsset;
397
-
398
- /**
399
- * Audio asset with URL and technical specifications
400
- */
401
- export interface AudioAsset {
402
- /**
403
- * Discriminator identifying this as an audio asset. See /schemas/creative/asset-types for the registry.
404
- */
405
- asset_type: 'audio';
406
- /**
407
- * URL to the audio asset
408
- */
409
- url: string;
410
- /**
411
- * Audio duration in milliseconds
412
- * @minimum 0
413
- */
414
- duration_ms?: number;
415
- /**
416
- * File size in bytes
417
- * @minimum 1
418
- */
419
- file_size_bytes?: number;
420
- /**
421
- * Audio container/file format (mp3, m4a, aac, wav, ogg, flac, etc.)
422
- */
423
- container_format?: string;
424
- /**
425
- * Audio codec used (aac, aac_lc, he_aac, pcm, mp3, vorbis, opus, flac, ac3, eac3, etc.)
426
- */
427
- codec?: string;
428
- /**
429
- * Sampling rate in Hz (e.g., 44100, 48000, 96000)
430
- */
431
- sampling_rate_hz?: number;
432
- channels?: AudioChannelLayout;
433
- /**
434
- * Bit depth
435
- */
436
- bit_depth?: 16 | 24 | 32;
437
- /**
438
- * Bitrate in kilobits per second
439
- * @minimum 1
440
- */
441
- bitrate_kbps?: number;
442
- /**
443
- * Integrated loudness in LUFS
444
- */
445
- loudness_lufs?: number;
446
- /**
447
- * True peak level in dBFS
448
- */
449
- true_peak_dbfs?: number;
450
- /**
451
- * URL to text transcript of the audio content
452
- */
453
- transcript_url?: string;
454
- provenance?: Provenance;
455
- }
456
-
457
- /**
458
- * Audio channel configuration
459
- */
460
- export type AudioChannelLayout = 'mono' | 'stereo' | '5.1' | '7.1';
461
-
462
- /**
463
- * Legacy authentication schemes for the webhook auth block. Bearer: token sent in Authorization header. HMAC-SHA256: legacy shared-secret signing. Both are deprecated; new integrations SHOULD omit the authentication block and use the RFC 9421 webhook signing profile (applicable on schemas where authentication is optional). Removed in AdCP 4.0.
464
- */
465
- export type AuthenticationScheme = 'Bearer' | 'HMAC-SHA256';
466
-
467
- /**
468
- * Who is invoiced on this account. See billing_entity for the invoiced party's business details.
469
- */
470
- export type BillingParty = 'operator' | 'agent' | 'advertiser';
471
-
472
- /**
473
- * Brand identifier within the house portfolio. Optional for single-brand domains.
474
- */
475
- export type BrandID = string;
476
-
477
- /**
478
- * Brand reference for product discovery context. Resolved to full brand identity at execution time.
479
- */
480
- export interface BrandReference {
481
- /**
482
- * Domain where /.well-known/brand.json is hosted, or the brand's operating domain
483
- * @pattern ^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$
484
- */
485
- domain: string;
486
- brand_id?: BrandID;
487
- /**
488
- * Inline override for the brand's industries. Useful when the caller cannot modify the brand's canonical brand.json but needs to declare industries for governance (e.g., Annex III vertical detection). brand.json remains the canonical source; when omitted here, governance agents SHOULD resolve from brand.json.
489
- */
490
- industries?: string[];
491
- /**
492
- * Inline override for the brand's contestation contact point. Useful when the operator does not control brand.json but needs to discharge Art 22(3) for this plan. brand.json is canonical; when omitted, governance agents resolve brand → house → missing.
493
- */
494
- data_subject_contestation?: {
495
- /**
496
- * @pattern ^https:\/\/
497
- */
498
- url?: string;
499
- /**
500
- * @format email
501
- */
502
- email?: string;
503
- languages?: string[];
504
- };
505
- /**
506
- * Inline override for brand-kit fields normally resolved from `/.well-known/brand.json` on `domain` (logo, colors, voice, tagline). Use when brand.json is missing, stale, or inappropriate for this specific call — e.g., a campaign-scoped tagline, a co-branded creative, a freshly-rebranded color palette the brand.json hasn't shipped yet. Same inline-override pattern as `industries` and `data_subject_contestation` above: brand.json is canonical, the override is per-call. Adopters needing to override fields outside this subset (`voice_attributes`, `prohibited_terms`, etc.) MUST publish a different brand.json and reference it via a different `domain` — the inline override is intentionally narrow to a small high-traffic subset.
507
- *
508
- * **Merge semantics (normative).** The merge is **field-level**, not whole-object replacement. Each field within `brand_kit_override` (`logo`, `colors`, `voice`, `tagline`) is evaluated independently — when a field is present on the override the override value applies; when a field is absent the brand.json value applies (or is absent if brand.json doesn't carry one either). For composite fields (`colors.primary`, `colors.secondary`, `colors.accent`), the merge is one level deeper: each color slot is evaluated independently — a producer can override `colors.primary` while still inheriting `colors.secondary` from brand.json. SDKs MUST NOT treat a present `brand_kit_override.colors` as wiping the brand.json `colors` block entirely; only the per-slot fields present in the override take precedence. Without this rule, a partial-override semantics would diverge across SDKs and produce inconsistent rendering for the same payload.
509
- */
510
- brand_kit_override?: {
511
- logo?: ImageAsset;
512
- /**
513
- * Override brand colors (hex strings).
514
- */
515
- colors?: {
516
- /**
517
- * @pattern ^#[0-9a-fA-F]{6}$
518
- */
519
- primary?: string;
520
- /**
521
- * @pattern ^#[0-9a-fA-F]{6}$
522
- */
523
- secondary?: string;
524
- /**
525
- * @pattern ^#[0-9a-fA-F]{6}$
526
- */
527
- accent?: string;
528
- };
529
- /**
530
- * Override brand-voice description for surface-composed text/audio output.
531
- */
532
- voice?: string;
533
- /**
534
- * Override tagline.
535
- */
536
- tagline?: string;
537
- };
538
- }
539
-
540
- /**
541
- * Campaign-level creative context as an asset. Carries the creative brief through the manifest so it travels with the creative through regeneration, resizing, and auditing.
542
- */
543
- export interface BriefAsset {
544
- /**
545
- * Campaign or flight name for identification
546
- */
547
- name: string;
548
- /**
549
- * Campaign objective that guides creative tone and call-to-action strategy
550
- */
551
- objective?: 'awareness' | 'consideration' | 'conversion' | 'retention' | 'engagement';
552
- /**
553
- * Desired tone for this campaign, modulating the brand's base tone (e.g., 'playful and festive', 'premium and aspirational')
554
- */
555
- tone?: string;
556
- /**
557
- * Target audience description for this campaign
558
- */
559
- audience?: string;
560
- /**
561
- * Creative territory or positioning the campaign should occupy
562
- */
563
- territory?: string;
564
- /**
565
- * Messaging framework for the campaign
566
- */
567
- messaging?: {
568
- /**
569
- * Primary headline
570
- */
571
- headline?: string;
572
- /**
573
- * Supporting tagline or sub-headline
574
- */
575
- tagline?: string;
576
- /**
577
- * Call-to-action text
578
- */
579
- cta?: string;
580
- /**
581
- * Key messages to communicate in priority order
582
- */
583
- key_messages?: string[];
584
- };
585
- /**
586
- * Visual and strategic reference materials such as mood boards, product shots, example creatives, and strategy documents
587
- */
588
- reference_assets?: ReferenceAsset[];
589
- /**
590
- * Regulatory and legal compliance requirements for this campaign. Campaign-specific, regional, and product-based — distinct from brand-level disclaimers in brand.json.
591
- */
592
- compliance?: {
593
- /**
594
- * Disclosures that must appear in creatives for this campaign. Each disclosure specifies the text, where it should appear, and which jurisdictions require it.
595
- */
596
- required_disclosures?: {
597
- /**
598
- * The disclosure text that must appear in the creative
599
- */
600
- text: string;
601
- position?: DisclosurePosition;
602
- /**
603
- * Jurisdictions where this disclosure is required. ISO 3166-1 alpha-2 country codes or ISO 3166-2 subdivision codes (e.g., 'US', 'GB', 'US-NJ', 'CA-QC'). If omitted, the disclosure applies to all jurisdictions in the campaign.
604
- */
605
- jurisdictions?: string[];
606
- /**
607
- * The regulation or legal authority requiring this disclosure (e.g., 'SEC Rule 156', 'FCA COBS 4.5', 'FDA 21 CFR 202')
608
- */
609
- regulation?: string;
610
- /**
611
- * Minimum display duration in milliseconds. For video/audio disclosures, how long the disclosure must be visible or audible. For static formats, how long the disclosure must remain on screen before any auto-advance.
612
- */
613
- min_duration_ms?: number;
614
- /**
615
- * Language of the disclosure text as a BCP 47 language tag (e.g., 'en', 'fr-CA', 'es'). When omitted, the disclosure is assumed to match the creative's language.
616
- */
617
- language?: string;
618
- persistence?: DisclosurePersistence;
619
- }[];
620
- /**
621
- * Claims that must not appear in creatives for this campaign. Creative agents should ensure generated content avoids these claims.
622
- */
623
- prohibited_claims?: string[];
624
- };
625
- /**
626
- * Discriminator identifying this as a brief asset. See /schemas/creative/asset-types for the registry.
627
- */
628
- asset_type: 'brief';
629
- }
630
-
631
- /**
632
- * Override the account's default billing entity for this specific buy. When provided, the seller invoices this entity instead. The seller MUST validate the invoice recipient is authorized for this account. When governance_agents are configured, the seller MUST include invoice_recipient in the check_governance request.
633
- */
634
- export interface BusinessEntity {
635
- /**
636
- * Registered legal name of the business entity
637
- * @maxLength 200
638
- */
639
- legal_name: string;
640
- /**
641
- * VAT identification number (e.g., DE123456789 for Germany, FR12345678901 for France). Required for B2B invoicing in the EU. Must be normalized: no spaces, dots, or dashes.
642
- * @pattern ^[A-Z]{2}[A-Z0-9]{2,13}$
643
- */
644
- vat_id?: string;
645
- /**
646
- * Tax identification number for jurisdictions that do not use VAT (e.g., US EIN)
647
- * @maxLength 30
648
- */
649
- tax_id?: string;
650
- /**
651
- * Company registration number (e.g., HRB 12345 for German Handelsregister)
652
- * @maxLength 50
653
- */
654
- registration_number?: string;
655
- /**
656
- * Postal address for invoicing and legal correspondence
657
- */
658
- address?: {
659
- /**
660
- * Street address including building number
661
- * @maxLength 200
662
- */
663
- street: string;
664
- /**
665
- * @maxLength 100
666
- */
667
- city: string;
668
- /**
669
- * @maxLength 20
670
- */
671
- postal_code: string;
672
- /**
673
- * State, province, or region
674
- * @maxLength 100
675
- */
676
- region?: string;
677
- /**
678
- * ISO 3166-1 alpha-2 country code
679
- * @pattern ^[A-Z]{2}$
680
- */
681
- country: string;
682
- };
683
- /**
684
- * Contacts for billing, legal, and operational matters. Contains personal data subject to GDPR and equivalent regulations. Implementations MUST use this data only for invoicing and account management.
685
- */
686
- contacts?: {
687
- /**
688
- * Contact's functional role in the business relationship
689
- */
690
- role: 'billing' | 'legal' | 'creative' | 'general';
691
- /**
692
- * Full name of the contact
693
- * @maxLength 200
694
- */
695
- name?: string;
696
- /**
697
- * @maxLength 254
698
- * @format email
699
- */
700
- email?: string;
701
- /**
702
- * @maxLength 30
703
- */
704
- phone?: string;
705
- }[];
706
- /**
707
- * Bank account details for payment processing. Write-only: included in requests to provide payment coordinates, but MUST NOT be echoed in responses. Sellers store these details and confirm receipt without returning them.
708
- */
709
- bank?: {
710
- /**
711
- * Name on the bank account
712
- * @maxLength 200
713
- */
714
- account_holder: string;
715
- /**
716
- * International Bank Account Number (SEPA markets)
717
- * @pattern ^[A-Z]{2}[0-9]{2}[A-Z0-9]{4,30}$
718
- */
719
- iban?: string;
720
- /**
721
- * Bank Identifier Code / SWIFT code (SEPA markets)
722
- * @pattern ^[A-Z]{4}[A-Z]{2}[A-Z0-9]{2}([A-Z0-9]{3})?$
723
- */
724
- bic?: string;
725
- /**
726
- * Bank routing number for non-SEPA markets (e.g., US ABA routing number, Canadian transit/institution number)
727
- * @maxLength 30
728
- */
729
- routing_number?: string;
730
- /**
731
- * Bank account number for non-SEPA markets
732
- * @maxLength 30
733
- */
734
- account_number?: string;
735
- };
736
- ext?: ExtensionObject;
737
- }
738
-
739
- /**
740
- * C2PA action classification for this watermark
741
- */
742
- export type C2PAWatermarkAction = 'c2pa.watermarked.bound' | 'c2pa.watermarked.unbound';
743
-
744
- /**
745
- * CSS stylesheet asset
746
- */
747
- export interface CSSAsset {
748
- /**
749
- * Discriminator identifying this as a CSS asset. See /schemas/creative/asset-types for the registry.
750
- */
751
- asset_type: 'css';
752
- /**
753
- * CSS content
754
- */
755
- content: string;
756
- /**
757
- * CSS media query context (e.g., 'screen', 'print')
758
- */
759
- media?: string;
760
- provenance?: Provenance;
761
- }
762
-
763
- /**
764
- * The v2 canonical-format-kind this v1 format projects to (`image`, `html5`, `display_tag`, `image_carousel`, `video_hosted`, `video_vast`, `audio_hosted`, `audio_daast`, `sponsored_placement`, `responsive_creative`, `agent_placement`, or `custom`).
765
- */
766
- export type CanonicalFormatKind = 'image' | 'html5' | 'display_tag' | 'image_carousel' | 'video_hosted' | 'video_vast' | 'audio_hosted' | 'audio_daast' | 'sponsored_placement' | 'native_in_feed' | 'responsive_creative' | 'agent_placement' | 'custom';
767
-
768
- /**
769
- * A single card in a multi-card creative (image_carousel, future composed carousels). Carries: `media` (an image OR video asset), optional `headline` (short text), optional `description` (longer text), optional `cta` (call-to-action label), optional `landing_page_url` (url asset with `url_type: "clickthrough"`).
770
- *
771
- * Covers the multi-card patterns across Meta carousel, Pinterest sponsored pin, Snap Collection, TikTok carousel, and AI-surface result cards. The two-field text shape (`headline` + `description`) reflects how almost every adopter splits short labels from longer copy; Pinterest pin description and Meta per-card description both go in `description`.
772
- *
773
- * Used as the array element type for the `cards` slot on image_carousel canonicals. Adopters MUST NOT invent per-card key conventions like `card_0_headline` / `cards.0.headline` — the manifest's `assets.cards` value is an array of card-asset objects, period. Per-card platform extensions (e.g., Meta-specific carousel attributes, Pinterest rich-pin metadata, Snap Collection price tags) attach via the `platform_extensions` field, never via inline non-canonical keys.
774
- */
775
- export interface CardAsset {
776
- /**
777
- * Discriminator identifying this as a card asset. See /schemas/creative/asset-types for the registry.
778
- */
779
- asset_type: 'card';
780
- /**
781
- * The card's primary visual asset. Either an `image` or `video` asset, matching the parent format's `allowed_card_media_asset_types` parameter.
782
- */
783
- media: ImageAsset | VideoAsset;
784
- /**
785
- * Optional per-card short text label (typically 25-40 chars). Length governed by `card_headline_max_chars` on the format declaration. Meta carousel headline, Pinterest pin title, Snap Collection sticker text, TikTok caption-short.
786
- */
787
- headline?: string;
788
- /**
789
- * Optional per-card longer text (typically 100-500 chars). Distinct from `headline`: `description` is body copy, `headline` is the label. Length governed by `card_description_max_chars` on the format declaration. Meta carousel description, Pinterest pin description, AI-surface result body text, TikTok long caption.
790
- */
791
- description?: string;
792
- /**
793
- * Optional per-card call-to-action label (e.g., 'SHOP_NOW', 'LEARN_MORE'). When the parent format declares `cta_values` (allowed CTA labels), the per-card `cta` MUST be one of those values. Lets a Meta or TikTok carousel show different CTAs per card.
794
- */
795
- cta?: string;
796
- landing_page_url?: URLAsset;
797
- /**
798
- * Per-card platform-specific extensions (URI+digest references). Same hosting model as format-level platform_extensions. Use this for Meta carousel-card attributes, Pinterest pin overrides, etc. — NEVER inline non-canonical keys on the card object directly.
799
- */
800
- platform_extensions?: PlatformExtensionReference[];
801
- provenance?: Provenance;
802
- }
803
-
804
- /**
805
- * A typed data feed as a creative asset. Carries catalog context (products, stores, jobs, etc.) within the manifest's assets map.
806
- */
807
- export interface CatalogAsset {
808
- /**
809
- * Buyer's identifier for this catalog. Required when syncing via sync_catalogs. When used in creatives, references a previously synced catalog on the account.
810
- */
811
- catalog_id?: string;
812
- /**
813
- * Human-readable name for this catalog (e.g., 'Summer Products 2025', 'Amsterdam Store Locations').
814
- */
815
- name?: string;
816
- type: CatalogType;
817
- /**
818
- * URL to an external catalog feed. The platform fetches and resolves items from this URL. For offering-type catalogs, the feed contains an array of Offering objects. For other types, the feed format is determined by feed_format. When omitted with type 'product', the platform uses its synced copy of the brand's product catalog.
819
- */
820
- url?: string;
821
- feed_format?: FeedFormat;
822
- update_frequency?: UpdateFrequency;
823
- /**
824
- * Inline catalog data. The item schema depends on the catalog type: Offering objects for 'offering', StoreItem for 'store', HotelItem for 'hotel', FlightItem for 'flight', JobItem for 'job', VehicleItem for 'vehicle', RealEstateItem for 'real_estate', EducationItem for 'education', DestinationItem for 'destination', AppItem for 'app', or freeform objects for 'product', 'inventory', and 'promotion'. Mutually exclusive with url — provide one or the other, not both. Implementations should validate items against the type-specific schema.
825
- */
826
- items?: {}[];
827
- /**
828
- * Filter catalog to specific item IDs. For offering-type catalogs, these are offering_id values. For product-type catalogs, these are SKU identifiers.
829
- */
830
- ids?: string[];
831
- /**
832
- * Filter product-type catalogs by GTIN identifiers for cross-retailer catalog matching. Accepts standard GTIN formats (GTIN-8, UPC-A/GTIN-12, EAN-13/GTIN-13, GTIN-14). Only applicable when type is 'product'.
833
- */
834
- gtins?: string[];
835
- /**
836
- * Filter catalog to items with these tags. Tags are matched using OR logic — items matching any tag are included.
837
- */
838
- tags?: string[];
839
- /**
840
- * Filter catalog to items in this category (e.g., 'beverages/soft-drinks', 'chef-positions').
841
- */
842
- category?: string;
843
- /**
844
- * Natural language filter for catalog items (e.g., 'all pasta sauces under $5', 'amsterdam vacancies').
845
- */
846
- query?: string;
847
- /**
848
- * Event types that represent conversions for items in this catalog. Declares what events the platform should attribute to catalog items — e.g., a job catalog converts via submit_application, a product catalog via purchase. The event's content_ids field carries the item IDs that connect back to catalog items. Use content_id_type to declare what identifier type content_ids values represent.
849
- */
850
- conversion_events?: EventType[];
851
- content_id_type?: ContentIDType;
852
- /**
853
- * Declarative normalization rules for external feeds. Maps non-standard feed field names, date formats, price encodings, and image URLs to the AdCP catalog item schema. Applied during sync_catalogs ingestion. Supports field renames, named transforms (date, divide, boolean, split), static literal injection, and assignment of image URLs to typed asset pools.
854
- */
855
- feed_field_mappings?: CatalogFieldMapping[];
856
- /**
857
- * Discriminator identifying this as a catalog asset. See /schemas/creative/asset-types for the registry.
858
- */
859
- asset_type: 'catalog';
860
- }
861
-
862
- /**
863
- * Declares how a field in an external feed maps to the AdCP catalog item schema. Used in sync_catalogs feed_field_mappings to normalize non-AdCP feeds (Google Merchant Center, LinkedIn Jobs XML, hotel XML, etc.) to the standard catalog item schema without requiring the buyer to preprocess every feed. Multiple mappings can assemble a nested object via dot notation (e.g., separate mappings for price.amount and price.currency).
864
- */
865
- export interface CatalogFieldMapping {
866
- /**
867
- * Field name in the external feed record. Omit when injecting a static literal value (use the value property instead).
868
- */
869
- feed_field?: string;
870
- /**
871
- * Target field on the catalog item schema, using dot notation for nested fields (e.g., 'name', 'price.amount', 'location.city'). Mutually exclusive with asset_group_id.
872
- */
873
- catalog_field?: string;
874
- /**
875
- * Places the feed field value (a URL) into a typed asset pool on the catalog item's assets array. The value is wrapped as an image or video asset in a group with this ID. Use standard group IDs: 'images_landscape', 'images_vertical', 'images_square', 'logo', 'video'. Mutually exclusive with catalog_field.
876
- */
877
- asset_group_id?: string;
878
- /**
879
- * Static literal value to inject into catalog_field for every item, regardless of what the feed contains. Mutually exclusive with feed_field. Useful for fields the feed omits (e.g., currency when price is always USD, or a constant category value).
880
- */
881
- value?: unknown;
882
- /**
883
- * Named transform to apply to the feed field value before writing to the catalog schema. See transform-specific parameters (format, timezone, by, separator).
884
- */
885
- transform?: 'date' | 'divide' | 'boolean' | 'split';
886
- /**
887
- * For transform 'date': the input date format string (e.g., 'YYYYMMDD', 'MM/DD/YYYY', 'DD-MM-YYYY'). Output is always ISO 8601 (e.g., '2025-03-01'). Uses Unicode date pattern tokens.
888
- */
889
- format?: string;
890
- /**
891
- * For transform 'date': the timezone of the input value. IANA timezone identifier (e.g., 'UTC', 'America/New_York', 'Europe/Amsterdam'). Defaults to UTC when omitted.
892
- */
893
- timezone?: string;
894
- /**
895
- * For transform 'divide': the divisor to apply (e.g., 100 to convert integer cents to decimal dollars).
896
- */
897
- by?: number;
898
- /**
899
- * For transform 'split': the separator character or string to split on. Defaults to ','.
900
- */
901
- separator?: string;
902
- /**
903
- * Fallback value to use when feed_field is absent, null, or empty. Applied after any transform would have been applied. Allows optional feed fields to have a guaranteed baseline value.
904
- */
905
- default?: unknown;
906
- ext?: ExtensionObject;
907
- }
908
-
909
- /**
910
- * Catalog type. Structural types: 'offering' (AdCP Offering objects), 'product' (ecommerce entries), 'inventory' (stock per location), 'store' (physical locations), 'promotion' (deals and pricing). Vertical types: 'hotel', 'flight', 'job', 'vehicle', 'real_estate', 'education', 'destination', 'app' — each with an industry-specific item schema.
911
- */
912
- export type CatalogType = 'offering' | 'product' | 'inventory' | 'store' | 'promotion' | 'hotel' | 'flight' | 'job' | 'vehicle' | 'real_estate' | 'education' | 'destination' | 'app';
913
-
914
- /**
915
- * Cloud storage protocol
916
- */
917
- export type CloudStorageProtocol = 's3' | 'gcs' | 'azure_blob';
918
-
919
- /**
920
- * Identifier type that the event's content_ids field should be matched against for items in this catalog. For example, 'gtin' means content_ids values are Global Trade Item Numbers, 'sku' means retailer SKUs. Omit when using a custom identifier scheme not listed in the enum.
921
- */
922
- export type ContentIDType = 'sku' | 'gtin' | 'offering_id' | 'job_id' | 'hotel_id' | 'flight_id' | 'vehicle_id' | 'listing_id' | 'store_id' | 'program_id' | 'destination_id' | 'app_id';
923
-
924
- /**
925
- * Opaque correlation data that is echoed unchanged in responses. Used for internal tracking, UI session IDs, trace IDs, and other caller-specific identifiers that don't affect protocol behavior. Context data is never parsed by AdCP agents - it's simply preserved and returned.
926
- */
927
- export interface ContextObject {
928
- }
929
-
930
- /**
931
- * Action taken for this creative during this sync operation (lifecycle operation, not approval state).
932
- */
933
- export type CreativeAction = 'created' | 'updated' | 'unchanged' | 'failed' | 'deleted';
934
-
935
- /**
936
- * Creative asset for upload to library — supports static assets, generative formats, and third-party snippets. Identifies which format this creative conforms to via EITHER a legacy `format_id` (structured `{agent_url, id}`) OR a 3.1+ `format_kind` (canonical format name), with optional `format_option_ref` when the target product needs disambiguation. Mutually exclusive — see the `oneOf` at the schema root.
937
- */
938
- export type CreativeAsset = {
939
- /**
940
- * Unique identifier for the creative. Stable across legacy named-format and 3.1+ canonical-format paths — a creative registered against `format_id` retains the same `creative_id` when later viewed through a canonical-format flatten.
941
- */
942
- creative_id: string;
943
- /**
944
- * Human-readable creative name
945
- */
946
- name: string;
947
- format_id?: FormatReferenceStructuredObject;
948
- format_kind?: CanonicalFormatKind;
949
- format_option_ref?: FormatOptionReference;
950
- /**
951
- * Assets required by the format, keyed by asset_id or canonical asset_group_id. Each slot value is either a single asset object or an array of asset objects (for slots with `min`/`max > 1` like carousel `cards` or responsive_creative `headlines`). Each asset value carries an `asset_type` discriminator that selects the matching asset schema, including reference assets such as `published_post` when a product accepts already-published post references.
952
- */
953
- assets: {
954
- /**
955
- * This interface was referenced by `undefined`'s JSON-Schema definition
956
- * via the `patternProperty` "^[a-z0-9_]+$".
957
- */
958
- [k: string]: AssetVariant | AssetVariant[];
959
- };
960
- /**
961
- * Preview contexts for generative formats - defines what scenarios to generate previews for
962
- */
963
- inputs?: {
964
- /**
965
- * Human-readable name for this preview variant
966
- */
967
- name: string;
968
- /**
969
- * Macro values to apply for this preview
970
- */
971
- macros?: {
972
- [k: string]: string | undefined;
973
- };
974
- /**
975
- * Natural language description of the context for AI-generated content
976
- */
977
- context_description?: string;
978
- }[];
979
- /**
980
- * User-defined tags for organization and searchability
981
- */
982
- tags?: string[];
983
- status?: CreativeStatus;
984
- /**
985
- * Optional delivery weight for creative rotation when uploading via create_media_buy or update_media_buy (0-100). If omitted, platform determines rotation. Only used during upload to media buy - not stored in creative library.
986
- * @minimum 0
987
- * @maximum 100
988
- */
989
- weight?: number;
990
- /**
991
- * Optional structured placement references where this uploaded creative should run when uploading via create_media_buy or update_media_buy. New senders SHOULD use this field for placement-level targeting because placement IDs are publisher-scoped. References product placements by `{ publisher_domain, placement_id }`. If omitted, creative runs on all buyer-targetable placements. If both `placement_refs` and legacy `placement_ids` are present, `placement_refs` wins and receivers MUST ignore `placement_ids`. Only used during upload to media buy - not stored in creative library.
992
- */
993
- placement_refs?: PlacementReference[];
994
- /**
995
- * Legacy shorthand array of placement IDs where this creative should run when uploading via create_media_buy or update_media_buy. New senders SHOULD use `placement_refs` because placement IDs are publisher-scoped and strings are ambiguous in multi-publisher products. If omitted, creative runs on all buyer-targetable placements. If `placement_refs` is also present, receivers MUST ignore this field. Only used during upload to media buy - not stored in creative library.
996
- */
997
- placement_ids?: string[];
998
- /**
999
- * Industry-standard or market-specific identifiers for this creative (e.g., Ad-ID, ISCI, Clearcast clock number, IDcrea). In broadcast and scheduled audio/video buying, these identifiers tie the creative to rotation instructions, clearance records, and traffic systems. A creative may have multiple identifiers when different systems reference the same asset. Add a PR to extend creative-identifier-type when another shared identifier scheme needs first-class support.
1000
- */
1001
- industry_identifiers?: IndustryIdentifier[];
1002
- provenance?: Provenance;
1003
- } & (LegacyCreativeNamedFormatReference | CreativeCanonicalFormatKind);
1004
-
1005
- /**
1006
- * Creative declares which canonical format it targets via `format_kind` (e.g., `image`). This 3.1+ canonical-format path was introduced by RFC #3305.
1007
- */
1008
- export interface CreativeCanonicalFormatKind {
1009
- /**
1010
- * Unique identifier for the creative. Stable across legacy named-format and 3.1+ canonical-format paths — a creative registered against `format_id` retains the same `creative_id` when later viewed through a canonical-format flatten.
1011
- */
1012
- creative_id: string;
1013
- /**
1014
- * Human-readable creative name
1015
- */
1016
- name: string;
1017
- format_kind: CanonicalFormatKind;
1018
- format_option_ref?: FormatOptionReference;
1019
- /**
1020
- * Assets required by the format, keyed by asset_id or canonical asset_group_id. Each slot value is either a single asset object or an array of asset objects (for slots with `min`/`max > 1` like carousel `cards` or responsive_creative `headlines`). Each asset value carries an `asset_type` discriminator that selects the matching asset schema, including reference assets such as `published_post` when a product accepts already-published post references.
1021
- */
1022
- assets: {
1023
- /**
1024
- * This interface was referenced by `undefined`'s JSON-Schema definition
1025
- * via the `patternProperty` "^[a-z0-9_]+$".
1026
- */
1027
- [k: string]: AssetVariant | AssetVariant[];
1028
- };
1029
- /**
1030
- * Preview contexts for generative formats - defines what scenarios to generate previews for
1031
- */
1032
- inputs?: {
1033
- /**
1034
- * Human-readable name for this preview variant
1035
- */
1036
- name: string;
1037
- /**
1038
- * Macro values to apply for this preview
1039
- */
1040
- macros?: {
1041
- [k: string]: string | undefined;
1042
- };
1043
- /**
1044
- * Natural language description of the context for AI-generated content
1045
- */
1046
- context_description?: string;
1047
- }[];
1048
- /**
1049
- * User-defined tags for organization and searchability
1050
- */
1051
- tags?: string[];
1052
- status?: CreativeStatus;
1053
- /**
1054
- * Optional delivery weight for creative rotation when uploading via create_media_buy or update_media_buy (0-100). If omitted, platform determines rotation. Only used during upload to media buy - not stored in creative library.
1055
- * @minimum 0
1056
- * @maximum 100
1057
- */
1058
- weight?: number;
1059
- /**
1060
- * Optional structured placement references where this uploaded creative should run when uploading via create_media_buy or update_media_buy. New senders SHOULD use this field for placement-level targeting because placement IDs are publisher-scoped. References product placements by `{ publisher_domain, placement_id }`. If omitted, creative runs on all buyer-targetable placements. If both `placement_refs` and legacy `placement_ids` are present, `placement_refs` wins and receivers MUST ignore `placement_ids`. Only used during upload to media buy - not stored in creative library.
1061
- */
1062
- placement_refs?: PlacementReference[];
1063
- /**
1064
- * Legacy shorthand array of placement IDs where this creative should run when uploading via create_media_buy or update_media_buy. New senders SHOULD use `placement_refs` because placement IDs are publisher-scoped and strings are ambiguous in multi-publisher products. If omitted, creative runs on all buyer-targetable placements. If `placement_refs` is also present, receivers MUST ignore this field. Only used during upload to media buy - not stored in creative library.
1065
- */
1066
- placement_ids?: string[];
1067
- /**
1068
- * Industry-standard or market-specific identifiers for this creative (e.g., Ad-ID, ISCI, Clearcast clock number, IDcrea). In broadcast and scheduled audio/video buying, these identifiers tie the creative to rotation instructions, clearance records, and traffic systems. A creative may have multiple identifiers when different systems reference the same asset. Add a PR to extend creative-identifier-type when another shared identifier scheme needs first-class support.
1069
- */
1070
- industry_identifiers?: IndustryIdentifier[];
1071
- provenance?: Provenance;
1072
- }
1073
-
1074
- /**
1075
- * Industry-standard or market-specific identifier types for advertising creatives. These identifiers are managed by external registries or clearance bodies and are used across the supply chain to track and reference specific creative assets. This enum is intentionally closed: add a PR for additional shared identifier schemes rather than using an escape hatch.
1076
- */
1077
- export type CreativeIdentifierType = 'ad_id' | 'isci' | 'clearcast_clock' | 'idcrea';
1078
-
1079
- /**
1080
- * For generative creatives: set to 'approved' to finalize, 'rejected' to request regeneration with updated assets/message. Omit for non-generative creatives (system will set based on processing state).
1081
- */
1082
- export type CreativeStatus = 'processing' | 'pending_review' | 'approved' | 'suspended' | 'rejected' | 'archived';
1083
-
1084
- /**
1085
- * DAAST (Digital Audio Ad Serving Template) tag for third-party audio ad serving
1086
- */
1087
- export type DAASTAsset = {
1088
- /**
1089
- * Discriminator identifying this as a DAAST asset. See /schemas/creative/asset-types for the registry.
1090
- */
1091
- asset_type: 'daast';
1092
- daast_version?: DAASTVersion;
1093
- /**
1094
- * Expected audio duration in milliseconds (if known)
1095
- * @minimum 0
1096
- */
1097
- duration_ms?: number;
1098
- /**
1099
- * Tracking events supported by this DAAST tag
1100
- */
1101
- tracking_events?: DAASTTrackingEvent[];
1102
- /**
1103
- * Whether companion display ads are included
1104
- */
1105
- companion_ads?: boolean;
1106
- /**
1107
- * URL to text transcript of the audio content
1108
- */
1109
- transcript_url?: string;
1110
- provenance?: Provenance;
1111
- } & ({
1112
- /**
1113
- * Discriminator indicating DAAST is delivered via URL endpoint
1114
- */
1115
- delivery_type: 'url';
1116
- /**
1117
- * URL endpoint that returns DAAST XML. May carry unsubstituted ad-server macros — DAAST/VAST-style `[MACRO]` and `${MACRO}` placeholders are accepted as-is (RFC 6570 syntax); buyers MUST NOT pre-encode macro delimiters, since players match the literal token at substitution time.
1118
- */
1119
- url: string;
1120
- } | {
1121
- /**
1122
- * Discriminator indicating DAAST is delivered as inline XML content
1123
- */
1124
- delivery_type: 'inline';
1125
- /**
1126
- * Inline DAAST XML content
1127
- */
1128
- content: string;
1129
- });
1130
-
1131
- /**
1132
- * A single tracker URL bound to a DAAST `TrackingEvents` event. Audio-side analogue of vast-tracker-asset. The `Impression` URL MUST be modeled as a `url` asset with `url_type: "tracker_pixel"`, not as a daast_tracker with `daast_event: "impression"`.
1133
- */
1134
- export interface DAASTTrackerAsset {
1135
- /**
1136
- * Discriminator identifying this as a DAAST tracker asset. See /schemas/creative/asset-types for the registry.
1137
- */
1138
- asset_type: 'daast_tracker';
1139
- /**
1140
- * The DAAST tracking event this URL fires on. MUST NOT be `impression` (model as `url` asset with `url_type: "tracker_pixel"`), `clickTracking` / `customClick` (click-tracking trackers go on their own URL asset), `error`, or any of the `ViewableImpression`-element children (`viewable`, `notViewable`, `viewUndetermined`, `measurableImpression`, `viewableImpression`).
1141
- */
1142
- daast_event: DAASTTrackingEvent;
1143
- /**
1144
- * Tracker URL that fires when `daast_event` occurs. May carry AdCP universal macros; the sales agent or ad server URL-encodes substituted values at serve time. See docs/creative/universal-macros.mdx.
1145
- */
1146
- url: string;
1147
- /**
1148
- * DAAST `offset` attribute. Required when `daast_event` is `progress` (DAAST 1.1 §3.2.4.3); ignored otherwise. Same format as VAST 4.2 `Tracking@offset`: `HH:MM:SS` or `HH:MM:SS.mmm` for absolute time (two-digit hours, minutes 00–59, seconds 00–59), or an integer percentage 0–100 suffixed with `%`. Negative offsets are NOT permitted.
1149
- * @pattern ^(\d{2}:[0-5]\d:[0-5]\d(\.\d{3})?|(100|\d{1,2})%)$
1150
- */
1151
- offset?: string;
1152
- /**
1153
- * Which DAAST creative element this tracker scopes to — `linear` for `<Linear>/<TrackingEvents>` (DAAST 1.1 §3.2.1.7), `companion` for `<CompanionAds>/<Companion>/<TrackingEvents>` (DAAST 1.1 §3.2.2.7, where the only valid event is `creativeView`). DAAST has no `<NonLinearAds>` element. Defaults to `linear`. Sales agents use this to place the tracker in the correct location during DAAST assembly.
1154
- */
1155
- target?: 'linear' | 'companion';
1156
- provenance?: Provenance;
1157
- }
1158
-
1159
- /**
1160
- * Tracking events for audio ads. Aligned to the IAB DAAST 1.1 `Tracking@event` enumeration from §3.2.1.7 of the spec (creativeView, start, firstQuartile, midpoint, thirdQuartile, complete, mute, unmute, pause, rewind, resume, skip, progress) — plus `close` (referenced descriptively in DAAST 1.1 §3.2.4.2 contrasting it with `skip`), and AdCP-flattened representations of the `Impression`, `Error`, and click elements (`<Impression>`, `<Error>`, and the click children of `<AdInteractions>`) so a single declared list can cover everything a measurement vendor wants to track. `viewable` / `notViewable` / `viewUndetermined` and `measurableImpression` / `viewableImpression` are AdCP extensions for OM-SDK Audio measurability signals (DAAST 1.1 itself does not define a `<ViewableImpression>` element). DAAST 1.1 audio-incompatible video events are deliberately omitted: no `loaded`, `playerExpand` / `playerCollapse`, `fullscreen` / `exitFullscreen`, `acceptInvitation`, `adExpand` / `adCollapse`, `minimize`, `overlayViewDuration`, or `interactiveStart`.
1161
- */
1162
- export type DAASTTrackingEvent = 'impression' | 'creativeView' | 'start' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'complete' | 'mute' | 'unmute' | 'pause' | 'resume' | 'rewind' | 'skip' | 'progress' | 'clickTracking' | 'customClick' | 'close' | 'error' | 'viewable' | 'notViewable' | 'viewUndetermined' | 'measurableImpression' | 'viewableImpression';
1163
-
1164
- /**
1165
- * DAAST specification version
1166
- */
1167
- export type DAASTVersion = '1.0' | '1.1';
1168
-
1169
- /**
1170
- * IPTC-aligned classification of AI involvement in producing this content
1171
- */
1172
- export type DigitalSourceType = 'digital_capture' | 'digital_creation' | 'trained_algorithmic_media' | 'composite_with_trained_algorithmic_media' | 'algorithmic_media' | 'composite_capture' | 'composite_synthetic' | 'human_edits' | 'data_driven_media';
1173
-
1174
- /**
1175
- * How long the disclosure must persist during content playback or display
1176
- */
1177
- export type DisclosurePersistence = 'continuous' | 'initial' | 'flexible';
1178
-
1179
- /**
1180
- * Where a required disclosure should appear within a creative. Used by creative briefs to specify disclosure placement and by formats to declare which positions they can render.
1181
- */
1182
- export type DisclosurePosition = 'prominent' | 'footer' | 'audio' | 'subtitle' | 'overlay' | 'end_card' | 'pre_roll' | 'companion';
1183
-
1184
- /**
1185
- * How provenance data is carried within the content
1186
- */
1187
- export type EmbeddedProvenanceMethod = 'manifest_wrapper' | 'provenance_markers';
1188
-
1189
- /**
1190
- * Standard marketing event types for event logging, aligned with IAB ECAPI
1191
- */
1192
- export type EventType = 'page_view' | 'view_content' | 'select_content' | 'select_item' | 'search' | 'share' | 'add_to_cart' | 'remove_from_cart' | 'viewed_cart' | 'add_to_wishlist' | 'initiate_checkout' | 'add_payment_info' | 'purchase' | 'refund' | 'lead' | 'qualify_lead' | 'close_convert_lead' | 'disqualify_lead' | 'complete_registration' | 'subscribe' | 'follow' | 'content_view' | 'watch_milestone' | 'start_trial' | 'app_install' | 'app_launch' | 'contact' | 'schedule' | 'donate' | 'submit_application' | 'custom';
1193
-
1194
- /**
1195
- * Extension object for platform-specific, vendor-namespaced parameters. Extensions are always optional and must be namespaced under a vendor/platform key (e.g., ext.gam, ext.roku). Used for custom capabilities, partner-specific configuration, and features being proposed for standardization.
1196
- */
1197
- export interface ExtensionObject {
1198
- }
1199
-
1200
- /**
1201
- * Format of the external feed at url. Required when url points to a non-AdCP feed (e.g., Google Merchant Center XML, Meta Product Catalog). Omit for offering-type catalogs where the feed is native AdCP JSON.
1202
- */
1203
- export type FeedFormat = 'google_merchant_center' | 'facebook_catalog' | 'shopify' | 'linkedin_jobs' | 'tiktok_shop' | 'pinterest_catalog' | 'openai_product_feed' | 'custom';
1204
-
1205
- /**
1206
- * Discriminated reference to a product format option. The global canonical shape is still named by `format_kind`; this reference selects one concrete product `format_options[]` entry. `scope: "publisher"` identifies a publisher-declared catalog option by `{ publisher_domain, format_option_id }`. `scope: "product"` identifies a product-local option by `format_option_id`; the enclosing package/product context supplies the namespace.
1207
- */
1208
- export type FormatOptionReference = PublisherCatalogFormatOptionReference | ProductLocalFormatOptionReference;
1209
-
1210
- /**
1211
- * A JSON object — never a plain string — that identifies a creative format by its declaring agent and local slug. Required properties: agent_url (URI of the agent that owns the format) and id (slug matching [a-zA-Z0-9_-]+). Example: {"agent_url": "https://creative.adcontextprotocol.org", "id": "display_300x250"}. Can reference: (1) a concrete format with fixed dimensions (id only), (2) a template format without parameters (id only), or (3) a template format with parameters (id + dimensions/duration). Template formats accept parameters in format_id while concrete formats have fixed dimensions in their definition. Parameterized format IDs create unique, specific format variants. Using a plain string here is a schema violation.
1212
- */
1213
- export interface FormatReferenceStructuredObject {
1214
- /**
1215
- * URL of the agent that defines this format (e.g., 'https://creative.adcontextprotocol.org' for standard formats, or 'https://publisher.com/.well-known/adcp/sales' for custom formats). Callers comparing two `format-id` values MUST canonicalize `agent_url` per the AdCP URL canonicalization rules before treating two formats as the same. See docs/reference/url-canonicalization.
1216
- */
1217
- agent_url: string;
1218
- /**
1219
- * Format identifier within the agent's namespace (e.g., 'display_static', 'video_hosted', 'audio_standard'). When used alone, references a template format. When combined with dimension/duration fields, creates a parameterized format ID for a specific variant.
1220
- * @pattern ^[a-zA-Z0-9_-]+$
1221
- */
1222
- id: string;
1223
- /**
1224
- * Width in pixels for visual formats. When specified, height must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
1225
- * @minimum 1
1226
- */
1227
- width?: number;
1228
- /**
1229
- * Height in pixels for visual formats. When specified, width must also be specified. Both fields together create a parameterized format ID for dimension-specific variants.
1230
- * @minimum 1
1231
- */
1232
- height?: number;
1233
- /**
1234
- * Duration in milliseconds for time-based formats (video, audio). When specified, creates a parameterized format ID. Omit to reference a template format without parameters.
1235
- * @minimum 1
1236
- */
1237
- duration_ms?: number;
1238
- }
1239
-
1240
- /**
1241
- * Whether the video uses a constant or variable frame rate. Broadcast and SSAI contexts require constant frame rate for seamless splicing.
1242
- */
1243
- export type FrameRateType = 'constant' | 'variable';
1244
-
1245
- /**
1246
- * Group of Pictures structure. SSAI and broadcast require closed GOPs for clean splice points; open GOPs may produce artifacts at ad boundaries.
1247
- */
1248
- export type GOPType = 'closed' | 'open';
1249
-
1250
- /**
1251
- * Inline HTML content asset. For URL-delivered HTML5 banner bundles, use the zip asset type instead. For single-URL iframe-rendered tag references, use the url asset type with an appropriate url_type.
1252
- */
1253
- export interface HTMLAsset {
1254
- /**
1255
- * Discriminator identifying this as an HTML asset. See /schemas/creative/asset-types for the registry.
1256
- */
1257
- asset_type: 'html';
1258
- /**
1259
- * HTML content
1260
- */
1261
- content: string;
1262
- /**
1263
- * HTML version (e.g., 'HTML5')
1264
- */
1265
- version?: string;
1266
- /**
1267
- * Self-declared accessibility properties for this opaque creative
1268
- */
1269
- accessibility?: {
1270
- /**
1271
- * Text alternative describing the creative content
1272
- */
1273
- alt_text?: string;
1274
- /**
1275
- * Whether the creative can be fully operated via keyboard
1276
- */
1277
- keyboard_navigable?: boolean;
1278
- /**
1279
- * Whether the creative respects prefers-reduced-motion or provides pause/stop controls
1280
- */
1281
- motion_control?: boolean;
1282
- /**
1283
- * Whether the creative has been tested with screen readers
1284
- */
1285
- screen_reader_tested?: boolean;
1286
- };
1287
- provenance?: Provenance;
1288
- }
1289
-
1290
- /**
1291
- * HTTP method
1292
- */
1293
- export type HTTPMethod = 'GET' | 'POST';
1294
-
1295
- /**
1296
- * Override logo asset.
1297
- */
1298
- export interface ImageAsset {
1299
- /**
1300
- * Discriminator identifying this as an image asset. See /schemas/creative/asset-types for the registry.
1301
- */
1302
- asset_type: 'image';
1303
- /**
1304
- * URL to the image asset
1305
- */
1306
- url: string;
1307
- /**
1308
- * Width in pixels
1309
- * @minimum 1
1310
- */
1311
- width: number;
1312
- /**
1313
- * Height in pixels
1314
- * @minimum 1
1315
- */
1316
- height: number;
1317
- /**
1318
- * Image file format (jpg, png, gif, webp, etc.)
1319
- */
1320
- format?: string;
1321
- /**
1322
- * Alternative text for accessibility
1323
- */
1324
- alt_text?: string;
1325
- provenance?: Provenance;
1326
- }
1327
-
1328
- /**
1329
- * An industry-standard or market-specific identifier for an advertising creative (e.g., Ad-ID, ISCI, Clearcast clock number, IDcrea). These identifiers are managed by external registries or clearance bodies and used across the supply chain to track and reference specific creative assets. Add a PR to extend creative-identifier-type when another shared identifier scheme needs first-class support.
1330
- */
1331
- export interface IndustryIdentifier {
1332
- type: CreativeIdentifierType;
1333
- /**
1334
- * The identifier value (e.g., 'ABCD1234000H' for Ad-ID). Preserve the value exactly as the traffic or clearance system expects it.
1335
- * @maxLength 64
1336
- */
1337
- value: string;
1338
- }
1339
-
1340
- /**
1341
- * Inline JavaScript content asset. For URL-delivered third-party tag scripts, use the url asset type with url_type 'tracker_script'. For HTML5 banner bundles that include JavaScript, use the zip asset type.
1342
- */
1343
- export interface JavaScriptAsset {
1344
- /**
1345
- * Discriminator identifying this as a JavaScript asset. See /schemas/creative/asset-types for the registry.
1346
- */
1347
- asset_type: 'javascript';
1348
- /**
1349
- * JavaScript content
1350
- */
1351
- content: string;
1352
- module_type?: JavaScriptModuleType;
1353
- /**
1354
- * Self-declared accessibility properties for this opaque creative
1355
- */
1356
- accessibility?: {
1357
- /**
1358
- * Text alternative describing the creative content
1359
- */
1360
- alt_text?: string;
1361
- /**
1362
- * Whether the creative can be fully operated via keyboard
1363
- */
1364
- keyboard_navigable?: boolean;
1365
- /**
1366
- * Whether the creative respects prefers-reduced-motion or provides pause/stop controls
1367
- */
1368
- motion_control?: boolean;
1369
- /**
1370
- * Whether the creative has been tested with screen readers
1371
- */
1372
- screen_reader_tested?: boolean;
1373
- };
1374
- provenance?: Provenance;
1375
- }
1376
-
1377
- /**
1378
- * JavaScript module type
1379
- */
1380
- export type JavaScriptModuleType = 'esm' | 'commonjs' | 'script';
1381
-
1382
- /**
1383
- * Creative references a named format via the structured `format_id` object. The legacy named-format path remains supported through 4.x.
1384
- */
1385
- export interface LegacyCreativeNamedFormatReference {
1386
- /**
1387
- * Unique identifier for the creative. Stable across legacy named-format and 3.1+ canonical-format paths — a creative registered against `format_id` retains the same `creative_id` when later viewed through a canonical-format flatten.
1388
- */
1389
- creative_id: string;
1390
- /**
1391
- * Human-readable creative name
1392
- */
1393
- name: string;
1394
- format_id: FormatReferenceStructuredObject;
1395
- format_option_ref?: FormatOptionReference;
1396
- /**
1397
- * Assets required by the format, keyed by asset_id or canonical asset_group_id. Each slot value is either a single asset object or an array of asset objects (for slots with `min`/`max > 1` like carousel `cards` or responsive_creative `headlines`). Each asset value carries an `asset_type` discriminator that selects the matching asset schema, including reference assets such as `published_post` when a product accepts already-published post references.
1398
- */
1399
- assets: {
1400
- /**
1401
- * This interface was referenced by `undefined`'s JSON-Schema definition
1402
- * via the `patternProperty` "^[a-z0-9_]+$".
1403
- */
1404
- [k: string]: AssetVariant | AssetVariant[];
1405
- };
1406
- /**
1407
- * Preview contexts for generative formats - defines what scenarios to generate previews for
1408
- */
1409
- inputs?: {
1410
- /**
1411
- * Human-readable name for this preview variant
1412
- */
1413
- name: string;
1414
- /**
1415
- * Macro values to apply for this preview
1416
- */
1417
- macros?: {
1418
- [k: string]: string | undefined;
1419
- };
1420
- /**
1421
- * Natural language description of the context for AI-generated content
1422
- */
1423
- context_description?: string;
1424
- }[];
1425
- /**
1426
- * User-defined tags for organization and searchability
1427
- */
1428
- tags?: string[];
1429
- status?: CreativeStatus;
1430
- /**
1431
- * Optional delivery weight for creative rotation when uploading via create_media_buy or update_media_buy (0-100). If omitted, platform determines rotation. Only used during upload to media buy - not stored in creative library.
1432
- * @minimum 0
1433
- * @maximum 100
1434
- */
1435
- weight?: number;
1436
- /**
1437
- * Optional structured placement references where this uploaded creative should run when uploading via create_media_buy or update_media_buy. New senders SHOULD use this field for placement-level targeting because placement IDs are publisher-scoped. References product placements by `{ publisher_domain, placement_id }`. If omitted, creative runs on all buyer-targetable placements. If both `placement_refs` and legacy `placement_ids` are present, `placement_refs` wins and receivers MUST ignore `placement_ids`. Only used during upload to media buy - not stored in creative library.
1438
- */
1439
- placement_refs?: PlacementReference[];
1440
- /**
1441
- * Legacy shorthand array of placement IDs where this creative should run when uploading via create_media_buy or update_media_buy. New senders SHOULD use `placement_refs` because placement IDs are publisher-scoped and strings are ambiguous in multi-publisher products. If omitted, creative runs on all buyer-targetable placements. If `placement_refs` is also present, receivers MUST ignore this field. Only used during upload to media buy - not stored in creative library.
1442
- */
1443
- placement_ids?: string[];
1444
- /**
1445
- * Industry-standard or market-specific identifiers for this creative (e.g., Ad-ID, ISCI, Clearcast clock number, IDcrea). In broadcast and scheduled audio/video buying, these identifiers tie the creative to rotation instructions, clearance records, and traffic systems. A creative may have multiple identifiers when different systems reference the same asset. Add a PR to extend creative-identifier-type when another shared identifier scheme needs first-class support.
1446
- */
1447
- industry_identifiers?: IndustryIdentifier[];
1448
- provenance?: Provenance;
1449
- }
1450
-
1451
- /**
1452
- * Markdown-formatted text content following CommonMark specification
1453
- */
1454
- export interface MarkdownAsset {
1455
- /**
1456
- * Discriminator identifying this as a markdown asset. See /schemas/creative/asset-types for the registry.
1457
- */
1458
- asset_type: 'markdown';
1459
- /**
1460
- * Markdown content following CommonMark spec with optional GitHub Flavored Markdown extensions
1461
- */
1462
- content: string;
1463
- /**
1464
- * Language code (e.g., 'en', 'es', 'fr')
1465
- */
1466
- language?: string;
1467
- markdown_flavor?: MarkdownFlavor;
1468
- /**
1469
- * Whether raw HTML blocks are allowed in the markdown. False recommended for security.
1470
- */
1471
- allow_raw_html?: boolean;
1472
- }
1473
-
1474
- /**
1475
- * Markdown flavor used. CommonMark for strict compatibility, GFM for tables/task lists/strikethrough.
1476
- */
1477
- export type MarkdownFlavor = 'commonmark' | 'gfm';
1478
-
1479
- /**
1480
- * Position of the moov atom in an MP4 container. 'start' enables progressive download without buffering the entire file; required for streaming ad delivery.
1481
- */
1482
- export type MoovAtomPosition = 'start' | 'end';
1483
-
1484
- /**
1485
- * Account-level webhook subscription for notifications whose lifecycle outlives any single media buy — creative state changes, library purges, wholesale feed change webhooks, and future account-anchored resource events after those event types are added to notification-type.json. This surface does not currently carry lifecycle events for the account object itself (for example, there is no `account.status_changed` event type); account status changes are observed through `list_accounts` polling or the one-shot `sync_accounts.push_notification_config` async result channel. Distinct from `push-notification-config.json`, which anchors at a per-resource operation (a single task or media buy). An account MAY register multiple notification configs to fan a single seller's events out to multiple buyer-side endpoints; each entry filters by `event_types`. As with push-notification-config, the default signing scheme is the AdCP RFC 9421 webhook profile against the seller's brand.json `agents[]` JWKS; the optional `authentication` block opts into the deprecated Bearer / HMAC-SHA256 fallback for compatibility. Credentials and shared secrets in `authentication.credentials` are write-only — sellers MUST NOT echo them back in `list_accounts` responses. Sellers MUST verify endpoint control before activating a new or changed active account-level notification config; delivery-time SSRF validation still applies to every fire.
1486
- */
1487
- export interface NotificationConfig {
1488
- /**
1489
- * Buyer-supplied identifier for this subscription endpoint. This is the stable logical key within one account's notification_configs[] set: re-sending the same subscriber_id for the same account replaces that subscriber's URL, event_types, authentication selector, and active flag rather than creating a duplicate. Echoed on every webhook payload and on every `webhook_activity[]` record fired against this config so the buyer can attribute fires across multiple endpoints. MUST be unique within the account's `notification_configs[]`. Sending two entries with the same `subscriber_id` in a single `sync_accounts` request array is rejected as a per-account validation failure with `INVALID_REQUEST` or `VALIDATION_ERROR`, and `error.field` MUST point at the duplicate entry. `subscriber_id` is the stable match key for the per-account declarative-replace diff. Always required (even with a single subscriber) so the SDK contract is uniform — no conditional required-when-multiple rules to trip up implementations. Format is opaque — recommended values are short kebab-case slugs (`buyer-primary`, `audit-bus`, `dx-team`).
1490
- * @minLength 1
1491
- * @maxLength 64
1492
- * @pattern ^[A-Za-z0-9_.:-]{1,64}$
1493
- */
1494
- subscriber_id: string;
1495
- /**
1496
- * Webhook endpoint URL. Same wire contract as `push-notification-config.url` — `format: "uri"`, no destination-port allowlist enforced by the protocol, SSRF protection via the IP-range check defined in docs/building/by-layer/L1/security.mdx#webhook-url-validation-ssrf. Sellers MUST validate URL syntax, HTTPS usage, hostname normalization, and reserved-range rejection when writing any config, including `active: false` configs. Sellers MUST complete an activation challenge or equivalent proof-of-control before treating a new or changed active subscriber as active.
1497
- */
1498
- url: string;
1499
- /**
1500
- * Notification types this subscriber wishes to receive on the registered `url`. The seller MUST NOT fire other types against this endpoint, and MUST NOT silently widen the filter when new types are added to `notification-type.json`. When omitted, the seller MUST default to a no-fire policy and surface an `errors[]` entry on `sync_accounts` so the buyer notices the missing filter. Values are drawn from `notification-type.json`, but only types whose contract anchors at the account scope are valid here — creative lifecycle events and wholesale feed change payloads are valid; media-buy-anchored types (`scheduled`, `final`, `delayed`, `adjusted`, `impairment`) and account-lifecycle names not present in the enum (for example, `account.status_changed`) are invalid on this surface; sellers MUST reject those entries as per-account validation failures with `INVALID_REQUEST` or `VALIDATION_ERROR` and `error.field` pointing at the invalid `event_types` entry rather than silently dropping them.
1501
- */
1502
- event_types: NotificationType[];
1503
- /**
1504
- * Legacy authentication selector. Same precedence and semantics as `push-notification-config.authentication` — presence opts the seller into Bearer or HMAC-SHA256 signing; absence selects the default RFC 9421 webhook profile keyed off the seller's brand.json `agents[]` JWKS. The same signed-registration downgrade-resistance rules apply to accounts[].notification_configs[].authentication. Deprecated; removed in AdCP 4.0. Credentials are write-only and MUST NOT be echoed on `list_accounts` reads.
1505
- */
1506
- authentication?: {
1507
- schemes: AuthenticationScheme[];
1508
- /**
1509
- * Credentials for the legacy scheme. Bearer: token. HMAC-SHA256: shared secret. Minimum 32 characters. Exchanged out-of-band during onboarding. Write-only.
1510
- * @minLength 32
1511
- */
1512
- credentials?: string;
1513
- };
1514
- /**
1515
- * When false, the seller persists the configuration but suppresses fires. Use to pause a noisy subscriber without losing the registration. Sellers MUST NOT skip persisting the entry when `active: false` — the buyer's next `sync_accounts` MUST observe the same array, otherwise the buyer cannot distinguish pause from drop. Paused configs may skip only the outbound proof challenge while inactive; sellers MUST still enforce URL parsing, HTTPS, hostname normalization, and reserved-range rejection at write time. Reactivation requires full SSRF validation with connect pinning plus proof-of-control for any tuple without current valid proof.
1516
- */
1517
- active?: boolean;
1518
- ext?: ExtensionObject;
1519
- }
1520
-
1521
- /**
1522
- * Type of push notification fired by a seller agent. Media-buy-anchored notifications (`scheduled`, `final`, `delayed`, `adjusted`, `impairment`) fire against a media buy's `push_notification_config`. Account-anchored notifications (`creative.status_changed`, `creative.purged`, `product.*`, `signal.*`, `wholesale_feed.bulk_change`) fire against an account's `notification_configs[]` entries whose `event_types` include the value — these outlive any single media buy and anchor at the account. Account-anchored does not mean lifecycle events for the account object itself; no `account.*` event type is currently defined. Account status changes are observed through `list_accounts` polling or the one-shot `sync_accounts.push_notification_config` async result channel. Wholesale feed notifications carry the actual change payload in `/schemas/core/wholesale-feed-webhook.json`; receivers use `get_products` / `get_signals` with `if_wholesale_feed_version` to repair or reconcile. New notification types added to this enum MUST declare their anchor (media-buy or account) and per-type `notification_id` semantics in the enumDescription. Sellers MUST reject `notification_configs[]` entries whose `event_types` include any media-buy-anchored type, and MUST reject `push_notification_config` registrations for account-anchored types.
1523
- */
1524
- export type NotificationType = 'scheduled' | 'final' | 'delayed' | 'adjusted' | 'impairment' | 'creative.status_changed' | 'creative.purged' | 'product.created' | 'product.updated' | 'product.priced' | 'product.removed' | 'signal.created' | 'signal.updated' | 'signal.priced' | 'signal.removed' | 'wholesale_feed.bulk_change';
1525
-
1526
- /**
1527
- * Payment terms agreed for this account. Binding for all invoices when the account is active.
1528
- */
1529
- export type PaymentTerms = 'net_15' | 'net_30' | 'net_45' | 'net_60' | 'net_90' | 'prepay';
1530
-
1531
- /**
1532
- * A single renderer-fired HTTP tracker URL — image pixel or JavaScript include — bound to a measurement event (impression, viewability, click, custom). Generic web-pixel tracker primitive applicable to any web-rendered canonical format (image, html5, image_carousel, responsive_creative, sponsored_placement, native_*, plus the non-VAST/DAAST events of video_hosted and audio_hosted). The buyer's measurement vendor declares the tracker URL; the seller's renderer fires it at serve time without buyer-side involvement.
1533
- *
1534
- * The discriminated-union shape and event/method enums are formalized in IAB OpenRTB Native 1.2 (`imptrackers[]` / `jstracker` / `eventtrackers[]` / `link.clicktrackers[]`); the same shape applies cleanly to image banners, html5, carousels, and any other format whose renderer fires HTTP pixels for measurement. The name `pixel_tracker` mirrors the industry's existing 'tracker pixel' terminology (already used in `url_type: "tracker_pixel"`) and applies equally to `method: img` and `method: js` (a JS include is still a measurement-pixel hop in vendor parlance).
1535
- *
1536
- * **Scope boundary (normative).** `pixel_tracker` covers RENDERER-FIRED trackers — measurement events that the ad's serving template invokes when the user sees, views, or clicks the creative. Conversion pixels that fire on the advertiser's site after the click (Meta Pixel, GA4 server-side, custom postbacks) MUST be modeled via `sync_event_sources` / `event_log` — they are campaign-scoped, not creative-asset-scoped. See `docs/creative/canonical-formats.mdx#what-format_kind-is-not-for`.
1537
- *
1538
- * **Format-specific tracker primitives.** Formats whose wire shape embeds tracker URLs in a format-specific structure use dedicated asset types instead:
1539
- * - `video_vast` → `vast_tracker` (VAST `<TrackingEvents>`: start, quartiles, complete, pause, mute)
1540
- * - `audio_daast` → `daast_tracker` (DAAST `<TrackingEvents>` parity)
1541
- * - `display_tag` → opaque (third-party server fires its own trackers)
1542
- *
1543
- * All other web-rendered canonicals use `pixel_tracker`.
1544
- *
1545
- * Maps to IAB OpenRTB Native 1.2 / Dynamic Native Ads API tracker objects:
1546
- * - `imptrackers[]` → one `pixel_tracker` per entry with `event: impression`, `method: img`
1547
- * - `jstracker` → one `pixel_tracker` with `event: impression`, `method: js`
1548
- * - `eventtrackers[]` → one `pixel_tracker` per entry, `event` mapped from the IAB event enum
1549
- * - `link.clicktrackers[]` → one `pixel_tracker` per entry with `event: click`, `method: img` (click destinations live on `landing_page_url` slot)
1550
- *
1551
- * **Bidirectional v1↔v2 mapping (normative for SDK auto-negotiation).** A 3.1 buyer SDK talking to a 3.0.x seller MUST downgrade `pixel_tracker` to the v1 `{asset_type: url, url_type: tracker_pixel}` shape. The URL still emits on the wire; what's lost depends on the original event/method. A 3.1 SDK reading a v1 manifest MUST upgrade `{asset_type: url, url_type: tracker_pixel}` to `pixel_tracker` by inferring event/method from the v1 `asset_id`. Both directions are lossy-with-advisory; SDKs MUST emit the appropriate error code so consumers can see what was inferred or dropped.
1552
- *
1553
- * **v2 → v1 downgrade table:**
1554
- * | pixel_tracker source | v1 emit | Lost fields | Error code |
1555
- * |---|---|---|---|
1556
- * | `{event: impression, method: img, url}` | `{url_type: tracker_pixel, asset_id: impression_tracker, url}` | none | (no advisory) |
1557
- * | `{event: viewable_mrc_50, method: img, url}` | `{url_type: tracker_pixel, asset_id: viewability_tracker, url}` | event variant | `PIXEL_TRACKER_LOSSY_DOWNGRADE` |
1558
- * | `{event: viewable_mrc_100, method: img, url}` | same shape | event variant | `PIXEL_TRACKER_LOSSY_DOWNGRADE` |
1559
- * | `{event: viewable_video_50, method: img, url}` | same shape | event variant | `PIXEL_TRACKER_LOSSY_DOWNGRADE` |
1560
- * | `{event: audible_video_complete, method: img, url}` | same shape | event variant | `PIXEL_TRACKER_LOSSY_DOWNGRADE` |
1561
- * | `{event: click, method: img, url}` | `{url_type: tracker_pixel, asset_id: click_tracker, url}` | none meaningful | (no advisory) |
1562
- * | `{event: custom, custom_event_name: X, ...}` | `{url_type: tracker_pixel, asset_id: impression_tracker, url}` (defaults to impression timing) | custom event timing | `PIXEL_TRACKER_LOSSY_DOWNGRADE` |
1563
- * | `{method: js, any event, url}` | same shape with `url_type: tracker_pixel` | JS execution context — URL is hit via GET (counter increments), but JS body doesn't execute (OMID-style verification, viewability observers, cross-domain cookie setters won't fire) | `PIXEL_TRACKER_LOSSY_DOWNGRADE` |
1564
- *
1565
- * **v1 → v2 upgrade table (inferred — SDK has no explicit event/method):**
1566
- * | v1 source (asset_id) | Inferred pixel_tracker | Inference basis |
1567
- * |---|---|---|
1568
- * | `impression_tracker` | `{event: impression, method: img}` | asset_id convention |
1569
- * | `viewability_tracker` | `{event: viewable_mrc_50, method: img}` | asset_id convention + most-common default (50% is the dominant variant in v1 catalogs) |
1570
- * | `click_tracker` | `{event: click, method: img}` | asset_id convention |
1571
- * | `<other asset_id>` | `{event: custom, custom_event_name: <original asset_id>, method: img}` | fallback — preserves the original asset_id as the custom name |
1572
- *
1573
- * All v1→v2 upgrades surface `PIXEL_TRACKER_UPGRADE_INFERRED` so consumers can see that event/method were inferred rather than explicitly declared.
1574
- */
1575
- export interface PixelTrackerAsset {
1576
- /**
1577
- * Discriminator identifying this as a renderer-fired pixel tracker asset. See /schemas/creative/asset-types for the registry.
1578
- */
1579
- asset_type: 'pixel_tracker';
1580
- /**
1581
- * Which event this tracker fires on. Event enum mirrors IAB OpenRTB Native 1.2 event-tracker registry (event types 1, 2, 3, 4, 500); the events themselves are generic web-pixel measurement events that apply to any renderer:
1582
- * - `impression` (IAB type 1) — fires when the ad is served. Covers both `imptrackers[]` and `jstracker` from the IAB shape, distinguished by `method`.
1583
- * - `viewable_mrc_50` (IAB type 2) — IAB MRC viewable, 50% pixels for ≥1 second.
1584
- * - `viewable_mrc_100` (IAB type 3) — IAB MRC viewable, 100% pixels for ≥1 second.
1585
- * - `viewable_video_50` (IAB type 4) — video-specific viewable, 50% pixels for ≥2 seconds with audio on. On video_hosted; ignored on image/html5.
1586
- * - `audible_video_complete` (IAB type 500) — video reached 100% completion with audio on. Distinct from `viewable_video_50` (50% pixels + 2s threshold) — this is the full-completion audible-view event. Meaningful on non-VAST video formats (Meta Reels, YouTube Shorts, TikTok Spark) where audible-complete is a measured event but VAST `<TrackingEvents>` isn't the wire format; VAST formats use `vast_tracker` with `vast_event: complete` plus a separate audible tracker instead.
1587
- * - `click` — fires when the user clicks the creative (`link.clicktrackers[]`).
1588
- * - `custom` — adopter-defined event for anything not in the standardized enum. MUST also set `custom_event_name`. Reserved for IAB Native event types 555+ (exchange-specific) and any vendor-defined event not yet promoted to a first-class enum value.
1589
- */
1590
- event: 'impression' | 'viewable_mrc_50' | 'viewable_mrc_100' | 'viewable_video_50' | 'audible_video_complete' | 'click' | 'custom';
1591
- /**
1592
- * How the tracker URL is invoked at serve time:
1593
- * - `img` — fired as an image pixel (HTTP GET with `<img>`-like semantics; no JS execution)
1594
- * - `js` — fired as a script include (renderer evaluates the URL's response as JavaScript)
1595
- *
1596
- * Matches IAB OpenRTB Native 1.2 method enum (1=img, 2=js). `js` MUST only be used by sellers whose renderer supports JavaScript trackers; sellers without JS-tracker support MUST reject `method: js` declarations at sync_creatives time with `CREATIVE_REJECTED` carrying the reason.
1597
- */
1598
- method?: 'img' | 'js';
1599
- /**
1600
- * Tracker URL fired when `event` occurs. May carry AdCP universal macros (e.g., `{MEDIA_BUY_ID}`, `{CREATIVE_ID}`, `{CACHEBUSTER}`); the seller's renderer URL-encodes substituted values at serve time. See docs/creative/universal-macros.mdx.
1601
- */
1602
- url: string;
1603
- /**
1604
- * REQUIRED when `event` is `custom`; otherwise MUST be absent. Adopter-defined event name. Sellers without registered handling for a given custom_event_name MUST silently no-op (do not fire) rather than reject — custom events are forward-compatible probes.
1605
- */
1606
- custom_event_name?: string;
1607
- provenance?: Provenance;
1608
- }
1609
-
1610
- /**
1611
- * Structured placement reference for this forecast row. References an entry from the product's placements array.
1612
- */
1613
- export interface PlacementReference {
1614
- /**
1615
- * Domain where the adagents.json declaring this placement is hosted. Omitted only for legacy single-publisher seller contexts where the seller agent's own publisher domain is the namespace.
1616
- * @pattern ^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$
1617
- */
1618
- publisher_domain?: string;
1619
- /**
1620
- * Placement ID from the publisher's adagents.json placement catalog, or an inline seller-defined placement ID interpreted within the same publisher namespace.
1621
- */
1622
- placement_id: string;
1623
- }
1624
-
1625
- /**
1626
- * REQUIRED when `format_kind: "custom"`; otherwise MUST be absent. URI+digest reference to a fetchable schema describing this custom shape's actual `params` and `slots`. Same hosting model as `platform_extensions`: open-ecosystem publishers host the artifact at the canonical URI on their subdomain; closed-platform / walled-garden shapes resolve through the AAO mirror at `https://creative.adcontextprotocol.org/translated/...`. Buyer agents fetch by `uri@digest` (immutable per digest, aggressive caching, `Cache-Control: public, max-age=31536000, immutable`), validate `params` and `slots` against the fetched schema, and reason about manifests structurally — same mechanic as platform_extensions but at the format-structure level. Without `format_schema`, custom shapes would be opaque to buyer agents and the protocol would regress to per-seller integration code; that's why the schema is required, not optional.
1627
- *
1628
- * **Fetch contract (normative)** — `format_schema` is load-bearing for validation (unlike `platform_extensions`, which is informational on the *consumption* side). The *transport* rules below apply identically to BOTH fields — any SDK fetching a `platform-extension-ref.json` URI MUST apply this contract regardless of whether the field name is `format_schema` or `platform_extensions`. A shared SDK fetch path that drops to the weakest bar undermines `format_schema`'s hardening. The consumption distinction (load-bearing vs informational) is about *what the body means*; the transport distinction is `https`-and-allowlisted regardless.
1629
- *
1630
- * - **Transport**: `https` only. Buyers MUST reject `http://`, `file://`, `data:`, and any non-`https` scheme. The URI MUST resolve to a JSON document that is itself a valid JSON Schema (Draft 07 or 2020-12; producers MUST declare `$schema`).
1631
- * - **SSRF protection**: buyers MUST resolve the URI hostname and reject if any resolved address is in RFC 1918 private space (`10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16`), loopback (`127.0.0.0/8`, `::1`), link-local (`169.254.0.0/16`, `fe80::/10`), CGNAT (`100.64.0.0/10`), or any RFC 6761 special-use name (`.local`, `.localhost`, `.internal`, `.test`, `.example`, `.invalid`). Cloud metadata endpoints (`169.254.169.254`, `metadata.google.internal`, `kubernetes.default.svc`) are explicitly forbidden — these are credential-leak primitives. Buyers MUST pin the connection to the resolved IP (or re-resolve and re-validate the allowlist per request) to defeat DNS rebinding.
1632
- * - **HTTP redirects**: MUST be disabled. If a follow is implemented at all, the redirect target MUST pass the same scheme + SSRF + allowlist checks; otherwise the fetch hard-fails. Open redirects on same-origin paths are otherwise a free SSRF primitive.
1633
- * - **Response size cap**: response body MUST be capped at 1 MiB. Enforce during streaming, not after full buffering. Over-cap hard-fails identically to digest mismatch.
1634
- * - **Timeout**: SDKs SHOULD apply a fetch timeout ≤5 seconds. Timeout SHOULD be treated identically to an HTTP 5xx response (transient — retry policy at the SDK's discretion; on persistent failure surface as unresolved and skip the declaration for this session).
1635
- * - **Digest verification**: SHA-256 of the response body MUST equal `digest`. **Digest mismatch is a hard fail** — the buyer MUST treat the format declaration as unresolvable and MUST NOT validate manifests against the mismatched body. A divergent digest is either a malicious substitution or producer error; either way, falling back to the un-verified body breaks the trust model. Digest format: `sha256:` prefix + 64 lowercase hex characters. Cache key is `uri@digest`; digest mismatch MUST NOT be cached as a negative result keyed on `uri` alone (defeats CDN-flap recovery), and MUST be distinguishable in telemetry from network 5xx / 404 (sustained mismatch is a substitution-attack signal, not a flap).
1636
- * - **Sandboxing of `$ref`**: fetched schemas MAY use `$ref`. Buyers MUST resolve `$ref` only to URIs that are (a) same-origin as the parent `format_schema.uri` after RFC 3986 §6 normalization (lowercase scheme + host, strip default port, normalize path dot-segments, no userinfo component), OR (b) hosted under the AAO catalog domain (`https://creative.adcontextprotocol.org/...`), OR (c) intra-document JSON Pointer refs (`#/...`) bounded to the parent document's parsed tree. Cross-origin `$ref` to arbitrary URIs MUST be rejected. `$ref: file://...` MUST be rejected unconditionally. Transitive `$ref` chains MUST be bounded at depth ≤8 AND `$ref` count ≤256 across the resolved tree (depth 8 with breadth 100 per level is 10^16 nodes — depth alone is not enough). Publishers SHOULD inline rather than $ref where possible.
1637
- * - **Schema-compile bounds (DoS protection)**: validators MUST bound CPU/memory on fetched schemas. Recommended: compiled-schema keyword count ≤10 000, `pattern` regexes evaluated with a non-backtracking engine (re2) OR under a per-pattern timeout, per-manifest validation budget ≤250 ms (exceeded budget → treat manifest as invalid, surface telemetry signal). Without these, a 'valid' schema with catastrophic regex backtracking or exponential `allOf`/`anyOf` expansion pins a CPU forever.
1638
- * - **Cache**: buyers cache fetched schemas by `uri@digest` and treat them as immutable (the same hosting contract as `platform_extensions`). On `404`, network partition, or persistent fetch failure, buyers SHOULD degrade gracefully (treat the declaration as unresolved, skip it for the current `get_products` response, surface via `errors[]` with the relevant code) rather than failing the entire session.
1639
- * - **Schema-not-valid handling**: if the fetched body parses as JSON but is not a valid JSON Schema, the buyer MUST treat the declaration as unresolvable (same as digest mismatch) and surface via `errors[]`. Validators MUST NOT attempt partial validation against an invalid schema.
1640
- * - **AAO catalog trust**: `https://creative.adcontextprotocol.org/*` is a single trust anchor in the same-origin allowlist; compromise of the catalog domain or its CA compromises every buyer agent. Catalog-served bodies MUST be digest-pinned identically to origin fetches (the digest is on the *parent* `format_schema.uri@digest`, not on the catalog response). Future hardening (signed bodies, transparency log) is tracked separately.
1641
- */
1642
- export interface PlatformExtensionReference {
1643
- /**
1644
- * HTTPS URL identifying the extension. `https://` is mandatory — `http://`, `file://`, `data:`, and other schemes are rejected at the schema layer (defense-in-depth on top of the fetch-contract normative rules). The URI base is the owning agent's URL; the path identifies the extension within that agent. Example: 'https://creative.adcontextprotocol.org/translated/meta/extensions/meta_pixel'. The full fetch contract — SSRF allowlist, response-size cap, $ref sandbox, schema-compile bounds — is documented on `product-format-declaration.json#format_schema` and applies to ALL fetches of this reference shape regardless of whether the field is named `format_schema` (load-bearing for validation) or `platform_extensions` (informational); the *transport* rules are identical, only the *consumption* semantics differ.
1645
- * @pattern ^https:\/\/
1646
- */
1647
- uri: string;
1648
- /**
1649
- * SHA-256 content digest of the extension definition (sha256:<hex>). Used to detect drift — if the agent revises the extension, the digest changes and cached definitions become invalid.
1650
- * @pattern ^sha256:[a-f0-9]{64}$
1651
- */
1652
- digest: string;
1653
- }
1654
-
1655
- /**
1656
- * Selects a product-local format option by ID within the enclosing package/product context. This branch deliberately forbids `publisher_domain` (`publisher_domain: false` in the schema) because product-local references are namespaced by the enclosing product only; include `scope: "publisher"` when the selector must cross into a publisher catalog.
1657
- */
1658
- export interface ProductLocalFormatOptionReference {
1659
- /**
1660
- * Reference resolves only against the target product's inline `format_options[]`.
1661
- */
1662
- scope: 'product';
1663
- /**
1664
- * Stable format option ID from the target product's inline `format_options[]`.
1665
- */
1666
- format_option_id: string;
1667
- publisher_domain?: never;
1668
- }
1669
-
1670
- /**
1671
- * Provenance metadata for this asset, overrides manifest-level provenance
1672
- */
1673
- export interface Provenance {
1674
- digital_source_type?: DigitalSourceType;
1675
- /**
1676
- * AI system used to generate or modify this content. Aligns with IPTC 2025.1 AI metadata fields and C2PA claim_generator.
1677
- */
1678
- ai_tool?: {
1679
- /**
1680
- * Name of the AI tool or model (e.g., 'DALL-E 3', 'Stable Diffusion XL', 'Gemini')
1681
- */
1682
- name: string;
1683
- /**
1684
- * Version identifier for the AI tool or model (e.g., '25.1', '0125', '2.1'). For generative models, use the model version rather than the API version.
1685
- */
1686
- version?: string;
1687
- /**
1688
- * Organization that provides the AI tool (e.g., 'OpenAI', 'Stability AI', 'Google')
1689
- */
1690
- provider?: string;
1691
- };
1692
- /**
1693
- * Level of human involvement in the AI-assisted creation process. Independent of `disclosure.required` — the protocol does not derive disclosure obligations from oversight level. Some regulations include carve-outs for human-edited or human-directed AI output, but those carve-outs have factual prerequisites the schema cannot evaluate. Asserting `edited` or `directed` does not by itself justify `disclosure.required: false`.
1694
- */
1695
- human_oversight?: 'none' | 'prompt_only' | 'selected' | 'edited' | 'directed';
1696
- /**
1697
- * Party declaring this provenance. Identifies who attached the provenance claim, enabling receiving parties to assess trust.
1698
- */
1699
- declared_by?: {
1700
- /**
1701
- * URL of the agent or service that declared this provenance
1702
- */
1703
- agent_url?: string;
1704
- /**
1705
- * Role of the declaring party in the supply chain
1706
- */
1707
- role: 'creator' | 'advertiser' | 'agency' | 'platform' | 'tool';
1708
- };
1709
- /**
1710
- * When this provenance claim was made (ISO 8601). Distinct from created_time, which records when the content itself was produced. A provenance claim may be attached well after content creation, for example when retroactively declaring AI involvement for regulatory compliance.
1711
- * @format date-time
1712
- */
1713
- declared_at?: string;
1714
- /**
1715
- * When this content was created or generated (ISO 8601)
1716
- * @format date-time
1717
- */
1718
- created_time?: string;
1719
- /**
1720
- * C2PA sidecar manifest reference. Links to a detached cryptographic provenance manifest for this content. Note: file-level C2PA bindings break when ad servers transcode, resize, or re-encode assets. For pipelines with intermediaries, consider embedded_provenance as the primary provenance mechanism.
1721
- */
1722
- c2pa?: {
1723
- /**
1724
- * URL to the C2PA manifest store for this content
1725
- */
1726
- manifest_url: string;
1727
- };
1728
- /**
1729
- * Provenance metadata embedded within the content stream. Each entry declares one embedding layer: structured provenance data carried inside the content itself, as distinct from sidecar references (c2pa.manifest_url). Embedded provenance survives operations that break sidecar and file-level bindings: ad-server transcoding, CMS ingestion, copy-paste, reformatting, and CDN re-encoding. For ad-tech pipelines where content passes through multiple intermediaries, embedded provenance is the reliable path for provenance that persists from declaration through delivery. This is a declaration by the embedding party. The receiving party (the seller) is the verifier-of-record: it confirms the claim by calling a governance agent it trusts (typically one published in `creative_policy.accepted_verifiers`).
1730
- */
1731
- embedded_provenance?: {
1732
- method: EmbeddedProvenanceMethod;
1733
- /**
1734
- * Standard the embedding conforms to, if any (e.g., 'c2pa' for C2PA Section A.7 text manifest embedding)
1735
- */
1736
- standard?: string;
1737
- /**
1738
- * Organization that performed the embedding (e.g., 'Encypher', 'Digimarc'). Display label and audit context — not a wire identifier.
1739
- */
1740
- provider: string;
1741
- /**
1742
- * Buyer's representation that this embedding can be verified by a governance agent on the seller's `creative_policy.accepted_verifiers` list. The `agent_url` MUST match (canonicalized) one of the seller's published `accepted_verifiers[].agent_url` entries; sellers reject `sync_creatives` submissions whose `verify_agent.agent_url` is off-list with `PROVENANCE_VERIFIER_NOT_ACCEPTED`. This is buyer-supplied evidence, not buyer-driven routing — the seller is the verifier-of-record and the seller controls which agent it actually calls (the seller MAY use a different on-list agent if it determines this is more appropriate; the seller does not call buyer-asserted endpoints outside its allowlist). MAY be omitted for self-verifiable embeddings (e.g., a C2PA text manifest with a public key the seller already trusts).
1743
- */
1744
- verify_agent?: {
1745
- /**
1746
- * URL of the governance agent the buyer represents was used to embed/verify this layer. MUST use the `https://` scheme and MUST appear in the seller's `creative_policy.accepted_verifiers[].agent_url` list (canonicalized per /docs/reference/url-canonicalization: lowercase scheme and host, strip default port, normalize path dot-segments). Sellers MUST NOT call this URL until the canonicalized match is confirmed.
1747
- * @pattern ^https:\/\/
1748
- */
1749
- agent_url: string;
1750
- /**
1751
- * Optional `feature_id` the buyer represents the seller should request via `get_creative_features` (e.g., `encypher.markers_present_v2`). SHOULD match the `feature_id` declared on the matching `accepted_verifiers[]` entry, or be omitted to defer the selector to the seller. When the seller's entry pins a `feature_id`, that value wins; when neither side pins, the seller selects from the agent's `governance.creative_features` catalog.
1752
- */
1753
- feature_id?: string;
1754
- };
1755
- /**
1756
- * When the provenance data was embedded (ISO 8601)
1757
- * @format date-time
1758
- */
1759
- embedded_at?: string;
1760
- }[];
1761
- /**
1762
- * Content watermarks applied to this asset. Each entry declares one watermarking layer: a content modification that encodes an identifier or fingerprint within the asset. Watermarks differ from embedded provenance: a watermark encodes an identifier (who generated it, who owns it), while embedded provenance carries or references a structured provenance record (the full chain of custody). A single asset may carry both. Aligns with C2PA action taxonomy: c2pa.watermarked.bound (watermark linked to a C2PA manifest) and c2pa.watermarked.unbound (watermark independent of any manifest). This is a declaration by the watermarking party. The receiving party (the seller) is the verifier-of-record: it confirms the claim by calling a governance agent it trusts (typically one published in `creative_policy.accepted_verifiers`).
1763
- */
1764
- watermarks?: {
1765
- media_type: WatermarkMediaType;
1766
- /**
1767
- * Organization that applied the watermark (e.g., 'Imatag', 'Steg.AI', 'Encypher'). Display label and audit context — not a wire identifier.
1768
- */
1769
- provider: string;
1770
- /**
1771
- * Buyer's representation that this watermark can be detected by a governance agent on the seller's `creative_policy.accepted_verifiers` list. The `agent_url` MUST match (canonicalized) one of the seller's published `accepted_verifiers[].agent_url` entries; sellers reject `sync_creatives` submissions whose `verify_agent.agent_url` is off-list with `PROVENANCE_VERIFIER_NOT_ACCEPTED`. This is buyer-supplied evidence, not buyer-driven routing — the seller is the verifier-of-record and the seller controls which agent it actually calls (the seller MAY use a different on-list agent if it determines this is more appropriate; the seller does not call buyer-asserted endpoints outside its allowlist).
1772
- */
1773
- verify_agent?: {
1774
- /**
1775
- * URL of the governance agent the buyer represents was used to apply/detect this watermark. MUST use the `https://` scheme and MUST appear in the seller's `creative_policy.accepted_verifiers[].agent_url` list (canonicalized per /docs/reference/url-canonicalization: lowercase scheme and host, strip default port, normalize path dot-segments). Sellers MUST NOT call this URL until the canonicalized match is confirmed.
1776
- * @pattern ^https:\/\/
1777
- */
1778
- agent_url: string;
1779
- /**
1780
- * Optional `feature_id` the buyer represents the seller should request via `get_creative_features` (e.g., `imatag.watermark_detected`). SHOULD match the `feature_id` declared on the matching `accepted_verifiers[]` entry, or be omitted to defer the selector to the seller. When the seller's entry pins a `feature_id`, that value wins; when neither side pins, the seller selects from the agent's `governance.creative_features` catalog.
1781
- */
1782
- feature_id?: string;
1783
- };
1784
- c2pa_action?: C2PAWatermarkAction;
1785
- /**
1786
- * When the watermark was applied (ISO 8601)
1787
- * @format date-time
1788
- */
1789
- embedded_at?: string;
1790
- }[];
1791
- /**
1792
- * Regulatory disclosure requirements for this content. Indicates whether AI disclosure is required and under which jurisdictions.
1793
- */
1794
- disclosure?: {
1795
- /**
1796
- * The declaring party's claim that AI disclosure is required for this content under applicable regulations. This is a declared signal carried through the supply chain — useful as a routing and audit input — not a regulatory determination made by the protocol. Receiving parties remain responsible for their own jurisdictional analysis and should not treat `required: false` as compliance cover.
1797
- */
1798
- required: boolean;
1799
- /**
1800
- * Jurisdictions where disclosure obligations apply
1801
- */
1802
- jurisdictions?: {
1803
- /**
1804
- * ISO 3166-1 alpha-2 country code (e.g., 'US', 'DE', 'CN')
1805
- */
1806
- country: string;
1807
- /**
1808
- * Sub-national region code (e.g., 'CA' for California, 'BY' for Bavaria)
1809
- */
1810
- region?: string;
1811
- /**
1812
- * Regulation identifier (e.g., 'eu_ai_act_article_50', 'ca_sb_942', 'cn_deep_synthesis')
1813
- */
1814
- regulation: string;
1815
- /**
1816
- * Required disclosure label text for this jurisdiction, in the local language
1817
- */
1818
- label_text?: string;
1819
- /**
1820
- * How the disclosure should be rendered for this jurisdiction. Expresses the declaring party's intent for persistence and position based on regulatory requirements. Publishers control actual rendering but governance agents can audit whether guidance was followed.
1821
- */
1822
- render_guidance?: {
1823
- persistence?: DisclosurePersistence;
1824
- /**
1825
- * Minimum display duration in milliseconds for initial persistence. Recommended when persistence is initial — without it, the duration is at the publisher's discretion. At serve time the publisher reads this from provenance since the brief is not available.
1826
- * @minimum 1
1827
- */
1828
- min_duration_ms?: number;
1829
- /**
1830
- * Preferred disclosure positions in priority order. The first position a format supports should be used.
1831
- */
1832
- positions?: DisclosurePosition[];
1833
- ext?: ExtensionObject;
1834
- };
1835
- }[];
1836
- };
1837
- /**
1838
- * Third-party verification or detection results for this content. Multiple services may independently evaluate the same content. Provenance is a claim — verification results attached by the declaring party are supplementary. The enforcing party (e.g., seller/publisher) should run its own verification via get_creative_features or calibrate_content.
1839
- */
1840
- verification?: {
1841
- /**
1842
- * Name of the verification service (e.g., 'DoubleVerify', 'Hive Moderation', 'Reality Defender')
1843
- */
1844
- verified_by: string;
1845
- /**
1846
- * When the verification was performed (ISO 8601)
1847
- * @format date-time
1848
- */
1849
- verified_time?: string;
1850
- /**
1851
- * Verification outcome
1852
- */
1853
- result: 'authentic' | 'ai_generated' | 'ai_modified' | 'inconclusive';
1854
- /**
1855
- * Confidence score of the verification result (0.0 to 1.0)
1856
- * @minimum 0
1857
- * @maximum 1
1858
- */
1859
- confidence?: number;
1860
- /**
1861
- * URL to the full verification report
1862
- */
1863
- details_url?: string;
1864
- }[];
1865
- ext?: ExtensionObject;
1866
- }
1867
-
1868
- /**
1869
- * Reference to an already-published post on a publisher, creator, or social platform. The buyer supplies a reference to the existing post; the seller resolves, authorizes, reviews, and serves the referenced post according to the target product's format declaration. This asset is for post references, not uploaded bytes and not catalog rows.
1870
- */
1871
- export interface PublishedPostAsset {
1872
- /**
1873
- * Discriminator identifying this as a published-post reference asset. See /schemas/creative/asset-types for the registry.
1874
- */
1875
- asset_type: 'published_post';
1876
- /**
1877
- * Canonical URL for the published post. Preferred when the platform exposes a stable public or authenticated URL.
1878
- */
1879
- post_url?: string;
1880
- /**
1881
- * Optional platform or publisher namespace for the referenced post. Informational unless the seller's product declaration or platform extension narrows the accepted values.
1882
- */
1883
- platform?: string;
1884
- /**
1885
- * Optional platform-native post identifier when a URL alone is not stable or not available. Buyers SHOULD include `platform` when using `platform_post_id` without `post_url`, unless the product or format declaration already narrows the platform. Platform-specific identifier semantics belong in platform_extensions; this field is only an opaque reference.
1886
- */
1887
- platform_post_id?: string;
1888
- /**
1889
- * Optional identity hint for the authoring handle/page/channel that owns the post. Sellers MUST verify authorization from platform state; buyers MUST NOT use this object as proof of authorization.
1890
- */
1891
- identity_ref?: {
1892
- /**
1893
- * Human-readable handle or username when available.
1894
- */
1895
- handle?: string;
1896
- /**
1897
- * URL for the authoring profile, page, or channel.
1898
- */
1899
- profile_url?: string;
1900
- /**
1901
- * Opaque platform-native identity identifier.
1902
- */
1903
- platform_identity_id?: string;
1904
- };
1905
- /**
1906
- * When the referenced post was originally published, if known.
1907
- * @format date-time
1908
- */
1909
- published_at?: string;
1910
- /**
1911
- * Server-emitted, seller-observed authorization state for the referenced post or identity. Sellers MAY return this object on read surfaces. On write requests, sellers MUST ignore buyer-supplied `reference_authorization.status` and other authorization-state claims unless a platform extension explicitly defines a signed proof shape and the seller verifies that proof.
1912
- */
1913
- reference_authorization?: {
1914
- /**
1915
- * Current seller-observed authorization state. `authorized`: seller can serve the referenced post. `pending`: additional creator/account action is required. `expired` or `revoked`: authorization previously existed but no longer permits serving. `not_required`: the seller can legally and technically serve without a separate identity authorization. `unknown`: seller has not checked or cannot disclose the state.
1916
- */
1917
- status: 'authorized' | 'pending' | 'expired' | 'revoked' | 'not_required' | 'unknown';
1918
- /**
1919
- * When the seller last checked the authorization state.
1920
- * @format date-time
1921
- */
1922
- checked_at?: string;
1923
- /**
1924
- * When the authorization expires, if the platform exposes an expiry.
1925
- * @format date-time
1926
- */
1927
- expires_at?: string;
1928
- /**
1929
- * Optional URL the buyer or creator can use to complete authorization.
1930
- */
1931
- authorization_url?: string;
1932
- /**
1933
- * Human-readable instructions for completing or restoring authorization.
1934
- */
1935
- authorization_instructions?: string;
1936
- };
1937
- provenance?: Provenance;
1938
- }
1939
-
1940
- /**
1941
- * Selects a publisher-catalog-backed product format option by publisher domain and format option ID.
1942
- */
1943
- export interface PublisherCatalogFormatOptionReference {
1944
- /**
1945
- * Reference resolves against the named publisher's adagents.json top-level `formats[]` catalog.
1946
- */
1947
- scope: 'publisher';
1948
- /**
1949
- * Publisher domain where the adagents.json declaring this format option is hosted.
1950
- * @pattern ^[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$
1951
- */
1952
- publisher_domain: string;
1953
- /**
1954
- * Stable format option ID from the publisher's adagents.json top-level `formats[]`, matching a publisher-catalog-backed entry in the target product's `format_options[]`.
1955
- */
1956
- format_option_id: string;
1957
- }
1958
-
1959
- /**
1960
- * Optional webhook configuration for async terminal completion/failure notifications on curated discovery. Meaningful only for `buying_mode: "brief"` and `buying_mode: "refine"` requests that enter the async lifecycle. Submitted envelopes with `task_id` remain pollable through `get_task_status` (legacy `tasks/get`) whether or not this field is present. If a brief/refine request includes this field and the seller returns a Submitted envelope, the seller MUST deliver at least the terminal completion/failure notification to the configured URL; intermediate progress notifications are MAY. If the seller cannot honor the webhook channel, it MUST reject the request with a structured error instead of silently accepting. This field does not change wholesale timing semantics: sellers MUST NOT route `buying_mode: "wholesale"` requests through the async/Submitted arm or emit async delivery solely because `push_notification_config` is present; partial wholesale completion is reported via `incomplete[]`.
1961
- */
1962
- export interface PushNotificationConfig {
1963
- /**
1964
- * Webhook endpoint URL for task status notifications. The wire contract is unconstrained beyond `format: "uri"` — in particular, publishers SHOULD NOT enforce a destination-port allowlist by default, since buyers legitimately host receivers on non-standard TLS ports (`:9443`, `:4443`, path-routed multi-tenant gateways). The SSRF guard the protocol relies on is the IP-range check + DNS-rebinding-resistant connect pin defined in [Webhook URL validation (SSRF)](/docs/building/by-layer/L1/security#webhook-url-validation-ssrf), not port filtering. Operators who want a hardened destination-port allowlist as defense-in-depth (e.g., locked-down enterprise egress) opt in explicitly — see [Destination port: permissive by default](/docs/building/by-layer/L1/security#destination-port-permissive-by-default).
1965
- */
1966
- url: string;
1967
- /**
1968
- * Buyer-supplied correlation identifier for the operation that will produce webhooks against this registration. The seller MUST echo this value verbatim into every webhook payload's `operation_id` field (see [`mcp-webhook-payload.json`](/schemas/core/mcp-webhook-payload.json) and [Webhooks — Operation IDs](/docs/building/by-layer/L3/webhooks#operation-ids-and-url-templates)). Buyers SHOULD generate a unique value per task invocation (UUID recommended). This field is the canonical registration channel for `operation_id`; buyers MAY additionally embed routing values in the URL path or query as an aid for their own HTTP server, but the URL is opaque to the seller and the wire-level source of truth is this field. Sellers MUST NOT parse the URL to recover `operation_id`. Sellers that receive a webhook registration without `operation_id` MAY reject the task with `INVALID_REQUEST`.
1969
- * @minLength 1
1970
- * @maxLength 255
1971
- * @pattern ^[A-Za-z0-9_.:-]{1,255}$
1972
- */
1973
- operation_id?: string;
1974
- /**
1975
- * Optional client-provided token for webhook validation. The seller MUST echo this value verbatim in every webhook payload's `token` field (see [`mcp-webhook-payload.json`](/schemas/core/mcp-webhook-payload.json) for the receiver-side validation obligation). Length bounds give receivers a defensive range check on the echoed value; senders SHOULD generate tokens with at least 128 bits of entropy (≥22 base64url characters). This is a complementary authenticity mechanism that can layer on top of the RFC 9421 webhook signature — unlike the `authentication` block below, it is not on the 4.0 removal track. Receivers that registered both a signing key (RFC 9421) and a `token` MUST NOT treat a valid token echo as authorization to skip signature verification; both checks remain independent obligations.
1976
- * @minLength 16
1977
- * @maxLength 4096
1978
- */
1979
- token?: string;
1980
- /**
1981
- * Legacy authentication configuration (A2A-compatible). Opts the seller into Bearer or HMAC-SHA256 signing instead of the default RFC 9421 webhook profile. Deprecated; removed in AdCP 4.0. **Precedence is a switch, not a fallback:** presence of this block selects the legacy scheme; absence selects 9421. A seller MUST NOT sign the same webhook both ways, and a buyer MUST NOT attempt 'try 9421 first, fall back to HMAC' verification — signature mode is determined solely by whether this block was present at registration time. The seller's baseline 9421 webhook key is published at its brand.json `agents[]` `jwks_uri` using `adcp_use: "request-signing"` (deprecated `webhook-signing` keys remain accepted during the compatibility window); it does not override this selector and is only used when `authentication` is omitted. See docs/building/by-layer/L1/security.mdx#webhook-callbacks for the full precedence and downgrade-resistance rules (including the `webhook_mode_mismatch` rejection a buyer MUST apply when a received webhook's signing mode does not match the registered mode).
1982
- */
1983
- authentication?: {
1984
- /**
1985
- * Array of authentication schemes. Supported: ['Bearer'] for simple token auth, ['HMAC-SHA256'] for legacy shared-secret signing. Both are deprecated; new integrations SHOULD omit `authentication` and use the RFC 9421 webhook profile.
1986
- */
1987
- schemes: AuthenticationScheme[];
1988
- /**
1989
- * Credentials for the legacy scheme. For Bearer: token sent in Authorization header. For HMAC-SHA256: shared secret used to generate signature. Minimum 32 characters. Exchanged out-of-band during onboarding.
1990
- * @minLength 32
1991
- */
1992
- credentials: string;
1993
- };
1994
- }
1995
-
1996
- /**
1997
- * A reference asset that provides creative context. Carries visual materials (mood boards, product shots, example creatives) with semantic roles that tell creative agents how to use them.
1998
- */
1999
- export interface ReferenceAsset {
2000
- /**
2001
- * URL to the reference asset (image, video, or document)
2002
- */
2003
- url: string;
2004
- /**
2005
- * How the creative agent should use this asset. style_reference: match the visual style; product_shot: include this product; mood_board: overall look and feel; example_creative: example of a similar execution; logo: logo to use; strategy_doc: strategy or planning document for context; storyboard: sequential visual direction for video or multi-scene creative
2006
- */
2007
- role: 'style_reference' | 'product_shot' | 'mood_board' | 'example_creative' | 'logo' | 'strategy_doc' | 'storyboard';
2008
- /**
2009
- * Human-readable description of the asset and how it should inform creative generation
2010
- */
2011
- description?: string;
2012
- }
2013
-
2014
- /**
2015
- * Video scan method. Modern digital delivery requires progressive scan; interlaced is retained for broadcast legacy content.
2016
- */
2017
- export type ScanType = 'progressive' | 'interlaced';
2018
-
2019
- /**
2020
- * Current task execution state. Indicates whether the task is completed, in progress (working), submitted for async processing, failed, or requires user input. REQUIRED on every task response envelope. Synchronous tasks (including read-only metadata calls like `get_adcp_capabilities`) MUST emit `status: "completed"`; async tasks emit `submitted`, `working`, `input-required`, etc. per their lifecycle. Agents MUST NOT emit the legacy task_status or response_status fields alongside this field — the status field is the single authoritative task state.
2021
- */
2022
- export type TaskStatus = 'submitted' | 'working' | 'input-required' | 'completed' | 'canceled' | 'failed' | 'rejected' | 'auth-required' | 'unknown';
2023
-
2024
- /**
2025
- * Text content asset
2026
- */
2027
- export interface TextAsset {
2028
- /**
2029
- * Discriminator identifying this as a text asset. See /schemas/creative/asset-types for the registry.
2030
- */
2031
- asset_type: 'text';
2032
- /**
2033
- * Text content
2034
- */
2035
- content: string;
2036
- /**
2037
- * Language code (e.g., 'en', 'es', 'fr')
2038
- */
2039
- language?: string;
2040
- provenance?: Provenance;
2041
- }
2042
-
2043
- /**
2044
- * URL reference asset. `url_type` declares the mechanism a receiver uses to invoke the URL (clickthrough vs. tracker_pixel vs. tracker_script) and is distinct from the URL's purpose, which the format declares in `url-asset-requirements.role` (clickthrough, landing_page, impression_tracker, click_tracker, viewability_tracker, third_party_tracker). Senders SHOULD include `url_type` on every URL asset. When `url_type` is absent, receivers SHOULD fall back to the format's `url-asset-requirements.role` per this mapping: clickthrough/landing_page → `clickthrough`; impression_tracker/click_tracker → `tracker_pixel`; viewability_tracker → `tracker_script` (OMID and equivalent verification SDKs require a <script> tag — firing them as a pixel produces no measurement); third_party_tracker → no safe fallback (mechanism is integration-specific — DV/IAS ship both pixel and script forms — receivers MAY reject or warn). When neither `url_type` nor a format-side `role` is available, receivers MUST NOT silently pick a mechanism; they SHOULD reject the manifest. Note: VAST/DAAST tag URLs are not URL assets — use `asset_type: "vast"` (or the dedicated tracker types pending RFC #2915), not `asset_type: "url"` with a tracker_pixel mechanism.
2045
- */
2046
- export interface URLAsset {
2047
- /**
2048
- * Discriminator identifying this as a URL asset. See /schemas/creative/asset-types for the registry.
2049
- */
2050
- asset_type: 'url';
2051
- /**
2052
- * URL reference. May be a plain URI or an RFC 6570 URI template carrying AdCP universal macros (e.g., `{SKU}`, `{MEDIA_BUY_ID}`). Buyers MUST NOT pre-encode macro braces at sync time; the ad server URL-encodes substituted values at impression time. See docs/creative/universal-macros.mdx.
2053
- */
2054
- url: string;
2055
- url_type?: URLAssetType;
2056
- /**
2057
- * Description of what this URL points to
2058
- */
2059
- description?: string;
2060
- provenance?: Provenance;
2061
- }
2062
-
2063
- /**
2064
- * Mechanism a receiver uses to invoke this URL (distinct from purpose, which lives in `url-asset-requirements.role`): `clickthrough` for user click destination (landing page), `tracker_pixel` for impression/event tracking via HTTP request (fires GET, expects pixel/204 response), `tracker_script` for measurement SDKs that must load as a <script> tag (OMID verification, native event trackers using method:2). SHOULD be present on every URL asset; senders that omit it force the receiver into the role-based fallback described in this schema's top-level description.
2065
- */
2066
- export type URLAssetType = 'clickthrough' | 'tracker_pixel' | 'tracker_script';
2067
-
2068
- /**
2069
- * Standardized macro placeholders for dynamic value substitution in creative tracking URLs. Macros are replaced with actual values at impression time. See docs/creative/universal-macros.mdx for detailed documentation.
2070
- */
2071
- export type UniversalMacro = 'MEDIA_BUY_ID' | 'PACKAGE_ID' | 'CREATIVE_ID' | 'CACHEBUSTER' | 'TIMESTAMP' | 'CLICK_URL' | 'GDPR' | 'GDPR_CONSENT' | 'US_PRIVACY' | 'GPP_STRING' | 'GPP_SID' | 'IP_ADDRESS' | 'LIMIT_AD_TRACKING' | 'DEVICE_TYPE' | 'OS' | 'OS_VERSION' | 'DEVICE_MAKE' | 'DEVICE_MODEL' | 'USER_AGENT' | 'APP_BUNDLE' | 'APP_NAME' | 'COUNTRY' | 'REGION' | 'CITY' | 'ZIP' | 'DMA' | 'LAT' | 'LONG' | 'DEVICE_ID' | 'DEVICE_ID_TYPE' | 'DOMAIN' | 'PAGE_URL' | 'REFERRER' | 'KEYWORDS' | 'PLACEMENT_ID' | 'FOLD_POSITION' | 'AD_WIDTH' | 'AD_HEIGHT' | 'VIDEO_ID' | 'VIDEO_TITLE' | 'VIDEO_DURATION' | 'VIDEO_CATEGORY' | 'CONTENT_GENRE' | 'CONTENT_RATING' | 'PLAYER_WIDTH' | 'PLAYER_HEIGHT' | 'POD_POSITION' | 'POD_SIZE' | 'AD_BREAK_ID' | 'STATION_ID' | 'COLLECTION_NAME' | 'INSTALLMENT_ID' | 'AUDIO_DURATION' | 'TMPX' | 'IMPRESSION_ID' | 'AXEM' | 'CATALOG_ID' | 'SKU' | 'GTIN' | 'OFFERING_ID' | 'JOB_ID' | 'HOTEL_ID' | 'FLIGHT_ID' | 'VEHICLE_ID' | 'LISTING_ID' | 'STORE_ID' | 'PROGRAM_ID' | 'DESTINATION_ID' | 'CREATIVE_VARIANT_ID' | 'APP_ITEM_ID' | 'ITEM_NAME' | 'ITEM_DESCRIPTION' | 'ITEM_TAGLINE' | 'ITEM_PRICE' | 'ITEM_PRICE_CURRENCY';
2072
-
2073
- /**
2074
- * How often the platform should re-fetch the feed from url. Only applicable when url is provided. Platforms may use this as a hint for polling schedules.
2075
- */
2076
- export type UpdateFrequency = 'realtime' | 'hourly' | 'daily' | 'weekly';
2077
-
2078
- /**
2079
- * VAST (Video Ad Serving Template) tag for third-party video ad serving. Unlike the hosted `video` asset, a VAST tag carries no `width`/`height`: a VAST response can return multiple renditions of differing dimensions, and the player selects one per device at serve time, so there is no single width/height for the ad. Dimensional, duration, and codec *constraints* for a placement live on the format/requirements layer, not on this asset.
2080
- */
2081
- export type VASTAsset = {
2082
- /**
2083
- * Discriminator identifying this as a VAST asset. See /schemas/creative/asset-types for the registry.
2084
- */
2085
- asset_type: 'vast';
2086
- vast_version?: VASTVersion;
2087
- /**
2088
- * Whether VPAID (Video Player-Ad Interface Definition) is supported
2089
- */
2090
- vpaid_enabled?: boolean;
2091
- /**
2092
- * Expected video duration in milliseconds (if known)
2093
- * @minimum 0
2094
- */
2095
- duration_ms?: number;
2096
- /**
2097
- * Tracking events supported by this VAST tag
2098
- */
2099
- tracking_events?: VASTTrackingEvent[];
2100
- /**
2101
- * URL to captions file (WebVTT, SRT, etc.)
2102
- */
2103
- captions_url?: string;
2104
- /**
2105
- * URL to audio description track for visually impaired users
2106
- */
2107
- audio_description_url?: string;
2108
- provenance?: Provenance;
2109
- } & ({
2110
- /**
2111
- * Discriminator indicating VAST is delivered via URL endpoint
2112
- */
2113
- delivery_type: 'url';
2114
- /**
2115
- * URL endpoint that returns VAST XML. May carry unsubstituted ad-server macros — VAST-style `[MACRO]` and `${MACRO}` placeholders are accepted as-is (RFC 6570 syntax); buyers MUST NOT pre-encode macro delimiters, since players match the literal token at substitution time.
2116
- */
2117
- url: string;
2118
- } | {
2119
- /**
2120
- * Discriminator indicating VAST is delivered as inline XML content
2121
- */
2122
- delivery_type: 'inline';
2123
- /**
2124
- * Inline VAST XML content
2125
- */
2126
- content: string;
2127
- });
2128
-
2129
- /**
2130
- * A single tracker URL bound to a VAST `TrackingEvents` event. Emitted by the creative agent as a decomposed VAST-event URL; the sales agent assembles these into the VAST `TrackingEvents` block at serve time. IMPORTANT: this asset type is for `TrackingEvents` URLs only (start, quartiles, complete, pause, mute, etc.). The `Impression` URL MUST be modeled as a `url` asset with `url_type: "tracker_pixel"`, not as a vast_tracker with `vast_event: "impression"`. Decomposed trackers let format requirements bind specific measurement events (e.g., MRC viewable) without forcing the buyer to construct a full VAST tag.
2131
- */
2132
- export interface VASTTrackerAsset {
2133
- /**
2134
- * Discriminator identifying this as a VAST tracker asset. See /schemas/creative/asset-types for the registry.
2135
- */
2136
- asset_type: 'vast_tracker';
2137
- /**
2138
- * The VAST tracking event this URL fires on. Maps 1:1 to the VAST `Tracking event="..."` attribute inside `TrackingEvents`. MUST NOT be `impression` (belongs in the VAST `Impression` element — model as a `url` asset with `url_type: "tracker_pixel"`), `clickTracking` / `customClick` (belong in `VideoClicks`), `error` (VAST `Error` element), or any of `viewable` / `notViewable` / `viewUndetermined` / `measurableImpression` / `viewableImpression` (children of the VAST `ViewableImpression` element, not `TrackingEvents`).
2139
- */
2140
- vast_event: VASTTrackingEvent;
2141
- /**
2142
- * Tracker URL that fires when `vast_event` occurs. May carry AdCP universal macros (e.g., `{SKU}`, `{MEDIA_BUY_ID}`); the sales agent or ad server URL-encodes substituted values at serve time. See docs/creative/universal-macros.mdx.
2143
- */
2144
- url: string;
2145
- /**
2146
- * VAST `offset` attribute. Required when `vast_event` is `progress`; ignored otherwise. Format matches the VAST 4.2 XSD `Tracking@offset` pattern: `HH:MM:SS` or `HH:MM:SS.mmm` for absolute time (two-digit hours, minutes 00–59, seconds 00–59), or an integer percentage 0–100 suffixed with `%`. Negative offsets are NOT permitted — the VAST 4.2 XSD pattern does not allow a leading minus.
2147
- * @pattern ^(\d{2}:[0-5]\d:[0-5]\d(\.\d{3})?|(100|\d{1,2})%)$
2148
- */
2149
- offset?: string;
2150
- /**
2151
- * Which VAST creative element this tracker scopes to — `linear` for `<Linear>/<TrackingEvents>`, `non_linear` for `<NonLinearAds>/<TrackingEvents>`, `companion` for `<CompanionAds>/<Companion>/<TrackingEvents>`. VAST 4.2 places these under separate XML elements with separate event semantics (e.g., `acceptInvitation` is meaningful on non-linear / companion; `closeLinear` only on linear). Defaults to `linear`. Sales agents use this to place the tracker in the correct location during VAST assembly.
2152
- */
2153
- target?: 'linear' | 'non_linear' | 'companion';
2154
- provenance?: Provenance;
2155
- }
2156
-
2157
- /**
2158
- * Tracking events for video ads. Includes the IAB VAST 4.2 `Tracking@event` enumeration (vast_4.2.xsd `TrackingEvents_type`, lines 112–136), plus AdCP-flattened representations of the `Impression`, `Error`, `VideoClicks`, and `ViewableImpression` elements (which live in dedicated VAST elements, not under `<TrackingEvents>` — they are surfaced here so a single declared list can cover everything a measurement vendor wants to track). `fullscreen` / `exitFullscreen` are retained for VAST 2.x / 3.x compatibility (VAST 4.0+ replaced them with `playerExpand` / `playerCollapse`). `measurableImpression` is an AdCP extension for MRC measurability signals.
2159
- */
2160
- export type VASTTrackingEvent = 'impression' | 'creativeView' | 'loaded' | 'start' | 'firstQuartile' | 'midpoint' | 'thirdQuartile' | 'complete' | 'mute' | 'unmute' | 'pause' | 'resume' | 'rewind' | 'skip' | 'playerExpand' | 'playerCollapse' | 'fullscreen' | 'exitFullscreen' | 'progress' | 'acceptInvitation' | 'adExpand' | 'adCollapse' | 'minimize' | 'overlayViewDuration' | 'otherAdInteraction' | 'interactiveStart' | 'clickTracking' | 'customClick' | 'close' | 'closeLinear' | 'error' | 'viewable' | 'notViewable' | 'viewUndetermined' | 'measurableImpression' | 'viewableImpression';
2161
-
2162
- /**
2163
- * VAST specification version
2164
- */
2165
- export type VASTVersion = '2.0' | '3.0' | '4.0' | '4.1' | '4.2';
2166
-
2167
- /**
2168
- * Validation strictness. 'strict' fails entire sync on any validation error. 'lenient' processes valid catalogs and reports errors.
2169
- */
2170
- export type ValidationMode = 'strict' | 'lenient';
2171
-
2172
- /**
2173
- * A hosted video file delivered directly (e.g., an MP4 you host), with URL and technical specifications including audio track properties. `width` and `height` are required because a hosted video file has intrinsic, native pixel dimensions that are known when the file is created. Tag-delivered video uses the separate `vast` asset, which carries no `width`/`height`: a VAST response resolves geometry per-`MediaFile` at serve time, so there is no single width/height for the ad. Aspect-ratio and size *constraints* (what a placement accepts) belong on the format/requirements layer, not on the asset.
2174
- */
2175
- export interface VideoAsset {
2176
- /**
2177
- * Discriminator identifying this as a video asset. See /schemas/creative/asset-types for the registry.
2178
- */
2179
- asset_type: 'video';
2180
- /**
2181
- * URL to the video asset
2182
- */
2183
- url: string;
2184
- /**
2185
- * Width in pixels — the video file's intrinsic native width. Required: a hosted file always has concrete dimensions. (Tag-delivered video carries no width; see the `vast` asset.)
2186
- * @minimum 1
2187
- */
2188
- width: number;
2189
- /**
2190
- * Height in pixels — the video file's intrinsic native height. Required: a hosted file always has concrete dimensions. (Tag-delivered video carries no height; see the `vast` asset.)
2191
- * @minimum 1
2192
- */
2193
- height: number;
2194
- /**
2195
- * Video duration in milliseconds
2196
- * @minimum 1
2197
- */
2198
- duration_ms?: number;
2199
- /**
2200
- * File size in bytes
2201
- * @minimum 1
2202
- */
2203
- file_size_bytes?: number;
2204
- /**
2205
- * Video container format (mp4, webm, mov, etc.)
2206
- */
2207
- container_format?: string;
2208
- /**
2209
- * Video codec used (h264, h265, vp9, av1, prores, etc.)
2210
- */
2211
- video_codec?: string;
2212
- /**
2213
- * Video stream bitrate in kilobits per second
2214
- * @minimum 1
2215
- */
2216
- video_bitrate_kbps?: number;
2217
- /**
2218
- * Frame rate as string to preserve precision (e.g., '23.976', '29.97', '30')
2219
- */
2220
- frame_rate?: string;
2221
- frame_rate_type?: FrameRateType;
2222
- scan_type?: ScanType;
2223
- /**
2224
- * Color space of the video
2225
- */
2226
- color_space?: 'rec709' | 'rec2020' | 'rec2100' | 'srgb' | 'dci_p3';
2227
- /**
2228
- * HDR format if applicable, or 'sdr' for standard dynamic range
2229
- */
2230
- hdr_format?: 'sdr' | 'hdr10' | 'hdr10_plus' | 'hlg' | 'dolby_vision';
2231
- /**
2232
- * Chroma subsampling format
2233
- */
2234
- chroma_subsampling?: '4:2:0' | '4:2:2' | '4:4:4';
2235
- /**
2236
- * Video bit depth
2237
- */
2238
- video_bit_depth?: 8 | 10 | 12;
2239
- /**
2240
- * GOP/keyframe interval in seconds
2241
- */
2242
- gop_interval_seconds?: number;
2243
- gop_type?: GOPType;
2244
- moov_atom_position?: MoovAtomPosition;
2245
- /**
2246
- * Whether the video contains an audio track
2247
- */
2248
- has_audio?: boolean;
2249
- /**
2250
- * Audio codec used (aac, aac_lc, he_aac, pcm, mp3, ac3, eac3, etc.)
2251
- */
2252
- audio_codec?: string;
2253
- /**
2254
- * Audio sampling rate in Hz (e.g., 44100, 48000)
2255
- */
2256
- audio_sampling_rate_hz?: number;
2257
- audio_channels?: AudioChannelLayout;
2258
- /**
2259
- * Audio bit depth
2260
- */
2261
- audio_bit_depth?: 16 | 24 | 32;
2262
- /**
2263
- * Audio bitrate in kilobits per second
2264
- * @minimum 1
2265
- */
2266
- audio_bitrate_kbps?: number;
2267
- /**
2268
- * Integrated loudness in LUFS
2269
- */
2270
- audio_loudness_lufs?: number;
2271
- /**
2272
- * True peak level in dBFS
2273
- */
2274
- audio_true_peak_dbfs?: number;
2275
- /**
2276
- * URL to captions file (WebVTT, SRT, etc.)
2277
- */
2278
- captions_url?: string;
2279
- /**
2280
- * URL to text transcript of the video content
2281
- */
2282
- transcript_url?: string;
2283
- /**
2284
- * URL to audio description track for visually impaired users
2285
- */
2286
- audio_description_url?: string;
2287
- provenance?: Provenance;
2288
- }
2289
-
2290
- /**
2291
- * Media category of the watermarked content
2292
- */
2293
- export type WatermarkMediaType = 'audio' | 'image' | 'video' | 'text';
2294
-
2295
- /**
2296
- * Webhook for server-side dynamic content rendering (DCO)
2297
- */
2298
- export interface WebhookAsset {
2299
- /**
2300
- * Discriminator identifying this as a webhook asset. See /schemas/creative/asset-types for the registry.
2301
- */
2302
- asset_type: 'webhook';
2303
- /**
2304
- * Webhook URL to call for dynamic content
2305
- */
2306
- url: string;
2307
- method?: HTTPMethod;
2308
- /**
2309
- * Maximum time to wait for response in milliseconds
2310
- * @minimum 10
2311
- * @maximum 5000
2312
- */
2313
- timeout_ms?: number;
2314
- /**
2315
- * Universal macros that can be passed to webhook (e.g., DEVICE_TYPE, COUNTRY). See docs/creative/universal-macros.mdx for full list.
2316
- */
2317
- supported_macros?: (UniversalMacro | string)[];
2318
- /**
2319
- * Universal macros that must be provided for webhook to function
2320
- */
2321
- required_macros?: (UniversalMacro | string)[];
2322
- response_type: WebhookResponseType;
2323
- /**
2324
- * Security configuration for webhook calls
2325
- */
2326
- security: {
2327
- method: WebhookSecurityMethod;
2328
- /**
2329
- * Header name for HMAC signature (e.g., 'X-Signature')
2330
- */
2331
- hmac_header?: string;
2332
- /**
2333
- * Header name for API key (e.g., 'X-API-Key')
2334
- */
2335
- api_key_header?: string;
2336
- };
2337
- provenance?: Provenance;
2338
- }
2339
-
2340
- /**
2341
- * Expected content type of webhook response
2342
- */
2343
- export type WebhookResponseType = 'html' | 'json' | 'xml' | 'javascript';
2344
-
2345
- /**
2346
- * Authentication method
2347
- */
2348
- export type WebhookSecurityMethod = 'hmac_sha256' | 'api_key' | 'none';
2349
-
2350
- /**
2351
- * Bundled creative asset delivered as a zip archive — typically an HTML5 banner with index.html plus supporting CSS, JS, images, and fonts. Receivers unpack the zip, validate internal structure, and serve contents from CDN. Distinct from inline HTML (html asset) and from third-party tag URLs (url asset with url_type tracker_script).
2352
- */
2353
- export interface ZipAsset {
2354
- /**
2355
- * Discriminator identifying this as a zip-bundled asset. See /schemas/creative/asset-types for the registry.
2356
- */
2357
- asset_type: 'zip';
2358
- /**
2359
- * URL where the zip archive is hosted. Must be HTTPS.
2360
- */
2361
- url: string;
2362
- /**
2363
- * Maximum file size in kilobytes. Receivers should reject zips exceeding this.
2364
- * @minimum 0
2365
- */
2366
- max_file_size_kb?: number;
2367
- /**
2368
- * Relative path to the entry file within the zip (typically 'index.html'). Receivers default to 'index.html' if absent.
2369
- */
2370
- entry_point?: string;
2371
- /**
2372
- * File extensions permitted inside the zip (e.g., ['html', 'css', 'js', 'png', 'jpg', 'svg', 'webp', 'json', 'woff2']). Receivers may reject zips containing other extensions.
2373
- */
2374
- allowed_inner_extensions?: string[];
2375
- /**
2376
- * Fallback image URL for environments that cannot render the bundled creative (e.g., non-HTML5 endpoints, ad blockers). Recommended for HTML5 banners.
2377
- */
2378
- backup_image_url?: string;
2379
- /**
2380
- * Optional SHA-256 content digest of the zip archive (sha256:<hex>) for integrity verification. Lets receivers detect tampered or stale archives.
2381
- * @pattern ^sha256:[a-f0-9]{64}$
2382
- */
2383
- digest?: string;
2384
- /**
2385
- * Self-declared accessibility properties for this opaque creative
2386
- */
2387
- accessibility?: {
2388
- /**
2389
- * Text alternative describing the creative content
2390
- */
2391
- alt_text?: string;
2392
- /**
2393
- * Whether the creative can be fully operated via keyboard
2394
- */
2395
- keyboard_navigable?: boolean;
2396
- /**
2397
- * Whether the creative respects prefers-reduced-motion or provides pause/stop controls
2398
- */
2399
- motion_control?: boolean;
2400
- /**
2401
- * Whether the creative has been tested with screen readers
2402
- */
2403
- screen_reader_tested?: boolean;
2404
- };
2405
- provenance?: Provenance;
2406
- }