@sixb/core 0.1.7 → 0.1.8

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 (612) hide show
  1. package/dist/actions/delegated-admission.d.ts +24 -0
  2. package/dist/actions/delegated-admission.d.ts.map +1 -0
  3. package/dist/actions/descriptor.d.ts +29 -0
  4. package/dist/actions/descriptor.d.ts.map +1 -0
  5. package/dist/actions/execution.d.ts +5 -5
  6. package/dist/actions/execution.d.ts.map +1 -1
  7. package/dist/actions/index.js +36 -30
  8. package/dist/actions/index.js.map +1 -1
  9. package/dist/actions/request.d.ts.map +1 -1
  10. package/dist/actions/run-authorization.d.ts +20 -0
  11. package/dist/actions/run-authorization.d.ts.map +1 -0
  12. package/dist/actions/run-dispatch.d.ts +3 -1
  13. package/dist/actions/run-dispatch.d.ts.map +1 -1
  14. package/dist/actions/worker.js +3 -3
  15. package/dist/actions/worker.js.map +1 -1
  16. package/dist/agents/adapters.d.ts +5 -122
  17. package/dist/agents/adapters.d.ts.map +1 -1
  18. package/dist/agents/authority.d.ts +1 -1
  19. package/dist/agents/authority.d.ts.map +1 -1
  20. package/dist/agents/context-resolution.d.ts.map +1 -1
  21. package/dist/agents/context.js +1 -1
  22. package/dist/agents/errors.d.ts +0 -9
  23. package/dist/agents/errors.d.ts.map +1 -1
  24. package/dist/agents/execution.d.ts.map +1 -1
  25. package/dist/agents/identity.d.ts +3 -0
  26. package/dist/agents/identity.d.ts.map +1 -0
  27. package/dist/agents/index.d.ts +3 -3
  28. package/dist/agents/index.d.ts.map +1 -1
  29. package/dist/agents/index.js +43 -43
  30. package/dist/agents/index.js.map +1 -1
  31. package/dist/agents/message.d.ts +4 -5
  32. package/dist/agents/message.d.ts.map +1 -1
  33. package/dist/agents/model-loop.d.ts +2 -0
  34. package/dist/agents/model-loop.d.ts.map +1 -1
  35. package/dist/agents/request.d.ts.map +1 -1
  36. package/dist/agents/tool-definition.d.ts +0 -1
  37. package/dist/agents/tool-definition.d.ts.map +1 -1
  38. package/dist/agents/validation.d.ts +0 -4
  39. package/dist/agents/validation.d.ts.map +1 -1
  40. package/dist/ai-usage/execution.d.ts.map +1 -1
  41. package/dist/auth/index.js +8 -5
  42. package/dist/auth/index.js.map +1 -1
  43. package/dist/authorization/decision.d.ts +10 -2
  44. package/dist/authorization/decision.d.ts.map +1 -1
  45. package/dist/authorization/grant-kinds.d.ts +2 -1
  46. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  47. package/dist/authorization/index.d.ts +1 -1
  48. package/dist/authorization/index.d.ts.map +1 -1
  49. package/dist/authorization/index.js +7 -4
  50. package/dist/authorization/index.js.map +1 -1
  51. package/dist/bootstrap/discovery.d.ts +7 -1
  52. package/dist/bootstrap/discovery.d.ts.map +1 -1
  53. package/dist/bootstrap/index.js +46 -39
  54. package/dist/bootstrap/index.js.map +1 -1
  55. package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
  56. package/dist/chunk-19jp6g9d.js +131 -0
  57. package/dist/chunk-19jp6g9d.js.map +11 -0
  58. package/dist/{chunk-x0qhkqje.js → chunk-2dw777qw.js} +50 -5
  59. package/dist/{chunk-x0qhkqje.js.map → chunk-2dw777qw.js.map} +4 -3
  60. package/dist/chunk-359jm1jw.js +147 -0
  61. package/dist/chunk-359jm1jw.js.map +10 -0
  62. package/dist/{chunk-2b5qtban.js → chunk-3xep5cjx.js} +56 -21
  63. package/dist/chunk-3xep5cjx.js.map +15 -0
  64. package/dist/{chunk-qjycjdj6.js → chunk-3z1qec12.js} +6 -8
  65. package/dist/{chunk-qjycjdj6.js.map → chunk-3z1qec12.js.map} +2 -2
  66. package/dist/{chunk-5jcdmjam.js → chunk-4jjp5k14.js} +1 -1
  67. package/dist/{chunk-n2arzn6e.js → chunk-4qfkag59.js} +44 -221
  68. package/dist/chunk-4qfkag59.js.map +20 -0
  69. package/dist/{chunk-rre42skh.js → chunk-4sm0aznx.js} +515 -80
  70. package/dist/{chunk-rre42skh.js.map → chunk-4sm0aznx.js.map} +11 -7
  71. package/dist/chunk-4yqmp43v.js +159 -0
  72. package/dist/chunk-4yqmp43v.js.map +11 -0
  73. package/dist/{chunk-atmkaf60.js → chunk-5e3pq99w.js} +2 -6
  74. package/dist/{chunk-atmkaf60.js.map → chunk-5e3pq99w.js.map} +3 -3
  75. package/dist/{chunk-agsvg9ar.js → chunk-5ntny1qx.js} +1 -1
  76. package/dist/{chunk-z2sery1b.js → chunk-9nbmsvn5.js} +60 -20
  77. package/dist/chunk-9nbmsvn5.js.map +11 -0
  78. package/dist/{chunk-e4rvtvpw.js → chunk-aa2pen2v.js} +250 -78
  79. package/dist/chunk-aa2pen2v.js.map +34 -0
  80. package/dist/{chunk-64sr682n.js → chunk-ajnan18g.js} +11 -8
  81. package/dist/chunk-ajnan18g.js.map +12 -0
  82. package/dist/{chunk-9aehf39w.js → chunk-f26bck4t.js} +4 -4
  83. package/dist/{chunk-7ds9620f.js → chunk-fvt9rjsa.js} +23 -7
  84. package/dist/chunk-fvt9rjsa.js.map +10 -0
  85. package/dist/{chunk-kt81c11h.js → chunk-gbejpkex.js} +5 -5
  86. package/dist/{chunk-kt81c11h.js.map → chunk-gbejpkex.js.map} +1 -1
  87. package/dist/{chunk-vjjv9mrb.js → chunk-gzasd5b6.js} +5 -5
  88. package/dist/{chunk-vjjv9mrb.js.map → chunk-gzasd5b6.js.map} +3 -3
  89. package/dist/{chunk-d63tybny.js → chunk-h0k55pc7.js} +4 -4
  90. package/dist/{chunk-d63tybny.js.map → chunk-h0k55pc7.js.map} +1 -1
  91. package/dist/chunk-h5vqbfmd.js +1537 -0
  92. package/dist/chunk-h5vqbfmd.js.map +19 -0
  93. package/dist/{chunk-3kv70xwp.js → chunk-j1sbhm7p.js} +18 -2
  94. package/dist/chunk-j1sbhm7p.js.map +10 -0
  95. package/dist/{chunk-hdz94br2.js → chunk-k522z7v6.js} +10 -5
  96. package/dist/chunk-k522z7v6.js.map +10 -0
  97. package/dist/{chunk-wjgm6jjt.js → chunk-mth82m8t.js} +128 -94
  98. package/dist/chunk-mth82m8t.js.map +14 -0
  99. package/dist/{chunk-qv38twt8.js → chunk-mwsxn98e.js} +46 -25
  100. package/dist/{chunk-qv38twt8.js.map → chunk-mwsxn98e.js.map} +6 -6
  101. package/dist/chunk-n4khvw9n.js +111 -0
  102. package/dist/chunk-n4khvw9n.js.map +11 -0
  103. package/dist/{chunk-qjzp9xyb.js → chunk-nn0tekr1.js} +6 -8
  104. package/dist/chunk-nn0tekr1.js.map +12 -0
  105. package/dist/chunk-nx7k8tpr.js +436 -0
  106. package/dist/chunk-nx7k8tpr.js.map +12 -0
  107. package/dist/{chunk-08twe8m6.js → chunk-p1rzczbt.js} +1 -1
  108. package/dist/{chunk-37wk412q.js → chunk-p1x242ad.js} +587 -70
  109. package/dist/chunk-p1x242ad.js.map +25 -0
  110. package/dist/{chunk-tn7xcs2n.js → chunk-pc7ys28c.js} +68 -5
  111. package/dist/chunk-pc7ys28c.js.map +14 -0
  112. package/dist/{chunk-3fqt22c4.js → chunk-q0k9nc5a.js} +280 -88
  113. package/dist/chunk-q0k9nc5a.js.map +14 -0
  114. package/dist/chunk-r8jrnexe.js +403 -0
  115. package/dist/chunk-r8jrnexe.js.map +10 -0
  116. package/dist/{chunk-gbrpsx4m.js → chunk-rafagrwr.js} +30 -2
  117. package/dist/chunk-rafagrwr.js.map +11 -0
  118. package/dist/{chunk-xdpwpkha.js → chunk-rv2hkwwa.js} +1 -1
  119. package/dist/{chunk-6ed5bwnd.js → chunk-sbzzr4kx.js} +1203 -691
  120. package/dist/{chunk-6ed5bwnd.js.map → chunk-sbzzr4kx.js.map} +15 -9
  121. package/dist/{chunk-d2ndstdf.js → chunk-v1xppd0y.js} +13 -11
  122. package/dist/{chunk-d2ndstdf.js.map → chunk-v1xppd0y.js.map} +2 -2
  123. package/dist/chunk-v4en4jc2.js +252 -0
  124. package/dist/chunk-v4en4jc2.js.map +10 -0
  125. package/dist/{chunk-1kamz6j0.js → chunk-w1tvjszy.js} +1 -1
  126. package/dist/{chunk-rp1mvzb4.js → chunk-w9tg6yyb.js} +11 -6
  127. package/dist/{chunk-rp1mvzb4.js.map → chunk-w9tg6yyb.js.map} +3 -3
  128. package/dist/{chunk-4nxeacx7.js → chunk-wdage1eb.js} +1 -1
  129. package/dist/{chunk-ha58tjtt.js → chunk-wtf06et8.js} +9 -5
  130. package/dist/{chunk-ha58tjtt.js.map → chunk-wtf06et8.js.map} +3 -3
  131. package/dist/{chunk-h0knpbz5.js → chunk-xajtptbw.js} +782 -211
  132. package/dist/chunk-xajtptbw.js.map +40 -0
  133. package/dist/{chunk-xc7hq65b.js → chunk-yp8ee62z.js} +49 -2
  134. package/dist/chunk-yp8ee62z.js.map +11 -0
  135. package/dist/chunk-z4ccwbkz.js +139 -0
  136. package/dist/chunk-z4ccwbkz.js.map +10 -0
  137. package/dist/datasets/builders.d.ts +11 -2
  138. package/dist/datasets/builders.d.ts.map +1 -1
  139. package/dist/datasets/changes.d.ts +14 -4
  140. package/dist/datasets/changes.d.ts.map +1 -1
  141. package/dist/datasets/execution.d.ts +15 -1
  142. package/dist/datasets/execution.d.ts.map +1 -1
  143. package/dist/datasets/index.d.ts +1 -0
  144. package/dist/datasets/index.d.ts.map +1 -1
  145. package/dist/datasets/sequence.d.ts +7 -0
  146. package/dist/datasets/sequence.d.ts.map +1 -0
  147. package/dist/datasets/types.d.ts +1 -0
  148. package/dist/datasets/types.d.ts.map +1 -1
  149. package/dist/datasets/validation.d.ts.map +1 -1
  150. package/dist/datasets/write.d.ts +37 -0
  151. package/dist/datasets/write.d.ts.map +1 -0
  152. package/dist/datasets/write.js +17 -0
  153. package/dist/datasets/write.js.map +9 -0
  154. package/dist/events/execution.d.ts.map +1 -1
  155. package/dist/events/types/datasets.d.ts +2 -6
  156. package/dist/events/types/datasets.d.ts.map +1 -1
  157. package/dist/execution/agent.d.ts.map +1 -1
  158. package/dist/execution/agent.js +39 -32
  159. package/dist/execution/agent.js.map +1 -1
  160. package/dist/execution/authorization.d.ts +58 -20
  161. package/dist/execution/authorization.d.ts.map +1 -1
  162. package/dist/execution/authorized-object-reader.d.ts +69 -0
  163. package/dist/execution/authorized-object-reader.d.ts.map +1 -0
  164. package/dist/execution/durable.d.ts.map +1 -1
  165. package/dist/execution/index.d.ts +1 -1
  166. package/dist/execution/index.d.ts.map +1 -1
  167. package/dist/execution/primitive.js +39 -32
  168. package/dist/execution/primitive.js.map +2 -2
  169. package/dist/execution/request.d.ts +11 -0
  170. package/dist/execution/request.d.ts.map +1 -1
  171. package/dist/execution/request.js +76 -40
  172. package/dist/execution/request.js.map +3 -3
  173. package/dist/execution/scopes.d.ts +16 -0
  174. package/dist/execution/scopes.d.ts.map +1 -1
  175. package/dist/execution/types.d.ts +9 -0
  176. package/dist/execution/types.d.ts.map +1 -1
  177. package/dist/http/api-routes.d.ts +2 -0
  178. package/dist/http/api-routes.d.ts.map +1 -1
  179. package/dist/http/index.js +1 -1
  180. package/dist/index.d.ts +8 -5
  181. package/dist/index.d.ts.map +1 -1
  182. package/dist/index.js +92 -78
  183. package/dist/index.js.map +1 -1
  184. package/dist/lake-storage/definition-updates.d.ts.map +1 -1
  185. package/dist/lake-storage/errors.d.ts +5 -1
  186. package/dist/lake-storage/errors.d.ts.map +1 -1
  187. package/dist/lake-storage/in-memory.d.ts +1 -0
  188. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  189. package/dist/lake-storage/index.d.ts +6 -1
  190. package/dist/lake-storage/index.d.ts.map +1 -1
  191. package/dist/lake-storage/index.js +24 -7
  192. package/dist/lake-storage/index.js.map +1 -1
  193. package/dist/lake-storage/merge-validation.d.ts.map +1 -1
  194. package/dist/lake-storage/merge.d.ts +13 -2
  195. package/dist/lake-storage/merge.d.ts.map +1 -1
  196. package/dist/lake-storage/source-ordering.d.ts +19 -0
  197. package/dist/lake-storage/source-ordering.d.ts.map +1 -0
  198. package/dist/lake-storage/sql-transforms.d.ts +2 -1
  199. package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
  200. package/dist/lake-storage/types.d.ts +10 -5
  201. package/dist/lake-storage/types.d.ts.map +1 -1
  202. package/dist/lake-storage/version-inputs.d.ts +4 -0
  203. package/dist/lake-storage/version-inputs.d.ts.map +1 -0
  204. package/dist/materializer/index.js +25 -22
  205. package/dist/materializer/index.js.map +1 -1
  206. package/dist/objects/authorized-ontology-view.d.ts +25 -0
  207. package/dist/objects/authorized-ontology-view.d.ts.map +1 -0
  208. package/dist/objects/execution.d.ts +1 -1
  209. package/dist/objects/execution.d.ts.map +1 -1
  210. package/dist/objects/index.js +29 -26
  211. package/dist/objects/index.js.map +1 -1
  212. package/dist/objects/link/authorization.d.ts +2 -7
  213. package/dist/objects/link/authorization.d.ts.map +1 -1
  214. package/dist/objects/query/executor.d.ts +4 -2
  215. package/dist/objects/query/executor.d.ts.map +1 -1
  216. package/dist/objects/query/index.js +24 -21
  217. package/dist/objects/query/index.js.map +1 -1
  218. package/dist/objects/query/links.d.ts +22 -1
  219. package/dist/objects/query/links.d.ts.map +1 -1
  220. package/dist/objects/query/selected-read-admission.d.ts +27 -0
  221. package/dist/objects/query/selected-read-admission.d.ts.map +1 -0
  222. package/dist/objects/query/validate.d.ts +60 -2
  223. package/dist/objects/query/validate.d.ts.map +1 -1
  224. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  225. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  226. package/dist/objects/sdk/runtime-query-executor.d.ts +2 -7
  227. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  228. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  229. package/dist/objects/service/list-service.d.ts +2 -3
  230. package/dist/objects/service/list-service.d.ts.map +1 -1
  231. package/dist/objects/telemetry/history.d.ts +8 -6
  232. package/dist/objects/telemetry/history.d.ts.map +1 -1
  233. package/dist/objects/telemetry/index.d.ts +2 -2
  234. package/dist/objects/telemetry/index.d.ts.map +1 -1
  235. package/dist/objects/telemetry/workload.d.ts +11 -0
  236. package/dist/objects/telemetry/workload.d.ts.map +1 -0
  237. package/dist/ontology/index.d.ts +2 -1
  238. package/dist/ontology/index.d.ts.map +1 -1
  239. package/dist/ontology/index.js +13 -12
  240. package/dist/ontology/index.js.map +1 -1
  241. package/dist/ontology/inference/index.d.ts +2 -1
  242. package/dist/ontology/inference/index.d.ts.map +1 -1
  243. package/dist/ontology/internal.d.ts +0 -1
  244. package/dist/ontology/internal.d.ts.map +1 -1
  245. package/dist/ontology/internal.js +5 -10
  246. package/dist/ontology/internal.js.map +3 -3
  247. package/dist/ontology/json-schema.d.ts +10 -6
  248. package/dist/ontology/json-schema.d.ts.map +1 -1
  249. package/dist/ontology/link-path-selection.d.ts +35 -0
  250. package/dist/ontology/link-path-selection.d.ts.map +1 -0
  251. package/dist/ontology/refs.d.ts +2 -0
  252. package/dist/ontology/refs.d.ts.map +1 -1
  253. package/dist/ontology/tokens.d.ts +2 -1
  254. package/dist/ontology/tokens.d.ts.map +1 -1
  255. package/dist/pipelines/execution.d.ts.map +1 -1
  256. package/dist/pipelines/index.js +27 -24
  257. package/dist/pipelines/index.js.map +1 -1
  258. package/dist/pipelines/request.d.ts.map +1 -1
  259. package/dist/projections/execution.d.ts.map +1 -1
  260. package/dist/projections/internal.js +25 -22
  261. package/dist/projections/internal.js.map +1 -1
  262. package/dist/projections/run-dispatch.d.ts.map +1 -1
  263. package/dist/rules/execution.d.ts.map +1 -1
  264. package/dist/runtime/create.d.ts +4 -1
  265. package/dist/runtime/create.d.ts.map +1 -1
  266. package/dist/runtime/definitions.d.ts +2 -0
  267. package/dist/runtime/definitions.d.ts.map +1 -1
  268. package/dist/runtime/host.d.ts +2 -0
  269. package/dist/runtime/host.d.ts.map +1 -1
  270. package/dist/runtime/internal.d.ts +1 -0
  271. package/dist/runtime/internal.d.ts.map +1 -1
  272. package/dist/runtime/resolve-definitions.d.ts +2 -0
  273. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  274. package/dist/runtime/sixb.d.ts +4 -0
  275. package/dist/runtime/sixb.d.ts.map +1 -1
  276. package/dist/runtime/types.d.ts +3 -0
  277. package/dist/runtime/types.d.ts.map +1 -1
  278. package/dist/schedules/execution.d.ts +2 -1
  279. package/dist/schedules/execution.d.ts.map +1 -1
  280. package/dist/security/every.d.ts +4 -1
  281. package/dist/security/every.d.ts.map +1 -1
  282. package/dist/security/grants.d.ts +7 -2
  283. package/dist/security/grants.d.ts.map +1 -1
  284. package/dist/security/index.d.ts +1 -1
  285. package/dist/security/index.d.ts.map +1 -1
  286. package/dist/security/registry.d.ts +1 -0
  287. package/dist/security/registry.d.ts.map +1 -1
  288. package/dist/security/types.d.ts +7 -1
  289. package/dist/security/types.d.ts.map +1 -1
  290. package/dist/security/validation.d.ts +2 -0
  291. package/dist/security/validation.d.ts.map +1 -1
  292. package/dist/shares/access-plan.d.ts +22 -0
  293. package/dist/shares/access-plan.d.ts.map +1 -0
  294. package/dist/shares/builders.d.ts +14 -0
  295. package/dist/shares/builders.d.ts.map +1 -0
  296. package/dist/shares/compiler.d.ts +14 -0
  297. package/dist/shares/compiler.d.ts.map +1 -0
  298. package/dist/shares/errors.d.ts +4 -0
  299. package/dist/shares/errors.d.ts.map +1 -0
  300. package/dist/shares/execution.d.ts +57 -0
  301. package/dist/shares/execution.d.ts.map +1 -0
  302. package/dist/shares/index.d.ts +10 -0
  303. package/dist/shares/index.d.ts.map +1 -0
  304. package/dist/shares/internal.d.ts +3 -0
  305. package/dist/shares/internal.d.ts.map +1 -0
  306. package/dist/shares/internal.js +239 -0
  307. package/dist/shares/internal.js.map +10 -0
  308. package/dist/shares/intersection.d.ts +9 -0
  309. package/dist/shares/intersection.d.ts.map +1 -0
  310. package/dist/shares/session-protocol.d.ts +41 -0
  311. package/dist/shares/session-protocol.d.ts.map +1 -0
  312. package/dist/shares/types.d.ts +51 -0
  313. package/dist/shares/types.d.ts.map +1 -0
  314. package/dist/shares/validation.d.ts +11 -0
  315. package/dist/shares/validation.d.ts.map +1 -0
  316. package/dist/storage/action-runs/provider.js +2 -2
  317. package/dist/storage/agents/provider.js +2 -2
  318. package/dist/storage/executions/in-memory.d.ts +3 -0
  319. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  320. package/dist/storage/executions/provider.d.ts +4 -1
  321. package/dist/storage/executions/provider.d.ts.map +1 -1
  322. package/dist/storage/executions/provider.js +23 -3
  323. package/dist/storage/executions/provider.js.map +3 -3
  324. package/dist/storage/executions/run-link.d.ts +7 -0
  325. package/dist/storage/executions/run-link.d.ts.map +1 -1
  326. package/dist/storage/executions/validation.d.ts +6 -0
  327. package/dist/storage/executions/validation.d.ts.map +1 -1
  328. package/dist/storage/in-memory/index.d.ts +8 -0
  329. package/dist/storage/in-memory/index.d.ts.map +1 -1
  330. package/dist/storage/index.d.ts +8 -2
  331. package/dist/storage/index.d.ts.map +1 -1
  332. package/dist/storage/index.js +65 -36
  333. package/dist/storage/index.js.map +1 -1
  334. package/dist/storage/objects/execution-limits.d.ts +25 -0
  335. package/dist/storage/objects/execution-limits.d.ts.map +1 -0
  336. package/dist/storage/objects/guard.d.ts +16 -0
  337. package/dist/storage/objects/guard.d.ts.map +1 -0
  338. package/dist/storage/objects/in-memory/index.d.ts +3 -0
  339. package/dist/storage/objects/in-memory/index.d.ts.map +1 -0
  340. package/dist/storage/objects/in-memory/keys.d.ts +10 -0
  341. package/dist/storage/objects/in-memory/keys.d.ts.map +1 -0
  342. package/dist/storage/objects/in-memory/query.d.ts +31 -0
  343. package/dist/storage/objects/in-memory/query.d.ts.map +1 -0
  344. package/dist/storage/objects/in-memory/read-scope.d.ts +18 -0
  345. package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -0
  346. package/dist/storage/objects/in-memory/read-source.d.ts +10 -0
  347. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -0
  348. package/dist/storage/objects/in-memory/selected-reader.d.ts +9 -0
  349. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -0
  350. package/dist/storage/objects/{in-memory.d.ts → in-memory/storage.d.ts} +13 -10
  351. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -0
  352. package/dist/storage/objects/index.d.ts +4 -1
  353. package/dist/storage/objects/index.d.ts.map +1 -1
  354. package/dist/storage/objects/keys.d.ts +1 -1
  355. package/dist/storage/objects/keys.d.ts.map +1 -1
  356. package/dist/storage/objects/read-scope.d.ts +25 -0
  357. package/dist/storage/objects/read-scope.d.ts.map +1 -0
  358. package/dist/storage/objects/types.d.ts +114 -22
  359. package/dist/storage/objects/types.d.ts.map +1 -1
  360. package/dist/storage/operation-scope.d.ts +3 -0
  361. package/dist/storage/operation-scope.d.ts.map +1 -1
  362. package/dist/storage/operation-scope.js +4 -2
  363. package/dist/storage/operation-scope.js.map +1 -1
  364. package/dist/storage/pipeline-runs/provider.js +2 -2
  365. package/dist/storage/projection-runs/provider.js +2 -2
  366. package/dist/storage/share-grants/errors.d.ts +8 -0
  367. package/dist/storage/share-grants/errors.d.ts.map +1 -0
  368. package/dist/storage/share-grants/in-memory.d.ts +11 -0
  369. package/dist/storage/share-grants/in-memory.d.ts.map +1 -0
  370. package/dist/storage/share-grants/index.d.ts +5 -0
  371. package/dist/storage/share-grants/index.d.ts.map +1 -0
  372. package/dist/storage/share-grants/provider.d.ts +4 -0
  373. package/dist/storage/share-grants/provider.d.ts.map +1 -0
  374. package/dist/storage/share-grants/provider.js +24 -0
  375. package/dist/storage/share-grants/provider.js.map +9 -0
  376. package/dist/storage/share-grants/record.d.ts +11 -0
  377. package/dist/storage/share-grants/record.d.ts.map +1 -0
  378. package/dist/storage/share-grants/types.d.ts +97 -0
  379. package/dist/storage/share-grants/types.d.ts.map +1 -0
  380. package/dist/storage/share-sessions/errors.d.ts +8 -0
  381. package/dist/storage/share-sessions/errors.d.ts.map +1 -0
  382. package/dist/storage/share-sessions/in-memory.d.ts +14 -0
  383. package/dist/storage/share-sessions/in-memory.d.ts.map +1 -0
  384. package/dist/storage/share-sessions/index.d.ts +5 -0
  385. package/dist/storage/share-sessions/index.d.ts.map +1 -0
  386. package/dist/storage/share-sessions/provider.d.ts +3 -0
  387. package/dist/storage/share-sessions/provider.d.ts.map +1 -0
  388. package/dist/storage/share-sessions/provider.js +20 -0
  389. package/dist/storage/share-sessions/provider.js.map +9 -0
  390. package/dist/storage/share-sessions/record.d.ts +8 -0
  391. package/dist/storage/share-sessions/record.d.ts.map +1 -0
  392. package/dist/storage/share-sessions/types.d.ts +50 -0
  393. package/dist/storage/share-sessions/types.d.ts.map +1 -0
  394. package/dist/storage/sync-runs/provider.js +2 -2
  395. package/dist/storage/transaction.d.ts +2 -1
  396. package/dist/storage/transaction.d.ts.map +1 -1
  397. package/dist/storage/types.d.ts +8 -0
  398. package/dist/storage/types.d.ts.map +1 -1
  399. package/dist/storage/webhook-runs/provider.js +2 -2
  400. package/dist/storage/workflow-runs/provider.js +10 -7
  401. package/dist/storage/workflow-runs/provider.js.map +1 -1
  402. package/dist/syncs/execution.d.ts.map +1 -1
  403. package/dist/syncs/index.js +27 -24
  404. package/dist/syncs/index.js.map +1 -1
  405. package/dist/syncs/request.d.ts.map +1 -1
  406. package/dist/testing/dataset-sequence-contract.d.ts +4 -0
  407. package/dist/testing/dataset-sequence-contract.d.ts.map +1 -0
  408. package/dist/testing/effective-storage-contract.d.ts.map +1 -1
  409. package/dist/testing/execution-storage-contract.d.ts +4 -0
  410. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  411. package/dist/testing/index.d.ts +3 -0
  412. package/dist/testing/index.d.ts.map +1 -1
  413. package/dist/testing/index.js +2555 -908
  414. package/dist/testing/index.js.map +11 -7
  415. package/dist/testing/lake-merge-storage-contract.d.ts +1 -0
  416. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
  417. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  418. package/dist/testing/object-read-scope-contract.d.ts +22 -0
  419. package/dist/testing/object-read-scope-contract.d.ts.map +1 -0
  420. package/dist/testing/share-grant-storage-contract.d.ts +10 -0
  421. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -0
  422. package/dist/testing/share-session-storage-contract.d.ts +9 -0
  423. package/dist/testing/share-session-storage-contract.d.ts.map +1 -0
  424. package/dist/webhooks/internal.js +24 -21
  425. package/dist/webhooks/internal.js.map +2 -2
  426. package/dist/workflows/execution.d.ts.map +1 -1
  427. package/dist/workflows/index.js +42 -35
  428. package/dist/workflows/index.js.map +1 -1
  429. package/dist/workflows/request.d.ts.map +1 -1
  430. package/package.json +25 -1
  431. package/src/actions/delegated-admission.ts +72 -0
  432. package/src/actions/descriptor.ts +58 -0
  433. package/src/actions/execution.ts +99 -24
  434. package/src/actions/request.ts +136 -19
  435. package/src/actions/run-authorization.ts +53 -0
  436. package/src/actions/run-dispatch.ts +8 -1
  437. package/src/agents/adapters.ts +30 -420
  438. package/src/agents/authority.ts +3 -4
  439. package/src/agents/context-resolution.ts +1 -4
  440. package/src/agents/errors.ts +0 -10
  441. package/src/agents/execution.ts +13 -5
  442. package/src/agents/identity.ts +4 -0
  443. package/src/agents/index.ts +1 -20
  444. package/src/agents/message.ts +4 -5
  445. package/src/agents/model-loop.ts +54 -6
  446. package/src/agents/request.ts +16 -3
  447. package/src/agents/tool-definition.ts +0 -19
  448. package/src/agents/validation.ts +6 -65
  449. package/src/ai-usage/execution.ts +4 -11
  450. package/src/authorization/decision.ts +29 -14
  451. package/src/authorization/grant-kinds.ts +10 -0
  452. package/src/authorization/index.ts +1 -0
  453. package/src/bootstrap/discovery.ts +3 -0
  454. package/src/bootstrap/ontology-type-manifest.ts +12 -6
  455. package/src/datasets/builders.ts +23 -2
  456. package/src/datasets/changes.ts +16 -4
  457. package/src/datasets/execution.ts +76 -5
  458. package/src/datasets/index.ts +1 -0
  459. package/src/datasets/sequence.ts +77 -0
  460. package/src/datasets/types.ts +1 -0
  461. package/src/datasets/validation.ts +26 -0
  462. package/src/datasets/write.ts +240 -0
  463. package/src/events/execution.ts +57 -7
  464. package/src/events/types/datasets.ts +2 -6
  465. package/src/execution/agent.ts +1 -4
  466. package/src/execution/authorization.ts +470 -90
  467. package/src/execution/authorized-object-reader.ts +695 -0
  468. package/src/execution/durable.ts +10 -2
  469. package/src/execution/index.ts +1 -0
  470. package/src/execution/request.ts +63 -13
  471. package/src/execution/scopes.ts +36 -6
  472. package/src/execution/types.ts +8 -0
  473. package/src/http/api-routes.ts +45 -0
  474. package/src/index.ts +36 -15
  475. package/src/lake-storage/definition-updates.ts +9 -0
  476. package/src/lake-storage/errors.ts +6 -1
  477. package/src/lake-storage/in-memory.ts +53 -17
  478. package/src/lake-storage/index.ts +10 -1
  479. package/src/lake-storage/merge-validation.ts +12 -2
  480. package/src/lake-storage/merge.ts +40 -2
  481. package/src/lake-storage/source-ordering.ts +95 -0
  482. package/src/lake-storage/sql-transforms.ts +2 -1
  483. package/src/lake-storage/types.ts +10 -5
  484. package/src/lake-storage/version-inputs.ts +14 -0
  485. package/src/objects/authorized-ontology-view.ts +512 -0
  486. package/src/objects/execution.ts +98 -143
  487. package/src/objects/link/authorization.ts +3 -2
  488. package/src/objects/query/executor.ts +45 -34
  489. package/src/objects/query/links.ts +84 -25
  490. package/src/objects/query/selected-read-admission.ts +310 -0
  491. package/src/objects/query/validate.ts +353 -36
  492. package/src/objects/sdk/object-handle.ts +2 -8
  493. package/src/objects/sdk/object-set.ts +10 -11
  494. package/src/objects/sdk/runtime-query-executor.ts +8 -28
  495. package/src/objects/sdk/telemetry-channel.ts +11 -7
  496. package/src/objects/service/list-service.ts +15 -29
  497. package/src/objects/telemetry/history.ts +297 -17
  498. package/src/objects/telemetry/index.ts +2 -2
  499. package/src/objects/telemetry/workload.ts +79 -0
  500. package/src/ontology/index.ts +7 -1
  501. package/src/ontology/inference/index.ts +4 -1
  502. package/src/ontology/internal.ts +0 -1
  503. package/src/ontology/json-schema.ts +13 -12
  504. package/src/ontology/link-path-selection.ts +193 -0
  505. package/src/ontology/refs.ts +19 -0
  506. package/src/ontology/tokens.ts +15 -8
  507. package/src/pipelines/execution.ts +30 -7
  508. package/src/pipelines/request.ts +5 -0
  509. package/src/projections/execution.ts +72 -11
  510. package/src/projections/run-dispatch.ts +6 -12
  511. package/src/rules/execution.ts +20 -8
  512. package/src/runtime/create.ts +5 -1
  513. package/src/runtime/definitions.ts +2 -0
  514. package/src/runtime/host.ts +25 -6
  515. package/src/runtime/internal.ts +1 -0
  516. package/src/runtime/resolve-definitions.ts +9 -0
  517. package/src/runtime/sixb.ts +23 -2
  518. package/src/runtime/types.ts +3 -0
  519. package/src/schedules/execution.ts +24 -2
  520. package/src/security/every.ts +4 -0
  521. package/src/security/grants.ts +45 -3
  522. package/src/security/index.ts +1 -0
  523. package/src/security/registry.ts +3 -0
  524. package/src/security/types.ts +8 -0
  525. package/src/security/validation.ts +3 -0
  526. package/src/shares/access-plan.ts +225 -0
  527. package/src/shares/builders.ts +381 -0
  528. package/src/shares/compiler.ts +359 -0
  529. package/src/shares/errors.ts +3 -0
  530. package/src/shares/execution.ts +394 -0
  531. package/src/shares/index.ts +28 -0
  532. package/src/shares/internal.ts +9 -0
  533. package/src/shares/intersection.ts +178 -0
  534. package/src/shares/session-protocol.ts +258 -0
  535. package/src/shares/types.ts +76 -0
  536. package/src/shares/validation.ts +40 -0
  537. package/src/storage/executions/in-memory.ts +9 -1
  538. package/src/storage/executions/provider.ts +30 -1
  539. package/src/storage/executions/run-link.ts +29 -0
  540. package/src/storage/executions/validation.ts +46 -1
  541. package/src/storage/in-memory/index.ts +21 -2
  542. package/src/storage/index.ts +51 -0
  543. package/src/storage/objects/execution-limits.ts +283 -0
  544. package/src/storage/objects/guard.ts +55 -0
  545. package/src/storage/objects/in-memory/index.ts +2 -0
  546. package/src/storage/objects/in-memory/keys.ts +46 -0
  547. package/src/storage/objects/in-memory/query.ts +754 -0
  548. package/src/storage/objects/in-memory/read-scope.ts +211 -0
  549. package/src/storage/objects/in-memory/read-source.ts +10 -0
  550. package/src/storage/objects/in-memory/selected-reader.ts +252 -0
  551. package/src/storage/objects/in-memory/storage.ts +589 -0
  552. package/src/storage/objects/index.ts +21 -0
  553. package/src/storage/objects/keys.ts +1 -1
  554. package/src/storage/objects/read-scope.ts +672 -0
  555. package/src/storage/objects/types.ts +123 -19
  556. package/src/storage/operation-scope.ts +16 -0
  557. package/src/storage/share-grants/errors.ts +14 -0
  558. package/src/storage/share-grants/in-memory.ts +107 -0
  559. package/src/storage/share-grants/index.ts +14 -0
  560. package/src/storage/share-grants/provider.ts +11 -0
  561. package/src/storage/share-grants/record.ts +347 -0
  562. package/src/storage/share-grants/types.ts +112 -0
  563. package/src/storage/share-sessions/errors.ts +14 -0
  564. package/src/storage/share-sessions/in-memory.ts +105 -0
  565. package/src/storage/share-sessions/index.ts +11 -0
  566. package/src/storage/share-sessions/provider.ts +9 -0
  567. package/src/storage/share-sessions/record.ts +176 -0
  568. package/src/storage/share-sessions/types.ts +57 -0
  569. package/src/storage/transaction.ts +14 -2
  570. package/src/storage/types.ts +27 -0
  571. package/src/syncs/execution.ts +25 -5
  572. package/src/syncs/request.ts +5 -0
  573. package/src/testing/dataset-sequence-contract.ts +373 -0
  574. package/src/testing/effective-storage-contract.ts +34 -0
  575. package/src/testing/execution-storage-contract.ts +79 -0
  576. package/src/testing/index.ts +16 -0
  577. package/src/testing/lake-merge-storage-contract.ts +3 -0
  578. package/src/testing/lake-storage-contract.ts +58 -0
  579. package/src/testing/object-read-scope-contract.ts +939 -0
  580. package/src/testing/share-grant-storage-contract.ts +325 -0
  581. package/src/testing/share-session-storage-contract.ts +235 -0
  582. package/src/workflows/execution.ts +53 -14
  583. package/src/workflows/request.ts +5 -0
  584. package/dist/chunk-2b5qtban.js.map +0 -14
  585. package/dist/chunk-37wk412q.js.map +0 -23
  586. package/dist/chunk-3fqt22c4.js.map +0 -14
  587. package/dist/chunk-3kv70xwp.js.map +0 -10
  588. package/dist/chunk-64sr682n.js.map +0 -12
  589. package/dist/chunk-7ds9620f.js.map +0 -10
  590. package/dist/chunk-dqn23610.js +0 -72
  591. package/dist/chunk-dqn23610.js.map +0 -11
  592. package/dist/chunk-e4rvtvpw.js.map +0 -34
  593. package/dist/chunk-gbrpsx4m.js.map +0 -11
  594. package/dist/chunk-h0knpbz5.js.map +0 -38
  595. package/dist/chunk-hdz94br2.js.map +0 -10
  596. package/dist/chunk-n2arzn6e.js.map +0 -20
  597. package/dist/chunk-qjzp9xyb.js.map +0 -12
  598. package/dist/chunk-tn7xcs2n.js.map +0 -13
  599. package/dist/chunk-wjgm6jjt.js.map +0 -13
  600. package/dist/chunk-xc7hq65b.js.map +0 -10
  601. package/dist/chunk-y35ma3mj.js +0 -551
  602. package/dist/chunk-y35ma3mj.js.map +0 -15
  603. package/dist/chunk-z2sery1b.js.map +0 -11
  604. package/dist/storage/objects/in-memory.d.ts.map +0 -1
  605. package/src/storage/objects/in-memory.ts +0 -1241
  606. /package/dist/{chunk-5jcdmjam.js.map → chunk-4jjp5k14.js.map} +0 -0
  607. /package/dist/{chunk-agsvg9ar.js.map → chunk-5ntny1qx.js.map} +0 -0
  608. /package/dist/{chunk-9aehf39w.js.map → chunk-f26bck4t.js.map} +0 -0
  609. /package/dist/{chunk-08twe8m6.js.map → chunk-p1rzczbt.js.map} +0 -0
  610. /package/dist/{chunk-xdpwpkha.js.map → chunk-rv2hkwwa.js.map} +0 -0
  611. /package/dist/{chunk-1kamz6j0.js.map → chunk-w1tvjszy.js.map} +0 -0
  612. /package/dist/{chunk-4nxeacx7.js.map → chunk-wdage1eb.js.map} +0 -0
