@sixb/core 0.1.1 → 0.1.2

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 (1133) 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 +35 -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 +10 -0
  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 +1 -1
  29. package/dist/agents/errors.d.ts.map +1 -1
  30. package/dist/agents/execution.d.ts +45 -0
  31. package/dist/agents/execution.d.ts.map +1 -0
  32. package/dist/agents/index.d.ts +6 -6
  33. package/dist/agents/index.d.ts.map +1 -1
  34. package/dist/agents/index.js +64 -16
  35. package/dist/agents/index.js.map +1 -1
  36. package/dist/agents/prompt.d.ts.map +1 -1
  37. package/dist/agents/request.d.ts +6 -2
  38. package/dist/agents/request.d.ts.map +1 -1
  39. package/dist/agents/streams.d.ts +29 -3
  40. package/dist/agents/streams.d.ts.map +1 -1
  41. package/dist/agents/streams.js +22 -3
  42. package/dist/agents/streams.js.map +1 -1
  43. package/dist/agents/types.d.ts +2 -2
  44. package/dist/agents/types.d.ts.map +1 -1
  45. package/dist/agents/validation.d.ts +3 -3
  46. package/dist/agents/validation.d.ts.map +1 -1
  47. package/dist/auth/attribution.d.ts +17 -0
  48. package/dist/auth/attribution.d.ts.map +1 -0
  49. package/dist/auth/index.d.ts +1 -0
  50. package/dist/auth/index.d.ts.map +1 -1
  51. package/dist/auth/index.js +9 -5
  52. package/dist/auth/index.js.map +1 -1
  53. package/dist/auth/runtime.d.ts +4 -4
  54. package/dist/auth/runtime.d.ts.map +1 -1
  55. package/dist/authorization/decision.d.ts +24 -11
  56. package/dist/authorization/decision.d.ts.map +1 -1
  57. package/dist/authorization/grant-kinds.d.ts +2 -1
  58. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  59. package/dist/authorization/index.d.ts +1 -1
  60. package/dist/authorization/index.d.ts.map +1 -1
  61. package/dist/authorization/index.js +8 -4
  62. package/dist/authorization/index.js.map +1 -1
  63. package/dist/blob-storage/browser.js +2 -2
  64. package/dist/blob-storage/execution.d.ts +16 -0
  65. package/dist/blob-storage/execution.d.ts.map +1 -0
  66. package/dist/blob-storage/index.js +3 -3
  67. package/dist/bootstrap/discovery.d.ts +90 -24
  68. package/dist/bootstrap/discovery.d.ts.map +1 -1
  69. package/dist/bootstrap/index.d.ts +2 -1
  70. package/dist/bootstrap/index.d.ts.map +1 -1
  71. package/dist/bootstrap/index.js +60 -60
  72. package/dist/bootstrap/index.js.map +1 -1
  73. package/dist/broker/in-memory.d.ts.map +1 -1
  74. package/dist/broker/index.js +2 -2
  75. package/dist/broker/types.d.ts +5 -0
  76. package/dist/broker/types.d.ts.map +1 -1
  77. package/dist/chunk-0172wgm9.js +333 -0
  78. package/dist/chunk-0172wgm9.js.map +11 -0
  79. package/dist/chunk-0k4avqr2.js +317 -0
  80. package/dist/chunk-0k4avqr2.js.map +11 -0
  81. package/dist/chunk-0mbx247x.js +2922 -0
  82. package/dist/chunk-0mbx247x.js.map +43 -0
  83. package/dist/chunk-34bqh420.js +1168 -0
  84. package/dist/chunk-34bqh420.js.map +23 -0
  85. package/dist/{chunk-y2ygpd0m.js → chunk-3j7573mj.js} +2 -2
  86. package/dist/{chunk-y2ygpd0m.js.map → chunk-3j7573mj.js.map} +2 -2
  87. package/dist/{chunk-md9jbrm9.js → chunk-4gz41why.js} +1 -1
  88. package/dist/chunk-4x43bkbp.js +55 -0
  89. package/dist/chunk-4x43bkbp.js.map +11 -0
  90. package/dist/{chunk-xqbtf4wn.js → chunk-57r1cpxx.js} +3 -2
  91. package/dist/{chunk-xqbtf4wn.js.map → chunk-57r1cpxx.js.map} +3 -3
  92. package/dist/chunk-57zpb99z.js +194 -0
  93. package/dist/chunk-57zpb99z.js.map +10 -0
  94. package/dist/{chunk-nbywkytr.js → chunk-5egfka8j.js} +13 -33
  95. package/dist/chunk-5egfka8j.js.map +15 -0
  96. package/dist/chunk-5gd7tpv6.js +28 -0
  97. package/dist/chunk-5gd7tpv6.js.map +11 -0
  98. package/dist/{chunk-867jxh7c.js → chunk-5sz8ta9r.js} +6 -295
  99. package/dist/chunk-5sz8ta9r.js.map +16 -0
  100. package/dist/chunk-62c7t4jc.js +27 -0
  101. package/dist/chunk-62c7t4jc.js.map +11 -0
  102. package/dist/chunk-63te770v.js.map +1 -1
  103. package/dist/chunk-663csy96.js +34 -0
  104. package/dist/chunk-663csy96.js.map +10 -0
  105. package/dist/{chunk-xz5g49bp.js → chunk-6gjqgd3d.js} +3 -1
  106. package/dist/chunk-6gjqgd3d.js.map +11 -0
  107. package/dist/chunk-7pc8b818.js +128 -0
  108. package/dist/chunk-7pc8b818.js.map +13 -0
  109. package/dist/{chunk-sb0shdvv.js → chunk-85j5ybfj.js} +1 -1
  110. package/dist/{chunk-sb0shdvv.js.map → chunk-85j5ybfj.js.map} +2 -2
  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-8ryen3p3.js +118 -0
  115. package/dist/chunk-8ryen3p3.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-bct7hmfc.js +402 -0
  122. package/dist/chunk-bct7hmfc.js.map +14 -0
  123. package/dist/chunk-bh6k3nc6.js +164 -0
  124. package/dist/chunk-bh6k3nc6.js.map +12 -0
  125. package/dist/{chunk-t72dvahb.js → chunk-bhxaq2nn.js} +61 -44
  126. package/dist/chunk-bhxaq2nn.js.map +12 -0
  127. package/dist/{chunk-avppcgt6.js → chunk-c6qd89g5.js} +241 -144
  128. package/dist/chunk-c6qd89g5.js.map +15 -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-dsrkgtnh.js +50 -0
  133. package/dist/chunk-dsrkgtnh.js.map +10 -0
  134. package/dist/{chunk-50kv63vj.js → chunk-dysw7nsm.js} +118 -26
  135. package/dist/chunk-dysw7nsm.js.map +14 -0
  136. package/dist/chunk-ezake7g1.js +32 -0
  137. package/dist/chunk-ezake7g1.js.map +11 -0
  138. package/dist/{chunk-yn947ck3.js → chunk-f2rt4vkh.js} +48 -29
  139. package/dist/chunk-f2rt4vkh.js.map +14 -0
  140. package/dist/{chunk-hb9xcx9c.js → chunk-fmx1sz2h.js} +117 -56
  141. package/dist/chunk-fmx1sz2h.js.map +15 -0
  142. package/dist/chunk-g9t3kdtx.js +90 -0
  143. package/dist/chunk-g9t3kdtx.js.map +10 -0
  144. package/dist/{chunk-f6kyyeef.js → chunk-ghteq96b.js} +8 -8
  145. package/dist/{chunk-f6kyyeef.js.map → chunk-ghteq96b.js.map} +4 -4
  146. package/dist/chunk-h9kxd41f.js +271 -0
  147. package/dist/chunk-h9kxd41f.js.map +11 -0
  148. package/dist/chunk-htq0qh7z.js +59 -0
  149. package/dist/chunk-htq0qh7z.js.map +11 -0
  150. package/dist/{chunk-xt6qx9sh.js → chunk-jaj13078.js} +121 -9
  151. package/dist/chunk-jaj13078.js.map +38 -0
  152. package/dist/{chunk-p7vj8xgb.js → chunk-k9pts48t.js} +81 -58
  153. package/dist/chunk-k9pts48t.js.map +35 -0
  154. package/dist/chunk-n8herkry.js +3294 -0
  155. package/dist/chunk-n8herkry.js.map +35 -0
  156. package/dist/chunk-nf4r78r4.js +44 -0
  157. package/dist/chunk-nf4r78r4.js.map +10 -0
  158. package/dist/{chunk-b1bqvhpe.js → chunk-nnyp53zt.js} +14 -34
  159. package/dist/chunk-nnyp53zt.js.map +13 -0
  160. package/dist/chunk-nten49ta.js +404 -0
  161. package/dist/chunk-nten49ta.js.map +12 -0
  162. package/dist/chunk-qvybnnpe.js +137 -0
  163. package/dist/chunk-qvybnnpe.js.map +10 -0
  164. package/dist/{chunk-53s4asfm.js → chunk-rnshztfq.js} +2 -2
  165. package/dist/chunk-sa4340y1.js +607 -0
  166. package/dist/chunk-sa4340y1.js.map +14 -0
  167. package/dist/{chunk-rjqm6ksg.js → chunk-st4xgxey.js} +583 -251
  168. package/dist/chunk-st4xgxey.js.map +45 -0
  169. package/dist/{chunk-be9vm29v.js → chunk-t8t39h7v.js} +1 -1
  170. package/dist/{chunk-be9vm29v.js.map → chunk-t8t39h7v.js.map} +3 -3
  171. package/dist/chunk-t9xghkva.js +28 -0
  172. package/dist/chunk-t9xghkva.js.map +10 -0
  173. package/dist/chunk-vp1vc6ee.js +35 -0
  174. package/dist/chunk-vp1vc6ee.js.map +11 -0
  175. package/dist/{chunk-8kv2sez0.js → chunk-vybf6pkp.js} +1 -1
  176. package/dist/{chunk-4tvj3ate.js → chunk-wtmzkcht.js} +4 -3
  177. package/dist/chunk-wtmzkcht.js.map +11 -0
  178. package/dist/{chunk-v5c085yp.js → chunk-xhy826cz.js} +3 -2
  179. package/dist/chunk-xhy826cz.js.map +10 -0
  180. package/dist/chunk-xkthy56g.js +33 -0
  181. package/dist/chunk-xkthy56g.js.map +11 -0
  182. package/dist/{chunk-raq0x6bd.js → chunk-ys1nse2v.js} +2175 -381
  183. package/dist/chunk-ys1nse2v.js.map +56 -0
  184. package/dist/{chunk-6zrpewy4.js → chunk-z3zp0bj1.js} +1 -1
  185. package/dist/chunk-zcnhxkvd.js +7 -0
  186. package/dist/chunk-zcnhxkvd.js.map +10 -0
  187. package/dist/chunk-zg9yryhz.js +252 -0
  188. package/dist/chunk-zg9yryhz.js.map +12 -0
  189. package/dist/chunk-zqqz8052.js +3 -0
  190. package/dist/{storage/projection-runs/lifecycle.js.map → chunk-zqqz8052.js.map} +1 -1
  191. package/dist/{chunk-hz8m927w.js → chunk-zqysyfjt.js} +1 -1
  192. package/dist/connectors/builders.d.ts +2 -1
  193. package/dist/connectors/builders.d.ts.map +1 -1
  194. package/dist/connectors/connections/authorizations.d.ts +64 -0
  195. package/dist/connectors/connections/authorizations.d.ts.map +1 -0
  196. package/dist/connectors/connections/capability.d.ts +7 -0
  197. package/dist/connectors/connections/capability.d.ts.map +1 -0
  198. package/dist/connectors/connections/command-context.d.ts +23 -0
  199. package/dist/connectors/connections/command-context.d.ts.map +1 -0
  200. package/dist/connectors/connections/contracts.d.ts +127 -0
  201. package/dist/connectors/connections/contracts.d.ts.map +1 -0
  202. package/dist/connectors/connections/credential-codec.d.ts +15 -0
  203. package/dist/connectors/connections/credential-codec.d.ts.map +1 -0
  204. package/dist/connectors/connections/credential-mutations.d.ts +63 -0
  205. package/dist/connectors/connections/credential-mutations.d.ts.map +1 -0
  206. package/dist/connectors/connections/execution.d.ts +20 -0
  207. package/dist/connectors/connections/execution.d.ts.map +1 -0
  208. package/dist/connectors/connections/internal.d.ts +5 -0
  209. package/dist/connectors/connections/internal.d.ts.map +1 -0
  210. package/dist/connectors/connections/internal.js +16 -0
  211. package/dist/connectors/connections/internal.js.map +9 -0
  212. package/dist/connectors/connections/provider-operation.d.ts +7 -0
  213. package/dist/connectors/connections/provider-operation.d.ts.map +1 -0
  214. package/dist/connectors/connections/request.d.ts +84 -0
  215. package/dist/connectors/connections/request.d.ts.map +1 -0
  216. package/dist/connectors/connections/runs.d.ts +51 -0
  217. package/dist/connectors/connections/runs.d.ts.map +1 -0
  218. package/dist/connectors/connections/service.d.ts +52 -0
  219. package/dist/connectors/connections/service.d.ts.map +1 -0
  220. package/dist/connectors/connections/storage-boundary.d.ts +3 -0
  221. package/dist/connectors/connections/storage-boundary.d.ts.map +1 -0
  222. package/dist/connectors/connections/tokens.d.ts +32 -0
  223. package/dist/connectors/connections/tokens.d.ts.map +1 -0
  224. package/dist/connectors/connections/validation.d.ts +27 -0
  225. package/dist/connectors/connections/validation.d.ts.map +1 -0
  226. package/dist/connectors/connections/views.d.ts +7 -0
  227. package/dist/connectors/connections/views.d.ts.map +1 -0
  228. package/dist/connectors/credentials.d.ts +25 -0
  229. package/dist/connectors/credentials.d.ts.map +1 -0
  230. package/dist/connectors/errors.d.ts +35 -3
  231. package/dist/connectors/errors.d.ts.map +1 -1
  232. package/dist/connectors/execution.d.ts +19 -0
  233. package/dist/connectors/execution.d.ts.map +1 -0
  234. package/dist/connectors/index.d.ts +5 -3
  235. package/dist/connectors/index.d.ts.map +1 -1
  236. package/dist/connectors/service.d.ts +23 -0
  237. package/dist/connectors/service.d.ts.map +1 -0
  238. package/dist/connectors/types.d.ts +94 -2
  239. package/dist/connectors/types.d.ts.map +1 -1
  240. package/dist/datasets/execution.d.ts +8 -0
  241. package/dist/datasets/execution.d.ts.map +1 -0
  242. package/dist/error-reporting/capability.d.ts +4 -49
  243. package/dist/error-reporting/capability.d.ts.map +1 -1
  244. package/dist/error-reporting/internal.d.ts +2 -2
  245. package/dist/error-reporting/internal.d.ts.map +1 -1
  246. package/dist/error-reporting/internal.js +10 -4
  247. package/dist/error-reporting/internal.js.map +1 -1
  248. package/dist/error-reporting/reporter.d.ts +4 -1
  249. package/dist/error-reporting/reporter.d.ts.map +1 -1
  250. package/dist/error-reporting/reports.d.ts +64 -0
  251. package/dist/error-reporting/reports.d.ts.map +1 -0
  252. package/dist/error-reporting/types.d.ts +88 -34
  253. package/dist/error-reporting/types.d.ts.map +1 -1
  254. package/dist/errors/catalog.d.ts +141 -0
  255. package/dist/errors/catalog.d.ts.map +1 -0
  256. package/dist/errors/internal.d.ts +68 -0
  257. package/dist/errors/internal.d.ts.map +1 -0
  258. package/dist/errors/internal.js +29 -0
  259. package/dist/errors/internal.js.map +9 -0
  260. package/dist/errors/types.d.ts +20 -0
  261. package/dist/errors/types.d.ts.map +1 -0
  262. package/dist/events/definitions.d.ts +0 -1
  263. package/dist/events/definitions.d.ts.map +1 -1
  264. package/dist/events/execution.d.ts +13 -0
  265. package/dist/events/execution.d.ts.map +1 -0
  266. package/dist/events/index.d.ts +3 -2
  267. package/dist/events/index.d.ts.map +1 -1
  268. package/dist/events/index.js +10 -8
  269. package/dist/events/index.js.map +1 -1
  270. package/dist/events/outbox-dispatcher.d.ts +4 -2
  271. package/dist/events/outbox-dispatcher.d.ts.map +1 -1
  272. package/dist/events/{runtime.d.ts → service.d.ts} +13 -14
  273. package/dist/events/service.d.ts.map +1 -0
  274. package/dist/events/types/pipelines.d.ts +4 -1
  275. package/dist/events/types/pipelines.d.ts.map +1 -1
  276. package/dist/events/types/syncs.d.ts +3 -0
  277. package/dist/events/types/syncs.d.ts.map +1 -1
  278. package/dist/events/types/workflows.d.ts +4 -2
  279. package/dist/events/types/workflows.d.ts.map +1 -1
  280. package/dist/execution/agent.d.ts +42 -0
  281. package/dist/execution/agent.d.ts.map +1 -0
  282. package/dist/execution/agent.js +70 -0
  283. package/dist/execution/agent.js.map +9 -0
  284. package/dist/execution/authorization.d.ts +60 -0
  285. package/dist/execution/authorization.d.ts.map +1 -0
  286. package/dist/execution/dispatch.d.ts +8 -0
  287. package/dist/execution/dispatch.d.ts.map +1 -0
  288. package/dist/execution/durable.d.ts +37 -0
  289. package/dist/execution/durable.d.ts.map +1 -0
  290. package/dist/execution/index.d.ts +2 -0
  291. package/dist/execution/index.d.ts.map +1 -0
  292. package/dist/execution/primitive.d.ts +21 -0
  293. package/dist/execution/primitive.d.ts.map +1 -0
  294. package/dist/execution/primitive.js +88 -0
  295. package/dist/execution/primitive.js.map +10 -0
  296. package/dist/execution/request.d.ts +38 -0
  297. package/dist/execution/request.d.ts.map +1 -0
  298. package/dist/execution/request.js +97 -0
  299. package/dist/execution/request.js.map +10 -0
  300. package/dist/execution/scopes.d.ts +30 -0
  301. package/dist/execution/scopes.d.ts.map +1 -0
  302. package/dist/execution/types.d.ts +111 -0
  303. package/dist/execution/types.d.ts.map +1 -0
  304. package/dist/index.d.ts +30 -13
  305. package/dist/index.d.ts.map +1 -1
  306. package/dist/index.js +130 -105
  307. package/dist/index.js.map +1 -1
  308. package/dist/json.d.ts +0 -1
  309. package/dist/json.d.ts.map +1 -1
  310. package/dist/lake-storage/index.js +5 -5
  311. package/dist/logging/execution.d.ts +9 -0
  312. package/dist/logging/execution.d.ts.map +1 -0
  313. package/dist/logging/index.d.ts +1 -1
  314. package/dist/logging/index.d.ts.map +1 -1
  315. package/dist/logging/index.js +8 -8
  316. package/dist/logging/index.js.map +1 -1
  317. package/dist/logging/{runtime.d.ts → service.d.ts} +7 -7
  318. package/dist/logging/{runtime.d.ts.map → service.d.ts.map} +1 -1
  319. package/dist/logging/types.js +2 -2
  320. package/dist/materialization/events.d.ts +1 -0
  321. package/dist/materialization/events.d.ts.map +1 -1
  322. package/dist/materialization/index.d.ts +1 -1
  323. package/dist/materialization/index.d.ts.map +1 -1
  324. package/dist/materialization/index.js +2 -2
  325. package/dist/materialization/model.d.ts +26 -17
  326. package/dist/materialization/model.d.ts.map +1 -1
  327. package/dist/materializer/edits/commit.d.ts +2 -1
  328. package/dist/materializer/edits/commit.d.ts.map +1 -1
  329. package/dist/materializer/edits/load-state.d.ts +1 -1
  330. package/dist/materializer/edits/load-state.d.ts.map +1 -1
  331. package/dist/materializer/edits/operations.d.ts +1 -13
  332. package/dist/materializer/edits/operations.d.ts.map +1 -1
  333. package/dist/materializer/edits/plan.d.ts +2 -1
  334. package/dist/materializer/edits/plan.d.ts.map +1 -1
  335. package/dist/materializer/edits/working-state.d.ts +36 -8
  336. package/dist/materializer/edits/working-state.d.ts.map +1 -1
  337. package/dist/materializer/effective/build-events.d.ts +1 -0
  338. package/dist/materializer/effective/build-events.d.ts.map +1 -1
  339. package/dist/materializer/effective/diff.d.ts +7 -0
  340. package/dist/materializer/effective/diff.d.ts.map +1 -1
  341. package/dist/materializer/effective/load-state.d.ts +0 -2
  342. package/dist/materializer/effective/load-state.d.ts.map +1 -1
  343. package/dist/materializer/effective/resolve.d.ts +17 -2
  344. package/dist/materializer/effective/resolve.d.ts.map +1 -1
  345. package/dist/materializer/execution/commit-lifecycle.d.ts +2 -2
  346. package/dist/materializer/execution/commit-lifecycle.d.ts.map +1 -1
  347. package/dist/materializer/execution/plan-stream.d.ts.map +1 -1
  348. package/dist/materializer/execution/scope.d.ts +26 -0
  349. package/dist/materializer/execution/scope.d.ts.map +1 -0
  350. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  351. package/dist/materializer/execution/work-records.d.ts +6 -5
  352. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  353. package/dist/materializer/index.d.ts +2 -2
  354. package/dist/materializer/index.d.ts.map +1 -1
  355. package/dist/materializer/index.js +30 -18
  356. package/dist/materializer/index.js.map +1 -1
  357. package/dist/materializer/materializer.d.ts +37 -5
  358. package/dist/materializer/materializer.d.ts.map +1 -1
  359. package/dist/materializer/projections/finish-run.d.ts +2 -1
  360. package/dist/materializer/projections/finish-run.d.ts.map +1 -1
  361. package/dist/materializer/projections/replace.d.ts +2 -1
  362. package/dist/materializer/projections/replace.d.ts.map +1 -1
  363. package/dist/materializer/projections/replacement-plan.d.ts +1 -0
  364. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  365. package/dist/materializer/shared/batching.d.ts.map +1 -1
  366. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  367. package/dist/materializer/telemetry/append.d.ts +2 -1
  368. package/dist/materializer/telemetry/append.d.ts.map +1 -1
  369. package/dist/materializer/telemetry/plan.d.ts +7 -1
  370. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  371. package/dist/objects/action/request.d.ts +3 -3
  372. package/dist/objects/action/request.d.ts.map +1 -1
  373. package/dist/objects/context/index.d.ts +1 -1
  374. package/dist/objects/context/index.d.ts.map +1 -1
  375. package/dist/objects/context/types.d.ts +5 -0
  376. package/dist/objects/context/types.d.ts.map +1 -1
  377. package/dist/objects/execution.d.ts +100 -0
  378. package/dist/objects/execution.d.ts.map +1 -0
  379. package/dist/objects/index.js +37 -24
  380. package/dist/objects/index.js.map +1 -1
  381. package/dist/objects/materializer-adapter.d.ts +1 -1
  382. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  383. package/dist/objects/query/executor.d.ts +3 -8
  384. package/dist/objects/query/executor.d.ts.map +1 -1
  385. package/dist/objects/query/index.d.ts +2 -2
  386. package/dist/objects/query/index.d.ts.map +1 -1
  387. package/dist/objects/query/index.js +9 -13
  388. package/dist/objects/query/index.js.map +1 -1
  389. package/dist/objects/query/planner.d.ts +0 -3
  390. package/dist/objects/query/planner.d.ts.map +1 -1
  391. package/dist/objects/sdk/object-handle.d.ts +2 -2
  392. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  393. package/dist/objects/sdk/object-set.d.ts +2 -0
  394. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  395. package/dist/objects/sdk/runtime-query-executor.d.ts +2 -0
  396. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  397. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  398. package/dist/objects/service/action-service.d.ts +3 -2
  399. package/dist/objects/service/action-service.d.ts.map +1 -1
  400. package/dist/objects/service/list-service.d.ts +1 -1
  401. package/dist/objects/telemetry/history.d.ts +2 -0
  402. package/dist/objects/telemetry/history.d.ts.map +1 -1
  403. package/dist/objects/telemetry/write-batch.d.ts.map +1 -1
  404. package/dist/ontology/index.d.ts +1 -1
  405. package/dist/ontology/index.d.ts.map +1 -1
  406. package/dist/ontology/index.js +5 -5
  407. package/dist/ontology/internal.js +4 -4
  408. package/dist/ontology/registry.d.ts +15 -2
  409. package/dist/ontology/registry.d.ts.map +1 -1
  410. package/dist/pipelines/execution.d.ts +19 -0
  411. package/dist/pipelines/execution.d.ts.map +1 -0
  412. package/dist/pipelines/index.d.ts +1 -0
  413. package/dist/pipelines/index.d.ts.map +1 -1
  414. package/dist/pipelines/index.js +66 -0
  415. package/dist/pipelines/index.js.map +9 -0
  416. package/dist/pipelines/request.d.ts +6 -9
  417. package/dist/pipelines/request.d.ts.map +1 -1
  418. package/dist/pipelines/run-dispatch.d.ts +47 -0
  419. package/dist/pipelines/run-dispatch.d.ts.map +1 -0
  420. package/dist/projections/builders.d.ts +0 -2
  421. package/dist/projections/builders.d.ts.map +1 -1
  422. package/dist/projections/capability.d.ts +7 -0
  423. package/dist/projections/capability.d.ts.map +1 -0
  424. package/dist/projections/execution.d.ts +19 -0
  425. package/dist/projections/execution.d.ts.map +1 -0
  426. package/dist/projections/index.d.ts +3 -1
  427. package/dist/projections/index.d.ts.map +1 -1
  428. package/dist/projections/internal.d.ts +4 -10
  429. package/dist/projections/internal.d.ts.map +1 -1
  430. package/dist/projections/internal.js +42 -6
  431. package/dist/projections/internal.js.map +1 -1
  432. package/dist/projections/ownership.d.ts +2 -2
  433. package/dist/projections/ownership.d.ts.map +1 -1
  434. package/dist/projections/registry.d.ts +21 -11
  435. package/dist/projections/registry.d.ts.map +1 -1
  436. package/dist/projections/revision.d.ts +2 -2
  437. package/dist/projections/revision.d.ts.map +1 -1
  438. package/dist/projections/run-dispatch.d.ts +37 -0
  439. package/dist/projections/run-dispatch.d.ts.map +1 -0
  440. package/dist/projections/run-id.d.ts +3 -0
  441. package/dist/projections/run-id.d.ts.map +1 -0
  442. package/dist/projections/types.d.ts +3 -0
  443. package/dist/projections/types.d.ts.map +1 -1
  444. package/dist/projections/validation.d.ts +2 -2
  445. package/dist/projections/validation.d.ts.map +1 -1
  446. package/dist/queues/in-memory.d.ts +11 -10
  447. package/dist/queues/in-memory.d.ts.map +1 -1
  448. package/dist/queues/index.d.ts +1 -1
  449. package/dist/queues/index.d.ts.map +1 -1
  450. package/dist/queues/index.js +1 -1
  451. package/dist/queues/types.d.ts +52 -42
  452. package/dist/queues/types.d.ts.map +1 -1
  453. package/dist/rules/execution.d.ts +14 -0
  454. package/dist/rules/execution.d.ts.map +1 -0
  455. package/dist/rules/index.d.ts +1 -1
  456. package/dist/rules/index.d.ts.map +1 -1
  457. package/dist/rules/validation.d.ts +1 -2
  458. package/dist/rules/validation.d.ts.map +1 -1
  459. package/dist/runtime/ai-usage.d.ts +8 -0
  460. package/dist/runtime/ai-usage.d.ts.map +1 -0
  461. package/dist/runtime/create.d.ts +7 -5
  462. package/dist/runtime/create.d.ts.map +1 -1
  463. package/dist/runtime/definitions.d.ts +35 -0
  464. package/dist/runtime/definitions.d.ts.map +1 -0
  465. package/dist/runtime/host.d.ts +123 -0
  466. package/dist/runtime/host.d.ts.map +1 -0
  467. package/dist/runtime/index.d.ts +6 -5
  468. package/dist/runtime/index.d.ts.map +1 -1
  469. package/dist/runtime/internal.d.ts +4 -0
  470. package/dist/runtime/internal.d.ts.map +1 -1
  471. package/dist/runtime/internal.js +6 -2
  472. package/dist/runtime/internal.js.map +1 -1
  473. package/dist/runtime/ontology-mutations.d.ts +4 -2
  474. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  475. package/dist/runtime/resolve-definitions.d.ts +42 -0
  476. package/dist/runtime/resolve-definitions.d.ts.map +1 -0
  477. package/dist/runtime/sixb.d.ts +43 -219
  478. package/dist/runtime/sixb.d.ts.map +1 -1
  479. package/dist/runtime/types.d.ts +16 -216
  480. package/dist/runtime/types.d.ts.map +1 -1
  481. package/dist/scheduler/index.d.ts +1 -1
  482. package/dist/scheduler/index.d.ts.map +1 -1
  483. package/dist/scheduler/index.js +3 -6
  484. package/dist/scheduler/index.js.map +1 -1
  485. package/dist/scheduler/runtime.d.ts +7 -2
  486. package/dist/scheduler/runtime.d.ts.map +1 -1
  487. package/dist/schedules/execution.d.ts +6 -0
  488. package/dist/schedules/execution.d.ts.map +1 -0
  489. package/dist/schedules/index.js +9 -7
  490. package/dist/schedules/index.js.map +1 -1
  491. package/dist/schedules/types.d.ts +1 -3
  492. package/dist/schedules/types.d.ts.map +1 -1
  493. package/dist/security/every.d.ts +4 -1
  494. package/dist/security/every.d.ts.map +1 -1
  495. package/dist/security/grants.d.ts +4 -1
  496. package/dist/security/grants.d.ts.map +1 -1
  497. package/dist/security/index.d.ts +3 -1
  498. package/dist/security/index.d.ts.map +1 -1
  499. package/dist/security/registry.d.ts +42 -0
  500. package/dist/security/registry.d.ts.map +1 -0
  501. package/dist/security/types.d.ts +7 -12
  502. package/dist/security/types.d.ts.map +1 -1
  503. package/dist/security/validation.d.ts +2 -0
  504. package/dist/security/validation.d.ts.map +1 -1
  505. package/dist/storage/action-runs/failure.d.ts +7 -0
  506. package/dist/storage/action-runs/failure.d.ts.map +1 -0
  507. package/dist/storage/action-runs/failure.js +14 -0
  508. package/dist/storage/action-runs/failure.js.map +9 -0
  509. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  510. package/dist/storage/action-runs/in-memory.d.ts +3 -1
  511. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  512. package/dist/storage/action-runs/index.d.ts +2 -1
  513. package/dist/storage/action-runs/index.d.ts.map +1 -1
  514. package/dist/storage/action-runs/provider.d.ts +10 -0
  515. package/dist/storage/action-runs/provider.d.ts.map +1 -0
  516. package/dist/storage/action-runs/provider.js +13 -0
  517. package/dist/storage/action-runs/provider.js.map +9 -0
  518. package/dist/storage/action-runs/types.d.ts +37 -18
  519. package/dist/storage/action-runs/types.d.ts.map +1 -1
  520. package/dist/storage/agents/errors.d.ts +1 -1
  521. package/dist/storage/agents/errors.d.ts.map +1 -1
  522. package/dist/storage/agents/in-memory.d.ts +4 -1
  523. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  524. package/dist/storage/agents/index.d.ts +2 -2
  525. package/dist/storage/agents/index.d.ts.map +1 -1
  526. package/dist/storage/agents/provider.d.ts +10 -0
  527. package/dist/storage/agents/provider.d.ts.map +1 -0
  528. package/dist/storage/agents/provider.js +17 -0
  529. package/dist/storage/agents/provider.js.map +9 -0
  530. package/dist/storage/agents/types.d.ts +13 -22
  531. package/dist/storage/agents/types.d.ts.map +1 -1
  532. package/dist/storage/ai-usage/errors.d.ts +8 -0
  533. package/dist/storage/ai-usage/errors.d.ts.map +1 -0
  534. package/dist/storage/ai-usage/in-memory.d.ts +28 -0
  535. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -0
  536. package/dist/storage/ai-usage/index.d.ts +8 -0
  537. package/dist/storage/ai-usage/index.d.ts.map +1 -0
  538. package/dist/storage/ai-usage/record.d.ts +6 -0
  539. package/dist/storage/ai-usage/record.d.ts.map +1 -0
  540. package/dist/storage/ai-usage/types.d.ts +89 -0
  541. package/dist/storage/ai-usage/types.d.ts.map +1 -0
  542. package/dist/storage/ai-usage/usage.d.ts +11 -0
  543. package/dist/storage/ai-usage/usage.d.ts.map +1 -0
  544. package/dist/storage/auth/types.d.ts +1 -0
  545. package/dist/storage/auth/types.d.ts.map +1 -1
  546. package/dist/storage/connector-connections/errors.d.ts +12 -0
  547. package/dist/storage/connector-connections/errors.d.ts.map +1 -0
  548. package/dist/storage/connector-connections/in-memory.d.ts +81 -0
  549. package/dist/storage/connector-connections/in-memory.d.ts.map +1 -0
  550. package/dist/storage/connector-connections/index.d.ts +7 -0
  551. package/dist/storage/connector-connections/index.d.ts.map +1 -0
  552. package/dist/storage/connector-connections/provider/authorizations.d.ts +20 -0
  553. package/dist/storage/connector-connections/provider/authorizations.d.ts.map +1 -0
  554. package/dist/storage/connector-connections/provider/connections.d.ts +17 -0
  555. package/dist/storage/connector-connections/provider/connections.d.ts.map +1 -0
  556. package/dist/storage/connector-connections/provider/runs.d.ts +14 -0
  557. package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -0
  558. package/dist/storage/connector-connections/provider/shared.d.ts +74 -0
  559. package/dist/storage/connector-connections/provider/shared.d.ts.map +1 -0
  560. package/dist/storage/connector-connections/provider.d.ts +49 -0
  561. package/dist/storage/connector-connections/provider.d.ts.map +1 -0
  562. package/dist/storage/connector-connections/provider.js +1025 -0
  563. package/dist/storage/connector-connections/provider.js.map +14 -0
  564. package/dist/storage/connector-connections/types.d.ts +402 -0
  565. package/dist/storage/connector-connections/types.d.ts.map +1 -0
  566. package/dist/storage/executions/errors.d.ts +8 -0
  567. package/dist/storage/executions/errors.d.ts.map +1 -0
  568. package/dist/storage/executions/in-memory.d.ts +21 -0
  569. package/dist/storage/executions/in-memory.d.ts.map +1 -0
  570. package/dist/storage/executions/index.d.ts +5 -0
  571. package/dist/storage/executions/index.d.ts.map +1 -0
  572. package/dist/storage/executions/provider.d.ts +29 -0
  573. package/dist/storage/executions/provider.d.ts.map +1 -0
  574. package/dist/storage/executions/provider.js +208 -0
  575. package/dist/storage/executions/provider.js.map +10 -0
  576. package/dist/storage/executions/run-link.d.ts +24 -0
  577. package/dist/storage/executions/run-link.d.ts.map +1 -0
  578. package/dist/storage/executions/types.d.ts +62 -0
  579. package/dist/storage/executions/types.d.ts.map +1 -0
  580. package/dist/storage/executions/validation.d.ts +13 -0
  581. package/dist/storage/executions/validation.d.ts.map +1 -0
  582. package/dist/storage/in-memory/index.d.ts +20 -5
  583. package/dist/storage/in-memory/index.d.ts.map +1 -1
  584. package/dist/storage/index.d.ts +28 -17
  585. package/dist/storage/index.d.ts.map +1 -1
  586. package/dist/storage/index.js +92 -29
  587. package/dist/storage/index.js.map +1 -1
  588. package/dist/storage/ontology/commits.d.ts +1 -0
  589. package/dist/storage/ontology/commits.d.ts.map +1 -1
  590. package/dist/storage/ontology/in-memory/index.d.ts +1 -0
  591. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  592. package/dist/storage/ontology/in-memory/materializations-state.d.ts +3 -2
  593. package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
  594. package/dist/storage/ontology/in-memory/materializations-work.d.ts +2 -2
  595. package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
  596. package/dist/storage/ontology/in-memory/materializations.d.ts +3 -1
  597. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  598. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -2
  599. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  600. package/dist/storage/ontology/index.d.ts +3 -2
  601. package/dist/storage/ontology/index.d.ts.map +1 -1
  602. package/dist/storage/ontology/materializations.d.ts +50 -5
  603. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  604. package/dist/storage/ontology/outbox.d.ts +8 -2
  605. package/dist/storage/ontology/outbox.d.ts.map +1 -1
  606. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  607. package/dist/storage/ontology/provider.d.ts +5 -22
  608. package/dist/storage/ontology/provider.d.ts.map +1 -1
  609. package/dist/storage/ontology/provider.js +6 -7
  610. package/dist/storage/ontology/provider.js.map +1 -1
  611. package/dist/storage/operation-scope.d.ts.map +1 -1
  612. package/dist/storage/operation-scope.js +1 -1
  613. package/dist/storage/pipeline-runs/idempotency.d.ts +3 -0
  614. package/dist/storage/pipeline-runs/idempotency.d.ts.map +1 -0
  615. package/dist/storage/pipeline-runs/in-memory.d.ts +5 -1
  616. package/dist/storage/pipeline-runs/in-memory.d.ts.map +1 -1
  617. package/dist/storage/pipeline-runs/index.d.ts +3 -1
  618. package/dist/storage/pipeline-runs/index.d.ts.map +1 -1
  619. package/dist/storage/pipeline-runs/provider.d.ts +10 -0
  620. package/dist/storage/pipeline-runs/provider.d.ts.map +1 -0
  621. package/dist/storage/pipeline-runs/provider.js +11 -0
  622. package/dist/storage/pipeline-runs/provider.js.map +9 -0
  623. package/dist/storage/pipeline-runs/types.d.ts +30 -14
  624. package/dist/storage/pipeline-runs/types.d.ts.map +1 -1
  625. package/dist/storage/projection-runs/in-memory.d.ts +8 -3
  626. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  627. package/dist/storage/projection-runs/index.d.ts +2 -2
  628. package/dist/storage/projection-runs/index.d.ts.map +1 -1
  629. package/dist/storage/projection-runs/lifecycle.d.ts +14 -8
  630. package/dist/storage/projection-runs/lifecycle.d.ts.map +1 -1
  631. package/dist/storage/projection-runs/provider.d.ts +13 -0
  632. package/dist/storage/projection-runs/provider.d.ts.map +1 -0
  633. package/dist/storage/projection-runs/{lifecycle.js → provider.js} +15 -4
  634. package/dist/storage/projection-runs/provider.js.map +9 -0
  635. package/dist/storage/projection-runs/types.d.ts +28 -11
  636. package/dist/storage/projection-runs/types.d.ts.map +1 -1
  637. package/dist/storage/run-listing.d.ts +8 -9
  638. package/dist/storage/run-listing.d.ts.map +1 -1
  639. package/dist/storage/sync-runs/idempotency.d.ts +3 -0
  640. package/dist/storage/sync-runs/idempotency.d.ts.map +1 -0
  641. package/dist/storage/sync-runs/in-memory.d.ts +5 -1
  642. package/dist/storage/sync-runs/in-memory.d.ts.map +1 -1
  643. package/dist/storage/sync-runs/index.d.ts +3 -1
  644. package/dist/storage/sync-runs/index.d.ts.map +1 -1
  645. package/dist/storage/sync-runs/provider.d.ts +10 -0
  646. package/dist/storage/sync-runs/provider.d.ts.map +1 -0
  647. package/dist/storage/sync-runs/provider.js +11 -0
  648. package/dist/storage/sync-runs/provider.js.map +9 -0
  649. package/dist/storage/sync-runs/types.d.ts +28 -11
  650. package/dist/storage/sync-runs/types.d.ts.map +1 -1
  651. package/dist/storage/types.d.ts +20 -15
  652. package/dist/storage/types.d.ts.map +1 -1
  653. package/dist/storage/webhook-runs/errors.d.ts +3 -0
  654. package/dist/storage/webhook-runs/errors.d.ts.map +1 -1
  655. package/dist/storage/webhook-runs/in-memory.d.ts +13 -1
  656. package/dist/storage/webhook-runs/in-memory.d.ts.map +1 -1
  657. package/dist/storage/webhook-runs/index.d.ts +3 -2
  658. package/dist/storage/webhook-runs/index.d.ts.map +1 -1
  659. package/dist/storage/webhook-runs/provider.d.ts +10 -0
  660. package/dist/storage/webhook-runs/provider.d.ts.map +1 -0
  661. package/dist/storage/webhook-runs/provider.js +11 -0
  662. package/dist/storage/webhook-runs/provider.js.map +9 -0
  663. package/dist/storage/webhook-runs/types.d.ts +37 -11
  664. package/dist/storage/webhook-runs/types.d.ts.map +1 -1
  665. package/dist/storage/workflow-runs/in-memory.d.ts +6 -2
  666. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  667. package/dist/storage/workflow-runs/index.d.ts +2 -1
  668. package/dist/storage/workflow-runs/index.d.ts.map +1 -1
  669. package/dist/storage/workflow-runs/provider.d.ts +19 -0
  670. package/dist/storage/workflow-runs/provider.d.ts.map +1 -0
  671. package/dist/storage/workflow-runs/provider.js +19 -0
  672. package/dist/storage/workflow-runs/provider.js.map +9 -0
  673. package/dist/storage/workflow-runs/types.d.ts +28 -30
  674. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  675. package/dist/syncs/execution.d.ts +18 -0
  676. package/dist/syncs/execution.d.ts.map +1 -0
  677. package/dist/syncs/index.d.ts +3 -1
  678. package/dist/syncs/index.d.ts.map +1 -1
  679. package/dist/syncs/index.js +65 -0
  680. package/dist/syncs/index.js.map +9 -0
  681. package/dist/syncs/request.d.ts +6 -16
  682. package/dist/syncs/request.d.ts.map +1 -1
  683. package/dist/syncs/run-dispatch.d.ts +47 -0
  684. package/dist/syncs/run-dispatch.d.ts.map +1 -0
  685. package/dist/syncs/sources.d.ts +8 -0
  686. package/dist/syncs/sources.d.ts.map +1 -0
  687. package/dist/syncs/types.d.ts +16 -9
  688. package/dist/syncs/types.d.ts.map +1 -1
  689. package/dist/testing/action-execution.d.ts +12 -0
  690. package/dist/testing/action-execution.d.ts.map +1 -0
  691. package/dist/testing/agent-execution.d.ts +14 -0
  692. package/dist/testing/agent-execution.d.ts.map +1 -0
  693. package/dist/testing/agent-storage-contract.d.ts +10 -3
  694. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  695. package/dist/testing/ai-usage-storage-contract.d.ts +13 -0
  696. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -0
  697. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  698. package/dist/testing/broker-contract.d.ts.map +1 -1
  699. package/dist/testing/connector-connection-storage-contract.d.ts +16 -0
  700. package/dist/testing/connector-connection-storage-contract.d.ts.map +1 -0
  701. package/dist/testing/execution-storage-contract.d.ts +15 -0
  702. package/dist/testing/execution-storage-contract.d.ts.map +1 -0
  703. package/dist/testing/execution.d.ts +23 -0
  704. package/dist/testing/execution.d.ts.map +1 -0
  705. package/dist/testing/index.d.ts +12 -0
  706. package/dist/testing/index.d.ts.map +1 -1
  707. package/dist/testing/index.js +4088 -1556
  708. package/dist/testing/index.js.map +25 -13
  709. package/dist/testing/materializer-fixture.d.ts +2 -2
  710. package/dist/testing/materializer-fixture.d.ts.map +1 -1
  711. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  712. package/dist/testing/ontology-contract-fixture.d.ts +1 -0
  713. package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
  714. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  715. package/dist/testing/pipeline-execution.d.ts +16 -0
  716. package/dist/testing/pipeline-execution.d.ts.map +1 -0
  717. package/dist/testing/projection-execution.d.ts +20 -0
  718. package/dist/testing/projection-execution.d.ts.map +1 -0
  719. package/dist/testing/projection-run-storage-contract.d.ts +9 -4
  720. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  721. package/dist/testing/queues-contract.d.ts.map +1 -1
  722. package/dist/testing/sync-execution.d.ts +16 -0
  723. package/dist/testing/sync-execution.d.ts.map +1 -0
  724. package/dist/testing/webhook-execution.d.ts +12 -0
  725. package/dist/testing/webhook-execution.d.ts.map +1 -0
  726. package/dist/testing/webhook-run-storage-contract.d.ts +11 -0
  727. package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -0
  728. package/dist/testing/workflow-execution.d.ts +23 -0
  729. package/dist/testing/workflow-execution.d.ts.map +1 -0
  730. package/dist/webhooks/index.d.ts +2 -1
  731. package/dist/webhooks/index.d.ts.map +1 -1
  732. package/dist/webhooks/internal.d.ts +2 -0
  733. package/dist/webhooks/internal.d.ts.map +1 -0
  734. package/dist/webhooks/internal.js +150 -0
  735. package/dist/webhooks/internal.js.map +10 -0
  736. package/dist/webhooks/registry.d.ts +18 -4
  737. package/dist/webhooks/registry.d.ts.map +1 -1
  738. package/dist/webhooks/run-admission.d.ts +25 -0
  739. package/dist/webhooks/run-admission.d.ts.map +1 -0
  740. package/dist/webhooks/types.d.ts +8 -5
  741. package/dist/webhooks/types.d.ts.map +1 -1
  742. package/dist/workers/index.js +18 -19
  743. package/dist/workers/index.js.map +4 -4
  744. package/dist/workers/queue-delivery.d.ts +7 -7
  745. package/dist/workers/queue-delivery.d.ts.map +1 -1
  746. package/dist/workers/queue-worker.d.ts +30 -11
  747. package/dist/workers/queue-worker.d.ts.map +1 -1
  748. package/dist/workflows/execution.d.ts +49 -0
  749. package/dist/workflows/execution.d.ts.map +1 -0
  750. package/dist/workflows/failure.d.ts +28 -0
  751. package/dist/workflows/failure.d.ts.map +1 -0
  752. package/dist/workflows/index.d.ts +4 -2
  753. package/dist/workflows/index.d.ts.map +1 -1
  754. package/dist/workflows/index.js +64 -36
  755. package/dist/workflows/index.js.map +1 -1
  756. package/dist/workflows/request.d.ts +2 -1
  757. package/dist/workflows/request.d.ts.map +1 -1
  758. package/dist/workflows/run-dispatch.d.ts +59 -0
  759. package/dist/workflows/run-dispatch.d.ts.map +1 -0
  760. package/dist/workflows/types.d.ts +38 -8
  761. package/dist/workflows/types.d.ts.map +1 -1
  762. package/package.json +107 -5
  763. package/src/actions/commit-edits.ts +0 -3
  764. package/src/actions/execution.ts +83 -0
  765. package/src/actions/index.ts +1 -1
  766. package/src/actions/registry.ts +22 -10
  767. package/src/actions/request.ts +55 -177
  768. package/src/actions/run-dispatch.ts +276 -0
  769. package/src/actions/types/context.ts +2 -4
  770. package/src/actions/validation.ts +2 -2
  771. package/src/agents/adapters.ts +7 -3
  772. package/src/agents/authority.ts +189 -0
  773. package/src/agents/dispatch.ts +1 -6
  774. package/src/agents/errors.ts +2 -0
  775. package/src/agents/execution.ts +254 -0
  776. package/src/agents/index.ts +15 -3
  777. package/src/agents/prompt.ts +15 -3
  778. package/src/agents/request.ts +153 -13
  779. package/src/agents/streams.ts +150 -3
  780. package/src/agents/types.ts +2 -4
  781. package/src/agents/validation.ts +3 -3
  782. package/src/auth/attribution.ts +48 -0
  783. package/src/auth/index.ts +1 -0
  784. package/src/auth/runtime.ts +5 -5
  785. package/src/authorization/decision.ts +75 -14
  786. package/src/authorization/grant-kinds.ts +9 -0
  787. package/src/authorization/index.ts +2 -0
  788. package/src/blob-storage/execution.ts +78 -0
  789. package/src/bootstrap/discovery.ts +88 -268
  790. package/src/bootstrap/index.ts +2 -13
  791. package/src/broker/in-memory.ts +8 -1
  792. package/src/broker/types.ts +5 -0
  793. package/src/connectors/builders.ts +37 -2
  794. package/src/connectors/connections/authorizations.ts +646 -0
  795. package/src/connectors/connections/capability.ts +59 -0
  796. package/src/connectors/connections/command-context.ts +98 -0
  797. package/src/connectors/connections/contracts.ts +208 -0
  798. package/src/connectors/connections/credential-codec.ts +48 -0
  799. package/src/connectors/connections/credential-mutations.ts +574 -0
  800. package/src/connectors/connections/execution.ts +138 -0
  801. package/src/connectors/connections/internal.ts +17 -0
  802. package/src/connectors/connections/provider-operation.ts +41 -0
  803. package/src/connectors/connections/request.ts +447 -0
  804. package/src/connectors/connections/runs.ts +702 -0
  805. package/src/connectors/connections/service.ts +644 -0
  806. package/src/connectors/connections/storage-boundary.ts +13 -0
  807. package/src/connectors/connections/tokens.ts +292 -0
  808. package/src/connectors/connections/validation.ts +316 -0
  809. package/src/connectors/connections/views.ts +37 -0
  810. package/src/connectors/credentials.ts +149 -0
  811. package/src/connectors/errors.ts +111 -3
  812. package/src/connectors/execution.ts +157 -0
  813. package/src/connectors/index.ts +26 -2
  814. package/src/connectors/service.ts +142 -0
  815. package/src/connectors/types.ts +156 -7
  816. package/src/datasets/execution.ts +24 -0
  817. package/src/error-reporting/capability.ts +33 -106
  818. package/src/error-reporting/internal.ts +3 -1
  819. package/src/error-reporting/reporter.ts +19 -3
  820. package/src/error-reporting/reports.ts +172 -0
  821. package/src/error-reporting/types.ts +97 -43
  822. package/src/errors/catalog.ts +149 -0
  823. package/src/errors/internal.ts +322 -0
  824. package/src/errors/types.ts +21 -0
  825. package/src/events/definitions.ts +0 -4
  826. package/src/events/execution.ts +45 -0
  827. package/src/events/index.ts +15 -14
  828. package/src/events/outbox-dispatcher.ts +53 -18
  829. package/src/events/{runtime.ts → service.ts} +19 -23
  830. package/src/events/types/pipelines.ts +4 -1
  831. package/src/events/types/syncs.ts +3 -0
  832. package/src/events/types/workflows.ts +4 -2
  833. package/src/execution/agent.ts +130 -0
  834. package/src/execution/authorization.ts +409 -0
  835. package/src/execution/dispatch.ts +7 -0
  836. package/src/execution/durable.ts +193 -0
  837. package/src/execution/index.ts +12 -0
  838. package/src/execution/primitive.ts +50 -0
  839. package/src/execution/request.ts +109 -0
  840. package/src/execution/scopes.ts +198 -0
  841. package/src/execution/types.ts +113 -0
  842. package/src/http/api-routes.ts +3 -3
  843. package/src/index.ts +109 -9
  844. package/src/json.ts +0 -4
  845. package/src/logging/execution.ts +28 -0
  846. package/src/logging/index.ts +4 -4
  847. package/src/logging/{runtime.ts → service.ts} +7 -7
  848. package/src/materialization/events.ts +1 -0
  849. package/src/materialization/index.ts +2 -0
  850. package/src/materialization/model.ts +30 -18
  851. package/src/materializer/README.md +9 -13
  852. package/src/materializer/edits/commit.ts +85 -28
  853. package/src/materializer/edits/load-state.ts +79 -16
  854. package/src/materializer/edits/operations.ts +72 -36
  855. package/src/materializer/edits/plan.ts +95 -22
  856. package/src/materializer/edits/working-state.ts +86 -55
  857. package/src/materializer/effective/build-events.ts +2 -0
  858. package/src/materializer/effective/diff.ts +22 -0
  859. package/src/materializer/effective/load-state.ts +0 -31
  860. package/src/materializer/effective/resolve.ts +62 -0
  861. package/src/materializer/execution/commit-lifecycle.ts +9 -1
  862. package/src/materializer/execution/plan-stream.ts +33 -9
  863. package/src/materializer/execution/scope.ts +95 -0
  864. package/src/materializer/execution/work-executor.ts +6 -2
  865. package/src/materializer/execution/work-records.ts +39 -6
  866. package/src/materializer/index.ts +9 -1
  867. package/src/materializer/materializer.ts +67 -5
  868. package/src/materializer/projections/finish-run.ts +29 -11
  869. package/src/materializer/projections/replace.ts +55 -22
  870. package/src/materializer/projections/replacement-plan.ts +37 -7
  871. package/src/materializer/shared/batching.ts +4 -1
  872. package/src/materializer/shared/normalize.ts +0 -19
  873. package/src/materializer/telemetry/append.ts +57 -26
  874. package/src/materializer/telemetry/plan.ts +15 -6
  875. package/src/objects/action/request.ts +5 -5
  876. package/src/objects/context/index.ts +1 -0
  877. package/src/objects/context/types.ts +6 -0
  878. package/src/objects/execution.ts +346 -0
  879. package/src/objects/materializer-adapter.ts +1 -23
  880. package/src/objects/query/executor.ts +15 -29
  881. package/src/objects/query/index.ts +1 -2
  882. package/src/objects/query/planner.ts +0 -6
  883. package/src/objects/sdk/object-handle.ts +2 -2
  884. package/src/objects/sdk/object-set.ts +17 -7
  885. package/src/objects/sdk/runtime-query-executor.ts +9 -2
  886. package/src/objects/sdk/telemetry-channel.ts +5 -1
  887. package/src/objects/service/action-service.ts +5 -2
  888. package/src/objects/service/list-service.ts +1 -1
  889. package/src/objects/telemetry/history.ts +8 -3
  890. package/src/objects/telemetry/write-batch.ts +0 -2
  891. package/src/ontology/index.ts +6 -1
  892. package/src/ontology/registry.ts +16 -2
  893. package/src/pipelines/execution.ts +105 -0
  894. package/src/pipelines/index.ts +7 -0
  895. package/src/pipelines/request.ts +32 -26
  896. package/src/pipelines/run-dispatch.ts +308 -0
  897. package/src/projections/builders.ts +0 -9
  898. package/src/projections/capability.ts +37 -0
  899. package/src/projections/execution.ts +85 -0
  900. package/src/projections/index.ts +2 -1
  901. package/src/projections/internal.ts +17 -60
  902. package/src/projections/ownership.ts +2 -2
  903. package/src/projections/registry.ts +26 -11
  904. package/src/projections/revision.ts +7 -5
  905. package/src/projections/run-dispatch.ts +497 -0
  906. package/src/projections/run-id.ts +20 -0
  907. package/src/projections/types.ts +12 -0
  908. package/src/projections/validation.ts +3 -3
  909. package/src/queues/in-memory.ts +37 -11
  910. package/src/queues/index.ts +9 -2
  911. package/src/queues/types.ts +70 -45
  912. package/src/rules/execution.ts +49 -0
  913. package/src/rules/index.ts +0 -1
  914. package/src/rules/validation.ts +2 -6
  915. package/src/runtime/ai-usage.ts +17 -0
  916. package/src/runtime/create.ts +28 -68
  917. package/src/runtime/definitions.ts +44 -0
  918. package/src/runtime/host.ts +377 -0
  919. package/src/runtime/index.ts +5 -13
  920. package/src/runtime/internal.ts +12 -0
  921. package/src/runtime/ontology-mutations.ts +5 -3
  922. package/src/runtime/resolve-definitions.ts +238 -0
  923. package/src/runtime/sixb.ts +95 -822
  924. package/src/runtime/types.ts +17 -290
  925. package/src/scheduler/index.ts +1 -1
  926. package/src/scheduler/runtime.ts +37 -6
  927. package/src/schedules/execution.ts +14 -0
  928. package/src/schedules/types.ts +0 -8
  929. package/src/security/every.ts +4 -0
  930. package/src/security/grants.ts +13 -1
  931. package/src/security/index.ts +3 -1
  932. package/src/security/registry.ts +107 -0
  933. package/src/security/types.ts +8 -12
  934. package/src/security/validation.ts +7 -0
  935. package/src/storage/action-runs/failure.ts +64 -0
  936. package/src/storage/action-runs/idempotency.ts +3 -1
  937. package/src/storage/action-runs/in-memory.ts +39 -9
  938. package/src/storage/action-runs/index.ts +3 -0
  939. package/src/storage/action-runs/provider.ts +25 -0
  940. package/src/storage/action-runs/types.ts +61 -27
  941. package/src/storage/agents/errors.ts +1 -0
  942. package/src/storage/agents/in-memory.ts +49 -11
  943. package/src/storage/agents/index.ts +2 -1
  944. package/src/storage/agents/provider.ts +27 -0
  945. package/src/storage/agents/types.ts +19 -19
  946. package/src/storage/ai-usage/errors.ts +13 -0
  947. package/src/storage/ai-usage/in-memory.ts +162 -0
  948. package/src/storage/ai-usage/index.ts +21 -0
  949. package/src/storage/ai-usage/record.ts +74 -0
  950. package/src/storage/ai-usage/types.ts +102 -0
  951. package/src/storage/ai-usage/usage.ts +104 -0
  952. package/src/storage/auth/types.ts +1 -0
  953. package/src/storage/connector-connections/errors.ts +24 -0
  954. package/src/storage/connector-connections/in-memory.ts +1377 -0
  955. package/src/storage/connector-connections/index.ts +66 -0
  956. package/src/storage/connector-connections/provider/authorizations.ts +446 -0
  957. package/src/storage/connector-connections/provider/connections.ts +291 -0
  958. package/src/storage/connector-connections/provider/runs.ts +369 -0
  959. package/src/storage/connector-connections/provider/shared.ts +342 -0
  960. package/src/storage/connector-connections/provider.ts +219 -0
  961. package/src/storage/connector-connections/types.ts +546 -0
  962. package/src/storage/executions/errors.ts +21 -0
  963. package/src/storage/executions/in-memory.ts +75 -0
  964. package/src/storage/executions/index.ts +16 -0
  965. package/src/storage/executions/provider.ts +292 -0
  966. package/src/storage/executions/run-link.ts +70 -0
  967. package/src/storage/executions/types.ts +49 -0
  968. package/src/storage/executions/validation.ts +370 -0
  969. package/src/storage/in-memory/index.ts +50 -16
  970. package/src/storage/index.ts +154 -15
  971. package/src/storage/ontology/commits.ts +1 -0
  972. package/src/storage/ontology/in-memory/index.ts +2 -0
  973. package/src/storage/ontology/in-memory/materializations-finalization.ts +2 -1
  974. package/src/storage/ontology/in-memory/materializations-state.ts +10 -0
  975. package/src/storage/ontology/in-memory/materializations-work.ts +2 -1
  976. package/src/storage/ontology/in-memory/materializations.ts +131 -9
  977. package/src/storage/ontology/in-memory/outbox.ts +1 -1
  978. package/src/storage/ontology/in-memory/shared-state.ts +12 -1
  979. package/src/storage/ontology/index.ts +6 -0
  980. package/src/storage/ontology/materializations.ts +50 -4
  981. package/src/storage/ontology/outbox.ts +13 -2
  982. package/src/storage/ontology/provider-header-validation.ts +1 -0
  983. package/src/storage/ontology/provider-work.ts +33 -14
  984. package/src/storage/ontology/provider.ts +72 -52
  985. package/src/storage/operation-scope.ts +1 -0
  986. package/src/storage/pipeline-runs/idempotency.ts +14 -0
  987. package/src/storage/pipeline-runs/in-memory.ts +88 -8
  988. package/src/storage/pipeline-runs/index.ts +5 -1
  989. package/src/storage/pipeline-runs/provider.ts +25 -0
  990. package/src/storage/pipeline-runs/types.ts +37 -14
  991. package/src/storage/projection-runs/in-memory.ts +93 -24
  992. package/src/storage/projection-runs/index.ts +4 -0
  993. package/src/storage/projection-runs/lifecycle.ts +165 -36
  994. package/src/storage/projection-runs/provider.ts +34 -0
  995. package/src/storage/projection-runs/types.ts +34 -11
  996. package/src/storage/run-listing.ts +22 -13
  997. package/src/storage/sync-runs/idempotency.ts +18 -0
  998. package/src/storage/sync-runs/in-memory.ts +90 -7
  999. package/src/storage/sync-runs/index.ts +4 -1
  1000. package/src/storage/sync-runs/provider.ts +25 -0
  1001. package/src/storage/sync-runs/types.ts +35 -11
  1002. package/src/storage/types.ts +44 -17
  1003. package/src/storage/webhook-runs/errors.ts +14 -0
  1004. package/src/storage/webhook-runs/in-memory.ts +84 -9
  1005. package/src/storage/webhook-runs/index.ts +5 -1
  1006. package/src/storage/webhook-runs/provider.ts +30 -0
  1007. package/src/storage/webhook-runs/types.ts +52 -11
  1008. package/src/storage/workflow-runs/in-memory.ts +89 -55
  1009. package/src/storage/workflow-runs/index.ts +2 -0
  1010. package/src/storage/workflow-runs/provider.ts +70 -0
  1011. package/src/storage/workflow-runs/types.ts +36 -25
  1012. package/src/syncs/builders.ts +2 -2
  1013. package/src/syncs/execution.ts +78 -0
  1014. package/src/syncs/index.ts +13 -0
  1015. package/src/syncs/request.ts +32 -43
  1016. package/src/syncs/run-dispatch.ts +312 -0
  1017. package/src/syncs/sources.ts +20 -0
  1018. package/src/syncs/types.ts +32 -8
  1019. package/src/testing/action-execution.ts +61 -0
  1020. package/src/testing/agent-execution.ts +81 -0
  1021. package/src/testing/agent-storage-contract.ts +158 -63
  1022. package/src/testing/ai-usage-storage-contract.ts +528 -0
  1023. package/src/testing/auth-storage-contract.ts +17 -1
  1024. package/src/testing/broker-contract.ts +16 -1
  1025. package/src/testing/connector-connection-storage-contract.ts +1052 -0
  1026. package/src/testing/execution-storage-contract.ts +435 -0
  1027. package/src/testing/execution.ts +48 -0
  1028. package/src/testing/index.ts +52 -0
  1029. package/src/testing/materializer-fixture.ts +11 -3
  1030. package/src/testing/materializer-storage-contract.ts +213 -11
  1031. package/src/testing/ontology-contract-fixture.ts +35 -2
  1032. package/src/testing/ontology-storage-contract.ts +75 -14
  1033. package/src/testing/pipeline-execution.ts +64 -0
  1034. package/src/testing/projection-execution.ts +98 -0
  1035. package/src/testing/projection-run-storage-contract.ts +215 -29
  1036. package/src/testing/queues-contract.ts +40 -51
  1037. package/src/testing/sync-execution.ts +61 -0
  1038. package/src/testing/webhook-execution.ts +47 -0
  1039. package/src/testing/webhook-run-storage-contract.ts +240 -0
  1040. package/src/testing/workflow-execution.ts +77 -0
  1041. package/src/webhooks/index.ts +2 -1
  1042. package/src/webhooks/internal.ts +5 -0
  1043. package/src/webhooks/registry.ts +60 -36
  1044. package/src/webhooks/run-admission.ts +172 -0
  1045. package/src/webhooks/types.ts +8 -5
  1046. package/src/workers/queue-delivery.ts +25 -22
  1047. package/src/workers/queue-worker.ts +62 -32
  1048. package/src/workflows/execution.ts +292 -0
  1049. package/src/workflows/failure.ts +63 -0
  1050. package/src/workflows/index.ts +10 -1
  1051. package/src/workflows/request.ts +39 -118
  1052. package/src/workflows/run-dispatch.ts +359 -0
  1053. package/src/workflows/types.ts +39 -8
  1054. package/dist/actions/runtime.d.ts +0 -11
  1055. package/dist/actions/runtime.d.ts.map +0 -1
  1056. package/dist/agents/runtime.d.ts +0 -41
  1057. package/dist/agents/runtime.d.ts.map +0 -1
  1058. package/dist/chunk-4hwxq5e6.js +0 -49
  1059. package/dist/chunk-4hwxq5e6.js.map +0 -10
  1060. package/dist/chunk-4tvj3ate.js.map +0 -11
  1061. package/dist/chunk-50kv63vj.js.map +0 -12
  1062. package/dist/chunk-86459jn0.js +0 -1091
  1063. package/dist/chunk-86459jn0.js.map +0 -22
  1064. package/dist/chunk-867jxh7c.js.map +0 -19
  1065. package/dist/chunk-9k3hgv8h.js +0 -352
  1066. package/dist/chunk-9k3hgv8h.js.map +0 -13
  1067. package/dist/chunk-avppcgt6.js.map +0 -14
  1068. package/dist/chunk-b1bqvhpe.js.map +0 -13
  1069. package/dist/chunk-b5dp7gaf.js +0 -1092
  1070. package/dist/chunk-b5dp7gaf.js.map +0 -26
  1071. package/dist/chunk-bh8bwma3.js +0 -37
  1072. package/dist/chunk-bh8bwma3.js.map +0 -10
  1073. package/dist/chunk-btcsywk4.js +0 -985
  1074. package/dist/chunk-btcsywk4.js.map +0 -15
  1075. package/dist/chunk-exrfbt2d.js +0 -354
  1076. package/dist/chunk-exrfbt2d.js.map +0 -17
  1077. package/dist/chunk-hb9xcx9c.js.map +0 -14
  1078. package/dist/chunk-k25jm1x5.js +0 -102
  1079. package/dist/chunk-k25jm1x5.js.map +0 -10
  1080. package/dist/chunk-k6j72mtt.js +0 -9
  1081. package/dist/chunk-k6j72mtt.js.map +0 -10
  1082. package/dist/chunk-m9w0artv.js +0 -554
  1083. package/dist/chunk-m9w0artv.js.map +0 -13
  1084. package/dist/chunk-nbywkytr.js.map +0 -16
  1085. package/dist/chunk-p7vj8xgb.js.map +0 -34
  1086. package/dist/chunk-raq0x6bd.js.map +0 -48
  1087. package/dist/chunk-rgzed50y.js +0 -1445
  1088. package/dist/chunk-rgzed50y.js.map +0 -22
  1089. package/dist/chunk-rjqm6ksg.js.map +0 -44
  1090. package/dist/chunk-t72dvahb.js.map +0 -12
  1091. package/dist/chunk-v5c085yp.js.map +0 -10
  1092. package/dist/chunk-xt6qx9sh.js.map +0 -36
  1093. package/dist/chunk-xz5g49bp.js.map +0 -11
  1094. package/dist/chunk-ya6brh8a.js.map +0 -11
  1095. package/dist/chunk-yn947ck3.js.map +0 -14
  1096. package/dist/connectors/runtime.d.ts +0 -13
  1097. package/dist/connectors/runtime.d.ts.map +0 -1
  1098. package/dist/events/runtime.d.ts.map +0 -1
  1099. package/dist/objects/contexts.d.ts +0 -45
  1100. package/dist/objects/contexts.d.ts.map +0 -1
  1101. package/dist/objects/helpers.d.ts +0 -7
  1102. package/dist/objects/helpers.d.ts.map +0 -1
  1103. package/dist/runtime/scoped.d.ts +0 -158
  1104. package/dist/runtime/scoped.d.ts.map +0 -1
  1105. package/dist/security/runtime.d.ts +0 -16
  1106. package/dist/security/runtime.d.ts.map +0 -1
  1107. package/dist/storage/webhook-deliveries/in-memory.d.ts +0 -18
  1108. package/dist/storage/webhook-deliveries/in-memory.d.ts.map +0 -1
  1109. package/dist/storage/webhook-deliveries/index.d.ts +0 -3
  1110. package/dist/storage/webhook-deliveries/index.d.ts.map +0 -1
  1111. package/dist/storage/webhook-deliveries/types.d.ts +0 -43
  1112. package/dist/storage/webhook-deliveries/types.d.ts.map +0 -1
  1113. package/dist/workflows/runtime.d.ts +0 -33
  1114. package/dist/workflows/runtime.d.ts.map +0 -1
  1115. package/src/actions/runtime.ts +0 -31
  1116. package/src/agents/runtime.ts +0 -124
  1117. package/src/connectors/runtime.ts +0 -100
  1118. package/src/objects/contexts.ts +0 -64
  1119. package/src/objects/helpers.ts +0 -18
  1120. package/src/runtime/scoped.ts +0 -436
  1121. package/src/security/runtime.ts +0 -101
  1122. package/src/storage/webhook-deliveries/in-memory.ts +0 -108
  1123. package/src/storage/webhook-deliveries/index.ts +0 -9
  1124. package/src/storage/webhook-deliveries/types.ts +0 -41
  1125. package/src/workflows/runtime.ts +0 -68
  1126. /package/dist/{chunk-md9jbrm9.js.map → chunk-4gz41why.js.map} +0 -0
  1127. /package/dist/{chunk-6rzdtvn5.js.map → chunk-8b55ygje.js.map} +0 -0
  1128. /package/dist/{chunk-r82k4z7z.js.map → chunk-a31h57d5.js.map} +0 -0
  1129. /package/dist/{chunk-qzyemcj7.js.map → chunk-ckxfnx7f.js.map} +0 -0
  1130. /package/dist/{chunk-53s4asfm.js.map → chunk-rnshztfq.js.map} +0 -0
  1131. /package/dist/{chunk-8kv2sez0.js.map → chunk-vybf6pkp.js.map} +0 -0
  1132. /package/dist/{chunk-6zrpewy4.js.map → chunk-z3zp0bj1.js.map} +0 -0
  1133. /package/dist/{chunk-hz8m927w.js.map → chunk-zqysyfjt.js.map} +0 -0
