@adcp/sdk 5.25.1 → 6.1.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 (454) hide show
  1. package/README.md +45 -7
  2. package/dist/lib/compliance-fixtures/index.d.ts +1 -1
  3. package/dist/lib/compliance-fixtures/index.js +1 -1
  4. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  5. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  6. package/dist/lib/core/SingleAgentClient.js +27 -0
  7. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  8. package/dist/lib/core/TaskExecutor.d.ts +21 -0
  9. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  10. package/dist/lib/core/TaskExecutor.js +25 -2
  11. package/dist/lib/core/TaskExecutor.js.map +1 -1
  12. package/dist/lib/index.d.ts +1 -1
  13. package/dist/lib/index.d.ts.map +1 -1
  14. package/dist/lib/index.js +7 -8
  15. package/dist/lib/index.js.map +1 -1
  16. package/dist/lib/schemas/index.d.ts +1 -1
  17. package/dist/lib/schemas/index.js +1 -1
  18. package/dist/lib/schemas-data/v2.5/_provenance.json +8 -0
  19. package/dist/lib/schemas-data/v2.5/adagents.json +494 -0
  20. package/dist/lib/schemas-data/v2.5/core/activation-key.json +50 -0
  21. package/dist/lib/schemas-data/v2.5/core/assets/audio-asset.json +32 -0
  22. package/dist/lib/schemas-data/v2.5/core/assets/css-asset.json +21 -0
  23. package/dist/lib/schemas-data/v2.5/core/assets/daast-asset.json +87 -0
  24. package/dist/lib/schemas-data/v2.5/core/assets/html-asset.json +21 -0
  25. package/dist/lib/schemas-data/v2.5/core/assets/image-asset.json +38 -0
  26. package/dist/lib/schemas-data/v2.5/core/assets/javascript-asset.json +21 -0
  27. package/dist/lib/schemas-data/v2.5/core/assets/markdown-asset.json +31 -0
  28. package/dist/lib/schemas-data/v2.5/core/assets/text-asset.json +21 -0
  29. package/dist/lib/schemas-data/v2.5/core/assets/url-asset.json +26 -0
  30. package/dist/lib/schemas-data/v2.5/core/assets/vast-asset.json +87 -0
  31. package/dist/lib/schemas-data/v2.5/core/assets/video-asset.json +44 -0
  32. package/dist/lib/schemas-data/v2.5/core/assets/webhook-asset.json +71 -0
  33. package/dist/lib/schemas-data/v2.5/core/async-response-data.json +88 -0
  34. package/dist/lib/schemas-data/v2.5/core/brand-manifest-ref.json +33 -0
  35. package/dist/lib/schemas-data/v2.5/core/brand-manifest.json +409 -0
  36. package/dist/lib/schemas-data/v2.5/core/context.json +8 -0
  37. package/dist/lib/schemas-data/v2.5/core/creative-asset.json +125 -0
  38. package/dist/lib/schemas-data/v2.5/core/creative-assignment.json +31 -0
  39. package/dist/lib/schemas-data/v2.5/core/creative-filters.json +111 -0
  40. package/dist/lib/schemas-data/v2.5/core/creative-manifest.json +72 -0
  41. package/dist/lib/schemas-data/v2.5/core/creative-policy.json +27 -0
  42. package/dist/lib/schemas-data/v2.5/core/delivery-metrics.json +171 -0
  43. package/dist/lib/schemas-data/v2.5/core/deployment.json +93 -0
  44. package/dist/lib/schemas-data/v2.5/core/destination.json +53 -0
  45. package/dist/lib/schemas-data/v2.5/core/error.json +40 -0
  46. package/dist/lib/schemas-data/v2.5/core/ext.json +8 -0
  47. package/dist/lib/schemas-data/v2.5/core/format-id.json +47 -0
  48. package/dist/lib/schemas-data/v2.5/core/format.json +324 -0
  49. package/dist/lib/schemas-data/v2.5/core/frequency-cap.json +18 -0
  50. package/dist/lib/schemas-data/v2.5/core/mcp-webhook-payload.json +152 -0
  51. package/dist/lib/schemas-data/v2.5/core/measurement.json +48 -0
  52. package/dist/lib/schemas-data/v2.5/core/media-buy.json +62 -0
  53. package/dist/lib/schemas-data/v2.5/core/package.json +72 -0
  54. package/dist/lib/schemas-data/v2.5/core/performance-feedback.json +90 -0
  55. package/dist/lib/schemas-data/v2.5/core/placement.json +34 -0
  56. package/dist/lib/schemas-data/v2.5/core/pricing-option.json +35 -0
  57. package/dist/lib/schemas-data/v2.5/core/product-filters.json +102 -0
  58. package/dist/lib/schemas-data/v2.5/core/product.json +153 -0
  59. package/dist/lib/schemas-data/v2.5/core/promoted-offerings.json +115 -0
  60. package/dist/lib/schemas-data/v2.5/core/promoted-products.json +67 -0
  61. package/dist/lib/schemas-data/v2.5/core/property-id.json +14 -0
  62. package/dist/lib/schemas-data/v2.5/core/property-tag.json +16 -0
  63. package/dist/lib/schemas-data/v2.5/core/property.json +62 -0
  64. package/dist/lib/schemas-data/v2.5/core/protocol-envelope.json +146 -0
  65. package/dist/lib/schemas-data/v2.5/core/publisher-property-selector.json +92 -0
  66. package/dist/lib/schemas-data/v2.5/core/push-notification-config.json +48 -0
  67. package/dist/lib/schemas-data/v2.5/core/reporting-capabilities.json +71 -0
  68. package/dist/lib/schemas-data/v2.5/core/response.json +24 -0
  69. package/dist/lib/schemas-data/v2.5/core/signal-filters.json +35 -0
  70. package/dist/lib/schemas-data/v2.5/core/start-timing.json +18 -0
  71. package/dist/lib/schemas-data/v2.5/core/sub-asset.json +79 -0
  72. package/dist/lib/schemas-data/v2.5/core/targeting.json +50 -0
  73. package/dist/lib/schemas-data/v2.5/core/tasks-get-request.json +43 -0
  74. package/dist/lib/schemas-data/v2.5/core/tasks-get-response.json +166 -0
  75. package/dist/lib/schemas-data/v2.5/core/tasks-list-request.json +192 -0
  76. package/dist/lib/schemas-data/v2.5/core/tasks-list-response.json +183 -0
  77. package/dist/lib/schemas-data/v2.5/creative/asset-types/index.json +101 -0
  78. package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-request.json +73 -0
  79. package/dist/lib/schemas-data/v2.5/creative/list-creative-formats-response.json +61 -0
  80. package/dist/lib/schemas-data/v2.5/creative/preview-creative-request.json +164 -0
  81. package/dist/lib/schemas-data/v2.5/creative/preview-creative-response.json +245 -0
  82. package/dist/lib/schemas-data/v2.5/creative/preview-render.json +225 -0
  83. package/dist/lib/schemas-data/v2.5/enums/adcp-domain.json +11 -0
  84. package/dist/lib/schemas-data/v2.5/enums/asset-content-type.json +22 -0
  85. package/dist/lib/schemas-data/v2.5/enums/auth-scheme.json +11 -0
  86. package/dist/lib/schemas-data/v2.5/enums/available-metric.json +18 -0
  87. package/dist/lib/schemas-data/v2.5/enums/channels.json +18 -0
  88. package/dist/lib/schemas-data/v2.5/enums/co-branding-requirement.json +12 -0
  89. package/dist/lib/schemas-data/v2.5/enums/creative-action.json +14 -0
  90. package/dist/lib/schemas-data/v2.5/enums/creative-agent-capability.json +13 -0
  91. package/dist/lib/schemas-data/v2.5/enums/creative-sort-field.json +15 -0
  92. package/dist/lib/schemas-data/v2.5/enums/creative-status.json +19 -0
  93. package/dist/lib/schemas-data/v2.5/enums/daast-tracking-event.json +20 -0
  94. package/dist/lib/schemas-data/v2.5/enums/daast-version.json +11 -0
  95. package/dist/lib/schemas-data/v2.5/enums/delivery-type.json +15 -0
  96. package/dist/lib/schemas-data/v2.5/enums/dimension-unit.json +13 -0
  97. package/dist/lib/schemas-data/v2.5/enums/feed-format.json +12 -0
  98. package/dist/lib/schemas-data/v2.5/enums/feedback-source.json +13 -0
  99. package/dist/lib/schemas-data/v2.5/enums/format-category.json +16 -0
  100. package/dist/lib/schemas-data/v2.5/enums/format-id-parameter.json +11 -0
  101. package/dist/lib/schemas-data/v2.5/enums/frequency-cap-scope.json +13 -0
  102. package/dist/lib/schemas-data/v2.5/enums/history-entry-type.json +11 -0
  103. package/dist/lib/schemas-data/v2.5/enums/http-method.json +11 -0
  104. package/dist/lib/schemas-data/v2.5/enums/identifier-types.json +34 -0
  105. package/dist/lib/schemas-data/v2.5/enums/javascript-module-type.json +12 -0
  106. package/dist/lib/schemas-data/v2.5/enums/landing-page-requirement.json +12 -0
  107. package/dist/lib/schemas-data/v2.5/enums/markdown-flavor.json +11 -0
  108. package/dist/lib/schemas-data/v2.5/enums/media-buy-status.json +19 -0
  109. package/dist/lib/schemas-data/v2.5/enums/metric-type.json +17 -0
  110. package/dist/lib/schemas-data/v2.5/enums/notification-type.json +13 -0
  111. package/dist/lib/schemas-data/v2.5/enums/pacing.json +17 -0
  112. package/dist/lib/schemas-data/v2.5/enums/preview-output-format.json +11 -0
  113. package/dist/lib/schemas-data/v2.5/enums/pricing-model.json +25 -0
  114. package/dist/lib/schemas-data/v2.5/enums/property-type.json +16 -0
  115. package/dist/lib/schemas-data/v2.5/enums/publisher-identifier-types.json +19 -0
  116. package/dist/lib/schemas-data/v2.5/enums/reporting-frequency.json +12 -0
  117. package/dist/lib/schemas-data/v2.5/enums/signal-catalog-type.json +12 -0
  118. package/dist/lib/schemas-data/v2.5/enums/sort-direction.json +11 -0
  119. package/dist/lib/schemas-data/v2.5/enums/standard-format-ids.json +103 -0
  120. package/dist/lib/schemas-data/v2.5/enums/task-status.json +29 -0
  121. package/dist/lib/schemas-data/v2.5/enums/task-type.json +27 -0
  122. package/dist/lib/schemas-data/v2.5/enums/update-frequency.json +13 -0
  123. package/dist/lib/schemas-data/v2.5/enums/url-asset-type.json +12 -0
  124. package/dist/lib/schemas-data/v2.5/enums/validation-mode.json +11 -0
  125. package/dist/lib/schemas-data/v2.5/enums/vast-tracking-event.json +25 -0
  126. package/dist/lib/schemas-data/v2.5/enums/vast-version.json +14 -0
  127. package/dist/lib/schemas-data/v2.5/enums/webhook-response-type.json +13 -0
  128. package/dist/lib/schemas-data/v2.5/enums/webhook-security-method.json +12 -0
  129. package/dist/lib/schemas-data/v2.5/index.json +604 -0
  130. package/dist/lib/schemas-data/v2.5/media-buy/build-creative-request.json +31 -0
  131. package/dist/lib/schemas-data/v2.5/media-buy/build-creative-response.json +65 -0
  132. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-input-required.json +31 -0
  133. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-submitted.json +16 -0
  134. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-async-response-working.json +36 -0
  135. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-request.json +126 -0
  136. package/dist/lib/schemas-data/v2.5/media-buy/create-media-buy-response.json +97 -0
  137. package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-request.json +54 -0
  138. package/dist/lib/schemas-data/v2.5/media-buy/get-media-buy-delivery-response.json +285 -0
  139. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-input-required.json +38 -0
  140. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-submitted.json +21 -0
  141. package/dist/lib/schemas-data/v2.5/media-buy/get-products-async-response-working.json +34 -0
  142. package/dist/lib/schemas-data/v2.5/media-buy/get-products-request.json +28 -0
  143. package/dist/lib/schemas-data/v2.5/media-buy/get-products-response.json +33 -0
  144. package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-request.json +26 -0
  145. package/dist/lib/schemas-data/v2.5/media-buy/list-authorized-properties-response.json +70 -0
  146. package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-request.json +58 -0
  147. package/dist/lib/schemas-data/v2.5/media-buy/list-creative-formats-response.json +61 -0
  148. package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-request.json +137 -0
  149. package/dist/lib/schemas-data/v2.5/media-buy/list-creatives-response.json +437 -0
  150. package/dist/lib/schemas-data/v2.5/media-buy/package-request.json +80 -0
  151. package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-request.json +88 -0
  152. package/dist/lib/schemas-data/v2.5/media-buy/provide-performance-feedback-response.json +66 -0
  153. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-input-required.json +25 -0
  154. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-submitted.json +16 -0
  155. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-async-response-working.json +46 -0
  156. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-request.json +178 -0
  157. package/dist/lib/schemas-data/v2.5/media-buy/sync-creatives-response.json +149 -0
  158. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-input-required.json +24 -0
  159. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-submitted.json +16 -0
  160. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-async-response-working.json +36 -0
  161. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-request.json +129 -0
  162. package/dist/lib/schemas-data/v2.5/media-buy/update-media-buy-response.json +99 -0
  163. package/dist/lib/schemas-data/v2.5/pricing-options/cpc-option.json +52 -0
  164. package/dist/lib/schemas-data/v2.5/pricing-options/cpcv-option.json +52 -0
  165. package/dist/lib/schemas-data/v2.5/pricing-options/cpm-auction-option.json +81 -0
  166. package/dist/lib/schemas-data/v2.5/pricing-options/cpm-fixed-option.json +52 -0
  167. package/dist/lib/schemas-data/v2.5/pricing-options/cpp-option.json +73 -0
  168. package/dist/lib/schemas-data/v2.5/pricing-options/cpv-option.json +88 -0
  169. package/dist/lib/schemas-data/v2.5/pricing-options/flat-rate-option.json +93 -0
  170. package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-auction-option.json +81 -0
  171. package/dist/lib/schemas-data/v2.5/pricing-options/vcpm-fixed-option.json +52 -0
  172. package/dist/lib/schemas-data/v2.5/protocols/adcp-extension.json +33 -0
  173. package/dist/lib/schemas-data/v2.5/signals/activate-signal-request.json +32 -0
  174. package/dist/lib/schemas-data/v2.5/signals/activate-signal-response.json +68 -0
  175. package/dist/lib/schemas-data/v2.5/signals/get-signals-request.json +59 -0
  176. package/dist/lib/schemas-data/v2.5/signals/get-signals-response.json +100 -0
  177. package/dist/lib/server/create-adcp-server.d.ts +129 -11
  178. package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
  179. package/dist/lib/server/create-adcp-server.js +127 -2
  180. package/dist/lib/server/create-adcp-server.js.map +1 -1
  181. package/dist/lib/server/ctx-metadata/backends/memory.d.ts +27 -0
  182. package/dist/lib/server/ctx-metadata/backends/memory.d.ts.map +1 -0
  183. package/dist/lib/server/ctx-metadata/backends/memory.js +72 -0
  184. package/dist/lib/server/ctx-metadata/backends/memory.js.map +1 -0
  185. package/dist/lib/server/ctx-metadata/backends/pg.d.ts +62 -0
  186. package/dist/lib/server/ctx-metadata/backends/pg.d.ts.map +1 -0
  187. package/dist/lib/server/ctx-metadata/backends/pg.js +145 -0
  188. package/dist/lib/server/ctx-metadata/backends/pg.js.map +1 -0
  189. package/dist/lib/server/ctx-metadata/index.d.ts +15 -0
  190. package/dist/lib/server/ctx-metadata/index.d.ts.map +1 -0
  191. package/dist/lib/server/ctx-metadata/index.js +28 -0
  192. package/dist/lib/server/ctx-metadata/index.js.map +1 -0
  193. package/dist/lib/server/ctx-metadata/store.d.ts +177 -0
  194. package/dist/lib/server/ctx-metadata/store.d.ts.map +1 -0
  195. package/dist/lib/server/ctx-metadata/store.js +327 -0
  196. package/dist/lib/server/ctx-metadata/store.js.map +1 -0
  197. package/dist/lib/server/ctx-metadata/wire-shape.d.ts +55 -0
  198. package/dist/lib/server/ctx-metadata/wire-shape.d.ts.map +1 -0
  199. package/dist/lib/server/ctx-metadata/wire-shape.js +121 -0
  200. package/dist/lib/server/ctx-metadata/wire-shape.js.map +1 -0
  201. package/dist/lib/server/decisioning/account.d.ts +309 -0
  202. package/dist/lib/server/decisioning/account.d.ts.map +1 -0
  203. package/dist/lib/server/decisioning/account.js +102 -0
  204. package/dist/lib/server/decisioning/account.js.map +1 -0
  205. package/dist/lib/server/decisioning/admin-router.d.ts +75 -0
  206. package/dist/lib/server/decisioning/admin-router.d.ts.map +1 -0
  207. package/dist/lib/server/decisioning/admin-router.js +120 -0
  208. package/dist/lib/server/decisioning/admin-router.js.map +1 -0
  209. package/dist/lib/server/decisioning/assembly-helpers.d.ts +204 -0
  210. package/dist/lib/server/decisioning/assembly-helpers.d.ts.map +1 -0
  211. package/dist/lib/server/decisioning/assembly-helpers.js +173 -0
  212. package/dist/lib/server/decisioning/assembly-helpers.js.map +1 -0
  213. package/dist/lib/server/decisioning/async-outcome.d.ts +154 -0
  214. package/dist/lib/server/decisioning/async-outcome.d.ts.map +1 -0
  215. package/dist/lib/server/decisioning/async-outcome.js +239 -0
  216. package/dist/lib/server/decisioning/async-outcome.js.map +1 -0
  217. package/dist/lib/server/decisioning/capabilities.d.ts +251 -0
  218. package/dist/lib/server/decisioning/capabilities.d.ts.map +1 -0
  219. package/dist/lib/server/decisioning/capabilities.js +16 -0
  220. package/dist/lib/server/decisioning/capabilities.js.map +1 -0
  221. package/dist/lib/server/decisioning/context.d.ts +212 -0
  222. package/dist/lib/server/decisioning/context.d.ts.map +1 -0
  223. package/dist/lib/server/decisioning/context.js +26 -0
  224. package/dist/lib/server/decisioning/context.js.map +1 -0
  225. package/dist/lib/server/decisioning/errors-typed.d.ts +104 -0
  226. package/dist/lib/server/decisioning/errors-typed.d.ts.map +1 -0
  227. package/dist/lib/server/decisioning/errors-typed.js +304 -0
  228. package/dist/lib/server/decisioning/errors-typed.js.map +1 -0
  229. package/dist/lib/server/decisioning/helpers.d.ts +131 -0
  230. package/dist/lib/server/decisioning/helpers.d.ts.map +1 -0
  231. package/dist/lib/server/decisioning/helpers.js +134 -0
  232. package/dist/lib/server/decisioning/helpers.js.map +1 -0
  233. package/dist/lib/server/decisioning/index.d.ts +46 -0
  234. package/dist/lib/server/decisioning/index.d.ts.map +1 -0
  235. package/dist/lib/server/decisioning/index.js +120 -0
  236. package/dist/lib/server/decisioning/index.js.map +1 -0
  237. package/dist/lib/server/decisioning/list-helpers.d.ts +53 -0
  238. package/dist/lib/server/decisioning/list-helpers.d.ts.map +1 -0
  239. package/dist/lib/server/decisioning/list-helpers.js +96 -0
  240. package/dist/lib/server/decisioning/list-helpers.js.map +1 -0
  241. package/dist/lib/server/decisioning/manifest-helpers.d.ts +56 -0
  242. package/dist/lib/server/decisioning/manifest-helpers.d.ts.map +1 -0
  243. package/dist/lib/server/decisioning/manifest-helpers.js +78 -0
  244. package/dist/lib/server/decisioning/manifest-helpers.js.map +1 -0
  245. package/dist/lib/server/decisioning/pagination.d.ts +21 -0
  246. package/dist/lib/server/decisioning/pagination.d.ts.map +1 -0
  247. package/dist/lib/server/decisioning/pagination.js +12 -0
  248. package/dist/lib/server/decisioning/pagination.js.map +1 -0
  249. package/dist/lib/server/decisioning/platform.d.ts +188 -0
  250. package/dist/lib/server/decisioning/platform.d.ts.map +1 -0
  251. package/dist/lib/server/decisioning/platform.js +19 -0
  252. package/dist/lib/server/decisioning/platform.js.map +1 -0
  253. package/dist/lib/server/decisioning/runtime/from-platform.d.ts +510 -0
  254. package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -0
  255. package/dist/lib/server/decisioning/runtime/from-platform.js +2196 -0
  256. package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -0
  257. package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts +114 -0
  258. package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts.map +1 -0
  259. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js +247 -0
  260. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js.map +1 -0
  261. package/dist/lib/server/decisioning/runtime/protocol-for-tool.d.ts +32 -0
  262. package/dist/lib/server/decisioning/runtime/protocol-for-tool.d.ts.map +1 -0
  263. package/dist/lib/server/decisioning/runtime/protocol-for-tool.js +127 -0
  264. package/dist/lib/server/decisioning/runtime/protocol-for-tool.js.map +1 -0
  265. package/dist/lib/server/decisioning/runtime/task-registry.d.ts +105 -0
  266. package/dist/lib/server/decisioning/runtime/task-registry.d.ts.map +1 -0
  267. package/dist/lib/server/decisioning/runtime/task-registry.js +96 -0
  268. package/dist/lib/server/decisioning/runtime/task-registry.js.map +1 -0
  269. package/dist/lib/server/decisioning/runtime/to-context.d.ts +54 -0
  270. package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -0
  271. package/dist/lib/server/decisioning/runtime/to-context.js +166 -0
  272. package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -0
  273. package/dist/lib/server/decisioning/runtime/validate-platform.d.ts +20 -0
  274. package/dist/lib/server/decisioning/runtime/validate-platform.d.ts.map +1 -0
  275. package/dist/lib/server/decisioning/runtime/validate-platform.js +93 -0
  276. package/dist/lib/server/decisioning/runtime/validate-platform.js.map +1 -0
  277. package/dist/lib/server/decisioning/specialisms/audiences.d.ts +72 -0
  278. package/dist/lib/server/decisioning/specialisms/audiences.d.ts.map +1 -0
  279. package/dist/lib/server/decisioning/specialisms/audiences.js +15 -0
  280. package/dist/lib/server/decisioning/specialisms/audiences.js.map +1 -0
  281. package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts +92 -0
  282. package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts.map +1 -0
  283. package/dist/lib/server/decisioning/specialisms/brand-rights.js +28 -0
  284. package/dist/lib/server/decisioning/specialisms/brand-rights.js.map +1 -0
  285. package/dist/lib/server/decisioning/specialisms/campaign-governance.d.ts +67 -0
  286. package/dist/lib/server/decisioning/specialisms/campaign-governance.d.ts.map +1 -0
  287. package/dist/lib/server/decisioning/specialisms/campaign-governance.js +31 -0
  288. package/dist/lib/server/decisioning/specialisms/campaign-governance.js.map +1 -0
  289. package/dist/lib/server/decisioning/specialisms/content-standards.d.ts +78 -0
  290. package/dist/lib/server/decisioning/specialisms/content-standards.d.ts.map +1 -0
  291. package/dist/lib/server/decisioning/specialisms/content-standards.js +35 -0
  292. package/dist/lib/server/decisioning/specialisms/content-standards.js.map +1 -0
  293. package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts +81 -0
  294. package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts.map +1 -0
  295. package/dist/lib/server/decisioning/specialisms/creative-ad-server.js +28 -0
  296. package/dist/lib/server/decisioning/specialisms/creative-ad-server.js.map +1 -0
  297. package/dist/lib/server/decisioning/specialisms/creative.d.ts +144 -0
  298. package/dist/lib/server/decisioning/specialisms/creative.d.ts.map +1 -0
  299. package/dist/lib/server/decisioning/specialisms/creative.js +19 -0
  300. package/dist/lib/server/decisioning/specialisms/creative.js.map +1 -0
  301. package/dist/lib/server/decisioning/specialisms/lists.d.ts +61 -0
  302. package/dist/lib/server/decisioning/specialisms/lists.d.ts.map +1 -0
  303. package/dist/lib/server/decisioning/specialisms/lists.js +30 -0
  304. package/dist/lib/server/decisioning/specialisms/lists.js.map +1 -0
  305. package/dist/lib/server/decisioning/specialisms/sales.d.ts +163 -0
  306. package/dist/lib/server/decisioning/specialisms/sales.d.ts.map +1 -0
  307. package/dist/lib/server/decisioning/specialisms/sales.js +64 -0
  308. package/dist/lib/server/decisioning/specialisms/sales.js.map +1 -0
  309. package/dist/lib/server/decisioning/specialisms/signals.d.ts +64 -0
  310. package/dist/lib/server/decisioning/specialisms/signals.d.ts.map +1 -0
  311. package/dist/lib/server/decisioning/specialisms/signals.js +28 -0
  312. package/dist/lib/server/decisioning/specialisms/signals.js.map +1 -0
  313. package/dist/lib/server/decisioning/start-time.d.ts +76 -0
  314. package/dist/lib/server/decisioning/start-time.d.ts.map +1 -0
  315. package/dist/lib/server/decisioning/start-time.js +81 -0
  316. package/dist/lib/server/decisioning/start-time.js.map +1 -0
  317. package/dist/lib/server/decisioning/status-changes.d.ts +165 -0
  318. package/dist/lib/server/decisioning/status-changes.d.ts.map +1 -0
  319. package/dist/lib/server/decisioning/status-changes.js +131 -0
  320. package/dist/lib/server/decisioning/status-changes.js.map +1 -0
  321. package/dist/lib/server/decisioning/status-mappers.d.ts +46 -0
  322. package/dist/lib/server/decisioning/status-mappers.d.ts.map +1 -0
  323. package/dist/lib/server/decisioning/status-mappers.js +46 -0
  324. package/dist/lib/server/decisioning/status-mappers.js.map +1 -0
  325. package/dist/lib/server/decisioning/tenant-registry.d.ts +289 -0
  326. package/dist/lib/server/decisioning/tenant-registry.d.ts.map +1 -0
  327. package/dist/lib/server/decisioning/tenant-registry.js +503 -0
  328. package/dist/lib/server/decisioning/tenant-registry.js.map +1 -0
  329. package/dist/lib/server/express-adapter.d.ts +1 -1
  330. package/dist/lib/server/express-adapter.js +1 -1
  331. package/dist/lib/server/governance.d.ts +1 -1
  332. package/dist/lib/server/governance.js +1 -1
  333. package/dist/lib/server/idempotency/store.d.ts +1 -1
  334. package/dist/lib/server/idempotency/store.js +1 -1
  335. package/dist/lib/server/index.d.ts +9 -2
  336. package/dist/lib/server/index.d.ts.map +1 -1
  337. package/dist/lib/server/index.js +79 -4
  338. package/dist/lib/server/index.js.map +1 -1
  339. package/dist/lib/server/legacy/v5/index.d.ts +38 -0
  340. package/dist/lib/server/legacy/v5/index.d.ts.map +1 -0
  341. package/dist/lib/server/legacy/v5/index.js +60 -0
  342. package/dist/lib/server/legacy/v5/index.js.map +1 -0
  343. package/dist/lib/server/normalize-errors.d.ts +88 -0
  344. package/dist/lib/server/normalize-errors.d.ts.map +1 -0
  345. package/dist/lib/server/normalize-errors.js +146 -0
  346. package/dist/lib/server/normalize-errors.js.map +1 -0
  347. package/dist/lib/server/pick-safe-details.d.ts +90 -0
  348. package/dist/lib/server/pick-safe-details.d.ts.map +1 -0
  349. package/dist/lib/server/pick-safe-details.js +148 -0
  350. package/dist/lib/server/pick-safe-details.js.map +1 -0
  351. package/dist/lib/server/postgres-state-store.d.ts +1 -1
  352. package/dist/lib/server/postgres-state-store.js +1 -1
  353. package/dist/lib/server/responses.d.ts +38 -0
  354. package/dist/lib/server/responses.d.ts.map +1 -1
  355. package/dist/lib/server/responses.js +38 -0
  356. package/dist/lib/server/responses.js.map +1 -1
  357. package/dist/lib/server/state-store.d.ts +1 -1
  358. package/dist/lib/server/state-store.js +1 -1
  359. package/dist/lib/server/test-controller.d.ts +10 -3
  360. package/dist/lib/server/test-controller.d.ts.map +1 -1
  361. package/dist/lib/server/test-controller.js +10 -3
  362. package/dist/lib/server/test-controller.js.map +1 -1
  363. package/dist/lib/testing/comply-controller.d.ts +47 -1
  364. package/dist/lib/testing/comply-controller.d.ts.map +1 -1
  365. package/dist/lib/testing/comply-controller.js +11 -4
  366. package/dist/lib/testing/comply-controller.js.map +1 -1
  367. package/dist/lib/testing/index.d.ts +1 -1
  368. package/dist/lib/testing/index.d.ts.map +1 -1
  369. package/dist/lib/testing/index.js.map +1 -1
  370. package/dist/lib/testing/personas/index.d.ts +143 -0
  371. package/dist/lib/testing/personas/index.d.ts.map +1 -0
  372. package/dist/lib/testing/personas/index.js +190 -0
  373. package/dist/lib/testing/personas/index.js.map +1 -0
  374. package/dist/lib/testing/storyboard/index.d.ts +1 -1
  375. package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
  376. package/dist/lib/testing/storyboard/index.js +3 -2
  377. package/dist/lib/testing/storyboard/index.js.map +1 -1
  378. package/dist/lib/testing/storyboard/runner.d.ts +13 -0
  379. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  380. package/dist/lib/testing/storyboard/runner.js +260 -7
  381. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  382. package/dist/lib/types/asset-instances.d.ts +1 -0
  383. package/dist/lib/types/asset-instances.d.ts.map +1 -1
  384. package/dist/lib/types/core.generated.d.ts +203 -98
  385. package/dist/lib/types/core.generated.d.ts.map +1 -1
  386. package/dist/lib/types/core.generated.js +1 -1
  387. package/dist/lib/types/index.d.ts +1 -0
  388. package/dist/lib/types/index.d.ts.map +1 -1
  389. package/dist/lib/types/index.js.map +1 -1
  390. package/dist/lib/types/schemas.generated.d.ts +599 -159
  391. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  392. package/dist/lib/types/schemas.generated.js +175 -94
  393. package/dist/lib/types/schemas.generated.js.map +1 -1
  394. package/dist/lib/types/tools.generated.d.ts +315 -46
  395. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  396. package/dist/lib/utils/capabilities.d.ts +1 -1
  397. package/dist/lib/utils/capabilities.d.ts.map +1 -1
  398. package/dist/lib/utils/capabilities.js +6 -0
  399. package/dist/lib/utils/capabilities.js.map +1 -1
  400. package/dist/lib/utils/creative-adapter.d.ts +32 -2
  401. package/dist/lib/utils/creative-adapter.d.ts.map +1 -1
  402. package/dist/lib/utils/creative-adapter.js +42 -6
  403. package/dist/lib/utils/creative-adapter.js.map +1 -1
  404. package/dist/lib/validation/schema-loader.d.ts.map +1 -1
  405. package/dist/lib/validation/schema-loader.js +20 -2
  406. package/dist/lib/validation/schema-loader.js.map +1 -1
  407. package/dist/lib/validation/schema-validator.d.ts +13 -0
  408. package/dist/lib/validation/schema-validator.d.ts.map +1 -1
  409. package/dist/lib/validation/schema-validator.js +240 -3
  410. package/dist/lib/validation/schema-validator.js.map +1 -1
  411. package/dist/lib/version.d.ts +3 -3
  412. package/dist/lib/version.d.ts.map +1 -1
  413. package/dist/lib/version.js +3 -3
  414. package/dist/lib/version.js.map +1 -1
  415. package/docs/guides/BUILD-AN-AGENT.md +30 -5
  416. package/docs/llms.txt +28 -17
  417. package/examples/README.md +3 -1
  418. package/examples/decisioning-platform-broadcast-tv.ts +300 -0
  419. package/examples/decisioning-platform-identity-graph.ts +214 -0
  420. package/examples/decisioning-platform-mock-seller.ts +332 -0
  421. package/examples/decisioning-platform-multi-tenant.ts +128 -0
  422. package/examples/decisioning-platform-programmatic.ts +254 -0
  423. package/examples/signals-agent.ts +1 -1
  424. package/package.json +18 -5
  425. package/skills/build-brand-rights-agent/SKILL.md +10 -3
  426. package/skills/build-creative-agent/SKILL.md +94 -64
  427. package/skills/build-decisioning-creative-template/SKILL.md +554 -0
  428. package/skills/build-decisioning-platform/SKILL.md +304 -0
  429. package/skills/build-decisioning-platform/advanced/BRAND-RIGHTS.md +25 -0
  430. package/skills/build-decisioning-platform/advanced/COMPLIANCE.md +23 -0
  431. package/skills/build-decisioning-platform/advanced/GOVERNANCE.md +24 -0
  432. package/skills/build-decisioning-platform/advanced/HITL.md +34 -0
  433. package/skills/build-decisioning-platform/advanced/IDEMPOTENCY.md +52 -0
  434. package/skills/build-decisioning-platform/advanced/MULTI-TENANT.md +47 -0
  435. package/skills/build-decisioning-platform/advanced/OAUTH.md +22 -0
  436. package/skills/build-decisioning-platform/advanced/REFERENCE.md +991 -0
  437. package/skills/build-decisioning-platform/advanced/SANDBOX.md +24 -0
  438. package/skills/build-decisioning-platform/advanced/STATE-MACHINE.md +52 -0
  439. package/skills/build-decisioning-signal-marketplace/SKILL.md +269 -0
  440. package/skills/build-generative-seller-agent/SKILL.md +89 -53
  441. package/skills/build-governance-agent/SKILL.md +76 -45
  442. package/skills/build-retail-media-agent/SKILL.md +87 -62
  443. package/skills/build-seller-agent/SKILL.md +384 -255
  444. package/skills/build-seller-agent/deployment.md +5 -3
  445. package/skills/build-seller-agent/specialisms/audience-sync.md +0 -2
  446. package/skills/build-seller-agent/specialisms/sales-broadcast-tv.md +0 -2
  447. package/skills/build-seller-agent/specialisms/sales-guaranteed.md +0 -2
  448. package/skills/build-seller-agent/specialisms/sales-non-guaranteed.md +0 -2
  449. package/skills/build-seller-agent/specialisms/sales-proposal-mode.md +0 -2
  450. package/skills/build-seller-agent/specialisms/sales-social.md +0 -2
  451. package/skills/build-seller-agent/specialisms/signed-requests.md +0 -2
  452. package/skills/build-si-agent/SKILL.md +40 -32
  453. package/skills/build-signals-agent/SKILL.md +139 -92
  454. package/skills/call-adcp-agent.previous/SKILL.md +5 -0