@@ -1,4 +1,5 @@
1
- import { isAllowed } from "../authorization"
1
+ import { isRuntimeAllowed } from "../authorization"
2
+ import { resolveRuntimeAuthorizationForProject } from "../execution/authorization"
2
3
  import type { DefinitionCatalog } from "../runtime/definitions"
3
4
  import type { SixbRuntimeContext } from "../runtime/types"
4
5
  import type { ListActiveRuleStatesInput, ListActiveRuleStatesResult } from "../storage/rules"
@@ -20,28 +21,39 @@ export function createRulesRuntime(
20
21
  runtime: SixbRuntimeContext,
21
22
  source: DefinitionCatalog<RuleDefinition>
22
23
  ): RulesRuntime {
23
- const visible = (rule: RuleDefinition) =>
24
- isAllowed(runtime.authorization, {
24
+ const authority = resolveRuntimeAuthorizationForProject(runtime)
25
+ const visible = (rule: RuleDefinition) => {
26
+ if (authority.type === "denied" || authority.type === "delegated") return false
27
+ return isRuntimeAllowed(runtime, {
25
28
  kind: "object.view",
26
29
  objectTypeId: rule.subject.objectTypeId,
27
30
  })
31
+ }
28
32
 
29
33
  return {
30
- list: () => source.list().filter(visible),
34
+ list: () =>
35
+ authority.type === "denied" || authority.type === "delegated"
36
+ ? []
37
+ : source.list().filter(visible),
31
38
  getById: (ruleId) => {
39
+ if (authority.type === "denied" || authority.type === "delegated") return null
32
40
  const rule = source.getById(ruleId)
33
41
  return rule && visible(rule) ? rule : null
34
42
  },
35
43
  states: {
36
44
  list: (input = {}) => {
45
+ if (authority.type === "denied" || authority.type === "delegated") {
46
+ return Promise.resolve({ states: [], hasMore: false, total: 0 })
47
+ }
37
48
  const storage = runtime.storage.rules
38
49
  if (!storage) return Promise.resolve({ states: [], hasMore: false, total: 0 })
39
50
  return storage.listActive({
40
- projectId: runtime.projectId,
41
51
  ...input,
42
- objectTypeIds: runtime.authorization
43
- ? [...runtime.authorization.grants["view:object"]]
44
- : undefined,
52
+ objectTypeIds:
53
+ authority.type === "principal"
54
+ ? [...authority.context.grants["view:object"]]
55
+ : undefined,
56
+ projectId: runtime.projectId,
45
57
  })
46
58
  },
47
59
  },
@@ -20,6 +20,7 @@ import type { RuleDefinition } from "../rules"
20
20
  import type { SandboxFactory } from "../sandboxes"
21
21
  import type { ScheduleDefinition } from "../schedules"
22
22
  import type { GroupDefinition, MembershipPolicyDefinition, RoleDefinition } from "../security"
23
+ import type { ShareDefinition } from "../shares"
23
24
  import type { Storage } from "../storage"
24
25
  import type { SyncDefinition } from "../syncs"
25
26
  import type { WorkflowDefinition } from "../workflows"
@@ -63,6 +64,8 @@ export interface CreateSixbOptions {
63
64
  groups?: readonly GroupDefinition[]
64
65
  roles?: readonly RoleDefinition[]
65
66
  membershipPolicies?: readonly MembershipPolicyDefinition[]
67
+ /** Share definitions to register in addition to auto-discovered `shares/` exports. */
68
+ shares?: readonly ShareDefinition[]
66
69
  auth?: SixbAuthConfig
67
70
  projectRoot?: string
68
71
  }
@@ -72,7 +75,7 @@ export interface CreateSixbOptions {
72
75
  *
73
76
  * The host auto-discovers exported definitions from `ontology/`, `actions/`, `datasets/`,
74
77
  * `connectors/`, `syncs/`, `schedules/`, `pipelines/`, `projections/`,
75
- * `rules/`, `workflows/`, and `security/{groups,roles,policies}/`
78
+ * `rules/`, `workflows/`, `shares/`, and `security/{groups,roles,policies}/`
76
79
  * relative to `projectRoot`.
77
80
  */
78
81
  export async function createSixb(
@@ -124,6 +127,7 @@ export async function createSixb(
124
127
  membershipPolicies: [...(options.membershipPolicies ?? []), ...definitions.membershipPolicies],
125
128
  models: options.models,
126
129
  tools: options.tools,
130
+ shares: [...(options.shares ?? []), ...definitions.shares],
127
131
  auth: options.auth,
128
132
  })
129
133
  }
@@ -9,6 +9,7 @@ import type { ProjectionDefinitionCatalog } from "../projections"
9
9
  import type { RuleDefinition } from "../rules"
10
10
  import type { ScheduleDefinition } from "../schedules"
11
11
  import type { SecurityDefinitionCatalog } from "../security"
12
+ import type { ShareDefinition } from "../shares"
12
13
  import type { SyncDefinition } from "../syncs"
13
14
  import type { WorkflowDefinition } from "../workflows"
14
15
 
@@ -32,6 +33,7 @@ export interface SixbDefinitions {
32
33
  readonly rules: DefinitionCatalog<RuleDefinition>
33
34
  readonly schedules: DefinitionCatalog<ScheduleDefinition>
34
35
  readonly security: SecurityDefinitionCatalog
36
+ readonly shares: DefinitionCatalog<ShareDefinition>
35
37
  readonly syncs: DefinitionCatalog<SyncDefinition>
36
38
  readonly workflows: DefinitionCatalog<WorkflowDefinition>
37
39
  }
@@ -36,7 +36,11 @@ import {
36
36
  type DomainEventService,
37
37
  OntologyOutboxDispatcher,
38
38
  } from "../events"
39
- import { resolveExecutionScopeAuthorization } from "../execution/authorization"
39
+ import {
40
+ captureExecutionScope,
41
+ resolveExecutionScopeAuthorization,
42
+ } from "../execution/authorization"
43
+ import { createAuthorizedObjectReader } from "../execution/authorized-object-reader"
40
44
  import type { ExecutionScope } from "../execution/types"
41
45
  import type { LakeStorage } from "../lake-storage"
42
46
  import { type LoggerProvider, LoggingService, type ObservabilityOptions } from "../logging"
@@ -63,6 +67,7 @@ import type {
63
67
  RoleDefinition,
64
68
  SecurityDefinitionCatalog,
65
69
  } from "../security"
70
+ import type { ShareDefinition } from "../shares"
66
71
  import type { Storage } from "../storage"
67
72
  import type { SyncDefinition } from "../syncs"
68
73
  import type { RegisteredWebhook } from "../webhooks"
@@ -114,6 +119,7 @@ export interface SixbHostOptions<TOntologySources extends readonly OntologySourc
114
119
  groups?: readonly GroupDefinition[]
115
120
  roles?: readonly RoleDefinition[]
116
121
  membershipPolicies?: readonly MembershipPolicyDefinition[]
122
+ shares?: readonly ShareDefinition[]
117
123
  auth?: SixbAuthConfig
118
124
  }
119
125
 
@@ -239,24 +245,36 @@ export class SixbHost<
239
245
 
240
246
  /** Bind an existing opaque scope. This method never creates or escalates authority. */
241
247
  withScope(scope: ExecutionScope): Sixb<TOntologySources> {
242
- const authorization = resolveExecutionScopeAuthorization(this.projectId, scope)
243
- if (authorization.ref.type === "kernel") {
248
+ const capturedScope = captureExecutionScope(scope)
249
+ const authorization = resolveExecutionScopeAuthorization(this.projectId, capturedScope)
250
+ if (authorization.type === "unrestricted" && authorization.ref.type === "kernel") {
244
251
  throw new Error("[Sixb] Kernel authority cannot be bound to the domain SDK.")
245
252
  }
246
253
 
254
+ const objectReader = createAuthorizedObjectReader({
255
+ scope: capturedScope,
256
+ ontology: this.hostContext.ontology,
257
+ objectStorage: this.storage.objects,
258
+ })
259
+
247
260
  const runtime: SixbRuntimeContext = {
248
261
  ...this.hostContext,
249
- runtimeAuthorization: scope.authorization,
262
+ runtimeAuthorization: capturedScope.authorization,
263
+ objectReader,
250
264
  ...(authorization.type === "principal" ? { authorization: authorization.context } : {}),
251
265
  }
252
266
  registerOntologyMutationRuntime(
253
267
  runtime,
254
268
  createOntologyMutationRuntime({
255
- materializer: this.materializer.withScope(scope),
269
+ materializer: this.materializer.withScope(capturedScope),
256
270
  notifyCommittedFacts: () => this.committedFacts.notify(),
257
271
  })
258
272
  )
259
- return createBoundSixb<TOntologySources>(runtime, this.sixbDependencies(), scope.execution)
273
+ return createBoundSixb<TOntologySources>(
274
+ runtime,
275
+ this.sixbDependencies(),
276
+ capturedScope.execution
277
+ )
260
278
  }
261
279
 
262
280
  get id(): string {
@@ -318,6 +336,7 @@ export class SixbHost<
318
336
  ? {}
319
337
  : { connectorConnections: this.connectorService.connectionProcess }),
320
338
  blobStorage: this.blobStorage,
339
+ lakeStorage: this.lakeStorage,
321
340
  }
322
341
  }
323
342
  }
@@ -9,6 +9,7 @@ export type {
9
9
  StartConnectorAuthorizationResult,
10
10
  } from "../connectors/connections/contracts"
11
11
  export type { ConnectorConnectionsRuntime } from "../connectors/connections/execution"
12
+ export type { AuthorizedObjectReader } from "../execution/authorized-object-reader"
12
13
  export type { OntologyMutationRuntime } from "./ontology-mutations"
13
14
  export {
14
15
  createOntologyMutationRuntime,
@@ -19,6 +19,7 @@ import {
19
19
  type RoleDefinition,
20
20
  SecurityRegistry,
21
21
  } from "../security"
22
+ import { type ShareDefinition, validateSharesAtStartup } from "../shares"
22
23
  import type { SyncDefinition } from "../syncs"
23
24
  import {
24
25
  validateKeyedDatasetWriterTopology,
@@ -43,6 +44,7 @@ interface DefinitionOptions {
43
44
  readonly workflows?: readonly WorkflowDefinition[]
44
45
  readonly tools?: readonly AgentToolDefinition[]
45
46
  readonly models?: ModelCatalogInput
47
+ readonly shares?: readonly ShareDefinition[]
46
48
  readonly groups?: readonly GroupDefinition[]
47
49
  readonly roles?: readonly RoleDefinition[]
48
50
  readonly membershipPolicies?: readonly MembershipPolicyDefinition[]
@@ -61,6 +63,11 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
61
63
  const ontology = new OntologyRegistry({ sources: options.ontology })
62
64
  const actionRegistry = new ActionRegistry({ actions: options.actions ?? [], ontology })
63
65
  const registeredActionIds = new Set(actionRegistry.list().map((action) => action.id))
66
+ const sharesById = validateSharesAtStartup({
67
+ shares: options.shares ?? [],
68
+ ontology,
69
+ actions: actionRegistry,
70
+ })
64
71
 
65
72
  const models = options.models === undefined ? undefined : createModelCatalog(options.models)
66
73
  const tools = createAgentToolCatalog(options.tools)
@@ -142,6 +149,7 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
142
149
  pipelineIds: new Set(pipelinesById.keys()),
143
150
  agentAvailable: models !== undefined,
144
151
  connectorIds: new Set(connectorsById.keys()),
152
+ shareIds: new Set(sharesById.keys()),
145
153
  getSubTypes: (objectTypeId) => ontology.listSubTypes(objectTypeId),
146
154
  })
147
155
  validateWorkflowAgentStepGroupReferences(workflows, security)
@@ -168,6 +176,7 @@ export function resolveDefinitions(options: DefinitionOptions): ResolvedDefiniti
168
176
  rules: createDefinitionCatalog(rulesById),
169
177
  schedules: createDefinitionCatalog(schedulesById),
170
178
  security,
179
+ shares: createDefinitionCatalog(sharesById),
171
180
  syncs: createDefinitionCatalog(syncsById),
172
181
  workflows: createDefinitionCatalog(workflowsById),
173
182
  })
