@sixb/core 0.1.21 → 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 (1263) 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 +63 -59
  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 +14 -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/timeline.d.ts +8 -1
  28. package/dist/activity/timeline.d.ts.map +1 -1
  29. package/dist/agents/accounting.d.ts +15 -0
  30. package/dist/agents/accounting.d.ts.map +1 -0
  31. package/dist/agents/adapters.d.ts.map +1 -1
  32. package/dist/agents/agent-mail.d.ts +9 -0
  33. package/dist/agents/agent-mail.d.ts.map +1 -0
  34. package/dist/agents/api-gateway.d.ts +5 -0
  35. package/dist/agents/api-gateway.d.ts.map +1 -1
  36. package/dist/agents/approval-continuation.d.ts +23 -0
  37. package/dist/agents/approval-continuation.d.ts.map +1 -0
  38. package/dist/agents/approval-executor.d.ts +56 -0
  39. package/dist/agents/approval-executor.d.ts.map +1 -0
  40. package/dist/agents/approval-outcome.d.ts +8 -0
  41. package/dist/agents/approval-outcome.d.ts.map +1 -0
  42. package/dist/agents/approvals.d.ts +210 -0
  43. package/dist/agents/approvals.d.ts.map +1 -0
  44. package/dist/agents/authority.d.ts +10 -0
  45. package/dist/agents/authority.d.ts.map +1 -1
  46. package/dist/agents/builders.d.ts.map +1 -1
  47. package/dist/agents/cancel.d.ts +23 -0
  48. package/dist/agents/cancel.d.ts.map +1 -0
  49. package/dist/agents/child-question.d.ts +18 -0
  50. package/dist/agents/child-question.d.ts.map +1 -0
  51. package/dist/agents/children.d.ts +99 -0
  52. package/dist/agents/children.d.ts.map +1 -0
  53. package/dist/agents/context/index.js +1 -1
  54. package/dist/agents/context-compaction.d.ts.map +1 -1
  55. package/dist/agents/errors.d.ts +13 -1
  56. package/dist/agents/errors.d.ts.map +1 -1
  57. package/dist/agents/execution.d.ts +180 -14
  58. package/dist/agents/execution.d.ts.map +1 -1
  59. package/dist/agents/fork.d.ts +16 -0
  60. package/dist/agents/fork.d.ts.map +1 -0
  61. package/dist/agents/ids.d.ts +7 -0
  62. package/dist/agents/ids.d.ts.map +1 -1
  63. package/dist/agents/index.d.ts +19 -8
  64. package/dist/agents/index.d.ts.map +1 -1
  65. package/dist/agents/index.js +159 -86
  66. package/dist/agents/index.js.map +1 -1
  67. package/dist/agents/memory-execution.d.ts +57 -0
  68. package/dist/agents/memory-execution.d.ts.map +1 -0
  69. package/dist/agents/memory.d.ts +49 -0
  70. package/dist/agents/memory.d.ts.map +1 -0
  71. package/dist/agents/message.d.ts +50 -1
  72. package/dist/agents/message.d.ts.map +1 -1
  73. package/dist/agents/model-loop.d.ts +19 -0
  74. package/dist/agents/model-loop.d.ts.map +1 -1
  75. package/dist/agents/model-routing.d.ts +19 -0
  76. package/dist/agents/model-routing.d.ts.map +1 -0
  77. package/dist/agents/participants.d.ts +18 -0
  78. package/dist/agents/participants.d.ts.map +1 -0
  79. package/dist/agents/reference.d.ts.map +1 -1
  80. package/dist/agents/request.d.ts +36 -2
  81. package/dist/agents/request.d.ts.map +1 -1
  82. package/dist/agents/run-scope.d.ts +51 -0
  83. package/dist/agents/run-scope.d.ts.map +1 -0
  84. package/dist/agents/streams/index.d.ts +3 -2
  85. package/dist/agents/streams/index.d.ts.map +1 -1
  86. package/dist/agents/streams/index.js +7 -3
  87. package/dist/agents/streams/index.js.map +1 -1
  88. package/dist/agents/streams/internal.d.ts +1 -1
  89. package/dist/agents/streams/internal.d.ts.map +1 -1
  90. package/dist/agents/streams/internal.js +5 -3
  91. package/dist/agents/streams/internal.js.map +1 -1
  92. package/dist/agents/streams/protocol.d.ts +122 -3
  93. package/dist/agents/streams/protocol.d.ts.map +1 -1
  94. package/dist/agents/subagent-runs.d.ts +12 -0
  95. package/dist/agents/subagent-runs.d.ts.map +1 -0
  96. package/dist/agents/thread-access.d.ts +53 -0
  97. package/dist/agents/thread-access.d.ts.map +1 -0
  98. package/dist/agents/tool-definition.d.ts +5 -4
  99. package/dist/agents/tool-definition.d.ts.map +1 -1
  100. package/dist/agents/types.d.ts +23 -4
  101. package/dist/agents/types.d.ts.map +1 -1
  102. package/dist/agents/validation.d.ts +1 -1
  103. package/dist/agents/validation.d.ts.map +1 -1
  104. package/dist/artifacts/access.d.ts +52 -0
  105. package/dist/artifacts/access.d.ts.map +1 -0
  106. package/dist/artifacts/canvas.d.ts +92 -0
  107. package/dist/artifacts/canvas.d.ts.map +1 -0
  108. package/dist/artifacts/csv.d.ts +5 -0
  109. package/dist/artifacts/csv.d.ts.map +1 -1
  110. package/dist/artifacts/errors.d.ts +7 -2
  111. package/dist/artifacts/errors.d.ts.map +1 -1
  112. package/dist/artifacts/execution.d.ts +102 -7
  113. package/dist/artifacts/execution.d.ts.map +1 -1
  114. package/dist/artifacts/formula/check.d.ts +24 -0
  115. package/dist/artifacts/formula/check.d.ts.map +1 -0
  116. package/dist/artifacts/formula/evaluate.d.ts +32 -0
  117. package/dist/artifacts/formula/evaluate.d.ts.map +1 -0
  118. package/dist/artifacts/formula/index.d.ts +38 -0
  119. package/dist/artifacts/formula/index.d.ts.map +1 -0
  120. package/dist/artifacts/formula/parser.d.ts +67 -0
  121. package/dist/artifacts/formula/parser.d.ts.map +1 -0
  122. package/dist/artifacts/frames/assets.d.ts +11 -9
  123. package/dist/artifacts/frames/assets.d.ts.map +1 -1
  124. package/dist/artifacts/frames/entries.d.ts +19 -0
  125. package/dist/artifacts/frames/entries.d.ts.map +1 -0
  126. package/dist/artifacts/frames/grants.d.ts +6 -6
  127. package/dist/artifacts/frames/grants.d.ts.map +1 -1
  128. package/dist/artifacts/frames/index.d.ts +4 -2
  129. package/dist/artifacts/frames/index.d.ts.map +1 -1
  130. package/dist/artifacts/frames/index.js +444 -51
  131. package/dist/artifacts/frames/index.js.map +10 -8
  132. package/dist/artifacts/frames/kit.d.ts +10 -5
  133. package/dist/artifacts/frames/kit.d.ts.map +1 -1
  134. package/dist/artifacts/frames/probe.d.ts +16 -12
  135. package/dist/artifacts/frames/probe.d.ts.map +1 -1
  136. package/dist/artifacts/frames/protocol.d.ts +79 -10
  137. package/dist/artifacts/frames/protocol.d.ts.map +1 -1
  138. package/dist/artifacts/frames/runtime.d.ts +27 -9
  139. package/dist/artifacts/frames/runtime.d.ts.map +1 -1
  140. package/dist/artifacts/index.d.ts +11 -5
  141. package/dist/artifacts/index.d.ts.map +1 -1
  142. package/dist/artifacts/index.js +128 -6
  143. package/dist/artifacts/index.js.map +3 -3
  144. package/dist/artifacts/kinds.d.ts +1 -1
  145. package/dist/artifacts/kinds.d.ts.map +1 -1
  146. package/dist/artifacts/limits.d.ts +30 -0
  147. package/dist/artifacts/limits.d.ts.map +1 -1
  148. package/dist/artifacts/live-sheet.d.ts +65 -0
  149. package/dist/artifacts/live-sheet.d.ts.map +1 -0
  150. package/dist/artifacts/outline.d.ts +27 -1
  151. package/dist/artifacts/outline.d.ts.map +1 -1
  152. package/dist/artifacts/publish/index.d.ts +2 -0
  153. package/dist/artifacts/publish/index.d.ts.map +1 -1
  154. package/dist/artifacts/publish/index.js +59 -19
  155. package/dist/artifacts/publish/index.js.map +1 -1
  156. package/dist/artifacts/publish/publish.d.ts +43 -11
  157. package/dist/artifacts/publish/publish.d.ts.map +1 -1
  158. package/dist/artifacts/publish/queries.d.ts +33 -0
  159. package/dist/artifacts/publish/queries.d.ts.map +1 -0
  160. package/dist/artifacts/publish/references.d.ts +6 -3
  161. package/dist/artifacts/publish/references.d.ts.map +1 -1
  162. package/dist/artifacts/publish/validate/canvas.d.ts +18 -0
  163. package/dist/artifacts/publish/validate/canvas.d.ts.map +1 -0
  164. package/dist/artifacts/publish/validate/html.d.ts +20 -0
  165. package/dist/artifacts/publish/validate/html.d.ts.map +1 -0
  166. package/dist/artifacts/publish/validate/page.d.ts +15 -0
  167. package/dist/artifacts/publish/validate/page.d.ts.map +1 -0
  168. package/dist/artifacts/publish/validate/sheet.d.ts +11 -3
  169. package/dist/artifacts/publish/validate/sheet.d.ts.map +1 -1
  170. package/dist/artifacts/publish/validate/slides.d.ts +1 -7
  171. package/dist/artifacts/publish/validate/slides.d.ts.map +1 -1
  172. package/dist/artifacts/queries.d.ts +95 -0
  173. package/dist/artifacts/queries.d.ts.map +1 -0
  174. package/dist/artifacts/resolve.d.ts +6 -0
  175. package/dist/artifacts/resolve.d.ts.map +1 -1
  176. package/dist/artifacts/run-query.d.ts +26 -0
  177. package/dist/artifacts/run-query.d.ts.map +1 -0
  178. package/dist/artifacts/serialize-query.d.ts +12 -0
  179. package/dist/artifacts/serialize-query.d.ts.map +1 -0
  180. package/dist/artifacts/sheet-rules.d.ts +26 -0
  181. package/dist/artifacts/sheet-rules.d.ts.map +1 -0
  182. package/dist/artifacts/tones.d.ts +8 -0
  183. package/dist/artifacts/tones.d.ts.map +1 -0
  184. package/dist/artifacts/workbook.d.ts +76 -5
  185. package/dist/artifacts/workbook.d.ts.map +1 -1
  186. package/dist/auth/index.d.ts +1 -1
  187. package/dist/auth/index.d.ts.map +1 -1
  188. package/dist/auth/index.js +14 -11
  189. package/dist/auth/index.js.map +1 -1
  190. package/dist/auth/member-events.d.ts +13 -0
  191. package/dist/auth/member-events.d.ts.map +1 -0
  192. package/dist/auth/profile.d.ts +11 -0
  193. package/dist/auth/profile.d.ts.map +1 -0
  194. package/dist/auth/runtime.d.ts +31 -3
  195. package/dist/auth/runtime.d.ts.map +1 -1
  196. package/dist/auth/strategy.d.ts +3 -1
  197. package/dist/auth/strategy.d.ts.map +1 -1
  198. package/dist/auth/strategy.js +7 -3
  199. package/dist/auth/strategy.js.map +1 -1
  200. package/dist/auth/types.d.ts +30 -1
  201. package/dist/auth/types.d.ts.map +1 -1
  202. package/dist/authorization/decision.d.ts +15 -0
  203. package/dist/authorization/decision.d.ts.map +1 -1
  204. package/dist/authorization/event-visibility.d.ts +5 -1
  205. package/dist/authorization/event-visibility.d.ts.map +1 -1
  206. package/dist/authorization/grant-kinds.d.ts +2 -2
  207. package/dist/authorization/grant-kinds.d.ts.map +1 -1
  208. package/dist/authorization/index.d.ts +2 -2
  209. package/dist/authorization/index.d.ts.map +1 -1
  210. package/dist/authorization/index.js +12 -7
  211. package/dist/authorization/index.js.map +1 -1
  212. package/dist/authorization/resolve.d.ts +19 -1
  213. package/dist/authorization/resolve.d.ts.map +1 -1
  214. package/dist/authorization/run-visibility.d.ts +8 -1
  215. package/dist/authorization/run-visibility.d.ts.map +1 -1
  216. package/dist/authorization/types.d.ts +14 -0
  217. package/dist/authorization/types.d.ts.map +1 -1
  218. package/dist/bootstrap/index.js +69 -65
  219. package/dist/bootstrap/index.js.map +2 -2
  220. package/dist/{chunk-ky3j490c.js → chunk-02bzjgnt.js} +6 -6
  221. package/dist/{chunk-ky3j490c.js.map → chunk-02bzjgnt.js.map} +1 -1
  222. package/dist/{chunk-mfs23znk.js → chunk-07kkp2e1.js} +1 -1
  223. package/dist/{chunk-c1rxbz5y.js → chunk-098anw4f.js} +21 -19
  224. package/dist/chunk-098anw4f.js.map +12 -0
  225. package/dist/{chunk-z58tm0hm.js → chunk-0phpbbvm.js} +3 -3
  226. package/dist/{chunk-ere85b8y.js → chunk-0xmt5p5y.js} +116 -27
  227. package/dist/chunk-0xmt5p5y.js.map +14 -0
  228. package/dist/{chunk-t6f3tdnr.js → chunk-16a9dmfy.js} +33 -2
  229. package/dist/{chunk-t6f3tdnr.js.map → chunk-16a9dmfy.js.map} +5 -4
  230. package/dist/chunk-18sk89cg.js +47 -0
  231. package/dist/chunk-18sk89cg.js.map +10 -0
  232. package/dist/{chunk-e17zdm62.js → chunk-1t6k1avb.js} +1 -1
  233. package/dist/chunk-2626mh4m.js +693 -0
  234. package/dist/chunk-2626mh4m.js.map +19 -0
  235. package/dist/{chunk-qczk96d9.js → chunk-2adz0h75.js} +13 -4
  236. package/dist/chunk-2adz0h75.js.map +11 -0
  237. package/dist/{chunk-kge7k6ey.js → chunk-2fn60nvs.js} +2 -2
  238. package/dist/{chunk-99nd4rc1.js → chunk-2gjj5dx3.js} +5 -4
  239. package/dist/{chunk-99nd4rc1.js.map → chunk-2gjj5dx3.js.map} +3 -3
  240. package/dist/{chunk-mjddfa7k.js → chunk-3fqxbn31.js} +2 -24
  241. package/dist/{chunk-mjddfa7k.js.map → chunk-3fqxbn31.js.map} +3 -4
  242. package/dist/{chunk-y0c4e6ex.js → chunk-3gbefjg5.js} +1 -1
  243. package/dist/{chunk-5hx48dnn.js → chunk-45ngkxkp.js} +52 -31
  244. package/dist/chunk-45ngkxkp.js.map +13 -0
  245. package/dist/{chunk-cy4mbddw.js → chunk-48jezz3j.js} +1 -1
  246. package/dist/{chunk-561r0yc9.js → chunk-4b26qwbg.js} +13 -13
  247. package/dist/{chunk-561r0yc9.js.map → chunk-4b26qwbg.js.map} +1 -1
  248. package/dist/{chunk-9k93ah50.js → chunk-4f3ydv7t.js} +33 -69
  249. package/dist/chunk-4f3ydv7t.js.map +10 -0
  250. package/dist/chunk-4y26vs3v.js +97 -0
  251. package/dist/chunk-4y26vs3v.js.map +10 -0
  252. package/dist/{chunk-4as3wt1c.js → chunk-4ymrcdbm.js} +7 -3
  253. package/dist/chunk-4ymrcdbm.js.map +12 -0
  254. package/dist/{chunk-hcbyfxbe.js → chunk-5grk14e5.js} +76 -2
  255. package/dist/{chunk-hcbyfxbe.js.map → chunk-5grk14e5.js.map} +4 -3
  256. package/dist/{chunk-8frc8a4j.js → chunk-65pyhyas.js} +90 -83
  257. package/dist/chunk-65pyhyas.js.map +20 -0
  258. package/dist/{chunk-hwksyjks.js → chunk-661ezhks.js} +182 -6
  259. package/dist/chunk-661ezhks.js.map +11 -0
  260. package/dist/{chunk-447a5c0p.js → chunk-6n69k945.js} +2 -2
  261. package/dist/{chunk-0bphap9y.js → chunk-6p0pastb.js} +5 -5
  262. package/dist/{chunk-9j4jw7as.js → chunk-6rrtzea3.js} +18 -5
  263. package/dist/chunk-6rrtzea3.js.map +14 -0
  264. package/dist/{chunk-431pyp2c.js → chunk-6y0mkhex.js} +2 -2
  265. package/dist/{chunk-f4pamkt9.js → chunk-73v685wb.js} +10 -10
  266. package/dist/{chunk-f4pamkt9.js.map → chunk-73v685wb.js.map} +3 -3
  267. package/dist/{chunk-akzryx9h.js → chunk-7gr4j2eq.js} +7836 -5047
  268. package/dist/chunk-7gr4j2eq.js.map +120 -0
  269. package/dist/{chunk-bk9svbcq.js → chunk-7mc2wkre.js} +386 -86
  270. package/dist/chunk-7mc2wkre.js.map +50 -0
  271. package/dist/{chunk-6rqgmkde.js → chunk-7z5p905k.js} +335 -703
  272. package/dist/chunk-7z5p905k.js.map +22 -0
  273. package/dist/{chunk-yxd3nnqt.js → chunk-9mab3dvg.js} +26 -2
  274. package/dist/chunk-9mab3dvg.js.map +11 -0
  275. package/dist/chunk-9wr3yajk.js +42 -0
  276. package/dist/chunk-9wr3yajk.js.map +10 -0
  277. package/dist/chunk-az47zep4.js +41 -0
  278. package/dist/chunk-az47zep4.js.map +10 -0
  279. package/dist/{chunk-s7jg7pmn.js → chunk-bab05bhg.js} +1 -1
  280. package/dist/{chunk-858emn8m.js → chunk-bktev1ds.js} +14 -11
  281. package/dist/{chunk-858emn8m.js.map → chunk-bktev1ds.js.map} +3 -3
  282. package/dist/{chunk-dhcv7yxc.js → chunk-c0vk1djt.js} +5 -3
  283. package/dist/chunk-c0vk1djt.js.map +11 -0
  284. package/dist/chunk-c69nj7se.js +3 -0
  285. package/dist/{chunk-7n30ybym.js.map → chunk-c69nj7se.js.map} +1 -1
  286. package/dist/{chunk-q5e5tv4b.js → chunk-c844dkwd.js} +1 -1
  287. package/dist/{chunk-g257jwnc.js → chunk-cdk3egjj.js} +17 -4
  288. package/dist/chunk-cdk3egjj.js.map +12 -0
  289. package/dist/chunk-cswhawa2.js +113 -0
  290. package/dist/chunk-cswhawa2.js.map +10 -0
  291. package/dist/{chunk-cfj9dfbb.js → chunk-d2m879s4.js} +2 -2
  292. package/dist/{chunk-arns890k.js → chunk-d7vyc7k6.js} +2 -2
  293. package/dist/chunk-d7vyc7k6.js.map +10 -0
  294. package/dist/{chunk-q7gn29y3.js → chunk-dp0cdtj2.js} +2 -2
  295. package/dist/{chunk-6x0pqh32.js → chunk-e5wf5vz0.js} +3 -1
  296. package/dist/chunk-e5wf5vz0.js.map +10 -0
  297. package/dist/{chunk-cn0fwwhy.js → chunk-efmm01gj.js} +108 -1045
  298. package/dist/chunk-efmm01gj.js.map +18 -0
  299. package/dist/{chunk-918wwnaa.js → chunk-ezne9wc9.js} +1224 -430
  300. package/dist/chunk-ezne9wc9.js.map +71 -0
  301. package/dist/{chunk-tbc1ngpd.js → chunk-fe8zwt8b.js} +58 -12
  302. package/dist/{chunk-tbc1ngpd.js.map → chunk-fe8zwt8b.js.map} +5 -4
  303. package/dist/{chunk-br3k6qbf.js → chunk-fm62y49k.js} +1 -1
  304. package/dist/{chunk-nq6gpjt7.js → chunk-fntqb7qy.js} +30 -4
  305. package/dist/{chunk-nq6gpjt7.js.map → chunk-fntqb7qy.js.map} +5 -5
  306. package/dist/{chunk-1cc1xaf3.js → chunk-fp2kq35z.js} +26 -10
  307. package/dist/{chunk-1cc1xaf3.js.map → chunk-fp2kq35z.js.map} +5 -5
  308. package/dist/{chunk-vvxtn22d.js → chunk-g663fahq.js} +2 -2
  309. package/dist/{chunk-k43ct2ke.js → chunk-gvj5cd3b.js} +16 -9
  310. package/dist/chunk-gvj5cd3b.js.map +12 -0
  311. package/dist/{chunk-rmakanzx.js → chunk-h33shhq6.js} +5 -5
  312. package/dist/{chunk-nn5xnx3s.js → chunk-h3pbv7n8.js} +1738 -38
  313. package/dist/chunk-h3pbv7n8.js.map +48 -0
  314. package/dist/chunk-hn2r7z41.js.map +1 -1
  315. package/dist/{chunk-pbcbn83d.js → chunk-hqsp2sx4.js} +54 -8
  316. package/dist/chunk-hqsp2sx4.js.map +14 -0
  317. package/dist/{chunk-d09e3rax.js → chunk-hwarjrgf.js} +1 -1
  318. package/dist/{chunk-vf57cr4t.js → chunk-hyesv9dv.js} +1 -1
  319. package/dist/chunk-hz5d43gn.js +45 -0
  320. package/dist/chunk-hz5d43gn.js.map +10 -0
  321. package/dist/{chunk-91mg3nj9.js → chunk-j936th07.js} +86 -41
  322. package/dist/chunk-j936th07.js.map +12 -0
  323. package/dist/chunk-kcqpk9w1.js +75 -0
  324. package/dist/chunk-kcqpk9w1.js.map +10 -0
  325. package/dist/{chunk-5vems3nx.js → chunk-m2nevja0.js} +2 -2
  326. package/dist/{chunk-x9v4cx1d.js → chunk-m36fw8ft.js} +1 -1
  327. package/dist/{chunk-a40ad1ft.js → chunk-mbsbxarb.js} +1 -1
  328. package/dist/chunk-mzx71snp.js +129 -0
  329. package/dist/chunk-mzx71snp.js.map +10 -0
  330. package/dist/{chunk-6aawea28.js → chunk-n8q5j6y5.js} +1 -1
  331. package/dist/{chunk-d7dnxdep.js → chunk-n9zpx9c6.js} +4 -4
  332. package/dist/{chunk-xvsc5m8n.js → chunk-npcr0228.js} +1 -1
  333. package/dist/chunk-nydf3dbe.js +663 -0
  334. package/dist/chunk-nydf3dbe.js.map +13 -0
  335. package/dist/chunk-pdt5cw8z.js +233 -0
  336. package/dist/chunk-pdt5cw8z.js.map +11 -0
  337. package/dist/{chunk-rj69qcrd.js → chunk-pgrf64hp.js} +55 -7
  338. package/dist/chunk-pgrf64hp.js.map +12 -0
  339. package/dist/{chunk-y5tah2kf.js → chunk-q4pmvkg0.js} +1 -1
  340. package/dist/chunk-qhqgp4jf.js +1418 -0
  341. package/dist/chunk-qhqgp4jf.js.map +22 -0
  342. package/dist/{chunk-48qjhh6v.js → chunk-qx00vjrj.js} +19 -60
  343. package/dist/chunk-qx00vjrj.js.map +13 -0
  344. package/dist/{chunk-5948n82c.js → chunk-r6szek0x.js} +184 -7
  345. package/dist/chunk-r6szek0x.js.map +10 -0
  346. package/dist/{chunk-v4jbb3rs.js → chunk-rap5w0x0.js} +156 -2
  347. package/dist/chunk-rap5w0x0.js.map +10 -0
  348. package/dist/{chunk-pfp1txq2.js → chunk-sgx82nnt.js} +5 -31
  349. package/dist/{chunk-pfp1txq2.js.map → chunk-sgx82nnt.js.map} +3 -4
  350. package/dist/{chunk-bkpke1sg.js → chunk-t5608tkq.js} +3 -1
  351. package/dist/{chunk-bkpke1sg.js.map → chunk-t5608tkq.js.map} +3 -3
  352. package/dist/{chunk-29yx306f.js → chunk-tdxfsg1c.js} +507 -265
  353. package/dist/chunk-tdxfsg1c.js.map +23 -0
  354. package/dist/{chunk-d5rjr8c0.js → chunk-vabga7fk.js} +1 -1
  355. package/dist/{chunk-dhdha526.js → chunk-vhbw5sqm.js} +26 -2
  356. package/dist/chunk-vhbw5sqm.js.map +10 -0
  357. package/dist/{chunk-e6k4thh5.js → chunk-vpgwq5nf.js} +98 -12
  358. package/dist/chunk-vpgwq5nf.js.map +21 -0
  359. package/dist/{chunk-61y5xs4p.js → chunk-vyt322b6.js} +69 -50
  360. package/dist/{chunk-61y5xs4p.js.map → chunk-vyt322b6.js.map} +4 -4
  361. package/dist/chunk-waqk73p1.js +2380 -0
  362. package/dist/chunk-waqk73p1.js.map +23 -0
  363. package/dist/chunk-wsc1brye.js +27 -0
  364. package/dist/chunk-wsc1brye.js.map +10 -0
  365. package/dist/{chunk-96yw3pwd.js → chunk-y7dbmaqh.js} +28 -2
  366. package/dist/chunk-y7dbmaqh.js.map +10 -0
  367. package/dist/{chunk-6vb4st8k.js → chunk-yc9ners4.js} +120 -19
  368. package/dist/{chunk-6vb4st8k.js.map → chunk-yc9ners4.js.map} +8 -8
  369. package/dist/{chunk-dvd2fp9q.js → chunk-zbc929zg.js} +28 -4
  370. package/dist/chunk-zbc929zg.js.map +13 -0
  371. package/dist/chunk-zrvhsq7f.js +37 -0
  372. package/dist/chunk-zrvhsq7f.js.map +10 -0
  373. package/dist/datasets/write.js +5 -5
  374. package/dist/error-reporting/internal.js +3 -3
  375. package/dist/errors/catalog.d.ts +26 -0
  376. package/dist/errors/catalog.d.ts.map +1 -1
  377. package/dist/errors/internal.d.ts.map +1 -1
  378. package/dist/errors/internal.js +1 -1
  379. package/dist/events/definitions.d.ts +7 -0
  380. package/dist/events/definitions.d.ts.map +1 -1
  381. package/dist/events/execution.d.ts.map +1 -1
  382. package/dist/events/index.d.ts +2 -3
  383. package/dist/events/index.d.ts.map +1 -1
  384. package/dist/events/index.js +8 -10
  385. package/dist/events/index.js.map +1 -1
  386. package/dist/events/scope.d.ts.map +1 -1
  387. package/dist/events/scope.js +1 -1
  388. package/dist/events/selectors/builder.d.ts +12 -1
  389. package/dist/events/selectors/builder.d.ts.map +1 -1
  390. package/dist/events/selectors/index.d.ts +2 -2
  391. package/dist/events/selectors/index.d.ts.map +1 -1
  392. package/dist/events/selectors/index.js +2 -2
  393. package/dist/events/selectors/types.d.ts +19 -3
  394. package/dist/events/selectors/types.d.ts.map +1 -1
  395. package/dist/events/service.d.ts +17 -2
  396. package/dist/events/service.d.ts.map +1 -1
  397. package/dist/events/types/index.d.ts +3 -1
  398. package/dist/events/types/index.d.ts.map +1 -1
  399. package/dist/events/types/users.d.ts +63 -0
  400. package/dist/events/types/users.d.ts.map +1 -0
  401. package/dist/events/view-conditions.d.ts +34 -0
  402. package/dist/events/view-conditions.d.ts.map +1 -0
  403. package/dist/execution/agent.d.ts +15 -0
  404. package/dist/execution/agent.d.ts.map +1 -1
  405. package/dist/execution/agent.js +63 -57
  406. package/dist/execution/agent.js.map +1 -1
  407. package/dist/execution/authorization.d.ts.map +1 -1
  408. package/dist/execution/authorized-object-reader.d.ts +51 -2
  409. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  410. package/dist/execution/lineage.d.ts +7 -0
  411. package/dist/execution/lineage.d.ts.map +1 -0
  412. package/dist/execution/object-reader-ontology.d.ts +2 -2
  413. package/dist/execution/object-reader-ontology.d.ts.map +1 -1
  414. package/dist/execution/object-reader-security.d.ts +24 -3
  415. package/dist/execution/object-reader-security.d.ts.map +1 -1
  416. package/dist/execution/object-reader-users.d.ts +20 -0
  417. package/dist/execution/object-reader-users.d.ts.map +1 -0
  418. package/dist/execution/preparation.d.ts +23 -0
  419. package/dist/execution/preparation.d.ts.map +1 -0
  420. package/dist/execution/primitive.js +61 -57
  421. package/dist/execution/primitive.js.map +1 -1
  422. package/dist/execution/request.d.ts +2 -1
  423. package/dist/execution/request.d.ts.map +1 -1
  424. package/dist/execution/request.js +64 -56
  425. package/dist/execution/request.js.map +3 -3
  426. package/dist/execution/unique-lookup.d.ts +14 -0
  427. package/dist/execution/unique-lookup.d.ts.map +1 -0
  428. package/dist/execution/visible-objects.d.ts +12 -0
  429. package/dist/execution/visible-objects.d.ts.map +1 -0
  430. package/dist/http/api-routes.d.ts +17 -0
  431. package/dist/http/api-routes.d.ts.map +1 -1
  432. package/dist/http/index.js +1 -1
  433. package/dist/index.d.ts +32 -15
  434. package/dist/index.d.ts.map +1 -1
  435. package/dist/index.js +137 -126
  436. package/dist/index.js.map +1 -1
  437. package/dist/lake-storage/index.js +5 -5
  438. package/dist/materialization/errors.d.ts +25 -0
  439. package/dist/materialization/errors.d.ts.map +1 -1
  440. package/dist/materialization/event-envelopes.d.ts +5 -0
  441. package/dist/materialization/event-envelopes.d.ts.map +1 -1
  442. package/dist/materialization/index.d.ts +1 -1
  443. package/dist/materialization/index.d.ts.map +1 -1
  444. package/dist/materialization/index.js +14 -8
  445. package/dist/materialization/index.js.map +1 -1
  446. package/dist/materialization/model.d.ts +20 -2
  447. package/dist/materialization/model.d.ts.map +1 -1
  448. package/dist/materializer/edits/commit.d.ts.map +1 -1
  449. package/dist/materializer/edits/load-state.d.ts +5 -1
  450. package/dist/materializer/edits/load-state.d.ts.map +1 -1
  451. package/dist/materializer/edits/plan.d.ts.map +1 -1
  452. package/dist/materializer/edits/unique-values.d.ts +47 -0
  453. package/dist/materializer/edits/unique-values.d.ts.map +1 -0
  454. package/dist/materializer/edits/working-state.d.ts +6 -1
  455. package/dist/materializer/edits/working-state.d.ts.map +1 -1
  456. package/dist/materializer/execution/work-records.d.ts +7 -1
  457. package/dist/materializer/execution/work-records.d.ts.map +1 -1
  458. package/dist/materializer/index.js +45 -41
  459. package/dist/materializer/index.js.map +1 -1
  460. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  461. package/dist/materializer/projections/source-materialization.d.ts +1 -0
  462. package/dist/materializer/projections/source-materialization.d.ts.map +1 -1
  463. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  464. package/dist/materializer/shared/projection-run.d.ts +0 -1
  465. package/dist/materializer/shared/projection-run.d.ts.map +1 -1
  466. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  467. package/dist/models/audio/catalog.d.ts +13 -1
  468. package/dist/models/audio/catalog.d.ts.map +1 -1
  469. package/dist/models/audio/errors.d.ts +6 -1
  470. package/dist/models/audio/errors.d.ts.map +1 -1
  471. package/dist/models/audio/runtime.d.ts.map +1 -1
  472. package/dist/models/audio/speech.d.ts +8 -0
  473. package/dist/models/audio/speech.d.ts.map +1 -0
  474. package/dist/models/audio/types.d.ts +93 -0
  475. package/dist/models/audio/types.d.ts.map +1 -1
  476. package/dist/models/calls.d.ts +27 -0
  477. package/dist/models/calls.d.ts.map +1 -0
  478. package/dist/models/catalog-index.d.ts +7 -4
  479. package/dist/models/catalog-index.d.ts.map +1 -1
  480. package/dist/models/catalog.d.ts +55 -3
  481. package/dist/models/catalog.d.ts.map +1 -1
  482. package/dist/models/decision/runtime.d.ts +6 -1
  483. package/dist/models/decision/runtime.d.ts.map +1 -1
  484. package/dist/models/decision/validation.d.ts +4 -1
  485. package/dist/models/decision/validation.d.ts.map +1 -1
  486. package/dist/models/definitions.d.ts +23 -1
  487. package/dist/models/definitions.d.ts.map +1 -1
  488. package/dist/models/events.d.ts +12 -1
  489. package/dist/models/events.d.ts.map +1 -1
  490. package/dist/models/execution/binding.d.ts +3 -1
  491. package/dist/models/execution/binding.d.ts.map +1 -1
  492. package/dist/models/execution/index.d.ts +1 -0
  493. package/dist/models/execution/index.d.ts.map +1 -1
  494. package/dist/models/execution/index.js +44 -34
  495. package/dist/models/execution/index.js.map +1 -1
  496. package/dist/models/execution/model-call-accounting.d.ts.map +1 -1
  497. package/dist/models/execution/model-call-recorder.d.ts +3 -0
  498. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  499. package/dist/models/execution/usage.d.ts.map +1 -1
  500. package/dist/models/execution.d.ts +4 -2
  501. package/dist/models/execution.d.ts.map +1 -1
  502. package/dist/models/generation-types.d.ts +8 -1
  503. package/dist/models/generation-types.d.ts.map +1 -1
  504. package/dist/models/image/catalog.d.ts +13 -0
  505. package/dist/models/image/catalog.d.ts.map +1 -0
  506. package/dist/models/image/errors.d.ts +8 -0
  507. package/dist/models/image/errors.d.ts.map +1 -0
  508. package/dist/models/image/runtime.d.ts +8 -0
  509. package/dist/models/image/runtime.d.ts.map +1 -0
  510. package/dist/models/image/types.d.ts +103 -0
  511. package/dist/models/image/types.d.ts.map +1 -0
  512. package/dist/models/index.d.ts +12 -8
  513. package/dist/models/index.d.ts.map +1 -1
  514. package/dist/models/index.js +17 -7
  515. package/dist/models/index.js.map +1 -1
  516. package/dist/models/input-file.d.ts +9 -0
  517. package/dist/models/input-file.d.ts.map +1 -0
  518. package/dist/models/language-model.d.ts +13 -0
  519. package/dist/models/language-model.d.ts.map +1 -1
  520. package/dist/models/pricing.d.ts +25 -10
  521. package/dist/models/pricing.d.ts.map +1 -1
  522. package/dist/models/rate-card.d.ts +44 -6
  523. package/dist/models/rate-card.d.ts.map +1 -1
  524. package/dist/objects/conditional-writes.d.ts +37 -0
  525. package/dist/objects/conditional-writes.d.ts.map +1 -0
  526. package/dist/objects/execution.d.ts +2 -0
  527. package/dist/objects/execution.d.ts.map +1 -1
  528. package/dist/objects/index.d.ts +1 -0
  529. package/dist/objects/index.d.ts.map +1 -1
  530. package/dist/objects/index.js +68 -58
  531. package/dist/objects/index.js.map +1 -1
  532. package/dist/objects/link/authorization.d.ts +3 -0
  533. package/dist/objects/link/authorization.d.ts.map +1 -1
  534. package/dist/objects/link/endpoints.d.ts +21 -2
  535. package/dist/objects/link/endpoints.d.ts.map +1 -1
  536. package/dist/objects/link/remove.d.ts.map +1 -1
  537. package/dist/objects/link/upsert-batch.d.ts.map +1 -1
  538. package/dist/objects/link/upsert.d.ts.map +1 -1
  539. package/dist/objects/materializer-adapter.d.ts +13 -4
  540. package/dist/objects/materializer-adapter.d.ts.map +1 -1
  541. package/dist/objects/object/delete.d.ts +3 -0
  542. package/dist/objects/object/delete.d.ts.map +1 -1
  543. package/dist/objects/object/upsert-batch.d.ts.map +1 -1
  544. package/dist/objects/object/upsert.d.ts.map +1 -1
  545. package/dist/objects/query/current-user.d.ts +17 -0
  546. package/dist/objects/query/current-user.d.ts.map +1 -0
  547. package/dist/objects/query/executor.d.ts +14 -0
  548. package/dist/objects/query/executor.d.ts.map +1 -1
  549. package/dist/objects/query/index.d.ts +2 -2
  550. package/dist/objects/query/index.d.ts.map +1 -1
  551. package/dist/objects/query/index.js +49 -44
  552. package/dist/objects/query/index.js.map +1 -1
  553. package/dist/objects/query/ir.d.ts +19 -1
  554. package/dist/objects/query/ir.d.ts.map +1 -1
  555. package/dist/objects/query/matches-predicate.d.ts +9 -0
  556. package/dist/objects/query/matches-predicate.d.ts.map +1 -0
  557. package/dist/objects/query/normalize.d.ts.map +1 -1
  558. package/dist/objects/query/user-expansions.d.ts +27 -0
  559. package/dist/objects/query/user-expansions.d.ts.map +1 -0
  560. package/dist/objects/query/validate.d.ts.map +1 -1
  561. package/dist/objects/runtime-batch.d.ts +3 -1
  562. package/dist/objects/runtime-batch.d.ts.map +1 -1
  563. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  564. package/dist/objects/sdk/query-executor.d.ts +6 -0
  565. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  566. package/dist/objects/serialize.d.ts +39 -0
  567. package/dist/objects/serialize.d.ts.map +1 -0
  568. package/dist/objects/unique-violation.d.ts +22 -0
  569. package/dist/objects/unique-violation.d.ts.map +1 -0
  570. package/dist/ontology/builders.d.ts +3 -1
  571. package/dist/ontology/builders.d.ts.map +1 -1
  572. package/dist/ontology/index.d.ts +2 -2
  573. package/dist/ontology/index.d.ts.map +1 -1
  574. package/dist/ontology/index.js +11 -7
  575. package/dist/ontology/index.js.map +1 -1
  576. package/dist/ontology/internal.js +7 -5
  577. package/dist/ontology/internal.js.map +3 -3
  578. package/dist/ontology/json-schema.d.ts.map +1 -1
  579. package/dist/ontology/primitives.d.ts +3 -0
  580. package/dist/ontology/primitives.d.ts.map +1 -1
  581. package/dist/ontology/registry.d.ts +6 -0
  582. package/dist/ontology/registry.d.ts.map +1 -1
  583. package/dist/ontology/types.d.ts +9 -0
  584. package/dist/ontology/types.d.ts.map +1 -1
  585. package/dist/ontology/unique-values.d.ts +26 -0
  586. package/dist/ontology/unique-values.d.ts.map +1 -0
  587. package/dist/ontology/user-ref.d.ts +23 -0
  588. package/dist/ontology/user-ref.d.ts.map +1 -1
  589. package/dist/ontology/validation/properties.d.ts.map +1 -1
  590. package/dist/ontology/validation/schema.d.ts.map +1 -1
  591. package/dist/pipelines/index.js +43 -40
  592. package/dist/pipelines/index.js.map +1 -1
  593. package/dist/projections/internal.js +36 -33
  594. package/dist/projections/internal.js.map +1 -1
  595. package/dist/projections/registry.d.ts +4 -0
  596. package/dist/projections/registry.d.ts.map +1 -1
  597. package/dist/projections/revision.d.ts +15 -0
  598. package/dist/projections/revision.d.ts.map +1 -1
  599. package/dist/projections/run-dispatch.d.ts.map +1 -1
  600. package/dist/projections/types.d.ts +2 -0
  601. package/dist/projections/types.d.ts.map +1 -1
  602. package/dist/query.d.ts +4 -2
  603. package/dist/query.d.ts.map +1 -1
  604. package/dist/query.js +2 -2
  605. package/dist/rules/execution.d.ts.map +1 -1
  606. package/dist/runtime/ai-cost.d.ts +2 -0
  607. package/dist/runtime/ai-cost.d.ts.map +1 -1
  608. package/dist/runtime/ai-usage.d.ts +7 -0
  609. package/dist/runtime/ai-usage.d.ts.map +1 -1
  610. package/dist/runtime/host.d.ts.map +1 -1
  611. package/dist/runtime/index.d.ts +1 -1
  612. package/dist/runtime/index.d.ts.map +1 -1
  613. package/dist/runtime/internal.js +42 -38
  614. package/dist/runtime/internal.js.map +1 -1
  615. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  616. package/dist/runtime/sixb.d.ts +2 -0
  617. package/dist/runtime/sixb.d.ts.map +1 -1
  618. package/dist/runtime/types.d.ts +66 -8
  619. package/dist/runtime/types.d.ts.map +1 -1
  620. package/dist/sandboxes/index.js +7 -6
  621. package/dist/sandboxes/index.js.map +1 -1
  622. package/dist/schedules/builders.d.ts.map +1 -1
  623. package/dist/schedules/index.js +3 -3
  624. package/dist/schedules/runtime.d.ts.map +1 -1
  625. package/dist/schedules/validation.d.ts.map +1 -1
  626. package/dist/security/grants.d.ts +12 -4
  627. package/dist/security/grants.d.ts.map +1 -1
  628. package/dist/security/index.d.ts +1 -1
  629. package/dist/security/index.d.ts.map +1 -1
  630. package/dist/security/internal.js +1 -1
  631. package/dist/security/project.d.ts +4 -1
  632. package/dist/security/project.d.ts.map +1 -1
  633. package/dist/security/public.js +2 -2
  634. package/dist/security/registry.d.ts +6 -0
  635. package/dist/security/registry.d.ts.map +1 -1
  636. package/dist/security/types.d.ts +47 -9
  637. package/dist/security/types.d.ts.map +1 -1
  638. package/dist/security/validation.d.ts.map +1 -1
  639. package/dist/security/view-conditions.d.ts +37 -0
  640. package/dist/security/view-conditions.d.ts.map +1 -0
  641. package/dist/shares/execution.d.ts.map +1 -1
  642. package/dist/shares/internal.js +34 -31
  643. package/dist/shares/internal.js.map +2 -2
  644. package/dist/storage/action-runs/failure.js +2 -2
  645. package/dist/storage/action-runs/provider.js +1 -1
  646. package/dist/storage/action-runs/types.d.ts +1 -1
  647. package/dist/storage/action-runs/types.d.ts.map +1 -1
  648. package/dist/storage/agents/errors.d.ts +3 -1
  649. package/dist/storage/agents/errors.d.ts.map +1 -1
  650. package/dist/storage/agents/in-memory.d.ts +120 -3
  651. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  652. package/dist/storage/agents/index.d.ts +2 -2
  653. package/dist/storage/agents/index.d.ts.map +1 -1
  654. package/dist/storage/agents/provider.d.ts +154 -4
  655. package/dist/storage/agents/provider.d.ts.map +1 -1
  656. package/dist/storage/agents/provider.js +60 -5
  657. package/dist/storage/agents/provider.js.map +1 -1
  658. package/dist/storage/agents/types.d.ts +565 -13
  659. package/dist/storage/agents/types.d.ts.map +1 -1
  660. package/dist/storage/ai-cost/analytics.d.ts +10 -1
  661. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  662. package/dist/storage/ai-cost/groups.d.ts +9 -0
  663. package/dist/storage/ai-cost/groups.d.ts.map +1 -1
  664. package/dist/storage/ai-cost/index.d.ts +1 -1
  665. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  666. package/dist/storage/ai-cost/provider.d.ts +2 -1
  667. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  668. package/dist/storage/ai-cost/provider.js +11 -5
  669. package/dist/storage/ai-cost/provider.js.map +1 -1
  670. package/dist/storage/ai-cost/types.d.ts +14 -2
  671. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  672. package/dist/storage/ai-cost/validation.d.ts.map +1 -1
  673. package/dist/storage/ai-limits/enforcement.js +5 -4
  674. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  675. package/dist/storage/ai-limits/provider.d.ts +1 -1
  676. package/dist/storage/ai-limits/provider.d.ts.map +1 -1
  677. package/dist/storage/ai-limits/provider.js +3 -2
  678. package/dist/storage/ai-limits/provider.js.map +1 -1
  679. package/dist/storage/ai-usage/in-memory.d.ts +5 -1
  680. package/dist/storage/ai-usage/in-memory.d.ts.map +1 -1
  681. package/dist/storage/ai-usage/index.d.ts +2 -2
  682. package/dist/storage/ai-usage/index.d.ts.map +1 -1
  683. package/dist/storage/ai-usage/record.d.ts +5 -1
  684. package/dist/storage/ai-usage/record.d.ts.map +1 -1
  685. package/dist/storage/ai-usage/types.d.ts +33 -0
  686. package/dist/storage/ai-usage/types.d.ts.map +1 -1
  687. package/dist/storage/ai-usage/usage.d.ts +2 -0
  688. package/dist/storage/ai-usage/usage.d.ts.map +1 -1
  689. package/dist/storage/artifacts/errors.d.ts +12 -2
  690. package/dist/storage/artifacts/errors.d.ts.map +1 -1
  691. package/dist/storage/artifacts/in-memory.d.ts +23 -2
  692. package/dist/storage/artifacts/in-memory.d.ts.map +1 -1
  693. package/dist/storage/artifacts/index.d.ts +2 -2
  694. package/dist/storage/artifacts/index.d.ts.map +1 -1
  695. package/dist/storage/artifacts/record.d.ts +19 -2
  696. package/dist/storage/artifacts/record.d.ts.map +1 -1
  697. package/dist/storage/artifacts/types.d.ts +87 -8
  698. package/dist/storage/artifacts/types.d.ts.map +1 -1
  699. package/dist/storage/auth/in-memory/auth-storage.d.ts +3 -2
  700. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  701. package/dist/storage/auth/in-memory/users.d.ts +7 -3
  702. package/dist/storage/auth/in-memory/users.d.ts.map +1 -1
  703. package/dist/storage/auth/index.d.ts +1 -1
  704. package/dist/storage/auth/index.d.ts.map +1 -1
  705. package/dist/storage/auth/types.d.ts +40 -9
  706. package/dist/storage/auth/types.d.ts.map +1 -1
  707. package/dist/storage/connector-connections/provider.js +1 -1
  708. package/dist/storage/executions/in-memory.d.ts +2 -1
  709. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  710. package/dist/storage/executions/index.d.ts +1 -1
  711. package/dist/storage/executions/index.d.ts.map +1 -1
  712. package/dist/storage/executions/types.d.ts +15 -0
  713. package/dist/storage/executions/types.d.ts.map +1 -1
  714. package/dist/storage/file-upload-sessions/provider.js +15 -12
  715. package/dist/storage/file-upload-sessions/provider.js.map +1 -1
  716. package/dist/storage/index.d.ts +13 -11
  717. package/dist/storage/index.d.ts.map +1 -1
  718. package/dist/storage/index.js +50 -39
  719. package/dist/storage/index.js.map +1 -1
  720. package/dist/storage/internal.d.ts +2 -2
  721. package/dist/storage/internal.d.ts.map +1 -1
  722. package/dist/storage/internal.js +19 -8
  723. package/dist/storage/internal.js.map +1 -1
  724. package/dist/storage/migrations/migrate-storage.d.ts +4 -1
  725. package/dist/storage/migrations/migrate-storage.d.ts.map +1 -1
  726. package/dist/storage/migrations/prepare-unique-properties.d.ts +18 -0
  727. package/dist/storage/migrations/prepare-unique-properties.d.ts.map +1 -0
  728. package/dist/storage/objects/guard.d.ts +1 -1
  729. package/dist/storage/objects/guard.d.ts.map +1 -1
  730. package/dist/storage/objects/in-memory/conditional-reader.d.ts +5 -0
  731. package/dist/storage/objects/in-memory/conditional-reader.d.ts.map +1 -0
  732. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  733. package/dist/storage/objects/in-memory/read-scope.d.ts +3 -9
  734. package/dist/storage/objects/in-memory/read-scope.d.ts.map +1 -1
  735. package/dist/storage/objects/in-memory/read-source.d.ts +10 -1
  736. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  737. package/dist/storage/objects/in-memory/scoped-reader.d.ts +14 -0
  738. package/dist/storage/objects/in-memory/scoped-reader.d.ts.map +1 -0
  739. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  740. package/dist/storage/objects/in-memory/storage.d.ts +36 -1
  741. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  742. package/dist/storage/objects/index.d.ts +2 -2
  743. package/dist/storage/objects/index.d.ts.map +1 -1
  744. package/dist/storage/objects/read-scope.d.ts +9 -1
  745. package/dist/storage/objects/read-scope.d.ts.map +1 -1
  746. package/dist/storage/objects/types.d.ts +64 -1
  747. package/dist/storage/objects/types.d.ts.map +1 -1
  748. package/dist/storage/ontology/in-memory/index.d.ts +2 -0
  749. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  750. package/dist/storage/ontology/in-memory/materializations.d.ts +1 -0
  751. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  752. package/dist/storage/ontology/in-memory/replacement-plans.d.ts.map +1 -1
  753. package/dist/storage/ontology/in-memory/unique-values.d.ts +32 -0
  754. package/dist/storage/ontology/in-memory/unique-values.d.ts.map +1 -0
  755. package/dist/storage/ontology/index.d.ts +4 -1
  756. package/dist/storage/ontology/index.d.ts.map +1 -1
  757. package/dist/storage/ontology/materializations.d.ts +34 -1
  758. package/dist/storage/ontology/materializations.d.ts.map +1 -1
  759. package/dist/storage/ontology/provider-work.d.ts +15 -2
  760. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  761. package/dist/storage/ontology/provider.d.ts +1 -1
  762. package/dist/storage/ontology/provider.d.ts.map +1 -1
  763. package/dist/storage/ontology/provider.js +9 -4
  764. package/dist/storage/ontology/provider.js.map +1 -1
  765. package/dist/storage/ontology/unique-values.d.ts +54 -0
  766. package/dist/storage/ontology/unique-values.d.ts.map +1 -0
  767. package/dist/storage/operation-scope.d.ts +1 -1
  768. package/dist/storage/operation-scope.d.ts.map +1 -1
  769. package/dist/storage/operation-scope.js +1 -1
  770. package/dist/storage/projection-runs/in-memory.d.ts +0 -6
  771. package/dist/storage/projection-runs/in-memory.d.ts.map +1 -1
  772. package/dist/storage/projection-runs/provider.js +2 -2
  773. package/dist/storage/share-grants/provider.js +4 -3
  774. package/dist/storage/share-grants/provider.js.map +1 -1
  775. package/dist/storage/types.d.ts +2 -2
  776. package/dist/storage/types.d.ts.map +1 -1
  777. package/dist/storage/workflow-runs/provider.js +15 -12
  778. package/dist/storage/workflow-runs/provider.js.map +1 -1
  779. package/dist/syncs/index.js +42 -39
  780. package/dist/syncs/index.js.map +1 -1
  781. package/dist/testing/agent-approval-storage-contract.d.ts +17 -0
  782. package/dist/testing/agent-approval-storage-contract.d.ts.map +1 -0
  783. package/dist/testing/agent-memory-storage-contract.d.ts +12 -0
  784. package/dist/testing/agent-memory-storage-contract.d.ts.map +1 -0
  785. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  786. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  787. package/dist/testing/ai-limit-storage-contract.d.ts +0 -1
  788. package/dist/testing/ai-limit-storage-contract.d.ts.map +1 -1
  789. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
  790. package/dist/testing/ai-usage-storage-contract.d.ts.map +1 -1
  791. package/dist/testing/artifact-storage-contract.d.ts.map +1 -1
  792. package/dist/testing/auth-storage-contract.d.ts +13 -0
  793. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  794. package/dist/testing/broker-contract.d.ts +5 -0
  795. package/dist/testing/broker-contract.d.ts.map +1 -1
  796. package/dist/testing/effective-storage-contract.d.ts.map +1 -1
  797. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  798. package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -1
  799. package/dist/testing/index.d.ts +9 -5
  800. package/dist/testing/index.d.ts.map +1 -1
  801. package/dist/testing/index.js +7938 -3743
  802. package/dist/testing/index.js.map +29 -25
  803. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  804. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  805. package/dist/testing/object-conditional-read-scope-contract.d.ts +11 -0
  806. package/dist/testing/object-conditional-read-scope-contract.d.ts.map +1 -0
  807. package/dist/testing/object-query-contract.d.ts +0 -2
  808. package/dist/testing/object-query-contract.d.ts.map +1 -1
  809. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  810. package/dist/testing/projection-run-storage-contract.d.ts.map +1 -1
  811. package/dist/testing/queues-contract.d.ts +5 -0
  812. package/dist/testing/queues-contract.d.ts.map +1 -1
  813. package/dist/testing/sandboxes-contract.d.ts.map +1 -1
  814. package/dist/testing/share-grant-storage-contract.d.ts.map +1 -1
  815. package/dist/testing/share-session-storage-contract.d.ts.map +1 -1
  816. package/dist/testing/unique-values-contract.d.ts +21 -0
  817. package/dist/testing/unique-values-contract.d.ts.map +1 -0
  818. package/dist/testing/webhook-execution.d.ts +0 -8
  819. package/dist/testing/webhook-execution.d.ts.map +1 -1
  820. package/dist/testing/webhook-run-storage-contract.d.ts.map +1 -1
  821. package/dist/users/execution.d.ts +40 -0
  822. package/dist/users/execution.d.ts.map +1 -0
  823. package/dist/users/index.d.ts +3 -0
  824. package/dist/users/index.d.ts.map +1 -0
  825. package/dist/webhooks/internal.js +34 -31
  826. package/dist/webhooks/internal.js.map +2 -2
  827. package/dist/workers/index.js +4 -6
  828. package/dist/workers/index.js.map +4 -4
  829. package/dist/workers/queue-worker.d.ts +0 -2
  830. package/dist/workers/queue-worker.d.ts.map +1 -1
  831. package/dist/workers/worker.d.ts +0 -2
  832. package/dist/workers/worker.d.ts.map +1 -1
  833. package/dist/workflows/builders.d.ts.map +1 -1
  834. package/dist/workflows/index.js +67 -63
  835. package/dist/workflows/index.js.map +1 -1
  836. package/dist/workflows/request.d.ts +12 -1
  837. package/dist/workflows/request.d.ts.map +1 -1
  838. package/dist/workflows/types.d.ts +6 -2
  839. package/dist/workflows/types.d.ts.map +1 -1
  840. package/dist/workflows/validation.d.ts.map +1 -1
  841. package/package.json +1 -1
  842. package/src/actions/commit-edits.ts +6 -1
  843. package/src/actions/execution.ts +42 -15
  844. package/src/actions/read-facade.ts +33 -0
  845. package/src/actions/request.ts +224 -71
  846. package/src/actions/run/context.ts +47 -1
  847. package/src/actions/run/execute.ts +13 -6
  848. package/src/actions/run/executor.ts +11 -2
  849. package/src/actions/run/normalize.ts +12 -2
  850. package/src/actions/run/phases.ts +2 -0
  851. package/src/actions/run/run-action.ts +12 -3
  852. package/src/actions/run/signals.ts +3 -9
  853. package/src/actions/run/types.ts +17 -1
  854. package/src/actions/run-authorization.ts +72 -0
  855. package/src/actions/types/context.ts +20 -3
  856. package/src/actions/validators.ts +19 -8
  857. package/src/activity/README.md +5 -2
  858. package/src/activity/timeline.ts +39 -78
  859. package/src/agents/accounting.ts +59 -0
  860. package/src/agents/adapters.ts +10 -0
  861. package/src/agents/agent-mail.ts +29 -0
  862. package/src/agents/api-gateway.ts +14 -3
  863. package/src/agents/approval-continuation.ts +48 -0
  864. package/src/agents/approval-executor.ts +318 -0
  865. package/src/agents/approval-outcome.ts +59 -0
  866. package/src/agents/approvals.ts +566 -0
  867. package/src/agents/authority.ts +24 -1
  868. package/src/agents/builders.ts +5 -3
  869. package/src/agents/cancel.ts +103 -0
  870. package/src/agents/child-question.ts +46 -0
  871. package/src/agents/children.ts +404 -0
  872. package/src/agents/context-compaction.ts +12 -0
  873. package/src/agents/errors.ts +31 -0
  874. package/src/agents/execution.ts +788 -90
  875. package/src/agents/fork.ts +158 -0
  876. package/src/agents/ids.ts +18 -6
  877. package/src/agents/index.ts +55 -0
  878. package/src/agents/memory-execution.ts +186 -0
  879. package/src/agents/memory.ts +178 -0
  880. package/src/agents/message.ts +57 -0
  881. package/src/agents/model-loop.ts +93 -6
  882. package/src/agents/model-routing.ts +193 -0
  883. package/src/agents/participants.ts +213 -0
  884. package/src/agents/reference.ts +2 -0
  885. package/src/agents/request.ts +398 -69
  886. package/src/agents/run-scope.ts +134 -0
  887. package/src/agents/streams/index.ts +5 -0
  888. package/src/agents/streams/internal.ts +1 -0
  889. package/src/agents/streams/protocol.ts +385 -7
  890. package/src/agents/subagent-runs.ts +41 -0
  891. package/src/agents/thread-access.ts +137 -0
  892. package/src/agents/tool-definition.ts +5 -3
  893. package/src/agents/types.ts +35 -10
  894. package/src/agents/validation.ts +2 -0
  895. package/src/artifacts/access.ts +125 -0
  896. package/src/artifacts/canvas.ts +369 -0
  897. package/src/artifacts/csv.ts +10 -0
  898. package/src/artifacts/errors.ts +12 -1
  899. package/src/artifacts/execution.ts +436 -36
  900. package/src/artifacts/formula/check.ts +171 -0
  901. package/src/artifacts/formula/evaluate.ts +288 -0
  902. package/src/artifacts/formula/index.ts +199 -0
  903. package/src/artifacts/formula/parser.ts +357 -0
  904. package/src/artifacts/frames/assets.ts +35 -19
  905. package/src/artifacts/frames/entries.ts +35 -0
  906. package/src/artifacts/frames/grants.ts +10 -9
  907. package/src/artifacts/frames/index.ts +8 -2
  908. package/src/artifacts/frames/kit.ts +191 -14
  909. package/src/artifacts/frames/probe.ts +66 -18
  910. package/src/artifacts/frames/protocol.ts +164 -10
  911. package/src/artifacts/frames/runtime.ts +273 -28
  912. package/src/artifacts/index.ts +66 -2
  913. package/src/artifacts/kinds.ts +1 -1
  914. package/src/artifacts/limits.ts +31 -0
  915. package/src/artifacts/live-sheet.ts +345 -0
  916. package/src/artifacts/outline.ts +34 -1
  917. package/src/artifacts/publish/index.ts +2 -0
  918. package/src/artifacts/publish/publish.ts +120 -34
  919. package/src/artifacts/publish/queries.ts +336 -0
  920. package/src/artifacts/publish/references.ts +18 -13
  921. package/src/artifacts/publish/validate/canvas.ts +118 -0
  922. package/src/artifacts/publish/validate/html.ts +78 -0
  923. package/src/artifacts/publish/validate/page.ts +65 -0
  924. package/src/artifacts/publish/validate/sheet.ts +115 -69
  925. package/src/artifacts/publish/validate/slides.ts +11 -63
  926. package/src/artifacts/queries.ts +512 -0
  927. package/src/artifacts/resolve.ts +20 -5
  928. package/src/artifacts/run-query.ts +212 -0
  929. package/src/artifacts/serialize-query.ts +25 -0
  930. package/src/artifacts/sheet-rules.ts +180 -0
  931. package/src/artifacts/tones.ts +20 -0
  932. package/src/artifacts/workbook.ts +374 -15
  933. package/src/auth/index.ts +4 -0
  934. package/src/auth/member-events.ts +114 -0
  935. package/src/auth/profile.ts +118 -0
  936. package/src/auth/runtime.ts +190 -9
  937. package/src/auth/strategy.ts +3 -0
  938. package/src/auth/types.ts +32 -0
  939. package/src/authorization/decision.ts +47 -0
  940. package/src/authorization/event-visibility.ts +17 -16
  941. package/src/authorization/grant-kinds.ts +32 -0
  942. package/src/authorization/index.ts +6 -1
  943. package/src/authorization/resolve.ts +58 -1
  944. package/src/authorization/run-visibility.ts +8 -1
  945. package/src/authorization/types.ts +14 -0
  946. package/src/errors/catalog.ts +26 -1
  947. package/src/errors/internal.ts +17 -8
  948. package/src/events/definitions.ts +26 -0
  949. package/src/events/execution.ts +43 -6
  950. package/src/events/index.ts +10 -1
  951. package/src/events/scope.ts +2 -0
  952. package/src/events/selectors/builder.ts +50 -0
  953. package/src/events/selectors/index.ts +4 -0
  954. package/src/events/selectors/types.ts +32 -1
  955. package/src/events/service.ts +55 -2
  956. package/src/events/types/index.ts +10 -0
  957. package/src/events/types/users.ts +73 -0
  958. package/src/events/view-conditions.ts +241 -0
  959. package/src/execution/agent.ts +25 -0
  960. package/src/execution/authorization.ts +70 -0
  961. package/src/execution/authorized-object-reader.ts +238 -32
  962. package/src/execution/lineage.ts +14 -0
  963. package/src/execution/object-reader-ontology.ts +11 -14
  964. package/src/execution/object-reader-security.ts +134 -10
  965. package/src/execution/object-reader-users.ts +122 -0
  966. package/src/execution/preparation.ts +78 -0
  967. package/src/execution/request.ts +2 -0
  968. package/src/execution/unique-lookup.ts +55 -0
  969. package/src/execution/visible-objects.ts +26 -0
  970. package/src/http/api-routes.ts +206 -7
  971. package/src/index.ts +99 -2
  972. package/src/materialization/errors.ts +37 -0
  973. package/src/materialization/event-envelopes.ts +11 -3
  974. package/src/materialization/index.ts +1 -0
  975. package/src/materialization/model.ts +24 -4
  976. package/src/materializer/README.md +7 -1
  977. package/src/materializer/edits/commit.ts +56 -12
  978. package/src/materializer/edits/load-state.ts +15 -7
  979. package/src/materializer/edits/operations.ts +12 -0
  980. package/src/materializer/edits/plan.ts +2 -0
  981. package/src/materializer/edits/unique-values.ts +255 -0
  982. package/src/materializer/edits/working-state.ts +8 -1
  983. package/src/materializer/execution/work-records.ts +47 -0
  984. package/src/materializer/projections/finish-run.ts +0 -1
  985. package/src/materializer/projections/replace.ts +1 -1
  986. package/src/materializer/projections/replacement-plan.ts +4 -1
  987. package/src/materializer/projections/source-materialization.ts +2 -1
  988. package/src/materializer/shared/normalize.ts +37 -6
  989. package/src/materializer/shared/projection-run.ts +1 -2
  990. package/src/materializer/telemetry/append.ts +14 -17
  991. package/src/materializer/telemetry/plan.ts +2 -0
  992. package/src/models/audio/catalog.ts +89 -10
  993. package/src/models/audio/errors.ts +18 -1
  994. package/src/models/audio/runtime.ts +10 -13
  995. package/src/models/audio/speech.ts +261 -0
  996. package/src/models/audio/types.ts +97 -0
  997. package/src/models/calls.ts +100 -0
  998. package/src/models/catalog-index.ts +21 -2
  999. package/src/models/catalog.ts +211 -35
  1000. package/src/models/decision/runtime.ts +21 -22
  1001. package/src/models/decision/validation.ts +4 -1
  1002. package/src/models/definitions.ts +57 -8
  1003. package/src/models/events.ts +72 -1
  1004. package/src/models/execution/README.md +34 -5
  1005. package/src/models/execution/binding.ts +3 -1
  1006. package/src/models/execution/embedding.ts +1 -0
  1007. package/src/models/execution/index.ts +5 -0
  1008. package/src/models/execution/model-call-accounting.ts +3 -1
  1009. package/src/models/execution/model-call-recorder.ts +29 -1
  1010. package/src/models/execution/usage.ts +8 -0
  1011. package/src/models/execution.ts +20 -22
  1012. package/src/models/generation-types.ts +8 -1
  1013. package/src/models/image/catalog.ts +89 -0
  1014. package/src/models/image/errors.ts +19 -0
  1015. package/src/models/image/runtime.ts +335 -0
  1016. package/src/models/image/types.ts +111 -0
  1017. package/src/models/index.ts +38 -4
  1018. package/src/models/{audio/file.ts → input-file.ts} +22 -13
  1019. package/src/models/language-model.ts +13 -0
  1020. package/src/models/pricing.ts +263 -42
  1021. package/src/models/rate-card.ts +161 -12
  1022. package/src/objects/authorized-ontology-view.ts +1 -0
  1023. package/src/objects/conditional-writes.ts +109 -0
  1024. package/src/objects/execution.ts +4 -0
  1025. package/src/objects/index.ts +8 -0
  1026. package/src/objects/link/authorization.ts +12 -3
  1027. package/src/objects/link/endpoints.ts +42 -11
  1028. package/src/objects/link/remove.ts +25 -10
  1029. package/src/objects/link/upsert-batch.ts +2 -0
  1030. package/src/objects/link/upsert.ts +18 -12
  1031. package/src/objects/materializer-adapter.ts +55 -18
  1032. package/src/objects/object/delete.ts +24 -7
  1033. package/src/objects/object/upsert-batch.ts +44 -14
  1034. package/src/objects/object/upsert.ts +23 -5
  1035. package/src/objects/query/current-user.ts +76 -0
  1036. package/src/objects/query/executor.ts +39 -103
  1037. package/src/objects/query/explain.ts +20 -7
  1038. package/src/objects/query/index.ts +2 -0
  1039. package/src/objects/query/ir.ts +20 -0
  1040. package/src/objects/query/links.ts +8 -0
  1041. package/src/objects/query/matches-predicate.ts +108 -0
  1042. package/src/objects/query/normalize.ts +50 -19
  1043. package/src/objects/query/scalar-values.ts +19 -3
  1044. package/src/objects/query/user-expansions.ts +65 -0
  1045. package/src/objects/query/validate.ts +248 -10
  1046. package/src/objects/runtime-batch.ts +8 -2
  1047. package/src/objects/sdk/object-set.ts +12 -1
  1048. package/src/objects/sdk/query-builder.ts +39 -8
  1049. package/src/objects/sdk/query-executor.ts +6 -0
  1050. package/src/objects/serialize.ts +79 -0
  1051. package/src/objects/unique-violation.ts +59 -0
  1052. package/src/objects/vectors/handle.ts +3 -3
  1053. package/src/ontology/builders.ts +3 -0
  1054. package/src/ontology/docs-markdown.ts +1 -0
  1055. package/src/ontology/index.ts +2 -2
  1056. package/src/ontology/json-schema.ts +4 -0
  1057. package/src/ontology/primitives.ts +21 -8
  1058. package/src/ontology/registry.ts +16 -0
  1059. package/src/ontology/types.ts +9 -0
  1060. package/src/ontology/unique-values.ts +84 -0
  1061. package/src/ontology/user-ref.ts +39 -0
  1062. package/src/ontology/validation/properties.ts +43 -0
  1063. package/src/ontology/validation/schema.ts +9 -1
  1064. package/src/projections/registry.ts +16 -10
  1065. package/src/projections/revision.ts +112 -45
  1066. package/src/projections/run-dispatch.ts +38 -25
  1067. package/src/projections/types.ts +2 -0
  1068. package/src/query.ts +5 -0
  1069. package/src/rules/execution.ts +43 -11
  1070. package/src/runtime/ai-cost.ts +30 -0
  1071. package/src/runtime/ai-usage.ts +32 -1
  1072. package/src/runtime/host.ts +18 -1
  1073. package/src/runtime/index.ts +2 -0
  1074. package/src/runtime/resolve-definitions.ts +3 -0
  1075. package/src/runtime/sixb.ts +35 -8
  1076. package/src/runtime/types.ts +99 -9
  1077. package/src/schedules/builders.ts +3 -1
  1078. package/src/schedules/runtime.ts +6 -0
  1079. package/src/schedules/validation.ts +23 -1
  1080. package/src/security/README.md +62 -0
  1081. package/src/security/grants.ts +155 -10
  1082. package/src/security/index.ts +3 -1
  1083. package/src/security/project.ts +6 -1
  1084. package/src/security/registry.ts +32 -7
  1085. package/src/security/types.ts +54 -9
  1086. package/src/security/validation.ts +27 -11
  1087. package/src/security/view-conditions.ts +215 -0
  1088. package/src/shares/execution.ts +43 -10
  1089. package/src/storage/action-runs/types.ts +2 -0
  1090. package/src/storage/agents/errors.ts +3 -0
  1091. package/src/storage/agents/in-memory.ts +779 -32
  1092. package/src/storage/agents/index.ts +42 -0
  1093. package/src/storage/agents/provider.ts +733 -8
  1094. package/src/storage/agents/types.ts +620 -12
  1095. package/src/storage/ai-cost/analytics.ts +60 -7
  1096. package/src/storage/ai-cost/codec.ts +6 -1
  1097. package/src/storage/ai-cost/groups.ts +44 -1
  1098. package/src/storage/ai-cost/index.ts +1 -0
  1099. package/src/storage/ai-cost/provider.ts +2 -0
  1100. package/src/storage/ai-cost/types.ts +18 -1
  1101. package/src/storage/ai-cost/validation.ts +39 -12
  1102. package/src/storage/ai-limits/provider.ts +4 -7
  1103. package/src/storage/ai-usage/in-memory.ts +28 -1
  1104. package/src/storage/ai-usage/index.ts +9 -1
  1105. package/src/storage/ai-usage/record.ts +44 -7
  1106. package/src/storage/ai-usage/types.ts +38 -0
  1107. package/src/storage/ai-usage/usage.ts +15 -1
  1108. package/src/storage/artifacts/errors.ts +13 -1
  1109. package/src/storage/artifacts/in-memory.ts +156 -8
  1110. package/src/storage/artifacts/index.ts +6 -1
  1111. package/src/storage/artifacts/record.ts +61 -1
  1112. package/src/storage/artifacts/types.ts +92 -8
  1113. package/src/storage/auth/in-memory/auth-storage.ts +27 -2
  1114. package/src/storage/auth/in-memory/users.ts +40 -6
  1115. package/src/storage/auth/index.ts +1 -0
  1116. package/src/storage/auth/types.ts +43 -7
  1117. package/src/storage/executions/in-memory.ts +32 -0
  1118. package/src/storage/executions/index.ts +2 -0
  1119. package/src/storage/executions/types.ts +17 -0
  1120. package/src/storage/index.ts +69 -1
  1121. package/src/storage/internal.ts +9 -1
  1122. package/src/storage/migrations/migrate-storage.ts +8 -1
  1123. package/src/storage/migrations/prepare-unique-properties.ts +161 -0
  1124. package/src/storage/objects/guard.ts +7 -3
  1125. package/src/storage/objects/in-memory/conditional-reader.ts +72 -0
  1126. package/src/storage/objects/in-memory/query.ts +4 -105
  1127. package/src/storage/objects/in-memory/read-scope.ts +15 -14
  1128. package/src/storage/objects/in-memory/read-source.ts +11 -1
  1129. package/src/storage/objects/in-memory/scoped-reader.ts +243 -0
  1130. package/src/storage/objects/in-memory/selected-reader.ts +6 -231
  1131. package/src/storage/objects/in-memory/storage.ts +183 -1
  1132. package/src/storage/objects/index.ts +9 -1
  1133. package/src/storage/objects/read-scope.ts +191 -0
  1134. package/src/storage/objects/types.ts +68 -1
  1135. package/src/storage/ontology/in-memory/index.ts +3 -0
  1136. package/src/storage/ontology/in-memory/materializations.ts +35 -0
  1137. package/src/storage/ontology/in-memory/replacement-plans.ts +4 -0
  1138. package/src/storage/ontology/in-memory/unique-values.ts +62 -0
  1139. package/src/storage/ontology/index.ts +10 -0
  1140. package/src/storage/ontology/materializations.ts +35 -1
  1141. package/src/storage/ontology/provider-work.ts +76 -0
  1142. package/src/storage/ontology/provider.ts +3 -0
  1143. package/src/storage/ontology/unique-values.ts +56 -0
  1144. package/src/storage/operation-scope.ts +9 -1
  1145. package/src/storage/projection-runs/in-memory.ts +3 -35
  1146. package/src/storage/types.ts +2 -0
  1147. package/src/testing/agent-approval-storage-contract.ts +1117 -0
  1148. package/src/testing/agent-memory-storage-contract.ts +400 -0
  1149. package/src/testing/agent-storage-contract.ts +1188 -33
  1150. package/src/testing/ai-cost-storage-contract.ts +31 -1
  1151. package/src/testing/ai-limit-storage-contract.ts +9 -7
  1152. package/src/testing/ai-model-call-groups-contract.ts +76 -0
  1153. package/src/testing/ai-usage-storage-contract.ts +120 -13
  1154. package/src/testing/artifact-storage-contract.ts +338 -4
  1155. package/src/testing/auth-storage-contract.ts +550 -73
  1156. package/src/testing/broker-contract.ts +28 -23
  1157. package/src/testing/effective-storage-contract.ts +3 -8
  1158. package/src/testing/execution-storage-contract.ts +53 -0
  1159. package/src/testing/file-upload-session-storage-contract.ts +12 -24
  1160. package/src/testing/index.ts +17 -4
  1161. package/src/testing/lake-storage-contract.ts +22 -28
  1162. package/src/testing/materializer-storage-contract.ts +36 -9
  1163. package/src/testing/object-conditional-read-scope-contract.ts +634 -0
  1164. package/src/testing/object-query-contract.ts +386 -186
  1165. package/src/testing/ontology-storage-contract.ts +230 -21
  1166. package/src/testing/projection-run-storage-contract.ts +8 -18
  1167. package/src/testing/queues-contract.ts +39 -70
  1168. package/src/testing/sandboxes-contract.ts +3 -14
  1169. package/src/testing/share-grant-storage-contract.ts +13 -16
  1170. package/src/testing/share-session-storage-contract.ts +4 -14
  1171. package/src/testing/unique-values-contract.ts +907 -0
  1172. package/src/testing/webhook-execution.ts +1 -1
  1173. package/src/testing/webhook-run-storage-contract.ts +6 -9
  1174. package/src/users/execution.ts +131 -0
  1175. package/src/users/index.ts +2 -0
  1176. package/src/workers/queue-worker.ts +1 -3
  1177. package/src/workers/worker.ts +1 -3
  1178. package/src/workflows/builders.ts +6 -0
  1179. package/src/workflows/request.ts +46 -8
  1180. package/src/workflows/types.ts +6 -2
  1181. package/src/workflows/validation.ts +23 -9
  1182. package/dist/chunk-29yx306f.js.map +0 -22
  1183. package/dist/chunk-3jms7je7.js +0 -14
  1184. package/dist/chunk-3jms7je7.js.map +0 -10
  1185. package/dist/chunk-3qct2mdc.js +0 -297
  1186. package/dist/chunk-3qct2mdc.js.map +0 -12
  1187. package/dist/chunk-48qjhh6v.js.map +0 -13
  1188. package/dist/chunk-4as3wt1c.js.map +0 -12
  1189. package/dist/chunk-5948n82c.js.map +0 -10
  1190. package/dist/chunk-5hx48dnn.js.map +0 -14
  1191. package/dist/chunk-6rqgmkde.js.map +0 -29
  1192. package/dist/chunk-6x0pqh32.js.map +0 -10
  1193. package/dist/chunk-7n30ybym.js +0 -3
  1194. package/dist/chunk-7n440zgt.js +0 -261
  1195. package/dist/chunk-7n440zgt.js.map +0 -12
  1196. package/dist/chunk-7q8t23v4.js +0 -467
  1197. package/dist/chunk-7q8t23v4.js.map +0 -14
  1198. package/dist/chunk-8frc8a4j.js.map +0 -20
  1199. package/dist/chunk-918wwnaa.js.map +0 -68
  1200. package/dist/chunk-91mg3nj9.js.map +0 -12
  1201. package/dist/chunk-96yw3pwd.js.map +0 -10
  1202. package/dist/chunk-9j4jw7as.js.map +0 -14
  1203. package/dist/chunk-9k93ah50.js.map +0 -11
  1204. package/dist/chunk-9kgkfg6v.js +0 -502
  1205. package/dist/chunk-9kgkfg6v.js.map +0 -14
  1206. package/dist/chunk-akzryx9h.js.map +0 -100
  1207. package/dist/chunk-arns890k.js.map +0 -10
  1208. package/dist/chunk-bk9svbcq.js.map +0 -49
  1209. package/dist/chunk-c06hmxyy.js +0 -31
  1210. package/dist/chunk-c06hmxyy.js.map +0 -10
  1211. package/dist/chunk-c1rxbz5y.js.map +0 -12
  1212. package/dist/chunk-cn0fwwhy.js.map +0 -19
  1213. package/dist/chunk-dhcv7yxc.js.map +0 -11
  1214. package/dist/chunk-dhdha526.js.map +0 -10
  1215. package/dist/chunk-dvd2fp9q.js.map +0 -13
  1216. package/dist/chunk-e6k4thh5.js.map +0 -19
  1217. package/dist/chunk-ere85b8y.js.map +0 -15
  1218. package/dist/chunk-g257jwnc.js.map +0 -12
  1219. package/dist/chunk-hwksyjks.js.map +0 -11
  1220. package/dist/chunk-k43ct2ke.js.map +0 -12
  1221. package/dist/chunk-nn5xnx3s.js.map +0 -40
  1222. package/dist/chunk-pbcbn83d.js.map +0 -14
  1223. package/dist/chunk-pqajwytd.js +0 -68
  1224. package/dist/chunk-pqajwytd.js.map +0 -11
  1225. package/dist/chunk-qczk96d9.js.map +0 -11
  1226. package/dist/chunk-rdghfsss.js +0 -39
  1227. package/dist/chunk-rdghfsss.js.map +0 -10
  1228. package/dist/chunk-rj69qcrd.js.map +0 -11
  1229. package/dist/chunk-v4jbb3rs.js.map +0 -10
  1230. package/dist/chunk-yxd3nnqt.js.map +0 -11
  1231. package/dist/events/toStoredEvent.d.ts +0 -9
  1232. package/dist/events/toStoredEvent.d.ts.map +0 -1
  1233. package/dist/models/audio/file.d.ts +0 -9
  1234. package/dist/models/audio/file.d.ts.map +0 -1
  1235. package/src/events/toStoredEvent.ts +0 -33
  1236. /package/dist/{chunk-mfs23znk.js.map → chunk-07kkp2e1.js.map} +0 -0
  1237. /package/dist/{chunk-z58tm0hm.js.map → chunk-0phpbbvm.js.map} +0 -0
  1238. /package/dist/{chunk-e17zdm62.js.map → chunk-1t6k1avb.js.map} +0 -0
  1239. /package/dist/{chunk-kge7k6ey.js.map → chunk-2fn60nvs.js.map} +0 -0
  1240. /package/dist/{chunk-y0c4e6ex.js.map → chunk-3gbefjg5.js.map} +0 -0
  1241. /package/dist/{chunk-cy4mbddw.js.map → chunk-48jezz3j.js.map} +0 -0
  1242. /package/dist/{chunk-twe4dx8p.js → chunk-5tfev0fv.js} +0 -0
  1243. /package/dist/{chunk-twe4dx8p.js.map → chunk-5tfev0fv.js.map} +0 -0
  1244. /package/dist/{chunk-447a5c0p.js.map → chunk-6n69k945.js.map} +0 -0
  1245. /package/dist/{chunk-0bphap9y.js.map → chunk-6p0pastb.js.map} +0 -0
  1246. /package/dist/{chunk-431pyp2c.js.map → chunk-6y0mkhex.js.map} +0 -0
  1247. /package/dist/{chunk-s7jg7pmn.js.map → chunk-bab05bhg.js.map} +0 -0
  1248. /package/dist/{chunk-q5e5tv4b.js.map → chunk-c844dkwd.js.map} +0 -0
  1249. /package/dist/{chunk-cfj9dfbb.js.map → chunk-d2m879s4.js.map} +0 -0
  1250. /package/dist/{chunk-q7gn29y3.js.map → chunk-dp0cdtj2.js.map} +0 -0
  1251. /package/dist/{chunk-br3k6qbf.js.map → chunk-fm62y49k.js.map} +0 -0
  1252. /package/dist/{chunk-vvxtn22d.js.map → chunk-g663fahq.js.map} +0 -0
  1253. /package/dist/{chunk-rmakanzx.js.map → chunk-h33shhq6.js.map} +0 -0
  1254. /package/dist/{chunk-d09e3rax.js.map → chunk-hwarjrgf.js.map} +0 -0
  1255. /package/dist/{chunk-vf57cr4t.js.map → chunk-hyesv9dv.js.map} +0 -0
  1256. /package/dist/{chunk-5vems3nx.js.map → chunk-m2nevja0.js.map} +0 -0
  1257. /package/dist/{chunk-x9v4cx1d.js.map → chunk-m36fw8ft.js.map} +0 -0
  1258. /package/dist/{chunk-a40ad1ft.js.map → chunk-mbsbxarb.js.map} +0 -0
  1259. /package/dist/{chunk-6aawea28.js.map → chunk-n8q5j6y5.js.map} +0 -0
  1260. /package/dist/{chunk-d7dnxdep.js.map → chunk-n9zpx9c6.js.map} +0 -0
  1261. /package/dist/{chunk-xvsc5m8n.js.map → chunk-npcr0228.js.map} +0 -0
  1262. /package/dist/{chunk-y5tah2kf.js.map → chunk-q4pmvkg0.js.map} +0 -0
  1263. /package/dist/{chunk-d5rjr8c0.js.map → chunk-vabga7fk.js.map} +0 -0
