@sixb/core 0.1.11 → 0.1.13

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 (910) hide show
  1. package/dist/actions/builders/params.d.ts +1 -22
  2. package/dist/actions/builders/params.d.ts.map +1 -1
  3. package/dist/actions/index.d.ts +2 -2
  4. package/dist/actions/index.d.ts.map +1 -1
  5. package/dist/actions/index.js +33 -30
  6. package/dist/actions/index.js.map +1 -1
  7. package/dist/actions/read-facade.d.ts +14 -16
  8. package/dist/actions/read-facade.d.ts.map +1 -1
  9. package/dist/actions/request.d.ts.map +1 -1
  10. package/dist/actions/run-dispatch.d.ts +2 -0
  11. package/dist/actions/run-dispatch.d.ts.map +1 -1
  12. package/dist/actions/types/context.d.ts +18 -31
  13. package/dist/actions/types/context.d.ts.map +1 -1
  14. package/dist/actions/types/params.d.ts +11 -44
  15. package/dist/actions/types/params.d.ts.map +1 -1
  16. package/dist/actions/validation.d.ts.map +1 -1
  17. package/dist/actions/worker.js +3 -2
  18. package/dist/actions/worker.js.map +2 -2
  19. package/dist/agents/errors.d.ts +1 -1
  20. package/dist/agents/errors.d.ts.map +1 -1
  21. package/dist/agents/execution.d.ts +15 -9
  22. package/dist/agents/execution.d.ts.map +1 -1
  23. package/dist/agents/ids.d.ts +2 -0
  24. package/dist/agents/ids.d.ts.map +1 -1
  25. package/dist/agents/index.d.ts +1 -1
  26. package/dist/agents/index.d.ts.map +1 -1
  27. package/dist/agents/index.js +52 -44
  28. package/dist/agents/index.js.map +1 -1
  29. package/dist/agents/request.d.ts.map +1 -1
  30. package/dist/agents/sandbox.d.ts +5 -0
  31. package/dist/agents/sandbox.d.ts.map +1 -0
  32. package/dist/agents/streams/index.js +4 -3
  33. package/dist/agents/streams/index.js.map +1 -1
  34. package/dist/agents/streams/internal.js +4 -3
  35. package/dist/agents/streams/internal.js.map +1 -1
  36. package/dist/agents/validation.d.ts.map +1 -1
  37. package/dist/assert-never.d.ts +6 -0
  38. package/dist/assert-never.d.ts.map +1 -0
  39. package/dist/auth/client-address.d.ts +3 -0
  40. package/dist/auth/client-address.d.ts.map +1 -0
  41. package/dist/auth/csrf.d.ts +5 -1
  42. package/dist/auth/csrf.d.ts.map +1 -1
  43. package/dist/auth/index.d.ts +3 -2
  44. package/dist/auth/index.d.ts.map +1 -1
  45. package/dist/auth/index.js +15 -7
  46. package/dist/auth/index.js.map +1 -1
  47. package/dist/auth/runtime.d.ts +58 -41
  48. package/dist/auth/runtime.d.ts.map +1 -1
  49. package/dist/auth/session-cache.d.ts +10 -3
  50. package/dist/auth/session-cache.d.ts.map +1 -1
  51. package/dist/auth/sessions.d.ts +12 -0
  52. package/dist/auth/sessions.d.ts.map +1 -1
  53. package/dist/auth/strategy.js +1 -1
  54. package/dist/auth/types.d.ts +8 -15
  55. package/dist/auth/types.d.ts.map +1 -1
  56. package/dist/authorization/index.js +5 -4
  57. package/dist/authorization/index.js.map +1 -1
  58. package/dist/bootstrap/index.d.ts +1 -1
  59. package/dist/bootstrap/index.d.ts.map +1 -1
  60. package/dist/bootstrap/index.js +54 -48
  61. package/dist/bootstrap/index.js.map +1 -1
  62. package/dist/bootstrap/ontology-type-manifest.d.ts +8 -0
  63. package/dist/bootstrap/ontology-type-manifest.d.ts.map +1 -1
  64. package/dist/{chunk-q5gz3g2j.js → chunk-0321g649.js} +2 -16
  65. package/dist/{chunk-q5gz3g2j.js.map → chunk-0321g649.js.map} +2 -2
  66. package/dist/{chunk-d63nnr5b.js → chunk-04h4t2b5.js} +39 -53
  67. package/dist/{chunk-d63nnr5b.js.map → chunk-04h4t2b5.js.map} +5 -6
  68. package/dist/chunk-2fv8sajb.js +84 -0
  69. package/dist/chunk-2fv8sajb.js.map +10 -0
  70. package/dist/{chunk-1yefycb1.js → chunk-2hbhn1ff.js} +2 -2
  71. package/dist/{chunk-ap0g1g74.js → chunk-3nx8vj5a.js} +43 -6
  72. package/dist/chunk-3nx8vj5a.js.map +12 -0
  73. package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
  74. package/dist/{chunk-0y39rgsb.js → chunk-4tnrzqqh.js} +1 -1
  75. package/dist/chunk-58geavnf.js +29 -0
  76. package/dist/chunk-58geavnf.js.map +10 -0
  77. package/dist/{chunk-01kj2pbh.js → chunk-63fp9x3q.js} +97 -67
  78. package/dist/chunk-63fp9x3q.js.map +20 -0
  79. package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
  80. package/dist/chunk-69266efg.js.map +12 -0
  81. package/dist/{chunk-sepyxgpc.js → chunk-693f3zn8.js} +70 -28
  82. package/dist/chunk-693f3zn8.js.map +15 -0
  83. package/dist/{chunk-7zgecwy1.js → chunk-6x0pqh32.js} +12 -1
  84. package/dist/{chunk-7zgecwy1.js.map → chunk-6x0pqh32.js.map} +3 -3
  85. package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
  86. package/dist/{chunk-a0e6x5hd.js → chunk-898y24dd.js} +165 -90
  87. package/dist/chunk-898y24dd.js.map +15 -0
  88. package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
  89. package/dist/chunk-91kcnbf0.js.map +10 -0
  90. package/dist/{chunk-z0s4axeh.js → chunk-91wthfwe.js} +97 -21
  91. package/dist/{chunk-z0s4axeh.js.map → chunk-91wthfwe.js.map} +8 -7
  92. package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
  93. package/dist/chunk-96yw3pwd.js.map +10 -0
  94. package/dist/chunk-98cw09sw.js.map +2 -2
  95. package/dist/{chunk-g00bfdq6.js → chunk-9pfw47qx.js} +318 -257
  96. package/dist/chunk-9pfw47qx.js.map +44 -0
  97. package/dist/{chunk-5hz0fnca.js → chunk-a0073121.js} +64 -60
  98. package/dist/chunk-a0073121.js.map +12 -0
  99. package/dist/{chunk-cfvakeax.js → chunk-a69fkrtr.js} +5 -5
  100. package/dist/{chunk-72w2pxk7.js → chunk-bdhfn0ww.js} +11 -3
  101. package/dist/{chunk-72w2pxk7.js.map → chunk-bdhfn0ww.js.map} +3 -3
  102. package/dist/chunk-bep5rrdq.js +81 -0
  103. package/dist/chunk-bep5rrdq.js.map +10 -0
  104. package/dist/chunk-bxx3ms5t.js +29 -0
  105. package/dist/chunk-bxx3ms5t.js.map +10 -0
  106. package/dist/{chunk-v2vcg0w6.js → chunk-cbn96bve.js} +2 -2
  107. package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
  108. package/dist/chunk-cd234ba4.js.map +14 -0
  109. package/dist/{chunk-gq8vhakp.js → chunk-cvrbhvtr.js} +292 -104
  110. package/dist/chunk-cvrbhvtr.js.map +46 -0
  111. package/dist/{chunk-ms2tmn1k.js → chunk-d8yes9yx.js} +355 -100
  112. package/dist/chunk-d8yes9yx.js.map +20 -0
  113. package/dist/{chunk-pr2h4bv4.js → chunk-darm7eeg.js} +9 -9
  114. package/dist/{chunk-pr2h4bv4.js.map → chunk-darm7eeg.js.map} +3 -3
  115. package/dist/chunk-dmn70ztd.js.map +2 -2
  116. package/dist/chunk-drz59ve0.js +57 -0
  117. package/dist/chunk-drz59ve0.js.map +10 -0
  118. package/dist/{chunk-skz0hst3.js → chunk-dsfw1bdr.js} +6 -86
  119. package/dist/{chunk-skz0hst3.js.map → chunk-dsfw1bdr.js.map} +3 -3
  120. package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
  121. package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
  122. package/dist/chunk-ffwvdgk1.js +85 -0
  123. package/dist/chunk-ffwvdgk1.js.map +10 -0
  124. package/dist/chunk-gbcrz0gr.js +552 -0
  125. package/dist/chunk-gbcrz0gr.js.map +17 -0
  126. package/dist/{chunk-gqm76kse.js → chunk-gc226ten.js} +434 -177
  127. package/dist/chunk-gc226ten.js.map +62 -0
  128. package/dist/{chunk-awbhdqyc.js → chunk-gmt22nxx.js} +10 -16
  129. package/dist/chunk-gmt22nxx.js.map +10 -0
  130. package/dist/chunk-h89wz928.js +42 -0
  131. package/dist/chunk-h89wz928.js.map +10 -0
  132. package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
  133. package/dist/chunk-hgqpcmyr.js.map +12 -0
  134. package/dist/{chunk-gqh45d2n.js → chunk-ht4a7mjg.js} +76 -6
  135. package/dist/chunk-ht4a7mjg.js.map +15 -0
  136. package/dist/{chunk-x9m9x2eq.js → chunk-jhyc777j.js} +3 -3
  137. package/dist/{chunk-fh8kgex1.js → chunk-jmwy25mf.js} +76 -58
  138. package/dist/{chunk-fh8kgex1.js.map → chunk-jmwy25mf.js.map} +3 -3
  139. package/dist/{chunk-rb1xx120.js → chunk-k4kkp58d.js} +25 -8
  140. package/dist/chunk-k4kkp58d.js.map +11 -0
  141. package/dist/{chunk-jsy70480.js → chunk-ky7zpbtt.js} +366 -98
  142. package/dist/chunk-ky7zpbtt.js.map +19 -0
  143. package/dist/chunk-m4ehq95f.js +9 -0
  144. package/dist/chunk-m4ehq95f.js.map +10 -0
  145. package/dist/{chunk-17kfctj6.js → chunk-m8zkvep1.js} +2 -2
  146. package/dist/{chunk-z0271qkp.js → chunk-mdnw7nj8.js} +8 -6
  147. package/dist/chunk-mdnw7nj8.js.map +15 -0
  148. package/dist/{chunk-4zhmdsx6.js → chunk-mf6hwpzh.js} +121 -28
  149. package/dist/{chunk-4zhmdsx6.js.map → chunk-mf6hwpzh.js.map} +6 -6
  150. package/dist/{chunk-z30bv4ga.js → chunk-mr60an99.js} +5 -3
  151. package/dist/{chunk-z30bv4ga.js.map → chunk-mr60an99.js.map} +3 -3
  152. package/dist/chunk-n33e8dz8.js +191 -0
  153. package/dist/chunk-n33e8dz8.js.map +11 -0
  154. package/dist/chunk-p1683c0v.js +104 -0
  155. package/dist/chunk-p1683c0v.js.map +11 -0
  156. package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
  157. package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
  158. package/dist/chunk-rdghfsss.js.map +10 -0
  159. package/dist/{chunk-ftv470j8.js → chunk-rqtdtm43.js} +365 -67
  160. package/dist/chunk-rqtdtm43.js.map +50 -0
  161. package/dist/{chunk-dz5h08xv.js → chunk-rzcjp5m2.js} +28 -9
  162. package/dist/chunk-rzcjp5m2.js.map +25 -0
  163. package/dist/{chunk-f4w3yp4f.js → chunk-rzkr70gr.js} +108 -21
  164. package/dist/chunk-rzkr70gr.js.map +13 -0
  165. package/dist/{chunk-3ckk0xfj.js → chunk-s24qbp32.js} +18 -13
  166. package/dist/{chunk-3ckk0xfj.js.map → chunk-s24qbp32.js.map} +3 -3
  167. package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
  168. package/dist/chunk-t6f3tdnr.js.map +10 -0
  169. package/dist/{chunk-93csa55g.js → chunk-tw03bsmb.js} +11 -5
  170. package/dist/chunk-tw03bsmb.js.map +11 -0
  171. package/dist/chunk-vef6qa14.js +363 -0
  172. package/dist/chunk-vef6qa14.js.map +14 -0
  173. package/dist/{chunk-92vk7gta.js → chunk-vn3yh259.js} +1 -1
  174. package/dist/{chunk-g91qxjj0.js → chunk-w9bp61e7.js} +5 -5
  175. package/dist/{chunk-b19g04jk.js → chunk-xgptywp0.js} +4 -3
  176. package/dist/chunk-xgptywp0.js.map +11 -0
  177. package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
  178. package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
  179. package/dist/{chunk-1824gssz.js → chunk-y487ywrv.js} +4 -4
  180. package/dist/{chunk-7apz6hg4.js → chunk-y6vnvayj.js} +8 -4
  181. package/dist/chunk-y6vnvayj.js.map +10 -0
  182. package/dist/{chunk-wf88w4kp.js → chunk-ypj2wqtj.js} +3 -6
  183. package/dist/{chunk-wf88w4kp.js.map → chunk-ypj2wqtj.js.map} +4 -4
  184. package/dist/chunk-z3y5kg1x.js +14 -0
  185. package/dist/chunk-z3y5kg1x.js.map +10 -0
  186. package/dist/{chunk-38zv5rkr.js → chunk-z9h698s8.js} +1 -1
  187. package/dist/{chunk-38zv5rkr.js.map → chunk-z9h698s8.js.map} +2 -2
  188. package/dist/{chunk-8vj0rjgs.js → chunk-zdkcdshk.js} +3 -36
  189. package/dist/{chunk-8vj0rjgs.js.map → chunk-zdkcdshk.js.map} +3 -4
  190. package/dist/{chunk-358caqf5.js → chunk-znw0zvy4.js} +2 -2
  191. package/dist/datasets/validation.d.ts +4 -0
  192. package/dist/datasets/validation.d.ts.map +1 -1
  193. package/dist/datasets/write.d.ts.map +1 -1
  194. package/dist/datasets/write.js +5 -4
  195. package/dist/datasets/write.js.map +1 -1
  196. package/dist/edits/types.d.ts +19 -19
  197. package/dist/edits/types.d.ts.map +1 -1
  198. package/dist/error-reporting/capability.d.ts +3 -2
  199. package/dist/error-reporting/capability.d.ts.map +1 -1
  200. package/dist/error-reporting/internal.js +5 -4
  201. package/dist/error-reporting/internal.js.map +1 -1
  202. package/dist/error-reporting/reports.d.ts +10 -0
  203. package/dist/error-reporting/reports.d.ts.map +1 -1
  204. package/dist/error-reporting/types.d.ts +10 -2
  205. package/dist/error-reporting/types.d.ts.map +1 -1
  206. package/dist/errors/catalog.d.ts +16 -0
  207. package/dist/errors/catalog.d.ts.map +1 -1
  208. package/dist/errors/failure-message.d.ts +8 -0
  209. package/dist/errors/failure-message.d.ts.map +1 -0
  210. package/dist/errors/internal.d.ts.map +1 -1
  211. package/dist/errors/internal.js +3 -2
  212. package/dist/errors/internal.js.map +1 -1
  213. package/dist/events/envelope.d.ts +0 -12
  214. package/dist/events/envelope.d.ts.map +1 -1
  215. package/dist/events/index.d.ts +1 -1
  216. package/dist/events/index.d.ts.map +1 -1
  217. package/dist/events/index.js +5 -4
  218. package/dist/events/index.js.map +1 -1
  219. package/dist/events/service.d.ts +1 -2
  220. package/dist/events/service.d.ts.map +1 -1
  221. package/dist/events/toStoredEvent.d.ts +1 -2
  222. package/dist/events/toStoredEvent.d.ts.map +1 -1
  223. package/dist/events/types/index.d.ts +2 -1
  224. package/dist/events/types/index.d.ts.map +1 -1
  225. package/dist/execution/agent.d.ts +1 -2
  226. package/dist/execution/agent.d.ts.map +1 -1
  227. package/dist/execution/agent.js +48 -43
  228. package/dist/execution/agent.js.map +1 -1
  229. package/dist/execution/authorization.d.ts.map +1 -1
  230. package/dist/execution/authorized-object-reader.d.ts +3 -0
  231. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  232. package/dist/execution/kernel-operation.d.ts +4 -0
  233. package/dist/execution/kernel-operation.d.ts.map +1 -0
  234. package/dist/execution/primitive.d.ts +1 -2
  235. package/dist/execution/primitive.d.ts.map +1 -1
  236. package/dist/execution/primitive.js +47 -42
  237. package/dist/execution/primitive.js.map +3 -3
  238. package/dist/execution/request.d.ts +1 -2
  239. package/dist/execution/request.d.ts.map +1 -1
  240. package/dist/execution/request.js +48 -43
  241. package/dist/execution/request.js.map +3 -3
  242. package/dist/execution/types.d.ts +6 -0
  243. package/dist/execution/types.d.ts.map +1 -1
  244. package/dist/index.d.ts +20 -10
  245. package/dist/index.d.ts.map +1 -1
  246. package/dist/index.js +77 -62
  247. package/dist/index.js.map +1 -1
  248. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  249. package/dist/lake-storage/index.js +5 -4
  250. package/dist/lake-storage/index.js.map +1 -1
  251. package/dist/maintenance/ontology-maintenance.d.ts +11 -1
  252. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  253. package/dist/materialization/errors.d.ts +4 -2
  254. package/dist/materialization/errors.d.ts.map +1 -1
  255. package/dist/materialization/events.d.ts +27 -2
  256. package/dist/materialization/events.d.ts.map +1 -1
  257. package/dist/materialization/index.d.ts +1 -0
  258. package/dist/materialization/index.d.ts.map +1 -1
  259. package/dist/materialization/index.js +3 -3
  260. package/dist/materialization/model.d.ts +2 -0
  261. package/dist/materialization/model.d.ts.map +1 -1
  262. package/dist/materialization/vectors.d.ts +19 -0
  263. package/dist/materialization/vectors.d.ts.map +1 -0
  264. package/dist/materializer/context.d.ts.map +1 -1
  265. package/dist/materializer/edits/commit.d.ts.map +1 -1
  266. package/dist/materializer/edits/operations.d.ts +2 -1
  267. package/dist/materializer/edits/operations.d.ts.map +1 -1
  268. package/dist/materializer/edits/plan.d.ts +2 -2
  269. package/dist/materializer/edits/plan.d.ts.map +1 -1
  270. package/dist/materializer/edits/user-refs.d.ts +30 -0
  271. package/dist/materializer/edits/user-refs.d.ts.map +1 -0
  272. package/dist/materializer/edits/vector-authority.d.ts +6 -0
  273. package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
  274. package/dist/materializer/edits/vectors.d.ts +6 -0
  275. package/dist/materializer/edits/vectors.d.ts.map +1 -0
  276. package/dist/materializer/effective/build-events.d.ts +2 -2
  277. package/dist/materializer/effective/build-events.d.ts.map +1 -1
  278. package/dist/materializer/effective/validate.d.ts.map +1 -1
  279. package/dist/materializer/effective/vector-indexing.d.ts +7 -0
  280. package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
  281. package/dist/materializer/effective/vectors.d.ts +6 -0
  282. package/dist/materializer/effective/vectors.d.ts.map +1 -0
  283. package/dist/materializer/execution/scope.d.ts +11 -3
  284. package/dist/materializer/execution/scope.d.ts.map +1 -1
  285. package/dist/materializer/execution/work-executor.d.ts +2 -1
  286. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  287. package/dist/materializer/index.js +30 -27
  288. package/dist/materializer/index.js.map +1 -1
  289. package/dist/materializer/projections/replacement-plan.d.ts +2 -0
  290. package/dist/materializer/projections/replacement-plan.d.ts.map +1 -1
  291. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  292. package/dist/materializer/telemetry/plan.d.ts +2 -2
  293. package/dist/materializer/telemetry/plan.d.ts.map +1 -1
  294. package/dist/models/catalog-index.d.ts +15 -0
  295. package/dist/models/catalog-index.d.ts.map +1 -0
  296. package/dist/models/catalog.d.ts +27 -6
  297. package/dist/models/catalog.d.ts.map +1 -1
  298. package/dist/models/decision/catalog.d.ts +12 -0
  299. package/dist/models/decision/catalog.d.ts.map +1 -0
  300. package/dist/models/decision/errors.d.ts +7 -0
  301. package/dist/models/decision/errors.d.ts.map +1 -0
  302. package/dist/models/decision/output.d.ts +50 -0
  303. package/dist/models/decision/output.d.ts.map +1 -0
  304. package/dist/models/decision/questions.d.ts +14 -0
  305. package/dist/models/decision/questions.d.ts.map +1 -0
  306. package/dist/models/decision/runtime.d.ts +7 -0
  307. package/dist/models/decision/runtime.d.ts.map +1 -0
  308. package/dist/models/decision/types.d.ts +92 -0
  309. package/dist/models/decision/types.d.ts.map +1 -0
  310. package/dist/models/decision/validation.d.ts +7 -0
  311. package/dist/models/decision/validation.d.ts.map +1 -0
  312. package/dist/models/definitions.d.ts +1 -1
  313. package/dist/models/definitions.d.ts.map +1 -1
  314. package/dist/models/embedding-model.d.ts +60 -0
  315. package/dist/models/embedding-model.d.ts.map +1 -0
  316. package/dist/models/execution/binding.d.ts +2 -0
  317. package/dist/models/execution/binding.d.ts.map +1 -1
  318. package/dist/models/execution/embedding.d.ts +5 -0
  319. package/dist/models/execution/embedding.d.ts.map +1 -0
  320. package/dist/models/execution/index.js +32 -27
  321. package/dist/models/execution/index.js.map +1 -1
  322. package/dist/models/execution/model-call-recorder.d.ts +5 -1
  323. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  324. package/dist/models/execution/session.d.ts +21 -0
  325. package/dist/models/execution/session.d.ts.map +1 -0
  326. package/dist/models/execution.d.ts.map +1 -1
  327. package/dist/models/generation-types.d.ts +2 -0
  328. package/dist/models/generation-types.d.ts.map +1 -1
  329. package/dist/models/index.d.ts +9 -1
  330. package/dist/models/index.d.ts.map +1 -1
  331. package/dist/models/index.js +17 -7
  332. package/dist/models/index.js.map +1 -1
  333. package/dist/models/pricing.d.ts +3 -2
  334. package/dist/models/pricing.d.ts.map +1 -1
  335. package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
  336. package/dist/objects/execution.d.ts +21 -26
  337. package/dist/objects/execution.d.ts.map +1 -1
  338. package/dist/objects/index.js +33 -30
  339. package/dist/objects/index.js.map +1 -1
  340. package/dist/objects/query/executor.d.ts +3 -0
  341. package/dist/objects/query/executor.d.ts.map +1 -1
  342. package/dist/objects/query/index.d.ts +2 -0
  343. package/dist/objects/query/index.d.ts.map +1 -1
  344. package/dist/objects/query/index.js +42 -30
  345. package/dist/objects/query/index.js.map +1 -1
  346. package/dist/objects/query/ir.d.ts +14 -3
  347. package/dist/objects/query/ir.d.ts.map +1 -1
  348. package/dist/objects/query/normalize.d.ts.map +1 -1
  349. package/dist/objects/query/scalar-values.d.ts.map +1 -1
  350. package/dist/objects/query/validate.d.ts.map +1 -1
  351. package/dist/objects/sdk/object-handle.d.ts +6 -2
  352. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  353. package/dist/objects/sdk/object-set.d.ts +2 -3
  354. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  355. package/dist/objects/sdk/query-builder.d.ts +8 -10
  356. package/dist/objects/sdk/query-builder.d.ts.map +1 -1
  357. package/dist/objects/sdk/query-executor.d.ts +2 -0
  358. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  359. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  360. package/dist/objects/sdk/telemetry-channel.d.ts +1 -2
  361. package/dist/objects/sdk/telemetry-channel.d.ts.map +1 -1
  362. package/dist/objects/sdk/where.d.ts +2 -3
  363. package/dist/objects/sdk/where.d.ts.map +1 -1
  364. package/dist/objects/vectors/handle.d.ts +4 -0
  365. package/dist/objects/vectors/handle.d.ts.map +1 -0
  366. package/dist/objects/vectors/indexing-batch.d.ts +6 -0
  367. package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
  368. package/dist/objects/vectors/indexing-generate.d.ts +11 -0
  369. package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
  370. package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
  371. package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
  372. package/dist/objects/vectors/indexing-shared.d.ts +17 -0
  373. package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
  374. package/dist/objects/vectors/indexing-single.d.ts +4 -0
  375. package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
  376. package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
  377. package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
  378. package/dist/objects/vectors/indexing.d.ts +7 -0
  379. package/dist/objects/vectors/indexing.d.ts.map +1 -0
  380. package/dist/objects/vectors/profile.d.ts +13 -0
  381. package/dist/objects/vectors/profile.d.ts.map +1 -0
  382. package/dist/objects/vectors/query.d.ts +5 -0
  383. package/dist/objects/vectors/query.d.ts.map +1 -0
  384. package/dist/objects/vectors/resolve-query.d.ts +6 -0
  385. package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
  386. package/dist/objects/vectors/types.d.ts +11 -0
  387. package/dist/objects/vectors/types.d.ts.map +1 -0
  388. package/dist/ontology/builders.d.ts +11 -10
  389. package/dist/ontology/builders.d.ts.map +1 -1
  390. package/dist/ontology/index.d.ts +5 -2
  391. package/dist/ontology/index.d.ts.map +1 -1
  392. package/dist/ontology/index.js +7 -5
  393. package/dist/ontology/index.js.map +1 -1
  394. package/dist/ontology/inference/index.d.ts +34 -22
  395. package/dist/ontology/inference/index.d.ts.map +1 -1
  396. package/dist/ontology/internal.d.ts +1 -0
  397. package/dist/ontology/internal.d.ts.map +1 -1
  398. package/dist/ontology/internal.js +10 -7
  399. package/dist/ontology/internal.js.map +1 -1
  400. package/dist/ontology/primitives.d.ts +38 -0
  401. package/dist/ontology/primitives.d.ts.map +1 -0
  402. package/dist/ontology/query-capabilities.d.ts +38 -0
  403. package/dist/ontology/query-capabilities.d.ts.map +1 -0
  404. package/dist/ontology/refs.d.ts +23 -2
  405. package/dist/ontology/refs.d.ts.map +1 -1
  406. package/dist/ontology/registered.d.ts +16 -0
  407. package/dist/ontology/registered.d.ts.map +1 -0
  408. package/dist/ontology/registry.d.ts.map +1 -1
  409. package/dist/ontology/tokens.d.ts +35 -1
  410. package/dist/ontology/tokens.d.ts.map +1 -1
  411. package/dist/ontology/types.d.ts +26 -13
  412. package/dist/ontology/types.d.ts.map +1 -1
  413. package/dist/ontology/user-ref.d.ts +35 -0
  414. package/dist/ontology/user-ref.d.ts.map +1 -0
  415. package/dist/ontology/validation/definition.d.ts +3 -0
  416. package/dist/ontology/validation/definition.d.ts.map +1 -0
  417. package/dist/ontology/validation/index.d.ts +1 -1
  418. package/dist/ontology/validation/index.d.ts.map +1 -1
  419. package/dist/ontology/validation/normalize.d.ts.map +1 -1
  420. package/dist/ontology/validation/properties.d.ts +6 -1
  421. package/dist/ontology/validation/properties.d.ts.map +1 -1
  422. package/dist/ontology/validation/query.d.ts.map +1 -1
  423. package/dist/ontology/validation/schema.d.ts +1 -1
  424. package/dist/ontology/validation/schema.d.ts.map +1 -1
  425. package/dist/ontology/vector-profiles.d.ts +4 -0
  426. package/dist/ontology/vector-profiles.d.ts.map +1 -0
  427. package/dist/pipelines/index.js +32 -29
  428. package/dist/pipelines/index.js.map +1 -1
  429. package/dist/predicates/types.d.ts +53 -3
  430. package/dist/predicates/types.d.ts.map +1 -1
  431. package/dist/projections/builders.d.ts +19 -1
  432. package/dist/projections/builders.d.ts.map +1 -1
  433. package/dist/projections/internal.js +28 -25
  434. package/dist/projections/internal.js.map +1 -1
  435. package/dist/projections/validation.d.ts.map +1 -1
  436. package/dist/query.js +2 -2
  437. package/dist/queues/in-memory.d.ts +3 -2
  438. package/dist/queues/in-memory.d.ts.map +1 -1
  439. package/dist/queues/index.d.ts +1 -1
  440. package/dist/queues/index.d.ts.map +1 -1
  441. package/dist/queues/index.js +1 -1
  442. package/dist/queues/types.d.ts +5 -0
  443. package/dist/queues/types.d.ts.map +1 -1
  444. package/dist/runtime/create.d.ts +4 -3
  445. package/dist/runtime/create.d.ts.map +1 -1
  446. package/dist/runtime/host.d.ts +10 -7
  447. package/dist/runtime/host.d.ts.map +1 -1
  448. package/dist/runtime/index.d.ts +1 -1
  449. package/dist/runtime/index.d.ts.map +1 -1
  450. package/dist/runtime/internal.d.ts +3 -0
  451. package/dist/runtime/internal.d.ts.map +1 -1
  452. package/dist/runtime/internal.js +49 -1
  453. package/dist/runtime/internal.js.map +1 -1
  454. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  455. package/dist/runtime/sixb.d.ts +11 -6
  456. package/dist/runtime/sixb.d.ts.map +1 -1
  457. package/dist/runtime/types.d.ts +182 -187
  458. package/dist/runtime/types.d.ts.map +1 -1
  459. package/dist/sandboxes/auth.d.ts +16 -0
  460. package/dist/sandboxes/auth.d.ts.map +1 -0
  461. package/dist/sandboxes/config.d.ts +5 -0
  462. package/dist/sandboxes/config.d.ts.map +1 -0
  463. package/dist/sandboxes/configuration.d.ts +41 -0
  464. package/dist/sandboxes/configuration.d.ts.map +1 -0
  465. package/dist/sandboxes/environment.d.ts +13 -0
  466. package/dist/sandboxes/environment.d.ts.map +1 -0
  467. package/dist/sandboxes/errors.d.ts +1 -1
  468. package/dist/sandboxes/errors.d.ts.map +1 -1
  469. package/dist/sandboxes/index.d.ts +6 -1
  470. package/dist/sandboxes/index.d.ts.map +1 -1
  471. package/dist/sandboxes/index.js +16 -3
  472. package/dist/sandboxes/index.js.map +1 -1
  473. package/dist/sandboxes/sandbox.d.ts +39 -4
  474. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  475. package/dist/shared/params/builders.d.ts +25 -0
  476. package/dist/shared/params/builders.d.ts.map +1 -0
  477. package/dist/shared/params/types.d.ts +48 -0
  478. package/dist/shared/params/types.d.ts.map +1 -0
  479. package/dist/shared/params/user-refs.d.ts +19 -0
  480. package/dist/shared/params/user-refs.d.ts.map +1 -0
  481. package/dist/shared/params/validation.d.ts +15 -0
  482. package/dist/shared/params/validation.d.ts.map +1 -0
  483. package/dist/shares/compiler.d.ts.map +1 -1
  484. package/dist/shares/internal.js +29 -26
  485. package/dist/shares/internal.js.map +2 -2
  486. package/dist/storage/action-runs/failure.js +4 -3
  487. package/dist/storage/action-runs/failure.js.map +1 -1
  488. package/dist/storage/action-runs/provider.js +1 -1
  489. package/dist/storage/action-runs/types.d.ts +1 -1
  490. package/dist/storage/action-runs/types.d.ts.map +1 -1
  491. package/dist/storage/agents/in-memory.d.ts +2 -1
  492. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  493. package/dist/storage/agents/index.d.ts +1 -1
  494. package/dist/storage/agents/index.d.ts.map +1 -1
  495. package/dist/storage/agents/provider.d.ts +5 -1
  496. package/dist/storage/agents/provider.d.ts.map +1 -1
  497. package/dist/storage/agents/provider.js +8 -4
  498. package/dist/storage/agents/provider.js.map +1 -1
  499. package/dist/storage/agents/types.d.ts +49 -0
  500. package/dist/storage/agents/types.d.ts.map +1 -1
  501. package/dist/storage/ai-cost/analytics.d.ts +1 -0
  502. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  503. package/dist/storage/ai-cost/index.d.ts +1 -1
  504. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  505. package/dist/storage/ai-cost/provider.js +2 -2
  506. package/dist/storage/ai-cost/types.d.ts +14 -2
  507. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  508. package/dist/storage/ai-limits/enforcement.js +4 -3
  509. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  510. package/dist/storage/auth/in-memory/access-tokens.d.ts.map +1 -1
  511. package/dist/storage/auth/in-memory/auth-storage.d.ts.map +1 -1
  512. package/dist/storage/auth/in-memory/device-authorizations.d.ts.map +1 -1
  513. package/dist/storage/auth/in-memory/sessions.d.ts +8 -1
  514. package/dist/storage/auth/in-memory/sessions.d.ts.map +1 -1
  515. package/dist/storage/auth/in-memory/shared.d.ts.map +1 -1
  516. package/dist/storage/auth/index.d.ts +1 -1
  517. package/dist/storage/auth/index.d.ts.map +1 -1
  518. package/dist/storage/auth/types.d.ts +62 -13
  519. package/dist/storage/auth/types.d.ts.map +1 -1
  520. package/dist/storage/connector-connections/provider.js +3 -2
  521. package/dist/storage/connector-connections/provider.js.map +2 -2
  522. package/dist/storage/executions/provider.d.ts +3 -3
  523. package/dist/storage/executions/provider.d.ts.map +1 -1
  524. package/dist/storage/executions/provider.js +13 -11
  525. package/dist/storage/executions/provider.js.map +3 -3
  526. package/dist/storage/executions/types.d.ts +3 -0
  527. package/dist/storage/executions/types.d.ts.map +1 -1
  528. package/dist/storage/executions/validation.d.ts.map +1 -1
  529. package/dist/storage/file-upload-sessions/in-memory.d.ts +9 -18
  530. package/dist/storage/file-upload-sessions/in-memory.d.ts.map +1 -1
  531. package/dist/storage/file-upload-sessions/index.d.ts +1 -1
  532. package/dist/storage/file-upload-sessions/index.d.ts.map +1 -1
  533. package/dist/storage/file-upload-sessions/provider.d.ts +52 -0
  534. package/dist/storage/file-upload-sessions/provider.d.ts.map +1 -0
  535. package/dist/storage/file-upload-sessions/provider.js +24 -0
  536. package/dist/storage/file-upload-sessions/provider.js.map +9 -0
  537. package/dist/storage/file-upload-sessions/types.d.ts +19 -1
  538. package/dist/storage/file-upload-sessions/types.d.ts.map +1 -1
  539. package/dist/storage/file-upload-sessions/utils.d.ts +8 -2
  540. package/dist/storage/file-upload-sessions/utils.d.ts.map +1 -1
  541. package/dist/storage/index.d.ts +8 -6
  542. package/dist/storage/index.d.ts.map +1 -1
  543. package/dist/storage/index.js +37 -30
  544. package/dist/storage/index.js.map +1 -1
  545. package/dist/storage/internal.js +11 -9
  546. package/dist/storage/internal.js.map +1 -1
  547. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  548. package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
  549. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  550. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  551. package/dist/storage/objects/in-memory/storage.d.ts +7 -0
  552. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  553. package/dist/storage/objects/types.d.ts +2 -0
  554. package/dist/storage/objects/types.d.ts.map +1 -1
  555. package/dist/storage/ontology/commits.d.ts +7 -2
  556. package/dist/storage/ontology/commits.d.ts.map +1 -1
  557. package/dist/storage/ontology/in-memory/index.d.ts +4 -0
  558. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  559. package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
  560. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  561. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
  562. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  563. package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
  564. package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
  565. package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
  566. package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
  567. package/dist/storage/ontology/index.d.ts +6 -0
  568. package/dist/storage/ontology/index.d.ts.map +1 -1
  569. package/dist/storage/ontology/provider-work.d.ts.map +1 -1
  570. package/dist/storage/ontology/provider.d.ts +14 -1
  571. package/dist/storage/ontology/provider.d.ts.map +1 -1
  572. package/dist/storage/ontology/provider.js +9 -3
  573. package/dist/storage/ontology/provider.js.map +1 -1
  574. package/dist/storage/ontology/vector-indexing.d.ts +94 -0
  575. package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
  576. package/dist/storage/ontology/vectors.d.ts +56 -0
  577. package/dist/storage/ontology/vectors.d.ts.map +1 -0
  578. package/dist/storage/operation-scope.d.ts.map +1 -1
  579. package/dist/storage/operation-scope.js +1 -1
  580. package/dist/storage/projection-runs/provider.js +4 -3
  581. package/dist/storage/projection-runs/provider.js.map +1 -1
  582. package/dist/storage/types.d.ts +2 -2
  583. package/dist/storage/types.d.ts.map +1 -1
  584. package/dist/storage/workflow-interventions/index.d.ts +1 -1
  585. package/dist/storage/workflow-interventions/index.d.ts.map +1 -1
  586. package/dist/storage/workflow-interventions/types.d.ts +5 -8
  587. package/dist/storage/workflow-interventions/types.d.ts.map +1 -1
  588. package/dist/storage/workflow-runs/provider.js +10 -8
  589. package/dist/storage/workflow-runs/provider.js.map +1 -1
  590. package/dist/syncs/index.js +33 -30
  591. package/dist/syncs/index.js.map +1 -1
  592. package/dist/testing/action-execution.d.ts +4 -0
  593. package/dist/testing/action-execution.d.ts.map +1 -1
  594. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  595. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  596. package/dist/testing/auth-storage-contract.d.ts.map +1 -1
  597. package/dist/testing/execution.d.ts +1 -2
  598. package/dist/testing/execution.d.ts.map +1 -1
  599. package/dist/testing/file-upload-session-storage-contract.d.ts +12 -0
  600. package/dist/testing/file-upload-session-storage-contract.d.ts.map +1 -0
  601. package/dist/testing/index.d.ts +2 -0
  602. package/dist/testing/index.d.ts.map +1 -1
  603. package/dist/testing/index.js +2351 -1263
  604. package/dist/testing/index.js.map +19 -17
  605. package/dist/testing/materializer-storage-contract.d.ts.map +1 -1
  606. package/dist/testing/object-query-contract.d.ts.map +1 -1
  607. package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
  608. package/dist/testing/ontology-contract-fixture.d.ts +8 -0
  609. package/dist/testing/ontology-contract-fixture.d.ts.map +1 -1
  610. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  611. package/dist/testing/queues-contract.d.ts.map +1 -1
  612. package/dist/testing/sandboxes-contract.d.ts.map +1 -1
  613. package/dist/testing/workflow-intervention-storage-contract.d.ts +8 -0
  614. package/dist/testing/workflow-intervention-storage-contract.d.ts.map +1 -0
  615. package/dist/webhooks/internal.js +29 -26
  616. package/dist/webhooks/internal.js.map +2 -2
  617. package/dist/webhooks/types.d.ts +2 -2
  618. package/dist/webhooks/types.d.ts.map +1 -1
  619. package/dist/workers/index.js +3 -2
  620. package/dist/workers/index.js.map +2 -2
  621. package/dist/workflows/failure.d.ts.map +1 -1
  622. package/dist/workflows/index.js +51 -45
  623. package/dist/workflows/index.js.map +1 -1
  624. package/dist/workflows/run-dispatch.d.ts.map +1 -1
  625. package/dist/workflows/types.d.ts +2 -2
  626. package/dist/workflows/types.d.ts.map +1 -1
  627. package/package.json +7 -1
  628. package/src/actions/builders/params.ts +1 -48
  629. package/src/actions/index.ts +0 -3
  630. package/src/actions/read-facade.ts +102 -62
  631. package/src/actions/request.ts +13 -0
  632. package/src/actions/run-dispatch.ts +3 -0
  633. package/src/actions/types/context.ts +17 -65
  634. package/src/actions/types/params.ts +16 -75
  635. package/src/actions/validation.ts +7 -84
  636. package/src/agents/authority.ts +1 -1
  637. package/src/agents/errors.ts +3 -0
  638. package/src/agents/execution.ts +67 -15
  639. package/src/agents/ids.ts +8 -0
  640. package/src/agents/index.ts +1 -0
  641. package/src/agents/request.ts +11 -0
  642. package/src/agents/sandbox.ts +44 -0
  643. package/src/agents/validation.ts +2 -108
  644. package/src/assert-never.ts +7 -0
  645. package/src/auth/client-address.ts +12 -0
  646. package/src/auth/csrf.ts +14 -5
  647. package/src/auth/index.ts +3 -2
  648. package/src/auth/runtime.ts +299 -277
  649. package/src/auth/session-cache.ts +18 -6
  650. package/src/auth/sessions.ts +30 -0
  651. package/src/auth/types.ts +7 -17
  652. package/src/bootstrap/index.ts +1 -0
  653. package/src/bootstrap/ontology-type-manifest.ts +112 -60
  654. package/src/datasets/validation.ts +40 -11
  655. package/src/datasets/write.ts +8 -11
  656. package/src/edits/types.ts +47 -63
  657. package/src/error-reporting/capability.ts +11 -0
  658. package/src/error-reporting/reports.ts +23 -0
  659. package/src/error-reporting/types.ts +12 -1
  660. package/src/errors/catalog.ts +16 -0
  661. package/src/errors/failure-message.ts +15 -0
  662. package/src/errors/internal.ts +57 -25
  663. package/src/events/envelope.ts +0 -13
  664. package/src/events/index.ts +1 -1
  665. package/src/events/service.ts +1 -11
  666. package/src/events/toStoredEvent.ts +1 -3
  667. package/src/events/types/index.ts +1 -1
  668. package/src/execution/agent.ts +1 -2
  669. package/src/execution/authorization.ts +12 -5
  670. package/src/execution/authorized-object-reader.ts +42 -9
  671. package/src/execution/kernel-operation.ts +27 -0
  672. package/src/execution/primitive.ts +1 -2
  673. package/src/execution/request.ts +1 -2
  674. package/src/execution/scopes.ts +2 -0
  675. package/src/execution/types.ts +4 -4
  676. package/src/index.ts +68 -8
  677. package/src/lake-storage/in-memory.ts +5 -3
  678. package/src/maintenance/ontology-maintenance.ts +77 -1
  679. package/src/materialization/errors.ts +4 -2
  680. package/src/materialization/events.ts +27 -2
  681. package/src/materialization/index.ts +1 -0
  682. package/src/materialization/model.ts +2 -0
  683. package/src/materialization/vectors.ts +18 -0
  684. package/src/materializer/README.md +16 -0
  685. package/src/materializer/context.ts +10 -0
  686. package/src/materializer/edits/commit.ts +29 -13
  687. package/src/materializer/edits/operations.ts +32 -4
  688. package/src/materializer/edits/plan.ts +4 -5
  689. package/src/materializer/edits/user-refs.ts +115 -0
  690. package/src/materializer/edits/vector-authority.ts +108 -0
  691. package/src/materializer/edits/vectors.ts +100 -0
  692. package/src/materializer/effective/build-events.ts +4 -5
  693. package/src/materializer/effective/validate.ts +10 -3
  694. package/src/materializer/effective/vector-indexing.ts +84 -0
  695. package/src/materializer/effective/vectors.ts +47 -0
  696. package/src/materializer/execution/scope.ts +40 -7
  697. package/src/materializer/execution/work-executor.ts +11 -3
  698. package/src/materializer/projections/replace.ts +3 -1
  699. package/src/materializer/projections/replacement-plan.ts +4 -0
  700. package/src/materializer/shared/normalize.ts +11 -0
  701. package/src/materializer/telemetry/append.ts +5 -13
  702. package/src/materializer/telemetry/plan.ts +4 -5
  703. package/src/models/catalog-index.ts +38 -0
  704. package/src/models/catalog.ts +66 -38
  705. package/src/models/decision/catalog.ts +32 -0
  706. package/src/models/decision/errors.ts +18 -0
  707. package/src/models/decision/output.ts +101 -0
  708. package/src/models/decision/questions.ts +29 -0
  709. package/src/models/decision/runtime.ts +188 -0
  710. package/src/models/decision/types.ts +109 -0
  711. package/src/models/decision/validation.ts +335 -0
  712. package/src/models/definitions.ts +1 -1
  713. package/src/models/embedding-model.ts +129 -0
  714. package/src/models/execution/README.md +63 -0
  715. package/src/models/execution/binding.ts +2 -0
  716. package/src/models/execution/embedding.ts +133 -0
  717. package/src/models/execution/model-call-recorder.ts +42 -30
  718. package/src/models/execution/session.ts +81 -0
  719. package/src/models/execution.ts +10 -52
  720. package/src/models/generation-types.ts +2 -0
  721. package/src/models/index.ts +37 -0
  722. package/src/models/pricing.ts +1 -2
  723. package/src/objects/authorized-ontology-view.ts +12 -8
  724. package/src/objects/execution.ts +34 -61
  725. package/src/objects/query/executor.ts +25 -7
  726. package/src/objects/query/explain.ts +7 -2
  727. package/src/objects/query/index.ts +2 -0
  728. package/src/objects/query/ir.ts +13 -2
  729. package/src/objects/query/normalize.ts +5 -1
  730. package/src/objects/query/planner.ts +1 -0
  731. package/src/objects/query/scalar-values.ts +19 -0
  732. package/src/objects/query/validate.ts +129 -117
  733. package/src/objects/sdk/object-handle.ts +11 -8
  734. package/src/objects/sdk/object-set.ts +9 -15
  735. package/src/objects/sdk/query-builder.ts +66 -72
  736. package/src/objects/sdk/query-executor.ts +2 -1
  737. package/src/objects/sdk/runtime-query-executor.ts +6 -2
  738. package/src/objects/sdk/telemetry-channel.ts +6 -7
  739. package/src/objects/sdk/where.ts +6 -13
  740. package/src/objects/vectors/README.md +59 -0
  741. package/src/objects/vectors/handle.ts +91 -0
  742. package/src/objects/vectors/indexing-batch.ts +163 -0
  743. package/src/objects/vectors/indexing-generate.ts +184 -0
  744. package/src/objects/vectors/indexing-runtime.ts +17 -0
  745. package/src/objects/vectors/indexing-shared.ts +188 -0
  746. package/src/objects/vectors/indexing-single.ts +51 -0
  747. package/src/objects/vectors/indexing-store-batch.ts +62 -0
  748. package/src/objects/vectors/indexing.ts +23 -0
  749. package/src/objects/vectors/profile.ts +64 -0
  750. package/src/objects/vectors/query.ts +16 -0
  751. package/src/objects/vectors/resolve-query.ts +89 -0
  752. package/src/objects/vectors/types.ts +10 -0
  753. package/src/ontology/builders.ts +15 -11
  754. package/src/ontology/index.ts +6 -0
  755. package/src/ontology/inference/index.ts +56 -36
  756. package/src/ontology/internal.ts +1 -0
  757. package/src/ontology/json-schema.ts +12 -0
  758. package/src/ontology/primitives.ts +91 -0
  759. package/src/ontology/query-capabilities.ts +136 -0
  760. package/src/ontology/refs.ts +33 -6
  761. package/src/ontology/registered.ts +22 -0
  762. package/src/ontology/registry.ts +14 -3
  763. package/src/ontology/tokens.ts +41 -2
  764. package/src/ontology/types.ts +28 -12
  765. package/src/ontology/user-ref.ts +120 -0
  766. package/src/ontology/validation/definition.ts +93 -0
  767. package/src/ontology/validation/index.ts +1 -0
  768. package/src/ontology/validation/normalize.ts +39 -3
  769. package/src/ontology/validation/properties.ts +109 -23
  770. package/src/ontology/validation/query.ts +44 -92
  771. package/src/ontology/validation/schema.ts +101 -23
  772. package/src/ontology/vector-profiles.ts +35 -0
  773. package/src/predicates/types.ts +43 -33
  774. package/src/projections/builders.ts +24 -3
  775. package/src/projections/validation.ts +15 -1
  776. package/src/queues/in-memory.ts +5 -0
  777. package/src/queues/index.ts +1 -0
  778. package/src/queues/types.ts +10 -0
  779. package/src/runtime/create.ts +7 -6
  780. package/src/runtime/host.ts +44 -10
  781. package/src/runtime/index.ts +3 -2
  782. package/src/runtime/internal.ts +3 -0
  783. package/src/runtime/resolve-definitions.ts +19 -1
  784. package/src/runtime/sixb.ts +25 -17
  785. package/src/runtime/types.ts +288 -478
  786. package/src/sandboxes/README.md +41 -0
  787. package/src/sandboxes/auth.ts +17 -0
  788. package/src/sandboxes/config.ts +37 -0
  789. package/src/sandboxes/configuration.ts +268 -0
  790. package/src/sandboxes/environment.ts +107 -0
  791. package/src/sandboxes/errors.ts +1 -1
  792. package/src/sandboxes/index.ts +15 -0
  793. package/src/sandboxes/sandbox.ts +42 -4
  794. package/src/shared/params/builders.ts +50 -0
  795. package/src/shared/params/types.ts +85 -0
  796. package/src/shared/params/user-refs.ts +48 -0
  797. package/src/shared/params/validation.ts +114 -0
  798. package/src/shares/compiler.ts +6 -16
  799. package/src/storage/action-runs/types.ts +1 -0
  800. package/src/storage/agents/in-memory.ts +25 -1
  801. package/src/storage/agents/index.ts +3 -0
  802. package/src/storage/agents/provider.ts +105 -0
  803. package/src/storage/agents/types.ts +54 -0
  804. package/src/storage/ai-cost/analytics.ts +59 -21
  805. package/src/storage/ai-cost/index.ts +1 -0
  806. package/src/storage/ai-cost/types.ts +19 -2
  807. package/src/storage/auth/in-memory/access-tokens.ts +5 -2
  808. package/src/storage/auth/in-memory/auth-storage.ts +5 -8
  809. package/src/storage/auth/in-memory/device-authorizations.ts +0 -2
  810. package/src/storage/auth/in-memory/sessions.ts +69 -1
  811. package/src/storage/auth/in-memory/shared.ts +13 -7
  812. package/src/storage/auth/index.ts +2 -1
  813. package/src/storage/auth/types.ts +57 -13
  814. package/src/storage/executions/provider.ts +24 -12
  815. package/src/storage/executions/types.ts +1 -0
  816. package/src/storage/executions/validation.ts +8 -4
  817. package/src/storage/file-upload-sessions/in-memory.ts +64 -113
  818. package/src/storage/file-upload-sessions/index.ts +1 -0
  819. package/src/storage/file-upload-sessions/provider.ts +258 -0
  820. package/src/storage/file-upload-sessions/types.ts +20 -1
  821. package/src/storage/file-upload-sessions/utils.ts +25 -9
  822. package/src/storage/index.ts +18 -3
  823. package/src/storage/objects/in-memory/query.ts +38 -14
  824. package/src/storage/objects/in-memory/read-scope.ts +9 -2
  825. package/src/storage/objects/in-memory/read-source.ts +5 -0
  826. package/src/storage/objects/in-memory/selected-reader.ts +5 -1
  827. package/src/storage/objects/in-memory/storage.ts +19 -1
  828. package/src/storage/objects/types.ts +2 -0
  829. package/src/storage/ontology/commits.ts +7 -2
  830. package/src/storage/ontology/in-memory/index.ts +20 -0
  831. package/src/storage/ontology/in-memory/materializations.ts +19 -34
  832. package/src/storage/ontology/in-memory/shared-state.ts +9 -0
  833. package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
  834. package/src/storage/ontology/in-memory/vectors.ts +73 -0
  835. package/src/storage/ontology/index.ts +14 -0
  836. package/src/storage/ontology/provider-header-validation.ts +57 -0
  837. package/src/storage/ontology/provider-work.ts +15 -3
  838. package/src/storage/ontology/provider.ts +59 -1
  839. package/src/storage/ontology/vector-indexing.ts +98 -0
  840. package/src/storage/ontology/vectors.ts +48 -0
  841. package/src/storage/operation-scope.ts +2 -0
  842. package/src/storage/types.ts +3 -1
  843. package/src/storage/workflow-interventions/index.ts +0 -1
  844. package/src/storage/workflow-interventions/types.ts +5 -9
  845. package/src/testing/action-execution.ts +13 -3
  846. package/src/testing/agent-storage-contract.ts +246 -0
  847. package/src/testing/ai-cost-storage-contract.ts +134 -0
  848. package/src/testing/auth-storage-contract.ts +149 -62
  849. package/src/testing/execution-storage-contract.ts +1 -2
  850. package/src/testing/execution.ts +4 -7
  851. package/src/testing/file-upload-session-storage-contract.ts +335 -0
  852. package/src/testing/index.ts +8 -0
  853. package/src/testing/materializer-storage-contract.ts +86 -4
  854. package/src/testing/object-query-contract.ts +162 -27
  855. package/src/testing/object-read-scope-contract.ts +1 -5
  856. package/src/testing/ontology-contract-fixture.ts +23 -3
  857. package/src/testing/ontology-storage-contract.ts +58 -0
  858. package/src/testing/queues-contract.ts +31 -0
  859. package/src/testing/sandboxes-contract.ts +27 -0
  860. package/src/testing/workflow-intervention-storage-contract.ts +203 -0
  861. package/src/webhooks/types.ts +2 -2
  862. package/src/workflows/failure.ts +10 -4
  863. package/src/workflows/run-dispatch.ts +12 -1
  864. package/src/workflows/snapshot.ts +16 -7
  865. package/src/workflows/types.ts +2 -2
  866. package/src/workflows/validation.ts +2 -2
  867. package/dist/chunk-01kj2pbh.js.map +0 -19
  868. package/dist/chunk-5hz0fnca.js.map +0 -12
  869. package/dist/chunk-653vwrzr.js.map +0 -10
  870. package/dist/chunk-7apz6hg4.js.map +0 -10
  871. package/dist/chunk-7bs40fe1.js.map +0 -12
  872. package/dist/chunk-860dwwy0.js.map +0 -14
  873. package/dist/chunk-93csa55g.js.map +0 -11
  874. package/dist/chunk-a0e6x5hd.js.map +0 -14
  875. package/dist/chunk-aa6z4a19.js.map +0 -12
  876. package/dist/chunk-ap0g1g74.js.map +0 -11
  877. package/dist/chunk-awbhdqyc.js.map +0 -10
  878. package/dist/chunk-b19g04jk.js.map +0 -11
  879. package/dist/chunk-dz5h08xv.js.map +0 -25
  880. package/dist/chunk-f0rwz2vh.js.map +0 -11
  881. package/dist/chunk-f4w3yp4f.js.map +0 -12
  882. package/dist/chunk-ftv470j8.js.map +0 -45
  883. package/dist/chunk-g00bfdq6.js.map +0 -43
  884. package/dist/chunk-gq8vhakp.js.map +0 -44
  885. package/dist/chunk-gqh45d2n.js.map +0 -15
  886. package/dist/chunk-gqm76kse.js.map +0 -58
  887. package/dist/chunk-jsy70480.js.map +0 -15
  888. package/dist/chunk-mrp7k0pw.js.map +0 -10
  889. package/dist/chunk-ms2tmn1k.js.map +0 -17
  890. package/dist/chunk-rb1xx120.js.map +0 -11
  891. package/dist/chunk-sepyxgpc.js.map +0 -15
  892. package/dist/chunk-yv79ncbv.js.map +0 -10
  893. package/dist/chunk-z0271qkp.js.map +0 -15
  894. package/dist/chunk-z3y411fq.js +0 -99
  895. package/dist/chunk-z3y411fq.js.map +0 -11
  896. /package/dist/{chunk-1yefycb1.js.map → chunk-2hbhn1ff.js.map} +0 -0
  897. /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
  898. /package/dist/{chunk-0y39rgsb.js.map → chunk-4tnrzqqh.js.map} +0 -0
  899. /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
  900. /package/dist/{chunk-cfvakeax.js.map → chunk-a69fkrtr.js.map} +0 -0
  901. /package/dist/{chunk-v2vcg0w6.js.map → chunk-cbn96bve.js.map} +0 -0
  902. /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
  903. /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
  904. /package/dist/{chunk-x9m9x2eq.js.map → chunk-jhyc777j.js.map} +0 -0
  905. /package/dist/{chunk-17kfctj6.js.map → chunk-m8zkvep1.js.map} +0 -0
  906. /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
  907. /package/dist/{chunk-92vk7gta.js.map → chunk-vn3yh259.js.map} +0 -0
  908. /package/dist/{chunk-g91qxjj0.js.map → chunk-w9bp61e7.js.map} +0 -0
  909. /package/dist/{chunk-1824gssz.js.map → chunk-y487ywrv.js.map} +0 -0
  910. /package/dist/{chunk-358caqf5.js.map → chunk-znw0zvy4.js.map} +0 -0
