@adcp/sdk 6.6.0 → 6.8.0

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 (1218) hide show
  1. package/ADCP_VERSION +1 -1
  2. package/AGENTS.md +4 -0
  3. package/README.md +29 -16
  4. package/bin/adcp-resolve.js +166 -0
  5. package/bin/adcp.js +462 -11
  6. package/compliance/cache/{3.0.1 → 3.0.5}/index.json +2 -2
  7. package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/audience-sync/index.yaml +1 -1
  8. package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/brand-rights/index.yaml +3 -3
  9. package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/sales-social/index.yaml +7 -0
  10. package/compliance/cache/{3.0.1 → 3.0.5}/universal/runner-output-contract.yaml +23 -4
  11. package/compliance/cache/{3.0.1 → 3.0.5}/universal/storyboard-schema.yaml +106 -1
  12. package/compliance/cache/{3.0.1 → 3.0.5}/universal/v3-envelope-integrity.yaml +4 -2
  13. package/dist/lib/adapters/derived-account-store.d.ts +152 -0
  14. package/dist/lib/adapters/derived-account-store.d.ts.map +1 -0
  15. package/dist/lib/adapters/derived-account-store.js +135 -0
  16. package/dist/lib/adapters/derived-account-store.js.map +1 -0
  17. package/dist/lib/adapters/implicit-account-store.d.ts +172 -0
  18. package/dist/lib/adapters/implicit-account-store.d.ts.map +1 -0
  19. package/dist/lib/adapters/implicit-account-store.js +315 -0
  20. package/dist/lib/adapters/implicit-account-store.js.map +1 -0
  21. package/dist/lib/adapters/index.d.ts +5 -0
  22. package/dist/lib/adapters/index.d.ts.map +1 -1
  23. package/dist/lib/adapters/index.js +25 -1
  24. package/dist/lib/adapters/index.js.map +1 -1
  25. package/dist/lib/adapters/oauth-passthrough-resolver.d.ts +193 -0
  26. package/dist/lib/adapters/oauth-passthrough-resolver.d.ts.map +1 -0
  27. package/dist/lib/adapters/oauth-passthrough-resolver.js +180 -0
  28. package/dist/lib/adapters/oauth-passthrough-resolver.js.map +1 -0
  29. package/dist/lib/adapters/roster-account-store.d.ts +282 -0
  30. package/dist/lib/adapters/roster-account-store.d.ts.map +1 -0
  31. package/dist/lib/adapters/roster-account-store.js +216 -0
  32. package/dist/lib/adapters/roster-account-store.js.map +1 -0
  33. package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts.map +1 -1
  34. package/dist/lib/auth/oauth/ClientCredentialsFlow.js +5 -1
  35. package/dist/lib/auth/oauth/ClientCredentialsFlow.js.map +1 -1
  36. package/dist/lib/auth/oauth/discovery.d.ts.map +1 -1
  37. package/dist/lib/auth/oauth/discovery.js +6 -1
  38. package/dist/lib/auth/oauth/discovery.js.map +1 -1
  39. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  40. package/dist/lib/core/SingleAgentClient.d.ts +22 -0
  41. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  42. package/dist/lib/core/SingleAgentClient.js +86 -23
  43. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  44. package/dist/lib/index.d.ts +4 -4
  45. package/dist/lib/index.d.ts.map +1 -1
  46. package/dist/lib/index.js +27 -7
  47. package/dist/lib/index.js.map +1 -1
  48. package/dist/lib/mock-server/creative-ad-server/seed-data.d.ts +81 -0
  49. package/dist/lib/mock-server/creative-ad-server/seed-data.d.ts.map +1 -0
  50. package/dist/lib/mock-server/creative-ad-server/seed-data.js +200 -0
  51. package/dist/lib/mock-server/creative-ad-server/seed-data.js.map +1 -0
  52. package/dist/lib/mock-server/creative-ad-server/server.d.ts +39 -0
  53. package/dist/lib/mock-server/creative-ad-server/server.d.ts.map +1 -0
  54. package/dist/lib/mock-server/creative-ad-server/server.js +618 -0
  55. package/dist/lib/mock-server/creative-ad-server/server.js.map +1 -0
  56. package/dist/lib/mock-server/creative-template/server.d.ts.map +1 -1
  57. package/dist/lib/mock-server/creative-template/server.js +54 -9
  58. package/dist/lib/mock-server/creative-template/server.js.map +1 -1
  59. package/dist/lib/mock-server/index.d.ts +27 -1
  60. package/dist/lib/mock-server/index.d.ts.map +1 -1
  61. package/dist/lib/mock-server/index.js +289 -15
  62. package/dist/lib/mock-server/index.js.map +1 -1
  63. package/dist/lib/mock-server/sales-guaranteed/seed-data.d.ts +46 -0
  64. package/dist/lib/mock-server/sales-guaranteed/seed-data.d.ts.map +1 -0
  65. package/dist/lib/mock-server/sales-guaranteed/seed-data.js +167 -0
  66. package/dist/lib/mock-server/sales-guaranteed/seed-data.js.map +1 -0
  67. package/dist/lib/mock-server/sales-guaranteed/server.d.ts +14 -0
  68. package/dist/lib/mock-server/sales-guaranteed/server.d.ts.map +1 -0
  69. package/dist/lib/mock-server/sales-guaranteed/server.js +893 -0
  70. package/dist/lib/mock-server/sales-guaranteed/server.js.map +1 -0
  71. package/dist/lib/mock-server/sales-non-guaranteed/seed-data.d.ts +66 -0
  72. package/dist/lib/mock-server/sales-non-guaranteed/seed-data.d.ts.map +1 -0
  73. package/dist/lib/mock-server/sales-non-guaranteed/seed-data.js +193 -0
  74. package/dist/lib/mock-server/sales-non-guaranteed/seed-data.js.map +1 -0
  75. package/dist/lib/mock-server/sales-non-guaranteed/server.d.ts +33 -0
  76. package/dist/lib/mock-server/sales-non-guaranteed/server.d.ts.map +1 -0
  77. package/dist/lib/mock-server/sales-non-guaranteed/server.js +782 -0
  78. package/dist/lib/mock-server/sales-non-guaranteed/server.js.map +1 -0
  79. package/dist/lib/mock-server/sales-social/seed-data.d.ts +34 -0
  80. package/dist/lib/mock-server/sales-social/seed-data.d.ts.map +1 -0
  81. package/dist/lib/mock-server/sales-social/seed-data.js +42 -0
  82. package/dist/lib/mock-server/sales-social/seed-data.js.map +1 -0
  83. package/dist/lib/mock-server/sales-social/server.d.ts +17 -0
  84. package/dist/lib/mock-server/sales-social/server.d.ts.map +1 -0
  85. package/dist/lib/mock-server/sales-social/server.js +1219 -0
  86. package/dist/lib/mock-server/sales-social/server.js.map +1 -0
  87. package/dist/lib/mock-server/signal-marketplace/server.d.ts.map +1 -1
  88. package/dist/lib/mock-server/signal-marketplace/server.js +58 -9
  89. package/dist/lib/mock-server/signal-marketplace/server.js.map +1 -1
  90. package/dist/lib/mock-server/sponsored-intelligence/seed-data.d.ts +50 -0
  91. package/dist/lib/mock-server/sponsored-intelligence/seed-data.d.ts.map +1 -0
  92. package/dist/lib/mock-server/sponsored-intelligence/seed-data.js +133 -0
  93. package/dist/lib/mock-server/sponsored-intelligence/seed-data.js.map +1 -0
  94. package/dist/lib/mock-server/sponsored-intelligence/server.d.ts +13 -0
  95. package/dist/lib/mock-server/sponsored-intelligence/server.d.ts.map +1 -0
  96. package/dist/lib/mock-server/sponsored-intelligence/server.js +609 -0
  97. package/dist/lib/mock-server/sponsored-intelligence/server.js.map +1 -0
  98. package/dist/lib/protocols/mcp.d.ts +4 -4
  99. package/dist/lib/protocols/mcp.d.ts.map +1 -1
  100. package/dist/lib/protocols/mcp.js +20 -54
  101. package/dist/lib/protocols/mcp.js.map +1 -1
  102. package/dist/lib/schemas-data/3.0/a2ui/bound-value.json +1 -1
  103. package/dist/lib/schemas-data/3.0/a2ui/component.json +1 -1
  104. package/dist/lib/schemas-data/3.0/a2ui/si-catalog.json +25 -25
  105. package/dist/lib/schemas-data/3.0/a2ui/surface.json +2 -2
  106. package/dist/lib/schemas-data/3.0/a2ui/user-action.json +1 -1
  107. package/dist/lib/schemas-data/3.0/account/get-account-financials-request.json +5 -5
  108. package/dist/lib/schemas-data/3.0/account/get-account-financials-response.json +10 -10
  109. package/dist/lib/schemas-data/3.0/account/list-accounts-request.json +4 -4
  110. package/dist/lib/schemas-data/3.0/account/list-accounts-response.json +6 -6
  111. package/dist/lib/schemas-data/3.0/account/report-usage-request.json +5 -5
  112. package/dist/lib/schemas-data/3.0/account/report-usage-response.json +4 -4
  113. package/dist/lib/schemas-data/3.0/account/sync-accounts-request.json +9 -9
  114. package/dist/lib/schemas-data/3.0/account/sync-accounts-response.json +12 -12
  115. package/dist/lib/schemas-data/3.0/account/sync-governance-request.json +5 -5
  116. package/dist/lib/schemas-data/3.0/account/sync-governance-response.json +8 -8
  117. package/dist/lib/schemas-data/3.0/adagents.json +32 -32
  118. package/dist/lib/schemas-data/3.0/brand/acquire-rights-request.json +8 -8
  119. package/dist/lib/schemas-data/3.0/brand/acquire-rights-response.json +14 -14
  120. package/dist/lib/schemas-data/3.0/brand/creative-approval-request.json +4 -4
  121. package/dist/lib/schemas-data/3.0/brand/creative-approval-response.json +10 -10
  122. package/dist/lib/schemas-data/3.0/brand/get-brand-identity-request.json +3 -3
  123. package/dist/lib/schemas-data/3.0/brand/get-brand-identity-response.json +8 -8
  124. package/dist/lib/schemas-data/3.0/brand/get-rights-request.json +7 -7
  125. package/dist/lib/schemas-data/3.0/brand/get-rights-response.json +9 -9
  126. package/dist/lib/schemas-data/3.0/brand/revocation-notification.json +4 -4
  127. package/dist/lib/schemas-data/3.0/brand/rights-pricing-option.json +5 -5
  128. package/dist/lib/schemas-data/3.0/brand/rights-terms.json +3 -3
  129. package/dist/lib/schemas-data/3.0/brand/update-rights-request.json +4 -4
  130. package/dist/lib/schemas-data/3.0/brand/update-rights-response.json +9 -9
  131. package/dist/lib/schemas-data/3.0/brand.json +14 -14
  132. package/dist/lib/schemas-data/3.0/bundled/content-standards/calibrate-content-request.json +2 -2
  133. package/dist/lib/schemas-data/3.0/bundled/content-standards/calibrate-content-response.json +35 -4
  134. package/dist/lib/schemas-data/3.0/bundled/content-standards/create-content-standards-request.json +2 -2
  135. package/dist/lib/schemas-data/3.0/bundled/content-standards/create-content-standards-response.json +35 -4
  136. package/dist/lib/schemas-data/3.0/bundled/content-standards/get-content-standards-request.json +2 -2
  137. package/dist/lib/schemas-data/3.0/bundled/content-standards/get-content-standards-response.json +35 -4
  138. package/dist/lib/schemas-data/3.0/bundled/content-standards/get-media-buy-artifacts-request.json +2 -2
  139. package/dist/lib/schemas-data/3.0/bundled/content-standards/get-media-buy-artifacts-response.json +35 -4
  140. package/dist/lib/schemas-data/3.0/bundled/content-standards/list-content-standards-request.json +2 -2
  141. package/dist/lib/schemas-data/3.0/bundled/content-standards/list-content-standards-response.json +35 -4
  142. package/dist/lib/schemas-data/3.0/bundled/content-standards/update-content-standards-request.json +2 -2
  143. package/dist/lib/schemas-data/3.0/bundled/content-standards/update-content-standards-response.json +35 -4
  144. package/dist/lib/schemas-data/3.0/bundled/content-standards/validate-content-delivery-request.json +2 -2
  145. package/dist/lib/schemas-data/3.0/bundled/content-standards/validate-content-delivery-response.json +35 -4
  146. package/dist/lib/schemas-data/3.0/bundled/core/tasks-get-request.json +2 -2
  147. package/dist/lib/schemas-data/3.0/bundled/core/tasks-get-response.json +2 -2
  148. package/dist/lib/schemas-data/3.0/bundled/core/tasks-list-request.json +2 -2
  149. package/dist/lib/schemas-data/3.0/bundled/core/tasks-list-response.json +2 -2
  150. package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-delivery-request.json +2 -2
  151. package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-delivery-response.json +40 -6
  152. package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-features-request.json +7 -4
  153. package/dist/lib/schemas-data/3.0/bundled/creative/get-creative-features-response.json +35 -4
  154. package/dist/lib/schemas-data/3.0/bundled/creative/list-creative-formats-request.json +2 -2
  155. package/dist/lib/schemas-data/3.0/bundled/creative/list-creative-formats-response.json +38 -7
  156. package/dist/lib/schemas-data/3.0/bundled/creative/list-creatives-request.json +2 -2
  157. package/dist/lib/schemas-data/3.0/bundled/creative/list-creatives-response.json +40 -6
  158. package/dist/lib/schemas-data/3.0/bundled/creative/preview-creative-request.json +11 -5
  159. package/dist/lib/schemas-data/3.0/bundled/creative/preview-creative-response.json +40 -6
  160. package/dist/lib/schemas-data/3.0/bundled/creative/sync-creatives-request.json +7 -4
  161. package/dist/lib/schemas-data/3.0/bundled/creative/sync-creatives-response.json +101 -8
  162. package/dist/lib/schemas-data/3.0/bundled/media-buy/build-creative-request.json +7 -4
  163. package/dist/lib/schemas-data/3.0/bundled/media-buy/build-creative-response.json +110 -11
  164. package/dist/lib/schemas-data/3.0/bundled/media-buy/create-media-buy-request.json +7 -4
  165. package/dist/lib/schemas-data/3.0/bundled/media-buy/create-media-buy-response.json +68 -6
  166. package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buy-delivery-request.json +2 -2
  167. package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buy-delivery-response.json +35 -4
  168. package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buys-request.json +2 -2
  169. package/dist/lib/schemas-data/3.0/bundled/media-buy/get-media-buys-response.json +35 -4
  170. package/dist/lib/schemas-data/3.0/bundled/media-buy/get-products-request.json +2 -2
  171. package/dist/lib/schemas-data/3.0/bundled/media-buy/get-products-response.json +35 -4
  172. package/dist/lib/schemas-data/3.0/bundled/media-buy/list-creative-formats-request.json +2 -2
  173. package/dist/lib/schemas-data/3.0/bundled/media-buy/list-creative-formats-response.json +38 -7
  174. package/dist/lib/schemas-data/3.0/bundled/media-buy/log-event-request.json +2 -2
  175. package/dist/lib/schemas-data/3.0/bundled/media-buy/log-event-response.json +35 -4
  176. package/dist/lib/schemas-data/3.0/bundled/media-buy/package-request.json +7 -4
  177. package/dist/lib/schemas-data/3.0/bundled/media-buy/provide-performance-feedback-request.json +2 -2
  178. package/dist/lib/schemas-data/3.0/bundled/media-buy/provide-performance-feedback-response.json +35 -4
  179. package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-audiences-request.json +2 -2
  180. package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-audiences-response.json +68 -6
  181. package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-catalogs-request.json +2 -2
  182. package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-catalogs-response.json +68 -6
  183. package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-event-sources-request.json +2 -2
  184. package/dist/lib/schemas-data/3.0/bundled/media-buy/sync-event-sources-response.json +68 -6
  185. package/dist/lib/schemas-data/3.0/bundled/media-buy/update-media-buy-request.json +11 -5
  186. package/dist/lib/schemas-data/3.0/bundled/media-buy/update-media-buy-response.json +35 -4
  187. package/dist/lib/schemas-data/3.0/bundled/property/create-property-list-request.json +2 -2
  188. package/dist/lib/schemas-data/3.0/bundled/property/create-property-list-response.json +2 -2
  189. package/dist/lib/schemas-data/3.0/bundled/property/delete-property-list-request.json +2 -2
  190. package/dist/lib/schemas-data/3.0/bundled/property/delete-property-list-response.json +2 -2
  191. package/dist/lib/schemas-data/3.0/bundled/property/get-property-list-request.json +2 -2
  192. package/dist/lib/schemas-data/3.0/bundled/property/get-property-list-response.json +2 -2
  193. package/dist/lib/schemas-data/3.0/bundled/property/list-property-lists-request.json +2 -2
  194. package/dist/lib/schemas-data/3.0/bundled/property/list-property-lists-response.json +2 -2
  195. package/dist/lib/schemas-data/3.0/bundled/property/update-property-list-request.json +2 -2
  196. package/dist/lib/schemas-data/3.0/bundled/property/update-property-list-response.json +2 -2
  197. package/dist/lib/schemas-data/3.0/bundled/property/validate-property-delivery-request.json +2 -2
  198. package/dist/lib/schemas-data/3.0/bundled/property/validate-property-delivery-response.json +2 -2
  199. package/dist/lib/schemas-data/3.0/bundled/protocol/get-adcp-capabilities-request.json +2 -2
  200. package/dist/lib/schemas-data/3.0/bundled/protocol/get-adcp-capabilities-response.json +36 -5
  201. package/dist/lib/schemas-data/3.0/bundled/signals/activate-signal-request.json +2 -2
  202. package/dist/lib/schemas-data/3.0/bundled/signals/activate-signal-response.json +35 -4
  203. package/dist/lib/schemas-data/3.0/bundled/signals/get-signals-request.json +2 -2
  204. package/dist/lib/schemas-data/3.0/bundled/signals/get-signals-response.json +35 -4
  205. package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-get-offering-request.json +2 -2
  206. package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-get-offering-response.json +35 -4
  207. package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-initiate-session-request.json +2 -2
  208. package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-initiate-session-response.json +35 -4
  209. package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-send-message-request.json +2 -2
  210. package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-send-message-response.json +35 -4
  211. package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-terminate-session-request.json +2 -2
  212. package/dist/lib/schemas-data/3.0/bundled/sponsored-intelligence/si-terminate-session-response.json +35 -4
  213. package/dist/lib/schemas-data/3.0/collection/base-collection-source.json +3 -3
  214. package/dist/lib/schemas-data/3.0/collection/collection-list-changed-webhook.json +2 -2
  215. package/dist/lib/schemas-data/3.0/collection/collection-list-filters.json +7 -7
  216. package/dist/lib/schemas-data/3.0/collection/collection-list.json +5 -5
  217. package/dist/lib/schemas-data/3.0/collection/create-collection-list-request.json +7 -7
  218. package/dist/lib/schemas-data/3.0/collection/create-collection-list-response.json +4 -4
  219. package/dist/lib/schemas-data/3.0/collection/delete-collection-list-request.json +4 -4
  220. package/dist/lib/schemas-data/3.0/collection/delete-collection-list-response.json +3 -3
  221. package/dist/lib/schemas-data/3.0/collection/get-collection-list-request.json +4 -4
  222. package/dist/lib/schemas-data/3.0/collection/get-collection-list-response.json +10 -10
  223. package/dist/lib/schemas-data/3.0/collection/list-collection-lists-request.json +5 -5
  224. package/dist/lib/schemas-data/3.0/collection/list-collection-lists-response.json +5 -5
  225. package/dist/lib/schemas-data/3.0/collection/update-collection-list-request.json +7 -7
  226. package/dist/lib/schemas-data/3.0/collection/update-collection-list-response.json +4 -4
  227. package/dist/lib/schemas-data/3.0/content-standards/artifact-webhook-payload.json +3 -3
  228. package/dist/lib/schemas-data/3.0/content-standards/artifact.json +7 -7
  229. package/dist/lib/schemas-data/3.0/content-standards/calibrate-content-request.json +4 -4
  230. package/dist/lib/schemas-data/3.0/content-standards/calibrate-content-response.json +8 -8
  231. package/dist/lib/schemas-data/3.0/content-standards/content-standards.json +7 -7
  232. package/dist/lib/schemas-data/3.0/content-standards/create-content-standards-request.json +7 -7
  233. package/dist/lib/schemas-data/3.0/content-standards/create-content-standards-response.json +6 -6
  234. package/dist/lib/schemas-data/3.0/content-standards/get-content-standards-request.json +3 -3
  235. package/dist/lib/schemas-data/3.0/content-standards/get-content-standards-response.json +7 -7
  236. package/dist/lib/schemas-data/3.0/content-standards/get-media-buy-artifacts-request.json +4 -4
  237. package/dist/lib/schemas-data/3.0/content-standards/get-media-buy-artifacts-response.json +8 -8
  238. package/dist/lib/schemas-data/3.0/content-standards/list-content-standards-request.json +5 -5
  239. package/dist/lib/schemas-data/3.0/content-standards/list-content-standards-response.json +8 -8
  240. package/dist/lib/schemas-data/3.0/content-standards/update-content-standards-request.json +7 -7
  241. package/dist/lib/schemas-data/3.0/content-standards/update-content-standards-response.json +6 -6
  242. package/dist/lib/schemas-data/3.0/content-standards/validate-content-delivery-request.json +4 -4
  243. package/dist/lib/schemas-data/3.0/content-standards/validate-content-delivery-response.json +8 -8
  244. package/dist/lib/schemas-data/3.0/core/account-ref.json +2 -2
  245. package/dist/lib/schemas-data/3.0/core/account.json +9 -9
  246. package/dist/lib/schemas-data/3.0/core/activation-key.json +1 -1
  247. package/dist/lib/schemas-data/3.0/core/ad-inventory-config.json +1 -1
  248. package/dist/lib/schemas-data/3.0/core/agent-encryption-key.json +1 -1
  249. package/dist/lib/schemas-data/3.0/core/agent-signing-key.json +1 -1
  250. package/dist/lib/schemas-data/3.0/core/app-item.json +4 -4
  251. package/dist/lib/schemas-data/3.0/core/assets/asset-union.json +53 -0
  252. package/dist/lib/schemas-data/3.0/core/assets/audio-asset.json +3 -3
  253. package/dist/lib/schemas-data/3.0/core/assets/brief-asset.json +2 -2
  254. package/dist/lib/schemas-data/3.0/core/assets/catalog-asset.json +2 -2
  255. package/dist/lib/schemas-data/3.0/core/assets/css-asset.json +2 -2
  256. package/dist/lib/schemas-data/3.0/core/assets/daast-asset.json +4 -4
  257. package/dist/lib/schemas-data/3.0/core/assets/html-asset.json +2 -2
  258. package/dist/lib/schemas-data/3.0/core/assets/image-asset.json +2 -2
  259. package/dist/lib/schemas-data/3.0/core/assets/javascript-asset.json +3 -3
  260. package/dist/lib/schemas-data/3.0/core/assets/markdown-asset.json +2 -2
  261. package/dist/lib/schemas-data/3.0/core/assets/text-asset.json +2 -2
  262. package/dist/lib/schemas-data/3.0/core/assets/url-asset.json +6 -5
  263. package/dist/lib/schemas-data/3.0/core/assets/vast-asset.json +4 -4
  264. package/dist/lib/schemas-data/3.0/core/assets/video-asset.json +7 -7
  265. package/dist/lib/schemas-data/3.0/core/assets/webhook-asset.json +7 -7
  266. package/dist/lib/schemas-data/3.0/core/async-response-data.json +25 -25
  267. package/dist/lib/schemas-data/3.0/core/attribution-window.json +4 -4
  268. package/dist/lib/schemas-data/3.0/core/audience-member.json +3 -3
  269. package/dist/lib/schemas-data/3.0/core/audience-selector.json +4 -4
  270. package/dist/lib/schemas-data/3.0/core/brand-id.json +1 -1
  271. package/dist/lib/schemas-data/3.0/core/brand-ref.json +2 -2
  272. package/dist/lib/schemas-data/3.0/core/business-entity.json +2 -2
  273. package/dist/lib/schemas-data/3.0/core/cancellation-policy.json +2 -2
  274. package/dist/lib/schemas-data/3.0/core/catalog-field-mapping.json +2 -2
  275. package/dist/lib/schemas-data/3.0/core/catalog.json +7 -7
  276. package/dist/lib/schemas-data/3.0/core/catchment.json +5 -5
  277. package/dist/lib/schemas-data/3.0/core/collection-distribution.json +2 -2
  278. package/dist/lib/schemas-data/3.0/core/collection-list-ref.json +1 -1
  279. package/dist/lib/schemas-data/3.0/core/collection-selector.json +1 -1
  280. package/dist/lib/schemas-data/3.0/core/collection.json +13 -13
  281. package/dist/lib/schemas-data/3.0/core/content-rating.json +2 -2
  282. package/dist/lib/schemas-data/3.0/core/context.json +1 -1
  283. package/dist/lib/schemas-data/3.0/core/creative-asset.json +6 -52
  284. package/dist/lib/schemas-data/3.0/core/creative-assignment.json +1 -1
  285. package/dist/lib/schemas-data/3.0/core/creative-brief.json +4 -4
  286. package/dist/lib/schemas-data/3.0/core/creative-consumption.json +1 -1
  287. package/dist/lib/schemas-data/3.0/core/creative-filters.json +4 -4
  288. package/dist/lib/schemas-data/3.0/core/creative-item.json +1 -1
  289. package/dist/lib/schemas-data/3.0/core/creative-manifest.json +7 -53
  290. package/dist/lib/schemas-data/3.0/core/creative-policy.json +3 -3
  291. package/dist/lib/schemas-data/3.0/core/creative-variable.json +1 -1
  292. package/dist/lib/schemas-data/3.0/core/creative-variant.json +5 -5
  293. package/dist/lib/schemas-data/3.0/core/data-provider-signal-selector.json +1 -1
  294. package/dist/lib/schemas-data/3.0/core/date-range.json +1 -1
  295. package/dist/lib/schemas-data/3.0/core/datetime-range.json +1 -1
  296. package/dist/lib/schemas-data/3.0/core/daypart-target.json +2 -2
  297. package/dist/lib/schemas-data/3.0/core/deadline-policy.json +1 -1
  298. package/dist/lib/schemas-data/3.0/core/delivery-forecast.json +7 -7
  299. package/dist/lib/schemas-data/3.0/core/delivery-metrics.json +5 -5
  300. package/dist/lib/schemas-data/3.0/core/deployment.json +3 -3
  301. package/dist/lib/schemas-data/3.0/core/destination-item.json +4 -4
  302. package/dist/lib/schemas-data/3.0/core/destination.json +1 -1
  303. package/dist/lib/schemas-data/3.0/core/diagnostic-issue.json +1 -1
  304. package/dist/lib/schemas-data/3.0/core/duration.json +1 -1
  305. package/dist/lib/schemas-data/3.0/core/education-item.json +4 -4
  306. package/dist/lib/schemas-data/3.0/core/error.json +34 -3
  307. package/dist/lib/schemas-data/3.0/core/event-custom-data.json +2 -2
  308. package/dist/lib/schemas-data/3.0/core/event-source-health.json +3 -3
  309. package/dist/lib/schemas-data/3.0/core/event.json +6 -6
  310. package/dist/lib/schemas-data/3.0/core/ext.json +1 -1
  311. package/dist/lib/schemas-data/3.0/core/feature-requirement.json +1 -1
  312. package/dist/lib/schemas-data/3.0/core/flight-item.json +4 -4
  313. package/dist/lib/schemas-data/3.0/core/forecast-point.json +18 -18
  314. package/dist/lib/schemas-data/3.0/core/forecast-range.json +1 -1
  315. package/dist/lib/schemas-data/3.0/core/format-id.json +1 -1
  316. package/dist/lib/schemas-data/3.0/core/format.json +42 -42
  317. package/dist/lib/schemas-data/3.0/core/frequency-cap.json +4 -4
  318. package/dist/lib/schemas-data/3.0/core/generation-credential.json +3 -3
  319. package/dist/lib/schemas-data/3.0/core/geo-breakdown-support.json +3 -3
  320. package/dist/lib/schemas-data/3.0/core/hotel-item.json +4 -4
  321. package/dist/lib/schemas-data/3.0/core/identifier.json +2 -2
  322. package/dist/lib/schemas-data/3.0/core/industry-identifier.json +2 -2
  323. package/dist/lib/schemas-data/3.0/core/insertion-order.json +1 -1
  324. package/dist/lib/schemas-data/3.0/core/installment-deadlines.json +2 -2
  325. package/dist/lib/schemas-data/3.0/core/installment.json +9 -9
  326. package/dist/lib/schemas-data/3.0/core/job-item.json +3 -3
  327. package/dist/lib/schemas-data/3.0/core/limited-series.json +1 -1
  328. package/dist/lib/schemas-data/3.0/core/material-deadline.json +1 -1
  329. package/dist/lib/schemas-data/3.0/core/mcp-webhook-payload.json +5 -5
  330. package/dist/lib/schemas-data/3.0/core/measurement-readiness.json +5 -5
  331. package/dist/lib/schemas-data/3.0/core/measurement-terms.json +3 -3
  332. package/dist/lib/schemas-data/3.0/core/measurement-window.json +1 -1
  333. package/dist/lib/schemas-data/3.0/core/media-buy-features.json +1 -1
  334. package/dist/lib/schemas-data/3.0/core/media-buy.json +7 -7
  335. package/dist/lib/schemas-data/3.0/core/offering-asset-group.json +16 -16
  336. package/dist/lib/schemas-data/3.0/core/offering.json +5 -5
  337. package/dist/lib/schemas-data/3.0/core/optimization-goal.json +6 -6
  338. package/dist/lib/schemas-data/3.0/core/outcome-measurement.json +2 -2
  339. package/dist/lib/schemas-data/3.0/core/overlay.json +1 -1
  340. package/dist/lib/schemas-data/3.0/core/package.json +14 -14
  341. package/dist/lib/schemas-data/3.0/core/pagination-request.json +1 -1
  342. package/dist/lib/schemas-data/3.0/core/pagination-response.json +1 -1
  343. package/dist/lib/schemas-data/3.0/core/performance-feedback.json +3 -3
  344. package/dist/lib/schemas-data/3.0/core/performance-standard.json +4 -4
  345. package/dist/lib/schemas-data/3.0/core/placement-definition.json +5 -5
  346. package/dist/lib/schemas-data/3.0/core/placement.json +2 -2
  347. package/dist/lib/schemas-data/3.0/core/planned-delivery.json +5 -5
  348. package/dist/lib/schemas-data/3.0/core/price.json +1 -1
  349. package/dist/lib/schemas-data/3.0/core/pricing-option.json +10 -10
  350. package/dist/lib/schemas-data/3.0/core/product-allocation.json +4 -4
  351. package/dist/lib/schemas-data/3.0/core/product-filters.json +16 -16
  352. package/dist/lib/schemas-data/3.0/core/product.json +28 -28
  353. package/dist/lib/schemas-data/3.0/core/property-id.json +1 -1
  354. package/dist/lib/schemas-data/3.0/core/property-list-ref.json +1 -1
  355. package/dist/lib/schemas-data/3.0/core/property-tag.json +1 -1
  356. package/dist/lib/schemas-data/3.0/core/property.json +6 -6
  357. package/dist/lib/schemas-data/3.0/core/proposal.json +6 -6
  358. package/dist/lib/schemas-data/3.0/core/protocol-envelope.json +3 -3
  359. package/dist/lib/schemas-data/3.0/core/provenance.json +6 -6
  360. package/dist/lib/schemas-data/3.0/core/publisher-property-selector.json +3 -3
  361. package/dist/lib/schemas-data/3.0/core/push-notification-config.json +2 -2
  362. package/dist/lib/schemas-data/3.0/core/real-estate-item.json +4 -4
  363. package/dist/lib/schemas-data/3.0/core/reference-asset.json +1 -1
  364. package/dist/lib/schemas-data/3.0/core/reporting-capabilities.json +5 -5
  365. package/dist/lib/schemas-data/3.0/core/reporting-webhook.json +3 -3
  366. package/dist/lib/schemas-data/3.0/core/requirements/asset-requirements.json +13 -13
  367. package/dist/lib/schemas-data/3.0/core/requirements/audio-asset-requirements.json +1 -1
  368. package/dist/lib/schemas-data/3.0/core/requirements/catalog-field-binding.json +4 -4
  369. package/dist/lib/schemas-data/3.0/core/requirements/catalog-requirements.json +5 -5
  370. package/dist/lib/schemas-data/3.0/core/requirements/css-asset-requirements.json +1 -1
  371. package/dist/lib/schemas-data/3.0/core/requirements/daast-asset-requirements.json +1 -1
  372. package/dist/lib/schemas-data/3.0/core/requirements/html-asset-requirements.json +1 -1
  373. package/dist/lib/schemas-data/3.0/core/requirements/image-asset-requirements.json +2 -2
  374. package/dist/lib/schemas-data/3.0/core/requirements/javascript-asset-requirements.json +1 -1
  375. package/dist/lib/schemas-data/3.0/core/requirements/markdown-asset-requirements.json +1 -1
  376. package/dist/lib/schemas-data/3.0/core/requirements/offering-asset-constraint.json +4 -4
  377. package/dist/lib/schemas-data/3.0/core/requirements/text-asset-requirements.json +1 -1
  378. package/dist/lib/schemas-data/3.0/core/requirements/url-asset-requirements.json +2 -2
  379. package/dist/lib/schemas-data/3.0/core/requirements/vast-asset-requirements.json +1 -1
  380. package/dist/lib/schemas-data/3.0/core/requirements/video-asset-requirements.json +6 -6
  381. package/dist/lib/schemas-data/3.0/core/requirements/webhook-asset-requirements.json +1 -1
  382. package/dist/lib/schemas-data/3.0/core/response.json +1 -1
  383. package/dist/lib/schemas-data/3.0/core/rights-constraint.json +4 -4
  384. package/dist/lib/schemas-data/3.0/core/seller-agent-ref.json +1 -1
  385. package/dist/lib/schemas-data/3.0/core/signal-definition.json +3 -3
  386. package/dist/lib/schemas-data/3.0/core/signal-filters.json +2 -2
  387. package/dist/lib/schemas-data/3.0/core/signal-id.json +1 -1
  388. package/dist/lib/schemas-data/3.0/core/signal-pricing-option.json +2 -2
  389. package/dist/lib/schemas-data/3.0/core/signal-pricing.json +6 -6
  390. package/dist/lib/schemas-data/3.0/core/signal-targeting.json +4 -4
  391. package/dist/lib/schemas-data/3.0/core/special.json +2 -2
  392. package/dist/lib/schemas-data/3.0/core/start-timing.json +1 -1
  393. package/dist/lib/schemas-data/3.0/core/store-item.json +3 -3
  394. package/dist/lib/schemas-data/3.0/core/talent.json +2 -2
  395. package/dist/lib/schemas-data/3.0/core/targeting.json +20 -20
  396. package/dist/lib/schemas-data/3.0/core/tasks-get-request.json +3 -3
  397. package/dist/lib/schemas-data/3.0/core/tasks-get-response.json +7 -7
  398. package/dist/lib/schemas-data/3.0/core/tasks-list-request.json +11 -11
  399. package/dist/lib/schemas-data/3.0/core/tasks-list-response.json +6 -6
  400. package/dist/lib/schemas-data/3.0/core/user-match.json +3 -3
  401. package/dist/lib/schemas-data/3.0/core/vehicle-item.json +4 -4
  402. package/dist/lib/schemas-data/3.0/core/vendor-pricing-option.json +2 -2
  403. package/dist/lib/schemas-data/3.0/core/x-entity-types.json +1 -1
  404. package/dist/lib/schemas-data/3.0/creative/asset-types/index.json +5 -5
  405. package/dist/lib/schemas-data/3.0/creative/creative-feature-result.json +2 -2
  406. package/dist/lib/schemas-data/3.0/creative/get-creative-delivery-request.json +5 -5
  407. package/dist/lib/schemas-data/3.0/creative/get-creative-delivery-response.json +7 -7
  408. package/dist/lib/schemas-data/3.0/creative/get-creative-features-request.json +5 -5
  409. package/dist/lib/schemas-data/3.0/creative/get-creative-features-response.json +8 -8
  410. package/dist/lib/schemas-data/3.0/creative/list-creative-formats-request.json +11 -11
  411. package/dist/lib/schemas-data/3.0/creative/list-creative-formats-response.json +7 -7
  412. package/dist/lib/schemas-data/3.0/creative/list-creatives-request.json +8 -8
  413. package/dist/lib/schemas-data/3.0/creative/list-creatives-response.json +14 -60
  414. package/dist/lib/schemas-data/3.0/creative/preview-creative-request.json +11 -11
  415. package/dist/lib/schemas-data/3.0/creative/preview-creative-response.json +12 -12
  416. package/dist/lib/schemas-data/3.0/creative/preview-render.json +1 -1
  417. package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-input-required.json +3 -3
  418. package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-submitted.json +3 -3
  419. package/dist/lib/schemas-data/3.0/creative/sync-creatives-async-response-working.json +3 -3
  420. package/dist/lib/schemas-data/3.0/creative/sync-creatives-request.json +7 -7
  421. package/dist/lib/schemas-data/3.0/creative/sync-creatives-response.json +13 -13
  422. package/dist/lib/schemas-data/3.0/enums/account-scope.json +1 -1
  423. package/dist/lib/schemas-data/3.0/enums/account-status.json +1 -1
  424. package/dist/lib/schemas-data/3.0/enums/action-source.json +1 -1
  425. package/dist/lib/schemas-data/3.0/enums/adcp-protocol.json +1 -1
  426. package/dist/lib/schemas-data/3.0/enums/adjustment-kind.json +1 -1
  427. package/dist/lib/schemas-data/3.0/enums/advertiser-industry.json +1 -1
  428. package/dist/lib/schemas-data/3.0/enums/age-verification-method.json +1 -1
  429. package/dist/lib/schemas-data/3.0/enums/assessment-status.json +1 -1
  430. package/dist/lib/schemas-data/3.0/enums/asset-content-type.json +1 -1
  431. package/dist/lib/schemas-data/3.0/enums/attribution-model.json +1 -1
  432. package/dist/lib/schemas-data/3.0/enums/audience-source.json +1 -1
  433. package/dist/lib/schemas-data/3.0/enums/audience-status.json +1 -1
  434. package/dist/lib/schemas-data/3.0/enums/audio-channel-layout.json +1 -1
  435. package/dist/lib/schemas-data/3.0/enums/auth-scheme.json +1 -1
  436. package/dist/lib/schemas-data/3.0/enums/available-metric.json +1 -1
  437. package/dist/lib/schemas-data/3.0/enums/billing-party.json +1 -1
  438. package/dist/lib/schemas-data/3.0/enums/binary-verdict.json +1 -1
  439. package/dist/lib/schemas-data/3.0/enums/brand-agent-type.json +1 -1
  440. package/dist/lib/schemas-data/3.0/enums/canceled-by.json +1 -1
  441. package/dist/lib/schemas-data/3.0/enums/catalog-action.json +1 -1
  442. package/dist/lib/schemas-data/3.0/enums/catalog-item-status.json +1 -1
  443. package/dist/lib/schemas-data/3.0/enums/catalog-type.json +1 -1
  444. package/dist/lib/schemas-data/3.0/enums/channels.json +1 -1
  445. package/dist/lib/schemas-data/3.0/enums/cloud-storage-protocol.json +1 -1
  446. package/dist/lib/schemas-data/3.0/enums/co-branding-requirement.json +1 -1
  447. package/dist/lib/schemas-data/3.0/enums/collection-cadence.json +1 -1
  448. package/dist/lib/schemas-data/3.0/enums/collection-kind.json +1 -1
  449. package/dist/lib/schemas-data/3.0/enums/collection-relationship.json +1 -1
  450. package/dist/lib/schemas-data/3.0/enums/collection-status.json +1 -1
  451. package/dist/lib/schemas-data/3.0/enums/consent-basis.json +1 -1
  452. package/dist/lib/schemas-data/3.0/enums/content-id-type.json +1 -1
  453. package/dist/lib/schemas-data/3.0/enums/content-rating-system.json +1 -1
  454. package/dist/lib/schemas-data/3.0/enums/creative-action.json +1 -1
  455. package/dist/lib/schemas-data/3.0/enums/creative-agent-capability.json +1 -1
  456. package/dist/lib/schemas-data/3.0/enums/creative-approval-status.json +1 -1
  457. package/dist/lib/schemas-data/3.0/enums/creative-identifier-type.json +1 -1
  458. package/dist/lib/schemas-data/3.0/enums/creative-quality.json +1 -1
  459. package/dist/lib/schemas-data/3.0/enums/creative-sort-field.json +1 -1
  460. package/dist/lib/schemas-data/3.0/enums/creative-status.json +1 -1
  461. package/dist/lib/schemas-data/3.0/enums/daast-tracking-event.json +1 -1
  462. package/dist/lib/schemas-data/3.0/enums/daast-version.json +1 -1
  463. package/dist/lib/schemas-data/3.0/enums/day-of-week.json +1 -1
  464. package/dist/lib/schemas-data/3.0/enums/delegation-authority.json +1 -1
  465. package/dist/lib/schemas-data/3.0/enums/delivery-type.json +1 -1
  466. package/dist/lib/schemas-data/3.0/enums/demographic-system.json +1 -1
  467. package/dist/lib/schemas-data/3.0/enums/derivative-type.json +1 -1
  468. package/dist/lib/schemas-data/3.0/enums/device-platform.json +1 -1
  469. package/dist/lib/schemas-data/3.0/enums/device-type.json +1 -1
  470. package/dist/lib/schemas-data/3.0/enums/digital-source-type.json +1 -1
  471. package/dist/lib/schemas-data/3.0/enums/dimension-unit.json +1 -1
  472. package/dist/lib/schemas-data/3.0/enums/disclosure-persistence.json +1 -1
  473. package/dist/lib/schemas-data/3.0/enums/disclosure-position.json +1 -1
  474. package/dist/lib/schemas-data/3.0/enums/distance-unit.json +1 -1
  475. package/dist/lib/schemas-data/3.0/enums/distribution-identifier-type.json +1 -1
  476. package/dist/lib/schemas-data/3.0/enums/error-code.json +185 -2
  477. package/dist/lib/schemas-data/3.0/enums/escalation-severity.json +1 -1
  478. package/dist/lib/schemas-data/3.0/enums/event-type.json +1 -1
  479. package/dist/lib/schemas-data/3.0/enums/exclusivity.json +1 -1
  480. package/dist/lib/schemas-data/3.0/enums/feature-check-status.json +1 -1
  481. package/dist/lib/schemas-data/3.0/enums/feed-format.json +1 -1
  482. package/dist/lib/schemas-data/3.0/enums/feedback-source.json +1 -1
  483. package/dist/lib/schemas-data/3.0/enums/forecast-method.json +1 -1
  484. package/dist/lib/schemas-data/3.0/enums/forecast-range-unit.json +1 -1
  485. package/dist/lib/schemas-data/3.0/enums/forecastable-metric.json +1 -1
  486. package/dist/lib/schemas-data/3.0/enums/format-id-parameter.json +1 -1
  487. package/dist/lib/schemas-data/3.0/enums/frame-rate-type.json +1 -1
  488. package/dist/lib/schemas-data/3.0/enums/frequency-cap-scope.json +1 -1
  489. package/dist/lib/schemas-data/3.0/enums/genre-taxonomy.json +1 -1
  490. package/dist/lib/schemas-data/3.0/enums/geo-level.json +1 -1
  491. package/dist/lib/schemas-data/3.0/enums/gop-type.json +1 -1
  492. package/dist/lib/schemas-data/3.0/enums/governance-decision.json +1 -1
  493. package/dist/lib/schemas-data/3.0/enums/governance-domain.json +1 -1
  494. package/dist/lib/schemas-data/3.0/enums/governance-mode.json +1 -1
  495. package/dist/lib/schemas-data/3.0/enums/governance-phase.json +1 -1
  496. package/dist/lib/schemas-data/3.0/enums/history-entry-type.json +1 -1
  497. package/dist/lib/schemas-data/3.0/enums/http-method.json +1 -1
  498. package/dist/lib/schemas-data/3.0/enums/identifier-types.json +1 -1
  499. package/dist/lib/schemas-data/3.0/enums/installment-status.json +1 -1
  500. package/dist/lib/schemas-data/3.0/enums/javascript-module-type.json +1 -1
  501. package/dist/lib/schemas-data/3.0/enums/landing-page-requirement.json +1 -1
  502. package/dist/lib/schemas-data/3.0/enums/makegood-remedy.json +1 -1
  503. package/dist/lib/schemas-data/3.0/enums/markdown-flavor.json +1 -1
  504. package/dist/lib/schemas-data/3.0/enums/match-id-type.json +1 -1
  505. package/dist/lib/schemas-data/3.0/enums/match-type.json +1 -1
  506. package/dist/lib/schemas-data/3.0/enums/media-buy-status.json +1 -1
  507. package/dist/lib/schemas-data/3.0/enums/media-buy-valid-action.json +1 -1
  508. package/dist/lib/schemas-data/3.0/enums/metric-type.json +1 -1
  509. package/dist/lib/schemas-data/3.0/enums/metro-system.json +1 -1
  510. package/dist/lib/schemas-data/3.0/enums/moov-atom-position.json +1 -1
  511. package/dist/lib/schemas-data/3.0/enums/notification-type.json +1 -1
  512. package/dist/lib/schemas-data/3.0/enums/outcome-type.json +1 -1
  513. package/dist/lib/schemas-data/3.0/enums/pacing.json +1 -1
  514. package/dist/lib/schemas-data/3.0/enums/payment-terms.json +1 -1
  515. package/dist/lib/schemas-data/3.0/enums/performance-standard-metric.json +1 -1
  516. package/dist/lib/schemas-data/3.0/enums/policy-category.json +1 -1
  517. package/dist/lib/schemas-data/3.0/enums/policy-enforcement.json +1 -1
  518. package/dist/lib/schemas-data/3.0/enums/postal-system.json +1 -1
  519. package/dist/lib/schemas-data/3.0/enums/preview-output-format.json +1 -1
  520. package/dist/lib/schemas-data/3.0/enums/pricing-model.json +1 -1
  521. package/dist/lib/schemas-data/3.0/enums/production-quality.json +1 -1
  522. package/dist/lib/schemas-data/3.0/enums/property-type.json +1 -1
  523. package/dist/lib/schemas-data/3.0/enums/proposal-status.json +1 -1
  524. package/dist/lib/schemas-data/3.0/enums/publisher-identifier-types.json +1 -1
  525. package/dist/lib/schemas-data/3.0/enums/purchase-type.json +1 -1
  526. package/dist/lib/schemas-data/3.0/enums/reach-unit.json +1 -1
  527. package/dist/lib/schemas-data/3.0/enums/reporting-frequency.json +1 -1
  528. package/dist/lib/schemas-data/3.0/enums/response-type.json +1 -1
  529. package/dist/lib/schemas-data/3.0/enums/restricted-attribute.json +1 -1
  530. package/dist/lib/schemas-data/3.0/enums/right-type.json +1 -1
  531. package/dist/lib/schemas-data/3.0/enums/right-use.json +1 -1
  532. package/dist/lib/schemas-data/3.0/enums/rights-billing-period.json +1 -1
  533. package/dist/lib/schemas-data/3.0/enums/scan-type.json +1 -1
  534. package/dist/lib/schemas-data/3.0/enums/si-session-status.json +1 -1
  535. package/dist/lib/schemas-data/3.0/enums/signal-catalog-type.json +1 -1
  536. package/dist/lib/schemas-data/3.0/enums/signal-source.json +1 -1
  537. package/dist/lib/schemas-data/3.0/enums/signal-value-type.json +1 -1
  538. package/dist/lib/schemas-data/3.0/enums/snapshot-unavailable-reason.json +1 -1
  539. package/dist/lib/schemas-data/3.0/enums/sort-direction.json +1 -1
  540. package/dist/lib/schemas-data/3.0/enums/sort-metric.json +1 -1
  541. package/dist/lib/schemas-data/3.0/enums/special-category.json +1 -1
  542. package/dist/lib/schemas-data/3.0/enums/specialism.json +1 -1
  543. package/dist/lib/schemas-data/3.0/enums/talent-role.json +1 -1
  544. package/dist/lib/schemas-data/3.0/enums/task-status.json +1 -1
  545. package/dist/lib/schemas-data/3.0/enums/task-type.json +1 -1
  546. package/dist/lib/schemas-data/3.0/enums/transport-mode.json +1 -1
  547. package/dist/lib/schemas-data/3.0/enums/travel-time-unit.json +1 -1
  548. package/dist/lib/schemas-data/3.0/enums/uid-type.json +1 -1
  549. package/dist/lib/schemas-data/3.0/enums/universal-macro.json +1 -1
  550. package/dist/lib/schemas-data/3.0/enums/update-frequency.json +1 -1
  551. package/dist/lib/schemas-data/3.0/enums/url-asset-type.json +1 -1
  552. package/dist/lib/schemas-data/3.0/enums/validation-mode.json +1 -1
  553. package/dist/lib/schemas-data/3.0/enums/vast-tracking-event.json +1 -1
  554. package/dist/lib/schemas-data/3.0/enums/vast-version.json +1 -1
  555. package/dist/lib/schemas-data/3.0/enums/viewability-standard.json +1 -1
  556. package/dist/lib/schemas-data/3.0/enums/wcag-level.json +1 -1
  557. package/dist/lib/schemas-data/3.0/enums/webhook-response-type.json +1 -1
  558. package/dist/lib/schemas-data/3.0/enums/webhook-security-method.json +1 -1
  559. package/dist/lib/schemas-data/3.0/error-details/account-setup-required.json +2 -2
  560. package/dist/lib/schemas-data/3.0/error-details/audience-too-small.json +2 -2
  561. package/dist/lib/schemas-data/3.0/error-details/budget-too-low.json +2 -2
  562. package/dist/lib/schemas-data/3.0/error-details/conflict.json +2 -2
  563. package/dist/lib/schemas-data/3.0/error-details/creative-rejected.json +2 -2
  564. package/dist/lib/schemas-data/3.0/error-details/policy-violation.json +2 -2
  565. package/dist/lib/schemas-data/3.0/error-details/rate-limited.json +1 -1
  566. package/dist/lib/schemas-data/3.0/error-details/vendor-error-codes.json +1 -1
  567. package/dist/lib/schemas-data/3.0/extensions/extension-meta.json +1 -1
  568. package/dist/lib/schemas-data/3.0/extensions/index.json +2 -2
  569. package/dist/lib/schemas-data/3.0/governance/attribute-definition.json +1 -1
  570. package/dist/lib/schemas-data/3.0/governance/audience-constraints.json +3 -3
  571. package/dist/lib/schemas-data/3.0/governance/check-governance-request.json +7 -7
  572. package/dist/lib/schemas-data/3.0/governance/check-governance-response.json +6 -6
  573. package/dist/lib/schemas-data/3.0/governance/get-plan-audit-logs-request.json +4 -4
  574. package/dist/lib/schemas-data/3.0/governance/get-plan-audit-logs-response.json +9 -9
  575. package/dist/lib/schemas-data/3.0/governance/policy-category-definition.json +2 -2
  576. package/dist/lib/schemas-data/3.0/governance/policy-entry.json +6 -6
  577. package/dist/lib/schemas-data/3.0/governance/policy-ref.json +1 -1
  578. package/dist/lib/schemas-data/3.0/governance/report-plan-outcome-request.json +6 -6
  579. package/dist/lib/schemas-data/3.0/governance/report-plan-outcome-response.json +4 -4
  580. package/dist/lib/schemas-data/3.0/governance/sync-plans-request.json +13 -13
  581. package/dist/lib/schemas-data/3.0/governance/sync-plans-response.json +4 -4
  582. package/dist/lib/schemas-data/3.0/index.json +364 -364
  583. package/dist/lib/schemas-data/3.0/manifest.json +1190 -0
  584. package/dist/lib/schemas-data/3.0/manifest.schema.json +202 -0
  585. package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-input-required.json +4 -4
  586. package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-submitted.json +3 -3
  587. package/dist/lib/schemas-data/3.0/media-buy/build-creative-async-response-working.json +3 -3
  588. package/dist/lib/schemas-data/3.0/media-buy/build-creative-request.json +11 -11
  589. package/dist/lib/schemas-data/3.0/media-buy/build-creative-response.json +17 -17
  590. package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-input-required.json +4 -4
  591. package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-submitted.json +3 -3
  592. package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-async-response-working.json +3 -3
  593. package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-request.json +12 -12
  594. package/dist/lib/schemas-data/3.0/media-buy/create-media-buy-response.json +15 -15
  595. package/dist/lib/schemas-data/3.0/media-buy/get-media-buy-delivery-request.json +17 -17
  596. package/dist/lib/schemas-data/3.0/media-buy/get-media-buy-delivery-response.json +24 -24
  597. package/dist/lib/schemas-data/3.0/media-buy/get-media-buys-request.json +7 -7
  598. package/dist/lib/schemas-data/3.0/media-buy/get-media-buys-response.json +19 -19
  599. package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-input-required.json +4 -4
  600. package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-submitted.json +3 -3
  601. package/dist/lib/schemas-data/3.0/media-buy/get-products-async-response-working.json +3 -3
  602. package/dist/lib/schemas-data/3.0/media-buy/get-products-request.json +11 -11
  603. package/dist/lib/schemas-data/3.0/media-buy/get-products-response.json +8 -8
  604. package/dist/lib/schemas-data/3.0/media-buy/list-creative-formats-request.json +11 -11
  605. package/dist/lib/schemas-data/3.0/media-buy/list-creative-formats-response.json +7 -7
  606. package/dist/lib/schemas-data/3.0/media-buy/log-event-request.json +4 -4
  607. package/dist/lib/schemas-data/3.0/media-buy/log-event-response.json +6 -6
  608. package/dist/lib/schemas-data/3.0/media-buy/package-request.json +12 -12
  609. package/dist/lib/schemas-data/3.0/media-buy/package-update.json +13 -13
  610. package/dist/lib/schemas-data/3.0/media-buy/provide-performance-feedback-request.json +6 -6
  611. package/dist/lib/schemas-data/3.0/media-buy/provide-performance-feedback-response.json +6 -6
  612. package/dist/lib/schemas-data/3.0/media-buy/sync-audiences-request.json +7 -7
  613. package/dist/lib/schemas-data/3.0/media-buy/sync-audiences-response.json +9 -9
  614. package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-input-required.json +3 -3
  615. package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-submitted.json +3 -3
  616. package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-async-response-working.json +3 -3
  617. package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-request.json +7 -7
  618. package/dist/lib/schemas-data/3.0/media-buy/sync-catalogs-response.json +9 -9
  619. package/dist/lib/schemas-data/3.0/media-buy/sync-event-sources-request.json +5 -5
  620. package/dist/lib/schemas-data/3.0/media-buy/sync-event-sources-response.json +10 -10
  621. package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-input-required.json +3 -3
  622. package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-submitted.json +3 -3
  623. package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-async-response-working.json +3 -3
  624. package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-request.json +10 -10
  625. package/dist/lib/schemas-data/3.0/media-buy/update-media-buy-response.json +10 -10
  626. package/dist/lib/schemas-data/3.0/pricing-options/cpa-option.json +4 -4
  627. package/dist/lib/schemas-data/3.0/pricing-options/cpc-option.json +4 -4
  628. package/dist/lib/schemas-data/3.0/pricing-options/cpcv-option.json +4 -4
  629. package/dist/lib/schemas-data/3.0/pricing-options/cpm-option.json +4 -4
  630. package/dist/lib/schemas-data/3.0/pricing-options/cpp-option.json +5 -5
  631. package/dist/lib/schemas-data/3.0/pricing-options/cpv-option.json +4 -4
  632. package/dist/lib/schemas-data/3.0/pricing-options/flat-rate-option.json +4 -4
  633. package/dist/lib/schemas-data/3.0/pricing-options/price-breakdown.json +2 -2
  634. package/dist/lib/schemas-data/3.0/pricing-options/price-guidance.json +1 -1
  635. package/dist/lib/schemas-data/3.0/pricing-options/time-option.json +4 -4
  636. package/dist/lib/schemas-data/3.0/pricing-options/vcpm-option.json +4 -4
  637. package/dist/lib/schemas-data/3.0/property/authorization-result.json +1 -1
  638. package/dist/lib/schemas-data/3.0/property/base-property-source.json +4 -4
  639. package/dist/lib/schemas-data/3.0/property/create-property-list-request.json +7 -7
  640. package/dist/lib/schemas-data/3.0/property/create-property-list-response.json +4 -4
  641. package/dist/lib/schemas-data/3.0/property/delete-property-list-request.json +4 -4
  642. package/dist/lib/schemas-data/3.0/property/delete-property-list-response.json +3 -3
  643. package/dist/lib/schemas-data/3.0/property/delivery-record.json +3 -3
  644. package/dist/lib/schemas-data/3.0/property/get-property-list-request.json +4 -4
  645. package/dist/lib/schemas-data/3.0/property/get-property-list-response.json +7 -7
  646. package/dist/lib/schemas-data/3.0/property/list-property-lists-request.json +5 -5
  647. package/dist/lib/schemas-data/3.0/property/list-property-lists-response.json +5 -5
  648. package/dist/lib/schemas-data/3.0/property/property-error.json +2 -2
  649. package/dist/lib/schemas-data/3.0/property/property-feature-definition.json +2 -2
  650. package/dist/lib/schemas-data/3.0/property/property-feature-result.json +4 -4
  651. package/dist/lib/schemas-data/3.0/property/property-feature-value.json +2 -2
  652. package/dist/lib/schemas-data/3.0/property/property-feature.json +1 -1
  653. package/dist/lib/schemas-data/3.0/property/property-list-changed-webhook.json +2 -2
  654. package/dist/lib/schemas-data/3.0/property/property-list-filters.json +5 -5
  655. package/dist/lib/schemas-data/3.0/property/property-list.json +6 -6
  656. package/dist/lib/schemas-data/3.0/property/update-property-list-request.json +7 -7
  657. package/dist/lib/schemas-data/3.0/property/update-property-list-response.json +4 -4
  658. package/dist/lib/schemas-data/3.0/property/validate-property-delivery-request.json +5 -5
  659. package/dist/lib/schemas-data/3.0/property/validate-property-delivery-response.json +4 -4
  660. package/dist/lib/schemas-data/3.0/property/validation-result.json +5 -5
  661. package/dist/lib/schemas-data/3.0/protocol/get-adcp-capabilities-request.json +3 -3
  662. package/dist/lib/schemas-data/3.0/protocol/get-adcp-capabilities-response.json +26 -26
  663. package/dist/lib/schemas-data/3.0/signals/activate-signal-request.json +5 -5
  664. package/dist/lib/schemas-data/3.0/signals/activate-signal-response.json +7 -7
  665. package/dist/lib/schemas-data/3.0/signals/get-signals-request.json +8 -8
  666. package/dist/lib/schemas-data/3.0/signals/get-signals-response.json +10 -10
  667. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-capabilities.json +1 -1
  668. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-get-offering-request.json +3 -3
  669. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-get-offering-response.json +4 -4
  670. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-identity.json +1 -1
  671. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-initiate-session-request.json +5 -5
  672. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-initiate-session-response.json +7 -7
  673. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-send-message-request.json +3 -3
  674. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-send-message-response.json +7 -7
  675. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-terminate-session-request.json +3 -3
  676. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-terminate-session-response.json +5 -5
  677. package/dist/lib/schemas-data/3.0/sponsored-intelligence/si-ui-element.json +1 -1
  678. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  679. package/dist/lib/server/account-mode.d.ts +113 -0
  680. package/dist/lib/server/account-mode.d.ts.map +1 -0
  681. package/dist/lib/server/account-mode.js +125 -0
  682. package/dist/lib/server/account-mode.js.map +1 -0
  683. package/dist/lib/server/adcp-server.d.ts +21 -0
  684. package/dist/lib/server/adcp-server.d.ts.map +1 -1
  685. package/dist/lib/server/adcp-server.js +63 -1
  686. package/dist/lib/server/adcp-server.js.map +1 -1
  687. package/dist/lib/server/auth-signature.d.ts.map +1 -1
  688. package/dist/lib/server/auth-signature.js +21 -0
  689. package/dist/lib/server/auth-signature.js.map +1 -1
  690. package/dist/lib/server/auth.d.ts +59 -0
  691. package/dist/lib/server/auth.d.ts.map +1 -1
  692. package/dist/lib/server/auth.js +71 -3
  693. package/dist/lib/server/auth.js.map +1 -1
  694. package/dist/lib/server/create-adcp-server.d.ts +220 -21
  695. package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
  696. package/dist/lib/server/create-adcp-server.js +349 -14
  697. package/dist/lib/server/create-adcp-server.js.map +1 -1
  698. package/dist/lib/server/ctx-metadata/store.d.ts +1 -1
  699. package/dist/lib/server/ctx-metadata/store.d.ts.map +1 -1
  700. package/dist/lib/server/ctx-metadata/store.js +1 -0
  701. package/dist/lib/server/ctx-metadata/store.js.map +1 -1
  702. package/dist/lib/server/decisioning/account.d.ts +345 -21
  703. package/dist/lib/server/decisioning/account.d.ts.map +1 -1
  704. package/dist/lib/server/decisioning/account.js +150 -4
  705. package/dist/lib/server/decisioning/account.js.map +1 -1
  706. package/dist/lib/server/decisioning/admin-router.d.ts.map +1 -1
  707. package/dist/lib/server/decisioning/admin-router.js +5 -1
  708. package/dist/lib/server/decisioning/admin-router.js.map +1 -1
  709. package/dist/lib/server/decisioning/buyer-agent.d.ts +498 -0
  710. package/dist/lib/server/decisioning/buyer-agent.d.ts.map +1 -0
  711. package/dist/lib/server/decisioning/buyer-agent.js +382 -0
  712. package/dist/lib/server/decisioning/buyer-agent.js.map +1 -0
  713. package/dist/lib/server/decisioning/capabilities.d.ts +32 -5
  714. package/dist/lib/server/decisioning/capabilities.d.ts.map +1 -1
  715. package/dist/lib/server/decisioning/compose.d.ts +124 -0
  716. package/dist/lib/server/decisioning/compose.d.ts.map +1 -0
  717. package/dist/lib/server/decisioning/compose.js +48 -0
  718. package/dist/lib/server/decisioning/compose.js.map +1 -0
  719. package/dist/lib/server/decisioning/context.d.ts +11 -0
  720. package/dist/lib/server/decisioning/context.d.ts.map +1 -1
  721. package/dist/lib/server/decisioning/index.d.ts +13 -3
  722. package/dist/lib/server/decisioning/index.d.ts.map +1 -1
  723. package/dist/lib/server/decisioning/index.js +46 -2
  724. package/dist/lib/server/decisioning/index.js.map +1 -1
  725. package/dist/lib/server/decisioning/platform-helpers.d.ts +287 -0
  726. package/dist/lib/server/decisioning/platform-helpers.d.ts.map +1 -0
  727. package/dist/lib/server/decisioning/platform-helpers.js +336 -0
  728. package/dist/lib/server/decisioning/platform-helpers.js.map +1 -0
  729. package/dist/lib/server/decisioning/platform.d.ts +141 -20
  730. package/dist/lib/server/decisioning/platform.d.ts.map +1 -1
  731. package/dist/lib/server/decisioning/platform.js.map +1 -1
  732. package/dist/lib/server/decisioning/resolve-presets.d.ts +129 -0
  733. package/dist/lib/server/decisioning/resolve-presets.d.ts.map +1 -0
  734. package/dist/lib/server/decisioning/resolve-presets.js +142 -0
  735. package/dist/lib/server/decisioning/resolve-presets.js.map +1 -0
  736. package/dist/lib/server/decisioning/runtime/entity-hydration.generated.d.ts +8 -0
  737. package/dist/lib/server/decisioning/runtime/entity-hydration.generated.d.ts.map +1 -0
  738. package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js +101 -0
  739. package/dist/lib/server/decisioning/runtime/entity-hydration.generated.js.map +1 -0
  740. package/dist/lib/server/decisioning/runtime/from-platform.d.ts +91 -8
  741. package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
  742. package/dist/lib/server/decisioning/runtime/from-platform.js +928 -146
  743. package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
  744. package/dist/lib/server/decisioning/runtime/observed-modes.d.ts +40 -0
  745. package/dist/lib/server/decisioning/runtime/observed-modes.d.ts.map +1 -0
  746. package/dist/lib/server/decisioning/runtime/observed-modes.js +82 -0
  747. package/dist/lib/server/decisioning/runtime/observed-modes.js.map +1 -0
  748. package/dist/lib/server/decisioning/runtime/protocol-for-tool.js +2 -2
  749. package/dist/lib/server/decisioning/runtime/protocol-for-tool.js.map +1 -1
  750. package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -1
  751. package/dist/lib/server/decisioning/runtime/to-context.js +1 -0
  752. package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -1
  753. package/dist/lib/server/decisioning/runtime/validate-platform.d.ts.map +1 -1
  754. package/dist/lib/server/decisioning/runtime/validate-platform.js +40 -4
  755. package/dist/lib/server/decisioning/runtime/validate-platform.js.map +1 -1
  756. package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts +83 -6
  757. package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts.map +1 -1
  758. package/dist/lib/server/decisioning/specialisms/brand-rights.js +12 -5
  759. package/dist/lib/server/decisioning/specialisms/brand-rights.js.map +1 -1
  760. package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts +41 -4
  761. package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts.map +1 -1
  762. package/dist/lib/server/decisioning/specialisms/creative.d.ts +47 -3
  763. package/dist/lib/server/decisioning/specialisms/creative.d.ts.map +1 -1
  764. package/dist/lib/server/decisioning/specialisms/sales.d.ts +115 -9
  765. package/dist/lib/server/decisioning/specialisms/sales.d.ts.map +1 -1
  766. package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.d.ts +125 -0
  767. package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.d.ts.map +1 -0
  768. package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.js +52 -0
  769. package/dist/lib/server/decisioning/specialisms/sponsored-intelligence.js.map +1 -0
  770. package/dist/lib/server/decisioning/tenant-registry.d.ts +16 -0
  771. package/dist/lib/server/decisioning/tenant-registry.d.ts.map +1 -1
  772. package/dist/lib/server/decisioning/tenant-registry.js +8 -3
  773. package/dist/lib/server/decisioning/tenant-registry.js.map +1 -1
  774. package/dist/lib/server/decisioning/tenant-store.d.ts +200 -0
  775. package/dist/lib/server/decisioning/tenant-store.d.ts.map +1 -0
  776. package/dist/lib/server/decisioning/tenant-store.js +182 -0
  777. package/dist/lib/server/decisioning/tenant-store.js.map +1 -0
  778. package/dist/lib/server/decisioning/validate-specialisms.d.ts +66 -0
  779. package/dist/lib/server/decisioning/validate-specialisms.d.ts.map +1 -0
  780. package/dist/lib/server/decisioning/validate-specialisms.js +119 -0
  781. package/dist/lib/server/decisioning/validate-specialisms.js.map +1 -0
  782. package/dist/lib/server/index.d.ts +14 -2
  783. package/dist/lib/server/index.d.ts.map +1 -1
  784. package/dist/lib/server/index.js +41 -3
  785. package/dist/lib/server/index.js.map +1 -1
  786. package/dist/lib/server/media-buy-store.d.ts +126 -0
  787. package/dist/lib/server/media-buy-store.d.ts.map +1 -0
  788. package/dist/lib/server/media-buy-store.js +171 -0
  789. package/dist/lib/server/media-buy-store.js.map +1 -0
  790. package/dist/lib/server/redact.d.ts +52 -0
  791. package/dist/lib/server/redact.d.ts.map +1 -0
  792. package/dist/lib/server/redact.js +86 -0
  793. package/dist/lib/server/redact.js.map +1 -0
  794. package/dist/lib/server/responses.d.ts +60 -1
  795. package/dist/lib/server/responses.d.ts.map +1 -1
  796. package/dist/lib/server/responses.js +110 -1
  797. package/dist/lib/server/responses.js.map +1 -1
  798. package/dist/lib/server/serve.d.ts.map +1 -1
  799. package/dist/lib/server/serve.js +53 -1
  800. package/dist/lib/server/serve.js.map +1 -1
  801. package/dist/lib/server/state-machine.d.ts +80 -0
  802. package/dist/lib/server/state-machine.d.ts.map +1 -0
  803. package/dist/lib/server/state-machine.js +125 -0
  804. package/dist/lib/server/state-machine.js.map +1 -0
  805. package/dist/lib/server/test-controller.d.ts +51 -0
  806. package/dist/lib/server/test-controller.d.ts.map +1 -1
  807. package/dist/lib/server/test-controller.js +112 -30
  808. package/dist/lib/server/test-controller.js.map +1 -1
  809. package/dist/lib/server/upstream-helpers.d.ts +182 -0
  810. package/dist/lib/server/upstream-helpers.d.ts.map +1 -0
  811. package/dist/lib/server/upstream-helpers.js +140 -0
  812. package/dist/lib/server/upstream-helpers.js.map +1 -0
  813. package/dist/lib/signing/agent-resolver/canonicalize.d.ts +44 -0
  814. package/dist/lib/signing/agent-resolver/canonicalize.d.ts.map +1 -0
  815. package/dist/lib/signing/agent-resolver/canonicalize.js +85 -0
  816. package/dist/lib/signing/agent-resolver/canonicalize.js.map +1 -0
  817. package/dist/lib/signing/agent-resolver/capabilities-types.d.ts +54 -0
  818. package/dist/lib/signing/agent-resolver/capabilities-types.d.ts.map +1 -0
  819. package/dist/lib/signing/agent-resolver/capabilities-types.js +49 -0
  820. package/dist/lib/signing/agent-resolver/capabilities-types.js.map +1 -0
  821. package/dist/lib/signing/agent-resolver/consistency.d.ts +84 -0
  822. package/dist/lib/signing/agent-resolver/consistency.d.ts.map +1 -0
  823. package/dist/lib/signing/agent-resolver/consistency.js +121 -0
  824. package/dist/lib/signing/agent-resolver/consistency.js.map +1 -0
  825. package/dist/lib/signing/agent-resolver/errors.d.ts +68 -0
  826. package/dist/lib/signing/agent-resolver/errors.d.ts.map +1 -0
  827. package/dist/lib/signing/agent-resolver/errors.js +45 -0
  828. package/dist/lib/signing/agent-resolver/errors.js.map +1 -0
  829. package/dist/lib/signing/agent-resolver/etld.d.ts +25 -0
  830. package/dist/lib/signing/agent-resolver/etld.d.ts.map +1 -0
  831. package/dist/lib/signing/agent-resolver/etld.js +75 -0
  832. package/dist/lib/signing/agent-resolver/etld.js.map +1 -0
  833. package/dist/lib/signing/agent-resolver/fetch-helpers.d.ts +41 -0
  834. package/dist/lib/signing/agent-resolver/fetch-helpers.d.ts.map +1 -0
  835. package/dist/lib/signing/agent-resolver/fetch-helpers.js +85 -0
  836. package/dist/lib/signing/agent-resolver/fetch-helpers.js.map +1 -0
  837. package/dist/lib/signing/agent-resolver/index.d.ts +26 -0
  838. package/dist/lib/signing/agent-resolver/index.d.ts.map +1 -0
  839. package/dist/lib/signing/agent-resolver/index.js +33 -0
  840. package/dist/lib/signing/agent-resolver/index.js.map +1 -0
  841. package/dist/lib/signing/agent-resolver/jwks-set.d.ts +76 -0
  842. package/dist/lib/signing/agent-resolver/jwks-set.d.ts.map +1 -0
  843. package/dist/lib/signing/agent-resolver/jwks-set.js +124 -0
  844. package/dist/lib/signing/agent-resolver/jwks-set.js.map +1 -0
  845. package/dist/lib/signing/agent-resolver/resolve-agent.d.ts +123 -0
  846. package/dist/lib/signing/agent-resolver/resolve-agent.d.ts.map +1 -0
  847. package/dist/lib/signing/agent-resolver/resolve-agent.js +398 -0
  848. package/dist/lib/signing/agent-resolver/resolve-agent.js.map +1 -0
  849. package/dist/lib/signing/agent-resolver/select-agent.d.ts +54 -0
  850. package/dist/lib/signing/agent-resolver/select-agent.d.ts.map +1 -0
  851. package/dist/lib/signing/agent-resolver/select-agent.js +94 -0
  852. package/dist/lib/signing/agent-resolver/select-agent.js.map +1 -0
  853. package/dist/lib/signing/agent-resolver/strict-json.d.ts +44 -0
  854. package/dist/lib/signing/agent-resolver/strict-json.d.ts.map +1 -0
  855. package/dist/lib/signing/agent-resolver/strict-json.js +219 -0
  856. package/dist/lib/signing/agent-resolver/strict-json.js.map +1 -0
  857. package/dist/lib/signing/capability-priming.d.ts.map +1 -1
  858. package/dist/lib/signing/capability-priming.js +2 -55
  859. package/dist/lib/signing/capability-priming.js.map +1 -1
  860. package/dist/lib/signing/protocol-response.d.ts +18 -0
  861. package/dist/lib/signing/protocol-response.d.ts.map +1 -0
  862. package/dist/lib/signing/protocol-response.js +69 -0
  863. package/dist/lib/signing/protocol-response.js.map +1 -0
  864. package/dist/lib/signing/server.d.ts +1 -0
  865. package/dist/lib/signing/server.d.ts.map +1 -1
  866. package/dist/lib/signing/server.js +10 -1
  867. package/dist/lib/signing/server.js.map +1 -1
  868. package/dist/lib/signing/testing.d.ts +64 -0
  869. package/dist/lib/signing/testing.d.ts.map +1 -1
  870. package/dist/lib/signing/testing.js +100 -5
  871. package/dist/lib/signing/testing.js.map +1 -1
  872. package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
  873. package/dist/lib/testing/compliance/comply.js +2 -0
  874. package/dist/lib/testing/compliance/comply.js.map +1 -1
  875. package/dist/lib/testing/compliance/types.d.ts +8 -0
  876. package/dist/lib/testing/compliance/types.d.ts.map +1 -1
  877. package/dist/lib/testing/comply-controller.d.ts +23 -2
  878. package/dist/lib/testing/comply-controller.d.ts.map +1 -1
  879. package/dist/lib/testing/comply-controller.js +19 -2
  880. package/dist/lib/testing/comply-controller.js.map +1 -1
  881. package/dist/lib/testing/index.d.ts +1 -1
  882. package/dist/lib/testing/index.d.ts.map +1 -1
  883. package/dist/lib/testing/index.js.map +1 -1
  884. package/dist/lib/testing/storyboard/agent-routing.d.ts +92 -0
  885. package/dist/lib/testing/storyboard/agent-routing.d.ts.map +1 -0
  886. package/dist/lib/testing/storyboard/agent-routing.js +291 -0
  887. package/dist/lib/testing/storyboard/agent-routing.js.map +1 -0
  888. package/dist/lib/testing/storyboard/context.d.ts +22 -0
  889. package/dist/lib/testing/storyboard/context.d.ts.map +1 -1
  890. package/dist/lib/testing/storyboard/context.js +35 -8
  891. package/dist/lib/testing/storyboard/context.js.map +1 -1
  892. package/dist/lib/testing/storyboard/default-invariants.js +6 -35
  893. package/dist/lib/testing/storyboard/default-invariants.js.map +1 -1
  894. package/dist/lib/testing/storyboard/index.d.ts +1 -1
  895. package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
  896. package/dist/lib/testing/storyboard/index.js.map +1 -1
  897. package/dist/lib/testing/storyboard/loader.js +46 -12
  898. package/dist/lib/testing/storyboard/loader.js.map +1 -1
  899. package/dist/lib/testing/storyboard/request-builder.d.ts.map +1 -1
  900. package/dist/lib/testing/storyboard/request-builder.js +14 -1
  901. package/dist/lib/testing/storyboard/request-builder.js.map +1 -1
  902. package/dist/lib/testing/storyboard/runner.d.ts +17 -0
  903. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  904. package/dist/lib/testing/storyboard/runner.js +800 -92
  905. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  906. package/dist/lib/testing/storyboard/types.d.ts +221 -12
  907. package/dist/lib/testing/storyboard/types.d.ts.map +1 -1
  908. package/dist/lib/testing/storyboard/types.js.map +1 -1
  909. package/dist/lib/testing/storyboard/validations.d.ts +65 -0
  910. package/dist/lib/testing/storyboard/validations.d.ts.map +1 -1
  911. package/dist/lib/testing/storyboard/validations.js +511 -2
  912. package/dist/lib/testing/storyboard/validations.js.map +1 -1
  913. package/dist/lib/testing/test-controller.d.ts +65 -1
  914. package/dist/lib/testing/test-controller.d.ts.map +1 -1
  915. package/dist/lib/testing/test-controller.js +36 -0
  916. package/dist/lib/testing/test-controller.js.map +1 -1
  917. package/dist/lib/testing/types.d.ts +14 -0
  918. package/dist/lib/testing/types.d.ts.map +1 -1
  919. package/dist/lib/types/core.generated.d.ts +299 -141
  920. package/dist/lib/types/core.generated.d.ts.map +1 -1
  921. package/dist/lib/types/core.generated.js +2 -2
  922. package/dist/lib/types/error-codes.d.ts +168 -108
  923. package/dist/lib/types/error-codes.d.ts.map +1 -1
  924. package/dist/lib/types/error-codes.js +23 -190
  925. package/dist/lib/types/error-codes.js.map +1 -1
  926. package/dist/lib/types/error-details.aliases.d.ts +48 -0
  927. package/dist/lib/types/error-details.aliases.d.ts.map +1 -0
  928. package/dist/lib/types/error-details.aliases.js +41 -0
  929. package/dist/lib/types/error-details.aliases.js.map +1 -0
  930. package/dist/lib/types/index.d.ts +15 -1
  931. package/dist/lib/types/index.d.ts.map +1 -1
  932. package/dist/lib/types/index.js +7 -0
  933. package/dist/lib/types/index.js.map +1 -1
  934. package/dist/lib/types/inline-enums.generated.d.ts +2 -4
  935. package/dist/lib/types/inline-enums.generated.d.ts.map +1 -1
  936. package/dist/lib/types/inline-enums.generated.js +10 -7
  937. package/dist/lib/types/inline-enums.generated.js.map +1 -1
  938. package/dist/lib/types/manifest.generated.d.ts +280 -0
  939. package/dist/lib/types/manifest.generated.d.ts.map +1 -0
  940. package/dist/lib/types/manifest.generated.js +339 -0
  941. package/dist/lib/types/manifest.generated.js.map +1 -0
  942. package/dist/lib/types/schemas.generated.d.ts +27229 -25160
  943. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  944. package/dist/lib/types/schemas.generated.js +584 -533
  945. package/dist/lib/types/schemas.generated.js.map +1 -1
  946. package/dist/lib/types/tools.generated.d.ts +146 -21
  947. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  948. package/dist/lib/types/v2-5/tools.generated.d.ts +48 -1
  949. package/dist/lib/types/v2-5/tools.generated.d.ts.map +1 -1
  950. package/dist/lib/upstream-recorder/index.d.ts +57 -0
  951. package/dist/lib/upstream-recorder/index.d.ts.map +1 -0
  952. package/dist/lib/upstream-recorder/index.js +62 -0
  953. package/dist/lib/upstream-recorder/index.js.map +1 -0
  954. package/dist/lib/upstream-recorder/recorder.d.ts +35 -0
  955. package/dist/lib/upstream-recorder/recorder.d.ts.map +1 -0
  956. package/dist/lib/upstream-recorder/recorder.js +507 -0
  957. package/dist/lib/upstream-recorder/recorder.js.map +1 -0
  958. package/dist/lib/upstream-recorder/types.d.ts +365 -0
  959. package/dist/lib/upstream-recorder/types.d.ts.map +1 -0
  960. package/dist/lib/upstream-recorder/types.js +30 -0
  961. package/dist/lib/upstream-recorder/types.js.map +1 -0
  962. package/dist/lib/utils/capabilities.d.ts +44 -3
  963. package/dist/lib/utils/capabilities.d.ts.map +1 -1
  964. package/dist/lib/utils/capabilities.js +67 -3
  965. package/dist/lib/utils/capabilities.js.map +1 -1
  966. package/dist/lib/utils/error-extraction.d.ts +24 -0
  967. package/dist/lib/utils/error-extraction.d.ts.map +1 -1
  968. package/dist/lib/utils/error-extraction.js +0 -2
  969. package/dist/lib/utils/error-extraction.js.map +1 -1
  970. package/dist/lib/utils/format-render-builders.d.ts +2 -1
  971. package/dist/lib/utils/format-render-builders.d.ts.map +1 -1
  972. package/dist/lib/utils/format-render-builders.js +0 -23
  973. package/dist/lib/utils/format-render-builders.js.map +1 -1
  974. package/dist/lib/utils/glob.d.ts +30 -0
  975. package/dist/lib/utils/glob.d.ts.map +1 -0
  976. package/dist/lib/utils/glob.js +39 -0
  977. package/dist/lib/utils/glob.js.map +1 -0
  978. package/dist/lib/utils/redact-secrets.d.ts +37 -0
  979. package/dist/lib/utils/redact-secrets.d.ts.map +1 -0
  980. package/dist/lib/utils/redact-secrets.js +65 -0
  981. package/dist/lib/utils/redact-secrets.js.map +1 -0
  982. package/dist/lib/utils/tool-request-schemas.d.ts.map +1 -1
  983. package/dist/lib/utils/tool-request-schemas.js +1 -0
  984. package/dist/lib/utils/tool-request-schemas.js.map +1 -1
  985. package/dist/lib/validation/hints.d.ts +50 -0
  986. package/dist/lib/validation/hints.d.ts.map +1 -0
  987. package/dist/lib/validation/hints.js +194 -0
  988. package/dist/lib/validation/hints.js.map +1 -0
  989. package/dist/lib/validation/schema-errors.d.ts +2 -1
  990. package/dist/lib/validation/schema-errors.d.ts.map +1 -1
  991. package/dist/lib/validation/schema-errors.js +39 -4
  992. package/dist/lib/validation/schema-errors.js.map +1 -1
  993. package/dist/lib/validation/schema-loader.d.ts +13 -0
  994. package/dist/lib/validation/schema-loader.d.ts.map +1 -1
  995. package/dist/lib/validation/schema-loader.js +20 -0
  996. package/dist/lib/validation/schema-loader.js.map +1 -1
  997. package/dist/lib/validation/schema-validator.d.ts +107 -2
  998. package/dist/lib/validation/schema-validator.d.ts.map +1 -1
  999. package/dist/lib/validation/schema-validator.js +205 -12
  1000. package/dist/lib/validation/schema-validator.js.map +1 -1
  1001. package/dist/lib/validation/sync-creatives.d.ts +30 -0
  1002. package/dist/lib/validation/sync-creatives.d.ts.map +1 -1
  1003. package/dist/lib/version.d.ts +7 -7
  1004. package/dist/lib/version.d.ts.map +1 -1
  1005. package/dist/lib/version.js +9 -5
  1006. package/dist/lib/version.js.map +1 -1
  1007. package/docs/guides/BUILD-AN-AGENT.md +267 -137
  1008. package/docs/llms.txt +110 -55
  1009. package/examples/CONTRIBUTING.md +173 -0
  1010. package/examples/README.md +48 -0
  1011. package/examples/comply-controller-seller.ts +9 -17
  1012. package/examples/decisioning-platform-broadcast-tv.ts +3 -2
  1013. package/examples/decisioning-platform-implicit-accounts.ts +168 -0
  1014. package/examples/decisioning-platform-mock-seller.ts +3 -2
  1015. package/examples/decisioning-platform-multi-tenant-db.ts +317 -0
  1016. package/examples/decisioning-platform-programmatic.ts +3 -2
  1017. package/examples/hello-cluster.ts +460 -0
  1018. package/examples/hello_creative_adapter_ad_server.ts +790 -0
  1019. package/examples/hello_creative_adapter_template.ts +528 -0
  1020. package/examples/hello_seller_adapter_guaranteed.ts +1138 -0
  1021. package/examples/hello_seller_adapter_multi_tenant.ts +1046 -0
  1022. package/examples/hello_seller_adapter_non_guaranteed.ts +1020 -0
  1023. package/examples/hello_seller_adapter_social.ts +829 -0
  1024. package/examples/hello_si_adapter_brand.ts +572 -0
  1025. package/examples/hello_signals_adapter_marketplace.ts +532 -0
  1026. package/examples/seller-test-controller.ts +22 -28
  1027. package/package.json +32 -4
  1028. package/skills/SHAPE-GOTCHAS.md +233 -0
  1029. package/skills/build-brand-rights-agent/SKILL.md +121 -16
  1030. package/skills/build-creative-agent/SKILL.md +128 -184
  1031. package/skills/build-decisioning-platform/advanced/MULTI-TENANT.md +104 -28
  1032. package/skills/build-generative-seller-agent/SKILL.md +15 -9
  1033. package/skills/build-governance-agent/SKILL.md +20 -11
  1034. package/skills/build-holdco-agent/SKILL.md +250 -0
  1035. package/skills/build-retail-media-agent/SKILL.md +10 -8
  1036. package/skills/build-seller-agent/SKILL.md +315 -49
  1037. package/skills/build-seller-agent/specialisms/sales-broadcast-tv.md +2 -0
  1038. package/skills/build-seller-agent/specialisms/sales-guaranteed.md +18 -0
  1039. package/skills/build-seller-agent/specialisms/sales-non-guaranteed.md +9 -29
  1040. package/skills/build-seller-agent/specialisms/sales-social.md +63 -2
  1041. package/skills/build-si-agent/SKILL.md +251 -196
  1042. package/skills/build-signals-agent/SKILL.md +4 -0
  1043. package/skills/call-adcp-agent/SKILL.md +7 -1
  1044. package/skills/run-by-experts/SKILL.md +116 -0
  1045. package/skills/triage-storyboard-failure/SKILL.md +96 -0
  1046. package/skills/call-adcp-agent.previous/SKILL.md +0 -339
  1047. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/brand/index.yaml +0 -0
  1048. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/creative/index.yaml +0 -0
  1049. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/governance/index.yaml +0 -0
  1050. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/creative-reception.yaml +0 -0
  1051. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/index.yaml +0 -0
  1052. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  1053. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
  1054. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/delivery_reporting.yaml +0 -0
  1055. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/governance_approved.yaml +0 -0
  1056. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/governance_conditions.yaml +0 -0
  1057. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/governance_denied.yaml +0 -0
  1058. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  1059. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/invalid_transitions.yaml +0 -0
  1060. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
  1061. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
  1062. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  1063. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1064. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1065. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/scenarios/refine_products.yaml +0 -0
  1066. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/media-buy/state-machine.yaml +0 -0
  1067. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/signals/index.yaml +0 -0
  1068. /package/compliance/cache/{3.0.1 → 3.0.5}/domains/sponsored-intelligence/index.yaml +0 -0
  1069. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/brand/index.yaml +0 -0
  1070. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/creative/index.yaml +0 -0
  1071. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/governance/index.yaml +0 -0
  1072. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/creative-reception.yaml +0 -0
  1073. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/index.yaml +0 -0
  1074. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/create_media_buy_async.yaml +0 -0
  1075. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +0 -0
  1076. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/delivery_reporting.yaml +0 -0
  1077. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/governance_approved.yaml +0 -0
  1078. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/governance_conditions.yaml +0 -0
  1079. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/governance_denied.yaml +0 -0
  1080. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/governance_denied_recovery.yaml +0 -0
  1081. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/invalid_transitions.yaml +0 -0
  1082. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/inventory_list_no_match.yaml +0 -0
  1083. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/inventory_list_targeting.yaml +0 -0
  1084. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +0 -0
  1085. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +0 -0
  1086. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/proposal_finalize.yaml +0 -0
  1087. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/scenarios/refine_products.yaml +0 -0
  1088. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/media-buy/state-machine.yaml +0 -0
  1089. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/signals/index.yaml +0 -0
  1090. /package/compliance/cache/{3.0.1 → 3.0.5}/protocols/sponsored-intelligence/index.yaml +0 -0
  1091. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/brand-rights/scenarios/governance_denied.yaml +0 -0
  1092. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/collection-lists/index.yaml +0 -0
  1093. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/content-standards/index.yaml +0 -0
  1094. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/creative-ad-server/index.yaml +0 -0
  1095. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/creative-generative/generative-seller.yaml +0 -0
  1096. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/creative-generative/index.yaml +0 -0
  1097. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/creative-template/index.yaml +0 -0
  1098. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/governance-aware-seller/index.yaml +0 -0
  1099. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/governance-delivery-monitor/index.yaml +0 -0
  1100. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/governance-spend-authority/denied.yaml +0 -0
  1101. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/governance-spend-authority/index.yaml +0 -0
  1102. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/property-lists/index.yaml +0 -0
  1103. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/sales-broadcast-tv/index.yaml +0 -0
  1104. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/sales-catalog-driven/index.yaml +0 -0
  1105. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/sales-guaranteed/index.yaml +0 -0
  1106. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/sales-non-guaranteed/index.yaml +0 -0
  1107. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/sales-proposal-mode/index.yaml +0 -0
  1108. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/signal-marketplace/index.yaml +0 -0
  1109. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/signal-marketplace/scenarios/governance_denied.yaml +0 -0
  1110. /package/compliance/cache/{3.0.1 → 3.0.5}/specialisms/signal-owned/index.yaml +0 -0
  1111. /package/compliance/cache/{3.0.1 → 3.0.5}/test-kits/acme-outdoor.yaml +0 -0
  1112. /package/compliance/cache/{3.0.1 → 3.0.5}/test-kits/bistro-oranje.yaml +0 -0
  1113. /package/compliance/cache/{3.0.1 → 3.0.5}/test-kits/nova-motors.yaml +0 -0
  1114. /package/compliance/cache/{3.0.1 → 3.0.5}/test-kits/osei-natural.yaml +0 -0
  1115. /package/compliance/cache/{3.0.1 → 3.0.5}/test-kits/signed-requests-runner.yaml +0 -0
  1116. /package/compliance/cache/{3.0.1 → 3.0.5}/test-kits/substitution-observer-runner.yaml +0 -0
  1117. /package/compliance/cache/{3.0.1 → 3.0.5}/test-kits/summit-foods.yaml +0 -0
  1118. /package/compliance/cache/{3.0.1 → 3.0.5}/test-kits/webhook-receiver-runner.yaml +0 -0
  1119. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/001-minimal-plan.json +0 -0
  1120. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/002-full-plan.json +0 -0
  1121. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/003-bookkeeping-stripped.json +0 -0
  1122. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/004a-human-review-omitted.json +0 -0
  1123. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/004b-human-review-explicit-null.json +0 -0
  1124. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/005a-policy-categories-order-1.json +0 -0
  1125. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/005b-policy-categories-order-2.json +0 -0
  1126. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/006a-ext-trace-v1.json +0 -0
  1127. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/006b-ext-trace-v2.json +0 -0
  1128. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/007-unicode-objectives.json +0 -0
  1129. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/plan-hash/008-numeric-canonicalization.json +0 -0
  1130. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/README.md +0 -0
  1131. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/canonicalization.json +0 -0
  1132. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/keys.json +0 -0
  1133. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/001-no-signature-header.json +0 -0
  1134. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/002-wrong-tag.json +0 -0
  1135. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/003-expired-signature.json +0 -0
  1136. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/004-window-too-long.json +0 -0
  1137. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/005-alg-not-allowed.json +0 -0
  1138. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/006-missing-covered-component.json +0 -0
  1139. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/007-missing-content-digest.json +0 -0
  1140. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/008-unknown-keyid.json +0 -0
  1141. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +0 -0
  1142. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/010-content-digest-mismatch.json +0 -0
  1143. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/011-malformed-header.json +0 -0
  1144. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/012-missing-expires-param.json +0 -0
  1145. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/013-expires-le-created.json +0 -0
  1146. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/014-missing-nonce-param.json +0 -0
  1147. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/015-signature-invalid.json +0 -0
  1148. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/016-replayed-nonce.json +0 -0
  1149. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/017-key-revoked.json +0 -0
  1150. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +0 -0
  1151. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/019-signature-without-signature-input.json +0 -0
  1152. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/020-rate-abuse.json +0 -0
  1153. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +0 -0
  1154. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/022-multi-valued-content-type.json +0 -0
  1155. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +0 -0
  1156. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/024-unquoted-string-param.json +0 -0
  1157. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +0 -0
  1158. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/026-non-ascii-host.json +0 -0
  1159. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +0 -0
  1160. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/001-basic-post.json +0 -0
  1161. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/002-post-with-content-digest.json +0 -0
  1162. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/003-es256-post.json +0 -0
  1163. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/004-multiple-signature-labels.json +0 -0
  1164. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/005-default-port-stripped.json +0 -0
  1165. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/006-dot-segment-path.json +0 -0
  1166. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/007-query-byte-preserved.json +0 -0
  1167. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/008-percent-encoded-path.json +0 -0
  1168. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +0 -0
  1169. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +0 -0
  1170. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/011-ipv6-authority.json +0 -0
  1171. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +0 -0
  1172. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/README.md +0 -0
  1173. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/keys.json +0 -0
  1174. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/001-wrong-tag.json +0 -0
  1175. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/002-expired-signature.json +0 -0
  1176. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/003-window-too-long.json +0 -0
  1177. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +0 -0
  1178. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/005-missing-authority-component.json +0 -0
  1179. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/006-missing-content-digest.json +0 -0
  1180. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/007-unknown-keyid.json +0 -0
  1181. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +0 -0
  1182. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +0 -0
  1183. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +0 -0
  1184. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/011-signature-without-input.json +0 -0
  1185. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/012-missing-expires-param.json +0 -0
  1186. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/013-expires-le-created.json +0 -0
  1187. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +0 -0
  1188. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/015-signature-invalid.json +0 -0
  1189. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/016-replayed-nonce.json +0 -0
  1190. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/017-key-revoked.json +0 -0
  1191. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/018-rate-abuse.json +0 -0
  1192. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/019-revocation-stale.json +0 -0
  1193. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +0 -0
  1194. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +0 -0
  1195. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/positive/001-basic-post.json +0 -0
  1196. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/positive/002-es256-post.json +0 -0
  1197. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +0 -0
  1198. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/positive/004-default-port-stripped.json +0 -0
  1199. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +0 -0
  1200. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +0 -0
  1201. /package/compliance/cache/{3.0.1 → 3.0.5}/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +0 -0
  1202. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/capability-discovery.yaml +0 -0
  1203. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/collection-lists-pagination-integrity.yaml +0 -0
  1204. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/content-standards-pagination-integrity.yaml +0 -0
  1205. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/deterministic-testing.yaml +0 -0
  1206. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/error-compliance.yaml +0 -0
  1207. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/fictional-entities.yaml +0 -0
  1208. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/get-media-buys-pagination-integrity.yaml +0 -0
  1209. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/get-signals-pagination-integrity.yaml +0 -0
  1210. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/idempotency.yaml +0 -0
  1211. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/pagination-integrity-creative-formats.yaml +0 -0
  1212. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/pagination-integrity-list-accounts.yaml +0 -0
  1213. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/pagination-integrity.yaml +0 -0
  1214. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/property-lists-pagination-integrity.yaml +0 -0
  1215. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/schema-validation.yaml +0 -0
  1216. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/security.yaml +0 -0
  1217. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/signed-requests.yaml +0 -0
  1218. /package/compliance/cache/{3.0.1 → 3.0.5}/universal/webhook-emission.yaml +0 -0
