@sixb/core 0.1.18 → 0.1.19

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 (404) hide show
  1. package/README.md +7 -6
  2. package/dist/actions/commit-edits.d.ts +7 -19
  3. package/dist/actions/commit-edits.d.ts.map +1 -1
  4. package/dist/actions/errors.d.ts +0 -3
  5. package/dist/actions/errors.d.ts.map +1 -1
  6. package/dist/actions/execution.d.ts +10 -3
  7. package/dist/actions/execution.d.ts.map +1 -1
  8. package/dist/actions/index.d.ts +6 -9
  9. package/dist/actions/index.d.ts.map +1 -1
  10. package/dist/actions/index.js +51 -50
  11. package/dist/actions/index.js.map +1 -1
  12. package/dist/actions/request.d.ts +14 -25
  13. package/dist/actions/request.d.ts.map +1 -1
  14. package/dist/actions/run/context.d.ts +40 -0
  15. package/dist/actions/run/context.d.ts.map +1 -0
  16. package/dist/actions/run/edits-commit.d.ts +31 -0
  17. package/dist/actions/run/edits-commit.d.ts.map +1 -0
  18. package/dist/actions/run/effects.d.ts +23 -0
  19. package/dist/actions/run/effects.d.ts.map +1 -0
  20. package/dist/actions/run/execute.d.ts +30 -0
  21. package/dist/actions/run/execute.d.ts.map +1 -0
  22. package/dist/actions/run/executor.d.ts +95 -0
  23. package/dist/actions/run/executor.d.ts.map +1 -0
  24. package/dist/actions/run/normalize.d.ts +36 -0
  25. package/dist/actions/run/normalize.d.ts.map +1 -0
  26. package/dist/actions/run/phase-types.d.ts +18 -0
  27. package/dist/actions/run/phase-types.d.ts.map +1 -0
  28. package/dist/actions/run/phases.d.ts +20 -0
  29. package/dist/actions/run/phases.d.ts.map +1 -0
  30. package/dist/actions/run/run-action.d.ts +25 -0
  31. package/dist/actions/run/run-action.d.ts.map +1 -0
  32. package/dist/actions/run/signals.d.ts +67 -0
  33. package/dist/actions/run/signals.d.ts.map +1 -0
  34. package/dist/actions/run/state.d.ts +47 -0
  35. package/dist/actions/run/state.d.ts.map +1 -0
  36. package/dist/actions/run/types.d.ts +54 -0
  37. package/dist/actions/run/types.d.ts.map +1 -0
  38. package/dist/actions/run/writeback.d.ts +17 -0
  39. package/dist/actions/run/writeback.d.ts.map +1 -0
  40. package/dist/actions/run-authorization.d.ts +1 -1
  41. package/dist/actions/run-authorization.d.ts.map +1 -1
  42. package/dist/actions/run-persistence.d.ts +53 -0
  43. package/dist/actions/run-persistence.d.ts.map +1 -0
  44. package/dist/actions/types/context.d.ts +10 -0
  45. package/dist/actions/types/context.d.ts.map +1 -1
  46. package/dist/agents/index.js +52 -55
  47. package/dist/agents/index.js.map +1 -1
  48. package/dist/agents/streams/index.js +2 -2
  49. package/dist/agents/streams/internal.js +2 -2
  50. package/dist/auth/index.js +11 -11
  51. package/dist/auth/index.js.map +1 -1
  52. package/dist/authorization/event-visibility.d.ts.map +1 -1
  53. package/dist/authorization/index.js +3 -3
  54. package/dist/bootstrap/index.js +46 -49
  55. package/dist/bootstrap/index.js.map +2 -2
  56. package/dist/{chunk-d0eb5yy6.js → chunk-1f7wpmyp.js} +5 -5
  57. package/dist/{chunk-d0eb5yy6.js.map → chunk-1f7wpmyp.js.map} +1 -1
  58. package/dist/{chunk-vgk3hknm.js → chunk-1k89ecfr.js} +1 -1
  59. package/dist/{chunk-6h5m9xjx.js → chunk-3gnrh4ve.js} +6 -10
  60. package/dist/{chunk-6h5m9xjx.js.map → chunk-3gnrh4ve.js.map} +4 -4
  61. package/dist/{chunk-htr6wjmv.js → chunk-4tcx876c.js} +15 -15
  62. package/dist/{chunk-htr6wjmv.js.map → chunk-4tcx876c.js.map} +1 -1
  63. package/dist/{chunk-za5yd58j.js → chunk-52bk93x8.js} +2 -2
  64. package/dist/{chunk-22v5bpz3.js → chunk-5e43w60z.js} +1 -1
  65. package/dist/{chunk-zxawp1n2.js → chunk-7kg3k1m9.js} +1 -1
  66. package/dist/{chunk-ny3xyvcn.js → chunk-7mbzgd9m.js} +3 -3
  67. package/dist/{chunk-b9affek3.js → chunk-7n440zgt.js} +30 -30
  68. package/dist/{chunk-b9affek3.js.map → chunk-7n440zgt.js.map} +4 -4
  69. package/dist/{chunk-kkqwzy6h.js → chunk-7t429e3f.js} +1 -1
  70. package/dist/{chunk-s4jhg8a3.js → chunk-80mc0971.js} +13 -13
  71. package/dist/{chunk-s4jhg8a3.js.map → chunk-80mc0971.js.map} +1 -1
  72. package/dist/{chunk-1b1f2d5f.js → chunk-85yvv5n0.js} +8 -8
  73. package/dist/{chunk-1b1f2d5f.js.map → chunk-85yvv5n0.js.map} +1 -1
  74. package/dist/{chunk-6fsr7y93.js → chunk-8mx7qw3y.js} +14 -13
  75. package/dist/{chunk-6fsr7y93.js.map → chunk-8mx7qw3y.js.map} +4 -4
  76. package/dist/{chunk-kpx7jrmn.js → chunk-91mg3nj9.js} +59 -59
  77. package/dist/{chunk-kpx7jrmn.js.map → chunk-91mg3nj9.js.map} +5 -5
  78. package/dist/{chunk-48e3cn2d.js → chunk-9gyp8hg1.js} +2 -2
  79. package/dist/{chunk-ewqa58h9.js → chunk-9k93ah50.js} +4 -4
  80. package/dist/{chunk-ewqa58h9.js.map → chunk-9k93ah50.js.map} +1 -1
  81. package/dist/{chunk-4wn7bxxa.js → chunk-9ybhtmg4.js} +1 -1
  82. package/dist/{chunk-fc5zfxy1.js → chunk-a40ad1ft.js} +5 -13
  83. package/dist/chunk-a40ad1ft.js.map +10 -0
  84. package/dist/{chunk-vz3gc1tm.js → chunk-aff7cyea.js} +62 -64
  85. package/dist/{chunk-vz3gc1tm.js.map → chunk-aff7cyea.js.map} +4 -4
  86. package/dist/{chunk-y2aq6ag9.js → chunk-b38szspf.js} +5 -14
  87. package/dist/chunk-b38szspf.js.map +11 -0
  88. package/dist/{chunk-r2y23egw.js → chunk-bkpke1sg.js} +1 -10
  89. package/dist/chunk-bkpke1sg.js.map +10 -0
  90. package/dist/{chunk-bs7sqkre.js → chunk-bpgy64fw.js} +1 -1
  91. package/dist/{chunk-vx2yp45y.js → chunk-c85m1hyj.js} +2 -2
  92. package/dist/{chunk-v6xpd60t.js → chunk-d2ync1v3.js} +5 -5
  93. package/dist/{chunk-fe52eczz.js → chunk-ey3pyej1.js} +6345 -2125
  94. package/dist/chunk-ey3pyej1.js.map +106 -0
  95. package/dist/{chunk-vjcd8d27.js → chunk-fa02jy15.js} +1 -1
  96. package/dist/{chunk-y05543x6.js → chunk-hvsb78a1.js} +4 -4
  97. package/dist/{chunk-y05543x6.js.map → chunk-hvsb78a1.js.map} +1 -1
  98. package/dist/{chunk-qq90g05n.js → chunk-j2bp5ryw.js} +53 -244
  99. package/dist/{chunk-qq90g05n.js.map → chunk-j2bp5ryw.js.map} +3 -3
  100. package/dist/{chunk-qmnnhde6.js → chunk-kg5j6fct.js} +1 -1
  101. package/dist/{chunk-de4z2bj6.js → chunk-kyzq4wy9.js} +6 -6
  102. package/dist/{chunk-wr8qp979.js → chunk-m427qgq0.js} +9 -5
  103. package/dist/{chunk-wr8qp979.js.map → chunk-m427qgq0.js.map} +4 -3
  104. package/dist/{chunk-e1c18xjx.js → chunk-nq6gpjt7.js} +4 -45
  105. package/dist/{chunk-e1c18xjx.js.map → chunk-nq6gpjt7.js.map} +5 -5
  106. package/dist/{chunk-ex496vct.js → chunk-nre82s12.js} +1 -1
  107. package/dist/{chunk-1hqwggsn.js → chunk-nzapm6p0.js} +1 -2
  108. package/dist/chunk-nzapm6p0.js.map +12 -0
  109. package/dist/{chunk-wt4szfec.js → chunk-pbcbn83d.js} +4 -4
  110. package/dist/{chunk-wt4szfec.js.map → chunk-pbcbn83d.js.map} +1 -1
  111. package/dist/{chunk-7hpdd6r9.js → chunk-q1vkr2ys.js} +4 -4
  112. package/dist/{chunk-zb77kjth.js → chunk-rhg02hxq.js} +3 -3
  113. package/dist/{chunk-y9jmd7e5.js → chunk-s16apyk9.js} +102 -16
  114. package/dist/chunk-s16apyk9.js.map +16 -0
  115. package/dist/{chunk-yv9czyfr.js → chunk-t6vq7bff.js} +5 -5
  116. package/dist/{chunk-qkvz64nd.js → chunk-tjb1mk5t.js} +2 -2
  117. package/dist/{chunk-p844e0rn.js → chunk-tpn40322.js} +2 -2
  118. package/dist/{chunk-rt9p8m9t.js → chunk-v9xd5wzd.js} +1 -1
  119. package/dist/{chunk-2vhg6ysa.js → chunk-vyf9kfqf.js} +1 -1
  120. package/dist/{chunk-k6hrnf35.js → chunk-wwdfe68s.js} +51 -4
  121. package/dist/chunk-wwdfe68s.js.map +11 -0
  122. package/dist/{chunk-f1zxad2t.js → chunk-wz0xs816.js} +6 -6
  123. package/dist/{chunk-f1zxad2t.js.map → chunk-wz0xs816.js.map} +1 -1
  124. package/dist/chunk-y0c4e6ex.js +16 -0
  125. package/dist/chunk-y0c4e6ex.js.map +10 -0
  126. package/dist/{chunk-qkbx3tf6.js → chunk-y7rqfrgg.js} +6 -13
  127. package/dist/{chunk-qkbx3tf6.js.map → chunk-y7rqfrgg.js.map} +4 -4
  128. package/dist/{chunk-dfm066qg.js → chunk-yxd3nnqt.js} +2 -29
  129. package/dist/chunk-yxd3nnqt.js.map +11 -0
  130. package/dist/{chunk-70jmg2zx.js → chunk-yzwja0mj.js} +4 -19
  131. package/dist/{chunk-70jmg2zx.js.map → chunk-yzwja0mj.js.map} +3 -3
  132. package/dist/{chunk-p0dqwj3n.js → chunk-zrmy8zvw.js} +66 -47
  133. package/dist/{chunk-p0dqwj3n.js.map → chunk-zrmy8zvw.js.map} +4 -4
  134. package/dist/deploy/index.d.ts +1 -1
  135. package/dist/deploy/index.d.ts.map +1 -1
  136. package/dist/deploy/internal.js +10 -8
  137. package/dist/deploy/internal.js.map +4 -4
  138. package/dist/deploy/services.d.ts +1 -2
  139. package/dist/deploy/services.d.ts.map +1 -1
  140. package/dist/deploy/types.d.ts +6 -5
  141. package/dist/deploy/types.d.ts.map +1 -1
  142. package/dist/deploy/validation.d.ts.map +1 -1
  143. package/dist/edits/index.js +3 -5
  144. package/dist/edits/index.js.map +1 -1
  145. package/dist/error-reporting/internal.js +3 -3
  146. package/dist/error-reporting/types.d.ts +2 -9
  147. package/dist/error-reporting/types.d.ts.map +1 -1
  148. package/dist/errors/catalog.d.ts +12 -0
  149. package/dist/errors/catalog.d.ts.map +1 -1
  150. package/dist/errors/internal.js +1 -1
  151. package/dist/events/definitions.d.ts +0 -5
  152. package/dist/events/definitions.d.ts.map +1 -1
  153. package/dist/events/index.d.ts +3 -3
  154. package/dist/events/index.d.ts.map +1 -1
  155. package/dist/events/index.js +6 -8
  156. package/dist/events/index.js.map +1 -1
  157. package/dist/events/scope.d.ts +0 -1
  158. package/dist/events/scope.d.ts.map +1 -1
  159. package/dist/events/scope.js +1 -1
  160. package/dist/events/selectors/builder.d.ts +1 -8
  161. package/dist/events/selectors/builder.d.ts.map +1 -1
  162. package/dist/events/selectors/index.d.ts +2 -2
  163. package/dist/events/selectors/index.d.ts.map +1 -1
  164. package/dist/events/selectors/index.js +2 -2
  165. package/dist/events/selectors/predicate.d.ts.map +1 -1
  166. package/dist/events/selectors/types.d.ts +2 -33
  167. package/dist/events/selectors/types.d.ts.map +1 -1
  168. package/dist/events/types/index.d.ts +1 -12
  169. package/dist/events/types/index.d.ts.map +1 -1
  170. package/dist/execution/agent.js +41 -44
  171. package/dist/execution/agent.js.map +1 -1
  172. package/dist/execution/primitive.js +57 -88
  173. package/dist/execution/primitive.js.map +3 -4
  174. package/dist/execution/request.js +35 -38
  175. package/dist/execution/request.js.map +2 -2
  176. package/dist/index.d.ts +3 -3
  177. package/dist/index.d.ts.map +1 -1
  178. package/dist/index.js +111 -120
  179. package/dist/index.js.map +1 -1
  180. package/dist/materialization/index.js +3 -3
  181. package/dist/materialization/index.js.map +1 -1
  182. package/dist/materialization/model.d.ts +19 -6
  183. package/dist/materialization/model.d.ts.map +1 -1
  184. package/dist/materializer/index.js +31 -31
  185. package/dist/materializer/index.js.map +1 -1
  186. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  187. package/dist/models/execution/index.js +18 -18
  188. package/dist/objects/action/errors.d.ts +0 -9
  189. package/dist/objects/action/errors.d.ts.map +1 -1
  190. package/dist/objects/action/index.d.ts +3 -3
  191. package/dist/objects/action/index.d.ts.map +1 -1
  192. package/dist/objects/action/request.d.ts +2 -8
  193. package/dist/objects/action/request.d.ts.map +1 -1
  194. package/dist/objects/execution.d.ts +0 -2
  195. package/dist/objects/execution.d.ts.map +1 -1
  196. package/dist/objects/index.js +44 -29
  197. package/dist/objects/index.js.map +1 -1
  198. package/dist/objects/query/index.js +29 -29
  199. package/dist/objects/query/index.js.map +1 -1
  200. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  201. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  202. package/dist/objects/service/index.d.ts +0 -1
  203. package/dist/objects/service/index.d.ts.map +1 -1
  204. package/dist/ontology/index.js +5 -5
  205. package/dist/ontology/index.js.map +1 -1
  206. package/dist/ontology/internal.js +2 -2
  207. package/dist/pipelines/index.js +28 -28
  208. package/dist/projections/internal.js +22 -22
  209. package/dist/projections/internal.js.map +1 -1
  210. package/dist/query.js +2 -2
  211. package/dist/queues/in-memory.d.ts +1 -2
  212. package/dist/queues/in-memory.d.ts.map +1 -1
  213. package/dist/queues/index.d.ts +1 -1
  214. package/dist/queues/index.d.ts.map +1 -1
  215. package/dist/queues/index.js +1 -1
  216. package/dist/queues/types.d.ts +0 -7
  217. package/dist/queues/types.d.ts.map +1 -1
  218. package/dist/runtime/host.d.ts.map +1 -1
  219. package/dist/runtime/internal.js +24 -25
  220. package/dist/runtime/internal.js.map +1 -1
  221. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  222. package/dist/runtime/types.d.ts +16 -36
  223. package/dist/runtime/types.d.ts.map +1 -1
  224. package/dist/sandboxes/index.js +5 -5
  225. package/dist/schedules/builders.d.ts.map +1 -1
  226. package/dist/schedules/index.js +3 -3
  227. package/dist/schedules/runtime.d.ts.map +1 -1
  228. package/dist/schedules/validation.d.ts +0 -1
  229. package/dist/schedules/validation.d.ts.map +1 -1
  230. package/dist/security/every.d.ts +1 -1
  231. package/dist/shares/internal.js +17 -17
  232. package/dist/storage/action-runs/failure.js +2 -2
  233. package/dist/storage/action-runs/idempotency.d.ts +3 -4
  234. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  235. package/dist/storage/action-runs/in-memory.d.ts +2 -9
  236. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  237. package/dist/storage/action-runs/index.d.ts +1 -3
  238. package/dist/storage/action-runs/index.d.ts.map +1 -1
  239. package/dist/storage/action-runs/provider.js +1 -1
  240. package/dist/storage/action-runs/record.d.ts +20 -0
  241. package/dist/storage/action-runs/record.d.ts.map +1 -0
  242. package/dist/storage/action-runs/types.d.ts +39 -68
  243. package/dist/storage/action-runs/types.d.ts.map +1 -1
  244. package/dist/storage/ai-limits/enforcement.js +2 -2
  245. package/dist/storage/connector-connections/provider.js +1 -1
  246. package/dist/storage/file-upload-sessions/provider.js +9 -9
  247. package/dist/storage/index.d.ts +2 -2
  248. package/dist/storage/index.d.ts.map +1 -1
  249. package/dist/storage/index.js +30 -31
  250. package/dist/storage/index.js.map +1 -1
  251. package/dist/storage/internal.d.ts +1 -1
  252. package/dist/storage/internal.d.ts.map +1 -1
  253. package/dist/storage/internal.js +9 -12
  254. package/dist/storage/internal.js.map +1 -1
  255. package/dist/storage/objects/execution-limits.d.ts +1 -1
  256. package/dist/storage/objects/execution-limits.d.ts.map +1 -1
  257. package/dist/storage/ontology/provider.js +2 -2
  258. package/dist/storage/projection-runs/provider.js +2 -2
  259. package/dist/storage/types.d.ts +1 -1
  260. package/dist/storage/types.d.ts.map +1 -1
  261. package/dist/storage/workflow-runs/provider.js +9 -9
  262. package/dist/syncs/index.js +29 -29
  263. package/dist/testing/action-execution.d.ts +34 -4
  264. package/dist/testing/action-execution.d.ts.map +1 -1
  265. package/dist/testing/action-run-storage-contract.d.ts +11 -0
  266. package/dist/testing/action-run-storage-contract.d.ts.map +1 -0
  267. package/dist/testing/index.d.ts +2 -1
  268. package/dist/testing/index.d.ts.map +1 -1
  269. package/dist/testing/index.js +3202 -2860
  270. package/dist/testing/index.js.map +7 -6
  271. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  272. package/dist/testing/queues-contract.d.ts.map +1 -1
  273. package/dist/webhooks/internal.js +23 -23
  274. package/dist/webhooks/internal.js.map +1 -1
  275. package/dist/workers/index.js +1 -1
  276. package/dist/workflows/index.js +48 -51
  277. package/dist/workflows/index.js.map +1 -1
  278. package/package.json +1 -7
  279. package/src/actions/commit-edits.ts +9 -37
  280. package/src/actions/errors.ts +0 -4
  281. package/src/actions/execution.ts +10 -10
  282. package/src/actions/index.ts +5 -24
  283. package/src/actions/request.ts +157 -295
  284. package/src/actions/run/context.ts +193 -0
  285. package/src/actions/run/edits-commit.ts +102 -0
  286. package/src/actions/run/effects.ts +105 -0
  287. package/src/actions/run/execute.ts +113 -0
  288. package/src/actions/run/executor.ts +314 -0
  289. package/src/actions/run/normalize.ts +142 -0
  290. package/src/actions/run/phase-types.ts +20 -0
  291. package/src/actions/run/phases.ts +150 -0
  292. package/src/actions/run/run-action.ts +170 -0
  293. package/src/actions/run/signals.ts +118 -0
  294. package/src/actions/run/state.ts +95 -0
  295. package/src/actions/run/types.ts +61 -0
  296. package/src/actions/run/writeback.ts +79 -0
  297. package/src/actions/run-authorization.ts +1 -1
  298. package/src/actions/run-persistence.ts +105 -0
  299. package/src/actions/types/context.ts +10 -0
  300. package/src/authorization/event-visibility.ts +0 -12
  301. package/src/deploy/index.ts +0 -1
  302. package/src/deploy/services.ts +2 -11
  303. package/src/deploy/types.ts +6 -6
  304. package/src/deploy/validation.ts +12 -6
  305. package/src/error-reporting/types.ts +2 -10
  306. package/src/errors/catalog.ts +13 -0
  307. package/src/events/definitions.ts +0 -17
  308. package/src/events/index.ts +0 -14
  309. package/src/events/scope.ts +0 -12
  310. package/src/events/selectors/builder.ts +0 -51
  311. package/src/events/selectors/index.ts +0 -6
  312. package/src/events/selectors/predicate.ts +0 -2
  313. package/src/events/selectors/types.ts +7 -65
  314. package/src/events/types/index.ts +0 -11
  315. package/src/index.ts +1 -19
  316. package/src/materialization/model.ts +26 -9
  317. package/src/materializer/README.md +6 -1
  318. package/src/materializer/edits/commit.ts +42 -32
  319. package/src/materializer/shared/normalize.ts +25 -14
  320. package/src/objects/action/errors.ts +0 -12
  321. package/src/objects/action/index.ts +3 -3
  322. package/src/objects/action/request.ts +2 -29
  323. package/src/objects/execution.ts +2 -2
  324. package/src/objects/sdk/object-handle.ts +3 -29
  325. package/src/objects/sdk/object-set.ts +5 -30
  326. package/src/objects/service/index.ts +0 -1
  327. package/src/queues/in-memory.ts +0 -6
  328. package/src/queues/index.ts +0 -2
  329. package/src/queues/types.ts +0 -11
  330. package/src/runtime/host.ts +5 -0
  331. package/src/runtime/resolve-definitions.ts +0 -1
  332. package/src/runtime/types.ts +16 -45
  333. package/src/schedules/builders.ts +1 -4
  334. package/src/schedules/runtime.ts +0 -41
  335. package/src/schedules/validation.ts +2 -16
  336. package/src/security/every.ts +1 -1
  337. package/src/storage/action-runs/idempotency.ts +13 -41
  338. package/src/storage/action-runs/in-memory.ts +20 -311
  339. package/src/storage/action-runs/index.ts +1 -16
  340. package/src/storage/action-runs/record.ts +130 -0
  341. package/src/storage/action-runs/types.ts +37 -92
  342. package/src/storage/index.ts +1 -9
  343. package/src/storage/internal.ts +1 -7
  344. package/src/storage/objects/execution-limits.ts +3 -2
  345. package/src/storage/types.ts +2 -4
  346. package/src/testing/action-execution.ts +73 -13
  347. package/src/testing/action-run-storage-contract.ts +335 -0
  348. package/src/testing/index.ts +8 -1
  349. package/src/testing/materializer-storage-contract.ts +174 -18
  350. package/src/testing/queues-contract.ts +0 -18
  351. package/dist/actions/run-dispatch.d.ts +0 -25
  352. package/dist/actions/run-dispatch.d.ts.map +0 -1
  353. package/dist/actions/worker.d.ts +0 -3
  354. package/dist/actions/worker.d.ts.map +0 -1
  355. package/dist/actions/worker.js +0 -325
  356. package/dist/actions/worker.js.map +0 -11
  357. package/dist/chunk-1hqwggsn.js.map +0 -12
  358. package/dist/chunk-85cd7e8c.js +0 -51
  359. package/dist/chunk-85cd7e8c.js.map +0 -10
  360. package/dist/chunk-dfm066qg.js.map +0 -11
  361. package/dist/chunk-fc5zfxy1.js.map +0 -11
  362. package/dist/chunk-fe52eczz.js.map +0 -49
  363. package/dist/chunk-fx93hd2n.js +0 -1614
  364. package/dist/chunk-fx93hd2n.js.map +0 -20
  365. package/dist/chunk-k6hrnf35.js.map +0 -10
  366. package/dist/chunk-qxvp5epv.js +0 -1329
  367. package/dist/chunk-qxvp5epv.js.map +0 -36
  368. package/dist/chunk-r2y23egw.js.map +0 -10
  369. package/dist/chunk-tffvfy6s.js +0 -593
  370. package/dist/chunk-tffvfy6s.js.map +0 -15
  371. package/dist/chunk-y2aq6ag9.js.map +0 -11
  372. package/dist/chunk-y9jmd7e5.js.map +0 -15
  373. package/dist/chunk-zvx7h87b.js +0 -12
  374. package/dist/chunk-zvx7h87b.js.map +0 -10
  375. package/dist/events/types/actions.d.ts +0 -39
  376. package/dist/events/types/actions.d.ts.map +0 -1
  377. package/dist/objects/service/action-service.d.ts +0 -13
  378. package/dist/objects/service/action-service.d.ts.map +0 -1
  379. package/src/actions/run-dispatch.ts +0 -282
  380. package/src/actions/worker.ts +0 -2
  381. package/src/events/types/actions.ts +0 -42
  382. package/src/objects/service/action-service.ts +0 -43
  383. /package/dist/{chunk-vgk3hknm.js.map → chunk-1k89ecfr.js.map} +0 -0
  384. /package/dist/{chunk-za5yd58j.js.map → chunk-52bk93x8.js.map} +0 -0
  385. /package/dist/{chunk-22v5bpz3.js.map → chunk-5e43w60z.js.map} +0 -0
  386. /package/dist/{chunk-zxawp1n2.js.map → chunk-7kg3k1m9.js.map} +0 -0
  387. /package/dist/{chunk-ny3xyvcn.js.map → chunk-7mbzgd9m.js.map} +0 -0
  388. /package/dist/{chunk-kkqwzy6h.js.map → chunk-7t429e3f.js.map} +0 -0
  389. /package/dist/{chunk-48e3cn2d.js.map → chunk-9gyp8hg1.js.map} +0 -0
  390. /package/dist/{chunk-4wn7bxxa.js.map → chunk-9ybhtmg4.js.map} +0 -0
  391. /package/dist/{chunk-bs7sqkre.js.map → chunk-bpgy64fw.js.map} +0 -0
  392. /package/dist/{chunk-vx2yp45y.js.map → chunk-c85m1hyj.js.map} +0 -0
  393. /package/dist/{chunk-v6xpd60t.js.map → chunk-d2ync1v3.js.map} +0 -0
  394. /package/dist/{chunk-vjcd8d27.js.map → chunk-fa02jy15.js.map} +0 -0
  395. /package/dist/{chunk-qmnnhde6.js.map → chunk-kg5j6fct.js.map} +0 -0
  396. /package/dist/{chunk-de4z2bj6.js.map → chunk-kyzq4wy9.js.map} +0 -0
  397. /package/dist/{chunk-ex496vct.js.map → chunk-nre82s12.js.map} +0 -0
  398. /package/dist/{chunk-7hpdd6r9.js.map → chunk-q1vkr2ys.js.map} +0 -0
  399. /package/dist/{chunk-zb77kjth.js.map → chunk-rhg02hxq.js.map} +0 -0
  400. /package/dist/{chunk-yv9czyfr.js.map → chunk-t6vq7bff.js.map} +0 -0
  401. /package/dist/{chunk-qkvz64nd.js.map → chunk-tjb1mk5t.js.map} +0 -0
  402. /package/dist/{chunk-p844e0rn.js.map → chunk-tpn40322.js.map} +0 -0
  403. /package/dist/{chunk-rt9p8m9t.js.map → chunk-v9xd5wzd.js.map} +0 -0
  404. /package/dist/{chunk-2vhg6ysa.js.map → chunk-vyf9kfqf.js.map} +0 -0
