@sixb/core 0.1.1 → 0.1.3

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 (1187) hide show
  1. package/README.md +31 -20
  2. package/dist/actions/commit-edits.d.ts +0 -2
  3. package/dist/actions/commit-edits.d.ts.map +1 -1
  4. package/dist/actions/execution.d.ts +21 -0
  5. package/dist/actions/execution.d.ts.map +1 -0
  6. package/dist/actions/index.d.ts +1 -1
  7. package/dist/actions/index.d.ts.map +1 -1
  8. package/dist/actions/index.js +38 -24
  9. package/dist/actions/index.js.map +1 -1
  10. package/dist/actions/registry.d.ts +16 -7
  11. package/dist/actions/registry.d.ts.map +1 -1
  12. package/dist/actions/request.d.ts +3 -2
  13. package/dist/actions/request.d.ts.map +1 -1
  14. package/dist/actions/run-dispatch.d.ts +21 -0
  15. package/dist/actions/run-dispatch.d.ts.map +1 -0
  16. package/dist/actions/types/context.d.ts +2 -2
  17. package/dist/actions/types/context.d.ts.map +1 -1
  18. package/dist/actions/validation.d.ts +1 -1
  19. package/dist/actions/validation.d.ts.map +1 -1
  20. package/dist/actions/worker.js +7 -7
  21. package/dist/actions/worker.js.map +1 -1
  22. package/dist/agents/adapters.d.ts +21 -1
  23. package/dist/agents/adapters.d.ts.map +1 -1
  24. package/dist/agents/authority.d.ts +31 -0
  25. package/dist/agents/authority.d.ts.map +1 -0
  26. package/dist/agents/context.js +2 -2
  27. package/dist/agents/dispatch.d.ts.map +1 -1
  28. package/dist/agents/errors.d.ts +2 -2
  29. package/dist/agents/errors.d.ts.map +1 -1
  30. package/dist/agents/execution.d.ts +48 -0
  31. package/dist/agents/execution.d.ts.map +1 -0
  32. package/dist/agents/index.d.ts +12 -9
  33. package/dist/agents/index.d.ts.map +1 -1
  34. package/dist/agents/index.js +77 -18
  35. package/dist/agents/index.js.map +1 -1
  36. package/dist/agents/prompt.d.ts +8 -2
  37. package/dist/agents/prompt.d.ts.map +1 -1
  38. package/dist/agents/request.d.ts +6 -2
  39. package/dist/agents/request.d.ts.map +1 -1
  40. package/dist/agents/streams.d.ts +29 -3
  41. package/dist/agents/streams.d.ts.map +1 -1
  42. package/dist/agents/streams.js +22 -3
  43. package/dist/agents/streams.js.map +1 -1
  44. package/dist/agents/thread-context-projection.d.ts +19 -0
  45. package/dist/agents/thread-context-projection.d.ts.map +1 -0
  46. package/dist/agents/tool-definition.d.ts.map +1 -1
  47. package/dist/agents/tool-result.d.ts +6 -0
  48. package/dist/agents/tool-result.d.ts.map +1 -0
  49. package/dist/agents/types.d.ts +39 -3
  50. package/dist/agents/types.d.ts.map +1 -1
  51. package/dist/agents/validation.d.ts +3 -3
  52. package/dist/agents/validation.d.ts.map +1 -1
  53. package/dist/auth/attribution.d.ts +17 -0
  54. package/dist/auth/attribution.d.ts.map +1 -0
  55. package/dist/auth/index.d.ts +1 -0
  56. package/dist/auth/index.d.ts.map +1 -1
  57. package/dist/auth/index.js +11 -5
  58. package/dist/auth/index.js.map +1 -1
  59. package/dist/auth/runtime.d.ts +4 -4
  60. package/dist/auth/runtime.d.ts.map +1 -1
  61. package/dist/authorization/decision.d.ts +24 -11
  62. package/dist/authorization/decision.d.ts.map +1 -1
  63. package/dist/authorization/grant-kinds.d.ts +2 -1
  64. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  65. package/dist/authorization/index.d.ts +1 -1
  66. package/dist/authorization/index.d.ts.map +1 -1
  67. package/dist/authorization/index.js +8 -4
  68. package/dist/authorization/index.js.map +1 -1
  69. package/dist/blob-storage/browser.js +2 -2
  70. package/dist/blob-storage/execution.d.ts +16 -0
  71. package/dist/blob-storage/execution.d.ts.map +1 -0
  72. package/dist/blob-storage/index.js +3 -3
  73. package/dist/bootstrap/discovery.d.ts +90 -24
  74. package/dist/bootstrap/discovery.d.ts.map +1 -1
  75. package/dist/bootstrap/index.d.ts +2 -1
  76. package/dist/bootstrap/index.d.ts.map +1 -1
  77. package/dist/bootstrap/index.js +63 -60
  78. package/dist/bootstrap/index.js.map +1 -1
  79. package/dist/broker/in-memory.d.ts.map +1 -1
  80. package/dist/broker/index.js +2 -2
  81. package/dist/broker/types.d.ts +5 -0
  82. package/dist/broker/types.d.ts.map +1 -1
  83. package/dist/chunk-0172wgm9.js +333 -0
  84. package/dist/chunk-0172wgm9.js.map +11 -0
  85. package/dist/chunk-177ed2mp.js +3118 -0
  86. package/dist/chunk-177ed2mp.js.map +46 -0
  87. package/dist/chunk-1ywq4hzk.js +607 -0
  88. package/dist/chunk-1ywq4hzk.js.map +14 -0
  89. package/dist/chunk-261ag4t4.js +252 -0
  90. package/dist/chunk-261ag4t4.js.map +12 -0
  91. package/dist/{chunk-y2ygpd0m.js → chunk-3j7573mj.js} +2 -2
  92. package/dist/{chunk-y2ygpd0m.js.map → chunk-3j7573mj.js.map} +2 -2
  93. package/dist/{chunk-p7vj8xgb.js → chunk-3rsf30p4.js} +81 -58
  94. package/dist/chunk-3rsf30p4.js.map +35 -0
  95. package/dist/chunk-4aw0jwk0.js +118 -0
  96. package/dist/chunk-4aw0jwk0.js.map +10 -0
  97. package/dist/{chunk-md9jbrm9.js → chunk-4gz41why.js} +1 -1
  98. package/dist/chunk-4p9rh7jj.js +164 -0
  99. package/dist/chunk-4p9rh7jj.js.map +12 -0
  100. package/dist/chunk-4z3n1dzt.js +1206 -0
  101. package/dist/chunk-4z3n1dzt.js.map +23 -0
  102. package/dist/chunk-5gd7tpv6.js +28 -0
  103. package/dist/chunk-5gd7tpv6.js.map +11 -0
  104. package/dist/{chunk-867jxh7c.js → chunk-5sz8ta9r.js} +6 -295
  105. package/dist/chunk-5sz8ta9r.js.map +16 -0
  106. package/dist/chunk-62c7t4jc.js +27 -0
  107. package/dist/chunk-62c7t4jc.js.map +11 -0
  108. package/dist/chunk-63te770v.js.map +1 -1
  109. package/dist/{chunk-xz5g49bp.js → chunk-6gjqgd3d.js} +3 -1
  110. package/dist/chunk-6gjqgd3d.js.map +11 -0
  111. package/dist/{chunk-6rzdtvn5.js → chunk-8b55ygje.js} +1 -1
  112. package/dist/chunk-8m5ejdpn.js +33 -0
  113. package/dist/chunk-8m5ejdpn.js.map +10 -0
  114. package/dist/chunk-96swp2wd.js +47 -0
  115. package/dist/chunk-96swp2wd.js.map +10 -0
  116. package/dist/chunk-979ww6b3.js +298 -0
  117. package/dist/chunk-979ww6b3.js.map +12 -0
  118. package/dist/{chunk-ya6brh8a.js → chunk-9t8f5xfx.js} +10 -5
  119. package/dist/chunk-9t8f5xfx.js.map +11 -0
  120. package/dist/{chunk-r82k4z7z.js → chunk-a31h57d5.js} +2 -2
  121. package/dist/{chunk-t72dvahb.js → chunk-bhxaq2nn.js} +61 -44
  122. package/dist/chunk-bhxaq2nn.js.map +12 -0
  123. package/dist/chunk-bv41fmjn.js +3294 -0
  124. package/dist/chunk-bv41fmjn.js.map +35 -0
  125. package/dist/chunk-c6cfqydk.js +128 -0
  126. package/dist/chunk-c6cfqydk.js.map +13 -0
  127. package/dist/chunk-c8bw2b6c.js +317 -0
  128. package/dist/chunk-c8bw2b6c.js.map +11 -0
  129. package/dist/{chunk-qzyemcj7.js → chunk-ckxfnx7f.js} +2 -2
  130. package/dist/chunk-cy0n5dms.js +27 -0
  131. package/dist/chunk-cy0n5dms.js.map +11 -0
  132. package/dist/{chunk-xt6qx9sh.js → chunk-d2adj15j.js} +91 -9
  133. package/dist/chunk-d2adj15j.js.map +37 -0
  134. package/dist/{chunk-avppcgt6.js → chunk-d6y2wsfg.js} +241 -144
  135. package/dist/chunk-d6y2wsfg.js.map +15 -0
  136. package/dist/chunk-dsrkgtnh.js +50 -0
  137. package/dist/chunk-dsrkgtnh.js.map +10 -0
  138. package/dist/{chunk-50kv63vj.js → chunk-dysw7nsm.js} +118 -26
  139. package/dist/chunk-dysw7nsm.js.map +14 -0
  140. package/dist/{chunk-rjqm6ksg.js → chunk-ettb0cy4.js} +725 -266
  141. package/dist/chunk-ettb0cy4.js.map +45 -0
  142. package/dist/chunk-ezake7g1.js +32 -0
  143. package/dist/chunk-ezake7g1.js.map +11 -0
  144. package/dist/{chunk-b1bqvhpe.js → chunk-f1cyvnrk.js} +14 -34
  145. package/dist/chunk-f1cyvnrk.js.map +13 -0
  146. package/dist/{chunk-yn947ck3.js → chunk-f2rt4vkh.js} +48 -29
  147. package/dist/chunk-f2rt4vkh.js.map +14 -0
  148. package/dist/{chunk-hb9xcx9c.js → chunk-fmx1sz2h.js} +117 -56
  149. package/dist/chunk-fmx1sz2h.js.map +15 -0
  150. package/dist/{chunk-f6kyyeef.js → chunk-ghteq96b.js} +8 -8
  151. package/dist/{chunk-f6kyyeef.js.map → chunk-ghteq96b.js.map} +4 -4
  152. package/dist/chunk-h9kxd41f.js +271 -0
  153. package/dist/chunk-h9kxd41f.js.map +11 -0
  154. package/dist/chunk-htq0qh7z.js +59 -0
  155. package/dist/chunk-htq0qh7z.js.map +11 -0
  156. package/dist/chunk-km4rkj4t.js +402 -0
  157. package/dist/chunk-km4rkj4t.js.map +14 -0
  158. package/dist/chunk-kqxgf6kv.js +898 -0
  159. package/dist/chunk-kqxgf6kv.js.map +15 -0
  160. package/dist/chunk-n5x5y80a.js +137 -0
  161. package/dist/chunk-n5x5y80a.js.map +10 -0
  162. package/dist/chunk-nf4r78r4.js +44 -0
  163. package/dist/chunk-nf4r78r4.js.map +10 -0
  164. package/dist/chunk-pxtrxm3p.js +55 -0
  165. package/dist/chunk-pxtrxm3p.js.map +11 -0
  166. package/dist/chunk-qer6am8w.js +133 -0
  167. package/dist/chunk-qer6am8w.js.map +11 -0
  168. package/dist/{chunk-sb0shdvv.js → chunk-rdeagz6b.js} +3 -3
  169. package/dist/{chunk-sb0shdvv.js.map → chunk-rdeagz6b.js.map} +3 -3
  170. package/dist/chunk-rhrbz7d4.js +36 -0
  171. package/dist/chunk-rhrbz7d4.js.map +10 -0
  172. package/dist/{chunk-53s4asfm.js → chunk-rnshztfq.js} +2 -2
  173. package/dist/chunk-t0jjkep3.js +35 -0
  174. package/dist/chunk-t0jjkep3.js.map +10 -0
  175. package/dist/{chunk-be9vm29v.js → chunk-t8t39h7v.js} +1 -1
  176. package/dist/{chunk-be9vm29v.js.map → chunk-t8t39h7v.js.map} +3 -3
  177. package/dist/chunk-t9xghkva.js +28 -0
  178. package/dist/chunk-t9xghkva.js.map +10 -0
  179. package/dist/{chunk-nbywkytr.js → chunk-ttba8x6z.js} +13 -33
  180. package/dist/chunk-ttba8x6z.js.map +15 -0
  181. package/dist/{chunk-8kv2sez0.js → chunk-vybf6pkp.js} +1 -1
  182. package/dist/chunk-wb4051cx.js +404 -0
  183. package/dist/chunk-wb4051cx.js.map +12 -0
  184. package/dist/{chunk-4tvj3ate.js → chunk-wtmzkcht.js} +4 -3
  185. package/dist/chunk-wtmzkcht.js.map +11 -0
  186. package/dist/{chunk-xqbtf4wn.js → chunk-xc7hq65b.js} +5 -3
  187. package/dist/{chunk-xqbtf4wn.js.map → chunk-xc7hq65b.js.map} +3 -3
  188. package/dist/{chunk-v5c085yp.js → chunk-xhy826cz.js} +3 -2
  189. package/dist/chunk-xhy826cz.js.map +10 -0
  190. package/dist/chunk-xkthy56g.js +33 -0
  191. package/dist/chunk-xkthy56g.js.map +11 -0
  192. package/dist/{chunk-raq0x6bd.js → chunk-xmggaxg4.js} +2199 -380
  193. package/dist/chunk-xmggaxg4.js.map +54 -0
  194. package/dist/{chunk-6zrpewy4.js → chunk-z3zp0bj1.js} +1 -1
  195. package/dist/chunk-z8j83gzd.js +90 -0
  196. package/dist/chunk-z8j83gzd.js.map +10 -0
  197. package/dist/chunk-zcnhxkvd.js +7 -0
  198. package/dist/chunk-zcnhxkvd.js.map +10 -0
  199. package/dist/chunk-zpw39qhj.js +194 -0
  200. package/dist/chunk-zpw39qhj.js.map +10 -0
  201. package/dist/chunk-zqqz8052.js +3 -0
  202. package/dist/{storage/projection-runs/lifecycle.js.map → chunk-zqqz8052.js.map} +1 -1
  203. package/dist/{chunk-hz8m927w.js → chunk-zqysyfjt.js} +1 -1
  204. package/dist/connectors/builders.d.ts +2 -1
  205. package/dist/connectors/builders.d.ts.map +1 -1
  206. package/dist/connectors/connections/authorizations.d.ts +64 -0
  207. package/dist/connectors/connections/authorizations.d.ts.map +1 -0
  208. package/dist/connectors/connections/capability.d.ts +7 -0
  209. package/dist/connectors/connections/capability.d.ts.map +1 -0
  210. package/dist/connectors/connections/command-context.d.ts +23 -0
  211. package/dist/connectors/connections/command-context.d.ts.map +1 -0
  212. package/dist/connectors/connections/contracts.d.ts +127 -0
  213. package/dist/connectors/connections/contracts.d.ts.map +1 -0
  214. package/dist/connectors/connections/credential-codec.d.ts +15 -0
  215. package/dist/connectors/connections/credential-codec.d.ts.map +1 -0
  216. package/dist/connectors/connections/credential-mutations.d.ts +63 -0
  217. package/dist/connectors/connections/credential-mutations.d.ts.map +1 -0
  218. package/dist/connectors/connections/execution.d.ts +20 -0
  219. package/dist/connectors/connections/execution.d.ts.map +1 -0
  220. package/dist/connectors/connections/internal.d.ts +5 -0
  221. package/dist/connectors/connections/internal.d.ts.map +1 -0
  222. package/dist/connectors/connections/internal.js +16 -0
  223. package/dist/connectors/connections/internal.js.map +9 -0
  224. package/dist/connectors/connections/provider-operation.d.ts +7 -0
  225. package/dist/connectors/connections/provider-operation.d.ts.map +1 -0
  226. package/dist/connectors/connections/request.d.ts +84 -0
  227. package/dist/connectors/connections/request.d.ts.map +1 -0
  228. package/dist/connectors/connections/runs.d.ts +51 -0
  229. package/dist/connectors/connections/runs.d.ts.map +1 -0
  230. package/dist/connectors/connections/service.d.ts +52 -0
  231. package/dist/connectors/connections/service.d.ts.map +1 -0
  232. package/dist/connectors/connections/storage-boundary.d.ts +3 -0
  233. package/dist/connectors/connections/storage-boundary.d.ts.map +1 -0
  234. package/dist/connectors/connections/tokens.d.ts +32 -0
  235. package/dist/connectors/connections/tokens.d.ts.map +1 -0
  236. package/dist/connectors/connections/validation.d.ts +27 -0
  237. package/dist/connectors/connections/validation.d.ts.map +1 -0
  238. package/dist/connectors/connections/views.d.ts +7 -0
  239. package/dist/connectors/connections/views.d.ts.map +1 -0
  240. package/dist/connectors/credentials.d.ts +25 -0
  241. package/dist/connectors/credentials.d.ts.map +1 -0
  242. package/dist/connectors/errors.d.ts +35 -3
  243. package/dist/connectors/errors.d.ts.map +1 -1
  244. package/dist/connectors/execution.d.ts +19 -0
  245. package/dist/connectors/execution.d.ts.map +1 -0
  246. package/dist/connectors/index.d.ts +5 -3
  247. package/dist/connectors/index.d.ts.map +1 -1
  248. package/dist/connectors/service.d.ts +23 -0
  249. package/dist/connectors/service.d.ts.map +1 -0
  250. package/dist/connectors/types.d.ts +94 -2
  251. package/dist/connectors/types.d.ts.map +1 -1
  252. package/dist/datasets/execution.d.ts +8 -0
  253. package/dist/datasets/execution.d.ts.map +1 -0
  254. package/dist/error-reporting/capability.d.ts +4 -49
  255. package/dist/error-reporting/capability.d.ts.map +1 -1
  256. package/dist/error-reporting/internal.d.ts +2 -2
  257. package/dist/error-reporting/internal.d.ts.map +1 -1
  258. package/dist/error-reporting/internal.js +10 -4
  259. package/dist/error-reporting/internal.js.map +1 -1
  260. package/dist/error-reporting/reporter.d.ts +4 -1
  261. package/dist/error-reporting/reporter.d.ts.map +1 -1
  262. package/dist/error-reporting/reports.d.ts +64 -0
  263. package/dist/error-reporting/reports.d.ts.map +1 -0
  264. package/dist/error-reporting/types.d.ts +88 -34
  265. package/dist/error-reporting/types.d.ts.map +1 -1
  266. package/dist/errors/catalog.d.ts +141 -0
  267. package/dist/errors/catalog.d.ts.map +1 -0
  268. package/dist/errors/internal.d.ts +68 -0
  269. package/dist/errors/internal.d.ts.map +1 -0
  270. package/dist/errors/internal.js +29 -0
  271. package/dist/errors/internal.js.map +9 -0
  272. package/dist/errors/types.d.ts +20 -0
  273. package/dist/errors/types.d.ts.map +1 -0
  274. package/dist/events/definitions.d.ts +0 -1
  275. package/dist/events/definitions.d.ts.map +1 -1
  276. package/dist/events/execution.d.ts +13 -0
  277. package/dist/events/execution.d.ts.map +1 -0
  278. package/dist/events/index.d.ts +3 -2
  279. package/dist/events/index.d.ts.map +1 -1
  280. package/dist/events/index.js +10 -8
  281. package/dist/events/index.js.map +1 -1
  282. package/dist/events/outbox-dispatcher.d.ts +4 -2
  283. package/dist/events/outbox-dispatcher.d.ts.map +1 -1
  284. package/dist/events/{runtime.d.ts → service.d.ts} +13 -14
  285. package/dist/events/service.d.ts.map +1 -0
  286. package/dist/events/types/pipelines.d.ts +4 -1
  287. package/dist/events/types/pipelines.d.ts.map +1 -1
  288. package/dist/events/types/syncs.d.ts +3 -0
  289. package/dist/events/types/syncs.d.ts.map +1 -1
  290. package/dist/events/types/workflows.d.ts +4 -2
  291. package/dist/events/types/workflows.d.ts.map +1 -1
  292. package/dist/execution/agent.d.ts +42 -0
  293. package/dist/execution/agent.d.ts.map +1 -0
  294. package/dist/execution/agent.js +73 -0
  295. package/dist/execution/agent.js.map +9 -0
  296. package/dist/execution/authorization.d.ts +60 -0
  297. package/dist/execution/authorization.d.ts.map +1 -0
  298. package/dist/execution/dispatch.d.ts +8 -0
  299. package/dist/execution/dispatch.d.ts.map +1 -0
  300. package/dist/execution/durable.d.ts +37 -0
  301. package/dist/execution/durable.d.ts.map +1 -0
  302. package/dist/execution/index.d.ts +2 -0
  303. package/dist/execution/index.d.ts.map +1 -0
  304. package/dist/execution/primitive.d.ts +21 -0
  305. package/dist/execution/primitive.d.ts.map +1 -0
  306. package/dist/execution/primitive.js +91 -0
  307. package/dist/execution/primitive.js.map +10 -0
  308. package/dist/execution/request.d.ts +38 -0
  309. package/dist/execution/request.d.ts.map +1 -0
  310. package/dist/execution/request.js +100 -0
  311. package/dist/execution/request.js.map +10 -0
  312. package/dist/execution/scopes.d.ts +30 -0
  313. package/dist/execution/scopes.d.ts.map +1 -0
  314. package/dist/execution/types.d.ts +111 -0
  315. package/dist/execution/types.d.ts.map +1 -0
  316. package/dist/index.d.ts +31 -14
  317. package/dist/index.d.ts.map +1 -1
  318. package/dist/index.js +133 -105
  319. package/dist/index.js.map +1 -1
  320. package/dist/json.d.ts +0 -1
  321. package/dist/json.d.ts.map +1 -1
  322. package/dist/lake-storage/index.js +5 -5
  323. package/dist/logging/execution.d.ts +9 -0
  324. package/dist/logging/execution.d.ts.map +1 -0
  325. package/dist/logging/index.d.ts +1 -1
  326. package/dist/logging/index.d.ts.map +1 -1
  327. package/dist/logging/index.js +8 -8
  328. package/dist/logging/index.js.map +1 -1
  329. package/dist/logging/{runtime.d.ts → service.d.ts} +7 -7
  330. package/dist/logging/{runtime.d.ts.map → service.d.ts.map} +1 -1
  331. package/dist/logging/types.js +2 -2
  332. package/dist/materialization/events.d.ts +1 -0
  333. package/dist/materialization/events.d.ts.map +1 -1
  334. package/dist/materialization/index.d.ts +1 -1
  335. package/dist/materialization/index.d.ts.map +1 -1
  336. package/dist/materialization/index.js +2 -2
  337. package/dist/materialization/model.d.ts +30 -17
  338. package/dist/materialization/model.d.ts.map +1 -1
  339. package/dist/materializer/edits/apply.d.ts +6 -1
  340. package/dist/materializer/edits/apply.d.ts.map +1 -1
  341. package/dist/materializer/edits/commit.d.ts +2 -1
  342. package/dist/materializer/edits/commit.d.ts.map +1 -1
  343. package/dist/materializer/edits/load-state.d.ts +1 -1
  344. package/dist/materializer/edits/load-state.d.ts.map +1 -1
  345. package/dist/materializer/edits/operations.d.ts +1 -13
  346. package/dist/materializer/edits/operations.d.ts.map +1 -1
  347. package/dist/materializer/edits/plan.d.ts +2 -1
  348. package/dist/materializer/edits/plan.d.ts.map +1 -1
  349. package/dist/materializer/edits/working-state.d.ts +38 -8
  350. package/dist/materializer/edits/working-state.d.ts.map +1 -1
  351. package/dist/materializer/effective/build-events.d.ts +1 -0
  352. package/dist/materializer/effective/build-events.d.ts.map +1 -1
  353. package/dist/materializer/effective/diff.d.ts +7 -0
  354. package/dist/materializer/effective/diff.d.ts.map +1 -1
  355. package/dist/materializer/effective/load-state.d.ts +0 -2
  356. package/dist/materializer/effective/load-state.d.ts.map +1 -1
  357. package/dist/materializer/effective/resolve.d.ts +19 -2
  358. package/dist/materializer/effective/resolve.d.ts.map +1 -1
  359. package/dist/materializer/execution/commit-lifecycle.d.ts +2 -2
  360. package/dist/materializer/execution/commit-lifecycle.d.ts.map +1 -1
  361. package/dist/materializer/execution/plan-stream.d.ts.map +1 -1
  362. package/dist/materializer/execution/scope.d.ts +26 -0
  363. package/dist/materializer/execution/scope.d.ts.map +1 -0
  364. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  365. package/dist/materializer/execution/work-records.d.ts +6 -5
  366. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  367. package/dist/materializer/index.d.ts +2 -2
  368. package/dist/materializer/index.d.ts.map +1 -1
  369. package/dist/materializer/index.js +33 -18
  370. package/dist/materializer/index.js.map +1 -1
  371. package/dist/materializer/materializer.d.ts +37 -5
  372. package/dist/materializer/materializer.d.ts.map +1 -1
  373. package/dist/materializer/projections/finish-run.d.ts +2 -1
  374. package/dist/materializer/projections/finish-run.d.ts.map +1 -1
  375. package/dist/materializer/projections/replace.d.ts +2 -1
  376. package/dist/materializer/projections/replace.d.ts.map +1 -1
  377. package/dist/materializer/projections/replacement-plan.d.ts +1 -0
  378. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  379. package/dist/materializer/shared/batching.d.ts.map +1 -1
  380. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  381. package/dist/materializer/telemetry/append.d.ts +2 -1
  382. package/dist/materializer/telemetry/append.d.ts.map +1 -1
  383. package/dist/materializer/telemetry/plan.d.ts +7 -1
  384. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  385. package/dist/objects/action/request.d.ts +3 -3
  386. package/dist/objects/action/request.d.ts.map +1 -1
  387. package/dist/objects/context/index.d.ts +1 -1
  388. package/dist/objects/context/index.d.ts.map +1 -1
  389. package/dist/objects/context/types.d.ts +5 -0
  390. package/dist/objects/context/types.d.ts.map +1 -1
  391. package/dist/objects/execution.d.ts +100 -0
  392. package/dist/objects/execution.d.ts.map +1 -0
  393. package/dist/objects/index.js +40 -24
  394. package/dist/objects/index.js.map +1 -1
  395. package/dist/objects/materializer-adapter.d.ts +1 -1
  396. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  397. package/dist/objects/query/executor.d.ts +3 -8
  398. package/dist/objects/query/executor.d.ts.map +1 -1
  399. package/dist/objects/query/index.d.ts +2 -2
  400. package/dist/objects/query/index.d.ts.map +1 -1
  401. package/dist/objects/query/index.js +9 -13
  402. package/dist/objects/query/index.js.map +1 -1
  403. package/dist/objects/query/planner.d.ts +0 -3
  404. package/dist/objects/query/planner.d.ts.map +1 -1
  405. package/dist/objects/sdk/object-handle.d.ts +2 -2
  406. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  407. package/dist/objects/sdk/object-set.d.ts +2 -0
  408. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  409. package/dist/objects/sdk/runtime-query-executor.d.ts +2 -0
  410. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  411. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  412. package/dist/objects/service/action-service.d.ts +3 -2
  413. package/dist/objects/service/action-service.d.ts.map +1 -1
  414. package/dist/objects/service/list-service.d.ts +1 -1
  415. package/dist/objects/telemetry/history.d.ts +2 -0
  416. package/dist/objects/telemetry/history.d.ts.map +1 -1
  417. package/dist/objects/telemetry/write-batch.d.ts.map +1 -1
  418. package/dist/ontology/index.d.ts +1 -1
  419. package/dist/ontology/index.d.ts.map +1 -1
  420. package/dist/ontology/index.js +5 -5
  421. package/dist/ontology/internal.js +4 -4
  422. package/dist/ontology/registry.d.ts +15 -2
  423. package/dist/ontology/registry.d.ts.map +1 -1
  424. package/dist/pipelines/execution.d.ts +19 -0
  425. package/dist/pipelines/execution.d.ts.map +1 -0
  426. package/dist/pipelines/index.d.ts +1 -0
  427. package/dist/pipelines/index.d.ts.map +1 -1
  428. package/dist/pipelines/index.js +68 -0
  429. package/dist/pipelines/index.js.map +9 -0
  430. package/dist/pipelines/request.d.ts +6 -9
  431. package/dist/pipelines/request.d.ts.map +1 -1
  432. package/dist/pipelines/run-dispatch.d.ts +47 -0
  433. package/dist/pipelines/run-dispatch.d.ts.map +1 -0
  434. package/dist/projections/builders.d.ts +19 -8
  435. package/dist/projections/builders.d.ts.map +1 -1
  436. package/dist/projections/capability.d.ts +7 -0
  437. package/dist/projections/capability.d.ts.map +1 -0
  438. package/dist/projections/execution.d.ts +19 -0
  439. package/dist/projections/execution.d.ts.map +1 -0
  440. package/dist/projections/index.d.ts +5 -2
  441. package/dist/projections/index.d.ts.map +1 -1
  442. package/dist/projections/internal.d.ts +8 -11
  443. package/dist/projections/internal.d.ts.map +1 -1
  444. package/dist/projections/internal.js +48 -6
  445. package/dist/projections/internal.js.map +1 -1
  446. package/dist/projections/ownership.d.ts +2 -2
  447. package/dist/projections/ownership.d.ts.map +1 -1
  448. package/dist/projections/registry.d.ts +21 -11
  449. package/dist/projections/registry.d.ts.map +1 -1
  450. package/dist/projections/revision.d.ts +2 -2
  451. package/dist/projections/revision.d.ts.map +1 -1
  452. package/dist/projections/run-dispatch.d.ts +37 -0
  453. package/dist/projections/run-dispatch.d.ts.map +1 -0
  454. package/dist/projections/run-id.d.ts +3 -0
  455. package/dist/projections/run-id.d.ts.map +1 -0
  456. package/dist/projections/timestamp.d.ts +3 -0
  457. package/dist/projections/timestamp.d.ts.map +1 -0
  458. package/dist/projections/types.d.ts +12 -0
  459. package/dist/projections/types.d.ts.map +1 -1
  460. package/dist/projections/validation.d.ts +2 -2
  461. package/dist/projections/validation.d.ts.map +1 -1
  462. package/dist/queues/in-memory.d.ts +11 -10
  463. package/dist/queues/in-memory.d.ts.map +1 -1
  464. package/dist/queues/index.d.ts +1 -1
  465. package/dist/queues/index.d.ts.map +1 -1
  466. package/dist/queues/index.js +1 -1
  467. package/dist/queues/types.d.ts +59 -42
  468. package/dist/queues/types.d.ts.map +1 -1
  469. package/dist/rules/execution.d.ts +14 -0
  470. package/dist/rules/execution.d.ts.map +1 -0
  471. package/dist/rules/index.d.ts +1 -1
  472. package/dist/rules/index.d.ts.map +1 -1
  473. package/dist/rules/validation.d.ts +1 -2
  474. package/dist/rules/validation.d.ts.map +1 -1
  475. package/dist/runtime/ai-cost.d.ts +8 -0
  476. package/dist/runtime/ai-cost.d.ts.map +1 -0
  477. package/dist/runtime/ai-usage.d.ts +8 -0
  478. package/dist/runtime/ai-usage.d.ts.map +1 -0
  479. package/dist/runtime/create.d.ts +7 -5
  480. package/dist/runtime/create.d.ts.map +1 -1
  481. package/dist/runtime/definitions.d.ts +35 -0
  482. package/dist/runtime/definitions.d.ts.map +1 -0
  483. package/dist/runtime/host.d.ts +123 -0
  484. package/dist/runtime/host.d.ts.map +1 -0
  485. package/dist/runtime/index.d.ts +6 -5
  486. package/dist/runtime/index.d.ts.map +1 -1
  487. package/dist/runtime/internal.d.ts +4 -0
  488. package/dist/runtime/internal.d.ts.map +1 -1
  489. package/dist/runtime/internal.js +6 -2
  490. package/dist/runtime/internal.js.map +1 -1
  491. package/dist/runtime/ontology-mutations.d.ts +4 -2
  492. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  493. package/dist/runtime/resolve-definitions.d.ts +42 -0
  494. package/dist/runtime/resolve-definitions.d.ts.map +1 -0
  495. package/dist/runtime/sixb.d.ts +43 -219
  496. package/dist/runtime/sixb.d.ts.map +1 -1
  497. package/dist/runtime/types.d.ts +16 -216
  498. package/dist/runtime/types.d.ts.map +1 -1
  499. package/dist/scheduler/index.d.ts +1 -1
  500. package/dist/scheduler/index.d.ts.map +1 -1
  501. package/dist/scheduler/index.js +3 -6
  502. package/dist/scheduler/index.js.map +1 -1
  503. package/dist/scheduler/runtime.d.ts +7 -2
  504. package/dist/scheduler/runtime.d.ts.map +1 -1
  505. package/dist/schedules/execution.d.ts +6 -0
  506. package/dist/schedules/execution.d.ts.map +1 -0
  507. package/dist/schedules/index.js +9 -7
  508. package/dist/schedules/index.js.map +1 -1
  509. package/dist/schedules/types.d.ts +1 -3
  510. package/dist/schedules/types.d.ts.map +1 -1
  511. package/dist/security/every.d.ts +4 -1
  512. package/dist/security/every.d.ts.map +1 -1
  513. package/dist/security/grants.d.ts +4 -1
  514. package/dist/security/grants.d.ts.map +1 -1
  515. package/dist/security/index.d.ts +3 -1
  516. package/dist/security/index.d.ts.map +1 -1
  517. package/dist/security/registry.d.ts +42 -0
  518. package/dist/security/registry.d.ts.map +1 -0
  519. package/dist/security/types.d.ts +7 -12
  520. package/dist/security/types.d.ts.map +1 -1
  521. package/dist/security/validation.d.ts +2 -0
  522. package/dist/security/validation.d.ts.map +1 -1
  523. package/dist/storage/action-runs/failure.d.ts +7 -0
  524. package/dist/storage/action-runs/failure.d.ts.map +1 -0
  525. package/dist/storage/action-runs/failure.js +14 -0
  526. package/dist/storage/action-runs/failure.js.map +9 -0
  527. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  528. package/dist/storage/action-runs/in-memory.d.ts +3 -1
  529. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  530. package/dist/storage/action-runs/index.d.ts +2 -1
  531. package/dist/storage/action-runs/index.d.ts.map +1 -1
  532. package/dist/storage/action-runs/provider.d.ts +10 -0
  533. package/dist/storage/action-runs/provider.d.ts.map +1 -0
  534. package/dist/storage/action-runs/provider.js +13 -0
  535. package/dist/storage/action-runs/provider.js.map +9 -0
  536. package/dist/storage/action-runs/types.d.ts +37 -18
  537. package/dist/storage/action-runs/types.d.ts.map +1 -1
  538. package/dist/storage/agents/errors.d.ts +1 -1
  539. package/dist/storage/agents/errors.d.ts.map +1 -1
  540. package/dist/storage/agents/in-memory.d.ts +22 -5
  541. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  542. package/dist/storage/agents/index.d.ts +2 -2
  543. package/dist/storage/agents/index.d.ts.map +1 -1
  544. package/dist/storage/agents/provider.d.ts +41 -0
  545. package/dist/storage/agents/provider.d.ts.map +1 -0
  546. package/dist/storage/agents/provider.js +28 -0
  547. package/dist/storage/agents/provider.js.map +9 -0
  548. package/dist/storage/agents/types.d.ts +83 -26
  549. package/dist/storage/agents/types.d.ts.map +1 -1
  550. package/dist/storage/ai-cost/analytics.d.ts +61 -0
  551. package/dist/storage/ai-cost/analytics.d.ts.map +1 -0
  552. package/dist/storage/ai-cost/codec.d.ts +14 -0
  553. package/dist/storage/ai-cost/codec.d.ts.map +1 -0
  554. package/dist/storage/ai-cost/errors.d.ts +7 -0
  555. package/dist/storage/ai-cost/errors.d.ts.map +1 -0
  556. package/dist/storage/ai-cost/in-memory.d.ts +32 -0
  557. package/dist/storage/ai-cost/in-memory.d.ts.map +1 -0
  558. package/dist/storage/ai-cost/index.d.ts +6 -0
  559. package/dist/storage/ai-cost/index.d.ts.map +1 -0
  560. package/dist/storage/ai-cost/provider.d.ts +7 -0
  561. package/dist/storage/ai-cost/provider.d.ts.map +1 -0
  562. package/dist/storage/ai-cost/provider.js +132 -0
  563. package/dist/storage/ai-cost/provider.js.map +10 -0
  564. package/dist/storage/ai-cost/types.d.ts +154 -0
  565. package/dist/storage/ai-cost/types.d.ts.map +1 -0
  566. package/dist/storage/ai-cost/validation.d.ts +7 -0
  567. package/dist/storage/ai-cost/validation.d.ts.map +1 -0
  568. package/dist/storage/ai-usage/errors.d.ts +8 -0
  569. package/dist/storage/ai-usage/errors.d.ts.map +1 -0
  570. package/dist/storage/ai-usage/in-memory.d.ts +28 -0
  571. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -0
  572. package/dist/storage/ai-usage/index.d.ts +8 -0
  573. package/dist/storage/ai-usage/index.d.ts.map +1 -0
  574. package/dist/storage/ai-usage/record.d.ts +6 -0
  575. package/dist/storage/ai-usage/record.d.ts.map +1 -0
  576. package/dist/storage/ai-usage/types.d.ts +89 -0
  577. package/dist/storage/ai-usage/types.d.ts.map +1 -0
  578. package/dist/storage/ai-usage/usage.d.ts +11 -0
  579. package/dist/storage/ai-usage/usage.d.ts.map +1 -0
  580. package/dist/storage/auth/types.d.ts +1 -0
  581. package/dist/storage/auth/types.d.ts.map +1 -1
  582. package/dist/storage/connector-connections/errors.d.ts +12 -0
  583. package/dist/storage/connector-connections/errors.d.ts.map +1 -0
  584. package/dist/storage/connector-connections/in-memory.d.ts +81 -0
  585. package/dist/storage/connector-connections/in-memory.d.ts.map +1 -0
  586. package/dist/storage/connector-connections/index.d.ts +7 -0
  587. package/dist/storage/connector-connections/index.d.ts.map +1 -0
  588. package/dist/storage/connector-connections/provider/authorizations.d.ts +20 -0
  589. package/dist/storage/connector-connections/provider/authorizations.d.ts.map +1 -0
  590. package/dist/storage/connector-connections/provider/connections.d.ts +17 -0
  591. package/dist/storage/connector-connections/provider/connections.d.ts.map +1 -0
  592. package/dist/storage/connector-connections/provider/runs.d.ts +14 -0
  593. package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -0
  594. package/dist/storage/connector-connections/provider/shared.d.ts +74 -0
  595. package/dist/storage/connector-connections/provider/shared.d.ts.map +1 -0
  596. package/dist/storage/connector-connections/provider.d.ts +49 -0
  597. package/dist/storage/connector-connections/provider.d.ts.map +1 -0
  598. package/dist/storage/connector-connections/provider.js +1025 -0
  599. package/dist/storage/connector-connections/provider.js.map +14 -0
  600. package/dist/storage/connector-connections/types.d.ts +402 -0
  601. package/dist/storage/connector-connections/types.d.ts.map +1 -0
  602. package/dist/storage/executions/errors.d.ts +8 -0
  603. package/dist/storage/executions/errors.d.ts.map +1 -0
  604. package/dist/storage/executions/in-memory.d.ts +21 -0
  605. package/dist/storage/executions/in-memory.d.ts.map +1 -0
  606. package/dist/storage/executions/index.d.ts +5 -0
  607. package/dist/storage/executions/index.d.ts.map +1 -0
  608. package/dist/storage/executions/provider.d.ts +29 -0
  609. package/dist/storage/executions/provider.d.ts.map +1 -0
  610. package/dist/storage/executions/provider.js +208 -0
  611. package/dist/storage/executions/provider.js.map +10 -0
  612. package/dist/storage/executions/run-link.d.ts +24 -0
  613. package/dist/storage/executions/run-link.d.ts.map +1 -0
  614. package/dist/storage/executions/types.d.ts +62 -0
  615. package/dist/storage/executions/types.d.ts.map +1 -0
  616. package/dist/storage/executions/validation.d.ts +13 -0
  617. package/dist/storage/executions/validation.d.ts.map +1 -0
  618. package/dist/storage/in-memory/index.d.ts +25 -5
  619. package/dist/storage/in-memory/index.d.ts.map +1 -1
  620. package/dist/storage/index.d.ts +30 -17
  621. package/dist/storage/index.d.ts.map +1 -1
  622. package/dist/storage/index.js +99 -29
  623. package/dist/storage/index.js.map +1 -1
  624. package/dist/storage/ontology/commits.d.ts +1 -0
  625. package/dist/storage/ontology/commits.d.ts.map +1 -1
  626. package/dist/storage/ontology/in-memory/index.d.ts +1 -0
  627. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  628. package/dist/storage/ontology/in-memory/materializations-state.d.ts +3 -2
  629. package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
  630. package/dist/storage/ontology/in-memory/materializations-work.d.ts +2 -2
  631. package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
  632. package/dist/storage/ontology/in-memory/materializations.d.ts +3 -1
  633. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  634. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -2
  635. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  636. package/dist/storage/ontology/index.d.ts +3 -2
  637. package/dist/storage/ontology/index.d.ts.map +1 -1
  638. package/dist/storage/ontology/materializations.d.ts +53 -5
  639. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  640. package/dist/storage/ontology/outbox.d.ts +8 -2
  641. package/dist/storage/ontology/outbox.d.ts.map +1 -1
  642. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  643. package/dist/storage/ontology/provider.d.ts +5 -22
  644. package/dist/storage/ontology/provider.d.ts.map +1 -1
  645. package/dist/storage/ontology/provider.js +6 -7
  646. package/dist/storage/ontology/provider.js.map +1 -1
  647. package/dist/storage/operation-scope.d.ts.map +1 -1
  648. package/dist/storage/operation-scope.js +1 -1
  649. package/dist/storage/pipeline-runs/idempotency.d.ts +3 -0
  650. package/dist/storage/pipeline-runs/idempotency.d.ts.map +1 -0
  651. package/dist/storage/pipeline-runs/in-memory.d.ts +5 -1
  652. package/dist/storage/pipeline-runs/in-memory.d.ts.map +1 -1
  653. package/dist/storage/pipeline-runs/index.d.ts +3 -1
  654. package/dist/storage/pipeline-runs/index.d.ts.map +1 -1
  655. package/dist/storage/pipeline-runs/provider.d.ts +10 -0
  656. package/dist/storage/pipeline-runs/provider.d.ts.map +1 -0
  657. package/dist/storage/pipeline-runs/provider.js +11 -0
  658. package/dist/storage/pipeline-runs/provider.js.map +9 -0
  659. package/dist/storage/pipeline-runs/types.d.ts +30 -14
  660. package/dist/storage/pipeline-runs/types.d.ts.map +1 -1
  661. package/dist/storage/projection-runs/in-memory.d.ts +8 -3
  662. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  663. package/dist/storage/projection-runs/index.d.ts +2 -2
  664. package/dist/storage/projection-runs/index.d.ts.map +1 -1
  665. package/dist/storage/projection-runs/lifecycle.d.ts +14 -8
  666. package/dist/storage/projection-runs/lifecycle.d.ts.map +1 -1
  667. package/dist/storage/projection-runs/provider.d.ts +13 -0
  668. package/dist/storage/projection-runs/provider.d.ts.map +1 -0
  669. package/dist/storage/projection-runs/{lifecycle.js → provider.js} +15 -4
  670. package/dist/storage/projection-runs/provider.js.map +9 -0
  671. package/dist/storage/projection-runs/types.d.ts +28 -11
  672. package/dist/storage/projection-runs/types.d.ts.map +1 -1
  673. package/dist/storage/run-listing.d.ts +8 -9
  674. package/dist/storage/run-listing.d.ts.map +1 -1
  675. package/dist/storage/sync-runs/idempotency.d.ts +3 -0
  676. package/dist/storage/sync-runs/idempotency.d.ts.map +1 -0
  677. package/dist/storage/sync-runs/in-memory.d.ts +5 -1
  678. package/dist/storage/sync-runs/in-memory.d.ts.map +1 -1
  679. package/dist/storage/sync-runs/index.d.ts +3 -1
  680. package/dist/storage/sync-runs/index.d.ts.map +1 -1
  681. package/dist/storage/sync-runs/provider.d.ts +10 -0
  682. package/dist/storage/sync-runs/provider.d.ts.map +1 -0
  683. package/dist/storage/sync-runs/provider.js +11 -0
  684. package/dist/storage/sync-runs/provider.js.map +9 -0
  685. package/dist/storage/sync-runs/types.d.ts +28 -11
  686. package/dist/storage/sync-runs/types.d.ts.map +1 -1
  687. package/dist/storage/types.d.ts +22 -15
  688. package/dist/storage/types.d.ts.map +1 -1
  689. package/dist/storage/webhook-runs/errors.d.ts +3 -0
  690. package/dist/storage/webhook-runs/errors.d.ts.map +1 -1
  691. package/dist/storage/webhook-runs/in-memory.d.ts +13 -1
  692. package/dist/storage/webhook-runs/in-memory.d.ts.map +1 -1
  693. package/dist/storage/webhook-runs/index.d.ts +3 -2
  694. package/dist/storage/webhook-runs/index.d.ts.map +1 -1
  695. package/dist/storage/webhook-runs/provider.d.ts +10 -0
  696. package/dist/storage/webhook-runs/provider.d.ts.map +1 -0
  697. package/dist/storage/webhook-runs/provider.js +11 -0
  698. package/dist/storage/webhook-runs/provider.js.map +9 -0
  699. package/dist/storage/webhook-runs/types.d.ts +37 -11
  700. package/dist/storage/webhook-runs/types.d.ts.map +1 -1
  701. package/dist/storage/workflow-runs/in-memory.d.ts +6 -2
  702. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  703. package/dist/storage/workflow-runs/index.d.ts +2 -1
  704. package/dist/storage/workflow-runs/index.d.ts.map +1 -1
  705. package/dist/storage/workflow-runs/provider.d.ts +19 -0
  706. package/dist/storage/workflow-runs/provider.d.ts.map +1 -0
  707. package/dist/storage/workflow-runs/provider.js +20 -0
  708. package/dist/storage/workflow-runs/provider.js.map +9 -0
  709. package/dist/storage/workflow-runs/types.d.ts +28 -30
  710. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  711. package/dist/syncs/execution.d.ts +18 -0
  712. package/dist/syncs/execution.d.ts.map +1 -0
  713. package/dist/syncs/index.d.ts +3 -1
  714. package/dist/syncs/index.d.ts.map +1 -1
  715. package/dist/syncs/index.js +67 -0
  716. package/dist/syncs/index.js.map +9 -0
  717. package/dist/syncs/request.d.ts +6 -16
  718. package/dist/syncs/request.d.ts.map +1 -1
  719. package/dist/syncs/run-dispatch.d.ts +47 -0
  720. package/dist/syncs/run-dispatch.d.ts.map +1 -0
  721. package/dist/syncs/sources.d.ts +8 -0
  722. package/dist/syncs/sources.d.ts.map +1 -0
  723. package/dist/syncs/types.d.ts +16 -9
  724. package/dist/syncs/types.d.ts.map +1 -1
  725. package/dist/testing/action-execution.d.ts +12 -0
  726. package/dist/testing/action-execution.d.ts.map +1 -0
  727. package/dist/testing/agent-execution.d.ts +14 -0
  728. package/dist/testing/agent-execution.d.ts.map +1 -0
  729. package/dist/testing/agent-storage-contract.d.ts +12 -4
  730. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  731. package/dist/testing/ai-cost-storage-contract.d.ts +12 -0
  732. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -0
  733. package/dist/testing/ai-usage-storage-contract.d.ts +13 -0
  734. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -0
  735. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  736. package/dist/testing/broker-contract.d.ts.map +1 -1
  737. package/dist/testing/connector-connection-storage-contract.d.ts +16 -0
  738. package/dist/testing/connector-connection-storage-contract.d.ts.map +1 -0
  739. package/dist/testing/execution-storage-contract.d.ts +15 -0
  740. package/dist/testing/execution-storage-contract.d.ts.map +1 -0
  741. package/dist/testing/execution.d.ts +23 -0
  742. package/dist/testing/execution.d.ts.map +1 -0
  743. package/dist/testing/index.d.ts +13 -0
  744. package/dist/testing/index.d.ts.map +1 -1
  745. package/dist/testing/index.js +4754 -1592
  746. package/dist/testing/index.js.map +26 -13
  747. package/dist/testing/materializer-fixture.d.ts +2 -2
  748. package/dist/testing/materializer-fixture.d.ts.map +1 -1
  749. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  750. package/dist/testing/ontology-contract-fixture.d.ts +1 -0
  751. package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
  752. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  753. package/dist/testing/pipeline-execution.d.ts +16 -0
  754. package/dist/testing/pipeline-execution.d.ts.map +1 -0
  755. package/dist/testing/projection-execution.d.ts +20 -0
  756. package/dist/testing/projection-execution.d.ts.map +1 -0
  757. package/dist/testing/projection-run-storage-contract.d.ts +9 -4
  758. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  759. package/dist/testing/queues-contract.d.ts.map +1 -1
  760. package/dist/testing/sync-execution.d.ts +16 -0
  761. package/dist/testing/sync-execution.d.ts.map +1 -0
  762. package/dist/testing/webhook-execution.d.ts +12 -0
  763. package/dist/testing/webhook-execution.d.ts.map +1 -0
  764. package/dist/testing/webhook-run-storage-contract.d.ts +11 -0
  765. package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -0
  766. package/dist/testing/workflow-execution.d.ts +23 -0
  767. package/dist/testing/workflow-execution.d.ts.map +1 -0
  768. package/dist/webhooks/index.d.ts +2 -1
  769. package/dist/webhooks/index.d.ts.map +1 -1
  770. package/dist/webhooks/internal.d.ts +2 -0
  771. package/dist/webhooks/internal.d.ts.map +1 -0
  772. package/dist/webhooks/internal.js +152 -0
  773. package/dist/webhooks/internal.js.map +10 -0
  774. package/dist/webhooks/registry.d.ts +18 -4
  775. package/dist/webhooks/registry.d.ts.map +1 -1
  776. package/dist/webhooks/run-admission.d.ts +25 -0
  777. package/dist/webhooks/run-admission.d.ts.map +1 -0
  778. package/dist/webhooks/types.d.ts +8 -5
  779. package/dist/webhooks/types.d.ts.map +1 -1
  780. package/dist/workers/index.js +29 -20
  781. package/dist/workers/index.js.map +4 -4
  782. package/dist/workers/queue-delivery.d.ts +7 -7
  783. package/dist/workers/queue-delivery.d.ts.map +1 -1
  784. package/dist/workers/queue-worker.d.ts +32 -11
  785. package/dist/workers/queue-worker.d.ts.map +1 -1
  786. package/dist/workflows/execution.d.ts +52 -0
  787. package/dist/workflows/execution.d.ts.map +1 -0
  788. package/dist/workflows/failure.d.ts +28 -0
  789. package/dist/workflows/failure.d.ts.map +1 -0
  790. package/dist/workflows/index.d.ts +4 -2
  791. package/dist/workflows/index.d.ts.map +1 -1
  792. package/dist/workflows/index.js +67 -36
  793. package/dist/workflows/index.js.map +1 -1
  794. package/dist/workflows/request.d.ts +2 -1
  795. package/dist/workflows/request.d.ts.map +1 -1
  796. package/dist/workflows/run-dispatch.d.ts +59 -0
  797. package/dist/workflows/run-dispatch.d.ts.map +1 -0
  798. package/dist/workflows/types.d.ts +38 -8
  799. package/dist/workflows/types.d.ts.map +1 -1
  800. package/package.json +113 -5
  801. package/src/actions/commit-edits.ts +0 -3
  802. package/src/actions/execution.ts +83 -0
  803. package/src/actions/index.ts +1 -1
  804. package/src/actions/registry.ts +22 -10
  805. package/src/actions/request.ts +55 -177
  806. package/src/actions/run-dispatch.ts +276 -0
  807. package/src/actions/types/context.ts +2 -4
  808. package/src/actions/validation.ts +2 -2
  809. package/src/agents/adapters.ts +71 -26
  810. package/src/agents/authority.ts +189 -0
  811. package/src/agents/dispatch.ts +1 -6
  812. package/src/agents/errors.ts +4 -2
  813. package/src/agents/execution.ts +266 -0
  814. package/src/agents/index.ts +33 -4
  815. package/src/agents/prompt.ts +47 -7
  816. package/src/agents/request.ts +158 -13
  817. package/src/agents/streams.ts +150 -3
  818. package/src/agents/thread-context-projection.ts +93 -0
  819. package/src/agents/tool-definition.ts +17 -2
  820. package/src/agents/tool-result.ts +61 -0
  821. package/src/agents/types.ts +49 -5
  822. package/src/agents/validation.ts +3 -3
  823. package/src/auth/attribution.ts +48 -0
  824. package/src/auth/index.ts +1 -0
  825. package/src/auth/runtime.ts +5 -5
  826. package/src/authorization/decision.ts +75 -14
  827. package/src/authorization/grant-kinds.ts +9 -0
  828. package/src/authorization/index.ts +2 -0
  829. package/src/blob-storage/execution.ts +78 -0
  830. package/src/bootstrap/discovery.ts +88 -268
  831. package/src/bootstrap/index.ts +2 -13
  832. package/src/broker/in-memory.ts +8 -1
  833. package/src/broker/types.ts +5 -0
  834. package/src/connectors/builders.ts +37 -2
  835. package/src/connectors/connections/authorizations.ts +646 -0
  836. package/src/connectors/connections/capability.ts +59 -0
  837. package/src/connectors/connections/command-context.ts +98 -0
  838. package/src/connectors/connections/contracts.ts +208 -0
  839. package/src/connectors/connections/credential-codec.ts +48 -0
  840. package/src/connectors/connections/credential-mutations.ts +574 -0
  841. package/src/connectors/connections/execution.ts +138 -0
  842. package/src/connectors/connections/internal.ts +17 -0
  843. package/src/connectors/connections/provider-operation.ts +41 -0
  844. package/src/connectors/connections/request.ts +447 -0
  845. package/src/connectors/connections/runs.ts +702 -0
  846. package/src/connectors/connections/service.ts +644 -0
  847. package/src/connectors/connections/storage-boundary.ts +13 -0
  848. package/src/connectors/connections/tokens.ts +292 -0
  849. package/src/connectors/connections/validation.ts +316 -0
  850. package/src/connectors/connections/views.ts +37 -0
  851. package/src/connectors/credentials.ts +149 -0
  852. package/src/connectors/errors.ts +111 -3
  853. package/src/connectors/execution.ts +157 -0
  854. package/src/connectors/index.ts +26 -2
  855. package/src/connectors/service.ts +142 -0
  856. package/src/connectors/types.ts +156 -7
  857. package/src/datasets/execution.ts +24 -0
  858. package/src/error-reporting/capability.ts +33 -106
  859. package/src/error-reporting/internal.ts +3 -1
  860. package/src/error-reporting/reporter.ts +19 -3
  861. package/src/error-reporting/reports.ts +172 -0
  862. package/src/error-reporting/types.ts +97 -43
  863. package/src/errors/catalog.ts +149 -0
  864. package/src/errors/internal.ts +322 -0
  865. package/src/errors/types.ts +21 -0
  866. package/src/events/definitions.ts +0 -4
  867. package/src/events/execution.ts +45 -0
  868. package/src/events/index.ts +15 -14
  869. package/src/events/outbox-dispatcher.ts +53 -18
  870. package/src/events/{runtime.ts → service.ts} +19 -23
  871. package/src/events/types/pipelines.ts +4 -1
  872. package/src/events/types/syncs.ts +3 -0
  873. package/src/events/types/workflows.ts +4 -2
  874. package/src/execution/agent.ts +130 -0
  875. package/src/execution/authorization.ts +409 -0
  876. package/src/execution/dispatch.ts +7 -0
  877. package/src/execution/durable.ts +193 -0
  878. package/src/execution/index.ts +12 -0
  879. package/src/execution/primitive.ts +50 -0
  880. package/src/execution/request.ts +109 -0
  881. package/src/execution/scopes.ts +198 -0
  882. package/src/execution/types.ts +113 -0
  883. package/src/http/api-routes.ts +3 -3
  884. package/src/index.ts +122 -9
  885. package/src/json.ts +0 -4
  886. package/src/logging/execution.ts +28 -0
  887. package/src/logging/index.ts +4 -4
  888. package/src/logging/{runtime.ts → service.ts} +7 -7
  889. package/src/materialization/events.ts +1 -0
  890. package/src/materialization/index.ts +2 -0
  891. package/src/materialization/model.ts +34 -18
  892. package/src/materializer/README.md +9 -13
  893. package/src/materializer/edits/apply.ts +55 -2
  894. package/src/materializer/edits/commit.ts +85 -28
  895. package/src/materializer/edits/load-state.ts +79 -16
  896. package/src/materializer/edits/operations.ts +80 -37
  897. package/src/materializer/edits/plan.ts +95 -22
  898. package/src/materializer/edits/working-state.ts +93 -55
  899. package/src/materializer/effective/build-events.ts +2 -0
  900. package/src/materializer/effective/diff.ts +22 -0
  901. package/src/materializer/effective/load-state.ts +0 -31
  902. package/src/materializer/effective/resolve.ts +140 -9
  903. package/src/materializer/execution/commit-lifecycle.ts +9 -1
  904. package/src/materializer/execution/plan-stream.ts +33 -9
  905. package/src/materializer/execution/scope.ts +95 -0
  906. package/src/materializer/execution/work-executor.ts +6 -2
  907. package/src/materializer/execution/work-records.ts +42 -7
  908. package/src/materializer/index.ts +9 -1
  909. package/src/materializer/materializer.ts +67 -5
  910. package/src/materializer/projections/entry-validator.ts +23 -1
  911. package/src/materializer/projections/finish-run.ts +29 -11
  912. package/src/materializer/projections/replace.ts +55 -22
  913. package/src/materializer/projections/replacement-plan.ts +39 -7
  914. package/src/materializer/shared/batching.ts +4 -1
  915. package/src/materializer/shared/normalize.ts +16 -19
  916. package/src/materializer/telemetry/append.ts +57 -26
  917. package/src/materializer/telemetry/plan.ts +15 -6
  918. package/src/objects/action/request.ts +5 -5
  919. package/src/objects/context/index.ts +1 -0
  920. package/src/objects/context/types.ts +6 -0
  921. package/src/objects/execution.ts +346 -0
  922. package/src/objects/materializer-adapter.ts +1 -23
  923. package/src/objects/query/executor.ts +15 -29
  924. package/src/objects/query/index.ts +1 -2
  925. package/src/objects/query/planner.ts +0 -6
  926. package/src/objects/sdk/object-handle.ts +2 -2
  927. package/src/objects/sdk/object-set.ts +17 -7
  928. package/src/objects/sdk/runtime-query-executor.ts +9 -2
  929. package/src/objects/sdk/telemetry-channel.ts +5 -1
  930. package/src/objects/service/action-service.ts +5 -2
  931. package/src/objects/service/list-service.ts +1 -1
  932. package/src/objects/telemetry/history.ts +8 -3
  933. package/src/objects/telemetry/write-batch.ts +0 -2
  934. package/src/ontology/index.ts +6 -1
  935. package/src/ontology/registry.ts +16 -2
  936. package/src/pipelines/execution.ts +105 -0
  937. package/src/pipelines/index.ts +7 -0
  938. package/src/pipelines/request.ts +32 -26
  939. package/src/pipelines/run-dispatch.ts +308 -0
  940. package/src/projections/builders.ts +100 -44
  941. package/src/projections/capability.ts +37 -0
  942. package/src/projections/execution.ts +85 -0
  943. package/src/projections/index.ts +8 -1
  944. package/src/projections/internal.ts +21 -61
  945. package/src/projections/ownership.ts +2 -2
  946. package/src/projections/registry.ts +33 -11
  947. package/src/projections/revision.ts +11 -5
  948. package/src/projections/run-dispatch.ts +497 -0
  949. package/src/projections/run-id.ts +20 -0
  950. package/src/projections/timestamp.ts +66 -0
  951. package/src/projections/types.ts +19 -0
  952. package/src/projections/validation.ts +27 -3
  953. package/src/queues/in-memory.ts +37 -11
  954. package/src/queues/index.ts +10 -2
  955. package/src/queues/types.ts +78 -45
  956. package/src/rules/execution.ts +49 -0
  957. package/src/rules/index.ts +0 -1
  958. package/src/rules/validation.ts +2 -6
  959. package/src/runtime/ai-cost.ts +15 -0
  960. package/src/runtime/ai-usage.ts +17 -0
  961. package/src/runtime/create.ts +28 -68
  962. package/src/runtime/definitions.ts +44 -0
  963. package/src/runtime/host.ts +377 -0
  964. package/src/runtime/index.ts +5 -13
  965. package/src/runtime/internal.ts +12 -0
  966. package/src/runtime/ontology-mutations.ts +5 -3
  967. package/src/runtime/resolve-definitions.ts +238 -0
  968. package/src/runtime/sixb.ts +95 -822
  969. package/src/runtime/types.ts +17 -290
  970. package/src/scheduler/index.ts +1 -1
  971. package/src/scheduler/runtime.ts +37 -6
  972. package/src/schedules/execution.ts +14 -0
  973. package/src/schedules/types.ts +0 -8
  974. package/src/security/every.ts +4 -0
  975. package/src/security/grants.ts +13 -1
  976. package/src/security/index.ts +3 -1
  977. package/src/security/registry.ts +107 -0
  978. package/src/security/types.ts +8 -12
  979. package/src/security/validation.ts +7 -0
  980. package/src/storage/action-runs/failure.ts +64 -0
  981. package/src/storage/action-runs/idempotency.ts +3 -1
  982. package/src/storage/action-runs/in-memory.ts +39 -9
  983. package/src/storage/action-runs/index.ts +3 -0
  984. package/src/storage/action-runs/provider.ts +25 -0
  985. package/src/storage/action-runs/types.ts +61 -27
  986. package/src/storage/agents/errors.ts +1 -0
  987. package/src/storage/agents/in-memory.ts +219 -14
  988. package/src/storage/agents/index.ts +7 -1
  989. package/src/storage/agents/provider.ts +252 -0
  990. package/src/storage/agents/types.ts +96 -22
  991. package/src/storage/ai-cost/analytics.ts +602 -0
  992. package/src/storage/ai-cost/codec.ts +136 -0
  993. package/src/storage/ai-cost/errors.ts +12 -0
  994. package/src/storage/ai-cost/in-memory.ts +164 -0
  995. package/src/storage/ai-cost/index.ts +35 -0
  996. package/src/storage/ai-cost/provider.ts +20 -0
  997. package/src/storage/ai-cost/types.ts +193 -0
  998. package/src/storage/ai-cost/validation.ts +337 -0
  999. package/src/storage/ai-usage/errors.ts +13 -0
  1000. package/src/storage/ai-usage/in-memory.ts +162 -0
  1001. package/src/storage/ai-usage/index.ts +21 -0
  1002. package/src/storage/ai-usage/record.ts +74 -0
  1003. package/src/storage/ai-usage/types.ts +102 -0
  1004. package/src/storage/ai-usage/usage.ts +104 -0
  1005. package/src/storage/auth/types.ts +1 -0
  1006. package/src/storage/connector-connections/errors.ts +24 -0
  1007. package/src/storage/connector-connections/in-memory.ts +1377 -0
  1008. package/src/storage/connector-connections/index.ts +66 -0
  1009. package/src/storage/connector-connections/provider/authorizations.ts +446 -0
  1010. package/src/storage/connector-connections/provider/connections.ts +291 -0
  1011. package/src/storage/connector-connections/provider/runs.ts +369 -0
  1012. package/src/storage/connector-connections/provider/shared.ts +342 -0
  1013. package/src/storage/connector-connections/provider.ts +219 -0
  1014. package/src/storage/connector-connections/types.ts +546 -0
  1015. package/src/storage/executions/errors.ts +21 -0
  1016. package/src/storage/executions/in-memory.ts +75 -0
  1017. package/src/storage/executions/index.ts +16 -0
  1018. package/src/storage/executions/provider.ts +292 -0
  1019. package/src/storage/executions/run-link.ts +70 -0
  1020. package/src/storage/executions/types.ts +49 -0
  1021. package/src/storage/executions/validation.ts +370 -0
  1022. package/src/storage/in-memory/index.ts +100 -16
  1023. package/src/storage/index.ts +191 -15
  1024. package/src/storage/ontology/commits.ts +1 -0
  1025. package/src/storage/ontology/in-memory/index.ts +2 -0
  1026. package/src/storage/ontology/in-memory/materializations-finalization.ts +2 -1
  1027. package/src/storage/ontology/in-memory/materializations-state.ts +10 -0
  1028. package/src/storage/ontology/in-memory/materializations-work.ts +2 -1
  1029. package/src/storage/ontology/in-memory/materializations.ts +132 -9
  1030. package/src/storage/ontology/in-memory/outbox.ts +1 -1
  1031. package/src/storage/ontology/in-memory/shared-state.ts +12 -1
  1032. package/src/storage/ontology/index.ts +6 -0
  1033. package/src/storage/ontology/materializations.ts +53 -4
  1034. package/src/storage/ontology/outbox.ts +13 -2
  1035. package/src/storage/ontology/provider-header-validation.ts +1 -0
  1036. package/src/storage/ontology/provider-work.ts +33 -14
  1037. package/src/storage/ontology/provider.ts +72 -52
  1038. package/src/storage/operation-scope.ts +2 -0
  1039. package/src/storage/pipeline-runs/idempotency.ts +14 -0
  1040. package/src/storage/pipeline-runs/in-memory.ts +88 -8
  1041. package/src/storage/pipeline-runs/index.ts +5 -1
  1042. package/src/storage/pipeline-runs/provider.ts +25 -0
  1043. package/src/storage/pipeline-runs/types.ts +37 -14
  1044. package/src/storage/projection-runs/in-memory.ts +93 -24
  1045. package/src/storage/projection-runs/index.ts +4 -0
  1046. package/src/storage/projection-runs/lifecycle.ts +165 -36
  1047. package/src/storage/projection-runs/provider.ts +34 -0
  1048. package/src/storage/projection-runs/types.ts +34 -11
  1049. package/src/storage/run-listing.ts +22 -13
  1050. package/src/storage/sync-runs/idempotency.ts +18 -0
  1051. package/src/storage/sync-runs/in-memory.ts +90 -7
  1052. package/src/storage/sync-runs/index.ts +4 -1
  1053. package/src/storage/sync-runs/provider.ts +25 -0
  1054. package/src/storage/sync-runs/types.ts +35 -11
  1055. package/src/storage/types.ts +46 -17
  1056. package/src/storage/webhook-runs/errors.ts +14 -0
  1057. package/src/storage/webhook-runs/in-memory.ts +84 -9
  1058. package/src/storage/webhook-runs/index.ts +5 -1
  1059. package/src/storage/webhook-runs/provider.ts +30 -0
  1060. package/src/storage/webhook-runs/types.ts +52 -11
  1061. package/src/storage/workflow-runs/in-memory.ts +89 -55
  1062. package/src/storage/workflow-runs/index.ts +2 -0
  1063. package/src/storage/workflow-runs/provider.ts +70 -0
  1064. package/src/storage/workflow-runs/types.ts +36 -25
  1065. package/src/syncs/builders.ts +2 -2
  1066. package/src/syncs/execution.ts +78 -0
  1067. package/src/syncs/index.ts +13 -0
  1068. package/src/syncs/request.ts +32 -43
  1069. package/src/syncs/run-dispatch.ts +312 -0
  1070. package/src/syncs/sources.ts +20 -0
  1071. package/src/syncs/types.ts +32 -8
  1072. package/src/testing/action-execution.ts +61 -0
  1073. package/src/testing/agent-execution.ts +81 -0
  1074. package/src/testing/agent-storage-contract.ts +498 -64
  1075. package/src/testing/ai-cost-storage-contract.ts +320 -0
  1076. package/src/testing/ai-usage-storage-contract.ts +528 -0
  1077. package/src/testing/auth-storage-contract.ts +17 -1
  1078. package/src/testing/broker-contract.ts +16 -1
  1079. package/src/testing/connector-connection-storage-contract.ts +1052 -0
  1080. package/src/testing/execution-storage-contract.ts +435 -0
  1081. package/src/testing/execution.ts +48 -0
  1082. package/src/testing/index.ts +57 -0
  1083. package/src/testing/materializer-fixture.ts +11 -3
  1084. package/src/testing/materializer-storage-contract.ts +333 -13
  1085. package/src/testing/ontology-contract-fixture.ts +35 -2
  1086. package/src/testing/ontology-storage-contract.ts +75 -14
  1087. package/src/testing/pipeline-execution.ts +64 -0
  1088. package/src/testing/projection-execution.ts +98 -0
  1089. package/src/testing/projection-run-storage-contract.ts +215 -29
  1090. package/src/testing/queues-contract.ts +40 -51
  1091. package/src/testing/sync-execution.ts +61 -0
  1092. package/src/testing/webhook-execution.ts +47 -0
  1093. package/src/testing/webhook-run-storage-contract.ts +240 -0
  1094. package/src/testing/workflow-execution.ts +77 -0
  1095. package/src/webhooks/index.ts +2 -1
  1096. package/src/webhooks/internal.ts +5 -0
  1097. package/src/webhooks/registry.ts +60 -36
  1098. package/src/webhooks/run-admission.ts +172 -0
  1099. package/src/webhooks/types.ts +8 -5
  1100. package/src/workers/queue-delivery.ts +25 -22
  1101. package/src/workers/queue-worker.ts +76 -33
  1102. package/src/workflows/execution.ts +313 -0
  1103. package/src/workflows/failure.ts +63 -0
  1104. package/src/workflows/index.ts +10 -1
  1105. package/src/workflows/request.ts +39 -118
  1106. package/src/workflows/run-dispatch.ts +359 -0
  1107. package/src/workflows/types.ts +39 -8
  1108. package/dist/actions/runtime.d.ts +0 -11
  1109. package/dist/actions/runtime.d.ts.map +0 -1
  1110. package/dist/agents/runtime.d.ts +0 -41
  1111. package/dist/agents/runtime.d.ts.map +0 -1
  1112. package/dist/chunk-4hwxq5e6.js +0 -49
  1113. package/dist/chunk-4hwxq5e6.js.map +0 -10
  1114. package/dist/chunk-4tvj3ate.js.map +0 -11
  1115. package/dist/chunk-50kv63vj.js.map +0 -12
  1116. package/dist/chunk-86459jn0.js +0 -1091
  1117. package/dist/chunk-86459jn0.js.map +0 -22
  1118. package/dist/chunk-867jxh7c.js.map +0 -19
  1119. package/dist/chunk-9k3hgv8h.js +0 -352
  1120. package/dist/chunk-9k3hgv8h.js.map +0 -13
  1121. package/dist/chunk-avppcgt6.js.map +0 -14
  1122. package/dist/chunk-b1bqvhpe.js.map +0 -13
  1123. package/dist/chunk-b5dp7gaf.js +0 -1092
  1124. package/dist/chunk-b5dp7gaf.js.map +0 -26
  1125. package/dist/chunk-bh8bwma3.js +0 -37
  1126. package/dist/chunk-bh8bwma3.js.map +0 -10
  1127. package/dist/chunk-btcsywk4.js +0 -985
  1128. package/dist/chunk-btcsywk4.js.map +0 -15
  1129. package/dist/chunk-exrfbt2d.js +0 -354
  1130. package/dist/chunk-exrfbt2d.js.map +0 -17
  1131. package/dist/chunk-hb9xcx9c.js.map +0 -14
  1132. package/dist/chunk-k25jm1x5.js +0 -102
  1133. package/dist/chunk-k25jm1x5.js.map +0 -10
  1134. package/dist/chunk-k6j72mtt.js +0 -9
  1135. package/dist/chunk-k6j72mtt.js.map +0 -10
  1136. package/dist/chunk-m9w0artv.js +0 -554
  1137. package/dist/chunk-m9w0artv.js.map +0 -13
  1138. package/dist/chunk-nbywkytr.js.map +0 -16
  1139. package/dist/chunk-p7vj8xgb.js.map +0 -34
  1140. package/dist/chunk-raq0x6bd.js.map +0 -48
  1141. package/dist/chunk-rgzed50y.js +0 -1445
  1142. package/dist/chunk-rgzed50y.js.map +0 -22
  1143. package/dist/chunk-rjqm6ksg.js.map +0 -44
  1144. package/dist/chunk-t72dvahb.js.map +0 -12
  1145. package/dist/chunk-v5c085yp.js.map +0 -10
  1146. package/dist/chunk-xt6qx9sh.js.map +0 -36
  1147. package/dist/chunk-xz5g49bp.js.map +0 -11
  1148. package/dist/chunk-ya6brh8a.js.map +0 -11
  1149. package/dist/chunk-yn947ck3.js.map +0 -14
  1150. package/dist/connectors/runtime.d.ts +0 -13
  1151. package/dist/connectors/runtime.d.ts.map +0 -1
  1152. package/dist/events/runtime.d.ts.map +0 -1
  1153. package/dist/objects/contexts.d.ts +0 -45
  1154. package/dist/objects/contexts.d.ts.map +0 -1
  1155. package/dist/objects/helpers.d.ts +0 -7
  1156. package/dist/objects/helpers.d.ts.map +0 -1
  1157. package/dist/runtime/scoped.d.ts +0 -158
  1158. package/dist/runtime/scoped.d.ts.map +0 -1
  1159. package/dist/security/runtime.d.ts +0 -16
  1160. package/dist/security/runtime.d.ts.map +0 -1
  1161. package/dist/storage/webhook-deliveries/in-memory.d.ts +0 -18
  1162. package/dist/storage/webhook-deliveries/in-memory.d.ts.map +0 -1
  1163. package/dist/storage/webhook-deliveries/index.d.ts +0 -3
  1164. package/dist/storage/webhook-deliveries/index.d.ts.map +0 -1
  1165. package/dist/storage/webhook-deliveries/types.d.ts +0 -43
  1166. package/dist/storage/webhook-deliveries/types.d.ts.map +0 -1
  1167. package/dist/workflows/runtime.d.ts +0 -33
  1168. package/dist/workflows/runtime.d.ts.map +0 -1
  1169. package/src/actions/runtime.ts +0 -31
  1170. package/src/agents/runtime.ts +0 -124
  1171. package/src/connectors/runtime.ts +0 -100
  1172. package/src/objects/contexts.ts +0 -64
  1173. package/src/objects/helpers.ts +0 -18
  1174. package/src/runtime/scoped.ts +0 -436
  1175. package/src/security/runtime.ts +0 -101
  1176. package/src/storage/webhook-deliveries/in-memory.ts +0 -108
  1177. package/src/storage/webhook-deliveries/index.ts +0 -9
  1178. package/src/storage/webhook-deliveries/types.ts +0 -41
  1179. package/src/workflows/runtime.ts +0 -68
  1180. /package/dist/{chunk-md9jbrm9.js.map → chunk-4gz41why.js.map} +0 -0
  1181. /package/dist/{chunk-6rzdtvn5.js.map → chunk-8b55ygje.js.map} +0 -0
  1182. /package/dist/{chunk-r82k4z7z.js.map → chunk-a31h57d5.js.map} +0 -0
  1183. /package/dist/{chunk-qzyemcj7.js.map → chunk-ckxfnx7f.js.map} +0 -0
  1184. /package/dist/{chunk-53s4asfm.js.map → chunk-rnshztfq.js.map} +0 -0
  1185. /package/dist/{chunk-8kv2sez0.js.map → chunk-vybf6pkp.js.map} +0 -0
  1186. /package/dist/{chunk-6zrpewy4.js.map → chunk-z3zp0bj1.js.map} +0 -0
  1187. /package/dist/{chunk-hz8m927w.js.map → chunk-zqysyfjt.js.map} +0 -0
