@sixb/core 0.1.18 → 0.1.20

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 (523) 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/cookies.d.ts +2 -4
  51. package/dist/auth/cookies.d.ts.map +1 -1
  52. package/dist/auth/index.d.ts +0 -2
  53. package/dist/auth/index.d.ts.map +1 -1
  54. package/dist/auth/index.js +15 -21
  55. package/dist/auth/index.js.map +1 -1
  56. package/dist/auth/runtime.d.ts +8 -10
  57. package/dist/auth/runtime.d.ts.map +1 -1
  58. package/dist/auth/session-cache.d.ts +1 -5
  59. package/dist/auth/session-cache.d.ts.map +1 -1
  60. package/dist/auth/strategy.js +1 -1
  61. package/dist/auth/types.d.ts +4 -8
  62. package/dist/auth/types.d.ts.map +1 -1
  63. package/dist/auth/validation.d.ts +0 -1
  64. package/dist/auth/validation.d.ts.map +1 -1
  65. package/dist/authorization/decision.d.ts +0 -4
  66. package/dist/authorization/decision.d.ts.map +1 -1
  67. package/dist/authorization/event-visibility.d.ts.map +1 -1
  68. package/dist/authorization/grant-kinds.d.ts +6 -8
  69. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  70. package/dist/authorization/index.d.ts +0 -1
  71. package/dist/authorization/index.d.ts.map +1 -1
  72. package/dist/authorization/index.js +5 -9
  73. package/dist/authorization/index.js.map +1 -1
  74. package/dist/authorization/resolve.d.ts +1 -1
  75. package/dist/authorization/resolve.d.ts.map +1 -1
  76. package/dist/bootstrap/index.js +50 -53
  77. package/dist/bootstrap/index.js.map +2 -2
  78. package/dist/{chunk-vz3gc1tm.js → chunk-0rbyz4qy.js} +67 -69
  79. package/dist/{chunk-vz3gc1tm.js.map → chunk-0rbyz4qy.js.map} +4 -4
  80. package/dist/{chunk-rz53yb4v.js → chunk-0yh890a4.js} +1 -1
  81. package/dist/{chunk-vgk3hknm.js → chunk-1k89ecfr.js} +1 -1
  82. package/dist/{chunk-ny3xyvcn.js → chunk-1zq2p6g0.js} +3 -3
  83. package/dist/{chunk-dnmadg9k.js → chunk-3t2hgbgd.js} +2 -2
  84. package/dist/{chunk-k6hrnf35.js → chunk-4vyr1j8f.js} +51 -4
  85. package/dist/chunk-4vyr1j8f.js.map +11 -0
  86. package/dist/{chunk-22v5bpz3.js → chunk-5e43w60z.js} +1 -1
  87. package/dist/{chunk-de4z2bj6.js → chunk-5j58wjct.js} +17 -17
  88. package/dist/chunk-5j58wjct.js.map +18 -0
  89. package/dist/{chunk-fe52eczz.js → chunk-6c6sn0bh.js} +6352 -2127
  90. package/dist/chunk-6c6sn0bh.js.map +106 -0
  91. package/dist/{chunk-7hpdd6r9.js → chunk-6p49a5cq.js} +4 -4
  92. package/dist/{chunk-b9affek3.js → chunk-7n440zgt.js} +30 -30
  93. package/dist/{chunk-b9affek3.js.map → chunk-7n440zgt.js.map} +4 -4
  94. package/dist/{chunk-kkqwzy6h.js → chunk-7t429e3f.js} +1 -1
  95. package/dist/{chunk-6fsr7y93.js → chunk-8mx7qw3y.js} +14 -13
  96. package/dist/{chunk-6fsr7y93.js.map → chunk-8mx7qw3y.js.map} +4 -4
  97. package/dist/{chunk-kpx7jrmn.js → chunk-91mg3nj9.js} +59 -59
  98. package/dist/{chunk-kpx7jrmn.js.map → chunk-91mg3nj9.js.map} +5 -5
  99. package/dist/{chunk-ex496vct.js → chunk-9dmt152s.js} +1 -1
  100. package/dist/{chunk-48e3cn2d.js → chunk-9gyp8hg1.js} +2 -2
  101. package/dist/{chunk-ewqa58h9.js → chunk-9k93ah50.js} +4 -4
  102. package/dist/{chunk-ewqa58h9.js.map → chunk-9k93ah50.js.map} +1 -1
  103. package/dist/{chunk-zxawp1n2.js → chunk-9w055r5b.js} +1 -1
  104. package/dist/{chunk-4wn7bxxa.js → chunk-9ybhtmg4.js} +1 -1
  105. package/dist/{chunk-fc5zfxy1.js → chunk-a40ad1ft.js} +5 -13
  106. package/dist/chunk-a40ad1ft.js.map +10 -0
  107. package/dist/{chunk-y2aq6ag9.js → chunk-b38szspf.js} +5 -14
  108. package/dist/chunk-b38szspf.js.map +11 -0
  109. package/dist/{chunk-r2y23egw.js → chunk-bkpke1sg.js} +1 -10
  110. package/dist/chunk-bkpke1sg.js.map +10 -0
  111. package/dist/{chunk-htr6wjmv.js → chunk-bx9q3cwv.js} +22 -22
  112. package/dist/{chunk-htr6wjmv.js.map → chunk-bx9q3cwv.js.map} +1 -1
  113. package/dist/{chunk-vx2yp45y.js → chunk-c85m1hyj.js} +2 -2
  114. package/dist/{chunk-bs7sqkre.js → chunk-d09tj99x.js} +2 -2
  115. package/dist/{chunk-qkbx3tf6.js → chunk-d0bqz29d.js} +27 -47
  116. package/dist/chunk-d0bqz29d.js.map +23 -0
  117. package/dist/{chunk-zb77kjth.js → chunk-dk8tkk5f.js} +4 -4
  118. package/dist/{chunk-xt1zt7gv.js → chunk-es1gxsbf.js} +24 -15
  119. package/dist/chunk-es1gxsbf.js.map +13 -0
  120. package/dist/{chunk-vjcd8d27.js → chunk-fa02jy15.js} +1 -1
  121. package/dist/{chunk-za5yd58j.js → chunk-fkgc1wt8.js} +2 -2
  122. package/dist/{chunk-enpsx8k5.js → chunk-gsjm1wms.js} +16 -20
  123. package/dist/chunk-gsjm1wms.js.map +10 -0
  124. package/dist/{chunk-2jntasmh.js → chunk-hcbyfxbe.js} +25 -49
  125. package/dist/chunk-hcbyfxbe.js.map +12 -0
  126. package/dist/{chunk-p0dqwj3n.js → chunk-hjzdd750.js} +66 -47
  127. package/dist/{chunk-p0dqwj3n.js.map → chunk-hjzdd750.js.map} +4 -4
  128. package/dist/chunk-hkc3jct7.js.map +1 -1
  129. package/dist/{chunk-y05543x6.js → chunk-hvsb78a1.js} +4 -4
  130. package/dist/{chunk-y05543x6.js.map → chunk-hvsb78a1.js.map} +1 -1
  131. package/dist/{chunk-1b1f2d5f.js → chunk-k6q3n2sc.js} +9 -9
  132. package/dist/{chunk-1b1f2d5f.js.map → chunk-k6q3n2sc.js.map} +1 -1
  133. package/dist/{chunk-wr8qp979.js → chunk-m427qgq0.js} +9 -5
  134. package/dist/{chunk-wr8qp979.js.map → chunk-m427qgq0.js.map} +4 -3
  135. package/dist/{chunk-qq90g05n.js → chunk-n33z5bjw.js} +50 -240
  136. package/dist/{chunk-qq90g05n.js.map → chunk-n33z5bjw.js.map} +4 -4
  137. package/dist/{chunk-e1c18xjx.js → chunk-nq6gpjt7.js} +4 -45
  138. package/dist/{chunk-e1c18xjx.js.map → chunk-nq6gpjt7.js.map} +5 -5
  139. package/dist/{chunk-1hqwggsn.js → chunk-nzapm6p0.js} +1 -2
  140. package/dist/chunk-nzapm6p0.js.map +12 -0
  141. package/dist/{chunk-wt4szfec.js → chunk-pbcbn83d.js} +4 -4
  142. package/dist/{chunk-wt4szfec.js.map → chunk-pbcbn83d.js.map} +1 -1
  143. package/dist/{chunk-s4jhg8a3.js → chunk-ren4kg2j.js} +15 -15
  144. package/dist/{chunk-s4jhg8a3.js.map → chunk-ren4kg2j.js.map} +1 -1
  145. package/dist/{chunk-d0eb5yy6.js → chunk-rrzt8jdy.js} +5 -5
  146. package/dist/{chunk-d0eb5yy6.js.map → chunk-rrzt8jdy.js.map} +1 -1
  147. package/dist/{chunk-y9jmd7e5.js → chunk-s16apyk9.js} +102 -16
  148. package/dist/chunk-s16apyk9.js.map +16 -0
  149. package/dist/{chunk-6gmfggss.js → chunk-t7x8dmn0.js} +2 -2
  150. package/dist/{chunk-f1zxad2t.js → chunk-tg2cw67r.js} +6 -6
  151. package/dist/{chunk-f1zxad2t.js.map → chunk-tg2cw67r.js.map} +1 -1
  152. package/dist/{chunk-p844e0rn.js → chunk-tpn40322.js} +2 -2
  153. package/dist/{chunk-rt9p8m9t.js → chunk-v9xd5wzd.js} +1 -1
  154. package/dist/{chunk-6h5m9xjx.js → chunk-vpq4shxz.js} +49 -113
  155. package/dist/chunk-vpq4shxz.js.map +39 -0
  156. package/dist/{chunk-2vhg6ysa.js → chunk-vyf9kfqf.js} +1 -1
  157. package/dist/{chunk-bwjcehza.js → chunk-way52z4h.js} +1 -1
  158. package/dist/{chunk-qkvz64nd.js → chunk-x6m907x7.js} +3 -3
  159. package/dist/{chunk-yv9czyfr.js → chunk-xfs8x8m9.js} +5 -5
  160. package/dist/chunk-y0c4e6ex.js +16 -0
  161. package/dist/chunk-y0c4e6ex.js.map +10 -0
  162. package/dist/{chunk-v6xpd60t.js → chunk-yevzdx4y.js} +5 -5
  163. package/dist/{chunk-dfm066qg.js → chunk-yxd3nnqt.js} +2 -29
  164. package/dist/chunk-yxd3nnqt.js.map +11 -0
  165. package/dist/{chunk-70jmg2zx.js → chunk-yzwja0mj.js} +4 -19
  166. package/dist/{chunk-70jmg2zx.js.map → chunk-yzwja0mj.js.map} +3 -3
  167. package/dist/{chunk-qmnnhde6.js → chunk-z4m0yz8c.js} +1 -1
  168. package/dist/datasets/write.js +5 -5
  169. package/dist/deploy/index.d.ts +1 -1
  170. package/dist/deploy/index.d.ts.map +1 -1
  171. package/dist/deploy/internal.js +13 -10
  172. package/dist/deploy/internal.js.map +4 -4
  173. package/dist/deploy/services.d.ts +1 -2
  174. package/dist/deploy/services.d.ts.map +1 -1
  175. package/dist/deploy/types.d.ts +7 -7
  176. package/dist/deploy/types.d.ts.map +1 -1
  177. package/dist/deploy/validation.d.ts.map +1 -1
  178. package/dist/edits/index.js +3 -5
  179. package/dist/edits/index.js.map +1 -1
  180. package/dist/error-reporting/internal.js +3 -3
  181. package/dist/error-reporting/types.d.ts +2 -9
  182. package/dist/error-reporting/types.d.ts.map +1 -1
  183. package/dist/errors/catalog.d.ts +12 -0
  184. package/dist/errors/catalog.d.ts.map +1 -1
  185. package/dist/errors/internal.js +1 -1
  186. package/dist/events/definitions.d.ts +0 -5
  187. package/dist/events/definitions.d.ts.map +1 -1
  188. package/dist/events/index.d.ts +3 -3
  189. package/dist/events/index.d.ts.map +1 -1
  190. package/dist/events/index.js +6 -8
  191. package/dist/events/index.js.map +1 -1
  192. package/dist/events/scope.d.ts +0 -1
  193. package/dist/events/scope.d.ts.map +1 -1
  194. package/dist/events/scope.js +1 -1
  195. package/dist/events/selectors/builder.d.ts +1 -8
  196. package/dist/events/selectors/builder.d.ts.map +1 -1
  197. package/dist/events/selectors/index.d.ts +2 -2
  198. package/dist/events/selectors/index.d.ts.map +1 -1
  199. package/dist/events/selectors/index.js +2 -2
  200. package/dist/events/selectors/predicate.d.ts.map +1 -1
  201. package/dist/events/selectors/types.d.ts +2 -33
  202. package/dist/events/selectors/types.d.ts.map +1 -1
  203. package/dist/events/types/index.d.ts +1 -12
  204. package/dist/events/types/index.d.ts.map +1 -1
  205. package/dist/execution/agent.js +41 -44
  206. package/dist/execution/agent.js.map +1 -1
  207. package/dist/execution/authorization.d.ts.map +1 -1
  208. package/dist/execution/primitive.js +60 -91
  209. package/dist/execution/primitive.js.map +3 -4
  210. package/dist/execution/request.js +40 -43
  211. package/dist/execution/request.js.map +2 -2
  212. package/dist/index.d.ts +8 -8
  213. package/dist/index.d.ts.map +1 -1
  214. package/dist/index.js +105 -127
  215. package/dist/index.js.map +1 -1
  216. package/dist/lake-storage/index.js +5 -5
  217. package/dist/materialization/index.js +3 -3
  218. package/dist/materialization/index.js.map +1 -1
  219. package/dist/materialization/model.d.ts +19 -6
  220. package/dist/materialization/model.d.ts.map +1 -1
  221. package/dist/materializer/index.js +31 -31
  222. package/dist/materializer/index.js.map +1 -1
  223. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  224. package/dist/models/execution/index.js +21 -21
  225. package/dist/objects/action/errors.d.ts +0 -9
  226. package/dist/objects/action/errors.d.ts.map +1 -1
  227. package/dist/objects/action/index.d.ts +3 -3
  228. package/dist/objects/action/index.d.ts.map +1 -1
  229. package/dist/objects/action/request.d.ts +2 -8
  230. package/dist/objects/action/request.d.ts.map +1 -1
  231. package/dist/objects/execution.d.ts +0 -2
  232. package/dist/objects/execution.d.ts.map +1 -1
  233. package/dist/objects/index.js +44 -29
  234. package/dist/objects/index.js.map +1 -1
  235. package/dist/objects/query/index.js +29 -29
  236. package/dist/objects/query/index.js.map +1 -1
  237. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  238. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  239. package/dist/objects/service/index.d.ts +0 -1
  240. package/dist/objects/service/index.d.ts.map +1 -1
  241. package/dist/objects/vectors/handle.d.ts.map +1 -1
  242. package/dist/objects/vectors/profile.d.ts +5 -0
  243. package/dist/objects/vectors/profile.d.ts.map +1 -1
  244. package/dist/ontology/index.js +6 -6
  245. package/dist/ontology/index.js.map +1 -1
  246. package/dist/ontology/internal.js +2 -2
  247. package/dist/pipelines/index.js +28 -28
  248. package/dist/projections/internal.js +22 -22
  249. package/dist/projections/internal.js.map +1 -1
  250. package/dist/query.js +2 -2
  251. package/dist/queues/in-memory.d.ts +1 -2
  252. package/dist/queues/in-memory.d.ts.map +1 -1
  253. package/dist/queues/index.d.ts +1 -1
  254. package/dist/queues/index.d.ts.map +1 -1
  255. package/dist/queues/index.js +1 -1
  256. package/dist/queues/types.d.ts +0 -7
  257. package/dist/queues/types.d.ts.map +1 -1
  258. package/dist/runtime/host.d.ts.map +1 -1
  259. package/dist/runtime/internal.js +27 -28
  260. package/dist/runtime/internal.js.map +1 -1
  261. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  262. package/dist/runtime/types.d.ts +16 -36
  263. package/dist/runtime/types.d.ts.map +1 -1
  264. package/dist/sandboxes/index.js +5 -5
  265. package/dist/schedules/builders.d.ts.map +1 -1
  266. package/dist/schedules/index.js +3 -3
  267. package/dist/schedules/runtime.d.ts.map +1 -1
  268. package/dist/schedules/validation.d.ts +0 -1
  269. package/dist/schedules/validation.d.ts.map +1 -1
  270. package/dist/security/builders.d.ts.map +1 -1
  271. package/dist/security/every.d.ts +2 -5
  272. package/dist/security/every.d.ts.map +1 -1
  273. package/dist/security/grants.d.ts +2 -4
  274. package/dist/security/grants.d.ts.map +1 -1
  275. package/dist/security/index.d.ts +1 -2
  276. package/dist/security/index.d.ts.map +1 -1
  277. package/dist/security/membership-policies.d.ts.map +1 -1
  278. package/dist/security/public.d.ts +10 -0
  279. package/dist/security/public.d.ts.map +1 -0
  280. package/dist/security/public.js +10 -0
  281. package/dist/security/public.js.map +9 -0
  282. package/dist/security/registry.d.ts +0 -1
  283. package/dist/security/registry.d.ts.map +1 -1
  284. package/dist/security/types.d.ts +13 -18
  285. package/dist/security/types.d.ts.map +1 -1
  286. package/dist/security/validation.d.ts +0 -6
  287. package/dist/security/validation.d.ts.map +1 -1
  288. package/dist/shares/internal.js +20 -20
  289. package/dist/storage/action-runs/failure.js +2 -2
  290. package/dist/storage/action-runs/idempotency.d.ts +3 -4
  291. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  292. package/dist/storage/action-runs/in-memory.d.ts +2 -9
  293. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  294. package/dist/storage/action-runs/index.d.ts +1 -3
  295. package/dist/storage/action-runs/index.d.ts.map +1 -1
  296. package/dist/storage/action-runs/provider.js +1 -1
  297. package/dist/storage/action-runs/record.d.ts +20 -0
  298. package/dist/storage/action-runs/record.d.ts.map +1 -0
  299. package/dist/storage/action-runs/types.d.ts +39 -68
  300. package/dist/storage/action-runs/types.d.ts.map +1 -1
  301. package/dist/storage/agents/types.d.ts +1 -1
  302. package/dist/storage/ai-limits/enforcement.js +2 -2
  303. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  304. package/dist/storage/auth/in-memory/magic-links.d.ts.map +1 -1
  305. package/dist/storage/auth/in-memory/oidc-attempts.d.ts.map +1 -1
  306. package/dist/storage/auth/in-memory/sessions.d.ts +0 -10
  307. package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
  308. package/dist/storage/auth/in-memory/shared.d.ts +1 -2
  309. package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
  310. package/dist/storage/auth/types.d.ts +1 -17
  311. package/dist/storage/auth/types.d.ts.map +1 -1
  312. package/dist/storage/connector-connections/provider.js +1 -1
  313. package/dist/storage/file-upload-sessions/provider.js +10 -10
  314. package/dist/storage/index.d.ts +2 -2
  315. package/dist/storage/index.d.ts.map +1 -1
  316. package/dist/storage/index.js +21 -22
  317. package/dist/storage/index.js.map +1 -1
  318. package/dist/storage/internal.d.ts +1 -1
  319. package/dist/storage/internal.d.ts.map +1 -1
  320. package/dist/storage/internal.js +9 -12
  321. package/dist/storage/internal.js.map +1 -1
  322. package/dist/storage/objects/execution-limits.d.ts +1 -1
  323. package/dist/storage/objects/execution-limits.d.ts.map +1 -1
  324. package/dist/storage/ontology/provider.js +2 -2
  325. package/dist/storage/projection-runs/provider.js +2 -2
  326. package/dist/storage/types.d.ts +1 -1
  327. package/dist/storage/types.d.ts.map +1 -1
  328. package/dist/storage/workflow-runs/provider.js +10 -10
  329. package/dist/syncs/index.js +29 -29
  330. package/dist/testing/action-execution.d.ts +34 -4
  331. package/dist/testing/action-execution.d.ts.map +1 -1
  332. package/dist/testing/action-run-storage-contract.d.ts +11 -0
  333. package/dist/testing/action-run-storage-contract.d.ts.map +1 -0
  334. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  335. package/dist/testing/index.d.ts +2 -1
  336. package/dist/testing/index.d.ts.map +1 -1
  337. package/dist/testing/index.js +3205 -2946
  338. package/dist/testing/index.js.map +9 -8
  339. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  340. package/dist/testing/queues-contract.d.ts.map +1 -1
  341. package/dist/webhooks/internal.js +26 -26
  342. package/dist/webhooks/internal.js.map +1 -1
  343. package/dist/workers/index.js +1 -1
  344. package/dist/workflows/index.js +48 -51
  345. package/dist/workflows/index.js.map +1 -1
  346. package/package.json +8 -8
  347. package/src/actions/commit-edits.ts +9 -37
  348. package/src/actions/errors.ts +0 -4
  349. package/src/actions/execution.ts +10 -10
  350. package/src/actions/index.ts +5 -24
  351. package/src/actions/request.ts +157 -295
  352. package/src/actions/run/context.ts +193 -0
  353. package/src/actions/run/edits-commit.ts +102 -0
  354. package/src/actions/run/effects.ts +105 -0
  355. package/src/actions/run/execute.ts +113 -0
  356. package/src/actions/run/executor.ts +314 -0
  357. package/src/actions/run/normalize.ts +142 -0
  358. package/src/actions/run/phase-types.ts +20 -0
  359. package/src/actions/run/phases.ts +150 -0
  360. package/src/actions/run/run-action.ts +170 -0
  361. package/src/actions/run/signals.ts +118 -0
  362. package/src/actions/run/state.ts +95 -0
  363. package/src/actions/run/types.ts +61 -0
  364. package/src/actions/run/writeback.ts +79 -0
  365. package/src/actions/run-authorization.ts +1 -1
  366. package/src/actions/run-persistence.ts +105 -0
  367. package/src/actions/types/context.ts +10 -0
  368. package/src/auth/cookies.ts +3 -20
  369. package/src/auth/index.ts +0 -6
  370. package/src/auth/runtime.ts +59 -76
  371. package/src/auth/session-cache.ts +2 -9
  372. package/src/auth/types.ts +4 -8
  373. package/src/auth/validation.ts +0 -2
  374. package/src/authorization/decision.ts +8 -23
  375. package/src/authorization/event-visibility.ts +0 -12
  376. package/src/authorization/grant-kinds.ts +20 -27
  377. package/src/authorization/index.ts +0 -1
  378. package/src/authorization/resolve.ts +10 -6
  379. package/src/deploy/index.ts +0 -1
  380. package/src/deploy/services.ts +2 -12
  381. package/src/deploy/types.ts +7 -8
  382. package/src/deploy/validation.ts +15 -7
  383. package/src/error-reporting/types.ts +2 -10
  384. package/src/errors/catalog.ts +13 -0
  385. package/src/events/definitions.ts +0 -17
  386. package/src/events/index.ts +0 -14
  387. package/src/events/scope.ts +0 -12
  388. package/src/events/selectors/builder.ts +0 -51
  389. package/src/events/selectors/index.ts +0 -6
  390. package/src/events/selectors/predicate.ts +0 -2
  391. package/src/events/selectors/types.ts +7 -65
  392. package/src/events/types/index.ts +0 -11
  393. package/src/execution/authorization.ts +11 -5
  394. package/src/index.ts +2 -33
  395. package/src/materialization/model.ts +26 -9
  396. package/src/materializer/README.md +6 -1
  397. package/src/materializer/edits/commit.ts +42 -32
  398. package/src/materializer/shared/normalize.ts +25 -14
  399. package/src/models/execution/embedding.ts +6 -6
  400. package/src/objects/action/errors.ts +0 -12
  401. package/src/objects/action/index.ts +3 -3
  402. package/src/objects/action/request.ts +2 -29
  403. package/src/objects/execution.ts +2 -2
  404. package/src/objects/sdk/object-handle.ts +3 -29
  405. package/src/objects/sdk/object-set.ts +5 -30
  406. package/src/objects/service/index.ts +0 -1
  407. package/src/objects/vectors/README.md +4 -0
  408. package/src/objects/vectors/handle.ts +11 -2
  409. package/src/objects/vectors/indexing-generate.ts +2 -2
  410. package/src/objects/vectors/profile.ts +5 -0
  411. package/src/queues/in-memory.ts +0 -6
  412. package/src/queues/index.ts +0 -2
  413. package/src/queues/types.ts +0 -11
  414. package/src/runtime/host.ts +5 -0
  415. package/src/runtime/resolve-definitions.ts +0 -1
  416. package/src/runtime/types.ts +16 -45
  417. package/src/schedules/builders.ts +1 -4
  418. package/src/schedules/runtime.ts +0 -41
  419. package/src/schedules/validation.ts +2 -16
  420. package/src/security/builders.ts +7 -2
  421. package/src/security/every.ts +1 -5
  422. package/src/security/grants.ts +5 -25
  423. package/src/security/index.ts +0 -3
  424. package/src/security/membership-policies.ts +3 -1
  425. package/src/security/public.ts +10 -0
  426. package/src/security/registry.ts +0 -8
  427. package/src/security/types.ts +19 -25
  428. package/src/security/validation.ts +19 -17
  429. package/src/storage/action-runs/idempotency.ts +13 -41
  430. package/src/storage/action-runs/in-memory.ts +20 -311
  431. package/src/storage/action-runs/index.ts +1 -16
  432. package/src/storage/action-runs/record.ts +130 -0
  433. package/src/storage/action-runs/types.ts +37 -92
  434. package/src/storage/agents/types.ts +1 -1
  435. package/src/storage/auth/in-memory/auth-storage.ts +0 -18
  436. package/src/storage/auth/in-memory/magic-links.ts +0 -3
  437. package/src/storage/auth/in-memory/oidc-attempts.ts +0 -3
  438. package/src/storage/auth/in-memory/sessions.ts +1 -25
  439. package/src/storage/auth/in-memory/shared.ts +1 -10
  440. package/src/storage/auth/types.ts +2 -18
  441. package/src/storage/index.ts +1 -9
  442. package/src/storage/internal.ts +1 -7
  443. package/src/storage/objects/execution-limits.ts +3 -2
  444. package/src/storage/types.ts +2 -4
  445. package/src/testing/action-execution.ts +73 -13
  446. package/src/testing/action-run-storage-contract.ts +335 -0
  447. package/src/testing/auth-storage-contract.ts +14 -107
  448. package/src/testing/execution-storage-contract.ts +0 -2
  449. package/src/testing/index.ts +8 -1
  450. package/src/testing/materializer-storage-contract.ts +174 -18
  451. package/src/testing/queues-contract.ts +0 -18
  452. package/dist/actions/run-dispatch.d.ts +0 -25
  453. package/dist/actions/run-dispatch.d.ts.map +0 -1
  454. package/dist/actions/worker.d.ts +0 -3
  455. package/dist/actions/worker.d.ts.map +0 -1
  456. package/dist/actions/worker.js +0 -325
  457. package/dist/actions/worker.js.map +0 -11
  458. package/dist/auth/audience.d.ts +0 -8
  459. package/dist/auth/audience.d.ts.map +0 -1
  460. package/dist/authorization/application-access.d.ts +0 -18
  461. package/dist/authorization/application-access.d.ts.map +0 -1
  462. package/dist/chunk-1hqwggsn.js.map +0 -12
  463. package/dist/chunk-2jntasmh.js.map +0 -13
  464. package/dist/chunk-6h5m9xjx.js.map +0 -40
  465. package/dist/chunk-85cd7e8c.js +0 -51
  466. package/dist/chunk-85cd7e8c.js.map +0 -10
  467. package/dist/chunk-de4z2bj6.js.map +0 -18
  468. package/dist/chunk-dfm066qg.js.map +0 -11
  469. package/dist/chunk-enpsx8k5.js.map +0 -10
  470. package/dist/chunk-fc5zfxy1.js.map +0 -11
  471. package/dist/chunk-fe52eczz.js.map +0 -49
  472. package/dist/chunk-fx93hd2n.js +0 -1614
  473. package/dist/chunk-fx93hd2n.js.map +0 -20
  474. package/dist/chunk-k6hrnf35.js.map +0 -10
  475. package/dist/chunk-qkbx3tf6.js.map +0 -24
  476. package/dist/chunk-qxvp5epv.js +0 -1329
  477. package/dist/chunk-qxvp5epv.js.map +0 -36
  478. package/dist/chunk-r2y23egw.js.map +0 -10
  479. package/dist/chunk-tffvfy6s.js +0 -593
  480. package/dist/chunk-tffvfy6s.js.map +0 -15
  481. package/dist/chunk-xt1zt7gv.js.map +0 -13
  482. package/dist/chunk-y2aq6ag9.js.map +0 -11
  483. package/dist/chunk-y9jmd7e5.js.map +0 -15
  484. package/dist/chunk-zvx7h87b.js +0 -12
  485. package/dist/chunk-zvx7h87b.js.map +0 -10
  486. package/dist/events/types/actions.d.ts +0 -39
  487. package/dist/events/types/actions.d.ts.map +0 -1
  488. package/dist/objects/service/action-service.d.ts +0 -13
  489. package/dist/objects/service/action-service.d.ts.map +0 -1
  490. package/dist/security/applications.d.ts +0 -15
  491. package/dist/security/applications.d.ts.map +0 -1
  492. package/src/actions/run-dispatch.ts +0 -282
  493. package/src/actions/worker.ts +0 -2
  494. package/src/auth/audience.ts +0 -28
  495. package/src/authorization/application-access.ts +0 -34
  496. package/src/events/types/actions.ts +0 -42
  497. package/src/objects/service/action-service.ts +0 -43
  498. package/src/security/applications.ts +0 -11
  499. /package/dist/{chunk-rz53yb4v.js.map → chunk-0yh890a4.js.map} +0 -0
  500. /package/dist/{chunk-vgk3hknm.js.map → chunk-1k89ecfr.js.map} +0 -0
  501. /package/dist/{chunk-ny3xyvcn.js.map → chunk-1zq2p6g0.js.map} +0 -0
  502. /package/dist/{chunk-dnmadg9k.js.map → chunk-3t2hgbgd.js.map} +0 -0
  503. /package/dist/{chunk-22v5bpz3.js.map → chunk-5e43w60z.js.map} +0 -0
  504. /package/dist/{chunk-7hpdd6r9.js.map → chunk-6p49a5cq.js.map} +0 -0
  505. /package/dist/{chunk-kkqwzy6h.js.map → chunk-7t429e3f.js.map} +0 -0
  506. /package/dist/{chunk-ex496vct.js.map → chunk-9dmt152s.js.map} +0 -0
  507. /package/dist/{chunk-48e3cn2d.js.map → chunk-9gyp8hg1.js.map} +0 -0
  508. /package/dist/{chunk-zxawp1n2.js.map → chunk-9w055r5b.js.map} +0 -0
  509. /package/dist/{chunk-4wn7bxxa.js.map → chunk-9ybhtmg4.js.map} +0 -0
  510. /package/dist/{chunk-vx2yp45y.js.map → chunk-c85m1hyj.js.map} +0 -0
  511. /package/dist/{chunk-bs7sqkre.js.map → chunk-d09tj99x.js.map} +0 -0
  512. /package/dist/{chunk-zb77kjth.js.map → chunk-dk8tkk5f.js.map} +0 -0
  513. /package/dist/{chunk-vjcd8d27.js.map → chunk-fa02jy15.js.map} +0 -0
  514. /package/dist/{chunk-za5yd58j.js.map → chunk-fkgc1wt8.js.map} +0 -0
  515. /package/dist/{chunk-6gmfggss.js.map → chunk-t7x8dmn0.js.map} +0 -0
  516. /package/dist/{chunk-p844e0rn.js.map → chunk-tpn40322.js.map} +0 -0
  517. /package/dist/{chunk-rt9p8m9t.js.map → chunk-v9xd5wzd.js.map} +0 -0
  518. /package/dist/{chunk-2vhg6ysa.js.map → chunk-vyf9kfqf.js.map} +0 -0
  519. /package/dist/{chunk-bwjcehza.js.map → chunk-way52z4h.js.map} +0 -0
  520. /package/dist/{chunk-qkvz64nd.js.map → chunk-x6m907x7.js.map} +0 -0
  521. /package/dist/{chunk-yv9czyfr.js.map → chunk-xfs8x8m9.js.map} +0 -0
  522. /package/dist/{chunk-v6xpd60t.js.map → chunk-yevzdx4y.js.map} +0 -0
  523. /package/dist/{chunk-qmnnhde6.js.map → chunk-z4m0yz8c.js.map} +0 -0