@@ -1,16 +1,16 @@
1
1
  // @bun
2
2
  import {
3
+ materializationEventKindOrdinal2,
4
+ createEventId2,
3
5
  objectRefKey2,
4
6
  linkRefKey2,
5
7
  projectionEntityKey2,
6
8
  telemetryPointKey2,
7
9
  linkRefSortKey2,
8
10
  linkScopeSortKey2,
9
- materializationEventKindOrdinal2,
10
- createEventId2,
11
11
  materializationEvent2,
12
12
  eventAttribution2
13
- } from "./chunk-b9affek3.js";
13
+ } from "./chunk-7n440zgt.js";
14
14
  import {
15
15
  MaterializationValidationError2,
16
16
  MaterializationConflictError2
@@ -1081,4 +1081,4 @@ function sourceConflict2(message) {
1081
1081
 
1082
1082
  export { assertNonblank2, assertPositiveInteger2, assertNonnegativeInteger2, assertTimestamp2, invalidCorrelation2, materializationApplyPhase2, assertMaterializationHeader2, assertPageRows2, materializationChunkRows2, materializationPlanChunk2, materializationOutboxWrite2, claimedOutboxRows2, assertReplacementPlanCommit2, prepareReplacementIdentities2, projectionChangeCounts, createCardinalityValidator2, cardinalityViolation2, assertWorkRecord2, workUniquenessKey2, comparePlanWork2, materializationPlanKindRank2, compareCardinalityWork2, compareEventWork2, startScopeAccumulator2, appendScopeSnapshot2, finishScopeAccumulator2, linkSlotOverrideValue2, ProviderMaterializationSessionState2, beginMaterializationVectorChanges2, beginMaterializationApply2, ProviderMaterializationTransactionLifecycle2, prepareMaterializationWork2, assertMaterializationFinalizationCorrelation2, assertSourceActivationCorrelation2, uniqueSorted2, sameNonnegativeCounts2, effectiveConflict2, assertExpectedObjectRevision2, assertExpectedLinkRevision2, assertExpectedLinkScopeRevision2, materializationWorkColumns2, duplicateMaterializationWork2, canonicalJson2, originColumns2, originWhere2, objectRefFromColumns2, linkRefFromColumns2, sourceEntityKey2, sourceStageRows2, sourceStageRow2, sourceStageRoots2, reconcileSourceStageRows2, sourceMaterializationIdentity2, assertSourceBeginInput2, assertSourceWriteIdentity2, assertSourceProject2, assertSourceExecutionIdentity2, assertSourceCandidateOwner2, assertSourceStagedRow2, sourceEntityColumns2, sourceEntityFromKey2, sourceAssertionPayload2, sourceAssertionFromColumns2, isExactStagingManifest2, sourceConflict2 };
1083
1083
 
1084
- //# debugId=B570E8BCB142312B64756E2164756E21
1084
+ //# debugId=7FB487EDDE03346C64756E2164756E21
@@ -9,6 +9,6 @@
9
9
  "import {\n MaterializationConflictError,\n MaterializationValidationError,\n} from \"../../materialization/errors\"\nimport { eventAttribution, materializationEvent } from \"../../materialization/event-envelopes\"\nimport type {\n OntologyMaterializationEventAttribution,\n OntologyMaterializationEventCommit,\n} from \"../../materialization/events\"\nimport { createEventId, materializationEventKindOrdinal } from \"../../materialization/identity\"\nimport type {\n EffectiveChangeCounts,\n OntologyLinkRef,\n OntologyObjectRef,\n} from \"../../materialization/model\"\nimport {\n linkRefKey,\n linkRefSortKey,\n linkScopeSortKey,\n objectRefKey,\n projectionEntityKey,\n telemetryPointKey,\n} from \"../../materialization/refs\"\nimport type { OntologyCommitWrite } from \"./commits\"\nimport {\n type ExactEffectiveLinkDelete,\n type ExactEffectiveLinkWrite,\n type ExactEffectiveObjectDelete,\n type ExactEffectiveObjectWrite,\n type ExactLinkOverrideDelete,\n type ExactLinkOverrideWrite,\n type ExactLinkSlotOverrideDelete,\n type ExactLinkSlotOverrideWrite,\n type ExactObjectOverrideDelete,\n type ExactObjectOverrideWrite,\n type ExactTimeseriesPointWrite,\n type MaterializationCardinalityOccupantWorkRecord,\n type MaterializationEventWorkRecord,\n type MaterializationPlanHeader,\n type MaterializationPlanWorkItem,\n type MaterializationPlanWorkRecord,\n type MaterializationWorkRecord,\n materializationApplyPhase,\n} from \"./materializations\"\nimport type { ClaimedOntologyOutboxRow, OntologyMaterializationEventDraft } from \"./outbox\"\nimport { assertMaterializationHeader } from \"./provider-header-validation\"\nimport { assertTimestamp, invalidCorrelation } from \"./provider-validation\"\nimport type { PlannedReplacementIdentity, StageReplacementPlanInput } from \"./replacement-plans\"\n\nexport { invalidCorrelation } from \"./provider-validation\"\n\nexport function assertPageRows(value: number): void {\n if (!Number.isSafeInteger(value) || value <= 0)\n throw new MaterializationValidationError(\"Materialization page size must be positive.\")\n}\n\nexport function materializationChunkRows(chunk: MaterializationPlanChunk): number {\n return (\n chunk.overrides.objects.upserts.length +\n chunk.overrides.objects.deletes.length +\n chunk.overrides.links.edges.upserts.length +\n chunk.overrides.links.edges.deletes.length +\n chunk.overrides.links.slots.upserts.length +\n chunk.overrides.links.slots.deletes.length +\n chunk.effective.objectUpserts.length +\n chunk.effective.objectDeletes.length +\n chunk.effective.linkUpserts.length +\n chunk.effective.linkDeletes.length +\n chunk.timeseries.pointUpserts.length +\n chunk.outbox.length\n )\n}\n\nexport interface ExactOverrideWrites {\n readonly objects: {\n readonly upserts: readonly ExactObjectOverrideWrite[]\n readonly deletes: readonly ExactObjectOverrideDelete[]\n }\n readonly links: {\n readonly edges: {\n readonly upserts: readonly ExactLinkOverrideWrite[]\n readonly deletes: readonly ExactLinkOverrideDelete[]\n }\n readonly slots: {\n readonly upserts: readonly ExactLinkSlotOverrideWrite[]\n readonly deletes: readonly ExactLinkSlotOverrideDelete[]\n }\n }\n}\n\nexport interface ExactEffectiveWrites {\n readonly objectUpserts: readonly ExactEffectiveObjectWrite[]\n readonly objectDeletes: readonly ExactEffectiveObjectDelete[]\n readonly linkUpserts: readonly ExactEffectiveLinkWrite[]\n readonly linkDeletes: readonly ExactEffectiveLinkDelete[]\n}\n\nexport interface ExactTimeseriesWrites {\n readonly pointUpserts: readonly ExactTimeseriesPointWrite[]\n}\n\n/** Plan items and outbox writes of one bounded provider write, grouped by table. */\nexport interface MaterializationPlanChunk {\n readonly overrides: ExactOverrideWrites\n readonly effective: ExactEffectiveWrites\n readonly timeseries: ExactTimeseriesWrites\n readonly outbox: readonly OntologyOutboxWrite[]\n}\n\n/** Groups staged plan items, already in apply order, and outbox writes into one provider write. */\nexport function materializationPlanChunk(\n items: readonly MaterializationPlanWorkItem[],\n outbox: readonly OntologyOutboxWrite[] = []\n): MaterializationPlanChunk {\n const chunk = {\n overrides: {\n objects: {\n upserts: [] as ExactObjectOverrideWrite[],\n deletes: [] as ExactObjectOverrideDelete[],\n },\n links: {\n edges: {\n upserts: [] as ExactLinkOverrideWrite[],\n deletes: [] as ExactLinkOverrideDelete[],\n },\n slots: {\n upserts: [] as ExactLinkSlotOverrideWrite[],\n deletes: [] as ExactLinkSlotOverrideDelete[],\n },\n },\n },\n effective: {\n objectUpserts: [] as ExactEffectiveObjectWrite[],\n objectDeletes: [] as ExactEffectiveObjectDelete[],\n linkUpserts: [] as ExactEffectiveLinkWrite[],\n linkDeletes: [] as ExactEffectiveLinkDelete[],\n },\n timeseries: { pointUpserts: [] as ExactTimeseriesPointWrite[] },\n outbox,\n }\n for (const item of items) {\n switch (item.kind) {\n case \"object-override-upsert\":\n chunk.overrides.objects.upserts.push(item.value)\n break\n case \"object-override-delete\":\n chunk.overrides.objects.deletes.push(item.value)\n break\n case \"link-override-upsert\":\n chunk.overrides.links.edges.upserts.push(item.value)\n break\n case \"link-override-delete\":\n chunk.overrides.links.edges.deletes.push(item.value)\n break\n case \"link-slot-override-upsert\":\n chunk.overrides.links.slots.upserts.push(item.value)\n break\n case \"link-slot-override-delete\":\n chunk.overrides.links.slots.deletes.push(item.value)\n break\n case \"object-upsert\":\n chunk.effective.objectUpserts.push(item.value)\n break\n case \"object-delete\":\n chunk.effective.objectDeletes.push(item.value)\n break\n case \"link-upsert\":\n chunk.effective.linkUpserts.push(item.value)\n break\n case \"link-delete\":\n chunk.effective.linkDeletes.push(item.value)\n break\n case \"point-upsert\":\n chunk.timeseries.pointUpserts.push(item.value)\n break\n }\n }\n return chunk\n}\n\n/**\n * One outbox row: a staged event draft at its commit ordinal. The draft is all a provider stores\n * of the event; the commit's own row holds the context every event of that commit shares.\n */\nexport interface OntologyOutboxWrite {\n readonly id: string\n readonly commitOrdinal: number\n readonly event: OntologyMaterializationEventDraft\n /** The commit time: an event is due, and ordered, from the moment its commit is. */\n readonly createdAt: string\n}\n\n/** The outbox write of a staged event draft at its commit ordinal. */\nexport function materializationOutboxWrite(\n commit: Pick<OntologyCommitWrite, \"projectId\" | \"id\" | \"committedAt\">,\n event: OntologyMaterializationEventDraft,\n commitOrdinal: number\n): OntologyOutboxWrite {\n return {\n id: createEventId(commit.projectId, commit.id, commitOrdinal),\n commitOrdinal,\n event,\n createdAt: commit.committedAt,\n }\n}\n\n/** A claimed outbox row as a provider reads it back: its draft and its commit's id. */\nexport interface ClaimedOutboxDraft extends Omit<ClaimedOntologyOutboxRow, \"envelope\"> {\n readonly id: string\n readonly commitId: string\n readonly commitOrdinal: number\n readonly event: OntologyMaterializationEventDraft\n}\n\n/** The commit an event belongs to and the execution that commit ran under. */\nexport interface OutboxEventContext {\n readonly commit: OntologyMaterializationEventCommit\n readonly execution: Parameters<typeof eventAttribution>[0]\n}\n\n/**\n * Claimed rows with their events rebuilt from their commits and executions. Both outlive their\n * events, so a missing one is corrupt storage, not a retryable state.\n */\nexport function claimedOutboxRows(\n rows: readonly ClaimedOutboxDraft[],\n contextOf: (commitId: string) => OutboxEventContext | undefined\n): ClaimedOntologyOutboxRow[] {\n const attributions = new Map<string, OntologyMaterializationEventAttribution>()\n return rows.map(({ id, commitId, commitOrdinal, event, ...row }) => {\n const context = contextOf(commitId)\n if (!context) {\n throw new Error(`[Sixb] Ontology outbox event '${id}' has no commit '${commitId}'.`)\n }\n let attribution = attributions.get(commitId)\n if (!attribution) {\n attribution = eventAttribution(context.execution)\n attributions.set(commitId, attribution)\n }\n return {\n ...row,\n envelope: materializationEvent(event, { id, commitOrdinal }, context.commit, attribution),\n }\n })\n}\n\n/** One planned replacement identity, checked and summarized for a provider to store. */\nexport interface PreparedReplacementIdentity {\n readonly kind: \"object\" | \"link\"\n /** `objectRefKey` or `linkRefKey`, as classification records and provider tables key it. */\n readonly key: string\n readonly entityKey: string\n readonly records: readonly MaterializationWorkRecord[]\n readonly classified: boolean\n /** The effective change its work makes, null when it makes none. */\n readonly change: \"created\" | \"updated\" | \"deleted\" | null\n}\n\n/**\n * Validates the commit a replacement plan carries: once the plan is open, the very commit it was\n * opened with, time included.\n */\nexport function assertReplacementPlanCommit(\n commit: OntologyCommitWrite,\n opened?: { readonly commitId: string; readonly committedAt: string }\n): void {\n assertMaterializationHeader({ commit, expected: NO_EXPECTATIONS })\n if (opened && (commit.id !== opened.commitId || commit.committedAt !== opened.committedAt)) {\n throw new MaterializationValidationError(\n \"Replacement plan work must carry the commit its plan was opened with.\"\n )\n }\n}\n\nconst NO_EXPECTATIONS = { sources: [], objects: [], links: [], linkScopes: [], points: [] }\n\n/**\n * The identities of one `stage` call, checked against the commit the plan was opened with. Each is\n * planned once: one listed twice is rejected.\n */\nexport function prepareReplacementIdentities(\n input: Pick<StageReplacementPlanInput, \"commit\" | \"planned\">,\n opened: { readonly commitId: string; readonly committedAt: string }\n): PreparedReplacementIdentity[] {\n assertReplacementPlanCommit(input.commit, opened)\n const header = { commit: input.commit, expected: NO_EXPECTATIONS }\n const keys = new Set<string>()\n return input.planned.map((planned) => {\n const prepared = prepareReplacementIdentity(planned, header)\n if (keys.has(prepared.entityKey)) {\n throw new MaterializationValidationError(\n `Replacement identity ${prepared.entityKey} is staged twice.`\n )\n }\n keys.add(prepared.entityKey)\n return prepared\n })\n}\n\nfunction prepareReplacementIdentity(\n planned: PlannedReplacementIdentity,\n header: MaterializationPlanHeader\n): PreparedReplacementIdentity {\n const { identity } = planned\n const identityKind = identity.kind\n const key = identity.kind === \"object\" ? objectRefKey(identity.ref) : linkRefKey(identity.ref)\n const keys = new Set<string>()\n let classified = false\n let change: PreparedReplacementIdentity[\"change\"] = null\n for (const record of planned.records) {\n assertWorkRecord(record, header)\n if (keys.has(record.recordKey)) {\n throw new MaterializationConflictError(\n \"effective-state\",\n `Duplicate materialization work key '${record.recordKey}'.`\n )\n }\n keys.add(record.recordKey)\n if (record.kind === \"classification\") {\n // Coverage is checked on the identity, so its classification must be its own.\n if (record.entityKind !== identityKind || record.identityKey !== key) {\n throw new MaterializationValidationError(\"A replacement identity can only classify itself.\")\n }\n classified = true\n }\n if (record.kind !== \"plan\") continue\n const { item } = record\n if (item.kind === \"object-upsert\" || item.kind === \"link-upsert\") {\n change = item.value.expected.exists ? \"updated\" : \"created\"\n } else if (item.kind === \"object-delete\" || item.kind === \"link-delete\") {\n change = \"deleted\"\n }\n }\n return {\n kind: identityKind,\n key,\n entityKey: projectionEntityKey(identity),\n records: planned.records,\n classified,\n change,\n }\n}\n\n/** The change counts a replacement commit reports, derived from its planned work. */\nexport function projectionChangeCounts(\n records: Iterable<MaterializationWorkRecord>\n): EffectiveChangeCounts {\n let objects = 0\n let links = 0\n const counts = {\n objectsCreated: 0,\n objectsUpdated: 0,\n objectsDeleted: 0,\n linksCreated: 0,\n linksUpdated: 0,\n linksDeleted: 0,\n }\n for (const record of records) {\n if (record.kind === \"classification\") {\n if (record.entityKind === \"object\") objects += 1\n if (record.entityKind === \"link\") links += 1\n continue\n }\n if (record.kind !== \"plan\") continue\n const { item } = record\n if (item.kind === \"object-upsert\") {\n if (item.value.expected.exists) counts.objectsUpdated += 1\n else counts.objectsCreated += 1\n } else if (item.kind === \"object-delete\") counts.objectsDeleted += 1\n else if (item.kind === \"link-upsert\") {\n if (item.value.expected.exists) counts.linksUpdated += 1\n else counts.linksCreated += 1\n } else if (item.kind === \"link-delete\") counts.linksDeleted += 1\n }\n return {\n ...counts,\n objectsUnchanged:\n objects - counts.objectsCreated - counts.objectsUpdated - counts.objectsDeleted,\n linksUnchanged: links - counts.linksCreated - counts.linksUpdated - counts.linksDeleted,\n }\n}\n\nexport interface CardinalityValidator {\n /** Accepts staged cardinality records in canonical order (`compareCardinalityWork`). */\n accept(record: MaterializationCardinalityOccupantWorkRecord): void\n}\n\n/**\n * Rejects a cardinality-one scope with two occupants. The candidate view is the projection source\n * alone; the effective view is the resolved scope after this commit.\n */\nexport function createCardinalityValidator(): CardinalityValidator {\n let view: MaterializationCardinalityOccupantWorkRecord[\"view\"] | null = null\n let scope: string | null = null\n let occupant: string | null = null\n return {\n accept(record) {\n if (record.view !== view || record.scopeSortKey !== scope) {\n view = record.view\n scope = record.scopeSortKey\n occupant = null\n }\n if (!record.occupied) return\n if (occupant !== null && occupant !== record.linkSortKey) {\n throw cardinalityViolation(record.view, record.ref.source.objectTypeId, record.ref.linkId)\n }\n occupant = record.linkSortKey\n },\n }\n}\n\n/** The user-facing error for a cardinality-one scope with two occupants. */\nexport function cardinalityViolation(\n view: MaterializationCardinalityOccupantWorkRecord[\"view\"],\n sourceTypeId: string,\n linkId: string\n): MaterializationValidationError {\n return new MaterializationValidationError(\n view === \"candidate\"\n ? `Projection source scope '${sourceTypeId}.${linkId}' has cardinality one.`\n : `Link scope '${sourceTypeId}.${linkId}' has cardinality one.`\n )\n}\n\nexport function assertWorkRecord(\n record: MaterializationWorkRecord,\n header: MaterializationPlanHeader\n): void {\n if (record.recordKey.trim().length === 0) {\n throw new MaterializationValidationError(\"Materialization work key must be nonblank.\")\n }\n if (record.kind === \"plan\") {\n if (!/^[0-9a-f]+$/.test(record.sortKey) || !planPhaseMatches(record)) {\n throw new MaterializationValidationError(\"Materialization plan work has an invalid order.\")\n }\n assertPlanItemCorrelation(record.item, header.commit)\n return\n }\n if (record.kind === \"event\") {\n if (\n !/^[0-9a-f]+$/.test(record.sortKey) ||\n !Number.isSafeInteger(record.eventKindRank) ||\n record.eventKindRank < 0 ||\n record.eventKindRank !== materializationEventKindOrdinal(record.draft.type)\n ) {\n throw new MaterializationValidationError(\"Materialization event work is invalid.\")\n }\n return\n }\n if (record.kind === \"cardinality\") {\n if (\n record.scopeSortKey !== linkScopeSortKey(record.ref.source, record.ref.linkId) ||\n record.linkSortKey !== linkRefSortKey(record.ref)\n ) {\n throw new MaterializationValidationError(\n \"Materialization cardinality work has an invalid identity or order.\"\n )\n }\n return\n }\n if (record.kind === \"classification\" && record.identityKey.trim().length === 0) {\n throw new MaterializationValidationError(\"Materialization classification identity is invalid.\")\n }\n}\n\nexport function workUniquenessKey(record: MaterializationWorkRecord): string {\n switch (record.kind) {\n case \"classification\":\n return `classification:${record.entityKind}:${record.identityKey}`\n case \"object-existence\":\n return `object-existence:${objectRefKey(record.ref)}`\n case \"incident-object\":\n return `incident-object:${objectRefKey(record.ref)}`\n case \"cardinality\":\n return `cardinality:${record.view}:${record.scopeSortKey}:${record.linkSortKey}`\n case \"plan\":\n return `plan:${record.item.kind}:${record.sortKey}`\n case \"event\":\n return `event:${record.eventKindRank}:${record.sortKey}`\n }\n}\n\nexport function comparePlanWork(\n left: MaterializationPlanWorkRecord,\n right: MaterializationPlanWorkRecord\n): number {\n return (\n left.applyPhase - right.applyPhase ||\n materializationPlanKindRank(left.item.kind) - materializationPlanKindRank(right.item.kind) ||\n left.sortKey.localeCompare(right.sortKey) ||\n left.recordKey.localeCompare(right.recordKey)\n )\n}\n\n/** Canonical order of plan item kinds within an apply phase; providers store it with the work. */\nexport function materializationPlanKindRank(kind: MaterializationPlanWorkItem[\"kind\"]): number {\n switch (kind) {\n case \"object-override-upsert\":\n return 0\n case \"object-override-delete\":\n return 1\n case \"link-override-upsert\":\n return 2\n case \"link-override-delete\":\n return 3\n case \"link-slot-override-upsert\":\n return 4\n case \"link-slot-override-delete\":\n return 5\n case \"point-upsert\":\n return 6\n case \"link-delete\":\n return 7\n case \"object-delete\":\n return 8\n case \"object-upsert\":\n return 9\n case \"link-upsert\":\n return 10\n }\n}\n\nexport function compareCardinalityWork(\n left: MaterializationCardinalityOccupantWorkRecord,\n right: MaterializationCardinalityOccupantWorkRecord\n): number {\n return (\n cardinalityViewOrder(left.view) - cardinalityViewOrder(right.view) ||\n left.scopeSortKey.localeCompare(right.scopeSortKey) ||\n left.linkSortKey.localeCompare(right.linkSortKey) ||\n left.recordKey.localeCompare(right.recordKey)\n )\n}\n\nfunction cardinalityViewOrder(view: MaterializationCardinalityOccupantWorkRecord[\"view\"]): number {\n return view === \"effective\" ? 0 : 1\n}\n\nexport function compareEventWork(\n left: MaterializationEventWorkRecord,\n right: MaterializationEventWorkRecord\n): number {\n return (\n left.eventKindRank - right.eventKindRank ||\n left.sortKey.localeCompare(right.sortKey) ||\n left.recordKey.localeCompare(right.recordKey)\n )\n}\n\nfunction planPhaseMatches(record: MaterializationPlanWorkRecord): boolean {\n // Validate the submitted phase against the neutral contract's canonical mapping so a provider\n // still rejects a mis-ordered record without re-encoding the phase table here.\n return record.applyPhase === materializationApplyPhase(record.item.kind)\n}\n\nfunction assertPlanItemCorrelation(\n item: MaterializationPlanWorkItem,\n commit: MaterializationPlanHeader[\"commit\"]\n): void {\n switch (item.kind) {\n case \"object-override-upsert\":\n assertCommitWriteCorrelation(\n item.value.lastCommitId,\n item.value.updatedAt,\n commit,\n \"Object override\"\n )\n return\n case \"object-override-delete\":\n return\n case \"link-override-upsert\":\n assertCommitWriteCorrelation(\n item.value.lastCommitId,\n item.value.updatedAt,\n commit,\n \"Link override\"\n )\n return\n case \"link-override-delete\":\n return\n case \"object-upsert\":\n assertObjectRefEqual(item.value.row.ref, item.value.expected.ref, \"Effective object upsert\")\n assertCommitWriteCorrelation(\n item.value.row.lastCommitId,\n item.value.row.updatedAt,\n commit,\n \"Effective object\"\n )\n return\n case \"object-delete\":\n assertObjectRefEqual(item.value.ref, item.value.expected.ref, \"Effective object delete\")\n return\n case \"link-upsert\":\n assertLinkRefEqual(item.value.row.ref, item.value.expected.ref, \"Effective link upsert\")\n assertCommitWriteCorrelation(\n item.value.row.lastCommitId,\n item.value.row.updatedAt,\n commit,\n \"Effective link\"\n )\n return\n case \"link-delete\":\n assertLinkRefEqual(item.value.ref, item.value.expected.ref, \"Effective link delete\")\n return\n case \"point-upsert\":\n assertPointWriteCorrelation(item.value, commit)\n return\n }\n}\n\nfunction assertPointWriteCorrelation(\n value: ExactTimeseriesPointWrite,\n commit: MaterializationPlanHeader[\"commit\"]\n): void {\n if (\n telemetryPointKey(value.point.series, value.point.at) !==\n telemetryPointKey(value.expected.series, value.expected.at)\n ) {\n invalidCorrelation(\"Timeseries point write does not match its expected identity.\")\n }\n assertTimestamp(value.point.at, \"Timeseries point timestamp\")\n if (value.point.lastCommitId !== commit.id) {\n invalidCorrelation(\"Timeseries point last commit id does not match its session commit.\")\n }\n}\n\nfunction assertCommitWriteCorrelation(\n lastCommitId: string,\n updatedAt: string,\n commit: MaterializationPlanHeader[\"commit\"],\n label: string\n): void {\n if (lastCommitId !== commit.id || updatedAt !== commit.committedAt) {\n invalidCorrelation(`${label} provenance does not match its session commit.`)\n }\n}\n\nfunction assertObjectRefEqual(\n left: OntologyObjectRef,\n right: OntologyObjectRef,\n label: string\n): void {\n if (objectRefKey(left) !== objectRefKey(right)) {\n invalidCorrelation(`${label} row and expected references differ.`)\n }\n}\n\nfunction assertLinkRefEqual(left: OntologyLinkRef, right: OntologyLinkRef, label: string): void {\n if (linkRefKey(left) !== linkRefKey(right)) {\n invalidCorrelation(`${label} row and expected references differ.`)\n }\n}\n"
10
10
  ],
11
11
  "mappings": "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",
12
- "debugId": "B570E8BCB142312B64756E2164756E21",
12
+ "debugId": "7FB487EDDE03346C64756E2164756E21",
13
13
  "names": []
14
14
  }
