@sixb/core 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (404) hide show
  1. package/README.md +7 -6
  2. package/dist/actions/commit-edits.d.ts +7 -19
  3. package/dist/actions/commit-edits.d.ts.map +1 -1
  4. package/dist/actions/errors.d.ts +0 -3
  5. package/dist/actions/errors.d.ts.map +1 -1
  6. package/dist/actions/execution.d.ts +10 -3
  7. package/dist/actions/execution.d.ts.map +1 -1
  8. package/dist/actions/index.d.ts +6 -9
  9. package/dist/actions/index.d.ts.map +1 -1
  10. package/dist/actions/index.js +51 -50
  11. package/dist/actions/index.js.map +1 -1
  12. package/dist/actions/request.d.ts +14 -25
  13. package/dist/actions/request.d.ts.map +1 -1
  14. package/dist/actions/run/context.d.ts +40 -0
  15. package/dist/actions/run/context.d.ts.map +1 -0
  16. package/dist/actions/run/edits-commit.d.ts +31 -0
  17. package/dist/actions/run/edits-commit.d.ts.map +1 -0
  18. package/dist/actions/run/effects.d.ts +23 -0
  19. package/dist/actions/run/effects.d.ts.map +1 -0
  20. package/dist/actions/run/execute.d.ts +30 -0
  21. package/dist/actions/run/execute.d.ts.map +1 -0
  22. package/dist/actions/run/executor.d.ts +95 -0
  23. package/dist/actions/run/executor.d.ts.map +1 -0
  24. package/dist/actions/run/normalize.d.ts +36 -0
  25. package/dist/actions/run/normalize.d.ts.map +1 -0
  26. package/dist/actions/run/phase-types.d.ts +18 -0
  27. package/dist/actions/run/phase-types.d.ts.map +1 -0
  28. package/dist/actions/run/phases.d.ts +20 -0
  29. package/dist/actions/run/phases.d.ts.map +1 -0
  30. package/dist/actions/run/run-action.d.ts +25 -0
  31. package/dist/actions/run/run-action.d.ts.map +1 -0
  32. package/dist/actions/run/signals.d.ts +67 -0
  33. package/dist/actions/run/signals.d.ts.map +1 -0
  34. package/dist/actions/run/state.d.ts +47 -0
  35. package/dist/actions/run/state.d.ts.map +1 -0
  36. package/dist/actions/run/types.d.ts +54 -0
  37. package/dist/actions/run/types.d.ts.map +1 -0
  38. package/dist/actions/run/writeback.d.ts +17 -0
  39. package/dist/actions/run/writeback.d.ts.map +1 -0
  40. package/dist/actions/run-authorization.d.ts +1 -1
  41. package/dist/actions/run-authorization.d.ts.map +1 -1
  42. package/dist/actions/run-persistence.d.ts +53 -0
  43. package/dist/actions/run-persistence.d.ts.map +1 -0
  44. package/dist/actions/types/context.d.ts +10 -0
  45. package/dist/actions/types/context.d.ts.map +1 -1
  46. package/dist/agents/index.js +52 -55
  47. package/dist/agents/index.js.map +1 -1
  48. package/dist/agents/streams/index.js +2 -2
  49. package/dist/agents/streams/internal.js +2 -2
  50. package/dist/auth/index.js +11 -11
  51. package/dist/auth/index.js.map +1 -1
  52. package/dist/authorization/event-visibility.d.ts.map +1 -1
  53. package/dist/authorization/index.js +3 -3
  54. package/dist/bootstrap/index.js +46 -49
  55. package/dist/bootstrap/index.js.map +2 -2
  56. package/dist/{chunk-d0eb5yy6.js → chunk-1f7wpmyp.js} +5 -5
  57. package/dist/{chunk-d0eb5yy6.js.map → chunk-1f7wpmyp.js.map} +1 -1
  58. package/dist/{chunk-vgk3hknm.js → chunk-1k89ecfr.js} +1 -1
  59. package/dist/{chunk-6h5m9xjx.js → chunk-3gnrh4ve.js} +6 -10
  60. package/dist/{chunk-6h5m9xjx.js.map → chunk-3gnrh4ve.js.map} +4 -4
  61. package/dist/{chunk-htr6wjmv.js → chunk-4tcx876c.js} +15 -15
  62. package/dist/{chunk-htr6wjmv.js.map → chunk-4tcx876c.js.map} +1 -1
  63. package/dist/{chunk-za5yd58j.js → chunk-52bk93x8.js} +2 -2
  64. package/dist/{chunk-22v5bpz3.js → chunk-5e43w60z.js} +1 -1
  65. package/dist/{chunk-zxawp1n2.js → chunk-7kg3k1m9.js} +1 -1
  66. package/dist/{chunk-ny3xyvcn.js → chunk-7mbzgd9m.js} +3 -3
  67. package/dist/{chunk-b9affek3.js → chunk-7n440zgt.js} +30 -30
  68. package/dist/{chunk-b9affek3.js.map → chunk-7n440zgt.js.map} +4 -4
  69. package/dist/{chunk-kkqwzy6h.js → chunk-7t429e3f.js} +1 -1
  70. package/dist/{chunk-s4jhg8a3.js → chunk-80mc0971.js} +13 -13
  71. package/dist/{chunk-s4jhg8a3.js.map → chunk-80mc0971.js.map} +1 -1
  72. package/dist/{chunk-1b1f2d5f.js → chunk-85yvv5n0.js} +8 -8
  73. package/dist/{chunk-1b1f2d5f.js.map → chunk-85yvv5n0.js.map} +1 -1
  74. package/dist/{chunk-6fsr7y93.js → chunk-8mx7qw3y.js} +14 -13
  75. package/dist/{chunk-6fsr7y93.js.map → chunk-8mx7qw3y.js.map} +4 -4
  76. package/dist/{chunk-kpx7jrmn.js → chunk-91mg3nj9.js} +59 -59
  77. package/dist/{chunk-kpx7jrmn.js.map → chunk-91mg3nj9.js.map} +5 -5
  78. package/dist/{chunk-48e3cn2d.js → chunk-9gyp8hg1.js} +2 -2
  79. package/dist/{chunk-ewqa58h9.js → chunk-9k93ah50.js} +4 -4
  80. package/dist/{chunk-ewqa58h9.js.map → chunk-9k93ah50.js.map} +1 -1
  81. package/dist/{chunk-4wn7bxxa.js → chunk-9ybhtmg4.js} +1 -1
  82. package/dist/{chunk-fc5zfxy1.js → chunk-a40ad1ft.js} +5 -13
  83. package/dist/chunk-a40ad1ft.js.map +10 -0
  84. package/dist/{chunk-vz3gc1tm.js → chunk-aff7cyea.js} +62 -64
  85. package/dist/{chunk-vz3gc1tm.js.map → chunk-aff7cyea.js.map} +4 -4
  86. package/dist/{chunk-y2aq6ag9.js → chunk-b38szspf.js} +5 -14
  87. package/dist/chunk-b38szspf.js.map +11 -0
  88. package/dist/{chunk-r2y23egw.js → chunk-bkpke1sg.js} +1 -10
  89. package/dist/chunk-bkpke1sg.js.map +10 -0
  90. package/dist/{chunk-bs7sqkre.js → chunk-bpgy64fw.js} +1 -1
  91. package/dist/{chunk-vx2yp45y.js → chunk-c85m1hyj.js} +2 -2
  92. package/dist/{chunk-v6xpd60t.js → chunk-d2ync1v3.js} +5 -5
  93. package/dist/{chunk-fe52eczz.js → chunk-ey3pyej1.js} +6345 -2125
  94. package/dist/chunk-ey3pyej1.js.map +106 -0
  95. package/dist/{chunk-vjcd8d27.js → chunk-fa02jy15.js} +1 -1
  96. package/dist/{chunk-y05543x6.js → chunk-hvsb78a1.js} +4 -4
  97. package/dist/{chunk-y05543x6.js.map → chunk-hvsb78a1.js.map} +1 -1
  98. package/dist/{chunk-qq90g05n.js → chunk-j2bp5ryw.js} +53 -244
  99. package/dist/{chunk-qq90g05n.js.map → chunk-j2bp5ryw.js.map} +3 -3
  100. package/dist/{chunk-qmnnhde6.js → chunk-kg5j6fct.js} +1 -1
  101. package/dist/{chunk-de4z2bj6.js → chunk-kyzq4wy9.js} +6 -6
  102. package/dist/{chunk-wr8qp979.js → chunk-m427qgq0.js} +9 -5
  103. package/dist/{chunk-wr8qp979.js.map → chunk-m427qgq0.js.map} +4 -3
  104. package/dist/{chunk-e1c18xjx.js → chunk-nq6gpjt7.js} +4 -45
  105. package/dist/{chunk-e1c18xjx.js.map → chunk-nq6gpjt7.js.map} +5 -5
  106. package/dist/{chunk-ex496vct.js → chunk-nre82s12.js} +1 -1
  107. package/dist/{chunk-1hqwggsn.js → chunk-nzapm6p0.js} +1 -2
  108. package/dist/chunk-nzapm6p0.js.map +12 -0
  109. package/dist/{chunk-wt4szfec.js → chunk-pbcbn83d.js} +4 -4
  110. package/dist/{chunk-wt4szfec.js.map → chunk-pbcbn83d.js.map} +1 -1
  111. package/dist/{chunk-7hpdd6r9.js → chunk-q1vkr2ys.js} +4 -4
  112. package/dist/{chunk-zb77kjth.js → chunk-rhg02hxq.js} +3 -3
  113. package/dist/{chunk-y9jmd7e5.js → chunk-s16apyk9.js} +102 -16
  114. package/dist/chunk-s16apyk9.js.map +16 -0
  115. package/dist/{chunk-yv9czyfr.js → chunk-t6vq7bff.js} +5 -5
  116. package/dist/{chunk-qkvz64nd.js → chunk-tjb1mk5t.js} +2 -2
  117. package/dist/{chunk-p844e0rn.js → chunk-tpn40322.js} +2 -2
  118. package/dist/{chunk-rt9p8m9t.js → chunk-v9xd5wzd.js} +1 -1
  119. package/dist/{chunk-2vhg6ysa.js → chunk-vyf9kfqf.js} +1 -1
  120. package/dist/{chunk-k6hrnf35.js → chunk-wwdfe68s.js} +51 -4
  121. package/dist/chunk-wwdfe68s.js.map +11 -0
  122. package/dist/{chunk-f1zxad2t.js → chunk-wz0xs816.js} +6 -6
  123. package/dist/{chunk-f1zxad2t.js.map → chunk-wz0xs816.js.map} +1 -1
  124. package/dist/chunk-y0c4e6ex.js +16 -0
  125. package/dist/chunk-y0c4e6ex.js.map +10 -0
  126. package/dist/{chunk-qkbx3tf6.js → chunk-y7rqfrgg.js} +6 -13
  127. package/dist/{chunk-qkbx3tf6.js.map → chunk-y7rqfrgg.js.map} +4 -4
  128. package/dist/{chunk-dfm066qg.js → chunk-yxd3nnqt.js} +2 -29
  129. package/dist/chunk-yxd3nnqt.js.map +11 -0
  130. package/dist/{chunk-70jmg2zx.js → chunk-yzwja0mj.js} +4 -19
  131. package/dist/{chunk-70jmg2zx.js.map → chunk-yzwja0mj.js.map} +3 -3
  132. package/dist/{chunk-p0dqwj3n.js → chunk-zrmy8zvw.js} +66 -47
  133. package/dist/{chunk-p0dqwj3n.js.map → chunk-zrmy8zvw.js.map} +4 -4
  134. package/dist/deploy/index.d.ts +1 -1
  135. package/dist/deploy/index.d.ts.map +1 -1
  136. package/dist/deploy/internal.js +10 -8
  137. package/dist/deploy/internal.js.map +4 -4
  138. package/dist/deploy/services.d.ts +1 -2
  139. package/dist/deploy/services.d.ts.map +1 -1
  140. package/dist/deploy/types.d.ts +6 -5
  141. package/dist/deploy/types.d.ts.map +1 -1
  142. package/dist/deploy/validation.d.ts.map +1 -1
  143. package/dist/edits/index.js +3 -5
  144. package/dist/edits/index.js.map +1 -1
  145. package/dist/error-reporting/internal.js +3 -3
  146. package/dist/error-reporting/types.d.ts +2 -9
  147. package/dist/error-reporting/types.d.ts.map +1 -1
  148. package/dist/errors/catalog.d.ts +12 -0
  149. package/dist/errors/catalog.d.ts.map +1 -1
  150. package/dist/errors/internal.js +1 -1
  151. package/dist/events/definitions.d.ts +0 -5
  152. package/dist/events/definitions.d.ts.map +1 -1
  153. package/dist/events/index.d.ts +3 -3
  154. package/dist/events/index.d.ts.map +1 -1
  155. package/dist/events/index.js +6 -8
  156. package/dist/events/index.js.map +1 -1
  157. package/dist/events/scope.d.ts +0 -1
  158. package/dist/events/scope.d.ts.map +1 -1
  159. package/dist/events/scope.js +1 -1
  160. package/dist/events/selectors/builder.d.ts +1 -8
  161. package/dist/events/selectors/builder.d.ts.map +1 -1
  162. package/dist/events/selectors/index.d.ts +2 -2
  163. package/dist/events/selectors/index.d.ts.map +1 -1
  164. package/dist/events/selectors/index.js +2 -2
  165. package/dist/events/selectors/predicate.d.ts.map +1 -1
  166. package/dist/events/selectors/types.d.ts +2 -33
  167. package/dist/events/selectors/types.d.ts.map +1 -1
  168. package/dist/events/types/index.d.ts +1 -12
  169. package/dist/events/types/index.d.ts.map +1 -1
  170. package/dist/execution/agent.js +41 -44
  171. package/dist/execution/agent.js.map +1 -1
  172. package/dist/execution/primitive.js +57 -88
  173. package/dist/execution/primitive.js.map +3 -4
  174. package/dist/execution/request.js +35 -38
  175. package/dist/execution/request.js.map +2 -2
  176. package/dist/index.d.ts +3 -3
  177. package/dist/index.d.ts.map +1 -1
  178. package/dist/index.js +111 -120
  179. package/dist/index.js.map +1 -1
  180. package/dist/materialization/index.js +3 -3
  181. package/dist/materialization/index.js.map +1 -1
  182. package/dist/materialization/model.d.ts +19 -6
  183. package/dist/materialization/model.d.ts.map +1 -1
  184. package/dist/materializer/index.js +31 -31
  185. package/dist/materializer/index.js.map +1 -1
  186. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  187. package/dist/models/execution/index.js +18 -18
  188. package/dist/objects/action/errors.d.ts +0 -9
  189. package/dist/objects/action/errors.d.ts.map +1 -1
  190. package/dist/objects/action/index.d.ts +3 -3
  191. package/dist/objects/action/index.d.ts.map +1 -1
  192. package/dist/objects/action/request.d.ts +2 -8
  193. package/dist/objects/action/request.d.ts.map +1 -1
  194. package/dist/objects/execution.d.ts +0 -2
  195. package/dist/objects/execution.d.ts.map +1 -1
  196. package/dist/objects/index.js +44 -29
  197. package/dist/objects/index.js.map +1 -1
  198. package/dist/objects/query/index.js +29 -29
  199. package/dist/objects/query/index.js.map +1 -1
  200. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  201. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  202. package/dist/objects/service/index.d.ts +0 -1
  203. package/dist/objects/service/index.d.ts.map +1 -1
  204. package/dist/ontology/index.js +5 -5
  205. package/dist/ontology/index.js.map +1 -1
  206. package/dist/ontology/internal.js +2 -2
  207. package/dist/pipelines/index.js +28 -28
  208. package/dist/projections/internal.js +22 -22
  209. package/dist/projections/internal.js.map +1 -1
  210. package/dist/query.js +2 -2
  211. package/dist/queues/in-memory.d.ts +1 -2
  212. package/dist/queues/in-memory.d.ts.map +1 -1
  213. package/dist/queues/index.d.ts +1 -1
  214. package/dist/queues/index.d.ts.map +1 -1
  215. package/dist/queues/index.js +1 -1
  216. package/dist/queues/types.d.ts +0 -7
  217. package/dist/queues/types.d.ts.map +1 -1
  218. package/dist/runtime/host.d.ts.map +1 -1
  219. package/dist/runtime/internal.js +24 -25
  220. package/dist/runtime/internal.js.map +1 -1
  221. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  222. package/dist/runtime/types.d.ts +16 -36
  223. package/dist/runtime/types.d.ts.map +1 -1
  224. package/dist/sandboxes/index.js +5 -5
  225. package/dist/schedules/builders.d.ts.map +1 -1
  226. package/dist/schedules/index.js +3 -3
  227. package/dist/schedules/runtime.d.ts.map +1 -1
  228. package/dist/schedules/validation.d.ts +0 -1
  229. package/dist/schedules/validation.d.ts.map +1 -1
  230. package/dist/security/every.d.ts +1 -1
  231. package/dist/shares/internal.js +17 -17
  232. package/dist/storage/action-runs/failure.js +2 -2
  233. package/dist/storage/action-runs/idempotency.d.ts +3 -4
  234. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  235. package/dist/storage/action-runs/in-memory.d.ts +2 -9
  236. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  237. package/dist/storage/action-runs/index.d.ts +1 -3
  238. package/dist/storage/action-runs/index.d.ts.map +1 -1
  239. package/dist/storage/action-runs/provider.js +1 -1
  240. package/dist/storage/action-runs/record.d.ts +20 -0
  241. package/dist/storage/action-runs/record.d.ts.map +1 -0
  242. package/dist/storage/action-runs/types.d.ts +39 -68
  243. package/dist/storage/action-runs/types.d.ts.map +1 -1
  244. package/dist/storage/ai-limits/enforcement.js +2 -2
  245. package/dist/storage/connector-connections/provider.js +1 -1
  246. package/dist/storage/file-upload-sessions/provider.js +9 -9
  247. package/dist/storage/index.d.ts +2 -2
  248. package/dist/storage/index.d.ts.map +1 -1
  249. package/dist/storage/index.js +30 -31
  250. package/dist/storage/index.js.map +1 -1
  251. package/dist/storage/internal.d.ts +1 -1
  252. package/dist/storage/internal.d.ts.map +1 -1
  253. package/dist/storage/internal.js +9 -12
  254. package/dist/storage/internal.js.map +1 -1
  255. package/dist/storage/objects/execution-limits.d.ts +1 -1
  256. package/dist/storage/objects/execution-limits.d.ts.map +1 -1
  257. package/dist/storage/ontology/provider.js +2 -2
  258. package/dist/storage/projection-runs/provider.js +2 -2
  259. package/dist/storage/types.d.ts +1 -1
  260. package/dist/storage/types.d.ts.map +1 -1
  261. package/dist/storage/workflow-runs/provider.js +9 -9
  262. package/dist/syncs/index.js +29 -29
  263. package/dist/testing/action-execution.d.ts +34 -4
  264. package/dist/testing/action-execution.d.ts.map +1 -1
  265. package/dist/testing/action-run-storage-contract.d.ts +11 -0
  266. package/dist/testing/action-run-storage-contract.d.ts.map +1 -0
  267. package/dist/testing/index.d.ts +2 -1
  268. package/dist/testing/index.d.ts.map +1 -1
  269. package/dist/testing/index.js +3202 -2860
  270. package/dist/testing/index.js.map +7 -6
  271. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  272. package/dist/testing/queues-contract.d.ts.map +1 -1
  273. package/dist/webhooks/internal.js +23 -23
  274. package/dist/webhooks/internal.js.map +1 -1
  275. package/dist/workers/index.js +1 -1
  276. package/dist/workflows/index.js +48 -51
  277. package/dist/workflows/index.js.map +1 -1
  278. package/package.json +1 -7
  279. package/src/actions/commit-edits.ts +9 -37
  280. package/src/actions/errors.ts +0 -4
  281. package/src/actions/execution.ts +10 -10
  282. package/src/actions/index.ts +5 -24
  283. package/src/actions/request.ts +157 -295
  284. package/src/actions/run/context.ts +193 -0
  285. package/src/actions/run/edits-commit.ts +102 -0
  286. package/src/actions/run/effects.ts +105 -0
  287. package/src/actions/run/execute.ts +113 -0
  288. package/src/actions/run/executor.ts +314 -0
  289. package/src/actions/run/normalize.ts +142 -0
  290. package/src/actions/run/phase-types.ts +20 -0
  291. package/src/actions/run/phases.ts +150 -0
  292. package/src/actions/run/run-action.ts +170 -0
  293. package/src/actions/run/signals.ts +118 -0
  294. package/src/actions/run/state.ts +95 -0
  295. package/src/actions/run/types.ts +61 -0
  296. package/src/actions/run/writeback.ts +79 -0
  297. package/src/actions/run-authorization.ts +1 -1
  298. package/src/actions/run-persistence.ts +105 -0
  299. package/src/actions/types/context.ts +10 -0
  300. package/src/authorization/event-visibility.ts +0 -12
  301. package/src/deploy/index.ts +0 -1
  302. package/src/deploy/services.ts +2 -11
  303. package/src/deploy/types.ts +6 -6
  304. package/src/deploy/validation.ts +12 -6
  305. package/src/error-reporting/types.ts +2 -10
  306. package/src/errors/catalog.ts +13 -0
  307. package/src/events/definitions.ts +0 -17
  308. package/src/events/index.ts +0 -14
  309. package/src/events/scope.ts +0 -12
  310. package/src/events/selectors/builder.ts +0 -51
  311. package/src/events/selectors/index.ts +0 -6
  312. package/src/events/selectors/predicate.ts +0 -2
  313. package/src/events/selectors/types.ts +7 -65
  314. package/src/events/types/index.ts +0 -11
  315. package/src/index.ts +1 -19
  316. package/src/materialization/model.ts +26 -9
  317. package/src/materializer/README.md +6 -1
  318. package/src/materializer/edits/commit.ts +42 -32
  319. package/src/materializer/shared/normalize.ts +25 -14
  320. package/src/objects/action/errors.ts +0 -12
  321. package/src/objects/action/index.ts +3 -3
  322. package/src/objects/action/request.ts +2 -29
  323. package/src/objects/execution.ts +2 -2
  324. package/src/objects/sdk/object-handle.ts +3 -29
  325. package/src/objects/sdk/object-set.ts +5 -30
  326. package/src/objects/service/index.ts +0 -1
  327. package/src/queues/in-memory.ts +0 -6
  328. package/src/queues/index.ts +0 -2
  329. package/src/queues/types.ts +0 -11
  330. package/src/runtime/host.ts +5 -0
  331. package/src/runtime/resolve-definitions.ts +0 -1
  332. package/src/runtime/types.ts +16 -45
  333. package/src/schedules/builders.ts +1 -4
  334. package/src/schedules/runtime.ts +0 -41
  335. package/src/schedules/validation.ts +2 -16
  336. package/src/security/every.ts +1 -1
  337. package/src/storage/action-runs/idempotency.ts +13 -41
  338. package/src/storage/action-runs/in-memory.ts +20 -311
  339. package/src/storage/action-runs/index.ts +1 -16
  340. package/src/storage/action-runs/record.ts +130 -0
  341. package/src/storage/action-runs/types.ts +37 -92
  342. package/src/storage/index.ts +1 -9
  343. package/src/storage/internal.ts +1 -7
  344. package/src/storage/objects/execution-limits.ts +3 -2
  345. package/src/storage/types.ts +2 -4
  346. package/src/testing/action-execution.ts +73 -13
  347. package/src/testing/action-run-storage-contract.ts +335 -0
  348. package/src/testing/index.ts +8 -1
  349. package/src/testing/materializer-storage-contract.ts +174 -18
  350. package/src/testing/queues-contract.ts +0 -18
  351. package/dist/actions/run-dispatch.d.ts +0 -25
  352. package/dist/actions/run-dispatch.d.ts.map +0 -1
  353. package/dist/actions/worker.d.ts +0 -3
  354. package/dist/actions/worker.d.ts.map +0 -1
  355. package/dist/actions/worker.js +0 -325
  356. package/dist/actions/worker.js.map +0 -11
  357. package/dist/chunk-1hqwggsn.js.map +0 -12
  358. package/dist/chunk-85cd7e8c.js +0 -51
  359. package/dist/chunk-85cd7e8c.js.map +0 -10
  360. package/dist/chunk-dfm066qg.js.map +0 -11
  361. package/dist/chunk-fc5zfxy1.js.map +0 -11
  362. package/dist/chunk-fe52eczz.js.map +0 -49
  363. package/dist/chunk-fx93hd2n.js +0 -1614
  364. package/dist/chunk-fx93hd2n.js.map +0 -20
  365. package/dist/chunk-k6hrnf35.js.map +0 -10
  366. package/dist/chunk-qxvp5epv.js +0 -1329
  367. package/dist/chunk-qxvp5epv.js.map +0 -36
  368. package/dist/chunk-r2y23egw.js.map +0 -10
  369. package/dist/chunk-tffvfy6s.js +0 -593
  370. package/dist/chunk-tffvfy6s.js.map +0 -15
  371. package/dist/chunk-y2aq6ag9.js.map +0 -11
  372. package/dist/chunk-y9jmd7e5.js.map +0 -15
  373. package/dist/chunk-zvx7h87b.js +0 -12
  374. package/dist/chunk-zvx7h87b.js.map +0 -10
  375. package/dist/events/types/actions.d.ts +0 -39
  376. package/dist/events/types/actions.d.ts.map +0 -1
  377. package/dist/objects/service/action-service.d.ts +0 -13
  378. package/dist/objects/service/action-service.d.ts.map +0 -1
  379. package/src/actions/run-dispatch.ts +0 -282
  380. package/src/actions/worker.ts +0 -2
  381. package/src/events/types/actions.ts +0 -42
  382. package/src/objects/service/action-service.ts +0 -43
  383. /package/dist/{chunk-vgk3hknm.js.map → chunk-1k89ecfr.js.map} +0 -0
  384. /package/dist/{chunk-za5yd58j.js.map → chunk-52bk93x8.js.map} +0 -0
  385. /package/dist/{chunk-22v5bpz3.js.map → chunk-5e43w60z.js.map} +0 -0
  386. /package/dist/{chunk-zxawp1n2.js.map → chunk-7kg3k1m9.js.map} +0 -0
  387. /package/dist/{chunk-ny3xyvcn.js.map → chunk-7mbzgd9m.js.map} +0 -0
  388. /package/dist/{chunk-kkqwzy6h.js.map → chunk-7t429e3f.js.map} +0 -0
  389. /package/dist/{chunk-48e3cn2d.js.map → chunk-9gyp8hg1.js.map} +0 -0
  390. /package/dist/{chunk-4wn7bxxa.js.map → chunk-9ybhtmg4.js.map} +0 -0
  391. /package/dist/{chunk-bs7sqkre.js.map → chunk-bpgy64fw.js.map} +0 -0
  392. /package/dist/{chunk-vx2yp45y.js.map → chunk-c85m1hyj.js.map} +0 -0
  393. /package/dist/{chunk-v6xpd60t.js.map → chunk-d2ync1v3.js.map} +0 -0
  394. /package/dist/{chunk-vjcd8d27.js.map → chunk-fa02jy15.js.map} +0 -0
  395. /package/dist/{chunk-qmnnhde6.js.map → chunk-kg5j6fct.js.map} +0 -0
  396. /package/dist/{chunk-de4z2bj6.js.map → chunk-kyzq4wy9.js.map} +0 -0
  397. /package/dist/{chunk-ex496vct.js.map → chunk-nre82s12.js.map} +0 -0
  398. /package/dist/{chunk-7hpdd6r9.js.map → chunk-q1vkr2ys.js.map} +0 -0
  399. /package/dist/{chunk-zb77kjth.js.map → chunk-rhg02hxq.js.map} +0 -0
  400. /package/dist/{chunk-yv9czyfr.js.map → chunk-t6vq7bff.js.map} +0 -0
  401. /package/dist/{chunk-qkvz64nd.js.map → chunk-tjb1mk5t.js.map} +0 -0
  402. /package/dist/{chunk-p844e0rn.js.map → chunk-tpn40322.js.map} +0 -0
  403. /package/dist/{chunk-rt9p8m9t.js.map → chunk-v9xd5wzd.js.map} +0 -0
  404. /package/dist/{chunk-2vhg6ysa.js.map → chunk-vyf9kfqf.js.map} +0 -0
