@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
@@ -1,7 +1,7 @@
1
1
  import { randomUUID } from "node:crypto"
2
2
  import type { ReadonlyJsonObject, RecordAiModelCallInput } from "../../storage"
3
3
  import type { ModelCallEndEvent, ModelUsage } from "../events"
4
- import type { LanguageModel, LanguageModelRequest } from "../language-model"
4
+ import type { LanguageModel } from "../language-model"
5
5
  import { ModelUsageRecordingError } from "./errors"
6
6
  import {
7
7
  normalizeModelCallAccounting,
@@ -9,8 +9,8 @@ import {
9
9
  requireAccountingCapabilities,
10
10
  } from "./model-call-accounting"
11
11
  import {
12
+ type AiModelCallAdmissionInput,
12
13
  aiModelCallOutputTokenAllowance,
13
- type BeforeAiModelCall,
14
14
  estimateAiModelCallInputTokens,
15
15
  estimatedAiModelCallTotalTokens,
16
16
  } from "./model-call-admission"
@@ -88,46 +88,58 @@ export class AiModelCallRecorder {
88
88
  responseFormat: request.responseFormat,
89
89
  })
90
90
  const outputTokenAllowance = aiModelCallOutputTokenAllowance(request.maxOutputTokens)
91
- let decision: Awaited<ReturnType<BeforeAiModelCall>>
92
- try {
93
- decision = await this.input.limits.beforeModelCall({
94
- ...this.identity(request),
95
- requesterGroupIds: this.input.requesterGroupIds,
96
- providerId: model.providerId,
97
- modelId: model.modelId,
98
- costEstimator: model.costEstimator,
99
- inputTokens,
100
- outputTokenAllowance,
101
- estimatedTotalTokens: estimatedAiModelCallTotalTokens(
102
- inputTokens,
103
- outputTokenAllowance
104
- ),
105
- })
106
- } catch (error) {
107
- // Execution boundaries must retain the original coded admission failure.
108
- this.admissionError = error
109
- throw error
110
- }
111
- if (decision.reservation === "active") this.reservations.add(request.callId)
91
+ await this.admitCall({
92
+ callId: request.callId,
93
+ providerId: model.providerId,
94
+ modelId: model.modelId,
95
+ costEstimator: model.costEstimator,
96
+ inputTokens,
97
+ outputTokenAllowance,
98
+ estimatedTotalTokens: estimatedAiModelCallTotalTokens(inputTokens, outputTokenAllowance),
99
+ })
112
100
  try {
113
101
  return await model.stream(request)
114
102
  } catch (error) {
115
- if (this.reservations.has(request.callId)) {
116
- await this.input.limits.markModelCallUnknown(this.identity(request))
117
- }
103
+ await this.markCallUnknown(request.callId)
118
104
  throw error
119
105
  }
120
106
  },
121
107
  }
122
108
  }
123
109
 
