@adcp/sdk 6.9.0 → 6.11.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 (261) 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/decisioning/async-outcome.d.ts +17 -0
  191. package/dist/lib/server/decisioning/async-outcome.d.ts.map +1 -1
  192. package/dist/lib/server/decisioning/async-outcome.js +23 -18
  193. package/dist/lib/server/decisioning/async-outcome.js.map +1 -1
  194. package/dist/lib/server/decisioning/context.d.ts +8 -2
  195. package/dist/lib/server/decisioning/context.d.ts.map +1 -1
  196. package/dist/lib/server/decisioning/index.d.ts +1 -0
  197. package/dist/lib/server/decisioning/index.d.ts.map +1 -1
  198. package/dist/lib/server/decisioning/index.js.map +1 -1
  199. package/dist/lib/server/decisioning/runtime/from-platform.js +6 -4
  200. package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
  201. package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts.map +1 -1
  202. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js +5 -2
  203. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js.map +1 -1
  204. package/dist/lib/server/decisioning/runtime/task-registry.d.ts +5 -0
  205. package/dist/lib/server/decisioning/runtime/task-registry.d.ts.map +1 -1
  206. package/dist/lib/server/decisioning/runtime/task-registry.js +4 -1
  207. package/dist/lib/server/decisioning/runtime/task-registry.js.map +1 -1
  208. package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -1
  209. package/dist/lib/server/decisioning/runtime/to-context.js +10 -2
  210. package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -1
  211. package/dist/lib/server/dynamic-registry.d.ts +219 -0
  212. package/dist/lib/server/dynamic-registry.d.ts.map +1 -0
  213. package/dist/lib/server/dynamic-registry.js +245 -0
  214. package/dist/lib/server/dynamic-registry.js.map +1 -0
  215. package/dist/lib/server/index.d.ts +8 -0
  216. package/dist/lib/server/index.d.ts.map +1 -1
  217. package/dist/lib/server/index.js +15 -4
  218. package/dist/lib/server/index.js.map +1 -1
  219. package/dist/lib/server/operational-platform.d.ts +239 -0
  220. package/dist/lib/server/operational-platform.d.ts.map +1 -0
  221. package/dist/lib/server/operational-platform.js +94 -0
  222. package/dist/lib/server/operational-platform.js.map +1 -0
  223. package/dist/lib/server/test-controller.d.ts +2 -0
  224. package/dist/lib/server/test-controller.d.ts.map +1 -1
  225. package/dist/lib/server/test-controller.js +6 -11
  226. package/dist/lib/server/test-controller.js.map +1 -1
  227. package/dist/lib/server/wire-safe.d.ts +211 -0
  228. package/dist/lib/server/wire-safe.d.ts.map +1 -0
  229. package/dist/lib/server/wire-safe.js +231 -0
  230. package/dist/lib/server/wire-safe.js.map +1 -0
  231. package/dist/lib/server/wire-spec-fields.generated.d.ts +168 -0
  232. package/dist/lib/server/wire-spec-fields.generated.d.ts.map +1 -0
  233. package/dist/lib/server/wire-spec-fields.generated.js +172 -0
  234. package/dist/lib/server/wire-spec-fields.generated.js.map +1 -0
  235. package/dist/lib/testing/compliance/index.d.ts +2 -0
  236. package/dist/lib/testing/compliance/index.d.ts.map +1 -1
  237. package/dist/lib/testing/compliance/index.js +6 -1
  238. package/dist/lib/testing/compliance/index.js.map +1 -1
  239. package/dist/lib/testing/compliance/summary.d.ts +77 -0
  240. package/dist/lib/testing/compliance/summary.d.ts.map +1 -0
  241. package/dist/lib/testing/compliance/summary.js +176 -0
  242. package/dist/lib/testing/compliance/summary.js.map +1 -0
  243. package/dist/lib/testing/comply-controller.d.ts +2 -0
  244. package/dist/lib/testing/comply-controller.d.ts.map +1 -1
  245. package/dist/lib/testing/comply-controller.js.map +1 -1
  246. package/dist/lib/testing/storyboard/compliance.d.ts +26 -0
  247. package/dist/lib/testing/storyboard/compliance.d.ts.map +1 -1
  248. package/dist/lib/testing/storyboard/compliance.js +51 -0
  249. package/dist/lib/testing/storyboard/compliance.js.map +1 -1
  250. package/dist/lib/testing/storyboard/index.d.ts +2 -2
  251. package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
  252. package/dist/lib/testing/storyboard/index.js +4 -2
  253. package/dist/lib/testing/storyboard/index.js.map +1 -1
  254. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  255. package/dist/lib/testing/storyboard/runner.js +58 -5
  256. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  257. package/dist/lib/version.d.ts +3 -3
  258. package/dist/lib/version.d.ts.map +1 -1
  259. package/dist/lib/version.js +3 -3
  260. package/dist/lib/version.js.map +1 -1
  261. package/package.json +2 -2
