@sixb/core 0.1.20 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1519) hide show
  1. package/dist/actions/commit-edits.d.ts +3 -1
  2. package/dist/actions/commit-edits.d.ts.map +1 -1
  3. package/dist/actions/execution.d.ts.map +1 -1
  4. package/dist/actions/index.js +71 -60
  5. package/dist/actions/index.js.map +1 -1
  6. package/dist/actions/read-facade.d.ts +9 -1
  7. package/dist/actions/read-facade.d.ts.map +1 -1
  8. package/dist/actions/request.d.ts +15 -1
  9. package/dist/actions/request.d.ts.map +1 -1
  10. package/dist/actions/run/context.d.ts +1 -0
  11. package/dist/actions/run/context.d.ts.map +1 -1
  12. package/dist/actions/run/execute.d.ts +2 -3
  13. package/dist/actions/run/execute.d.ts.map +1 -1
  14. package/dist/actions/run/executor.d.ts +3 -0
  15. package/dist/actions/run/executor.d.ts.map +1 -1
  16. package/dist/actions/run/normalize.d.ts +2 -1
  17. package/dist/actions/run/normalize.d.ts.map +1 -1
  18. package/dist/actions/run/signals.d.ts +1 -3
  19. package/dist/actions/run/signals.d.ts.map +1 -1
  20. package/dist/actions/run/types.d.ts +16 -1
  21. package/dist/actions/run/types.d.ts.map +1 -1
  22. package/dist/actions/run-authorization.d.ts +23 -0
  23. package/dist/actions/run-authorization.d.ts.map +1 -1
  24. package/dist/actions/types/context.d.ts +17 -1
  25. package/dist/actions/types/context.d.ts.map +1 -1
  26. package/dist/actions/validators.d.ts.map +1 -1
  27. package/dist/activity/connection.d.ts +62 -0
  28. package/dist/activity/connection.d.ts.map +1 -0
  29. package/dist/activity/device.d.ts +8 -0
  30. package/dist/activity/device.d.ts.map +1 -0
  31. package/dist/activity/execution.d.ts +48 -0
  32. package/dist/activity/execution.d.ts.map +1 -0
  33. package/dist/activity/service.d.ts +79 -0
  34. package/dist/activity/service.d.ts.map +1 -0
  35. package/dist/activity/shares.d.ts +24 -0
  36. package/dist/activity/shares.d.ts.map +1 -0
  37. package/dist/activity/timeline.d.ts +103 -0
  38. package/dist/activity/timeline.d.ts.map +1 -0
  39. package/dist/agents/accounting.d.ts +15 -0
  40. package/dist/agents/accounting.d.ts.map +1 -0
  41. package/dist/agents/adapters.d.ts.map +1 -1
  42. package/dist/agents/agent-mail.d.ts +9 -0
  43. package/dist/agents/agent-mail.d.ts.map +1 -0
  44. package/dist/agents/api-gateway.d.ts +5 -0
  45. package/dist/agents/api-gateway.d.ts.map +1 -1
  46. package/dist/agents/approval-continuation.d.ts +23 -0
  47. package/dist/agents/approval-continuation.d.ts.map +1 -0
  48. package/dist/agents/approval-executor.d.ts +56 -0
  49. package/dist/agents/approval-executor.d.ts.map +1 -0
  50. package/dist/agents/approval-outcome.d.ts +8 -0
  51. package/dist/agents/approval-outcome.d.ts.map +1 -0
  52. package/dist/agents/approvals.d.ts +210 -0
  53. package/dist/agents/approvals.d.ts.map +1 -0
  54. package/dist/agents/authority.d.ts +10 -0
  55. package/dist/agents/authority.d.ts.map +1 -1
  56. package/dist/agents/builders.d.ts.map +1 -1
  57. package/dist/agents/cancel.d.ts +23 -0
  58. package/dist/agents/cancel.d.ts.map +1 -0
  59. package/dist/agents/child-question.d.ts +18 -0
  60. package/dist/agents/child-question.d.ts.map +1 -0
  61. package/dist/agents/children.d.ts +99 -0
  62. package/dist/agents/children.d.ts.map +1 -0
  63. package/dist/agents/context/index.js +1 -1
  64. package/dist/agents/context-compaction.d.ts.map +1 -1
  65. package/dist/agents/errors.d.ts +13 -1
  66. package/dist/agents/errors.d.ts.map +1 -1
  67. package/dist/agents/execution.d.ts +180 -14
  68. package/dist/agents/execution.d.ts.map +1 -1
  69. package/dist/agents/fork.d.ts +16 -0
  70. package/dist/agents/fork.d.ts.map +1 -0
  71. package/dist/agents/ids.d.ts +7 -0
  72. package/dist/agents/ids.d.ts.map +1 -1
  73. package/dist/agents/index.d.ts +20 -8
  74. package/dist/agents/index.d.ts.map +1 -1
  75. package/dist/agents/index.js +170 -84
  76. package/dist/agents/index.js.map +1 -1
  77. package/dist/agents/memory-execution.d.ts +57 -0
  78. package/dist/agents/memory-execution.d.ts.map +1 -0
  79. package/dist/agents/memory.d.ts +49 -0
  80. package/dist/agents/memory.d.ts.map +1 -0
  81. package/dist/agents/message.d.ts +50 -1
  82. package/dist/agents/message.d.ts.map +1 -1
  83. package/dist/agents/model-loop.d.ts +19 -0
  84. package/dist/agents/model-loop.d.ts.map +1 -1
  85. package/dist/agents/model-routing.d.ts +19 -0
  86. package/dist/agents/model-routing.d.ts.map +1 -0
  87. package/dist/agents/participants.d.ts +18 -0
  88. package/dist/agents/participants.d.ts.map +1 -0
  89. package/dist/agents/reference.d.ts.map +1 -1
  90. package/dist/agents/request.d.ts +36 -2
  91. package/dist/agents/request.d.ts.map +1 -1
  92. package/dist/agents/run-scope.d.ts +51 -0
  93. package/dist/agents/run-scope.d.ts.map +1 -0
  94. package/dist/agents/skills.d.ts.map +1 -1
  95. package/dist/agents/streams/index.d.ts +3 -2
  96. package/dist/agents/streams/index.d.ts.map +1 -1
  97. package/dist/agents/streams/index.js +8 -4
  98. package/dist/agents/streams/index.js.map +1 -1
  99. package/dist/agents/streams/internal.d.ts +1 -1
  100. package/dist/agents/streams/internal.d.ts.map +1 -1
  101. package/dist/agents/streams/internal.js +6 -4
  102. package/dist/agents/streams/internal.js.map +1 -1
  103. package/dist/agents/streams/protocol.d.ts +122 -3
  104. package/dist/agents/streams/protocol.d.ts.map +1 -1
  105. package/dist/agents/subagent-runs.d.ts +12 -0
  106. package/dist/agents/subagent-runs.d.ts.map +1 -0
  107. package/dist/agents/thread-access.d.ts +53 -0
  108. package/dist/agents/thread-access.d.ts.map +1 -0
  109. package/dist/agents/tool-definition.d.ts +5 -4
  110. package/dist/agents/tool-definition.d.ts.map +1 -1
  111. package/dist/agents/types.d.ts +31 -12
  112. package/dist/agents/types.d.ts.map +1 -1
  113. package/dist/agents/validation.d.ts +1 -1
  114. package/dist/agents/validation.d.ts.map +1 -1
  115. package/dist/artifacts/access.d.ts +52 -0
  116. package/dist/artifacts/access.d.ts.map +1 -0
  117. package/dist/artifacts/address.d.ts +48 -0
  118. package/dist/artifacts/address.d.ts.map +1 -0
  119. package/dist/artifacts/canvas.d.ts +92 -0
  120. package/dist/artifacts/canvas.d.ts.map +1 -0
  121. package/dist/artifacts/csv.d.ts +27 -0
  122. package/dist/artifacts/csv.d.ts.map +1 -0
  123. package/dist/artifacts/errors.d.ts +16 -0
  124. package/dist/artifacts/errors.d.ts.map +1 -0
  125. package/dist/artifacts/execution.d.ts +138 -0
  126. package/dist/artifacts/execution.d.ts.map +1 -0
  127. package/dist/artifacts/formula/check.d.ts +24 -0
  128. package/dist/artifacts/formula/check.d.ts.map +1 -0
  129. package/dist/artifacts/formula/evaluate.d.ts +32 -0
  130. package/dist/artifacts/formula/evaluate.d.ts.map +1 -0
  131. package/dist/artifacts/formula/index.d.ts +38 -0
  132. package/dist/artifacts/formula/index.d.ts.map +1 -0
  133. package/dist/artifacts/formula/parser.d.ts +67 -0
  134. package/dist/artifacts/formula/parser.d.ts.map +1 -0
  135. package/dist/artifacts/frames/assets.d.ts +30 -0
  136. package/dist/artifacts/frames/assets.d.ts.map +1 -0
  137. package/dist/artifacts/frames/entries.d.ts +19 -0
  138. package/dist/artifacts/frames/entries.d.ts.map +1 -0
  139. package/dist/artifacts/frames/grants.d.ts +37 -0
  140. package/dist/artifacts/frames/grants.d.ts.map +1 -0
  141. package/dist/artifacts/frames/index.d.ts +12 -0
  142. package/dist/artifacts/frames/index.d.ts.map +1 -0
  143. package/dist/artifacts/frames/index.js +1285 -0
  144. package/dist/artifacts/frames/index.js.map +16 -0
  145. package/dist/artifacts/frames/kit.d.ts +71 -0
  146. package/dist/artifacts/frames/kit.d.ts.map +1 -0
  147. package/dist/artifacts/frames/probe.d.ts +45 -0
  148. package/dist/artifacts/frames/probe.d.ts.map +1 -0
  149. package/dist/artifacts/frames/protocol.d.ts +167 -0
  150. package/dist/artifacts/frames/protocol.d.ts.map +1 -0
  151. package/dist/artifacts/frames/runtime.d.ts +31 -0
  152. package/dist/artifacts/frames/runtime.d.ts.map +1 -0
  153. package/dist/artifacts/html.d.ts +6 -0
  154. package/dist/artifacts/html.d.ts.map +1 -0
  155. package/dist/artifacts/ids.d.ts +5 -0
  156. package/dist/artifacts/ids.d.ts.map +1 -0
  157. package/dist/artifacts/index.d.ts +22 -0
  158. package/dist/artifacts/index.d.ts.map +1 -0
  159. package/dist/artifacts/index.js +247 -0
  160. package/dist/artifacts/index.js.map +10 -0
  161. package/dist/artifacts/kinds.d.ts +5 -0
  162. package/dist/artifacts/kinds.d.ts.map +1 -0
  163. package/dist/artifacts/limits.d.ts +58 -0
  164. package/dist/artifacts/limits.d.ts.map +1 -0
  165. package/dist/artifacts/live-sheet.d.ts +65 -0
  166. package/dist/artifacts/live-sheet.d.ts.map +1 -0
  167. package/dist/artifacts/outline.d.ts +70 -0
  168. package/dist/artifacts/outline.d.ts.map +1 -0
  169. package/dist/artifacts/publish/files.d.ts +15 -0
  170. package/dist/artifacts/publish/files.d.ts.map +1 -0
  171. package/dist/artifacts/publish/index.d.ts +7 -0
  172. package/dist/artifacts/publish/index.d.ts.map +1 -0
  173. package/dist/artifacts/publish/index.js +76 -0
  174. package/dist/{chunk-7n30ybym.js.map → artifacts/publish/index.js.map} +1 -1
  175. package/dist/artifacts/publish/publish.d.ts +84 -0
  176. package/dist/artifacts/publish/publish.d.ts.map +1 -0
  177. package/dist/artifacts/publish/queries.d.ts +33 -0
  178. package/dist/artifacts/publish/queries.d.ts.map +1 -0
  179. package/dist/artifacts/publish/references.d.ts +30 -0
  180. package/dist/artifacts/publish/references.d.ts.map +1 -0
  181. package/dist/artifacts/publish/validate/canvas.d.ts +18 -0
  182. package/dist/artifacts/publish/validate/canvas.d.ts.map +1 -0
  183. package/dist/artifacts/publish/validate/document.d.ts +17 -0
  184. package/dist/artifacts/publish/validate/document.d.ts.map +1 -0
  185. package/dist/artifacts/publish/validate/file.d.ts +8 -0
  186. package/dist/artifacts/publish/validate/file.d.ts.map +1 -0
  187. package/dist/artifacts/publish/validate/html.d.ts +20 -0
  188. package/dist/artifacts/publish/validate/html.d.ts.map +1 -0
  189. package/dist/artifacts/publish/validate/page.d.ts +15 -0
  190. package/dist/artifacts/publish/validate/page.d.ts.map +1 -0
  191. package/dist/artifacts/publish/validate/sheet.d.ts +23 -0
  192. package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -0
  193. package/dist/artifacts/publish/validate/slides.d.ts +15 -0
  194. package/dist/artifacts/publish/validate/slides.d.ts.map +1 -0
  195. package/dist/artifacts/queries.d.ts +95 -0
  196. package/dist/artifacts/queries.d.ts.map +1 -0
  197. package/dist/artifacts/references.d.ts +12 -0
  198. package/dist/artifacts/references.d.ts.map +1 -0
  199. package/dist/artifacts/resolve.d.ts +47 -0
  200. package/dist/artifacts/resolve.d.ts.map +1 -0
  201. package/dist/artifacts/run-query.d.ts +26 -0
  202. package/dist/artifacts/run-query.d.ts.map +1 -0
  203. package/dist/artifacts/serialize-query.d.ts +12 -0
  204. package/dist/artifacts/serialize-query.d.ts.map +1 -0
  205. package/dist/artifacts/sheet-rules.d.ts +26 -0
  206. package/dist/artifacts/sheet-rules.d.ts.map +1 -0
  207. package/dist/artifacts/theme.d.ts +19 -0
  208. package/dist/artifacts/theme.d.ts.map +1 -0
  209. package/dist/artifacts/tones.d.ts +8 -0
  210. package/dist/artifacts/tones.d.ts.map +1 -0
  211. package/dist/artifacts/warnings.d.ts +11 -0
  212. package/dist/artifacts/warnings.d.ts.map +1 -0
  213. package/dist/artifacts/workbook.d.ts +135 -0
  214. package/dist/artifacts/workbook.d.ts.map +1 -0
  215. package/dist/auth/index.d.ts +1 -1
  216. package/dist/auth/index.d.ts.map +1 -1
  217. package/dist/auth/index.js +16 -13
  218. package/dist/auth/index.js.map +1 -1
  219. package/dist/auth/member-events.d.ts +13 -0
  220. package/dist/auth/member-events.d.ts.map +1 -0
  221. package/dist/auth/profile.d.ts +11 -0
  222. package/dist/auth/profile.d.ts.map +1 -0
  223. package/dist/auth/runtime.d.ts +31 -3
  224. package/dist/auth/runtime.d.ts.map +1 -1
  225. package/dist/auth/strategy.d.ts +3 -1
  226. package/dist/auth/strategy.d.ts.map +1 -1
  227. package/dist/auth/strategy.js +7 -3
  228. package/dist/auth/strategy.js.map +1 -1
  229. package/dist/auth/types.d.ts +30 -1
  230. package/dist/auth/types.d.ts.map +1 -1
  231. package/dist/authorization/decision.d.ts +17 -0
  232. package/dist/authorization/decision.d.ts.map +1 -1
  233. package/dist/authorization/event-visibility.d.ts +5 -1
  234. package/dist/authorization/event-visibility.d.ts.map +1 -1
  235. package/dist/authorization/grant-kinds.d.ts +2 -2
  236. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  237. package/dist/authorization/index.d.ts +2 -2
  238. package/dist/authorization/index.d.ts.map +1 -1
  239. package/dist/authorization/index.js +14 -9
  240. package/dist/authorization/index.js.map +1 -1
  241. package/dist/authorization/resolve.d.ts +19 -1
  242. package/dist/authorization/resolve.d.ts.map +1 -1
  243. package/dist/authorization/run-visibility.d.ts +8 -1
  244. package/dist/authorization/run-visibility.d.ts.map +1 -1
  245. package/dist/authorization/types.d.ts +14 -0
  246. package/dist/authorization/types.d.ts.map +1 -1
  247. package/dist/blob-storage/browser.js +1 -1
  248. package/dist/blob-storage/index.js +2 -2
  249. package/dist/blob-storage/internal.d.ts +1 -1
  250. package/dist/blob-storage/internal.d.ts.map +1 -1
  251. package/dist/blob-storage/internal.js +11 -5
  252. package/dist/blob-storage/internal.js.map +1 -1
  253. package/dist/blob-storage/media-type.d.ts +12 -0
  254. package/dist/blob-storage/media-type.d.ts.map +1 -1
  255. package/dist/bootstrap/index.js +76 -66
  256. package/dist/bootstrap/index.js.map +2 -2
  257. package/dist/{chunk-tg2cw67r.js → chunk-02bzjgnt.js} +6 -6
  258. package/dist/{chunk-tg2cw67r.js.map → chunk-02bzjgnt.js.map} +1 -1
  259. package/dist/{chunk-mfs23znk.js → chunk-07kkp2e1.js} +1 -1
  260. package/dist/{chunk-6p49a5cq.js → chunk-098anw4f.js} +21 -19
  261. package/dist/chunk-098anw4f.js.map +12 -0
  262. package/dist/{chunk-fkgc1wt8.js → chunk-0phpbbvm.js} +3 -3
  263. package/dist/{chunk-ere85b8y.js → chunk-0xmt5p5y.js} +116 -27
  264. package/dist/chunk-0xmt5p5y.js.map +14 -0
  265. package/dist/{chunk-t6f3tdnr.js → chunk-16a9dmfy.js} +33 -2
  266. package/dist/{chunk-t6f3tdnr.js.map → chunk-16a9dmfy.js.map} +5 -4
  267. package/dist/{chunk-hkc3jct7.js → chunk-18sk89cg.js} +18 -10
  268. package/dist/chunk-18sk89cg.js.map +10 -0
  269. package/dist/{chunk-way52z4h.js → chunk-1t6k1avb.js} +6 -12
  270. package/dist/{chunk-way52z4h.js.map → chunk-1t6k1avb.js.map} +3 -4
  271. package/dist/chunk-2626mh4m.js +693 -0
  272. package/dist/chunk-2626mh4m.js.map +19 -0
  273. package/dist/{chunk-qczk96d9.js → chunk-2adz0h75.js} +13 -4
  274. package/dist/chunk-2adz0h75.js.map +11 -0
  275. package/dist/{chunk-3t2hgbgd.js → chunk-2fn60nvs.js} +40 -8
  276. package/dist/chunk-2fn60nvs.js.map +15 -0
  277. package/dist/{chunk-99nd4rc1.js → chunk-2gjj5dx3.js} +5 -4
  278. package/dist/{chunk-99nd4rc1.js.map → chunk-2gjj5dx3.js.map} +3 -3
  279. package/dist/chunk-3fqxbn31.js +107 -0
  280. package/dist/chunk-3fqxbn31.js.map +11 -0
  281. package/dist/{chunk-y0c4e6ex.js → chunk-3gbefjg5.js} +1 -1
  282. package/dist/{chunk-yzwja0mj.js → chunk-45ngkxkp.js} +52 -31
  283. package/dist/chunk-45ngkxkp.js.map +13 -0
  284. package/dist/{chunk-fa02jy15.js → chunk-48jezz3j.js} +1 -1
  285. package/dist/{chunk-ren4kg2j.js → chunk-4b26qwbg.js} +13 -13
  286. package/dist/{chunk-ren4kg2j.js.map → chunk-4b26qwbg.js.map} +1 -1
  287. package/dist/{chunk-9k93ah50.js → chunk-4f3ydv7t.js} +33 -69
  288. package/dist/chunk-4f3ydv7t.js.map +10 -0
  289. package/dist/chunk-4y26vs3v.js +97 -0
  290. package/dist/chunk-4y26vs3v.js.map +10 -0
  291. package/dist/{chunk-4as3wt1c.js → chunk-4ymrcdbm.js} +7 -3
  292. package/dist/chunk-4ymrcdbm.js.map +12 -0
  293. package/dist/{chunk-hcbyfxbe.js → chunk-5grk14e5.js} +76 -2
  294. package/dist/{chunk-hcbyfxbe.js.map → chunk-5grk14e5.js.map} +4 -3
  295. package/dist/chunk-5tfev0fv.js +676 -0
  296. package/dist/chunk-5tfev0fv.js.map +15 -0
  297. package/dist/chunk-65abf64x.js +13 -0
  298. package/dist/chunk-65abf64x.js.map +10 -0
  299. package/dist/{chunk-hvsb78a1.js → chunk-65pyhyas.js} +114 -107
  300. package/dist/chunk-65pyhyas.js.map +20 -0
  301. package/dist/{chunk-1sr8ryzk.js → chunk-661ezhks.js} +303 -6
  302. package/dist/chunk-661ezhks.js.map +11 -0
  303. package/dist/{chunk-z3y5kg1x.js → chunk-6eqsgvxk.js} +3 -3
  304. package/dist/{chunk-z3y5kg1x.js.map → chunk-6eqsgvxk.js.map} +2 -2
  305. package/dist/{chunk-c85m1hyj.js → chunk-6n69k945.js} +2 -2
  306. package/dist/{chunk-xfs8x8m9.js → chunk-6p0pastb.js} +5 -5
  307. package/dist/{chunk-rrzt8jdy.js → chunk-6rrtzea3.js} +116 -110
  308. package/dist/chunk-6rrtzea3.js.map +14 -0
  309. package/dist/{chunk-t7x8dmn0.js → chunk-6y0mkhex.js} +3 -3
  310. package/dist/{chunk-es1gxsbf.js → chunk-73v685wb.js} +14 -16
  311. package/dist/chunk-73v685wb.js.map +12 -0
  312. package/dist/{chunk-6c6sn0bh.js → chunk-7gr4j2eq.js} +7930 -5973
  313. package/dist/chunk-7gr4j2eq.js.map +120 -0
  314. package/dist/{chunk-hjzdd750.js → chunk-7mc2wkre.js} +391 -91
  315. package/dist/chunk-7mc2wkre.js.map +50 -0
  316. package/dist/chunk-7z5p905k.js +1660 -0
  317. package/dist/chunk-7z5p905k.js.map +22 -0
  318. package/dist/{chunk-3zxk45er.js → chunk-8ncg20rd.js} +3 -68
  319. package/dist/{chunk-3zxk45er.js.map → chunk-8ncg20rd.js.map} +4 -5
  320. package/dist/{chunk-yxd3nnqt.js → chunk-9mab3dvg.js} +26 -2
  321. package/dist/chunk-9mab3dvg.js.map +11 -0
  322. package/dist/chunk-9wr3yajk.js +42 -0
  323. package/dist/chunk-9wr3yajk.js.map +10 -0
  324. package/dist/chunk-a3faa34j.js +74 -0
  325. package/dist/chunk-a3faa34j.js.map +10 -0
  326. package/dist/chunk-az47zep4.js +41 -0
  327. package/dist/chunk-az47zep4.js.map +10 -0
  328. package/dist/{chunk-v9xd5wzd.js → chunk-bab05bhg.js} +1 -1
  329. package/dist/{chunk-5j58wjct.js → chunk-bktev1ds.js} +14 -11
  330. package/dist/{chunk-5j58wjct.js.map → chunk-bktev1ds.js.map} +3 -3
  331. package/dist/{chunk-b38szspf.js → chunk-c0vk1djt.js} +5 -3
  332. package/dist/chunk-c0vk1djt.js.map +11 -0
  333. package/dist/chunk-c69nj7se.js +3 -0
  334. package/dist/chunk-c69nj7se.js.map +9 -0
  335. package/dist/{chunk-0yh890a4.js → chunk-c844dkwd.js} +35 -7
  336. package/dist/{chunk-0yh890a4.js.map → chunk-c844dkwd.js.map} +3 -3
  337. package/dist/{chunk-d09tj99x.js → chunk-cdk3egjj.js} +24 -5
  338. package/dist/chunk-cdk3egjj.js.map +12 -0
  339. package/dist/chunk-cswhawa2.js +113 -0
  340. package/dist/chunk-cswhawa2.js.map +10 -0
  341. package/dist/{chunk-gc4ntf7d.js → chunk-cwdzcv37.js} +1 -1
  342. package/dist/chunk-d2m879s4.js +288 -0
  343. package/dist/chunk-d2m879s4.js.map +12 -0
  344. package/dist/chunk-d7vyc7k6.js +10 -0
  345. package/dist/chunk-d7vyc7k6.js.map +10 -0
  346. package/dist/{chunk-vyf9kfqf.js → chunk-dp0cdtj2.js} +2 -2
  347. package/dist/{chunk-6x0pqh32.js → chunk-e5wf5vz0.js} +3 -1
  348. package/dist/chunk-e5wf5vz0.js.map +10 -0
  349. package/dist/{chunk-bx9q3cwv.js → chunk-efmm01gj.js} +108 -1045
  350. package/dist/chunk-efmm01gj.js.map +18 -0
  351. package/dist/{chunk-tw03bsmb.js → chunk-eptrvnby.js} +224 -3
  352. package/dist/chunk-eptrvnby.js.map +12 -0
  353. package/dist/{chunk-n33z5bjw.js → chunk-ezne9wc9.js} +1762 -502
  354. package/dist/chunk-ezne9wc9.js.map +71 -0
  355. package/dist/chunk-fe8zwt8b.js +688 -0
  356. package/dist/chunk-fe8zwt8b.js.map +19 -0
  357. package/dist/chunk-ff5xkv0p.js +211 -0
  358. package/dist/chunk-ff5xkv0p.js.map +10 -0
  359. package/dist/{chunk-br3k6qbf.js → chunk-fm62y49k.js} +1 -1
  360. package/dist/{chunk-nq6gpjt7.js → chunk-fntqb7qy.js} +30 -4
  361. package/dist/{chunk-nq6gpjt7.js.map → chunk-fntqb7qy.js.map} +5 -5
  362. package/dist/{chunk-1zq2p6g0.js → chunk-fp2kq35z.js} +26 -10
  363. package/dist/{chunk-1zq2p6g0.js.map → chunk-fp2kq35z.js.map} +5 -5
  364. package/dist/chunk-g5bvzyyr.js +32 -0
  365. package/dist/chunk-g5bvzyyr.js.map +10 -0
  366. package/dist/{chunk-9ybhtmg4.js → chunk-g663fahq.js} +2 -2
  367. package/dist/{chunk-k6q3n2sc.js → chunk-gvj5cd3b.js} +29 -13
  368. package/dist/chunk-gvj5cd3b.js.map +12 -0
  369. package/dist/{chunk-yevzdx4y.js → chunk-h33shhq6.js} +10 -12
  370. package/dist/{chunk-yevzdx4y.js.map → chunk-h33shhq6.js.map} +3 -4
  371. package/dist/{chunk-vpq4shxz.js → chunk-h3pbv7n8.js} +1771 -36
  372. package/dist/chunk-h3pbv7n8.js.map +48 -0
  373. package/dist/chunk-hke9aeen.js +9 -0
  374. package/dist/chunk-hke9aeen.js.map +10 -0
  375. package/dist/chunk-hn2r7z41.js.map +1 -1
  376. package/dist/{chunk-pbcbn83d.js → chunk-hqsp2sx4.js} +54 -8
  377. package/dist/chunk-hqsp2sx4.js.map +14 -0
  378. package/dist/{chunk-9w055r5b.js → chunk-hwarjrgf.js} +1 -1
  379. package/dist/{chunk-9dmt152s.js → chunk-hyesv9dv.js} +2 -2
  380. package/dist/chunk-hz5d43gn.js +45 -0
  381. package/dist/chunk-hz5d43gn.js.map +10 -0
  382. package/dist/{chunk-91mg3nj9.js → chunk-j936th07.js} +86 -41
  383. package/dist/chunk-j936th07.js.map +12 -0
  384. package/dist/chunk-jcfw4h7m.js +9 -0
  385. package/dist/chunk-jcfw4h7m.js.map +10 -0
  386. package/dist/chunk-kcqpk9w1.js +75 -0
  387. package/dist/chunk-kcqpk9w1.js.map +10 -0
  388. package/dist/{chunk-x6m907x7.js → chunk-m2nevja0.js} +6 -7
  389. package/dist/{chunk-x6m907x7.js.map → chunk-m2nevja0.js.map} +3 -3
  390. package/dist/{chunk-x9v4cx1d.js → chunk-m36fw8ft.js} +1 -1
  391. package/dist/{chunk-a40ad1ft.js → chunk-mbsbxarb.js} +1 -1
  392. package/dist/chunk-mzx71snp.js +129 -0
  393. package/dist/chunk-mzx71snp.js.map +10 -0
  394. package/dist/{chunk-6aawea28.js → chunk-n8q5j6y5.js} +1 -1
  395. package/dist/{chunk-dk8tkk5f.js → chunk-n9zpx9c6.js} +4 -4
  396. package/dist/{chunk-7t429e3f.js → chunk-npcr0228.js} +1 -1
  397. package/dist/chunk-nydf3dbe.js +663 -0
  398. package/dist/chunk-nydf3dbe.js.map +13 -0
  399. package/dist/chunk-pdt5cw8z.js +233 -0
  400. package/dist/chunk-pdt5cw8z.js.map +11 -0
  401. package/dist/{chunk-rj69qcrd.js → chunk-pgrf64hp.js} +55 -7
  402. package/dist/chunk-pgrf64hp.js.map +12 -0
  403. package/dist/{chunk-z4m0yz8c.js → chunk-q4pmvkg0.js} +1 -1
  404. package/dist/chunk-qhqgp4jf.js +1418 -0
  405. package/dist/chunk-qhqgp4jf.js.map +22 -0
  406. package/dist/chunk-qx00vjrj.js +144 -0
  407. package/dist/chunk-qx00vjrj.js.map +13 -0
  408. package/dist/{chunk-5e43w60z.js → chunk-r6szek0x.js} +184 -7
  409. package/dist/chunk-r6szek0x.js.map +10 -0
  410. package/dist/{chunk-v4jbb3rs.js → chunk-rap5w0x0.js} +156 -2
  411. package/dist/chunk-rap5w0x0.js.map +10 -0
  412. package/dist/{chunk-pfp1txq2.js → chunk-sgx82nnt.js} +5 -31
  413. package/dist/{chunk-pfp1txq2.js.map → chunk-sgx82nnt.js.map} +3 -4
  414. package/dist/{chunk-bkpke1sg.js → chunk-t5608tkq.js} +3 -1
  415. package/dist/{chunk-bkpke1sg.js.map → chunk-t5608tkq.js.map} +3 -3
  416. package/dist/{chunk-29yx306f.js → chunk-tdxfsg1c.js} +507 -265
  417. package/dist/chunk-tdxfsg1c.js.map +23 -0
  418. package/dist/chunk-vabga7fk.js +176 -0
  419. package/dist/chunk-vabga7fk.js.map +12 -0
  420. package/dist/{chunk-gsjm1wms.js → chunk-vhbw5sqm.js} +33 -3
  421. package/dist/chunk-vhbw5sqm.js.map +10 -0
  422. package/dist/{chunk-tpn40322.js → chunk-vpgwq5nf.js} +104 -17
  423. package/dist/chunk-vpgwq5nf.js.map +21 -0
  424. package/dist/{chunk-0rbyz4qy.js → chunk-vyt322b6.js} +586 -171
  425. package/dist/{chunk-0rbyz4qy.js.map → chunk-vyt322b6.js.map} +12 -9
  426. package/dist/chunk-waqk73p1.js +2380 -0
  427. package/dist/chunk-waqk73p1.js.map +23 -0
  428. package/dist/{chunk-jhm3zsa7.js → chunk-wkv3h3q7.js} +64 -2
  429. package/dist/{chunk-jhm3zsa7.js.map → chunk-wkv3h3q7.js.map} +3 -3
  430. package/dist/chunk-wsc1brye.js +27 -0
  431. package/dist/chunk-wsc1brye.js.map +10 -0
  432. package/dist/chunk-x0v3jd47.js +124 -0
  433. package/dist/chunk-x0v3jd47.js.map +10 -0
  434. package/dist/{chunk-96yw3pwd.js → chunk-y7dbmaqh.js} +28 -2
  435. package/dist/chunk-y7dbmaqh.js.map +10 -0
  436. package/dist/{chunk-d0bqz29d.js → chunk-yc9ners4.js} +124 -19
  437. package/dist/{chunk-d0bqz29d.js.map → chunk-yc9ners4.js.map} +8 -8
  438. package/dist/{chunk-8mx7qw3y.js → chunk-zbc929zg.js} +29 -5
  439. package/dist/chunk-zbc929zg.js.map +13 -0
  440. package/dist/chunk-zrvhsq7f.js +37 -0
  441. package/dist/chunk-zrvhsq7f.js.map +10 -0
  442. package/dist/datasets/builders.d.ts +15 -2
  443. package/dist/datasets/builders.d.ts.map +1 -1
  444. package/dist/datasets/column-index.d.ts +7 -0
  445. package/dist/datasets/column-index.d.ts.map +1 -0
  446. package/dist/datasets/execution.d.ts +3 -2
  447. package/dist/datasets/execution.d.ts.map +1 -1
  448. package/dist/datasets/write.js +8 -8
  449. package/dist/error-reporting/internal.js +4 -4
  450. package/dist/errors/catalog.d.ts +26 -0
  451. package/dist/errors/catalog.d.ts.map +1 -1
  452. package/dist/errors/internal.d.ts +1 -0
  453. package/dist/errors/internal.d.ts.map +1 -1
  454. package/dist/errors/internal.js +7 -4
  455. package/dist/errors/internal.js.map +1 -1
  456. package/dist/events/definitions.d.ts +7 -0
  457. package/dist/events/definitions.d.ts.map +1 -1
  458. package/dist/events/execution.d.ts +12 -2
  459. package/dist/events/execution.d.ts.map +1 -1
  460. package/dist/events/index.d.ts +2 -3
  461. package/dist/events/index.d.ts.map +1 -1
  462. package/dist/events/index.js +9 -11
  463. package/dist/events/index.js.map +1 -1
  464. package/dist/events/scope.d.ts.map +1 -1
  465. package/dist/events/scope.js +1 -1
  466. package/dist/events/selectors/builder.d.ts +12 -1
  467. package/dist/events/selectors/builder.d.ts.map +1 -1
  468. package/dist/events/selectors/index.d.ts +2 -2
  469. package/dist/events/selectors/index.d.ts.map +1 -1
  470. package/dist/events/selectors/index.js +2 -2
  471. package/dist/events/selectors/types.d.ts +19 -3
  472. package/dist/events/selectors/types.d.ts.map +1 -1
  473. package/dist/events/service.d.ts +17 -2
  474. package/dist/events/service.d.ts.map +1 -1
  475. package/dist/events/types/index.d.ts +3 -1
  476. package/dist/events/types/index.d.ts.map +1 -1
  477. package/dist/events/types/users.d.ts +63 -0
  478. package/dist/events/types/users.d.ts.map +1 -0
  479. package/dist/events/view-conditions.d.ts +34 -0
  480. package/dist/events/view-conditions.d.ts.map +1 -0
  481. package/dist/execution/agent.d.ts +15 -0
  482. package/dist/execution/agent.d.ts.map +1 -1
  483. package/dist/execution/agent.js +72 -59
  484. package/dist/execution/agent.js.map +1 -1
  485. package/dist/execution/authorization.d.ts.map +1 -1
  486. package/dist/execution/authorized-object-reader.d.ts +102 -12
  487. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  488. package/dist/execution/lineage.d.ts +7 -0
  489. package/dist/execution/lineage.d.ts.map +1 -0
  490. package/dist/execution/object-reader-clearance.d.ts +41 -0
  491. package/dist/execution/object-reader-clearance.d.ts.map +1 -0
  492. package/dist/execution/object-reader-ontology.d.ts +12 -0
  493. package/dist/execution/object-reader-ontology.d.ts.map +1 -0
  494. package/dist/execution/object-reader-security.d.ts +66 -0
  495. package/dist/execution/object-reader-security.d.ts.map +1 -0
  496. package/dist/execution/object-reader-users.d.ts +20 -0
  497. package/dist/execution/object-reader-users.d.ts.map +1 -0
  498. package/dist/execution/preparation.d.ts +23 -0
  499. package/dist/execution/preparation.d.ts.map +1 -0
  500. package/dist/execution/primitive.js +70 -59
  501. package/dist/execution/primitive.js.map +1 -1
  502. package/dist/execution/request.d.ts +2 -1
  503. package/dist/execution/request.d.ts.map +1 -1
  504. package/dist/execution/request.js +72 -57
  505. package/dist/execution/request.js.map +3 -3
  506. package/dist/execution/unique-lookup.d.ts +14 -0
  507. package/dist/execution/unique-lookup.d.ts.map +1 -0
  508. package/dist/execution/visible-objects.d.ts +12 -0
  509. package/dist/execution/visible-objects.d.ts.map +1 -0
  510. package/dist/http/api-routes.d.ts +17 -0
  511. package/dist/http/api-routes.d.ts.map +1 -1
  512. package/dist/http/index.js +1 -1
  513. package/dist/index.d.ts +49 -16
  514. package/dist/index.d.ts.map +1 -1
  515. package/dist/index.js +168 -142
  516. package/dist/index.js.map +1 -1
  517. package/dist/lake-storage/in-memory.d.ts +1 -0
  518. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  519. package/dist/lake-storage/index.d.ts +6 -3
  520. package/dist/lake-storage/index.d.ts.map +1 -1
  521. package/dist/lake-storage/index.js +21 -13
  522. package/dist/lake-storage/index.js.map +1 -1
  523. package/dist/lake-storage/lineage.d.ts +94 -0
  524. package/dist/lake-storage/lineage.d.ts.map +1 -0
  525. package/dist/lake-storage/sql-transforms.d.ts +45 -0
  526. package/dist/lake-storage/sql-transforms.d.ts.map +1 -1
  527. package/dist/lake-storage/types.d.ts +55 -1
  528. package/dist/lake-storage/types.d.ts.map +1 -1
  529. package/dist/lake-storage/version-inputs.d.ts +14 -3
  530. package/dist/lake-storage/version-inputs.d.ts.map +1 -1
  531. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  532. package/dist/materialization/errors.d.ts +25 -0
  533. package/dist/materialization/errors.d.ts.map +1 -1
  534. package/dist/materialization/event-envelopes.d.ts +5 -0
  535. package/dist/materialization/event-envelopes.d.ts.map +1 -1
  536. package/dist/materialization/index.d.ts +1 -1
  537. package/dist/materialization/index.d.ts.map +1 -1
  538. package/dist/materialization/index.js +14 -8
  539. package/dist/materialization/index.js.map +1 -1
  540. package/dist/materialization/model.d.ts +20 -2
  541. package/dist/materialization/model.d.ts.map +1 -1
  542. package/dist/materializer/edits/commit.d.ts.map +1 -1
  543. package/dist/materializer/edits/load-state.d.ts +5 -1
  544. package/dist/materializer/edits/load-state.d.ts.map +1 -1
  545. package/dist/materializer/edits/plan.d.ts.map +1 -1
  546. package/dist/materializer/edits/unique-values.d.ts +47 -0
  547. package/dist/materializer/edits/unique-values.d.ts.map +1 -0
  548. package/dist/materializer/edits/working-state.d.ts +6 -1
  549. package/dist/materializer/edits/working-state.d.ts.map +1 -1
  550. package/dist/materializer/execution/work-records.d.ts +7 -1
  551. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  552. package/dist/materializer/index.js +51 -46
  553. package/dist/materializer/index.js.map +1 -1
  554. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  555. package/dist/materializer/projections/source-materialization.d.ts +1 -0
  556. package/dist/materializer/projections/source-materialization.d.ts.map +1 -1
  557. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  558. package/dist/materializer/shared/projection-run.d.ts +0 -1
  559. package/dist/materializer/shared/projection-run.d.ts.map +1 -1
  560. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  561. package/dist/models/audio/catalog.d.ts +13 -1
  562. package/dist/models/audio/catalog.d.ts.map +1 -1
  563. package/dist/models/audio/errors.d.ts +6 -1
  564. package/dist/models/audio/errors.d.ts.map +1 -1
  565. package/dist/models/audio/runtime.d.ts.map +1 -1
  566. package/dist/models/audio/speech.d.ts +8 -0
  567. package/dist/models/audio/speech.d.ts.map +1 -0
  568. package/dist/models/audio/types.d.ts +93 -0
  569. package/dist/models/audio/types.d.ts.map +1 -1
  570. package/dist/models/calls.d.ts +27 -0
  571. package/dist/models/calls.d.ts.map +1 -0
  572. package/dist/models/catalog-index.d.ts +7 -4
  573. package/dist/models/catalog-index.d.ts.map +1 -1
  574. package/dist/models/catalog.d.ts +55 -3
  575. package/dist/models/catalog.d.ts.map +1 -1
  576. package/dist/models/decision/runtime.d.ts +6 -1
  577. package/dist/models/decision/runtime.d.ts.map +1 -1
  578. package/dist/models/decision/validation.d.ts +4 -1
  579. package/dist/models/decision/validation.d.ts.map +1 -1
  580. package/dist/models/definitions.d.ts +23 -1
  581. package/dist/models/definitions.d.ts.map +1 -1
  582. package/dist/models/events.d.ts +12 -1
  583. package/dist/models/events.d.ts.map +1 -1
  584. package/dist/models/execution/binding.d.ts +3 -1
  585. package/dist/models/execution/binding.d.ts.map +1 -1
  586. package/dist/models/execution/index.d.ts +1 -0
  587. package/dist/models/execution/index.d.ts.map +1 -1
  588. package/dist/models/execution/index.js +50 -39
  589. package/dist/models/execution/index.js.map +1 -1
  590. package/dist/models/execution/model-call-accounting.d.ts.map +1 -1
  591. package/dist/models/execution/model-call-recorder.d.ts +3 -0
  592. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  593. package/dist/models/execution/usage.d.ts.map +1 -1
  594. package/dist/models/execution.d.ts +4 -2
  595. package/dist/models/execution.d.ts.map +1 -1
  596. package/dist/models/generation-types.d.ts +8 -1
  597. package/dist/models/generation-types.d.ts.map +1 -1
  598. package/dist/models/image/catalog.d.ts +13 -0
  599. package/dist/models/image/catalog.d.ts.map +1 -0
  600. package/dist/models/image/errors.d.ts +8 -0
  601. package/dist/models/image/errors.d.ts.map +1 -0
  602. package/dist/models/image/runtime.d.ts +8 -0
  603. package/dist/models/image/runtime.d.ts.map +1 -0
  604. package/dist/models/image/types.d.ts +103 -0
  605. package/dist/models/image/types.d.ts.map +1 -0
  606. package/dist/models/index.d.ts +12 -8
  607. package/dist/models/index.d.ts.map +1 -1
  608. package/dist/models/index.js +17 -7
  609. package/dist/models/index.js.map +1 -1
  610. package/dist/models/input-file.d.ts +9 -0
  611. package/dist/models/input-file.d.ts.map +1 -0
  612. package/dist/models/language-model.d.ts +13 -0
  613. package/dist/models/language-model.d.ts.map +1 -1
  614. package/dist/models/pricing.d.ts +25 -10
  615. package/dist/models/pricing.d.ts.map +1 -1
  616. package/dist/models/rate-card.d.ts +44 -6
  617. package/dist/models/rate-card.d.ts.map +1 -1
  618. package/dist/objects/clearance-redaction.d.ts +27 -0
  619. package/dist/objects/clearance-redaction.d.ts.map +1 -0
  620. package/dist/objects/conditional-writes.d.ts +37 -0
  621. package/dist/objects/conditional-writes.d.ts.map +1 -0
  622. package/dist/objects/execution.d.ts +2 -0
  623. package/dist/objects/execution.d.ts.map +1 -1
  624. package/dist/objects/index.d.ts +1 -0
  625. package/dist/objects/index.d.ts.map +1 -1
  626. package/dist/objects/index.js +77 -60
  627. package/dist/objects/index.js.map +1 -1
  628. package/dist/objects/link/authorization.d.ts +11 -5
  629. package/dist/objects/link/authorization.d.ts.map +1 -1
  630. package/dist/objects/link/endpoints.d.ts +21 -2
  631. package/dist/objects/link/endpoints.d.ts.map +1 -1
  632. package/dist/objects/link/remove.d.ts.map +1 -1
  633. package/dist/objects/link/upsert-batch.d.ts.map +1 -1
  634. package/dist/objects/link/upsert.d.ts.map +1 -1
  635. package/dist/objects/materializer-adapter.d.ts +13 -4
  636. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  637. package/dist/objects/object/delete.d.ts +3 -0
  638. package/dist/objects/object/delete.d.ts.map +1 -1
  639. package/dist/objects/object/upsert-batch.d.ts.map +1 -1
  640. package/dist/objects/object/upsert.d.ts.map +1 -1
  641. package/dist/objects/property-clearance.d.ts +47 -24
  642. package/dist/objects/property-clearance.d.ts.map +1 -1
  643. package/dist/objects/query/clearance-admission.d.ts +10 -0
  644. package/dist/objects/query/clearance-admission.d.ts.map +1 -0
  645. package/dist/objects/query/current-user.d.ts +17 -0
  646. package/dist/objects/query/current-user.d.ts.map +1 -0
  647. package/dist/objects/query/executor.d.ts +14 -0
  648. package/dist/objects/query/executor.d.ts.map +1 -1
  649. package/dist/objects/query/index.d.ts +2 -2
  650. package/dist/objects/query/index.d.ts.map +1 -1
  651. package/dist/objects/query/index.js +55 -49
  652. package/dist/objects/query/index.js.map +1 -1
  653. package/dist/objects/query/ir.d.ts +19 -1
  654. package/dist/objects/query/ir.d.ts.map +1 -1
  655. package/dist/objects/query/link-query-clearance.d.ts +21 -0
  656. package/dist/objects/query/link-query-clearance.d.ts.map +1 -0
  657. package/dist/objects/query/matches-predicate.d.ts +9 -0
  658. package/dist/objects/query/matches-predicate.d.ts.map +1 -0
  659. package/dist/objects/query/normalize.d.ts.map +1 -1
  660. package/dist/objects/query/user-expansions.d.ts +27 -0
  661. package/dist/objects/query/user-expansions.d.ts.map +1 -0
  662. package/dist/objects/query/validate.d.ts.map +1 -1
  663. package/dist/objects/runtime-batch.d.ts +3 -1
  664. package/dist/objects/runtime-batch.d.ts.map +1 -1
  665. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  666. package/dist/objects/sdk/query-executor.d.ts +6 -0
  667. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  668. package/dist/objects/serialize.d.ts +39 -0
  669. package/dist/objects/serialize.d.ts.map +1 -0
  670. package/dist/objects/unique-violation.d.ts +22 -0
  671. package/dist/objects/unique-violation.d.ts.map +1 -0
  672. package/dist/ontology/builders.d.ts +3 -1
  673. package/dist/ontology/builders.d.ts.map +1 -1
  674. package/dist/ontology/docs-markdown.d.ts +1 -1
  675. package/dist/ontology/docs-markdown.d.ts.map +1 -1
  676. package/dist/ontology/index.d.ts +2 -2
  677. package/dist/ontology/index.d.ts.map +1 -1
  678. package/dist/ontology/index.js +13 -9
  679. package/dist/ontology/index.js.map +1 -1
  680. package/dist/ontology/internal.js +9 -7
  681. package/dist/ontology/internal.js.map +3 -3
  682. package/dist/ontology/json-schema.d.ts.map +1 -1
  683. package/dist/ontology/primitives.d.ts +3 -0
  684. package/dist/ontology/primitives.d.ts.map +1 -1
  685. package/dist/ontology/registry.d.ts +6 -0
  686. package/dist/ontology/registry.d.ts.map +1 -1
  687. package/dist/ontology/types.d.ts +9 -0
  688. package/dist/ontology/types.d.ts.map +1 -1
  689. package/dist/ontology/unique-values.d.ts +26 -0
  690. package/dist/ontology/unique-values.d.ts.map +1 -0
  691. package/dist/ontology/user-ref.d.ts +23 -0
  692. package/dist/ontology/user-ref.d.ts.map +1 -1
  693. package/dist/ontology/validation/properties.d.ts.map +1 -1
  694. package/dist/ontology/validation/schema.d.ts.map +1 -1
  695. package/dist/pipelines/index.d.ts +2 -0
  696. package/dist/pipelines/index.d.ts.map +1 -1
  697. package/dist/pipelines/index.js +61 -46
  698. package/dist/pipelines/index.js.map +1 -1
  699. package/dist/pipelines/lineage.d.ts +17 -0
  700. package/dist/pipelines/lineage.d.ts.map +1 -0
  701. package/dist/projections/internal.d.ts +2 -2
  702. package/dist/projections/internal.js +42 -38
  703. package/dist/projections/internal.js.map +1 -1
  704. package/dist/projections/registry.d.ts +4 -0
  705. package/dist/projections/registry.d.ts.map +1 -1
  706. package/dist/projections/revision.d.ts +15 -0
  707. package/dist/projections/revision.d.ts.map +1 -1
  708. package/dist/projections/run-dispatch.d.ts.map +1 -1
  709. package/dist/projections/types.d.ts +2 -0
  710. package/dist/projections/types.d.ts.map +1 -1
  711. package/dist/query.d.ts +4 -2
  712. package/dist/query.d.ts.map +1 -1
  713. package/dist/query.js +2 -2
  714. package/dist/rules/execution.d.ts.map +1 -1
  715. package/dist/runtime/ai-cost.d.ts +2 -0
  716. package/dist/runtime/ai-cost.d.ts.map +1 -1
  717. package/dist/runtime/ai-usage.d.ts +7 -0
  718. package/dist/runtime/ai-usage.d.ts.map +1 -1
  719. package/dist/runtime/create.d.ts +3 -0
  720. package/dist/runtime/create.d.ts.map +1 -1
  721. package/dist/runtime/host.d.ts +6 -0
  722. package/dist/runtime/host.d.ts.map +1 -1
  723. package/dist/runtime/index.d.ts +1 -1
  724. package/dist/runtime/index.d.ts.map +1 -1
  725. package/dist/runtime/internal.d.ts +2 -0
  726. package/dist/runtime/internal.d.ts.map +1 -1
  727. package/dist/runtime/internal.js +58 -50
  728. package/dist/runtime/internal.js.map +1 -1
  729. package/dist/runtime/ontology-mutations.d.ts +2 -0
  730. package/dist/runtime/ontology-mutations.d.ts.map +1 -1
  731. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  732. package/dist/runtime/sixb.d.ts +10 -0
  733. package/dist/runtime/sixb.d.ts.map +1 -1
  734. package/dist/runtime/types.d.ts +66 -8
  735. package/dist/runtime/types.d.ts.map +1 -1
  736. package/dist/sandboxes/auth.d.ts +16 -0
  737. package/dist/sandboxes/auth.d.ts.map +1 -1
  738. package/dist/sandboxes/config.d.ts.map +1 -1
  739. package/dist/sandboxes/configuration.d.ts +26 -0
  740. package/dist/sandboxes/configuration.d.ts.map +1 -1
  741. package/dist/sandboxes/index.d.ts +1 -1
  742. package/dist/sandboxes/index.d.ts.map +1 -1
  743. package/dist/sandboxes/index.js +15 -13
  744. package/dist/sandboxes/index.js.map +1 -1
  745. package/dist/sandboxes/sandbox.d.ts +28 -5
  746. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  747. package/dist/schedules/builders.d.ts.map +1 -1
  748. package/dist/schedules/index.js +3 -3
  749. package/dist/schedules/runtime.d.ts.map +1 -1
  750. package/dist/schedules/validation.d.ts.map +1 -1
  751. package/dist/security/applied-markings-contribution.d.ts +58 -0
  752. package/dist/security/applied-markings-contribution.d.ts.map +1 -0
  753. package/dist/security/applied-markings-host.d.ts +10 -0
  754. package/dist/security/applied-markings-host.d.ts.map +1 -0
  755. package/dist/security/applied-markings-snapshot.d.ts +67 -0
  756. package/dist/security/applied-markings-snapshot.d.ts.map +1 -0
  757. package/dist/security/applied-markings.d.ts +73 -0
  758. package/dist/security/applied-markings.d.ts.map +1 -0
  759. package/dist/security/dataset-version-markings.d.ts +47 -0
  760. package/dist/security/dataset-version-markings.d.ts.map +1 -0
  761. package/dist/security/grants.d.ts +13 -4
  762. package/dist/security/grants.d.ts.map +1 -1
  763. package/dist/security/index.d.ts +2 -1
  764. package/dist/security/index.d.ts.map +1 -1
  765. package/dist/security/internal.d.ts +15 -0
  766. package/dist/security/internal.d.ts.map +1 -0
  767. package/dist/security/internal.js +135 -0
  768. package/dist/security/internal.js.map +10 -0
  769. package/dist/security/marking-propagation.d.ts +62 -0
  770. package/dist/security/marking-propagation.d.ts.map +1 -0
  771. package/dist/security/marking-sets.d.ts +14 -0
  772. package/dist/security/marking-sets.d.ts.map +1 -0
  773. package/dist/security/markings.d.ts +6 -3
  774. package/dist/security/markings.d.ts.map +1 -1
  775. package/dist/security/pipeline-markings.d.ts +20 -0
  776. package/dist/security/pipeline-markings.d.ts.map +1 -0
  777. package/dist/security/project.d.ts +7 -0
  778. package/dist/security/project.d.ts.map +1 -0
  779. package/dist/security/projection-markings.d.ts +71 -0
  780. package/dist/security/projection-markings.d.ts.map +1 -0
  781. package/dist/security/public.js +2 -2
  782. package/dist/security/redactions.d.ts +4 -1
  783. package/dist/security/redactions.d.ts.map +1 -1
  784. package/dist/security/registry.d.ts +6 -0
  785. package/dist/security/registry.d.ts.map +1 -1
  786. package/dist/security/types.d.ts +64 -6
  787. package/dist/security/types.d.ts.map +1 -1
  788. package/dist/security/validation.d.ts.map +1 -1
  789. package/dist/security/view-conditions.d.ts +37 -0
  790. package/dist/security/view-conditions.d.ts.map +1 -0
  791. package/dist/shares/execution.d.ts.map +1 -1
  792. package/dist/shares/internal.js +40 -36
  793. package/dist/shares/internal.js.map +2 -2
  794. package/dist/storage/action-runs/failure.js +3 -3
  795. package/dist/storage/action-runs/in-memory.d.ts +4 -0
  796. package/dist/storage/action-runs/in-memory.d.ts.map +1 -1
  797. package/dist/storage/action-runs/provider.js +1 -1
  798. package/dist/storage/action-runs/types.d.ts +9 -1
  799. package/dist/storage/action-runs/types.d.ts.map +1 -1
  800. package/dist/storage/activity/in-memory.d.ts +55 -0
  801. package/dist/storage/activity/in-memory.d.ts.map +1 -0
  802. package/dist/storage/activity/index.d.ts +3 -0
  803. package/dist/storage/activity/index.d.ts.map +1 -0
  804. package/dist/storage/activity/policy.d.ts +96 -0
  805. package/dist/storage/activity/policy.d.ts.map +1 -0
  806. package/dist/storage/activity/types.d.ts +191 -0
  807. package/dist/storage/activity/types.d.ts.map +1 -0
  808. package/dist/storage/agents/errors.d.ts +3 -1
  809. package/dist/storage/agents/errors.d.ts.map +1 -1
  810. package/dist/storage/agents/in-memory.d.ts +124 -3
  811. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  812. package/dist/storage/agents/index.d.ts +2 -2
  813. package/dist/storage/agents/index.d.ts.map +1 -1
  814. package/dist/storage/agents/provider.d.ts +154 -4
  815. package/dist/storage/agents/provider.d.ts.map +1 -1
  816. package/dist/storage/agents/provider.js +60 -8
  817. package/dist/storage/agents/provider.js.map +1 -1
  818. package/dist/storage/agents/types.d.ts +573 -20
  819. package/dist/storage/agents/types.d.ts.map +1 -1
  820. package/dist/storage/ai-cost/analytics.d.ts +10 -1
  821. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  822. package/dist/storage/ai-cost/groups.d.ts +9 -0
  823. package/dist/storage/ai-cost/groups.d.ts.map +1 -1
  824. package/dist/storage/ai-cost/index.d.ts +1 -1
  825. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  826. package/dist/storage/ai-cost/provider.d.ts +2 -1
  827. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  828. package/dist/storage/ai-cost/provider.js +11 -5
  829. package/dist/storage/ai-cost/provider.js.map +1 -1
  830. package/dist/storage/ai-cost/types.d.ts +14 -2
  831. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  832. package/dist/storage/ai-cost/validation.d.ts.map +1 -1
  833. package/dist/storage/ai-limits/enforcement.js +6 -5
  834. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  835. package/dist/storage/ai-limits/provider.d.ts +1 -1
  836. package/dist/storage/ai-limits/provider.d.ts.map +1 -1
  837. package/dist/storage/ai-limits/provider.js +3 -2
  838. package/dist/storage/ai-limits/provider.js.map +1 -1
  839. package/dist/storage/ai-usage/in-memory.d.ts +5 -1
  840. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
  841. package/dist/storage/ai-usage/index.d.ts +2 -2
  842. package/dist/storage/ai-usage/index.d.ts.map +1 -1
  843. package/dist/storage/ai-usage/record.d.ts +5 -1
  844. package/dist/storage/ai-usage/record.d.ts.map +1 -1
  845. package/dist/storage/ai-usage/types.d.ts +33 -0
  846. package/dist/storage/ai-usage/types.d.ts.map +1 -1
  847. package/dist/storage/ai-usage/usage.d.ts +2 -0
  848. package/dist/storage/ai-usage/usage.d.ts.map +1 -1
  849. package/dist/storage/artifacts/errors.d.ts +18 -0
  850. package/dist/storage/artifacts/errors.d.ts.map +1 -0
  851. package/dist/storage/artifacts/in-memory.d.ts +55 -0
  852. package/dist/storage/artifacts/in-memory.d.ts.map +1 -0
  853. package/dist/storage/artifacts/index.d.ts +5 -0
  854. package/dist/storage/artifacts/index.d.ts.map +1 -0
  855. package/dist/storage/artifacts/record.d.ts +34 -0
  856. package/dist/storage/artifacts/record.d.ts.map +1 -0
  857. package/dist/storage/artifacts/types.d.ts +263 -0
  858. package/dist/storage/artifacts/types.d.ts.map +1 -0
  859. package/dist/storage/auth/in-memory/auth-storage.d.ts +3 -2
  860. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  861. package/dist/storage/auth/in-memory/sessions.d.ts +2 -1
  862. package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
  863. package/dist/storage/auth/in-memory/users.d.ts +7 -3
  864. package/dist/storage/auth/in-memory/users.d.ts.map +1 -1
  865. package/dist/storage/auth/index.d.ts +1 -1
  866. package/dist/storage/auth/index.d.ts.map +1 -1
  867. package/dist/storage/auth/types.d.ts +59 -9
  868. package/dist/storage/auth/types.d.ts.map +1 -1
  869. package/dist/storage/connector-connections/provider.js +2 -2
  870. package/dist/storage/executions/in-memory.d.ts +3 -1
  871. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  872. package/dist/storage/executions/index.d.ts +1 -1
  873. package/dist/storage/executions/index.d.ts.map +1 -1
  874. package/dist/storage/executions/provider.d.ts +2 -0
  875. package/dist/storage/executions/provider.d.ts.map +1 -1
  876. package/dist/storage/executions/provider.js +9 -223
  877. package/dist/storage/executions/provider.js.map +3 -4
  878. package/dist/storage/executions/types.d.ts +46 -0
  879. package/dist/storage/executions/types.d.ts.map +1 -1
  880. package/dist/storage/file-upload-sessions/provider.js +17 -14
  881. package/dist/storage/file-upload-sessions/provider.js.map +1 -1
  882. package/dist/storage/in-memory/index.d.ts +8 -0
  883. package/dist/storage/in-memory/index.d.ts.map +1 -1
  884. package/dist/storage/index.d.ts +15 -11
  885. package/dist/storage/index.d.ts.map +1 -1
  886. package/dist/storage/index.js +78 -66
  887. package/dist/storage/index.js.map +1 -1
  888. package/dist/storage/internal.d.ts +4 -1
  889. package/dist/storage/internal.d.ts.map +1 -1
  890. package/dist/storage/internal.js +80 -19
  891. package/dist/storage/internal.js.map +1 -1
  892. package/dist/storage/migrations/migrate-storage.d.ts +4 -1
  893. package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
  894. package/dist/storage/migrations/prepare-unique-properties.d.ts +18 -0
  895. package/dist/storage/migrations/prepare-unique-properties.d.ts.map +1 -0
  896. package/dist/storage/objects/guard.d.ts +1 -1
  897. package/dist/storage/objects/guard.d.ts.map +1 -1
  898. package/dist/storage/objects/in-memory/conditional-reader.d.ts +5 -0
  899. package/dist/storage/objects/in-memory/conditional-reader.d.ts.map +1 -0
  900. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  901. package/dist/storage/objects/in-memory/read-scope.d.ts +3 -9
  902. package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -1
  903. package/dist/storage/objects/in-memory/read-source.d.ts +10 -1
  904. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  905. package/dist/storage/objects/in-memory/scoped-reader.d.ts +14 -0
  906. package/dist/storage/objects/in-memory/scoped-reader.d.ts.map +1 -0
  907. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  908. package/dist/storage/objects/in-memory/storage.d.ts +36 -1
  909. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  910. package/dist/storage/objects/index.d.ts +2 -2
  911. package/dist/storage/objects/index.d.ts.map +1 -1
  912. package/dist/storage/objects/read-scope.d.ts +9 -1
  913. package/dist/storage/objects/read-scope.d.ts.map +1 -1
  914. package/dist/storage/objects/types.d.ts +64 -1
  915. package/dist/storage/objects/types.d.ts.map +1 -1
  916. package/dist/storage/ontology/in-memory/index.d.ts +2 -0
  917. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  918. package/dist/storage/ontology/in-memory/materializations.d.ts +1 -0
  919. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  920. package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -1
  921. package/dist/storage/ontology/in-memory/sources.d.ts +2 -1
  922. package/dist/storage/ontology/in-memory/sources.d.ts.map +1 -1
  923. package/dist/storage/ontology/in-memory/unique-values.d.ts +32 -0
  924. package/dist/storage/ontology/in-memory/unique-values.d.ts.map +1 -0
  925. package/dist/storage/ontology/index.d.ts +5 -2
  926. package/dist/storage/ontology/index.d.ts.map +1 -1
  927. package/dist/storage/ontology/materializations.d.ts +34 -1
  928. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  929. package/dist/storage/ontology/provider-work.d.ts +15 -2
  930. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  931. package/dist/storage/ontology/provider.d.ts +1 -1
  932. package/dist/storage/ontology/provider.d.ts.map +1 -1
  933. package/dist/storage/ontology/provider.js +9 -4
  934. package/dist/storage/ontology/provider.js.map +1 -1
  935. package/dist/storage/ontology/sources.d.ts +15 -0
  936. package/dist/storage/ontology/sources.d.ts.map +1 -1
  937. package/dist/storage/ontology/unique-values.d.ts +54 -0
  938. package/dist/storage/ontology/unique-values.d.ts.map +1 -0
  939. package/dist/storage/operation-scope.d.ts +1 -1
  940. package/dist/storage/operation-scope.d.ts.map +1 -1
  941. package/dist/storage/operation-scope.js +1 -1
  942. package/dist/storage/projection-runs/in-memory.d.ts +0 -6
  943. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  944. package/dist/storage/projection-runs/provider.js +3 -3
  945. package/dist/storage/share-grants/in-memory.d.ts +2 -1
  946. package/dist/storage/share-grants/in-memory.d.ts.map +1 -1
  947. package/dist/storage/share-grants/index.d.ts +1 -1
  948. package/dist/storage/share-grants/index.d.ts.map +1 -1
  949. package/dist/storage/share-grants/provider.js +4 -3
  950. package/dist/storage/share-grants/provider.js.map +1 -1
  951. package/dist/storage/share-grants/types.d.ts +6 -0
  952. package/dist/storage/share-grants/types.d.ts.map +1 -1
  953. package/dist/storage/types.d.ts +6 -2
  954. package/dist/storage/types.d.ts.map +1 -1
  955. package/dist/storage/workflow-runs/in-memory.d.ts +4 -0
  956. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  957. package/dist/storage/workflow-runs/provider.js +18 -14
  958. package/dist/storage/workflow-runs/provider.js.map +1 -1
  959. package/dist/storage/workflow-runs/types.d.ts +5 -0
  960. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  961. package/dist/syncs/index.js +49 -45
  962. package/dist/syncs/index.js.map +1 -1
  963. package/dist/testing/action-run-storage-contract.d.ts.map +1 -1
  964. package/dist/testing/activity-storage-contract.d.ts +14 -0
  965. package/dist/testing/activity-storage-contract.d.ts.map +1 -0
  966. package/dist/testing/agent-approval-storage-contract.d.ts +17 -0
  967. package/dist/testing/agent-approval-storage-contract.d.ts.map +1 -0
  968. package/dist/testing/agent-memory-storage-contract.d.ts +12 -0
  969. package/dist/testing/agent-memory-storage-contract.d.ts.map +1 -0
  970. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  971. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  972. package/dist/testing/ai-limit-storage-contract.d.ts +0 -1
  973. package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
  974. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
  975. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
  976. package/dist/testing/artifact-storage-contract.d.ts +13 -0
  977. package/dist/testing/artifact-storage-contract.d.ts.map +1 -0
  978. package/dist/testing/auth-storage-contract.d.ts +13 -0
  979. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  980. package/dist/testing/broker-contract.d.ts +5 -0
  981. package/dist/testing/broker-contract.d.ts.map +1 -1
  982. package/dist/testing/effective-storage-contract.d.ts.map +1 -1
  983. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  984. package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -1
  985. package/dist/testing/index.d.ts +11 -5
  986. package/dist/testing/index.d.ts.map +1 -1
  987. package/dist/testing/index.js +9340 -3794
  988. package/dist/testing/index.js.map +32 -26
  989. package/dist/testing/lake-merge-storage-contract.d.ts.map +1 -1
  990. package/dist/testing/lake-storage-contract.d.ts +2 -0
  991. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  992. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  993. package/dist/testing/object-conditional-read-scope-contract.d.ts +11 -0
  994. package/dist/testing/object-conditional-read-scope-contract.d.ts.map +1 -0
  995. package/dist/testing/object-query-contract.d.ts +0 -2
  996. package/dist/testing/object-query-contract.d.ts.map +1 -1
  997. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  998. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  999. package/dist/testing/queues-contract.d.ts +5 -0
  1000. package/dist/testing/queues-contract.d.ts.map +1 -1
  1001. package/dist/testing/sandboxes-contract.d.ts.map +1 -1
  1002. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
  1003. package/dist/testing/share-session-storage-contract.d.ts.map +1 -1
  1004. package/dist/testing/unique-values-contract.d.ts +21 -0
  1005. package/dist/testing/unique-values-contract.d.ts.map +1 -0
  1006. package/dist/testing/webhook-execution.d.ts +0 -8
  1007. package/dist/testing/webhook-execution.d.ts.map +1 -1
  1008. package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -1
  1009. package/dist/users/execution.d.ts +40 -0
  1010. package/dist/users/execution.d.ts.map +1 -0
  1011. package/dist/users/index.d.ts +3 -0
  1012. package/dist/users/index.d.ts.map +1 -0
  1013. package/dist/webhooks/internal.js +42 -38
  1014. package/dist/webhooks/internal.js.map +2 -2
  1015. package/dist/workers/index.js +5 -7
  1016. package/dist/workers/index.js.map +4 -4
  1017. package/dist/workers/queue-worker.d.ts +0 -2
  1018. package/dist/workers/queue-worker.d.ts.map +1 -1
  1019. package/dist/workers/worker.d.ts +0 -2
  1020. package/dist/workers/worker.d.ts.map +1 -1
  1021. package/dist/workflows/builders.d.ts.map +1 -1
  1022. package/dist/workflows/index.js +76 -66
  1023. package/dist/workflows/index.js.map +1 -1
  1024. package/dist/workflows/request.d.ts +12 -1
  1025. package/dist/workflows/request.d.ts.map +1 -1
  1026. package/dist/workflows/types.d.ts +15 -2
  1027. package/dist/workflows/types.d.ts.map +1 -1
  1028. package/dist/workflows/validation.d.ts +7 -0
  1029. package/dist/workflows/validation.d.ts.map +1 -1
  1030. package/package.json +25 -1
  1031. package/src/actions/commit-edits.ts +6 -1
  1032. package/src/actions/execution.ts +55 -23
  1033. package/src/actions/read-facade.ts +33 -0
  1034. package/src/actions/request.ts +234 -66
  1035. package/src/actions/run/context.ts +47 -1
  1036. package/src/actions/run/execute.ts +13 -6
  1037. package/src/actions/run/executor.ts +11 -2
  1038. package/src/actions/run/normalize.ts +12 -2
  1039. package/src/actions/run/phases.ts +2 -0
  1040. package/src/actions/run/run-action.ts +12 -3
  1041. package/src/actions/run/signals.ts +3 -9
  1042. package/src/actions/run/types.ts +17 -1
  1043. package/src/actions/run-authorization.ts +95 -0
  1044. package/src/actions/types/context.ts +20 -3
  1045. package/src/actions/validators.ts +19 -8
  1046. package/src/activity/README.md +158 -0
  1047. package/src/activity/connection.ts +217 -0
  1048. package/src/activity/device.ts +41 -0
  1049. package/src/activity/execution.ts +210 -0
  1050. package/src/activity/service.ts +274 -0
  1051. package/src/activity/shares.ts +62 -0
  1052. package/src/activity/timeline.ts +385 -0
  1053. package/src/agents/accounting.ts +59 -0
  1054. package/src/agents/adapters.ts +10 -0
  1055. package/src/agents/agent-mail.ts +29 -0
  1056. package/src/agents/api-gateway.ts +14 -3
  1057. package/src/agents/approval-continuation.ts +48 -0
  1058. package/src/agents/approval-executor.ts +318 -0
  1059. package/src/agents/approval-outcome.ts +59 -0
  1060. package/src/agents/approvals.ts +566 -0
  1061. package/src/agents/authority.ts +24 -1
  1062. package/src/agents/builders.ts +5 -3
  1063. package/src/agents/cancel.ts +103 -0
  1064. package/src/agents/child-question.ts +46 -0
  1065. package/src/agents/children.ts +404 -0
  1066. package/src/agents/context-compaction.ts +12 -0
  1067. package/src/agents/errors.ts +31 -0
  1068. package/src/agents/execution.ts +788 -90
  1069. package/src/agents/fork.ts +158 -0
  1070. package/src/agents/ids.ts +18 -6
  1071. package/src/agents/index.ts +63 -3
  1072. package/src/agents/memory-execution.ts +186 -0
  1073. package/src/agents/memory.ts +178 -0
  1074. package/src/agents/message.ts +57 -0
  1075. package/src/agents/model-loop.ts +93 -6
  1076. package/src/agents/model-routing.ts +193 -0
  1077. package/src/agents/participants.ts +213 -0
  1078. package/src/agents/reference.ts +2 -0
  1079. package/src/agents/request.ts +398 -64
  1080. package/src/agents/run-scope.ts +134 -0
  1081. package/src/agents/skills.ts +6 -0
  1082. package/src/agents/streams/index.ts +5 -0
  1083. package/src/agents/streams/internal.ts +1 -0
  1084. package/src/agents/streams/protocol.ts +385 -7
  1085. package/src/agents/subagent-runs.ts +41 -0
  1086. package/src/agents/thread-access.ts +137 -0
  1087. package/src/agents/tool-definition.ts +5 -3
  1088. package/src/agents/types.ts +43 -18
  1089. package/src/agents/validation.ts +4 -0
  1090. package/src/artifacts/access.ts +125 -0
  1091. package/src/artifacts/address.ts +132 -0
  1092. package/src/artifacts/canvas.ts +369 -0
  1093. package/src/artifacts/csv.ts +118 -0
  1094. package/src/artifacts/errors.ts +32 -0
  1095. package/src/artifacts/execution.ts +553 -0
  1096. package/src/artifacts/formula/check.ts +171 -0
  1097. package/src/artifacts/formula/evaluate.ts +288 -0
  1098. package/src/artifacts/formula/index.ts +199 -0
  1099. package/src/artifacts/formula/parser.ts +357 -0
  1100. package/src/artifacts/frames/assets.ts +104 -0
  1101. package/src/artifacts/frames/entries.ts +35 -0
  1102. package/src/artifacts/frames/grants.ts +125 -0
  1103. package/src/artifacts/frames/index.ts +21 -0
  1104. package/src/artifacts/frames/kit.ts +569 -0
  1105. package/src/artifacts/frames/probe.ts +357 -0
  1106. package/src/artifacts/frames/protocol.ts +328 -0
  1107. package/src/artifacts/frames/runtime.ts +458 -0
  1108. package/src/artifacts/html.ts +25 -0
  1109. package/src/artifacts/ids.ts +18 -0
  1110. package/src/artifacts/index.ts +125 -0
  1111. package/src/artifacts/kinds.ts +8 -0
  1112. package/src/artifacts/limits.ts +58 -0
  1113. package/src/artifacts/live-sheet.ts +345 -0
  1114. package/src/artifacts/outline.ts +95 -0
  1115. package/src/artifacts/publish/files.ts +87 -0
  1116. package/src/artifacts/publish/index.ts +14 -0
  1117. package/src/artifacts/publish/publish.ts +336 -0
  1118. package/src/artifacts/publish/queries.ts +336 -0
  1119. package/src/artifacts/publish/references.ts +135 -0
  1120. package/src/artifacts/publish/validate/canvas.ts +118 -0
  1121. package/src/artifacts/publish/validate/document.ts +114 -0
  1122. package/src/artifacts/publish/validate/file.ts +19 -0
  1123. package/src/artifacts/publish/validate/html.ts +78 -0
  1124. package/src/artifacts/publish/validate/page.ts +65 -0
  1125. package/src/artifacts/publish/validate/sheet.ts +297 -0
  1126. package/src/artifacts/publish/validate/slides.ts +82 -0
  1127. package/src/artifacts/queries.ts +512 -0
  1128. package/src/artifacts/references.ts +11 -0
  1129. package/src/artifacts/resolve.ts +112 -0
  1130. package/src/artifacts/run-query.ts +212 -0
  1131. package/src/artifacts/serialize-query.ts +25 -0
  1132. package/src/artifacts/sheet-rules.ts +180 -0
  1133. package/src/artifacts/theme.ts +116 -0
  1134. package/src/artifacts/tones.ts +20 -0
  1135. package/src/artifacts/warnings.ts +10 -0
  1136. package/src/artifacts/workbook.ts +674 -0
  1137. package/src/auth/index.ts +4 -0
  1138. package/src/auth/member-events.ts +114 -0
  1139. package/src/auth/profile.ts +118 -0
  1140. package/src/auth/runtime.ts +190 -9
  1141. package/src/auth/strategy.ts +3 -0
  1142. package/src/auth/types.ts +32 -0
  1143. package/src/authorization/decision.ts +52 -0
  1144. package/src/authorization/event-visibility.ts +17 -16
  1145. package/src/authorization/grant-kinds.ts +46 -2
  1146. package/src/authorization/index.ts +6 -1
  1147. package/src/authorization/resolve.ts +58 -1
  1148. package/src/authorization/run-visibility.ts +8 -1
  1149. package/src/authorization/types.ts +14 -0
  1150. package/src/blob-storage/internal.ts +1 -1
  1151. package/src/blob-storage/media-type.ts +69 -0
  1152. package/src/datasets/builders.ts +66 -2
  1153. package/src/datasets/column-index.ts +19 -0
  1154. package/src/datasets/execution.ts +23 -9
  1155. package/src/errors/catalog.ts +26 -1
  1156. package/src/errors/internal.ts +18 -8
  1157. package/src/events/definitions.ts +26 -0
  1158. package/src/events/execution.ts +171 -21
  1159. package/src/events/index.ts +10 -1
  1160. package/src/events/scope.ts +2 -0
  1161. package/src/events/selectors/builder.ts +50 -0
  1162. package/src/events/selectors/index.ts +4 -0
  1163. package/src/events/selectors/types.ts +32 -1
  1164. package/src/events/service.ts +55 -2
  1165. package/src/events/types/index.ts +10 -0
  1166. package/src/events/types/users.ts +73 -0
  1167. package/src/events/view-conditions.ts +241 -0
  1168. package/src/execution/agent.ts +25 -0
  1169. package/src/execution/authorization.ts +70 -0
  1170. package/src/execution/authorized-object-reader.ts +486 -266
  1171. package/src/execution/lineage.ts +14 -0
  1172. package/src/execution/object-reader-clearance.ts +91 -0
  1173. package/src/execution/object-reader-ontology.ts +60 -0
  1174. package/src/execution/object-reader-security.ts +270 -0
  1175. package/src/execution/object-reader-users.ts +122 -0
  1176. package/src/execution/preparation.ts +78 -0
  1177. package/src/execution/request.ts +2 -0
  1178. package/src/execution/unique-lookup.ts +55 -0
  1179. package/src/execution/visible-objects.ts +26 -0
  1180. package/src/http/api-routes.ts +331 -7
  1181. package/src/index.ts +169 -4
  1182. package/src/lake-storage/in-memory.ts +26 -3
  1183. package/src/lake-storage/index.ts +13 -1
  1184. package/src/lake-storage/lineage.ts +385 -0
  1185. package/src/lake-storage/sql-transforms.ts +45 -0
  1186. package/src/lake-storage/types.ts +59 -1
  1187. package/src/lake-storage/version-inputs.ts +35 -6
  1188. package/src/maintenance/ontology-maintenance.ts +15 -0
  1189. package/src/materialization/errors.ts +37 -0
  1190. package/src/materialization/event-envelopes.ts +11 -3
  1191. package/src/materialization/index.ts +1 -0
  1192. package/src/materialization/model.ts +24 -4
  1193. package/src/materializer/README.md +7 -1
  1194. package/src/materializer/edits/commit.ts +56 -12
  1195. package/src/materializer/edits/load-state.ts +15 -7
  1196. package/src/materializer/edits/operations.ts +12 -0
  1197. package/src/materializer/edits/plan.ts +2 -0
  1198. package/src/materializer/edits/unique-values.ts +255 -0
  1199. package/src/materializer/edits/working-state.ts +8 -1
  1200. package/src/materializer/execution/work-records.ts +47 -0
  1201. package/src/materializer/projections/finish-run.ts +0 -1
  1202. package/src/materializer/projections/replace.ts +1 -1
  1203. package/src/materializer/projections/replacement-plan.ts +4 -1
  1204. package/src/materializer/projections/source-materialization.ts +2 -1
  1205. package/src/materializer/shared/normalize.ts +37 -6
  1206. package/src/materializer/shared/projection-run.ts +1 -2
  1207. package/src/materializer/telemetry/append.ts +14 -17
  1208. package/src/materializer/telemetry/plan.ts +2 -0
  1209. package/src/models/audio/catalog.ts +89 -10
  1210. package/src/models/audio/errors.ts +18 -1
  1211. package/src/models/audio/runtime.ts +10 -13
  1212. package/src/models/audio/speech.ts +261 -0
  1213. package/src/models/audio/types.ts +97 -0
  1214. package/src/models/calls.ts +100 -0
  1215. package/src/models/catalog-index.ts +21 -2
  1216. package/src/models/catalog.ts +211 -35
  1217. package/src/models/decision/runtime.ts +21 -22
  1218. package/src/models/decision/validation.ts +4 -1
  1219. package/src/models/definitions.ts +57 -8
  1220. package/src/models/events.ts +72 -1
  1221. package/src/models/execution/README.md +34 -5
  1222. package/src/models/execution/binding.ts +3 -1
  1223. package/src/models/execution/embedding.ts +1 -0
  1224. package/src/models/execution/index.ts +5 -0
  1225. package/src/models/execution/model-call-accounting.ts +3 -1
  1226. package/src/models/execution/model-call-recorder.ts +29 -1
  1227. package/src/models/execution/usage.ts +8 -0
  1228. package/src/models/execution.ts +20 -22
  1229. package/src/models/generation-types.ts +8 -1
  1230. package/src/models/image/catalog.ts +89 -0
  1231. package/src/models/image/errors.ts +19 -0
  1232. package/src/models/image/runtime.ts +335 -0
  1233. package/src/models/image/types.ts +111 -0
  1234. package/src/models/index.ts +38 -4
  1235. package/src/models/{audio/file.ts → input-file.ts} +22 -13
  1236. package/src/models/language-model.ts +13 -0
  1237. package/src/models/pricing.ts +263 -42
  1238. package/src/models/rate-card.ts +161 -12
  1239. package/src/objects/authorized-ontology-view.ts +1 -0
  1240. package/src/objects/clearance-redaction.ts +138 -0
  1241. package/src/objects/conditional-writes.ts +109 -0
  1242. package/src/objects/execution.ts +4 -0
  1243. package/src/objects/index.ts +8 -0
  1244. package/src/objects/link/authorization.ts +37 -8
  1245. package/src/objects/link/endpoints.ts +42 -11
  1246. package/src/objects/link/remove.ts +27 -12
  1247. package/src/objects/link/upsert-batch.ts +9 -5
  1248. package/src/objects/link/upsert.ts +20 -14
  1249. package/src/objects/materializer-adapter.ts +55 -18
  1250. package/src/objects/object/delete.ts +26 -7
  1251. package/src/objects/object/upsert-batch.ts +46 -18
  1252. package/src/objects/object/upsert.ts +25 -8
  1253. package/src/objects/property-clearance.ts +171 -152
  1254. package/src/objects/query/clearance-admission.ts +112 -0
  1255. package/src/objects/query/current-user.ts +76 -0
  1256. package/src/objects/query/executor.ts +39 -103
  1257. package/src/objects/query/explain.ts +20 -7
  1258. package/src/objects/query/index.ts +2 -0
  1259. package/src/objects/query/ir.ts +20 -0
  1260. package/src/objects/query/link-query-clearance.ts +73 -0
  1261. package/src/objects/query/links.ts +8 -0
  1262. package/src/objects/query/matches-predicate.ts +108 -0
  1263. package/src/objects/query/normalize.ts +50 -19
  1264. package/src/objects/query/scalar-values.ts +19 -3
  1265. package/src/objects/query/user-expansions.ts +65 -0
  1266. package/src/objects/query/validate.ts +248 -10
  1267. package/src/objects/runtime-batch.ts +8 -2
  1268. package/src/objects/sdk/object-set.ts +12 -1
  1269. package/src/objects/sdk/query-builder.ts +39 -8
  1270. package/src/objects/sdk/query-executor.ts +6 -0
  1271. package/src/objects/serialize.ts +79 -0
  1272. package/src/objects/unique-violation.ts +59 -0
  1273. package/src/objects/vectors/handle.ts +3 -3
  1274. package/src/ontology/builders.ts +15 -1
  1275. package/src/ontology/docs-markdown.ts +2 -1
  1276. package/src/ontology/index.ts +2 -2
  1277. package/src/ontology/json-schema.ts +4 -0
  1278. package/src/ontology/primitives.ts +21 -8
  1279. package/src/ontology/registry.ts +16 -0
  1280. package/src/ontology/types.ts +9 -0
  1281. package/src/ontology/unique-values.ts +84 -0
  1282. package/src/ontology/user-ref.ts +39 -0
  1283. package/src/ontology/validation/properties.ts +43 -0
  1284. package/src/ontology/validation/schema.ts +9 -1
  1285. package/src/pipelines/index.ts +2 -0
  1286. package/src/pipelines/lineage.ts +45 -0
  1287. package/src/projections/internal.ts +2 -2
  1288. package/src/projections/registry.ts +16 -10
  1289. package/src/projections/revision.ts +112 -45
  1290. package/src/projections/run-dispatch.ts +38 -25
  1291. package/src/projections/types.ts +2 -0
  1292. package/src/query.ts +5 -0
  1293. package/src/rules/execution.ts +43 -11
  1294. package/src/runtime/ai-cost.ts +30 -0
  1295. package/src/runtime/ai-usage.ts +32 -1
  1296. package/src/runtime/create.ts +4 -0
  1297. package/src/runtime/host.ts +73 -1
  1298. package/src/runtime/index.ts +2 -0
  1299. package/src/runtime/internal.ts +2 -0
  1300. package/src/runtime/ontology-mutations.ts +19 -4
  1301. package/src/runtime/resolve-definitions.ts +69 -3
  1302. package/src/runtime/sixb.ts +53 -9
  1303. package/src/runtime/types.ts +99 -9
  1304. package/src/sandboxes/README.md +29 -7
  1305. package/src/sandboxes/auth.ts +16 -0
  1306. package/src/sandboxes/config.ts +2 -7
  1307. package/src/sandboxes/configuration.ts +61 -7
  1308. package/src/sandboxes/index.ts +1 -0
  1309. package/src/sandboxes/sandbox.ts +27 -5
  1310. package/src/schedules/builders.ts +3 -1
  1311. package/src/schedules/runtime.ts +6 -0
  1312. package/src/schedules/validation.ts +23 -1
  1313. package/src/security/README.md +62 -0
  1314. package/src/security/applied-markings-contribution.ts +277 -0
  1315. package/src/security/applied-markings-host.ts +41 -0
  1316. package/src/security/applied-markings-snapshot.ts +235 -0
  1317. package/src/security/applied-markings.ts +405 -0
  1318. package/src/security/dataset-version-markings.ts +163 -0
  1319. package/src/security/grants.ts +191 -11
  1320. package/src/security/index.ts +5 -0
  1321. package/src/security/internal.ts +18 -0
  1322. package/src/security/marking-propagation.ts +255 -0
  1323. package/src/security/marking-sets.ts +42 -0
  1324. package/src/security/markings.ts +29 -178
  1325. package/src/security/pipeline-markings.ts +175 -0
  1326. package/src/security/project.ts +13 -0
  1327. package/src/security/projection-markings.ts +421 -0
  1328. package/src/security/redactions.ts +7 -2
  1329. package/src/security/registry.ts +32 -7
  1330. package/src/security/types.ts +68 -5
  1331. package/src/security/validation.ts +34 -11
  1332. package/src/security/view-conditions.ts +215 -0
  1333. package/src/shares/execution.ts +43 -10
  1334. package/src/storage/action-runs/in-memory.ts +18 -0
  1335. package/src/storage/action-runs/types.ts +10 -0
  1336. package/src/storage/activity/in-memory.ts +374 -0
  1337. package/src/storage/activity/index.ts +27 -0
  1338. package/src/storage/activity/policy.ts +430 -0
  1339. package/src/storage/activity/types.ts +211 -0
  1340. package/src/storage/agents/errors.ts +3 -0
  1341. package/src/storage/agents/in-memory.ts +789 -32
  1342. package/src/storage/agents/index.ts +42 -0
  1343. package/src/storage/agents/provider.ts +730 -16
  1344. package/src/storage/agents/types.ts +628 -27
  1345. package/src/storage/ai-cost/analytics.ts +60 -7
  1346. package/src/storage/ai-cost/codec.ts +6 -1
  1347. package/src/storage/ai-cost/groups.ts +44 -1
  1348. package/src/storage/ai-cost/index.ts +1 -0
  1349. package/src/storage/ai-cost/provider.ts +2 -0
  1350. package/src/storage/ai-cost/types.ts +18 -1
  1351. package/src/storage/ai-cost/validation.ts +39 -12
  1352. package/src/storage/ai-limits/provider.ts +4 -7
  1353. package/src/storage/ai-usage/in-memory.ts +28 -1
  1354. package/src/storage/ai-usage/index.ts +9 -1
  1355. package/src/storage/ai-usage/record.ts +44 -7
  1356. package/src/storage/ai-usage/types.ts +38 -0
  1357. package/src/storage/ai-usage/usage.ts +15 -1
  1358. package/src/storage/artifacts/errors.ts +28 -0
  1359. package/src/storage/artifacts/in-memory.ts +388 -0
  1360. package/src/storage/artifacts/index.ts +35 -0
  1361. package/src/storage/artifacts/record.ts +260 -0
  1362. package/src/storage/artifacts/types.ts +293 -0
  1363. package/src/storage/auth/in-memory/auth-storage.ts +27 -2
  1364. package/src/storage/auth/in-memory/sessions.ts +21 -0
  1365. package/src/storage/auth/in-memory/users.ts +40 -6
  1366. package/src/storage/auth/index.ts +3 -0
  1367. package/src/storage/auth/types.ts +61 -7
  1368. package/src/storage/executions/in-memory.ts +93 -1
  1369. package/src/storage/executions/index.ts +5 -0
  1370. package/src/storage/executions/provider.ts +12 -0
  1371. package/src/storage/executions/types.ts +47 -0
  1372. package/src/storage/in-memory/index.ts +16 -0
  1373. package/src/storage/index.ts +132 -1
  1374. package/src/storage/internal.ts +39 -1
  1375. package/src/storage/migrations/migrate-storage.ts +8 -1
  1376. package/src/storage/migrations/prepare-unique-properties.ts +161 -0
  1377. package/src/storage/objects/guard.ts +7 -3
  1378. package/src/storage/objects/in-memory/conditional-reader.ts +72 -0
  1379. package/src/storage/objects/in-memory/query.ts +4 -105
  1380. package/src/storage/objects/in-memory/read-scope.ts +15 -14
  1381. package/src/storage/objects/in-memory/read-source.ts +11 -1
  1382. package/src/storage/objects/in-memory/scoped-reader.ts +243 -0
  1383. package/src/storage/objects/in-memory/selected-reader.ts +6 -231
  1384. package/src/storage/objects/in-memory/storage.ts +183 -1
  1385. package/src/storage/objects/index.ts +9 -1
  1386. package/src/storage/objects/read-scope.ts +191 -0
  1387. package/src/storage/objects/types.ts +68 -1
  1388. package/src/storage/ontology/in-memory/index.ts +3 -0
  1389. package/src/storage/ontology/in-memory/materializations.ts +35 -0
  1390. package/src/storage/ontology/in-memory/replacement-plans.ts +4 -0
  1391. package/src/storage/ontology/in-memory/sources.ts +23 -0
  1392. package/src/storage/ontology/in-memory/unique-values.ts +62 -0
  1393. package/src/storage/ontology/index.ts +12 -0
  1394. package/src/storage/ontology/materializations.ts +35 -1
  1395. package/src/storage/ontology/provider-work.ts +76 -0
  1396. package/src/storage/ontology/provider.ts +3 -0
  1397. package/src/storage/ontology/sources.ts +17 -0
  1398. package/src/storage/ontology/unique-values.ts +56 -0
  1399. package/src/storage/operation-scope.ts +9 -1
  1400. package/src/storage/projection-runs/in-memory.ts +3 -35
  1401. package/src/storage/share-grants/in-memory.ts +8 -0
  1402. package/src/storage/share-grants/index.ts +1 -0
  1403. package/src/storage/share-grants/types.ts +8 -0
  1404. package/src/storage/types.ts +6 -0
  1405. package/src/storage/workflow-runs/in-memory.ts +16 -0
  1406. package/src/storage/workflow-runs/types.ts +5 -0
  1407. package/src/testing/action-run-storage-contract.ts +25 -0
  1408. package/src/testing/activity-storage-contract.ts +840 -0
  1409. package/src/testing/agent-approval-storage-contract.ts +1117 -0
  1410. package/src/testing/agent-memory-storage-contract.ts +400 -0
  1411. package/src/testing/agent-storage-contract.ts +1206 -50
  1412. package/src/testing/ai-cost-storage-contract.ts +31 -1
  1413. package/src/testing/ai-limit-storage-contract.ts +9 -7
  1414. package/src/testing/ai-model-call-groups-contract.ts +76 -0
  1415. package/src/testing/ai-usage-storage-contract.ts +120 -13
  1416. package/src/testing/artifact-storage-contract.ts +851 -0
  1417. package/src/testing/auth-storage-contract.ts +597 -73
  1418. package/src/testing/broker-contract.ts +28 -23
  1419. package/src/testing/effective-storage-contract.ts +3 -8
  1420. package/src/testing/execution-storage-contract.ts +200 -1
  1421. package/src/testing/file-upload-session-storage-contract.ts +12 -24
  1422. package/src/testing/index.ts +26 -4
  1423. package/src/testing/lake-merge-storage-contract.ts +38 -0
  1424. package/src/testing/lake-storage-contract.ts +269 -30
  1425. package/src/testing/materializer-storage-contract.ts +37 -9
  1426. package/src/testing/object-conditional-read-scope-contract.ts +634 -0
  1427. package/src/testing/object-query-contract.ts +386 -186
  1428. package/src/testing/ontology-storage-contract.ts +286 -22
  1429. package/src/testing/projection-run-storage-contract.ts +8 -18
  1430. package/src/testing/queues-contract.ts +39 -70
  1431. package/src/testing/sandboxes-contract.ts +3 -14
  1432. package/src/testing/share-grant-storage-contract.ts +28 -16
  1433. package/src/testing/share-session-storage-contract.ts +4 -14
  1434. package/src/testing/unique-values-contract.ts +907 -0
  1435. package/src/testing/webhook-execution.ts +1 -1
  1436. package/src/testing/webhook-run-storage-contract.ts +6 -9
  1437. package/src/users/execution.ts +131 -0
  1438. package/src/users/index.ts +2 -0
  1439. package/src/workers/queue-worker.ts +1 -3
  1440. package/src/workers/worker.ts +1 -3
  1441. package/src/workflows/builders.ts +20 -0
  1442. package/src/workflows/request.ts +46 -8
  1443. package/src/workflows/types.ts +15 -2
  1444. package/src/workflows/validation.ts +95 -9
  1445. package/dist/chunk-1k89ecfr.js +0 -85
  1446. package/dist/chunk-1k89ecfr.js.map +0 -10
  1447. package/dist/chunk-1sr8ryzk.js.map +0 -11
  1448. package/dist/chunk-29yx306f.js.map +0 -22
  1449. package/dist/chunk-3t2hgbgd.js.map +0 -15
  1450. package/dist/chunk-4as3wt1c.js.map +0 -12
  1451. package/dist/chunk-4vyr1j8f.js +0 -128
  1452. package/dist/chunk-4vyr1j8f.js.map +0 -11
  1453. package/dist/chunk-5e43w60z.js.map +0 -10
  1454. package/dist/chunk-6c6sn0bh.js.map +0 -106
  1455. package/dist/chunk-6p49a5cq.js.map +0 -12
  1456. package/dist/chunk-6x0pqh32.js.map +0 -10
  1457. package/dist/chunk-7n30ybym.js +0 -3
  1458. package/dist/chunk-7n440zgt.js +0 -261
  1459. package/dist/chunk-7n440zgt.js.map +0 -12
  1460. package/dist/chunk-8mx7qw3y.js.map +0 -13
  1461. package/dist/chunk-91mg3nj9.js.map +0 -12
  1462. package/dist/chunk-96yw3pwd.js.map +0 -10
  1463. package/dist/chunk-9gyp8hg1.js +0 -363
  1464. package/dist/chunk-9gyp8hg1.js.map +0 -14
  1465. package/dist/chunk-9k93ah50.js.map +0 -11
  1466. package/dist/chunk-b38szspf.js.map +0 -11
  1467. package/dist/chunk-bx9q3cwv.js.map +0 -19
  1468. package/dist/chunk-d09tj99x.js.map +0 -12
  1469. package/dist/chunk-ere85b8y.js.map +0 -15
  1470. package/dist/chunk-es1gxsbf.js.map +0 -13
  1471. package/dist/chunk-gsjm1wms.js.map +0 -10
  1472. package/dist/chunk-hjzdd750.js.map +0 -49
  1473. package/dist/chunk-hkc3jct7.js.map +0 -10
  1474. package/dist/chunk-hvsb78a1.js.map +0 -20
  1475. package/dist/chunk-k6q3n2sc.js.map +0 -12
  1476. package/dist/chunk-n33z5bjw.js.map +0 -66
  1477. package/dist/chunk-pbcbn83d.js.map +0 -14
  1478. package/dist/chunk-pqajwytd.js +0 -68
  1479. package/dist/chunk-pqajwytd.js.map +0 -11
  1480. package/dist/chunk-qczk96d9.js.map +0 -11
  1481. package/dist/chunk-rdghfsss.js +0 -39
  1482. package/dist/chunk-rdghfsss.js.map +0 -10
  1483. package/dist/chunk-rj69qcrd.js.map +0 -11
  1484. package/dist/chunk-rrzt8jdy.js.map +0 -14
  1485. package/dist/chunk-s16apyk9.js +0 -256
  1486. package/dist/chunk-s16apyk9.js.map +0 -16
  1487. package/dist/chunk-s54c868q.js +0 -307
  1488. package/dist/chunk-s54c868q.js.map +0 -12
  1489. package/dist/chunk-tpn40322.js.map +0 -19
  1490. package/dist/chunk-tw03bsmb.js.map +0 -11
  1491. package/dist/chunk-v4jbb3rs.js.map +0 -10
  1492. package/dist/chunk-vpq4shxz.js.map +0 -39
  1493. package/dist/chunk-yxd3nnqt.js.map +0 -11
  1494. package/dist/chunk-yzwja0mj.js.map +0 -14
  1495. package/dist/events/toStoredEvent.d.ts +0 -9
  1496. package/dist/events/toStoredEvent.d.ts.map +0 -1
  1497. package/dist/models/audio/file.d.ts +0 -9
  1498. package/dist/models/audio/file.d.ts.map +0 -1
  1499. package/src/events/toStoredEvent.ts +0 -33
  1500. /package/dist/{chunk-mfs23znk.js.map → chunk-07kkp2e1.js.map} +0 -0
  1501. /package/dist/{chunk-fkgc1wt8.js.map → chunk-0phpbbvm.js.map} +0 -0
  1502. /package/dist/{chunk-y0c4e6ex.js.map → chunk-3gbefjg5.js.map} +0 -0
  1503. /package/dist/{chunk-fa02jy15.js.map → chunk-48jezz3j.js.map} +0 -0
  1504. /package/dist/{chunk-c85m1hyj.js.map → chunk-6n69k945.js.map} +0 -0
  1505. /package/dist/{chunk-xfs8x8m9.js.map → chunk-6p0pastb.js.map} +0 -0
  1506. /package/dist/{chunk-t7x8dmn0.js.map → chunk-6y0mkhex.js.map} +0 -0
  1507. /package/dist/{chunk-v9xd5wzd.js.map → chunk-bab05bhg.js.map} +0 -0
  1508. /package/dist/{chunk-gc4ntf7d.js.map → chunk-cwdzcv37.js.map} +0 -0
  1509. /package/dist/{chunk-vyf9kfqf.js.map → chunk-dp0cdtj2.js.map} +0 -0
  1510. /package/dist/{chunk-br3k6qbf.js.map → chunk-fm62y49k.js.map} +0 -0
  1511. /package/dist/{chunk-9ybhtmg4.js.map → chunk-g663fahq.js.map} +0 -0
  1512. /package/dist/{chunk-9w055r5b.js.map → chunk-hwarjrgf.js.map} +0 -0
  1513. /package/dist/{chunk-9dmt152s.js.map → chunk-hyesv9dv.js.map} +0 -0
  1514. /package/dist/{chunk-x9v4cx1d.js.map → chunk-m36fw8ft.js.map} +0 -0
  1515. /package/dist/{chunk-a40ad1ft.js.map → chunk-mbsbxarb.js.map} +0 -0
  1516. /package/dist/{chunk-6aawea28.js.map → chunk-n8q5j6y5.js.map} +0 -0
  1517. /package/dist/{chunk-dk8tkk5f.js.map → chunk-n9zpx9c6.js.map} +0 -0
  1518. /package/dist/{chunk-7t429e3f.js.map → chunk-npcr0228.js.map} +0 -0
  1519. /package/dist/{chunk-z4m0yz8c.js.map → chunk-q4pmvkg0.js.map} +0 -0
