@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 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/security/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,kBAAkB,CAAA;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG1F,mFAAmF;AACnF,MAAM,WAAW,yBAAyB;IACxC,UAAU,IAAI,SAAS,eAAe,EAAE,CAAA;IACxC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAA;IACrD,SAAS,IAAI,SAAS,cAAc,EAAE,CAAA;IACtC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAA;IAClD,iBAAiB,IAAI,SAAS,YAAY,EAAE,CAAA;IAC5C,sBAAsB,IAAI,SAAS,0BAA0B,EAAE,CAAA;IAC/D,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CAAA;CAC7E;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAA;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3C,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAA;CACnE;AAED,qBAAa,gBAAiB,YAAW,yBAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiD;IACxF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;gBAE3C,KAAK,EAAE,uBAAuB;IA0C1C,UAAU,IAAI,SAAS,eAAe,EAAE;IAIxC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIrD,SAAS,IAAI,SAAS,cAAc,EAAE;IAItC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAIlD,iBAAiB,IAAI,SAAS,YAAY,EAAE;IAI5C,sBAAsB,IAAI,SAAS,0BAA0B,EAAE;IAI/D,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI;CAG7E"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/security/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAqB,MAAM,kBAAkB,CAAA;AAEvE,OAAO,KAAK,EAAE,eAAe,EAAE,0BAA0B,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG1F,mFAAmF;AACnF,MAAM,WAAW,yBAAyB;IACxC,UAAU,IAAI,SAAS,eAAe,EAAE,CAAA;IACxC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAA;IACrD,SAAS,IAAI,SAAS,cAAc,EAAE,CAAA;IACtC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAA;IAClD,iBAAiB,IAAI,SAAS,YAAY,EAAE,CAAA;IAC5C,sBAAsB,IAAI,SAAS,0BAA0B,EAAE,CAAA;IAC/D,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI,CAAA;CAC7E;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,eAAe,EAAE,CAAA;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAA;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC5C,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC1C,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,CAAA;CACnE;AAED,qBAAa,gBAAiB,YAAW,yBAAyB;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAsC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiD;IACxF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;gBAE3C,KAAK,EAAE,uBAAuB;IA4C1C,UAAU,IAAI,SAAS,eAAe,EAAE;IAIxC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAIrD,SAAS,IAAI,SAAS,cAAc,EAAE;IAItC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI;IAIlD,iBAAiB,IAAI,SAAS,YAAY,EAAE;IAI5C,sBAAsB,IAAI,SAAS,0BAA0B,EAAE;IAI/D,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,0BAA0B,GAAG,IAAI;CAG7E"}
@@ -79,6 +79,12 @@ export interface ApplyGrant {
79
79
  readonly capability: "apply";
80
80
  readonly selection: Selection;
81
81
  }
82
+ /** Issue, list, and revoke grants created from the selected Share definitions. */
83
+ export interface ShareGrant {
84
+ readonly kind: "grant";
85
+ readonly capability: "share";
86
+ readonly selection: Selection;
87
+ }
82
88
  export type RunGrantTarget = "workflow" | "sync" | "pipeline";
83
89
  export interface RunGrant<TTarget extends RunGrantTarget = RunGrantTarget> {
84
90
  readonly kind: "grant";
@@ -107,7 +113,7 @@ export interface ManageGrant<TTarget extends ManageGrantTarget = ManageGrantTarg
107
113
  readonly target: TTarget;
108
114
  readonly selection: Selection;
109
115
  }
110
- export type GrantDefinition = AccessGrant | ViewGrant | EditGrant | AppendGrant | ApplyGrant | RunGrant | AgentRunGrant | ObserveGrant | ManageGrant;
116
+ export type GrantDefinition = AccessGrant | ViewGrant | EditGrant | AppendGrant | ApplyGrant | ShareGrant | RunGrant | AgentRunGrant | ObserveGrant | ManageGrant;
111
117
  export type GrantCapability = GrantDefinition["capability"];
112
118
  export interface RoleDefinition<TId extends string = string> {
113
119
  readonly kind: "role";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAE3D,MAAM,WAAW,eAAe,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IAC1D,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAA;IAChB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,eAAe,GAAG,MAAM,CAAA;AAErD;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC1D;IAAE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAA;AAE5D,MAAM,WAAW,qBAAqB,CAAC,GAAG,SAAS,mBAAmB,GAAG,mBAAmB;IAC1F,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAA;IAChB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,CAAA;AAElD,MAAM,WAAW,SAAS,CAAC,OAAO,SAAS,eAAe,GAAG,eAAe;IAC1E,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B;AAED,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,CAAA;AAE7D,MAAM,WAAW,QAAQ,CAAC,OAAO,SAAS,cAAc,GAAG,cAAc;IACvE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B;AAED,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAAA;AAEnD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAA;IACnC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B;AAED,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,SAAS,CAAA;AAEvD,4EAA4E;AAC5E,MAAM,WAAW,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB;IAChF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC9B;AAED,MAAM,MAAM,eAAe,GACvB,WAAW,GACX,SAAS,GACT,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,aAAa,GACb,YAAY,GACZ,WAAW,CAAA;AAEf,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;AAE3D,MAAM,WAAW,cAAc,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IACzD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAA;IAChB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7C,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;CAC5C;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAA;AAEvE,MAAM,WAAW,0BAA0B,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM;IACrE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAA;IAChB,QAAQ,CAAC,iBAAiB,EAAE,SAAS,MAAM,EAAE,CAAA;IAC7C,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,QAAQ,CAAC,GAAG,EAAE,SAAS,mBAAmB,EAAE,CAAA;CAC7C;AAED,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAA;IAC3C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;IACzD,QAAQ,CAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAA;IACzC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACvD,QAAQ,CAAC,kBAAkB,EAAE,SAAS,0BAA0B,EAAE,CAAA;IAClE,QAAQ,CAAC,sBAAsB,EAAE,WAAW,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAA;CACjF"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/security/types.ts"],"names":[],"mappings":"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"}
