@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
@@ -1,19 +1,14 @@
1
1
  import { assertNever } from "../assert-never"
2
- import { assertAuthorized, isAllowed } from "../authorization"
2
+ import { isRuntimeAllowed } from "../authorization"
3
3
  import { AuthorizationError } from "../authorization/errors"
4
- import type { AuthorizationContext } from "../authorization/types"
5
4
  import type { EmbeddingModelCatalog, RerankingModelCatalog } from "../models/catalog"
5
+ import type { AuthorizedOntologyView } from "../objects/authorized-ontology-view"
6
6
  import {
7
- type AuthorizedOntologySelection,
8
- type AuthorizedOntologyView,
9
- createAuthorizedOntologyView,
10
- } from "../objects/authorized-ontology-view"
11
- import {
12
- createClearanceQueryAdmission,
13
- type PropertyClearance,
7
+ attachRedactions,
8
+ omitHiddenProperties,
14
9
  redactObjectRow,
15
- resolvePropertyClearance,
16
- } from "../objects/property-clearance"
10
+ } from "../objects/clearance-redaction"
11
+ import { unreadableError } from "../objects/property-clearance"
17
12
  import {
18
13
  countObjects,
19
14
  type ExecuteObjectCountInput,
@@ -31,14 +26,14 @@ import {
31
26
  existsObjects,
32
27
  facetObjects,
33
28
  } from "../objects/query"
29
+ import { createClearanceQueryAdmission } from "../objects/query/clearance-admission"
34
30
  import { ObjectQueryValidationError } from "../objects/query/errors"
35
- import { validateObjectFacetRequests } from "../objects/query/executor"
36
- import type { ObjectQuery } from "../objects/query/ir"
31
+ import { type QueryExecutorOptions, validateObjectFacetRequests } from "../objects/query/executor"
32
+ import type { ObjectQuery, ObjectQueryPredicate } from "../objects/query/ir"
33
+ import { assertLinkQueryReadable } from "../objects/query/link-query-clearance"
37
34
  import { preflightObjectQueryLinks } from "../objects/query/links"
38
- import {
39
- createSelectedObjectQueryAdmission,
40
- type SelectedObjectQueryAdmission,
41
- } from "../objects/query/selected-read-admission"
35
+ import { normalizeObjectQuery } from "../objects/query/normalize"
36
+ import { userExpansionPlan } from "../objects/query/user-expansions"
42
37
  import {
43
38
  type AdmittedObjectQuery,
44
39
  composeObjectQueryAdmissions,
@@ -52,8 +47,9 @@ import {
52
47
  type TelemetryHistoryReadWorkloadInput,
53
48
  } from "../objects/telemetry/workload"
54
49
  import type { OntologyRegistry } from "../ontology"
50
+ import type { AppliedMarkings } from "../security/applied-markings"
55
51
  import type {
56
- CompiledObjectReadStep,
52
+ AuthUserStore,
57
53
  LinkBatchKey,
58
54
  ObjectFacetRequest,
59
55
  ObjectLinkRow,
@@ -63,17 +59,21 @@ import type {
63
59
  } from "../storage"
64
60
  import { assertObjectReadOutputWithinLimit, MAX_OBJECT_READ_FACETS } from "../storage"
65
61
  import { captureExecutionScope, resolveExecutionScopeAuthorization } from "./authorization"
66
- import type { ExecutionScope, RuntimeAuthorization } from "./types"
62
+ import type { Clearance, EventSources } from "./object-reader-clearance"
63
+ import { ObjectReaderOntology } from "./object-reader-ontology"
64
+ import { ObjectReaderSecurity } from "./object-reader-security"
65
+ import { attachUserProfiles } from "./object-reader-users"
66
+ import type { ExecutionScope } from "./types"
67
+ import { uniqueLookupKey } from "./unique-lookup"
67
68
 
68
- type RuntimeReadAuthorization = {
69
- readonly projectId: string
70
- readonly runtimeAuthorization: RuntimeAuthorization
71
- readonly authorization?: AuthorizationContext
72
- }
73
-
74
- type ResolvedExecutionAuthority = ReturnType<typeof resolveExecutionScopeAuthorization>
75
69
  type GetObjectInput = Omit<Parameters<ObjectReadStorage["getByPrimaryId"]>[0], "projectId">
76
70
  type GetObjectsInput = Omit<Parameters<ObjectReadStorage["getByPrimaryIdBatch"]>[0], "projectId">
71
+ /** A caller's value, validated and keyed against the property's schema. */
72
+ interface GetByUniqueValueInput {
73
+ readonly objectTypeId: string
74
+ readonly propertyId: string
75
+ readonly value: unknown
76
+ }
77
77
  type SelectObjectPropertiesInput = Parameters<ObjectReadStorage["selectsObjectProperties"]>[0]
78
78
  type CanReadObjectPropertyInput = SelectObjectPropertiesInput["items"][number]
79
79
  type CanReadObjectPropertiesBatchInput = Omit<SelectObjectPropertiesInput, "projectId">
@@ -81,6 +81,12 @@ type ListObjectsInput = Omit<Parameters<ObjectReadStorage["list"]>[0], "projectI
81
81
  type ListLinksInput = Omit<Parameters<ObjectReadStorage["listLinks"]>[0], "projectId">
82
82
  type ListLinksBatchInput = Omit<Parameters<ObjectReadStorage["listLinksBatch"]>[0], "projectId">
83
83
 
84
+ /** The model catalogs semantic and reranked search use. */
85
+ interface ObjectReaderModels {
86
+ readonly embedding?: EmbeddingModelCatalog
87
+ readonly reranking?: RerankingModelCatalog
88
+ }
89
+
84
90
  const readerConstructionKey = Object.freeze({})
85
91
 
86
92
  /**
@@ -89,91 +95,88 @@ const readerConstructionKey = Object.freeze({})
89
95
  * The implementation class is intentionally private to this module. Its private fields make the
90
96
  * exported instance type nominal, while the construction key prevents code that discovers the
91
97
  * JavaScript constructor through an instance from manufacturing another reader.
98
+ *
99
+ * Its state is grouped as a project is: the ontology it resolves against, the security of the
100
+ * authority (its delegation and clearance included), the model catalogs search uses, and the
101
+ * storage it reads, with the member directory that expanded user properties resolve against.
102
+ * Each group decides what belongs to it; the reader composes them.
92
103
  */
93
104
  class AuthorizedObjectReaderImpl {
94
- readonly #authorization: RuntimeAuthorization
95
- readonly #authority: ResolvedExecutionAuthority
96
- readonly #runtime: RuntimeReadAuthorization
97
- readonly #ontology: OntologyRegistry
98
- readonly #embeddingModels?: EmbeddingModelCatalog
99
- readonly #rerankingModels?: RerankingModelCatalog
100
- #ontologyView?: AuthorizedOntologyView
105
+ readonly #ontology: ObjectReaderOntology
106
+ readonly #security: ObjectReaderSecurity
107
+ readonly #models: ObjectReaderModels
101
108
  readonly #storage: ObjectReadStorage
102
- readonly #delegatedObjectTypeIds?: ReadonlySet<string>
103
- readonly #delegatedLinkDefinitions?: ReadonlySet<string>
104
- readonly #delegatedQueryAdmission?: SelectedObjectQueryAdmission
105
- /** Marked properties this authority cannot read; absent when it reads every property. */
106
- readonly #clearance?: PropertyClearance
109
+ readonly #users: AuthUserStore | undefined
107
110
 
108
111
  constructor(
109
112
  key: typeof readerConstructionKey,
110
113
  input: {
111
- readonly scope: ExecutionScope
112
- readonly ontology: OntologyRegistry
113
- readonly embeddingModels?: EmbeddingModelCatalog
114
- readonly rerankingModels?: RerankingModelCatalog
114
+ readonly ontology: ObjectReaderOntology
115
+ readonly security: ObjectReaderSecurity
116
+ readonly models: ObjectReaderModels
115
117
  readonly storage: ObjectReadStorage
116
- readonly authority: ResolvedExecutionAuthority
118
+ readonly users?: AuthUserStore
117
119
  }
118
120
  ) {
119
121
  if (key !== readerConstructionKey) {
120
122
  throw new Error("[Sixb] AuthorizedObjectReader can only be created by Core.")
121
123
  }
122
-
123
- this.#authorization = input.scope.authorization
124
- this.#authority = input.authority
125
124
  this.#ontology = input.ontology
126
- this.#embeddingModels = input.embeddingModels
127
- this.#rerankingModels = input.rerankingModels
125
+ this.#security = input.security
126
+ this.#models = input.models
128
127
  this.#storage = input.storage
129
- this.#delegatedObjectTypeIds =
130
- input.authority.type === "delegated"
131
- ? new Set(input.authority.objectRead.scope.objects.map((object) => object.objectTypeId))
132
- : undefined
133
- this.#delegatedLinkDefinitions =
134
- input.authority.type === "delegated"
135
- ? new Set(input.authority.objectRead.scope.steps.map(delegatedLinkDefinitionKey))
136
- : undefined
137
- this.#delegatedQueryAdmission =
138
- input.authority.type === "delegated"
139
- ? createSelectedObjectQueryAdmission(input.authority.objectRead.scope)
140
- : undefined
141
- this.#clearance = clearanceForAuthority(input.authority, input.ontology)
142
- this.#runtime = Object.freeze({
143
- projectId: input.scope.execution.projectId,
144
- runtimeAuthorization: input.scope.authorization,
145
- ...(input.authority.type === "principal" ? { authorization: input.authority.context } : {}),
146
- })
128
+ this.#users = input.users
147
129
  }
148
130
 
149
131
  static assertBound(reader: AuthorizedObjectReaderImpl, scope: ExecutionScope): void {
150
132
  const capturedScope = captureExecutionScope(scope)
151
- resolveExecutionScopeAuthorization(reader.#runtime.projectId, capturedScope)
152
- if (capturedScope.authorization !== reader.#authorization) {
133
+ resolveExecutionScopeAuthorization(reader.#security.runtime.projectId, capturedScope)
134
+ if (capturedScope.authorization !== reader.#security.authorization) {
153
135
  throw new Error(
154
136
  "[Sixb] AuthorizedObjectReader is not bound to this exact execution authority."
155
137
  )
156
138
  }
157
139
  }
158
140
 
141
+ /** What the reader cannot read now, for surfaces such as events that redact on their own. */
142
+ static async clearance(reader: AuthorizedObjectReaderImpl): Promise<Clearance> {
143
+ return reader.#security.clearance.current()
144
+ }
145
+
146
+ /** What the reader cannot read in an object event. */
147
+ static eventClearance(
148
+ reader: AuthorizedObjectReaderImpl,
149
+ sources: EventSources
150
+ ): Clearance | Promise<Clearance> {
151
+ return reader.#security.clearance.forEvent(sources)
152
+ }
153
+
154
+ /** The conditions the reader views object types through, by concrete type. */
155
+ static viewConditions(
156
+ reader: AuthorizedObjectReaderImpl
157
+ ): ReadonlyMap<string, ReaderViewCondition> {
158
+ const security = reader.#security
159
+ const conditions = security.conditionalScope?.conditions ?? []
160
+
161
+ return new Map(
162
+ conditions.map(({ objectTypeId, predicate }) => [
163
+ objectTypeId,
164
+ {
165
+ predicate,
166
+ hiddenBy: (clearance: Clearance) =>
167
+ !security.isObjectTypeViewable(objectTypeId, clearance),
168
+ },
169
+ ])
170
+ )
171
+ }
172
+
159
173
  static ontologyView(reader: AuthorizedObjectReaderImpl): AuthorizedOntologyView {
160
- const authority = reader.#authority
161
- reader.#ontologyView ??= createAuthorizedOntologyView({
162
- ontology: reader.#ontology,
163
- selection: ontologySelectionForAuthority(authority, reader.#ontology),
164
- ...(authority.type === "delegated"
165
- ? {
166
- assertOutputWithinLimit: (value: unknown) =>
167
- assertObjectReadOutputWithinLimit(value, authority.objectRead.limits),
168
- }
169
- : {}),
170
- })
171
- return reader.#ontologyView
174
+ return reader.#ontology.view()
172
175
  }
173
176
 
174
177
  /** Project identity carried by this nominal reader capability. */
175
178
  get projectId(): string {
176
- return this.#runtime.projectId
179
+ return this.#security.runtime.projectId
177
180
  }
178
181
 
179
182
  async getByPrimaryId(input: GetObjectInput): ReturnType<ObjectReadStorage["getByPrimaryId"]> {
@@ -181,12 +184,52 @@ class AuthorizedObjectReaderImpl {
181
184
  objectTypeId: input.objectTypeId,
182
185
  primaryId: input.primaryId,
183
186
  })
184
- this.#assertObjectTypesViewable([request.objectTypeId])
187
+ const clearance = await this.#security.clearance.current()
188
+ this.#security.assertObjectTypesViewable([request.objectTypeId], clearance)
185
189
  const row = await this.#storage.getByPrimaryId({
186
190
  ...request,
187
- projectId: this.#runtime.projectId,
191
+ projectId: this.#security.runtime.projectId,
188
192
  })
189
- return detachReadResult(row && this.#redact(row))
193
+ return this.#detachRows(
194
+ row && this.#omitHidden(row, clearance),
195
+ (detached) => [detached],
196
+ clearance
197
+ )
198
+ }
199
+
200
+ /**
201
+ * The object of exactly `objectTypeId` holding a unique property's value, or null. A lookup by a
202
+ * marked property would reveal its value, so it needs the clearance a query predicate needs.
203
+ */
204
+ async getByUniqueValue(input: GetByUniqueValueInput): Promise<ObjectRow | null> {
205
+ const request = snapshotReadValue({
206
+ objectTypeId: input.objectTypeId,
207
+ propertyId: input.propertyId,
208
+ value: input.value,
209
+ })
210
+ const clearance = await this.#security.clearance.current()
211
+ this.#security.assertObjectTypesViewable([request.objectTypeId], clearance)
212
+
213
+ const valueKey = uniqueLookupKey(this.#ontology.registry, request)
214
+ const marking = clearance?.missingMarking(request.objectTypeId, request.propertyId)
215
+ if (marking !== undefined) {
216
+ throw new AuthorizationError(
217
+ `clearance:marking:${marking}`,
218
+ `[Sixb] Cannot look up '${request.objectTypeId}.${request.propertyId}' by value: it requires clearance for marking '${marking}'.`
219
+ )
220
+ }
221
+
222
+ const row = await this.#storage.getByUniqueValue({
223
+ objectTypeId: request.objectTypeId,
224
+ propertyId: request.propertyId,
225
+ valueKey,
226
+ projectId: this.#security.runtime.projectId,
227
+ })
228
+ return this.#detachRows(
229
+ row && this.#omitHidden(row, clearance),
230
+ (detached) => [detached],
231
+ clearance
232
+ )
190
233
  }