@@ -1,9 +1,5 @@
1
1
  // @bun
2
2
  import {
3
- materializationEventKindOrdinal2,
4
- sha256Canonical2,
5
- createRequestHash2,
6
- createCommitId2,
7
3
  normalizeObjectRef2,
8
4
  normalizeLinkRef2,
9
5
  objectRefKey2,
@@ -12,6 +8,7 @@ import {
12
8
  linkOwnershipKey,
13
9
  telemetryOwnershipKey,
14
10
  telemetryPointKey2,
11
+ canonicalIdentitySortKey2,
15
12
  utf8JsonByteLength,
16
13
  objectRefSortKey2,
17
14
  linkRefSortKey2,
@@ -20,55 +17,68 @@ import {
20
17
  telemetryPointSortKey2,
21
18
  compareObjectRefs2,
22
19
  compareLinkRefs2
23
- } from "./chunk-7n440zgt.js";
20
+ } from "./chunk-cswhawa2.js";
21
+ import {
22
+ collectUserRefIds,
23
+ userReferenceProblem
24
+ } from "./chunk-4y26vs3v.js";
24
25
  import {
25
26
  withFailureMessage2
26
27
  } from "./chunk-6eqsgvxk.js";
27
28
  import {
28
- collectUserRefIds,
29
- userReferenceProblem,
30
29
  normalizeObjectProperties2,
31
30
  normalizeSchemaValue2,
31
+ UNIQUE_VALUE_KEY_VERSION,
32
+ uniqueValueKey,
32
33
  assertKnownProperties2,
33
34
  validateObjectProperties2,
34
35
  validatePropertyValue2,
35
36
  normalizeLinkProperties2,
36
37
  validateLinkProperties2,
37
38
  validateTelemetryUnit2
38
- } from "./chunk-8frc8a4j.js";
39
+ } from "./chunk-65pyhyas.js";
40
+ import {
41
+ materializationEventKindOrdinal2,
42
+ sha256Canonical2,
43
+ createRequestHash2,
44
+ createCommitId2
45
+ } from "./chunk-zrvhsq7f.js";
46
+ import {
47
+ vectorConfiguration,
48
+ vectorSources,
49
+ normalizeVector2
50
+ } from "./chunk-h3pbv7n8.js";
39
51
  import {
40
52
  resolveExecutionScopeAuthorization,
41
53
  ProjectionValidationError2,
42
54
  validateProjectionsAtStartup,
43
55
  isProjectionDefinition2
44
- } from "./chunk-6vb4st8k.js";
56
+ } from "./chunk-yc9ners4.js";
45
57
  import {
46
58
  isStorageSerializationFailure2
47
- } from "./chunk-tbc1ngpd.js";
59
+ } from "./chunk-fe8zwt8b.js";
48
60
  import {
49
- vectorConfiguration,
50
- vectorSources,
51
- normalizeVector2,
52
61
  objectBatchKey2
53
- } from "./chunk-918wwnaa.js";
62
+ } from "./chunk-ezne9wc9.js";
54
63
  import {
55
64
  materializationApplyPhase2
56
- } from "./chunk-pbcbn83d.js";
65
+ } from "./chunk-hqsp2sx4.js";
57
66
  import {
58
67
  parseDatasetTimestamp2
59
68
  } from "./chunk-z667z3sg.js";
