@adcp/sdk 5.23.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 (2426) hide show
  1. package/.claude-plugin/marketplace.json +17 -0
  2. package/.claude-plugin/plugin.json +25 -0
  3. package/ADCP_VERSION +1 -0
  4. package/AGENTS.md +282 -0
  5. package/LICENSE +191 -0
  6. package/README.md +816 -0
  7. package/bin/adcp-async-handler.js +275 -0
  8. package/bin/adcp-config.js +240 -0
  9. package/bin/adcp-fuzz.js +391 -0
  10. package/bin/adcp-grade.js +505 -0
  11. package/bin/adcp-json-stdout.js +36 -0
  12. package/bin/adcp-registry.js +745 -0
  13. package/bin/adcp-signing.js +233 -0
  14. package/bin/adcp-step-hints.js +246 -0
  15. package/bin/adcp-version-check.js +150 -0
  16. package/bin/adcp.js +4821 -0
  17. package/compliance/cache/3.0.0/domains/brand/index.yaml +167 -0
  18. package/compliance/cache/3.0.0/domains/creative/index.yaml +412 -0
  19. package/compliance/cache/3.0.0/domains/governance/index.yaml +683 -0
  20. package/compliance/cache/3.0.0/domains/media-buy/creative-reception.yaml +247 -0
  21. package/compliance/cache/3.0.0/domains/media-buy/index.yaml +742 -0
  22. package/compliance/cache/3.0.0/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  23. package/compliance/cache/3.0.0/domains/media-buy/scenarios/delivery_reporting.yaml +180 -0
  24. package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_approved.yaml +186 -0
  25. package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_conditions.yaml +195 -0
  26. package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_denied.yaml +189 -0
  27. package/compliance/cache/3.0.0/domains/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
  28. package/compliance/cache/3.0.0/domains/media-buy/scenarios/invalid_transitions.yaml +279 -0
  29. package/compliance/cache/3.0.0/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  30. package/compliance/cache/3.0.0/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
  31. package/compliance/cache/3.0.0/domains/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
  32. package/compliance/cache/3.0.0/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  33. package/compliance/cache/3.0.0/domains/media-buy/scenarios/proposal_finalize.yaml +242 -0
  34. package/compliance/cache/3.0.0/domains/media-buy/scenarios/refine_products.yaml +148 -0
  35. package/compliance/cache/3.0.0/domains/media-buy/state-machine.yaml +437 -0
  36. package/compliance/cache/3.0.0/domains/signals/index.yaml +266 -0
  37. package/compliance/cache/3.0.0/domains/sponsored-intelligence/index.yaml +256 -0
  38. package/compliance/cache/3.0.0/index.json +324 -0
  39. package/compliance/cache/3.0.0/protocols/brand/index.yaml +167 -0
  40. package/compliance/cache/3.0.0/protocols/creative/index.yaml +412 -0
  41. package/compliance/cache/3.0.0/protocols/governance/index.yaml +683 -0
  42. package/compliance/cache/3.0.0/protocols/media-buy/creative-reception.yaml +247 -0
  43. package/compliance/cache/3.0.0/protocols/media-buy/index.yaml +742 -0
  44. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  45. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/delivery_reporting.yaml +180 -0
  46. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_approved.yaml +186 -0
  47. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_conditions.yaml +195 -0
  48. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_denied.yaml +189 -0
  49. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
  50. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/invalid_transitions.yaml +279 -0
  51. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  52. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
  53. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
  54. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  55. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/proposal_finalize.yaml +242 -0
  56. package/compliance/cache/3.0.0/protocols/media-buy/scenarios/refine_products.yaml +148 -0
  57. package/compliance/cache/3.0.0/protocols/media-buy/state-machine.yaml +437 -0
  58. package/compliance/cache/3.0.0/protocols/signals/index.yaml +266 -0
  59. package/compliance/cache/3.0.0/protocols/sponsored-intelligence/index.yaml +256 -0
  60. package/compliance/cache/3.0.0/specialisms/audience-sync/index.yaml +280 -0
  61. package/compliance/cache/3.0.0/specialisms/brand-rights/index.yaml +346 -0
  62. package/compliance/cache/3.0.0/specialisms/brand-rights/scenarios/governance_denied.yaml +203 -0
  63. package/compliance/cache/3.0.0/specialisms/collection-lists/index.yaml +359 -0
  64. package/compliance/cache/3.0.0/specialisms/content-standards/index.yaml +572 -0
  65. package/compliance/cache/3.0.0/specialisms/creative-ad-server/index.yaml +383 -0
  66. package/compliance/cache/3.0.0/specialisms/creative-generative/generative-seller.yaml +733 -0
  67. package/compliance/cache/3.0.0/specialisms/creative-generative/index.yaml +746 -0
  68. package/compliance/cache/3.0.0/specialisms/creative-template/index.yaml +413 -0
  69. package/compliance/cache/3.0.0/specialisms/governance-aware-seller/index.yaml +99 -0
  70. package/compliance/cache/3.0.0/specialisms/governance-delivery-monitor/index.yaml +419 -0
  71. package/compliance/cache/3.0.0/specialisms/governance-spend-authority/denied.yaml +221 -0
  72. package/compliance/cache/3.0.0/specialisms/governance-spend-authority/index.yaml +330 -0
  73. package/compliance/cache/3.0.0/specialisms/property-lists/index.yaml +482 -0
  74. package/compliance/cache/3.0.0/specialisms/sales-broadcast-tv/index.yaml +664 -0
  75. package/compliance/cache/3.0.0/specialisms/sales-catalog-driven/index.yaml +779 -0
  76. package/compliance/cache/3.0.0/specialisms/sales-guaranteed/index.yaml +479 -0
  77. package/compliance/cache/3.0.0/specialisms/sales-non-guaranteed/index.yaml +428 -0
  78. package/compliance/cache/3.0.0/specialisms/sales-proposal-mode/index.yaml +520 -0
  79. package/compliance/cache/3.0.0/specialisms/sales-social/index.yaml +521 -0
  80. package/compliance/cache/3.0.0/specialisms/signal-marketplace/index.yaml +415 -0
  81. package/compliance/cache/3.0.0/specialisms/signal-marketplace/scenarios/governance_denied.yaml +195 -0
  82. package/compliance/cache/3.0.0/specialisms/signal-owned/index.yaml +316 -0
  83. package/compliance/cache/3.0.0/specialisms/signed-requests/index.yaml +192 -0
  84. package/compliance/cache/3.0.0/test-kits/acme-outdoor.yaml +210 -0
  85. package/compliance/cache/3.0.0/test-kits/bistro-oranje.yaml +126 -0
  86. package/compliance/cache/3.0.0/test-kits/nova-motors.yaml +262 -0
  87. package/compliance/cache/3.0.0/test-kits/osei-natural.yaml +126 -0
  88. package/compliance/cache/3.0.0/test-kits/signed-requests-runner.yaml +153 -0
  89. package/compliance/cache/3.0.0/test-kits/substitution-observer-runner.yaml +690 -0
  90. package/compliance/cache/3.0.0/test-kits/summit-foods.yaml +125 -0
  91. package/compliance/cache/3.0.0/test-kits/webhook-receiver-runner.yaml +265 -0
  92. package/compliance/cache/3.0.0/test-vectors/plan-hash/001-minimal-plan.json +43 -0
  93. package/compliance/cache/3.0.0/test-vectors/plan-hash/002-full-plan.json +217 -0
  94. package/compliance/cache/3.0.0/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
  95. package/compliance/cache/3.0.0/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
  96. package/compliance/cache/3.0.0/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
  97. package/compliance/cache/3.0.0/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
  98. package/compliance/cache/3.0.0/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
  99. package/compliance/cache/3.0.0/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
  100. package/compliance/cache/3.0.0/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
  101. package/compliance/cache/3.0.0/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
  102. package/compliance/cache/3.0.0/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
  103. package/compliance/cache/3.0.0/test-vectors/request-signing/README.md +219 -0
  104. package/compliance/cache/3.0.0/test-vectors/request-signing/canonicalization.json +241 -0
  105. package/compliance/cache/3.0.0/test-vectors/request-signing/keys.json +60 -0
  106. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
  107. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
  108. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
  109. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
  110. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
  111. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
  112. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
  113. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
  114. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
  115. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
  116. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
  117. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
  118. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
  119. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
  120. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
  121. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
  122. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
  123. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
  124. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
  125. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
  126. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
  127. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
  128. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
  129. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
  130. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
  131. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
  132. package/compliance/cache/3.0.0/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
  133. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/001-basic-post.json +30 -0
  134. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
  135. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/003-es256-post.json +30 -0
  136. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
  137. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
  138. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
  139. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
  140. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
  141. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
  142. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
  143. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
  144. package/compliance/cache/3.0.0/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
  145. package/compliance/cache/3.0.0/test-vectors/webhook-signing/README.md +211 -0
  146. package/compliance/cache/3.0.0/test-vectors/webhook-signing/keys.json +61 -0
  147. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
  148. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
  149. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
  150. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
  151. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
  152. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
  153. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
  154. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
  155. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
  156. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
  157. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
  158. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
  159. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
  160. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
  161. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
  162. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
  163. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
  164. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
  165. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
  166. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
  167. package/compliance/cache/3.0.0/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
  168. package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
  169. package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
  170. package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
  171. package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
  172. package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
  173. package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
  174. package/compliance/cache/3.0.0/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
  175. package/compliance/cache/3.0.0/universal/capability-discovery.yaml +125 -0
  176. package/compliance/cache/3.0.0/universal/deterministic-testing.yaml +1318 -0
  177. package/compliance/cache/3.0.0/universal/error-compliance.yaml +468 -0
  178. package/compliance/cache/3.0.0/universal/fictional-entities.yaml +307 -0
  179. package/compliance/cache/3.0.0/universal/idempotency.yaml +577 -0
  180. package/compliance/cache/3.0.0/universal/runner-output-contract.yaml +335 -0
  181. package/compliance/cache/3.0.0/universal/schema-validation.yaml +514 -0
  182. package/compliance/cache/3.0.0/universal/security.yaml +428 -0
  183. package/compliance/cache/3.0.0/universal/storyboard-schema.yaml +1010 -0
  184. package/compliance/cache/3.0.0/universal/webhook-emission.yaml +337 -0
  185. package/compliance/cache/3.0.0.previous/domains/brand/index.yaml +167 -0
  186. package/compliance/cache/3.0.0.previous/domains/creative/index.yaml +412 -0
  187. package/compliance/cache/3.0.0.previous/domains/governance/index.yaml +683 -0
  188. package/compliance/cache/3.0.0.previous/domains/media-buy/creative-reception.yaml +247 -0
  189. package/compliance/cache/3.0.0.previous/domains/media-buy/index.yaml +742 -0
  190. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  191. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/delivery_reporting.yaml +180 -0
  192. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_approved.yaml +186 -0
  193. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_conditions.yaml +195 -0
  194. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_denied.yaml +189 -0
  195. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
  196. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/invalid_transitions.yaml +279 -0
  197. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  198. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
  199. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
  200. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  201. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/proposal_finalize.yaml +242 -0
  202. package/compliance/cache/3.0.0.previous/domains/media-buy/scenarios/refine_products.yaml +148 -0
  203. package/compliance/cache/3.0.0.previous/domains/media-buy/state-machine.yaml +437 -0
  204. package/compliance/cache/3.0.0.previous/domains/signals/index.yaml +266 -0
  205. package/compliance/cache/3.0.0.previous/domains/sponsored-intelligence/index.yaml +256 -0
  206. package/compliance/cache/3.0.0.previous/index.json +324 -0
  207. package/compliance/cache/3.0.0.previous/protocols/brand/index.yaml +167 -0
  208. package/compliance/cache/3.0.0.previous/protocols/creative/index.yaml +412 -0
  209. package/compliance/cache/3.0.0.previous/protocols/governance/index.yaml +683 -0
  210. package/compliance/cache/3.0.0.previous/protocols/media-buy/creative-reception.yaml +247 -0
  211. package/compliance/cache/3.0.0.previous/protocols/media-buy/index.yaml +742 -0
  212. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  213. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/delivery_reporting.yaml +180 -0
  214. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_approved.yaml +186 -0
  215. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_conditions.yaml +195 -0
  216. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_denied.yaml +189 -0
  217. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/governance_denied_recovery.yaml +243 -0
  218. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/invalid_transitions.yaml +279 -0
  219. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  220. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
  221. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +194 -0
  222. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  223. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/proposal_finalize.yaml +242 -0
  224. package/compliance/cache/3.0.0.previous/protocols/media-buy/scenarios/refine_products.yaml +148 -0
  225. package/compliance/cache/3.0.0.previous/protocols/media-buy/state-machine.yaml +437 -0
  226. package/compliance/cache/3.0.0.previous/protocols/signals/index.yaml +266 -0
  227. package/compliance/cache/3.0.0.previous/protocols/sponsored-intelligence/index.yaml +256 -0
  228. package/compliance/cache/3.0.0.previous/specialisms/audience-sync/index.yaml +280 -0
  229. package/compliance/cache/3.0.0.previous/specialisms/brand-rights/index.yaml +346 -0
  230. package/compliance/cache/3.0.0.previous/specialisms/brand-rights/scenarios/governance_denied.yaml +203 -0
  231. package/compliance/cache/3.0.0.previous/specialisms/collection-lists/index.yaml +359 -0
  232. package/compliance/cache/3.0.0.previous/specialisms/content-standards/index.yaml +572 -0
  233. package/compliance/cache/3.0.0.previous/specialisms/creative-ad-server/index.yaml +383 -0
  234. package/compliance/cache/3.0.0.previous/specialisms/creative-generative/generative-seller.yaml +733 -0
  235. package/compliance/cache/3.0.0.previous/specialisms/creative-generative/index.yaml +746 -0
  236. package/compliance/cache/3.0.0.previous/specialisms/creative-template/index.yaml +413 -0
  237. package/compliance/cache/3.0.0.previous/specialisms/governance-aware-seller/index.yaml +99 -0
  238. package/compliance/cache/3.0.0.previous/specialisms/governance-delivery-monitor/index.yaml +419 -0
  239. package/compliance/cache/3.0.0.previous/specialisms/governance-spend-authority/denied.yaml +221 -0
  240. package/compliance/cache/3.0.0.previous/specialisms/governance-spend-authority/index.yaml +330 -0
  241. package/compliance/cache/3.0.0.previous/specialisms/property-lists/index.yaml +482 -0
  242. package/compliance/cache/3.0.0.previous/specialisms/sales-broadcast-tv/index.yaml +664 -0
  243. package/compliance/cache/3.0.0.previous/specialisms/sales-catalog-driven/index.yaml +779 -0
  244. package/compliance/cache/3.0.0.previous/specialisms/sales-guaranteed/index.yaml +479 -0
  245. package/compliance/cache/3.0.0.previous/specialisms/sales-non-guaranteed/index.yaml +428 -0
  246. package/compliance/cache/3.0.0.previous/specialisms/sales-proposal-mode/index.yaml +520 -0
  247. package/compliance/cache/3.0.0.previous/specialisms/sales-social/index.yaml +521 -0
  248. package/compliance/cache/3.0.0.previous/specialisms/signal-marketplace/index.yaml +415 -0
  249. package/compliance/cache/3.0.0.previous/specialisms/signal-marketplace/scenarios/governance_denied.yaml +195 -0
  250. package/compliance/cache/3.0.0.previous/specialisms/signal-owned/index.yaml +316 -0
  251. package/compliance/cache/3.0.0.previous/specialisms/signed-requests/index.yaml +192 -0
  252. package/compliance/cache/3.0.0.previous/test-kits/acme-outdoor.yaml +210 -0
  253. package/compliance/cache/3.0.0.previous/test-kits/bistro-oranje.yaml +126 -0
  254. package/compliance/cache/3.0.0.previous/test-kits/nova-motors.yaml +262 -0
  255. package/compliance/cache/3.0.0.previous/test-kits/osei-natural.yaml +126 -0
  256. package/compliance/cache/3.0.0.previous/test-kits/signed-requests-runner.yaml +153 -0
  257. package/compliance/cache/3.0.0.previous/test-kits/substitution-observer-runner.yaml +690 -0
  258. package/compliance/cache/3.0.0.previous/test-kits/summit-foods.yaml +125 -0
  259. package/compliance/cache/3.0.0.previous/test-kits/webhook-receiver-runner.yaml +265 -0
  260. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/001-minimal-plan.json +43 -0
  261. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/002-full-plan.json +217 -0
  262. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
  263. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
  264. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
  265. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
  266. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
  267. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
  268. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
  269. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
  270. package/compliance/cache/3.0.0.previous/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
  271. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/README.md +219 -0
  272. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/canonicalization.json +241 -0
  273. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/keys.json +60 -0
  274. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
  275. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
  276. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
  277. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
  278. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
  279. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
  280. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
  281. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
  282. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
  283. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
  284. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
  285. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
  286. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
  287. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
  288. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
  289. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
  290. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
  291. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
  292. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
  293. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
  294. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
  295. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
  296. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
  297. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
  298. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
  299. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
  300. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
  301. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/001-basic-post.json +30 -0
  302. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
  303. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/003-es256-post.json +30 -0
  304. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
  305. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
  306. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
  307. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
  308. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
  309. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
  310. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
  311. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
  312. package/compliance/cache/3.0.0.previous/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
  313. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/README.md +211 -0
  314. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/keys.json +61 -0
  315. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
  316. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
  317. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
  318. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
  319. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
  320. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
  321. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
  322. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
  323. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
  324. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
  325. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
  326. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
  327. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
  328. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
  329. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
  330. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
  331. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
  332. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
  333. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
  334. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
  335. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
  336. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
  337. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
  338. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
  339. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
  340. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
  341. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
  342. package/compliance/cache/3.0.0.previous/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
  343. package/compliance/cache/3.0.0.previous/universal/capability-discovery.yaml +125 -0
  344. package/compliance/cache/3.0.0.previous/universal/deterministic-testing.yaml +1318 -0
  345. package/compliance/cache/3.0.0.previous/universal/error-compliance.yaml +468 -0
  346. package/compliance/cache/3.0.0.previous/universal/fictional-entities.yaml +307 -0
  347. package/compliance/cache/3.0.0.previous/universal/idempotency.yaml +577 -0
  348. package/compliance/cache/3.0.0.previous/universal/runner-output-contract.yaml +335 -0
  349. package/compliance/cache/3.0.0.previous/universal/schema-validation.yaml +514 -0
  350. package/compliance/cache/3.0.0.previous/universal/security.yaml +428 -0
  351. package/compliance/cache/3.0.0.previous/universal/storyboard-schema.yaml +1010 -0
  352. package/compliance/cache/3.0.0.previous/universal/webhook-emission.yaml +337 -0
  353. package/compliance/cache/3.0.1/domains/brand/index.yaml +163 -0
  354. package/compliance/cache/3.0.1/domains/creative/index.yaml +412 -0
  355. package/compliance/cache/3.0.1/domains/governance/index.yaml +683 -0
  356. package/compliance/cache/3.0.1/domains/media-buy/creative-reception.yaml +247 -0
  357. package/compliance/cache/3.0.1/domains/media-buy/index.yaml +769 -0
  358. package/compliance/cache/3.0.1/domains/media-buy/scenarios/create_media_buy_async.yaml +232 -0
  359. package/compliance/cache/3.0.1/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  360. package/compliance/cache/3.0.1/domains/media-buy/scenarios/delivery_reporting.yaml +205 -0
  361. package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_approved.yaml +211 -0
  362. package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_conditions.yaml +196 -0
  363. package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_denied.yaml +192 -0
  364. package/compliance/cache/3.0.1/domains/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
  365. package/compliance/cache/3.0.1/domains/media-buy/scenarios/invalid_transitions.yaml +284 -0
  366. package/compliance/cache/3.0.1/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  367. package/compliance/cache/3.0.1/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
  368. package/compliance/cache/3.0.1/domains/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
  369. package/compliance/cache/3.0.1/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  370. package/compliance/cache/3.0.1/domains/media-buy/scenarios/proposal_finalize.yaml +243 -0
  371. package/compliance/cache/3.0.1/domains/media-buy/scenarios/refine_products.yaml +148 -0
  372. package/compliance/cache/3.0.1/domains/media-buy/state-machine.yaml +442 -0
  373. package/compliance/cache/3.0.1/domains/signals/index.yaml +266 -0
  374. package/compliance/cache/3.0.1/domains/sponsored-intelligence/index.yaml +256 -0
  375. package/compliance/cache/3.0.1/index.json +324 -0
  376. package/compliance/cache/3.0.1/protocols/brand/index.yaml +163 -0
  377. package/compliance/cache/3.0.1/protocols/creative/index.yaml +412 -0
  378. package/compliance/cache/3.0.1/protocols/governance/index.yaml +683 -0
  379. package/compliance/cache/3.0.1/protocols/media-buy/creative-reception.yaml +247 -0
  380. package/compliance/cache/3.0.1/protocols/media-buy/index.yaml +769 -0
  381. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/create_media_buy_async.yaml +232 -0
  382. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  383. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/delivery_reporting.yaml +205 -0
  384. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_approved.yaml +211 -0
  385. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_conditions.yaml +196 -0
  386. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_denied.yaml +192 -0
  387. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
  388. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/invalid_transitions.yaml +284 -0
  389. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  390. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
  391. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
  392. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  393. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/proposal_finalize.yaml +243 -0
  394. package/compliance/cache/3.0.1/protocols/media-buy/scenarios/refine_products.yaml +148 -0
  395. package/compliance/cache/3.0.1/protocols/media-buy/state-machine.yaml +442 -0
  396. package/compliance/cache/3.0.1/protocols/signals/index.yaml +266 -0
  397. package/compliance/cache/3.0.1/protocols/sponsored-intelligence/index.yaml +256 -0
  398. package/compliance/cache/3.0.1/specialisms/audience-sync/index.yaml +280 -0
  399. package/compliance/cache/3.0.1/specialisms/brand-rights/index.yaml +350 -0
  400. package/compliance/cache/3.0.1/specialisms/brand-rights/scenarios/governance_denied.yaml +204 -0
  401. package/compliance/cache/3.0.1/specialisms/collection-lists/index.yaml +359 -0
  402. package/compliance/cache/3.0.1/specialisms/content-standards/index.yaml +572 -0
  403. package/compliance/cache/3.0.1/specialisms/creative-ad-server/index.yaml +383 -0
  404. package/compliance/cache/3.0.1/specialisms/creative-generative/generative-seller.yaml +758 -0
  405. package/compliance/cache/3.0.1/specialisms/creative-generative/index.yaml +746 -0
  406. package/compliance/cache/3.0.1/specialisms/creative-template/index.yaml +413 -0
  407. package/compliance/cache/3.0.1/specialisms/governance-aware-seller/index.yaml +136 -0
  408. package/compliance/cache/3.0.1/specialisms/governance-delivery-monitor/index.yaml +441 -0
  409. package/compliance/cache/3.0.1/specialisms/governance-spend-authority/denied.yaml +221 -0
  410. package/compliance/cache/3.0.1/specialisms/governance-spend-authority/index.yaml +330 -0
  411. package/compliance/cache/3.0.1/specialisms/property-lists/index.yaml +482 -0
  412. package/compliance/cache/3.0.1/specialisms/sales-broadcast-tv/index.yaml +689 -0
  413. package/compliance/cache/3.0.1/specialisms/sales-catalog-driven/index.yaml +779 -0
  414. package/compliance/cache/3.0.1/specialisms/sales-guaranteed/index.yaml +504 -0
  415. package/compliance/cache/3.0.1/specialisms/sales-non-guaranteed/index.yaml +428 -0
  416. package/compliance/cache/3.0.1/specialisms/sales-proposal-mode/index.yaml +520 -0
  417. package/compliance/cache/3.0.1/specialisms/sales-social/index.yaml +577 -0
  418. package/compliance/cache/3.0.1/specialisms/signal-marketplace/index.yaml +415 -0
  419. package/compliance/cache/3.0.1/specialisms/signal-marketplace/scenarios/governance_denied.yaml +207 -0
  420. package/compliance/cache/3.0.1/specialisms/signal-owned/index.yaml +316 -0
  421. package/compliance/cache/3.0.1/test-kits/acme-outdoor.yaml +210 -0
  422. package/compliance/cache/3.0.1/test-kits/bistro-oranje.yaml +126 -0
  423. package/compliance/cache/3.0.1/test-kits/nova-motors.yaml +262 -0
  424. package/compliance/cache/3.0.1/test-kits/osei-natural.yaml +126 -0
  425. package/compliance/cache/3.0.1/test-kits/signed-requests-runner.yaml +155 -0
  426. package/compliance/cache/3.0.1/test-kits/substitution-observer-runner.yaml +690 -0
  427. package/compliance/cache/3.0.1/test-kits/summit-foods.yaml +125 -0
  428. package/compliance/cache/3.0.1/test-kits/webhook-receiver-runner.yaml +265 -0
  429. package/compliance/cache/3.0.1/test-vectors/plan-hash/001-minimal-plan.json +43 -0
  430. package/compliance/cache/3.0.1/test-vectors/plan-hash/002-full-plan.json +217 -0
  431. package/compliance/cache/3.0.1/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
  432. package/compliance/cache/3.0.1/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
  433. package/compliance/cache/3.0.1/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
  434. package/compliance/cache/3.0.1/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
  435. package/compliance/cache/3.0.1/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
  436. package/compliance/cache/3.0.1/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
  437. package/compliance/cache/3.0.1/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
  438. package/compliance/cache/3.0.1/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
  439. package/compliance/cache/3.0.1/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
  440. package/compliance/cache/3.0.1/test-vectors/request-signing/README.md +219 -0
  441. package/compliance/cache/3.0.1/test-vectors/request-signing/canonicalization.json +241 -0
  442. package/compliance/cache/3.0.1/test-vectors/request-signing/keys.json +60 -0
  443. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
  444. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
  445. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
  446. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
  447. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
  448. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
  449. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
  450. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
  451. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
  452. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
  453. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
  454. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
  455. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
  456. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
  457. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
  458. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
  459. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
  460. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
  461. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
  462. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
  463. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
  464. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
  465. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
  466. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
  467. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
  468. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
  469. package/compliance/cache/3.0.1/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
  470. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/001-basic-post.json +30 -0
  471. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
  472. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/003-es256-post.json +30 -0
  473. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
  474. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
  475. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
  476. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
  477. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
  478. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
  479. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
  480. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
  481. package/compliance/cache/3.0.1/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
  482. package/compliance/cache/3.0.1/test-vectors/webhook-signing/README.md +211 -0
  483. package/compliance/cache/3.0.1/test-vectors/webhook-signing/keys.json +61 -0
  484. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
  485. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
  486. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
  487. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
  488. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
  489. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
  490. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
  491. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
  492. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
  493. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
  494. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
  495. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
  496. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
  497. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
  498. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
  499. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
  500. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
  501. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
  502. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
  503. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
  504. package/compliance/cache/3.0.1/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
  505. package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
  506. package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
  507. package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
  508. package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
  509. package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
  510. package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
  511. package/compliance/cache/3.0.1/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
  512. package/compliance/cache/3.0.1/universal/capability-discovery.yaml +125 -0
  513. package/compliance/cache/3.0.1/universal/collection-lists-pagination-integrity.yaml +306 -0
  514. package/compliance/cache/3.0.1/universal/content-standards-pagination-integrity.yaml +326 -0
  515. package/compliance/cache/3.0.1/universal/deterministic-testing.yaml +1343 -0
  516. package/compliance/cache/3.0.1/universal/error-compliance.yaml +474 -0
  517. package/compliance/cache/3.0.1/universal/fictional-entities.yaml +307 -0
  518. package/compliance/cache/3.0.1/universal/get-media-buys-pagination-integrity.yaml +160 -0
  519. package/compliance/cache/3.0.1/universal/get-signals-pagination-integrity.yaml +211 -0
  520. package/compliance/cache/3.0.1/universal/idempotency.yaml +593 -0
  521. package/compliance/cache/3.0.1/universal/pagination-integrity-creative-formats.yaml +258 -0
  522. package/compliance/cache/3.0.1/universal/pagination-integrity-list-accounts.yaml +262 -0
  523. package/compliance/cache/3.0.1/universal/pagination-integrity.yaml +263 -0
  524. package/compliance/cache/3.0.1/universal/property-lists-pagination-integrity.yaml +307 -0
  525. package/compliance/cache/3.0.1/universal/runner-output-contract.yaml +339 -0
  526. package/compliance/cache/3.0.1/universal/schema-validation.yaml +526 -0
  527. package/compliance/cache/3.0.1/universal/security.yaml +431 -0
  528. package/compliance/cache/3.0.1/universal/signed-requests.yaml +205 -0
  529. package/compliance/cache/3.0.1/universal/storyboard-schema.yaml +1056 -0
  530. package/compliance/cache/3.0.1/universal/v3-envelope-integrity.yaml +104 -0
  531. package/compliance/cache/3.0.1/universal/webhook-emission.yaml +337 -0
  532. package/compliance/cache/3.0.1.previous/domains/brand/index.yaml +163 -0
  533. package/compliance/cache/3.0.1.previous/domains/creative/index.yaml +412 -0
  534. package/compliance/cache/3.0.1.previous/domains/governance/index.yaml +683 -0
  535. package/compliance/cache/3.0.1.previous/domains/media-buy/creative-reception.yaml +247 -0
  536. package/compliance/cache/3.0.1.previous/domains/media-buy/index.yaml +769 -0
  537. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/create_media_buy_async.yaml +232 -0
  538. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  539. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/delivery_reporting.yaml +205 -0
  540. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_approved.yaml +211 -0
  541. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_conditions.yaml +196 -0
  542. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_denied.yaml +192 -0
  543. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
  544. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/invalid_transitions.yaml +284 -0
  545. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  546. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
  547. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
  548. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  549. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/proposal_finalize.yaml +243 -0
  550. package/compliance/cache/3.0.1.previous/domains/media-buy/scenarios/refine_products.yaml +148 -0
  551. package/compliance/cache/3.0.1.previous/domains/media-buy/state-machine.yaml +442 -0
  552. package/compliance/cache/3.0.1.previous/domains/signals/index.yaml +266 -0
  553. package/compliance/cache/3.0.1.previous/domains/sponsored-intelligence/index.yaml +256 -0
  554. package/compliance/cache/3.0.1.previous/index.json +324 -0
  555. package/compliance/cache/3.0.1.previous/protocols/brand/index.yaml +163 -0
  556. package/compliance/cache/3.0.1.previous/protocols/creative/index.yaml +412 -0
  557. package/compliance/cache/3.0.1.previous/protocols/governance/index.yaml +683 -0
  558. package/compliance/cache/3.0.1.previous/protocols/media-buy/creative-reception.yaml +247 -0
  559. package/compliance/cache/3.0.1.previous/protocols/media-buy/index.yaml +769 -0
  560. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/create_media_buy_async.yaml +232 -0
  561. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  562. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/delivery_reporting.yaml +205 -0
  563. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_approved.yaml +211 -0
  564. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_conditions.yaml +196 -0
  565. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_denied.yaml +192 -0
  566. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
  567. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/invalid_transitions.yaml +284 -0
  568. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  569. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/inventory_list_targeting.yaml +266 -0
  570. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
  571. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  572. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/proposal_finalize.yaml +243 -0
  573. package/compliance/cache/3.0.1.previous/protocols/media-buy/scenarios/refine_products.yaml +148 -0
  574. package/compliance/cache/3.0.1.previous/protocols/media-buy/state-machine.yaml +442 -0
  575. package/compliance/cache/3.0.1.previous/protocols/signals/index.yaml +266 -0
  576. package/compliance/cache/3.0.1.previous/protocols/sponsored-intelligence/index.yaml +256 -0
  577. package/compliance/cache/3.0.1.previous/specialisms/audience-sync/index.yaml +280 -0
  578. package/compliance/cache/3.0.1.previous/specialisms/brand-rights/index.yaml +350 -0
  579. package/compliance/cache/3.0.1.previous/specialisms/brand-rights/scenarios/governance_denied.yaml +204 -0
  580. package/compliance/cache/3.0.1.previous/specialisms/collection-lists/index.yaml +359 -0
  581. package/compliance/cache/3.0.1.previous/specialisms/content-standards/index.yaml +572 -0
  582. package/compliance/cache/3.0.1.previous/specialisms/creative-ad-server/index.yaml +383 -0
  583. package/compliance/cache/3.0.1.previous/specialisms/creative-generative/generative-seller.yaml +758 -0
  584. package/compliance/cache/3.0.1.previous/specialisms/creative-generative/index.yaml +746 -0
  585. package/compliance/cache/3.0.1.previous/specialisms/creative-template/index.yaml +413 -0
  586. package/compliance/cache/3.0.1.previous/specialisms/governance-aware-seller/index.yaml +136 -0
  587. package/compliance/cache/3.0.1.previous/specialisms/governance-delivery-monitor/index.yaml +441 -0
  588. package/compliance/cache/3.0.1.previous/specialisms/governance-spend-authority/denied.yaml +221 -0
  589. package/compliance/cache/3.0.1.previous/specialisms/governance-spend-authority/index.yaml +330 -0
  590. package/compliance/cache/3.0.1.previous/specialisms/property-lists/index.yaml +482 -0
  591. package/compliance/cache/3.0.1.previous/specialisms/sales-broadcast-tv/index.yaml +689 -0
  592. package/compliance/cache/3.0.1.previous/specialisms/sales-catalog-driven/index.yaml +779 -0
  593. package/compliance/cache/3.0.1.previous/specialisms/sales-guaranteed/index.yaml +504 -0
  594. package/compliance/cache/3.0.1.previous/specialisms/sales-non-guaranteed/index.yaml +428 -0
  595. package/compliance/cache/3.0.1.previous/specialisms/sales-proposal-mode/index.yaml +520 -0
  596. package/compliance/cache/3.0.1.previous/specialisms/sales-social/index.yaml +577 -0
  597. package/compliance/cache/3.0.1.previous/specialisms/signal-marketplace/index.yaml +415 -0
  598. package/compliance/cache/3.0.1.previous/specialisms/signal-marketplace/scenarios/governance_denied.yaml +207 -0
  599. package/compliance/cache/3.0.1.previous/specialisms/signal-owned/index.yaml +316 -0
  600. package/compliance/cache/3.0.1.previous/test-kits/acme-outdoor.yaml +210 -0
  601. package/compliance/cache/3.0.1.previous/test-kits/bistro-oranje.yaml +126 -0
  602. package/compliance/cache/3.0.1.previous/test-kits/nova-motors.yaml +262 -0
  603. package/compliance/cache/3.0.1.previous/test-kits/osei-natural.yaml +126 -0
  604. package/compliance/cache/3.0.1.previous/test-kits/signed-requests-runner.yaml +155 -0
  605. package/compliance/cache/3.0.1.previous/test-kits/substitution-observer-runner.yaml +690 -0
  606. package/compliance/cache/3.0.1.previous/test-kits/summit-foods.yaml +125 -0
  607. package/compliance/cache/3.0.1.previous/test-kits/webhook-receiver-runner.yaml +265 -0
  608. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/001-minimal-plan.json +43 -0
  609. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/002-full-plan.json +217 -0
  610. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
  611. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
  612. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
  613. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
  614. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
  615. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
  616. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
  617. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
  618. package/compliance/cache/3.0.1.previous/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
  619. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/README.md +219 -0
  620. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/canonicalization.json +241 -0
  621. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/keys.json +60 -0
  622. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
  623. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
  624. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
  625. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
  626. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
  627. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
  628. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
  629. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
  630. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
  631. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
  632. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
  633. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
  634. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
  635. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
  636. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
  637. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
  638. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
  639. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
  640. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
  641. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
  642. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
  643. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
  644. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
  645. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
  646. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
  647. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
  648. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
  649. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/001-basic-post.json +30 -0
  650. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
  651. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/003-es256-post.json +30 -0
  652. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
  653. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
  654. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
  655. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
  656. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
  657. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
  658. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
  659. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
  660. package/compliance/cache/3.0.1.previous/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
  661. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/README.md +211 -0
  662. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/keys.json +61 -0
  663. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
  664. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
  665. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
  666. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
  667. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
  668. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
  669. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
  670. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
  671. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
  672. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
  673. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
  674. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
  675. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
  676. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
  677. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
  678. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
  679. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
  680. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
  681. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
  682. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
  683. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
  684. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
  685. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
  686. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
  687. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
  688. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
  689. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
  690. package/compliance/cache/3.0.1.previous/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
  691. package/compliance/cache/3.0.1.previous/universal/capability-discovery.yaml +125 -0
  692. package/compliance/cache/3.0.1.previous/universal/collection-lists-pagination-integrity.yaml +306 -0
  693. package/compliance/cache/3.0.1.previous/universal/content-standards-pagination-integrity.yaml +326 -0
  694. package/compliance/cache/3.0.1.previous/universal/deterministic-testing.yaml +1343 -0
  695. package/compliance/cache/3.0.1.previous/universal/error-compliance.yaml +474 -0
  696. package/compliance/cache/3.0.1.previous/universal/fictional-entities.yaml +307 -0
  697. package/compliance/cache/3.0.1.previous/universal/get-media-buys-pagination-integrity.yaml +160 -0
  698. package/compliance/cache/3.0.1.previous/universal/get-signals-pagination-integrity.yaml +211 -0
  699. package/compliance/cache/3.0.1.previous/universal/idempotency.yaml +593 -0
  700. package/compliance/cache/3.0.1.previous/universal/pagination-integrity-creative-formats.yaml +258 -0
  701. package/compliance/cache/3.0.1.previous/universal/pagination-integrity-list-accounts.yaml +262 -0
  702. package/compliance/cache/3.0.1.previous/universal/pagination-integrity.yaml +263 -0
  703. package/compliance/cache/3.0.1.previous/universal/property-lists-pagination-integrity.yaml +307 -0
  704. package/compliance/cache/3.0.1.previous/universal/runner-output-contract.yaml +339 -0
  705. package/compliance/cache/3.0.1.previous/universal/schema-validation.yaml +526 -0
  706. package/compliance/cache/3.0.1.previous/universal/security.yaml +431 -0
  707. package/compliance/cache/3.0.1.previous/universal/signed-requests.yaml +205 -0
  708. package/compliance/cache/3.0.1.previous/universal/storyboard-schema.yaml +1056 -0
  709. package/compliance/cache/3.0.1.previous/universal/v3-envelope-integrity.yaml +104 -0
  710. package/compliance/cache/3.0.1.previous/universal/webhook-emission.yaml +337 -0
  711. package/dist/lib/adapters/content-standards-adapter.d.ts +106 -0
  712. package/dist/lib/adapters/content-standards-adapter.d.ts.map +1 -0
  713. package/dist/lib/adapters/content-standards-adapter.js +201 -0
  714. package/dist/lib/adapters/content-standards-adapter.js.map +1 -0
  715. package/dist/lib/adapters/governance-adapter.d.ts +88 -0
  716. package/dist/lib/adapters/governance-adapter.d.ts.map +1 -0
  717. package/dist/lib/adapters/governance-adapter.js +93 -0
  718. package/dist/lib/adapters/governance-adapter.js.map +1 -0
  719. package/dist/lib/adapters/index.d.ts +19 -0
  720. package/dist/lib/adapters/index.d.ts.map +1 -0
  721. package/dist/lib/adapters/index.js +47 -0
  722. package/dist/lib/adapters/index.js.map +1 -0
  723. package/dist/lib/adapters/property-list-adapter.d.ts +123 -0
  724. package/dist/lib/adapters/property-list-adapter.d.ts.map +1 -0
  725. package/dist/lib/adapters/property-list-adapter.js +231 -0
  726. package/dist/lib/adapters/property-list-adapter.js.map +1 -0
  727. package/dist/lib/adapters/proposal-manager.d.ts +142 -0
  728. package/dist/lib/adapters/proposal-manager.d.ts.map +1 -0
  729. package/dist/lib/adapters/proposal-manager.js +184 -0
  730. package/dist/lib/adapters/proposal-manager.js.map +1 -0
  731. package/dist/lib/adapters/si-session-manager.d.ts +164 -0
  732. package/dist/lib/adapters/si-session-manager.d.ts.map +1 -0
  733. package/dist/lib/adapters/si-session-manager.js +330 -0
  734. package/dist/lib/adapters/si-session-manager.js.map +1 -0
  735. package/dist/lib/advanced.d.ts +41 -0
  736. package/dist/lib/advanced.d.ts.map +1 -0
  737. package/dist/lib/advanced.js +49 -0
  738. package/dist/lib/advanced.js.map +1 -0
  739. package/dist/lib/agents/index.generated.d.ts +397 -0
  740. package/dist/lib/agents/index.generated.d.ts.map +1 -0
  741. package/dist/lib/agents/index.generated.js +624 -0
  742. package/dist/lib/agents/index.generated.js.map +1 -0
  743. package/dist/lib/auth/index.d.ts +39 -0
  744. package/dist/lib/auth/index.d.ts.map +1 -0
  745. package/dist/lib/auth/index.js +100 -0
  746. package/dist/lib/auth/index.js.map +1 -0
  747. package/dist/lib/auth/oauth/CLIFlowHandler.d.ts +61 -0
  748. package/dist/lib/auth/oauth/CLIFlowHandler.d.ts.map +1 -0
  749. package/dist/lib/auth/oauth/CLIFlowHandler.js +287 -0
  750. package/dist/lib/auth/oauth/CLIFlowHandler.js.map +1 -0
  751. package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts +134 -0
  752. package/dist/lib/auth/oauth/ClientCredentialsFlow.d.ts.map +1 -0
  753. package/dist/lib/auth/oauth/ClientCredentialsFlow.js +325 -0
  754. package/dist/lib/auth/oauth/ClientCredentialsFlow.js.map +1 -0
  755. package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts +136 -0
  756. package/dist/lib/auth/oauth/MCPOAuthProvider.d.ts.map +1 -0
  757. package/dist/lib/auth/oauth/MCPOAuthProvider.js +255 -0
  758. package/dist/lib/auth/oauth/MCPOAuthProvider.js.map +1 -0
  759. package/dist/lib/auth/oauth/NonInteractiveFlowHandler.d.ts +37 -0
  760. package/dist/lib/auth/oauth/NonInteractiveFlowHandler.d.ts.map +1 -0
  761. package/dist/lib/auth/oauth/NonInteractiveFlowHandler.js +30 -0
  762. package/dist/lib/auth/oauth/NonInteractiveFlowHandler.js.map +1 -0
  763. package/dist/lib/auth/oauth/authorization-required.d.ts +112 -0
  764. package/dist/lib/auth/oauth/authorization-required.d.ts.map +1 -0
  765. package/dist/lib/auth/oauth/authorization-required.js +363 -0
  766. package/dist/lib/auth/oauth/authorization-required.js.map +1 -0
  767. package/dist/lib/auth/oauth/diagnose.d.ts +101 -0
  768. package/dist/lib/auth/oauth/diagnose.d.ts.map +1 -0
  769. package/dist/lib/auth/oauth/diagnose.js +630 -0
  770. package/dist/lib/auth/oauth/diagnose.js.map +1 -0
  771. package/dist/lib/auth/oauth/diagnostics.d.ts +129 -0
  772. package/dist/lib/auth/oauth/diagnostics.d.ts.map +1 -0
  773. package/dist/lib/auth/oauth/diagnostics.js +207 -0
  774. package/dist/lib/auth/oauth/diagnostics.js.map +1 -0
  775. package/dist/lib/auth/oauth/discovery.d.ts +96 -0
  776. package/dist/lib/auth/oauth/discovery.d.ts.map +1 -0
  777. package/dist/lib/auth/oauth/discovery.js +119 -0
  778. package/dist/lib/auth/oauth/discovery.js.map +1 -0
  779. package/dist/lib/auth/oauth/file-storage.d.ts +40 -0
  780. package/dist/lib/auth/oauth/file-storage.d.ts.map +1 -0
  781. package/dist/lib/auth/oauth/file-storage.js +112 -0
  782. package/dist/lib/auth/oauth/file-storage.js.map +1 -0
  783. package/dist/lib/auth/oauth/index.d.ts +133 -0
  784. package/dist/lib/auth/oauth/index.d.ts.map +1 -0
  785. package/dist/lib/auth/oauth/index.js +246 -0
  786. package/dist/lib/auth/oauth/index.js.map +1 -0
  787. package/dist/lib/auth/oauth/secret-resolver.d.ts +54 -0
  788. package/dist/lib/auth/oauth/secret-resolver.d.ts.map +1 -0
  789. package/dist/lib/auth/oauth/secret-resolver.js +96 -0
  790. package/dist/lib/auth/oauth/secret-resolver.js.map +1 -0
  791. package/dist/lib/auth/oauth/storage-registry.d.ts +44 -0
  792. package/dist/lib/auth/oauth/storage-registry.d.ts.map +1 -0
  793. package/dist/lib/auth/oauth/storage-registry.js +33 -0
  794. package/dist/lib/auth/oauth/storage-registry.js.map +1 -0
  795. package/dist/lib/auth/oauth/types.d.ts +114 -0
  796. package/dist/lib/auth/oauth/types.d.ts.map +1 -0
  797. package/dist/lib/auth/oauth/types.js +104 -0
  798. package/dist/lib/auth/oauth/types.js.map +1 -0
  799. package/dist/lib/client/index.d.ts +2 -0
  800. package/dist/lib/client/index.d.ts.map +1 -0
  801. package/dist/lib/client/index.js +26 -0
  802. package/dist/lib/client/index.js.map +1 -0
  803. package/dist/lib/compliance/index.d.ts +5 -0
  804. package/dist/lib/compliance/index.d.ts.map +1 -0
  805. package/dist/lib/compliance/index.js +52 -0
  806. package/dist/lib/compliance/index.js.map +1 -0
  807. package/dist/lib/compliance-fixtures/index.d.ts +167 -0
  808. package/dist/lib/compliance-fixtures/index.d.ts.map +1 -0
  809. package/dist/lib/compliance-fixtures/index.js +218 -0
  810. package/dist/lib/compliance-fixtures/index.js.map +1 -0
  811. package/dist/lib/compliance-fixtures/test-authorization-server.d.ts +88 -0
  812. package/dist/lib/compliance-fixtures/test-authorization-server.d.ts.map +1 -0
  813. package/dist/lib/compliance-fixtures/test-authorization-server.js +252 -0
  814. package/dist/lib/compliance-fixtures/test-authorization-server.js.map +1 -0
  815. package/dist/lib/conformance/index.d.ts +26 -0
  816. package/dist/lib/conformance/index.d.ts.map +1 -0
  817. package/dist/lib/conformance/index.js +34 -0
  818. package/dist/lib/conformance/index.js.map +1 -0
  819. package/dist/lib/conformance/invariants/uniformError.d.ts +45 -0
  820. package/dist/lib/conformance/invariants/uniformError.d.ts.map +1 -0
  821. package/dist/lib/conformance/invariants/uniformError.js +179 -0
  822. package/dist/lib/conformance/invariants/uniformError.js.map +1 -0
  823. package/dist/lib/conformance/invariants/uniformErrorComparator.d.ts +8 -0
  824. package/dist/lib/conformance/invariants/uniformErrorComparator.d.ts.map +1 -0
  825. package/dist/lib/conformance/invariants/uniformErrorComparator.js +488 -0
  826. package/dist/lib/conformance/invariants/uniformErrorComparator.js.map +1 -0
  827. package/dist/lib/conformance/oracle.d.ts +36 -0
  828. package/dist/lib/conformance/oracle.d.ts.map +1 -0
  829. package/dist/lib/conformance/oracle.js +267 -0
  830. package/dist/lib/conformance/oracle.js.map +1 -0
  831. package/dist/lib/conformance/runConformance.d.ts +17 -0
  832. package/dist/lib/conformance/runConformance.d.ts.map +1 -0
  833. package/dist/lib/conformance/runConformance.js +174 -0
  834. package/dist/lib/conformance/runConformance.js.map +1 -0
  835. package/dist/lib/conformance/runners.d.ts +27 -0
  836. package/dist/lib/conformance/runners.d.ts.map +1 -0
  837. package/dist/lib/conformance/runners.js +159 -0
  838. package/dist/lib/conformance/runners.js.map +1 -0
  839. package/dist/lib/conformance/schemaArbitrary.d.ts +39 -0
  840. package/dist/lib/conformance/schemaArbitrary.d.ts.map +1 -0
  841. package/dist/lib/conformance/schemaArbitrary.js +382 -0
  842. package/dist/lib/conformance/schemaArbitrary.js.map +1 -0
  843. package/dist/lib/conformance/schemaLoader.d.ts +12 -0
  844. package/dist/lib/conformance/schemaLoader.d.ts.map +1 -0
  845. package/dist/lib/conformance/schemaLoader.js +122 -0
  846. package/dist/lib/conformance/schemaLoader.js.map +1 -0
  847. package/dist/lib/conformance/seeder.d.ts +51 -0
  848. package/dist/lib/conformance/seeder.d.ts.map +1 -0
  849. package/dist/lib/conformance/seeder.js +341 -0
  850. package/dist/lib/conformance/seeder.js.map +1 -0
  851. package/dist/lib/conformance/types.d.ts +201 -0
  852. package/dist/lib/conformance/types.d.ts.map +1 -0
  853. package/dist/lib/conformance/types.js +56 -0
  854. package/dist/lib/conformance/types.js.map +1 -0
  855. package/dist/lib/core/ADCPMultiAgentClient.d.ts +624 -0
  856. package/dist/lib/core/ADCPMultiAgentClient.d.ts.map +1 -0
  857. package/dist/lib/core/ADCPMultiAgentClient.js +908 -0
  858. package/dist/lib/core/ADCPMultiAgentClient.js.map +1 -0
  859. package/dist/lib/core/AgentClient.d.ts +517 -0
  860. package/dist/lib/core/AgentClient.d.ts.map +1 -0
  861. package/dist/lib/core/AgentClient.js +784 -0
  862. package/dist/lib/core/AgentClient.js.map +1 -0
  863. package/dist/lib/core/AsyncHandler.d.ts +210 -0
  864. package/dist/lib/core/AsyncHandler.d.ts.map +1 -0
  865. package/dist/lib/core/AsyncHandler.js +182 -0
  866. package/dist/lib/core/AsyncHandler.js.map +1 -0
  867. package/dist/lib/core/ConfigurationManager.d.ts +79 -0
  868. package/dist/lib/core/ConfigurationManager.d.ts.map +1 -0
  869. package/dist/lib/core/ConfigurationManager.js +249 -0
  870. package/dist/lib/core/ConfigurationManager.js.map +1 -0
  871. package/dist/lib/core/ConversationTypes.d.ts +422 -0
  872. package/dist/lib/core/ConversationTypes.d.ts.map +1 -0
  873. package/dist/lib/core/ConversationTypes.js +5 -0
  874. package/dist/lib/core/ConversationTypes.js.map +1 -0
  875. package/dist/lib/core/CreativeAgentClient.d.ts +144 -0
  876. package/dist/lib/core/CreativeAgentClient.d.ts.map +1 -0
  877. package/dist/lib/core/CreativeAgentClient.js +169 -0
  878. package/dist/lib/core/CreativeAgentClient.js.map +1 -0
  879. package/dist/lib/core/GovernanceMiddleware.d.ts +93 -0
  880. package/dist/lib/core/GovernanceMiddleware.d.ts.map +1 -0
  881. package/dist/lib/core/GovernanceMiddleware.js +306 -0
  882. package/dist/lib/core/GovernanceMiddleware.js.map +1 -0
  883. package/dist/lib/core/GovernanceTypes.d.ts +116 -0
  884. package/dist/lib/core/GovernanceTypes.d.ts.map +1 -0
  885. package/dist/lib/core/GovernanceTypes.js +60 -0
  886. package/dist/lib/core/GovernanceTypes.js.map +1 -0
  887. package/dist/lib/core/ProtocolResponseParser.d.ts +80 -0
  888. package/dist/lib/core/ProtocolResponseParser.d.ts.map +1 -0
  889. package/dist/lib/core/ProtocolResponseParser.js +367 -0
  890. package/dist/lib/core/ProtocolResponseParser.js.map +1 -0
  891. package/dist/lib/core/ResponseValidator.d.ts +68 -0
  892. package/dist/lib/core/ResponseValidator.d.ts.map +1 -0
  893. package/dist/lib/core/ResponseValidator.js +283 -0
  894. package/dist/lib/core/ResponseValidator.js.map +1 -0
  895. package/dist/lib/core/SingleAgentClient.d.ts +1065 -0
  896. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -0
  897. package/dist/lib/core/SingleAgentClient.js +2134 -0
  898. package/dist/lib/core/SingleAgentClient.js.map +1 -0
  899. package/dist/lib/core/TaskEventTypes.d.ts +220 -0
  900. package/dist/lib/core/TaskEventTypes.d.ts.map +1 -0
  901. package/dist/lib/core/TaskEventTypes.js +80 -0
  902. package/dist/lib/core/TaskEventTypes.js.map +1 -0
  903. package/dist/lib/core/TaskExecutor.d.ts +245 -0
  904. package/dist/lib/core/TaskExecutor.d.ts.map +1 -0
  905. package/dist/lib/core/TaskExecutor.js +1452 -0
  906. package/dist/lib/core/TaskExecutor.js.map +1 -0
  907. package/dist/lib/core/match.d.ts +84 -0
  908. package/dist/lib/core/match.d.ts.map +1 -0
  909. package/dist/lib/core/match.js +47 -0
  910. package/dist/lib/core/match.js.map +1 -0
  911. package/dist/lib/discovery/network-consistency-checker.d.ts +111 -0
  912. package/dist/lib/discovery/network-consistency-checker.d.ts.map +1 -0
  913. package/dist/lib/discovery/network-consistency-checker.js +541 -0
  914. package/dist/lib/discovery/network-consistency-checker.js.map +1 -0
  915. package/dist/lib/discovery/property-crawler.d.ts +91 -0
  916. package/dist/lib/discovery/property-crawler.d.ts.map +1 -0
  917. package/dist/lib/discovery/property-crawler.js +290 -0
  918. package/dist/lib/discovery/property-crawler.js.map +1 -0
  919. package/dist/lib/discovery/property-index.d.ts +68 -0
  920. package/dist/lib/discovery/property-index.d.ts.map +1 -0
  921. package/dist/lib/discovery/property-index.js +163 -0
  922. package/dist/lib/discovery/property-index.js.map +1 -0
  923. package/dist/lib/discovery/types.d.ts +42 -0
  924. package/dist/lib/discovery/types.d.ts.map +1 -0
  925. package/dist/lib/discovery/types.js +7 -0
  926. package/dist/lib/discovery/types.js.map +1 -0
  927. package/dist/lib/errors/index.d.ts +284 -0
  928. package/dist/lib/errors/index.d.ts.map +1 -0
  929. package/dist/lib/errors/index.js +446 -0
  930. package/dist/lib/errors/index.js.map +1 -0
  931. package/dist/lib/express-mcp/index.d.ts +62 -0
  932. package/dist/lib/express-mcp/index.d.ts.map +1 -0
  933. package/dist/lib/express-mcp/index.js +118 -0
  934. package/dist/lib/express-mcp/index.js.map +1 -0
  935. package/dist/lib/governance/index.d.ts +149 -0
  936. package/dist/lib/governance/index.d.ts.map +1 -0
  937. package/dist/lib/governance/index.js +171 -0
  938. package/dist/lib/governance/index.js.map +1 -0
  939. package/dist/lib/handlers/types.d.ts +119 -0
  940. package/dist/lib/handlers/types.d.ts.map +1 -0
  941. package/dist/lib/handlers/types.js +239 -0
  942. package/dist/lib/handlers/types.js.map +1 -0
  943. package/dist/lib/index.d.ts +118 -0
  944. package/dist/lib/index.d.ts.map +1 -0
  945. package/dist/lib/index.js +689 -0
  946. package/dist/lib/index.js.map +1 -0
  947. package/dist/lib/net/address-guards.d.ts +34 -0
  948. package/dist/lib/net/address-guards.d.ts.map +1 -0
  949. package/dist/lib/net/address-guards.js +132 -0
  950. package/dist/lib/net/address-guards.js.map +1 -0
  951. package/dist/lib/net/index.d.ts +8 -0
  952. package/dist/lib/net/index.d.ts.map +1 -0
  953. package/dist/lib/net/index.js +17 -0
  954. package/dist/lib/net/index.js.map +1 -0
  955. package/dist/lib/net/ssrf-fetch.d.ts +56 -0
  956. package/dist/lib/net/ssrf-fetch.d.ts.map +1 -0
  957. package/dist/lib/net/ssrf-fetch.js +199 -0
  958. package/dist/lib/net/ssrf-fetch.js.map +1 -0
  959. package/dist/lib/observability/index.d.ts +8 -0
  960. package/dist/lib/observability/index.d.ts.map +1 -0
  961. package/dist/lib/observability/index.js +17 -0
  962. package/dist/lib/observability/index.js.map +1 -0
  963. package/dist/lib/observability/tracing.d.ts +42 -0
  964. package/dist/lib/observability/tracing.d.ts.map +1 -0
  965. package/dist/lib/observability/tracing.js +126 -0
  966. package/dist/lib/observability/tracing.js.map +1 -0
  967. package/dist/lib/protocols/a2a.d.ts +23 -0
  968. package/dist/lib/protocols/a2a.d.ts.map +1 -0
  969. package/dist/lib/protocols/a2a.js +268 -0
  970. package/dist/lib/protocols/a2a.js.map +1 -0
  971. package/dist/lib/protocols/index.d.ts +43 -0
  972. package/dist/lib/protocols/index.d.ts.map +1 -0
  973. package/dist/lib/protocols/index.js +264 -0
  974. package/dist/lib/protocols/index.js.map +1 -0
  975. package/dist/lib/protocols/mcp-tasks.d.ts +79 -0
  976. package/dist/lib/protocols/mcp-tasks.d.ts.map +1 -0
  977. package/dist/lib/protocols/mcp-tasks.js +407 -0
  978. package/dist/lib/protocols/mcp-tasks.js.map +1 -0
  979. package/dist/lib/protocols/mcp.d.ts +124 -0
  980. package/dist/lib/protocols/mcp.d.ts.map +1 -0
  981. package/dist/lib/protocols/mcp.js +564 -0
  982. package/dist/lib/protocols/mcp.js.map +1 -0
  983. package/dist/lib/protocols/rawResponseCapture.d.ts +44 -0
  984. package/dist/lib/protocols/rawResponseCapture.d.ts.map +1 -0
  985. package/dist/lib/protocols/rawResponseCapture.js +147 -0
  986. package/dist/lib/protocols/rawResponseCapture.js.map +1 -0
  987. package/dist/lib/registry/cursor-store.d.ts +19 -0
  988. package/dist/lib/registry/cursor-store.d.ts.map +1 -0
  989. package/dist/lib/registry/cursor-store.js +44 -0
  990. package/dist/lib/registry/cursor-store.js.map +1 -0
  991. package/dist/lib/registry/index.d.ts +278 -0
  992. package/dist/lib/registry/index.d.ts.map +1 -0
  993. package/dist/lib/registry/index.js +652 -0
  994. package/dist/lib/registry/index.js.map +1 -0
  995. package/dist/lib/registry/property-registry.d.ts +57 -0
  996. package/dist/lib/registry/property-registry.d.ts.map +1 -0
  997. package/dist/lib/registry/property-registry.js +92 -0
  998. package/dist/lib/registry/property-registry.js.map +1 -0
  999. package/dist/lib/registry/sync.d.ts +139 -0
  1000. package/dist/lib/registry/sync.d.ts.map +1 -0
  1001. package/dist/lib/registry/sync.js +390 -0
  1002. package/dist/lib/registry/sync.js.map +1 -0
  1003. package/dist/lib/registry/types.d.ts +112 -0
  1004. package/dist/lib/registry/types.d.ts.map +1 -0
  1005. package/dist/lib/registry/types.generated.d.ts +5680 -0
  1006. package/dist/lib/registry/types.generated.d.ts.map +1 -0
  1007. package/dist/lib/registry/types.generated.js +8 -0
  1008. package/dist/lib/registry/types.generated.js.map +1 -0
  1009. package/dist/lib/registry/types.js +9 -0
  1010. package/dist/lib/registry/types.js.map +1 -0
  1011. package/dist/lib/schemas/index.d.ts +76 -0
  1012. package/dist/lib/schemas/index.d.ts.map +1 -0
  1013. package/dist/lib/schemas/index.js +133 -0
  1014. package/dist/lib/schemas/index.js.map +1 -0
  1015. package/dist/lib/schemas-data/3.0.1/a2ui/bound-value.json +81 -0
  1016. package/dist/lib/schemas-data/3.0.1/a2ui/component.json +32 -0
  1017. package/dist/lib/schemas-data/3.0.1/a2ui/si-catalog.json +427 -0
  1018. package/dist/lib/schemas-data/3.0.1/a2ui/surface.json +39 -0
  1019. package/dist/lib/schemas-data/3.0.1/a2ui/user-action.json +47 -0
  1020. package/dist/lib/schemas-data/3.0.1/account/get-account-financials-request.json +70 -0
  1021. package/dist/lib/schemas-data/3.0.1/account/get-account-financials-response.json +320 -0
  1022. package/dist/lib/schemas-data/3.0.1/account/list-accounts-request.json +42 -0
  1023. package/dist/lib/schemas-data/3.0.1/account/list-accounts-response.json +108 -0
  1024. package/dist/lib/schemas-data/3.0.1/account/report-usage-request.json +168 -0
  1025. package/dist/lib/schemas-data/3.0.1/account/report-usage-response.json +56 -0
  1026. package/dist/lib/schemas-data/3.0.1/account/sync-accounts-request.json +201 -0
  1027. package/dist/lib/schemas-data/3.0.1/account/sync-accounts-response.json +346 -0
  1028. package/dist/lib/schemas-data/3.0.1/account/sync-governance-request.json +170 -0
  1029. package/dist/lib/schemas-data/3.0.1/account/sync-governance-response.json +193 -0
  1030. package/dist/lib/schemas-data/3.0.1/adagents.json +1225 -0
  1031. package/dist/lib/schemas-data/3.0.1/brand/acquire-rights-request.json +114 -0
  1032. package/dist/lib/schemas-data/3.0.1/brand/acquire-rights-response.json +220 -0
  1033. package/dist/lib/schemas-data/3.0.1/brand/creative-approval-request.json +63 -0
  1034. package/dist/lib/schemas-data/3.0.1/brand/creative-approval-response.json +189 -0
  1035. package/dist/lib/schemas-data/3.0.1/brand/get-brand-identity-request.json +56 -0
  1036. package/dist/lib/schemas-data/3.0.1/brand/get-brand-identity-response.json +585 -0
  1037. package/dist/lib/schemas-data/3.0.1/brand/get-rights-request.json +70 -0
  1038. package/dist/lib/schemas-data/3.0.1/brand/get-rights-response.json +220 -0
  1039. package/dist/lib/schemas-data/3.0.1/brand/revocation-notification.json +57 -0
  1040. package/dist/lib/schemas-data/3.0.1/brand/rights-pricing-option.json +65 -0
  1041. package/dist/lib/schemas-data/3.0.1/brand/rights-terms.json +70 -0
  1042. package/dist/lib/schemas-data/3.0.1/brand/update-rights-request.json +63 -0
  1043. package/dist/lib/schemas-data/3.0.1/brand/update-rights-response.json +99 -0
  1044. package/dist/lib/schemas-data/3.0.1/brand.json +2582 -0
  1045. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/calibrate-content-request.json +1712 -0
  1046. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/calibrate-content-response.json +180 -0
  1047. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/create-content-standards-request.json +3622 -0
  1048. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/create-content-standards-response.json +116 -0
  1049. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-content-standards-request.json +38 -0
  1050. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-content-standards-response.json +3851 -0
  1051. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-media-buy-artifacts-request.json +234 -0
  1052. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/get-media-buy-artifacts-response.json +1880 -0
  1053. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/list-content-standards-request.json +121 -0
  1054. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/list-content-standards-response.json +3880 -0
  1055. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/update-content-standards-request.json +3611 -0
  1056. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/update-content-standards-response.json +131 -0
  1057. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/validate-content-delivery-request.json +1766 -0
  1058. package/dist/lib/schemas-data/3.0.1/bundled/content-standards/validate-content-delivery-response.json +208 -0
  1059. package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-get-request.json +60 -0
  1060. package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-get-response.json +264 -0
  1061. package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-list-request.json +318 -0
  1062. package/dist/lib/schemas-data/3.0.1/bundled/core/tasks-list-response.json +258 -0
  1063. package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-delivery-request.json +245 -0
  1064. package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-delivery-response.json +5967 -0
  1065. package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-features-request.json +5091 -0
  1066. package/dist/lib/schemas-data/3.0.1/bundled/creative/get-creative-features-response.json +230 -0
  1067. package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creative-formats-request.json +485 -0
  1068. package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creative-formats-response.json +4076 -0
  1069. package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creatives-request.json +687 -0
  1070. package/dist/lib/schemas-data/3.0.1/bundled/creative/list-creatives-response.json +5977 -0
  1071. package/dist/lib/schemas-data/3.0.1/bundled/creative/preview-creative-request.json +9624 -0
  1072. package/dist/lib/schemas-data/3.0.1/bundled/creative/preview-creative-response.json +5931 -0
  1073. package/dist/lib/schemas-data/3.0.1/bundled/creative/sync-creatives-request.json +5268 -0
  1074. package/dist/lib/schemas-data/3.0.1/bundled/creative/sync-creatives-response.json +1146 -0
  1075. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/build-creative-request.json +5369 -0
  1076. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/build-creative-response.json +10286 -0
  1077. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/create-media-buy-request.json +7893 -0
  1078. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/create-media-buy-response.json +4170 -0
  1079. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buy-delivery-request.json +494 -0
  1080. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buy-delivery-response.json +4256 -0
  1081. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buys-request.json +261 -0
  1082. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-media-buys-response.json +2357 -0
  1083. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-products-request.json +2046 -0
  1084. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/get-products-response.json +6809 -0
  1085. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/list-creative-formats-request.json +311 -0
  1086. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/list-creative-formats-response.json +4080 -0
  1087. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/log-event-request.json +394 -0
  1088. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/log-event-response.json +193 -0
  1089. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/package-request.json +6923 -0
  1090. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/provide-performance-feedback-request.json +119 -0
  1091. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/provide-performance-feedback-response.json +142 -0
  1092. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-audiences-request.json +454 -0
  1093. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-audiences-response.json +335 -0
  1094. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-catalogs-request.json +836 -0
  1095. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-catalogs-response.json +344 -0
  1096. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-event-sources-request.json +299 -0
  1097. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/sync-event-sources-response.json +461 -0
  1098. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/update-media-buy-request.json +13548 -0
  1099. package/dist/lib/schemas-data/3.0.1/bundled/media-buy/update-media-buy-response.json +2799 -0
  1100. package/dist/lib/schemas-data/3.0.1/bundled/property/create-property-list-request.json +661 -0
  1101. package/dist/lib/schemas-data/3.0.1/bundled/property/create-property-list-response.json +928 -0
  1102. package/dist/lib/schemas-data/3.0.1/bundled/property/delete-property-list-request.json +198 -0
  1103. package/dist/lib/schemas-data/3.0.1/bundled/property/delete-property-list-response.json +44 -0
  1104. package/dist/lib/schemas-data/3.0.1/bundled/property/get-property-list-request.json +212 -0
  1105. package/dist/lib/schemas-data/3.0.1/bundled/property/get-property-list-response.json +1001 -0
  1106. package/dist/lib/schemas-data/3.0.1/bundled/property/list-property-lists-request.json +204 -0
  1107. package/dist/lib/schemas-data/3.0.1/bundled/property/list-property-lists-response.json +946 -0
  1108. package/dist/lib/schemas-data/3.0.1/bundled/property/update-property-list-request.json +670 -0
  1109. package/dist/lib/schemas-data/3.0.1/bundled/property/update-property-list-response.json +923 -0
  1110. package/dist/lib/schemas-data/3.0.1/bundled/property/validate-property-delivery-request.json +308 -0
  1111. package/dist/lib/schemas-data/3.0.1/bundled/property/validate-property-delivery-response.json +418 -0
  1112. package/dist/lib/schemas-data/3.0.1/bundled/protocol/get-adcp-capabilities-request.json +47 -0
  1113. package/dist/lib/schemas-data/3.0.1/bundled/protocol/get-adcp-capabilities-response.json +1729 -0
  1114. package/dist/lib/schemas-data/3.0.1/bundled/signals/activate-signal-request.json +269 -0
  1115. package/dist/lib/schemas-data/3.0.1/bundled/signals/activate-signal-response.json +320 -0
  1116. package/dist/lib/schemas-data/3.0.1/bundled/signals/get-signals-request.json +409 -0
  1117. package/dist/lib/schemas-data/3.0.1/bundled/signals/get-signals-response.json +689 -0
  1118. package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-get-offering-request.json +57 -0
  1119. package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-get-offering-response.json +207 -0
  1120. package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-initiate-session-request.json +322 -0
  1121. package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-initiate-session-response.json +618 -0
  1122. package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-send-message-request.json +81 -0
  1123. package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-send-message-response.json +589 -0
  1124. package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-terminate-session-request.json +87 -0
  1125. package/dist/lib/schemas-data/3.0.1/bundled/sponsored-intelligence/si-terminate-session-response.json +156 -0
  1126. package/dist/lib/schemas-data/3.0.1/collection/base-collection-source.json +118 -0
  1127. package/dist/lib/schemas-data/3.0.1/collection/collection-list-changed-webhook.json +74 -0
  1128. package/dist/lib/schemas-data/3.0.1/collection/collection-list-filters.json +85 -0
  1129. package/dist/lib/schemas-data/3.0.1/collection/collection-list.json +71 -0
  1130. package/dist/lib/schemas-data/3.0.1/collection/create-collection-list-request.json +62 -0
  1131. package/dist/lib/schemas-data/3.0.1/collection/create-collection-list-response.json +33 -0
  1132. package/dist/lib/schemas-data/3.0.1/collection/delete-collection-list-request.json +43 -0
  1133. package/dist/lib/schemas-data/3.0.1/collection/delete-collection-list-response.json +34 -0
  1134. package/dist/lib/schemas-data/3.0.1/collection/get-collection-list-request.json +57 -0
  1135. package/dist/lib/schemas-data/3.0.1/collection/get-collection-list-response.json +122 -0
  1136. package/dist/lib/schemas-data/3.0.1/collection/list-collection-lists-request.json +33 -0
  1137. package/dist/lib/schemas-data/3.0.1/collection/list-collection-lists-response.json +29 -0
  1138. package/dist/lib/schemas-data/3.0.1/collection/update-collection-list-request.json +71 -0
  1139. package/dist/lib/schemas-data/3.0.1/collection/update-collection-list-response.json +28 -0
  1140. package/dist/lib/schemas-data/3.0.1/content-standards/artifact-webhook-payload.json +88 -0
  1141. package/dist/lib/schemas-data/3.0.1/content-standards/artifact.json +407 -0
  1142. package/dist/lib/schemas-data/3.0.1/content-standards/calibrate-content-request.json +42 -0
  1143. package/dist/lib/schemas-data/3.0.1/content-standards/calibrate-content-response.json +93 -0
  1144. package/dist/lib/schemas-data/3.0.1/content-standards/content-standards.json +83 -0
  1145. package/dist/lib/schemas-data/3.0.1/content-standards/create-content-standards-request.json +177 -0
  1146. package/dist/lib/schemas-data/3.0.1/content-standards/create-content-standards-response.json +53 -0
  1147. package/dist/lib/schemas-data/3.0.1/content-standards/get-content-standards-request.json +28 -0
  1148. package/dist/lib/schemas-data/3.0.1/content-standards/get-content-standards-response.json +47 -0
  1149. package/dist/lib/schemas-data/3.0.1/content-standards/get-media-buy-artifacts-request.json +79 -0
  1150. package/dist/lib/schemas-data/3.0.1/content-standards/get-media-buy-artifacts-response.json +136 -0
  1151. package/dist/lib/schemas-data/3.0.1/content-standards/list-content-standards-request.json +49 -0
  1152. package/dist/lib/schemas-data/3.0.1/content-standards/list-content-standards-response.json +55 -0
  1153. package/dist/lib/schemas-data/3.0.1/content-standards/update-content-standards-request.json +166 -0
  1154. package/dist/lib/schemas-data/3.0.1/content-standards/update-content-standards-response.json +68 -0
  1155. package/dist/lib/schemas-data/3.0.1/content-standards/validate-content-delivery-request.json +96 -0
  1156. package/dist/lib/schemas-data/3.0.1/content-standards/validate-content-delivery-response.json +121 -0
  1157. package/dist/lib/schemas-data/3.0.1/core/account-ref.json +71 -0
  1158. package/dist/lib/schemas-data/3.0.1/core/account.json +344 -0
  1159. package/dist/lib/schemas-data/3.0.1/core/activation-key.json +50 -0
  1160. package/dist/lib/schemas-data/3.0.1/core/ad-inventory-config.json +39 -0
  1161. package/dist/lib/schemas-data/3.0.1/core/agent-encryption-key.json +41 -0
  1162. package/dist/lib/schemas-data/3.0.1/core/agent-signing-key.json +55 -0
  1163. package/dist/lib/schemas-data/3.0.1/core/app-item.json +170 -0
  1164. package/dist/lib/schemas-data/3.0.1/core/assets/audio-asset.json +82 -0
  1165. package/dist/lib/schemas-data/3.0.1/core/assets/brief-asset.json +22 -0
  1166. package/dist/lib/schemas-data/3.0.1/core/assets/catalog-asset.json +22 -0
  1167. package/dist/lib/schemas-data/3.0.1/core/assets/css-asset.json +31 -0
  1168. package/dist/lib/schemas-data/3.0.1/core/assets/daast-asset.json +88 -0
  1169. package/dist/lib/schemas-data/3.0.1/core/assets/html-asset.json +54 -0
  1170. package/dist/lib/schemas-data/3.0.1/core/assets/image-asset.json +49 -0
  1171. package/dist/lib/schemas-data/3.0.1/core/assets/javascript-asset.json +54 -0
  1172. package/dist/lib/schemas-data/3.0.1/core/assets/markdown-asset.json +37 -0
  1173. package/dist/lib/schemas-data/3.0.1/core/assets/text-asset.json +31 -0
  1174. package/dist/lib/schemas-data/3.0.1/core/assets/url-asset.json +36 -0
  1175. package/dist/lib/schemas-data/3.0.1/core/assets/vast-asset.json +94 -0
  1176. package/dist/lib/schemas-data/3.0.1/core/assets/video-asset.json +179 -0
  1177. package/dist/lib/schemas-data/3.0.1/core/assets/webhook-asset.json +97 -0
  1178. package/dist/lib/schemas-data/3.0.1/core/async-response-data.json +128 -0
  1179. package/dist/lib/schemas-data/3.0.1/core/attribution-window.json +33 -0
  1180. package/dist/lib/schemas-data/3.0.1/core/audience-member.json +70 -0
  1181. package/dist/lib/schemas-data/3.0.1/core/audience-selector.json +134 -0
  1182. package/dist/lib/schemas-data/3.0.1/core/brand-id.json +16 -0
  1183. package/dist/lib/schemas-data/3.0.1/core/brand-ref.json +76 -0
  1184. package/dist/lib/schemas-data/3.0.1/core/business-entity.json +207 -0
  1185. package/dist/lib/schemas-data/3.0.1/core/cancellation-policy.json +49 -0
  1186. package/dist/lib/schemas-data/3.0.1/core/catalog-field-mapping.json +144 -0
  1187. package/dist/lib/schemas-data/3.0.1/core/catalog.json +222 -0
  1188. package/dist/lib/schemas-data/3.0.1/core/catchment.json +221 -0
  1189. package/dist/lib/schemas-data/3.0.1/core/collection-distribution.json +41 -0
  1190. package/dist/lib/schemas-data/3.0.1/core/collection-list-ref.json +29 -0
  1191. package/dist/lib/schemas-data/3.0.1/core/collection-selector.json +27 -0
  1192. package/dist/lib/schemas-data/3.0.1/core/collection.json +116 -0
  1193. package/dist/lib/schemas-data/3.0.1/core/content-rating.json +22 -0
  1194. package/dist/lib/schemas-data/3.0.1/core/context.json +8 -0
  1195. package/dist/lib/schemas-data/3.0.1/core/creative-asset.json +150 -0
  1196. package/dist/lib/schemas-data/3.0.1/core/creative-assignment.json +32 -0
  1197. package/dist/lib/schemas-data/3.0.1/core/creative-brief.json +136 -0
  1198. package/dist/lib/schemas-data/3.0.1/core/creative-consumption.json +30 -0
  1199. package/dist/lib/schemas-data/3.0.1/core/creative-filters.json +119 -0
  1200. package/dist/lib/schemas-data/3.0.1/core/creative-item.json +79 -0
  1201. package/dist/lib/schemas-data/3.0.1/core/creative-manifest.json +96 -0
  1202. package/dist/lib/schemas-data/3.0.1/core/creative-policy.json +31 -0
  1203. package/dist/lib/schemas-data/3.0.1/core/creative-variable.json +47 -0
  1204. package/dist/lib/schemas-data/3.0.1/core/creative-variant.json +60 -0
  1205. package/dist/lib/schemas-data/3.0.1/core/data-provider-signal-selector.json +94 -0
  1206. package/dist/lib/schemas-data/3.0.1/core/date-range.json +24 -0
  1207. package/dist/lib/schemas-data/3.0.1/core/datetime-range.json +24 -0
  1208. package/dist/lib/schemas-data/3.0.1/core/daypart-target.json +39 -0
  1209. package/dist/lib/schemas-data/3.0.1/core/deadline-policy.json +58 -0
  1210. package/dist/lib/schemas-data/3.0.1/core/delivery-forecast.json +86 -0
  1211. package/dist/lib/schemas-data/3.0.1/core/delivery-metrics.json +327 -0
  1212. package/dist/lib/schemas-data/3.0.1/core/deployment.json +93 -0
  1213. package/dist/lib/schemas-data/3.0.1/core/destination-item.json +168 -0
  1214. package/dist/lib/schemas-data/3.0.1/core/destination.json +53 -0
  1215. package/dist/lib/schemas-data/3.0.1/core/diagnostic-issue.json +27 -0
  1216. package/dist/lib/schemas-data/3.0.1/core/duration.json +30 -0
  1217. package/dist/lib/schemas-data/3.0.1/core/education-item.json +168 -0
  1218. package/dist/lib/schemas-data/3.0.1/core/error.json +52 -0
  1219. package/dist/lib/schemas-data/3.0.1/core/event-custom-data.json +86 -0
  1220. package/dist/lib/schemas-data/3.0.1/core/event-source-health.json +70 -0
  1221. package/dist/lib/schemas-data/3.0.1/core/event.json +54 -0
  1222. package/dist/lib/schemas-data/3.0.1/core/ext.json +8 -0
  1223. package/dist/lib/schemas-data/3.0.1/core/feature-requirement.json +45 -0
  1224. package/dist/lib/schemas-data/3.0.1/core/flight-item.json +159 -0
  1225. package/dist/lib/schemas-data/3.0.1/core/forecast-point.json +85 -0
  1226. package/dist/lib/schemas-data/3.0.1/core/forecast-range.json +38 -0
  1227. package/dist/lib/schemas-data/3.0.1/core/format-id.json +48 -0
  1228. package/dist/lib/schemas-data/3.0.1/core/format.json +904 -0
  1229. package/dist/lib/schemas-data/3.0.1/core/frequency-cap.json +73 -0
  1230. package/dist/lib/schemas-data/3.0.1/core/generation-credential.json +44 -0
  1231. package/dist/lib/schemas-data/3.0.1/core/geo-breakdown-support.json +38 -0
  1232. package/dist/lib/schemas-data/3.0.1/core/hotel-item.json +214 -0
  1233. package/dist/lib/schemas-data/3.0.1/core/identifier.json +22 -0
  1234. package/dist/lib/schemas-data/3.0.1/core/industry-identifier.json +22 -0
  1235. package/dist/lib/schemas-data/3.0.1/core/insertion-order.json +91 -0
  1236. package/dist/lib/schemas-data/3.0.1/core/installment-deadlines.json +29 -0
  1237. package/dist/lib/schemas-data/3.0.1/core/installment.json +108 -0
  1238. package/dist/lib/schemas-data/3.0.1/core/job-item.json +199 -0
  1239. package/dist/lib/schemas-data/3.0.1/core/limited-series.json +28 -0
  1240. package/dist/lib/schemas-data/3.0.1/core/material-deadline.json +31 -0
  1241. package/dist/lib/schemas-data/3.0.1/core/mcp-webhook-payload.json +163 -0
  1242. package/dist/lib/schemas-data/3.0.1/core/measurement-readiness.json +43 -0
  1243. package/dist/lib/schemas-data/3.0.1/core/measurement-terms.json +63 -0
  1244. package/dist/lib/schemas-data/3.0.1/core/measurement-window.json +54 -0
  1245. package/dist/lib/schemas-data/3.0.1/core/media-buy-features.json +24 -0
  1246. package/dist/lib/schemas-data/3.0.1/core/media-buy.json +101 -0
  1247. package/dist/lib/schemas-data/3.0.1/core/offering-asset-group.json +118 -0
  1248. package/dist/lib/schemas-data/3.0.1/core/offering.json +267 -0
  1249. package/dist/lib/schemas-data/3.0.1/core/optimization-goal.json +285 -0
  1250. package/dist/lib/schemas-data/3.0.1/core/outcome-measurement.json +48 -0
  1251. package/dist/lib/schemas-data/3.0.1/core/overlay.json +89 -0
  1252. package/dist/lib/schemas-data/3.0.1/core/package.json +170 -0
  1253. package/dist/lib/schemas-data/3.0.1/core/pagination-request.json +21 -0
  1254. package/dist/lib/schemas-data/3.0.1/core/pagination-response.json +26 -0
  1255. package/dist/lib/schemas-data/3.0.1/core/performance-feedback.json +90 -0
  1256. package/dist/lib/schemas-data/3.0.1/core/performance-standard.json +33 -0
  1257. package/dist/lib/schemas-data/3.0.1/core/placement-definition.json +81 -0
  1258. package/dist/lib/schemas-data/3.0.1/core/placement.json +42 -0
  1259. package/dist/lib/schemas-data/3.0.1/core/planned-delivery.json +84 -0
  1260. package/dist/lib/schemas-data/3.0.1/core/price.json +59 -0
  1261. package/dist/lib/schemas-data/3.0.1/core/pricing-option.json +35 -0
  1262. package/dist/lib/schemas-data/3.0.1/core/product-allocation.json +69 -0
  1263. package/dist/lib/schemas-data/3.0.1/core/product-filters.json +435 -0
  1264. package/dist/lib/schemas-data/3.0.1/core/product.json +493 -0
  1265. package/dist/lib/schemas-data/3.0.1/core/property-id.json +15 -0
  1266. package/dist/lib/schemas-data/3.0.1/core/property-list-ref.json +29 -0
  1267. package/dist/lib/schemas-data/3.0.1/core/property-tag.json +16 -0
  1268. package/dist/lib/schemas-data/3.0.1/core/property.json +70 -0
  1269. package/dist/lib/schemas-data/3.0.1/core/proposal.json +89 -0
  1270. package/dist/lib/schemas-data/3.0.1/core/protocol-envelope.json +186 -0
  1271. package/dist/lib/schemas-data/3.0.1/core/provenance.json +234 -0
  1272. package/dist/lib/schemas-data/3.0.1/core/publisher-property-selector.json +92 -0
  1273. package/dist/lib/schemas-data/3.0.1/core/push-notification-config.json +47 -0
  1274. package/dist/lib/schemas-data/3.0.1/core/real-estate-item.json +241 -0
  1275. package/dist/lib/schemas-data/3.0.1/core/reference-asset.json +36 -0
  1276. package/dist/lib/schemas-data/3.0.1/core/reporting-capabilities.json +118 -0
  1277. package/dist/lib/schemas-data/3.0.1/core/reporting-webhook.json +67 -0
  1278. package/dist/lib/schemas-data/3.0.1/core/requirements/asset-requirements.json +44 -0
  1279. package/dist/lib/schemas-data/3.0.1/core/requirements/audio-asset-requirements.json +68 -0
  1280. package/dist/lib/schemas-data/3.0.1/core/requirements/catalog-field-binding.json +172 -0
  1281. package/dist/lib/schemas-data/3.0.1/core/requirements/catalog-requirements.json +68 -0
  1282. package/dist/lib/schemas-data/3.0.1/core/requirements/css-asset-requirements.json +15 -0
  1283. package/dist/lib/schemas-data/3.0.1/core/requirements/daast-asset-requirements.json +17 -0
  1284. package/dist/lib/schemas-data/3.0.1/core/requirements/html-asset-requirements.json +38 -0
  1285. package/dist/lib/schemas-data/3.0.1/core/requirements/image-asset-requirements.json +151 -0
  1286. package/dist/lib/schemas-data/3.0.1/core/requirements/javascript-asset-requirements.json +40 -0
  1287. package/dist/lib/schemas-data/3.0.1/core/requirements/markdown-asset-requirements.json +15 -0
  1288. package/dist/lib/schemas-data/3.0.1/core/requirements/offering-asset-constraint.json +66 -0
  1289. package/dist/lib/schemas-data/3.0.1/core/requirements/text-asset-requirements.json +41 -0
  1290. package/dist/lib/schemas-data/3.0.1/core/requirements/url-asset-requirements.json +50 -0
  1291. package/dist/lib/schemas-data/3.0.1/core/requirements/vast-asset-requirements.json +21 -0
  1292. package/dist/lib/schemas-data/3.0.1/core/requirements/video-asset-requirements.json +172 -0
  1293. package/dist/lib/schemas-data/3.0.1/core/requirements/webhook-asset-requirements.json +21 -0
  1294. package/dist/lib/schemas-data/3.0.1/core/response.json +24 -0
  1295. package/dist/lib/schemas-data/3.0.1/core/rights-constraint.json +98 -0
  1296. package/dist/lib/schemas-data/3.0.1/core/seller-agent-ref.json +30 -0
  1297. package/dist/lib/schemas-data/3.0.1/core/signal-definition.json +89 -0
  1298. package/dist/lib/schemas-data/3.0.1/core/signal-filters.json +43 -0
  1299. package/dist/lib/schemas-data/3.0.1/core/signal-id.json +66 -0
  1300. package/dist/lib/schemas-data/3.0.1/core/signal-pricing-option.json +7 -0
  1301. package/dist/lib/schemas-data/3.0.1/core/signal-pricing.json +194 -0
  1302. package/dist/lib/schemas-data/3.0.1/core/signal-targeting.json +93 -0
  1303. package/dist/lib/schemas-data/3.0.1/core/special.json +31 -0
  1304. package/dist/lib/schemas-data/3.0.1/core/start-timing.json +18 -0
  1305. package/dist/lib/schemas-data/3.0.1/core/store-item.json +259 -0
  1306. package/dist/lib/schemas-data/3.0.1/core/talent.json +27 -0
  1307. package/dist/lib/schemas-data/3.0.1/core/targeting.json +510 -0
  1308. package/dist/lib/schemas-data/3.0.1/core/tasks-get-request.json +50 -0
  1309. package/dist/lib/schemas-data/3.0.1/core/tasks-get-response.json +159 -0
  1310. package/dist/lib/schemas-data/3.0.1/core/tasks-list-request.json +185 -0
  1311. package/dist/lib/schemas-data/3.0.1/core/tasks-list-response.json +153 -0
  1312. package/dist/lib/schemas-data/3.0.1/core/user-match.json +90 -0
  1313. package/dist/lib/schemas-data/3.0.1/core/vehicle-item.json +231 -0
  1314. package/dist/lib/schemas-data/3.0.1/core/vendor-pricing-option.json +24 -0
  1315. package/dist/lib/schemas-data/3.0.1/core/x-entity-types.json +69 -0
  1316. package/dist/lib/schemas-data/3.0.1/creative/asset-types/index.json +118 -0
  1317. package/dist/lib/schemas-data/3.0.1/creative/creative-feature-result.json +69 -0
  1318. package/dist/lib/schemas-data/3.0.1/creative/get-creative-delivery-request.json +75 -0
  1319. package/dist/lib/schemas-data/3.0.1/creative/get-creative-delivery-response.json +143 -0
  1320. package/dist/lib/schemas-data/3.0.1/creative/get-creative-features-request.json +41 -0
  1321. package/dist/lib/schemas-data/3.0.1/creative/get-creative-features-response.json +76 -0
  1322. package/dist/lib/schemas-data/3.0.1/creative/list-creative-formats-request.json +150 -0
  1323. package/dist/lib/schemas-data/3.0.1/creative/list-creative-formats-response.json +64 -0
  1324. package/dist/lib/schemas-data/3.0.1/creative/list-creatives-request.json +184 -0
  1325. package/dist/lib/schemas-data/3.0.1/creative/list-creatives-response.json +445 -0
  1326. package/dist/lib/schemas-data/3.0.1/creative/preview-creative-request.json +212 -0
  1327. package/dist/lib/schemas-data/3.0.1/creative/preview-creative-response.json +307 -0
  1328. package/dist/lib/schemas-data/3.0.1/creative/preview-render.json +225 -0
  1329. package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-async-response-input-required.json +25 -0
  1330. package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-async-response-submitted.json +16 -0
  1331. package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-async-response-working.json +46 -0
  1332. package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-request.json +242 -0
  1333. package/dist/lib/schemas-data/3.0.1/creative/sync-creatives-response.json +270 -0
  1334. package/dist/lib/schemas-data/3.0.1/enums/account-scope.json +19 -0
  1335. package/dist/lib/schemas-data/3.0.1/enums/account-status.json +23 -0
  1336. package/dist/lib/schemas-data/3.0.1/enums/action-source.json +29 -0
  1337. package/dist/lib/schemas-data/3.0.1/enums/adcp-protocol.json +23 -0
  1338. package/dist/lib/schemas-data/3.0.1/enums/adjustment-kind.json +19 -0
  1339. package/dist/lib/schemas-data/3.0.1/enums/advertiser-industry.json +175 -0
  1340. package/dist/lib/schemas-data/3.0.1/enums/age-verification-method.json +14 -0
  1341. package/dist/lib/schemas-data/3.0.1/enums/assessment-status.json +19 -0
  1342. package/dist/lib/schemas-data/3.0.1/enums/asset-content-type.json +23 -0
  1343. package/dist/lib/schemas-data/3.0.1/enums/attribution-model.json +14 -0
  1344. package/dist/lib/schemas-data/3.0.1/enums/audience-source.json +15 -0
  1345. package/dist/lib/schemas-data/3.0.1/enums/audience-status.json +17 -0
  1346. package/dist/lib/schemas-data/3.0.1/enums/audio-channel-layout.json +13 -0
  1347. package/dist/lib/schemas-data/3.0.1/enums/auth-scheme.json +11 -0
  1348. package/dist/lib/schemas-data/3.0.1/enums/available-metric.json +31 -0
  1349. package/dist/lib/schemas-data/3.0.1/enums/billing-party.json +17 -0
  1350. package/dist/lib/schemas-data/3.0.1/enums/binary-verdict.json +15 -0
  1351. package/dist/lib/schemas-data/3.0.1/enums/brand-agent-type.json +27 -0
  1352. package/dist/lib/schemas-data/3.0.1/enums/canceled-by.json +15 -0
  1353. package/dist/lib/schemas-data/3.0.1/enums/catalog-action.json +14 -0
  1354. package/dist/lib/schemas-data/3.0.1/enums/catalog-item-status.json +19 -0
  1355. package/dist/lib/schemas-data/3.0.1/enums/catalog-type.json +22 -0
  1356. package/dist/lib/schemas-data/3.0.1/enums/channels.json +51 -0
  1357. package/dist/lib/schemas-data/3.0.1/enums/cloud-storage-protocol.json +12 -0
  1358. package/dist/lib/schemas-data/3.0.1/enums/co-branding-requirement.json +12 -0
  1359. package/dist/lib/schemas-data/3.0.1/enums/collection-cadence.json +23 -0
  1360. package/dist/lib/schemas-data/3.0.1/enums/collection-kind.json +19 -0
  1361. package/dist/lib/schemas-data/3.0.1/enums/collection-relationship.json +21 -0
  1362. package/dist/lib/schemas-data/3.0.1/enums/collection-status.json +19 -0
  1363. package/dist/lib/schemas-data/3.0.1/enums/consent-basis.json +13 -0
  1364. package/dist/lib/schemas-data/3.0.1/enums/content-id-type.json +21 -0
  1365. package/dist/lib/schemas-data/3.0.1/enums/content-rating-system.json +33 -0
  1366. package/dist/lib/schemas-data/3.0.1/enums/creative-action.json +14 -0
  1367. package/dist/lib/schemas-data/3.0.1/enums/creative-agent-capability.json +14 -0
  1368. package/dist/lib/schemas-data/3.0.1/enums/creative-approval-status.json +17 -0
  1369. package/dist/lib/schemas-data/3.0.1/enums/creative-identifier-type.json +22 -0
  1370. package/dist/lib/schemas-data/3.0.1/enums/creative-quality.json +15 -0
  1371. package/dist/lib/schemas-data/3.0.1/enums/creative-sort-field.json +14 -0
  1372. package/dist/lib/schemas-data/3.0.1/enums/creative-status.json +21 -0
  1373. package/dist/lib/schemas-data/3.0.1/enums/daast-tracking-event.json +32 -0
  1374. package/dist/lib/schemas-data/3.0.1/enums/daast-version.json +11 -0
  1375. package/dist/lib/schemas-data/3.0.1/enums/day-of-week.json +16 -0
  1376. package/dist/lib/schemas-data/3.0.1/enums/delegation-authority.json +17 -0
  1377. package/dist/lib/schemas-data/3.0.1/enums/delivery-type.json +15 -0
  1378. package/dist/lib/schemas-data/3.0.1/enums/demographic-system.json +23 -0
  1379. package/dist/lib/schemas-data/3.0.1/enums/derivative-type.json +21 -0
  1380. package/dist/lib/schemas-data/3.0.1/enums/device-platform.json +21 -0
  1381. package/dist/lib/schemas-data/3.0.1/enums/device-type.json +15 -0
  1382. package/dist/lib/schemas-data/3.0.1/enums/digital-source-type.json +29 -0
  1383. package/dist/lib/schemas-data/3.0.1/enums/dimension-unit.json +15 -0
  1384. package/dist/lib/schemas-data/3.0.1/enums/disclosure-persistence.json +17 -0
  1385. package/dist/lib/schemas-data/3.0.1/enums/disclosure-position.json +17 -0
  1386. package/dist/lib/schemas-data/3.0.1/enums/distance-unit.json +17 -0
  1387. package/dist/lib/schemas-data/3.0.1/enums/distribution-identifier-type.json +53 -0
  1388. package/dist/lib/schemas-data/3.0.1/enums/error-code.json +101 -0
  1389. package/dist/lib/schemas-data/3.0.1/enums/escalation-severity.json +17 -0
  1390. package/dist/lib/schemas-data/3.0.1/enums/event-type.json +67 -0
  1391. package/dist/lib/schemas-data/3.0.1/enums/exclusivity.json +17 -0
  1392. package/dist/lib/schemas-data/3.0.1/enums/feature-check-status.json +19 -0
  1393. package/dist/lib/schemas-data/3.0.1/enums/feed-format.json +14 -0
  1394. package/dist/lib/schemas-data/3.0.1/enums/feedback-source.json +13 -0
  1395. package/dist/lib/schemas-data/3.0.1/enums/forecast-method.json +17 -0
  1396. package/dist/lib/schemas-data/3.0.1/enums/forecast-range-unit.json +27 -0
  1397. package/dist/lib/schemas-data/3.0.1/enums/forecastable-metric.json +43 -0
  1398. package/dist/lib/schemas-data/3.0.1/enums/format-id-parameter.json +11 -0
  1399. package/dist/lib/schemas-data/3.0.1/enums/frame-rate-type.json +15 -0
  1400. package/dist/lib/schemas-data/3.0.1/enums/frequency-cap-scope.json +13 -0
  1401. package/dist/lib/schemas-data/3.0.1/enums/genre-taxonomy.json +29 -0
  1402. package/dist/lib/schemas-data/3.0.1/enums/geo-level.json +13 -0
  1403. package/dist/lib/schemas-data/3.0.1/enums/gop-type.json +15 -0
  1404. package/dist/lib/schemas-data/3.0.1/enums/governance-decision.json +18 -0
  1405. package/dist/lib/schemas-data/3.0.1/enums/governance-domain.json +13 -0
  1406. package/dist/lib/schemas-data/3.0.1/enums/governance-mode.json +18 -0
  1407. package/dist/lib/schemas-data/3.0.1/enums/governance-phase.json +12 -0
  1408. package/dist/lib/schemas-data/3.0.1/enums/history-entry-type.json +11 -0
  1409. package/dist/lib/schemas-data/3.0.1/enums/http-method.json +11 -0
  1410. package/dist/lib/schemas-data/3.0.1/enums/identifier-types.json +61 -0
  1411. package/dist/lib/schemas-data/3.0.1/enums/installment-status.json +25 -0
  1412. package/dist/lib/schemas-data/3.0.1/enums/javascript-module-type.json +12 -0
  1413. package/dist/lib/schemas-data/3.0.1/enums/landing-page-requirement.json +12 -0
  1414. package/dist/lib/schemas-data/3.0.1/enums/makegood-remedy.json +17 -0
  1415. package/dist/lib/schemas-data/3.0.1/enums/markdown-flavor.json +11 -0
  1416. package/dist/lib/schemas-data/3.0.1/enums/match-id-type.json +29 -0
  1417. package/dist/lib/schemas-data/3.0.1/enums/match-type.json +17 -0
  1418. package/dist/lib/schemas-data/3.0.1/enums/media-buy-status.json +25 -0
  1419. package/dist/lib/schemas-data/3.0.1/enums/media-buy-valid-action.json +17 -0
  1420. package/dist/lib/schemas-data/3.0.1/enums/metric-type.json +17 -0
  1421. package/dist/lib/schemas-data/3.0.1/enums/metro-system.json +14 -0
  1422. package/dist/lib/schemas-data/3.0.1/enums/moov-atom-position.json +15 -0
  1423. package/dist/lib/schemas-data/3.0.1/enums/notification-type.json +13 -0
  1424. package/dist/lib/schemas-data/3.0.1/enums/outcome-type.json +17 -0
  1425. package/dist/lib/schemas-data/3.0.1/enums/pacing.json +17 -0
  1426. package/dist/lib/schemas-data/3.0.1/enums/payment-terms.json +23 -0
  1427. package/dist/lib/schemas-data/3.0.1/enums/performance-standard-metric.json +21 -0
  1428. package/dist/lib/schemas-data/3.0.1/enums/policy-category.json +15 -0
  1429. package/dist/lib/schemas-data/3.0.1/enums/policy-enforcement.json +17 -0
  1430. package/dist/lib/schemas-data/3.0.1/enums/postal-system.json +20 -0
  1431. package/dist/lib/schemas-data/3.0.1/enums/preview-output-format.json +11 -0
  1432. package/dist/lib/schemas-data/3.0.1/enums/pricing-model.json +29 -0
  1433. package/dist/lib/schemas-data/3.0.1/enums/production-quality.json +17 -0
  1434. package/dist/lib/schemas-data/3.0.1/enums/property-type.json +31 -0
  1435. package/dist/lib/schemas-data/3.0.1/enums/proposal-status.json +15 -0
  1436. package/dist/lib/schemas-data/3.0.1/enums/publisher-identifier-types.json +19 -0
  1437. package/dist/lib/schemas-data/3.0.1/enums/purchase-type.json +13 -0
  1438. package/dist/lib/schemas-data/3.0.1/enums/reach-unit.json +23 -0
  1439. package/dist/lib/schemas-data/3.0.1/enums/reporting-frequency.json +12 -0
  1440. package/dist/lib/schemas-data/3.0.1/enums/response-type.json +19 -0
  1441. package/dist/lib/schemas-data/3.0.1/enums/restricted-attribute.json +31 -0
  1442. package/dist/lib/schemas-data/3.0.1/enums/right-type.json +22 -0
  1443. package/dist/lib/schemas-data/3.0.1/enums/right-use.json +36 -0
  1444. package/dist/lib/schemas-data/3.0.1/enums/rights-billing-period.json +15 -0
  1445. package/dist/lib/schemas-data/3.0.1/enums/scan-type.json +15 -0
  1446. package/dist/lib/schemas-data/3.0.1/enums/si-session-status.json +19 -0
  1447. package/dist/lib/schemas-data/3.0.1/enums/signal-catalog-type.json +17 -0
  1448. package/dist/lib/schemas-data/3.0.1/enums/signal-source.json +15 -0
  1449. package/dist/lib/schemas-data/3.0.1/enums/signal-value-type.json +17 -0
  1450. package/dist/lib/schemas-data/3.0.1/enums/snapshot-unavailable-reason.json +17 -0
  1451. package/dist/lib/schemas-data/3.0.1/enums/sort-direction.json +11 -0
  1452. package/dist/lib/schemas-data/3.0.1/enums/sort-metric.json +31 -0
  1453. package/dist/lib/schemas-data/3.0.1/enums/special-category.json +35 -0
  1454. package/dist/lib/schemas-data/3.0.1/enums/specialism.json +55 -0
  1455. package/dist/lib/schemas-data/3.0.1/enums/talent-role.json +29 -0
  1456. package/dist/lib/schemas-data/3.0.1/enums/task-status.json +29 -0
  1457. package/dist/lib/schemas-data/3.0.1/enums/task-type.json +57 -0
  1458. package/dist/lib/schemas-data/3.0.1/enums/transport-mode.json +19 -0
  1459. package/dist/lib/schemas-data/3.0.1/enums/travel-time-unit.json +15 -0
  1460. package/dist/lib/schemas-data/3.0.1/enums/uid-type.json +31 -0
  1461. package/dist/lib/schemas-data/3.0.1/enums/universal-macro.json +149 -0
  1462. package/dist/lib/schemas-data/3.0.1/enums/update-frequency.json +13 -0
  1463. package/dist/lib/schemas-data/3.0.1/enums/url-asset-type.json +12 -0
  1464. package/dist/lib/schemas-data/3.0.1/enums/validation-mode.json +11 -0
  1465. package/dist/lib/schemas-data/3.0.1/enums/vast-tracking-event.json +41 -0
  1466. package/dist/lib/schemas-data/3.0.1/enums/vast-version.json +14 -0
  1467. package/dist/lib/schemas-data/3.0.1/enums/viewability-standard.json +15 -0
  1468. package/dist/lib/schemas-data/3.0.1/enums/wcag-level.json +17 -0
  1469. package/dist/lib/schemas-data/3.0.1/enums/webhook-response-type.json +13 -0
  1470. package/dist/lib/schemas-data/3.0.1/enums/webhook-security-method.json +12 -0
  1471. package/dist/lib/schemas-data/3.0.1/error-details/account-setup-required.json +22 -0
  1472. package/dist/lib/schemas-data/3.0.1/error-details/audience-too-small.json +18 -0
  1473. package/dist/lib/schemas-data/3.0.1/error-details/budget-too-low.json +18 -0
  1474. package/dist/lib/schemas-data/3.0.1/error-details/conflict.json +28 -0
  1475. package/dist/lib/schemas-data/3.0.1/error-details/creative-rejected.json +27 -0
  1476. package/dist/lib/schemas-data/3.0.1/error-details/policy-violation.json +27 -0
  1477. package/dist/lib/schemas-data/3.0.1/error-details/rate-limited.json +31 -0
  1478. package/dist/lib/schemas-data/3.0.1/error-details/vendor-error-codes.json +55 -0
  1479. package/dist/lib/schemas-data/3.0.1/extensions/extension-meta.json +69 -0
  1480. package/dist/lib/schemas-data/3.0.1/extensions/index.json +9 -0
  1481. package/dist/lib/schemas-data/3.0.1/governance/attribute-definition.json +82 -0
  1482. package/dist/lib/schemas-data/3.0.1/governance/audience-constraints.json +27 -0
  1483. package/dist/lib/schemas-data/3.0.1/governance/check-governance-request.json +198 -0
  1484. package/dist/lib/schemas-data/3.0.1/governance/check-governance-response.json +217 -0
  1485. package/dist/lib/schemas-data/3.0.1/governance/get-plan-audit-logs-request.json +79 -0
  1486. package/dist/lib/schemas-data/3.0.1/governance/get-plan-audit-logs-response.json +423 -0
  1487. package/dist/lib/schemas-data/3.0.1/governance/policy-category-definition.json +95 -0
  1488. package/dist/lib/schemas-data/3.0.1/governance/policy-entry.json +165 -0
  1489. package/dist/lib/schemas-data/3.0.1/governance/policy-ref.json +27 -0
  1490. package/dist/lib/schemas-data/3.0.1/governance/report-plan-outcome-request.json +165 -0
  1491. package/dist/lib/schemas-data/3.0.1/governance/report-plan-outcome-response.json +89 -0
  1492. package/dist/lib/schemas-data/3.0.1/governance/sync-plans-request.json +449 -0
  1493. package/dist/lib/schemas-data/3.0.1/governance/sync-plans-response.json +119 -0
  1494. package/dist/lib/schemas-data/3.0.1/index.json +1678 -0
  1495. package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-async-response-input-required.json +32 -0
  1496. package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-async-response-submitted.json +16 -0
  1497. package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-async-response-working.json +36 -0
  1498. package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-request.json +138 -0
  1499. package/dist/lib/schemas-data/3.0.1/media-buy/build-creative-response.json +293 -0
  1500. package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-async-response-input-required.json +31 -0
  1501. package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-async-response-submitted.json +16 -0
  1502. package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-async-response-working.json +36 -0
  1503. package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-request.json +221 -0
  1504. package/dist/lib/schemas-data/3.0.1/media-buy/create-media-buy-response.json +194 -0
  1505. package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buy-delivery-request.json +205 -0
  1506. package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buy-delivery-response.json +704 -0
  1507. package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buys-request.json +66 -0
  1508. package/dist/lib/schemas-data/3.0.1/media-buy/get-media-buys-response.json +394 -0
  1509. package/dist/lib/schemas-data/3.0.1/media-buy/get-products-async-response-input-required.json +38 -0
  1510. package/dist/lib/schemas-data/3.0.1/media-buy/get-products-async-response-submitted.json +21 -0
  1511. package/dist/lib/schemas-data/3.0.1/media-buy/get-products-async-response-working.json +34 -0
  1512. package/dist/lib/schemas-data/3.0.1/media-buy/get-products-request.json +229 -0
  1513. package/dist/lib/schemas-data/3.0.1/media-buy/get-products-response.json +195 -0
  1514. package/dist/lib/schemas-data/3.0.1/media-buy/list-creative-formats-request.json +103 -0
  1515. package/dist/lib/schemas-data/3.0.1/media-buy/list-creative-formats-response.json +68 -0
  1516. package/dist/lib/schemas-data/3.0.1/media-buy/log-event-request.json +53 -0
  1517. package/dist/lib/schemas-data/3.0.1/media-buy/log-event-response.json +130 -0
  1518. package/dist/lib/schemas-data/3.0.1/media-buy/package-request.json +133 -0
  1519. package/dist/lib/schemas-data/3.0.1/media-buy/package-update.json +202 -0
  1520. package/dist/lib/schemas-data/3.0.1/media-buy/provide-performance-feedback-request.json +73 -0
  1521. package/dist/lib/schemas-data/3.0.1/media-buy/provide-performance-feedback-response.json +79 -0
  1522. package/dist/lib/schemas-data/3.0.1/media-buy/sync-audiences-request.json +127 -0
  1523. package/dist/lib/schemas-data/3.0.1/media-buy/sync-audiences-response.json +191 -0
  1524. package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-async-response-input-required.json +26 -0
  1525. package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-async-response-submitted.json +16 -0
  1526. package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-async-response-working.json +56 -0
  1527. package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-request.json +162 -0
  1528. package/dist/lib/schemas-data/3.0.1/media-buy/sync-catalogs-response.json +213 -0
  1529. package/dist/lib/schemas-data/3.0.1/media-buy/sync-event-sources-request.json +82 -0
  1530. package/dist/lib/schemas-data/3.0.1/media-buy/sync-event-sources-response.json +167 -0
  1531. package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-async-response-input-required.json +24 -0
  1532. package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-async-response-submitted.json +16 -0
  1533. package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-async-response-working.json +36 -0
  1534. package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-request.json +99 -0
  1535. package/dist/lib/schemas-data/3.0.1/media-buy/update-media-buy-response.json +119 -0
  1536. package/dist/lib/schemas-data/3.0.1/pricing-options/cpa-option.json +75 -0
  1537. package/dist/lib/schemas-data/3.0.1/pricing-options/cpc-option.json +71 -0
  1538. package/dist/lib/schemas-data/3.0.1/pricing-options/cpcv-option.json +71 -0
  1539. package/dist/lib/schemas-data/3.0.1/pricing-options/cpm-option.json +71 -0
  1540. package/dist/lib/schemas-data/3.0.1/pricing-options/cpp-option.json +90 -0
  1541. package/dist/lib/schemas-data/3.0.1/pricing-options/cpv-option.json +107 -0
  1542. package/dist/lib/schemas-data/3.0.1/pricing-options/flat-rate-option.json +116 -0
  1543. package/dist/lib/schemas-data/3.0.1/pricing-options/price-breakdown.json +88 -0
  1544. package/dist/lib/schemas-data/3.0.1/pricing-options/price-guidance.json +30 -0
  1545. package/dist/lib/schemas-data/3.0.1/pricing-options/time-option.json +97 -0
  1546. package/dist/lib/schemas-data/3.0.1/pricing-options/vcpm-option.json +71 -0
  1547. package/dist/lib/schemas-data/3.0.1/property/authorization-result.json +50 -0
  1548. package/dist/lib/schemas-data/3.0.1/property/base-property-source.json +98 -0
  1549. package/dist/lib/schemas-data/3.0.1/property/create-property-list-request.json +62 -0
  1550. package/dist/lib/schemas-data/3.0.1/property/create-property-list-response.json +33 -0
  1551. package/dist/lib/schemas-data/3.0.1/property/delete-property-list-request.json +43 -0
  1552. package/dist/lib/schemas-data/3.0.1/property/delete-property-list-response.json +34 -0
  1553. package/dist/lib/schemas-data/3.0.1/property/delivery-record.json +35 -0
  1554. package/dist/lib/schemas-data/3.0.1/property/get-property-list-request.json +57 -0
  1555. package/dist/lib/schemas-data/3.0.1/property/get-property-list-response.json +53 -0
  1556. package/dist/lib/schemas-data/3.0.1/property/list-property-lists-request.json +33 -0
  1557. package/dist/lib/schemas-data/3.0.1/property/list-property-lists-response.json +29 -0
  1558. package/dist/lib/schemas-data/3.0.1/property/property-error.json +34 -0
  1559. package/dist/lib/schemas-data/3.0.1/property/property-feature-definition.json +96 -0
  1560. package/dist/lib/schemas-data/3.0.1/property/property-feature-result.json +50 -0
  1561. package/dist/lib/schemas-data/3.0.1/property/property-feature-value.json +59 -0
  1562. package/dist/lib/schemas-data/3.0.1/property/property-feature.json +26 -0
  1563. package/dist/lib/schemas-data/3.0.1/property/property-list-changed-webhook.json +74 -0
  1564. package/dist/lib/schemas-data/3.0.1/property/property-list-filters.json +51 -0
  1565. package/dist/lib/schemas-data/3.0.1/property/property-list.json +79 -0
  1566. package/dist/lib/schemas-data/3.0.1/property/update-property-list-request.json +71 -0
  1567. package/dist/lib/schemas-data/3.0.1/property/update-property-list-response.json +28 -0
  1568. package/dist/lib/schemas-data/3.0.1/property/validate-property-delivery-request.json +49 -0
  1569. package/dist/lib/schemas-data/3.0.1/property/validate-property-delivery-response.json +180 -0
  1570. package/dist/lib/schemas-data/3.0.1/property/validation-result.json +101 -0
  1571. package/dist/lib/schemas-data/3.0.1/protocol/get-adcp-capabilities-request.json +37 -0
  1572. package/dist/lib/schemas-data/3.0.1/protocol/get-adcp-capabilities-response.json +1108 -0
  1573. package/dist/lib/schemas-data/3.0.1/signals/activate-signal-request.json +66 -0
  1574. package/dist/lib/schemas-data/3.0.1/signals/activate-signal-response.json +81 -0
  1575. package/dist/lib/schemas-data/3.0.1/signals/get-signals-request.json +80 -0
  1576. package/dist/lib/schemas-data/3.0.1/signals/get-signals-response.json +130 -0
  1577. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-capabilities.json +154 -0
  1578. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-get-offering-request.json +47 -0
  1579. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-get-offering-response.json +150 -0
  1580. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-identity.json +104 -0
  1581. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-initiate-session-request.json +65 -0
  1582. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-initiate-session-response.json +64 -0
  1583. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-send-message-request.json +71 -0
  1584. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-send-message-response.json +123 -0
  1585. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-terminate-session-request.json +77 -0
  1586. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-terminate-session-response.json +86 -0
  1587. package/dist/lib/schemas-data/3.0.1/sponsored-intelligence/si-ui-element.json +341 -0
  1588. package/dist/lib/server/a2a-adapter.d.ts +234 -0
  1589. package/dist/lib/server/a2a-adapter.d.ts.map +1 -0
  1590. package/dist/lib/server/a2a-adapter.js +503 -0
  1591. package/dist/lib/server/a2a-adapter.js.map +1 -0
  1592. package/dist/lib/server/adcp-server.d.ts +265 -0
  1593. package/dist/lib/server/adcp-server.d.ts.map +1 -0
  1594. package/dist/lib/server/adcp-server.js +187 -0
  1595. package/dist/lib/server/adcp-server.js.map +1 -0
  1596. package/dist/lib/server/auth-introspection.d.ts +83 -0
  1597. package/dist/lib/server/auth-introspection.d.ts.map +1 -0
  1598. package/dist/lib/server/auth-introspection.js +297 -0
  1599. package/dist/lib/server/auth-introspection.js.map +1 -0
  1600. package/dist/lib/server/auth-signature.d.ts +322 -0
  1601. package/dist/lib/server/auth-signature.d.ts.map +1 -0
  1602. package/dist/lib/server/auth-signature.js +310 -0
  1603. package/dist/lib/server/auth-signature.js.map +1 -0
  1604. package/dist/lib/server/auth.d.ts +303 -0
  1605. package/dist/lib/server/auth.d.ts.map +1 -0
  1606. package/dist/lib/server/auth.js +387 -0
  1607. package/dist/lib/server/auth.js.map +1 -0
  1608. package/dist/lib/server/create-adcp-server.d.ts +968 -0
  1609. package/dist/lib/server/create-adcp-server.d.ts.map +1 -0
  1610. package/dist/lib/server/create-adcp-server.js +1831 -0
  1611. package/dist/lib/server/create-adcp-server.js.map +1 -0
  1612. package/dist/lib/server/envelope-allowlist.d.ts +109 -0
  1613. package/dist/lib/server/envelope-allowlist.d.ts.map +1 -0
  1614. package/dist/lib/server/envelope-allowlist.js +155 -0
  1615. package/dist/lib/server/envelope-allowlist.js.map +1 -0
  1616. package/dist/lib/server/errors.d.ts +129 -0
  1617. package/dist/lib/server/errors.d.ts.map +1 -0
  1618. package/dist/lib/server/errors.js +85 -0
  1619. package/dist/lib/server/errors.js.map +1 -0
  1620. package/dist/lib/server/express-adapter.d.ts +169 -0
  1621. package/dist/lib/server/express-adapter.d.ts.map +1 -0
  1622. package/dist/lib/server/express-adapter.js +271 -0
  1623. package/dist/lib/server/express-adapter.js.map +1 -0
  1624. package/dist/lib/server/governance.d.ts +122 -0
  1625. package/dist/lib/server/governance.d.ts.map +1 -0
  1626. package/dist/lib/server/governance.js +189 -0
  1627. package/dist/lib/server/governance.js.map +1 -0
  1628. package/dist/lib/server/idempotency/backends/memory.d.ts +22 -0
  1629. package/dist/lib/server/idempotency/backends/memory.d.ts.map +1 -0
  1630. package/dist/lib/server/idempotency/backends/memory.js +78 -0
  1631. package/dist/lib/server/idempotency/backends/memory.js.map +1 -0
  1632. package/dist/lib/server/idempotency/backends/pg.d.ts +76 -0
  1633. package/dist/lib/server/idempotency/backends/pg.d.ts.map +1 -0
  1634. package/dist/lib/server/idempotency/backends/pg.js +163 -0
  1635. package/dist/lib/server/idempotency/backends/pg.js.map +1 -0
  1636. package/dist/lib/server/idempotency/index.d.ts +7 -0
  1637. package/dist/lib/server/idempotency/index.d.ts.map +1 -0
  1638. package/dist/lib/server/idempotency/index.js +15 -0
  1639. package/dist/lib/server/idempotency/index.js.map +1 -0
  1640. package/dist/lib/server/idempotency/store.d.ts +302 -0
  1641. package/dist/lib/server/idempotency/store.d.ts.map +1 -0
  1642. package/dist/lib/server/idempotency/store.js +272 -0
  1643. package/dist/lib/server/idempotency/store.js.map +1 -0
  1644. package/dist/lib/server/index.d.ts +50 -0
  1645. package/dist/lib/server/index.d.ts.map +1 -0
  1646. package/dist/lib/server/index.js +164 -0
  1647. package/dist/lib/server/index.js.map +1 -0
  1648. package/dist/lib/server/media-buy-helpers.d.ts +47 -0
  1649. package/dist/lib/server/media-buy-helpers.d.ts.map +1 -0
  1650. package/dist/lib/server/media-buy-helpers.js +43 -0
  1651. package/dist/lib/server/media-buy-helpers.js.map +1 -0
  1652. package/dist/lib/server/pin-and-bind-fetch.d.ts +115 -0
  1653. package/dist/lib/server/pin-and-bind-fetch.d.ts.map +1 -0
  1654. package/dist/lib/server/pin-and-bind-fetch.js +244 -0
  1655. package/dist/lib/server/pin-and-bind-fetch.js.map +1 -0
  1656. package/dist/lib/server/postgres-state-store.d.ts +76 -0
  1657. package/dist/lib/server/postgres-state-store.d.ts.map +1 -0
  1658. package/dist/lib/server/postgres-state-store.js +218 -0
  1659. package/dist/lib/server/postgres-state-store.js.map +1 -0
  1660. package/dist/lib/server/postgres-task-store.d.ts +121 -0
  1661. package/dist/lib/server/postgres-task-store.d.ts.map +1 -0
  1662. package/dist/lib/server/postgres-task-store.js +298 -0
  1663. package/dist/lib/server/postgres-task-store.js.map +1 -0
  1664. package/dist/lib/server/product-defaults.d.ts +16 -0
  1665. package/dist/lib/server/product-defaults.d.ts.map +1 -0
  1666. package/dist/lib/server/product-defaults.js +25 -0
  1667. package/dist/lib/server/product-defaults.js.map +1 -0
  1668. package/dist/lib/server/responses.d.ts +257 -0
  1669. package/dist/lib/server/responses.d.ts.map +1 -0
  1670. package/dist/lib/server/responses.js +542 -0
  1671. package/dist/lib/server/responses.js.map +1 -0
  1672. package/dist/lib/server/serve.d.ts +308 -0
  1673. package/dist/lib/server/serve.d.ts.map +1 -0
  1674. package/dist/lib/server/serve.js +663 -0
  1675. package/dist/lib/server/serve.js.map +1 -0
  1676. package/dist/lib/server/state-store.d.ts +296 -0
  1677. package/dist/lib/server/state-store.d.ts.map +1 -0
  1678. package/dist/lib/server/state-store.js +459 -0
  1679. package/dist/lib/server/state-store.js.map +1 -0
  1680. package/dist/lib/server/structured-serialize.d.ts +30 -0
  1681. package/dist/lib/server/structured-serialize.d.ts.map +1 -0
  1682. package/dist/lib/server/structured-serialize.js +109 -0
  1683. package/dist/lib/server/structured-serialize.js.map +1 -0
  1684. package/dist/lib/server/targeting-helpers.d.ts +90 -0
  1685. package/dist/lib/server/targeting-helpers.d.ts.map +1 -0
  1686. package/dist/lib/server/targeting-helpers.js +144 -0
  1687. package/dist/lib/server/targeting-helpers.js.map +1 -0
  1688. package/dist/lib/server/tasks.d.ts +91 -0
  1689. package/dist/lib/server/tasks.d.ts.map +1 -0
  1690. package/dist/lib/server/tasks.js +116 -0
  1691. package/dist/lib/server/tasks.js.map +1 -0
  1692. package/dist/lib/server/test-controller-bridge.d.ts +192 -0
  1693. package/dist/lib/server/test-controller-bridge.d.ts.map +1 -0
  1694. package/dist/lib/server/test-controller-bridge.js +207 -0
  1695. package/dist/lib/server/test-controller-bridge.js.map +1 -0
  1696. package/dist/lib/server/test-controller.d.ts +388 -0
  1697. package/dist/lib/server/test-controller.d.ts.map +1 -0
  1698. package/dist/lib/server/test-controller.js +735 -0
  1699. package/dist/lib/server/test-controller.js.map +1 -0
  1700. package/dist/lib/server/webhook-emitter.d.ts +192 -0
  1701. package/dist/lib/server/webhook-emitter.d.ts.map +1 -0
  1702. package/dist/lib/server/webhook-emitter.js +316 -0
  1703. package/dist/lib/server/webhook-emitter.js.map +1 -0
  1704. package/dist/lib/server/wrap-envelope.d.ts +162 -0
  1705. package/dist/lib/server/wrap-envelope.d.ts.map +1 -0
  1706. package/dist/lib/server/wrap-envelope.js +145 -0
  1707. package/dist/lib/server/wrap-envelope.js.map +1 -0
  1708. package/dist/lib/signing/agent-context.d.ts +73 -0
  1709. package/dist/lib/signing/agent-context.d.ts.map +1 -0
  1710. package/dist/lib/signing/agent-context.js +104 -0
  1711. package/dist/lib/signing/agent-context.js.map +1 -0
  1712. package/dist/lib/signing/agent-fetch.d.ts +177 -0
  1713. package/dist/lib/signing/agent-fetch.d.ts.map +1 -0
  1714. package/dist/lib/signing/agent-fetch.js +271 -0
  1715. package/dist/lib/signing/agent-fetch.js.map +1 -0
  1716. package/dist/lib/signing/brand-jwks.d.ts +102 -0
  1717. package/dist/lib/signing/brand-jwks.d.ts.map +1 -0
  1718. package/dist/lib/signing/brand-jwks.js +433 -0
  1719. package/dist/lib/signing/brand-jwks.js.map +1 -0
  1720. package/dist/lib/signing/canonicalize.d.ts +39 -0
  1721. package/dist/lib/signing/canonicalize.d.ts.map +1 -0
  1722. package/dist/lib/signing/canonicalize.js +149 -0
  1723. package/dist/lib/signing/canonicalize.js.map +1 -0
  1724. package/dist/lib/signing/capability-cache.d.ts +70 -0
  1725. package/dist/lib/signing/capability-cache.d.ts.map +1 -0
  1726. package/dist/lib/signing/capability-cache.js +90 -0
  1727. package/dist/lib/signing/capability-cache.js.map +1 -0
  1728. package/dist/lib/signing/capability-priming.d.ts +30 -0
  1729. package/dist/lib/signing/capability-priming.d.ts.map +1 -0
  1730. package/dist/lib/signing/capability-priming.js +145 -0
  1731. package/dist/lib/signing/capability-priming.js.map +1 -0
  1732. package/dist/lib/signing/client.d.ts +25 -0
  1733. package/dist/lib/signing/client.d.ts.map +1 -0
  1734. package/dist/lib/signing/client.js +70 -0
  1735. package/dist/lib/signing/client.js.map +1 -0
  1736. package/dist/lib/signing/content-digest.d.ts +9 -0
  1737. package/dist/lib/signing/content-digest.d.ts.map +1 -0
  1738. package/dist/lib/signing/content-digest.js +48 -0
  1739. package/dist/lib/signing/content-digest.js.map +1 -0
  1740. package/dist/lib/signing/crypto.d.ts +5 -0
  1741. package/dist/lib/signing/crypto.d.ts.map +1 -0
  1742. package/dist/lib/signing/crypto.js +35 -0
  1743. package/dist/lib/signing/crypto.js.map +1 -0
  1744. package/dist/lib/signing/ecdsa-encoding.d.ts +20 -0
  1745. package/dist/lib/signing/ecdsa-encoding.d.ts.map +1 -0
  1746. package/dist/lib/signing/ecdsa-encoding.js +91 -0
  1747. package/dist/lib/signing/ecdsa-encoding.js.map +1 -0
  1748. package/dist/lib/signing/errors.d.ts +49 -0
  1749. package/dist/lib/signing/errors.d.ts.map +1 -0
  1750. package/dist/lib/signing/errors.js +48 -0
  1751. package/dist/lib/signing/errors.js.map +1 -0
  1752. package/dist/lib/signing/fetch-async.d.ts +23 -0
  1753. package/dist/lib/signing/fetch-async.d.ts.map +1 -0
  1754. package/dist/lib/signing/fetch-async.js +96 -0
  1755. package/dist/lib/signing/fetch-async.js.map +1 -0
  1756. package/dist/lib/signing/fetch.d.ts +17 -0
  1757. package/dist/lib/signing/fetch.d.ts.map +1 -0
  1758. package/dist/lib/signing/fetch.js +89 -0
  1759. package/dist/lib/signing/fetch.js.map +1 -0
  1760. package/dist/lib/signing/index.d.ts +16 -0
  1761. package/dist/lib/signing/index.d.ts.map +1 -0
  1762. package/dist/lib/signing/index.js +32 -0
  1763. package/dist/lib/signing/index.js.map +1 -0
  1764. package/dist/lib/signing/jwks-helpers.d.ts +48 -0
  1765. package/dist/lib/signing/jwks-helpers.d.ts.map +1 -0
  1766. package/dist/lib/signing/jwks-helpers.js +87 -0
  1767. package/dist/lib/signing/jwks-helpers.js.map +1 -0
  1768. package/dist/lib/signing/jwks-https.d.ts +61 -0
  1769. package/dist/lib/signing/jwks-https.d.ts.map +1 -0
  1770. package/dist/lib/signing/jwks-https.js +165 -0
  1771. package/dist/lib/signing/jwks-https.js.map +1 -0
  1772. package/dist/lib/signing/jwks.d.ts +10 -0
  1773. package/dist/lib/signing/jwks.d.ts.map +1 -0
  1774. package/dist/lib/signing/jwks.js +15 -0
  1775. package/dist/lib/signing/jwks.js.map +1 -0
  1776. package/dist/lib/signing/middleware.d.ts +77 -0
  1777. package/dist/lib/signing/middleware.d.ts.map +1 -0
  1778. package/dist/lib/signing/middleware.js +77 -0
  1779. package/dist/lib/signing/middleware.js.map +1 -0
  1780. package/dist/lib/signing/parser.d.ts +35 -0
  1781. package/dist/lib/signing/parser.d.ts.map +1 -0
  1782. package/dist/lib/signing/parser.js +244 -0
  1783. package/dist/lib/signing/parser.js.map +1 -0
  1784. package/dist/lib/signing/postgres-replay-store.d.ts +138 -0
  1785. package/dist/lib/signing/postgres-replay-store.d.ts.map +1 -0
  1786. package/dist/lib/signing/postgres-replay-store.js +236 -0
  1787. package/dist/lib/signing/postgres-replay-store.js.map +1 -0
  1788. package/dist/lib/signing/provider.d.ts +81 -0
  1789. package/dist/lib/signing/provider.d.ts.map +1 -0
  1790. package/dist/lib/signing/provider.js +3 -0
  1791. package/dist/lib/signing/provider.js.map +1 -0
  1792. package/dist/lib/signing/replay.d.ts +62 -0
  1793. package/dist/lib/signing/replay.d.ts.map +1 -0
  1794. package/dist/lib/signing/replay.js +106 -0
  1795. package/dist/lib/signing/replay.js.map +1 -0
  1796. package/dist/lib/signing/revocation-https.d.ts +79 -0
  1797. package/dist/lib/signing/revocation-https.d.ts.map +1 -0
  1798. package/dist/lib/signing/revocation-https.js +144 -0
  1799. package/dist/lib/signing/revocation-https.js.map +1 -0
  1800. package/dist/lib/signing/revocation.d.ts +11 -0
  1801. package/dist/lib/signing/revocation.d.ts.map +1 -0
  1802. package/dist/lib/signing/revocation.js +18 -0
  1803. package/dist/lib/signing/revocation.js.map +1 -0
  1804. package/dist/lib/signing/server.d.ts +27 -0
  1805. package/dist/lib/signing/server.d.ts.map +1 -0
  1806. package/dist/lib/signing/server.js +67 -0
  1807. package/dist/lib/signing/server.js.map +1 -0
  1808. package/dist/lib/signing/signer-async.d.ts +24 -0
  1809. package/dist/lib/signing/signer-async.d.ts.map +1 -0
  1810. package/dist/lib/signing/signer-async.js +34 -0
  1811. package/dist/lib/signing/signer-async.js.map +1 -0
  1812. package/dist/lib/signing/signer.d.ts +94 -0
  1813. package/dist/lib/signing/signer.d.ts.map +1 -0
  1814. package/dist/lib/signing/signer.js +131 -0
  1815. package/dist/lib/signing/signer.js.map +1 -0
  1816. package/dist/lib/signing/testing.d.ts +45 -0
  1817. package/dist/lib/signing/testing.d.ts.map +1 -0
  1818. package/dist/lib/signing/testing.js +81 -0
  1819. package/dist/lib/signing/testing.js.map +1 -0
  1820. package/dist/lib/signing/types.d.ts +90 -0
  1821. package/dist/lib/signing/types.d.ts.map +1 -0
  1822. package/dist/lib/signing/types.js +9 -0
  1823. package/dist/lib/signing/types.js.map +1 -0
  1824. package/dist/lib/signing/verifier.d.ts +23 -0
  1825. package/dist/lib/signing/verifier.d.ts.map +1 -0
  1826. package/dist/lib/signing/verifier.js +386 -0
  1827. package/dist/lib/signing/verifier.js.map +1 -0
  1828. package/dist/lib/signing/webhook-verifier.d.ts +119 -0
  1829. package/dist/lib/signing/webhook-verifier.d.ts.map +1 -0
  1830. package/dist/lib/signing/webhook-verifier.js +292 -0
  1831. package/dist/lib/signing/webhook-verifier.js.map +1 -0
  1832. package/dist/lib/storage/MemoryStorage.d.ts +93 -0
  1833. package/dist/lib/storage/MemoryStorage.d.ts.map +1 -0
  1834. package/dist/lib/storage/MemoryStorage.js +219 -0
  1835. package/dist/lib/storage/MemoryStorage.js.map +1 -0
  1836. package/dist/lib/storage/interfaces.d.ts +195 -0
  1837. package/dist/lib/storage/interfaces.d.ts.map +1 -0
  1838. package/dist/lib/storage/interfaces.js +5 -0
  1839. package/dist/lib/storage/interfaces.js.map +1 -0
  1840. package/dist/lib/substitution/encoder/SubstitutionEncoder.d.ts +45 -0
  1841. package/dist/lib/substitution/encoder/SubstitutionEncoder.d.ts.map +1 -0
  1842. package/dist/lib/substitution/encoder/SubstitutionEncoder.js +73 -0
  1843. package/dist/lib/substitution/encoder/SubstitutionEncoder.js.map +1 -0
  1844. package/dist/lib/substitution/encoder/index.d.ts +2 -0
  1845. package/dist/lib/substitution/encoder/index.d.ts.map +1 -0
  1846. package/dist/lib/substitution/encoder/index.js +7 -0
  1847. package/dist/lib/substitution/encoder/index.js.map +1 -0
  1848. package/dist/lib/substitution/index.d.ts +36 -0
  1849. package/dist/lib/substitution/index.d.ts.map +1 -0
  1850. package/dist/lib/substitution/index.js +56 -0
  1851. package/dist/lib/substitution/index.js.map +1 -0
  1852. package/dist/lib/substitution/observer/SubstitutionObserver.d.ts +91 -0
  1853. package/dist/lib/substitution/observer/SubstitutionObserver.d.ts.map +1 -0
  1854. package/dist/lib/substitution/observer/SubstitutionObserver.js +248 -0
  1855. package/dist/lib/substitution/observer/SubstitutionObserver.js.map +1 -0
  1856. package/dist/lib/substitution/observer/alignment.d.ts +24 -0
  1857. package/dist/lib/substitution/observer/alignment.d.ts.map +1 -0
  1858. package/dist/lib/substitution/observer/alignment.js +279 -0
  1859. package/dist/lib/substitution/observer/alignment.js.map +1 -0
  1860. package/dist/lib/substitution/observer/assertions.d.ts +48 -0
  1861. package/dist/lib/substitution/observer/assertions.d.ts.map +1 -0
  1862. package/dist/lib/substitution/observer/assertions.js +145 -0
  1863. package/dist/lib/substitution/observer/assertions.js.map +1 -0
  1864. package/dist/lib/substitution/observer/html-parser.d.ts +29 -0
  1865. package/dist/lib/substitution/observer/html-parser.d.ts.map +1 -0
  1866. package/dist/lib/substitution/observer/html-parser.js +308 -0
  1867. package/dist/lib/substitution/observer/html-parser.js.map +1 -0
  1868. package/dist/lib/substitution/observer/index.d.ts +7 -0
  1869. package/dist/lib/substitution/observer/index.d.ts.map +1 -0
  1870. package/dist/lib/substitution/observer/index.js +21 -0
  1871. package/dist/lib/substitution/observer/index.js.map +1 -0
  1872. package/dist/lib/substitution/observer/ssrf.d.ts +29 -0
  1873. package/dist/lib/substitution/observer/ssrf.d.ts.map +1 -0
  1874. package/dist/lib/substitution/observer/ssrf.js +226 -0
  1875. package/dist/lib/substitution/observer/ssrf.js.map +1 -0
  1876. package/dist/lib/substitution/rfc3986.d.ts +51 -0
  1877. package/dist/lib/substitution/rfc3986.d.ts.map +1 -0
  1878. package/dist/lib/substitution/rfc3986.js +139 -0
  1879. package/dist/lib/substitution/rfc3986.js.map +1 -0
  1880. package/dist/lib/substitution/types.d.ts +147 -0
  1881. package/dist/lib/substitution/types.d.ts.map +1 -0
  1882. package/dist/lib/substitution/types.js +8 -0
  1883. package/dist/lib/substitution/types.js.map +1 -0
  1884. package/dist/lib/substitution/vectors.d.ts +18 -0
  1885. package/dist/lib/substitution/vectors.d.ts.map +1 -0
  1886. package/dist/lib/substitution/vectors.js +79 -0
  1887. package/dist/lib/substitution/vectors.js.map +1 -0
  1888. package/dist/lib/testing/agent-tester.d.ts +34 -0
  1889. package/dist/lib/testing/agent-tester.d.ts.map +1 -0
  1890. package/dist/lib/testing/agent-tester.js +421 -0
  1891. package/dist/lib/testing/agent-tester.js.map +1 -0
  1892. package/dist/lib/testing/client.d.ts +104 -0
  1893. package/dist/lib/testing/client.d.ts.map +1 -0
  1894. package/dist/lib/testing/client.js +487 -0
  1895. package/dist/lib/testing/client.js.map +1 -0
  1896. package/dist/lib/testing/compliance/briefs.d.ts +11 -0
  1897. package/dist/lib/testing/compliance/briefs.d.ts.map +1 -0
  1898. package/dist/lib/testing/compliance/briefs.js +156 -0
  1899. package/dist/lib/testing/compliance/briefs.js.map +1 -0
  1900. package/dist/lib/testing/compliance/comply.d.ts +83 -0
  1901. package/dist/lib/testing/compliance/comply.d.ts.map +1 -0
  1902. package/dist/lib/testing/compliance/comply.js +1275 -0
  1903. package/dist/lib/testing/compliance/comply.js.map +1 -0
  1904. package/dist/lib/testing/compliance/index.d.ts +10 -0
  1905. package/dist/lib/testing/compliance/index.d.ts.map +1 -0
  1906. package/dist/lib/testing/compliance/index.js +18 -0
  1907. package/dist/lib/testing/compliance/index.js.map +1 -0
  1908. package/dist/lib/testing/compliance/storyboard-tracks.d.ts +17 -0
  1909. package/dist/lib/testing/compliance/storyboard-tracks.d.ts.map +1 -0
  1910. package/dist/lib/testing/compliance/storyboard-tracks.js +147 -0
  1911. package/dist/lib/testing/compliance/storyboard-tracks.js.map +1 -0
  1912. package/dist/lib/testing/compliance/types.d.ts +145 -0
  1913. package/dist/lib/testing/compliance/types.d.ts.map +1 -0
  1914. package/dist/lib/testing/compliance/types.js +6 -0
  1915. package/dist/lib/testing/compliance/types.js.map +1 -0
  1916. package/dist/lib/testing/comply-controller.d.ts +193 -0
  1917. package/dist/lib/testing/comply-controller.d.ts.map +1 -0
  1918. package/dist/lib/testing/comply-controller.js +199 -0
  1919. package/dist/lib/testing/comply-controller.js.map +1 -0
  1920. package/dist/lib/testing/controller-assertions.d.ts +67 -0
  1921. package/dist/lib/testing/controller-assertions.d.ts.map +1 -0
  1922. package/dist/lib/testing/controller-assertions.js +60 -0
  1923. package/dist/lib/testing/controller-assertions.js.map +1 -0
  1924. package/dist/lib/testing/formatter.d.ts +17 -0
  1925. package/dist/lib/testing/formatter.d.ts.map +1 -0
  1926. package/dist/lib/testing/formatter.js +92 -0
  1927. package/dist/lib/testing/formatter.js.map +1 -0
  1928. package/dist/lib/testing/index.d.ts +19 -0
  1929. package/dist/lib/testing/index.d.ts.map +1 -0
  1930. package/dist/lib/testing/index.js +185 -0
  1931. package/dist/lib/testing/index.js.map +1 -0
  1932. package/dist/lib/testing/local-agent-runner.d.ts +189 -0
  1933. package/dist/lib/testing/local-agent-runner.d.ts.map +1 -0
  1934. package/dist/lib/testing/local-agent-runner.js +290 -0
  1935. package/dist/lib/testing/local-agent-runner.js.map +1 -0
  1936. package/dist/lib/testing/orchestrator.d.ts +70 -0
  1937. package/dist/lib/testing/orchestrator.d.ts.map +1 -0
  1938. package/dist/lib/testing/orchestrator.js +278 -0
  1939. package/dist/lib/testing/orchestrator.js.map +1 -0
  1940. package/dist/lib/testing/scenarios/brand-rights.d.ts +41 -0
  1941. package/dist/lib/testing/scenarios/brand-rights.d.ts.map +1 -0
  1942. package/dist/lib/testing/scenarios/brand-rights.js +278 -0
  1943. package/dist/lib/testing/scenarios/brand-rights.js.map +1 -0
  1944. package/dist/lib/testing/scenarios/capabilities.d.ts +27 -0
  1945. package/dist/lib/testing/scenarios/capabilities.d.ts.map +1 -0
  1946. package/dist/lib/testing/scenarios/capabilities.js +332 -0
  1947. package/dist/lib/testing/scenarios/capabilities.js.map +1 -0
  1948. package/dist/lib/testing/scenarios/creative.d.ts +38 -0
  1949. package/dist/lib/testing/scenarios/creative.d.ts.map +1 -0
  1950. package/dist/lib/testing/scenarios/creative.js +429 -0
  1951. package/dist/lib/testing/scenarios/creative.js.map +1 -0
  1952. package/dist/lib/testing/scenarios/deterministic.d.ts +37 -0
  1953. package/dist/lib/testing/scenarios/deterministic.d.ts.map +1 -0
  1954. package/dist/lib/testing/scenarios/deterministic.js +705 -0
  1955. package/dist/lib/testing/scenarios/deterministic.js.map +1 -0
  1956. package/dist/lib/testing/scenarios/discovery.d.ts +15 -0
  1957. package/dist/lib/testing/scenarios/discovery.d.ts.map +1 -0
  1958. package/dist/lib/testing/scenarios/discovery.js +68 -0
  1959. package/dist/lib/testing/scenarios/discovery.js.map +1 -0
  1960. package/dist/lib/testing/scenarios/edge-cases.d.ts +64 -0
  1961. package/dist/lib/testing/scenarios/edge-cases.d.ts.map +1 -0
  1962. package/dist/lib/testing/scenarios/edge-cases.js +569 -0
  1963. package/dist/lib/testing/scenarios/edge-cases.js.map +1 -0
  1964. package/dist/lib/testing/scenarios/error-compliance.d.ts +30 -0
  1965. package/dist/lib/testing/scenarios/error-compliance.d.ts.map +1 -0
  1966. package/dist/lib/testing/scenarios/error-compliance.js +372 -0
  1967. package/dist/lib/testing/scenarios/error-compliance.js.map +1 -0
  1968. package/dist/lib/testing/scenarios/governance.d.ts +114 -0
  1969. package/dist/lib/testing/scenarios/governance.d.ts.map +1 -0
  1970. package/dist/lib/testing/scenarios/governance.js +1619 -0
  1971. package/dist/lib/testing/scenarios/governance.js.map +1 -0
  1972. package/dist/lib/testing/scenarios/health.d.ts +12 -0
  1973. package/dist/lib/testing/scenarios/health.d.ts.map +1 -0
  1974. package/dist/lib/testing/scenarios/health.js +21 -0
  1975. package/dist/lib/testing/scenarios/health.js.map +1 -0
  1976. package/dist/lib/testing/scenarios/index.d.ts +20 -0
  1977. package/dist/lib/testing/scenarios/index.d.ts.map +1 -0
  1978. package/dist/lib/testing/scenarios/index.js +96 -0
  1979. package/dist/lib/testing/scenarios/index.js.map +1 -0
  1980. package/dist/lib/testing/scenarios/media-buy.d.ts +128 -0
  1981. package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -0
  1982. package/dist/lib/testing/scenarios/media-buy.js +1655 -0
  1983. package/dist/lib/testing/scenarios/media-buy.js.map +1 -0
  1984. package/dist/lib/testing/scenarios/schema-compliance.d.ts +17 -0
  1985. package/dist/lib/testing/scenarios/schema-compliance.d.ts.map +1 -0
  1986. package/dist/lib/testing/scenarios/schema-compliance.js +194 -0
  1987. package/dist/lib/testing/scenarios/schema-compliance.js.map +1 -0
  1988. package/dist/lib/testing/scenarios/signals.d.ts +22 -0
  1989. package/dist/lib/testing/scenarios/signals.d.ts.map +1 -0
  1990. package/dist/lib/testing/scenarios/signals.js +221 -0
  1991. package/dist/lib/testing/scenarios/signals.js.map +1 -0
  1992. package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts +45 -0
  1993. package/dist/lib/testing/scenarios/sponsored-intelligence.d.ts.map +1 -0
  1994. package/dist/lib/testing/scenarios/sponsored-intelligence.js +554 -0
  1995. package/dist/lib/testing/scenarios/sponsored-intelligence.js.map +1 -0
  1996. package/dist/lib/testing/scenarios/trusted-match.d.ts +22 -0
  1997. package/dist/lib/testing/scenarios/trusted-match.d.ts.map +1 -0
  1998. package/dist/lib/testing/scenarios/trusted-match.js +128 -0
  1999. package/dist/lib/testing/scenarios/trusted-match.js.map +1 -0
  2000. package/dist/lib/testing/seed-merge.d.ts +150 -0
  2001. package/dist/lib/testing/seed-merge.d.ts.map +1 -0
  2002. package/dist/lib/testing/seed-merge.js +315 -0
  2003. package/dist/lib/testing/seed-merge.js.map +1 -0
  2004. package/dist/lib/testing/storyboard/assertions.d.ts +148 -0
  2005. package/dist/lib/testing/storyboard/assertions.d.ts.map +1 -0
  2006. package/dist/lib/testing/storyboard/assertions.js +270 -0
  2007. package/dist/lib/testing/storyboard/assertions.js.map +1 -0
  2008. package/dist/lib/testing/storyboard/compliance.d.ts +166 -0
  2009. package/dist/lib/testing/storyboard/compliance.d.ts.map +1 -0
  2010. package/dist/lib/testing/storyboard/compliance.js +434 -0
  2011. package/dist/lib/testing/storyboard/compliance.js.map +1 -0
  2012. package/dist/lib/testing/storyboard/context.d.ts +124 -0
  2013. package/dist/lib/testing/storyboard/context.d.ts.map +1 -0
  2014. package/dist/lib/testing/storyboard/context.js +560 -0
  2015. package/dist/lib/testing/storyboard/context.js.map +1 -0
  2016. package/dist/lib/testing/storyboard/default-invariants.d.ts +36 -0
  2017. package/dist/lib/testing/storyboard/default-invariants.d.ts.map +1 -0
  2018. package/dist/lib/testing/storyboard/default-invariants.js +882 -0
  2019. package/dist/lib/testing/storyboard/default-invariants.js.map +1 -0
  2020. package/dist/lib/testing/storyboard/index.d.ts +34 -0
  2021. package/dist/lib/testing/storyboard/index.d.ts.map +1 -0
  2022. package/dist/lib/testing/storyboard/index.js +110 -0
  2023. package/dist/lib/testing/storyboard/index.js.map +1 -0
  2024. package/dist/lib/testing/storyboard/junit.d.ts +2 -0
  2025. package/dist/lib/testing/storyboard/junit.d.ts.map +1 -0
  2026. package/dist/lib/testing/storyboard/junit.js +104 -0
  2027. package/dist/lib/testing/storyboard/junit.js.map +1 -0
  2028. package/dist/lib/testing/storyboard/loader.d.ts +28 -0
  2029. package/dist/lib/testing/storyboard/loader.d.ts.map +1 -0
  2030. package/dist/lib/testing/storyboard/loader.js +194 -0
  2031. package/dist/lib/testing/storyboard/loader.js.map +1 -0
  2032. package/dist/lib/testing/storyboard/path.d.ts +76 -0
  2033. package/dist/lib/testing/storyboard/path.d.ts.map +1 -0
  2034. package/dist/lib/testing/storyboard/path.js +258 -0
  2035. package/dist/lib/testing/storyboard/path.js.map +1 -0
  2036. package/dist/lib/testing/storyboard/probes.d.ts +148 -0
  2037. package/dist/lib/testing/storyboard/probes.d.ts.map +1 -0
  2038. package/dist/lib/testing/storyboard/probes.js +402 -0
  2039. package/dist/lib/testing/storyboard/probes.js.map +1 -0
  2040. package/dist/lib/testing/storyboard/rejection-hints.d.ts +41 -0
  2041. package/dist/lib/testing/storyboard/rejection-hints.d.ts.map +1 -0
  2042. package/dist/lib/testing/storyboard/rejection-hints.js +344 -0
  2043. package/dist/lib/testing/storyboard/rejection-hints.js.map +1 -0
  2044. package/dist/lib/testing/storyboard/request-builder.d.ts +35 -0
  2045. package/dist/lib/testing/storyboard/request-builder.d.ts.map +1 -0
  2046. package/dist/lib/testing/storyboard/request-builder.js +845 -0
  2047. package/dist/lib/testing/storyboard/request-builder.js.map +1 -0
  2048. package/dist/lib/testing/storyboard/request-signing/builder.d.ts +60 -0
  2049. package/dist/lib/testing/storyboard/request-signing/builder.d.ts.map +1 -0
  2050. package/dist/lib/testing/storyboard/request-signing/builder.js +462 -0
  2051. package/dist/lib/testing/storyboard/request-signing/builder.js.map +1 -0
  2052. package/dist/lib/testing/storyboard/request-signing/grader.d.ts +166 -0
  2053. package/dist/lib/testing/storyboard/request-signing/grader.d.ts.map +1 -0
  2054. package/dist/lib/testing/storyboard/request-signing/grader.js +517 -0
  2055. package/dist/lib/testing/storyboard/request-signing/grader.js.map +1 -0
  2056. package/dist/lib/testing/storyboard/request-signing/index.d.ts +38 -0
  2057. package/dist/lib/testing/storyboard/request-signing/index.d.ts.map +1 -0
  2058. package/dist/lib/testing/storyboard/request-signing/index.js +62 -0
  2059. package/dist/lib/testing/storyboard/request-signing/index.js.map +1 -0
  2060. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.ts +10 -0
  2061. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.d.ts.map +1 -0
  2062. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.js +81 -0
  2063. package/dist/lib/testing/storyboard/request-signing/probe-dispatch.js.map +1 -0
  2064. package/dist/lib/testing/storyboard/request-signing/probe.d.ts +41 -0
  2065. package/dist/lib/testing/storyboard/request-signing/probe.d.ts.map +1 -0
  2066. package/dist/lib/testing/storyboard/request-signing/probe.js +220 -0
  2067. package/dist/lib/testing/storyboard/request-signing/probe.js.map +1 -0
  2068. package/dist/lib/testing/storyboard/request-signing/synthesize.d.ts +28 -0
  2069. package/dist/lib/testing/storyboard/request-signing/synthesize.d.ts.map +1 -0
  2070. package/dist/lib/testing/storyboard/request-signing/synthesize.js +79 -0
  2071. package/dist/lib/testing/storyboard/request-signing/synthesize.js.map +1 -0
  2072. package/dist/lib/testing/storyboard/request-signing/test-kit.d.ts +42 -0
  2073. package/dist/lib/testing/storyboard/request-signing/test-kit.d.ts.map +1 -0
  2074. package/dist/lib/testing/storyboard/request-signing/test-kit.js +101 -0
  2075. package/dist/lib/testing/storyboard/request-signing/test-kit.js.map +1 -0
  2076. package/dist/lib/testing/storyboard/request-signing/types.d.ts +72 -0
  2077. package/dist/lib/testing/storyboard/request-signing/types.d.ts.map +1 -0
  2078. package/dist/lib/testing/storyboard/request-signing/types.js +6 -0
  2079. package/dist/lib/testing/storyboard/request-signing/types.js.map +1 -0
  2080. package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts +16 -0
  2081. package/dist/lib/testing/storyboard/request-signing/vector-loader.d.ts.map +1 -0
  2082. package/dist/lib/testing/storyboard/request-signing/vector-loader.js +242 -0
  2083. package/dist/lib/testing/storyboard/request-signing/vector-loader.js.map +1 -0
  2084. package/dist/lib/testing/storyboard/runner.d.ts +141 -0
  2085. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -0
  2086. package/dist/lib/testing/storyboard/runner.js +2349 -0
  2087. package/dist/lib/testing/storyboard/runner.js.map +1 -0
  2088. package/dist/lib/testing/storyboard/sandbox-entities.d.ts +56 -0
  2089. package/dist/lib/testing/storyboard/sandbox-entities.d.ts.map +1 -0
  2090. package/dist/lib/testing/storyboard/sandbox-entities.js +222 -0
  2091. package/dist/lib/testing/storyboard/sandbox-entities.js.map +1 -0
  2092. package/dist/lib/testing/storyboard/seeding.d.ts +72 -0
  2093. package/dist/lib/testing/storyboard/seeding.d.ts.map +1 -0
  2094. package/dist/lib/testing/storyboard/seeding.js +282 -0
  2095. package/dist/lib/testing/storyboard/seeding.js.map +1 -0
  2096. package/dist/lib/testing/storyboard/shape-drift-hints.d.ts +54 -0
  2097. package/dist/lib/testing/storyboard/shape-drift-hints.d.ts.map +1 -0
  2098. package/dist/lib/testing/storyboard/shape-drift-hints.js +200 -0
  2099. package/dist/lib/testing/storyboard/shape-drift-hints.js.map +1 -0
  2100. package/dist/lib/testing/storyboard/signer-grader/grader.d.ts +56 -0
  2101. package/dist/lib/testing/storyboard/signer-grader/grader.d.ts.map +1 -0
  2102. package/dist/lib/testing/storyboard/signer-grader/grader.js +270 -0
  2103. package/dist/lib/testing/storyboard/signer-grader/grader.js.map +1 -0
  2104. package/dist/lib/testing/storyboard/signer-grader/index.d.ts +3 -0
  2105. package/dist/lib/testing/storyboard/signer-grader/index.d.ts.map +1 -0
  2106. package/dist/lib/testing/storyboard/signer-grader/index.js +6 -0
  2107. package/dist/lib/testing/storyboard/signer-grader/index.js.map +1 -0
  2108. package/dist/lib/testing/storyboard/signer-grader/types.d.ts +62 -0
  2109. package/dist/lib/testing/storyboard/signer-grader/types.d.ts.map +1 -0
  2110. package/dist/lib/testing/storyboard/signer-grader/types.js +3 -0
  2111. package/dist/lib/testing/storyboard/signer-grader/types.js.map +1 -0
  2112. package/dist/lib/testing/storyboard/strict-validation-hints.d.ts +28 -0
  2113. package/dist/lib/testing/storyboard/strict-validation-hints.d.ts.map +1 -0
  2114. package/dist/lib/testing/storyboard/strict-validation-hints.js +128 -0
  2115. package/dist/lib/testing/storyboard/strict-validation-hints.js.map +1 -0
  2116. package/dist/lib/testing/storyboard/task-map.d.ts +25 -0
  2117. package/dist/lib/testing/storyboard/task-map.d.ts.map +1 -0
  2118. package/dist/lib/testing/storyboard/task-map.js +130 -0
  2119. package/dist/lib/testing/storyboard/task-map.js.map +1 -0
  2120. package/dist/lib/testing/storyboard/test-kit.d.ts +52 -0
  2121. package/dist/lib/testing/storyboard/test-kit.d.ts.map +1 -0
  2122. package/dist/lib/testing/storyboard/test-kit.js +93 -0
  2123. package/dist/lib/testing/storyboard/test-kit.js.map +1 -0
  2124. package/dist/lib/testing/storyboard/types.d.ts +1404 -0
  2125. package/dist/lib/testing/storyboard/types.d.ts.map +1 -0
  2126. package/dist/lib/testing/storyboard/types.js +35 -0
  2127. package/dist/lib/testing/storyboard/types.js.map +1 -0
  2128. package/dist/lib/testing/storyboard/validations.d.ts +103 -0
  2129. package/dist/lib/testing/storyboard/validations.d.ts.map +1 -0
  2130. package/dist/lib/testing/storyboard/validations.js +1729 -0
  2131. package/dist/lib/testing/storyboard/validations.js.map +1 -0
  2132. package/dist/lib/testing/storyboard/webhook-assertions.d.ts +62 -0
  2133. package/dist/lib/testing/storyboard/webhook-assertions.d.ts.map +1 -0
  2134. package/dist/lib/testing/storyboard/webhook-assertions.js +538 -0
  2135. package/dist/lib/testing/storyboard/webhook-assertions.js.map +1 -0
  2136. package/dist/lib/testing/storyboard/webhook-receiver.d.ts +104 -0
  2137. package/dist/lib/testing/storyboard/webhook-receiver.d.ts.map +1 -0
  2138. package/dist/lib/testing/storyboard/webhook-receiver.js +402 -0
  2139. package/dist/lib/testing/storyboard/webhook-receiver.js.map +1 -0
  2140. package/dist/lib/testing/stubs/governance-agent-stub.d.ts +72 -0
  2141. package/dist/lib/testing/stubs/governance-agent-stub.d.ts.map +1 -0
  2142. package/dist/lib/testing/stubs/governance-agent-stub.js +297 -0
  2143. package/dist/lib/testing/stubs/governance-agent-stub.js.map +1 -0
  2144. package/dist/lib/testing/stubs/index.d.ts +3 -0
  2145. package/dist/lib/testing/stubs/index.d.ts.map +1 -0
  2146. package/dist/lib/testing/stubs/index.js +6 -0
  2147. package/dist/lib/testing/stubs/index.js.map +1 -0
  2148. package/dist/lib/testing/test-controller.d.ts +46 -0
  2149. package/dist/lib/testing/test-controller.d.ts.map +1 -0
  2150. package/dist/lib/testing/test-controller.js +143 -0
  2151. package/dist/lib/testing/test-controller.js.map +1 -0
  2152. package/dist/lib/testing/test-helpers.d.ts +213 -0
  2153. package/dist/lib/testing/test-helpers.d.ts.map +1 -0
  2154. package/dist/lib/testing/test-helpers.js +250 -0
  2155. package/dist/lib/testing/test-helpers.js.map +1 -0
  2156. package/dist/lib/testing/types.d.ts +222 -0
  2157. package/dist/lib/testing/types.d.ts.map +1 -0
  2158. package/dist/lib/testing/types.js +6 -0
  2159. package/dist/lib/testing/types.js.map +1 -0
  2160. package/dist/lib/types/adcp.d.ts +625 -0
  2161. package/dist/lib/types/adcp.d.ts.map +1 -0
  2162. package/dist/lib/types/adcp.js +20 -0
  2163. package/dist/lib/types/adcp.js.map +1 -0
  2164. package/dist/lib/types/asset-instances.d.ts +32 -0
  2165. package/dist/lib/types/asset-instances.d.ts.map +1 -0
  2166. package/dist/lib/types/asset-instances.js +24 -0
  2167. package/dist/lib/types/asset-instances.js.map +1 -0
  2168. package/dist/lib/types/compat.d.ts +105 -0
  2169. package/dist/lib/types/compat.d.ts.map +1 -0
  2170. package/dist/lib/types/compat.js +52 -0
  2171. package/dist/lib/types/compat.js.map +1 -0
  2172. package/dist/lib/types/core.generated.d.ts +15973 -0
  2173. package/dist/lib/types/core.generated.d.ts.map +1 -0
  2174. package/dist/lib/types/core.generated.js +5 -0
  2175. package/dist/lib/types/core.generated.js.map +1 -0
  2176. package/dist/lib/types/enums.generated.d.ts +139 -0
  2177. package/dist/lib/types/enums.generated.d.ts.map +1 -0
  2178. package/dist/lib/types/enums.generated.js +158 -0
  2179. package/dist/lib/types/enums.generated.js.map +1 -0
  2180. package/dist/lib/types/error-codes.d.ts +32 -0
  2181. package/dist/lib/types/error-codes.d.ts.map +1 -0
  2182. package/dist/lib/types/error-codes.js +146 -0
  2183. package/dist/lib/types/error-codes.js.map +1 -0
  2184. package/dist/lib/types/format-asset-slots.d.ts +117 -0
  2185. package/dist/lib/types/format-asset-slots.d.ts.map +1 -0
  2186. package/dist/lib/types/format-asset-slots.js +20 -0
  2187. package/dist/lib/types/format-asset-slots.js.map +1 -0
  2188. package/dist/lib/types/index.d.ts +20 -0
  2189. package/dist/lib/types/index.d.ts.map +1 -0
  2190. package/dist/lib/types/index.js +48 -0
  2191. package/dist/lib/types/index.js.map +1 -0
  2192. package/dist/lib/types/inline-enums.aliases.d.ts +53 -0
  2193. package/dist/lib/types/inline-enums.aliases.d.ts.map +1 -0
  2194. package/dist/lib/types/inline-enums.aliases.js +73 -0
  2195. package/dist/lib/types/inline-enums.aliases.js.map +1 -0
  2196. package/dist/lib/types/inline-enums.generated.d.ts +157 -0
  2197. package/dist/lib/types/inline-enums.generated.d.ts.map +1 -0
  2198. package/dist/lib/types/inline-enums.generated.js +239 -0
  2199. package/dist/lib/types/inline-enums.generated.js.map +1 -0
  2200. package/dist/lib/types/schemas.generated.d.ts +46531 -0
  2201. package/dist/lib/types/schemas.generated.d.ts.map +1 -0
  2202. package/dist/lib/types/schemas.generated.js +5867 -0
  2203. package/dist/lib/types/schemas.generated.js.map +1 -0
  2204. package/dist/lib/types/sync-rows.d.ts +37 -0
  2205. package/dist/lib/types/sync-rows.d.ts.map +1 -0
  2206. package/dist/lib/types/sync-rows.js +21 -0
  2207. package/dist/lib/types/sync-rows.js.map +1 -0
  2208. package/dist/lib/types/tools.generated.d.ts +13423 -0
  2209. package/dist/lib/types/tools.generated.d.ts.map +1 -0
  2210. package/dist/lib/types/tools.generated.js +5 -0
  2211. package/dist/lib/types/tools.generated.js.map +1 -0
  2212. package/dist/lib/types/wellknown-schemas.generated.d.ts +1363 -0
  2213. package/dist/lib/types/wellknown-schemas.generated.d.ts.map +1 -0
  2214. package/dist/lib/types/wellknown-schemas.generated.js +14 -0
  2215. package/dist/lib/types/wellknown-schemas.generated.js.map +1 -0
  2216. package/dist/lib/utils/a2a-discovery.d.ts +42 -0
  2217. package/dist/lib/utils/a2a-discovery.d.ts.map +1 -0
  2218. package/dist/lib/utils/a2a-discovery.js +68 -0
  2219. package/dist/lib/utils/a2a-discovery.js.map +1 -0
  2220. package/dist/lib/utils/adcp-version-config.d.ts +11 -0
  2221. package/dist/lib/utils/adcp-version-config.d.ts.map +1 -0
  2222. package/dist/lib/utils/adcp-version-config.js +44 -0
  2223. package/dist/lib/utils/adcp-version-config.js.map +1 -0
  2224. package/dist/lib/utils/asset-builders.d.ts +44 -0
  2225. package/dist/lib/utils/asset-builders.d.ts.map +1 -0
  2226. package/dist/lib/utils/asset-builders.js +84 -0
  2227. package/dist/lib/utils/asset-builders.js.map +1 -0
  2228. package/dist/lib/utils/capabilities.d.ts +259 -0
  2229. package/dist/lib/utils/capabilities.d.ts.map +1 -0
  2230. package/dist/lib/utils/capabilities.js +463 -0
  2231. package/dist/lib/utils/capabilities.js.map +1 -0
  2232. package/dist/lib/utils/creative-adapter.d.ts +91 -0
  2233. package/dist/lib/utils/creative-adapter.d.ts.map +1 -0
  2234. package/dist/lib/utils/creative-adapter.js +156 -0
  2235. package/dist/lib/utils/creative-adapter.js.map +1 -0
  2236. package/dist/lib/utils/deprecation.d.ts +11 -0
  2237. package/dist/lib/utils/deprecation.d.ts.map +1 -0
  2238. package/dist/lib/utils/deprecation.js +23 -0
  2239. package/dist/lib/utils/deprecation.js.map +1 -0
  2240. package/dist/lib/utils/error-extraction.d.ts +43 -0
  2241. package/dist/lib/utils/error-extraction.d.ts.map +1 -0
  2242. package/dist/lib/utils/error-extraction.js +225 -0
  2243. package/dist/lib/utils/error-extraction.js.map +1 -0
  2244. package/dist/lib/utils/extract-result.d.ts +45 -0
  2245. package/dist/lib/utils/extract-result.d.ts.map +1 -0
  2246. package/dist/lib/utils/extract-result.js +27 -0
  2247. package/dist/lib/utils/extract-result.js.map +1 -0
  2248. package/dist/lib/utils/format-asset-slot-builders.d.ts +76 -0
  2249. package/dist/lib/utils/format-asset-slot-builders.d.ts.map +1 -0
  2250. package/dist/lib/utils/format-asset-slot-builders.js +174 -0
  2251. package/dist/lib/utils/format-asset-slot-builders.js.map +1 -0
  2252. package/dist/lib/utils/format-assets.d.ts +100 -0
  2253. package/dist/lib/utils/format-assets.d.ts.map +1 -0
  2254. package/dist/lib/utils/format-assets.js +147 -0
  2255. package/dist/lib/utils/format-assets.js.map +1 -0
  2256. package/dist/lib/utils/format-render-builders.d.ts +76 -0
  2257. package/dist/lib/utils/format-render-builders.d.ts.map +1 -0
  2258. package/dist/lib/utils/format-render-builders.js +76 -0
  2259. package/dist/lib/utils/format-render-builders.js.map +1 -0
  2260. package/dist/lib/utils/format-renders.d.ts +96 -0
  2261. package/dist/lib/utils/format-renders.d.ts.map +1 -0
  2262. package/dist/lib/utils/format-renders.js +141 -0
  2263. package/dist/lib/utils/format-renders.js.map +1 -0
  2264. package/dist/lib/utils/idempotency.d.ts +96 -0
  2265. package/dist/lib/utils/idempotency.d.ts.map +1 -0
  2266. package/dist/lib/utils/idempotency.js +156 -0
  2267. package/dist/lib/utils/idempotency.js.map +1 -0
  2268. package/dist/lib/utils/index.d.ts +39 -0
  2269. package/dist/lib/utils/index.d.ts.map +1 -0
  2270. package/dist/lib/utils/index.js +196 -0
  2271. package/dist/lib/utils/index.js.map +1 -0
  2272. package/dist/lib/utils/jcs.d.ts +30 -0
  2273. package/dist/lib/utils/jcs.d.ts.map +1 -0
  2274. package/dist/lib/utils/jcs.js +167 -0
  2275. package/dist/lib/utils/jcs.js.map +1 -0
  2276. package/dist/lib/utils/logger.d.ts +55 -0
  2277. package/dist/lib/utils/logger.d.ts.map +1 -0
  2278. package/dist/lib/utils/logger.js +100 -0
  2279. package/dist/lib/utils/logger.js.map +1 -0
  2280. package/dist/lib/utils/pagination.d.ts +31 -0
  2281. package/dist/lib/utils/pagination.d.ts.map +1 -0
  2282. package/dist/lib/utils/pagination.js +51 -0
  2283. package/dist/lib/utils/pagination.js.map +1 -0
  2284. package/dist/lib/utils/preview-normalizer.d.ts +109 -0
  2285. package/dist/lib/utils/preview-normalizer.d.ts.map +1 -0
  2286. package/dist/lib/utils/preview-normalizer.js +122 -0
  2287. package/dist/lib/utils/preview-normalizer.js.map +1 -0
  2288. package/dist/lib/utils/preview-utils.d.ts +87 -0
  2289. package/dist/lib/utils/preview-utils.d.ts.map +1 -0
  2290. package/dist/lib/utils/preview-utils.js +340 -0
  2291. package/dist/lib/utils/preview-utils.js.map +1 -0
  2292. package/dist/lib/utils/pricing-adapter.d.ts +144 -0
  2293. package/dist/lib/utils/pricing-adapter.d.ts.map +1 -0
  2294. package/dist/lib/utils/pricing-adapter.js +322 -0
  2295. package/dist/lib/utils/pricing-adapter.js.map +1 -0
  2296. package/dist/lib/utils/protocol-detection.d.ts +26 -0
  2297. package/dist/lib/utils/protocol-detection.d.ts.map +1 -0
  2298. package/dist/lib/utils/protocol-detection.js +62 -0
  2299. package/dist/lib/utils/protocol-detection.js.map +1 -0
  2300. package/dist/lib/utils/render-builders.d.ts +41 -0
  2301. package/dist/lib/utils/render-builders.d.ts.map +1 -0
  2302. package/dist/lib/utils/render-builders.js +52 -0
  2303. package/dist/lib/utils/render-builders.js.map +1 -0
  2304. package/dist/lib/utils/request-normalizer.d.ts +26 -0
  2305. package/dist/lib/utils/request-normalizer.d.ts.map +1 -0
  2306. package/dist/lib/utils/request-normalizer.js +175 -0
  2307. package/dist/lib/utils/request-normalizer.js.map +1 -0
  2308. package/dist/lib/utils/response-schemas.d.ts +9 -0
  2309. package/dist/lib/utils/response-schemas.d.ts.map +1 -0
  2310. package/dist/lib/utils/response-schemas.js +129 -0
  2311. package/dist/lib/utils/response-schemas.js.map +1 -0
  2312. package/dist/lib/utils/response-unwrapper.d.ts +54 -0
  2313. package/dist/lib/utils/response-unwrapper.d.ts.map +1 -0
  2314. package/dist/lib/utils/response-unwrapper.js +406 -0
  2315. package/dist/lib/utils/response-unwrapper.js.map +1 -0
  2316. package/dist/lib/utils/retry.d.ts +15 -0
  2317. package/dist/lib/utils/retry.d.ts.map +1 -0
  2318. package/dist/lib/utils/retry.js +22 -0
  2319. package/dist/lib/utils/retry.js.map +1 -0
  2320. package/dist/lib/utils/sync-creatives-adapter.d.ts +18 -0
  2321. package/dist/lib/utils/sync-creatives-adapter.d.ts.map +1 -0
  2322. package/dist/lib/utils/sync-creatives-adapter.js +46 -0
  2323. package/dist/lib/utils/sync-creatives-adapter.js.map +1 -0
  2324. package/dist/lib/utils/tool-request-schemas.d.ts +15 -0
  2325. package/dist/lib/utils/tool-request-schemas.d.ts.map +1 -0
  2326. package/dist/lib/utils/tool-request-schemas.js +129 -0
  2327. package/dist/lib/utils/tool-request-schemas.js.map +1 -0
  2328. package/dist/lib/utils/typeGuards.d.ts +147 -0
  2329. package/dist/lib/utils/typeGuards.d.ts.map +1 -0
  2330. package/dist/lib/utils/typeGuards.js +240 -0
  2331. package/dist/lib/utils/typeGuards.js.map +1 -0
  2332. package/dist/lib/utils/union-errors.d.ts +20 -0
  2333. package/dist/lib/utils/union-errors.d.ts.map +1 -0
  2334. package/dist/lib/utils/union-errors.js +38 -0
  2335. package/dist/lib/utils/union-errors.js.map +1 -0
  2336. package/dist/lib/utils/validate-user-agent.d.ts +8 -0
  2337. package/dist/lib/utils/validate-user-agent.d.ts.map +1 -0
  2338. package/dist/lib/utils/validate-user-agent.js +15 -0
  2339. package/dist/lib/utils/validate-user-agent.js.map +1 -0
  2340. package/dist/lib/validation/client-hooks.d.ts +49 -0
  2341. package/dist/lib/validation/client-hooks.d.ts.map +1 -0
  2342. package/dist/lib/validation/client-hooks.js +82 -0
  2343. package/dist/lib/validation/client-hooks.js.map +1 -0
  2344. package/dist/lib/validation/index.d.ts +37 -0
  2345. package/dist/lib/validation/index.d.ts.map +1 -0
  2346. package/dist/lib/validation/index.js +202 -0
  2347. package/dist/lib/validation/index.js.map +1 -0
  2348. package/dist/lib/validation/schema-errors.d.ts +67 -0
  2349. package/dist/lib/validation/schema-errors.d.ts.map +1 -0
  2350. package/dist/lib/validation/schema-errors.js +75 -0
  2351. package/dist/lib/validation/schema-errors.js.map +1 -0
  2352. package/dist/lib/validation/schema-loader.d.ts +24 -0
  2353. package/dist/lib/validation/schema-loader.d.ts.map +1 -0
  2354. package/dist/lib/validation/schema-loader.js +315 -0
  2355. package/dist/lib/validation/schema-loader.js.map +1 -0
  2356. package/dist/lib/validation/schema-validator.d.ts +83 -0
  2357. package/dist/lib/validation/schema-validator.d.ts.map +1 -0
  2358. package/dist/lib/validation/schema-validator.js +142 -0
  2359. package/dist/lib/validation/schema-validator.js.map +1 -0
  2360. package/dist/lib/validation/sync-creatives.d.ts +327 -0
  2361. package/dist/lib/validation/sync-creatives.d.ts.map +1 -0
  2362. package/dist/lib/validation/sync-creatives.js +72 -0
  2363. package/dist/lib/validation/sync-creatives.js.map +1 -0
  2364. package/dist/lib/version.d.ts +63 -0
  2365. package/dist/lib/version.d.ts.map +1 -0
  2366. package/dist/lib/version.js +85 -0
  2367. package/dist/lib/version.js.map +1 -0
  2368. package/docs/README.md +42 -0
  2369. package/docs/guides/BUILD-AN-AGENT.md +632 -0
  2370. package/docs/llms.txt +1197 -0
  2371. package/examples/README.md +117 -0
  2372. package/examples/adcp.config.json +30 -0
  2373. package/examples/basic-a2a.ts +76 -0
  2374. package/examples/basic-mcp.ts +50 -0
  2375. package/examples/batch-preview-test.ts +266 -0
  2376. package/examples/comply-controller-seller.ts +146 -0
  2377. package/examples/conversation-client.ts +291 -0
  2378. package/examples/debug-preview-response.ts +73 -0
  2379. package/examples/debug-preview-with-logging.ts +50 -0
  2380. package/examples/easy-config-demo.ts +242 -0
  2381. package/examples/env-config.ts +51 -0
  2382. package/examples/error-compliant-server.ts +241 -0
  2383. package/examples/gcp-kms-signing-provider.ts +281 -0
  2384. package/examples/generative-creative-demo.ts +196 -0
  2385. package/examples/inspect-card-formats.ts +161 -0
  2386. package/examples/logger-usage.ts +165 -0
  2387. package/examples/oauth-cli-example.ts +154 -0
  2388. package/examples/pr78-async-patterns-demo.ts +247 -0
  2389. package/examples/seller-test-controller.ts +320 -0
  2390. package/examples/signals-agent.ts +201 -0
  2391. package/examples/simple-getting-started.ts +225 -0
  2392. package/examples/simple-protocol-demo.ts +75 -0
  2393. package/examples/test-helpers-demo.ts +239 -0
  2394. package/examples/zod-validation-example.ts +126 -0
  2395. package/package.json +313 -0
  2396. package/skills/adcp/SKILL.md +326 -0
  2397. package/skills/adcp-brand/SKILL.md +202 -0
  2398. package/skills/adcp-brand.previous/SKILL.md +202 -0
  2399. package/skills/adcp-creative/SKILL.md +301 -0
  2400. package/skills/adcp-creative.previous/SKILL.md +301 -0
  2401. package/skills/adcp-governance/SKILL.md +566 -0
  2402. package/skills/adcp-governance.previous/SKILL.md +566 -0
  2403. package/skills/adcp-media-buy/SKILL.md +446 -0
  2404. package/skills/adcp-media-buy.previous/SKILL.md +446 -0
  2405. package/skills/adcp-si/SKILL.md +206 -0
  2406. package/skills/adcp-si.previous/SKILL.md +206 -0
  2407. package/skills/adcp-signals/SKILL.md +204 -0
  2408. package/skills/adcp-signals.previous/SKILL.md +204 -0
  2409. package/skills/build-brand-rights-agent/SKILL.md +528 -0
  2410. package/skills/build-creative-agent/SKILL.md +824 -0
  2411. package/skills/build-generative-seller-agent/SKILL.md +579 -0
  2412. package/skills/build-governance-agent/SKILL.md +966 -0
  2413. package/skills/build-retail-media-agent/SKILL.md +488 -0
  2414. package/skills/build-seller-agent/SKILL.md +1407 -0
  2415. package/skills/build-seller-agent/deployment.md +407 -0
  2416. package/skills/build-seller-agent/specialisms/audience-sync.md +63 -0
  2417. package/skills/build-seller-agent/specialisms/sales-broadcast-tv.md +71 -0
  2418. package/skills/build-seller-agent/specialisms/sales-guaranteed.md +67 -0
  2419. package/skills/build-seller-agent/specialisms/sales-non-guaranteed.md +39 -0
  2420. package/skills/build-seller-agent/specialisms/sales-proposal-mode.md +51 -0
  2421. package/skills/build-seller-agent/specialisms/sales-social.md +30 -0
  2422. package/skills/build-seller-agent/specialisms/signed-requests.md +89 -0
  2423. package/skills/build-si-agent/SKILL.md +347 -0
  2424. package/skills/build-signals-agent/SKILL.md +527 -0
  2425. package/skills/call-adcp-agent/SKILL.md +255 -0
  2426. package/skills/call-adcp-agent.previous/SKILL.md +255 -0