@@ -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
  }
@@ -7,43 +7,43 @@ import {
7
7
  anyPredicates,
8
8
  notPredicate,
9
9
  isScheduleDefinition2
10
- } from "./chunk-e1c18xjx.js";
10
+ } from "./chunk-nq6gpjt7.js";
11
11
  import {
12
12
  isActionDefinition2,
13
13
  ShareDefinitionError2,
14
14
  isShareDefinition,
15
15
  snapshotShareDefinition
16
- } from "./chunk-6h5m9xjx.js";
16
+ } from "./chunk-vpq4shxz.js";
17
17
  import {
18
18
  isProjectionDefinition2
19
- } from "./chunk-qkbx3tf6.js";
19
+ } from "./chunk-d0bqz29d.js";
20
20
  import {
21
21
  isMarkingDefinition,
22
22
  isGroupDefinition,
23
23
  isMembershipPolicyDefinition,
24
24
  isRoleDefinition
25
- } from "./chunk-xt1zt7gv.js";
25
+ } from "./chunk-es1gxsbf.js";
26
+ import {
27
+ isWorkflowDefinition2
28
+ } from "./chunk-6c6sn0bh.js";
26
29
  import {
27
30
  isDatasetDefinition2
28
- } from "./chunk-rz53yb4v.js";
31
+ } from "./chunk-0yh890a4.js";
29
32
  import {
30
33
  isPipelineDefinition2
31
- } from "./chunk-qkvz64nd.js";
34
+ } from "./chunk-x6m907x7.js";
32
35
  import {
33
36
  isSyncDefinition2
34
- } from "./chunk-zb77kjth.js";
35
- import {
36
- isWorkflowDefinition2
37
- } from "./chunk-fe52eczz.js";
37
+ } from "./chunk-dk8tkk5f.js";
38
38
  import {
39
39
  compileShareAccessPlan
40
- } from "./chunk-za5yd58j.js";
41
- import {
42
- isConnectorDefinition
43
- } from "./chunk-9x8dybsb.js";
40
+ } from "./chunk-fkgc1wt8.js";
44
41
  import {
45
42
  RuntimeError2
46
43
  } from "./chunk-m4ehq95f.js";
