@sixb/core 0.1.11 → 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 (641) 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/bootstrap/index.js +50 -46
  33. package/dist/bootstrap/index.js.map +1 -1
  34. package/dist/{chunk-17kfctj6.js → chunk-0mza4xb2.js} +2 -2
  35. package/dist/{chunk-g00bfdq6.js → chunk-2cxv584m.js} +12 -56
  36. package/dist/{chunk-g00bfdq6.js.map → chunk-2cxv584m.js.map} +3 -3
  37. package/dist/{chunk-jsy70480.js → chunk-2h63nrde.js} +365 -95
  38. package/dist/chunk-2h63nrde.js.map +20 -0
  39. package/dist/{chunk-1yefycb1.js → chunk-3bnt2wna.js} +2 -2
  40. package/dist/{chunk-awbhdqyc.js → chunk-3ghw2t5q.js} +1 -1
  41. package/dist/{chunk-b19g04jk.js → chunk-3h7ctayx.js} +1 -1
  42. package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
  43. package/dist/{chunk-5hz0fnca.js → chunk-4k53sm9e.js} +6 -2
  44. package/dist/chunk-4k53sm9e.js.map +12 -0
  45. package/dist/chunk-4ph94nhd.js +81 -0
  46. package/dist/chunk-4ph94nhd.js.map +10 -0
  47. package/dist/chunk-58geavnf.js +29 -0
  48. package/dist/chunk-58geavnf.js.map +10 -0
  49. package/dist/{chunk-0y39rgsb.js → chunk-5tetw4hn.js} +1 -1
  50. package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
  51. package/dist/chunk-69266efg.js.map +12 -0
  52. package/dist/{chunk-a0e6x5hd.js → chunk-6ma8dvzc.js} +121 -53
  53. package/dist/chunk-6ma8dvzc.js.map +15 -0
  54. package/dist/{chunk-skz0hst3.js → chunk-7c2g3sz9.js} +6 -86
  55. package/dist/{chunk-skz0hst3.js.map → chunk-7c2g3sz9.js.map} +3 -3
  56. package/dist/{chunk-z0s4axeh.js → chunk-7qnvhtcd.js} +93 -17
  57. package/dist/{chunk-z0s4axeh.js.map → chunk-7qnvhtcd.js.map} +7 -6
  58. package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
  59. package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
  60. package/dist/chunk-91kcnbf0.js.map +10 -0
  61. package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
  62. package/dist/chunk-96yw3pwd.js.map +10 -0
  63. package/dist/chunk-98cw09sw.js.map +2 -2
  64. package/dist/{chunk-93csa55g.js → chunk-axndsymr.js} +10 -4
  65. package/dist/chunk-axndsymr.js.map +11 -0
  66. package/dist/{chunk-4zhmdsx6.js → chunk-b768c93y.js} +61 -23
  67. package/dist/{chunk-4zhmdsx6.js.map → chunk-b768c93y.js.map} +5 -5
  68. package/dist/{chunk-dz5h08xv.js → chunk-bbaa1fet.js} +24 -9
  69. package/dist/{chunk-dz5h08xv.js.map → chunk-bbaa1fet.js.map} +4 -4
  70. package/dist/{chunk-7apz6hg4.js → chunk-bet1rb9h.js} +8 -4
  71. package/dist/chunk-bet1rb9h.js.map +10 -0
  72. package/dist/{chunk-358caqf5.js → chunk-bfjv1adk.js} +2 -2
  73. package/dist/{chunk-g91qxjj0.js → chunk-bg2bs62d.js} +5 -5
  74. package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
  75. package/dist/chunk-cd234ba4.js.map +14 -0
  76. package/dist/chunk-dmn70ztd.js.map +2 -2
  77. package/dist/{chunk-d63nnr5b.js → chunk-e1f1sqba.js} +39 -53
  78. package/dist/{chunk-d63nnr5b.js.map → chunk-e1f1sqba.js.map} +5 -6
  79. package/dist/{chunk-ap0g1g74.js → chunk-eyjzgav0.js} +39 -4
  80. package/dist/chunk-eyjzgav0.js.map +12 -0
  81. package/dist/{chunk-rb1xx120.js → chunk-f06sf7rr.js} +9 -5
  82. package/dist/chunk-f06sf7rr.js.map +11 -0
  83. package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
  84. package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
  85. package/dist/{chunk-38zv5rkr.js → chunk-g2gezsg5.js} +1 -1
  86. package/dist/{chunk-38zv5rkr.js.map → chunk-g2gezsg5.js.map} +2 -2
  87. package/dist/{chunk-01kj2pbh.js → chunk-g50nxqs5.js} +53 -66
  88. package/dist/chunk-g50nxqs5.js.map +18 -0
  89. package/dist/{chunk-1824gssz.js → chunk-gswwr35f.js} +4 -4
  90. package/dist/{chunk-92vk7gta.js → chunk-gzt6v1ja.js} +1 -1
  91. package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
  92. package/dist/chunk-hgqpcmyr.js.map +12 -0
  93. package/dist/{chunk-gqh45d2n.js → chunk-hkw8rykk.js} +2 -2
  94. package/dist/{chunk-f4w3yp4f.js → chunk-hzw7yv5g.js} +104 -21
  95. package/dist/chunk-hzw7yv5g.js.map +13 -0
  96. package/dist/{chunk-cfvakeax.js → chunk-jjwhy3rs.js} +5 -5
  97. package/dist/chunk-kept9cdd.js +29 -0
  98. package/dist/chunk-kept9cdd.js.map +10 -0
  99. package/dist/{chunk-ftv470j8.js → chunk-m7cx05vp.js} +247 -16
  100. package/dist/{chunk-ftv470j8.js.map → chunk-m7cx05vp.js.map} +14 -10
  101. package/dist/{chunk-z0271qkp.js → chunk-mdnw7nj8.js} +8 -6
  102. package/dist/chunk-mdnw7nj8.js.map +15 -0
  103. package/dist/{chunk-gq8vhakp.js → chunk-nzsy3xrp.js} +249 -86
  104. package/dist/{chunk-gq8vhakp.js.map → chunk-nzsy3xrp.js.map} +13 -11
  105. package/dist/chunk-p1683c0v.js +104 -0
  106. package/dist/chunk-p1683c0v.js.map +11 -0
  107. package/dist/chunk-p6r1ex7t.js +93 -0
  108. package/dist/chunk-p6r1ex7t.js.map +10 -0
  109. package/dist/{chunk-sepyxgpc.js → chunk-qm535afa.js} +10 -10
  110. package/dist/{chunk-sepyxgpc.js.map → chunk-qm535afa.js.map} +4 -4
  111. package/dist/chunk-r5zythxp.js +552 -0
  112. package/dist/chunk-r5zythxp.js.map +17 -0
  113. package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
  114. package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
  115. package/dist/{chunk-3ckk0xfj.js → chunk-sfypc7mk.js} +18 -13
  116. package/dist/{chunk-3ckk0xfj.js.map → chunk-sfypc7mk.js.map} +3 -3
  117. package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
  118. package/dist/chunk-t6f3tdnr.js.map +10 -0
  119. package/dist/{chunk-x9m9x2eq.js → chunk-t7dzd1tm.js} +3 -3
  120. package/dist/{chunk-pr2h4bv4.js → chunk-tg4g4zh0.js} +3 -3
  121. package/dist/chunk-vpxss818.js +56 -0
  122. package/dist/chunk-vpxss818.js.map +10 -0
  123. package/dist/{chunk-ms2tmn1k.js → chunk-vsg0g7h9.js} +53 -57
  124. package/dist/chunk-vsg0g7h9.js.map +17 -0
  125. package/dist/{chunk-8vj0rjgs.js → chunk-wjffn5m4.js} +1 -1
  126. package/dist/{chunk-wf88w4kp.js → chunk-x9tmx3fc.js} +2 -2
  127. package/dist/{chunk-fh8kgex1.js → chunk-xn686q2e.js} +8 -8
  128. package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
  129. package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
  130. package/dist/{chunk-v2vcg0w6.js → chunk-xtfryrfb.js} +2 -2
  131. package/dist/chunk-y0v18c2j.js +363 -0
  132. package/dist/chunk-y0v18c2j.js.map +14 -0
  133. package/dist/{chunk-72w2pxk7.js → chunk-y1ahv8b7.js} +11 -3
  134. package/dist/{chunk-72w2pxk7.js.map → chunk-y1ahv8b7.js.map} +3 -3
  135. package/dist/chunk-y3ev53cq.js +84 -0
  136. package/dist/chunk-y3ev53cq.js.map +10 -0
  137. package/dist/{chunk-gqm76kse.js → chunk-ybhz3j9g.js} +342 -41
  138. package/dist/{chunk-gqm76kse.js.map → chunk-ybhz3j9g.js.map} +17 -12
  139. package/dist/{chunk-z30bv4ga.js → chunk-yxb4c62x.js} +3 -2
  140. package/dist/{chunk-z30bv4ga.js.map → chunk-yxb4c62x.js.map} +3 -3
  141. package/dist/chunk-z3y5kg1x.js +14 -0
  142. package/dist/chunk-z3y5kg1x.js.map +10 -0
  143. package/dist/datasets/validation.d.ts +4 -0
  144. package/dist/datasets/validation.d.ts.map +1 -1
  145. package/dist/datasets/write.d.ts.map +1 -1
  146. package/dist/datasets/write.js +5 -4
  147. package/dist/datasets/write.js.map +1 -1
  148. package/dist/error-reporting/capability.d.ts +3 -2
  149. package/dist/error-reporting/capability.d.ts.map +1 -1
  150. package/dist/error-reporting/internal.js +5 -4
  151. package/dist/error-reporting/internal.js.map +1 -1
  152. package/dist/error-reporting/reports.d.ts +10 -0
  153. package/dist/error-reporting/reports.d.ts.map +1 -1
  154. package/dist/error-reporting/types.d.ts +10 -2
  155. package/dist/error-reporting/types.d.ts.map +1 -1
  156. package/dist/errors/catalog.d.ts +12 -0
  157. package/dist/errors/catalog.d.ts.map +1 -1
  158. package/dist/errors/failure-message.d.ts +8 -0
  159. package/dist/errors/failure-message.d.ts.map +1 -0
  160. package/dist/errors/internal.d.ts.map +1 -1
  161. package/dist/errors/internal.js +3 -2
  162. package/dist/errors/internal.js.map +1 -1
  163. package/dist/events/index.js +5 -4
  164. package/dist/events/index.js.map +1 -1
  165. package/dist/execution/agent.js +44 -41
  166. package/dist/execution/agent.js.map +1 -1
  167. package/dist/execution/authorization.d.ts.map +1 -1
  168. package/dist/execution/authorized-object-reader.d.ts +3 -0
  169. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  170. package/dist/execution/kernel-operation.d.ts +4 -0
  171. package/dist/execution/kernel-operation.d.ts.map +1 -0
  172. package/dist/execution/primitive.js +44 -41
  173. package/dist/execution/primitive.js.map +2 -2
  174. package/dist/execution/request.js +45 -42
  175. package/dist/execution/request.js.map +2 -2
  176. package/dist/execution/types.d.ts +6 -0
  177. package/dist/execution/types.d.ts.map +1 -1
  178. package/dist/index.d.ts +15 -5
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +68 -59
  181. package/dist/index.js.map +1 -1
  182. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  183. package/dist/lake-storage/index.js +5 -4
  184. package/dist/lake-storage/index.js.map +1 -1
  185. package/dist/materialization/errors.d.ts +1 -1
  186. package/dist/materialization/errors.d.ts.map +1 -1
  187. package/dist/materialization/index.d.ts +1 -0
  188. package/dist/materialization/index.d.ts.map +1 -1
  189. package/dist/materialization/index.js +3 -3
  190. package/dist/materialization/model.d.ts +2 -0
  191. package/dist/materialization/model.d.ts.map +1 -1
  192. package/dist/materialization/vectors.d.ts +19 -0
  193. package/dist/materialization/vectors.d.ts.map +1 -0
  194. package/dist/materializer/context.d.ts.map +1 -1
  195. package/dist/materializer/edits/commit.d.ts.map +1 -1
  196. package/dist/materializer/edits/vector-authority.d.ts +6 -0
  197. package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
  198. package/dist/materializer/edits/vectors.d.ts +6 -0
  199. package/dist/materializer/edits/vectors.d.ts.map +1 -0
  200. package/dist/materializer/effective/validate.d.ts.map +1 -1
  201. package/dist/materializer/effective/vector-indexing.d.ts +7 -0
  202. package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
  203. package/dist/materializer/effective/vectors.d.ts +6 -0
  204. package/dist/materializer/effective/vectors.d.ts.map +1 -0
  205. package/dist/materializer/execution/work-executor.d.ts +2 -1
  206. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  207. package/dist/materializer/index.js +26 -25
  208. package/dist/materializer/index.js.map +1 -1
  209. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  210. package/dist/models/catalog-index.d.ts +15 -0
  211. package/dist/models/catalog-index.d.ts.map +1 -0
  212. package/dist/models/catalog.d.ts +27 -6
  213. package/dist/models/catalog.d.ts.map +1 -1
  214. package/dist/models/decision/catalog.d.ts +12 -0
  215. package/dist/models/decision/catalog.d.ts.map +1 -0
  216. package/dist/models/decision/errors.d.ts +7 -0
  217. package/dist/models/decision/errors.d.ts.map +1 -0
  218. package/dist/models/decision/output.d.ts +50 -0
  219. package/dist/models/decision/output.d.ts.map +1 -0
  220. package/dist/models/decision/questions.d.ts +14 -0
  221. package/dist/models/decision/questions.d.ts.map +1 -0
  222. package/dist/models/decision/runtime.d.ts +7 -0
  223. package/dist/models/decision/runtime.d.ts.map +1 -0
  224. package/dist/models/decision/types.d.ts +92 -0
  225. package/dist/models/decision/types.d.ts.map +1 -0
  226. package/dist/models/decision/validation.d.ts +7 -0
  227. package/dist/models/decision/validation.d.ts.map +1 -0
  228. package/dist/models/definitions.d.ts +1 -1
  229. package/dist/models/definitions.d.ts.map +1 -1
  230. package/dist/models/embedding-model.d.ts +60 -0
  231. package/dist/models/embedding-model.d.ts.map +1 -0
  232. package/dist/models/execution/binding.d.ts +2 -0
  233. package/dist/models/execution/binding.d.ts.map +1 -1
  234. package/dist/models/execution/embedding.d.ts +5 -0
  235. package/dist/models/execution/embedding.d.ts.map +1 -0
  236. package/dist/models/execution/index.js +29 -26
  237. package/dist/models/execution/index.js.map +1 -1
  238. package/dist/models/execution/model-call-recorder.d.ts +5 -1
  239. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  240. package/dist/models/execution/session.d.ts +21 -0
  241. package/dist/models/execution/session.d.ts.map +1 -0
  242. package/dist/models/execution.d.ts.map +1 -1
  243. package/dist/models/generation-types.d.ts +2 -0
  244. package/dist/models/generation-types.d.ts.map +1 -1
  245. package/dist/models/index.d.ts +9 -1
  246. package/dist/models/index.d.ts.map +1 -1
  247. package/dist/models/index.js +17 -7
  248. package/dist/models/index.js.map +1 -1
  249. package/dist/models/pricing.d.ts +3 -2
  250. package/dist/models/pricing.d.ts.map +1 -1
  251. package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
  252. package/dist/objects/execution.d.ts +1 -0
  253. package/dist/objects/execution.d.ts.map +1 -1
  254. package/dist/objects/index.js +29 -28
  255. package/dist/objects/index.js.map +1 -1
  256. package/dist/objects/query/executor.d.ts +3 -0
  257. package/dist/objects/query/executor.d.ts.map +1 -1
  258. package/dist/objects/query/index.d.ts +2 -0
  259. package/dist/objects/query/index.d.ts.map +1 -1
  260. package/dist/objects/query/index.js +34 -24
  261. package/dist/objects/query/index.js.map +1 -1
  262. package/dist/objects/query/ir.d.ts +6 -2
  263. package/dist/objects/query/ir.d.ts.map +1 -1
  264. package/dist/objects/query/normalize.d.ts.map +1 -1
  265. package/dist/objects/query/validate.d.ts.map +1 -1
  266. package/dist/objects/sdk/object-handle.d.ts +5 -0
  267. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  268. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  269. package/dist/objects/sdk/query-executor.d.ts +2 -0
  270. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  271. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  272. package/dist/objects/vectors/handle.d.ts +4 -0
  273. package/dist/objects/vectors/handle.d.ts.map +1 -0
  274. package/dist/objects/vectors/indexing-batch.d.ts +6 -0
  275. package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
  276. package/dist/objects/vectors/indexing-generate.d.ts +11 -0
  277. package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
  278. package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
  279. package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
  280. package/dist/objects/vectors/indexing-shared.d.ts +17 -0
  281. package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
  282. package/dist/objects/vectors/indexing-single.d.ts +4 -0
  283. package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
  284. package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
  285. package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
  286. package/dist/objects/vectors/indexing.d.ts +7 -0
  287. package/dist/objects/vectors/indexing.d.ts.map +1 -0
  288. package/dist/objects/vectors/profile.d.ts +13 -0
  289. package/dist/objects/vectors/profile.d.ts.map +1 -0
  290. package/dist/objects/vectors/query.d.ts +5 -0
  291. package/dist/objects/vectors/query.d.ts.map +1 -0
  292. package/dist/objects/vectors/resolve-query.d.ts +6 -0
  293. package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
  294. package/dist/objects/vectors/types.d.ts +11 -0
  295. package/dist/objects/vectors/types.d.ts.map +1 -0
  296. package/dist/ontology/index.d.ts +2 -1
  297. package/dist/ontology/index.d.ts.map +1 -1
  298. package/dist/ontology/index.js +5 -5
  299. package/dist/ontology/index.js.map +1 -1
  300. package/dist/ontology/internal.js +5 -4
  301. package/dist/ontology/internal.js.map +1 -1
  302. package/dist/ontology/registry.d.ts.map +1 -1
  303. package/dist/ontology/types.d.ts +8 -9
  304. package/dist/ontology/types.d.ts.map +1 -1
  305. package/dist/ontology/validation/definition.d.ts +3 -0
  306. package/dist/ontology/validation/definition.d.ts.map +1 -0
  307. package/dist/ontology/validation/properties.d.ts.map +1 -1
  308. package/dist/ontology/validation/query.d.ts.map +1 -1
  309. package/dist/ontology/validation/schema.d.ts +1 -1
  310. package/dist/ontology/validation/schema.d.ts.map +1 -1
  311. package/dist/ontology/vector-profiles.d.ts +4 -0
  312. package/dist/ontology/vector-profiles.d.ts.map +1 -0
  313. package/dist/pipelines/index.js +28 -27
  314. package/dist/pipelines/index.js.map +1 -1
  315. package/dist/projections/internal.js +24 -23
  316. package/dist/projections/internal.js.map +1 -1
  317. package/dist/query.js +2 -2
  318. package/dist/queues/in-memory.d.ts +2 -1
  319. package/dist/queues/in-memory.d.ts.map +1 -1
  320. package/dist/queues/index.d.ts +1 -1
  321. package/dist/queues/index.d.ts.map +1 -1
  322. package/dist/queues/index.js +1 -1
  323. package/dist/queues/types.d.ts +5 -0
  324. package/dist/queues/types.d.ts.map +1 -1
  325. package/dist/runtime/create.d.ts +4 -3
  326. package/dist/runtime/create.d.ts.map +1 -1
  327. package/dist/runtime/host.d.ts +9 -6
  328. package/dist/runtime/host.d.ts.map +1 -1
  329. package/dist/runtime/internal.d.ts +3 -0
  330. package/dist/runtime/internal.d.ts.map +1 -1
  331. package/dist/runtime/internal.js +47 -1
  332. package/dist/runtime/internal.js.map +1 -1
  333. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  334. package/dist/runtime/sixb.d.ts +9 -4
  335. package/dist/runtime/sixb.d.ts.map +1 -1
  336. package/dist/runtime/types.d.ts +15 -3
  337. package/dist/runtime/types.d.ts.map +1 -1
  338. package/dist/sandboxes/auth.d.ts +16 -0
  339. package/dist/sandboxes/auth.d.ts.map +1 -0
  340. package/dist/sandboxes/config.d.ts +5 -0
  341. package/dist/sandboxes/config.d.ts.map +1 -0
  342. package/dist/sandboxes/configuration.d.ts +41 -0
  343. package/dist/sandboxes/configuration.d.ts.map +1 -0
  344. package/dist/sandboxes/environment.d.ts +13 -0
  345. package/dist/sandboxes/environment.d.ts.map +1 -0
  346. package/dist/sandboxes/errors.d.ts +1 -1
  347. package/dist/sandboxes/errors.d.ts.map +1 -1
  348. package/dist/sandboxes/index.d.ts +6 -1
  349. package/dist/sandboxes/index.d.ts.map +1 -1
  350. package/dist/sandboxes/index.js +16 -3
  351. package/dist/sandboxes/index.js.map +1 -1
  352. package/dist/sandboxes/sandbox.d.ts +35 -3
  353. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  354. package/dist/shared/params/builders.d.ts +25 -0
  355. package/dist/shared/params/builders.d.ts.map +1 -0
  356. package/dist/shared/params/types.d.ts +47 -0
  357. package/dist/shared/params/types.d.ts.map +1 -0
  358. package/dist/shared/params/validation.d.ts +15 -0
  359. package/dist/shared/params/validation.d.ts.map +1 -0
  360. package/dist/shares/internal.js +23 -22
  361. package/dist/shares/internal.js.map +2 -2
  362. package/dist/storage/action-runs/failure.js +4 -3
  363. package/dist/storage/action-runs/failure.js.map +1 -1
  364. package/dist/storage/action-runs/provider.js +1 -1
  365. package/dist/storage/agents/in-memory.d.ts +2 -1
  366. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  367. package/dist/storage/agents/index.d.ts +1 -1
  368. package/dist/storage/agents/index.d.ts.map +1 -1
  369. package/dist/storage/agents/provider.d.ts +5 -1
  370. package/dist/storage/agents/provider.d.ts.map +1 -1
  371. package/dist/storage/agents/provider.js +8 -4
  372. package/dist/storage/agents/provider.js.map +1 -1
  373. package/dist/storage/agents/types.d.ts +49 -0
  374. package/dist/storage/agents/types.d.ts.map +1 -1
  375. package/dist/storage/ai-cost/analytics.d.ts +1 -0
  376. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  377. package/dist/storage/ai-cost/index.d.ts +1 -1
  378. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  379. package/dist/storage/ai-cost/provider.js +2 -2
  380. package/dist/storage/ai-cost/types.d.ts +14 -2
  381. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  382. package/dist/storage/ai-limits/enforcement.js +4 -3
  383. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  384. package/dist/storage/connector-connections/provider.js +3 -2
  385. package/dist/storage/connector-connections/provider.js.map +2 -2
  386. package/dist/storage/executions/provider.d.ts +3 -3
  387. package/dist/storage/executions/provider.d.ts.map +1 -1
  388. package/dist/storage/executions/provider.js +13 -11
  389. package/dist/storage/executions/provider.js.map +3 -3
  390. package/dist/storage/executions/types.d.ts +3 -0
  391. package/dist/storage/executions/types.d.ts.map +1 -1
  392. package/dist/storage/executions/validation.d.ts.map +1 -1
  393. package/dist/storage/index.d.ts +5 -3
  394. package/dist/storage/index.d.ts.map +1 -1
  395. package/dist/storage/index.js +25 -22
  396. package/dist/storage/index.js.map +1 -1
  397. package/dist/storage/internal.js +2 -2
  398. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  399. package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
  400. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  401. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  402. package/dist/storage/objects/in-memory/storage.d.ts +7 -0
  403. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  404. package/dist/storage/objects/types.d.ts +2 -0
  405. package/dist/storage/objects/types.d.ts.map +1 -1
  406. package/dist/storage/ontology/commits.d.ts +1 -0
  407. package/dist/storage/ontology/commits.d.ts.map +1 -1
  408. package/dist/storage/ontology/in-memory/index.d.ts +4 -0
  409. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  410. package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
  411. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  412. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
  413. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  414. package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
  415. package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
  416. package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
  417. package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
  418. package/dist/storage/ontology/index.d.ts +6 -0
  419. package/dist/storage/ontology/index.d.ts.map +1 -1
  420. package/dist/storage/ontology/provider.js +2 -2
  421. package/dist/storage/ontology/vector-indexing.d.ts +94 -0
  422. package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
  423. package/dist/storage/ontology/vectors.d.ts +56 -0
  424. package/dist/storage/ontology/vectors.d.ts.map +1 -0
  425. package/dist/storage/operation-scope.d.ts.map +1 -1
  426. package/dist/storage/operation-scope.js +1 -1
  427. package/dist/storage/projection-runs/provider.js +4 -3
  428. package/dist/storage/projection-runs/provider.js.map +1 -1
  429. package/dist/storage/types.d.ts +1 -1
  430. package/dist/storage/types.d.ts.map +1 -1
  431. package/dist/storage/workflow-runs/provider.js +9 -7
  432. package/dist/storage/workflow-runs/provider.js.map +1 -1
  433. package/dist/syncs/index.js +29 -28
  434. package/dist/syncs/index.js.map +1 -1
  435. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  436. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  437. package/dist/testing/index.js +448 -69
  438. package/dist/testing/index.js.map +7 -7
  439. package/dist/testing/object-query-contract.d.ts.map +1 -1
  440. package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
  441. package/dist/testing/queues-contract.d.ts.map +1 -1
  442. package/dist/webhooks/internal.js +24 -23
  443. package/dist/webhooks/internal.js.map +2 -2
  444. package/dist/workers/index.js +3 -2
  445. package/dist/workers/index.js.map +2 -2
  446. package/dist/workflows/failure.d.ts.map +1 -1
  447. package/dist/workflows/index.js +47 -43
  448. package/dist/workflows/index.js.map +1 -1
  449. package/package.json +1 -1
  450. package/src/actions/builders/params.ts +1 -48
  451. package/src/actions/types/params.ts +14 -74
  452. package/src/actions/validation.ts +7 -84
  453. package/src/agents/errors.ts +3 -0
  454. package/src/agents/execution.ts +67 -15
  455. package/src/agents/ids.ts +8 -0
  456. package/src/agents/index.ts +1 -0
  457. package/src/agents/request.ts +11 -0
  458. package/src/agents/sandbox.ts +44 -0
  459. package/src/agents/validation.ts +2 -108
  460. package/src/datasets/validation.ts +40 -11
  461. package/src/datasets/write.ts +8 -11
  462. package/src/error-reporting/capability.ts +11 -0
  463. package/src/error-reporting/reports.ts +23 -0
  464. package/src/error-reporting/types.ts +12 -1
  465. package/src/errors/catalog.ts +12 -0
  466. package/src/errors/failure-message.ts +15 -0
  467. package/src/errors/internal.ts +57 -25
  468. package/src/execution/authorization.ts +12 -5
  469. package/src/execution/authorized-object-reader.ts +37 -2
  470. package/src/execution/kernel-operation.ts +27 -0
  471. package/src/execution/scopes.ts +2 -0
  472. package/src/execution/types.ts +4 -4
  473. package/src/index.ts +60 -1
  474. package/src/lake-storage/in-memory.ts +5 -3
  475. package/src/materialization/errors.ts +2 -2
  476. package/src/materialization/index.ts +1 -0
  477. package/src/materialization/model.ts +2 -0
  478. package/src/materialization/vectors.ts +18 -0
  479. package/src/materializer/README.md +14 -0
  480. package/src/materializer/context.ts +10 -0
  481. package/src/materializer/edits/commit.ts +8 -1
  482. package/src/materializer/edits/vector-authority.ts +108 -0
  483. package/src/materializer/edits/vectors.ts +100 -0
  484. package/src/materializer/effective/validate.ts +10 -3
  485. package/src/materializer/effective/vector-indexing.ts +84 -0
  486. package/src/materializer/effective/vectors.ts +47 -0
  487. package/src/materializer/execution/work-executor.ts +11 -3
  488. package/src/materializer/projections/replace.ts +1 -1
  489. package/src/materializer/shared/normalize.ts +11 -0
  490. package/src/materializer/telemetry/append.ts +1 -1
  491. package/src/models/catalog-index.ts +38 -0
  492. package/src/models/catalog.ts +66 -38
  493. package/src/models/decision/catalog.ts +32 -0
  494. package/src/models/decision/errors.ts +18 -0
  495. package/src/models/decision/output.ts +101 -0
  496. package/src/models/decision/questions.ts +29 -0
  497. package/src/models/decision/runtime.ts +188 -0
  498. package/src/models/decision/types.ts +109 -0
  499. package/src/models/decision/validation.ts +335 -0
  500. package/src/models/definitions.ts +1 -1
  501. package/src/models/embedding-model.ts +129 -0
  502. package/src/models/execution/README.md +63 -0
  503. package/src/models/execution/binding.ts +2 -0
  504. package/src/models/execution/embedding.ts +133 -0
  505. package/src/models/execution/model-call-recorder.ts +42 -30
  506. package/src/models/execution/session.ts +81 -0
  507. package/src/models/execution.ts +10 -52
  508. package/src/models/generation-types.ts +2 -0
  509. package/src/models/index.ts +37 -0
  510. package/src/models/pricing.ts +1 -2
  511. package/src/objects/authorized-ontology-view.ts +12 -8
  512. package/src/objects/execution.ts +2 -0
  513. package/src/objects/query/executor.ts +13 -4
  514. package/src/objects/query/explain.ts +7 -2
  515. package/src/objects/query/index.ts +2 -0
  516. package/src/objects/query/ir.ts +6 -2
  517. package/src/objects/query/normalize.ts +5 -1
  518. package/src/objects/query/validate.ts +74 -73
  519. package/src/objects/sdk/object-handle.ts +3 -0
  520. package/src/objects/sdk/object-set.ts +1 -0
  521. package/src/objects/sdk/query-builder.ts +9 -3
  522. package/src/objects/sdk/query-executor.ts +2 -1
  523. package/src/objects/sdk/runtime-query-executor.ts +6 -2
  524. package/src/objects/vectors/README.md +59 -0
  525. package/src/objects/vectors/handle.ts +91 -0
  526. package/src/objects/vectors/indexing-batch.ts +163 -0
  527. package/src/objects/vectors/indexing-generate.ts +184 -0
  528. package/src/objects/vectors/indexing-runtime.ts +17 -0
  529. package/src/objects/vectors/indexing-shared.ts +188 -0
  530. package/src/objects/vectors/indexing-single.ts +51 -0
  531. package/src/objects/vectors/indexing-store-batch.ts +62 -0
  532. package/src/objects/vectors/indexing.ts +23 -0
  533. package/src/objects/vectors/profile.ts +64 -0
  534. package/src/objects/vectors/query.ts +16 -0
  535. package/src/objects/vectors/resolve-query.ts +89 -0
  536. package/src/objects/vectors/types.ts +10 -0
  537. package/src/ontology/index.ts +2 -0
  538. package/src/ontology/registry.ts +8 -0
  539. package/src/ontology/types.ts +9 -9
  540. package/src/ontology/validation/definition.ts +104 -0
  541. package/src/ontology/validation/properties.ts +14 -4
  542. package/src/ontology/validation/query.ts +34 -51
  543. package/src/ontology/validation/schema.ts +85 -23
  544. package/src/ontology/vector-profiles.ts +35 -0
  545. package/src/queues/in-memory.ts +5 -0
  546. package/src/queues/index.ts +1 -0
  547. package/src/queues/types.ts +10 -0
  548. package/src/runtime/create.ts +7 -6
  549. package/src/runtime/host.ts +42 -6
  550. package/src/runtime/internal.ts +3 -0
  551. package/src/runtime/resolve-definitions.ts +19 -1
  552. package/src/runtime/sixb.ts +27 -9
  553. package/src/runtime/types.ts +16 -4
  554. package/src/sandboxes/README.md +41 -0
  555. package/src/sandboxes/auth.ts +17 -0
  556. package/src/sandboxes/config.ts +37 -0
  557. package/src/sandboxes/configuration.ts +268 -0
  558. package/src/sandboxes/environment.ts +107 -0
  559. package/src/sandboxes/errors.ts +1 -1
  560. package/src/sandboxes/index.ts +15 -0
  561. package/src/sandboxes/sandbox.ts +38 -3
  562. package/src/shared/params/builders.ts +50 -0
  563. package/src/shared/params/types.ts +84 -0
  564. package/src/shared/params/validation.ts +114 -0
  565. package/src/storage/agents/in-memory.ts +25 -1
  566. package/src/storage/agents/index.ts +3 -0
  567. package/src/storage/agents/provider.ts +105 -0
  568. package/src/storage/agents/types.ts +54 -0
  569. package/src/storage/ai-cost/analytics.ts +59 -21
  570. package/src/storage/ai-cost/index.ts +1 -0
  571. package/src/storage/ai-cost/types.ts +19 -2
  572. package/src/storage/executions/provider.ts +24 -12
  573. package/src/storage/executions/types.ts +1 -0
  574. package/src/storage/executions/validation.ts +7 -3
  575. package/src/storage/index.ts +15 -1
  576. package/src/storage/objects/in-memory/query.ts +25 -11
  577. package/src/storage/objects/in-memory/read-scope.ts +9 -2
  578. package/src/storage/objects/in-memory/read-source.ts +5 -0
  579. package/src/storage/objects/in-memory/selected-reader.ts +5 -1
  580. package/src/storage/objects/in-memory/storage.ts +19 -1
  581. package/src/storage/objects/types.ts +2 -0
  582. package/src/storage/ontology/commits.ts +1 -0
  583. package/src/storage/ontology/in-memory/index.ts +20 -0
  584. package/src/storage/ontology/in-memory/materializations.ts +13 -0
  585. package/src/storage/ontology/in-memory/shared-state.ts +9 -0
  586. package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
  587. package/src/storage/ontology/in-memory/vectors.ts +73 -0
  588. package/src/storage/ontology/index.ts +14 -0
  589. package/src/storage/ontology/vector-indexing.ts +98 -0
  590. package/src/storage/ontology/vectors.ts +48 -0
  591. package/src/storage/operation-scope.ts +1 -0
  592. package/src/storage/types.ts +3 -0
  593. package/src/testing/agent-storage-contract.ts +246 -0
  594. package/src/testing/ai-cost-storage-contract.ts +134 -0
  595. package/src/testing/object-query-contract.ts +41 -25
  596. package/src/testing/object-read-scope-contract.ts +1 -5
  597. package/src/testing/queues-contract.ts +31 -0
  598. package/src/workflows/failure.ts +10 -4
  599. package/src/workflows/validation.ts +2 -2
  600. package/dist/chunk-01kj2pbh.js.map +0 -19
  601. package/dist/chunk-5hz0fnca.js.map +0 -12
  602. package/dist/chunk-7apz6hg4.js.map +0 -10
  603. package/dist/chunk-7bs40fe1.js.map +0 -12
  604. package/dist/chunk-860dwwy0.js.map +0 -14
  605. package/dist/chunk-93csa55g.js.map +0 -11
  606. package/dist/chunk-a0e6x5hd.js.map +0 -14
  607. package/dist/chunk-aa6z4a19.js.map +0 -12
  608. package/dist/chunk-ap0g1g74.js.map +0 -11
  609. package/dist/chunk-f0rwz2vh.js.map +0 -11
  610. package/dist/chunk-f4w3yp4f.js.map +0 -12
  611. package/dist/chunk-jsy70480.js.map +0 -15
  612. package/dist/chunk-mrp7k0pw.js.map +0 -10
  613. package/dist/chunk-ms2tmn1k.js.map +0 -17
  614. package/dist/chunk-rb1xx120.js.map +0 -11
  615. package/dist/chunk-yv79ncbv.js.map +0 -10
  616. package/dist/chunk-z0271qkp.js.map +0 -15
  617. package/dist/chunk-z3y411fq.js +0 -99
  618. package/dist/chunk-z3y411fq.js.map +0 -11
  619. /package/dist/{chunk-17kfctj6.js.map → chunk-0mza4xb2.js.map} +0 -0
  620. /package/dist/{chunk-1yefycb1.js.map → chunk-3bnt2wna.js.map} +0 -0
  621. /package/dist/{chunk-awbhdqyc.js.map → chunk-3ghw2t5q.js.map} +0 -0
  622. /package/dist/{chunk-b19g04jk.js.map → chunk-3h7ctayx.js.map} +0 -0
  623. /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
  624. /package/dist/{chunk-0y39rgsb.js.map → chunk-5tetw4hn.js.map} +0 -0
  625. /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
  626. /package/dist/{chunk-358caqf5.js.map → chunk-bfjv1adk.js.map} +0 -0
  627. /package/dist/{chunk-g91qxjj0.js.map → chunk-bg2bs62d.js.map} +0 -0
  628. /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
  629. /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
  630. /package/dist/{chunk-1824gssz.js.map → chunk-gswwr35f.js.map} +0 -0
  631. /package/dist/{chunk-92vk7gta.js.map → chunk-gzt6v1ja.js.map} +0 -0
  632. /package/dist/{chunk-gqh45d2n.js.map → chunk-hkw8rykk.js.map} +0 -0
  633. /package/dist/{chunk-cfvakeax.js.map → chunk-jjwhy3rs.js.map} +0 -0
  634. /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
  635. /package/dist/{chunk-653vwrzr.js.map → chunk-rdghfsss.js.map} +0 -0
  636. /package/dist/{chunk-x9m9x2eq.js.map → chunk-t7dzd1tm.js.map} +0 -0
  637. /package/dist/{chunk-pr2h4bv4.js.map → chunk-tg4g4zh0.js.map} +0 -0
  638. /package/dist/{chunk-8vj0rjgs.js.map → chunk-wjffn5m4.js.map} +0 -0
  639. /package/dist/{chunk-wf88w4kp.js.map → chunk-x9tmx3fc.js.map} +0 -0
  640. /package/dist/{chunk-fh8kgex1.js.map → chunk-xn686q2e.js.map} +0 -0
  641. /package/dist/{chunk-v2vcg0w6.js.map → chunk-xtfryrfb.js.map} +0 -0
