@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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EACV,kBAAkB,EAClB,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAClD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,YAAY,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC5F,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,6BAA6B,EAC7B,cAAc,EACd,QAAQ,EACR,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,GAChB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,4BAA4B,EAC5B,gBAAgB,EAChB,oCAAoC,GACrC,MAAM,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,GAClB,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAA;AAClD,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,YAAY,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC5F,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,EACrB,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC7C,YAAY,EACV,WAAW,EACX,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,UAAU,EACV,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,0BAA0B,EAC1B,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,6BAA6B,EAC7B,cAAc,EACd,QAAQ,EACR,cAAc,EACd,SAAS,EACT,UAAU,EACV,SAAS,EACT,eAAe,GAChB,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,gCAAgC,EAChC,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,4BAA4B,EAC5B,gBAAgB,EAChB,oCAAoC,GACrC,MAAM,cAAc,CAAA"}
@@ -0,0 +1,19 @@
1
+ import type { DatasetDefinition } from "../datasets/types";
2
+ import type { OntologyDefinitionCatalog } from "../ontology/registry";
3
+ import type { PipelineDefinition } from "../pipelines/types";
4
+ import type { ProjectionDefinitionCatalog } from "../projections/registry";
5
+ /**
6
+ * Check every marking once at startup.
7
+ *
8
+ * A marking is enforced at read time from the property or column definition alone, so each rule
9
+ * here closes a path that would otherwise return the value unredacted or make enforcement
10
+ * ambiguous.
11
+ */
12
+ export declare function validateMarkingsAtStartup(input: {
13
+ readonly markingIds: ReadonlySet<string>;
14
+ readonly ontology: OntologyDefinitionCatalog;
15
+ readonly datasetsById: ReadonlyMap<string, DatasetDefinition>;
16
+ readonly pipelines: readonly PipelineDefinition[];
17
+ readonly projections: ProjectionDefinitionCatalog;
18
+ }): void;
19
+ //# sourceMappingURL=markings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markings.d.ts","sourceRoot":"","sources":["../../src/security/markings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAI1E;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE;IAC/C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAA;IAC5C,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAA;IAC7D,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACjD,QAAQ,CAAC,WAAW,EAAE,2BAA2B,CAAA;CAClD,GAAG,IAAI,CAKP"}
@@ -0,0 +1,4 @@
1
+ import type { Redactions } from "./types";
2
+ /** List the values hidden from a reader that lacks a clearance for their markings. */
3
+ export declare function missingClearanceRedactions(ids: Iterable<string>): Redactions;
4
+ //# sourceMappingURL=redactions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redactions.d.ts","sourceRoot":"","sources":["../../src/security/redactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEzC,sFAAsF;AACtF,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,UAAU,CAE5E"}
@@ -1,7 +1,9 @@
1
1
  import { type ResolvedRole } from "../authorization";
2
- import type { GroupDefinition, MembershipPolicyDefinition, RoleDefinition } from "./types";
2
+ import type { GroupDefinition, MarkingDefinition, MembershipPolicyDefinition, RoleDefinition } from "./types";
3
3
  /** Read-only access to validated security definitions and resolved role grants. */
