@sixb/core 0.1.18 → 0.1.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/README.md +7 -6
  2. package/dist/actions/commit-edits.d.ts +7 -19
  3. package/dist/actions/commit-edits.d.ts.map +1 -1
  4. package/dist/actions/errors.d.ts +0 -3
  5. package/dist/actions/errors.d.ts.map +1 -1
  6. package/dist/actions/execution.d.ts +10 -3
  7. package/dist/actions/execution.d.ts.map +1 -1
  8. package/dist/actions/index.d.ts +6 -9
  9. package/dist/actions/index.d.ts.map +1 -1
  10. package/dist/actions/index.js +51 -50
  11. package/dist/actions/index.js.map +1 -1
  12. package/dist/actions/request.d.ts +14 -25
  13. package/dist/actions/request.d.ts.map +1 -1
  14. package/dist/actions/run/context.d.ts +40 -0
  15. package/dist/actions/run/context.d.ts.map +1 -0
  16. package/dist/actions/run/edits-commit.d.ts +31 -0
  17. package/dist/actions/run/edits-commit.d.ts.map +1 -0
  18. package/dist/actions/run/effects.d.ts +23 -0
  19. package/dist/actions/run/effects.d.ts.map +1 -0
  20. package/dist/actions/run/execute.d.ts +30 -0
  21. package/dist/actions/run/execute.d.ts.map +1 -0
  22. package/dist/actions/run/executor.d.ts +95 -0
  23. package/dist/actions/run/executor.d.ts.map +1 -0
  24. package/dist/actions/run/normalize.d.ts +36 -0
  25. package/dist/actions/run/normalize.d.ts.map +1 -0
  26. package/dist/actions/run/phase-types.d.ts +18 -0
  27. package/dist/actions/run/phase-types.d.ts.map +1 -0
  28. package/dist/actions/run/phases.d.ts +20 -0
  29. package/dist/actions/run/phases.d.ts.map +1 -0
  30. package/dist/actions/run/run-action.d.ts +25 -0
  31. package/dist/actions/run/run-action.d.ts.map +1 -0
  32. package/dist/actions/run/signals.d.ts +67 -0
  33. package/dist/actions/run/signals.d.ts.map +1 -0
  34. package/dist/actions/run/state.d.ts +47 -0
  35. package/dist/actions/run/state.d.ts.map +1 -0
  36. package/dist/actions/run/types.d.ts +54 -0
  37. package/dist/actions/run/types.d.ts.map +1 -0
  38. package/dist/actions/run/writeback.d.ts +17 -0
  39. package/dist/actions/run/writeback.d.ts.map +1 -0
  40. package/dist/actions/run-authorization.d.ts +1 -1
  41. package/dist/actions/run-authorization.d.ts.map +1 -1
  42. package/dist/actions/run-persistence.d.ts +53 -0
  43. package/dist/actions/run-persistence.d.ts.map +1 -0
  44. package/dist/actions/types/context.d.ts +10 -0
  45. package/dist/actions/types/context.d.ts.map +1 -1
  46. package/dist/agents/index.js +52 -55
  47. package/dist/agents/index.js.map +1 -1
  48. package/dist/agents/streams/index.js +2 -2
  49. package/dist/agents/streams/internal.js +2 -2
  50. package/dist/auth/cookies.d.ts +2 -4
  51. package/dist/auth/cookies.d.ts.map +1 -1
  52. package/dist/auth/index.d.ts +0 -2
  53. package/dist/auth/index.d.ts.map +1 -1
  54. package/dist/auth/index.js +15 -21
  55. package/dist/auth/index.js.map +1 -1
  56. package/dist/auth/runtime.d.ts +8 -10
  57. package/dist/auth/runtime.d.ts.map +1 -1
  58. package/dist/auth/session-cache.d.ts +1 -5
  59. package/dist/auth/session-cache.d.ts.map +1 -1
  60. package/dist/auth/strategy.js +1 -1
  61. package/dist/auth/types.d.ts +4 -8
  62. package/dist/auth/types.d.ts.map +1 -1
  63. package/dist/auth/validation.d.ts +0 -1
  64. package/dist/auth/validation.d.ts.map +1 -1
  65. package/dist/authorization/decision.d.ts +0 -4
  66. package/dist/authorization/decision.d.ts.map +1 -1
  67. package/dist/authorization/event-visibility.d.ts.map +1 -1
  68. package/dist/authorization/grant-kinds.d.ts +6 -8
  69. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  70. package/dist/authorization/index.d.ts +0 -1
  71. package/dist/authorization/index.d.ts.map +1 -1
  72. package/dist/authorization/index.js +5 -9
  73. package/dist/authorization/index.js.map +1 -1
  74. package/dist/authorization/resolve.d.ts +1 -1
  75. package/dist/authorization/resolve.d.ts.map +1 -1
  76. package/dist/bootstrap/index.js +50 -53
  77. package/dist/bootstrap/index.js.map +2 -2
  78. package/dist/{chunk-vz3gc1tm.js → chunk-0rbyz4qy.js} +67 -69
  79. package/dist/{chunk-vz3gc1tm.js.map → chunk-0rbyz4qy.js.map} +4 -4
  80. package/dist/{chunk-rz53yb4v.js → chunk-0yh890a4.js} +1 -1
  81. package/dist/{chunk-vgk3hknm.js → chunk-1k89ecfr.js} +1 -1
  82. package/dist/{chunk-ny3xyvcn.js → chunk-1zq2p6g0.js} +3 -3
  83. package/dist/{chunk-dnmadg9k.js → chunk-3t2hgbgd.js} +2 -2
  84. package/dist/{chunk-k6hrnf35.js → chunk-4vyr1j8f.js} +51 -4
  85. package/dist/chunk-4vyr1j8f.js.map +11 -0
  86. package/dist/{chunk-22v5bpz3.js → chunk-5e43w60z.js} +1 -1
  87. package/dist/{chunk-de4z2bj6.js → chunk-5j58wjct.js} +17 -17
  88. package/dist/chunk-5j58wjct.js.map +18 -0
  89. package/dist/{chunk-fe52eczz.js → chunk-6c6sn0bh.js} +6352 -2127
  90. package/dist/chunk-6c6sn0bh.js.map +106 -0
  91. package/dist/{chunk-7hpdd6r9.js → chunk-6p49a5cq.js} +4 -4
  92. package/dist/{chunk-b9affek3.js → chunk-7n440zgt.js} +30 -30
  93. package/dist/{chunk-b9affek3.js.map → chunk-7n440zgt.js.map} +4 -4
  94. package/dist/{chunk-kkqwzy6h.js → chunk-7t429e3f.js} +1 -1
  95. package/dist/{chunk-6fsr7y93.js → chunk-8mx7qw3y.js} +14 -13
  96. package/dist/{chunk-6fsr7y93.js.map → chunk-8mx7qw3y.js.map} +4 -4
  97. package/dist/{chunk-kpx7jrmn.js → chunk-91mg3nj9.js} +59 -59
  98. package/dist/{chunk-kpx7jrmn.js.map → chunk-91mg3nj9.js.map} +5 -5
  99. package/dist/{chunk-ex496vct.js → chunk-9dmt152s.js} +1 -1
  100. package/dist/{chunk-48e3cn2d.js → chunk-9gyp8hg1.js} +2 -2
  101. package/dist/{chunk-ewqa58h9.js → chunk-9k93ah50.js} +4 -4
  102. package/dist/{chunk-ewqa58h9.js.map → chunk-9k93ah50.js.map} +1 -1
  103. package/dist/{chunk-zxawp1n2.js → chunk-9w055r5b.js} +1 -1
  104. package/dist/{chunk-4wn7bxxa.js → chunk-9ybhtmg4.js} +1 -1
  105. package/dist/{chunk-fc5zfxy1.js → chunk-a40ad1ft.js} +5 -13
  106. package/dist/chunk-a40ad1ft.js.map +10 -0
  107. package/dist/{chunk-y2aq6ag9.js → chunk-b38szspf.js} +5 -14
  108. package/dist/chunk-b38szspf.js.map +11 -0
  109. package/dist/{chunk-r2y23egw.js → chunk-bkpke1sg.js} +1 -10
  110. package/dist/chunk-bkpke1sg.js.map +10 -0
  111. package/dist/{chunk-htr6wjmv.js → chunk-bx9q3cwv.js} +22 -22
  112. package/dist/{chunk-htr6wjmv.js.map → chunk-bx9q3cwv.js.map} +1 -1
  113. package/dist/{chunk-vx2yp45y.js → chunk-c85m1hyj.js} +2 -2
  114. package/dist/{chunk-bs7sqkre.js → chunk-d09tj99x.js} +2 -2
  115. package/dist/{chunk-qkbx3tf6.js → chunk-d0bqz29d.js} +27 -47
  116. package/dist/chunk-d0bqz29d.js.map +23 -0
  117. package/dist/{chunk-zb77kjth.js → chunk-dk8tkk5f.js} +4 -4
  118. package/dist/{chunk-xt1zt7gv.js → chunk-es1gxsbf.js} +24 -15
  119. package/dist/chunk-es1gxsbf.js.map +13 -0
  120. package/dist/{chunk-vjcd8d27.js → chunk-fa02jy15.js} +1 -1
  121. package/dist/{chunk-za5yd58j.js → chunk-fkgc1wt8.js} +2 -2
  122. package/dist/{chunk-enpsx8k5.js → chunk-gsjm1wms.js} +16 -20
  123. package/dist/chunk-gsjm1wms.js.map +10 -0
  124. package/dist/{chunk-2jntasmh.js → chunk-hcbyfxbe.js} +25 -49
  125. package/dist/chunk-hcbyfxbe.js.map +12 -0
  126. package/dist/{chunk-p0dqwj3n.js → chunk-hjzdd750.js} +66 -47
  127. package/dist/{chunk-p0dqwj3n.js.map → chunk-hjzdd750.js.map} +4 -4
  128. package/dist/chunk-hkc3jct7.js.map +1 -1
  129. package/dist/{chunk-y05543x6.js → chunk-hvsb78a1.js} +4 -4
  130. package/dist/{chunk-y05543x6.js.map → chunk-hvsb78a1.js.map} +1 -1
  131. package/dist/{chunk-1b1f2d5f.js → chunk-k6q3n2sc.js} +9 -9
  132. package/dist/{chunk-1b1f2d5f.js.map → chunk-k6q3n2sc.js.map} +1 -1
  133. package/dist/{chunk-wr8qp979.js → chunk-m427qgq0.js} +9 -5
  134. package/dist/{chunk-wr8qp979.js.map → chunk-m427qgq0.js.map} +4 -3
  135. package/dist/{chunk-qq90g05n.js → chunk-n33z5bjw.js} +50 -240
  136. package/dist/{chunk-qq90g05n.js.map → chunk-n33z5bjw.js.map} +4 -4
  137. package/dist/{chunk-e1c18xjx.js → chunk-nq6gpjt7.js} +4 -45
  138. package/dist/{chunk-e1c18xjx.js.map → chunk-nq6gpjt7.js.map} +5 -5
  139. package/dist/{chunk-1hqwggsn.js → chunk-nzapm6p0.js} +1 -2
  140. package/dist/chunk-nzapm6p0.js.map +12 -0
  141. package/dist/{chunk-wt4szfec.js → chunk-pbcbn83d.js} +4 -4
  142. package/dist/{chunk-wt4szfec.js.map → chunk-pbcbn83d.js.map} +1 -1
  143. package/dist/{chunk-s4jhg8a3.js → chunk-ren4kg2j.js} +15 -15
  144. package/dist/{chunk-s4jhg8a3.js.map → chunk-ren4kg2j.js.map} +1 -1
  145. package/dist/{chunk-d0eb5yy6.js → chunk-rrzt8jdy.js} +5 -5
  146. package/dist/{chunk-d0eb5yy6.js.map → chunk-rrzt8jdy.js.map} +1 -1
  147. package/dist/{chunk-y9jmd7e5.js → chunk-s16apyk9.js} +102 -16
  148. package/dist/chunk-s16apyk9.js.map +16 -0
  149. package/dist/{chunk-6gmfggss.js → chunk-t7x8dmn0.js} +2 -2
  150. package/dist/{chunk-f1zxad2t.js → chunk-tg2cw67r.js} +6 -6
  151. package/dist/{chunk-f1zxad2t.js.map → chunk-tg2cw67r.js.map} +1 -1
  152. package/dist/{chunk-p844e0rn.js → chunk-tpn40322.js} +2 -2
  153. package/dist/{chunk-rt9p8m9t.js → chunk-v9xd5wzd.js} +1 -1
  154. package/dist/{chunk-6h5m9xjx.js → chunk-vpq4shxz.js} +49 -113
  155. package/dist/chunk-vpq4shxz.js.map +39 -0
  156. package/dist/{chunk-2vhg6ysa.js → chunk-vyf9kfqf.js} +1 -1
  157. package/dist/{chunk-bwjcehza.js → chunk-way52z4h.js} +1 -1
  158. package/dist/{chunk-qkvz64nd.js → chunk-x6m907x7.js} +3 -3
  159. package/dist/{chunk-yv9czyfr.js → chunk-xfs8x8m9.js} +5 -5
  160. package/dist/chunk-y0c4e6ex.js +16 -0
  161. package/dist/chunk-y0c4e6ex.js.map +10 -0
  162. package/dist/{chunk-v6xpd60t.js → chunk-yevzdx4y.js} +5 -5
  163. package/dist/{chunk-dfm066qg.js → chunk-yxd3nnqt.js} +2 -29
  164. package/dist/chunk-yxd3nnqt.js.map +11 -0
  165. package/dist/{chunk-70jmg2zx.js → chunk-yzwja0mj.js} +4 -19
  166. package/dist/{chunk-70jmg2zx.js.map → chunk-yzwja0mj.js.map} +3 -3
  167. package/dist/{chunk-qmnnhde6.js → chunk-z4m0yz8c.js} +1 -1
  168. package/dist/datasets/write.js +5 -5
  169. package/dist/deploy/index.d.ts +1 -1
  170. package/dist/deploy/index.d.ts.map +1 -1
  171. package/dist/deploy/internal.js +13 -10
  172. package/dist/deploy/internal.js.map +4 -4
  173. package/dist/deploy/services.d.ts +1 -2
  174. package/dist/deploy/services.d.ts.map +1 -1
  175. package/dist/deploy/types.d.ts +7 -7
  176. package/dist/deploy/types.d.ts.map +1 -1
  177. package/dist/deploy/validation.d.ts.map +1 -1
  178. package/dist/edits/index.js +3 -5
  179. package/dist/edits/index.js.map +1 -1
  180. package/dist/error-reporting/internal.js +3 -3
  181. package/dist/error-reporting/types.d.ts +2 -9
  182. package/dist/error-reporting/types.d.ts.map +1 -1
  183. package/dist/errors/catalog.d.ts +12 -0
  184. package/dist/errors/catalog.d.ts.map +1 -1
  185. package/dist/errors/internal.js +1 -1
  186. package/dist/events/definitions.d.ts +0 -5
  187. package/dist/events/definitions.d.ts.map +1 -1
  188. package/dist/events/index.d.ts +3 -3
  189. package/dist/events/index.d.ts.map +1 -1
  190. package/dist/events/index.js +6 -8
  191. package/dist/events/index.js.map +1 -1
  192. package/dist/events/scope.d.ts +0 -1
  193. package/dist/events/scope.d.ts.map +1 -1
  194. package/dist/events/scope.js +1 -1
  195. package/dist/events/selectors/builder.d.ts +1 -8
  196. package/dist/events/selectors/builder.d.ts.map +1 -1
  197. package/dist/events/selectors/index.d.ts +2 -2
  198. package/dist/events/selectors/index.d.ts.map +1 -1
  199. package/dist/events/selectors/index.js +2 -2
  200. package/dist/events/selectors/predicate.d.ts.map +1 -1
  201. package/dist/events/selectors/types.d.ts +2 -33
  202. package/dist/events/selectors/types.d.ts.map +1 -1
  203. package/dist/events/types/index.d.ts +1 -12
  204. package/dist/events/types/index.d.ts.map +1 -1
  205. package/dist/execution/agent.js +41 -44
  206. package/dist/execution/agent.js.map +1 -1
  207. package/dist/execution/authorization.d.ts.map +1 -1
  208. package/dist/execution/primitive.js +60 -91
  209. package/dist/execution/primitive.js.map +3 -4
  210. package/dist/execution/request.js +40 -43
  211. package/dist/execution/request.js.map +2 -2
  212. package/dist/index.d.ts +8 -8
  213. package/dist/index.d.ts.map +1 -1
  214. package/dist/index.js +105 -127
  215. package/dist/index.js.map +1 -1
  216. package/dist/lake-storage/index.js +5 -5
  217. package/dist/materialization/index.js +3 -3
  218. package/dist/materialization/index.js.map +1 -1
  219. package/dist/materialization/model.d.ts +19 -6
  220. package/dist/materialization/model.d.ts.map +1 -1
  221. package/dist/materializer/index.js +31 -31
  222. package/dist/materializer/index.js.map +1 -1
  223. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  224. package/dist/models/execution/index.js +21 -21
  225. package/dist/objects/action/errors.d.ts +0 -9
  226. package/dist/objects/action/errors.d.ts.map +1 -1
  227. package/dist/objects/action/index.d.ts +3 -3
  228. package/dist/objects/action/index.d.ts.map +1 -1
  229. package/dist/objects/action/request.d.ts +2 -8
  230. package/dist/objects/action/request.d.ts.map +1 -1
  231. package/dist/objects/execution.d.ts +0 -2
  232. package/dist/objects/execution.d.ts.map +1 -1
  233. package/dist/objects/index.js +44 -29
  234. package/dist/objects/index.js.map +1 -1
  235. package/dist/objects/query/index.js +29 -29
  236. package/dist/objects/query/index.js.map +1 -1
  237. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  238. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  239. package/dist/objects/service/index.d.ts +0 -1
  240. package/dist/objects/service/index.d.ts.map +1 -1
  241. package/dist/objects/vectors/handle.d.ts.map +1 -1
  242. package/dist/objects/vectors/profile.d.ts +5 -0
  243. package/dist/objects/vectors/profile.d.ts.map +1 -1
  244. package/dist/ontology/index.js +6 -6
  245. package/dist/ontology/index.js.map +1 -1
  246. package/dist/ontology/internal.js +2 -2
  247. package/dist/pipelines/index.js +28 -28
  248. package/dist/projections/internal.js +22 -22
  249. package/dist/projections/internal.js.map +1 -1
  250. package/dist/query.js +2 -2
  251. package/dist/queues/in-memory.d.ts +1 -2
  252. package/dist/queues/in-memory.d.ts.map +1 -1
  253. package/dist/queues/index.d.ts +1 -1
  254. package/dist/queues/index.d.ts.map +1 -1
  255. package/dist/queues/index.js +1 -1
  256. package/dist/queues/types.d.ts +0 -7
  257. package/dist/queues/types.d.ts.map +1 -1
  258. package/dist/runtime/host.d.ts.map +1 -1
  259. package/dist/runtime/internal.js +27 -28
  260. package/dist/runtime/internal.js.map +1 -1
  261. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  262. package/dist/runtime/types.d.ts +16 -36
  263. package/dist/runtime/types.d.ts.map +1 -1
  264. package/dist/sandboxes/index.js +5 -5
  265. package/dist/schedules/builders.d.ts.map +1 -1
  266. package/dist/schedules/index.js +3 -3
  267. package/dist/schedules/runtime.d.ts.map +1 -1
  268. package/dist/schedules/validation.d.ts +0 -1
  269. package/dist/schedules/validation.d.ts.map +1 -1
  270. package/dist/security/builders.d.ts.map +1 -1
  271. package/dist/security/every.d.ts +2 -5
  272. package/dist/security/every.d.ts.map +1 -1
  273. package/dist/security/grants.d.ts +2 -4
  274. package/dist/security/grants.d.ts.map +1 -1
  275. package/dist/security/index.d.ts +1 -2
  276. package/dist/security/index.d.ts.map +1 -1
  277. package/dist/security/membership-policies.d.ts.map +1 -1
  278. package/dist/security/public.d.ts +10 -0
  279. package/dist/security/public.d.ts.map +1 -0
  280. package/dist/security/public.js +10 -0
  281. package/dist/security/public.js.map +9 -0
  282. package/dist/security/registry.d.ts +0 -1
  283. package/dist/security/registry.d.ts.map +1 -1
  284. package/dist/security/types.d.ts +13 -18
  285. package/dist/security/types.d.ts.map +1 -1
  286. package/dist/security/validation.d.ts +0 -6
  287. package/dist/security/validation.d.ts.map +1 -1
  288. package/dist/shares/internal.js +20 -20
  289. package/dist/storage/action-runs/failure.js +2 -2
  290. package/dist/storage/action-runs/idempotency.d.ts +3 -4
  291. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  292. package/dist/storage/action-runs/in-memory.d.ts +2 -9
  293. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  294. package/dist/storage/action-runs/index.d.ts +1 -3
  295. package/dist/storage/action-runs/index.d.ts.map +1 -1
  296. package/dist/storage/action-runs/provider.js +1 -1
  297. package/dist/storage/action-runs/record.d.ts +20 -0
  298. package/dist/storage/action-runs/record.d.ts.map +1 -0
  299. package/dist/storage/action-runs/types.d.ts +39 -68
  300. package/dist/storage/action-runs/types.d.ts.map +1 -1
  301. package/dist/storage/agents/types.d.ts +1 -1
  302. package/dist/storage/ai-limits/enforcement.js +2 -2
  303. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  304. package/dist/storage/auth/in-memory/magic-links.d.ts.map +1 -1
  305. package/dist/storage/auth/in-memory/oidc-attempts.d.ts.map +1 -1
  306. package/dist/storage/auth/in-memory/sessions.d.ts +0 -10
  307. package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
  308. package/dist/storage/auth/in-memory/shared.d.ts +1 -2
  309. package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
  310. package/dist/storage/auth/types.d.ts +1 -17
  311. package/dist/storage/auth/types.d.ts.map +1 -1
  312. package/dist/storage/connector-connections/provider.js +1 -1
  313. package/dist/storage/file-upload-sessions/provider.js +10 -10
  314. package/dist/storage/index.d.ts +2 -2
  315. package/dist/storage/index.d.ts.map +1 -1
  316. package/dist/storage/index.js +21 -22
  317. package/dist/storage/index.js.map +1 -1
  318. package/dist/storage/internal.d.ts +1 -1
  319. package/dist/storage/internal.d.ts.map +1 -1
  320. package/dist/storage/internal.js +9 -12
  321. package/dist/storage/internal.js.map +1 -1
  322. package/dist/storage/objects/execution-limits.d.ts +1 -1
  323. package/dist/storage/objects/execution-limits.d.ts.map +1 -1
  324. package/dist/storage/ontology/provider.js +2 -2
  325. package/dist/storage/projection-runs/provider.js +2 -2
  326. package/dist/storage/types.d.ts +1 -1
  327. package/dist/storage/types.d.ts.map +1 -1
  328. package/dist/storage/workflow-runs/provider.js +10 -10
  329. package/dist/syncs/index.js +29 -29
  330. package/dist/testing/action-execution.d.ts +34 -4
  331. package/dist/testing/action-execution.d.ts.map +1 -1
  332. package/dist/testing/action-run-storage-contract.d.ts +11 -0
  333. package/dist/testing/action-run-storage-contract.d.ts.map +1 -0
  334. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  335. package/dist/testing/index.d.ts +2 -1
  336. package/dist/testing/index.d.ts.map +1 -1
  337. package/dist/testing/index.js +3205 -2946
  338. package/dist/testing/index.js.map +9 -8
  339. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  340. package/dist/testing/queues-contract.d.ts.map +1 -1
  341. package/dist/webhooks/internal.js +26 -26
  342. package/dist/webhooks/internal.js.map +1 -1
  343. package/dist/workers/index.js +1 -1
  344. package/dist/workflows/index.js +48 -51
  345. package/dist/workflows/index.js.map +1 -1
  346. package/package.json +8 -8
  347. package/src/actions/commit-edits.ts +9 -37
  348. package/src/actions/errors.ts +0 -4
  349. package/src/actions/execution.ts +10 -10
  350. package/src/actions/index.ts +5 -24
  351. package/src/actions/request.ts +157 -295
  352. package/src/actions/run/context.ts +193 -0
  353. package/src/actions/run/edits-commit.ts +102 -0
  354. package/src/actions/run/effects.ts +105 -0
  355. package/src/actions/run/execute.ts +113 -0
  356. package/src/actions/run/executor.ts +314 -0
  357. package/src/actions/run/normalize.ts +142 -0
  358. package/src/actions/run/phase-types.ts +20 -0
  359. package/src/actions/run/phases.ts +150 -0
  360. package/src/actions/run/run-action.ts +170 -0
  361. package/src/actions/run/signals.ts +118 -0
  362. package/src/actions/run/state.ts +95 -0
  363. package/src/actions/run/types.ts +61 -0
  364. package/src/actions/run/writeback.ts +79 -0
  365. package/src/actions/run-authorization.ts +1 -1
  366. package/src/actions/run-persistence.ts +105 -0
  367. package/src/actions/types/context.ts +10 -0
  368. package/src/auth/cookies.ts +3 -20
  369. package/src/auth/index.ts +0 -6
  370. package/src/auth/runtime.ts +59 -76
  371. package/src/auth/session-cache.ts +2 -9
  372. package/src/auth/types.ts +4 -8
  373. package/src/auth/validation.ts +0 -2
  374. package/src/authorization/decision.ts +8 -23
  375. package/src/authorization/event-visibility.ts +0 -12
  376. package/src/authorization/grant-kinds.ts +20 -27
  377. package/src/authorization/index.ts +0 -1
  378. package/src/authorization/resolve.ts +10 -6
  379. package/src/deploy/index.ts +0 -1
  380. package/src/deploy/services.ts +2 -12
  381. package/src/deploy/types.ts +7 -8
  382. package/src/deploy/validation.ts +15 -7
  383. package/src/error-reporting/types.ts +2 -10
  384. package/src/errors/catalog.ts +13 -0
  385. package/src/events/definitions.ts +0 -17
  386. package/src/events/index.ts +0 -14
  387. package/src/events/scope.ts +0 -12
  388. package/src/events/selectors/builder.ts +0 -51
  389. package/src/events/selectors/index.ts +0 -6
  390. package/src/events/selectors/predicate.ts +0 -2
  391. package/src/events/selectors/types.ts +7 -65
  392. package/src/events/types/index.ts +0 -11
  393. package/src/execution/authorization.ts +11 -5
  394. package/src/index.ts +2 -33
  395. package/src/materialization/model.ts +26 -9
  396. package/src/materializer/README.md +6 -1
  397. package/src/materializer/edits/commit.ts +42 -32
  398. package/src/materializer/shared/normalize.ts +25 -14
  399. package/src/models/execution/embedding.ts +6 -6
  400. package/src/objects/action/errors.ts +0 -12
  401. package/src/objects/action/index.ts +3 -3
  402. package/src/objects/action/request.ts +2 -29
  403. package/src/objects/execution.ts +2 -2
  404. package/src/objects/sdk/object-handle.ts +3 -29
  405. package/src/objects/sdk/object-set.ts +5 -30
  406. package/src/objects/service/index.ts +0 -1
  407. package/src/objects/vectors/README.md +4 -0
  408. package/src/objects/vectors/handle.ts +11 -2
  409. package/src/objects/vectors/indexing-generate.ts +2 -2
  410. package/src/objects/vectors/profile.ts +5 -0
  411. package/src/queues/in-memory.ts +0 -6
  412. package/src/queues/index.ts +0 -2
  413. package/src/queues/types.ts +0 -11
  414. package/src/runtime/host.ts +5 -0
  415. package/src/runtime/resolve-definitions.ts +0 -1
  416. package/src/runtime/types.ts +16 -45
  417. package/src/schedules/builders.ts +1 -4
  418. package/src/schedules/runtime.ts +0 -41
  419. package/src/schedules/validation.ts +2 -16
  420. package/src/security/builders.ts +7 -2
  421. package/src/security/every.ts +1 -5
  422. package/src/security/grants.ts +5 -25
  423. package/src/security/index.ts +0 -3
  424. package/src/security/membership-policies.ts +3 -1
  425. package/src/security/public.ts +10 -0
  426. package/src/security/registry.ts +0 -8
  427. package/src/security/types.ts +19 -25
  428. package/src/security/validation.ts +19 -17
  429. package/src/storage/action-runs/idempotency.ts +13 -41
  430. package/src/storage/action-runs/in-memory.ts +20 -311
  431. package/src/storage/action-runs/index.ts +1 -16
  432. package/src/storage/action-runs/record.ts +130 -0
  433. package/src/storage/action-runs/types.ts +37 -92
  434. package/src/storage/agents/types.ts +1 -1
  435. package/src/storage/auth/in-memory/auth-storage.ts +0 -18
  436. package/src/storage/auth/in-memory/magic-links.ts +0 -3
  437. package/src/storage/auth/in-memory/oidc-attempts.ts +0 -3
  438. package/src/storage/auth/in-memory/sessions.ts +1 -25
  439. package/src/storage/auth/in-memory/shared.ts +1 -10
  440. package/src/storage/auth/types.ts +2 -18
  441. package/src/storage/index.ts +1 -9
  442. package/src/storage/internal.ts +1 -7
  443. package/src/storage/objects/execution-limits.ts +3 -2
  444. package/src/storage/types.ts +2 -4
  445. package/src/testing/action-execution.ts +73 -13
  446. package/src/testing/action-run-storage-contract.ts +335 -0
  447. package/src/testing/auth-storage-contract.ts +14 -107
  448. package/src/testing/execution-storage-contract.ts +0 -2
  449. package/src/testing/index.ts +8 -1
  450. package/src/testing/materializer-storage-contract.ts +174 -18
  451. package/src/testing/queues-contract.ts +0 -18
  452. package/dist/actions/run-dispatch.d.ts +0 -25
  453. package/dist/actions/run-dispatch.d.ts.map +0 -1
  454. package/dist/actions/worker.d.ts +0 -3
  455. package/dist/actions/worker.d.ts.map +0 -1
  456. package/dist/actions/worker.js +0 -325
  457. package/dist/actions/worker.js.map +0 -11
  458. package/dist/auth/audience.d.ts +0 -8
  459. package/dist/auth/audience.d.ts.map +0 -1
  460. package/dist/authorization/application-access.d.ts +0 -18
  461. package/dist/authorization/application-access.d.ts.map +0 -1
  462. package/dist/chunk-1hqwggsn.js.map +0 -12
  463. package/dist/chunk-2jntasmh.js.map +0 -13
  464. package/dist/chunk-6h5m9xjx.js.map +0 -40
  465. package/dist/chunk-85cd7e8c.js +0 -51
  466. package/dist/chunk-85cd7e8c.js.map +0 -10
  467. package/dist/chunk-de4z2bj6.js.map +0 -18
  468. package/dist/chunk-dfm066qg.js.map +0 -11
  469. package/dist/chunk-enpsx8k5.js.map +0 -10
  470. package/dist/chunk-fc5zfxy1.js.map +0 -11
  471. package/dist/chunk-fe52eczz.js.map +0 -49
  472. package/dist/chunk-fx93hd2n.js +0 -1614
  473. package/dist/chunk-fx93hd2n.js.map +0 -20
  474. package/dist/chunk-k6hrnf35.js.map +0 -10
  475. package/dist/chunk-qkbx3tf6.js.map +0 -24
  476. package/dist/chunk-qxvp5epv.js +0 -1329
  477. package/dist/chunk-qxvp5epv.js.map +0 -36
  478. package/dist/chunk-r2y23egw.js.map +0 -10
  479. package/dist/chunk-tffvfy6s.js +0 -593
  480. package/dist/chunk-tffvfy6s.js.map +0 -15
  481. package/dist/chunk-xt1zt7gv.js.map +0 -13
  482. package/dist/chunk-y2aq6ag9.js.map +0 -11
  483. package/dist/chunk-y9jmd7e5.js.map +0 -15
  484. package/dist/chunk-zvx7h87b.js +0 -12
  485. package/dist/chunk-zvx7h87b.js.map +0 -10
  486. package/dist/events/types/actions.d.ts +0 -39
  487. package/dist/events/types/actions.d.ts.map +0 -1
  488. package/dist/objects/service/action-service.d.ts +0 -13
  489. package/dist/objects/service/action-service.d.ts.map +0 -1
  490. package/dist/security/applications.d.ts +0 -15
  491. package/dist/security/applications.d.ts.map +0 -1
  492. package/src/actions/run-dispatch.ts +0 -282
  493. package/src/actions/worker.ts +0 -2
  494. package/src/auth/audience.ts +0 -28
  495. package/src/authorization/application-access.ts +0 -34
  496. package/src/events/types/actions.ts +0 -42
  497. package/src/objects/service/action-service.ts +0 -43
  498. package/src/security/applications.ts +0 -11
  499. /package/dist/{chunk-rz53yb4v.js.map → chunk-0yh890a4.js.map} +0 -0
  500. /package/dist/{chunk-vgk3hknm.js.map → chunk-1k89ecfr.js.map} +0 -0
  501. /package/dist/{chunk-ny3xyvcn.js.map → chunk-1zq2p6g0.js.map} +0 -0
  502. /package/dist/{chunk-dnmadg9k.js.map → chunk-3t2hgbgd.js.map} +0 -0
  503. /package/dist/{chunk-22v5bpz3.js.map → chunk-5e43w60z.js.map} +0 -0
  504. /package/dist/{chunk-7hpdd6r9.js.map → chunk-6p49a5cq.js.map} +0 -0
  505. /package/dist/{chunk-kkqwzy6h.js.map → chunk-7t429e3f.js.map} +0 -0
  506. /package/dist/{chunk-ex496vct.js.map → chunk-9dmt152s.js.map} +0 -0
  507. /package/dist/{chunk-48e3cn2d.js.map → chunk-9gyp8hg1.js.map} +0 -0
  508. /package/dist/{chunk-zxawp1n2.js.map → chunk-9w055r5b.js.map} +0 -0
  509. /package/dist/{chunk-4wn7bxxa.js.map → chunk-9ybhtmg4.js.map} +0 -0
  510. /package/dist/{chunk-vx2yp45y.js.map → chunk-c85m1hyj.js.map} +0 -0
  511. /package/dist/{chunk-bs7sqkre.js.map → chunk-d09tj99x.js.map} +0 -0
  512. /package/dist/{chunk-zb77kjth.js.map → chunk-dk8tkk5f.js.map} +0 -0
  513. /package/dist/{chunk-vjcd8d27.js.map → chunk-fa02jy15.js.map} +0 -0
  514. /package/dist/{chunk-za5yd58j.js.map → chunk-fkgc1wt8.js.map} +0 -0
  515. /package/dist/{chunk-6gmfggss.js.map → chunk-t7x8dmn0.js.map} +0 -0
  516. /package/dist/{chunk-p844e0rn.js.map → chunk-tpn40322.js.map} +0 -0
  517. /package/dist/{chunk-rt9p8m9t.js.map → chunk-v9xd5wzd.js.map} +0 -0
  518. /package/dist/{chunk-2vhg6ysa.js.map → chunk-vyf9kfqf.js.map} +0 -0
  519. /package/dist/{chunk-bwjcehza.js.map → chunk-way52z4h.js.map} +0 -0
  520. /package/dist/{chunk-qkvz64nd.js.map → chunk-x6m907x7.js.map} +0 -0
  521. /package/dist/{chunk-yv9czyfr.js.map → chunk-xfs8x8m9.js.map} +0 -0
  522. /package/dist/{chunk-v6xpd60t.js.map → chunk-yevzdx4y.js.map} +0 -0
  523. /package/dist/{chunk-qmnnhde6.js.map → chunk-z4m0yz8c.js.map} +0 -0