@@ -51,6 +51,8 @@ Materializer -> semantic planning and cross-store transaction orchestration
51
51
 
52
52
  Every ontology commit references its immutable execution through `executionId`. Storage providers enforce that reference. `origin` remains the semantic idempotency and run-correlation key: it says which runtime request, Action, projection replacement, or telemetry batch the commit represents; the execution says under which durable authority it ran. Neither field duplicates the other.
53
53
 
54
+ A commit and each of its events also carry a copy of two execution facts, so consumers can answer "who changed this" without reading the execution: `requestedBy`, the principal on whose behalf the execution chain runs (absent for automatic, anonymous, or auth-disabled work), and `executor`, the request, primitive run, Agent run, or kernel operation that wrote. Both are derived from the bound scope in `execution/scope.ts`, which is already proven identical to the durable record, so they are a pure function of `executionId` and never caller input. Authority is deliberately not copied: it stays on the execution's `authorizationRef`. Header validation requires an Action or projection origin to name the exact primitive run in `executor`, and provider work requires every event to carry its commit's attribution.
55
+
54
56
  Run records do not duplicate ontology commit ids or semantic commit history. Replacement projections need no resume checkpoint; projection telemetry stores only its next batch/row checkpoint on the run.
55
57
 
56
58
  Logical origins are unique in the ontology ledger: one commit per Action run, one per replacement
