@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
@@ -9,7 +9,7 @@ import type {
9
9
  OntologyMaterializationOrigin,
10
10
  OntologyOperationOutcome,
11
11
  } from "../../materialization/model"
12
- import type { Storage } from "../../storage"
12
+ import type { RecordActionRunInput, Storage } from "../../storage"
13
13
  import type { MaterializationSession, OntologyCommitWrite } from "../../storage/ontology"
14
14
  import type { MaterializerContext, MaterializerStorage } from "../context"
15
15
  import { replayCommit, withSerializationRetry } from "../execution/commit-lifecycle"
@@ -67,7 +67,7 @@ async function prepareEditCommit(
67
67
  const identity = createTimedCommitIdentity({
68
68
  projectId: context.projectId,
69
69
  idempotencyKey,
70
- normalizedCallerIntent: input,
70
+ normalizedCallerIntent: editIntent(input),
71
71
  now: context.clock(),
72
72
  })
73
73
  return {
@@ -86,24 +86,15 @@ function editIdempotencyKey(input: NormalizedEditCommit): string {
86
86
  return createRuntimeIdempotencyKey(input.source.requestId)
87
87
  }
88
88
 
89
- async function lockActionRunForMaterialization(
90
- storage: Storage,
91
- projectId: string,
92
- input: NormalizedEditCommit,
93
- execution: MaterializerExecution
94
- ): Promise<void> {
95
- if (input.source.kind !== "action") return
96
- if (!storage.actionRuns) {
97
- throw new MaterializationValidationError(
98
- "Storage does not provide Action run capabilities required by this commit."
99
- )
100
- }
101
- const run = await storage.actionRuns.lockForMaterialization({
102
- projectId,
103
- actionId: input.source.actionId,
104
- runId: input.source.runId,
105
- })
106
- assertMaterializerRunExecution(execution, run.executionId, `Action run '${run.id}'`)
89
+ /**
90
+ * What a replay of the commit must repeat: its edits, without the run record an Action commit
91
+ * carries. That record is written by the commit that inserts it, and its timestamps differ on
92
+ * every attempt.
93
+ */
94
+ function editIntent(input: NormalizedEditCommit): unknown {
95
+ if (!("run" in input)) return input
96
+ const { run: _run, ...intent } = input
97
+ return intent
107
98
  }
108
99
 
109
100
  async function validateMutationExecution(
@@ -122,24 +113,48 @@ async function validateMutationExecution(
122
113
  id: input.source.actionId,
123
114
  runId: input.source.runId,
124
115
  })
125
- if (!storage.actionRuns) {
116
+ const run = requireActionRun(input)
117
+ if (run.projectId !== projectId || run.id !== input.source.runId) {
126
118
  throw new MaterializationValidationError(
127
- "Storage does not provide Action run capabilities required by this commit."
119
+ `The record carried by Action run '${input.source.runId}' belongs to another run.`
128
120
  )
129
121
  }
130
- const run = await storage.actionRuns.getById({ projectId, id: input.source.runId })
131
- if (!run) {
132
- throw new MaterializationValidationError(`Action run '${input.source.runId}' was not found.`)
133
- }
134
122
  if (run.actionId !== input.source.actionId) {
135
123
  throw new MaterializationConflictError(
136
124
  "run-correlation",
137
125
  `Action run '${run.id}' does not belong to action '${input.source.actionId}'.`
138
126
  )
139
127
  }
128
+ if (run.status !== "succeeded" || run.phase !== "commit") {
129
+ throw new MaterializationValidationError(
130
+ `Action run '${run.id}' commits its edits only as a succeeded run in its commit phase.`
131
+ )
132
+ }
140
133
  assertMaterializerRunExecution(execution, run.executionId, `Action run '${run.id}'`)
141
134
  }
142
135
 
136
+ /**
137
+ * Insert the run that made these edits, in the commit's transaction: the edits, their outbox facts,
138
+ * and the run record land together or not at all. A run already recorded fails the commit, since a
139
+ * run id is recorded once.
140
+ */
141
+ async function recordActionRun(storage: Storage, input: NormalizedEditCommit): Promise<void> {
142
+ if (input.source.kind !== "action") return
143
+ if (!storage.actionRuns) {
144
+ throw new MaterializationValidationError(
145
+ "Storage does not provide Action run capabilities required by this commit."
146
+ )
147
+ }
148
+ await storage.actionRuns.record(requireActionRun(input))
149
+ }
150
+
151
+ function requireActionRun(input: NormalizedEditCommit): RecordActionRunInput {
152
+ if (!("run" in input)) {
153
+ throw new MaterializationValidationError("An Action commit must carry its run's record.")
154
+ }
155
+ return input.run
156
+ }
157
+
143
158
  async function executeEditCommit(
144
159
  context: MaterializerContext,
145
160
  command: PreparedEditCommit
@@ -167,12 +182,7 @@ async function executeEditTransaction(
167
182
  )
168
183
  if (replay) return replay
169
184
 
170
- await lockActionRunForMaterialization(
171
- storage,
172
- context.projectId,
173
- command.input,
174
- command.execution
175
- )
185
+ await recordActionRun(storage, command.input)
176
186
 
177
187
  const session = await beginEditMaterialization(context, storage, command)
178
188
  const workingState = await loadEditWorkingState(
@@ -284,17 +284,6 @@ export function normalizeOntologyEditCommit(input: OntologyEditCommit): Ontology
284
284
  })
285
285
  }
286
286
 
287
- const source =
288
- input.source.kind === "action"
289
- ? Object.freeze({
290
- kind: "action" as const,
291
- actionId: normalizeNonblank(input.source.actionId, "Action id"),
292
- runId: normalizeNonblank(input.source.runId, "Action run id"),
293
- })
294
- : Object.freeze({
295
- kind: "runtime" as const,
296
- requestId: normalizeNonblank(input.source.requestId, "Runtime request id"),
297
- })
298
287
  if (input.vectorWrites?.length && (operations.length || input.source.kind !== "runtime")) {
299
288
  throw new MaterializationValidationError(
300
289
  "Vector writes require a dedicated atomic runtime commit."
@@ -305,12 +294,11 @@ export function normalizeOntologyEditCommit(input: OntologyEditCommit): Ontology
305
294
  const expectedLinks = input.expectedLinks.map(normalizeExpectedLink)
306
295
  const expectedLinkScopes = input.expectedLinkScopes.map(normalizeExpectedLinkScope)
307
296
 
308
- return Object.freeze({
309
- mode: "atomic",
297
+ const atomic = {
298
+ mode: "atomic" as const,
310
299
  ...(input.vectorWrites === undefined
311
300
  ? {}
312
301
  : { vectorWrites: structuredClone(input.vectorWrites) }),
313
- source,
314
302
  operations: Object.freeze(operations),
315
303
  expectedObjects: deduplicateExpectations(
316
304
  expectedObjects,
@@ -327,6 +315,29 @@ export function normalizeOntologyEditCommit(input: OntologyEditCommit): Ontology
327
315
  (value) => linkScopeKey(value.source, value.linkId),
328
316
  "Expected link scopes"
329
317
  ),
318
+ }
319
+
320
+ if (input.source.kind === "action") {
321
+ if (!("run" in input) || input.run === undefined) {
322
+ throw new MaterializationValidationError("An Action commit must carry its run's record.")
323
+ }
324
+ return Object.freeze({
325
+ ...atomic,
326
+ source: Object.freeze({
327
+ kind: "action" as const,
328
+ actionId: normalizeNonblank(input.source.actionId, "Action id"),
329
+ runId: normalizeNonblank(input.source.runId, "Action run id"),
330
+ }),
331
+ // Validated by the Action run storage when the commit inserts it.
332
+ run: structuredClone(input.run),
333
+ })
334
+ }
335
+ return Object.freeze({
336
+ ...atomic,
337
+ source: Object.freeze({
338
+ kind: "runtime" as const,
339
+ requestId: normalizeNonblank(input.source.requestId, "Runtime request id"),
340
+ }),
330
341
  })
331
342
  }
332
343
 
@@ -42,15 +42,3 @@ export class ActionRunFailedError extends Error {
42
42
  this.finishedAt = payload.finishedAt
43
43
  }
44
44
  }
45
-
46
- export class ActionRunTimeoutError extends Error {
47
- readonly name = "ActionRunTimeoutError"
48
- readonly runId: string
49
- readonly timeoutMs: number
50
-
51
- constructor(params: { runId: string; timeoutMs: number }) {
52
- super(`Action run '${params.runId}' did not finish within ${params.timeoutMs}ms.`)
53
- this.runId = params.runId
54
- this.timeoutMs = params.timeoutMs
55
- }
56
- }
@@ -1,3 +1,3 @@
1
- export { ActionRunFailedError, ActionRunTimeoutError, ActionValidationError } from "./errors"
2
- export type { RequestActionAndWaitOptions, RequestActionOptions } from "./request"
3
- export { requestAction, requestActionAndWait } from "./request"
1
+ export { ActionRunFailedError, ActionValidationError } from "./errors"
2
+ export type { RequestActionOptions } from "./request"
3
+ export { requestAction } from "./request"
@@ -5,16 +5,13 @@
5
5
  * helpers delegate here by supplying an object subject.
6
6
  */
7
7
  import {
8
- type RequestActionAndWaitOptions,
9
8
  type RequestActionOptions,
10
- type RequestActionResult,
11
9
  requestAction as requestRuntimeAction,
12
- requestActionAndWait as requestRuntimeActionAndWait,
13
10
  } from "../../actions/request"
14
11
  import type { ActionRunRecord } from "../../storage"
15
12
  import type { ExecutionObjectContext } from "../context"
16
13
 
17
- export type { RequestActionAndWaitOptions, RequestActionOptions }
14
+ export type { RequestActionOptions }
18
15
 
19
16
  export async function requestAction(
20
17
  ctx: ExecutionObjectContext,
@@ -24,30 +21,8 @@ export async function requestAction(
24
21
  params?: Record<string, unknown>
25
22
  options?: RequestActionOptions
26
23
  }
27
- ): Promise<RequestActionResult> {
28
- return requestRuntimeAction(ctx, ctx.execution, {
29
- actionId: params.actionId,
30
- subject: {
31
- kind: "object",
32
- objectTypeId: ctx.objectType.id,
33
- primaryId: params.primaryId,
34
- },
35
- params: params.params,
36
- runId: params.options?.runId,
37
- signal: params.options?.signal,
38
- })
39
- }
40
-
41
- export async function requestActionAndWait(
42
- ctx: ExecutionObjectContext,
43
- params: {
44
- primaryId: string
45
- actionId: string
46
- params?: Record<string, unknown>
47
- options?: RequestActionAndWaitOptions
48
- }
49
24
  ): Promise<ActionRunRecord> {
50
- return requestRuntimeActionAndWait(ctx, ctx.execution, {
25
+ return requestRuntimeAction(ctx, ctx.execution, {
51
26
  actionId: params.actionId,
52
27
  subject: {
53
28
  kind: "object",
@@ -56,8 +31,6 @@ export async function requestActionAndWait(
56
31
  },
57
32
  params: params.params,
58
33
  runId: params.options?.runId,
59
- timeoutMs: params.options?.timeoutMs,
60
34
  signal: params.options?.signal,
61
- onRequested: params.options?.onRequested,
62
35
  })
63
36
  }
@@ -1,3 +1,4 @@
1
+ import { shareActionRunExecutor } from "../actions/run/executor"
1
2
  import type { BlobStorage } from "../blob-storage"
2
3
  import { shareSixbErrorReporter } from "../error-reporting/capability"
3
4
  import type { ExecutionContext } from "../execution"
@@ -86,7 +87,6 @@ export interface ExecutionObjectByIdHandle<TObjectType extends ObjectTypeWithPro
86
87
  extends ObjectReadByIdHandle<TObjectType> {
87
88
  vector: ObjectByIdHandle<TObjectType>["vector"]
88
89
  requestAction: ObjectByIdHandle<TObjectType>["requestAction"]
89
- requestActionAndWait: ObjectByIdHandle<TObjectType>["requestActionAndWait"]
90
90
  link: ObjectByIdHandle<TObjectType>["link"]
91
91
  unlink: ObjectByIdHandle<TObjectType>["unlink"]
92
92
  delete: ObjectByIdHandle<TObjectType>["delete"]
@@ -97,7 +97,6 @@ export interface ExecutionObjectByIdHandle<TObjectType extends ObjectTypeWithPro
97
97
  export interface ExecutionObjectSet<TObjectType extends ObjectTypeWithPropertyTokens>
98
98
  extends ObjectReadSet<TObjectType> {
99
99
  requestAction: ObjectSet<TObjectType>["requestAction"]
100
- requestActionAndWait: ObjectSet<TObjectType>["requestActionAndWait"]
101
100
  upsert: ObjectSet<TObjectType>["upsert"]
102
101
  upsertLink: ObjectSet<TObjectType>["upsertLink"]
103
102
  removeLink: ObjectSet<TObjectType>["removeLink"]
@@ -173,6 +172,7 @@ export function createObjectsRuntime(
173
172
  }
174
173
  shareOntologyMutationRuntime(runtime, capturedRuntime)
175
174
  shareSixbErrorReporter(runtime, capturedRuntime)
175
+ shareActionRunExecutor(runtime, capturedRuntime)
176
176
  Object.freeze(capturedRuntime)
177
177
  const ontologyView = () => getAuthorizedOntologyView(objectReader)
178
178
  const objects = Object.assign(
@@ -10,10 +10,7 @@ import { OntologyValidationError } from "../../ontology/errors"
10
10
  import type { LinkToken, ObjectTypeWithPropertyTokens, PropertyToken } from "../../ontology/tokens"
11
11
  import { assertLinkTokenBelongsToObjectType } from "../../ontology/validation"
12
12
  import type { ObjectByIdHandle, TwinObject } from "../../runtime/types"
13
- import {
14
- requestActionAndWait as requestActionAndWaitLeaf,
15
- requestAction as requestActionLeaf,
16
- } from "../action"
13
+ import { requestAction as requestActionLeaf } from "../action"
17
14
  import type { ObjectSetContext, ResolvedLinkContext } from "../context"
18
15
  import { removeLink as removeLinkLeaf, upsertLink as upsertLinkLeaf } from "../link"
19
16
  import { deleteObject, restoreObject } from "../object"
@@ -91,6 +88,7 @@ export function createObjectByIdHandle<TObjectType extends ObjectTypeWithPropert
91
88
  actionId?: string
92
89
  params?: Record<string, unknown>
93
90
  runId?: string
91
+ signal?: AbortSignal
94
92
  }) => {
95
93
  const actionId = input.action?.id ?? input.actionId
96
94
  if (!actionId) {
@@ -102,31 +100,7 @@ export function createObjectByIdHandle<TObjectType extends ObjectTypeWithPropert
102
100
  primaryId,
103
101
  actionId,
104
102
  params: input.params,
105
- options: { runId: input.runId },
106
- })
107
- },
108
-
109
- requestActionAndWait: async (input: {
110
- action?: ActionDefinition
111
- actionId?: string
112
- params?: Record<string, unknown>
113
- timeoutMs?: number
114
- signal?: AbortSignal
115
- }) => {
116
- const actionId = input.action?.id ?? input.actionId
117
- if (!actionId) {
118
- throw new OntologyValidationError(
119
- "[Sixb] requestActionAndWait requires either 'action' or 'actionId'"
120
- )
121
- }
122
- return requestActionAndWaitLeaf(ctx, {
123
- primaryId,
124
- actionId,
125
- params: input.params,
126
- options: {
127
- timeoutMs: input.timeoutMs,
128
- signal: input.signal,
129
- },
103
+ options: { runId: input.runId, signal: input.signal },
130
104
  })
131
105
  },
132
106
 
@@ -5,6 +5,7 @@
5
5
  */
6
6
 
7
7
  import type { ActionDefinition } from "../../actions"
8
+ import { shareActionRunExecutor } from "../../actions/run/executor"
8
9
  import type { AuthorizationContext } from "../../authorization"
9
10
  import type { BlobStorage } from "../../blob-storage"
10
11
  import { shareSixbErrorReporter } from "../../error-reporting/capability"
@@ -19,10 +20,7 @@ import type {
19
20
  SixbRuntimeContext,
20
21
  TwinObject,
21
22
  } from "../../runtime/types"
22
- import {
23
- requestActionAndWait as requestActionAndWaitLeaf,
24
- requestAction as requestActionLeaf,
25
- } from "../action"
23
+ import { requestAction as requestActionLeaf } from "../action"
26
24
  import type { ObjectSetContext, ResolvedLinkContext } from "../context"
27
25
  import { requireLinkDefinition } from "../context"
28
26
  import { removeLink as removeLinkLeaf, upsertLink as upsertLinkLeaf } from "../link"
@@ -88,6 +86,7 @@ export function createObjectSet<TObjectType extends ObjectTypeWithPropertyTokens
88
86
  }
89
87
  shareOntologyMutationRuntime(params, resolvedCtx)
90
88
  shareSixbErrorReporter(params, resolvedCtx)
89
+ shareActionRunExecutor(params, resolvedCtx)
91
90
 
92
91
  const objectSet = {
93
92
  get: async (id: string) => {
@@ -149,6 +148,7 @@ export function createObjectSet<TObjectType extends ObjectTypeWithPropertyTokens
149
148
  actionId?: string
150
149
  params?: Record<string, unknown>
151
150
  runId?: string
151
+ signal?: AbortSignal
152
152
  }) => {
153
153
  const actionId = input.action?.id ?? input.actionId
154
154
  if (!actionId) {
@@ -160,32 +160,7 @@ export function createObjectSet<TObjectType extends ObjectTypeWithPropertyTokens
160
160
  primaryId: input.id,
161
161
  actionId,
162
162
  params: input.params,
163
- options: { runId: input.runId },
164
- })
165
- },
166
-
167
- requestActionAndWait: async (input: {
168
- id: string
169
- action?: ActionDefinition
170
- actionId?: string
171
- params?: Record<string, unknown>
172
- timeoutMs?: number
173
- signal?: AbortSignal
174
- }) => {
175
- const actionId = input.action?.id ?? input.actionId
176
- if (!actionId) {
177
- throw new OntologyValidationError(
178
- "[Sixb] requestActionAndWait requires either 'action' or 'actionId'"
179
- )
180
- }
181
- return requestActionAndWaitLeaf(resolvedCtx, {
182
- primaryId: input.id,
183
- actionId,
184
- params: input.params,
185
- options: {
186
- timeoutMs: input.timeoutMs,
187
- signal: input.signal,
188
- },
163
+ options: { runId: input.runId, signal: input.signal },
189
164
  })
190
165
  },
191
166
 
@@ -1,4 +1,3 @@
1
- export { requestAction, requestActionAndWait } from "./action-service"
2
1
  export { removeLink, upsertLink, upsertLinkBatch } from "./link-service"
3
2
  export type { ListObjectsParams } from "./list-service"
4
3
  export { listObjects } from "./list-service"
@@ -3,8 +3,6 @@ import type { SixbErrorCode } from "../errors/types"
3
3
  import { QueueError } from "./errors"
4
4
  import { IndexedHeap } from "./indexed-heap"
5
5
  import type {
6
- ActionQueueJobFailureCode,
7
- ActionRunRequestedQueueJob,
8
6
  AgentQueueJob,
9
7
  AgentQueueJobFailureCode,
10
8
  ClaimedQueueJob,
@@ -458,10 +456,6 @@ export class InMemoryQueues implements Queues {
458
456
  this.store,
459
457
  "workflow.runs"
460
458
  )
461
- readonly actions = new InMemoryQueue<ActionRunRequestedQueueJob, ActionQueueJobFailureCode>(
462
- this.store,
463
- "action.runs"
464
- )
465
459
  readonly agents = new InMemoryQueue<AgentQueueJob, AgentQueueJobFailureCode>(
466
460
  this.store,
467
461
  "agent.runs"
@@ -15,8 +15,6 @@ export type { ProviderScope } from "../provider-scope"
15
15
  export { QueueError } from "./errors"
16
16
  export { InMemoryQueues } from "./in-memory"
17
17
  export type {
18
- ActionQueueJobFailureCode,
19
- ActionRunRequestedQueueJob,
20
18
  AgentAiUsageRecordRequestedQueueJob,
21
19
  AgentQueueJob,
22
20
  AgentQueueJobFailureCode,
@@ -6,7 +6,6 @@ import type {
6
6
  } from "../models/execution/types"
7
7
  import type { ProjectionRunFailureCode } from "../projections/types"
8
8
  import type { ProviderScope } from "../provider-scope"
9
- import type { ActionRunFailureCode } from "../storage/action-runs/types"
10
9
  import type { AgentRunFailureCode } from "../storage/agents/types"
11
10
  import type { PipelineRunFailureCode } from "../storage/pipeline-runs/types"
12
11
  import type { SyncRunFailureCode } from "../storage/sync-runs/types"
@@ -48,7 +47,6 @@ export type SyncQueueJobFailureCode = SyncRunFailureCode
48
47
  export type PipelineQueueJobFailureCode = PipelineRunFailureCode
49
48
  export type ProjectionQueueJobFailureCode = ProjectionRunFailureCode
50
49
  export type WorkflowQueueJobFailureCode = WorkflowRunFailureCode
51
- export type ActionQueueJobFailureCode = ActionRunFailureCode
52
50
  export type AgentQueueJobFailureCode = AgentRunFailureCode
53
51
 
54
52
  export interface ClaimedQueueJob<TQueueJob extends QueueJob = QueueJob> {
@@ -176,14 +174,6 @@ export interface WorkflowRunResumeRequestedQueueJob
176
174
 
177
175
  export type WorkflowQueueJob = WorkflowRunRequestedQueueJob | WorkflowRunResumeRequestedQueueJob
178
176
 
179
- export interface ActionRunRequestedQueueJob
180
- extends QueueJob<
181
- "action.run.requested",
182
- {
183
- readonly runId: string
184
- }
185
- > {}
186
-
187
177
  /**
188
178
  * An agent turn is requested for a thread. The payload points to the durable queued run created
189
179
  * with the user message; the worker transitions it to running and installs the delivery's execution
@@ -245,7 +235,6 @@ export interface Queues {
245
235
  readonly pipelines: Queue<PipelineRunRequestedQueueJob, PipelineQueueJobFailureCode>
246
236
  readonly projections: Queue<ProjectionRunRequestedQueueJob, ProjectionQueueJobFailureCode>
247
237
  readonly workflows: Queue<WorkflowQueueJob, WorkflowQueueJobFailureCode>
248
- readonly actions: Queue<ActionRunRequestedQueueJob, ActionQueueJobFailureCode>
249
238
  readonly agents: Queue<AgentQueueJob, AgentQueueJobFailureCode>
250
239
  /** Internal capacity reserved for headless child runs. */
251
240
  readonly agentChildren: Queue<SubagentQueueJob, AgentQueueJobFailureCode>
@@ -6,6 +6,7 @@
6
6
  */
7
7
 
8
8
  import { resolve } from "node:path"
9
+ import { ActionRunExecutor, registerActionRunExecutor } from "../actions/run/executor"
9
10
  import type { ActionDefinition } from "../actions/types"
10
11
  import type { AgentDefinitionsInput, AgentToolDefinition } from "../agents"
11
12
  import {
@@ -294,6 +295,10 @@ export class SixbHost<in out TParams extends ParamsConfig = ParamsConfig> {
294
295
  }
295
296
  registerProjectionRegistry(this.hostContext, definitions.projections)
296
297
  shareSixbErrorReporter(this, this.hostContext)
298
+ // Bound SDKs run requested Actions through the context; the host drains them on shutdown.
299
+ const executor = new ActionRunExecutor(this)
300
+ registerActionRunExecutor(this, executor)
301
+ registerActionRunExecutor(this.hostContext, executor)
297
302
  registerVectorIndexingRuntime(
298
303
  this,
299
304
  createVectorIndexingRuntime(this.hostContext, this.materializer)
@@ -145,7 +145,6 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
145
145
 
146
146
  validateSchedulesAtStartup(schedules, ontology, {
147
147
  registeredRuleIds: new Set(rulesById.keys()),
148
- registeredActionIds,
149
148
  registeredDatasetIds: new Set(datasetsById.keys()),
150
149
  registeredSyncIds: new Set(syncsById.keys()),
151
150
  registeredPipelineIds: new Set(pipelinesById.keys()),
@@ -5,12 +5,7 @@
5
5
  * Each level narrows generic parameters so downstream code stays type-safe.
6
6
  */
7
7
 
8
- import type {
9
- ActionDefinitionCatalog,
10
- ActionParamsConfig,
11
- InferActionParams,
12
- RequestActionResult,
13
- } from "../actions"
8
+ import type { ActionDefinitionCatalog, ActionParamsConfig, InferActionParams } from "../actions"
14
9
  import type { AuthorizationContext } from "../authorization"
15
10
  import type { OpenedFileRef } from "../blob-storage"
16
11
  import type { Broker } from "../broker"
@@ -860,36 +855,25 @@ export interface ObjectByIdHandle<TObjectType extends ObjectTypeWithPropertyToke
860
855
  target: ObjectRef<ResolveTargetTypeId<TLinkToken["targetObjectTypeId"]>>
861
856
  ): Promise<void>
862
857
 
863
- /** Request an action on this object by id (dynamic / server contexts). */
858
+ /**
859
+ * Run an action on this object by id (dynamic / server contexts) and return its terminal run.
860
+ * A failed run resolves with status `failed`.
861
+ */
864
862
  requestAction(input: {
865
863
  actionId: string
866
864
  params?: Record<string, unknown>
867
865
  runId?: string
868
- }): Promise<RequestActionResult>
866
+ signal?: AbortSignal
867
+ }): Promise<ActionRunRecord>
869
868
 
870
869
  /**
871
- * Request an action on this object using a typed action reference.
870
+ * Run an action on this object using a typed action reference, and return its terminal run.
872
871
  * Params are inferred from the action's declared shape.
873
872
  */
874
873
  requestAction<const TAction extends TypedActionReference>(input: {
875
874
  action: TAction
876
875
  params: NoInfer<TypedActionParams<TAction>>
877
876
  runId?: string
878
- }): Promise<RequestActionResult>
879
-
880
- /** Request an action and wait for the terminal lifecycle event. */
881
- requestActionAndWait(input: {
882
- actionId: string
883
- params?: Record<string, unknown>
884
- timeoutMs?: number
885
- signal?: AbortSignal
886
- }): Promise<ActionRunRecord>
887
-
888
- /** Request a typed action and wait for the terminal lifecycle event. */
889
- requestActionAndWait<const TAction extends TypedActionReference>(input: {
890
- action: TAction
891
- params: NoInfer<TypedActionParams<TAction>>
892
- timeoutMs?: number
893
877
  signal?: AbortSignal
894
878
  }): Promise<ActionRunRecord>
895
879
 
@@ -931,40 +915,27 @@ export interface ObjectSet<TObjectType extends ObjectTypeWithPropertyTokens>
931
915
  }[]
932
916
  ): Promise<void>
933
917
 
934
- /** Request an action on an object of this type by id (dynamic / server contexts). */
918
+ /**
919
+ * Run an action on an object of this type by id (dynamic / server contexts) and return its
920
+ * terminal run. A failed run resolves with status `failed`.
921
+ */
935
922
  requestAction(input: {
936
923
  id: string
937
924
  actionId: string
938
925
  params?: Record<string, unknown>
939
926
  runId?: string
940
- }): Promise<RequestActionResult>
927
+ signal?: AbortSignal
928
+ }): Promise<ActionRunRecord>
941
929
 
942
930
  /**
943
- * Request an action on an object of this type using a typed action reference.
944
- * Params are inferred from the action's declared shape.
931
+ * Run an action on an object of this type using a typed action reference, and return its
932
+ * terminal run. Params are inferred from the action's declared shape.
945
933
  */
946
934
  requestAction<const TAction extends TypedActionReference>(input: {
947
935
  id: string
948
936
  action: TAction
949
937
  params: NoInfer<TypedActionParams<TAction>>
950
938
  runId?: string
951
- }): Promise<RequestActionResult>
952
-
953
- /** Request an action on an object and wait for the terminal lifecycle event. */
954
- requestActionAndWait(input: {
955
- id: string
956
- actionId: string
957
- params?: Record<string, unknown>
958
- timeoutMs?: number
959
- signal?: AbortSignal
960
- }): Promise<ActionRunRecord>
961
-
962
- /** Request a typed action and wait for the terminal lifecycle event. */
963
- requestActionAndWait<const TAction extends TypedActionReference>(input: {
964
- id: string
965
- action: TAction
966
- params: NoInfer<TypedActionParams<TAction>>
967
- timeoutMs?: number
968
939
  signal?: AbortSignal
969
940
  }): Promise<ActionRunRecord>
970
941
 
@@ -169,9 +169,6 @@ function assertEventSource(source: EventSelectorSpec): void {
169
169
  case "rules":
170
170
  assertNonEmpty(source.ruleId ?? "", "event source ruleId")
171
171
  return
172
- case "actions":
173
- assertNonEmpty(source.actionId ?? "", "event source actionId")
174
- return
175
172
  case "datasets":
176
173
  assertNonEmpty(source.datasetId ?? "", "event source datasetId")
177
174
  return
@@ -183,7 +180,7 @@ function assertEventSource(source: EventSelectorSpec): void {
183
180
  return
184
181
  default:
185
182
  throw new ScheduleValidationError(
186
- "Schedule event source must select object, link, rule, action, dataset, sync, or pipeline events."
183
+ "Schedule event source must select object, link, rule, dataset, sync, or pipeline events."
187
184
  )
188
185
  }
189
186
  }