191
234
 
192
235
  async getByPrimaryIdBatch(
@@ -198,13 +241,19 @@ class AuthorizedObjectReaderImpl {
198
241
  primaryId: item.primaryId,
199
242
  })),
200
243
  })
201
- this.#assertObjectTypesViewable(request.items.map((item) => item.objectTypeId))
244
+ const clearance = await this.#security.clearance.current()
245
+ this.#security.assertObjectTypesViewable(
246
+ request.items.map((item) => item.objectTypeId),
247
+ clearance
248
+ )
202
249
  const rows = await this.#storage.getByPrimaryIdBatch({
203
250
  ...request,
204
- projectId: this.#runtime.projectId,
251
+ projectId: this.#security.runtime.projectId,
205
252
  })
206
- return detachReadResult(
207
- new Map([...rows].map(([key, row]) => [key, this.#redact(row)] as const))
253
+ return this.#detachRows(
254
+ new Map([...rows].map(([key, row]) => [key, this.#omitHidden(row, clearance)] as const)),
255
+ (detached) => detached.values(),
256
+ clearance
208
257
  )
209
258
  }
210
259
 
@@ -214,14 +263,12 @@ class AuthorizedObjectReaderImpl {
214
263
  primaryId: input.primaryId,
215
264
  propertyId: input.propertyId,
216
265
  })
217
- this.#assertObjectTypesViewable([request.objectTypeId])
218
- if (this.#hidesProperty(request)) return false
219
- if (this.#authority.type !== "delegated") return true
220
- const [readable] = await this.#storage.selectsObjectProperties({
221
- projectId: this.#runtime.projectId,
222
- items: [request],
223
- })
224
- return readable ?? false
266
+ const clearance = await this.#security.clearance.current()
267
+ this.#security.assertObjectTypesViewable([request.objectTypeId], clearance)
268
+
269
+ if (hidesProperty(request, clearance)) return false
270
+ const [selected] = await this.#selectsObjectProperties([request])
271
+ return selected ?? false
225
272
  }
226
273
 
227
274
  async canReadObjectPropertiesBatch(
@@ -234,16 +281,14 @@ class AuthorizedObjectReaderImpl {
234
281
  propertyId: item.propertyId,
235
282
  })),
236
283
  })
