@adcp/sdk 6.9.0 → 6.10.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 (233) hide show
  1. package/bin/adcp.js +285 -5
  2. package/compliance/cache/3.0.6.previous/domains/brand/index.yaml +163 -0
  3. package/compliance/cache/3.0.6.previous/domains/creative/index.yaml +412 -0
  4. package/compliance/cache/3.0.6.previous/domains/governance/index.yaml +683 -0
  5. package/compliance/cache/3.0.6.previous/domains/media-buy/creative-reception.yaml +247 -0
  6. package/compliance/cache/3.0.6.previous/domains/media-buy/index.yaml +769 -0
  7. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/create_media_buy_async.yaml +232 -0
  8. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  9. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/delivery_reporting.yaml +205 -0
  10. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_approved.yaml +211 -0
  11. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_conditions.yaml +196 -0
  12. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_denied.yaml +192 -0
  13. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
  14. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/invalid_transitions.yaml +284 -0
  15. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  16. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/inventory_list_targeting.yaml +271 -0
  17. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
  18. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  19. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/proposal_finalize.yaml +243 -0
  20. package/compliance/cache/3.0.6.previous/domains/media-buy/scenarios/refine_products.yaml +148 -0
  21. package/compliance/cache/3.0.6.previous/domains/media-buy/state-machine.yaml +442 -0
  22. package/compliance/cache/3.0.6.previous/domains/signals/index.yaml +266 -0
  23. package/compliance/cache/3.0.6.previous/domains/sponsored-intelligence/index.yaml +256 -0
  24. package/compliance/cache/3.0.6.previous/index.json +324 -0
  25. package/compliance/cache/3.0.6.previous/protocols/brand/index.yaml +163 -0
  26. package/compliance/cache/3.0.6.previous/protocols/creative/index.yaml +412 -0
  27. package/compliance/cache/3.0.6.previous/protocols/governance/index.yaml +683 -0
  28. package/compliance/cache/3.0.6.previous/protocols/media-buy/creative-reception.yaml +247 -0
  29. package/compliance/cache/3.0.6.previous/protocols/media-buy/index.yaml +769 -0
  30. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/create_media_buy_async.yaml +232 -0
  31. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/creative_fate_after_cancellation.yaml +414 -0
  32. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/delivery_reporting.yaml +205 -0
  33. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_approved.yaml +211 -0
  34. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_conditions.yaml +196 -0
  35. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_denied.yaml +192 -0
  36. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/governance_denied_recovery.yaml +244 -0
  37. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/invalid_transitions.yaml +284 -0
  38. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/inventory_list_no_match.yaml +143 -0
  39. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/inventory_list_targeting.yaml +271 -0
  40. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/measurement_terms_rejected.yaml +195 -0
  41. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/pending_creatives_to_start.yaml +250 -0
  42. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/proposal_finalize.yaml +243 -0
  43. package/compliance/cache/3.0.6.previous/protocols/media-buy/scenarios/refine_products.yaml +148 -0
  44. package/compliance/cache/3.0.6.previous/protocols/media-buy/state-machine.yaml +442 -0
  45. package/compliance/cache/3.0.6.previous/protocols/signals/index.yaml +266 -0
  46. package/compliance/cache/3.0.6.previous/protocols/sponsored-intelligence/index.yaml +256 -0
  47. package/compliance/cache/3.0.6.previous/specialisms/audience-sync/index.yaml +280 -0
  48. package/compliance/cache/3.0.6.previous/specialisms/brand-rights/index.yaml +350 -0
  49. package/compliance/cache/3.0.6.previous/specialisms/brand-rights/scenarios/governance_denied.yaml +204 -0
  50. package/compliance/cache/3.0.6.previous/specialisms/collection-lists/index.yaml +359 -0
  51. package/compliance/cache/3.0.6.previous/specialisms/content-standards/index.yaml +572 -0
  52. package/compliance/cache/3.0.6.previous/specialisms/creative-ad-server/index.yaml +383 -0
  53. package/compliance/cache/3.0.6.previous/specialisms/creative-generative/generative-seller.yaml +758 -0
  54. package/compliance/cache/3.0.6.previous/specialisms/creative-generative/index.yaml +746 -0
  55. package/compliance/cache/3.0.6.previous/specialisms/creative-template/index.yaml +413 -0
  56. package/compliance/cache/3.0.6.previous/specialisms/governance-aware-seller/index.yaml +136 -0
  57. package/compliance/cache/3.0.6.previous/specialisms/governance-delivery-monitor/index.yaml +441 -0
  58. package/compliance/cache/3.0.6.previous/specialisms/governance-spend-authority/denied.yaml +221 -0
  59. package/compliance/cache/3.0.6.previous/specialisms/governance-spend-authority/index.yaml +330 -0
  60. package/compliance/cache/3.0.6.previous/specialisms/property-lists/index.yaml +482 -0
  61. package/compliance/cache/3.0.6.previous/specialisms/sales-broadcast-tv/index.yaml +689 -0
  62. package/compliance/cache/3.0.6.previous/specialisms/sales-catalog-driven/index.yaml +779 -0
  63. package/compliance/cache/3.0.6.previous/specialisms/sales-guaranteed/index.yaml +504 -0
  64. package/compliance/cache/3.0.6.previous/specialisms/sales-non-guaranteed/index.yaml +428 -0
  65. package/compliance/cache/3.0.6.previous/specialisms/sales-proposal-mode/index.yaml +520 -0
  66. package/compliance/cache/3.0.6.previous/specialisms/sales-social/index.yaml +584 -0
  67. package/compliance/cache/3.0.6.previous/specialisms/signal-marketplace/index.yaml +415 -0
  68. package/compliance/cache/3.0.6.previous/specialisms/signal-marketplace/scenarios/governance_denied.yaml +207 -0
  69. package/compliance/cache/3.0.6.previous/specialisms/signal-owned/index.yaml +316 -0
  70. package/compliance/cache/3.0.6.previous/test-kits/acme-outdoor.yaml +210 -0
  71. package/compliance/cache/3.0.6.previous/test-kits/bistro-oranje.yaml +126 -0
  72. package/compliance/cache/3.0.6.previous/test-kits/nova-motors.yaml +262 -0
  73. package/compliance/cache/3.0.6.previous/test-kits/osei-natural.yaml +126 -0
  74. package/compliance/cache/3.0.6.previous/test-kits/signed-requests-runner.yaml +155 -0
  75. package/compliance/cache/3.0.6.previous/test-kits/substitution-observer-runner.yaml +690 -0
  76. package/compliance/cache/3.0.6.previous/test-kits/summit-foods.yaml +125 -0
  77. package/compliance/cache/3.0.6.previous/test-kits/webhook-receiver-runner.yaml +265 -0
  78. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/001-minimal-plan.json +43 -0
  79. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/002-full-plan.json +217 -0
  80. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/003-bookkeeping-stripped.json +60 -0
  81. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/004a-human-review-omitted.json +43 -0
  82. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/004b-human-review-explicit-null.json +49 -0
  83. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/005a-policy-categories-order-1.json +53 -0
  84. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/005b-policy-categories-order-2.json +57 -0
  85. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/006a-ext-trace-v1.json +49 -0
  86. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/006b-ext-trace-v2.json +53 -0
  87. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/007-unicode-objectives.json +43 -0
  88. package/compliance/cache/3.0.6.previous/test-vectors/plan-hash/008-numeric-canonicalization.json +65 -0
  89. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/README.md +219 -0
  90. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/canonicalization.json +241 -0
  91. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/keys.json +60 -0
  92. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/001-no-signature-header.json +24 -0
  93. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/002-wrong-tag.json +26 -0
  94. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/003-expired-signature.json +26 -0
  95. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/004-window-too-long.json +26 -0
  96. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/005-alg-not-allowed.json +26 -0
  97. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/006-missing-covered-component.json +26 -0
  98. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/007-missing-content-digest.json +26 -0
  99. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/008-unknown-keyid.json +26 -0
  100. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/009-key-ops-missing-verify.json +27 -0
  101. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/010-content-digest-mismatch.json +33 -0
  102. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/011-malformed-header.json +27 -0
  103. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/012-missing-expires-param.json +26 -0
  104. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/013-expires-le-created.json +27 -0
  105. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/014-missing-nonce-param.json +27 -0
  106. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/015-signature-invalid.json +28 -0
  107. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/016-replayed-nonce.json +35 -0
  108. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/017-key-revoked.json +38 -0
  109. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/018-digest-covered-when-forbidden.json +28 -0
  110. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/019-signature-without-signature-input.json +26 -0
  111. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/020-rate-abuse.json +34 -0
  112. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/021-duplicate-signature-input-label.json +31 -0
  113. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/022-multi-valued-content-type.json +31 -0
  114. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/023-multi-valued-content-digest.json +32 -0
  115. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/024-unquoted-string-param.json +31 -0
  116. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/025-jwk-alg-crv-mismatch.json +43 -0
  117. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/026-non-ascii-host.json +31 -0
  118. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/negative/027-webhook-registration-authentication-unsigned.json +25 -0
  119. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/001-basic-post.json +30 -0
  120. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/002-post-with-content-digest.json +31 -0
  121. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/003-es256-post.json +30 -0
  122. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/004-multiple-signature-labels.json +26 -0
  123. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/005-default-port-stripped.json +30 -0
  124. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/006-dot-segment-path.json +30 -0
  125. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/007-query-byte-preserved.json +30 -0
  126. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/008-percent-encoded-path.json +30 -0
  127. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/009-percent-encoded-unreserved-decoded.json +30 -0
  128. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/010-percent-encoded-slash-preserved.json +30 -0
  129. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/011-ipv6-authority.json +30 -0
  130. package/compliance/cache/3.0.6.previous/test-vectors/request-signing/positive/012-ipv6-authority-default-port-stripped.json +30 -0
  131. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/README.md +211 -0
  132. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/keys.json +61 -0
  133. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/001-wrong-tag.json +26 -0
  134. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/002-expired-signature.json +26 -0
  135. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/003-window-too-long.json +26 -0
  136. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/004-alg-not-allowed.json +26 -0
  137. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/005-missing-authority-component.json +26 -0
  138. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/006-missing-content-digest.json +25 -0
  139. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/007-unknown-keyid.json +26 -0
  140. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/008-wrong-adcp-use.json +26 -0
  141. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/009-content-digest-mismatch.json +26 -0
  142. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/010-malformed-signature-input.json +26 -0
  143. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/011-signature-without-input.json +25 -0
  144. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/012-missing-expires-param.json +26 -0
  145. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/013-expires-le-created.json +26 -0
  146. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/014-missing-nonce-param.json +26 -0
  147. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/015-signature-invalid.json +26 -0
  148. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/016-replayed-nonce.json +37 -0
  149. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/017-key-revoked.json +32 -0
  150. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/018-rate-abuse.json +33 -0
  151. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/019-revocation-stale.json +32 -0
  152. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/020-key-ops-missing-verify.json +41 -0
  153. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/negative/021-base64-alphabet-mixing.json +26 -0
  154. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/001-basic-post.json +24 -0
  155. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/002-es256-post.json +24 -0
  156. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/003-multiple-signature-labels.json +24 -0
  157. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/004-default-port-stripped.json +24 -0
  158. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/005-percent-encoded-path.json +24 -0
  159. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/006-query-byte-preserved.json +24 -0
  160. package/compliance/cache/3.0.6.previous/test-vectors/webhook-signing/positive/007-body-without-idempotency-key.json +25 -0
  161. package/compliance/cache/3.0.6.previous/universal/capability-discovery.yaml +125 -0
  162. package/compliance/cache/3.0.6.previous/universal/collection-lists-pagination-integrity.yaml +306 -0
  163. package/compliance/cache/3.0.6.previous/universal/content-standards-pagination-integrity.yaml +326 -0
  164. package/compliance/cache/3.0.6.previous/universal/deterministic-testing.yaml +1343 -0
  165. package/compliance/cache/3.0.6.previous/universal/error-compliance.yaml +474 -0
  166. package/compliance/cache/3.0.6.previous/universal/fictional-entities.yaml +307 -0
  167. package/compliance/cache/3.0.6.previous/universal/get-media-buys-pagination-integrity.yaml +160 -0
  168. package/compliance/cache/3.0.6.previous/universal/get-signals-pagination-integrity.yaml +211 -0
  169. package/compliance/cache/3.0.6.previous/universal/idempotency.yaml +593 -0
  170. package/compliance/cache/3.0.6.previous/universal/pagination-integrity-creative-formats.yaml +258 -0
  171. package/compliance/cache/3.0.6.previous/universal/pagination-integrity-list-accounts.yaml +262 -0
  172. package/compliance/cache/3.0.6.previous/universal/pagination-integrity.yaml +263 -0
  173. package/compliance/cache/3.0.6.previous/universal/property-lists-pagination-integrity.yaml +307 -0
  174. package/compliance/cache/3.0.6.previous/universal/runner-output-contract.yaml +358 -0
  175. package/compliance/cache/3.0.6.previous/universal/schema-validation.yaml +526 -0
  176. package/compliance/cache/3.0.6.previous/universal/security.yaml +431 -0
  177. package/compliance/cache/3.0.6.previous/universal/signed-requests.yaml +205 -0
  178. package/compliance/cache/3.0.6.previous/universal/storyboard-schema.yaml +1176 -0
  179. package/compliance/cache/3.0.6.previous/universal/v3-envelope-integrity.yaml +106 -0
  180. package/compliance/cache/3.0.6.previous/universal/webhook-emission.yaml +337 -0
  181. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  182. package/dist/lib/server/create-adcp-server.d.ts +33 -0
  183. package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
  184. package/dist/lib/server/create-adcp-server.js +127 -1
  185. package/dist/lib/server/create-adcp-server.js.map +1 -1
  186. package/dist/lib/server/credential-policy.d.ts +221 -0
  187. package/dist/lib/server/credential-policy.d.ts.map +1 -0
  188. package/dist/lib/server/credential-policy.js +260 -0
  189. package/dist/lib/server/credential-policy.js.map +1 -0
  190. package/dist/lib/server/dynamic-registry.d.ts +219 -0
  191. package/dist/lib/server/dynamic-registry.d.ts.map +1 -0
  192. package/dist/lib/server/dynamic-registry.js +245 -0
  193. package/dist/lib/server/dynamic-registry.js.map +1 -0
  194. package/dist/lib/server/index.d.ts +8 -0
  195. package/dist/lib/server/index.d.ts.map +1 -1
  196. package/dist/lib/server/index.js +15 -4
  197. package/dist/lib/server/index.js.map +1 -1
  198. package/dist/lib/server/operational-platform.d.ts +239 -0
  199. package/dist/lib/server/operational-platform.d.ts.map +1 -0
  200. package/dist/lib/server/operational-platform.js +94 -0
  201. package/dist/lib/server/operational-platform.js.map +1 -0
  202. package/dist/lib/server/wire-safe.d.ts +211 -0
  203. package/dist/lib/server/wire-safe.d.ts.map +1 -0
  204. package/dist/lib/server/wire-safe.js +231 -0
  205. package/dist/lib/server/wire-safe.js.map +1 -0
  206. package/dist/lib/server/wire-spec-fields.generated.d.ts +168 -0
  207. package/dist/lib/server/wire-spec-fields.generated.d.ts.map +1 -0
  208. package/dist/lib/server/wire-spec-fields.generated.js +172 -0
  209. package/dist/lib/server/wire-spec-fields.generated.js.map +1 -0
  210. package/dist/lib/testing/compliance/index.d.ts +2 -0
  211. package/dist/lib/testing/compliance/index.d.ts.map +1 -1
  212. package/dist/lib/testing/compliance/index.js +6 -1
  213. package/dist/lib/testing/compliance/index.js.map +1 -1
  214. package/dist/lib/testing/compliance/summary.d.ts +77 -0
  215. package/dist/lib/testing/compliance/summary.d.ts.map +1 -0
  216. package/dist/lib/testing/compliance/summary.js +176 -0
  217. package/dist/lib/testing/compliance/summary.js.map +1 -0
  218. package/dist/lib/testing/storyboard/compliance.d.ts +26 -0
  219. package/dist/lib/testing/storyboard/compliance.d.ts.map +1 -1
  220. package/dist/lib/testing/storyboard/compliance.js +51 -0
  221. package/dist/lib/testing/storyboard/compliance.js.map +1 -1
  222. package/dist/lib/testing/storyboard/index.d.ts +2 -2
  223. package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
  224. package/dist/lib/testing/storyboard/index.js +4 -2
  225. package/dist/lib/testing/storyboard/index.js.map +1 -1
  226. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  227. package/dist/lib/testing/storyboard/runner.js +58 -5
  228. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  229. package/dist/lib/version.d.ts +3 -3
  230. package/dist/lib/version.d.ts.map +1 -1
  231. package/dist/lib/version.js +3 -3
  232. package/dist/lib/version.js.map +1 -1
  233. package/package.json +2 -2