@@ -0,0 +1,503 @@
1
+ "use strict";
2
+ /**
3
+ * TenantRegistry — multi-tenant deployment helper for the v6.0 decisioning
4
+ * runtime.
5
+ *
6
+ * Holds a map of `agentUrl → TenantConfig` and tracks per-tenant health.
7
+ * Composes with the existing `serve()` host-routing surface: the registry
8
+ * returns an `AdcpServer` factory that dispatches based on `ctx.host`.
9
+ *
10
+ * **Three health states**, never startup-fatal:
11
+ *
12
+ * - `healthy` — JWKS validated, accepting traffic normally.
13
+ * - `unverified` — validation hasn't completed (server starting, or
14
+ * JWKS unreachable transiently). Tenant accepts traffic with a
15
+ * warning header; framework periodically re-validates.
16
+ * - `disabled` — validation failed deterministically (signing key not
17
+ * in published JWKS, brand.json malformed). Tenant returns
18
+ * `SERVICE_UNAVAILABLE` until an admin recheck succeeds.
19
+ *
20
+ * One bad tenant doesn't take down others — health is per-tenant, the
21
+ * other tenants keep serving.
22
+ *
23
+ * Status: Preview / 6.0.
24
+ *
25
+ * @public
26
+ */
27
+ Object.defineProperty(exports, "__esModule", { value: true });
28
+ exports.createDefaultJwksValidator = createDefaultJwksValidator;
29
+ exports.createTenantRegistry = createTenantRegistry;
30
+ const from_platform_1 = require("./runtime/from-platform");
31
+ // ---------------------------------------------------------------------------
32
+ // Default JWKS validator
33
+ // ---------------------------------------------------------------------------
34
+ /**
35
+ * Default JWKS validator. Fetches `{agentUrl}/.well-known/brand.json` and
36
+ * checks that `signingKey.publicJwk` appears in the JWKS keys array.
37
+ *
38
+ * Uses the global `fetch`. Network errors classify as `transient`;
39
+ * 4xx / parse-error / key-not-in-JWKS classify as `permanent`.
40
+ */
41
+ function createDefaultJwksValidator(opts) {
42
+ const fetchImpl = opts?.fetchImpl ?? fetch;
43
+ // 10-second default timeout. A slow brand.json server (or a malicious
44
+ // one dribbling bytes) would otherwise pin the tenant in `pending`
45
+ // for the lifetime of the fetch — and `register({ awaitFirstValidation: true })`
46
+ // would block the booting host indefinitely. Adopters with strict SLAs
47
+ // pass a tighter value; adopters fronting brand.json behind a slow
48
+ // CDN can extend it. Round-6 Sec-M1.
49
+ const timeoutMs = opts?.timeoutMs ?? 10_000;
50
+ return {
51
+ async validate({ agentUrl, jwksUrl, signingKey }) {
52
+ // Explicit jwksUrl wins (sub-routed deployments where brand.json
53
+ // lives under a path prefix). Default falls back to the spec-
54
+ // canonical host-root location — `new URL('/.well-known/brand.json',
55
+ // agentUrl)` REPLACES the path because the second arg starts with
56
+ // '/'. That's correct for host-level brand identity (one brand per
57
+ // host), wrong for multi-tenant sub-routed deployments — adopters
58
+ // there set `TenantConfig.jwksUrl` to point at the per-tenant
59
+ // brand.json.
60
+ // Reject empty-string jwksUrl as defense-in-depth — `??` only
61
+ // catches null/undefined, so an empty string would otherwise
62
+ // reach `fetch('')` and produce an opaque error. Treat empty as
63
+ // "use default."
64
+ const url = jwksUrl && jwksUrl.length > 0 ? jwksUrl : new URL('/.well-known/brand.json', agentUrl).toString();
65
+ let response;
66
+ try {
67
+ response = await fetchImpl(url, { method: 'GET', signal: AbortSignal.timeout(timeoutMs) });
68
+ }
69
+ catch (err) {
70
+ return {
71
+ ok: false,
72
+ recovery: 'transient',
73
+ reason: `JWKS fetch failed: ${err instanceof Error ? err.message : String(err)}`,
74
+ };
75
+ }
76
+ if (!response.ok) {
77
+ return {
78
+ ok: false,
79
+ recovery: response.status >= 500 ? 'transient' : 'permanent',
80
+ reason: `JWKS fetch returned ${response.status} ${response.statusText}`,
81
+ };
82
+ }
83
+ let body;
84
+ try {
85
+ body = await response.json();
86
+ }
87
+ catch (err) {
88
+ return {
89
+ ok: false,
90
+ recovery: 'permanent',
91
+ reason: `JWKS body not JSON: ${err instanceof Error ? err.message : String(err)}`,
92
+ };
93
+ }
94
+ const jwks = body.jwks;
95
+ if (!jwks || !Array.isArray(jwks.keys)) {
96
+ return {
97
+ ok: false,
98
+ recovery: 'permanent',
99
+ reason: '`brand.json` has no `jwks.keys` array',
100
+ };
101
+ }
102
+ const matched = jwks.keys.find(k => isMatchingKey(k, signingKey.publicJwk, signingKey.keyId));
103
+ if (!matched) {
104
+ return {
105
+ ok: false,
106
+ recovery: 'permanent',
107
+ reason: `signingKey.keyId='${signingKey.keyId}' not present in published JWKS`,
108
+ };
109
+ }
110
+ return { ok: true };
111
+ },
112
+ };
113
+ }
114
+ function isMatchingKey(jwk, expected, expectedKid) {
115
+ if (!jwk || typeof jwk !== 'object')
116
+ return false;
117
+ const k = jwk;
118
+ // Both `kid` AND public-key material must match. `kid` alone is NOT
119
+ // sufficient — RFC 7517 § 4.5 explicitly notes that `kid` is just a
120
+ // hint and clashes are possible. An attacker who can publish a JWKS
121
+ // with a colliding `kid` would otherwise bypass verification.
122
+ if (typeof k.kid === 'string' && k.kid !== expectedKid)
123
+ return false;
124
+ if (k.kty !== expected.kty)
125
+ return false;
126
+ // Structural equality on the public-half fields (n/e for RSA, x/y for
127
+ // EC, x for OKP). A full JWK thumbprint comparison (RFC 7638) would be
128
+ // more robust but this catches the typical "wrong key" case without
129
+ // pulling crypto deps in. Asymmetric pubkeys are public — comparing
130
+ // the components here doesn't need constant-time semantics.
131
+ if (expected.kty === 'RSA') {
132
+ return k.n === expected.n && k.e === expected.e;
133
+ }
134
+ if (expected.kty === 'EC') {
135
+ return k.crv === expected.crv && k.x === expected.x && k.y === expected.y;
136
+ }
137
+ if (expected.kty === 'OKP') {
138
+ return k.crv === expected.crv && k.x === expected.x;
139
+ }
140
+ return false;
141
+ }
142
+ /**
143
+ * Resolve the canonical agent URL + the full URL list from a TenantConfig.
144
+ *
145
+ * - `agentUrls` (when set) wins. First element is canonical (used for
146
+ * JWKS resolution and status reporting).
147
+ * - `agentUrl` (single-URL form) maps to a one-element list.
148
+ * - Setting both is a programmer error — refuse explicitly so the
149
+ * ambiguity doesn't silently drop one of them.
150
+ *
151
+ * Returns `[canonical, allUrls]`. `allUrls` is the routing surface;
152
+ * `canonical` is what JWKS / status reports use.
153
+ */
154
+ function resolveTenantUrls(config) {
155
+ const list = config.agentUrls;
156
+ const single = config.agentUrl;
157
+ if (list !== undefined && single !== undefined) {
158
+ throw new Error('TenantConfig: set exactly one of `agentUrl` (single URL) or `agentUrls` (multi-URL). Setting both is ambiguous.');
159
+ }
160
+ if (list !== undefined) {
161
+ if (list.length === 0) {
162
+ throw new Error('TenantConfig: `agentUrls` must contain at least one URL when provided.');
163
+ }
164
+ return [list[0], list];
165
+ }
166
+ if (single !== undefined) {
167
+ return [single, [single]];
168
+ }
169
+ throw new Error('TenantConfig: must provide either `agentUrl` or `agentUrls`.');
170
+ }
171
+ /**
172
+ * Parse host + path prefix from an agent URL. Normalizes the path:
173
+ * always starts with `/`; trailing `/` stripped unless the prefix is
174
+ * itself `/` (root, the subdomain-routing case).
175
+ */
176
+ function parseHostAndPrefix(agentUrl) {
177
+ const url = new URL(agentUrl);
178
+ const host = url.host.toLowerCase();
179
+ let pathPrefix = url.pathname || '/';
180
+ if (pathPrefix.length > 1 && pathPrefix.endsWith('/')) {
181
+ pathPrefix = pathPrefix.slice(0, -1);
182
+ }
183
+ return { host, pathPrefix };
184
+ }
185
+ /**
186
+ * Does `requestPath` fall under tenant's `pathPrefix`?
187
+ *
188
+ * - Tenant prefix `/` matches any path (subdomain-routing case).
189
+ * - Tenant prefix `/sales` matches `/sales`, `/sales/mcp`, `/sales/a2a`, etc.
190
+ * Does NOT match `/sales-broadcast` (no boundary).
191
+ *
192
+ * **Caller contract.** `requestPath` MUST be a normalized URL pathname:
193
+ * no query string, no fragment, no leading scheme/authority. Express's
194
+ * `req.path`, Node's `new URL(req.url, base).pathname`, or any
195
+ * properly-decoded equivalent. Raw `req.url` includes the query string
196
+ * (`/sales/mcp?token=abc`) which fails the boundary check at the `?`
197
+ * char. The framework strips query/fragment defensively (see
198
+ * `stripQueryAndFragment`) but downstream URL normalization (`..`
199
+ * resolution, percent-decoding) is the caller's responsibility.
200
+ */
201
+ function pathPrefixMatches(pathPrefix, requestPath) {
202
+ if (pathPrefix === '/')
203
+ return true;
204
+ if (!requestPath.startsWith(pathPrefix))
205
+ return false;
206
+ // Boundary check: char immediately after the prefix must be `/` or
207
+ // end-of-string. Prevents `/sales` from matching `/sales-broadcast`.
208
+ const next = requestPath.charAt(pathPrefix.length);
209
+ return next === '' || next === '/';
210
+ }
211
+ /**
212
+ * Defensive normalization for callers who hand us `req.url` (raw HTTP
213
+ * path with query / fragment). Strips `?...` and `#...` so the boundary
214
+ * check in `pathPrefixMatches` works. Idempotent on already-normalized
215
+ * paths.
216
+ */
217
+ function stripQueryAndFragment(pathname) {
218
+ const queryIdx = pathname.indexOf('?');
219
+ const fragmentIdx = pathname.indexOf('#');
220
+ let cut = pathname.length;
221
+ if (queryIdx !== -1 && queryIdx < cut)
222
+ cut = queryIdx;
223
+ if (fragmentIdx !== -1 && fragmentIdx < cut)
224
+ cut = fragmentIdx;
225
+ return cut === pathname.length ? pathname : pathname.slice(0, cut);
226
+ }
227
+ function createTenantRegistry(opts) {
228
+ const validator = opts.jwksValidator ?? createDefaultJwksValidator();
229
+ const autoValidate = opts.autoValidate ?? true;
230
+ // One-shot footgun guard: developers reaching for `autoValidate: false`
231
+ // typically expect "skip the validation cost," but the actual semantics
232
+ // are "every tenant lands in `pending` and `resolveByRequest` silently
233
+ // refuses traffic until the operator calls `recheck()` on each one."
234
+ // That divergence is hard to debug without a clue. Surface it once at
235
+ // construction so the test/dev path stays usable but the production
236
+ // misuse is visible.
237
+ if (opts.autoValidate === false) {
238
+ // eslint-disable-next-line no-console
239
+ console.warn("[adcp] TenantRegistry created with autoValidate: false — every register() lands tenants in 'pending' " +
240
+ 'health and resolveByRequest will refuse all traffic until you call recheck(tenantId) on each one. ' +
241
+ 'If you wanted to skip validation cost, REMOVE the flag — the default (true) validates in the ' +
242
+ 'background and traffic is served as soon as the first validation succeeds. autoValidate: false ' +
243
+ 'only suits tests that drive recheck() manually.');
244
+ }
245
+ const tenants = new Map();
246
+ function buildServer(config) {
247
+ const merged = {
248
+ ...opts.defaultServerOptions,
249
+ ...config.serverOptions,
250
+ };
251
+ return (0, from_platform_1.createAdcpServerFromPlatform)(config.platform, merged);
252
+ }
253
+ async function runValidation(tenantId) {
254
+ const entry = tenants.get(tenantId);
255
+ if (!entry) {
256
+ throw new Error(`runValidation: tenant '${tenantId}' not registered`);
257
+ }
258
+ const [canonicalUrl, allUrls] = resolveTenantUrls(entry.config);
259
+ // Multi-URL tenants validate every URL independently. Aliases share the
260
+ // signing key; if an alias publishes a brand.json that doesn't include
261
+ // the key (DNS hijack, operator misconfig, stale mirror), traffic to
262
+ // that alias would receive responses no buyer can verify. Aggregate
263
+ // failures: tenant is healthy iff ALL URLs validate; first permanent
264
+ // failure → disabled; transient-only → pending/unverified per existing
265
+ // policy. The explicit `jwksUrl` override applies to all URLs (the
266
+ // documented contract for sub-routed deployments).
267
+ const perUrlResults = [];
268
+ for (const url of allUrls) {
269
+ let res;
270
+ try {
271
+ res = await validator.validate({
272
+ agentUrl: url,
273
+ ...(entry.config.jwksUrl !== undefined && { jwksUrl: entry.config.jwksUrl }),
274
+ signingKey: entry.config.signingKey,
275
+ });
276
+ }
277
+ catch (err) {
278
+ res = {
279
+ ok: false,
280
+ recovery: 'transient',
281
+ reason: `validator threw on '${url}': ${err instanceof Error ? err.message : String(err)}`,
282
+ };
283
+ }
284
+ perUrlResults.push({ url, res });
285
+ // First permanent failure short-circuits — no point hitting the rest;
286
+ // the tenant is going to disabled regardless.
287
+ if (!res.ok && res.recovery === 'permanent')
288
+ break;
289
+ }
290
+ // Aggregate: pick the worst outcome across the urls we validated.
291
+ let result;
292
+ const firstPermanent = perUrlResults.find(r => !r.res.ok && r.res.recovery === 'permanent');
293
+ const firstTransient = perUrlResults.find(r => !r.res.ok && r.res.recovery === 'transient');
294
+ if (firstPermanent) {
295
+ result = {
296
+ ok: false,
297
+ recovery: 'permanent',
298
+ reason: `${firstPermanent.url}: ${firstPermanent.res.reason}`,
299
+ };
300
+ }
301
+ else if (firstTransient) {
302
+ result = {
303
+ ok: false,
304
+ recovery: 'transient',
305
+ reason: `${firstTransient.url}: ${firstTransient.res.reason}`,
306
+ };
307
+ }
308
+ else {
309
+ result = { ok: true };
310
+ }
311
+ const now = new Date().toISOString();
312
+ const wasFirstValidation = entry.status.health === 'pending';
313
+ const baseStatus = { tenantId, agentUrl: canonicalUrl, agentUrls: allUrls, lastCheckedAt: now };
314
+ let status;
315
+ if (result.ok) {
316
+ status = { ...baseStatus, health: 'healthy' };
317
+ }
318
+ else if (result.recovery === 'transient') {
319
+ // Transient failure on FIRST validation → stay `pending` (refuse
320
+ // traffic). Transient failure AFTER first success → `unverified`
321
+ // (graceful degradation — the tenant's known good).
322
+ status = {
323
+ ...baseStatus,
324
+ health: wasFirstValidation ? 'pending' : 'unverified',
325
+ reason: result.reason,
326
+ };
327
+ }
328
+ else {
329
+ // Permanent failure → `disabled` regardless of prior state. The
330
+ // signing-key material doesn't match what's published; refusing
331
+ // traffic is the safe default.
332
+ status = { ...baseStatus, health: 'disabled', reason: result.reason };
333
+ }
334
+ entry.status = status;
335
+ return status;
336
+ }
337
+ return {
338
+ register(tenantId, config, opts) {
339
+ if (tenants.has(tenantId)) {
340
+ throw new Error(`tenant '${tenantId}' already registered; unregister first`);
341
+ }
342
+ const [canonicalUrl, allUrls] = resolveTenantUrls(config);
343
+ const routes = allUrls.map(url => parseHostAndPrefix(url));
344
+ // Reject overlapping (host, pathPrefix) routes against already-registered
345
+ // tenants. Without this, two tenants can claim the same alias host
346
+ // silently — `resolveByRequest` picks the first-inserted (deterministic
347
+ // per-process via Map insertion order, but cross-process flaky on
348
+ // restart-order changes). Surface the collision now rather than
349
+ // discover it in production. Round-1 expert review (security-medium).
350
+ for (const route of routes) {
351
+ for (const [otherId, otherEntry] of tenants) {
352
+ for (const otherRoute of otherEntry.routes) {
353
+ if (otherRoute.host === route.host && otherRoute.pathPrefix === route.pathPrefix) {
354
+ throw new Error(`tenant '${tenantId}' route ${route.host}${route.pathPrefix} collides with tenant '${otherId}'; ` +
355
+ `register them under distinct hosts or path prefixes`);
356
+ }
357
+ }
358
+ }
359
+ }
360
+ const server = buildServer(config);
361
+ const initialStatus = {
362
+ tenantId,
363
+ agentUrl: canonicalUrl,
364
+ agentUrls: allUrls,
365
+ // `pending` (NOT `unverified`) — first validation hasn't run.
366
+ // resolveByHost refuses traffic until validation succeeds at
367
+ // least once. Closes the register-then-serve race window.
368
+ health: 'pending',
369
+ reason: 'awaiting initial JWKS validation',
370
+ lastCheckedAt: new Date().toISOString(),
371
+ };
372
+ const entry = {
373
+ config: config,
374
+ server,
375
+ status: initialStatus,
376
+ routes,
377
+ };
378
+ tenants.set(tenantId, entry);
379
+ // Operability: log when an explicit jwksUrl points somewhere
380
+ // OTHER than the spec-canonical agentUrl-relative location. An
381
+ // admin who pasted a typo into config gets a visible audit trail
382
+ // before the tenant goes live; a sub-routed deployment that
383
+ // intentionally overrode sees the configured URL confirmed.
384
+ // One-shot per register() — not per validate() — so periodic
385
+ // rechecks don't spam logs.
386
+ if (config.jwksUrl && config.jwksUrl.length > 0) {
387
+ let canonical;
388
+ try {
389
+ canonical = new URL('/.well-known/brand.json', canonicalUrl).toString();
390
+ }
391
+ catch {
392
+ canonical = '<invalid agentUrl>';
393
+ }
394
+ if (config.jwksUrl !== canonical) {
395
+ // eslint-disable-next-line no-console
396
+ console.info(`[adcp] tenant '${tenantId}' jwksUrl override: '${config.jwksUrl}' (spec-canonical from agentUrl: '${canonical}')`);
397
+ }
398
+ }
399
+ if (!autoValidate)
400
+ return;
401
+ const validation = runValidation(tenantId);
402
+ entry.pending = validation;
403
+ // Always clear pending on settle so subsequent recheck() doesn't
404
+ // dedupe against a settled promise.
405
+ validation.finally(() => {
406
+ if (entry.pending === validation)
407
+ entry.pending = undefined;
408
+ });
409
+ if (opts?.awaitFirstValidation) {
410
+ return validation;
411
+ }
412
+ // Background fire — log throws so they don't surface as
413
+ // UnhandledPromiseRejection. (runValidation now catches inside;
414
+ // belt-and-suspenders.)
415
+ validation.catch((err) => {
416
+ // eslint-disable-next-line no-console
417
+ console.warn(`[adcp] tenant '${tenantId}' validation threw:`, err);
418
+ });
419
+ },
420
+ unregister(tenantId) {
421
+ tenants.delete(tenantId);
422
+ },
423
+ resolveByHost(host) {
424
+ // Convenience for subdomain-routed deployments — request path is
425
+ // implicitly `/`, which only matches root-prefix tenants.
426
+ return this.resolveByRequest(host, '/');
427
+ },
428
+ resolveByRequest(host, pathname) {
429
+ const lowered = host.toLowerCase();
430
+ // Strip query/fragment defensively — adopters wiring `req.url`
431
+ // (Node raw HTTP) instead of `req.path` (Express normalized)
432
+ // would otherwise fail the boundary check on `/sales/mcp?x=1`.
433
+ const cleanPath = stripQueryAndFragment(pathname);
434
+ let best = null;
435
+ for (const [tenantId, entry] of tenants) {
436
+ // Refuse traffic for pending (first validation hasn't succeeded)
437
+ // and disabled (permanent validation failure). `unverified` —
438
+ // previously healthy, latest recheck failed transiently — still
439
+ // resolves; operators choose graceful degradation here.
440
+ if (entry.status.health === 'pending' || entry.status.health === 'disabled')
441
+ continue;
442
+ // Multi-URL tenants register one route per `agentUrls[]` entry.
443
+ // Longest-prefix match across ALL routes on ALL tenants wins —
444
+ // a tenant with `/sales-broadcast` on alias-host beats a tenant
445
+ // with `/sales` on canonical-host for `/sales-broadcast/mcp`.
446
+ for (const route of entry.routes) {
447
+ if (route.host !== lowered)
448
+ continue;
449
+ if (!pathPrefixMatches(route.pathPrefix, cleanPath))
450
+ continue;
451
+ const prefixLength = route.pathPrefix === '/' ? 0 : route.pathPrefix.length;
452
+ if (best === null || prefixLength > best.prefixLength) {
453
+ best = { tenantId, entry, prefixLength };
454
+ }
455
+ }
456
+ }
457
+ if (best === null)
458
+ return null;
459
+ return { tenantId: best.tenantId, config: best.entry.config, server: best.entry.server };
460
+ },
461
+ get(tenantId) {
462
+ const entry = tenants.get(tenantId);
463
+ if (!entry)
464
+ return null;
465
+ // Same health gate as resolveByRequest — pending tenants haven't
466
+ // been validated yet, disabled tenants permanently failed.
467
+ // unverified (post-healthy transient failure) resolves normally.
468
+ if (entry.status.health === 'pending' || entry.status.health === 'disabled')
469
+ return null;
470
+ return { tenantId, config: entry.config, server: entry.server };
471
+ },
472
+ getStatus(tenantId) {
473
+ const entry = tenants.get(tenantId);
474
+ return entry?.status ?? null;
475
+ },
476
+ list() {
477
+ return Array.from(tenants.values()).map(e => e.status);
478
+ },
479
+ async recheck(tenantId) {
480
+ const entry = tenants.get(tenantId);
481
+ if (!entry) {
482
+ throw new Error(`recheck: tenant '${tenantId}' not registered`);
483
+ }
484
+ // Dedupe concurrent rechecks against the same tenant.
485
+ if (entry.pending) {
486
+ try {
487
+ await entry.pending;
488
+ }
489
+ catch {
490
+ // ignore — fall through to fresh recheck
491
+ }
492
+ }
493
+ entry.pending = runValidation(tenantId);
494
+ try {
495
+ return await entry.pending;
496
+ }
497
+ finally {
498
+ entry.pending = undefined;
499
+ }
500
+ },
501
+ };
502
+ }
503
+ //# sourceMappingURL=tenant-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-registry.js","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/tenant-registry.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;AA6QH,gEAsEC;AAsID,oDAyRC;AA9uBD,2DAAuE;AA8PvE,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAgB,0BAA0B,CAAC,IAAuD;IAChG,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,KAAK,CAAC;IAC3C,sEAAsE;IACtE,mEAAmE;IACnE,iFAAiF;IACjF,uEAAuE;IACvE,mEAAmE;IACnE,qCAAqC;IACrC,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,MAAM,CAAC;IAC5C,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE;YAC9C,iEAAiE;YACjE,8DAA8D;YAC9D,qEAAqE;YACrE,kEAAkE;YAClE,mEAAmE;YACnE,kEAAkE;YAClE,8DAA8D;YAC9D,cAAc;YACd,8DAA8D;YAC9D,6DAA6D;YAC7D,gEAAgE;YAChE,iBAAiB;YACjB,MAAM,GAAG,GAAG,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,yBAAyB,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC9G,IAAI,QAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;YAC7F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,WAAW;oBACrB,MAAM,EAAE,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBACjF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW;oBAC5D,MAAM,EAAE,uBAAuB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE;iBACxE,CAAC;YACJ,CAAC;YACD,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC/B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,WAAW;oBACrB,MAAM,EAAE,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBAClF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAI,IAAwC,CAAC,IAAI,CAAC;YAC5D,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,WAAW;oBACrB,MAAM,EAAE,uCAAuC;iBAChD,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9F,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,WAAW;oBACrB,MAAM,EAAE,qBAAqB,UAAU,CAAC,KAAK,iCAAiC;iBAC/E,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,GAAY,EAAE,QAAoB,EAAE,WAAmB;IAC5E,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,oEAAoE;IACpE,oEAAoE;IACpE,oEAAoE;IACpE,8DAA8D;IAC9D,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC;IACrE,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACzC,sEAAsE;IACtE,uEAAuE;IACvE,oEAAoE;IACpE,oEAAoE;IACpE,4DAA4D;IAC5D,IAAI,QAAQ,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAqBD;;;;;;;;;;;GAWG;AACH,SAAS,iBAAiB,CAAC,MAAoB;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;IAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC/B,IAAI,IAAI,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,iHAAiH,CAClH,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;AAClF,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,UAAU,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC;IACrC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;AAC9B,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,iBAAiB,CAAC,UAAkB,EAAE,WAAmB;IAChE,IAAI,UAAU,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,mEAAmE;IACnE,qEAAqE;IACrE,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACnD,OAAO,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK,GAAG,CAAC;AACrC,CAAC;AAED;;;;;GAKG;AACH,SAAS,qBAAqB,CAAC,QAAgB;IAC7C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC1B,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,GAAG;QAAE,GAAG,GAAG,QAAQ,CAAC;IACtD,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,WAAW,GAAG,GAAG;QAAE,GAAG,GAAG,WAAW,CAAC;IAC/D,OAAO,GAAG,KAAK,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,oBAAoB,CAAC,IAA2B;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,IAAI,0BAA0B,EAAE,CAAC;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;IAC/C,wEAAwE;IACxE,wEAAwE;IACxE,uEAAuE;IACvE,qEAAqE;IACrE,sEAAsE;IACtE,oEAAoE;IACpE,qBAAqB;IACrB,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QAChC,sCAAsC;QACtC,OAAO,CAAC,IAAI,CACV,uGAAuG;YACrG,oGAAoG;YACpG,+FAA+F;YAC/F,iGAAiG;YACjG,iDAAiD,CACpD,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IAE/C,SAAS,WAAW,CAAC,MAAoB;QACvC,MAAM,MAAM,GAAwC;YAClD,GAAG,IAAI,CAAC,oBAAoB;YAC5B,GAAG,MAAM,CAAC,aAAa;SACxB,CAAC;QACF,OAAO,IAAA,4CAA4B,EAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,QAAgB;QAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,kBAAkB,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChE,wEAAwE;QACxE,uEAAuE;QACvE,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,uEAAuE;QACvE,mEAAmE;QACnE,mDAAmD;QACnD,MAAM,aAAa,GAAsD,EAAE,CAAC;QAC5E,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,GAAyB,CAAC;YAC9B,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC;oBAC7B,QAAQ,EAAE,GAAG;oBACb,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC5E,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;iBACpC,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,GAAG,GAAG;oBACJ,EAAE,EAAE,KAAK;oBACT,QAAQ,EAAE,WAAW;oBACrB,MAAM,EAAE,uBAAuB,GAAG,MAAM,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;iBAC3F,CAAC;YACJ,CAAC;YACD,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YACjC,sEAAsE;YACtE,8CAA8C;YAC9C,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW;gBAAE,MAAM;QACrD,CAAC;QACD,kEAAkE;QAClE,IAAI,MAA4B,CAAC;QACjC,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;QAC5F,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;QAC5F,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,GAAG;gBACP,EAAE,EAAE,KAAK;gBACT,QAAQ,EAAE,WAAW;gBACrB,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE;aAC9D,CAAC;QACJ,CAAC;aAAM,IAAI,cAAc,EAAE,CAAC;YAC1B,MAAM,GAAG;gBACP,EAAE,EAAE,KAAK;gBACT,QAAQ,EAAE,WAAW;gBACrB,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE;aAC9D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;QACxB,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QAC7D,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;QAChG,IAAI,MAAoB,CAAC;QACzB,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;YACd,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAChD,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC3C,iEAAiE;YACjE,iEAAiE;YACjE,oDAAoD;YACpD,MAAM,GAAG;gBACP,GAAG,UAAU;gBACb,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY;gBACrD,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,gEAAgE;YAChE,gEAAgE;YAChE,+BAA+B;YAC/B,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;QACxE,CAAC;QACD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO;QACL,QAAQ,CACN,QAAgB,EAChB,MAAuB,EACvB,IAAyC;YAEzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,WAAW,QAAQ,wCAAwC,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,iBAAiB,CAAC,MAAiC,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,0EAA0E;YAC1E,mEAAmE;YACnE,wEAAwE;YACxE,kEAAkE;YAClE,gEAAgE;YAChE,sEAAsE;YACtE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,KAAK,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,OAAO,EAAE,CAAC;oBAC5C,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;wBAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;4BACjF,MAAM,IAAI,KAAK,CACb,WAAW,QAAQ,WAAW,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,UAAU,0BAA0B,OAAO,KAAK;gCAC/F,qDAAqD,CACxD,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YACD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAiC,CAAC,CAAC;YAC9D,MAAM,aAAa,GAAiB;gBAClC,QAAQ;gBACR,QAAQ,EAAE,YAAY;gBACtB,SAAS,EAAE,OAAO;gBAClB,8DAA8D;gBAC9D,6DAA6D;gBAC7D,0DAA0D;gBAC1D,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,kCAAkC;gBAC1C,aAAa,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACxC,CAAC;YACF,MAAM,KAAK,GAAgB;gBACzB,MAAM,EAAE,MAAiC;gBACzC,MAAM;gBACN,MAAM,EAAE,aAAa;gBACrB,MAAM;aACP,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC7B,6DAA6D;YAC7D,+DAA+D;YAC/D,iEAAiE;YACjE,4DAA4D;YAC5D,4DAA4D;YAC5D,6DAA6D;YAC7D,4BAA4B;YAC5B,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,SAAiB,CAAC;gBACtB,IAAI,CAAC;oBACH,SAAS,GAAG,IAAI,GAAG,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAC1E,CAAC;gBAAC,MAAM,CAAC;oBACP,SAAS,GAAG,oBAAoB,CAAC;gBACnC,CAAC;gBACD,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;oBACjC,sCAAsC;oBACtC,OAAO,CAAC,IAAI,CACV,kBAAkB,QAAQ,wBAAwB,MAAM,CAAC,OAAO,qCAAqC,SAAS,IAAI,CACnH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,CAAC,YAAY;gBAAE,OAAO;YAC1B,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC3C,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;YAC3B,iEAAiE;YACjE,oCAAoC;YACpC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE;gBACtB,IAAI,KAAK,CAAC,OAAO,KAAK,UAAU;oBAAE,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,EAAE,oBAAoB,EAAE,CAAC;gBAC/B,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,wDAAwD;YACxD,gEAAgE;YAChE,wBAAwB;YACxB,UAAU,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBAChC,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,kBAAkB,QAAQ,qBAAqB,EAAE,GAAG,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;QACL,CAAC;QAED,UAAU,CAAC,QAAgB;YACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAED,aAAa,CAAC,IAAY;YACxB,iEAAiE;YACjE,0DAA0D;YAC1D,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;QAED,gBAAgB,CACd,IAAY,EACZ,QAAgB;YAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,+DAA+D;YAC/D,6DAA6D;YAC7D,+DAA+D;YAC/D,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,IAAI,GAA0E,IAAI,CAAC;YACvF,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;gBACxC,iEAAiE;gBACjE,8DAA8D;gBAC9D,gEAAgE;gBAChE,wDAAwD;gBACxD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU;oBAAE,SAAS;gBACtF,gEAAgE;gBAChE,+DAA+D;gBAC/D,gEAAgE;gBAChE,8DAA8D;gBAC9D,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;wBAAE,SAAS;oBACrC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC;wBAAE,SAAS;oBAC9D,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;oBAC5E,IAAI,IAAI,KAAK,IAAI,IAAI,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;wBACtD,IAAI,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAC/B,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC3F,CAAC;QAED,GAAG,CAAC,QAAgB;YAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,iEAAiE;YACjE,2DAA2D;YAC3D,iEAAiE;YACjE,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU;gBAAE,OAAO,IAAI,CAAC;YACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAClE,CAAC;QAED,SAAS,CAAC,QAAgB;YACxB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC;QAC/B,CAAC;QAED,IAAI;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,QAAgB;YAC5B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,kBAAkB,CAAC,CAAC;YAClE,CAAC;YACD,sDAAsD;YACtD,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,KAAK,CAAC,OAAO,CAAC;gBACtB,CAAC;gBAAC,MAAM,CAAC;oBACP,yCAAyC;gBAC3C,CAAC;YACH,CAAC;YACD,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;YACxC,IAAI,CAAC;gBACH,OAAO,MAAM,KAAK,CAAC,OAAO,CAAC;YAC7B,CAAC;oBAAS,CAAC;gBACT,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC;YAC5B,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -29,7 +29,7 @@
29
29
  *
