@sixb/core 0.1.17 → 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 (715) 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 +56 -52
  11. package/dist/actions/index.js.map +1 -1
  12. package/dist/actions/read-facade.d.ts +1 -1
  13. package/dist/actions/request.d.ts +14 -25
  14. package/dist/actions/request.d.ts.map +1 -1
  15. package/dist/actions/run/context.d.ts +40 -0
  16. package/dist/actions/run/context.d.ts.map +1 -0
  17. package/dist/actions/run/edits-commit.d.ts +31 -0
  18. package/dist/actions/run/edits-commit.d.ts.map +1 -0
  19. package/dist/actions/run/effects.d.ts +23 -0
  20. package/dist/actions/run/effects.d.ts.map +1 -0
  21. package/dist/actions/run/execute.d.ts +30 -0
  22. package/dist/actions/run/execute.d.ts.map +1 -0
  23. package/dist/actions/run/executor.d.ts +95 -0
  24. package/dist/actions/run/executor.d.ts.map +1 -0
  25. package/dist/actions/run/normalize.d.ts +36 -0
  26. package/dist/actions/run/normalize.d.ts.map +1 -0
  27. package/dist/actions/run/phase-types.d.ts +18 -0
  28. package/dist/actions/run/phase-types.d.ts.map +1 -0
  29. package/dist/actions/run/phases.d.ts +20 -0
  30. package/dist/actions/run/phases.d.ts.map +1 -0
  31. package/dist/actions/run/run-action.d.ts +25 -0
  32. package/dist/actions/run/run-action.d.ts.map +1 -0
  33. package/dist/actions/run/signals.d.ts +67 -0
  34. package/dist/actions/run/signals.d.ts.map +1 -0
  35. package/dist/actions/run/state.d.ts +47 -0
  36. package/dist/actions/run/state.d.ts.map +1 -0
  37. package/dist/actions/run/types.d.ts +54 -0
  38. package/dist/actions/run/types.d.ts.map +1 -0
  39. package/dist/actions/run/writeback.d.ts +17 -0
  40. package/dist/actions/run/writeback.d.ts.map +1 -0
  41. package/dist/actions/run-authorization.d.ts +1 -1
  42. package/dist/actions/run-authorization.d.ts.map +1 -1
  43. package/dist/actions/run-persistence.d.ts +53 -0
  44. package/dist/actions/run-persistence.d.ts.map +1 -0
  45. package/dist/actions/types/context.d.ts +10 -0
  46. package/dist/actions/types/context.d.ts.map +1 -1
  47. package/dist/actions/validation.d.ts.map +1 -1
  48. package/dist/agents/adapters.d.ts +7 -0
  49. package/dist/agents/adapters.d.ts.map +1 -1
  50. package/dist/agents/authority.d.ts +7 -0
  51. package/dist/agents/authority.d.ts.map +1 -1
  52. package/dist/agents/context/entries.d.ts +10 -1
  53. package/dist/agents/context/entries.d.ts.map +1 -1
  54. package/dist/agents/context/index.d.ts +1 -1
  55. package/dist/agents/context/index.d.ts.map +1 -1
  56. package/dist/agents/context/index.js +4 -2
  57. package/dist/agents/context/index.js.map +1 -1
  58. package/dist/agents/context-compaction.d.ts.map +1 -1
  59. package/dist/agents/errors.d.ts +1 -1
  60. package/dist/agents/errors.d.ts.map +1 -1
  61. package/dist/agents/index.d.ts +6 -4
  62. package/dist/agents/index.d.ts.map +1 -1
  63. package/dist/agents/index.js +63 -59
  64. package/dist/agents/index.js.map +1 -1
  65. package/dist/agents/message.d.ts +8 -1
  66. package/dist/agents/message.d.ts.map +1 -1
  67. package/dist/agents/request.d.ts +19 -5
  68. package/dist/agents/request.d.ts.map +1 -1
  69. package/dist/agents/skills.d.ts +41 -0
  70. package/dist/agents/skills.d.ts.map +1 -0
  71. package/dist/agents/streams/index.js +2 -2
  72. package/dist/agents/streams/internal.js +2 -2
  73. package/dist/agents/types.d.ts +33 -4
  74. package/dist/agents/types.d.ts.map +1 -1
  75. package/dist/auth/index.js +12 -9
  76. package/dist/auth/index.js.map +1 -1
  77. package/dist/auth/runtime.d.ts.map +1 -1
  78. package/dist/auth/types.d.ts +6 -0
  79. package/dist/auth/types.d.ts.map +1 -1
  80. package/dist/authorization/event-visibility.d.ts.map +1 -1
  81. package/dist/authorization/index.js +6 -4
  82. package/dist/authorization/index.js.map +1 -1
  83. package/dist/authorization/resolve.d.ts +1 -1
  84. package/dist/authorization/resolve.d.ts.map +1 -1
  85. package/dist/authorization/types.d.ts +7 -0
  86. package/dist/authorization/types.d.ts.map +1 -1
  87. package/dist/blob-storage/browser.js +1 -1
  88. package/dist/blob-storage/execution.d.ts.map +1 -1
  89. package/dist/blob-storage/file-content.d.ts +18 -0
  90. package/dist/blob-storage/file-content.d.ts.map +1 -0
  91. package/dist/blob-storage/index.d.ts +1 -1
  92. package/dist/blob-storage/index.d.ts.map +1 -1
  93. package/dist/blob-storage/index.js +2 -2
  94. package/dist/blob-storage/internal.d.ts +2 -0
  95. package/dist/blob-storage/internal.d.ts.map +1 -1
  96. package/dist/blob-storage/internal.js +16 -4
  97. package/dist/blob-storage/internal.js.map +1 -1
  98. package/dist/blob-storage/media-type.d.ts +8 -0
  99. package/dist/blob-storage/media-type.d.ts.map +1 -0
  100. package/dist/blob-storage/types.d.ts +12 -1
  101. package/dist/blob-storage/types.d.ts.map +1 -1
  102. package/dist/blob-storage/validation.d.ts +6 -0
  103. package/dist/blob-storage/validation.d.ts.map +1 -1
  104. package/dist/bootstrap/agent-context.d.ts +33 -0
  105. package/dist/bootstrap/agent-context.d.ts.map +1 -0
  106. package/dist/bootstrap/discovery.d.ts +23 -3
  107. package/dist/bootstrap/discovery.d.ts.map +1 -1
  108. package/dist/bootstrap/index.d.ts +2 -1
  109. package/dist/bootstrap/index.d.ts.map +1 -1
  110. package/dist/bootstrap/index.js +285 -77
  111. package/dist/bootstrap/index.js.map +4 -3
  112. package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
  113. package/dist/{chunk-t9shqx3w.js → chunk-1f7wpmyp.js} +143 -7
  114. package/dist/chunk-1f7wpmyp.js.map +14 -0
  115. package/dist/{chunk-jjrn5v0p.js → chunk-1k89ecfr.js} +1 -1
  116. package/dist/{chunk-9vx5e9g1.js → chunk-1sr8ryzk.js} +3 -3
  117. package/dist/chunk-1sr8ryzk.js.map +11 -0
  118. package/dist/{chunk-s7ftxrdr.js → chunk-29yx306f.js} +20 -3
  119. package/dist/{chunk-s7ftxrdr.js.map → chunk-29yx306f.js.map} +3 -3
  120. package/dist/{chunk-svabwqdq.js → chunk-3gnrh4ve.js} +44 -420
  121. package/dist/{chunk-svabwqdq.js.map → chunk-3gnrh4ve.js.map} +9 -13
  122. package/dist/{chunk-4ra628t7.js → chunk-3zxk45er.js} +70 -6
  123. package/dist/{chunk-4ra628t7.js.map → chunk-3zxk45er.js.map} +5 -4
  124. package/dist/{chunk-pja9jfz6.js → chunk-4tcx876c.js} +126 -64
  125. package/dist/chunk-4tcx876c.js.map +19 -0
  126. package/dist/{chunk-vre348sb.js → chunk-52bk93x8.js} +2 -2
  127. package/dist/{chunk-4gmng3vf.js → chunk-5e43w60z.js} +2 -2
  128. package/dist/{chunk-91kcnbf0.js → chunk-6gmfggss.js} +22 -9
  129. package/dist/chunk-6gmfggss.js.map +10 -0
  130. package/dist/{chunk-33saed7g.js → chunk-7kg3k1m9.js} +1 -1
  131. package/dist/{chunk-7ecp4v7a.js → chunk-7mbzgd9m.js} +10 -4
  132. package/dist/{chunk-7ecp4v7a.js.map → chunk-7mbzgd9m.js.map} +3 -3
  133. package/dist/{chunk-b9affek3.js → chunk-7n440zgt.js} +30 -30
  134. package/dist/{chunk-b9affek3.js.map → chunk-7n440zgt.js.map} +4 -4
  135. package/dist/{chunk-kkqwzy6h.js → chunk-7t429e3f.js} +1 -1
  136. package/dist/{chunk-xcy5ddha.js → chunk-80mc0971.js} +356 -301
  137. package/dist/chunk-80mc0971.js.map +15 -0
  138. package/dist/{chunk-gf7yht60.js → chunk-85yvv5n0.js} +27 -10
  139. package/dist/chunk-85yvv5n0.js.map +12 -0
  140. package/dist/{chunk-6fsr7y93.js → chunk-8mx7qw3y.js} +14 -13
  141. package/dist/{chunk-6fsr7y93.js.map → chunk-8mx7qw3y.js.map} +4 -4
  142. package/dist/{chunk-kpx7jrmn.js → chunk-91mg3nj9.js} +59 -59
  143. package/dist/{chunk-kpx7jrmn.js.map → chunk-91mg3nj9.js.map} +5 -5
  144. package/dist/{chunk-2am3db31.js → chunk-9gyp8hg1.js} +2 -2
  145. package/dist/{chunk-ewqa58h9.js → chunk-9k93ah50.js} +4 -4
  146. package/dist/{chunk-ewqa58h9.js.map → chunk-9k93ah50.js.map} +1 -1
  147. package/dist/{chunk-4wn7bxxa.js → chunk-9ybhtmg4.js} +1 -1
  148. package/dist/{chunk-fc5zfxy1.js → chunk-a40ad1ft.js} +5 -13
  149. package/dist/chunk-a40ad1ft.js.map +10 -0
  150. package/dist/{chunk-dam456ve.js → chunk-aff7cyea.js} +431 -70
  151. package/dist/{chunk-dam456ve.js.map → chunk-aff7cyea.js.map} +10 -7
  152. package/dist/{chunk-y2aq6ag9.js → chunk-b38szspf.js} +5 -14
  153. package/dist/chunk-b38szspf.js.map +11 -0
  154. package/dist/{chunk-r2y23egw.js → chunk-bkpke1sg.js} +1 -10
  155. package/dist/chunk-bkpke1sg.js.map +10 -0
  156. package/dist/{chunk-xyvy73tj.js → chunk-bpgy64fw.js} +8 -3
  157. package/dist/chunk-bpgy64fw.js.map +12 -0
  158. package/dist/{chunk-rb143ggb.js → chunk-bwjcehza.js} +1 -1
  159. package/dist/{chunk-5thzcb8g.js → chunk-c85m1hyj.js} +2 -2
  160. package/dist/{chunk-e67ynxcr.js → chunk-d2ync1v3.js} +5 -5
  161. package/dist/{chunk-3rrezgyc.js → chunk-dnmadg9k.js} +2 -2
  162. package/dist/chunk-enpsx8k5.js +127 -0
  163. package/dist/chunk-enpsx8k5.js.map +10 -0
  164. package/dist/chunk-ey3pyej1.js +8807 -0
  165. package/dist/chunk-ey3pyej1.js.map +106 -0
  166. package/dist/{chunk-vjcd8d27.js → chunk-fa02jy15.js} +1 -1
  167. package/dist/{chunk-9se093qz.js → chunk-gc4ntf7d.js} +4 -4
  168. package/dist/{chunk-9se093qz.js.map → chunk-gc4ntf7d.js.map} +1 -1
  169. package/dist/{chunk-98cw09sw.js → chunk-hkc3jct7.js} +4 -2
  170. package/dist/chunk-hkc3jct7.js.map +10 -0
  171. package/dist/{chunk-rpxz486p.js → chunk-hvsb78a1.js} +24 -8
  172. package/dist/{chunk-rpxz486p.js.map → chunk-hvsb78a1.js.map} +3 -3
  173. package/dist/{chunk-5yd8cchh.js → chunk-j2bp5ryw.js} +55 -246
  174. package/dist/{chunk-5yd8cchh.js.map → chunk-j2bp5ryw.js.map} +4 -4
  175. package/dist/{chunk-h3v76ams.js → chunk-jhm3zsa7.js} +25 -2
  176. package/dist/chunk-jhm3zsa7.js.map +12 -0
  177. package/dist/{chunk-w9yycd3t.js → chunk-kg5j6fct.js} +4 -8
  178. package/dist/{chunk-w9yycd3t.js.map → chunk-kg5j6fct.js.map} +3 -3
  179. package/dist/{chunk-vp3z1ckh.js → chunk-kyzq4wy9.js} +7 -7
  180. package/dist/{chunk-wr8qp979.js → chunk-m427qgq0.js} +9 -5
  181. package/dist/{chunk-wr8qp979.js.map → chunk-m427qgq0.js.map} +4 -3
  182. package/dist/{chunk-c2rga5cx.js → chunk-mfs23znk.js} +1 -1
  183. package/dist/{chunk-e1c18xjx.js → chunk-nq6gpjt7.js} +4 -45
  184. package/dist/{chunk-e1c18xjx.js.map → chunk-nq6gpjt7.js.map} +5 -5
  185. package/dist/{chunk-a7er86jd.js → chunk-nre82s12.js} +1 -1
  186. package/dist/{chunk-1hqwggsn.js → chunk-nzapm6p0.js} +1 -2
  187. package/dist/chunk-nzapm6p0.js.map +12 -0
  188. package/dist/{chunk-wt4szfec.js → chunk-pbcbn83d.js} +4 -4
  189. package/dist/{chunk-wt4szfec.js.map → chunk-pbcbn83d.js.map} +1 -1
  190. package/dist/{chunk-dmn70ztd.js → chunk-pfp1txq2.js} +25 -6
  191. package/dist/chunk-pfp1txq2.js.map +11 -0
  192. package/dist/chunk-pqajwytd.js.map +2 -2
  193. package/dist/{chunk-f1xh7a32.js → chunk-q1vkr2ys.js} +4 -4
  194. package/dist/chunk-rdghfsss.js.map +2 -2
  195. package/dist/{chunk-23xs4qp9.js → chunk-rhg02hxq.js} +4 -4
  196. package/dist/{chunk-cd234ba4.js → chunk-rz53yb4v.js} +10 -5
  197. package/dist/chunk-rz53yb4v.js.map +14 -0
  198. package/dist/{chunk-aq39q04r.js → chunk-s16apyk9.js} +104 -18
  199. package/dist/chunk-s16apyk9.js.map +16 -0
  200. package/dist/{chunk-69266efg.js → chunk-s54c868q.js} +12 -4
  201. package/dist/chunk-s54c868q.js.map +12 -0
  202. package/dist/{chunk-k4g51s47.js → chunk-t6vq7bff.js} +5 -5
  203. package/dist/{chunk-sk0hcjsz.js → chunk-tjb1mk5t.js} +3 -3
  204. package/dist/{chunk-cnb5kv05.js → chunk-tpn40322.js} +23 -8
  205. package/dist/chunk-tpn40322.js.map +19 -0
  206. package/dist/{chunk-rx7h5fdx.js → chunk-v9xd5wzd.js} +1 -1
  207. package/dist/{chunk-2vhg6ysa.js → chunk-vyf9kfqf.js} +1 -1
  208. package/dist/chunk-wwdfe68s.js +128 -0
  209. package/dist/chunk-wwdfe68s.js.map +11 -0
  210. package/dist/{chunk-jnfxmr3f.js → chunk-wz0xs816.js} +6 -6
  211. package/dist/{chunk-jnfxmr3f.js.map → chunk-wz0xs816.js.map} +1 -1
  212. package/dist/chunk-xt1zt7gv.js +471 -0
  213. package/dist/chunk-xt1zt7gv.js.map +13 -0
  214. package/dist/chunk-y0c4e6ex.js +16 -0
  215. package/dist/chunk-y0c4e6ex.js.map +10 -0
  216. package/dist/{chunk-5be2ath4.js → chunk-y7rqfrgg.js} +20 -138
  217. package/dist/{chunk-5be2ath4.js.map → chunk-y7rqfrgg.js.map} +8 -9
  218. package/dist/{chunk-z5rnrmz1.js → chunk-yw9pyg66.js} +5 -3
  219. package/dist/chunk-yw9pyg66.js.map +11 -0
  220. package/dist/{chunk-dfm066qg.js → chunk-yxd3nnqt.js} +2 -29
  221. package/dist/chunk-yxd3nnqt.js.map +11 -0
  222. package/dist/{chunk-70jmg2zx.js → chunk-yzwja0mj.js} +4 -19
  223. package/dist/{chunk-70jmg2zx.js.map → chunk-yzwja0mj.js.map} +3 -3
  224. package/dist/{chunk-fggq3d9k.js → chunk-zrmy8zvw.js} +66 -47
  225. package/dist/{chunk-fggq3d9k.js.map → chunk-zrmy8zvw.js.map} +4 -4
  226. package/dist/datasets/builders.d.ts +12 -1
  227. package/dist/datasets/builders.d.ts.map +1 -1
  228. package/dist/datasets/execution.d.ts +27 -1
  229. package/dist/datasets/execution.d.ts.map +1 -1
  230. package/dist/datasets/index.d.ts +1 -1
  231. package/dist/datasets/index.d.ts.map +1 -1
  232. package/dist/datasets/types.d.ts +2 -0
  233. package/dist/datasets/types.d.ts.map +1 -1
  234. package/dist/datasets/write.d.ts +5 -0
  235. package/dist/datasets/write.d.ts.map +1 -1
  236. package/dist/datasets/write.js +10 -5
  237. package/dist/datasets/write.js.map +1 -1
  238. package/dist/deploy/index.d.ts +1 -1
  239. package/dist/deploy/index.d.ts.map +1 -1
  240. package/dist/deploy/internal.js +10 -8
  241. package/dist/deploy/internal.js.map +4 -4
  242. package/dist/deploy/services.d.ts +1 -2
  243. package/dist/deploy/services.d.ts.map +1 -1
  244. package/dist/deploy/types.d.ts +6 -5
  245. package/dist/deploy/types.d.ts.map +1 -1
  246. package/dist/deploy/validation.d.ts.map +1 -1
  247. package/dist/edits/index.js +3 -5
  248. package/dist/edits/index.js.map +1 -1
  249. package/dist/edits/properties.d.ts.map +1 -1
  250. package/dist/error-reporting/internal.js +3 -3
  251. package/dist/error-reporting/types.d.ts +2 -9
  252. package/dist/error-reporting/types.d.ts.map +1 -1
  253. package/dist/errors/catalog.d.ts +12 -0
  254. package/dist/errors/catalog.d.ts.map +1 -1
  255. package/dist/errors/internal.js +1 -1
  256. package/dist/events/definitions.d.ts +0 -5
  257. package/dist/events/definitions.d.ts.map +1 -1
  258. package/dist/events/execution.d.ts +2 -1
  259. package/dist/events/execution.d.ts.map +1 -1
  260. package/dist/events/index.d.ts +3 -3
  261. package/dist/events/index.d.ts.map +1 -1
  262. package/dist/events/index.js +6 -8
  263. package/dist/events/index.js.map +1 -1
  264. package/dist/events/scope.d.ts +0 -1
  265. package/dist/events/scope.d.ts.map +1 -1
  266. package/dist/events/scope.js +1 -1
  267. package/dist/events/selectors/builder.d.ts +1 -8
  268. package/dist/events/selectors/builder.d.ts.map +1 -1
  269. package/dist/events/selectors/index.d.ts +2 -2
  270. package/dist/events/selectors/index.d.ts.map +1 -1
  271. package/dist/events/selectors/index.js +2 -2
  272. package/dist/events/selectors/predicate.d.ts.map +1 -1
  273. package/dist/events/selectors/types.d.ts +2 -33
  274. package/dist/events/selectors/types.d.ts.map +1 -1
  275. package/dist/events/types/index.d.ts +1 -12
  276. package/dist/events/types/index.d.ts.map +1 -1
  277. package/dist/events/types/objects.d.ts +5 -0
  278. package/dist/events/types/objects.d.ts.map +1 -1
  279. package/dist/execution/agent.d.ts +10 -0
  280. package/dist/execution/agent.d.ts.map +1 -1
  281. package/dist/execution/agent.js +50 -48
  282. package/dist/execution/agent.js.map +1 -1
  283. package/dist/execution/authorized-object-reader.d.ts +6 -1
  284. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  285. package/dist/execution/primitive.js +60 -88
  286. package/dist/execution/primitive.js.map +3 -4
  287. package/dist/execution/request.js +46 -46
  288. package/dist/execution/request.js.map +1 -1
  289. package/dist/http/api-routes.d.ts.map +1 -1
  290. package/dist/http/index.js +1 -1
  291. package/dist/index.d.ts +12 -11
  292. package/dist/index.d.ts.map +1 -1
  293. package/dist/index.js +120 -124
  294. package/dist/index.js.map +1 -1
  295. package/dist/lake-storage/index.js +8 -5
  296. package/dist/lake-storage/index.js.map +1 -1
  297. package/dist/materialization/index.js +3 -3
  298. package/dist/materialization/index.js.map +1 -1
  299. package/dist/materialization/model.d.ts +19 -6
  300. package/dist/materialization/model.d.ts.map +1 -1
  301. package/dist/materializer/index.js +35 -32
  302. package/dist/materializer/index.js.map +1 -1
  303. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  304. package/dist/models/catalog.d.ts +1 -1
  305. package/dist/models/catalog.d.ts.map +1 -1
  306. package/dist/models/execution/binding.d.ts +6 -0
  307. package/dist/models/execution/binding.d.ts.map +1 -1
  308. package/dist/models/execution/index.js +26 -23
  309. package/dist/models/execution/index.js.map +1 -1
  310. package/dist/models/execution/model-call-recorder.d.ts +4 -0
  311. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  312. package/dist/models/execution.d.ts.map +1 -1
  313. package/dist/models/index.js +1 -1
  314. package/dist/models/language-model.d.ts +6 -0
  315. package/dist/models/language-model.d.ts.map +1 -1
  316. package/dist/objects/action/errors.d.ts +0 -9
  317. package/dist/objects/action/errors.d.ts.map +1 -1
  318. package/dist/objects/action/index.d.ts +3 -3
  319. package/dist/objects/action/index.d.ts.map +1 -1
  320. package/dist/objects/action/request.d.ts +2 -8
  321. package/dist/objects/action/request.d.ts.map +1 -1
  322. package/dist/objects/context/index.d.ts +1 -1
  323. package/dist/objects/context/index.d.ts.map +1 -1
  324. package/dist/objects/context/types.d.ts +6 -0
  325. package/dist/objects/context/types.d.ts.map +1 -1
  326. package/dist/objects/execution.d.ts +2 -3
  327. package/dist/objects/execution.d.ts.map +1 -1
  328. package/dist/objects/index.js +49 -30
  329. package/dist/objects/index.js.map +1 -1
  330. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  331. package/dist/objects/object/upsert-batch.d.ts.map +1 -1
  332. package/dist/objects/object/upsert.d.ts.map +1 -1
  333. package/dist/objects/property-clearance.d.ts +41 -0
  334. package/dist/objects/property-clearance.d.ts.map +1 -0
  335. package/dist/objects/query/executor.d.ts +3 -0
  336. package/dist/objects/query/executor.d.ts.map +1 -1
  337. package/dist/objects/query/index.js +34 -31
  338. package/dist/objects/query/index.js.map +1 -1
  339. package/dist/objects/query/validate.d.ts +10 -1
  340. package/dist/objects/query/validate.d.ts.map +1 -1
  341. package/dist/objects/sdk/file-handle.d.ts +6 -0
  342. package/dist/objects/sdk/file-handle.d.ts.map +1 -0
  343. package/dist/objects/sdk/object-handle.d.ts +2 -2
  344. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  345. package/dist/objects/sdk/object-set.d.ts +2 -0
  346. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  347. package/dist/objects/service/index.d.ts +0 -1
  348. package/dist/objects/service/index.d.ts.map +1 -1
  349. package/dist/ontology/builders.d.ts +12 -1
  350. package/dist/ontology/builders.d.ts.map +1 -1
  351. package/dist/ontology/docs-markdown.d.ts +35 -0
  352. package/dist/ontology/docs-markdown.d.ts.map +1 -0
  353. package/dist/ontology/docs.d.ts +50 -0
  354. package/dist/ontology/docs.d.ts.map +1 -0
  355. package/dist/ontology/index.js +7 -4
  356. package/dist/ontology/index.js.map +1 -1
  357. package/dist/ontology/inference/index.d.ts +19 -0
  358. package/dist/ontology/inference/index.d.ts.map +1 -1
  359. package/dist/ontology/internal.d.ts +3 -1
  360. package/dist/ontology/internal.d.ts.map +1 -1
  361. package/dist/ontology/internal.js +276 -3
  362. package/dist/ontology/internal.js.map +4 -3
  363. package/dist/ontology/tokens.d.ts +8 -1
  364. package/dist/ontology/tokens.d.ts.map +1 -1
  365. package/dist/ontology/types.d.ts +5 -0
  366. package/dist/ontology/types.d.ts.map +1 -1
  367. package/dist/ontology/validation/index.d.ts +1 -1
  368. package/dist/ontology/validation/index.d.ts.map +1 -1
  369. package/dist/ontology/validation/schema.d.ts +7 -0
  370. package/dist/ontology/validation/schema.d.ts.map +1 -1
  371. package/dist/pipelines/index.js +34 -31
  372. package/dist/pipelines/index.js.map +1 -1
  373. package/dist/projections/internal.js +27 -24
  374. package/dist/projections/internal.js.map +1 -1
  375. package/dist/query.js +2 -2
  376. package/dist/queues/in-memory.d.ts +1 -2
  377. package/dist/queues/in-memory.d.ts.map +1 -1
  378. package/dist/queues/index.d.ts +1 -1
  379. package/dist/queues/index.d.ts.map +1 -1
  380. package/dist/queues/index.js +1 -1
  381. package/dist/queues/types.d.ts +0 -7
  382. package/dist/queues/types.d.ts.map +1 -1
  383. package/dist/runtime/create.d.ts +11 -2
  384. package/dist/runtime/create.d.ts.map +1 -1
  385. package/dist/runtime/definitions.d.ts +3 -1
  386. package/dist/runtime/definitions.d.ts.map +1 -1
  387. package/dist/runtime/host.d.ts +13 -2
  388. package/dist/runtime/host.d.ts.map +1 -1
  389. package/dist/runtime/index.d.ts +1 -1
  390. package/dist/runtime/index.d.ts.map +1 -1
  391. package/dist/runtime/internal.js +30 -28
  392. package/dist/runtime/internal.js.map +1 -1
  393. package/dist/runtime/locale.d.ts +9 -0
  394. package/dist/runtime/locale.d.ts.map +1 -0
  395. package/dist/runtime/resolve-definitions.d.ts +4 -2
  396. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  397. package/dist/runtime/types.d.ts +46 -39
  398. package/dist/runtime/types.d.ts.map +1 -1
  399. package/dist/sandboxes/index.js +7 -6
  400. package/dist/sandboxes/index.js.map +1 -1
  401. package/dist/scheduler/index.js +1 -1
  402. package/dist/scheduler/runtime.d.ts +3 -0
  403. package/dist/scheduler/runtime.d.ts.map +1 -1
  404. package/dist/schedules/builders.d.ts.map +1 -1
  405. package/dist/schedules/index.js +3 -3
  406. package/dist/schedules/runtime.d.ts.map +1 -1
  407. package/dist/schedules/validation.d.ts +0 -1
  408. package/dist/schedules/validation.d.ts.map +1 -1
  409. package/dist/security/builders.d.ts +11 -2
  410. package/dist/security/builders.d.ts.map +1 -1
  411. package/dist/security/every.d.ts +1 -1
  412. package/dist/security/index.d.ts +4 -4
  413. package/dist/security/index.d.ts.map +1 -1
  414. package/dist/security/markings.d.ts +19 -0
  415. package/dist/security/markings.d.ts.map +1 -0
  416. package/dist/security/redactions.d.ts +4 -0
  417. package/dist/security/redactions.d.ts.map +1 -0
  418. package/dist/security/registry.d.ts +7 -1
  419. package/dist/security/registry.d.ts.map +1 -1
  420. package/dist/security/types.d.ts +25 -0
  421. package/dist/security/types.d.ts.map +1 -1
  422. package/dist/security/validation.d.ts +4 -1
  423. package/dist/security/validation.d.ts.map +1 -1
  424. package/dist/shares/internal.js +24 -21
  425. package/dist/shares/internal.js.map +2 -2
  426. package/dist/storage/action-runs/failure.js +2 -2
  427. package/dist/storage/action-runs/idempotency.d.ts +3 -4
  428. package/dist/storage/action-runs/idempotency.d.ts.map +1 -1
  429. package/dist/storage/action-runs/in-memory.d.ts +2 -9
  430. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  431. package/dist/storage/action-runs/index.d.ts +1 -3
  432. package/dist/storage/action-runs/index.d.ts.map +1 -1
  433. package/dist/storage/action-runs/provider.js +1 -1
  434. package/dist/storage/action-runs/record.d.ts +20 -0
  435. package/dist/storage/action-runs/record.d.ts.map +1 -0
  436. package/dist/storage/action-runs/types.d.ts +39 -68
  437. package/dist/storage/action-runs/types.d.ts.map +1 -1
  438. package/dist/storage/agents/provider.d.ts.map +1 -1
  439. package/dist/storage/agents/provider.js +5 -4
  440. package/dist/storage/agents/provider.js.map +1 -1
  441. package/dist/storage/agents/types.d.ts +15 -9
  442. package/dist/storage/agents/types.d.ts.map +1 -1
  443. package/dist/storage/ai-limits/enforcement.js +2 -2
  444. package/dist/storage/connector-connections/provider.js +1 -1
  445. package/dist/storage/file-upload-sessions/provider.js +12 -9
  446. package/dist/storage/file-upload-sessions/provider.js.map +1 -1
  447. package/dist/storage/index.d.ts +3 -2
  448. package/dist/storage/index.d.ts.map +1 -1
  449. package/dist/storage/index.js +36 -34
  450. package/dist/storage/index.js.map +1 -1
  451. package/dist/storage/internal.d.ts +1 -1
  452. package/dist/storage/internal.d.ts.map +1 -1
  453. package/dist/storage/internal.js +11 -13
  454. package/dist/storage/internal.js.map +1 -1
  455. package/dist/storage/objects/execution-limits.d.ts +1 -1
  456. package/dist/storage/objects/execution-limits.d.ts.map +1 -1
  457. package/dist/storage/objects/types.d.ts +7 -0
  458. package/dist/storage/objects/types.d.ts.map +1 -1
  459. package/dist/storage/ontology/provider.js +2 -2
  460. package/dist/storage/projection-runs/provider.js +2 -2
  461. package/dist/storage/types.d.ts +1 -1
  462. package/dist/storage/types.d.ts.map +1 -1
  463. package/dist/storage/workflow-runs/provider.js +12 -9
  464. package/dist/storage/workflow-runs/provider.js.map +1 -1
  465. package/dist/syncs/index.js +35 -32
  466. package/dist/syncs/index.js.map +1 -1
  467. package/dist/testing/action-execution.d.ts +34 -4
  468. package/dist/testing/action-execution.d.ts.map +1 -1
  469. package/dist/testing/action-run-storage-contract.d.ts +11 -0
  470. package/dist/testing/action-run-storage-contract.d.ts.map +1 -0
  471. package/dist/testing/index.d.ts +2 -1
  472. package/dist/testing/index.d.ts.map +1 -1
  473. package/dist/testing/index.js +3213 -2869
  474. package/dist/testing/index.js.map +7 -6
  475. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  476. package/dist/testing/queues-contract.d.ts.map +1 -1
  477. package/dist/webhooks/internal.js +29 -26
  478. package/dist/webhooks/internal.js.map +2 -2
  479. package/dist/workers/index.js +1 -1
  480. package/dist/workflows/builders.d.ts.map +1 -1
  481. package/dist/workflows/index.js +55 -55
  482. package/dist/workflows/index.js.map +1 -1
  483. package/dist/workflows/request.d.ts.map +1 -1
  484. package/dist/workflows/types.d.ts +6 -3
  485. package/dist/workflows/types.d.ts.map +1 -1
  486. package/dist/workflows/validation.d.ts +2 -1
  487. package/dist/workflows/validation.d.ts.map +1 -1
  488. package/package.json +1 -7
  489. package/src/actions/commit-edits.ts +9 -37
  490. package/src/actions/errors.ts +0 -4
  491. package/src/actions/execution.ts +10 -10
  492. package/src/actions/index.ts +5 -24
  493. package/src/actions/read-facade.ts +2 -1
  494. package/src/actions/request.ts +157 -295
  495. package/src/actions/run/context.ts +193 -0
  496. package/src/actions/run/edits-commit.ts +102 -0
  497. package/src/actions/run/effects.ts +105 -0
  498. package/src/actions/run/execute.ts +113 -0
  499. package/src/actions/run/executor.ts +314 -0
  500. package/src/actions/run/normalize.ts +142 -0
  501. package/src/actions/run/phase-types.ts +20 -0
  502. package/src/actions/run/phases.ts +150 -0
  503. package/src/actions/run/run-action.ts +170 -0
  504. package/src/actions/run/signals.ts +118 -0
  505. package/src/actions/run/state.ts +95 -0
  506. package/src/actions/run/types.ts +61 -0
  507. package/src/actions/run/writeback.ts +79 -0
  508. package/src/actions/run-authorization.ts +1 -1
  509. package/src/actions/run-persistence.ts +105 -0
  510. package/src/actions/types/context.ts +10 -0
  511. package/src/actions/validation.ts +4 -1
  512. package/src/agents/adapters.ts +15 -0
  513. package/src/agents/authority.ts +15 -0
  514. package/src/agents/context/entries.ts +48 -4
  515. package/src/agents/context/index.ts +1 -0
  516. package/src/agents/context-compaction.ts +6 -0
  517. package/src/agents/errors.ts +3 -0
  518. package/src/agents/index.ts +13 -1
  519. package/src/agents/message.ts +9 -0
  520. package/src/agents/request.ts +178 -22
  521. package/src/agents/skills.ts +63 -0
  522. package/src/agents/types.ts +35 -5
  523. package/src/auth/runtime.ts +14 -0
  524. package/src/auth/types.ts +6 -0
  525. package/src/authorization/event-visibility.ts +0 -12
  526. package/src/authorization/resolve.ts +6 -1
  527. package/src/authorization/types.ts +7 -0
  528. package/src/blob-storage/execution.ts +12 -0
  529. package/src/blob-storage/file-content.ts +106 -0
  530. package/src/blob-storage/index.ts +1 -0
  531. package/src/blob-storage/internal.ts +7 -0
  532. package/src/blob-storage/media-type.ts +29 -0
  533. package/src/blob-storage/types.ts +13 -1
  534. package/src/blob-storage/validation.ts +13 -0
  535. package/src/bootstrap/agent-context.ts +356 -0
  536. package/src/bootstrap/discovery.ts +100 -33
  537. package/src/bootstrap/index.ts +1 -1
  538. package/src/bootstrap/ontology-type-manifest.ts +3 -38
  539. package/src/datasets/builders.ts +17 -1
  540. package/src/datasets/execution.ts +110 -2
  541. package/src/datasets/index.ts +7 -1
  542. package/src/datasets/types.ts +2 -0
  543. package/src/datasets/write.ts +21 -2
  544. package/src/deploy/index.ts +0 -1
  545. package/src/deploy/services.ts +2 -11
  546. package/src/deploy/types.ts +6 -6
  547. package/src/deploy/validation.ts +12 -6
  548. package/src/edits/properties.ts +3 -0
  549. package/src/error-reporting/types.ts +2 -10
  550. package/src/errors/catalog.ts +13 -0
  551. package/src/events/definitions.ts +0 -17
  552. package/src/events/execution.ts +15 -16
  553. package/src/events/index.ts +0 -14
  554. package/src/events/scope.ts +0 -12
  555. package/src/events/selectors/builder.ts +0 -51
  556. package/src/events/selectors/index.ts +0 -6
  557. package/src/events/selectors/predicate.ts +0 -2
  558. package/src/events/selectors/types.ts +7 -65
  559. package/src/events/types/index.ts +0 -11
  560. package/src/events/types/objects.ts +5 -0
  561. package/src/execution/agent.ts +27 -0
  562. package/src/execution/authorization.ts +1 -0
  563. package/src/execution/authorized-object-reader.ts +96 -34
  564. package/src/execution/scopes.ts +2 -6
  565. package/src/http/api-routes.ts +4 -3
  566. package/src/index.ts +28 -21
  567. package/src/materialization/model.ts +26 -9
  568. package/src/materializer/README.md +6 -1
  569. package/src/materializer/edits/commit.ts +42 -32
  570. package/src/materializer/shared/normalize.ts +25 -14
  571. package/src/models/catalog.ts +26 -2
  572. package/src/models/execution/README.md +4 -3
  573. package/src/models/execution/binding.ts +6 -0
  574. package/src/models/execution/model-call-recorder.ts +10 -0
  575. package/src/models/execution/session.ts +2 -2
  576. package/src/models/execution.ts +6 -2
  577. package/src/models/language-model.ts +6 -0
  578. package/src/objects/action/errors.ts +0 -12
  579. package/src/objects/action/index.ts +3 -3
  580. package/src/objects/action/request.ts +2 -29
  581. package/src/objects/context/index.ts +1 -0
  582. package/src/objects/context/types.ts +7 -0
  583. package/src/objects/execution.ts +6 -3
  584. package/src/objects/materializer-adapter.ts +3 -0
  585. package/src/objects/object/upsert-batch.ts +4 -1
  586. package/src/objects/object/upsert.ts +3 -1
  587. package/src/objects/property-clearance.ts +209 -0
  588. package/src/objects/query/executor.ts +43 -36
  589. package/src/objects/query/validate.ts +133 -14
  590. package/src/objects/sdk/file-handle.ts +77 -0
  591. package/src/objects/sdk/object-handle.ts +11 -33
  592. package/src/objects/sdk/object-set.ts +10 -32
  593. package/src/objects/service/index.ts +0 -1
  594. package/src/ontology/builders.ts +18 -2
  595. package/src/ontology/docs-markdown.ts +394 -0
  596. package/src/ontology/docs.ts +196 -0
  597. package/src/ontology/inference/index.ts +25 -0
  598. package/src/ontology/internal.ts +7 -0
  599. package/src/ontology/tokens.ts +13 -2
  600. package/src/ontology/types.ts +5 -0
  601. package/src/ontology/validation/index.ts +1 -0
  602. package/src/ontology/validation/schema.ts +26 -1
  603. package/src/queues/in-memory.ts +0 -6
  604. package/src/queues/index.ts +0 -2
  605. package/src/queues/types.ts +0 -11
  606. package/src/runtime/create.ts +34 -4
  607. package/src/runtime/definitions.ts +3 -1
  608. package/src/runtime/host.ts +50 -1
  609. package/src/runtime/index.ts +3 -0
  610. package/src/runtime/locale.ts +26 -0
  611. package/src/runtime/resolve-definitions.ts +28 -2
  612. package/src/runtime/sixb.ts +1 -1
  613. package/src/runtime/types.ts +55 -48
  614. package/src/scheduler/runtime.ts +11 -2
  615. package/src/schedules/builders.ts +1 -4
  616. package/src/schedules/runtime.ts +0 -41
  617. package/src/schedules/validation.ts +2 -16
  618. package/src/security/builders.ts +49 -5
  619. package/src/security/every.ts +1 -1
  620. package/src/security/index.ts +6 -1
  621. package/src/security/markings.ts +313 -0
  622. package/src/security/redactions.ts +6 -0
  623. package/src/security/registry.ts +21 -1
  624. package/src/security/types.ts +26 -0
  625. package/src/security/validation.ts +59 -2
  626. package/src/storage/action-runs/idempotency.ts +13 -41
  627. package/src/storage/action-runs/in-memory.ts +20 -311
  628. package/src/storage/action-runs/index.ts +1 -16
  629. package/src/storage/action-runs/record.ts +130 -0
  630. package/src/storage/action-runs/types.ts +37 -92
  631. package/src/storage/agents/provider.ts +11 -0
  632. package/src/storage/agents/types.ts +15 -7
  633. package/src/storage/index.ts +2 -9
  634. package/src/storage/internal.ts +1 -7
  635. package/src/storage/objects/execution-limits.ts +3 -2
  636. package/src/storage/objects/types.ts +7 -0
  637. package/src/storage/types.ts +2 -4
  638. package/src/testing/action-execution.ts +73 -13
  639. package/src/testing/action-run-storage-contract.ts +335 -0
  640. package/src/testing/index.ts +8 -1
  641. package/src/testing/materializer-storage-contract.ts +174 -18
  642. package/src/testing/queues-contract.ts +0 -18
  643. package/src/workflows/builders.ts +24 -1
  644. package/src/workflows/request.ts +3 -0
  645. package/src/workflows/types.ts +6 -3
  646. package/src/workflows/validation.ts +32 -4
  647. package/dist/actions/run-dispatch.d.ts +0 -25
  648. package/dist/actions/run-dispatch.d.ts.map +0 -1
  649. package/dist/actions/worker.d.ts +0 -3
  650. package/dist/actions/worker.d.ts.map +0 -1
  651. package/dist/actions/worker.js +0 -321
  652. package/dist/actions/worker.js.map +0 -11
  653. package/dist/chunk-10styjgk.js +0 -1572
  654. package/dist/chunk-10styjgk.js.map +0 -20
  655. package/dist/chunk-1hqwggsn.js.map +0 -12
  656. package/dist/chunk-52c5zb0z.js +0 -81
  657. package/dist/chunk-52c5zb0z.js.map +0 -10
  658. package/dist/chunk-69266efg.js.map +0 -12
  659. package/dist/chunk-6wbm6ymz.js +0 -4399
  660. package/dist/chunk-6wbm6ymz.js.map +0 -48
  661. package/dist/chunk-85cd7e8c.js +0 -51
  662. package/dist/chunk-85cd7e8c.js.map +0 -10
  663. package/dist/chunk-91kcnbf0.js.map +0 -10
  664. package/dist/chunk-98cw09sw.js.map +0 -10
  665. package/dist/chunk-9g6jz9kk.js +0 -592
  666. package/dist/chunk-9g6jz9kk.js.map +0 -15
  667. package/dist/chunk-9vx5e9g1.js.map +0 -11
  668. package/dist/chunk-aq39q04r.js.map +0 -15
  669. package/dist/chunk-cd234ba4.js.map +0 -14
  670. package/dist/chunk-cnb5kv05.js.map +0 -19
  671. package/dist/chunk-dfm066qg.js.map +0 -11
  672. package/dist/chunk-dmn70ztd.js.map +0 -11
  673. package/dist/chunk-fc5zfxy1.js.map +0 -11
  674. package/dist/chunk-gf7yht60.js.map +0 -12
  675. package/dist/chunk-h3v76ams.js.map +0 -11
  676. package/dist/chunk-pja9jfz6.js.map +0 -19
  677. package/dist/chunk-r2y23egw.js.map +0 -10
  678. package/dist/chunk-t9shqx3w.js.map +0 -12
  679. package/dist/chunk-tjjgy3z4.js +0 -1277
  680. package/dist/chunk-tjjgy3z4.js.map +0 -35
  681. package/dist/chunk-xcy5ddha.js.map +0 -15
  682. package/dist/chunk-xyvy73tj.js.map +0 -12
  683. package/dist/chunk-y2aq6ag9.js.map +0 -11
  684. package/dist/chunk-z5rnrmz1.js.map +0 -11
  685. package/dist/chunk-zvx7h87b.js +0 -12
  686. package/dist/chunk-zvx7h87b.js.map +0 -10
  687. package/dist/events/types/actions.d.ts +0 -39
  688. package/dist/events/types/actions.d.ts.map +0 -1
  689. package/dist/objects/service/action-service.d.ts +0 -13
  690. package/dist/objects/service/action-service.d.ts.map +0 -1
  691. package/src/actions/run-dispatch.ts +0 -282
  692. package/src/actions/worker.ts +0 -2
  693. package/src/events/types/actions.ts +0 -42
  694. package/src/objects/service/action-service.ts +0 -43
  695. /package/dist/{chunk-jjrn5v0p.js.map → chunk-1k89ecfr.js.map} +0 -0
  696. /package/dist/{chunk-vre348sb.js.map → chunk-52bk93x8.js.map} +0 -0
  697. /package/dist/{chunk-4gmng3vf.js.map → chunk-5e43w60z.js.map} +0 -0
  698. /package/dist/{chunk-33saed7g.js.map → chunk-7kg3k1m9.js.map} +0 -0
  699. /package/dist/{chunk-kkqwzy6h.js.map → chunk-7t429e3f.js.map} +0 -0
  700. /package/dist/{chunk-2am3db31.js.map → chunk-9gyp8hg1.js.map} +0 -0
  701. /package/dist/{chunk-4wn7bxxa.js.map → chunk-9ybhtmg4.js.map} +0 -0
  702. /package/dist/{chunk-rb143ggb.js.map → chunk-bwjcehza.js.map} +0 -0
  703. /package/dist/{chunk-5thzcb8g.js.map → chunk-c85m1hyj.js.map} +0 -0
  704. /package/dist/{chunk-e67ynxcr.js.map → chunk-d2ync1v3.js.map} +0 -0
  705. /package/dist/{chunk-3rrezgyc.js.map → chunk-dnmadg9k.js.map} +0 -0
  706. /package/dist/{chunk-vjcd8d27.js.map → chunk-fa02jy15.js.map} +0 -0
  707. /package/dist/{chunk-vp3z1ckh.js.map → chunk-kyzq4wy9.js.map} +0 -0
  708. /package/dist/{chunk-c2rga5cx.js.map → chunk-mfs23znk.js.map} +0 -0
  709. /package/dist/{chunk-a7er86jd.js.map → chunk-nre82s12.js.map} +0 -0
  710. /package/dist/{chunk-f1xh7a32.js.map → chunk-q1vkr2ys.js.map} +0 -0
  711. /package/dist/{chunk-23xs4qp9.js.map → chunk-rhg02hxq.js.map} +0 -0
  712. /package/dist/{chunk-k4g51s47.js.map → chunk-t6vq7bff.js.map} +0 -0
  713. /package/dist/{chunk-sk0hcjsz.js.map → chunk-tjb1mk5t.js.map} +0 -0
  714. /package/dist/{chunk-rx7h5fdx.js.map → chunk-v9xd5wzd.js.map} +0 -0
  715. /package/dist/{chunk-2vhg6ysa.js.map → chunk-vyf9kfqf.js.map} +0 -0
