@sixb/core 0.1.20 → 0.1.22

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 (1519) hide show
  1. package/dist/actions/commit-edits.d.ts +3 -1
  2. package/dist/actions/commit-edits.d.ts.map +1 -1
  3. package/dist/actions/execution.d.ts.map +1 -1
  4. package/dist/actions/index.js +71 -60
  5. package/dist/actions/index.js.map +1 -1
  6. package/dist/actions/read-facade.d.ts +9 -1
  7. package/dist/actions/read-facade.d.ts.map +1 -1
  8. package/dist/actions/request.d.ts +15 -1
  9. package/dist/actions/request.d.ts.map +1 -1
  10. package/dist/actions/run/context.d.ts +1 -0
  11. package/dist/actions/run/context.d.ts.map +1 -1
  12. package/dist/actions/run/execute.d.ts +2 -3
  13. package/dist/actions/run/execute.d.ts.map +1 -1
  14. package/dist/actions/run/executor.d.ts +3 -0
  15. package/dist/actions/run/executor.d.ts.map +1 -1
  16. package/dist/actions/run/normalize.d.ts +2 -1
  17. package/dist/actions/run/normalize.d.ts.map +1 -1
  18. package/dist/actions/run/signals.d.ts +1 -3
  19. package/dist/actions/run/signals.d.ts.map +1 -1
  20. package/dist/actions/run/types.d.ts +16 -1
  21. package/dist/actions/run/types.d.ts.map +1 -1
  22. package/dist/actions/run-authorization.d.ts +23 -0
  23. package/dist/actions/run-authorization.d.ts.map +1 -1
  24. package/dist/actions/types/context.d.ts +17 -1
  25. package/dist/actions/types/context.d.ts.map +1 -1
  26. package/dist/actions/validators.d.ts.map +1 -1
  27. package/dist/activity/connection.d.ts +62 -0
  28. package/dist/activity/connection.d.ts.map +1 -0
  29. package/dist/activity/device.d.ts +8 -0
  30. package/dist/activity/device.d.ts.map +1 -0
  31. package/dist/activity/execution.d.ts +48 -0
  32. package/dist/activity/execution.d.ts.map +1 -0
  33. package/dist/activity/service.d.ts +79 -0
  34. package/dist/activity/service.d.ts.map +1 -0
  35. package/dist/activity/shares.d.ts +24 -0
  36. package/dist/activity/shares.d.ts.map +1 -0
  37. package/dist/activity/timeline.d.ts +103 -0
  38. package/dist/activity/timeline.d.ts.map +1 -0
  39. package/dist/agents/accounting.d.ts +15 -0
  40. package/dist/agents/accounting.d.ts.map +1 -0
  41. package/dist/agents/adapters.d.ts.map +1 -1
  42. package/dist/agents/agent-mail.d.ts +9 -0
  43. package/dist/agents/agent-mail.d.ts.map +1 -0
  44. package/dist/agents/api-gateway.d.ts +5 -0
  45. package/dist/agents/api-gateway.d.ts.map +1 -1
  46. package/dist/agents/approval-continuation.d.ts +23 -0
  47. package/dist/agents/approval-continuation.d.ts.map +1 -0
  48. package/dist/agents/approval-executor.d.ts +56 -0
  49. package/dist/agents/approval-executor.d.ts.map +1 -0
  50. package/dist/agents/approval-outcome.d.ts +8 -0
  51. package/dist/agents/approval-outcome.d.ts.map +1 -0
  52. package/dist/agents/approvals.d.ts +210 -0
  53. package/dist/agents/approvals.d.ts.map +1 -0
  54. package/dist/agents/authority.d.ts +10 -0
  55. package/dist/agents/authority.d.ts.map +1 -1
  56. package/dist/agents/builders.d.ts.map +1 -1
  57. package/dist/agents/cancel.d.ts +23 -0
  58. package/dist/agents/cancel.d.ts.map +1 -0
  59. package/dist/agents/child-question.d.ts +18 -0
  60. package/dist/agents/child-question.d.ts.map +1 -0
  61. package/dist/agents/children.d.ts +99 -0
  62. package/dist/agents/children.d.ts.map +1 -0
  63. package/dist/agents/context/index.js +1 -1
  64. package/dist/agents/context-compaction.d.ts.map +1 -1
  65. package/dist/agents/errors.d.ts +13 -1
  66. package/dist/agents/errors.d.ts.map +1 -1
  67. package/dist/agents/execution.d.ts +180 -14
  68. package/dist/agents/execution.d.ts.map +1 -1
  69. package/dist/agents/fork.d.ts +16 -0
  70. package/dist/agents/fork.d.ts.map +1 -0
  71. package/dist/agents/ids.d.ts +7 -0
  72. package/dist/agents/ids.d.ts.map +1 -1
  73. package/dist/agents/index.d.ts +20 -8
  74. package/dist/agents/index.d.ts.map +1 -1
  75. package/dist/agents/index.js +170 -84
  76. package/dist/agents/index.js.map +1 -1
  77. package/dist/agents/memory-execution.d.ts +57 -0
  78. package/dist/agents/memory-execution.d.ts.map +1 -0
  79. package/dist/agents/memory.d.ts +49 -0
  80. package/dist/agents/memory.d.ts.map +1 -0
  81. package/dist/agents/message.d.ts +50 -1
  82. package/dist/agents/message.d.ts.map +1 -1
  83. package/dist/agents/model-loop.d.ts +19 -0
  84. package/dist/agents/model-loop.d.ts.map +1 -1
  85. package/dist/agents/model-routing.d.ts +19 -0
  86. package/dist/agents/model-routing.d.ts.map +1 -0
  87. package/dist/agents/participants.d.ts +18 -0
  88. package/dist/agents/participants.d.ts.map +1 -0
  89. package/dist/agents/reference.d.ts.map +1 -1
  90. package/dist/agents/request.d.ts +36 -2
  91. package/dist/agents/request.d.ts.map +1 -1
  92. package/dist/agents/run-scope.d.ts +51 -0
  93. package/dist/agents/run-scope.d.ts.map +1 -0
  94. package/dist/agents/skills.d.ts.map +1 -1
  95. package/dist/agents/streams/index.d.ts +3 -2
  96. package/dist/agents/streams/index.d.ts.map +1 -1
  97. package/dist/agents/streams/index.js +8 -4
  98. package/dist/agents/streams/index.js.map +1 -1
  99. package/dist/agents/streams/internal.d.ts +1 -1
  100. package/dist/agents/streams/internal.d.ts.map +1 -1
  101. package/dist/agents/streams/internal.js +6 -4
  102. package/dist/agents/streams/internal.js.map +1 -1
  103. package/dist/agents/streams/protocol.d.ts +122 -3
  104. package/dist/agents/streams/protocol.d.ts.map +1 -1
  105. package/dist/agents/subagent-runs.d.ts +12 -0
  106. package/dist/agents/subagent-runs.d.ts.map +1 -0
  107. package/dist/agents/thread-access.d.ts +53 -0
  108. package/dist/agents/thread-access.d.ts.map +1 -0
  109. package/dist/agents/tool-definition.d.ts +5 -4
  110. package/dist/agents/tool-definition.d.ts.map +1 -1
  111. package/dist/agents/types.d.ts +31 -12
  112. package/dist/agents/types.d.ts.map +1 -1
  113. package/dist/agents/validation.d.ts +1 -1
  114. package/dist/agents/validation.d.ts.map +1 -1
  115. package/dist/artifacts/access.d.ts +52 -0
  116. package/dist/artifacts/access.d.ts.map +1 -0
  117. package/dist/artifacts/address.d.ts +48 -0
  118. package/dist/artifacts/address.d.ts.map +1 -0
  119. package/dist/artifacts/canvas.d.ts +92 -0
  120. package/dist/artifacts/canvas.d.ts.map +1 -0
  121. package/dist/artifacts/csv.d.ts +27 -0
  122. package/dist/artifacts/csv.d.ts.map +1 -0
  123. package/dist/artifacts/errors.d.ts +16 -0
  124. package/dist/artifacts/errors.d.ts.map +1 -0
  125. package/dist/artifacts/execution.d.ts +138 -0
  126. package/dist/artifacts/execution.d.ts.map +1 -0
  127. package/dist/artifacts/formula/check.d.ts +24 -0
  128. package/dist/artifacts/formula/check.d.ts.map +1 -0
  129. package/dist/artifacts/formula/evaluate.d.ts +32 -0
  130. package/dist/artifacts/formula/evaluate.d.ts.map +1 -0
  131. package/dist/artifacts/formula/index.d.ts +38 -0
  132. package/dist/artifacts/formula/index.d.ts.map +1 -0
  133. package/dist/artifacts/formula/parser.d.ts +67 -0
  134. package/dist/artifacts/formula/parser.d.ts.map +1 -0
  135. package/dist/artifacts/frames/assets.d.ts +30 -0
  136. package/dist/artifacts/frames/assets.d.ts.map +1 -0
  137. package/dist/artifacts/frames/entries.d.ts +19 -0
  138. package/dist/artifacts/frames/entries.d.ts.map +1 -0
  139. package/dist/artifacts/frames/grants.d.ts +37 -0
  140. package/dist/artifacts/frames/grants.d.ts.map +1 -0
  141. package/dist/artifacts/frames/index.d.ts +12 -0
  142. package/dist/artifacts/frames/index.d.ts.map +1 -0
  143. package/dist/artifacts/frames/index.js +1285 -0
  144. package/dist/artifacts/frames/index.js.map +16 -0
  145. package/dist/artifacts/frames/kit.d.ts +71 -0
  146. package/dist/artifacts/frames/kit.d.ts.map +1 -0
  147. package/dist/artifacts/frames/probe.d.ts +45 -0
  148. package/dist/artifacts/frames/probe.d.ts.map +1 -0
  149. package/dist/artifacts/frames/protocol.d.ts +167 -0
  150. package/dist/artifacts/frames/protocol.d.ts.map +1 -0
  151. package/dist/artifacts/frames/runtime.d.ts +31 -0
  152. package/dist/artifacts/frames/runtime.d.ts.map +1 -0
  153. package/dist/artifacts/html.d.ts +6 -0
  154. package/dist/artifacts/html.d.ts.map +1 -0
  155. package/dist/artifacts/ids.d.ts +5 -0
  156. package/dist/artifacts/ids.d.ts.map +1 -0
  157. package/dist/artifacts/index.d.ts +22 -0
  158. package/dist/artifacts/index.d.ts.map +1 -0
  159. package/dist/artifacts/index.js +247 -0
  160. package/dist/artifacts/index.js.map +10 -0
  161. package/dist/artifacts/kinds.d.ts +5 -0
  162. package/dist/artifacts/kinds.d.ts.map +1 -0
  163. package/dist/artifacts/limits.d.ts +58 -0
  164. package/dist/artifacts/limits.d.ts.map +1 -0
  165. package/dist/artifacts/live-sheet.d.ts +65 -0
  166. package/dist/artifacts/live-sheet.d.ts.map +1 -0
  167. package/dist/artifacts/outline.d.ts +70 -0
  168. package/dist/artifacts/outline.d.ts.map +1 -0
  169. package/dist/artifacts/publish/files.d.ts +15 -0
  170. package/dist/artifacts/publish/files.d.ts.map +1 -0
  171. package/dist/artifacts/publish/index.d.ts +7 -0
  172. package/dist/artifacts/publish/index.d.ts.map +1 -0
  173. package/dist/artifacts/publish/index.js +76 -0
  174. package/dist/{chunk-7n30ybym.js.map → artifacts/publish/index.js.map} +1 -1
  175. package/dist/artifacts/publish/publish.d.ts +84 -0
  176. package/dist/artifacts/publish/publish.d.ts.map +1 -0
  177. package/dist/artifacts/publish/queries.d.ts +33 -0
  178. package/dist/artifacts/publish/queries.d.ts.map +1 -0
  179. package/dist/artifacts/publish/references.d.ts +30 -0
  180. package/dist/artifacts/publish/references.d.ts.map +1 -0
  181. package/dist/artifacts/publish/validate/canvas.d.ts +18 -0
  182. package/dist/artifacts/publish/validate/canvas.d.ts.map +1 -0
  183. package/dist/artifacts/publish/validate/document.d.ts +17 -0
  184. package/dist/artifacts/publish/validate/document.d.ts.map +1 -0
  185. package/dist/artifacts/publish/validate/file.d.ts +8 -0
  186. package/dist/artifacts/publish/validate/file.d.ts.map +1 -0
  187. package/dist/artifacts/publish/validate/html.d.ts +20 -0
  188. package/dist/artifacts/publish/validate/html.d.ts.map +1 -0
  189. package/dist/artifacts/publish/validate/page.d.ts +15 -0
  190. package/dist/artifacts/publish/validate/page.d.ts.map +1 -0
  191. package/dist/artifacts/publish/validate/sheet.d.ts +23 -0
  192. package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -0
  193. package/dist/artifacts/publish/validate/slides.d.ts +15 -0
  194. package/dist/artifacts/publish/validate/slides.d.ts.map +1 -0
  195. package/dist/artifacts/queries.d.ts +95 -0
  196. package/dist/artifacts/queries.d.ts.map +1 -0
  197. package/dist/artifacts/references.d.ts +12 -0
  198. package/dist/artifacts/references.d.ts.map +1 -0
  199. package/dist/artifacts/resolve.d.ts +47 -0
  200. package/dist/artifacts/resolve.d.ts.map +1 -0
  201. package/dist/artifacts/run-query.d.ts +26 -0
  202. package/dist/artifacts/run-query.d.ts.map +1 -0
  203. package/dist/artifacts/serialize-query.d.ts +12 -0
  204. package/dist/artifacts/serialize-query.d.ts.map +1 -0
  205. package/dist/artifacts/sheet-rules.d.ts +26 -0
  206. package/dist/artifacts/sheet-rules.d.ts.map +1 -0
  207. package/dist/artifacts/theme.d.ts +19 -0
  208. package/dist/artifacts/theme.d.ts.map +1 -0
  209. package/dist/artifacts/tones.d.ts +8 -0
  210. package/dist/artifacts/tones.d.ts.map +1 -0
  211. package/dist/artifacts/warnings.d.ts +11 -0
  212. package/dist/artifacts/warnings.d.ts.map +1 -0
  213. package/dist/artifacts/workbook.d.ts +135 -0
  214. package/dist/artifacts/workbook.d.ts.map +1 -0
  215. package/dist/auth/index.d.ts +1 -1
  216. package/dist/auth/index.d.ts.map +1 -1
  217. package/dist/auth/index.js +16 -13
  218. package/dist/auth/index.js.map +1 -1
  219. package/dist/auth/member-events.d.ts +13 -0
  220. package/dist/auth/member-events.d.ts.map +1 -0
  221. package/dist/auth/profile.d.ts +11 -0
  222. package/dist/auth/profile.d.ts.map +1 -0
  223. package/dist/auth/runtime.d.ts +31 -3
  224. package/dist/auth/runtime.d.ts.map +1 -1
  225. package/dist/auth/strategy.d.ts +3 -1
  226. package/dist/auth/strategy.d.ts.map +1 -1
  227. package/dist/auth/strategy.js +7 -3
  228. package/dist/auth/strategy.js.map +1 -1
  229. package/dist/auth/types.d.ts +30 -1
  230. package/dist/auth/types.d.ts.map +1 -1
  231. package/dist/authorization/decision.d.ts +17 -0
  232. package/dist/authorization/decision.d.ts.map +1 -1
  233. package/dist/authorization/event-visibility.d.ts +5 -1
  234. package/dist/authorization/event-visibility.d.ts.map +1 -1
  235. package/dist/authorization/grant-kinds.d.ts +2 -2
  236. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  237. package/dist/authorization/index.d.ts +2 -2
  238. package/dist/authorization/index.d.ts.map +1 -1
  239. package/dist/authorization/index.js +14 -9
  240. package/dist/authorization/index.js.map +1 -1
  241. package/dist/authorization/resolve.d.ts +19 -1
  242. package/dist/authorization/resolve.d.ts.map +1 -1
  243. package/dist/authorization/run-visibility.d.ts +8 -1
  244. package/dist/authorization/run-visibility.d.ts.map +1 -1
  245. package/dist/authorization/types.d.ts +14 -0
  246. package/dist/authorization/types.d.ts.map +1 -1
  247. package/dist/blob-storage/browser.js +1 -1
  248. package/dist/blob-storage/index.js +2 -2
  249. package/dist/blob-storage/internal.d.ts +1 -1
  250. package/dist/blob-storage/internal.d.ts.map +1 -1
  251. package/dist/blob-storage/internal.js +11 -5
  252. package/dist/blob-storage/internal.js.map +1 -1
  253. package/dist/blob-storage/media-type.d.ts +12 -0
  254. package/dist/blob-storage/media-type.d.ts.map +1 -1
  255. package/dist/bootstrap/index.js +76 -66
  256. package/dist/bootstrap/index.js.map +2 -2
  257. package/dist/{chunk-tg2cw67r.js → chunk-02bzjgnt.js} +6 -6
  258. package/dist/{chunk-tg2cw67r.js.map → chunk-02bzjgnt.js.map} +1 -1
  259. package/dist/{chunk-mfs23znk.js → chunk-07kkp2e1.js} +1 -1
  260. package/dist/{chunk-6p49a5cq.js → chunk-098anw4f.js} +21 -19
  261. package/dist/chunk-098anw4f.js.map +12 -0
  262. package/dist/{chunk-fkgc1wt8.js → chunk-0phpbbvm.js} +3 -3
  263. package/dist/{chunk-ere85b8y.js → chunk-0xmt5p5y.js} +116 -27
  264. package/dist/chunk-0xmt5p5y.js.map +14 -0
  265. package/dist/{chunk-t6f3tdnr.js → chunk-16a9dmfy.js} +33 -2
  266. package/dist/{chunk-t6f3tdnr.js.map → chunk-16a9dmfy.js.map} +5 -4
  267. package/dist/{chunk-hkc3jct7.js → chunk-18sk89cg.js} +18 -10
  268. package/dist/chunk-18sk89cg.js.map +10 -0
  269. package/dist/{chunk-way52z4h.js → chunk-1t6k1avb.js} +6 -12
  270. package/dist/{chunk-way52z4h.js.map → chunk-1t6k1avb.js.map} +3 -4
  271. package/dist/chunk-2626mh4m.js +693 -0
  272. package/dist/chunk-2626mh4m.js.map +19 -0
  273. package/dist/{chunk-qczk96d9.js → chunk-2adz0h75.js} +13 -4
  274. package/dist/chunk-2adz0h75.js.map +11 -0
  275. package/dist/{chunk-3t2hgbgd.js → chunk-2fn60nvs.js} +40 -8
  276. package/dist/chunk-2fn60nvs.js.map +15 -0
  277. package/dist/{chunk-99nd4rc1.js → chunk-2gjj5dx3.js} +5 -4
  278. package/dist/{chunk-99nd4rc1.js.map → chunk-2gjj5dx3.js.map} +3 -3
  279. package/dist/chunk-3fqxbn31.js +107 -0
  280. package/dist/chunk-3fqxbn31.js.map +11 -0
  281. package/dist/{chunk-y0c4e6ex.js → chunk-3gbefjg5.js} +1 -1
  282. package/dist/{chunk-yzwja0mj.js → chunk-45ngkxkp.js} +52 -31
  283. package/dist/chunk-45ngkxkp.js.map +13 -0
  284. package/dist/{chunk-fa02jy15.js → chunk-48jezz3j.js} +1 -1
  285. package/dist/{chunk-ren4kg2j.js → chunk-4b26qwbg.js} +13 -13
  286. package/dist/{chunk-ren4kg2j.js.map → chunk-4b26qwbg.js.map} +1 -1
  287. package/dist/{chunk-9k93ah50.js → chunk-4f3ydv7t.js} +33 -69
  288. package/dist/chunk-4f3ydv7t.js.map +10 -0
  289. package/dist/chunk-4y26vs3v.js +97 -0
  290. package/dist/chunk-4y26vs3v.js.map +10 -0
  291. package/dist/{chunk-4as3wt1c.js → chunk-4ymrcdbm.js} +7 -3
  292. package/dist/chunk-4ymrcdbm.js.map +12 -0
  293. package/dist/{chunk-hcbyfxbe.js → chunk-5grk14e5.js} +76 -2
  294. package/dist/{chunk-hcbyfxbe.js.map → chunk-5grk14e5.js.map} +4 -3
  295. package/dist/chunk-5tfev0fv.js +676 -0
  296. package/dist/chunk-5tfev0fv.js.map +15 -0
  297. package/dist/chunk-65abf64x.js +13 -0
  298. package/dist/chunk-65abf64x.js.map +10 -0
  299. package/dist/{chunk-hvsb78a1.js → chunk-65pyhyas.js} +114 -107
  300. package/dist/chunk-65pyhyas.js.map +20 -0
  301. package/dist/{chunk-1sr8ryzk.js → chunk-661ezhks.js} +303 -6
  302. package/dist/chunk-661ezhks.js.map +11 -0
  303. package/dist/{chunk-z3y5kg1x.js → chunk-6eqsgvxk.js} +3 -3
  304. package/dist/{chunk-z3y5kg1x.js.map → chunk-6eqsgvxk.js.map} +2 -2
  305. package/dist/{chunk-c85m1hyj.js → chunk-6n69k945.js} +2 -2
  306. package/dist/{chunk-xfs8x8m9.js → chunk-6p0pastb.js} +5 -5
  307. package/dist/{chunk-rrzt8jdy.js → chunk-6rrtzea3.js} +116 -110
  308. package/dist/chunk-6rrtzea3.js.map +14 -0
  309. package/dist/{chunk-t7x8dmn0.js → chunk-6y0mkhex.js} +3 -3
  310. package/dist/{chunk-es1gxsbf.js → chunk-73v685wb.js} +14 -16
  311. package/dist/chunk-73v685wb.js.map +12 -0
  312. package/dist/{chunk-6c6sn0bh.js → chunk-7gr4j2eq.js} +7930 -5973
  313. package/dist/chunk-7gr4j2eq.js.map +120 -0
  314. package/dist/{chunk-hjzdd750.js → chunk-7mc2wkre.js} +391 -91
  315. package/dist/chunk-7mc2wkre.js.map +50 -0
  316. package/dist/chunk-7z5p905k.js +1660 -0
  317. package/dist/chunk-7z5p905k.js.map +22 -0
  318. package/dist/{chunk-3zxk45er.js → chunk-8ncg20rd.js} +3 -68
  319. package/dist/{chunk-3zxk45er.js.map → chunk-8ncg20rd.js.map} +4 -5
  320. package/dist/{chunk-yxd3nnqt.js → chunk-9mab3dvg.js} +26 -2
  321. package/dist/chunk-9mab3dvg.js.map +11 -0
  322. package/dist/chunk-9wr3yajk.js +42 -0
  323. package/dist/chunk-9wr3yajk.js.map +10 -0
  324. package/dist/chunk-a3faa34j.js +74 -0
  325. package/dist/chunk-a3faa34j.js.map +10 -0
  326. package/dist/chunk-az47zep4.js +41 -0
  327. package/dist/chunk-az47zep4.js.map +10 -0
  328. package/dist/{chunk-v9xd5wzd.js → chunk-bab05bhg.js} +1 -1
  329. package/dist/{chunk-5j58wjct.js → chunk-bktev1ds.js} +14 -11
  330. package/dist/{chunk-5j58wjct.js.map → chunk-bktev1ds.js.map} +3 -3
  331. package/dist/{chunk-b38szspf.js → chunk-c0vk1djt.js} +5 -3
  332. package/dist/chunk-c0vk1djt.js.map +11 -0
  333. package/dist/chunk-c69nj7se.js +3 -0
  334. package/dist/chunk-c69nj7se.js.map +9 -0
  335. package/dist/{chunk-0yh890a4.js → chunk-c844dkwd.js} +35 -7
  336. package/dist/{chunk-0yh890a4.js.map → chunk-c844dkwd.js.map} +3 -3
  337. package/dist/{chunk-d09tj99x.js → chunk-cdk3egjj.js} +24 -5
  338. package/dist/chunk-cdk3egjj.js.map +12 -0
  339. package/dist/chunk-cswhawa2.js +113 -0
  340. package/dist/chunk-cswhawa2.js.map +10 -0
  341. package/dist/{chunk-gc4ntf7d.js → chunk-cwdzcv37.js} +1 -1
  342. package/dist/chunk-d2m879s4.js +288 -0
  343. package/dist/chunk-d2m879s4.js.map +12 -0
  344. package/dist/chunk-d7vyc7k6.js +10 -0
  345. package/dist/chunk-d7vyc7k6.js.map +10 -0
  346. package/dist/{chunk-vyf9kfqf.js → chunk-dp0cdtj2.js} +2 -2
  347. package/dist/{chunk-6x0pqh32.js → chunk-e5wf5vz0.js} +3 -1
  348. package/dist/chunk-e5wf5vz0.js.map +10 -0
  349. package/dist/{chunk-bx9q3cwv.js → chunk-efmm01gj.js} +108 -1045
  350. package/dist/chunk-efmm01gj.js.map +18 -0
  351. package/dist/{chunk-tw03bsmb.js → chunk-eptrvnby.js} +224 -3
  352. package/dist/chunk-eptrvnby.js.map +12 -0
  353. package/dist/{chunk-n33z5bjw.js → chunk-ezne9wc9.js} +1762 -502
  354. package/dist/chunk-ezne9wc9.js.map +71 -0
  355. package/dist/chunk-fe8zwt8b.js +688 -0
  356. package/dist/chunk-fe8zwt8b.js.map +19 -0
  357. package/dist/chunk-ff5xkv0p.js +211 -0
  358. package/dist/chunk-ff5xkv0p.js.map +10 -0
  359. package/dist/{chunk-br3k6qbf.js → chunk-fm62y49k.js} +1 -1
  360. package/dist/{chunk-nq6gpjt7.js → chunk-fntqb7qy.js} +30 -4
  361. package/dist/{chunk-nq6gpjt7.js.map → chunk-fntqb7qy.js.map} +5 -5
  362. package/dist/{chunk-1zq2p6g0.js → chunk-fp2kq35z.js} +26 -10
  363. package/dist/{chunk-1zq2p6g0.js.map → chunk-fp2kq35z.js.map} +5 -5
  364. package/dist/chunk-g5bvzyyr.js +32 -0
  365. package/dist/chunk-g5bvzyyr.js.map +10 -0
  366. package/dist/{chunk-9ybhtmg4.js → chunk-g663fahq.js} +2 -2
  367. package/dist/{chunk-k6q3n2sc.js → chunk-gvj5cd3b.js} +29 -13
  368. package/dist/chunk-gvj5cd3b.js.map +12 -0
  369. package/dist/{chunk-yevzdx4y.js → chunk-h33shhq6.js} +10 -12
  370. package/dist/{chunk-yevzdx4y.js.map → chunk-h33shhq6.js.map} +3 -4
  371. package/dist/{chunk-vpq4shxz.js → chunk-h3pbv7n8.js} +1771 -36
  372. package/dist/chunk-h3pbv7n8.js.map +48 -0
  373. package/dist/chunk-hke9aeen.js +9 -0
  374. package/dist/chunk-hke9aeen.js.map +10 -0
  375. package/dist/chunk-hn2r7z41.js.map +1 -1
  376. package/dist/{chunk-pbcbn83d.js → chunk-hqsp2sx4.js} +54 -8
  377. package/dist/chunk-hqsp2sx4.js.map +14 -0
  378. package/dist/{chunk-9w055r5b.js → chunk-hwarjrgf.js} +1 -1
  379. package/dist/{chunk-9dmt152s.js → chunk-hyesv9dv.js} +2 -2
  380. package/dist/chunk-hz5d43gn.js +45 -0
  381. package/dist/chunk-hz5d43gn.js.map +10 -0
  382. package/dist/{chunk-91mg3nj9.js → chunk-j936th07.js} +86 -41
  383. package/dist/chunk-j936th07.js.map +12 -0
  384. package/dist/chunk-jcfw4h7m.js +9 -0
  385. package/dist/chunk-jcfw4h7m.js.map +10 -0
  386. package/dist/chunk-kcqpk9w1.js +75 -0
  387. package/dist/chunk-kcqpk9w1.js.map +10 -0
  388. package/dist/{chunk-x6m907x7.js → chunk-m2nevja0.js} +6 -7
  389. package/dist/{chunk-x6m907x7.js.map → chunk-m2nevja0.js.map} +3 -3
  390. package/dist/{chunk-x9v4cx1d.js → chunk-m36fw8ft.js} +1 -1
  391. package/dist/{chunk-a40ad1ft.js → chunk-mbsbxarb.js} +1 -1
  392. package/dist/chunk-mzx71snp.js +129 -0
  393. package/dist/chunk-mzx71snp.js.map +10 -0
  394. package/dist/{chunk-6aawea28.js → chunk-n8q5j6y5.js} +1 -1
  395. package/dist/{chunk-dk8tkk5f.js → chunk-n9zpx9c6.js} +4 -4
  396. package/dist/{chunk-7t429e3f.js → chunk-npcr0228.js} +1 -1
  397. package/dist/chunk-nydf3dbe.js +663 -0
  398. package/dist/chunk-nydf3dbe.js.map +13 -0
  399. package/dist/chunk-pdt5cw8z.js +233 -0
  400. package/dist/chunk-pdt5cw8z.js.map +11 -0
  401. package/dist/{chunk-rj69qcrd.js → chunk-pgrf64hp.js} +55 -7
  402. package/dist/chunk-pgrf64hp.js.map +12 -0
  403. package/dist/{chunk-z4m0yz8c.js → chunk-q4pmvkg0.js} +1 -1
  404. package/dist/chunk-qhqgp4jf.js +1418 -0
  405. package/dist/chunk-qhqgp4jf.js.map +22 -0
  406. package/dist/chunk-qx00vjrj.js +144 -0
  407. package/dist/chunk-qx00vjrj.js.map +13 -0
  408. package/dist/{chunk-5e43w60z.js → chunk-r6szek0x.js} +184 -7
  409. package/dist/chunk-r6szek0x.js.map +10 -0
  410. package/dist/{chunk-v4jbb3rs.js → chunk-rap5w0x0.js} +156 -2
  411. package/dist/chunk-rap5w0x0.js.map +10 -0
  412. package/dist/{chunk-pfp1txq2.js → chunk-sgx82nnt.js} +5 -31
  413. package/dist/{chunk-pfp1txq2.js.map → chunk-sgx82nnt.js.map} +3 -4
  414. package/dist/{chunk-bkpke1sg.js → chunk-t5608tkq.js} +3 -1
  415. package/dist/{chunk-bkpke1sg.js.map → chunk-t5608tkq.js.map} +3 -3
  416. package/dist/{chunk-29yx306f.js → chunk-tdxfsg1c.js} +507 -265
  417. package/dist/chunk-tdxfsg1c.js.map +23 -0
  418. package/dist/chunk-vabga7fk.js +176 -0
  419. package/dist/chunk-vabga7fk.js.map +12 -0
  420. package/dist/{chunk-gsjm1wms.js → chunk-vhbw5sqm.js} +33 -3
  421. package/dist/chunk-vhbw5sqm.js.map +10 -0
  422. package/dist/{chunk-tpn40322.js → chunk-vpgwq5nf.js} +104 -17
  423. package/dist/chunk-vpgwq5nf.js.map +21 -0
  424. package/dist/{chunk-0rbyz4qy.js → chunk-vyt322b6.js} +586 -171
  425. package/dist/{chunk-0rbyz4qy.js.map → chunk-vyt322b6.js.map} +12 -9
  426. package/dist/chunk-waqk73p1.js +2380 -0
  427. package/dist/chunk-waqk73p1.js.map +23 -0
  428. package/dist/{chunk-jhm3zsa7.js → chunk-wkv3h3q7.js} +64 -2
  429. package/dist/{chunk-jhm3zsa7.js.map → chunk-wkv3h3q7.js.map} +3 -3
  430. package/dist/chunk-wsc1brye.js +27 -0
  431. package/dist/chunk-wsc1brye.js.map +10 -0
  432. package/dist/chunk-x0v3jd47.js +124 -0
  433. package/dist/chunk-x0v3jd47.js.map +10 -0
  434. package/dist/{chunk-96yw3pwd.js → chunk-y7dbmaqh.js} +28 -2
  435. package/dist/chunk-y7dbmaqh.js.map +10 -0
  436. package/dist/{chunk-d0bqz29d.js → chunk-yc9ners4.js} +124 -19
  437. package/dist/{chunk-d0bqz29d.js.map → chunk-yc9ners4.js.map} +8 -8
  438. package/dist/{chunk-8mx7qw3y.js → chunk-zbc929zg.js} +29 -5
  439. package/dist/chunk-zbc929zg.js.map +13 -0
  440. package/dist/chunk-zrvhsq7f.js +37 -0
  441. package/dist/chunk-zrvhsq7f.js.map +10 -0
  442. package/dist/datasets/builders.d.ts +15 -2
  443. package/dist/datasets/builders.d.ts.map +1 -1
  444. package/dist/datasets/column-index.d.ts +7 -0
  445. package/dist/datasets/column-index.d.ts.map +1 -0
  446. package/dist/datasets/execution.d.ts +3 -2
  447. package/dist/datasets/execution.d.ts.map +1 -1
  448. package/dist/datasets/write.js +8 -8
  449. package/dist/error-reporting/internal.js +4 -4
  450. package/dist/errors/catalog.d.ts +26 -0
  451. package/dist/errors/catalog.d.ts.map +1 -1
  452. package/dist/errors/internal.d.ts +1 -0
  453. package/dist/errors/internal.d.ts.map +1 -1
  454. package/dist/errors/internal.js +7 -4
  455. package/dist/errors/internal.js.map +1 -1
  456. package/dist/events/definitions.d.ts +7 -0
  457. package/dist/events/definitions.d.ts.map +1 -1
  458. package/dist/events/execution.d.ts +12 -2
  459. package/dist/events/execution.d.ts.map +1 -1
  460. package/dist/events/index.d.ts +2 -3
  461. package/dist/events/index.d.ts.map +1 -1
  462. package/dist/events/index.js +9 -11
  463. package/dist/events/index.js.map +1 -1
  464. package/dist/events/scope.d.ts.map +1 -1
  465. package/dist/events/scope.js +1 -1
  466. package/dist/events/selectors/builder.d.ts +12 -1
  467. package/dist/events/selectors/builder.d.ts.map +1 -1
  468. package/dist/events/selectors/index.d.ts +2 -2
  469. package/dist/events/selectors/index.d.ts.map +1 -1
  470. package/dist/events/selectors/index.js +2 -2
  471. package/dist/events/selectors/types.d.ts +19 -3
  472. package/dist/events/selectors/types.d.ts.map +1 -1
  473. package/dist/events/service.d.ts +17 -2
  474. package/dist/events/service.d.ts.map +1 -1
  475. package/dist/events/types/index.d.ts +3 -1
  476. package/dist/events/types/index.d.ts.map +1 -1
  477. package/dist/events/types/users.d.ts +63 -0
  478. package/dist/events/types/users.d.ts.map +1 -0
  479. package/dist/events/view-conditions.d.ts +34 -0
  480. package/dist/events/view-conditions.d.ts.map +1 -0
  481. package/dist/execution/agent.d.ts +15 -0
  482. package/dist/execution/agent.d.ts.map +1 -1
  483. package/dist/execution/agent.js +72 -59
  484. package/dist/execution/agent.js.map +1 -1
  485. package/dist/execution/authorization.d.ts.map +1 -1
  486. package/dist/execution/authorized-object-reader.d.ts +102 -12
  487. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  488. package/dist/execution/lineage.d.ts +7 -0
  489. package/dist/execution/lineage.d.ts.map +1 -0
  490. package/dist/execution/object-reader-clearance.d.ts +41 -0
  491. package/dist/execution/object-reader-clearance.d.ts.map +1 -0
  492. package/dist/execution/object-reader-ontology.d.ts +12 -0
  493. package/dist/execution/object-reader-ontology.d.ts.map +1 -0
  494. package/dist/execution/object-reader-security.d.ts +66 -0
  495. package/dist/execution/object-reader-security.d.ts.map +1 -0
  496. package/dist/execution/object-reader-users.d.ts +20 -0
  497. package/dist/execution/object-reader-users.d.ts.map +1 -0
  498. package/dist/execution/preparation.d.ts +23 -0
  499. package/dist/execution/preparation.d.ts.map +1 -0
  500. package/dist/execution/primitive.js +70 -59
  501. package/dist/execution/primitive.js.map +1 -1
  502. package/dist/execution/request.d.ts +2 -1
  503. package/dist/execution/request.d.ts.map +1 -1
  504. package/dist/execution/request.js +72 -57
  505. package/dist/execution/request.js.map +3 -3
  506. package/dist/execution/unique-lookup.d.ts +14 -0
  507. package/dist/execution/unique-lookup.d.ts.map +1 -0
  508. package/dist/execution/visible-objects.d.ts +12 -0
  509. package/dist/execution/visible-objects.d.ts.map +1 -0
  510. package/dist/http/api-routes.d.ts +17 -0
  511. package/dist/http/api-routes.d.ts.map +1 -1
  512. package/dist/http/index.js +1 -1
  513. package/dist/index.d.ts +49 -16
  514. package/dist/index.d.ts.map +1 -1
  515. package/dist/index.js +168 -142
  516. package/dist/index.js.map +1 -1
  517. package/dist/lake-storage/in-memory.d.ts +1 -0
  518. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  519. package/dist/lake-storage/index.d.ts +6 -3
  520. package/dist/lake-storage/index.d.ts.map +1 -1
  521. package/dist/lake-storage/index.js +21 -13
  522. package/dist/lake-storage/index.js.map +1 -1
  523. package/dist/lake-storage/lineage.d.ts +94 -0
  524. package/dist/lake-storage/lineage.d.ts.map +1 -0
  525. package/dist/lake-storage/sql-transforms.d.ts +45 -0
  526. package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
  527. package/dist/lake-storage/types.d.ts +55 -1
  528. package/dist/lake-storage/types.d.ts.map +1 -1
  529. package/dist/lake-storage/version-inputs.d.ts +14 -3
  530. package/dist/lake-storage/version-inputs.d.ts.map +1 -1
  531. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  532. package/dist/materialization/errors.d.ts +25 -0
  533. package/dist/materialization/errors.d.ts.map +1 -1
  534. package/dist/materialization/event-envelopes.d.ts +5 -0
  535. package/dist/materialization/event-envelopes.d.ts.map +1 -1
  536. package/dist/materialization/index.d.ts +1 -1
  537. package/dist/materialization/index.d.ts.map +1 -1
  538. package/dist/materialization/index.js +14 -8
  539. package/dist/materialization/index.js.map +1 -1
  540. package/dist/materialization/model.d.ts +20 -2
  541. package/dist/materialization/model.d.ts.map +1 -1
  542. package/dist/materializer/edits/commit.d.ts.map +1 -1
  543. package/dist/materializer/edits/load-state.d.ts +5 -1
  544. package/dist/materializer/edits/load-state.d.ts.map +1 -1
  545. package/dist/materializer/edits/plan.d.ts.map +1 -1
  546. package/dist/materializer/edits/unique-values.d.ts +47 -0
  547. package/dist/materializer/edits/unique-values.d.ts.map +1 -0
  548. package/dist/materializer/edits/working-state.d.ts +6 -1
  549. package/dist/materializer/edits/working-state.d.ts.map +1 -1
  550. package/dist/materializer/execution/work-records.d.ts +7 -1
  551. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  552. package/dist/materializer/index.js +51 -46
  553. package/dist/materializer/index.js.map +1 -1
  554. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  555. package/dist/materializer/projections/source-materialization.d.ts +1 -0
  556. package/dist/materializer/projections/source-materialization.d.ts.map +1 -1
  557. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  558. package/dist/materializer/shared/projection-run.d.ts +0 -1
  559. package/dist/materializer/shared/projection-run.d.ts.map +1 -1
  560. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  561. package/dist/models/audio/catalog.d.ts +13 -1
  562. package/dist/models/audio/catalog.d.ts.map +1 -1
  563. package/dist/models/audio/errors.d.ts +6 -1
  564. package/dist/models/audio/errors.d.ts.map +1 -1
  565. package/dist/models/audio/runtime.d.ts.map +1 -1
  566. package/dist/models/audio/speech.d.ts +8 -0
  567. package/dist/models/audio/speech.d.ts.map +1 -0
  568. package/dist/models/audio/types.d.ts +93 -0
  569. package/dist/models/audio/types.d.ts.map +1 -1
  570. package/dist/models/calls.d.ts +27 -0
  571. package/dist/models/calls.d.ts.map +1 -0
  572. package/dist/models/catalog-index.d.ts +7 -4
  573. package/dist/models/catalog-index.d.ts.map +1 -1
  574. package/dist/models/catalog.d.ts +55 -3
  575. package/dist/models/catalog.d.ts.map +1 -1
  576. package/dist/models/decision/runtime.d.ts +6 -1
  577. package/dist/models/decision/runtime.d.ts.map +1 -1
  578. package/dist/models/decision/validation.d.ts +4 -1
  579. package/dist/models/decision/validation.d.ts.map +1 -1
  580. package/dist/models/definitions.d.ts +23 -1
  581. package/dist/models/definitions.d.ts.map +1 -1
  582. package/dist/models/events.d.ts +12 -1
  583. package/dist/models/events.d.ts.map +1 -1
  584. package/dist/models/execution/binding.d.ts +3 -1
  585. package/dist/models/execution/binding.d.ts.map +1 -1
  586. package/dist/models/execution/index.d.ts +1 -0
  587. package/dist/models/execution/index.d.ts.map +1 -1
  588. package/dist/models/execution/index.js +50 -39
  589. package/dist/models/execution/index.js.map +1 -1
  590. package/dist/models/execution/model-call-accounting.d.ts.map +1 -1
  591. package/dist/models/execution/model-call-recorder.d.ts +3 -0
  592. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  593. package/dist/models/execution/usage.d.ts.map +1 -1
  594. package/dist/models/execution.d.ts +4 -2
  595. package/dist/models/execution.d.ts.map +1 -1
  596. package/dist/models/generation-types.d.ts +8 -1
  597. package/dist/models/generation-types.d.ts.map +1 -1
  598. package/dist/models/image/catalog.d.ts +13 -0
  599. package/dist/models/image/catalog.d.ts.map +1 -0
  600. package/dist/models/image/errors.d.ts +8 -0
  601. package/dist/models/image/errors.d.ts.map +1 -0
  602. package/dist/models/image/runtime.d.ts +8 -0
  603. package/dist/models/image/runtime.d.ts.map +1 -0
  604. package/dist/models/image/types.d.ts +103 -0
  605. package/dist/models/image/types.d.ts.map +1 -0
  606. package/dist/models/index.d.ts +12 -8
  607. package/dist/models/index.d.ts.map +1 -1
  608. package/dist/models/index.js +17 -7
  609. package/dist/models/index.js.map +1 -1
  610. package/dist/models/input-file.d.ts +9 -0
  611. package/dist/models/input-file.d.ts.map +1 -0
  612. package/dist/models/language-model.d.ts +13 -0
  613. package/dist/models/language-model.d.ts.map +1 -1
  614. package/dist/models/pricing.d.ts +25 -10
  615. package/dist/models/pricing.d.ts.map +1 -1
  616. package/dist/models/rate-card.d.ts +44 -6
  617. package/dist/models/rate-card.d.ts.map +1 -1
  618. package/dist/objects/clearance-redaction.d.ts +27 -0
  619. package/dist/objects/clearance-redaction.d.ts.map +1 -0
  620. package/dist/objects/conditional-writes.d.ts +37 -0
  621. package/dist/objects/conditional-writes.d.ts.map +1 -0
  622. package/dist/objects/execution.d.ts +2 -0
  623. package/dist/objects/execution.d.ts.map +1 -1
  624. package/dist/objects/index.d.ts +1 -0
  625. package/dist/objects/index.d.ts.map +1 -1
  626. package/dist/objects/index.js +77 -60
  627. package/dist/objects/index.js.map +1 -1
  628. package/dist/objects/link/authorization.d.ts +11 -5
  629. package/dist/objects/link/authorization.d.ts.map +1 -1
  630. package/dist/objects/link/endpoints.d.ts +21 -2
  631. package/dist/objects/link/endpoints.d.ts.map +1 -1
  632. package/dist/objects/link/remove.d.ts.map +1 -1
  633. package/dist/objects/link/upsert-batch.d.ts.map +1 -1
  634. package/dist/objects/link/upsert.d.ts.map +1 -1
  635. package/dist/objects/materializer-adapter.d.ts +13 -4
  636. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  637. package/dist/objects/object/delete.d.ts +3 -0
  638. package/dist/objects/object/delete.d.ts.map +1 -1
  639. package/dist/objects/object/upsert-batch.d.ts.map +1 -1
  640. package/dist/objects/object/upsert.d.ts.map +1 -1
  641. package/dist/objects/property-clearance.d.ts +47 -24
  642. package/dist/objects/property-clearance.d.ts.map +1 -1
  643. package/dist/objects/query/clearance-admission.d.ts +10 -0
  644. package/dist/objects/query/clearance-admission.d.ts.map +1 -0
  645. package/dist/objects/query/current-user.d.ts +17 -0
  646. package/dist/objects/query/current-user.d.ts.map +1 -0
  647. package/dist/objects/query/executor.d.ts +14 -0
  648. package/dist/objects/query/executor.d.ts.map +1 -1
  649. package/dist/objects/query/index.d.ts +2 -2
  650. package/dist/objects/query/index.d.ts.map +1 -1
  651. package/dist/objects/query/index.js +55 -49
  652. package/dist/objects/query/index.js.map +1 -1
  653. package/dist/objects/query/ir.d.ts +19 -1
  654. package/dist/objects/query/ir.d.ts.map +1 -1
  655. package/dist/objects/query/link-query-clearance.d.ts +21 -0
  656. package/dist/objects/query/link-query-clearance.d.ts.map +1 -0
  657. package/dist/objects/query/matches-predicate.d.ts +9 -0
  658. package/dist/objects/query/matches-predicate.d.ts.map +1 -0
  659. package/dist/objects/query/normalize.d.ts.map +1 -1
  660. package/dist/objects/query/user-expansions.d.ts +27 -0
  661. package/dist/objects/query/user-expansions.d.ts.map +1 -0
  662. package/dist/objects/query/validate.d.ts.map +1 -1
  663. package/dist/objects/runtime-batch.d.ts +3 -1
  664. package/dist/objects/runtime-batch.d.ts.map +1 -1
  665. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  666. package/dist/objects/sdk/query-executor.d.ts +6 -0
  667. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  668. package/dist/objects/serialize.d.ts +39 -0
  669. package/dist/objects/serialize.d.ts.map +1 -0
  670. package/dist/objects/unique-violation.d.ts +22 -0
  671. package/dist/objects/unique-violation.d.ts.map +1 -0
  672. package/dist/ontology/builders.d.ts +3 -1
  673. package/dist/ontology/builders.d.ts.map +1 -1
  674. package/dist/ontology/docs-markdown.d.ts +1 -1
  675. package/dist/ontology/docs-markdown.d.ts.map +1 -1
  676. package/dist/ontology/index.d.ts +2 -2
  677. package/dist/ontology/index.d.ts.map +1 -1
  678. package/dist/ontology/index.js +13 -9
  679. package/dist/ontology/index.js.map +1 -1
  680. package/dist/ontology/internal.js +9 -7
  681. package/dist/ontology/internal.js.map +3 -3
  682. package/dist/ontology/json-schema.d.ts.map +1 -1
  683. package/dist/ontology/primitives.d.ts +3 -0
  684. package/dist/ontology/primitives.d.ts.map +1 -1
  685. package/dist/ontology/registry.d.ts +6 -0
  686. package/dist/ontology/registry.d.ts.map +1 -1
  687. package/dist/ontology/types.d.ts +9 -0
  688. package/dist/ontology/types.d.ts.map +1 -1
  689. package/dist/ontology/unique-values.d.ts +26 -0
  690. package/dist/ontology/unique-values.d.ts.map +1 -0
  691. package/dist/ontology/user-ref.d.ts +23 -0
  692. package/dist/ontology/user-ref.d.ts.map +1 -1
  693. package/dist/ontology/validation/properties.d.ts.map +1 -1
  694. package/dist/ontology/validation/schema.d.ts.map +1 -1
  695. package/dist/pipelines/index.d.ts +2 -0
  696. package/dist/pipelines/index.d.ts.map +1 -1
  697. package/dist/pipelines/index.js +61 -46
  698. package/dist/pipelines/index.js.map +1 -1
  699. package/dist/pipelines/lineage.d.ts +17 -0
  700. package/dist/pipelines/lineage.d.ts.map +1 -0
  701. package/dist/projections/internal.d.ts +2 -2
  702. package/dist/projections/internal.js +42 -38
  703. package/dist/projections/internal.js.map +1 -1
  704. package/dist/projections/registry.d.ts +4 -0
  705. package/dist/projections/registry.d.ts.map +1 -1
  706. package/dist/projections/revision.d.ts +15 -0
  707. package/dist/projections/revision.d.ts.map +1 -1
  708. package/dist/projections/run-dispatch.d.ts.map +1 -1
  709. package/dist/projections/types.d.ts +2 -0
  710. package/dist/projections/types.d.ts.map +1 -1
  711. package/dist/query.d.ts +4 -2
  712. package/dist/query.d.ts.map +1 -1
  713. package/dist/query.js +2 -2
  714. package/dist/rules/execution.d.ts.map +1 -1
  715. package/dist/runtime/ai-cost.d.ts +2 -0
  716. package/dist/runtime/ai-cost.d.ts.map +1 -1
  717. package/dist/runtime/ai-usage.d.ts +7 -0
  718. package/dist/runtime/ai-usage.d.ts.map +1 -1
  719. package/dist/runtime/create.d.ts +3 -0
  720. package/dist/runtime/create.d.ts.map +1 -1
  721. package/dist/runtime/host.d.ts +6 -0
  722. package/dist/runtime/host.d.ts.map +1 -1
  723. package/dist/runtime/index.d.ts +1 -1
  724. package/dist/runtime/index.d.ts.map +1 -1
  725. package/dist/runtime/internal.d.ts +2 -0
  726. package/dist/runtime/internal.d.ts.map +1 -1
  727. package/dist/runtime/internal.js +58 -50
  728. package/dist/runtime/internal.js.map +1 -1
  729. package/dist/runtime/ontology-mutations.d.ts +2 -0
  730. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  731. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  732. package/dist/runtime/sixb.d.ts +10 -0
  733. package/dist/runtime/sixb.d.ts.map +1 -1
  734. package/dist/runtime/types.d.ts +66 -8
  735. package/dist/runtime/types.d.ts.map +1 -1
  736. package/dist/sandboxes/auth.d.ts +16 -0
  737. package/dist/sandboxes/auth.d.ts.map +1 -1
  738. package/dist/sandboxes/config.d.ts.map +1 -1
  739. package/dist/sandboxes/configuration.d.ts +26 -0
  740. package/dist/sandboxes/configuration.d.ts.map +1 -1
  741. package/dist/sandboxes/index.d.ts +1 -1
  742. package/dist/sandboxes/index.d.ts.map +1 -1
  743. package/dist/sandboxes/index.js +15 -13
  744. package/dist/sandboxes/index.js.map +1 -1
  745. package/dist/sandboxes/sandbox.d.ts +28 -5
  746. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  747. package/dist/schedules/builders.d.ts.map +1 -1
  748. package/dist/schedules/index.js +3 -3
  749. package/dist/schedules/runtime.d.ts.map +1 -1
  750. package/dist/schedules/validation.d.ts.map +1 -1
  751. package/dist/security/applied-markings-contribution.d.ts +58 -0
  752. package/dist/security/applied-markings-contribution.d.ts.map +1 -0
  753. package/dist/security/applied-markings-host.d.ts +10 -0
  754. package/dist/security/applied-markings-host.d.ts.map +1 -0
  755. package/dist/security/applied-markings-snapshot.d.ts +67 -0
  756. package/dist/security/applied-markings-snapshot.d.ts.map +1 -0
  757. package/dist/security/applied-markings.d.ts +73 -0
  758. package/dist/security/applied-markings.d.ts.map +1 -0
  759. package/dist/security/dataset-version-markings.d.ts +47 -0
  760. package/dist/security/dataset-version-markings.d.ts.map +1 -0
  761. package/dist/security/grants.d.ts +13 -4
  762. package/dist/security/grants.d.ts.map +1 -1
  763. package/dist/security/index.d.ts +2 -1
  764. package/dist/security/index.d.ts.map +1 -1
  765. package/dist/security/internal.d.ts +15 -0
  766. package/dist/security/internal.d.ts.map +1 -0
  767. package/dist/security/internal.js +135 -0
  768. package/dist/security/internal.js.map +10 -0
  769. package/dist/security/marking-propagation.d.ts +62 -0
  770. package/dist/security/marking-propagation.d.ts.map +1 -0
  771. package/dist/security/marking-sets.d.ts +14 -0
  772. package/dist/security/marking-sets.d.ts.map +1 -0
  773. package/dist/security/markings.d.ts +6 -3
  774. package/dist/security/markings.d.ts.map +1 -1
  775. package/dist/security/pipeline-markings.d.ts +20 -0
  776. package/dist/security/pipeline-markings.d.ts.map +1 -0
  777. package/dist/security/project.d.ts +7 -0
  778. package/dist/security/project.d.ts.map +1 -0
  779. package/dist/security/projection-markings.d.ts +71 -0
  780. package/dist/security/projection-markings.d.ts.map +1 -0
  781. package/dist/security/public.js +2 -2
  782. package/dist/security/redactions.d.ts +4 -1
  783. package/dist/security/redactions.d.ts.map +1 -1
  784. package/dist/security/registry.d.ts +6 -0
  785. package/dist/security/registry.d.ts.map +1 -1
  786. package/dist/security/types.d.ts +64 -6
  787. package/dist/security/types.d.ts.map +1 -1
  788. package/dist/security/validation.d.ts.map +1 -1
  789. package/dist/security/view-conditions.d.ts +37 -0
  790. package/dist/security/view-conditions.d.ts.map +1 -0
  791. package/dist/shares/execution.d.ts.map +1 -1
  792. package/dist/shares/internal.js +40 -36
  793. package/dist/shares/internal.js.map +2 -2
  794. package/dist/storage/action-runs/failure.js +3 -3
  795. package/dist/storage/action-runs/in-memory.d.ts +4 -0
  796. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  797. package/dist/storage/action-runs/provider.js +1 -1
  798. package/dist/storage/action-runs/types.d.ts +9 -1
  799. package/dist/storage/action-runs/types.d.ts.map +1 -1
  800. package/dist/storage/activity/in-memory.d.ts +55 -0
  801. package/dist/storage/activity/in-memory.d.ts.map +1 -0
  802. package/dist/storage/activity/index.d.ts +3 -0
  803. package/dist/storage/activity/index.d.ts.map +1 -0
  804. package/dist/storage/activity/policy.d.ts +96 -0
  805. package/dist/storage/activity/policy.d.ts.map +1 -0
  806. package/dist/storage/activity/types.d.ts +191 -0
  807. package/dist/storage/activity/types.d.ts.map +1 -0
  808. package/dist/storage/agents/errors.d.ts +3 -1
  809. package/dist/storage/agents/errors.d.ts.map +1 -1
  810. package/dist/storage/agents/in-memory.d.ts +124 -3
  811. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  812. package/dist/storage/agents/index.d.ts +2 -2
  813. package/dist/storage/agents/index.d.ts.map +1 -1
  814. package/dist/storage/agents/provider.d.ts +154 -4
  815. package/dist/storage/agents/provider.d.ts.map +1 -1
  816. package/dist/storage/agents/provider.js +60 -8
  817. package/dist/storage/agents/provider.js.map +1 -1
  818. package/dist/storage/agents/types.d.ts +573 -20
  819. package/dist/storage/agents/types.d.ts.map +1 -1
  820. package/dist/storage/ai-cost/analytics.d.ts +10 -1
  821. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  822. package/dist/storage/ai-cost/groups.d.ts +9 -0
  823. package/dist/storage/ai-cost/groups.d.ts.map +1 -1
  824. package/dist/storage/ai-cost/index.d.ts +1 -1
  825. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  826. package/dist/storage/ai-cost/provider.d.ts +2 -1
  827. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  828. package/dist/storage/ai-cost/provider.js +11 -5
  829. package/dist/storage/ai-cost/provider.js.map +1 -1
  830. package/dist/storage/ai-cost/types.d.ts +14 -2
  831. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  832. package/dist/storage/ai-cost/validation.d.ts.map +1 -1
  833. package/dist/storage/ai-limits/enforcement.js +6 -5
  834. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  835. package/dist/storage/ai-limits/provider.d.ts +1 -1
  836. package/dist/storage/ai-limits/provider.d.ts.map +1 -1
  837. package/dist/storage/ai-limits/provider.js +3 -2
  838. package/dist/storage/ai-limits/provider.js.map +1 -1
  839. package/dist/storage/ai-usage/in-memory.d.ts +5 -1
  840. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
  841. package/dist/storage/ai-usage/index.d.ts +2 -2
  842. package/dist/storage/ai-usage/index.d.ts.map +1 -1
  843. package/dist/storage/ai-usage/record.d.ts +5 -1
  844. package/dist/storage/ai-usage/record.d.ts.map +1 -1
  845. package/dist/storage/ai-usage/types.d.ts +33 -0
  846. package/dist/storage/ai-usage/types.d.ts.map +1 -1
  847. package/dist/storage/ai-usage/usage.d.ts +2 -0
  848. package/dist/storage/ai-usage/usage.d.ts.map +1 -1
  849. package/dist/storage/artifacts/errors.d.ts +18 -0
  850. package/dist/storage/artifacts/errors.d.ts.map +1 -0
  851. package/dist/storage/artifacts/in-memory.d.ts +55 -0
  852. package/dist/storage/artifacts/in-memory.d.ts.map +1 -0
  853. package/dist/storage/artifacts/index.d.ts +5 -0
  854. package/dist/storage/artifacts/index.d.ts.map +1 -0
  855. package/dist/storage/artifacts/record.d.ts +34 -0
  856. package/dist/storage/artifacts/record.d.ts.map +1 -0
  857. package/dist/storage/artifacts/types.d.ts +263 -0
  858. package/dist/storage/artifacts/types.d.ts.map +1 -0
  859. package/dist/storage/auth/in-memory/auth-storage.d.ts +3 -2
  860. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  861. package/dist/storage/auth/in-memory/sessions.d.ts +2 -1
  862. package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
  863. package/dist/storage/auth/in-memory/users.d.ts +7 -3
  864. package/dist/storage/auth/in-memory/users.d.ts.map +1 -1
  865. package/dist/storage/auth/index.d.ts +1 -1
  866. package/dist/storage/auth/index.d.ts.map +1 -1
  867. package/dist/storage/auth/types.d.ts +59 -9
  868. package/dist/storage/auth/types.d.ts.map +1 -1
  869. package/dist/storage/connector-connections/provider.js +2 -2
  870. package/dist/storage/executions/in-memory.d.ts +3 -1
  871. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  872. package/dist/storage/executions/index.d.ts +1 -1
  873. package/dist/storage/executions/index.d.ts.map +1 -1
  874. package/dist/storage/executions/provider.d.ts +2 -0
  875. package/dist/storage/executions/provider.d.ts.map +1 -1
  876. package/dist/storage/executions/provider.js +9 -223
  877. package/dist/storage/executions/provider.js.map +3 -4
  878. package/dist/storage/executions/types.d.ts +46 -0
  879. package/dist/storage/executions/types.d.ts.map +1 -1
  880. package/dist/storage/file-upload-sessions/provider.js +17 -14
  881. package/dist/storage/file-upload-sessions/provider.js.map +1 -1
  882. package/dist/storage/in-memory/index.d.ts +8 -0
  883. package/dist/storage/in-memory/index.d.ts.map +1 -1
  884. package/dist/storage/index.d.ts +15 -11
  885. package/dist/storage/index.d.ts.map +1 -1
  886. package/dist/storage/index.js +78 -66
  887. package/dist/storage/index.js.map +1 -1
  888. package/dist/storage/internal.d.ts +4 -1
  889. package/dist/storage/internal.d.ts.map +1 -1
  890. package/dist/storage/internal.js +80 -19
  891. package/dist/storage/internal.js.map +1 -1
  892. package/dist/storage/migrations/migrate-storage.d.ts +4 -1
  893. package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
  894. package/dist/storage/migrations/prepare-unique-properties.d.ts +18 -0
  895. package/dist/storage/migrations/prepare-unique-properties.d.ts.map +1 -0
  896. package/dist/storage/objects/guard.d.ts +1 -1
  897. package/dist/storage/objects/guard.d.ts.map +1 -1
  898. package/dist/storage/objects/in-memory/conditional-reader.d.ts +5 -0
  899. package/dist/storage/objects/in-memory/conditional-reader.d.ts.map +1 -0
  900. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  901. package/dist/storage/objects/in-memory/read-scope.d.ts +3 -9
  902. package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -1
  903. package/dist/storage/objects/in-memory/read-source.d.ts +10 -1
  904. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  905. package/dist/storage/objects/in-memory/scoped-reader.d.ts +14 -0
  906. package/dist/storage/objects/in-memory/scoped-reader.d.ts.map +1 -0
  907. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  908. package/dist/storage/objects/in-memory/storage.d.ts +36 -1
  909. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  910. package/dist/storage/objects/index.d.ts +2 -2
  911. package/dist/storage/objects/index.d.ts.map +1 -1
  912. package/dist/storage/objects/read-scope.d.ts +9 -1
  913. package/dist/storage/objects/read-scope.d.ts.map +1 -1
  914. package/dist/storage/objects/types.d.ts +64 -1
  915. package/dist/storage/objects/types.d.ts.map +1 -1
  916. package/dist/storage/ontology/in-memory/index.d.ts +2 -0
  917. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  918. package/dist/storage/ontology/in-memory/materializations.d.ts +1 -0
  919. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  920. package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -1
  921. package/dist/storage/ontology/in-memory/sources.d.ts +2 -1
  922. package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
  923. package/dist/storage/ontology/in-memory/unique-values.d.ts +32 -0
  924. package/dist/storage/ontology/in-memory/unique-values.d.ts.map +1 -0
  925. package/dist/storage/ontology/index.d.ts +5 -2
  926. package/dist/storage/ontology/index.d.ts.map +1 -1
  927. package/dist/storage/ontology/materializations.d.ts +34 -1
  928. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  929. package/dist/storage/ontology/provider-work.d.ts +15 -2
  930. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  931. package/dist/storage/ontology/provider.d.ts +1 -1
  932. package/dist/storage/ontology/provider.d.ts.map +1 -1
  933. package/dist/storage/ontology/provider.js +9 -4
  934. package/dist/storage/ontology/provider.js.map +1 -1
  935. package/dist/storage/ontology/sources.d.ts +15 -0
  936. package/dist/storage/ontology/sources.d.ts.map +1 -1
  937. package/dist/storage/ontology/unique-values.d.ts +54 -0
  938. package/dist/storage/ontology/unique-values.d.ts.map +1 -0
  939. package/dist/storage/operation-scope.d.ts +1 -1
  940. package/dist/storage/operation-scope.d.ts.map +1 -1
  941. package/dist/storage/operation-scope.js +1 -1
  942. package/dist/storage/projection-runs/in-memory.d.ts +0 -6
  943. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  944. package/dist/storage/projection-runs/provider.js +3 -3
  945. package/dist/storage/share-grants/in-memory.d.ts +2 -1
  946. package/dist/storage/share-grants/in-memory.d.ts.map +1 -1
  947. package/dist/storage/share-grants/index.d.ts +1 -1
  948. package/dist/storage/share-grants/index.d.ts.map +1 -1
  949. package/dist/storage/share-grants/provider.js +4 -3
  950. package/dist/storage/share-grants/provider.js.map +1 -1
  951. package/dist/storage/share-grants/types.d.ts +6 -0
  952. package/dist/storage/share-grants/types.d.ts.map +1 -1
  953. package/dist/storage/types.d.ts +6 -2
  954. package/dist/storage/types.d.ts.map +1 -1
  955. package/dist/storage/workflow-runs/in-memory.d.ts +4 -0
  956. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  957. package/dist/storage/workflow-runs/provider.js +18 -14
  958. package/dist/storage/workflow-runs/provider.js.map +1 -1
  959. package/dist/storage/workflow-runs/types.d.ts +5 -0
  960. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  961. package/dist/syncs/index.js +49 -45
  962. package/dist/syncs/index.js.map +1 -1
  963. package/dist/testing/action-run-storage-contract.d.ts.map +1 -1
  964. package/dist/testing/activity-storage-contract.d.ts +14 -0
  965. package/dist/testing/activity-storage-contract.d.ts.map +1 -0
  966. package/dist/testing/agent-approval-storage-contract.d.ts +17 -0
  967. package/dist/testing/agent-approval-storage-contract.d.ts.map +1 -0
  968. package/dist/testing/agent-memory-storage-contract.d.ts +12 -0
  969. package/dist/testing/agent-memory-storage-contract.d.ts.map +1 -0
  970. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  971. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  972. package/dist/testing/ai-limit-storage-contract.d.ts +0 -1
  973. package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
  974. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
  975. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
  976. package/dist/testing/artifact-storage-contract.d.ts +13 -0
  977. package/dist/testing/artifact-storage-contract.d.ts.map +1 -0
  978. package/dist/testing/auth-storage-contract.d.ts +13 -0
  979. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  980. package/dist/testing/broker-contract.d.ts +5 -0
  981. package/dist/testing/broker-contract.d.ts.map +1 -1
  982. package/dist/testing/effective-storage-contract.d.ts.map +1 -1
  983. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  984. package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -1
  985. package/dist/testing/index.d.ts +11 -5
  986. package/dist/testing/index.d.ts.map +1 -1
  987. package/dist/testing/index.js +9340 -3794
  988. package/dist/testing/index.js.map +32 -26
  989. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
  990. package/dist/testing/lake-storage-contract.d.ts +2 -0
  991. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  992. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  993. package/dist/testing/object-conditional-read-scope-contract.d.ts +11 -0
  994. package/dist/testing/object-conditional-read-scope-contract.d.ts.map +1 -0
  995. package/dist/testing/object-query-contract.d.ts +0 -2
  996. package/dist/testing/object-query-contract.d.ts.map +1 -1
  997. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  998. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  999. package/dist/testing/queues-contract.d.ts +5 -0
  1000. package/dist/testing/queues-contract.d.ts.map +1 -1
  1001. package/dist/testing/sandboxes-contract.d.ts.map +1 -1
  1002. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
  1003. package/dist/testing/share-session-storage-contract.d.ts.map +1 -1
  1004. package/dist/testing/unique-values-contract.d.ts +21 -0
  1005. package/dist/testing/unique-values-contract.d.ts.map +1 -0
  1006. package/dist/testing/webhook-execution.d.ts +0 -8
  1007. package/dist/testing/webhook-execution.d.ts.map +1 -1
  1008. package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -1
  1009. package/dist/users/execution.d.ts +40 -0
  1010. package/dist/users/execution.d.ts.map +1 -0
  1011. package/dist/users/index.d.ts +3 -0
  1012. package/dist/users/index.d.ts.map +1 -0
  1013. package/dist/webhooks/internal.js +42 -38
  1014. package/dist/webhooks/internal.js.map +2 -2
  1015. package/dist/workers/index.js +5 -7
  1016. package/dist/workers/index.js.map +4 -4
  1017. package/dist/workers/queue-worker.d.ts +0 -2
  1018. package/dist/workers/queue-worker.d.ts.map +1 -1
  1019. package/dist/workers/worker.d.ts +0 -2
  1020. package/dist/workers/worker.d.ts.map +1 -1
  1021. package/dist/workflows/builders.d.ts.map +1 -1
  1022. package/dist/workflows/index.js +76 -66
  1023. package/dist/workflows/index.js.map +1 -1
  1024. package/dist/workflows/request.d.ts +12 -1
  1025. package/dist/workflows/request.d.ts.map +1 -1
  1026. package/dist/workflows/types.d.ts +15 -2
  1027. package/dist/workflows/types.d.ts.map +1 -1
  1028. package/dist/workflows/validation.d.ts +7 -0
  1029. package/dist/workflows/validation.d.ts.map +1 -1
  1030. package/package.json +25 -1
  1031. package/src/actions/commit-edits.ts +6 -1
  1032. package/src/actions/execution.ts +55 -23
  1033. package/src/actions/read-facade.ts +33 -0
  1034. package/src/actions/request.ts +234 -66
  1035. package/src/actions/run/context.ts +47 -1
  1036. package/src/actions/run/execute.ts +13 -6
  1037. package/src/actions/run/executor.ts +11 -2
  1038. package/src/actions/run/normalize.ts +12 -2
  1039. package/src/actions/run/phases.ts +2 -0
  1040. package/src/actions/run/run-action.ts +12 -3
  1041. package/src/actions/run/signals.ts +3 -9
  1042. package/src/actions/run/types.ts +17 -1
  1043. package/src/actions/run-authorization.ts +95 -0
  1044. package/src/actions/types/context.ts +20 -3
  1045. package/src/actions/validators.ts +19 -8
  1046. package/src/activity/README.md +158 -0
  1047. package/src/activity/connection.ts +217 -0
  1048. package/src/activity/device.ts +41 -0
  1049. package/src/activity/execution.ts +210 -0
  1050. package/src/activity/service.ts +274 -0
  1051. package/src/activity/shares.ts +62 -0
  1052. package/src/activity/timeline.ts +385 -0
  1053. package/src/agents/accounting.ts +59 -0
  1054. package/src/agents/adapters.ts +10 -0
  1055. package/src/agents/agent-mail.ts +29 -0
  1056. package/src/agents/api-gateway.ts +14 -3
  1057. package/src/agents/approval-continuation.ts +48 -0
  1058. package/src/agents/approval-executor.ts +318 -0
  1059. package/src/agents/approval-outcome.ts +59 -0
  1060. package/src/agents/approvals.ts +566 -0
  1061. package/src/agents/authority.ts +24 -1
  1062. package/src/agents/builders.ts +5 -3
  1063. package/src/agents/cancel.ts +103 -0
  1064. package/src/agents/child-question.ts +46 -0
  1065. package/src/agents/children.ts +404 -0
  1066. package/src/agents/context-compaction.ts +12 -0
  1067. package/src/agents/errors.ts +31 -0
  1068. package/src/agents/execution.ts +788 -90
  1069. package/src/agents/fork.ts +158 -0
  1070. package/src/agents/ids.ts +18 -6
  1071. package/src/agents/index.ts +63 -3
  1072. package/src/agents/memory-execution.ts +186 -0
  1073. package/src/agents/memory.ts +178 -0
  1074. package/src/agents/message.ts +57 -0
  1075. package/src/agents/model-loop.ts +93 -6
  1076. package/src/agents/model-routing.ts +193 -0
  1077. package/src/agents/participants.ts +213 -0
  1078. package/src/agents/reference.ts +2 -0
  1079. package/src/agents/request.ts +398 -64
  1080. package/src/agents/run-scope.ts +134 -0
  1081. package/src/agents/skills.ts +6 -0
  1082. package/src/agents/streams/index.ts +5 -0
  1083. package/src/agents/streams/internal.ts +1 -0
  1084. package/src/agents/streams/protocol.ts +385 -7
  1085. package/src/agents/subagent-runs.ts +41 -0
  1086. package/src/agents/thread-access.ts +137 -0
  1087. package/src/agents/tool-definition.ts +5 -3
  1088. package/src/agents/types.ts +43 -18
  1089. package/src/agents/validation.ts +4 -0
  1090. package/src/artifacts/access.ts +125 -0
  1091. package/src/artifacts/address.ts +132 -0
  1092. package/src/artifacts/canvas.ts +369 -0
  1093. package/src/artifacts/csv.ts +118 -0
  1094. package/src/artifacts/errors.ts +32 -0
  1095. package/src/artifacts/execution.ts +553 -0
  1096. package/src/artifacts/formula/check.ts +171 -0
  1097. package/src/artifacts/formula/evaluate.ts +288 -0
  1098. package/src/artifacts/formula/index.ts +199 -0
  1099. package/src/artifacts/formula/parser.ts +357 -0
  1100. package/src/artifacts/frames/assets.ts +104 -0
  1101. package/src/artifacts/frames/entries.ts +35 -0
  1102. package/src/artifacts/frames/grants.ts +125 -0
  1103. package/src/artifacts/frames/index.ts +21 -0
  1104. package/src/artifacts/frames/kit.ts +569 -0
  1105. package/src/artifacts/frames/probe.ts +357 -0
  1106. package/src/artifacts/frames/protocol.ts +328 -0
  1107. package/src/artifacts/frames/runtime.ts +458 -0
  1108. package/src/artifacts/html.ts +25 -0
  1109. package/src/artifacts/ids.ts +18 -0
  1110. package/src/artifacts/index.ts +125 -0
  1111. package/src/artifacts/kinds.ts +8 -0
  1112. package/src/artifacts/limits.ts +58 -0
  1113. package/src/artifacts/live-sheet.ts +345 -0
  1114. package/src/artifacts/outline.ts +95 -0
  1115. package/src/artifacts/publish/files.ts +87 -0
  1116. package/src/artifacts/publish/index.ts +14 -0
  1117. package/src/artifacts/publish/publish.ts +336 -0
  1118. package/src/artifacts/publish/queries.ts +336 -0
  1119. package/src/artifacts/publish/references.ts +135 -0
  1120. package/src/artifacts/publish/validate/canvas.ts +118 -0
  1121. package/src/artifacts/publish/validate/document.ts +114 -0
  1122. package/src/artifacts/publish/validate/file.ts +19 -0
  1123. package/src/artifacts/publish/validate/html.ts +78 -0
  1124. package/src/artifacts/publish/validate/page.ts +65 -0
  1125. package/src/artifacts/publish/validate/sheet.ts +297 -0
  1126. package/src/artifacts/publish/validate/slides.ts +82 -0
  1127. package/src/artifacts/queries.ts +512 -0
  1128. package/src/artifacts/references.ts +11 -0
  1129. package/src/artifacts/resolve.ts +112 -0
  1130. package/src/artifacts/run-query.ts +212 -0
  1131. package/src/artifacts/serialize-query.ts +25 -0
  1132. package/src/artifacts/sheet-rules.ts +180 -0
  1133. package/src/artifacts/theme.ts +116 -0
  1134. package/src/artifacts/tones.ts +20 -0
  1135. package/src/artifacts/warnings.ts +10 -0
  1136. package/src/artifacts/workbook.ts +674 -0
  1137. package/src/auth/index.ts +4 -0
  1138. package/src/auth/member-events.ts +114 -0
  1139. package/src/auth/profile.ts +118 -0
  1140. package/src/auth/runtime.ts +190 -9
  1141. package/src/auth/strategy.ts +3 -0
  1142. package/src/auth/types.ts +32 -0
  1143. package/src/authorization/decision.ts +52 -0
  1144. package/src/authorization/event-visibility.ts +17 -16
  1145. package/src/authorization/grant-kinds.ts +46 -2
  1146. package/src/authorization/index.ts +6 -1
  1147. package/src/authorization/resolve.ts +58 -1
  1148. package/src/authorization/run-visibility.ts +8 -1
  1149. package/src/authorization/types.ts +14 -0
  1150. package/src/blob-storage/internal.ts +1 -1
  1151. package/src/blob-storage/media-type.ts +69 -0
  1152. package/src/datasets/builders.ts +66 -2
  1153. package/src/datasets/column-index.ts +19 -0
  1154. package/src/datasets/execution.ts +23 -9
  1155. package/src/errors/catalog.ts +26 -1
  1156. package/src/errors/internal.ts +18 -8
  1157. package/src/events/definitions.ts +26 -0
  1158. package/src/events/execution.ts +171 -21
  1159. package/src/events/index.ts +10 -1
  1160. package/src/events/scope.ts +2 -0
  1161. package/src/events/selectors/builder.ts +50 -0
  1162. package/src/events/selectors/index.ts +4 -0
  1163. package/src/events/selectors/types.ts +32 -1
  1164. package/src/events/service.ts +55 -2
  1165. package/src/events/types/index.ts +10 -0
  1166. package/src/events/types/users.ts +73 -0
  1167. package/src/events/view-conditions.ts +241 -0
  1168. package/src/execution/agent.ts +25 -0
  1169. package/src/execution/authorization.ts +70 -0
  1170. package/src/execution/authorized-object-reader.ts +486 -266
  1171. package/src/execution/lineage.ts +14 -0
  1172. package/src/execution/object-reader-clearance.ts +91 -0
  1173. package/src/execution/object-reader-ontology.ts +60 -0
  1174. package/src/execution/object-reader-security.ts +270 -0
  1175. package/src/execution/object-reader-users.ts +122 -0
  1176. package/src/execution/preparation.ts +78 -0
  1177. package/src/execution/request.ts +2 -0
  1178. package/src/execution/unique-lookup.ts +55 -0
  1179. package/src/execution/visible-objects.ts +26 -0
  1180. package/src/http/api-routes.ts +331 -7
  1181. package/src/index.ts +169 -4
  1182. package/src/lake-storage/in-memory.ts +26 -3
  1183. package/src/lake-storage/index.ts +13 -1
  1184. package/src/lake-storage/lineage.ts +385 -0
  1185. package/src/lake-storage/sql-transforms.ts +45 -0
  1186. package/src/lake-storage/types.ts +59 -1
  1187. package/src/lake-storage/version-inputs.ts +35 -6
  1188. package/src/maintenance/ontology-maintenance.ts +15 -0
  1189. package/src/materialization/errors.ts +37 -0
  1190. package/src/materialization/event-envelopes.ts +11 -3
  1191. package/src/materialization/index.ts +1 -0
  1192. package/src/materialization/model.ts +24 -4
  1193. package/src/materializer/README.md +7 -1
  1194. package/src/materializer/edits/commit.ts +56 -12
  1195. package/src/materializer/edits/load-state.ts +15 -7
  1196. package/src/materializer/edits/operations.ts +12 -0
  1197. package/src/materializer/edits/plan.ts +2 -0
  1198. package/src/materializer/edits/unique-values.ts +255 -0
  1199. package/src/materializer/edits/working-state.ts +8 -1
  1200. package/src/materializer/execution/work-records.ts +47 -0
  1201. package/src/materializer/projections/finish-run.ts +0 -1
  1202. package/src/materializer/projections/replace.ts +1 -1
  1203. package/src/materializer/projections/replacement-plan.ts +4 -1
  1204. package/src/materializer/projections/source-materialization.ts +2 -1
  1205. package/src/materializer/shared/normalize.ts +37 -6
  1206. package/src/materializer/shared/projection-run.ts +1 -2
  1207. package/src/materializer/telemetry/append.ts +14 -17
  1208. package/src/materializer/telemetry/plan.ts +2 -0
  1209. package/src/models/audio/catalog.ts +89 -10
  1210. package/src/models/audio/errors.ts +18 -1
  1211. package/src/models/audio/runtime.ts +10 -13
  1212. package/src/models/audio/speech.ts +261 -0
  1213. package/src/models/audio/types.ts +97 -0
  1214. package/src/models/calls.ts +100 -0
  1215. package/src/models/catalog-index.ts +21 -2
  1216. package/src/models/catalog.ts +211 -35
  1217. package/src/models/decision/runtime.ts +21 -22
  1218. package/src/models/decision/validation.ts +4 -1
  1219. package/src/models/definitions.ts +57 -8
  1220. package/src/models/events.ts +72 -1
  1221. package/src/models/execution/README.md +34 -5
  1222. package/src/models/execution/binding.ts +3 -1
  1223. package/src/models/execution/embedding.ts +1 -0
  1224. package/src/models/execution/index.ts +5 -0
  1225. package/src/models/execution/model-call-accounting.ts +3 -1
  1226. package/src/models/execution/model-call-recorder.ts +29 -1
  1227. package/src/models/execution/usage.ts +8 -0
  1228. package/src/models/execution.ts +20 -22
  1229. package/src/models/generation-types.ts +8 -1
  1230. package/src/models/image/catalog.ts +89 -0
  1231. package/src/models/image/errors.ts +19 -0
  1232. package/src/models/image/runtime.ts +335 -0
  1233. package/src/models/image/types.ts +111 -0
  1234. package/src/models/index.ts +38 -4
  1235. package/src/models/{audio/file.ts → input-file.ts} +22 -13
  1236. package/src/models/language-model.ts +13 -0
  1237. package/src/models/pricing.ts +263 -42
  1238. package/src/models/rate-card.ts +161 -12
  1239. package/src/objects/authorized-ontology-view.ts +1 -0
  1240. package/src/objects/clearance-redaction.ts +138 -0
  1241. package/src/objects/conditional-writes.ts +109 -0
  1242. package/src/objects/execution.ts +4 -0
  1243. package/src/objects/index.ts +8 -0
  1244. package/src/objects/link/authorization.ts +37 -8
  1245. package/src/objects/link/endpoints.ts +42 -11
  1246. package/src/objects/link/remove.ts +27 -12
  1247. package/src/objects/link/upsert-batch.ts +9 -5
  1248. package/src/objects/link/upsert.ts +20 -14
  1249. package/src/objects/materializer-adapter.ts +55 -18
  1250. package/src/objects/object/delete.ts +26 -7
  1251. package/src/objects/object/upsert-batch.ts +46 -18
  1252. package/src/objects/object/upsert.ts +25 -8
  1253. package/src/objects/property-clearance.ts +171 -152
  1254. package/src/objects/query/clearance-admission.ts +112 -0
  1255. package/src/objects/query/current-user.ts +76 -0
  1256. package/src/objects/query/executor.ts +39 -103
  1257. package/src/objects/query/explain.ts +20 -7
  1258. package/src/objects/query/index.ts +2 -0
  1259. package/src/objects/query/ir.ts +20 -0
  1260. package/src/objects/query/link-query-clearance.ts +73 -0
  1261. package/src/objects/query/links.ts +8 -0
  1262. package/src/objects/query/matches-predicate.ts +108 -0
  1263. package/src/objects/query/normalize.ts +50 -19
  1264. package/src/objects/query/scalar-values.ts +19 -3
  1265. package/src/objects/query/user-expansions.ts +65 -0
  1266. package/src/objects/query/validate.ts +248 -10
  1267. package/src/objects/runtime-batch.ts +8 -2
  1268. package/src/objects/sdk/object-set.ts +12 -1
  1269. package/src/objects/sdk/query-builder.ts +39 -8
  1270. package/src/objects/sdk/query-executor.ts +6 -0
  1271. package/src/objects/serialize.ts +79 -0
  1272. package/src/objects/unique-violation.ts +59 -0
  1273. package/src/objects/vectors/handle.ts +3 -3
  1274. package/src/ontology/builders.ts +15 -1
  1275. package/src/ontology/docs-markdown.ts +2 -1
  1276. package/src/ontology/index.ts +2 -2
  1277. package/src/ontology/json-schema.ts +4 -0
  1278. package/src/ontology/primitives.ts +21 -8
  1279. package/src/ontology/registry.ts +16 -0
  1280. package/src/ontology/types.ts +9 -0
  1281. package/src/ontology/unique-values.ts +84 -0
  1282. package/src/ontology/user-ref.ts +39 -0
  1283. package/src/ontology/validation/properties.ts +43 -0
  1284. package/src/ontology/validation/schema.ts +9 -1
  1285. package/src/pipelines/index.ts +2 -0
  1286. package/src/pipelines/lineage.ts +45 -0
  1287. package/src/projections/internal.ts +2 -2
  1288. package/src/projections/registry.ts +16 -10
  1289. package/src/projections/revision.ts +112 -45
  1290. package/src/projections/run-dispatch.ts +38 -25
  1291. package/src/projections/types.ts +2 -0
  1292. package/src/query.ts +5 -0
  1293. package/src/rules/execution.ts +43 -11
  1294. package/src/runtime/ai-cost.ts +30 -0
  1295. package/src/runtime/ai-usage.ts +32 -1
  1296. package/src/runtime/create.ts +4 -0
  1297. package/src/runtime/host.ts +73 -1
  1298. package/src/runtime/index.ts +2 -0
  1299. package/src/runtime/internal.ts +2 -0
  1300. package/src/runtime/ontology-mutations.ts +19 -4
  1301. package/src/runtime/resolve-definitions.ts +69 -3
  1302. package/src/runtime/sixb.ts +53 -9
  1303. package/src/runtime/types.ts +99 -9
  1304. package/src/sandboxes/README.md +29 -7
  1305. package/src/sandboxes/auth.ts +16 -0
  1306. package/src/sandboxes/config.ts +2 -7
  1307. package/src/sandboxes/configuration.ts +61 -7
  1308. package/src/sandboxes/index.ts +1 -0
  1309. package/src/sandboxes/sandbox.ts +27 -5
  1310. package/src/schedules/builders.ts +3 -1
  1311. package/src/schedules/runtime.ts +6 -0
  1312. package/src/schedules/validation.ts +23 -1
  1313. package/src/security/README.md +62 -0
  1314. package/src/security/applied-markings-contribution.ts +277 -0
  1315. package/src/security/applied-markings-host.ts +41 -0
  1316. package/src/security/applied-markings-snapshot.ts +235 -0
  1317. package/src/security/applied-markings.ts +405 -0
  1318. package/src/security/dataset-version-markings.ts +163 -0
  1319. package/src/security/grants.ts +191 -11
  1320. package/src/security/index.ts +5 -0
  1321. package/src/security/internal.ts +18 -0
  1322. package/src/security/marking-propagation.ts +255 -0
  1323. package/src/security/marking-sets.ts +42 -0
  1324. package/src/security/markings.ts +29 -178
  1325. package/src/security/pipeline-markings.ts +175 -0
  1326. package/src/security/project.ts +13 -0
  1327. package/src/security/projection-markings.ts +421 -0
  1328. package/src/security/redactions.ts +7 -2
  1329. package/src/security/registry.ts +32 -7
  1330. package/src/security/types.ts +68 -5
  1331. package/src/security/validation.ts +34 -11
  1332. package/src/security/view-conditions.ts +215 -0
  1333. package/src/shares/execution.ts +43 -10
  1334. package/src/storage/action-runs/in-memory.ts +18 -0
  1335. package/src/storage/action-runs/types.ts +10 -0
  1336. package/src/storage/activity/in-memory.ts +374 -0
  1337. package/src/storage/activity/index.ts +27 -0
  1338. package/src/storage/activity/policy.ts +430 -0
  1339. package/src/storage/activity/types.ts +211 -0
  1340. package/src/storage/agents/errors.ts +3 -0
  1341. package/src/storage/agents/in-memory.ts +789 -32
  1342. package/src/storage/agents/index.ts +42 -0
  1343. package/src/storage/agents/provider.ts +730 -16
  1344. package/src/storage/agents/types.ts +628 -27
  1345. package/src/storage/ai-cost/analytics.ts +60 -7
  1346. package/src/storage/ai-cost/codec.ts +6 -1
  1347. package/src/storage/ai-cost/groups.ts +44 -1
  1348. package/src/storage/ai-cost/index.ts +1 -0
  1349. package/src/storage/ai-cost/provider.ts +2 -0
  1350. package/src/storage/ai-cost/types.ts +18 -1
  1351. package/src/storage/ai-cost/validation.ts +39 -12
  1352. package/src/storage/ai-limits/provider.ts +4 -7
  1353. package/src/storage/ai-usage/in-memory.ts +28 -1
  1354. package/src/storage/ai-usage/index.ts +9 -1
  1355. package/src/storage/ai-usage/record.ts +44 -7
  1356. package/src/storage/ai-usage/types.ts +38 -0
  1357. package/src/storage/ai-usage/usage.ts +15 -1
  1358. package/src/storage/artifacts/errors.ts +28 -0
  1359. package/src/storage/artifacts/in-memory.ts +388 -0
  1360. package/src/storage/artifacts/index.ts +35 -0
  1361. package/src/storage/artifacts/record.ts +260 -0
  1362. package/src/storage/artifacts/types.ts +293 -0
  1363. package/src/storage/auth/in-memory/auth-storage.ts +27 -2
  1364. package/src/storage/auth/in-memory/sessions.ts +21 -0
  1365. package/src/storage/auth/in-memory/users.ts +40 -6
  1366. package/src/storage/auth/index.ts +3 -0
  1367. package/src/storage/auth/types.ts +61 -7
  1368. package/src/storage/executions/in-memory.ts +93 -1
  1369. package/src/storage/executions/index.ts +5 -0
  1370. package/src/storage/executions/provider.ts +12 -0
  1371. package/src/storage/executions/types.ts +47 -0
  1372. package/src/storage/in-memory/index.ts +16 -0
  1373. package/src/storage/index.ts +132 -1
  1374. package/src/storage/internal.ts +39 -1
  1375. package/src/storage/migrations/migrate-storage.ts +8 -1
  1376. package/src/storage/migrations/prepare-unique-properties.ts +161 -0
  1377. package/src/storage/objects/guard.ts +7 -3
  1378. package/src/storage/objects/in-memory/conditional-reader.ts +72 -0
  1379. package/src/storage/objects/in-memory/query.ts +4 -105
  1380. package/src/storage/objects/in-memory/read-scope.ts +15 -14
  1381. package/src/storage/objects/in-memory/read-source.ts +11 -1
  1382. package/src/storage/objects/in-memory/scoped-reader.ts +243 -0
  1383. package/src/storage/objects/in-memory/selected-reader.ts +6 -231
  1384. package/src/storage/objects/in-memory/storage.ts +183 -1
  1385. package/src/storage/objects/index.ts +9 -1
  1386. package/src/storage/objects/read-scope.ts +191 -0
  1387. package/src/storage/objects/types.ts +68 -1
  1388. package/src/storage/ontology/in-memory/index.ts +3 -0
  1389. package/src/storage/ontology/in-memory/materializations.ts +35 -0
  1390. package/src/storage/ontology/in-memory/replacement-plans.ts +4 -0
  1391. package/src/storage/ontology/in-memory/sources.ts +23 -0
  1392. package/src/storage/ontology/in-memory/unique-values.ts +62 -0
  1393. package/src/storage/ontology/index.ts +12 -0
  1394. package/src/storage/ontology/materializations.ts +35 -1
  1395. package/src/storage/ontology/provider-work.ts +76 -0
  1396. package/src/storage/ontology/provider.ts +3 -0
  1397. package/src/storage/ontology/sources.ts +17 -0
  1398. package/src/storage/ontology/unique-values.ts +56 -0
  1399. package/src/storage/operation-scope.ts +9 -1
  1400. package/src/storage/projection-runs/in-memory.ts +3 -35
  1401. package/src/storage/share-grants/in-memory.ts +8 -0
  1402. package/src/storage/share-grants/index.ts +1 -0
  1403. package/src/storage/share-grants/types.ts +8 -0
  1404. package/src/storage/types.ts +6 -0
  1405. package/src/storage/workflow-runs/in-memory.ts +16 -0
  1406. package/src/storage/workflow-runs/types.ts +5 -0
  1407. package/src/testing/action-run-storage-contract.ts +25 -0
  1408. package/src/testing/activity-storage-contract.ts +840 -0
  1409. package/src/testing/agent-approval-storage-contract.ts +1117 -0
  1410. package/src/testing/agent-memory-storage-contract.ts +400 -0
  1411. package/src/testing/agent-storage-contract.ts +1206 -50
  1412. package/src/testing/ai-cost-storage-contract.ts +31 -1
  1413. package/src/testing/ai-limit-storage-contract.ts +9 -7
  1414. package/src/testing/ai-model-call-groups-contract.ts +76 -0
  1415. package/src/testing/ai-usage-storage-contract.ts +120 -13
  1416. package/src/testing/artifact-storage-contract.ts +851 -0
  1417. package/src/testing/auth-storage-contract.ts +597 -73
  1418. package/src/testing/broker-contract.ts +28 -23
  1419. package/src/testing/effective-storage-contract.ts +3 -8
  1420. package/src/testing/execution-storage-contract.ts +200 -1
  1421. package/src/testing/file-upload-session-storage-contract.ts +12 -24
  1422. package/src/testing/index.ts +26 -4
  1423. package/src/testing/lake-merge-storage-contract.ts +38 -0
  1424. package/src/testing/lake-storage-contract.ts +269 -30
  1425. package/src/testing/materializer-storage-contract.ts +37 -9
  1426. package/src/testing/object-conditional-read-scope-contract.ts +634 -0
  1427. package/src/testing/object-query-contract.ts +386 -186
  1428. package/src/testing/ontology-storage-contract.ts +286 -22
  1429. package/src/testing/projection-run-storage-contract.ts +8 -18
  1430. package/src/testing/queues-contract.ts +39 -70
  1431. package/src/testing/sandboxes-contract.ts +3 -14
  1432. package/src/testing/share-grant-storage-contract.ts +28 -16
  1433. package/src/testing/share-session-storage-contract.ts +4 -14
  1434. package/src/testing/unique-values-contract.ts +907 -0
  1435. package/src/testing/webhook-execution.ts +1 -1
  1436. package/src/testing/webhook-run-storage-contract.ts +6 -9
  1437. package/src/users/execution.ts +131 -0
  1438. package/src/users/index.ts +2 -0
  1439. package/src/workers/queue-worker.ts +1 -3
  1440. package/src/workers/worker.ts +1 -3
  1441. package/src/workflows/builders.ts +20 -0
  1442. package/src/workflows/request.ts +46 -8
  1443. package/src/workflows/types.ts +15 -2
  1444. package/src/workflows/validation.ts +95 -9
  1445. package/dist/chunk-1k89ecfr.js +0 -85
  1446. package/dist/chunk-1k89ecfr.js.map +0 -10
  1447. package/dist/chunk-1sr8ryzk.js.map +0 -11
  1448. package/dist/chunk-29yx306f.js.map +0 -22
  1449. package/dist/chunk-3t2hgbgd.js.map +0 -15
  1450. package/dist/chunk-4as3wt1c.js.map +0 -12
  1451. package/dist/chunk-4vyr1j8f.js +0 -128
  1452. package/dist/chunk-4vyr1j8f.js.map +0 -11
  1453. package/dist/chunk-5e43w60z.js.map +0 -10
  1454. package/dist/chunk-6c6sn0bh.js.map +0 -106
  1455. package/dist/chunk-6p49a5cq.js.map +0 -12
  1456. package/dist/chunk-6x0pqh32.js.map +0 -10
  1457. package/dist/chunk-7n30ybym.js +0 -3
  1458. package/dist/chunk-7n440zgt.js +0 -261
  1459. package/dist/chunk-7n440zgt.js.map +0 -12
  1460. package/dist/chunk-8mx7qw3y.js.map +0 -13
  1461. package/dist/chunk-91mg3nj9.js.map +0 -12
  1462. package/dist/chunk-96yw3pwd.js.map +0 -10
  1463. package/dist/chunk-9gyp8hg1.js +0 -363
  1464. package/dist/chunk-9gyp8hg1.js.map +0 -14
  1465. package/dist/chunk-9k93ah50.js.map +0 -11
  1466. package/dist/chunk-b38szspf.js.map +0 -11
  1467. package/dist/chunk-bx9q3cwv.js.map +0 -19
  1468. package/dist/chunk-d09tj99x.js.map +0 -12
  1469. package/dist/chunk-ere85b8y.js.map +0 -15
  1470. package/dist/chunk-es1gxsbf.js.map +0 -13
  1471. package/dist/chunk-gsjm1wms.js.map +0 -10
  1472. package/dist/chunk-hjzdd750.js.map +0 -49
  1473. package/dist/chunk-hkc3jct7.js.map +0 -10
  1474. package/dist/chunk-hvsb78a1.js.map +0 -20
  1475. package/dist/chunk-k6q3n2sc.js.map +0 -12
  1476. package/dist/chunk-n33z5bjw.js.map +0 -66
  1477. package/dist/chunk-pbcbn83d.js.map +0 -14
  1478. package/dist/chunk-pqajwytd.js +0 -68
  1479. package/dist/chunk-pqajwytd.js.map +0 -11
  1480. package/dist/chunk-qczk96d9.js.map +0 -11
  1481. package/dist/chunk-rdghfsss.js +0 -39
  1482. package/dist/chunk-rdghfsss.js.map +0 -10
  1483. package/dist/chunk-rj69qcrd.js.map +0 -11
  1484. package/dist/chunk-rrzt8jdy.js.map +0 -14
  1485. package/dist/chunk-s16apyk9.js +0 -256
  1486. package/dist/chunk-s16apyk9.js.map +0 -16
  1487. package/dist/chunk-s54c868q.js +0 -307
  1488. package/dist/chunk-s54c868q.js.map +0 -12
  1489. package/dist/chunk-tpn40322.js.map +0 -19
  1490. package/dist/chunk-tw03bsmb.js.map +0 -11
  1491. package/dist/chunk-v4jbb3rs.js.map +0 -10
  1492. package/dist/chunk-vpq4shxz.js.map +0 -39
  1493. package/dist/chunk-yxd3nnqt.js.map +0 -11
  1494. package/dist/chunk-yzwja0mj.js.map +0 -14
  1495. package/dist/events/toStoredEvent.d.ts +0 -9
  1496. package/dist/events/toStoredEvent.d.ts.map +0 -1
  1497. package/dist/models/audio/file.d.ts +0 -9
  1498. package/dist/models/audio/file.d.ts.map +0 -1
  1499. package/src/events/toStoredEvent.ts +0 -33
  1500. /package/dist/{chunk-mfs23znk.js.map → chunk-07kkp2e1.js.map} +0 -0
  1501. /package/dist/{chunk-fkgc1wt8.js.map → chunk-0phpbbvm.js.map} +0 -0
  1502. /package/dist/{chunk-y0c4e6ex.js.map → chunk-3gbefjg5.js.map} +0 -0
  1503. /package/dist/{chunk-fa02jy15.js.map → chunk-48jezz3j.js.map} +0 -0
  1504. /package/dist/{chunk-c85m1hyj.js.map → chunk-6n69k945.js.map} +0 -0
  1505. /package/dist/{chunk-xfs8x8m9.js.map → chunk-6p0pastb.js.map} +0 -0
  1506. /package/dist/{chunk-t7x8dmn0.js.map → chunk-6y0mkhex.js.map} +0 -0
  1507. /package/dist/{chunk-v9xd5wzd.js.map → chunk-bab05bhg.js.map} +0 -0
  1508. /package/dist/{chunk-gc4ntf7d.js.map → chunk-cwdzcv37.js.map} +0 -0
  1509. /package/dist/{chunk-vyf9kfqf.js.map → chunk-dp0cdtj2.js.map} +0 -0
  1510. /package/dist/{chunk-br3k6qbf.js.map → chunk-fm62y49k.js.map} +0 -0
  1511. /package/dist/{chunk-9ybhtmg4.js.map → chunk-g663fahq.js.map} +0 -0
  1512. /package/dist/{chunk-9w055r5b.js.map → chunk-hwarjrgf.js.map} +0 -0
  1513. /package/dist/{chunk-9dmt152s.js.map → chunk-hyesv9dv.js.map} +0 -0
  1514. /package/dist/{chunk-x9v4cx1d.js.map → chunk-m36fw8ft.js.map} +0 -0
  1515. /package/dist/{chunk-a40ad1ft.js.map → chunk-mbsbxarb.js.map} +0 -0
  1516. /package/dist/{chunk-6aawea28.js.map → chunk-n8q5j6y5.js.map} +0 -0
  1517. /package/dist/{chunk-dk8tkk5f.js.map → chunk-n9zpx9c6.js.map} +0 -0
  1518. /package/dist/{chunk-7t429e3f.js.map → chunk-npcr0228.js.map} +0 -0
  1519. /package/dist/{chunk-z4m0yz8c.js.map → chunk-q4pmvkg0.js.map} +0 -0