@@ -11,6 +11,9 @@ import type { ConnectorService } from "../connectors/service"
11
11
  import { createDatasetsRuntime, type DatasetsRuntime } from "../datasets/execution"
12
12
  import { createEventsRuntime, type EventsRuntime } from "../events/execution"
13
13
  import type { ExecutionContext } from "../execution"
14
+ import { resolveExecutionScopeAuthorization } from "../execution/authorization"
15
+ import { assertAuthorizedObjectReaderBinding } from "../execution/authorized-object-reader"
16
+ import type { LakeStorage } from "../lake-storage/types"
14
17
  import { createLogsRuntime, type LogsRuntime } from "../logging/execution"
15
18
  import type { LoggingService } from "../logging/service"
16
19
  import { createObjectsRuntime, type ObjectsRuntime } from "../objects/execution"
@@ -18,6 +21,7 @@ import { createPipelinesRuntime, type PipelinesRuntime } from "../pipelines/exec
18
21
  import { createProjectionsRuntime, type ProjectionsRuntime } from "../projections/execution"
19
22
  import { createRulesRuntime, type RulesRuntime } from "../rules/execution"
20
23
  import { createSchedulesRuntime, type SchedulesRuntime } from "../schedules/execution"
24
+ import { createSharesRuntime, type SharesRuntime } from "../shares/execution"
21
25
  import { createSyncsRuntime, type SyncsRuntime } from "../syncs/execution"
