@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,1655 @@
1
+ "use strict";
2
+ /**
3
+ * Media Buy Testing Scenarios
4
+ *
5
+ * Tests sales agent media buy capabilities including:
6
+ * - create_media_buy
7
+ * - update_media_buy
8
+ * - get_media_buy_delivery
9
+ * - sync_creatives
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.selectProduct = selectProduct;
13
+ exports.selectPricingOption = selectPricingOption;
14
+ exports.buildCreateMediaBuyRequest = buildCreateMediaBuyRequest;
15
+ exports.testCreateMediaBuy = testCreateMediaBuy;
16
+ exports.testFullSalesFlow = testFullSalesFlow;
17
+ exports.testReportingFlow = testReportingFlow;
18
+ exports.testCreativeSync = testCreativeSync;
19
+ exports.testCreativeInline = testCreativeInline;
20
+ exports.testCreativeReference = testCreativeReference;
21
+ exports.resolveAccountForAudiences = resolveAccountForAudiences;
22
+ exports.testSyncAudiences = testSyncAudiences;
23
+ exports.testMediaBuyLifecycle = testMediaBuyLifecycle;
24
+ exports.testTerminalStateEnforcement = testTerminalStateEnforcement;
25
+ exports.testPackageLifecycle = testPackageLifecycle;
26
+ const client_1 = require("../client");
27
+ const discovery_1 = require("./discovery");
28
+ /**
29
+ * Find a suitable product for testing based on options
30
+ */
31
+ function selectProduct(products, options) {
32
+ // If channels specified, filter to matching products
33
+ let candidates = products;
34
+ if (options.channels?.length) {
35
+ candidates = products.filter(p => p.channels?.some(ch => options.channels.includes(ch)));
36
+ }
37
+ // If pricing models specified, filter further
38
+ if (options.pricing_models?.length) {
39
+ candidates = candidates.filter(p => p.pricing_options?.some((po) => options.pricing_models.includes(po.pricing_model)));
40
+ }
41
+ // Return first matching or first product
42
+ return candidates[0] || products[0] || null;
43
+ }
44
+ /**
45
+ * Select a pricing option from a product
46
+ */
47
+ function selectPricingOption(product, preferredModels) {
48
+ const options = product.pricing_options || [];
49
+ if (preferredModels?.length) {
50
+ const preferred = options.find((po) => preferredModels.includes(po.pricing_model));
51
+ if (preferred)
52
+ return preferred;
53
+ }
54
+ return options[0] || null;
55
+ }
56
+ /**
57
+ * Build a create_media_buy request
58
+ */
59
+ function buildCreateMediaBuyRequest(product, pricingOption, options, extras = {}) {
60
+ const minSpend = pricingOption.min_spend_per_package || 0;
61
+ const budget = options.budget || Math.max(1000, minSpend);
62
+ const now = new Date();
63
+ const startTime = new Date(now.getTime() + 24 * 60 * 60 * 1000); // Tomorrow
64
+ const endTime = new Date(startTime.getTime() + 7 * 24 * 60 * 60 * 1000); // 7 days later
65
+ const isAuction = !('fixed_price' in pricingOption) &&
66
+ (pricingOption.floor_price !== undefined || pricingOption.price_guidance !== undefined);
67
+ const packageRequest = {
68
+ product_id: product.product_id,
69
+ budget,
70
+ pricing_option_id: pricingOption.pricing_option_id,
71
+ };
72
+ // Add bid_price if auction-based
73
+ if (isAuction && pricingOption.floor_price) {
74
+ packageRequest.bid_price = pricingOption.floor_price * 1.5;
75
+ }
76
+ // Add inline creatives if provided
77
+ if (extras.inline_creatives?.length) {
78
+ packageRequest.creatives = extras.inline_creatives;
79
+ }
80
+ // Add creative references if provided
81
+ if (extras.creative_ids?.length) {
82
+ packageRequest.creative_ids = extras.creative_ids;
83
+ }
84
+ return {
85
+ account: (0, client_1.resolveAccount)(options),
86
+ brand: (0, client_1.resolveBrand)(options),
87
+ start_time: startTime.toISOString(),
88
+ end_time: endTime.toISOString(),
89
+ packages: [packageRequest],
90
+ };
91
+ }
92
+ function getDefaultFormatId() {
93
+ return { agent_url: 'https://creative.adcontextprotocol.org', id: 'display_300x250' };
94
+ }
95
+ function formatIdToString(formatId) {
96
+ return formatId.id;
97
+ }
98
+ function selectFormatId(product, fallback = getDefaultFormatId()) {
99
+ if (!product?.format_ids?.length) {
100
+ return fallback;
101
+ }
102
+ const format = product.format_ids[0];
103
+ if (typeof format === 'string') {
104
+ return { ...fallback, id: format };
105
+ }
106
+ const nested = format;
107
+ if (nested.format_id) {
108
+ return nested.format_id;
109
+ }
110
+ const direct = format;
111
+ if (typeof direct.agent_url === 'string' && typeof direct.id === 'string') {
112
+ return direct;
113
+ }
114
+ return fallback;
115
+ }
116
+ function buildStaticInlineCreative(formatId) {
117
+ const ts = Date.now();
118
+ return {
119
+ creative_id: `test-inline-${ts}`,
120
+ name: `Inline Test Creative ${ts}`,
121
+ format_id: formatId,
122
+ assets: {
123
+ primary: {
124
+ url: 'https://via.placeholder.com/300x250?text=Inline+Creative',
125
+ width: 300,
126
+ height: 250,
127
+ format: 'png',
128
+ },
129
+ },
130
+ };
131
+ }
132
+ function extractCreativeManifest(data) {
133
+ return data?.creative_manifest || data?.creative_manifests?.[0];
134
+ }
135
+ function buildSyncCreativeFromManifest(manifest, fallbackFormatId) {
136
+ const creativeId = manifest?.creative_id || `test-creative-${Date.now()}`;
137
+ return {
138
+ creative_id: creativeId,
139
+ name: manifest?.name || `Generated Creative ${creativeId}`,
140
+ format_id: manifest?.format_id || fallbackFormatId,
141
+ assets: manifest?.assets || buildStaticInlineCreative(fallbackFormatId).assets,
142
+ };
143
+ }
144
+ /**
145
+ * Test: Create Media Buy
146
+ * Discovers products, then creates a test media buy
147
+ */
148
+ async function testCreateMediaBuy(agentUrl, options) {
149
+ const steps = [];
150
+ const client = (0, client_1.getOrCreateClient)(agentUrl, options);
151
+ // First run discovery
152
+ const { steps: discoverySteps, profile } = await (0, discovery_1.testDiscovery)(agentUrl, options);
153
+ steps.push(...discoverySteps);
154
+ if (!profile?.tools.includes('create_media_buy')) {
155
+ steps.push({
156
+ step: 'Create media buy',
157
+ task: 'create_media_buy',
158
+ passed: false,
159
+ duration_ms: 0,
160
+ error: 'Agent does not support create_media_buy',
161
+ });
162
+ return { steps, profile };
163
+ }
164
+ // Get products
165
+ const { result: productsResult } = await (0, client_1.runStep)('Fetch products for media buy', 'get_products', async () => client.getProducts({
166
+ buying_mode: 'brief',
167
+ brief: options.brief || 'Looking for display advertising products',
168
+ brand: (0, client_1.resolveBrand)(options),
169
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
170
+ }));
171
+ const productsData = productsResult?.data;
172
+ const products = productsData?.products;
173
+ if (!productsResult?.success || !products?.length) {
174
+ steps.push({
175
+ step: 'Create media buy',
176
+ task: 'create_media_buy',
177
+ passed: false,
178
+ duration_ms: 0,
179
+ error: 'No products available to create media buy',
180
+ });
181
+ return { steps, profile };
182
+ }
183
+ const product = selectProduct(products, options);
184
+ if (!product) {
185
+ steps.push({
186
+ step: 'Create media buy',
187
+ task: 'create_media_buy',
188
+ passed: false,
189
+ duration_ms: 0,
190
+ error: 'No suitable product found',
191
+ });
192
+ return { steps, profile };
193
+ }
194
+ const pricingOption = selectPricingOption(product, options.pricing_models);
195
+ if (!pricingOption) {
196
+ steps.push({
197
+ step: 'Create media buy',
198
+ task: 'create_media_buy',
199
+ passed: false,
200
+ duration_ms: 0,
201
+ error: `Product "${product.name}" has no pricing options`,
202
+ });
203
+ return { steps, profile };
204
+ }
205
+ const createRequest = buildCreateMediaBuyRequest(product, pricingOption, options);
206
+ // Create the media buy
207
+ const { result: createResult, step: createStep } = await (0, client_1.runStep)('Create media buy', 'create_media_buy',
208
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
209
+ async () => client.createMediaBuy(createRequest));
210
+ let mediaBuyId;
211
+ if (createResult?.success && createResult?.data) {
212
+ steps.push((0, client_1.validateResponseSchema)('create_media_buy', createResult.data));
213
+ const mediaBuy = createResult.data;
214
+ const nested = mediaBuy.media_buy;
215
+ mediaBuyId = (mediaBuy.media_buy_id || nested?.media_buy_id);
216
+ const status = (mediaBuy.status || nested?.status);
217
+ const packages = (mediaBuy.packages || nested?.packages);
218
+ createStep.details = `Created media buy: ${mediaBuyId}, status: ${status}`;
219
+ createStep.created_id = mediaBuyId;
220
+ const confirmedAt = (mediaBuy.confirmed_at ?? nested?.confirmed_at);
221
+ const revision = (mediaBuy.revision ?? nested?.revision);
222
+ const validActions = (mediaBuy.valid_actions ?? nested?.valid_actions);
223
+ createStep.response_preview = JSON.stringify({
224
+ media_buy_id: mediaBuyId,
225
+ status,
226
+ confirmed_at: confirmedAt,
227
+ revision,
228
+ valid_actions: validActions,
229
+ packages_count: packages?.length,
230
+ pricing_model: pricingOption.pricing_model,
231
+ product_name: product.name,
232
+ }, null, 2);
233
+ createStep.observation_data = { confirmed_at: confirmedAt, revision };
234
+ }
235
+ else if (createResult && !createResult.success) {
236
+ createStep.passed = false;
237
+ createStep.error = createResult.error || 'create_media_buy returned unsuccessful result';
238
+ }
239
+ steps.push(createStep);
240
+ return { steps, profile, mediaBuyId };
241
+ }
242
+ /**
243
+ * Test: Full Sales Flow
244
+ * Complete lifecycle: discovery -> create -> update -> delivery
245
+ */
246
+ async function testFullSalesFlow(agentUrl, options) {
247
+ const steps = [];
248
+ const client = (0, client_1.getOrCreateClient)(agentUrl, options);
249
+ // Run create media buy flow first
250
+ const { steps: createSteps, profile, mediaBuyId } = await testCreateMediaBuy(agentUrl, options);
251
+ steps.push(...createSteps);
252
+ if (!mediaBuyId) {
253
+ return { steps, profile };
254
+ }
255
+ // Test update_media_buy if available
256
+ if (profile?.tools.includes('update_media_buy')) {
257
+ const { result: updateResult, step: updateStep } = await (0, client_1.runStep)('Update media buy (increase budget)', 'update_media_buy', async () => client.updateMediaBuy({
258
+ media_buy_id: mediaBuyId,
259
+ packages: [
260
+ {
261
+ package_id: 'pkg-0',
262
+ budget: (options.budget || 1000) * 1.5,
263
+ },
264
+ ],
265
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
266
+ }));
267
+ if (updateResult?.success && updateResult?.data) {
268
+ const data = updateResult.data;
269
+ const nested = data.media_buy;
270
+ const status = (data.status || nested?.status);
271
+ updateStep.details = `Updated media buy, status: ${status}`;
272
+ updateStep.response_preview = JSON.stringify({
273
+ media_buy_id: (data.media_buy_id || nested?.media_buy_id),
274
+ status,
275
+ }, null, 2);
276
+ }
277
+ else if (updateResult && !updateResult.success) {
278
+ updateStep.passed = false;
279
+ updateStep.error = updateResult.error || 'update_media_buy returned unsuccessful result';
280
+ }
281
+ steps.push(updateStep);
282
+ }
283
+ if (profile?.tools.includes('get_media_buys')) {
284
+ const { result: snapshotResult, step: snapshotStep } = await (0, client_1.runStep)('Get media buy status with delivery snapshots', 'get_media_buys', async () => client.executeTask('get_media_buys', {
285
+ media_buy_ids: [mediaBuyId],
286
+ include_snapshot: true,
287
+ }));
288
+ if (snapshotResult?.success && snapshotResult?.data) {
289
+ steps.push((0, client_1.validateResponseSchema)('get_media_buys', snapshotResult.data));
290
+ const mediaBuys = snapshotResult.data.media_buys || [];
291
+ const mediaBuy = mediaBuys.find((item) => item.media_buy_id === mediaBuyId) || mediaBuys[0];
292
+ const packages = mediaBuy?.packages || [];
293
+ const invalidPackages = packages.filter((pkg) => {
294
+ if (pkg.snapshot) {
295
+ return !pkg.snapshot.as_of || pkg.snapshot.staleness_seconds === undefined;
296
+ }
297
+ return !pkg.snapshot_unavailable_reason;
298
+ });
299
+ if (!mediaBuy) {
300
+ snapshotStep.passed = false;
301
+ snapshotStep.error = 'get_media_buys did not return the created media buy';
302
+ }
303
+ else if (invalidPackages.length > 0) {
304
+ snapshotStep.passed = false;
305
+ snapshotStep.error =
306
+ 'include_snapshot=true must return either snapshot data or snapshot_unavailable_reason for each package';
307
+ }
308
+ else {
309
+ snapshotStep.details = `Retrieved ${packages.length} package snapshot(s)`;
310
+ snapshotStep.response_preview = JSON.stringify({
311
+ media_buy_id: mediaBuy.media_buy_id,
312
+ package_count: packages.length,
313
+ snapshots_returned: packages.filter((pkg) => !!pkg.snapshot).length,
314
+ snapshot_unavailable: packages
315
+ .filter((pkg) => !!pkg.snapshot_unavailable_reason)
316
+ .map((pkg) => ({ package_id: pkg.package_id, reason: pkg.snapshot_unavailable_reason })),
317
+ }, null, 2);
318
+ // Provide observation data so collectObservations can check valid_actions/sandbox
319
+ // even when media_buy_lifecycle doesn't run (e.g., agent lacks update_media_buy).
320
+ snapshotStep.observation_data = {
321
+ valid_actions: mediaBuy.valid_actions,
322
+ sandbox: mediaBuy.sandbox,
323
+ status: mediaBuy.status,
324
+ has_creative_deadline: packages.some((p) => p.creative_deadline) || !!mediaBuy.creative_deadline,
325
+ };
326
+ }
327
+ }
328
+ else if (snapshotResult && !snapshotResult.success) {
329
+ snapshotStep.passed = false;
330
+ snapshotStep.error = snapshotResult.error || 'get_media_buys returned unsuccessful result';
331
+ }
332
+ steps.push(snapshotStep);
333
+ }
334
+ // Test get_media_buy_delivery if available
335
+ if (profile?.tools.includes('get_media_buy_delivery')) {
336
+ const { result: deliveryResult, step: deliveryStep } = await (0, client_1.runStep)('Get delivery metrics', 'get_media_buy_delivery', async () => client.getMediaBuyDelivery({
337
+ media_buy_ids: [mediaBuyId],
338
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
339
+ }));
340
+ if (deliveryResult?.success && deliveryResult?.data) {
341
+ const delivery = deliveryResult.data;
342
+ const deliveries = delivery.deliveries;
343
+ const mediaBuys = delivery.media_buys;
344
+ deliveryStep.details = `Retrieved delivery metrics`;
345
+ deliveryStep.response_preview = JSON.stringify({
346
+ has_deliveries: !!(deliveries?.length || mediaBuys?.length),
347
+ }, null, 2);
348
+ }
349
+ else if (deliveryResult && !deliveryResult.success) {
350
+ deliveryStep.passed = false;
351
+ deliveryStep.error = deliveryResult.error || 'get_media_buy_delivery returned unsuccessful result';
352
+ }
353
+ steps.push(deliveryStep);
354
+ }
355
+ return { steps, profile };
356
+ }
357
+ /**
358
+ * Test: Reporting Flow
359
+ * Validates reporting capabilities:
360
+ * - Agent has get_media_buy_delivery tool
361
+ * - Products declare reporting_capabilities (frequencies, webhook support)
362
+ * - get_media_buy_delivery returns valid structure or reporting_delayed with expected_availability
363
+ * - Currency field is present in delivery data
364
+ *
365
+ * The protocol favors async webhook-based report delivery over buyer polling.
366
+ * This scenario checks that the agent advertises webhook support and properly
367
+ * handles the reporting_delayed status for data not yet available.
368
+ */
369
+ async function testReportingFlow(agentUrl, options) {
370
+ const steps = [];
371
+ const client = (0, client_1.getOrCreateClient)(agentUrl, options);
372
+ // Discover profile
373
+ const { profile, step: profileStep } = await (0, client_1.getOrDiscoverProfile)(client, options);
374
+ steps.push(profileStep);
375
+ if (!profile.tools.includes('get_media_buy_delivery')) {
376
+ steps.push({
377
+ step: 'Check get_media_buy_delivery tool',
378
+ task: 'get_media_buy_delivery',
379
+ passed: false,
380
+ duration_ms: 0,
381
+ error: 'Agent does not support get_media_buy_delivery',
382
+ });
383
+ return { steps, profile };
384
+ }
385
+ // Check supported_protocols includes 'reporting'
386
+ const hasReporting = profile.supported_protocols?.includes('reporting') ?? false;
387
+ steps.push({
388
+ step: 'Check reporting protocol declaration',
389
+ passed: true,
390
+ duration_ms: 0,
391
+ details: hasReporting
392
+ ? 'Agent declares reporting in supported_protocols'
393
+ : 'Agent does not declare reporting in supported_protocols (tool is present but protocol not declared)',
394
+ warnings: hasReporting
395
+ ? undefined
396
+ : ['Agent has get_media_buy_delivery but does not declare reporting in supported_protocols'],
397
+ });
398
+ // Discover products to check reporting_capabilities
399
+ const { result: productsResult, step: productsStep } = await (0, client_1.runStep)('Check product reporting capabilities', 'get_products', async () => client.getProducts({
400
+ buying_mode: 'brief',
401
+ brief: options.brief || 'Looking for advertising products with reporting',
402
+ brand: (0, client_1.resolveBrand)(options),
403
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
404
+ }));
405
+ const productsData = productsResult?.data;
406
+ const products = (productsData?.products ?? []);
407
+ // Evaluate reporting_capabilities on discovered products
408
+ const withReporting = products.filter(p => p.reporting_capabilities);
409
+ const withWebhooks = withReporting.filter(p => {
410
+ const rc = p.reporting_capabilities;
411
+ return rc?.supports_webhooks === true;
412
+ });
413
+ if (products.length > 0) {
414
+ const webhookWarnings = [];
415
+ if (withReporting.length === 0) {
416
+ webhookWarnings.push('No products declare reporting_capabilities — buyers cannot discover reporting frequency or webhook support');
417
+ }
418
+ else if (withWebhooks.length === 0) {
419
+ webhookWarnings.push('No products declare supports_webhooks: true — buyers must poll get_media_buy_delivery instead of receiving async reports');
420
+ }
421
+ // Check for available_reporting_frequencies
422
+ const withFrequencies = withReporting.filter(p => {
423
+ const rc = p.reporting_capabilities;
424
+ const freqs = rc?.available_reporting_frequencies;
425
+ return freqs && freqs.length > 0;
426
+ });
427
+ productsStep.details = [
428
+ `${products.length} product(s) discovered`,
429
+ `${withReporting.length} with reporting_capabilities`,
430
+ `${withWebhooks.length} with webhook support`,
431
+ `${withFrequencies.length} with reporting frequencies`,
432
+ ].join(', ');
433
+ productsStep.response_preview = JSON.stringify({
434
+ product_count: products.length,
435
+ with_reporting_capabilities: withReporting.length,
436
+ with_webhook_support: withWebhooks.length,
437
+ with_frequencies: withFrequencies.length,
438
+ sample_capabilities: withReporting.slice(0, 2).map(p => ({
439
+ product_id: p.product_id,
440
+ reporting_capabilities: p.reporting_capabilities,
441
+ })),
442
+ }, null, 2);
443
+ productsStep.warnings = webhookWarnings.length > 0 ? webhookWarnings : undefined;
444
+ }
445
+ steps.push(productsStep);
446
+ // Create a media buy to report on
447
+ const { steps: createSteps, mediaBuyId } = await testCreateMediaBuy(agentUrl, options);
448
+ steps.push(...createSteps);
449
+ if (!mediaBuyId) {
450
+ steps.push({
451
+ step: 'Find media buy for delivery report',
452
+ passed: false,
453
+ duration_ms: 0,
454
+ error: 'No media_buy_id — cannot test delivery reporting',
455
+ });
456
+ return { steps, profile };
457
+ }
458
+ // Call get_media_buy_delivery
459
+ const { result: deliveryResult, step: deliveryStep } = await (0, client_1.runStep)('Get delivery metrics', 'get_media_buy_delivery', async () => client.getMediaBuyDelivery({
460
+ media_buy_ids: [mediaBuyId],
461
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
462
+ }));
463
+ if (deliveryResult?.success && deliveryResult?.data) {
464
+ const delivery = deliveryResult.data;
465
+ const deliveries = delivery.deliveries;
466
+ const mediaBuys = delivery.media_buys;
467
+ const mediaBuyDeliveries = delivery.media_buy_deliveries;
468
+ const allEntries = (mediaBuyDeliveries ?? mediaBuys ?? deliveries ?? []);
469
+ const hasData = allEntries.length > 0;
470
+ // Split entries: some may be delayed while others have actual data
471
+ const delayedEntries = allEntries.filter(e => e.status === 'reporting_delayed');
472
+ const readyEntries = allEntries.filter(e => e.status !== 'reporting_delayed');
473
+ // Check for currency on entry objects (not via string search)
474
+ const hasCurrency = readyEntries.some(e => 'currency' in e || e.totals?.currency !== undefined);
475
+ // Extract metrics info for diagnostics
476
+ const firstReady = readyEntries[0];
477
+ const totals = (firstReady?.totals ?? undefined);
478
+ const summary = delivery.summary;
479
+ const impressions = (totals?.impressions ?? delivery.impressions ?? summary?.impressions);
480
+ const clicks = (totals?.clicks ?? delivery.clicks ?? summary?.clicks);
481
+ const details = [];
482
+ const warnings = [];
483
+ // Validate delayed entries
484
+ if (delayedEntries.length > 0) {
485
+ const withAvailability = delayedEntries.filter(e => e.expected_availability);
486
+ details.push(`${delayedEntries.length} media buy(s) reporting_delayed`);
487
+ if (withAvailability.length < delayedEntries.length) {
488
+ warnings.push('reporting_delayed entries should include expected_availability so buyers know when to expect data');
489
+ }
490
+ }
491
+ // Validate ready entries
492
+ if (readyEntries.length > 0) {
493
+ details.push(`${readyEntries.length} media buy(s) with delivery data`);
494
+ if (!hasCurrency) {
495
+ warnings.push('No currency field found in delivery entries');
496
+ }
497
+ }
498
+ if (!hasData) {
499
+ deliveryStep.passed = false;
500
+ deliveryStep.error = 'Expected delivery data or reporting_delayed status in response but found neither';
501
+ }
502
+ else {
503
+ deliveryStep.details = details.join(', ');
504
+ }
505
+ if (warnings.length > 0) {
506
+ deliveryStep.warnings = [...(deliveryStep.warnings || []), ...warnings];
507
+ }
508
+ const KNOWN_DELIVERY_KEYS = [
509
+ 'media_buy_deliveries',
510
+ 'media_buys',
511
+ 'deliveries',
512
+ 'currency',
513
+ 'summary',
514
+ 'reporting_period',
515
+ 'notification_type',
516
+ 'partial_data',
517
+ ];
518
+ deliveryStep.response_preview = JSON.stringify({
519
+ has_data: hasData,
520
+ delayed_count: delayedEntries.length,
521
+ ready_count: readyEntries.length,
522
+ has_currency: hasCurrency,
523
+ impressions,
524
+ clicks,
525
+ known_keys: Object.keys(delivery).filter(k => KNOWN_DELIVERY_KEYS.includes(k)),
526
+ }, null, 2);
527
+ }
528
+ else if (deliveryResult && !deliveryResult.success) {
529
+ deliveryStep.passed = false;
530
+ deliveryStep.error = deliveryResult.error || 'get_media_buy_delivery returned unsuccessful result';
531
+ }
532
+ else if (!deliveryResult) {
533
+ deliveryStep.passed = false;
534
+ deliveryStep.error = 'get_media_buy_delivery returned no result';
535
+ }
536
+ steps.push(deliveryStep);
537
+ return { steps, profile };
538
+ }
539
+ /**
540
+ * Test: Creative Sync Flow
541
+ * Tests sync_creatives separately from create_media_buy
542
+ */
543
+ async function testCreativeSync(agentUrl, options) {
544
+ const steps = [];
545
+ const client = (0, client_1.getOrCreateClient)(agentUrl, options);
546
+ // Discover profile
547
+ const { profile, step: profileStep } = await (0, client_1.getOrDiscoverProfile)(client, options);
548
+ steps.push(profileStep);
549
+ if (!profile.tools.includes('sync_creatives')) {
550
+ steps.push({
551
+ step: 'Sync creatives',
552
+ task: 'sync_creatives',
553
+ passed: false,
554
+ duration_ms: 0,
555
+ error: 'Agent does not support sync_creatives',
556
+ });
557
+ return { steps, profile };
558
+ }
559
+ // Get format info first
560
+ let formatId = {
561
+ agent_url: 'https://creative.adcontextprotocol.org',
562
+ id: 'display_300x250',
563
+ };
564
+ if (profile.tools.includes('list_creative_formats')) {
565
+ const { result: formatsResult } = await (0, client_1.runStep)('Get formats for creative', 'list_creative_formats', async () => client.listCreativeFormats({}));
566
+ if (formatsResult?.success && formatsResult?.data) {
567
+ const data = formatsResult.data;
568
+ const formatIds = data.format_ids;
569
+ const formats = data.formats;
570
+ const firstFormat = formatIds?.[0] || formats?.[0];
571
+ if (firstFormat) {
572
+ if (typeof firstFormat === 'string') {
573
+ formatId = { id: firstFormat };
574
+ }
575
+ else {
576
+ const formatObj = firstFormat;
577
+ formatId = formatObj.format_id || formatObj;
578
+ }
579
+ }
580
+ }
581
+ }
582
+ // Test sync_creatives with a simple creative
583
+ // Assets must be an object keyed by asset_role, not an array
584
+ const testCreative = {
585
+ creative_id: `test-creative-${Date.now()}`,
586
+ name: 'E2E Test Creative',
587
+ format_id: formatId,
588
+ assets: {
589
+ primary: {
590
+ url: 'https://via.placeholder.com/300x250',
591
+ width: 300,
592
+ height: 250,
593
+ format: 'png',
594
+ },
595
+ },
596
+ };
597
+ const { result: syncResult, step: syncStep } = await (0, client_1.runStep)('Sync creative to library', 'sync_creatives', async () => client.syncCreatives({
598
+ account: (0, client_1.resolveAccount)(options),
599
+ creatives: [testCreative],
600
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
601
+ }));
602
+ if (syncResult?.success && syncResult?.data) {
603
+ const data = syncResult.data;
604
+ const creatives = data.creatives || [];
605
+ const actions = creatives.map(c => c.action);
606
+ syncStep.details = `Synced ${creatives.length} creative(s), actions: ${actions.join(', ')}`;
607
+ syncStep.response_preview = JSON.stringify({
608
+ creatives_count: creatives.length,
609
+ actions: actions,
610
+ creative_ids: creatives.map(c => c.creative_id),
611
+ }, null, 2);
612
+ }
613
+ else if (syncResult && !syncResult.success) {
614
+ syncStep.passed = false;
615
+ syncStep.error = syncResult.error || 'sync_creatives returned unsuccessful result';
616
+ }
617
+ steps.push(syncStep);
618
+ // Test list_creatives if available
619
+ if (profile.tools.includes('list_creatives')) {
620
+ const { result: listResult, step: listStep } = await (0, client_1.runStep)('List creatives in library', 'list_creatives', async () => client.listCreatives({}));
621
+ if (listResult?.success && listResult?.data) {
622
+ const data = listResult.data;
623
+ const creatives = data.creatives || [];
624
+ const querySummary = data.query_summary;
625
+ const totalMatching = querySummary?.total_matching;
626
+ const returned = querySummary?.returned ?? creatives.length;
627
+ // Check for pagination bug: total_matching > 0 but returned = 0
628
+ if (totalMatching !== undefined && totalMatching > 0 && returned === 0) {
629
+ listStep.passed = false;
630
+ listStep.error = `Pagination bug: query_summary shows ${totalMatching} total_matching but returned ${returned} creatives`;
631
+ listStep.response_preview = JSON.stringify({
632
+ total_matching: totalMatching,
633
+ returned,
634
+ creatives_count: creatives.length,
635
+ pagination: data.pagination,
636
+ }, null, 2);
637
+ }
638
+ else {
639
+ listStep.details = `Found ${creatives.length} creative(s) in library`;
640
+ listStep.response_preview = JSON.stringify({
641
+ creatives_count: creatives.length,
642
+ total_matching: totalMatching,
643
+ statuses: Array.from(new Set(creatives.map(c => c.status))),
644
+ }, null, 2);
645
+ }
646
+ }
647
+ else if (listResult && !listResult.success) {
648
+ listStep.passed = false;
649
+ listStep.error = listResult.error || 'list_creatives returned unsuccessful result';
650
+ }
651
+ steps.push(listStep);
652
+ }
653
+ return { steps, profile };
654
+ }
655
+ /**
656
+ * Test: Creative Inline Flow
657
+ * Tests providing creatives inline in create_media_buy
658
+ */
659
+ async function testCreativeInline(agentUrl, options) {
660
+ const steps = [];
661
+ const client = (0, client_1.getOrCreateClient)(agentUrl, options);
662
+ // Discovery first
663
+ const { steps: discoverySteps, profile } = await (0, discovery_1.testDiscovery)(agentUrl, options);
664
+ steps.push(...discoverySteps);
665
+ if (!profile?.tools.includes('create_media_buy')) {
666
+ steps.push({
667
+ step: 'Create media buy with inline creatives',
668
+ task: 'create_media_buy',
669
+ passed: false,
670
+ duration_ms: 0,
671
+ error: 'Agent does not support create_media_buy',
672
+ });
673
+ return { steps, profile };
674
+ }
675
+ // Check if agent declares inline creative support via capabilities
676
+ if (profile.tools.includes('get_adcp_capabilities')) {
677
+ try {
678
+ const capResult = (await client.getAdcpCapabilities({}));
679
+ const capData = capResult?.data;
680
+ if (capData?.media_buy?.features?.inline_creative_management === false) {
681
+ steps.push({
682
+ step: 'Create media buy with inline creative',
683
+ task: 'create_media_buy',
684
+ passed: true,
685
+ duration_ms: 0,
686
+ details: 'Skipped: agent declares inline_creative_management: false',
687
+ });
688
+ return { steps, profile };
689
+ }
690
+ }
691
+ catch {
692
+ // If capabilities check fails, proceed with the test
693
+ }
694
+ }
695
+ // Get products
696
+ const { result: productsResult } = await (0, client_1.runStep)('Fetch products for inline creative test', 'get_products', async () => client.getProducts({
697
+ buying_mode: 'brief',
698
+ brief: options.brief || 'Looking for display advertising products',
699
+ brand: (0, client_1.resolveBrand)(options),
700
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
701
+ }));
702
+ const inlineProductsData = productsResult?.data;
703
+ const products = inlineProductsData?.products;
704
+ if (!productsResult?.success || !products?.length) {
705
+ steps.push({
706
+ step: 'Create media buy with inline creatives',
707
+ task: 'create_media_buy',
708
+ passed: false,
709
+ duration_ms: 0,
710
+ error: 'No products available to test inline creatives',
711
+ });
712
+ return { steps, profile };
713
+ }
714
+ const product = selectProduct(products, options);
715
+ if (!product) {
716
+ steps.push({
717
+ step: 'Create media buy with inline creatives',
718
+ task: 'create_media_buy',
719
+ passed: false,
720
+ duration_ms: 0,
721
+ error: 'No suitable product found',
722
+ });
723
+ return { steps, profile };
724
+ }
725
+ const pricingOption = selectPricingOption(product, options.pricing_models);
726
+ if (!pricingOption) {
727
+ steps.push({
728
+ step: 'Create media buy with inline creatives',
729
+ task: 'create_media_buy',
730
+ passed: false,
731
+ duration_ms: 0,
732
+ error: `Product "${product.name}" has no pricing options`,
733
+ });
734
+ return { steps, profile };
735
+ }
736
+ const formatId = selectFormatId(product);
737
+ let inlineCreative = buildStaticInlineCreative(formatId);
738
+ if (profile.tools.includes('build_creative')) {
739
+ const { result: buildResult, step: buildStep } = await (0, client_1.runStep)(`Build creative for inline flow (${formatIdToString(formatId)})`, 'build_creative', async () => client.executeTask('build_creative', {
740
+ target_format_id: formatId,
741
+ brand: (0, client_1.resolveBrand)(options),
742
+ message: `Create an ad creative for the ${formatIdToString(formatId)} format that can be attached to a media buy`,
743
+ quality: 'draft',
744
+ }));
745
+ if (buildResult?.success && buildResult?.data) {
746
+ const manifest = extractCreativeManifest(buildResult.data);
747
+ if (manifest?.assets) {
748
+ inlineCreative = buildSyncCreativeFromManifest(manifest, formatId);
749
+ buildStep.details = `Built creative manifest for ${inlineCreative.format_id}`;
750
+ buildStep.response_preview = JSON.stringify({
751
+ format_id: inlineCreative.format_id,
752
+ asset_keys: Object.keys(inlineCreative.assets || {}),
753
+ }, null, 2);
754
+ }
755
+ else {
756
+ buildStep.passed = false;
757
+ buildStep.error = 'build_creative succeeded but returned no creative_manifest';
758
+ }
759
+ }
760
+ else if (buildResult && !buildResult.success) {
761
+ buildStep.passed = false;
762
+ buildStep.error = buildResult.error || 'build_creative failed';
763
+ }
764
+ steps.push(buildStep);
765
+ }
766
+ const createRequest = buildCreateMediaBuyRequest(product, pricingOption, options, {
767
+ inline_creatives: [inlineCreative],
768
+ });
769
+ const { result: createResult, step: createStep } = await (0, client_1.runStep)('Create media buy with inline creative', 'create_media_buy',
770
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
771
+ async () => client.createMediaBuy(createRequest));
772
+ if (createResult?.success && createResult?.data) {
773
+ steps.push((0, client_1.validateResponseSchema)('create_media_buy', createResult.data));
774
+ const mediaBuy = createResult.data;
775
+ const nested = mediaBuy.media_buy;
776
+ const mediaBuyId = (mediaBuy.media_buy_id || nested?.media_buy_id);
777
+ const status = (mediaBuy.status || nested?.status);
778
+ const packages = (mediaBuy.packages || nested?.packages);
779
+ const hasCreatives = packages?.some(p => {
780
+ const creatives = p.creatives;
781
+ const creativeIds = p.creative_ids;
782
+ return creatives?.length || creativeIds?.length;
783
+ });
784
+ createStep.details = `Created media buy with inline creative: ${mediaBuyId}`;
785
+ createStep.created_id = mediaBuyId;
786
+ createStep.response_preview = JSON.stringify({
787
+ media_buy_id: mediaBuyId,
788
+ status,
789
+ has_creatives: hasCreatives,
790
+ packages_count: packages?.length,
791
+ }, null, 2);
792
+ }
793
+ else if (createResult && !createResult.success) {
794
+ createStep.passed = false;
795
+ createStep.error = createResult.error || 'create_media_buy with inline creatives failed';
796
+ }
797
+ steps.push(createStep);
798
+ return { steps, profile };
799
+ }
800
+ /**
801
+ * Test: Creative Reference Flow
802
+ * Builds a creative manifest, syncs it into the seller's library, then references it in create_media_buy.
803
+ */
804
+ async function testCreativeReference(agentUrl, options) {
805
+ const steps = [];
806
+ const client = (0, client_1.getOrCreateClient)(agentUrl, options);
807
+ const { steps: discoverySteps, profile } = await (0, discovery_1.testDiscovery)(agentUrl, options);
808
+ steps.push(...discoverySteps);
809
+ if (!profile?.tools.includes('build_creative') || !profile.tools.includes('sync_creatives')) {
810
+ steps.push({
811
+ step: 'Build and reference creative',
812
+ task: 'build_creative',
813
+ passed: false,
814
+ duration_ms: 0,
815
+ error: 'Agent must support both build_creative and sync_creatives',
816
+ });
817
+ return { steps, profile };
818
+ }
819
+ const { result: productsResult } = await (0, client_1.runStep)('Fetch products for creative reference test', 'get_products', async () => client.executeTask('get_products', {
820
+ buying_mode: 'brief',
821
+ brief: options.brief || 'Looking for products that support generated creative attachments',
822
+ brand: (0, client_1.resolveBrand)(options),
823
+ }));
824
+ const products = productsResult?.data?.products;
825
+ if (!productsResult?.success || !products?.length) {
826
+ steps.push({
827
+ step: 'Build and reference creative',
828
+ task: 'create_media_buy',
829
+ passed: false,
830
+ duration_ms: 0,
831
+ error: 'No products available to test creative references',
832
+ });
833
+ return { steps, profile };
834
+ }
835
+ const product = selectProduct(products, options);
836
+ if (!product) {
837
+ steps.push({
838
+ step: 'Build and reference creative',
839
+ task: 'create_media_buy',
840
+ passed: false,
841
+ duration_ms: 0,
842
+ error: 'No suitable product found for creative reference test',
843
+ });
844
+ return { steps, profile };
845
+ }
846
+ const pricingOption = selectPricingOption(product, options.pricing_models);
847
+ const formatId = selectFormatId(product);
848
+ if (!pricingOption) {
849
+ steps.push({
850
+ step: 'Build and reference creative',
851
+ task: 'create_media_buy',
852
+ passed: false,
853
+ duration_ms: 0,
854
+ error: `Product "${product.name}" has no pricing options`,
855
+ });
856
+ return { steps, profile };
857
+ }
858
+ const { result: buildResult, step: buildStep } = await (0, client_1.runStep)(`Build creative for reference flow (${formatIdToString(formatId)})`, 'build_creative', async () => client.executeTask('build_creative', {
859
+ target_format_id: formatId,
860
+ brand: (0, client_1.resolveBrand)(options),
861
+ message: `Create a reusable ad creative for the ${formatIdToString(formatId)} format`,
862
+ quality: 'draft',
863
+ }));
864
+ if (!buildResult?.success || !buildResult?.data) {
865
+ buildStep.passed = false;
866
+ buildStep.error = buildResult?.error || 'build_creative failed';
867
+ steps.push(buildStep);
868
+ return { steps, profile };
869
+ }
870
+ const manifest = extractCreativeManifest(buildResult.data);
871
+ if (!manifest?.assets) {
872
+ buildStep.passed = false;
873
+ buildStep.error = 'build_creative returned no creative_manifest';
874
+ steps.push(buildStep);
875
+ return { steps, profile };
876
+ }
877
+ const syncedCreative = buildSyncCreativeFromManifest(manifest, formatId);
878
+ buildStep.details = `Built creative manifest for ${syncedCreative.format_id}`;
879
+ buildStep.response_preview = JSON.stringify({
880
+ creative_id: syncedCreative.creative_id,
881
+ format_id: syncedCreative.format_id,
882
+ asset_keys: Object.keys(syncedCreative.assets || {}),
883
+ }, null, 2);
884
+ steps.push(buildStep);
885
+ const { result: syncResult, step: syncStep } = await (0, client_1.runStep)('Sync generated creative to library', 'sync_creatives', async () => client.executeTask('sync_creatives', {
886
+ creatives: [syncedCreative],
887
+ }));
888
+ if (!syncResult?.success || !syncResult?.data) {
889
+ syncStep.passed = false;
890
+ syncStep.error = syncResult?.error || 'sync_creatives failed';
891
+ steps.push(syncStep);
892
+ return { steps, profile };
893
+ }
894
+ syncStep.details = `Synced creative ${syncedCreative.creative_id} to seller library`;
895
+ syncStep.created_id = syncedCreative.creative_id;
896
+ syncStep.response_preview = JSON.stringify({
897
+ creative_id: syncedCreative.creative_id,
898
+ synced_count: (syncResult.data.creatives || []).length,
899
+ }, null, 2);
900
+ steps.push(syncStep);
901
+ const createRequest = buildCreateMediaBuyRequest(product, pricingOption, options, {
902
+ creative_ids: [syncedCreative.creative_id],
903
+ });
904
+ const { result: createResult, step: createStep } = await (0, client_1.runStep)('Create media buy with referenced creative', 'create_media_buy', async () => client.executeTask('create_media_buy', createRequest));
905
+ if (createResult?.success && createResult?.data) {
906
+ steps.push((0, client_1.validateResponseSchema)('create_media_buy', createResult.data));
907
+ const mediaBuy = createResult.data;
908
+ const mediaBuyId = mediaBuy.media_buy_id || mediaBuy.media_buy?.media_buy_id;
909
+ const packages = mediaBuy.packages || mediaBuy.media_buy?.packages;
910
+ const referenced = packages?.some((pkg) => pkg.creative_ids?.includes(syncedCreative.creative_id));
911
+ createStep.details = `Created media buy with referenced creative ${syncedCreative.creative_id}`;
912
+ createStep.created_id = mediaBuyId;
913
+ createStep.response_preview = JSON.stringify({
914
+ media_buy_id: mediaBuyId,
915
+ creative_id: syncedCreative.creative_id,
916
+ referenced,
917
+ }, null, 2);
918
+ }
919
+ else if (createResult && !createResult.success) {
920
+ createStep.passed = false;
921
+ createStep.error = createResult.error || 'create_media_buy with creative_ids failed';
922
+ }
923
+ steps.push(createStep);
924
+ return { steps, profile };
925
+ }
926
+ // SHA-256 lookalike placeholder for test email/phone hashes (not a real hash)
927
+ const TEST_HASHED_EMAIL = 'a' + '0'.repeat(63);
928
+ const TEST_HASHED_PHONE = 'b' + '0'.repeat(63);
929
+ /**
930
+ * Resolve which account reference to use for audience sync.
931
+ *
932
+ * Priority: explicit account_id > sandbox discovery > sandbox natural key > list_accounts discovery.
933
+ *
934
+ * Extracted for testability — the listAccounts callback abstracts the client call.
935
+ */
936
+ async function resolveAccountForAudiences(options, tools, listAccounts) {
937
+ const steps = [];
938
+ if (options.audience_account_id) {
939
+ return { accountRef: { account_id: options.audience_account_id }, steps };
940
+ }
941
+ if (options.sandbox && tools.includes('list_accounts')) {
942
+ // Sandbox with list_accounts: try explicit sandbox path first (discover pre-existing test accounts)
943
+ const { result: sandboxResult, step: sandboxStep } = await (0, client_1.runStep)('Discover sandbox accounts', 'list_accounts', async () => listAccounts({ sandbox: true }));
944
+ const sandboxData = sandboxResult?.success
945
+ ? sandboxResult.data
946
+ : undefined;
947
+ const sandboxAccounts = sandboxData?.accounts ?? [];
948
+ if (sandboxAccounts[0]?.account_id) {
949
+ sandboxStep.details = `Using sandbox account: ${sandboxAccounts[0].account_id}`;
950
+ steps.push(sandboxStep);
951
+ return { accountRef: { account_id: sandboxAccounts[0].account_id }, steps };
952
+ }
953
+ // Fall back to natural key — mark step as informational, not a failure
954
+ const brand = (0, client_1.resolveBrand)(options);
955
+ if (!sandboxResult?.success) {
956
+ sandboxStep.details = 'list_accounts failed; falling back to natural key';
957
+ }
958
+ else {
959
+ sandboxStep.details = 'No explicit sandbox accounts found; falling back to natural key';
960
+ }
961
+ sandboxStep.passed = true;
962
+ sandboxStep.error = undefined;
963
+ steps.push(sandboxStep);
964
+ return { accountRef: { brand, operator: brand.domain, sandbox: true }, steps };
965
+ }
966
+ if (options.sandbox) {
967
+ // Sandbox without list_accounts: implicit account model, use natural key
968
+ const brand = (0, client_1.resolveBrand)(options);
969
+ return { accountRef: { brand, operator: brand.domain, sandbox: true }, steps };
970
+ }
971
+ if (tools.includes('list_accounts')) {
972
+ const { result: accountsResult, step: accountsStep } = await (0, client_1.runStep)('Discover accounts for audience sync', 'list_accounts', async () => listAccounts({}));
973
+ if (accountsResult?.success && accountsResult?.data) {
974
+ const accountsData = accountsResult.data;
975
+ const accounts = accountsData.accounts ?? [];
976
+ if (accounts[0]?.account_id) {
977
+ accountsStep.details = `Using account: ${accounts[0].account_id}`;
978
+ steps.push(accountsStep);
979
+ return { accountRef: { account_id: accounts[0].account_id }, steps };
980
+ }
981
+ accountsStep.details = 'list_accounts returned no accounts';
982
+ }
983
+ else {
984
+ accountsStep.details = 'list_accounts call failed';
985
+ }
986
+ steps.push(accountsStep);
987
+ }
988
+ return { accountRef: undefined, steps };
989
+ }
990
+ /**
991
+ * Test: Audience Sync
992
+ * Tests sync_audiences: discovery -> create audience -> delete audience
993
+ */
994
+ async function testSyncAudiences(agentUrl, options) {
995
+ const steps = [];
996
+ const client = (0, client_1.getOrCreateClient)(agentUrl, options);
997
+ // Discover agent profile
998
+ const { profile, step: profileStep } = await (0, client_1.getOrDiscoverProfile)(client, options);
999
+ steps.push(profileStep);
1000
+ if (!profileStep.passed) {
1001
+ return { steps, profile };
1002
+ }
1003
+ if (!profile.tools.includes('sync_audiences')) {
1004
+ steps.push({
1005
+ step: 'Sync audiences',
1006
+ task: 'sync_audiences',
1007
+ passed: false,
1008
+ duration_ms: 0,
1009
+ error: 'Agent does not support sync_audiences',
1010
+ });
1011
+ return { steps, profile };
1012
+ }
1013
+ const { accountRef, steps: accountSteps } = await resolveAccountForAudiences(options, profile.tools,
1014
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1015
+ async (params) => client.listAccounts(params));
1016
+ steps.push(...accountSteps);
1017
+ if (!accountRef) {
1018
+ steps.push({
1019
+ step: 'Sync audiences',
1020
+ task: 'sync_audiences',
1021
+ passed: false,
1022
+ duration_ms: 0,
1023
+ error: 'No account available. Provide audience_account_id, use sandbox: true, or ensure list_accounts is supported.',
1024
+ });
1025
+ return { steps, profile };
1026
+ }
1027
+ // Step 1: Discovery call — list existing audiences without modification
1028
+ const { result: discoveryResult, step: discoveryStep } = await (0, client_1.runStep)('Discover existing audiences (discovery-only)', 'sync_audiences', async () => client.syncAudiences({
1029
+ account: accountRef,
1030
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1031
+ }));
1032
+ if (discoveryResult?.success && discoveryResult?.data) {
1033
+ const discoveryData = discoveryResult.data;
1034
+ const audiences = discoveryData.audiences ?? [];
1035
+ discoveryStep.details = `Found ${audiences.length} existing audience(s)`;
1036
+ discoveryStep.response_preview = JSON.stringify({
1037
+ existing_audiences: audiences.length,
1038
+ audience_ids: audiences.map(a => a.audience_id).slice(0, 5),
1039
+ }, null, 2);
1040
+ }
1041
+ else if (discoveryResult && !discoveryResult.success) {
1042
+ discoveryStep.passed = false;
1043
+ discoveryStep.error = discoveryResult.error || 'sync_audiences discovery call failed';
1044
+ }
1045
+ steps.push(discoveryStep);
1046
+ if (!discoveryResult?.success) {
1047
+ return { steps, profile };
1048
+ }
1049
+ // Step 2: Create a test audience
1050
+ const testAudienceId = `adcp-test-audience-${Date.now()}`;
1051
+ const { result: createResult, step: createStep } = await (0, client_1.runStep)('Create test audience', 'sync_audiences', async () => client.syncAudiences({
1052
+ account: accountRef,
1053
+ audiences: [
1054
+ {
1055
+ audience_id: testAudienceId,
1056
+ name: 'AdCP E2E Test Audience',
1057
+ add: [{ hashed_email: TEST_HASHED_EMAIL }, { hashed_phone: TEST_HASHED_PHONE }],
1058
+ },
1059
+ ],
1060
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1061
+ }));
1062
+ if (createResult?.success && createResult?.data) {
1063
+ const createData = createResult.data;
1064
+ const audiences = createData.audiences ?? [];
1065
+ const testAudience = audiences.find(a => a.audience_id === testAudienceId);
1066
+ createStep.details = `Created audience "${testAudienceId}", action: ${testAudience?.action}, status: ${testAudience?.status ?? 'n/a'}`;
1067
+ createStep.created_id = testAudienceId;
1068
+ createStep.response_preview = JSON.stringify({
1069
+ audience_id: testAudience?.audience_id,
1070
+ action: testAudience?.action,
1071
+ status: testAudience?.status,
1072
+ uploaded_count: testAudience?.uploaded_count,
1073
+ matched_count: testAudience?.matched_count,
1074
+ effective_match_rate: testAudience?.effective_match_rate,
1075
+ match_breakdown: testAudience?.match_breakdown,
1076
+ }, null, 2);
1077
+ // Advisory: report match breakdown availability
1078
+ if (testAudience?.status === 'ready') {
1079
+ if (testAudience.match_breakdown) {
1080
+ createStep.details += `, match_breakdown: ${testAudience.match_breakdown.length} ID type(s)`;
1081
+ }
1082
+ if (testAudience.effective_match_rate != null) {
1083
+ createStep.details += `, effective_match_rate: ${(testAudience.effective_match_rate * 100).toFixed(1)}%`;
1084
+ }
1085
+ }
1086
+ }
1087
+ else if (createResult && !createResult.success) {
1088
+ createStep.passed = false;
1089
+ createStep.error = createResult.error || 'sync_audiences create call failed';
1090
+ }
1091
+ steps.push(createStep);
1092
+ if (!createResult?.success) {
1093
+ return { steps, profile };
1094
+ }
1095
+ // Step 3: Delete the test audience
1096
+ const { result: deleteResult, step: deleteStep } = await (0, client_1.runStep)('Delete test audience', 'sync_audiences', async () => client.syncAudiences({
1097
+ account: accountRef,
1098
+ audiences: [
1099
+ {
1100
+ audience_id: testAudienceId,
1101
+ delete: true,
1102
+ },
1103
+ ],
1104
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1105
+ }));
1106
+ if (deleteResult?.success && deleteResult?.data) {
1107
+ const deleteData = deleteResult.data;
1108
+ const audiences = deleteData.audiences ?? [];
1109
+ const deleted = audiences.find(a => a.audience_id === testAudienceId);
1110
+ deleteStep.details = `Deleted audience "${testAudienceId}", action: ${deleted?.action}`;
1111
+ deleteStep.response_preview = JSON.stringify({
1112
+ audience_id: deleted?.audience_id,
1113
+ action: deleted?.action,
1114
+ }, null, 2);
1115
+ }
1116
+ else if (deleteResult && !deleteResult.success) {
1117
+ deleteStep.passed = false;
1118
+ deleteStep.error = deleteResult.error || 'sync_audiences delete call failed';
1119
+ }
1120
+ steps.push(deleteStep);
1121
+ return { steps, profile };
1122
+ }
1123
+ // ---------------------------------------------------------------------------
1124
+ // State Machine Compliance Scenarios
1125
+ // ---------------------------------------------------------------------------
1126
+ /**
1127
+ * Extract media buy status from a response, handling nested shapes.
1128
+ */
1129
+ function extractStatus(data) {
1130
+ const nested = data.media_buy;
1131
+ return (data.status ?? nested?.status);
1132
+ }
1133
+ /**
1134
+ * Test: Media Buy Lifecycle
1135
+ * Exercises the full state machine: create -> pause -> resume -> get status -> cancel
1136
+ */
1137
+ async function testMediaBuyLifecycle(agentUrl, options) {
1138
+ const steps = [];
1139
+ const client = (0, client_1.getOrCreateClient)(agentUrl, options);
1140
+ // Create a media buy to work with
1141
+ const { steps: createSteps, profile, mediaBuyId } = await testCreateMediaBuy(agentUrl, options);
1142
+ steps.push(...createSteps);
1143
+ if (!mediaBuyId || !profile?.tools.includes('update_media_buy')) {
1144
+ return { steps, profile };
1145
+ }
1146
+ // Track revisions across steps for monotonicity check
1147
+ const revisions = [];
1148
+ // Step 1: Pause the media buy
1149
+ const { result: pauseResult, step: pauseStep } = await (0, client_1.runStep)('Pause media buy', 'update_media_buy', async () => client.updateMediaBuy({
1150
+ media_buy_id: mediaBuyId,
1151
+ paused: true,
1152
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1153
+ }));
1154
+ if (pauseResult?.success && pauseResult?.data) {
1155
+ const data = pauseResult.data;
1156
+ const status = extractStatus(data);
1157
+ const pauseRevision = data.revision;
1158
+ if (pauseRevision !== undefined)
1159
+ revisions.push({ step: 'pause', revision: pauseRevision });
1160
+ pauseStep.details = `Paused media buy, status: ${status}`;
1161
+ pauseStep.response_preview = JSON.stringify({ media_buy_id: mediaBuyId, status, revision: pauseRevision }, null, 2);
1162
+ if (status && status !== 'paused') {
1163
+ pauseStep.warnings = [`Expected status 'paused', got '${status}'`];
1164
+ }
1165
+ }
1166
+ else if (pauseResult && !pauseResult.success) {
1167
+ pauseStep.passed = false;
1168
+ pauseStep.error = pauseResult.error || 'Pause operation failed';
1169
+ }
1170
+ steps.push(pauseStep);
1171
+ // Step 2: Resume the media buy
1172
+ const { result: resumeResult, step: resumeStep } = await (0, client_1.runStep)('Resume media buy', 'update_media_buy', async () => client.updateMediaBuy({
1173
+ media_buy_id: mediaBuyId,
1174
+ paused: false,
1175
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1176
+ }));
1177
+ if (resumeResult?.success && resumeResult?.data) {
1178
+ const data = resumeResult.data;
1179
+ const status = extractStatus(data);
1180
+ const resumeRevision = data.revision;
1181
+ if (resumeRevision !== undefined)
1182
+ revisions.push({ step: 'resume', revision: resumeRevision });
1183
+ resumeStep.details = `Resumed media buy, status: ${status}`;
1184
+ resumeStep.response_preview = JSON.stringify({ media_buy_id: mediaBuyId, status, revision: resumeRevision }, null, 2);
1185
+ if (status && status !== 'active' && status !== 'pending_start') {
1186
+ resumeStep.warnings = [`Expected status 'active' or 'pending_start', got '${status}'`];
1187
+ }
1188
+ }
1189
+ else if (resumeResult && !resumeResult.success) {
1190
+ resumeStep.passed = false;
1191
+ resumeStep.error = resumeResult.error || 'Resume operation failed';
1192
+ }
1193
+ steps.push(resumeStep);
1194
+ // Step 2b: Budget update — verify substantive field mutation
1195
+ // Find a package to update budget on
1196
+ let budgetPackageId;
1197
+ let originalBudget;
1198
+ if (profile.tools.includes('get_media_buys')) {
1199
+ const { result: fetchResult } = await (0, client_1.runStep)('Fetch packages for budget test', 'get_media_buys', async () => client.executeTask('get_media_buys', { media_buy_ids: [mediaBuyId] }));
1200
+ if (fetchResult?.success && fetchResult?.data) {
1201
+ const mbs = (fetchResult.data.media_buys || []);
1202
+ const mb = mbs.find((item) => item.media_buy_id === mediaBuyId) || mbs[0];
1203
+ const pkgs = (mb?.packages || []);
1204
+ if (pkgs[0]) {
1205
+ budgetPackageId = pkgs[0].package_id;
1206
+ originalBudget = pkgs[0].budget;
1207
+ }
1208
+ }
1209
+ }
1210
+ if (budgetPackageId && originalBudget !== undefined) {
1211
+ const newBudget = Math.round(originalBudget * 1.2 * 100) / 100; // 20% increase
1212
+ const { result: budgetResult, step: budgetStep } = await (0, client_1.runStep)('Update package budget', 'update_media_buy', async () => client.updateMediaBuy({
1213
+ media_buy_id: mediaBuyId,
1214
+ packages: [{ package_id: budgetPackageId, budget: newBudget }],
1215
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1216
+ }));
1217
+ if (budgetResult?.success && budgetResult?.data) {
1218
+ const data = budgetResult.data;
1219
+ const budgetRevision = data.revision;
1220
+ if (budgetRevision !== undefined)
1221
+ revisions.push({ step: 'budget_update', revision: budgetRevision });
1222
+ budgetStep.details = `Updated budget from $${originalBudget} to $${newBudget}`;
1223
+ budgetStep.response_preview = JSON.stringify({ media_buy_id: mediaBuyId, package_id: budgetPackageId, new_budget: newBudget, revision: budgetRevision }, null, 2);
1224
+ }
1225
+ else if (budgetResult && !budgetResult.success) {
1226
+ const error = budgetResult.error || '';
1227
+ if (error.includes('BUDGET_EXCEEDED') || error.includes('budget_exceeded')) {
1228
+ budgetStep.passed = true;
1229
+ budgetStep.details = `Agent rejected budget increase with BUDGET_EXCEEDED — acceptable`;
1230
+ }
1231
+ else {
1232
+ budgetStep.passed = false;
1233
+ budgetStep.error = budgetResult.error || 'Budget update failed';
1234
+ }
1235
+ }
1236
+ steps.push(budgetStep);
1237
+ }
1238
+ // Step 3: Get status and check valid_actions, confirmed_at, revision, history (if get_media_buys available)
1239
+ if (profile.tools.includes('get_media_buys')) {
1240
+ const { result: statusResult, step: statusStep } = await (0, client_1.runStep)('Get media buy status and valid_actions', 'get_media_buys', async () => client.executeTask('get_media_buys', {
1241
+ media_buy_ids: [mediaBuyId],
1242
+ include_history: 10,
1243
+ }));
1244
+ if (statusResult?.success && statusResult?.data) {
1245
+ const mediaBuys = (statusResult.data.media_buys || []);
1246
+ const mediaBuy = mediaBuys.find((item) => item.media_buy_id === mediaBuyId) || mediaBuys[0];
1247
+ if (!mediaBuy) {
1248
+ statusStep.passed = false;
1249
+ statusStep.error = 'get_media_buys did not return the created media buy';
1250
+ }
1251
+ else {
1252
+ const validActions = mediaBuy.valid_actions;
1253
+ const mbRevision = mediaBuy.revision;
1254
+ const mbConfirmedAt = mediaBuy.confirmed_at;
1255
+ const history = mediaBuy.history;
1256
+ const packages = (mediaBuy.packages || []);
1257
+ const hasCreativeDeadline = packages.some(p => p.creative_deadline) || !!mediaBuy.creative_deadline;
1258
+ // Validate history entry shape if present
1259
+ let historyValid = true;
1260
+ if (history?.length) {
1261
+ const missingTimestamp = history.some(h => !h.timestamp);
1262
+ const missingAction = history.some(h => !h.action);
1263
+ if (missingTimestamp || missingAction)
1264
+ historyValid = false;
1265
+ }
1266
+ statusStep.details = `Status: ${mediaBuy.status}, valid_actions: ${validActions ? validActions.join(', ') : 'not provided'}, revision: ${mbRevision ?? 'not provided'}`;
1267
+ statusStep.response_preview = JSON.stringify({
1268
+ media_buy_id: mediaBuy.media_buy_id,
1269
+ status: mediaBuy.status,
1270
+ confirmed_at: mbConfirmedAt,
1271
+ revision: mbRevision,
1272
+ valid_actions: validActions,
1273
+ history_entries: history?.length ?? 0,
1274
+ history_valid: historyValid,
1275
+ has_creative_deadline: hasCreativeDeadline,
1276
+ sandbox: mediaBuy.sandbox,
1277
+ }, null, 2);
1278
+ statusStep.observation_data = {
1279
+ valid_actions: validActions,
1280
+ sandbox: mediaBuy.sandbox,
1281
+ status: mediaBuy.status,
1282
+ has_creative_deadline: hasCreativeDeadline,
1283
+ history_entries: history?.length ?? 0,
1284
+ history_valid: historyValid,
1285
+ };
1286
+ }
1287
+ }
1288
+ else if (statusResult && !statusResult.success) {
1289
+ statusStep.passed = false;
1290
+ statusStep.error = statusResult.error || 'get_media_buys failed';
1291
+ }
1292
+ steps.push(statusStep);
1293
+ }
1294
+ // Step 3b: Revision concurrency check — use actual stale revision from an earlier step
1295
+ const lastRevision = revisions.length > 0 ? revisions[revisions.length - 1].revision : undefined;
1296
+ const staleRevision = revisions.length >= 2 ? revisions[0].revision : -1;
1297
+ const { result: conflictResult, step: conflictStep } = await (0, client_1.runStep)('Update with stale revision (expect CONFLICT)', 'update_media_buy', async () => client.updateMediaBuy({
1298
+ media_buy_id: mediaBuyId,
1299
+ revision: staleRevision,
1300
+ end_time: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString(),
1301
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1302
+ }));
1303
+ if (conflictResult && !conflictResult.success) {
1304
+ const error = conflictResult.error || '';
1305
+ if (error.includes('CONFLICT') || error.includes('conflict') || error.includes('revision')) {
1306
+ conflictStep.passed = true;
1307
+ conflictStep.details = `Correctly rejected stale revision ${staleRevision} with CONFLICT (current: ${lastRevision ?? 'unknown'})`;
1308
+ }
1309
+ else {
1310
+ // Agent rejected for another reason — still acceptable, revision may not be supported
1311
+ conflictStep.passed = true;
1312
+ conflictStep.details = `Agent rejected update: ${error}`;
1313
+ conflictStep.warnings = [
1314
+ 'Agent did not return CONFLICT for stale revision — revision concurrency may not be supported',
1315
+ ];
1316
+ }
1317
+ }
1318
+ else if (conflictResult?.success) {
1319
+ // Agent accepted stale revision — revision concurrency not enforced
1320
+ conflictStep.passed = true;
1321
+ conflictStep.details = `Agent accepted stale revision ${staleRevision} — optimistic concurrency not enforced`;
1322
+ conflictStep.warnings = ['Agent does not enforce optimistic concurrency via revision numbers'];
1323
+ }
1324
+ else if (!conflictResult) {
1325
+ conflictStep.passed = false;
1326
+ conflictStep.error = 'No response from update_media_buy';
1327
+ }
1328
+ steps.push(conflictStep);
1329
+ // Step 3c: Check revision monotonicity
1330
+ if (revisions.length >= 2) {
1331
+ const monotonicStep = {
1332
+ step: 'Revision monotonicity check',
1333
+ task: 'update_media_buy',
1334
+ passed: true,
1335
+ duration_ms: 0,
1336
+ };
1337
+ const isMonotonic = revisions.every((r, i) => i === 0 || r.revision > revisions[i - 1].revision);
1338
+ if (isMonotonic) {
1339
+ monotonicStep.details = `Revisions are monotonically increasing: ${revisions.map(r => `${r.step}=${r.revision}`).join(' → ')}`;
1340
+ }
1341
+ else {
1342
+ monotonicStep.passed = true; // advisory, not a hard fail
1343
+ monotonicStep.details = `Revisions: ${revisions.map(r => `${r.step}=${r.revision}`).join(' → ')}`;
1344
+ monotonicStep.warnings = [
1345
+ `Revision numbers are not monotonically increasing — buyers depend on this for concurrency safety`,
1346
+ ];
1347
+ }
1348
+ steps.push(monotonicStep);
1349
+ }
1350
+ // Step 4: Cancel the media buy
1351
+ const { result: cancelResult, step: cancelStep } = await (0, client_1.runStep)('Cancel media buy', 'update_media_buy', async () => client.updateMediaBuy({
1352
+ media_buy_id: mediaBuyId,
1353
+ canceled: true,
1354
+ cancellation_reason: 'AdCP compliance test — lifecycle scenario',
1355
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1356
+ }));
1357
+ if (cancelResult?.success && cancelResult?.data) {
1358
+ const data = cancelResult.data;
1359
+ const nested = data.media_buy;
1360
+ const status = extractStatus(data);
1361
+ const cancelRevision = (data.revision ?? nested?.revision);
1362
+ cancelStep.details = `Canceled media buy, status: ${status}`;
1363
+ const canceledBy = (data.canceled_by ?? nested?.canceled_by);
1364
+ const canceledAt = (data.canceled_at ?? nested?.canceled_at);
1365
+ if (cancelRevision !== undefined)
1366
+ revisions.push({ step: 'cancel', revision: cancelRevision });
1367
+ cancelStep.response_preview = JSON.stringify({ media_buy_id: mediaBuyId, status, revision: cancelRevision, canceled_by: canceledBy, canceled_at: canceledAt }, null, 2);
1368
+ cancelStep.observation_data = { status, canceled_by: canceledBy, canceled_at: canceledAt };
1369
+ if (status && status !== 'canceled') {
1370
+ cancelStep.warnings = [`Expected status 'canceled', got '${status}'`];
1371
+ }
1372
+ }
1373
+ else if (cancelResult && !cancelResult.success) {
1374
+ // NOT_CANCELLABLE is a valid response — agent may not support cancellation
1375
+ const error = cancelResult.error || '';
1376
+ if (error.includes('NOT_CANCELLABLE') || error.includes('not_cancellable')) {
1377
+ cancelStep.passed = true;
1378
+ cancelStep.details = 'Agent does not support cancellation (NOT_CANCELLABLE)';
1379
+ }
1380
+ else {
1381
+ cancelStep.passed = false;
1382
+ cancelStep.error = cancelResult.error || 'Cancel operation failed';
1383
+ }
1384
+ }
1385
+ steps.push(cancelStep);
1386
+ return { steps, profile };
1387
+ }
1388
+ /**
1389
+ * Test: Terminal State Enforcement
1390
+ * Verifies agents reject updates to media buys in terminal states.
1391
+ */
1392
+ async function testTerminalStateEnforcement(agentUrl, options) {
1393
+ const steps = [];
1394
+ const client = (0, client_1.getOrCreateClient)(agentUrl, options);
1395
+ // Create and cancel a media buy
1396
+ const { steps: createSteps, profile, mediaBuyId } = await testCreateMediaBuy(agentUrl, options);
1397
+ steps.push(...createSteps);
1398
+ if (!mediaBuyId || !profile?.tools.includes('update_media_buy')) {
1399
+ return { steps, profile };
1400
+ }
1401
+ // Cancel the media buy to put it in a terminal state
1402
+ const { result: cancelResult, step: cancelStep } = await (0, client_1.runStep)('Cancel media buy (setup)', 'update_media_buy', async () => client.updateMediaBuy({
1403
+ media_buy_id: mediaBuyId,
1404
+ canceled: true,
1405
+ cancellation_reason: 'AdCP compliance test — terminal state enforcement',
1406
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1407
+ }));
1408
+ if (cancelResult?.success && cancelResult?.data) {
1409
+ const data = cancelResult.data;
1410
+ cancelStep.details = `Canceled media buy, status: ${extractStatus(data)}`;
1411
+ }
1412
+ else if (cancelResult && !cancelResult.success) {
1413
+ const error = cancelResult.error || '';
1414
+ if (error.includes('NOT_CANCELLABLE') || error.includes('not_cancellable')) {
1415
+ // Agent doesn't support cancellation — try to find a completed buy instead
1416
+ cancelStep.passed = true;
1417
+ cancelStep.details = 'Agent does not support cancellation — will check for completed media buys instead';
1418
+ steps.push(cancelStep);
1419
+ // Look for a completed media buy to test terminal state enforcement against
1420
+ if (profile.tools.includes('get_media_buys')) {
1421
+ const { result: completedResult, step: completedStep } = await (0, client_1.runStep)('Find completed media buy for terminal state test', 'get_media_buys', async () => client.executeTask('get_media_buys', {
1422
+ status_filter: ['completed'],
1423
+ pagination: { max_results: 1 },
1424
+ }));
1425
+ if (completedResult?.success && completedResult?.data) {
1426
+ const completedBuys = (completedResult.data.media_buys || []);
1427
+ if (completedBuys.length > 0) {
1428
+ const completedId = completedBuys[0].media_buy_id;
1429
+ completedStep.details = `Found completed media buy: ${completedId}`;
1430
+ steps.push(completedStep);
1431
+ // Try to update the completed media buy
1432
+ const { result: updateCompletedResult, step: updateCompletedStep } = await (0, client_1.runStep)('Update completed media buy (expect rejection)', 'update_media_buy', async () => client.updateMediaBuy({
1433
+ media_buy_id: completedId,
1434
+ paused: true,
1435
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1436
+ }));
1437
+ if (updateCompletedResult?.success) {
1438
+ updateCompletedStep.passed = false;
1439
+ updateCompletedStep.error =
1440
+ 'Agent accepted update to completed media buy — should reject with INVALID_STATE';
1441
+ }
1442
+ else if (updateCompletedResult) {
1443
+ updateCompletedStep.passed = true;
1444
+ const err = updateCompletedResult.error || '';
1445
+ const hasCode = err.includes('INVALID_STATE') || err.includes('invalid_state');
1446
+ updateCompletedStep.details = hasCode
1447
+ ? 'Correctly rejected update to completed media buy with INVALID_STATE'
1448
+ : `Correctly rejected update to completed media buy: ${err}`;
1449
+ if (!hasCode && err) {
1450
+ updateCompletedStep.warnings = ['Agent rejected the update but did not use INVALID_STATE error code'];
1451
+ }
1452
+ }
1453
+ steps.push(updateCompletedStep);
1454
+ }
1455
+ else {
1456
+ completedStep.details = 'No completed media buys found — cannot test terminal state enforcement';
1457
+ steps.push(completedStep);
1458
+ }
1459
+ }
1460
+ else {
1461
+ completedStep.passed = false;
1462
+ completedStep.error = completedResult?.error || 'Failed to query for completed media buys';
1463
+ steps.push(completedStep);
1464
+ }
1465
+ }
1466
+ return { steps, profile };
1467
+ }
1468
+ cancelStep.passed = false;
1469
+ cancelStep.error = cancelResult.error || 'Cancel setup failed';
1470
+ }
1471
+ steps.push(cancelStep);
1472
+ // Try to pause the canceled media buy — should be rejected
1473
+ const { result: pauseTerminalResult, step: pauseTerminalStep } = await (0, client_1.runStep)('Update canceled media buy (expect rejection)', 'update_media_buy', async () => client.updateMediaBuy({
1474
+ media_buy_id: mediaBuyId,
1475
+ paused: true,
1476
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1477
+ }));
1478
+ if (pauseTerminalResult?.success) {
1479
+ pauseTerminalStep.passed = false;
1480
+ pauseTerminalStep.error = 'Agent accepted update to canceled media buy — should reject with INVALID_STATE';
1481
+ }
1482
+ else if (pauseTerminalResult) {
1483
+ // Agent returned { success: false } — correct behavior
1484
+ pauseTerminalStep.passed = true;
1485
+ const error = pauseTerminalResult.error || '';
1486
+ const hasExpectedCode = error.includes('INVALID_STATE') || error.includes('invalid_state');
1487
+ pauseTerminalStep.details = hasExpectedCode
1488
+ ? 'Correctly rejected with INVALID_STATE'
1489
+ : `Correctly rejected update to canceled media buy: ${error}`;
1490
+ if (!hasExpectedCode && error) {
1491
+ pauseTerminalStep.warnings = ['Agent rejected the update but did not use INVALID_STATE error code'];
1492
+ }
1493
+ }
1494
+ // else: result is undefined (exception thrown) — runStep already set passed=false and error
1495
+ steps.push(pauseTerminalStep);
1496
+ // Try to cancel again — should also be rejected (or idempotent)
1497
+ const { result: reCancelResult, step: reCancelStep } = await (0, client_1.runStep)('Cancel already-canceled media buy (expect rejection)', 'update_media_buy', async () => client.updateMediaBuy({
1498
+ media_buy_id: mediaBuyId,
1499
+ canceled: true,
1500
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1501
+ }));
1502
+ if (reCancelResult?.success) {
1503
+ // Idempotent cancellation is acceptable
1504
+ reCancelStep.passed = true;
1505
+ reCancelStep.details = 'Agent accepted re-cancellation (idempotent) — acceptable behavior';
1506
+ }
1507
+ else if (reCancelResult) {
1508
+ reCancelStep.passed = true;
1509
+ const error = reCancelResult.error || '';
1510
+ reCancelStep.details = `Correctly rejected re-cancellation: ${error}`;
1511
+ }
1512
+ steps.push(reCancelStep);
1513
+ // Also check completed terminal state if get_media_buys is available
1514
+ if (profile.tools.includes('get_media_buys')) {
1515
+ const { result: completedResult } = await (0, client_1.runStep)('Find completed media buy', 'get_media_buys', async () => client.executeTask('get_media_buys', {
1516
+ status_filter: ['completed'],
1517
+ pagination: { max_results: 1 },
1518
+ }));
1519
+ if (completedResult?.success && completedResult?.data) {
1520
+ const completedBuys = (completedResult.data.media_buys || []);
1521
+ if (completedBuys.length > 0) {
1522
+ const completedId = completedBuys[0].media_buy_id;
1523
+ const { result: updateCompletedResult, step: updateCompletedStep } = await (0, client_1.runStep)('Update completed media buy (expect rejection)', 'update_media_buy', async () => client.updateMediaBuy({
1524
+ media_buy_id: completedId,
1525
+ paused: true,
1526
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1527
+ }));
1528
+ if (updateCompletedResult?.success) {
1529
+ updateCompletedStep.passed = false;
1530
+ updateCompletedStep.error = 'Agent accepted update to completed media buy — should reject with INVALID_STATE';
1531
+ }
1532
+ else if (updateCompletedResult) {
1533
+ updateCompletedStep.passed = true;
1534
+ const err = updateCompletedResult.error || '';
1535
+ const hasCode = err.includes('INVALID_STATE') || err.includes('invalid_state');
1536
+ updateCompletedStep.details = hasCode
1537
+ ? 'Correctly rejected update to completed media buy with INVALID_STATE'
1538
+ : `Correctly rejected update to completed media buy: ${err}`;
1539
+ }
1540
+ steps.push(updateCompletedStep);
1541
+ }
1542
+ }
1543
+ }
1544
+ return { steps, profile };
1545
+ }
1546
+ /**
1547
+ * Test: Package Lifecycle
1548
+ * Tests package-level pause/resume independent of media buy status.
1549
+ */
1550
+ async function testPackageLifecycle(agentUrl, options) {
1551
+ const steps = [];
1552
+ const client = (0, client_1.getOrCreateClient)(agentUrl, options);
1553
+ // Create a media buy
1554
+ const { steps: createSteps, profile, mediaBuyId } = await testCreateMediaBuy(agentUrl, options);
1555
+ steps.push(...createSteps);
1556
+ if (!mediaBuyId || !profile?.tools.includes('update_media_buy')) {
1557
+ return { steps, profile };
1558
+ }
1559
+ // Find a package ID — try get_media_buys first, fall back to convention
1560
+ let packageId = 'pkg-0';
1561
+ if (profile.tools.includes('get_media_buys')) {
1562
+ const { result: fetchResult, step: fetchStep } = await (0, client_1.runStep)('Fetch package IDs', 'get_media_buys', async () => client.executeTask('get_media_buys', {
1563
+ media_buy_ids: [mediaBuyId],
1564
+ }));
1565
+ if (fetchResult?.success && fetchResult?.data) {
1566
+ const mediaBuys = (fetchResult.data.media_buys || []);
1567
+ const mediaBuy = mediaBuys.find((item) => item.media_buy_id === mediaBuyId) || mediaBuys[0];
1568
+ const packages = (mediaBuy?.packages || []);
1569
+ if (packages[0]?.package_id) {
1570
+ packageId = packages[0].package_id;
1571
+ fetchStep.details = `Found package ${packageId}`;
1572
+ }
1573
+ else {
1574
+ fetchStep.details = `No packages found, falling back to '${packageId}'`;
1575
+ }
1576
+ }
1577
+ else if (fetchResult && !fetchResult.success) {
1578
+ fetchStep.passed = false;
1579
+ fetchStep.error = fetchResult.error || 'get_media_buys failed during package ID discovery';
1580
+ }
1581
+ steps.push(fetchStep);
1582
+ }
1583
+ // Step 1: Pause a package
1584
+ const { result: pauseResult, step: pauseStep } = await (0, client_1.runStep)('Pause package', 'update_media_buy', async () => client.updateMediaBuy({
1585
+ media_buy_id: mediaBuyId,
1586
+ packages: [{ package_id: packageId, paused: true }],
1587
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1588
+ }));
1589
+ if (pauseResult?.success && pauseResult?.data) {
1590
+ const data = pauseResult.data;
1591
+ const affectedPackages = (data.affected_packages || []);
1592
+ const pkg = affectedPackages.find(p => p.package_id === packageId) || affectedPackages[0];
1593
+ pauseStep.details = `Paused package ${packageId}, paused: ${pkg?.paused}`;
1594
+ pauseStep.response_preview = JSON.stringify({
1595
+ media_buy_id: mediaBuyId,
1596
+ media_buy_status: extractStatus(data),
1597
+ package_id: pkg?.package_id,
1598
+ package_paused: pkg?.paused,
1599
+ }, null, 2);
1600
+ }
1601
+ else if (pauseResult && !pauseResult.success) {
1602
+ pauseStep.passed = false;
1603
+ pauseStep.error = pauseResult.error || 'Package pause failed';
1604
+ }
1605
+ steps.push(pauseStep);
1606
+ // Step 2: Resume the package
1607
+ const { result: resumeResult, step: resumeStep } = await (0, client_1.runStep)('Resume package', 'update_media_buy', async () => client.updateMediaBuy({
1608
+ media_buy_id: mediaBuyId,
1609
+ packages: [{ package_id: packageId, paused: false }],
1610
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- intentional: test request bypasses strict typing
1611
+ }));
1612
+ if (resumeResult?.success && resumeResult?.data) {
1613
+ const data = resumeResult.data;
1614
+ const affectedPackages = (data.affected_packages || []);
1615
+ const pkg = affectedPackages.find(p => p.package_id === packageId) || affectedPackages[0];
1616
+ resumeStep.details = `Resumed package ${packageId}, paused: ${pkg?.paused}`;
1617
+ resumeStep.response_preview = JSON.stringify({
1618
+ media_buy_id: mediaBuyId,
1619
+ media_buy_status: extractStatus(data),
1620
+ package_id: pkg?.package_id,
1621
+ package_paused: pkg?.paused,
1622
+ }, null, 2);
1623
+ }
1624
+ else if (resumeResult && !resumeResult.success) {
1625
+ resumeStep.passed = false;
1626
+ resumeStep.error = resumeResult.error || 'Package resume failed';
1627
+ }
1628
+ steps.push(resumeStep);
1629
+ // Step 3: Verify media buy is still active
1630
+ if (profile.tools.includes('get_media_buys')) {
1631
+ const { result: verifyResult, step: verifyStep } = await (0, client_1.runStep)('Verify media buy still active after package operations', 'get_media_buys', async () => client.executeTask('get_media_buys', {
1632
+ media_buy_ids: [mediaBuyId],
1633
+ }));
1634
+ if (verifyResult?.success && verifyResult?.data) {
1635
+ const mediaBuys = (verifyResult.data.media_buys || []);
1636
+ const mediaBuy = mediaBuys.find((item) => item.media_buy_id === mediaBuyId) || mediaBuys[0];
1637
+ const status = mediaBuy?.status;
1638
+ if (status === 'active' || status === 'pending_start') {
1639
+ verifyStep.details = `Media buy still ${status} after package-level operations`;
1640
+ }
1641
+ else {
1642
+ verifyStep.details = `Media buy status is '${status}' — expected 'active' or 'pending_start'`;
1643
+ verifyStep.warnings = [`Package-level pause/resume changed media buy status to '${status}'`];
1644
+ }
1645
+ verifyStep.response_preview = JSON.stringify({ media_buy_id: mediaBuy?.media_buy_id, status }, null, 2);
1646
+ }
1647
+ else if (verifyResult && !verifyResult.success) {
1648
+ verifyStep.passed = false;
1649
+ verifyStep.error = verifyResult.error || 'get_media_buys verification failed';
1650
+ }
1651
+ steps.push(verifyStep);
1652
+ }
1653
+ return { steps, profile };
1654
+ }
1655
+ //# sourceMappingURL=media-buy.js.map