@@ -0,0 +1,1660 @@
1
+ // @bun
2
+ import {
3
+ MAX_OBJECT_READ_FACETS2,
4
+ assertObjectReadOutputWithinLimit2,
5
+ captureExecutionScope,
6
+ resolveExecutionScopeAuthorization,
7
+ AuthorizationError2,
8
+ isAllowed2,
9
+ assertAuthorized2,
10
+ isRuntimeAllowed2,
11
+ assertRuntimeAuthorizationBound2
12
+ } from "./chunk-yc9ners4.js";
13
+ import {
14
+ isUserRef,
15
+ isUserRefPropertySchema
16
+ } from "./chunk-4y26vs3v.js";
17
+ import {
18
+ compileConditionalObjectReadScope2
19
+ } from "./chunk-rap5w0x0.js";
20
+ import {
21
+ validateSchemaValue2,
22
+ normalizeSchemaValue2,
23
+ uniqueValueKind,
24
+ uniqueValueKey
25
+ } from "./chunk-65pyhyas.js";
26
+ import {
27
+ unreadableError,
28
+ resolvePropertyClearance
29
+ } from "./chunk-6rrtzea3.js";
30
+ import {
31
+ bindCurrentUserPredicate,
32
+ composeObjectQueryAdmissions,
33
+ validateObjectQuery2,
34
+ validateObjectQueryWithAdmission,
35
+ toUserProfile
36
+ } from "./chunk-h3pbv7n8.js";
37
+ import {
38
+ snapshotVectorProfiles
39
+ } from "./chunk-cdk3egjj.js";
40
+ import {
41
+ userExpansionPlan,
42
+ executeObjectQuery2,
43
+ countObjects2,
44
+ existsObjects2,
45
+ facetObjects2,
46
+ validateObjectFacetRequests,
47
+ preflightObjectQueryLinks,
48
+ executeObjectQueryLinks2
49
+ } from "./chunk-efmm01gj.js";
50
+ import {
51
+ createPropertyTokenMap2,
52
+ createLinkTokenMap2
53
+ } from "./chunk-16a9dmfy.js";
54
+ import {
55
+ ObjectQueryValidationError2,
56
+ normalizeObjectQuery2
57
+ } from "./chunk-j936th07.js";
58
+ import {
59
+ OntologyValidationError2,
60
+ OntologyNotFoundError2,
61
+ formatUnknownObjectTypeMessage
62
+ } from "./chunk-cqr3acm1.js";
63
+
64
+ // src/assert-never.ts
65
+ function assertNever(_value, message) {
66
+ throw new Error(message);
67
+ }
68
+
69
+ // src/objects/clearance-redaction.ts
70
+ function redactObjectRow(row, clearance) {
71
+ return redactRow(row, clearance, true);
72
+ }
73
+ function omitHiddenProperties(row, clearance) {
74
+ return redactRow(row, clearance, false);
75
+ }
76
+ function attachRedactions(row, clearance) {
77
+ const hidden = clearance.hiddenProperties(row.objectTypeId);
78
+ if (hidden !== undefined)
79
+ row.redactions = hidden.redactions;
80
+ if (row.links === undefined)
81
+ return;
82
+ for (const value of Object.values(row.links)) {
83
+ if (value === null)
84
+ continue;
85
+ if (Array.isArray(value)) {
86
+ for (const linked of value)
87
+ attachRedactions(linked, clearance);
88
+ } else {
89
+ attachRedactions(value, clearance);
90
+ }
91
+ }
92
+ }
93
+ function redactRow(row, clearance, withRedactions) {
94
+ const hidden = clearance.hiddenProperties(row.objectTypeId);
95
+ const links = row.links;
96
+ if (hidden === undefined && links === undefined)
97
+ return row;
98
+ const redacted = { ...row };
99
+ if (hidden !== undefined) {
100
+ redacted.properties = withoutKeys(row.properties, hidden.ids);
101
+ if (withRedactions)
102
+ redacted.redactions = hidden.redactions;
103
+ }
104
+ if (links !== undefined) {
105
+ redacted.links = Object.fromEntries(Object.entries(links).map(([linkId, value]) => [
106
+ linkId,
107
+ redactLinkValue(value, clearance, withRedactions)
108
+ ]));
109
+ }
110
+ return redacted;
111
+ }
112
+ function redactLinkValue(value, clearance, withRedactions) {
113
+ if (value === null)
114
+ return null;
115
+ if (Array.isArray(value)) {
116
+ return value.map((row) => redactRow(row, clearance, withRedactions));
117
+ }
118
+ return redactRow(value, clearance, withRedactions);
119
+ }
120
+ function redactDomainEvent(event, clearance) {
121
+ if (event.topic !== "objects")
122
+ return event;
123
+ const hidden = clearance.hiddenProperties(event.payload.objectTypeId);
124
+ if (hidden === undefined)
125
+ return event;
126
+ if (event.type === "object.deleted") {
127
+ return {
128
+ ...event,
129
+ payload: {
130
+ ...event.payload,
131
+ propertyChanges: withoutKeys(event.payload.propertyChanges, hidden.ids),
132
+ redactions: hidden.redactions
133
+ }
134
+ };
135
+ }
136
+ return {
137
+ ...event,
138
+ payload: {
139
+ ...event.payload,
140
+ properties: withoutKeys(event.payload.properties, hidden.ids),
141
+ propertyChanges: withoutKeys(event.payload.propertyChanges, hidden.ids),
142
+ redactions: hidden.redactions
143
+ }
144
+ };
145
+ }
146
+ function withoutKeys(record, hidden) {
147
+ const kept = { ...record };
148
+ for (const key of hidden)
149
+ delete kept[key];
150
+ return kept;
151
+ }
152
+
153
+ // src/objects/query/clearance-admission.ts
154
+ function createClearanceQueryAdmission(clearance) {
155
+ const reachedTypes = new WeakMap;
156
+ const state = (objectTypeIds) => {
157
+ const created = Object.freeze({});
158
+ reachedTypes.set(created, Object.freeze([...objectTypeIds]));
159
+ return created;
160
+ };
161
+ const reached = (input) => {
162
+ const objectTypeIds = reachedTypes.get(input);
163
+ if (!objectTypeIds) {
164
+ throw new Error("[Sixb] Clearance query admission received a state it did not create.");
165
+ }
166
+ return objectTypeIds;
167
+ };
168
+ const empty = state([]);
169
+ const admission = {
170
+ empty: () => empty,
171
+ source: (input) => ({
172
+ state: state(input.result.objectTypeIds),
173
+ ...denied(unreadableTypeAmong(clearance, input.result.objectTypeIds))
174
+ }),
175
+ edge: (input) => {
176
+ const sourceTypeIds = input.direction === "outgoing" ? reached(input.state) : [
177
+ ...input.result.objectTypeIds,
178
+ ...input.sourceObjectTypeId ? [input.sourceObjectTypeId] : []
179
+ ];
180
+ const link = sourceTypeIds.map((objectTypeId) => clearance.unreadableLink(objectTypeId, input.linkId)).find((unreadable) => unreadable !== undefined);
181
+ return {
182
+ state: state(input.result.objectTypeIds),
183
+ ...denied(link ?? unreadableTypeAmong(clearance, input.result.objectTypeIds))
184
+ };
185
+ },
186
+ set: (input) => input.op === "subtract" ? input.states[0] ?? empty : state([...new Set(input.states.flatMap(reached))]),
187
+ property: (input) => {
188
+ if (input.use === "project")
189
+ return;
190
+ const objectTypeIds = input.objectTypeId === undefined ? reached(input.state) : [input.objectTypeId];
191
+ for (const objectTypeId of objectTypeIds) {
192
+ const marking = clearance.missingMarking(objectTypeId, input.propertyId);
193
+ if (marking === undefined)
194
+ continue;
195
+ return new AuthorizationError2(`clearance:marking:${marking}`, `[Sixb] Cannot ${PROPERTY_USE_VERBS[input.use]} '${objectTypeId}.${input.propertyId}' at '${input.path}': it requires clearance for marking '${marking}'.`);
196
+ }
197
+ return;
198
+ }
199
+ };
200
+ return Object.freeze(admission);
201
+ }
202
+ function unreadableTypeAmong(clearance, objectTypeIds) {
203
+ for (const objectTypeId of objectTypeIds) {
204
+ const unreadable = clearance.unreadableType(objectTypeId);
205
+ if (unreadable)
206
+ return unreadable;
207
+ }
208
+ return;
209
+ }
210
+ function denied(unreadable) {
211
+ return unreadable ? { denial: unreadableError(unreadable) } : {};
212
+ }
213
+ var PROPERTY_USE_VERBS = {
214
+ filter: "filter by",
215
+ text: "search",
216
+ vector: "run a vector search over",
217
+ sort: "sort by",
218
+ project: "project",
219
+ "expand.orderBy": "order expanded objects by",
220
+ facet: "facet by"
221
+ };
222
+
223
+ // src/objects/query/link-query-clearance.ts
224
+ function assertLinkQueryReadable(input) {
225
+ const { ontology, clearance } = input;
226
+ const { types, links } = clearance.unreadable();
227
+ if (types.size === 0 && links.length === 0)
228
+ return;
229
+ const preflight = preflightObjectQueryLinks({ ...input.request, query: input.query }, { ontology });
230
+ const selected = preflight.validated.result.objectTypeIds;
231
+ const outgoing = preflight.direction !== "incoming";
232
+ const incoming = preflight.direction !== "outgoing";
233
+ const named = (linkId) => preflight.linkId === undefined || preflight.linkId === linkId;
234
+ const targets = (expected, objectTypeId) => (typeof expected === "string" ? [expected] : expected).some((target) => ontology.isValidLinkTarget(target, objectTypeId));
235
+ for (const link of links) {
236
+ if (!named(link.linkId))
237
+ continue;
238
+ if (outgoing && selected.includes(link.objectTypeId) || incoming && selected.some((id) => targets(link.targetObjectTypeId, id))) {
239
+ throw unreadableError(link);
240
+ }
241
+ }
242
+ const sealed = [...types].filter(([id]) => input.viewableByGrants(id));
243
+ if (sealed.length === 0)
244
+ return;
245
+ for (const objectType of ontology.listObjectTypes()) {
246
+ for (const link of objectType.links) {
247
+ if (!named(link.id))
248
+ continue;
249
+ if (outgoing && selected.includes(objectType.id)) {
250
+ const other = sealed.find(([id]) => targets(link.targetObjectTypeId, id));
251
+ if (other)
252
+ throw unreadableError(other[1]);
253
+ }
254
+ const source = types.get(objectType.id);
255
+ if (incoming && source && input.viewableByGrants(objectType.id) && selected.some((id) => targets(link.targetObjectTypeId, id))) {
256
+ throw unreadableError(source);
257
+ }
258
+ }
259
+ }
260
+ }
261
+
262
+ // src/objects/telemetry/workload.ts
263
+ var MAX_DELEGATED_TELEMETRY_HISTORY_SERIES = 100;
264
+ var MAX_DELEGATED_TELEMETRY_HISTORY_POINTS = 1e4;
265
+ var DEFAULT_DELEGATED_TELEMETRY_HISTORY_LIMIT_PER_SERIES = 100;
266
+
267
+ class TelemetryHistoryWorkloadExceededError extends Error {
268
+ metric;
269
+ limit;
270
+ name = "TelemetryHistoryWorkloadExceededError";
271
+ code = "telemetry_history_workload_exceeded";
272
+ constructor(metric, limit) {
273
+ super(`[Sixb] Delegated telemetry history exceeded its ${metric} limit (${limit}).`);
274
+ this.metric = metric;
275
+ this.limit = limit;
276
+ }
277
+ }
278
+ function admitTelemetryHistoryReadWorkload(input, delegated) {
279
+ const seriesCount = input.seriesCount;
280
+ const limitPerSeries = input.limitPerSeries;
281
+ if (!Number.isSafeInteger(seriesCount) || seriesCount < 0) {
282
+ throw new Error("[Sixb] Telemetry history series must have a non-negative safe integer length.");
283
+ }
284
+ if (limitPerSeries !== undefined && (!Number.isSafeInteger(limitPerSeries) || limitPerSeries < 0)) {
285
+ throw new Error("[Sixb] Telemetry history limit must be a non-negative safe integer.");
286
+ }
287
+ if (!delegated) {
288
+ const admission = limitPerSeries === undefined ? {} : { limitPerSeries };
289
+ return Object.freeze(admission);
290
+ }
291
+ if (seriesCount > MAX_DELEGATED_TELEMETRY_HISTORY_SERIES) {
292
+ throw new TelemetryHistoryWorkloadExceededError("series", MAX_DELEGATED_TELEMETRY_HISTORY_SERIES);
293
+ }
294
+ if (seriesCount === 0) {
295
+ return Object.freeze({
296
+ ...limitPerSeries === undefined ? {} : { limitPerSeries },
297
+ maxPointOccurrences: MAX_DELEGATED_TELEMETRY_HISTORY_POINTS
298
+ });
299
+ }
300
+ const maxLimitPerSeries = Math.floor(MAX_DELEGATED_TELEMETRY_HISTORY_POINTS / seriesCount);
301
+ const effectiveLimitPerSeries = limitPerSeries ?? Math.min(DEFAULT_DELEGATED_TELEMETRY_HISTORY_LIMIT_PER_SERIES, maxLimitPerSeries);
302
+ if (effectiveLimitPerSeries > maxLimitPerSeries) {
303
+ throw new TelemetryHistoryWorkloadExceededError("points", MAX_DELEGATED_TELEMETRY_HISTORY_POINTS);
304
+ }
305
+ return Object.freeze({
306
+ limitPerSeries: effectiveLimitPerSeries,
307
+ maxPointOccurrences: MAX_DELEGATED_TELEMETRY_HISTORY_POINTS
308
+ });
309
+ }
310
+
311
+ // src/objects/authorized-ontology-view.ts
312
+ function createAuthorizedOntologyView(input) {
313
+ const allObjectTypes = input.ontology.listObjectTypes();
314
+ const registeredObjectTypeIds = new Set(allObjectTypes.map((objectType) => objectType.id));
315
+ const requestedObjectTypeIds = selectedObjectTypeIds(input.selection, allObjectTypes);
316
+ const visibleObjectTypeIds = new Set([...requestedObjectTypeIds].filter((objectTypeId) => registeredObjectTypeIds.has(objectTypeId)));
317
+ const selectedSchema = input.selection.kind === "selected" ? collectSelectedSchema(input.selection.scope) : undefined;
318
+ const projectedObjectTypes = [];
319
+ for (const objectType of allObjectTypes) {
320
+ if (!visibleObjectTypeIds.has(objectType.id))
321
+ continue;
322
+ const propertyIds = selectedSchema?.propertyIdsByObjectType.get(objectType.id) ?? new Set(objectType.properties.map((property) => property.id));
323
+ const links = selectedSchema ? selectedSchema.linksBySourceType.get(objectType.id) ?? new Map : input.selection.kind === "all" ? allDeclaredLinks(objectType) : allVisibleLinks(input.ontology, objectType, visibleObjectTypeIds);
324
+ projectedObjectTypes.push(projectObjectType({
325
+ objectType,
326
+ propertyIds,
327
+ links,
328
+ visibleObjectTypeIds,
329
+ ontology: input.ontology,
330
+ targetMode: input.selection.kind === "all" ? "original" : input.selection.kind === "types" ? "principal" : "exact",
331
+ exposeContracts: input.selection.kind !== "selected"
332
+ }));
333
+ }
334
+ const objectTypes = projectedObjectTypes;
335
+ const objectTypesById = new Map(objectTypes.map((objectType) => [objectType.id, objectType]));
336
+ const valueTypesById = input.selection.kind === "selected" ? collectVisibleValueTypes(input.ontology.getValueTypesById(), objectTypes) : snapshotAllValueTypes(input.ontology.getValueTypesById());
337
+ const release = (value, budgetValue = value) => {
338
+ input.assertOutputWithinLimit?.(budgetValue);
339
+ return value;
340
+ };
341
+ const cloneObjectType = (objectType) => structuredClone(objectType);
342
+ const cloneValueTypes = () => new Map([...valueTypesById].map(([valueTypeId, valueType]) => [
343
+ valueTypeId,
344
+ structuredClone(valueType)
345
+ ]));
346
+ return Object.freeze({
347
+ listObjectTypes: () => release(objectTypes.map(cloneObjectType)),
348
+ getObjectTypeById: (objectTypeId) => {
349
+ const objectType = objectTypesById.get(objectTypeId);
350
+ return release(objectType ? cloneObjectType(objectType) : null);
351
+ },
352
+ resolveObjectType: (objectTypeId) => {
353
+ const objectType = objectTypesById.get(objectTypeId);
354
+ return objectType ? release(cloneObjectType(objectType)) : unknownObjectType(objectTypeId);
355
+ },
356
+ getValueTypesById: () => {
357
+ const valueTypes = cloneValueTypes();
358
+ return release(valueTypes, [...valueTypes.entries()]);
359
+ },
360
+ getPrimaryPropertyId: (objectTypeId) => {
361
+ const objectType = objectTypesById.get(objectTypeId);
362
+ if (!objectType)
363
+ return unknownObjectType(objectTypeId);
364
+ const primary = objectType.properties.find((property) => property.primary);
365
+ if (!primary) {
366
+ throw new OntologyValidationError2(`[Sixb] Object type '${objectTypeId}' does not expose its primary property in this execution scope.`);
367
+ }
368
+ return release(primary.id);
369
+ },
370
+ listSubTypes: (objectTypeId) => {
371
+ const subTypes = visibleObjectTypeIds.has(objectTypeId) ? input.ontology.listSubTypes(objectTypeId).filter((subTypeId) => visibleObjectTypeIds.has(subTypeId)) : [];
372
+ return release(subTypes);
373
+ },
374
+ isValidLinkTarget: (expected, actual) => {
375
+ if (input.selection.kind === "all") {
376
+ return release(input.ontology.isValidLinkTarget(expected, actual));
377
+ }
378
+ if (!visibleObjectTypeIds.has(actual))
379
+ return release(false);
380
+ const expectedTypes = Array.isArray(expected) ? expected : [expected];
381
+ if (input.selection.kind === "selected") {
382
+ return release(expectedTypes.some((expectedType) => expectedType === "*" || expectedType === actual));
383
+ }
384
+ return release(expectedTypes.some((expectedType) => expectedType === "*" || visibleObjectTypeIds.has(expectedType) && input.ontology.isValidLinkTarget(expectedType, actual)));
385
+ }
386
+ });
387
+ }
388
+ function selectedObjectTypeIds(selection, allObjectTypes) {
389
+ switch (selection.kind) {
390
+ case "all":
391
+ return new Set(allObjectTypes.map((objectType) => objectType.id));
392
+ case "types":
393
+ return new Set(selection.objectTypeIds);
394
+ case "selected":
395
+ return new Set(selection.scope.objects.map((object) => object.objectTypeId));
396
+ }
397
+ }
398
+ function collectSelectedSchema(scope) {
399
+ const propertyIdsByObjectType = new Map;
400
+ for (const object of scope.objects) {
401
+ const properties = propertyIdsByObjectType.get(object.objectTypeId) ?? new Set;
402
+ for (const propertyId of object.propertyIds)
403
+ properties.add(propertyId);
404
+ propertyIdsByObjectType.set(object.objectTypeId, properties);
405
+ }
406
+ const linksBySourceType = new Map;
407
+ for (const step of scope.steps) {
408
+ const links = linksBySourceType.get(step.sourceObjectTypeId) ?? new Map;
409
+ const selected = links.get(step.linkId) ?? {
410
+ targetObjectTypeIds: new Set,
411
+ propertyIds: new Set
412
+ };
413
+ selected.targetObjectTypeIds.add(step.targetObjectTypeId);
414
+ for (const propertyId of step.propertyIds)
415
+ selected.propertyIds.add(propertyId);
416
+ links.set(step.linkId, selected);
417
+ linksBySourceType.set(step.sourceObjectTypeId, links);
418
+ }
419
+ return { propertyIdsByObjectType, linksBySourceType };
420
+ }
421
+ function allDeclaredLinks(objectType) {
422
+ return new Map(objectType.links.map((link) => [
423
+ link.id,
424
+ {
425
+ targetObjectTypeIds: new Set(typeof link.targetObjectTypeId === "string" ? [link.targetObjectTypeId] : link.targetObjectTypeId),
426
+ propertyIds: new Set(link.properties?.map((property) => property.id) ?? [])
427
+ }
428
+ ]));
429
+ }
430
+ function allVisibleLinks(ontology, objectType, visibleObjectTypeIds) {
431
+ const links = new Map;
432
+ for (const link of objectType.links) {
433
+ const targetObjectTypeIds = new Set([...visibleObjectTypeIds].filter((targetObjectTypeId) => ontology.isValidLinkTarget(link.targetObjectTypeId, targetObjectTypeId)));
434
+ if (targetObjectTypeIds.size === 0)
435
+ continue;
436
+ links.set(link.id, {
437
+ targetObjectTypeIds,
438
+ propertyIds: new Set(link.properties?.map((property) => property.id) ?? [])
439
+ });
440
+ }
441
+ return links;
442
+ }
443
+ function projectObjectType(input) {
444
+ const properties = input.objectType.properties.filter((property) => input.propertyIds.has(property.id)).map(snapshotProperty);
445
+ const visiblePropertyIds = new Set(properties.map((property) => property.id));
446
+ const links = input.objectType.links.flatMap((link) => {
447
+ const selected = input.links.get(link.id);
448
+ if (!selected)
449
+ return [];
450
+ if (input.targetMode === "original") {
451
+ return [snapshotLink(link, snapshotLinkTarget(link.targetObjectTypeId), selected.propertyIds)];
452
+ }
453
+ const targetObjectTypeIds = new Set([...selected.targetObjectTypeIds].filter((targetObjectTypeId) => input.visibleObjectTypeIds.has(targetObjectTypeId) && input.ontology.isValidLinkTarget(link.targetObjectTypeId, targetObjectTypeId)));
454
+ if (targetObjectTypeIds.size === 0)
455
+ return [];
456
+ const target = input.targetMode === "principal" ? principalLinkTargets(link, targetObjectTypeIds, input.visibleObjectTypeIds) : exactLinkTargets(targetObjectTypeIds);
457
+ return [snapshotLink(link, target, selected.propertyIds, { omitEmptyProperties: true })];
458
+ });
459
+ const projected = {
460
+ id: input.objectType.id,
461
+ name: input.objectType.name,
462
+ description: input.objectType.description,
463
+ quantityKind: input.objectType.quantityKind,
464
+ seeAlso: input.objectType.seeAlso ? [...input.objectType.seeAlso] : undefined,
465
+ extends: input.objectType.extends && input.visibleObjectTypeIds.has(input.objectType.extends) ? input.objectType.extends : undefined,
466
+ parents: projectOptionalIds(input.objectType.parents, input.visibleObjectTypeIds, input.targetMode === "original"),
467
+ implements: input.exposeContracts && input.objectType.implements ? [...input.objectType.implements] : undefined,
468
+ properties,
469
+ links,
470
+ search: projectSearch(input.objectType.search, visiblePropertyIds, {
471
+ preserveEmpty: input.targetMode !== "exact"
472
+ })
473
+ };
474
+ const withTokens = {
475
+ ...projected,
476
+ p: createPropertyTokenMap2(projected),
477
+ l: createLinkTokenMap2(projected)
478
+ };
479
+ return deepFreeze(withTokens);
480
+ }
481
+ function principalLinkTargets(link, allowedTargetObjectTypeIds, visibleObjectTypeIds) {
482
+ if (link.targetObjectTypeId === "*")
483
+ return exactLinkTargets(allowedTargetObjectTypeIds);
484
+ const declared = Array.isArray(link.targetObjectTypeId) ? link.targetObjectTypeId : [link.targetObjectTypeId];
485
+ if (declared.every((objectTypeId) => visibleObjectTypeIds.has(objectTypeId))) {
486
+ return snapshotLinkTarget(link.targetObjectTypeId);
487
+ }
488
+ return exactLinkTargets(allowedTargetObjectTypeIds);
489
+ }
490
+ function exactLinkTargets(targetObjectTypeIds) {
491
+ const targets = [...targetObjectTypeIds].sort();
492
+ return targets.length === 1 ? targets[0] : targets;
493
+ }
494
+ function projectOptionalIds(ids, visibleObjectTypeIds, preserveOriginal) {
495
+ if (!ids)
496
+ return;
497
+ if (preserveOriginal)
498
+ return [...ids];
499
+ const visible = ids.filter((id) => visibleObjectTypeIds.has(id));
500
+ return visible.length > 0 ? visible : undefined;
501
+ }
502
+ function snapshotLink(link, targetObjectTypeId, propertyIds, options = {}) {
503
+ const properties = link.properties?.filter((property) => propertyIds.has(property.id)).map(snapshotProperty);
504
+ return {
505
+ id: link.id,
506
+ name: link.name,
507
+ description: link.description,
508
+ targetObjectTypeId,
509
+ cardinality: link.cardinality,
510
+ properties: options.omitEmptyProperties && properties?.length === 0 ? undefined : properties
511
+ };
512
+ }
513
+ function snapshotLinkTarget(target) {
514
+ return typeof target === "string" ? target : [...target];
515
+ }
516
+ function snapshotProperty(property) {
517
+ return {
518
+ id: property.id,
519
+ name: property.name,
520
+ schema: snapshotSchema(property.schema),
521
+ description: property.description,
522
+ required: property.required,
523
+ nullable: property.nullable,
524
+ primary: property.primary,
525
+ unique: property.unique,
526
+ mode: property.mode,
527
+ semanticType: property.semanticType,
528
+ query: snapshotPropertyQuery(property.query)
529
+ };
530
+ }
531
+ function snapshotPropertyQuery(query) {
532
+ if (!query)
533
+ return;
534
+ return {
535
+ searchable: query.searchable,
536
+ filterable: query.filterable,
537
+ sortable: query.sortable,
538
+ text: query.text,
539
+ exact: query.exact,
540
+ facet: query.facet,
541
+ weight: query.weight
542
+ };
543
+ }
544
+ function projectSearch(search, visiblePropertyIds, options) {
545
+ if (!search)
546
+ return;
547
+ const title = search.title && visiblePropertyIds.has(search.title) ? search.title : undefined;
548
+ const selectedDefaultText = search.defaultText?.filter((propertyId) => visiblePropertyIds.has(propertyId));
549
+ const selectedExact = search.exact?.filter((propertyId) => visiblePropertyIds.has(propertyId));
550
+ const defaultText = options.preserveEmpty || selectedDefaultText?.length ? selectedDefaultText : undefined;
551
+ const exact = options.preserveEmpty || selectedExact?.length ? selectedExact : undefined;
552
+ const vectors = search.vectors === undefined ? undefined : snapshotVectorProfiles(Object.fromEntries(Object.entries(search.vectors).filter(([, profile]) => profile.source.every((id) => visiblePropertyIds.has(id)))));
553
+ const projected = {
554
+ ...vectors === undefined || Object.keys(vectors).length === 0 ? {} : { vectors },
555
+ ...title === undefined ? {} : { title },
556
+ ...defaultText === undefined ? {} : { defaultText },
557
+ ...exact === undefined ? {} : { exact }
558
+ };
559
+ return Object.keys(projected).length > 0 || options.preserveEmpty ? projected : undefined;
560
+ }
561
+ function snapshotAllValueTypes(registered) {
562
+ return new Map([...registered.values()].map((valueType) => {
563
+ const snapshot = snapshotValueType(valueType);
564
+ return [snapshot.id, snapshot];
565
+ }));
566
+ }
567
+ function collectVisibleValueTypes(registered, objectTypes) {
568
+ const referencedIds = new Set;
569
+ const pendingSchemas = [];
570
+ const visitedSchemas = new Set;
571
+ for (const objectType of objectTypes) {
572
+ for (const property of objectType.properties)
573
+ pendingSchemas.push(property.schema);
574
+ for (const link of objectType.links) {
575
+ for (const property of link.properties ?? [])
576
+ pendingSchemas.push(property.schema);
577
+ }
578
+ }
579
+ while (pendingSchemas.length > 0) {
580
+ const schema = pendingSchemas.pop();
581
+ if (typeof schema === "string" || visitedSchemas.has(schema))
582
+ continue;
583
+ visitedSchemas.add(schema);
584
+ if (schema.type === "valueTypeRef") {
585
+ if (!referencedIds.has(schema.valueTypeId)) {
586
+ referencedIds.add(schema.valueTypeId);
587
+ const valueType = registered.get(schema.valueTypeId);
588
+ if (valueType)
589
+ pendingSchemas.push(valueType.schema);
590
+ }
591
+ if (schema._resolved)
592
+ pendingSchemas.push(schema._resolved);
593
+ } else if (schema.type === "object") {
594
+ for (const field of Object.values(schema.properties))
595
+ pendingSchemas.push(field.schema);
596
+ } else if (schema.type === "array") {
597
+ pendingSchemas.push(schema.items);
598
+ } else if (schema.type === "map") {
599
+ pendingSchemas.push(schema.valueSchema);
600
+ }
601
+ }
602
+ return new Map([...referencedIds].map((valueTypeId) => registered.get(valueTypeId)).filter((valueType) => valueType !== undefined).map((valueType) => {
603
+ const snapshot = snapshotValueType(valueType);
604
+ return [snapshot.id, snapshot];
605
+ }));
606
+ }
607
+ function snapshotValueType(valueType) {
608
+ return deepFreeze({
609
+ id: valueType.id,
610
+ name: valueType.name,
611
+ description: valueType.description,
612
+ schema: snapshotSchema(valueType.schema),
613
+ semanticType: valueType.semanticType
614
+ });
615
+ }
616
+ function snapshotSchema(schema) {
617
+ return deepFreeze(structuredClone(schema));
618
+ }
619
+ function deepFreeze(value, seen = new Set) {
620
+ if (typeof value !== "object" || value === null || seen.has(value))
621
+ return value;
622
+ seen.add(value);
623
+ for (const key of Reflect.ownKeys(value)) {
624
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
625
+ if (descriptor && "value" in descriptor)
626
+ deepFreeze(descriptor.value, seen);
627
+ }
628
+ return Object.freeze(value);
629
+ }
630
+ function unknownObjectType(objectTypeId) {
631
+ throw new OntologyNotFoundError2(formatUnknownObjectTypeMessage(objectTypeId));
632
+ }
633
+
634
+ // src/execution/object-reader-ontology.ts
635
+ class ObjectReaderOntology {
636
+ registry;
637
+ #security;
638
+ #view;
639
+ constructor(registry, security) {
640
+ this.registry = registry;
641
+ this.#security = security;
642
+ Object.freeze(this);
643
+ }
644
+ view() {
645
+ const authority = this.#security.authority;
646
+ this.#view ??= createAuthorizedOntologyView({
647
+ ontology: this.registry,
648
+ selection: selectionForAuthority(this.#security, this.registry),
649
+ ...authority.type === "delegated" ? {
650
+ assertOutputWithinLimit: (value) => assertObjectReadOutputWithinLimit2(value, authority.objectRead.limits)
651
+ } : {}
652
+ });
653
+ return this.#view;
654
+ }
655
+ }
656
+ function selectionForAuthority(security, ontology) {
657
+ const authority = security.authority;
658
+ switch (authority.type) {
659
+ case "unrestricted":
660
+ return { kind: "all" };
661
+ case "principal":
662
+ return {
663
+ kind: "types",
664
+ objectTypeIds: ontology.listObjectTypes().filter((objectType) => security.isObjectTypeGranted(objectType.id, undefined)).map((objectType) => objectType.id)
665
+ };
666
+ case "delegated":
667
+ return { kind: "selected", scope: authority.objectRead.scope };
668
+ }
669
+ }
670
+
671
+ // src/objects/query/selected-read-admission.ts
672
+ var selectedStateBrand = Symbol("sixb.selected-object-query-admission-state");
673
+ function createSelectedObjectQueryAdmission(scope) {
674
+ const selectionByKey = new Map;
675
+ const selectionsByType = new Map;
676
+ const propertiesBySelection = new Map;
677
+ for (const selection of scope.objects) {
678
+ const key = selectionKey(selection.nodeId, selection.objectTypeId);
679
+ selectionByKey.set(key, selection);
680
+ propertiesBySelection.set(key, new Set(selection.propertyIds));
681
+ const byType = selectionsByType.get(selection.objectTypeId) ?? [];
682
+ byType.push(selection);
683
+ selectionsByType.set(selection.objectTypeId, byType);
684
+ }
685
+ const outgoing = indexSteps(scope.steps, "outgoing", selectionByKey);
686
+ const incoming = indexSteps(scope.steps, "incoming", selectionByKey);
687
+ const emptyState = selectedState([]);
688
+ const admission = {
689
+ empty: () => emptyState,
690
+ source: (input) => {
691
+ const selections = input.result.objectTypeIds.flatMap((objectTypeId) => selectionsByType.get(objectTypeId) ?? []);
692
+ const state = selectedState(selections);
693
+ if (input.kind === "refs") {
694
+ const missingType = [...new Set(input.refs?.map((ref) => ref.objectTypeId) ?? [])].sort().find((objectTypeId) => !selectionsByType.has(objectTypeId));
695
+ if (missingType) {
696
+ return denied2(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.`));
697
+ }
698
+ }
699
+ if (state.selections.length > 0)
700
+ return { state };
701
+ const objectTypeId = input.objectTypeId ?? input.result.objectTypeIds[0] ?? "unknown";
702
+ return denied2(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.`));
703
+ },
704
+ property: (input) => propertyDenial(asSelectedState(input.state), input.propertyId, input.objectTypeId, input.use, input.path, propertiesBySelection),
705
+ edge: (input) => {
706
+ const state = asSelectedState(input.state);
707
+ const next = followEdge(state, input.linkId, input.direction, input.sourceObjectTypeId, outgoing, incoming, input.result.objectTypeIds);
708
+ if (next.selections.length > 0 || state.selections.length === 0)
709
+ return { state: next };
710
+ return denied2(next, edgeDenial(state, input.linkId, input.direction, input.sourceObjectTypeId, input.use, input.path));
711
+ },
712
+ set: ({ op, states }) => {
713
+ if (op === "subtract")
714
+ return asSelectedState(states[0] ?? emptyState);
715
+ return selectedState(states.flatMap((state) => asSelectedState(state).selections));
716
+ },
717
+ assertPropertySelected: (input) => {
718
+ const denial = propertyDenial(asSelectedState(input.state), input.propertyId, input.objectTypeId, input.use, input.path, propertiesBySelection);
719
+ if (denial)
720
+ throw denial;
721
+ },
722
+ assertIncidentEdgeSelected: (input) => {
723
+ if (input.linkId === undefined)
724
+ return;
725
+ const state = asSelectedState(input.state);
726
+ const directions = input.direction === "both" ? ["outgoing", "incoming"] : [input.direction];
727
+ const next = selectedState(directions.flatMap((direction) => followEdge(state, input.linkId, direction, undefined, outgoing, incoming).selections));
728
+ if (next.selections.length > 0 || state.selections.length === 0)
729
+ return;
730
+ throw edgeDenial(state, input.linkId, input.direction, undefined, "queryLinks", input.path);
731
+ }
732
+ };
733
+ return Object.freeze(admission);
734
+ }
735
+ function indexSteps(steps, direction, selectionByKey) {
736
+ const index = new Map;
737
+ for (const step of steps) {
738
+ const fromKey = direction === "outgoing" ? selectionKey(step.parentNodeId, step.sourceObjectTypeId) : selectionKey(step.nodeId, step.targetObjectTypeId);
739
+ const toKey = direction === "outgoing" ? selectionKey(step.nodeId, step.targetObjectTypeId) : selectionKey(step.parentNodeId, step.sourceObjectTypeId);
740
+ const target = selectionByKey.get(toKey);
741
+ if (!selectionByKey.has(fromKey) || !target) {
742
+ throw new Error("[Sixb] Compiled selected object scope contains an invalid query path step.");
743
+ }
744
+ const key = edgeKey(direction === "outgoing" ? step.parentNodeId : step.nodeId, direction === "outgoing" ? step.sourceObjectTypeId : step.targetObjectTypeId, step.linkId);
745
+ const targets = index.get(key) ?? [];
746
+ targets.push(target);
747
+ index.set(key, targets);
748
+ }
749
+ return index;
750
+ }
751
+ function followEdge(state, linkId, direction, sourceObjectTypeId, outgoing, incoming, resultObjectTypeIds) {
752
+ const index = direction === "outgoing" ? outgoing : incoming;
753
+ const resultTypes = resultObjectTypeIds ? new Set(resultObjectTypeIds) : undefined;
754
+ const selections = state.selections.flatMap((selection) => {
755
+ const candidates = index.get(edgeKey(selection.nodeId, selection.objectTypeId, linkId)) ?? [];
756
+ return candidates.filter((candidate) => (resultTypes === undefined || resultTypes.has(candidate.objectTypeId)) && (direction === "outgoing" || sourceObjectTypeId === undefined || candidate.objectTypeId === sourceObjectTypeId));
757
+ });
758
+ return selectedState(selections);
759
+ }
760
+ function propertyDenial(state, propertyId, objectTypeId, use, path, propertiesBySelection) {
761
+ const candidates = objectTypeId ? state.selections.filter((selection) => selection.objectTypeId === objectTypeId) : state.selections;
762
+ if (candidates.length === 0)
763
+ return;
764
+ const missing = candidates.find((selection) => !propertiesBySelection.get(selectionKey(selection.nodeId, selection.objectTypeId))?.has(propertyId));
765
+ if (!missing)
766
+ return;
767
+ const objectTypeIds = [...new Set(candidates.map((selection) => selection.objectTypeId))].sort();
768
+ 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)}).`);
769
+ }
770
+ function edgeDenial(state, linkId, direction, sourceObjectTypeId, use, path) {
771
+ const source = sourceObjectTypeId ? `:${sourceObjectTypeId}` : "";
772
+ 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.`);
773
+ }
774
+ function formatState(state) {
775
+ if (state.selections.length === 0)
776
+ return "an empty read-scope provenance";
777
+ return `read-scope provenance ${state.selections.map(formatSelection).join(", ")}`;
778
+ }
779
+ function formatSelection(selection) {
780
+ return `'${selection.objectTypeId}'@node ${selection.nodeId}`;
781
+ }
782
+ function selectedState(selections) {
783
+ const unique = new Map;
784
+ for (const selection of selections) {
785
+ unique.set(selectionKey(selection.nodeId, selection.objectTypeId), selection);
786
+ }
787
+ return Object.freeze({
788
+ [selectedStateBrand]: true,
789
+ selections: Object.freeze([...unique.values()].sort((left, right) => left.nodeId - right.nodeId || left.objectTypeId.localeCompare(right.objectTypeId)))
790
+ });
791
+ }
792
+ function asSelectedState(state) {
793
+ if (state[selectedStateBrand] !== true) {
794
+ throw new Error("[Sixb] Object query admission state belongs to another semantic admission.");
795
+ }
796
+ return state;
797
+ }
798
+ function denied2(state, denial) {
799
+ return { state, denial };
800
+ }
801
+ function selectionKey(nodeId, objectTypeId) {
802
+ return JSON.stringify([nodeId, objectTypeId]);
803
+ }
804
+ function edgeKey(nodeId, objectTypeId, linkId) {
805
+ return JSON.stringify([nodeId, objectTypeId, linkId]);
806
+ }
807
+
808
+ // src/execution/object-reader-clearance.ts
809
+ class ObjectReaderClearance {
810
+ #ontology;
811
+ #static;
812
+ #clearances;
813
+ #applied;
814
+ #lastSnapshot;
815
+ #lastClearance;
816
+ constructor(input) {
817
+ this.#ontology = input.ontology;
818
+ this.#clearances = input.clearances;
819
+ this.#static = input.clearances && resolvePropertyClearance(input.ontology, input.clearances);
820
+ if (input.clearances && input.appliedMarkings?.affects(input.clearances)) {
821
+ this.#applied = input.appliedMarkings;
822
+ }
823
+ Object.freeze(this);
824
+ }
825
+ current() {
826
+ const applied = this.#applied;
827
+ const clearances = this.#clearances;
828
+ if (!applied || !clearances)
829
+ return this.#static;
830
+ return applied.current().then((snapshot) => {
831
+ if (snapshot !== this.#lastSnapshot) {
832
+ this.#lastClearance = resolvePropertyClearance(this.#ontology, clearances, snapshot);
833
+ this.#lastSnapshot = snapshot;
834
+ }
835
+ return this.#lastClearance;
836
+ });
837
+ }
838
+ forEvent(sources) {
839
+ const applied = this.#applied;
840
+ const clearances = this.#clearances;
841
+ if (!applied || !clearances)
842
+ return this.#static;
843
+ return applied.current().then((snapshot) => sources.origin ? applied.forEventOrigin(snapshot, sources.origin) : snapshot).then((snapshot) => sources.earlier ? applied.forEarlierValues(snapshot, sources.objectTypeId) : snapshot).then((snapshot) => resolvePropertyClearance(this.#ontology, clearances, snapshot));
844
+ }
845
+ }
846
+
847
+ // src/execution/object-reader-security.ts
848
+ class ObjectReaderSecurity {
849
+ authorization;
850
+ authority;
851
+ runtime;
852
+ delegation;
853
+ clearance;
854
+ requestingUser;
855
+ conditionalScope;
856
+ #conditionProperties;
857
+ constructor(input) {
858
+ const authority = input.authority;
859
+ this.authorization = input.authorization;
860
+ this.authority = authority;
861
+ if (input.requestedBy?.type === "user") {
862
+ this.requestingUser = Object.freeze({ type: "user", id: input.requestedBy.id });
863
+ }
864
+ this.runtime = Object.freeze({
865
+ projectId: input.projectId,
866
+ runtimeAuthorization: input.authorization,
867
+ ...authority.type === "principal" ? { authorization: authority.context } : {}
868
+ });
869
+ if (authority.type === "delegated") {
870
+ const scope = authority.objectRead.scope;
871
+ this.delegation = Object.freeze({
872
+ objectTypeIds: new Set(scope.objects.map((object) => object.objectTypeId)),
873
+ linkDefinitions: new Set(scope.steps.map(delegatedLinkDefinitionKey)),
874
+ queryAdmission: createSelectedObjectQueryAdmission(scope)
875
+ });
876
+ }
877
+ const conditions = authority.type === "principal" ? authority.context.viewConditions : undefined;
878
+ this.#conditionProperties = new Map([...conditions ?? []].map(([objectTypeId, predicates]) => [
879
+ objectTypeId,
880
+ [...new Set(predicates.flatMap(propertiesReadBy))]
881
+ ]));
882
+ if (authority.type === "principal" && conditions && conditions.size > 0) {
883
+ const principal = authority.context.principal;
884
+ const grantee = principal.type === "user" ? { type: "user", id: principal.id } : undefined;
885
+ this.conditionalScope = compileConditionalObjectReadScope2({
886
+ kind: "conditional",
887
+ conditions: [...conditions].map(([objectTypeId, predicates]) => ({
888
+ objectTypeId,
889
+ predicate: bindCurrentUserPredicate(anyOf(predicates), grantee)
890
+ }))
891
+ });
892
+ }
893
+ this.clearance = new ObjectReaderClearance({
894
+ ontology: input.ontology,
895
+ clearances: clearancesForAuthority(authority),
896
+ ...input.appliedMarkings === undefined ? {} : { appliedMarkings: input.appliedMarkings }
897
+ });
898
+ Object.freeze(this);
899
+ }
900
+ assertObjectTypesViewable(objectTypeIds, clearance) {
901
+ if (this.delegation) {
902
+ for (const objectTypeId of new Set(objectTypeIds)) {
903
+ if (this.delegation.objectTypeIds.has(objectTypeId))
904
+ continue;
905
+ throw new AuthorizationError2(`delegated:object.view:${objectTypeId}`, `[Sixb] Delegated authorization does not select object type '${objectTypeId}'.`);
906
+ }
907
+ } else {
908
+ this.assertObjectTypesGranted(objectTypeIds, clearance);
909
+ }
910
+ if (!clearance)
911
+ return;
912
+ for (const objectTypeId of new Set(objectTypeIds)) {
913
+ const unreadable = clearance.unreadableType(objectTypeId);
914
+ if (unreadable)
915
+ throw unreadableError(unreadable);
916
+ }
917
+ }
918
+ assertObjectTypesGranted(objectTypeIds, clearance) {
919
+ for (const objectTypeId of new Set(objectTypeIds)) {
920
+ if (!this.#conditionProperties.has(objectTypeId)) {
921
+ assertAuthorized2(this.runtime, { kind: "object.view", objectTypeId });
922
+ continue;
923
+ }
924
+ assertRuntimeAuthorizationBound2(this.runtime);
925
+ const unreadable = this.#unreadableCondition(objectTypeId, clearance);
926
+ if (unreadable)
927
+ throw unreadableError(unreadable);
928
+ }
929
+ }
930
+ viewsThroughCondition(objectTypeId) {
931
+ return this.#conditionProperties.has(objectTypeId);
932
+ }
933
+ isObjectTypeGranted(objectTypeId, clearance) {
934
+ if (this.delegation)
935
+ return this.delegation.objectTypeIds.has(objectTypeId);
936
+ if (this.#conditionProperties.has(objectTypeId)) {
937
+ return this.#unreadableCondition(objectTypeId, clearance) === undefined;
938
+ }
939
+ return isAllowed2(this.runtime.authorization, { kind: "object.view", objectTypeId });
940
+ }
941
+ isObjectTypeViewable(objectTypeId, clearance) {
942
+ if (clearance?.unreadableType(objectTypeId))
943
+ return false;
944
+ return this.isObjectTypeGranted(objectTypeId, clearance);
945
+ }
946
+ isLinkViewable(link, clearance) {
947
+ if (!this.isObjectTypeViewable(link.sourceTypeId, clearance) || !this.isObjectTypeViewable(link.targetTypeId, clearance) || clearance?.unreadableLink(link.sourceTypeId, link.linkId)) {
948
+ return false;
949
+ }
950
+ return this.delegation?.linkDefinitions.has(delegatedLinkDefinitionKey(link)) ?? true;
951
+ }
952
+ #unreadableCondition(objectTypeId, clearance) {
953
+ const propertyIds = this.#conditionProperties.get(objectTypeId);
954
+ return propertyIds && unreadableConditionOf(objectTypeId, propertyIds, clearance);
955
+ }
956
+ }
957
+ function unreadableConditionOf(objectTypeId, propertyIds, clearance) {
958
+ for (const propertyId of propertyIds) {
959
+ const marking = clearance?.missingMarking(objectTypeId, propertyId);
960
+ if (marking === undefined)
961
+ continue;
962
+ return {
963
+ marking,
964
+ message: `[Sixb] Cannot read '${objectTypeId}': the condition it is viewed through reads '${objectTypeId}.${propertyId}', which requires clearance for marking '${marking}'.`
965
+ };
966
+ }
967
+ return;
968
+ }
969
+ function propertiesReadBy(predicate) {
970
+ switch (predicate.op) {
971
+ case "and":
972
+ case "or":
973
+ return predicate.items.flatMap(propertiesReadBy);
974
+ case "not":
975
+ return propertiesReadBy(predicate.item);
976
+ case "constant":
977
+ return [];
978
+ default:
979
+ return [predicate.propertyId];
980
+ }
981
+ }
982
+ function anyOf(predicates) {
983
+ return predicates.length === 1 ? predicates[0] : { op: "or", items: predicates };
984
+ }
985
+ function clearancesForAuthority(authority) {
986
+ switch (authority.type) {
987
+ case "unrestricted":
988
+ return;
989
+ case "principal":
990
+ return authority.context.clearances ?? new Set;
991
+ case "delegated":
992
+ return new Set;
993
+ }
994
+ }
995
+ function delegatedLinkDefinitionKey(input) {
996
+ return "sourceObjectTypeId" in input ? JSON.stringify([input.sourceObjectTypeId, input.linkId, input.targetObjectTypeId]) : JSON.stringify([input.sourceTypeId, input.linkId, input.targetTypeId]);
997
+ }
998
+
999
+ // src/execution/object-reader-users.ts
1000
+ var LOOKUP_BATCH_SIZE = 500;
1001
+ async function attachUserProfiles(input) {
1002
+ const slots = [];
1003
+ collectSlots(input.rows, input.plan, input.ontology, slots);
1004
+ if (!input.canViewUsers)
1005
+ return;
1006
+ const records = await readUsers(input, slots);
1007
+ for (const slot of slots) {
1008
+ slot.users[slot.propertyId] = expandedValue(slot, records);
1009
+ }
1010
+ }
1011
+ function expandedValue(slot, records) {
1012
+ const profiles = slot.ids.flatMap((id) => {
1013
+ const record = records.get(id);
1014
+ return record ? [toUserProfile(record)] : [];
1015
+ });
1016
+ return slot.many ? profiles : profiles[0] ?? null;
1017
+ }
1018
+ function collectSlots(rows, plan, ontology, into) {
1019
+ for (const row of rows) {
1020
+ const properties = ontology.getObjectTypeById(row.objectTypeId)?.properties ?? [];
1021
+ for (const propertyId of plan.users) {
1022
+ const property = properties.find((candidate) => candidate.id === propertyId);
1023
+ if (!property || !isUserRefPropertySchema(property.schema))
1024
+ continue;
1025
+ row.users ??= {};
1026
+ if (row.redactions?.[propertyId])
1027
+ continue;
1028
+ into.push({
1029
+ users: row.users,
1030
+ propertyId,
1031
+ many: property.schema !== "userRef",
1032
+ ids: userIdsOf(row.properties[propertyId])
1033
+ });
1034
+ }
1035
+ for (const link of plan.links) {
1036
+ collectSlots(linkedRows(row.links?.[link.linkId]), link.plan, ontology, into);
1037
+ }
1038
+ }
1039
+ }
1040
+ async function readUsers(input, slots) {
1041
+ const records = new Map;
1042
+ const ids = [...new Set(slots.flatMap((slot) => slot.ids))];
1043
+ if (!input.users || ids.length === 0)
1044
+ return records;
1045
+ for (let start = 0;start < ids.length; start += LOOKUP_BATCH_SIZE) {
1046
+ const batch = ids.slice(start, start + LOOKUP_BATCH_SIZE);
1047
+ for (const record of await input.users.getByIds({ projectId: input.projectId, ids: batch })) {
1048
+ records.set(record.id, record);
1049
+ }
1050
+ }
1051
+ return records;
1052
+ }
1053
+ function userIdsOf(value) {
1054
+ if (isUserRef(value))
1055
+ return [value.id];
1056
+ if (!Array.isArray(value))
1057
+ return [];
1058
+ return value.filter(isUserRef).map((ref) => ref.id);
1059
+ }
1060
+ function linkedRows(value) {
1061
+ if (value === undefined || value === null)
1062
+ return [];
1063
+ if (Array.isArray(value))
1064
+ return value;
1065
+ return [value];
1066
+ }
1067
+
1068
+ // src/execution/unique-lookup.ts
1069
+ function uniqueLookupKey(ontology, input) {
1070
+ return uniqueLookupKeyOf(ontology.resolveObjectType(input.objectTypeId), input.propertyId, input.value, ontology.getValueTypesById());
1071
+ }
1072
+ function uniqueLookupKeyOf(objectType, propertyId, value, valueTypesById) {
1073
+ const path = `${objectType.id}.${propertyId}`;
1074
+ const property = objectType.properties.find((candidate) => candidate.id === propertyId);
1075
+ const kind = property?.unique ? uniqueValueKind(property.schema, valueTypesById) : undefined;
1076
+ if (!property || !kind) {
1077
+ throw new OntologyValidationError2(`[Sixb] Cannot look up '${path}' by value: getBy needs a property declared with unique: true.`);
1078
+ }
1079
+ if (value === null || value === undefined) {
1080
+ throw new OntologyValidationError2(`[Sixb] Cannot look up '${path}' by ${String(value)}: no object holds a null or missing value.`);
1081
+ }
1082
+ validateSchemaValue2(property.schema, value, path, valueTypesById);
1083
+ const key = uniqueValueKey(kind, normalizeSchemaValue2(property.schema, value, path, valueTypesById));
1084
+ if (key === null) {
1085
+ throw new OntologyValidationError2(`[Sixb] Cannot look up '${path}' by this value.`);
1086
+ }
1087
+ return key;
1088
+ }
1089
+
1090
+ // src/execution/authorized-object-reader.ts
1091
+ var readerConstructionKey = Object.freeze({});
1092
+
1093
+ class AuthorizedObjectReaderImpl {
1094
+ #ontology;
1095
+ #security;
1096
+ #models;
1097
+ #storage;
1098
+ #users;
1099
+ constructor(key, input) {
1100
+ if (key !== readerConstructionKey) {
1101
+ throw new Error("[Sixb] AuthorizedObjectReader can only be created by Core.");
1102
+ }
1103
+ this.#ontology = input.ontology;
1104
+ this.#security = input.security;
1105
+ this.#models = input.models;
1106
+ this.#storage = input.storage;
1107
+ this.#users = input.users;
1108
+ }
1109
+ static assertBound(reader, scope) {
1110
+ const capturedScope = captureExecutionScope(scope);
1111
+ resolveExecutionScopeAuthorization(reader.#security.runtime.projectId, capturedScope);
1112
+ if (capturedScope.authorization !== reader.#security.authorization) {
1113
+ throw new Error("[Sixb] AuthorizedObjectReader is not bound to this exact execution authority.");
1114
+ }
1115
+ }
1116
+ static async clearance(reader) {
1117
+ return reader.#security.clearance.current();
1118
+ }
1119
+ static eventClearance(reader, sources) {
1120
+ return reader.#security.clearance.forEvent(sources);
1121
+ }
1122
+ static viewConditions(reader) {
1123
+ const security = reader.#security;
1124
+ const conditions = security.conditionalScope?.conditions ?? [];
1125
+ return new Map(conditions.map(({ objectTypeId, predicate }) => [
1126
+ objectTypeId,
1127
+ {
1128
+ predicate,
1129
+ hiddenBy: (clearance) => !security.isObjectTypeViewable(objectTypeId, clearance)
1130
+ }
1131
+ ]));
1132
+ }
1133
+ static ontologyView(reader) {
1134
+ return reader.#ontology.view();
1135
+ }
1136
+ get projectId() {
1137
+ return this.#security.runtime.projectId;
1138
+ }
1139
+ async getByPrimaryId(input) {
1140
+ const request = snapshotReadValue({
1141
+ objectTypeId: input.objectTypeId,
1142
+ primaryId: input.primaryId
1143
+ });
1144
+ const clearance = await this.#security.clearance.current();
1145
+ this.#security.assertObjectTypesViewable([request.objectTypeId], clearance);
1146
+ const row = await this.#storage.getByPrimaryId({
1147
+ ...request,
1148
+ projectId: this.#security.runtime.projectId
1149
+ });
1150
+ return this.#detachRows(row && this.#omitHidden(row, clearance), (detached) => [detached], clearance);
1151
+ }
1152
+ async getByUniqueValue(input) {
1153
+ const request = snapshotReadValue({
1154
+ objectTypeId: input.objectTypeId,
1155
+ propertyId: input.propertyId,
1156
+ value: input.value
1157
+ });
1158
+ const clearance = await this.#security.clearance.current();
1159
+ this.#security.assertObjectTypesViewable([request.objectTypeId], clearance);
1160
+ const valueKey = uniqueLookupKey(this.#ontology.registry, request);
1161
+ const marking = clearance?.missingMarking(request.objectTypeId, request.propertyId);
1162
+ if (marking !== undefined) {
1163
+ throw new AuthorizationError2(`clearance:marking:${marking}`, `[Sixb] Cannot look up '${request.objectTypeId}.${request.propertyId}' by value: it requires clearance for marking '${marking}'.`);
1164
+ }
1165
+ const row = await this.#storage.getByUniqueValue({
1166
+ objectTypeId: request.objectTypeId,
1167
+ propertyId: request.propertyId,
1168
+ valueKey,
1169
+ projectId: this.#security.runtime.projectId
1170
+ });
1171
+ return this.#detachRows(row && this.#omitHidden(row, clearance), (detached) => [detached], clearance);
1172
+ }
1173
+ async getByPrimaryIdBatch(input) {
1174
+ const request = snapshotReadValue({
1175
+ items: input.items.map((item) => ({
1176
+ objectTypeId: item.objectTypeId,
1177
+ primaryId: item.primaryId
1178
+ }))
1179
+ });
1180
+ const clearance = await this.#security.clearance.current();
1181
+ this.#security.assertObjectTypesViewable(request.items.map((item) => item.objectTypeId), clearance);
1182
+ const rows = await this.#storage.getByPrimaryIdBatch({
1183
+ ...request,
1184
+ projectId: this.#security.runtime.projectId
1185
+ });
1186
+ return this.#detachRows(new Map([...rows].map(([key, row]) => [key, this.#omitHidden(row, clearance)])), (detached) => detached.values(), clearance);
1187
+ }
1188
+ async canReadObjectProperty(input) {
1189
+ const request = snapshotReadValue({
1190
+ objectTypeId: input.objectTypeId,
1191
+ primaryId: input.primaryId,
1192
+ propertyId: input.propertyId
1193
+ });
1194
+ const clearance = await this.#security.clearance.current();
1195
+ this.#security.assertObjectTypesViewable([request.objectTypeId], clearance);
1196
+ if (hidesProperty(request, clearance))
1197
+ return false;
1198
+ const [selected] = await this.#selectsObjectProperties([request]);
1199
+ return selected ?? false;
1200
+ }
1201
+ async canReadObjectPropertiesBatch(input) {
1202
+ const request = snapshotReadValue({
1203
+ items: input.items.map((item) => ({
1204
+ objectTypeId: item.objectTypeId,
1205
+ primaryId: item.primaryId,
1206
+ propertyId: item.propertyId
1207
+ }))
1208
+ });
1209
+ const clearance = await this.#security.clearance.current();
1210
+ this.#security.assertObjectTypesViewable(request.items.map((item) => item.objectTypeId), clearance);
1211
+ const selected = await this.#selectsObjectProperties(request.items);
1212
+ return request.items.map((item, index) => !hidesProperty(item, clearance) && selected[index] === true);
1213
+ }
1214
+ async list(input) {
1215
+ const request = snapshotReadValue({
1216
+ objectTypeId: typeof input.objectTypeId === "string" ? input.objectTypeId : input.objectTypeId === undefined ? undefined : [...input.objectTypeId],
1217
+ primaryIdPrefix: input.primaryIdPrefix,
1218
+ primaryIdSuffix: input.primaryIdSuffix,
1219
+ updatedAfter: input.updatedAfter,
1220
+ updatedBefore: input.updatedBefore,
1221
+ createdAfter: input.createdAfter,
1222
+ createdBefore: input.createdBefore,
1223
+ limit: input.limit,
1224
+ offset: input.offset,
1225
+ orderBy: input.orderBy,
1226
+ order: input.order
1227
+ });
1228
+ const clearance = await this.#security.clearance.current();
1229
+ const objectTypeId = this.#resolveListObjectTypes(request.objectTypeId, clearance);
1230
+ if (Array.isArray(objectTypeId) && objectTypeId.length === 0) {
1231
+ return { objects: [], hasMore: false, total: 0 };
1232
+ }
1233
+ const page = await this.#storage.list({
1234
+ ...request,
1235
+ ...objectTypeId === undefined ? {} : { objectTypeId },
1236
+ projectId: this.#security.runtime.projectId
1237
+ });
1238
+ return this.#detachRows({ ...page, objects: page.objects.map((row) => this.#omitHidden(row, clearance)) }, (detached) => detached.objects, clearance);
1239
+ }
1240
+ async listLinks(input) {
1241
+ const request = snapshotReadValue({
1242
+ objectTypeId: input.objectTypeId,
1243
+ objectId: input.objectId,
1244
+ linkId: input.linkId,
1245
+ direction: input.direction
1246
+ });
1247
+ const clearance = await this.#security.clearance.current();
1248
+ this.#security.assertObjectTypesViewable([request.objectTypeId], clearance);
1249
+ const links = detachReadResult(await this.#storage.listLinks({
1250
+ ...request,
1251
+ projectId: this.#security.runtime.projectId
1252
+ }));
1253
+ return links.filter((link) => this.#security.isLinkViewable(link, clearance));
1254
+ }
1255
+ async listLinksBatch(input) {
1256
+ const request = snapshotReadValue({
1257
+ direction: input.direction,
1258
+ items: input.items.map((item) => ({
1259
+ objectTypeId: item.objectTypeId,
1260
+ objectId: item.objectId,
1261
+ linkId: item.linkId
1262
+ }))
1263
+ });
1264
+ const clearance = await this.#security.clearance.current();
1265
+ this.#security.assertObjectTypesViewable(request.items.map((item) => item.objectTypeId), clearance);
1266
+ const pages = detachReadResult(await this.#storage.listLinksBatch({
1267
+ ...request,
1268
+ projectId: this.#security.runtime.projectId
1269
+ }));
1270
+ const filtered = new Map;
1271
+ for (const [key, links] of pages) {
1272
+ filtered.set(key, links.filter((link) => this.#security.isLinkViewable(link, clearance)));
1273
+ }
1274
+ return filtered;
1275
+ }
1276
+ async executeQuery(input) {
1277
+ const query = snapshotAuthoredQuery(input.query);
1278
+ const includeTotal = snapshotReadValue(input.includeTotal);
1279
+ const executionQuery = this.#admitDelegatedQuery(query)?.query ?? query;
1280
+ const clearance = await this.#security.clearance.current();
1281
+ const result = await executeObjectQuery2({
1282
+ query: executionQuery,
1283
+ ...includeTotal === undefined ? {} : { includeTotal },
1284
+ projectId: this.#security.runtime.projectId,
1285
+ signal: input.signal
1286
+ }, this.#queryExecutorOptions(clearance));
1287
+ const detached = this.#detachRows({ ...result, objects: result.objects.map((row) => this.#omitHidden(row, clearance)) }, (detached) => detached.objects, clearance);
1288
+ await this.#attachUsers(detached.objects, query);
1289
+ return detached;
1290
+ }
1291
+ async queryLinks(input) {
1292
+ const query = snapshotAuthoredQuery(input.query);
1293
+ const request = snapshotReadValue({
1294
+ direction: input.direction,
1295
+ linkId: input.linkId,
1296
+ includeObjects: input.includeObjects,
1297
+ pageSize: input.pageSize,
1298
+ pageToken: input.pageToken
1299
+ });
1300
+ let executionQuery = query;
1301
+ const admission = this.#security.delegation?.queryAdmission;
1302
+ if (admission) {
1303
+ const preflight = preflightObjectQueryLinks({ query, ...request, projectId: this.#security.runtime.projectId }, { ontology: this.#ontology.registry });
1304
+ const admitted = validateObjectQueryWithAdmission(preflight.validated.query, { ontology: this.#ontology.registry, normalize: false }, admission);
1305
+ admission.assertIncidentEdgeSelected({
1306
+ state: admitted.admissionState,
1307
+ ...preflight.linkId === undefined ? {} : { linkId: preflight.linkId },
1308
+ direction: preflight.direction,
1309
+ path: "$.linkId"
1310
+ });
1311
+ executionQuery = admitted.query;
1312
+ }
1313
+ const clearance = await this.#security.clearance.current();
1314
+ if (clearance) {
1315
+ assertLinkQueryReadable({
1316
+ ontology: this.#ontology.registry,
1317
+ clearance,
1318
+ query,
1319
+ request: { ...request, projectId: this.#security.runtime.projectId },
1320
+ viewableByGrants: (objectTypeId) => this.#security.isObjectTypeViewable(objectTypeId, undefined)
1321
+ });
1322
+ }
1323
+ const result = detachReadResult(await executeObjectQueryLinks2({ query: executionQuery, ...request, projectId: this.#security.runtime.projectId }, this.#queryExecutorOptions(clearance)));
1324
+ if (result.objects.some((row) => !this.#security.isObjectTypeViewable(row.objectTypeId, clearance)) || result.links.some((link) => !this.#security.isLinkViewable(link, clearance))) {
1325
+ throw new Error("[Sixb] Object storage returned a link page outside its authorized scope.");
1326
+ }
1327
+ return {
1328
+ ...result,
1329
+ objects: result.objects.map((row) => clearance ? redactObjectRow(row, clearance) : row)
1330
+ };
1331
+ }
1332
+ async count(input) {
1333
+ const query = snapshotAuthoredQuery(input.query);
1334
+ const executionQuery = this.#admitDelegatedQuery(query)?.query ?? query;
1335
+ const clearance = await this.#security.clearance.current();
1336
+ return detachReadResult(await countObjects2({ query: executionQuery, projectId: this.#security.runtime.projectId }, this.#queryExecutorOptions(clearance)));
1337
+ }
1338
+ async exists(input) {
1339
+ const query = snapshotAuthoredQuery(input.query);
1340
+ const executionQuery = this.#admitDelegatedQuery(query)?.query ?? query;
1341
+ const clearance = await this.#security.clearance.current();
1342
+ return detachReadResult(await existsObjects2({ query: executionQuery, projectId: this.#security.runtime.projectId }, this.#queryExecutorOptions(clearance)));
1343
+ }
1344
+ async facet(input) {
1345
+ const query = snapshotAuthoredQuery(input.query);
1346
+ const facets = snapshotFacetRequests(input.facets);
1347
+ let executionQuery = query;
1348
+ let executionFacets = facets;
1349
+ const admission = this.#security.delegation?.queryAdmission;
1350
+ if (admission) {
1351
+ const validated = validateObjectQuery2(query, { ontology: this.#ontology.registry });
1352
+ const normalizedFacets = validateObjectFacetRequests(facets, validated.result.objectTypeIds, {
1353
+ ontology: this.#ontology.registry
1354
+ });
1355
+ const admitted = validateObjectQueryWithAdmission(validated.query, { ontology: this.#ontology.registry, normalize: false }, admission);
1356
+ normalizedFacets.forEach((facet, index) => {
1357
+ admission.assertPropertySelected({
1358
+ state: admitted.admissionState,
1359
+ propertyId: facet.propertyId,
1360
+ use: "facet",
1361
+ path: `$.facets[${index}].propertyId`
1362
+ });
1363
+ });
1364
+ executionQuery = admitted.query;
1365
+ executionFacets = normalizedFacets;
1366
+ }
1367
+ const clearance = await this.#security.clearance.current();
1368
+ return detachReadResult(await facetObjects2({
1369
+ query: executionQuery,
1370
+ facets: executionFacets,
1371
+ projectId: this.#security.runtime.projectId
1372
+ }, this.#queryExecutorOptions(clearance)));
1373
+ }
1374
+ async writtenRowRedactor(objectTypeId) {
1375
+ const clearance = await this.#security.clearance.current();
1376
+ assertTargetsReadable(clearance, { objectTypeIds: [objectTypeId] });
1377
+ return (row) => clearance ? redactObjectRow(row, clearance) : row;
1378
+ }
1379
+ async uniqueValueWriteCheck(objectTypeId) {
1380
+ const clearance = await this.#security.clearance.current();
1381
+ const marked = this.#ontology.registry.listUniqueProperties(objectTypeId).flatMap((property) => {
1382
+ const marking = clearance?.missingMarking(objectTypeId, property.propertyId);
1383
+ return marking === undefined ? [] : [{ propertyId: property.propertyId, marking }];
1384
+ });
1385
+ return (properties) => {
1386
+ for (const { propertyId, marking } of marked) {
1387
+ if (properties[propertyId] === undefined || properties[propertyId] === null)
1388
+ continue;
1389
+ throw new AuthorizationError2(`clearance:marking:${marking}`, `[Sixb] Cannot write a value to '${objectTypeId}.${propertyId}': it is unique and requires clearance for marking '${marking}'.`);
1390
+ }
1391
+ };
1392
+ }
1393
+ async assertReadable(targets) {
1394
+ assertTargetsReadable(await this.#security.clearance.current(), targets);
1395
+ }
1396
+ viewsThroughCondition(objectTypeId) {
1397
+ return this.#security.viewsThroughCondition(objectTypeId);
1398
+ }
1399
+ async assertViewable(objectTypeIds) {
1400
+ const clearance = await this.#security.clearance.current();
1401
+ this.#security.assertObjectTypesViewable(objectTypeIds, clearance);
1402
+ }
1403
+ assertVisibleOutputWithinLimit(value) {
1404
+ if (this.#security.authority.type !== "delegated")
1405
+ return;
1406
+ assertObjectReadOutputWithinLimit2(value, this.#security.authority.objectRead.limits);
1407
+ }
1408
+ admitTelemetryHistoryRead(input) {
1409
+ return admitTelemetryHistoryReadWorkload(input, this.#security.authority.type === "delegated");
1410
+ }
1411
+ #queryExecutorOptions(clearance) {
1412
+ const admission = this.#executorAdmission(clearance);
1413
+ if (this.#security.authority.type === "delegated") {
1414
+ return {
1415
+ ontology: this.#ontology.registry,
1416
+ storage: this.#storage,
1417
+ embeddingModels: this.#models.embedding,
1418
+ rerankingModels: this.#models.reranking,
1419
+ ...admission === undefined ? {} : { admission },
1420
+ requestingUser: this.#security.requestingUser
1421
+ };
1422
+ }
1423
+ return {
1424
+ ontology: this.#ontology.registry,
1425
+ embeddingModels: this.#models.embedding,
1426
+ rerankingModels: this.#models.reranking,
1427
+ storage: this.#storage,
1428
+ ...this.#queryAuthorization(clearance),
1429
+ ...admission === undefined ? {} : { admission },
1430
+ requestingUser: this.#security.requestingUser
1431
+ };
1432
+ }
1433
+ #queryAuthorization(clearance) {
1434
+ const runtimeAuthorization = this.#security.runtime.runtimeAuthorization;
1435
+ if (this.#security.authority.type !== "principal")
1436
+ return { runtimeAuthorization };
1437
+ const security = this.#security;
1438
+ return {
1439
+ runtimeAuthorization,
1440
+ readableObjectTypes: Object.freeze({
1441
+ assert: (objectTypeIds) => security.assertObjectTypesGranted(objectTypeIds, clearance),
1442
+ has: (objectTypeId) => security.isObjectTypeGranted(objectTypeId, clearance)
1443
+ })
1444
+ };
1445
+ }
1446
+ #executorAdmission(clearance) {
1447
+ const admission = clearance && createClearanceQueryAdmission(clearance);
1448
+ const selected = this.#security.delegation?.queryAdmission;
1449
+ if (selected && admission)
1450
+ return composeObjectQueryAdmissions(selected, admission);
1451
+ return selected ?? admission;
1452
+ }
1453
+ async#attachUsers(rows, query) {
1454
+ const plan = userExpansionPlan(normalizeObjectQuery2(query));
1455
+ if (!plan)
1456
+ return;
1457
+ await attachUserProfiles({
1458
+ rows,
1459
+ plan,
1460
+ ontology: this.#ontology.registry,
1461
+ projectId: this.#security.runtime.projectId,
1462
+ canViewUsers: isRuntimeAllowed2(this.#security.runtime, { kind: "users.view" }),
1463
+ users: this.#users
1464
+ });
1465
+ }
1466
+ async#selectsObjectProperties(items) {
1467
+ const readsByObject = (item) => this.#security.authority.type === "delegated" || this.#security.viewsThroughCondition(item.objectTypeId);
1468
+ const checked = items.filter(readsByObject);
1469
+ const selected = checked.length === 0 ? [] : await this.#storage.selectsObjectProperties({
1470
+ projectId: this.#security.runtime.projectId,
1471
+ items: checked
1472
+ });
1473
+ let next = 0;
1474
+ return items.map((item) => !readsByObject(item) || selected[next++] === true);
1475
+ }
1476
+ #omitHidden(row, clearance) {
1477
+ return clearance ? omitHiddenProperties(row, clearance) : row;
1478
+ }
1479
+ #detachRows(result, rows, clearance) {
1480
+ const detached = detachReadResult(result);
1481
+ if (clearance) {
1482
+ for (const row of rows(detached))
1483
+ if (row)
1484
+ attachRedactions(row, clearance);
1485
+ }
1486
+ return detached;
1487
+ }
1488
+ #admitDelegatedQuery(query) {
1489
+ const admission = this.#security.delegation?.queryAdmission;
1490
+ if (!admission)
1491
+ return;
1492
+ return validateObjectQueryWithAdmission(query, { ontology: this.#ontology.registry }, admission);
1493
+ }
1494
+ #resolveListObjectTypes(requested, clearance) {
1495
+ if (requested !== undefined) {
1496
+ const objectTypeIds = typeof requested === "string" ? [requested] : [...new Set(requested)];
1497
+ for (const objectTypeId of objectTypeIds) {
1498
+ this.#ontology.registry.resolveObjectType(objectTypeId);
1499
+ }
1500
+ this.#security.assertObjectTypesViewable(objectTypeIds, clearance);
1501
+ return typeof requested === "string" ? requested : objectTypeIds;
1502
+ }
1503
+ if (this.#security.authority.type === "unrestricted")
1504
+ return;
1505
+ return this.#ontology.registry.listObjectTypes().map((objectType) => objectType.id).filter((objectTypeId) => this.#security.isObjectTypeViewable(objectTypeId, clearance));
1506
+ }
1507
+ }
1508
+ Object.freeze(AuthorizedObjectReaderImpl.prototype);
1509
+ Object.freeze(AuthorizedObjectReaderImpl);
1510
+ function createAuthorizedObjectReader(input) {
1511
+ const scope = captureExecutionScope(input.scope);
1512
+ const projectId = scope.execution.projectId;
1513
+ const authority = resolveExecutionScopeAuthorization(projectId, scope);
1514
+ const security = new ObjectReaderSecurity({
1515
+ authorization: scope.authorization,
1516
+ authority,
1517
+ projectId,
1518
+ ontology: input.ontology,
1519
+ ...input.appliedMarkings === undefined ? {} : { appliedMarkings: input.appliedMarkings },
1520
+ requestedBy: scope.execution.requestedBy
1521
+ });
1522
+ const storage = objectStorageForAuthority(security, input.objectStorage);
1523
+ const reader = new AuthorizedObjectReaderImpl(readerConstructionKey, {
1524
+ ontology: new ObjectReaderOntology(input.ontology, security),
1525
+ security,
1526
+ models: Object.freeze({
1527
+ ...input.embeddingModels === undefined ? {} : { embedding: input.embeddingModels },
1528
+ ...input.rerankingModels === undefined ? {} : { reranking: input.rerankingModels }
1529
+ }),
1530
+ storage,
1531
+ ...input.users === undefined ? {} : { users: input.users }
1532
+ });
1533
+ Object.freeze(reader);
1534
+ return reader;
1535
+ }
1536
+ function assertAuthorizedObjectReaderBinding(input) {
1537
+ AuthorizedObjectReaderImpl.assertBound(input.reader, input.scope);
1538
+ }
1539
+ function getAuthorizedOntologyView(reader) {
1540
+ return AuthorizedObjectReaderImpl.ontologyView(reader);
1541
+ }
1542
+ function readerClearance(reader) {
1543
+ return AuthorizedObjectReaderImpl.clearance(reader);
1544
+ }
1545
+ function readerEventClearance(reader, sources) {
1546
+ return AuthorizedObjectReaderImpl.eventClearance(reader, sources);
1547
+ }
1548
+ function readerViewConditions(reader) {
1549
+ return AuthorizedObjectReaderImpl.viewConditions(reader);
1550
+ }
1551
+ function assertTargetsReadable(clearance, targets) {
1552
+ if (!clearance)
1553
+ return;
1554
+ for (const objectTypeId of targets.objectTypeIds) {
1555
+ const unreadable = clearance.unreadableType(objectTypeId);
1556
+ if (unreadable)
1557
+ throw unreadableError(unreadable);
1558
+ }
1559
+ for (const link of targets.links ?? []) {
1560
+ const unreadable = clearance.unreadableLink(link.objectTypeId, link.linkId);
1561
+ if (unreadable)
1562
+ throw unreadableError(unreadable);
1563
+ }
1564
+ }
1565
+ function hidesProperty(item, clearance) {
1566
+ return clearance?.missingMarking(item.objectTypeId, item.propertyId) !== undefined;
1567
+ }
1568
+ function objectStorageForAuthority(security, objectStorage) {
1569
+ const authority = security.authority;
1570
+ switch (authority.type) {
1571
+ case "principal":
1572
+ return security.conditionalScope ? objectStorage.createConditionalReadScope({
1573
+ projectId: authority.projectId,
1574
+ scope: security.conditionalScope
1575
+ }) : objectStorage;
1576
+ case "unrestricted":
1577
+ return objectStorage;
1578
+ case "delegated":
1579
+ return objectStorage.createSelectedReadScope({
1580
+ projectId: authority.projectId,
1581
+ scope: authority.objectRead.scope,
1582
+ limits: authority.objectRead.limits
1583
+ });
1584
+ default:
1585
+ return assertNever(authority, `[Sixb] Unsupported object reader authority '${String(authority.type)}'.`);
1586
+ }
1587
+ }
1588
+ function detachReadResult(value) {
1589
+ return structuredClone(value);
1590
+ }
1591
+ function snapshotReadValue(value) {
1592
+ return structuredClone(value);
1593
+ }
1594
+ function snapshotFacetRequests(facets) {
1595
+ if (!Array.isArray(facets)) {
1596
+ throw new ObjectQueryValidationError2([
1597
+ {
1598
+ path: "$.facets",
1599
+ code: "invalid_facets",
1600
+ message: "facets must be an array"
1601
+ }
1602
+ ]);
1603
+ }
1604
+ const length = facets.length;
1605
+ if (!Number.isSafeInteger(length) || length > MAX_OBJECT_READ_FACETS2) {
1606
+ throw new ObjectQueryValidationError2([
1607
+ {
1608
+ path: "$.facets",
1609
+ code: "too_many_facets",
1610
+ message: `facets must include at most ${MAX_OBJECT_READ_FACETS2} facet requests`
1611
+ }
1612
+ ]);
1613
+ }
1614
+ const snapshot = [];
1615
+ for (let index = 0;index < length; index += 1) {
1616
+ const facet = facets[index];
1617
+ snapshot.push({ propertyId: facet.propertyId, limit: facet.limit });
1618
+ }
1619
+ return snapshot;
1620
+ }
1621
+ function snapshotAuthoredQuery(query) {
1622
+ try {
1623
+ const snapshot = structuredClone(query);
1624
+ const pending = [snapshot];
1625
+ const seen = new Set;
1626
+ for (const node of pending) {
1627
+ if (seen.has(node))
1628
+ continue;
1629
+ seen.add(node);
1630
+ if (node.kind === "vector" && (typeof node.vector !== "string" || typeof node.profile !== "string" || ("propertyId" in node))) {
1631
+ throw new ObjectQueryValidationError2([
1632
+ {
1633
+ path: "$",
1634
+ code: "invalid_vector_search_input",
1635
+ message: "Vector search requires a named profile and search text"
1636
+ }
1637
+ ]);
1638
+ }
1639
+ if ("input" in node)
1640
+ pending.push(node.input);
1641
+ if (node.kind === "set")
1642
+ pending.push(...node.inputs);
1643
+ }
1644
+ return snapshot;
1645
+ } catch (error) {
1646
+ if (error instanceof ObjectQueryValidationError2)
1647
+ throw error;
1648
+ throw new ObjectQueryValidationError2([
1649
+ {
1650
+ path: "$",
1651
+ code: "query_not_cloneable",
1652
+ message: "Object query must contain only structured-cloneable data"
1653
+ }
1654
+ ]);
1655
+ }
1656
+ }
1657
+
1658
+ export { redactDomainEvent, uniqueLookupKeyOf, createAuthorizedObjectReader, assertAuthorizedObjectReaderBinding, getAuthorizedOntologyView, readerClearance, readerEventClearance, readerViewConditions };
1659
+
1660
+ //# debugId=2DBF13BEAC1BA51864756E2164756E21