@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
@@ -2,6 +2,8 @@ import type { OntologyCommitStorage } from "./commits"
2
2
  import type { OntologyMaterializationStorage } from "./materializations"
3
3
  import type { OntologyOutboxStorage } from "./outbox"
4
4
  import type { OntologySourceStorage } from "./sources"
5
+ import type { OntologyVectorIndexingStorage } from "./vector-indexing"
6
+ import type { OntologyVectorStorage } from "./vectors"
5
7
 
6
8
  export type { ProjectionExecution } from "../../materialization/model"
7
9
  export type {
@@ -119,9 +121,21 @@ export type {
119
121
  TerminalSourceMaterializationSummary,
120
122
  } from "./sources"
121
123
 
124
+ export type { ObjectVectorState, OntologyVectorStorage, StoredObjectVector } from "./vectors"
125
+
122
126
  export interface OntologyStorage {
127
+ readonly vectorIndexing?: OntologyVectorIndexingStorage
128
+ readonly vectors?: OntologyVectorStorage
123
129
  readonly commits: OntologyCommitStorage
124
130
  readonly sources: OntologySourceStorage
125
131
  readonly materializations: OntologyMaterializationStorage
126
132
  readonly outbox: OntologyOutboxStorage
127
133
  }
134
+
135
+ export type {
136
+ OntologyVectorIndexingStorage,
137
+ VectorIndexingFailureCode,
138
+ VectorIndexingRequest,
139
+ VectorIndexingUpdate,
140
+ VectorIndexingWork,
141
+ } from "./vector-indexing"
@@ -0,0 +1,98 @@
1
+ import type { SixbFailure } from "../../errors/types"
2
+ import type { OntologyObjectRef } from "../../materialization/model"
3
+ import type { MaterializationSession } from "./materializations"
4
+
5
+ export const VECTOR_INDEXING_FAILURE_CODES = [
6
+ "vector.model_unavailable",
7
+ "vector.response_invalid",
8
+ "vector.outcome_unknown",
9
+ "internal.unexpected",
10
+ ] as const
11
+
12
+ export type VectorIndexingFailureCode = (typeof VECTOR_INDEXING_FAILURE_CODES)[number]
13
+
14
+ /** Latest desired representation; replacing its id fences every older delivery. */
15
+ export interface VectorIndexingRequest {
16
+ readonly id: string
17
+ /** Set only by projection materialization; a bounded, immediately durable group. */
18
+ readonly batchId?: string
19
+ readonly ref: OntologyObjectRef
20
+ readonly profile: string
21
+ readonly configuration: string
22
+ readonly sourceFingerprint: string
23
+ readonly sourceCommitId: string
24
+ }
25
+
26
+ export interface VectorIndexingWork extends VectorIndexingRequest {
27
+ readonly status: "pending" | "running" | "ready" | "failed"
28
+ readonly availableAt: string
29
+ readonly values?: readonly number[]
30
+ readonly error?: SixbFailure<VectorIndexingFailureCode>
31
+ }
32
+
33
+ export interface VectorIndexingUpdate {
34
+ readonly id: string
35
+ readonly expectedStatus: VectorIndexingWork["status"]
36
+ readonly status: VectorIndexingWork["status"]
37
+ readonly availableAt: string
38
+ readonly values?: readonly number[]
39
+ readonly error?: SixbFailure<VectorIndexingFailureCode>
40
+ }
41
+
42
+ /** Durable intent belongs to ontology storage; delivery leases belong to Queues. */
43
+ export interface OntologyVectorIndexingStorage {
44
+ /** Called inside the transaction that changes the effective object. */
45
+ schedule(input: {
46
+ projectId: string
47
+ session: MaterializationSession
48
+ requests: readonly VectorIndexingRequest[]
49
+ deleted: readonly OntologyObjectRef[]
50
+ availableAt: string
51
+ }): Promise<void>
52
+ /** Clear matching intent atomically with a successful automatic or explicit vector write. */
53
+ complete(input: {
54
+ projectId: string
55
+ session: MaterializationSession
56
+ entries: readonly Pick<
57
+ VectorIndexingRequest,
58
+ "ref" | "profile" | "configuration" | "sourceFingerprint"
59
+ >[]
60
+ }): Promise<void>
61
+ dispatched(input: {
62
+ projectId: string
63
+ ids: readonly string[]
64
+ nextDispatchAt: string
65
+ }): Promise<void>
66
+ get(input: { projectId: string; id: string }): Promise<VectorIndexingWork | null>
67
+ getBatch(input: { projectId: string; batchId: string }): Promise<readonly VectorIndexingWork[]>
68
+ /** Read only the result this kernel batch is allowed to publish. */
69
+ getBatchMember(input: {
70
+ projectId: string
71
+ batchId: string
72
+ ref: OntologyObjectRef
73
+ profile: string
74
+ }): Promise<VectorIndexingWork | null>
75
+ /** Atomic transitions; requireAll prevents admission if any prepared member was superseded. */
76
+ updateBatch(input: {
77
+ projectId: string
78
+ updates: readonly VectorIndexingUpdate[]
79
+ requireAll?: boolean
80
+ }): Promise<boolean>
81
+ /** Bounded fair redispatch scan. Never scans objects or backfills existing data. */
82
+ listDue(input: {
83
+ projectId: string
84
+ now: string
85
+ limit: number
86
+ }): Promise<readonly VectorIndexingWork[]>
87
+ /** CAS also fences concurrent deliveries and source changes. */
88
+ update(input: {
89
+ projectId: string
90
+ id: string
91
+ expectedStatus: VectorIndexingWork["status"]
92
+ status: VectorIndexingWork["status"]
93
+ availableAt: string
94
+ values?: readonly number[]
95
+ error?: SixbFailure<VectorIndexingFailureCode>
96
+ }): Promise<boolean>
97
+ remove(input: { projectId: string; id: string }): Promise<void>
98
+ }
@@ -0,0 +1,48 @@
1
+ import type { OntologyObjectRef } from "../../materialization/model"
2
+ import type { MaterializationSession } from "./materializations"
3
+
4
+ export interface ObjectVectorState {
5
+ readonly ref: OntologyObjectRef
6
+ readonly profile: string
7
+ readonly configuration: string
8
+ readonly source: readonly string[]
9
+ readonly sourceFingerprint: string
10
+ readonly lastCommitId: string
11
+ }
12
+
13
+ export interface StoredObjectVector extends ObjectVectorState {
14
+ readonly values: readonly number[]
15
+ }
16
+
17
+ /** Transactional derived state. Mutations must run inside an ontology materialization transaction. */
18
+ export interface OntologyVectorStorage {
19
+ list(input: { projectId: string; ref: OntologyObjectRef }): Promise<readonly ObjectVectorState[]>
20
+ listBatch(input: {
21
+ projectId: string
22
+ refs: readonly OntologyObjectRef[]
23
+ }): Promise<readonly ObjectVectorState[]>
24
+ removeBatch(input: {
25
+ session: MaterializationSession
26
+ projectId: string
27
+ entries: readonly { ref: OntologyObjectRef; profile: string; expectedCommitId: string }[]
28
+ }): Promise<void>
29
+ write(input: {
30
+ session: MaterializationSession
31
+ projectId: string
32
+ value: StoredObjectVector
33
+ expectedCommitId: string | null
34
+ }): Promise<void>
35
+ /** Write a validated set inside the materialization transaction; any conflict aborts it. */
36
+ writeBatch(input: {
37
+ session: MaterializationSession
38
+ projectId: string
39
+ entries: readonly { value: StoredObjectVector; expectedCommitId: string | null }[]
40
+ }): Promise<void>
41
+ remove(input: {
42
+ session: MaterializationSession
43
+ projectId: string
44
+ ref: OntologyObjectRef
45
+ profile: string
46
+ expectedCommitId: string
47
+ }): Promise<void>
48
+ }
@@ -230,6 +230,7 @@ export function createOntologyOperationScope<T extends OntologyStorage>(
230
230
  sources: createOperationScopedFacade(target.sources, scope),
231
231
  materializations: createOperationScopedFacade(target.materializations, scope),
232
232
  outbox: createOperationScopedFacade(target.outbox, scope),
233
+ ...(target.vectors ? { vectors: createOperationScopedFacade(target.vectors, scope) } : {}),
233
234
  }) as T