@@ -0,0 +1,412 @@
1
+ id: creative_lifecycle
2
+ version: "1.0.0"
3
+ title: "Creative lifecycle"
4
+ category: creative_lifecycle
5
+ summary: "Full creative lifecycle on a stateful platform: sync multiple creatives, list with filtering, build and preview across formats, observe status transitions."
6
+ track: creative
7
+ required_tools:
8
+ - list_creative_formats
9
+
10
+ narrative: |
11
+ You run a creative platform with a persistent library — an ad server, creative management
12
+ platform, or publisher that accepts and stores creative assets. A buyer agent pushes
13
+ multiple creatives in different formats, queries the library, builds serving tags, previews
14
+ renderings, and monitors creative status as assets move through your review pipeline.
15
+
16
+ This storyboard covers the complete creative lifecycle from the buyer's perspective:
17
+ uploading assets, browsing the library, building deliverables across formats, and
18
+ observing status transitions as creatives move from pending_review through to accepted.
19
+
20
+ The individual creative storyboards (template, ad server, sales agent) cover specific
21
+ interaction models. This storyboard tests the full lifecycle across multiple creatives
22
+ and formats on a single platform.
23
+
24
+ agent:
25
+ interaction_model: stateful_preloaded
26
+ capabilities:
27
+ - has_creative_library
28
+ - supports_transformation
29
+ examples:
30
+ - "Innovid"
31
+ - "Flashtalking"
32
+ - "CM360"
33
+ - "Creative management platforms"
34
+
35
+ caller:
36
+ role: buyer_agent
37
+ example: "Pinnacle Agency (buyer)"
38
+
39
+ prerequisites:
40
+ description: |
41
+ The caller needs creative assets in multiple formats (display, video, native) and
42
+ a brand identity. The test kit provides sample assets at standard ad dimensions.
43
+ test_kit: "test-kits/acme-outdoor.yaml"
44
+
45
+ phases:
46
+ - id: capability_discovery
47
+ title: "Capability discovery"
48
+ narrative: |
49
+ The buyer calls get_adcp_capabilities to confirm the agent supports creative operations before browsing or building creatives.
50
+
51
+ steps:
52
+ - id: get_capabilities
53
+ title: "Check agent capabilities"
54
+ narrative: |
55
+ Verify that the agent declares the expected protocol support before
56
+ proceeding with domain-specific operations.
57
+ task: get_adcp_capabilities
58
+ schema_ref: "protocol/get-adcp-capabilities-request.json"
59
+ response_schema_ref: "protocol/get-adcp-capabilities-response.json"
60
+ doc_ref: "/protocol/get_adcp_capabilities"
61
+ comply_scenario: capability_discovery
62
+ stateful: false
63
+ expected: |
64
+ Return capabilities declaring creative in supported_protocols, confirming the agent handles creative operations.
65
+ sample_request:
66
+ context:
67
+ correlation_id: "creative_lifecycle--get_capabilities"
68
+ validations:
69
+ - check: response_schema
70
+ description: "Response matches get-adcp-capabilities-response.json schema"
71
+ - check: field_present
72
+ path: "supported_protocols"
73
+ description: "Agent declares supported protocols"
74
+
75
+ - check: field_present
76
+ path: "context"
77
+ description: "Response echoes back the context object"
78
+ - check: field_value
79
+ path: "context.correlation_id"
80
+ value: "creative_lifecycle--get_capabilities"
81
+ description: "Context correlation_id returned unchanged"
82
+ - id: discover_formats
83
+ title: "Discover accepted formats"
84
+ narrative: |
85
+ Before pushing any creatives, the buyer discovers what formats your platform accepts.
86
+ This determines which assets to prepare and what dimensions and specs to target.
87
+
88
+ steps:
89
+ - id: list_formats
90
+ title: "List creative formats"
91
+ narrative: |
92
+ The buyer calls list_creative_formats to discover what your platform accepts.
93
+ The response defines format specs: dimensions, asset requirements, mime types,
94
+ and any platform-specific constraints.
95
+ task: list_creative_formats
96
+ schema_ref: "creative/list-creative-formats-request.json"
97
+ response_schema_ref: "creative/list-creative-formats-response.json"
98
+ doc_ref: "/creative/task-reference/list_creative_formats"
99
+ comply_scenario: creative_lifecycle
100
+ stateful: false
101
+ expected: |
102
+ Return all creative formats your platform accepts:
103
+ - format_id with your agent_url and unique id
104
+ - Asset requirements (dimensions, file sizes, mime types)
105
+ - Render dimensions
106
+ - At least two formats (e.g., display and video)
107
+
108
+ sample_request:
109
+ context:
110
+ correlation_id: "creative_lifecycle--list_formats"
111
+
112
+ validations:
113
+ - check: response_schema
114
+ description: "Response matches list-creative-formats-response.json schema"
115
+ - check: field_present
116
+ path: "formats"
117
+ description: "Response contains formats array"
118
+
119
+ - check: field_present
120
+ path: "context"
121
+ description: "Response echoes back the context object"
122
+ - check: field_value
123
+ path: "context.correlation_id"
124
+ value: "creative_lifecycle--list_formats"
125
+ description: "Context correlation_id returned unchanged"
126
+ - check: field_present
127
+ path: "formats[0].format_id.agent_url"
128
+ description: "Format IDs include agent_url"
129
+ - check: field_present
130
+ path: "formats[0].format_id.id"
131
+ description: "Format IDs include id — must match those in get_products"
132
+ - id: sync_multiple
133
+ title: "Sync multiple creatives"
134
+ narrative: |
135
+ The buyer pushes three creatives in different formats to your platform: a display
136
+ banner, a video spot, and a native card. Your platform validates each creative
137
+ against its format specs and returns per-creative status.
138
+
139
+ steps:
140
+ - id: sync_creatives
141
+ title: "Push three creatives in different formats"
142
+ narrative: |
143
+ The buyer syncs three creatives simultaneously: a 300x250 display banner, a 30s
144
+ video spot, and a native content card. Your platform validates each against its
145
+ format specs and returns per-creative action and status.
146
+ task: sync_creatives
147
+ schema_ref: "creative/sync-creatives-request.json"
148
+ response_schema_ref: "creative/sync-creatives-response.json"
149
+ doc_ref: "/creative/task-reference/sync_creatives"
150
+ comply_scenario: creative_lifecycle
151
+ stateful: true
152
+ expected: |
153
+ Accept and validate all three creatives:
154
+ - Per-creative action: created
155
+ - Per-creative status: accepted or pending_review
156
+ - Validation results for each creative
157
+ - Platform-assigned IDs if applicable
158
+
159
+ sample_request:
160
+ account:
161
+ brand:
162
+ domain: "acmeoutdoor.example"
163
+ operator: "pinnacle-agency.example"
164
+ creatives:
165
+ - creative_id: "display_trail_pro_300x250"
166
+ name: "Trail Pro 3000 - Display 300x250"
167
+ format_id:
168
+ agent_url: "https://your-platform.example.com"
169
+ id: "display_300x250"
170
+ assets:
171
+ image:
172
+ asset_type: "image"
173
+ url: "https://cdn.pinnacle-agency.example/trail-pro-300x250.png"
174
+ width: 300
175
+ height: 250
176
+ mime_type: "image/png"
177
+ - creative_id: "video_30s_trail_pro"
178
+ name: "Trail Pro 3000 - 30s Video"
179
+ format_id:
180
+ agent_url: "https://your-platform.example.com"
181
+ id: "video_30s"
182
+ assets:
183
+ video:
184
+ asset_type: "video"
185
+ url: "https://cdn.pinnacle-agency.example/trail-pro-30s.mp4"
186
+ width: 1920
187
+ height: 1080
188
+ duration_ms: 30000
189
+ mime_type: "video/mp4"
190
+ - creative_id: "native_trail_pro"
191
+ name: "Trail Pro 3000 - Native Card"
192
+ format_id:
193
+ agent_url: "https://your-platform.example.com"
194
+ id: "native_content"
195
+ assets:
196
+ image:
197
+ asset_type: "image"
198
+ url: "https://cdn.pinnacle-agency.example/trail-pro-native.png"
199
+ width: 1200
200
+ height: 628
201
+ mime_type: "image/png"
202
+ headline:
203
+ asset_type: "text"
204
+ content: "Trail Pro 3000 — Built for the Summit"
205
+
206
+ idempotency_key: "$generate:uuid_v4#creative_lifecycle_sync_multiple_sync_creatives"
207
+ context:
208
+ correlation_id: "creative_lifecycle--sync_creatives"
209
+ validations:
210
+ - check: response_schema
211
+ description: "Response matches sync-creatives-response.json schema"
212
+ - check: field_present
213
+ path: "creatives"
214
+ description: "Response contains per-creative results"
215
+
216
+ - check: field_present
217
+ path: "context"
218
+ description: "Response echoes back the context object"
219
+ - check: field_value
220
+ path: "context.correlation_id"
221
+ value: "creative_lifecycle--sync_creatives"
222
+ description: "Context correlation_id returned unchanged"
223
+ - id: list_and_filter
224
+ title: "List creatives with filtering"
225
+ narrative: |
226
+ The buyer queries the creative library to see their synced creatives. First a broad
227
+ list, then filtered by format. This verifies the library correctly stores and indexes
228
+ the pushed creatives.
229
+
230
+ steps:
231
+ - id: list_all
232
+ title: "List all creatives in library"
233
+ narrative: |
234
+ The buyer calls list_creatives with no filters to see all creatives in the
235
+ library for their account. The response includes the three creatives synced
236
+ in the previous phase.
237
+ task: list_creatives
238
+ schema_ref: "creative/list-creatives-request.json"
239
+ response_schema_ref: "creative/list-creatives-response.json"
240
+ doc_ref: "/creative/task-reference/list_creatives"
241
+ comply_scenario: creative_lifecycle
242
+ stateful: true
243
+ expected: |
244
+ Return creatives in the library:
245
+ - creatives array containing the synced items
246
+ - Each creative includes: creative_id, name, format_id, status
247
+ - At least three creatives from the sync phase
248
+
249
+ sample_request:
250
+ account:
251
+ brand:
252
+ domain: "acmeoutdoor.example"
253
+ operator: "pinnacle-agency.example"
254
+
255
+ context:
256
+ correlation_id: "creative_lifecycle--list_all"
257
+ validations:
258
+ - check: response_schema
259
+ description: "Response matches list-creatives-response.json schema"
260
+ - check: field_present
261
+ path: "creatives"
262
+ description: "Response contains creatives array"
263
+
264
+ - check: field_present
265
+ path: "context"
266
+ description: "Response echoes back the context object"
267
+ - check: field_value
268
+ path: "context.correlation_id"
269
+ value: "creative_lifecycle--list_all"
270
+ description: "Context correlation_id returned unchanged"
271
+ - id: list_filtered
272
+ title: "List creatives filtered by format"
273
+ narrative: |
274
+ The buyer lists creatives filtered to a specific format (display only). The
275
+ response should only include creatives matching that format.
276
+ task: list_creatives
277
+ schema_ref: "creative/list-creatives-request.json"
278
+ response_schema_ref: "creative/list-creatives-response.json"
279
+ doc_ref: "/creative/task-reference/list_creatives"
280
+ comply_scenario: creative_lifecycle
281
+ stateful: true
282
+ expected: |
283
+ Return only creatives matching the format filter:
284
+ - creatives array filtered to display format
285
+ - Should include display_trail_pro_300x250 but not video or native
286
+
287
+ sample_request:
288
+ account:
289
+ brand:
290
+ domain: "acmeoutdoor.example"
291
+ operator: "pinnacle-agency.example"
292
+ filters:
293
+ format_ids:
294
+ - agent_url: "https://your-platform.example.com"
295
+ id: "display_300x250"
296
+
297
+ context:
298
+ correlation_id: "creative_lifecycle--list_filtered"
299
+ validations:
300
+ - check: response_schema
301
+ description: "Response matches list-creatives-response.json schema"
302
+ - check: field_present
303
+ path: "creatives"
304
+ description: "Response contains filtered creatives"
305
+
306
+ - check: field_present
307
+ path: "context"
308
+ description: "Response echoes back the context object"
309
+ - check: field_value
310
+ path: "context.correlation_id"
311
+ value: "creative_lifecycle--list_filtered"
312
+ description: "Context correlation_id returned unchanged"
313
+ - id: build_and_preview
314
+ title: "Build and preview across formats"
315
+ narrative: |
316
+ The buyer builds serving tags and previews renderings for the synced creatives.
317
+ This tests multi-format output: a display tag, a VAST tag for video, and a
318
+ native rendering preview.
319
+
320
+ steps:
321
+ - id: preview_display
322
+ title: "Preview the display creative"
323
+ narrative: |
324
+ The buyer calls preview_creative for the display banner to see how it renders
325
+ in the platform's environment before going live.
326
+ task: preview_creative
327
+ schema_ref: "creative/preview-creative-request.json"
328
+ response_schema_ref: "creative/preview-creative-response.json"
329
+ doc_ref: "/creative/task-reference/preview_creative"
330
+ comply_scenario: creative_flow
331
+ stateful: true
332
+ expected: |
333
+ Return a preview of the display creative:
334
+ - preview_url: rendered preview the buyer can inspect
335
+ - render_dimensions: matches the 300x250 format
336
+ - status: preview available
337
+
338
+ sample_request:
339
+ account:
340
+ brand:
341
+ domain: "acmeoutdoor.example"
342
+ operator: "pinnacle-agency.example"
343
+ request_type: "single"
344
+ creative_manifest:
345
+ creative_id: "display_trail_pro_300x250"
346
+ format_id:
347
+ agent_url: "https://your-platform.example.com"
348
+ id: "display_300x250"
349
+ assets:
350
+ image:
351
+ asset_type: "image"
352
+ url: "https://test-assets.adcontextprotocol.org/acme-outdoor/banner_300x250.jpg"
353
+ width: 300
354
+ height: 250
355
+ click_url:
356
+ asset_type: "url"
357
+ url: "https://acmeoutdoor.example/trail-pro"
358
+
359
+ context:
360
+ correlation_id: "creative_lifecycle--preview_display"
361
+ validations:
362
+ - check: response_schema
363
+ description: "Response matches preview-creative-response.json schema"
364
+
365
+ - check: field_present
366
+ path: "context"
367
+ description: "Response echoes back the context object"
368
+ - check: field_value
369
+ path: "context.correlation_id"
370
+ value: "creative_lifecycle--preview_display"
371
+ description: "Context correlation_id returned unchanged"
372
+ - id: build_video_tag
373
+ title: "Build a VAST tag for the video creative"
374
+ narrative: |
375
+ The buyer builds a serving tag for the video creative. The platform produces
376
+ a VAST-compatible tag that the buyer can traffic to ad servers.
377
+ task: build_creative
378
+ schema_ref: "creative/build-creative-request.json"
379
+ response_schema_ref: "creative/build-creative-response.json"
380
+ doc_ref: "/creative/task-reference/build_creative"
381
+ comply_scenario: creative_flow
382
+ stateful: true
383
+ expected: |
384
+ Return a built serving tag for the video creative:
385
+ - tag: VAST-compatible serving tag or URL
386
+ - format: matches the video format
387
+ - creative_id: matches the requested creative
388
+
389
+ sample_request:
390
+ account:
391
+ brand:
392
+ domain: "acmeoutdoor.example"
393
+ operator: "pinnacle-agency.example"
394
+ creative_id: "video_30s_trail_pro"
395
+ target_format_id:
396
+ agent_url: "https://your-platform.example.com"
397
+ id: "vast_30s"
398
+ idempotency_key: "$generate:uuid_v4#creative_lifecycle_build_video_tag"
399
+
400
+ context:
401
+ correlation_id: "creative_lifecycle--build_video_tag"
402
+ validations:
403
+ - check: response_schema
404
+ description: "Response matches build-creative-response.json schema"
405
+
406
+ - check: field_present
407
+ path: "context"
408
+ description: "Response echoes back the context object"
409
+ - check: field_value
410
+ path: "context.correlation_id"
411
+ value: "creative_lifecycle--build_video_tag"
412
+ description: "Context correlation_id returned unchanged"