@@ -1,18 +1,18 @@
1
1
  // @bun
2
2
  import {
3
3
  ProjectionValidationError2
4
- } from "./chunk-qkbx3tf6.js";
4
+ } from "./chunk-y7rqfrgg.js";
5
5
  import {
6
6
  sha256Canonical2
7
- } from "./chunk-b9affek3.js";
7
+ } from "./chunk-7n440zgt.js";
8
8
  import {
9
9
  ProjectionRunError2,
10
10
  assertProjectionRunIdentityMatches2,
11
11
  assertProjectionRunDurableExecution2
12
- } from "./chunk-4wn7bxxa.js";
12
+ } from "./chunk-9ybhtmg4.js";
13
13
  import {
14
14
  createPrimitiveExecutionRecord
15
- } from "./chunk-ex496vct.js";
15
+ } from "./chunk-nre82s12.js";
16
16
  import {
17
17
  findPrimitiveRunExecution
18
18
  } from "./chunk-ey1nk510.js";
@@ -2,18 +2,18 @@
2
2
  import {
3
3
  isScheduleReference2,
4
4
  isScheduleDefinition2
5
- } from "./chunk-e1c18xjx.js";
5
+ } from "./chunk-nq6gpjt7.js";
6
6
  import {
7
7
  ConnectorError2,
8
8
  createConnectorCodedError,
9
9
  getConnectorExecutionSourceResolver
10
- } from "./chunk-f1zxad2t.js";
10
+ } from "./chunk-wz0xs816.js";
11
11
  import {
12
12
  isDatasetDefinition2
13
13
  } from "./chunk-rz53yb4v.js";