44
+ import {
45
+ isConnectorDefinition
46
+ } from "./chunk-9x8dybsb.js";
47
47
 
48
48
  // src/bootstrap/agent-context.ts
49
49
  import { lstat, readdir, readFile, stat } from "fs/promises";
@@ -728,4 +728,4 @@ function isValueType(value) {
728
728
 
729
729
  export { isAgentContextPath2, discoverOntologyFiles, discoverAgentSkills, discoverProjectInstructions, RuleValidationError2, isRuleDefinition2, validateRulesAtStartup, defineRule2, validateSharesAtStartup, discoverOntologySources, withProjectModules2, listProjectModules2, discoverProjectDefinitions2, listOntologyModuleFiles };
730
730
 
731
- //# debugId=C7F7E1BCFC5009D864756E2164756E21
731
+ //# debugId=00874CD151BEF6AC64756E2164756E21
@@ -10,6 +10,6 @@
10
10
  "/**\n * Filesystem auto-discovery for convention-based module loading.\n *\n * Scans well-known definition directories (`ontology/`, `actions/`, etc.)\n * relative to a project root and returns typed definition arrays ready\n * for the `Sixb` constructor.\n */\n\nimport { AsyncLocalStorage } from \"node:async_hooks\"\nimport { readdir } from \"node:fs/promises\"\nimport { join, relative, resolve, sep } from \"node:path\"\nimport { pathToFileURL } from \"node:url\"\nimport { isActionDefinition } from \"../actions\"\nimport { isConnectorDefinition } from \"../connectors\"\nimport { isDatasetDefinition } from \"../datasets\"\nimport type { OntologyDocumentInput, OntologySource } from \"../ontology/registry\"\nimport type { ObjectTypeWithPropertyTokens } from \"../ontology/tokens\"\nimport type { ValueType } from \"../ontology/types\"\nimport { isPipelineDefinition } from \"../pipelines\"\nimport { isProjectionDefinition } from \"../projections/builders\"\nimport { isRuleDefinition } from \"../rules\"\nimport { RuntimeError } from \"../runtime/errors\"\nimport { isScheduleDefinition } from \"../schedules\"\nimport {\n isGroupDefinition,\n isMarkingDefinition,\n isMembershipPolicyDefinition,\n isRoleDefinition,\n} from \"../security\"\nimport { isShareDefinition } from \"../shares\"\nimport { isSyncDefinition } from \"../syncs\"\nimport { isWorkflowDefinition } from \"../workflows\"\nimport { isOntologyScriptsDirectory } from \"./agent-context\"\n\nconst moduleExtensions = new Set([\".ts\", \".tsx\", \".js\", \".jsx\", \".mjs\", \".cjs\"])\n\n/** An `ontology/` module and the object types it exports, directly or re-exported. */\nexport interface DiscoveredOntologyModule {\n /** POSIX path relative to `ontology/`. */\n readonly path: string\n readonly objectTypeIds: readonly string[]\n}\n\nexport interface DiscoveredOntology {\n readonly sources: readonly OntologySource[]\n readonly modules: readonly DiscoveredOntologyModule[]\n}\n\nexport async function discoverOntologySources(projectRoot: string): Promise<DiscoveredOntology> {\n const loadedModules = await loadFamilyModules(projectRoot, \"ontology\", [\"ontology\"])\n\n const ontologyDocuments: OntologyDocumentInput[] = []\n const objectTypes: ObjectTypeWithPropertyTokens[] = []\n const valueTypes: ValueType[] = []\n const modules: DiscoveredOntologyModule[] = []\n const seen = new Set<unknown>()\n\n for (const loaded of loadedModules) {\n const objectTypeIds: string[] = []\n for (const candidate of loaded.exports) {\n const first = !seen.has(candidate)\n seen.add(candidate)\n\n if (isOntologyDocumentInput(candidate)) {\n objectTypeIds.push(...candidate.objectTypes.map((objectType) => objectType.id))\n if (first) ontologyDocuments.push(candidate)\n continue\n }\n\n if (isObjectTypeWithPropertyTokens(candidate)) {\n objectTypeIds.push(candidate.id)\n if (first) objectTypes.push(candidate)\n continue\n }\n\n if (isValueType(candidate) && first) {\n valueTypes.push(candidate)\n }\n }\n modules.push({\n path: toPosix(relative(\"ontology\", loaded.path)),\n objectTypeIds: [...new Set(objectTypeIds)],\n })\n }\n\n const discoveredSources: OntologySource[] = [...ontologyDocuments, ...objectTypes]\n if (valueTypes.length > 0) {\n discoveredSources.push({\n id: \"__sixb.discovered.value-types__\",\n version: \"0.0.0\",\n objectTypes: [],\n valueTypes,\n })\n }\n\n return { sources: discoveredSources, modules }\n}\n\nexport type DiscoveryModuleKind =\n | \"action\"\n | \"connector\"\n | \"dataset\"\n | \"group\"\n | \"marking\"\n | \"membershipPolicy\"\n | \"ontology\"\n | \"pipeline\"\n | \"projection\"\n | \"role\"\n | \"rule\"\n | \"schedule\"\n | \"share\"\n | \"sync\"\n | \"workflow\"\n\n/** Build-time inventory; paths are relative to the source project root. */\nexport interface ProjectModule {\n readonly path: string\n readonly kind: DiscoveryModuleKind\n}\n\n/** Literal imports generated by the CLI put discovery and config in the same bundle graph. */\nexport interface BundledProjectModule extends ProjectModule {\n readonly load: () => Promise<Record<string, unknown>>\n}\n\nconst bundledProject = new AsyncLocalStorage<{\n readonly projectRoot: string\n readonly modules: readonly BundledProjectModule[]\n}>()\n\n/** Scope both config evaluation and deferred config factories without process-global state. */\nexport function withProjectModules<T>(\n projectRoot: string,\n modules: readonly BundledProjectModule[],\n run: () => T\n): T {\n return bundledProject.run({ projectRoot: resolve(projectRoot), modules }, run)\n}\n\ninterface DefinitionDiscoveryFamily<TDefinition> {\n readonly directory: readonly string[]\n readonly kind: Exclude<DiscoveryModuleKind, \"ontology\">\n readonly isDefinition: (value: unknown) => value is TDefinition\n}\n\nconst definitionDiscoveryRegistry = {\n actions: { directory: [\"actions\"], kind: \"action\", isDefinition: isActionDefinition },\n projections: {\n directory: [\"projections\"],\n kind: \"projection\",\n isDefinition: isProjectionDefinition,\n },\n schedules: {\n directory: [\"schedules\"],\n kind: \"schedule\",\n isDefinition: isScheduleDefinition,\n },\n syncs: { directory: [\"syncs\"], kind: \"sync\", isDefinition: isSyncDefinition },\n connectors: {\n directory: [\"connectors\"],\n kind: \"connector\",\n isDefinition: isConnectorDefinition,\n },\n pipelines: {\n directory: [\"pipelines\"],\n kind: \"pipeline\",\n isDefinition: isPipelineDefinition,\n },\n datasets: { directory: [\"datasets\"], kind: \"dataset\", isDefinition: isDatasetDefinition },\n rules: { directory: [\"rules\"], kind: \"rule\", isDefinition: isRuleDefinition },\n workflows: {\n directory: [\"workflows\"],\n kind: \"workflow\",\n isDefinition: isWorkflowDefinition,\n },\n markings: {\n directory: [\"security\", \"markings\"],\n kind: \"marking\",\n isDefinition: isMarkingDefinition,\n },\n groups: {\n directory: [\"security\", \"groups\"],\n kind: \"group\",\n isDefinition: isGroupDefinition,\n },\n roles: {\n directory: [\"security\", \"roles\"],\n kind: \"role\",\n isDefinition: isRoleDefinition,\n },\n membershipPolicies: {\n directory: [\"security\", \"policies\"],\n kind: \"membershipPolicy\",\n isDefinition: isMembershipPolicyDefinition,\n },\n shares: { directory: [\"shares\"], kind: \"share\", isDefinition: isShareDefinition },\n} as const satisfies Record<string, DefinitionDiscoveryFamily<unknown>>\n\n/** Inventory every discovery family without evaluating project code. */\nexport async function listProjectModules(projectRoot: string): Promise<readonly ProjectModule[]> {\n const families = [\n { kind: \"ontology\" as const, directory: [\"ontology\"] },\n ...Object.values(definitionDiscoveryRegistry),\n ]\n return (\n await Promise.all(\n families.map(({ kind, directory }) => listFamilyModules(projectRoot, kind, directory))\n )\n ).flat()\n}\n\ntype DefinitionFromFamily<TFamily> =\n TFamily extends DefinitionDiscoveryFamily<infer TDefinition> ? TDefinition : never\n\nexport type DiscoveredProjectDefinitions = {\n readonly [TKey in keyof typeof definitionDiscoveryRegistry]: readonly DefinitionFromFamily<\n (typeof definitionDiscoveryRegistry)[TKey]\n >[]\n}\n\nexport async function discoverProjectDefinitions(\n projectRoot: string\n): Promise<DiscoveredProjectDefinitions> {\n const entries = await Promise.all(\n Object.entries(definitionDiscoveryRegistry).map(async ([key, family]) => {\n const definitions = await discoverDefinitionFamily(projectRoot, family)\n return [key, definitions] as const\n })\n )\n\n // Object.fromEntries erases literal keys. Every entry above comes from the exact registry and its\n // definitions have passed that entry's type guard, so restoring the mapped result type is safe.\n return Object.fromEntries(entries) as DiscoveredProjectDefinitions\n}\n\nasync function discoverDefinitionFamily(\n projectRoot: string,\n family: DefinitionDiscoveryFamily<unknown>\n): Promise<readonly unknown[]> {\n const loadedModules = await loadFamilyModules(projectRoot, family.kind, family.directory)\n const exportedCandidates = new Set(loadedModules.flatMap((loaded) => loaded.exports))\n\n return [...exportedCandidates].filter(family.isDefinition)\n}\n\n/**\n * Every module file of the `ontology/` family, as absolute paths. `scripts/` directories hold the\n * Agent's ontology scripts, not definitions, so they are never imported.\n */\nexport function listOntologyModuleFiles(projectRoot: string): Promise<string[]> {\n return listModuleFiles(join(projectRoot, \"ontology\"), isOntologyScriptsDirectory)\n}\n\n// ── Internal helpers ────────────────────────────────────────\n\nasync function listFamilyModules(\n projectRoot: string,\n kind: DiscoveryModuleKind,\n directory: readonly string[]\n): Promise<ProjectModule[]> {\n const paths =\n kind === \"ontology\"\n ? await listOntologyModuleFiles(projectRoot)\n : await listModuleFiles(join(projectRoot, ...directory))\n return paths.map((path) => ({ kind, path: relative(projectRoot, path) }))\n}\n\ninterface LoadedProjectModule {\n /** Relative to the project root. */\n readonly path: string\n readonly exports: readonly unknown[]\n}\n\nasync function loadFamilyModules(\n projectRoot: string,\n kind: DiscoveryModuleKind,\n directory: readonly string[]\n): Promise<LoadedProjectModule[]> {\n const project = bundledProject.getStore()\n if (project) {\n if (resolve(projectRoot) !== project.projectRoot) {\n throw new RuntimeError(\n `Built project discovery is scoped to '${project.projectRoot}', not '${projectRoot}'. ` +\n \"Run the built entry from the project root and use that root in createSixb().\"\n )\n }\n return loadModules(project.modules.filter((module) => module.kind === kind))\n }\n\n const modules = await listFamilyModules(projectRoot, kind, directory)\n return loadModules(\n modules.map((module) => ({\n ...module,\n load: () => import(pathToFileURL(resolve(projectRoot, module.path)).href),\n }))\n )\n}\n\nasync function loadModules(\n modules: readonly BundledProjectModule[]\n): Promise<LoadedProjectModule[]> {\n const loaded: LoadedProjectModule[] = []\n\n for (const module of modules) {\n let moduleNamespace: Record<string, unknown>\n try {\n moduleNamespace = await module.load()\n } catch (error) {\n const reason = error instanceof Error ? error.message : String(error)\n throw new RuntimeError(`Failed to load ${module.kind} module '${module.path}': ${reason}`)\n }\n\n const exportedCandidates: unknown[] = []\n const seen = new Set<unknown>()\n for (const exportedValue of Object.values(moduleNamespace)) {\n collectExportedCandidates(exportedValue, exportedCandidates, seen)\n }\n loaded.push({ path: module.path, exports: exportedCandidates })\n }\n\n return loaded\n}\n\nfunction collectExportedCandidates(value: unknown, target: unknown[], seen: Set<unknown>): void {\n if (Array.isArray(value)) {\n for (const item of value) {\n collectExportedCandidates(item, target, seen)\n }\n return\n }\n\n if (value === undefined) {\n return\n }\n\n if ((typeof value === \"object\" && value !== null) || typeof value === \"function\") {\n if (seen.has(value)) {\n return\n }\n seen.add(value)\n }\n\n target.push(value)\n}\n\nasync function listModuleFiles(\n dir: string,\n skipDirectory: (name: string) => boolean = () => false\n): Promise<string[]> {\n let entries: import(\"node:fs\").Dirent[]\n try {\n entries = (await readdir(dir, { withFileTypes: true })) as import(\"node:fs\").Dirent[]\n } catch (error) {\n if (isNotFoundError(error)) {\n return []\n }\n throw error\n }\n\n const files: string[] = []\n const sortedEntries = [...entries].sort((a, b) => a.name.localeCompare(b.name))\n\n for (const entry of sortedEntries) {\n const fullPath = join(dir, entry.name)\n if (entry.isDirectory()) {\n if (!skipDirectory(entry.name)) {\n files.push(...(await listModuleFiles(fullPath, skipDirectory)))\n }\n continue\n }\n\n if (!entry.isFile()) {\n continue\n }\n\n if (!hasSupportedModuleExtension(entry.name)) {\n continue\n }\n\n files.push(fullPath)\n }\n\n return files\n}\n\nfunction isNotFoundError(error: unknown): boolean {\n if (!(error instanceof Error)) {\n return false\n }\n\n const code = (error as NodeJS.ErrnoException).code\n return code === \"ENOENT\" || code === \"ENOTDIR\"\n}\n\nfunction hasSupportedModuleExtension(fileName: string): boolean {\n const normalized = fileName.toLowerCase()\n for (const extension of moduleExtensions) {\n if (normalized.endsWith(extension)) {\n return true\n }\n }\n return false\n}\n\nfunction toPosix(path: string): string {\n return path.split(sep).join(\"/\")\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nfunction isOntologyDocumentInput(value: unknown): value is OntologyDocumentInput {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n typeof value.version === \"string\" &&\n Array.isArray(value.objectTypes)\n )\n}\n\nfunction isObjectTypeWithPropertyTokens(value: unknown): value is ObjectTypeWithPropertyTokens {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n Array.isArray(value.properties) &&\n Array.isArray(value.links) &&\n isRecord(value.p)\n )\n}\n\nfunction isValueType(value: unknown): value is ValueType {\n if (!isRecord(value)) {\n return false\n }\n\n return (\n typeof value.id === \"string\" &&\n typeof value.name === \"string\" &&\n \"schema\" in value &&\n !Array.isArray(value.properties) &&\n !Array.isArray(value.objectTypes)\n )\n}\n"
11
11
  ],
