@sixb/core 0.1.7 → 0.1.9

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 (999) 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 +78 -84
  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/types/context.d.ts +2 -0
  15. package/dist/actions/types/context.d.ts.map +1 -1
  16. package/dist/actions/validation.d.ts +1 -1
  17. package/dist/actions/validation.d.ts.map +1 -1
  18. package/dist/actions/worker.js +33 -37
  19. package/dist/actions/worker.js.map +2 -2
  20. package/dist/agents/adapters.d.ts +8 -125
  21. package/dist/agents/adapters.d.ts.map +1 -1
  22. package/dist/agents/authority.d.ts +1 -1
  23. package/dist/agents/authority.d.ts.map +1 -1
  24. package/dist/agents/{context.d.ts → context/entries.d.ts} +3 -3
  25. package/dist/agents/context/entries.d.ts.map +1 -0
  26. package/dist/agents/context/index.d.ts +4 -0
  27. package/dist/agents/context/index.d.ts.map +1 -0
  28. package/dist/agents/context/index.js +19 -0
  29. package/dist/agents/{streams.js.map → context/index.js.map} +1 -1
  30. package/dist/agents/context-model.d.ts +1 -1
  31. package/dist/agents/context-model.d.ts.map +1 -1
  32. package/dist/agents/context-resolution.d.ts +1 -1
  33. package/dist/agents/context-resolution.d.ts.map +1 -1
  34. package/dist/agents/errors.d.ts +0 -9
  35. package/dist/agents/errors.d.ts.map +1 -1
  36. package/dist/agents/execution.d.ts.map +1 -1
  37. package/dist/agents/identity.d.ts +3 -0
  38. package/dist/agents/identity.d.ts.map +1 -0
  39. package/dist/agents/index.d.ts +7 -7
  40. package/dist/agents/index.d.ts.map +1 -1
  41. package/dist/agents/index.js +193 -205
  42. package/dist/agents/index.js.map +1 -1
  43. package/dist/agents/message.d.ts +5 -6
  44. package/dist/agents/message.d.ts.map +1 -1
  45. package/dist/agents/model-loop.d.ts +4 -0
  46. package/dist/agents/model-loop.d.ts.map +1 -1
  47. package/dist/agents/request.d.ts +1 -1
  48. package/dist/agents/request.d.ts.map +1 -1
  49. package/dist/agents/streams/index.d.ts +4 -0
  50. package/dist/agents/streams/index.d.ts.map +1 -0
  51. package/dist/agents/streams/index.js +20 -0
  52. package/dist/{chunk-y64skrwp.js.map → agents/streams/index.js.map} +1 -1
  53. package/dist/agents/streams/internal.d.ts +3 -0
  54. package/dist/agents/streams/internal.d.ts.map +1 -0
  55. package/dist/agents/streams/internal.js +40 -0
  56. package/dist/agents/{context.js.map → streams/internal.js.map} +1 -1
  57. package/dist/agents/{streams.d.ts → streams/protocol.d.ts} +5 -5
  58. package/dist/agents/streams/protocol.d.ts.map +1 -0
  59. package/dist/agents/tool-definition.d.ts +0 -1
  60. package/dist/agents/tool-definition.d.ts.map +1 -1
  61. package/dist/agents/types.d.ts +1 -1
  62. package/dist/agents/types.d.ts.map +1 -1
  63. package/dist/agents/validation.d.ts +0 -4
  64. package/dist/agents/validation.d.ts.map +1 -1
  65. package/dist/ai-usage/execution.d.ts.map +1 -1
  66. package/dist/auth/index.d.ts +0 -1
  67. package/dist/auth/index.d.ts.map +1 -1
  68. package/dist/auth/index.js +96 -105
  69. package/dist/auth/index.js.map +1 -1
  70. package/dist/auth/strategy.js +8 -9
  71. package/dist/auth/strategy.js.map +1 -1
  72. package/dist/authorization/decision.d.ts +10 -2
  73. package/dist/authorization/decision.d.ts.map +1 -1
  74. package/dist/authorization/grant-kinds.d.ts +2 -1
  75. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  76. package/dist/authorization/index.d.ts +1 -1
  77. package/dist/authorization/index.d.ts.map +1 -1
  78. package/dist/authorization/index.js +51 -53
  79. package/dist/authorization/index.js.map +1 -1
  80. package/dist/blob-storage/browser.js +15 -17
  81. package/dist/blob-storage/browser.js.map +1 -1
  82. package/dist/blob-storage/index.js +36 -38
  83. package/dist/blob-storage/index.js.map +1 -1
  84. package/dist/bootstrap/discovery.d.ts +20 -1
  85. package/dist/bootstrap/discovery.d.ts.map +1 -1
  86. package/dist/bootstrap/index.d.ts +2 -2
  87. package/dist/bootstrap/index.d.ts.map +1 -1
  88. package/dist/bootstrap/index.js +79 -81
  89. package/dist/bootstrap/index.js.map +1 -1
  90. package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
  91. package/dist/broker/index.js +8 -10
  92. package/dist/broker/index.js.map +1 -1
  93. package/dist/{chunk-k34z5rvh.js → chunk-0rdrecsb.js} +18 -18
  94. package/dist/{chunk-k34z5rvh.js.map → chunk-0rdrecsb.js.map} +2 -2
  95. package/dist/{chunk-3fqt22c4.js → chunk-0w35wavj.js} +360 -168
  96. package/dist/chunk-0w35wavj.js.map +14 -0
  97. package/dist/chunk-0y39rgsb.js +43 -0
  98. package/dist/{chunk-c15dr03f.js.map → chunk-0y39rgsb.js.map} +2 -2
  99. package/dist/{chunk-hdz94br2.js → chunk-17kfctj6.js} +23 -13
  100. package/dist/chunk-17kfctj6.js.map +10 -0
  101. package/dist/{chunk-e4rvtvpw.js → chunk-1enhpacz.js} +418 -233
  102. package/dist/chunk-1enhpacz.js.map +34 -0
  103. package/dist/{chunk-5gd7tpv6.js → chunk-2c4j899j.js} +4 -4
  104. package/dist/{chunk-5gd7tpv6.js.map → chunk-2c4j899j.js.map} +2 -2
  105. package/dist/{chunk-7ds9620f.js → chunk-38zv5rkr.js} +24 -8
  106. package/dist/chunk-38zv5rkr.js.map +10 -0
  107. package/dist/{chunk-w3e09qqk.js → chunk-39tqv9hz.js} +24 -24
  108. package/dist/{chunk-w3e09qqk.js.map → chunk-39tqv9hz.js.map} +2 -2
  109. package/dist/{chunk-04b07a9q.js → chunk-3bh94gbw.js} +13 -13
  110. package/dist/{chunk-04b07a9q.js.map → chunk-3bh94gbw.js.map} +2 -2
  111. package/dist/{chunk-8m5ejdpn.js → chunk-3f7veca0.js} +4 -4
  112. package/dist/{chunk-8m5ejdpn.js.map → chunk-3f7veca0.js.map} +2 -2
  113. package/dist/chunk-3frsnm7x.js +32 -0
  114. package/dist/chunk-3frsnm7x.js.map +11 -0
  115. package/dist/{chunk-n2w475r0.js → chunk-3tgwrcyh.js} +81 -81
  116. package/dist/{chunk-n2w475r0.js.map → chunk-3tgwrcyh.js.map} +2 -2
  117. package/dist/{chunk-qv38twt8.js → chunk-52hbv0ak.js} +192 -171
  118. package/dist/{chunk-qv38twt8.js.map → chunk-52hbv0ak.js.map} +6 -6
  119. package/dist/{chunk-nf4r78r4.js → chunk-5a4a52tq.js} +4 -4
  120. package/dist/{chunk-nf4r78r4.js.map → chunk-5a4a52tq.js.map} +2 -2
  121. package/dist/{chunk-rte5sm3z.js → chunk-5hz0fnca.js} +23 -23
  122. package/dist/{chunk-rte5sm3z.js.map → chunk-5hz0fnca.js.map} +2 -2
  123. package/dist/chunk-653vwrzr.js +39 -0
  124. package/dist/chunk-653vwrzr.js.map +10 -0
  125. package/dist/{chunk-qw9gvjv5.js → chunk-72w2pxk7.js} +13 -13
  126. package/dist/{chunk-qw9gvjv5.js.map → chunk-72w2pxk7.js.map} +2 -2
  127. package/dist/chunk-7apz6hg4.js +50 -0
  128. package/dist/{chunk-jq43kdvk.js.map → chunk-7apz6hg4.js.map} +2 -2
  129. package/dist/chunk-7bs40fe1.js +218 -0
  130. package/dist/{chunk-08twe8m6.js.map → chunk-7bs40fe1.js.map} +3 -3
  131. package/dist/chunk-7zgecwy1.js +113 -0
  132. package/dist/chunk-7zgecwy1.js.map +10 -0
  133. package/dist/{chunk-tn7xcs2n.js → chunk-860dwwy0.js} +93 -30
  134. package/dist/chunk-860dwwy0.js.map +14 -0
  135. package/dist/chunk-8vj0rjgs.js +165 -0
  136. package/dist/chunk-8vj0rjgs.js.map +15 -0
  137. package/dist/{chunk-7y0f6rf1.js → chunk-92vk7gta.js} +58 -58
  138. package/dist/chunk-92vk7gta.js.map +10 -0
  139. package/dist/{chunk-gbrpsx4m.js → chunk-93csa55g.js} +72 -16
  140. package/dist/chunk-93csa55g.js.map +11 -0
  141. package/dist/{chunk-d8qkxt2v.js → chunk-98cw09sw.js} +7 -7
  142. package/dist/chunk-98cw09sw.js.map +10 -0
  143. package/dist/chunk-9qsh3p5y.js +111 -0
  144. package/dist/chunk-9qsh3p5y.js.map +11 -0
  145. package/dist/{chunk-4a849fr1.js → chunk-9tc8dxmn.js} +1 -1
  146. package/dist/{chunk-z2sery1b.js → chunk-9vx5e9g1.js} +68 -28
  147. package/dist/chunk-9vx5e9g1.js.map +11 -0
  148. package/dist/{chunk-9aehf39w.js → chunk-an5tt9y0.js} +353 -353
  149. package/dist/{chunk-9aehf39w.js.map → chunk-an5tt9y0.js.map} +2 -2
  150. package/dist/{chunk-x0qhkqje.js → chunk-ap0g1g74.js} +37 -37
  151. package/dist/{chunk-x0qhkqje.js.map → chunk-ap0g1g74.js.map} +2 -2
  152. package/dist/chunk-awbhdqyc.js +252 -0
  153. package/dist/chunk-awbhdqyc.js.map +10 -0
  154. package/dist/{chunk-ka3a2ft3.js → chunk-b19g04jk.js} +12 -12
  155. package/dist/{chunk-ka3a2ft3.js.map → chunk-b19g04jk.js.map} +2 -2
  156. package/dist/chunk-br3k6qbf.js +436 -0
  157. package/dist/chunk-br3k6qbf.js.map +12 -0
  158. package/dist/{chunk-dbc80ad7.js → chunk-c5rkjrgp.js} +28 -28
  159. package/dist/{chunk-dbc80ad7.js.map → chunk-c5rkjrgp.js.map} +2 -2
  160. package/dist/{chunk-dktq02ne.js → chunk-cqr3acm1.js} +4 -4
  161. package/dist/{chunk-dktq02ne.js.map → chunk-cqr3acm1.js.map} +2 -2
  162. package/dist/chunk-d62kjtbg.js +7 -0
  163. package/dist/{chunk-zcnhxkvd.js.map → chunk-d62kjtbg.js.map} +2 -2
  164. package/dist/{chunk-74drx9gd.js → chunk-dfm066qg.js} +10 -10
  165. package/dist/{chunk-74drx9gd.js.map → chunk-dfm066qg.js.map} +2 -2
  166. package/dist/{chunk-atmkaf60.js → chunk-dmn70ztd.js} +30 -34
  167. package/dist/chunk-dmn70ztd.js.map +11 -0
  168. package/dist/chunk-dz5h08xv.js +1887 -0
  169. package/dist/chunk-dz5h08xv.js.map +25 -0
  170. package/dist/{chunk-p2vqaxkc.js → chunk-e0d1rzef.js} +27 -22
  171. package/dist/{chunk-p2vqaxkc.js.map → chunk-e0d1rzef.js.map} +3 -3
  172. package/dist/{chunk-5sz8ta9r.js → chunk-e1c18xjx.js} +52 -52
  173. package/dist/{chunk-5sz8ta9r.js.map → chunk-e1c18xjx.js.map} +2 -2
  174. package/dist/{chunk-ha58tjtt.js → chunk-emyyk7dx.js} +59 -55
  175. package/dist/{chunk-ha58tjtt.js.map → chunk-emyyk7dx.js.map} +3 -3
  176. package/dist/{chunk-3kv70xwp.js → chunk-ey1nk510.js} +18 -2
  177. package/dist/chunk-ey1nk510.js.map +10 -0
  178. package/dist/chunk-f0rwz2vh.js +152 -0
  179. package/dist/chunk-f0rwz2vh.js.map +11 -0
  180. package/dist/{chunk-2xns679x.js → chunk-f4w3yp4f.js} +171 -36
  181. package/dist/chunk-f4w3yp4f.js.map +12 -0
  182. package/dist/{chunk-979ww6b3.js → chunk-fb3feg1e.js} +29 -29
  183. package/dist/{chunk-979ww6b3.js.map → chunk-fb3feg1e.js.map} +2 -2
  184. package/dist/{chunk-rre42skh.js → chunk-g00bfdq6.js} +729 -296
  185. package/dist/{chunk-rre42skh.js.map → chunk-g00bfdq6.js.map} +11 -7
  186. package/dist/{chunk-p03r0h5s.js → chunk-g53f0e4j.js} +76 -202
  187. package/dist/chunk-g53f0e4j.js.map +15 -0
  188. package/dist/chunk-g6cke204.js +124 -0
  189. package/dist/chunk-g6cke204.js.map +10 -0
  190. package/dist/{chunk-51fjndv0.js → chunk-gfdh9kqa.js} +4 -4
  191. package/dist/{chunk-51fjndv0.js.map → chunk-gfdh9kqa.js.map} +2 -2
  192. package/dist/chunk-h1gfhhbh.js +602 -0
  193. package/dist/chunk-h1gfhhbh.js.map +18 -0
  194. package/dist/chunk-h3v76ams.js +32 -0
  195. package/dist/{chunk-08m3b6w8.js.map → chunk-h3v76ams.js.map} +2 -2
  196. package/dist/chunk-hpr1r6av.js +4006 -0
  197. package/dist/chunk-hpr1r6av.js.map +44 -0
  198. package/dist/{chunk-jecn6t54.js → chunk-jgwb25gc.js} +74 -74
  199. package/dist/{chunk-jecn6t54.js.map → chunk-jgwb25gc.js.map} +2 -2
  200. package/dist/{chunk-rp1mvzb4.js → chunk-jjy0fhrn.js} +40 -35
  201. package/dist/{chunk-rp1mvzb4.js.map → chunk-jjy0fhrn.js.map} +3 -3
  202. package/dist/{chunk-4nxeacx7.js → chunk-jmfet9r4.js} +6 -6
  203. package/dist/{chunk-4nxeacx7.js.map → chunk-jmfet9r4.js.map} +2 -2
  204. package/dist/{chunk-64sr682n.js → chunk-k3cqkkn2.js} +61 -55
  205. package/dist/chunk-k3cqkkn2.js.map +12 -0
  206. package/dist/{chunk-s5y30bc9.js → chunk-kxwa347f.js} +51 -49
  207. package/dist/{chunk-s5y30bc9.js.map → chunk-kxwa347f.js.map} +4 -4
  208. package/dist/{chunk-2ab72m2h.js → chunk-m2ca93my.js} +3 -3
  209. package/dist/{chunk-2ab72m2h.js.map → chunk-m2ca93my.js.map} +2 -2
  210. package/dist/{chunk-qjycjdj6.js → chunk-m3z3x9v0.js} +106 -65
  211. package/dist/{chunk-qjycjdj6.js.map → chunk-m3z3x9v0.js.map} +3 -3
  212. package/dist/{chunk-6ed5bwnd.js → chunk-mjbk2djy.js} +2092 -1714
  213. package/dist/chunk-mjbk2djy.js.map +57 -0
  214. package/dist/{chunk-5jcdmjam.js → chunk-mmagke4x.js} +6 -6
  215. package/dist/{chunk-5jcdmjam.js.map → chunk-mmagke4x.js.map} +2 -2
  216. package/dist/chunk-mrp7k0pw.js +147 -0
  217. package/dist/chunk-mrp7k0pw.js.map +10 -0
  218. package/dist/{chunk-d63tybny.js → chunk-ms2tmn1k.js} +139 -139
  219. package/dist/{chunk-d63tybny.js.map → chunk-ms2tmn1k.js.map} +2 -2
  220. package/dist/{chunk-xdpwpkha.js → chunk-ppytyr6w.js} +156 -179
  221. package/dist/{chunk-xdpwpkha.js.map → chunk-ppytyr6w.js.map} +3 -5
  222. package/dist/{chunk-trxxmgnf.js → chunk-pqajwytd.js} +10 -10
  223. package/dist/{chunk-trxxmgnf.js.map → chunk-pqajwytd.js.map} +3 -3
  224. package/dist/{chunk-qjzp9xyb.js → chunk-pr2h4bv4.js} +33 -35
  225. package/dist/chunk-pr2h4bv4.js.map +12 -0
  226. package/dist/{chunk-xwnf87e1.js → chunk-q5gz3g2j.js} +64 -64
  227. package/dist/{chunk-xwnf87e1.js.map → chunk-q5gz3g2j.js.map} +2 -2
  228. package/dist/{chunk-agsvg9ar.js → chunk-qf954wje.js} +6 -6
  229. package/dist/{chunk-agsvg9ar.js.map → chunk-qf954wje.js.map} +2 -2
  230. package/dist/{chunk-wjgm6jjt.js → chunk-qhcpj9wc.js} +166 -132
  231. package/dist/chunk-qhcpj9wc.js.map +14 -0
  232. package/dist/{chunk-tpnd31c1.js → chunk-r29fxdhn.js} +12 -12
  233. package/dist/{chunk-tpnd31c1.js.map → chunk-r29fxdhn.js.map} +2 -2
  234. package/dist/{chunk-b49dgvsj.js → chunk-r2y23egw.js} +3 -3
  235. package/dist/{chunk-b49dgvsj.js.map → chunk-r2y23egw.js.map} +2 -2
  236. package/dist/{chunk-2b5qtban.js → chunk-r4tfx1sf.js} +142 -89
  237. package/dist/chunk-r4tfx1sf.js.map +15 -0
  238. package/dist/{chunk-4rh2m6zg.js → chunk-rb1xx120.js} +13 -13
  239. package/dist/{chunk-4rh2m6zg.js.map → chunk-rb1xx120.js.map} +2 -2
  240. package/dist/chunk-s3csryxe.js +152 -0
  241. package/dist/chunk-s3csryxe.js.map +11 -0
  242. package/dist/chunk-s670k14v.js +60 -0
  243. package/dist/{chunk-407j3msh.js.map → chunk-s670k14v.js.map} +2 -2
  244. package/dist/chunk-skz0hst3.js +788 -0
  245. package/dist/chunk-skz0hst3.js.map +19 -0
  246. package/dist/chunk-v4jbb3rs.js +403 -0
  247. package/dist/chunk-v4jbb3rs.js.map +10 -0
  248. package/dist/{chunk-d2ndstdf.js → chunk-vf691g1r.js} +61 -59
  249. package/dist/{chunk-d2ndstdf.js.map → chunk-vf691g1r.js.map} +2 -2
  250. package/dist/{chunk-1kamz6j0.js → chunk-vsj3mdfj.js} +8 -8
  251. package/dist/{chunk-1kamz6j0.js.map → chunk-vsj3mdfj.js.map} +2 -2
  252. package/dist/{chunk-9dzba0f2.js → chunk-wjasrj67.js} +8 -8
  253. package/dist/{chunk-9dzba0f2.js.map → chunk-wjasrj67.js.map} +2 -2
  254. package/dist/{chunk-1evzqhks.js → chunk-wr8qp979.js} +6 -6
  255. package/dist/{chunk-1evzqhks.js.map → chunk-wr8qp979.js.map} +2 -2
  256. package/dist/{chunk-n6jxh8sw.js → chunk-wy0qdqfm.js} +18 -18
  257. package/dist/{chunk-n6jxh8sw.js.map → chunk-wy0qdqfm.js.map} +2 -2
  258. package/dist/{chunk-8tsf6dmc.js → chunk-x57ycxq0.js} +204 -204
  259. package/dist/{chunk-8tsf6dmc.js.map → chunk-x57ycxq0.js.map} +2 -2
  260. package/dist/chunk-x9v4cx1d.js +139 -0
  261. package/dist/chunk-x9v4cx1d.js.map +10 -0
  262. package/dist/{chunk-kt81c11h.js → chunk-xfbydgzy.js} +27 -27
  263. package/dist/{chunk-kt81c11h.js.map → chunk-xfbydgzy.js.map} +2 -2
  264. package/dist/{chunk-vjjv9mrb.js → chunk-xyr8kppc.js} +22 -22
  265. package/dist/{chunk-vjjv9mrb.js.map → chunk-xyr8kppc.js.map} +3 -3
  266. package/dist/chunk-ypbtykv6.js +1537 -0
  267. package/dist/chunk-ypbtykv6.js.map +19 -0
  268. package/dist/{chunk-ry24jbr1.js → chunk-yv79ncbv.js} +10 -10
  269. package/dist/{chunk-ry24jbr1.js.map → chunk-yv79ncbv.js.map} +2 -2
  270. package/dist/{chunk-xc7hq65b.js → chunk-z30bv4ga.js} +80 -33
  271. package/dist/chunk-z30bv4ga.js.map +11 -0
  272. package/dist/{chunk-8ydjhh27.js → chunk-z3y411fq.js} +11 -7
  273. package/dist/{chunk-8ydjhh27.js.map → chunk-z3y411fq.js.map} +3 -3
  274. package/dist/{chunk-9t8f5xfx.js → chunk-z5rnrmz1.js} +10 -10
  275. package/dist/{chunk-9t8f5xfx.js.map → chunk-z5rnrmz1.js.map} +2 -2
  276. package/dist/{chunk-96swp2wd.js → chunk-z667z3sg.js} +3 -3
  277. package/dist/{chunk-96swp2wd.js.map → chunk-z667z3sg.js.map} +2 -2
  278. package/dist/chunk-z8fx5cgb.js +159 -0
  279. package/dist/chunk-z8fx5cgb.js.map +11 -0
  280. package/dist/{chunk-xhy826cz.js → chunk-zcnq6105.js} +7 -7
  281. package/dist/{chunk-xhy826cz.js.map → chunk-zcnq6105.js.map} +2 -2
  282. package/dist/{chunk-yt8wphsx.js → chunk-zvx7h87b.js} +3 -3
  283. package/dist/{chunk-yt8wphsx.js.map → chunk-zvx7h87b.js.map} +2 -2
  284. package/dist/connectors/connections/internal.js +9 -10
  285. package/dist/connectors/connections/internal.js.map +1 -1
  286. package/dist/datasets/builders.d.ts +11 -2
  287. package/dist/datasets/builders.d.ts.map +1 -1
  288. package/dist/datasets/changes.d.ts +14 -4
  289. package/dist/datasets/changes.d.ts.map +1 -1
  290. package/dist/datasets/execution.d.ts +15 -1
  291. package/dist/datasets/execution.d.ts.map +1 -1
  292. package/dist/datasets/index.d.ts +1 -0
  293. package/dist/datasets/index.d.ts.map +1 -1
  294. package/dist/datasets/sequence.d.ts +7 -0
  295. package/dist/datasets/sequence.d.ts.map +1 -0
  296. package/dist/datasets/types.d.ts +1 -0
  297. package/dist/datasets/types.d.ts.map +1 -1
  298. package/dist/datasets/validation.d.ts.map +1 -1
  299. package/dist/datasets/write.d.ts +37 -0
  300. package/dist/datasets/write.d.ts.map +1 -0
  301. package/dist/datasets/write.js +13 -0
  302. package/dist/datasets/write.js.map +9 -0
  303. package/dist/edits/index.js +7 -8
  304. package/dist/edits/index.js.map +1 -1
  305. package/dist/error-reporting/internal.js +22 -24
  306. package/dist/error-reporting/internal.js.map +1 -1
  307. package/dist/errors/internal.d.ts +1 -1
  308. package/dist/errors/internal.d.ts.map +1 -1
  309. package/dist/errors/internal.js +22 -24
  310. package/dist/errors/internal.js.map +1 -1
  311. package/dist/errors/redaction.d.ts +8 -0
  312. package/dist/errors/redaction.d.ts.map +1 -0
  313. package/dist/errors/types.d.ts +4 -0
  314. package/dist/errors/types.d.ts.map +1 -1
  315. package/dist/events/execution.d.ts.map +1 -1
  316. package/dist/events/index.js +60 -63
  317. package/dist/events/index.js.map +1 -1
  318. package/dist/events/scope.js +4 -5
  319. package/dist/events/scope.js.map +1 -1
  320. package/dist/events/selectors/index.js +9 -10
  321. package/dist/events/selectors/index.js.map +1 -1
  322. package/dist/events/types/datasets.d.ts +2 -6
  323. package/dist/events/types/datasets.d.ts.map +1 -1
  324. package/dist/execution/agent.d.ts +3 -3
  325. package/dist/execution/agent.d.ts.map +1 -1
  326. package/dist/execution/agent.js +70 -75
  327. package/dist/execution/agent.js.map +1 -1
  328. package/dist/execution/authorization.d.ts +58 -20
  329. package/dist/execution/authorization.d.ts.map +1 -1
  330. package/dist/execution/authorized-object-reader.d.ts +69 -0
  331. package/dist/execution/authorized-object-reader.d.ts.map +1 -0
  332. package/dist/execution/durable.d.ts +1 -0
  333. package/dist/execution/durable.d.ts.map +1 -1
  334. package/dist/execution/index.d.ts +1 -1
  335. package/dist/execution/index.d.ts.map +1 -1
  336. package/dist/execution/primitive.d.ts +2 -0
  337. package/dist/execution/primitive.d.ts.map +1 -1
  338. package/dist/execution/primitive.js +63 -64
  339. package/dist/execution/primitive.js.map +3 -3
  340. package/dist/execution/request.d.ts +12 -0
  341. package/dist/execution/request.d.ts.map +1 -1
  342. package/dist/execution/request.js +97 -71
  343. package/dist/execution/request.js.map +3 -3
  344. package/dist/execution/scopes.d.ts +16 -0
  345. package/dist/execution/scopes.d.ts.map +1 -1
  346. package/dist/execution/types.d.ts +9 -0
  347. package/dist/execution/types.d.ts.map +1 -1
  348. package/dist/http/api-routes.d.ts +2 -0
  349. package/dist/http/api-routes.d.ts.map +1 -1
  350. package/dist/http/index.js +10 -11
  351. package/dist/http/index.js.map +1 -1
  352. package/dist/index.d.ts +21 -14
  353. package/dist/index.d.ts.map +1 -1
  354. package/dist/index.js +455 -463
  355. package/dist/index.js.map +1 -1
  356. package/dist/lake-storage/definition-updates.d.ts.map +1 -1
  357. package/dist/lake-storage/errors.d.ts +5 -1
  358. package/dist/lake-storage/errors.d.ts.map +1 -1
  359. package/dist/lake-storage/in-memory.d.ts +1 -0
  360. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  361. package/dist/lake-storage/index.d.ts +6 -1
  362. package/dist/lake-storage/index.d.ts.map +1 -1
  363. package/dist/lake-storage/index.js +40 -27
  364. package/dist/lake-storage/index.js.map +1 -1
  365. package/dist/lake-storage/merge-validation.d.ts.map +1 -1
  366. package/dist/lake-storage/merge.d.ts +13 -2
  367. package/dist/lake-storage/merge.d.ts.map +1 -1
  368. package/dist/lake-storage/source-ordering.d.ts +19 -0
  369. package/dist/lake-storage/source-ordering.d.ts.map +1 -0
  370. package/dist/lake-storage/sql-transforms.d.ts +2 -1
  371. package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
  372. package/dist/lake-storage/types.d.ts +10 -5
  373. package/dist/lake-storage/types.d.ts.map +1 -1
  374. package/dist/lake-storage/version-inputs.d.ts +4 -0
  375. package/dist/lake-storage/version-inputs.d.ts.map +1 -0
  376. package/dist/logging/index.d.ts +3 -4
  377. package/dist/logging/index.d.ts.map +1 -1
  378. package/dist/logging/index.js +18 -40
  379. package/dist/logging/index.js.map +1 -1
  380. package/dist/logging/internal.d.ts +5 -0
  381. package/dist/logging/internal.d.ts.map +1 -0
  382. package/dist/logging/internal.js +43 -0
  383. package/dist/logging/internal.js.map +9 -0
  384. package/dist/materialization/index.js +46 -49
  385. package/dist/materialization/index.js.map +1 -1
  386. package/dist/materializer/index.js +137 -142
  387. package/dist/materializer/index.js.map +1 -1
  388. package/dist/models/errors.d.ts +4 -0
  389. package/dist/models/errors.d.ts.map +1 -1
  390. package/dist/models/execution/binding.d.ts +9 -0
  391. package/dist/models/execution/binding.d.ts.map +1 -0
  392. package/dist/models/execution/errors.d.ts +9 -0
  393. package/dist/models/execution/errors.d.ts.map +1 -0
  394. package/dist/models/execution/index.d.ts +11 -0
  395. package/dist/models/execution/index.d.ts.map +1 -0
  396. package/dist/models/execution/index.js +55 -0
  397. package/dist/models/execution/index.js.map +9 -0
  398. package/dist/models/execution/model-call-accounting.d.ts +17 -0
  399. package/dist/models/execution/model-call-accounting.d.ts.map +1 -0
  400. package/dist/models/execution/model-call-admission.d.ts +47 -0
  401. package/dist/models/execution/model-call-admission.d.ts.map +1 -0
  402. package/dist/models/execution/model-call-limits.d.ts +15 -0
  403. package/dist/models/execution/model-call-limits.d.ts.map +1 -0
  404. package/dist/models/execution/model-call-recorder.d.ts +40 -0
  405. package/dist/models/execution/model-call-recorder.d.ts.map +1 -0
  406. package/dist/models/execution/model-call-recovery.d.ts +12 -0
  407. package/dist/models/execution/model-call-recovery.d.ts.map +1 -0
  408. package/dist/models/execution/recovery-queue.d.ts +5 -0
  409. package/dist/models/execution/recovery-queue.d.ts.map +1 -0
  410. package/dist/models/execution/types.d.ts +44 -0
  411. package/dist/models/execution/types.d.ts.map +1 -0
  412. package/dist/models/execution/usage.d.ts +5 -0
  413. package/dist/models/execution/usage.d.ts.map +1 -0
  414. package/dist/models/execution.d.ts +6 -0
  415. package/dist/models/execution.d.ts.map +1 -0
  416. package/dist/models/generation-types.d.ts +40 -0
  417. package/dist/models/generation-types.d.ts.map +1 -0
  418. package/dist/models/index.d.ts +1 -0
  419. package/dist/models/index.d.ts.map +1 -1
  420. package/dist/models/index.js +42 -43
  421. package/dist/models/index.js.map +1 -1
  422. package/dist/models/language-model.d.ts +3 -0
  423. package/dist/models/language-model.d.ts.map +1 -1
  424. package/dist/models/output.d.ts +5 -0
  425. package/dist/models/output.d.ts.map +1 -0
  426. package/dist/models/resolve.d.ts +4 -0
  427. package/dist/models/resolve.d.ts.map +1 -0
  428. package/dist/objects/authorized-ontology-view.d.ts +25 -0
  429. package/dist/objects/authorized-ontology-view.d.ts.map +1 -0
  430. package/dist/objects/execution.d.ts +1 -1
  431. package/dist/objects/execution.d.ts.map +1 -1
  432. package/dist/objects/index.js +75 -84
  433. package/dist/objects/index.js.map +1 -1
  434. package/dist/objects/link/authorization.d.ts +2 -7
  435. package/dist/objects/link/authorization.d.ts.map +1 -1
  436. package/dist/objects/query/executor.d.ts +4 -2
  437. package/dist/objects/query/executor.d.ts.map +1 -1
  438. package/dist/objects/query/index.js +67 -73
  439. package/dist/objects/query/index.js.map +1 -1
  440. package/dist/objects/query/links.d.ts +22 -1
  441. package/dist/objects/query/links.d.ts.map +1 -1
  442. package/dist/objects/query/selected-read-admission.d.ts +27 -0
  443. package/dist/objects/query/selected-read-admission.d.ts.map +1 -0
  444. package/dist/objects/query/validate.d.ts +60 -2
  445. package/dist/objects/query/validate.d.ts.map +1 -1
  446. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  447. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  448. package/dist/objects/sdk/runtime-query-executor.d.ts +2 -7
  449. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  450. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  451. package/dist/objects/service/list-service.d.ts +2 -3
  452. package/dist/objects/service/list-service.d.ts.map +1 -1
  453. package/dist/objects/telemetry/history.d.ts +8 -6
  454. package/dist/objects/telemetry/history.d.ts.map +1 -1
  455. package/dist/objects/telemetry/index.d.ts +2 -2
  456. package/dist/objects/telemetry/index.d.ts.map +1 -1
  457. package/dist/objects/telemetry/workload.d.ts +11 -0
  458. package/dist/objects/telemetry/workload.d.ts.map +1 -0
  459. package/dist/ontology/index.d.ts +2 -2
  460. package/dist/ontology/index.d.ts.map +1 -1
  461. package/dist/ontology/index.js +61 -111
  462. package/dist/ontology/index.js.map +1 -1
  463. package/dist/ontology/inference/index.d.ts +2 -1
  464. package/dist/ontology/inference/index.d.ts.map +1 -1
  465. package/dist/ontology/internal.d.ts +7 -1
  466. package/dist/ontology/internal.d.ts.map +1 -1
  467. package/dist/ontology/internal.js +65 -121
  468. package/dist/ontology/internal.js.map +3 -4
  469. package/dist/ontology/json-schema.d.ts +10 -6
  470. package/dist/ontology/json-schema.d.ts.map +1 -1
  471. package/dist/ontology/link-path-selection.d.ts +35 -0
  472. package/dist/ontology/link-path-selection.d.ts.map +1 -0
  473. package/dist/ontology/refs.d.ts +2 -0
  474. package/dist/ontology/refs.d.ts.map +1 -1
  475. package/dist/ontology/tokens.d.ts +2 -1
  476. package/dist/ontology/tokens.d.ts.map +1 -1
  477. package/dist/pipelines/execution.d.ts.map +1 -1
  478. package/dist/pipelines/index.js +57 -63
  479. package/dist/pipelines/index.js.map +1 -1
  480. package/dist/pipelines/request.d.ts.map +1 -1
  481. package/dist/projections/execution.d.ts.map +1 -1
  482. package/dist/projections/internal.js +58 -64
  483. package/dist/projections/internal.js.map +1 -1
  484. package/dist/projections/run-dispatch.d.ts.map +1 -1
  485. package/dist/query.d.ts +0 -1
  486. package/dist/query.d.ts.map +1 -1
  487. package/dist/query.js +11 -15
  488. package/dist/query.js.map +1 -1
  489. package/dist/queues/index.d.ts +2 -1
  490. package/dist/queues/index.d.ts.map +1 -1
  491. package/dist/queues/index.js +6 -7
  492. package/dist/queues/index.js.map +1 -1
  493. package/dist/queues/types.d.ts +3 -20
  494. package/dist/queues/types.d.ts.map +1 -1
  495. package/dist/rules/execution.d.ts.map +1 -1
  496. package/dist/rules/internal.js +4 -5
  497. package/dist/rules/internal.js.map +1 -1
  498. package/dist/runtime/create.d.ts +6 -2
  499. package/dist/runtime/create.d.ts.map +1 -1
  500. package/dist/runtime/definitions.d.ts +2 -0
  501. package/dist/runtime/definitions.d.ts.map +1 -1
  502. package/dist/runtime/host.d.ts +4 -1
  503. package/dist/runtime/host.d.ts.map +1 -1
  504. package/dist/runtime/internal.d.ts +1 -0
  505. package/dist/runtime/internal.d.ts.map +1 -1
  506. package/dist/runtime/internal.js +13 -14
  507. package/dist/runtime/internal.js.map +1 -1
  508. package/dist/runtime/resolve-definitions.d.ts +2 -0
  509. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  510. package/dist/runtime/sixb.d.ts +6 -0
  511. package/dist/runtime/sixb.d.ts.map +1 -1
  512. package/dist/runtime/types.d.ts +3 -0
  513. package/dist/runtime/types.d.ts.map +1 -1
  514. package/dist/sandboxes/errors.d.ts +4 -0
  515. package/dist/sandboxes/errors.d.ts.map +1 -1
  516. package/dist/sandboxes/index.d.ts +2 -2
  517. package/dist/sandboxes/index.d.ts.map +1 -1
  518. package/dist/sandboxes/index.js +14 -13
  519. package/dist/sandboxes/index.js.map +1 -1
  520. package/dist/sandboxes/sandbox.d.ts +35 -7
  521. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  522. package/dist/scheduler/index.js +9 -10
  523. package/dist/scheduler/index.js.map +1 -1
  524. package/dist/schedules/execution.d.ts +2 -1
  525. package/dist/schedules/execution.d.ts.map +1 -1
  526. package/dist/schedules/index.js +31 -33
  527. package/dist/schedules/index.js.map +1 -1
  528. package/dist/security/every.d.ts +4 -1
  529. package/dist/security/every.d.ts.map +1 -1
  530. package/dist/security/grants.d.ts +7 -2
  531. package/dist/security/grants.d.ts.map +1 -1
  532. package/dist/security/index.d.ts +1 -1
  533. package/dist/security/index.d.ts.map +1 -1
  534. package/dist/security/registry.d.ts +1 -0
  535. package/dist/security/registry.d.ts.map +1 -1
  536. package/dist/security/types.d.ts +7 -1
  537. package/dist/security/types.d.ts.map +1 -1
  538. package/dist/security/validation.d.ts +2 -0
  539. package/dist/security/validation.d.ts.map +1 -1
  540. package/dist/shares/access-plan.d.ts +22 -0
  541. package/dist/shares/access-plan.d.ts.map +1 -0
  542. package/dist/shares/builders.d.ts +14 -0
  543. package/dist/shares/builders.d.ts.map +1 -0
  544. package/dist/shares/compiler.d.ts +14 -0
  545. package/dist/shares/compiler.d.ts.map +1 -0
  546. package/dist/shares/errors.d.ts +4 -0
  547. package/dist/shares/errors.d.ts.map +1 -0
  548. package/dist/shares/execution.d.ts +57 -0
  549. package/dist/shares/execution.d.ts.map +1 -0
  550. package/dist/shares/index.d.ts +10 -0
  551. package/dist/shares/index.d.ts.map +1 -0
  552. package/dist/shares/internal.d.ts +3 -0
  553. package/dist/shares/internal.d.ts.map +1 -0
  554. package/dist/shares/internal.js +231 -0
  555. package/dist/shares/internal.js.map +10 -0
  556. package/dist/shares/intersection.d.ts +9 -0
  557. package/dist/shares/intersection.d.ts.map +1 -0
  558. package/dist/shares/session-protocol.d.ts +41 -0
  559. package/dist/shares/session-protocol.d.ts.map +1 -0
  560. package/dist/shares/types.d.ts +51 -0
  561. package/dist/shares/types.d.ts.map +1 -0
  562. package/dist/shares/validation.d.ts +11 -0
  563. package/dist/shares/validation.d.ts.map +1 -0
  564. package/dist/storage/action-runs/failure.js +7 -9
  565. package/dist/storage/action-runs/failure.js.map +1 -1
  566. package/dist/storage/action-runs/provider.js +4 -8
  567. package/dist/storage/action-runs/provider.js.map +1 -1
  568. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  569. package/dist/storage/agents/provider.js +26 -30
  570. package/dist/storage/agents/provider.js.map +1 -1
  571. package/dist/storage/agents/types.d.ts +0 -3
  572. package/dist/storage/agents/types.d.ts.map +1 -1
  573. package/dist/storage/ai-cost/attribution.d.ts +4 -0
  574. package/dist/storage/ai-cost/attribution.d.ts.map +1 -0
  575. package/dist/storage/ai-cost/groups.d.ts +3 -0
  576. package/dist/storage/ai-cost/groups.d.ts.map +1 -1
  577. package/dist/storage/ai-cost/provider.d.ts +1 -0
  578. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  579. package/dist/storage/ai-cost/provider.js +30 -143
  580. package/dist/storage/ai-cost/provider.js.map +3 -4
  581. package/dist/storage/ai-cost/types.d.ts +15 -0
  582. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  583. package/dist/storage/ai-limits/enforcement.js +14 -16
  584. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  585. package/dist/storage/ai-limits/provider.js +56 -57
  586. package/dist/storage/ai-limits/provider.js.map +1 -1
  587. package/dist/storage/auth/in-memory.d.ts +1 -1
  588. package/dist/storage/auth/in-memory.d.ts.map +1 -1
  589. package/dist/storage/connector-connections/provider.js +34 -36
  590. package/dist/storage/connector-connections/provider.js.map +2 -2
  591. package/dist/storage/executions/in-memory.d.ts +3 -0
  592. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  593. package/dist/storage/executions/provider.d.ts +6 -2
  594. package/dist/storage/executions/provider.d.ts.map +1 -1
  595. package/dist/storage/executions/provider.js +35 -12
  596. package/dist/storage/executions/provider.js.map +3 -3
  597. package/dist/storage/executions/run-link.d.ts +7 -0
  598. package/dist/storage/executions/run-link.d.ts.map +1 -1
  599. package/dist/storage/executions/types.d.ts +6 -2
  600. package/dist/storage/executions/types.d.ts.map +1 -1
  601. package/dist/storage/executions/validation.d.ts +8 -0
  602. package/dist/storage/executions/validation.d.ts.map +1 -1
  603. package/dist/storage/in-memory/index.d.ts +8 -0
  604. package/dist/storage/in-memory/index.d.ts.map +1 -1
  605. package/dist/storage/index.d.ts +14 -9
  606. package/dist/storage/index.d.ts.map +1 -1
  607. package/dist/storage/index.js +221 -227
  608. package/dist/storage/index.js.map +1 -1
  609. package/dist/storage/internal.d.ts +10 -0
  610. package/dist/storage/internal.d.ts.map +1 -0
  611. package/dist/storage/internal.js +47 -0
  612. package/dist/storage/internal.js.map +9 -0
  613. package/dist/storage/objects/execution-limits.d.ts +25 -0
  614. package/dist/storage/objects/execution-limits.d.ts.map +1 -0
  615. package/dist/storage/objects/guard.d.ts +16 -0
  616. package/dist/storage/objects/guard.d.ts.map +1 -0
  617. package/dist/storage/objects/in-memory/index.d.ts +3 -0
  618. package/dist/storage/objects/in-memory/index.d.ts.map +1 -0
  619. package/dist/storage/objects/in-memory/keys.d.ts +10 -0
  620. package/dist/storage/objects/in-memory/keys.d.ts.map +1 -0
  621. package/dist/storage/objects/in-memory/query.d.ts +31 -0
  622. package/dist/storage/objects/in-memory/query.d.ts.map +1 -0
  623. package/dist/storage/objects/in-memory/read-scope.d.ts +18 -0
  624. package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -0
  625. package/dist/storage/objects/in-memory/read-source.d.ts +10 -0
  626. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -0
  627. package/dist/storage/objects/in-memory/selected-reader.d.ts +9 -0
  628. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -0
  629. package/dist/storage/objects/{in-memory.d.ts → in-memory/storage.d.ts} +13 -10
  630. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -0
  631. package/dist/storage/objects/index.d.ts +4 -1
  632. package/dist/storage/objects/index.d.ts.map +1 -1
  633. package/dist/storage/objects/keys.d.ts +1 -1
  634. package/dist/storage/objects/keys.d.ts.map +1 -1
  635. package/dist/storage/objects/read-scope.d.ts +25 -0
  636. package/dist/storage/objects/read-scope.d.ts.map +1 -0
  637. package/dist/storage/objects/types.d.ts +114 -22
  638. package/dist/storage/objects/types.d.ts.map +1 -1
  639. package/dist/storage/ontology/provider.js +105 -109
  640. package/dist/storage/ontology/provider.js.map +1 -1
  641. package/dist/storage/operation-scope.d.ts +3 -0
  642. package/dist/storage/operation-scope.d.ts.map +1 -1
  643. package/dist/storage/operation-scope.js +18 -17
  644. package/dist/storage/operation-scope.js.map +1 -1
  645. package/dist/storage/pipeline-runs/provider.js +4 -6
  646. package/dist/storage/pipeline-runs/provider.js.map +1 -1
  647. package/dist/storage/projection-runs/provider.js +66 -70
  648. package/dist/storage/projection-runs/provider.js.map +1 -1
  649. package/dist/storage/share-grants/errors.d.ts +8 -0
  650. package/dist/storage/share-grants/errors.d.ts.map +1 -0
  651. package/dist/storage/share-grants/in-memory.d.ts +11 -0
  652. package/dist/storage/share-grants/in-memory.d.ts.map +1 -0
  653. package/dist/storage/share-grants/index.d.ts +5 -0
  654. package/dist/storage/share-grants/index.d.ts.map +1 -0
  655. package/dist/storage/share-grants/provider.d.ts +4 -0
  656. package/dist/storage/share-grants/provider.d.ts.map +1 -0
  657. package/dist/storage/share-grants/provider.js +22 -0
  658. package/dist/storage/share-grants/provider.js.map +9 -0
  659. package/dist/storage/share-grants/record.d.ts +11 -0
  660. package/dist/storage/share-grants/record.d.ts.map +1 -0
  661. package/dist/storage/share-grants/types.d.ts +97 -0
  662. package/dist/storage/share-grants/types.d.ts.map +1 -0
  663. package/dist/storage/share-sessions/errors.d.ts +8 -0
  664. package/dist/storage/share-sessions/errors.d.ts.map +1 -0
  665. package/dist/storage/share-sessions/in-memory.d.ts +14 -0
  666. package/dist/storage/share-sessions/in-memory.d.ts.map +1 -0
  667. package/dist/storage/share-sessions/index.d.ts +5 -0
  668. package/dist/storage/share-sessions/index.d.ts.map +1 -0
  669. package/dist/storage/share-sessions/provider.d.ts +3 -0
  670. package/dist/storage/share-sessions/provider.d.ts.map +1 -0
  671. package/dist/storage/share-sessions/provider.js +19 -0
  672. package/dist/storage/share-sessions/provider.js.map +9 -0
  673. package/dist/storage/share-sessions/record.d.ts +8 -0
  674. package/dist/storage/share-sessions/record.d.ts.map +1 -0
  675. package/dist/storage/share-sessions/types.d.ts +50 -0
  676. package/dist/storage/share-sessions/types.d.ts.map +1 -0
  677. package/dist/storage/sync-runs/provider.js +4 -6
  678. package/dist/storage/sync-runs/provider.js.map +1 -1
  679. package/dist/storage/transaction.d.ts +2 -1
  680. package/dist/storage/transaction.d.ts.map +1 -1
  681. package/dist/storage/types.d.ts +8 -0
  682. package/dist/storage/types.d.ts.map +1 -1
  683. package/dist/storage/webhook-runs/provider.js +4 -6
  684. package/dist/storage/webhook-runs/provider.js.map +1 -1
  685. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  686. package/dist/storage/workflow-runs/provider.js +13 -18
  687. package/dist/storage/workflow-runs/provider.js.map +1 -1
  688. package/dist/storage/workflow-runs/types.d.ts +0 -3
  689. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  690. package/dist/syncs/execution.d.ts.map +1 -1
  691. package/dist/syncs/index.js +55 -62
  692. package/dist/syncs/index.js.map +1 -1
  693. package/dist/syncs/request.d.ts.map +1 -1
  694. package/dist/testing/action-execution.d.ts +4 -1
  695. package/dist/testing/action-execution.d.ts.map +1 -1
  696. package/dist/testing/agent-execution.d.ts +1 -0
  697. package/dist/testing/agent-execution.d.ts.map +1 -1
  698. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  699. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
  700. package/dist/testing/dataset-sequence-contract.d.ts +4 -0
  701. package/dist/testing/dataset-sequence-contract.d.ts.map +1 -0
  702. package/dist/testing/effective-storage-contract.d.ts.map +1 -1
  703. package/dist/testing/execution-storage-contract.d.ts +4 -0
  704. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  705. package/dist/testing/execution.d.ts +1 -0
  706. package/dist/testing/execution.d.ts.map +1 -1
  707. package/dist/testing/index.d.ts +3 -0
  708. package/dist/testing/index.d.ts.map +1 -1
  709. package/dist/testing/index.js +3087 -1328
  710. package/dist/testing/index.js.map +17 -13
  711. package/dist/testing/lake-merge-storage-contract.d.ts +1 -0
  712. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
  713. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  714. package/dist/testing/object-read-scope-contract.d.ts +22 -0
  715. package/dist/testing/object-read-scope-contract.d.ts.map +1 -0
  716. package/dist/testing/share-grant-storage-contract.d.ts +10 -0
  717. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -0
  718. package/dist/testing/share-session-storage-contract.d.ts +9 -0
  719. package/dist/testing/share-session-storage-contract.d.ts.map +1 -0
  720. package/dist/testing/workflow-execution.d.ts +1 -0
  721. package/dist/testing/workflow-execution.d.ts.map +1 -1
  722. package/dist/webhooks/internal.js +51 -56
  723. package/dist/webhooks/internal.js.map +2 -2
  724. package/dist/workers/index.js +11 -13
  725. package/dist/workers/index.js.map +2 -2
  726. package/dist/workflows/execution.d.ts.map +1 -1
  727. package/dist/workflows/failure.d.ts +2 -0
  728. package/dist/workflows/failure.d.ts.map +1 -1
  729. package/dist/workflows/index.js +135 -140
  730. package/dist/workflows/index.js.map +1 -1
  731. package/dist/workflows/request.d.ts.map +1 -1
  732. package/dist/workflows/run-dispatch.d.ts +0 -1
  733. package/dist/workflows/run-dispatch.d.ts.map +1 -1
  734. package/dist/workflows/types.d.ts +2 -0
  735. package/dist/workflows/types.d.ts.map +1 -1
  736. package/package.json +72 -30
  737. package/src/actions/delegated-admission.ts +72 -0
  738. package/src/actions/descriptor.ts +58 -0
  739. package/src/actions/execution.ts +99 -24
  740. package/src/actions/request.ts +136 -19
  741. package/src/actions/run-authorization.ts +53 -0
  742. package/src/actions/run-dispatch.ts +10 -7
  743. package/src/actions/types/context.ts +2 -0
  744. package/src/actions/validation.ts +2 -1
  745. package/src/agents/adapters.ts +34 -429
  746. package/src/agents/authority.ts +3 -4
  747. package/src/agents/{context.ts → context/entries.ts} +4 -4
  748. package/src/agents/context/index.ts +15 -0
  749. package/src/agents/context-model.ts +1 -1
  750. package/src/agents/context-resolution.ts +2 -5
  751. package/src/agents/errors.ts +0 -10
  752. package/src/agents/execution.ts +13 -5
  753. package/src/agents/identity.ts +4 -0
  754. package/src/agents/index.ts +5 -24
  755. package/src/agents/message.ts +5 -6
  756. package/src/agents/model-loop.ts +62 -6
  757. package/src/agents/request.ts +27 -29
  758. package/src/agents/streams/index.ts +18 -0
  759. package/src/agents/streams/internal.ts +19 -0
  760. package/src/agents/{streams.ts → streams/protocol.ts} +5 -5
  761. package/src/agents/tool-definition.ts +0 -19
  762. package/src/agents/types.ts +1 -1
  763. package/src/agents/validation.ts +9 -72
  764. package/src/ai-usage/execution.ts +4 -11
  765. package/src/auth/index.ts +0 -1
  766. package/src/authorization/decision.ts +29 -14
  767. package/src/authorization/grant-kinds.ts +10 -0
  768. package/src/authorization/index.ts +1 -0
  769. package/src/bootstrap/discovery.ts +84 -24
  770. package/src/bootstrap/index.ts +8 -1
  771. package/src/bootstrap/ontology-type-manifest.ts +12 -6
  772. package/src/datasets/builders.ts +23 -2
  773. package/src/datasets/changes.ts +16 -4
  774. package/src/datasets/execution.ts +76 -5
  775. package/src/datasets/index.ts +1 -0
  776. package/src/datasets/sequence.ts +77 -0
  777. package/src/datasets/types.ts +1 -0
  778. package/src/datasets/validation.ts +26 -0
  779. package/src/datasets/write.ts +240 -0
  780. package/src/errors/internal.ts +90 -10
  781. package/src/errors/redaction.ts +98 -0
  782. package/src/errors/types.ts +4 -0
  783. package/src/events/execution.ts +57 -7
  784. package/src/events/types/datasets.ts +2 -6
  785. package/src/execution/agent.ts +6 -7
  786. package/src/execution/authorization.ts +470 -90
  787. package/src/execution/authorized-object-reader.ts +695 -0
  788. package/src/execution/durable.ts +21 -3
  789. package/src/execution/index.ts +1 -0
  790. package/src/execution/primitive.ts +5 -1
  791. package/src/execution/request.ts +66 -13
  792. package/src/execution/scopes.ts +36 -6
  793. package/src/execution/types.ts +8 -0
  794. package/src/http/api-routes.ts +45 -0
  795. package/src/index.ts +56 -33
  796. package/src/lake-storage/definition-updates.ts +9 -0
  797. package/src/lake-storage/errors.ts +6 -1
  798. package/src/lake-storage/in-memory.ts +53 -17
  799. package/src/lake-storage/index.ts +10 -1
  800. package/src/lake-storage/merge-validation.ts +12 -2
  801. package/src/lake-storage/merge.ts +40 -2
  802. package/src/lake-storage/source-ordering.ts +95 -0
  803. package/src/lake-storage/sql-transforms.ts +2 -1
  804. package/src/lake-storage/types.ts +10 -5
  805. package/src/lake-storage/version-inputs.ts +14 -0
  806. package/src/logging/index.ts +2 -33
  807. package/src/logging/internal.ts +43 -0
  808. package/src/models/errors.ts +12 -0
  809. package/src/models/execution/binding.ts +29 -0
  810. package/src/models/execution/errors.ts +18 -0
  811. package/src/models/execution/index.ts +26 -0
  812. package/src/models/execution/model-call-accounting.ts +211 -0
  813. package/src/models/execution/model-call-admission.ts +127 -0
  814. package/src/models/execution/model-call-limits.ts +135 -0
  815. package/src/models/execution/model-call-recorder.ts +235 -0
  816. package/src/models/execution/model-call-recovery.ts +125 -0
  817. package/src/models/execution/recovery-queue.ts +31 -0
  818. package/src/models/execution/types.ts +58 -0
  819. package/src/models/execution/usage.ts +23 -0
  820. package/src/models/execution.ts +207 -0
  821. package/src/models/generation-types.ts +50 -0
  822. package/src/models/index.ts +8 -0
  823. package/src/models/language-model.ts +3 -0
  824. package/src/models/output.ts +45 -0
  825. package/src/models/resolve.ts +27 -0
  826. package/src/objects/authorized-ontology-view.ts +512 -0
  827. package/src/objects/execution.ts +99 -144
  828. package/src/objects/link/authorization.ts +3 -2
  829. package/src/objects/query/executor.ts +45 -34
  830. package/src/objects/query/links.ts +84 -25
  831. package/src/objects/query/selected-read-admission.ts +310 -0
  832. package/src/objects/query/validate.ts +353 -36
  833. package/src/objects/sdk/object-handle.ts +2 -8
  834. package/src/objects/sdk/object-set.ts +10 -11
  835. package/src/objects/sdk/runtime-query-executor.ts +8 -28
  836. package/src/objects/sdk/telemetry-channel.ts +11 -7
  837. package/src/objects/service/list-service.ts +15 -29
  838. package/src/objects/telemetry/history.ts +297 -17
  839. package/src/objects/telemetry/index.ts +2 -2
  840. package/src/objects/telemetry/workload.ts +79 -0
  841. package/src/ontology/index.ts +7 -2
  842. package/src/ontology/inference/index.ts +4 -1
  843. package/src/ontology/internal.ts +35 -1
  844. package/src/ontology/json-schema.ts +13 -12
  845. package/src/ontology/link-path-selection.ts +193 -0
  846. package/src/ontology/refs.ts +19 -0
  847. package/src/ontology/tokens.ts +15 -8
  848. package/src/pipelines/execution.ts +30 -7
  849. package/src/pipelines/request.ts +5 -0
  850. package/src/projections/execution.ts +72 -11
  851. package/src/projections/run-dispatch.ts +7 -12
  852. package/src/query.ts +0 -1
  853. package/src/queues/index.ts +4 -2
  854. package/src/queues/types.ts +6 -25
  855. package/src/rules/execution.ts +20 -8
  856. package/src/runtime/create.ts +7 -2
  857. package/src/runtime/definitions.ts +2 -0
  858. package/src/runtime/host.ts +27 -7
  859. package/src/runtime/internal.ts +1 -0
  860. package/src/runtime/resolve-definitions.ts +9 -0
  861. package/src/runtime/sixb.ts +27 -2
  862. package/src/runtime/types.ts +3 -0
  863. package/src/sandboxes/errors.ts +5 -0
  864. package/src/sandboxes/index.ts +3 -0
  865. package/src/sandboxes/sandbox.ts +35 -7
  866. package/src/schedules/execution.ts +24 -2
  867. package/src/security/every.ts +4 -0
  868. package/src/security/grants.ts +45 -3
  869. package/src/security/index.ts +1 -0
  870. package/src/security/registry.ts +3 -0
  871. package/src/security/types.ts +8 -0
  872. package/src/security/validation.ts +3 -0
  873. package/src/shares/access-plan.ts +225 -0
  874. package/src/shares/builders.ts +381 -0
  875. package/src/shares/compiler.ts +359 -0
  876. package/src/shares/errors.ts +3 -0
  877. package/src/shares/execution.ts +394 -0
  878. package/src/shares/index.ts +28 -0
  879. package/src/shares/internal.ts +9 -0
  880. package/src/shares/intersection.ts +178 -0
  881. package/src/shares/session-protocol.ts +258 -0
  882. package/src/shares/types.ts +76 -0
  883. package/src/shares/validation.ts +40 -0
  884. package/src/storage/agents/in-memory.ts +0 -3
  885. package/src/storage/agents/types.ts +0 -3
  886. package/src/storage/ai-cost/analytics.ts +1 -1
  887. package/src/storage/ai-cost/attribution.ts +15 -0
  888. package/src/storage/ai-cost/groups.ts +5 -1
  889. package/src/storage/ai-cost/provider.ts +1 -0
  890. package/src/storage/ai-cost/types.ts +7 -0
  891. package/src/storage/auth/in-memory.ts +1 -1
  892. package/src/storage/executions/in-memory.ts +13 -10
  893. package/src/storage/executions/provider.ts +34 -1
  894. package/src/storage/executions/run-link.ts +29 -0
  895. package/src/storage/executions/types.ts +6 -2
  896. package/src/storage/executions/validation.ts +78 -1
  897. package/src/storage/in-memory/index.ts +37 -3
  898. package/src/storage/index.ts +54 -29
  899. package/src/storage/internal.ts +20 -0
  900. package/src/storage/objects/execution-limits.ts +283 -0
  901. package/src/storage/objects/guard.ts +55 -0
  902. package/src/storage/objects/in-memory/index.ts +2 -0
  903. package/src/storage/objects/in-memory/keys.ts +46 -0
  904. package/src/storage/objects/in-memory/query.ts +754 -0
  905. package/src/storage/objects/in-memory/read-scope.ts +211 -0
  906. package/src/storage/objects/in-memory/read-source.ts +10 -0
  907. package/src/storage/objects/in-memory/selected-reader.ts +252 -0
  908. package/src/storage/objects/in-memory/storage.ts +589 -0
  909. package/src/storage/objects/index.ts +21 -0
  910. package/src/storage/objects/keys.ts +1 -1
  911. package/src/storage/objects/read-scope.ts +672 -0
  912. package/src/storage/objects/types.ts +123 -19
  913. package/src/storage/operation-scope.ts +16 -0
  914. package/src/storage/share-grants/errors.ts +14 -0
  915. package/src/storage/share-grants/in-memory.ts +107 -0
  916. package/src/storage/share-grants/index.ts +14 -0
  917. package/src/storage/share-grants/provider.ts +11 -0
  918. package/src/storage/share-grants/record.ts +347 -0
  919. package/src/storage/share-grants/types.ts +112 -0
  920. package/src/storage/share-sessions/errors.ts +14 -0
  921. package/src/storage/share-sessions/in-memory.ts +105 -0
  922. package/src/storage/share-sessions/index.ts +11 -0
  923. package/src/storage/share-sessions/provider.ts +9 -0
  924. package/src/storage/share-sessions/record.ts +176 -0
  925. package/src/storage/share-sessions/types.ts +57 -0
  926. package/src/storage/transaction.ts +14 -2
  927. package/src/storage/types.ts +27 -0
  928. package/src/storage/workflow-runs/in-memory.ts +0 -2
  929. package/src/storage/workflow-runs/types.ts +0 -3
  930. package/src/syncs/execution.ts +25 -5
  931. package/src/syncs/request.ts +5 -0
  932. package/src/testing/action-execution.ts +9 -2
  933. package/src/testing/agent-execution.ts +3 -0
  934. package/src/testing/agent-storage-contract.ts +0 -5
  935. package/src/testing/ai-model-call-groups-contract.ts +74 -2
  936. package/src/testing/dataset-sequence-contract.ts +373 -0
  937. package/src/testing/effective-storage-contract.ts +34 -0
  938. package/src/testing/execution-storage-contract.ts +138 -1
  939. package/src/testing/execution.ts +6 -0
  940. package/src/testing/index.ts +16 -0
  941. package/src/testing/lake-merge-storage-contract.ts +3 -0
  942. package/src/testing/lake-storage-contract.ts +58 -0
  943. package/src/testing/object-read-scope-contract.ts +939 -0
  944. package/src/testing/share-grant-storage-contract.ts +325 -0
  945. package/src/testing/share-session-storage-contract.ts +235 -0
  946. package/src/testing/workflow-execution.ts +4 -0
  947. package/src/workflows/execution.ts +53 -14
  948. package/src/workflows/failure.ts +62 -1
  949. package/src/workflows/request.ts +5 -9
  950. package/src/workflows/run-dispatch.ts +0 -3
  951. package/src/workflows/types.ts +2 -0
  952. package/src/workflows/validation.ts +1 -1
  953. package/dist/agents/context.d.ts.map +0 -1
  954. package/dist/agents/context.js +0 -23
  955. package/dist/agents/streams.d.ts.map +0 -1
  956. package/dist/agents/streams.js +0 -55
  957. package/dist/chunk-08m3b6w8.js +0 -32
  958. package/dist/chunk-08twe8m6.js +0 -218
  959. package/dist/chunk-2b5qtban.js.map +0 -14
  960. package/dist/chunk-2xns679x.js.map +0 -11
  961. package/dist/chunk-37wk412q.js +0 -1370
  962. package/dist/chunk-37wk412q.js.map +0 -23
  963. package/dist/chunk-3fqt22c4.js.map +0 -14
  964. package/dist/chunk-3kv70xwp.js.map +0 -10
  965. package/dist/chunk-407j3msh.js +0 -60
  966. package/dist/chunk-64sr682n.js.map +0 -12
  967. package/dist/chunk-6ed5bwnd.js.map +0 -57
  968. package/dist/chunk-7ds9620f.js.map +0 -10
  969. package/dist/chunk-7y0f6rf1.js.map +0 -10
  970. package/dist/chunk-atmkaf60.js.map +0 -11
  971. package/dist/chunk-c15dr03f.js +0 -43
  972. package/dist/chunk-d8qkxt2v.js.map +0 -10
  973. package/dist/chunk-dqn23610.js +0 -72
  974. package/dist/chunk-dqn23610.js.map +0 -11
  975. package/dist/chunk-e4rvtvpw.js.map +0 -34
  976. package/dist/chunk-gbrpsx4m.js.map +0 -11
  977. package/dist/chunk-h0knpbz5.js +0 -2486
  978. package/dist/chunk-h0knpbz5.js.map +0 -38
  979. package/dist/chunk-hdz94br2.js.map +0 -10
  980. package/dist/chunk-jq43kdvk.js +0 -50
  981. package/dist/chunk-n2arzn6e.js +0 -1745
  982. package/dist/chunk-n2arzn6e.js.map +0 -20
  983. package/dist/chunk-p03r0h5s.js.map +0 -16
  984. package/dist/chunk-qjzp9xyb.js.map +0 -12
  985. package/dist/chunk-tn7xcs2n.js.map +0 -13
  986. package/dist/chunk-wjgm6jjt.js.map +0 -13
  987. package/dist/chunk-xc7hq65b.js.map +0 -10
  988. package/dist/chunk-y35ma3mj.js +0 -551
  989. package/dist/chunk-y35ma3mj.js.map +0 -15
  990. package/dist/chunk-y64skrwp.js +0 -19
  991. package/dist/chunk-z2sery1b.js.map +0 -11
  992. package/dist/chunk-zcnhxkvd.js +0 -7
  993. package/dist/logging/types.js +0 -27
  994. package/dist/logging/types.js.map +0 -9
  995. package/dist/storage/objects/in-memory.d.ts.map +0 -1
  996. package/src/storage/objects/in-memory.ts +0 -1241
  997. /package/dist/{chunk-zqqz8052.js → chunk-7n30ybym.js} +0 -0
  998. /package/dist/{chunk-zqqz8052.js.map → chunk-7n30ybym.js.map} +0 -0
  999. /package/dist/{chunk-4a849fr1.js.map → chunk-9tc8dxmn.js.map} +0 -0