237
- this.#assertObjectTypesViewable(request.items.map((item) => item.objectTypeId))
238
- const selected =
239
- this.#authority.type === "delegated"
240
- ? await this.#storage.selectsObjectProperties({
241
- ...request,
242
- projectId: this.#runtime.projectId,
243
- })
244
- : request.items.map(() => true)
284
+ const clearance = await this.#security.clearance.current()
285
+ this.#security.assertObjectTypesViewable(
286
+ request.items.map((item) => item.objectTypeId),
287
+ clearance
288
+ )
289
+ const selected = await this.#selectsObjectProperties(request.items)
245
290
  return request.items.map(
246
- (item, index) => !this.#hidesProperty(item) && selected[index] === true
291
+ (item, index) => !hidesProperty(item, clearance) && selected[index] === true
247
292
  )
248
293
  }
249
294
 
@@ -266,7 +311,8 @@ class AuthorizedObjectReaderImpl {
266
311
  orderBy: input.orderBy,
267
312
  order: input.order,
268
313
  })
269
- const objectTypeId = this.#resolveListObjectTypes(request.objectTypeId)
314
+ const clearance = await this.#security.clearance.current()
315
+ const objectTypeId = this.#resolveListObjectTypes(request.objectTypeId, clearance)
270
316
 
271
317
  // An empty type selection means "none", never "all". Short-circuiting here prevents a
272
318
  // provider with different empty-array semantics from turning a principal read into a broad one.
@@ -277,9 +323,13 @@ class AuthorizedObjectReaderImpl {
277
323
  const page = await this.#storage.list({
278
324
  ...request,
279
325
  ...(objectTypeId === undefined ? {} : { objectTypeId }),
280
- projectId: this.#runtime.projectId,
326
+ projectId: this.#security.runtime.projectId,
281
327
  })