30
30
  * ```ts
31
31
  * import express from 'express';
32
- * import { createAdcpServer, createExpressAdapter } from '@adcp/sdk/server';
32
+ * import { createAdcpServer, createExpressAdapter } from '@adcp/sdk/server/legacy/v5';
33
33
  *
34
34
  * const agent = createAdcpServer({ ...handlers });
35
35
  * const adapter = createExpressAdapter({
@@ -30,7 +30,7 @@
30
30
  *
31
31
  * ```ts
32
32
  * import express from 'express';
33
- * import { createAdcpServer, createExpressAdapter } from '@adcp/sdk/server';
33
+ * import { createAdcpServer, createExpressAdapter } from '@adcp/sdk/server/legacy/v5';
34
34
  *
35
35
  * const agent = createAdcpServer({ ...handlers });
36
36
  * const adapter = createExpressAdapter({
@@ -22,7 +22,7 @@
22
22
  *
23
23
  * @example
24
24
  * ```typescript
25
- * import { createAdcpServer, checkGovernance, governanceDeniedError } from '@adcp/sdk/server';
25
+ * import { createAdcpServer, checkGovernance, governanceDeniedError } from '@adcp/sdk/server/legacy/v5';
26
26
  *
27
27
  * const server = createAdcpServer({
28
28
  * name: 'My Publisher', version: '1.0.0',
@@ -23,7 +23,7 @@
23
23
  *
24
24
  * @example
25
25
  * ```typescript
26
- * import { createAdcpServer, checkGovernance, governanceDeniedError } from '@adcp/sdk/server';
26
+ * import { createAdcpServer, checkGovernance, governanceDeniedError } from '@adcp/sdk/server/legacy/v5';
27
27
  *
28
28
  * const server = createAdcpServer({
29
29
  * name: 'My Publisher', version: '1.0.0',
@@ -20,7 +20,7 @@
20
20
  *
21
21
  * @example
22
22
  * ```typescript
23
- * import { createAdcpServer, createIdempotencyStore, memoryBackend } from '@adcp/sdk/server';
23
+ * import { createAdcpServer, createIdempotencyStore, memoryBackend } from '@adcp/sdk/server/legacy/v5';
24
24
  *
25
25
  * const idempotency = createIdempotencyStore({
26
26
  * backend: memoryBackend(),
@@ -21,7 +21,7 @@
21
21
  *
22
22
  * @example
23
23
  * ```typescript
24
- * import { createAdcpServer, createIdempotencyStore, memoryBackend } from '@adcp/sdk/server';
24
+ * import { createAdcpServer, createIdempotencyStore, memoryBackend } from '@adcp/sdk/server/legacy/v5';
25
25
  *
26
26
  * const idempotency = createIdempotencyStore({
27
27
  * backend: memoryBackend(),
@@ -1,5 +1,9 @@
1
1
  export { adcpError } from './errors';
2
2
  export type { AdcpErrorOptions, AdcpErrorPayload, AdcpErrorResponse } from './errors';
3
+ export { normalizeError, normalizeErrors } from './normalize-errors';
4
+ export type { NormalizedError } from './normalize-errors';
5
+ export { pickSafeDetails } from './pick-safe-details';
6
+ export type { PickSafeDetailsOptions } from './pick-safe-details';
3
7
  export { wrapEnvelope } from './wrap-envelope';
4
8
  export type { WrapEnvelopeOptions } from './wrap-envelope';
5
9
  export { ERROR_ENVELOPE_FIELD_ALLOWLIST, DEFAULT_ERROR_ENVELOPE_FIELDS, ADCP_ERROR_FIELD_ALLOWLIST, CONFLICT_ADCP_ERROR_ALLOWLIST, } from './envelope-allowlist';
@@ -28,9 +32,9 @@ export type { AdcpStateStore, InMemoryStateStoreOptions, ListOptions, ListResult
28
32
  export { PostgresStateStore, getAdcpStateMigration, ADCP_STATE_MIGRATION } from './postgres-state-store';
29
33
  export type { PostgresStateStoreOptions } from './postgres-state-store';
30
34
  export { structuredSerialize, structuredDeserialize } from './structured-serialize';
31
- export { createAdcpServer, requireSessionKey, ADCP_PRE_TRANSPORT, ADCP_SIGNED_REQUESTS_STATE, } from './create-adcp-server';
35
+ export { requireSessionKey, ADCP_PRE_TRANSPORT, ADCP_SIGNED_REQUESTS_STATE } from './create-adcp-server';
32
36
  export type { AdcpServer, AdcpServerComplianceApi, AdcpServerTransport, AdcpTestRequest, AdcpTestToolsCallRequest, AdcpTestResponse, } from './adcp-server';
33
- export type { AdcpServerConfig, AdcpToolMap, AdcpServerToolName, AdcpCapabilitiesConfig, AdcpCapabilitiesOverrides, AdcpCustomToolConfig, AdcpLogger, SignedRequestsConfig, AdcpPreTransport, AdcpSignedRequestsState, HandlerContext, SessionKeyContext, MediaBuyHandlers, SignalsHandlers, CreativeHandlers, GovernanceHandlers, AccountHandlers, EventTrackingHandlers, SponsoredIntelligenceHandlers, ResolveAccountContext, } from './create-adcp-server';
37
+ export type { AdcpServerConfig, WebhooksConfig, AdcpToolMap, AdcpServerToolName, AdcpCapabilitiesConfig, AdcpCapabilitiesOverrides, AdcpCustomToolConfig, AdcpLogger, SignedRequestsConfig, AdcpPreTransport, AdcpSignedRequestsState, HandlerContext, SessionKeyContext, MediaBuyHandlers, SignalsHandlers, CreativeHandlers, GovernanceHandlers, AccountHandlers, EventTrackingHandlers, SponsoredIntelligenceHandlers, ResolveAccountContext, } from './create-adcp-server';
34
38
  export { DEFAULT_REPORTING_CAPABILITIES } from './product-defaults';
35
39
  export { isSandboxRequest, mergeSeededProductsIntoResponse, filterValidSeededProducts, bridgeFromTestControllerStore, bridgeFromSessionStore, } from './test-controller-bridge';
36
40
  export type { TestControllerBridge, TestControllerBridgeContext, BridgeFromSessionStoreOptions, } from './test-controller-bridge';
@@ -47,4 +51,7 @@ export { checkGovernance, governanceDeniedError } from './governance';
47
51
  export type { CheckGovernanceOptions, GovernanceCallResult, GovernanceApproved, GovernanceDenied, GovernanceConditions, } from './governance';
48
52
  export { resolvePropertyList, resolveCollectionList, matchesPropertyList, matchesCollectionList, } from './targeting-helpers';
49
53
  export type { ResolvedPropertyList, ResolvedCollectionList, ResolvedCollection, ResolveListOptions, } from './targeting-helpers';
54
+ export * from './decisioning';
55
+ export { createCtxMetadataStore, memoryCtxMetadataStore, pgCtxMetadataStore, getCtxMetadataMigration, cleanupExpiredCtxMetadata, CTX_METADATA_MIGRATION, CtxMetadataValidationError, ADCP_INTERNAL_TAG, DEFAULT_MAX_VALUE_BYTES, MAX_TTL_SECONDS, stripCtxMetadata, hasCtxMetadata, ctxMetadataResultKey, scopeCtxMetadataKey, } from './ctx-metadata';
56
+ export type { CtxMetadataStore, CtxMetadataStoreConfig, CtxMetadataBackend, CtxMetadataEntry, CtxMetadataRef, ResourceKind as CtxMetadataResourceKind, MemoryCtxMetadataStoreOptions, PgCtxMetadataBackendOptions, WireShape, } from './ctx-metadata';
50
57
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/server/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/server/index.ts"],"names":[],"mappings":"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"}