@sixb/core 0.1.0 → 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 (1196) hide show
  1. package/README.md +54 -23
  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 +34 -23
  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 +4 -4
  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/builders.d.ts +8 -1
  27. package/dist/agents/builders.d.ts.map +1 -1
  28. package/dist/agents/context.js +2 -2
  29. package/dist/agents/dispatch.d.ts.map +1 -1
  30. package/dist/agents/errors.d.ts +16 -1
  31. package/dist/agents/errors.d.ts.map +1 -1
  32. package/dist/agents/execution.d.ts +45 -0
  33. package/dist/agents/execution.d.ts.map +1 -0
  34. package/dist/agents/index.d.ts +10 -10
  35. package/dist/agents/index.d.ts.map +1 -1
  36. package/dist/agents/index.js +81 -14
  37. package/dist/agents/index.js.map +1 -1
  38. package/dist/agents/prompt.d.ts.map +1 -1
  39. package/dist/agents/request.d.ts +6 -2
  40. package/dist/agents/request.d.ts.map +1 -1
  41. package/dist/agents/streams.d.ts +29 -3
  42. package/dist/agents/streams.d.ts.map +1 -1
  43. package/dist/agents/streams.js +22 -3
  44. package/dist/agents/streams.js.map +1 -1
  45. package/dist/agents/tool-definition.d.ts +9 -0
  46. package/dist/agents/tool-definition.d.ts.map +1 -0
  47. package/dist/agents/types.d.ts +64 -0
  48. package/dist/agents/types.d.ts.map +1 -1
  49. package/dist/agents/validation.d.ts +16 -3
  50. package/dist/agents/validation.d.ts.map +1 -1
  51. package/dist/auth/attribution.d.ts +17 -0
  52. package/dist/auth/attribution.d.ts.map +1 -0
  53. package/dist/auth/index.d.ts +1 -0
  54. package/dist/auth/index.d.ts.map +1 -1
  55. package/dist/auth/index.js +9 -5
  56. package/dist/auth/index.js.map +1 -1
  57. package/dist/auth/runtime.d.ts +4 -4
  58. package/dist/auth/runtime.d.ts.map +1 -1
  59. package/dist/authorization/decision.d.ts +24 -11
  60. package/dist/authorization/decision.d.ts.map +1 -1
  61. package/dist/authorization/grant-kinds.d.ts +2 -1
  62. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  63. package/dist/authorization/index.d.ts +1 -1
  64. package/dist/authorization/index.d.ts.map +1 -1
  65. package/dist/authorization/index.js +8 -4
  66. package/dist/authorization/index.js.map +1 -1
  67. package/dist/blob-storage/browser.js +3 -2
  68. package/dist/blob-storage/browser.js.map +1 -1
  69. package/dist/blob-storage/execution.d.ts +16 -0
  70. package/dist/blob-storage/execution.d.ts.map +1 -0
  71. package/dist/blob-storage/index.js +4 -3
  72. package/dist/blob-storage/index.js.map +1 -1
  73. package/dist/blob-storage/validation.d.ts.map +1 -1
  74. package/dist/bootstrap/discovery.d.ts +90 -24
  75. package/dist/bootstrap/discovery.d.ts.map +1 -1
  76. package/dist/bootstrap/index.d.ts +2 -1
  77. package/dist/bootstrap/index.d.ts.map +1 -1
  78. package/dist/bootstrap/index.js +59 -59
  79. package/dist/bootstrap/index.js.map +1 -1
  80. package/dist/broker/in-memory.d.ts.map +1 -1
  81. package/dist/broker/index.js +2 -2
  82. package/dist/broker/types.d.ts +5 -0
  83. package/dist/broker/types.d.ts.map +1 -1
  84. package/dist/chunk-0172wgm9.js +333 -0
  85. package/dist/chunk-0172wgm9.js.map +11 -0
  86. package/dist/chunk-0k4avqr2.js +317 -0
  87. package/dist/chunk-0k4avqr2.js.map +11 -0
  88. package/dist/chunk-0mbx247x.js +2922 -0
  89. package/dist/chunk-0mbx247x.js.map +43 -0
  90. package/dist/chunk-34bqh420.js +1168 -0
  91. package/dist/chunk-34bqh420.js.map +23 -0
  92. package/dist/{chunk-mx84y05q.js → chunk-3j7573mj.js} +2 -2
  93. package/dist/{chunk-mx84y05q.js.map → chunk-3j7573mj.js.map} +2 -2
  94. package/dist/{chunk-45tw90k7.js → chunk-4gz41why.js} +1 -1
  95. package/dist/chunk-4x43bkbp.js +55 -0
  96. package/dist/chunk-4x43bkbp.js.map +11 -0
  97. package/dist/{chunk-xqbtf4wn.js → chunk-57r1cpxx.js} +3 -2
  98. package/dist/{chunk-xqbtf4wn.js.map → chunk-57r1cpxx.js.map} +3 -3
  99. package/dist/chunk-57zpb99z.js +194 -0
  100. package/dist/chunk-57zpb99z.js.map +10 -0
  101. package/dist/{chunk-dhmj53mx.js → chunk-5egfka8j.js} +13 -33
  102. package/dist/chunk-5egfka8j.js.map +15 -0
  103. package/dist/chunk-5gd7tpv6.js +28 -0
  104. package/dist/chunk-5gd7tpv6.js.map +11 -0
  105. package/dist/{chunk-867jxh7c.js → chunk-5sz8ta9r.js} +6 -295
  106. package/dist/chunk-5sz8ta9r.js.map +16 -0
  107. package/dist/chunk-62c7t4jc.js +27 -0
  108. package/dist/chunk-62c7t4jc.js.map +11 -0
  109. package/dist/{chunk-8r8cw2xw.js → chunk-63te770v.js} +40 -5
  110. package/dist/{chunk-8r8cw2xw.js.map → chunk-63te770v.js.map} +3 -3
  111. package/dist/chunk-663csy96.js +34 -0
  112. package/dist/chunk-663csy96.js.map +10 -0
  113. package/dist/{chunk-xz5g49bp.js → chunk-6gjqgd3d.js} +3 -1
  114. package/dist/chunk-6gjqgd3d.js.map +11 -0
  115. package/dist/chunk-7pc8b818.js +128 -0
  116. package/dist/chunk-7pc8b818.js.map +13 -0
  117. package/dist/{chunk-f2b5e2gf.js → chunk-85j5ybfj.js} +18 -3
  118. package/dist/{chunk-f2b5e2gf.js.map → chunk-85j5ybfj.js.map} +3 -3
  119. package/dist/{chunk-vj723r3p.js → chunk-8b55ygje.js} +1 -1
  120. package/dist/chunk-8m5ejdpn.js +33 -0
  121. package/dist/chunk-8m5ejdpn.js.map +10 -0
  122. package/dist/chunk-8ryen3p3.js +118 -0
  123. package/dist/chunk-8ryen3p3.js.map +10 -0
  124. package/dist/chunk-979ww6b3.js +298 -0
  125. package/dist/chunk-979ww6b3.js.map +12 -0
  126. package/dist/{chunk-ya6brh8a.js → chunk-9t8f5xfx.js} +10 -5
  127. package/dist/chunk-9t8f5xfx.js.map +11 -0
  128. package/dist/{chunk-r65yscvk.js → chunk-a31h57d5.js} +131 -13
  129. package/dist/chunk-a31h57d5.js.map +13 -0
  130. package/dist/chunk-bct7hmfc.js +402 -0
  131. package/dist/chunk-bct7hmfc.js.map +14 -0
  132. package/dist/chunk-bh6k3nc6.js +164 -0
  133. package/dist/chunk-bh6k3nc6.js.map +12 -0
  134. package/dist/{chunk-t72dvahb.js → chunk-bhxaq2nn.js} +61 -44
  135. package/dist/chunk-bhxaq2nn.js.map +12 -0
  136. package/dist/{chunk-jdwx7vzs.js → chunk-c6qd89g5.js} +240 -143
  137. package/dist/chunk-c6qd89g5.js.map +15 -0
  138. package/dist/{chunk-2s6sydsh.js → chunk-ckxfnx7f.js} +294 -4
  139. package/dist/chunk-ckxfnx7f.js.map +13 -0
  140. package/dist/chunk-cy0n5dms.js +27 -0
  141. package/dist/chunk-cy0n5dms.js.map +11 -0
  142. package/dist/chunk-dsrkgtnh.js +50 -0
  143. package/dist/chunk-dsrkgtnh.js.map +10 -0
  144. package/dist/{chunk-50kv63vj.js → chunk-dysw7nsm.js} +118 -26
  145. package/dist/chunk-dysw7nsm.js.map +14 -0
  146. package/dist/chunk-ezake7g1.js +32 -0
  147. package/dist/chunk-ezake7g1.js.map +11 -0
  148. package/dist/{chunk-yxss87qa.js → chunk-f2rt4vkh.js} +48 -29
  149. package/dist/chunk-f2rt4vkh.js.map +14 -0
  150. package/dist/{chunk-q4qzq0ea.js → chunk-fmx1sz2h.js} +117 -56
  151. package/dist/chunk-fmx1sz2h.js.map +15 -0
  152. package/dist/chunk-g9t3kdtx.js +90 -0
  153. package/dist/chunk-g9t3kdtx.js.map +10 -0
  154. package/dist/{chunk-c3zd880g.js → chunk-ghteq96b.js} +8 -8
  155. package/dist/{chunk-c3zd880g.js.map → chunk-ghteq96b.js.map} +4 -4
  156. package/dist/chunk-h9kxd41f.js +271 -0
  157. package/dist/chunk-h9kxd41f.js.map +11 -0
  158. package/dist/chunk-htq0qh7z.js +59 -0
  159. package/dist/chunk-htq0qh7z.js.map +11 -0
  160. package/dist/{chunk-dcgrzj1t.js → chunk-jaj13078.js} +121 -9
  161. package/dist/chunk-jaj13078.js.map +38 -0
  162. package/dist/{chunk-t358gywy.js → chunk-k9pts48t.js} +81 -58
  163. package/dist/chunk-k9pts48t.js.map +35 -0
  164. package/dist/chunk-n8herkry.js +3294 -0
  165. package/dist/chunk-n8herkry.js.map +35 -0
  166. package/dist/chunk-nf4r78r4.js +44 -0
  167. package/dist/chunk-nf4r78r4.js.map +10 -0
  168. package/dist/{chunk-2gpr6jsz.js → chunk-nnyp53zt.js} +14 -34
  169. package/dist/chunk-nnyp53zt.js.map +13 -0
  170. package/dist/chunk-nten49ta.js +404 -0
  171. package/dist/chunk-nten49ta.js.map +12 -0
  172. package/dist/chunk-qvybnnpe.js +137 -0
  173. package/dist/chunk-qvybnnpe.js.map +10 -0
  174. package/dist/{chunk-tsk2bxs3.js → chunk-rnshztfq.js} +13 -13
  175. package/dist/{chunk-tsk2bxs3.js.map → chunk-rnshztfq.js.map} +3 -3
  176. package/dist/chunk-sa4340y1.js +607 -0
  177. package/dist/chunk-sa4340y1.js.map +14 -0
  178. package/dist/{chunk-yvef9xwc.js → chunk-st4xgxey.js} +583 -251
  179. package/dist/chunk-st4xgxey.js.map +45 -0
  180. package/dist/{chunk-1vffvydj.js → chunk-t8t39h7v.js} +6 -6
  181. package/dist/chunk-t8t39h7v.js.map +10 -0
  182. package/dist/chunk-t9xghkva.js +28 -0
  183. package/dist/chunk-t9xghkva.js.map +10 -0
  184. package/dist/chunk-vp1vc6ee.js +35 -0
  185. package/dist/chunk-vp1vc6ee.js.map +11 -0
  186. package/dist/{chunk-p6r5g77m.js → chunk-vybf6pkp.js} +1 -1
  187. package/dist/{chunk-wj01s5hr.js → chunk-wtmzkcht.js} +4 -3
  188. package/dist/chunk-wtmzkcht.js.map +11 -0
  189. package/dist/{chunk-v5c085yp.js → chunk-xhy826cz.js} +3 -2
  190. package/dist/chunk-xhy826cz.js.map +10 -0
  191. package/dist/chunk-xkthy56g.js +33 -0
  192. package/dist/chunk-xkthy56g.js.map +11 -0
  193. package/dist/{chunk-aebzcsxr.js → chunk-ys1nse2v.js} +2178 -382
  194. package/dist/chunk-ys1nse2v.js.map +56 -0
  195. package/dist/{chunk-5yny9z0e.js → chunk-z3zp0bj1.js} +1 -1
  196. package/dist/chunk-zcnhxkvd.js +7 -0
  197. package/dist/chunk-zcnhxkvd.js.map +10 -0
  198. package/dist/chunk-zg9yryhz.js +252 -0
  199. package/dist/chunk-zg9yryhz.js.map +12 -0
  200. package/dist/chunk-zqqz8052.js +3 -0
  201. package/dist/{storage/projection-runs/lifecycle.js.map → chunk-zqqz8052.js.map} +1 -1
  202. package/dist/{chunk-4pycxcj3.js → chunk-zqysyfjt.js} +6 -9
  203. package/dist/{chunk-4pycxcj3.js.map → chunk-zqysyfjt.js.map} +3 -3
  204. package/dist/connectors/builders.d.ts +2 -1
  205. package/dist/connectors/builders.d.ts.map +1 -1
  206. package/dist/connectors/connections/authorizations.d.ts +64 -0
  207. package/dist/connectors/connections/authorizations.d.ts.map +1 -0
  208. package/dist/connectors/connections/capability.d.ts +7 -0
  209. package/dist/connectors/connections/capability.d.ts.map +1 -0
  210. package/dist/connectors/connections/command-context.d.ts +23 -0
  211. package/dist/connectors/connections/command-context.d.ts.map +1 -0
  212. package/dist/connectors/connections/contracts.d.ts +127 -0
  213. package/dist/connectors/connections/contracts.d.ts.map +1 -0
  214. package/dist/connectors/connections/credential-codec.d.ts +15 -0
  215. package/dist/connectors/connections/credential-codec.d.ts.map +1 -0
  216. package/dist/connectors/connections/credential-mutations.d.ts +63 -0
  217. package/dist/connectors/connections/credential-mutations.d.ts.map +1 -0
  218. package/dist/connectors/connections/execution.d.ts +20 -0
  219. package/dist/connectors/connections/execution.d.ts.map +1 -0
  220. package/dist/connectors/connections/internal.d.ts +5 -0
  221. package/dist/connectors/connections/internal.d.ts.map +1 -0
  222. package/dist/connectors/connections/internal.js +16 -0
  223. package/dist/connectors/connections/internal.js.map +9 -0
  224. package/dist/connectors/connections/provider-operation.d.ts +7 -0
  225. package/dist/connectors/connections/provider-operation.d.ts.map +1 -0
  226. package/dist/connectors/connections/request.d.ts +84 -0
  227. package/dist/connectors/connections/request.d.ts.map +1 -0
  228. package/dist/connectors/connections/runs.d.ts +51 -0
  229. package/dist/connectors/connections/runs.d.ts.map +1 -0
  230. package/dist/connectors/connections/service.d.ts +52 -0
  231. package/dist/connectors/connections/service.d.ts.map +1 -0
  232. package/dist/connectors/connections/storage-boundary.d.ts +3 -0
  233. package/dist/connectors/connections/storage-boundary.d.ts.map +1 -0
  234. package/dist/connectors/connections/tokens.d.ts +32 -0
  235. package/dist/connectors/connections/tokens.d.ts.map +1 -0
  236. package/dist/connectors/connections/validation.d.ts +27 -0
  237. package/dist/connectors/connections/validation.d.ts.map +1 -0
  238. package/dist/connectors/connections/views.d.ts +7 -0
  239. package/dist/connectors/connections/views.d.ts.map +1 -0
  240. package/dist/connectors/credentials.d.ts +25 -0
  241. package/dist/connectors/credentials.d.ts.map +1 -0
  242. package/dist/connectors/errors.d.ts +35 -3
  243. package/dist/connectors/errors.d.ts.map +1 -1
  244. package/dist/connectors/execution.d.ts +19 -0
  245. package/dist/connectors/execution.d.ts.map +1 -0
  246. package/dist/connectors/index.d.ts +5 -3
  247. package/dist/connectors/index.d.ts.map +1 -1
  248. package/dist/connectors/service.d.ts +23 -0
  249. package/dist/connectors/service.d.ts.map +1 -0
  250. package/dist/connectors/types.d.ts +94 -2
  251. package/dist/connectors/types.d.ts.map +1 -1
  252. package/dist/datasets/builders.d.ts +18 -5
  253. package/dist/datasets/builders.d.ts.map +1 -1
  254. package/dist/datasets/changes.d.ts +18 -0
  255. package/dist/datasets/changes.d.ts.map +1 -0
  256. package/dist/datasets/execution.d.ts +8 -0
  257. package/dist/datasets/execution.d.ts.map +1 -0
  258. package/dist/datasets/index.d.ts +3 -1
  259. package/dist/datasets/index.d.ts.map +1 -1
  260. package/dist/datasets/types.d.ts +2 -0
  261. package/dist/datasets/types.d.ts.map +1 -1
  262. package/dist/datasets/validation.d.ts.map +1 -1
  263. package/dist/error-reporting/capability.d.ts +4 -49
  264. package/dist/error-reporting/capability.d.ts.map +1 -1
  265. package/dist/error-reporting/internal.d.ts +2 -2
  266. package/dist/error-reporting/internal.d.ts.map +1 -1
  267. package/dist/error-reporting/internal.js +10 -4
  268. package/dist/error-reporting/internal.js.map +1 -1
  269. package/dist/error-reporting/reporter.d.ts +4 -1
  270. package/dist/error-reporting/reporter.d.ts.map +1 -1
  271. package/dist/error-reporting/reports.d.ts +64 -0
  272. package/dist/error-reporting/reports.d.ts.map +1 -0
  273. package/dist/error-reporting/types.d.ts +88 -34
  274. package/dist/error-reporting/types.d.ts.map +1 -1
  275. package/dist/errors/catalog.d.ts +141 -0
  276. package/dist/errors/catalog.d.ts.map +1 -0
  277. package/dist/errors/internal.d.ts +68 -0
  278. package/dist/errors/internal.d.ts.map +1 -0
  279. package/dist/errors/internal.js +29 -0
  280. package/dist/errors/internal.js.map +9 -0
  281. package/dist/errors/types.d.ts +20 -0
  282. package/dist/errors/types.d.ts.map +1 -0
  283. package/dist/events/definitions.d.ts +0 -1
  284. package/dist/events/definitions.d.ts.map +1 -1
  285. package/dist/events/execution.d.ts +13 -0
  286. package/dist/events/execution.d.ts.map +1 -0
  287. package/dist/events/index.d.ts +3 -2
  288. package/dist/events/index.d.ts.map +1 -1
  289. package/dist/events/index.js +10 -8
  290. package/dist/events/index.js.map +1 -1
  291. package/dist/events/outbox-dispatcher.d.ts +4 -2
  292. package/dist/events/outbox-dispatcher.d.ts.map +1 -1
  293. package/dist/events/{runtime.d.ts → service.d.ts} +13 -14
  294. package/dist/events/service.d.ts.map +1 -0
  295. package/dist/events/types/pipelines.d.ts +4 -1
  296. package/dist/events/types/pipelines.d.ts.map +1 -1
  297. package/dist/events/types/syncs.d.ts +3 -0
  298. package/dist/events/types/syncs.d.ts.map +1 -1
  299. package/dist/events/types/workflows.d.ts +4 -2
  300. package/dist/events/types/workflows.d.ts.map +1 -1
  301. package/dist/execution/agent.d.ts +42 -0
  302. package/dist/execution/agent.d.ts.map +1 -0
  303. package/dist/execution/agent.js +70 -0
  304. package/dist/execution/agent.js.map +9 -0
  305. package/dist/execution/authorization.d.ts +60 -0
  306. package/dist/execution/authorization.d.ts.map +1 -0
  307. package/dist/execution/dispatch.d.ts +8 -0
  308. package/dist/execution/dispatch.d.ts.map +1 -0
  309. package/dist/execution/durable.d.ts +37 -0
  310. package/dist/execution/durable.d.ts.map +1 -0
  311. package/dist/execution/index.d.ts +2 -0
  312. package/dist/execution/index.d.ts.map +1 -0
  313. package/dist/execution/primitive.d.ts +21 -0
  314. package/dist/execution/primitive.d.ts.map +1 -0
  315. package/dist/execution/primitive.js +88 -0
  316. package/dist/execution/primitive.js.map +10 -0
  317. package/dist/execution/request.d.ts +38 -0
  318. package/dist/execution/request.d.ts.map +1 -0
  319. package/dist/execution/request.js +97 -0
  320. package/dist/execution/request.js.map +10 -0
  321. package/dist/execution/scopes.d.ts +30 -0
  322. package/dist/execution/scopes.d.ts.map +1 -0
  323. package/dist/execution/types.d.ts +111 -0
  324. package/dist/execution/types.d.ts.map +1 -0
  325. package/dist/http/api-routes.d.ts.map +1 -1
  326. package/dist/http/index.js +1 -1
  327. package/dist/index.d.ts +35 -18
  328. package/dist/index.d.ts.map +1 -1
  329. package/dist/index.js +142 -111
  330. package/dist/index.js.map +1 -1
  331. package/dist/json.d.ts +8 -2
  332. package/dist/json.d.ts.map +1 -1
  333. package/dist/lake-storage/definition-updates.d.ts.map +1 -1
  334. package/dist/lake-storage/in-memory.d.ts +15 -1
  335. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  336. package/dist/lake-storage/index.d.ts +3 -1
  337. package/dist/lake-storage/index.d.ts.map +1 -1
  338. package/dist/lake-storage/index.js +15 -7
  339. package/dist/lake-storage/index.js.map +1 -1
  340. package/dist/lake-storage/merge-validation.d.ts +10 -0
  341. package/dist/lake-storage/merge-validation.d.ts.map +1 -0
  342. package/dist/lake-storage/merge.d.ts +32 -0
  343. package/dist/lake-storage/merge.d.ts.map +1 -0
  344. package/dist/lake-storage/types.d.ts +3 -1
  345. package/dist/lake-storage/types.d.ts.map +1 -1
  346. package/dist/logging/execution.d.ts +9 -0
  347. package/dist/logging/execution.d.ts.map +1 -0
  348. package/dist/logging/index.d.ts +1 -1
  349. package/dist/logging/index.d.ts.map +1 -1
  350. package/dist/logging/index.js +8 -8
  351. package/dist/logging/index.js.map +1 -1
  352. package/dist/logging/{runtime.d.ts → service.d.ts} +7 -7
  353. package/dist/logging/{runtime.d.ts.map → service.d.ts.map} +1 -1
  354. package/dist/logging/types.js +2 -2
  355. package/dist/materialization/events.d.ts +1 -0
  356. package/dist/materialization/events.d.ts.map +1 -1
  357. package/dist/materialization/index.d.ts +1 -1
  358. package/dist/materialization/index.d.ts.map +1 -1
  359. package/dist/materialization/index.js +2 -2
  360. package/dist/materialization/model.d.ts +26 -17
  361. package/dist/materialization/model.d.ts.map +1 -1
  362. package/dist/materializer/edits/commit.d.ts +2 -1
  363. package/dist/materializer/edits/commit.d.ts.map +1 -1
  364. package/dist/materializer/edits/load-state.d.ts +1 -1
  365. package/dist/materializer/edits/load-state.d.ts.map +1 -1
  366. package/dist/materializer/edits/operations.d.ts +1 -13
  367. package/dist/materializer/edits/operations.d.ts.map +1 -1
  368. package/dist/materializer/edits/plan.d.ts +2 -1
  369. package/dist/materializer/edits/plan.d.ts.map +1 -1
  370. package/dist/materializer/edits/working-state.d.ts +36 -8
  371. package/dist/materializer/edits/working-state.d.ts.map +1 -1
  372. package/dist/materializer/effective/build-events.d.ts +1 -0
  373. package/dist/materializer/effective/build-events.d.ts.map +1 -1
  374. package/dist/materializer/effective/diff.d.ts +7 -0
  375. package/dist/materializer/effective/diff.d.ts.map +1 -1
  376. package/dist/materializer/effective/load-state.d.ts +0 -2
  377. package/dist/materializer/effective/load-state.d.ts.map +1 -1
  378. package/dist/materializer/effective/resolve.d.ts +17 -2
  379. package/dist/materializer/effective/resolve.d.ts.map +1 -1
  380. package/dist/materializer/execution/commit-lifecycle.d.ts +2 -2
  381. package/dist/materializer/execution/commit-lifecycle.d.ts.map +1 -1
  382. package/dist/materializer/execution/plan-stream.d.ts.map +1 -1
  383. package/dist/materializer/execution/scope.d.ts +26 -0
  384. package/dist/materializer/execution/scope.d.ts.map +1 -0
  385. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  386. package/dist/materializer/execution/work-records.d.ts +6 -5
  387. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  388. package/dist/materializer/index.d.ts +2 -2
  389. package/dist/materializer/index.d.ts.map +1 -1
  390. package/dist/materializer/index.js +30 -18
  391. package/dist/materializer/index.js.map +1 -1
  392. package/dist/materializer/materializer.d.ts +37 -5
  393. package/dist/materializer/materializer.d.ts.map +1 -1
  394. package/dist/materializer/projections/finish-run.d.ts +2 -1
  395. package/dist/materializer/projections/finish-run.d.ts.map +1 -1
  396. package/dist/materializer/projections/replace.d.ts +2 -1
  397. package/dist/materializer/projections/replace.d.ts.map +1 -1
  398. package/dist/materializer/projections/replacement-plan.d.ts +1 -0
  399. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  400. package/dist/materializer/shared/batching.d.ts.map +1 -1
  401. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  402. package/dist/materializer/telemetry/append.d.ts +2 -1
  403. package/dist/materializer/telemetry/append.d.ts.map +1 -1
  404. package/dist/materializer/telemetry/plan.d.ts +7 -1
  405. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  406. package/dist/objects/action/request.d.ts +3 -3
  407. package/dist/objects/action/request.d.ts.map +1 -1
  408. package/dist/objects/context/index.d.ts +1 -1
  409. package/dist/objects/context/index.d.ts.map +1 -1
  410. package/dist/objects/context/types.d.ts +5 -0
  411. package/dist/objects/context/types.d.ts.map +1 -1
  412. package/dist/objects/execution.d.ts +100 -0
  413. package/dist/objects/execution.d.ts.map +1 -0
  414. package/dist/objects/index.js +37 -24
  415. package/dist/objects/index.js.map +1 -1
  416. package/dist/objects/materializer-adapter.d.ts +1 -1
  417. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  418. package/dist/objects/query/executor.d.ts +3 -8
  419. package/dist/objects/query/executor.d.ts.map +1 -1
  420. package/dist/objects/query/index.d.ts +2 -2
  421. package/dist/objects/query/index.d.ts.map +1 -1
  422. package/dist/objects/query/index.js +9 -13
  423. package/dist/objects/query/index.js.map +1 -1
  424. package/dist/objects/query/planner.d.ts +0 -3
  425. package/dist/objects/query/planner.d.ts.map +1 -1
  426. package/dist/objects/sdk/object-handle.d.ts +2 -2
  427. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  428. package/dist/objects/sdk/object-set.d.ts +2 -0
  429. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  430. package/dist/objects/sdk/runtime-query-executor.d.ts +2 -0
  431. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  432. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  433. package/dist/objects/service/action-service.d.ts +3 -2
  434. package/dist/objects/service/action-service.d.ts.map +1 -1
  435. package/dist/objects/service/list-service.d.ts +1 -1
  436. package/dist/objects/telemetry/history.d.ts +2 -0
  437. package/dist/objects/telemetry/history.d.ts.map +1 -1
  438. package/dist/objects/telemetry/write-batch.d.ts.map +1 -1
  439. package/dist/ontology/index.d.ts +1 -1
  440. package/dist/ontology/index.d.ts.map +1 -1
  441. package/dist/ontology/index.js +5 -5
  442. package/dist/ontology/internal.js +7 -6
  443. package/dist/ontology/internal.js.map +3 -3
  444. package/dist/ontology/registry.d.ts +15 -2
  445. package/dist/ontology/registry.d.ts.map +1 -1
  446. package/dist/ontology/validation/normalize.d.ts.map +1 -1
  447. package/dist/pipelines/execution.d.ts +19 -0
  448. package/dist/pipelines/execution.d.ts.map +1 -0
  449. package/dist/pipelines/index.d.ts +1 -0
  450. package/dist/pipelines/index.d.ts.map +1 -1
  451. package/dist/pipelines/index.js +66 -0
  452. package/dist/pipelines/index.js.map +9 -0
  453. package/dist/pipelines/request.d.ts +6 -9
  454. package/dist/pipelines/request.d.ts.map +1 -1
  455. package/dist/pipelines/run-dispatch.d.ts +47 -0
  456. package/dist/pipelines/run-dispatch.d.ts.map +1 -0
  457. package/dist/projections/builders.d.ts +0 -2
  458. package/dist/projections/builders.d.ts.map +1 -1
  459. package/dist/projections/capability.d.ts +7 -0
  460. package/dist/projections/capability.d.ts.map +1 -0
  461. package/dist/projections/execution.d.ts +19 -0
  462. package/dist/projections/execution.d.ts.map +1 -0
  463. package/dist/projections/index.d.ts +3 -1
  464. package/dist/projections/index.d.ts.map +1 -1
  465. package/dist/projections/internal.d.ts +4 -10
  466. package/dist/projections/internal.d.ts.map +1 -1
  467. package/dist/projections/internal.js +42 -6
  468. package/dist/projections/internal.js.map +1 -1
  469. package/dist/projections/ownership.d.ts +2 -2
  470. package/dist/projections/ownership.d.ts.map +1 -1
  471. package/dist/projections/registry.d.ts +21 -11
  472. package/dist/projections/registry.d.ts.map +1 -1
  473. package/dist/projections/revision.d.ts +2 -2
  474. package/dist/projections/revision.d.ts.map +1 -1
  475. package/dist/projections/run-dispatch.d.ts +37 -0
  476. package/dist/projections/run-dispatch.d.ts.map +1 -0
  477. package/dist/projections/run-id.d.ts +3 -0
  478. package/dist/projections/run-id.d.ts.map +1 -0
  479. package/dist/projections/types.d.ts +3 -0
  480. package/dist/projections/types.d.ts.map +1 -1
  481. package/dist/projections/validation.d.ts +2 -2
  482. package/dist/projections/validation.d.ts.map +1 -1
  483. package/dist/queues/in-memory.d.ts +11 -10
  484. package/dist/queues/in-memory.d.ts.map +1 -1
  485. package/dist/queues/index.d.ts +1 -1
  486. package/dist/queues/index.d.ts.map +1 -1
  487. package/dist/queues/index.js +1 -1
  488. package/dist/queues/types.d.ts +52 -42
  489. package/dist/queues/types.d.ts.map +1 -1
  490. package/dist/rules/execution.d.ts +14 -0
  491. package/dist/rules/execution.d.ts.map +1 -0
  492. package/dist/rules/index.d.ts +1 -1
  493. package/dist/rules/index.d.ts.map +1 -1
  494. package/dist/rules/validation.d.ts +1 -2
  495. package/dist/rules/validation.d.ts.map +1 -1
  496. package/dist/runtime/ai-usage.d.ts +8 -0
  497. package/dist/runtime/ai-usage.d.ts.map +1 -0
  498. package/dist/runtime/create.d.ts +7 -5
  499. package/dist/runtime/create.d.ts.map +1 -1
  500. package/dist/runtime/definitions.d.ts +35 -0
  501. package/dist/runtime/definitions.d.ts.map +1 -0
  502. package/dist/runtime/host.d.ts +123 -0
  503. package/dist/runtime/host.d.ts.map +1 -0
  504. package/dist/runtime/index.d.ts +6 -5
  505. package/dist/runtime/index.d.ts.map +1 -1
  506. package/dist/runtime/internal.d.ts +4 -0
  507. package/dist/runtime/internal.d.ts.map +1 -1
  508. package/dist/runtime/internal.js +6 -2
  509. package/dist/runtime/internal.js.map +1 -1
  510. package/dist/runtime/ontology-mutations.d.ts +4 -2
  511. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  512. package/dist/runtime/resolve-definitions.d.ts +42 -0
  513. package/dist/runtime/resolve-definitions.d.ts.map +1 -0
  514. package/dist/runtime/sixb.d.ts +43 -219
  515. package/dist/runtime/sixb.d.ts.map +1 -1
  516. package/dist/runtime/types.d.ts +16 -216
  517. package/dist/runtime/types.d.ts.map +1 -1
  518. package/dist/scheduler/index.d.ts +1 -1
  519. package/dist/scheduler/index.d.ts.map +1 -1
  520. package/dist/scheduler/index.js +3 -6
  521. package/dist/scheduler/index.js.map +1 -1
  522. package/dist/scheduler/runtime.d.ts +7 -2
  523. package/dist/scheduler/runtime.d.ts.map +1 -1
  524. package/dist/schedules/execution.d.ts +6 -0
  525. package/dist/schedules/execution.d.ts.map +1 -0
  526. package/dist/schedules/index.js +9 -7
  527. package/dist/schedules/index.js.map +1 -1
  528. package/dist/schedules/types.d.ts +1 -3
  529. package/dist/schedules/types.d.ts.map +1 -1
  530. package/dist/security/every.d.ts +4 -1
  531. package/dist/security/every.d.ts.map +1 -1
  532. package/dist/security/grants.d.ts +4 -1
  533. package/dist/security/grants.d.ts.map +1 -1
  534. package/dist/security/index.d.ts +3 -1
  535. package/dist/security/index.d.ts.map +1 -1
  536. package/dist/security/registry.d.ts +42 -0
  537. package/dist/security/registry.d.ts.map +1 -0
  538. package/dist/security/types.d.ts +7 -12
  539. package/dist/security/types.d.ts.map +1 -1
  540. package/dist/security/validation.d.ts +2 -0
  541. package/dist/security/validation.d.ts.map +1 -1
  542. package/dist/storage/action-runs/failure.d.ts +7 -0
  543. package/dist/storage/action-runs/failure.d.ts.map +1 -0
  544. package/dist/storage/action-runs/failure.js +14 -0
  545. package/dist/storage/action-runs/failure.js.map +9 -0
  546. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  547. package/dist/storage/action-runs/in-memory.d.ts +3 -1
  548. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  549. package/dist/storage/action-runs/index.d.ts +2 -1
  550. package/dist/storage/action-runs/index.d.ts.map +1 -1
  551. package/dist/storage/action-runs/provider.d.ts +10 -0
  552. package/dist/storage/action-runs/provider.d.ts.map +1 -0
  553. package/dist/storage/action-runs/provider.js +13 -0
  554. package/dist/storage/action-runs/provider.js.map +9 -0
  555. package/dist/storage/action-runs/types.d.ts +37 -18
  556. package/dist/storage/action-runs/types.d.ts.map +1 -1
  557. package/dist/storage/agents/errors.d.ts +1 -1
  558. package/dist/storage/agents/errors.d.ts.map +1 -1
  559. package/dist/storage/agents/in-memory.d.ts +4 -1
  560. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  561. package/dist/storage/agents/index.d.ts +2 -2
  562. package/dist/storage/agents/index.d.ts.map +1 -1
  563. package/dist/storage/agents/provider.d.ts +10 -0
  564. package/dist/storage/agents/provider.d.ts.map +1 -0
  565. package/dist/storage/agents/provider.js +17 -0
  566. package/dist/storage/agents/provider.js.map +9 -0
  567. package/dist/storage/agents/types.d.ts +13 -22
  568. package/dist/storage/agents/types.d.ts.map +1 -1
  569. package/dist/storage/ai-usage/errors.d.ts +8 -0
  570. package/dist/storage/ai-usage/errors.d.ts.map +1 -0
  571. package/dist/storage/ai-usage/in-memory.d.ts +28 -0
  572. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -0
  573. package/dist/storage/ai-usage/index.d.ts +8 -0
  574. package/dist/storage/ai-usage/index.d.ts.map +1 -0
  575. package/dist/storage/ai-usage/record.d.ts +6 -0
  576. package/dist/storage/ai-usage/record.d.ts.map +1 -0
  577. package/dist/storage/ai-usage/types.d.ts +89 -0
  578. package/dist/storage/ai-usage/types.d.ts.map +1 -0
  579. package/dist/storage/ai-usage/usage.d.ts +11 -0
  580. package/dist/storage/ai-usage/usage.d.ts.map +1 -0
  581. package/dist/storage/auth/types.d.ts +1 -0
  582. package/dist/storage/auth/types.d.ts.map +1 -1
  583. package/dist/storage/connector-connections/errors.d.ts +12 -0
  584. package/dist/storage/connector-connections/errors.d.ts.map +1 -0
  585. package/dist/storage/connector-connections/in-memory.d.ts +81 -0
  586. package/dist/storage/connector-connections/in-memory.d.ts.map +1 -0
  587. package/dist/storage/connector-connections/index.d.ts +7 -0
  588. package/dist/storage/connector-connections/index.d.ts.map +1 -0
  589. package/dist/storage/connector-connections/provider/authorizations.d.ts +20 -0
  590. package/dist/storage/connector-connections/provider/authorizations.d.ts.map +1 -0
  591. package/dist/storage/connector-connections/provider/connections.d.ts +17 -0
  592. package/dist/storage/connector-connections/provider/connections.d.ts.map +1 -0
  593. package/dist/storage/connector-connections/provider/runs.d.ts +14 -0
  594. package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -0
  595. package/dist/storage/connector-connections/provider/shared.d.ts +74 -0
  596. package/dist/storage/connector-connections/provider/shared.d.ts.map +1 -0
  597. package/dist/storage/connector-connections/provider.d.ts +49 -0
  598. package/dist/storage/connector-connections/provider.d.ts.map +1 -0
  599. package/dist/storage/connector-connections/provider.js +1025 -0
  600. package/dist/storage/connector-connections/provider.js.map +14 -0
  601. package/dist/storage/connector-connections/types.d.ts +402 -0
  602. package/dist/storage/connector-connections/types.d.ts.map +1 -0
  603. package/dist/storage/executions/errors.d.ts +8 -0
  604. package/dist/storage/executions/errors.d.ts.map +1 -0
  605. package/dist/storage/executions/in-memory.d.ts +21 -0
  606. package/dist/storage/executions/in-memory.d.ts.map +1 -0
  607. package/dist/storage/executions/index.d.ts +5 -0
  608. package/dist/storage/executions/index.d.ts.map +1 -0
  609. package/dist/storage/executions/provider.d.ts +29 -0
  610. package/dist/storage/executions/provider.d.ts.map +1 -0
  611. package/dist/storage/executions/provider.js +208 -0
  612. package/dist/storage/executions/provider.js.map +10 -0
  613. package/dist/storage/executions/run-link.d.ts +24 -0
  614. package/dist/storage/executions/run-link.d.ts.map +1 -0
  615. package/dist/storage/executions/types.d.ts +62 -0
  616. package/dist/storage/executions/types.d.ts.map +1 -0
  617. package/dist/storage/executions/validation.d.ts +13 -0
  618. package/dist/storage/executions/validation.d.ts.map +1 -0
  619. package/dist/storage/in-memory/index.d.ts +20 -5
  620. package/dist/storage/in-memory/index.d.ts.map +1 -1
  621. package/dist/storage/index.d.ts +28 -17
  622. package/dist/storage/index.d.ts.map +1 -1
  623. package/dist/storage/index.js +90 -27
  624. package/dist/storage/index.js.map +1 -1
  625. package/dist/storage/ontology/commits.d.ts +1 -0
  626. package/dist/storage/ontology/commits.d.ts.map +1 -1
  627. package/dist/storage/ontology/in-memory/index.d.ts +1 -0
  628. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  629. package/dist/storage/ontology/in-memory/materializations-state.d.ts +3 -2
  630. package/dist/storage/ontology/in-memory/materializations-state.d.ts.map +1 -1
  631. package/dist/storage/ontology/in-memory/materializations-work.d.ts +2 -2
  632. package/dist/storage/ontology/in-memory/materializations-work.d.ts.map +1 -1
  633. package/dist/storage/ontology/in-memory/materializations.d.ts +3 -1
  634. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  635. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -2
  636. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  637. package/dist/storage/ontology/index.d.ts +3 -2
  638. package/dist/storage/ontology/index.d.ts.map +1 -1
  639. package/dist/storage/ontology/materializations.d.ts +50 -5
  640. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  641. package/dist/storage/ontology/outbox.d.ts +8 -2
  642. package/dist/storage/ontology/outbox.d.ts.map +1 -1
  643. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  644. package/dist/storage/ontology/provider.d.ts +5 -22
  645. package/dist/storage/ontology/provider.d.ts.map +1 -1
  646. package/dist/storage/ontology/provider.js +6 -7
  647. package/dist/storage/ontology/provider.js.map +1 -1
  648. package/dist/storage/operation-scope.d.ts.map +1 -1
  649. package/dist/storage/operation-scope.js +1 -1
  650. package/dist/storage/pipeline-runs/idempotency.d.ts +3 -0
  651. package/dist/storage/pipeline-runs/idempotency.d.ts.map +1 -0
  652. package/dist/storage/pipeline-runs/in-memory.d.ts +5 -1
  653. package/dist/storage/pipeline-runs/in-memory.d.ts.map +1 -1
  654. package/dist/storage/pipeline-runs/index.d.ts +3 -1
  655. package/dist/storage/pipeline-runs/index.d.ts.map +1 -1
  656. package/dist/storage/pipeline-runs/provider.d.ts +10 -0
  657. package/dist/storage/pipeline-runs/provider.d.ts.map +1 -0
  658. package/dist/storage/pipeline-runs/provider.js +11 -0
  659. package/dist/storage/pipeline-runs/provider.js.map +9 -0
  660. package/dist/storage/pipeline-runs/types.d.ts +30 -14
  661. package/dist/storage/pipeline-runs/types.d.ts.map +1 -1
  662. package/dist/storage/projection-runs/in-memory.d.ts +8 -3
  663. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  664. package/dist/storage/projection-runs/index.d.ts +2 -2
  665. package/dist/storage/projection-runs/index.d.ts.map +1 -1
  666. package/dist/storage/projection-runs/lifecycle.d.ts +14 -8
  667. package/dist/storage/projection-runs/lifecycle.d.ts.map +1 -1
  668. package/dist/storage/projection-runs/provider.d.ts +13 -0
  669. package/dist/storage/projection-runs/provider.d.ts.map +1 -0
  670. package/dist/storage/projection-runs/{lifecycle.js → provider.js} +15 -4
  671. package/dist/storage/projection-runs/provider.js.map +9 -0
  672. package/dist/storage/projection-runs/types.d.ts +28 -11
  673. package/dist/storage/projection-runs/types.d.ts.map +1 -1
  674. package/dist/storage/run-listing.d.ts +8 -9
  675. package/dist/storage/run-listing.d.ts.map +1 -1
  676. package/dist/storage/sync-runs/idempotency.d.ts +3 -0
  677. package/dist/storage/sync-runs/idempotency.d.ts.map +1 -0
  678. package/dist/storage/sync-runs/in-memory.d.ts +5 -1
  679. package/dist/storage/sync-runs/in-memory.d.ts.map +1 -1
  680. package/dist/storage/sync-runs/index.d.ts +3 -1
  681. package/dist/storage/sync-runs/index.d.ts.map +1 -1
  682. package/dist/storage/sync-runs/provider.d.ts +10 -0
  683. package/dist/storage/sync-runs/provider.d.ts.map +1 -0
  684. package/dist/storage/sync-runs/provider.js +11 -0
  685. package/dist/storage/sync-runs/provider.js.map +9 -0
  686. package/dist/storage/sync-runs/types.d.ts +35 -14
  687. package/dist/storage/sync-runs/types.d.ts.map +1 -1
  688. package/dist/storage/types.d.ts +20 -15
  689. package/dist/storage/types.d.ts.map +1 -1
  690. package/dist/storage/webhook-runs/errors.d.ts +3 -0
  691. package/dist/storage/webhook-runs/errors.d.ts.map +1 -1
  692. package/dist/storage/webhook-runs/in-memory.d.ts +13 -1
  693. package/dist/storage/webhook-runs/in-memory.d.ts.map +1 -1
  694. package/dist/storage/webhook-runs/index.d.ts +3 -2
  695. package/dist/storage/webhook-runs/index.d.ts.map +1 -1
  696. package/dist/storage/webhook-runs/provider.d.ts +10 -0
  697. package/dist/storage/webhook-runs/provider.d.ts.map +1 -0
  698. package/dist/storage/webhook-runs/provider.js +11 -0
  699. package/dist/storage/webhook-runs/provider.js.map +9 -0
  700. package/dist/storage/webhook-runs/types.d.ts +37 -11
  701. package/dist/storage/webhook-runs/types.d.ts.map +1 -1
  702. package/dist/storage/workflow-runs/in-memory.d.ts +6 -2
  703. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  704. package/dist/storage/workflow-runs/index.d.ts +2 -1
  705. package/dist/storage/workflow-runs/index.d.ts.map +1 -1
  706. package/dist/storage/workflow-runs/provider.d.ts +19 -0
  707. package/dist/storage/workflow-runs/provider.d.ts.map +1 -0
  708. package/dist/storage/workflow-runs/provider.js +19 -0
  709. package/dist/storage/workflow-runs/provider.js.map +9 -0
  710. package/dist/storage/workflow-runs/types.d.ts +30 -30
  711. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  712. package/dist/syncs/builders.d.ts +11 -3
  713. package/dist/syncs/builders.d.ts.map +1 -1
  714. package/dist/syncs/execution.d.ts +18 -0
  715. package/dist/syncs/execution.d.ts.map +1 -0
  716. package/dist/syncs/index.d.ts +3 -1
  717. package/dist/syncs/index.d.ts.map +1 -1
  718. package/dist/syncs/index.js +65 -0
  719. package/dist/syncs/index.js.map +9 -0
  720. package/dist/syncs/request.d.ts +6 -16
  721. package/dist/syncs/request.d.ts.map +1 -1
  722. package/dist/syncs/run-dispatch.d.ts +47 -0
  723. package/dist/syncs/run-dispatch.d.ts.map +1 -0
  724. package/dist/syncs/sources.d.ts +8 -0
  725. package/dist/syncs/sources.d.ts.map +1 -0
  726. package/dist/syncs/types.d.ts +34 -22
  727. package/dist/syncs/types.d.ts.map +1 -1
  728. package/dist/syncs/validation.d.ts +14 -0
  729. package/dist/syncs/validation.d.ts.map +1 -0
  730. package/dist/testing/action-execution.d.ts +12 -0
  731. package/dist/testing/action-execution.d.ts.map +1 -0
  732. package/dist/testing/agent-execution.d.ts +14 -0
  733. package/dist/testing/agent-execution.d.ts.map +1 -0
  734. package/dist/testing/agent-storage-contract.d.ts +10 -3
  735. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  736. package/dist/testing/ai-usage-storage-contract.d.ts +13 -0
  737. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -0
  738. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  739. package/dist/testing/broker-contract.d.ts.map +1 -1
  740. package/dist/testing/connector-connection-storage-contract.d.ts +16 -0
  741. package/dist/testing/connector-connection-storage-contract.d.ts.map +1 -0
  742. package/dist/testing/execution-storage-contract.d.ts +15 -0
  743. package/dist/testing/execution-storage-contract.d.ts.map +1 -0
  744. package/dist/testing/execution.d.ts +23 -0
  745. package/dist/testing/execution.d.ts.map +1 -0
  746. package/dist/testing/index.d.ts +13 -0
  747. package/dist/testing/index.d.ts.map +1 -1
  748. package/dist/testing/index.js +4270 -1484
  749. package/dist/testing/index.js.map +27 -14
  750. package/dist/testing/lake-merge-storage-contract.d.ts +7 -0
  751. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -0
  752. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  753. package/dist/testing/materializer-fixture.d.ts +2 -2
  754. package/dist/testing/materializer-fixture.d.ts.map +1 -1
  755. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  756. package/dist/testing/ontology-contract-fixture.d.ts +1 -0
  757. package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
  758. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  759. package/dist/testing/pipeline-execution.d.ts +16 -0
  760. package/dist/testing/pipeline-execution.d.ts.map +1 -0
  761. package/dist/testing/projection-execution.d.ts +20 -0
  762. package/dist/testing/projection-execution.d.ts.map +1 -0
  763. package/dist/testing/projection-run-storage-contract.d.ts +9 -4
  764. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  765. package/dist/testing/queues-contract.d.ts.map +1 -1
  766. package/dist/testing/sync-execution.d.ts +16 -0
  767. package/dist/testing/sync-execution.d.ts.map +1 -0
  768. package/dist/testing/webhook-execution.d.ts +12 -0
  769. package/dist/testing/webhook-execution.d.ts.map +1 -0
  770. package/dist/testing/webhook-run-storage-contract.d.ts +11 -0
  771. package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -0
  772. package/dist/testing/workflow-execution.d.ts +23 -0
  773. package/dist/testing/workflow-execution.d.ts.map +1 -0
  774. package/dist/webhooks/index.d.ts +2 -1
  775. package/dist/webhooks/index.d.ts.map +1 -1
  776. package/dist/webhooks/internal.d.ts +2 -0
  777. package/dist/webhooks/internal.d.ts.map +1 -0
  778. package/dist/webhooks/internal.js +150 -0
  779. package/dist/webhooks/internal.js.map +10 -0
  780. package/dist/webhooks/registry.d.ts +18 -4
  781. package/dist/webhooks/registry.d.ts.map +1 -1
  782. package/dist/webhooks/run-admission.d.ts +25 -0
  783. package/dist/webhooks/run-admission.d.ts.map +1 -0
  784. package/dist/webhooks/types.d.ts +8 -5
  785. package/dist/webhooks/types.d.ts.map +1 -1
  786. package/dist/workers/index.js +18 -19
  787. package/dist/workers/index.js.map +4 -4
  788. package/dist/workers/queue-delivery.d.ts +7 -7
  789. package/dist/workers/queue-delivery.d.ts.map +1 -1
  790. package/dist/workers/queue-worker.d.ts +30 -11
  791. package/dist/workers/queue-worker.d.ts.map +1 -1
  792. package/dist/workflows/execution.d.ts +49 -0
  793. package/dist/workflows/execution.d.ts.map +1 -0
  794. package/dist/workflows/failure.d.ts +28 -0
  795. package/dist/workflows/failure.d.ts.map +1 -0
  796. package/dist/workflows/index.d.ts +4 -2
  797. package/dist/workflows/index.d.ts.map +1 -1
  798. package/dist/workflows/index.js +63 -35
  799. package/dist/workflows/index.js.map +1 -1
  800. package/dist/workflows/request.d.ts +2 -1
  801. package/dist/workflows/request.d.ts.map +1 -1
  802. package/dist/workflows/run-dispatch.d.ts +59 -0
  803. package/dist/workflows/run-dispatch.d.ts.map +1 -0
  804. package/dist/workflows/types.d.ts +38 -8
  805. package/dist/workflows/types.d.ts.map +1 -1
  806. package/package.json +107 -5
  807. package/src/actions/commit-edits.ts +0 -3
  808. package/src/actions/execution.ts +83 -0
  809. package/src/actions/index.ts +1 -1
  810. package/src/actions/registry.ts +22 -10
  811. package/src/actions/request.ts +55 -177
  812. package/src/actions/run-dispatch.ts +276 -0
  813. package/src/actions/types/context.ts +2 -4
  814. package/src/actions/validation.ts +2 -2
  815. package/src/agents/adapters.ts +8 -12
  816. package/src/agents/authority.ts +189 -0
  817. package/src/agents/builders.ts +53 -3
  818. package/src/agents/dispatch.ts +1 -6
  819. package/src/agents/errors.ts +24 -0
  820. package/src/agents/execution.ts +254 -0
  821. package/src/agents/index.ts +37 -5
  822. package/src/agents/prompt.ts +17 -5
  823. package/src/agents/request.ts +153 -13
  824. package/src/agents/streams.ts +150 -3
  825. package/src/agents/tool-definition.ts +93 -0
  826. package/src/agents/types.ts +99 -0
  827. package/src/agents/validation.ts +289 -5
  828. package/src/auth/attribution.ts +48 -0
  829. package/src/auth/index.ts +1 -0
  830. package/src/auth/runtime.ts +5 -5
  831. package/src/authorization/decision.ts +75 -14
  832. package/src/authorization/grant-kinds.ts +9 -0
  833. package/src/authorization/index.ts +2 -0
  834. package/src/blob-storage/execution.ts +78 -0
  835. package/src/blob-storage/validation.ts +2 -10
  836. package/src/bootstrap/discovery.ts +88 -268
  837. package/src/bootstrap/index.ts +2 -13
  838. package/src/broker/in-memory.ts +8 -1
  839. package/src/broker/types.ts +5 -0
  840. package/src/connectors/builders.ts +37 -2
  841. package/src/connectors/connections/authorizations.ts +646 -0
  842. package/src/connectors/connections/capability.ts +59 -0
  843. package/src/connectors/connections/command-context.ts +98 -0
  844. package/src/connectors/connections/contracts.ts +208 -0
  845. package/src/connectors/connections/credential-codec.ts +48 -0
  846. package/src/connectors/connections/credential-mutations.ts +574 -0
  847. package/src/connectors/connections/execution.ts +138 -0
  848. package/src/connectors/connections/internal.ts +17 -0
  849. package/src/connectors/connections/provider-operation.ts +41 -0
  850. package/src/connectors/connections/request.ts +447 -0
  851. package/src/connectors/connections/runs.ts +702 -0
  852. package/src/connectors/connections/service.ts +644 -0
  853. package/src/connectors/connections/storage-boundary.ts +13 -0
  854. package/src/connectors/connections/tokens.ts +292 -0
  855. package/src/connectors/connections/validation.ts +316 -0
  856. package/src/connectors/connections/views.ts +37 -0
  857. package/src/connectors/credentials.ts +149 -0
  858. package/src/connectors/errors.ts +111 -3
  859. package/src/connectors/execution.ts +157 -0
  860. package/src/connectors/index.ts +26 -2
  861. package/src/connectors/service.ts +142 -0
  862. package/src/connectors/types.ts +156 -7
  863. package/src/datasets/builders.ts +49 -5
  864. package/src/datasets/changes.ts +13 -0
  865. package/src/datasets/execution.ts +24 -0
  866. package/src/datasets/index.ts +3 -0
  867. package/src/datasets/types.ts +5 -0
  868. package/src/datasets/validation.ts +53 -11
  869. package/src/error-reporting/capability.ts +33 -106
  870. package/src/error-reporting/internal.ts +3 -1
  871. package/src/error-reporting/reporter.ts +19 -3
  872. package/src/error-reporting/reports.ts +172 -0
  873. package/src/error-reporting/types.ts +97 -43
  874. package/src/errors/catalog.ts +149 -0
  875. package/src/errors/internal.ts +322 -0
  876. package/src/errors/types.ts +21 -0
  877. package/src/events/definitions.ts +0 -4
  878. package/src/events/execution.ts +45 -0
  879. package/src/events/index.ts +15 -14
  880. package/src/events/outbox-dispatcher.ts +53 -18
  881. package/src/events/{runtime.ts → service.ts} +19 -23
  882. package/src/events/types/pipelines.ts +4 -1
  883. package/src/events/types/syncs.ts +3 -0
  884. package/src/events/types/workflows.ts +4 -2
  885. package/src/execution/agent.ts +130 -0
  886. package/src/execution/authorization.ts +409 -0
  887. package/src/execution/dispatch.ts +7 -0
  888. package/src/execution/durable.ts +193 -0
  889. package/src/execution/index.ts +12 -0
  890. package/src/execution/primitive.ts +50 -0
  891. package/src/execution/request.ts +109 -0
  892. package/src/execution/scopes.ts +198 -0
  893. package/src/execution/types.ts +113 -0
  894. package/src/http/api-routes.ts +42 -7
  895. package/src/index.ts +127 -10
  896. package/src/json.ts +11 -8
  897. package/src/lake-storage/definition-updates.ts +21 -0
  898. package/src/lake-storage/in-memory.ts +284 -2
  899. package/src/lake-storage/index.ts +14 -0
  900. package/src/lake-storage/merge-validation.ts +117 -0
  901. package/src/lake-storage/merge.ts +35 -0
  902. package/src/lake-storage/types.ts +3 -1
  903. package/src/logging/execution.ts +28 -0
  904. package/src/logging/index.ts +4 -4
  905. package/src/logging/{runtime.ts → service.ts} +7 -7
  906. package/src/materialization/events.ts +1 -0
  907. package/src/materialization/index.ts +2 -0
  908. package/src/materialization/model.ts +30 -18
  909. package/src/materializer/README.md +9 -13
  910. package/src/materializer/edits/commit.ts +85 -28
  911. package/src/materializer/edits/load-state.ts +79 -16
  912. package/src/materializer/edits/operations.ts +72 -36
  913. package/src/materializer/edits/plan.ts +95 -22
  914. package/src/materializer/edits/working-state.ts +86 -55
  915. package/src/materializer/effective/build-events.ts +2 -0
  916. package/src/materializer/effective/diff.ts +22 -0
  917. package/src/materializer/effective/load-state.ts +0 -31
  918. package/src/materializer/effective/resolve.ts +62 -0
  919. package/src/materializer/execution/commit-lifecycle.ts +9 -1
  920. package/src/materializer/execution/plan-stream.ts +33 -9
  921. package/src/materializer/execution/scope.ts +95 -0
  922. package/src/materializer/execution/work-executor.ts +6 -2
  923. package/src/materializer/execution/work-records.ts +39 -6
  924. package/src/materializer/index.ts +9 -1
  925. package/src/materializer/materializer.ts +67 -5
  926. package/src/materializer/projections/finish-run.ts +29 -11
  927. package/src/materializer/projections/replace.ts +55 -22
  928. package/src/materializer/projections/replacement-plan.ts +37 -7
  929. package/src/materializer/shared/batching.ts +4 -1
  930. package/src/materializer/shared/normalize.ts +0 -19
  931. package/src/materializer/telemetry/append.ts +57 -26
  932. package/src/materializer/telemetry/plan.ts +15 -6
  933. package/src/objects/action/request.ts +5 -5
  934. package/src/objects/context/index.ts +1 -0
  935. package/src/objects/context/types.ts +6 -0
  936. package/src/objects/execution.ts +346 -0
  937. package/src/objects/materializer-adapter.ts +1 -23
  938. package/src/objects/query/executor.ts +15 -29
  939. package/src/objects/query/index.ts +1 -2
  940. package/src/objects/query/planner.ts +0 -6
  941. package/src/objects/sdk/object-handle.ts +2 -2
  942. package/src/objects/sdk/object-set.ts +17 -7
  943. package/src/objects/sdk/runtime-query-executor.ts +9 -2
  944. package/src/objects/sdk/telemetry-channel.ts +5 -1
  945. package/src/objects/service/action-service.ts +5 -2
  946. package/src/objects/service/list-service.ts +1 -1
  947. package/src/objects/telemetry/history.ts +8 -3
  948. package/src/objects/telemetry/write-batch.ts +0 -2
  949. package/src/ontology/index.ts +6 -1
  950. package/src/ontology/json-schema.ts +2 -1
  951. package/src/ontology/registry.ts +16 -2
  952. package/src/ontology/validation/normalize.ts +9 -15
  953. package/src/pipelines/execution.ts +105 -0
  954. package/src/pipelines/index.ts +7 -0
  955. package/src/pipelines/request.ts +32 -26
  956. package/src/pipelines/run-dispatch.ts +308 -0
  957. package/src/projections/builders.ts +0 -9
  958. package/src/projections/capability.ts +37 -0
  959. package/src/projections/execution.ts +85 -0
  960. package/src/projections/index.ts +2 -1
  961. package/src/projections/internal.ts +17 -60
  962. package/src/projections/ownership.ts +2 -2
  963. package/src/projections/registry.ts +26 -11
  964. package/src/projections/revision.ts +7 -5
  965. package/src/projections/run-dispatch.ts +497 -0
  966. package/src/projections/run-id.ts +20 -0
  967. package/src/projections/types.ts +12 -0
  968. package/src/projections/validation.ts +3 -3
  969. package/src/queues/in-memory.ts +37 -11
  970. package/src/queues/index.ts +9 -2
  971. package/src/queues/types.ts +70 -45
  972. package/src/rules/execution.ts +49 -0
  973. package/src/rules/index.ts +0 -1
  974. package/src/rules/validation.ts +2 -6
  975. package/src/runtime/ai-usage.ts +17 -0
  976. package/src/runtime/create.ts +28 -68
  977. package/src/runtime/definitions.ts +44 -0
  978. package/src/runtime/host.ts +377 -0
  979. package/src/runtime/index.ts +5 -13
  980. package/src/runtime/internal.ts +12 -0
  981. package/src/runtime/ontology-mutations.ts +5 -3
  982. package/src/runtime/resolve-definitions.ts +238 -0
  983. package/src/runtime/sixb.ts +95 -807
  984. package/src/runtime/types.ts +17 -290
  985. package/src/scheduler/index.ts +1 -1
  986. package/src/scheduler/runtime.ts +37 -6
  987. package/src/schedules/execution.ts +14 -0
  988. package/src/schedules/types.ts +0 -8
  989. package/src/security/every.ts +4 -0
  990. package/src/security/grants.ts +13 -1
  991. package/src/security/index.ts +3 -1
  992. package/src/security/registry.ts +107 -0
  993. package/src/security/types.ts +8 -12
  994. package/src/security/validation.ts +7 -0
  995. package/src/storage/action-runs/failure.ts +64 -0
  996. package/src/storage/action-runs/idempotency.ts +3 -1
  997. package/src/storage/action-runs/in-memory.ts +39 -9
  998. package/src/storage/action-runs/index.ts +3 -0
  999. package/src/storage/action-runs/provider.ts +25 -0
  1000. package/src/storage/action-runs/types.ts +61 -27
  1001. package/src/storage/agents/errors.ts +1 -0
  1002. package/src/storage/agents/in-memory.ts +49 -11
  1003. package/src/storage/agents/index.ts +2 -1
  1004. package/src/storage/agents/provider.ts +27 -0
  1005. package/src/storage/agents/types.ts +19 -19
  1006. package/src/storage/ai-usage/errors.ts +13 -0
  1007. package/src/storage/ai-usage/in-memory.ts +162 -0
  1008. package/src/storage/ai-usage/index.ts +21 -0
  1009. package/src/storage/ai-usage/record.ts +74 -0
  1010. package/src/storage/ai-usage/types.ts +102 -0
  1011. package/src/storage/ai-usage/usage.ts +104 -0
  1012. package/src/storage/auth/types.ts +1 -0
  1013. package/src/storage/connector-connections/errors.ts +24 -0
  1014. package/src/storage/connector-connections/in-memory.ts +1377 -0
  1015. package/src/storage/connector-connections/index.ts +66 -0
  1016. package/src/storage/connector-connections/provider/authorizations.ts +446 -0
  1017. package/src/storage/connector-connections/provider/connections.ts +291 -0
  1018. package/src/storage/connector-connections/provider/runs.ts +369 -0
  1019. package/src/storage/connector-connections/provider/shared.ts +342 -0
  1020. package/src/storage/connector-connections/provider.ts +219 -0
  1021. package/src/storage/connector-connections/types.ts +546 -0
  1022. package/src/storage/executions/errors.ts +21 -0
  1023. package/src/storage/executions/in-memory.ts +75 -0
  1024. package/src/storage/executions/index.ts +16 -0
  1025. package/src/storage/executions/provider.ts +292 -0
  1026. package/src/storage/executions/run-link.ts +70 -0
  1027. package/src/storage/executions/types.ts +49 -0
  1028. package/src/storage/executions/validation.ts +370 -0
  1029. package/src/storage/in-memory/index.ts +50 -16
  1030. package/src/storage/index.ts +155 -15
  1031. package/src/storage/ontology/commits.ts +1 -0
  1032. package/src/storage/ontology/in-memory/index.ts +2 -0
  1033. package/src/storage/ontology/in-memory/materializations-finalization.ts +2 -1
  1034. package/src/storage/ontology/in-memory/materializations-state.ts +10 -0
  1035. package/src/storage/ontology/in-memory/materializations-work.ts +2 -1
  1036. package/src/storage/ontology/in-memory/materializations.ts +131 -9
  1037. package/src/storage/ontology/in-memory/outbox.ts +1 -1
  1038. package/src/storage/ontology/in-memory/shared-state.ts +12 -1
  1039. package/src/storage/ontology/index.ts +6 -0
  1040. package/src/storage/ontology/materializations.ts +50 -4
  1041. package/src/storage/ontology/outbox.ts +13 -2
  1042. package/src/storage/ontology/provider-header-validation.ts +1 -0
  1043. package/src/storage/ontology/provider-work.ts +33 -14
  1044. package/src/storage/ontology/provider.ts +72 -52
  1045. package/src/storage/operation-scope.ts +1 -0
  1046. package/src/storage/pipeline-runs/idempotency.ts +14 -0
  1047. package/src/storage/pipeline-runs/in-memory.ts +88 -8
  1048. package/src/storage/pipeline-runs/index.ts +5 -1
  1049. package/src/storage/pipeline-runs/provider.ts +25 -0
  1050. package/src/storage/pipeline-runs/types.ts +37 -14
  1051. package/src/storage/projection-runs/in-memory.ts +93 -24
  1052. package/src/storage/projection-runs/index.ts +4 -0
  1053. package/src/storage/projection-runs/lifecycle.ts +165 -36
  1054. package/src/storage/projection-runs/provider.ts +34 -0
  1055. package/src/storage/projection-runs/types.ts +34 -11
  1056. package/src/storage/run-listing.ts +22 -13
  1057. package/src/storage/sync-runs/idempotency.ts +18 -0
  1058. package/src/storage/sync-runs/in-memory.ts +92 -9
  1059. package/src/storage/sync-runs/index.ts +5 -1
  1060. package/src/storage/sync-runs/provider.ts +25 -0
  1061. package/src/storage/sync-runs/types.ts +44 -15
  1062. package/src/storage/types.ts +45 -17
  1063. package/src/storage/webhook-runs/errors.ts +14 -0
  1064. package/src/storage/webhook-runs/in-memory.ts +84 -9
  1065. package/src/storage/webhook-runs/index.ts +5 -1
  1066. package/src/storage/webhook-runs/provider.ts +30 -0
  1067. package/src/storage/webhook-runs/types.ts +52 -11
  1068. package/src/storage/workflow-runs/in-memory.ts +91 -55
  1069. package/src/storage/workflow-runs/index.ts +2 -0
  1070. package/src/storage/workflow-runs/provider.ts +70 -0
  1071. package/src/storage/workflow-runs/types.ts +38 -25
  1072. package/src/syncs/builders.ts +33 -15
  1073. package/src/syncs/execution.ts +78 -0
  1074. package/src/syncs/index.ts +14 -0
  1075. package/src/syncs/request.ts +32 -43
  1076. package/src/syncs/run-dispatch.ts +312 -0
  1077. package/src/syncs/sources.ts +20 -0
  1078. package/src/syncs/types.ts +75 -25
  1079. package/src/syncs/validation.ts +77 -0
  1080. package/src/testing/action-execution.ts +61 -0
  1081. package/src/testing/agent-execution.ts +81 -0
  1082. package/src/testing/agent-storage-contract.ts +158 -63
  1083. package/src/testing/ai-usage-storage-contract.ts +528 -0
  1084. package/src/testing/auth-storage-contract.ts +17 -1
  1085. package/src/testing/broker-contract.ts +16 -1
  1086. package/src/testing/connector-connection-storage-contract.ts +1052 -0
  1087. package/src/testing/execution-storage-contract.ts +435 -0
  1088. package/src/testing/execution.ts +48 -0
  1089. package/src/testing/index.ts +56 -0
  1090. package/src/testing/lake-merge-storage-contract.ts +302 -0
  1091. package/src/testing/lake-storage-contract.ts +23 -0
  1092. package/src/testing/materializer-fixture.ts +11 -3
  1093. package/src/testing/materializer-storage-contract.ts +213 -11
  1094. package/src/testing/ontology-contract-fixture.ts +35 -2
  1095. package/src/testing/ontology-storage-contract.ts +75 -14
  1096. package/src/testing/pipeline-execution.ts +64 -0
  1097. package/src/testing/projection-execution.ts +98 -0
  1098. package/src/testing/projection-run-storage-contract.ts +215 -29
  1099. package/src/testing/queues-contract.ts +40 -51
  1100. package/src/testing/sync-execution.ts +61 -0
  1101. package/src/testing/webhook-execution.ts +47 -0
  1102. package/src/testing/webhook-run-storage-contract.ts +240 -0
  1103. package/src/testing/workflow-execution.ts +77 -0
  1104. package/src/webhooks/index.ts +2 -1
  1105. package/src/webhooks/internal.ts +5 -0
  1106. package/src/webhooks/registry.ts +60 -36
  1107. package/src/webhooks/run-admission.ts +172 -0
  1108. package/src/webhooks/types.ts +8 -5
  1109. package/src/workers/queue-delivery.ts +25 -22
  1110. package/src/workers/queue-worker.ts +62 -32
  1111. package/src/workflows/execution.ts +292 -0
  1112. package/src/workflows/failure.ts +63 -0
  1113. package/src/workflows/index.ts +10 -1
  1114. package/src/workflows/request.ts +39 -118
  1115. package/src/workflows/run-dispatch.ts +359 -0
  1116. package/src/workflows/snapshot.ts +1 -10
  1117. package/src/workflows/types.ts +39 -8
  1118. package/dist/actions/runtime.d.ts +0 -11
  1119. package/dist/actions/runtime.d.ts.map +0 -1
  1120. package/dist/agents/runtime.d.ts +0 -41
  1121. package/dist/agents/runtime.d.ts.map +0 -1
  1122. package/dist/chunk-0fygrz37.js +0 -354
  1123. package/dist/chunk-0fygrz37.js.map +0 -17
  1124. package/dist/chunk-0psb6kdw.js +0 -989
  1125. package/dist/chunk-0psb6kdw.js.map +0 -15
  1126. package/dist/chunk-1vffvydj.js.map +0 -10
  1127. package/dist/chunk-2gpr6jsz.js.map +0 -13
  1128. package/dist/chunk-2s6sydsh.js.map +0 -12
  1129. package/dist/chunk-50kv63vj.js.map +0 -12
  1130. package/dist/chunk-590dejbp.js +0 -49
  1131. package/dist/chunk-590dejbp.js.map +0 -10
  1132. package/dist/chunk-867jxh7c.js.map +0 -19
  1133. package/dist/chunk-aebzcsxr.js.map +0 -48
  1134. package/dist/chunk-btpe64e4.js +0 -554
  1135. package/dist/chunk-btpe64e4.js.map +0 -13
  1136. package/dist/chunk-dcgrzj1t.js.map +0 -36
  1137. package/dist/chunk-dhmj53mx.js.map +0 -16
  1138. package/dist/chunk-hsv43v58.js +0 -1390
  1139. package/dist/chunk-hsv43v58.js.map +0 -21
  1140. package/dist/chunk-jdwx7vzs.js.map +0 -14
  1141. package/dist/chunk-k25jm1x5.js +0 -102
  1142. package/dist/chunk-k25jm1x5.js.map +0 -10
  1143. package/dist/chunk-k41ajtz7.js +0 -352
  1144. package/dist/chunk-k41ajtz7.js.map +0 -13
  1145. package/dist/chunk-k6j72mtt.js +0 -9
  1146. package/dist/chunk-k6j72mtt.js.map +0 -10
  1147. package/dist/chunk-nvamz5dv.js +0 -819
  1148. package/dist/chunk-nvamz5dv.js.map +0 -21
  1149. package/dist/chunk-pv1yad91.js +0 -1165
  1150. package/dist/chunk-pv1yad91.js.map +0 -27
  1151. package/dist/chunk-q4qzq0ea.js.map +0 -14
  1152. package/dist/chunk-r65yscvk.js.map +0 -11
  1153. package/dist/chunk-t358gywy.js.map +0 -34
  1154. package/dist/chunk-t72dvahb.js.map +0 -12
  1155. package/dist/chunk-v5c085yp.js.map +0 -10
  1156. package/dist/chunk-wj01s5hr.js.map +0 -11
  1157. package/dist/chunk-wxhdnwh4.js +0 -37
  1158. package/dist/chunk-wxhdnwh4.js.map +0 -10
  1159. package/dist/chunk-xz5g49bp.js.map +0 -11
  1160. package/dist/chunk-ya6brh8a.js.map +0 -11
  1161. package/dist/chunk-yvef9xwc.js.map +0 -44
  1162. package/dist/chunk-yxss87qa.js.map +0 -14
  1163. package/dist/connectors/runtime.d.ts +0 -13
  1164. package/dist/connectors/runtime.d.ts.map +0 -1
  1165. package/dist/events/runtime.d.ts.map +0 -1
  1166. package/dist/objects/contexts.d.ts +0 -45
  1167. package/dist/objects/contexts.d.ts.map +0 -1
  1168. package/dist/objects/helpers.d.ts +0 -7
  1169. package/dist/objects/helpers.d.ts.map +0 -1
  1170. package/dist/runtime/scoped.d.ts +0 -158
  1171. package/dist/runtime/scoped.d.ts.map +0 -1
  1172. package/dist/security/runtime.d.ts +0 -16
  1173. package/dist/security/runtime.d.ts.map +0 -1
  1174. package/dist/storage/webhook-deliveries/in-memory.d.ts +0 -18
  1175. package/dist/storage/webhook-deliveries/in-memory.d.ts.map +0 -1
  1176. package/dist/storage/webhook-deliveries/index.d.ts +0 -3
  1177. package/dist/storage/webhook-deliveries/index.d.ts.map +0 -1
  1178. package/dist/storage/webhook-deliveries/types.d.ts +0 -43
  1179. package/dist/storage/webhook-deliveries/types.d.ts.map +0 -1
  1180. package/dist/workflows/runtime.d.ts +0 -33
  1181. package/dist/workflows/runtime.d.ts.map +0 -1
  1182. package/src/actions/runtime.ts +0 -31
  1183. package/src/agents/runtime.ts +0 -124
  1184. package/src/connectors/runtime.ts +0 -100
  1185. package/src/objects/contexts.ts +0 -64
  1186. package/src/objects/helpers.ts +0 -18
  1187. package/src/runtime/scoped.ts +0 -436
  1188. package/src/security/runtime.ts +0 -101
  1189. package/src/storage/webhook-deliveries/in-memory.ts +0 -108
  1190. package/src/storage/webhook-deliveries/index.ts +0 -9
  1191. package/src/storage/webhook-deliveries/types.ts +0 -41
  1192. package/src/workflows/runtime.ts +0 -68
  1193. /package/dist/{chunk-45tw90k7.js.map → chunk-4gz41why.js.map} +0 -0
  1194. /package/dist/{chunk-vj723r3p.js.map → chunk-8b55ygje.js.map} +0 -0
  1195. /package/dist/{chunk-p6r5g77m.js.map → chunk-vybf6pkp.js.map} +0 -0
  1196. /package/dist/{chunk-5yny9z0e.js.map → chunk-z3zp0bj1.js.map} +0 -0