@@ -0,0 +1,184 @@
1
+ import { createSixbError, isSixbError } from "../../errors/internal"
2
+ import type { ExecutionScope } from "../../execution/types"
3
+ import type { PreparedObjectVector } from "../../materialization/vectors"
4
+ import {
5
+ EmbeddingModelResponseError,
6
+ type EmbeddingModelResult,
7
+ sameEmbeddingModel,
8
+ } from "../../models/embedding-model"
9
+ import { bindEmbeddingModels } from "../../models/execution/embedding"
10
+ import { ModelExecutionSession } from "../../models/execution/session"
11
+ import type { SixbHostContext } from "../../runtime/types"
12
+ import type { VectorIndexingWork } from "../../storage/ontology/vector-indexing"
13
+ import { fail, retryAt, VectorIndexingDeferred } from "./indexing-shared"
14
+ import { normalizeVector } from "./profile"
15
+
16
+ export interface PreparedIndexingWork {
17
+ readonly work: VectorIndexingWork
18
+ readonly input: PreparedObjectVector
19
+ }
20
+
21
+ interface GenerationAttempt {
22
+ readonly runtime: SixbHostContext
23
+ readonly entries: readonly PreparedIndexingWork[]
24
+ readonly signal: AbortSignal
25
+ /** Running means the durable claim succeeded; budget admission may still be pending. */
26
+ phase: "pending" | "claiming" | "running"
27
+ }
28
+
29
+ /** One accounted provider call, with durable admission and atomic result persistence. */
30
+ export async function generateVectors(
31
+ runtime: SixbHostContext,
32
+ entries: readonly PreparedIndexingWork[],
33
+ scope: ExecutionScope,
34
+ attempt: number,
35
+ signal: AbortSignal
36
+ ): Promise<void> {
37
+ const first = entries[0]!
38
+ const profile = runtime.ontology.resolveObjectType(first.work.ref.objectTypeId).search!.vectors![
39
+ first.work.profile
40
+ ]!
41
+ const generation: GenerationAttempt = { runtime, entries, signal, phase: "pending" }
42
+
43
+ const session = new ModelExecutionSession(
44
+ { ...runtime, runtimeAuthorization: scope.authorization },
45
+ scope.execution
46
+ )
47
+ session.bind({
48
+ attempt,
49
+ signal,
50
+ embeddingAdmission: (admit) => admitGeneration(generation, admit),
51
+ })
52
+
53
+ try {
54
+ const model = bindEmbeddingModels(runtime.embeddingModels, session)?.getByRef({
55
+ provider: profile.model.providerId,
56
+ modelId: profile.model.modelId,
57
+ })?.model
58
+
59
+ if (!model || !sameEmbeddingModel(model, profile.model)) {
60
+ throw createSixbError(
61
+ "vector.model_unavailable",
62
+ "[Sixb] Vector indexing requires the profile's configured embedding model."
63
+ )
64
+ }
65
+
66
+ const result = await model.embed({ texts: entries.map((entry) => entry.input.text), signal })
67
+ const values = normalizeEmbeddingResult(
68
+ result,
69
+ entries.length,
70
+ profile.model.definition.dimensions
71
+ )
72
+
73
+ // Persist every surviving result atomically before any vector is published.
74
+ await runtime.storage.ontology.vectorIndexing!.updateBatch({
75
+ projectId: runtime.projectId,
76
+ updates: entries.map(({ work }, index) => ({
77
+ id: work.id,
78
+ expectedStatus: "running",
79
+ status: "ready",
80
+ values: values[index]!,
81
+ availableAt: new Date().toISOString(),
82
+ })),
83
+ })
84
+ } catch (error) {
85
+ await handleGenerationFailure(generation, error)
86
+ }
87
+ }
88
+
89
+ async function admitGeneration(
90
+ generation: GenerationAttempt,
91
+ admit: () => Promise<void>
92
+ ): Promise<void> {
93
+ generation.signal.throwIfAborted()
94
+ generation.phase = "claiming"
95
+
96
+ const claimed = await transitionWork(generation, "pending", "running", { requireAll: true })
97
+ generation.phase = claimed ? "running" : "pending"
98
+
99
+ if (!claimed) {
100
+ if (generation.entries.length === 1) {
101
+ throw new Error("[Sixb] Vector indexing request was superseded.")
102
+ }
103
+ throw new VectorIndexingDeferred(new Date().toISOString())
104
+ }
105
+
106
+ try {
107
+ await admit()
108
+ } catch (error) {
109
+ await transitionWork(generation, "running", "pending")
110
+ generation.phase = "pending"
111
+ throw error
112
+ }
113
+ }
114
+
115
+ function normalizeEmbeddingResult(
116
+ result: EmbeddingModelResult,
117
+ count: number,
118
+ dimensions: number
119
+ ): readonly (readonly number[])[] {
120
+ try {
121
+ if (!Array.isArray(result?.vectors) || result.vectors.length !== count) {
122
+ throw new Error("Unexpected vector count")
123
+ }
124
+
125
+ return result.vectors.map((vector) => normalizeVector(vector, dimensions))
126
+ } catch (cause) {
127
+ throw createSixbError("vector.response_invalid", "[Sixb] Invalid embedding batch response.", {
128
+ cause,
129
+ })
130
+ }
131
+ }
132
+
133
+ async function handleGenerationFailure(
134
+ generation: GenerationAttempt,
135
+ error: unknown
136
+ ): Promise<void> {
137
+ // No provider call can start while the storage claim is unresolved. Retry delivery,
138
+ // not inference; an ambiguously committed claim will be fenced as running on redelivery.
139
+ if (generation.phase === "claiming" || error instanceof VectorIndexingDeferred) {
140
+ throw error
141
+ }
142
+
143
+ if (generation.phase === "pending") {
144
+ if (
145
+ isSixbError(error) &&
146
+ (error.code === "ai.usage_limit_exceeded" || error.code === "ai.usage_limit_unavailable")
147
+ ) {
148
+ const availableAt = retryAt(error.details)
149
+ await transitionWork(generation, "pending", "pending", { availableAt })
150
+ throw new VectorIndexingDeferred(availableAt)
151
+ }
152
+
153
+ if (generation.signal.aborted) throw error
154
+ }
155
+
156
+ const failure =
157
+ error instanceof EmbeddingModelResponseError
158
+ ? createSixbError("vector.response_invalid", "[Sixb] Invalid embedding batch response.", {
159
+ cause: error,
160
+ })
161
+ : error
162
+ const { runtime, entries } = generation
163
+ const indexing = runtime.storage.ontology.vectorIndexing!
164
+
165
+ for (const { work } of entries) {
166
+ await fail(runtime, indexing, { ...work, status: generation.phase }, failure)
167
+ }
168
+ }
169
+
170
+ function transitionWork(
171
+ generation: GenerationAttempt,
172
+ expectedStatus: VectorIndexingWork["status"],
173
+ status: VectorIndexingWork["status"],
174
+ options: { availableAt?: string; requireAll?: boolean } = {}
175
+ ): Promise<boolean> {
176
+ const { runtime, entries } = generation
177
+ const availableAt = options.availableAt ?? new Date().toISOString()
178
+
179
+ return runtime.storage.ontology.vectorIndexing!.updateBatch({
180
+ projectId: runtime.projectId,
181
+ requireAll: options.requireAll ?? false,
182
+ updates: entries.map(({ work }) => ({ id: work.id, expectedStatus, status, availableAt })),
183
+ })
184
+ }
@@ -0,0 +1,17 @@
1
+ /** Internal worker entry point; it does not expose the host context or domain SDK. */
2
+ export interface VectorIndexingRuntime {
3
+ process(id: string, attempt: number, signal: AbortSignal): Promise<void>
4
+ }
5
+
6
+ // Associates each host with its service. Durable work lives in ontology storage, not this map.
7
+ const runtimes = new WeakMap<object, VectorIndexingRuntime>()
8
+
9
+ export function registerVectorIndexingRuntime(host: object, runtime: VectorIndexingRuntime): void {
10
+ runtimes.set(host, runtime)
11
+ }
12
+
13
+ export function getVectorIndexingRuntime(host: object): VectorIndexingRuntime {
14
+ const runtime = runtimes.get(host)
15
+ if (!runtime) throw new Error("[Sixb] Vector indexing requires a configured Sixb host.")
16
+ return runtime
17
+ }
@@ -0,0 +1,188 @@
1
+ import { randomUUID } from "node:crypto"
2
+ import { reportVectorIndexingFailure } from "../../error-reporting/capability"
3
+ import { captureSixbFailure } from "../../errors/internal"
4
+ import { createKernelRuntimeAuthorization } from "../../execution/authorization"
5
+ import { ensureExecutionRecord, executionRecordInputFromRuntime } from "../../execution/durable"
6
+ import type { ExecutionContext, ExecutionScope } from "../../execution/types"
7
+ import { MaterializationConflictError } from "../../materialization/errors"
8
+ import type { ObjectVectorWrite, PreparedObjectVector } from "../../materialization/vectors"
9
+ import type { OntologyMaterializerContract } from "../../materializer/materializer"
10
+ import type { SixbHostContext } from "../../runtime/types"
11
+ import {
12
+ type OntologyVectorIndexingStorage,
13
+ VECTOR_INDEXING_FAILURE_CODES,
14
+ type VectorIndexingWork,
15
+ } from "../../storage/ontology/vector-indexing"
16
+ import { vectorConfiguration, vectorSources } from "./profile"
17
+
18
+ /** Return null when the requested representation is obsolete or already stored. */
19
+ export async function prepare(
20
+ runtime: SixbHostContext,
21
+ work: VectorIndexingWork
22
+ ): Promise<PreparedObjectVector | null> {
23
+ const profile = runtime.ontology.getObjectTypeById(work.ref.objectTypeId)?.search?.vectors?.[
24
+ work.profile
25
+ ]
26
+ if (!profile || vectorConfiguration(profile) !== work.configuration) return null
27
+
28
+ const row = await runtime.storage.objects.getByPrimaryId({
29
+ projectId: runtime.projectId,
30
+ ...work.ref,
31
+ })
32
+ if (!row) return null
33
+
34
+ const sources = vectorSources(profile.source, row.properties)
35
+ if (sources.sourceFingerprint !== work.sourceFingerprint) return null
36
+
37
+ const storedVectors = await runtime.storage.ontology.vectors!.list({
38
+ projectId: runtime.projectId,
39
+ ref: work.ref,
40
+ })
41
+ const currentVector = storedVectors.find((entry) => entry.profile === work.profile)
42
+ const alreadyIndexed =
43
+ currentVector?.configuration === work.configuration &&
44
+ currentVector.sourceFingerprint === work.sourceFingerprint
45
+
46
+ if (alreadyIndexed) return null
47
+
48
+ return {
49
+ projectId: runtime.projectId,
50
+ ref: work.ref,
51
+ profile: work.profile,
52
+ configuration: work.configuration,
53
+ ...sources,
54
+ expectedObject: {
55
+ ref: work.ref,
56
+ exists: true,
57
+ version: row.version,
58
+ lastCommitId: row.lastCommitId,
59
+ },
60
+ expectedVectorCommitId: currentVector?.lastCommitId ?? null,
61
+ }
62
+ }
63
+
64
+ export async function storeVector(
65
+ runtime: SixbHostContext,
66
+ materializer: OntologyMaterializerContract,
67
+ work: VectorIndexingWork,
68
+ scope: ExecutionScope,
69
+ signal: AbortSignal
70
+ ): Promise<void> {
71
+ const indexing = runtime.storage.ontology.vectorIndexing!
72
+ const identity = { projectId: runtime.projectId, id: work.id }
73
+
74
+ // Unrelated property changes renew the object fence without repeating a paid inference.
75
+ for (let attempt = 0; attempt < 3; attempt++) {
76
+ signal.throwIfAborted()
77
+ const prepared = await prepare(runtime, work)
78
+
79
+ if (!prepared) {
80
+ await indexing.remove(identity)
81
+ return
82
+ }
83
+
84
+ try {
85
+ await commitPreparedVectors(materializer, scope, [{ input: prepared, values: work.values! }])
86
+ await indexing.remove(identity)
87
+ return
88
+ } catch (error) {
89
+ if (!(error instanceof MaterializationConflictError)) throw error
90
+
91
+ const currentWork = await indexing.get(identity)
92
+ if (!currentWork) return
93
+ }
94
+ }
95
+
96
+ throw new VectorIndexingDeferred(new Date(Date.now() + 1000).toISOString())
97
+ }
98
+
99
+ export async function commitPreparedVectors(
100
+ materializer: OntologyMaterializerContract,
101
+ scope: ExecutionScope,
102
+ writes: readonly ObjectVectorWrite[]
103
+ ): Promise<void> {
104
+ await materializer.edits.commit({
105
+ scope,
106
+ input: {
107
+ mode: "atomic",
108
+ source: { kind: "runtime", requestId: randomUUID() },
109
+ operations: [],
110
+ vectorWrites: writes,
111
+ expectedObjects: writes.map((write) => write.input.expectedObject),
112
+ expectedLinks: [],
113
+ expectedLinkScopes: [],
114
+ },
115
+ })
116
+ }
117
+
118
+ export async function indexingScope(
119
+ runtime: SixbHostContext,
120
+ work: VectorIndexingWork,
121
+ indexingId = work.id
122
+ ): Promise<ExecutionScope> {
123
+ const operation = { type: "ontology.indexVectors", indexingId } as const
124
+ const execution: ExecutionContext = {
125
+ id: `exec_vector_${indexingId}`,
126
+ projectId: runtime.projectId,
127
+ executor: { type: "kernel", operation },
128
+ source: { type: "ontologyCommit", commitId: work.sourceCommitId },
129
+ correlationId: `vector_${indexingId}`,
130
+ }
131
+ const authorization = createKernelRuntimeAuthorization({ execution, operation })
132
+
133
+ await ensureExecutionRecord(runtime.storage.executions, {
134
+ ...executionRecordInputFromRuntime({ execution, runtimeAuthorization: authorization }),
135
+ requesterGroupIds: [],
136
+ })
137
+
138
+ return { execution, authorization }
139
+ }
140
+
141
+ export async function fail(
142
+ runtime: SixbHostContext,
143
+ indexing: OntologyVectorIndexingStorage,
144
+ work: VectorIndexingWork,
145
+ error: unknown
146
+ ): Promise<void> {
147
+ const failure = captureSixbFailure(error, {
148
+ allowedCodes: VECTOR_INDEXING_FAILURE_CODES,
149
+ defaultCode: "internal.unexpected",
150
+ })
151
+
152
+ const recorded = await indexing.update({
153
+ projectId: runtime.projectId,
154
+ id: work.id,
155
+ expectedStatus: work.status,
156
+ status: "failed",
157
+ availableAt: new Date().toISOString(),
158
+ error: failure,
159
+ })
160
+
161
+ if (!recorded) return
162
+
163
+ reportVectorIndexingFailure(runtime, error, {
164
+ projectId: runtime.projectId,
165
+ indexingId: work.id,
166
+ failure,
167
+ ...work.ref,
168
+ profile: work.profile,
169
+ })
170
+ }
171
+
172
+ export function retryAt(details: unknown): string {
173
+ const resetAt =
174
+ details && typeof details === "object" && "resetAt" in details ? details.resetAt : undefined
175
+ const resetTimestamp = typeof resetAt === "string" ? Date.parse(resetAt) : Number.NaN
176
+
177
+ const minimumRetryTimestamp = Date.now() + 60_000
178
+ const budgetResetTimestamp = Number.isFinite(resetTimestamp) ? resetTimestamp : 0
179
+ const retryTimestamp = Math.max(minimumRetryTimestamp, budgetResetTimestamp)
180
+
181
+ return new Date(retryTimestamp).toISOString()
182
+ }
183
+
184
+ export class VectorIndexingDeferred extends Error {
185
+ constructor(readonly availableAt: string) {
186
+ super("[Sixb] Vector indexing is deferred.")
187
+ }
188
+ }
@@ -0,0 +1,51 @@
1
+ import { createSixbError } from "../../errors/internal"
2
+ import type { OntologyMaterializerContract } from "../../materializer/materializer"
3
+ import type { SixbHostContext } from "../../runtime/types"
4
+ import { generateVectors } from "./indexing-generate"
5
+ import {
6
+ fail,
7
+ indexingScope,
8
+ prepare,
9
+ storeVector,
10
+ VectorIndexingDeferred,
11
+ } from "./indexing-shared"
12
+
13
+ export async function processVector(
14
+ runtime: SixbHostContext,
15
+ materializer: OntologyMaterializerContract,
16
+ id: string,
17
+ attempt: number,
18
+ signal: AbortSignal
19
+ ): Promise<void> {
20
+ const indexing = runtime.storage.ontology.vectorIndexing
21
+ if (!indexing) throw new Error("[Sixb] Storage does not support automatic vector indexing.")
22
+ const projectId = runtime.projectId
23
+ const work = await indexing.get({ projectId, id })
24
+ if (!work || work.status === "failed") return
25
+ if (work.status === "running") {
26
+ await fail(
27
+ runtime,
28
+ indexing,
29
+ work,
30
+ createSixbError(
31
+ "vector.outcome_unknown",
32
+ "[Sixb] Interrupted embedding call has an unknown outcome; inference was not repeated."
33
+ )
34
+ )
35
+ return
36
+ }
37
+ if (Date.parse(work.availableAt) > Date.now()) throw new VectorIndexingDeferred(work.availableAt)
38
+ const prepared = await prepare(runtime, work)
39
+ if (!prepared) {
40
+ await indexing.remove({ projectId, id })
41
+ return
42
+ }
43
+ const scope = await indexingScope(runtime, work, work.batchId ?? work.id)
44
+ if (work.status === "ready") {
45
+ await storeVector(runtime, materializer, work, scope, signal)
46
+ return
47
+ }
48
+ await generateVectors(runtime, [{ work, input: prepared }], scope, attempt, signal)
49
+ const ready = await indexing.get({ projectId, id })
50
+ if (ready?.status === "ready") await storeVector(runtime, materializer, ready, scope, signal)
51
+ }
@@ -0,0 +1,62 @@
1
+ import type { ExecutionScope } from "../../execution/types"
2
+ import { MaterializationConflictError } from "../../materialization/errors"
3
+ import type { ObjectVectorWrite } from "../../materialization/vectors"
4
+ import type { OntologyMaterializerContract } from "../../materializer/materializer"
5
+ import type { SixbHostContext } from "../../runtime/types"
6
+ import {
7
+ commitPreparedVectors,
8
+ prepare,
9
+ storeVector,
10
+ VectorIndexingDeferred,
11
+ } from "./indexing-shared"
12
+
13
+ /** Publish a current subset atomically; reprepare conflicts without repeating inference. */
14
+ export async function storeVectorBatch(
15
+ runtime: SixbHostContext,
16
+ materializer: OntologyMaterializerContract,
17
+ batchId: string,
18
+ scope: ExecutionScope,
19
+ signal: AbortSignal
20
+ ): Promise<void> {
21
+ const indexing = runtime.storage.ontology.vectorIndexing!
22
+ const identity = { projectId: runtime.projectId, batchId }
23
+
24
+ for (let attempt = 0; attempt < 3; attempt++) {
25
+ const ready = (await indexing.getBatch(identity)).filter((work) => work.status === "ready")
26
+ const writes: ObjectVectorWrite[] = []
27
+
28
+ for (const work of ready) {
29
+ signal.throwIfAborted()
30
+ const input = await prepare(runtime, work)
31
+ if (input) {
32
+ writes.push({ input, values: work.values! })
33
+ } else {
34
+ await indexing.remove({ projectId: runtime.projectId, id: work.id })
35
+ }
36
+ }
37
+
38
+ if (!writes.length) return
39
+
40
+ try {
41
+ signal.throwIfAborted()
42
+ await commitPreparedVectors(materializer, scope, writes)
43
+ return
44
+ } catch (error) {
45
+ if (!(error instanceof MaterializationConflictError)) throw error
46
+ }
47
+ }
48
+
49
+ // A continuously changing object must not keep stable peers from becoming searchable.
50
+ let deferred = false
51
+ for (const work of await indexing.getBatch(identity)) {
52
+ if (work.status !== "ready") continue
53
+ try {
54
+ await storeVector(runtime, materializer, work, scope, signal)
55
+ } catch (error) {
56
+ if (!(error instanceof VectorIndexingDeferred)) throw error
57
+ deferred = true
58
+ }
59
+ }
60
+
61
+ if (deferred) throw new VectorIndexingDeferred(new Date(Date.now() + 1000).toISOString())
62
+ }
@@ -0,0 +1,23 @@
1
+ import type { OntologyMaterializerContract } from "../../materializer/materializer"
2
+ import type { SixbHostContext } from "../../runtime/types"
3
+ import { processVectorBatch } from "./indexing-batch"
4
+ import type { VectorIndexingRuntime } from "./indexing-runtime"
5
+ import { processVector } from "./indexing-single"
6
+
7
+ export { VectorIndexingDeferred } from "./indexing-shared"
8
+
9
+ /** Internal processing port; durable projection groups and individual requests share delivery. */
10
+ export function createVectorIndexingRuntime(
11
+ runtime: SixbHostContext,
12
+ materializer: OntologyMaterializerContract
13
+ ): VectorIndexingRuntime {
14
+ return {
15
+ async process(id, attempt, signal) {
16
+ const indexing = runtime.storage.ontology.vectorIndexing
17
+ if (!indexing) throw new Error("[Sixb] Storage does not support automatic vector indexing.")
18
+ const batch = await indexing.getBatch({ projectId: runtime.projectId, batchId: id })
19
+ if (batch.length) await processVectorBatch(runtime, materializer, id, batch, attempt, signal)
20
+ else await processVector(runtime, materializer, id, attempt, signal)
21
+ },
22
+ }
23
+ }
@@ -0,0 +1,64 @@
1
+ import { MaterializationValidationError } from "../../materialization/errors"
2
+ import { sha256Canonical } from "../../materialization/identity"
3
+ import type { ObjectVectorSearchProfile } from "../../ontology/types"
4
+
5
+ export const MAX_VECTOR_K = 1000
6
+ export const VECTOR_INPUT_VERSION = 1
7
+
8
+ export function vectorConfiguration(profile: ObjectVectorSearchProfile): string {
9
+ return sha256Canonical({
10
+ format: VECTOR_INPUT_VERSION,
11
+ sources: [...profile.source],
12
+ provider: profile.model.providerId,
13
+ model: profile.model.modelId,
14
+ representation: profile.model.definition.representation ?? { name: profile.model.modelId },
15
+ dimensions: profile.model.definition.dimensions,
16
+ metric: "cosine",
17
+ precision: "float32",
18
+ normalization: "l2-v1",
19
+ })
20
+ }
21
+
22
+ export function vectorSources(
23
+ source: readonly string[],
24
+ properties: Readonly<Record<string, unknown>>
25
+ ) {
26
+ const values: Record<string, string | null> = Object.create(null)
27
+ for (const key of source) {
28
+ const value = properties[key]
29
+ if (value !== undefined && value !== null && typeof value !== "string") {
30
+ throw new MaterializationValidationError(`Vector source must be text: ${key}`)
31
+ }
32
+ values[key] = typeof value === "string" ? value : null
33
+ }
34
+ // Ordered JSON pairs preserve field boundaries, escaping and absent/empty distinction.
35
+ const text = JSON.stringify(source.map((key) => [key, values[key]]))
36
+ return { text, sourceFingerprint: sha256Canonical(text) }
37
+ }
38
+
39
+ /** Unit-length float32 representation keeps native cosine arithmetic within range. */
40
+ export function normalizeVector(values: readonly number[], dimensions: number): readonly number[] {
41
+ if (!Array.isArray(values) || values.length !== dimensions) {
42
+ throw new MaterializationValidationError(`Vector dimension mismatch; expected ${dimensions}`)
43
+ }
44
+ const normalized = Array.from(values, (value) => {
45
+ if (
46
+ typeof value !== "number" ||
47
+ !Number.isFinite(value) ||
48
+ !Number.isFinite(Math.fround(value))
49
+ ) {
50
+ throw new MaterializationValidationError("Vector values must be finite float32 numbers.")
51
+ }
52
+ return Math.fround(value)
53
+ })
54
+ if (!normalized.some((value) => value !== 0)) {
55
+ throw new MaterializationValidationError("Cosine search requires a nonzero vector.")
56
+ }
57
+ const norm = Math.hypot(...normalized)
58
+ return Object.freeze(normalized.map((value) => Math.fround(value / norm)))
59
+ }
60
+
61
+ /** V1 envelope for exact SQL scoring; exceeding it must fail rather than truncate candidates. */
62
+ export function vectorSearchCandidateLimit(dimensions: number): number {
63
+ return Math.min(10000, Math.floor(16000000 / dimensions))
64
+ }
@@ -0,0 +1,16 @@
1
+ import type { ObjectQuery } from "../query/ir"
2
+
3
+ export function hasVectorProfile(query: ObjectQuery): boolean {
4
+ if (query.kind === "vector") return true
5
+ if (query.kind === "set") return query.inputs.some(hasVectorProfile)
6
+ return "input" in query && hasVectorProfile(query.input)
7
+ }
8
+
9
+ /** V1 supports one exact top-k, with filters applied before ranking. */
10
+ export function isVectorProfileQuery(query: ObjectQuery): boolean {
11
+ if (query.kind === "limit" || query.kind === "project") return isVectorProfileQuery(query.input)
12
+ if (query.kind !== "vector" || !query.profile) return false
13
+ let input = query.input
14
+ while (input.kind === "filter") input = input.input
15
+ return input.kind === "start" && !input.includeSubtypes
16
+ }