@@ -1,30 +1,15 @@
1
1
  import type { ExecutionStorage } from "../executions"
2
2
  import { ActionRunError } from "./errors"
3
- import { parseActionRunFailure } from "./failure"
4
- import {
5
- actionRunPhaseRecordsEqual,
6
- actionSubjectsEqual,
7
- canRequeueActionRunAfterEnqueueFailure,
8
- isTerminalActionRun,
9
- } from "./idempotency"
3
+ import { actionSubjectsEqual } from "./idempotency"
10
4
  import { assertActionRunExecution } from "./provider"
5
+ import { normalizeRecordActionRunInput, resolveActionRunEffects } from "./record"
11
6
  import type {
12
- ActionRunEffectsRecord,
13
- ActionRunFailure,
14
- ActionRunParams,
15
- ActionRunPhase,
16
7
  ActionRunRecord,
17
8
  ActionRunStorage,
18
- ActionRunWritebackRecord,
19
- EnterActionRunPhaseInput,
20
- FinishActionRunInput,
21
9
  ListActionRunsInput,
22
10
  ListActionRunsResult,
23
- LockActionMaterializationRunInput,
24
- QueueActionRunInput,
25
11
  RecordActionEffectsInput,
26
- RecordActionWritebackInput,
27
- StartActionRunInput,
12
+ RecordActionRunInput,
28
13
  } from "./types"