@@ -0,0 +1,404 @@
1
+ // @bun
2
+ import {
3
+ createPrimitiveExecutionRecord
4
+ } from "./chunk-4aw0jwk0.js";
5
+ import {
6
+ sha256Canonical
7
+ } from "./chunk-fmx1sz2h.js";
8
+ import {
9
+ PROJECTION_RUN_FAILURE_CODES,
10
+ ProjectionRunError,
11
+ assertProjectionRunDurableExecution,
12
+ assertProjectionRunIdentityMatches
13
+ } from "./chunk-dysw7nsm.js";
14
+ import {
15
+ findPrimitiveRunExecution
16
+ } from "./chunk-t9xghkva.js";
17
+ import {
18
+ reportRunFailure
19
+ } from "./chunk-dsrkgtnh.js";
20
+ import {
21
+ ProjectionValidationError
22
+ } from "./chunk-4z3n1dzt.js";
23
+ import {
24
+ createSixbError,
25
+ toSixbFailure
26
+ } from "./chunk-0172wgm9.js";
27
+ // src/projections/capability.ts
28
+ var projectionRegistryKey = Symbol("sixb.projectionRegistry");
29
+ function registerProjectionRegistry(owner, registry) {
30
+ const registered = owner[projectionRegistryKey];
31
+ if (registered && registered !== registry) {
32
+ throw new Error("[Sixb] Projection registry is already registered for this owner.");
33
+ }
34
+ Object.defineProperty(owner, projectionRegistryKey, {
35
+ configurable: false,
36
+ enumerable: false,
37
+ value: registry,
38
+ writable: false
39
+ });
40
+ }
41
+ function getProjectionRegistry(owner) {
42
+ const registry = owner[projectionRegistryKey];
43
+ if (registry)
44
+ return registry;
45
+ throw new Error("[Sixb] Projection registry is not registered for this runtime.");
46
+ }
47
+ function getProjectionDispatchDescriptors(owner) {
48
+ return getProjectionRegistry(owner).getDispatchDescriptors();
49
+ }
50
+ function shareProjectionRegistry(source, target) {
51
+ registerProjectionRegistry(target, getProjectionRegistry(source));
52
+ }
53
+ // src/projections/run-dispatch.ts
54
+ import { randomUUID } from "crypto";
55
+
56
+ // src/projections/run-id.ts
57
+ function createProjectionRunId(projectId, identity) {
58
+ return sha256Canonical({
59
+ projectId,
60
+ projectionId: identity.projectionId,
61
+ projectionKind: identity.projectionKind,
62
+ protocol: identity.protocol,
63
+ datasetId: identity.datasetVersion.datasetId,
64
+ versionId: identity.datasetVersion.versionId,
65
+ createdAt: identity.datasetVersion.createdAt,
66
+ ontologyRevision: identity.ontologyRevision,
67
+ projectionRevision: identity.projectionRevision,
68
+ ownershipHash: identity.ownershipHash
69
+ });
70
+ }
71
+
72
+ // src/projections/run-dispatch.ts
73
+ var PROJECTION_TELEMETRY_BATCH_SIZE = 500;
74
+
75
+ class ProjectionRunDispatcher {
76
+ dependencies;
77
+ constructor(dependencies) {
78
+ this.dependencies = dependencies;
79
+ }
80
+ async dispatch(input) {
81
+ assertDispatchInput(input);
82
+ const registry = getProjectionRegistry(this.dependencies);
83
+ const descriptor = registry.resolveDispatch(input.projectionId);
84
+ if (descriptor.datasetId !== input.datasetVersion.datasetId) {
85
+ throw new ProjectionValidationError(`[Sixb] Projection '${input.projectionId}' consumes dataset '${descriptor.datasetId}', not '${input.datasetVersion.datasetId}'.`);
86
+ }
87
+ const projection = this.dependencies.definitions.projections.getById(input.projectionId);
88
+ if (!projection) {
89
+ throw new ProjectionValidationError(`[Sixb] Unknown projection '${input.projectionId}'.`);
90
+ }
91
+ const version = await this.dependencies.lakeStorage.getVersion(input.datasetVersion.datasetId, input.datasetVersion.versionId);
92
+ if (!version || version.createdAt.toISOString() !== input.datasetVersion.createdAt) {
93
+ throw new ProjectionValidationError(`[Sixb] Dataset '${input.datasetVersion.datasetId}' version '${input.datasetVersion.versionId}' does not match its immutable metadata.`);
94
+ }
95
+ if (version.mode === "schema") {
96
+ throw new ProjectionValidationError(`[Sixb] Projection '${input.projectionId}' cannot materialize a schema-only dataset version.`);
97
+ }
98
+ const { datasetId: _datasetId, ...semanticIdentity } = descriptor;
99
+ const identity = {
100
+ ...semanticIdentity,
101
+ datasetVersion: structuredClone(input.datasetVersion)
102
+ };
103
+ const runId = createProjectionRunId(this.dependencies.id, identity);
104
+ const projectionRuns = requireProjectionRunStorage(this.dependencies.storage);
105
+ const existing = await projectionRuns.getById({ projectId: this.dependencies.id, id: runId });
106
+ const persisted = existing ? await reuseProjectionRun(this.dependencies, existing, identity) : await persistProjectionRun({
107
+ dependencies: this.dependencies,
108
+ runId,
109
+ identity,
110
+ projection,
111
+ producerExecution: await resolveProducerExecution(this.dependencies.storage, this.dependencies.id, version.producer)
112
+ });
113
+ if (!persisted.publish)
114
+ return existingResult(persisted.run);
115
+ return publishProjectionRun(this.dependencies, input.metadata, persisted);
116
+ }
117
+ }
118
+ async function persistProjectionRun(input) {
119
+ const execution = createPrimitiveExecutionRecord({
120
+ id: `exec_${randomUUID()}`,
121
+ primitive: { kind: "projection", id: input.identity.projectionId, runId: input.runId },
122
+ origin: {
123
+ type: "automatic",
124
+ projectId: input.dependencies.id,
125
+ source: {
126
+ type: "datasetVersion",
127
+ datasetId: input.identity.datasetVersion.datasetId,
128
+ versionId: input.identity.datasetVersion.versionId
129
+ },
130
+ correlationId: input.producerExecution?.correlationId ?? input.runId,
131
+ ...input.producerExecution?.requestedBy === undefined ? {} : { requestedBy: input.producerExecution.requestedBy }
132
+ }
133
+ });
134
+ const queuedAt = new Date;
135
+ try {
136
+ return await input.dependencies.storage.transaction(async (tx) => {
137
+ const projectionRuns = requireProjectionRunStorage(tx);
138
+ const raced = await projectionRuns.getById({
139
+ projectId: input.dependencies.id,
140
+ id: input.runId
141
+ });
142
+ if (raced) {
143
+ await assertExistingRun(tx, raced, input.identity);
144
+ return { publish: false, run: raced };
145
+ }
146
+ await tx.executions.create(execution);
147
+ const run = await queueProjectionRun(projectionRuns, {
148
+ id: input.runId,
149
+ projectId: input.dependencies.id,
150
+ executionId: execution.id,
151
+ identity: input.identity,
152
+ projection: input.projection,
153
+ queuedAt
154
+ });
155
+ return { publish: true, run, queuedAt, created: true };
156
+ }, { isolation: "serializable" });
157
+ } catch (error) {
158
+ if (!(error instanceof ProjectionRunError))
159
+ throw error;
160
+ const raced = await requireProjectionRunStorage(input.dependencies.storage).getById({
161
+ projectId: input.dependencies.id,
162
+ id: input.runId
163
+ });
164
+ if (!raced)
165
+ throw error;
166
+ await assertExistingRun(input.dependencies.storage, raced, input.identity);
167
+ return { publish: false, run: raced };
168
+ }
169
+ }
170
+ async function reuseProjectionRun(dependencies, existing, identity) {
171
+ await assertExistingRun(dependencies.storage, existing, identity);
172
+ if (existing.status !== "failed" || existing.error?.code !== "queue.enqueue_failed" || !existing.error.retryable) {
173
+ return { publish: false, run: existing };
174
+ }
175
+ const queuedAt = new Date;
176
+ const projectionRuns = requireProjectionRunStorage(dependencies.storage);
177
+ try {
178
+ const run = await requeueProjectionRun(projectionRuns, existing, queuedAt);
179
+ return { publish: true, run, queuedAt, created: false };
180
+ } catch (error) {
181
+ if (!(error instanceof ProjectionRunError))
182
+ throw error;
183
+ const raced = await projectionRuns.getById({ projectId: existing.projectId, id: existing.id });
184
+ if (!raced || raced.status === "failed" && raced.error?.code === "queue.enqueue_failed" && raced.error.retryable) {
185
+ throw error;
186
+ }
187
+ await assertExistingRun(dependencies.storage, raced, identity);
188
+ return { publish: false, run: raced };
189
+ }
190
+ }
191
+ async function publishProjectionRun(dependencies, metadata, persisted) {
192
+ try {
193
+ const [job] = await dependencies.queues.projections.enqueue({
194
+ projectId: dependencies.id,
195
+ jobs: [
196
+ {
197
+ id: persisted.run.id,
198
+ type: "projection.run.requested",
199
+ payload: { runId: persisted.run.id },
200
+ ...metadata === undefined ? {} : { metadata }
201
+ }
202
+ ]
203
+ });
204
+ return {
205
+ projectionId: persisted.run.identity.projectionId,
206
+ runId: persisted.run.id,
207
+ queuedAt: persisted.queuedAt.toISOString(),
208
+ ...job?.id ? { jobId: job.id } : {},
209
+ created: persisted.created
210
+ };
211
+ } catch (error) {
212
+ const failedAt = new Date;
213
+ const failure = toEnqueueFailure(error, persisted.run, failedAt);
214
+ const failed = await requireProjectionRunStorage(dependencies.storage).failEnqueue({
215
+ projectId: dependencies.id,
216
+ id: persisted.run.id,
217
+ finishedAt: failedAt,
218
+ error: failure
219
+ });
220
+ reportRunFailure(dependencies, error, {
221
+ projectId: dependencies.id,
222
+ runKind: "projection",
223
+ run: {
224
+ runId: failed.id,
225
+ projectionId: failed.identity.projectionId,
226
+ projectionKind: failed.identity.projectionKind
227
+ },
228
+ failure
229
+ });
230
+ throw error;
231
+ }
232
+ }
233
+ async function assertExistingRun(storage, run, identity) {
234
+ assertProjectionRunIdentityMatches(run, identity);
235
+ await assertProjectionRunDurableExecution({
236
+ executions: storage.executions,
237
+ projectId: run.projectId,
238
+ executionId: run.executionId,
239
+ runId: run.id,
240
+ projectionId: run.identity.projectionId,
241
+ datasetId: run.identity.datasetVersion.datasetId,
242
+ datasetVersionId: run.identity.datasetVersion.versionId
243
+ });
244
+ }
245
+ async function resolveProducerExecution(storage, projectId, producer) {
246
+ if (!producer?.runId)
247
+ return null;
248
+ if (producer.kind === "sync") {
249
+ const run2 = await storage.syncRuns?.getById({ projectId, id: producer.runId });
250
+ if (!run2)
251
+ return null;
252
+ assertProducerId(producer, run2.syncId);
253
+ return requireProducerExecution({
254
+ executions: storage.executions,
255
+ projectId,
256
+ executionId: run2.executionId,
257
+ primitive: { kind: "sync", id: run2.syncId, runId: run2.id }
258
+ });
259
+ }
260
+ const run = await storage.pipelineRuns?.getById({ projectId, id: producer.runId });
261
+ if (!run)
262
+ return null;
263
+ assertProducerId(producer, run.pipelineId);
264
+ return requireProducerExecution({
265
+ executions: storage.executions,
266
+ projectId,
267
+ executionId: run.executionId,
268
+ primitive: { kind: "pipeline", id: run.pipelineId, runId: run.id }
269
+ });
270
+ }
271
+ async function requireProducerExecution(input) {
272
+ const execution = await findPrimitiveRunExecution({
273
+ executions: input.executions,
274
+ projectId: input.projectId,
275
+ executionId: input.executionId,
276
+ primitive: input.primitive,
277
+ sourceTypes: ["execution", "schedule", "event"]
278
+ });
279
+ if (execution)
280
+ return execution;
281
+ throw new ProjectionValidationError(`[Sixb] Dataset producer run '${input.primitive.runId}' references an invalid execution.`);
282
+ }
283
+ function assertProducerId(producer, runOwnerId) {
284
+ if (producer.id === undefined || producer.id === runOwnerId)
285
+ return;
286
+ throw new ProjectionValidationError(`[Sixb] Dataset producer '${producer.kind}:${producer.id}' does not match run '${producer.runId}'.`);
287
+ }
288
+ function requireProjectionRunStorage(storage) {
289
+ if (storage.projectionRuns)
290
+ return storage.projectionRuns;
291
+ throw new ProjectionValidationError("[Sixb] Projection run storage is not configured.");
292
+ }
293
+ function queueProjectionRun(storage, input) {
294
+ const common = {
295
+ id: input.id,
296
+ projectId: input.projectId,
297
+ executionId: input.executionId,
298
+ queuedAt: input.queuedAt
299
+ };
300
+ switch (input.projection._tag) {
301
+ case "ObjectProjectionDefinition":
302
+ if (input.identity.projectionKind !== "object") {
303
+ throw invalidProjectionDefinition(input.id);
304
+ }
305
+ return storage.queue({
306
+ ...common,
307
+ identity: input.identity,
308
+ target: { objectTypeId: input.projection.objectTypeId }
309
+ });
310
+ case "LinkProjectionDefinition":
311
+ if (input.identity.projectionKind !== "link") {
312
+ throw invalidProjectionDefinition(input.id);
313
+ }
314
+ return storage.queue({
315
+ ...common,
316
+ identity: input.identity,
317
+ target: {
318
+ sourceObjectTypeId: input.projection.sourceObjectTypeId,
319
+ targetObjectTypeId: input.projection.targetObjectTypeId
320
+ }
321
+ });
322
+ case "TelemetryProjectionDefinition":
323
+ if (input.identity.projectionKind !== "telemetry") {
324
+ throw invalidProjectionDefinition(input.id);
325
+ }
326
+ return storage.queue({
327
+ ...common,
328
+ identity: input.identity,
329
+ target: { objectTypeId: input.projection.objectTypeId },
330
+ fixedBatchSize: PROJECTION_TELEMETRY_BATCH_SIZE
331
+ });
332
+ }
333
+ }
334
+ function requeueProjectionRun(storage, run, queuedAt) {
335
+ const common = {
336
+ id: run.id,
337
+ projectId: run.projectId,
338
+ executionId: run.executionId,
339
+ queuedAt
340
+ };
341
+ switch (run.identity.projectionKind) {
342
+ case "object": {
343
+ if (!("objectTypeId" in run.target))
344
+ throw invalidProjectionDefinition(run.id);
345
+ return storage.queue({ ...common, identity: run.identity, target: run.target });
346
+ }
347
+ case "link": {
348
+ if (!("sourceObjectTypeId" in run.target))
349
+ throw invalidProjectionDefinition(run.id);
350
+ return storage.queue({ ...common, identity: run.identity, target: run.target });
351
+ }
352
+ case "telemetry": {
353
+ if (!("objectTypeId" in run.target) || !run.telemetryCheckpoint) {
354
+ throw invalidProjectionDefinition(run.id);
355
+ }
356
+ return storage.queue({
357
+ ...common,
358
+ identity: run.identity,
359
+ target: run.target,
360
+ fixedBatchSize: run.telemetryCheckpoint.fixedBatchSize
361
+ });
362
+ }
363
+ }
364
+ }
365
+ function invalidProjectionDefinition(runId) {
366
+ return new ProjectionValidationError(`[Sixb] Projection run '${runId}' has inconsistent definition metadata.`);
367
+ }
368
+ function existingResult(run) {
369
+ return {
370
+ projectionId: run.identity.projectionId,
371
+ runId: run.id,
372
+ queuedAt: run.queuedAt.toISOString(),
373
+ created: false
374
+ };
375
+ }
376
+ function assertDispatchInput(input) {
377
+ for (const [field, value] of [
378
+ ["projectionId", input.projectionId],
379
+ ["datasetId", input.datasetVersion.datasetId],
380
+ ["versionId", input.datasetVersion.versionId]
381
+ ]) {
382
+ if (!value.trim())
383
+ throw new ProjectionValidationError(`[Sixb] Projection ${field} is required.`);
384
+ }
385
+ const timestamp = Date.parse(input.datasetVersion.createdAt);
386
+ if (!Number.isFinite(timestamp) || new Date(timestamp).toISOString() !== input.datasetVersion.createdAt) {
387
+ throw new ProjectionValidationError("[Sixb] Projection dataset version timestamp is invalid.");
388
+ }
389
+ }
390
+ function toEnqueueFailure(error, run, at) {
391
+ const enqueueError = createSixbError("queue.enqueue_failed", `[Sixb] Could not enqueue Projection run '${run.id}'.`, {
392
+ cause: error,
393
+ details: {
394
+ projectionId: run.identity.projectionId,
395
+ projectionKind: run.identity.projectionKind,
396
+ runId: run.id,
397
+ phase: "enqueue"
398
+ }
399
+ });
400
+ return toSixbFailure(enqueueError, { allowedCodes: PROJECTION_RUN_FAILURE_CODES, at });
401
+ }
402
+ export { registerProjectionRegistry, getProjectionRegistry, getProjectionDispatchDescriptors, shareProjectionRegistry, createProjectionRunId, PROJECTION_TELEMETRY_BATCH_SIZE, ProjectionRunDispatcher };
403
+
404
+ //# debugId=562D2A2DDB41546364756E2164756E21
@@ -0,0 +1,12 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/projections/capability.ts", "../src/projections/run-dispatch.ts", "../src/projections/run-id.ts"],
4
+ "sourcesContent": [
5
+ "import type { ProjectionRegistry } from \"./registry\"\nimport type { ProjectionDispatchDescriptor } from \"./types\"\n\nconst projectionRegistryKey: unique symbol = Symbol(\"sixb.projectionRegistry\")\n\ninterface ProjectionRegistryOwner {\n readonly [projectionRegistryKey]?: ProjectionRegistry\n}\n\nexport function registerProjectionRegistry(owner: object, registry: ProjectionRegistry): void {\n const registered = (owner as ProjectionRegistryOwner)[projectionRegistryKey]\n if (registered && registered !== registry) {\n throw new Error(\"[Sixb] Projection registry is already registered for this owner.\")\n }\n Object.defineProperty(owner, projectionRegistryKey, {\n configurable: false,\n enumerable: false,\n value: registry,\n writable: false,\n })\n}\n\nexport function getProjectionRegistry(owner: object): ProjectionRegistry {\n const registry = (owner as ProjectionRegistryOwner)[projectionRegistryKey]\n if (registry) return registry\n throw new Error(\"[Sixb] Projection registry is not registered for this runtime.\")\n}\n\nexport function getProjectionDispatchDescriptors(\n owner: object\n): readonly ProjectionDispatchDescriptor[] {\n return getProjectionRegistry(owner).getDispatchDescriptors()\n}\n\nexport function shareProjectionRegistry(source: object, target: object): void {\n registerProjectionRegistry(target, getProjectionRegistry(source))\n}\n",
6
+ "import { randomUUID } from \"node:crypto\"\nimport { reportRunFailure } from \"../error-reporting/capability\"\nimport { createSixbError, toSixbFailure } from \"../errors/internal\"\nimport type { SixbFailure } from \"../errors/types\"\nimport type { RunDispatcher } from \"../execution/dispatch\"\nimport { createPrimitiveExecutionRecord } from \"../execution/durable\"\nimport type { LakeStorage } from \"../lake-storage\"\nimport type { Queues } from \"../queues\"\nimport type { SixbDefinitions } from \"../runtime/definitions\"\nimport type { ExecutionRecord, ProjectionRunRecord, Storage } from \"../storage\"\nimport { ProjectionRunError } from \"../storage\"\nimport { findPrimitiveRunExecution } from \"../storage/executions/run-link\"\nimport {\n assertProjectionRunDurableExecution,\n assertProjectionRunIdentityMatches,\n} from \"../storage/projection-runs/provider\"\nimport { getProjectionRegistry } from \"./capability\"\nimport { ProjectionValidationError } from \"./errors\"\nimport { createProjectionRunId } from \"./run-id\"\nimport {\n PROJECTION_RUN_FAILURE_CODES,\n type ProjectionDefinition,\n type ProjectionRunFailureCode,\n} from \"./types\"\n\nexport const PROJECTION_TELEMETRY_BATCH_SIZE = 500\n\nexport interface ProjectionRunDispatchInput {\n readonly projectionId: string\n readonly datasetVersion: {\n readonly datasetId: string\n readonly versionId: string\n readonly createdAt: string\n }\n readonly metadata?: Readonly<Record<string, string>>\n}\n\nexport interface ProjectionRunDispatchResult {\n readonly projectionId: string\n readonly runId: string\n readonly queuedAt: string\n readonly jobId?: string\n readonly created: boolean\n}\n\nexport type ProjectionRunDispatchPort = RunDispatcher<\n ProjectionRunDispatchInput,\n ProjectionRunDispatchResult\n>\n\nexport interface ProjectionRunDispatcherDependencies {\n readonly id: string\n readonly definitions: Pick<SixbDefinitions, \"projections\">\n readonly lakeStorage: Pick<LakeStorage, \"getVersion\">\n readonly storage: Storage\n readonly queues: Pick<Queues, \"projections\">\n}\n\ntype PersistedProjectionRun =\n | { readonly publish: false; readonly run: ProjectionRunRecord }\n | {\n readonly publish: true\n readonly run: ProjectionRunRecord\n readonly queuedAt: Date\n readonly created: boolean\n }\n\n/** Core-owned durable dispatch boundary for immutable dataset-version materialization. */\nexport class ProjectionRunDispatcher implements ProjectionRunDispatchPort {\n constructor(private readonly dependencies: ProjectionRunDispatcherDependencies) {}\n\n async dispatch(input: ProjectionRunDispatchInput): Promise<ProjectionRunDispatchResult> {\n assertDispatchInput(input)\n const registry = getProjectionRegistry(this.dependencies)\n const descriptor = registry.resolveDispatch(input.projectionId)\n if (descriptor.datasetId !== input.datasetVersion.datasetId) {\n throw new ProjectionValidationError(\n `[Sixb] Projection '${input.projectionId}' consumes dataset '${descriptor.datasetId}', not '${input.datasetVersion.datasetId}'.`\n )\n }\n const projection = this.dependencies.definitions.projections.getById(input.projectionId)\n if (!projection) {\n throw new ProjectionValidationError(`[Sixb] Unknown projection '${input.projectionId}'.`)\n }\n const version = await this.dependencies.lakeStorage.getVersion(\n input.datasetVersion.datasetId,\n input.datasetVersion.versionId\n )\n if (!version || version.createdAt.toISOString() !== input.datasetVersion.createdAt) {\n throw new ProjectionValidationError(\n `[Sixb] Dataset '${input.datasetVersion.datasetId}' version '${input.datasetVersion.versionId}' does not match its immutable metadata.`\n )\n }\n if (version.mode === \"schema\") {\n throw new ProjectionValidationError(\n `[Sixb] Projection '${input.projectionId}' cannot materialize a schema-only dataset version.`\n )\n }\n\n const { datasetId: _datasetId, ...semanticIdentity } = descriptor\n const identity = {\n ...semanticIdentity,\n datasetVersion: structuredClone(input.datasetVersion),\n }\n const runId = createProjectionRunId(this.dependencies.id, identity)\n const projectionRuns = requireProjectionRunStorage(this.dependencies.storage)\n const existing = await projectionRuns.getById({ projectId: this.dependencies.id, id: runId })\n const persisted = existing\n ? await reuseProjectionRun(this.dependencies, existing, identity)\n : await persistProjectionRun({\n dependencies: this.dependencies,\n runId,\n identity,\n projection,\n producerExecution: await resolveProducerExecution(\n this.dependencies.storage,\n this.dependencies.id,\n version.producer\n ),\n })\n\n if (!persisted.publish) return existingResult(persisted.run)\n return publishProjectionRun(this.dependencies, input.metadata, persisted)\n }\n}\n\nasync function persistProjectionRun(input: {\n readonly dependencies: ProjectionRunDispatcherDependencies\n readonly runId: string\n readonly identity: ProjectionRunRecord[\"identity\"]\n readonly projection: ProjectionDefinition\n readonly producerExecution: ExecutionRecord | null\n}): Promise<PersistedProjectionRun> {\n const execution = createPrimitiveExecutionRecord({\n id: `exec_${randomUUID()}`,\n primitive: { kind: \"projection\", id: input.identity.projectionId, runId: input.runId },\n origin: {\n type: \"automatic\",\n projectId: input.dependencies.id,\n source: {\n type: \"datasetVersion\",\n datasetId: input.identity.datasetVersion.datasetId,\n versionId: input.identity.datasetVersion.versionId,\n },\n correlationId: input.producerExecution?.correlationId ?? input.runId,\n ...(input.producerExecution?.requestedBy === undefined\n ? {}\n : { requestedBy: input.producerExecution.requestedBy }),\n },\n })\n const queuedAt = new Date()\n\n try {\n return await input.dependencies.storage.transaction(\n async (tx): Promise<PersistedProjectionRun> => {\n const projectionRuns = requireProjectionRunStorage(tx)\n const raced = await projectionRuns.getById({\n projectId: input.dependencies.id,\n id: input.runId,\n })\n if (raced) {\n await assertExistingRun(tx, raced, input.identity)\n return { publish: false, run: raced }\n }\n await tx.executions.create(execution)\n const run = await queueProjectionRun(projectionRuns, {\n id: input.runId,\n projectId: input.dependencies.id,\n executionId: execution.id,\n identity: input.identity,\n projection: input.projection,\n queuedAt,\n })\n return { publish: true, run, queuedAt, created: true }\n },\n { isolation: \"serializable\" }\n )\n } catch (error) {\n if (!(error instanceof ProjectionRunError)) throw error\n const raced = await requireProjectionRunStorage(input.dependencies.storage).getById({\n projectId: input.dependencies.id,\n id: input.runId,\n })\n if (!raced) throw error\n await assertExistingRun(input.dependencies.storage, raced, input.identity)\n return { publish: false, run: raced }\n }\n}\n\nasync function reuseProjectionRun(\n dependencies: ProjectionRunDispatcherDependencies,\n existing: ProjectionRunRecord,\n identity: ProjectionRunRecord[\"identity\"]\n): Promise<PersistedProjectionRun> {\n await assertExistingRun(dependencies.storage, existing, identity)\n if (\n existing.status !== \"failed\" ||\n existing.error?.code !== \"queue.enqueue_failed\" ||\n !existing.error.retryable\n ) {\n return { publish: false, run: existing }\n }\n const queuedAt = new Date()\n const projectionRuns = requireProjectionRunStorage(dependencies.storage)\n try {\n const run = await requeueProjectionRun(projectionRuns, existing, queuedAt)\n return { publish: true, run, queuedAt, created: false }\n } catch (error) {\n if (!(error instanceof ProjectionRunError)) throw error\n const raced = await projectionRuns.getById({ projectId: existing.projectId, id: existing.id })\n if (\n !raced ||\n (raced.status === \"failed\" &&\n raced.error?.code === \"queue.enqueue_failed\" &&\n raced.error.retryable)\n ) {\n throw error\n }\n await assertExistingRun(dependencies.storage, raced, identity)\n return { publish: false, run: raced }\n }\n}\n\nasync function publishProjectionRun(\n dependencies: ProjectionRunDispatcherDependencies,\n metadata: Readonly<Record<string, string>> | undefined,\n persisted: Extract<PersistedProjectionRun, { readonly publish: true }>\n): Promise<ProjectionRunDispatchResult> {\n try {\n const [job] = await dependencies.queues.projections.enqueue({\n projectId: dependencies.id,\n jobs: [\n {\n id: persisted.run.id,\n type: \"projection.run.requested\",\n payload: { runId: persisted.run.id },\n ...(metadata === undefined ? {} : { metadata }),\n },\n ],\n })\n return {\n projectionId: persisted.run.identity.projectionId,\n runId: persisted.run.id,\n queuedAt: persisted.queuedAt.toISOString(),\n ...(job?.id ? { jobId: job.id } : {}),\n created: persisted.created,\n }\n } catch (error) {\n const failedAt = new Date()\n const failure = toEnqueueFailure(error, persisted.run, failedAt)\n const failed = await requireProjectionRunStorage(dependencies.storage).failEnqueue({\n projectId: dependencies.id,\n id: persisted.run.id,\n finishedAt: failedAt,\n error: failure,\n })\n reportRunFailure(dependencies, error, {\n projectId: dependencies.id,\n runKind: \"projection\",\n run: {\n runId: failed.id,\n projectionId: failed.identity.projectionId,\n projectionKind: failed.identity.projectionKind,\n },\n failure,\n })\n throw error\n }\n}\n\nasync function assertExistingRun(\n storage: Storage,\n run: ProjectionRunRecord,\n identity: ProjectionRunRecord[\"identity\"]\n): Promise<void> {\n assertProjectionRunIdentityMatches(run, identity)\n await assertProjectionRunDurableExecution({\n executions: storage.executions,\n projectId: run.projectId,\n executionId: run.executionId,\n runId: run.id,\n projectionId: run.identity.projectionId,\n datasetId: run.identity.datasetVersion.datasetId,\n datasetVersionId: run.identity.datasetVersion.versionId,\n })\n}\n\nasync function resolveProducerExecution(\n storage: Storage,\n projectId: string,\n producer:\n | {\n readonly kind: \"sync\" | \"pipeline\"\n readonly id?: string\n readonly runId?: string\n }\n | undefined\n): Promise<ExecutionRecord | null> {\n if (!producer?.runId) return null\n if (producer.kind === \"sync\") {\n const run = await storage.syncRuns?.getById({ projectId, id: producer.runId })\n if (!run) return null\n assertProducerId(producer, run.syncId)\n return requireProducerExecution({\n executions: storage.executions,\n projectId,\n executionId: run.executionId,\n primitive: { kind: \"sync\", id: run.syncId, runId: run.id },\n })\n }\n\n const run = await storage.pipelineRuns?.getById({ projectId, id: producer.runId })\n if (!run) return null\n assertProducerId(producer, run.pipelineId)\n return requireProducerExecution({\n executions: storage.executions,\n projectId,\n executionId: run.executionId,\n primitive: { kind: \"pipeline\", id: run.pipelineId, runId: run.id },\n })\n}\n\nasync function requireProducerExecution(input: {\n readonly executions: Storage[\"executions\"]\n readonly projectId: string\n readonly executionId: string\n readonly primitive:\n | { readonly kind: \"sync\"; readonly id: string; readonly runId: string }\n | { readonly kind: \"pipeline\"; readonly id: string; readonly runId: string }\n}): Promise<ExecutionRecord> {\n const execution = await findPrimitiveRunExecution({\n executions: input.executions,\n projectId: input.projectId,\n executionId: input.executionId,\n primitive: input.primitive,\n sourceTypes: [\"execution\", \"schedule\", \"event\"],\n })\n if (execution) return execution\n throw new ProjectionValidationError(\n `[Sixb] Dataset producer run '${input.primitive.runId}' references an invalid execution.`\n )\n}\n\nfunction assertProducerId(\n producer: { readonly kind: \"sync\" | \"pipeline\"; readonly id?: string; readonly runId?: string },\n runOwnerId: string\n): void {\n if (producer.id === undefined || producer.id === runOwnerId) return\n throw new ProjectionValidationError(\n `[Sixb] Dataset producer '${producer.kind}:${producer.id}' does not match run '${producer.runId}'.`\n )\n}\n\nfunction requireProjectionRunStorage(storage: Storage): NonNullable<Storage[\"projectionRuns\"]> {\n if (storage.projectionRuns) return storage.projectionRuns\n throw new ProjectionValidationError(\"[Sixb] Projection run storage is not configured.\")\n}\n\nfunction queueProjectionRun(\n storage: NonNullable<Storage[\"projectionRuns\"]>,\n input: {\n readonly id: string\n readonly projectId: string\n readonly executionId: string\n readonly identity: ProjectionRunRecord[\"identity\"]\n readonly projection: ProjectionDefinition\n readonly queuedAt: Date\n }\n): Promise<ProjectionRunRecord> {\n const common = {\n id: input.id,\n projectId: input.projectId,\n executionId: input.executionId,\n queuedAt: input.queuedAt,\n }\n switch (input.projection._tag) {\n case \"ObjectProjectionDefinition\":\n if (input.identity.projectionKind !== \"object\") {\n throw invalidProjectionDefinition(input.id)\n }\n return storage.queue({\n ...common,\n identity: input.identity,\n target: { objectTypeId: input.projection.objectTypeId },\n })\n case \"LinkProjectionDefinition\":\n if (input.identity.projectionKind !== \"link\") {\n throw invalidProjectionDefinition(input.id)\n }\n return storage.queue({\n ...common,\n identity: input.identity,\n target: {\n sourceObjectTypeId: input.projection.sourceObjectTypeId,\n targetObjectTypeId: input.projection.targetObjectTypeId,\n },\n })\n case \"TelemetryProjectionDefinition\":\n if (input.identity.projectionKind !== \"telemetry\") {\n throw invalidProjectionDefinition(input.id)\n }\n return storage.queue({\n ...common,\n identity: input.identity,\n target: { objectTypeId: input.projection.objectTypeId },\n fixedBatchSize: PROJECTION_TELEMETRY_BATCH_SIZE,\n })\n }\n}\n\nfunction requeueProjectionRun(\n storage: NonNullable<Storage[\"projectionRuns\"]>,\n run: ProjectionRunRecord,\n queuedAt: Date\n): Promise<ProjectionRunRecord> {\n const common = {\n id: run.id,\n projectId: run.projectId,\n executionId: run.executionId,\n queuedAt,\n }\n switch (run.identity.projectionKind) {\n case \"object\": {\n if (!(\"objectTypeId\" in run.target)) throw invalidProjectionDefinition(run.id)\n return storage.queue({ ...common, identity: run.identity, target: run.target })\n }\n case \"link\": {\n if (!(\"sourceObjectTypeId\" in run.target)) throw invalidProjectionDefinition(run.id)\n return storage.queue({ ...common, identity: run.identity, target: run.target })\n }\n case \"telemetry\": {\n if (!(\"objectTypeId\" in run.target) || !run.telemetryCheckpoint) {\n throw invalidProjectionDefinition(run.id)\n }\n return storage.queue({\n ...common,\n identity: run.identity,\n target: run.target,\n fixedBatchSize: run.telemetryCheckpoint.fixedBatchSize,\n })\n }\n }\n}\n\nfunction invalidProjectionDefinition(runId: string): ProjectionValidationError {\n return new ProjectionValidationError(\n `[Sixb] Projection run '${runId}' has inconsistent definition metadata.`\n )\n}\n\nfunction existingResult(run: ProjectionRunRecord): ProjectionRunDispatchResult {\n return {\n projectionId: run.identity.projectionId,\n runId: run.id,\n queuedAt: run.queuedAt.toISOString(),\n created: false,\n }\n}\n\nfunction assertDispatchInput(input: ProjectionRunDispatchInput): void {\n for (const [field, value] of [\n [\"projectionId\", input.projectionId],\n [\"datasetId\", input.datasetVersion.datasetId],\n [\"versionId\", input.datasetVersion.versionId],\n ] as const) {\n if (!value.trim())\n throw new ProjectionValidationError(`[Sixb] Projection ${field} is required.`)\n }\n const timestamp = Date.parse(input.datasetVersion.createdAt)\n if (\n !Number.isFinite(timestamp) ||\n new Date(timestamp).toISOString() !== input.datasetVersion.createdAt\n ) {\n throw new ProjectionValidationError(\"[Sixb] Projection dataset version timestamp is invalid.\")\n }\n}\n\nfunction toEnqueueFailure(\n error: unknown,\n run: ProjectionRunRecord,\n at: Date\n): SixbFailure<ProjectionRunFailureCode> {\n const enqueueError = createSixbError(\n \"queue.enqueue_failed\",\n `[Sixb] Could not enqueue Projection run '${run.id}'.`,\n {\n cause: error,\n details: {\n projectionId: run.identity.projectionId,\n projectionKind: run.identity.projectionKind,\n runId: run.id,\n phase: \"enqueue\",\n },\n }\n )\n return toSixbFailure(enqueueError, { allowedCodes: PROJECTION_RUN_FAILURE_CODES, at })\n}\n",
7
+ "import { sha256Canonical } from \"../materialization/identity\"\nimport type { ProjectionMaterializationIdentity } from \"../materialization/model\"\n\nexport function createProjectionRunId(\n projectId: string,\n identity: ProjectionMaterializationIdentity\n): string {\n return sha256Canonical({\n projectId,\n projectionId: identity.projectionId,\n projectionKind: identity.projectionKind,\n protocol: identity.protocol,\n datasetId: identity.datasetVersion.datasetId,\n versionId: identity.datasetVersion.versionId,\n createdAt: identity.datasetVersion.createdAt,\n ontologyRevision: identity.ontologyRevision,\n projectionRevision: identity.projectionRevision,\n ownershipHash: identity.ownershipHash,\n })\n}\n"
8
+ ],
9
+ "mappings": "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",
10
+ "debugId": "562D2A2DDB41546364756E2164756E21",
11
+ "names": []
12
+ }
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  getInvalidJsonValueReason
4
- } from "./chunk-be9vm29v.js";
4
+ } from "./chunk-t8t39h7v.js";
5
5
 