@@ -1,7 +1,13 @@
1
1
  // @bun
2
+ import {
3
+ findPrimitiveRunExecution
4
+ } from "./chunk-t9xghkva.js";
2
5
  import {
3
6
  MaterializationConflictError
4
7
  } from "./chunk-ry24jbr1.js";
8
+ import {
9
+ parseSixbFailure
10
+ } from "./chunk-0172wgm9.js";
5
11
 
6
12
  // src/storage/projection-runs/errors.ts
7
13
  class ProjectionRunError extends MaterializationConflictError {
@@ -11,6 +17,14 @@ class ProjectionRunError extends MaterializationConflictError {
11
17
  }
12
18
  }
13
19
 
20
+ // src/projections/types.ts
21
+ var PROJECTION_RUN_FAILURE_CODES = [
22
+ "internal.unexpected",
23
+ "runtime.cancelled",
24
+ "queue.enqueue_failed",
25
+ "projection.execution_failed"
26
+ ];
27
+
14
28
  // src/storage/projection-runs/types.ts
15
29
  var progressKeyFlags = {
16
30
  sourceRowsRead: true,
@@ -85,10 +99,21 @@ function assertProjectionRunTargetMatches(record, target) {
85
99
  function assertProjectionRunStartInput(input) {
86
100
  assertProjectionRunNonEmpty(input.id, "id");
87
101
  assertProjectionRunNonEmpty(input.projectId, "projectId");
88
- assertProjectionRunIdentity(input.identity);
89
- assertProjectionTarget(input.identity.projectionKind, input.target);
102
+ assertProjectionRunIdentityAndTarget(input);
90
103
  if (input.startedAt)
91
104
  assertProjectionRunDate(input.startedAt, "startedAt");
105
+ }
106
+ function assertProjectionRunQueueInput(input) {
107
+ assertProjectionRunNonEmpty(input.id, "id");
108
+ assertProjectionRunNonEmpty(input.projectId, "projectId");
109
+ assertProjectionRunNonEmpty(input.executionId, "executionId");
110
+ assertProjectionRunIdentityAndTarget(input);
111
+ if (input.queuedAt)
112
+ assertProjectionRunDate(input.queuedAt, "queuedAt");
113
+ }
114
+ function assertProjectionRunIdentityAndTarget(input) {
115
+ assertProjectionRunIdentity(input.identity);
116
+ assertProjectionTarget(input.identity.projectionKind, input.target);
92
117
  if (input.identity.projectionKind === "telemetry") {
93
118
  const telemetry = input;
94
119
  assertPositiveCounter(telemetry.fixedBatchSize, "fixedBatchSize");
@@ -97,23 +122,26 @@ function assertProjectionRunStartInput(input) {
97
122
  }
98
123
  }
99
124
  function planProjectionRunReclaim(record, input) {
100
- assertProjectionRunRunning(record);
125
+ if (record.status !== "queued" && record.status !== "running") {
126
+ throw new ProjectionRunError(`[Sixb] Projection run '${record.id}' cannot start from status '${record.status}'.`);
127
+ }
101
128
  assertProjectionRunIdentityMatches(record, input.identity);
102
129
  assertProjectionRunTargetMatches(record, input.target);
103
130
  if (record.telemetryCheckpoint?.fixedBatchSize !== input.fixedBatchSize) {
104
131
  throw new ProjectionRunError(`[Sixb] Projection run '${input.id}' fixed batch size does not match.`);
105
132
  }
106
- return { attempt: nextProjectionRunAttempt(record.attempt) };
133
+ return { attempt: record.status === "queued" ? 1 : nextProjectionRunAttempt(record.attempt) };
107
134
  }
108
135
  function createProjectionRunRecord(input, now = new Date) {
109
- assertProjectionRunStartInput(input);
136
+ assertProjectionRunQueueInput(input);
110
137
  const base = {
111
138
  id: input.id,
112
139
  projectId: input.projectId,
113
- status: "running",
114
- attempt: 1,
140
+ executionId: input.executionId,
141
+ status: "queued",
142
+ attempt: 0,
115
143
  progress: zeroProjectionRunProgress(),
116
- startedAt: new Date(input.startedAt ?? now)
144
+ queuedAt: new Date(input.queuedAt ?? now)
117
145
  };
118
146
  switch (input.identity.projectionKind) {
119
147
  case "object": {
@@ -143,9 +171,12 @@ function createProjectionRunRecord(input, now = new Date) {
143
171
  function assertProjectionRunRunning(record) {
144
172
  if (record.status === "running")
145
173
  return;
146
- throw new ProjectionRunError(`[Sixb] Projection run '${record.id}' for project '${record.projectId}' is already terminal.`);
174
+ if (record.status !== "queued") {
175
+ throw new ProjectionRunError(`[Sixb] Projection run '${record.id}' is already terminal.`);
176
+ }
177
+ throw new ProjectionRunError(`[Sixb] Projection run '${record.id}' for project '${record.projectId}' is not running.`);
147
178
  }
148
- function assertProjectionRunExecution(record, input) {
179
+ function assertProjectionRunAttempt(record, input) {
149
180
  assertProjectionRunNonEmpty(input.executionToken, "executionToken");
150
181
  assertProjectionRunIdentity(input.identity);
151
182
  assertProjectionRunRunning(record);
@@ -229,7 +260,7 @@ function planProjectionRunFinish(record, input, now = new Date) {
229
260
  finishedAt,
230
261
  progress,
231
262
  ...input.status === "succeeded" && input.protocol === "telemetry" ? { inputExhausted: true } : {},
232
- ...input.status === "succeeded" || input.errorMessage === undefined ? {} : { errorMessage: input.errorMessage }
263
+ ...input.status === "succeeded" || input.error === undefined ? {} : { error: parseSixbFailure(input.error, PROJECTION_RUN_FAILURE_CODES) }
233
264
  };
234
265
  }
235
266
  function finishProjectionRunRecord(record, input, now = new Date) {
@@ -239,7 +270,7 @@ function finishProjectionRunRecord(record, input, now = new Date) {
239
270
  status: plan.status,
240
271
  finishedAt: plan.finishedAt,
241
272
  progress: plan.progress,
242
- errorMessage: plan.errorMessage
273
+ error: plan.error
243
274
  };
244
275
  if (plan.inputExhausted) {
245
276
  const telemetry = requireTelemetryProjectionRun(record);
@@ -251,34 +282,51 @@ function finishProjectionRunRecord(record, input, now = new Date) {
251
282
  }
252
283
  return { ...record, ...terminal };
253
284
  }
285
+ function failProjectionRunEnqueue(record, input, now = new Date) {
286
+ if (record.status !== "queued") {
287
+ throw new ProjectionRunError(`[Sixb] Projection run '${record.id}' cannot fail enqueue from status '${record.status}'.`);
288
+ }
289
+ const error = parseSixbFailure(input.error, PROJECTION_RUN_FAILURE_CODES);
290
+ if (error.code !== "queue.enqueue_failed") {
291
+ throw new ProjectionRunError(`[Sixb] Projection run '${record.id}' enqueue failure must use code 'queue.enqueue_failed'.`);
292
+ }
293
+ const finishedAt = new Date(input.finishedAt ?? now);
294
+ assertProjectionRunDate(finishedAt, "finishedAt");
295
+ return {
296
+ ...record,
297
+ status: "failed",
298
+ finishedAt,
299
+ error
300
+ };
301
+ }
302
+ function canRequeueProjectionRunAfterEnqueueFailure(record, input) {
303
+ return record.status === "failed" && record.error?.code === "queue.enqueue_failed" && record.error.retryable && record.executionId === input.executionId && projectionRunIdentitiesEqual(record.identity, input.identity) && projectionTargetsEqual(record.target, input.target) && record.telemetryCheckpoint?.fixedBatchSize === input.fixedBatchSize;
304
+ }
254
305
  function restoreProjectionRun(row) {
255
306
  assertProjectionRunNonEmpty(row.id, "id");
256
307
  assertProjectionRunNonEmpty(row.projectId, "projectId");
308
+ assertProjectionRunNonEmpty(row.executionId, "executionId");
257
309
  assertProjectionRunCounter(row.attempt, "attempt");
258
- if (row.attempt < 1) {
259
- throw new ProjectionRunError(`[Sixb] Projection run '${row.id}' attempt must be positive.`);
260
- }
261
310
  assertProjectionRunProgress(row.progress);
262
- assertValidDate(row.startedAt, "startedAt");
311
+ assertValidDate(row.queuedAt, "queuedAt");
312
+ if (row.startedAt)
313
+ assertValidDate(row.startedAt, "startedAt");
263
314
  if (row.finishedAt)
264
315
  assertValidDate(row.finishedAt, "finishedAt");
265
- if (row.status === "running" !== (row.finishedAt === undefined)) {
266
- throw incompleteProjectionRun(row.id);
267
- }
268
- if (row.status === "running" !== (row.executionToken !== undefined)) {
269
- throw incompleteProjectionRun(row.id);
270
- }
316
+ assertPersistedLifecycle(row);
271
317
  const identity = restoreIdentity(row);
272
318
  const base = {
273
319
  id: row.id,
274
320
  projectId: row.projectId,
321
+ executionId: row.executionId,
275
322
  identity,
276
323
  status: row.status,
277
- startedAt: new Date(row.startedAt),
324
+ queuedAt: new Date(row.queuedAt),
325
+ startedAt: row.startedAt ? new Date(row.startedAt) : undefined,
278
326
  finishedAt: row.finishedAt ? new Date(row.finishedAt) : undefined,
279
327
  attempt: row.attempt,
280
328
  progress: { ...row.progress },
281
- errorMessage: row.errorMessage,
329
+ error: row.error === undefined ? undefined : parseSixbFailure(row.error, PROJECTION_RUN_FAILURE_CODES),
282
330
  executionToken: row.executionToken
283
331
  };
284
332
  if (identity.projectionKind === "link") {
@@ -361,6 +409,36 @@ function assertValidDate(value, fieldName) {
361
409
  throw new ProjectionRunError(`[Sixb] Projection run persisted ${fieldName} is invalid.`);
362
410
  }
363
411
  }
412
+ function assertPersistedLifecycle(row) {
413
+ const hasError = row.error !== undefined;
414
+ if (row.status === "queued") {
415
+ if (row.attempt !== 0 || row.startedAt !== undefined || row.finishedAt !== undefined || row.executionToken !== undefined || hasError) {
416
+ throw incompleteProjectionRun(row.id);
417
+ }
418
+ return;
419
+ }
420
+ if (row.status === "running") {
421
+ if (row.attempt < 1 || row.startedAt === undefined || row.finishedAt !== undefined || row.executionToken === undefined || hasError) {
422
+ throw incompleteProjectionRun(row.id);
423
+ }
424
+ return;
425
+ }
426
+ if (row.finishedAt === undefined || row.executionToken !== undefined) {
427
+ throw incompleteProjectionRun(row.id);
428
+ }
429
+ if (row.error !== undefined) {
430
+ const failure = parseSixbFailure(row.error, PROJECTION_RUN_FAILURE_CODES);
431
+ if (failure.code === "queue.enqueue_failed") {
432
+ if (!failure.retryable || row.status !== "failed" || row.attempt !== 0 || row.startedAt !== undefined) {
433
+ throw incompleteProjectionRun(row.id);
434
+ }
435
+ return;
436
+ }
437
+ }
438
+ if (row.attempt < 1 || row.startedAt === undefined || row.status === "succeeded" && hasError) {
439
+ throw incompleteProjectionRun(row.id);
440
+ }
441
+ }
364
442
  function assertProjectionRunDate(value, fieldName) {
365
443
  if (!Number.isFinite(value.getTime())) {
366
444
  throw new ProjectionRunError(`[Sixb] Projection run ${fieldName} is invalid.`);
@@ -518,6 +596,20 @@ function isTelemetryProjectionRun(record) {
518
596
  return record.identity.projectionKind === "telemetry";
519
597
  }
520
598
 
521
- export { ProjectionRunError, PROJECTION_RUN_PROGRESS_KEYS, zeroProjectionRunProgress, projectionRunObjectTypesVisible, assertProjectionRunNonEmpty, assertProjectionRunCounter, assertProjectionRunListWindow, addProjectionRunCounter, assertProjectionRunIdentity, assertProjectionRunIdentityMatches, assertProjectionRunTargetMatches, assertProjectionRunStartInput, planProjectionRunReclaim, createProjectionRunRecord, assertProjectionRunRunning, assertProjectionRunExecution, nextProjectionRunAttempt, mergeProjectionRunProgress, assertGenericProgressDoesNotAdvanceTelemetry, advanceProjectionTelemetry, planProjectionRunFinish, finishProjectionRunRecord, restoreProjectionRun, publicProjectionRunRecord, createProjectionRunClaim, requireProjectionRunExecutionToken, staleProjectionRunExecution, projectionRunNotFound, immutableDatasetVersionConflict, assertProjectionMissingTarget, requireTelemetryProjectionRun };
599
+ // src/storage/projection-runs/provider.ts
600
+ async function assertProjectionRunDurableExecution(input) {
601
+ const execution = await findPrimitiveRunExecution({
602
+ executions: input.executions,
603
+ projectId: input.projectId,
604
+ executionId: input.executionId,
605
+ primitive: { kind: "projection", id: input.projectionId, runId: input.runId },
606
+ sourceTypes: ["datasetVersion"]
607
+ });
608
+ if (!execution || execution.source.type !== "datasetVersion" || execution.source.datasetId !== input.datasetId || execution.source.versionId !== input.datasetVersionId) {
609
+ throw new ProjectionRunError(`[Sixb] Execution '${input.executionId}' does not authorize Projection run '${input.runId}'.`);
610
+ }
611
+ }
612
+
613
+ export { ProjectionRunError, PROJECTION_RUN_FAILURE_CODES, PROJECTION_RUN_PROGRESS_KEYS, zeroProjectionRunProgress, projectionRunObjectTypesVisible, assertProjectionRunNonEmpty, assertProjectionRunCounter, assertProjectionRunListWindow, addProjectionRunCounter, assertProjectionRunIdentity, assertProjectionRunIdentityMatches, assertProjectionRunTargetMatches, assertProjectionRunStartInput, assertProjectionRunQueueInput, planProjectionRunReclaim, createProjectionRunRecord, assertProjectionRunRunning, assertProjectionRunAttempt, nextProjectionRunAttempt, mergeProjectionRunProgress, assertGenericProgressDoesNotAdvanceTelemetry, advanceProjectionTelemetry, planProjectionRunFinish, finishProjectionRunRecord, failProjectionRunEnqueue, canRequeueProjectionRunAfterEnqueueFailure, restoreProjectionRun, publicProjectionRunRecord, createProjectionRunClaim, requireProjectionRunExecutionToken, staleProjectionRunExecution, projectionRunNotFound, immutableDatasetVersionConflict, assertProjectionMissingTarget, requireTelemetryProjectionRun, assertProjectionRunDurableExecution };
522
614
 
523
- //# debugId=6023FB3FE52DBB3D64756E2164756E21
615
+ //# debugId=F1452D90C0D387BF64756E2164756E21
@@ -0,0 +1,14 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/storage/projection-runs/errors.ts", "../src/projections/types.ts", "../src/storage/projection-runs/types.ts", "../src/storage/projection-runs/lifecycle.ts", "../src/storage/projection-runs/provider.ts"],
4
+ "sourcesContent": [
5
+ "import {\n MaterializationConflictError,\n type MaterializationConflictKind,\n} from \"../../materialization/errors\"\n\n/**\n * Base error for projection-run storage operations.\n */\nexport class ProjectionRunError extends MaterializationConflictError {\n readonly name = \"ProjectionRunError\"\n\n constructor(message: string, kind: MaterializationConflictKind = \"run-correlation\") {\n super(kind, message)\n }\n}\n",
6
+ "import type { SixbErrorCode } from \"../errors/types\"\n\n/** Error codes a projection run can persist and expose through its public contract. */\nexport const PROJECTION_RUN_FAILURE_CODES = [\n \"internal.unexpected\",\n \"runtime.cancelled\",\n \"queue.enqueue_failed\",\n \"projection.execution_failed\",\n] as const satisfies readonly [SixbErrorCode, ...SixbErrorCode[]]\n\nexport type ProjectionRunFailureCode = (typeof PROJECTION_RUN_FAILURE_CODES)[number]\n\n/**\n * Lowered, serializable definition interfaces for projection DSL.\n *\n * These are the runtime-inspectable data structures that projection builders\n * lower into. They use plain string ids (no tokens, no methods) so they can\n * be stored, serialized, and introspected by tooling.\n */\n\n/**\n * Describes how a foreign key column in a dataset resolves to a link target.\n *\n * The source can be either a projected source property or a raw dataset field.\n * Its value equals the target object's primary property value, creating an\n * implicit link between source and target.\n *\n * `targetObjectTypeId` declares the concrete target type for this projection.\n * It must be the same type or a subtype (via `extends`) of the link's declared\n * target at the ontology level. Validation of the subtype relationship happens\n * at Sixb startup (Increment 7), not at DSL build time.\n */\nexport interface ForeignKeyDescriptor {\n readonly linkId: string\n /** Object property holding the target id. Mutually exclusive with sourceField. */\n readonly sourcePropertyId?: string\n /** Dataset column holding the target id. Mutually exclusive with sourcePropertyId. */\n readonly sourceField?: string\n readonly targetObjectTypeId: string\n}\n\n/**\n * Lowered, serializable definition for projecting a dataset into object instances.\n *\n * Each row contributes one complete object root to an authoritative replacement snapshot, with\n * properties mapped from dataset columns to object type properties. Duplicate roots are rejected.\n * FK links are resolved from source property or dataset field values to target object primary\n * values.\n */\nexport interface ObjectProjectionDefinition {\n readonly _tag: \"ObjectProjectionDefinition\"\n readonly id: string\n readonly objectTypeId: string\n readonly datasetId: string\n /** Maps object type property id -> dataset column name. */\n readonly properties: Readonly<Record<string, string>>\n /** Maps link id -> FK descriptor. Empty `{}` when no FK links are projected. */\n readonly links: Readonly<Record<string, ForeignKeyDescriptor>>\n}\n\n/**\n * Lowered, serializable definition for projecting a join dataset into link instances.\n *\n * Each row in the join dataset contributes one complete link root to an authoritative replacement\n * snapshot, identified by its source, link id, and target. Duplicate roots are rejected.\n */\nexport interface LinkProjectionDefinition {\n readonly _tag: \"LinkProjectionDefinition\"\n readonly id: string\n readonly linkId: string\n readonly sourceObjectTypeId: string\n readonly targetObjectTypeId: string\n readonly datasetId: string\n /** Dataset column holding the source object's primary property value. */\n readonly sourceField: string\n /** Dataset column holding the target object's primary property value. */\n readonly targetField: string\n}\n\n/**\n * Lowered, serializable definition for projecting dataset rows into telemetry history.\n *\n * Each row in the dataset becomes one telemetry point for a single object type property.\n * The target object type and property are fixed by the telemetry property token used by\n * the builder; the point mapping selects the dataset columns for object id, timestamp,\n * value, and optional unit.\n */\nexport interface TelemetryProjectionDefinition {\n readonly _tag: \"TelemetryProjectionDefinition\"\n readonly id: string\n readonly objectTypeId: string\n readonly propertyId: string\n readonly datasetId: string\n /** Dataset column holding the target object's primary id. */\n readonly objectIdField: string\n /** Dataset column holding the telemetry observation timestamp. */\n readonly atField: string\n /** Dataset column holding the telemetry value. */\n readonly valueField: string\n /** Dataset column holding the telemetry unit, when the property requires one. */\n readonly unitField?: string\n}\n\n/** Union of all projection definition types. */\nexport type ProjectionDefinition =\n | ObjectProjectionDefinition\n | LinkProjectionDefinition\n | TelemetryProjectionDefinition\n\nexport interface ProjectionOwnership {\n readonly objects: readonly {\n readonly objectTypeId: string\n readonly existence: boolean\n readonly propertyIds: readonly string[]\n }[]\n readonly links: readonly {\n readonly sourceObjectTypeId: string\n readonly linkId: string\n }[]\n readonly telemetry: readonly {\n readonly objectTypeId: string\n readonly propertyId: string\n }[]\n}\n\n/** Canonical correlation between a projection kind and its materialization protocol. */\nexport type ProjectionProtocolIdentity =\n | { readonly projectionKind: \"object\"; readonly protocol: \"replacement\" }\n | { readonly projectionKind: \"link\"; readonly protocol: \"replacement\" }\n | { readonly projectionKind: \"telemetry\"; readonly protocol: \"telemetry\" }\n\nexport type ProjectionKind = ProjectionProtocolIdentity[\"projectionKind\"]\n\nexport interface ObjectProjectionTarget {\n readonly objectTypeId: string\n}\n\nexport interface LinkProjectionTarget {\n readonly sourceObjectTypeId: string\n readonly targetObjectTypeId: string\n}\n\nexport interface ProjectionTargetByKind {\n readonly object: ObjectProjectionTarget\n readonly link: LinkProjectionTarget\n readonly telemetry: ObjectProjectionTarget\n}\n\n/** Object types affected by one projection, correlated with its projection kind. */\nexport type ProjectionTarget<TKind extends ProjectionKind = ProjectionKind> =\n ProjectionTargetByKind[TKind]\n\n/**\n * Frozen semantic identity used to dispatch one registered projection.\n *\n * Dataset version metadata is attached only when a committed dataset event is routed. Keeping the\n * registry-owned fields together prevents the orchestrator from recomputing ontology semantics.\n */\nexport type ProjectionDispatchDescriptor = ProjectionDispatchDescriptorBase &\n ProjectionProtocolIdentity\n\ninterface ProjectionDispatchDescriptorBase {\n readonly projectionId: string\n readonly datasetId: string\n readonly ontologyRevision: string\n readonly projectionRevision: string\n readonly ownershipHash: string\n}\n\nexport interface ResolvedProjection<TDefinition extends ProjectionDefinition> {\n readonly projectionId: string\n readonly datasetId: string\n readonly projectionRevision: string\n readonly ownershipHash: string\n readonly ownership: ProjectionOwnership\n readonly definition: TDefinition\n}\n",
7
+ "import type { SixbFailure } from \"../../errors/types\"\nimport type {\n PinnedDatasetVersion,\n ProjectionExecution,\n ProjectionMaterializationIdentity,\n ProjectionRunTerminalDecision,\n} from \"../../materialization/model\"\nimport type {\n LinkProjectionTarget,\n ObjectProjectionTarget,\n ProjectionKind,\n ProjectionRunFailureCode,\n ProjectionTarget,\n} from \"../../projections/types\"\n\nexport type { ProjectionRunFailureCode } from \"../../projections/types\"\nexport { PROJECTION_RUN_FAILURE_CODES } from \"../../projections/types\"\n\nexport type ProjectionRunStatus = \"queued\" | \"running\" | \"succeeded\" | \"failed\" | \"cancelled\"\n\nexport interface ProjectionRunProgress {\n /** Physical immutable-version rows consumed, before normalization or semantic materialization. */\n readonly sourceRowsRead: number\n /** Physical rows intentionally skipped because a required mapped value was blank. */\n readonly sourceRowsSkipped: number\n}\n\nconst progressKeyFlags: Record<keyof ProjectionRunProgress, true> = {\n sourceRowsRead: true,\n sourceRowsSkipped: true,\n}\n\nexport const PROJECTION_RUN_PROGRESS_KEYS = Object.keys(\n progressKeyFlags\n) as readonly (keyof ProjectionRunProgress)[]\n\nexport function zeroProjectionRunProgress(): ProjectionRunProgress {\n const progress = {} as Record<keyof ProjectionRunProgress, number>\n for (const key of PROJECTION_RUN_PROGRESS_KEYS) progress[key] = 0\n return progress\n}\n\nexport interface ProjectionTelemetryCheckpoint {\n readonly fixedBatchSize: number\n readonly nextBatchOrdinal: number\n readonly nextRowOffset: number\n readonly inputExhausted: boolean\n}\n\n/**\n * The object a telemetry batch is waiting for, and when this run first found it missing.\n *\n * A projection's dataset can legitimately be materialized before the objects it references, so\n * the run waits instead of failing. The wait needs a start, and the run has no other durable one:\n * `startedAt` is when the run began, which on a batched projection is long before the batch that\n * cannot commit, and `attempt` counts every reclaim including the ones an unreachable queue caused.\n *\n * Cleared by any committed batch, so a run that is making progress never carries a stale wait.\n */\nexport interface ProjectionMissingTarget {\n readonly objectTypeId: string\n readonly objectId: string\n /** The batch that could not commit because of it. */\n readonly batchOrdinal: number\n readonly firstSeenAt: Date\n}\n\ninterface ProjectionRunRecordBase {\n readonly id: string\n readonly projectId: string\n readonly executionId: string\n readonly status: ProjectionRunStatus\n readonly attempt: number\n readonly progress: ProjectionRunProgress\n readonly queuedAt: Date\n readonly startedAt?: Date\n readonly finishedAt?: Date\n readonly error?: SixbFailure<ProjectionRunFailureCode>\n}\n\ntype ProjectionIdentity<TKind extends ProjectionKind> = Extract<\n ProjectionMaterializationIdentity,\n { readonly projectionKind: TKind }\n>\n\nexport type ObjectProjectionRunRecord = ProjectionRunRecordBase & {\n readonly identity: ProjectionIdentity<\"object\">\n readonly target: ObjectProjectionTarget\n readonly telemetryCheckpoint?: never\n readonly missingTarget?: never\n}\n\nexport type LinkProjectionRunRecord = ProjectionRunRecordBase & {\n readonly identity: ProjectionIdentity<\"link\">\n readonly target: LinkProjectionTarget\n readonly telemetryCheckpoint?: never\n readonly missingTarget?: never\n}\n\nexport type TelemetryProjectionRunRecord = ProjectionRunRecordBase & {\n readonly identity: ProjectionIdentity<\"telemetry\">\n readonly target: ObjectProjectionTarget\n readonly telemetryCheckpoint: ProjectionTelemetryCheckpoint\n /**\n * Only telemetry carries this: `MaterializationObjectNotFoundError` is raised by telemetry\n * validation alone, and only a batched protocol has a checkpoint to anchor the wait to.\n */\n readonly missingTarget?: ProjectionMissingTarget\n}\n\n/** Durable projection lifecycle state. The execution token is deliberately returned separately. */\nexport type ProjectionRunRecord =\n | ObjectProjectionRunRecord\n | LinkProjectionRunRecord\n | TelemetryProjectionRunRecord\n\nexport function projectionRunObjectTypesVisible(\n run: ProjectionRunRecord,\n canView: (objectTypeId: string) => boolean\n): boolean {\n const target: ProjectionTarget = run.target\n if (\"sourceObjectTypeId\" in target) {\n return canView(target.sourceObjectTypeId) && canView(target.targetObjectTypeId)\n }\n return canView(target.objectTypeId)\n}\n\ninterface ProjectionRunAdmissionBase {\n readonly id: string\n readonly projectId: string\n readonly executionId: string\n readonly queuedAt?: Date\n}\n\nexport type QueueProjectionRunInput =\n | (ProjectionRunAdmissionBase & {\n readonly identity: ProjectionIdentity<\"object\">\n readonly target: ObjectProjectionRunRecord[\"target\"]\n readonly fixedBatchSize?: never\n })\n | (ProjectionRunAdmissionBase & {\n readonly identity: ProjectionIdentity<\"link\">\n readonly target: LinkProjectionRunRecord[\"target\"]\n readonly fixedBatchSize?: never\n })\n | (ProjectionRunAdmissionBase & {\n readonly identity: ProjectionIdentity<\"telemetry\">\n readonly target: TelemetryProjectionRunRecord[\"target\"]\n readonly fixedBatchSize: number\n })\n\nexport type StartOrReclaimProjectionRunInput = QueueProjectionRunInput extends infer TInput\n ? TInput extends QueueProjectionRunInput\n ? Omit<TInput, \"executionId\" | \"queuedAt\"> & { readonly startedAt?: Date }\n : never\n : never\n\nexport interface FailProjectionRunEnqueueInput {\n readonly id: string\n readonly projectId: string\n readonly finishedAt?: Date\n readonly error: SixbFailure<ProjectionRunFailureCode>\n}\n\nexport interface ProjectionRunClaim {\n readonly run: ProjectionRunRecord\n readonly execution: ProjectionExecution\n}\n\nexport interface LockProjectionRunForMaterializationInput {\n readonly id: string\n readonly projectId: string\n readonly executionToken: string\n readonly identity: ProjectionMaterializationIdentity\n}\n\nexport interface UpdateProjectionRunInput extends LockProjectionRunForMaterializationInput {\n readonly progress: Partial<ProjectionRunProgress>\n}\n\nexport type FinishProjectionRunInput = ProjectionRunTerminalDecision &\n LockProjectionRunForMaterializationInput & {\n readonly finishedAt?: Date\n readonly progress?: Partial<ProjectionRunProgress>\n }\n\nexport interface AdvanceProjectionTelemetryCheckpointInput\n extends LockProjectionRunForMaterializationInput {\n /** Must equal the run's current nextBatchOrdinal. */\n readonly batchOrdinal: number\n /** Physical dataset rows consumed by this batch, including skipped rows. */\n readonly batchRowCount: number\n /** Physical rows intentionally skipped inside this batch. */\n readonly batchRowsSkipped: number\n /** True when this batch consumed the final row of the immutable dataset version. */\n readonly inputExhausted: boolean\n}\n\nexport interface RecordProjectionMissingTargetInput\n extends LockProjectionRunForMaterializationInput {\n readonly missingTarget: ProjectionMissingTarget\n}\n\nexport interface ListProjectionRunsInput {\n readonly projectId: string\n readonly projectionId?: string\n readonly projectionKind?: ProjectionKind\n readonly datasetId?: string\n readonly datasetVersionId?: string\n /**\n * Viewable object type ids. A run is included only if every target type is present. Omit for an\n * unrestricted internal execution; an empty set matches no runs.\n */\n readonly objectTypeIds?: readonly string[]\n readonly statuses?: readonly ProjectionRunStatus[]\n readonly startedAfter?: Date\n readonly startedBefore?: Date\n readonly limit?: number\n readonly offset?: number\n readonly order?: \"asc\" | \"desc\"\n}\n\nexport interface ListProjectionRunsResult {\n readonly runs: readonly ProjectionRunRecord[]\n readonly hasMore: boolean\n readonly total: number\n}\n\nexport interface ListLatestProjectionRunsInput {\n readonly projectId: string\n readonly projectionIds: readonly string[]\n}\n\nexport interface ListLatestProjectionRunsResult {\n readonly runs: readonly ProjectionRunRecord[]\n}\n\nexport interface ProjectionRunStorage {\n queue(input: QueueProjectionRunInput): Promise<ProjectionRunRecord>\n startOrReclaim(input: StartOrReclaimProjectionRunInput): Promise<ProjectionRunClaim>\n failEnqueue(input: FailProjectionRunEnqueueInput): Promise<ProjectionRunRecord>\n /** Transactionally fences the current execution before ontology materialization writes. */\n lockForMaterialization(\n input: LockProjectionRunForMaterializationInput\n ): Promise<ProjectionRunRecord>\n /** Updates physical source progress only. */\n update(input: UpdateProjectionRunInput): Promise<ProjectionRunRecord>\n /**\n * Advances telemetry progress atomically with the corresponding ontology commit.\n *\n * Clears any recorded missing target: a batch that commits is a batch that was not waiting.\n */\n advanceTelemetryCheckpoint(\n input: AdvanceProjectionTelemetryCheckpointInput\n ): Promise<TelemetryProjectionRunRecord>\n /** Records the object a telemetry batch is waiting for, so the wait has a durable start. */\n recordMissingTarget(\n input: RecordProjectionMissingTargetInput\n ): Promise<TelemetryProjectionRunRecord>\n /** Telemetry success also records the worker's EOF observation atomically. */\n finish(input: FinishProjectionRunInput): Promise<ProjectionRunRecord>\n getById(params: { projectId: string; id: string }): Promise<ProjectionRunRecord | null>\n list(input: ListProjectionRunsInput): Promise<ListProjectionRunsResult>\n listLatestByProjectionIds(\n input: ListLatestProjectionRunsInput\n ): Promise<ListLatestProjectionRunsResult>\n}\n\nexport type {\n LinkProjectionTarget,\n ObjectProjectionTarget,\n PinnedDatasetVersion,\n ProjectionExecution,\n ProjectionKind,\n ProjectionMaterializationIdentity,\n ProjectionTarget,\n}\n",
8
+ "import { parseSixbFailure } from \"../../errors/internal\"\nimport type { SixbFailure } from \"../../errors/types\"\nimport type {\n ProjectionMaterializationIdentity,\n ProjectionRunTerminalDecision,\n} from \"../../materialization/model\"\nimport type {\n ProjectionKind,\n ProjectionRunFailureCode,\n ProjectionTarget,\n} from \"../../projections/types\"\nimport { PROJECTION_RUN_FAILURE_CODES } from \"../../projections/types\"\nimport { ProjectionRunError } from \"./errors\"\nimport type {\n AdvanceProjectionTelemetryCheckpointInput,\n FailProjectionRunEnqueueInput,\n FinishProjectionRunInput,\n ProjectionMissingTarget,\n ProjectionRunClaim,\n ProjectionRunProgress,\n ProjectionRunRecord,\n ProjectionRunStatus,\n ProjectionTelemetryCheckpoint,\n QueueProjectionRunInput,\n StartOrReclaimProjectionRunInput,\n TelemetryProjectionRunRecord,\n} from \"./types\"\nimport { PROJECTION_RUN_PROGRESS_KEYS, zeroProjectionRunProgress } from \"./types\"\n\nexport type StoredProjectionRunRecord = ProjectionRunRecord & {\n readonly executionToken?: string\n}\n\nexport interface PersistedProjectionRunRecord {\n readonly id: string\n readonly projectId: string\n readonly executionId: string\n readonly projectionId: string\n readonly projectionKind: ProjectionKind\n readonly protocol?: \"replacement\" | \"telemetry\"\n readonly datasetId: string\n readonly datasetVersionId: string\n readonly datasetVersionCreatedAt?: string\n readonly ontologyRevision?: string\n readonly projectionRevision?: string\n readonly ownershipHash?: string\n readonly objectTypeId?: string\n readonly sourceObjectTypeId?: string\n readonly targetObjectTypeId?: string\n readonly status: ProjectionRunStatus\n readonly queuedAt: Date\n readonly startedAt?: Date\n readonly finishedAt?: Date\n readonly attempt: number\n readonly executionToken?: string\n readonly fixedBatchSize?: number\n readonly nextBatchOrdinal?: number\n readonly nextRowOffset?: number\n readonly inputExhausted?: boolean\n readonly missingTargetObjectTypeId?: string\n readonly missingTargetObjectId?: string\n readonly missingTargetBatchOrdinal?: number\n readonly missingTargetFirstSeenAt?: Date\n readonly progress: ProjectionRunProgress\n readonly error?: unknown\n}\n\nexport interface ProjectionTelemetryAdvance {\n readonly progress: ProjectionRunProgress\n readonly checkpoint: ProjectionTelemetryCheckpoint\n}\n\nexport interface ProjectionRunFinishPlan {\n readonly status: Exclude<ProjectionRunStatus, \"queued\" | \"running\">\n readonly finishedAt: Date\n readonly progress: ProjectionRunProgress\n readonly inputExhausted?: true\n readonly error?: SixbFailure<ProjectionRunFailureCode>\n}\n\n// ── Scalar and identity validation ──────────────────────────\n\nexport function assertProjectionRunNonEmpty(value: string, fieldName: string): void {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new ProjectionRunError(`[Sixb] Projection run ${fieldName} must not be empty.`)\n }\n}\n\nexport function assertProjectionRunCounter(value: number, fieldName: string): void {\n if (!Number.isSafeInteger(value) || value < 0) {\n throw new ProjectionRunError(\n `[Sixb] Projection run ${fieldName} must be a non-negative safe integer.`\n )\n }\n}\n\nexport function assertProjectionRunListWindow(value: number | undefined, fieldName: string): void {\n if (value !== undefined && (!Number.isSafeInteger(value) || value < 0)) {\n throw new ProjectionRunError(`[Sixb] Projection run list ${fieldName} must be >= 0.`)\n }\n}\n\nexport function addProjectionRunCounter(left: number, right: number, fieldName: string): number {\n const result = left + right\n if (!Number.isSafeInteger(result)) {\n throw new ProjectionRunError(`[Sixb] Projection run ${fieldName} exceeds safe integer range.`)\n }\n return result\n}\n\nexport function assertProjectionRunIdentity(identity: ProjectionMaterializationIdentity): void {\n assertProjectionRunNonEmpty(identity.projectionId, \"projectionId\")\n if (!isProjectionKind(identity.projectionKind)) {\n throw new ProjectionRunError(\n \"[Sixb] Projection run projectionKind must be 'object', 'link', or 'telemetry'.\"\n )\n }\n if (identity.protocol !== \"replacement\" && identity.protocol !== \"telemetry\") {\n throw new ProjectionRunError(\n \"[Sixb] Projection run protocol must be 'replacement' or 'telemetry'.\"\n )\n }\n assertProjectionRunNonEmpty(identity.datasetVersion.datasetId, \"datasetId\")\n assertProjectionRunNonEmpty(identity.datasetVersion.versionId, \"datasetVersionId\")\n assertCanonicalTimestamp(identity.datasetVersion.createdAt, \"datasetVersionCreatedAt\")\n assertProjectionRunNonEmpty(identity.ontologyRevision, \"ontologyRevision\")\n assertProjectionRunNonEmpty(identity.projectionRevision, \"projectionRevision\")\n assertProjectionRunNonEmpty(identity.ownershipHash, \"ownershipHash\")\n if ((identity.protocol === \"telemetry\") !== (identity.projectionKind === \"telemetry\")) {\n throw new ProjectionRunError(\n `[Sixb] Projection run protocol '${identity.protocol}' is incompatible with kind '${identity.projectionKind}'.`\n )\n }\n}\n\nexport function assertProjectionRunIdentityMatches(\n record: Pick<ProjectionRunRecord, \"id\" | \"identity\">,\n identity: ProjectionMaterializationIdentity\n): void {\n if (projectionRunIdentitiesEqual(record.identity, identity)) return\n throw new ProjectionRunError(\n `[Sixb] Projection run '${record.id}' materialization identity does not match.`\n )\n}\n\nexport function assertProjectionRunTargetMatches(\n record: Pick<ProjectionRunRecord, \"id\" | \"target\">,\n target: ProjectionTarget\n): void {\n if (projectionTargetsEqual(record.target, target)) return\n throw new ProjectionRunError(\n `[Sixb] Projection run '${record.id}' target object types do not match.`\n )\n}\n\nexport function assertProjectionRunStartInput(input: StartOrReclaimProjectionRunInput): void {\n assertProjectionRunNonEmpty(input.id, \"id\")\n assertProjectionRunNonEmpty(input.projectId, \"projectId\")\n assertProjectionRunIdentityAndTarget(input)\n if (input.startedAt) assertProjectionRunDate(input.startedAt, \"startedAt\")\n}\n\nexport function assertProjectionRunQueueInput(input: QueueProjectionRunInput): void {\n assertProjectionRunNonEmpty(input.id, \"id\")\n assertProjectionRunNonEmpty(input.projectId, \"projectId\")\n assertProjectionRunNonEmpty(input.executionId, \"executionId\")\n assertProjectionRunIdentityAndTarget(input)\n if (input.queuedAt) assertProjectionRunDate(input.queuedAt, \"queuedAt\")\n}\n\nfunction assertProjectionRunIdentityAndTarget(\n input: QueueProjectionRunInput | StartOrReclaimProjectionRunInput\n): void {\n assertProjectionRunIdentity(input.identity)\n assertProjectionTarget(input.identity.projectionKind, input.target)\n if (input.identity.projectionKind === \"telemetry\") {\n const telemetry = input as ProjectionRunIdentityInput<\"telemetry\">\n assertPositiveCounter(telemetry.fixedBatchSize, \"fixedBatchSize\")\n } else if (input.fixedBatchSize !== undefined) {\n throw new ProjectionRunError(\n \"[Sixb] Replacement projection runs cannot declare a telemetry fixedBatchSize.\"\n )\n }\n}\n\nexport function planProjectionRunReclaim(\n record: StoredProjectionRunRecord,\n input: StartOrReclaimProjectionRunInput\n): { readonly attempt: number } {\n if (record.status !== \"queued\" && record.status !== \"running\") {\n throw new ProjectionRunError(\n `[Sixb] Projection run '${record.id}' cannot start from status '${record.status}'.`\n )\n }\n assertProjectionRunIdentityMatches(record, input.identity)\n assertProjectionRunTargetMatches(record, input.target)\n if (record.telemetryCheckpoint?.fixedBatchSize !== input.fixedBatchSize) {\n throw new ProjectionRunError(\n `[Sixb] Projection run '${input.id}' fixed batch size does not match.`\n )\n }\n return { attempt: record.status === \"queued\" ? 1 : nextProjectionRunAttempt(record.attempt) }\n}\n\n// ── Lifecycle transitions ───────────────────────────────────\n\nexport function createProjectionRunRecord(\n input: QueueProjectionRunInput,\n now: Date = new Date()\n): ProjectionRunRecord {\n assertProjectionRunQueueInput(input)\n const base = {\n id: input.id,\n projectId: input.projectId,\n executionId: input.executionId,\n status: \"queued\" as const,\n attempt: 0,\n progress: zeroProjectionRunProgress(),\n queuedAt: new Date(input.queuedAt ?? now),\n }\n switch (input.identity.projectionKind) {\n case \"object\": {\n const object = input as ProjectionRunAdmission<\"object\">\n return { ...base, identity: object.identity, target: object.target }\n }\n case \"link\": {\n const link = input as ProjectionRunAdmission<\"link\">\n return { ...base, identity: link.identity, target: link.target }\n }\n case \"telemetry\": {\n const telemetry = input as ProjectionRunAdmission<\"telemetry\">\n return {\n ...base,\n identity: telemetry.identity,\n target: telemetry.target,\n telemetryCheckpoint: {\n fixedBatchSize: telemetry.fixedBatchSize,\n nextBatchOrdinal: 0,\n nextRowOffset: 0,\n inputExhausted: false,\n },\n }\n }\n }\n}\n\nexport function assertProjectionRunRunning(\n record: Pick<ProjectionRunRecord, \"id\" | \"projectId\" | \"status\">\n): void {\n if (record.status === \"running\") return\n if (record.status !== \"queued\") {\n throw new ProjectionRunError(`[Sixb] Projection run '${record.id}' is already terminal.`)\n }\n throw new ProjectionRunError(\n `[Sixb] Projection run '${record.id}' for project '${record.projectId}' is not running.`\n )\n}\n\nexport function assertProjectionRunAttempt(\n record: StoredProjectionRunRecord,\n input: {\n readonly id: string\n readonly executionToken: string\n readonly identity: ProjectionMaterializationIdentity\n }\n): asserts record is StoredProjectionRunRecord & { readonly executionToken: string } {\n assertProjectionRunNonEmpty(input.executionToken, \"executionToken\")\n assertProjectionRunIdentity(input.identity)\n assertProjectionRunRunning(record)\n assertProjectionRunIdentityMatches(record, input.identity)\n if (record.executionToken !== input.executionToken) {\n throw staleProjectionRunExecution(input.id)\n }\n}\n\nexport function nextProjectionRunAttempt(current: number): number {\n assertProjectionRunCounter(current, \"attempt\")\n return addProjectionRunCounter(current, 1, \"attempt\")\n}\n\nexport function mergeProjectionRunProgress(\n current: ProjectionRunProgress,\n patch: Partial<ProjectionRunProgress>\n): ProjectionRunProgress {\n const progress = { ...current }\n for (const key of PROJECTION_RUN_PROGRESS_KEYS) {\n const value = patch[key]\n if (value === undefined) continue\n assertProjectionRunCounter(value, key)\n if (value < current[key]) {\n throw new ProjectionRunError(`[Sixb] Projection run ${key} must not decrease.`)\n }\n progress[key] = value\n }\n assertProjectionRunProgress(progress)\n return progress\n}\n\nexport function assertGenericProgressDoesNotAdvanceTelemetry(\n record: Pick<ProjectionRunRecord, \"id\" | \"identity\" | \"progress\">,\n patch: Partial<ProjectionRunProgress>\n): void {\n if (record.identity.protocol !== \"telemetry\") return\n for (const key of PROJECTION_RUN_PROGRESS_KEYS) {\n if (patch[key] !== undefined && patch[key] !== record.progress[key]) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${record.id}' progress can only advance with its checkpoint.`\n )\n }\n }\n}\n\nexport function advanceProjectionTelemetry(\n record: ProjectionRunRecord,\n input: AdvanceProjectionTelemetryCheckpointInput\n): ProjectionTelemetryAdvance {\n const telemetry = requireTelemetryProjectionRun(record)\n const checkpoint = telemetry.telemetryCheckpoint\n assertProjectionRunCounter(input.batchOrdinal, \"batchOrdinal\")\n assertPositiveCounter(input.batchRowCount, \"batchRowCount\")\n assertProjectionRunCounter(input.batchRowsSkipped, \"batchRowsSkipped\")\n if (input.batchRowsSkipped > input.batchRowCount) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${record.id}' skipped rows exceed its batch row count.`\n )\n }\n if (input.batchOrdinal !== checkpoint.nextBatchOrdinal) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${record.id}' expected batch ordinal ${checkpoint.nextBatchOrdinal}, got ${input.batchOrdinal}.`\n )\n }\n if (input.batchRowCount > checkpoint.fixedBatchSize) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${record.id}' batch exceeds its fixed size.`\n )\n }\n if (!input.inputExhausted && input.batchRowCount !== checkpoint.fixedBatchSize) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${record.id}' cannot advance past a partial non-final batch.`\n )\n }\n if (checkpoint.inputExhausted) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${record.id}' has already exhausted its input.`\n )\n }\n\n const nextRowOffset = addProjectionRunCounter(\n checkpoint.nextRowOffset,\n input.batchRowCount,\n \"nextRowOffset\"\n )\n return {\n progress: {\n sourceRowsRead: nextRowOffset,\n sourceRowsSkipped: addProjectionRunCounter(\n telemetry.progress.sourceRowsSkipped,\n input.batchRowsSkipped,\n \"sourceRowsSkipped\"\n ),\n },\n checkpoint: {\n ...checkpoint,\n nextBatchOrdinal: addProjectionRunCounter(checkpoint.nextBatchOrdinal, 1, \"nextBatchOrdinal\"),\n nextRowOffset,\n inputExhausted: input.inputExhausted,\n },\n }\n}\n\nexport function planProjectionRunFinish(\n record: ProjectionRunRecord,\n input: FinishProjectionRunInput,\n now: Date = new Date()\n): ProjectionRunFinishPlan {\n assertFinishDecision(record, input)\n const patch = input.progress ?? {}\n assertGenericProgressDoesNotAdvanceTelemetry(record, patch)\n const progress = mergeProjectionRunProgress(record.progress, patch)\n const finishedAt = new Date(input.finishedAt ?? now)\n assertProjectionRunDate(finishedAt, \"finishedAt\")\n return {\n status: input.status,\n finishedAt,\n progress,\n ...(input.status === \"succeeded\" && input.protocol === \"telemetry\"\n ? { inputExhausted: true as const }\n : {}),\n ...(input.status === \"succeeded\" || input.error === undefined\n ? {}\n : { error: parseSixbFailure(input.error, PROJECTION_RUN_FAILURE_CODES) }),\n }\n}\n\nexport function finishProjectionRunRecord(\n record: StoredProjectionRunRecord,\n input: FinishProjectionRunInput,\n now: Date = new Date()\n): StoredProjectionRunRecord {\n const plan = planProjectionRunFinish(record, input, now)\n const terminal = {\n executionToken: undefined,\n status: plan.status,\n finishedAt: plan.finishedAt,\n progress: plan.progress,\n error: plan.error,\n }\n if (plan.inputExhausted) {\n const telemetry = requireTelemetryProjectionRun(record)\n return {\n ...telemetry,\n ...terminal,\n telemetryCheckpoint: { ...telemetry.telemetryCheckpoint, inputExhausted: true },\n }\n }\n return { ...record, ...terminal }\n}\n\nexport function failProjectionRunEnqueue(\n record: StoredProjectionRunRecord,\n input: FailProjectionRunEnqueueInput,\n now: Date = new Date()\n): StoredProjectionRunRecord {\n if (record.status !== \"queued\") {\n throw new ProjectionRunError(\n `[Sixb] Projection run '${record.id}' cannot fail enqueue from status '${record.status}'.`\n )\n }\n const error = parseSixbFailure(input.error, PROJECTION_RUN_FAILURE_CODES)\n if (error.code !== \"queue.enqueue_failed\") {\n throw new ProjectionRunError(\n `[Sixb] Projection run '${record.id}' enqueue failure must use code 'queue.enqueue_failed'.`\n )\n }\n const finishedAt = new Date(input.finishedAt ?? now)\n assertProjectionRunDate(finishedAt, \"finishedAt\")\n return {\n ...record,\n status: \"failed\",\n finishedAt,\n error,\n }\n}\n\nexport function canRequeueProjectionRunAfterEnqueueFailure(\n record: ProjectionRunRecord,\n input: QueueProjectionRunInput\n): boolean {\n return (\n record.status === \"failed\" &&\n record.error?.code === \"queue.enqueue_failed\" &&\n record.error.retryable &&\n record.executionId === input.executionId &&\n projectionRunIdentitiesEqual(record.identity, input.identity) &&\n projectionTargetsEqual(record.target, input.target) &&\n record.telemetryCheckpoint?.fixedBatchSize === input.fixedBatchSize\n )\n}\n\n// ── Persistence mapping ─────────────────────────────────────\n\nexport function restoreProjectionRun(row: PersistedProjectionRunRecord): StoredProjectionRunRecord {\n assertProjectionRunNonEmpty(row.id, \"id\")\n assertProjectionRunNonEmpty(row.projectId, \"projectId\")\n assertProjectionRunNonEmpty(row.executionId, \"executionId\")\n assertProjectionRunCounter(row.attempt, \"attempt\")\n assertProjectionRunProgress(row.progress)\n assertValidDate(row.queuedAt, \"queuedAt\")\n if (row.startedAt) assertValidDate(row.startedAt, \"startedAt\")\n if (row.finishedAt) assertValidDate(row.finishedAt, \"finishedAt\")\n assertPersistedLifecycle(row)\n\n const identity = restoreIdentity(row)\n const base = {\n id: row.id,\n projectId: row.projectId,\n executionId: row.executionId,\n identity,\n status: row.status,\n queuedAt: new Date(row.queuedAt),\n startedAt: row.startedAt ? new Date(row.startedAt) : undefined,\n finishedAt: row.finishedAt ? new Date(row.finishedAt) : undefined,\n attempt: row.attempt,\n progress: { ...row.progress },\n error:\n row.error === undefined\n ? undefined\n : parseSixbFailure(row.error, PROJECTION_RUN_FAILURE_CODES),\n executionToken: row.executionToken,\n }\n\n if (identity.projectionKind === \"link\") {\n if (!row.sourceObjectTypeId || !row.targetObjectTypeId || row.objectTypeId) {\n throw invalidProjectionRunTarget(row.id)\n }\n assertNoCheckpoint(row)\n return {\n ...base,\n identity,\n target: {\n sourceObjectTypeId: row.sourceObjectTypeId,\n targetObjectTypeId: row.targetObjectTypeId,\n },\n }\n }\n if (!row.objectTypeId || row.sourceObjectTypeId || row.targetObjectTypeId) {\n throw invalidProjectionRunTarget(row.id)\n }\n if (identity.projectionKind === \"telemetry\") {\n const telemetryCheckpoint = restoreCheckpoint(row)\n if (row.progress.sourceRowsRead !== telemetryCheckpoint.nextRowOffset) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${row.id}' progress does not match its checkpoint.`\n )\n }\n if (row.status === \"succeeded\" && !telemetryCheckpoint.inputExhausted) {\n throw incompleteProjectionRun(row.id)\n }\n const missingTarget = restoreMissingTarget(row, telemetryCheckpoint)\n return {\n ...base,\n identity,\n target: { objectTypeId: row.objectTypeId },\n telemetryCheckpoint,\n ...(missingTarget ? { missingTarget } : {}),\n }\n }\n assertNoCheckpoint(row)\n return { ...base, identity, target: { objectTypeId: row.objectTypeId } }\n}\n\nexport function publicProjectionRunRecord(record: StoredProjectionRunRecord): ProjectionRunRecord {\n const cloned = structuredClone(record)\n Reflect.deleteProperty(cloned, \"executionToken\")\n return cloned\n}\n\nexport function createProjectionRunClaim(record: StoredProjectionRunRecord): ProjectionRunClaim {\n assertProjectionRunRunning(record)\n const executionToken = requireProjectionRunExecutionToken(record)\n return {\n run: publicProjectionRunRecord(record),\n execution: { projectionRunId: record.id, executionToken },\n }\n}\n\nexport function requireProjectionRunExecutionToken(record: StoredProjectionRunRecord): string {\n if (record.executionToken) return record.executionToken\n throw incompleteProjectionRun(record.id)\n}\n\nexport function staleProjectionRunExecution(id: string): ProjectionRunError {\n return new ProjectionRunError(\n `[Sixb] Projection run '${id}' execution token is stale.`,\n \"execution-lost\"\n )\n}\n\nexport function projectionRunNotFound(projectId: string, id: string): ProjectionRunError {\n return new ProjectionRunError(\n `[Sixb] Projection run '${id}' not found for project '${projectId}'.`\n )\n}\n\nexport function immutableDatasetVersionConflict(\n identity: ProjectionMaterializationIdentity\n): ProjectionRunError {\n return new ProjectionRunError(\n `[Sixb] Dataset version '${identity.datasetVersion.versionId}' reused an immutable dataset version id with different metadata.`\n )\n}\n\n// ── Private helpers ─────────────────────────────────────────\n\nfunction assertPositiveCounter(value: number, fieldName: string): void {\n if (!Number.isSafeInteger(value) || value <= 0) {\n throw new ProjectionRunError(\n `[Sixb] Projection run ${fieldName} must be a positive safe integer.`\n )\n }\n}\n\nfunction assertCanonicalTimestamp(value: string, fieldName: string): void {\n const milliseconds = Date.parse(value)\n if (!Number.isFinite(milliseconds) || new Date(milliseconds).toISOString() !== value) {\n throw new ProjectionRunError(\n `[Sixb] Projection run ${fieldName} must be a canonical UTC timestamp.`\n )\n }\n}\n\nfunction assertValidDate(value: Date, fieldName: string): void {\n if (!Number.isFinite(value.getTime())) {\n throw new ProjectionRunError(`[Sixb] Projection run persisted ${fieldName} is invalid.`)\n }\n}\n\nfunction assertPersistedLifecycle(row: PersistedProjectionRunRecord): void {\n const hasError = row.error !== undefined\n\n if (row.status === \"queued\") {\n if (\n row.attempt !== 0 ||\n row.startedAt !== undefined ||\n row.finishedAt !== undefined ||\n row.executionToken !== undefined ||\n hasError\n ) {\n throw incompleteProjectionRun(row.id)\n }\n return\n }\n\n if (row.status === \"running\") {\n if (\n row.attempt < 1 ||\n row.startedAt === undefined ||\n row.finishedAt !== undefined ||\n row.executionToken === undefined ||\n hasError\n ) {\n throw incompleteProjectionRun(row.id)\n }\n return\n }\n\n if (row.finishedAt === undefined || row.executionToken !== undefined) {\n throw incompleteProjectionRun(row.id)\n }\n if (row.error !== undefined) {\n const failure = parseSixbFailure(row.error, PROJECTION_RUN_FAILURE_CODES)\n if (failure.code === \"queue.enqueue_failed\") {\n if (\n !failure.retryable ||\n row.status !== \"failed\" ||\n row.attempt !== 0 ||\n row.startedAt !== undefined\n ) {\n throw incompleteProjectionRun(row.id)\n }\n return\n }\n }\n if (row.attempt < 1 || row.startedAt === undefined || (row.status === \"succeeded\" && hasError)) {\n throw incompleteProjectionRun(row.id)\n }\n}\n\nfunction assertProjectionRunDate(value: Date, fieldName: string): void {\n if (!Number.isFinite(value.getTime())) {\n throw new ProjectionRunError(`[Sixb] Projection run ${fieldName} is invalid.`)\n }\n}\n\nfunction isProjectionKind(value: unknown): value is ProjectionKind {\n return value === \"object\" || value === \"link\" || value === \"telemetry\"\n}\n\nfunction assertProjectionTarget(kind: ProjectionKind, target: ProjectionTarget): void {\n if (kind === \"link\") {\n if (!(\"sourceObjectTypeId\" in target)) {\n throw new ProjectionRunError(\n \"[Sixb] Link projection runs must declare source and target object types.\"\n )\n }\n assertProjectionRunNonEmpty(target.sourceObjectTypeId, \"sourceObjectTypeId\")\n assertProjectionRunNonEmpty(target.targetObjectTypeId, \"targetObjectTypeId\")\n return\n }\n if (!(\"objectTypeId\" in target)) {\n throw new ProjectionRunError(\n \"[Sixb] Object and telemetry projection runs must declare one object type.\"\n )\n }\n assertProjectionRunNonEmpty(target.objectTypeId, \"objectTypeId\")\n}\n\nfunction projectionRunIdentitiesEqual(\n left: ProjectionMaterializationIdentity,\n right: ProjectionMaterializationIdentity\n): boolean {\n return (\n left.projectionId === right.projectionId &&\n left.projectionKind === right.projectionKind &&\n left.protocol === right.protocol &&\n left.datasetVersion.datasetId === right.datasetVersion.datasetId &&\n left.datasetVersion.versionId === right.datasetVersion.versionId &&\n left.datasetVersion.createdAt === right.datasetVersion.createdAt &&\n left.ontologyRevision === right.ontologyRevision &&\n left.projectionRevision === right.projectionRevision &&\n left.ownershipHash === right.ownershipHash\n )\n}\n\nfunction projectionTargetsEqual(left: ProjectionTarget, right: ProjectionTarget): boolean {\n if (\"sourceObjectTypeId\" in left || \"sourceObjectTypeId\" in right) {\n return (\n \"sourceObjectTypeId\" in left &&\n \"sourceObjectTypeId\" in right &&\n left.sourceObjectTypeId === right.sourceObjectTypeId &&\n left.targetObjectTypeId === right.targetObjectTypeId\n )\n }\n return left.objectTypeId === right.objectTypeId\n}\n\nfunction assertProjectionRunProgress(progress: ProjectionRunProgress): void {\n for (const key of PROJECTION_RUN_PROGRESS_KEYS) {\n assertProjectionRunCounter(progress[key], key)\n }\n if (progress.sourceRowsSkipped > progress.sourceRowsRead) {\n throw new ProjectionRunError(\n \"[Sixb] Projection run sourceRowsSkipped must not exceed sourceRowsRead.\"\n )\n }\n}\n\nfunction assertFinishDecision(\n record: ProjectionRunRecord,\n input: ProjectionRunTerminalDecision\n): void {\n if (input.status !== \"succeeded\" && input.status !== \"failed\" && input.status !== \"cancelled\") {\n throw new ProjectionRunError(\n `[Sixb] Projection run '${record.id}' finish status must be terminal.`\n )\n }\n if (input.protocol !== \"replacement\" && input.protocol !== \"telemetry\") {\n throw new ProjectionRunError(`[Sixb] Projection run '${record.id}' finish protocol is invalid.`)\n }\n if (input.protocol !== record.identity.protocol) {\n throw new ProjectionRunError(\n `[Sixb] Projection run '${record.id}' finish protocol does not match its identity.`\n )\n }\n const inputExhausted = \"inputExhausted\" in input ? input.inputExhausted : undefined\n if (input.status === \"succeeded\" && input.protocol === \"telemetry\") {\n if (inputExhausted === true) return\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${record.id}' cannot succeed before input exhaustion.`\n )\n }\n if (inputExhausted !== undefined) {\n throw new ProjectionRunError(\n `[Sixb] Projection run '${record.id}' contains telemetry-only completion metadata.`\n )\n }\n}\n\nfunction restoreIdentity(row: PersistedProjectionRunRecord): ProjectionMaterializationIdentity {\n if (\n !row.protocol ||\n !row.datasetVersionCreatedAt ||\n !row.ontologyRevision ||\n !row.projectionRevision ||\n !row.ownershipHash\n ) {\n throw incompleteProjectionRun(row.id)\n }\n const identity = {\n projectionId: row.projectionId,\n projectionKind: row.projectionKind,\n protocol: row.protocol,\n datasetVersion: {\n datasetId: row.datasetId,\n versionId: row.datasetVersionId,\n createdAt: row.datasetVersionCreatedAt,\n },\n ontologyRevision: row.ontologyRevision,\n projectionRevision: row.projectionRevision,\n ownershipHash: row.ownershipHash,\n } as ProjectionMaterializationIdentity\n assertProjectionRunIdentity(identity)\n return identity\n}\n\nfunction restoreCheckpoint(row: PersistedProjectionRunRecord): ProjectionTelemetryCheckpoint {\n if (\n row.fixedBatchSize === undefined ||\n row.nextBatchOrdinal === undefined ||\n row.nextRowOffset === undefined ||\n row.inputExhausted === undefined\n ) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${row.id}' has incomplete checkpoint state.`\n )\n }\n assertPositiveCounter(row.fixedBatchSize, \"fixedBatchSize\")\n assertProjectionRunCounter(row.nextBatchOrdinal, \"nextBatchOrdinal\")\n assertProjectionRunCounter(row.nextRowOffset, \"nextRowOffset\")\n return {\n fixedBatchSize: row.fixedBatchSize,\n nextBatchOrdinal: row.nextBatchOrdinal,\n nextRowOffset: row.nextRowOffset,\n inputExhausted: row.inputExhausted,\n }\n}\n\n/**\n * A wait is either fully persisted or absent. A partially written one would read as \"waiting since\n * the epoch\" or \"waiting for nothing\", and both would decide a run's fate.\n */\nfunction restoreMissingTarget(\n row: PersistedProjectionRunRecord,\n checkpoint: ProjectionTelemetryCheckpoint\n): ProjectionMissingTarget | undefined {\n const columns = [\n row.missingTargetObjectTypeId,\n row.missingTargetObjectId,\n row.missingTargetBatchOrdinal,\n row.missingTargetFirstSeenAt,\n ]\n if (columns.every((column) => column === undefined)) return undefined\n if (\n row.missingTargetObjectTypeId === undefined ||\n row.missingTargetObjectId === undefined ||\n row.missingTargetBatchOrdinal === undefined ||\n row.missingTargetFirstSeenAt === undefined\n ) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${row.id}' has a partially persisted missing target.`\n )\n }\n const missingTarget: ProjectionMissingTarget = {\n objectTypeId: row.missingTargetObjectTypeId,\n objectId: row.missingTargetObjectId,\n batchOrdinal: row.missingTargetBatchOrdinal,\n firstSeenAt: new Date(row.missingTargetFirstSeenAt),\n }\n assertValidDate(missingTarget.firstSeenAt, \"missingTarget.firstSeenAt\")\n assertProjectionRunCounter(missingTarget.batchOrdinal, \"missingTarget.batchOrdinal\")\n if (missingTarget.batchOrdinal !== checkpoint.nextBatchOrdinal) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${row.id}' is waiting on a batch it has already passed.`\n )\n }\n if (missingTarget.objectTypeId !== row.objectTypeId) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${row.id}' is waiting on an object type it does not write.`\n )\n }\n return missingTarget\n}\n\nfunction assertNoCheckpoint(row: PersistedProjectionRunRecord): void {\n if (\n row.fixedBatchSize === undefined &&\n row.nextBatchOrdinal === undefined &&\n row.nextRowOffset === undefined &&\n row.inputExhausted === undefined\n ) {\n return\n }\n throw new ProjectionRunError(\n `[Sixb] Replacement projection run '${row.id}' contains a telemetry checkpoint.`\n )\n}\n\nfunction incompleteProjectionRun(id: string): ProjectionRunError {\n return new ProjectionRunError(\n `[Sixb] Projection run '${id}' has incomplete materialization state.`\n )\n}\n\nfunction invalidProjectionRunTarget(id: string): ProjectionRunError {\n return new ProjectionRunError(`[Sixb] Projection run '${id}' has an invalid target.`)\n}\n\n/**\n * Validates a wait before it is stored, so every adapter refuses the same shapes and the SQL\n * `CHECK` behind them never has to be the thing that catches it.\n *\n * The ordinal has to be the batch the run is actually stuck on: anchored to a stale one, a wait\n * would survive the progress that resolved it and fail a run that is working. The object type\n * has to be the one this run writes, since that is the only type its telemetry can reference.\n */\nexport function assertProjectionMissingTarget(\n record: TelemetryProjectionRunRecord,\n missingTarget: ProjectionMissingTarget\n): ProjectionMissingTarget {\n assertProjectionRunNonEmpty(missingTarget.objectTypeId, \"missingTarget.objectTypeId\")\n assertProjectionRunNonEmpty(missingTarget.objectId, \"missingTarget.objectId\")\n assertProjectionRunCounter(missingTarget.batchOrdinal, \"missingTarget.batchOrdinal\")\n if (Number.isNaN(missingTarget.firstSeenAt.getTime())) {\n throw new ProjectionRunError(\"[Sixb] Projection run missingTarget.firstSeenAt is invalid.\")\n }\n if (missingTarget.objectTypeId !== record.target.objectTypeId) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${record.id}' cannot wait on '${missingTarget.objectTypeId}'; it writes '${record.target.objectTypeId}'.`\n )\n }\n if (missingTarget.batchOrdinal !== record.telemetryCheckpoint.nextBatchOrdinal) {\n throw new ProjectionRunError(\n `[Sixb] Telemetry projection run '${record.id}' cannot wait on batch ${missingTarget.batchOrdinal}; it is at ${record.telemetryCheckpoint.nextBatchOrdinal}.`\n )\n }\n return missingTarget\n}\n\nexport function requireTelemetryProjectionRun<TRecord extends ProjectionRunRecord>(\n record: TRecord\n): TRecord & TelemetryProjectionRunRecord {\n if (isTelemetryProjectionRun(record)) return record as TRecord & TelemetryProjectionRunRecord\n throw new ProjectionRunError(\n `[Sixb] Projection run '${record.id}' does not have a telemetry checkpoint.`\n )\n}\n\ntype ProjectionRunIdentityInput<TKind extends ProjectionKind> = Extract<\n QueueProjectionRunInput | StartOrReclaimProjectionRunInput,\n { readonly identity: { readonly projectionKind: TKind } }\n>\n\ntype ProjectionRunAdmission<TKind extends ProjectionKind> = Extract<\n QueueProjectionRunInput,\n { readonly identity: { readonly projectionKind: TKind } }\n>\n\nfunction isTelemetryProjectionRun(\n record: ProjectionRunRecord\n): record is TelemetryProjectionRunRecord {\n return record.identity.projectionKind === \"telemetry\"\n}\n",
9
+ "import type { ExecutionStorage } from \"../executions\"\nimport { findPrimitiveRunExecution } from \"../executions/run-link\"\nimport { ProjectionRunError } from \"./errors\"\n\nexport * from \"./lifecycle\"\n\n/** Validate the semantic link between a durable Projection run and its immutable execution. */\nexport async function assertProjectionRunDurableExecution(input: {\n readonly executions: ExecutionStorage\n readonly projectId: string\n readonly executionId: string\n readonly runId: string\n readonly projectionId: string\n readonly datasetId: string\n readonly datasetVersionId: string\n}): Promise<void> {\n const execution = await findPrimitiveRunExecution({\n executions: input.executions,\n projectId: input.projectId,\n executionId: input.executionId,\n primitive: { kind: \"projection\", id: input.projectionId, runId: input.runId },\n sourceTypes: [\"datasetVersion\"],\n })\n if (\n !execution ||\n execution.source.type !== \"datasetVersion\" ||\n execution.source.datasetId !== input.datasetId ||\n execution.source.versionId !== input.datasetVersionId\n ) {\n throw new ProjectionRunError(\n `[Sixb] Execution '${input.executionId}' does not authorize Projection run '${input.runId}'.`\n )\n }\n}\n"
10
+ ],
11
+ "mappings": ";;;;;;;;;;;;AAQO,MAAM,2BAA2B,6BAA6B;AAAA,EAC1D,OAAO;AAAA,EAEhB,WAAW,CAAC,SAAiB,OAAoC,mBAAmB;AAAA,IAClF,MAAM,MAAM,OAAO;AAAA;AAEvB;;;ACXO,IAAM,+BAA+B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;;;ACmBA,IAAM,mBAA8D;AAAA,EAClE,gBAAgB;AAAA,EAChB,mBAAmB;AACrB;AAEO,IAAM,+BAA+B,OAAO,KACjD,gBACF;AAEO,SAAS,yBAAyB,GAA0B;AAAA,EACjE,MAAM,WAAW,CAAC;AAAA,EAClB,WAAW,OAAO;AAAA,IAA8B,SAAS,OAAO;AAAA,EAChE,OAAO;AAAA;AA6EF,SAAS,+BAA+B,CAC7C,KACA,SACS;AAAA,EACT,MAAM,SAA2B,IAAI;AAAA,EACrC,IAAI,wBAAwB,QAAQ;AAAA,IAClC,OAAO,QAAQ,OAAO,kBAAkB,KAAK,QAAQ,OAAO,kBAAkB;AAAA,EAChF;AAAA,EACA,OAAO,QAAQ,OAAO,YAAY;AAAA;;;AC1C7B,SAAS,2BAA2B,CAAC,OAAe,WAAyB;AAAA,EAClF,IAAI,OAAO,UAAU,YAAY,MAAM,KAAK,EAAE,WAAW,GAAG;AAAA,IAC1D,MAAM,IAAI,mBAAmB,yBAAyB,8BAA8B;AAAA,EACtF;AAAA;AAGK,SAAS,0BAA0B,CAAC,OAAe,WAAyB;AAAA,EACjF,IAAI,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,GAAG;AAAA,IAC7C,MAAM,IAAI,mBACR,yBAAyB,gDAC3B;AAAA,EACF;AAAA;AAGK,SAAS,6BAA6B,CAAC,OAA2B,WAAyB;AAAA,EAChG,IAAI,UAAU,cAAc,CAAC,OAAO,cAAc,KAAK,KAAK,QAAQ,IAAI;AAAA,IACtE,MAAM,IAAI,mBAAmB,8BAA8B,yBAAyB;AAAA,EACtF;AAAA;AAGK,SAAS,uBAAuB,CAAC,MAAc,OAAe,WAA2B;AAAA,EAC9F,MAAM,SAAS,OAAO;AAAA,EACtB,IAAI,CAAC,OAAO,cAAc,MAAM,GAAG;AAAA,IACjC,MAAM,IAAI,mBAAmB,yBAAyB,uCAAuC;AAAA,EAC/F;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,2BAA2B,CAAC,UAAmD;AAAA,EAC7F,4BAA4B,SAAS,cAAc,cAAc;AAAA,EACjE,IAAI,CAAC,iBAAiB,SAAS,cAAc,GAAG;AAAA,IAC9C,MAAM,IAAI,mBACR,gFACF;AAAA,EACF;AAAA,EACA,IAAI,SAAS,aAAa,iBAAiB,SAAS,aAAa,aAAa;AAAA,IAC5E,MAAM,IAAI,mBACR,sEACF;AAAA,EACF;AAAA,EACA,4BAA4B,SAAS,eAAe,WAAW,WAAW;AAAA,EAC1E,4BAA4B,SAAS,eAAe,WAAW,kBAAkB;AAAA,EACjF,yBAAyB,SAAS,eAAe,WAAW,yBAAyB;AAAA,EACrF,4BAA4B,SAAS,kBAAkB,kBAAkB;AAAA,EACzE,4BAA4B,SAAS,oBAAoB,oBAAoB;AAAA,EAC7E,4BAA4B,SAAS,eAAe,eAAe;AAAA,EACnE,IAAK,SAAS,aAAa,iBAAkB,SAAS,mBAAmB,cAAc;AAAA,IACrF,MAAM,IAAI,mBACR,mCAAmC,SAAS,wCAAwC,SAAS,kBAC/F;AAAA,EACF;AAAA;AAGK,SAAS,kCAAkC,CAChD,QACA,UACM;AAAA,EACN,IAAI,6BAA6B,OAAO,UAAU,QAAQ;AAAA,IAAG;AAAA,EAC7D,MAAM,IAAI,mBACR,0BAA0B,OAAO,8CACnC;AAAA;AAGK,SAAS,gCAAgC,CAC9C,QACA,QACM;AAAA,EACN,IAAI,uBAAuB,OAAO,QAAQ,MAAM;AAAA,IAAG;AAAA,EACnD,MAAM,IAAI,mBACR,0BAA0B,OAAO,uCACnC;AAAA;AAGK,SAAS,6BAA6B,CAAC,OAA+C;AAAA,EAC3F,4BAA4B,MAAM,IAAI,IAAI;AAAA,EAC1C,4BAA4B,MAAM,WAAW,WAAW;AAAA,EACxD,qCAAqC,KAAK;AAAA,EAC1C,IAAI,MAAM;AAAA,IAAW,wBAAwB,MAAM,WAAW,WAAW;AAAA;AAGpE,SAAS,6BAA6B,CAAC,OAAsC;AAAA,EAClF,4BAA4B,MAAM,IAAI,IAAI;AAAA,EAC1C,4BAA4B,MAAM,WAAW,WAAW;AAAA,EACxD,4BAA4B,MAAM,aAAa,aAAa;AAAA,EAC5D,qCAAqC,KAAK;AAAA,EAC1C,IAAI,MAAM;AAAA,IAAU,wBAAwB,MAAM,UAAU,UAAU;AAAA;AAGxE,SAAS,oCAAoC,CAC3C,OACM;AAAA,EACN,4BAA4B,MAAM,QAAQ;AAAA,EAC1C,uBAAuB,MAAM,SAAS,gBAAgB,MAAM,MAAM;AAAA,EAClE,IAAI,MAAM,SAAS,mBAAmB,aAAa;AAAA,IACjD,MAAM,YAAY;AAAA,IAClB,sBAAsB,UAAU,gBAAgB,gBAAgB;AAAA,EAClE,EAAO,SAAI,MAAM,mBAAmB,WAAW;AAAA,IAC7C,MAAM,IAAI,mBACR,+EACF;AAAA,EACF;AAAA;AAGK,SAAS,wBAAwB,CACtC,QACA,OAC8B;AAAA,EAC9B,IAAI,OAAO,WAAW,YAAY,OAAO,WAAW,WAAW;AAAA,IAC7D,MAAM,IAAI,mBACR,0BAA0B,OAAO,iCAAiC,OAAO,UAC3E;AAAA,EACF;AAAA,EACA,mCAAmC,QAAQ,MAAM,QAAQ;AAAA,EACzD,iCAAiC,QAAQ,MAAM,MAAM;AAAA,EACrD,IAAI,OAAO,qBAAqB,mBAAmB,MAAM,gBAAgB;AAAA,IACvE,MAAM,IAAI,mBACR,0BAA0B,MAAM,sCAClC;AAAA,EACF;AAAA,EACA,OAAO,EAAE,SAAS,OAAO,WAAW,WAAW,IAAI,yBAAyB,OAAO,OAAO,EAAE;AAAA;AAKvF,SAAS,yBAAyB,CACvC,OACA,MAAY,IAAI,MACK;AAAA,EACrB,8BAA8B,KAAK;AAAA,EACnC,MAAM,OAAO;AAAA,IACX,IAAI,MAAM;AAAA,IACV,WAAW,MAAM;AAAA,IACjB,aAAa,MAAM;AAAA,IACnB,QAAQ;AAAA,IACR,SAAS;AAAA,IACT,UAAU,0BAA0B;AAAA,IACpC,UAAU,IAAI,KAAK,MAAM,YAAY,GAAG;AAAA,EAC1C;AAAA,EACA,QAAQ,MAAM,SAAS;AAAA,SAChB,UAAU;AAAA,MACb,MAAM,SAAS;AAAA,MACf,OAAO,KAAK,MAAM,UAAU,OAAO,UAAU,QAAQ,OAAO,OAAO;AAAA,IACrE;AAAA,SACK,QAAQ;AAAA,MACX,MAAM,OAAO;AAAA,MACb,OAAO,KAAK,MAAM,UAAU,KAAK,UAAU,QAAQ,KAAK,OAAO;AAAA,IACjE;AAAA,SACK,aAAa;AAAA,MAChB,MAAM,YAAY;AAAA,MAClB,OAAO;AAAA,WACF;AAAA,QACH,UAAU,UAAU;AAAA,QACpB,QAAQ,UAAU;AAAA,QAClB,qBAAqB;AAAA,UACnB,gBAAgB,UAAU;AAAA,UAC1B,kBAAkB;AAAA,UAClB,eAAe;AAAA,UACf,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AAAA;AAAA;AAIG,SAAS,0BAA0B,CACxC,QACM;AAAA,EACN,IAAI,OAAO,WAAW;AAAA,IAAW;AAAA,EACjC,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,MAAM,IAAI,mBAAmB,0BAA0B,OAAO,0BAA0B;AAAA,EAC1F;AAAA,EACA,MAAM,IAAI,mBACR,0BAA0B,OAAO,oBAAoB,OAAO,4BAC9D;AAAA;AAGK,SAAS,0BAA0B,CACxC,QACA,OAKmF;AAAA,EACnF,4BAA4B,MAAM,gBAAgB,gBAAgB;AAAA,EAClE,4BAA4B,MAAM,QAAQ;AAAA,EAC1C,2BAA2B,MAAM;AAAA,EACjC,mCAAmC,QAAQ,MAAM,QAAQ;AAAA,EACzD,IAAI,OAAO,mBAAmB,MAAM,gBAAgB;AAAA,IAClD,MAAM,4BAA4B,MAAM,EAAE;AAAA,EAC5C;AAAA;AAGK,SAAS,wBAAwB,CAAC,SAAyB;AAAA,EAChE,2BAA2B,SAAS,SAAS;AAAA,EAC7C,OAAO,wBAAwB,SAAS,GAAG,SAAS;AAAA;AAG/C,SAAS,0BAA0B,CACxC,SACA,OACuB;AAAA,EACvB,MAAM,WAAW,KAAK,QAAQ;AAAA,EAC9B,WAAW,OAAO,8BAA8B;AAAA,IAC9C,MAAM,QAAQ,MAAM;AAAA,IACpB,IAAI,UAAU;AAAA,MAAW;AAAA,IACzB,2BAA2B,OAAO,GAAG;AAAA,IACrC,IAAI,QAAQ,QAAQ,MAAM;AAAA,MACxB,MAAM,IAAI,mBAAmB,yBAAyB,wBAAwB;AAAA,IAChF;AAAA,IACA,SAAS,OAAO;AAAA,EAClB;AAAA,EACA,4BAA4B,QAAQ;AAAA,EACpC,OAAO;AAAA;AAGF,SAAS,4CAA4C,CAC1D,QACA,OACM;AAAA,EACN,IAAI,OAAO,SAAS,aAAa;AAAA,IAAa;AAAA,EAC9C,WAAW,OAAO,8BAA8B;AAAA,IAC9C,IAAI,MAAM,SAAS,aAAa,MAAM,SAAS,OAAO,SAAS,MAAM;AAAA,MACnE,MAAM,IAAI,mBACR,oCAAoC,OAAO,oDAC7C;AAAA,IACF;AAAA,EACF;AAAA;AAGK,SAAS,0BAA0B,CACxC,QACA,OAC4B;AAAA,EAC5B,MAAM,YAAY,8BAA8B,MAAM;AAAA,EACtD,MAAM,aAAa,UAAU;AAAA,EAC7B,2BAA2B,MAAM,cAAc,cAAc;AAAA,EAC7D,sBAAsB,MAAM,eAAe,eAAe;AAAA,EAC1D,2BAA2B,MAAM,kBAAkB,kBAAkB;AAAA,EACrE,IAAI,MAAM,mBAAmB,MAAM,eAAe;AAAA,IAChD,MAAM,IAAI,mBACR,oCAAoC,OAAO,8CAC7C;AAAA,EACF;AAAA,EACA,IAAI,MAAM,iBAAiB,WAAW,kBAAkB;AAAA,IACtD,MAAM,IAAI,mBACR,oCAAoC,OAAO,8BAA8B,WAAW,yBAAyB,MAAM,eACrH;AAAA,EACF;AAAA,EACA,IAAI,MAAM,gBAAgB,WAAW,gBAAgB;AAAA,IACnD,MAAM,IAAI,mBACR,oCAAoC,OAAO,mCAC7C;AAAA,EACF;AAAA,EACA,IAAI,CAAC,MAAM,kBAAkB,MAAM,kBAAkB,WAAW,gBAAgB;AAAA,IAC9E,MAAM,IAAI,mBACR,oCAAoC,OAAO,oDAC7C;AAAA,EACF;AAAA,EACA,IAAI,WAAW,gBAAgB;AAAA,IAC7B,MAAM,IAAI,mBACR,oCAAoC,OAAO,sCAC7C;AAAA,EACF;AAAA,EAEA,MAAM,gBAAgB,wBACpB,WAAW,eACX,MAAM,eACN,eACF;AAAA,EACA,OAAO;AAAA,IACL,UAAU;AAAA,MACR,gBAAgB;AAAA,MAChB,mBAAmB,wBACjB,UAAU,SAAS,mBACnB,MAAM,kBACN,mBACF;AAAA,IACF;AAAA,IACA,YAAY;AAAA,SACP;AAAA,MACH,kBAAkB,wBAAwB,WAAW,kBAAkB,GAAG,kBAAkB;AAAA,MAC5F;AAAA,MACA,gBAAgB,MAAM;AAAA,IACxB;AAAA,EACF;AAAA;AAGK,SAAS,uBAAuB,CACrC,QACA,OACA,MAAY,IAAI,MACS;AAAA,EACzB,qBAAqB,QAAQ,KAAK;AAAA,EAClC,MAAM,QAAQ,MAAM,YAAY,CAAC;AAAA,EACjC,6CAA6C,QAAQ,KAAK;AAAA,EAC1D,MAAM,WAAW,2BAA2B,OAAO,UAAU,KAAK;AAAA,EAClE,MAAM,aAAa,IAAI,KAAK,MAAM,cAAc,GAAG;AAAA,EACnD,wBAAwB,YAAY,YAAY;AAAA,EAChD,OAAO;AAAA,IACL,QAAQ,MAAM;AAAA,IACd;AAAA,IACA;AAAA,OACI,MAAM,WAAW,eAAe,MAAM,aAAa,cACnD,EAAE,gBAAgB,KAAc,IAChC,CAAC;AAAA,OACD,MAAM,WAAW,eAAe,MAAM,UAAU,YAChD,CAAC,IACD,EAAE,OAAO,iBAAiB,MAAM,OAAO,4BAA4B,EAAE;AAAA,EAC3E;AAAA;AAGK,SAAS,yBAAyB,CACvC,QACA,OACA,MAAY,IAAI,MACW;AAAA,EAC3B,MAAM,OAAO,wBAAwB,QAAQ,OAAO,GAAG;AAAA,EACvD,MAAM,WAAW;AAAA,IACf,gBAAgB;AAAA,IAChB,QAAQ,KAAK;AAAA,IACb,YAAY,KAAK;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,OAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,KAAK,gBAAgB;AAAA,IACvB,MAAM,YAAY,8BAA8B,MAAM;AAAA,IACtD,OAAO;AAAA,SACF;AAAA,SACA;AAAA,MACH,qBAAqB,KAAK,UAAU,qBAAqB,gBAAgB,KAAK;AAAA,IAChF;AAAA,EACF;AAAA,EACA,OAAO,KAAK,WAAW,SAAS;AAAA;AAG3B,SAAS,wBAAwB,CACtC,QACA,OACA,MAAY,IAAI,MACW;AAAA,EAC3B,IAAI,OAAO,WAAW,UAAU;AAAA,IAC9B,MAAM,IAAI,mBACR,0BAA0B,OAAO,wCAAwC,OAAO,UAClF;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,iBAAiB,MAAM,OAAO,4BAA4B;AAAA,EACxE,IAAI,MAAM,SAAS,wBAAwB;AAAA,IACzC,MAAM,IAAI,mBACR,0BAA0B,OAAO,2DACnC;AAAA,EACF;AAAA,EACA,MAAM,aAAa,IAAI,KAAK,MAAM,cAAc,GAAG;AAAA,EACnD,wBAAwB,YAAY,YAAY;AAAA,EAChD,OAAO;AAAA,OACF;AAAA,IACH,QAAQ;AAAA,IACR;AAAA,IACA;AAAA,EACF;AAAA;AAGK,SAAS,0CAA0C,CACxD,QACA,OACS;AAAA,EACT,OACE,OAAO,WAAW,YAClB,OAAO,OAAO,SAAS,0BACvB,OAAO,MAAM,aACb,OAAO,gBAAgB,MAAM,eAC7B,6BAA6B,OAAO,UAAU,MAAM,QAAQ,KAC5D,uBAAuB,OAAO,QAAQ,MAAM,MAAM,KAClD,OAAO,qBAAqB,mBAAmB,MAAM;AAAA;AAMlD,SAAS,oBAAoB,CAAC,KAA8D;AAAA,EACjG,4BAA4B,IAAI,IAAI,IAAI;AAAA,EACxC,4BAA4B,IAAI,WAAW,WAAW;AAAA,EACtD,4BAA4B,IAAI,aAAa,aAAa;AAAA,EAC1D,2BAA2B,IAAI,SAAS,SAAS;AAAA,EACjD,4BAA4B,IAAI,QAAQ;AAAA,EACxC,gBAAgB,IAAI,UAAU,UAAU;AAAA,EACxC,IAAI,IAAI;AAAA,IAAW,gBAAgB,IAAI,WAAW,WAAW;AAAA,EAC7D,IAAI,IAAI;AAAA,IAAY,gBAAgB,IAAI,YAAY,YAAY;AAAA,EAChE,yBAAyB,GAAG;AAAA,EAE5B,MAAM,WAAW,gBAAgB,GAAG;AAAA,EACpC,MAAM,OAAO;AAAA,IACX,IAAI,IAAI;AAAA,IACR,WAAW,IAAI;AAAA,IACf,aAAa,IAAI;AAAA,IACjB;AAAA,IACA,QAAQ,IAAI;AAAA,IACZ,UAAU,IAAI,KAAK,IAAI,QAAQ;AAAA,IAC/B,WAAW,IAAI,YAAY,IAAI,KAAK,IAAI,SAAS,IAAI;AAAA,IACrD,YAAY,IAAI,aAAa,IAAI,KAAK,IAAI,UAAU,IAAI;AAAA,IACxD,SAAS,IAAI;AAAA,IACb,UAAU,KAAK,IAAI,SAAS;AAAA,IAC5B,OACE,IAAI,UAAU,YACV,YACA,iBAAiB,IAAI,OAAO,4BAA4B;AAAA,IAC9D,gBAAgB,IAAI;AAAA,EACtB;AAAA,EAEA,IAAI,SAAS,mBAAmB,QAAQ;AAAA,IACtC,IAAI,CAAC,IAAI,sBAAsB,CAAC,IAAI,sBAAsB,IAAI,cAAc;AAAA,MAC1E,MAAM,2BAA2B,IAAI,EAAE;AAAA,IACzC;AAAA,IACA,mBAAmB,GAAG;AAAA,IACtB,OAAO;AAAA,SACF;AAAA,MACH;AAAA,MACA,QAAQ;AAAA,QACN,oBAAoB,IAAI;AAAA,QACxB,oBAAoB,IAAI;AAAA,MAC1B;AAAA,IACF;AAAA,EACF;AAAA,EACA,IAAI,CAAC,IAAI,gBAAgB,IAAI,sBAAsB,IAAI,oBAAoB;AAAA,IACzE,MAAM,2BAA2B,IAAI,EAAE;AAAA,EACzC;AAAA,EACA,IAAI,SAAS,mBAAmB,aAAa;AAAA,IAC3C,MAAM,sBAAsB,kBAAkB,GAAG;AAAA,IACjD,IAAI,IAAI,SAAS,mBAAmB,oBAAoB,eAAe;AAAA,MACrE,MAAM,IAAI,mBACR,oCAAoC,IAAI,6CAC1C;AAAA,IACF;AAAA,IACA,IAAI,IAAI,WAAW,eAAe,CAAC,oBAAoB,gBAAgB;AAAA,MACrE,MAAM,wBAAwB,IAAI,EAAE;AAAA,IACtC;AAAA,IACA,MAAM,gBAAgB,qBAAqB,KAAK,mBAAmB;AAAA,IACnE,OAAO;AAAA,SACF;AAAA,MACH;AAAA,MACA,QAAQ,EAAE,cAAc,IAAI,aAAa;AAAA,MACzC;AAAA,SACI,gBAAgB,EAAE,cAAc,IAAI,CAAC;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,mBAAmB,GAAG;AAAA,EACtB,OAAO,KAAK,MAAM,UAAU,QAAQ,EAAE,cAAc,IAAI,aAAa,EAAE;AAAA;AAGlE,SAAS,yBAAyB,CAAC,QAAwD;AAAA,EAChG,MAAM,SAAS,gBAAgB,MAAM;AAAA,EACrC,QAAQ,eAAe,QAAQ,gBAAgB;AAAA,EAC/C,OAAO;AAAA;AAGF,SAAS,wBAAwB,CAAC,QAAuD;AAAA,EAC9F,2BAA2B,MAAM;AAAA,EACjC,MAAM,iBAAiB,mCAAmC,MAAM;AAAA,EAChE,OAAO;AAAA,IACL,KAAK,0BAA0B,MAAM;AAAA,IACrC,WAAW,EAAE,iBAAiB,OAAO,IAAI,eAAe;AAAA,EAC1D;AAAA;AAGK,SAAS,kCAAkC,CAAC,QAA2C;AAAA,EAC5F,IAAI,OAAO;AAAA,IAAgB,OAAO,OAAO;AAAA,EACzC,MAAM,wBAAwB,OAAO,EAAE;AAAA;AAGlC,SAAS,2BAA2B,CAAC,IAAgC;AAAA,EAC1E,OAAO,IAAI,mBACT,0BAA0B,iCAC1B,gBACF;AAAA;AAGK,SAAS,qBAAqB,CAAC,WAAmB,IAAgC;AAAA,EACvF,OAAO,IAAI,mBACT,0BAA0B,8BAA8B,aAC1D;AAAA;AAGK,SAAS,+BAA+B,CAC7C,UACoB;AAAA,EACpB,OAAO,IAAI,mBACT,2BAA2B,SAAS,eAAe,4EACrD;AAAA;AAKF,SAAS,qBAAqB,CAAC,OAAe,WAAyB;AAAA,EACrE,IAAI,CAAC,OAAO,cAAc,KAAK,KAAK,SAAS,GAAG;AAAA,IAC9C,MAAM,IAAI,mBACR,yBAAyB,4CAC3B;AAAA,EACF;AAAA;AAGF,SAAS,wBAAwB,CAAC,OAAe,WAAyB;AAAA,EACxE,MAAM,eAAe,KAAK,MAAM,KAAK;AAAA,EACrC,IAAI,CAAC,OAAO,SAAS,YAAY,KAAK,IAAI,KAAK,YAAY,EAAE,YAAY,MAAM,OAAO;AAAA,IACpF,MAAM,IAAI,mBACR,yBAAyB,8CAC3B;AAAA,EACF;AAAA;AAGF,SAAS,eAAe,CAAC,OAAa,WAAyB;AAAA,EAC7D,IAAI,CAAC,OAAO,SAAS,MAAM,QAAQ,CAAC,GAAG;AAAA,IACrC,MAAM,IAAI,mBAAmB,mCAAmC,uBAAuB;AAAA,EACzF;AAAA;AAGF,SAAS,wBAAwB,CAAC,KAAyC;AAAA,EACzE,MAAM,WAAW,IAAI,UAAU;AAAA,EAE/B,IAAI,IAAI,WAAW,UAAU;AAAA,IAC3B,IACE,IAAI,YAAY,KAChB,IAAI,cAAc,aAClB,IAAI,eAAe,aACnB,IAAI,mBAAmB,aACvB,UACA;AAAA,MACA,MAAM,wBAAwB,IAAI,EAAE;AAAA,IACtC;AAAA,IACA;AAAA,EACF;AAAA,EAEA,IAAI,IAAI,WAAW,WAAW;AAAA,IAC5B,IACE,IAAI,UAAU,KACd,IAAI,cAAc,aAClB,IAAI,eAAe,aACnB,IAAI,mBAAmB,aACvB,UACA;AAAA,MACA,MAAM,wBAAwB,IAAI,EAAE;AAAA,IACtC;AAAA,IACA;AAAA,EACF;AAAA,EAEA,IAAI,IAAI,eAAe,aAAa,IAAI,mBAAmB,WAAW;AAAA,IACpE,MAAM,wBAAwB,IAAI,EAAE;AAAA,EACtC;AAAA,EACA,IAAI,IAAI,UAAU,WAAW;AAAA,IAC3B,MAAM,UAAU,iBAAiB,IAAI,OAAO,4BAA4B;AAAA,IACxE,IAAI,QAAQ,SAAS,wBAAwB;AAAA,MAC3C,IACE,CAAC,QAAQ,aACT,IAAI,WAAW,YACf,IAAI,YAAY,KAChB,IAAI,cAAc,WAClB;AAAA,QACA,MAAM,wBAAwB,IAAI,EAAE;AAAA,MACtC;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,IAAI,IAAI,UAAU,KAAK,IAAI,cAAc,aAAc,IAAI,WAAW,eAAe,UAAW;AAAA,IAC9F,MAAM,wBAAwB,IAAI,EAAE;AAAA,EACtC;AAAA;AAGF,SAAS,uBAAuB,CAAC,OAAa,WAAyB;AAAA,EACrE,IAAI,CAAC,OAAO,SAAS,MAAM,QAAQ,CAAC,GAAG;AAAA,IACrC,MAAM,IAAI,mBAAmB,yBAAyB,uBAAuB;AAAA,EAC/E;AAAA;AAGF,SAAS,gBAAgB,CAAC,OAAyC;AAAA,EACjE,OAAO,UAAU,YAAY,UAAU,UAAU,UAAU;AAAA;AAG7D,SAAS,sBAAsB,CAAC,MAAsB,QAAgC;AAAA,EACpF,IAAI,SAAS,QAAQ;AAAA,IACnB,IAAI,EAAE,wBAAwB,SAAS;AAAA,MACrC,MAAM,IAAI,mBACR,0EACF;AAAA,IACF;AAAA,IACA,4BAA4B,OAAO,oBAAoB,oBAAoB;AAAA,IAC3E,4BAA4B,OAAO,oBAAoB,oBAAoB;AAAA,IAC3E;AAAA,EACF;AAAA,EACA,IAAI,EAAE,kBAAkB,SAAS;AAAA,IAC/B,MAAM,IAAI,mBACR,2EACF;AAAA,EACF;AAAA,EACA,4BAA4B,OAAO,cAAc,cAAc;AAAA;AAGjE,SAAS,4BAA4B,CACnC,MACA,OACS;AAAA,EACT,OACE,KAAK,iBAAiB,MAAM,gBAC5B,KAAK,mBAAmB,MAAM,kBAC9B,KAAK,aAAa,MAAM,YACxB,KAAK,eAAe,cAAc,MAAM,eAAe,aACvD,KAAK,eAAe,cAAc,MAAM,eAAe,aACvD,KAAK,eAAe,cAAc,MAAM,eAAe,aACvD,KAAK,qBAAqB,MAAM,oBAChC,KAAK,uBAAuB,MAAM,sBAClC,KAAK,kBAAkB,MAAM;AAAA;AAIjC,SAAS,sBAAsB,CAAC,MAAwB,OAAkC;AAAA,EACxF,IAAI,wBAAwB,QAAQ,wBAAwB,OAAO;AAAA,IACjE,OACE,wBAAwB,QACxB,wBAAwB,SACxB,KAAK,uBAAuB,MAAM,sBAClC,KAAK,uBAAuB,MAAM;AAAA,EAEtC;AAAA,EACA,OAAO,KAAK,iBAAiB,MAAM;AAAA;AAGrC,SAAS,2BAA2B,CAAC,UAAuC;AAAA,EAC1E,WAAW,OAAO,8BAA8B;AAAA,IAC9C,2BAA2B,SAAS,MAAM,GAAG;AAAA,EAC/C;AAAA,EACA,IAAI,SAAS,oBAAoB,SAAS,gBAAgB;AAAA,IACxD,MAAM,IAAI,mBACR,yEACF;AAAA,EACF;AAAA;AAGF,SAAS,oBAAoB,CAC3B,QACA,OACM;AAAA,EACN,IAAI,MAAM,WAAW,eAAe,MAAM,WAAW,YAAY,MAAM,WAAW,aAAa;AAAA,IAC7F,MAAM,IAAI,mBACR,0BAA0B,OAAO,qCACnC;AAAA,EACF;AAAA,EACA,IAAI,MAAM,aAAa,iBAAiB,MAAM,aAAa,aAAa;AAAA,IACtE,MAAM,IAAI,mBAAmB,0BAA0B,OAAO,iCAAiC;AAAA,EACjG;AAAA,EACA,IAAI,MAAM,aAAa,OAAO,SAAS,UAAU;AAAA,IAC/C,MAAM,IAAI,mBACR,0BAA0B,OAAO,kDACnC;AAAA,EACF;AAAA,EACA,MAAM,iBAAiB,oBAAoB,QAAQ,MAAM,iBAAiB;AAAA,EAC1E,IAAI,MAAM,WAAW,eAAe,MAAM,aAAa,aAAa;AAAA,IAClE,IAAI,mBAAmB;AAAA,MAAM;AAAA,IAC7B,MAAM,IAAI,mBACR,oCAAoC,OAAO,6CAC7C;AAAA,EACF;AAAA,EACA,IAAI,mBAAmB,WAAW;AAAA,IAChC,MAAM,IAAI,mBACR,0BAA0B,OAAO,kDACnC;AAAA,EACF;AAAA;AAGF,SAAS,eAAe,CAAC,KAAsE;AAAA,EAC7F,IACE,CAAC,IAAI,YACL,CAAC,IAAI,2BACL,CAAC,IAAI,oBACL,CAAC,IAAI,sBACL,CAAC,IAAI,eACL;AAAA,IACA,MAAM,wBAAwB,IAAI,EAAE;AAAA,EACtC;AAAA,EACA,MAAM,WAAW;AAAA,IACf,cAAc,IAAI;AAAA,IAClB,gBAAgB,IAAI;AAAA,IACpB,UAAU,IAAI;AAAA,IACd,gBAAgB;AAAA,MACd,WAAW,IAAI;AAAA,MACf,WAAW,IAAI;AAAA,MACf,WAAW,IAAI;AAAA,IACjB;AAAA,IACA,kBAAkB,IAAI;AAAA,IACtB,oBAAoB,IAAI;AAAA,IACxB,eAAe,IAAI;AAAA,EACrB;AAAA,EACA,4BAA4B,QAAQ;AAAA,EACpC,OAAO;AAAA;AAGT,SAAS,iBAAiB,CAAC,KAAkE;AAAA,EAC3F,IACE,IAAI,mBAAmB,aACvB,IAAI,qBAAqB,aACzB,IAAI,kBAAkB,aACtB,IAAI,mBAAmB,WACvB;AAAA,IACA,MAAM,IAAI,mBACR,oCAAoC,IAAI,sCAC1C;AAAA,EACF;AAAA,EACA,sBAAsB,IAAI,gBAAgB,gBAAgB;AAAA,EAC1D,2BAA2B,IAAI,kBAAkB,kBAAkB;AAAA,EACnE,2BAA2B,IAAI,eAAe,eAAe;AAAA,EAC7D,OAAO;AAAA,IACL,gBAAgB,IAAI;AAAA,IACpB,kBAAkB,IAAI;AAAA,IACtB,eAAe,IAAI;AAAA,IACnB,gBAAgB,IAAI;AAAA,EACtB;AAAA;AAOF,SAAS,oBAAoB,CAC3B,KACA,YACqC;AAAA,EACrC,MAAM,UAAU;AAAA,IACd,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,EACN;AAAA,EACA,IAAI,QAAQ,MAAM,CAAC,WAAW,WAAW,SAAS;AAAA,IAAG;AAAA,EACrD,IACE,IAAI,8BAA8B,aAClC,IAAI,0BAA0B,aAC9B,IAAI,8BAA8B,aAClC,IAAI,6BAA6B,WACjC;AAAA,IACA,MAAM,IAAI,mBACR,oCAAoC,IAAI,+CAC1C;AAAA,EACF;AAAA,EACA,MAAM,gBAAyC;AAAA,IAC7C,cAAc,IAAI;AAAA,IAClB,UAAU,IAAI;AAAA,IACd,cAAc,IAAI;AAAA,IAClB,aAAa,IAAI,KAAK,IAAI,wBAAwB;AAAA,EACpD;AAAA,EACA,gBAAgB,cAAc,aAAa,2BAA2B;AAAA,EACtE,2BAA2B,cAAc,cAAc,4BAA4B;AAAA,EACnF,IAAI,cAAc,iBAAiB,WAAW,kBAAkB;AAAA,IAC9D,MAAM,IAAI,mBACR,oCAAoC,IAAI,kDAC1C;AAAA,EACF;AAAA,EACA,IAAI,cAAc,iBAAiB,IAAI,cAAc;AAAA,IACnD,MAAM,IAAI,mBACR,oCAAoC,IAAI,qDAC1C;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,kBAAkB,CAAC,KAAyC;AAAA,EACnE,IACE,IAAI,mBAAmB,aACvB,IAAI,qBAAqB,aACzB,IAAI,kBAAkB,aACtB,IAAI,mBAAmB,WACvB;AAAA,IACA;AAAA,EACF;AAAA,EACA,MAAM,IAAI,mBACR,sCAAsC,IAAI,sCAC5C;AAAA;AAGF,SAAS,uBAAuB,CAAC,IAAgC;AAAA,EAC/D,OAAO,IAAI,mBACT,0BAA0B,2CAC5B;AAAA;AAGF,SAAS,0BAA0B,CAAC,IAAgC;AAAA,EAClE,OAAO,IAAI,mBAAmB,0BAA0B,4BAA4B;AAAA;AAW/E,SAAS,6BAA6B,CAC3C,QACA,eACyB;AAAA,EACzB,4BAA4B,cAAc,cAAc,4BAA4B;AAAA,EACpF,4BAA4B,cAAc,UAAU,wBAAwB;AAAA,EAC5E,2BAA2B,cAAc,cAAc,4BAA4B;AAAA,EACnF,IAAI,OAAO,MAAM,cAAc,YAAY,QAAQ,CAAC,GAAG;AAAA,IACrD,MAAM,IAAI,mBAAmB,6DAA6D;AAAA,EAC5F;AAAA,EACA,IAAI,cAAc,iBAAiB,OAAO,OAAO,cAAc;AAAA,IAC7D,MAAM,IAAI,mBACR,oCAAoC,OAAO,uBAAuB,cAAc,6BAA6B,OAAO,OAAO,gBAC7H;AAAA,EACF;AAAA,EACA,IAAI,cAAc,iBAAiB,OAAO,oBAAoB,kBAAkB;AAAA,IAC9E,MAAM,IAAI,mBACR,oCAAoC,OAAO,4BAA4B,cAAc,0BAA0B,OAAO,oBAAoB,mBAC5I;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGF,SAAS,6BAAkE,CAChF,QACwC;AAAA,EACxC,IAAI,yBAAyB,MAAM;AAAA,IAAG,OAAO;AAAA,EAC7C,MAAM,IAAI,mBACR,0BAA0B,OAAO,2CACnC;AAAA;AAaF,SAAS,wBAAwB,CAC/B,QACwC;AAAA,EACxC,OAAO,OAAO,SAAS,mBAAmB;AAAA;;;ACj5B5C,eAAsB,mCAAmC,CAAC,OAQxC;AAAA,EAChB,MAAM,YAAY,MAAM,0BAA0B;AAAA,IAChD,YAAY,MAAM;AAAA,IAClB,WAAW,MAAM;AAAA,IACjB,aAAa,MAAM;AAAA,IACnB,WAAW,EAAE,MAAM,cAAc,IAAI,MAAM,cAAc,OAAO,MAAM,MAAM;AAAA,IAC5E,aAAa,CAAC,gBAAgB;AAAA,EAChC,CAAC;AAAA,EACD,IACE,CAAC,aACD,UAAU,OAAO,SAAS,oBAC1B,UAAU,OAAO,cAAc,MAAM,aACrC,UAAU,OAAO,cAAc,MAAM,kBACrC;AAAA,IACA,MAAM,IAAI,mBACR,qBAAqB,MAAM,mDAAmD,MAAM,SACtF;AAAA,EACF;AAAA;",
12
+ "debugId": "F1452D90C0D387BF64756E2164756E21",
13
+ "names": []
14
+ }
@@ -0,0 +1,32 @@
1
+ // @bun
2
+ import {
3
+ findPrimitiveRunExecution
4
+ } from "./chunk-t9xghkva.js";
5
+
6
+ // src/storage/webhook-runs/errors.ts
7
+ class WebhookRunError extends Error {
8
+ code;
9
+ name = "WebhookRunError";
10
+ constructor(message, code) {
11
+ super(message);
12
+ this.code = code;
13
+ }
14
+ }
15
+
16
+ // src/storage/webhook-runs/provider.ts
17
+ async function assertWebhookRunExecution(input) {
18
+ const execution = await findPrimitiveRunExecution({
19
+ executions: input.executions,
20
+ projectId: input.projectId,
21
+ executionId: input.executionId,
22
+ primitive: { kind: "webhook", id: input.route, runId: input.runId },
23
+ sourceTypes: ["webhook"]
24
+ });
25
+ if (!execution || execution.source.type !== "webhook" || execution.source.deliveryId !== input.runId) {
26
+ throw new WebhookRunError(`[Sixb] Execution '${input.executionId}' does not authorize Webhook run '${input.runId}'.`, "invalid_execution");
27
+ }
28
+ }
29
+
30
+ export { WebhookRunError, assertWebhookRunExecution };
31
+
32
+ //# debugId=90CFB7E066527F7E64756E2164756E21
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/storage/webhook-runs/errors.ts", "../src/storage/webhook-runs/provider.ts"],
4
+ "sourcesContent": [
5
+ "/**\n * Base error for webhook-run storage operations.\n */\nexport type WebhookRunErrorCode =\n | \"delivery_conflict\"\n | \"duplicate_run\"\n | \"invalid_execution\"\n | \"invalid_transition\"\n | \"not_found\"\n\nexport class WebhookRunError extends Error {\n readonly name = \"WebhookRunError\"\n\n constructor(\n message: string,\n readonly code?: WebhookRunErrorCode\n ) {\n super(message)\n }\n}\n",
6
+ "import type { ExecutionStorage } from \"../executions\"\nimport { findPrimitiveRunExecution } from \"../executions/run-link\"\nimport { WebhookRunError } from \"./errors\"\n\n/** Validate the semantic link between a durable Webhook delivery and its immutable execution. */\nexport async function assertWebhookRunExecution(input: {\n readonly executions: ExecutionStorage\n readonly projectId: string\n readonly executionId: string\n readonly runId: string\n readonly route: string\n}): Promise<void> {\n const execution = await findPrimitiveRunExecution({\n executions: input.executions,\n projectId: input.projectId,\n executionId: input.executionId,\n primitive: { kind: \"webhook\", id: input.route, runId: input.runId },\n sourceTypes: [\"webhook\"],\n })\n if (\n !execution ||\n execution.source.type !== \"webhook\" ||\n execution.source.deliveryId !== input.runId\n ) {\n throw new WebhookRunError(\n `[Sixb] Execution '${input.executionId}' does not authorize Webhook run '${input.runId}'.`,\n \"invalid_execution\"\n )\n }\n}\n"
7
+ ],
8
+ "mappings": ";;;;;;AAUO,MAAM,wBAAwB,MAAM;AAAA,EAK9B;AAAA,EAJF,OAAO;AAAA,EAEhB,WAAW,CACT,SACS,MACT;AAAA,IACA,MAAM,OAAO;AAAA,IAFJ;AAAA;AAIb;;;ACdA,eAAsB,yBAAyB,CAAC,OAM9B;AAAA,EAChB,MAAM,YAAY,MAAM,0BAA0B;AAAA,IAChD,YAAY,MAAM;AAAA,IAClB,WAAW,MAAM;AAAA,IACjB,aAAa,MAAM;AAAA,IACnB,WAAW,EAAE,MAAM,WAAW,IAAI,MAAM,OAAO,OAAO,MAAM,MAAM;AAAA,IAClE,aAAa,CAAC,SAAS;AAAA,EACzB,CAAC;AAAA,EACD,IACE,CAAC,aACD,UAAU,OAAO,SAAS,aAC1B,UAAU,OAAO,eAAe,MAAM,OACtC;AAAA,IACA,MAAM,IAAI,gBACR,qBAAqB,MAAM,gDAAgD,MAAM,WACjF,mBACF;AAAA,EACF;AAAA;",
9
+ "debugId": "90CFB7E066527F7E64756E2164756E21",
10
+ "names": []
11
+ }