@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
@@ -1,3 +1,4 @@
1
+ import { withFailureMessage } from "../../errors/failure-message"
1
2
  import type { JsonValue } from "../../json"
2
3
  import { MaterializationValidationError } from "../../materialization/errors"
3
4
  import type {
@@ -113,8 +114,11 @@ export function validateEffectiveObject(
113
114
  property.required &&
114
115
  properties[property.id] === undefined
115
116
  ) {
116
- throw new Error(
117
- `[Sixb] Missing required property '${property.id}' for object type '${objectType.id}'`
117
+ throw withFailureMessage(
118
+ new Error(
119
+ `[Sixb] Missing required property '${property.id}' for object type '${objectType.id}'`
120
+ ),
121
+ `Missing required property '${objectType.id}.${property.id}'.`
118
122
  )
119
123
  }
120
124
  }
@@ -175,6 +179,9 @@ function materializationValidation<T>(run: () => T): T {
175
179
  return run()
176
180
  } catch (error) {
177
181
  if (error instanceof MaterializationValidationError) throw error
178
- throw new MaterializationValidationError(error instanceof Error ? error.message : String(error))
182
+ throw new MaterializationValidationError(
183
+ error instanceof Error ? error.message : String(error),
184
+ { cause: error }
185
+ )
179
186
  }
180
187
  }