60
69
  import {
61
70
  executionRecordInputFromRuntime,
62
71
  ensureExecutionRecord2
63
- } from "./chunk-vf57cr4t.js";
72
+ } from "./chunk-hyesv9dv.js";
64
73
  import {
65
74
  assertPinnedDatasetWatermark2
66
- } from "./chunk-6aawea28.js";
75
+ } from "./chunk-n8q5j6y5.js";
67
76
  import {
68
77
  MaterializationValidationError2,
69
78
  MaterializationObjectNotFoundError2,
79
+ UniqueValueViolationError2,
70
80
  MaterializationConflictError2
71
- } from "./chunk-96yw3pwd.js";
81
+ } from "./chunk-y7dbmaqh.js";
72
82
  import {
73
83
  assertJsonValue2,
74
84
  cloneJsonValue2,
@@ -77,15 +87,61 @@ import {
77
87
  } from "./chunk-wy0qdqfm.js";
78
88
  // src/projections/revision.ts
79
89
  function computeOntologyRevision2(ontology) {
80
- const referencedValueTypeIds = collectOntologyValueTypeDependencies(ontology);
90
+ const objectTypes = [...ontology.getObjectTypesById().values()].sort((left, right) => compareStrings(left.id, right.id));
91
+ return sha256Canonical2({
92
+ objectTypes: objectTypes.map(normalizeObjectType),
93
+ valueTypes: normalizeReferencedValueTypes(ontology, objectTypes)
94
+ });
95
+ }
96
+ function computeProjectionOntologyRevision(projection, ontology) {
97
+ const writtenType = ontology.resolveObjectType(writtenObjectTypeId(projection));
81
98
  return sha256Canonical2({
82
- objectTypes: normalizeOntologyObjectTypes(ontology),
83
- valueTypes: normalizeOntologyValueTypes(ontology, referencedValueTypeIds)
99
+ objectType: normalizeObjectType(writtenType),
100
+ linkTargets: [...new Set(linkTargetObjectTypeIds(projection))].sort(compareStrings).map((objectTypeId) => ({
101
+ id: objectTypeId,
102
+ supertypes: listSupertypeIds(ontology, objectTypeId)
103
+ })),
104
+ valueTypes: normalizeReferencedValueTypes(ontology, [writtenType])
84
105
  });
85
106
  }
86
- function collectOntologyValueTypeDependencies(ontology) {
107
+ function writtenObjectTypeId(projection) {
108
+ return projection._tag === "LinkProjectionDefinition" ? projection.sourceObjectTypeId : projection.objectTypeId;
109
+ }
110
+ function linkTargetObjectTypeIds(projection) {
111
+ if (projection._tag === "ObjectProjectionDefinition") {
112
+ return Object.values(projection.links).map((link) => link.targetObjectTypeId);
113
+ }
114
+ if (projection._tag === "LinkProjectionDefinition")
115
+ return [projection.targetObjectTypeId];
116
+ return [];
117
+ }
118
+ function listSupertypeIds(ontology, objectTypeId) {
119
+ const supertypes = new Set;
120
+ const pending = [objectTypeId];
121
+ for (let index = 0;index < pending.length; index += 1) {
122
+ const objectType = ontology.resolveObjectType(pending[index]);
123
+ for (const supertypeId of [
124
+ ...objectType.extends ? [objectType.extends] : [],
125
+ ...objectType.parents ?? []
126
+ ]) {
127
+ if (supertypes.has(supertypeId))
128
+ continue;
129
+ supertypes.add(supertypeId);
130
+ pending.push(supertypeId);
131
+ }
132
+ }
133
+ return [...supertypes].sort(compareStrings);
134
+ }
135
+ function normalizeReferencedValueTypes(ontology, objectTypes) {
136
+ return [...collectReferencedValueTypes(ontology, objectTypes)].sort(compareStrings).map((valueTypeId) => ontology.getValueTypesById().get(valueTypeId)).filter((valueType) => valueType !== undefined).map((valueType) => ({
137
+ id: valueType.id,
138
+ schema: normalizeSchema(valueType.schema),
139
+ semanticType: valueType.semanticType ?? null
140
+ }));
141
+ }
142
+ function collectReferencedValueTypes(ontology, objectTypes) {
87
143
  const referencedValueTypeIds = new Set;
88
- for (const objectType of ontology.getObjectTypesById().values()) {
144
+ for (const objectType of objectTypes) {
89
145
  for (const property of objectType.properties) {
90
146
  collectReferencedValueTypeIds(property.schema, referencedValueTypeIds);
91
147
  }
@@ -111,15 +167,8 @@ function collectOntologyValueTypeDependencies(ontology) {
111
167
  }
112
168
  return referencedValueTypeIds;
113
169
  }
114
- function normalizeOntologyValueTypes(ontology, referencedValueTypeIds) {
115
- return [...referencedValueTypeIds].sort(compareStrings).map((valueTypeId) => ontology.getValueTypesById().get(valueTypeId)).filter((valueType) => valueType !== undefined).map((valueType) => ({
116
- id: valueType.id,
117
- schema: normalizeSchema(valueType.schema),
118
- semanticType: valueType.semanticType ?? null
119
- }));
120
- }
121
- function normalizeOntologyObjectTypes(ontology) {
122
- return [...ontology.getObjectTypesById().values()].sort((left, right) => compareStrings(left.id, right.id)).map((objectType) => ({
170
+ function normalizeObjectType(objectType) {
171
+ return {
123
172
  id: objectType.id,
124
173
  extends: objectType.extends ?? null,
125
174
  parents: [...objectType.parents ?? []].sort(),
@@ -131,7 +180,7 @@ function normalizeOntologyObjectTypes(ontology) {
131
180
  cardinality: link.cardinality ?? "many",
132
181
  properties: [...link.properties ?? []].sort((left, right) => compareStrings(left.id, right.id)).map(normalizeProperty)
133
182
  }))
134
- }));
183
+ };
135
184
  }
136
185
  function collectReferencedValueTypeIds(schema, valueTypeIds) {
137
186
  if (typeof schema === "string" || schema.type === "enum")
@@ -249,6 +298,7 @@ function normalizeProperty(property) {
249
298
  required: property.required ?? false,
250
299
  nullable: property.nullable ?? false,
251
300
  primary: property.primary ?? false,
301
+ ...property.unique ? { unique: true } : {},
252
302
  mode: property.mode ?? "static",
253
303
  semanticType: property.semanticType ?? null
254
304
  };
@@ -338,22 +388,22 @@ class ProjectionRegistry2 {
338
388
  this.ontologyRevision = computeOntologyRevision2(input.ontology);
339
389
  const dispatchDescriptors = [];
340
390
  for (const record of validated.objectProjections) {
341
- const resolved = createResolvedProjection(record);
391
+ const resolved = createResolvedProjection(record, input.ontology);
342
392
  this.sourceById.set(resolved.projectionId, resolved);
343
393
  this.projectionsById.set(resolved.projectionId, resolved.definition);
344
- dispatchDescriptors.push(createDispatchDescriptor(resolved, this.ontologyRevision));
394
+ dispatchDescriptors.push(createDispatchDescriptor(resolved));
345
395
  }
346
396
  for (const record of validated.linkProjections) {
347
- const resolved = createResolvedProjection(record);
397
+ const resolved = createResolvedProjection(record, input.ontology);
348
398
  this.sourceById.set(resolved.projectionId, resolved);
349
399
  this.projectionsById.set(resolved.projectionId, resolved.definition);
350
- dispatchDescriptors.push(createDispatchDescriptor(resolved, this.ontologyRevision));
400
+ dispatchDescriptors.push(createDispatchDescriptor(resolved));
351
401
  }
352
402
  for (const record of validated.telemetryProjections) {
353
- const resolved = createResolvedProjection(record);
403
+ const resolved = createResolvedProjection(record, input.ontology);
354
404
  this.telemetryById.set(resolved.projectionId, resolved);
355
405
  this.projectionsById.set(resolved.projectionId, resolved.definition);
356
- dispatchDescriptors.push(createDispatchDescriptor(resolved, this.ontologyRevision));
406
+ dispatchDescriptors.push(createDispatchDescriptor(resolved));
357
407
  }
358
408
  this.dispatchDescriptors = Object.freeze(dispatchDescriptors);
359
409
  for (const descriptor of this.dispatchDescriptors) {
@@ -405,11 +455,11 @@ class ProjectionRegistry2 {
405
455
  return resolved;
406
456
  }
407
457
  }
408
- function createDispatchDescriptor(resolved, ontologyRevision) {
458
+ function createDispatchDescriptor(resolved) {
409
459
  const common = {
410
460
  projectionId: resolved.projectionId,
411
461
  datasetId: resolved.datasetId,
412
- ontologyRevision,
462
+ ontologyRevision: resolved.ontologyRevision,
413
463
  projectionRevision: resolved.projectionRevision,
414
464
  ownershipHash: resolved.ownershipHash
415
465
  };
@@ -431,11 +481,12 @@ function assertUniqueProjectionIds(projections) {
431
481
  ids.add(projection.id);
432
482
  }
433
483
  }
434
- function createResolvedProjection(validated) {
484
+ function createResolvedProjection(validated, ontology) {
435
485
  const { definition, dataset, ownership } = validated;
436
486
  return deepFreeze({
437
487
  projectionId: definition.id,
438
488
  datasetId: definition.datasetId,
489
+ ontologyRevision: computeProjectionOntologyRevision(definition, ontology),
439
490
  projectionRevision: computeProjectionRevision2(definition, dataset),
440
491
  ownershipHash: computeProjectionOwnershipHash2(ownership),
441
492
  ownership,
@@ -954,6 +1005,19 @@ function normalizeOperation(operation) {
954
1005
  }
955
1006
  throw new MaterializationValidationError2("Unknown ontology edit operation kind.");
956
1007
  }
1008
+ function normalizeUnclaimedValues(values) {
1009
+ const normalized = values.map((value) => {
1010
+ if (typeof value.valueKey !== "string") {
1011
+ throw new MaterializationValidationError2("Expected unclaimed value key must be a string.");
1012
+ }
1013
+ return Object.freeze({
1014
+ objectTypeId: normalizeNonblank(value.objectTypeId, "Expected unclaimed value type id"),
1015
+ propertyId: normalizeNonblank(value.propertyId, "Expected unclaimed value property id"),
1016
+ valueKey: value.valueKey
1017
+ });
1018
+ });
1019
+ return deduplicateExpectations(normalized, (value) => JSON.stringify([value.objectTypeId, value.propertyId, value.valueKey]), "Expected unclaimed values");
1020
+ }
957
1021
  function deduplicateExpectations(values, keyOf, label) {
958
1022
  const byKey = new Map;
959
1023
  for (const value of values) {
@@ -966,6 +1030,9 @@ function deduplicateExpectations(values, keyOf, label) {
966
1030
  }
967
1031
  return Object.freeze([...byKey.entries()].sort(([left], [right]) => compareStrings(left, right)).map(([, value]) => value));
968
1032
  }
1033
+ function normalizeExpectedObjects(values) {
1034
+ return deduplicateExpectations(values.map(normalizeExpectedObject), (value) => objectRefKey2(value.ref), "Expected objects");
1035
+ }
969
1036
  function normalizeExpectedObject(value) {
970
1037
  const ref = normalizeObjectRef2(value.ref);
971
1038
  if (!value.exists)
@@ -1043,7 +1110,8 @@ function normalizeOntologyEditCommit2(input) {
1043
1110
  requestId: normalizeNonblank(input.source.requestId, "Runtime request id")
1044
1111
  }),
1045
1112
  operations: Object.freeze(operations),
1046
- ...input.operationGroups !== undefined ? { operationGroups: normalizeOperationGroups(input.operationGroups, operationIds) } : {}
1113
+ ...input.operationGroups !== undefined ? { operationGroups: normalizeOperationGroups(input.operationGroups, operationIds) } : {},
1114
+ ...input.expectedObjects !== undefined ? { expectedObjects: normalizeExpectedObjects(input.expectedObjects) } : {}
1047
1115
  });
1048
1116
  }
1049
1117
  if (input.vectorWrites?.length && (operations.length || input.source.kind !== "runtime")) {
@@ -1051,16 +1119,16 @@ function normalizeOntologyEditCommit2(input) {
1051
1119
  }
1052
1120
  if (input.vectorWrites !== undefined)
1053
1121
  assertJsonValue2(input.vectorWrites, "Vector writes");
1054
- const expectedObjects = input.expectedObjects.map(normalizeExpectedObject);
1055
1122
  const expectedLinks = input.expectedLinks.map(normalizeExpectedLink);
1056
1123
  const expectedLinkScopes = input.expectedLinkScopes.map(normalizeExpectedLinkScope);
1057
1124
  const atomic = {
1058
1125
  mode: "atomic",
1059
1126
  ...input.vectorWrites === undefined ? {} : { vectorWrites: structuredClone(input.vectorWrites) },
1060
1127
  operations: Object.freeze(operations),
1061
- expectedObjects: deduplicateExpectations(expectedObjects, (value) => objectRefKey2(value.ref), "Expected objects"),
1128
+ expectedObjects: normalizeExpectedObjects(input.expectedObjects),
1062
1129
  expectedLinks: deduplicateExpectations(expectedLinks, (value) => linkRefKey2(value.ref), "Expected links"),
1063
- expectedLinkScopes: deduplicateExpectations(expectedLinkScopes, (value) => linkScopeKey(value.source, value.linkId), "Expected link scopes")
1130
+ expectedLinkScopes: deduplicateExpectations(expectedLinkScopes, (value) => linkScopeKey(value.source, value.linkId), "Expected link scopes"),
1131
+ ...input.expectedUnclaimedValues?.length ? { expectedUnclaimedValues: normalizeUnclaimedValues(input.expectedUnclaimedValues) } : {}
1064
1132
  };
1065
1133
  if (input.source.kind === "action") {
1066
1134
  if (!("run" in input) || input.run === undefined) {
@@ -1440,6 +1508,177 @@ function isObjectOperation(operation) {
1440
1508
  return operation.kind.startsWith("object.");
1441
1509
  }
1442
1510
 
1511
+ // src/materializer/edits/unique-values.ts
1512
+ class WorkingUniqueValues {
1513
+ ontology;
1514
+ holders;
1515
+ tracked;
1516
+ claims = new Map;
1517
+ constructor(ontology, holders, tracked) {
1518
+ this.ontology = ontology;
1519
+ this.holders = holders;
1520
+ this.tracked = tracked;
1521
+ }
1522
+ static untracked(ontology) {
1523
+ return new WorkingUniqueValues(ontology, new Map, false);
1524
+ }
1525
+ static async load(context, storage, session, operations, objects) {
1526
+ const holders = new Map;
1527
+ const requested = candidateValues(context.ontology, operations, objects);
1528
+ if (requested.length === 0)
1529
+ return new WorkingUniqueValues(context.ontology, holders, true);
1530
+ const request = {
1531
+ objects: [],
1532
+ links: [],
1533
+ linkScopes: [],
1534
+ incidentObjects: [],
1535
+ points: [],
1536
+ uniqueValues: requested
1537
+ };
1538
+ for await (const page of storage.streamState({
1539
+ session,
1540
+ requests: oneStateRequest(request),
1541
+ pageRows: context.batching.statePageRows
1542
+ })) {
1543
+ for (const holder of page.uniqueHolders ?? []) {
1544
+ holders.set(uniqueKey(holder), new Set([holder.primaryId]));
1545
+ }
1546
+ }
1547
+ return new WorkingUniqueValues(context.ontology, holders, true);
1548
+ }
1549
+ transition(ref, before, after) {
1550
+ if (!this.tracked)
1551
+ return () => {
1552
+ return;
1553
+ };
1554
+ const moves = [];
1555
+ for (const { propertyId, kind } of this.ontology.listUniqueProperties(ref.objectTypeId)) {
1556
+ const released = uniqueValueKey(kind, before?.[propertyId]);
1557
+ const claimed = uniqueValueKey(kind, after?.[propertyId]);
1558
+ if (released === claimed)
1559
+ continue;
1560
+ const value = { objectTypeId: ref.objectTypeId, propertyId };
1561
+ const releasedKey = released === null ? null : uniqueKey({ ...value, valueKey: released });
1562
+ if (releasedKey !== null)
1563
+ this.holders.get(releasedKey)?.delete(ref.primaryId);
1564
+ let claimedKey = null;
1565
+ if (claimed !== null) {
1566
+ const claim = { ...value, valueKey: claimed, primaryId: ref.primaryId };
1567
+ claimedKey = uniqueKey(claim);
1568
+ this.holdersOf(claimedKey).add(ref.primaryId);
1569
+ this.claims.set(claimedKey, claim);
1570
+ }
1571
+ moves.push({ released: releasedKey, claimed: claimedKey });
1572
+ }
1573
+ return () => {
1574
+ for (const { released, claimed } of moves) {
1575
+ if (claimed !== null)
1576
+ this.holders.get(claimed)?.delete(ref.primaryId);
1577
+ if (released !== null)
1578
+ this.holdersOf(released).add(ref.primaryId);
1579
+ }
1580
+ };
1581
+ }
1582
+ assertDistinct() {
1583
+ const claims = [...this.claims.entries()];
1584
+ this.claims.clear();
1585
+ for (const [key, claim] of claims) {
1586
+ const holders = this.holders.get(key);
1587
+ if (!holders || holders.size <= 1)
1588
+ continue;
1589
+ const holder = [...holders].find((primaryId) => primaryId !== claim.primaryId);
1590
+ if (holder === undefined)
1591
+ continue;
1592
+ throw new UniqueValueViolationError2(claim.objectTypeId, claim.propertyId, holder, claim.primaryId);
1593
+ }
1594
+ }
1595
+ holdersOf(key) {
1596
+ let holders = this.holders.get(key);
1597
+ if (!holders) {
1598
+ holders = new Set;
1599
+ this.holders.set(key, holders);
1600
+ }
1601
+ return holders;
1602
+ }
1603
+ }
1604
+ async function assertValuesUnclaimed(context, storage, session, values) {
1605
+ if (values.length === 0)
1606
+ return;
1607
+ const request = {
1608
+ objects: [],
1609
+ links: [],
1610
+ linkScopes: [],
1611
+ incidentObjects: [],
1612
+ points: [],
1613
+ uniqueValues: values
1614
+ };
1615
+ for await (const page of storage.streamState({
1616
+ session,
1617
+ requests: oneStateRequest(request),
1618
+ pageRows: context.batching.statePageRows
1619
+ })) {
1620
+ const [held] = page.uniqueHolders ?? [];
1621
+ if (!held)
1622
+ continue;
1623
+ throw new MaterializationConflictError2("expectation", `Expected no '${held.objectTypeId}' object to hold this '${held.propertyId}'.`);
1624
+ }
1625
+ }
1626
+ function candidateValues(ontology, operations, objects) {
1627
+ const values = new Map;
1628
+ const add = (ref, properties) => {
1629
+ for (const value of uniqueValuesOf(ontology, ref, properties)) {
1630
+ values.set(uniqueKey(value), value);
1631
+ }
1632
+ };
1633
+ for (const operation of operations) {
1634
+ if (!("objectTypeId" in operation.ref))
1635
+ continue;
1636
+ if (ontology.listUniqueProperties(operation.ref.objectTypeId).length === 0)
1637
+ continue;
1638
+ if (operation.kind === "object.create" || operation.kind === "object.upsert") {
1639
+ add(operation.ref, operation.properties);
1640
+ }
1641
+ if (operation.kind === "object.patch")
1642
+ add(operation.ref, operation.set);
1643
+ const working = objects.get(objectRefKey2(operation.ref));
1644
+ add(operation.ref, working?.source?.assertion.properties);
1645
+ const override = working?.override;
1646
+ if (override?.kind === "create")
1647
+ add(operation.ref, override.properties);
1648
+ if (override?.kind === "patch")
1649
+ add(operation.ref, override.set);
1650
+ }
1651
+ return [...values.values()];
1652
+ }
1653
+ function uniqueValuesOf(ontology, ref, properties) {
1654
+ if (!properties)
1655
+ return [];
1656
+ const objectType = ontology.getObjectTypeById(ref.objectTypeId);
1657
+ if (!objectType)
1658
+ return [];
1659
+ const values = [];
1660
+ for (const { propertyId, kind } of ontology.listUniqueProperties(ref.objectTypeId)) {
1661
+ const raw = properties[propertyId];
1662
+ const property = objectType.properties.find((candidate) => candidate.id === propertyId);
1663
+ if (raw === undefined || raw === null || !property)
1664
+ continue;
1665
+ const valueKey = uniqueValueKey(kind, normalized(ontology, property.schema, raw));
1666
+ if (valueKey !== null)
1667
+ values.push({ objectTypeId: ref.objectTypeId, propertyId, valueKey });
1668
+ }
1669
+ return values;
1670
+ }
1671
+ function normalized(ontology, schema, value) {
1672
+ try {
1673
+ return normalizeSchemaValue2(schema, value, "", ontology.getValueTypesById());
1674
+ } catch {
1675
+ return;
1676
+ }
1677
+ }
1678
+ function uniqueKey(value) {
1679
+ return JSON.stringify([value.objectTypeId, value.propertyId, value.valueKey]);
1680
+ }
1681
+
1443
1682
  // src/materializer/edits/working-state.ts
1444
1683
  function mergeWorkingState(ontology, working, state) {
1445
1684
  for (const object of state.objects) {
@@ -1542,7 +1781,7 @@ function validateWorkingCardinality(slots) {
1542
1781
  }
1543
1782
 
1544
1783
  // src/materializer/edits/load-state.ts
1545
- async function loadEditWorkingState(context, storage, session, operations) {
1784
+ async function loadEditWorkingState(context, storage, session, operations, options) {
1546
1785
  const state = {
1547
1786
  objects: new Map,
1548
1787
  links: {
@@ -1578,7 +1817,8 @@ async function loadEditWorkingState(context, storage, session, operations) {
1578
1817
  }
1579
1818
  await mergeMissingLinkSlotEndpoints(context, storage, session, state);
1580
1819
  await mergeIncidentState(context, storage, session, state, [...incidentLinks.values()], revivingObjects);
1581
- return state;
1820
+ const uniqueValues = options.checkUniqueValuesPerItem ? await WorkingUniqueValues.load(context, storage, session, operations, state.objects) : WorkingUniqueValues.untracked(context.ontology);
1821
+ return { ...state, uniqueValues };
1582
1822
  }
1583
1823
  function isRevivingObjectOperation(operation) {
1584
1824
  return operation.kind === "object.create" || operation.kind === "object.upsert" || operation.kind === "object.restore";
@@ -2196,7 +2436,7 @@ function applyObjectOperation(context, state, operation, identity, users, journa
2196
2436
  ...normalized
2197
2437
  });
2198
2438
  const assertUsers = operation.kind === "object.restore" ? undefined : (resolved) => assertIntroducedUsersActive(context.ontology, operation.ref.objectTypeId, currentEffective?.properties, resolved.properties, users);
2199
- applyObjectTransition(context, state, working, transition.next, transition.editedAt, journal, assertUsers);
2439
+ applyObjectTransition(context, state, working, currentEffective, transition.next, transition.editedAt, journal, assertUsers);
2200
2440
  return objectOperationOutcome(operation, working, transition.changed, context, identity);
2201
2441
  }
2202
2442
  function requireWorkingObject(state, operation) {
@@ -2223,11 +2463,12 @@ function validateObjectOperation(context, operation) {
2223
2463
  return {};
2224
2464
  }
2225
2465
  }
2226
- function applyObjectTransition(context, state, working, next, nextEditedAt, journal, validateResolved) {
2466
+ function applyObjectTransition(context, state, working, before, next, nextEditedAt, journal, validateResolved) {
2227
2467
  const previous = working.override;
2228
2468
  const previousEditedAt = working.editedAt;
2229
2469
  working.override = next;
2230
2470
  working.editedAt = { ...nextEditedAt };
2471
+ let undoUniqueValues;
2231
2472
  try {
2232
2473
  const resolved = resolveObject(context.ontology, working);
2233
2474
  if (resolved) {
@@ -2235,6 +2476,7 @@ function applyObjectTransition(context, state, working, next, nextEditedAt, jour
2235
2476
  validateResolved?.(resolved);
2236
2477
  }
2237
2478
  validateWorkingCardinality(state.links.slots);
2479
+ undoUniqueValues = state.uniqueValues.transition(working.ref, before?.properties, resolved?.properties);
2238
2480
  } catch (error) {
2239
2481
  working.override = previous;
2240
2482
  working.editedAt = previousEditedAt;
@@ -2244,6 +2486,7 @@ function applyObjectTransition(context, state, working, next, nextEditedAt, jour
2244
2486
  restore: () => {
2245
2487
  working.override = previous;
2246
2488
  working.editedAt = previousEditedAt;
2489
+ undoUniqueValues();
2247
2490
  }
2248
2491
  });
2249
2492
  }
@@ -2543,6 +2786,37 @@ function appendEffectiveObjectWork(items, change) {
2543
2786
  });
2544
2787
  }
2545
2788
  }
2789
+ function appendUniqueValueWork(work, change, ontology) {
2790
+ const properties = ontology.listUniqueProperties(change.ref.objectTypeId);
2791
+ if (properties.length === 0)
2792
+ return;
2793
+ const before = change.before?.properties;
2794
+ const after = change.kind === "deleted" ? undefined : change.after.properties;
2795
+ for (const { propertyId, kind } of properties) {
2796
+ const released = uniqueValueKey(kind, before?.[propertyId]);
2797
+ const claimed = uniqueValueKey(kind, after?.[propertyId]);
2798
+ if (released === claimed)
2799
+ continue;
2800
+ const sortKey = canonicalIdentitySortKey2([
2801
+ change.ref.objectTypeId,
2802
+ change.ref.primaryId,
2803
+ propertyId
2804
+ ]);
2805
+ const value = (valueKey) => ({
2806
+ objectTypeId: change.ref.objectTypeId,
2807
+ propertyId,
2808
+ valueKey,
2809
+ primaryId: change.ref.primaryId
2810
+ });
2811
+ if (released !== null) {
2812
+ work.push(planWork({ kind: "unique-value-release", value: value(released) }, sortKey));
2813
+ }
2814
+ if (claimed !== null) {
2815
+ const claim = { ...value(claimed), keyKind: kind, keyVersion: UNIQUE_VALUE_KEY_VERSION };
2816
+ work.push(planWork({ kind: "unique-value-claim", value: claim }, sortKey));
2817
+ }
2818
+ }
2819
+ }
2546
2820
  function appendEffectiveLinkWork(items, change) {
2547
2821
  if (change.kind === "deleted") {
2548
2822
  items.push({
@@ -2671,6 +2945,7 @@ async function stageObject(context, storage, session, working, identity) {
2671
2945
  ...items.map((item) => planWork(item, sortKey))
2672
2946
  ];
2673
2947
  if (change) {
2948
+ appendUniqueValueWork(work, change, context.ontology);
2674
2949
  work.push(eventWork(buildObjectMaterializationEventDraft(change)));
2675
2950
  }
2676
2951
  await stageWorkBounded(context, storage, session, work);
@@ -2903,7 +3178,10 @@ async function executeEditTransaction(context, storage, command) {
2903
3178
  return replay;
2904
3179
  await recordActionRun(storage, command.input);
2905
3180
  const session = await beginEditMaterialization(context, storage, command);
2906
- const workingState = await loadEditWorkingState(context, storage.ontology.materializations, session, command.input.operations);
3181
+ if (command.input.mode === "atomic") {
3182
+ await assertValuesUnclaimed(context, storage.ontology.materializations, session, command.input.expectedUnclaimedValues ?? []);
3183
+ }
3184
+ const workingState = await loadEditWorkingState(context, storage.ontology.materializations, session, command.input.operations, { checkUniqueValuesPerItem: command.input.mode === "continue" });
2907
3185
  const outcomes = applyEditOperations(context, workingState, command);
2908
3186
  const changes = await stageEditPlan(context, storage.ontology.materializations, session, workingState, command.identity);
2909
3187
  const eventCount = await applyStagedWork(context, storage, session);
@@ -2956,7 +3234,7 @@ function editExpectations(input) {
2956
3234
  linkScopes: input.expectedLinkScopes
2957
3235
  };
2958
3236
  }
2959
- return { objects: [], links: [], linkScopes: [] };
3237
+ return { objects: input.expectedObjects ?? [], links: [], linkScopes: [] };
2960
3238
  }
2961
3239
  function applyEditOperations(context, state, command) {
2962
3240
  const outcomes = [];
@@ -2973,12 +3251,17 @@ function applyEditExecutionUnit(context, state, command, unit) {
2973
3251
  return [applyOneEditOperation(context, state, unit.operation, command)];
2974
3252
  }
2975
3253
  function applyOneEditOperation(context, state, operation, command) {
3254
+ const journal = [];
2976
3255
  try {
2977
- return applyEditOperation(context, state, operation, command.identity, command.users);
3256
+ const outcome = applyEditOperation(context, state, operation, command.identity, command.users, journal);
3257
+ if (command.input.mode === "continue")
3258
+ state.uniqueValues.assertDistinct();
3259
+ return outcome;
2978
3260
  } catch (error) {
2979
3261
  if (!isRecoverableEditValidation(command.input, error))
2980
3262
  throw error;
2981
- return { id: operation.id, ok: false, error: { code: "validation", message: error.message } };
3263
+ undoEditJournal(journal);
3264
+ return { id: operation.id, ok: false, error: itemError(error) };
2982
3265
  }
2983
3266
  }
2984
3267
  function applyEditOperationGroup(context, state, command, group) {
@@ -2992,22 +3275,39 @@ function applyEditOperationGroup(context, state, command, group) {
2992
3275
  if (!isRecoverableEditValidation(command.input, error))
2993
3276
  throw error;
2994
3277
  undoEditJournal(journal);
2995
- return failedEditGroup(group, error.message);
3278
+ return failedEditGroup(group, itemError(error));
2996
3279
  }
2997
3280
  if (!outcome.ok) {
2998
3281
  undoEditJournal(journal);
2999
- return failedEditGroup(group, outcome.error.message);
3282
+ return failedEditGroup(group, outcome.error);
3000
3283
  }
3001
3284
  applied.push(outcome);
3002
3285
  }
3286
+ if (command.input.mode === "continue") {
3287
+ try {
3288
+ state.uniqueValues.assertDistinct();
3289
+ } catch (error) {
3290
+ if (!isRecoverableEditValidation(command.input, error))
3291
+ throw error;
3292
+ undoEditJournal(journal);
3293
+ return failedEditGroup(group, itemError(error));
3294
+ }
3295
+ }
3003
3296
  return applied;
3004
3297
  }
3005
- function failedEditGroup(group, message) {
3006
- return group.map((operation) => ({
3007
- id: operation.id,
3008
- ok: false,
3009
- error: { code: "validation", message }
3010
- }));
3298
+ function failedEditGroup(group, error) {
3299
+ return group.map((operation) => ({ id: operation.id, ok: false, error }));
3300
+ }
3301
+ function itemError(error) {
3302
+ if (error instanceof UniqueValueViolationError2) {
3303
+ return {
3304
+ code: "unique_violation",
3305
+ message: error.message,
3306
+ objectTypeId: error.objectTypeId,
3307
+ propertyId: error.propertyId
3308
+ };
3309
+ }
3310
+ return { code: "validation", message: error.message };
3011
3311
  }
3012
3312
  function isRecoverableEditValidation(input, error) {
3013
3313
  if (input.mode === "atomic")
@@ -3057,7 +3357,7 @@ function createProjectionRunMaterializationIdentity(input) {
3057
3357
  const base = {
3058
3358
  projectionId: input.resolved.projectionId,
3059
3359
  datasetVersion: input.datasetVersion,
3060
- ontologyRevision: input.ontologyRevision,
3360
+ ontologyRevision: input.resolved.ontologyRevision,
3061
3361
  projectionRevision: input.resolved.projectionRevision,
3062
3362
  ownershipHash: input.resolved.ownershipHash
3063
3363
  };
@@ -3101,8 +3401,7 @@ function resolveDeployedProjection(context, input) {
3101
3401
  }
3102
3402
  const identity = createProjectionRunMaterializationIdentity({
3103
3403
  resolved,
3104
- datasetVersion: input.datasetVersion,
3105
- ontologyRevision: context.projectionRegistry.ontologyRevision
3404
+ datasetVersion: input.datasetVersion
3106
3405
  });
3107
3406
  return { identity, resolved };
3108
3407
  }
@@ -3404,14 +3703,15 @@ function planReplacementObject(context, input, state) {
3404
3703
  }
3405
3704
  if (!change)
3406
3705
  return work;
3407
- appendObjectChangeWork(work, sortKey, change);
3706
+ appendObjectChangeWork(context, work, sortKey, change);
3408
3707
  return work;
3409
3708
  }
3410
- function appendObjectChangeWork(work, sortKey, change) {
3709
+ function appendObjectChangeWork(context, work, sortKey, change) {
3411
3710
  const items = [];
3412
3711
  appendEffectiveObjectWork(items, change);
3413
3712
  for (const item of items)
3414
3713
  work.push(planWork(item, sortKey));
3714
+ appendUniqueValueWork(work, change, context.ontology);
3415
3715
  work.push(eventWork(buildObjectMaterializationEventDraft(change)));
3416
3716
  }
3417
3717
  function planReplacementLink(context, input, state, endpointExistence) {
@@ -3509,7 +3809,7 @@ async function stageProjectionMaterialization(context, input) {
3509
3809
  datasetVersion: input.datasetVersion,
3510
3810
  projectionRevision: input.projectionRevision,
3511
3811
  ownershipHash: input.ownershipHash,
3512
- ontologyRevision: context.projectionRegistry.ontologyRevision,
3812
+ ontologyRevision: input.ontologyRevision,
3513
3813
  createdAt: input.createdAt,
3514
3814
  ...input.base ? { base: input.base } : {}
3515
3815
  });
@@ -3585,8 +3885,7 @@ function prepareProjectionReplacement(context, raw) {
3585
3885
  const projectionKind = sourceProjectionKind(resolved);
3586
3886
  const runIdentity = createProjectionRunMaterializationIdentity({
3587
3887
  resolved,
3588
- datasetVersion,
3589
- ontologyRevision: context.projectionRegistry.ontologyRevision
3888
+ datasetVersion
3590
3889
  });
3591
3890
  const identity = createCommitIdentity2({
3592
3891
  projectId: context.projectId,
@@ -3712,6 +4011,7 @@ async function stageOrReuseCandidate(context, command, candidate) {
3712
4011
  execution: command.execution,
3713
4012
  projectionKind: command.projectionKind,
3714
4013
  datasetVersion: command.datasetVersion,
4014
+ ontologyRevision: command.resolved.ontologyRevision,
3715
4015
  projectionRevision: command.resolved.projectionRevision,
3716
4016
  ownershipHash: command.resolved.ownershipHash,
3717
4017
  createdAt: candidate.createdAt,
@@ -4040,6 +4340,7 @@ async function stageTelemetryObjectPlan(context, storage, session, planContext,
4040
4340
  const items = [];
4041
4341
  appendEffectiveObjectWork(items, change);
4042
4342
  work.push(...items.map((item) => planWork(item, sortKey)));
4343
+ appendUniqueValueWork(work, change, context.ontology);
4043
4344
  work.push(eventWork(buildObjectMaterializationEventDraft(change)));
4044
4345
  }
4045
4346
  await stageWorkBounded(context, storage, session, work);
@@ -4065,42 +4366,41 @@ function prepareTelemetryAppend(context, raw) {
4065
4366
  points: raw.input.points.map((point) => validateTelemetryPoint(context.ontology, point))
4066
4367
  });
4067
4368
  const inputPointCount = telemetryInputPointCount(input, rawInputPointCount);
4068
- const ontologyRevision = context.projectionRegistry.ontologyRevision;
4069
4369
  const execution = prepareMaterializerExecution(context.projectId, raw.scope);
4070
4370
  if (input.source.kind === "runtime") {
4071
- return {
4072
- ...prepareRuntimeTelemetry(context, input, input.source, inputPointCount, ontologyRevision),
4073
- execution
4074
- };
4371
+ return { ...prepareRuntimeTelemetry(context, input, input.source, inputPointCount), execution };
4075
4372
  }
4076
- return {
4077
- ...prepareProjectionTelemetry(context, input, input.source, inputPointCount, ontologyRevision),
4078
- execution
4079
- };
4373
+ return { ...prepareProjectionTelemetry(context, input, input.source, inputPointCount), execution };
4080
4374
  }
4081
4375
  function telemetryInputPointCount(input, rawInputPointCount) {
4082
4376
  if (input.source.kind === "projection")
4083
4377
  return rawInputPointCount;
4084
4378
  return input.points.length;
4085
4379
  }
4086
- function prepareRuntimeTelemetry(context, input, source, inputPointCount, ontologyRevision) {
4380
+ function prepareRuntimeTelemetry(context, input, source, inputPointCount) {
4087
4381
  const identity = createTimedCommitIdentity2({
4088
4382
  projectId: context.projectId,
4089
4383
  idempotencyKey: createRuntimeTelemetryIdempotencyKey2(source.requestId),
4090
4384
  normalizedCallerIntent: input,
4091
4385
  now: context.clock()
4092
4386
  });
4093
- return { kind: "runtime", input, source, inputPointCount, ontologyRevision, identity };
4387
+ return {
4388
+ kind: "runtime",
4389
+ input,
4390
+ source,
4391
+ inputPointCount,
4392
+ ontologyRevision: context.projectionRegistry.ontologyRevision,
4393
+ identity
4394
+ };
4094
4395
  }
4095
- function prepareProjectionTelemetry(context, input, source, inputPointCount, ontologyRevision) {
4396
+ function prepareProjectionTelemetry(context, input, source, inputPointCount) {
4096
4397
  const resolvedProjection = context.projectionRegistry.resolveTelemetry(source.projection.projectionId);
4097
4398
  validateTelemetryProjectionDataset(resolvedProjection, source);
4098
4399
  validateTelemetryOwnership(resolvedProjection, input);
4099
4400
  validateTelemetryBatchCardinality(resolvedProjection, source, inputPointCount);
4100
4401
  const runIdentity = createProjectionRunMaterializationIdentity({
4101
4402
  resolved: resolvedProjection,
4102
- datasetVersion: source.datasetVersion,
4103
- ontologyRevision
4403
+ datasetVersion: source.datasetVersion
4104
4404
  });
4105
4405
  const identity = createTimedCommitIdentity2({
4106
4406
  projectId: context.projectId,
@@ -4113,7 +4413,7 @@ function prepareProjectionTelemetry(context, input, source, inputPointCount, ont
4113
4413
  input,
4114
4414
  source,
4115
4415
  inputPointCount,
4116
- ontologyRevision,
4416
+ ontologyRevision: runIdentity.ontologyRevision,
4117
4417
  identity,
4118
4418
  resolvedProjection,
4119
4419
  runIdentity
@@ -4393,4 +4693,4 @@ function createOntologyMaterializer2(input) {
4393
4693
  }
4394
4694
  export { computeOntologyRevision2, computeProjectionRevision2, computeProjectionOwnershipHash2, ProjectionRegistry2, createActionIdempotencyKey2, createRuntimeIdempotencyKey2, createProjectionIdempotencyKey2, createRuntimeTelemetryIdempotencyKey2, createProjectionTelemetryIdempotencyKey2, createCommitIdentity2, timestampCommitIdentity2, createTimedCommitIdentity2, createProjectionMaterializationId2, createLinkScopeFingerprint2, normalizeJsonProperties2, normalizeOntologyEditCommit2, normalizeProjectionExecution2, normalizeProjectionSourceEntry2, normalizeTelemetryAppend2, OntologyMaterializer2, createOntologyMaterializer2 };
4395
4695
 
4396
- //# debugId=91D06997CD781AEA64756E2164756E21
4696
+ //# debugId=C8AB909D16C16FCC64756E2164756E21