6
6
  // src/broker/errors.ts
7
7
  class BrokerError extends Error {
@@ -114,6 +114,8 @@ class InMemoryBroker {
114
114
  assertStreamId(params.streamId);
115
115
  assertCursor(params.afterCursor);
116
116
  const storedStream = this.getEnsuredStream(params.projectId, params.streamId);
117
+ this.applyRetention(storedStream);
118
+ this.assertCursorInRetainedRange(storedStream, params.afterCursor);
117
119
  const subscription = {
118
120
  projectId: params.projectId,
119
121
  streamId: params.streamId,
@@ -124,7 +126,6 @@ class InMemoryBroker {
124
126
  this.subscriptions.add(subscription);
125
127
  const startMode = params.afterCursor !== undefined ? undefined : params.from ?? "latest";
126
128
  if (params.afterCursor !== undefined || startMode === "earliest") {
127
- this.applyRetention(storedStream);
128
129
  const initial = this.readForward(storedStream.records, {
129
130
  afterCursor: params.afterCursor,
130
131
  names: params.names,
@@ -360,4 +361,4 @@ function assertCursor(cursor) {
360
361
  }
361
362
  export { BrokerError, BrokerCursorExpiredError, InMemoryBroker };
362
363
 
363
- //# debugId=022D9D374838A92664756E2164756E21
364
+ //# debugId=A0B0E9E6D3113F2A64756E2164756E21
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/broker/errors.ts", "../src/broker/in-memory.ts"],
4
+ "sourcesContent": [
5
+ "export class BrokerError extends Error {\n readonly name: string = \"BrokerError\"\n\n constructor(message: string, options?: ErrorOptions) {\n super(`[Broker] ${message}`, options)\n }\n}\n\n/**\n * Raised when retention has removed the cursor a consumer wants to resume\n * from. Transports use this provider-independent type to request a reset.\n */\nexport class BrokerCursorExpiredError extends BrokerError {\n override readonly name = \"BrokerCursorExpiredError\"\n}\n",
6
+ "import { getInvalidJsonValueReason, type JsonValue } from \"../json\"\nimport { BrokerCursorExpiredError, BrokerError } from \"./errors\"\nimport type {\n Broker,\n BrokerPage,\n BrokerRecord,\n BrokerRecordInput,\n BrokerStreamDefinition,\n} from \"./types\"\n\n// Payloads are validated by assertBrokerPayload above the call site, so we can\n// skip the redundant validity walk that cloneJsonValue performs.\nfunction cloneValidatedPayload(value: JsonValue): JsonValue {\n return JSON.parse(JSON.stringify(value)) as JsonValue\n}\n\n// Records stored internally carry a numeric publishedAtMs alongside the public\n// ISO publishedAt string so retention sweeps can avoid Date.parse on every\n// record on every append/read.\ninterface StoredRecord extends BrokerRecord {\n readonly publishedAtMs: number\n readonly byteSize: number\n}\n\ninterface StoredStream {\n definition: BrokerStreamDefinition\n nextSequence: bigint\n records: StoredRecord[]\n retainedBytes: number\n}\n\ninterface Subscription {\n readonly projectId: string\n readonly streamId: string\n readonly names?: readonly string[]\n readonly keys?: readonly string[]\n readonly handler: (records: readonly BrokerRecord[]) => void\n}\n\nexport class InMemoryBroker implements Broker {\n readonly scope = \"process\" as const\n private readonly streams = new Map<string, StoredStream>()\n private readonly subscriptions = new Set<Subscription>()\n\n async ensureStream(params: { projectId: string; stream: BrokerStreamDefinition }): Promise<void> {\n assertProjectId(params.projectId)\n assertStream(params.stream)\n this.getOrCreateStream(params.projectId, params.stream)\n }\n\n async append(params: {\n projectId: string\n streamId: string\n records: readonly BrokerRecordInput[]\n }): Promise<readonly BrokerRecord[]> {\n assertProjectId(params.projectId)\n assertStreamId(params.streamId)\n\n if (params.records.length === 0) {\n return []\n }\n\n for (const record of params.records) {\n assertBrokerPayload(record.payload)\n }\n\n const storedStream = this.getEnsuredStream(params.projectId, params.streamId)\n const stored: StoredRecord[] = []\n\n for (const record of params.records) {\n const cursor = storedStream.nextSequence.toString()\n storedStream.nextSequence += 1n\n const publishedAtMs = Date.now()\n const storedRecord = {\n streamId: params.streamId,\n cursor,\n name: record.name,\n key: record.key,\n payload: cloneValidatedPayload(record.payload as JsonValue),\n publishedAt: new Date(publishedAtMs).toISOString(),\n publishedAtMs,\n }\n stored.push({\n ...storedRecord,\n byteSize: utf8Bytes(JSON.stringify(storedRecord)),\n })\n }\n\n storedStream.records.push(...stored)\n storedStream.retainedBytes += stored.reduce((total, record) => total + record.byteSize, 0)\n this.applyRetention(storedStream)\n const records = stored.map(toBrokerRecord)\n this.notify(params.projectId, params.streamId, stored)\n return records\n }\n\n async read(params: {\n projectId: string\n streamId: string\n afterCursor?: string\n limit?: number\n names?: readonly string[]\n keys?: readonly string[]\n }): Promise<BrokerPage> {\n assertProjectId(params.projectId)\n assertStreamId(params.streamId)\n assertCursor(params.afterCursor)\n\n if (params.limit !== undefined && params.limit <= 0) {\n return { records: [], cursor: params.afterCursor, hasMore: false }\n }\n\n const storedStream = this.streams.get(streamKey(params.projectId, params.streamId))\n if (!storedStream) {\n return { records: [], cursor: params.afterCursor, hasMore: false }\n }\n\n this.applyRetention(storedStream)\n this.assertCursorInRetainedRange(storedStream, params.afterCursor)\n return this.readForward(storedStream.records, {\n afterCursor: params.afterCursor,\n limit: params.limit,\n names: params.names,\n keys: params.keys,\n })\n }\n\n async tail(params: {\n projectId: string\n streamId: string\n beforeCursor?: string\n limit?: number\n names?: readonly string[]\n keys?: readonly string[]\n }): Promise<BrokerPage> {\n assertProjectId(params.projectId)\n assertStreamId(params.streamId)\n assertCursor(params.beforeCursor)\n\n if (params.limit !== undefined && params.limit <= 0) {\n return { records: [], cursor: params.beforeCursor, hasMore: false }\n }\n\n const storedStream = this.streams.get(streamKey(params.projectId, params.streamId))\n if (!storedStream) {\n return { records: [], cursor: params.beforeCursor, hasMore: false }\n }\n\n this.applyRetention(storedStream)\n this.assertTailCursorInRetainedRange(storedStream, params.beforeCursor)\n return this.readBackward(storedStream.records, params)\n }\n\n async latestCursor(params: { projectId: string; streamId: string }): Promise<string | undefined> {\n assertProjectId(params.projectId)\n assertStreamId(params.streamId)\n\n const storedStream = this.streams.get(streamKey(params.projectId, params.streamId))\n if (!storedStream) {\n return undefined\n }\n\n this.applyRetention(storedStream)\n return storedStream.records.at(-1)?.cursor\n }\n\n async subscribe(\n params: {\n projectId: string\n streamId: string\n from?: \"latest\" | \"earliest\"\n afterCursor?: string\n names?: readonly string[]\n keys?: readonly string[]\n },\n handler: (records: readonly BrokerRecord[]) => void\n ): Promise<() => void> {\n assertProjectId(params.projectId)\n assertStreamId(params.streamId)\n assertCursor(params.afterCursor)\n const storedStream = this.getEnsuredStream(params.projectId, params.streamId)\n\n // Retention may have trimmed past the caller's cursor. Reject that here rather than let\n // `readForward` skip silently to the oldest retained record: a resuming subscriber would be\n // fast-forwarded over the gap and would believe it had seen everything. `read` and `tail`\n // already reject it, and so does the Redis provider, so this keeps the three consistent.\n // Checked before the subscription is registered so a throw cannot leave one behind.\n this.applyRetention(storedStream)\n this.assertCursorInRetainedRange(storedStream, params.afterCursor)\n\n const subscription: Subscription = {\n projectId: params.projectId,\n streamId: params.streamId,\n names: params.names,\n keys: params.keys,\n handler,\n }\n this.subscriptions.add(subscription)\n\n const startMode = params.afterCursor !== undefined ? undefined : (params.from ?? \"latest\")\n if (params.afterCursor !== undefined || startMode === \"earliest\") {\n const initial = this.readForward(storedStream.records, {\n afterCursor: params.afterCursor,\n names: params.names,\n keys: params.keys,\n }).records\n this.deliver(subscription, initial)\n }\n\n return () => {\n this.subscriptions.delete(subscription)\n }\n }\n\n private getOrCreateStream(projectId: string, stream: BrokerStreamDefinition): StoredStream {\n const key = streamKey(projectId, stream.id)\n let storedStream = this.streams.get(key)\n if (!storedStream) {\n storedStream = {\n definition: stream,\n nextSequence: 1n,\n records: [],\n retainedBytes: 0,\n }\n this.streams.set(key, storedStream)\n }\n this.applyRetention(storedStream)\n return storedStream\n }\n\n private getEnsuredStream(projectId: string, streamId: string): StoredStream {\n const storedStream = this.streams.get(streamKey(projectId, streamId))\n if (!storedStream) {\n throw new BrokerError(\n `stream '${streamId}' has not been ensured for project '${projectId}'. Call ensureStream() before append or subscribe.`\n )\n }\n return storedStream\n }\n\n private applyRetention(storedStream: StoredStream): void {\n const { retention } = storedStream.definition\n if (!retention) {\n return\n }\n\n let removeCount = 0\n const records = storedStream.records\n\n if (retention.maxAgeMs !== undefined) {\n if (retention.maxAgeMs <= 0) {\n removeCount = records.length\n } else {\n const oldestAllowed = Date.now() - retention.maxAgeMs\n // Records are appended in chronological order, so we only need to find\n // the first record that is still in range and slice off the prefix —\n // avoids walking the entire retained set on every sweep.\n let firstInRange = 0\n while (\n firstInRange < records.length &&\n records[firstInRange].publishedAtMs < oldestAllowed\n ) {\n firstInRange += 1\n }\n removeCount = Math.max(removeCount, firstInRange)\n }\n }\n\n if (retention.maxRecords !== undefined) {\n if (retention.maxRecords <= 0) {\n removeCount = records.length\n } else if (records.length - removeCount > retention.maxRecords) {\n removeCount = records.length - retention.maxRecords\n }\n }\n\n if (retention.maxBytes !== undefined) {\n if (retention.maxBytes <= 0) {\n removeCount = records.length\n } else {\n let bytes = storedStream.retainedBytes\n for (let index = 0; index < removeCount; index += 1) {\n bytes -= records[index]!.byteSize\n }\n while (removeCount < records.length && bytes > retention.maxBytes) {\n bytes -= records[removeCount]!.byteSize\n removeCount += 1\n }\n }\n }\n\n if (removeCount > 0) {\n for (let index = 0; index < removeCount; index += 1) {\n storedStream.retainedBytes -= records[index]!.byteSize\n }\n storedStream.records = records.slice(removeCount)\n }\n }\n\n private assertCursorInRetainedRange(\n storedStream: StoredStream,\n afterCursor: string | undefined\n ): void {\n if (afterCursor === undefined) {\n return\n }\n\n const requestedNextSequence = BigInt(afterCursor) + 1n\n const firstRecord = storedStream.records[0]\n const firstAvailableSequence =\n firstRecord === undefined ? storedStream.nextSequence : BigInt(firstRecord.cursor)\n\n if (requestedNextSequence < firstAvailableSequence) {\n throw new BrokerCursorExpiredError(\n `afterCursor '${afterCursor}' is outside the retained range for stream '${storedStream.definition.id}'. ` +\n `The next requested cursor sequence is '${requestedNextSequence}', but the earliest ` +\n `available cursor sequence is '${firstAvailableSequence}'.`\n )\n }\n }\n\n private assertTailCursorInRetainedRange(\n storedStream: StoredStream,\n beforeCursor: string | undefined\n ): void {\n if (beforeCursor === undefined || storedStream.records.length === 0) {\n return\n }\n const firstAvailableSequence = BigInt(storedStream.records[0]!.cursor)\n if (BigInt(beforeCursor) < firstAvailableSequence) {\n throw new BrokerCursorExpiredError(\n `beforeCursor '${beforeCursor}' is outside the retained range for stream '${storedStream.definition.id}'. ` +\n `The earliest available cursor sequence is '${firstAvailableSequence}'.`\n )\n }\n }\n\n private notify(projectId: string, streamId: string, records: readonly StoredRecord[]): void {\n for (const subscription of this.subscriptions) {\n if (subscription.projectId !== projectId || subscription.streamId !== streamId) {\n continue\n }\n this.deliver(\n subscription,\n this.readForward(records, {\n names: subscription.names,\n keys: subscription.keys,\n }).records\n )\n }\n }\n\n private deliver(subscription: Subscription, records: readonly BrokerRecord[]): void {\n if (records.length === 0) {\n return\n }\n\n try {\n subscription.handler(records)\n } catch {\n // Broker subscriptions are live fan-out; handler failures should not break publishers.\n }\n }\n\n private readForward(\n records: readonly StoredRecord[],\n filters: {\n afterCursor?: string\n limit?: number\n names?: readonly string[]\n keys?: readonly string[]\n }\n ): BrokerPage {\n const names = filters.names && filters.names.length > 0 ? new Set(filters.names) : undefined\n const keys = filters.keys && filters.keys.length > 0 ? new Set(filters.keys) : undefined\n const afterCursor = filters.afterCursor ? BigInt(filters.afterCursor) : undefined\n const result: BrokerRecord[] = []\n let cursor = filters.afterCursor\n let stoppedAt = records.length\n\n for (let index = 0; index < records.length; index += 1) {\n const record = records[index]!\n if (afterCursor !== undefined && BigInt(record.cursor) <= afterCursor) {\n continue\n }\n cursor = record.cursor\n if (!matchesFilters(record, names, keys)) {\n continue\n }\n result.push(toBrokerRecord(record))\n if (filters.limit !== undefined && result.length >= filters.limit) {\n stoppedAt = index + 1\n break\n }\n }\n\n return {\n records: result,\n cursor,\n hasMore: records.slice(stoppedAt).some((record) => matchesFilters(record, names, keys)),\n }\n }\n\n private readBackward(\n records: readonly StoredRecord[],\n filters: {\n beforeCursor?: string\n limit?: number\n names?: readonly string[]\n keys?: readonly string[]\n }\n ): BrokerPage {\n const names = filters.names && filters.names.length > 0 ? new Set(filters.names) : undefined\n const keys = filters.keys && filters.keys.length > 0 ? new Set(filters.keys) : undefined\n const beforeCursor = filters.beforeCursor ? BigInt(filters.beforeCursor) : undefined\n const reversed: BrokerRecord[] = []\n let cursor = filters.beforeCursor\n let stoppedAt = -1\n\n for (let index = records.length - 1; index >= 0; index -= 1) {\n const record = records[index]!\n if (beforeCursor !== undefined && BigInt(record.cursor) >= beforeCursor) {\n continue\n }\n cursor = record.cursor\n if (!matchesFilters(record, names, keys)) {\n continue\n }\n reversed.push(toBrokerRecord(record))\n if (filters.limit !== undefined && reversed.length >= filters.limit) {\n stoppedAt = index - 1\n break\n }\n }\n\n return {\n records: reversed.reverse(),\n cursor,\n hasMore:\n stoppedAt >= 0 &&\n records.slice(0, stoppedAt + 1).some((record) => matchesFilters(record, names, keys)),\n }\n }\n}\n\nfunction matchesFilters(\n record: BrokerRecord,\n names: ReadonlySet<string> | undefined,\n keys: ReadonlySet<string> | undefined\n): boolean {\n return (\n (!names || (!!record.name && names.has(record.name))) &&\n (!keys || (!!record.key && keys.has(record.key)))\n )\n}\n\nfunction streamKey(projectId: string, streamId: string): string {\n return `${projectId}\\0${streamId}`\n}\n\nfunction toBrokerRecord(record: StoredRecord): BrokerRecord {\n return {\n streamId: record.streamId,\n cursor: record.cursor,\n name: record.name,\n key: record.key,\n payload: record.payload,\n publishedAt: record.publishedAt,\n }\n}\n\nfunction utf8Bytes(value: string): number {\n return new TextEncoder().encode(value).byteLength\n}\n\nfunction assertProjectId(projectId: string): void {\n if (projectId.trim().length === 0) {\n throw new BrokerError(\"projectId must be a non-empty string\")\n }\n}\n\nfunction assertStream(stream: BrokerStreamDefinition): void {\n if (stream.id.trim().length === 0) {\n throw new BrokerError(\"stream.id must be a non-empty string\")\n }\n}\n\nfunction assertStreamId(streamId: string): void {\n if (streamId.trim().length === 0) {\n throw new BrokerError(\"streamId must be a non-empty string\")\n }\n}\n\nfunction assertBrokerPayload(payload: unknown): void {\n const reason = getInvalidJsonValueReason(payload, \"record.payload\")\n if (reason) {\n throw new BrokerError(`record.payload must be a JSON value; ${reason}`)\n }\n}\n\nfunction assertCursor(cursor: string | undefined): void {\n if (cursor === undefined) {\n return\n }\n\n try {\n if (BigInt(cursor) < 0n) {\n throw new BrokerError(\"cursor must be non-negative\")\n }\n } catch (error) {\n if (error instanceof BrokerError) {\n throw error\n }\n throw new BrokerError(\"cursor must be a numeric in-memory broker cursor\", {\n cause: error,\n })\n }\n}\n"
7
+ ],
8
+ "mappings": "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",
9
+ "debugId": "A0B0E9E6D3113F2A64756E2164756E21",
10
+ "names": []
11
+ }
@@ -142,7 +142,8 @@ function createAgentOperationScope(target, scope) {
142
142
  return createOperationScopedFacade(target, scope, {
143
143
  threads: createOperationScopedFacade(target.threads, scope),
144
144
  runs: createOperationScopedFacade(target.runs, scope),
145
- messages: createOperationScopedFacade(target.messages, scope)
145
+ messages: createOperationScopedFacade(target.messages, scope),
146
+ checkpoints: createOperationScopedFacade(target.checkpoints, scope)
146
147
  });
147
148
  }
148
149
  function createOntologyOperationScope(target, scope) {
@@ -155,7 +156,8 @@ function createOntologyOperationScope(target, scope) {
155
156
  }
156
157
  function createWorkflowRunOperationScope(target, scope) {
157
158
  return createOperationScopedFacade(target, scope, {
158
- nodes: createOperationScopedFacade(target.nodes, scope)
159
+ nodes: createOperationScopedFacade(target.nodes, scope),
160
+ agentNodes: createOperationScopedFacade(target.agentNodes, scope)
159
161
  });
160
162
  }
161
163
  function isAsyncFunction(value) {
@@ -167,4 +169,4 @@ function isAsyncGeneratorFunction(value) {
167
169
 
168
170
  export { createStorageOperationScope, createOperationScopedFacade, decorateOperationScopedMethodForTesting, createAuthOperationScope, createAgentOperationScope, createOntologyOperationScope, createWorkflowRunOperationScope };
169
171
 
170
- //# debugId=E8631615DFADF55464756E2164756E21
172
+ //# debugId=199E470686426F9664756E2164756E21