282
- return detachReadResult({ ...page, objects: page.objects.map((row) => this.#redact(row)) })
328
+ return this.#detachRows(
329
+ { ...page, objects: page.objects.map((row) => this.#omitHidden(row, clearance)) },
330
+ (detached) => detached.objects,
331
+ clearance
332
+ )
283
333
  }
284
334
 
285
335
  async listLinks(input: ListLinksInput): ReturnType<ObjectReadStorage["listLinks"]> {
@@ -289,14 +339,15 @@ class AuthorizedObjectReaderImpl {
289
339
  linkId: input.linkId,
290
340
  direction: input.direction,
291
341
  })
292
- this.#assertObjectTypesViewable([request.objectTypeId])
342
+ const clearance = await this.#security.clearance.current()
343
+ this.#security.assertObjectTypesViewable([request.objectTypeId], clearance)
293
344
  const links = detachReadResult(
294
345
  await this.#storage.listLinks({
295
346
  ...request,
296
- projectId: this.#runtime.projectId,
347
+ projectId: this.#security.runtime.projectId,
297
348
  })
298
349
  )
299
- return links.filter((link) => this.#isLinkViewable(link))
350
+ return links.filter((link) => this.#security.isLinkViewable(link, clearance))
300
351
  }
301
352
 
302
353
  async listLinksBatch(
@@ -310,18 +361,22 @@ class AuthorizedObjectReaderImpl {
310
361
  linkId: item.linkId,
311
362
  })),
312
363
  })
313
- this.#assertObjectTypesViewable(request.items.map((item) => item.objectTypeId))
364
+ const clearance = await this.#security.clearance.current()
365
+ this.#security.assertObjectTypesViewable(
366
+ request.items.map((item) => item.objectTypeId),
367
+ clearance
368
+ )
314
369
  const pages = detachReadResult(
315
370
  await this.#storage.listLinksBatch({
316
371
  ...request,
317
- projectId: this.#runtime.projectId,
372
+ projectId: this.#security.runtime.projectId,
318
373
  })
319
374
  )
320
375
  const filtered = new Map<LinkBatchKey, ObjectLinkRow[]>()