@@ -0,0 +1,2134 @@
1
+ "use strict";
2
+ // Main ADCP Client - Type-safe conversation-aware client for AdCP agents
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.SingleAgentClient = exports.UnsupportedFeatureError = void 0;
38
+ exports.createSingleAgentClient = createSingleAgentClient;
39
+ const zod_1 = require("zod");
40
+ const schemas = __importStar(require("../types/schemas.generated"));
41
+ const adcp_1 = require("../types/adcp");
42
+ const adcp_version_config_1 = require("../utils/adcp-version-config");
43
+ const idempotency_1 = require("../utils/idempotency");
44
+ const TaskExecutor_1 = require("./TaskExecutor");
45
+ const match_1 = require("./match");
46
+ const auth_1 = require("../auth");
47
+ const errors_1 = require("../errors");
48
+ const net_1 = require("../net");
49
+ const authorization_required_1 = require("../auth/oauth/authorization-required");
50
+ const discovery_1 = require("../auth/oauth/discovery");
51
+ const AsyncHandler_1 = require("./AsyncHandler");
52
+ const response_unwrapper_1 = require("../utils/response-unwrapper");
53
+ const a2a_discovery_1 = require("../utils/a2a-discovery");
54
+ const crypto = __importStar(require("crypto"));
55
+ const capabilities_1 = require("../utils/capabilities");
56
+ const creative_adapter_1 = require("../utils/creative-adapter");
57
+ const sync_creatives_adapter_1 = require("../utils/sync-creatives-adapter");
58
+ const format_renders_1 = require("../utils/format-renders");
59
+ const preview_normalizer_1 = require("../utils/preview-normalizer");
60
+ const pricing_adapter_1 = require("../utils/pricing-adapter");
61
+ const request_normalizer_1 = require("../utils/request-normalizer");
62
+ const validate_user_agent_1 = require("../utils/validate-user-agent");
63
+ /**
64
+ * Error class for v3 feature compatibility issues
65
+ *
66
+ * Note: The library no longer throws this error for get_products calls with
67
+ * unsupported v3 features. Instead, it returns an empty result (semantically
68
+ * "no products match this filter"). This error class is exported for use in
69
+ * custom validation logic or other scenarios.
70
+ *
71
+ * @example
72
+ * ```typescript
73
+ * // Custom validation before making requests
74
+ * const capabilities = await client.getCapabilities();
75
+ * if (params.property_list && !capabilities.features.propertyListFiltering) {
76
+ * throw new UnsupportedFeatureError('property_list', capabilities.version);
77
+ * }
78
+ * ```
79
+ */
80
+ class UnsupportedFeatureError extends Error {
81
+ feature;
82
+ serverVersion;
83
+ constructor(feature, serverVersion, message) {
84
+ super(message || `Feature '${feature}' requires AdCP v3 but server is ${serverVersion}`);
85
+ this.feature = feature;
86
+ this.serverVersion = serverVersion;
87
+ this.name = 'UnsupportedFeatureError';
88
+ }
89
+ }
90
+ exports.UnsupportedFeatureError = UnsupportedFeatureError;
91
+ /**
92
+ * Internal single-agent client implementation
93
+ *
94
+ * This is an internal implementation detail used by AgentClient and ADCPMultiAgentClient.
95
+ * External users should use AdCPClient (alias for ADCPMultiAgentClient) instead.
96
+ *
97
+ * Key features:
98
+ * - 🔒 Full type safety for all ADCP tasks
99
+ * - 💬 Conversation management with context preservation
100
+ * - 🔄 Input handler pattern for clarifications
101
+ * - ⏱️ Timeout and retry support
102
+ * - 🐛 Debug logging and observability
103
+ * - 🎯 Works with both MCP and A2A protocols
104
+ */
105
+ class SingleAgentClient {
106
+ agent;
107
+ config;
108
+ executor;
109
+ asyncHandler;
110
+ normalizedAgent;
111
+ discoveredEndpoint; // Cache discovered MCP endpoint
112
+ canonicalBaseUrl; // Cache canonical base URL (from agent card or stripped /mcp)
113
+ cachedCapabilities; // Cache detected server capabilities
114
+ cachedToolSchemas; // inputSchema.properties per tool name
115
+ _v2WarningFired = false; // Gate: emit the v2-sunset warning once per client instance
116
+ resolvedAdcpVersion;
117
+ constructor(agent, config = {}) {
118
+ this.agent = agent;
119
+ this.config = config;
120
+ // Validate the configured adcpVersion at construction time. Throws
121
+ // ConfigurationError if the pin's major differs from ADCP_MAJOR_VERSION
122
+ // — cross-major support lands in Stage 3 of the multi-version refactor.
123
+ this.resolvedAdcpVersion = (0, adcp_version_config_1.resolveAdcpVersion)(config.adcpVersion);
124
+ // Inject userAgent into agent headers so it flows through both MCP and A2A transports
125
+ if (config.userAgent) {
126
+ (0, validate_user_agent_1.validateUserAgent)(config.userAgent);
127
+ this.agent = {
128
+ ...this.agent,
129
+ headers: { 'User-Agent': config.userAgent, ...this.agent.headers },
130
+ };
131
+ }
132
+ // Normalize agent URL for MCP protocol
133
+ this.normalizedAgent = this.normalizeAgentConfig(this.agent);
134
+ this.executor = new TaskExecutor_1.TaskExecutor({
135
+ workingTimeout: config.workingTimeout || 120000, // Max 120s for working status
136
+ defaultMaxClarifications: config.defaultMaxClarifications || 3,
137
+ enableConversationStorage: config.persistConversations !== false,
138
+ webhookUrlTemplate: config.webhookUrlTemplate,
139
+ agentId: agent.id,
140
+ webhookSecret: config.webhookSecret,
141
+ strictSchemaValidation: config.validation?.strictSchemaValidation !== false, // Default: true
142
+ logSchemaViolations: config.validation?.logSchemaViolations !== false, // Default: true
143
+ filterInvalidProducts: config.validation?.filterInvalidProducts === true, // Default: false
144
+ validation: {
145
+ ...(config.validation?.requests != null && { requests: config.validation.requests }),
146
+ ...(config.validation?.responses != null && { responses: config.validation.responses }),
147
+ },
148
+ onActivity: config.onActivity,
149
+ governance: config.governance,
150
+ });
151
+ // Create async handler if handlers are provided
152
+ if (config.handlers) {
153
+ this.asyncHandler = new AsyncHandler_1.AsyncHandler(config.handlers);
154
+ }
155
+ }
156
+ /**
157
+ * Returns the AdCP protocol version this client is configured to speak.
158
+ *
159
+ * Defaults to {@link ADCP_VERSION} (the GA version the SDK ships against)
160
+ * unless overridden via `new SingleAgentClient(agent, { adcpVersion })`.
161
+ *
162
+ * Plumbing surface — Stage 2 of the multi-version refactor exposes the
163
+ * configured value but does not yet vary validator/schema selection by
164
+ * version. Wire-shape adapters key off this method in subsequent stages.
165
+ */
166
+ getAdcpVersion() {
167
+ return this.resolvedAdcpVersion;
168
+ }
169
+ /**
170
+ * Ensure MCP endpoint is discovered (lazy initialization)
171
+ *
172
+ * If the agent needs discovery, perform it now and cache the result.
173
+ * Returns the agent config with the discovered endpoint.
174
+ * Also computes the canonical base URL by stripping /mcp suffix.
175
+ */
176
+ async ensureEndpointDiscovered() {
177
+ const needsDiscovery = this.normalizedAgent._needsDiscovery;
178
+ if (!needsDiscovery) {
179
+ return this.normalizedAgent;
180
+ }
181
+ // Already discovered? Use cached value
182
+ if (this.discoveredEndpoint) {
183
+ return {
184
+ ...this.normalizedAgent,
185
+ agent_uri: this.discoveredEndpoint,
186
+ };
187
+ }
188
+ // Perform discovery
189
+ this.discoveredEndpoint = await this.discoverMCPEndpoint(this.normalizedAgent.agent_uri);
190
+ // Compute canonical base URL by stripping /mcp suffix
191
+ this.canonicalBaseUrl = this.computeBaseUrl(this.discoveredEndpoint);
192
+ return {
193
+ ...this.normalizedAgent,
194
+ agent_uri: this.discoveredEndpoint,
195
+ };
196
+ }
197
+ /**
198
+ * Ensure A2A canonical URL is resolved (lazy initialization)
199
+ *
200
+ * Fetches the agent card and extracts the canonical URL.
201
+ * Returns the agent config with the canonical URL.
202
+ */
203
+ async ensureCanonicalUrlResolved() {
204
+ const needsCanonicalUrl = this.normalizedAgent._needsCanonicalUrl;
205
+ if (!needsCanonicalUrl) {
206
+ return this.normalizedAgent;
207
+ }
208
+ // Already resolved? Use cached value
209
+ if (this.canonicalBaseUrl) {
210
+ return {
211
+ ...this.normalizedAgent,
212
+ agent_uri: this.canonicalBaseUrl,
213
+ };
214
+ }
215
+ // Fetch agent card to get canonical URL
216
+ const canonicalUrl = await this.fetchA2ACanonicalUrl(this.normalizedAgent.agent_uri);
217
+ this.canonicalBaseUrl = canonicalUrl;
218
+ return {
219
+ ...this.normalizedAgent,
220
+ agent_uri: canonicalUrl,
221
+ };
222
+ }
223
+ /**
224
+ * Fetch the canonical URL from an A2A agent card
225
+ *
226
+ * Special handling for authentication errors (401):
227
+ * - If the agent card fetch returns 401, throw AuthenticationRequiredError
228
+ * - Check for OAuth metadata to provide helpful guidance
229
+ */
230
+ async fetchA2ACanonicalUrl(agentUri) {
231
+ const clientModule = require('@a2a-js/sdk/client');
232
+ const A2AClient = clientModule.A2AClient;
233
+ const authToken = this.normalizedAgent.auth_token;
234
+ let got401 = false;
235
+ const fetchImpl = async (url, options) => {
236
+ const headers = {
237
+ ...options?.headers,
238
+ ...this.normalizedAgent.headers,
239
+ ...(authToken && {
240
+ Authorization: `Bearer ${authToken}`,
241
+ 'x-adcp-auth': authToken,
242
+ }),
243
+ };
244
+ const response = await fetch(url, { ...options, headers });
245
+ // Track 401 errors for later handling
246
+ if (response.status === 401) {
247
+ got401 = true;
248
+ }
249
+ return response;
250
+ };
251
+ const cardUrls = (0, a2a_discovery_1.buildCardUrls)(agentUri);
252
+ try {
253
+ let client;
254
+ let lastError = new Error(`A2A agent card not found at ${cardUrls.join(', ')}`);
255
+ for (const cardUrl of cardUrls) {
256
+ try {
257
+ client = await A2AClient.fromCardUrl(cardUrl, { fetchImpl });
258
+ break;
259
+ }
260
+ catch (err) {
261
+ lastError = err;
262
+ if (got401)
263
+ break;
264
+ }
265
+ }
266
+ if (!client) {
267
+ throw lastError;
268
+ }
269
+ const agentCard = client.agentCardPromise ? await client.agentCardPromise : client.agentCard;
270
+ // Use the canonical URL from the agent card, falling back to computed base URL
271
+ if (agentCard?.url) {
272
+ return agentCard.url;
273
+ }
274
+ return this.computeBaseUrl(agentUri);
275
+ }
276
+ catch (error) {
277
+ // If we got a 401, throw the richer NeedsAuthorizationError when the
278
+ // full discovery walk succeeds; otherwise fall back to the simpler
279
+ // one-hop AuthenticationRequiredError so behavior degrades gracefully.
280
+ if ((0, errors_1.is401Error)(error, got401)) {
281
+ const requirements = await (0, authorization_required_1.discoverAuthorizationRequirements)(agentUri, {
282
+ allowPrivateIp: (0, net_1.isLikelyPrivateUrl)(agentUri),
283
+ });
284
+ if (requirements) {
285
+ throw new authorization_required_1.NeedsAuthorizationError(requirements);
286
+ }
287
+ const oauthMetadata = await (0, discovery_1.discoverOAuthMetadata)(agentUri);
288
+ throw new errors_1.AuthenticationRequiredError(agentUri, oauthMetadata || undefined);
289
+ }
290
+ // Re-throw other errors
291
+ throw error;
292
+ }
293
+ }
294
+ /**
295
+ * Compute base URL by stripping protocol-specific suffixes
296
+ *
297
+ * - Strips /.well-known/agent.json or /.well-known/agent-card.json for A2A discovery URLs
298
+ * - Strips the protocol transport suffix (/mcp, /a2a, /sse)
299
+ * - Strips trailing slash for consistency
300
+ */
301
+ computeBaseUrl(url) {
302
+ let baseUrl = (0, a2a_discovery_1.stripAgentCardPath)(url);
303
+ baseUrl = (0, a2a_discovery_1.stripTransportSuffix)(baseUrl);
304
+ baseUrl = baseUrl.replace(/\/$/, '');
305
+ return baseUrl;
306
+ }
307
+ isWellKnownAgentCardUrl(url) {
308
+ return (0, a2a_discovery_1.isWellKnownAgentCardUrl)(url);
309
+ }
310
+ /**
311
+ * Discover MCP endpoint by testing the provided path, then trying variants
312
+ *
313
+ * Strategy:
314
+ * 1. Test the exact URL provided (preserving trailing slashes)
315
+ * 2. If that fails, try with/without trailing slash
316
+ * 3. If still fails and doesn't end with /mcp, try adding /mcp
317
+ *
318
+ * Special handling for authentication errors (401):
319
+ * - If any endpoint returns 401, we know the server exists but requires auth
320
+ * - We fetch OAuth metadata and throw AuthenticationRequiredError
321
+ * - This gives consumers clear guidance on how to authenticate
322
+ *
323
+ * Note: This is async and called lazily on first agent interaction
324
+ */
325
+ async discoverMCPEndpoint(providedUri) {
326
+ const { connectMCPWithFallback } = await Promise.resolve().then(() => __importStar(require('../protocols/mcp')));
327
+ const authToken = this.agent.auth_token;
328
+ const agentHeaders = this.agent.headers;
329
+ const authHeaders = { ...agentHeaders, ...(0, auth_1.createMCPAuthHeaders)(authToken) };
330
+ const testEndpoint = async (url) => {
331
+ try {
332
+ const client = await connectMCPWithFallback(new URL(url), authHeaders);
333
+ await client.close();
334
+ return { success: true };
335
+ }
336
+ catch (error) {
337
+ if ((0, errors_1.is401Error)(error)) {
338
+ return { success: false, status: 401, error };
339
+ }
340
+ const errObj = error;
341
+ const status = errObj?.status ||
342
+ errObj?.response?.status ||
343
+ errObj?.cause?.status;
344
+ return { success: false, status, error };
345
+ }
346
+ };
347
+ const urlsToTry = [];
348
+ // 1. Always try the exact URL provided first
349
+ urlsToTry.push(providedUri);
350
+ // 2. Try the opposite trailing slash variant
351
+ const hasTrailingSlash = providedUri.endsWith('/');
352
+ const alternateSlash = hasTrailingSlash
353
+ ? providedUri.slice(0, -1) // Remove trailing slash
354
+ : providedUri + '/'; // Add trailing slash
355
+ urlsToTry.push(alternateSlash);
356
+ // 3. If URL doesn't end with /mcp or /mcp/, try adding /mcp
357
+ const normalizedUri = providedUri.replace(/\/$/, '');
358
+ if (!normalizedUri.endsWith('/mcp')) {
359
+ urlsToTry.push(normalizedUri + '/mcp');
360
+ urlsToTry.push(normalizedUri + '/mcp/');
361
+ }
362
+ // Remove duplicates while preserving order
363
+ const uniqueUrls = [...new Set(urlsToTry)];
364
+ // Track results and whether we got any 401s
365
+ let got401 = false;
366
+ let firstWorkingUrl;
367
+ // Test each URL
368
+ for (const url of uniqueUrls) {
369
+ const result = await testEndpoint(url);
370
+ if (result.success) {
371
+ firstWorkingUrl = url;
372
+ break;
373
+ }
374
+ if (result.status === 401) {
375
+ got401 = true;
376
+ }
377
+ }
378
+ if (firstWorkingUrl) {
379
+ return firstWorkingUrl;
380
+ }
381
+ // If we got 401 from any endpoint, throw an authentication-required error.
382
+ // Prefer the richer NeedsAuthorizationError when we can walk the full
383
+ // RFC 9728 chain (PRM → AS metadata → endpoints + scopes + DCR hint).
384
+ // Fall back to the simpler AuthenticationRequiredError with one-hop AS
385
+ // metadata when the walk doesn't yield enough.
386
+ if (got401) {
387
+ const requirements = await (0, authorization_required_1.discoverAuthorizationRequirements)(providedUri, {
388
+ allowPrivateIp: (0, net_1.isLikelyPrivateUrl)(providedUri),
389
+ });
390
+ if (requirements) {
391
+ throw new authorization_required_1.NeedsAuthorizationError(requirements);
392
+ }
393
+ const oauthMetadata = await (0, discovery_1.discoverOAuthMetadata)(providedUri);
394
+ throw new errors_1.AuthenticationRequiredError(providedUri, oauthMetadata || undefined);
395
+ }
396
+ // None worked and no 401 - generic discovery failure
397
+ throw new Error(`Failed to discover MCP endpoint. Tried:\n` +
398
+ uniqueUrls.map((url, i) => ` ${i + 1}. ${url}`).join('\n') +
399
+ '\n' +
400
+ `None responded to MCP protocol.`);
401
+ }
402
+ /**
403
+ * Normalize agent config
404
+ *
405
+ * - If URL is a well-known agent card URL, switch to A2A protocol
406
+ * (these are A2A discovery URLs, not MCP endpoints)
407
+ * - A2A agents are marked for canonical URL resolution (from agent card)
408
+ * - MCP agents are marked for endpoint discovery
409
+ */
410
+ normalizeAgentConfig(agent) {
411
+ // If URL is a well-known agent card URL, use A2A protocol regardless of what was specified
412
+ // Mark for canonical URL resolution - we'll fetch the agent card and use its url field
413
+ if (this.isWellKnownAgentCardUrl(agent.agent_uri)) {
414
+ return {
415
+ ...agent,
416
+ protocol: 'a2a',
417
+ _needsCanonicalUrl: true,
418
+ };
419
+ }
420
+ if (agent.protocol === 'a2a') {
421
+ // A2A agents need canonical URL resolution from agent card
422
+ return {
423
+ ...agent,
424
+ _needsCanonicalUrl: true,
425
+ };
426
+ }
427
+ if (agent.protocol !== 'mcp') {
428
+ return agent;
429
+ }
430
+ // In-process MCP clients have no HTTP endpoint to discover
431
+ if (agent._inProcessMcpClient) {
432
+ return agent;
433
+ }
434
+ // MCP agents need endpoint discovery - we'll test their path, then try adding /mcp
435
+ return {
436
+ ...agent,
437
+ _needsDiscovery: true,
438
+ };
439
+ }
440
+ /**
441
+ * Handle webhook from agent (async task status updates and completions)
442
+ *
443
+ * Accepts webhook payloads from both MCP and A2A protocols:
444
+ * 1. MCP: MCPWebhookPayload envelope with AdCP data in .result field
445
+ * 2. A2A: Native Task/TaskStatusUpdateEvent with AdCP data in either:
446
+ * - status.message.parts[].data (for status updates)
447
+ * - artifacts (for task completion, per A2A spec)
448
+ *
449
+ * The method normalizes both formats so handlers receive the unwrapped
450
+ * AdCP response data (AdCPAsyncResponseData), not the raw protocol structure.
451
+ *
452
+ * @param payload - Protocol-specific webhook payload (MCPWebhookPayload | Task | TaskStatusUpdateEvent)
453
+ * @param taskType - Task type (e.g create_media_buy) from url param or url part of the webhook delivery
454
+ * @param operationId - Operation id (e.g used for client app to track the operation) from the param or url part of the webhook delivery
455
+ * @param signature - X-ADCP-Signature header (format: "sha256=...")
456
+ * @param timestamp - X-ADCP-Timestamp header (Unix timestamp)
457
+ * @returns Whether webhook was handled successfully
458
+ *
459
+ * @example
460
+ * ```typescript
461
+ * app.post('/webhook/:taskType', async (req, res) => {
462
+ * const signature = req.headers['x-adcp-signature'];
463
+ * const timestamp = req.headers['x-adcp-timestamp'];
464
+ *
465
+ * try {
466
+ * const handled = await client.handleWebhook(req.body, signature, timestamp, req.params.taskType);
467
+ * res.status(200).json({ received: handled });
468
+ * } catch (error) {
469
+ * res.status(401).json({ error: error.message });
470
+ * }
471
+ * });
472
+ * ```
473
+ */
474
+ async handleWebhook(payload, taskType, operationId, signature, timestamp, rawBody) {
475
+ // Verify signature if secret is configured
476
+ if (this.config.webhookSecret) {
477
+ if (!signature || !timestamp) {
478
+ throw new Error('Webhook signature and timestamp required but not provided');
479
+ }
480
+ const isValid = this.verifyWebhookSignature(rawBody ?? payload, signature, timestamp);
481
+ if (!isValid) {
482
+ throw new Error('Invalid webhook signature or timestamp too old');
483
+ }
484
+ console.log('[ADCP Client]: Webhook signature is valid');
485
+ }
486
+ // Transform raw protocol payload to normalized format
487
+ const normalizedPayload = this.normalizeWebhookPayload(payload, taskType, operationId);
488
+ const metadata = {
489
+ operation_id: normalizedPayload.operation_id,
490
+ context_id: normalizedPayload.context_id,
491
+ task_id: normalizedPayload.task_id,
492
+ agent_id: this.agent.id,
493
+ task_type: normalizedPayload.task_type,
494
+ status: normalizedPayload.status,
495
+ message: normalizedPayload.message,
496
+ timestamp: normalizedPayload.timestamp || new Date().toISOString(),
497
+ idempotency_key: normalizedPayload.idempotency_key,
498
+ protocol: normalizedPayload.protocol,
499
+ };
500
+ // Emit activity
501
+ await this.config.onActivity?.({
502
+ type: 'webhook_received',
503
+ operation_id: metadata.operation_id,
504
+ agent_id: metadata.agent_id,
505
+ context_id: metadata.context_id,
506
+ task_id: metadata.task_id,
507
+ task_type: metadata.task_type,
508
+ status: metadata.status,
509
+ payload: normalizedPayload.result,
510
+ timestamp: metadata.timestamp,
511
+ });
512
+ // Handle through async handler if configured
513
+ if (this.asyncHandler) {
514
+ await this.asyncHandler.handleWebhook({ result: normalizedPayload.result, metadata });
515
+ return true;
516
+ }
517
+ return false;
518
+ }
519
+ /**
520
+ * Normalize webhook payload - handles both MCP and A2A webhook formats
521
+ *
522
+ * MCP: Uses MCPWebhookPayload envelope with AdCP data in .result field
523
+ * A2A: Uses native Task/TaskStatusUpdateEvent messages with AdCP data in either:
524
+ * - status.message.parts[].data (for status updates)
525
+ * - artifacts (for task completion responses, per A2A spec)
526
+ *
527
+ * @param payload - Protocol-specific webhook payload (MCPWebhookPayload | Task | TaskStatusUpdateEvent)
528
+ * @param taskType - Task type override
529
+ * @param operationId - Operation id
530
+ * @returns Normalized webhook payload with extracted AdCP response
531
+ */
532
+ normalizeWebhookPayload(payload, taskType, operationId) {
533
+ // 1. Check for MCP Webhook Payload (has task_id, status, task_type fields)
534
+ if ('task_id' in payload && 'task_type' in payload && 'status' in payload) {
535
+ const mcpPayload = payload;
536
+ return {
537
+ operation_id: operationId || 'unknown',
538
+ context_id: mcpPayload.context_id ?? undefined,
539
+ task_id: mcpPayload.task_id,
540
+ task_type: taskType,
541
+ status: mcpPayload.status,
542
+ result: mcpPayload.result ?? undefined,
543
+ message: mcpPayload.message ?? undefined,
544
+ timestamp: mcpPayload.timestamp,
545
+ idempotency_key: mcpPayload.idempotency_key,
546
+ protocol: 'mcp',
547
+ };
548
+ }
549
+ // 2. Check for A2A Task or TaskStatusUpdateEvent
550
+ if ('kind' in payload && (payload.kind === 'task' || payload.kind === 'status-update')) {
551
+ const a2aPayload = payload;
552
+ const a2aStatus = a2aPayload.status?.state || 'unknown';
553
+ let result = undefined;
554
+ // Try to extract data from status.message.parts first (for status updates)
555
+ const parts = a2aPayload.status?.message?.parts;
556
+ if (parts && Array.isArray(parts)) {
557
+ const dataPart = parts.find(p => 'data' in p && p.kind === 'data');
558
+ if (dataPart && 'data' in dataPart) {
559
+ result = dataPart.data;
560
+ }
561
+ }
562
+ // If not found in parts, check artifacts (standard A2A task output location)
563
+ if (!result && 'artifacts' in a2aPayload && a2aPayload.artifacts && a2aPayload.artifacts.length > 0) {
564
+ try {
565
+ // Try to unwrap artifacts for all statuses
566
+ result = (0, response_unwrapper_1.unwrapProtocolResponse)({ result: a2aPayload }, taskType, 'a2a');
567
+ }
568
+ catch (error) {
569
+ console.warn('Failed to unwrap A2A webhook payload:', error instanceof Error ? error.message : 'unknown error');
570
+ // Fallback: pass raw artifacts so handler has something to work with
571
+ result = a2aPayload.artifacts;
572
+ }
573
+ }
574
+ // Extract message part from status.message.parts (A2A Message structure)
575
+ let message = undefined;
576
+ if (a2aPayload.status?.message?.parts) {
577
+ const textParts = a2aPayload.status.message.parts
578
+ .filter(p => p.kind === 'text' && 'text' in p)
579
+ .map(p => ('text' in p ? p.text : ''));
580
+ if (textParts.length > 0) {
581
+ message = textParts.join(' ');
582
+ }
583
+ }
584
+ // Get task_id ensuring it's a string
585
+ let taskId = 'unknown';
586
+ if ('id' in a2aPayload && a2aPayload.id) {
587
+ taskId = String(a2aPayload.id);
588
+ }
589
+ else if ('taskId' in a2aPayload && a2aPayload.taskId) {
590
+ taskId = String(a2aPayload.taskId);
591
+ }
592
+ return {
593
+ operation_id: operationId,
594
+ context_id: 'contextId' in a2aPayload ? a2aPayload.contextId : undefined,
595
+ task_id: taskId,
596
+ task_type: taskType,
597
+ status: a2aStatus,
598
+ result,
599
+ message: message,
600
+ timestamp: a2aPayload.status?.timestamp || new Date().toISOString(),
601
+ protocol: 'a2a',
602
+ };
603
+ }
604
+ // 3. Unknown payload format
605
+ throw new Error('Unsupported webhook payload format. Expected MCPWebhookPayload, Task, or TaskStatusUpdateEvent. ' +
606
+ `Received: ${JSON.stringify(payload).substring(0, 200)}`);
607
+ }
608
+ /**
609
+ * Generate webhook URL using macro substitution
610
+ *
611
+ * @param taskType - Type of task (e.g., 'get_products', 'media_buy_delivery')
612
+ * @param operationId - Operation ID for this request
613
+ * @returns Full webhook URL with macros replaced
614
+ *
615
+ * @example
616
+ * ```typescript
617
+ * // With template: "https://myapp.com/webhook/{task_type}/{agent_id}/{operation_id}"
618
+ * const webhookUrl = client.getWebhookUrl('sync_creatives', 'op_123');
619
+ * // Returns: https://myapp.com/webhook/sync_creatives/agent_x/op_123
620
+ *
621
+ * // With template: "https://myapp.com/webhook?agent={agent_id}&op={operation_id}"
622
+ * const webhookUrl = client.getWebhookUrl('sync_creatives', 'op_123');
623
+ * // Returns: https://myapp.com/webhook?agent=agent_x&op=op_123
624
+ * ```
625
+ */
626
+ getWebhookUrl(taskType, operationId) {
627
+ if (!this.config.webhookUrlTemplate) {
628
+ throw new Error('webhookUrlTemplate not configured - cannot generate webhook URL');
629
+ }
630
+ // Macro substitution
631
+ return this.config.webhookUrlTemplate
632
+ .replace(/{agent_id}/g, this.agent.id)
633
+ .replace(/{task_type}/g, taskType)
634
+ .replace(/{operation_id}/g, operationId);
635
+ }
636
+ /**
637
+ * Create an HTTP webhook handler that automatically verifies signatures
638
+ *
639
+ * This helper creates a standard HTTP handler (Express/Next.js/etc.) that:
640
+ * - Extracts X-ADCP-Signature and X-ADCP-Timestamp headers
641
+ * - Verifies HMAC signature (if webhookSecret configured)
642
+ * - Validates timestamp freshness
643
+ * - Calls handleWebhook() with proper error handling
644
+ *
645
+ * @returns HTTP handler function compatible with Express, Next.js, etc.
646
+ *
647
+ * @example Express
648
+ * ```typescript
649
+ * const client = new ADCPClient(agent, {
650
+ * webhookSecret: 'your-secret-key',
651
+ * handlers: {
652
+ * onSyncCreativesStatusChange: async (result) => {
653
+ * console.log('Creative synced:', result);
654
+ * }
655
+ * }
656
+ * });
657
+ *
658
+ * app.post('/webhook', client.createWebhookHandler());
659
+ * ```
660
+ *
661
+ * @example Next.js API Route
662
+ * ```typescript
663
+ * export default client.createWebhookHandler();
664
+ * ```
665
+ */
666
+ createWebhookHandler() {
667
+ return async (req, res) => {
668
+ try {
669
+ // Extract headers (case-insensitive)
670
+ const signature = req.headers['x-adcp-signature'] || req.headers['X-ADCP-Signature'];
671
+ const timestamp = req.headers['x-adcp-timestamp'] || req.headers['X-ADCP-Timestamp'];
672
+ // Capture raw body for signature verification, then parse
673
+ const rawBody = typeof req.body === 'string' ? req.body : JSON.stringify(req.body);
674
+ const payload = typeof req.body === 'string' ? JSON.parse(req.body) : req.body;
675
+ // Extract routing params if available (e.g., Express route params)
676
+ const taskType = req.params?.task_type || req.params?.taskType || 'unknown';
677
+ const operationId = req.params?.operation_id || req.params?.operationId || 'unknown';
678
+ // Handle webhook with automatic verification using raw body bytes
679
+ const handled = await this.handleWebhook(payload, taskType, operationId, signature, timestamp, rawBody);
680
+ // Return success
681
+ if (res.json) {
682
+ res.status(202).json({ status: 'accepted', received: handled });
683
+ }
684
+ else {
685
+ res.writeHead(202, { 'Content-Type': 'application/json' });
686
+ res.end(JSON.stringify({ status: 'accepted', received: handled }));
687
+ }
688
+ }
689
+ catch (error) {
690
+ // Return error
691
+ const errorMessage = error instanceof Error ? error.message : String(error);
692
+ const statusCode = errorMessage.includes('signature') || errorMessage.includes('timestamp') ? 401 : 500;
693
+ if (res.json) {
694
+ res.status(statusCode).json({ error: errorMessage });
695
+ }
696
+ else {
697
+ res.writeHead(statusCode, { 'Content-Type': 'application/json' });
698
+ res.end(JSON.stringify({ error: errorMessage }));
699
+ }
700
+ }
701
+ };
702
+ }
703
+ /**
704
+ * Verify webhook signature using HMAC-SHA256 per AdCP spec.
705
+ *
706
+ * HMAC is computed over the **raw HTTP body bytes** — the exact bytes received
707
+ * on the wire, before JSON parsing. This ensures cross-language interop since
708
+ * different JSON serializers may produce different byte representations of the
709
+ * same logical payload.
710
+ *
711
+ * For backward compatibility, a parsed object is still accepted but will be
712
+ * re-serialized with JSON.stringify, which may not match the sender's bytes.
713
+ * Always prefer passing the raw body string.
714
+ *
715
+ * Signature format: sha256={hex_signature}
716
+ * Message format: {timestamp}.{raw_body}
717
+ *
718
+ * @param rawBodyOrPayload - Raw HTTP body string (preferred) or parsed payload object (deprecated)
719
+ * @param signature - X-ADCP-Signature header value (format: "sha256=...")
720
+ * @param timestamp - X-ADCP-Timestamp header value (Unix timestamp)
721
+ * @returns true if signature is valid
722
+ */
723
+ verifyWebhookSignature(rawBodyOrPayload, signature, timestamp) {
724
+ if (!this.config.webhookSecret) {
725
+ return false;
726
+ }
727
+ // Validate timestamp freshness (reject requests older than 5 minutes)
728
+ const now = Math.floor(Date.now() / 1000);
729
+ const ts = typeof timestamp === 'string' ? parseInt(timestamp) : timestamp;
730
+ if (Math.abs(now - ts) > 300) {
731
+ return false; // Request too old or from future
732
+ }
733
+ // Use raw body bytes when available; fall back to JSON.stringify for backward compat
734
+ const body = typeof rawBodyOrPayload === 'string' ? rawBodyOrPayload : JSON.stringify(rawBodyOrPayload);
735
+ // Build message per AdCP spec: {timestamp}.{raw_body}
736
+ const message = `${ts}.${body}`;
737
+ // Calculate expected signature
738
+ const hmac = crypto.createHmac('sha256', this.config.webhookSecret);
739
+ hmac.update(message);
740
+ const expectedSignature = `sha256=${hmac.digest('hex')}`;
741
+ // Constant-time comparison to prevent timing attacks
742
+ // Check length first to avoid timingSafeEqual error
743
+ if (signature.length !== expectedSignature.length) {
744
+ return false;
745
+ }
746
+ return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expectedSignature));
747
+ }
748
+ /**
749
+ * Execute task and call appropriate handler on completion
750
+ *
751
+ * Automatically adapts requests for v2 servers and normalizes responses.
752
+ */
753
+ async executeAndHandle(taskType, handlerName, params, inputHandler, options) {
754
+ // Normalize params for backwards compatibility before validation
755
+ let normalizedParams = (0, request_normalizer_1.normalizeRequestParams)(taskType, params, {
756
+ skipIdempotencyAutoInject: options?.skipIdempotencyAutoInject,
757
+ });
758
+ // Inject an idempotency_key for mutating tools before schema validation
759
+ // so callers don't have to supply one. TaskExecutor also guards against
760
+ // missing keys, but validation happens here first — do the injection up
761
+ // front so the request passes the spec's required-field check.
762
+ // `options.skipIdempotencyAutoInject` disables this for compliance
763
+ // testing that needs to exercise server-side missing-key behavior.
764
+ if (!options?.skipIdempotencyAutoInject &&
765
+ (0, idempotency_1.isMutatingTask)(taskType) &&
766
+ normalizedParams &&
767
+ typeof normalizedParams === 'object' &&
768
+ !normalizedParams.idempotency_key) {
769
+ normalizedParams = { ...normalizedParams, idempotency_key: (0, idempotency_1.generateIdempotencyKey)() };
770
+ }
771
+ // Validate request params against schema. When compliance testing has
772
+ // asked us to suppress idempotency auto-injection, also skip the
773
+ // client-side required-field check — the whole point of the test is to
774
+ // send a missing-key request through and observe the server's response.
775
+ if (!options?.skipIdempotencyAutoInject) {
776
+ this.validateRequest(taskType, normalizedParams);
777
+ }
778
+ // Validate required features before sending request
779
+ await this.validateTaskFeatures(taskType);
780
+ // Guard mutating calls against pre-v3 sellers when opted in.
781
+ if (this.config.requireV3ForMutations && (0, idempotency_1.isMutatingTask)(taskType)) {
782
+ await this.requireV3(taskType);
783
+ }
784
+ // Check for v3 features used against v2 servers - return empty result if unsupported
785
+ const earlyResult = await this.getEarlyResultForUnsupportedFeatures(taskType, normalizedParams);
786
+ if (earlyResult) {
787
+ return (0, match_1.attachMatch)(earlyResult);
788
+ }
789
+ const agent = await this.ensureEndpointDiscovered();
790
+ // Adapt request for v2 servers if needed
791
+ const serverVersion = await this.detectServerVersion();
792
+ const adaptedParams = await this.adaptRequestForServerVersion(taskType, normalizedParams);
793
+ const result = await this.executor.executeTask(agent, taskType, adaptedParams, inputHandler, options, serverVersion);
794
+ // Normalize response to v3 format
795
+ if (result.success && result.data) {
796
+ result.data = this.normalizeResponseToV3(taskType, result.data);
797
+ }
798
+ // Call handler if task completed successfully and handler is configured
799
+ if (result.status === 'completed' && result.success && this.asyncHandler) {
800
+ const handler = this.config.handlers?.[handlerName];
801
+ if (handler) {
802
+ const metadata = {
803
+ operation_id: options?.contextId || 'sync',
804
+ context_id: options?.contextId,
805
+ task_id: result.metadata.taskId,
806
+ agent_id: this.agent.id,
807
+ task_type: taskType,
808
+ timestamp: new Date().toISOString(),
809
+ };
810
+ await handler(result.data, metadata);
811
+ }
812
+ }
813
+ return result;
814
+ }
815
+ /**
816
+ * Adapt request parameters for the detected server version
817
+ *
818
+ * Converts v3-style requests to v2 format when talking to v2 servers.
819
+ */
820
+ async adaptRequestForServerVersion(taskType, params) {
821
+ // Get server version (cached after first call)
822
+ const version = await this.detectServerVersion();
823
+ let adapted = params;
824
+ if (version !== 'v3') {
825
+ // Adapt v3 requests for v2 servers
826
+ switch (taskType) {
827
+ case 'get_products':
828
+ adapted = (0, pricing_adapter_1.adaptGetProductsRequestForV2)(params);
829
+ break;
830
+ case 'create_media_buy':
831
+ adapted = (0, creative_adapter_1.adaptCreateMediaBuyRequestForV2)(params);
832
+ break;
833
+ case 'update_media_buy':
834
+ adapted = (0, creative_adapter_1.adaptUpdateMediaBuyRequestForV2)(params);
835
+ break;
836
+ case 'sync_creatives':
837
+ adapted = (0, sync_creatives_adapter_1.adaptSyncCreativesRequestForV2)(params);
838
+ break;
839
+ }
840
+ }
841
+ // Strip any top-level fields not declared in the agent's tool schema.
842
+ // This handles partial implementations (agents that omit some fields)
843
+ // and prevents unknown fields from causing validation errors on the
844
+ // remote server.
845
+ // Fails open when no schema is cached OR when the schema declares no
846
+ // properties (JSON Schema semantics: an object with no properties
847
+ // and no `additionalProperties: false` accepts any shape). Post-#909,
848
+ // framework-registered agents publish `{ type: 'object', properties: {} }`
849
+ // on tools/list — treating that as "strip everything" would silently
850
+ // drop every field the buyer sent.
851
+ // MCP-only in practice: A2A agents don't populate cachedToolSchemas.
852
+ //
853
+ // Note: the empty-properties state from framework agents is intentional
854
+ // (LLM context-window economy — see `PASSTHROUGH_INPUT_SCHEMA` in
855
+ // `create-adcp-server.ts`). Don't try to "fix" it by wiring per-tool
856
+ // schemas into `tools/list`. If you genuinely need to know a tool's
857
+ // shape (gating, validation, version adaptation), read raw JSON from
858
+ // `schemas/cache/{version}/` via `schema-loader.ts`. The right defense
859
+ // against unknown-field errors is to gate at the *injection site*
860
+ // (e.g. `applyBrandInvariant` in the storyboard runner — see #940),
861
+ // not to lean on this strip path as a backstop.
862
+ const toolSchema = this.cachedToolSchemas?.get(taskType);
863
+ if (!toolSchema || Object.keys(toolSchema).length === 0)
864
+ return adapted;
865
+ const declaredFields = new Set(Object.keys(toolSchema));
866
+ // The v2 adapter may rename fields (e.g. brand → brand_manifest) that a
867
+ // v3 server — misdetected as v2 — doesn't declare. Reconcile known
868
+ // adapter mappings so the value isn't silently dropped.
869
+ const adapterAliases = [['brand_manifest', 'brand']];
870
+ for (const [adapterField, schemaField] of adapterAliases) {
871
+ if (adapted[adapterField] !== undefined &&
872
+ !declaredFields.has(adapterField) &&
873
+ declaredFields.has(schemaField) &&
874
+ adapted[schemaField] === undefined) {
875
+ adapted[schemaField] = adapted[adapterField];
876
+ delete adapted[adapterField];
877
+ }
878
+ }
879
+ // Protocol envelope fields are always preserved — they live at the
880
+ // protocol layer, not in individual tool schemas.
881
+ const envelopeFields = adcp_1.ADCP_ENVELOPE_FIELDS;
882
+ const filtered = {};
883
+ const stripped = [];
884
+ for (const [key, value] of Object.entries(adapted)) {
885
+ if (declaredFields.has(key) || envelopeFields.has(key)) {
886
+ filtered[key] = value;
887
+ }
888
+ else {
889
+ stripped.push(key);
890
+ }
891
+ }
892
+ if (stripped.length > 0) {
893
+ console.warn(`[AdCP] Stripping fields not declared in agent "${this.agent.id}" schema for ${taskType}: ${stripped.join(', ')}`);
894
+ }
895
+ return filtered;
896
+ }
897
+ /**
898
+ * Normalize response to v3 format
899
+ *
900
+ * Converts v2 responses to v3 structure for consistent API surface.
901
+ */
902
+ normalizeResponseToV3(taskType, data) {
903
+ switch (taskType) {
904
+ case 'get_products':
905
+ return (0, pricing_adapter_1.normalizeGetProductsResponse)(data);
906
+ case 'list_creative_formats':
907
+ return (0, format_renders_1.normalizeFormatsResponse)(data);
908
+ case 'preview_creative':
909
+ return (0, preview_normalizer_1.normalizePreviewCreativeResponse)(data);
910
+ case 'create_media_buy':
911
+ case 'update_media_buy':
912
+ return (0, creative_adapter_1.normalizeMediaBuyResponse)(data);
913
+ default:
914
+ return data;
915
+ }
916
+ }
917
+ /**
918
+ * Check if request uses v3 features that the server doesn't support
919
+ *
920
+ * Returns an early empty result if the request requires v3 features
921
+ * that the server doesn't support. This treats "products matching unsupported
922
+ * capability" as an empty result set rather than an error.
923
+ *
924
+ * @returns TaskResult with empty data if v3 features are unsupported, null to proceed normally
925
+ */
926
+ async getEarlyResultForUnsupportedFeatures(taskType, params) {
927
+ // Only check for tasks that have v3-specific features
928
+ if (taskType !== 'get_products') {
929
+ return null;
930
+ }
931
+ // Get capabilities to check what the server supports
932
+ const capabilities = await this.getCapabilities();
933
+ // If server is v3, all features are supported - proceed normally
934
+ if (capabilities.version === 'v3') {
935
+ return null;
936
+ }
937
+ // Check for v3-only features that would make this query return empty results.
938
+ //
939
+ // TODO: Once we remove backwards-compatibility stripping in adaptGetProductsRequestForV2,
940
+ // re-enable these guards so v3-only requests fail fast against v2 servers:
941
+ // (params.property_list && !capabilities.features.propertyListFiltering) ||
942
+ // (params.filters?.required_features?.includes('property_list_filtering') &&
943
+ // !capabilities.features.propertyListFiltering) ||
944
+ //
945
+ // TODO: Surface the reason for empty results to the caller (e.g. metadata or a
946
+ // structured warning) so they can distinguish "no products matched" from "server
947
+ // lacks v3 feature support" vs "request failed". Right now empty results from a
948
+ // capability mismatch look identical to a seller that simply has no inventory.
949
+ const usesUnsupportedFeature =
950
+ // required_features: content_standards requires contentStandards
951
+ params.filters?.required_features?.includes('content_standards') && !capabilities.features.contentStandards;
952
+ if (!usesUnsupportedFeature) {
953
+ return null; // Proceed normally
954
+ }
955
+ // Log warning about v2 downgrade
956
+ console.warn(`[AdCP] v3-only features not supported by server "${this.agent.id}" (${capabilities.version}). Returning empty results.`);
957
+ // Return empty result - semantically "no products match this filter"
958
+ const emptyResponse = {
959
+ products: [],
960
+ property_list_applied: false,
961
+ };
962
+ return {
963
+ success: true,
964
+ status: 'completed',
965
+ data: emptyResponse,
966
+ metadata: {
967
+ taskId: `early_${Date.now()}`,
968
+ taskName: taskType,
969
+ agent: {
970
+ id: this.agent.id,
971
+ name: this.agent.name,
972
+ protocol: this.normalizedAgent.protocol,
973
+ },
974
+ responseTimeMs: 0,
975
+ timestamp: new Date().toISOString(),
976
+ clarificationRounds: 0,
977
+ status: 'completed',
978
+ },
979
+ };
980
+ }
981
+ // ====== MEDIA BUY TASKS ======
982
+ /**
983
+ * Discover available advertising products
984
+ *
985
+ * @param params - Product discovery parameters
986
+ * @param inputHandler - Handler for clarification requests
987
+ * @param options - Task execution options
988
+ *
989
+ * @example
990
+ * ```typescript
991
+ * const products = await client.getProducts(
992
+ * {
993
+ * brief: 'Premium coffee brands for millennials',
994
+ * promoted_offering: 'Artisan coffee blends'
995
+ * },
996
+ * (context) => {
997
+ * if (context.inputRequest.field === 'budget') return 50000;
998
+ * return context.deferToHuman();
999
+ * }
1000
+ * );
1001
+ * ```
1002
+ */
1003
+ async getProducts(params, inputHandler, options) {
1004
+ return this.executeAndHandle('get_products', 'onGetProductsStatusChange', params, inputHandler, options);
1005
+ }
1006
+ /**
1007
+ * List available creative formats
1008
+ *
1009
+ * @param params - Format listing parameters
1010
+ * @param inputHandler - Handler for clarification requests
1011
+ * @param options - Task execution options
1012
+ */
1013
+ async listCreativeFormats(params, inputHandler, options) {
1014
+ return this.executeAndHandle('list_creative_formats', 'onListCreativeFormatsStatusChange', params, inputHandler, options);
1015
+ }
1016
+ /**
1017
+ * Create a new media buy
1018
+ *
1019
+ * @param params - Media buy creation parameters
1020
+ * @param inputHandler - Handler for clarification requests
1021
+ * @param options - Task execution options
1022
+ */
1023
+ async createMediaBuy(params, inputHandler, options) {
1024
+ // Merge library defaults with consumer-provided reporting_webhook config
1025
+ // Library provides url/auth/frequency defaults, consumer can override any field
1026
+ // Generates a media_buy_delivery webhook URL using operation_id pattern: delivery_report_{agent_id}_{YYYY-MM}
1027
+ if (this.config.webhookUrlTemplate) {
1028
+ const now = new Date();
1029
+ const year = now.getUTCFullYear();
1030
+ const month = String(now.getUTCMonth() + 1).padStart(2, '0');
1031
+ const operationId = `delivery_report_${this.agent.id}_${year}-${month}`;
1032
+ const deliveryWebhookUrl = this.getWebhookUrl('media_buy_delivery', operationId);
1033
+ // Library defaults
1034
+ const libraryDefaults = {
1035
+ url: deliveryWebhookUrl,
1036
+ authentication: {
1037
+ schemes: ['HMAC-SHA256'],
1038
+ credentials: this.config.webhookSecret || 'placeholder_secret_min_32_characters_required',
1039
+ },
1040
+ reporting_frequency: (this.config.reportingWebhookFrequency || 'daily'),
1041
+ };
1042
+ // Deep merge: consumer overrides library defaults
1043
+ params = {
1044
+ ...params,
1045
+ reporting_webhook: {
1046
+ ...libraryDefaults,
1047
+ ...params.reporting_webhook,
1048
+ authentication: {
1049
+ ...libraryDefaults.authentication,
1050
+ ...params.reporting_webhook?.authentication,
1051
+ },
1052
+ },
1053
+ };
1054
+ }
1055
+ return this.executeAndHandle('create_media_buy', 'onCreateMediaBuyStatusChange', params, inputHandler, options);
1056
+ }
1057
+ /**
1058
+ * Update an existing media buy
1059
+ *
1060
+ * @param params - Media buy update parameters
1061
+ * @param inputHandler - Handler for clarification requests
1062
+ * @param options - Task execution options
1063
+ */
1064
+ async updateMediaBuy(params, inputHandler, options) {
1065
+ return this.executeAndHandle('update_media_buy', 'onUpdateMediaBuyStatusChange', params, inputHandler, options);
1066
+ }
1067
+ /**
1068
+ * Sync creative assets
1069
+ *
1070
+ * @param params - Creative sync parameters
1071
+ * @param inputHandler - Handler for clarification requests
1072
+ * @param options - Task execution options
1073
+ */
1074
+ async syncCreatives(params, inputHandler, options) {
1075
+ return this.executeAndHandle('sync_creatives', 'onSyncCreativesStatusChange', params, inputHandler, options);
1076
+ }
1077
+ /**
1078
+ * List creative assets
1079
+ *
1080
+ * @param params - Creative listing parameters
1081
+ * @param inputHandler - Handler for clarification requests
1082
+ * @param options - Task execution options
1083
+ */
1084
+ async listCreatives(params, inputHandler, options) {
1085
+ return this.executeAndHandle('list_creatives', 'onListCreativesStatusChange', params, inputHandler, options);
1086
+ }
1087
+ /**
1088
+ * Preview a creative
1089
+ *
1090
+ * @param params - Preview creative parameters
1091
+ * @param inputHandler - Handler for clarification requests
1092
+ * @param options - Task execution options
1093
+ */
1094
+ async previewCreative(params, inputHandler, options) {
1095
+ return this.executeAndHandle('preview_creative', 'onPreviewCreativeStatusChange', params, inputHandler, options);
1096
+ }
1097
+ /**
1098
+ * Get media buy status, creative approvals, and optional delivery snapshots
1099
+ *
1100
+ * @param params - Request parameters
1101
+ * @param inputHandler - Handler for clarification requests
1102
+ * @param options - Task execution options
1103
+ */
1104
+ async getMediaBuys(params, inputHandler, options) {
1105
+ return this.executeAndHandle('get_media_buys', 'onGetMediaBuysStatusChange', params, inputHandler, options);
1106
+ }
1107
+ /**
1108
+ * Get media buy delivery information
1109
+ *
1110
+ * @param params - Delivery information parameters
1111
+ * @param inputHandler - Handler for clarification requests
1112
+ * @param options - Task execution options
1113
+ */
1114
+ async getMediaBuyDelivery(params, inputHandler, options) {
1115
+ return this.executeAndHandle('get_media_buy_delivery', 'onGetMediaBuyDeliveryStatusChange', params, inputHandler, options);
1116
+ }
1117
+ /**
1118
+ * Provide performance feedback
1119
+ *
1120
+ * @param params - Performance feedback parameters
1121
+ * @param inputHandler - Handler for clarification requests
1122
+ * @param options - Task execution options
1123
+ */
1124
+ async providePerformanceFeedback(params, inputHandler, options) {
1125
+ return this.executeAndHandle('provide_performance_feedback', 'onProvidePerformanceFeedbackStatusChange', params, inputHandler, options);
1126
+ }
1127
+ // ====== SIGNALS TASKS ======
1128
+ /**
1129
+ * Get audience signals
1130
+ *
1131
+ * @param params - Signals request parameters
1132
+ * @param inputHandler - Handler for clarification requests
1133
+ * @param options - Task execution options
1134
+ */
1135
+ async getSignals(params, inputHandler, options) {
1136
+ return this.executeAndHandle('get_signals', 'onGetSignalsStatusChange', params, inputHandler, options);
1137
+ }
1138
+ /**
1139
+ * Activate audience signals
1140
+ *
1141
+ * @param params - Signal activation parameters
1142
+ * @param inputHandler - Handler for clarification requests
1143
+ * @param options - Task execution options
1144
+ */
1145
+ async activateSignal(params, inputHandler, options) {
1146
+ return this.executeAndHandle('activate_signal', 'onActivateSignalStatusChange', params, inputHandler, options);
1147
+ }
1148
+ // ====== GOVERNANCE TASKS ======
1149
+ /**
1150
+ * Sync campaign plans to a governance agent.
1151
+ * Plans define authorized parameters: budget, channels, flight dates, markets, policies, delegations.
1152
+ *
1153
+ * Uses the governance agent from config.governance.campaign.agent by default.
1154
+ * Pass an explicit agent via options.agent to override.
1155
+ */
1156
+ async syncPlans(params, inputHandler, options) {
1157
+ const agent = options?.agent ?? this.getGovernanceAgent();
1158
+ return this.executor.executeTask(agent, 'sync_plans', params, inputHandler, options);
1159
+ }
1160
+ /**
1161
+ * Get governance audit logs for one or more plans.
1162
+ * Returns budget state, channel allocation, per-campaign breakdown, and audit trail.
1163
+ *
1164
+ * Uses the governance agent from config.governance.campaign.agent by default.
1165
+ * Pass an explicit agent via options.agent to override.
1166
+ */
1167
+ async getPlanAuditLogs(params, options) {
1168
+ const agent = options?.agent ?? this.getGovernanceAgent();
1169
+ return this.executor.executeTask(agent, 'get_plan_audit_logs', params, undefined, options);
1170
+ }
1171
+ /**
1172
+ * Report a governance outcome for an async task that has resolved.
1173
+ *
1174
+ * Use this when a task returned status 'submitted' or 'working' and
1175
+ * later resolves via polling or webhooks. The checkId is available
1176
+ * on the original TaskResult at result.governance.checkId.
1177
+ */
1178
+ async reportGovernanceOutcome(checkId, outcome, governanceContext, sellerResponse, error) {
1179
+ const middleware = this.executor.getGovernanceMiddleware();
1180
+ if (!middleware) {
1181
+ throw new Error('No governance middleware configured. Set config.governance.campaign to enable governance.');
1182
+ }
1183
+ return middleware.reportOutcome(checkId, outcome, sellerResponse, error, [], governanceContext);
1184
+ }
1185
+ getGovernanceAgent() {
1186
+ const agent = this.config.governance?.campaign?.agent;
1187
+ if (!agent) {
1188
+ throw new Error('No governance agent configured. Either pass an explicit agent via options.agent or set config.governance.campaign.agent.');
1189
+ }
1190
+ return agent;
1191
+ }
1192
+ // ====== PROTOCOL TASKS ======
1193
+ /**
1194
+ * Get AdCP capabilities
1195
+ *
1196
+ * @param params - Capabilities request parameters
1197
+ * @param inputHandler - Handler for clarification requests
1198
+ * @param options - Task execution options
1199
+ */
1200
+ async getAdcpCapabilities(params, inputHandler, options) {
1201
+ const agent = await this.ensureEndpointDiscovered();
1202
+ return this.executor.executeTask(agent, 'get_adcp_capabilities', params, inputHandler, options);
1203
+ }
1204
+ // ====== CREATIVE BUILD TASKS ======
1205
+ /**
1206
+ * Build a creative from a format and brand context
1207
+ */
1208
+ async buildCreative(params, inputHandler, options) {
1209
+ return this.executeAndHandle('build_creative', 'onBuildCreativeStatusChange', params, inputHandler, options);
1210
+ }
1211
+ // ====== ACCOUNT & AUDIENCE TASKS ======
1212
+ /**
1213
+ * List accounts
1214
+ */
1215
+ async listAccounts(params, inputHandler, options) {
1216
+ return this.executeAndHandle('list_accounts', 'onListAccountsStatusChange', params, inputHandler, options);
1217
+ }
1218
+ /**
1219
+ * Sync accounts
1220
+ */
1221
+ async syncAccounts(params, inputHandler, options) {
1222
+ return this.executeAndHandle('sync_accounts', 'onSyncAccountsStatusChange', params, inputHandler, options);
1223
+ }
1224
+ /**
1225
+ * Sync audiences
1226
+ */
1227
+ async syncAudiences(params, inputHandler, options) {
1228
+ return this.executeAndHandle('sync_audiences', 'onSyncAudiencesStatusChange', params, inputHandler, options);
1229
+ }
1230
+ // ====== GOVERNANCE TASKS ======
1231
+ /**
1232
+ * Create a property list
1233
+ */
1234
+ async createPropertyList(params, inputHandler, options) {
1235
+ return this.executeAndHandle('create_property_list', 'onCreatePropertyListStatusChange', params, inputHandler, options);
1236
+ }
1237
+ /**
1238
+ * Get a property list
1239
+ */
1240
+ async getPropertyList(params, inputHandler, options) {
1241
+ return this.executeAndHandle('get_property_list', 'onGetPropertyListStatusChange', params, inputHandler, options);
1242
+ }
1243
+ /**
1244
+ * Update a property list
1245
+ */
1246
+ async updatePropertyList(params, inputHandler, options) {
1247
+ return this.executeAndHandle('update_property_list', 'onUpdatePropertyListStatusChange', params, inputHandler, options);
1248
+ }
1249
+ /**
1250
+ * List property lists
1251
+ */
1252
+ async listPropertyLists(params, inputHandler, options) {
1253
+ return this.executeAndHandle('list_property_lists', 'onListPropertyListsStatusChange', params, inputHandler, options);
1254
+ }
1255
+ /**
1256
+ * Delete a property list
1257
+ */
1258
+ async deletePropertyList(params, inputHandler, options) {
1259
+ return this.executeAndHandle('delete_property_list', 'onDeletePropertyListStatusChange', params, inputHandler, options);
1260
+ }
1261
+ /**
1262
+ * List content standards
1263
+ */
1264
+ async listContentStandards(params, inputHandler, options) {
1265
+ return this.executeAndHandle('list_content_standards', 'onListContentStandardsStatusChange', params, inputHandler, options);
1266
+ }
1267
+ /**
1268
+ * Get content standards
1269
+ */
1270
+ async getContentStandards(params, inputHandler, options) {
1271
+ return this.executeAndHandle('get_content_standards', 'onGetContentStandardsStatusChange', params, inputHandler, options);
1272
+ }
1273
+ /**
1274
+ * Calibrate content against standards
1275
+ */
1276
+ async calibrateContent(params, inputHandler, options) {
1277
+ return this.executeAndHandle('calibrate_content', 'onCalibrateContentStatusChange', params, inputHandler, options);
1278
+ }
1279
+ /**
1280
+ * Validate content delivery
1281
+ */
1282
+ async validateContentDelivery(params, inputHandler, options) {
1283
+ return this.executeAndHandle('validate_content_delivery', 'onValidateContentDeliveryStatusChange', params, inputHandler, options);
1284
+ }
1285
+ // ====== SPONSORED INTELLIGENCE TASKS ======
1286
+ /**
1287
+ * Get an SI offering
1288
+ */
1289
+ async siGetOffering(params, inputHandler, options) {
1290
+ return this.executeAndHandle('si_get_offering', 'onSIGetOfferingStatusChange', params, inputHandler, options);
1291
+ }
1292
+ /**
1293
+ * Initiate an SI session
1294
+ */
1295
+ async siInitiateSession(params, inputHandler, options) {
1296
+ return this.executeAndHandle('si_initiate_session', 'onSIInitiateSessionStatusChange', params, inputHandler, options);
1297
+ }
1298
+ /**
1299
+ * Send a message in an SI session
1300
+ */
1301
+ async siSendMessage(params, inputHandler, options) {
1302
+ return this.executeAndHandle('si_send_message', 'onSISendMessageStatusChange', params, inputHandler, options);
1303
+ }
1304
+ /**
1305
+ * Terminate an SI session
1306
+ */
1307
+ async siTerminateSession(params, inputHandler, options) {
1308
+ return this.executeAndHandle('si_terminate_session', 'onSITerminateSessionStatusChange', params, inputHandler, options);
1309
+ }
1310
+ // ====== GENERIC TASK EXECUTION ======
1311
+ /**
1312
+ * Execute any task by name with type safety
1313
+ *
1314
+ * @param taskName - Name of the task to execute
1315
+ * @param params - Task parameters
1316
+ * @param inputHandler - Handler for clarification requests
1317
+ * @param options - Task execution options
1318
+ *
1319
+ * @example
1320
+ * ```typescript
1321
+ * const result = await client.executeTask(
1322
+ * 'get_products',
1323
+ * { brief: 'Coffee brands' },
1324
+ * handler
1325
+ * );
1326
+ * ```
1327
+ */
1328
+ async executeTask(taskName, params, inputHandler, options) {
1329
+ const normalizedParams = (0, request_normalizer_1.normalizeRequestParams)(taskName, params, {
1330
+ skipIdempotencyAutoInject: options?.skipIdempotencyAutoInject,
1331
+ });
1332
+ await this.validateTaskFeatures(taskName);
1333
+ if (this.config.requireV3ForMutations && (0, idempotency_1.isMutatingTask)(taskName)) {
1334
+ await this.requireV3(taskName);
1335
+ }
1336
+ const agent = await this.ensureEndpointDiscovered();
1337
+ // Adapt request for the server's protocol version (e.g. strip v3-only
1338
+ // fields like buying_mode when talking to v2 agents).
1339
+ const serverVersion = await this.detectServerVersion();
1340
+ const adaptedParams = await this.adaptRequestForServerVersion(taskName, normalizedParams);
1341
+ const result = await this.executor.executeTask(agent, taskName, adaptedParams, inputHandler, options, serverVersion);
1342
+ // Normalize response to v3 format for consistent API surface
1343
+ if (result.success && result.data) {
1344
+ result.data = this.normalizeResponseToV3(taskName, result.data);
1345
+ }
1346
+ return result;
1347
+ }
1348
+ // ====== DEFERRED TASK MANAGEMENT ======
1349
+ /**
1350
+ * Resume a deferred task using its token
1351
+ *
1352
+ * @param token - Deferred task token
1353
+ * @param inputHandler - Handler to provide the missing input
1354
+ *
1355
+ * @example
1356
+ * ```typescript
1357
+ * try {
1358
+ * await client.createMediaBuy(params, handler);
1359
+ * } catch (error) {
1360
+ * if (error instanceof DeferredTaskError) {
1361
+ * // Get human input and resume
1362
+ * const result = await client.resumeDeferredTask(
1363
+ * error.token,
1364
+ * (context) => humanProvidedValue
1365
+ * );
1366
+ * }
1367
+ * }
1368
+ * ```
1369
+ */
1370
+ async resumeDeferredTask(token, inputHandler) {
1371
+ // This is a simplified implementation
1372
+ // In a full implementation, you'd need to store deferred task state
1373
+ // and restore it here
1374
+ throw new Error('Deferred task resumption requires storage configuration');
1375
+ }
1376
+ // ====== CONVERSATION MANAGEMENT ======
1377
+ /**
1378
+ * Continue an existing conversation with the agent
1379
+ *
1380
+ * @param message - Message to send to the agent
1381
+ * @param contextId - Conversation context ID to continue
1382
+ * @param inputHandler - Handler for any clarification requests
1383
+ *
1384
+ * @example
1385
+ * ```typescript
1386
+ * const agent = new ADCPClient(config);
1387
+ * const initial = await agent.getProducts({ brief: 'Tech products' });
1388
+ *
1389
+ * // Continue the conversation — use the server-returned contextId, not
1390
+ * // the client-minted correlation taskId.
1391
+ * const refined = await agent.continueConversation(
1392
+ * 'Focus only on laptops under $1000',
1393
+ * initial.metadata.contextId!
1394
+ * );
1395
+ * ```
1396
+ */
1397
+ async continueConversation(message, contextId, inputHandler) {
1398
+ const agent = await this.ensureEndpointDiscovered();
1399
+ return this.executor.executeTask(agent, 'continue_conversation', { message }, inputHandler, { contextId });
1400
+ }
1401
+ /**
1402
+ * Get conversation history for a task
1403
+ */
1404
+ getConversationHistory(taskId) {
1405
+ return this.executor.getConversationHistory(taskId);
1406
+ }
1407
+ /**
1408
+ * Clear conversation history for a task
1409
+ */
1410
+ clearConversationHistory(taskId) {
1411
+ this.executor.clearConversationHistory(taskId);
1412
+ }
1413
+ // ====== AGENT INFORMATION ======
1414
+ /**
1415
+ * Get the agent configuration with normalized protocol
1416
+ *
1417
+ * Returns the agent config with:
1418
+ * - Protocol normalized (e.g., .well-known URLs switch to A2A)
1419
+ * - If canonical URL has been resolved, agent_uri will be the canonical URL
1420
+ *
1421
+ * For guaranteed canonical URL, use getResolvedAgent() instead.
1422
+ */
1423
+ getAgent() {
1424
+ // If we have resolved the canonical URL, return config with it
1425
+ if (this.canonicalBaseUrl) {
1426
+ const { _needsDiscovery, _needsCanonicalUrl, ...cleanAgent } = this.normalizedAgent;
1427
+ return {
1428
+ ...cleanAgent,
1429
+ agent_uri: this.canonicalBaseUrl,
1430
+ };
1431
+ }
1432
+ // Return normalized agent without internal flags
1433
+ const { _needsDiscovery, _needsCanonicalUrl, ...cleanAgent } = this.normalizedAgent;
1434
+ return { ...cleanAgent };
1435
+ }
1436
+ /**
1437
+ * Get the fully resolved agent configuration
1438
+ *
1439
+ * This async method ensures the agent config has the canonical URL resolved:
1440
+ * - For A2A: Fetches the agent card and uses its 'url' field
1441
+ * - For MCP: Performs endpoint discovery
1442
+ *
1443
+ * @returns Promise resolving to agent config with canonical URL
1444
+ */
1445
+ async getResolvedAgent() {
1446
+ await this.resolveCanonicalUrl();
1447
+ return this.getAgent();
1448
+ }
1449
+ /**
1450
+ * Get the agent ID
1451
+ */
1452
+ getAgentId() {
1453
+ return this.agent.id;
1454
+ }
1455
+ /**
1456
+ * Get the agent name
1457
+ */
1458
+ getAgentName() {
1459
+ return this.agent.name;
1460
+ }
1461
+ /**
1462
+ * Get the agent protocol (may be normalized from original config)
1463
+ */
1464
+ getProtocol() {
1465
+ return this.normalizedAgent.protocol;
1466
+ }
1467
+ /**
1468
+ * Get the canonical base URL for this agent
1469
+ *
1470
+ * Returns the canonical URL if already resolved, or computes it synchronously
1471
+ * from the configured URL. For the most accurate canonical URL (especially for A2A
1472
+ * where the agent card contains the authoritative URL), use resolveCanonicalUrl() first.
1473
+ *
1474
+ * The canonical URL is:
1475
+ * - For A2A: The 'url' field from the agent card (if resolved), or base URL with
1476
+ * the well-known agent card path stripped
1477
+ * - For MCP: The discovered endpoint with /mcp stripped
1478
+ *
1479
+ * @returns The canonical base URL (synchronous, may not be fully resolved)
1480
+ */
1481
+ getCanonicalUrl() {
1482
+ // Return cached canonical URL if available
1483
+ if (this.canonicalBaseUrl) {
1484
+ return this.canonicalBaseUrl;
1485
+ }
1486
+ // Compute from configured URL (best effort without network call)
1487
+ return this.computeBaseUrl(this.normalizedAgent.agent_uri);
1488
+ }
1489
+ /**
1490
+ * Resolve and return the canonical base URL for this agent
1491
+ *
1492
+ * This async method ensures the canonical URL is properly resolved:
1493
+ * - For A2A: Fetches the agent card and uses its 'url' field
1494
+ * - For MCP: Performs endpoint discovery and strips /mcp suffix
1495
+ *
1496
+ * The result is cached, so subsequent calls are fast.
1497
+ *
1498
+ * @returns Promise resolving to the canonical base URL
1499
+ */
1500
+ async resolveCanonicalUrl() {
1501
+ if (this.canonicalBaseUrl) {
1502
+ return this.canonicalBaseUrl;
1503
+ }
1504
+ if (this.normalizedAgent.protocol === 'a2a') {
1505
+ await this.ensureCanonicalUrlResolved();
1506
+ }
1507
+ else if (this.normalizedAgent.protocol === 'mcp') {
1508
+ await this.ensureEndpointDiscovered();
1509
+ }
1510
+ return this.canonicalBaseUrl || this.computeBaseUrl(this.normalizedAgent.agent_uri);
1511
+ }
1512
+ /**
1513
+ * Check if this agent is the same as another agent
1514
+ *
1515
+ * Compares agents by their canonical base URLs. Two agents are considered
1516
+ * the same if they have the same canonical URL, regardless of:
1517
+ * - Protocol (MCP vs A2A)
1518
+ * - URL format (with/without /mcp, with/without well-known agent card path)
1519
+ * - Trailing slashes
1520
+ *
1521
+ * @param other - Another agent configuration or SingleAgentClient to compare
1522
+ * @returns true if agents have the same canonical URL
1523
+ */
1524
+ isSameAgent(other) {
1525
+ const thisUrl = this.getCanonicalUrl().toLowerCase();
1526
+ let otherUrl;
1527
+ if (other instanceof SingleAgentClient) {
1528
+ otherUrl = other.getCanonicalUrl().toLowerCase();
1529
+ }
1530
+ else {
1531
+ otherUrl = this.computeBaseUrl(other.agent_uri).toLowerCase();
1532
+ }
1533
+ return thisUrl === otherUrl;
1534
+ }
1535
+ /**
1536
+ * Async version of isSameAgent that resolves canonical URLs first
1537
+ *
1538
+ * This provides more accurate comparison for A2A agents since it fetches
1539
+ * the agent card to get the authoritative canonical URL.
1540
+ *
1541
+ * @param other - Another agent configuration or SingleAgentClient to compare
1542
+ * @returns Promise resolving to true if agents have the same canonical URL
1543
+ */
1544
+ async isSameAgentResolved(other) {
1545
+ const thisUrl = (await this.resolveCanonicalUrl()).toLowerCase();
1546
+ let otherUrl;
1547
+ if (other instanceof SingleAgentClient) {
1548
+ otherUrl = (await other.resolveCanonicalUrl()).toLowerCase();
1549
+ }
1550
+ else {
1551
+ // For raw AgentConfig, we can only compute from the URL
1552
+ otherUrl = this.computeBaseUrl(other.agent_uri).toLowerCase();
1553
+ }
1554
+ return thisUrl === otherUrl;
1555
+ }
1556
+ /**
1557
+ * Get active tasks for this agent
1558
+ */
1559
+ getActiveTasks() {
1560
+ return this.executor.getActiveTasks().filter(task => task.agent.id === this.agent.id);
1561
+ }
1562
+ // ====== TASK MANAGEMENT & NOTIFICATIONS ======
1563
+ /**
1564
+ * List all tasks for this agent with detailed information
1565
+ *
1566
+ * @returns Promise resolving to array of task information
1567
+ *
1568
+ * @example
1569
+ * ```typescript
1570
+ * const tasks = await client.listTasks();
1571
+ * tasks.forEach(task => {
1572
+ * console.log(`${task.taskName}: ${task.status}`);
1573
+ * });
1574
+ * ```
1575
+ */
1576
+ async listTasks() {
1577
+ return this.executor.getTaskList(this.agent.id);
1578
+ }
1579
+ /**
1580
+ * Get detailed information about a specific task
1581
+ *
1582
+ * @param taskId - ID of the task to get information for
1583
+ * @returns Promise resolving to task information
1584
+ */
1585
+ async getTaskInfo(taskId) {
1586
+ return this.executor.getTaskInfo(taskId);
1587
+ }
1588
+ /**
1589
+ * Subscribe to task notifications for this agent
1590
+ *
1591
+ * @param callback - Function to call when task status changes
1592
+ * @returns Unsubscribe function
1593
+ *
1594
+ * @example
1595
+ * ```typescript
1596
+ * const unsubscribe = client.onTaskUpdate((task) => {
1597
+ * console.log(`Task ${task.taskName} is now ${task.status}`);
1598
+ * if (task.status === 'completed') {
1599
+ * // Handle completion
1600
+ * }
1601
+ * });
1602
+ *
1603
+ * // Later, stop listening
1604
+ * unsubscribe();
1605
+ * ```
1606
+ */
1607
+ onTaskUpdate(callback) {
1608
+ return this.executor.onTaskUpdate(this.agent.id, callback);
1609
+ }
1610
+ /**
1611
+ * Subscribe to all task events (create, update, complete, error)
1612
+ *
1613
+ * @param callbacks - Event callbacks for different task events
1614
+ * @returns Unsubscribe function
1615
+ */
1616
+ onTaskEvents(callbacks) {
1617
+ return this.executor.onTaskEvents(this.agent.id, callbacks);
1618
+ }
1619
+ /**
1620
+ * Register webhook URL for receiving task notifications
1621
+ *
1622
+ * @param webhookUrl - URL to receive webhook notifications
1623
+ * @param taskTypes - Optional array of task types to watch (defaults to all)
1624
+ *
1625
+ * @example
1626
+ * ```typescript
1627
+ * await client.registerWebhook('https://myapp.com/webhook', ['create_media_buy']);
1628
+ * ```
1629
+ */
1630
+ async registerWebhook(webhookUrl, taskTypes) {
1631
+ const agent = await this.ensureEndpointDiscovered();
1632
+ return this.executor.registerWebhook(agent, webhookUrl, taskTypes);
1633
+ }
1634
+ /**
1635
+ * Unregister webhook notifications
1636
+ */
1637
+ async unregisterWebhook() {
1638
+ const agent = await this.ensureEndpointDiscovered();
1639
+ return this.executor.unregisterWebhook(agent);
1640
+ }
1641
+ // ====== AGENT DISCOVERY METHODS ======
1642
+ /**
1643
+ * Get comprehensive agent information including name, description, and available tools/skills
1644
+ *
1645
+ * Works with both MCP (tools) and A2A (skills) protocols to discover what the agent can do.
1646
+ *
1647
+ * @returns Promise resolving to agent information including tools
1648
+ *
1649
+ * @example
1650
+ * ```typescript
1651
+ * const client = new ADCPClient(agentConfig);
1652
+ * const info = await client.getAgentInfo();
1653
+ *
1654
+ * console.log(`${info.name}: ${info.description}`);
1655
+ * console.log(`Supports ${info.tools.length} tools`);
1656
+ *
1657
+ * info.tools.forEach(tool => {
1658
+ * console.log(` - ${tool.name}: ${tool.description}`);
1659
+ * });
1660
+ * ```
1661
+ */
1662
+ async getAgentInfo() {
1663
+ if (this.normalizedAgent.protocol === 'mcp') {
1664
+ // In-process: use the pre-connected client instead of opening a new HTTP connection
1665
+ if (this.normalizedAgent._inProcessMcpClient) {
1666
+ const mcpClient = this.normalizedAgent._inProcessMcpClient;
1667
+ const toolsList = await mcpClient.listTools();
1668
+ const tools = toolsList.tools.map(tool => ({
1669
+ name: tool.name,
1670
+ description: tool.description,
1671
+ inputSchema: tool.inputSchema,
1672
+ parameters: tool.inputSchema?.properties ? Object.keys(tool.inputSchema.properties) : [],
1673
+ }));
1674
+ return {
1675
+ name: this.normalizedAgent.name,
1676
+ description: undefined,
1677
+ protocol: this.normalizedAgent.protocol,
1678
+ url: this.normalizedAgent.agent_uri,
1679
+ tools,
1680
+ };
1681
+ }
1682
+ // Discover endpoint if needed
1683
+ const agent = await this.ensureEndpointDiscovered();
1684
+ // Use the shared connectMCP path so both static bearer AND saved OAuth
1685
+ // tokens work. OAuth takes the refresh-capable authProvider branch.
1686
+ const { connectMCP } = await Promise.resolve().then(() => __importStar(require('../protocols/mcp')));
1687
+ const connectOptions = { agentUrl: agent.agent_uri };
1688
+ if (this.normalizedAgent.oauth_tokens) {
1689
+ const { createNonInteractiveOAuthProvider } = await Promise.resolve().then(() => __importStar(require('../auth/oauth')));
1690
+ connectOptions.authProvider = createNonInteractiveOAuthProvider(this.normalizedAgent, {
1691
+ agentHint: this.normalizedAgent.id,
1692
+ });
1693
+ }
1694
+ else if (this.normalizedAgent.auth_token) {
1695
+ connectOptions.authToken = this.normalizedAgent.auth_token;
1696
+ }
1697
+ const { client: mcpClient } = await connectMCP(connectOptions);
1698
+ try {
1699
+ const toolsList = await mcpClient.listTools();
1700
+ const tools = toolsList.tools.map(tool => ({
1701
+ name: tool.name,
1702
+ description: tool.description,
1703
+ inputSchema: tool.inputSchema,
1704
+ parameters: tool.inputSchema?.properties ? Object.keys(tool.inputSchema.properties) : [],
1705
+ }));
1706
+ return {
1707
+ name: this.normalizedAgent.name,
1708
+ description: undefined,
1709
+ protocol: this.normalizedAgent.protocol,
1710
+ url: agent.agent_uri,
1711
+ tools,
1712
+ };
1713
+ }
1714
+ finally {
1715
+ try {
1716
+ await mcpClient.close();
1717
+ }
1718
+ catch {
1719
+ /* ignore */
1720
+ }
1721
+ }
1722
+ }
1723
+ else if (this.normalizedAgent.protocol === 'a2a') {
1724
+ // Use A2A SDK to get agent card
1725
+ const clientModule = require('@a2a-js/sdk/client');
1726
+ const A2AClient = clientModule.A2AClient;
1727
+ const authToken = this.normalizedAgent.auth_token;
1728
+ const fetchImpl = authToken
1729
+ ? async (url, options) => {
1730
+ const headers = {
1731
+ ...options?.headers,
1732
+ Authorization: `Bearer ${authToken}`,
1733
+ 'x-adcp-auth': authToken,
1734
+ };
1735
+ return fetch(url, { ...options, headers });
1736
+ }
1737
+ : undefined;
1738
+ const cardUrls = (0, a2a_discovery_1.buildCardUrls)(this.normalizedAgent.agent_uri);
1739
+ let client;
1740
+ let lastCardError = new Error(`A2A agent card not found at ${cardUrls.join(', ')}`);
1741
+ for (const cardUrl of cardUrls) {
1742
+ try {
1743
+ client = await A2AClient.fromCardUrl(cardUrl, fetchImpl ? { fetchImpl } : {});
1744
+ break;
1745
+ }
1746
+ catch (err) {
1747
+ lastCardError = err;
1748
+ }
1749
+ }
1750
+ if (!client) {
1751
+ throw lastCardError;
1752
+ }
1753
+ const agentCard = client.agentCardPromise ? await client.agentCardPromise : client.agentCard;
1754
+ const tools = agentCard?.skills
1755
+ ? agentCard.skills.map((skill) => ({
1756
+ name: skill.id || skill.name,
1757
+ description: skill.description,
1758
+ inputSchema: skill.inputSchema,
1759
+ parameters: skill.inputFormats || [],
1760
+ }))
1761
+ : [];
1762
+ return {
1763
+ name: agentCard?.displayName || agentCard?.name || this.normalizedAgent.name,
1764
+ description: agentCard?.description,
1765
+ protocol: this.normalizedAgent.protocol,
1766
+ url: this.normalizedAgent.agent_uri,
1767
+ tools,
1768
+ };
1769
+ }
1770
+ throw new Error(`Unsupported protocol: ${this.normalizedAgent.protocol}`);
1771
+ }
1772
+ /**
1773
+ * Get agent capabilities, including AdCP version support
1774
+ *
1775
+ * For v3 servers, calls get_adcp_capabilities tool.
1776
+ * For v2 servers, builds synthetic capabilities from available tools.
1777
+ *
1778
+ * @returns Promise resolving to normalized capabilities object
1779
+ *
1780
+ * @example
1781
+ * ```typescript
1782
+ * const capabilities = await client.getCapabilities();
1783
+ *
1784
+ * console.log(`Server version: ${capabilities.version}`);
1785
+ * console.log(`Protocols: ${capabilities.protocols.join(', ')}`);
1786
+ *
1787
+ * if (capabilities.features.propertyListFiltering) {
1788
+ * // Use v3 property list features
1789
+ * }
1790
+ * ```
1791
+ */
1792
+ async getCapabilities() {
1793
+ // Return cached if available
1794
+ if (this.cachedCapabilities) {
1795
+ this.maybeWarnV2Sunset(this.cachedCapabilities);
1796
+ return this.cachedCapabilities;
1797
+ }
1798
+ // First get tool list to support both detection methods
1799
+ const agentInfo = await this.getAgentInfo();
1800
+ const tools = agentInfo.tools.map(t => ({
1801
+ name: t.name,
1802
+ description: t.description,
1803
+ }));
1804
+ // Cache raw tool schemas for field-level compatibility checks (e.g. buying_mode on get_products).
1805
+ // INVARIANT: must be assigned before cachedCapabilities below so that any code path
1806
+ // reaching adaptRequestForServerVersion always finds the schemas populated.
1807
+ this.cachedToolSchemas = new Map(agentInfo.tools
1808
+ .filter(t => t.inputSchema?.properties)
1809
+ .map(t => [t.name, t.inputSchema.properties]));
1810
+ // Check if agent supports get_adcp_capabilities (v3)
1811
+ const hasCapabilitiesTool = tools.some(t => t.name === 'get_adcp_capabilities');
1812
+ if (hasCapabilitiesTool) {
1813
+ try {
1814
+ // ensureEndpointDiscovered is a no-op for in-process agents (_needsDiscovery is false
1815
+ // because normalizeAgentConfig returns early when _inProcessMcpClient is set). The
1816
+ // executor then hits ProtocolClient.callTool which reads _inProcessMcpClient directly,
1817
+ // so the sentinel adcp-in-process:// URI never reaches validateAgentUrl.
1818
+ const agent = await this.ensureEndpointDiscovered();
1819
+ const result = await this.executor.executeTask(agent, 'get_adcp_capabilities', {}, undefined);
1820
+ if (result.success && result.data) {
1821
+ this.cachedCapabilities = (0, capabilities_1.augmentCapabilitiesFromTools)((0, capabilities_1.parseCapabilitiesResponse)(result.data), tools);
1822
+ this.maybeWarnV2Sunset(this.cachedCapabilities);
1823
+ return this.cachedCapabilities;
1824
+ }
1825
+ // Log when executeTask returns but success is false — this causes
1826
+ // the server to be treated as v2 even though it advertises
1827
+ // get_adcp_capabilities, which will trigger v2 field adapters.
1828
+ // We deliberately omit `result.data` from the log: it can carry
1829
+ // OAuth metadata that flowed through `agent.oauth_client_credentials`,
1830
+ // and CodeQL traces clear-text logging when it appears here. The
1831
+ // shape booleans + status are enough to triage the v2 fallback.
1832
+ console.warn(`[AdCP] Agent "${this.agent.id}" advertises get_adcp_capabilities but the call ` +
1833
+ `returned non-success — falling back to v2 synthetic capabilities. ` +
1834
+ `This may cause v2 field adapters to run against a v3 server.`, {
1835
+ success: result.success,
1836
+ // result.error is a string error message; we don't include its full
1837
+ // text because it can carry agent identifiers from transport-level
1838
+ // failures, but presence/absence is useful for triage.
1839
+ hasError: !!result.error,
1840
+ hasData: !!result.data,
1841
+ });
1842
+ }
1843
+ catch (error) {
1844
+ // Re-throw errors that indicate real infrastructure problems —
1845
+ // only fall through for tool-execution failures (the agent
1846
+ // advertises get_adcp_capabilities but can't actually serve it).
1847
+ if (error instanceof errors_1.AuthenticationRequiredError || error instanceof errors_1.TaskTimeoutError) {
1848
+ throw error;
1849
+ }
1850
+ console.warn(`[AdCP] Agent "${this.agent.id}" advertises get_adcp_capabilities but the call ` +
1851
+ `threw — falling back to v2 synthetic capabilities. ` +
1852
+ `This may cause v2 field adapters to run against a v3 server. ` +
1853
+ `Error: ${error instanceof Error ? error.message : String(error)}`);
1854
+ }
1855
+ }
1856
+ // Build synthetic capabilities from tool list (v2)
1857
+ console.warn(`[AdCP] Agent "${this.agent.id}" detected as v2` +
1858
+ (hasCapabilitiesTool ? ' (has get_adcp_capabilities tool but call failed)' : '') +
1859
+ `. Tools: [${tools.map(t => t.name).join(', ')}]`);
1860
+ this.cachedCapabilities = (0, capabilities_1.buildSyntheticCapabilities)(tools);
1861
+ return this.cachedCapabilities;
1862
+ }
1863
+ /**
1864
+ * Emit a one-time warning when the agent reports v2 capabilities.
1865
+ *
1866
+ * v2 went unsupported on 2026-04-20 (AdCP 3.0 GA — adcp#2220). We still
1867
+ * execute v2 code paths (no behaviour change), but clients integrating
1868
+ * against an unsupported agent should hear about it loudly.
1869
+ *
1870
+ * Synthetic capabilities (no `get_adcp_capabilities` tool available) don't
1871
+ * trigger the warning — we don't actually know the agent's version, and
1872
+ * shouting at legitimately-unversioned agents would be noise.
1873
+ *
1874
+ * Suppression: `process.env.ADCP_ALLOW_V2 === '1'`.
1875
+ */
1876
+ maybeWarnV2Sunset(capabilities) {
1877
+ if (this._v2WarningFired)
1878
+ return;
1879
+ if (capabilities.version === 'v3')
1880
+ return;
1881
+ if (capabilities._synthetic)
1882
+ return;
1883
+ if (process.env.ADCP_ALLOW_V2 === '1')
1884
+ return;
1885
+ this._v2WarningFired = true;
1886
+ console.warn(`[adcp] Warning: agent ${this.agent.agent_uri} reports v2 capabilities. ` +
1887
+ `v2 went unsupported on 2026-04-20 (AdCP 3.0 GA). ` +
1888
+ `Upgrade the agent to v3 or set ADCP_ALLOW_V2=1 to suppress this warning. ` +
1889
+ `See https://github.com/adcontextprotocol/adcp/issues/2220`);
1890
+ }
1891
+ /**
1892
+ * Detect server AdCP version
1893
+ *
1894
+ * @returns 'v2' or 'v3' based on server capabilities
1895
+ */
1896
+ async detectServerVersion() {
1897
+ const capabilities = await this.getCapabilities();
1898
+ return capabilities.version;
1899
+ }
1900
+ /**
1901
+ * Check if server supports a specific AdCP major version
1902
+ */
1903
+ async supportsVersion(version) {
1904
+ const capabilities = await this.getCapabilities();
1905
+ return capabilities.majorVersions.includes(version);
1906
+ }
1907
+ /**
1908
+ * Return the seller's declared `adcp.idempotency.replay_ttl_seconds`.
1909
+ *
1910
+ * BYOK callers use this to compare the age of persisted keys against the
1911
+ * seller's replay window — past the window, the safe recovery is a
1912
+ * natural-key lookup rather than reusing the key.
1913
+ *
1914
+ * Fails closed when the seller is v3 but does not declare the field: the
1915
+ * spec makes the declaration REQUIRED, and silently defaulting to 24h
1916
+ * would mislead buyers about retry safety. Callers on v2 servers get
1917
+ * `undefined` instead of a throw — v2 pre-dates the idempotency envelope.
1918
+ */
1919
+ async getIdempotencyReplayTtlSeconds() {
1920
+ const capabilities = await this.getCapabilities();
1921
+ if (capabilities.idempotency)
1922
+ return capabilities.idempotency.replayTtlSeconds;
1923
+ if (capabilities.version !== 'v3')
1924
+ return undefined;
1925
+ throw new errors_1.ConfigurationError(`Agent "${this.agent.id}" is v3 but does not declare adcp.idempotency.replay_ttl_seconds. ` +
1926
+ `The spec requires this for v3 sellers — treating the agent as non-compliant rather than ` +
1927
+ `defaulting to 24h, which would silently mislead retry-sensitive flows.`, 'adcp.idempotency.replay_ttl_seconds');
1928
+ }
1929
+ /**
1930
+ * Check if the seller supports a feature.
1931
+ *
1932
+ * Feature names resolve as follows:
1933
+ * - Protocol names ('media_buy', 'signals', etc.) check supported_protocols
1934
+ * - 'ext:<name>' checks extensions_supported
1935
+ * - 'targeting.<name>' checks media_buy.execution.targeting
1936
+ * - Other names check media_buy.features (e.g., 'audience_targeting', 'conversion_tracking')
1937
+ *
1938
+ * Absent features return false.
1939
+ */
1940
+ async supports(feature) {
1941
+ const capabilities = await this.getCapabilities();
1942
+ return (0, capabilities_1.resolveFeature)(capabilities, feature);
1943
+ }
1944
+ /**
1945
+ * Require that the seller supports all listed features.
1946
+ * Throws FeatureUnsupportedError if any are missing.
1947
+ *
1948
+ * Call this before making feature-dependent task calls to fail fast
1949
+ * with an actionable error message.
1950
+ */
1951
+ async require(...features) {
1952
+ const capabilities = await this.getCapabilities();
1953
+ const missing = features.filter(f => !(0, capabilities_1.resolveFeature)(capabilities, f));
1954
+ if (missing.length > 0) {
1955
+ throw new errors_1.FeatureUnsupportedError(missing, (0, capabilities_1.listDeclaredFeatures)(capabilities), this.agent.agent_uri);
1956
+ }
1957
+ }
1958
+ /**
1959
+ * Force-refresh cached capabilities from the server.
1960
+ * Useful when seller capabilities may have changed.
1961
+ */
1962
+ async refreshCapabilities() {
1963
+ this.cachedCapabilities = undefined;
1964
+ return this.getCapabilities();
1965
+ }
1966
+ /**
1967
+ * Validate that the seller supports all features required by a task.
1968
+ * Throws FeatureUnsupportedError if any required features are missing.
1969
+ *
1970
+ * Skipped when validateFeatures is false or the task has no feature requirements.
1971
+ */
1972
+ async validateTaskFeatures(taskName) {
1973
+ if (this.config.validateFeatures === false)
1974
+ return;
1975
+ const requiredFeatures = capabilities_1.TASK_FEATURE_MAP[taskName];
1976
+ if (!requiredFeatures || requiredFeatures.length === 0)
1977
+ return;
1978
+ await this.require(...requiredFeatures);
1979
+ }
1980
+ /**
1981
+ * Assert that the seller's capabilities corroborate AdCP v3.
1982
+ *
1983
+ * A self-reported `version: 'v3'` is not enough — a hostile or
1984
+ * misconfigured seller can just string-claim the version. The guard
1985
+ * requires:
1986
+ *
1987
+ * 1. `capabilities.majorVersions.includes(3)` (multi-version aware)
1988
+ * 2. `capabilities.idempotency.replayTtlSeconds` present (spec-required
1989
+ * for real v3 sellers; synthetic capabilities don't get this free)
1990
+ * 3. capabilities were not synthesized from a tool list
1991
+ *
1992
+ * Per-client `allowV2: true` or, when that's undefined,
1993
+ * `ADCP_ALLOW_V2=1` in the environment bypasses the check.
1994
+ *
1995
+ * Throws `VersionUnsupportedError` with the specific reason on failure.
1996
+ */
1997
+ async requireV3(taskType = 'request') {
1998
+ if (this.isV2Allowed())
1999
+ return;
2000
+ const capabilities = await this.getCapabilities();
2001
+ if (capabilities._synthetic) {
2002
+ throw new errors_1.VersionUnsupportedError(taskType, 'synthetic', capabilities.version, this.agent.agent_uri);
2003
+ }
2004
+ if (!capabilities.majorVersions.includes(3)) {
2005
+ throw new errors_1.VersionUnsupportedError(taskType, 'version', capabilities.version, this.agent.agent_uri);
2006
+ }
2007
+ if (!capabilities.idempotency?.replayTtlSeconds) {
2008
+ throw new errors_1.VersionUnsupportedError(taskType, 'idempotency', capabilities.version, this.agent.agent_uri);
2009
+ }
2010
+ }
2011
+ isV2Allowed() {
2012
+ if (this.config.allowV2 !== undefined)
2013
+ return this.config.allowV2 === true;
2014
+ return process.env.ADCP_ALLOW_V2 === '1';
2015
+ }
2016
+ // ====== STATIC HELPER METHODS ======
2017
+ /**
2018
+ * Query a creative agent to discover available creative formats
2019
+ *
2020
+ * This is a static utility method that allows you to query any creative agent
2021
+ * (like creative.adcontextprotocol.org) to discover what formats are available
2022
+ * before creating a media buy.
2023
+ *
2024
+ * @param creativeAgentUrl - URL of the creative agent (e.g., 'https://creative.adcontextprotocol.org/mcp')
2025
+ * @param protocol - Protocol to use ('mcp' or 'a2a'), defaults to 'mcp'
2026
+ * @returns Promise resolving to the list of available formats
2027
+ *
2028
+ * @example
2029
+ * ```typescript
2030
+ * // Discover formats from the standard creative agent
2031
+ * const formats = await SingleAgentClient.discoverCreativeFormats(
2032
+ * 'https://creative.adcontextprotocol.org/mcp'
2033
+ * );
2034
+ *
2035
+ * // Find a specific format
2036
+ * const banner = formats.find(f => f.format_id.id === 'display_300x250_image');
2037
+ *
2038
+ * // Use the format in a media buy
2039
+ * await salesAgent.createMediaBuy({
2040
+ * packages: [{
2041
+ * format_ids: [{
2042
+ * agent_url: banner.format_id.agent_url,
2043
+ * id: banner.format_id.id
2044
+ * }]
2045
+ * }]
2046
+ * });
2047
+ * ```
2048
+ */
2049
+ static async discoverCreativeFormats(creativeAgentUrl, protocol = 'mcp') {
2050
+ const client = new SingleAgentClient({
2051
+ id: 'creative_agent_discovery',
2052
+ name: 'Creative Agent',
2053
+ agent_uri: creativeAgentUrl,
2054
+ protocol,
2055
+ }, {});
2056
+ const result = await client.listCreativeFormats({});
2057
+ if (!result.success || !result.data) {
2058
+ throw new Error(`Failed to discover creative formats: ${result.error || 'Unknown error'}`);
2059
+ }
2060
+ return result.data.formats || [];
2061
+ }
2062
+ /**
2063
+ * Validate request parameters against AdCP schema.
2064
+ *
2065
+ * Uses default (non-strict) parsing so required fields are still enforced
2066
+ * but unknown top-level keys pass through. This matters because callers —
2067
+ * including the storyboard runner's `applyBrandInvariant` — inject
2068
+ * scoping fields (`brand`, `account`) onto every outgoing request, and
2069
+ * `adaptRequestForServerVersion` strips those fields downstream for tools
2070
+ * whose schema doesn't declare them. A strict parse here rejects the
2071
+ * injected fields before the adapter gets a chance to clean them up, so
2072
+ * the two passes have to agree on "extra keys are fine."
2073
+ */
2074
+ validateRequest(taskType, params) {
2075
+ const schema = this.getRequestSchema(taskType);
2076
+ if (!schema) {
2077
+ return; // No schema available for this task type
2078
+ }
2079
+ try {
2080
+ schema.parse(params);
2081
+ }
2082
+ catch (error) {
2083
+ if (error instanceof zod_1.z.ZodError) {
2084
+ const issues = error.issues.map(i => `${i.path.join('.')}: ${i.message}`).join('; ');
2085
+ throw new Error(`Request validation failed for ${taskType}: ${issues}`);
2086
+ }
2087
+ throw error;
2088
+ }
2089
+ }
2090
+ /**
2091
+ * Get request schema for a given task type.
2092
+ *
2093
+ * Note: Schema validation is not available for all task types. The following
2094
+ * tasks use complex discriminated unions that cannot be represented in Zod
2095
+ * without significant runtime overhead:
2096
+ *
2097
+ * - `update_media_buy`: Uses conditional package update operations
2098
+ *
2099
+ * For these tasks, TypeScript compile-time checking is still enforced via
2100
+ * the generated types, but runtime validation falls back to basic type checks.
2101
+ * Invalid requests will still be rejected by the server with descriptive errors.
2102
+ *
2103
+ * @internal
2104
+ */
2105
+ getRequestSchema(taskType) {
2106
+ const schemaMap = {
2107
+ get_products: schemas.GetProductsRequestSchema,
2108
+ list_creative_formats: schemas.ListCreativeFormatsRequestSchema,
2109
+ create_media_buy: schemas.CreateMediaBuyRequestSchema,
2110
+ // update_media_buy: excluded - complex discriminated unions (package operations)
2111
+ sync_creatives: schemas.SyncCreativesRequestSchema,
2112
+ list_creatives: schemas.ListCreativesRequestSchema,
2113
+ get_media_buys: schemas.GetMediaBuysRequestSchema,
2114
+ get_creative_features: schemas.GetCreativeFeaturesRequestSchema,
2115
+ get_media_buy_delivery: schemas.GetMediaBuyDeliveryRequestSchema,
2116
+ get_signals: schemas.GetSignalsRequestSchema,
2117
+ activate_signal: schemas.ActivateSignalRequestSchema,
2118
+ };
2119
+ return schemaMap[taskType] || null;
2120
+ }
2121
+ }
2122
+ exports.SingleAgentClient = SingleAgentClient;
2123
+ /**
2124
+ * Factory function to create a single-agent client (internal use)
2125
+ *
2126
+ * @param agent - Agent configuration
2127
+ * @param config - Client configuration
2128
+ * @returns Configured SingleAgentClient instance
2129
+ * @internal
2130
+ */
2131
+ function createSingleAgentClient(agent, config) {
2132
+ return new SingleAgentClient(agent, config);
2133
+ }
2134
+ //# sourceMappingURL=SingleAgentClient.js.map