@sixb/core 0.1.10 → 0.1.12

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 (702) 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.js +29 -28
  4. package/dist/actions/index.js.map +1 -1
  5. package/dist/actions/types/params.d.ts +10 -44
  6. package/dist/actions/types/params.d.ts.map +1 -1
  7. package/dist/actions/validation.d.ts.map +1 -1
  8. package/dist/actions/worker.js +3 -2
  9. package/dist/actions/worker.js.map +2 -2
  10. package/dist/agents/errors.d.ts +1 -1
  11. package/dist/agents/errors.d.ts.map +1 -1
  12. package/dist/agents/execution.d.ts +15 -9
  13. package/dist/agents/execution.d.ts.map +1 -1
  14. package/dist/agents/ids.d.ts +2 -0
  15. package/dist/agents/ids.d.ts.map +1 -1
  16. package/dist/agents/index.d.ts +1 -1
  17. package/dist/agents/index.d.ts.map +1 -1
  18. package/dist/agents/index.js +48 -42
  19. package/dist/agents/index.js.map +1 -1
  20. package/dist/agents/request.d.ts.map +1 -1
  21. package/dist/agents/sandbox.d.ts +5 -0
  22. package/dist/agents/sandbox.d.ts.map +1 -0
  23. package/dist/agents/streams/index.js +4 -3
  24. package/dist/agents/streams/index.js.map +1 -1
  25. package/dist/agents/streams/internal.js +4 -3
  26. package/dist/agents/streams/internal.js.map +1 -1
  27. package/dist/agents/validation.d.ts.map +1 -1
  28. package/dist/auth/index.js +8 -6
  29. package/dist/auth/index.js.map +1 -1
  30. package/dist/authorization/index.js +5 -4
  31. package/dist/authorization/index.js.map +1 -1
  32. package/dist/blob-storage/types.d.ts +4 -1
  33. package/dist/blob-storage/types.d.ts.map +1 -1
  34. package/dist/bootstrap/index.js +50 -46
  35. package/dist/bootstrap/index.js.map +1 -1
  36. package/dist/{chunk-17kfctj6.js → chunk-0mza4xb2.js} +2 -2
  37. package/dist/chunk-2c4j899j.js.map +1 -1
  38. package/dist/{chunk-g00bfdq6.js → chunk-2cxv584m.js} +12 -56
  39. package/dist/{chunk-g00bfdq6.js.map → chunk-2cxv584m.js.map} +3 -3
  40. package/dist/{chunk-e0d1rzef.js → chunk-2h63nrde.js} +380 -97
  41. package/dist/chunk-2h63nrde.js.map +20 -0
  42. package/dist/{chunk-rtk71jzp.js → chunk-3bnt2wna.js} +2 -2
  43. package/dist/{chunk-awbhdqyc.js → chunk-3ghw2t5q.js} +1 -1
  44. package/dist/{chunk-b19g04jk.js → chunk-3h7ctayx.js} +1 -1
  45. package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
  46. package/dist/{chunk-5hz0fnca.js → chunk-4k53sm9e.js} +6 -2
  47. package/dist/chunk-4k53sm9e.js.map +12 -0
  48. package/dist/chunk-4ph94nhd.js +81 -0
  49. package/dist/chunk-4ph94nhd.js.map +10 -0
  50. package/dist/chunk-58geavnf.js +29 -0
  51. package/dist/chunk-58geavnf.js.map +10 -0
  52. package/dist/{chunk-0y39rgsb.js → chunk-5tetw4hn.js} +1 -1
  53. package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
  54. package/dist/chunk-69266efg.js.map +12 -0
  55. package/dist/{chunk-g7knyczr.js → chunk-6ma8dvzc.js} +121 -53
  56. package/dist/chunk-6ma8dvzc.js.map +15 -0
  57. package/dist/{chunk-skz0hst3.js → chunk-7c2g3sz9.js} +6 -86
  58. package/dist/{chunk-skz0hst3.js.map → chunk-7c2g3sz9.js.map} +3 -3
  59. package/dist/{chunk-976rxdpx.js → chunk-7qnvhtcd.js} +93 -17
  60. package/dist/{chunk-976rxdpx.js.map → chunk-7qnvhtcd.js.map} +7 -6
  61. package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
  62. package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
  63. package/dist/chunk-91kcnbf0.js.map +10 -0
  64. package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
  65. package/dist/chunk-96yw3pwd.js.map +10 -0
  66. package/dist/chunk-98cw09sw.js.map +2 -2
  67. package/dist/{chunk-93csa55g.js → chunk-axndsymr.js} +10 -4
  68. package/dist/chunk-axndsymr.js.map +11 -0
  69. package/dist/{chunk-r7fj830t.js → chunk-b768c93y.js} +100 -29
  70. package/dist/chunk-b768c93y.js.map +36 -0
  71. package/dist/{chunk-dz5h08xv.js → chunk-bbaa1fet.js} +24 -9
  72. package/dist/{chunk-dz5h08xv.js.map → chunk-bbaa1fet.js.map} +4 -4
  73. package/dist/{chunk-7apz6hg4.js → chunk-bet1rb9h.js} +8 -4
  74. package/dist/chunk-bet1rb9h.js.map +10 -0
  75. package/dist/{chunk-358caqf5.js → chunk-bfjv1adk.js} +2 -2
  76. package/dist/{chunk-b0ec55a1.js → chunk-bg2bs62d.js} +5 -5
  77. package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
  78. package/dist/chunk-cd234ba4.js.map +14 -0
  79. package/dist/chunk-d62kjtbg.js.map +1 -1
  80. package/dist/chunk-dmn70ztd.js.map +2 -2
  81. package/dist/{chunk-28ja2cjs.js → chunk-e1f1sqba.js} +39 -53
  82. package/dist/{chunk-28ja2cjs.js.map → chunk-e1f1sqba.js.map} +5 -6
  83. package/dist/{chunk-ap0g1g74.js → chunk-eyjzgav0.js} +39 -4
  84. package/dist/chunk-eyjzgav0.js.map +12 -0
  85. package/dist/{chunk-rb1xx120.js → chunk-f06sf7rr.js} +9 -5
  86. package/dist/chunk-f06sf7rr.js.map +11 -0
  87. package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
  88. package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
  89. package/dist/{chunk-38zv5rkr.js → chunk-g2gezsg5.js} +1 -1
  90. package/dist/{chunk-38zv5rkr.js.map → chunk-g2gezsg5.js.map} +2 -2
  91. package/dist/{chunk-nmbxcaqx.js → chunk-g50nxqs5.js} +53 -66
  92. package/dist/chunk-g50nxqs5.js.map +18 -0
  93. package/dist/{chunk-1824gssz.js → chunk-gswwr35f.js} +4 -4
  94. package/dist/{chunk-92vk7gta.js → chunk-gzt6v1ja.js} +1 -1
  95. package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
  96. package/dist/chunk-hgqpcmyr.js.map +12 -0
  97. package/dist/{chunk-gqh45d2n.js → chunk-hkw8rykk.js} +2 -2
  98. package/dist/{chunk-f4w3yp4f.js → chunk-hzw7yv5g.js} +104 -21
  99. package/dist/chunk-hzw7yv5g.js.map +13 -0
  100. package/dist/{chunk-5c7ga8zz.js → chunk-jjwhy3rs.js} +5 -5
  101. package/dist/chunk-kept9cdd.js +29 -0
  102. package/dist/chunk-kept9cdd.js.map +10 -0
  103. package/dist/{chunk-ftv470j8.js → chunk-m7cx05vp.js} +247 -16
  104. package/dist/{chunk-ftv470j8.js.map → chunk-m7cx05vp.js.map} +14 -10
  105. package/dist/{chunk-qyeptdyv.js → chunk-mdnw7nj8.js} +10 -6
  106. package/dist/chunk-mdnw7nj8.js.map +15 -0
  107. package/dist/{chunk-5p1v802y.js → chunk-nzsy3xrp.js} +253 -86
  108. package/dist/chunk-nzsy3xrp.js.map +46 -0
  109. package/dist/chunk-p1683c0v.js +104 -0
  110. package/dist/chunk-p1683c0v.js.map +11 -0
  111. package/dist/chunk-p6r1ex7t.js +93 -0
  112. package/dist/chunk-p6r1ex7t.js.map +10 -0
  113. package/dist/{chunk-p5vcsw9c.js → chunk-qm535afa.js} +10 -10
  114. package/dist/{chunk-p5vcsw9c.js.map → chunk-qm535afa.js.map} +4 -4
  115. package/dist/chunk-r5zythxp.js +552 -0
  116. package/dist/chunk-r5zythxp.js.map +17 -0
  117. package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
  118. package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
  119. package/dist/{chunk-t1f4f1ve.js → chunk-sfypc7mk.js} +18 -13
  120. package/dist/{chunk-t1f4f1ve.js.map → chunk-sfypc7mk.js.map} +3 -3
  121. package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
  122. package/dist/chunk-t6f3tdnr.js.map +10 -0
  123. package/dist/{chunk-bn138h9w.js → chunk-t7dzd1tm.js} +3 -3
  124. package/dist/{chunk-pr2h4bv4.js → chunk-tg4g4zh0.js} +3 -3
  125. package/dist/chunk-vpxss818.js +56 -0
  126. package/dist/chunk-vpxss818.js.map +10 -0
  127. package/dist/{chunk-ms2tmn1k.js → chunk-vsg0g7h9.js} +53 -57
  128. package/dist/chunk-vsg0g7h9.js.map +17 -0
  129. package/dist/{chunk-8vj0rjgs.js → chunk-wjffn5m4.js} +1 -1
  130. package/dist/{chunk-nt99sxd6.js → chunk-x9tmx3fc.js} +18 -24
  131. package/dist/chunk-x9tmx3fc.js.map +14 -0
  132. package/dist/{chunk-agbbygvh.js → chunk-xn686q2e.js} +8 -8
  133. package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
  134. package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
  135. package/dist/{chunk-v2vcg0w6.js → chunk-xtfryrfb.js} +2 -2
  136. package/dist/chunk-y0v18c2j.js +363 -0
  137. package/dist/chunk-y0v18c2j.js.map +14 -0
  138. package/dist/{chunk-72w2pxk7.js → chunk-y1ahv8b7.js} +11 -3
  139. package/dist/{chunk-72w2pxk7.js.map → chunk-y1ahv8b7.js.map} +3 -3
  140. package/dist/chunk-y3ev53cq.js +84 -0
  141. package/dist/chunk-y3ev53cq.js.map +10 -0
  142. package/dist/{chunk-p6a4npdx.js → chunk-ybhz3j9g.js} +362 -60
  143. package/dist/chunk-ybhz3j9g.js.map +63 -0
  144. package/dist/{chunk-z30bv4ga.js → chunk-yxb4c62x.js} +3 -2
  145. package/dist/{chunk-z30bv4ga.js.map → chunk-yxb4c62x.js.map} +3 -3
  146. package/dist/chunk-z3y5kg1x.js +14 -0
  147. package/dist/chunk-z3y5kg1x.js.map +10 -0
  148. package/dist/connectors/connections/command-context.d.ts +2 -0
  149. package/dist/connectors/connections/command-context.d.ts.map +1 -1
  150. package/dist/connectors/connections/contracts.d.ts +1 -1
  151. package/dist/connectors/connections/contracts.d.ts.map +1 -1
  152. package/dist/connectors/connections/execution.d.ts +1 -0
  153. package/dist/connectors/connections/execution.d.ts.map +1 -1
  154. package/dist/connectors/connections/runs.d.ts +1 -0
  155. package/dist/connectors/connections/runs.d.ts.map +1 -1
  156. package/dist/connectors/connections/service.d.ts +2 -0
  157. package/dist/connectors/connections/service.d.ts.map +1 -1
  158. package/dist/datasets/validation.d.ts +4 -0
  159. package/dist/datasets/validation.d.ts.map +1 -1
  160. package/dist/datasets/write.d.ts.map +1 -1
  161. package/dist/datasets/write.js +5 -4
  162. package/dist/datasets/write.js.map +1 -1
  163. package/dist/error-reporting/capability.d.ts +3 -2
  164. package/dist/error-reporting/capability.d.ts.map +1 -1
  165. package/dist/error-reporting/internal.js +5 -4
  166. package/dist/error-reporting/internal.js.map +1 -1
  167. package/dist/error-reporting/reports.d.ts +10 -0
  168. package/dist/error-reporting/reports.d.ts.map +1 -1
  169. package/dist/error-reporting/types.d.ts +10 -2
  170. package/dist/error-reporting/types.d.ts.map +1 -1
  171. package/dist/errors/catalog.d.ts +12 -0
  172. package/dist/errors/catalog.d.ts.map +1 -1
  173. package/dist/errors/failure-message.d.ts +8 -0
  174. package/dist/errors/failure-message.d.ts.map +1 -0
  175. package/dist/errors/internal.d.ts.map +1 -1
  176. package/dist/errors/internal.js +3 -2
  177. package/dist/errors/internal.js.map +1 -1
  178. package/dist/events/index.js +5 -4
  179. package/dist/events/index.js.map +1 -1
  180. package/dist/events/outbox-dispatcher.d.ts +2 -2
  181. package/dist/events/outbox-dispatcher.d.ts.map +1 -1
  182. package/dist/execution/agent.js +44 -41
  183. package/dist/execution/agent.js.map +1 -1
  184. package/dist/execution/authorization.d.ts.map +1 -1
  185. package/dist/execution/authorized-object-reader.d.ts +3 -0
  186. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  187. package/dist/execution/kernel-operation.d.ts +4 -0
  188. package/dist/execution/kernel-operation.d.ts.map +1 -0
  189. package/dist/execution/primitive.js +44 -41
  190. package/dist/execution/primitive.js.map +2 -2
  191. package/dist/execution/request.js +45 -42
  192. package/dist/execution/request.js.map +2 -2
  193. package/dist/execution/types.d.ts +6 -0
  194. package/dist/execution/types.d.ts.map +1 -1
  195. package/dist/index.d.ts +15 -5
  196. package/dist/index.d.ts.map +1 -1
  197. package/dist/index.js +68 -59
  198. package/dist/index.js.map +1 -1
  199. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  200. package/dist/lake-storage/index.js +5 -4
  201. package/dist/lake-storage/index.js.map +1 -1
  202. package/dist/lake-storage/types.d.ts +2 -0
  203. package/dist/lake-storage/types.d.ts.map +1 -1
  204. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  205. package/dist/maintenance/types.d.ts +1 -1
  206. package/dist/maintenance/types.d.ts.map +1 -1
  207. package/dist/materialization/errors.d.ts +1 -1
  208. package/dist/materialization/errors.d.ts.map +1 -1
  209. package/dist/materialization/index.d.ts +1 -0
  210. package/dist/materialization/index.d.ts.map +1 -1
  211. package/dist/materialization/index.js +3 -3
  212. package/dist/materialization/model.d.ts +2 -0
  213. package/dist/materialization/model.d.ts.map +1 -1
  214. package/dist/materialization/vectors.d.ts +19 -0
  215. package/dist/materialization/vectors.d.ts.map +1 -0
  216. package/dist/materializer/context.d.ts.map +1 -1
  217. package/dist/materializer/edits/commit.d.ts.map +1 -1
  218. package/dist/materializer/edits/vector-authority.d.ts +6 -0
  219. package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
  220. package/dist/materializer/edits/vectors.d.ts +6 -0
  221. package/dist/materializer/edits/vectors.d.ts.map +1 -0
  222. package/dist/materializer/effective/validate.d.ts.map +1 -1
  223. package/dist/materializer/effective/vector-indexing.d.ts +7 -0
  224. package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
  225. package/dist/materializer/effective/vectors.d.ts +6 -0
  226. package/dist/materializer/effective/vectors.d.ts.map +1 -0
  227. package/dist/materializer/execution/work-executor.d.ts +2 -1
  228. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  229. package/dist/materializer/index.js +26 -25
  230. package/dist/materializer/index.js.map +1 -1
  231. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  232. package/dist/models/catalog-index.d.ts +15 -0
  233. package/dist/models/catalog-index.d.ts.map +1 -0
  234. package/dist/models/catalog.d.ts +27 -6
  235. package/dist/models/catalog.d.ts.map +1 -1
  236. package/dist/models/decision/catalog.d.ts +12 -0
  237. package/dist/models/decision/catalog.d.ts.map +1 -0
  238. package/dist/models/decision/errors.d.ts +7 -0
  239. package/dist/models/decision/errors.d.ts.map +1 -0
  240. package/dist/models/decision/output.d.ts +50 -0
  241. package/dist/models/decision/output.d.ts.map +1 -0
  242. package/dist/models/decision/questions.d.ts +14 -0
  243. package/dist/models/decision/questions.d.ts.map +1 -0
  244. package/dist/models/decision/runtime.d.ts +7 -0
  245. package/dist/models/decision/runtime.d.ts.map +1 -0
  246. package/dist/models/decision/types.d.ts +92 -0
  247. package/dist/models/decision/types.d.ts.map +1 -0
  248. package/dist/models/decision/validation.d.ts +7 -0
  249. package/dist/models/decision/validation.d.ts.map +1 -0
  250. package/dist/models/definitions.d.ts +8 -1
  251. package/dist/models/definitions.d.ts.map +1 -1
  252. package/dist/models/embedding-model.d.ts +60 -0
  253. package/dist/models/embedding-model.d.ts.map +1 -0
  254. package/dist/models/execution/binding.d.ts +2 -0
  255. package/dist/models/execution/binding.d.ts.map +1 -1
  256. package/dist/models/execution/embedding.d.ts +5 -0
  257. package/dist/models/execution/embedding.d.ts.map +1 -0
  258. package/dist/models/execution/index.js +29 -26
  259. package/dist/models/execution/index.js.map +1 -1
  260. package/dist/models/execution/model-call-recorder.d.ts +5 -1
  261. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  262. package/dist/models/execution/session.d.ts +21 -0
  263. package/dist/models/execution/session.d.ts.map +1 -0
  264. package/dist/models/execution.d.ts.map +1 -1
  265. package/dist/models/generation-types.d.ts +2 -0
  266. package/dist/models/generation-types.d.ts.map +1 -1
  267. package/dist/models/index.d.ts +9 -1
  268. package/dist/models/index.d.ts.map +1 -1
  269. package/dist/models/index.js +17 -7
  270. package/dist/models/index.js.map +1 -1
  271. package/dist/models/pricing.d.ts +3 -2
  272. package/dist/models/pricing.d.ts.map +1 -1
  273. package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
  274. package/dist/objects/execution.d.ts +1 -0
  275. package/dist/objects/execution.d.ts.map +1 -1
  276. package/dist/objects/index.js +29 -28
  277. package/dist/objects/index.js.map +1 -1
  278. package/dist/objects/query/executor.d.ts +3 -0
  279. package/dist/objects/query/executor.d.ts.map +1 -1
  280. package/dist/objects/query/index.d.ts +2 -0
  281. package/dist/objects/query/index.d.ts.map +1 -1
  282. package/dist/objects/query/index.js +34 -24
  283. package/dist/objects/query/index.js.map +1 -1
  284. package/dist/objects/query/ir.d.ts +6 -2
  285. package/dist/objects/query/ir.d.ts.map +1 -1
  286. package/dist/objects/query/normalize.d.ts.map +1 -1
  287. package/dist/objects/query/validate.d.ts.map +1 -1
  288. package/dist/objects/sdk/object-handle.d.ts +5 -0
  289. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  290. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  291. package/dist/objects/sdk/query-executor.d.ts +2 -0
  292. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  293. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  294. package/dist/objects/vectors/handle.d.ts +4 -0
  295. package/dist/objects/vectors/handle.d.ts.map +1 -0
  296. package/dist/objects/vectors/indexing-batch.d.ts +6 -0
  297. package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
  298. package/dist/objects/vectors/indexing-generate.d.ts +11 -0
  299. package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
  300. package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
  301. package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
  302. package/dist/objects/vectors/indexing-shared.d.ts +17 -0
  303. package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
  304. package/dist/objects/vectors/indexing-single.d.ts +4 -0
  305. package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
  306. package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
  307. package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
  308. package/dist/objects/vectors/indexing.d.ts +7 -0
  309. package/dist/objects/vectors/indexing.d.ts.map +1 -0
  310. package/dist/objects/vectors/profile.d.ts +13 -0
  311. package/dist/objects/vectors/profile.d.ts.map +1 -0
  312. package/dist/objects/vectors/query.d.ts +5 -0
  313. package/dist/objects/vectors/query.d.ts.map +1 -0
  314. package/dist/objects/vectors/resolve-query.d.ts +6 -0
  315. package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
  316. package/dist/objects/vectors/types.d.ts +11 -0
  317. package/dist/objects/vectors/types.d.ts.map +1 -0
  318. package/dist/ontology/index.d.ts +2 -1
  319. package/dist/ontology/index.d.ts.map +1 -1
  320. package/dist/ontology/index.js +5 -5
  321. package/dist/ontology/index.js.map +1 -1
  322. package/dist/ontology/internal.js +5 -4
  323. package/dist/ontology/internal.js.map +1 -1
  324. package/dist/ontology/registry.d.ts.map +1 -1
  325. package/dist/ontology/types.d.ts +8 -9
  326. package/dist/ontology/types.d.ts.map +1 -1
  327. package/dist/ontology/validation/definition.d.ts +3 -0
  328. package/dist/ontology/validation/definition.d.ts.map +1 -0
  329. package/dist/ontology/validation/properties.d.ts.map +1 -1
  330. package/dist/ontology/validation/query.d.ts.map +1 -1
  331. package/dist/ontology/validation/schema.d.ts +1 -1
  332. package/dist/ontology/validation/schema.d.ts.map +1 -1
  333. package/dist/ontology/vector-profiles.d.ts +4 -0
  334. package/dist/ontology/vector-profiles.d.ts.map +1 -0
  335. package/dist/pipelines/index.js +28 -27
  336. package/dist/pipelines/index.js.map +1 -1
  337. package/dist/projections/internal.js +24 -23
  338. package/dist/projections/internal.js.map +1 -1
  339. package/dist/query.js +2 -2
  340. package/dist/queues/in-memory.d.ts +2 -1
  341. package/dist/queues/in-memory.d.ts.map +1 -1
  342. package/dist/queues/index.d.ts +1 -1
  343. package/dist/queues/index.d.ts.map +1 -1
  344. package/dist/queues/index.js +1 -1
  345. package/dist/queues/types.d.ts +5 -0
  346. package/dist/queues/types.d.ts.map +1 -1
  347. package/dist/runtime/create.d.ts +4 -3
  348. package/dist/runtime/create.d.ts.map +1 -1
  349. package/dist/runtime/host.d.ts +9 -6
  350. package/dist/runtime/host.d.ts.map +1 -1
  351. package/dist/runtime/internal.d.ts +3 -0
  352. package/dist/runtime/internal.d.ts.map +1 -1
  353. package/dist/runtime/internal.js +47 -1
  354. package/dist/runtime/internal.js.map +1 -1
  355. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  356. package/dist/runtime/sixb.d.ts +9 -4
  357. package/dist/runtime/sixb.d.ts.map +1 -1
  358. package/dist/runtime/types.d.ts +15 -3
  359. package/dist/runtime/types.d.ts.map +1 -1
  360. package/dist/sandboxes/auth.d.ts +16 -0
  361. package/dist/sandboxes/auth.d.ts.map +1 -0
  362. package/dist/sandboxes/config.d.ts +5 -0
  363. package/dist/sandboxes/config.d.ts.map +1 -0
  364. package/dist/sandboxes/configuration.d.ts +41 -0
  365. package/dist/sandboxes/configuration.d.ts.map +1 -0
  366. package/dist/sandboxes/environment.d.ts +13 -0
  367. package/dist/sandboxes/environment.d.ts.map +1 -0
  368. package/dist/sandboxes/errors.d.ts +1 -1
  369. package/dist/sandboxes/errors.d.ts.map +1 -1
  370. package/dist/sandboxes/index.d.ts +6 -1
  371. package/dist/sandboxes/index.d.ts.map +1 -1
  372. package/dist/sandboxes/index.js +16 -3
  373. package/dist/sandboxes/index.js.map +1 -1
  374. package/dist/sandboxes/sandbox.d.ts +35 -3
  375. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  376. package/dist/shared/params/builders.d.ts +25 -0
  377. package/dist/shared/params/builders.d.ts.map +1 -0
  378. package/dist/shared/params/types.d.ts +47 -0
  379. package/dist/shared/params/types.d.ts.map +1 -0
  380. package/dist/shared/params/validation.d.ts +15 -0
  381. package/dist/shared/params/validation.d.ts.map +1 -0
  382. package/dist/shares/internal.js +23 -22
  383. package/dist/shares/internal.js.map +2 -2
  384. package/dist/storage/action-runs/failure.js +4 -3
  385. package/dist/storage/action-runs/failure.js.map +1 -1
  386. package/dist/storage/action-runs/provider.js +1 -1
  387. package/dist/storage/agents/in-memory.d.ts +2 -1
  388. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  389. package/dist/storage/agents/index.d.ts +1 -1
  390. package/dist/storage/agents/index.d.ts.map +1 -1
  391. package/dist/storage/agents/provider.d.ts +5 -1
  392. package/dist/storage/agents/provider.d.ts.map +1 -1
  393. package/dist/storage/agents/provider.js +8 -4
  394. package/dist/storage/agents/provider.js.map +1 -1
  395. package/dist/storage/agents/types.d.ts +49 -0
  396. package/dist/storage/agents/types.d.ts.map +1 -1
  397. package/dist/storage/ai-cost/analytics.d.ts +1 -0
  398. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  399. package/dist/storage/ai-cost/index.d.ts +1 -1
  400. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  401. package/dist/storage/ai-cost/provider.js +2 -2
  402. package/dist/storage/ai-cost/types.d.ts +14 -2
  403. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  404. package/dist/storage/ai-limits/enforcement.js +4 -3
  405. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  406. package/dist/storage/connector-connections/in-memory.d.ts +1 -0
  407. package/dist/storage/connector-connections/in-memory.d.ts.map +1 -1
  408. package/dist/storage/connector-connections/provider/connections.d.ts.map +1 -1
  409. package/dist/storage/connector-connections/provider/runs.d.ts +1 -0
  410. package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -1
  411. package/dist/storage/connector-connections/provider/shared.d.ts +1 -0
  412. package/dist/storage/connector-connections/provider/shared.d.ts.map +1 -1
  413. package/dist/storage/connector-connections/provider.d.ts +1 -0
  414. package/dist/storage/connector-connections/provider.d.ts.map +1 -1
  415. package/dist/storage/connector-connections/provider.js +12 -17
  416. package/dist/storage/connector-connections/provider.js.map +6 -6
  417. package/dist/storage/connector-connections/types.d.ts +3 -1
  418. package/dist/storage/connector-connections/types.d.ts.map +1 -1
  419. package/dist/storage/executions/provider.d.ts +3 -3
  420. package/dist/storage/executions/provider.d.ts.map +1 -1
  421. package/dist/storage/executions/provider.js +13 -11
  422. package/dist/storage/executions/provider.js.map +3 -3
  423. package/dist/storage/executions/types.d.ts +3 -0
  424. package/dist/storage/executions/types.d.ts.map +1 -1
  425. package/dist/storage/executions/validation.d.ts.map +1 -1
  426. package/dist/storage/index.d.ts +5 -3
  427. package/dist/storage/index.d.ts.map +1 -1
  428. package/dist/storage/index.js +25 -22
  429. package/dist/storage/index.js.map +1 -1
  430. package/dist/storage/internal.js +2 -2
  431. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  432. package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
  433. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  434. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  435. package/dist/storage/objects/in-memory/storage.d.ts +7 -0
  436. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  437. package/dist/storage/objects/types.d.ts +2 -0
  438. package/dist/storage/objects/types.d.ts.map +1 -1
  439. package/dist/storage/ontology/commits.d.ts +1 -0
  440. package/dist/storage/ontology/commits.d.ts.map +1 -1
  441. package/dist/storage/ontology/in-memory/index.d.ts +4 -0
  442. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  443. package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
  444. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  445. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
  446. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  447. package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
  448. package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
  449. package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
  450. package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
  451. package/dist/storage/ontology/index.d.ts +6 -0
  452. package/dist/storage/ontology/index.d.ts.map +1 -1
  453. package/dist/storage/ontology/outbox.d.ts +1 -0
  454. package/dist/storage/ontology/outbox.d.ts.map +1 -1
  455. package/dist/storage/ontology/provider.js +2 -2
  456. package/dist/storage/ontology/vector-indexing.d.ts +94 -0
  457. package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
  458. package/dist/storage/ontology/vectors.d.ts +56 -0
  459. package/dist/storage/ontology/vectors.d.ts.map +1 -0
  460. package/dist/storage/operation-scope.d.ts.map +1 -1
  461. package/dist/storage/operation-scope.js +1 -1
  462. package/dist/storage/projection-runs/provider.js +4 -3
  463. package/dist/storage/projection-runs/provider.js.map +1 -1
  464. package/dist/storage/types.d.ts +1 -1
  465. package/dist/storage/types.d.ts.map +1 -1
  466. package/dist/storage/workflow-runs/provider.js +9 -7
  467. package/dist/storage/workflow-runs/provider.js.map +1 -1
  468. package/dist/syncs/index.js +29 -28
  469. package/dist/syncs/index.js.map +1 -1
  470. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  471. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  472. package/dist/testing/index.js +488 -81
  473. package/dist/testing/index.js.map +10 -10
  474. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  475. package/dist/testing/object-query-contract.d.ts.map +1 -1
  476. package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
  477. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  478. package/dist/testing/queues-contract.d.ts.map +1 -1
  479. package/dist/webhooks/internal.js +24 -23
  480. package/dist/webhooks/internal.js.map +2 -2
  481. package/dist/workers/index.js +3 -2
  482. package/dist/workers/index.js.map +2 -2
  483. package/dist/workflows/failure.d.ts.map +1 -1
  484. package/dist/workflows/index.js +47 -43
  485. package/dist/workflows/index.js.map +1 -1
  486. package/package.json +1 -1
  487. package/src/actions/builders/params.ts +1 -48
  488. package/src/actions/types/params.ts +14 -74
  489. package/src/actions/validation.ts +7 -84
  490. package/src/agents/errors.ts +3 -0
  491. package/src/agents/execution.ts +67 -15
  492. package/src/agents/ids.ts +8 -0
  493. package/src/agents/index.ts +1 -0
  494. package/src/agents/model-loop.ts +7 -0
  495. package/src/agents/request.ts +11 -0
  496. package/src/agents/sandbox.ts +44 -0
  497. package/src/agents/validation.ts +2 -108
  498. package/src/blob-storage/types.ts +4 -1
  499. package/src/connectors/connections/command-context.ts +21 -4
  500. package/src/connectors/connections/contracts.ts +4 -1
  501. package/src/connectors/connections/execution.ts +3 -0
  502. package/src/connectors/connections/runs.ts +38 -1
  503. package/src/connectors/connections/service.ts +6 -0
  504. package/src/datasets/validation.ts +40 -11
  505. package/src/datasets/write.ts +8 -11
  506. package/src/error-reporting/capability.ts +11 -0
  507. package/src/error-reporting/reports.ts +23 -0
  508. package/src/error-reporting/types.ts +12 -1
  509. package/src/errors/catalog.ts +12 -0
  510. package/src/errors/failure-message.ts +15 -0
  511. package/src/errors/internal.ts +57 -25
  512. package/src/events/outbox-dispatcher.ts +20 -26
  513. package/src/execution/authorization.ts +12 -5
  514. package/src/execution/authorized-object-reader.ts +37 -2
  515. package/src/execution/kernel-operation.ts +27 -0
  516. package/src/execution/scopes.ts +2 -0
  517. package/src/execution/types.ts +4 -4
  518. package/src/index.ts +60 -1
  519. package/src/lake-storage/in-memory.ts +7 -3
  520. package/src/lake-storage/types.ts +2 -0
  521. package/src/maintenance/ontology-maintenance.ts +6 -2
  522. package/src/maintenance/types.ts +1 -1
  523. package/src/materialization/errors.ts +2 -2
  524. package/src/materialization/index.ts +1 -0
  525. package/src/materialization/model.ts +2 -0
  526. package/src/materialization/vectors.ts +18 -0
  527. package/src/materializer/README.md +15 -1
  528. package/src/materializer/context.ts +10 -0
  529. package/src/materializer/edits/commit.ts +8 -1
  530. package/src/materializer/edits/vector-authority.ts +108 -0
  531. package/src/materializer/edits/vectors.ts +100 -0
  532. package/src/materializer/effective/validate.ts +10 -3
  533. package/src/materializer/effective/vector-indexing.ts +84 -0
  534. package/src/materializer/effective/vectors.ts +47 -0
  535. package/src/materializer/execution/work-executor.ts +11 -3
  536. package/src/materializer/projections/replace.ts +1 -1
  537. package/src/materializer/shared/normalize.ts +11 -0
  538. package/src/materializer/telemetry/append.ts +1 -1
  539. package/src/models/catalog-index.ts +38 -0
  540. package/src/models/catalog.ts +66 -38
  541. package/src/models/decision/catalog.ts +32 -0
  542. package/src/models/decision/errors.ts +18 -0
  543. package/src/models/decision/output.ts +101 -0
  544. package/src/models/decision/questions.ts +29 -0
  545. package/src/models/decision/runtime.ts +188 -0
  546. package/src/models/decision/types.ts +109 -0
  547. package/src/models/decision/validation.ts +335 -0
  548. package/src/models/definitions.ts +20 -1
  549. package/src/models/embedding-model.ts +129 -0
  550. package/src/models/execution/README.md +63 -0
  551. package/src/models/execution/binding.ts +2 -0
  552. package/src/models/execution/embedding.ts +133 -0
  553. package/src/models/execution/model-call-recorder.ts +42 -30
  554. package/src/models/execution/session.ts +81 -0
  555. package/src/models/execution.ts +10 -52
  556. package/src/models/generation-types.ts +2 -0
  557. package/src/models/index.ts +37 -0
  558. package/src/models/pricing.ts +7 -4
  559. package/src/objects/authorized-ontology-view.ts +12 -8
  560. package/src/objects/execution.ts +2 -0
  561. package/src/objects/query/executor.ts +13 -4
  562. package/src/objects/query/explain.ts +7 -2
  563. package/src/objects/query/index.ts +2 -0
  564. package/src/objects/query/ir.ts +6 -2
  565. package/src/objects/query/normalize.ts +5 -1
  566. package/src/objects/query/validate.ts +74 -73
  567. package/src/objects/sdk/object-handle.ts +3 -0
  568. package/src/objects/sdk/object-set.ts +1 -0
  569. package/src/objects/sdk/query-builder.ts +9 -3
  570. package/src/objects/sdk/query-executor.ts +2 -1
  571. package/src/objects/sdk/runtime-query-executor.ts +6 -2
  572. package/src/objects/vectors/README.md +59 -0
  573. package/src/objects/vectors/handle.ts +91 -0
  574. package/src/objects/vectors/indexing-batch.ts +163 -0
  575. package/src/objects/vectors/indexing-generate.ts +184 -0
  576. package/src/objects/vectors/indexing-runtime.ts +17 -0
  577. package/src/objects/vectors/indexing-shared.ts +188 -0
  578. package/src/objects/vectors/indexing-single.ts +51 -0
  579. package/src/objects/vectors/indexing-store-batch.ts +62 -0
  580. package/src/objects/vectors/indexing.ts +23 -0
  581. package/src/objects/vectors/profile.ts +64 -0
  582. package/src/objects/vectors/query.ts +16 -0
  583. package/src/objects/vectors/resolve-query.ts +89 -0
  584. package/src/objects/vectors/types.ts +10 -0
  585. package/src/ontology/index.ts +2 -0
  586. package/src/ontology/registry.ts +8 -0
  587. package/src/ontology/types.ts +9 -9
  588. package/src/ontology/validation/definition.ts +104 -0
  589. package/src/ontology/validation/properties.ts +14 -4
  590. package/src/ontology/validation/query.ts +34 -51
  591. package/src/ontology/validation/schema.ts +85 -23
  592. package/src/ontology/vector-profiles.ts +35 -0
  593. package/src/queues/in-memory.ts +5 -0
  594. package/src/queues/index.ts +1 -0
  595. package/src/queues/types.ts +10 -0
  596. package/src/runtime/create.ts +7 -6
  597. package/src/runtime/host.ts +42 -6
  598. package/src/runtime/internal.ts +3 -0
  599. package/src/runtime/resolve-definitions.ts +19 -1
  600. package/src/runtime/sixb.ts +27 -9
  601. package/src/runtime/types.ts +16 -4
  602. package/src/sandboxes/README.md +41 -0
  603. package/src/sandboxes/auth.ts +17 -0
  604. package/src/sandboxes/config.ts +37 -0
  605. package/src/sandboxes/configuration.ts +268 -0
  606. package/src/sandboxes/environment.ts +107 -0
  607. package/src/sandboxes/errors.ts +1 -1
  608. package/src/sandboxes/index.ts +15 -0
  609. package/src/sandboxes/sandbox.ts +38 -3
  610. package/src/shared/params/builders.ts +50 -0
  611. package/src/shared/params/types.ts +84 -0
  612. package/src/shared/params/validation.ts +114 -0
  613. package/src/storage/agents/in-memory.ts +25 -1
  614. package/src/storage/agents/index.ts +3 -0
  615. package/src/storage/agents/provider.ts +105 -0
  616. package/src/storage/agents/types.ts +54 -0
  617. package/src/storage/ai-cost/analytics.ts +59 -21
  618. package/src/storage/ai-cost/index.ts +1 -0
  619. package/src/storage/ai-cost/types.ts +19 -2
  620. package/src/storage/connector-connections/in-memory.ts +16 -18
  621. package/src/storage/connector-connections/provider/connections.ts +1 -15
  622. package/src/storage/connector-connections/provider/runs.ts +6 -0
  623. package/src/storage/connector-connections/provider/shared.ts +2 -3
  624. package/src/storage/connector-connections/provider.ts +6 -0
  625. package/src/storage/connector-connections/types.ts +5 -1
  626. package/src/storage/executions/provider.ts +24 -12
  627. package/src/storage/executions/types.ts +1 -0
  628. package/src/storage/executions/validation.ts +7 -3
  629. package/src/storage/index.ts +15 -1
  630. package/src/storage/objects/in-memory/query.ts +25 -11
  631. package/src/storage/objects/in-memory/read-scope.ts +9 -2
  632. package/src/storage/objects/in-memory/read-source.ts +5 -0
  633. package/src/storage/objects/in-memory/selected-reader.ts +5 -1
  634. package/src/storage/objects/in-memory/storage.ts +19 -1
  635. package/src/storage/objects/types.ts +2 -0
  636. package/src/storage/ontology/commits.ts +1 -0
  637. package/src/storage/ontology/in-memory/index.ts +20 -0
  638. package/src/storage/ontology/in-memory/materializations.ts +13 -0
  639. package/src/storage/ontology/in-memory/shared-state.ts +19 -3
  640. package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
  641. package/src/storage/ontology/in-memory/vectors.ts +73 -0
  642. package/src/storage/ontology/index.ts +14 -0
  643. package/src/storage/ontology/outbox.ts +1 -0
  644. package/src/storage/ontology/vector-indexing.ts +98 -0
  645. package/src/storage/ontology/vectors.ts +48 -0
  646. package/src/storage/operation-scope.ts +1 -0
  647. package/src/storage/types.ts +3 -0
  648. package/src/testing/agent-storage-contract.ts +246 -0
  649. package/src/testing/ai-cost-storage-contract.ts +134 -0
  650. package/src/testing/connector-connection-storage-contract.ts +11 -11
  651. package/src/testing/lake-storage-contract.ts +29 -0
  652. package/src/testing/object-query-contract.ts +41 -25
  653. package/src/testing/object-read-scope-contract.ts +1 -5
  654. package/src/testing/ontology-storage-contract.ts +8 -3
  655. package/src/testing/queues-contract.ts +31 -0
  656. package/src/workflows/failure.ts +10 -4
  657. package/src/workflows/validation.ts +2 -2
  658. package/dist/chunk-5hz0fnca.js.map +0 -12
  659. package/dist/chunk-5p1v802y.js.map +0 -44
  660. package/dist/chunk-7apz6hg4.js.map +0 -10
  661. package/dist/chunk-7bs40fe1.js.map +0 -12
  662. package/dist/chunk-860dwwy0.js.map +0 -14
  663. package/dist/chunk-93csa55g.js.map +0 -11
  664. package/dist/chunk-aa6z4a19.js.map +0 -12
  665. package/dist/chunk-ap0g1g74.js.map +0 -11
  666. package/dist/chunk-e0d1rzef.js.map +0 -15
  667. package/dist/chunk-f0rwz2vh.js.map +0 -11
  668. package/dist/chunk-f4w3yp4f.js.map +0 -12
  669. package/dist/chunk-g7knyczr.js.map +0 -14
  670. package/dist/chunk-mrp7k0pw.js.map +0 -10
  671. package/dist/chunk-ms2tmn1k.js.map +0 -17
  672. package/dist/chunk-nmbxcaqx.js.map +0 -19
  673. package/dist/chunk-nt99sxd6.js.map +0 -14
  674. package/dist/chunk-p6a4npdx.js.map +0 -58
  675. package/dist/chunk-qyeptdyv.js.map +0 -15
  676. package/dist/chunk-r7fj830t.js.map +0 -36
  677. package/dist/chunk-rb1xx120.js.map +0 -11
  678. package/dist/chunk-yv79ncbv.js.map +0 -10
  679. package/dist/chunk-z3y411fq.js +0 -99
  680. package/dist/chunk-z3y411fq.js.map +0 -11
  681. /package/dist/{chunk-17kfctj6.js.map → chunk-0mza4xb2.js.map} +0 -0
  682. /package/dist/{chunk-rtk71jzp.js.map → chunk-3bnt2wna.js.map} +0 -0
  683. /package/dist/{chunk-awbhdqyc.js.map → chunk-3ghw2t5q.js.map} +0 -0
  684. /package/dist/{chunk-b19g04jk.js.map → chunk-3h7ctayx.js.map} +0 -0
  685. /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
  686. /package/dist/{chunk-0y39rgsb.js.map → chunk-5tetw4hn.js.map} +0 -0
  687. /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
  688. /package/dist/{chunk-358caqf5.js.map → chunk-bfjv1adk.js.map} +0 -0
  689. /package/dist/{chunk-b0ec55a1.js.map → chunk-bg2bs62d.js.map} +0 -0
  690. /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
  691. /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
  692. /package/dist/{chunk-1824gssz.js.map → chunk-gswwr35f.js.map} +0 -0
  693. /package/dist/{chunk-92vk7gta.js.map → chunk-gzt6v1ja.js.map} +0 -0
  694. /package/dist/{chunk-gqh45d2n.js.map → chunk-hkw8rykk.js.map} +0 -0
  695. /package/dist/{chunk-5c7ga8zz.js.map → chunk-jjwhy3rs.js.map} +0 -0
  696. /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
  697. /package/dist/{chunk-653vwrzr.js.map → chunk-rdghfsss.js.map} +0 -0
  698. /package/dist/{chunk-bn138h9w.js.map → chunk-t7dzd1tm.js.map} +0 -0
  699. /package/dist/{chunk-pr2h4bv4.js.map → chunk-tg4g4zh0.js.map} +0 -0
  700. /package/dist/{chunk-8vj0rjgs.js.map → chunk-wjffn5m4.js.map} +0 -0
  701. /package/dist/{chunk-agbbygvh.js.map → chunk-xn686q2e.js.map} +0 -0
  702. /package/dist/{chunk-v2vcg0w6.js.map → chunk-xtfryrfb.js.map} +0 -0