@@ -0,0 +1,84 @@
1
+ import { randomUUID } from "node:crypto"
2
+ import type { OntologyObjectRef } from "../../materialization/model"
3
+ import { vectorConfiguration, vectorSources } from "../../objects/vectors/profile"
4
+ import type { Storage } from "../../storage"
5
+ import { objectBatchKey } from "../../storage/objects/keys"
6
+ import type { MaterializationSession } from "../../storage/ontology"
7
+ import type { VectorIndexingRequest } from "../../storage/ontology/vector-indexing"
8
+ import type { MaterializerContext } from "../context"
9
+ import type { MaterializationPlanItem } from "../execution/plan-stream"
10
+
11
+ /** Source assertions are not effective values: schedule only after conflict resolution. */
12
+ export async function scheduleVectorChanges(
13
+ context: Pick<MaterializerContext, "projectId" | "ontology" | "clock">,
14
+ storage: Storage,
15
+ items: readonly MaterializationPlanItem[],
16
+ session: MaterializationSession,
17
+ projection = false
18
+ ): Promise<void> {
19
+ const indexing = storage.ontology.vectorIndexing
20
+ if (!indexing) return
21
+ const upserts = items
22
+ .filter((item) => item.kind === "object-upsert")
23
+ .filter(
24
+ (item) =>
25
+ Object.keys(
26
+ context.ontology.resolveObjectType(item.value.row.ref.objectTypeId).search?.vectors ?? {}
27
+ ).length > 0
28
+ )
29
+ const previous = await storage.objects.getByPrimaryIdBatch({
30
+ projectId: context.projectId,
31
+ items: upserts.map((item) => item.value.row.ref),
32
+ })
33
+ const requests: VectorIndexingRequest[] = []
34
+ const deleted: OntologyObjectRef[] = []
35
+ // Groups exist only for this materialization page and are persisted in its transaction.
36
+ const groups = new Map<string, { id: string; count: number; bytes: number }>()
37
+ for (const item of items) {
38
+ if (item.kind === "object-delete") {
39
+ deleted.push(item.value.ref)
40
+ continue
41
+ }
42
+ if (item.kind !== "object-upsert") continue
43
+ const row = item.value.row
44
+ const profiles = context.ontology.resolveObjectType(row.ref.objectTypeId).search?.vectors ?? {}
45
+ const before = previous.get(objectBatchKey(row.ref.objectTypeId, row.ref.primaryId))
46
+ for (const [profile, definition] of Object.entries(profiles)) {
47
+ const { sourceFingerprint, text } = vectorSources(definition.source, row.properties)
48
+ if (
49
+ before &&
50
+ vectorSources(definition.source, before.properties).sourceFingerprint === sourceFingerprint
51
+ )
52
+ continue
53
+ const configuration = vectorConfiguration(definition)
54
+ const bytes = Buffer.byteLength(text)
55
+ const key = JSON.stringify([row.ref.objectTypeId, profile, configuration, row.lastCommitId])
56
+ let group = projection ? groups.get(key) : undefined
57
+ if (projection && (!group || group.count === 32 || group.bytes + bytes > 32_768)) {
58
+ group = { id: randomUUID(), count: 0, bytes: 0 }
59
+ groups.set(key, group)
60
+ }
61
+ if (group) {
62
+ group.count++
63
+ group.bytes += bytes
64
+ }
65
+ requests.push({
66
+ ...(group ? { batchId: group.id } : {}),
67
+ id: randomUUID(),
68
+ ref: row.ref,
69
+ profile,
70
+ sourceFingerprint,
71
+ configuration,
72
+ sourceCommitId: row.lastCommitId,
73
+ })
74
+ }
75
+ }
76
+ if (requests.length || deleted.length)
77
+ await indexing.schedule({
78
+ projectId: context.projectId,
79
+ session,
80
+ requests,
81
+ deleted,
82
+ availableAt: context.clock().toISOString(),
83
+ })
84
+ }
@@ -0,0 +1,47 @@
1
+ import { objectRefKey } from "../../materialization/refs"
2
+ import { vectorSources } from "../../objects/vectors/profile"
3
+ import type { MaterializationSession } from "../../storage/ontology"
4
+ import type { OntologyVectorStorage } from "../../storage/ontology/vectors"
5
+ import type { MaterializationPlanItem } from "../execution/plan-stream"
6
+
7
+ /** Invalidate a bounded materialization page, including stored profiles no longer declared. */
8
+ export async function invalidateVectorChanges(
9
+ projectId: string,
10
+ vectors: OntologyVectorStorage | undefined,
11
+ items: readonly MaterializationPlanItem[],
12
+ session: MaterializationSession
13
+ ): Promise<void> {
14
+ if (!vectors) return
15
+ const changes = new Map(
16
+ items.flatMap((item) => {
17
+ if (item.kind !== "object-upsert" && item.kind !== "object-delete") return []
18
+ const ref = item.kind === "object-upsert" ? item.value.row.ref : item.value.ref
19
+ return [[objectRefKey(ref), { ref, item }] as const]
20
+ })
21
+ )
22
+ if (!changes.size) return
23
+
24
+ const stored = await vectors.listBatch({
25
+ projectId,
26
+ refs: [...changes.values()].map(({ ref }) => ref),
27
+ })
28
+ const removals: Parameters<OntologyVectorStorage["removeBatch"]>[0]["entries"][number][] = []
29
+ for (const entry of stored) {
30
+ const change = changes.get(objectRefKey(entry.ref))
31
+ if (!change) continue
32
+ const { item } = change
33
+ if (
34
+ item.kind === "object-upsert" &&
35
+ entry.source.every((id) => {
36
+ const value = item.value.row.properties[id]
37
+ return value === undefined || value === null || typeof value === "string"
38
+ }) &&
39
+ vectorSources(entry.source, item.value.row.properties).sourceFingerprint ===
40
+ entry.sourceFingerprint
41
+ )
42
+ continue
43
+
44
+ removals.push({ ref: entry.ref, profile: entry.profile, expectedCommitId: entry.lastCommitId })
45
+ }
46
+ if (removals.length) await vectors.removeBatch({ session, projectId, entries: removals })
47
+ }
@@ -1,24 +1,37 @@
1
- import type { EventActor } from "../../events/envelope"
2
1
  import { resolveExecutionScopeAuthorization } from "../../execution/authorization"
3
2
  import { ensureExecutionRecord, executionRecordInputFromRuntime } from "../../execution/durable"
4
- import type { ExecutionScope, TrustedPrimitiveKind } from "../../execution/types"
3
+ import type {
4
+ AuthorizablePrincipal,
5
+ ExecutionScope,
6
+ TrustedPrimitiveKind,
7
+ } from "../../execution/types"
5
8
  import {
6
9
  MaterializationConflictError,
7
10
  MaterializationValidationError,
8
11
  } from "../../materialization/errors"
12
+ import type { EventExecutor } from "../../materialization/events"
9
13
  import type {
10
14
  CreateExecutionInput,
11
15
  ExecutionRecord,
12
16
  ExecutionStorage,
13
17
  } from "../../storage/executions"
14
18
 