22
26
  import { createWorkflowsRuntime, type WorkflowsRuntime } from "../workflows/execution"
23
27
  import type { SixbDefinitions } from "./definitions"
@@ -42,6 +46,7 @@ export interface Sixb<
42
46
  readonly events: EventsRuntime
43
47
  readonly logs: LogsRuntime
44
48
  readonly schedules: SchedulesRuntime
49
+ readonly shares: SharesRuntime
45
50
  readonly connector: ConnectorRuntime
46
51
  readonly blobs: BlobsRuntime
47
52
  }
@@ -54,6 +59,7 @@ export interface SixbDependencies {
54
59
  readonly connectorService: ConnectorService
55
60
  readonly connectorConnections?: ConnectorConnectionProcess
56
61
  readonly blobStorage: BlobStorage
62
+ readonly lakeStorage: LakeStorage
57
63
  }
58
64
 
59
65
  export function createBoundSixb<TOntologySources extends readonly OntologySource[]>(
@@ -61,6 +67,14 @@ export function createBoundSixb<TOntologySources extends readonly OntologySource
61
67
  dependencies: SixbDependencies,
62
68
  execution: ExecutionContext
63
69
  ): Sixb<TOntologySources> {
70
+ resolveExecutionScopeAuthorization(runtime.projectId, {
71
+ execution,
72
+ authorization: runtime.runtimeAuthorization,
73
+ })
74
+ assertAuthorizedObjectReaderBinding({
75
+ reader: runtime.objectReader,
76
+ scope: { execution, authorization: runtime.runtimeAuthorization },
77
+ })
64
78
  const sixb: Sixb<TOntologySources> = {
65
79
  execution,
66
80
  ...createExecutionFacades<TOntologySources>(runtime, execution, dependencies),
@@ -91,7 +105,13 @@ function createExecutionFacades<TOntologySources extends readonly OntologySource
91
105
  return {
92
106
  objects: createObjectsRuntime<TOntologySources>(runtime, execution),
93
107
  actions: createActionsRuntime(runtime, execution),
94
- datasets: createDatasetsRuntime(runtime, dependencies.definitions.datasets),
108
+ datasets: createDatasetsRuntime(
109
+ runtime,
110
+ execution,
111
+ dependencies.definitions.datasets,
112
+ dependencies.lakeStorage,
113
+ dependencies.blobStorage
114
+ ),
95
115
  workflows: createWorkflowsRuntime(runtime, execution, dependencies.definitions.workflows),
96
116
  syncs: createSyncsRuntime(runtime, execution, dependencies.definitions.syncs),
97
117
  pipelines: createPipelinesRuntime(runtime, execution, dependencies.definitions.pipelines),
@@ -101,7 +121,8 @@ function createExecutionFacades<TOntologySources extends readonly OntologySource
101
121
  aiUsage: createAiUsageRuntime(runtime, dependencies.definitions.security),
102
122
  events: createEventsRuntime(runtime),
103
123
  logs: createLogsRuntime(runtime, dependencies.logging),
104
- schedules: createSchedulesRuntime(dependencies.definitions.schedules),
124
+ schedules: createSchedulesRuntime(runtime, dependencies.definitions.schedules),
125
+ shares: createSharesRuntime(runtime, execution, dependencies.definitions.shares),
105
126
  connector: createConnectorRuntime(runtime, execution, dependencies.connectorService),
106
127
  blobs: createBlobsRuntime(runtime, execution, dependencies.blobStorage),
107
128
  }
@@ -15,6 +15,7 @@ import type { AuthorizationContext } from "../authorization"
15
15
  import type { Broker } from "../broker"
16
16
  import type { DomainEventLog } from "../events"
17
17
  import type { RuntimeAuthorization } from "../execution"
18
+ import type { AuthorizedObjectReader } from "../execution/authorized-object-reader"
18
19
  import type {
19
20
  ObjectQuery,
20
21
  ObjectQueryExplanation,
@@ -60,6 +61,8 @@ export interface SixbHostContext {
60
61
  /** Host dependencies paired with the process-local authority of one bound execution. */
61
62
  export interface SixbRuntimeContext extends SixbHostContext {
62
63
  readonly runtimeAuthorization: RuntimeAuthorization
64
+ /** Core-owned read boundary carrying this exact execution authority. */
65
+ readonly objectReader: AuthorizedObjectReader
63
66
  /**
64
67
  * Resolved principal grants. Absent for trusted primitive and explicitly disabled executions.
65
68
  * The opaque `runtimeAuthorization` remains the source of authority.
@@ -1,14 +1,36 @@
1
+ import { resolveRuntimeAuthorizationForProject } from "../execution/authorization"
1
2
  import type { DefinitionCatalog } from "../runtime/definitions"
3
+ import type { SixbRuntimeContext } from "../runtime/types"
2
4
  import type { ScheduleDefinition } from "./types"
3
5
 
4
6
  /** Schedule definitions visible to an execution; process lifecycle remains on the host. */
5
7
  export type SchedulesRuntime = DefinitionCatalog<ScheduleDefinition>
6
8
 
7
9
  export function createSchedulesRuntime(
10
+ runtime: SixbRuntimeContext,
8
11
  schedules: DefinitionCatalog<ScheduleDefinition>
9
12
  ): SchedulesRuntime {
13
+ const authority = resolveRuntimeAuthorizationForProject(runtime)
10
14
  return {
11
- list: () => schedules.list(),
12
- getById: (scheduleId) => schedules.getById(scheduleId),
15
+ list: () => {
16
+ switch (authority.type) {
17
+ case "denied":
18
+ case "delegated":
19
+ return []
20
+ case "principal":
21
+ case "unrestricted":
22
+ return schedules.list()
23
+ }
24
+ },
25
+ getById: (scheduleId) => {
26
+ switch (authority.type) {
27
+ case "denied":
28
+ case "delegated":
29
+ return null
30
+ case "principal":
31
+ case "unrestricted":
32
+ return schedules.getById(scheduleId)
33
+ }
34
+ },
13
35
  }
14
36
  }
@@ -16,6 +16,7 @@ import type { ConnectorDefinition } from "../connectors"
16
16
  import type { DatasetDefinition } from "../datasets"
17
17
  import type { ObjectType } from "../ontology"
18
18
  import type { PipelineDefinition } from "../pipelines"
19
+ import type { ShareDefinition } from "../shares"
19
20
  import type { SyncDefinition } from "../syncs"
20
21
  import type { WorkflowDefinition } from "../workflows/types"
21
22
  import { SecurityValidationError } from "./errors"
@@ -31,6 +32,7 @@ export const BREADTH_TARGETS = [
31
32
  "pipeline",
32
33
  "application",
33
34
  "connector",
35
+ "share",
34
36
  ] as const
35
37
 
36
38
  export type BreadthTarget = (typeof BREADTH_TARGETS)[number]
@@ -44,6 +46,7 @@ interface BreadthTargetInput {
44
46
  pipeline: PipelineDefinition
45
47
  application: ApplicationDefinition
46
48
  connector: ConnectorDefinition
49
+ share: ShareDefinition
47
50
  }
48
51
 
49
52
  /**
@@ -105,4 +108,5 @@ export const every = {
105
108
  pipeline: (): BreadthSelector<"pipeline"> => all("pipeline"),
106
109
  application: (): BreadthSelector<"application"> => all("application"),
107
110
  connector: (): BreadthSelector<"connector"> => all("connector"),
111
+ share: (): BreadthSelector<"share"> => all("share"),
108
112
  }
@@ -7,12 +7,20 @@
7
7
  * checks stay simple `set.has(id)` lookups.
8
8
  */
9
9
 
10
- import type { ActionDefinition } from "../actions/types"
10
+ import type { ActionDefinition, ObjectActionDefinition } from "../actions/types"
11
+ import { isObjectActionDefinition } from "../actions/validation"
11
12
  import type { AgentReference, AgentUsageReference } from "../agents/types"
12
13
  import type { ConnectorDefinition } from "../connectors"
13
14
  import type { DatasetDefinition } from "../datasets"
14
15
  import type { ObjectType } from "../ontology"
15
16
  import type { PipelineDefinition } from "../pipelines"
17
+ import { createShareActionGrant, createShareViewGrant, isShareTarget } from "../shares/builders"
18
+ import type {
19
+ ShareActionGrantBuilder,
20
+ ShareDefinition,
21
+ ShareTarget,
22
+ ShareViewGrantBuilder,
23
+ } from "../shares/types"
16
24
  import type { SyncDefinition } from "../syncs"
17
25
  import type { WorkflowDefinition } from "../workflows/types"
18
26
  import { SecurityValidationError } from "./errors"
@@ -33,6 +41,7 @@ import type {
33
41
  ObserveGrant,
34
42
  RunGrant,
35
43
  Selection,
44
+ ShareGrant,
36
45
  ViewGrant,
37
46
  } from "./types"
38
47
 
@@ -56,6 +65,7 @@ const TARGET_BY_DEFINITION_KIND: Readonly<Partial<Record<string, BreadthTarget>>
56
65
  workflow: "workflow",
57
66
  application: "application",
58
67
  connector: "connector",
68
+ share: "share",
59
69
  }
60
70
 
61
71
  const UNDISCRIMINATED_TARGETS: readonly BreadthTarget[] = ["object", "action"]
@@ -153,9 +163,15 @@ function access(input: GrantInput<ApplicationDefinition, "application">): Access
153
163
  return { kind: "grant", capability: "access", target: "application", selection }
154
164
  }
155
165
 
166
+ function view<const TObjectTypeId extends string>(
167
+ input: ShareTarget<TObjectTypeId>
168
+ ): ShareViewGrantBuilder<TObjectTypeId>
156
169
  function view(input: GrantInput<ObjectType, "object">): ViewGrant<"object">
157
170
  function view(input: GrantInput<DatasetDefinition, "dataset">): ViewGrant<"dataset">
158
- function view(input: GrantInput<ObjectType | DatasetDefinition, "object" | "dataset">): ViewGrant {
171
+ function view(
172
+ input: ShareTarget | GrantInput<ObjectType | DatasetDefinition, "object" | "dataset">
173
+ ): ViewGrant | ShareViewGrantBuilder {
174
+ if (isShareTarget(input)) return createShareViewGrant(input)
159
175
  const { target, selection } = resolveGrant(input, "can.view", VIEW_TARGETS)
160
176
  return { kind: "grant", capability: "view", target, selection }
161
177
  }
@@ -176,12 +192,37 @@ function append(input: GrantInput<ObjectType, "object">): AppendGrant {
176
192
  }
177
193
  }
178
194
 
195
+ function apply<const TAction extends ObjectActionDefinition>(
196
+ input: TAction
197
+ ): ApplyGrant & ShareActionGrantBuilder<TAction>
198
+ function apply(input: GrantInput<ActionDefinition, "action">): ApplyGrant
179
199
  function apply(input: GrantInput<ActionDefinition, "action">): ApplyGrant {
180
- return {
200
+ const grant: ApplyGrant = {
181
201
  kind: "grant",
182
202
  capability: "apply",
183
203
  selection: resolveGrant(input, "can.apply", ["action"]).selection,
184
204
  }
205
+ // `Array.isArray` does not narrow a readonly array. This cast restores the branch already proved
206
+ // above; every non-selector, non-array GrantInput is one Action definition.
207
+ const one: ActionDefinition | undefined =
208
+ Array.isArray(input) || isBreadthSelector(input) ? undefined : (input as ActionDefinition)
209
+ if (one && isObjectActionDefinition(one)) {
210
+ Object.defineProperty(grant, "on", {
211
+ configurable: false,
212
+ enumerable: false,
213
+ writable: false,
214
+ value: (target: ShareTarget) => createShareActionGrant(one, target),
215
+ })
216
+ }
217
+ return grant
218
+ }
219
+
220
+ function share(input: GrantInput<ShareDefinition, "share">): ShareGrant {
221
+ return {
222
+ kind: "grant",
223
+ capability: "share",
224
+ selection: resolveGrant(input, "can.share", ["share"]).selection,
225
+ }
185
226
  }
186
227
 
187
228
  function run(input: GrantInput<WorkflowDefinition, "workflow">): RunGrant<"workflow">
@@ -265,6 +306,7 @@ export const can = {
265
306
  edit,
266
307
  append,
267
308
  apply,
309
+ share,
268
310
  run,
269
311
  observe,
270
312
  manage,
@@ -40,6 +40,7 @@ export type {
40
40
  RunGrant,
41
41
  RunGrantTarget,
42
42
  Selection,
43
+ ShareGrant,
43
44
  ViewGrant,
44
45
  ViewGrantTarget,
45
46
  } from "./types"
@@ -27,6 +27,7 @@ export interface SecurityRegistryOptions {
27
27
  readonly pipelineIds?: ReadonlySet<string>
28
28
  readonly agentAvailable?: boolean
29
29
  readonly connectorIds?: ReadonlySet<string>
30
+ readonly shareIds?: ReadonlySet<string>
30
31
  readonly getSubTypes?: (objectTypeId: string) => readonly string[]
31
32
  }
32
33
 
@@ -52,6 +53,7 @@ export class SecurityRegistry implements SecurityDefinitionCatalog {
52
53
  connectorIds: input.connectorIds,
53
54
  observableIds: new Set(["logs", "aiUsage"]),
54
55
  manageableIds: new Set(["aiUsage"]),
56
+ shareIds: input.shareIds,
55
57
  })
56
58
 
57
59
  const universe = {
@@ -65,6 +67,7 @@ export class SecurityRegistry implements SecurityDefinitionCatalog {
65
67
  connectorIds: input.connectorIds ?? new Set<string>(),
66
68
  observableIds: new Set(["logs", "aiUsage"]),
67
69
  manageableIds: new Set(["aiUsage"]),
70
+ shareIds: input.shareIds ?? new Set<string>(),
68
71
  getSubTypes: input.getSubTypes ?? (() => []),
69
72
  }
70
73
 
@@ -86,6 +86,13 @@ export interface ApplyGrant {
86
86
  readonly selection: Selection
87
87
  }
88
88
 
89
+ /** Issue, list, and revoke grants created from the selected Share definitions. */
90
+ export interface ShareGrant {
91
+ readonly kind: "grant"
92
+ readonly capability: "share"
93
+ readonly selection: Selection
94
+ }
95
+
89
96
  export type RunGrantTarget = "workflow" | "sync" | "pipeline"
90
97
 
91
98
  export interface RunGrant<TTarget extends RunGrantTarget = RunGrantTarget> {
@@ -127,6 +134,7 @@ export type GrantDefinition =
127
134
  | EditGrant
128
135
  | AppendGrant
129
136
  | ApplyGrant
137
+ | ShareGrant
130
138
  | RunGrant
131
139
  | AgentRunGrant
132
140
  | ObserveGrant
@@ -30,6 +30,7 @@ const GRANT_CAPABILITIES = Object.keys({
30
30
  edit: true,
31
31
  append: true,
32
32
  apply: true,
33
+ share: true,
33
34
  run: true,
34
35
  observe: true,
35
36
  manage: true,
@@ -321,6 +322,8 @@ export function validateSecurityDefinitionsAtStartup(input: {
321
322
  readonly manageableIds?: ReadonlySet<string>
322
323
  /** Registered connector ids — when provided, manage grants must reference them. */
323
324
  readonly connectorIds?: ReadonlySet<string>
325
+ /** Registered Share ids — when provided, share grants must reference them. */
326
+ readonly shareIds?: ReadonlySet<string>
324
327
  }): RegisteredSecurityDefinitions {
325
328
  const groupsById = new Map<string, GroupDefinition>()
326
329
  const rolesById = new Map<string, RoleDefinition>()