124
- private identity(request: Pick<LanguageModelRequest, "callId">) {
125
- return {
110
+ /** Admit one provider attempt, independently of its language or embedding protocol. */
111
+ async admitCall(
112
+ call: Omit<
113
+ AiModelCallAdmissionInput,
114
+ "projectId" | "executionId" | "attempt" | "requesterGroupIds"
115
+ >
116
+ ): Promise<void> {
117
+ this.assertHealthy()
118
+ try {
119
+ const decision = await this.input.limits.beforeModelCall({
120
+ ...call,
121
+ projectId: this.input.projectId,
122
+ executionId: this.input.executionId,
123
+ attempt: this.input.attempt,
124
+ requesterGroupIds: this.input.requesterGroupIds,
125
+ })
126
+ if (decision.reservation === "active") this.reservations.add(call.callId)
127
+ } catch (error) {
128
+ // Execution boundaries must retain the original coded admission failure.
129
+ this.admissionError = error
130
+ throw error
131
+ }
132
+ }
133
+
134
+ /** Keep an unresolved reservation when an attempted call's billable outcome is unknown. */
135
+ private async markCallUnknown(callId: string): Promise<void> {
136
+ if (!this.reservations.has(callId)) return
137
+ await this.input.limits.markModelCallUnknown({
126
138
  projectId: this.input.projectId,
127
139
  executionId: this.input.executionId,
128
140
  attempt: this.input.attempt,
129
- callId: request.callId,
130
- }
141
+ callId,
142
+ })
131
143
  }
132
144
 
133
145
  readonly onModelCallEnd = async (event: ModelCallEndEvent): Promise<void> => {
@@ -0,0 +1,81 @@
1
+ import type { ExecutionContext, RuntimeAuthorization } from "../../execution"
2
+ import { ensureExecutionRecord, executionRecordInputFromRuntime } from "../../execution/durable"
3
+ import type { SixbHostContext } from "../../runtime/types"
4
+ import type { ModelExecutionAttempt } from "./binding"
5
+ import { requireAccountingCapabilities } from "./model-call-accounting"
6
+ import { createAiModelCallLimitController } from "./model-call-limits"
7
+ import { AiModelCallRecorder } from "./model-call-recorder"
8
+ import { enqueueAiModelCallRecovery } from "./recovery-queue"
9
+
10
+ /** One accounting boundary shared by all model protocols in a bound execution. */
11
+ export class ModelExecutionSession {
12
+ private binding?: ModelExecutionAttempt
13
+ private recorder?: Promise<AiModelCallRecorder>
14
+
15
+ constructor(
16
+ private readonly runtime: SixbHostContext & { runtimeAuthorization: RuntimeAuthorization },
17
+ private readonly execution: ExecutionContext
18
+ ) {}
19
+
20
+ bind(input: ModelExecutionAttempt): void {
21
+ if (this.binding) throw new Error("[SixbModels] Execution attempt is already bound.")
22
+ this.binding = { ...input }
23
+ }
24
+
25
+ signal(signal?: AbortSignal): AbortSignal {
26
+ const binding = this.requireBinding()
27
+ return signal ? AbortSignal.any([binding.signal, signal]) : binding.signal
28
+ }
29
+
30
+ async admitEmbeddingCall(admit: () => Promise<void>): Promise<void> {
31
+ const admission = this.requireBinding().embeddingAdmission
32
+ if (admission) await admission(admit)
33
+ else await admit()
34
+ }
35
+
36
+ accounting(): Promise<AiModelCallRecorder> {
37
+ this.requireBinding()
38
+ this.recorder ??= this.createRecorder()
39
+ return this.recorder
40
+ }
41
+
42
+ private requireBinding(): ModelExecutionAttempt {
43
+ if (!this.binding) {
44
+ throw new Error(
45
+ "[SixbModels] Model calls require a bound request or worker execution attempt."
46
+ )
47
+ }
48
+ return this.binding
49
+ }
50
+
51
+ private async createRecorder(): Promise<AiModelCallRecorder> {
52
+ const runtime = this.runtime
53
+ const execution = this.execution
54
+ const { attempt } = this.requireBinding()
55
+ const storage = {
56
+ ...requireAccountingCapabilities(runtime.storage),
57
+ transaction: runtime.storage.transaction.bind(runtime.storage),
58
+ }
59
+ const { requesterGroupIds } = await ensureExecutionRecord(
60
+ runtime.storage.executions,
61
+ executionRecordInputFromRuntime({
62
+ execution,
63
+ runtimeAuthorization: runtime.runtimeAuthorization,
64
+ })
65
+ )
66
+ return new AiModelCallRecorder({
67
+ storage,
68
+ projectId: runtime.projectId,
69
+ executionId: execution.id,
70
+ attempt,
71
+ requesterGroupIds,
72
+ limits: createAiModelCallLimitController({
73
+ storage,
74
+ projectId: runtime.projectId,
75
+ requestedBy: execution.requestedBy,
76
+ requesterGroupIds,
77
+ }),
78
+ recoverAiModelCall: (input) => enqueueAiModelCallRecovery(runtime.queues.agents, input),
79
+ })
80
+ }
81
+ }
@@ -1,17 +1,14 @@
1
1
  import { runModelLoop } from "../agents/model-loop"
2
2
  import { assertProviderAccess } from "../authorization"
3
3
  import type { ExecutionContext } from "../execution"
4
- import { ensureExecutionRecord, executionRecordInputFromRuntime } from "../execution/durable"
5
4
  import type { SixbRuntimeContext } from "../runtime/types"
6
5
  import type { ModelCatalog } from "./catalog"
6
+ import { createDecisionRuntime } from "./decision/runtime"
7
7
  import { ModelProviderError, ModelStreamError, UnsupportedModelFeatureError } from "./errors"
8
8
  import type { ModelCallEndEvent } from "./events"
9
- import { type ModelExecutionAttempt, registerModelExecutionBinding } from "./execution/binding"
10
- import { requireAccountingCapabilities } from "./execution/model-call-accounting"
9
+ import { registerModelExecutionBinding } from "./execution/binding"
11
10
  import { aiModelCallOutputTokenAllowance } from "./execution/model-call-admission"
12
- import { createAiModelCallLimitController } from "./execution/model-call-limits"
13
- import { AiModelCallRecorder } from "./execution/model-call-recorder"
14
- import { enqueueAiModelCallRecovery } from "./execution/recovery-queue"
11
+ import { ModelExecutionSession } from "./execution/session"
15
12
  import type {
16
13
  InferLanguageModelOutput,
17
14
  LanguageModelGenerateInput,
@@ -29,41 +26,7 @@ export function createModelsRuntime(
29
26
  execution: ExecutionContext,
30
27
  catalog: ModelCatalog | undefined
31
28
  ): ModelsRuntime {
32
- let binding: ModelExecutionAttempt | undefined
33
- let recorder: Promise<AiModelCallRecorder> | undefined
34
-
35
- async function createRecorder(): Promise<AiModelCallRecorder> {
36
- const storage = {
37
- ...requireAccountingCapabilities(runtime.storage),
38
- transaction: runtime.storage.transaction.bind(runtime.storage),
39
- }
40
- if (!binding) {
41
- throw new Error(
42
- "[SixbModels] Generation requires a bound request or worker execution attempt."
43
- )
44
- }
45
- const { requesterGroupIds } = await ensureExecutionRecord(
46
- runtime.storage.executions,
47
- executionRecordInputFromRuntime({
48
- execution,
49
- runtimeAuthorization: runtime.runtimeAuthorization,
50
- })
51
- )
52
- return new AiModelCallRecorder({
53
- storage,
54
- projectId: runtime.projectId,
55
- executionId: execution.id,
56
- attempt: binding.attempt,
57
- requesterGroupIds,
58
- limits: createAiModelCallLimitController({
59
- storage,
60
- projectId: runtime.projectId,
61
- requestedBy: execution.requestedBy,
62
- requesterGroupIds,
63
- }),
64
- recoverAiModelCall: (input) => enqueueAiModelCallRecovery(runtime.queues.agents, input),
65
- })
66
- }
29
+ const session = runtime.modelExecution ?? new ModelExecutionSession(runtime, execution)
67
30
 
68
31
  function generate<const TShape extends LanguageModelOutputShape | undefined = undefined>(
69
32
  input: LanguageModelGenerateInput<TShape>
@@ -77,21 +40,16 @@ export function createModelsRuntime(
77
40
  ): Promise<LanguageModelGenerateResult<unknown>> {
78
41
  assertProviderAccess(runtime, execution, "models.language.generate")
79
42
  const messages = generationMessages(input)
80
- if (!binding) {
81
- throw new Error(
82
- "[SixbModels] Generation requires a bound request or worker execution attempt."
83
- )
84
- }
85
- const signal = input.signal ? AbortSignal.any([binding.signal, input.signal]) : binding.signal
43
+ const signal = session.signal(input.signal)
86
44
  signal.throwIfAborted()
87
45
  const selected = input.model
88
46
  ? catalog
89
- ? catalog.language.getByRef({
47
+ ? catalog.language?.getByRef({
90
48
  provider: input.model.providerId,
91
49
  modelId: input.model.modelId,
92
50
  })?.model
93
51
  : input.model
94
- : catalog?.language.default.model
52
+ : catalog?.language?.default.model
95
53
  if (!selected) {
96
54
  throw new Error(
97
55
  input.model
@@ -121,8 +79,7 @@ export function createModelsRuntime(
121
79
  if (typeof input.reasoning === "object" && input.reasoning.budgetTokens >= maxOutputTokens) {
122
80
  throw new TypeError("[SixbModels] Output allowance must exceed the reasoning token budget.")
123
81
  }
124
- recorder ??= createRecorder()
125
- const accounting = await recorder
82
+ const accounting = await session.accounting()
126
83
  accounting.assertHealthy()
127
84
  signal.throwIfAborted()
128
85
  let event: ModelCallEndEvent | undefined
@@ -165,9 +122,10 @@ export function createModelsRuntime(
165
122
 
166
123
  const models: ModelsRuntime = {
167
124
  language: { generate },
125
+ decision: createDecisionRuntime(runtime, execution, catalog, session),
168
126
  }
169
127
  registerModelExecutionBinding(models, (input) => {
170
- binding = { attempt: input.attempt, signal: input.signal }
128
+ session.bind(input)
171
129
  })
172
130
  return models
173
131
  }
@@ -1,4 +1,5 @@
1
1
  import type { InferSchemaOrRef, SchemaOrRef } from "../ontology"
2
+ import type { DecisionModelsRuntime } from "./decision/types"
2
3
  import type { ModelFinishReason, ModelUsage } from "./events"
3
4
  import type { LanguageModel, ModelReasoning } from "./language-model"
4
5
  import type { ModelMessage } from "./messages"
@@ -47,4 +48,5 @@ export interface LanguageModelsRuntime {
47
48
 
48
49
  export interface ModelsRuntime {
49
50
  readonly language: LanguageModelsRuntime
51
+ readonly decision: DecisionModelsRuntime
50
52
  }
@@ -1,21 +1,58 @@
1
1
  export type { JsonObject, JsonPrimitive, JsonValue } from "../json"
2
2
  export { assertJsonObject, assertJsonValue, isJsonObject, isJsonValue } from "../json"
3
3
  export type {
4
+ EmbeddingModelCatalog,
5
+ EmbeddingModelEntry,
4
6
  LanguageModelCatalog,
5
7
  LanguageModelDefinitionCatalog,
6
8
  LanguageModelEntry,
7
9
  LanguageModelRef,
8
10
  ModelCatalog,
11
+ ModelCatalogFor,
9
12
  ModelCatalogInput,
10
13
  ModelDefinitionCatalog,
14
+ ModelRef,
11
15
  } from "./catalog"
12
16
  export { createModelCatalog } from "./catalog"
17
+ export type { DecisionModelCatalog, DecisionModelEntry } from "./decision/catalog"
18
+ export { DecisionModelResponseError } from "./decision/errors"
19
+ export type { DecisionAnswerSchema, DecisionOutputShape } from "./decision/output"
20
+ export { decisionOutput } from "./decision/output"
21
+ export { question } from "./decision/questions"
22
+ export type {
23
+ ChoiceQuestion,
24
+ DecisionAnswer,
25
+ DecisionAnswers,
26
+ DecisionContent,
27
+ DecisionEvaluateInput,
28
+ DecisionEvaluateResult,
29
+ DecisionModel,
30
+ DecisionModelDefinition,
31
+ DecisionModelRequest,
32
+ DecisionModelResponseMetadata,
33
+ DecisionModelResult,
34
+ DecisionModelsRuntime,
35
+ DecisionQuestion,
36
+ DecisionQuestions,
37
+ ProbabilityQuestion,
38
+ ScoreQuestion,
39
+ } from "./decision/types"
13
40
  export type {
14
41
  LanguageModelDefinition,
15
42
  ModelDefinition,
16
43
  ModelKind,
17
44
  } from "./definitions"
18
45
  export { defineLanguageModel } from "./definitions"
46
+ export type {
47
+ EmbeddingBatchLimits,
48
+ EmbeddingModel,
49
+ EmbeddingModelDefinition,
50
+ EmbeddingModelRef,
51
+ EmbeddingModelRequest,
52
+ EmbeddingModelResponseMetadata,
53
+ EmbeddingModelResult,
54
+ } from "./embedding-model"
55
+ export { EmbeddingModelResponseError } from "./embedding-model"
19
56
  export {
20
57
  ModelCatalogUnavailableError,
21
58
  ModelProviderError,
@@ -1,10 +1,9 @@
1
1
  import type { ModelRoute, ModelUsage } from "./events"
2
- import type { LanguageModel } from "./language-model"
3
2
  import type { LanguageModelRateCard, ModelTokenPrice } from "./rate-card"
4
3
 
5
4
  /** Optional local financial enrichment cannot discard a completed, billable call. */
6
5
  export function estimateModelCall(
7
- model: LanguageModel,
6
+ model: { readonly costEstimator?: ModelCostEstimator },
8
7
  input: Parameters<ModelCostEstimator["estimate"]>[0]
9
8
  ): ModelCostEstimate {
10
9
  try {
@@ -15,6 +15,7 @@ import type {
15
15
  Schema,
16
16
  ValueType,
17
17
  } from "../ontology/types"
18
+ import { snapshotVectorProfiles } from "../ontology/vector-profiles"
18
19
  import type { CompiledSelectedObjectReadScope } from "../storage/objects/types"
19
20
 
20
21
  /** Public ontology operations that may cross an execution-bound authorization boundary. */
@@ -393,7 +394,6 @@ function snapshotPropertyQuery(
393
394
  text: query.text,
394
395
  exact: query.exact,
395
396
  facet: query.facet,
396
- vector: query.vector,
397
397
  weight: query.weight,
398
398
  }
399
399
  }
@@ -412,17 +412,21 @@ function projectSearch(
412
412
  const defaultText =
413
413
  options.preserveEmpty || selectedDefaultText?.length ? selectedDefaultText : undefined
414
414
  const exact = options.preserveEmpty || selectedExact?.length ? selectedExact : undefined
415
- const vector =
416
- search.vector &&
417
- visiblePropertyIds.has(search.vector.property) &&
418
- search.vector.source.every((propertyId) => visiblePropertyIds.has(propertyId))
419
- ? { property: search.vector.property, source: [...search.vector.source] }
420
- : undefined
415
+ const vectors =
416
+ search.vectors === undefined
417
+ ? undefined
418
+ : snapshotVectorProfiles(
419
+ Object.fromEntries(
420
+ Object.entries(search.vectors).filter(([, profile]) =>
421
+ profile.source.every((id) => visiblePropertyIds.has(id))
422
+ )
423
+ )
424
+ )
421
425
  const projected: ObjectTypeSearchMetadata = {
426
+ ...(vectors === undefined || Object.keys(vectors).length === 0 ? {} : { vectors }),
422
427
  ...(title === undefined ? {} : { title }),
423
428
  ...(defaultText === undefined ? {} : { defaultText }),
424
429
  ...(exact === undefined ? {} : { exact }),
425
- ...(vector === undefined ? {} : { vector }),
426
430
  }
427
431
  return Object.keys(projected).length > 0 || options.preserveEmpty ? projected : undefined
428
432
  }
@@ -87,6 +87,7 @@ export interface ExecutionObjectByIdHandle<
87
87
  TObjectType extends ObjectTypeWithPropertyTokens,
88
88
  TValueTypes extends readonly ValueType[],
89
89
  > {
90
+ vector: ObjectByIdHandle<TObjectType, TValueTypes>["vector"]
90
91
  get: ObjectByIdHandle<TObjectType, TValueTypes>["get"]
91
92
  listLinks: ObjectByIdHandle<TObjectType, TValueTypes>["listLinks"]
92
93
  requestAction: ObjectByIdHandle<TObjectType, TValueTypes>["requestAction"]
@@ -184,6 +185,7 @@ export function createObjectsRuntime<TOntologySources extends readonly OntologyS
184
185
  projectId: runtime.projectId,
185
186
  broker: runtime.broker,
186
187
  ontology: runtime.ontology,
188
+ embeddingModels: runtime.embeddingModels,
187
189
  actionRegistry: runtime.actionRegistry,
188
190
  events: runtime.events,
189
191
  storage: runtime.storage,
@@ -1,5 +1,6 @@
1
1
  import { type AuthorizationContext, assertAuthorized } from "../../authorization"
2
2
  import type { RuntimeAuthorization } from "../../execution/types"
3
+ import type { EmbeddingModelCatalog } from "../../models/catalog"
3
4
  import type { OntologyRegistry } from "../../ontology"
4
5
  import type {
5
6
  CountObjectsResult,
@@ -17,6 +18,7 @@ import type {
17
18
  QueryObjectsResult,
18
19
  } from "../../storage"
19
20
  import { linkBatchKey, MAX_OBJECT_READ_FACETS, objectBatchKey } from "../../storage"
21
+ import { resolveVectorSearchText } from "../vectors/resolve-query"
20
22
  import {
21
23
  ObjectQueryExecutionError,
22
24
  ObjectQueryPlanningError,
@@ -50,6 +52,7 @@ export interface QueryExecutorOptions
50
52
  | "hasFacetObjects"
51
53
  > {
52
54
  ontology: OntologyRegistry
55
+ embeddingModels?: EmbeddingModelCatalog
53
56
  storage: ObjectReadStorage
54
57
  maxLimit?: number
55
58
  maxPageSize?: number
@@ -68,6 +71,7 @@ export interface QueryExecutorOptions
68
71
  }
69
72
 
70
73
  export interface ExecuteObjectQueryInput {
74
+ signal?: AbortSignal
71
75
  projectId: string
72
76
  query: ObjectQuery
73
77
  includeTotal?: boolean
@@ -179,7 +183,12 @@ export async function executeObjectQuery(
179
183
  }
180
184
  const result = await options.storage.queryObjects({
181
185
  projectId: input.projectId,
182
- query: plan.query,
186
+ query: await resolveVectorSearchText(
187
+ plan.query,
188
+ options.ontology,
189
+ options.embeddingModels,
190
+ input.signal
191
+ ),
183
192
  includeTotal: input.includeTotal,
184
193
  })
185
194
  return { ...result, plan }
@@ -244,7 +253,7 @@ export async function countObjects(
244
253
  }
245
254
  const result = await options.storage.countObjects({
246
255
  projectId: input.projectId,
247
- query: plan.query,
256
+ query: await resolveVectorSearchText(plan.query, options.ontology, options.embeddingModels),
248
257
  })
249
258
  return { ...result, plan }
250
259
  }
@@ -305,7 +314,7 @@ export async function existsObjects(
305
314
  }
306
315
  const result = await options.storage.existsObjects({
307
316
  projectId: input.projectId,
308
- query: plan.query,
317
+ query: await resolveVectorSearchText(plan.query, options.ontology, options.embeddingModels),
309
318
  })
310
319
  return { ...result, plan }
311
320
  }
@@ -367,7 +376,7 @@ export async function facetObjects(
367
376
  }
368
377
  const result = await options.storage.facetObjects({
369
378
  projectId: input.projectId,
370
- query: plan.query,
379
+ query: await resolveVectorSearchText(plan.query, options.ontology, options.embeddingModels),
371
380
  facets,
372
381
  })
373
382
  return { ...result, plan }
@@ -119,8 +119,13 @@ function buildExplainNode(query: ObjectQuery, path: string): ObjectQueryExplainN
119
119
  return {
120
120
  path,
121
121
  kind: query.kind,
122
- summary: `vector ${query.propertyId} k=${query.k}`,
123
- details: { propertyId: query.propertyId, dimensions: query.vector.length, k: query.k },
122
+ summary: `vector profile ${query.profile} k=${query.k}`,
123
+ details: {
124
+ profile: query.profile,
125
+ input: typeof query.vector === "string" ? "text" : "vector",
126
+ dimensions: typeof query.vector === "string" ? undefined : query.vector.length,
127
+ k: query.k,
128
+ },
124
129
  children: [buildExplainNode(query.input, `${path}.input`)],
125
130
  }
126
131
  case "traverse":
@@ -1,3 +1,5 @@
1
+ export { normalizeVector, vectorSearchCandidateLimit } from "../vectors/profile"
2
+ export { hasVectorProfile, isVectorProfileQuery } from "../vectors/query"
1
3
  export type { ObjectQueryPlanningIssue } from "./errors"
2
4
  export {
3
5
  ObjectQueryExecutionError,
@@ -77,8 +77,12 @@ export interface ObjectQueryText {
77
77
  export interface ObjectQueryVector {
78
78
  kind: "vector"
79
79
  input: ObjectQuery
80
- vector: readonly number[]
81
- propertyId: string
80
+ /** Text is embedded by the server using the named profile's model before storage execution. */
81
+ vector: readonly number[] | string
82
+ profile: string
83
+ /** Populated by canonical validation, never trusted from the wire. */
84
+ configuration?: string
85
+ source?: readonly string[]
82
86
  k: number
83
87
  }
84
88
 
@@ -39,7 +39,11 @@ function normalizeNode(query: ObjectQuery): ObjectQuery {
39
39
  : undefined,
40
40
  }
41
41
  case "vector":
42
- return { ...query, input: normalizeObjectQuery(query.input), vector: [...query.vector] }
42
+ return {
43
+ ...query,
44
+ input: normalizeObjectQuery(query.input),
45
+ vector: typeof query.vector === "string" ? query.vector : [...query.vector],
46
+ }
43
47
  case "traverse":
44
48
  return { ...query, input: normalizeObjectQuery(query.input) }
45
49
  case "set":