@@ -8,7 +8,6 @@ export type {
8
8
  DeployCiCredential,
9
9
  DeployCommand,
10
10
  DeployConfig,
11
- DeployConfigurableWorkerType,
12
11
  DeployContext,
13
12
  DeployControlAction,
14
13
  DeployEnv,
@@ -1,5 +1,4 @@
1
1
  import type {
2
- DeployConfigurableWorkerType,
3
2
  DeployHttpServiceName,
4
3
  DeployServiceName,
5
4
  DeploySingletonServiceName,
@@ -19,27 +18,19 @@ const SERVICES = {
19
18
  workers: "workers",
20
19
  } as const satisfies Record<DeployServiceName, "http" | "singleton" | "workers">
21
20
 
22
- /** Whether each worker type's concurrency can be configured. */
23
- const WORKER_TYPES: {
24
- readonly [Type in DeployWorkerType]: Type extends DeployConfigurableWorkerType ? true : false
25
- } = {
21
+ const WORKER_TYPES = {
26
22
  sync: true,
27
- action: false,
28
23
  agent: true,
29
24
  pipeline: true,
30
25
  projection: true,
31
26
  workflow: true,
32
- }
27
+ } as const satisfies Record<DeployWorkerType, true>
33
28
 
34
29
  /** Every service, in the order a deployment lists them. */
35
30
  export const DEPLOY_SERVICES = Object.keys(SERVICES) as DeployServiceName[]
36
31
 
37
32
  export const DEPLOY_WORKER_TYPES = Object.keys(WORKER_TYPES) as DeployWorkerType[]
38
33
 
39
- export const DEPLOY_CONFIGURABLE_WORKER_TYPES = DEPLOY_WORKER_TYPES.filter(
40
- (workerType): workerType is DeployConfigurableWorkerType => WORKER_TYPES[workerType]
41
- )
42
-
43
34
  export function isDeployHttpService(service: DeployServiceName): service is DeployHttpServiceName {
44
35
  return SERVICES[service] === "http"
45
36
  }
@@ -36,10 +36,7 @@ export type DeploySingletonServiceName = "orchestrator" | "scheduler" | "rules"
36
36
 
37
37
  export type DeployServiceName = DeployHttpServiceName | DeploySingletonServiceName | "workers"
38
38
 
39
- export type DeployWorkerType = "sync" | "action" | "agent" | "pipeline" | "projection" | "workflow"
40
-
41
- /** Action jobs run one at a time, so their concurrency is fixed. */
42
- export type DeployConfigurableWorkerType = Exclude<DeployWorkerType, "action">
39
+ export type DeployWorkerType = "sync" | "agent" | "pipeline" | "projection" | "workflow"
43
40
 
44
41
  export interface DeployServicesConfig {
45
42
  readonly api?: boolean | DeployHttpServiceConfig
@@ -74,7 +71,7 @@ export interface DeployWorkersConfig {
74
71
  /** Wall-clock budget for one agent turn, such as `"30s"`, `"10m"`, or `"1h"`. */
75
72
  readonly agentTurnTimeout?: string
76
73
  /** Jobs each worker type runs at once inside one process. */
77
- readonly concurrency?: Readonly<Partial<Record<DeployConfigurableWorkerType, number>>>
74
+ readonly concurrency?: Readonly<Partial<Record<DeployWorkerType, number>>>
78
75
  /** Added to the deployment's `env` for the workers only. */
79
76
  readonly env?: DeployEnv
80
77
  readonly process?: DeployScalableProcessOptions
@@ -90,7 +87,10 @@ export interface DeployProcessDefinition {
90
87
  }
91
88
 
92
89
  export interface DeployProcessOptions {
93
- /** How long a stopping process may take before it is killed. Defaults to 10000. */
90
+ /**
91
+ * How long a stopping process may take before it is killed. Defaults to 10000, and to 70000 for
92
+ * the API, which first lets the Actions it is running and their effects finish.
93
+ */
94
94
  readonly killTimeoutMs?: number
95
95
  /** Wait before restarting a process that exited, growing with each restart. Defaults to 1000. */
96
96
  readonly restartDelayMs?: number
@@ -1,5 +1,4 @@
1
1
  import {
2
- DEPLOY_CONFIGURABLE_WORKER_TYPES,
3
2
  DEPLOY_SERVICES,
4
3
  DEPLOY_WORKER_TYPES,
5
4
  isDeployHttpService,
@@ -131,6 +130,7 @@ function workerTypes(value: unknown, path: string): void {
131
130
  }
132
131
  const seen = new Set<string>()
133
132
  for (const workerType of value) {
133
+ if (workerType === "action") throw removedActionWorker(path)
134
134
  if (!(DEPLOY_WORKER_TYPES as readonly unknown[]).includes(workerType)) {
135
135
  throw new Error(
136
136
  `[SixbDeploy] ${path} has unknown worker type ${JSON.stringify(workerType)}. ` +
@@ -147,19 +147,25 @@ function workerTypes(value: unknown, path: string): void {
147
147
  function workerConcurrency(value: unknown, path: string): void {
148
148
  const config = record(value, path)
149
149
  for (const [workerType, concurrency] of Object.entries(config)) {
150
- if (workerType === "action") {
151
- throw new Error(`[SixbDeploy] ${path}.action cannot be set: action jobs run one at a time.`)
152
- }
153
- if (!(DEPLOY_CONFIGURABLE_WORKER_TYPES as readonly string[]).includes(workerType)) {
150
+ if (workerType === "action") throw removedActionWorker(path)
151
+ if (!(DEPLOY_WORKER_TYPES as readonly string[]).includes(workerType)) {
154
152
  throw new Error(
155
153
  `[SixbDeploy] ${path} has unknown worker type "${workerType}". ` +
156
- `Available: ${DEPLOY_CONFIGURABLE_WORKER_TYPES.join(", ")}.`
154
+ `Available: ${DEPLOY_WORKER_TYPES.join(", ")}.`
157
155
  )
158
156
  }
159
157
  positiveInteger(concurrency, `${path}.${workerType}`)
160
158
  }
161
159
  }
162
160
 
161
+ /** `"action"` was a worker type until Actions ran in the process that requests them. */
162
+ function removedActionWorker(path: string): Error {
163
+ return new Error(
164
+ `[SixbDeploy] ${path} names "action", which is no longer a worker type: Actions run in the ` +
165
+ "process that requests them (API, workflows, syncs). Remove it."
166
+ )
167
+ }
168
+
163
169
  function processOptions(
164
170
  value: unknown,
165
171
  path: string,
@@ -93,19 +93,11 @@ export type SixbRunFailedContext = SixbFailureContext<"run.failed"> &
93
93
  readonly attempt?: number
94
94
  }
95
95
 
96
- /** A post-commit Action effects phase failed without changing the committed Action outcome. */
97
- export interface SixbActionPhaseFailedContext extends SixbFailureContext<"action.phase.failed"> {
98
- readonly actionId: string
99
- readonly runId: string
100
- readonly phase: "effects"
101
- readonly failure: ActionRunFailure<"effects">
102
- }
103
-
104
96
  /**
105
97
  * A post-commit Action phase failed without changing the committed Action outcome.
106
98
  *
107
- * Effects run after the authoritative commit, so the Action run remains succeeded while this
108
- * context exposes the exact phase failure stored on the run.
99
+ * Effects run after the run is recorded with its commit, so the run remains succeeded while this
100
+ * context exposes the exact phase failure recorded on it.
109
101
  */
110
102
  export interface SixbActionPhaseFailedContext extends SixbFailureContext<"action.phase.failed"> {
111
103
  readonly actionId: string
@@ -18,6 +18,15 @@ export const SIXB_ERROR_DEFINITIONS = {
18
18
  publicMessage: "Data the Action read changed before its commit.",
19
19
  retryable: true,
20
20
  },
21
+ "action.run_in_progress": {
22
+ publicMessage: "The Action run is already in progress.",
23
+ retryable: true,
24
+ },
25
+ // Not retryable: the deadline aborts a writeback whose external call may still have landed.
26
+ "action.timeout": {
27
+ publicMessage: "The Action exceeded its 30-second time limit.",
28
+ retryable: false,
29
+ },
21
30
  "agent.execution_failed": {
22
31
  publicMessage: "Agent execution failed.",
23
32
  retryable: false,
@@ -134,6 +143,10 @@ export const SIXB_ERROR_DEFINITIONS = {
134
143
  publicMessage: "Execution was cancelled.",
135
144
  retryable: false,
136
145
  },
146
+ "runtime.stopping": {
147
+ publicMessage: "The runtime is stopping; retry the request.",
148
+ retryable: true,
149
+ },
137
150
  "vector.model_unavailable": {
138
151
  publicMessage: "The embedding model configured for this vector profile is unavailable.",
139
152
  retryable: false,
@@ -1,5 +1,4 @@
1
1
  import { EventsError } from "./errors"
2
- import type { ActionEvent } from "./types/actions"
3
2
  import type { DatasetEvent } from "./types/datasets"
4
3
  import type { DomainEvent, DomainEventDraft } from "./types/index"
5
4
  import type { LinkEvent } from "./types/links"
@@ -67,21 +66,6 @@ export const LINK_EVENT_DEFINITIONS = defineEventGroup<LinkEvent>({
67
66
  },
68
67
  })
69
68
 
70
- export const ACTION_EVENT_DEFINITIONS = defineEventGroup<ActionEvent>({
71
- "action.requested": {
72
- topic: "actions",
73
- partitionKey: (payload) => payload.actionId,
74
- },
75
- "action.completed": {
76
- topic: "actions",
77
- partitionKey: (payload) => payload.actionId,
78
- },
79
- "action.failed": {
80
- topic: "actions",
81
- partitionKey: (payload) => payload.actionId,
82
- },
83
- })
84
-
85
69
  export const SCHEDULE_EVENT_DEFINITIONS = defineEventGroup<ScheduleEvent>({
86
70
  "schedule.triggered": {
87
71
  topic: "schedules",
@@ -190,7 +174,6 @@ export const EVENT_DEFINITIONS = {
190
174
  ...OBJECT_EVENT_DEFINITIONS,
191
175
  ...TELEMETRY_EVENT_DEFINITIONS,
192
176
  ...LINK_EVENT_DEFINITIONS,
193
- ...ACTION_EVENT_DEFINITIONS,
194
177
  ...SCHEDULE_EVENT_DEFINITIONS,
195
178
  ...SYNC_EVENT_DEFINITIONS,
196
179
  ...PIPELINE_EVENT_DEFINITIONS,
@@ -1,7 +1,6 @@
1
1
  export type { ErrorReporter } from "../error-reporting/reporter"
2
2
  export type { EventDefinition, EventDefinitionGroup, EventDefinitionMap } from "./definitions"
3
3
  export {
4
- ACTION_EVENT_DEFINITIONS,
5
4
  DATASET_EVENT_DEFINITIONS,
6
5
  EVENT_DEFINITIONS,
7
6
  EVENT_TOPICS,
@@ -26,12 +25,6 @@ export {
26
25
  export type { EventScopeKeys } from "./scope"
27
26
  export { scopeKeysForEvent } from "./scope"
28
27
  export {
29
- type ActionEventSelectorBuilder,
30
- type ActionEventSelectorContext,
31
- type ActionEventSelectorEvent,
32
- type ActionEventSelectorOperation,
33
- type ActionEventToken,
34
- type ActionEventTokenOf,
35
28
  buildEventSelectorPredicate,
36
29
  type DatasetEventSelectorBuilder,
37
30
  type DatasetEventSelectorContext,
@@ -82,11 +75,7 @@ export {
82
75
  } from "./service"
83
76
  export { toStoredEvent } from "./toStoredEvent"
84
77
  export type {
85
- ActionCompletedEvent,
86
- ActionEvent,
87
78
  ActionEventOrigin,
88
- ActionFailedEvent,
89
- ActionRequestedEvent,
90
79
  AuthorableDomainEvent,
91
80
  AuthorableEventDraft,
92
81
  DatasetEvent,
@@ -122,9 +111,6 @@ export type {
122
111
  RuntimeMutationEventOrigin,
123
112
  ScheduleEvent,
124
113
  ScheduleTriggeredEvent,
125
- StoredActionCompletedEvent,
126
- StoredActionFailedEvent,
127
- StoredActionRequestedEvent,
128
114
  StoredAuthorableEvent,
129
115
  StoredDatasetVersionCommittedEvent,
130
116
  StoredDomainEvent,
@@ -17,7 +17,6 @@ export interface EventScopeKeys {
17
17
  readonly linkId?: string
18
18
  readonly ruleId?: string
19
19
  readonly runId?: string
20
- readonly actionId?: string
21
20
  readonly datasetId?: string
22
21
  readonly syncId?: string
23
22
  readonly pipelineId?: string
@@ -45,17 +44,6 @@ export function scopeKeysForEvent(event: DomainEvent): EventScopeKeys {
45
44
  return { pipelineId: event.payload.pipelineId, runId: event.payload.runId }
46
45
  case "syncs":
47
46
  return { syncId: event.payload.syncId, runId: event.payload.runId }
48
- case "actions":
49
- return {
50
- actionId: event.payload.actionId,
51
- runId: event.payload.runId,
52
- ...(event.payload.subject.kind === "object"
53
- ? {
54
- objectTypeId: event.payload.subject.objectTypeId,
55
- primaryId: event.payload.subject.primaryId,
56
- }
57
- : {}),
58
- }
59
47
  case "rules":
60
48
  return { ruleId: event.payload.ruleId }
61
49
  case "schedules":
@@ -1,11 +1,7 @@
1
- import type { ActionDefinition } from "../../actions"
2
1
  import type { LinkToken, ObjectTypeWithTokens, Property, PropertyToken } from "../../ontology"
3
2
  import type { RuleDefinition } from "../../rules"
4
3
  import type { DomainEvent } from "../types"
5
4
  import type {
6
- ActionEventSelectorContext,
7
- ActionEventToken,
8
- ActionEventTokenOf,
9
5
  DatasetEventSelectorContext,
10
6
  DatasetEventToken,
11
7
  EventSelectorSpec,
@@ -79,13 +75,6 @@ export interface RuleEventSelectorBuilder<TRule extends RuleDefinition>
79
75
  resolved(): EventSelectorSpec<RuleEventSelectorContext<TRule, "resolved">>
80
76
  }
81
77
 
82
- export interface ActionEventSelectorBuilder<TAction extends ActionEventToken>
83
- extends EventSelectorSpec<ActionEventSelectorContext<TAction>> {
84
- requested(): EventSelectorSpec<ActionEventSelectorContext<TAction, "requested">>
85
- completed(): EventSelectorSpec<ActionEventSelectorContext<TAction, "completed">>
86
- failed(): EventSelectorSpec<ActionEventSelectorContext<TAction, "failed">>
87
- }
88
-
89
78
  export interface DatasetEventSelectorBuilder<TDataset extends DatasetEventToken>
90
79
  extends EventSelectorSpec<DatasetEventSelectorContext<TDataset>> {
91
80
  updated(): EventSelectorSpec<DatasetEventSelectorContext<TDataset>>
@@ -140,10 +129,6 @@ abstract class EventSelectorSpecView<TContext> implements EventSelectorSpec<TCon
140
129
  return this.spec.ruleId
141
130
  }
142
131
 
143
- get actionId(): EventSelectorSpec["actionId"] {
144
- return this.spec.actionId
145
- }
146
-
147
132
  get datasetId(): EventSelectorSpec["datasetId"] {
148
133
  return this.spec.datasetId
149
134
  }
@@ -344,31 +329,6 @@ class RuleEventSelectorBuilderImpl<TRule extends RuleDefinition>
344
329
  }
345
330
  }
346
331
 
347
- class ActionEventSelectorBuilderImpl<TAction extends ActionEventToken>
348
- extends EventSelectorSpecView<ActionEventSelectorContext<TAction>>
349
- implements ActionEventSelectorBuilder<TAction>
350
- {
351
- requested(): EventSelectorSpec<ActionEventSelectorContext<TAction, "requested">> {
352
- return this.withType("action.requested")
353
- }
354
-
355
- completed(): EventSelectorSpec<ActionEventSelectorContext<TAction, "completed">> {
356
- return this.withType("action.completed")
357
- }
358
-
359
- failed(): EventSelectorSpec<ActionEventSelectorContext<TAction, "failed">> {
360
- return this.withType("action.failed")
361
- }
362
-
363
- private withType<TOperation extends "requested" | "completed" | "failed">(
364
- type: `action.${TOperation}`
365
- ): EventSelectorSpec<ActionEventSelectorContext<TAction, TOperation>> {
366
- return { ...this.spec, types: [type] } as EventSelectorSpec<
367
- ActionEventSelectorContext<TAction, TOperation>
368
- >
369
- }
370
- }
371
-
372
332
  class DatasetEventSelectorBuilderImpl<TDataset extends DatasetEventToken>
373
333
  extends EventSelectorSpecView<DatasetEventSelectorContext<TDataset>>
374
334
  implements DatasetEventSelectorBuilder<TDataset>
@@ -437,9 +397,6 @@ export interface EventSelectors {
437
397
  objectType: TObjectType
438
398
  ): ObjectEventSelectorBuilder<TObjectType>
439
399
  rule<TRule extends RuleDefinition>(rule: TRule): RuleEventSelectorBuilder<TRule>
440
- action<TAction extends ActionDefinition>(
441
- action: TAction
442
- ): ActionEventSelectorBuilder<ActionEventTokenOf<TAction>>
443
400
  dataset<TDataset extends DatasetEventToken>(
444
401
  dataset: TDataset
445
402
  ): DatasetEventSelectorBuilder<TDataset>
@@ -461,14 +418,6 @@ export const events: EventSelectors = {
461
418
  ruleId: rule.id,
462
419
  } as EventSelectorSpec<RuleEventSelectorContext<TRule>>)
463
420
  },
464
- action<TAction extends ActionDefinition>(
465
- action: TAction
466
- ): ActionEventSelectorBuilder<ActionEventTokenOf<TAction>> {
467
- return new ActionEventSelectorBuilderImpl({
468
- topic: "actions",
469
- actionId: action.id,
470
- } as EventSelectorSpec<ActionEventSelectorContext<ActionEventTokenOf<TAction>>>)
471
- },
472
421
  dataset<TDataset extends DatasetEventToken>(
473
422
  dataset: TDataset
474
423
  ): DatasetEventSelectorBuilder<TDataset> {
@@ -1,5 +1,4 @@
1
1
  export type {
2
- ActionEventSelectorBuilder,
3
2
  DatasetEventSelectorBuilder,
4
3
  EventPropertySelector,
5
4
  EventSelectors,
@@ -12,11 +11,6 @@ export type {
12
11
  export { events } from "./builder"
13
12
  export { buildEventSelectorPredicate, eventSelectorSpec } from "./predicate"
14
13
  export type {
15
- ActionEventSelectorContext,
16
- ActionEventSelectorEvent,
17
- ActionEventSelectorOperation,
18
- ActionEventToken,
19
- ActionEventTokenOf,
20
14
  DatasetEventSelectorContext,
21
15
  DatasetEventSelectorEvent,
22
16
  DatasetEventToken,
@@ -14,7 +14,6 @@ export function eventSelectorSpec(selector: EventSelectorSpec<unknown>): EventSe
14
14
  : {}),
15
15
  ...(selector.linkId !== undefined ? { linkId: selector.linkId } : {}),
16
16
  ...(selector.ruleId !== undefined ? { ruleId: selector.ruleId } : {}),
17
- ...(selector.actionId !== undefined ? { actionId: selector.actionId } : {}),
18
17
  ...(selector.datasetId !== undefined ? { datasetId: selector.datasetId } : {}),
19
18
  ...(selector.syncId !== undefined ? { syncId: selector.syncId } : {}),
20
19
  ...(selector.pipelineId !== undefined ? { pipelineId: selector.pipelineId } : {}),
@@ -40,7 +39,6 @@ export function buildEventSelectorPredicate(
40
39
  if (filter.linkId !== undefined && scope.linkId !== filter.linkId) return false
41
40
  if (filter.ruleId !== undefined && scope.ruleId !== filter.ruleId) return false
42
41
  if (filter.runId !== undefined && scope.runId !== filter.runId) return false
43
- if (filter.actionId !== undefined && scope.actionId !== filter.actionId) return false
44
42
  if (filter.datasetId !== undefined && scope.datasetId !== filter.datasetId) return false
45
43
  if (filter.syncId !== undefined && scope.syncId !== filter.syncId) return false
46
44
  if (filter.pipelineId !== undefined && scope.pipelineId !== filter.pipelineId) return false
@@ -1,13 +1,6 @@
1
- import type {
2
- ActionBinding,
3
- ActionDefinition,
4
- ActionParamsConfig,
5
- InferActionParams,
6
- } from "../../actions"
7
1
  import type { LinkToken, ObjectRef, ObjectTypeWithTokens, Property } from "../../ontology"
8
2
  import type { InferPropertyValue } from "../../ontology/inference"
9
3
  import type { RuleDefinition } from "../../rules"
10
- import type { ActionRunFailure } from "../../storage"
11
4
  import type { PropertyChangeOperation } from "../property-changes"
12
5
  import type {
13
6
  DatasetVersionCommittedEvent,
@@ -45,33 +38,6 @@ export type RuleEventSelectorContext<
45
38
  readonly operation: TOperation
46
39
  }
47
40
 
48
- export type ActionEventSelectorOperation = "requested" | "completed" | "failed"
49
-
50
- export type ActionEventToken<
51
- TId extends string = string,
52
- TParams extends ActionParamsConfig = ActionParamsConfig,
53
- TBinding extends ActionBinding = ActionBinding,
54
- > = {
55
- readonly id: TId
56
- readonly params: TParams
57
- readonly binding: TBinding
58
- }
59
-
60
- export type ActionEventTokenOf<TAction extends ActionDefinition> = ActionEventToken<
61
- TAction["id"],
62
- TAction["params"],
63
- TAction["binding"]
64
- >
65
-
66
- export type ActionEventSelectorContext<
67
- TAction extends ActionEventToken = ActionEventToken,
68
- TOperation extends ActionEventSelectorOperation = ActionEventSelectorOperation,
69
- > = {
70
- readonly kind: "action"
71
- readonly action: TAction
72
- readonly operation: TOperation
73
- }
74
-
75
41
  export type DatasetEventToken<TId extends string = string> = {
76
42
  readonly kind: "dataset"
77
43
  readonly id: TId
@@ -116,7 +82,6 @@ export type EventSelectorContext =
116
82
  | ObjectEventSelectorContext
117
83
  | LinkEventSelectorContext
118
84
  | RuleEventSelectorContext
119
- | ActionEventSelectorContext
120
85
  | DatasetEventSelectorContext
121
86
  | SyncEventSelectorContext
122
87
  | PipelineEventSelectorContext
@@ -138,15 +103,13 @@ export type EventSelectorEvent<TContext> =
138
103
  ? LinkEventSelectorEvent<TObjectType, TLink>
139
104
  : TContext extends RuleEventSelectorContext<infer TRule, infer TOperation>
140
105
  ? RuleEventSelectorEvent<TRule, TOperation>
141
- : TContext extends ActionEventSelectorContext<infer TAction, infer TOperation>
142
- ? ActionEventSelectorEvent<TAction, TOperation>
143
- : TContext extends DatasetEventSelectorContext<infer TDataset>
144
- ? DatasetEventSelectorEvent<TDataset>
145
- : TContext extends SyncEventSelectorContext<infer TSync, infer TOperation>
146
- ? SyncEventSelectorEvent<TSync, TOperation>
147
- : TContext extends PipelineEventSelectorContext<infer TPipeline, infer TOperation>
148
- ? PipelineEventSelectorEvent<TPipeline, TOperation>
149
- : never
106
+ : TContext extends DatasetEventSelectorContext<infer TDataset>
107
+ ? DatasetEventSelectorEvent<TDataset>
108
+ : TContext extends SyncEventSelectorContext<infer TSync, infer TOperation>
109
+ ? SyncEventSelectorEvent<TSync, TOperation>
110
+ : TContext extends PipelineEventSelectorContext<infer TPipeline, infer TOperation>
111
+ ? PipelineEventSelectorEvent<TPipeline, TOperation>
112
+ : never
150
113
 
151
114
  export interface ObjectEventSelectorEvent<TObjectType extends ObjectTypeWithTokens> {
152
115
  readonly object: {
@@ -176,19 +139,6 @@ export type RuleEventSelectorEvent<
176
139
  readonly subject: ObjectRef<RuleSubjectTypeId<TRule>>
177
140
  }
178
141
 
179
- export type ActionEventSelectorEvent<
180
- TAction extends ActionEventToken = ActionEventToken,
181
- TOperation extends ActionEventSelectorOperation = ActionEventSelectorOperation,
182
- > = {
183
- readonly actionId: TAction["id"]
184
- readonly runId: string
185
- } & ActionSubjectEvent<TAction> &
186
- (TOperation extends "requested"
187
- ? { readonly params: InferActionParams<TAction["params"]> }
188
- : TOperation extends "failed"
189
- ? { readonly error: ActionRunFailure }
190
- : Record<never, never>)
191
-
192
142
  export type DatasetEventSelectorEvent<TDataset extends DatasetEventToken = DatasetEventToken> =
193
143
  Omit<DatasetVersionCommittedEvent["payload"], "datasetId"> & {
194
144
  readonly datasetId: TDataset["id"]
@@ -220,7 +170,6 @@ export interface EventSelectorSpec<TContext = EventSelectorContext> {
220
170
  readonly propertyOperation?: PropertyChangeOperation
221
171
  readonly linkId?: string
222
172
  readonly ruleId?: string
223
- readonly actionId?: string
224
173
  readonly datasetId?: string
225
174
  readonly syncId?: string
226
175
  readonly pipelineId?: string
@@ -249,10 +198,3 @@ type ResolveTargetTypeId<TTarget> = TTarget extends readonly string[]
249
198
 
250
199
  type RuleSubjectTypeId<TRule extends RuleDefinition> =
251
200
  TRule extends RuleDefinition<string, infer TObjectType> ? TObjectType["id"] : string
252
-
253
- type ActionSubjectEvent<TAction extends ActionEventToken> = TAction["binding"] extends {
254
- readonly kind: "object"
255
- readonly objectType: infer TObjectType extends { readonly id: string }
256
- }
257
- ? { readonly subject: ObjectRef<TObjectType["id"]> }
258
- : Record<never, never>
@@ -1,7 +1,6 @@
1
1
  import type { JsonValue } from "../../json"
2
2
  import type { OntologyMaterializationEvent } from "../../materialization/events"
3
3
  import type { EventOrigin } from "../envelope"
4
- import type { ActionEvent } from "./actions"
5
4
  import type { DatasetEvent } from "./datasets"
6
5
  import type { LinkEvent } from "./links"
7
6
  import type { ObjectEvent } from "./objects"
@@ -28,12 +27,6 @@ export type {
28
27
  PropertyChangeMap,
29
28
  PropertyChangeOperation,
30
29
  } from "../property-changes"
31
- export type {
32
- ActionCompletedEvent,
33
- ActionEvent,
34
- ActionFailedEvent,
35
- ActionRequestedEvent,
36
- } from "./actions"
37
30
  export type { DatasetEvent, DatasetVersionCommittedEvent } from "./datasets"
38
31
  export type {
39
32
  LinkCreatedEvent,
@@ -82,7 +75,6 @@ export type DomainEvent =
82
75
  | ObjectEvent
83
76
  | TelemetryEvent
84
77
  | LinkEvent
85
- | ActionEvent
86
78
  | ScheduleEvent
87
79
  | RuleEvent
88
80
  | SyncEvent
@@ -129,9 +121,6 @@ export type StoredLinkCreatedEvent = StoredOntologyEventOf<"link.created">
129
121
  export type StoredLinkUpdatedEvent = StoredOntologyEventOf<"link.updated">
130
122
  export type StoredLinkMutationEvent = StoredLinkCreatedEvent | StoredLinkUpdatedEvent
131
123
  export type StoredLinkDeletedEvent = StoredOntologyEventOf<"link.deleted">
132
- export type StoredActionRequestedEvent = Extract<StoredDomainEvent, { type: "action.requested" }>
133
- export type StoredActionCompletedEvent = Extract<StoredDomainEvent, { type: "action.completed" }>
134
- export type StoredActionFailedEvent = Extract<StoredDomainEvent, { type: "action.failed" }>
135
124
  export type StoredScheduleTriggeredEvent = Extract<
136
125
  StoredDomainEvent,
137
126
  { type: "schedule.triggered" }
package/src/index.ts CHANGED
@@ -116,12 +116,8 @@ export type {
116
116
  ObjectActionDefinition,
117
117
  ObjectActionParamsBuilder,
118
118
  ObjectActionPhaseBuilder,
119
- RequestActionAndWaitInput,
120
- RequestActionAndWaitOptions,
121
119
  RequestActionInput,
122
120
  RequestActionOptions,
123
- RequestActionResult,
124
- WaitForActionRunInput,
125
121
  } from "./actions"
126
122
  export {
127
123
  ActionDefinitionError,
@@ -137,11 +133,7 @@ export {
137
133
  * it to write `catch (error) { if (error instanceof EditBatchError) … }`.
138
134
  */
139
135
  export { EditBatchError } from "./edits"
140
- export {
141
- ActionRunFailedError,
142
- ActionRunTimeoutError,
143
- ActionValidationError,
144
- } from "./objects/action"
136
+ export { ActionRunFailedError, ActionValidationError } from "./objects/action"
145
137
 
146
138
  // ── Datasets ────────────────────────────────────────────────
147
139
 
@@ -233,17 +225,7 @@ export type {
233
225
  // ── Events ──────────────────────────────────────────────────
234
226
 
235
227
  export type {
236
- ActionCompletedEvent,
237
- ActionEvent,
238
228
  ActionEventOrigin,
239
- ActionEventSelectorBuilder,
240
- ActionEventSelectorContext,
241
- ActionEventSelectorEvent,
242
- ActionEventSelectorOperation,
243
- ActionEventToken,
244
- ActionEventTokenOf,
245
- ActionFailedEvent,
246
- ActionRequestedEvent,
247
229
  DatasetEvent,
248
230
  DatasetEventSelectorBuilder,
249
231
  DatasetEventSelectorContext,
@@ -3,6 +3,7 @@ import type { EventOrigin } from "../events/envelope"
3
3
  import type { PropertyChange, PropertyChangeMap } from "../events/property-changes"
4
4
  import type { JsonValue } from "../json"
5
5
  import type { ProjectionProtocolIdentity, ProjectionRunFailureCode } from "../projections/types"
6
+ import type { RecordActionRunInput } from "../storage/action-runs/types"
6
7
  import type { ObjectVectorWrite } from "./vectors"
7
8
 
8
9
  export type { ProjectionProtocolIdentity } from "../projections/types"
@@ -120,16 +121,32 @@ interface BaseOntologyEditCommit {
120
121
  readonly operations: readonly OntologyEditOperation[]
121
122
  }
122
123
 
124
+ interface AtomicOntologyEditCommit extends BaseOntologyEditCommit {
125
+ readonly mode: "atomic"
126
+ readonly vectorWrites?: readonly ObjectVectorWrite[]
127
+ readonly expectedObjects: readonly ExpectedObjectRevision[]
128
+ readonly expectedLinks: readonly ExpectedLinkRevision[]
129
+ readonly expectedLinkScopes: readonly ExpectedLinkScopeRevision[]
130
+ }
131
+
123
132
  export type OntologyEditCommit =
124
- | (BaseOntologyEditCommit & {
125
- readonly mode: "atomic"
126
- readonly source:
127
- | { readonly kind: "action"; readonly actionId: string; readonly runId: string }
128
- | { readonly kind: "runtime"; readonly requestId: string }
129
- readonly vectorWrites?: readonly ObjectVectorWrite[]
130
- readonly expectedObjects: readonly ExpectedObjectRevision[]
131
- readonly expectedLinks: readonly ExpectedLinkRevision[]
132
- readonly expectedLinkScopes: readonly ExpectedLinkScopeRevision[]
133
+ | (AtomicOntologyEditCommit & {
134
+ readonly source: {
135
+ readonly kind: "action"
136
+ readonly actionId: string
137
+ readonly runId: string
138
+ }
139
+ /**
140
+ * The run's terminal record, inserted in the commit's transaction so that its edits never
141
+ * land without the run that made them.
142
+ *
143
+ * It is not part of the commit's intent: replaying the commit returns the stored commit and
144
+ * inserts nothing, whatever record the replay carries.
145
+ */
146
+ readonly run: RecordActionRunInput
147
+ })
148
+ | (AtomicOntologyEditCommit & {
149
+ readonly source: { readonly kind: "runtime"; readonly requestId: string }
133
150
  })
134
151
  | (BaseOntologyEditCommit & {
135
152
  readonly mode: "continue"
@@ -158,7 +158,12 @@ its mutable overrides let operation N+1 observe operation N. In `continue` mode,
158
158
  operation rolls back only its working override; provider and infrastructure failures abort the
159
159
  whole transaction.
160
160
 
161
- Action-backed edits validate the trusted Action execution, the run's immutable `executionId`, and the running-state fence inside the commit transaction before new work. Exact replay remains valid after the run becomes terminal. Their semantic result lives only in the ontology commit, correlated by Action origin; the Action run is not a second commit ledger.
161
+ Action-backed edits carry the run's terminal record. The commit validates the trusted Action
162
+ execution and the record's `executionId`, then inserts the record in its own transaction before new
163
+ work, so edits never land without the run that made them and a run id commits once: a second insert
164
+ for it fails the commit. An exact replay returns the stored commit and inserts nothing; the carried
165
+ record is not part of the commit's intent. The edits' semantic result lives only in the ontology
166
+ commit, correlated by Action origin; the Action run is not a second commit ledger.
162
167
 
163
168
  ## Telemetry append
164
169