14
14
  import {
15
15
  SyncValidationError2
16
- } from "./chunk-yv9czyfr.js";
16
+ } from "./chunk-t6vq7bff.js";
17
17
  import {
18
18
  isOAuthConnectorAdapter,
19
19
  isConnectorDefinition
@@ -1,4 +1,8 @@
1
1
  // @bun
2
+ import {
3
+ ACTION_RUN_PHASES2,
4
+ parseActionRunFailure2
5
+ } from "./chunk-b38szspf.js";
2
6
  import {
3
7
  isFileRef2
4
8
  } from "./chunk-jhm3zsa7.js";
@@ -6,11 +10,16 @@ import {
6
10
  createObjectOperationScope2
7
11
  } from "./chunk-qczk96d9.js";
8
12
  import {
13
+ ActionRunError2
14
+ } from "./chunk-y0c4e6ex.js";
15
+ import {
16
+ assertJsonValue2,
17
+ cloneJsonValue2,
9
18
  stableJsonStringify2
10
19
  } from "./chunk-wy0qdqfm.js";
11
20
 
12
21
  // src/storage/action-runs/idempotency.ts
13
- function actionSubjectsEqual2(left, right) {
22
+ function actionSubjectsEqual(left, right) {
14
23
  if (left.kind !== right.kind)
15
24
  return false;
16
25
  if (left.kind === "none")
@@ -19,27 +28,104 @@ function actionSubjectsEqual2(left, right) {
19
28
  return false;
20
29
  return left.objectTypeId === right.objectTypeId && left.primaryId === right.primaryId;
21
30
  }
22
- function actionRunParamsEqual2(left, right) {
31
+ function actionRunParamsEqual(left, right) {
23
32
  return stableJsonStringify2(left) === stableJsonStringify2(right);
24
33
  }
25
- function actionRunPhaseRecordsEqual2(left, right) {
26
- return actionRunParamsEqual2(stripPhaseRecordCompletedAt(left), stripPhaseRecordCompletedAt(right));
34
+ function actionRunRequestsEqual(left, right) {
35
+ return left.actionId === right.actionId && actionSubjectsEqual(left.subject, right.subject) && actionRunParamsEqual(left.params, right.params);
36
+ }
37
+ function actionRunPhaseRecordsEqual(left, right) {
38
+ return actionRunParamsEqual(stripPhaseRecordCompletedAt(left), stripPhaseRecordCompletedAt(right));
39
+ }
40
+ function stripPhaseRecordCompletedAt(record) {
41
+ const { completedAt: _completedAt, ...stableRecord } = record;
42
+ return stableRecord;
27
43
  }
28
- function finishActionRunPhase2(input, current) {
44
+
45
+ // src/storage/action-runs/record.ts
46
+ function normalizeRecordActionRunInput2(input) {
47
+ const label = `[Sixb] Action run '${input.id}'`;
48
+ for (const field of ["id", "projectId", "executionId", "actionId", "idempotencyKey"]) {
49
+ if (typeof input[field] !== "string" || input[field].trim().length === 0) {
50
+ throw new ActionRunError2(`${label} must have a nonblank ${field}.`);
51
+ }
52
+ }
53
+ const status = input.status;
54
+ if (status !== "succeeded" && status !== "failed") {
55
+ throw new ActionRunError2(`${label} has unknown status '${status}'.`);
56
+ }
57
+ if (!ACTION_RUN_PHASES2.includes(input.phase)) {
58
+ throw new ActionRunError2(`${label} has unknown phase '${input.phase}'.`);
59
+ }
60
+ if (input.phase === "effects") {
61
+ throw new ActionRunError2(`${label} is recorded before its effects run.`);
62
+ }
63
+ const startedAt = requireDate(input.startedAt, `${label} startedAt`);
64
+ const finishedAt = requireDate(input.finishedAt, `${label} finishedAt`);
65
+ if (finishedAt < startedAt) {
66
+ throw new ActionRunError2(`${label} cannot finish before it started.`);
67
+ }
68
+ assertJsonValue2(input.params, `${label} params`);
69
+ const fields = {
70
+ id: input.id,
71
+ projectId: input.projectId,
72
+ executionId: input.executionId,
73
+ actionId: input.actionId,
74
+ subject: structuredClone(input.subject),
75
+ phase: input.phase,
76
+ startedAt,
77
+ finishedAt,
78
+ params: structuredClone(input.params),
79
+ idempotencyKey: input.idempotencyKey,
80
+ ...input.writeback === undefined ? {} : { writeback: normalizeWriteback(input.writeback, label) }
81
+ };
29
82
  if (input.status === "succeeded") {
30
- return input.phase ?? current ?? "validation";
83
+ if (input.error !== undefined) {
84
+ throw new ActionRunError2(`${label} succeeded, so it cannot record a failure.`);
85
+ }
86
+ return { ...fields, status: "succeeded" };
31
87
  }
32
- return input.error.details.phase;
88
+ const error = parseActionRunFailure2(input.error, input.phase);
89
+ if (error.details.runId !== input.id || error.details.actionId !== input.actionId) {
90
+ throw new ActionRunError2(`${label} records the failure of another run.`);
91
+ }
92
+ return { ...fields, status: "failed", error };
33
93
  }
34
- function canRequeueActionRunAfterEnqueueFailure2(existing, input) {
35
- return existing.status === "failed" && existing.phase === "enqueue" && existing.executionId === input.executionId && existing.error?.retryable === true && existing.actionId === input.actionId && existing.idempotencyKey === input.idempotencyKey && actionSubjectsEqual2(existing.subject, input.subject) && actionRunParamsEqual2(existing.params, input.params);
94
+ function resolveActionRunEffects2(existing, input) {
95
+ const label = `[Sixb] Action run '${input.id}'`;
96
+ if (!existing) {
97
+ throw new ActionRunError2(`${label} not found for project '${input.projectId}'.`);
98
+ }
99
+ const completedAt = requireDate(input.completedAt ?? new Date, `${label} effects`);
100
+ const effects = input.status === "succeeded" ? { status: "succeeded", completedAt } : { status: "failed", completedAt, error: parseActionRunFailure2(input.error, "effects") };
101
+ if (existing.effects) {
102
+ if (actionRunPhaseRecordsEqual(existing.effects, effects))
103
+ return { run: existing, effects: null };
104
+ throw new ActionRunError2(`${label} already has a different effects record.`);
105
+ }
106
+ if (existing.status !== "succeeded" || existing.phase !== "commit") {
107
+ throw new ActionRunError2(`${label} cannot record effects: it ended '${existing.status}' in phase '${existing.phase}'.`);
108
+ }
109
+ return { run: existing, effects };
36
110
  }
37
- function isTerminalActionRun2(record) {
38
- return record.status === "succeeded" || record.status === "failed" || record.status === "cancelled";
111
+ function normalizeWriteback(writeback, label) {
112
+ const completedAt = requireDate(writeback.completedAt, `${label} writeback`);
113
+ if (writeback.status === "succeeded") {
114
+ assertJsonValue2(writeback.result, `${label} writeback result`);
115
+ return { status: "succeeded", completedAt, result: cloneJsonValue2(writeback.result) };
116
+ }
117
+ return {
118
+ status: "failed",
119
+ completedAt,
120
+ error: parseActionRunFailure2(writeback.error, "writeback")
121
+ };
39
122
  }
40
- function stripPhaseRecordCompletedAt(record) {
41
- const { completedAt: _completedAt, ...stableRecord } = record;
42
- return stableRecord;
123
+ function requireDate(value, label) {
124
+ const date = value instanceof Date ? new Date(value) : new Date(Number.NaN);
125
+ if (!Number.isFinite(date.getTime())) {
126
+ throw new ActionRunError2(`${label} must be a valid date.`);
127
+ }
128
+ return date;
43
129
  }
44
130
 
45
131
  // src/storage/errors.ts
@@ -165,6 +251,6 @@ function throwNestedStorageTransaction2() {
165
251
  });
166
252
  }
167
253
 
168
- export { actionSubjectsEqual2, actionRunParamsEqual2, actionRunPhaseRecordsEqual2, finishActionRunPhase2, canRequeueActionRunAfterEnqueueFailure2, isTerminalActionRun2, ObjectNotFoundError2, ObjectStorageError2, StorageTransactionError2, isStorageSerializationFailure2, parseFileDownloadGrantRow2, cloneFileDownloadGrantRecord, canRequeuePipelineRunAfterEnqueueFailure2, canRequeueSyncRunAfterEnqueueFailure2, createTransactionStorageProxy2, assertTransactionActive2, throwNestedStorageTransaction2 };
254
+ export { actionSubjectsEqual, actionRunRequestsEqual, normalizeRecordActionRunInput2, resolveActionRunEffects2, ObjectNotFoundError2, ObjectStorageError2, StorageTransactionError2, isStorageSerializationFailure2, parseFileDownloadGrantRow2, cloneFileDownloadGrantRecord, canRequeuePipelineRunAfterEnqueueFailure2, canRequeueSyncRunAfterEnqueueFailure2, createTransactionStorageProxy2, assertTransactionActive2, throwNestedStorageTransaction2 };
169
255
 
170
- //# debugId=8C3E5A53727ECCEF64756E2164756E21
256
+ //# debugId=B710291DEE8F3A1864756E2164756E21
@@ -0,0 +1,16 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/storage/action-runs/idempotency.ts", "../src/storage/action-runs/record.ts", "../src/storage/errors.ts", "../src/storage/file-download-grants/record.ts", "../src/storage/pipeline-runs/idempotency.ts", "../src/storage/sync-runs/idempotency.ts", "../src/storage/transaction.ts"],
4
+ "sourcesContent": [
5
+ "import type { ActionSubject } from \"../../actions\"\nimport { stableJsonStringify } from \"../../json\"\nimport type { ActionRunEffectsRecord, ActionRunRecord, ActionRunWritebackRecord } from \"./types\"\n\nexport function actionSubjectsEqual(left: ActionSubject, right: ActionSubject): boolean {\n if (left.kind !== right.kind) return false\n if (left.kind === \"none\") return true\n if (right.kind === \"none\") return false\n return left.objectTypeId === right.objectTypeId && left.primaryId === right.primaryId\n}\n\nexport function actionRunParamsEqual(left: unknown, right: unknown): boolean {\n return stableJsonStringify(left) === stableJsonStringify(right)\n}\n\n/** Whether two runs carry the same request: the same Action, subject, and params. */\nexport function actionRunRequestsEqual(\n left: Pick<ActionRunRecord, \"actionId\" | \"subject\" | \"params\">,\n right: Pick<ActionRunRecord, \"actionId\" | \"subject\" | \"params\">\n): boolean {\n return (\n left.actionId === right.actionId &&\n actionSubjectsEqual(left.subject, right.subject) &&\n actionRunParamsEqual(left.params, right.params)\n )\n}\n\nexport type ActionRunPhaseRecord = ActionRunWritebackRecord | ActionRunEffectsRecord\n\nexport function actionRunPhaseRecordsEqual(\n left: ActionRunPhaseRecord,\n right: ActionRunPhaseRecord\n): boolean {\n return actionRunParamsEqual(stripPhaseRecordCompletedAt(left), stripPhaseRecordCompletedAt(right))\n}\n\nfunction stripPhaseRecordCompletedAt(\n record: ActionRunPhaseRecord\n): Omit<ActionRunPhaseRecord, \"completedAt\"> {\n const { completedAt: _completedAt, ...stableRecord } = record\n return stableRecord\n}\n",
6
+ "import { assertJsonValue, cloneJsonValue } from \"../../json\"\nimport { ActionRunError } from \"./errors\"\nimport { parseActionRunFailure } from \"./failure\"\nimport { actionRunPhaseRecordsEqual } from \"./idempotency\"\nimport type {\n ActionRunEffectsRecord,\n ActionRunRecord,\n ActionRunWritebackRecord,\n RecordActionEffectsInput,\n RecordActionRunInput,\n} from \"./types\"\nimport { ACTION_RUN_PHASES } from \"./types\"\n\n/**\n * Validate a terminal run record before a provider inserts it, and detach it from the caller.\n *\n * Every provider records through this, so a stored run always reads back as the record that was\n * written: a failed run carries the failure of the phase it ended in, and a succeeded one none. A\n * run is recorded before its effects run, so no record starts in the `effects` phase.\n */\nexport function normalizeRecordActionRunInput(input: RecordActionRunInput): RecordActionRunInput {\n const label = `[Sixb] Action run '${input.id}'`\n for (const field of [\"id\", \"projectId\", \"executionId\", \"actionId\", \"idempotencyKey\"] as const) {\n if (typeof input[field] !== \"string\" || input[field].trim().length === 0) {\n throw new ActionRunError(`${label} must have a nonblank ${field}.`)\n }\n }\n const status: string = input.status\n if (status !== \"succeeded\" && status !== \"failed\") {\n throw new ActionRunError(`${label} has unknown status '${status}'.`)\n }\n if (!(ACTION_RUN_PHASES as readonly string[]).includes(input.phase)) {\n throw new ActionRunError(`${label} has unknown phase '${input.phase}'.`)\n }\n if (input.phase === \"effects\") {\n throw new ActionRunError(`${label} is recorded before its effects run.`)\n }\n const startedAt = requireDate(input.startedAt, `${label} startedAt`)\n const finishedAt = requireDate(input.finishedAt, `${label} finishedAt`)\n if (finishedAt < startedAt) {\n throw new ActionRunError(`${label} cannot finish before it started.`)\n }\n assertJsonValue(input.params, `${label} params`)\n\n const fields = {\n id: input.id,\n projectId: input.projectId,\n executionId: input.executionId,\n actionId: input.actionId,\n subject: structuredClone(input.subject),\n phase: input.phase,\n startedAt,\n finishedAt,\n params: structuredClone(input.params),\n idempotencyKey: input.idempotencyKey,\n ...(input.writeback === undefined\n ? {}\n : { writeback: normalizeWriteback(input.writeback, label) }),\n }\n\n if (input.status === \"succeeded\") {\n if (input.error !== undefined) {\n throw new ActionRunError(`${label} succeeded, so it cannot record a failure.`)\n }\n return { ...fields, status: \"succeeded\" }\n }\n const error = parseActionRunFailure(input.error, input.phase)\n if (error.details.runId !== input.id || error.details.actionId !== input.actionId) {\n throw new ActionRunError(`${label} records the failure of another run.`)\n }\n return { ...fields, status: \"failed\", error }\n}\n\n/**\n * Resolve what recording effects does to the stored run: write `effects`, or nothing (`null`) when\n * an equal outcome is already recorded.\n *\n * Effects run only after a succeeded run committed its edits, and their outcome is recorded once.\n */\nexport function resolveActionRunEffects(\n existing: ActionRunRecord | null,\n input: RecordActionEffectsInput\n): { readonly run: ActionRunRecord; readonly effects: ActionRunEffectsRecord | null } {\n const label = `[Sixb] Action run '${input.id}'`\n if (!existing) {\n throw new ActionRunError(`${label} not found for project '${input.projectId}'.`)\n }\n const completedAt = requireDate(input.completedAt ?? new Date(), `${label} effects`)\n const effects: ActionRunEffectsRecord =\n input.status === \"succeeded\"\n ? { status: \"succeeded\", completedAt }\n : { status: \"failed\", completedAt, error: parseActionRunFailure(input.error, \"effects\") }\n\n if (existing.effects) {\n if (actionRunPhaseRecordsEqual(existing.effects, effects))\n return { run: existing, effects: null }\n throw new ActionRunError(`${label} already has a different effects record.`)\n }\n if (existing.status !== \"succeeded\" || existing.phase !== \"commit\") {\n throw new ActionRunError(\n `${label} cannot record effects: it ended '${existing.status}' in phase '${existing.phase}'.`\n )\n }\n return { run: existing, effects }\n}\n\nfunction normalizeWriteback(\n writeback: ActionRunWritebackRecord,\n label: string\n): ActionRunWritebackRecord {\n const completedAt = requireDate(writeback.completedAt, `${label} writeback`)\n if (writeback.status === \"succeeded\") {\n assertJsonValue(writeback.result, `${label} writeback result`)\n return { status: \"succeeded\", completedAt, result: cloneJsonValue(writeback.result) }\n }\n return {\n status: \"failed\",\n completedAt,\n error: parseActionRunFailure(writeback.error, \"writeback\"),\n }\n}\n\n/** A detached copy of `value`, which must be a valid date. */\nfunction requireDate(value: Date, label: string): Date {\n const date = value instanceof Date ? new Date(value) : new Date(Number.NaN)\n if (!Number.isFinite(date.getTime())) {\n throw new ActionRunError(`${label} must be a valid date.`)\n }\n return date\n}\n",
7
+ "/**\n * Thrown when a storage lookup by primary ID finds no matching object.\n * Carries structured context so callers can discriminate without string parsing.\n */\nexport class ObjectNotFoundError extends Error {\n readonly name = \"ObjectNotFoundError\"\n\n constructor(\n readonly objectTypeId: string,\n readonly primaryId: string,\n readonly context: string\n ) {\n super(`[Sixb] ${context}: ${objectTypeId}:${primaryId}`)\n }\n}\n\nexport class ObjectStorageError extends Error {\n readonly name = \"ObjectStorageError\"\n}\n\nexport type StorageTransactionErrorCode =\n | \"nested_transaction\"\n | \"serialization_failure\"\n | \"transaction_inactive\"\n\nexport interface StorageTransactionErrorOptions {\n readonly cause?: unknown\n readonly code?: StorageTransactionErrorCode\n}\n\nexport class StorageTransactionError extends Error {\n readonly name = \"StorageTransactionError\"\n readonly code?: StorageTransactionErrorCode\n override readonly cause?: unknown\n\n constructor(message: string, options: StorageTransactionErrorOptions = {}) {\n super(message)\n this.code = options.code\n this.cause = options.cause\n }\n}\n\nexport function isStorageSerializationFailure(error: unknown): boolean {\n return error instanceof StorageTransactionError && error.code === \"serialization_failure\"\n}\n",
8
+ "import { isFileRef } from \"../../blob-storage\"\nimport type { FileDownloadGrantRecord } from \"./types\"\n\n/**\n * Rebuilds a grant from a provider row with camelCase keys. `file` may arrive parsed (jsonb) or\n * as text (SQLite), and timestamps as `Date` or ISO text. Fails closed on corruption: a grant that\n * cannot be read must not serve a file.\n */\nexport function parseFileDownloadGrantRow(row: {\n readonly [column: string]: unknown\n}): FileDownloadGrantRecord {\n const id = text(row.id, \"id\", String(row.id))\n const file = typeof row.file === \"string\" ? JSON.parse(row.file) : row.file\n if (!isFileRef(file)) throw corrupt(id, \"file is not a file reference\")\n\n return {\n id,\n projectId: text(row.projectId, \"projectId\", id),\n tokenHash: text(row.tokenHash, \"tokenHash\", id),\n file,\n executionId: text(row.executionId, \"executionId\", id),\n createdAt: date(row.createdAt, \"createdAt\", id),\n expiresAt: date(row.expiresAt, \"expiresAt\", id),\n ...(row.revokedAt == null ? {} : { revokedAt: date(row.revokedAt, \"revokedAt\", id) }),\n }\n}\n\nexport function cloneFileDownloadGrantRecord(\n record: FileDownloadGrantRecord\n): FileDownloadGrantRecord {\n return structuredClone(record)\n}\n\nfunction text(value: unknown, column: string, id: string): string {\n if (typeof value !== \"string\" || value.length === 0) throw corrupt(id, `${column} is not text`)\n return value\n}\n\nfunction date(value: unknown, column: string, id: string): Date {\n const parsed = value instanceof Date || typeof value === \"string\" ? new Date(value) : null\n if (!parsed || !Number.isFinite(parsed.getTime())) throw corrupt(id, `${column} is not a date`)\n return parsed\n}\n\nfunction corrupt(id: string, reason: string): Error {\n return new Error(`[Sixb] Stored file download grant '${id}' is invalid: ${reason}.`)\n}\n",
9
+ "import type { PipelineRunRecord, QueuePipelineRunInput } from \"./types\"\n\nexport function canRequeuePipelineRunAfterEnqueueFailure(\n existing: PipelineRunRecord,\n input: QueuePipelineRunInput\n): boolean {\n return (\n existing.status === \"failed\" &&\n existing.error?.code === \"queue.enqueue_failed\" &&\n existing.error.retryable &&\n existing.executionId === input.executionId &&\n existing.pipelineId === input.pipelineId\n )\n}\n",
10
+ "import type { QueueSyncRunInput, SyncRunRecord } from \"./types\"\n\nexport function canRequeueSyncRunAfterEnqueueFailure(\n existing: SyncRunRecord,\n input: QueueSyncRunInput\n): boolean {\n return (\n existing.status === \"failed\" &&\n existing.error?.code === \"queue.enqueue_failed\" &&\n existing.error.retryable &&\n existing.executionId === input.executionId &&\n existing.syncId === input.syncId &&\n existing.datasetId === input.datasetId &&\n existing.mode === input.mode &&\n existing.expectedLatestVersionId === input.expectedLatestVersionId &&\n existing.commitMessage === input.commitMessage\n )\n}\n",
11
+ "import { StorageTransactionError } from \"./errors\"\nimport { createObjectOperationScope } from \"./operation-scope\"\nimport type { Storage } from \"./types\"\n\ntype ObjectLike = Record<PropertyKey, unknown>\n\nexport function createTransactionStorageProxy<T extends Storage>(\n target: T,\n isActive: () => boolean\n): T {\n const proxies = new WeakMap<object, object>()\n const objectStorage = createObjectOperationScope(target.objects, {\n assertAvailable: () => assertTransactionActive(isActive),\n run: async <TResult>(operation: () => Promise<TResult> | TResult): Promise<TResult> => {\n assertTransactionActive(isActive)\n return operation()\n },\n })\n\n const wrap = <TValue extends object>(value: TValue): TValue => {\n const existing = proxies.get(value)\n if (existing) return existing as TValue\n\n const proxy = new Proxy(value as ObjectLike, {\n // The guard runs on property access and on call. Its purpose is to fail fast when a\n // transaction handle (`tx`) leaks past the transaction's lifetime — using it afterward is a\n // bug, not a recoverable state. Overhead is bounded: only the storage namespaces reachable\n // from `tx` are wrapped (a handful), not the row/link data graph, and never per-record.\n get(current, property, receiver) {\n assertTransactionActive(isActive)\n const result =\n current === target && property === \"objects\"\n ? objectStorage\n : Reflect.get(current, property, receiver)\n if (typeof result === \"function\") {\n return (...args: unknown[]) => {\n assertTransactionActive(isActive)\n return result.apply(current, args)\n }\n }\n if (result && typeof result === \"object\") {\n return wrap(result)\n }\n return result\n },\n })\n\n proxies.set(value, proxy)\n return proxy as TValue\n }\n\n return wrap(target)\n}\n\nexport function assertTransactionActive(isActive: () => boolean): void {\n if (!isActive()) {\n throw new StorageTransactionError(\n \"[Sixb] Transaction storage cannot be used after transaction completion.\",\n { code: \"transaction_inactive\" }\n )\n }\n}\n\nexport function throwNestedStorageTransaction(): never {\n throw new StorageTransactionError(\"[Sixb] Nested storage transactions are not supported yet.\", {\n code: \"nested_transaction\",\n })\n}\n"
12
+ ],
13
+ "mappings": "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",
14
+ "debugId": "B710291DEE8F3A1864756E2164756E21",
15
+ "names": []
16
+ }
@@ -2,17 +2,17 @@
2
2
  import {
3
3
  createSixbError2,
4
4
  toSixbFailure2
5
- } from "./chunk-6fsr7y93.js";
5
+ } from "./chunk-8mx7qw3y.js";
6
6
  import {
7
7
  reportRunFailure2
8
- } from "./chunk-vjcd8d27.js";
8
+ } from "./chunk-fa02jy15.js";
9
9
  import {
10
10
  resolveExecutionScopeAuthorization,
11
11
  assertAuthorized2
12
- } from "./chunk-qkbx3tf6.js";
12
+ } from "./chunk-y7rqfrgg.js";
13
13
  import {
14
14
  SYNC_RUN_FAILURE_CODES2
15
- } from "./chunk-qq90g05n.js";
15
+ } from "./chunk-j2bp5ryw.js";
16
16
  import {
17
17
  SyncRunError2
18
18
  } from "./chunk-jmfet9r4.js";
@@ -20,7 +20,7 @@ import {
20
20
  executionRecordInputFromRuntime,
21
21
  ensureExecutionRecord2,
22
22
  createPrimitiveExecutionRecord
23
- } from "./chunk-ex496vct.js";
23
+ } from "./chunk-nre82s12.js";
24
24
 
25
25
  // src/syncs/errors.ts
26
26
  class SyncValidationError2 extends Error {
@@ -2,13 +2,13 @@
2
2
  import {
3
3
  isScheduleReference2,
4
4
  isScheduleDefinition2
5
- } from "./chunk-e1c18xjx.js";
5
+ } from "./chunk-nq6gpjt7.js";
6
6
  import {
7
7
  isDatasetDefinition2
8
8
  } from "./chunk-rz53yb4v.js";
9
9
  import {
10
10
  PipelineError2
11
- } from "./chunk-v6xpd60t.js";
11
+ } from "./chunk-d2ync1v3.js";
12
12
 