321
376
  for (const [key, links] of pages) {
322
377
  filtered.set(
323
378
  key,
324
- links.filter((link) => this.#isLinkViewable(link))
379
+ links.filter((link) => this.#security.isLinkViewable(link, clearance))
325
380
  )
326
381
  }
327
382
  return filtered
@@ -333,16 +388,24 @@ class AuthorizedObjectReaderImpl {
333
388
  const query = snapshotAuthoredQuery(input.query)
334
389
  const includeTotal = snapshotReadValue(input.includeTotal)
335
390
  const executionQuery = this.#admitDelegatedQuery(query)?.query ?? query
391
+ const clearance = await this.#security.clearance.current()
336
392
  const result = await executeObjectQuery(
337
393
  {
338
394
  query: executionQuery,
339
395
  ...(includeTotal === undefined ? {} : { includeTotal }),
340
- projectId: this.#runtime.projectId,
396
+ projectId: this.#security.runtime.projectId,
341
397
  signal: input.signal,
342
398
  },
343
- this.#queryExecutorOptions()
399
+ this.#queryExecutorOptions(clearance)
344
400
  )
345
- return detachReadResult({ ...result, objects: result.objects.map((row) => this.#redact(row)) })
401
+ const detached = this.#detachRows(
402
+ { ...result, objects: result.objects.map((row) => this.#omitHidden(row, clearance)) },
403
+ (detached) => detached.objects,
404
+ clearance
405
+ )
406
+
407
+ await this.#attachUsers(detached.objects, query)
408
+ return detached
346
409
  }
347
410
 
348
411
  async queryLinks(
@@ -357,15 +420,15 @@ class AuthorizedObjectReaderImpl {
357
420
  pageToken: input.pageToken,
358
421
  })
359
422
  let executionQuery = query
360
- const admission = this.#delegatedQueryAdmission
423
+ const admission = this.#security.delegation?.queryAdmission
361
424
  if (admission) {
362
425
  const preflight = preflightObjectQueryLinks(
363
- { query, ...request, projectId: this.#runtime.projectId },
364
- { ontology: this.#ontology }
426
+ { query, ...request, projectId: this.#security.runtime.projectId },
427
+ { ontology: this.#ontology.registry }
365
428
  )
366
429
  const admitted = validateObjectQueryWithAdmission(
367
430
  preflight.validated.query,
368
- { ontology: this.#ontology, normalize: false },
431
+ { ontology: this.#ontology.registry, normalize: false },
369
432
  admission
370
433
  )
371
434
  admission.assertIncidentEdgeSelected({
@@ -376,10 +439,23 @@ class AuthorizedObjectReaderImpl {
376
439
  })
377
440
  executionQuery = admitted.query
378
441
  }
442
+
443
+ const clearance = await this.#security.clearance.current()
444
+ if (clearance) {
445
+ assertLinkQueryReadable({
446
+ ontology: this.#ontology.registry,
447
+ clearance,
448
+ query,
449
+ request: { ...request, projectId: this.#security.runtime.projectId },
450
+ viewableByGrants: (objectTypeId) =>
451
+ this.#security.isObjectTypeViewable(objectTypeId, undefined),
452
+ })
453
+ }
454
+
379
455
  const result = detachReadResult(
380
456
  await executeObjectQueryLinks(
381
- { query: executionQuery, ...request, projectId: this.#runtime.projectId },
382
- this.#queryExecutorOptions()
457
+ { query: executionQuery, ...request, projectId: this.#security.runtime.projectId },
458
+ this.#queryExecutorOptions(clearance)
383
459
  )
384
460
  )
385
461
 
@@ -387,12 +463,18 @@ class AuthorizedObjectReaderImpl {
387
463
  // its cursor and hasMore metadata describe hidden rows, so a provider contract violation must
388
464
  // fail closed instead of returning a partially filtered page.
389
465
  if (
390
- result.objects.some((row) => !this.#isObjectTypeViewable(row.objectTypeId)) ||
391
- result.links.some((link) => !this.#isLinkViewable(link))
466
+ result.objects.some(
467
+ (row) => !this.#security.isObjectTypeViewable(row.objectTypeId, clearance)
468
+ ) ||
469
+ result.links.some((link) => !this.#security.isLinkViewable(link, clearance))
392
470
  ) {
393
471
  throw new Error("[Sixb] Object storage returned a link page outside its authorized scope.")
394
472
  }
395
- return { ...result, objects: result.objects.map((row) => this.#redact(row)) }
473
+
474
+ return {
475
+ ...result,
476
+ objects: result.objects.map((row) => (clearance ? redactObjectRow(row, clearance) : row)),
477
+ }
396
478
  }
397
479
 
398
480
  async count(
@@ -400,10 +482,11 @@ class AuthorizedObjectReaderImpl {
400
482
  ): Promise<ExecuteObjectCountResult> {
401
483
  const query = snapshotAuthoredQuery(input.query)
402
484
  const executionQuery = this.#admitDelegatedQuery(query)?.query ?? query
485
+ const clearance = await this.#security.clearance.current()
403
486
  return detachReadResult(
404
487
  await countObjects(
405
- { query: executionQuery, projectId: this.#runtime.projectId },
406
- this.#queryExecutorOptions()
488
+ { query: executionQuery, projectId: this.#security.runtime.projectId },
489
+ this.#queryExecutorOptions(clearance)
407
490
  )
408
491
  )
409
492
  }
@@ -413,10 +496,11 @@ class AuthorizedObjectReaderImpl {
413
496
  ): Promise<ExecuteObjectExistsResult> {
414
497
  const query = snapshotAuthoredQuery(input.query)
415
498
  const executionQuery = this.#admitDelegatedQuery(query)?.query ?? query
499
+ const clearance = await this.#security.clearance.current()
416
500
  return detachReadResult(
417
501
  await existsObjects(
418
- { query: executionQuery, projectId: this.#runtime.projectId },
419
- this.#queryExecutorOptions()
502
+ { query: executionQuery, projectId: this.#security.runtime.projectId },
503
+ this.#queryExecutorOptions(clearance)
420
504
  )
421
505
  )
422
506
  }
@@ -428,17 +512,17 @@ class AuthorizedObjectReaderImpl {
428
512
  const facets = snapshotFacetRequests(input.facets)
429
513
  let executionQuery = query
430
514
  let executionFacets = facets
431
- const admission = this.#delegatedQueryAdmission
515
+ const admission = this.#security.delegation?.queryAdmission
432
516
  if (admission) {
433
517
  // Terminal arguments are ordinary validation errors, not an authorization oracle. Validate
434
518
  // them against the canonical result shape before raising any delegated-scope denial.
435
- const validated = validateObjectQuery(query, { ontology: this.#ontology })
519
+ const validated = validateObjectQuery(query, { ontology: this.#ontology.registry })
436
520
  const normalizedFacets = validateObjectFacetRequests(facets, validated.result.objectTypeIds, {
437
- ontology: this.#ontology,
521
+ ontology: this.#ontology.registry,
438
522
  })
439
523
  const admitted = validateObjectQueryWithAdmission(
440
524
  validated.query,
441
- { ontology: this.#ontology, normalize: false },
525
+ { ontology: this.#ontology.registry, normalize: false },
442
526
  admission
443
527
  )
444
528
  normalizedFacets.forEach((facet, index) => {
@@ -452,63 +536,142 @@ class AuthorizedObjectReaderImpl {
452
536
  executionQuery = admitted.query
453
537
  executionFacets = normalizedFacets
454
538
  }
539
+ const clearance = await this.#security.clearance.current()
455
540
  return detachReadResult(
456
541
  await facetObjects(
457
542
  {
458
543
  query: executionQuery,
459
544
  facets: executionFacets,
460
- projectId: this.#runtime.projectId,
545
+ projectId: this.#security.runtime.projectId,
461
546
  },
462
- this.#queryExecutorOptions()
547
+ this.#queryExecutorOptions(clearance)
463
548
  )
464
549
  )
465
550
  }
466
551
 
467
552
  /**
468
- * Redact a row returned by a write. An upsert returns the merged effective row, which may hold
469
- * marked values the writer never sent and cannot read.
553
+ * Redact the rows a write of this object type returns. An upsert returns the merged effective
554
+ * row, which may hold marked values the writer never sent and cannot read. Resolved before the
555
+ * write, which it refuses when the writer cannot read the type at all.
470
556
  */
471
- redactWrittenRow<TRow extends ObjectRow>(row: TRow): TRow {
472
- return this.#redact(row)
557
+ async writtenRowRedactor(
558
+ objectTypeId: string
559
+ ): Promise<<TRow extends ObjectRow>(row: TRow) => TRow> {
560
+ const clearance = await this.#security.clearance.current()
561
+ assertTargetsReadable(clearance, { objectTypeIds: [objectTypeId] })
562
+ return (row) => (clearance ? redactObjectRow(row, clearance) : row)
563
+ }
564
+
565
+ /**
566
+ * The check a direct write runs on each object's properties before its commit claims them. It
567
+ * refuses a value for a unique property this authority cannot read: whether the write is refused
568
+ * as taken would reveal which values objects hold, as a `getBy` would.
569
+ */
570
+ async uniqueValueWriteCheck(
571
+ objectTypeId: string
572
+ ): Promise<(properties: Readonly<Record<string, unknown>>) => void> {
573
+ const clearance = await this.#security.clearance.current()
574
+ const marked = this.#ontology.registry
575
+ .listUniqueProperties(objectTypeId)
576
+ .flatMap((property) => {
577
+ const marking = clearance?.missingMarking(objectTypeId, property.propertyId)
578
+ return marking === undefined ? [] : [{ propertyId: property.propertyId, marking }]
579
+ })
580
+
581
+ return (properties) => {
582
+ for (const { propertyId, marking } of marked) {
583
+ if (properties[propertyId] === undefined || properties[propertyId] === null) continue
584
+
585
+ throw new AuthorizationError(
586
+ `clearance:marking:${marking}`,
587
+ `[Sixb] Cannot write a value to '${objectTypeId}.${propertyId}': it is unique and requires clearance for marking '${marking}'.`
588
+ )
589
+ }
590
+ }
591
+ }
592
+
593
+ /**
594
+ * Refuse a write or a request that names an object type or link this authority cannot read,
595
+ * before any lookup: it would answer whether what it names exists, and land where the reader
596
+ * cannot see.
597
+ */
598
+ async assertReadable(targets: ReadTargets): Promise<void> {
599
+ assertTargetsReadable(await this.#security.clearance.current(), targets)
600
+ }
601
+
602
+ /**
603
+ * Whether this reader sees only the objects of a type that a condition matches. A write or a
604
+ * request that names such an object finds it through this reader first: one it cannot find is
605
+ * hidden or missing, and both answer alike.
606
+ */
607
+ viewsThroughCondition(objectTypeId: string): boolean {
608
+ return this.#security.viewsThroughCondition(objectTypeId)
609
+ }
610
+
611
+ /** Refuse a type this reader views neither whole nor through a condition. */
612
+ async assertViewable(objectTypeIds: readonly string[]): Promise<void> {
613
+ const clearance = await this.#security.clearance.current()
614
+ this.#security.assertObjectTypesViewable(objectTypeIds, clearance)
473
615
  }
474
616
 
475
617
  /** Enforce the delegated response budget without exposing or recombining its limits. */
476
618
  assertVisibleOutputWithinLimit(value: unknown): void {
477
- if (this.#authority.type !== "delegated") return
478
- assertObjectReadOutputWithinLimit(value, this.#authority.objectRead.limits)
619
+ if (this.#security.authority.type !== "delegated") return
620
+ assertObjectReadOutputWithinLimit(value, this.#security.authority.objectRead.limits)
479
621
  }
480
622
 
481
623
  /** Admit adjacent telemetry work without exposing which authority policy was selected. */
482
624
  admitTelemetryHistoryRead(
483
625
  input: TelemetryHistoryReadWorkloadInput
484
626
  ): TelemetryHistoryReadAdmission {
485
- return admitTelemetryHistoryReadWorkload(input, this.#authority.type === "delegated")
627
+ return admitTelemetryHistoryReadWorkload(input, this.#security.authority.type === "delegated")
486
628
  }
487
629
 
488
- #queryExecutorOptions() {
489
- const admission = this.#executorAdmission()
490
- if (this.#authority.type === "delegated") {
630
+ #queryExecutorOptions(clearance: Clearance) {
631
+ const admission = this.#executorAdmission(clearance)
632
+
633
+ if (this.#security.authority.type === "delegated") {
491
634
  // The selected storage instance is the private execution capability. Passing the delegated
492
635
  // runtime token into the generic executor would either reject this admitted query or tempt a
493
636
  // forgeable bypass flag; neither is needed at this nominal boundary.
494
637
  return {
495
- ontology: this.#ontology,
638
+ ontology: this.#ontology.registry,
496
639
  storage: this.#storage,
497
- embeddingModels: this.#embeddingModels,
498
- rerankingModels: this.#rerankingModels,
640
+ embeddingModels: this.#models.embedding,
641
+ rerankingModels: this.#models.reranking,
499
642
  ...(admission === undefined ? {} : { admission }),
643
+ requestingUser: this.#security.requestingUser,
500
644
  }
501
645
  }
502
646
  return {
503
- ontology: this.#ontology,
504
- embeddingModels: this.#embeddingModels,
505
- rerankingModels: this.#rerankingModels,
647
+ ontology: this.#ontology.registry,
648
+ embeddingModels: this.#models.embedding,
649
+ rerankingModels: this.#models.reranking,
506
650
  storage: this.#storage,
507
- runtimeAuthorization: this.#runtime.runtimeAuthorization,
508
- ...(this.#runtime.authorization === undefined
509
- ? {}
510
- : { authorization: this.#runtime.authorization }),
651
+ ...this.#queryAuthorization(clearance),
511
652
  ...(admission === undefined ? {} : { admission }),
653
+ requestingUser: this.#security.requestingUser,
654
+ }
655
+ }
656
+
657
+ /**
658
+ * A principal's queries read the types this reader's security grants, including those its
659
+ * storage reads through a condition, which no view grant holds.
660
+ */
661
+ #queryAuthorization(
662
+ clearance: Clearance
663
+ ): Pick<QueryExecutorOptions, "readableObjectTypes" | "runtimeAuthorization"> {
664
+ const runtimeAuthorization = this.#security.runtime.runtimeAuthorization
665
+ if (this.#security.authority.type !== "principal") return { runtimeAuthorization }
666
+
667
+ const security = this.#security
668
+ return {
669
+ runtimeAuthorization,
670
+ readableObjectTypes: Object.freeze({
671
+ assert: (objectTypeIds: readonly string[]) =>
672
+ security.assertObjectTypesGranted(objectTypeIds, clearance),
673
+ has: (objectTypeId: string) => security.isObjectTypeGranted(objectTypeId, clearance),
674
+ }),
512
675
  }
513
676
  }
514
677
 
@@ -516,84 +679,102 @@ class AuthorizedObjectReaderImpl {
516
679
  * The executor validates the query it runs, and that validation resolves default text fields.
517
680
  * Every admission that narrows those fields must therefore apply there, not only beforehand.
518
681
  */
519
- #executorAdmission(): ObjectQuerySemanticAdmission | undefined {
520
- const clearance = this.#clearance && createClearanceQueryAdmission(this.#clearance)
521
- const selected = this.#delegatedQueryAdmission
522
- if (selected && clearance) return composeObjectQueryAdmissions(selected, clearance)
523
- return selected ?? clearance
682
+ #executorAdmission(clearance: Clearance): ObjectQuerySemanticAdmission | undefined {
683
+ const admission = clearance && createClearanceQueryAdmission(clearance)
684
+ const selected = this.#security.delegation?.queryAdmission
685
+
686
+ if (selected && admission) return composeObjectQueryAdmissions(selected, admission)
687
+ return selected ?? admission
524
688
  }
525
689
 
526
- #redact<TRow extends ObjectRow>(row: TRow): TRow {
527
- return this.#clearance ? redactObjectRow(row, this.#clearance) : row
690
+ /**
691
+ * Resolve the user properties the query expands on rows already detached and redacted. Only an
692
+ * authority that may view the directory reads profiles; a delegated one never does.
693
+ */
694
+ async #attachUsers(rows: readonly ObjectRow[], query: ObjectQuery): Promise<void> {
695
+ const plan = userExpansionPlan(normalizeObjectQuery(query))
696
+ if (!plan) return
697
+
698
+ await attachUserProfiles({
699
+ rows,
700
+ plan,
701
+ ontology: this.#ontology.registry,
702
+ projectId: this.#security.runtime.projectId,
703
+ canViewUsers: isRuntimeAllowed(this.#security.runtime, { kind: "users.view" }),
704
+ users: this.#users,
705
+ })
528
706
  }
529
707
 
530
- #hidesProperty(item: { readonly objectTypeId: string; readonly propertyId: string }): boolean {
531
- return this.#clearance?.hiddenPropertyIds(item.objectTypeId).has(item.propertyId) ?? false
708
+ /**
709
+ * Whether the reader's storage selects each property of its object. A delegated reader selects
710
+ * what its share does. A principal reads a type it views through a condition object by object,
711
+ * so a hidden object and a missing one both select nothing; it selects every other property.
712
+ */
713
+ async #selectsObjectProperties(
714
+ items: readonly CanReadObjectPropertyInput[]
715
+ ): Promise<readonly boolean[]> {
716
+ const readsByObject = (item: CanReadObjectPropertyInput) =>
717
+ this.#security.authority.type === "delegated" ||
718
+ this.#security.viewsThroughCondition(item.objectTypeId)
719
+
720
+ const checked = items.filter(readsByObject)
721
+ const selected =
722
+ checked.length === 0
723
+ ? []
724
+ : await this.#storage.selectsObjectProperties({
725
+ projectId: this.#security.runtime.projectId,
726
+ items: checked,
727
+ })
728
+
729
+ let next = 0
730
+ return items.map((item) => !readsByObject(item) || selected[next++] === true)
532
731
  }
533
732
 
534
- #admitDelegatedQuery(query: ObjectQuery): AdmittedObjectQuery | undefined {
535
- if (!this.#delegatedQueryAdmission) return undefined
536
- return validateObjectQueryWithAdmission(
537
- query,
538
- { ontology: this.#ontology },
539
- this.#delegatedQueryAdmission
540
- )
733
+ #omitHidden<TRow extends ObjectRow>(row: TRow, clearance: Clearance): TRow {
734
+ return clearance ? omitHiddenProperties(row, clearance) : row
541
735
  }
542
736
 
543
- #assertObjectTypesViewable(objectTypeIds: readonly string[]): void {
544
- if (this.#authority.type === "delegated") {
545
- for (const objectTypeId of new Set(objectTypeIds)) {
546
- if (this.#delegatedObjectTypeIds?.has(objectTypeId)) continue
547
- throw new AuthorizationError(
548
- `delegated:object.view:${objectTypeId}`,
549
- `[Sixb] Delegated authorization does not select object type '${objectTypeId}'.`
550
- )
551
- }
552
- return
737
+ /**
738
+ * Detach a result whose rows went through {@link #omitHidden}, then list their redactions on
739
+ * the copy. Each row is deep-copied once, and never with a hidden value.
740
+ */
741
+ #detachRows<TResult>(
742
+ result: TResult,
743
+ rows: (detached: TResult) => Iterable<ObjectRow | null>,
744
+ clearance: Clearance
745
+ ): TResult {
746
+ const detached = detachReadResult(result)
747
+ if (clearance) {
748
+ for (const row of rows(detached)) if (row) attachRedactions(row, clearance)
553
749
  }
554
750
 
555
- for (const objectTypeId of new Set(objectTypeIds)) {
556
- assertAuthorized(this.#runtime, { kind: "object.view", objectTypeId })
557
- }
751
+ return detached
752
+ }
753
+
754
+ #admitDelegatedQuery(query: ObjectQuery): AdmittedObjectQuery | undefined {
755
+ const admission = this.#security.delegation?.queryAdmission
756
+ if (!admission) return undefined
757
+ return validateObjectQueryWithAdmission(query, { ontology: this.#ontology.registry }, admission)
558
758
  }
559
759
 
560
760
  #resolveListObjectTypes(
561
- requested: ListObjectsInput["objectTypeId"]
761
+ requested: ListObjectsInput["objectTypeId"],
762
+ clearance: Clearance
562
763
  ): ListObjectsInput["objectTypeId"] {
563
764
  if (requested !== undefined) {
564
765
  const objectTypeIds = typeof requested === "string" ? [requested] : [...new Set(requested)]
565
766
  for (const objectTypeId of objectTypeIds) {
566
- this.#ontology.resolveObjectType(objectTypeId)
767
+ this.#ontology.registry.resolveObjectType(objectTypeId)
567
768
  }
568
- this.#assertObjectTypesViewable(objectTypeIds)
769
+ this.#security.assertObjectTypesViewable(objectTypeIds, clearance)
569
770
  return typeof requested === "string" ? requested : objectTypeIds
570
771
  }
571
772
 
572
- if (this.#authority.type === "unrestricted") return undefined
573
- return this.#ontology
773
+ if (this.#security.authority.type === "unrestricted") return undefined
774
+ return this.#ontology.registry
574
775
  .listObjectTypes()
575
776
  .map((objectType) => objectType.id)
576
- .filter((objectTypeId) => this.#isObjectTypeViewable(objectTypeId))
577
- }
578
-
579
- #isObjectTypeViewable(objectTypeId: string): boolean {
580
- if (this.#authority.type === "delegated") {
581
- return this.#delegatedObjectTypeIds?.has(objectTypeId) ?? false
582
- }
583
- return isAllowed(this.#runtime.authorization, { kind: "object.view", objectTypeId })
584
- }
585
-
586
- #isLinkViewable(link: ObjectLinkRow): boolean {
587
- if (
588
- !this.#isObjectTypeViewable(link.sourceTypeId) ||
589
- !this.#isObjectTypeViewable(link.targetTypeId)
590
- ) {
591
- return false
592
- }
593
- return (
594
- this.#delegatedLinkDefinitions?.has(delegatedLinkDefinitionKey(link)) ??
595
- this.#authority.type !== "delegated"
596
- )
777
+ .filter((objectTypeId) => this.#security.isObjectTypeViewable(objectTypeId, clearance))
597
778
  }
598
779
  }
599
780
 
@@ -609,18 +790,32 @@ export function createAuthorizedObjectReader(input: {
609
790
  readonly embeddingModels?: EmbeddingModelCatalog
610
791
  readonly rerankingModels?: RerankingModelCatalog
611
792
  readonly objectStorage: ObjectStorage
793
+ /** Markings of the dataset versions projections applied; the code's markings alone without. */
794
+ readonly appliedMarkings?: AppliedMarkings
795
+ /** The member directory expanded user properties resolve against. */
796
+ readonly users?: AuthUserStore
612
797
  }): AuthorizedObjectReader {
613
798
  const scope = captureExecutionScope(input.scope)
614
799
  const projectId = scope.execution.projectId
615
800
  const authority = resolveExecutionScopeAuthorization(projectId, scope)
616
- const storage = objectStorageForAuthority(authority, input.objectStorage)
617
- const reader = new AuthorizedObjectReaderImpl(readerConstructionKey, {
618
- scope,
801
+ const security = new ObjectReaderSecurity({
802
+ authorization: scope.authorization,
803
+ authority,
804
+ projectId,
619
805
  ontology: input.ontology,
620
- embeddingModels: input.embeddingModels,
621
- rerankingModels: input.rerankingModels,
806
+ ...(input.appliedMarkings === undefined ? {} : { appliedMarkings: input.appliedMarkings }),
807
+ requestedBy: scope.execution.requestedBy,
808
+ })
809
+ const storage = objectStorageForAuthority(security, input.objectStorage)
810
+ const reader = new AuthorizedObjectReaderImpl(readerConstructionKey, {
811
+ ontology: new ObjectReaderOntology(input.ontology, security),
812
+ security,
813
+ models: Object.freeze({
814
+ ...(input.embeddingModels === undefined ? {} : { embedding: input.embeddingModels }),
815
+ ...(input.rerankingModels === undefined ? {} : { reranking: input.rerankingModels }),
816
+ }),
622
817
  storage,
623
- authority,
818
+ ...(input.users === undefined ? {} : { users: input.users }),
624
819
  })
625
820
  Object.freeze(reader)
626
821
  return reader
@@ -640,29 +835,89 @@ export function getAuthorizedOntologyView(reader: AuthorizedObjectReader): Autho
640
835
  }
641
836
 
642
837
  /**
643
- * Unrestricted authority reads every property. A principal reads what its roles clear; delegated
644
- * shared access carries no clearance, so no share can expose a marked property.
838
+ * What a reader resolved for this authority cannot read now. Events redact with it: an event of an
839
+ * object type the reader cannot read is not delivered, and the others are redacted like rows.
645
840
  */
646
- function clearanceForAuthority(
647
- authority: ResolvedExecutionAuthority,
648
- ontology: OntologyRegistry
649
- ): PropertyClearance | undefined {
650
- switch (authority.type) {
651
- case "unrestricted":
652
- return undefined
653
- case "principal":
654
- return resolvePropertyClearance(ontology, authority.context.clearances ?? new Set())
655
- case "delegated":
656
- return resolvePropertyClearance(ontology, new Set())
841
+ export function readerClearance(reader: AuthorizedObjectReader): Promise<Clearance> {
842
+ return AuthorizedObjectReaderImpl.clearance(reader)
843
+ }
844
+
845
+ /**
846
+ * What a reader cannot read in an object event: the current markings, with those of the versions
847
+ * its values came from. A plain value for a reader those markings cannot affect, which reads no
848
+ * version.
849
+ */
850
+ export function readerEventClearance(
851
+ reader: AuthorizedObjectReader,
852
+ sources: EventSources
853
+ ): Clearance | Promise<Clearance> {
854
+ return AuthorizedObjectReaderImpl.eventClearance(reader, sources)
855
+ }
856
+
857
+ /** A condition a reader views an object type through, for a surface that decides per object. */
858
+ export interface ReaderViewCondition {
859
+ /** The condition, `currentUser()` bound, as the reader's storage reads it. */
860
+ readonly predicate: ObjectQueryPredicate
861
+ /**
862
+ * Whether a clearance hides the type, or a property the condition reads: which objects match
863
+ * would reveal it, so the reader reads no object of the type.
864
+ */
865
+ hiddenBy(clearance: Clearance): boolean
866
+ }
867
+
868
+ /**
869
+ * The conditions a reader views object types through, by concrete type: empty for a reader that
870
+ * views each type it reads whole. A type absent here is decided by its grants alone, which deny a
871
+ * type viewed only under a condition. Events match the state they carry against these, and read
872
+ * through the reader what they cannot decide from it.
873
+ */
874
+ export function readerViewConditions(
875
+ reader: AuthorizedObjectReader
876
+ ): ReadonlyMap<string, ReaderViewCondition> {
877
+ return AuthorizedObjectReaderImpl.viewConditions(reader)
878
+ }
879
+
880
+ /** What a write or a request names: object types, and links by their source type. */
881
+ interface ReadTargets {
882
+ readonly objectTypeIds: readonly string[]
883
+ readonly links?: readonly { readonly objectTypeId: string; readonly linkId: string }[]
884
+ }
885
+
886
+ function assertTargetsReadable(clearance: Clearance, targets: ReadTargets): void {
887
+ if (!clearance) return
888
+
889
+ for (const objectTypeId of targets.objectTypeIds) {
890
+ const unreadable = clearance.unreadableType(objectTypeId)
891
+ if (unreadable) throw unreadableError(unreadable)
657
892
  }
893
+
894
+ for (const link of targets.links ?? []) {
895
+ const unreadable = clearance.unreadableLink(link.objectTypeId, link.linkId)
896
+ if (unreadable) throw unreadableError(unreadable)
897
+ }
898
+ }
899
+
900
+ function hidesProperty(
901
+ item: { readonly objectTypeId: string; readonly propertyId: string },
902
+ clearance: Clearance
903
+ ): boolean {
904
+ return clearance?.missingMarking(item.objectTypeId, item.propertyId) !== undefined
658
905
  }
659
906
 
660
907
  function objectStorageForAuthority(
661
- authority: ResolvedExecutionAuthority,
908
+ security: ObjectReaderSecurity,
662
909
  objectStorage: ObjectStorage
663
910
  ): ObjectReadStorage {
911
+ const authority = security.authority
912
+
664
913
  switch (authority.type) {
665
914
  case "principal":
915
+ return security.conditionalScope
916
+ ? objectStorage.createConditionalReadScope({
917
+ projectId: authority.projectId,
918
+ scope: security.conditionalScope,
919
+ })
920
+ : objectStorage
666
921
  case "unrestricted":
667
922
  return objectStorage
668
923
  case "delegated":
@@ -679,41 +934,6 @@ function objectStorageForAuthority(
679
934
  }
680
935
  }
681
936
 
682
- function ontologySelectionForAuthority(
683
- authority: ResolvedExecutionAuthority,
684
- ontology: OntologyRegistry
685
- ): AuthorizedOntologySelection {
686
- switch (authority.type) {
687
- case "unrestricted":
688
- return { kind: "all" }
689
- case "principal":
690
- return {
691
- kind: "types",
692
- objectTypeIds: ontology
693
- .listObjectTypes()
694
- .filter((objectType) =>
695
- isAllowed(authority.context, {
696
- kind: "object.view",
697
- objectTypeId: objectType.id,
698
- })
699
- )
700
- .map((objectType) => objectType.id),
701
- }
702
- case "delegated":
703
- return { kind: "selected", scope: authority.objectRead.scope }
704
- }
705
- }
706
-
707
- function delegatedLinkDefinitionKey(
708
- input:
709
- | Pick<CompiledObjectReadStep, "sourceObjectTypeId" | "linkId" | "targetObjectTypeId">
710
- | Pick<ObjectLinkRow, "sourceTypeId" | "linkId" | "targetTypeId">
711
- ): string {
712
- return "sourceObjectTypeId" in input
713
- ? JSON.stringify([input.sourceObjectTypeId, input.linkId, input.targetObjectTypeId])
714
- : JSON.stringify([input.sourceTypeId, input.linkId, input.targetTypeId])
715
- }
716
-
717
937
  /**
718
938
  * Storage providers may optimize trusted reads with live references. Values crossing the
719
939
  * application-facing authorization boundary must not retain them.