234
235
  }
235
236
 
@@ -50,6 +50,8 @@ export type {
50
50
  AgentRunRecord,
51
51
  AgentStorage,
52
52
  AgentThreadRecord,
53
+ AgentThreadSandboxParams,
54
+ AgentThreadSandboxState,
53
55
  AppendAgentMessageInput,
54
56
  ConfirmAgentRunExecutionOwnershipInput,
55
57
  ConversationAgentRunRecord,
@@ -70,6 +72,7 @@ export type {
70
72
  SubagentRunRecord,
71
73
  SubagentRunResult,
72
74
  SubagentRunSpec,
75
+ TransitionAgentThreadSandboxInput,
73
76
  } from "./agents"
74
77
  export { AGENT_RUN_FAILURE_CODES, AgentStorageError } from "./agents"
75
78
  export type {
@@ -290,6 +290,252 @@ export function runAgentStorageContractSuite<TStorage extends AgentStorageContra
290
290
  }
291
291
 
292
292
  describe(label, () => {
293
+ test("replaces lost state only under its current execution fence", async () => {
294
+ // Regression proof: remove replace's name/owner guards; the stale attempts succeed.
295
+ await withStorage(async (storage, fixture) => {
296
+ await storage.threads.create(threadInput({ sandboxParams: {} }))
297
+ const run = runInput({ execution: execution("first", new Date("2099-01-01")) })
298
+ await createAndStartRun(storage, fixture, run)
299
+ const acquire = {
300
+ projectId,
301
+ id: "thr_1",
302
+ action: "acquire" as const,
303
+ runId: run.id,
304
+ executionToken: "first",
305
+ name: "name-1",
306
+ sourceFingerprint: "a".repeat(64),
307
+ }
308
+ await storage.threads.transitionSandbox(acquire)
309
+ const replace = { ...acquire, action: "replace" as const, nextName: "name-2" }
310
+ await expectAgentError(storage.threads.transitionSandbox(replace), "invalid_state")
311
+ await storage.threads.transitionSandbox({
312
+ ...acquire,
313
+ action: "settle",
314
+ status: "ready",
315
+ initialized: true,
316
+ })
317
+ await expectAgentError(storage.threads.transitionSandbox(replace), "invalid_state")
318
+ await storage.threads.transitionSandbox(acquire)
319
+ for (const nextName of ["name-1", "../invalid", ""]) {
320
+ await expectAgentError(
321
+ storage.threads.transitionSandbox({ ...replace, nextName }),
322
+ "invalid_state"
323
+ )
324
+ }
325
+ await expectAgentError(
326
+ storage.threads.transitionSandbox({ ...replace, executionToken: "stale" }),
327
+ "execution_lost"
328
+ )
329
+ const replacement = await storage.threads.transitionSandbox(replace)
330
+ const resetAt = replacement.resetAt
331
+ expect(replacement).toMatchObject({
332
+ name: "name-2",
333
+ status: "busy",
334
+ initialized: false,
335
+ owner: { runId: run.id, executionToken: "first" },
336
+ sourceFingerprint: acquire.sourceFingerprint,
337
+ resetAt: expect.any(String),
338
+ })
339
+ await expectAgentError(storage.threads.transitionSandbox(replace), "invalid_state")
340
+ await expectAgentError(
341
+ storage.threads.transitionSandbox({
342
+ ...acquire,
343
+ action: "settle",
344
+ status: "ready",
345
+ initialized: true,
346
+ }),
347
+ "invalid_state"
348
+ )
349
+ await storage.threads.transitionSandbox({
350
+ ...acquire,
351
+ name: "name-2",
352
+ action: "settle",
353
+ status: "ready",
354
+ initialized: true,
355
+ })
356
+ const resumed = await storage.threads.transitionSandbox({
357
+ ...acquire,
358
+ name: "name-2",
359
+ })
360
+ expect(resumed.resetAt).toBe(resetAt)
361
+ expect((await storage.threads.getById({ projectId, id: "thr_1" }))?.sandboxState).toEqual(
362
+ resumed
363
+ )
364
+ })
365
+ })
366
+
367
+ test("fences workspace ownership across reclamation and explicit recreation", async () => {
368
+ // Regression proof: remove the busy-state or owner-token checks in transitionAgentThreadSandbox.
369
+ await withStorage(async (storage, fixture) => {
370
+ await storage.threads.create(threadInput({ sandboxParams: {} }))
371
+ const input = runInput({ execution: execution("first", new Date("2099-01-01")) })
372
+ await createTestAgentExecution(fixture, {
373
+ projectId,
374
+ runId: input.id,
375
+ executionId: input.executionId,
376
+ authority: "inherited",
377
+ })
378
+ await storage.runs.create(input)
379
+ await storage.runs.start(input)
380
+ const acquire = {
381
+ projectId,
382
+ id: "thr_1",
383
+ action: "acquire" as const,
384
+ runId: input.id,
385
+ executionToken: "first",
386
+ name: "name-1",
387
+ sourceFingerprint: "a".repeat(64),
388
+ }
389
+ const attempts = await Promise.allSettled([
390
+ storage.threads.transitionSandbox(acquire),
391
+ storage.threads.transitionSandbox(acquire),
392
+ ])
393
+ expect(attempts.filter((attempt) => attempt.status === "fulfilled")).toHaveLength(1)
394
+ expect(
395
+ (await storage.threads.getById({ projectId, id: "thr_1" }))?.sandboxState
396
+ ).toMatchObject({ status: "busy", initialized: false })
397
+ await expectAgentError(storage.threads.transitionSandbox(acquire), "invalid_state")
398
+ await storage.runs.reclaim({
399
+ projectId,
400
+ id: input.id,
401
+ execution: execution("second", new Date("2099-01-01")),
402
+ })
403
+ await expectAgentError(
404
+ storage.threads.transitionSandbox({
405
+ ...acquire,
406
+ executionToken: "second",
407
+ }),
408
+ "invalid_state"
409
+ )
410
+ await expectAgentError(
411
+ storage.threads.transitionSandbox({
412
+ ...acquire,
413
+ action: "settle",
414
+ status: "ready",
415
+ initialized: true,
416
+ }),
417
+ "execution_lost"
418
+ )
419
+ const recreate = {
420
+ projectId,
421
+ id: "thr_1",
422
+ action: "recreate" as const,
423
+ expectedSandboxName: "name-1",
424
+ name: "name-2",
425
+ }
426
+ await expectAgentError(storage.threads.transitionSandbox(recreate), "invalid_state")
427
+ await storage.runs.finish({
428
+ projectId,
429
+ id: input.id,
430
+ executionToken: "second",
431
+ status: "failed",
432
+ })
433
+ expect(await storage.threads.transitionSandbox(recreate)).toEqual({
434
+ name: "name-2",
435
+ status: "new",
436
+ initialized: false,
437
+ resetAt: expect.any(String),
438
+ })
439
+ await expectAgentError(storage.threads.transitionSandbox(recreate), "invalid_state")
440
+ })
441
+ })
442
+
443
+ test("resumes only confirmed workspace state with the pinned source", async () => {
444
+ await withStorage(async (storage, fixture) => {
445
+ await storage.threads.create(threadInput({ sandboxParams: {} }))
446
+ const input = runInput({ execution: execution("owner", new Date("2099-01-01")) })
447
+ await createTestAgentExecution(fixture, {
448
+ projectId,
449
+ runId: input.id,
450
+ executionId: input.executionId,
451
+ authority: "inherited",
452
+ })
453
+ await storage.runs.create(input)
454
+ await storage.runs.start(input)
455
+ const acquire = {
456
+ projectId,
457
+ id: "thr_1",
458
+ action: "acquire" as const,
459
+ runId: input.id,
460
+ executionToken: "owner",
461
+ name: "name",
462
+ sourceFingerprint: "b".repeat(64),
463
+ }
464
+ await storage.threads.transitionSandbox(acquire)
465
+ await storage.threads.transitionSandbox({
466
+ ...acquire,
467
+ action: "settle",
468
+ status: "ready",
469
+ initialized: true,
470
+ })
471
+ await expectAgentError(
472
+ storage.threads.transitionSandbox({
473
+ ...acquire,
474
+ sourceFingerprint: "c".repeat(64),
475
+ }),
476
+ "invalid_state"
477
+ )
478
+ expect(await storage.threads.transitionSandbox(acquire)).toMatchObject({
479
+ status: "busy",
480
+ initialized: true,
481
+ })
482
+ })
483
+ })
484
+
485
+ test("snapshots workspace bindings without accepting runtime state or credentials", async () => {
486
+ // Regression proof: remove snapshotAgentThreadSandboxParams from a provider's thread create.
487
+ await withStorage(async (storage) => {
488
+ const sandboxParams = { clientId: "acme", nested: { branch: "main" } }
489
+ const record = await storage.threads.create(threadInput({ sandboxParams }))
490
+ sandboxParams.nested.branch = "changed"
491
+ const read = await storage.threads.getById({ projectId, id: record.id })
492
+ expect(read?.sandboxParams).toEqual({ clientId: "acme", nested: { branch: "main" } })
493
+ const mutable = record.sandboxParams?.nested
494
+ if (mutable && typeof mutable === "object" && !Array.isArray(mutable))
495
+ mutable.branch = "tampered"
496
+ expect((await storage.threads.list({ projectId })).threads[0]?.sandboxParams).toEqual(
497
+ read?.sandboxParams
498
+ )
499
+ await expectAgentError(
500
+ storage.threads.create(
501
+ threadInput({
502
+ id: "unsafe",
503
+ // @ts-expect-error storage requires a JSON object
504
+ sandboxParams: [],
505
+ })
506
+ ),
507
+ "invalid_input"
508
+ )
509
+ await expectAgentError(
510
+ storage.threads.create(
511
+ threadInput({
512
+ id: "non-json",
513
+ // @ts-expect-error storage accepts normalized JSON, not typed Dates
514
+ sandboxParams: { at: new Date() },
515
+ })
516
+ ),
517
+ "invalid_input"
518
+ )
519
+ })
520
+ })
521
+
522
+ test("keeps delimiter-containing project and sandbox thread ids distinct", async () => {
523
+ // Regression proof: change the memory store key back to projectId + ":" + id.
524
+ await withStorage(async (storage) => {
525
+ await storage.threads.create(
526
+ threadInput({ projectId: "a:b", id: "c", sandboxParams: { repo: "one" } })
527
+ )
528
+ await storage.threads.create(
529
+ threadInput({ projectId: "a", id: "b:c", sandboxParams: { repo: "two" } })
530
+ )
531
+ expect(
532
+ (await storage.threads.getById({ projectId: "a:b", id: "c" }))?.sandboxParams?.repo
533
+ ).toBe("one")
534
+ expect(
535
+ (await storage.threads.getById({ projectId: "a", id: "b:c" }))?.sandboxParams?.repo
536
+ ).toBe("two")
537
+ })
538
+ })
293
539
  // ── threads ───────────────────────────────────────────────────────────────────────────────
294
540
 
295
541
  test("creates threads, isolates projects, and rejects duplicate ids", async () => {
@@ -236,8 +236,22 @@ export function runAiCostStorageContractSuite<TStorage extends AiCostStorage>(
236
236
  inputTokens: 15,
237
237
  outputTokens: 12,
238
238
  totalTokens: 27,
239
+ uncachedInputTokens: 12,
240
+ cacheReadInputTokens: 0,
239
241
  reportingStatus: "complete",
240
242
  },
243
+ usageCoverage: {
244
+ completeCallCount: 3,
245
+ fieldCallCounts: {
246
+ inputTokens: 3,
247
+ outputTokens: 3,
248
+ uncachedInputTokens: 1,
249
+ cacheReadInputTokens: 1,
250
+ cacheWriteInputTokens: 0,
251
+ textOutputTokens: 0,
252
+ reasoningOutputTokens: 0,
253
+ },
254
+ },
241
255
  costs: {
242
256
  amounts: [{ currency: "USD", amountNanos: "95000" }],
243
257
  ratedCallCount: 1,
@@ -290,6 +304,85 @@ export function runAiCostStorageContractSuite<TStorage extends AiCostStorage>(
290
304
  }
291
305
  })
292
306
 
307
+ test("retains known tokens and coverage across incomplete periods", async () => {
308
+ // Removal proof: require presentCallCount === modelCallCount in finishAggregateUsage.
309
+ // Both the in-memory and SQL-backed contract runs then lose the Sep 16/18 totals.
310
+ const storage = await fixture()
311
+ try {
312
+ // Currency fragments must merge coverage and usage exactly once per call.
313
+ for (const [index, currency] of ["USD", "EUR"].entries()) {
314
+ await storage.recordModelCallCost(
315
+ ratedCost(`partial_16_${index}`, {
316
+ components: [],
317
+ money: { currency, amountNanos: "1" },
318
+ priceSource: { ...priceSource(`partial_${index}`), sourceId: "provider-reported" },
319
+ })
320
+ )
321
+ }
322
+ const overview = await storage.queryProjectOverview({
323
+ projectId,
324
+ from: new Date("2026-09-16"),
325
+ to: new Date("2026-09-19"),
326
+ bucket: "day",
327
+ })
328
+ expect(
329
+ overview.series.map((period) => ({
330
+ calls: period.modelCallCount,
331
+ total: period.usage.totalTokens,
332
+ complete: period.usageCoverage.completeCallCount,
333
+ }))
334
+ ).toEqual([
335
+ { calls: 87, total: 4_013_782, complete: 84 },
336
+ { calls: 0, total: undefined, complete: 0 },
337
+ { calls: 29, total: 334_815, complete: 28 },
338
+ ])
339
+ for (const aggregate of [overview.totals, ...overview.models, ...overview.workflows]) {
340
+ expect(aggregate.usage).toEqual({
341
+ inputTokens: 4_348_597,
342
+ outputTokens: 0,
343
+ totalTokens: 4_348_597,
344
+ reportingStatus: "partial",
345
+ })
346
+ expect(aggregate.usageCoverage).toMatchObject({
347
+ completeCallCount: 112,
348
+ fieldCallCounts: { inputTokens: 112, outputTokens: 112, cacheReadInputTokens: 0 },
349
+ })
350
+ }
351
+ expect(overview.totals.costs.amounts).toEqual([
352
+ { currency: "EUR", amountNanos: "1" },
353
+ { currency: "USD", amountNanos: "1" },
354
+ ])
355
+ const edges = await storage.queryProjectOverview({
356
+ projectId,
357
+ from: new Date("2026-09-19"),
358
+ to: new Date("2026-09-22"),
359
+ bucket: "day",
360
+ providerId: "gateway",
361
+ modelId: "partial/model",
362
+ })
363
+ expect(edges.series[0]).toMatchObject({
364
+ usage: { inputTokens: 3, outputTokens: 4, totalTokens: 7, reportingStatus: "partial" },
365
+ usageCoverage: {
366
+ completeCallCount: 0,
367
+ fieldCallCounts: { inputTokens: 1, outputTokens: 1 },
368
+ },
369
+ })
370
+ expect(edges.series[1]).toMatchObject({
371
+ modelCallCount: 1,
372
+ usage: { reportingStatus: "unavailable" },
373
+ usageCoverage: { completeCallCount: 0 },
374
+ })
375
+ expect(edges.series[1]?.usage.totalTokens).toBeUndefined()
376
+ expect(edges.series[2]).toMatchObject({
377
+ usage: { inputTokens: 0, totalTokens: 0, reportingStatus: "partial" },
378
+ usageCoverage: { completeCallCount: 0 },
379
+ })
380
+ expect(edges.series[2]?.usage.outputTokens).toBeUndefined()
381
+ } finally {
382
+ await options.cleanup?.(storage)
383
+ }
384
+ })
385
+
293
386
  test("rejects missing usage and mismatched billed quantities", async () => {
294
387
  const storage = await fixture()
295
388
  try {
@@ -405,4 +498,45 @@ export async function seedAiCostStorageContractUsage(
405
498
  occurredAt: new Date("2026-08-03T12:00:00.000Z"),
406
499
  recordedAt: new Date("2026-08-03T12:00:00.100Z"),
407
500
  })
501
+
502
+ for (const [day, calls, complete, tokens] of [
503
+ [16, 87, 84, 4_013_782],
504
+ [18, 29, 28, 334_815],
505
+ ] as const) {
506
+ for (let index = 0; index < calls; index++) {
507
+ await usage.recordModelCall({
508
+ id: `partial_${day}_${index}`,
509
+ projectId,
510
+ executionId: otherExecutionId,
511
+ attempt: 1,
512
+ callId: `partial_${day}_${index}`,
513
+ responseId: `response_partial_${day}_${index}`,
514
+ requesterGroupIds: [],
515
+ providerId: "gateway",
516
+ requestedModelId: "partial/model",
517
+ usage: index < complete ? { inputTokens: index === 0 ? tokens : 0, outputTokens: 0 } : {},
518
+ occurredAt: new Date(`2026-09-${day}T12:00:00Z`),
519
+ })
520
+ }
521
+ }
522
+ for (const [index, day, counts] of [
523
+ [0, 19, { inputTokens: 3 }],
524
+ [1, 19, { outputTokens: 4 }],
525
+ [2, 20, {}],
526
+ [3, 21, { inputTokens: 0 }],
527
+ ] as const) {
528
+ await usage.recordModelCall({
529
+ id: `edge_${index}`,
530
+ projectId,
531
+ executionId: otherExecutionId,
532
+ attempt: 1,
533
+ callId: `edge_${index}`,
534
+ responseId: `response_edge_${index}`,
535
+ requesterGroupIds: [],
536
+ providerId: "gateway",
537
+ requestedModelId: "partial/model",
538
+ usage: counts,
539
+ occurredAt: new Date(`2026-09-${day}T12:00:00Z`),
540
+ })
541
+ }
408
542
  }