12
12
  "mappings": "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",
13
- "debugId": "C7F7E1BCFC5009D864756E2164756E21",
13
+ "debugId": "00874CD151BEF6AC64756E2164756E21",
14
14
  "names": []
15
15
  }
@@ -3,15 +3,15 @@ import {
3
3
  AuthStorageError2,
4
4
  SYSTEM_PRINCIPAL2,
5
5
  principalsEqual2
6
- } from "./chunk-6h5m9xjx.js";
6
+ } from "./chunk-vpq4shxz.js";
7
7
  import {
8
8
  createSixbError2
9
- } from "./chunk-6fsr7y93.js";
9
+ } from "./chunk-8mx7qw3y.js";
10
10
  import {
11
11
  agentServiceAccountId2,
12
12
  AuthorizationError2,
13
13
  resolveAuthorizationContext2
14
- } from "./chunk-qkbx3tf6.js";
14
+ } from "./chunk-d0bqz29d.js";
15
15
  import {
16
16
  findPrimitiveRunExecution,
17
17
  findAgentRunExecution
@@ -415,6 +415,6 @@ function invalidExecution(executionId, runId) {
415
415
  throw new WorkflowRunError2(`[Sixb] Execution '${executionId}' does not authorize workflow run '${runId}'.`);
416
416
  }
417
417
 
418
- export { WorkflowRunError2, missingClearanceRedactions, resolvePropertyClearance, redactObjectRow, redactDomainEvent, createClearanceQueryAdmission, resolveAgentPropertyClearance2, ensureManagedAgentExecutionIdentity2, resolveAgentExecutionAuthorization2, resolveInheritedAgentExecutionAuthorization2, assertWorkflowRunExecution2, assertWorkflowAgentNodeRunExecution2 };
418
+ export { missingClearanceRedactions, resolvePropertyClearance, redactObjectRow, redactDomainEvent, createClearanceQueryAdmission, WorkflowRunError2, resolveAgentPropertyClearance2, ensureManagedAgentExecutionIdentity2, resolveAgentExecutionAuthorization2, resolveInheritedAgentExecutionAuthorization2, assertWorkflowRunExecution2, assertWorkflowAgentNodeRunExecution2 };
419
419
 
420
- //# debugId=D9BE414225D935D664756E2164756E21
420
+ //# debugId=86420060B98AACE864756E2164756E21
@@ -9,6 +9,6 @@
9
9
  "import { agentServiceAccountId } from \"../../agents/authority\"\nimport type { ExecutionStorage } from \"../executions\"\nimport { findAgentRunExecution, findPrimitiveRunExecution } from \"../executions/run-link\"\nimport { WorkflowRunError } from \"./errors\"\n\n/** Validate the semantic link between a durable workflow run and its immutable execution. */\nexport async function assertWorkflowRunExecution(input: {\n readonly executions: ExecutionStorage\n readonly projectId: string\n readonly executionId: string\n readonly runId: string\n readonly workflowId: string\n}): Promise<void> {\n const execution = await findPrimitiveRunExecution({\n executions: input.executions,\n projectId: input.projectId,\n executionId: input.executionId,\n primitive: { kind: \"workflow\", id: input.workflowId, runId: input.runId },\n sourceTypes: [\"execution\", \"schedule\", \"event\"],\n })\n if (!execution) {\n invalidExecution(input.executionId, input.runId)\n }\n\n if (execution.source.type === \"schedule\" || execution.source.type === \"event\") {\n if (execution.requestedBy !== undefined) {\n invalidExecution(input.executionId, input.runId)\n }\n return\n }\n\n // ExecutionStorage already validates the immutable parent reference, correlation id, and\n // requested-by propagation. This boundary only owns the workflow-specific source restriction.\n if (execution.source.type !== \"execution\") {\n invalidExecution(input.executionId, input.runId)\n }\n}\n\n/** Validate the semantic link between a Workflow Agent-node run and its child execution. */\nexport async function assertWorkflowAgentNodeRunExecution(input: {\n readonly executions: ExecutionStorage\n readonly projectId: string\n readonly executionId: string\n readonly nodeRunId: string\n readonly actorId: string\n readonly workflowExecutionId: string\n}): Promise<void> {\n const execution = await findAgentRunExecution({\n executions: input.executions,\n projectId: input.projectId,\n executionId: input.executionId,\n runId: input.nodeRunId,\n authority: { type: \"managed\", serviceAccountId: agentServiceAccountId(input.actorId) },\n })\n if (\n !execution ||\n execution.source.type !== \"execution\" ||\n execution.source.executionId !== input.workflowExecutionId\n ) {\n throw new WorkflowRunError(\n `[Sixb] Execution '${input.executionId}' does not authorize Workflow Agent-node run '${input.nodeRunId}'.`\n )\n }\n}\n\nfunction invalidExecution(executionId: string, runId: string): never {\n throw new WorkflowRunError(\n `[Sixb] Execution '${executionId}' does not authorize workflow run '${runId}'.`\n )\n}\n"
10
10
  ],