4
4
  export interface SecurityDefinitionCatalog {
5
+ listMarkings(): readonly MarkingDefinition[];
6
+ getMarkingById(markingId: string): MarkingDefinition | null;
5
7
  listGroups(): readonly GroupDefinition[];
6
8
  getGroupById(groupId: string): GroupDefinition | null;
7
9
  listRoles(): readonly RoleDefinition[];
@@ -11,6 +13,7 @@ export interface SecurityDefinitionCatalog {
11
13
  getMembershipPolicyById(policyId: string): MembershipPolicyDefinition | null;
12
14
  }
13
15
  export interface SecurityRegistryOptions {
16
+ readonly markings?: readonly MarkingDefinition[];
14
17
  readonly groups?: readonly GroupDefinition[];
15
18
  readonly roles?: readonly RoleDefinition[];
16
19
  readonly membershipPolicies?: readonly MembershipPolicyDefinition[];
@@ -27,11 +30,14 @@ export interface SecurityRegistryOptions {
27
30
  readonly getSubTypes?: (objectTypeId: string) => readonly string[];
28
31
  }
29
32
  export declare class SecurityRegistry implements SecurityDefinitionCatalog {
33
+ private readonly markingsById;
30
34
  private readonly groupsById;
31
35
  private readonly rolesById;
32
36
  private readonly membershipPoliciesById;
33
37
  private readonly resolvedRoles;
34
38
  constructor(input: SecurityRegistryOptions);
39
+ listMarkings(): readonly MarkingDefinition[];
40
+ getMarkingById(markingId: string): MarkingDefinition | null;
35
41
  listGroups(): readonly GroupDefinition[];
36
42
  getGroupById(groupId: string): GroupDefinition | null;
37
43
  listRoles(): readonly RoleDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/security/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,kBAAkB,CAAA;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG1F,mFAAmF;AACnF,MAAM,WAAW,yBAAyB;IACxC,UAAU,IAAI,SAAS,eAAe,EAAE,CAAA;IACxC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAA;IACrD,SAAS,IAAI,SAAS,cAAc,EAAE,CAAA;IACtC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAA;IAClD,iBAAiB,IAAI,SAAS,YAAY,EAAE,CAAA;IAC5C,sBAAsB,IAAI,SAAS,0BAA0B,EAAE,CAAA;IAC/D,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CAAA;CAC7E;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAA;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAA;CACnE;AAED,qBAAa,gBAAiB,YAAW,yBAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiD;IACxF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;gBAE3C,KAAK,EAAE,uBAAuB;IA4C1C,UAAU,IAAI,SAAS,eAAe,EAAE;IAIxC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIrD,SAAS,IAAI,SAAS,cAAc,EAAE;IAItC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAIlD,iBAAiB,IAAI,SAAS,YAAY,EAAE;IAI5C,sBAAsB,IAAI,SAAS,0BAA0B,EAAE;IAI/D,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI;CAG7E"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/security/registry.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,27 @@ export interface GroupDefinition<TId extends string = string> {
5
5
  readonly label?: string;
6
6
  readonly description?: string;
7
7
  }
8
+ /**
9
+ * A classification carried by sensitive properties and dataset columns.
10
+ *
11
+ * A principal reads a marked value only when one of its roles lists the marking in `clearances`.
12
+ * No grant bypasses a marking.
13
+ */
14
+ export interface MarkingDefinition<TId extends string = string> {
15
+ readonly kind: "marking";
16
+ readonly id: TId;
17
+ readonly label?: string;
18
+ readonly description?: string;
19
+ }
20
+ /** Why a value was omitted from a read. */
21
+ export type RedactionReason = "missing_clearance";
22
+ /**
23
+ * Values omitted from a read, keyed by property id or column name. A redacted value is absent,
24
+ * never `null`.
25
+ */
26
+ export type Redactions = Readonly<Record<string, {
27
+ readonly reason: RedactionReason;
28
+ }>>;
8
29
  /**
9
30
  * A group named either by its definition or by its id.
10
31
  *
@@ -122,6 +143,8 @@ export interface RoleDefinition<TId extends string = string> {
122
143
  readonly description?: string;
123
144
  readonly grantedToGroupIds: readonly string[];
124
145
  readonly grants: readonly GrantDefinition[];
146
+ /** Ids of the markings this role's members may read. Absent means none. */
147
+ readonly clearances?: readonly string[];
125
148
  }
126
149
  export type MembershipOperation = "invite" | "assignGroups" | "suspend";
127
150
  export interface MembershipPolicyDefinition<TId extends string = string> {
@@ -132,6 +155,8 @@ export interface MembershipPolicyDefinition<TId extends string = string> {
132
155
  readonly can: readonly MembershipOperation[];
133
156
  }
134
157
  export interface RegisteredSecurityDefinitions {
158
+ readonly markings: readonly MarkingDefinition[];
159
+ readonly markingsById: ReadonlyMap<string, MarkingDefinition>;
135
160
  readonly groups: readonly GroupDefinition[];
136
161
  readonly groupsById: ReadonlyMap<string, GroupDefinition>;
137
162
  readonly roles: readonly RoleDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
- import type { GrantDefinition, GroupDefinition, MembershipPolicyDefinition, RegisteredSecurityDefinitions, RoleDefinition } from "./types";
1
+ import type { GrantDefinition, GroupDefinition, MarkingDefinition, MembershipPolicyDefinition, RegisteredSecurityDefinitions, RoleDefinition } from "./types";
2
2
  export type CreateSecurityError = (message: string) => Error;
3
3
  export declare function isRecord(value: unknown): value is Record<string, unknown>;
4
4
  export declare function assertNonEmptyString(value: unknown, field: string, createError?: CreateSecurityError): asserts value is string;
5
5
  export declare function assertOptionalString(value: unknown, field: string, createError?: CreateSecurityError): asserts value is string | undefined;
6
+ export declare function assertMarkingDefinition(value: unknown, createError?: CreateSecurityError): asserts value is MarkingDefinition;
7
+ export declare function isMarkingDefinition(value: unknown): value is MarkingDefinition;
6
8
  export declare function assertGroupDefinition(value: unknown, createError?: CreateSecurityError): asserts value is GroupDefinition;
7
9
  export declare function isGroupDefinition(value: unknown): value is GroupDefinition;
8
10
  export declare function assertMembershipPolicyDefinition(value: unknown, createError?: CreateSecurityError): asserts value is MembershipPolicyDefinition;
@@ -11,6 +13,7 @@ export declare function assertGrantDefinition(value: unknown, field: string, cre
11
13
  export declare function assertRoleDefinition(value: unknown, createError?: CreateSecurityError): asserts value is RoleDefinition;
12
14
  export declare function isRoleDefinition(value: unknown): value is RoleDefinition;
13
15
  export declare function validateSecurityDefinitionsAtStartup(input: {
16
+ readonly markings?: readonly MarkingDefinition[];
14
17
  readonly groups: readonly GroupDefinition[];
15
18
  readonly membershipPolicies: readonly MembershipPolicyDefinition[];
16
19
  readonly roles?: readonly RoleDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/security/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/security/validation.ts"],"names":[],"mappings":"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"}
@@ -1,53 +1,56 @@
1
1
  // @bun
2
- import"../chunk-6fsr7y93.js";
2
+ import"../chunk-a40ad1ft.js";
3
+ import"../chunk-8mx7qw3y.js";
3
4
  import"../chunk-z3y5kg1x.js";
4
- import"../chunk-y2aq6ag9.js";
5
- import"../chunk-fc5zfxy1.js";
5
+ import"../chunk-b38szspf.js";
6
6
  import {
7
7
  formatSessionCookieValue2,
8
8
  parseSessionCookieValue2
9
- } from "../chunk-svabwqdq.js";
10
- import"../chunk-5be2ath4.js";
9
+ } from "../chunk-3gnrh4ve.js";
10
+ import"../chunk-enpsx8k5.js";
11
+ import"../chunk-y7rqfrgg.js";
11
12
  import"../chunk-v4jbb3rs.js";
12
- import"../chunk-rpxz486p.js";
13
- import"../chunk-rx7h5fdx.js";
13
+ import"../chunk-jhm3zsa7.js";
14
+ import"../chunk-hvsb78a1.js";
15
+ import"../chunk-xt1zt7gv.js";
16
+ import"../chunk-v9xd5wzd.js";
14
17
  import"../chunk-2jntasmh.js";
15
18
  import"../chunk-pqajwytd.js";
16
- import"../chunk-s7ftxrdr.js";
19
+ import"../chunk-29yx306f.js";
17
20
  import"../chunk-gfdh9kqa.js";
18
- import"../chunk-9se093qz.js";
19
- import"../chunk-69266efg.js";
21
+ import"../chunk-gc4ntf7d.js";
22
+ import"../chunk-s54c868q.js";
20
23
  import"../chunk-ere85b8y.js";
21
24
  import"../chunk-4as3wt1c.js";
22
25
  import"../chunk-h89wz928.js";
23
- import"../chunk-33saed7g.js";
26
+ import"../chunk-7kg3k1m9.js";
24
27
  import"../chunk-tw03bsmb.js";
25
- import"../chunk-xyvy73tj.js";
26
- import"../chunk-b9affek3.js";
27
- import"../chunk-5yd8cchh.js";
28
- import"../chunk-wt4szfec.js";
28
+ import"../chunk-bpgy64fw.js";
29
+ import"../chunk-7n440zgt.js";
30
+ import"../chunk-j2bp5ryw.js";
31
+ import"../chunk-pbcbn83d.js";
29
32
  import"../chunk-qczk96d9.js";
30
33
  import"../chunk-mmagke4x.js";
31
34
  import"../chunk-hn2r7z41.js";
32
- import"../chunk-4wn7bxxa.js";
35
+ import"../chunk-9ybhtmg4.js";
33
36
  import"../chunk-jmfet9r4.js";
34
37
  import"../chunk-qf954wje.js";
35
- import"../chunk-t9shqx3w.js";
38
+ import"../chunk-1f7wpmyp.js";
36
39
  import {
37
40
  intersectShareAccessPlans
38
41
  } from "../chunk-x9v4cx1d.js";
39
42
  import {
40
43
  compileShareAccessPlan
41
- } from "../chunk-vre348sb.js";
44
+ } from "../chunk-52bk93x8.js";
42
45
  import {
43
46
  snapshotShareAccessPlan
44
47
  } from "../chunk-br3k6qbf.js";
45
48
  import {
46
49
  ShareSessionStorageError2
47
50
  } from "../chunk-z8fx5cgb.js";
48
- import"../chunk-aq39q04r.js";
51
+ import"../chunk-s16apyk9.js";
49
52
  import"../chunk-rj69qcrd.js";
50
- import"../chunk-5thzcb8g.js";
53
+ import"../chunk-c85m1hyj.js";
51
54
 
52
55
  // src/shares/session-protocol.ts
53
56
  import { createHash, randomBytes, randomUUID, timingSafeEqual } from "crypto";
@@ -231,4 +234,4 @@ export {
231
234
  SharedSessionProtocol
232
235
  };
233
236
 
234
- //# debugId=40C1DDBDD05B1A4E64756E2164756E21
237
+ //# debugId=34911D02E010DC8E64756E2164756E21
@@ -4,7 +4,7 @@
4
4
  "sourcesContent": [
5
5
  "import { createHash, randomBytes, randomUUID, timingSafeEqual } from \"node:crypto\"\nimport { formatSessionCookieValue, parseSessionCookieValue } from \"../auth/sessions\"\nimport type { SixbHostView } from \"../runtime\"\nimport type { ShareGrantRecord, ShareSessionRecord, Storage } from \"../storage\"\nimport { ShareSessionStorageError } from \"../storage\"\nimport { type ShareAccessPlan, snapshotShareAccessPlan } from \"./access-plan\"\nimport { compileShareAccessPlan } from \"./compiler\"\nimport { intersectShareAccessPlans } from \"./intersection\"\n\nexport const DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS = 15 * 60_000\n\nconst MAX_CREATE_ATTEMPTS = 5\nconst SECRET_PATTERN = /^[A-Za-z0-9_-]{43}$/\n\nexport interface SharedSessionContext {\n readonly grantId: string\n readonly sessionId: string\n readonly destinationPath: string\n readonly access: ShareAccessPlan\n readonly expiresAt: Date\n readonly absoluteExpiresAt: Date\n}\n\nexport interface SharedSessionCredential {\n readonly context: SharedSessionContext\n /** Opaque value for the HttpOnly shared-session cookie. */\n readonly cookieValue: string\n}\n\nexport interface SharedSessionProtocolOptions {\n readonly host: SixbHostView\n readonly inactivityTtlMs?: number\n readonly now?: () => Date\n}\n\n/**\n * Framework-owned shared-session lifecycle.\n *\n * Link and session secrets are verified here. Callers receive only an effective access plan built\n * from the issued snapshot intersected with the Share definition registered now.\n */\nexport class SharedSessionProtocol {\n private readonly host: SixbHostView\n private readonly inactivityTtlMs: number\n private readonly now: () => Date\n\n constructor(options: SharedSessionProtocolOptions) {\n if (!options.host.storage.shareGrants || !options.host.storage.shareSessions) {\n throw new Error(\"[Sixb] Shared sessions require share grant and session storage.\")\n }\n const inactivityTtlMs = options.inactivityTtlMs ?? DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS\n if (!Number.isSafeInteger(inactivityTtlMs) || inactivityTtlMs <= 0) {\n throw new Error(\"[Sixb] Shared session inactivity TTL must be a positive integer.\")\n }\n this.host = options.host\n this.inactivityTtlMs = inactivityTtlMs\n this.now = options.now ?? (() => new Date())\n }\n\n async exchange(grantId: string, secret: string): Promise<SharedSessionCredential | null> {\n if (!validIdentifier(grantId) || !validSecret(secret)) return null\n const now = this.currentTime()\n\n for (let attempt = 0; attempt < MAX_CREATE_ATTEMPTS; attempt += 1) {\n const sessionSecret = randomBytes(32).toString(\"base64url\")\n const sessionId = `shs_${randomUUID()}`\n try {\n const result = await this.host.storage.transaction(async (tx) => {\n const grant = await activeGrant(tx, this.host.projectId, grantId, now)\n const secretMatches = secretMatchesHash(secret, grant?.tokenHash ?? \"\")\n if (!grant || !secretMatches) return null\n const sessions = requireSessions(tx)\n const absoluteExpiresAt = new Date(grant.expiresAt)\n const session = await sessions.create({\n id: sessionId,\n projectId: this.host.projectId,\n grantId: grant.id,\n tokenHash: sha256(sessionSecret),\n createdAt: now,\n expiresAt: inactivityDeadline(now, absoluteExpiresAt, this.inactivityTtlMs),\n absoluteExpiresAt,\n })\n return { grant, session }\n })\n if (!result) return null\n return {\n context: this.context(result.grant, result.session),\n cookieValue: formatSessionCookieValue(sessionId, sessionSecret),\n }\n } catch (error) {\n if (\n error instanceof ShareSessionStorageError &&\n error.code === \"duplicate\" &&\n attempt < MAX_CREATE_ATTEMPTS - 1\n ) {\n continue\n }\n throw error\n }\n }\n\n return null\n }\n\n async resolve(\n grantId: string,\n cookieValue: string | undefined,\n options: { readonly activity?: \"background\" | \"foreground\" } = {}\n ): Promise<SharedSessionContext | null> {\n if (!validIdentifier(grantId) || !validCookieValue(cookieValue)) return null\n const credential = parseSessionCookieValue(cookieValue)\n if (\n !credential ||\n !validIdentifier(credential.sessionId) ||\n !validSecret(credential.sessionSecret)\n ) {\n return null\n }\n const now = this.currentTime()\n const tokenHash = sha256(credential.sessionSecret)\n\n const result = await this.host.storage.transaction(async (tx) => {\n const sessions = requireSessions(tx)\n const current = await sessions.getById({\n projectId: this.host.projectId,\n id: credential.sessionId,\n })\n const secretMatches = secretMatchesHash(credential.sessionSecret, current?.tokenHash ?? \"\")\n if (\n !current ||\n current.grantId !== grantId ||\n current.revokedAt !== undefined ||\n current.expiresAt.getTime() <= now.getTime() ||\n current.absoluteExpiresAt.getTime() <= now.getTime() ||\n !secretMatches\n ) {\n return null\n }\n\n const grant = await activeGrant(tx, this.host.projectId, grantId, now)\n if (!grant || current.absoluteExpiresAt.getTime() !== grant.expiresAt.getTime()) {\n return null\n }\n\n if (options.activity !== \"foreground\") return { grant, session: current }\n\n const renewed = await sessions.renewIfValid({\n projectId: this.host.projectId,\n id: current.id,\n grantId,\n tokenHash,\n now,\n expiresAt: inactivityDeadline(now, current.absoluteExpiresAt, this.inactivityTtlMs),\n })\n return renewed ? { grant, session: renewed } : null\n })\n\n return result ? this.context(result.grant, result.session) : null\n }\n\n async revoke(context: Pick<SharedSessionContext, \"grantId\" | \"sessionId\">): Promise<void> {\n const revokedAt = this.currentTime()\n await this.host.storage.transaction(async (tx) => {\n const session = await requireSessions(tx).getById({\n projectId: this.host.projectId,\n id: context.sessionId,\n })\n if (!session || session.grantId !== context.grantId) return\n await requireSessions(tx).revoke({\n projectId: this.host.projectId,\n id: context.sessionId,\n revokedAt,\n })\n })\n }\n\n private context(grant: ShareGrantRecord, session: ShareSessionRecord): SharedSessionContext {\n return {\n grantId: grant.id,\n sessionId: session.id,\n destinationPath: grant.destinationPath,\n access: effectiveAccess(this.host, grant),\n expiresAt: new Date(session.expiresAt),\n absoluteExpiresAt: new Date(session.absoluteExpiresAt),\n }\n }\n\n private currentTime(): Date {\n const now = this.now()\n if (!(now instanceof Date) || !Number.isFinite(now.getTime())) {\n throw new Error(\"[Sixb] Shared session clock returned an invalid date.\")\n }\n return new Date(now)\n }\n}\n\nfunction effectiveAccess(host: SixbHostView, grant: ShareGrantRecord): ShareAccessPlan {\n const definition = host.definitions.shares.getById(grant.definitionId)\n if (!definition || definition.target.objectTypeId !== grant.target.objectTypeId) {\n return snapshotShareAccessPlan({ grants: [] })\n }\n const current = compileShareAccessPlan({\n share: definition,\n target: grant.target,\n ontology: host.definitions.ontology,\n actions: host.definitions.actions,\n })\n return intersectShareAccessPlans(grant.authoritySnapshot.access, current)\n}\n\nasync function activeGrant(\n storage: Storage,\n projectId: string,\n grantId: string,\n now: Date\n): Promise<ShareGrantRecord | null> {\n const grant = await storage.shareGrants?.getById({ projectId, id: grantId })\n return !grant || grant.revokedAt !== undefined || grant.expiresAt.getTime() <= now.getTime()\n ? null\n : grant\n}\n\nfunction requireSessions(storage: Storage): NonNullable<Storage[\"shareSessions\"]> {\n if (!storage.shareSessions) {\n throw new Error(\"[Sixb] Shared session storage is not configured.\")\n }\n return storage.shareSessions\n}\n\nfunction inactivityDeadline(now: Date, absolute: Date, ttlMs: number): Date {\n return new Date(Math.min(absolute.getTime(), now.getTime() + ttlMs))\n}\n\nfunction secretMatchesHash(secret: string, expectedHash: string): boolean {\n const actual = createHash(\"sha256\").update(secret).digest()\n const expected = /^[0-9a-f]{64}$/.test(expectedHash)\n ? Buffer.from(expectedHash, \"hex\")\n : Buffer.alloc(actual.length)\n return timingSafeEqual(actual, expected)\n}\n\nfunction sha256(value: string): string {\n return createHash(\"sha256\").update(value).digest(\"hex\")\n}\n\nfunction validIdentifier(value: unknown): value is string {\n return (\n typeof value === \"string\" && value.length > 0 && value.length <= 128 && value.trim() === value\n )\n}\n\nfunction validSecret(value: unknown): value is string {\n return typeof value === \"string\" && SECRET_PATTERN.test(value)\n}\n\nfunction validCookieValue(value: unknown): value is string {\n return typeof value === \"string\" && value.length <= 256\n}\n"
6
6
  ],
7
- "mappings": "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",
8
- "debugId": "40C1DDBDD05B1A4E64756E2164756E21",
7
+ "mappings": "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",
8
+ "debugId": "34911D02E010DC8E64756E2164756E21",
9
9
  "names": []
10
10
  }
@@ -2,8 +2,8 @@
2
2
  import {
3
3
  serializeActionRunFailure2,
4
4
  parseActionRunFailure2
5
- } from "../../chunk-y2aq6ag9.js";
6
- import"../../chunk-6fsr7y93.js";
5
+ } from "../../chunk-b38szspf.js";
6
+ import"../../chunk-8mx7qw3y.js";
7
7
  import"../../chunk-z3y5kg1x.js";
8
8
  export {
9
9
  parseActionRunFailure2 as parseActionRunFailure,
@@ -1,10 +1,9 @@
1
1
  import type { ActionSubject } from "../../actions";
2
- import type { ActionRunEffectsRecord, ActionRunPhase, ActionRunRecord, ActionRunWritebackRecord, FinishActionRunInput, QueueActionRunInput } from "./types";
2
+ import type { ActionRunEffectsRecord, ActionRunRecord, ActionRunWritebackRecord } from "./types";
3
3
  export declare function actionSubjectsEqual(left: ActionSubject, right: ActionSubject): boolean;
4
4
  export declare function actionRunParamsEqual(left: unknown, right: unknown): boolean;
5
+ /** Whether two runs carry the same request: the same Action, subject, and params. */
6
+ export declare function actionRunRequestsEqual(left: Pick<ActionRunRecord, "actionId" | "subject" | "params">, right: Pick<ActionRunRecord, "actionId" | "subject" | "params">): boolean;
5
7
  export type ActionRunPhaseRecord = ActionRunWritebackRecord | ActionRunEffectsRecord;
6
8
  export declare function actionRunPhaseRecordsEqual(left: ActionRunPhaseRecord, right: ActionRunPhaseRecord): boolean;
7
- export declare function finishActionRunPhase(input: FinishActionRunInput, current: ActionRunPhase | null | undefined): ActionRunPhase;
8
- export declare function canRequeueActionRunAfterEnqueueFailure(existing: ActionRunRecord, input: QueueActionRunInput): boolean;
9
- export declare function isTerminalActionRun(record: Pick<ActionRunRecord, "status">): boolean;
10
9
  //# sourceMappingURL=idempotency.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EACd,eAAe,EACf,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAKtF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAE3E;AAED,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,sBAAsB,CAAA;AAEpF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAET;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,oBAAoB,EAC3B,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,GACzC,cAAc,CAMhB;AAED,wBAAgB,sCAAsC,CACpD,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAWT;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG,OAAO,CAIpF"}
1
+ {"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEhG,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO,CAKtF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAE3E;AAED,qFAAqF;AACrF,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC,EAC9D,KAAK,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC,GAC9D,OAAO,CAMT;AAED,MAAM,MAAM,oBAAoB,GAAG,wBAAwB,GAAG,sBAAsB,CAAA;AAEpF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAET"}
@@ -1,5 +1,5 @@
1
1
  import type { ExecutionStorage } from "../executions";
2
- import type { ActionRunRecord, ActionRunStorage, EnterActionRunPhaseInput, FinishActionRunInput, ListActionRunsInput, ListActionRunsResult, LockActionMaterializationRunInput, QueueActionRunInput, RecordActionEffectsInput, RecordActionWritebackInput, StartActionRunInput } from "./types";
2
+ import type { ActionRunRecord, ActionRunStorage, ListActionRunsInput, ListActionRunsResult, RecordActionEffectsInput, RecordActionRunInput } from "./types";
3
3
  type RunRootOperation = <T>(run: () => Promise<T> | T) => Promise<T>;
4
4
  export declare class InMemoryActionRunStorage implements ActionRunStorage {
5
5
  private readonly executions;
@@ -10,20 +10,13 @@ export declare class InMemoryActionRunStorage implements ActionRunStorage {
10
10
  });
11
11
  snapshot(): InMemoryActionRunStorageSnapshot;
12
12
  restore(snapshot: InMemoryActionRunStorageSnapshot): void;
13
- lockForMaterialization(input: LockActionMaterializationRunInput): Promise<ActionRunRecord>;
14
- queue(input: QueueActionRunInput): Promise<ActionRunRecord>;
15
- start(input: StartActionRunInput): Promise<ActionRunRecord>;
16
- enterPhase(input: EnterActionRunPhaseInput): Promise<ActionRunRecord>;
17
- recordWriteback(input: RecordActionWritebackInput): Promise<ActionRunRecord>;
13
+ record(input: RecordActionRunInput): Promise<ActionRunRecord>;
18
14
  recordEffects(input: RecordActionEffectsInput): Promise<ActionRunRecord>;
19
- finish(input: FinishActionRunInput): Promise<ActionRunRecord>;
20
- private requireRunningRun;
21
15
  getById(params: {
22
16
  projectId: string;
23
17
  id: string;
24
18
  }): Promise<ActionRunRecord | null>;
25
19
  list(input: ListActionRunsInput): Promise<ListActionRunsResult>;
26
- private requireMaterializationRun;
27
20
  }
28
21
  export type InMemoryActionRunStorageSnapshot = Map<string, ActionRunRecord>;
29
22
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"in-memory.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/in-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAUrD,OAAO,KAAK,EAKV,eAAe,EACf,gBAAgB,EAEhB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,EACjC,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAEhB,KAAK,gBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAuFpE,qBAAa,wBAAyB,YAAW,gBAAgB;IAK7D,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqC;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;gBAGhC,UAAU,EAAE,gBAAgB,EAC7C,KAAK,GAAE;QAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;KAAO;IAK9D,QAAQ,IAAI,gCAAgC;IAI5C,OAAO,CAAC,QAAQ,EAAE,gCAAgC,GAAG,IAAI;IAOnD,sBAAsB,CAAC,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAAC,eAAe,CAAC;IAI1F,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IA+D3D,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,eAAe,CAAC;IA8B3D,UAAU,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IAcrE,eAAe,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,eAAe,CAAC;IA2B5E,aAAa,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IA2BxE,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IA2CnE,OAAO,CAAC,iBAAiB;IAqBnB,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAOnF,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAkDrE,OAAO,CAAC,yBAAyB;CAuBlC;AAED,MAAM,MAAM,gCAAgC,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"in-memory.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/in-memory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAKrD,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAEhB,KAAK,gBAAgB,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;AAyBpE,qBAAa,wBAAyB,YAAW,gBAAgB;IAK7D,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAqC;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkB;gBAGhC,UAAU,EAAE,gBAAgB,EAC7C,KAAK,GAAE;QAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAA;KAAO;IAK9D,QAAQ,IAAI,gCAAgC;IAI5C,OAAO,CAAC,QAAQ,EAAE,gCAAgC,GAAG,IAAI;IAOnD,MAAM,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC;IA+B7D,aAAa,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC;IAYxE,OAAO,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAOnF,IAAI,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CA6CtE;AAED,MAAM,MAAM,gCAAgC,GAAG,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA"}
@@ -1,7 +1,5 @@
1
1
  export { ActionRunError } from "./errors";
2
- export type { ActionRunPhaseRecord } from "./idempotency";
3
- export { actionRunParamsEqual, actionRunPhaseRecordsEqual, actionSubjectsEqual, canRequeueActionRunAfterEnqueueFailure, finishActionRunPhase, isTerminalActionRun, } from "./idempotency";
4
2
  export { InMemoryActionRunStorage } from "./in-memory";
5
- export type { ActionRunEffectsRecord, ActionRunFailure, ActionRunFailureCode, ActionRunFailureDetails, ActionRunParams, ActionRunPhase, ActionRunPhaseStatus, ActionRunRecord, ActionRunStatus, ActionRunStorage, ActionRunWritebackRecord, EnterActionRunPhaseInput, FinishActionRunInput, ListActionRunsInput, ListActionRunsResult, LockActionMaterializationRunInput, QueueActionRunInput, RecordActionEffectsInput, RecordActionWritebackInput, StartActionRunInput, } from "./types";
3
+ export type { ActionRunEffectsRecord, ActionRunFailure, ActionRunFailureCode, ActionRunFailureDetails, ActionRunParams, ActionRunPhase, ActionRunRecord, ActionRunStatus, ActionRunStorage, ActionRunWritebackRecord, ListActionRunsInput, ListActionRunsResult, RecordActionEffectsInput, RecordActionRunInput, } from "./types";
6
4
  export { ACTION_RUN_FAILURE_CODES, ACTION_RUN_PHASES } from "./types";
7
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,YAAY,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACzD,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,sCAAsC,EACtC,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,iCAAiC,EACjC,mBAAmB,EACnB,wBAAwB,EACxB,0BAA0B,EAC1B,mBAAmB,GACpB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAA;AACtD,YAAY,EACV,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  assertActionRunExecution2
4
- } from "../../chunk-fc5zfxy1.js";
4
+ } from "../../chunk-a40ad1ft.js";
5
5
  export {
6
6
  assertActionRunExecution2 as assertActionRunExecution
7
7
  };