@@ -9,6 +9,8 @@ description: Use when building an AdCP signals agent, creating an audience data
9
9
 
10
10
  A signals agent serves audience segments to buyers for campaign targeting. Two tools: `get_signals` (discovery) and `activate_signal` (push to DSPs or sales agents). The business model — marketplace vs owned data — shapes every implementation decision. Determine that first.
11
11
 
12
+ > **Common shape gotchas:** `signal_ids[]` in `get_signals` is `signal_id[]` (provenance objects with `source`/`data_provider_domain`/`id`), not bare strings. `activate_signal` returns deployments with `ActivationKey` `oneOf` — for `type: 'key_value'` the `key` and `value` fields sit at the TOP level of `activation_key`, NOT nested under a `key_value` sub-field. See [SHAPE-GOTCHAS.md](../SHAPE-GOTCHAS.md) for the patterns adopters consistently get wrong on first pass.
13
+
12
14
  ## When to Use
13
15
 
14
16
  - User wants to build an agent that serves audience/targeting data
@@ -21,6 +23,8 @@ A signals agent serves audience segments to buyers for campaign targeting. Two t
21
23
  - Rendering creatives from briefs → that's a creative agent
22
24
  - Building a client that _calls_ a signals agent → see `docs/getting-started.md`
23
25
 