19
+ /**
20
+ * Who and what a commit and its events are attributed to. Both are copied from the execution, so
21
+ * they are a pure function of `executionId` and never an input the caller chooses.
22
+ */
23
+ export interface MaterializerAttribution {
24
+ readonly requestedBy?: AuthorizablePrincipal
25
+ readonly executor: EventExecutor
26
+ }
27
+
15
28
  /** Immutable execution metadata attached to one prepared Materializer command. */
16
29
  export interface MaterializerExecution {
17
30
  readonly scope: ExecutionScope
18
31
  readonly record: CreateExecutionInput
19
32
  readonly executionId: string
20
33
  readonly correlationId: string
21
- readonly actor?: EventActor
34
+ readonly attribution: MaterializerAttribution
22
35
  }
23
36
 
24
37
  /** Validate the process-local scope before any Materializer read or write is attempted. */
@@ -26,9 +39,9 @@ export function prepareMaterializerExecution(
26
39
  projectId: string,
27
40
  scope: ExecutionScope
28
41
  ): MaterializerExecution {
29
- const authorization = resolveExecutionScopeAuthorization(projectId, scope)
42
+ resolveExecutionScopeAuthorization(projectId, scope)
30
43
 
31
- const base = {
44
+ return {
32
45
  scope,
33
46
  record: executionRecordInputFromRuntime({
34
47
  execution: scope.execution,
@@ -36,9 +49,29 @@ export function prepareMaterializerExecution(
36
49
  }),
37
50
  executionId: scope.execution.id,
38
51
  correlationId: scope.execution.correlationId,
52
+ attribution: executionAttribution(scope),
53
+ }
54
+ }
55
+
56
+ function executionAttribution(scope: ExecutionScope): MaterializerAttribution {
57
+ const { requestedBy, executor } = scope.execution
58
+ const attributed = { executor: eventExecutor(executor) }
59
+ if (requestedBy === undefined) return attributed
60
+ return { ...attributed, requestedBy: { type: requestedBy.type, id: requestedBy.id } }
61
+ }
62
+
63
+ /** Drop the process-local Agent actor id: the durable execution does not record it. */
64
+ function eventExecutor(executor: ExecutionScope["execution"]["executor"]): EventExecutor {
65
+ switch (executor.type) {
66
+ case "request":
67
+ return { type: "request", requestId: executor.requestId }
68
+ case "primitive":
69
+ return { type: "primitive", kind: executor.kind, id: executor.id, runId: executor.runId }
70
+ case "agent":
71
+ return { type: "agent", runId: executor.runId }
72
+ case "kernel":
73
+ return { type: "kernel", operation: structuredClone(executor.operation) }
39
74
  }
40
- if (authorization.type !== "principal") return base
41
- return { ...base, actor: authorization.context.principal }
42
75
  }
43
76
 
44
77
  /** Persist a direct request lazily, or prove that a durable worker restored the exact record. */
@@ -1,5 +1,6 @@
1
1
  import { MaterializationValidationError } from "../../materialization/errors"
2
2
  import { utf8JsonByteLength } from "../../materialization/refs"
3
+ import type { Storage } from "../../storage"
3
4
  import type {
4
5
  MaterializationSession,
5
6
  MaterializationWorkRecord,
@@ -7,6 +8,8 @@ import type {
7
8
  } from "../../storage/ontology"
8
9
  import type { MaterializerContext } from "../context"
9
10
  import { sequenceMaterializationEvent } from "../effective/build-events"
11
+ import { scheduleVectorChanges } from "../effective/vector-indexing"
12
+ import { invalidateVectorChanges } from "../effective/vectors"
10
13
  import { throwIfAborted } from "../shared/abort"
11
14
  import { chunkBySize } from "../shared/chunking"
12
15
  import type { TimedCommitIdentity } from "../shared/identity"
@@ -46,15 +49,20 @@ export async function stageWorkBounded(
46
49
  }
47
50
 
48
51
  export async function drainStagedWork(
49
- context: BatchingContext,
50
- storage: OntologyMaterializationStorage,
52
+ context: Pick<MaterializerContext, "batching" | "projectId" | "ontology" | "clock">,
53
+ transactionStorage: Storage,
51
54
  session: MaterializationSession,
52
- signal?: AbortSignal
55
+ signal?: AbortSignal,
56
+ projection = false
53
57
  ): Promise<void> {
58
+ const ontologyStorage = transactionStorage.ontology
59
+ const storage = ontologyStorage.materializations
54
60
  let phase: number | null = null
55
61
  let pending: MaterializationPlanItem[] = []
56
62
  const flush = async () => {
57
63
  if (pending.length === 0) return
64
+ await scheduleVectorChanges(context, transactionStorage, pending, session, projection)
65
+ await invalidateVectorChanges(context.projectId, ontologyStorage.vectors, pending, session)
58
66
  await applyItems(context, storage, session, pending, signal)
59
67
  pending = []
60
68
  }
@@ -347,7 +347,7 @@ async function executeProjectionTransaction(
347
347
  ready,
348
348
  origin
349
349
  )
350
- await drainStagedWork(context, storage.ontology.materializations, session, command.signal)
350
+ await drainStagedWork(context, storage, session, command.signal, true)
351
351
  const eventCount = await drainStagedEvents(
352
352
  context,
353
353
  storage.ontology.materializations,
@@ -407,6 +407,7 @@ function projectionCommit(
407
407
  requestHash: identity.requestHash,
408
408
  executionId: command.scopeExecution.executionId,
409
409
  origin,
410
+ ...command.scopeExecution.attribution,
410
411
  ontologyRevision: command.runIdentity.ontologyRevision,
411
412
  projectionRevision: command.runIdentity.projectionRevision,
412
413
  ownershipHash: command.runIdentity.ownershipHash,
@@ -430,6 +431,7 @@ async function planReadyProjection(
430
431
  identity: ready.identity,
431
432
  origin,
432
433
  correlationId: command.scopeExecution.correlationId,
434
+ attribution: command.scopeExecution.attribution,
433
435
  }
434
436
  if (command.signal === undefined) {
435
437
  return planProjectionReplacement(context, storage, session, input)
@@ -37,6 +37,7 @@ import {
37
37
  usableLinkSlotOverride,
38
38
  } from "../effective/resolve"
39
39
  import { validateEffectiveObject } from "../effective/validate"
40
+ import type { MaterializerAttribution } from "../execution/scope"
40
41
  import { stageWorkBounded, validateStagedCardinality } from "../execution/work-executor"
41
42
  import {
42
43
  appendEffectiveLinkWork,
@@ -55,6 +56,7 @@ export interface ProjectionReplacementPlanInput {
55
56
  readonly identity: TimedCommitIdentity
56
57
  readonly origin: OntologyMaterializationOrigin
57
58
  readonly correlationId: string
59
+ readonly attribution: MaterializerAttribution
58
60
  readonly signal?: AbortSignal
59
61
  }
60
62
 
@@ -163,6 +165,7 @@ function appendObjectChangeWork(
163
165
  committedAt: input.identity.committedAt,
164
166
  origin: input.origin,
165
167
  correlationId: input.correlationId,
168
+ attribution: input.attribution,
166
169
  change,
167
170
  })
168
171
  )
@@ -360,6 +363,7 @@ function appendLinkChangeWork(
360
363
  committedAt: input.identity.committedAt,
361
364
  origin: input.origin,
362
365
  correlationId: input.correlationId,
366
+ attribution: input.attribution,
363
367
  change,
364
368
  })
365
369
  )
@@ -269,6 +269,8 @@ export function normalizeOntologyEditCommit(input: OntologyEditCommit): Ontology
269
269
  })
270
270
 
271
271
  if (input.mode === "continue") {
272
+ if ("vectorWrites" in input)
273
+ throw new MaterializationValidationError("Vector writes require an atomic commit.")
272
274
  return Object.freeze({
273
275
  mode: "continue",
274
276
  source: Object.freeze({
@@ -293,12 +295,21 @@ export function normalizeOntologyEditCommit(input: OntologyEditCommit): Ontology
293
295
  kind: "runtime" as const,
294
296
  requestId: normalizeNonblank(input.source.requestId, "Runtime request id"),
295
297
  })
298
+ if (input.vectorWrites?.length && (operations.length || input.source.kind !== "runtime")) {
299
+ throw new MaterializationValidationError(
300
+ "Vector writes require a dedicated atomic runtime commit."
301
+ )
302
+ }
303
+ if (input.vectorWrites !== undefined) assertJsonValue(input.vectorWrites, "Vector writes")
296
304
  const expectedObjects = input.expectedObjects.map(normalizeExpectedObject)
297
305
  const expectedLinks = input.expectedLinks.map(normalizeExpectedLink)
298
306
  const expectedLinkScopes = input.expectedLinkScopes.map(normalizeExpectedLinkScope)
299
307
 
300
308
  return Object.freeze({
301
309
  mode: "atomic",
310
+ ...(input.vectorWrites === undefined
311
+ ? {}
312
+ : { vectorWrites: structuredClone(input.vectorWrites) }),
302
313
  source,
303
314
  operations: Object.freeze(operations),
304
315
  expectedObjects: deduplicateExpectations(
@@ -401,10 +401,10 @@ async function executeTelemetryTransaction(
401
401
  origin,
402
402
  {
403
403
  correlationId: command.execution.correlationId,
404
- ...(command.execution.actor === undefined ? {} : { actor: command.execution.actor }),
404
+ attribution: command.execution.attribution,
405
405
  }
406
406
  )
407
- await drainStagedWork(context, storage.ontology.materializations, session)
407
+ await drainStagedWork(context, storage, session)
408
408
  const eventCount = await drainStagedEvents(
409
409
  context,
410
410
  storage.ontology.materializations,
@@ -475,27 +475,19 @@ function telemetryCommit(
475
475
  requestHash: command.identity.requestHash,
476
476
  executionId: command.execution.executionId,
477
477
  origin,
478
+ ...command.execution.attribution,
478
479
  ontologyRevision: command.ontologyRevision,
479
480
  intent: telemetryCommitIntent(command),
480
481
  committedAt: command.identity.committedAt,
481
482
  }
482
- const withActor = telemetryCommitActor(base, command)
483
- if (command.kind === "runtime") return withActor
483
+ if (command.kind === "runtime") return base
484
484
  return {
485
- ...withActor,
485
+ ...base,
486
486
  projectionRevision: command.resolvedProjection.projectionRevision,
487
487
  ownershipHash: command.resolvedProjection.ownershipHash,
488
488
  }
489
489
  }
490
490
 
491
- function telemetryCommitActor(
492
- commit: OntologyCommitWrite,
493
- command: PreparedTelemetryAppend
494
- ): OntologyCommitWrite {
495
- if (command.execution.actor === undefined) return commit
496
- return { ...commit, actor: command.execution.actor }
497
- }
498
-
499
491
  function telemetryCommitIntent(command: PreparedTelemetryAppend): TelemetryOntologyCommitIntent {
500
492
  if (command.kind === "runtime") {
501
493
  return {
@@ -1,4 +1,3 @@
1
- import type { EventActor } from "../../events/envelope"
2
1
  import { stableJsonStringify } from "../../json"
3
2
  import { MaterializationObjectNotFoundError } from "../../materialization/errors"
4
3
  import type {
@@ -30,6 +29,7 @@ import {
30
29
  import { diffEffectiveObject } from "../effective/diff"
31
30
  import { loadState, oneStateRequest } from "../effective/load-state"
32
31
  import { validateEffectiveObject } from "../effective/validate"
32
+ import type { MaterializerAttribution } from "../execution/scope"
33
33
  import { stageWorkBounded } from "../execution/work-executor"
34
34
  import {
35
35
  appendEffectiveObjectWork,
@@ -68,7 +68,7 @@ interface TelemetryPlanContext {
68
68
 
69
69
  interface TelemetryEventContext {
70
70
  readonly correlationId: string
71
- readonly actor?: EventActor
71
+ readonly attribution: MaterializerAttribution
72
72
  }
73
73
 
74
74
  export async function planTelemetryAppend(
@@ -351,15 +351,14 @@ function telemetryEventContext(
351
351
  context: Pick<MaterializerContext, "projectId">,
352
352
  planContext: TelemetryPlanContext
353
353
  ) {
354
- const eventContext = {
354
+ return {
355
355
  projectId: context.projectId,
356
356
  commitId: planContext.identity.commitId,
357
357
  committedAt: planContext.identity.committedAt,
358
358
  origin: planContext.origin,
359
359
  correlationId: planContext.event.correlationId,
360
+ attribution: planContext.event.attribution,
360
361
  }
361
- if (planContext.event.actor === undefined) return eventContext
362
- return { ...eventContext, actor: planContext.event.actor }
363
362
  }
364
363
 
365
364
  function emptyTelemetryCounts(): MutableTelemetryPlanCounts {
@@ -0,0 +1,38 @@
1
+ import { RuntimeError } from "../runtime/errors"
2
+ import type { ModelRef } from "./catalog"
3
+
4
+ interface ModelBinding {
5
+ readonly providerId: string
6
+ readonly modelId: string
7
+ }
8
+
9
+ interface ModelEntry<TModel> extends ModelRef {
10
+ readonly model: TModel
11
+ }
12
+
13
+ /** Private index shared by model families; default selection belongs to each family. */
14
+ export function indexModelBindings<TModel extends ModelBinding>(
15
+ models: readonly TModel[],
16
+ kind: string,
17
+ validate: (model: TModel, index: number) => void
18
+ ) {
19
+ const byRef = new Map<string, ModelEntry<TModel>>()
20
+
21
+ for (const [index, model] of models.entries()) {
22
+ validate(model, index)
23
+ const key = JSON.stringify([model.providerId, model.modelId])
24
+ if (byRef.has(key)) {
25
+ throw new RuntimeError(
26
+ `[Sixb] Duplicate ${kind} model '${model.providerId}/${model.modelId}' in 'models.${kind}'. Each provider and model id pair may be configured once.`
27
+ )
28
+ }
29
+
30
+ byRef.set(key, Object.freeze({ provider: model.providerId, modelId: model.modelId, model }))
31
+ }
32
+
33
+ const entries = Object.freeze([...byRef.values()])
34
+ return Object.freeze({
35
+ list: () => entries,
36
+ getByRef: (ref: ModelRef) => byRef.get(JSON.stringify([ref.provider, ref.modelId])) ?? null,
37
+ })
38
+ }
@@ -1,17 +1,32 @@
1
1
  import { RuntimeError } from "../runtime/errors"
2
+ import { indexModelBindings } from "./catalog-index"
3
+ import { createDecisionCatalog, type DecisionModelCatalog } from "./decision/catalog"
4
+ import type { DecisionModel } from "./decision/types"
2
5
  import {
3
6
  defineLanguageModel,
4
7
  type LanguageModelDefinition,
5
8
  type ModelDefinition,
6
9
  } from "./definitions"
10
+ import { assertEmbeddingModel, type EmbeddingModel } from "./embedding-model"
7
11
  import type { LanguageModel } from "./language-model"
8
12
 
9
- /** Stable identity of one configured language-model binding. */
10
- export interface LanguageModelRef {
13
+ /** Stable identity of a configured provider binding. */
14
+ export interface ModelRef {
11
15
  readonly provider: string
12
16
  readonly modelId: string
13
17
  }
14
18
 
19
+ export type LanguageModelRef = ModelRef
20
+
21
+ export interface EmbeddingModelEntry extends ModelRef {
22
+ readonly model: EmbeddingModel
23
+ }
24
+
25
+ export interface EmbeddingModelCatalog {
26
+ list(): readonly EmbeddingModelEntry[]
27
+ getByRef(ref: ModelRef): EmbeddingModelEntry | null
28
+ }
29
+
15
30
  /** The configured language models, with the project default. */
16
31
  export interface LanguageModelCatalog {
17
32
  readonly default: LanguageModelEntry
@@ -32,61 +47,74 @@ export interface LanguageModelEntry extends LanguageModelRef {
32
47
 
33
48
  /** Models a project allows Sixb to use, organized by technical model kind. */
34
49
  export interface ModelCatalog {
35
- readonly language: LanguageModelCatalog
50
+ readonly language?: LanguageModelCatalog
51
+ readonly decision?: DecisionModelCatalog
52
+ readonly embedding: EmbeddingModelCatalog
36
53
  }
37
54
 
38
55
  export interface ModelCatalogInput {
39
56
  /** Ordered; the first entry is the project default. */
40
- readonly language: readonly LanguageModel[]
57
+ readonly language?: readonly LanguageModel[]
58
+ /** Ordered; the first entry is the project default decision model. */
59
+ readonly decision?: readonly DecisionModel[]
60
+ readonly embedding?: readonly EmbeddingModel[]
41
61
  }
42
62
 
43
- /** Build the immutable project model catalog. Rejects invalid, duplicate, and empty catalogs. */
63
+ // Only statically required inputs make their corresponding catalogs required.
64
+ type ConfiguredModelKinds<TInput> = {
65
+ [Kind in keyof ModelCatalog]-?: [TInput] extends [Record<Kind, readonly unknown[]>] ? Kind : never
66
+ }[keyof ModelCatalog]
67
+
68
+ export type ModelCatalogFor<TInput extends ModelCatalogInput> = ModelCatalog &
69
+ Required<Pick<ModelCatalog, ConfiguredModelKinds<TInput>>>
70
+
71
+ /** Build an immutable catalog while preserving each family's default and empty-list rules. */
72
+ export function createModelCatalog<TInput extends ModelCatalogInput>(
73
+ input: TInput
74
+ ): ModelCatalogFor<TInput>
44
75
  export function createModelCatalog(input: ModelCatalogInput): ModelCatalog {
45
- if (!Array.isArray(input?.language)) {
46
- throw new RuntimeError("[Sixb] 'models.language' must be an array of Sixb language models.")
76
+ if (!input || typeof input !== "object" || Array.isArray(input)) {
77
+ throw new RuntimeError("[Sixb] 'models' must be a model catalog configuration.")
47
78
  }
48
79
 
49
- const entries: LanguageModelEntry[] = []
50
- const byProvider = new Map<string, Map<string, LanguageModelEntry>>()
80
+ const language = createLanguageCatalog(input.language)
81
+ const embedding = createEmbeddingCatalog(input.embedding)
82
+ const decision = createDecisionCatalog(input.decision)
51
83
 
52
- for (const [index, model] of input.language.entries()) {
53
- assertLanguageModel(model, index)
84
+ if (!language && !decision && embedding.list().length === 0) {
85
+ throw new RuntimeError("[Sixb] Configure at least one language, embedding or decision model.")
86
+ }
54
87
 
55
- let byModelId = byProvider.get(model.providerId)
56
- if (byModelId === undefined) {
57
- byModelId = new Map()
58
- byProvider.set(model.providerId, byModelId)
59
- }
60
- if (byModelId.has(model.modelId)) {
61
- throw new RuntimeError(
62
- `[Sixb] Duplicate language model '${model.providerId}/${model.modelId}' in 'models'. Each provider and model id pair may be configured once.`
63
- )
64
- }
88
+ return Object.freeze({ language, embedding, decision })
89
+ }
65
90
 
66
- const entry = Object.freeze({
67
- provider: model.providerId,
68
- modelId: model.modelId,
69
- model,
70
- })
71
- byModelId.set(model.modelId, entry)
72
- entries.push(entry)
91
+ function createLanguageCatalog(
92
+ models: readonly LanguageModel[] | undefined
93
+ ): LanguageModelCatalog | undefined {
94
+ if (models === undefined) return undefined
95
+ if (!Array.isArray(models)) {
96
+ throw new RuntimeError("[Sixb] 'models.language' must be an array of Sixb language models.")
73
97
  }
74
98
 
75
- const [defaultEntry] = entries
76
- if (defaultEntry === undefined) {
99
+ const index = indexModelBindings(models, "language", assertLanguageModel)
100
+ const [defaultEntry] = index.list()
101
+ if (!defaultEntry) {
77
102
  throw new RuntimeError(
78
- "[Sixb] 'models.language' needs at least one model. Configure one or omit 'models' from createSixb()."
103
+ "[Sixb] 'models.language' needs at least one model. Configure one or omit 'models.language'."
79
104
  )
80
105
  }
81
106
 
82
- const listed = Object.freeze(entries.slice())
83
- const language: LanguageModelCatalog = Object.freeze({
84
- default: defaultEntry,
85
- list: () => listed,
86
- getByRef: (ref: LanguageModelRef) => byProvider.get(ref.provider)?.get(ref.modelId) ?? null,
87
- })
107
+ return Object.freeze({ ...index, default: defaultEntry })
108
+ }
109
+
110
+ function createEmbeddingCatalog(
111
+ models: readonly EmbeddingModel[] | undefined
112
+ ): EmbeddingModelCatalog {
113
+ if (models !== undefined && !Array.isArray(models)) {
114
+ throw new RuntimeError("[Sixb] models.embedding must be an array of embedding models.")
115
+ }
88
116
 
89
- return Object.freeze({ language })
117
+ return indexModelBindings(models ?? [], "embedding", assertEmbeddingModel)
90
118
  }
91
119
 
92
120
  function assertLanguageModel(model: unknown, index: number): asserts model is LanguageModel {