@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,3 +1,5 @@
1
+ import { markingIdsFrom } from "../security/builders"
2
+ import type { MarkingDefinition } from "../security/types"
1
3
  import { DatasetValidationError } from "./errors"
2
4
  import type {
3
5
  DatasetColumnDefinition,
@@ -10,6 +12,8 @@ import { assertDatasetColumnDefinition, assertDatasetDefinition } from "./valida
10
12
 
11
13
  type DatasetColumnOptions = {
12
14
  readonly nullable?: boolean
15
+ /** Principals need a clearance for every marking to read this column. */
16
+ readonly markings?: readonly MarkingDefinition[]
13
17
  }
14
18
 
15
19
  type DefineDatasetOptions = {
@@ -112,6 +116,13 @@ type DerivedColumns<
112
116
  : DerivedBaseColumns<TParent, TOptions>
113
117
  : DerivedBaseColumns<TParent, TOptions>
114
118
 
119
+ /** The column records marking ids; only a declared, non-empty list marks it. */
120
+ type MarkingsFromOptions<TOptions> = TOptions extends {
121
+ readonly markings: readonly [MarkingDefinition, ...MarkingDefinition[]]
122
+ }
123
+ ? { readonly markings: readonly string[] }
124
+ : { readonly markings?: readonly string[] }
125
+
115
126
  type DatasetColumnResult<
116
127
  TName extends string,
117
128
  TType extends DatasetColumnType,
@@ -119,7 +130,8 @@ type DatasetColumnResult<
119
130
  > = {
120
131
  readonly name: TName
121
132
  readonly type: TType
122
- } & FieldFromOptions<TOptions, "nullable", boolean>
133
+ } & FieldFromOptions<TOptions, "nullable", boolean> &
134
+ MarkingsFromOptions<TOptions>
123
135
 
124
136
  type DatasetDefinitionResult<TId extends string, TOptions extends DefineDatasetOptions> = Omit<
125
137
  DatasetDefinition<TId, TOptions["schema"]>,
@@ -165,10 +177,14 @@ export function col(
165
177
  type: DatasetColumnType,
166
178
  options?: DatasetColumnOptions
167
179
  ): DatasetColumnDefinition {
180
+ const markings = options?.markings
168
181
  const column: DatasetColumnDefinition = {
169
182
  name,
170
183
  type,
171
184
  ...(options?.nullable !== undefined ? { nullable: options.nullable } : {}),
185
+ ...(markings && markings.length > 0
186
+ ? { markings: markingIdsFrom(markings, `Dataset column '${name}' markings`) }
187
+ : {}),
172
188
  }
173
189
 
174
190
  assertDatasetColumnDefinition(column, (message) => new DatasetValidationError(message))
@@ -1,11 +1,18 @@
1
- import { assertPrivileged, isRuntimeAllowed } from "../authorization"
1
+ import {
2
+ assertAuthorized,
3
+ assertPrivileged,
4
+ assertRuntimeAuthorizationBound,
5
+ isRuntimeAllowed,
6
+ } from "../authorization"
2
7
  import type { BlobStorage } from "../blob-storage"
3
8
  import type { ExecutionContext } from "../execution"
4
9
  import { resolveRuntimeAuthorizationForProject } from "../execution/authorization"
5
10
  import type { DatasetMergeCommitResult } from "../lake-storage/merge"
6
11
  import { getDatasetPrimaryKeyColumns } from "../lake-storage/merge-validation"
7
- import type { DatasetRow, LakeStorage } from "../lake-storage/types"
12
+ import type { DatasetRow, DatasetVersion, LakeStorage } from "../lake-storage/types"
8
13
  import type { SixbRuntimeContext } from "../runtime/types"
14
+ import { missingClearanceRedactions } from "../security/redactions"
15
+ import type { Redactions } from "../security/types"
9
16
  import type { MergeChange } from "./changes"
10
17
  import type { DatasetDefinition } from "./types"
11
18
  import { writeDataset } from "./write"
@@ -20,9 +27,36 @@ export interface DatasetIngestInput {
20
27
  /** Source commit result; downstream pipelines and projections run asynchronously. */
21
28
  export type DatasetIngestResult = DatasetMergeCommitResult & { readonly rowsRead: number }
22
29
 
30
+ export interface DatasetReadRowsInput {
31
+ /** Defaults to the latest version. */
32
+ readonly versionId?: string
33
+ /** Defaults to every column of the version, in schema order. */
34
+ readonly columns?: readonly string[]
35
+ readonly limit?: number
36
+ readonly offset?: number
37
+ readonly signal?: AbortSignal
38
+ }
39
+
40
+ export interface DatasetRows {
41
+ readonly version: DatasetVersion
42
+ /** Columns each row holds. Redacted columns are left out. */
43
+ readonly columns: readonly string[]
44
+ /**
45
+ * Every column of the dataset the reader cannot read, whether or not it was requested. Absent
46
+ * when the reader can read every column.
47
+ */
48
+ readonly redactions?: Redactions
49
+ readonly rows: AsyncIterable<DatasetRow>
50
+ }
51
+
23
52
  export interface DatasetsRuntime {
24
53
  list(): readonly DatasetDefinition[]
25
54
  getById(datasetId: string): DatasetDefinition | null
55
+ /**
56
+ * Read rows of one version. Returns null when the dataset has no version yet or the requested
57
+ * version does not exist.
58
+ */
59
+ readRows(dataset: DatasetDefinition, input?: DatasetReadRowsInput): Promise<DatasetRows | null>
26
60
  ingest(dataset: DatasetDefinition, input: DatasetIngestInput): Promise<DatasetIngestResult>
27
61
  }
28
62
 
@@ -47,6 +81,44 @@ export function createDatasetsRuntime(
47
81
  const dataset = source.getById(datasetId)
48
82
  return dataset && allowed(datasetId) ? dataset : null
49
83
  },
84
+ async readRows(dataset, input = {}) {
85
+ assertAuthorized(runtime, { kind: "dataset.view", datasetId: dataset.id })
86
+ const registered = source.getById(dataset.id)
87
+ if (!registered) throw new Error(`[Sixb] Dataset '${dataset.id}' is not registered.`)
88
+ const version =
89
+ input.versionId === undefined
90
+ ? await lakeStorage.getLatestVersion(registered.id)
91
+ : await lakeStorage.getVersion(registered.id, input.versionId)
92
+ if (!version) return null
93
+
94
+ const redacted = redactedColumns(registered, assertRuntimeAuthorizationBound(runtime))
95
+ const selected = selectColumns(version, input.columns)
96
+ const columns = selected.filter((column) => !redacted.has(column))
97
+ const read = (readColumns: readonly string[] | undefined) =>
98
+ lakeStorage.readRows({
99
+ datasetId: registered.id,
100
+ versionId: version.versionId,
101
+ columns: readColumns,
102
+ limit: input.limit,
103
+ offset: input.offset,
104
+ signal: input.signal,
105
+ })
106
+
107
+ // Redacted columns are not read. A provider reads every column when given none, so a page
108
+ // made only of redacted columns reads one of them to count its rows and returns them empty.
109
+ const rows =
110
+ columns.length === selected.length
111
+ ? read(input.columns)
112
+ : columns.length > 0
113
+ ? read(columns)
114
+ : emptyRows(read(selected.slice(0, 1)))
115
+ return {
116
+ version,
117
+ columns,
118
+ ...(redacted.size > 0 ? { redactions: missingClearanceRedactions(redacted) } : {}),
119
+ rows,
120
+ }
121
+ },
50
122
  async ingest(dataset, input) {
51
123
  assertPrivileged(runtime, "datasets.ingest")
52
124
  const registered = source.getById(dataset.id)
@@ -93,3 +165,39 @@ export function createDatasetsRuntime(
93
165
  },
94
166
  }
95
167
  }
168
+
169
+ /** Requested columns, or every column of the version. Like the lake, an empty list means all. */
170
+ function selectColumns(version: DatasetVersion, requested: readonly string[] | undefined) {
171
+ const available = version.schema.columns.map((column) => column.name)
172
+ if (requested === undefined || requested.length === 0) return available
173
+ for (const column of requested) {
174
+ if (!available.includes(column)) {
175
+ throw new Error(
176
+ `[Sixb] Dataset '${version.datasetId}' does not have column '${column}' at version '${version.versionId}'.`
177
+ )
178
+ }
179
+ }
180
+ return [...requested]
181
+ }
182
+
183
+ /**
184
+ * Columns the reader cannot read. Trusted code reads every column, a principal reads what its roles
185
+ * clear, and any other authority is cleared for nothing.
186
+ */
187
+ function redactedColumns(
188
+ dataset: DatasetDefinition,
189
+ authority: ReturnType<typeof assertRuntimeAuthorizationBound>
190
+ ): ReadonlySet<string> {
191
+ if (authority.type === "unrestricted") return new Set()
192
+ const clearances =
193
+ authority.type === "principal" ? (authority.context.clearances ?? new Set()) : new Set()
194
+ return new Set(
195
+ dataset.schema.columns
196
+ .filter((column) => column.markings?.some((markingId) => !clearances.has(markingId)))
197
+ .map((column) => column.name)
198
+ )
199
+ }
200
+
201
+ async function* emptyRows(rows: AsyncIterable<DatasetRow>): AsyncIterable<DatasetRow> {
202
+ for await (const _row of rows) yield {}
203
+ }
@@ -2,7 +2,13 @@ export { col, defineDataset } from "./builders"
2
2
  export type { MergeChange } from "./changes"
3
3
  export { change } from "./changes"
4
4
  export { DatasetValidationError } from "./errors"
5
- export type { DatasetIngestInput, DatasetIngestResult, DatasetsRuntime } from "./execution"
5
+ export type {
6
+ DatasetIngestInput,
7
+ DatasetIngestResult,
8
+ DatasetReadRowsInput,
9
+ DatasetRows,
10
+ DatasetsRuntime,
11
+ } from "./execution"
6
12
  export type {
7
13
  DatasetColumnDefinition,
8
14
  DatasetColumnDefinitionOf,
@@ -16,6 +16,8 @@ export interface DatasetColumnDefinition<
16
16
  readonly name: TName
17
17
  readonly type: TType
18
18
  readonly nullable?: boolean
19
+ /** Marking ids. Principals need a clearance for each one to read this column. */
20
+ readonly markings?: readonly string[]
19
21
  }
20
22
 
21
23
  export interface DatasetSchema<
@@ -1,5 +1,6 @@
1
1
  import type { BlobStorage, FileRef } from "../blob-storage"
2
2
  import { isFileRef } from "../blob-storage"
3
+ import { isValidFileRef } from "../blob-storage/validation"
3
4
  import type { DatasetMergeCommitResult } from "../lake-storage/merge"
4
5
  import { getDatasetMergeChangeValidationError } from "../lake-storage/merge-validation"
5
6
  import type {
@@ -37,6 +38,18 @@ export interface WriteDatasetInput<TValue extends DatasetWriteValue = DatasetWri
37
38
 
38
39
  export type WriteDatasetResult = DatasetMergeCommitResult & { readonly rowsRead: number }
39
40
 
41
+ /**
42
+ * The definition the lake receives. Markings are enforced from the registered definition and never
43
+ * stored, so a stored schema cannot keep a classification the code has since changed.
44
+ */
45
+ export function lakeDatasetDefinition(dataset: DatasetDefinition): DatasetDefinition {
46
+ if (!dataset.schema.columns.some((column) => column.markings)) return dataset
47
+ return {
48
+ ...dataset,
49
+ schema: { columns: dataset.schema.columns.map(({ markings: _markings, ...column }) => column) },
50
+ }
51
+ }
52
+
40
53
  /**
41
54
  * Validate, stage, and commit one dataset write using existing lake sessions.
42
55
  *
@@ -47,7 +60,8 @@ export type WriteDatasetResult = DatasetMergeCommitResult & { readonly rowsRead:
47
60
  export async function writeDataset<TValue extends DatasetWriteValue>(
48
61
  input: WriteDatasetInput<TValue>
49
62
  ): Promise<WriteDatasetResult> {
50
- const { lakeStorage, dataset, signal } = input
63
+ const { lakeStorage, signal } = input
64
+ const dataset = lakeDatasetDefinition(input.dataset)
51
65
  let abortWrite: (() => Promise<void>) | undefined
52
66
  let rowsRead = 0
53
67
  const onRead = () => {
@@ -207,8 +221,13 @@ async function verifyFileRef(
207
221
  columnName: string,
208
222
  itemIndex: number
209
223
  ): Promise<void> {
210
- const blobInfo = await input.blobStorage.stat(fileRef.blobId)
211
224
  const context = `${sourceLabel(input)} returned row ${itemIndex} with dataset '${input.dataset.id}' column '${columnName}'`
225
+ if (!isValidFileRef(fileRef)) {
226
+ throw new Error(
227
+ `${context} with an invalid mediaType; use one media type, such as "application/pdf".`
228
+ )
229
+ }
230
+ const blobInfo = await input.blobStorage.stat(fileRef.blobId)
212
231
  if (!blobInfo) {
213
232
  throw new Error(`${context} referencing unknown blob '${fileRef.blobId}'.`)
214
233
  }
@@ -8,7 +8,6 @@ export type {
8
8
  DeployCiCredential,
9
9
  DeployCommand,
10
10
  DeployConfig,
11
- DeployConfigurableWorkerType,
12
11
  DeployContext,
13
12
  DeployControlAction,
14
13
  DeployEnv,
@@ -1,5 +1,4 @@
1
1
  import type {
2
- DeployConfigurableWorkerType,
3
2
  DeployHttpServiceName,
4
3
  DeployServiceName,
5
4
  DeploySingletonServiceName,
@@ -19,27 +18,19 @@ const SERVICES = {
19
18
  workers: "workers",
20
19
  } as const satisfies Record<DeployServiceName, "http" | "singleton" | "workers">
21
20
 
22
- /** Whether each worker type's concurrency can be configured. */
23
- const WORKER_TYPES: {
24
- readonly [Type in DeployWorkerType]: Type extends DeployConfigurableWorkerType ? true : false
25
- } = {
21
+ const WORKER_TYPES = {
26
22
  sync: true,
27
- action: false,
28
23
  agent: true,
29
24
  pipeline: true,
30
25
  projection: true,
31
26
  workflow: true,
32
- }
27
+ } as const satisfies Record<DeployWorkerType, true>
33
28
 
34
29
  /** Every service, in the order a deployment lists them. */
35
30
  export const DEPLOY_SERVICES = Object.keys(SERVICES) as DeployServiceName[]
36
31
 
37
32
  export const DEPLOY_WORKER_TYPES = Object.keys(WORKER_TYPES) as DeployWorkerType[]
38
33
 
39
- export const DEPLOY_CONFIGURABLE_WORKER_TYPES = DEPLOY_WORKER_TYPES.filter(
40
- (workerType): workerType is DeployConfigurableWorkerType => WORKER_TYPES[workerType]
41
- )
42
-
43
34
  export function isDeployHttpService(service: DeployServiceName): service is DeployHttpServiceName {
44
35
  return SERVICES[service] === "http"
45
36
  }
@@ -36,10 +36,7 @@ export type DeploySingletonServiceName = "orchestrator" | "scheduler" | "rules"
36
36
 
37
37
  export type DeployServiceName = DeployHttpServiceName | DeploySingletonServiceName | "workers"
38
38
 
39
- export type DeployWorkerType = "sync" | "action" | "agent" | "pipeline" | "projection" | "workflow"
40
-
41
- /** Action jobs run one at a time, so their concurrency is fixed. */
42
- export type DeployConfigurableWorkerType = Exclude<DeployWorkerType, "action">
39
+ export type DeployWorkerType = "sync" | "agent" | "pipeline" | "projection" | "workflow"
43
40
 
44
41
  export interface DeployServicesConfig {
45
42
  readonly api?: boolean | DeployHttpServiceConfig
@@ -74,7 +71,7 @@ export interface DeployWorkersConfig {
74
71
  /** Wall-clock budget for one agent turn, such as `"30s"`, `"10m"`, or `"1h"`. */
75
72
  readonly agentTurnTimeout?: string
76
73
  /** Jobs each worker type runs at once inside one process. */
77
- readonly concurrency?: Readonly<Partial<Record<DeployConfigurableWorkerType, number>>>
74
+ readonly concurrency?: Readonly<Partial<Record<DeployWorkerType, number>>>
78
75
  /** Added to the deployment's `env` for the workers only. */
79
76
  readonly env?: DeployEnv
80
77
  readonly process?: DeployScalableProcessOptions
@@ -90,7 +87,10 @@ export interface DeployProcessDefinition {
90
87
  }
91
88
 
92
89
  export interface DeployProcessOptions {
93
- /** How long a stopping process may take before it is killed. Defaults to 10000. */
90
+ /**
91
+ * How long a stopping process may take before it is killed. Defaults to 10000, and to 70000 for
92
+ * the API, which first lets the Actions it is running and their effects finish.
93
+ */
94
94
  readonly killTimeoutMs?: number
95
95
  /** Wait before restarting a process that exited, growing with each restart. Defaults to 1000. */
96
96
  readonly restartDelayMs?: number
@@ -1,5 +1,4 @@
1
1
  import {
2
- DEPLOY_CONFIGURABLE_WORKER_TYPES,
3
2
  DEPLOY_SERVICES,
4
3
  DEPLOY_WORKER_TYPES,
5
4
  isDeployHttpService,
@@ -131,6 +130,7 @@ function workerTypes(value: unknown, path: string): void {
131
130
  }
132
131
  const seen = new Set<string>()
133
132
  for (const workerType of value) {
133
+ if (workerType === "action") throw removedActionWorker(path)
134
134
  if (!(DEPLOY_WORKER_TYPES as readonly unknown[]).includes(workerType)) {
135
135
  throw new Error(
136
136
  `[SixbDeploy] ${path} has unknown worker type ${JSON.stringify(workerType)}. ` +
@@ -147,19 +147,25 @@ function workerTypes(value: unknown, path: string): void {
147
147
  function workerConcurrency(value: unknown, path: string): void {
148
148
  const config = record(value, path)
149
149
  for (const [workerType, concurrency] of Object.entries(config)) {
150
- if (workerType === "action") {
151
- throw new Error(`[SixbDeploy] ${path}.action cannot be set: action jobs run one at a time.`)
152
- }
153
- if (!(DEPLOY_CONFIGURABLE_WORKER_TYPES as readonly string[]).includes(workerType)) {
150
+ if (workerType === "action") throw removedActionWorker(path)
151
+ if (!(DEPLOY_WORKER_TYPES as readonly string[]).includes(workerType)) {
154
152
  throw new Error(
155
153
  `[SixbDeploy] ${path} has unknown worker type "${workerType}". ` +
156
- `Available: ${DEPLOY_CONFIGURABLE_WORKER_TYPES.join(", ")}.`
154
+ `Available: ${DEPLOY_WORKER_TYPES.join(", ")}.`
157
155
  )
158
156
  }
159
157
  positiveInteger(concurrency, `${path}.${workerType}`)
160
158
  }
161
159
  }
162
160
 
161
+ /** `"action"` was a worker type until Actions ran in the process that requests them. */
162
+ function removedActionWorker(path: string): Error {
163
+ return new Error(
164
+ `[SixbDeploy] ${path} names "action", which is no longer a worker type: Actions run in the ` +
165
+ "process that requests them (API, workflows, syncs). Remove it."
166
+ )
167
+ }
168
+
163
169
  function processOptions(
164
170
  value: unknown,
165
171
  path: string,
@@ -3,6 +3,7 @@ import { OntologyValidationError } from "../ontology/errors"
3
3
  import type { ObjectTypeWithPropertyTokens } from "../ontology/tokens"
4
4
  import {
5
5
  assertKnownProperties,
6
+ assertValidFileRefs,
6
7
  normalizeObjectProperties,
7
8
  validateObjectProperties,
8
9
  validatePropertyValue,
@@ -20,6 +21,7 @@ export function normalizeObjectEditProperties(params: {
20
21
  assertKnownProperties(objectType, properties)
21
22
  assertNoTelemetryProperties(objectType.properties, properties, path)
22
23
  validateObjectProperties(objectType, properties, valueTypesById)
24
+ assertValidFileRefs(properties, objectType.id)
23
25
  return normalizeObjectProperties(objectType.properties, properties, valueTypesById, path)
24
26
  }
25
27
 
@@ -60,6 +62,7 @@ export function normalizeLinkEditProperties(params: {
60
62
  valueTypesById
61
63
  )
62
64
  }
65
+ assertValidFileRefs(properties, `${sourceObjectTypeId}.${linkId}`)
63
66
 
64
67
  return normalizeObjectProperties(
65
68
  linkProperties,
@@ -93,19 +93,11 @@ export type SixbRunFailedContext = SixbFailureContext<"run.failed"> &
93
93
  readonly attempt?: number
94
94
  }
95
95
 
96
- /** A post-commit Action effects phase failed without changing the committed Action outcome. */
97
- export interface SixbActionPhaseFailedContext extends SixbFailureContext<"action.phase.failed"> {
98
- readonly actionId: string
99
- readonly runId: string
100
- readonly phase: "effects"
101
- readonly failure: ActionRunFailure<"effects">
102
- }
103
-
104
96
  /**
105
97
  * A post-commit Action phase failed without changing the committed Action outcome.
106
98
  *
107
- * Effects run after the authoritative commit, so the Action run remains succeeded while this
108
- * context exposes the exact phase failure stored on the run.
99
+ * Effects run after the run is recorded with its commit, so the run remains succeeded while this
100
+ * context exposes the exact phase failure recorded on it.
109
101
  */
110
102
  export interface SixbActionPhaseFailedContext extends SixbFailureContext<"action.phase.failed"> {
111
103
  readonly actionId: string
@@ -18,6 +18,15 @@ export const SIXB_ERROR_DEFINITIONS = {
18
18
  publicMessage: "Data the Action read changed before its commit.",
19
19
  retryable: true,
20
20
  },
21
+ "action.run_in_progress": {
22
+ publicMessage: "The Action run is already in progress.",
23
+ retryable: true,
24
+ },
25
+ // Not retryable: the deadline aborts a writeback whose external call may still have landed.
26
+ "action.timeout": {
27
+ publicMessage: "The Action exceeded its 30-second time limit.",
28
+ retryable: false,
29
+ },
21
30
  "agent.execution_failed": {
22
31
  publicMessage: "Agent execution failed.",
23
32
  retryable: false,
@@ -134,6 +143,10 @@ export const SIXB_ERROR_DEFINITIONS = {
134
143
  publicMessage: "Execution was cancelled.",
135
144
  retryable: false,
136
145
  },
146
+ "runtime.stopping": {
147
+ publicMessage: "The runtime is stopping; retry the request.",
148
+ retryable: true,
149
+ },
137
150
  "vector.model_unavailable": {
138
151
  publicMessage: "The embedding model configured for this vector profile is unavailable.",
139
152
  retryable: false,
@@ -1,5 +1,4 @@
1
1
  import { EventsError } from "./errors"
2
- import type { ActionEvent } from "./types/actions"
3
2
  import type { DatasetEvent } from "./types/datasets"
4
3
  import type { DomainEvent, DomainEventDraft } from "./types/index"
5
4
  import type { LinkEvent } from "./types/links"
@@ -67,21 +66,6 @@ export const LINK_EVENT_DEFINITIONS = defineEventGroup<LinkEvent>({
67
66
  },
68
67
  })
69
68
 
70
- export const ACTION_EVENT_DEFINITIONS = defineEventGroup<ActionEvent>({
71
- "action.requested": {
72
- topic: "actions",
73
- partitionKey: (payload) => payload.actionId,
74
- },
75
- "action.completed": {
76
- topic: "actions",
77
- partitionKey: (payload) => payload.actionId,
78
- },
79
- "action.failed": {
80
- topic: "actions",
81
- partitionKey: (payload) => payload.actionId,
82
- },
83
- })
84
-
85
69
  export const SCHEDULE_EVENT_DEFINITIONS = defineEventGroup<ScheduleEvent>({
86
70
  "schedule.triggered": {
87
71
  topic: "schedules",
@@ -190,7 +174,6 @@ export const EVENT_DEFINITIONS = {
190
174
  ...OBJECT_EVENT_DEFINITIONS,
191
175
  ...TELEMETRY_EVENT_DEFINITIONS,
192
176
  ...LINK_EVENT_DEFINITIONS,
193
- ...ACTION_EVENT_DEFINITIONS,
194
177
  ...SCHEDULE_EVENT_DEFINITIONS,
195
178
  ...SYNC_EVENT_DEFINITIONS,
196
179
  ...PIPELINE_EVENT_DEFINITIONS,
@@ -1,5 +1,6 @@
1
1
  import { assertPrivileged, canViewEvent } from "../authorization"
2
2
  import { resolveRuntimeAuthorizationForProject } from "../execution/authorization"
3
+ import { redactDomainEvent, resolvePropertyClearance } from "../objects/property-clearance"
3
4
  import type { SixbRuntimeContext } from "../runtime/types"
4
5
  import type {
5
6
  EventsAppendInput,
@@ -10,7 +11,8 @@ import type {
10
11
  import type { StoredDomainEvent } from "./types"
11
12
 
12
13
  export interface EventsRuntime {
13
- canRead(event: StoredDomainEvent): boolean
14
+ /** The event as this execution may read it: hidden events are `undefined`, others redacted. */
15
+ readable(event: StoredDomainEvent): StoredDomainEvent | undefined
14
16
  append(input: EventsAppendInput): Promise<readonly StoredDomainEvent[]>
15
17
  emit(input: EventsAppendInput, options: EventsEmitOptions): Promise<void>
16
18
  read(input?: EventsReadInput): Promise<readonly StoredDomainEvent[]>
@@ -23,30 +25,27 @@ export interface EventsRuntime {
23
25
 
24
26
  export function createEventsRuntime(runtime: SixbRuntimeContext): EventsRuntime {
25
27
  const authority = resolveRuntimeAuthorizationForProject(runtime)
26
- const visibleEvents = (events: readonly StoredDomainEvent[]): readonly StoredDomainEvent[] => {
28
+ const clearance =
29
+ authority.type === "principal"
30
+ ? resolvePropertyClearance(runtime.ontology, authority.context.clearances ?? new Set())
31
+ : undefined
32
+ const readable = (event: StoredDomainEvent): StoredDomainEvent | undefined => {
27
33
  switch (authority.type) {
28
34
  case "denied":
29
35
  case "delegated":
30
- return []
36
+ return undefined
31
37
  case "principal":
32
- return events.filter((event) => canViewEvent(authority.context, event))
38
+ if (!canViewEvent(authority.context, event)) return undefined
39
+ return clearance ? redactDomainEvent(event, clearance) : event
33
40
  case "unrestricted":
34
- return [...events]
41
+ return event
35
42
  }
36
43
  }
44
+ const visibleEvents = (events: readonly StoredDomainEvent[]): readonly StoredDomainEvent[] =>
45
+ events.flatMap((event) => readable(event) ?? [])
37
46
 
38
47
  return {
39
- canRead: (event) => {
40
- switch (authority.type) {
41
- case "denied":
42
- case "delegated":
43
- return false
44
- case "principal":
45
- return canViewEvent(authority.context, event)
46
- case "unrestricted":
47
- return true
48
- }
49
- },
48
+ readable,
50
49
  append: (input) => {
51
50
  assertPrivileged(runtime, "events.append")
52
51
  return runtime.events.append(input)
@@ -1,7 +1,6 @@
1
1
  export type { ErrorReporter } from "../error-reporting/reporter"
2
2
  export type { EventDefinition, EventDefinitionGroup, EventDefinitionMap } from "./definitions"
3
3
  export {
4
- ACTION_EVENT_DEFINITIONS,
5
4
  DATASET_EVENT_DEFINITIONS,
6
5
  EVENT_DEFINITIONS,
7
6
  EVENT_TOPICS,
@@ -26,12 +25,6 @@ export {
26
25
  export type { EventScopeKeys } from "./scope"
27
26
  export { scopeKeysForEvent } from "./scope"
28
27
  export {
29
- type ActionEventSelectorBuilder,
30
- type ActionEventSelectorContext,
31
- type ActionEventSelectorEvent,
32
- type ActionEventSelectorOperation,
33
- type ActionEventToken,
34
- type ActionEventTokenOf,
35
28
  buildEventSelectorPredicate,
36
29
  type DatasetEventSelectorBuilder,
37
30
  type DatasetEventSelectorContext,
@@ -82,11 +75,7 @@ export {
82
75
  } from "./service"
83
76
  export { toStoredEvent } from "./toStoredEvent"
84
77
  export type {
85
- ActionCompletedEvent,
86
- ActionEvent,
87
78
  ActionEventOrigin,
88
- ActionFailedEvent,
89
- ActionRequestedEvent,
90
79
  AuthorableDomainEvent,
91
80
  AuthorableEventDraft,
92
81
  DatasetEvent,
@@ -122,9 +111,6 @@ export type {
122
111
  RuntimeMutationEventOrigin,
123
112
  ScheduleEvent,
124
113
  ScheduleTriggeredEvent,
125
- StoredActionCompletedEvent,
126
- StoredActionFailedEvent,
127
- StoredActionRequestedEvent,
128
114
  StoredAuthorableEvent,
129
115
  StoredDatasetVersionCommittedEvent,
130
116
  StoredDomainEvent,
@@ -17,7 +17,6 @@ export interface EventScopeKeys {
17
17
  readonly linkId?: string
18
18
  readonly ruleId?: string
19
19
  readonly runId?: string
20
- readonly actionId?: string
21
20
  readonly datasetId?: string
22
21
  readonly syncId?: string
23
22
  readonly pipelineId?: string
@@ -45,17 +44,6 @@ export function scopeKeysForEvent(event: DomainEvent): EventScopeKeys {
45
44
  return { pipelineId: event.payload.pipelineId, runId: event.payload.runId }
46
45
  case "syncs":
47
46
  return { syncId: event.payload.syncId, runId: event.payload.runId }
48
- case "actions":
49
- return {
50
- actionId: event.payload.actionId,
51
- runId: event.payload.runId,
52
- ...(event.payload.subject.kind === "object"
53
- ? {
54
- objectTypeId: event.payload.subject.objectTypeId,
55
- primaryId: event.payload.subject.primaryId,
56
- }
57
- : {}),
58
- }
59
47
  case "rules":
60
48
  return { ruleId: event.payload.ruleId }
61
49
  case "schedules":