@@ -124,3 +126,17 @@ finish still commit atomically.
124
126
  Keep use-case entrypoints explicit. Share mechanics only after they have identical semantics; do
125
127
  not hide projection candidate lifecycle, edit continuation, or telemetry batching behind a generic
126
128
  workflow engine.
129
+
130
+ ## Vector profiles
131
+
132
+ The SDK's explicit `index()` captures an internal `PreparedObjectVector`: object/profile identity,
133
+ configuration and source fingerprints, canonical input text, object revision and current vector
134
+ commit id. Source values stay local to preparation rather than being copied into the write payload.
135
+ Text is ordered JSON pairs of source names and values; missing/null values become `null`, while
136
+ empty strings remain distinct. The configuration includes an encoding version.
137
+
138
+ The configured model runs outside the transaction. Atomic edits then verify the object revision,
139
+ source/configuration fingerprints and vector commit id before storing validated float32 values.
140
+ An unrelated edit may conservatively reject in-flight indexing even when an existing vector remains
141
+ valid. A provider failure leaves the current representation untouched and is never retried here.
142
+ Effective-state changes invalidate affected profiles in the same transaction as the object write.
@@ -49,6 +49,16 @@ export function createMaterializerContext(input: {
49
49
  "Materializer Ontology does not match the Ontology pinned by its projection registry."
50
50
  )
51
51
  }