@@ -8,10 +8,9 @@
8
8
  * entry in `GRANT_KINDS` plus the compile errors that forces at every consumer.
9
9
  */
10
10
 
11
- import type { AgentRunGrant, GrantDefinition } from "../security/types"
11
+ import type { GrantDefinition } from "../security/types"
12
12
 
13
13
  export type GrantKind =
14
- | "access:application"
15
14
  | "view:object"
16
15
  | "view:dataset"
17
16
  | "edit:object"
@@ -27,12 +26,12 @@ export type GrantKind =
27
26
  | "manage:connector"
28
27
  | "manage:aiUsage"
29
28
 
30
- export type SingletonGrantKind = "run:agent"
29
+ /** Capabilities over one project-wide surface: held or not, with no ids to select. */
30
+ export type SingletonGrantKind = "run:agent" | "observe:logs" | "observe:aiUsage" | "manage:aiUsage"
31
31
  export type TargetedGrantKind = Exclude<GrantKind, SingletonGrantKind>
32
32
 
33
33
  /** Registered id universes a grant kind ranges over, plus subtype expansion. */
34
34
  export interface GrantUniverse {
35
- readonly applicationIds: ReadonlySet<string>
36
35
  readonly objectTypeIds: ReadonlySet<string>
37
36
  readonly datasetIds: ReadonlySet<string>
38
37
  readonly actionIds: ReadonlySet<string>
@@ -40,9 +39,7 @@ export interface GrantUniverse {
40
39
  readonly workflowIds: ReadonlySet<string>
41
40
  readonly syncIds: ReadonlySet<string>
42
41
  readonly pipelineIds: ReadonlySet<string>
43
- readonly observableIds: ReadonlySet<string>
44
42
  readonly connectorIds: ReadonlySet<string>
45
- readonly manageableIds: ReadonlySet<string>
46
43
  readonly getSubTypes: (objectTypeId: string) => readonly string[]
47
44
  }
48
45
 
@@ -76,11 +73,6 @@ export const GRANT_KINDS: {
76
73
  ? SingletonGrantKindSpec
77
74
  : TargetedGrantKindSpec
78
75
  } = {
79
- "access:application": {
80
- universeKey: "applicationIds",
81
- subject: "application",
82
- fix: "Use an application exported from '@sixb/core'.",
83
- },
84
76
  "view:object": {
85
77
  universeKey: "objectTypeIds",
86
78
  subject: "object type",
@@ -136,13 +128,13 @@ export const GRANT_KINDS: {
136
128
  fix: "Configure models.language and use the exported agent reference in can.run(agent).",
137
129
  },
138
130
  "observe:logs": {
139
- universeKey: "observableIds",
140
- subject: "observability surface",
131
+ singleton: true,
132
+ subject: "logs",
141
133
  fix: 'Use can.observe("logs").',
142
134
  },
143
135
  "observe:aiUsage": {
144
- universeKey: "observableIds",
145
- subject: "observability surface",
136
+ singleton: true,
137
+ subject: "AI usage",
146
138
  fix: "Use can.observe(agent.usage).",
147
139
  },
148
140
  "manage:connector": {
@@ -151,25 +143,27 @@ export const GRANT_KINDS: {
151
143
  fix: "Add it to 'connectors/' or pass it to createSixb({ connectors }).",
152
144
  },
153
145
  "manage:aiUsage": {
154
- universeKey: "manageableIds",
155
- subject: "management surface",
146
+ singleton: true,
147
+ subject: "AI usage",
156
148
  fix: "Use can.manage(agent.usage).",
157
149
  },
158
150
  }
159
151
 
160
152
  export const GRANT_KIND_KEYS = Object.keys(GRANT_KINDS) as readonly GrantKind[]
153
+ export const SINGLETON_GRANT_KIND_KEYS = GRANT_KIND_KEYS.filter(
154
+ (kind): kind is SingletonGrantKind => "singleton" in GRANT_KINDS[kind]
155
+ )
161
156
  export const TARGETED_GRANT_KIND_KEYS = GRANT_KIND_KEYS.filter(
162
- (kind): kind is TargetedGrantKind => kind !== "run:agent"
157
+ (kind): kind is TargetedGrantKind => !("singleton" in GRANT_KINDS[kind])
163
158
  )
164
159
 
160
+ export function isSingletonGrantKind(kind: GrantKind): kind is SingletonGrantKind {
161
+ return "singleton" in GRANT_KINDS[kind]
162
+ }
163
+
165
164
  /** The grant kind a stored grant resolves to. */
166
- export function grantKindOf(grant: AgentRunGrant): SingletonGrantKind
167
- export function grantKindOf(grant: Exclude<GrantDefinition, AgentRunGrant>): TargetedGrantKind
168
- export function grantKindOf(grant: GrantDefinition): GrantKind
169
165
  export function grantKindOf(grant: GrantDefinition): GrantKind {
170
166
  switch (grant.capability) {
171
- case "access":
172
- return "access:application"
173
167
  case "view":
174
168
  return `view:${grant.target}`
175
169
  case "edit":
@@ -196,7 +190,6 @@ export type MutableGrantIndex = {
196
190
 
197
191
  export function emptyGrantSets(): MutableGrantIndex {
198
192
  return {
199
- "access:application": new Set(),
200
193
  "view:object": new Set(),
201
194
  "view:dataset": new Set(),
202
195
  "edit:object": new Set(),
@@ -207,9 +200,9 @@ export function emptyGrantSets(): MutableGrantIndex {
207
200
  "run:sync": new Set(),
208
201
  "run:pipeline": new Set(),
209
202
  "run:agent": false,
210
- "observe:logs": new Set(),
211
- "observe:aiUsage": new Set(),
203
+ "observe:logs": false,
204
+ "observe:aiUsage": false,
212
205
  "manage:connector": new Set(),
213
- "manage:aiUsage": new Set(),
206
+ "manage:aiUsage": false,
214
207
  }
215
208
  }
@@ -1,4 +1,3 @@
1
- export { canAccessApplication, isApplicationAccessControlled } from "./application-access"
2
1
  export type { AuthzDecision, AuthzRequest } from "./decision"
3
2
  export {
4
3
  assertAuthorized,
@@ -5,6 +5,8 @@ import {
5
5
  GRANT_KINDS,
6
6
  type GrantUniverse,
7
7
  grantKindOf,
8
+ isSingletonGrantKind,
9
+ SINGLETON_GRANT_KIND_KEYS,
8
10
  TARGETED_GRANT_KIND_KEYS,
9
11
  } from "./grant-kinds"
10
12
  import type { AuthorizationContext, GrantIndex, ResolvedRole } from "./types"
@@ -14,7 +16,7 @@ import type { AuthorizationContext, GrantIndex, ResolvedRole } from "./types"
14
16
  *
15
17
  * Broad grants (`every.object().except([...])`) expand against the registered
16
18
  * universe; object-type grants also expand to subtypes. Resource grants become
17
- * id sets; the project Agent grant becomes a boolean.
19
+ * id sets; grants on one project-wide surface (the Agent, logs, AI usage) become booleans.
18
20
  * The per-kind universe and subtype rules come from the `GRANT_KINDS` table, so
19
21
  * this loop never enumerates targets by hand.
20
22
  */
@@ -22,11 +24,13 @@ export function resolveRoleGrants(role: RoleDefinition, universe: GrantUniverse)
22
24
  const grants = emptyGrantSets()
23
25
 
24
26
  for (const grant of role.grants) {
25
- if (grant.capability === "run" && grant.target === "agent") {
26
- grants["run:agent"] = true
27
+ const kind = grantKindOf(grant)
28
+ if (isSingletonGrantKind(kind)) {
29
+ grants[kind] = true
27
30
  continue
28
31
  }
29
- const kind = grantKindOf(grant)
32
+ // Every other kind carries a selection; this narrows the grant's type to say so.
33
+ if (!("selection" in grant)) continue
30
34
  const spec = GRANT_KINDS[kind]
31
35
  expandSelection(
32
36
  grant.selection,
@@ -89,8 +93,8 @@ export function resolveAuthorizationContext(input: {
89
93
  }
90
94
 
91
95
  roleIds.push(role.id)
92
- if (role.grants["run:agent"]) {
93
- grants["run:agent"] = true
96
+ for (const kind of SINGLETON_GRANT_KIND_KEYS) {
97
+ if (role.grants[kind]) grants[kind] = true
94
98
  }
95
99
  for (const kind of TARGETED_GRANT_KIND_KEYS) {
96
100
  for (const id of role.grants[kind]) {
@@ -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,
@@ -11,7 +10,6 @@ import type {
11
10
 
12
11
  const SERVICES = {
13
12
  api: "http",
14
- atlas: "http",
15
13
  app: "http",
16
14
  orchestrator: "singleton",
17
15
  scheduler: "singleton",
@@ -19,27 +17,19 @@ const SERVICES = {
19
17
  workers: "workers",
20
18
  } as const satisfies Record<DeployServiceName, "http" | "singleton" | "workers">
21
19
 
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
- } = {
20
+ const WORKER_TYPES = {
26
21
  sync: true,
27
- action: false,
28
22
  agent: true,
29
23
  pipeline: true,
30
24
  projection: true,
31
25
  workflow: true,
32
- }
26
+ } as const satisfies Record<DeployWorkerType, true>
33
27
 
34
28
  /** Every service, in the order a deployment lists them. */
35
29
  export const DEPLOY_SERVICES = Object.keys(SERVICES) as DeployServiceName[]
36
30
 
37
31
  export const DEPLOY_WORKER_TYPES = Object.keys(WORKER_TYPES) as DeployWorkerType[]
38
32
 
39
- export const DEPLOY_CONFIGURABLE_WORKER_TYPES = DEPLOY_WORKER_TYPES.filter(
40
- (workerType): workerType is DeployConfigurableWorkerType => WORKER_TYPES[workerType]
41
- )
42
-
43
33
  export function isDeployHttpService(service: DeployServiceName): service is DeployHttpServiceName {
44
34
  return SERVICES[service] === "http"
45
35
  }
@@ -29,21 +29,17 @@ export interface DeployConfig {
29
29
  export type DeployEnv = Readonly<Record<string, string>>
30
30
 
31
31
  /** The services a browser or client reaches through a public domain. */
32
- export type DeployHttpServiceName = "api" | "atlas" | "app"
32
+ export type DeployHttpServiceName = "api" | "app"
33
33
 
34
34
  /** The services that must run as exactly one process: a second would duplicate their work. */
35
35
  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
46
- readonly atlas?: boolean | DeployHttpServiceConfig
47
43
  readonly app?: boolean | DeployHttpServiceConfig
48
44
  readonly orchestrator?: boolean | DeploySingletonServiceConfig
49
45
  readonly scheduler?: boolean | DeploySingletonServiceConfig
@@ -74,7 +70,7 @@ export interface DeployWorkersConfig {
74
70
  /** Wall-clock budget for one agent turn, such as `"30s"`, `"10m"`, or `"1h"`. */
75
71
  readonly agentTurnTimeout?: string
76
72
  /** Jobs each worker type runs at once inside one process. */
77
- readonly concurrency?: Readonly<Partial<Record<DeployConfigurableWorkerType, number>>>
73
+ readonly concurrency?: Readonly<Partial<Record<DeployWorkerType, number>>>
78
74
  /** Added to the deployment's `env` for the workers only. */
79
75
  readonly env?: DeployEnv
80
76
  readonly process?: DeployScalableProcessOptions
@@ -90,7 +86,10 @@ export interface DeployProcessDefinition {
90
86
  }
91
87
 
92
88
  export interface DeployProcessOptions {
93
- /** How long a stopping process may take before it is killed. Defaults to 10000. */
89
+ /**
90
+ * How long a stopping process may take before it is killed. Defaults to 10000, and to 70000 for
91
+ * the API, which first lets the Actions it is running and their effects finish.
92
+ */
94
93
  readonly killTimeoutMs?: number
95
94
  /** Wait before restarting a process that exited, growing with each restart. Defaults to 1000. */
96
95
  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,
@@ -56,7 +55,9 @@ function target(value: unknown): void {
56
55
 
57
56
  function services(value: unknown): void {
58
57
  const config = record(value, "services")
59
- knownKeys(config, DEPLOY_SERVICES, "services")
58
+ knownKeys(config, DEPLOY_SERVICES, "services", {
59
+ atlas: "Atlas's pages are part of the app now; remove the setting and configure `app`.",
60
+ })
60
61
 
61
62
  for (const service of DEPLOY_SERVICES) {
62
63
  const override = config[service]
@@ -131,6 +132,7 @@ function workerTypes(value: unknown, path: string): void {
131
132
  }
132
133
  const seen = new Set<string>()
133
134
  for (const workerType of value) {
135
+ if (workerType === "action") throw removedActionWorker(path)
134
136
  if (!(DEPLOY_WORKER_TYPES as readonly unknown[]).includes(workerType)) {
135
137
  throw new Error(
136
138
  `[SixbDeploy] ${path} has unknown worker type ${JSON.stringify(workerType)}. ` +
@@ -147,19 +149,25 @@ function workerTypes(value: unknown, path: string): void {
147
149
  function workerConcurrency(value: unknown, path: string): void {
148
150
  const config = record(value, path)
149
151
  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)) {
152
+ if (workerType === "action") throw removedActionWorker(path)
153
+ if (!(DEPLOY_WORKER_TYPES as readonly string[]).includes(workerType)) {
154
154
  throw new Error(
155
155
  `[SixbDeploy] ${path} has unknown worker type "${workerType}". ` +
156
- `Available: ${DEPLOY_CONFIGURABLE_WORKER_TYPES.join(", ")}.`
156
+ `Available: ${DEPLOY_WORKER_TYPES.join(", ")}.`
157
157
  )
158
158
  }
159
159
  positiveInteger(concurrency, `${path}.${workerType}`)
160
160
  }
161
161
  }
162
162
 
163
+ /** `"action"` was a worker type until Actions ran in the process that requests them. */
164
+ function removedActionWorker(path: string): Error {
165
+ return new Error(
166
+ `[SixbDeploy] ${path} names "action", which is no longer a worker type: Actions run in the ` +
167
+ "process that requests them (API, workflows, syncs). Remove it."
168
+ )
169
+ }
170
+
163
171
  function processOptions(
164
172
  value: unknown,
165
173
  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