29
14
 
30
15
  type RunRootOperation = <T>(run: () => Promise<T> | T) => Promise<T>
@@ -35,74 +20,12 @@ function actionRunKey(projectId: string, id: string): string {
35
20
  return JSON.stringify([projectId, id])
36
21
  }
37
22
 
38
- function assertNonBlank(value: string, fieldName: string): void {
39
- if (typeof value !== "string" || value.trim().length === 0) {
40
- throw new ActionRunError(`[Sixb] Action materialization ${fieldName} must be nonblank.`)
41
- }
42
- }
43
-
44
23
  function cloneActionRunRecord(record: ActionRunRecord): ActionRunRecord {
45
24
  return structuredClone(record)
46
25
  }
47
26
 
48
- function normalizeParams(params: ActionRunParams): ActionRunParams {
49
- return structuredClone(params)
50
- }
51
-
52
- function normalizeSubject(subject: QueueActionRunInput["subject"]): QueueActionRunInput["subject"] {
53
- return structuredClone(subject)
54
- }
55
-
56
- function normalizeError<TPhase extends ActionRunPhase>(
57
- error: ActionRunFailure<TPhase>,
58
- expectedPhase?: TPhase
59
- ): ActionRunFailure<TPhase> {
60
- return expectedPhase === undefined
61
- ? (parseActionRunFailure(error) as ActionRunFailure<TPhase>)
62
- : parseActionRunFailure(error, expectedPhase)
63
- }
64
-
65
- function normalizeWriteback(
66
- input: RecordActionWritebackInput,
67
- completedAt: Date
68
- ): ActionRunWritebackRecord {
69
- if (input.status === "succeeded") {
70
- return {
71
- status: "succeeded",
72
- completedAt,
73
- result: structuredClone(input.result),
74
- }
75
- }
76
-
77
- return {
78
- status: "failed",
79
- completedAt,
80
- error: normalizeError(input.error, "writeback"),
81
- }
82
- }
83
-
84
- function normalizeEffects(
85
- input: RecordActionEffectsInput,
86
- completedAt: Date
87
- ): ActionRunEffectsRecord {
88
- if (input.status === "succeeded") {
89
- return {
90
- status: "succeeded",
91
- completedAt,
92
- }
93
- }
94
-
95
- return {
96
- status: "failed",
97
- completedAt,
98
- error: normalizeError(input.error, "effects"),
99
- }
100
- }
101
-
102
27
  function compareRuns(a: ActionRunRecord, b: ActionRunRecord, order: "asc" | "desc"): number {
103
- const leftAt = a.startedAt ?? a.queuedAt
104
- const rightAt = b.startedAt ?? b.queuedAt
105
- const delta = leftAt.getTime() - rightAt.getTime()
28
+ const delta = a.startedAt.getTime() - b.startedAt.getTime()
106
29
  if (delta !== 0) {
107
30
  return order === "asc" ? delta : -delta
108
31
  }
@@ -136,235 +59,49 @@ export class InMemoryActionRunStorage implements ActionRunStorage {
136
59
  }
137
60
  }