13
13
  // src/lake-storage/sql-transforms.ts
14
14
  var SQL_DIALECT = {
@@ -10,14 +10,14 @@ import {
10
10
  import {
11
11
  validateSchemaValue2,
12
12
  normalizeSchemaValue2
13
- } from "./chunk-y05543x6.js";
13
+ } from "./chunk-hvsb78a1.js";
14
14
  import {
15
15
  AgentDefinitionError2,
16
16
  AgentToolResultValidationError2
17
17
  } from "./chunk-pfp1txq2.js";
18
18
  import {
19
19
  assertValidSchema
20
- } from "./chunk-vgk3hknm.js";
20
+ } from "./chunk-1k89ecfr.js";
21
21
  import {
22
22
  OntologyValidationError2
23
23
  } from "./chunk-cqr3acm1.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  validateSchemaValue2,
4
4
  isRecord2
5
- } from "./chunk-y05543x6.js";
5
+ } from "./chunk-hvsb78a1.js";
6
6
  import {
7
7
  OntologyValidationError2
8
8
  } from "./chunk-cqr3acm1.js";
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  createSixbError2
4
- } from "./chunk-6fsr7y93.js";
4
+ } from "./chunk-8mx7qw3y.js";
5
5
  import {
6
6
  aiLimitSubjectKey2
7
7
  } from "./chunk-4as3wt1c.js";