11
11
  "mappings": "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",
12
- "debugId": "D9BE414225D935D664756E2164756E21",
12
+ "debugId": "86420060B98AACE864756E2164756E21",
13
13
  "names": []
14
14
  }
@@ -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
+ }
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-jhm3zsa7.js";
6
6
  import {
7
7
  getDatasetRowValidationFailure
8
- } from "./chunk-rz53yb4v.js";
8
+ } from "./chunk-0yh890a4.js";
9
9
  import {
10
10
  getDatasetMergeChangeValidationError2
11
- } from "./chunk-bwjcehza.js";
11
+ } from "./chunk-way52z4h.js";
12
12
 
13
13
  // src/datasets/write.ts
14
14
  function lakeDatasetDefinition2(dataset) {
@@ -2,18 +2,18 @@
2
2
  import {
3
3
  createSixbError2,
4
4
  isSixbError2
5
- } from "./chunk-6fsr7y93.js";
5
+ } from "./chunk-8mx7qw3y.js";
6
6
  import {
7
7
  resolveExecutionScopeAuthorization,
8
8
  AuthorizationError2,
9
9
  assertProviderAccess2
10
- } from "./chunk-qkbx3tf6.js";
11
- import {
12
- isOAuthConnectorDefinition2
13
- } from "./chunk-9x8dybsb.js";
10
+ } from "./chunk-d0bqz29d.js";
14
11
  import {
15
12
  ConnectorConnectionStorageError2
16
13
  } from "./chunk-2c4j899j.js";
14
+ import {
15
+ isOAuthConnectorDefinition2
16
+ } from "./chunk-9x8dybsb.js";
17
17
 
18
18
  // src/connectors/errors.ts
19
19
  class ConnectorError2 extends Error {
@@ -148,4 +148,4 @@ function assertConnectorConnectionAccess(runtime, execution) {
148
148
 
149
149
  export { ConnectorError2, ConnectorNotFoundError2, ConnectorOAuthError2, createConnectorCodedError, createAmbiguousProviderOperationError, oauthErrorKind, providerFailureCode, providerBoundaryError, isConnectorStorageError, storageBoundaryError, recoverConnectorFailure, createConnectorRuntime, getConnectorExecutionSourceResolver };
150
150
 
151
- //# debugId=B7B09D22E526C3CB64756E2164756E21
151
+ //# debugId=3C1D35D66FA59CBC64756E2164756E21