@@ -0,0 +1,20 @@
1
+ import type { ActionRunEffectsRecord, ActionRunRecord, RecordActionEffectsInput, RecordActionRunInput } from "./types";
2
+ /**
3
+ * Validate a terminal run record before a provider inserts it, and detach it from the caller.
4
+ *
5
+ * Every provider records through this, so a stored run always reads back as the record that was
6
+ * written: a failed run carries the failure of the phase it ended in, and a succeeded one none. A
7
+ * run is recorded before its effects run, so no record starts in the `effects` phase.
8
+ */
9
+ export declare function normalizeRecordActionRunInput(input: RecordActionRunInput): RecordActionRunInput;
10
+ /**
11
+ * Resolve what recording effects does to the stored run: write `effects`, or nothing (`null`) when
12
+ * an equal outcome is already recorded.
13
+ *
14
+ * Effects run only after a succeeded run committed its edits, and their outcome is recorded once.
15
+ */
16
+ export declare function resolveActionRunEffects(existing: ActionRunRecord | null, input: RecordActionEffectsInput): {
17
+ readonly run: ActionRunRecord;
18
+ readonly effects: ActionRunEffectsRecord | null;
19
+ };
20
+ //# sourceMappingURL=record.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record.d.ts","sourceRoot":"","sources":["../../../src/storage/action-runs/record.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,sBAAsB,EACtB,eAAe,EAEf,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,SAAS,CAAA;AAGhB;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAmD/F;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,eAAe,GAAG,IAAI,EAChC,KAAK,EAAE,wBAAwB,GAC9B;IAAE,QAAQ,CAAC,GAAG,EAAE,eAAe,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI,CAAA;CAAE,CAsBpF"}
@@ -1,13 +1,17 @@
1
1
  import type { ActionSubject } from "../../actions";
