@adcp/sdk 5.25.0 → 6.0.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 (298) 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/conformance/runners.d.ts.map +1 -1
  5. package/dist/lib/conformance/runners.js +13 -1
  6. package/dist/lib/conformance/runners.js.map +1 -1
  7. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  8. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  9. package/dist/lib/core/SingleAgentClient.js +15 -0
  10. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  11. package/dist/lib/core/TaskExecutor.d.ts +7 -0
  12. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  13. package/dist/lib/core/TaskExecutor.js +9 -2
  14. package/dist/lib/core/TaskExecutor.js.map +1 -1
  15. package/dist/lib/index.d.ts +1 -1
  16. package/dist/lib/index.d.ts.map +1 -1
  17. package/dist/lib/index.js +7 -8
  18. package/dist/lib/index.js.map +1 -1
  19. package/dist/lib/protocols/index.d.ts +3 -1
  20. package/dist/lib/protocols/index.d.ts.map +1 -1
  21. package/dist/lib/protocols/index.js +23 -14
  22. package/dist/lib/protocols/index.js.map +1 -1
  23. package/dist/lib/schemas/index.d.ts +1 -1
  24. package/dist/lib/schemas/index.js +1 -1
  25. package/dist/lib/server/create-adcp-server.d.ts +142 -11
  26. package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
  27. package/dist/lib/server/create-adcp-server.js +211 -2
  28. package/dist/lib/server/create-adcp-server.js.map +1 -1
  29. package/dist/lib/server/ctx-metadata/backends/memory.d.ts +27 -0
  30. package/dist/lib/server/ctx-metadata/backends/memory.d.ts.map +1 -0
  31. package/dist/lib/server/ctx-metadata/backends/memory.js +72 -0
  32. package/dist/lib/server/ctx-metadata/backends/memory.js.map +1 -0
  33. package/dist/lib/server/ctx-metadata/backends/pg.d.ts +62 -0
  34. package/dist/lib/server/ctx-metadata/backends/pg.d.ts.map +1 -0
  35. package/dist/lib/server/ctx-metadata/backends/pg.js +145 -0
  36. package/dist/lib/server/ctx-metadata/backends/pg.js.map +1 -0
  37. package/dist/lib/server/ctx-metadata/index.d.ts +15 -0
  38. package/dist/lib/server/ctx-metadata/index.d.ts.map +1 -0
  39. package/dist/lib/server/ctx-metadata/index.js +28 -0
  40. package/dist/lib/server/ctx-metadata/index.js.map +1 -0
  41. package/dist/lib/server/ctx-metadata/store.d.ts +177 -0
  42. package/dist/lib/server/ctx-metadata/store.d.ts.map +1 -0
  43. package/dist/lib/server/ctx-metadata/store.js +327 -0
  44. package/dist/lib/server/ctx-metadata/store.js.map +1 -0
  45. package/dist/lib/server/ctx-metadata/wire-shape.d.ts +55 -0
  46. package/dist/lib/server/ctx-metadata/wire-shape.d.ts.map +1 -0
  47. package/dist/lib/server/ctx-metadata/wire-shape.js +121 -0
  48. package/dist/lib/server/ctx-metadata/wire-shape.js.map +1 -0
  49. package/dist/lib/server/decisioning/account.d.ts +309 -0
  50. package/dist/lib/server/decisioning/account.d.ts.map +1 -0
  51. package/dist/lib/server/decisioning/account.js +102 -0
  52. package/dist/lib/server/decisioning/account.js.map +1 -0
  53. package/dist/lib/server/decisioning/admin-router.d.ts +75 -0
  54. package/dist/lib/server/decisioning/admin-router.d.ts.map +1 -0
  55. package/dist/lib/server/decisioning/admin-router.js +120 -0
  56. package/dist/lib/server/decisioning/admin-router.js.map +1 -0
  57. package/dist/lib/server/decisioning/assembly-helpers.d.ts +204 -0
  58. package/dist/lib/server/decisioning/assembly-helpers.d.ts.map +1 -0
  59. package/dist/lib/server/decisioning/assembly-helpers.js +173 -0
  60. package/dist/lib/server/decisioning/assembly-helpers.js.map +1 -0
  61. package/dist/lib/server/decisioning/async-outcome.d.ts +154 -0
  62. package/dist/lib/server/decisioning/async-outcome.d.ts.map +1 -0
  63. package/dist/lib/server/decisioning/async-outcome.js +239 -0
  64. package/dist/lib/server/decisioning/async-outcome.js.map +1 -0
  65. package/dist/lib/server/decisioning/capabilities.d.ts +251 -0
  66. package/dist/lib/server/decisioning/capabilities.d.ts.map +1 -0
  67. package/dist/lib/server/decisioning/capabilities.js +16 -0
  68. package/dist/lib/server/decisioning/capabilities.js.map +1 -0
  69. package/dist/lib/server/decisioning/context.d.ts +212 -0
  70. package/dist/lib/server/decisioning/context.d.ts.map +1 -0
  71. package/dist/lib/server/decisioning/context.js +26 -0
  72. package/dist/lib/server/decisioning/context.js.map +1 -0
  73. package/dist/lib/server/decisioning/errors-typed.d.ts +104 -0
  74. package/dist/lib/server/decisioning/errors-typed.d.ts.map +1 -0
  75. package/dist/lib/server/decisioning/errors-typed.js +304 -0
  76. package/dist/lib/server/decisioning/errors-typed.js.map +1 -0
  77. package/dist/lib/server/decisioning/helpers.d.ts +131 -0
  78. package/dist/lib/server/decisioning/helpers.d.ts.map +1 -0
  79. package/dist/lib/server/decisioning/helpers.js +134 -0
  80. package/dist/lib/server/decisioning/helpers.js.map +1 -0
  81. package/dist/lib/server/decisioning/index.d.ts +46 -0
  82. package/dist/lib/server/decisioning/index.d.ts.map +1 -0
  83. package/dist/lib/server/decisioning/index.js +120 -0
  84. package/dist/lib/server/decisioning/index.js.map +1 -0
  85. package/dist/lib/server/decisioning/list-helpers.d.ts +53 -0
  86. package/dist/lib/server/decisioning/list-helpers.d.ts.map +1 -0
  87. package/dist/lib/server/decisioning/list-helpers.js +96 -0
  88. package/dist/lib/server/decisioning/list-helpers.js.map +1 -0
  89. package/dist/lib/server/decisioning/manifest-helpers.d.ts +56 -0
  90. package/dist/lib/server/decisioning/manifest-helpers.d.ts.map +1 -0
  91. package/dist/lib/server/decisioning/manifest-helpers.js +78 -0
  92. package/dist/lib/server/decisioning/manifest-helpers.js.map +1 -0
  93. package/dist/lib/server/decisioning/pagination.d.ts +21 -0
  94. package/dist/lib/server/decisioning/pagination.d.ts.map +1 -0
  95. package/dist/lib/server/decisioning/pagination.js +12 -0
  96. package/dist/lib/server/decisioning/pagination.js.map +1 -0
  97. package/dist/lib/server/decisioning/platform.d.ts +188 -0
  98. package/dist/lib/server/decisioning/platform.d.ts.map +1 -0
  99. package/dist/lib/server/decisioning/platform.js +19 -0
  100. package/dist/lib/server/decisioning/platform.js.map +1 -0
  101. package/dist/lib/server/decisioning/runtime/from-platform.d.ts +510 -0
  102. package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -0
  103. package/dist/lib/server/decisioning/runtime/from-platform.js +2196 -0
  104. package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -0
  105. package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts +114 -0
  106. package/dist/lib/server/decisioning/runtime/postgres-task-registry.d.ts.map +1 -0
  107. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js +247 -0
  108. package/dist/lib/server/decisioning/runtime/postgres-task-registry.js.map +1 -0
  109. package/dist/lib/server/decisioning/runtime/protocol-for-tool.d.ts +32 -0
  110. package/dist/lib/server/decisioning/runtime/protocol-for-tool.d.ts.map +1 -0
  111. package/dist/lib/server/decisioning/runtime/protocol-for-tool.js +127 -0
  112. package/dist/lib/server/decisioning/runtime/protocol-for-tool.js.map +1 -0
  113. package/dist/lib/server/decisioning/runtime/task-registry.d.ts +105 -0
  114. package/dist/lib/server/decisioning/runtime/task-registry.d.ts.map +1 -0
  115. package/dist/lib/server/decisioning/runtime/task-registry.js +96 -0
  116. package/dist/lib/server/decisioning/runtime/task-registry.js.map +1 -0
  117. package/dist/lib/server/decisioning/runtime/to-context.d.ts +54 -0
  118. package/dist/lib/server/decisioning/runtime/to-context.d.ts.map +1 -0
  119. package/dist/lib/server/decisioning/runtime/to-context.js +166 -0
  120. package/dist/lib/server/decisioning/runtime/to-context.js.map +1 -0
  121. package/dist/lib/server/decisioning/runtime/validate-platform.d.ts +20 -0
  122. package/dist/lib/server/decisioning/runtime/validate-platform.d.ts.map +1 -0
  123. package/dist/lib/server/decisioning/runtime/validate-platform.js +93 -0
  124. package/dist/lib/server/decisioning/runtime/validate-platform.js.map +1 -0
  125. package/dist/lib/server/decisioning/specialisms/audiences.d.ts +72 -0
  126. package/dist/lib/server/decisioning/specialisms/audiences.d.ts.map +1 -0
  127. package/dist/lib/server/decisioning/specialisms/audiences.js +15 -0
  128. package/dist/lib/server/decisioning/specialisms/audiences.js.map +1 -0
  129. package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts +92 -0
  130. package/dist/lib/server/decisioning/specialisms/brand-rights.d.ts.map +1 -0
  131. package/dist/lib/server/decisioning/specialisms/brand-rights.js +28 -0
  132. package/dist/lib/server/decisioning/specialisms/brand-rights.js.map +1 -0
  133. package/dist/lib/server/decisioning/specialisms/campaign-governance.d.ts +67 -0
  134. package/dist/lib/server/decisioning/specialisms/campaign-governance.d.ts.map +1 -0
  135. package/dist/lib/server/decisioning/specialisms/campaign-governance.js +31 -0
  136. package/dist/lib/server/decisioning/specialisms/campaign-governance.js.map +1 -0
  137. package/dist/lib/server/decisioning/specialisms/content-standards.d.ts +78 -0
  138. package/dist/lib/server/decisioning/specialisms/content-standards.d.ts.map +1 -0
  139. package/dist/lib/server/decisioning/specialisms/content-standards.js +35 -0
  140. package/dist/lib/server/decisioning/specialisms/content-standards.js.map +1 -0
  141. package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts +81 -0
  142. package/dist/lib/server/decisioning/specialisms/creative-ad-server.d.ts.map +1 -0
  143. package/dist/lib/server/decisioning/specialisms/creative-ad-server.js +28 -0
  144. package/dist/lib/server/decisioning/specialisms/creative-ad-server.js.map +1 -0
  145. package/dist/lib/server/decisioning/specialisms/creative.d.ts +144 -0
  146. package/dist/lib/server/decisioning/specialisms/creative.d.ts.map +1 -0
  147. package/dist/lib/server/decisioning/specialisms/creative.js +19 -0
  148. package/dist/lib/server/decisioning/specialisms/creative.js.map +1 -0
  149. package/dist/lib/server/decisioning/specialisms/lists.d.ts +61 -0
  150. package/dist/lib/server/decisioning/specialisms/lists.d.ts.map +1 -0
  151. package/dist/lib/server/decisioning/specialisms/lists.js +30 -0
  152. package/dist/lib/server/decisioning/specialisms/lists.js.map +1 -0
  153. package/dist/lib/server/decisioning/specialisms/sales.d.ts +163 -0
  154. package/dist/lib/server/decisioning/specialisms/sales.d.ts.map +1 -0
  155. package/dist/lib/server/decisioning/specialisms/sales.js +64 -0
  156. package/dist/lib/server/decisioning/specialisms/sales.js.map +1 -0
  157. package/dist/lib/server/decisioning/specialisms/signals.d.ts +64 -0
  158. package/dist/lib/server/decisioning/specialisms/signals.d.ts.map +1 -0
  159. package/dist/lib/server/decisioning/specialisms/signals.js +28 -0
  160. package/dist/lib/server/decisioning/specialisms/signals.js.map +1 -0
  161. package/dist/lib/server/decisioning/start-time.d.ts +76 -0
  162. package/dist/lib/server/decisioning/start-time.d.ts.map +1 -0
  163. package/dist/lib/server/decisioning/start-time.js +81 -0
  164. package/dist/lib/server/decisioning/start-time.js.map +1 -0
  165. package/dist/lib/server/decisioning/status-changes.d.ts +165 -0
  166. package/dist/lib/server/decisioning/status-changes.d.ts.map +1 -0
  167. package/dist/lib/server/decisioning/status-changes.js +131 -0
  168. package/dist/lib/server/decisioning/status-changes.js.map +1 -0
  169. package/dist/lib/server/decisioning/status-mappers.d.ts +46 -0
  170. package/dist/lib/server/decisioning/status-mappers.d.ts.map +1 -0
  171. package/dist/lib/server/decisioning/status-mappers.js +46 -0
  172. package/dist/lib/server/decisioning/status-mappers.js.map +1 -0
  173. package/dist/lib/server/decisioning/tenant-registry.d.ts +289 -0
  174. package/dist/lib/server/decisioning/tenant-registry.d.ts.map +1 -0
  175. package/dist/lib/server/decisioning/tenant-registry.js +503 -0
  176. package/dist/lib/server/decisioning/tenant-registry.js.map +1 -0
  177. package/dist/lib/server/express-adapter.d.ts +1 -1
  178. package/dist/lib/server/express-adapter.js +1 -1
  179. package/dist/lib/server/governance.d.ts +1 -1
  180. package/dist/lib/server/governance.js +1 -1
  181. package/dist/lib/server/idempotency/store.d.ts +1 -1
  182. package/dist/lib/server/idempotency/store.js +1 -1
  183. package/dist/lib/server/index.d.ts +9 -2
  184. package/dist/lib/server/index.d.ts.map +1 -1
  185. package/dist/lib/server/index.js +79 -4
  186. package/dist/lib/server/index.js.map +1 -1
  187. package/dist/lib/server/legacy/v5/index.d.ts +38 -0
  188. package/dist/lib/server/legacy/v5/index.d.ts.map +1 -0
  189. package/dist/lib/server/legacy/v5/index.js +60 -0
  190. package/dist/lib/server/legacy/v5/index.js.map +1 -0
  191. package/dist/lib/server/normalize-errors.d.ts +88 -0
  192. package/dist/lib/server/normalize-errors.d.ts.map +1 -0
  193. package/dist/lib/server/normalize-errors.js +146 -0
  194. package/dist/lib/server/normalize-errors.js.map +1 -0
  195. package/dist/lib/server/pick-safe-details.d.ts +90 -0
  196. package/dist/lib/server/pick-safe-details.d.ts.map +1 -0
  197. package/dist/lib/server/pick-safe-details.js +148 -0
  198. package/dist/lib/server/pick-safe-details.js.map +1 -0
  199. package/dist/lib/server/postgres-state-store.d.ts +1 -1
  200. package/dist/lib/server/postgres-state-store.js +1 -1
  201. package/dist/lib/server/responses.d.ts +38 -0
  202. package/dist/lib/server/responses.d.ts.map +1 -1
  203. package/dist/lib/server/responses.js +38 -0
  204. package/dist/lib/server/responses.js.map +1 -1
  205. package/dist/lib/server/state-store.d.ts +1 -1
  206. package/dist/lib/server/state-store.js +1 -1
  207. package/dist/lib/server/test-controller.d.ts +10 -3
  208. package/dist/lib/server/test-controller.d.ts.map +1 -1
  209. package/dist/lib/server/test-controller.js +10 -3
  210. package/dist/lib/server/test-controller.js.map +1 -1
  211. package/dist/lib/testing/comply-controller.d.ts +47 -1
  212. package/dist/lib/testing/comply-controller.d.ts.map +1 -1
  213. package/dist/lib/testing/comply-controller.js +11 -4
  214. package/dist/lib/testing/comply-controller.js.map +1 -1
  215. package/dist/lib/testing/index.d.ts +1 -1
  216. package/dist/lib/testing/index.d.ts.map +1 -1
  217. package/dist/lib/testing/index.js.map +1 -1
  218. package/dist/lib/testing/personas/index.d.ts +143 -0
  219. package/dist/lib/testing/personas/index.d.ts.map +1 -0
  220. package/dist/lib/testing/personas/index.js +190 -0
  221. package/dist/lib/testing/personas/index.js.map +1 -0
  222. package/dist/lib/testing/storyboard/index.d.ts +1 -1
  223. package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
  224. package/dist/lib/testing/storyboard/index.js +3 -2
  225. package/dist/lib/testing/storyboard/index.js.map +1 -1
  226. package/dist/lib/testing/storyboard/runner.d.ts +13 -0
  227. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  228. package/dist/lib/testing/storyboard/runner.js +179 -7
  229. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  230. package/dist/lib/types/adcp.d.ts.map +1 -1
  231. package/dist/lib/types/adcp.js +1 -0
  232. package/dist/lib/types/adcp.js.map +1 -1
  233. package/dist/lib/types/asset-instances.d.ts +1 -0
  234. package/dist/lib/types/asset-instances.d.ts.map +1 -1
  235. package/dist/lib/types/core.generated.d.ts +203 -98
  236. package/dist/lib/types/core.generated.d.ts.map +1 -1
  237. package/dist/lib/types/core.generated.js +1 -1
  238. package/dist/lib/types/index.d.ts +1 -0
  239. package/dist/lib/types/index.d.ts.map +1 -1
  240. package/dist/lib/types/index.js.map +1 -1
  241. package/dist/lib/types/schemas.generated.d.ts +599 -159
  242. package/dist/lib/types/schemas.generated.d.ts.map +1 -1
  243. package/dist/lib/types/schemas.generated.js +175 -94
  244. package/dist/lib/types/schemas.generated.js.map +1 -1
  245. package/dist/lib/types/tools.generated.d.ts +315 -46
  246. package/dist/lib/types/tools.generated.d.ts.map +1 -1
  247. package/dist/lib/utils/capabilities.d.ts +1 -1
  248. package/dist/lib/utils/capabilities.d.ts.map +1 -1
  249. package/dist/lib/utils/capabilities.js +6 -0
  250. package/dist/lib/utils/capabilities.js.map +1 -1
  251. package/dist/lib/validation/schema-validator.d.ts +13 -0
  252. package/dist/lib/validation/schema-validator.d.ts.map +1 -1
  253. package/dist/lib/validation/schema-validator.js +240 -3
  254. package/dist/lib/validation/schema-validator.js.map +1 -1
  255. package/dist/lib/version.d.ts +3 -3
  256. package/dist/lib/version.d.ts.map +1 -1
  257. package/dist/lib/version.js +3 -3
  258. package/dist/lib/version.js.map +1 -1
  259. package/docs/guides/BUILD-AN-AGENT.md +30 -5
  260. package/docs/llms.txt +28 -17
  261. package/examples/README.md +3 -1
  262. package/examples/decisioning-platform-broadcast-tv.ts +300 -0
  263. package/examples/decisioning-platform-identity-graph.ts +214 -0
  264. package/examples/decisioning-platform-mock-seller.ts +332 -0
  265. package/examples/decisioning-platform-multi-tenant.ts +128 -0
  266. package/examples/decisioning-platform-programmatic.ts +254 -0
  267. package/examples/signals-agent.ts +1 -1
  268. package/package.json +13 -2
  269. package/skills/build-brand-rights-agent/SKILL.md +10 -3
  270. package/skills/build-creative-agent/SKILL.md +94 -64
  271. package/skills/build-decisioning-creative-template/SKILL.md +554 -0
  272. package/skills/build-decisioning-platform/SKILL.md +304 -0
  273. package/skills/build-decisioning-platform/advanced/BRAND-RIGHTS.md +25 -0
  274. package/skills/build-decisioning-platform/advanced/COMPLIANCE.md +23 -0
  275. package/skills/build-decisioning-platform/advanced/GOVERNANCE.md +24 -0
  276. package/skills/build-decisioning-platform/advanced/HITL.md +34 -0
  277. package/skills/build-decisioning-platform/advanced/IDEMPOTENCY.md +52 -0
  278. package/skills/build-decisioning-platform/advanced/MULTI-TENANT.md +47 -0
  279. package/skills/build-decisioning-platform/advanced/OAUTH.md +22 -0
  280. package/skills/build-decisioning-platform/advanced/REFERENCE.md +991 -0
  281. package/skills/build-decisioning-platform/advanced/SANDBOX.md +24 -0
  282. package/skills/build-decisioning-platform/advanced/STATE-MACHINE.md +52 -0
  283. package/skills/build-decisioning-signal-marketplace/SKILL.md +269 -0
  284. package/skills/build-generative-seller-agent/SKILL.md +89 -53
  285. package/skills/build-governance-agent/SKILL.md +76 -45
  286. package/skills/build-retail-media-agent/SKILL.md +87 -62
  287. package/skills/build-seller-agent/SKILL.md +384 -255
  288. package/skills/build-seller-agent/deployment.md +5 -3
  289. package/skills/build-seller-agent/specialisms/audience-sync.md +0 -2
  290. package/skills/build-seller-agent/specialisms/sales-broadcast-tv.md +0 -2
  291. package/skills/build-seller-agent/specialisms/sales-guaranteed.md +0 -2
  292. package/skills/build-seller-agent/specialisms/sales-non-guaranteed.md +0 -2
  293. package/skills/build-seller-agent/specialisms/sales-proposal-mode.md +0 -2
  294. package/skills/build-seller-agent/specialisms/sales-social.md +0 -2
  295. package/skills/build-seller-agent/specialisms/signed-requests.md +0 -2
  296. package/skills/build-si-agent/SKILL.md +40 -32
  297. package/skills/build-signals-agent/SKILL.md +139 -92
  298. package/skills/call-adcp-agent.previous/SKILL.md +5 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors-typed.js","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/errors-typed.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Adopter utility helpers for DecisioningPlatform implementations.