@@ -0,0 +1,266 @@
1
+ id: signals_baseline
2
+ version: "1.1.0"
3
+ title: "Signals baseline"
4
+ protocol: signals
5
+ category: signals_baseline
6
+ summary: "Baseline domain storyboard — every signals agent must discover signals and return an activation, regardless of whether they are owned or marketplace."
7
+ track: signals
8
+ required_tools:
9
+ - get_signals
10
+ - activate_signal
11
+
12
+ narrative: |
13
+ Signals domain agents expose audience and contextual signals to buyers and
14
+ activate them on downstream destinations (DSPs, sales agents, clean rooms).
15
+ Every signals agent — whether a first-party owned platform or a third-party
16
+ marketplace — must support the same three-call flow at the protocol level:
17
+
18
+ 1. Declare the signals protocol in get_adcp_capabilities.
19
+ 2. Respond to get_signals with a schema-valid signals array.
20
+ 3. Respond to activate_signal with a schema-valid deployments array.
21
+
22
+ This baseline tests those three calls and nothing beyond them. Specialism
23
+ storyboards (signal-owned, signal-marketplace) exercise the richer flows
24
+ specific to each model — pricing option selection, source/provenance
25
+ discriminators, agent-destination vs. platform-destination activation,
26
+ and deactivation for compliance.
27
+
28
+ Agents declaring supported_protocols: ["signals"] MUST pass this baseline
29
+ even before claiming a specialism. Declaring signals without exposing
30
+ get_signals or activate_signal fails the baseline with missing_tool.
31
+
32
+ agent:
33
+ interaction_model: owned_signals
34
+ capabilities: []
35
+ examples:
36
+ - "Any signals agent (owned or marketplace)"
37
+ - "Retailer CDPs"
38
+ - "Publisher contextual platforms"
39
+ - "Data provider marketplaces"
40
+
41
+ caller:
42
+ role: buyer_agent
43
+ example: "Scope3 (DSP)"
44
+
45
+ prerequisites:
46
+ description: |
47
+ The buyer has a campaign brief with broad targeting objectives. The test
48
+ kit provides a sample brand (Nova Motors) with a signal description that
49
+ any signals agent should be able to interpret.
50
+ test_kit: "test-kits/nova-motors.yaml"
51
+
52
+ phases:
53
+ - id: capability_discovery
54
+ title: "Capability discovery"
55
+ narrative: |
56
+ The buyer calls get_adcp_capabilities to confirm the agent serves signals
57
+ before issuing discovery or activation calls.
58
+
59
+ steps:
60
+ - id: get_capabilities
61
+ title: "Check agent capabilities"
62
+ narrative: |
63
+ Verify that the agent declares `signals` in supported_protocols.
64
+ Without this claim the buyer will not send get_signals or
65
+ activate_signal.
66
+ task: get_adcp_capabilities
67
+ schema_ref: "protocol/get-adcp-capabilities-request.json"
68
+ response_schema_ref: "protocol/get-adcp-capabilities-response.json"
69
+ doc_ref: "/protocol/get_adcp_capabilities"
70
+ comply_scenario: capability_discovery
71
+ stateful: false
72
+ expected: |
73
+ Return capabilities declaring `signals` in supported_protocols.
74
+
75
+ sample_request:
76
+ context:
77
+ correlation_id: "signals_baseline--get_capabilities"
78
+ validations:
79
+ - check: response_schema
80
+ description: "Response matches get-adcp-capabilities-response.json schema"
81
+ - check: field_present
82
+ path: "supported_protocols"
83
+ description: "Agent declares supported protocols"
84
+
85
+ - check: field_present
86
+ path: "context"
87
+ description: "Response echoes back the context object"
88
+ - check: field_value
89
+ path: "context.correlation_id"
90
+ value: "signals_baseline--get_capabilities"
91
+ description: "Context correlation_id returned unchanged"
92
+
93
+ - id: discovery
94
+ title: "Signal discovery"
95
+ narrative: |
96
+ The buyer calls get_signals with a natural language signal_spec. Every
97
+ signals agent — owned or marketplace — must return a schema-valid
98
+ response. The buyer uses the returned signal_agent_segment_id values
99
+ to drive activation in the next phase.
100
+
101
+ steps:
102
+ - id: search_signals
103
+ title: "Discover signals matching a spec"
104
+ narrative: |
105
+ The buyer describes a target audience in natural language. The agent
106
+ returns a list of signals from its catalog that match. Each signal
107
+ must include the fields the buyer needs to proceed to activation.
108
+ task: get_signals
109
+ schema_ref: "signals/get-signals-request.json"
110
+ response_schema_ref: "signals/get-signals-response.json"
111
+ doc_ref: "/signals/tasks/get_signals"
112
+ comply_scenario: signals_flow
113
+ stateful: false
114
+ expected: |
115
+ Return a signals array with at least one entry. Each signal must
116
+ carry a signal_agent_segment_id that the buyer can pass to
117
+ activate_signal, along with pricing_options and a signal_id that
118
+ includes a source discriminator.
119
+
120
+ sample_request:
121
+ account:
122
+ brand:
123
+ domain: "novamotors.example"
124
+ operator: "pinnacle-agency.example"
125
+ signal_spec: "Adults interested in electric vehicles"
126
+ context:
127
+ correlation_id: "signals_baseline--search_signals"
128
+ context_outputs:
129
+ - name: signal_agent_segment_id
130
+ path: "signals[0].signal_agent_segment_id"
131
+ - name: pricing_option_id
132
+ path: "signals[0].pricing_options[0].pricing_option_id"
133
+ validations:
134
+ - check: response_schema
135
+ description: "Response matches get-signals-response.json schema"
136
+ - check: field_present
137
+ path: "signals[0].signal_agent_segment_id"
138
+ description: "First signal carries a signal_agent_segment_id"
139
+ - check: field_present
140
+ path: "signals[0].signal_id.source"
141
+ description: "Signal ID carries a source discriminator (agent_native or data_provider)"
142
+ - check: field_present
143
+ path: "signals[0].pricing_options"
144
+ description: "Signal carries pricing options the buyer can select"
145
+
146
+ - check: field_present
147
+ path: "context"
148
+ description: "Response echoes back the context object"
149
+ - check: field_value
150
+ path: "context.correlation_id"
151
+ value: "signals_baseline--search_signals"
152
+ description: "Context correlation_id returned unchanged"
153
+
154
+ - id: activation
155
+ title: "Signal activation"
156
+ narrative: |
157
+ The buyer activates one of the signals returned from discovery against
158
+ a destination. The protocol baseline tests only that the agent accepts
159
+ the call and returns a schema-valid deployments array — specialisms
160
+ exercise owned vs. marketplace activation patterns in depth.
161
+
162
+ steps:
163
+ - id: activate_on_agent
164
+ title: "Activate on a sales agent destination"
165
+ narrative: |
166
+ Using the signal_agent_segment_id and pricing_option_id captured
167
+ from the previous step, the buyer activates the signal on a sales
168
+ agent destination. Every signals agent MUST accept `type: agent`
169
+ per the signals specification — the SA records the activation
170
+ internally and applies targeting in subsequent media-buy calls.
171
+ task: activate_signal
172
+ schema_ref: "signals/activate-signal-request.json"
173
+ response_schema_ref: "signals/activate-signal-response.json"
174
+ doc_ref: "/signals/tasks/activate_signal"
175
+ comply_scenario: signals_flow
176
+ stateful: true
177
+ expected: |
178
+ Return a deployments array with at least one entry carrying a
179
+ `type` discriminator and, for live deployments, an
180
+ `activation_key`. Agents MAY return an async deployment with
181
+ `is_live: false` and `estimated_activation_duration_minutes`.
182
+
183
+ sample_request:
184
+ account:
185
+ brand:
186
+ domain: "novamotors.example"
187
+ operator: "pinnacle-agency.example"
188
+ signal_agent_segment_id: "$context.signal_agent_segment_id"
189
+ pricing_option_id: "$context.pricing_option_id"
190
+ destinations:
191
+ - type: "agent"
192
+ agent_url: "https://wonderstruck.salesagents.example"
193
+ idempotency_key: "$generate:uuid_v4#signals_baseline_activate_agent"
194
+
195
+ context:
196
+ correlation_id: "signals_baseline--activate_on_agent"
197
+ ext:
198
+ test_platform:
199
+ test_run: true
200
+ validations:
201
+ - check: response_schema
202
+ description: "Response matches activate-signal-response.json schema"
203
+ - check: field_present
204
+ path: "deployments[0].type"
205
+ description: "Deployment carries a type discriminator"
206
+
207
+ - check: field_present
208
+ path: "context"
209
+ description: "Response echoes back the context object"
210
+ - check: field_value
211
+ path: "context.correlation_id"
212
+ value: "signals_baseline--activate_on_agent"
213
+ description: "Context correlation_id returned unchanged"
214
+
215
+ - id: activate_on_platform
216
+ title: "Activate on a platform destination"
217
+ narrative: |
218
+ The buyer re-activates the same signal against a platform
219
+ destination (a DSP). Signal agents MUST accept `type: platform`
220
+ per the signals specification — the agent pushes the segment to
221
+ the platform and returns a deployment record.
222
+ task: activate_signal
223
+ schema_ref: "signals/activate-signal-request.json"
224
+ response_schema_ref: "signals/activate-signal-response.json"
225
+ doc_ref: "/signals/tasks/activate_signal"
226
+ comply_scenario: signals_flow
227
+ stateful: true
228
+ expected: |
229
+ Return a deployments array with at least one entry whose
230
+ `type: "platform"` and, for live deployments, an
231
+ `activation_key` with `type: "segment_id"`. Async deployments
232
+ MAY report `is_live: false` with
233
+ `estimated_activation_duration_minutes`.
234
+
235
+ sample_request:
236
+ account:
237
+ brand:
238
+ domain: "novamotors.example"
239
+ operator: "pinnacle-agency.example"
240
+ signal_agent_segment_id: "$context.signal_agent_segment_id"
241
+ pricing_option_id: "$context.pricing_option_id"
242
+ destinations:
243
+ - type: "platform"
244
+ platform: "the-trade-desk"
245
+ account: "agency-123-ttd"
246
+ idempotency_key: "$generate:uuid_v4#signals_baseline_activate_platform"
247
+
248
+ context:
249
+ correlation_id: "signals_baseline--activate_on_platform"
250
+ ext:
251
+ test_platform:
252
+ test_run: true
253
+ validations:
254
+ - check: response_schema
255
+ description: "Response matches activate-signal-response.json schema"
256
+ - check: field_present
257
+ path: "deployments[0].type"
258
+ description: "Deployment carries a type discriminator"
259
+
260
+ - check: field_present
261
+ path: "context"
262
+ description: "Response echoes back the context object"
263
+ - check: field_value
264
+ path: "context.correlation_id"
265
+ value: "signals_baseline--activate_on_platform"
266
+ description: "Context correlation_id returned unchanged"
@@ -0,0 +1,256 @@
1
+ id: si_baseline
2
+ version: "1.0.0"
3
+ title: "Sponsored intelligence baseline"
4
+ protocol: sponsored-intelligence
5
+ category: si_baseline
6
+ summary: "Baseline domain storyboard — every SI agent must discover offerings, initiate a session, exchange messages, and terminate cleanly."
7
+ track: si
8
+ required_tools:
9
+ - si_initiate_session
10
+
11
+ narrative: |
12
+ You run an AI platform that supports sponsored intelligence — conversational ad experiences
13
+ embedded in AI-powered search, chat, or assistant products. A buyer agent connects to
14
+ discover what SI offerings are available, initiate a session, send messages within the
15
+ conversation, and cleanly terminate when done.
16
+
17
+ Sponsored intelligence is fundamentally different from display or video advertising. The
18
+ ad experience is conversational — the user asks a question, the AI responds, and sponsored
19
+ content is woven into the response in a way that is transparent and relevant.
20
+
21
+ This storyboard covers the SI session lifecycle from the buyer's perspective: discovering
22
+ what the platform offers, starting a conversation, exchanging messages, and ending the
23
+ session.
24
+
25
+ agent:
26
+ interaction_model: si_platform
27
+ capabilities:
28
+ - sponsored_intelligence
29
+ examples:
30
+ - "Perplexity"
31
+ - "ChatGPT Search"
32
+ - "Arc Browser"
33
+ - "AI assistants with ad support"
34
+
35
+ caller:
36
+ role: buyer_agent
37
+ example: "Nova Motors (advertiser)"
38
+
39
+ prerequisites:
40
+ description: |
41
+ The caller needs brand context and campaign parameters for SI. The test kit provides
42
+ a sample brand (Nova Motors) with signal definitions suitable for conversational
43
+ ad experiences.
44
+ test_kit: "test-kits/nova-motors.yaml"
45
+
46
+ phases:
47
+ - id: capability_discovery
48
+ title: "Capability discovery"
49
+ narrative: |
50
+ The buyer calls get_adcp_capabilities to confirm the agent supports sponsored intelligence before initiating sessions.
51
+
52
+ steps:
53
+ - id: get_capabilities
54
+ title: "Check agent capabilities"
55
+ narrative: |
56
+ Verify that the agent declares the expected protocol support before
57
+ proceeding with domain-specific operations.
58
+ task: get_adcp_capabilities
59
+ schema_ref: "protocol/get-adcp-capabilities-request.json"
60
+ response_schema_ref: "protocol/get-adcp-capabilities-response.json"
61
+ doc_ref: "/protocol/get_adcp_capabilities"
62
+ comply_scenario: capability_discovery
63
+ stateful: false
64
+ expected: |
65
+ Return capabilities declaring sponsored_intelligence in supported_protocols, confirming the agent supports conversational ad experiences.
66
+ sample_request:
67
+ context:
68
+ correlation_id: "si_session--get_capabilities"
69
+ validations:
70
+ - check: response_schema
71
+ description: "Response matches get-adcp-capabilities-response.json schema"
72
+ - check: field_present
73
+ path: "supported_protocols"
74
+ description: "Agent declares supported protocols"
75
+
76
+ - check: field_present
77
+ path: "context"
78
+ description: "Response echoes back the context object"
79
+ - check: field_value
80
+ path: "context.correlation_id"
81
+ value: "si_session--get_capabilities"
82
+ description: "Context correlation_id returned unchanged"
83
+ - id: offering_discovery
84
+ title: "Discover SI offerings"
85
+ narrative: |
86
+ Before initiating any session, the buyer discovers what sponsored intelligence
87
+ offerings the platform has available. This determines what kinds of conversational
88
+ experiences can be sponsored and at what pricing.
89
+
90
+ steps:
91
+ - id: si_get_offering
92
+ title: "Get available SI offerings"
93
+ narrative: |
94
+ The buyer calls si_get_offering to learn what conversational ad experiences
95
+ the platform supports. The response describes available offerings with pricing,
96
+ targeting options, and format specifications.
97
+ task: si_get_offering
98
+ schema_ref: "sponsored-intelligence/si-get-offering-request.json"
99
+ response_schema_ref: "sponsored-intelligence/si-get-offering-response.json"
100
+ doc_ref: "/sponsored-intelligence/tasks/si_get_offering"
101
+ comply_scenario: si_availability
102
+ stateful: false
103
+ expected: |
104
+ Return available SI offerings:
105
+ - Offering descriptions with pricing
106
+ - Supported conversation types
107
+ - Targeting and context options
108
+ - Format specifications for sponsored content
109
+
110
+ sample_request:
111
+ offering_id: "novamotors_conversational_v1"
112
+ context:
113
+ correlation_id: "si_session--si_get_offering"
114
+
115
+ context_outputs:
116
+ - name: offering_id
117
+ path: 'offering_id'
118
+ validations:
119
+ - check: response_schema
120
+ description: "Response matches si-get-offering-response.json schema"
121
+
122
+ - check: field_present
123
+ path: "context"
124
+ description: "Response echoes back the context object"
125
+ - check: field_value
126
+ path: "context.correlation_id"
127
+ value: "si_session--si_get_offering"
128
+ description: "Context correlation_id returned unchanged"
129
+ - id: session_lifecycle
130
+ title: "Session lifecycle"
131
+ narrative: |
132
+ The buyer initiates a session, exchanges messages within it, and terminates
133
+ cleanly. Each session represents a single conversational ad experience — the
134
+ buyer provides context and the platform weaves sponsored content into the
135
+ conversation.
136
+
137
+ steps:
138
+ - id: si_initiate_session
139
+ title: "Start a conversation session"
140
+ narrative: |
141
+ The buyer initiates a new SI session with campaign context. The platform
142
+ creates a session and returns a session ID that the buyer uses for subsequent
143
+ messages.
144
+ task: si_initiate_session
145
+ schema_ref: "sponsored-intelligence/si-initiate-session-request.json"
146
+ response_schema_ref: "sponsored-intelligence/si-initiate-session-response.json"
147
+ doc_ref: "/sponsored-intelligence/tasks/si_initiate_session"
148
+ comply_scenario: si_session_lifecycle
149
+ stateful: true
150
+ expected: |
151
+ Return a new session:
152
+ - session_id: platform-assigned session identifier
153
+ - status: active
154
+ - Initial context acknowledgment
155
+ - Available interaction modes
156
+
157
+ sample_request:
158
+ intent: "User is researching electric vehicles for long road trips and wants to talk to Nova Motors"
159
+ identity:
160
+ consent_granted: true
161
+ consent_timestamp: "2026-04-22T14:00:00Z"
162
+ user:
163
+ locale: "en-US"
164
+
165
+ idempotency_key: "$generate:uuid_v4#si_baseline_session_lifecycle_si_initiate_session"
166
+ context:
167
+ correlation_id: "si_session--si_initiate_session"
168
+ context_outputs:
169
+ - name: session_id
170
+ path: 'session_id'
171
+ validations:
172
+ - check: response_schema
173
+ description: "Response matches si-initiate-session-response.json schema"
174
+
175
+ - check: field_present
176
+ path: "context"
177
+ description: "Response echoes back the context object"
178
+ - check: field_value
179
+ path: "context.correlation_id"
180
+ value: "si_session--si_initiate_session"
181
+ description: "Context correlation_id returned unchanged"
182
+ - check: field_present
183
+ path: "session_id"
184
+ description: "Platform assigns session_id — must be echoed in si_send_message and si_terminate_session"
185
+ - id: si_send_message
186
+ title: "Exchange messages"
187
+ narrative: |
188
+ The buyer sends a message within the active session. The platform processes
189
+ the message and returns a response that may include sponsored content woven
190
+ into the conversational experience.
191
+ task: si_send_message
192
+ schema_ref: "sponsored-intelligence/si-send-message-request.json"
193
+ response_schema_ref: "sponsored-intelligence/si-send-message-response.json"
194
+ doc_ref: "/sponsored-intelligence/tasks/si_send_message"
195
+ comply_scenario: si_session_lifecycle
196
+ stateful: true
197
+ expected: |
198
+ Process the message and return a response:
199
+ - Message acknowledgment
200
+ - Response content (may include sponsored elements)
201
+ - Session state (active, waiting, etc.)
202
+
203
+ sample_request:
204
+ session_id: "$context.session_id"
205
+ message: "What are the best electric vehicles for long road trips?"
206
+
207
+ idempotency_key: "$generate:uuid_v4#si_baseline_session_lifecycle_si_send_message"
208
+ context:
209
+ correlation_id: "si_session--si_send_message"
210
+ validations:
211
+ - check: response_schema
212
+ description: "Response matches si-send-message-response.json schema"
213
+
214
+ - check: field_present
215
+ path: "context"
216
+ description: "Response echoes back the context object"
217
+ - check: field_value
218
+ path: "context.correlation_id"
219
+ value: "si_session--si_send_message"
220
+ description: "Context correlation_id returned unchanged"
221
+ - id: si_terminate_session
222
+ title: "End the session"
223
+ narrative: |
224
+ The buyer terminates the SI session. The platform records session metrics
225
+ and returns a summary of the conversation including any sponsored content
226
+ that was delivered.
227
+ task: si_terminate_session
228
+ schema_ref: "sponsored-intelligence/si-terminate-session-request.json"
229
+ response_schema_ref: "sponsored-intelligence/si-terminate-session-response.json"
230
+ doc_ref: "/sponsored-intelligence/tasks/si_terminate_session"
231
+ comply_scenario: si_handoff
232
+ stateful: true
233
+ expected: |
234
+ Terminate the session and return a summary:
235
+ - session_id: confirms which session was terminated
236
+ - status: terminated
237
+ - Session metrics (duration, messages exchanged)
238
+ - Sponsored content delivery summary
239
+
240
+ sample_request:
241
+ session_id: "$context.session_id"
242
+ reason: "handoff_complete"
243
+
244
+ context:
245
+ correlation_id: "si_session--si_terminate_session"
246
+ validations:
247
+ - check: response_schema
248
+ description: "Response matches si-terminate-session-response.json schema"
249
+
250
+ - check: field_present
251
+ path: "context"
252
+ description: "Response echoes back the context object"
253
+ - check: field_value
254
+ path: "context.correlation_id"
255
+ value: "si_session--si_terminate_session"
256
+ description: "Context correlation_id returned unchanged"