2
2
  import type { SixbFailure } from "../../errors/types";
3
3
  import type { JsonValue } from "../../json";
4
- export type ActionRunStatus = "queued" | "running" | "succeeded" | "failed" | "cancelled";
5
- export declare const ACTION_RUN_PHASES: readonly ["request", "enqueue", "validation", "writeback", "edits", "commit", "effects", "cancelled"];
4
+ /**
5
+ * How a run ended. A run is recorded once, when it ends: while it executes, the request that runs
6
+ * it is its only state.
7
+ */
8
+ export type ActionRunStatus = "succeeded" | "failed";
9
+ /** The phases of a run, in the order it reaches them. */
10
+ export declare const ACTION_RUN_PHASES: readonly ["validation", "writeback", "edits", "commit", "effects"];
6
11
  export type ActionRunPhase = (typeof ACTION_RUN_PHASES)[number];
7
12
  export type ActionRunParams = Readonly<Record<string, JsonValue>>;
8
- export type ActionRunPhaseStatus = "succeeded" | "failed";
9
13
  /** Error codes an action run or phase record can persist and expose. */
10
- export declare const ACTION_RUN_FAILURE_CODES: readonly ["internal.unexpected", "runtime.cancelled", "queue.enqueue_failed", "action.phase_failed", "action.read_conflict"];
14
+ export declare const ACTION_RUN_FAILURE_CODES: readonly ["internal.unexpected", "runtime.cancelled", "action.phase_failed", "action.read_conflict", "action.timeout"];
11
15
  export type ActionRunFailureCode = (typeof ACTION_RUN_FAILURE_CODES)[number];
