@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,19 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/storage/action-runs/idempotency.ts", "../src/storage/action-runs/record.ts", "../src/storage/errors.ts", "../src/storage/activity/policy.ts", "../src/storage/artifacts/errors.ts", "../src/storage/artifacts/record.ts", "../src/storage/file-download-grants/record.ts", "../src/storage/pipeline-runs/idempotency.ts", "../src/storage/sync-runs/idempotency.ts", "../src/storage/transaction.ts"],
4
+ "sourcesContent": [
5
+ "import type { ActionSubject } from \"../../actions\"\nimport { stableJsonStringify } from \"../../json\"\nimport type { ActionRunEffectsRecord, ActionRunRecord, ActionRunWritebackRecord } from \"./types\"\n\nexport function actionSubjectsEqual(left: ActionSubject, right: ActionSubject): boolean {\n if (left.kind !== right.kind) return false\n if (left.kind === \"none\") return true\n if (right.kind === \"none\") return false\n return left.objectTypeId === right.objectTypeId && left.primaryId === right.primaryId\n}\n\nexport function actionRunParamsEqual(left: unknown, right: unknown): boolean {\n return stableJsonStringify(left) === stableJsonStringify(right)\n}\n\n/** Whether two runs carry the same request: the same Action, subject, and params. */\nexport function actionRunRequestsEqual(\n left: Pick<ActionRunRecord, \"actionId\" | \"subject\" | \"params\">,\n right: Pick<ActionRunRecord, \"actionId\" | \"subject\" | \"params\">\n): boolean {\n return (\n left.actionId === right.actionId &&\n actionSubjectsEqual(left.subject, right.subject) &&\n actionRunParamsEqual(left.params, right.params)\n )\n}\n\nexport type ActionRunPhaseRecord = ActionRunWritebackRecord | ActionRunEffectsRecord\n\nexport function actionRunPhaseRecordsEqual(\n left: ActionRunPhaseRecord,\n right: ActionRunPhaseRecord\n): boolean {\n return actionRunParamsEqual(stripPhaseRecordCompletedAt(left), stripPhaseRecordCompletedAt(right))\n}\n\nfunction stripPhaseRecordCompletedAt(\n record: ActionRunPhaseRecord\n): Omit<ActionRunPhaseRecord, \"completedAt\"> {\n const { completedAt: _completedAt, ...stableRecord } = record\n return stableRecord\n}\n",
6
+ "import { assertJsonValue, cloneJsonValue } from \"../../json\"\nimport { ActionRunError } from \"./errors\"\nimport { parseActionRunFailure } from \"./failure\"\nimport { actionRunPhaseRecordsEqual } from \"./idempotency\"\nimport type {\n ActionRunEffectsRecord,\n ActionRunRecord,\n ActionRunWritebackRecord,\n RecordActionEffectsInput,\n RecordActionRunInput,\n} from \"./types\"\nimport { ACTION_RUN_PHASES } from \"./types\"\n\n/**\n * Validate a terminal run record before a provider inserts it, and detach it from the caller.\n *\n * Every provider records through this, so a stored run always reads back as the record that was\n * written: a failed run carries the failure of the phase it ended in, and a succeeded one none. A\n * run is recorded before its effects run, so no record starts in the `effects` phase.\n */\nexport function normalizeRecordActionRunInput(input: RecordActionRunInput): RecordActionRunInput {\n const label = `[Sixb] Action run '${input.id}'`\n for (const field of [\"id\", \"projectId\", \"executionId\", \"actionId\", \"idempotencyKey\"] as const) {\n if (typeof input[field] !== \"string\" || input[field].trim().length === 0) {\n throw new ActionRunError(`${label} must have a nonblank ${field}.`)\n }\n }\n const status: string = input.status\n if (status !== \"succeeded\" && status !== \"failed\") {\n throw new ActionRunError(`${label} has unknown status '${status}'.`)\n }\n if (!(ACTION_RUN_PHASES as readonly string[]).includes(input.phase)) {\n throw new ActionRunError(`${label} has unknown phase '${input.phase}'.`)\n }\n if (input.phase === \"effects\") {\n throw new ActionRunError(`${label} is recorded before its effects run.`)\n }\n const startedAt = requireDate(input.startedAt, `${label} startedAt`)\n const finishedAt = requireDate(input.finishedAt, `${label} finishedAt`)\n if (finishedAt < startedAt) {\n throw new ActionRunError(`${label} cannot finish before it started.`)\n }\n assertJsonValue(input.params, `${label} params`)\n\n const fields = {\n id: input.id,\n projectId: input.projectId,\n executionId: input.executionId,\n actionId: input.actionId,\n subject: structuredClone(input.subject),\n phase: input.phase,\n startedAt,\n finishedAt,\n params: structuredClone(input.params),\n idempotencyKey: input.idempotencyKey,\n ...(input.writeback === undefined\n ? {}\n : { writeback: normalizeWriteback(input.writeback, label) }),\n }\n\n if (input.status === \"succeeded\") {\n if (input.error !== undefined) {\n throw new ActionRunError(`${label} succeeded, so it cannot record a failure.`)\n }\n return { ...fields, status: \"succeeded\" }\n }\n const error = parseActionRunFailure(input.error, input.phase)\n if (error.details.runId !== input.id || error.details.actionId !== input.actionId) {\n throw new ActionRunError(`${label} records the failure of another run.`)\n }\n return { ...fields, status: \"failed\", error }\n}\n\n/**\n * Resolve what recording effects does to the stored run: write `effects`, or nothing (`null`) when\n * an equal outcome is already recorded.\n *\n * Effects run only after a succeeded run committed its edits, and their outcome is recorded once.\n */\nexport function resolveActionRunEffects(\n existing: ActionRunRecord | null,\n input: RecordActionEffectsInput\n): { readonly run: ActionRunRecord; readonly effects: ActionRunEffectsRecord | null } {\n const label = `[Sixb] Action run '${input.id}'`\n if (!existing) {\n throw new ActionRunError(`${label} not found for project '${input.projectId}'.`)\n }\n const completedAt = requireDate(input.completedAt ?? new Date(), `${label} effects`)\n const effects: ActionRunEffectsRecord =\n input.status === \"succeeded\"\n ? { status: \"succeeded\", completedAt }\n : { status: \"failed\", completedAt, error: parseActionRunFailure(input.error, \"effects\") }\n\n if (existing.effects) {\n if (actionRunPhaseRecordsEqual(existing.effects, effects))\n return { run: existing, effects: null }\n throw new ActionRunError(`${label} already has a different effects record.`)\n }\n if (existing.status !== \"succeeded\" || existing.phase !== \"commit\") {\n throw new ActionRunError(\n `${label} cannot record effects: it ended '${existing.status}' in phase '${existing.phase}'.`\n )\n }\n return { run: existing, effects }\n}\n\nfunction normalizeWriteback(\n writeback: ActionRunWritebackRecord,\n label: string\n): ActionRunWritebackRecord {\n const completedAt = requireDate(writeback.completedAt, `${label} writeback`)\n if (writeback.status === \"succeeded\") {\n assertJsonValue(writeback.result, `${label} writeback result`)\n return { status: \"succeeded\", completedAt, result: cloneJsonValue(writeback.result) }\n }\n return {\n status: \"failed\",\n completedAt,\n error: parseActionRunFailure(writeback.error, \"writeback\"),\n }\n}\n\n/** A detached copy of `value`, which must be a valid date. */\nfunction requireDate(value: Date, label: string): Date {\n const date = value instanceof Date ? new Date(value) : new Date(Number.NaN)\n if (!Number.isFinite(date.getTime())) {\n throw new ActionRunError(`${label} must be a valid date.`)\n }\n return date\n}\n",
7
+ "/**\n * Thrown when a storage lookup by primary ID finds no matching object.\n * Carries structured context so callers can discriminate without string parsing.\n */\nexport class ObjectNotFoundError extends Error {\n readonly name = \"ObjectNotFoundError\"\n\n constructor(\n readonly objectTypeId: string,\n readonly primaryId: string,\n readonly context: string\n ) {\n super(`[Sixb] ${context}: ${objectTypeId}:${primaryId}`)\n }\n}\n\nexport class ObjectStorageError extends Error {\n readonly name = \"ObjectStorageError\"\n}\n\nexport type StorageTransactionErrorCode =\n | \"nested_transaction\"\n | \"serialization_failure\"\n | \"transaction_inactive\"\n\nexport interface StorageTransactionErrorOptions {\n readonly cause?: unknown\n readonly code?: StorageTransactionErrorCode\n}\n\nexport class StorageTransactionError extends Error {\n readonly name = \"StorageTransactionError\"\n readonly code?: StorageTransactionErrorCode\n override readonly cause?: unknown\n\n constructor(message: string, options: StorageTransactionErrorOptions = {}) {\n super(message)\n this.code = options.code\n this.cause = options.cause\n }\n}\n\nexport function isStorageSerializationFailure(error: unknown): boolean {\n return error instanceof StorageTransactionError && error.code === \"serialization_failure\"\n}\n",
8
+ "/**\n * The activity rules every provider shares: validation, retries, quota, visit assignment and\n * sequence. Providers own atomicity and their queries; see `src/activity/README.md`.\n */\nimport type {\n ActivityActor,\n ActivityAttribution,\n ActivityDay,\n ActivityEventInput,\n ActivityInteraction,\n ActivityPageView,\n AppendActivityInput,\n} from \"./types\"\n\n// The HTTP schemas share these, so the API and the providers refuse the same inputs.\nexport const ACTIVITY_BATCH_LIMIT = 20\nexport const ACTIVITY_EVENT_ID_PATTERN = /^[a-zA-Z0-9_-]{1,80}$/\nexport const ACTIVITY_VISIT_ID_PATTERN = /^[a-zA-Z0-9_-]{1,128}$/\nexport const ACTIVITY_HOSTNAME_PATTERN =\n /^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)*[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$/\n/** A UTM label: any text without control characters. */\nexport const ACTIVITY_LABEL_PATTERN = /^[^\\x00-\\x1f\\x7f]*$/\nexport const ACTIVITY_LABEL_MAX_LENGTH = 100\nexport const ACTIVITY_REFERRER_MAX_LENGTH = 253\nexport const ACTIVITY_ROUTE_MAX_LENGTH = 512\nexport const ACTIVITY_ID_MAX_LENGTH = 256\n/**\n * An interaction name: lowercase dotted segments, each starting with a letter and at most 40\n * characters, such as `invoices.row.open`, without a run of four digits. A segment that starts\n * with a digit, or holds a long number, is usually a value, which names never carry. No pattern\n * catches every value: names are meant to be constants.\n */\nexport const ACTIVITY_INTERACTION_NAME_PATTERN =\n /^(?!.*\\d{4})[a-z][a-z0-9_-]{0,39}(?:\\.[a-z][a-z0-9_-]{0,39})*$/\nexport const ACTIVITY_INTERACTION_NAME_MAX_LENGTH = 100\nexport const ACTIVITY_MAX_PERIOD_MS = 31 * 24 * 60 * 60_000\nexport const ACTIVITY_MAX_PAGE_SIZE = 100\n\nexport const ACTIVITY_SOURCE_LIMIT_PER_MINUTE = 120\nexport const ACTIVITY_MIN_IDLE_TIMEOUT_MS = 60_000\n/** A visit ends at its next event once this old, so a period query bounds `started_at`. */\nexport const ACTIVITY_MAX_VISIT_MS = 24 * 60 * 60_000\n\nconst QUOTA_WINDOW_MS = 60_000\nconst DAY_MS = 86_400_000\nconst ATTRIBUTION_KEYS = [\"source\", \"medium\", \"campaign\", \"referrer\"] as const\n\n/** What a provider keeps per session between batches, read and written under its lock. */\nexport interface ActivitySourceState {\n readonly visitId: string\n /** When the current visit started; `null` once that visit was deleted. Epoch milliseconds. */\n readonly visitStartedAt: number | null\n /** Epoch milliseconds. Never moves backwards. */\n readonly lastSeenAt: number\n /** Sequence of the visit's last stored event, page view or interaction. */\n readonly sequence: number\n readonly windowStart: number\n readonly windowCount: number\n}\n\n/** A page view or an interaction already stored for the session, compared with a retry of it. */\nexport interface StoredActivityEvent {\n readonly id: string\n readonly route: string\n /** Set for an interaction only. */\n readonly name?: string\n readonly attribution?: ActivityAttribution\n}\n\n/** A page view to insert. Its own attribution is kept only to recognize a retry. */\nexport interface PlannedActivityPageView extends ActivityPageView {\n readonly attribution?: ActivityAttribution\n}\n\nexport type ActivityAppendPlan =\n | { readonly status: \"duplicate\" }\n | { readonly status: \"throttled\" }\n | {\n readonly status: \"append\"\n /** Set when the batch starts a visit, with the arrival that visit keeps. */\n readonly newVisit: { readonly attribution: ActivityAttribution | null } | null\n readonly pageViews: readonly PlannedActivityPageView[]\n readonly interactions: readonly ActivityInteraction[]\n /** Events counted against the quota: page views, activity and interactions alike. */\n readonly accepted: number\n readonly state: ActivitySourceState\n }\n\nexport function validateActivityEvents(events: readonly ActivityEventInput[]): void {\n if (!Array.isArray(events) || events.length === 0 || events.length > ACTIVITY_BATCH_LIMIT) {\n throw new Error(`[Sixb] Activity batches must contain 1 to ${ACTIVITY_BATCH_LIMIT} events.`)\n }\n\n const ids = new Set<string>()\n for (const event of events) {\n if (\n !event ||\n typeof event.id !== \"string\" ||\n !ACTIVITY_EVENT_ID_PATTERN.test(event.id) ||\n ids.has(event.id)\n ) {\n throw new Error(\"[Sixb] Activity event ids must be unique, nonempty identifiers.\")\n }\n ids.add(event.id)\n\n if (\n event.type !== \"page.view\" &&\n event.type !== \"visit.activity\" &&\n event.type !== \"ui.interaction\"\n ) {\n throw new Error(\"[Sixb] Unknown activity event type.\")\n }\n\n if (!isActivityRoutePattern(event.route)) {\n throw new Error(\n \"[Sixb] Activity routes must be normalized file-router patterns without URL parameters.\"\n )\n }\n\n if (event.type !== \"ui.interaction\") {\n serializeActivityAttribution(event.attribution)\n continue\n }\n\n if (!isActivityInteractionName(event.name)) {\n throw new Error(\n `[Sixb] Activity interaction names are lowercase dotted identifiers such as \"invoices.export\": each segment starts with a letter, holds at most 40 characters and no run of four digits, and the name at most ${ACTIVITY_INTERACTION_NAME_MAX_LENGTH}.`\n )\n }\n\n // An interaction is its name, route and time: the arrival travels with page views.\n if (Reflect.get(event, \"attribution\") !== undefined) {\n throw new Error(\"[Sixb] Activity interactions carry no attribution.\")\n }\n }\n}\n\nexport function validateActivityAppend(input: AppendActivityInput): void {\n validateActivityEvents(input.events)\n\n if (input.actor.type !== \"user\" && input.actor.type !== \"share\") {\n throw new Error(\"[Sixb] Invalid activity actor.\")\n }\n\n const actorId = input.actor.type === \"user\" ? input.actor.userId : input.actor.grantId\n for (const value of [input.projectId, input.sessionId, input.newVisitId, actorId]) {\n if (typeof value !== \"string\" || !value.trim() || value.length > ACTIVITY_ID_MAX_LENGTH) {\n throw new Error(\"[Sixb] Invalid activity identity.\")\n }\n }\n\n if (\n !Number.isFinite(input.now.getTime()) ||\n !Number.isSafeInteger(input.idleTimeoutMs) ||\n input.idleTimeoutMs < ACTIVITY_MIN_IDLE_TIMEOUT_MS\n ) {\n throw new Error(\"[Sixb] Invalid activity clock or inactivity window.\")\n }\n}\n\n/**\n * Plans one batch for one session. `current` is the session's state, absent before its first\n * batch; `stored` holds its page views and interactions whose ids appear in the batch.\n */\nexport function planActivityAppend(\n input: AppendActivityInput,\n current: ActivitySourceState | undefined,\n stored: readonly StoredActivityEvent[]\n): ActivityAppendPlan {\n const fresh = input.events.filter((event) => !isRetry(event, stored))\n if (fresh.length === 0) {\n return { status: \"duplicate\" }\n }\n\n // A server clock stepping back must not reorder a visit.\n const now = Math.max(input.now.getTime(), current?.lastSeenAt ?? 0)\n\n const windowOpen = current !== undefined && now - current.windowStart < QUOTA_WINDOW_MS\n const windowStart = windowOpen ? current.windowStart : now\n const windowCount = windowOpen ? current.windowCount : 0\n if (windowCount + fresh.length > ACTIVITY_SOURCE_LIMIT_PER_MINUTE) {\n return { status: \"throttled\" }\n }\n\n const continued = continuesVisit(current, now, input.idleTimeoutMs) ? current : undefined\n const visitId = continued?.visitId ?? input.newVisitId\n const previousSequence = continued?.sequence ?? 0\n\n // Page views and interactions share the visit's sequence, in the order the batch sent them.\n const pageViews: PlannedActivityPageView[] = []\n const interactions: ActivityInteraction[] = []\n let sequence = previousSequence\n\n fresh.forEach((event, index) => {\n const receivedAt = new Date(now)\n const opensVisit = !continued && index === 0\n\n if (event.type === \"ui.interaction\") {\n // Like activity, an interaction that opens a visit starts it on its page. The page view's\n // id is derived outside the event-id alphabet, so no browser event can claim it.\n if (opensVisit) {\n sequence += 1\n pageViews.push({\n id: `${event.id}.page`,\n visitId,\n sequence,\n route: event.route,\n receivedAt,\n attribution: {},\n })\n }\n\n sequence += 1\n interactions.push({\n id: event.id,\n visitId,\n sequence,\n name: event.name,\n route: event.route,\n receivedAt,\n })\n return\n }\n\n // A visit opened by activity, someone back on a page after inactivity, starts on that page.\n if (event.type === \"page.view\" || opensVisit) {\n sequence += 1\n pageViews.push({\n id: event.id,\n visitId,\n sequence,\n route: event.route,\n receivedAt,\n ...(event.attribution === undefined\n ? {}\n : { attribution: structuredClone(event.attribution) }),\n })\n }\n })\n\n // An interaction carries no arrival: the visit it opens reads as direct.\n const first = fresh[0]\n const arrival = first?.type === \"ui.interaction\" ? {} : first?.attribution\n\n return {\n status: \"append\",\n newVisit: continued ? null : { attribution: cloneAttribution(arrival) },\n pageViews,\n interactions,\n accepted: fresh.length,\n state: {\n visitId,\n visitStartedAt: continued ? continued.visitStartedAt : now,\n lastSeenAt: now,\n sequence,\n windowStart,\n windowCount: windowCount + fresh.length,\n },\n }\n}\n\n/**\n * A visit continues while it is active and younger than a day. One whose row was deleted cannot:\n * the next event starts another.\n */\nfunction continuesVisit(\n current: ActivitySourceState | undefined,\n now: number,\n idleTimeoutMs: number\n): current is ActivitySourceState {\n return (\n current !== undefined &&\n current.visitStartedAt !== null &&\n now - current.lastSeenAt < idleTimeoutMs &&\n now - current.visitStartedAt < ACTIVITY_MAX_VISIT_MS\n )\n}\n\n/**\n * An event whose id is already stored is a retry, and must say the same thing. Stored rows are\n * page views, the activity that opened a visit, and interactions; either of the first two types\n * can retry a page view. Other activity is not stored, and is never recognized as a retry.\n */\nfunction isRetry(event: ActivityEventInput, stored: readonly StoredActivityEvent[]): boolean {\n const previous = stored.find((candidate) => candidate.id === event.id)\n if (!previous) {\n return false\n }\n\n const same =\n event.type === \"ui.interaction\"\n ? event.name === previous.name && event.route === previous.route\n : previous.name === undefined &&\n event.route === previous.route &&\n serializeActivityAttribution(event.attribution) ===\n serializeActivityAttribution(previous.attribution)\n\n if (!same) {\n throw new Error(\"[Sixb] Activity event id was reused with different content.\")\n }\n\n return true\n}\n\n/**\n * Each UTC day of `[from, to)` that a visit overlaps, with its page views. A visit across midnight\n * counts on both days.\n */\nexport function activityCalendarDays(\n period: { readonly from: Date; readonly to: Date },\n visits: readonly { readonly startedAt: Date; readonly lastSeenAt: Date }[],\n pageViewsByDay: ReadonlyMap<string, number>\n): ActivityDay[] {\n const visitsByDay = new Map<string, number>()\n const from = period.from.getTime()\n const last = period.to.getTime() - 1\n\n for (const visit of visits) {\n const firstDay = Math.floor(Math.max(visit.startedAt.getTime(), from) / DAY_MS)\n const lastDay = Math.floor(Math.min(visit.lastSeenAt.getTime(), last) / DAY_MS)\n\n for (let day = firstDay; day <= lastDay; day++) {\n const key = activityDay(day * DAY_MS)\n visitsByDay.set(key, (visitsByDay.get(key) ?? 0) + 1)\n }\n }\n\n const days = new Set([...visitsByDay.keys(), ...pageViewsByDay.keys()])\n return [...days].sort().map((day) => ({\n day,\n visits: visitsByDay.get(day) ?? 0,\n pageViews: pageViewsByDay.get(day) ?? 0,\n }))\n}\n\n/** The UTC calendar day of an instant, as `YYYY-MM-DD`. */\nexport function activityDay(at: Date | number): string {\n return new Date(at).toISOString().slice(0, 10)\n}\n\nexport function activityActor(\n type: string,\n userId: string | null,\n grantId: string | null\n): ActivityActor {\n if (type === \"user\" && userId) {\n return { type, userId }\n }\n if (type === \"share\" && grantId) {\n return { type, grantId }\n }\n throw new Error(\"[Sixb] Stored activity actor is invalid.\")\n}\n\n/** Canonical JSON, so a retry matches whatever order its keys come in. `undefined` stays null. */\nexport function serializeActivityAttribution(value: unknown): string | null {\n if (value === undefined) {\n return null\n }\n if (!value || typeof value !== \"object\" || Array.isArray(value)) {\n throw new Error(\"[Sixb] Invalid activity attribution.\")\n }\n if (Object.keys(value).some((key) => !ATTRIBUTION_KEYS.some((field) => field === key))) {\n throw new Error(\"[Sixb] Unknown activity attribution field.\")\n }\n\n const result: Record<string, string> = {}\n for (const key of ATTRIBUTION_KEYS) {\n const text: unknown = Reflect.get(value, key)\n if (text === undefined) {\n continue\n }\n\n const maxLength = key === \"referrer\" ? ACTIVITY_REFERRER_MAX_LENGTH : ACTIVITY_LABEL_MAX_LENGTH\n if (!isAttributionLabel(text, maxLength)) {\n throw new Error(\"[Sixb] Activity attribution requires bounded, nonempty labels.\")\n }\n if (key === \"referrer\" && !ACTIVITY_HOSTNAME_PATTERN.test(text)) {\n throw new Error(\"[Sixb] Activity referrer must be a hostname, not a URL.\")\n }\n\n result[key] = text\n }\n\n return JSON.stringify(result)\n}\n\nexport function parseActivityAttribution(value: string | null): ActivityAttribution | null {\n if (value === null) {\n return null\n }\n\n const data: unknown = JSON.parse(value)\n serializeActivityAttribution(data)\n // The check above limits every key and value to the attribution contract.\n return data as ActivityAttribution\n}\n\nfunction cloneAttribution(value: ActivityAttribution | undefined): ActivityAttribution | null {\n return value === undefined ? null : structuredClone(value)\n}\n\nfunction isAttributionLabel(value: unknown, maxLength: number): value is string {\n return (\n typeof value === \"string\" &&\n value.length > 0 &&\n value.length <= maxLength &&\n value === value.trim() &&\n ACTIVITY_LABEL_PATTERN.test(value)\n )\n}\n\nfunction isActivityInteractionName(value: unknown): value is string {\n return (\n typeof value === \"string\" &&\n value.length <= ACTIVITY_INTERACTION_NAME_MAX_LENGTH &&\n ACTIVITY_INTERACTION_NAME_PATTERN.test(value)\n )\n}\n\n/** A file-router pattern: rooted, normalized, without a query, fragment or escape. */\nexport function isActivityRoutePattern(value: unknown): value is string {\n return (\n typeof value === \"string\" &&\n value.length <= ACTIVITY_ROUTE_MAX_LENGTH &&\n value.startsWith(\"/\") &&\n !value.includes(\"//\") &&\n !/[?#%\\s\\x00-\\x1f]/.test(value)\n )\n}\n",
9
+ "import type { Principal } from \"../../auth\"\n\nexport type ArtifactStorageErrorCode =\n | \"artifact_exists\"\n | \"artifact_not_found\"\n | \"artifact_kind_mismatch\"\n | \"artifact_moved\"\n | \"artifact_state_full\"\n\n/** The version an artifact had moved on to, and who published it, when a publish found it moved. */\nexport interface ArtifactLatestVersion {\n readonly version: number\n readonly author: Principal\n}\n\n/** Error for artifact-storage invariants. Callers branch on `code` rather than message text. */\nexport class ArtifactStorageError extends Error {\n readonly name = \"ArtifactStorageError\"\n\n constructor(\n readonly code: ArtifactStorageErrorCode,\n message: string,\n /** With `artifact_moved`: the latest version, which the publish was not based on. */\n readonly latest?: ArtifactLatestVersion\n ) {\n super(message)\n }\n}\n",
10
+ "import { isArtifactKind } from \"../../artifacts/kinds\"\nimport { ARTIFACT_STATE_LIMITS } from \"../../artifacts/limits\"\nimport type { ArtifactOutline } from \"../../artifacts/outline\"\nimport type { ArtifactReference } from \"../../artifacts/references\"\nimport type { Principal } from \"../../auth\"\nimport { isFileRef } from \"../../blob-storage\"\nimport { type ArtifactLatestVersion, ArtifactStorageError } from \"./errors\"\nimport type {\n ArtifactFile,\n ArtifactFrameGrantRecord,\n ArtifactFrameTarget,\n ArtifactKind,\n ArtifactRecord,\n ArtifactStateEntry,\n ArtifactVersionRecord,\n} from \"./types\"\n\n// Rows arrive from providers with camelCase keys. JSON columns may arrive parsed (jsonb) or as text\n// (SQLite), and timestamps as `Date` or ISO text. A row that does not read back as a valid record\n// fails closed rather than rendering something the store never held.\n\ntype Row = { readonly [column: string]: unknown }\n\nexport function parseArtifactRow(row: Row): ArtifactRecord {\n const id = text(row.id, \"id\", \"artifact\")\n const where = `artifact '${id}'`\n const kind = row.kind\n if (!isArtifactKind(kind)) throw corrupt(where, \"kind is not an artifact kind\")\n return {\n projectId: text(row.projectId, \"projectId\", where),\n id,\n kind,\n title: text(row.title, \"title\", where),\n owner: principal(row.ownerPrincipalType, row.ownerPrincipalId, \"owner\", where),\n latestVersion: positiveInteger(row.latestVersion, \"latestVersion\", where),\n createdAt: date(row.createdAt, \"createdAt\", where),\n updatedAt: date(row.updatedAt, \"updatedAt\", where),\n }\n}\n\nexport function parseArtifactVersionRow(row: Row): ArtifactVersionRecord {\n const artifactId = text(row.artifactId, \"artifactId\", \"artifact version\")\n const version = positiveInteger(row.version, \"version\", `artifact '${artifactId}'`)\n const where = `artifact '${artifactId}' version ${version}`\n const originThreadId = row.originThreadId\n const originRunId = row.originRunId\n if ((originThreadId == null) !== (originRunId == null)) {\n throw corrupt(where, \"origin needs both a thread and a run\")\n }\n return {\n projectId: text(row.projectId, \"projectId\", where),\n artifactId,\n version,\n title: text(row.title, \"title\", where),\n entry: text(row.entry, \"entry\", where),\n files: files(json(row.files, \"files\", where), where),\n outline: outline(json(row.outline, \"outline\", where), where),\n references: references(json(row.refs, \"refs\", where), where),\n author: principal(row.authorPrincipalType, row.authorPrincipalId, \"author\", where),\n ...(originThreadId == null\n ? {}\n : {\n origin: {\n threadId: text(originThreadId, \"originThreadId\", where),\n runId: text(originRunId, \"originRunId\", where),\n },\n }),\n createdAt: date(row.createdAt, \"createdAt\", where),\n }\n}\n\n/** Targets are checked one by one: they decide what a frame may show from other artifacts. */\nexport function parseArtifactFrameGrantRow(row: Row): ArtifactFrameGrantRecord {\n const artifactId = text(row.artifactId, \"artifactId\", \"artifact frame grant\")\n const where = `frame grant for artifact '${artifactId}'`\n return {\n projectId: text(row.projectId, \"projectId\", where),\n tokenHash: text(row.tokenHash, \"tokenHash\", where),\n artifactId,\n version: positiveInteger(row.version, \"version\", where),\n targets: frameTargets(json(row.targets, \"targets\", where), where),\n createdAt: date(row.createdAt, \"createdAt\", where),\n expiresAt: date(row.expiresAt, \"expiresAt\", where),\n }\n}\n\nexport function parseArtifactStateRow(row: Row): ArtifactStateEntry {\n const key = text(row.key, \"key\", \"artifact state\")\n const where = `artifact state '${key}'`\n const sizeBytes = Number(row.sizeBytes)\n if (!Number.isSafeInteger(sizeBytes) || sizeBytes < 0) {\n throw corrupt(where, \"sizeBytes is not a byte count\")\n }\n return {\n key,\n value: text(row.value, \"value\", where),\n sizeBytes,\n updatedAt: date(row.updatedAt, \"updatedAt\", where),\n }\n}\n\n/** A value's UTF-8 bytes, which a reader's state limits count. */\nexport function artifactStateBytes(value: string): number {\n return new TextEncoder().encode(value).byteLength\n}\n\n/**\n * Throws `artifact_state_full` when a value would take a reader past `ARTIFACT_STATE_LIMITS`.\n * `others` is what the reader keeps under every other key, so replacing a value counts once.\n */\nexport function checkArtifactStateWrite(input: {\n readonly key: string\n readonly valueBytes: number\n readonly others: { readonly keys: number; readonly bytes: number }\n}): void {\n const limits = ARTIFACT_STATE_LIMITS\n if (input.valueBytes > limits.maxValueBytes) {\n throw artifactStorageErrors.stateFull(\n `[Sixb] '${input.key}' is ${kilobytes(input.valueBytes)}; a page keeps at most ${kilobytes(limits.maxValueBytes)} under one key.`\n )\n }\n if (input.others.keys + 1 > limits.maxKeys) {\n throw artifactStorageErrors.stateFull(\n `[Sixb] A page keeps at most ${limits.maxKeys} keys for each reader: delete one before keeping '${input.key}'.`\n )\n }\n if (input.others.bytes + input.valueBytes > limits.maxBytes) {\n throw artifactStorageErrors.stateFull(\n `[Sixb] A page keeps at most ${kilobytes(limits.maxBytes)} for each reader; '${input.key}' would take it to ${kilobytes(input.others.bytes + input.valueBytes)}.`\n )\n }\n}\n\nfunction kilobytes(bytes: number): string {\n return `${Math.ceil(bytes / 1024).toLocaleString(\"en-US\")} KB`\n}\n\n/** The errors every provider raises, with one wording. */\nexport const artifactStorageErrors = {\n exists: (id: string) =>\n new ArtifactStorageError(\"artifact_exists\", `[Sixb] Artifact '${id}' already exists.`),\n notFound: (id: string) =>\n new ArtifactStorageError(\"artifact_not_found\", `[Sixb] Artifact '${id}' was not found.`),\n kindMismatch: (id: string, kind: ArtifactKind, requested: ArtifactKind) =>\n new ArtifactStorageError(\n \"artifact_kind_mismatch\",\n `[Sixb] Artifact '${id}' is a ${kind}; it cannot take a ${requested} version.`\n ),\n moved: (id: string, baseVersion: number, latest: ArtifactLatestVersion) =>\n new ArtifactStorageError(\n \"artifact_moved\",\n `[Sixb] Artifact '${id}' is at version ${latest.version}, not version ${baseVersion}, which this publish was based on.`,\n latest\n ),\n stateFull: (message: string) => new ArtifactStorageError(\"artifact_state_full\", message),\n}\n\nfunction files(value: unknown, where: string): ArtifactFile[] {\n if (!Array.isArray(value)) throw corrupt(where, \"files is not a list\")\n return value.map((entry) => {\n if (!isObject(entry) || typeof entry.path !== \"string\" || !isFileRef(entry.file)) {\n throw corrupt(where, \"a file entry is not a path and a file reference\")\n }\n return { path: entry.path, file: entry.file }\n })\n}\n\nfunction outline(value: unknown, where: string): ArtifactOutline {\n if (!isObject(value) || !isArtifactKind(value.kind)) {\n throw corrupt(where, \"outline does not name an artifact kind\")\n }\n return value as unknown as ArtifactOutline\n}\n\nfunction references(value: unknown, where: string): ArtifactReference[] {\n if (!Array.isArray(value)) throw corrupt(where, \"references is not a list\")\n return value.map((entry) => {\n if (\n !isObject(entry) ||\n typeof entry.address !== \"string\" ||\n (entry.as !== \"embed\" && entry.as !== \"link\") ||\n typeof entry.at !== \"string\" ||\n !Number.isSafeInteger(entry.resolvedVersion) ||\n (entry.resolvedVersion as number) < 1\n ) {\n throw corrupt(where, \"a reference is not an address, a verb, a place, and a version\")\n }\n return {\n address: entry.address,\n as: entry.as,\n at: entry.at,\n resolvedVersion: entry.resolvedVersion as number,\n }\n })\n}\n\nfunction frameTargets(value: unknown, where: string): ArtifactFrameTarget[] {\n if (!Array.isArray(value)) throw corrupt(where, \"targets is not a list\")\n return value.map((entry) => {\n if (\n !isObject(entry) ||\n typeof entry.address !== \"string\" ||\n typeof entry.artifactId !== \"string\" ||\n !Number.isSafeInteger(entry.version) ||\n (entry.version as number) < 1\n ) {\n throw corrupt(where, \"a target is not an address, an artifact, and a version\")\n }\n return {\n address: entry.address,\n artifactId: entry.artifactId,\n version: entry.version as number,\n }\n })\n}\n\nconst PRINCIPAL_TYPES: ReadonlySet<string> = new Set([\"user\", \"serviceAccount\", \"system\"])\n\nfunction principal(type: unknown, id: unknown, column: string, where: string): Principal {\n if (typeof type !== \"string\" || !PRINCIPAL_TYPES.has(type)) {\n throw corrupt(where, `${column} is not a principal`)\n }\n return { type: type as Principal[\"type\"], id: text(id, column, where) }\n}\n\nfunction json(value: unknown, column: string, where: string): unknown {\n if (typeof value !== \"string\") return value\n try {\n return JSON.parse(value)\n } catch {\n throw corrupt(where, `${column} is not JSON`)\n }\n}\n\nfunction text(value: unknown, column: string, where: string): string {\n if (typeof value !== \"string\" || value.length === 0) throw corrupt(where, `${column} is not text`)\n return value\n}\n\nfunction positiveInteger(value: unknown, column: string, where: string): number {\n const number = typeof value === \"bigint\" ? Number(value) : value\n if (typeof number !== \"number\" || !Number.isSafeInteger(number) || number < 1) {\n throw corrupt(where, `${column} is not a positive integer`)\n }\n return number\n}\n\nfunction date(value: unknown, column: string, where: string): Date {\n const parsed = value instanceof Date || typeof value === \"string\" ? new Date(value) : null\n if (!parsed || !Number.isFinite(parsed.getTime())) throw corrupt(where, `${column} is not a date`)\n return parsed\n}\n\nfunction isObject(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value)\n}\n\nfunction corrupt(where: string, reason: string): Error {\n return new Error(`[Sixb] Stored ${where} is invalid: ${reason}.`)\n}\n",
11
+ "import { isFileRef } from \"../../blob-storage\"\nimport type { FileDownloadGrantRecord } from \"./types\"\n\n/**\n * Rebuilds a grant from a provider row with camelCase keys. `file` may arrive parsed (jsonb) or\n * as text (SQLite), and timestamps as `Date` or ISO text. Fails closed on corruption: a grant that\n * cannot be read must not serve a file.\n */\nexport function parseFileDownloadGrantRow(row: {\n readonly [column: string]: unknown\n}): FileDownloadGrantRecord {\n const id = text(row.id, \"id\", String(row.id))\n const file = typeof row.file === \"string\" ? JSON.parse(row.file) : row.file\n if (!isFileRef(file)) throw corrupt(id, \"file is not a file reference\")\n\n return {\n id,\n projectId: text(row.projectId, \"projectId\", id),\n tokenHash: text(row.tokenHash, \"tokenHash\", id),\n file,\n executionId: text(row.executionId, \"executionId\", id),\n createdAt: date(row.createdAt, \"createdAt\", id),\n expiresAt: date(row.expiresAt, \"expiresAt\", id),\n ...(row.revokedAt == null ? {} : { revokedAt: date(row.revokedAt, \"revokedAt\", id) }),\n }\n}\n\nexport function cloneFileDownloadGrantRecord(\n record: FileDownloadGrantRecord\n): FileDownloadGrantRecord {\n return structuredClone(record)\n}\n\nfunction text(value: unknown, column: string, id: string): string {\n if (typeof value !== \"string\" || value.length === 0) throw corrupt(id, `${column} is not text`)\n return value\n}\n\nfunction date(value: unknown, column: string, id: string): Date {\n const parsed = value instanceof Date || typeof value === \"string\" ? new Date(value) : null\n if (!parsed || !Number.isFinite(parsed.getTime())) throw corrupt(id, `${column} is not a date`)\n return parsed\n}\n\nfunction corrupt(id: string, reason: string): Error {\n return new Error(`[Sixb] Stored file download grant '${id}' is invalid: ${reason}.`)\n}\n",
12
+ "import type { PipelineRunRecord, QueuePipelineRunInput } from \"./types\"\n\nexport function canRequeuePipelineRunAfterEnqueueFailure(\n existing: PipelineRunRecord,\n input: QueuePipelineRunInput\n): boolean {\n return (\n existing.status === \"failed\" &&\n existing.error?.code === \"queue.enqueue_failed\" &&\n existing.error.retryable &&\n existing.executionId === input.executionId &&\n existing.pipelineId === input.pipelineId\n )\n}\n",
13
+ "import type { QueueSyncRunInput, SyncRunRecord } from \"./types\"\n\nexport function canRequeueSyncRunAfterEnqueueFailure(\n existing: SyncRunRecord,\n input: QueueSyncRunInput\n): boolean {\n return (\n existing.status === \"failed\" &&\n existing.error?.code === \"queue.enqueue_failed\" &&\n existing.error.retryable &&\n existing.executionId === input.executionId &&\n existing.syncId === input.syncId &&\n existing.datasetId === input.datasetId &&\n existing.mode === input.mode &&\n existing.expectedLatestVersionId === input.expectedLatestVersionId &&\n existing.commitMessage === input.commitMessage\n )\n}\n",
14
+ "import { StorageTransactionError } from \"./errors\"\nimport { createObjectOperationScope } from \"./operation-scope\"\nimport type { Storage } from \"./types\"\n\ntype ObjectLike = Record<PropertyKey, unknown>\n\nexport function createTransactionStorageProxy<T extends Storage>(\n target: T,\n isActive: () => boolean\n): T {\n const proxies = new WeakMap<object, object>()\n const objectStorage = createObjectOperationScope(target.objects, {\n assertAvailable: () => assertTransactionActive(isActive),\n run: async <TResult>(operation: () => Promise<TResult> | TResult): Promise<TResult> => {\n assertTransactionActive(isActive)\n return operation()\n },\n })\n\n const wrap = <TValue extends object>(value: TValue): TValue => {\n const existing = proxies.get(value)\n if (existing) return existing as TValue\n\n const proxy = new Proxy(value as ObjectLike, {\n // The guard runs on property access and on call. Its purpose is to fail fast when a\n // transaction handle (`tx`) leaks past the transaction's lifetime — using it afterward is a\n // bug, not a recoverable state. Overhead is bounded: only the storage namespaces reachable\n // from `tx` are wrapped (a handful), not the row/link data graph, and never per-record.\n get(current, property, receiver) {\n assertTransactionActive(isActive)\n const result =\n current === target && property === \"objects\"\n ? objectStorage\n : Reflect.get(current, property, receiver)\n if (typeof result === \"function\") {\n return (...args: unknown[]) => {\n assertTransactionActive(isActive)\n return result.apply(current, args)\n }\n }\n if (result && typeof result === \"object\") {\n return wrap(result)\n }\n return result\n },\n })\n\n proxies.set(value, proxy)\n return proxy as TValue\n }\n\n return wrap(target)\n}\n\nexport function assertTransactionActive(isActive: () => boolean): void {\n if (!isActive()) {\n throw new StorageTransactionError(\n \"[Sixb] Transaction storage cannot be used after transaction completion.\",\n { code: \"transaction_inactive\" }\n )\n }\n}\n\nexport function throwNestedStorageTransaction(): never {\n throw new StorageTransactionError(\"[Sixb] Nested storage transactions are not supported yet.\", {\n code: \"nested_transaction\",\n })\n}\n"
15
+ ],
16
+ "mappings": "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",
17
+ "debugId": "4E442F782CC107BF64756E2164756E21",
18
+ "names": []
19
+ }
@@ -0,0 +1,211 @@
1
+ // @bun
2
+ import {
3
+ LakeStorageError2
4
+ } from "./chunk-65abf64x.js";
5
+
6
+ // src/lake-storage/lineage.ts
7
+ function lineageColumn(lineage, column) {
8
+ return Object.hasOwn(lineage.columns, column) ? lineage.columns[column] : undefined;
9
+ }
10
+ function isUnknownLineage(lineage) {
11
+ return "unknown" in lineage;
12
+ }
13
+ function versionLineage(version, provider) {
14
+ const stored = version.lineage;
15
+ const subject = version.versionId === undefined ? `a version of '${version.datasetId}'` : `version '${version.versionId}' of '${version.datasetId}'`;
16
+ if (stored === undefined) {
17
+ if (provider.recordsLineage !== true) {
18
+ return {
19
+ unknown: `${subject} recorded no column lineage, and its lake provider does not declare that it records lineage`
20
+ };
21
+ }
22
+ return version.producer?.kind === "pipeline" ? { unknown: `${subject} recorded no column lineage` } : ownColumns(version.schema);
23
+ }
24
+ return isDatasetVersionLineage(stored) ? stored : { unknown: `${subject} records a column lineage Sixb cannot read` };
25
+ }
26
+ var COMMITTING_PROVIDER = { recordsLineage: true };
27
+ function lineageAtCommit2(input) {
28
+ const parent = input.mode === "snapshot" ? undefined : input.parent ?? undefined;
29
+ if (input.mode === "schema") {
30
+ return parent ? keptLineage(parent, input.schema) : ownColumns(input.schema);
31
+ }
32
+ const written = writtenLineage(input);
33
+ if (!written || isUnknownLineage(written) || !parent)
34
+ return written;
35
+ const kept = keptLineage(parent, input.schema);
36
+ if (isUnknownLineage(kept))
37
+ return kept;
38
+ return canonicalLineage([...written.rows, ...kept.rows], input.schema.columns.flatMap(({ name }) => {
39
+ const writtenColumn = lineageColumn(written, name);
40
+ const keptColumn = lineageColumn(kept, name);
41
+ return writtenColumn && keptColumn ? [[name, [...writtenColumn, ...keptColumn]]] : [];
42
+ }));
43
+ }
44
+ function resolveStepLineage2(step, inputs) {
45
+ if (!isDatasetColumnLineage(step)) {
46
+ throw new LakeStorageError2("[SixbLake] A pipeline step's column lineage is malformed.");
47
+ }
48
+ const inputsByDataset = new Map;
49
+ for (const input of inputs) {
50
+ const versions = inputsByDataset.get(input.datasetId);
51
+ if (versions)
52
+ versions.push(input);
53
+ else
54
+ inputsByDataset.set(input.datasetId, [input]);
55
+ }
56
+ const lineages = new Map;
57
+ const lineageOf = (version) => {
58
+ let lineage = lineages.get(version);
59
+ if (!lineage) {
60
+ lineage = versionLineage(version, COMMITTING_PROVIDER);
61
+ lineages.set(version, lineage);
62
+ }
63
+ return lineage;
64
+ };
65
+ const resolved = new Map;
66
+ const resolve = (ref) => {
67
+ const key = refKey(ref);
68
+ let result = resolved.get(key);
69
+ if (!result) {
70
+ result = resolveRef(ref, inputsByDataset.get(ref.datasetId), lineageOf);
71
+ resolved.set(key, result);
72
+ }
73
+ return result;
74
+ };
75
+ const expand = (refs) => {
76
+ const expanded = [];
77
+ for (const ref of refs) {
78
+ const result = resolve(ref);
79
+ if ("unknown" in result)
80
+ return result;
81
+ expanded.push(...result);
82
+ }
83
+ return expanded;
84
+ };
85
+ const rows = expand(step.rows);
86
+ if ("unknown" in rows)
87
+ return rows;
88
+ for (const input of inputs) {
89
+ const lineage = lineageOf(input);
90
+ if (isUnknownLineage(lineage))
91
+ return lineage;
92
+ rows.push(...lineage.rows);
93
+ }
94
+ const columns = [];
95
+ for (const [column, refs] of Object.entries(step.columns)) {
96
+ const values = expand(refs);
97
+ if ("unknown" in values)
98
+ return values;
99
+ columns.push([column, values]);
100
+ }
101
+ return canonicalLineage(rows, columns);
102
+ }
103
+ function resolveRef(ref, versions, lineageOf) {
104
+ if (!versions) {
105
+ return { unknown: `a pipeline step read '${ref.datasetId}' without recording which version` };
106
+ }
107
+ const refs = [ref];
108
+ for (const version of versions) {
109
+ const lineage = lineageOf(version);
110
+ if (isUnknownLineage(lineage))
111
+ return lineage;
112
+ const values = lineageColumn(lineage, ref.column);
113
+ if (!values && version.schema.columns.some(({ name }) => name === ref.column)) {
114
+ const subject = `version '${version.versionId}' of '${version.datasetId}'`;
115
+ return { unknown: `${subject} recorded no lineage for column '${ref.column}'` };
116
+ }
117
+ refs.push(...values ?? []);
118
+ }
119
+ return refs;
120
+ }
121
+ function sameLineage(left, right) {
122
+ return lineageKey(left) === lineageKey(right);
123
+ }
124
+ function lineageKey(lineage) {
125
+ if (isUnknownLineage(lineage))
126
+ return "unknown";
127
+ const canonical = canonicalLineage(lineage.rows, Object.entries(lineage.columns));
128
+ return JSON.stringify([canonical.rows, Object.entries(canonical.columns)]);
129
+ }
130
+ function keptLineage(parent, schema) {
131
+ const lineage = versionLineage(parent, COMMITTING_PROVIDER);
132
+ if (isUnknownLineage(lineage))
133
+ return lineage;
134
+ const parentColumns = new Set(parent.schema.columns.map(({ name }) => name));
135
+ return canonicalLineage(lineage.rows, schema.columns.flatMap(({ name }) => {
136
+ const values = lineageColumn(lineage, name);
137
+ if (values)
138
+ return [[name, values]];
139
+ return parentColumns.has(name) ? [] : [[name, []]];
140
+ }));
141
+ }
142
+ function writtenLineage(input) {
143
+ const { written } = input;
144
+ if (written === undefined) {
145
+ return input.producer?.kind === "pipeline" ? undefined : ownColumns(input.schema);
146
+ }
147
+ if (!isDatasetVersionLineage(written)) {
148
+ throw new LakeStorageError2("[SixbLake] The column lineage passed to the write is malformed.");
149
+ }
150
+ if (isUnknownLineage(written))
151
+ return { unknown: written.unknown };
152
+ return canonicalLineage(written.rows, input.schema.columns.flatMap(({ name }) => {
153
+ const values = lineageColumn(written, name);
154
+ return values ? [[name, values]] : [];
155
+ }));
156
+ }
157
+ function ownColumns(schema) {
158
+ return { rows: [], columns: Object.fromEntries(schema.columns.map(({ name }) => [name, []])) };
159
+ }
160
+ function canonicalLineage(rows, columns) {
161
+ const canonicalRows = canonicalRefs(rows);
162
+ const inRows = new Set(canonicalRows.map(refKey));
163
+ const sortedColumns = [...columns].sort(([left], [right]) => compare(left, right));
164
+ return {
165
+ rows: canonicalRows,
166
+ columns: Object.fromEntries(sortedColumns.map(([column, refs]) => [column, canonicalRefs(refs, inRows)]))
167
+ };
168
+ }
169
+ function canonicalRefs(refs, exclude) {
170
+ if (refs.length === 0)
171
+ return [];
172
+ const unique = new Map;
173
+ for (const { datasetId, column } of refs) {
174
+ const key = refKey({ datasetId, column });
175
+ if (!exclude?.has(key))
176
+ unique.set(key, { datasetId, column });
177
+ }
178
+ return [...unique.entries()].sort(([left], [right]) => compare(left, right)).map(([, ref]) => ref);
179
+ }
180
+ function refKey(ref) {
181
+ return `${ref.datasetId}\x00${ref.column}`;
182
+ }
183
+ function compare(left, right) {
184
+ return left < right ? -1 : left > right ? 1 : 0;
185
+ }
186
+ function isDatasetVersionLineage(value) {
187
+ if (typeof value !== "object" || value === null)
188
+ return false;
189
+ if ("unknown" in value)
190
+ return typeof value.unknown === "string";
191
+ return isDatasetColumnLineage(value);
192
+ }
193
+ function isDatasetColumnLineage(value) {
194
+ if (typeof value !== "object" || value === null)
195
+ return false;
196
+ if (!("rows" in value) || !isRefs(value.rows))
197
+ return false;
198
+ if (!("columns" in value))
199
+ return false;
200
+ const { columns } = value;
201
+ if (typeof columns !== "object" || columns === null || Array.isArray(columns))
202
+ return false;
203
+ return Object.values(columns).every(isRefs);
204
+ }
205
+ function isRefs(value) {
206
+ return Array.isArray(value) && value.every((ref) => typeof ref === "object" && ref !== null && ("datasetId" in ref) && typeof ref.datasetId === "string" && ("column" in ref) && typeof ref.column === "string");
207
+ }
208
+
209
+ export { lineageColumn, isUnknownLineage, versionLineage, COMMITTING_PROVIDER, lineageAtCommit2, resolveStepLineage2, sameLineage };
210
+
211
+ //# debugId=1477BA1D87E3A4A264756E2164756E21
@@ -0,0 +1,10 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/lake-storage/lineage.ts"],
4
+ "sourcesContent": [
5
+ "import type { DatasetSchema } from \"../datasets\"\nimport { LakeStorageError } from \"./errors\"\nimport type {\n DatasetColumnLineage,\n DatasetColumnRef,\n DatasetProducer,\n DatasetUnknownLineage,\n DatasetVersion,\n DatasetVersionLineage,\n DatasetVersionMode,\n} from \"./types\"\n\n/**\n * Resolved column lineage: each dataset version records every dataset column its values come\n * from, across every upstream step and every row it keeps from its parent. Classifying a version\n * reads only its own record, so the lake may drop older versions without changing any markings.\n *\n * Writers resolve the lineage of the rows they add (`resolveStepLineage`), and providers merge in\n * what the version keeps of its parent when they commit it (`lineageAtCommit`).\n *\n * A version that records no lineage was written before Sixb recorded it, or by a pipeline write\n * that passed none. Such a pipeline version could hold anything; any other one holds only what its\n * own columns declare. A version computed from, or keeping rows of, a version whose lineage is\n * unknown records `{ unknown }`, naming where it was lost.\n */\n\n/** The value dependencies of one column, or undefined when the lineage does not list it. */\nexport function lineageColumn(\n lineage: DatasetColumnLineage,\n column: string\n): readonly DatasetColumnRef[] | undefined {\n // An own-property check: a column named like an Object.prototype member is not listed.\n return Object.hasOwn(lineage.columns, column) ? lineage.columns[column] : undefined\n}\n\nexport function isUnknownLineage(lineage: DatasetVersionLineage): lineage is DatasetUnknownLineage {\n return \"unknown\" in lineage\n}\n\n/** What a version records about its lineage, before or after it is committed. */\nexport type LineageRecord = Pick<\n DatasetVersion,\n \"datasetId\" | \"schema\" | \"producer\" | \"lineage\"\n> & {\n readonly versionId?: string\n}\n\n/**\n * The lineage a version stands for, with the rules for versions that record none applied. A\n * stored value that is not a lineage is unknown: reading it as absent could declassify it.\n *\n * Only a provider that declares `recordsLineage` stores lineage on every version it commits, so\n * only its versions without lineage are known to predate it. Any other provider may have dropped\n * the lineage it was given, and a version of it that records none is unknown, whatever wrote it.\n *\n * Reading no other version is what makes the rules approximate for versions written before\n * Sixb recorded lineage: one written outside a pipeline (a sync, an ingestion, a schema change)\n * on top of a pipeline version holds that version's rows, yet reads as its own columns only.\n * Treating every such version as unknown instead would classify every older sync dataset with\n * every marking, for good, since a merge keeps its parent's rows.\n */\nexport function versionLineage(\n version: LineageRecord,\n provider: { readonly recordsLineage?: boolean }\n): DatasetVersionLineage {\n const stored: unknown = version.lineage\n const subject =\n version.versionId === undefined\n ? `a version of '${version.datasetId}'`\n : `version '${version.versionId}' of '${version.datasetId}'`\n\n if (stored === undefined) {\n if (provider.recordsLineage !== true) {\n return {\n unknown: `${subject} recorded no column lineage, and its lake provider does not declare that it records lineage`,\n }\n }\n\n return version.producer?.kind === \"pipeline\"\n ? { unknown: `${subject} recorded no column lineage` }\n : ownColumns(version.schema)\n }\n\n return isDatasetVersionLineage(stored)\n ? stored\n : { unknown: `${subject} records a column lineage Sixb cannot read` }\n}\n\n/**\n * What a provider committing a version, or a pipeline step resolving the lineage it passes to one,\n * reads its own versions as. Whatever a provider that does not record lineage commits stays\n * without lineage, so it is classified as unknown regardless.\n */\nexport const COMMITTING_PROVIDER = { recordsLineage: true } as const\n\nexport interface LineageAtCommitInput {\n readonly mode: DatasetVersionMode\n /** Columns of the version being committed. */\n readonly schema: DatasetSchema\n readonly producer?: DatasetProducer\n /** The lineage the writer passed, as `BeginDatasetWriteInput.lineage`. */\n readonly written?: DatasetVersionLineage\n /**\n * The dataset's latest version, which an append, a merge, or a schema change keeps the rows of.\n * A snapshot replaces it, so it is ignored for one.\n */\n readonly parent?: Pick<\n DatasetVersion,\n \"datasetId\" | \"versionId\" | \"schema\" | \"producer\" | \"lineage\"\n > | null\n}\n\n/**\n * The lineage a provider stores on a version it commits. Every provider calls it, with the latest\n * version as `parent`, before it decides whether the commit changes anything\n * (`hasDatasetProvenanceChanges`), and stores the result as `DatasetVersion.lineage`.\n *\n * - A snapshot records what was written.\n * - An append or a merge records what was written and what its parent records, column by column.\n * - A schema change records its parent's lineage. A column it adds holds no value yet.\n *\n * Without written lineage, a pipeline write records none, which classifies the version with every\n * marking; any other write depends on its own columns only. Returns undefined when nothing is to\n * be stored.\n */\nexport function lineageAtCommit(input: LineageAtCommitInput): DatasetVersionLineage | undefined {\n const parent = input.mode === \"snapshot\" ? undefined : (input.parent ?? undefined)\n\n if (input.mode === \"schema\") {\n return parent ? keptLineage(parent, input.schema) : ownColumns(input.schema)\n }\n\n const written = writtenLineage(input)\n if (!written || isUnknownLineage(written) || !parent) return written\n\n const kept = keptLineage(parent, input.schema)\n if (isUnknownLineage(kept)) return kept\n\n return canonicalLineage(\n [...written.rows, ...kept.rows],\n input.schema.columns.flatMap(({ name }) => {\n const writtenColumn = lineageColumn(written, name)\n const keptColumn = lineageColumn(kept, name)\n return writtenColumn && keptColumn ? [[name, [...writtenColumn, ...keptColumn]] as const] : []\n })\n )\n}\n\n/**\n * Lineage of a pipeline step's output across every upstream hop: each column a step reads stands\n * for itself and for everything the input version it read records for it.\n *\n * Every output column also depends on the rows of every input version the step read, whether or\n * not it names a column of that input: `SELECT count(*) FROM rich`, or a constant selected from\n * it, reveals which rows `rich` holds, and so what decided them upstream.\n *\n * `step` is the step's own lineage, whose refs name columns of `inputs`, the input versions the\n * step read. The pipeline worker passes it for `run` steps; a SQL provider passes it for the SQL it\n * executes. The result is unknown when an input's lineage is unknown, or when a column it depends\n * on comes from a dataset none of `inputs` is a version of.\n */\nexport function resolveStepLineage(\n step: DatasetColumnLineage,\n inputs: readonly DatasetVersion[]\n): DatasetVersionLineage {\n if (!isDatasetColumnLineage(step)) {\n throw new LakeStorageError(\"[SixbLake] A pipeline step's column lineage is malformed.\")\n }\n\n const inputsByDataset = new Map<string, DatasetVersion[]>()\n for (const input of inputs) {\n const versions = inputsByDataset.get(input.datasetId)\n if (versions) versions.push(input)\n else inputsByDataset.set(input.datasetId, [input])\n }\n\n const lineages = new Map<DatasetVersion, DatasetVersionLineage>()\n const lineageOf = (version: DatasetVersion) => {\n let lineage = lineages.get(version)\n if (!lineage) {\n lineage = versionLineage(version, COMMITTING_PROVIDER)\n lineages.set(version, lineage)\n }\n return lineage\n }\n\n const resolved = new Map<string, readonly DatasetColumnRef[] | { readonly unknown: string }>()\n /** The ref and everything the input versions record for it, or why that is unknown. */\n const resolve = (ref: DatasetColumnRef) => {\n const key = refKey(ref)\n let result = resolved.get(key)\n if (!result) {\n result = resolveRef(ref, inputsByDataset.get(ref.datasetId), lineageOf)\n resolved.set(key, result)\n }\n return result\n }\n\n const expand = (refs: readonly DatasetColumnRef[]) => {\n const expanded: DatasetColumnRef[] = []\n for (const ref of refs) {\n const result = resolve(ref)\n if (\"unknown\" in result) return result\n expanded.push(...result)\n }\n return expanded\n }\n\n const rows = expand(step.rows)\n if (\"unknown\" in rows) return rows\n\n for (const input of inputs) {\n const lineage = lineageOf(input)\n if (isUnknownLineage(lineage)) return lineage\n rows.push(...lineage.rows)\n }\n\n const columns: (readonly [string, readonly DatasetColumnRef[]])[] = []\n for (const [column, refs] of Object.entries(step.columns)) {\n const values = expand(refs)\n if (\"unknown\" in values) return values\n columns.push([column, values])\n }\n\n return canonicalLineage(rows, columns)\n}\n\nfunction resolveRef(\n ref: DatasetColumnRef,\n versions: readonly DatasetVersion[] | undefined,\n lineageOf: (version: DatasetVersion) => DatasetVersionLineage\n): readonly DatasetColumnRef[] | { readonly unknown: string } {\n if (!versions) {\n return { unknown: `a pipeline step read '${ref.datasetId}' without recording which version` }\n }\n\n const refs = [ref]\n for (const version of versions) {\n const lineage = lineageOf(version)\n if (isUnknownLineage(lineage)) return lineage\n\n const values = lineageColumn(lineage, ref.column)\n // A column the input version does not have holds no value; one it does not list, anything.\n if (!values && version.schema.columns.some(({ name }) => name === ref.column)) {\n const subject = `version '${version.versionId}' of '${version.datasetId}'`\n return { unknown: `${subject} recorded no lineage for column '${ref.column}'` }\n }\n\n // The input's rows are every output column's dependencies already.\n refs.push(...(values ?? []))\n }\n\n return refs\n}\n\n/**\n * Whether two lineages classify alike: the same dependencies per column, whatever their order\n * and repetition, or both unknown.\n */\nexport function sameLineage(left: DatasetVersionLineage, right: DatasetVersionLineage): boolean {\n return lineageKey(left) === lineageKey(right)\n}\n\nfunction lineageKey(lineage: DatasetVersionLineage): string {\n if (isUnknownLineage(lineage)) return \"unknown\"\n const canonical = canonicalLineage(lineage.rows, Object.entries(lineage.columns))\n return JSON.stringify([canonical.rows, Object.entries(canonical.columns)])\n}\n\n/** What the version keeps of its parent, restricted to the columns it has. */\nfunction keptLineage(parent: LineageRecord, schema: DatasetSchema): DatasetVersionLineage {\n const lineage = versionLineage(parent, COMMITTING_PROVIDER)\n if (isUnknownLineage(lineage)) return lineage\n\n const parentColumns = new Set(parent.schema.columns.map(({ name }) => name))\n return canonicalLineage(\n lineage.rows,\n schema.columns.flatMap(({ name }) => {\n const values = lineageColumn(lineage, name)\n // A column the parent does not have holds no value in the rows it keeps.\n if (values) return [[name, values] as const]\n return parentColumns.has(name) ? [] : [[name, []] as const]\n })\n )\n}\n\nfunction writtenLineage(input: LineageAtCommitInput): DatasetVersionLineage | undefined {\n const { written } = input\n\n if (written === undefined) {\n return input.producer?.kind === \"pipeline\" ? undefined : ownColumns(input.schema)\n }\n if (!isDatasetVersionLineage(written)) {\n throw new LakeStorageError(\"[SixbLake] The column lineage passed to the write is malformed.\")\n }\n if (isUnknownLineage(written)) return { unknown: written.unknown }\n\n return canonicalLineage(\n written.rows,\n input.schema.columns.flatMap(({ name }) => {\n const values = lineageColumn(written, name)\n return values ? [[name, values] as const] : []\n })\n )\n}\n\nfunction ownColumns(schema: DatasetSchema): DatasetColumnLineage {\n return { rows: [], columns: Object.fromEntries(schema.columns.map(({ name }) => [name, []])) }\n}\n\n/**\n * Refs deduplicated and sorted, columns sorted: equal lineages store and compare alike.\n *\n * Every column depends on `rows`, so a column lists only what it depends on beyond them. Without\n * this, each hop would copy the rows of every input into every column again.\n */\nfunction canonicalLineage(\n rows: readonly DatasetColumnRef[],\n columns: Iterable<readonly [string, readonly DatasetColumnRef[]]>\n): DatasetColumnLineage {\n const canonicalRows = canonicalRefs(rows)\n const inRows = new Set(canonicalRows.map(refKey))\n const sortedColumns = [...columns].sort(([left], [right]) => compare(left, right))\n\n return {\n rows: canonicalRows,\n columns: Object.fromEntries(\n sortedColumns.map(([column, refs]) => [column, canonicalRefs(refs, inRows)])\n ),\n }\n}\n\nfunction canonicalRefs(\n refs: readonly DatasetColumnRef[],\n exclude?: ReadonlySet<string>\n): readonly DatasetColumnRef[] {\n if (refs.length === 0) return []\n\n const unique = new Map<string, DatasetColumnRef>()\n for (const { datasetId, column } of refs) {\n const key = refKey({ datasetId, column })\n if (!exclude?.has(key)) unique.set(key, { datasetId, column })\n }\n\n return [...unique.entries()].sort(([left], [right]) => compare(left, right)).map(([, ref]) => ref)\n}\n\nfunction refKey(ref: DatasetColumnRef): string {\n return `${ref.datasetId}\\u0000${ref.column}`\n}\n\nfunction compare(left: string, right: string): number {\n return left < right ? -1 : left > right ? 1 : 0\n}\n\nfunction isDatasetVersionLineage(value: unknown): value is DatasetVersionLineage {\n if (typeof value !== \"object\" || value === null) return false\n if (\"unknown\" in value) return typeof value.unknown === \"string\"\n return isDatasetColumnLineage(value)\n}\n\nfunction isDatasetColumnLineage(value: unknown): value is DatasetColumnLineage {\n if (typeof value !== \"object\" || value === null) return false\n if (!(\"rows\" in value) || !isRefs(value.rows)) return false\n if (!(\"columns\" in value)) return false\n\n const { columns } = value\n if (typeof columns !== \"object\" || columns === null || Array.isArray(columns)) return false\n return Object.values(columns).every(isRefs)\n}\n\nfunction isRefs(value: unknown): value is readonly DatasetColumnRef[] {\n return (\n Array.isArray(value) &&\n value.every(\n (ref: unknown) =>\n typeof ref === \"object\" &&\n ref !== null &&\n \"datasetId\" in ref &&\n typeof ref.datasetId === \"string\" &&\n \"column\" in ref &&\n typeof ref.column === \"string\"\n )\n )\n}\n"
6
+ ],
7
+ "mappings": "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",
8
+ "debugId": "1477BA1D87E3A4A264756E2164756E21",
9
+ "names": []
10
+ }
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  compileSelectedObjectReadScope2,
4
4
  captureSelectedObjectReadScope