26
+ **Often claimed alongside:** [`sales-social`](../build-seller-agent/SKILL.md) (walled-garden audience push), [`sales-non-guaranteed`](../build-seller-agent/SKILL.md) (DSP data marketplace as a side surface), [`audience-sync`](../build-seller-agent/SKILL.md) (identity-provider owned-graph activation). See [Common multi-specialism bundles](../../examples/README.md#common-multi-specialism-bundles).
27
+
24
28
  ## Specialisms This Skill Covers
25
29
 
26
30
  | Specialism | Status | Delta | See |
@@ -118,8 +118,12 @@ Every validation failure produces:
118
118
  - `issues[].pointer` — RFC 6901 JSON Pointer to the field.
119
119
  - `issues[].keyword` — AJV keyword (`required`, `type`, `oneOf`, `anyOf`, `additionalProperties`, `format`, `enum`).
120
120
  - `issues[].variants` — when the keyword is `oneOf` or `anyOf`, each entry lists one variant's `required` + declared `properties`. **Pick ONE variant**, send only its `required` fields. This is the fastest recovery path when you didn't know the field was a union.
121
+ - `issues[].discriminator` — when an SDK ≥6.7 picks a "best surviving variant" of a const-discriminated union, this is the `[{field, value}, …]` pairs that variant requires. Reads as the validator's verdict on which branch you were inferred to be targeting. Example: `discriminator: [{field: 'type', value: 'key_value'}]` plus `pointer: '/deployments/0/activation_key/key'` and `keyword: 'required'` means "you picked the `key_value` activation_key variant and it requires top-level `key` and `value`." Compound discriminators like `audience-selector`'s `(type, value_type)` produce two-entry arrays.
122
+ - `issues[].schemaId` — `$id` of the rejecting schema. For tools served from the bundled tree this is usually the response root; for flat-tree tools it can land on the deeper sub-schema. Diagnostic only; the actionable lever is `discriminator` + `variants` + `pointer`.
123
+ - `issues[].allowedValues` — closed enum lists for `keyword: 'enum'` issues. Picking from this list closes the case in one round.
124
+ - `issues[].hint` — SDK ≥6.8 only. One-sentence curated recipe for known shape gotchas: discriminator nesting (`activation_key`, VAST `delivery_type`), shape mismatches (`format_id` object, `budget` number, `signal_ids` provenance objects), and discriminator merging (`account`). When present, the hint is the most-direct fix path; read it before walking variants. Absent on the long tail — no hint just means there's no curated rule for the pattern.
121
125
 
122
- Patch the pointers, don't re-guess what the skill or the `variants` already told you, resend. Three attempts should cover every field.
126
+ **Recovery order**: read `hint` first (when present, it's the validated fix path); then `discriminator` (names which branch to fix); then `variants` (lists every option if you're not in a branch); then `pointer` + `keyword` + `message` for the leaf fix. Patch and resend. Three attempts should cover every field.
123
127
 
124
128
  ## Minimal working examples
125
129
 
@@ -225,6 +229,8 @@ Quick lookup before reading the full envelope. Match what you see in `adcp_error
225
229
  | Symptom | What it means | Fix |
226
230
  |---|---|---|
227
231
  | `keyword: 'oneOf'` with `variants[]` | Discriminated union — you sent fields from multiple variants, or none | Pick ONE variant from `variants[]`. Send only its `required` fields. |
232
+ | `discriminator: [{field, value}]` on a `required` issue | Validator inferred which branch you targeted; you missed required fields IN that branch | Read the `discriminator` pair, fill the missing required fields at the same level (don't nest under the discriminator field name). |
233
+ | `hint:` field present on the issue | SDK matched a curated shape-gotcha rule | Apply the hint directly — it's the validated fix path. |
228
234
  | 2-3 `additionalProperties` errors at the same pointer | You merged `oneOf` variants ({account_id, brand, operator, …}) | Drop to one variant. Don't keep "extra" fields "for completeness". |
229
235
  | `keyword: 'required'`, `pointer: '/idempotency_key'` | Mutating tool, no UUID | Generate fresh UUID per logical operation. Reuse it on retries. |
230
236
  | `keyword: 'type'` or `additionalProperties` at `/budget` | Sent `{amount, currency}` | `budget` is a number. Currency is implied by `pricing_option_id`. |
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: run-by-experts
3
+ description: Use before opening a SUBSTANTIVE PR (protocol changes, multi-tenant or auth surfaces, adopter-facing examples, refactors that span specialism modules). Fires multiple expert reviewers in parallel and uses convergence as the blocker signal — items flagged by 2+ reviewers are real; single-reviewer findings are usually preferences. Skip for trivial changes (single-line fixes, README typos, mechanical refactors).
4
+ ---
5
+
6
+ # Run by Experts
7
+
8
+ ## Overview
9
+
10
+ Multi-reviewer parallel review where **convergence is the load-bearing signal**. Items flagged by two or more reviewers are real blockers. Single-reviewer findings are usually preferences worth considering but not gating.
11
+
12
+ This skill exists because solo Claude review on a non-trivial PR catches obvious bugs but misses domain-specific landmines (multi-tenant isolation, protocol shape, type-system gotchas, adopter-DX cliffs). Each expert reviewer carries different domain priors; running them in parallel and acting on the intersection produces a better signal than any single review.
13
+
14
+ ## When to use
15
+
16
+ **Always run before opening:**
17
+
18
+ - Protocol-level changes (request/response shapes, error codes, new specialism interfaces)
19
+ - Multi-tenant or auth surfaces (isolation gates, credential handling, sandbox boundaries)
20
+ - Adopter-facing examples (`examples/hello_*`, skill files, public docs)
21
+ - Bug fixes where the root cause might be either side of an interface boundary
22
+
23
+ **Optional but high-value:**
24
+
25
+ - Refactors that span multiple specialism modules
26
+ - API surface changes (export shape, type changes, deprecations)
27
+ - New subagent prompts or skill files
28
+
29
+ **Skip:**
30
+
31
+ - Trivial changes (changesets, single-line bug fixes with obvious test coverage, README typos)
32
+ - Pure mechanical refactors (rename, dead-code removal) where you've verified no behavior change
33
+
34
+ ## The reviewer set
35
+
36
+ Pick the relevant subset for the PR. Default for a substantive change is all four:
37
+
38
+ | Reviewer | Focus | Fire when |
39
+ | ------------------------- | ----------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
40
+ | `ad-tech-protocol-expert` | Wire shape vs spec, error code placement, schema conformance, protocol contract | Any protocol-touching change |
41
+ | `code-reviewer` | Correctness, type-safety, dead code, casts, edge cases, hidden control flow | All non-trivial code changes |
42
+ | `security-reviewer` | Tenant isolation, auth/credential handling, prompt-injection surfaces, fail-open vs fail-closed gates, SSRF | Any change that touches auth, multi-tenancy, or buyer-supplied data flowing through error envelopes |
43
+ | `dx-expert` | Forkability, SWAP markers, header doc clarity, copy-paste anti-patterns, README discoverability | Any adopter-facing example or doc change |
44
+
45
+ For protocol-only / spec-side changes, `adtech-product-expert` (buy-side / sell-side product fit) is often a fifth.
46
+
47
+ ## How to fire
48
+
49
+ Single message, multiple `Agent` tool calls in parallel — never sequential. Run-in-background unless the PR is so small that you'll wait on the first one. Each prompt is **self-contained**: the agent has no memory of the conversation, so include:
50
+
51
+ - File paths in scope
52
+ - Branch name
53
+ - Specific items the prior round (if any) claimed to fix — verify each
54
+ - Specific concerns you want flagged (don't ask "what do you think?" — that produces shallow review)
55
+ - Word budget ("Under 500 words")
56
+ - Format expectation ("Report: blockers / concerns / fine, per item")
57
+
58
+ Example brief shape (excerpted from `bokelley/hello-adapters-gov-rights` round 2):
59
+
60
+ > Re-review of PR #XXXX. Prior round flagged 17 findings; all blockers + must-fix concerns claimed addressed. Verify, and flag any NEW issues introduced by the fixes.
61
+ >
62
+ > Files in scope: `examples/foo.ts` (new, ~1200 lines).
63
+ >
64
+ > Prior-round items that should be fixed — verify each:
65
+ >
66
+ > 1. ...
67
+ > 2. ...
68
+ >
69
+ > New questions for this round:
70
+ >
71
+ > 1. ...
72
+ >
73
+ > Report: blockers / suggestions / nits. Under 500 words. Don't restate prior-round findings unless the fix introduces a new issue.
74
+
75
+ ## Reading the results
76
+
77
+ **Convergence (2+ reviewers same finding) = real blocker.** Act on these unconditionally.
78
+
79
+ **Single-reviewer must-fix = should-fix.** Read the reasoning; usually it's worth doing but defensibly skippable. Push back if the finding contradicts the convergent signals.
80
+
81
+ **Advisory = nice-to-have.** Roll into a follow-up issue or comment-only fix.
82
+
83
+ The convergence signal is doing real work. From the production example (round 1 of the multi-tenant adapter PR):
84
+
85
+ - The `as unknown as { account?: ... }` cast was flagged by THREE of four reviewers (code: "may be reading a runtime-undefined field"; DX: "cargo-cult-bait"; protocol: implicitly endorsed by saying "should pull from `ctx.account`"). All three independently spotted that the cast was a real bug, not a style preference.
86
+ - Single-reviewer concerns were mostly preferences (helper extraction style, comment placement nits). Worth doing but not gating.
87
+
88
+ ## Two-round pattern
89
+
90
+ For substantive PRs, run **two rounds**:
91
+
92
+ 1. **Round 1 — initial review.** Fire all relevant reviewers on the unreviewed code. Consolidate findings by convergence. Apply blockers + must-fix.
93
+ 2. **Round 2 — re-review of fixes.** Fire the same reviewers again, asking each to (a) verify each prior-round finding is fixed and (b) flag any NEW issues the fix introduced.
94
+
95
+ Round-2 finds the regressions fix-blindness misses. Production example: round 2 caught a fail-OPEN tenant gate that round 1's fix had introduced (the gate was `if (homeTenantId && tenantId !== homeTenantId)` — when `homeTenantId` is undefined, the check skips; round 1 hadn't considered that path).
96
+
97
+ ## Process artifacts to ship with the PR
98
+
99
+ After all rounds land, the PR description should include:
100
+
101
+ - A consolidated "Expert review" section listing each round's blockers and how each was addressed
102
+ - The reviewer convergence signal (e.g., "3 of 4 flagged X" → "this was the real bug")
103
+ - Any single-reviewer items that were intentionally NOT fixed, with reasoning
104
+ - Cross-links to upstream-spec issues filed during review (if storyboards or spec gaps surfaced — see `skills/triage-storyboard-failure/`)
105
+
106
+ ## What this skill is NOT
107
+
108
+ - A replacement for human reviewers — convergent expert review surfaces issues fast, but humans make the final call on whether to merge
109
+ - An excuse to skip writing tests — reviewers can't verify behavior they can't run
110
+ - A substitute for `npm run typecheck` / `npm run format:check` / CI — those gate-before-review
111
+
112
+ ## See also
113
+
114
+ - `skills/triage-storyboard-failure/` — when an expert review (or your own testing) surfaces a storyboard-vs-spec mismatch
115
+ - `examples/CONTRIBUTING.md` — the SWAP-marker and DO-NOT-DEPLOY-AS-IS conventions DX reviewers will check for
116
+ - `~/.claude/commands/prep-for-pr.md` (personal command) — calls this skill plus the build/test/security-review chain
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: triage-storyboard-failure
3
+ description: Use when an AdCP compliance storyboard fails on an adapter you believe is spec-correct. Walks the rubric for deciding whether to fix the SDK, the adapter, or file upstream against the spec/storyboard.
4
+ ---
5
+
6
+ # Triage a Storyboard Failure
7
+
8
+ ## Overview
9
+
10
+ Storyboards in `compliance/cache/<version>/` are assertions about adopter behavior. They are **not** the spec — they are tests authored against the spec. Storyboards drift. When one fails, the question is _which side is wrong_: the adapter, the SDK, or the storyboard itself.
11
+
12
+ This skill is the rubric for that decision. It exists because adopter-facing failures look identical regardless of cause, and the wrong-direction fix (changing the SDK to satisfy a storyboard that disagrees with the spec) compounds drift across the ecosystem.
13
+
14
+ ## When to Use
15
+
16
+ - A `storyboard run` step fails on an adapter you believe satisfies the spec
17
+ - The runner reports `expect_error.code` mismatch, `context_outputs path did not resolve`, or a `response_schema` failure on a response that round-trips through the generated TS types
18
+ - You're tempted to add a field, change an error code, or adjust a response shape "to make the test pass"
19
+
20
+ **Not this skill:**
21
+
22
+ - Real adopter bugs (your handler returns malformed data, throws unexpectedly, ignores a required field) — fix the adapter
23
+ - Wire-schema validation failures (`additionalProperties`, missing required) on requests YOU sent — fix the request
24
+
25
+ ## The rubric
26
+
27
+ For any failing step, work the three checks in order. **Stop at the first answer.**
28
+
29
+ ### 1. Does the spec define the contract the storyboard is asserting?
30
+
31
+ Open the schema the storyboard's step references (`schemas/cache/<version>/<protocol>/<tool>-response.json` or similar). Find the field, error code, or shape the storyboard expects.
32
+
33
+ - **Field exists in the spec, with the shape the storyboard expects** → continue to step 2.
34
+ - **Field exists in the spec but with a different shape** → spec or storyboard mismatch; the storyboard is wrong. File upstream against `adcontextprotocol/adcp`. Cite the schema file path + line.
35
+ - **Field does NOT exist in the spec** → the storyboard authored an opinion that has no spec basis. The storyboard is wrong. File upstream.
36
+ - **Spec is silent** (the contract is ambiguous) → flag the spec gap upstream. The storyboard's interpretation may be reasonable, but adopters can't know which interpretation to follow without spec clarity.
37
+
38
+ ### 2. Does the SDK shape match the spec?
39
+
40
+ If the spec defines the contract correctly, check whether the SDK's generated TS types and runtime validators match it. Read the relevant `src/lib/types/*.generated.ts` interface and confirm:
41
+
42
+ - Every `required` field in the schema is present and non-optional in the TS type
43
+ - Every discriminator (e.g., `asset_type`, `status`) is preserved (codegen sometimes strips `oneOf` discriminators when generating union types)
44
+ - Format constraints (date vs date-time, URL pattern, idempotency_key length/pattern) are reflected in either the TS type or the framework's runtime validator
45
+
46
+ - **TS type matches spec, runtime validation works** → continue to step 3.
47
+ - **TS type allows what spec rejects (or vice versa)** → SDK bug. Fix the codegen or hand-fix the type. File against `adcp-client`.
48
+
49
+ ### 3. Is the storyboard's expectation actually testable from the request the runner sent?
50
+
51
+ Run the failing step in step mode (`adcp storyboard step <agent> <storyboard_id> <step_id> --json`) and inspect:
52
+
53
+ - The actual request payload the runner sent
54
+ - The actual response your adapter returned
55
+ - Each `validations[]` entry's pass/fail
56
+
57
+ Common patterns:
58
+
59
+ - **`context_outputs path did not resolve`** → the runner couldn't capture a value from your response under the expected path. Check whether the path matches what the spec defines (e.g., adcp#3892 captured `rights_grant_id` but the spec field is `rights_id` — storyboard was wrong).
60
+ - **`expect_error: code: X`** but your adapter returned a structured success response (e.g., `AcquireRightsRejected` with `reason`) → storyboard is asserting a thrown-error shape when the spec gives a first-class denial arm. Storyboard convention, not spec contract. File upstream.
61
+ - **`unresolved context variables from prior steps`** → the runner can't seed a variable the storyboard requires. Runner gap. File upstream against the storyboard runner.
62
+
63
+ ## Heuristics
64
+
65
+ - **Generated TS types** are not always tighter than the schema. Discriminator fields, `additionalProperties: false` constraints, and `oneOf` arms can be loosened during codegen. Trust the JSON Schema as ground truth.
66
+ - **`response_schema` validation passes but the step still fails** → almost always a storyboard `context_outputs` or `expect_error` mismatch. Your response is correct; the test's assertion is wrong.
67
+ - **A storyboard expects a thrown error code** (`expect_error: true` + `code: X`) when the spec defines a structured denial arm → the storyboard is shipping a non-spec convention. The Rejected/Pending/Acquired union is the canonical shape; thrown error codes are for system failures (timeout, unreachable), not policy decisions.
68
+ - **`requires_scenarios:`** in a storyboard YAML lists prerequisite scenarios that must run first. Step-mode runs lose this dependency; use full `storyboard run` mode to verify, then re-step the failing piece for diagnostics.
69
+
70
+ ## What to file
71
+
72
+ When the rubric points upstream, file with this template:
73
+
74
+ > **Title**: `<storyboard_id>` step `<step_id>`: `<assertion>` is non-spec — `<canonical_shape>` is the canonical wire shape
75
+ >
76
+ > **Repro**: Run any spec-compliant adapter; show the failing step's `--json` output.
77
+ >
78
+ > **Root cause**: Cite the spec schema file path + line that defines (or is silent on) the contract the storyboard asserts.
79
+ >
80
+ > **Fix**: Update the storyboard YAML (or the spec doc-comment, if the spec is genuinely ambiguous).
81
+
82
+ Cross-link to the adapter PR that surfaced it. The storyboard maintainers see the convergent signal across adopters and can prioritize.
83
+
84
+ ## Examples from production
85
+
86
+ Real triage walks from this codebase:
87
+
88
+ - **adcontextprotocol/adcp#3892** (closed): brand-rights storyboard's `acquire_rights` step captured `rights_grant_id` via `context_outputs`. Spec field is `rights_id`. Cascading skip on next step. **Resolution**: spec → field is `rights_id`; storyboard is wrong; filed; closed.
89
+ - **adcontextprotocol/adcp#3914** (open): brand-rights/governance_denied storyboard's `acquire_rights_denied` step expected thrown `code: GOVERNANCE_DENIED`. Spec gives `AcquireRightsRejected` arm with `reason`. **Resolution**: storyboard is asserting a non-spec convention; filed upstream; adapter ships spec-correct shape.
90
+ - **adcontextprotocol/adcp#3913** (open): `brand_rights/governance_denied` storyboard step `sync_governance` skips because `$context.governance_agent_url` is unresolved; runner has no `--context` flag for full `storyboard run` mode. **Resolution**: runner gap, not adapter or spec gap; filed upstream.
91
+
92
+ ## See also
93
+
94
+ - CLAUDE.md (this repo): "When a compliance storyboard fails, triage before patching" — the inline guidance this skill expands.
95
+ - `docs/guides/VALIDATE-YOUR-AGENT.md` — adopter-facing validation flow that runs storyboards.
96
+ - `docs/development/WIRE-VERSION-COMPAT.md` — storyboard cache layout per spec version.
@@ -1,339 +0,0 @@
1
- ---
2
- name: call-adcp-agent
3
- description: Wire-level invariants for any AdCP buyer call — idempotency_key replay semantics, account `oneOf` variants, async `status:'submitted'`+`task_id` polling, error recovery from `adcp_error.issues[]`. Load before any per-protocol task skill (adcp-media-buy, adcp-creative, adcp-signals, adcp-governance, adcp-si, adcp-brand) when calling an AdCP agent as a buyer.
4
- adcp_version: "3.x"
5
- type: cross-cutting
6
- ---
7
-
8
- # Call an AdCP agent
9
-
10
- ## Overview
11
-
12
- AdCP (Ad Context Protocol) agents expose a fixed tool surface (`get_products`, `create_media_buy`, `get_signals`, …) over MCP or A2A. Tool names come from `get_adcp_capabilities`; exact request/response shapes come from `get_schema(tool_name)` when the agent exposes it, otherwise from the bundled JSON Schemas your SDK ships (the layout differs by SDK — see "Discovery chain" below). This skill teaches the invariants that don't live cleanly in any schema: cross-tool patterns, async flow, error recovery.
13
-
14
- ## When to Use
15
-
16
- - User wants to call a publisher / SSP / retail media network over AdCP
17
- - Tool names like `get_products`, `create_media_buy`, `sync_creatives`, `get_signals` appear in the available-tools list
18
- - Agent card advertises `protocolVersion: '0.3.0'` with `skills` listing AdCP tool names
19
- - **Not this skill:** building an AdCP seller agent (see `@adcp/client/skills/build-seller-agent/` and analogous SDK skills)
20
-
21
- ## Discovery chain
22
-
23
- Walk these in order on first contact:
24
-
25
- 1. **Agent card** (A2A) or **`tools/list`** (MCP): returns tool NAMES. AdCP MCP servers no longer publish per-tool parameter schemas in `tools/list` — everything shows `{type: 'object', properties: {}}`. Don't try to infer shape from here.
26
- 2. **`get_adcp_capabilities`**: returns supported protocols (`media_buy`, `signals`, `creative`, …), AdCP major versions, feature flags. Tells you WHICH tools this agent supports, not how to call them.
27
- 3. **`get_schema(tool_name)`** *(when the agent exposes it — pending standardization in [#3057](https://github.com/adcontextprotocol/adcp/issues/3057), not yet universal)*: returns the JSON Schema for a tool's request/response. Preferred over reading bundled schemas when available.
28
- 4. **Bundled schemas** (offline, authoritative): every SDK ships the AdCP JSON Schemas locally. Path differs by SDK — spec repo source uses `dist/schemas/<version>/bundled/`, `@adcp/client` puts them at `schemas/cache/<version>/bundled/` after `npm run sync-schemas`, Python and Go SDKs use their own conventions. **Don't hardcode a path** — let the SDK's loader find them, or ask the developer. Each schema is `<protocol>/<tool>-{request,response}.json` once you locate the bundle. The canonical source for every SDK is `https://adcontextprotocol.org/protocol/<version>.tgz`.
29
-
30
- ## Non-obvious rules every buyer must follow
31
-
32
- ### `idempotency_key` is required on every mutating tool
33
-
34
- UUID format. The key is your retry-safety guarantee — and the most common way naive callers create duplicate media buys is by misunderstanding it:
35
-
36
- - **Same key on retry → replay.** The server returns the SAME response — same `task_id`, same `media_buy_id`, same shape, byte-for-byte. Use this for transport-level retries (timeout, 5xx, dropped connection).
37
- - **Fresh key on retry → NEW operation.** Generating a new UUID because the previous attempt failed is how you double-book. Reuse the key until you've seen a terminal response (success, error, or non-retryable error).
38
- - **Same key, different body → server-defined.** Most agents return the original cached response and ignore the body change. Don't rely on it — pick a fresh key only when you genuinely want a new operation.
39
- - For async flows, the replayed response carries the **same `task_id`**, so polling continues against the same task instead of forking a duplicate.
40
-
41
- Required on: `create_media_buy`, `update_media_buy`, `sync_creatives`, `sync_audiences`, `sync_accounts`, `sync_catalogs`, `sync_event_sources`, `sync_plans`, `sync_governance`, `activate_signal`, `acquire_rights`, `log_event`, `report_usage`, `provide_performance_feedback`, `report_plan_outcome`, `create_property_list`, `update_property_list`, `delete_property_list`, `create_collection_list`, `update_collection_list`, `delete_collection_list`, `create_content_standards`, `update_content_standards`, `calibrate_content`, `si_initiate_session`, `si_send_message`.
42
-
43
- Missing the key → `adcp_error.code: 'VALIDATION_ERROR'` with `/idempotency_key` in `issues`.
44
-
45
- ### `account` is a `oneOf` — pick ONE variant, send ONLY its fields
46
-
47
- Probably the single most common stumble for naive LLMs. `account` is a discriminated union. Per AdCP 3.0, two variants on `create_media_buy` / `update_media_buy`:
48
-
49
- ```json
50
- // variant 0: by seller-assigned id (from sync_accounts or list_accounts)
51
- "account": { "account_id": "seller_assigned_id" }
52
-
53
- // variant 1: by natural key (brand + operator, optional sandbox)
54
- "account": { "brand": { "domain": "acme.com" }, "operator": "sales.example" }
55
- ```
56
-
57
- **Do NOT merge required fields across variants** — `additionalProperties: false` on each variant means `{account_id, brand}` fails BOTH. Pick one variant and send only its fields. Always check the specific tool's schema because other tools (e.g. `sync_creatives`) may accept a superset.
58
-
59
- ### `brand` takes `{domain}` — not `{brand_id}`
60
-
61
- ```json
62
- "brand": { "domain": "acme.example" }
63
- ```
64
-
65
- ### Async responses: `status: 'submitted'` means "queued, poll later"
66
-
67
- A mutating tool can return one of three shapes:
68
-
69
- ```json
70
- // Success (sync): the work is done
71
- { "media_buy_id": "mb_123", "packages": [...], "confirmed_at": "..." }
72
-
73
- // Submitted (async): the work is queued
74
- { "status": "submitted", "task_id": "tk_abc", "message": "Awaiting IO signature" }
75
-
76
- // Error: don't retry without fixing
77
- { "errors": [{ "code": "PRODUCT_NOT_FOUND", "message": "..." }] }
78
- ```
79
-
80
- When you see `status: 'submitted'`, the work is NOT complete. Poll via `tasks/get` (A2A) or the MCP async task extension, using the `task_id`. Over A2A the AdCP `task_id` also rides on `artifact.metadata.adcp_task_id` — both work.
81
-
82
- ### `packages[*]` on media buys
83
-
84
- ```json
85
- "packages": [
86
- { "buyer_ref": "pkg_1", "product_id": "p_from_catalog", "budget": 10000, "pricing_option_id": "po_xyz" }
87
- ]
88
- ```
89
-
90
- `budget` is a **number** (not `{amount, currency}` — currency is implied by the pricing option). Required per package: `product_id`, `budget`, `pricing_option_id`. `buyer_ref` is optional but strongly recommended as a buyer-side correlation id across retries and reporting.
91
-
92
- ## Error envelope — read `issues[]` to recover
93
-
94
- Every validation failure produces:
95
-
96
- ```json
97
- {
98
- "adcp_error": {
99
- "code": "VALIDATION_ERROR",
100
- "recovery": "correctable",
101
- "field": "/first/offending/pointer",
102
- "issues": [
103
- {
104
- "pointer": "/account",
105
- "keyword": "oneOf",
106
- "message": "must match exactly one schema in oneOf",
107
- "variants": [
108
- { "index": 0, "required": ["account_id"], "properties": ["account_id"] },
109
- { "index": 1, "required": ["brand", "operator"], "properties": ["brand", "operator", "sandbox"] }
110
- ]
111
- },
112
- { "pointer": "/brand/domain", "keyword": "required", "message": "must have required property 'domain'" }
113
- ]
114
- }
115
- }
116
- ```
117
-
118
- - `issues[].pointer` — RFC 6901 JSON Pointer to the field.
119
- - `issues[].keyword` — AJV keyword (`required`, `type`, `oneOf`, `anyOf`, `additionalProperties`, `format`, `enum`).
120
- - `issues[].variants` — when the keyword is `oneOf` or `anyOf`, each entry lists one variant's `required` + declared `properties`. **Pick ONE variant**, send only its `required` fields. This is the fastest recovery path when you didn't know the field was a union.
121
-
122
- Patch the pointers, don't re-guess what the skill or the `variants` already told you, resend. Three attempts should cover every field.
123
-
124
- ## Minimal working examples
125
-
126
- ### get_products
127
-
128
- ```json
129
- {
130
- "buying_mode": "brief",
131
- "brief": "premium CTV sports inventory for live NBA finals in major US markets"
132
- }
133
- ```
134
-
135
- Returns `{ products: [{ product_id, name, description, delivery_type, pricing_options, ... }] }`.
136
-
137
- ### create_media_buy
138
-
139
- ```json
140
- {
141
- "idempotency_key": "<uuid>",
142
- "account": { "account_id": "seller_assigned_id" },
143
- "brand": { "domain": "acme.example" },
144
- "start_time": "2026-05-01T00:00:00Z",
145
- "end_time": "2026-05-31T23:59:59Z",
146
- "packages": [
147
- {
148
- "buyer_ref": "pkg_1",
149
- "product_id": "<product_id from get_products>",
150
- "budget": 10000,
151
- "pricing_option_id": "<pricing_option_id from product.pricing_options>"
152
- }
153
- ]
154
- }
155
- ```
156
-
157
- If you don't have a `seller_assigned_id`, use the natural-key variant instead:
158
- `"account": { "brand": { "domain": "acme.example" }, "operator": "sales.example" }`.
159
-
160
- Returns **either** `{ media_buy_id, packages: [...], confirmed_at }` (sync) **or** `{ status: 'submitted', task_id, message }` (async — guaranteed / IO-signed flows).
161
-
162
- ### sync_creatives
163
-
164
- ```json
165
- {
166
- "idempotency_key": "<uuid>",
167
- "account": { "account_id": "seller_assigned_id" },
168
- "creatives": [
169
- {
170
- "creative_id": "cr_1",
171
- "name": "My Creative",
172
- "format_id": { "agent_url": "https://creatives.adcontextprotocol.org", "id": "video_1920x1080" },
173
- "assets": {}
174
- }
175
- ]
176
- }
177
- ```
178
-
179
- Per-creative required: `creative_id`, `name`, `format_id: { agent_url, id }`, `assets` (shape depends on `format_id`; start with `{}` then fill required asset keys per format spec). Returns `{ creatives: [{ creative_id, action, status }] }` — items may fail individually without failing the batch.
180
-
181
- ### get_signals
182
-
183
- ```json
184
- {
185
- "signal_spec": "female professionals 25-54 in major US metros"
186
- }
187
- ```
188
-
189
- Returns `{ signals: [{ signal_agent_segment_id, match_rate, pricing, ... }] }`. Note: the identifier field is `signal_agent_segment_id` (not `signal_id`) — used as input to `activate_signal` below.
190
-
191
- ### activate_signal
192
-
193
- ```json
194
- {
195
- "idempotency_key": "<uuid>",
196
- "signal_agent_segment_id": "sig_premium_ctv_sports",
197
- "destinations": [
198
- { "type": "platform", "platform": "the-trade-desk" }
199
- ]
200
- }
201
- ```
202
-
203
- `destinations[]` is a `oneOf`: either `{type: 'platform', platform, account?}` OR `{type, agent_url, account?}`. Pick one shape per destination.
204
-
205
- ## Transport notes
206
-
207
- - **MCP**: `tools/call` with `{ name: 'tool_name', arguments: {...} }`. Returns `{ content, structuredContent, isError? }`. Read `structuredContent` for the typed response.
208
- - **Use the official `@modelcontextprotocol/sdk` client.** The Streamable HTTP transport requires `Accept: application/json, text/event-stream` on every request — a raw `fetch()` with only `Accept: application/json` gets an unhelpful `406 Not Acceptable` from the server before any AdCP framing runs. The official client sets the header correctly; reach for it instead of rolling your own HTTP plumbing.
209
- - **A2A**: `message/send` with a `DataPart` of shape `{ skill: 'tool_name', input: {...} }` (the legacy key `parameters` is also accepted). Returns an A2A `Task`; the typed response is at `task.artifacts[0].parts[0].data`.
210
-
211
- Both transports share: idempotency, error shape, schema enforcement, and handler semantics. If a call works on one, the equivalent call works on the other.
212
-
213
- ## Gotchas I keep seeing
214
-
215
- 1. **Merging `oneOf` variants**: see the account section above. If you see three `additionalProperties` errors under one pointer, you merged. Drop to one variant.
216
- 2. **`budget` as an object**: it's a number. Currency comes from the `pricing_option`.
217
- 3. **`brand.brand_id` instead of `brand.domain`**: spec uses `domain`.
218
- 4. **Forgetting `idempotency_key`**: required on every mutating tool; see the list above.
219
- 5. **Treating A2A `Task.state: 'completed'` as AdCP completion**: A2A task state = transport call lifecycle. AdCP-level completion is in the artifact's payload (`structuredContent.status` or `data.status`). A `completed` A2A task can still carry a `submitted` AdCP response.
220
- 6. **`format_id` as a string**: `format_id` is always an object `{ agent_url, id }` (and sometimes `{ width, height, duration_ms }` for dimensions). Sending `"format_id": "video_1920x1080"` fails with an `additionalProperties` / `type` error — pass the object.
221
-
222
- ## Symptom → fix
223
-
224
- Quick lookup before reading the full envelope. Match what you see in `adcp_error.issues[*]`, apply the fix:
225
-
226
- | Symptom | What it means | Fix |
227
- |---|---|---|
228
- | `keyword: 'oneOf'` with `variants[]` | Discriminated union — you sent fields from multiple variants, or none | Pick ONE variant from `variants[]`. Send only its `required` fields. |
229
- | 2-3 `additionalProperties` errors at the same pointer | You merged `oneOf` variants ({account_id, brand, operator, …}) | Drop to one variant. Don't keep "extra" fields "for completeness". |
230
- | `keyword: 'required'`, `pointer: '/idempotency_key'` | Mutating tool, no UUID | Generate fresh UUID per logical operation. Reuse it on retries. |
231
- | `keyword: 'type'` or `additionalProperties` at `/budget` | Sent `{amount, currency}` | `budget` is a number. Currency is implied by `pricing_option_id`. |
232
- | `additionalProperties` at `/format_id` (string passed) | Sent `"format_id": "video_..."` | `format_id` is `{agent_url, id}` — always an object. |
233
- | `keyword: 'enum'` at `/destinations/*/type` | Made-up destination type | Use `'platform'` (with `platform`) or `'agent'` (with `agent_url`). |
234
- | Response carries `status: 'submitted'` and `task_id` | Async — work is queued, NOT done | Poll via `tasks/get` (A2A) or the MCP async task extension using `task_id`. |
235
- | `recovery: 'transient'` (rate limit, 5xx, timeout) | Server-side, retry-safe | Retry with the **same** `idempotency_key`. |
236
- | `406 Not Acceptable` before any AdCP framing | Hand-rolled HTTP without `Accept: text/event-stream` (MCP transport) | Use `@modelcontextprotocol/sdk` client; it sets the right Accept header. |
237
- | `recovery: 'correctable'` | Buyer-side fix | Read `issues[]`, patch the pointers, resend. Most cases close in one attempt. (See exceptions below — four codes are technically `correctable` but operator-semantically human-escalate.) |
238
- | `recovery: 'terminal'` (account suspended, payment required, …) | Requires human action | Don't retry. Surface to the user. |
239
- | HTTP 401 with `WWW-Authenticate` header | Missing or expired credential | Add `Authorization` per the agent's auth spec; re-auth if applicable. |
240
-
241
- > **⚠️ Four codes are technically `correctable` but operator-semantically human-escalate. Don't auto-tweak.**
242
- >
243
- > - **`POLICY_VIOLATION`** — buyer's content/targeting violates seller policy. Auto-mutating creative or targeting and resubmitting **looks like evasion** to the seller's governance reviewer. Surface to a human.
244
- > - **`COMPLIANCE_UNSATISFIED`** — required disclosure can't be satisfied by the chosen format. Auto-relaxing the compliance section IS the compliance failure. Surface to a human.
245
- > - **`GOVERNANCE_DENIED`** — registered governance agent rejected the spend. Auto-shrinking budget and retrying looks like governance evasion. Surface to the plan operator.
246
- > - **`AUTH_REQUIRED`** — conflates missing creds (genuinely correctable) with revoked / expired creds (operator must rotate). Until [adcontextprotocol/adcp#3730](https://github.com/adcontextprotocol/adcp/issues/3730) splits this into `auth_missing` + `auth_invalid`, treat as escalate-after-one-attempt.
247
- >
248
- > Spec recovery on these is `correctable`; operator behavior is human-in-loop. The pattern: read `error.message` + `error.suggestion`, surface to the user, **don't loop**.
249
-
250
- ### Operationalize the recovery rules — `decideRetry`
251
-
252
- `@adcp/sdk` exports `decideRetry(error, ctx?)` which encodes the operator-grade defaults from the table above plus this section. It returns a discriminated `RetryDecision` so the type system enforces the same-vs-fresh `idempotency_key` rule:
253
-
254
- ```typescript
255
- import { decideRetry } from '@adcp/sdk';
256
- import { randomUUID } from 'node:crypto';
257
-
258
- async function callWithRetry(toolName: string, params: Record<string, unknown>): Promise<unknown> {
259
- let attempt = 1;
260
- let idempotencyKey = randomUUID();
261
-
262
- while (true) {
263
- try {
264
- return await agent.call(toolName, { ...params, idempotency_key: idempotencyKey });
265
- } catch (e) {
266
- const error = extractAdcpError(e); // your SDK's error extractor
267
- if (!error) throw e; // not an AdCP-shaped failure — let it bubble
268
-
269
- const decision = decideRetry(error, { attempt });
270
-
271
- if (decision.action === 'retry') {
272
- // Server-side transient (RATE_LIMITED, SERVICE_UNAVAILABLE, CONFLICT).
273
- // Replay with the SAME idempotency_key after the suggested delay.
274
- await sleep(decision.delayMs);
275
- attempt++;
276
- continue;
277
- }
278
-
279
- if (decision.action === 'mutate-and-retry') {
280
- // Buyer-fixable. Apply the seller's correction (decision.field /
281
- // decision.suggestion) and mint a FRESH idempotency_key — payload
282
- // changed, so the seller's replay-window must NOT dedupe.
283
- params = applyCorrection(params, error, decision); // your domain logic
284
- idempotencyKey = randomUUID();
285
- await sleep(decision.delayMs); // small jitter (~125-250ms by default)
286
- attempt++;
287
- continue;
288
- }
289
-
290
- // 'escalate' — stop the loop and surface to a human. Includes
291
- // commercial-relationship signals (POLICY_VIOLATION etc.), auth
292
- // failures, IDEMPOTENCY_EXPIRED (do a natural-key check first!),
293
- // attempt-cap exhaustion, and unknown vendor codes.
294
- throw new EscalationRequired(decision.reason, decision.message);
295
- }
296
- }
297
- }
298
- ```
299
-
300
- The discriminated union means TypeScript narrows correctly in each branch — `decision.delayMs` is only available on retry/mutate-and-retry, `decision.field` only on mutate-and-retry, `decision.message` only on escalate.
301
-
302
- For per-vertical overrides (e.g., a creative-template platform that legitimately auto-fixes `CREATIVE_REJECTED` format mismatches), instantiate `BuyerRetryPolicy` directly:
303
-
304
- ```typescript
305
- import { BuyerRetryPolicy } from '@adcp/sdk';
306
-
307
- const policy = new BuyerRetryPolicy({
308
- overrides: {
309
- CREATIVE_REJECTED: (error) => {
310
- if (error.field === 'creative.format' && /unsupported_format/.test(error.message)) {
311
- return { action: 'mutate-and-retry', delayMs: 0, attemptCap: 2, sameIdempotencyKey: false, reason: 'capability' };
312
- }
313
- return null; // fall through to default (escalate as commercial)
314
- },
315
- },
316
- });
317
-
318
- const decision = policy.decide(error, { attempt });
319
- ```
320
-
321
- Default policy is intentionally conservative — see the source comments in `src/lib/utils/buyer-retry-policy.ts` for per-code reasoning.
322
-
323
- If your symptom isn't here, fall through to the next section.
324
-
325
- ## If you get stuck
326
-
327
- Priority order:
328
-
329
- 1. Re-read the failure's `issues[]`. The pointer list plus this skill covers 80% of cases.
330
- 2. Call `get_schema(tool_name)` if the agent exposes it (see [#3057](https://github.com/adcontextprotocol/adcp/issues/3057) for the pending standard).
331
- 3. Read the bundled JSON Schema for `<protocol>/<tool>-request.json` — see Discovery chain step 4 for path resolution. If you can't locate the SDK's schema cache, ask the developer or fall back to `get_schema()`.
332
- 4. Consult the per-protocol skill (`adcp-media-buy`, `adcp-creative`, …) for specialism-specific patterns.
333
-
334
- ## Related
335
-
336
- - [Calling an agent (docs)](https://adcontextprotocol.org/docs/protocol/calling-an-agent) — human-readable narrative form of this skill
337
- - `skills/adcp-media-buy/`, `skills/adcp-creative/`, `skills/adcp-signals/`, `skills/adcp-governance/`, `skills/adcp-si/`, `skills/adcp-brand/` — per-protocol task skills (layered on top of this one)
338
- - `@adcp/client/skills/build-seller-agent/SKILL.md` — building agents on the other side of the call
339
- - Bundled JSON Schemas — canonical for every tool, version-pinned. Path differs by SDK (see Discovery chain step 4). Pulled from the protocol tarball at `/protocol/<version>.tgz`.