@@ -1,11 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/queues/errors.ts", "../src/queues/in-memory.ts"],
4
- "sourcesContent": [
5
- "/**\n * Error for queue invariants and invalid queue operations.\n */\nexport class QueueError extends Error {\n readonly name = \"QueueError\"\n}\n",
6
- "import { randomUUID } from \"node:crypto\"\nimport { QueueError } from \"./errors\"\nimport type {\n ActionRunRequestedQueueJob,\n AgentQueueJob,\n ClaimedQueueJob,\n NewQueueJob,\n PipelineRunRequestedQueueJob,\n ProjectionRunRequestedQueueJob,\n Queue,\n QueueJob,\n QueueJobError,\n Queues,\n SyncRunRequestedQueueJob,\n WorkflowQueueJob,\n} from \"./types\"\n\ntype QueueRecordState = \"queued\" | \"completed\" | \"failed\"\n\ninterface QueueRecord<TQueueJob extends QueueJob = QueueJob> {\n readonly sequence: number\n readonly queueId: string\n job: TQueueJob\n // A leased job stays \"queued\" until a worker completes or fails it.\n state: QueueRecordState\n leaseId: string | null\n claimedAt: string | null\n leaseExpiresAt: string | null\n}\n\nfunction assertNonEmpty(value: string, fieldName: string): void {\n if (value.trim().length === 0) {\n throw new QueueError(`[Sixb] Queue ${fieldName} must not be empty`)\n }\n}\n\nfunction parseTimestamp(value: string, fieldName: string): number {\n const timestamp = Date.parse(value)\n\n if (Number.isNaN(timestamp)) {\n throw new QueueError(`[Sixb] Queue ${fieldName} must be a valid timestamp`)\n }\n\n return timestamp\n}\n\nfunction assertPositiveNumber(value: number, fieldName: string): void {\n if (!Number.isFinite(value) || value <= 0) {\n throw new QueueError(`[Sixb] Queue ${fieldName} must be greater than 0`)\n }\n}\n\nfunction clearLease(record: QueueRecord): void {\n record.leaseId = null\n record.claimedAt = null\n record.leaseExpiresAt = null\n}\n\n// Best-effort ordering is part of the contract; this keeps the in-memory provider deterministic.\nfunction compareQueueRecords(left: QueueRecord, right: QueueRecord): number {\n const availableDifference =\n parseTimestamp(left.job.availableAt, \"job.availableAt\") -\n parseTimestamp(right.job.availableAt, \"job.availableAt\")\n\n if (availableDifference !== 0) {\n return availableDifference\n }\n\n const createdDifference =\n parseTimestamp(left.job.createdAt, \"job.createdAt\") -\n parseTimestamp(right.job.createdAt, \"job.createdAt\")\n\n if (createdDifference !== 0) {\n return createdDifference\n }\n\n return left.sequence - right.sequence\n}\n\nfunction createQueueJob<TQueueJob extends QueueJob>(\n projectId: string,\n newJob: NewQueueJob<TQueueJob>\n): TQueueJob {\n const createdAt = new Date().toISOString()\n const availableAt = newJob.availableAt ?? createdAt\n parseTimestamp(availableAt, \"availableAt\")\n\n return {\n id: newJob.id ?? randomUUID(),\n projectId,\n createdAt,\n availableAt,\n attempt: 0,\n metadata: newJob.metadata ? structuredClone(newJob.metadata) : undefined,\n type: newJob.type,\n payload: structuredClone(newJob.payload),\n } as TQueueJob\n}\n\nfunction leaseExpiresAtMs(record: QueueRecord): number | null {\n if (!record.leaseId || !record.leaseExpiresAt) {\n return null\n }\n\n return parseTimestamp(record.leaseExpiresAt, \"leaseExpiresAt\")\n}\n\nfunction toClaimedQueueJob<TQueueJob extends QueueJob>(\n record: QueueRecord<TQueueJob>\n): ClaimedQueueJob<TQueueJob> {\n if (!record.leaseId || !record.claimedAt || !record.leaseExpiresAt) {\n throw new QueueError(`[Sixb] Queue job '${record.job.id}' is not currently leased`)\n }\n\n return {\n leaseId: record.leaseId,\n claimedAt: record.claimedAt,\n leaseExpiresAt: record.leaseExpiresAt,\n job: structuredClone(record.job),\n }\n}\n\nclass InMemoryQueueStore {\n private readonly recordsByProject = new Map<string, QueueRecord[]>()\n private nextSequence = 1\n\n add<TQueueJob extends QueueJob>(projectId: string, queueId: string, job: TQueueJob): void {\n const records = this.getOrCreateRecords(projectId)\n records.push({\n sequence: this.nextSequence,\n queueId,\n job,\n state: \"queued\",\n leaseId: null,\n claimedAt: null,\n leaseExpiresAt: null,\n })\n this.nextSequence += 1\n }\n\n list<TQueueJob extends QueueJob>(projectId: string, queueId: string): QueueRecord<TQueueJob>[] {\n const records = this.recordsByProject.get(projectId) ?? []\n return records.filter((record) => record.queueId === queueId) as QueueRecord<TQueueJob>[]\n }\n\n find<TQueueJob extends QueueJob>(\n projectId: string,\n queueId: string,\n jobId: string\n ): QueueRecord<TQueueJob> | null {\n return (\n this.list<TQueueJob>(projectId, queueId).find((record) => record.job.id === jobId) ?? null\n )\n }\n\n private getOrCreateRecords(projectId: string): QueueRecord[] {\n const existing = this.recordsByProject.get(projectId)\n if (existing) {\n return existing\n }\n\n const records: QueueRecord[] = []\n this.recordsByProject.set(projectId, records)\n return records\n }\n}\n\nclass InMemoryQueue<TQueueJob extends QueueJob> implements Queue<TQueueJob> {\n constructor(\n private readonly store: InMemoryQueueStore,\n private readonly queueId: string\n ) {\n assertNonEmpty(queueId, \"queueId\")\n }\n\n async enqueue(params: {\n projectId: string\n jobs: readonly NewQueueJob<TQueueJob>[]\n }): Promise<readonly TQueueJob[]> {\n assertNonEmpty(params.projectId, \"projectId\")\n\n if (params.jobs.length === 0) {\n return []\n }\n\n const createdJobs = params.jobs.map((job) => {\n if (job.id !== undefined) assertNonEmpty(job.id, \"job.id\")\n const existing = job.id\n ? this.store.find<TQueueJob>(params.projectId, this.queueId, job.id)\n : null\n if (existing) return existing.job\n\n const created = createQueueJob(params.projectId, job)\n this.store.add(params.projectId, this.queueId, created)\n return created\n })\n\n return createdJobs.map((job) => structuredClone(job))\n }\n\n async claim(params: {\n projectId: string\n workerId: string\n limit?: number\n leaseMs?: number\n }): Promise<readonly ClaimedQueueJob<TQueueJob>[]> {\n assertNonEmpty(params.projectId, \"projectId\")\n assertNonEmpty(params.workerId, \"workerId\")\n\n const limit = params.limit ?? 1\n if (limit <= 0) {\n return []\n }\n\n const leaseMs = params.leaseMs ?? 30_000\n assertPositiveNumber(leaseMs, \"leaseMs\")\n\n const now = Date.now()\n const claimable = this.store\n .list<TQueueJob>(params.projectId, this.queueId)\n .filter((record) => {\n if (record.state !== \"queued\") {\n return false\n }\n\n if (parseTimestamp(record.job.availableAt, \"job.availableAt\") > now) {\n return false\n }\n\n const expiresAt = leaseExpiresAtMs(record)\n return expiresAt === null || expiresAt <= now\n })\n .sort(compareQueueRecords)\n .slice(0, limit)\n\n const claimedAt = new Date(now).toISOString()\n\n return claimable.map((record) => {\n // Attempts count claims so redelivery after lease expiry or retry is visible to workers.\n record.job = {\n ...record.job,\n attempt: record.job.attempt + 1,\n }\n record.leaseId = randomUUID()\n record.claimedAt = claimedAt\n record.leaseExpiresAt = new Date(now + leaseMs).toISOString()\n\n return toClaimedQueueJob(record)\n })\n }\n\n async complete(params: { projectId: string; jobId: string; leaseId: string }): Promise<void> {\n const record = this.requireActiveLease(params)\n record.state = \"completed\"\n clearLease(record)\n }\n\n async retry(params: {\n projectId: string\n jobId: string\n leaseId: string\n availableAt?: string\n error?: QueueJobError\n }): Promise<void> {\n const record = this.requireActiveLease(params)\n const availableAt = params.availableAt ?? new Date().toISOString()\n parseTimestamp(availableAt, \"availableAt\")\n\n record.job = {\n ...record.job,\n availableAt,\n }\n clearLease(record)\n }\n\n async fail(params: {\n projectId: string\n jobId: string\n leaseId: string\n error: QueueJobError\n }): Promise<void> {\n const record = this.requireActiveLease(params)\n record.state = \"failed\"\n clearLease(record)\n }\n\n async renewLease(params: {\n projectId: string\n jobId: string\n leaseId: string\n leaseMs: number\n }): Promise<ClaimedQueueJob<TQueueJob> | null> {\n assertPositiveNumber(params.leaseMs, \"leaseMs\")\n\n const record = this.store.find<TQueueJob>(params.projectId, this.queueId, params.jobId)\n if (!record || record.state !== \"queued\") {\n return null\n }\n\n const now = Date.now()\n const expiresAt = leaseExpiresAtMs(record)\n if (record.leaseId !== params.leaseId || expiresAt === null) {\n return null\n }\n\n if (expiresAt <= now) {\n return null\n }\n\n record.leaseExpiresAt = new Date(now + params.leaseMs).toISOString()\n return toClaimedQueueJob(record)\n }\n\n private requireActiveLease(params: {\n projectId: string\n jobId: string\n leaseId: string\n }): QueueRecord<TQueueJob> {\n assertNonEmpty(params.projectId, \"projectId\")\n assertNonEmpty(params.jobId, \"jobId\")\n assertNonEmpty(params.leaseId, \"leaseId\")\n\n const record = this.store.find<TQueueJob>(params.projectId, this.queueId, params.jobId)\n\n if (!record) {\n throw new QueueError(`[Sixb] Unknown queue job '${params.jobId}'`)\n }\n\n if (record.state !== \"queued\") {\n throw new QueueError(`[Sixb] Queue job '${params.jobId}' is no longer active`)\n }\n\n if (record.leaseId !== params.leaseId || !record.leaseExpiresAt) {\n throw new QueueError(`[Sixb] Lease mismatch for queue job '${params.jobId}'`)\n }\n\n const expiresAt = leaseExpiresAtMs(record)\n if (expiresAt === null || expiresAt <= Date.now()) {\n throw new QueueError(`[Sixb] Lease for queue job '${params.jobId}' has expired`)\n }\n\n return record\n }\n}\n\nexport class InMemoryQueues implements Queues {\n readonly scope = \"process\" as const\n private readonly store = new InMemoryQueueStore()\n\n readonly syncRuns = new InMemoryQueue<SyncRunRequestedQueueJob>(this.store, \"sync.runs\")\n readonly pipelines = new InMemoryQueue<PipelineRunRequestedQueueJob>(this.store, \"pipeline.runs\")\n readonly projections = new InMemoryQueue<ProjectionRunRequestedQueueJob>(\n this.store,\n \"projection.runs\"\n )\n readonly workflows = new InMemoryQueue<WorkflowQueueJob>(this.store, \"workflow.runs\")\n readonly actions = new InMemoryQueue<ActionRunRequestedQueueJob>(this.store, \"action.runs\")\n readonly agents = new InMemoryQueue<AgentQueueJob>(this.store, \"agent.runs\")\n\n /** Nothing to reach: the store is a field of this object. */\n health(): Promise<void> {\n return Promise.resolve()\n }\n}\n"
7
- ],
8
- "mappings": ";;AAGO,MAAM,mBAAmB,MAAM;AAAA,EAC3B,OAAO;AAClB;;ACLA;AA8BA,SAAS,cAAc,CAAC,OAAe,WAAyB;AAAA,EAC9D,IAAI,MAAM,KAAK,EAAE,WAAW,GAAG;AAAA,IAC7B,MAAM,IAAI,WAAW,gBAAgB,6BAA6B;AAAA,EACpE;AAAA;AAGF,SAAS,cAAc,CAAC,OAAe,WAA2B;AAAA,EAChE,MAAM,YAAY,KAAK,MAAM,KAAK;AAAA,EAElC,IAAI,OAAO,MAAM,SAAS,GAAG;AAAA,IAC3B,MAAM,IAAI,WAAW,gBAAgB,qCAAqC;AAAA,EAC5E;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,oBAAoB,CAAC,OAAe,WAAyB;AAAA,EACpE,IAAI,CAAC,OAAO,SAAS,KAAK,KAAK,SAAS,GAAG;AAAA,IACzC,MAAM,IAAI,WAAW,gBAAgB,kCAAkC;AAAA,EACzE;AAAA;AAGF,SAAS,UAAU,CAAC,QAA2B;AAAA,EAC7C,OAAO,UAAU;AAAA,EACjB,OAAO,YAAY;AAAA,EACnB,OAAO,iBAAiB;AAAA;AAI1B,SAAS,mBAAmB,CAAC,MAAmB,OAA4B;AAAA,EAC1E,MAAM,sBACJ,eAAe,KAAK,IAAI,aAAa,iBAAiB,IACtD,eAAe,MAAM,IAAI,aAAa,iBAAiB;AAAA,EAEzD,IAAI,wBAAwB,GAAG;AAAA,IAC7B,OAAO;AAAA,EACT;AAAA,EAEA,MAAM,oBACJ,eAAe,KAAK,IAAI,WAAW,eAAe,IAClD,eAAe,MAAM,IAAI,WAAW,eAAe;AAAA,EAErD,IAAI,sBAAsB,GAAG;AAAA,IAC3B,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,KAAK,WAAW,MAAM;AAAA;AAG/B,SAAS,cAA0C,CACjD,WACA,QACW;AAAA,EACX,MAAM,YAAY,IAAI,KAAK,EAAE,YAAY;AAAA,EACzC,MAAM,cAAc,OAAO,eAAe;AAAA,EAC1C,eAAe,aAAa,aAAa;AAAA,EAEzC,OAAO;AAAA,IACL,IAAI,OAAO,MAAM,WAAW;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAAA,IACT,UAAU,OAAO,WAAW,gBAAgB,OAAO,QAAQ,IAAI;AAAA,IAC/D,MAAM,OAAO;AAAA,IACb,SAAS,gBAAgB,OAAO,OAAO;AAAA,EACzC;AAAA;AAGF,SAAS,gBAAgB,CAAC,QAAoC;AAAA,EAC5D,IAAI,CAAC,OAAO,WAAW,CAAC,OAAO,gBAAgB;AAAA,IAC7C,OAAO;AAAA,EACT;AAAA,EAEA,OAAO,eAAe,OAAO,gBAAgB,gBAAgB;AAAA;AAG/D,SAAS,iBAA6C,CACpD,QAC4B;AAAA,EAC5B,IAAI,CAAC,OAAO,WAAW,CAAC,OAAO,aAAa,CAAC,OAAO,gBAAgB;AAAA,IAClE,MAAM,IAAI,WAAW,qBAAqB,OAAO,IAAI,6BAA6B;AAAA,EACpF;AAAA,EAEA,OAAO;AAAA,IACL,SAAS,OAAO;AAAA,IAChB,WAAW,OAAO;AAAA,IAClB,gBAAgB,OAAO;AAAA,IACvB,KAAK,gBAAgB,OAAO,GAAG;AAAA,EACjC;AAAA;AAAA;AAGF,MAAM,mBAAmB;AAAA,EACN,mBAAmB,IAAI;AAAA,EAChC,eAAe;AAAA,EAEvB,GAA+B,CAAC,WAAmB,SAAiB,KAAsB;AAAA,IACxF,MAAM,UAAU,KAAK,mBAAmB,SAAS;AAAA,IACjD,QAAQ,KAAK;AAAA,MACX,UAAU,KAAK;AAAA,MACf;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP,SAAS;AAAA,MACT,WAAW;AAAA,MACX,gBAAgB;AAAA,IAClB,CAAC;AAAA,IACD,KAAK,gBAAgB;AAAA;AAAA,EAGvB,IAAgC,CAAC,WAAmB,SAA2C;AAAA,IAC7F,MAAM,UAAU,KAAK,iBAAiB,IAAI,SAAS,KAAK,CAAC;AAAA,IACzD,OAAO,QAAQ,OAAO,CAAC,WAAW,OAAO,YAAY,OAAO;AAAA;AAAA,EAG9D,IAAgC,CAC9B,WACA,SACA,OAC+B;AAAA,IAC/B,OACE,KAAK,KAAgB,WAAW,OAAO,EAAE,KAAK,CAAC,WAAW,OAAO,IAAI,OAAO,KAAK,KAAK;AAAA;AAAA,EAIlF,kBAAkB,CAAC,WAAkC;AAAA,IAC3D,MAAM,WAAW,KAAK,iBAAiB,IAAI,SAAS;AAAA,IACpD,IAAI,UAAU;AAAA,MACZ,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,UAAyB,CAAC;AAAA,IAChC,KAAK,iBAAiB,IAAI,WAAW,OAAO;AAAA,IAC5C,OAAO;AAAA;AAEX;AAAA;AAEA,MAAM,cAAsE;AAAA,EAEvD;AAAA,EACA;AAAA,EAFnB,WAAW,CACQ,OACA,SACjB;AAAA,IAFiB;AAAA,IACA;AAAA,IAEjB,eAAe,SAAS,SAAS;AAAA;AAAA,OAG7B,QAAO,CAAC,QAGoB;AAAA,IAChC,eAAe,OAAO,WAAW,WAAW;AAAA,IAE5C,IAAI,OAAO,KAAK,WAAW,GAAG;AAAA,MAC5B,OAAO,CAAC;AAAA,IACV;AAAA,IAEA,MAAM,cAAc,OAAO,KAAK,IAAI,CAAC,QAAQ;AAAA,MAC3C,IAAI,IAAI,OAAO;AAAA,QAAW,eAAe,IAAI,IAAI,QAAQ;AAAA,MACzD,MAAM,WAAW,IAAI,KACjB,KAAK,MAAM,KAAgB,OAAO,WAAW,KAAK,SAAS,IAAI,EAAE,IACjE;AAAA,MACJ,IAAI;AAAA,QAAU,OAAO,SAAS;AAAA,MAE9B,MAAM,UAAU,eAAe,OAAO,WAAW,GAAG;AAAA,MACpD,KAAK,MAAM,IAAI,OAAO,WAAW,KAAK,SAAS,OAAO;AAAA,MACtD,OAAO;AAAA,KACR;AAAA,IAED,OAAO,YAAY,IAAI,CAAC,QAAQ,gBAAgB,GAAG,CAAC;AAAA;AAAA,OAGhD,MAAK,CAAC,QAKuC;AAAA,IACjD,eAAe,OAAO,WAAW,WAAW;AAAA,IAC5C,eAAe,OAAO,UAAU,UAAU;AAAA,IAE1C,MAAM,QAAQ,OAAO,SAAS;AAAA,IAC9B,IAAI,SAAS,GAAG;AAAA,MACd,OAAO,CAAC;AAAA,IACV;AAAA,IAEA,MAAM,UAAU,OAAO,WAAW;AAAA,IAClC,qBAAqB,SAAS,SAAS;AAAA,IAEvC,MAAM,MAAM,KAAK,IAAI;AAAA,IACrB,MAAM,YAAY,KAAK,MACpB,KAAgB,OAAO,WAAW,KAAK,OAAO,EAC9C,OAAO,CAAC,WAAW;AAAA,MAClB,IAAI,OAAO,UAAU,UAAU;AAAA,QAC7B,OAAO;AAAA,MACT;AAAA,MAEA,IAAI,eAAe,OAAO,IAAI,aAAa,iBAAiB,IAAI,KAAK;AAAA,QACnE,OAAO;AAAA,MACT;AAAA,MAEA,MAAM,YAAY,iBAAiB,MAAM;AAAA,MACzC,OAAO,cAAc,QAAQ,aAAa;AAAA,KAC3C,EACA,KAAK,mBAAmB,EACxB,MAAM,GAAG,KAAK;AAAA,IAEjB,MAAM,YAAY,IAAI,KAAK,GAAG,EAAE,YAAY;AAAA,IAE5C,OAAO,UAAU,IAAI,CAAC,WAAW;AAAA,MAE/B,OAAO,MAAM;AAAA,WACR,OAAO;AAAA,QACV,SAAS,OAAO,IAAI,UAAU;AAAA,MAChC;AAAA,MACA,OAAO,UAAU,WAAW;AAAA,MAC5B,OAAO,YAAY;AAAA,MACnB,OAAO,iBAAiB,IAAI,KAAK,MAAM,OAAO,EAAE,YAAY;AAAA,MAE5D,OAAO,kBAAkB,MAAM;AAAA,KAChC;AAAA;AAAA,OAGG,SAAQ,CAAC,QAA8E;AAAA,IAC3F,MAAM,SAAS,KAAK,mBAAmB,MAAM;AAAA,IAC7C,OAAO,QAAQ;AAAA,IACf,WAAW,MAAM;AAAA;AAAA,OAGb,MAAK,CAAC,QAMM;AAAA,IAChB,MAAM,SAAS,KAAK,mBAAmB,MAAM;AAAA,IAC7C,MAAM,cAAc,OAAO,eAAe,IAAI,KAAK,EAAE,YAAY;AAAA,IACjE,eAAe,aAAa,aAAa;AAAA,IAEzC,OAAO,MAAM;AAAA,SACR,OAAO;AAAA,MACV;AAAA,IACF;AAAA,IACA,WAAW,MAAM;AAAA;AAAA,OAGb,KAAI,CAAC,QAKO;AAAA,IAChB,MAAM,SAAS,KAAK,mBAAmB,MAAM;AAAA,IAC7C,OAAO,QAAQ;AAAA,IACf,WAAW,MAAM;AAAA;AAAA,OAGb,WAAU,CAAC,QAK8B;AAAA,IAC7C,qBAAqB,OAAO,SAAS,SAAS;AAAA,IAE9C,MAAM,SAAS,KAAK,MAAM,KAAgB,OAAO,WAAW,KAAK,SAAS,OAAO,KAAK;AAAA,IACtF,IAAI,CAAC,UAAU,OAAO,UAAU,UAAU;AAAA,MACxC,OAAO;AAAA,IACT;AAAA,IAEA,MAAM,MAAM,KAAK,IAAI;AAAA,IACrB,MAAM,YAAY,iBAAiB,MAAM;AAAA,IACzC,IAAI,OAAO,YAAY,OAAO,WAAW,cAAc,MAAM;AAAA,MAC3D,OAAO;AAAA,IACT;AAAA,IAEA,IAAI,aAAa,KAAK;AAAA,MACpB,OAAO;AAAA,IACT;AAAA,IAEA,OAAO,iBAAiB,IAAI,KAAK,MAAM,OAAO,OAAO,EAAE,YAAY;AAAA,IACnE,OAAO,kBAAkB,MAAM;AAAA;AAAA,EAGzB,kBAAkB,CAAC,QAIA;AAAA,IACzB,eAAe,OAAO,WAAW,WAAW;AAAA,IAC5C,eAAe,OAAO,OAAO,OAAO;AAAA,IACpC,eAAe,OAAO,SAAS,SAAS;AAAA,IAExC,MAAM,SAAS,KAAK,MAAM,KAAgB,OAAO,WAAW,KAAK,SAAS,OAAO,KAAK;AAAA,IAEtF,IAAI,CAAC,QAAQ;AAAA,MACX,MAAM,IAAI,WAAW,6BAA6B,OAAO,QAAQ;AAAA,IACnE;AAAA,IAEA,IAAI,OAAO,UAAU,UAAU;AAAA,MAC7B,MAAM,IAAI,WAAW,qBAAqB,OAAO,4BAA4B;AAAA,IAC/E;AAAA,IAEA,IAAI,OAAO,YAAY,OAAO,WAAW,CAAC,OAAO,gBAAgB;AAAA,MAC/D,MAAM,IAAI,WAAW,wCAAwC,OAAO,QAAQ;AAAA,IAC9E;AAAA,IAEA,MAAM,YAAY,iBAAiB,MAAM;AAAA,IACzC,IAAI,cAAc,QAAQ,aAAa,KAAK,IAAI,GAAG;AAAA,MACjD,MAAM,IAAI,WAAW,+BAA+B,OAAO,oBAAoB;AAAA,IACjF;AAAA,IAEA,OAAO;AAAA;AAEX;AAAA;AAEO,MAAM,eAAiC;AAAA,EACnC,QAAQ;AAAA,EACA,QAAQ,IAAI;AAAA,EAEpB,WAAW,IAAI,cAAwC,KAAK,OAAO,WAAW;AAAA,EAC9E,YAAY,IAAI,cAA4C,KAAK,OAAO,eAAe;AAAA,EACvF,cAAc,IAAI,cACzB,KAAK,OACL,iBACF;AAAA,EACS,YAAY,IAAI,cAAgC,KAAK,OAAO,eAAe;AAAA,EAC3E,UAAU,IAAI,cAA0C,KAAK,OAAO,aAAa;AAAA,EACjF,SAAS,IAAI,cAA6B,KAAK,OAAO,YAAY;AAAA,EAG3E,MAAM,GAAkB;AAAA,IACtB,OAAO,QAAQ,QAAQ;AAAA;AAE3B;",
9
- "debugId": "A071F89DCFCEC97464756E2164756E21",
10
- "names": []
11
- }
@@ -1,11 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/scheduler/errors.ts", "../src/scheduler/runtime.ts"],
4
- "sourcesContent": [
5
- "export class SchedulerError extends Error {\n readonly name = \"SchedulerError\"\n}\n\nexport class SchedulerValidationError extends Error {\n readonly name = \"SchedulerValidationError\"\n}\n",
6
- "import type { DomainEventLog } from \"../events\"\nimport type { CronScheduleDefinition, ScheduleDefinition } from \"../schedules\"\nimport { nextCronOccurrence } from \"../schedules\"\nimport { SchedulerValidationError } from \"./errors\"\n\n/** Matches the `onError` flush budget: long enough for a healthy broker, short enough to shut down. */\nconst DEFAULT_EMIT_DRAIN_TIMEOUT_MS = 5_000\n\nexport interface SchedulerRuntimeOptions {\n schedules: readonly ScheduleDefinition[]\n events: DomainEventLog\n now?: () => Date\n}\n\nexport class SchedulerRuntime {\n private readonly schedules: readonly CronScheduleDefinition[]\n private readonly events: DomainEventLog\n private readonly now: () => Date\n private started = false\n private timer: ReturnType<typeof setTimeout> | null = null\n private readonly nextOccurrences = new Map<string, Date>()\n private readonly pendingEmits = new Set<Promise<void>>()\n\n constructor(options: SchedulerRuntimeOptions) {\n this.schedules = options.schedules.filter(isCronSchedule)\n this.events = options.events\n this.now = options.now ?? (() => new Date())\n }\n\n async start(): Promise<void> {\n if (this.started) return\n\n const seenIds = new Set<string>()\n for (const schedule of this.schedules) {\n if (seenIds.has(schedule.id)) {\n throw new SchedulerValidationError(`Duplicate schedule id '${schedule.id}'.`)\n }\n seenIds.add(schedule.id)\n }\n\n const now = this.now()\n for (const schedule of this.schedules) {\n const next = nextCronOccurrence(schedule.trigger.expression, now, schedule.trigger.timezone)\n this.nextOccurrences.set(schedule.id, next)\n }\n\n this.armTimer()\n this.started = true\n }\n\n async stop(): Promise<void> {\n if (this.timer !== null) {\n clearTimeout(this.timer)\n this.timer = null\n }\n this.nextOccurrences.clear()\n this.started = false\n await this.drainEmits()\n }\n\n /**\n * Wait for in-flight `schedule.triggered` emits so shutdown does not return mid-delivery.\n *\n * Bounded on purpose. `emit` never rejects, so an emit that never *settles* — a broker that accepts\n * the call and then hangs — would make `stop()` wait forever, turning a provider stall into a\n * process that cannot shut down. Losing the wait is recoverable; losing shutdown is not.\n */\n private async drainEmits(timeoutMs = DEFAULT_EMIT_DRAIN_TIMEOUT_MS): Promise<void> {\n if (this.pendingEmits.size === 0) return\n\n let timer: ReturnType<typeof setTimeout> | undefined\n try {\n const drained = await Promise.race([\n Promise.all([...this.pendingEmits]).then(() => true),\n new Promise<false>((resolve) => {\n timer = setTimeout(() => resolve(false), timeoutMs)\n }),\n ])\n if (!drained) {\n console.error(\n `[Sixb] Timed out after ${timeoutMs}ms waiting for ${this.pendingEmits.size} schedule emit(s) to settle.`\n )\n }\n } finally {\n if (timer) clearTimeout(timer)\n }\n }\n\n private armTimer(): void {\n if (this.timer !== null) {\n clearTimeout(this.timer)\n this.timer = null\n }\n\n let earliest: Date | null = null\n for (const date of this.nextOccurrences.values()) {\n if (earliest === null || date.getTime() < earliest.getTime()) {\n earliest = date\n }\n }\n\n if (earliest === null) return\n\n const delayMs = Math.max(0, earliest.getTime() - this.now().getTime())\n this.timer = setTimeout(() => this.tick(), delayMs)\n }\n\n private tick(): void {\n const now = this.now()\n\n // Collect all due schedules\n const dueSchedules: Array<{ schedule: CronScheduleDefinition; occurrenceAt: Date }> = []\n for (const schedule of this.schedules) {\n const occurrence = this.nextOccurrences.get(schedule.id)\n if (occurrence && occurrence.getTime() <= now.getTime()) {\n dueSchedules.push({ schedule, occurrenceAt: occurrence })\n }\n }\n\n // Emit events and recalculate next occurrences\n for (const { schedule, occurrenceAt } of dueSchedules) {\n const occurrenceAtIso = occurrenceAt.toISOString()\n // `emit` reports instead of rejecting, so nothing is swallowed here. The previous\n // `void this.events.append(...)` inside a `try` could not observe a rejection at all: a broker\n // outage meant the schedule silently never fired.\n this.track(\n this.events.emit(\n {\n events: [\n {\n type: \"schedule.triggered\",\n payload: {\n scheduleId: schedule.id,\n occurrenceAt: occurrenceAtIso,\n triggeredAt: now.toISOString(),\n occurrenceKey: `${schedule.id}:${occurrenceAtIso}`,\n },\n },\n ],\n },\n { source: \"Sixb\" }\n )\n )\n\n // Calculate next from the logical occurrence time (not now) to avoid drift\n try {\n const next = nextCronOccurrence(\n schedule.trigger.expression,\n occurrenceAt,\n schedule.trigger.timezone\n )\n this.nextOccurrences.set(schedule.id, next)\n } catch (error) {\n console.error(\n `[Sixb] Scheduler failed to compute next occurrence for '${schedule.id}':`,\n error\n )\n this.nextOccurrences.delete(schedule.id)\n }\n }\n\n this.armTimer()\n }\n\n /** Keep in-flight emits awaitable so `stop()` does not return mid-delivery. */\n private track(emit: Promise<void>): void {\n const tracked = emit.finally(() => this.pendingEmits.delete(tracked))\n this.pendingEmits.add(tracked)\n }\n}\n\nfunction isCronSchedule(schedule: ScheduleDefinition): schedule is CronScheduleDefinition {\n return schedule.trigger.type === \"cron\"\n}\n"
7
- ],
8
- "mappings": "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",
9
- "debugId": "CB8608D03B77E65764756E2164756E21",
10
- "names": []
11
- }
@@ -1,14 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/events/errors.ts", "../src/events/definitions.ts", "../src/events/outbox-dispatcher.ts", "../src/events/runtime.ts", "../src/events/toStoredEvent.ts"],
4
- "sourcesContent": [
5
- "/**\n * Error for event runtime invariants and failures (e.g., unknown event\n * types encountered when converting new events to their stored form).\n */\nexport class EventsError extends Error {\n readonly name = \"EventsError\"\n}\n",
6
- "import { EventsError } from \"./errors\"\nimport type { ActionEvent } from \"./types/actions\"\nimport type { DatasetEvent } from \"./types/datasets\"\nimport type { DomainEvent, DomainEventDraft } from \"./types/index\"\nimport type { LinkEvent } from \"./types/links\"\nimport type { ObjectEvent } from \"./types/objects\"\nimport type { PipelineEvent } from \"./types/pipelines\"\nimport type { RuleEvent } from \"./types/rules\"\nimport type { ScheduleEvent } from \"./types/schedules\"\nimport type { SyncEvent } from \"./types/syncs\"\nimport type { TelemetryEvent } from \"./types/telemetry\"\nimport type { WorkflowEvent } from \"./types/workflows\"\n\nexport type EventDefinition<Event extends DomainEvent = DomainEvent> = {\n readonly topic: Event[\"topic\"]\n readonly partitionKey: (payload: Event[\"payload\"]) => string\n}\n\nexport type EventDefinitionGroup<Event extends DomainEvent> = {\n readonly [Type in Event[\"type\"]]: EventDefinition<Extract<Event, { type: Type }>>\n}\n\nexport type EventDefinitionMap = {\n readonly [Type in DomainEvent[\"type\"]]: EventDefinition<Extract<DomainEvent, { type: Type }>>\n}\n\nfunction defineEventGroup<Event extends DomainEvent>(\n definitions: EventDefinitionGroup<Event>\n): EventDefinitionGroup<Event> {\n return definitions\n}\n\nexport const OBJECT_EVENT_DEFINITIONS = defineEventGroup<ObjectEvent>({\n \"object.created\": {\n topic: \"objects\",\n partitionKey: (payload) => `${payload.objectTypeId}:${payload.primaryId}`,\n },\n \"object.updated\": {\n topic: \"objects\",\n partitionKey: (payload) => `${payload.objectTypeId}:${payload.primaryId}`,\n },\n \"object.deleted\": {\n topic: \"objects\",\n partitionKey: (payload) => `${payload.objectTypeId}:${payload.primaryId}`,\n },\n})\n\nexport const TELEMETRY_EVENT_DEFINITIONS = defineEventGroup<TelemetryEvent>({\n \"telemetry.appended\": {\n topic: \"telemetry\",\n partitionKey: (payload) => `${payload.objectTypeId}:${payload.objectId}:${payload.propertyId}`,\n },\n})\n\nexport const LINK_EVENT_DEFINITIONS = defineEventGroup<LinkEvent>({\n \"link.created\": {\n topic: \"links\",\n partitionKey: (payload) => `${payload.sourceTypeId}:${payload.sourceId}:${payload.linkId}`,\n },\n \"link.updated\": {\n topic: \"links\",\n partitionKey: (payload) => `${payload.sourceTypeId}:${payload.sourceId}:${payload.linkId}`,\n },\n \"link.deleted\": {\n topic: \"links\",\n partitionKey: (payload) => `${payload.sourceTypeId}:${payload.sourceId}:${payload.linkId}`,\n },\n})\n\nexport const ACTION_EVENT_DEFINITIONS = defineEventGroup<ActionEvent>({\n \"action.requested\": {\n topic: \"actions\",\n partitionKey: (payload) => payload.actionId,\n },\n \"action.completed\": {\n topic: \"actions\",\n partitionKey: (payload) => payload.actionId,\n },\n \"action.failed\": {\n topic: \"actions\",\n partitionKey: (payload) => payload.actionId,\n },\n})\n\nexport const SCHEDULE_EVENT_DEFINITIONS = defineEventGroup<ScheduleEvent>({\n \"schedule.triggered\": {\n topic: \"schedules\",\n partitionKey: (payload) => payload.scheduleId,\n },\n})\n\nexport const RULE_EVENT_DEFINITIONS = defineEventGroup<RuleEvent>({\n \"rule.triggered\": {\n topic: \"rules\",\n partitionKey: (payload) =>\n `${payload.ruleId}:${payload.subject.objectTypeId}:${payload.subject.primaryId}`,\n },\n \"rule.resolved\": {\n topic: \"rules\",\n partitionKey: (payload) =>\n `${payload.ruleId}:${payload.subject.objectTypeId}:${payload.subject.primaryId}`,\n },\n})\n\nexport const SYNC_EVENT_DEFINITIONS = defineEventGroup<SyncEvent>({\n \"sync.run.started\": {\n topic: \"syncs\",\n partitionKey: (payload) => `${payload.syncId}:${payload.runId}`,\n },\n \"sync.run.finished\": {\n topic: \"syncs\",\n partitionKey: (payload) => `${payload.syncId}:${payload.runId}`,\n },\n})\n\nexport const PIPELINE_EVENT_DEFINITIONS = defineEventGroup<PipelineEvent>({\n \"pipeline.run.started\": {\n topic: \"pipelines\",\n partitionKey: (payload) => `${payload.pipelineId}:${payload.runId}`,\n },\n \"pipeline.run.step.started\": {\n topic: \"pipelines\",\n partitionKey: (payload) => `${payload.pipelineId}:${payload.runId}`,\n },\n \"pipeline.run.step.finished\": {\n topic: \"pipelines\",\n partitionKey: (payload) => `${payload.pipelineId}:${payload.runId}`,\n },\n \"pipeline.run.finished\": {\n topic: \"pipelines\",\n partitionKey: (payload) => `${payload.pipelineId}:${payload.runId}`,\n },\n})\n\nexport const WORKFLOW_EVENT_DEFINITIONS = defineEventGroup<WorkflowEvent>({\n \"workflow.run.queued\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n \"workflow.run.started\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n \"workflow.run.node.started\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n \"workflow.run.waiting\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n \"workflow.run.node.waiting\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n \"workflow.run.node.finished\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n \"workflow.run.finished\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n \"workflow.intervention.requested\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n \"workflow.intervention.submitted\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n \"workflow.intervention.cancelled\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n \"workflow.intervention.expired\": {\n topic: \"workflows\",\n partitionKey: (payload) => `${payload.workflowId}:${payload.runId}`,\n },\n})\n\nexport const DATASET_EVENT_DEFINITIONS = defineEventGroup<DatasetEvent>({\n \"dataset.version.committed\": {\n topic: \"datasets\",\n partitionKey: (payload) => payload.datasetId,\n },\n})\n\nexport const EVENT_DEFINITIONS = {\n ...OBJECT_EVENT_DEFINITIONS,\n ...TELEMETRY_EVENT_DEFINITIONS,\n ...LINK_EVENT_DEFINITIONS,\n ...ACTION_EVENT_DEFINITIONS,\n ...SCHEDULE_EVENT_DEFINITIONS,\n ...SYNC_EVENT_DEFINITIONS,\n ...PIPELINE_EVENT_DEFINITIONS,\n ...WORKFLOW_EVENT_DEFINITIONS,\n ...DATASET_EVENT_DEFINITIONS,\n ...RULE_EVENT_DEFINITIONS,\n} as const satisfies EventDefinitionMap\n\nexport const EVENT_TYPES = Object.keys(EVENT_DEFINITIONS) as readonly DomainEvent[\"type\"][]\nexport const EVENT_TOPICS = [\n ...new Set(\n Object.values(EVENT_DEFINITIONS).map((definition): DomainEvent[\"topic\"] => definition.topic)\n ),\n] as readonly DomainEvent[\"topic\"][]\n\nexport function isDomainEventType(value: string): value is DomainEvent[\"type\"] {\n return Object.hasOwn(EVENT_DEFINITIONS, value)\n}\n\nexport function isOntologyFactType(\n value: string\n): value is ObjectEvent[\"type\"] | LinkEvent[\"type\"] | TelemetryEvent[\"type\"] {\n return (\n Object.hasOwn(OBJECT_EVENT_DEFINITIONS, value) ||\n Object.hasOwn(LINK_EVENT_DEFINITIONS, value) ||\n Object.hasOwn(TELEMETRY_EVENT_DEFINITIONS, value)\n )\n}\n\nexport function getEventTopic(type: DomainEvent[\"type\"]): DomainEvent[\"topic\"] {\n return EVENT_DEFINITIONS[type].topic\n}\n\nexport function resolveEventStorage(event: DomainEventDraft): {\n readonly topic: DomainEvent[\"topic\"]\n readonly partitionKey: string\n} {\n const eventType = event.type as string\n if (!isDomainEventType(eventType)) {\n throw new EventsError(`Unknown event type: ${eventType}`)\n }\n\n const definition = EVENT_DEFINITIONS[eventType] as EventDefinition\n return {\n topic: definition.topic,\n partitionKey: definition.partitionKey(event.payload),\n }\n}\n",
7
- "import { randomUUID } from \"node:crypto\"\nimport type { ClaimedOntologyOutboxRow, OntologyOutboxStorage, Storage } from \"../storage\"\nimport type { StableEventPublisher } from \"./runtime\"\n\nconst DEFAULT_BATCH_SIZE = 100\nconst DEFAULT_LEASE_DURATION_MS = 30_000\nconst DEFAULT_INITIAL_RETRY_DELAY_MS = 1_000\nconst DEFAULT_MAX_RETRY_DELAY_MS = 5 * 60_000\nconst DEFAULT_RETRY_JITTER_RATIO = 0.2\nconst DEFAULT_MAX_ISOLATION_ATTEMPTS = 16\nconst DEFAULT_MAX_CLAIMS_PER_DRAIN = 10\nconst DEFAULT_SHUTDOWN_TIMEOUT_MS = 30_000\nconst SHUTDOWN_RESCHEDULE_ERROR = \"Outbox dispatcher stopped before publication completed.\"\n\nexport interface OntologyOutboxDeliveryFailure {\n readonly occurredAt: string\n readonly attempts: number\n readonly eventIds: readonly string[]\n /** Types of the undelivered envelopes. The one field both delivery paths can always report. */\n readonly eventTypes: readonly string[]\n}\n\nexport interface OntologyOutboxDispatcherOptions {\n readonly projectId: string\n readonly storage: Storage\n /** Internal publisher port. It cannot author or mutate persisted ontology facts. */\n readonly events: StableEventPublisher\n readonly batchSize?: number\n readonly leaseDurationMs?: number\n readonly initialRetryDelayMs?: number\n readonly maxRetryDelayMs?: number\n /** Symmetric jitter ratio in the inclusive range 0..1. */\n readonly retryJitterRatio?: number\n /** Maximum broker calls used to isolate poison envelopes in one claimed batch. */\n readonly maxIsolationAttempts?: number\n /** Maximum claimed batches handled by one drain pass. */\n readonly maxClaimsPerDrain?: number\n readonly shutdownTimeoutMs?: number\n readonly now?: () => Date\n readonly random?: () => number\n readonly createLeaseId?: () => string\n readonly onDeliveryFailure?: (error: unknown, failure: OntologyOutboxDeliveryFailure) => void\n readonly onError?: (error: unknown) => void\n}\n\n/**\n * One claimed batch whose unsettled rows remain recoverable during shutdown.\n *\n * Rows leave the set immediately before their lease is settled in storage. If storage settlement\n * itself fails, lease expiry remains the durable recovery path.\n */\nclass ClaimedBatch {\n private readonly unsettled = new Map<string, ClaimedOntologyOutboxRow>()\n private closed = false\n\n constructor(rows: readonly ClaimedOntologyOutboxRow[]) {\n for (const row of rows) this.unsettled.set(row.envelope.id, row)\n }\n\n take(rows: readonly ClaimedOntologyOutboxRow[]): readonly ClaimedOntologyOutboxRow[] {\n if (this.closed || rows.some((row) => !this.unsettled.has(row.envelope.id))) return []\n for (const row of rows) this.unsettled.delete(row.envelope.id)\n return rows\n }\n\n close(): readonly ClaimedOntologyOutboxRow[] {\n this.closed = true\n const rows = [...this.unsettled.values()]\n this.unsettled.clear()\n return rows\n }\n}\n\n/** Lease-based, at-least-once publisher for the authoritative ontology outbox. */\nexport class OntologyOutboxDispatcher {\n private readonly projectId: string\n private readonly storage: Storage\n private readonly events: StableEventPublisher\n private readonly batchSize: number\n private readonly leaseDurationMs: number\n private readonly initialRetryDelayMs: number\n private readonly maxRetryDelayMs: number\n private readonly retryJitterRatio: number\n private readonly maxIsolationAttempts: number\n private readonly maxClaimsPerDrain: number\n private readonly shutdownTimeoutMs: number\n private readonly now: () => Date\n private readonly random: () => number\n private readonly createLeaseId: () => string\n private readonly onDeliveryFailure?: OntologyOutboxDispatcherOptions[\"onDeliveryFailure\"]\n private readonly onError: (error: unknown) => void\n private readonly inFlight = new Set<ClaimedBatch>()\n private draining: Promise<void> | null = null\n private pendingDrain: Promise<void> | null = null\n private stopping: Promise<void> | null = null\n private stopRequested = false\n private readonly forcedStop = new AbortController()\n\n constructor(options: OntologyOutboxDispatcherOptions) {\n assertNonblank(options.projectId, \"projectId\")\n this.projectId = options.projectId\n this.storage = options.storage\n this.events = options.events\n this.batchSize = positiveInteger(options.batchSize ?? DEFAULT_BATCH_SIZE, \"batchSize\")\n this.leaseDurationMs = positiveInteger(\n options.leaseDurationMs ?? DEFAULT_LEASE_DURATION_MS,\n \"leaseDurationMs\"\n )\n this.initialRetryDelayMs = positiveInteger(\n options.initialRetryDelayMs ?? DEFAULT_INITIAL_RETRY_DELAY_MS,\n \"initialRetryDelayMs\"\n )\n this.maxRetryDelayMs = positiveInteger(\n options.maxRetryDelayMs ?? DEFAULT_MAX_RETRY_DELAY_MS,\n \"maxRetryDelayMs\"\n )\n if (this.maxRetryDelayMs < this.initialRetryDelayMs) {\n throw new Error(\n \"[Sixb] Ontology outbox dispatcher maxRetryDelayMs must be at least initialRetryDelayMs.\"\n )\n }\n this.retryJitterRatio = options.retryJitterRatio ?? DEFAULT_RETRY_JITTER_RATIO\n if (\n !Number.isFinite(this.retryJitterRatio) ||\n this.retryJitterRatio < 0 ||\n this.retryJitterRatio > 1\n ) {\n throw new Error(\"[Sixb] Ontology outbox dispatcher retryJitterRatio must be between 0 and 1.\")\n }\n this.maxIsolationAttempts = positiveInteger(\n options.maxIsolationAttempts ?? DEFAULT_MAX_ISOLATION_ATTEMPTS,\n \"maxIsolationAttempts\"\n )\n this.maxClaimsPerDrain = positiveInteger(\n options.maxClaimsPerDrain ?? DEFAULT_MAX_CLAIMS_PER_DRAIN,\n \"maxClaimsPerDrain\"\n )\n this.shutdownTimeoutMs = nonnegativeInteger(\n options.shutdownTimeoutMs ?? DEFAULT_SHUTDOWN_TIMEOUT_MS,\n \"shutdownTimeoutMs\"\n )\n this.now = options.now ?? (() => new Date())\n this.random = options.random ?? Math.random\n this.createLeaseId = options.createLeaseId ?? randomUUID\n this.onDeliveryFailure = options.onDeliveryFailure\n this.onError =\n options.onError ?? ((error) => console.error(\"[Sixb] Outbox dispatcher error:\", error))\n }\n\n /**\n * Publishes one bounded pass of currently due rows without starting an idle polling loop.\n *\n * Concurrent callers share one pass and at most one coalesced follow-up pass. This gives every\n * post-commit notification a chance to observe its own rows without serializing one pass per\n * mutation.\n */\n drain(): Promise<void> {\n if (this.stopRequested) return Promise.resolve()\n if (!this.draining) return this.startDrainPass()\n\n this.pendingDrain ??= settled(this.draining).then(() => {\n this.pendingDrain = null\n if (!this.stopRequested) return this.startDrainPass()\n })\n return this.pendingDrain\n }\n\n /** Starts a tracked, best-effort drain without extending mutation latency. */\n notify(): void {\n if (this.stopRequested) return\n void this.drain().catch((error) => this.reportError(error))\n }\n\n stop(): Promise<void> {\n this.stopping ??= this.stopOnce()\n return this.stopping\n }\n\n private async stopOnce(): Promise<void> {\n if (this.stopRequested) return\n\n // Include one final bounded pass so commits whose notifications were coalesced immediately\n // before shutdown are not left pending merely because the process is stopping.\n const gracefulDrain = this.drain().catch((error) => this.reportError(error))\n if (await settlesWithin(gracefulDrain, this.shutdownTimeoutMs)) {\n this.stopRequested = true\n return\n }\n\n this.stopRequested = true\n this.forcedStop.abort()\n await settlesWithin(\n this.rescheduleUnsettledForShutdown(),\n Math.min(this.shutdownTimeoutMs, 1_000)\n )\n this.draining = null\n this.pendingDrain = null\n }\n\n private startDrainPass(): Promise<void> {\n const pass = this.drainAvailable()\n this.draining = pass\n void settled(pass).then(() => {\n if (this.draining === pass) this.draining = null\n })\n return pass\n }\n\n private async drainAvailable(): Promise<void> {\n for (let claimCount = 0; claimCount < this.maxClaimsPerDrain; claimCount += 1) {\n if (this.stopRequested) return\n const rows = await this.claimBatch()\n if (rows.length === 0) return\n const publishedCount = await this.publishClaim(rows)\n if (this.stopRequested || publishedCount === 0 || rows.length < this.batchSize) return\n }\n\n // A healthy full slice means more due rows may remain. Reuse the existing coalescing path so\n // catch-up continues without recursion, an idle polling loop, or an unbounded individual pass.\n if (!this.stopRequested) this.notify()\n }\n\n private claimBatch(): Promise<readonly ClaimedOntologyOutboxRow[]> {\n const now = this.now().getTime()\n return this.withOutbox((outbox) =>\n outbox.claim({\n projectId: this.projectId,\n now: new Date(now).toISOString(),\n limit: this.batchSize,\n leaseId: this.createLeaseId(),\n leaseExpiresAt: new Date(now + this.leaseDurationMs).toISOString(),\n })\n )\n }\n\n private async publishClaim(rows: readonly ClaimedOntologyOutboxRow[]): Promise<number> {\n const claim = new ClaimedBatch(rows)\n const failures = new DeliveryFailureAccumulator()\n this.inFlight.add(claim)\n const pending: PublicationGroup[] = [{ rows }]\n let publishAttempts = 0\n let publishedCount = 0\n\n try {\n while (pending.length > 0 && !this.stopRequested) {\n const group = pending.shift()\n if (!group || group.rows.length === 0) continue\n if (publishAttempts >= this.maxIsolationAttempts && group.failure) {\n await this.rescheduleFailed(claim, group.rows, group.failure.error, failures)\n continue\n }\n publishAttempts += 1\n\n try {\n const publication = await publishUntilStopped(\n this.events.publishEnvelopes(group.rows.map((row) => row.envelope)),\n this.forcedStop.signal\n )\n if (publication === \"stopped\") break\n } catch (error) {\n if (group.rows.length > 1 && publishAttempts < this.maxIsolationAttempts) {\n const middle = Math.ceil(group.rows.length / 2)\n pending.unshift(\n { rows: group.rows.slice(middle), failure: { error } },\n { rows: group.rows.slice(0, middle), failure: { error } }\n )\n continue\n }\n await this.rescheduleFailed(claim, group.rows, error, failures)\n continue\n }\n\n await this.markPublished(claim, group.rows)\n publishedCount += group.rows.length\n }\n } finally {\n if (this.stopRequested) {\n await this.rescheduleClaimedForShutdown(claim.close())\n }\n this.inFlight.delete(claim)\n for (const failure of failures.list()) {\n this.reportDeliveryFailure(failure.error, failure.context)\n }\n }\n return publishedCount\n }\n\n private async markPublished(\n claim: ClaimedBatch,\n rows: readonly ClaimedOntologyOutboxRow[]\n ): Promise<void> {\n const settling = claim.take(rows)\n if (settling.length === 0) return\n try {\n await this.withOutbox((outbox) =>\n outbox.markPublished({\n projectId: this.projectId,\n ids: eventIds(settling),\n leaseId: sharedLeaseId(settling),\n publishedAt: this.now().toISOString(),\n })\n )\n } catch (error) {\n this.reportError(error)\n throw error\n }\n }\n\n private async rescheduleFailed(\n claim: ClaimedBatch,\n rows: readonly ClaimedOntologyOutboxRow[],\n error: unknown,\n failures: DeliveryFailureAccumulator\n ): Promise<void> {\n const settling = claim.take(rows)\n if (settling.length === 0) return\n const failedAt = this.now()\n\n for (const [attempts, attemptRows] of rowsByAttempts(settling)) {\n failures.add(error, failedAt.toISOString(), attempts, attemptRows)\n try {\n await this.withOutbox((outbox) =>\n outbox.reschedule({\n projectId: this.projectId,\n ids: eventIds(attemptRows),\n leaseId: sharedLeaseId(attemptRows),\n availableAt: new Date(failedAt.getTime() + this.retryDelayMs(attempts)).toISOString(),\n error: errorMessage(error),\n })\n )\n } catch (rescheduleError) {\n this.reportError(rescheduleError)\n throw rescheduleError\n }\n }\n }\n\n private retryDelayMs(attempts: number): number {\n const exponent = Math.max(0, Math.min(52, attempts - 1))\n const exponential = Math.min(this.maxRetryDelayMs, this.initialRetryDelayMs * 2 ** exponent)\n const random = this.random()\n const unitRandom = Number.isFinite(random) ? Math.max(0, Math.min(1, random)) : 0.5\n const jitterFactor = 1 - this.retryJitterRatio + 2 * this.retryJitterRatio * unitRandom\n return Math.min(this.maxRetryDelayMs, Math.max(0, Math.round(exponential * jitterFactor)))\n }\n\n private async rescheduleClaimedForShutdown(\n rows: readonly ClaimedOntologyOutboxRow[]\n ): Promise<void> {\n if (rows.length === 0) return\n try {\n await this.withOutbox((outbox) =>\n outbox.reschedule({\n projectId: this.projectId,\n ids: eventIds(rows),\n leaseId: sharedLeaseId(rows),\n availableAt: this.now().toISOString(),\n error: SHUTDOWN_RESCHEDULE_ERROR,\n })\n )\n } catch (error) {\n this.reportError(error)\n }\n }\n\n private async rescheduleUnsettledForShutdown(): Promise<void> {\n for (const claim of [...this.inFlight]) {\n await this.rescheduleClaimedForShutdown(claim.close())\n this.inFlight.delete(claim)\n }\n }\n\n private withOutbox<T>(run: (outbox: OntologyOutboxStorage) => Promise<T> | T): Promise<T> {\n return this.storage.transaction((tx) => run(tx.ontology.outbox))\n }\n\n private reportDeliveryFailure(error: unknown, failure: OntologyOutboxDeliveryFailure): void {\n try {\n this.onDeliveryFailure?.(error, failure)\n } catch {\n // Failure observers cannot stop delivery or create an unhandled rejection.\n }\n }\n\n private reportError(error: unknown): void {\n try {\n this.onError(error)\n } catch {\n // Error observers cannot stop delivery or create an unhandled rejection.\n }\n }\n}\n\ninterface PublicationGroup {\n readonly rows: readonly ClaimedOntologyOutboxRow[]\n readonly failure?: { readonly error: unknown }\n}\n\ninterface AccumulatedDeliveryFailure {\n readonly error: unknown\n readonly context: OntologyOutboxDeliveryFailure\n}\n\n/** Coalesces bisection failures so one claimed row is reported once per delivery attempt. */\nclass DeliveryFailureAccumulator {\n private readonly groups = new Map<\n number,\n { error: unknown; occurredAt: string; eventIds: Set<string>; eventTypes: Set<string> }\n >()\n\n add(\n error: unknown,\n occurredAt: string,\n attempts: number,\n rows: readonly ClaimedOntologyOutboxRow[]\n ): void {\n const group = this.groups.get(attempts) ?? {\n error,\n occurredAt,\n eventIds: new Set<string>(),\n eventTypes: new Set<string>(),\n }\n for (const row of rows) {\n group.eventIds.add(row.envelope.id)\n group.eventTypes.add(row.envelope.type)\n }\n this.groups.set(attempts, group)\n }\n\n list(): readonly AccumulatedDeliveryFailure[] {\n return [...this.groups.entries()].map(([attempts, group]) => ({\n error: group.error,\n context: {\n occurredAt: group.occurredAt,\n attempts,\n eventIds: [...group.eventIds].sort(),\n eventTypes: [...group.eventTypes].sort(),\n },\n }))\n }\n}\n\nfunction positiveInteger(value: number, name: string): number {\n if (!Number.isSafeInteger(value) || value <= 0) {\n throw new Error(`[Sixb] Ontology outbox dispatcher ${name} must be a positive integer.`)\n }\n return value\n}\n\nfunction nonnegativeInteger(value: number, name: string): number {\n if (!Number.isSafeInteger(value) || value < 0) {\n throw new Error(`[Sixb] Ontology outbox dispatcher ${name} must be a nonnegative integer.`)\n }\n return value\n}\n\nfunction assertNonblank(value: string, name: string): void {\n if (value.trim().length === 0) {\n throw new Error(`[Sixb] Ontology outbox dispatcher ${name} must not be blank.`)\n }\n}\n\nfunction rowsByAttempts(\n rows: readonly ClaimedOntologyOutboxRow[]\n): ReadonlyMap<number, readonly ClaimedOntologyOutboxRow[]> {\n const groups = new Map<number, ClaimedOntologyOutboxRow[]>()\n for (const row of rows) {\n const group = groups.get(row.attempts) ?? []\n group.push(row)\n groups.set(row.attempts, group)\n }\n return groups\n}\n\nfunction eventIds(rows: readonly ClaimedOntologyOutboxRow[]): string[] {\n return rows.map((row) => row.envelope.id)\n}\n\nfunction sharedLeaseId(rows: readonly ClaimedOntologyOutboxRow[]): string {\n const leaseId = rows[0]?.leaseId\n if (!leaseId || rows.some((row) => row.leaseId !== leaseId)) {\n throw new Error(\"[Sixb] Claimed ontology outbox batch does not share one lease.\")\n }\n return leaseId\n}\n\nfunction errorMessage(error: unknown): string {\n const message = error instanceof Error ? `${error.name}: ${error.message}` : String(error)\n return message.slice(0, 2_000)\n}\n\nasync function publishUntilStopped(\n publication: Promise<unknown>,\n signal: AbortSignal\n): Promise<\"published\" | \"stopped\"> {\n if (signal.aborted) return \"stopped\"\n\n return new Promise((resolve, reject) => {\n const stop = () => finish(() => resolve(\"stopped\"))\n const finish = (settle: () => void) => {\n signal.removeEventListener(\"abort\", stop)\n settle()\n }\n signal.addEventListener(\"abort\", stop, { once: true })\n void publication.then(\n () => finish(() => resolve(\"published\")),\n (error) => finish(() => reject(error))\n )\n })\n}\n\n/** Awaits a pass without adopting its failure, so one failed drain cannot reject the next. */\nfunction settled(promise: Promise<void>): Promise<void> {\n return promise.then(\n () => undefined,\n () => undefined\n )\n}\n\nasync function settlesWithin(promise: Promise<void>, timeoutMs: number): Promise<boolean> {\n let timer: ReturnType<typeof setTimeout> | undefined\n const timedOut = new Promise<false>((resolve) => {\n timer = setTimeout(() => resolve(false), timeoutMs)\n })\n const result = await Promise.race([\n promise.then(\n () => true as const,\n () => true as const\n ),\n timedOut,\n ])\n if (timer !== undefined) clearTimeout(timer)\n return result\n}\n",
8
- "import { randomUUID } from \"node:crypto\"\nimport type { Broker, BrokerCursor, BrokerRecord, BrokerStreamDefinition } from \"../broker\"\nimport { reportEventDeliveryFailure } from \"../error-reporting/capability\"\nimport { getInvalidJsonValueReason, type JsonValue } from \"../json\"\nimport type { OntologyMaterializationEvent } from \"../materialization/events\"\nimport {\n EVENT_DEFINITIONS,\n EVENT_TYPES,\n isDomainEventType,\n isOntologyFactType,\n resolveEventStorage,\n} from \"./definitions\"\nimport { EventsError } from \"./errors\"\nimport type {\n DomainEvent,\n EventActor,\n EventDraft,\n StoredAuthorableEvent,\n StoredDomainEvent,\n} from \"./types\"\n\n// Keep domain events as a short recent log. This is 2 days in milliseconds.\nexport const DEFAULT_EVENTS_RETENTION_MS = 2 * 24 * 60 * 60 * 1000\n\nexport const EVENTS_STREAM: BrokerStreamDefinition = {\n id: \"__events\",\n retention: { maxAgeMs: DEFAULT_EVENTS_RETENTION_MS },\n}\n\nexport interface EventsRuntimeOptions {\n readonly projectId: string\n readonly broker: Broker\n readonly stream?: BrokerStreamDefinition\n /**\n * The `Sixb` instance — or anything sharing its error reporter — that owns this runtime. Only `emit`\n * needs it, to escalate a lost batch. Absent means a lost batch is logged and nothing more.\n */\n readonly host?: object\n}\n\nexport interface EventsAppendInput {\n readonly actor?: EventActor\n readonly correlationId?: string\n readonly causationId?: string\n readonly events: readonly EventDraft[]\n}\n\nexport interface EventsEmitOptions {\n /** Package prefix for the console line, such as `SixbPipelineWorker`. */\n readonly source: string\n}\n\nexport interface EventsReadInput {\n readonly afterCursor?: string\n readonly limit?: number\n readonly topics?: readonly DomainEvent[\"topic\"][]\n readonly types?: readonly DomainEvent[\"type\"][]\n}\n\nexport interface EventsSubscribeInput {\n /** Defaults to live-only delivery. `afterCursor` takes precedence when provided. */\n readonly from?: \"latest\" | \"earliest\"\n readonly afterCursor?: BrokerCursor\n readonly types?: readonly DomainEvent[\"type\"][]\n}\n\n/** Exact, already-identified materialization event persisted before broker publication. @internal */\nexport type StableEventEnvelope = OntologyMaterializationEvent\n\n/** Public domain-event log. Stable ontology envelopes are intentionally absent. */\nexport interface DomainEventLog {\n append(input: EventsAppendInput): Promise<readonly StoredDomainEvent[]>\n /**\n * Append events after the work that produced them has already succeeded.\n *\n * Contract: this never rejects. The caller's unit of work is done, so a delivery failure must not\n * turn a successful run into a failed one — the implementation escalates the loss instead.\n */\n emit(input: EventsAppendInput, options: EventsEmitOptions): Promise<void>\n read(input?: EventsReadInput): Promise<readonly StoredDomainEvent[]>\n latestCursor(): Promise<string | undefined>\n subscribe(\n input: EventsSubscribeInput,\n handler: (events: readonly StoredDomainEvent[]) => void\n ): Promise<() => void>\n}\n\n/** Narrow internal port used to publish envelopes already persisted in the ontology outbox. */\nexport interface StableEventPublisher {\n publishEnvelopes(envelopes: readonly StableEventEnvelope[]): Promise<readonly StoredDomainEvent[]>\n}\n\n/** Project-scoped domain event runtime backed by the shared broker provider. */\nexport class EventsRuntime implements DomainEventLog, StableEventPublisher {\n private readonly projectId: string\n private readonly broker: Broker\n private readonly stream: BrokerStreamDefinition\n private readonly host: object | undefined\n private readonly ensureStreamPromises = new Map<string, Promise<void>>()\n\n constructor(options: EventsRuntimeOptions) {\n this.projectId = options.projectId\n this.broker = options.broker\n this.stream = options.stream ?? EVENTS_STREAM\n this.host = options.host\n }\n\n /**\n * Append events after the work that produced them has already succeeded.\n *\n * Unlike `append`, this never rejects: the caller's unit of work is done, so a broker outage must not\n * turn a successful run into a failed one. It is not a swallow either — every event Sixb publishes is\n * a potential trigger edge (a rule's `.when()`, an event schedule, a workflow's wait node), so a lost\n * batch is a handler that silently never runs. The loss is escalated to `onError` as\n * `event.delivery.failed`; the console line is there for local debugging.\n *\n * Framework emit sites want this. Application code wants `append`, which reports failure to the\n * caller and returns the stored envelopes.\n */\n async emit(input: EventsAppendInput, options: EventsEmitOptions): Promise<void> {\n try {\n await this.append(input)\n } catch (error) {\n try {\n const eventTypes = input.events.map((event) => event.type)\n // Escalate before logging. `console` is replaceable and `onError` is the contract, so a\n // replacement that throws must not be what loses the report.\n reportEventDeliveryFailure(this.host, error, {\n projectId: this.projectId,\n eventTypes,\n })\n console.error(`[${options.source}] Failed to emit ${eventTypes.join(\", \")}:`, error)\n } catch {\n // The contract above is absolute, so escalation cannot be the thing that breaks it: a replaced\n // `console` that throws would turn a run that already succeeded into a failed one. The loss is\n // already unreported at this point — rejecting on top of it helps nobody. `SixbErrorReporter`\n // guards its own console line the same way.\n }\n }\n }\n\n async append(input: EventsAppendInput): Promise<readonly StoredDomainEvent[]> {\n if (input.events.length === 0) {\n return []\n }\n for (const event of input.events) {\n if (isOntologyFactType(event.type)) {\n throw new EventsError(\n `Event type '${event.type}' is an authoritative ontology fact and cannot be appended directly.`\n )\n }\n }\n\n const payloads = input.events.map((event) =>\n toStoredEventPayload({\n projectId: this.projectId,\n actor: input.actor,\n correlationId: input.correlationId,\n causationId: input.causationId,\n event,\n })\n )\n\n await this.ensureStream()\n const records = await this.broker.append({\n projectId: this.projectId,\n streamId: this.stream.id,\n records: payloads.map((payload) => ({\n name: payload.type,\n key: payload.partitionKey,\n payload: toBrokerRecordPayload(payload),\n idempotencyKey: payload.idempotencyKey,\n })),\n })\n\n if (records.length !== payloads.length) {\n throw new EventsError(\n `Broker returned ${records.length} record(s) for ${payloads.length} appended event(s).`\n )\n }\n\n return records.map(hydrateEventRecord)\n }\n\n /** Publishes persisted envelopes without changing their stable event identity. @internal */\n async publishEnvelopes(\n envelopes: readonly StableEventEnvelope[]\n ): Promise<readonly StoredDomainEvent[]> {\n if (envelopes.length === 0) {\n return []\n }\n\n for (const envelope of envelopes) {\n if (envelope.projectId !== this.projectId) {\n throw new EventsError(\n `Event '${envelope.id}' belongs to project '${envelope.projectId}', not '${this.projectId}'.`\n )\n }\n if (!isDomainEventType(envelope.type)) {\n throw new EventsError(`Event '${envelope.id}' has unknown event type.`)\n }\n if (EVENT_DEFINITIONS[envelope.type].topic !== envelope.topic) {\n throw new EventsError(\n `Event '${envelope.id}' topic '${envelope.topic}' does not match type '${envelope.type}'.`\n )\n }\n }\n\n await this.ensureStream()\n const records = await this.broker.append({\n projectId: this.projectId,\n streamId: this.stream.id,\n records: envelopes.map((envelope) => ({\n name: envelope.type,\n key: envelope.partitionKey,\n payload: toBrokerRecordPayload(envelope),\n idempotencyKey: envelope.id,\n })),\n })\n\n if (records.length !== envelopes.length) {\n throw new EventsError(\n `Broker returned ${records.length} record(s) for ${envelopes.length} published event(s).`\n )\n }\n\n return records.map(hydrateEventRecord)\n }\n\n async read(input: EventsReadInput = {}): Promise<readonly StoredDomainEvent[]> {\n if (input.limit !== undefined && input.limit <= 0) {\n return []\n }\n\n const names = resolveTypeFilter(input)\n if (names && names.length === 0) {\n return []\n }\n\n await this.ensureStream()\n const page = await this.broker.read({\n projectId: this.projectId,\n streamId: this.stream.id,\n afterCursor: input.afterCursor,\n limit: input.limit,\n names,\n })\n\n return page.records.map(hydrateEventRecord)\n }\n\n async latestCursor(): Promise<string | undefined> {\n await this.ensureStream()\n return this.broker.latestCursor({\n projectId: this.projectId,\n streamId: this.stream.id,\n })\n }\n\n async subscribe(\n input: EventsSubscribeInput,\n handler: (events: readonly StoredDomainEvent[]) => void\n ): Promise<() => void> {\n await this.ensureStream()\n return this.broker.subscribe(\n {\n projectId: this.projectId,\n streamId: this.stream.id,\n from: input.from,\n afterCursor: input.afterCursor,\n names: input.types && input.types.length > 0 ? input.types : EVENT_TYPES,\n },\n (records) => {\n const events = records.map(hydrateEventRecord)\n if (events.length === 0) {\n return\n }\n\n try {\n handler(events)\n } catch {\n // Preserve fire-and-forget subscriber semantics.\n }\n }\n )\n }\n\n private ensureStream(): Promise<void> {\n const key = `${this.projectId}\\0${this.stream.id}`\n let promise = this.ensureStreamPromises.get(key)\n if (!promise) {\n promise = this.broker\n .ensureStream({\n projectId: this.projectId,\n stream: this.stream,\n })\n .catch((error) => {\n if (this.ensureStreamPromises.get(key) === promise) {\n this.ensureStreamPromises.delete(key)\n }\n throw error\n })\n this.ensureStreamPromises.set(key, promise)\n }\n return promise\n }\n}\n\ntype StoredEventPayload = Omit<StoredAuthorableEvent, \"cursor\">\n\nfunction toStoredEventPayload(params: {\n projectId: string\n actor?: EventActor\n correlationId?: string\n causationId?: string\n event: EventDraft\n}): StoredEventPayload {\n const storage = resolveEventStorage(params.event)\n const payload: Record<string, unknown> = {\n id: randomUUID(),\n schemaVersion: 1,\n projectId: params.projectId,\n occurredAt: params.event.occurredAt ?? new Date().toISOString(),\n type: params.event.type,\n topic: storage.topic,\n partitionKey: storage.partitionKey,\n payload: params.event.payload,\n }\n\n setIfDefined(payload, \"correlationId\", params.correlationId)\n setIfDefined(payload, \"causationId\", params.causationId)\n setIfDefined(payload, \"idempotencyKey\", params.event.idempotencyKey)\n setIfDefined(payload, \"actor\", params.actor)\n setIfDefined(payload, \"origin\", params.event.origin)\n setIfDefined(payload, \"metadata\", params.event.metadata)\n\n return payload as StoredEventPayload\n}\n\nfunction toBrokerRecordPayload(payload: StoredEventPayload | StableEventEnvelope): JsonValue {\n const reason = getInvalidJsonValueReason(payload, `event '${payload.type}' payload`)\n if (reason) {\n throw new EventsError(`Event '${payload.type}' cannot be stored in broker; ${reason}`)\n }\n\n return payload as unknown as JsonValue\n}\n\nfunction hydrateEventRecord(record: BrokerRecord): StoredDomainEvent {\n const payload = record.payload\n if (!isObjectRecord(payload)) {\n throw new EventsError(`Broker record at cursor '${record.cursor}' is not an event object.`)\n }\n\n const eventType = payload.type\n if (typeof eventType !== \"string\" || !isDomainEventType(eventType)) {\n throw new EventsError(`Broker record at cursor '${record.cursor}' has unknown event type.`)\n }\n\n if (record.name !== undefined && record.name !== eventType) {\n throw new EventsError(\n `Broker record name '${record.name}' does not match event type '${eventType}'.`\n )\n }\n\n return {\n ...payload,\n cursor: record.cursor,\n } as StoredDomainEvent\n}\n\nfunction resolveTypeFilter(input: {\n topics?: readonly DomainEvent[\"topic\"][]\n types?: readonly DomainEvent[\"type\"][]\n}): readonly DomainEvent[\"type\"][] {\n const topicTypes =\n input.topics && input.topics.length > 0\n ? EVENT_TYPES.filter((type) => input.topics?.includes(EVENT_DEFINITIONS[type].topic))\n : undefined\n\n if (!topicTypes) {\n return input.types && input.types.length > 0 ? input.types : EVENT_TYPES\n }\n\n if (!input.types || input.types.length === 0) {\n return topicTypes\n }\n\n const requestedTypes = new Set(input.types)\n return topicTypes.filter((type) => requestedTypes.has(type))\n}\n\nfunction isObjectRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null\n}\n\nfunction setIfDefined(target: Record<string, unknown>, key: string, value: unknown): void {\n if (value !== undefined) {\n target[key] = value\n }\n}\n",
9
- "import { randomUUID } from \"node:crypto\"\nimport { resolveEventStorage } from \"./definitions\"\nimport type { EventActor, EventDraft, StoredAuthorableEvent } from \"./types/index\"\n\nexport function toStoredEvent(params: {\n projectId: string\n actor?: EventActor\n correlationId?: string\n causationId?: string\n event: EventDraft\n cursor: string\n}): StoredAuthorableEvent {\n const base = {\n id: randomUUID(),\n schemaVersion: 1 as const,\n projectId: params.projectId,\n occurredAt: params.event.occurredAt ?? new Date().toISOString(),\n correlationId: params.correlationId,\n causationId: params.causationId,\n idempotencyKey: params.event.idempotencyKey,\n actor: params.actor,\n origin: params.event.origin,\n metadata: params.event.metadata,\n cursor: params.cursor,\n }\n\n const storage = resolveEventStorage(params.event)\n return {\n ...base,\n type: params.event.type,\n topic: storage.topic,\n partitionKey: storage.partitionKey,\n payload: params.event.payload,\n } as StoredAuthorableEvent\n}\n"
10
- ],
11
- "mappings": "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",
12
- "debugId": "DDB208C4130F7EB764756E2164756E21",
13
- "names": []
14
- }
@@ -1,13 +0,0 @@
1
- import type { ConnectorAdapter, ConnectorClient, ConnectorDefinition } from "./types";
2
- export declare class ConnectorRuntime {
3
- private readonly projectId;
4
- private readonly definitionsById;
5
- private readonly connectionStates;
6
- constructor(projectId: string, definitions: readonly ConnectorDefinition[]);
7
- list(): readonly ConnectorDefinition[];
8
- getById(id: string): ConnectorDefinition | null;
9
- connect<TAdapter extends ConnectorAdapter>(definition: ConnectorDefinition<string, TAdapter>): Promise<ConnectorClient<TAdapter>>;
10
- disconnectAll(): Promise<void>;
11
- private disconnectState;
12
- }
13
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/connectors/runtime.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAA;AAOrF,qBAAa,gBAAgB;IAKzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAJ5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyC;IACzE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA2D;gBAGzE,SAAS,EAAE,MAAM,EAClC,WAAW,EAAE,SAAS,mBAAmB,EAAE;IAW7C,IAAI,IAAI,SAAS,mBAAmB,EAAE;IAItC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI;IAIzC,OAAO,CAAC,QAAQ,SAAS,gBAAgB,EAC7C,UAAU,EAAE,mBAAmB,CAAC,MAAM,EAAE,QAAQ,CAAC,GAChD,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAsC/B,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;YAStB,eAAe;CAiB9B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/events/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- /**
2
- * Resolved context types for object operations.
3
- *
4
- * Context hierarchy: SixbRuntimeContext → ResolvedObjectContext → ResolvedLinkContext
5
- *
6
- * Factory functions resolve ontology identifiers into concrete type data,
7
- * so leaf functions receive all structural information pre-resolved.
8
- */
9
- import type { ObjectLink } from "../ontology";
10
- import type { ObjectTypeWithPropertyTokens } from "../ontology/tokens";
11
- import type { SixbRuntimeContext } from "../runtime/types";
12
- /** Resolved context for object operations — extends runtime with resolved type info. */
13
- export interface ResolvedObjectContext extends SixbRuntimeContext {
14
- readonly objectType: ObjectTypeWithPropertyTokens;
15
- readonly primaryPropertyId: string;
16
- }
17
- /** Resolved context for link operations. */
18
- export interface ResolvedLinkContext extends ResolvedObjectContext {
19
- readonly linkDefinition: ObjectLink;
20
- }
21
- /** Pre-resolved data for a single item in a link batch operation. */
22
- export interface ResolvedLinkBatchItem {
23
- readonly objectType: ObjectTypeWithPropertyTokens;
24
- readonly linkDefinition: ObjectLink;
25
- readonly sourceId: string;
26
- readonly linkId: string;
27
- readonly targetTypeId: string;
28
- readonly targetId: string;
29
- readonly properties?: Record<string, unknown>;
30
- }
31
- /**
32
- * Resolve an object type id to a full ResolvedObjectContext.
33
- *
34
- * Uses ontology.resolveObjectType() and getPrimaryPropertyId() — these
35
- * are structural resolution calls that belong in factories, not leaf functions.
36
- */
37
- export declare function resolveObjectContext(runtime: SixbRuntimeContext, objectTypeId: string): ResolvedObjectContext;
38
- /**
39
- * Resolve a link id to a full ResolvedLinkContext.
40
- *
41
- * Uses requireLinkDefinition to look up the link definition on the
42
- * already-resolved object type.
43
- */
44
- export declare function resolveLinkContext(objCtx: ResolvedObjectContext, linkId: string): ResolvedLinkContext;
45
- //# sourceMappingURL=contexts.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"contexts.d.ts","sourceRoot":"","sources":["../../src/objects/contexts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAG1D,wFAAwF;AACxF,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAA;IACjD,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;CACnC;AAED,4CAA4C;AAC5C,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAA;CACpC;AAED,qEAAqE;AACrE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,UAAU,EAAE,4BAA4B,CAAA;IACjD,QAAQ,CAAC,cAAc,EAAE,UAAU,CAAA;IACnC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC9C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,kBAAkB,EAC3B,YAAY,EAAE,MAAM,GACnB,qBAAqB,CAIvB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,MAAM,GACb,mBAAmB,CAGrB"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Cross-cutting helpers used across multiple domain subdirectories.
3
- */
4
- import type { ObjectRow, Storage } from "../storage";
5
- /** Load an object by primary id, throwing ObjectNotFoundError if missing. */
6
- export declare function requireObject(storage: Storage, projectId: string, objectTypeId: string, primaryId: string, context: string): Promise<ObjectRow>;
7
- //# sourceMappingURL=helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/objects/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAGpD,6EAA6E;AAC7E,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CAIpB"}
@@ -1,158 +0,0 @@
1
- /**
2
- * Scoped SDK surface returned by `sixb.as(context)`.
3
- *
4
- * The scoped types are masks over the full SDK types — derived from the same
5
- * declarations, never copies — so signatures cannot drift and new surface area
6
- * stays hidden until its grants are enforceable end to end. The runtime values
7
- * are the same factories running over an authorization-carrying runtime
8
- * context; leaf asserts and query planning enforce the grants.
9
- */
10
- import type { ActionDefinition, RequestActionAndWaitInput, RequestActionInput, RequestActionResult } from "../actions";
11
- import type { AgentDefinition, AgentsRuntime, RequestAgentRunInput, RequestAgentRunResult, ScopedListAgentThreadsInput } from "../agents";
12
- import { type AuthorizationContext } from "../authorization";
13
- import type { DatasetDefinition } from "../datasets";
14
- import type { EventsReadInput, StoredDomainEvent } from "../events";
15
- import type { ListObjectsParams } from "../objects/service";
16
- import type { ValueType } from "../ontology";
17
- import type { ObjectTypeWithPropertyTokens } from "../ontology/tokens";
18
- import type { PipelineDefinition } from "../pipelines";
19
- import { type PipelineRunRequestResult, type RequestPipelineRunInput } from "../pipelines/request";
20
- import type { ObjectRow } from "../storage";
21
- import type { ActionRunRecord } from "../storage/action-runs";
22
- import type { AgentThreadRecord, ListAgentThreadsResult } from "../storage/agents";
23
- import type { SyncDefinition } from "../syncs";
24
- import { type RequestSyncRunInput, type SyncRunRequestResult } from "../syncs/request";
25
- import type { RequestWorkflowRunInput, WorkflowDefinition, WorkflowRunRequestResult, WorkflowsRuntime } from "../workflows";
26
- import type { ListResult, ObjectByIdHandle, ObjectSet, OntologySource, RegisteredObjectType, RegisteredValueTypes, SixbInstance, SixbRuntimeContext } from "./types";
27
- export interface ScopedObjectByIdHandle<TObjectType extends ObjectTypeWithPropertyTokens, TValueTypes extends readonly ValueType[]> {
28
- get: ObjectByIdHandle<TObjectType, TValueTypes>["get"];
29
- requestAction: ObjectByIdHandle<TObjectType, TValueTypes>["requestAction"];
30
- requestActionAndWait: ObjectByIdHandle<TObjectType, TValueTypes>["requestActionAndWait"];
31
- /** Requires `edit:object` on this type and `view:object` on the link target. */
32
- link: ObjectByIdHandle<TObjectType, TValueTypes>["link"];
33
- /** Requires `edit:object` on this type and `view:object` on the link target. */
34
- unlink: ObjectByIdHandle<TObjectType, TValueTypes>["unlink"];
35
- /** Requires `edit:object`. */
36
- delete: ObjectByIdHandle<TObjectType, TValueTypes>["delete"];
37
- /** Requires `edit:object`. */
38
- restore: ObjectByIdHandle<TObjectType, TValueTypes>["restore"];
39
- /** `append()` requires `append:telemetry`; `history()` requires `view:object`. */
40
- telemetry: ObjectByIdHandle<TObjectType, TValueTypes>["telemetry"];
41
- }
42
- export interface ScopedObjectSet<TObjectType extends ObjectTypeWithPropertyTokens, TValueTypes extends readonly ValueType[], TRegisteredObjectTypes extends ObjectTypeWithPropertyTokens = TObjectType> {
43
- get: ObjectSet<TObjectType, TValueTypes, TRegisteredObjectTypes>["get"];
44
- list: ObjectSet<TObjectType, TValueTypes, TRegisteredObjectTypes>["list"];
45
- query: ObjectSet<TObjectType, TValueTypes, TRegisteredObjectTypes>["query"];
46
- requestAction: ObjectSet<TObjectType, TValueTypes, TRegisteredObjectTypes>["requestAction"];
47
- requestActionAndWait: ObjectSet<TObjectType, TValueTypes, TRegisteredObjectTypes>["requestActionAndWait"];
48
- /** Requires `view:object` and `edit:object`. */
49
- upsert: ObjectSet<TObjectType, TValueTypes, TRegisteredObjectTypes>["upsert"];
50
- /** Requires `edit:object` on this type and `view:object` on the link target. */
51
- upsertLink: ObjectSet<TObjectType, TValueTypes, TRegisteredObjectTypes>["upsertLink"];
52
- /** Requires `edit:object` on this type and `view:object` on the link target. */
53
- removeLink: ObjectSet<TObjectType, TValueTypes, TRegisteredObjectTypes>["removeLink"];
54
- /** Requires `append:telemetry` — and notably not `view:object`. */
55
- appendTelemetryBatch: ObjectSet<TObjectType, TValueTypes, TRegisteredObjectTypes>["appendTelemetryBatch"];
56
- /** Bind read, write, and action operations to a specific object id. */
57
- byId(id: string): ScopedObjectByIdHandle<TObjectType, TValueTypes>;
58
- }
59
- /**
60
- * Principal-scoped runtime surface.
61
- *
62
- * Exposes only operations whose grants are enforceable end to end (`can.view`, `can.edit`,
63
- * `can.append`, `can.apply`, `can.run`, `can.observe`). Infra handles, lifecycle, auth
64
- * administration, and `listLinks` stay on the privileged runtime.
65
- */
66
- export interface ScopedSixb<TOntologySources extends readonly OntologySource[]> {
67
- /** The authorization context this SDK instance enforces. */
68
- readonly authorization: AuthorizationContext;
69
- /** Type-safe ObjectSet narrowed to grant-enforceable operations. */
70
- objects<TObjectType extends RegisteredObjectType<TOntologySources>>(objectType: TObjectType): ScopedObjectSet<TObjectType, RegisteredValueTypes<TOntologySources>, RegisteredObjectType<TOntologySources>>;
71
- /** Cross-type listing narrowed to the principal's viewable object types. */
72
- list(params: ListObjectsParams): Promise<ListResult<ObjectRow>>;
73
- /** Get an object by type id and primary id (server / dynamic contexts). */
74
- getObject(objectTypeId: string, primaryId: string): Promise<ObjectRow | null>;
75
- /**
76
- * The primary property of a type the principal may view.
77
- *
78
- * Asserts before it looks the type up, which is the whole point of having it here: the privileged
79
- * lookup answers "unknown type" for an unregistered id and a primary property for a registered
80
- * one, so a caller that reaches it before any grant check can tell the two apart. Every other
81
- * ontology read is grant-filtered — `listObjectTypes` returns only viewable types — and this
82
- * matches them.
83
- */
84
- getPrimaryPropertyId: SixbInstance<TOntologySources>["getPrimaryPropertyId"];
85
- /** Upsert an object by type id. Requires `view:object` and `edit:object`. */
86
- upsertObject: SixbInstance<TOntologySources>["upsertObject"];
87
- /** Batch upsert objects of one type. Requires `view:object` and `edit:object`. */
88
- upsertObjectBatch: SixbInstance<TOntologySources>["upsertObjectBatch"];
89
- /** Create or update a link. Requires `edit:object` on the source, `view:object` on the target. */
90
- upsertLink: SixbInstance<TOntologySources>["upsertLink"];
91
- /** Batch upsert links. Asserted for every item before anything commits. */
92
- upsertLinkBatch: SixbInstance<TOntologySources>["upsertLinkBatch"];
93
- /** Remove a link. Requires `edit:object` on the source, `view:object` on the target. */
94
- removeLink: SixbInstance<TOntologySources>["removeLink"];
95
- /** Append telemetry. Requires `append:telemetry` — and notably not `view:object`. */
96
- appendTelemetry: SixbInstance<TOntologySources>["appendTelemetry"];
97
- /** Dataset definitions the principal may view. */
98
- listDatasets(): readonly DatasetDefinition[];
99
- /** Look up a viewable dataset definition; null hides ungranted datasets. */
100
- getDatasetById(datasetId: string): DatasetDefinition | null;
101
- /** Action definitions the principal may apply. */
102
- listActions(): readonly ActionDefinition[];
103
- /** Look up an applicable action definition; null hides ungranted actions. */
104
- getActionById(actionId: string): ActionDefinition | null;
105
- /** Request an action by id (server / dynamic contexts). Requires `can.apply`. */
106
- requestAction(input: RequestActionInput): Promise<RequestActionResult>;
107
- /** Request an action by id and wait for the run to settle. Requires `can.apply`. */
108
- requestActionAndWait(input: RequestActionAndWaitInput): Promise<ActionRunRecord>;
109
- /** Workflow definitions the principal may run. */
110
- listWorkflows(): readonly WorkflowDefinition[];
111
- /** Look up a runnable workflow definition; null hides workflows the principal cannot run. */
112
- getWorkflowById(workflowId: string): WorkflowDefinition | null;
113
- /** Queue a workflow run. Requires `can.run`. */
114
- requestWorkflowRun(input: RequestWorkflowRunInput): Promise<WorkflowRunRequestResult>;
115
- /** Sync definitions the principal may run. */
116
- listSyncs(): readonly SyncDefinition[];
117
- /** Look up a runnable sync definition; null hides syncs the principal cannot run. */
118
- getSyncById(syncId: string): SyncDefinition | null;
119
- /** Queue a sync run. Requires `can.run`. */
120
- requestSyncRun(input: RequestSyncRunInput): Promise<SyncRunRequestResult>;
121
- /** Pipeline definitions the principal may run. */
122
- listPipelines(): readonly PipelineDefinition[];
123
- /** Look up a runnable pipeline definition; null hides pipelines the principal cannot run. */
124
- getPipelineById(pipelineId: string): PipelineDefinition | null;
125
- /** Queue a pipeline run. Requires `can.run`. */
126
- requestPipelineRun(input: RequestPipelineRunInput): Promise<PipelineRunRequestResult>;
127
- /** Agent definitions the principal may run. */
128
- listAgents(): readonly AgentDefinition[];
129
- /** Look up a runnable agent definition; null hides agents the principal cannot run. */
130
- getAgentById(agentId: string): AgentDefinition | null;
131
- /** Request an agent turn. Requires `can.run`. */
132
- requestAgentRun(input: RequestAgentRunInput): Promise<RequestAgentRunResult>;
133
- /** List agent threads the principal owns and may run (owner + `run:agent` filtered). */
134
- listThreads(input?: ScopedListAgentThreadsInput): Promise<ListAgentThreadsResult>;
135
- /** Read one agent thread the principal owns and may run; null hides inaccessible threads. */
136
- getThread(threadId: string): Promise<AgentThreadRecord | null>;
137
- /** Read the domain events the principal is allowed to see (derived from grants). */
138
- readEvents(input?: EventsReadInput): Promise<readonly StoredDomainEvent[]>;
139
- }
140
- export declare function createScopedSixb<TOntologySources extends readonly OntologySource[]>(runtime: SixbRuntimeContext & {
141
- readonly authorization: AuthorizationContext;
142
- }, deps: {
143
- readonly datasets: {
144
- readonly list: () => readonly DatasetDefinition[];
145
- readonly getById: (datasetId: string) => DatasetDefinition | null;
146
- };
147
- readonly syncs: {
148
- readonly list: () => readonly SyncDefinition[];
149
- readonly getById: (syncId: string) => SyncDefinition | null;
150
- };
151
- readonly pipelines: {
152
- readonly list: () => readonly PipelineDefinition[];
153
- readonly getById: (pipelineId: string) => PipelineDefinition | null;
154
- };
155
- readonly workflows: WorkflowsRuntime;
156
- readonly agents: AgentsRuntime;
157
- }): ScopedSixb<TOntologySources>;
158
- //# sourceMappingURL=scoped.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scoped.d.ts","sourceRoot":"","sources":["../../src/runtime/scoped.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- import type { GroupDefinition, MembershipPolicyDefinition, RoleDefinition, SecurityRegistry } from "./types";
2
- export declare function createRuntimeSecurityRegistry(input: {
3
- readonly groups?: readonly GroupDefinition[];
4
- readonly roles?: readonly RoleDefinition[];
5
- readonly membershipPolicies?: readonly MembershipPolicyDefinition[];
6
- readonly applicationIds?: ReadonlySet<string>;
7
- readonly objectTypeIds?: ReadonlySet<string>;
8
- readonly datasetIds?: ReadonlySet<string>;
9
- readonly actionIds?: ReadonlySet<string>;
10
- readonly workflowIds?: ReadonlySet<string>;
11
- readonly syncIds?: ReadonlySet<string>;
12
- readonly pipelineIds?: ReadonlySet<string>;
13
- readonly agentIds?: ReadonlySet<string>;
14
- readonly getSubTypes?: (objectTypeId: string) => readonly string[];
15
- }): SecurityRegistry;
16
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/security/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC1B,cAAc,EACd,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAwChB,wBAAgB,6BAA6B,CAAC,KAAK,EAAE;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAA;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAA;CACnE,GAAG,gBAAgB,CAwCnB"}
@@ -1,18 +0,0 @@
1
- import type { WebhookDeliveryClaimRecord, WebhookDeliveryKey, WebhookDeliveryRecord, WebhookDeliveryStorage } from "./types";
2
- export declare class InMemoryWebhookDeliveryStorage implements WebhookDeliveryStorage {
3
- private readonly deliveries;
4
- snapshot(): InMemoryWebhookDeliveryStorageSnapshot;
5
- restore(snapshot: InMemoryWebhookDeliveryStorageSnapshot): void;
6
- claim(input: WebhookDeliveryKey & {
7
- receivedAt: string;
8
- }): Promise<WebhookDeliveryClaimRecord>;
9
- complete(input: WebhookDeliveryKey & {
10
- completedAt: string;
11
- }): Promise<WebhookDeliveryRecord>;
12
- fail(input: WebhookDeliveryKey & {
13
- failedAt: string;
14
- error: string;
15
- }): Promise<WebhookDeliveryRecord>;
16
- }
17
- export type InMemoryWebhookDeliveryStorageSnapshot = Map<string, WebhookDeliveryRecord>;
18
- //# sourceMappingURL=in-memory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"in-memory.d.ts","sourceRoot":"","sources":["../../../src/storage/webhook-deliveries/in-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,kBAAkB,EAClB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAMhB,qBAAa,8BAA+B,YAAW,sBAAsB;IAC3E,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2C;IAEtE,QAAQ,IAAI,sCAAsC;IAIlD,OAAO,CAAC,QAAQ,EAAE,sCAAsC,GAAG,IAAI;IAOzD,KAAK,CACT,KAAK,EAAE,kBAAkB,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GACjD,OAAO,CAAC,0BAA0B,CAAC;IAmChC,QAAQ,CACZ,KAAK,EAAE,kBAAkB,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,GAClD,OAAO,CAAC,qBAAqB,CAAC;IAkB3B,IAAI,CACR,KAAK,EAAE,kBAAkB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAC9D,OAAO,CAAC,qBAAqB,CAAC;CAiBlC;AAED,MAAM,MAAM,sCAAsC,GAAG,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA"}
@@ -1,3 +0,0 @@
1
- export { InMemoryWebhookDeliveryStorage } from "./in-memory";
2
- export type { WebhookDeliveryClaimRecord, WebhookDeliveryClaimResult, WebhookDeliveryKey, WebhookDeliveryRecord, WebhookDeliveryStatus, WebhookDeliveryStorage, } from "./types";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/webhook-deliveries/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAA;AAC5D,YAAY,EACV,0BAA0B,EAC1B,0BAA0B,EAC1B,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,SAAS,CAAA"}
@@ -1,43 +0,0 @@
1
- export type WebhookDeliveryClaimResult = "claimed" | "duplicate" | "in_progress";
2
- export type WebhookDeliveryStatus = "in_progress" | "completed" | "failed";
3
- export interface WebhookDeliveryKey {
4
- readonly projectId: string;
5
- readonly connectorId: string;
6
- readonly webhookId: string;
7
- readonly idempotencyKey: string;
8
- }
9
- export interface WebhookDeliveryRecord extends WebhookDeliveryKey {
10
- readonly status: WebhookDeliveryStatus;
11
- readonly receivedAt?: string;
12
- readonly completedAt?: string;
13
- readonly failedAt?: string;
14
- readonly error?: string;
15
- }
16
- export interface WebhookDeliveryClaimRecord extends WebhookDeliveryRecord {
17
- readonly claimResult: WebhookDeliveryClaimResult;
18
- }
19
- /**
20
- * Durable ledger used by idempotent webhooks to claim provider delivery ids.
21
- *
22
- * Implementations must make `claim(...)` atomic for a scoped key so duplicate
23
- * provider retries cannot run the same handler concurrently.
24
- */
25
- export interface WebhookDeliveryStorage {
26
- /**
27
- * Atomically reserve a provider delivery key.
28
- *
29
- * New or previously failed keys return "claimed". Completed keys return
30
- * "duplicate", and keys currently being handled return "in_progress".
31
- */
32
- claim(input: WebhookDeliveryKey & {
33
- receivedAt: string;
34
- }): Promise<WebhookDeliveryClaimRecord>;
35
- complete(input: WebhookDeliveryKey & {
36
- completedAt: string;
37
- }): Promise<WebhookDeliveryRecord>;
38
- fail(input: WebhookDeliveryKey & {
39
- failedAt: string;
40
- error: string;
41
- }): Promise<WebhookDeliveryRecord>;
42
- }
43
- //# sourceMappingURL=types.d.ts.map