52
+ if (
53
+ (!input.storage.ontology.vectors || !input.storage.ontology.vectorIndexing) &&
54
+ input.ontology
55
+ .listObjectTypes()
56
+ .some((type) => Object.keys(type.search?.vectors ?? {}).length > 0)
57
+ ) {
58
+ throw new MaterializationValidationError(
59
+ "Storage does not support transactional vector profiles and automatic indexing."
60
+ )
61
+ }
52
62
  const dependencies = input.dependencies ?? {}
53
63
  const maxSerializationRetries = dependencies.maxSerializationRetries ?? 2
54
64
  if (!Number.isSafeInteger(maxSerializationRetries) || maxSerializationRetries < 0) {
@@ -34,6 +34,9 @@ import { compileEditExecutionUnits, type EditExecutionUnit } from "./execution-u
34
34
  import { loadEditWorkingState } from "./load-state"
35
35
  import { applyEditOperation, type EditUndoJournal, undoEditJournal } from "./operations"
36
36
  import { stageEditPlan } from "./plan"
37
+ import { loadReferencedUsers, type ReferencedUsers } from "./user-refs"
38
+ import { authorizeVectorIndexingCommit } from "./vector-authority"
39
+ import { commitVectorWrites } from "./vectors"
37
40
  import type { EditWorkingState } from "./working-state"
38
41
 
39
42
  type NormalizedEditCommit = ReturnType<typeof normalizeOntologyEditCommit>
@@ -43,20 +46,22 @@ interface PreparedEditCommit {
43
46
  readonly identity: TimedCommitIdentity
44
47
  readonly origin: OntologyMaterializationOrigin
45
48
  readonly execution: MaterializerExecution
49
+ /** Read before the transaction opens; see `user-refs.ts`. */
50
+ readonly users: ReferencedUsers
46
51
  }
47
52
 
48
53
  export async function commitEdits(
49
54
  context: MaterializerContext,
50
55
  raw: MaterializerCommand<OntologyEditCommit>
51
56
  ): Promise<EditCommitResult> {
52
- const command = prepareEditCommit(context, raw)
57
+ const command = await prepareEditCommit(context, raw)
53
58
  return executeEditCommit(context, command)
54
59
  }
55
60
 
56
- function prepareEditCommit(
57
- context: Pick<MaterializerContext, "projectId" | "clock">,
61
+ async function prepareEditCommit(
62
+ context: Pick<MaterializerContext, "projectId" | "clock" | "ontology" | "storage">,
58
63
  raw: MaterializerCommand<OntologyEditCommit>
59
- ): PreparedEditCommit {
64
+ ): Promise<PreparedEditCommit> {
60
65
  const input = normalizeOntologyEditCommit(raw.input)
61
66
  const idempotencyKey = editIdempotencyKey(input)
62
67
  const identity = createTimedCommitIdentity({
@@ -70,6 +75,7 @@ function prepareEditCommit(
70
75
  identity,
71
76
  origin: input.source,
72
77
  execution: prepareMaterializerExecution(context.projectId, raw.scope),
78
+ users: await loadReferencedUsers(context, input.operations),
73
79
  }
74
80
  }
75
81
 
@@ -106,6 +112,7 @@ async function validateMutationExecution(
106
112
  input: NormalizedEditCommit,
107
113
  execution: MaterializerExecution
108
114
  ): Promise<void> {
115
+ if (await authorizeVectorIndexingCommit(storage, projectId, input, execution)) return
109
116
  if (input.source.kind !== "action") {
110
117
  assertRuntimeMutationExecution(execution)
111
118
  return
@@ -182,7 +189,8 @@ async function executeEditTransaction(
182
189
  workingState,
183
190
  editPlanContext(command)
184
191
  )
185
- await drainStagedWork(context, storage.ontology.materializations, session)
192
+ await drainStagedWork(context, storage, session)
193
+ await commitVectorWrites(context, storage, command.input, command.identity.commitId, session)
186
194
  const eventCount = await drainStagedEvents(
187
195
  context,
188
196
  storage.ontology.materializations,
@@ -222,23 +230,25 @@ function buildEditCommit(
222
230
  context: Pick<MaterializerContext, "projectId" | "projectionRegistry">,
223
231
  command: PreparedEditCommit
224
232
  ): OntologyCommitWrite {
225
- const commit: OntologyCommitWrite = {
233
+ return {
226
234
  projectId: context.projectId,
227
235
  id: command.identity.commitId,
228
236
  idempotencyKey: command.identity.idempotencyKey,
229
237
  requestHash: command.identity.requestHash,
230
238
  executionId: command.execution.executionId,
231
239
  origin: command.origin,
240
+ ...command.execution.attribution,
232
241
  ontologyRevision: context.projectionRegistry.ontologyRevision,
233
242
  intent: {
234
243
  kind: "edit",
235
244
  mode: command.input.mode,
236
245
  operationCount: command.input.operations.length,
246
+ ...(command.input.mode === "atomic" && command.input.vectorWrites?.length
247
+ ? { vectorWriteCount: command.input.vectorWrites.length }
248
+ : {}),
237
249
  },
238
250
  committedAt: command.identity.committedAt,
239
251
  }
240
- if (command.execution.actor === undefined) return commit
241
- return { ...commit, actor: command.execution.actor }
242
252
  }
243
253
 
244
254
  function editExpectations(input: NormalizedEditCommit) {
@@ -284,7 +294,7 @@ function applyOneEditOperation(
284
294
  command: PreparedEditCommit
285
295
  ): OntologyOperationOutcome {
286
296
  try {
287
- return applyEditOperation(context, state, operation, command.identity)
297
+ return applyEditOperation(context, state, operation, command.identity, command.users)
288
298
  } catch (error) {
289
299
  if (!isRecoverableEditValidation(command.input, error)) throw error
290
300
  return { id: operation.id, ok: false, error: { code: "validation", message: error.message } }
@@ -310,7 +320,14 @@ function applyEditOperationGroup(
310
320
  for (const operation of group) {
311
321
  let outcome: OntologyOperationOutcome
312
322
  try {
313
- outcome = applyEditOperation(context, state, operation, command.identity, journal)
323
+ outcome = applyEditOperation(
324
+ context,
325
+ state,
326
+ operation,
327
+ command.identity,
328
+ command.users,
329
+ journal
330
+ )
314
331
  } catch (error) {
315
332
  if (!isRecoverableEditValidation(command.input, error)) throw error
316
333
  undoEditJournal(journal)
@@ -346,13 +363,12 @@ function isRecoverableEditValidation(
346
363
  }
347
364
 
348
365
  function editPlanContext(command: PreparedEditCommit) {
349
- const context = {
366
+ return {
350
367
  identity: command.identity,
351
368
  origin: command.origin,
352
369
  correlationId: command.execution.correlationId,
370
+ attribution: command.execution.attribution,
353
371
  }
354
- if (command.execution.actor === undefined) return context
355
- return { ...context, actor: command.execution.actor }
356
372
  }
357
373
 
358
374
  async function finalizeEditMaterialization(
@@ -4,6 +4,7 @@ import type { OntologyEditOperation, OntologyOperationOutcome } from "../../mate
4
4
  import { linkRefKey, linkScopeKey, objectRefKey } from "../../materialization/refs"
5
5
  import type { MaterializerContext } from "../context"
6
6
  import { diffEffectiveObject } from "../effective/diff"
7
+ import type { ResolvedObjectValue } from "../effective/resolve"
7
8
  import {
8
9
  validateEffectiveObject,
9
10
  validateLinkAuthorityProperties,
@@ -15,6 +16,7 @@ import {
15
16
  import type { TimedCommitIdentity } from "../shared/identity"
16
17
  import { applyLinkEdit, applyObjectEdit } from "./apply"
17
18
  import { linkCardinality } from "./read-set"
19
+ import { assertIntroducedUsersActive, type ReferencedUsers } from "./user-refs"
18
20
  import {
19
21
  type EditWorkingState,
20
22
  resolveLinkEdge,
@@ -53,11 +55,12 @@ export function applyEditOperation(
53
55
  state: EditWorkingState,
54
56
  operation: OntologyEditOperation,
55
57
  identity: TimedCommitIdentity,
58
+ users: ReferencedUsers,
56
59
  journal?: EditUndoJournal
57
60
  ): OntologyOperationOutcome {
58
61
  validateOperationRef(context, operation)
59
62
  if (isObjectOperation(operation)) {
60
- return applyObjectOperation(context, state, operation, identity, journal)
63
+ return applyObjectOperation(context, state, operation, identity, users, journal)
61
64
  }
62
65
  return applyLinkOperation(
63
66
  context,
@@ -84,6 +87,7 @@ function applyObjectOperation(
84
87
  state: EditWorkingState,
85
88
  operation: ObjectOperation,
86
89
  identity: TimedCommitIdentity,
90
+ users: ReferencedUsers,
87
91
  journal?: EditUndoJournal
88
92
  ): OntologyOperationOutcome {
89
93
  const working = requireWorkingObject(state, operation)
@@ -99,7 +103,27 @@ function applyObjectOperation(
99
103
  ...normalized,
100
104
  })
101
105
 
102
- applyObjectTransition(context, state, working, transition.next, transition.editedAt, journal)
106
+ // Restore brings back values the object already held; only caller-written values are new.
107
+ const assertUsers =
108
+ operation.kind === "object.restore"
109
+ ? undefined
110
+ : (resolved: ResolvedObjectValue) =>
111
+ assertIntroducedUsersActive(
112
+ context.ontology,
113
+ operation.ref.objectTypeId,
114
+ currentEffective?.properties,
115
+ resolved.properties,
116
+ users
117
+ )
118
+ applyObjectTransition(
119
+ context,
120
+ state,
121
+ working,
122
+ transition.next,
123
+ transition.editedAt,
124
+ journal,
125
+ assertUsers
126
+ )
103
127
 
104
128
  return objectOperationOutcome(operation, working, transition.changed, context, identity)
105
129
  }
@@ -149,7 +173,8 @@ function applyObjectTransition(
149
173
  working: WorkingObject,
150
174
  next: WorkingObject["override"],
151
175
  nextEditedAt: Readonly<Record<string, string>>,
152
- journal?: EditUndoJournal
176
+ journal?: EditUndoJournal,
177
+ validateResolved?: (resolved: ResolvedObjectValue) => void
153
178
  ): void {
154
179
  const previous = working.override
155
180
  const previousEditedAt = working.editedAt
@@ -157,7 +182,10 @@ function applyObjectTransition(
157
182
  working.editedAt = { ...nextEditedAt }
158
183
  try {
159
184
  const resolved = resolveObject(context.ontology, working)
160
- if (resolved) validateEffectiveObject(context.ontology, resolved.ref, resolved.properties)
185
+ if (resolved) {
186
+ validateEffectiveObject(context.ontology, resolved.ref, resolved.properties)
187
+ validateResolved?.(resolved)
188
+ }
161
189
  validateWorkingCardinality(state.links.slots)
162
190
  } catch (error) {
163
191
  working.override = previous
@@ -1,4 +1,3 @@
1
- import type { EventActor } from "../../events/envelope"
2
1
  import type {
3
2
  EffectiveLinkChange,
4
3
  EffectiveObjectChange,
@@ -27,6 +26,7 @@ import {
27
26
  } from "../effective/build-events"
28
27
  import { diffEffectiveLink, diffEffectiveLinkSlot, diffEffectiveObject } from "../effective/diff"
29
28
  import { validateEffectiveObject } from "../effective/validate"
29
+ import type { MaterializerAttribution } from "../execution/scope"
30
30
  import { stageWorkBounded } from "../execution/work-executor"
31
31
  import {
32
32
  appendEffectiveLinkWork,
@@ -59,7 +59,7 @@ interface EditPlanContext {
59
59
  readonly identity: TimedCommitIdentity
60
60
  readonly origin: OntologyMaterializationOrigin
61
61
  readonly correlationId: string
62
- readonly actor?: EventActor
62
+ readonly attribution: MaterializerAttribution
63
63
  }
64
64
 
65
65
  export async function stageEditPlan(
@@ -237,15 +237,14 @@ function materializationEventContext(
237
237
  context: Pick<MaterializerContext, "projectId">,
238
238
  planContext: EditPlanContext
239
239
  ) {
240
- const base = {
240
+ return {
241
241
  projectId: context.projectId,
242
242
  commitId: planContext.identity.commitId,
243
243
  committedAt: planContext.identity.committedAt,
244
244
  origin: planContext.origin,
245
245
  correlationId: planContext.correlationId,
246
+ attribution: planContext.attribution,
246
247
  }
247
- if (planContext.actor === undefined) return base
248
- return { ...base, actor: planContext.actor }
249
248
  }
250
249
 
251
250
  function sortedObjects(objects: EditWorkingState["objects"]): WorkingObject[] {
@@ -0,0 +1,115 @@
1
+ /**
2
+ * Existence checks for `userRef` values written by managed edits.
3
+ *
4
+ * Auth storage is read once per commit, before the serializable transaction opens: every user id
5
+ * the operations carry is looked up, deduplicated, and the statuses travel into the synchronous
6
+ * edit pass. There, an operation may only introduce a user that exists and is active. A value the
7
+ * object already held is never re-checked, so suspending a user leaves the objects that reference
8
+ * them writable. Users are never deleted, so a check at write time stays true for existence.
9
+ */
10
+ import type { JsonValue } from "../../json"
11
+ import { MaterializationValidationError } from "../../materialization/errors"
12
+ import type { OntologyEditOperation } from "../../materialization/model"
13
+ import type { OntologyRegistry } from "../../ontology"
14
+ import { collectUserRefIds, userReferenceProblem } from "../../ontology/user-ref"
15
+ import type { UserStatus } from "../../storage/auth/types"
16
+ import type { MaterializerContext } from "../context"
17
+
18
+ /** Statuses of the users a commit's operations reference; `null` marks an unknown id. */
19
+ export type ReferencedUsers =
20
+ | { readonly kind: "loaded"; readonly statuses: ReadonlyMap<string, UserStatus | null> }
21
+ | { readonly kind: "unavailable" }
22
+
23
+ const NO_REFERENCED_USERS: ReferencedUsers = { kind: "loaded", statuses: new Map() }
24
+
25
+ export async function loadReferencedUsers(
26
+ context: Pick<MaterializerContext, "projectId" | "ontology" | "storage">,
27
+ operations: readonly OntologyEditOperation[]
28
+ ): Promise<ReferencedUsers> {
29
+ const ids = new Set<string>()
30
+ for (const operation of operations) {
31
+ switch (operation.kind) {
32
+ case "object.create":
33
+ case "object.upsert":
34
+ collectObjectUserRefIds(
35
+ context.ontology,
36
+ operation.ref.objectTypeId,
37
+ operation.properties,
38
+ ids
39
+ )
40
+ break
41
+ case "object.patch":
42
+ collectObjectUserRefIds(context.ontology, operation.ref.objectTypeId, operation.set, ids)
43
+ break
44
+ default:
45
+ break
46
+ }
47
+ }
48
+ if (ids.size === 0) return NO_REFERENCED_USERS
49
+
50
+ const users = context.storage.auth?.users
51
+ if (!users) return { kind: "unavailable" }
52
+ const entries = await Promise.all(
53
+ [...ids].map(async (id) => {
54
+ const user = await users.getById({ projectId: context.projectId, id })
55
+ return [id, user?.status ?? null] as const
56
+ })
57
+ )
58
+ return { kind: "loaded", statuses: new Map(entries) }
59
+ }
60
+
61
+ /**
62
+ * Reject user references an object operation introduces unless the user exists and is active.
63
+ *
64
+ * `before` is the effective object the operation started from; ids it already held under the same
65
+ * property are accepted as they are.
66
+ */
67
+ export function assertIntroducedUsersActive(
68
+ ontology: OntologyRegistry,
69
+ objectTypeId: string,
70
+ before: Readonly<Record<string, JsonValue>> | undefined,
71
+ after: Readonly<Record<string, JsonValue>>,
72
+ users: ReferencedUsers
73
+ ): void {
74
+ const objectType = ontology.resolveObjectType(objectTypeId)
75
+ const valueTypesById = ontology.getValueTypesById()
76
+ for (const property of objectType.properties) {
77
+ const introduced = collectUserRefIds(
78
+ property.schema,
79
+ after[property.id],
80
+ valueTypesById,
81
+ new Set()
82
+ )
83
+ if (introduced.size === 0) continue
84
+ const held = collectUserRefIds(
85
+ property.schema,
86
+ before?.[property.id],
87
+ valueTypesById,
88
+ new Set()
89
+ )
90
+ for (const id of introduced) {
91
+ if (held.has(id)) continue
92
+ const problem = userReferenceProblem(
93
+ `Property '${objectTypeId}.${property.id}'`,
94
+ id,
95
+ users.kind === "unavailable" ? "unverifiable" : (users.statuses.get(id) ?? null)
96
+ )
97
+ if (problem) throw new MaterializationValidationError(problem)
98
+ }
99
+ }
100
+ }
101
+
102
+ function collectObjectUserRefIds(
103
+ ontology: OntologyRegistry,
104
+ objectTypeId: string,
105
+ properties: Readonly<Record<string, JsonValue>>,
106
+ into: Set<string>
107
+ ): void {
108
+ // Unknown types and properties are rejected by the edit pass; nothing to look up for them.
109
+ const objectType = ontology.getObjectTypeById(objectTypeId)
110
+ if (!objectType) return
111
+ const valueTypesById = ontology.getValueTypesById()
112
+ for (const property of objectType.properties) {
113
+ collectUserRefIds(property.schema, properties[property.id], valueTypesById, into)
114
+ }
115
+ }
@@ -0,0 +1,108 @@
1
+ import {
2
+ MaterializationConflictError,
3
+ MaterializationValidationError,
4
+ } from "../../materialization/errors"
5
+ import type { OntologyEditCommit } from "../../materialization/model"
6
+ import { objectRefKey } from "../../materialization/refs"
7
+ import type { ObjectVectorWrite } from "../../materialization/vectors"
8
+ import type { Storage } from "../../storage"
9
+ import type { VectorIndexingWork } from "../../storage/ontology/vector-indexing"
10
+ import type { MaterializerExecution } from "../execution/scope"
11
+
12
+ /** Kernel indexing can publish only its persisted results, never change business data. */
13
+ export async function authorizeVectorIndexingCommit(
14
+ storage: Storage,
15
+ projectId: string,
16
+ input: OntologyEditCommit,
17
+ execution: MaterializerExecution
18
+ ): Promise<boolean> {
19
+ const executor = execution.scope.execution.executor
20
+ if (executor.type !== "kernel" || executor.operation.type !== "ontology.indexVectors")
21
+ return false
22
+ if (
23
+ input.mode !== "atomic" ||
24
+ input.source.kind !== "runtime" ||
25
+ input.operations.length ||
26
+ !input.vectorWrites?.length ||
27
+ input.expectedLinks.length ||
28
+ input.expectedLinkScopes.length
29
+ ) {
30
+ throw new MaterializationValidationError(
31
+ "Vector indexing authority only permits its persisted vector writes."
32
+ )
33
+ }
34
+ const writes = input.vectorWrites!
35
+ const refs = new Set(writes.map((write) => objectRefKey(write.input.ref)))
36
+ if (
37
+ input.expectedObjects.length !== refs.size ||
38
+ input.expectedObjects.some((expected) => !refs.has(objectRefKey(expected.ref)))
39
+ ) {
40
+ throw new MaterializationValidationError(
41
+ "Vector indexing must fence exactly its written objects."
42
+ )
43
+ }
44
+
45
+ const indexing = storage.ontology.vectorIndexing
46
+ const indexingId = executor.operation.indexingId
47
+ const single = await indexing?.get({ projectId, id: indexingId })
48
+ if (single && writes.length !== 1) {
49
+ throw new MaterializationValidationError(
50
+ "Individual indexing authority only permits one vector write."
51
+ )
52
+ }
53
+
54
+ // Multi-object publication reads membership/results once, not once per object.
55
+ let members: readonly VectorIndexingWork[]
56
+ if (single) {
57
+ members = [single]
58
+ } else if (writes.length === 1) {
59
+ const member = await indexing?.getBatchMember({
60
+ projectId,
61
+ batchId: indexingId,
62
+ ref: writes[0]!.input.ref,
63
+ profile: writes[0]!.input.profile,
64
+ })
65
+ members = member ? [member] : []
66
+ } else {
67
+ members = (await indexing?.getBatch({ projectId, batchId: indexingId })) ?? []
68
+ }
69
+
70
+ const byProfile = new Map(
71
+ members.map((work) => [JSON.stringify([objectRefKey(work.ref), work.profile]), work])
72
+ )
73
+ const source = execution.scope.execution.source
74
+
75
+ for (const write of writes) {
76
+ const work = byProfile.get(JSON.stringify([objectRefKey(write.input.ref), write.input.profile]))
77
+ if (!work || work.status !== "ready") {
78
+ throw new MaterializationConflictError(
79
+ "effective-state",
80
+ "Vector indexing work is no longer ready."
81
+ )
82
+ }
83
+ if (
84
+ source.type !== "ontologyCommit" ||
85
+ source.commitId !== work.sourceCommitId ||
86
+ !matchesStoredResult(write, work)
87
+ ) {
88
+ throw new MaterializationValidationError(
89
+ "Vector indexing authority only permits its current prepared representation."
90
+ )
91
+ }
92
+ }
93
+ return true
94
+ }
95
+
96
+ function matchesStoredResult(write: ObjectVectorWrite, work: VectorIndexingWork): boolean {
97
+ const prepared = write.input
98
+ return (
99
+ prepared.ref.objectTypeId === work.ref.objectTypeId &&
100
+ prepared.ref.primaryId === work.ref.primaryId &&
101
+ prepared.profile === work.profile &&
102
+ prepared.configuration === work.configuration &&
103
+ prepared.sourceFingerprint === work.sourceFingerprint &&
104
+ work.values !== undefined &&
105
+ work.values.length === write.values.length &&
106
+ work.values.every((value, index) => value === write.values[index])
107
+ )
108
+ }
@@ -0,0 +1,100 @@
1
+ import {
2
+ MaterializationConflictError,
3
+ MaterializationValidationError,
4
+ } from "../../materialization/errors"
5
+ import type { OntologyEditCommit } from "../../materialization/model"
6
+ import { objectRefKey } from "../../materialization/refs"
7
+ import { normalizeVector, vectorConfiguration, vectorSources } from "../../objects/vectors/profile"
8
+ import type { Storage } from "../../storage"
9
+ import { objectBatchKey } from "../../storage/objects/keys"
10
+ import type { MaterializationSession, OntologyVectorStorage } from "../../storage/ontology"
11
+ import type { MaterializerContext } from "../context"
12
+
13
+ export async function commitVectorWrites(
14
+ context: MaterializerContext,
15
+ storage: Storage,
16
+ input: OntologyEditCommit,
17
+ commitId: string,
18
+ session: MaterializationSession
19
+ ): Promise<void> {
20
+ if (input.mode !== "atomic" || !input.vectorWrites?.length) return
21
+ const vectors = storage.ontology.vectors
22
+ if (!vectors)
23
+ throw new MaterializationValidationError("Storage does not support vector profiles.")
24
+ const rows = await storage.objects.getByPrimaryIdBatch({
25
+ projectId: context.projectId,
26
+ items: input.vectorWrites.map((write) => write.input.ref),
27
+ })
28
+ const expectations = new Map(
29
+ input.expectedObjects.map((expected) => [objectRefKey(expected.ref), expected])
30
+ )
31
+ const entries: Parameters<OntologyVectorStorage["writeBatch"]>[0]["entries"][number][] = []
32
+ const seen = new Set<string>()
33
+ for (const write of input.vectorWrites) {
34
+ const prepared = write.input
35
+ const key = JSON.stringify([objectRefKey(prepared.ref), prepared.profile])
36
+ if (seen.has(key)) throw new MaterializationValidationError(`Duplicate vector write: ${key}`)
37
+ seen.add(key)
38
+ const profileDefinition = context.ontology.resolveObjectType(prepared.ref.objectTypeId).search
39
+ ?.vectors?.[prepared.profile]
40
+ if (
41
+ prepared.projectId !== context.projectId ||
42
+ !profileDefinition ||
43
+ vectorConfiguration(profileDefinition) !== prepared.configuration
44
+ ) {
45
+ throw new MaterializationConflictError(
46
+ "effective-state",
47
+ "Vector profile configuration changed; index it again."
48
+ )
49
+ }
50
+ const expected = expectations.get(objectRefKey(prepared.ref))
51
+ if (
52
+ !expected?.exists ||
53
+ !prepared.expectedObject?.exists ||
54
+ objectRefKey(prepared.expectedObject.ref) !== objectRefKey(prepared.ref) ||
55
+ expected.version !== prepared.expectedObject.version ||
56
+ expected.lastCommitId !== prepared.expectedObject.lastCommitId
57
+ ) {
58
+ throw new MaterializationValidationError(
59
+ "Vector writes must fence their prepared object revision."
60
+ )
61
+ }
62
+ const row = rows.get(objectBatchKey(prepared.ref.objectTypeId, prepared.ref.primaryId))
63
+ if (
64
+ !row ||
65
+ row.version !== expected.version ||
66
+ row.lastCommitId !== expected.lastCommitId ||
67
+ vectorSources(profileDefinition.source, row.properties).sourceFingerprint !==
68
+ prepared.sourceFingerprint
69
+ ) {
70
+ throw new MaterializationConflictError(
71
+ "effective-state",
72
+ "Vector sources changed; index the profile again."
73
+ )
74
+ }
75
+ entries.push({
76
+ expectedCommitId: prepared.expectedVectorCommitId,
77
+ value: {
78
+ ref: prepared.ref,
79
+ profile: prepared.profile,
80
+ configuration: prepared.configuration,
81
+ source: profileDefinition.source,
82
+ sourceFingerprint: prepared.sourceFingerprint,
83
+ values: normalizeVector(write.values, profileDefinition.model.definition.dimensions),
84
+ lastCommitId: commitId,
85
+ },
86
+ })
87
+ }
88
+
89
+ await vectors.writeBatch({ session, projectId: context.projectId, entries })
90
+ await storage.ontology.vectorIndexing?.complete({
91
+ session,
92
+ projectId: context.projectId,
93
+ entries: input.vectorWrites.map(({ input: prepared }) => ({
94
+ ref: prepared.ref,
95
+ profile: prepared.profile,
96
+ configuration: prepared.configuration,
97
+ sourceFingerprint: prepared.sourceFingerprint,
98
+ })),
99
+ })
100
+ }
@@ -1,4 +1,3 @@
1
- import type { EventActor } from "../../events/envelope"
2
1
  import type {
3
2
  EffectiveLinkChange,
4
3
  EffectiveObjectChange,
@@ -10,6 +9,7 @@ import type {
10
9
  OntologyMaterializationEvent,
11
10
  OntologyMaterializationEventDraft,
12
11
  } from "../../storage/ontology"
12
+ import type { MaterializerAttribution } from "../execution/scope"
13
13
  import { createEventId, materializationEventKindOrdinal } from "../shared/identity"
14
14
 
15
15
  export interface OrderedMaterializationEventDraft {
@@ -24,7 +24,7 @@ export interface MaterializationEventDraftContext {
24
24
  readonly committedAt: string
25
25
  readonly correlationId: string
26
26
  readonly origin: OntologyMaterializationOrigin
27
- readonly actor?: EventActor
27
+ readonly attribution: MaterializerAttribution
28
28
  }
29
29
 
30
30
  export function buildObjectMaterializationEventDraft(
@@ -162,16 +162,15 @@ function buildTelemetryEventDraft(
162
162
  }
163
163
 
164
164
  function eventDraftBase(context: MaterializationEventDraftContext) {
165
- const base = {
165
+ return {
166
166
  schemaVersion: 1 as const,
167
167
  projectId: context.projectId,
168
168
  occurredAt: context.committedAt,
169
169
  correlationId: context.correlationId,
170
170
  origin: context.origin,
171
+ ...context.attribution,
171
172
  commitId: context.commitId,
172
173
  }
173
- if (context.actor === undefined) return base
174
- return { ...base, actor: context.actor }
175
174
  }
176
175
 
177
176
  function orderedDraft(