12
16
  export interface ActionRunFailureDetails<TPhase extends ActionRunPhase = ActionRunPhase> {
13
17
  readonly actionId: string;
@@ -38,56 +42,34 @@ export type ActionRunEffectsRecord = {
38
42
  readonly completedAt: Date;
39
43
  readonly error: ActionRunFailure<"effects">;
40
44
  };
41
- export interface ActionRunRecord {
45
+ interface ActionRunRecordFields {
42
46
  readonly id: string;
43
47
  readonly projectId: string;
44
48
  readonly executionId: string;
45
49
  readonly actionId: string;
46
50
  readonly subject: ActionSubject;
47
- readonly status: ActionRunStatus;
48
- readonly phase?: ActionRunPhase;
49
- readonly queuedAt: Date;
50
- readonly startedAt?: Date;
51
- readonly finishedAt?: Date;
51
+ /** The last phase the run reached. */
52
+ readonly phase: ActionRunPhase;
53
+ readonly startedAt: Date;
54
+ readonly finishedAt: Date;
52
55
  readonly params: ActionRunParams;
53
56
  readonly idempotencyKey: string;
54
57
  readonly writeback?: ActionRunWritebackRecord;
55
- readonly effects?: ActionRunEffectsRecord;
56
- readonly error?: ActionRunFailure;
57
- }
58
- export interface QueueActionRunInput {
59
- readonly id: string;
60
- readonly projectId: string;
61
- readonly executionId: string;
62
- readonly actionId: string;
63
- readonly subject: ActionSubject;
64
- readonly params: ActionRunParams;
65
- readonly idempotencyKey: string;
66
- readonly queuedAt?: Date;
67
- }
68
- export interface StartActionRunInput {
69
- readonly id: string;
70
- readonly projectId: string;
71
- readonly startedAt?: Date;
72
- readonly phase?: Extract<ActionRunPhase, "validation">;
73
- }
74
- export interface EnterActionRunPhaseInput {
75
- readonly id: string;
76
- readonly projectId: string;
77
- readonly phase: Extract<ActionRunPhase, "validation" | "writeback" | "edits" | "commit" | "effects">;
78
58
  }
79
- export type RecordActionWritebackInput = {
80
- readonly id: string;
81
- readonly projectId: string;
59
+ /** A run's terminal record, as it is written once when the run ends. */
60
+ export type RecordActionRunInput = (ActionRunRecordFields & {
82
61
  readonly status: "succeeded";
83
- readonly completedAt?: Date;
84
- readonly result: JsonValue;
85
- } | {
86
- readonly id: string;
87
- readonly projectId: string;
62
+ readonly error?: never;
63
+ }) | (ActionRunRecordFields & {
88
64
  readonly status: "failed";
89
- readonly completedAt?: Date;
90
- readonly error: ActionRunFailure<"writeback">;
65
+ readonly error: ActionRunFailure;
66
+ });
67
+ /**
68
+ * A recorded run. Its effects run after its record is written, so their outcome is the one part
69
+ * recorded later, on a succeeded run that committed edits.
70
+ */
71
+ export type ActionRunRecord = RecordActionRunInput & {
72
+ readonly effects?: ActionRunEffectsRecord;
91
73
  };
92
74
  export type RecordActionEffectsInput = {
93
75
  readonly id: string;
@@ -101,19 +83,6 @@ export type RecordActionEffectsInput = {
101
83
  readonly completedAt?: Date;
102
84
  readonly error: ActionRunFailure<"effects">;
103
85
  };
104
- export type FinishActionRunInput = {
105
- readonly id: string;
106
- readonly projectId: string;
107
- readonly status: "succeeded";
108
- readonly finishedAt?: Date;
109
- readonly phase?: ActionRunPhase;
110
- } | {
111
- readonly id: string;
112
- readonly projectId: string;
113
- readonly status: "failed" | "cancelled";
114
- readonly finishedAt?: Date;
115
- readonly error: ActionRunFailure;
116
- };
117
86
  export interface ListActionRunsInput {
118
87
  readonly projectId: string;
119
88
  readonly actionId?: string;
@@ -134,24 +103,26 @@ export interface ListActionRunsResult {
134
103
  readonly hasMore: boolean;
135
104
  readonly total: number;
136
105
  }
137
- export interface LockActionMaterializationRunInput {
138
- readonly projectId: string;
139
- readonly actionId: string;
140
- readonly runId: string;
141
- }
142
106
  export interface ActionRunStorage {
143
- /** Transactional fence for Action identity and running state before a new ontology commit. */
144
- lockForMaterialization(input: LockActionMaterializationRunInput): Promise<ActionRunRecord>;
145
- queue(input: QueueActionRunInput): Promise<ActionRunRecord>;
146
- start(input: StartActionRunInput): Promise<ActionRunRecord>;
147
- enterPhase(input: EnterActionRunPhaseInput): Promise<ActionRunRecord>;
148
- recordWriteback(input: RecordActionWritebackInput): Promise<ActionRunRecord>;
107
+ /**
108
+ * Insert a run's terminal record.
109
+ *
110
+ * A run is recorded once: a run id that already has a record is refused with an
111
+ * `ActionRunError`, and so is an execution that already recorded another run. The execution must
112
+ * be the trusted primitive execution created for this run.
113
+ */
114
+ record(input: RecordActionRunInput): Promise<ActionRunRecord>;
115
+ /**
116
+ * Record the outcome of the effects of a succeeded run that committed edits, once. Recording an
117
+ * equal outcome again returns the run unchanged.
118
+ */
149
119
  recordEffects(input: RecordActionEffectsInput): Promise<ActionRunRecord>;
150
- finish(input: FinishActionRunInput): Promise<ActionRunRecord>;
151
120
  getById(params: {
152
121
  projectId: string;
153
122
  id: string;
154
123
  }): Promise<ActionRunRecord | null>;
124
+ /** Runs ordered by `startedAt`, then id. */
155
125
  list(input: ListActionRunsInput): Promise<ListActionRunsResult>;
156
126
  }
127
+ export {};
157
128
  //# sourceMappingURL=types.d.ts.map