@@ -0,0 +1,1418 @@
1
+ // @bun
2
+ import {
3
+ validateObjectQuery2,
4
+ validateObjectQueryWithAdmission,
5
+ SYSTEM_PRINCIPAL2,
6
+ principalsEqual2
7
+ } from "./chunk-h3pbv7n8.js";
8
+ import {
9
+ resolveRuntimeAuthorizationForProject,
10
+ AuthorizationError2,
11
+ isRuntimeAllowed2
12
+ } from "./chunk-yc9ners4.js";
13
+ import {
14
+ inferFileMediaType2
15
+ } from "./chunk-wkv3h3q7.js";
16
+ import {
17
+ createArtifactId,
18
+ isArtifactAddress2,
19
+ parseArtifactAddress2
20
+ } from "./chunk-3fqxbn31.js";
21
+ import {
22
+ ARTIFACT_LIMITS2,
23
+ ARTIFACT_STATE_LIMITS2
24
+ } from "./chunk-hz5d43gn.js";
25
+ import {
26
+ ARTIFACT_THEME_FILE2,
27
+ parseArtifactTheme2,
28
+ ARTIFACT_QUERIES_DIRECTORY,
29
+ ARTIFACT_QUERY_KINDS,
30
+ isArtifactQueryName,
31
+ artifactQueryPath,
32
+ artifactQueryName2,
33
+ parseArtifactQuery,
34
+ resolveArtifactAddress2,
35
+ CANVAS_FILE2,
36
+ parseCanvas2,
37
+ createHeadingSlugger2,
38
+ CsvParseError2,
39
+ parseCsv2,
40
+ WORKBOOK_FILE2,
41
+ sheetFilePath2,
42
+ parseWorkbook2,
43
+ parseSheetNumber2,
44
+ parseSheetDate2,
45
+ evaluateComputedColumns2,
46
+ liveSheetColumns2,
47
+ sheetColumnsProblem,
48
+ sheetFormulasProblem,
49
+ sheetChartsProblem
50
+ } from "./chunk-waqk73p1.js";
51
+ import {
52
+ ArtifactStorageError
53
+ } from "./chunk-fe8zwt8b.js";
54
+ import {
55
+ getAuthorizedOntologyView,
56
+ readerClearance
57
+ } from "./chunk-7z5p905k.js";
58
+ import {
59
+ ArtifactRequestError2,
60
+ checkArtifactFiles,
61
+ readArtifactText,
62
+ invalidArtifact,
63
+ decodeHtmlEntities,
64
+ HTML_ENTRY2,
65
+ refuseFrameAssetPaths,
66
+ readHtmlReferences
67
+ } from "./chunk-qx00vjrj.js";
68
+ import {
69
+ ObjectQueryValidationError2,
70
+ ObjectQueryPlanningError2,
71
+ ObjectQueryExecutionError2,
72
+ normalizeObjectQuery2
73
+ } from "./chunk-j936th07.js";
74
+ import {
75
+ AgentRequestError2
76
+ } from "./chunk-9wr3yajk.js";
77
+
78
+ // src/agents/thread-access.ts
79
+ function createAgentThreadAccessRule(runtime, authority, agents) {
80
+ const caller = authority.type === "principal" ? authority.context.principal : SYSTEM_PRINCIPAL2;
81
+ const blocked = authority.type === "denied" || authority.type === "delegated";
82
+ const accessIn = (thread) => {
83
+ if (blocked || !isRuntimeAllowed2(runtime, { kind: "agent.run" }))
84
+ return null;
85
+ if (authority.type !== "principal")
86
+ return "owner";
87
+ if (principalsEqual2(caller, thread.ownerPrincipal))
88
+ return "owner";
89
+ return thread.participants.some((participant) => principalsEqual2(participant.principal, caller)) ? "participant" : null;
90
+ };
91
+ const read = async (threadId) => {
92
+ if (blocked)
93
+ return null;
94
+ const storage = agents ?? runtime.storage.agents;
95
+ const getById = (id) => storage?.threads.getById({ projectId: runtime.projectId, id });
96
+ const stored = await getById(threadId);
97
+ if (!stored)
98
+ return null;
99
+ const conversation = stored.parent ? await getById(stored.parent.threadId) : stored;
100
+ if (conversation?.kind !== "conversation")
101
+ return null;
102
+ const [thread, readThrough = thread] = await agentThreadViews(runtime, conversation === stored ? [stored] : [stored, conversation], storage);
103
+ const access = readThrough ? accessIn(readThrough) : null;
104
+ return thread && access ? { thread, access } : null;
105
+ };
106
+ return { caller, read };
107
+ }
108
+ function assertConversationThread2(thread) {
109
+ if (thread.kind === "conversation")
110
+ return;
111
+ throw new AgentRequestError2("thread_not_conversation", `[Sixb] Agent thread '${thread.id}' is a sub-agent's: it is read through its conversation and takes no change of its own.`);
112
+ }
113
+ function conversationThreadId2(thread) {
114
+ return thread.parent?.threadId ?? thread.id;
115
+ }
116
+ async function agentThreadViews(runtime, threads, agents = runtime.storage.agents) {
117
+ const participants = threads.length === 0 ? [] : await agents?.threads.listParticipants({
118
+ projectId: runtime.projectId,
119
+ threadIds: threads.map((thread) => thread.id)
120
+ }) ?? [];
121
+ return threads.map((thread) => ({
122
+ ...publicThread(thread),
123
+ participants: participants.filter((participant) => participant.threadId === thread.id).map(({ principal, addedAt, addedBy }) => ({ principal, addedAt, addedBy }))
124
+ }));
125
+ }
126
+ function publicThread(thread) {
127
+ if (!thread.sandboxState)
128
+ return thread;
129
+ const { name, status, initialized } = thread.sandboxState;
130
+ return { ...thread, sandboxState: { name, status, initialized } };
131
+ }
132
+
133
+ // src/artifacts/access.ts
134
+ function createArtifactAccessRule(input) {
135
+ const { caller } = input;
136
+ const conversations = new Map;
137
+ const conversation = (threadId) => {
138
+ if (caller === null || !input.sharing)
139
+ return Promise.resolve(null);
140
+ let reads = conversations.get(threadId);
141
+ if (!reads) {
142
+ reads = input.conversation(threadId);
143
+ conversations.set(threadId, reads);
144
+ }
145
+ return reads;
146
+ };
147
+ const ownAccess = (artifact) => {
148
+ if (caller === null)
149
+ return "none";
150
+ if (caller === "system" || principalsEqual2(caller, artifact.owner))
151
+ return "owner";
152
+ return input.sharing ? undefined : "none";
153
+ };
154
+ const threadIdsOf = (artifact) => input.storage.listThreadIds({ projectId: input.projectId, id: artifact.id });
155
+ const accessTo = async (artifact) => {
156
+ const own = ownAccess(artifact);
157
+ if (own)
158
+ return own;
159
+ let access = "none";
160
+ for (const threadId of await threadIdsOf(artifact)) {
161
+ const reads = await conversation(threadId);
162
+ if (reads === "update")
163
+ return "update";
164
+ if (reads === "read")
165
+ access = "read";
166
+ }
167
+ return access;
168
+ };
169
+ const publishAccess = async (artifact, threadId) => {
170
+ if (threadId === undefined)
171
+ return accessTo(artifact);
172
+ const own = ownAccess(artifact);
173
+ if (own)
174
+ return own;
175
+ if (!(await threadIdsOf(artifact)).includes(threadId))
176
+ return "none";
177
+ const reads = await conversation(threadId);
178
+ return reads === null ? "none" : reads;
179
+ };
180
+ return { accessTo, publishAccess, conversation };
181
+ }
182
+ function assertUpdatable(artifactId, access) {
183
+ if (access === "none") {
184
+ throw new ArtifactRequestError2("not_shared", `[Sixb] Artifact '${artifactId}' is not shared in a conversation you read.`);
185
+ }
186
+ if (access === "read") {
187
+ throw new ArtifactRequestError2("read_only", `[Sixb] You read artifact '${artifactId}' as an observer: you cannot change it or keep page data in it.`);
188
+ }
189
+ }
190
+
191
+ // src/artifacts/run-query.ts
192
+ var PAGE_SIZE = 1000;
193
+ async function runArtifactQuery(runtime, name, query) {
194
+ try {
195
+ const shape = describeArtifactQuery(runtime, query);
196
+ if (query.kind === "facets") {
197
+ const { total, facets } = await runtime.objectReader.facet({
198
+ query: query.query,
199
+ facets: query.facets
200
+ });
201
+ return { kind: "facets", total, facets, ...shape };
202
+ }
203
+ return { kind: "objects", ...await readRows(runtime, query.query), ...shape };
204
+ } catch (error) {
205
+ throw queryInvalid(name, error);
206
+ }
207
+ }
208
+ function describeArtifactQuery(runtime, query) {
209
+ const validated = validateObjectQuery2(query.query, { ontology: runtime.ontology });
210
+ return {
211
+ resultObjectTypeIds: [...validated.result.objectTypeIds],
212
+ readObjectTypeIds: [...validated.touchedObjectTypeIds],
213
+ schema: artifactQuerySchema(getAuthorizedOntologyView(runtime.objectReader), validated)
214
+ };
215
+ }
216
+ function artifactQuerySchema(view, validated) {
217
+ const valueTypes = view.getValueTypesById();
218
+ const results = validated.result.objectTypeIds;
219
+ const root = validated.query;
220
+ const links = {};
221
+ for (const expansion of root.kind === "expand" ? root.expansions : []) {
222
+ links[expansion.linkId] = {
223
+ properties: propertiesOf(view, expansionTargets(view, results, expansion), valueTypes)
224
+ };
225
+ }
226
+ return { properties: propertiesOf(view, results, valueTypes), links };
227
+ }
228
+ function propertiesOf(view, objectTypeIds, valueTypes) {
229
+ const properties = {};
230
+ for (const objectTypeId of objectTypeIds) {
231
+ for (const property of view.getObjectTypeById(objectTypeId)?.properties ?? []) {
232
+ properties[property.id] ??= queryProperty(property.schema, valueTypes);
233
+ }
234
+ }
235
+ return properties;
236
+ }
237
+ function expansionTargets(view, results, expansion) {
238
+ const targets = new Set;
239
+ if (expansion.direction === "outgoing") {
240
+ for (const objectTypeId of results) {
241
+ const link = view.getObjectTypeById(objectTypeId)?.links.find((candidate) => candidate.id === expansion.linkId);
242
+ if (!link || link.targetObjectTypeId === "*")
243
+ continue;
244
+ for (const target of [link.targetObjectTypeId].flat())
245
+ targets.add(target);
246
+ }
247
+ return [...targets];
248
+ }
249
+ const sources = expansion.sourceObjectTypeId === undefined ? view.listObjectTypes() : [view.getObjectTypeById(expansion.sourceObjectTypeId)].filter((type) => type !== null);
250
+ for (const source of sources) {
251
+ const link = source.links.find((candidate) => candidate.id === expansion.linkId);
252
+ if (!link)
253
+ continue;
254
+ const reaches = link.targetObjectTypeId === "*" || results.some((result) => view.isValidLinkTarget(link.targetObjectTypeId, result));
255
+ if (reaches)
256
+ targets.add(source.id);
257
+ }
258
+ return [...targets];
259
+ }
260
+ function queryProperty(schema, valueTypes, depth = 0) {
261
+ if (typeof schema === "string")
262
+ return { type: schema };
263
+ switch (schema.type) {
264
+ case "valueTypeRef": {
265
+ const named = valueTypes.get(schema.valueTypeId)?.schema ?? schema._resolved;
266
+ return named && depth < 8 ? queryProperty(named, valueTypes, depth + 1) : { type: "object" };
267
+ }
268
+ case "enum":
269
+ return { type: "enum", valueType: schema.valueType };
270
+ default:
271
+ return { type: schema.type };
272
+ }
273
+ }
274
+ async function readRows(runtime, query) {
275
+ const objects = [];
276
+ let total = 0;
277
+ let pageToken;
278
+ for (;; ) {
279
+ const pageSize = Math.min(PAGE_SIZE, ARTIFACT_LIMITS2.maxQueryRows - objects.length);
280
+ const first = pageToken === undefined;
281
+ const page = await runtime.objectReader.executeQuery({
282
+ query: { kind: "page", input: query, pageSize, ...pageToken ? { pageToken } : {} },
283
+ ...first ? { includeTotal: true } : {}
284
+ });
285
+ if (first)
286
+ total = page.total ?? page.objects.length;
287
+ objects.push(...page.objects);
288
+ if (!page.hasMore || page.nextPageToken === undefined) {
289
+ return { objects, total, truncated: false };
290
+ }
291
+ if (objects.length >= ARTIFACT_LIMITS2.maxQueryRows) {
292
+ return { objects, total, truncated: true };
293
+ }
294
+ pageToken = page.nextPageToken;
295
+ }
296
+ }
297
+ function queryInvalid(name, error) {
298
+ if (!(error instanceof ObjectQueryValidationError2 || error instanceof ObjectQueryPlanningError2)) {
299
+ return error;
300
+ }
301
+ const issues = error.issues.map((issue) => `${issue.path}: ${issue.message}`).join("; ");
302
+ const problem = error instanceof ObjectQueryValidationError2 ? "no longer matches the ontology" : "can no longer run";
303
+ return new ArtifactRequestError2("query_invalid", `[Sixb] Query '${name}' ${problem}: ${issues}`);
304
+ }
305
+
306
+ // src/artifacts/publish/queries.ts
307
+ function createArtifactQueryChecker(runtime) {
308
+ return async (query) => {
309
+ const shape = describeArtifactQuery(runtime, query);
310
+ if (query.kind === "facets") {
311
+ await runtime.objectReader.facet({ query: query.query, facets: query.facets });
312
+ return { kind: query.kind, ...shape };
313
+ }
314
+ await runtime.objectReader.exists({ query: query.query });
315
+ const clearance = await readerClearance(runtime.objectReader);
316
+ if (clearance)
317
+ assertReturnsReadable(query.query, runtime.ontology, clearance);
318
+ if (!isRuntimeAllowed2(runtime, { kind: "users.view" }))
319
+ assertExpandsNoUsers(query.query);
320
+ return { kind: query.kind, ...shape };
321
+ };
322
+ }
323
+
324
+ class UnreadableReturnError extends AuthorizationError2 {
325
+ at;
326
+ constructor(grantKey, at, message) {
327
+ super(grantKey, message);
328
+ this.at = at;
329
+ }
330
+ }
331
+ function assertReturnsReadable(query, ontology, clearance) {
332
+ const { normalized, resultObjectTypeIds, expansions } = returnedShape(query, ontology);
333
+ const project = outermostProject(normalized);
334
+ for (const objectTypeId of resultObjectTypeIds) {
335
+ const propertyIds = project?.properties ?? propertiesOf2(ontology, objectTypeId);
336
+ const unreadable = firstUnreadable(clearance, objectTypeId, propertyIds);
337
+ if (!unreadable)
338
+ continue;
339
+ const returns = `returns '${unreadable.propertyId}' on '${objectTypeId}', which you are not cleared to read`;
340
+ throw project ? new UnreadableReturnError(`clearance:marking:${unreadable.marking}`, `${project.at}.properties[${unreadable.index}]`, `[Sixb] ${returns}: list only the properties you can read.`) : new UnreadableReturnError(`clearance:marking:${unreadable.marking}`, "$", `[Sixb] ${returns}: add a "project" node that lists only the properties you can read.`);
341
+ }
342
+ for (const expansion of expansions) {
343
+ for (const objectTypeId of expansion.objectTypeIds) {
344
+ const unreadable = firstUnreadable(clearance, objectTypeId, propertiesOf2(ontology, objectTypeId));
345
+ if (!unreadable)
346
+ continue;
347
+ throw new UnreadableReturnError(`clearance:marking:${unreadable.marking}`, expansion.at, `[Sixb] expands '${expansion.linkId}' to '${objectTypeId}', whose '${unreadable.propertyId}' you are not cleared to read: an expansion returns every property, so leave it out, or read '${objectTypeId}' in a query of its own with a "project" node.`);
348
+ }
349
+ }
350
+ }
351
+ function assertExpandsNoUsers(query) {
352
+ const normalized = normalizeObjectQuery2(query);
353
+ if (normalized.kind !== "expand")
354
+ return;
355
+ const expanded = firstUserExpansion(normalized.users, normalized.expansions, "$");
356
+ if (!expanded)
357
+ return;
358
+ throw new UnreadableReturnError("view:users", expanded.at, `[Sixb] returns the member profiles '${expanded.propertyId}' refers to, which you are not allowed to view: leave '${expanded.propertyId}' out of "users".`);
359
+ }
360
+ function firstUserExpansion(users, expansions, at) {
361
+ const [propertyId] = users ?? [];
362
+ if (propertyId !== undefined)
363
+ return { propertyId, at: `${at}.users[0]` };
364
+ for (const [index, expansion] of expansions.entries()) {
365
+ const path = at === "$" ? `$.expansions[${index}]` : `${at}.expand[${index}]`;
366
+ const found = firstUserExpansion(expansion.users, expansion.expand ?? [], path);
367
+ if (found)
368
+ return found;
369
+ }
370
+ return;
371
+ }
372
+ function propertiesOf2(ontology, objectTypeId) {
373
+ return ontology.resolveObjectType(objectTypeId).properties.map((property) => property.id);
374
+ }
375
+ function firstUnreadable(clearance, objectTypeId, propertyIds) {
376
+ for (const [index, propertyId] of propertyIds.entries()) {
377
+ const marking = clearance.missingMarking(objectTypeId, propertyId);
378
+ if (marking !== undefined)
379
+ return { propertyId, index, marking };
380
+ }
381
+ return;
382
+ }
383
+ function returnedShape(query, ontology) {
384
+ const expansions = [];
385
+ const state = Object.freeze({});
386
+ const recorder = {
387
+ empty: () => state,
388
+ source: () => ({ state }),
389
+ property: () => {
390
+ return;
391
+ },
392
+ edge: (input) => {
393
+ if (input.use === "expand") {
394
+ expansions.push({
395
+ at: input.path,
396
+ linkId: input.linkId,
397
+ objectTypeIds: [...input.result.objectTypeIds]
398
+ });
399
+ }
400
+ return { state };
401
+ },
402
+ set: () => state
403
+ };
404
+ const validated = validateObjectQueryWithAdmission(query, { ontology }, recorder);
405
+ return {
406
+ normalized: validated.query,
407
+ resultObjectTypeIds: validated.result.objectTypeIds,
408
+ expansions
409
+ };
410
+ }
411
+ function outermostProject(query, at = "$") {
412
+ switch (query.kind) {
413
+ case "project":
414
+ return query.properties ? { properties: query.properties, at } : undefined;
415
+ case "expand":
416
+ case "limit":
417
+ case "sort":
418
+ return outermostProject(query.input, `${at}.input`);
419
+ default:
420
+ return;
421
+ }
422
+ }
423
+ async function checkArtifactQueries(blobStorage, kind, files, checker) {
424
+ const checked = new Map;
425
+ if (kind === "file")
426
+ return checked;
427
+ const queries = files.filter((file) => file.path.startsWith(ARTIFACT_QUERIES_DIRECTORY));
428
+ const [first] = queries;
429
+ if (!first)
430
+ return checked;
431
+ if (!ARTIFACT_QUERY_KINDS.includes(kind)) {
432
+ throw invalidArtifact(`'${first.path}': a ${kind} runs no query. A document shows a live sheet instead.`);
433
+ }
434
+ if (queries.length > ARTIFACT_LIMITS2.maxQueries) {
435
+ throw invalidArtifact(`A version holds at most ${ARTIFACT_LIMITS2.maxQueries} queries; this one has ${queries.length}.`);
436
+ }
437
+ if (!checker) {
438
+ throw invalidArtifact(`'${first.path}' is a query, and this publish has no way to check it as its author.`);
439
+ }
440
+ for (const file of queries) {
441
+ const name = artifactQueryName2(file.path);
442
+ if (!name) {
443
+ throw invalidArtifact(`'${file.path}' is not a query: name it queries/<name>.json, with lowercase letters, digits and hyphens, at most 64 characters.`);
444
+ }
445
+ const text = await readArtifactText(blobStorage, file, ARTIFACT_LIMITS2.maxQueryBytes);
446
+ const parsed = parseArtifactQuery(file.path, text);
447
+ if ("error" in parsed)
448
+ throw invalidArtifact(parsed.error);
449
+ try {
450
+ checked.set(name, await checker(parsed.query));
451
+ } catch (error) {
452
+ throw refusal(file.path, parsed, error);
453
+ }
454
+ }
455
+ return checked;
456
+ }
457
+ function refusal(path, parsed, error) {
458
+ const inFile = (issuePath) => parsed.query.kind === "facets" && issuePath.startsWith("$.facets") ? issuePath : `${parsed.at}${issuePath.slice(1)}`;
459
+ if (error instanceof UnreadableReturnError) {
460
+ return invalidArtifact(`${path}: ${inFile(error.at)}: ${error.message.replace(/^\[Sixb\]\s*/, "")}`);
461
+ }
462
+ if (error instanceof ObjectQueryValidationError2 || error instanceof ObjectQueryPlanningError2) {
463
+ const issues = error.issues.map((issue) => `${inFile(issue.path)}: ${issue.message}`);
464
+ return invalidArtifact(`${path}: ${issues.join("; ")}`);
465
+ }
466
+ if (error instanceof AuthorizationError2 || error instanceof ObjectQueryExecutionError2) {
467
+ return invalidArtifact(`${path}: ${error.message.replace(/^\[Sixb\]\s*/, "")}`);
468
+ }
469
+ return error;
470
+ }
471
+
472
+ // src/artifacts/publish/references.ts
473
+ async function resolveReferences(context, found) {
474
+ if (found.length > ARTIFACT_LIMITS2.maxReferences) {
475
+ throw invalidArtifact(`A version may refer to at most ${ARTIFACT_LIMITS2.maxReferences} artifacts; this one has ${found.length} addresses.`);
476
+ }
477
+ const artifacts = new Map;
478
+ const versions = new Map;
479
+ const resolved = [];
480
+ for (const reference of found) {
481
+ const where = reference.at ? `In '${reference.at}', '${reference.address}'` : `'${reference.address}'`;
482
+ const address = parseArtifactAddress2(reference.address);
483
+ if (!address) {
484
+ throw invalidArtifact(`${where} is not an artifact address: write artifact:<id>[@<version>][/<file>][#<part>], such as artifact:art_k3m9q2x7tp#chart=revenue.`);
485
+ }
486
+ if (address.artifactId === context.artifactId) {
487
+ throw invalidArtifact(`${where} names the artifact being published. Link to one of its sections with #<slug> instead.`);
488
+ }
489
+ let artifact = artifacts.get(address.artifactId);
490
+ if (!artifact) {
491
+ artifact = context.storage.get({ projectId: context.projectId, id: address.artifactId }).then(async (record) => record && await context.readable(record) ? record : null);
492
+ artifacts.set(address.artifactId, artifact);
493
+ }
494
+ const record = await artifact;
495
+ if (!record) {
496
+ throw invalidArtifact(`${where} names no artifact you can read.`);
497
+ }
498
+ const number = address.version ?? record.latestVersion;
499
+ const key = `${record.id}@${number}`;
500
+ let version = versions.get(key);
501
+ if (!version) {
502
+ version = context.storage.getVersion({
503
+ projectId: context.projectId,
504
+ artifactId: record.id,
505
+ version: number
506
+ });
507
+ versions.set(key, version);
508
+ }
509
+ const target = await version;
510
+ if (!target)
511
+ throw invalidArtifact(`${where}: \u201C${record.title}\u201D has no version ${number}.`);
512
+ const result = resolveArtifactAddress2(address, { kind: record.kind, ...target });
513
+ if ("problem" in result) {
514
+ throw invalidArtifact(`${where}: \u201C${target.title}\u201D ${result.problem}.`);
515
+ }
516
+ resolved.push({ ...reference, resolvedVersion: target.version });
517
+ }
518
+ return resolved;
519
+ }
520
+ async function brokenDependents(context, artifact, version) {
521
+ const dependents = await context.storage.listReferencingVersions({
522
+ projectId: context.projectId,
523
+ artifactId: artifact.id
524
+ });
525
+ const warnings = [];
526
+ for (const dependent of dependents) {
527
+ if (dependent.artifactId === artifact.id)
528
+ continue;
529
+ const broken = [];
530
+ for (const reference of dependent.references) {
531
+ const address = parseArtifactAddress2(reference.address);
532
+ if (address?.artifactId !== artifact.id || address.version !== undefined)
533
+ continue;
534
+ const result = resolveArtifactAddress2(address, { kind: artifact.kind, ...version });
535
+ if (!("problem" in result))
536
+ continue;
537
+ broken.push({
538
+ code: "reference_broken",
539
+ message: `\u201C${dependent.title}\u201D (${dependent.artifactId}) ${reference.as === "embed" ? "shows" : "links to"} ${reference.address}, but version ${version.version} ${result.problem}. Publish its next version with an address that resolves, or restore what it names.`
540
+ });
541
+ }
542
+ if (broken.length === 0)
543
+ continue;
544
+ const owner = await context.storage.get({
545
+ projectId: context.projectId,
546
+ id: dependent.artifactId
547
+ });
548
+ if (owner && await context.readable(owner))
549
+ warnings.push(...broken);
550
+ }
551
+ return warnings;
552
+ }
553
+ function ownArtifacts(author) {
554
+ return async (artifact) => author.type === "system" || principalsEqual2(author, artifact.owner);
555
+ }
556
+
557
+ // src/artifacts/publish/validate/canvas.ts
558
+ import { posix } from "path";
559
+ async function validateCanvas(blobStorage, files) {
560
+ const byPath = new Map(files.map((file) => [file.path, file]));
561
+ const canvasFile = byPath.get(CANVAS_FILE2);
562
+ if (!canvasFile) {
563
+ throw invalidArtifact(`A canvas is '${CANVAS_FILE2}', listing its items, with the HTML files its boards show beside it.`);
564
+ }
565
+ refuseFrameAssetPaths(files, "the canvas");
566
+ const parsed = parseCanvas2(await readArtifactText(blobStorage, canvasFile, ARTIFACT_LIMITS2.maxCanvasBytes));
567
+ if ("error" in parsed)
568
+ throw invalidArtifact(parsed.error);
569
+ const { canvas } = parsed;
570
+ const references = [];
571
+ for (const item of canvas.items) {
572
+ if (item.type === "embed")
573
+ references.push({ address: item.src, as: "embed", at: item.id });
574
+ if (item.type !== "board")
575
+ continue;
576
+ const file = byPath.get(posix.normalize(item.file));
577
+ if (!file) {
578
+ throw invalidArtifact(`${CANVAS_FILE2} board '${item.id}' shows '${item.file}', which is not one of the canvas's files.`);
579
+ }
580
+ const rewriter = new HTMLRewriter;
581
+ const { references: found, refusal } = readHtmlReferences(rewriter, () => item.id, item.file);
582
+ rewriter.transform(await readArtifactText(blobStorage, file, ARTIFACT_LIMITS2.maxBoardBytes));
583
+ const refused = refusal();
584
+ if (refused)
585
+ throw invalidArtifact(`Board '${item.id}': ${refused}`);
586
+ references.push(...found);
587
+ }
588
+ return {
589
+ entry: CANVAS_FILE2,
590
+ outline: {
591
+ kind: "canvas",
592
+ items: canvas.items.flatMap((item) => {
593
+ const title = item.type === "board" || item.type === "section" ? item.title : undefined;
594
+ const named = { id: item.id, ...title ? { title } : {} };
595
+ if (item.type === "board") {
596
+ return [
597
+ { ...named, type: "board", file: posix.normalize(item.file), w: item.w, h: item.h }
598
+ ];
599
+ }
600
+ return item.type === "section" ? [{ ...named, type: "section" }] : [];
601
+ })
602
+ },
603
+ references,
604
+ warnings: layoutWarnings(canvas)
605
+ };
606
+ }
607
+ var overlaps = (a, b) => a.x < b.x + b.w && b.x < a.x + a.w && a.y < b.y + b.h && b.y < a.y + a.h;
608
+ function layoutWarnings(canvas) {
609
+ const boards = canvas.items.flatMap((item) => item.type === "board" ? [item] : []);
610
+ const warnings = [];
611
+ boards.forEach((board, index) => {
612
+ for (const other of boards.slice(index + 1)) {
613
+ if (!overlaps(board, other))
614
+ continue;
615
+ warnings.push({
616
+ code: "canvas_overlap",
617
+ part: board.id,
618
+ message: `Boards '${board.id}' and '${other.id}' overlap, so one covers the other's page: leave 80 pixels between boards in a row and 160 between rows.`
619
+ });
620
+ }
621
+ });
622
+ for (const item of canvas.items) {
623
+ if (item.type !== "note" && item.type !== "text")
624
+ continue;
625
+ const corner = { x: item.x, y: item.y, w: 1, h: 1 };
626
+ const board = boards.find((candidate) => overlaps(candidate, corner));
627
+ if (!board)
628
+ continue;
629
+ warnings.push({
630
+ code: "canvas_covers_board",
631
+ part: item.id,
632
+ message: `${item.type === "note" ? "Note" : "Text"} '${item.id}' sits on board '${board.id}' and covers its page: put it beside the board, and an arrow to it when it is about the board.`
633
+ });
634
+ }
635
+ return warnings;
636
+ }
637
+
638
+ // src/artifacts/publish/validate/document.ts
639
+ import { posix as posix2 } from "path";
640
+ var DOCUMENT_ENTRY = "document.md";
641
+ async function validateDocument(blobStorage, files) {
642
+ const entry = files.find((file) => file.path === DOCUMENT_ENTRY);
643
+ if (!entry)
644
+ throw invalidArtifact(`A document needs its Markdown in '${DOCUMENT_ENTRY}'.`);
645
+ const markdown = await readArtifactText(blobStorage, entry, ARTIFACT_LIMITS2.maxDocumentBytes);
646
+ const html = Bun.markdown.html(markdown, {
647
+ tables: true,
648
+ strikethrough: true,
649
+ tasklists: true,
650
+ autolinks: true
651
+ });
652
+ const headings = [];
653
+ const images = [];
654
+ const addresses = [];
655
+ let heading = null;
656
+ new HTMLRewriter().on("h1, h2, h3, h4, h5, h6", {
657
+ element(element) {
658
+ heading = { depth: Number(element.tagName.slice(1)), text: "" };
659
+ headings.push(heading);
660
+ element.onEndTag(() => {
661
+ heading = null;
662
+ });
663
+ },
664
+ text(chunk) {
665
+ if (heading)
666
+ heading.text += chunk.text;
667
+ }
668
+ }).on("img", {
669
+ element(element) {
670
+ const source = decodeHtmlEntities(element.getAttribute("src") ?? "");
671
+ if (isArtifactAddress2(source)) {
672
+ addresses.push({ address: source.trim(), as: "embed", heading: headings.length - 1 });
673
+ } else {
674
+ images.push(source);
675
+ }
676
+ }
677
+ }).on("a", {
678
+ element(element) {
679
+ const href = decodeHtmlEntities(element.getAttribute("href") ?? "");
680
+ if (isArtifactAddress2(href)) {
681
+ addresses.push({ address: href.trim(), as: "link", heading: headings.length - 1 });
682
+ }
683
+ }
684
+ }).transform(html);
685
+ const paths = new Set(files.map((file) => file.path));
686
+ for (const source of images)
687
+ checkImage(source, paths);
688
+ const slug = createHeadingSlugger2();
689
+ const outlined = headings.map(({ depth, text }) => {
690
+ const plain = decodeHtmlEntities(text).replace(/\s+/g, " ").trim();
691
+ return { depth, text: plain, slug: slug(plain) };
692
+ });
693
+ return {
694
+ entry: DOCUMENT_ENTRY,
695
+ outline: { kind: "document", headings: outlined },
696
+ references: addresses.map(({ address, as, heading: index }) => ({
697
+ address,
698
+ as,
699
+ at: outlined[index]?.slug ?? ""
700
+ }))
701
+ };
702
+ }
703
+ function checkImage(source, paths) {
704
+ if (source === "" || source.startsWith("//") || /^[a-z][a-z\d+.-]*:/i.test(source)) {
705
+ throw invalidArtifact(`${DOCUMENT_ENTRY} shows the image '${source}'. Images must be files in the artifact, by their relative path, or another artifact's address, such as artifact:art_k3m9q2x7tp#chart=revenue.`);
706
+ }
707
+ const path = posix2.normalize(safeDecodeUri(source.split(/[?#]/)[0] ?? ""));
708
+ if (!paths.has(path)) {
709
+ throw invalidArtifact(`${DOCUMENT_ENTRY} shows the image '${source}', which is not one of the artifact's files.`);
710
+ }
711
+ }
712
+ function safeDecodeUri(value) {
713
+ try {
714
+ return decodeURI(value);
715
+ } catch {
716
+ return value;
717
+ }
718
+ }
719
+
720
+ // src/artifacts/publish/validate/file.ts
721
+ function validateFileArtifact(files) {
722
+ const [file] = files;
723
+ if (!file || files.length > 1) {
724
+ throw invalidArtifact(`A file artifact holds exactly one file; this one has ${files.length}.`);
725
+ }
726
+ return {
727
+ entry: file.path,
728
+ outline: { kind: "file", mediaType: file.file.mediaType ?? inferFileMediaType2(file.path) }
729
+ };
730
+ }
731
+
732
+ // src/artifacts/publish/validate/page.ts
733
+ async function validatePage(blobStorage, files) {
734
+ const entry = files.find((file) => file.path === HTML_ENTRY2);
735
+ if (!entry) {
736
+ throw invalidArtifact(`A page needs '${HTML_ENTRY2}', the page itself; put its scripts, styles, and data beside it.`);
737
+ }
738
+ refuseFrameAssetPaths(files, "the page");
739
+ const html = await readArtifactText(blobStorage, entry, ARTIFACT_LIMITS2.maxPageBytes);
740
+ let title = "";
741
+ let heading = "";
742
+ let readingHeading = false;
743
+ const rewriter = new HTMLRewriter().on("title", {
744
+ text(chunk) {
745
+ title += chunk.text;
746
+ }
747
+ }).on("h1", {
748
+ element(element) {
749
+ if (heading || readingHeading)
750
+ return;
751
+ readingHeading = true;
752
+ element.onEndTag(() => {
753
+ readingHeading = false;
754
+ heading ||= " ";
755
+ });
756
+ },
757
+ text(chunk) {
758
+ if (readingHeading)
759
+ heading += chunk.text;
760
+ }
761
+ });
762
+ const { references, refusal } = readHtmlReferences(rewriter, () => "");
763
+ rewriter.transform(html);
764
+ const refused = refusal();
765
+ if (refused)
766
+ throw invalidArtifact(refused);
767
+ const plain = (text) => decodeHtmlEntities(text).replace(/\s+/g, " ").trim();
768
+ const named = plain(title) || plain(heading);
769
+ return {
770
+ entry: HTML_ENTRY2,
771
+ outline: { kind: "page", ...named ? { title: named.slice(0, 200) } : {} },
772
+ references
773
+ };
774
+ }
775
+
776
+ // src/artifacts/publish/validate/sheet.ts
777
+ import { posix as posix3 } from "path";
778
+ async function validateSheet(blobStorage, files, queries) {
779
+ const byPath = new Map(files.map((file) => [file.path, file]));
780
+ const workbookFile = byPath.get(WORKBOOK_FILE2);
781
+ if (!workbookFile) {
782
+ throw invalidArtifact(`A sheet is a directory: '${WORKBOOK_FILE2}' listing its sheets, and one CSV per sheet under sheets/. A single CSV publishes as a file.`);
783
+ }
784
+ const parsed = parseWorkbook2(await readArtifactText(blobStorage, workbookFile, ARTIFACT_LIMITS2.maxWorkbookBytes));
785
+ if ("error" in parsed)
786
+ throw invalidArtifact(parsed.error);
787
+ const { workbook } = parsed;
788
+ const declared = new Set(workbook.sheets.map((sheet) => sheetFilePath2(sheet.name)));
789
+ const stray = files.find((file) => file.path.startsWith("sheets/") && !declared.has(file.path));
790
+ if (stray) {
791
+ throw invalidArtifact(`'${stray.path}' is not a sheet in ${WORKBOOK_FILE2}: list it in "sheets", or move it out of sheets/.`);
792
+ }
793
+ const tables = new Map;
794
+ const references = [];
795
+ const warnings = [];
796
+ const sheets = [];
797
+ for (const sheet of workbook.sheets) {
798
+ if (sheet.live) {
799
+ const live = liveSheet(byPath, sheet, queries.get(sheet.live.query));
800
+ sheets.push(live.sheet);
801
+ tables.set(sheet.name, live.table);
802
+ continue;
803
+ }
804
+ const table = await readSheet(blobStorage, byPath, sheet, references);
805
+ sheets.push(sheet);
806
+ tables.set(sheet.name, table);
807
+ warnings.push(...computeSheet(sheet, table));
808
+ }
809
+ const laidOut = { ...workbook, sheets };
810
+ const charts = sheetChartsProblem(laidOut, tables);
811
+ if (charts)
812
+ throw invalidArtifact(charts);
813
+ return {
814
+ entry: WORKBOOK_FILE2,
815
+ outline: {
816
+ kind: "sheet",
817
+ sheets: workbook.sheets.map((sheet) => {
818
+ const table = tables.get(sheet.name);
819
+ return {
820
+ name: sheet.name,
821
+ rows: table?.rows.length ?? 0,
822
+ columns: [...table?.header ?? []],
823
+ ...sheet.live ? { query: sheet.live.query } : {}
824
+ };
825
+ }),
826
+ charts: workbook.charts.map((chart) => chart.name)
827
+ },
828
+ references,
829
+ warnings
830
+ };
831
+ }
832
+ function liveSheet(byPath, sheet, checked) {
833
+ const query = sheet.live?.query;
834
+ const csv = sheetFilePath2(sheet.name);
835
+ if (byPath.has(csv)) {
836
+ throw invalidArtifact(`Sheet '${sheet.name}' reads its rows from query '${query}', so it has no '${csv}': remove the CSV, or "query" to show it.`);
837
+ }
838
+ if (!checked || query === undefined) {
839
+ throw invalidArtifact(`Sheet '${sheet.name}' reads query '${query}', which the version does not have: add '${artifactQueryPath(query ?? "")}'.`);
840
+ }
841
+ if (checked.kind === "facets") {
842
+ throw invalidArtifact(`Sheet '${sheet.name}' reads query '${query}', which counts facets: a sheet shows rows. A page shows facets; give the sheet a query of rows.`);
843
+ }
844
+ const layout = liveSheetColumns2(sheet, checked.schema);
845
+ if (layout.problem)
846
+ throw invalidArtifact(layout.problem);
847
+ const table = { header: layout.columns.map((column) => column.name), rows: [] };
848
+ const problem = sheetColumnsProblem(layout.sheet, table) ?? sheetFormulasProblem(layout.sheet, table);
849
+ if (problem)
850
+ throw invalidArtifact(problem);
851
+ return { sheet: layout.sheet, table };
852
+ }
853
+ async function readSheet(blobStorage, byPath, sheet, references) {
854
+ const path = sheetFilePath2(sheet.name);
855
+ const file = byPath.get(path);
856
+ if (!file)
857
+ throw invalidArtifact(`Sheet '${sheet.name}' needs its values in '${path}'.`);
858
+ if (file.file.sizeBytes > ARTIFACT_LIMITS2.maxSheetFileBytes) {
859
+ throw invalidArtifact(`'${path}' is ${megabytes(file.file.sizeBytes)} MB; a sheet's values may be at most ${megabytes(ARTIFACT_LIMITS2.maxSheetFileBytes)} MB, which is what the viewer reads. Split it into several sheets, or publish the CSV as a file.`);
860
+ }
861
+ let table;
862
+ try {
863
+ table = parseCsv2(await readArtifactText(blobStorage, file, ARTIFACT_LIMITS2.maxSheetFileBytes));
864
+ } catch (error) {
865
+ if (error instanceof CsvParseError2)
866
+ throw invalidArtifact(`'${path}': ${error.message}`);
867
+ throw error;
868
+ }
869
+ const columns = sheetColumnsProblem(sheet, table);
870
+ if (columns)
871
+ throw invalidArtifact(columns);
872
+ const { header } = table;
873
+ for (const [column, format] of Object.entries(sheet.columns)) {
874
+ const index = header.indexOf(column);
875
+ if (format.type === "link" || format.type === "image") {
876
+ for (const [rowIndex, row] of table.rows.entries()) {
877
+ const value = row[index]?.trim() ?? "";
878
+ if (!isArtifactAddress2(value))
879
+ continue;
880
+ references.push({
881
+ address: value,
882
+ as: format.type === "image" ? "embed" : "link",
883
+ at: `${sheet.name}!${columnLetter(index)}${rowIndex + 2}`
884
+ });
885
+ }
886
+ }
887
+ if (format.formula) {
888
+ checkComputedValues(path, table, index, column);
889
+ continue;
890
+ }
891
+ checkColumn(path, table, index, column, format, byPath);
892
+ }
893
+ return table;
894
+ }
895
+ function checkComputedValues(path, table, index, column) {
896
+ for (const [rowIndex, row] of table.rows.entries()) {
897
+ const value = row[index] ?? "";
898
+ if (value.trim()) {
899
+ throw invalidArtifact(`'${path}' row ${rowIndex + 2}, column '${column}': ${JSON.stringify(value)} is in a computed column; leave its values empty, and its formula fills them.`);
900
+ }
901
+ }
902
+ }
903
+ function computeSheet(sheet, table) {
904
+ const formulas = sheetFormulasProblem(sheet, table);
905
+ if (formulas)
906
+ throw invalidArtifact(formulas);
907
+ const computed = evaluateComputedColumns2(sheet, table);
908
+ return [...computed.errors].map(([column, errors]) => ({
909
+ code: "sheet_formula_error",
910
+ part: sheet.name,
911
+ message: `Sheet '${sheet.name}' column '${column}' computes to ${errors.code} in ${errors.count === 1 ? "1 row" : `${errors.count} rows`}, the first row ${errors.firstRow + 2}. IFERROR gives those rows a value.`
912
+ }));
913
+ }
914
+ function checkColumn(path, table, index, column, format, byPath) {
915
+ for (const [rowIndex, row] of table.rows.entries()) {
916
+ const value = row[index] ?? "";
917
+ if (!value.trim() || isArtifactAddress2(value))
918
+ continue;
919
+ const problem = cellProblem(value, format, byPath);
920
+ if (problem) {
921
+ throw invalidArtifact(`'${path}' row ${rowIndex + 2}, column '${column}': ${JSON.stringify(value)} ${problem}`);
922
+ }
923
+ }
924
+ }
925
+ function cellProblem(value, format, byPath) {
926
+ switch (format.type) {
927
+ case "number":
928
+ case "currency":
929
+ return parseSheetNumber2(value) === undefined ? "is not a number: write plain digits, such as 4120000 or -3.5, with no symbols or separators." : undefined;
930
+ case "percent":
931
+ return parseSheetNumber2(value) === undefined ? "is not a number: write a percent as a fraction, such as 0.351 for 35.1%." : undefined;
932
+ case "date":
933
+ return parseSheetDate2(value) === undefined ? "is not a date: write YYYY-MM-DD, or an ISO 8601 date and time." : undefined;
934
+ case "link":
935
+ return /^https?:\/\/[^\s]+$/i.test(value.trim()) ? undefined : "is not a link: write a full https:// address, or another artifact's address.";
936
+ case "image": {
937
+ const imagePath = posix3.normalize(value.trim());
938
+ return byPath.has(imagePath) ? undefined : "is not one of the artifact's files: add the image to the artifact and give its relative path, or give another artifact's address.";
939
+ }
940
+ case "boolean":
941
+ return /^(true|false)$/i.test(value.trim()) ? undefined : "is not true or false: write true or false, or leave the cell empty.";
942
+ case "text":
943
+ case "tag":
944
+ return;
945
+ }
946
+ }
947
+ function columnLetter(index) {
948
+ let letters = "";
949
+ for (let rest = index + 1;rest > 0; rest = Math.floor((rest - 1) / 26)) {
950
+ letters = String.fromCharCode(65 + (rest - 1) % 26) + letters;
951
+ }
952
+ return letters;
953
+ }
954
+ function megabytes(bytes) {
955
+ return (bytes / (1024 * 1024)).toFixed(1).replace(/\.0$/, "");
956
+ }
957
+
958
+ // src/artifacts/publish/validate/slides.ts
959
+ async function validateSlides(blobStorage, files) {
960
+ const entry = files.find((file) => file.path === HTML_ENTRY2);
961
+ if (!entry) {
962
+ throw invalidArtifact(`A deck needs '${HTML_ENTRY2}' with one <section class="slide"> per slide.`);
963
+ }
964
+ refuseFrameAssetPaths(files, "the deck");
965
+ const html = await readArtifactText(blobStorage, entry, ARTIFACT_LIMITS2.maxDeckBytes);
966
+ const slides = [];
967
+ const at = () => String(Math.max(1, slides.length));
968
+ let reading = null;
969
+ const rewriter = new HTMLRewriter().on("section", {
970
+ element(element) {
971
+ const classes = (element.getAttribute("class") ?? "").split(/\s+/);
972
+ if (classes.includes("slide"))
973
+ slides.push({ title: "", heading: false });
974
+ }
975
+ }).on("h1, h2, h3", {
976
+ element(element) {
977
+ const slide = slides.at(-1);
978
+ if (!slide || slide.heading)
979
+ return;
980
+ slide.heading = true;
981
+ reading = slide;
982
+ element.onEndTag(() => {
983
+ reading = null;
984
+ });
985
+ },
986
+ text(chunk) {
987
+ if (reading)
988
+ reading.title += chunk.text;
989
+ }
990
+ });
991
+ const { references, refusal } = readHtmlReferences(rewriter, at);
992
+ rewriter.transform(html);
993
+ const refused = refusal();
994
+ if (refused)
995
+ throw invalidArtifact(refused);
996
+ if (slides.length === 0) {
997
+ throw invalidArtifact(`${HTML_ENTRY2} has no slides: put each slide in a <section class="slide">.`);
998
+ }
999
+ if (slides.length > ARTIFACT_LIMITS2.maxSlides) {
1000
+ throw invalidArtifact(`A deck holds at most ${ARTIFACT_LIMITS2.maxSlides} slides; this one has ${slides.length}.`);
1001
+ }
1002
+ return {
1003
+ entry: HTML_ENTRY2,
1004
+ outline: {
1005
+ kind: "slides",
1006
+ slides: slides.map(({ title }) => {
1007
+ const plain = decodeHtmlEntities(title).replace(/\s+/g, " ").trim();
1008
+ return plain ? { title: plain } : {};
1009
+ })
1010
+ },
1011
+ references
1012
+ };
1013
+ }
1014
+
1015
+ // src/artifacts/publish/publish.ts
1016
+ var CREATE_ATTEMPTS = 3;
1017
+ async function publishArtifact2(context, input, access) {
1018
+ const prepared = await prepareArtifactVersion2(context, input);
1019
+ const stored = await storeArtifactVersion2(context, prepared, access);
1020
+ return { ...stored, warnings: await artifactVersionWarnings2(context, prepared, stored) };
1021
+ }
1022
+ async function prepareArtifactVersion2(context, input) {
1023
+ const title = checkTitle(input.title);
1024
+ await checkArtifactFiles(context.blobStorage, input.files);
1025
+ if (input.kind !== "file")
1026
+ await checkTheme(context.blobStorage, input.files);
1027
+ const queries = await checkArtifactQueries(context.blobStorage, input.kind, input.files, input.checkQuery);
1028
+ const validated = await validateKind(context.blobStorage, input.kind, input.files, queries);
1029
+ const readable = input.readable ?? ownArtifacts(input.author);
1030
+ const references = await resolveReferences(referenceContext(context, { readable, artifactId: input.artifactId }), validated.references ?? []);
1031
+ return {
1032
+ ...input.artifactId ? { artifactId: input.artifactId } : {},
1033
+ ...input.baseVersion === undefined ? {} : { baseVersion: input.baseVersion },
1034
+ kind: input.kind,
1035
+ owner: input.owner ?? input.author,
1036
+ readable,
1037
+ warnings: validated.warnings ?? [],
1038
+ version: {
1039
+ title,
1040
+ entry: validated.entry,
1041
+ files: input.files.map(({ path, file }) => ({ path, file: { ...file } })),
1042
+ outline: validated.outline,
1043
+ references,
1044
+ author: input.author,
1045
+ ...input.origin ? { origin: input.origin } : {},
1046
+ createdAt: new Date
1047
+ }
1048
+ };
1049
+ }
1050
+ async function storeArtifactVersion2(context, prepared, access) {
1051
+ const { artifactId } = prepared;
1052
+ if (!artifactId) {
1053
+ return createArtifact(context, prepared.kind, prepared.owner, prepared.version);
1054
+ }
1055
+ const artifact = await context.storage.get({ projectId: context.projectId, id: artifactId });
1056
+ if (!artifact)
1057
+ throw notFound(artifactId);
1058
+ assertUpdatable(artifactId, await access(artifact));
1059
+ return publishVersion(context, artifactId, prepared);
1060
+ }
1061
+ async function artifactVersionWarnings2(context, prepared, stored) {
1062
+ if (!prepared.artifactId)
1063
+ return prepared.warnings;
1064
+ try {
1065
+ return [
1066
+ ...prepared.warnings,
1067
+ ...await brokenDependents(referenceContext(context, prepared), stored.artifact, stored.version)
1068
+ ];
1069
+ } catch (error) {
1070
+ console.warn(`[Sixb] Could not check which artifacts version ${stored.version.version} of '${stored.artifact.id}' breaks:`, error);
1071
+ return prepared.warnings;
1072
+ }
1073
+ }
1074
+ function referenceContext(context, input) {
1075
+ return {
1076
+ projectId: context.projectId,
1077
+ storage: context.storage,
1078
+ readable: input.readable,
1079
+ ...input.artifactId ? { artifactId: input.artifactId } : {}
1080
+ };
1081
+ }
1082
+ async function validateKind(blobStorage, kind, files, queries) {
1083
+ switch (kind) {
1084
+ case "document":
1085
+ return validateDocument(blobStorage, files);
1086
+ case "file":
1087
+ return validateFileArtifact(files);
1088
+ case "sheet":
1089
+ return validateSheet(blobStorage, files, queries);
1090
+ case "slides":
1091
+ return validateSlides(blobStorage, files);
1092
+ case "page":
1093
+ return validatePage(blobStorage, files);
1094
+ case "canvas":
1095
+ return validateCanvas(blobStorage, files);
1096
+ default:
1097
+ throw invalidArtifact(`'${kind}' is not a kind of artifact.`);
1098
+ }
1099
+ }
1100
+ async function checkTheme(blobStorage, files) {
1101
+ const themeFile = files.find((file) => file.path === ARTIFACT_THEME_FILE2);
1102
+ if (!themeFile)
1103
+ return;
1104
+ const parsed = parseArtifactTheme2(await readArtifactText(blobStorage, themeFile, ARTIFACT_LIMITS2.maxThemeBytes));
1105
+ if ("error" in parsed)
1106
+ throw invalidArtifact(parsed.error);
1107
+ }
1108
+ function checkTitle(value) {
1109
+ const title = typeof value === "string" ? value.trim() : "";
1110
+ if (title.length === 0 || /[\u0000-\u001f\u007f]/.test(title)) {
1111
+ throw invalidArtifact("An artifact needs a title of plain text.");
1112
+ }
1113
+ if (title.length > ARTIFACT_LIMITS2.maxTitleLength) {
1114
+ throw invalidArtifact(`A title may be at most ${ARTIFACT_LIMITS2.maxTitleLength} characters.`);
1115
+ }
1116
+ return title;
1117
+ }
1118
+ async function publishVersion(context, artifactId, prepared) {
1119
+ try {
1120
+ return await context.storage.publish({
1121
+ projectId: context.projectId,
1122
+ artifactId,
1123
+ kind: prepared.kind,
1124
+ version: prepared.version,
1125
+ ...prepared.baseVersion === undefined ? {} : { baseVersion: prepared.baseVersion }
1126
+ });
1127
+ } catch (error) {
1128
+ if (error instanceof ArtifactStorageError && error.code === "artifact_not_found") {
1129
+ throw new ArtifactRequestError2("artifact_not_found", error.message);
1130
+ }
1131
+ if (error instanceof ArtifactStorageError && error.code === "artifact_kind_mismatch") {
1132
+ throw new ArtifactRequestError2("artifact_kind_mismatch", error.message);
1133
+ }
1134
+ if (error instanceof ArtifactStorageError && error.code === "artifact_moved") {
1135
+ throw new ArtifactRequestError2("artifact_moved", error.message, error.latest);
1136
+ }
1137
+ throw error;
1138
+ }
1139
+ }
1140
+ function notFound(artifactId) {
1141
+ return new ArtifactRequestError2("artifact_not_found", `[Sixb] Artifact '${artifactId}' was not found.`);
1142
+ }
1143
+ async function createArtifact(context, kind, owner, version) {
1144
+ for (let attempt = 1;; attempt += 1) {
1145
+ try {
1146
+ return await context.storage.create({
1147
+ projectId: context.projectId,
1148
+ id: createArtifactId(),
1149
+ kind,
1150
+ owner,
1151
+ version
1152
+ });
1153
+ } catch (error) {
1154
+ const collided = error instanceof ArtifactStorageError && error.code === "artifact_exists";
1155
+ if (!collided || attempt === CREATE_ATTEMPTS)
1156
+ throw error;
1157
+ }
1158
+ }
1159
+ }
1160
+
1161
+ // src/artifacts/execution.ts
1162
+ var publishers = new WeakMap;
1163
+ function publisherOf(artifacts) {
1164
+ const publisher = publishers.get(artifacts);
1165
+ if (!publisher)
1166
+ throw new Error("[Sixb] These artifacts are not a Sixb runtime's.");
1167
+ return publisher;
1168
+ }
1169
+ function artifactAccessRule2(artifacts, storage) {
1170
+ return publisherOf(artifacts).rule(storage);
1171
+ }
1172
+ function artifactQueryChecker2(artifacts) {
1173
+ return publisherOf(artifacts).checkQuery;
1174
+ }
1175
+ function createRuntimeArtifactAccessRule(runtime, storage = runtime.storage) {
1176
+ const artifacts = storage.artifacts;
1177
+ if (!artifacts) {
1178
+ throw new ArtifactRequestError2("storage_unavailable", "[Sixb] Artifacts need storage that supports them.");
1179
+ }
1180
+ const authority = resolveRuntimeAuthorizationForProject(runtime);
1181
+ const threads = createAgentThreadAccessRule(runtime, authority, storage.agents);
1182
+ return createArtifactAccessRule({
1183
+ storage: artifacts,
1184
+ projectId: runtime.projectId,
1185
+ caller: authority.type === "unrestricted" ? "system" : authority.type === "principal" ? authority.context.principal : null,
1186
+ sharing: authority.type === "principal" && authority.ref.credential?.type === "session",
1187
+ conversation: async (threadId) => {
1188
+ if (await threads.read(threadId))
1189
+ return "update";
1190
+ return isRuntimeAllowed2(runtime, { kind: "agentThreads.observe" }) ? "read" : null;
1191
+ }
1192
+ });
1193
+ }
1194
+ function createArtifactsRuntime(runtime, blobStorage) {
1195
+ const authority = resolveRuntimeAuthorizationForProject(runtime);
1196
+ const caller = authority.type === "principal" ? authority.context.principal : authority.type === "unrestricted" ? SYSTEM_PRINCIPAL2 : null;
1197
+ const requireStorage = () => {
1198
+ const storage = runtime.storage.artifacts;
1199
+ if (!storage) {
1200
+ throw new ArtifactRequestError2("storage_unavailable", "[Sixb] Artifacts need storage that supports them.");
1201
+ }
1202
+ return storage;
1203
+ };
1204
+ const requireCaller = () => {
1205
+ if (!caller) {
1206
+ throw new ArtifactRequestError2("not_allowed", "[Sixb] This caller cannot publish artifacts.");
1207
+ }
1208
+ return caller;
1209
+ };
1210
+ const rule = (storage) => createRuntimeArtifactAccessRule(runtime, storage);
1211
+ const checkQuery = createArtifactQueryChecker(runtime);
1212
+ const reach = async (artifactId) => {
1213
+ const artifact = await requireStorage().get({ projectId: runtime.projectId, id: artifactId });
1214
+ return artifact ? { artifact, access: await rule().accessTo(artifact) } : null;
1215
+ };
1216
+ const getReadable = async (artifactId) => {
1217
+ const reached = await reach(artifactId);
1218
+ return reached && reached.access !== "none" ? reached.artifact : null;
1219
+ };
1220
+ const readVersion = async (artifactId, number) => {
1221
+ const artifact = await getReadable(artifactId);
1222
+ if (!artifact)
1223
+ return null;
1224
+ const version = await requireStorage().getVersion({
1225
+ projectId: runtime.projectId,
1226
+ artifactId,
1227
+ version: number === "latest" ? artifact.latestVersion : number
1228
+ });
1229
+ return version ? { artifact, version } : null;
1230
+ };
1231
+ const readableBy = (access) => async (artifact) => await access.accessTo(artifact) !== "none";
1232
+ const requireUpdatable = async (artifactId) => {
1233
+ const reached = await reach(artifactId);
1234
+ if (!reached)
1235
+ throw notFound2(artifactId);
1236
+ assertUpdatable(artifactId, reached.access);
1237
+ return reached.artifact;
1238
+ };
1239
+ const store = (prepared) => runtime.storage.transaction(async (tx) => {
1240
+ const storage = tx.artifacts;
1241
+ if (!storage)
1242
+ throw new Error("[Sixb] Storage transactions hold no artifacts.");
1243
+ return storeArtifactVersion2({ projectId: runtime.projectId, storage, blobStorage }, prepared, (artifact) => rule(tx).publishAccess(artifact));
1244
+ });
1245
+ const contentFiles = async (input) => {
1246
+ if (!input.queries)
1247
+ return input.files;
1248
+ const files = [...input.files];
1249
+ for (const [name, query] of Object.entries(input.queries)) {
1250
+ const path = artifactQueryPath(name);
1251
+ if (input.files.some((file) => file.path === path)) {
1252
+ throw invalidArtifact(`'${path}' is both a file and a query; give it once.`);
1253
+ }
1254
+ const body = new TextEncoder().encode(JSON.stringify(queryFile(query)));
1255
+ const file = await blobStorage.put({
1256
+ body,
1257
+ expectedSizeBytes: body.byteLength,
1258
+ fileName: `${name}.json`,
1259
+ mediaType: "application/json"
1260
+ });
1261
+ files.push({ path, file });
1262
+ }
1263
+ return files;
1264
+ };
1265
+ const artifacts = {
1266
+ async create(input) {
1267
+ const author = requireCaller();
1268
+ return publishArtifact2({ projectId: runtime.projectId, storage: requireStorage(), blobStorage }, {
1269
+ kind: input.kind,
1270
+ title: input.title,
1271
+ files: await contentFiles(input),
1272
+ author,
1273
+ readable: readableBy(rule()),
1274
+ checkQuery
1275
+ }, (artifact) => rule().publishAccess(artifact));
1276
+ },
1277
+ async publish(artifactId, input) {
1278
+ const author = requireCaller();
1279
+ await requireUpdatable(artifactId);
1280
+ const context = { projectId: runtime.projectId, storage: requireStorage(), blobStorage };
1281
+ const prepared = await prepareArtifactVersion2(context, {
1282
+ artifactId,
1283
+ kind: input.kind,
1284
+ title: input.title,
1285
+ files: await contentFiles(input),
1286
+ ...input.baseVersion === undefined ? {} : { baseVersion: input.baseVersion },
1287
+ author,
1288
+ readable: readableBy(rule()),
1289
+ checkQuery
1290
+ });
1291
+ const stored = await store(prepared);
1292
+ return { ...stored, warnings: await artifactVersionWarnings2(context, prepared, stored) };
1293
+ },
1294
+ async access(artifactId) {
1295
+ return (await reach(artifactId))?.access ?? null;
1296
+ },
1297
+ get: getReadable,
1298
+ async list(input = {}) {
1299
+ if (!caller)
1300
+ return { artifacts: [], hasMore: false, total: 0 };
1301
+ const everyShared = input.threadId !== undefined && await rule().conversation(input.threadId) !== null;
1302
+ const ownerFilter = authority.type === "principal" && !everyShared ? caller : null;
1303
+ return requireStorage().list({
1304
+ projectId: runtime.projectId,
1305
+ ...ownerFilter ? { owner: ownerFilter } : {},
1306
+ ...input.threadId === undefined ? {} : { threadId: input.threadId },
1307
+ ...input.kind === undefined ? {} : { kind: input.kind },
1308
+ ...input.limit === undefined ? {} : { limit: input.limit },
1309
+ ...input.offset === undefined ? {} : { offset: input.offset }
1310
+ });
1311
+ },
1312
+ async getVersion(artifactId, version) {
1313
+ return (await readVersion(artifactId, version))?.version ?? null;
1314
+ },
1315
+ async query(artifactId, name, options = {}) {
1316
+ const read = await readVersion(artifactId, options.version ?? "latest");
1317
+ if (!read)
1318
+ return null;
1319
+ const { artifact, version } = read;
1320
+ const file = ARTIFACT_QUERY_KINDS.includes(artifact.kind) && isArtifactQueryName(name) ? version.files.find((candidate) => candidate.path === artifactQueryPath(name)) : undefined;
1321
+ if (!file) {
1322
+ throw new ArtifactRequestError2("query_not_found", `[Sixb] Version ${version.version} of artifact '${artifactId}' has no query '${name}'.`);
1323
+ }
1324
+ const text = await readArtifactText(blobStorage, file, ARTIFACT_LIMITS2.maxQueryBytes);
1325
+ const parsed = parseArtifactQuery(file.path, text);
1326
+ if ("error" in parsed) {
1327
+ throw new ArtifactRequestError2("query_invalid", `[Sixb] ${parsed.error}`);
1328
+ }
1329
+ return runArtifactQuery(runtime, name, parsed.query);
1330
+ },
1331
+ async listVersions(artifactId, input = {}) {
1332
+ if (!await getReadable(artifactId))
1333
+ return null;
1334
+ return requireStorage().listVersions({ projectId: runtime.projectId, artifactId, ...input });
1335
+ },
1336
+ async delete(artifactId) {
1337
+ if ((await reach(artifactId))?.access !== "owner")
1338
+ return false;
1339
+ return requireStorage().delete({ projectId: runtime.projectId, id: artifactId });
1340
+ },
1341
+ state(artifactId) {
1342
+ const scope = async () => {
1343
+ const principal = requireCaller();
1344
+ await requireUpdatable(artifactId);
1345
+ return { projectId: runtime.projectId, artifactId, principal };
1346
+ };
1347
+ return {
1348
+ async get(key) {
1349
+ const entry = await requireStorage().getState({ ...await scope(), key: stateKey(key) });
1350
+ return entry ? JSON.parse(entry.value) : undefined;
1351
+ },
1352
+ async set(key, value) {
1353
+ const at = { ...await scope(), key: stateKey(key) };
1354
+ const text = stateValue(value);
1355
+ const updatedAt = new Date;
1356
+ try {
1357
+ await requireStorage().setState({ ...at, value: text, updatedAt });
1358
+ } catch (error) {
1359
+ if (error instanceof ArtifactStorageError && error.code === "artifact_state_full") {
1360
+ throw new ArtifactRequestError2("state_full", error.message);
1361
+ }
1362
+ throw error;
1363
+ }
1364
+ return { key: at.key, value: JSON.parse(text), updatedAt };
1365
+ },
1366
+ async delete(key) {
1367
+ return requireStorage().deleteState({ ...await scope(), key: stateKey(key) });
1368
+ },
1369
+ async entries() {
1370
+ const entries = await requireStorage().listState(await scope());
1371
+ return entries.map((entry) => ({
1372
+ key: entry.key,
1373
+ value: JSON.parse(entry.value),
1374
+ updatedAt: entry.updatedAt
1375
+ }));
1376
+ },
1377
+ async clear() {
1378
+ return requireStorage().clearState(await scope());
1379
+ }
1380
+ };
1381
+ }
1382
+ };
1383
+ publishers.set(artifacts, { rule, checkQuery });
1384
+ return artifacts;
1385
+ }
1386
+ function stateKey(key) {
1387
+ if (typeof key !== "string" || key.length === 0 || key.length > ARTIFACT_STATE_LIMITS2.maxKeyLength || /\p{Cc}/u.test(key) || key === "." || key === "..") {
1388
+ throw new ArtifactRequestError2("invalid_state", `[Sixb] A key is 1 to ${ARTIFACT_STATE_LIMITS2.maxKeyLength} characters on one line, such as "filters".`);
1389
+ }
1390
+ return key;
1391
+ }
1392
+ function stateValue(value) {
1393
+ let text;
1394
+ try {
1395
+ text = JSON.stringify(value);
1396
+ } catch {
1397
+ text = undefined;
1398
+ }
1399
+ if (text === undefined) {
1400
+ throw new ArtifactRequestError2("invalid_state", "[Sixb] A page keeps JSON values: text, numbers, true and false, null, lists, and objects of them.");
1401
+ }
1402
+ return text;
1403
+ }
1404
+ function queryFile(query) {
1405
+ if ("ir" in query)
1406
+ return query.ir;
1407
+ return {
1408
+ query: query.query.ir,
1409
+ facets: query.facets.map((facet) => ({ propertyId: facet.property.id, limit: facet.limit }))
1410
+ };
1411
+ }
1412
+ function notFound2(artifactId) {
1413
+ return new ArtifactRequestError2("artifact_not_found", `[Sixb] Artifact '${artifactId}' was not found.`);
1414
+ }
1415
+
1416
+ export { createAgentThreadAccessRule, assertConversationThread2, conversationThreadId2, agentThreadViews, publishArtifact2, prepareArtifactVersion2, storeArtifactVersion2, artifactVersionWarnings2, artifactAccessRule2, artifactQueryChecker2, createRuntimeArtifactAccessRule, createArtifactsRuntime };
1417
+
1418
+ //# debugId=C63B97B0B7216B2664756E2164756E21