138
61
 
139
- async lockForMaterialization(input: LockActionMaterializationRunInput): Promise<ActionRunRecord> {
140
- return this.runRootOperation(() => cloneActionRunRecord(this.requireMaterializationRun(input)))
141
- }
142
-
143
- async queue(input: QueueActionRunInput): Promise<ActionRunRecord> {
62
+ async record(input: RecordActionRunInput): Promise<ActionRunRecord> {
144
63
  return this.runRootOperation(async () => {
145
- const key = actionRunKey(input.projectId, input.id)
146
- const existing = this.rows.get(key)
147
- if (existing && !canRequeueActionRunAfterEnqueueFailure(existing, input)) {
64
+ const record = normalizeRecordActionRunInput(input)
65
+ const key = actionRunKey(record.projectId, record.id)
66
+ if (this.rows.has(key)) {
148
67
  throw new ActionRunError(
149
- `[Sixb] Action run '${input.id}' already exists for project '${input.projectId}'.`
68
+ `[Sixb] Action run '${record.id}' is already recorded for project '${record.projectId}'.`
150
69
  )
151
70
  }
152
71
  if (
153
72
  [...this.rows.values()].some(
154
- (run) =>
155
- run.projectId === input.projectId &&
156
- run.id !== input.id &&
157
- run.executionId === input.executionId
73
+ (run) => run.projectId === record.projectId && run.executionId === record.executionId
158
74
  )
159
75
  ) {
160
76
  throw new ActionRunError(
161
- `[Sixb] Execution '${input.executionId}' already belongs to another Action run.`
77
+ `[Sixb] Execution '${record.executionId}' already belongs to another Action run.`
162
78
  )
163
79
  }
164
80
  await assertActionRunExecution({
165
81
  executions: this.executions,
166
- projectId: input.projectId,
167
- executionId: input.executionId,
168
- runId: input.id,
169
- actionId: input.actionId,
82
+ projectId: record.projectId,
83
+ executionId: record.executionId,
84
+ runId: record.id,
85
+ actionId: record.actionId,
170
86
  })
171
87
 
172
- const record: ActionRunRecord = {
173
- id: input.id,
174
- projectId: input.projectId,
175
- executionId: input.executionId,
176
- actionId: input.actionId,
177
- subject: normalizeSubject(input.subject),
178
- status: "queued",
179
- phase: "request",
180
- queuedAt: new Date(input.queuedAt ?? new Date()),
181
- params: normalizeParams(input.params),
182
- idempotencyKey: input.idempotencyKey,
183
- }
184
-
185
- if (existing) {
186
- const next: ActionRunRecord = {
187
- ...existing,
188
- status: "queued",
189
- phase: "request",
190
- queuedAt: record.queuedAt,
191
- startedAt: undefined,
192
- finishedAt: undefined,
193
- error: undefined,
194
- writeback: undefined,
195
- effects: undefined,
196
- }
197
- this.rows.set(key, structuredClone(next))
198
- return cloneActionRunRecord(next)
199
- }
200
-
201
88
  this.rows.set(key, structuredClone(record))
202
89
  return cloneActionRunRecord(record)
203
90
  })
204
91
  }
205
92
 
206
- async start(input: StartActionRunInput): Promise<ActionRunRecord> {
207
- return this.runRootOperation(() => {
208
- const key = actionRunKey(input.projectId, input.id)
209
- const existing = this.rows.get(key)
210
-
211
- if (!existing) {
212
- throw new ActionRunError(
213
- `[Sixb] Action run '${input.id}' not found for project '${input.projectId}'.`
214
- )
215
- }
216
-
217
- if (existing.status !== "queued") {
218
- throw new ActionRunError(
219
- `[Sixb] Action run '${input.id}' cannot start from status '${existing.status}'.`
220
- )
221
- }
222
-
223
- const next: ActionRunRecord = {
224
- ...existing,
225
- status: "running",
226
- phase: input.phase ?? "validation",
227
- startedAt: new Date(input.startedAt ?? new Date()),
228
- error: undefined,
229
- }
230
-
231
- this.rows.set(key, structuredClone(next))
232
- return cloneActionRunRecord(next)
233
- })
234
- }
235
-
236
- async enterPhase(input: EnterActionRunPhaseInput): Promise<ActionRunRecord> {
237
- return this.runRootOperation(() => {
238
- const key = actionRunKey(input.projectId, input.id)
239
- const existing = this.requireRunningRun(key, input.projectId, input.id, "enter phase")
240
- const next: ActionRunRecord = {
241
- ...existing,
242
- phase: input.phase,
243
- }
244
-
245
- this.rows.set(key, structuredClone(next))
246
- return cloneActionRunRecord(next)
247
- })
248
- }
249
-
250
- async recordWriteback(input: RecordActionWritebackInput): Promise<ActionRunRecord> {
251
- return this.runRootOperation(() => {
252
- const key = actionRunKey(input.projectId, input.id)
253
- const existing = this.requireRunningRun(key, input.projectId, input.id, "record writeback")
254
- const writeback = normalizeWriteback(input, new Date(input.completedAt ?? new Date()))
255
-
256
- if (existing.writeback) {
257
- if (actionRunPhaseRecordsEqual(existing.writeback, writeback)) {
258
- return cloneActionRunRecord(existing)
259
- }
260
-
261
- throw new ActionRunError(
262
- `[Sixb] Action run '${input.id}' already has a different writeback record.`
263
- )
264
- }
265
-
266
- const next: ActionRunRecord = {
267
- ...existing,
268
- phase: "writeback",
269
- writeback,
270
- }
271
-
272
- this.rows.set(key, structuredClone(next))
273
- return cloneActionRunRecord(next)
274
- })
275
- }
276
-
277
93
  async recordEffects(input: RecordActionEffectsInput): Promise<ActionRunRecord> {
278
94
  return this.runRootOperation(() => {
279
95
  const key = actionRunKey(input.projectId, input.id)
280
- const existing = this.requireRunningRun(key, input.projectId, input.id, "record effects")
281
- const effects = normalizeEffects(input, new Date(input.completedAt ?? new Date()))
282
-
283
- if (existing.effects) {
284
- if (actionRunPhaseRecordsEqual(existing.effects, effects)) {
285
- return cloneActionRunRecord(existing)
286
- }
287
-
288
- throw new ActionRunError(
289
- `[Sixb] Action run '${input.id}' already has a different effects record.`
290
- )
291
- }
292
-
293
- const next: ActionRunRecord = {
294
- ...existing,
295
- phase: "effects",
296
- effects,
297
- }
96
+ const { run, effects } = resolveActionRunEffects(this.rows.get(key) ?? null, input)
97
+ if (!effects) return cloneActionRunRecord(run)
298
98
 
99
+ const next: ActionRunRecord = { ...run, phase: "effects", effects }
299
100
  this.rows.set(key, structuredClone(next))
300
101
  return cloneActionRunRecord(next)
301
102
  })
302
103
  }
303
104
 
304
- async finish(input: FinishActionRunInput): Promise<ActionRunRecord> {
305
- return this.runRootOperation(() => {
306
- const key = actionRunKey(input.projectId, input.id)
307
- const existing = this.rows.get(key)
308
-
309
- if (!existing) {
310
- throw new ActionRunError(
311
- `[Sixb] Action run '${input.id}' not found for project '${input.projectId}'.`
312
- )
313
- }
314
-
315
- if (isTerminalActionRun(existing)) {
316
- throw new ActionRunError(
317
- `[Sixb] Action run '${input.id}' cannot finish from terminal status '${existing.status}'.`
318
- )
319
- }
320
-
321
- const phase =
322
- input.status === "succeeded" ? (input.phase ?? existing.phase) : input.error.details.phase
323
-
324
- const base: ActionRunRecord = {
325
- ...existing,
326
- status: input.status,
327
- phase,
328
- finishedAt: new Date(input.finishedAt ?? new Date()),
329
- }
330
-
331
- const next: ActionRunRecord =
332
- input.status === "succeeded"
333
- ? {
334
- ...base,
335
- error: undefined,
336
- }
337
- : {
338
- ...base,
339
- error: normalizeError(input.error),
340
- }
341
-
342
- this.rows.set(key, structuredClone(next))
343
- return cloneActionRunRecord(next)
344
- })
345
- }
346
-
347
- private requireRunningRun(
348
- key: string,
349
- projectId: string,
350
- id: string,
351
- operation: string
352
- ): ActionRunRecord {
353
- const existing = this.rows.get(key)
354
-
355
- if (!existing) {
356
- throw new ActionRunError(`[Sixb] Action run '${id}' not found for project '${projectId}'.`)
357
- }
358
-
359
- if (existing.status !== "running") {
360
- throw new ActionRunError(
361
- `[Sixb] Action run '${id}' cannot ${operation} from status '${existing.status}'.`
362
- )
363
- }
364
-
365
- return existing
366
- }
367
-
368
105
  async getById(params: { projectId: string; id: string }): Promise<ActionRunRecord | null> {
369
106
  return this.runRootOperation(() => {
370
107
  const record = this.rows.get(actionRunKey(params.projectId, params.id))
@@ -408,12 +145,8 @@ export class InMemoryActionRunStorage implements ActionRunStorage {
408
145
  : true
409
146
  )
410
147
  .filter((record) => (statuses ? statuses.has(record.status) : true))
411
- .filter((record) =>
412
- input.startedAfter ? (record.startedAt ?? record.queuedAt) >= input.startedAfter : true
413
- )
414
- .filter((record) =>
415
- input.startedBefore ? (record.startedAt ?? record.queuedAt) <= input.startedBefore : true
416
- )
148
+ .filter((record) => (input.startedAfter ? record.startedAt >= input.startedAfter : true))
149
+ .filter((record) => (input.startedBefore ? record.startedAt <= input.startedBefore : true))
417
150
  .sort((a, b) => compareRuns(a, b, order))
418
151
 
419
152
  const total = filtered.length
@@ -421,30 +154,6 @@ export class InMemoryActionRunStorage implements ActionRunStorage {
421
154
  return { runs, hasMore: offset + runs.length < total, total }
422
155
  })
423
156
  }
424
-
425
- private requireMaterializationRun(input: LockActionMaterializationRunInput): ActionRunRecord {
426
- assertNonBlank(input.projectId, "projectId")
427
- assertNonBlank(input.runId, "runId")
428
- assertNonBlank(input.actionId, "actionId")
429
-
430
- const existing = this.rows.get(actionRunKey(input.projectId, input.runId))
431
- if (!existing) {
432
- throw new ActionRunError(
433
- `[Sixb] Action run '${input.runId}' not found for project '${input.projectId}'.`
434
- )
435
- }
436
- if (existing.actionId !== input.actionId) {
437
- throw new ActionRunError(
438
- `[Sixb] Action run '${input.runId}' does not belong to action '${input.actionId}'.`
439
- )
440
- }
441
- if (existing.status !== "running") {
442
- throw new ActionRunError(
443
- `[Sixb] Action run '${input.runId}' cannot materialize from status '${existing.status}'.`
444
- )
445
- }
446
- return existing
447
- }
448
157
  }
449
158
 
450
159
  export type InMemoryActionRunStorageSnapshot = Map<string, ActionRunRecord>
@@ -1,13 +1,4 @@
1
1
  export { ActionRunError } from "./errors"
2
- export type { ActionRunPhaseRecord } from "./idempotency"
3
- export {
4
- actionRunParamsEqual,
5
- actionRunPhaseRecordsEqual,
6
- actionSubjectsEqual,
7
- canRequeueActionRunAfterEnqueueFailure,
8
- finishActionRunPhase,
9
- isTerminalActionRun,
10
- } from "./idempotency"
11
2
  export { InMemoryActionRunStorage } from "./in-memory"
12
3
  export type {
13
4
  ActionRunEffectsRecord,
@@ -16,19 +7,13 @@ export type {
16
7
  ActionRunFailureDetails,
17
8
  ActionRunParams,
18
9
  ActionRunPhase,
19
- ActionRunPhaseStatus,
20
10
  ActionRunRecord,
21
11
  ActionRunStatus,
22
12
  ActionRunStorage,
23
13
  ActionRunWritebackRecord,
24
- EnterActionRunPhaseInput,
25
- FinishActionRunInput,
26
14
  ListActionRunsInput,
27
15
  ListActionRunsResult,
28
- LockActionMaterializationRunInput,
29
- QueueActionRunInput,
30
16
  RecordActionEffectsInput,
31
- RecordActionWritebackInput,
32
- StartActionRunInput,
17
+ RecordActionRunInput,
33
18
  } from "./types"
34
19
  export { ACTION_RUN_FAILURE_CODES, ACTION_RUN_PHASES } from "./types"
@@ -0,0 +1,130 @@
1
+ import { assertJsonValue, cloneJsonValue } from "../../json"
2
+ import { ActionRunError } from "./errors"
3
+ import { parseActionRunFailure } from "./failure"
4
+ import { actionRunPhaseRecordsEqual } from "./idempotency"
5
+ import type {
6
+ ActionRunEffectsRecord,
7
+ ActionRunRecord,
8
+ ActionRunWritebackRecord,
9
+ RecordActionEffectsInput,
10
+ RecordActionRunInput,
11
+ } from "./types"
12
+ import { ACTION_RUN_PHASES } from "./types"
13
+
14
+ /**
15
+ * Validate a terminal run record before a provider inserts it, and detach it from the caller.
16
+ *
17
+ * Every provider records through this, so a stored run always reads back as the record that was
18
+ * written: a failed run carries the failure of the phase it ended in, and a succeeded one none. A
19
+ * run is recorded before its effects run, so no record starts in the `effects` phase.
20
+ */
21
+ export function normalizeRecordActionRunInput(input: RecordActionRunInput): RecordActionRunInput {
22
+ const label = `[Sixb] Action run '${input.id}'`
23
+ for (const field of ["id", "projectId", "executionId", "actionId", "idempotencyKey"] as const) {
24
+ if (typeof input[field] !== "string" || input[field].trim().length === 0) {
25
+ throw new ActionRunError(`${label} must have a nonblank ${field}.`)
26
+ }
27
+ }
28
+ const status: string = input.status
29
+ if (status !== "succeeded" && status !== "failed") {
30
+ throw new ActionRunError(`${label} has unknown status '${status}'.`)
31
+ }
32
+ if (!(ACTION_RUN_PHASES as readonly string[]).includes(input.phase)) {
33
+ throw new ActionRunError(`${label} has unknown phase '${input.phase}'.`)
34
+ }
35
+ if (input.phase === "effects") {
36
+ throw new ActionRunError(`${label} is recorded before its effects run.`)
37
+ }
38
+ const startedAt = requireDate(input.startedAt, `${label} startedAt`)
39
+ const finishedAt = requireDate(input.finishedAt, `${label} finishedAt`)
40
+ if (finishedAt < startedAt) {
41
+ throw new ActionRunError(`${label} cannot finish before it started.`)
42
+ }
43
+ assertJsonValue(input.params, `${label} params`)
44
+
45
+ const fields = {
46
+ id: input.id,
47
+ projectId: input.projectId,
48
+ executionId: input.executionId,
49
+ actionId: input.actionId,
50
+ subject: structuredClone(input.subject),
51
+ phase: input.phase,
52
+ startedAt,
53
+ finishedAt,
54
+ params: structuredClone(input.params),
55
+ idempotencyKey: input.idempotencyKey,
56
+ ...(input.writeback === undefined
57
+ ? {}
58
+ : { writeback: normalizeWriteback(input.writeback, label) }),
59
+ }
60
+
61
+ if (input.status === "succeeded") {
62
+ if (input.error !== undefined) {
63
+ throw new ActionRunError(`${label} succeeded, so it cannot record a failure.`)
64
+ }
65
+ return { ...fields, status: "succeeded" }
66
+ }
67
+ const error = parseActionRunFailure(input.error, input.phase)
68
+ if (error.details.runId !== input.id || error.details.actionId !== input.actionId) {
69
+ throw new ActionRunError(`${label} records the failure of another run.`)
70
+ }
71
+ return { ...fields, status: "failed", error }
72
+ }
73
+
74
+ /**
75
+ * Resolve what recording effects does to the stored run: write `effects`, or nothing (`null`) when
76
+ * an equal outcome is already recorded.
77
+ *
78
+ * Effects run only after a succeeded run committed its edits, and their outcome is recorded once.
79
+ */
80
+ export function resolveActionRunEffects(
81
+ existing: ActionRunRecord | null,
82
+ input: RecordActionEffectsInput
83
+ ): { readonly run: ActionRunRecord; readonly effects: ActionRunEffectsRecord | null } {
84
+ const label = `[Sixb] Action run '${input.id}'`
85
+ if (!existing) {
86
+ throw new ActionRunError(`${label} not found for project '${input.projectId}'.`)
87
+ }
88
+ const completedAt = requireDate(input.completedAt ?? new Date(), `${label} effects`)
89
+ const effects: ActionRunEffectsRecord =
90
+ input.status === "succeeded"
91
+ ? { status: "succeeded", completedAt }
92
+ : { status: "failed", completedAt, error: parseActionRunFailure(input.error, "effects") }
93
+
94
+ if (existing.effects) {
95
+ if (actionRunPhaseRecordsEqual(existing.effects, effects))
96
+ return { run: existing, effects: null }
97
+ throw new ActionRunError(`${label} already has a different effects record.`)
98
+ }
99
+ if (existing.status !== "succeeded" || existing.phase !== "commit") {
100
+ throw new ActionRunError(
101
+ `${label} cannot record effects: it ended '${existing.status}' in phase '${existing.phase}'.`
102
+ )
103
+ }
104
+ return { run: existing, effects }
105
+ }
106
+
107
+ function normalizeWriteback(
108
+ writeback: ActionRunWritebackRecord,
109
+ label: string
110
+ ): ActionRunWritebackRecord {
111
+ const completedAt = requireDate(writeback.completedAt, `${label} writeback`)
112
+ if (writeback.status === "succeeded") {
113
+ assertJsonValue(writeback.result, `${label} writeback result`)
114
+ return { status: "succeeded", completedAt, result: cloneJsonValue(writeback.result) }
115
+ }
116
+ return {
117
+ status: "failed",
118
+ completedAt,
119
+ error: parseActionRunFailure(writeback.error, "writeback"),
120
+ }
121
+ }
122
+
123
+ /** A detached copy of `value`, which must be a valid date. */
124
+ function requireDate(value: Date, label: string): Date {
125
+ const date = value instanceof Date ? new Date(value) : new Date(Number.NaN)
126
+ if (!Number.isFinite(date.getTime())) {
127
+ throw new ActionRunError(`${label} must be a valid date.`)
128
+ }
129
+ return date
130
+ }