@@ -36,5 +36,7 @@ export declare function validateSecurityDefinitionsAtStartup(input: {
36
36
  readonly manageableIds?: ReadonlySet<string>;
37
37
  /** Registered connector ids — when provided, manage grants must reference them. */
38
38
  readonly connectorIds?: ReadonlySet<string>;
39
+ /** Registered Share ids — when provided, share grants must reference them. */
40
+ readonly shareIds?: ReadonlySet<string>;
39
41
  }): RegisteredSecurityDefinitions;
40
42
  //# sourceMappingURL=validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/security/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/security/validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { ObjectRef } from "../ontology";
2
+ import type { SelectedObjectReadScope } from "../storage/objects/types";
3
+ /** One capability paired with the exact resources it authorizes. */
4
+ export type ShareScopedGrant = ShareScopedViewGrant | ShareScopedActionGrant;
5
+ export interface ShareScopedViewGrant {
6
+ readonly kind: "object.view";
7
+ readonly selection: SelectedObjectReadScope;
8
+ }
9
+ export interface ShareScopedActionGrant {
10
+ readonly kind: "action.apply";
11
+ readonly actionId: string;
12
+ readonly subjects: readonly ObjectRef[];
13
+ }
14
+ /** Internal authority compiled from a delegation such as a shared-access grant. */
15
+ export interface ShareAccessPlan {
16
+ readonly grants: readonly ShareScopedGrant[];
17
+ }
18
+ /** Validate and detach an access plan before registering process-local authority. */
19
+ export declare function snapshotShareAccessPlan(input: ShareAccessPlan): ShareAccessPlan;
20
+ /** Merge view grants only; capability/resource pairing remains intact for every other grant. */
21
+ export declare function objectReadScopeForAccessPlan(plan: ShareAccessPlan): SelectedObjectReadScope;
22
+ //# sourceMappingURL=access-plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-plan.d.ts","sourceRoot":"","sources":["../../src/shares/access-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAK5C,OAAO,KAAK,EAAkB,uBAAuB,EAAE,MAAM,0BAA0B,CAAA;AAOvF,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,sBAAsB,CAAA;AAE5E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;IAC5B,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAA;CAC5C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAA;CACxC;AAED,mFAAmF;AACnF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAC7C;AAeD,qFAAqF;AACrF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe,CAI/E;AA0JD,gGAAgG;AAChG,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,eAAe,GAAG,uBAAuB,CAS3F"}
@@ -0,0 +1,14 @@
1
+ import type { ObjectActionDefinition } from "../actions";
2
+ import type { ObjectTypeWithPropertyTokens } from "../ontology";
3
+ import type { DefineShareOptions, ShareActionGrant, ShareDefinition, ShareScopeGrant, ShareTarget, ShareViewGrantBuilder } from "./types";
4
+ export declare function defineShare<const TId extends string, const TTarget extends ObjectTypeWithPropertyTokens, const TGrants extends readonly ShareScopeGrant[]>(id: TId, options: DefineShareOptions<TTarget, TGrants>): ShareDefinition<TId, TTarget["id"]>;
5
+ export declare function isShareDefinition(value: unknown): value is ShareDefinition;
6
+ /** @internal Validate, canonicalize, and detach a definition before runtime registration/use. */
7
+ export declare function snapshotShareDefinition(value: unknown): ShareDefinition;
8
+ /** @internal Contextual overload used by `can.view(target)`. */
9
+ export declare function isShareTarget(value: unknown): value is ShareTarget;
10
+ /** @internal Contextual overload used by `can.view(target)`. */
11
+ export declare function createShareViewGrant<TObjectTypeId extends string>(target: ShareTarget<TObjectTypeId>): ShareViewGrantBuilder<TObjectTypeId>;
12
+ /** @internal Contextual overload used by `can.apply(action).on(target)`. */
13
+ export declare function createShareActionGrant<TAction extends ObjectActionDefinition>(action: TAction, target: ShareTarget<TAction["binding"]["objectType"]["id"]>): ShareActionGrant<TAction["id"], TAction["binding"]["objectType"]["id"]>;
14
+ //# sourceMappingURL=builders.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../src/shares/builders.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAA;AAQ/D,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,WAAW,EAEX,qBAAqB,EACtB,MAAM,SAAS,CAAA;AAIhB,wBAAgB,WAAW,CACzB,KAAK,CAAC,GAAG,SAAS,MAAM,EACxB,KAAK,CAAC,OAAO,SAAS,4BAA4B,EAClD,KAAK,CAAC,OAAO,SAAS,SAAS,eAAe,EAAE,EAChD,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAiC7F;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,eAAe,CAU1E;AAED,iGAAiG;AACjG,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CA0CvE;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAElE;AAED,gEAAgE;AAChE,wBAAgB,oBAAoB,CAAC,aAAa,SAAS,MAAM,EAC/D,MAAM,EAAE,WAAW,CAAC,aAAa,CAAC,GACjC,qBAAqB,CAAC,aAAa,CAAC,CAGtC;AAED,4EAA4E;AAC5E,wBAAgB,sBAAsB,CAAC,OAAO,SAAS,sBAAsB,EAC3E,MAAM,EAAE,OAAO,EACf,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,GAC1D,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAazE"}
@@ -0,0 +1,14 @@
1
+ import type { ActionDefinitionCatalog } from "../actions";
2
+ import type { ObjectRef } from "../ontology";
3
+ import type { OntologyDefinitionCatalog } from "../ontology/registry";
4
+ import { type ShareAccessPlan } from "./access-plan";
5
+ import type { ShareDefinition } from "./types";
6
+ export interface CompileShareAccessPlanInput {
7
+ readonly share: ShareDefinition;
8
+ readonly target: ObjectRef;
9
+ readonly ontology: OntologyDefinitionCatalog;
10
+ readonly actions: ActionDefinitionCatalog;
11
+ }
12
+ /** Compile one current Share definition and exact target into M01 delegated authority. */
13
+ export declare function compileShareAccessPlan(input: CompileShareAccessPlanInput): ShareAccessPlan;
14
+ //# sourceMappingURL=compiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../src/shares/compiler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,KAAK,EAA4C,SAAS,EAAE,MAAM,aAAa,CAAA;AACtF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AASrE,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,eAAe,CAAA;AAG7E,OAAO,KAAK,EAAE,eAAe,EAAkB,MAAM,SAAS,CAAA;AAE9D,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,yBAAyB,CAAA;IAC5C,QAAQ,CAAC,OAAO,EAAE,uBAAuB,CAAA;CAC1C;AAED,0FAA0F;AAC1F,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,eAAe,CAgE1F"}
@@ -0,0 +1,4 @@
1
+ export declare class ShareDefinitionError extends Error {
2
+ readonly name = "ShareDefinitionError";
3
+ }
4
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/shares/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,0BAAyB;CACvC"}
@@ -0,0 +1,57 @@
1
+ import type { ExecutionContext } from "../execution";
2
+ import type { ObjectRef } from "../ontology";
3
+ import type { DefinitionCatalog } from "../runtime/definitions";
4
+ import type { SixbRuntimeContext } from "../runtime/types";
5
+ import { type ShareGrantRecord } from "../storage";
6
+ import type { ShareDefinition } from "./types";
7
+ export type ShareErrorReason = "invalid_input" | "not_found" | "unauthenticated" | "storage_unavailable" | "storage_failure";
8
+ export declare class ShareError extends Error {
9
+ readonly reason: ShareErrorReason;
10
+ readonly name = "ShareError";
11
+ constructor(reason: ShareErrorReason, message: string, options?: ErrorOptions);
12
+ }
13
+ type ShareTargetObjectTypeId<TDefinition extends ShareDefinition> = TDefinition["target"]["objectTypeId"];
14
+ /** Public lifecycle view. Durable secrets and authority internals never cross this boundary. */
15
+ export type SharedAccessGrant = Omit<ShareGrantRecord, "projectId" | "authoritySnapshot" | "authorityDigest" | "tokenHash">;
16
+ export interface SharedAccessInvitation {
17
+ readonly grant: SharedAccessGrant;
18
+ /** Returned once. Storage retains only its SHA-256 digest. */
19
+ readonly secret: string;
20
+ }
21
+ export interface IssueSharedAccessInput<TDefinition extends ShareDefinition = ShareDefinition> {
22
+ readonly target: ObjectRef<NoInfer<ShareTargetObjectTypeId<TDefinition>>>;
23
+ readonly destinationPath: string;
24
+ readonly expiresAt: Date;
25
+ }
26
+ export interface IssueSharedAccessByIdInput extends IssueSharedAccessInput {
27
+ readonly definitionId: string;
28
+ }
29
+ export interface ListSharedAccessInput<TDefinition extends ShareDefinition = ShareDefinition> {
30
+ readonly target?: ObjectRef<NoInfer<ShareTargetObjectTypeId<TDefinition>>>;
31
+ readonly includeRevoked?: boolean;
32
+ readonly includeExpired?: boolean;
33
+ readonly limit?: number;
34
+ readonly offset?: number;
35
+ }
36
+ export interface ListSharedAccessByIdInput extends Omit<ListSharedAccessInput, "target"> {
37
+ readonly definitionId: string;
38
+ /** Filter within the definition's target Object Type. */
39
+ readonly primaryId?: string;
40
+ }
41
+ export interface SharedAccessGrantListResult {
42
+ readonly grants: readonly SharedAccessGrant[];
43
+ readonly total: number;
44
+ readonly hasMore: boolean;
45
+ }
46
+ export interface SharesRuntime {
47
+ listDefinitions(): readonly ShareDefinition[];
48
+ getDefinitionById(definitionId: string): ShareDefinition | null;
49
+ issue<const TDefinition extends ShareDefinition>(definition: TDefinition, input: IssueSharedAccessInput<TDefinition>): Promise<SharedAccessInvitation>;
50
+ issueById(input: IssueSharedAccessByIdInput): Promise<SharedAccessInvitation>;
51
+ list<const TDefinition extends ShareDefinition>(definition: TDefinition, input?: ListSharedAccessInput<TDefinition>): Promise<SharedAccessGrantListResult>;
52
+ listById(input: ListSharedAccessByIdInput): Promise<SharedAccessGrantListResult>;
53
+ revoke(grantId: string): Promise<SharedAccessGrant | null>;
54
+ }
55
+ export declare function createSharesRuntime(runtime: SixbRuntimeContext, execution: ExecutionContext, definitions: DefinitionCatalog<ShareDefinition>): SharesRuntime;
56
+ export {};
57
+ //# sourceMappingURL=execution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.d.ts","sourceRoot":"","sources":["../../src/shares/execution.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAyB,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAC5C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAuB,KAAK,gBAAgB,EAA0B,MAAM,YAAY,CAAA;AAE/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,MAAM,MAAM,gBAAgB,GACxB,eAAe,GACf,WAAW,GACX,iBAAiB,GACjB,qBAAqB,GACrB,iBAAiB,CAAA;AAErB,qBAAa,UAAW,SAAQ,KAAK;IAIjC,QAAQ,CAAC,MAAM,EAAE,gBAAgB;IAHnC,QAAQ,CAAC,IAAI,gBAAe;gBAGjB,MAAM,EAAE,gBAAgB,EACjC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY;CAIzB;AAED,KAAK,uBAAuB,CAAC,WAAW,SAAS,eAAe,IAC9D,WAAW,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAA;AAEvC,gGAAgG;AAChG,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAClC,gBAAgB,EAChB,WAAW,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,WAAW,CACpE,CAAA;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;IACjC,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,sBAAsB,CAAC,WAAW,SAAS,eAAe,GAAG,eAAe;IAC3F,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IACzE,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,qBAAqB,CAAC,WAAW,SAAS,eAAe,GAAG,eAAe;IAC1F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;IAC1E,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,qBAAqB,EAAE,QAAQ,CAAC;IACtF,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,MAAM,EAAE,SAAS,iBAAiB,EAAE,CAAA;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,IAAI,SAAS,eAAe,EAAE,CAAA;IAC7C,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAA;IAC/D,KAAK,CAAC,KAAK,CAAC,WAAW,SAAS,eAAe,EAC7C,UAAU,EAAE,WAAW,EACvB,KAAK,EAAE,sBAAsB,CAAC,WAAW,CAAC,GACzC,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAClC,SAAS,CAAC,KAAK,EAAE,0BAA0B,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC7E,IAAI,CAAC,KAAK,CAAC,WAAW,SAAS,eAAe,EAC5C,UAAU,EAAE,WAAW,EACvB,KAAK,CAAC,EAAE,qBAAqB,CAAC,WAAW,CAAC,GACzC,OAAO,CAAC,2BAA2B,CAAC,CAAA;IACvC,QAAQ,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAChF,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;CAC3D;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE,gBAAgB,EAC3B,WAAW,EAAE,iBAAiB,CAAC,eAAe,CAAC,GAC9C,aAAa,CAyMf"}
@@ -0,0 +1,10 @@
1
+ export { defineShare, isShareDefinition } from "./builders";
2
+ export type { CompileShareAccessPlanInput } from "./compiler";
3
+ export { compileShareAccessPlan } from "./compiler";
4
+ export { ShareDefinitionError } from "./errors";
5
+ export type { IssueSharedAccessByIdInput, IssueSharedAccessInput, ListSharedAccessByIdInput, ListSharedAccessInput, SharedAccessGrant, SharedAccessGrantListResult, SharedAccessInvitation, ShareErrorReason, SharesRuntime, } from "./execution";
6
+ export { ShareError } from "./execution";
7
+ export { intersectShareAccessPlans } from "./intersection";
8
+ export type { DefineShareOptions, ShareActionGrant, ShareActionGrantBuilder, ShareDefinition, ShareScopeGrant, ShareTarget, ShareViewGrant, ShareViewGrantBuilder, } from "./types";
9
+ export { assertShareDefinitionEnvelope, validateSharesAtStartup } from "./validation";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shares/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC3D,YAAY,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,YAAY,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,yBAAyB,EACzB,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,sBAAsB,EACtB,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,WAAW,EACX,cAAc,EACd,qBAAqB,GACtB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,6BAA6B,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,3 @@
1
+ export type { SharedSessionContext, SharedSessionCredential, SharedSessionProtocolOptions, } from "./session-protocol";
2
+ export { DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS, SharedSessionProtocol, } from "./session-protocol";
3
+ //# sourceMappingURL=internal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../src/shares/internal.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,wCAAwC,EACxC,qBAAqB,GACtB,MAAM,oBAAoB,CAAA"}
@@ -0,0 +1,239 @@
1
+ // @bun
2
+ import {
3
+ intersectShareAccessPlans
4
+ } from "../chunk-z4ccwbkz.js";
5
+ import {
6
+ compileShareAccessPlan
7
+ } from "../chunk-v4en4jc2.js";
8
+ import"../chunk-sbzzr4kx.js";
9
+ import"../chunk-4jjp5k14.js";
10
+ import"../chunk-rv2hkwwa.js";
11
+ import {
12
+ snapshotShareAccessPlan
13
+ } from "../chunk-nx7k8tpr.js";
14
+ import {
15
+ ShareSessionStorageError
16
+ } from "../chunk-4yqmp43v.js";
17
+ import"../chunk-wdage1eb.js";
18
+ import"../chunk-5ntny1qx.js";
19
+ import"../chunk-nn0tekr1.js";
20
+ import"../chunk-p03r0h5s.js";
21
+ import"../chunk-jecn6t54.js";
22
+ import"../chunk-5gd7tpv6.js";
23
+ import"../chunk-rafagrwr.js";
24
+ import"../chunk-8tsf6dmc.js";
25
+ import"../chunk-yp8ee62z.js";
26
+ import"../chunk-ka3a2ft3.js";
27
+ import"../chunk-w1tvjszy.js";
28
+ import"../chunk-p1rzczbt.js";
29
+ import"../chunk-j1sbhm7p.js";
30
+ import"../chunk-9dzba0f2.js";
31
+ import"../chunk-dbc80ad7.js";
32
+ import"../chunk-ry24jbr1.js";
33
+ import"../chunk-p2vqaxkc.js";
34
+ import"../chunk-trxxmgnf.js";
35
+ import"../chunk-zcnhxkvd.js";
36
+ import"../chunk-w3e09qqk.js";
37
+ import"../chunk-51fjndv0.js";
38
+ import"../chunk-d8qkxt2v.js";
39
+ import {
40
+ formatSessionCookieValue,
41
+ parseSessionCookieValue
42
+ } from "../chunk-4sm0aznx.js";
43
+ import"../chunk-4a849fr1.js";
44
+ import"../chunk-2dw777qw.js";
45
+ import"../chunk-19jp6g9d.js";
46
+ import"../chunk-xwnf87e1.js";
47
+ import"../chunk-p1x242ad.js";
48
+ import"../chunk-r8jrnexe.js";
49
+ import"../chunk-h0k55pc7.js";
50
+ import"../chunk-dktq02ne.js";
51
+ import"../chunk-04b07a9q.js";
52
+ import"../chunk-08m3b6w8.js";
53
+ import"../chunk-2xns679x.js";
54
+ import"../chunk-n6jxh8sw.js";
55
+ import"../chunk-y64skrwp.js";
56
+
57
+ // src/shares/session-protocol.ts
58
+ import { createHash, randomBytes, randomUUID, timingSafeEqual } from "crypto";
59
+ var DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS = 15 * 60000;
60
+ var MAX_CREATE_ATTEMPTS = 5;
61
+ var SECRET_PATTERN = /^[A-Za-z0-9_-]{43}$/;
62
+
63
+ class SharedSessionProtocol {
64
+ host;
65
+ inactivityTtlMs;
66
+ now;
67
+ constructor(options) {
68
+ if (!options.host.storage.shareGrants || !options.host.storage.shareSessions) {
69
+ throw new Error("[Sixb] Shared sessions require share grant and session storage.");
70
+ }
71
+ const inactivityTtlMs = options.inactivityTtlMs ?? DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS;
72
+ if (!Number.isSafeInteger(inactivityTtlMs) || inactivityTtlMs <= 0) {
73
+ throw new Error("[Sixb] Shared session inactivity TTL must be a positive integer.");
74
+ }
75
+ this.host = options.host;
76
+ this.inactivityTtlMs = inactivityTtlMs;
77
+ this.now = options.now ?? (() => new Date);
78
+ }
79
+ async exchange(grantId, secret) {
80
+ if (!validIdentifier(grantId) || !validSecret(secret))
81
+ return null;
82
+ const now = this.currentTime();
83
+ for (let attempt = 0;attempt < MAX_CREATE_ATTEMPTS; attempt += 1) {
84
+ const sessionSecret = randomBytes(32).toString("base64url");
85
+ const sessionId = `shs_${randomUUID()}`;
86
+ try {
87
+ const result = await this.host.storage.transaction(async (tx) => {
88
+ const grant = await activeGrant(tx, this.host.projectId, grantId, now);
89
+ const secretMatches = secretMatchesHash(secret, grant?.tokenHash ?? "");
90
+ if (!grant || !secretMatches)
91
+ return null;
92
+ const sessions = requireSessions(tx);
93
+ const absoluteExpiresAt = new Date(grant.expiresAt);
94
+ const session = await sessions.create({
95
+ id: sessionId,
96
+ projectId: this.host.projectId,
97
+ grantId: grant.id,
98
+ tokenHash: sha256(sessionSecret),
99
+ createdAt: now,
100
+ expiresAt: inactivityDeadline(now, absoluteExpiresAt, this.inactivityTtlMs),
101
+ absoluteExpiresAt
102
+ });
103
+ return { grant, session };
104
+ });
105
+ if (!result)
106
+ return null;
107
+ return {
108
+ context: this.context(result.grant, result.session),
109
+ cookieValue: formatSessionCookieValue(sessionId, sessionSecret)
110
+ };
111
+ } catch (error) {
112
+ if (error instanceof ShareSessionStorageError && error.code === "duplicate" && attempt < MAX_CREATE_ATTEMPTS - 1) {
113
+ continue;
114
+ }
115
+ throw error;
116
+ }
117
+ }
118
+ return null;
119
+ }
120
+ async resolve(grantId, cookieValue, options = {}) {
121
+ if (!validIdentifier(grantId) || !validCookieValue(cookieValue))
122
+ return null;
123
+ const credential = parseSessionCookieValue(cookieValue);
124
+ if (!credential || !validIdentifier(credential.sessionId) || !validSecret(credential.sessionSecret)) {
125
+ return null;
126
+ }
127
+ const now = this.currentTime();
128
+ const tokenHash = sha256(credential.sessionSecret);
129
+ const result = await this.host.storage.transaction(async (tx) => {
130
+ const sessions = requireSessions(tx);
131
+ const current = await sessions.getById({
132
+ projectId: this.host.projectId,
133
+ id: credential.sessionId
134
+ });
135
+ const secretMatches = secretMatchesHash(credential.sessionSecret, current?.tokenHash ?? "");
136
+ if (!current || current.grantId !== grantId || current.revokedAt !== undefined || current.expiresAt.getTime() <= now.getTime() || current.absoluteExpiresAt.getTime() <= now.getTime() || !secretMatches) {
137
+ return null;
138
+ }
139
+ const grant = await activeGrant(tx, this.host.projectId, grantId, now);
140
+ if (!grant || current.absoluteExpiresAt.getTime() !== grant.expiresAt.getTime()) {
141
+ return null;
142
+ }
143
+ if (options.activity !== "foreground")
144
+ return { grant, session: current };
145
+ const renewed = await sessions.renewIfValid({
146
+ projectId: this.host.projectId,
147
+ id: current.id,
148
+ grantId,
149
+ tokenHash,
150
+ now,
151
+ expiresAt: inactivityDeadline(now, current.absoluteExpiresAt, this.inactivityTtlMs)
152
+ });
153
+ return renewed ? { grant, session: renewed } : null;
154
+ });
155
+ return result ? this.context(result.grant, result.session) : null;
156
+ }
157
+ async revoke(context) {
158
+ const revokedAt = this.currentTime();
159
+ await this.host.storage.transaction(async (tx) => {
160
+ const session = await requireSessions(tx).getById({
161
+ projectId: this.host.projectId,
162
+ id: context.sessionId
163
+ });
164
+ if (!session || session.grantId !== context.grantId)
165
+ return;
166
+ await requireSessions(tx).revoke({
167
+ projectId: this.host.projectId,
168
+ id: context.sessionId,
169
+ revokedAt
170
+ });
171
+ });
172
+ }
173
+ context(grant, session) {
174
+ return {
175
+ grantId: grant.id,
176
+ sessionId: session.id,
177
+ destinationPath: grant.destinationPath,
178
+ access: effectiveAccess(this.host, grant),
179
+ expiresAt: new Date(session.expiresAt),
180
+ absoluteExpiresAt: new Date(session.absoluteExpiresAt)
181
+ };
182
+ }
183
+ currentTime() {
184
+ const now = this.now();
185
+ if (!(now instanceof Date) || !Number.isFinite(now.getTime())) {
186
+ throw new Error("[Sixb] Shared session clock returned an invalid date.");
187
+ }
188
+ return new Date(now);
189
+ }
190
+ }
191
+ function effectiveAccess(host, grant) {
192
+ const definition = host.definitions.shares.getById(grant.definitionId);
193
+ if (!definition || definition.target.objectTypeId !== grant.target.objectTypeId) {
194
+ return snapshotShareAccessPlan({ grants: [] });
195
+ }
196
+ const current = compileShareAccessPlan({
197
+ share: definition,
198
+ target: grant.target,
199
+ ontology: host.definitions.ontology,
200
+ actions: host.definitions.actions
201
+ });
202
+ return intersectShareAccessPlans(grant.authoritySnapshot.access, current);
203
+ }
204
+ async function activeGrant(storage, projectId, grantId, now) {
205
+ const grant = await storage.shareGrants?.getById({ projectId, id: grantId });
206
+ return !grant || grant.revokedAt !== undefined || grant.expiresAt.getTime() <= now.getTime() ? null : grant;
207
+ }
208
+ function requireSessions(storage) {
209
+ if (!storage.shareSessions) {
210
+ throw new Error("[Sixb] Shared session storage is not configured.");
211
+ }
212
+ return storage.shareSessions;
213
+ }
214
+ function inactivityDeadline(now, absolute, ttlMs) {
215
+ return new Date(Math.min(absolute.getTime(), now.getTime() + ttlMs));
216
+ }
217
+ function secretMatchesHash(secret, expectedHash) {
218
+ const actual = createHash("sha256").update(secret).digest();
219
+ const expected = /^[0-9a-f]{64}$/.test(expectedHash) ? Buffer.from(expectedHash, "hex") : Buffer.alloc(actual.length);
220
+ return timingSafeEqual(actual, expected);
221
+ }
222
+ function sha256(value) {
223
+ return createHash("sha256").update(value).digest("hex");
224
+ }
225
+ function validIdentifier(value) {
226
+ return typeof value === "string" && value.length > 0 && value.length <= 128 && value.trim() === value;
227
+ }
228
+ function validSecret(value) {
229
+ return typeof value === "string" && SECRET_PATTERN.test(value);
230
+ }
231
+ function validCookieValue(value) {
232
+ return typeof value === "string" && value.length <= 256;
233
+ }
234
+ export {
235
+ SharedSessionProtocol,
236
+ DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS
237
+ };
238
+
239
+ //# debugId=31BD510D0F8EF3FB64756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/shares/session-protocol.ts"],
4
+ "sourcesContent": [
5
+ "import { createHash, randomBytes, randomUUID, timingSafeEqual } from \"node:crypto\"\nimport { formatSessionCookieValue, parseSessionCookieValue } from \"../auth/sessions\"\nimport type { SixbHostView } from \"../runtime\"\nimport type { ShareGrantRecord, ShareSessionRecord, Storage } from \"../storage\"\nimport { ShareSessionStorageError } from \"../storage\"\nimport { type ShareAccessPlan, snapshotShareAccessPlan } from \"./access-plan\"\nimport { compileShareAccessPlan } from \"./compiler\"\nimport { intersectShareAccessPlans } from \"./intersection\"\n\nexport const DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS = 15 * 60_000\n\nconst MAX_CREATE_ATTEMPTS = 5\nconst SECRET_PATTERN = /^[A-Za-z0-9_-]{43}$/\n\nexport interface SharedSessionContext {\n readonly grantId: string\n readonly sessionId: string\n readonly destinationPath: string\n readonly access: ShareAccessPlan\n readonly expiresAt: Date\n readonly absoluteExpiresAt: Date\n}\n\nexport interface SharedSessionCredential {\n readonly context: SharedSessionContext\n /** Opaque value for the HttpOnly shared-session cookie. */\n readonly cookieValue: string\n}\n\nexport interface SharedSessionProtocolOptions {\n readonly host: SixbHostView\n readonly inactivityTtlMs?: number\n readonly now?: () => Date\n}\n\n/**\n * Framework-owned shared-session lifecycle.\n *\n * Link and session secrets are verified here. Callers receive only an effective access plan built\n * from the issued snapshot intersected with the Share definition registered now.\n */\nexport class SharedSessionProtocol {\n private readonly host: SixbHostView\n private readonly inactivityTtlMs: number\n private readonly now: () => Date\n\n constructor(options: SharedSessionProtocolOptions) {\n if (!options.host.storage.shareGrants || !options.host.storage.shareSessions) {\n throw new Error(\"[Sixb] Shared sessions require share grant and session storage.\")\n }\n const inactivityTtlMs = options.inactivityTtlMs ?? DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS\n if (!Number.isSafeInteger(inactivityTtlMs) || inactivityTtlMs <= 0) {\n throw new Error(\"[Sixb] Shared session inactivity TTL must be a positive integer.\")\n }\n this.host = options.host\n this.inactivityTtlMs = inactivityTtlMs\n this.now = options.now ?? (() => new Date())\n }\n\n async exchange(grantId: string, secret: string): Promise<SharedSessionCredential | null> {\n if (!validIdentifier(grantId) || !validSecret(secret)) return null\n const now = this.currentTime()\n\n for (let attempt = 0; attempt < MAX_CREATE_ATTEMPTS; attempt += 1) {\n const sessionSecret = randomBytes(32).toString(\"base64url\")\n const sessionId = `shs_${randomUUID()}`\n try {\n const result = await this.host.storage.transaction(async (tx) => {\n const grant = await activeGrant(tx, this.host.projectId, grantId, now)\n const secretMatches = secretMatchesHash(secret, grant?.tokenHash ?? \"\")\n if (!grant || !secretMatches) return null\n const sessions = requireSessions(tx)\n const absoluteExpiresAt = new Date(grant.expiresAt)\n const session = await sessions.create({\n id: sessionId,\n projectId: this.host.projectId,\n grantId: grant.id,\n tokenHash: sha256(sessionSecret),\n createdAt: now,\n expiresAt: inactivityDeadline(now, absoluteExpiresAt, this.inactivityTtlMs),\n absoluteExpiresAt,\n })\n return { grant, session }\n })\n if (!result) return null\n return {\n context: this.context(result.grant, result.session),\n cookieValue: formatSessionCookieValue(sessionId, sessionSecret),\n }\n } catch (error) {\n if (\n error instanceof ShareSessionStorageError &&\n error.code === \"duplicate\" &&\n attempt < MAX_CREATE_ATTEMPTS - 1\n ) {\n continue\n }\n throw error\n }\n }\n\n return null\n }\n\n async resolve(\n grantId: string,\n cookieValue: string | undefined,\n options: { readonly activity?: \"background\" | \"foreground\" } = {}\n ): Promise<SharedSessionContext | null> {\n if (!validIdentifier(grantId) || !validCookieValue(cookieValue)) return null\n const credential = parseSessionCookieValue(cookieValue)\n if (\n !credential ||\n !validIdentifier(credential.sessionId) ||\n !validSecret(credential.sessionSecret)\n ) {\n return null\n }\n const now = this.currentTime()\n const tokenHash = sha256(credential.sessionSecret)\n\n const result = await this.host.storage.transaction(async (tx) => {\n const sessions = requireSessions(tx)\n const current = await sessions.getById({\n projectId: this.host.projectId,\n id: credential.sessionId,\n })\n const secretMatches = secretMatchesHash(credential.sessionSecret, current?.tokenHash ?? \"\")\n if (\n !current ||\n current.grantId !== grantId ||\n current.revokedAt !== undefined ||\n current.expiresAt.getTime() <= now.getTime() ||\n current.absoluteExpiresAt.getTime() <= now.getTime() ||\n !secretMatches\n ) {\n return null\n }\n\n const grant = await activeGrant(tx, this.host.projectId, grantId, now)\n if (!grant || current.absoluteExpiresAt.getTime() !== grant.expiresAt.getTime()) {\n return null\n }\n\n if (options.activity !== \"foreground\") return { grant, session: current }\n\n const renewed = await sessions.renewIfValid({\n projectId: this.host.projectId,\n id: current.id,\n grantId,\n tokenHash,\n now,\n expiresAt: inactivityDeadline(now, current.absoluteExpiresAt, this.inactivityTtlMs),\n })\n return renewed ? { grant, session: renewed } : null\n })\n\n return result ? this.context(result.grant, result.session) : null\n }\n\n async revoke(context: Pick<SharedSessionContext, \"grantId\" | \"sessionId\">): Promise<void> {\n const revokedAt = this.currentTime()\n await this.host.storage.transaction(async (tx) => {\n const session = await requireSessions(tx).getById({\n projectId: this.host.projectId,\n id: context.sessionId,\n })\n if (!session || session.grantId !== context.grantId) return\n await requireSessions(tx).revoke({\n projectId: this.host.projectId,\n id: context.sessionId,\n revokedAt,\n })\n })\n }\n\n private context(grant: ShareGrantRecord, session: ShareSessionRecord): SharedSessionContext {\n return {\n grantId: grant.id,\n sessionId: session.id,\n destinationPath: grant.destinationPath,\n access: effectiveAccess(this.host, grant),\n expiresAt: new Date(session.expiresAt),\n absoluteExpiresAt: new Date(session.absoluteExpiresAt),\n }\n }\n\n private currentTime(): Date {\n const now = this.now()\n if (!(now instanceof Date) || !Number.isFinite(now.getTime())) {\n throw new Error(\"[Sixb] Shared session clock returned an invalid date.\")\n }\n return new Date(now)\n }\n}\n\nfunction effectiveAccess(host: SixbHostView, grant: ShareGrantRecord): ShareAccessPlan {\n const definition = host.definitions.shares.getById(grant.definitionId)\n if (!definition || definition.target.objectTypeId !== grant.target.objectTypeId) {\n return snapshotShareAccessPlan({ grants: [] })\n }\n const current = compileShareAccessPlan({\n share: definition,\n target: grant.target,\n ontology: host.definitions.ontology,\n actions: host.definitions.actions,\n })\n return intersectShareAccessPlans(grant.authoritySnapshot.access, current)\n}\n\nasync function activeGrant(\n storage: Storage,\n projectId: string,\n grantId: string,\n now: Date\n): Promise<ShareGrantRecord | null> {\n const grant = await storage.shareGrants?.getById({ projectId, id: grantId })\n return !grant || grant.revokedAt !== undefined || grant.expiresAt.getTime() <= now.getTime()\n ? null\n : grant\n}\n\nfunction requireSessions(storage: Storage): NonNullable<Storage[\"shareSessions\"]> {\n if (!storage.shareSessions) {\n throw new Error(\"[Sixb] Shared session storage is not configured.\")\n }\n return storage.shareSessions\n}\n\nfunction inactivityDeadline(now: Date, absolute: Date, ttlMs: number): Date {\n return new Date(Math.min(absolute.getTime(), now.getTime() + ttlMs))\n}\n\nfunction secretMatchesHash(secret: string, expectedHash: string): boolean {\n const actual = createHash(\"sha256\").update(secret).digest()\n const expected = /^[0-9a-f]{64}$/.test(expectedHash)\n ? Buffer.from(expectedHash, \"hex\")\n : Buffer.alloc(actual.length)\n return timingSafeEqual(actual, expected)\n}\n\nfunction sha256(value: string): string {\n return createHash(\"sha256\").update(value).digest(\"hex\")\n}\n\nfunction validIdentifier(value: unknown): value is string {\n return (\n typeof value === \"string\" && value.length > 0 && value.length <= 128 && value.trim() === value\n )\n}\n\nfunction validSecret(value: unknown): value is string {\n return typeof value === \"string\" && SECRET_PATTERN.test(value)\n}\n\nfunction validCookieValue(value: unknown): value is string {\n return typeof value === \"string\" && value.length <= 256\n}\n"
6
+ ],
7
+ "mappings": "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",
8
+ "debugId": "31BD510D0F8EF3FB64756E2164756E21",
9
+ "names": []
10
+ }
@@ -0,0 +1,9 @@
1
+ import { type ShareAccessPlan } from "./access-plan";
2
+ /**
3
+ * Narrow an issued snapshot by the Share definition registered now.
4
+ *
5
+ * Intersection is recursive and id-based. Anything added to the definition or ontology after
6
+ * issuance is absent from `issued` and therefore cannot appear in the effective plan.
7
+ */
8
+ export declare function intersectShareAccessPlans(issued: ShareAccessPlan, current: ShareAccessPlan): ShareAccessPlan;
9
+ //# sourceMappingURL=intersection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intersection.d.ts","sourceRoot":"","sources":["../../src/shares/intersection.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,eAAe,CAAA;AAE7E;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,eAAe,GACvB,eAAe,CAwCjB"}
@@ -0,0 +1,41 @@
1
+ import type { SixbHostView } from "../runtime";
2
+ import { type ShareAccessPlan } from "./access-plan";
3
+ export declare const DEFAULT_SHARED_SESSION_INACTIVITY_TTL_MS: number;
4
+ export interface SharedSessionContext {
5
+ readonly grantId: string;
6
+ readonly sessionId: string;
7
+ readonly destinationPath: string;
8
+ readonly access: ShareAccessPlan;
9
+ readonly expiresAt: Date;
10
+ readonly absoluteExpiresAt: Date;
11
+ }
12
+ export interface SharedSessionCredential {
13
+ readonly context: SharedSessionContext;
14
+ /** Opaque value for the HttpOnly shared-session cookie. */
15
+ readonly cookieValue: string;
16
+ }
17
+ export interface SharedSessionProtocolOptions {
18
+ readonly host: SixbHostView;
19
+ readonly inactivityTtlMs?: number;
20
+ readonly now?: () => Date;
21
+ }
22
+ /**
23
+ * Framework-owned shared-session lifecycle.
24
+ *
25
+ * Link and session secrets are verified here. Callers receive only an effective access plan built
26
+ * from the issued snapshot intersected with the Share definition registered now.
27
+ */
28
+ export declare class SharedSessionProtocol {
29
+ private readonly host;
30
+ private readonly inactivityTtlMs;
31
+ private readonly now;
32
+ constructor(options: SharedSessionProtocolOptions);
33
+ exchange(grantId: string, secret: string): Promise<SharedSessionCredential | null>;
34
+ resolve(grantId: string, cookieValue: string | undefined, options?: {
35
+ readonly activity?: "background" | "foreground";
36
+ }): Promise<SharedSessionContext | null>;
37
+ revoke(context: Pick<SharedSessionContext, "grantId" | "sessionId">): Promise<void>;
38
+ private context;
39
+ private currentTime;
40
+ }
41
+ //# sourceMappingURL=session-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-protocol.d.ts","sourceRoot":"","sources":["../../src/shares/session-protocol.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAG9C,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,eAAe,CAAA;AAI7E,eAAO,MAAM,wCAAwC,QAAc,CAAA;AAKnE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAA;IACxB,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAA;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;IACtC,2DAA2D;IAC3D,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAA;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAY;gBAEpB,OAAO,EAAE,4BAA4B;IAa3C,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IA6ClF,OAAO,CACX,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,GAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,YAAY,CAAA;KAAO,GAChE,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAoDjC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,GAAG,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBzF,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,WAAW;CAOpB"}