@@ -1,6 +1,7 @@
1
1
  import { assertAuthorized, isAllowed } from "../authorization"
2
2
  import { AuthorizationError } from "../authorization/errors"
3
3
  import type { AuthorizationContext } from "../authorization/types"
4
+ import type { EmbeddingModelCatalog } from "../models/catalog"
4
5
  import {
5
6
  type AuthorizedOntologySelection,
6
7
  type AuthorizedOntologyView,
@@ -84,6 +85,7 @@ class AuthorizedObjectReaderImpl {
84
85
  readonly #authority: ResolvedExecutionAuthority
85
86
  readonly #runtime: RuntimeReadAuthorization
86
87
  readonly #ontology: OntologyRegistry
88
+ readonly #embeddingModels?: EmbeddingModelCatalog
87
89
  #ontologyView?: AuthorizedOntologyView
88
90
  readonly #storage: ObjectReadStorage
89
91
  readonly #delegatedObjectTypeIds?: ReadonlySet<string>
@@ -95,6 +97,7 @@ class AuthorizedObjectReaderImpl {
95
97
  input: {
96
98
  readonly scope: ExecutionScope
97
99
  readonly ontology: OntologyRegistry
100
+ readonly embeddingModels?: EmbeddingModelCatalog
98
101
  readonly storage: ObjectReadStorage
99
102
  readonly authority: ResolvedExecutionAuthority
100
103
  }
@@ -106,6 +109,7 @@ class AuthorizedObjectReaderImpl {
106
109
  this.#authorization = input.scope.authorization
107
110
  this.#authority = input.authority
108
111
  this.#ontology = input.ontology
112
+ this.#embeddingModels = input.embeddingModels
109
113
  this.#storage = input.storage
110
114
  this.#delegatedObjectTypeIds =
111
115
  input.authority.type === "delegated"
@@ -316,6 +320,7 @@ class AuthorizedObjectReaderImpl {
316
320
  query: executionQuery,
317
321
  ...(includeTotal === undefined ? {} : { includeTotal }),
318
322
  projectId: this.#runtime.projectId,
323
+ signal: input.signal,
319
324
  },
320
325
  this.#queryExecutorOptions()
321
326
  )
@@ -459,10 +464,15 @@ class AuthorizedObjectReaderImpl {
459
464
  // The selected storage instance is the private execution capability. Passing the delegated
460
465
  // runtime token into the generic executor would either reject this admitted query or tempt a
461
466
  // forgeable bypass flag; neither is needed at this nominal boundary.
462
- return { ontology: this.#ontology, storage: this.#storage }
467
+ return {
468
+ ontology: this.#ontology,
469
+ storage: this.#storage,
470
+ embeddingModels: this.#embeddingModels,
471
+ }
463
472
  }
464
473
  return {
465
474
  ontology: this.#ontology,
475
+ embeddingModels: this.#embeddingModels,
466
476
  storage: this.#storage,
467
477
  runtimeAuthorization: this.#runtime.runtimeAuthorization,
468
478
  ...(this.#runtime.authorization === undefined
@@ -546,6 +556,7 @@ export type AuthorizedObjectReader = AuthorizedObjectReaderImpl
546
556
  export function createAuthorizedObjectReader(input: {
547
557
  readonly scope: ExecutionScope
548
558
  readonly ontology: OntologyRegistry
559
+ readonly embeddingModels?: EmbeddingModelCatalog
549
560
  readonly objectStorage: ObjectStorage
550
561
  }): AuthorizedObjectReader {
551
562
  const scope = captureExecutionScope(input.scope)
@@ -555,6 +566,7 @@ export function createAuthorizedObjectReader(input: {
555
566
  const reader = new AuthorizedObjectReaderImpl(readerConstructionKey, {
556
567
  scope,
557
568
  ontology: input.ontology,
569
+ embeddingModels: input.embeddingModels,
558
570
  storage,
559
571
  authority,
560
572
  })
@@ -681,7 +693,30 @@ function snapshotFacetRequests(facets: readonly ObjectFacetRequest[]): ObjectFac
681
693
  /** Capture one serializable query before either authorization or execution sees it. */
682
694
  function snapshotAuthoredQuery(query: ObjectQuery): ObjectQuery {
683
695
  try {
684
- return structuredClone(query)
696
+ const snapshot = structuredClone(query)
697
+ const pending = [snapshot]
698
+ const seen = new Set<ObjectQuery>()
699
+ for (const node of pending) {
700
+ if (seen.has(node)) continue
701
+ seen.add(node)
702
+ if (
703
+ node.kind === "vector" &&
704
+ (typeof node.vector !== "string" ||
705
+ typeof node.profile !== "string" ||
706
+ "propertyId" in node)
707
+ ) {
708
+ throw new ObjectQueryValidationError([
709
+ {
710
+ path: "$",
711
+ code: "invalid_vector_search_input",
712
+ message: "Vector search requires a named profile and search text",
713
+ },
714
+ ])
715
+ }
716
+ if ("input" in node) pending.push(node.input)
717
+ if (node.kind === "set") pending.push(...node.inputs)
718
+ }
719
+ return snapshot
685
720
  } catch (error) {
686
721
  if (error instanceof ObjectQueryValidationError) throw error
687
722
  throw new ObjectQueryValidationError([
@@ -0,0 +1,27 @@
1
+ import type { KernelOperation } from "./types"
2
+
3
+ export function kernelOperationId(operation: KernelOperation): string {
4
+ switch (operation.type) {
5
+ case "ontology.recover":
6
+ return operation.recoveryId
7
+ case "ontology.indexVectors":
8
+ return operation.indexingId
9
+ default:
10
+ return unknownOperation(operation)
11
+ }
12
+ }
13
+
14
+ export function kernelOperationFromId(type: KernelOperation["type"], id: string): KernelOperation {
15
+ switch (type) {
16
+ case "ontology.recover":
17
+ return { type, recoveryId: id }
18
+ case "ontology.indexVectors":
19
+ return { type, indexingId: id }
20
+ default:
21
+ return unknownOperation(type)
22
+ }
23
+ }
24
+
25
+ function unknownOperation(_operation: never): never {
26
+ throw new Error("[Sixb] Unknown kernel operation.")
27
+ }
@@ -197,6 +197,8 @@ function sourceIdentifier(source: ExecutionSource): {
197
197
  readonly value: string
198
198
  } {
199
199
  switch (source.type) {
200
+ case "ontologyCommit":
201
+ return { label: "Execution source commit id", value: source.commitId }
200
202
  case "http":
201
203
  return { label: "Execution source request id", value: source.requestId }
202
204
  case "webhook":
@@ -26,10 +26,9 @@ export interface SharedAccessDelegationRef {
26
26
  readonly sessionId: string
27
27
  }
28
28
 
29
- export type KernelOperation = {
30
- readonly type: "ontology.recover"
31
- readonly recoveryId: string
32
- }
29
+ export type KernelOperation =
30
+ | { readonly type: "ontology.recover"; readonly recoveryId: string }
31
+ | { readonly type: "ontology.indexVectors"; readonly indexingId: string }
33
32
 
34
33
  /** Workload currently executing. This is provenance and never grants authority by itself. */
35
34
  export type ExecutionExecutor =
@@ -49,6 +48,7 @@ export type ExecutionExecutor =
49
48
  * An `execution` source is the single logical parent of a nested execution.
50
49
  */
51
50
  export type ExecutionSource =
51
+ | { readonly type: "ontologyCommit"; readonly commitId: string }
52
52
  | { readonly type: "http"; readonly requestId: string }
53
53
  | { readonly type: "webhook"; readonly deliveryId: string }
54
54
  | { readonly type: "schedule"; readonly eventId: string }
package/src/index.ts CHANGED
@@ -27,6 +27,7 @@ export type {
27
27
  ObjectTypeSearchMetadata,
28
28
  ObjectTypeWithPropertyTokens,
29
29
  ObjectTypeWithTokens,
30
+ ObjectVectorSearchProfile,
30
31
  Ontology,
31
32
  OntologyDefinitionCatalog,
32
33
  OntologyRegistryOptions,
@@ -600,6 +601,7 @@ export type {
600
601
  SandboxFileRecord,
601
602
  SandboxNetworkPolicy,
602
603
  SandboxNetworkTarget,
604
+ SandboxRequestCredential,
603
605
  SandboxSessionOptions,
604
606
  SandboxStatus,
605
607
  } from "./sandboxes"
@@ -897,6 +899,7 @@ export type {
897
899
  SixbRunFailedContext,
898
900
  SixbRunFailureByKind,
899
901
  SixbRunIdentityByKind,
902
+ SixbVectorIndexingFailedContext,
900
903
  } from "./error-reporting/types"
901
904
  export type { SixbErrorCode, SixbFailure } from "./errors/types"
902
905
  export type { EventsRuntime } from "./events/execution"
@@ -922,6 +925,10 @@ export type {
922
925
  ObjectQueryLinksResult,
923
926
  ObjectsRuntime,
924
927
  } from "./objects/execution"
928
+ export type {
929
+ ObjectVectorHandle,
930
+ VectorProfileName,
931
+ } from "./objects/vectors/types"
925
932
  export type { PipelineRunsRuntime, PipelinesRuntime } from "./pipelines/execution"
926
933
  export type {
927
934
  ProjectionRunsRuntime,
@@ -990,6 +997,7 @@ export type {
990
997
  WebhookRunFailureCode,
991
998
  WorkflowRunFailureCode,
992
999
  } from "./storage"
1000
+ export type { VectorIndexingFailureCode } from "./storage/ontology/vector-indexing"
993
1001
  export type { SyncRunsRuntime, SyncsRuntime } from "./syncs/execution"
994
1002
  export type {
995
1003
  LatestWorkflowRunListResult,
@@ -1066,16 +1074,51 @@ export {
1066
1074
  MAX_AGENT_APP_STATE_TOTAL_BYTES,
1067
1075
  MAX_AGENT_CONTEXT_ENTRIES,
1068
1076
  } from "./agents"
1069
- export type { AgentThreadRecord, ListAgentThreadsResult } from "./storage/agents"
1077
+ export type { SandboxSourceAuth, SandboxSourceCredentials } from "./sandboxes/auth"
1078
+ export type {
1079
+ SandboxConfig,
1080
+ SandboxDefinition,
1081
+ SandboxEnvironment,
1082
+ SandboxResolveContext,
1083
+ SandboxSource,
1084
+ } from "./sandboxes/configuration"
1085
+ export type { ParamOptions } from "./shared/params/builders"
1086
+ export type { InferParams, ParamConfig, ParamsConfig } from "./shared/params/types"
1087
+ export type {
1088
+ AgentThreadRecord,
1089
+ AgentThreadSandboxParams,
1090
+ AgentThreadSandboxState,
1091
+ ListAgentThreadsResult,
1092
+ } from "./storage/agents"
1070
1093
 
1071
1094
  // ── Models ──────────────────────────────────────────────────
1072
1095
 
1073
1096
  export type {
1097
+ EmbeddingBatchLimits,
1098
+ EmbeddingModel,
1099
+ EmbeddingModelCatalog,
1100
+ EmbeddingModelDefinition,
1101
+ EmbeddingModelEntry,
1102
+ EmbeddingModelRef,
1103
+ EmbeddingModelRequest,
1104
+ EmbeddingModelResponseMetadata,
1105
+ EmbeddingModelResult,
1074
1106
  LanguageModelCatalog,
1075
1107
  LanguageModelEntry,
1076
1108
  LanguageModelRef,
1109
+ ModelCallCost,
1077
1110
  ModelCatalog,
1078
1111
  ModelCatalogInput,
1112
+ ModelCostComponent,
1113
+ ModelCostEstimate,
1114
+ ModelCostEstimator,
1115
+ ModelCostMeter,
1116
+ ModelMoney,
1117
+ ModelProviderIds,
1118
+ ModelRef,
1119
+ ModelReportedCost,
1120
+ ModelRoute,
1121
+ ModelUsage,
1079
1122
  } from "./models"
1080
1123
  export type {
1081
1124
  InferLanguageModelOutput,
@@ -1098,6 +1141,22 @@ export type {
1098
1141
  ActionParamDescriptor,
1099
1142
  ActionPhaseDescriptor,
1100
1143
  } from "./actions/descriptor"
1144
+ export type { DecisionAnswerSchema, DecisionOutputShape } from "./models/decision/output"
1145
+ export { decisionOutput } from "./models/decision/output"
1146
+ export { question } from "./models/decision/questions"
1147
+ export type {
1148
+ ChoiceQuestion,
1149
+ DecisionAnswer,
1150
+ DecisionAnswers,
1151
+ DecisionContent,
1152
+ DecisionEvaluateInput,
1153
+ DecisionEvaluateResult,
1154
+ DecisionModelsRuntime,
1155
+ DecisionQuestion,
1156
+ DecisionQuestions,
1157
+ ProbabilityQuestion,
1158
+ ScoreQuestion,
1159
+ } from "./models/decision/types"
1101
1160
  export type {
1102
1161
  ForeignKeyDescriptor,
1103
1162
  LinkProjectionDefinition,
@@ -1,7 +1,7 @@
1
1
  import { randomUUID } from "node:crypto"
2
2
  import { isDeepStrictEqual } from "node:util"
3
3
  import type { DatasetDefinition, DatasetSchema, MergeChange } from "../datasets"
4
- import { getDatasetRowValidationError } from "../datasets/validation"
4
+ import { getDatasetRowValidationFailure } from "../datasets/validation"
5
5
  import { resolveDatasetChangeColumns } from "./changes"
6
6
  import { mergeStrictDatasetDefinition } from "./definition-updates"
7
7
  import { LakeConcurrencyError, LakeStorageError } from "./errors"
@@ -113,9 +113,11 @@ class InMemoryLakeWriteSession implements LakeWriteSession {
113
113
  const stagedRows: DatasetRow[] = []
114
114
  const stagedPrimaryKeys = new Set<string>()
115
115
  for await (const row of rows) {
116
- const validationError = getDatasetRowValidationError(row, this.input.dataset)
116
+ const validationError = getDatasetRowValidationFailure(row, this.input.dataset)
117
117
  if (validationError) {
118
- throw new LakeStorageError(`[LakeStorage] ${validationError}`)
118
+ throw new LakeStorageError(`[LakeStorage] ${validationError.message}`, {
119
+ cause: validationError,
120
+ })
119
121
  }
120
122
 
121
123
  if (getDatasetPrimaryKeyColumns(this.input.dataset) !== null) {
@@ -367,6 +369,7 @@ export class InMemoryLakeStorage implements LakeStorage {
367
369
  }
368
370
 
369
371
  async *readRows(input: ReadDatasetRowsInput): AsyncIterable<DatasetRow> {
372
+ input.signal?.throwIfAborted()
370
373
  const definition = this.datasets.get(input.datasetId)
371
374
  if (!definition) {
372
375
  throw new LakeStorageError(`[LakeStorage] Unknown dataset '${input.datasetId}'`)
@@ -390,6 +393,7 @@ export class InMemoryLakeStorage implements LakeStorage {
390
393
  ?.slice(offset, limit === undefined ? undefined : offset + limit)
391
394
 
392
395
  for (const row of rows ?? []) {
396
+ input.signal?.throwIfAborted()
393
397
  yield selectColumns(row, input.columns)
394
398
  }
395
399
  }
@@ -71,6 +71,8 @@ export interface ReadDatasetRowsInput {
71
71
  readonly columns?: readonly string[]
72
72
  readonly limit?: number
73
73
  readonly offset?: number
74
+ /** Cancel an active read or a read waiting for provider capacity. */
75
+ readonly signal?: AbortSignal
74
76
  }
75
77
 
76
78
  export interface ReadDatasetChangesInput {
@@ -93,6 +93,7 @@ export class OntologyMaintenance {
93
93
 
94
94
  /** Runs one coalesced pass. Exposed for deterministic hosting and tests. */
95
95
  runNow(): Promise<void> {
96
+ if (this.stopping) return this.stopping
96
97
  this.pass ??= this.runPass().finally(() => {
97
98
  this.pass = null
98
99
  })
@@ -244,12 +245,15 @@ export class OntologyMaintenance {
244
245
  this.timer = null
245
246
  }
246
247
  const activePass = this.pass ?? Promise.resolve()
247
- const stopping = settlesWithin(activePass, this.shutdownTimeoutMs).then((settled) => {
248
+ const stopping = settlesWithin(activePass, this.shutdownTimeoutMs).then(async (settled) => {
248
249
  if (!settled) {
249
250
  this.reportError(
250
- new Error(`[Sixb] Ontology maintenance did not stop within ${this.shutdownTimeoutMs}ms.`)
251
+ new Error(
252
+ `[Sixb] Ontology maintenance is still stopping after ${this.shutdownTimeoutMs}ms; waiting for active storage operations.`
253
+ )
251
254
  )
252
255
  }
256
+ await activePass
253
257
  })
254
258
  this.stopping = stopping.finally(() => {
255
259
  this.stopping = null
@@ -7,7 +7,7 @@ export interface OntologyMaintenanceOptions {
7
7
  readonly terminalSourceRetentionMs?: number
8
8
  /** Maximum deletions attempted per cleanup domain and pass. Defaults to 1,000. */
9
9
  readonly cleanupLimit?: number
10
- /** Maximum time to wait for an active pass during shutdown. Defaults to 30 seconds. */
10
+ /** Warn after this shutdown grace period, then wait for active operations. Defaults to 30 seconds. */
11
11
  readonly shutdownTimeoutMs?: number
12
12
  }
13
13
 
@@ -24,8 +24,8 @@ function prefixMessage(message: string): string {
24
24
  export class MaterializationValidationError extends OntologyValidationError {
25
25
  readonly name: string = "MaterializationValidationError"
26
26
 
27
- constructor(message: string) {
28
- super(prefixMessage(message))
27
+ constructor(message: string, options?: ErrorOptions) {
28
+ super(prefixMessage(message), options)
29
29
  }
30
30
  }
31
31
 
@@ -77,3 +77,4 @@ export {
77
77
  telemetryPointSortKey,
78
78
  telemetrySeriesKey,
79
79
  } from "./refs"
80
+ export type { ObjectVectorWrite, PreparedObjectVector } from "./vectors"
@@ -3,6 +3,7 @@ import type { EventOrigin } from "../events/envelope"
3
3
  import type { PropertyChange, PropertyChangeMap } from "../events/property-changes"
4
4
  import type { JsonValue } from "../json"
5
5
  import type { ProjectionProtocolIdentity, ProjectionRunFailureCode } from "../projections/types"
6
+ import type { ObjectVectorWrite } from "./vectors"
6
7
 
7
8
  export type { ProjectionProtocolIdentity } from "../projections/types"
8
9
 
@@ -125,6 +126,7 @@ export type OntologyEditCommit =
125
126
  readonly source:
126
127
  | { readonly kind: "action"; readonly actionId: string; readonly runId: string }
127
128
  | { readonly kind: "runtime"; readonly requestId: string }
129
+ readonly vectorWrites?: readonly ObjectVectorWrite[]
128
130
  readonly expectedObjects: readonly ExpectedObjectRevision[]
129
131
  readonly expectedLinks: readonly ExpectedLinkRevision[]
130
132
  readonly expectedLinkScopes: readonly ExpectedLinkScopeRevision[]
@@ -0,0 +1,18 @@
1
+ import type { ExpectedObjectRevision, OntologyObjectRef } from "./model"
2
+
3
+ /** Internal observation captured before embedding and fenced by the atomic vector write. */
4
+ export interface PreparedObjectVector {
5
+ readonly projectId: string
6
+ readonly ref: OntologyObjectRef
7
+ readonly profile: string
8
+ readonly configuration: string
9
+ readonly text: string
10
+ readonly sourceFingerprint: string
11
+ readonly expectedObject: Extract<ExpectedObjectRevision, { exists: true }>
12
+ readonly expectedVectorCommitId: string | null
13
+ }
14
+
15
+ export interface ObjectVectorWrite {
16
+ readonly input: PreparedObjectVector
17
+ readonly values: readonly number[]
18
+ }
@@ -17,7 +17,7 @@ runtime telemetry -> telemetry.append (origin: telemetry/runtime)
17
17
 
18
18
  Committed facts are published from the transactional outbox after the commit resolves.
19
19
  `OntologyOutboxDispatcher` owns that protocol: ingresses call `notify()` for prompt, non-blocking
20
- in-process delivery, and a process may call `start()` to host the durable poll loop. Publication is
20
+ in-process delivery; `OntologyMaintenance` hosts recovery catch-up. Publication is
21
21
  best effort — delivery may lag, but a committed fact is never lost.
22
22
 
23
23
  ## Common commit pipeline
@@ -124,3 +124,17 @@ finish still commit atomically.
124
124
  Keep use-case entrypoints explicit. Share mechanics only after they have identical semantics; do
125
125
  not hide projection candidate lifecycle, edit continuation, or telemetry batching behind a generic
126
126
  workflow engine.
127
+
128
+ ## Vector profiles
129
+
130
+ The SDK's explicit `index()` captures an internal `PreparedObjectVector`: object/profile identity,
131
+ configuration and source fingerprints, canonical input text, object revision and current vector
132
+ commit id. Source values stay local to preparation rather than being copied into the write payload.
133
+ Text is ordered JSON pairs of source names and values; missing/null values become `null`, while
134
+ empty strings remain distinct. The configuration includes an encoding version.
135
+
136
+ The configured model runs outside the transaction. Atomic edits then verify the object revision,
137
+ source/configuration fingerprints and vector commit id before storing validated float32 values.
138
+ An unrelated edit may conservatively reject in-flight indexing even when an existing vector remains
139
+ valid. A provider failure leaves the current representation untouched and is never retried here.
140
+ 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,8 @@ 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 { authorizeVectorIndexingCommit } from "./vector-authority"
38
+ import { commitVectorWrites } from "./vectors"
37
39
  import type { EditWorkingState } from "./working-state"
38
40
 
39
41
  type NormalizedEditCommit = ReturnType<typeof normalizeOntologyEditCommit>
@@ -106,6 +108,7 @@ async function validateMutationExecution(
106
108
  input: NormalizedEditCommit,
107
109
  execution: MaterializerExecution
108
110
  ): Promise<void> {
111
+ if (await authorizeVectorIndexingCommit(storage, projectId, input, execution)) return
109
112
  if (input.source.kind !== "action") {
110
113
  assertRuntimeMutationExecution(execution)
111
114
  return
@@ -182,7 +185,8 @@ async function executeEditTransaction(
182
185
  workingState,
183
186
  editPlanContext(command)
184
187
  )
185
- await drainStagedWork(context, storage.ontology.materializations, session)
188
+ await drainStagedWork(context, storage, session)
189
+ await commitVectorWrites(context, storage, command.input, command.identity.commitId, session)
186
190
  const eventCount = await drainStagedEvents(
187
191
  context,
188
192
  storage.ontology.materializations,
@@ -234,6 +238,9 @@ function buildEditCommit(
234
238
  kind: "edit",
235
239
  mode: command.input.mode,
236
240
  operationCount: command.input.operations.length,
241
+ ...(command.input.mode === "atomic" && command.input.vectorWrites?.length
242
+ ? { vectorWriteCount: command.input.vectorWrites.length }
243
+ : {}),
237
244
  },
238
245
  committedAt: command.identity.committedAt,
239
246
  }
@@ -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
+ }