@@ -4,11 +4,58 @@ import {
4
4
  createAiModelCallLimitController2,
5
5
  AiModelCallRecorder2,
6
6
  enqueueAiModelCallRecovery2
7
- } from "./chunk-ny3xyvcn.js";
7
+ } from "./chunk-7mbzgd9m.js";
8
8
  import {
9
9
  executionRecordInputFromRuntime,
10
10
  ensureExecutionRecord2
11
- } from "./chunk-ex496vct.js";
11
+ } from "./chunk-nre82s12.js";
12
+
13
+ // src/runtime/ontology-mutations.ts
14
+ var ontologyMutationRuntimeKey = Symbol("sixb.ontologyMutationRuntime");
15
+ function registerOntologyMutationRuntime2(owner, runtime) {
16
+ const registered = owner[ontologyMutationRuntimeKey];
17
+ if (registered && registered !== runtime) {
18
+ throw new Error("[Sixb] Ontology mutation runtime is already registered for this owner.");
19
+ }
20
+ Object.defineProperty(owner, ontologyMutationRuntimeKey, {
21
+ configurable: false,
22
+ enumerable: true,
23
+ value: runtime,
24
+ writable: false
25
+ });
26
+ }
27
+ function getOntologyMutationRuntime2(owner) {
28
+ const runtime = owner[ontologyMutationRuntimeKey];
29
+ if (runtime)
30
+ return runtime;
31
+ throw new Error("[Sixb] Ontology mutation runtime is not registered for this runtime context.");
32
+ }
33
+ function shareOntologyMutationRuntime2(source, target) {
34
+ registerOntologyMutationRuntime2(target, getOntologyMutationRuntime2(source));
35
+ }
36
+ function createOntologyMutationRuntime2(input) {
37
+ const runtime = {
38
+ getProjectionSource: (source) => input.materializer.projections.getActive(source),
39
+ commitEdits: (command) => commitAndNotify(() => input.materializer.edits.commit(command), input.notifyCommittedFacts),
40
+ replaceProjection: (command) => commitAndNotify(() => input.materializer.projections.replace(command), input.notifyCommittedFacts),
41
+ finishProjection: (command) => input.materializer.projections.finishRun(command),
42
+ appendTelemetry: (command) => commitAndNotify(() => input.materializer.telemetry.append(command), input.notifyCommittedFacts)
43
+ };
44
+ return Object.freeze(runtime);
45
+ }
46
+ async function commitAndNotify(commit, notify) {
47
+ const result = await commit();
48
+ if (result.eventCount > 0)
49
+ notifyWithoutAffectingCommit(notify);
50
+ return result;
51
+ }
52
+ function notifyWithoutAffectingCommit(notify) {
53
+ try {
54
+ notify();
55
+ } catch (error) {
56
+ console.error("[Sixb] Failed to wake the ontology outbox dispatcher:", error);
57
+ }
58
+ }
12
59
 