@@ -0,0 +1,1537 @@
1
+ // @bun
2
+ import {
3
+ MAX_OBJECT_READ_FACETS2,
4
+ assertObjectReadOutputWithinLimit2,
5
+ resolveRuntimeAuthorizationForProject,
6
+ getAuthorizationRef,
7
+ captureExecutionScope,
8
+ resolveExecutionScopeAuthorization,
9
+ AuthorizationError2,
10
+ isAllowed2,
11
+ assertAuthorized2,
12
+ canViewActionRun2
13
+ } from "./chunk-dz5h08xv.js";
14
+ import {
15
+ createSixbError2,
16
+ toSixbFailure2
17
+ } from "./chunk-f4w3yp4f.js";
18
+ import {
19
+ ACTION_RUN_FAILURE_CODES2,
20
+ parseActionRunFailure2
21
+ } from "./chunk-b19g04jk.js";
22
+ import {
23
+ ActionRunError2
24
+ } from "./chunk-vsj3mdfj.js";
25
+ import {
26
+ isObjectActionDefinition2,
27
+ normalizeActionParams,
28
+ validateActionSubject,
29
+ resolveObjectActionSubject
30
+ } from "./chunk-g00bfdq6.js";
31
+ import {
32
+ actionSubjectsEqual2,
33
+ actionRunParamsEqual2,
34
+ isTerminalActionRun2
35
+ } from "./chunk-8vj0rjgs.js";
36
+ import {
37
+ validateObjectQuery2,
38
+ validateObjectQueryWithAdmission,
39
+ executeObjectQuery2,
40
+ countObjects2,
41
+ existsObjects2,
42
+ facetObjects2,
43
+ validateObjectFacetRequests,
44
+ preflightObjectQueryLinks,
45
+ executeObjectQueryLinks2
46
+ } from "./chunk-0w35wavj.js";
47
+ import {
48
+ reportRunFailure2
49
+ } from "./chunk-7apz6hg4.js";
50
+ import {
51
+ ObjectQueryValidationError2
52
+ } from "./chunk-5hz0fnca.js";
53
+ import {
54
+ executionRecordInputFromRuntime,
55
+ ensureExecutionRecord2,
56
+ createPrimitiveExecutionRecord
57
+ } from "./chunk-17kfctj6.js";
58
+ import {
59
+ findPrimitiveParentRequestExecution
60
+ } from "./chunk-ey1nk510.js";
61
+ import {
62
+ createPropertyTokenMap2,
63
+ createLinkTokenMap2
64
+ } from "./chunk-653vwrzr.js";
65
+ import {
66
+ OntologyValidationError2,
67
+ OntologyNotFoundError2,
68
+ formatUnknownObjectTypeMessage
69
+ } from "./chunk-cqr3acm1.js";
70
+
71
+ // src/objects/action/errors.ts
72
+ class ActionValidationError2 extends Error {
73
+ name = "ActionValidationError";
74
+ actionId;
75
+ subject;
76
+ primaryId;
77
+ constructor(message, params) {
78
+ super(message);
79
+ this.actionId = params.actionId;
80
+ this.subject = params.subject;
81
+ this.primaryId = params.subject.kind === "object" ? params.subject.primaryId : undefined;
82
+ }
83
+ }
84
+
85
+ class ActionRunFailedError2 extends Error {
86
+ name = "ActionRunFailedError";
87
+ runId;
88
+ actionId;
89
+ subject;
90
+ objectTypeId;
91
+ primaryId;
92
+ error;
93
+ finishedAt;
94
+ constructor(payload) {
95
+ super(payload.error.message);
96
+ this.runId = payload.runId;
97
+ this.actionId = payload.actionId;
98
+ this.subject = payload.subject;
99
+ this.objectTypeId = payload.subject.kind === "object" ? payload.subject.objectTypeId : undefined;
100
+ this.primaryId = payload.subject.kind === "object" ? payload.subject.primaryId : undefined;
101
+ this.error = payload.error;
102
+ this.finishedAt = payload.finishedAt;
103
+ }
104
+ }
105
+
106
+ class ActionRunTimeoutError2 extends Error {
107
+ name = "ActionRunTimeoutError";
108
+ runId;
109
+ timeoutMs;
110
+ constructor(params) {
111
+ super(`Action run '${params.runId}' did not finish within ${params.timeoutMs}ms.`);
112
+ this.runId = params.runId;
113
+ this.timeoutMs = params.timeoutMs;
114
+ }
115
+ }
116
+
117
+ // src/objects/authorized-ontology-view.ts
118
+ function createAuthorizedOntologyView(input) {
119
+ const allObjectTypes = input.ontology.listObjectTypes();
120
+ const registeredObjectTypeIds = new Set(allObjectTypes.map((objectType) => objectType.id));
121
+ const requestedObjectTypeIds = selectedObjectTypeIds(input.selection, allObjectTypes);
122
+ const visibleObjectTypeIds = new Set([...requestedObjectTypeIds].filter((objectTypeId) => registeredObjectTypeIds.has(objectTypeId)));
123
+ const selectedSchema = input.selection.kind === "selected" ? collectSelectedSchema(input.selection.scope) : undefined;
124
+ const projectedObjectTypes = [];
125
+ for (const objectType of allObjectTypes) {
126
+ if (!visibleObjectTypeIds.has(objectType.id))
127
+ continue;
128
+ const propertyIds = selectedSchema?.propertyIdsByObjectType.get(objectType.id) ?? new Set(objectType.properties.map((property) => property.id));
129
+ const links = selectedSchema ? selectedSchema.linksBySourceType.get(objectType.id) ?? new Map : input.selection.kind === "all" ? allDeclaredLinks(objectType) : allVisibleLinks(input.ontology, objectType, visibleObjectTypeIds);
130
+ projectedObjectTypes.push(projectObjectType({
131
+ objectType,
132
+ propertyIds,
133
+ links,
134
+ visibleObjectTypeIds,
135
+ ontology: input.ontology,
136
+ targetMode: input.selection.kind === "all" ? "original" : input.selection.kind === "types" ? "principal" : "exact",
137
+ exposeContracts: input.selection.kind !== "selected"
138
+ }));
139
+ }
140
+ const objectTypes = projectedObjectTypes;
141
+ const objectTypesById = new Map(objectTypes.map((objectType) => [objectType.id, objectType]));
142
+ const valueTypesById = input.selection.kind === "selected" ? collectVisibleValueTypes(input.ontology.getValueTypesById(), objectTypes) : snapshotAllValueTypes(input.ontology.getValueTypesById());
143
+ const release = (value, budgetValue = value) => {
144
+ input.assertOutputWithinLimit?.(budgetValue);
145
+ return value;
146
+ };
147
+ const cloneObjectType = (objectType) => structuredClone(objectType);
148
+ const cloneValueTypes = () => new Map([...valueTypesById].map(([valueTypeId, valueType]) => [
149
+ valueTypeId,
150
+ structuredClone(valueType)
151
+ ]));
152
+ return Object.freeze({
153
+ listObjectTypes: () => release(objectTypes.map(cloneObjectType)),
154
+ getObjectTypeById: (objectTypeId) => {
155
+ const objectType = objectTypesById.get(objectTypeId);
156
+ return release(objectType ? cloneObjectType(objectType) : null);
157
+ },
158
+ resolveObjectType: (objectTypeId) => {
159
+ const objectType = objectTypesById.get(objectTypeId);
160
+ return objectType ? release(cloneObjectType(objectType)) : unknownObjectType(objectTypeId);
161
+ },
162
+ getValueTypesById: () => {
163
+ const valueTypes = cloneValueTypes();
164
+ return release(valueTypes, [...valueTypes.entries()]);
165
+ },
166
+ getPrimaryPropertyId: (objectTypeId) => {
167
+ const objectType = objectTypesById.get(objectTypeId);
168
+ if (!objectType)
169
+ return unknownObjectType(objectTypeId);
170
+ const primary = objectType.properties.find((property) => property.primary);
171
+ if (!primary) {
172
+ throw new OntologyValidationError2(`[Sixb] Object type '${objectTypeId}' does not expose its primary property in this execution scope.`);
173
+ }
174
+ return release(primary.id);
175
+ },
176
+ listSubTypes: (objectTypeId) => {
177
+ const subTypes = visibleObjectTypeIds.has(objectTypeId) ? input.ontology.listSubTypes(objectTypeId).filter((subTypeId) => visibleObjectTypeIds.has(subTypeId)) : [];
178
+ return release(subTypes);
179
+ },
180
+ isValidLinkTarget: (expected, actual) => {
181
+ if (input.selection.kind === "all") {
182
+ return release(input.ontology.isValidLinkTarget(expected, actual));
183
+ }
184
+ if (!visibleObjectTypeIds.has(actual))
185
+ return release(false);
186
+ const expectedTypes = Array.isArray(expected) ? expected : [expected];
187
+ if (input.selection.kind === "selected") {
188
+ return release(expectedTypes.some((expectedType) => expectedType === "*" || expectedType === actual));
189
+ }
190
+ return release(expectedTypes.some((expectedType) => expectedType === "*" || visibleObjectTypeIds.has(expectedType) && input.ontology.isValidLinkTarget(expectedType, actual)));
191
+ }
192
+ });
193
+ }
194
+ function selectedObjectTypeIds(selection, allObjectTypes) {
195
+ switch (selection.kind) {
196
+ case "all":
197
+ return new Set(allObjectTypes.map((objectType) => objectType.id));
198
+ case "types":
199
+ return new Set(selection.objectTypeIds);
200
+ case "selected":
201
+ return new Set(selection.scope.objects.map((object) => object.objectTypeId));
202
+ }
203
+ }
204
+ function collectSelectedSchema(scope) {
205
+ const propertyIdsByObjectType = new Map;
206
+ for (const object of scope.objects) {
207
+ const properties = propertyIdsByObjectType.get(object.objectTypeId) ?? new Set;
208
+ for (const propertyId of object.propertyIds)
209
+ properties.add(propertyId);
210
+ propertyIdsByObjectType.set(object.objectTypeId, properties);
211
+ }
212
+ const linksBySourceType = new Map;
213
+ for (const step of scope.steps) {
214
+ const links = linksBySourceType.get(step.sourceObjectTypeId) ?? new Map;
215
+ const selected = links.get(step.linkId) ?? {
216
+ targetObjectTypeIds: new Set,
217
+ propertyIds: new Set
218
+ };
219
+ selected.targetObjectTypeIds.add(step.targetObjectTypeId);
220
+ for (const propertyId of step.propertyIds)
221
+ selected.propertyIds.add(propertyId);
222
+ links.set(step.linkId, selected);
223
+ linksBySourceType.set(step.sourceObjectTypeId, links);
224
+ }
225
+ return { propertyIdsByObjectType, linksBySourceType };
226
+ }
227
+ function allDeclaredLinks(objectType) {
228
+ return new Map(objectType.links.map((link) => [
229
+ link.id,
230
+ {
231
+ targetObjectTypeIds: new Set(typeof link.targetObjectTypeId === "string" ? [link.targetObjectTypeId] : link.targetObjectTypeId),
232
+ propertyIds: new Set(link.properties?.map((property) => property.id) ?? [])
233
+ }
234
+ ]));
235
+ }
236
+ function allVisibleLinks(ontology, objectType, visibleObjectTypeIds) {
237
+ const links = new Map;
238
+ for (const link of objectType.links) {
239
+ const targetObjectTypeIds = new Set([...visibleObjectTypeIds].filter((targetObjectTypeId) => ontology.isValidLinkTarget(link.targetObjectTypeId, targetObjectTypeId)));
240
+ if (targetObjectTypeIds.size === 0)
241
+ continue;
242
+ links.set(link.id, {
243
+ targetObjectTypeIds,
244
+ propertyIds: new Set(link.properties?.map((property) => property.id) ?? [])
245
+ });
246
+ }
247
+ return links;
248
+ }
249
+ function projectObjectType(input) {
250
+ const properties = input.objectType.properties.filter((property) => input.propertyIds.has(property.id)).map(snapshotProperty);
251
+ const visiblePropertyIds = new Set(properties.map((property) => property.id));
252
+ const links = input.objectType.links.flatMap((link) => {
253
+ const selected = input.links.get(link.id);
254
+ if (!selected)
255
+ return [];
256
+ if (input.targetMode === "original") {
257
+ return [snapshotLink(link, snapshotLinkTarget(link.targetObjectTypeId), selected.propertyIds)];
258
+ }
259
+ const targetObjectTypeIds = new Set([...selected.targetObjectTypeIds].filter((targetObjectTypeId) => input.visibleObjectTypeIds.has(targetObjectTypeId) && input.ontology.isValidLinkTarget(link.targetObjectTypeId, targetObjectTypeId)));
260
+ if (targetObjectTypeIds.size === 0)
261
+ return [];
262
+ const target = input.targetMode === "principal" ? principalLinkTargets(link, targetObjectTypeIds, input.visibleObjectTypeIds) : exactLinkTargets(targetObjectTypeIds);
263
+ return [snapshotLink(link, target, selected.propertyIds, { omitEmptyProperties: true })];
264
+ });
265
+ const projected = {
266
+ id: input.objectType.id,
267
+ name: input.objectType.name,
268
+ description: input.objectType.description,
269
+ quantityKind: input.objectType.quantityKind,
270
+ seeAlso: input.objectType.seeAlso ? [...input.objectType.seeAlso] : undefined,
271
+ extends: input.objectType.extends && input.visibleObjectTypeIds.has(input.objectType.extends) ? input.objectType.extends : undefined,
272
+ parents: projectOptionalIds(input.objectType.parents, input.visibleObjectTypeIds, input.targetMode === "original"),
273
+ implements: input.exposeContracts && input.objectType.implements ? [...input.objectType.implements] : undefined,
274
+ properties,
275
+ links,
276
+ search: projectSearch(input.objectType.search, visiblePropertyIds, {
277
+ preserveEmpty: input.targetMode !== "exact"
278
+ })
279
+ };
280
+ const withTokens = {
281
+ ...projected,
282
+ p: createPropertyTokenMap2(projected),
283
+ l: createLinkTokenMap2(projected)
284
+ };
285
+ return deepFreeze(withTokens);
286
+ }
287
+ function principalLinkTargets(link, allowedTargetObjectTypeIds, visibleObjectTypeIds) {
288
+ if (link.targetObjectTypeId === "*")
289
+ return exactLinkTargets(allowedTargetObjectTypeIds);
290
+ const declared = Array.isArray(link.targetObjectTypeId) ? link.targetObjectTypeId : [link.targetObjectTypeId];
291
+ if (declared.every((objectTypeId) => visibleObjectTypeIds.has(objectTypeId))) {
292
+ return snapshotLinkTarget(link.targetObjectTypeId);
293
+ }
294
+ return exactLinkTargets(allowedTargetObjectTypeIds);
295
+ }
296
+ function exactLinkTargets(targetObjectTypeIds) {
297
+ const targets = [...targetObjectTypeIds].sort();
298
+ return targets.length === 1 ? targets[0] : targets;
299
+ }
300
+ function projectOptionalIds(ids, visibleObjectTypeIds, preserveOriginal) {
301
+ if (!ids)
302
+ return;
303
+ if (preserveOriginal)
304
+ return [...ids];
305
+ const visible = ids.filter((id) => visibleObjectTypeIds.has(id));
306
+ return visible.length > 0 ? visible : undefined;
307
+ }
308
+ function snapshotLink(link, targetObjectTypeId, propertyIds, options = {}) {
309
+ const properties = link.properties?.filter((property) => propertyIds.has(property.id)).map(snapshotProperty);
310
+ return {
311
+ id: link.id,
312
+ name: link.name,
313
+ description: link.description,
314
+ targetObjectTypeId,
315
+ cardinality: link.cardinality,
316
+ properties: options.omitEmptyProperties && properties?.length === 0 ? undefined : properties
317
+ };
318
+ }
319
+ function snapshotLinkTarget(target) {
320
+ return typeof target === "string" ? target : [...target];
321
+ }
322
+ function snapshotProperty(property) {
323
+ return {
324
+ id: property.id,
325
+ name: property.name,
326
+ schema: snapshotSchema(property.schema),
327
+ description: property.description,
328
+ required: property.required,
329
+ nullable: property.nullable,
330
+ primary: property.primary,
331
+ mode: property.mode,
332
+ semanticType: property.semanticType,
333
+ query: snapshotPropertyQuery(property.query)
334
+ };
335
+ }
336
+ function snapshotPropertyQuery(query) {
337
+ if (!query)
338
+ return;
339
+ return {
340
+ searchable: query.searchable,
341
+ filterable: query.filterable,
342
+ sortable: query.sortable,
343
+ text: query.text,
344
+ exact: query.exact,
345
+ facet: query.facet,
346
+ vector: query.vector,
347
+ weight: query.weight
348
+ };
349
+ }
350
+ function projectSearch(search, visiblePropertyIds, options) {
351
+ if (!search)
352
+ return;
353
+ const title = search.title && visiblePropertyIds.has(search.title) ? search.title : undefined;
354
+ const selectedDefaultText = search.defaultText?.filter((propertyId) => visiblePropertyIds.has(propertyId));
355
+ const selectedExact = search.exact?.filter((propertyId) => visiblePropertyIds.has(propertyId));
356
+ const defaultText = options.preserveEmpty || selectedDefaultText?.length ? selectedDefaultText : undefined;
357
+ const exact = options.preserveEmpty || selectedExact?.length ? selectedExact : undefined;
358
+ const vector = search.vector && visiblePropertyIds.has(search.vector.property) && search.vector.source.every((propertyId) => visiblePropertyIds.has(propertyId)) ? { property: search.vector.property, source: [...search.vector.source] } : undefined;
359
+ const projected = {
360
+ ...title === undefined ? {} : { title },
361
+ ...defaultText === undefined ? {} : { defaultText },
362
+ ...exact === undefined ? {} : { exact },
363
+ ...vector === undefined ? {} : { vector }
364
+ };
365
+ return Object.keys(projected).length > 0 || options.preserveEmpty ? projected : undefined;
366
+ }
367
+ function snapshotAllValueTypes(registered) {
368
+ return new Map([...registered.values()].map((valueType) => {
369
+ const snapshot = snapshotValueType(valueType);
370
+ return [snapshot.id, snapshot];
371
+ }));
372
+ }
373
+ function collectVisibleValueTypes(registered, objectTypes) {
374
+ const referencedIds = new Set;
375
+ const pendingSchemas = [];
376
+ const visitedSchemas = new Set;
377
+ for (const objectType of objectTypes) {
378
+ for (const property of objectType.properties)
379
+ pendingSchemas.push(property.schema);
380
+ for (const link of objectType.links) {
381
+ for (const property of link.properties ?? [])
382
+ pendingSchemas.push(property.schema);
383
+ }
384
+ }
385
+ while (pendingSchemas.length > 0) {
386
+ const schema = pendingSchemas.pop();
387
+ if (typeof schema === "string" || visitedSchemas.has(schema))
388
+ continue;
389
+ visitedSchemas.add(schema);
390
+ if (schema.type === "valueTypeRef") {
391
+ if (!referencedIds.has(schema.valueTypeId)) {
392
+ referencedIds.add(schema.valueTypeId);
393
+ const valueType = registered.get(schema.valueTypeId);
394
+ if (valueType)
395
+ pendingSchemas.push(valueType.schema);
396
+ }
397
+ if (schema._resolved)
398
+ pendingSchemas.push(schema._resolved);
399
+ } else if (schema.type === "object") {
400
+ for (const field of Object.values(schema.properties))
401
+ pendingSchemas.push(field.schema);
402
+ } else if (schema.type === "array") {
403
+ pendingSchemas.push(schema.items);
404
+ } else if (schema.type === "map") {
405
+ pendingSchemas.push(schema.valueSchema);
406
+ }
407
+ }
408
+ return new Map([...referencedIds].map((valueTypeId) => registered.get(valueTypeId)).filter((valueType) => valueType !== undefined).map((valueType) => {
409
+ const snapshot = snapshotValueType(valueType);
410
+ return [snapshot.id, snapshot];
411
+ }));
412
+ }
413
+ function snapshotValueType(valueType) {
414
+ return deepFreeze({
415
+ id: valueType.id,
416
+ name: valueType.name,
417
+ description: valueType.description,
418
+ schema: snapshotSchema(valueType.schema),
419
+ semanticType: valueType.semanticType
420
+ });
421
+ }
422
+ function snapshotSchema(schema) {
423
+ return deepFreeze(structuredClone(schema));
424
+ }
425
+ function deepFreeze(value, seen = new Set) {
426
+ if (typeof value !== "object" || value === null || seen.has(value))
427
+ return value;
428
+ seen.add(value);
429
+ for (const key of Reflect.ownKeys(value)) {
430
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
431
+ if (descriptor && "value" in descriptor)
432
+ deepFreeze(descriptor.value, seen);
433
+ }
434
+ return Object.freeze(value);
435
+ }
436
+ function unknownObjectType(objectTypeId) {
437
+ throw new OntologyNotFoundError2(formatUnknownObjectTypeMessage(objectTypeId));
438
+ }
439
+
440
+ // src/objects/query/selected-read-admission.ts
441
+ var selectedStateBrand = Symbol("sixb.selected-object-query-admission-state");
442
+ function createSelectedObjectQueryAdmission(scope) {
443
+ const selectionByKey = new Map;
444
+ const selectionsByType = new Map;
445
+ const propertiesBySelection = new Map;
446
+ for (const selection of scope.objects) {
447
+ const key = selectionKey(selection.nodeId, selection.objectTypeId);
448
+ selectionByKey.set(key, selection);
449
+ propertiesBySelection.set(key, new Set(selection.propertyIds));
450
+ const byType = selectionsByType.get(selection.objectTypeId) ?? [];
451
+ byType.push(selection);
452
+ selectionsByType.set(selection.objectTypeId, byType);
453
+ }
454
+ const outgoing = indexSteps(scope.steps, "outgoing", selectionByKey);
455
+ const incoming = indexSteps(scope.steps, "incoming", selectionByKey);
456
+ const emptyState = selectedState([]);
457
+ const admission = {
458
+ empty: () => emptyState,
459
+ source: (input) => {
460
+ const selections = input.result.objectTypeIds.flatMap((objectTypeId) => selectionsByType.get(objectTypeId) ?? []);
461
+ const state = selectedState(selections);
462
+ if (input.kind === "refs") {
463
+ const missingType = [...new Set(input.refs?.map((ref) => ref.objectTypeId) ?? [])].sort().find((objectTypeId) => !selectionsByType.has(objectTypeId));
464
+ if (missingType) {
465
+ return denied(state, new AuthorizationError2(`view:object:${missingType}`, `[Sixb] Delegated query cannot reference object type '${missingType}' at '${input.path}': the selected object scope does not contain that type.`));
466
+ }
467
+ }
468
+ if (state.selections.length > 0)
469
+ return { state };
470
+ const objectTypeId = input.objectTypeId ?? input.result.objectTypeIds[0] ?? "unknown";
471
+ return denied(state, new AuthorizationError2(`view:object:${objectTypeId}`, `[Sixb] Delegated query cannot start from object type '${objectTypeId}' at '${input.path}': the selected object scope does not contain that type.`));
472
+ },
473
+ property: (input) => propertyDenial(asSelectedState(input.state), input.propertyId, input.objectTypeId, input.use, input.path, propertiesBySelection),
474
+ edge: (input) => {
475
+ const state = asSelectedState(input.state);
476
+ const next = followEdge(state, input.linkId, input.direction, input.sourceObjectTypeId, outgoing, incoming, input.result.objectTypeIds);
477
+ if (next.selections.length > 0 || state.selections.length === 0)
478
+ return { state: next };
479
+ return denied(next, edgeDenial(state, input.linkId, input.direction, input.sourceObjectTypeId, input.use, input.path));
480
+ },
481
+ set: ({ op, states }) => {
482
+ if (op === "subtract")
483
+ return asSelectedState(states[0] ?? emptyState);
484
+ return selectedState(states.flatMap((state) => asSelectedState(state).selections));
485
+ },
486
+ assertPropertySelected: (input) => {
487
+ const denial = propertyDenial(asSelectedState(input.state), input.propertyId, input.objectTypeId, input.use, input.path, propertiesBySelection);
488
+ if (denial)
489
+ throw denial;
490
+ },
491
+ assertIncidentEdgeSelected: (input) => {
492
+ if (input.linkId === undefined)
493
+ return;
494
+ const state = asSelectedState(input.state);
495
+ const directions = input.direction === "both" ? ["outgoing", "incoming"] : [input.direction];
496
+ const next = selectedState(directions.flatMap((direction) => followEdge(state, input.linkId, direction, undefined, outgoing, incoming).selections));
497
+ if (next.selections.length > 0 || state.selections.length === 0)
498
+ return;
499
+ throw edgeDenial(state, input.linkId, input.direction, undefined, "queryLinks", input.path);
500
+ }
501
+ };
502
+ return Object.freeze(admission);
503
+ }
504
+ function indexSteps(steps, direction, selectionByKey) {
505
+ const index = new Map;
506
+ for (const step of steps) {
507
+ const fromKey = direction === "outgoing" ? selectionKey(step.parentNodeId, step.sourceObjectTypeId) : selectionKey(step.nodeId, step.targetObjectTypeId);
508
+ const toKey = direction === "outgoing" ? selectionKey(step.nodeId, step.targetObjectTypeId) : selectionKey(step.parentNodeId, step.sourceObjectTypeId);
509
+ const target = selectionByKey.get(toKey);
510
+ if (!selectionByKey.has(fromKey) || !target) {
511
+ throw new Error("[Sixb] Compiled selected object scope contains an invalid query path step.");
512
+ }
513
+ const key = edgeKey(direction === "outgoing" ? step.parentNodeId : step.nodeId, direction === "outgoing" ? step.sourceObjectTypeId : step.targetObjectTypeId, step.linkId);
514
+ const targets = index.get(key) ?? [];
515
+ targets.push(target);
516
+ index.set(key, targets);
517
+ }
518
+ return index;
519
+ }
520
+ function followEdge(state, linkId, direction, sourceObjectTypeId, outgoing, incoming, resultObjectTypeIds) {
521
+ const index = direction === "outgoing" ? outgoing : incoming;
522
+ const resultTypes = resultObjectTypeIds ? new Set(resultObjectTypeIds) : undefined;
523
+ const selections = state.selections.flatMap((selection) => {
524
+ const candidates = index.get(edgeKey(selection.nodeId, selection.objectTypeId, linkId)) ?? [];
525
+ return candidates.filter((candidate) => (resultTypes === undefined || resultTypes.has(candidate.objectTypeId)) && (direction === "outgoing" || sourceObjectTypeId === undefined || candidate.objectTypeId === sourceObjectTypeId));
526
+ });
527
+ return selectedState(selections);
528
+ }
529
+ function propertyDenial(state, propertyId, objectTypeId, use, path, propertiesBySelection) {
530
+ const candidates = objectTypeId ? state.selections.filter((selection) => selection.objectTypeId === objectTypeId) : state.selections;
531
+ if (candidates.length === 0)
532
+ return;
533
+ const missing = candidates.find((selection) => !propertiesBySelection.get(selectionKey(selection.nodeId, selection.objectTypeId))?.has(propertyId));
534
+ if (!missing)
535
+ return;
536
+ const objectTypeIds = [...new Set(candidates.map((selection) => selection.objectTypeId))].sort();
537
+ return new AuthorizationError2(`view:object:${objectTypeIds.join(",")}:property:${propertyId}`, `[Sixb] Delegated query cannot use property '${propertyId}' for ${use} at '${path}': it is not selected on every matching read-scope path (missing on ${formatSelection(missing)}).`);
538
+ }
539
+ function edgeDenial(state, linkId, direction, sourceObjectTypeId, use, path) {
540
+ const source = sourceObjectTypeId ? `:${sourceObjectTypeId}` : "";
541
+ return new AuthorizationError2(`view:link:${direction}${source}:${linkId}`, `[Sixb] Delegated query cannot use ${direction} link '${linkId}' for ${use} from ${formatState(state)} at '${path}': that exact read-scope path is not selected.`);
542
+ }
543
+ function formatState(state) {
544
+ if (state.selections.length === 0)
545
+ return "an empty read-scope provenance";
546
+ return `read-scope provenance ${state.selections.map(formatSelection).join(", ")}`;
547
+ }
548
+ function formatSelection(selection) {
549
+ return `'${selection.objectTypeId}'@node ${selection.nodeId}`;
550
+ }
551
+ function selectedState(selections) {
552
+ const unique = new Map;
553
+ for (const selection of selections) {
554
+ unique.set(selectionKey(selection.nodeId, selection.objectTypeId), selection);
555
+ }
556
+ return Object.freeze({
557
+ [selectedStateBrand]: true,
558
+ selections: Object.freeze([...unique.values()].sort((left, right) => left.nodeId - right.nodeId || left.objectTypeId.localeCompare(right.objectTypeId)))
559
+ });
560
+ }
561
+ function asSelectedState(state) {
562
+ if (state[selectedStateBrand] !== true) {
563
+ throw new Error("[Sixb] Object query admission state belongs to another semantic admission.");
564
+ }
565
+ return state;
566
+ }
567
+ function denied(state, denial) {
568
+ return { state, denial };
569
+ }
570
+ function selectionKey(nodeId, objectTypeId) {
571
+ return JSON.stringify([nodeId, objectTypeId]);
572
+ }
573
+ function edgeKey(nodeId, objectTypeId, linkId) {
574
+ return JSON.stringify([nodeId, objectTypeId, linkId]);
575
+ }
576
+
577
+ // src/objects/telemetry/workload.ts
578
+ var MAX_DELEGATED_TELEMETRY_HISTORY_SERIES = 100;
579
+ var MAX_DELEGATED_TELEMETRY_HISTORY_POINTS = 1e4;
580
+ var DEFAULT_DELEGATED_TELEMETRY_HISTORY_LIMIT_PER_SERIES = 100;
581
+
582
+ class TelemetryHistoryWorkloadExceededError extends Error {
583
+ metric;
584
+ limit;
585
+ name = "TelemetryHistoryWorkloadExceededError";
586
+ code = "telemetry_history_workload_exceeded";
587
+ constructor(metric, limit) {
588
+ super(`[Sixb] Delegated telemetry history exceeded its ${metric} limit (${limit}).`);
589
+ this.metric = metric;
590
+ this.limit = limit;
591
+ }
592
+ }
593
+ function admitTelemetryHistoryReadWorkload(input, delegated) {
594
+ const seriesCount = input.seriesCount;
595
+ const limitPerSeries = input.limitPerSeries;
596
+ if (!Number.isSafeInteger(seriesCount) || seriesCount < 0) {
597
+ throw new Error("[Sixb] Telemetry history series must have a non-negative safe integer length.");
598
+ }
599
+ if (limitPerSeries !== undefined && (!Number.isSafeInteger(limitPerSeries) || limitPerSeries < 0)) {
600
+ throw new Error("[Sixb] Telemetry history limit must be a non-negative safe integer.");
601
+ }
602
+ if (!delegated) {
603
+ const admission = limitPerSeries === undefined ? {} : { limitPerSeries };
604
+ return Object.freeze(admission);
605
+ }
606
+ if (seriesCount > MAX_DELEGATED_TELEMETRY_HISTORY_SERIES) {
607
+ throw new TelemetryHistoryWorkloadExceededError("series", MAX_DELEGATED_TELEMETRY_HISTORY_SERIES);
608
+ }
609
+ if (seriesCount === 0) {
610
+ return Object.freeze({
611
+ ...limitPerSeries === undefined ? {} : { limitPerSeries },
612
+ maxPointOccurrences: MAX_DELEGATED_TELEMETRY_HISTORY_POINTS
613
+ });
614
+ }
615
+ const maxLimitPerSeries = Math.floor(MAX_DELEGATED_TELEMETRY_HISTORY_POINTS / seriesCount);
616
+ const effectiveLimitPerSeries = limitPerSeries ?? Math.min(DEFAULT_DELEGATED_TELEMETRY_HISTORY_LIMIT_PER_SERIES, maxLimitPerSeries);
617
+ if (effectiveLimitPerSeries > maxLimitPerSeries) {
618
+ throw new TelemetryHistoryWorkloadExceededError("points", MAX_DELEGATED_TELEMETRY_HISTORY_POINTS);
619
+ }
620
+ return Object.freeze({
621
+ limitPerSeries: effectiveLimitPerSeries,
622
+ maxPointOccurrences: MAX_DELEGATED_TELEMETRY_HISTORY_POINTS
623
+ });
624
+ }
625
+
626
+ // src/execution/authorized-object-reader.ts
627
+ var readerConstructionKey = Object.freeze({});
628
+
629
+ class AuthorizedObjectReaderImpl {
630
+ #authorization;
631
+ #authority;
632
+ #runtime;
633
+ #ontology;
634
+ #ontologyView;
635
+ #storage;
636
+ #delegatedObjectTypeIds;
637
+ #delegatedLinkDefinitions;
638
+ #delegatedQueryAdmission;
639
+ constructor(key, input) {
640
+ if (key !== readerConstructionKey) {
641
+ throw new Error("[Sixb] AuthorizedObjectReader can only be created by Core.");
642
+ }
643
+ this.#authorization = input.scope.authorization;
644
+ this.#authority = input.authority;
645
+ this.#ontology = input.ontology;
646
+ this.#storage = input.storage;
647
+ this.#delegatedObjectTypeIds = input.authority.type === "delegated" ? new Set(input.authority.objectRead.scope.objects.map((object) => object.objectTypeId)) : undefined;
648
+ this.#delegatedLinkDefinitions = input.authority.type === "delegated" ? new Set(input.authority.objectRead.scope.steps.map(delegatedLinkDefinitionKey)) : undefined;
649
+ this.#delegatedQueryAdmission = input.authority.type === "delegated" ? createSelectedObjectQueryAdmission(input.authority.objectRead.scope) : undefined;
650
+ this.#runtime = Object.freeze({
651
+ projectId: input.scope.execution.projectId,
652
+ runtimeAuthorization: input.scope.authorization,
653
+ ...input.authority.type === "principal" ? { authorization: input.authority.context } : {}
654
+ });
655
+ }
656
+ static assertBound(reader, scope) {
657
+ const capturedScope = captureExecutionScope(scope);
658
+ resolveExecutionScopeAuthorization(reader.#runtime.projectId, capturedScope);
659
+ if (capturedScope.authorization !== reader.#authorization) {
660
+ throw new Error("[Sixb] AuthorizedObjectReader is not bound to this exact execution authority.");
661
+ }
662
+ }
663
+ static ontologyView(reader) {
664
+ const authority = reader.#authority;
665
+ reader.#ontologyView ??= createAuthorizedOntologyView({
666
+ ontology: reader.#ontology,
667
+ selection: ontologySelectionForAuthority(authority, reader.#ontology),
668
+ ...authority.type === "delegated" ? {
669
+ assertOutputWithinLimit: (value) => assertObjectReadOutputWithinLimit2(value, authority.objectRead.limits)
670
+ } : {}
671
+ });
672
+ return reader.#ontologyView;
673
+ }
674
+ get projectId() {
675
+ return this.#runtime.projectId;
676
+ }
677
+ async getByPrimaryId(input) {
678
+ const request = snapshotReadValue({
679
+ objectTypeId: input.objectTypeId,
680
+ primaryId: input.primaryId
681
+ });
682
+ this.#assertObjectTypesViewable([request.objectTypeId]);
683
+ return detachReadResult(await this.#storage.getByPrimaryId({
684
+ ...request,
685
+ projectId: this.#runtime.projectId
686
+ }));
687
+ }
688
+ async getByPrimaryIdBatch(input) {
689
+ const request = snapshotReadValue({
690
+ items: input.items.map((item) => ({
691
+ objectTypeId: item.objectTypeId,
692
+ primaryId: item.primaryId
693
+ }))
694
+ });
695
+ this.#assertObjectTypesViewable(request.items.map((item) => item.objectTypeId));
696
+ return detachReadResult(await this.#storage.getByPrimaryIdBatch({
697
+ ...request,
698
+ projectId: this.#runtime.projectId
699
+ }));
700
+ }
701
+ async canReadObjectProperty(input) {
702
+ const request = snapshotReadValue({
703
+ objectTypeId: input.objectTypeId,
704
+ primaryId: input.primaryId,
705
+ propertyId: input.propertyId
706
+ });
707
+ this.#assertObjectTypesViewable([request.objectTypeId]);
708
+ if (this.#authority.type !== "delegated")
709
+ return true;
710
+ const [readable] = await this.#storage.selectsObjectProperties({
711
+ projectId: this.#runtime.projectId,
712
+ items: [request]
713
+ });
714
+ return readable ?? false;
715
+ }
716
+ async canReadObjectPropertiesBatch(input) {
717
+ const request = snapshotReadValue({
718
+ items: input.items.map((item) => ({
719
+ objectTypeId: item.objectTypeId,
720
+ primaryId: item.primaryId,
721
+ propertyId: item.propertyId
722
+ }))
723
+ });
724
+ this.#assertObjectTypesViewable(request.items.map((item) => item.objectTypeId));
725
+ if (this.#authority.type !== "delegated")
726
+ return request.items.map(() => true);
727
+ return detachReadResult(await this.#storage.selectsObjectProperties({
728
+ ...request,
729
+ projectId: this.#runtime.projectId
730
+ }));
731
+ }
732
+ async list(input) {
733
+ const request = snapshotReadValue({
734
+ objectTypeId: typeof input.objectTypeId === "string" ? input.objectTypeId : input.objectTypeId === undefined ? undefined : [...input.objectTypeId],
735
+ primaryIdPrefix: input.primaryIdPrefix,
736
+ primaryIdSuffix: input.primaryIdSuffix,
737
+ updatedAfter: input.updatedAfter,
738
+ updatedBefore: input.updatedBefore,
739
+ createdAfter: input.createdAfter,
740
+ createdBefore: input.createdBefore,
741
+ limit: input.limit,
742
+ offset: input.offset,
743
+ orderBy: input.orderBy,
744
+ order: input.order
745
+ });
746
+ const objectTypeId = this.#resolveListObjectTypes(request.objectTypeId);
747
+ if (Array.isArray(objectTypeId) && objectTypeId.length === 0) {
748
+ return { objects: [], hasMore: false, total: 0 };
749
+ }
750
+ return detachReadResult(await this.#storage.list({
751
+ ...request,
752
+ ...objectTypeId === undefined ? {} : { objectTypeId },
753
+ projectId: this.#runtime.projectId
754
+ }));
755
+ }
756
+ async listLinks(input) {
757
+ const request = snapshotReadValue({
758
+ objectTypeId: input.objectTypeId,
759
+ objectId: input.objectId,
760
+ linkId: input.linkId,
761
+ direction: input.direction
762
+ });
763
+ this.#assertObjectTypesViewable([request.objectTypeId]);
764
+ const links = detachReadResult(await this.#storage.listLinks({
765
+ ...request,
766
+ projectId: this.#runtime.projectId
767
+ }));
768
+ return links.filter((link) => this.#isLinkViewable(link));
769
+ }
770
+ async listLinksBatch(input) {
771
+ const request = snapshotReadValue({
772
+ direction: input.direction,
773
+ items: input.items.map((item) => ({
774
+ objectTypeId: item.objectTypeId,
775
+ objectId: item.objectId,
776
+ linkId: item.linkId
777
+ }))
778
+ });
779
+ this.#assertObjectTypesViewable(request.items.map((item) => item.objectTypeId));
780
+ const pages = detachReadResult(await this.#storage.listLinksBatch({
781
+ ...request,
782
+ projectId: this.#runtime.projectId
783
+ }));
784
+ const filtered = new Map;
785
+ for (const [key, links] of pages) {
786
+ filtered.set(key, links.filter((link) => this.#isLinkViewable(link)));
787
+ }
788
+ return filtered;
789
+ }
790
+ async executeQuery(input) {
791
+ const query = snapshotAuthoredQuery(input.query);
792
+ const includeTotal = snapshotReadValue(input.includeTotal);
793
+ const executionQuery = this.#admitDelegatedQuery(query)?.query ?? query;
794
+ return detachReadResult(await executeObjectQuery2({
795
+ query: executionQuery,
796
+ ...includeTotal === undefined ? {} : { includeTotal },
797
+ projectId: this.#runtime.projectId
798
+ }, this.#queryExecutorOptions()));
799
+ }
800
+ async queryLinks(input) {
801
+ const query = snapshotAuthoredQuery(input.query);
802
+ const request = snapshotReadValue({
803
+ direction: input.direction,
804
+ linkId: input.linkId,
805
+ includeObjects: input.includeObjects,
806
+ pageSize: input.pageSize,
807
+ pageToken: input.pageToken
808
+ });
809
+ let executionQuery = query;
810
+ const admission = this.#delegatedQueryAdmission;
811
+ if (admission) {
812
+ const preflight = preflightObjectQueryLinks({ query, ...request, projectId: this.#runtime.projectId }, { ontology: this.#ontology });
813
+ const admitted = validateObjectQueryWithAdmission(preflight.validated.query, { ontology: this.#ontology, normalize: false }, admission);
814
+ admission.assertIncidentEdgeSelected({
815
+ state: admitted.admissionState,
816
+ ...preflight.linkId === undefined ? {} : { linkId: preflight.linkId },
817
+ direction: preflight.direction,
818
+ path: "$.linkId"
819
+ });
820
+ executionQuery = admitted.query;
821
+ }
822
+ const result = detachReadResult(await executeObjectQueryLinks2({ query: executionQuery, ...request, projectId: this.#runtime.projectId }, this.#queryExecutorOptions()));
823
+ if (result.objects.some((row) => !this.#isObjectTypeViewable(row.objectTypeId)) || result.links.some((link) => !this.#isLinkViewable(link))) {
824
+ throw new Error("[Sixb] Object storage returned a link page outside its authorized scope.");
825
+ }
826
+ return result;
827
+ }
828
+ async count(input) {
829
+ const query = snapshotAuthoredQuery(input.query);
830
+ const executionQuery = this.#admitDelegatedQuery(query)?.query ?? query;
831
+ return detachReadResult(await countObjects2({ query: executionQuery, projectId: this.#runtime.projectId }, this.#queryExecutorOptions()));
832
+ }
833
+ async exists(input) {
834
+ const query = snapshotAuthoredQuery(input.query);
835
+ const executionQuery = this.#admitDelegatedQuery(query)?.query ?? query;
836
+ return detachReadResult(await existsObjects2({ query: executionQuery, projectId: this.#runtime.projectId }, this.#queryExecutorOptions()));
837
+ }
838
+ async facet(input) {
839
+ const query = snapshotAuthoredQuery(input.query);
840
+ const facets = snapshotFacetRequests(input.facets);
841
+ let executionQuery = query;
842
+ let executionFacets = facets;
843
+ const admission = this.#delegatedQueryAdmission;
844
+ if (admission) {
845
+ const validated = validateObjectQuery2(query, { ontology: this.#ontology });
846
+ const normalizedFacets = validateObjectFacetRequests(facets, validated.result.objectTypeIds, {
847
+ ontology: this.#ontology
848
+ });
849
+ const admitted = validateObjectQueryWithAdmission(validated.query, { ontology: this.#ontology, normalize: false }, admission);
850
+ normalizedFacets.forEach((facet, index) => {
851
+ admission.assertPropertySelected({
852
+ state: admitted.admissionState,
853
+ propertyId: facet.propertyId,
854
+ use: "facet",
855
+ path: `$.facets[${index}].propertyId`
856
+ });
857
+ });
858
+ executionQuery = admitted.query;
859
+ executionFacets = normalizedFacets;
860
+ }
861
+ return detachReadResult(await facetObjects2({
862
+ query: executionQuery,
863
+ facets: executionFacets,
864
+ projectId: this.#runtime.projectId
865
+ }, this.#queryExecutorOptions()));
866
+ }
867
+ assertVisibleOutputWithinLimit(value) {
868
+ if (this.#authority.type !== "delegated")
869
+ return;
870
+ assertObjectReadOutputWithinLimit2(value, this.#authority.objectRead.limits);
871
+ }
872
+ admitTelemetryHistoryRead(input) {
873
+ return admitTelemetryHistoryReadWorkload(input, this.#authority.type === "delegated");
874
+ }
875
+ #queryExecutorOptions() {
876
+ if (this.#authority.type === "delegated") {
877
+ return { ontology: this.#ontology, storage: this.#storage };
878
+ }
879
+ return {
880
+ ontology: this.#ontology,
881
+ storage: this.#storage,
882
+ runtimeAuthorization: this.#runtime.runtimeAuthorization,
883
+ ...this.#runtime.authorization === undefined ? {} : { authorization: this.#runtime.authorization }
884
+ };
885
+ }
886
+ #admitDelegatedQuery(query) {
887
+ if (!this.#delegatedQueryAdmission)
888
+ return;
889
+ return validateObjectQueryWithAdmission(query, { ontology: this.#ontology }, this.#delegatedQueryAdmission);
890
+ }
891
+ #assertObjectTypesViewable(objectTypeIds) {
892
+ if (this.#authority.type === "delegated") {
893
+ for (const objectTypeId of new Set(objectTypeIds)) {
894
+ if (this.#delegatedObjectTypeIds?.has(objectTypeId))
895
+ continue;
896
+ throw new AuthorizationError2(`delegated:object.view:${objectTypeId}`, `[Sixb] Delegated authorization does not select object type '${objectTypeId}'.`);
897
+ }
898
+ return;
899
+ }
900
+ for (const objectTypeId of new Set(objectTypeIds)) {
901
+ assertAuthorized2(this.#runtime, { kind: "object.view", objectTypeId });
902
+ }
903
+ }
904
+ #resolveListObjectTypes(requested) {
905
+ if (requested !== undefined) {
906
+ const objectTypeIds = typeof requested === "string" ? [requested] : [...new Set(requested)];
907
+ for (const objectTypeId of objectTypeIds) {
908
+ this.#ontology.resolveObjectType(objectTypeId);
909
+ }
910
+ this.#assertObjectTypesViewable(objectTypeIds);
911
+ return typeof requested === "string" ? requested : objectTypeIds;
912
+ }
913
+ if (this.#authority.type === "unrestricted")
914
+ return;
915
+ return this.#ontology.listObjectTypes().map((objectType) => objectType.id).filter((objectTypeId) => this.#isObjectTypeViewable(objectTypeId));
916
+ }
917
+ #isObjectTypeViewable(objectTypeId) {
918
+ if (this.#authority.type === "delegated") {
919
+ return this.#delegatedObjectTypeIds?.has(objectTypeId) ?? false;
920
+ }
921
+ return isAllowed2(this.#runtime.authorization, { kind: "object.view", objectTypeId });
922
+ }
923
+ #isLinkViewable(link) {
924
+ if (!this.#isObjectTypeViewable(link.sourceTypeId) || !this.#isObjectTypeViewable(link.targetTypeId)) {
925
+ return false;
926
+ }
927
+ return this.#delegatedLinkDefinitions?.has(delegatedLinkDefinitionKey(link)) ?? this.#authority.type !== "delegated";
928
+ }
929
+ }
930
+ Object.freeze(AuthorizedObjectReaderImpl.prototype);
931
+ Object.freeze(AuthorizedObjectReaderImpl);
932
+ function createAuthorizedObjectReader(input) {
933
+ const scope = captureExecutionScope(input.scope);
934
+ const projectId = scope.execution.projectId;
935
+ const authority = resolveExecutionScopeAuthorization(projectId, scope);
936
+ const storage = objectStorageForAuthority(authority, input.objectStorage);
937
+ const reader = new AuthorizedObjectReaderImpl(readerConstructionKey, {
938
+ scope,
939
+ ontology: input.ontology,
940
+ storage,
941
+ authority
942
+ });
943
+ Object.freeze(reader);
944
+ return reader;
945
+ }
946
+ function assertAuthorizedObjectReaderBinding(input) {
947
+ AuthorizedObjectReaderImpl.assertBound(input.reader, input.scope);
948
+ }
949
+ function getAuthorizedOntologyView(reader) {
950
+ return AuthorizedObjectReaderImpl.ontologyView(reader);
951
+ }
952
+ function objectStorageForAuthority(authority, objectStorage) {
953
+ switch (authority.type) {
954
+ case "principal":
955
+ case "unrestricted":
956
+ return objectStorage;
957
+ case "delegated":
958
+ return objectStorage.createSelectedReadScope({
959
+ projectId: authority.projectId,
960
+ scope: authority.objectRead.scope,
961
+ limits: authority.objectRead.limits
962
+ });
963
+ default:
964
+ return assertNever(authority);
965
+ }
966
+ }
967
+ function assertNever(value) {
968
+ throw new Error(`[Sixb] Unsupported object reader authority '${String(value.type)}'.`);
969
+ }
970
+ function ontologySelectionForAuthority(authority, ontology) {
971
+ switch (authority.type) {
972
+ case "unrestricted":
973
+ return { kind: "all" };
974
+ case "principal":
975
+ return {
976
+ kind: "types",
977
+ objectTypeIds: ontology.listObjectTypes().filter((objectType) => isAllowed2(authority.context, {
978
+ kind: "object.view",
979
+ objectTypeId: objectType.id
980
+ })).map((objectType) => objectType.id)
981
+ };
982
+ case "delegated":
983
+ return { kind: "selected", scope: authority.objectRead.scope };
984
+ }
985
+ }
986
+ function delegatedLinkDefinitionKey(input) {
987
+ return "sourceObjectTypeId" in input ? JSON.stringify([input.sourceObjectTypeId, input.linkId, input.targetObjectTypeId]) : JSON.stringify([input.sourceTypeId, input.linkId, input.targetTypeId]);
988
+ }
989
+ function detachReadResult(value) {
990
+ return structuredClone(value);
991
+ }
992
+ function snapshotReadValue(value) {
993
+ return structuredClone(value);
994
+ }
995
+ function snapshotFacetRequests(facets) {
996
+ if (!Array.isArray(facets)) {
997
+ throw new ObjectQueryValidationError2([
998
+ {
999
+ path: "$.facets",
1000
+ code: "invalid_facets",
1001
+ message: "facets must be an array"
1002
+ }
1003
+ ]);
1004
+ }
1005
+ const length = facets.length;
1006
+ if (!Number.isSafeInteger(length) || length > MAX_OBJECT_READ_FACETS2) {
1007
+ throw new ObjectQueryValidationError2([
1008
+ {
1009
+ path: "$.facets",
1010
+ code: "too_many_facets",
1011
+ message: `facets must include at most ${MAX_OBJECT_READ_FACETS2} facet requests`
1012
+ }
1013
+ ]);
1014
+ }
1015
+ const snapshot = [];
1016
+ for (let index = 0;index < length; index += 1) {
1017
+ const facet = facets[index];
1018
+ snapshot.push({ propertyId: facet.propertyId, limit: facet.limit });
1019
+ }
1020
+ return snapshot;
1021
+ }
1022
+ function snapshotAuthoredQuery(query) {
1023
+ try {
1024
+ return structuredClone(query);
1025
+ } catch (error) {
1026
+ if (error instanceof ObjectQueryValidationError2)
1027
+ throw error;
1028
+ throw new ObjectQueryValidationError2([
1029
+ {
1030
+ path: "$",
1031
+ code: "query_not_cloneable",
1032
+ message: "Object query must contain only structured-cloneable data"
1033
+ }
1034
+ ]);
1035
+ }
1036
+ }
1037
+
1038
+ // src/actions/delegated-admission.ts
1039
+ function assertDelegatedActionTarget(input) {
1040
+ const { actionId, authorization, subject } = input;
1041
+ if (subject.kind !== "object" || !authorization.actionApply.some((target) => target.actionId === actionId && target.subject.objectTypeId === subject.objectTypeId && target.subject.primaryId === subject.primaryId)) {
1042
+ throw denied2(actionId, subject);
1043
+ }
1044
+ return subject;
1045
+ }
1046
+ async function admitDelegatedObjectAction(input) {
1047
+ const { action, authorization, execution, objectReader, runtimeAuthorization, subject } = input;
1048
+ assertDelegatedActionTarget({ authorization, actionId: action.id, subject });
1049
+ if (action.binding.kind !== "object" || action.binding.objectType.id !== subject.objectTypeId) {
1050
+ throw denied2(action.id, subject);
1051
+ }
1052
+ assertAuthorizedObjectReaderBinding({
1053
+ reader: objectReader,
1054
+ scope: { execution, authorization: runtimeAuthorization }
1055
+ });
1056
+ try {
1057
+ const visible = await objectReader.getByPrimaryId({
1058
+ objectTypeId: subject.objectTypeId,
1059
+ primaryId: subject.primaryId
1060
+ });
1061
+ if (!visible)
1062
+ throw denied2(action.id, subject);
1063
+ } catch (error) {
1064
+ if (error instanceof AuthorizationError2)
1065
+ throw denied2(action.id, subject);
1066
+ throw error;
1067
+ }
1068
+ }
1069
+ function denied2(actionId, subject) {
1070
+ const target = subject.kind === "object" ? `${subject.objectTypeId}:${subject.primaryId}` : "global";
1071
+ return new AuthorizationError2(`apply:action:${actionId}:${target}`, `[Sixb] Delegated authority cannot apply Action '${actionId}' to '${target}'.`);
1072
+ }
1073
+
1074
+ // src/actions/run-authorization.ts
1075
+ async function canDelegationAccessActionRun(input) {
1076
+ const subject = input.run.subject;
1077
+ if (!input.authority.delegation || subject.kind !== "object" || !input.authority.actionApply.some((target) => target.actionId === input.run.actionId && target.subject.objectTypeId === subject.objectTypeId && target.subject.primaryId === subject.primaryId)) {
1078
+ return false;
1079
+ }
1080
+ return actionRunBelongsToShareGrant({
1081
+ storage: input.storage,
1082
+ projectId: input.projectId,
1083
+ run: input.run,
1084
+ grantId: input.authority.delegation.grantId
1085
+ });
1086
+ }
1087
+ async function actionRunBelongsToShareGrant(input) {
1088
+ const parent = await findPrimitiveParentRequestExecution({
1089
+ executions: input.storage.executions,
1090
+ projectId: input.projectId,
1091
+ executionId: input.run.executionId,
1092
+ primitive: { kind: "action", id: input.run.actionId, runId: input.run.id }
1093
+ });
1094
+ const authorization = parent?.authorizationRef;
1095
+ return authorization?.type === "delegated" && authorization.delegation.kind === "share" && authorization.delegation.grantId === input.grantId;
1096
+ }
1097
+
1098
+ // src/actions/run-dispatch.ts
1099
+ import { randomUUID as randomUUID2 } from "crypto";
1100
+
1101
+ // src/actions/run-id.ts
1102
+ import { randomUUID } from "crypto";
1103
+ function createActionRunId(runId) {
1104
+ if (runId !== undefined) {
1105
+ if (!runId.trim()) {
1106
+ throw new OntologyValidationError2("[Sixb] Action run id must not be empty");
1107
+ }
1108
+ return runId;
1109
+ }
1110
+ return `act_${randomUUID()}`;
1111
+ }
1112
+ function createActionRunIdempotencyKey(projectId, runId) {
1113
+ return `action:${projectId}:${runId}`;
1114
+ }
1115
+
1116
+ // src/actions/run-dispatch.ts
1117
+ async function dispatchActionRun(input) {
1118
+ const request = prepareActionRun(input);
1119
+ const persisted = await persistActionRun(input, request);
1120
+ if (!persisted.publish)
1121
+ return existingActionRunResult(persisted.run);
1122
+ return publishActionRun(input, persisted);
1123
+ }
1124
+ function prepareActionRun(input) {
1125
+ const runId = createActionRunId(input.runId);
1126
+ return {
1127
+ runId,
1128
+ idempotencyKey: createActionRunIdempotencyKey(input.projectId, runId)
1129
+ };
1130
+ }
1131
+ async function persistActionRun(input, request) {
1132
+ const actionRuns = requireActionRunStorage(input.storage);
1133
+ const existing = await actionRuns.getById({ projectId: input.projectId, id: request.runId });
1134
+ if (existing) {
1135
+ await input.assertCanReuseExisting?.(input.storage, existing);
1136
+ return reuseActionRun(input, existing);
1137
+ }
1138
+ const execution = await input.createExecution(`exec_${randomUUID2()}`, request.runId);
1139
+ const queuedAt = new Date;
1140
+ try {
1141
+ return await input.storage.transaction(async (tx) => {
1142
+ const transactionalRuns = requireActionRunStorage(tx);
1143
+ const raced = await transactionalRuns.getById({
1144
+ projectId: input.projectId,
1145
+ id: request.runId
1146
+ });
1147
+ if (raced) {
1148
+ await input.assertCanReuseExisting?.(tx, raced);
1149
+ assertExistingRunMatchesRequest(raced, input);
1150
+ return { publish: false, run: raced };
1151
+ }
1152
+ await tx.executions.create(execution);
1153
+ const run = await transactionalRuns.queue({
1154
+ projectId: input.projectId,
1155
+ id: request.runId,
1156
+ executionId: execution.id,
1157
+ actionId: input.actionId,
1158
+ subject: input.subject,
1159
+ params: input.params,
1160
+ idempotencyKey: request.idempotencyKey,
1161
+ queuedAt
1162
+ });
1163
+ return { publish: true, run, execution, queuedAt, created: true };
1164
+ }, { isolation: "serializable" });
1165
+ } catch (error) {
1166
+ if (!(error instanceof ActionRunError2))
1167
+ throw error;
1168
+ const raced = await actionRuns.getById({ projectId: input.projectId, id: request.runId });
1169
+ if (!raced)
1170
+ throw error;
1171
+ await input.assertCanReuseExisting?.(input.storage, raced);
1172
+ assertExistingRunMatchesRequest(raced, input);
1173
+ return { publish: false, run: raced };
1174
+ }
1175
+ }
1176
+ async function reuseActionRun(input, existing) {
1177
+ assertExistingRunMatchesRequest(existing, input);
1178
+ if (!isRetryableEnqueueFailure(existing))
1179
+ return { publish: false, run: existing };
1180
+ const execution = await input.storage.executions.getById({
1181
+ projectId: input.projectId,
1182
+ id: existing.executionId
1183
+ });
1184
+ if (!execution) {
1185
+ throw new ActionRunError2(`[Sixb] Execution '${existing.executionId}' for Action run '${existing.id}' was not found.`);
1186
+ }
1187
+ const queuedAt = new Date;
1188
+ const run = await requireActionRunStorage(input.storage).queue({
1189
+ projectId: input.projectId,
1190
+ id: existing.id,
1191
+ executionId: existing.executionId,
1192
+ actionId: existing.actionId,
1193
+ subject: existing.subject,
1194
+ params: existing.params,
1195
+ idempotencyKey: existing.idempotencyKey,
1196
+ queuedAt
1197
+ });
1198
+ return { publish: true, run, execution, queuedAt, created: false };
1199
+ }
1200
+ async function publishActionRun(input, persisted) {
1201
+ let job;
1202
+ try {
1203
+ const jobs = await input.queue.enqueue({
1204
+ projectId: input.projectId,
1205
+ jobs: [
1206
+ {
1207
+ id: persisted.run.id,
1208
+ type: "action.run.requested",
1209
+ payload: {
1210
+ runId: persisted.run.id
1211
+ }
1212
+ }
1213
+ ]
1214
+ });
1215
+ job = jobs[0];
1216
+ } catch (error) {
1217
+ await failActionRunPublication(input, persisted.run, error);
1218
+ throw error;
1219
+ }
1220
+ await input.events.emit({
1221
+ events: [
1222
+ {
1223
+ type: "action.requested",
1224
+ payload: {
1225
+ actionId: persisted.run.actionId,
1226
+ subject: persisted.run.subject,
1227
+ params: persisted.run.params,
1228
+ runId: persisted.run.id
1229
+ }
1230
+ }
1231
+ ],
1232
+ correlationId: persisted.execution.correlationId
1233
+ }, { source: "Sixb" });
1234
+ return {
1235
+ runId: persisted.run.id,
1236
+ queuedAt: persisted.queuedAt.toISOString(),
1237
+ ...job?.id ? { jobId: job.id } : {},
1238
+ created: persisted.created
1239
+ };
1240
+ }
1241
+ async function failActionRunPublication(input, run, error) {
1242
+ const failedAt = new Date;
1243
+ const failure = toActionRunFailure(error, run, failedAt);
1244
+ await requireActionRunStorage(input.storage).finish({
1245
+ projectId: input.projectId,
1246
+ id: run.id,
1247
+ status: "failed",
1248
+ finishedAt: failedAt,
1249
+ error: failure
1250
+ });
1251
+ reportRunFailure2(input.errorReporterHost, error, {
1252
+ projectId: input.projectId,
1253
+ runKind: "action",
1254
+ run: { runId: run.id, actionId: run.actionId },
1255
+ failure
1256
+ });
1257
+ }
1258
+ function requireActionRunStorage(storage) {
1259
+ if (!storage.actionRuns) {
1260
+ throw new ActionRunError2("[Sixb] Action run storage is not configured.");
1261
+ }
1262
+ return storage.actionRuns;
1263
+ }
1264
+ function assertExistingRunMatchesRequest(existing, request) {
1265
+ if (existing.actionId !== request.actionId || !actionSubjectsEqual2(existing.subject, request.subject) || !actionRunParamsEqual2(existing.params, request.params)) {
1266
+ throw new ActionRunError2(`[Sixb] Action run '${existing.id}' already exists with a different request payload.`);
1267
+ }
1268
+ }
1269
+ function isRetryableEnqueueFailure(record) {
1270
+ return record.status === "failed" && record.phase === "enqueue" && record.error?.retryable === true;
1271
+ }
1272
+ function existingActionRunResult(existing) {
1273
+ return {
1274
+ runId: existing.id,
1275
+ queuedAt: existing.queuedAt.toISOString(),
1276
+ created: false
1277
+ };
1278
+ }
1279
+ function toActionRunFailure(error, run, at) {
1280
+ const enqueueError = createSixbError2("queue.enqueue_failed", `[Sixb] Could not enqueue Action run '${run.id}'.`, {
1281
+ cause: error,
1282
+ details: { actionId: run.actionId, runId: run.id, phase: "enqueue" }
1283
+ });
1284
+ return parseActionRunFailure2(toSixbFailure2(enqueueError, {
1285
+ allowedCodes: ACTION_RUN_FAILURE_CODES2,
1286
+ at
1287
+ }), "enqueue");
1288
+ }
1289
+
1290
+ // src/actions/request.ts
1291
+ var DEFAULT_ACTION_WAIT_TIMEOUT_MS = 60000;
1292
+ var DEFAULT_ACTION_WAIT_POLL_MS = 1000;
1293
+ function clearTimer(timer) {
1294
+ if (timer) {
1295
+ clearTimeout(timer);
1296
+ }
1297
+ }
1298
+ function getActionDefinition(runtime, actionId) {
1299
+ const action = runtime.actionRegistry.getById(actionId);
1300
+ if (!action) {
1301
+ throw new OntologyValidationError2(`Unknown action '${actionId}'`);
1302
+ }
1303
+ return action;
1304
+ }
1305
+ async function requestAction3(runtime, execution, input) {
1306
+ const projectId = runtime.projectId;
1307
+ const runtimeAuthorization = runtime.runtimeAuthorization;
1308
+ const objectReader = runtime.objectReader;
1309
+ const request = snapshotActionRequest(input);
1310
+ const authorization = resolveExecutionScopeAuthorization(projectId, {
1311
+ execution,
1312
+ authorization: runtimeAuthorization
1313
+ });
1314
+ const subject = request.subject;
1315
+ const delegatedSubject = authorization.type === "delegated" ? assertDelegatedActionTarget({
1316
+ authorization,
1317
+ actionId: request.actionId,
1318
+ subject
1319
+ }) : undefined;
1320
+ const action = getActionDefinition(runtime, request.actionId);
1321
+ const actionId = action.id;
1322
+ const rawParams = request.params;
1323
+ if (authorization.type === "delegated") {
1324
+ await admitDelegatedObjectAction({
1325
+ objectReader,
1326
+ runtimeAuthorization,
1327
+ execution,
1328
+ authorization,
1329
+ action,
1330
+ subject: delegatedSubject
1331
+ });
1332
+ } else {
1333
+ assertAuthorized2({ projectId, runtimeAuthorization }, { kind: "action.apply", actionId });
1334
+ }
1335
+ if (authorization.type !== "delegated" && action.binding.kind === "object") {
1336
+ assertAuthorized2({ projectId, runtimeAuthorization }, { kind: "object.view", objectTypeId: action.binding.objectType.id });
1337
+ }
1338
+ validateActionSubject(action, subject);
1339
+ let pathPrefix = action.id;
1340
+ let objectType = null;
1341
+ if (isObjectActionDefinition2(action)) {
1342
+ objectType = resolveObjectActionSubject({ runtime, action, subject });
1343
+ pathPrefix = `${objectType.id}.${action.id}`;
1344
+ }
1345
+ const actionParams = normalizeActionParams(runtime, action.params, rawParams, pathPrefix);
1346
+ getAuthorizationRef(runtimeAuthorization);
1347
+ return dispatchActionRun({
1348
+ errorReporterHost: runtime,
1349
+ projectId,
1350
+ storage: runtime.storage,
1351
+ queue: runtime.queues.actions,
1352
+ events: runtime.events,
1353
+ actionId,
1354
+ subject,
1355
+ params: actionParams,
1356
+ runId: request.runId,
1357
+ ...authorization.type === "delegated" ? {
1358
+ assertCanReuseExisting: async (storage, existing) => {
1359
+ if (!authorization.delegation || !await actionRunBelongsToShareGrant({
1360
+ storage,
1361
+ projectId,
1362
+ run: existing,
1363
+ grantId: authorization.delegation.grantId
1364
+ })) {
1365
+ throw new AuthorizationError2(`apply:action:${actionId}`, "[Sixb] Delegated authority cannot reuse this Action run.");
1366
+ }
1367
+ }
1368
+ } : {},
1369
+ createExecution: async (executionId, runId) => {
1370
+ const caller = await ensureExecutionRecord2(runtime.storage.executions, executionRecordInputFromRuntime({
1371
+ execution,
1372
+ runtimeAuthorization
1373
+ }));
1374
+ return createPrimitiveExecutionRecord({
1375
+ id: executionId,
1376
+ primitive: { kind: "action", id: actionId, runId },
1377
+ origin: { type: "execution", parent: caller }
1378
+ });
1379
+ }
1380
+ });
1381
+ }
1382
+ function snapshotActionRequest(input) {
1383
+ const actionId = input.actionId;
1384
+ const subject = input.subject;
1385
+ const params = input.params;
1386
+ const runId = input.runId;
1387
+ return structuredClone({
1388
+ actionId,
1389
+ subject: subject ?? { kind: "none" },
1390
+ params: params ?? {},
1391
+ ...runId === undefined ? {} : { runId }
1392
+ });
1393
+ }
1394
+ async function requestActionAndWait2(runtime, execution, input) {
1395
+ const runId = createActionRunId(input.runId);
1396
+ await requestAction3(runtime, execution, {
1397
+ ...input,
1398
+ runId
1399
+ });
1400
+ await input.onRequested?.(runId);
1401
+ return waitForActionRun2(runtime, {
1402
+ runId,
1403
+ timeoutMs: input.timeoutMs,
1404
+ signal: input.signal
1405
+ });
1406
+ }
1407
+ async function waitForActionRun2(runtime, input) {
1408
+ const projectId = runtime.projectId;
1409
+ const runtimeAuthorization = runtime.runtimeAuthorization;
1410
+ const request = {
1411
+ runId: input.runId,
1412
+ timeoutMs: input.timeoutMs,
1413
+ signal: input.signal
1414
+ };
1415
+ const authorization = resolveRuntimeAuthorizationForProject({
1416
+ projectId,
1417
+ runtimeAuthorization
1418
+ });
1419
+ if (authorization.type === "denied") {
1420
+ throw new AuthorizationError2("runtime:unbound", "[Sixb] Protected operations require registered runtime authorization for this project.");
1421
+ }
1422
+ if (authorization.type === "delegated")
1423
+ getAuthorizationRef(runtimeAuthorization);
1424
+ const actionRuns = requireActionRunStorage2(runtime);
1425
+ const timeoutMs = request.timeoutMs ?? DEFAULT_ACTION_WAIT_TIMEOUT_MS;
1426
+ const signal = request.signal;
1427
+ const startedAt = Date.now();
1428
+ if (signal?.aborted) {
1429
+ throw signal.reason ?? new Error("aborted");
1430
+ }
1431
+ return new Promise((resolve, reject) => {
1432
+ let timer;
1433
+ let pollTimer;
1434
+ let unsubscribe;
1435
+ let settled = false;
1436
+ let checking = false;
1437
+ const releaseSubscription = (release) => {
1438
+ if (!release)
1439
+ return;
1440
+ try {
1441
+ release();
1442
+ } catch (error) {
1443
+ console.error("[Sixb] Failed to release action run wait subscription:", error);
1444
+ }
1445
+ };
1446
+ const cleanup = () => {
1447
+ if (settled)
1448
+ return;
1449
+ settled = true;
1450
+ clearTimer(timer);
1451
+ clearTimer(pollTimer);
1452
+ signal?.removeEventListener("abort", onAbort);
1453
+ releaseSubscription(unsubscribe);
1454
+ };
1455
+ const rejectWith = (error) => {
1456
+ cleanup();
1457
+ reject(error);
1458
+ };
1459
+ const schedulePoll = () => {
1460
+ if (!settled && !pollTimer) {
1461
+ pollTimer = setTimeout(() => {
1462
+ pollTimer = undefined;
1463
+ check();
1464
+ }, DEFAULT_ACTION_WAIT_POLL_MS);
1465
+ }
1466
+ };
1467
+ const check = async () => {
1468
+ if (settled || checking) {
1469
+ return;
1470
+ }
1471
+ checking = true;
1472
+ try {
1473
+ const record = await actionRuns.getById({
1474
+ projectId,
1475
+ id: request.runId
1476
+ });
1477
+ const visible = record && (authorization.type === "unrestricted" || authorization.type === "principal" && canViewActionRun2(authorization.context, record) || authorization.type === "delegated" && await canDelegationAccessActionRun({
1478
+ storage: runtime.storage,
1479
+ projectId,
1480
+ authority: authorization,
1481
+ run: record
1482
+ }));
1483
+ if (visible && isTerminalActionRun2(record)) {
1484
+ if (authorization.type === "delegated") {
1485
+ assertObjectReadOutputWithinLimit2(record, authorization.objectRead.limits);
1486
+ }
1487
+ cleanup();
1488
+ resolve(record);
1489
+ return;
1490
+ }
1491
+ schedulePoll();
1492
+ } catch (error) {
1493
+ rejectWith(error);
1494
+ } finally {
1495
+ checking = false;
1496
+ }
1497
+ };
1498
+ const onAbort = () => {
1499
+ rejectWith(signal?.reason ?? new Error("aborted"));
1500
+ };
1501
+ timer = setTimeout(() => {
1502
+ rejectWith(new ActionRunTimeoutError2({ runId: request.runId, timeoutMs }));
1503
+ }, Math.max(0, timeoutMs - (Date.now() - startedAt)));
1504
+ if (signal) {
1505
+ signal.addEventListener("abort", onAbort, { once: true });
1506
+ }
1507
+ runtime.events.subscribe({ types: ["action.completed", "action.failed"] }, (events) => {
1508
+ if (events.some((event) => (event.type === "action.completed" || event.type === "action.failed") && event.payload.runId === request.runId)) {
1509
+ check();
1510
+ }
1511
+ }).then((unsubscribeEvents) => {
1512
+ if (settled) {
1513
+ releaseSubscription(unsubscribeEvents);
1514
+ return;
1515
+ }
1516
+ unsubscribe = unsubscribeEvents;
1517
+ check();
1518
+ }).catch((error) => {
1519
+ if (settled) {
1520
+ console.error("[Sixb] Action run wait subscription failed after the wait settled:", error);
1521
+ return;
1522
+ }
1523
+ rejectWith(error);
1524
+ });
1525
+ });
1526
+ }
1527
+ function requireActionRunStorage2(runtime) {
1528
+ const actionRuns = runtime.storage.actionRuns;
1529
+ if (!actionRuns) {
1530
+ throw new ActionRunError2("[Sixb] Action run storage is not configured.");
1531
+ }
1532
+ return actionRuns;
1533
+ }
1534
+
1535
+ export { ActionValidationError2, ActionRunFailedError2, ActionRunTimeoutError2, createAuthorizedObjectReader, assertAuthorizedObjectReaderBinding, getAuthorizedOntologyView, canDelegationAccessActionRun, requestAction3, requestActionAndWait2, waitForActionRun2 };
1536
+
1537
+ //# debugId=FFE2BFEFAAE60BAE64756E2164756E21