5
- } from "./chunk-v4jbb3rs.js";
5
+ } from "./chunk-rap5w0x0.js";
6
6
  import {
7
7
  stableJsonStringify2
8
8
  } from "./chunk-wy0qdqfm.js";
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  eventSelectorSpec2,
4
4
  buildEventSelectorPredicate2
5
- } from "./chunk-yxd3nnqt.js";
5
+ } from "./chunk-9mab3dvg.js";
6
6
  import {
7
7
  ScheduleValidationError2,
8
8
  createCronMatcher2
@@ -377,8 +377,10 @@ function assertEventSource(source) {
377
377
  case "pipelines":
378
378
  assertNonEmpty(source.pipelineId ?? "", "event source pipelineId");
379
379
  return;
380
+ case "users":
381
+ return;
380
382
  default:
381
- throw new ScheduleValidationError2("Schedule event source must select object, link, rule, dataset, sync, or pipeline events.");
383
+ throw new ScheduleValidationError2("Schedule event source must select object, link, rule, dataset, sync, pipeline, or member events.");
382
384
  }
383
385
  }
384
386
  function defineSchedule2(id) {
@@ -516,6 +518,12 @@ function buildEventScheduleContext2(event) {
516
518
  return { ...event.payload };
517
519
  case "pipeline.run.finished":
518
520
  return { ...event.payload };
521
+ case "user.joined":
522
+ case "user.suspended":
523
+ case "user.reactivated":
524
+ case "user.invited":
525
+ case "user.profile.updated":
526
+ return { ...event.payload };
519
527
  default:
520
528
  return null;
521
529
  }
@@ -589,6 +597,13 @@ var ruleEventTypes = new Set(["rule.triggered", "rule.resolved"]);
589
597
  var datasetEventTypes = new Set(["dataset.version.committed"]);
590
598
  var syncEventTypes = new Set(["sync.run.finished"]);
591
599
  var pipelineEventTypes = new Set(["pipeline.run.finished"]);
600
+ var userEventTypes = new Set([
601
+ "user.joined",
602
+ "user.suspended",
603
+ "user.reactivated",
604
+ "user.invited",
605
+ "user.profile.updated"
606
+ ]);
592
607
  var runStatuses = new Set(["succeeded", "failed", "cancelled"]);
593
608
  var linkIdentityFields = new Set(["target.objectTypeId", "target.primaryId"]);
594
609
  function isRecord2(value) {
@@ -683,8 +698,10 @@ function assertEventSourceShape(value, path, createError) {
683
698
  assertNonEmptyString2(value.pipelineId, `${path} pipelineId`, createError);
684
699
  assertRunStatus(value.runStatus, path, createError);
685
700
  return;
701
+ case "users":
702
+ return;
686
703
  default:
687
- throw createError(`${path} must select object, link, rule, dataset, sync, or pipeline events.`);
704
+ throw createError(`${path} must select object, link, rule, dataset, sync, pipeline, or member events.`);
688
705
  }
689
706
  }
690
707
  function assertRunStatus(value, path, createError) {
@@ -730,6 +747,9 @@ function validateEventSchedule(schedule, ontology, options) {
730
747
  case "pipelines":
731
748
  validateRegisteredSource(schedule, source.pipelineId, options.registeredPipelineIds, pipelineEventTypes, "pipeline");
732
749
  return;
750
+ case "users":
751
+ validateMemberSource(schedule);
752
+ return;
733
753
  }
734
754
  }
735
755
  function validateObjectSource(schedule, objectType) {
@@ -770,6 +790,12 @@ function validateRegisteredSource(schedule, sourceId, registeredIds, supportedTy
770
790
  throw new ScheduleValidationError2(`Schedule "${schedule.id}": ${sourceKind} event sources do not support .where() conditions.`);
771
791
  }
772
792
  }
793
+ function validateMemberSource(schedule) {
794
+ validateEventTypes(schedule, userEventTypes, "member");
795
+ if (schedule.trigger.condition) {
796
+ throw new ScheduleValidationError2(`Schedule "${schedule.id}": member event sources do not support .where() conditions.`);
797
+ }
798
+ }
773
799
  function validateEventTypes(schedule, supportedTypes, sourceKind) {
774
800
  for (const type of schedule.trigger.source.types ?? []) {
775
801
  if (!supportedTypes.has(type)) {
@@ -823,4 +849,4 @@ function validateConditionPredicate(schedule, propertyIds, predicate, link) {
823
849
  }
824
850
  export { assertPredicateShape, createPropertyPredicateBuilder, createLinkPredicateBuilder, allPredicates, anyPredicates, notPredicate, defineSchedule2, eventScheduleSubscribedEventTypes2, evaluateEventSchedule2, buildEventScheduleContext2, isScheduleReference2, assertScheduleDefinition2, isScheduleDefinition2, validateSchedulesAtStartup2 };
825
851
 
826
- //# debugId=7C0C2D81ADFC7E2C64756E2164756E21
852
+ //# debugId=5FA1F6A50899183464756E2164756E21