13
60
  // src/models/execution/session.ts
14
61
  class ModelExecutionSession {
@@ -76,6 +123,6 @@ class ModelExecutionSession {
76
123
  }
77
124
  }
78
125
 
79
- export { ModelExecutionSession };
126
+ export { registerOntologyMutationRuntime2, getOntologyMutationRuntime2, shareOntologyMutationRuntime2, createOntologyMutationRuntime2, ModelExecutionSession };
80
127
 
81
- //# debugId=10658A85B28EF50464756E2164756E21
128
+ //# debugId=68E7C49FC6F738D764756E2164756E21
@@ -0,0 +1,11 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/runtime/ontology-mutations.ts", "../src/models/execution/session.ts"],
4
+ "sourcesContent": [
5
+ "import type {\n EditCommitResult,\n OntologyEditCommit,\n ProjectionCommitResult,\n ProjectionRunFinishInput,\n ProjectionSourceRef,\n ProjectionSourceReplacement,\n TelemetryAppend,\n TelemetryCommitResult,\n} from \"../materialization/model\"\nimport type { BoundOntologyMaterializer } from \"../materializer\"\nimport type { OntologySourceRecord } from \"../storage/ontology\"\n\nexport interface OntologyMutationRuntime {\n getProjectionSource?(source: ProjectionSourceRef): Promise<OntologySourceRecord | null>\n commitEdits(input: OntologyEditCommit): Promise<EditCommitResult>\n replaceProjection(input: ProjectionSourceReplacement): Promise<ProjectionCommitResult>\n finishProjection(input: ProjectionRunFinishInput): Promise<void>\n appendTelemetry(input: TelemetryAppend): Promise<TelemetryCommitResult>\n}\n\nconst ontologyMutationRuntimeKey: unique symbol = Symbol(\"sixb.ontologyMutationRuntime\")\n\ninterface OntologyMutationRuntimeOwner {\n readonly [ontologyMutationRuntimeKey]?: OntologyMutationRuntime\n}\n\nexport function registerOntologyMutationRuntime(\n owner: object,\n runtime: OntologyMutationRuntime\n): void {\n const registered = (owner as OntologyMutationRuntimeOwner)[ontologyMutationRuntimeKey]\n if (registered && registered !== runtime) {\n throw new Error(\"[Sixb] Ontology mutation runtime is already registered for this owner.\")\n }\n Object.defineProperty(owner, ontologyMutationRuntimeKey, {\n configurable: false,\n enumerable: true,\n value: runtime,\n writable: false,\n })\n}\n\nexport function getOntologyMutationRuntime(owner: object): OntologyMutationRuntime {\n const runtime = (owner as OntologyMutationRuntimeOwner)[ontologyMutationRuntimeKey]\n if (runtime) return runtime\n throw new Error(\"[Sixb] Ontology mutation runtime is not registered for this runtime context.\")\n}\n\n/** Copies the opaque capability when an internal runtime context is reconstructed. */\nexport function shareOntologyMutationRuntime(source: object, target: object): void {\n registerOntologyMutationRuntime(target, getOntologyMutationRuntime(source))\n}\n\n/** Adapt an already-bound Materializer to the internal ontology mutation runtime. */\nexport function createOntologyMutationRuntime(input: {\n readonly materializer: BoundOntologyMaterializer\n readonly notifyCommittedFacts: () => void\n}): OntologyMutationRuntime {\n const runtime: OntologyMutationRuntime = {\n getProjectionSource: (source) => input.materializer.projections.getActive(source),\n commitEdits: (command) =>\n commitAndNotify(() => input.materializer.edits.commit(command), input.notifyCommittedFacts),\n replaceProjection: (command) =>\n commitAndNotify(\n () => input.materializer.projections.replace(command),\n input.notifyCommittedFacts\n ),\n finishProjection: (command) => input.materializer.projections.finishRun(command),\n appendTelemetry: (command) =>\n commitAndNotify(\n () => input.materializer.telemetry.append(command),\n input.notifyCommittedFacts\n ),\n }\n return Object.freeze(runtime)\n}\n\nasync function commitAndNotify<TResult extends { readonly eventCount: number }>(\n commit: () => Promise<TResult>,\n notify: () => void\n): Promise<TResult> {\n const result = await commit()\n if (result.eventCount > 0) notifyWithoutAffectingCommit(notify)\n return result\n}\n\nfunction notifyWithoutAffectingCommit(notify: () => void): void {\n try {\n notify()\n } catch (error) {\n // The ontology commit is already durable. A wake-up failure must never turn it into an apparent\n // mutation failure; API-hosted ontology maintenance remains the correctness fallback.\n console.error(\"[Sixb] Failed to wake the ontology outbox dispatcher:\", error)\n }\n}\n",
6
+ "import type { ExecutionContext, RuntimeAuthorization } from \"../../execution\"\nimport { ensureExecutionRecord, executionRecordInputFromRuntime } from \"../../execution/durable\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport type { ModelExecutionAttempt } from \"./binding\"\nimport { requireAccountingCapabilities } from \"./model-call-accounting\"\nimport { createAiModelCallLimitController } from \"./model-call-limits\"\nimport { AiModelCallRecorder } from \"./model-call-recorder\"\nimport { enqueueAiModelCallRecovery } from \"./recovery-queue\"\n\n/** One accounting boundary shared by all model protocols in a bound execution. */\nexport class ModelExecutionSession {\n private binding?: ModelExecutionAttempt\n private recorder?: Promise<AiModelCallRecorder>\n\n constructor(\n private readonly runtime: SixbHostContext & { runtimeAuthorization: RuntimeAuthorization },\n private readonly execution: ExecutionContext\n ) {}\n\n bind(input: ModelExecutionAttempt): void {\n if (this.binding) throw new Error(\"[SixbModels] Execution attempt is already bound.\")\n this.binding = { ...input }\n }\n\n signal(signal?: AbortSignal): AbortSignal {\n const binding = this.requireBinding()\n return signal ? AbortSignal.any([binding.signal, signal]) : binding.signal\n }\n\n async admitEmbeddingCall(admit: () => Promise<void>): Promise<void> {\n const admission = this.requireBinding().embeddingAdmission\n if (admission) await admission(admit)\n else await admit()\n }\n\n accounting(): Promise<AiModelCallRecorder> {\n const { accounting } = this.requireBinding()\n this.recorder ??= accounting ? Promise.resolve(accounting) : this.createRecorder()\n return this.recorder\n }\n\n private requireBinding(): ModelExecutionAttempt {\n if (!this.binding) {\n throw new Error(\n \"[SixbModels] Model calls require a bound request or worker execution attempt.\"\n )\n }\n return this.binding\n }\n\n private async createRecorder(): Promise<AiModelCallRecorder> {\n const runtime = this.runtime\n const execution = this.execution\n const { attempt } = this.requireBinding()\n const storage = {\n ...requireAccountingCapabilities(runtime.storage),\n transaction: runtime.storage.transaction.bind(runtime.storage),\n }\n const { requesterGroupIds } = await ensureExecutionRecord(\n runtime.storage.executions,\n executionRecordInputFromRuntime({\n execution,\n runtimeAuthorization: runtime.runtimeAuthorization,\n })\n )\n return new AiModelCallRecorder({\n storage,\n projectId: runtime.projectId,\n executionId: execution.id,\n attempt,\n requesterGroupIds,\n limits: createAiModelCallLimitController({\n storage,\n projectId: runtime.projectId,\n requestedBy: execution.requestedBy,\n requesterGroupIds,\n }),\n recoverAiModelCall: (input) => enqueueAiModelCallRecovery(runtime.queues.agents, input),\n })\n }\n}\n"
7
+ ],
8
+ "mappings": ";;;;;;;;;;;;;AAqBA,IAAM,6BAA4C,OAAO,8BAA8B;AAMhF,SAAS,gCAA+B,CAC7C,OACA,SACM;AAAA,EACN,MAAM,aAAc,MAAuC;AAAA,EAC3D,IAAI,cAAc,eAAe,SAAS;AAAA,IACxC,MAAM,IAAI,MAAM,wEAAwE;AAAA,EAC1F;AAAA,EACA,OAAO,eAAe,OAAO,4BAA4B;AAAA,IACvD,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,UAAU;AAAA,EACZ,CAAC;AAAA;AAGI,SAAS,2BAA0B,CAAC,OAAwC;AAAA,EACjF,MAAM,UAAW,MAAuC;AAAA,EACxD,IAAI;AAAA,IAAS,OAAO;AAAA,EACpB,MAAM,IAAI,MAAM,8EAA8E;AAAA;AAIzF,SAAS,6BAA4B,CAAC,QAAgB,QAAsB;AAAA,EACjF,iCAAgC,QAAQ,4BAA2B,MAAM,CAAC;AAAA;AAIrE,SAAS,8BAA6B,CAAC,OAGlB;AAAA,EAC1B,MAAM,UAAmC;AAAA,IACvC,qBAAqB,CAAC,WAAW,MAAM,aAAa,YAAY,UAAU,MAAM;AAAA,IAChF,aAAa,CAAC,YACZ,gBAAgB,MAAM,MAAM,aAAa,MAAM,OAAO,OAAO,GAAG,MAAM,oBAAoB;AAAA,IAC5F,mBAAmB,CAAC,YAClB,gBACE,MAAM,MAAM,aAAa,YAAY,QAAQ,OAAO,GACpD,MAAM,oBACR;AAAA,IACF,kBAAkB,CAAC,YAAY,MAAM,aAAa,YAAY,UAAU,OAAO;AAAA,IAC/E,iBAAiB,CAAC,YAChB,gBACE,MAAM,MAAM,aAAa,UAAU,OAAO,OAAO,GACjD,MAAM,oBACR;AAAA,EACJ;AAAA,EACA,OAAO,OAAO,OAAO,OAAO;AAAA;AAG9B,eAAe,eAAgE,CAC7E,QACA,QACkB;AAAA,EAClB,MAAM,SAAS,MAAM,OAAO;AAAA,EAC5B,IAAI,OAAO,aAAa;AAAA,IAAG,6BAA6B,MAAM;AAAA,EAC9D,OAAO;AAAA;AAGT,SAAS,4BAA4B,CAAC,QAA0B;AAAA,EAC9D,IAAI;AAAA,IACF,OAAO;AAAA,IACP,OAAO,OAAO;AAAA,IAGd,QAAQ,MAAM,yDAAyD,KAAK;AAAA;AAAA;;;ACnFzE,MAAM,sBAAsB;AAAA,EAKd;AAAA,EACA;AAAA,EALX;AAAA,EACA;AAAA,EAER,WAAW,CACQ,SACA,WACjB;AAAA,IAFiB;AAAA,IACA;AAAA;AAAA,EAGnB,IAAI,CAAC,OAAoC;AAAA,IACvC,IAAI,KAAK;AAAA,MAAS,MAAM,IAAI,MAAM,kDAAkD;AAAA,IACpF,KAAK,UAAU,KAAK,MAAM;AAAA;AAAA,EAG5B,MAAM,CAAC,QAAmC;AAAA,IACxC,MAAM,UAAU,KAAK,eAAe;AAAA,IACpC,OAAO,SAAS,YAAY,IAAI,CAAC,QAAQ,QAAQ,MAAM,CAAC,IAAI,QAAQ;AAAA;AAAA,OAGhE,mBAAkB,CAAC,OAA2C;AAAA,IAClE,MAAM,YAAY,KAAK,eAAe,EAAE;AAAA,IACxC,IAAI;AAAA,MAAW,MAAM,UAAU,KAAK;AAAA,IAC/B;AAAA,YAAM,MAAM;AAAA;AAAA,EAGnB,UAAU,GAAiC;AAAA,IACzC,QAAQ,eAAe,KAAK,eAAe;AAAA,IAC3C,KAAK,aAAa,aAAa,QAAQ,QAAQ,UAAU,IAAI,KAAK,eAAe;AAAA,IACjF,OAAO,KAAK;AAAA;AAAA,EAGN,cAAc,GAA0B;AAAA,IAC9C,IAAI,CAAC,KAAK,SAAS;AAAA,MACjB,MAAM,IAAI,MACR,+EACF;AAAA,IACF;AAAA,IACA,OAAO,KAAK;AAAA;AAAA,OAGA,eAAc,GAAiC;AAAA,IAC3D,MAAM,UAAU,KAAK;AAAA,IACrB,MAAM,YAAY,KAAK;AAAA,IACvB,QAAQ,YAAY,KAAK,eAAe;AAAA,IACxC,MAAM,UAAU;AAAA,SACX,8BAA8B,QAAQ,OAAO;AAAA,MAChD,aAAa,QAAQ,QAAQ,YAAY,KAAK,QAAQ,OAAO;AAAA,IAC/D;AAAA,IACA,QAAQ,sBAAsB,MAAM,uBAClC,QAAQ,QAAQ,YAChB,gCAAgC;AAAA,MAC9B;AAAA,MACA,sBAAsB,QAAQ;AAAA,IAChC,CAAC,CACH;AAAA,IACA,OAAO,IAAI,qBAAoB;AAAA,MAC7B;AAAA,MACA,WAAW,QAAQ;AAAA,MACnB,aAAa,UAAU;AAAA,MACvB;AAAA,MACA;AAAA,MACA,QAAQ,kCAAiC;AAAA,QACvC;AAAA,QACA,WAAW,QAAQ;AAAA,QACnB,aAAa,UAAU;AAAA,QACvB;AAAA,MACF,CAAC;AAAA,MACD,oBAAoB,CAAC,UAAU,4BAA2B,QAAQ,OAAO,QAAQ,KAAK;AAAA,IACxF,CAAC;AAAA;AAEL;",
9
+ "debugId": "68E7C49FC6F738D764756E2164756E21",
10
+ "names": []
11
+ }