3
+ *
4
+ * All exports are opt-in convenience — nothing in the framework calls
5
+ * these internally. They lift boilerplate that every adopter with the
6
+ * corresponding pattern would otherwise rewrite from scratch.
7
+ *
8
+ * @public
9
+ */
10
+ import { AdcpError, type ErrorCode } from './async-outcome';
11
+ /**
12
+ * Project a per-id Result-returning lookup into the `pollAudienceStatuses`
13
+ * `Map<id, status>` shape.
14
+ *
15
+ * Runs all lookups in parallel. Drops entries where `result.isOk()` is
16
+ * false OR `result.value` is `undefined` — per the SDK contract, not-found
17
+ * entries are omitted from the map (callers handle missing keys via
18
+ * `Map.prototype.get`).
19
+ *
20
+ * Typical use in `AudiencePlatform.pollAudienceStatuses`:
21
+ *
22
+ * ```ts
23
+ * import { batchPoll } from '@adcp/sdk/server/decisioning';
24
+ *
25
+ * async pollAudienceStatuses(audienceIds, ctx) {
26
+ * return batchPoll(audienceIds, async (id) =>
27
+ * this.myPlatform.getAudienceStatus(id, ctx.account.ctx_metadata.token)
28
+ * );
29
+ * }
30
+ * ```
31
+ *
32
+ * The `lookup` return type is structural — any object with `isOk(): boolean`
33
+ * and `value?: TValue` matches (`neverthrow`, `fp-ts`, or custom Result types
34
+ * all work without wrapping).
35
+ *
36
+ * @public
37
+ */
38
+ export declare function batchPoll<TKey extends string, TValue>(ids: readonly TKey[], lookup: (id: TKey) => Promise<{
39
+ isOk(): boolean;
40
+ value?: TValue;
41
+ }>): Promise<Map<TKey, TValue>>;
42
+ /**
43
+ * Construct an `AdcpError` for a buyer-correctable validation failure.
44
+ * Shorthand for `new AdcpError('VALIDATION_ERROR', { recovery: 'correctable', ... })`.
45
+ *
46
+ * ```ts
47
+ * import { validationError } from '@adcp/sdk/server/decisioning';
48
+ *
49
+ * if (!req.targeting?.geos?.length) {
50
+ * throw validationError('At least one geo is required', {
51
+ * field: 'targeting.geos',
52
+ * });
53
+ * }
54
+ * ```
55
+ *
56
+ * @param message - Human-readable explanation of the validation failure.
57
+ * @param opts.field - Wire `field` path (e.g. `'targeting.geos'`).
58
+ * @param opts.code - Override the error code (default `'VALIDATION_ERROR'`).
59
+ * @public
60
+ */
61
+ export declare function validationError(message: string, opts?: {
62
+ field?: string;
63
+ code?: ErrorCode | (string & {});
64
+ }): AdcpError;
65
+ /**
66
+ * Construct an `AdcpError` for an upstream-platform failure (5xx /
67
+ * rate-limited). `extraDetails` is run through {@link pickSafeDetails}
68
+ * internally — depth-capped and size-capped — so credentials or stack
69
+ * traces the caller accidentally included don't cross the wire boundary.
70
+ *
71
+ * HTTP 429 maps to `RATE_LIMITED` (with `retry_after: 60`). All other
72
+ * upstream failures map to `SERVICE_UNAVAILABLE`. Both use
73
+ * `recovery: 'transient'`.
74
+ *
75
+ * ```ts
76
+ * import { upstreamError } from '@adcp/sdk/server/decisioning';
77
+ *
78
+ * try {
79
+ * return await this.gam.createOrder(req);
80
+ * } catch (e) {
81
+ * throw upstreamError('GAM order creation failed', e, {
82
+ * gam_error_code: e.errorCode,
83
+ * request_id: e.requestId,
84
+ * });
85
+ * }
86
+ * ```
87
+ *
88
+ * @param prefix - Short description of the operation that failed
89
+ * (e.g. `'GAM order creation failed'`). Prepended to the upstream message.
90
+ * @param e - Upstream error. Only `message`, `code`, and `status` are read;
91
+ * all other fields are ignored.
92
+ * @param extraDetails - Optional pre-selected safe fields to surface to the
93
+ * buyer. Run through `pickSafeDetails` with depth/size caps before attaching
94
+ * to the wire envelope.
95
+ * @public
96
+ */
97
+ export declare function upstreamError(prefix: string, e: {
98
+ message?: string;
99
+ code?: number | string;
100
+ status?: number;
101
+ }, extraDetails?: Record<string, unknown>): AdcpError;
102
+ /**
103
+ * Strip index signatures from a wire request type for back-compat with
104
+ * v5-era task functions whose parameter types don't carry the spec's
105
+ * `additionalProperties: true` index signature (`[x: string]: unknown`).
106
+ *
107
+ * Without this, passing a v6 wire type directly to a v5 task fn produces:
108
+ *
109
+ * ```
110
+ * Type 'CreateMediaBuyRequest' is not assignable to type
111
+ * 'Parameters<typeof createMediaBuyTask>[1]'
112
+ * ```
113
+ *
114
+ * because generated v6 types include `[x: string]: unknown` for
115
+ * forward-compat but v5 fn signatures were authored without it.
116
+ *
117
+ * ```ts
118
+ * import type { RequestShape } from '@adcp/sdk/server/decisioning';
119
+ *
120
+ * const result = await createMediaBuyTask(
121
+ * snapCtx(account),
122
+ * req as RequestShape<typeof req>, // drops index sig for v5 adapter compat
123
+ * );
124
+ * ```
125
+ *
126
+ * @public
127
+ */
128
+ export type RequestShape<T> = {
129
+ [K in keyof T]: T[K];
130
+ };
131
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAO5D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,SAAS,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,EACzD,GAAG,EAAE,SAAS,IAAI,EAAE,EACpB,MAAM,EAAE,CAAC,EAAE,EAAE,IAAI,KAAK,OAAO,CAAC;IAAE,IAAI,IAAI,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GACjE,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAc5B;AAMD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;CAAE,GAC1D,SAAS,CAMX;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EAChE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACrC,SAAS,CAaX;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ /**
3
+ * Adopter utility helpers for DecisioningPlatform implementations.
4
+ *
5
+ * All exports are opt-in convenience — nothing in the framework calls
6
+ * these internally. They lift boilerplate that every adopter with the
7
+ * corresponding pattern would otherwise rewrite from scratch.
8
+ *
9
+ * @public
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.batchPoll = batchPoll;
13
+ exports.validationError = validationError;
14
+ exports.upstreamError = upstreamError;
15
+ const async_outcome_1 = require("./async-outcome");
16
+ const pick_safe_details_1 = require("../pick-safe-details");
17
+ // ---------------------------------------------------------------------------
18
+ // batchPoll
19
+ // ---------------------------------------------------------------------------
20
+ /**
21
+ * Project a per-id Result-returning lookup into the `pollAudienceStatuses`
22
+ * `Map<id, status>` shape.
23
+ *
24
+ * Runs all lookups in parallel. Drops entries where `result.isOk()` is
25
+ * false OR `result.value` is `undefined` — per the SDK contract, not-found
26
+ * entries are omitted from the map (callers handle missing keys via
27
+ * `Map.prototype.get`).
28
+ *
29
+ * Typical use in `AudiencePlatform.pollAudienceStatuses`:
30
+ *
31
+ * ```ts
32
+ * import { batchPoll } from '@adcp/sdk/server/decisioning';
33
+ *
34
+ * async pollAudienceStatuses(audienceIds, ctx) {
35
+ * return batchPoll(audienceIds, async (id) =>
36
+ * this.myPlatform.getAudienceStatus(id, ctx.account.ctx_metadata.token)
37
+ * );
38
+ * }
39
+ * ```
40
+ *
41
+ * The `lookup` return type is structural — any object with `isOk(): boolean`
42
+ * and `value?: TValue` matches (`neverthrow`, `fp-ts`, or custom Result types
43
+ * all work without wrapping).
44
+ *
45
+ * @public
46
+ */
47
+ async function batchPoll(ids, lookup) {
48
+ const pairs = await Promise.all(ids.map(async (id) => {
49
+ const r = await lookup(id);
50
+ return [id, r];
51
+ }));
52
+ const result = new Map();
53
+ for (const [id, r] of pairs) {
54
+ if (r.isOk() && r.value !== undefined) {
55
+ result.set(id, r.value);
56
+ }
57
+ }
58
+ return result;
59
+ }
60
+ // ---------------------------------------------------------------------------
61
+ // Error factory helpers
62
+ // ---------------------------------------------------------------------------
63
+ /**
64
+ * Construct an `AdcpError` for a buyer-correctable validation failure.
65
+ * Shorthand for `new AdcpError('VALIDATION_ERROR', { recovery: 'correctable', ... })`.
66
+ *
67
+ * ```ts
68
+ * import { validationError } from '@adcp/sdk/server/decisioning';
69
+ *
70
+ * if (!req.targeting?.geos?.length) {
71
+ * throw validationError('At least one geo is required', {
72
+ * field: 'targeting.geos',
73
+ * });
74
+ * }
75
+ * ```
76
+ *
77
+ * @param message - Human-readable explanation of the validation failure.
78
+ * @param opts.field - Wire `field` path (e.g. `'targeting.geos'`).
79
+ * @param opts.code - Override the error code (default `'VALIDATION_ERROR'`).
80
+ * @public
81
+ */
82
+ function validationError(message, opts) {
83
+ return new async_outcome_1.AdcpError((opts?.code ?? 'VALIDATION_ERROR'), {
84
+ recovery: 'correctable',
85
+ message,
86
+ ...(opts?.field !== undefined && { field: opts.field }),
87
+ });
88
+ }
89
+ /**
90
+ * Construct an `AdcpError` for an upstream-platform failure (5xx /
91
+ * rate-limited). `extraDetails` is run through {@link pickSafeDetails}
92
+ * internally — depth-capped and size-capped — so credentials or stack
93
+ * traces the caller accidentally included don't cross the wire boundary.
94
+ *
95
+ * HTTP 429 maps to `RATE_LIMITED` (with `retry_after: 60`). All other
96
+ * upstream failures map to `SERVICE_UNAVAILABLE`. Both use
97
+ * `recovery: 'transient'`.
98
+ *
99
+ * ```ts
100
+ * import { upstreamError } from '@adcp/sdk/server/decisioning';
101
+ *
102
+ * try {
103
+ * return await this.gam.createOrder(req);
104
+ * } catch (e) {
105
+ * throw upstreamError('GAM order creation failed', e, {
106
+ * gam_error_code: e.errorCode,
107
+ * request_id: e.requestId,
108
+ * });
109
+ * }
110
+ * ```
111
+ *
112
+ * @param prefix - Short description of the operation that failed
113
+ * (e.g. `'GAM order creation failed'`). Prepended to the upstream message.
114
+ * @param e - Upstream error. Only `message`, `code`, and `status` are read;
115
+ * all other fields are ignored.
116
+ * @param extraDetails - Optional pre-selected safe fields to surface to the
117
+ * buyer. Run through `pickSafeDetails` with depth/size caps before attaching
118
+ * to the wire envelope.
119
+ * @public
120
+ */
121
+ function upstreamError(prefix, e, extraDetails) {
122
+ const statusCode = e.status ?? (typeof e.code === 'number' ? e.code : undefined);
123
+ const isRateLimited = statusCode === 429;
124
+ const errorCode = isRateLimited ? 'RATE_LIMITED' : 'SERVICE_UNAVAILABLE';
125
+ const upstreamMsg = typeof e.message === 'string' && e.message.length > 0 ? e.message : 'upstream error';
126
+ const details = extraDetails !== undefined ? (0, pick_safe_details_1.pickSafeDetails)(extraDetails, Object.keys(extraDetails)) : undefined;
127
+ return new async_outcome_1.AdcpError(errorCode, {
128
+ recovery: 'transient',
129
+ message: `${prefix}: ${upstreamMsg}`,
130
+ ...(isRateLimited && { retry_after: 60 }),
131
+ ...(details !== undefined && { details }),
132
+ });
133
+ }
134
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/helpers.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAoCH,8BAiBC;AAyBD,0CASC;AAkCD,sCAiBC;AAxID,mDAA4D;AAC5D,4DAAuD;AAEvD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACI,KAAK,UAAU,SAAS,CAC7B,GAAoB,EACpB,MAAkE;IAElE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,GAAG,CAAC,GAAG,CAAC,KAAK,EAAC,EAAE,EAAC,EAAE;QACjB,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;QAC3B,OAAO,CAAC,EAAE,EAAE,CAAC,CAAU,CAAC;IAC1B,CAAC,CAAC,CACH,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgB,CAAC;IACvC,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAgB,eAAe,CAC7B,OAAe,EACf,IAA2D;IAE3D,OAAO,IAAI,yBAAS,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,kBAAkB,CAAc,EAAE;QACpE,QAAQ,EAAE,aAAa;QACvB,OAAO;QACP,GAAG,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;KACxD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,SAAgB,aAAa,CAC3B,MAAc,EACd,CAAgE,EAChE,YAAsC;IAEtC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACjF,MAAM,aAAa,GAAG,UAAU,KAAK,GAAG,CAAC;IACzC,MAAM,SAAS,GAAc,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC;IACpF,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACzG,MAAM,OAAO,GAAG,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,mCAAe,EAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElH,OAAO,IAAI,yBAAS,CAAC,SAAS,EAAE;QAC9B,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE,GAAG,MAAM,KAAK,WAAW,EAAE;QACpC,GAAG,CAAC,aAAa,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC;KAC1C,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * DecisioningPlatform v1.0 — preview surface for the v6.0 architecture.
3
+ *
4
+ * Status: PREVIEW. Types only; not yet wired into the framework. Subject
5
+ * to change before 6.0 ships. Don't build production adapters against this
6
+ * yet — the framework still routes through the v5.x handler-style API.
7
+ *
8
+ * Design proposal: `.context/proposals/specialism-platform-interfaces-v3.md`
9
+ *
10
+ * @packageDocumentation
11
+ */
12
+ export { type AdcpStructuredError, type ErrorCode, AdcpError } from './async-outcome';
13
+ export { PackageNotFoundError, MediaBuyNotFoundError, ProductNotFoundError, CreativeNotFoundError, ProductUnavailableError, CreativeRejectedError, BudgetTooLowError, BudgetExhaustedError, IdempotencyConflictError, InvalidRequestError, InvalidStateError, BackwardsTimeRangeError, AuthRequiredError, PermissionDeniedError, RateLimitedError, ServiceUnavailableError, UnsupportedFeatureError, ComplianceUnsatisfiedError, GovernanceDeniedError, PolicyViolationError, } from './errors-typed';
14
+ export type { CursorPage, CursorRequest } from './pagination';
15
+ export { publishStatusChange, setStatusChangeBus, getStatusChangeBus, createInMemoryStatusChangeBus, type StatusChange, type StatusChangeBus, type StatusChangeResourceType, type StatusChangeListener, type PublishStatusChangeOpts, } from './status-changes';
16
+ export type { DecisioningCapabilities, CreativeAgentRef, TargetingCapabilities, ReportingCapabilities, } from './capabilities';
17
+ export type { Account, AuthPrincipal, AccountStore, AccountFilter, SyncAccountsResultRow, AdcpAccountStatus, ResolveContext, ResolvedAuthInfo, } from './account';
18
+ export { AccountNotFoundError, refAccountId } from './account';
19
+ export type { StatusMappers, AdcpMediaBuyStatus, AdcpCreativeStatus, AdcpPlanStatus } from './status-mappers';
20
+ export { identityStatusMappers } from './status-mappers';
21
+ export type { RequestContext, WorkflowStateReader, ResourceResolver, WorkflowObjectType, WorkflowStep, Proposal, GovernanceContextJWS, } from './context';
22
+ export type { DecisioningPlatform, RequiredPlatformsFor, RequiredCapabilitiesFor } from './platform';
23
+ export type { CreativeBuilderPlatform, BuildCreativeReturn, CreativeTemplatePlatform, CreativeGenerativePlatform, RefinementMessage, SyncCreativesRow, } from './specialisms/creative';
24
+ export type { CreativeAdServerPlatform } from './specialisms/creative-ad-server';
25
+ export type { CampaignGovernancePlatform } from './specialisms/campaign-governance';
26
+ export type { ContentStandardsPlatform } from './specialisms/content-standards';
27
+ export type { PropertyListsPlatform, CollectionListsPlatform } from './specialisms/lists';
28
+ export type { SalesPlatform } from './specialisms/sales';
29
+ export type { AudiencePlatform, Audience, SyncAudiencesRow, AudienceStatus } from './specialisms/audiences';
30
+ export type { SignalsPlatform } from './specialisms/signals';
31
+ export type { BrandRightsPlatform } from './specialisms/brand-rights';
32
+ export type { GetBrandIdentityRequest, GetBrandIdentitySuccess, GetRightsRequest, GetRightsSuccess, AcquireRightsRequest, AcquireRightsAcquired, AcquireRightsPendingApproval, AcquireRightsRejected, AcquireRightsError, RightUse, RightType, RightsConstraint, RightsTerms, RightsPricingOption, GenerationCredential, } from '../../types/core.generated';
33
+ export { createAdcpServerFromPlatform, getAllAdcpMigrations, type CreateAdcpServerFromPlatformOptions, type DecisioningAdcpServer, type DecisioningObservabilityHooks, } from './runtime/from-platform';
34
+ export { PlatformConfigError, validatePlatform } from './runtime/validate-platform';
35
+ export { createInMemoryTaskRegistry, type TaskRegistry, type TaskRecord, type TaskStatus, } from './runtime/task-registry';
36
+ export { createPostgresTaskRegistry, getDecisioningTaskRegistryMigration, type CreatePostgresTaskRegistryOptions, type PgQueryable, } from './runtime/postgres-task-registry';
37
+ export { createTenantRegistry, createDefaultJwksValidator, type TenantRegistry, type TenantConfig, type TenantSigningKey, type TenantStatus, type TenantHealth, type TenantRegistryOptions, type JwksValidator, type JwksValidationResult, } from './tenant-registry';
38
+ export { getAsset, requireAsset } from './manifest-helpers';
39
+ export { buildListCreativesResponse, type BuildListCreativesResponseOpts } from './list-helpers';
40
+ export { resolveStartTime, type ResolveStartTimeOptions } from './start-time';
41
+ export { createTenantAdminRouter, createTenantAdminHandlers, mountTenantAdmin, type TenantAdminHandlers, type RouterLike, } from './admin-router';
42
+ export { batchPoll, validationError, upstreamError } from './helpers';
43
+ export type { RequestShape } from './helpers';
44
+ export { buildProduct, buildPricingOption, buildPackage } from './assembly-helpers';
45
+ export type { BuildProductInput, BuildPricingOptionInput, BuildPackageInput } from './assembly-helpers';
46
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMtF,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO9D,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,6BAA6B,EAC7B,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,oBAAoB,EACzB,KAAK,uBAAuB,GAC7B,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,uBAAuB,EACvB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,OAAO,EACP,aAAa,EACb,YAAY,EACZ,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,GACjB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAG/D,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAGzD,YAAY,EACV,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,QAAQ,EACR,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAGnB,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAGrG,YAAY,EACV,uBAAuB,EACvB,mBAAmB,EAGnB,wBAAwB,EACxB,0BAA0B,EAC1B,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAEjF,YAAY,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAEpF,YAAY,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE1F,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD,YAAY,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE5G,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,YAAY,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAOtE,YAAY,EACV,uBAAuB,EACvB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,4BAA4B,EAC5B,qBAAqB,EACrB,kBAAkB,EAClB,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EACL,4BAA4B,EAC5B,oBAAoB,EACpB,KAAK,mCAAmC,EACxC,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,GACnC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EACL,0BAA0B,EAC1B,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,UAAU,GAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,0BAA0B,EAC1B,mCAAmC,EACnC,KAAK,iCAAiC,EACtC,KAAK,WAAW,GACjB,MAAM,kCAAkC,CAAC;AAK1C,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAI5D,OAAO,EAAE,0BAA0B,EAAE,KAAK,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AAIjG,OAAO,EAAE,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAI9E,OAAO,EACL,uBAAuB,EACvB,yBAAyB,EACzB,gBAAgB,EAChB,KAAK,mBAAmB,EACxB,KAAK,UAAU,GAChB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAM9C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpF,YAAY,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ /**
3
+ * DecisioningPlatform v1.0 — preview surface for the v6.0 architecture.
4
+ *
5
+ * Status: PREVIEW. Types only; not yet wired into the framework. Subject
6
+ * to change before 6.0 ships. Don't build production adapters against this
7
+ * yet — the framework still routes through the v5.x handler-style API.
8
+ *
9
+ * Design proposal: `.context/proposals/specialism-platform-interfaces-v3.md`
10
+ *
11
+ * @packageDocumentation
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.buildPackage = exports.buildPricingOption = exports.buildProduct = exports.upstreamError = exports.validationError = exports.batchPoll = exports.mountTenantAdmin = exports.createTenantAdminHandlers = exports.createTenantAdminRouter = exports.resolveStartTime = exports.buildListCreativesResponse = exports.requireAsset = exports.getAsset = exports.createDefaultJwksValidator = exports.createTenantRegistry = exports.getDecisioningTaskRegistryMigration = exports.createPostgresTaskRegistry = exports.createInMemoryTaskRegistry = exports.validatePlatform = exports.PlatformConfigError = exports.getAllAdcpMigrations = exports.createAdcpServerFromPlatform = exports.identityStatusMappers = exports.refAccountId = exports.AccountNotFoundError = exports.createInMemoryStatusChangeBus = exports.getStatusChangeBus = exports.setStatusChangeBus = exports.publishStatusChange = exports.PolicyViolationError = exports.GovernanceDeniedError = exports.ComplianceUnsatisfiedError = exports.UnsupportedFeatureError = exports.ServiceUnavailableError = exports.RateLimitedError = exports.PermissionDeniedError = exports.AuthRequiredError = exports.BackwardsTimeRangeError = exports.InvalidStateError = exports.InvalidRequestError = exports.IdempotencyConflictError = exports.BudgetExhaustedError = exports.BudgetTooLowError = exports.CreativeRejectedError = exports.ProductUnavailableError = exports.CreativeNotFoundError = exports.ProductNotFoundError = exports.MediaBuyNotFoundError = exports.PackageNotFoundError = exports.AdcpError = void 0;
15
+ // Adopter-facing structured-error primitive.
16
+ //
17
+ // `AdcpError` is the canonical throwable for structured rejection. Specialism
18
+ // methods return plain `T` for success or `throw new AdcpError(...)` to project
19
+ // to the wire `adcp_error` envelope.
20
+ //
21
+ // HITL is expressed in the type system via the dual-method shape on each
22
+ // spec-HITL tool (`xxx` for sync, `xxxTask` for HITL). No adopter-facing
23
+ // task primitives — the framework owns task lifecycle and dispatches the
24
+ // `*Task` method in the background.
25
+ var async_outcome_1 = require("./async-outcome");
26
+ Object.defineProperty(exports, "AdcpError", { enumerable: true, get: function () { return async_outcome_1.AdcpError; } });
27
+ // Typed `AdcpError` subclasses — adopter convenience for the highest-traffic
28
+ // error codes. Each class encodes the canonical code/recovery/field shape.
29
+ // LLM-generated platforms get autocomplete on the import; humans skim the
30
+ // list to find the right class. See `errors-typed.ts`.
31
+ var errors_typed_1 = require("./errors-typed");
32
+ Object.defineProperty(exports, "PackageNotFoundError", { enumerable: true, get: function () { return errors_typed_1.PackageNotFoundError; } });
33
+ Object.defineProperty(exports, "MediaBuyNotFoundError", { enumerable: true, get: function () { return errors_typed_1.MediaBuyNotFoundError; } });
34
+ Object.defineProperty(exports, "ProductNotFoundError", { enumerable: true, get: function () { return errors_typed_1.ProductNotFoundError; } });
35
+ Object.defineProperty(exports, "CreativeNotFoundError", { enumerable: true, get: function () { return errors_typed_1.CreativeNotFoundError; } });
36
+ Object.defineProperty(exports, "ProductUnavailableError", { enumerable: true, get: function () { return errors_typed_1.ProductUnavailableError; } });
37
+ Object.defineProperty(exports, "CreativeRejectedError", { enumerable: true, get: function () { return errors_typed_1.CreativeRejectedError; } });
38
+ Object.defineProperty(exports, "BudgetTooLowError", { enumerable: true, get: function () { return errors_typed_1.BudgetTooLowError; } });
39
+ Object.defineProperty(exports, "BudgetExhaustedError", { enumerable: true, get: function () { return errors_typed_1.BudgetExhaustedError; } });
40
+ Object.defineProperty(exports, "IdempotencyConflictError", { enumerable: true, get: function () { return errors_typed_1.IdempotencyConflictError; } });
41
+ Object.defineProperty(exports, "InvalidRequestError", { enumerable: true, get: function () { return errors_typed_1.InvalidRequestError; } });
42
+ Object.defineProperty(exports, "InvalidStateError", { enumerable: true, get: function () { return errors_typed_1.InvalidStateError; } });
43
+ Object.defineProperty(exports, "BackwardsTimeRangeError", { enumerable: true, get: function () { return errors_typed_1.BackwardsTimeRangeError; } });
44
+ Object.defineProperty(exports, "AuthRequiredError", { enumerable: true, get: function () { return errors_typed_1.AuthRequiredError; } });
45
+ Object.defineProperty(exports, "PermissionDeniedError", { enumerable: true, get: function () { return errors_typed_1.PermissionDeniedError; } });
46
+ Object.defineProperty(exports, "RateLimitedError", { enumerable: true, get: function () { return errors_typed_1.RateLimitedError; } });
47
+ Object.defineProperty(exports, "ServiceUnavailableError", { enumerable: true, get: function () { return errors_typed_1.ServiceUnavailableError; } });
48
+ Object.defineProperty(exports, "UnsupportedFeatureError", { enumerable: true, get: function () { return errors_typed_1.UnsupportedFeatureError; } });
49
+ Object.defineProperty(exports, "ComplianceUnsatisfiedError", { enumerable: true, get: function () { return errors_typed_1.ComplianceUnsatisfiedError; } });
50
+ Object.defineProperty(exports, "GovernanceDeniedError", { enumerable: true, get: function () { return errors_typed_1.GovernanceDeniedError; } });
51
+ Object.defineProperty(exports, "PolicyViolationError", { enumerable: true, get: function () { return errors_typed_1.PolicyViolationError; } });
52
+ // Status-change event bus — adopter-facing primitive for spec-native
53
+ // lifecycle channels (media_buy / creative / audience / signal / proposal /
54
+ // plan / rights_grant / delivery_report). Module-level so adopters can
55
+ // publish from webhook handlers, crons, in-process workers without holding
56
+ // a server reference.
57
+ var status_changes_1 = require("./status-changes");
58
+ Object.defineProperty(exports, "publishStatusChange", { enumerable: true, get: function () { return status_changes_1.publishStatusChange; } });
59
+ Object.defineProperty(exports, "setStatusChangeBus", { enumerable: true, get: function () { return status_changes_1.setStatusChangeBus; } });
60
+ Object.defineProperty(exports, "getStatusChangeBus", { enumerable: true, get: function () { return status_changes_1.getStatusChangeBus; } });
61
+ Object.defineProperty(exports, "createInMemoryStatusChangeBus", { enumerable: true, get: function () { return status_changes_1.createInMemoryStatusChangeBus; } });
62
+ var account_1 = require("./account");
63
+ Object.defineProperty(exports, "AccountNotFoundError", { enumerable: true, get: function () { return account_1.AccountNotFoundError; } });
64
+ Object.defineProperty(exports, "refAccountId", { enumerable: true, get: function () { return account_1.refAccountId; } });
65
+ var status_mappers_1 = require("./status-mappers");
66
+ Object.defineProperty(exports, "identityStatusMappers", { enumerable: true, get: function () { return status_mappers_1.identityStatusMappers; } });
67
+ // Runtime (v6.0 alpha) — preview surface for adopters spiking against the
68
+ // new shape. Subject to change before 6.0 GA.
69
+ var from_platform_1 = require("./runtime/from-platform");
70
+ Object.defineProperty(exports, "createAdcpServerFromPlatform", { enumerable: true, get: function () { return from_platform_1.createAdcpServerFromPlatform; } });
71
+ Object.defineProperty(exports, "getAllAdcpMigrations", { enumerable: true, get: function () { return from_platform_1.getAllAdcpMigrations; } });
72
+ var validate_platform_1 = require("./runtime/validate-platform");
73
+ Object.defineProperty(exports, "PlatformConfigError", { enumerable: true, get: function () { return validate_platform_1.PlatformConfigError; } });
74
+ Object.defineProperty(exports, "validatePlatform", { enumerable: true, get: function () { return validate_platform_1.validatePlatform; } });
75
+ var task_registry_1 = require("./runtime/task-registry");
76
+ Object.defineProperty(exports, "createInMemoryTaskRegistry", { enumerable: true, get: function () { return task_registry_1.createInMemoryTaskRegistry; } });
77
+ var postgres_task_registry_1 = require("./runtime/postgres-task-registry");
78
+ Object.defineProperty(exports, "createPostgresTaskRegistry", { enumerable: true, get: function () { return postgres_task_registry_1.createPostgresTaskRegistry; } });
79
+ Object.defineProperty(exports, "getDecisioningTaskRegistryMigration", { enumerable: true, get: function () { return postgres_task_registry_1.getDecisioningTaskRegistryMigration; } });
80
+ // Multi-tenant deployment helper — wraps createAdcpServerFromPlatform with
81
+ // per-tenant config, health states (healthy/unverified/disabled), and JWKS
82
+ // validation. Composes with the existing serve() host-routing surface.
83
+ var tenant_registry_1 = require("./tenant-registry");
84
+ Object.defineProperty(exports, "createTenantRegistry", { enumerable: true, get: function () { return tenant_registry_1.createTenantRegistry; } });
85
+ Object.defineProperty(exports, "createDefaultJwksValidator", { enumerable: true, get: function () { return tenant_registry_1.createDefaultJwksValidator; } });
86
+ // Manifest helpers — typed accessors for creative_manifest.assets values.
87
+ // Save adopters from writing the same null-check + discriminator-check
88
+ // boilerplate per call.
89
+ var manifest_helpers_1 = require("./manifest-helpers");
90
+ Object.defineProperty(exports, "getAsset", { enumerable: true, get: function () { return manifest_helpers_1.getAsset; } });
91
+ Object.defineProperty(exports, "requireAsset", { enumerable: true, get: function () { return manifest_helpers_1.requireAsset; } });
92
+ // List helpers — wrap row arrays + pagination into the heavier wire shapes
93
+ // (today: list_creatives, which carries query_summary alongside the rows).
94
+ var list_helpers_1 = require("./list-helpers");
95
+ Object.defineProperty(exports, "buildListCreativesResponse", { enumerable: true, get: function () { return list_helpers_1.buildListCreativesResponse; } });
96
+ // Start-time helper — normalize the wire `start_time` union into a Date,
97
+ // with platform-aware ASAP lead-time injection.
98
+ var start_time_1 = require("./start-time");
99
+ Object.defineProperty(exports, "resolveStartTime", { enumerable: true, get: function () { return start_time_1.resolveStartTime; } });
100
+ // Admin Express router for ops visibility into the TenantRegistry.
101
+ // Mount on a separate port/path with operator auth.
102
+ var admin_router_1 = require("./admin-router");
103
+ Object.defineProperty(exports, "createTenantAdminRouter", { enumerable: true, get: function () { return admin_router_1.createTenantAdminRouter; } });
104
+ Object.defineProperty(exports, "createTenantAdminHandlers", { enumerable: true, get: function () { return admin_router_1.createTenantAdminHandlers; } });
105
+ Object.defineProperty(exports, "mountTenantAdmin", { enumerable: true, get: function () { return admin_router_1.mountTenantAdmin; } });
106
+ // Adopter helpers — batchPoll, validationError, upstreamError, RequestShape.
107
+ // All opt-in convenience; nothing in the framework calls these internally.
108
+ var helpers_1 = require("./helpers");
109
+ Object.defineProperty(exports, "batchPoll", { enumerable: true, get: function () { return helpers_1.batchPoll; } });
110
+ Object.defineProperty(exports, "validationError", { enumerable: true, get: function () { return helpers_1.validationError; } });
111
+ Object.defineProperty(exports, "upstreamError", { enumerable: true, get: function () { return helpers_1.upstreamError; } });
112
+ // Wire-shape assembly helpers — emit correct Product / PricingOption /
113
+ // package shapes from intent-shaped input. Reduces 30+ lines of wire
114
+ // boilerplate per resource. Used in slim skill examples so LLMs scaffold
115
+ // correct shapes from first attempt.
116
+ var assembly_helpers_1 = require("./assembly-helpers");
117
+ Object.defineProperty(exports, "buildProduct", { enumerable: true, get: function () { return assembly_helpers_1.buildProduct; } });
118
+ Object.defineProperty(exports, "buildPricingOption", { enumerable: true, get: function () { return assembly_helpers_1.buildPricingOption; } });
119
+ Object.defineProperty(exports, "buildPackage", { enumerable: true, get: function () { return assembly_helpers_1.buildPackage; } });
120
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,6CAA6C;AAC7C,EAAE;AACF,8EAA8E;AAC9E,gFAAgF;AAChF,qCAAqC;AACrC,EAAE;AACF,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,oCAAoC;AACpC,iDAAsF;AAAnC,0GAAA,SAAS,OAAA;AAE5D,6EAA6E;AAC7E,2EAA2E;AAC3E,0EAA0E;AAC1E,uDAAuD;AACvD,+CAqBwB;AApBtB,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,oHAAA,oBAAoB,OAAA;AACpB,qHAAA,qBAAqB,OAAA;AACrB,uHAAA,uBAAuB,OAAA;AACvB,qHAAA,qBAAqB,OAAA;AACrB,iHAAA,iBAAiB,OAAA;AACjB,oHAAA,oBAAoB,OAAA;AACpB,wHAAA,wBAAwB,OAAA;AACxB,mHAAA,mBAAmB,OAAA;AACnB,iHAAA,iBAAiB,OAAA;AACjB,uHAAA,uBAAuB,OAAA;AACvB,iHAAA,iBAAiB,OAAA;AACjB,qHAAA,qBAAqB,OAAA;AACrB,gHAAA,gBAAgB,OAAA;AAChB,uHAAA,uBAAuB,OAAA;AACvB,uHAAA,uBAAuB,OAAA;AACvB,0HAAA,0BAA0B,OAAA;AAC1B,qHAAA,qBAAqB,OAAA;AACrB,oHAAA,oBAAoB,OAAA;AAMtB,qEAAqE;AACrE,4EAA4E;AAC5E,uEAAuE;AACvE,2EAA2E;AAC3E,sBAAsB;AACtB,mDAU0B;AATxB,qHAAA,mBAAmB,OAAA;AACnB,oHAAA,kBAAkB,OAAA;AAClB,oHAAA,kBAAkB,OAAA;AAClB,+HAAA,6BAA6B,OAAA;AA4B/B,qCAA+D;AAAtD,+GAAA,oBAAoB,OAAA;AAAE,uGAAA,YAAY,OAAA;AAI3C,mDAAyD;AAAhD,uHAAA,qBAAqB,OAAA;AAmE9B,0EAA0E;AAC1E,8CAA8C;AAC9C,yDAMiC;AAL/B,6HAAA,4BAA4B,OAAA;AAC5B,qHAAA,oBAAoB,OAAA;AAKtB,iEAAoF;AAA3E,wHAAA,mBAAmB,OAAA;AAAE,qHAAA,gBAAgB,OAAA;AAC9C,yDAKiC;AAJ/B,2HAAA,0BAA0B,OAAA;AAK5B,2EAK0C;AAJxC,oIAAA,0BAA0B,OAAA;AAC1B,6IAAA,mCAAmC,OAAA;AAKrC,2EAA2E;AAC3E,2EAA2E;AAC3E,uEAAuE;AACvE,qDAW2B;AAVzB,uHAAA,oBAAoB,OAAA;AACpB,6HAAA,0BAA0B,OAAA;AAW5B,0EAA0E;AAC1E,uEAAuE;AACvE,wBAAwB;AACxB,uDAA4D;AAAnD,4GAAA,QAAQ,OAAA;AAAE,gHAAA,YAAY,OAAA;AAE/B,2EAA2E;AAC3E,2EAA2E;AAC3E,+CAAiG;AAAxF,0HAAA,0BAA0B,OAAA;AAEnC,yEAAyE;AACzE,gDAAgD;AAChD,2CAA8E;AAArE,8GAAA,gBAAgB,OAAA;AAEzB,mEAAmE;AACnE,oDAAoD;AACpD,+CAMwB;AALtB,uHAAA,uBAAuB,OAAA;AACvB,yHAAA,yBAAyB,OAAA;AACzB,gHAAA,gBAAgB,OAAA;AAKlB,6EAA6E;AAC7E,2EAA2E;AAC3E,qCAAsE;AAA7D,oGAAA,SAAS,OAAA;AAAE,0GAAA,eAAe,OAAA;AAAE,wGAAA,aAAa,OAAA;AAGlD,uEAAuE;AACvE,qEAAqE;AACrE,yEAAyE;AACzE,qCAAqC;AACrC,uDAAoF;AAA3E,gHAAA,YAAY,OAAA;AAAE,sHAAA,kBAAkB,OAAA;AAAE,gHAAA,YAAY,OAAA"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Helpers for building paginated list responses.
3
+ *
4
+ * `list_creatives` is the heaviest of the read tools: its response wraps the
5
+ * row array in `query_summary` (`total_matching`, `returned`, `filters_applied`,
6
+ * `sort_applied`) AND `pagination` (`has_more`, `cursor`, `total_count`).
7
+ * Adopters writing the wrapper by hand re-derive the same fields per call;
8
+ * this helper threads a row array + pagination cursor + the original request
9
+ * into the wire shape.
10
+ *
11
+ * `list_property_lists`, `list_collection_lists`, and other governance reads
12
+ * use a simpler `{ lists: [...] }` wrapper that the framework's response
13
+ * builders already cover — those don't need a row helper.
14
+ *
15
+ * Status: Preview / 6.0.
16
+ *
17
+ * @public
18
+ */
19
+ import type { ListCreativesRequest, ListCreativesResponse, PaginationResponse } from '../../types/tools.generated';
20
+ export interface BuildListCreativesResponseOpts {
21
+ /** Original request — used to surface `filters_applied` + `sort_applied` summaries. */
22
+ request: ListCreativesRequest;
23
+ /** The page of creative rows. Length determines `query_summary.returned`. */
24
+ creatives: ListCreativesResponse['creatives'];
25
+ /** Pagination cursor for the next page. Required — pass `{ has_more: false }` when this is the last page. */
26
+ pagination: PaginationResponse;
27
+ /**
28
+ * Total count across all pages. When omitted, defaults to
29
+ * `pagination.total_count` if present, else `creatives.length` (last-page
30
+ * approximation). Set explicitly when your backend can compute the true
31
+ * total.
32
+ */
33
+ totalMatching?: number;
34
+ }
35
+ /**
36
+ * Build a `ListCreativesResponse` from a row array + pagination + the
37
+ * original request. Computes `query_summary.filters_applied` from
38
+ * `request.filters` and threads `request.sort` into `sort_applied`.
39
+ *
40
+ * ```ts
41
+ * listCreatives: async (req, ctx) => {
42
+ * const rows = await this.db.queryCreatives(req);
43
+ * const cursor = rows.length === req.pagination?.limit ? this.nextCursor(rows) : undefined;
44
+ * return buildListCreativesResponse({
45
+ * request: req,
46
+ * creatives: rows,
47
+ * pagination: { has_more: cursor != null, cursor, total_count: rows.totalCount },
48
+ * });
49
+ * }
50
+ * ```
51
+ */
52
+ export declare function buildListCreativesResponse(opts: BuildListCreativesResponseOpts): ListCreativesResponse;
53
+ //# sourceMappingURL=list-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-helpers.d.ts","sourceRoot":"","sources":["../../../../src/lib/server/decisioning/list-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEnH,MAAM,WAAW,8BAA8B;IAC7C,uFAAuF;IACvF,OAAO,EAAE,oBAAoB,CAAC;IAC9B,6EAA6E;IAC7E,SAAS,EAAE,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC9C,6GAA6G;IAC7G,UAAU,EAAE,kBAAkB,CAAC;IAC/B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,8BAA8B,GAAG,qBAAqB,CA0CtG"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ /**
3
+ * Helpers for building paginated list responses.
4
+ *
5
+ * `list_creatives` is the heaviest of the read tools: its response wraps the
6
+ * row array in `query_summary` (`total_matching`, `returned`, `filters_applied`,
7
+ * `sort_applied`) AND `pagination` (`has_more`, `cursor`, `total_count`).
8
+ * Adopters writing the wrapper by hand re-derive the same fields per call;
9
+ * this helper threads a row array + pagination cursor + the original request
10
+ * into the wire shape.
11
+ *
12
+ * `list_property_lists`, `list_collection_lists`, and other governance reads
13
+ * use a simpler `{ lists: [...] }` wrapper that the framework's response
14
+ * builders already cover — those don't need a row helper.
15
+ *
16
+ * Status: Preview / 6.0.
17
+ *
18
+ * @public
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.buildListCreativesResponse = buildListCreativesResponse;
22
+ /**
23
+ * Build a `ListCreativesResponse` from a row array + pagination + the
24
+ * original request. Computes `query_summary.filters_applied` from
25
+ * `request.filters` and threads `request.sort` into `sort_applied`.
26
+ *
27
+ * ```ts
28
+ * listCreatives: async (req, ctx) => {
29
+ * const rows = await this.db.queryCreatives(req);
30
+ * const cursor = rows.length === req.pagination?.limit ? this.nextCursor(rows) : undefined;
31
+ * return buildListCreativesResponse({
32
+ * request: req,
33
+ * creatives: rows,
34
+ * pagination: { has_more: cursor != null, cursor, total_count: rows.totalCount },
35
+ * });
36
+ * }
37
+ * ```
38
+ */
39
+ function buildListCreativesResponse(opts) {
40
+ const { request, creatives, pagination, totalMatching } = opts;
41
+ const filters = request.filters;
42
+ const filtersApplied = [];
43
+ if (filters) {
44
+ if (filters.accounts?.length)
45
+ filtersApplied.push('accounts');
46
+ if (filters.statuses?.length)
47
+ filtersApplied.push('statuses');
48
+ if (filters.tags?.length)
49
+ filtersApplied.push('tags');
50
+ if (filters.tags_any?.length)
51
+ filtersApplied.push('tags_any');
52
+ if (filters.name_contains)
53
+ filtersApplied.push('name_contains');
54
+ if (filters.creative_ids?.length)
55
+ filtersApplied.push('creative_ids');
56
+ if (filters.created_after)
57
+ filtersApplied.push('created_after');
58
+ if (filters.created_before)
59
+ filtersApplied.push('created_before');
60
+ if (filters.updated_after)
61
+ filtersApplied.push('updated_after');
62
+ if (filters.updated_before)
63
+ filtersApplied.push('updated_before');
64
+ if (filters.assigned_to_packages?.length)
65
+ filtersApplied.push('assigned_to_packages');
66
+ if (filters.media_buy_ids?.length)
67
+ filtersApplied.push('media_buy_ids');
68
+ if (filters.unassigned !== undefined)
69
+ filtersApplied.push('unassigned');
70
+ if (filters.has_served !== undefined)
71
+ filtersApplied.push('has_served');
72
+ if (filters.concept_ids?.length)
73
+ filtersApplied.push('concept_ids');
74
+ if (filters.format_ids?.length)
75
+ filtersApplied.push('format_ids');
76
+ if (filters.has_variables !== undefined)
77
+ filtersApplied.push('has_variables');
78
+ }
79
+ const summary = {
80
+ total_matching: totalMatching ?? pagination.total_count ?? creatives.length,
81
+ returned: creatives.length,
82
+ ...(filtersApplied.length > 0 && { filters_applied: filtersApplied }),
83
+ ...(request.sort && {
84
+ sort_applied: {
85
+ ...(request.sort.field !== undefined && { field: request.sort.field }),
86
+ ...(request.sort.direction !== undefined && { direction: request.sort.direction }),
87
+ },
88
+ }),
89
+ };
90
+ return {
91
+ query_summary: summary,
92
+ pagination,
93
+ creatives,
94
+ };
95
+ }
96
+ //# sourceMappingURL=list-helpers.js.map