@sixb/core 0.1.10 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (702) hide show
  1. package/dist/actions/builders/params.d.ts +1 -22
  2. package/dist/actions/builders/params.d.ts.map +1 -1
  3. package/dist/actions/index.js +29 -28
  4. package/dist/actions/index.js.map +1 -1
  5. package/dist/actions/types/params.d.ts +10 -44
  6. package/dist/actions/types/params.d.ts.map +1 -1
  7. package/dist/actions/validation.d.ts.map +1 -1
  8. package/dist/actions/worker.js +3 -2
  9. package/dist/actions/worker.js.map +2 -2
  10. package/dist/agents/errors.d.ts +1 -1
  11. package/dist/agents/errors.d.ts.map +1 -1
  12. package/dist/agents/execution.d.ts +15 -9
  13. package/dist/agents/execution.d.ts.map +1 -1
  14. package/dist/agents/ids.d.ts +2 -0
  15. package/dist/agents/ids.d.ts.map +1 -1
  16. package/dist/agents/index.d.ts +1 -1
  17. package/dist/agents/index.d.ts.map +1 -1
  18. package/dist/agents/index.js +48 -42
  19. package/dist/agents/index.js.map +1 -1
  20. package/dist/agents/request.d.ts.map +1 -1
  21. package/dist/agents/sandbox.d.ts +5 -0
  22. package/dist/agents/sandbox.d.ts.map +1 -0
  23. package/dist/agents/streams/index.js +4 -3
  24. package/dist/agents/streams/index.js.map +1 -1
  25. package/dist/agents/streams/internal.js +4 -3
  26. package/dist/agents/streams/internal.js.map +1 -1
  27. package/dist/agents/validation.d.ts.map +1 -1
  28. package/dist/auth/index.js +8 -6
  29. package/dist/auth/index.js.map +1 -1
  30. package/dist/authorization/index.js +5 -4
  31. package/dist/authorization/index.js.map +1 -1
  32. package/dist/blob-storage/types.d.ts +4 -1
  33. package/dist/blob-storage/types.d.ts.map +1 -1
  34. package/dist/bootstrap/index.js +50 -46
  35. package/dist/bootstrap/index.js.map +1 -1
  36. package/dist/{chunk-17kfctj6.js → chunk-0mza4xb2.js} +2 -2
  37. package/dist/chunk-2c4j899j.js.map +1 -1
  38. package/dist/{chunk-g00bfdq6.js → chunk-2cxv584m.js} +12 -56
  39. package/dist/{chunk-g00bfdq6.js.map → chunk-2cxv584m.js.map} +3 -3
  40. package/dist/{chunk-e0d1rzef.js → chunk-2h63nrde.js} +380 -97
  41. package/dist/chunk-2h63nrde.js.map +20 -0
  42. package/dist/{chunk-rtk71jzp.js → chunk-3bnt2wna.js} +2 -2
  43. package/dist/{chunk-awbhdqyc.js → chunk-3ghw2t5q.js} +1 -1
  44. package/dist/{chunk-b19g04jk.js → chunk-3h7ctayx.js} +1 -1
  45. package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
  46. package/dist/{chunk-5hz0fnca.js → chunk-4k53sm9e.js} +6 -2
  47. package/dist/chunk-4k53sm9e.js.map +12 -0
  48. package/dist/chunk-4ph94nhd.js +81 -0
  49. package/dist/chunk-4ph94nhd.js.map +10 -0
  50. package/dist/chunk-58geavnf.js +29 -0
  51. package/dist/chunk-58geavnf.js.map +10 -0
  52. package/dist/{chunk-0y39rgsb.js → chunk-5tetw4hn.js} +1 -1
  53. package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
  54. package/dist/chunk-69266efg.js.map +12 -0
  55. package/dist/{chunk-g7knyczr.js → chunk-6ma8dvzc.js} +121 -53
  56. package/dist/chunk-6ma8dvzc.js.map +15 -0
  57. package/dist/{chunk-skz0hst3.js → chunk-7c2g3sz9.js} +6 -86
  58. package/dist/{chunk-skz0hst3.js.map → chunk-7c2g3sz9.js.map} +3 -3
  59. package/dist/{chunk-976rxdpx.js → chunk-7qnvhtcd.js} +93 -17
  60. package/dist/{chunk-976rxdpx.js.map → chunk-7qnvhtcd.js.map} +7 -6
  61. package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
  62. package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
  63. package/dist/chunk-91kcnbf0.js.map +10 -0
  64. package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
  65. package/dist/chunk-96yw3pwd.js.map +10 -0
  66. package/dist/chunk-98cw09sw.js.map +2 -2
  67. package/dist/{chunk-93csa55g.js → chunk-axndsymr.js} +10 -4
  68. package/dist/chunk-axndsymr.js.map +11 -0
  69. package/dist/{chunk-r7fj830t.js → chunk-b768c93y.js} +100 -29
  70. package/dist/chunk-b768c93y.js.map +36 -0
  71. package/dist/{chunk-dz5h08xv.js → chunk-bbaa1fet.js} +24 -9
  72. package/dist/{chunk-dz5h08xv.js.map → chunk-bbaa1fet.js.map} +4 -4
  73. package/dist/{chunk-7apz6hg4.js → chunk-bet1rb9h.js} +8 -4
  74. package/dist/chunk-bet1rb9h.js.map +10 -0
  75. package/dist/{chunk-358caqf5.js → chunk-bfjv1adk.js} +2 -2
  76. package/dist/{chunk-b0ec55a1.js → chunk-bg2bs62d.js} +5 -5
  77. package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
  78. package/dist/chunk-cd234ba4.js.map +14 -0
  79. package/dist/chunk-d62kjtbg.js.map +1 -1
  80. package/dist/chunk-dmn70ztd.js.map +2 -2
  81. package/dist/{chunk-28ja2cjs.js → chunk-e1f1sqba.js} +39 -53
  82. package/dist/{chunk-28ja2cjs.js.map → chunk-e1f1sqba.js.map} +5 -6
  83. package/dist/{chunk-ap0g1g74.js → chunk-eyjzgav0.js} +39 -4
  84. package/dist/chunk-eyjzgav0.js.map +12 -0
  85. package/dist/{chunk-rb1xx120.js → chunk-f06sf7rr.js} +9 -5
  86. package/dist/chunk-f06sf7rr.js.map +11 -0
  87. package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
  88. package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
  89. package/dist/{chunk-38zv5rkr.js → chunk-g2gezsg5.js} +1 -1
  90. package/dist/{chunk-38zv5rkr.js.map → chunk-g2gezsg5.js.map} +2 -2
  91. package/dist/{chunk-nmbxcaqx.js → chunk-g50nxqs5.js} +53 -66
  92. package/dist/chunk-g50nxqs5.js.map +18 -0
  93. package/dist/{chunk-1824gssz.js → chunk-gswwr35f.js} +4 -4
  94. package/dist/{chunk-92vk7gta.js → chunk-gzt6v1ja.js} +1 -1
  95. package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
  96. package/dist/chunk-hgqpcmyr.js.map +12 -0
  97. package/dist/{chunk-gqh45d2n.js → chunk-hkw8rykk.js} +2 -2
  98. package/dist/{chunk-f4w3yp4f.js → chunk-hzw7yv5g.js} +104 -21
  99. package/dist/chunk-hzw7yv5g.js.map +13 -0
  100. package/dist/{chunk-5c7ga8zz.js → chunk-jjwhy3rs.js} +5 -5
  101. package/dist/chunk-kept9cdd.js +29 -0
  102. package/dist/chunk-kept9cdd.js.map +10 -0
  103. package/dist/{chunk-ftv470j8.js → chunk-m7cx05vp.js} +247 -16
  104. package/dist/{chunk-ftv470j8.js.map → chunk-m7cx05vp.js.map} +14 -10
  105. package/dist/{chunk-qyeptdyv.js → chunk-mdnw7nj8.js} +10 -6
  106. package/dist/chunk-mdnw7nj8.js.map +15 -0
  107. package/dist/{chunk-5p1v802y.js → chunk-nzsy3xrp.js} +253 -86
  108. package/dist/chunk-nzsy3xrp.js.map +46 -0
  109. package/dist/chunk-p1683c0v.js +104 -0
  110. package/dist/chunk-p1683c0v.js.map +11 -0
  111. package/dist/chunk-p6r1ex7t.js +93 -0
  112. package/dist/chunk-p6r1ex7t.js.map +10 -0
  113. package/dist/{chunk-p5vcsw9c.js → chunk-qm535afa.js} +10 -10
  114. package/dist/{chunk-p5vcsw9c.js.map → chunk-qm535afa.js.map} +4 -4
  115. package/dist/chunk-r5zythxp.js +552 -0
  116. package/dist/chunk-r5zythxp.js.map +17 -0
  117. package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
  118. package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
  119. package/dist/{chunk-t1f4f1ve.js → chunk-sfypc7mk.js} +18 -13
  120. package/dist/{chunk-t1f4f1ve.js.map → chunk-sfypc7mk.js.map} +3 -3
  121. package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
  122. package/dist/chunk-t6f3tdnr.js.map +10 -0
  123. package/dist/{chunk-bn138h9w.js → chunk-t7dzd1tm.js} +3 -3
  124. package/dist/{chunk-pr2h4bv4.js → chunk-tg4g4zh0.js} +3 -3
  125. package/dist/chunk-vpxss818.js +56 -0
  126. package/dist/chunk-vpxss818.js.map +10 -0
  127. package/dist/{chunk-ms2tmn1k.js → chunk-vsg0g7h9.js} +53 -57
  128. package/dist/chunk-vsg0g7h9.js.map +17 -0
  129. package/dist/{chunk-8vj0rjgs.js → chunk-wjffn5m4.js} +1 -1
  130. package/dist/{chunk-nt99sxd6.js → chunk-x9tmx3fc.js} +18 -24
  131. package/dist/chunk-x9tmx3fc.js.map +14 -0
  132. package/dist/{chunk-agbbygvh.js → chunk-xn686q2e.js} +8 -8
  133. package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
  134. package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
  135. package/dist/{chunk-v2vcg0w6.js → chunk-xtfryrfb.js} +2 -2
  136. package/dist/chunk-y0v18c2j.js +363 -0
  137. package/dist/chunk-y0v18c2j.js.map +14 -0
  138. package/dist/{chunk-72w2pxk7.js → chunk-y1ahv8b7.js} +11 -3
  139. package/dist/{chunk-72w2pxk7.js.map → chunk-y1ahv8b7.js.map} +3 -3
  140. package/dist/chunk-y3ev53cq.js +84 -0
  141. package/dist/chunk-y3ev53cq.js.map +10 -0
  142. package/dist/{chunk-p6a4npdx.js → chunk-ybhz3j9g.js} +362 -60
  143. package/dist/chunk-ybhz3j9g.js.map +63 -0
  144. package/dist/{chunk-z30bv4ga.js → chunk-yxb4c62x.js} +3 -2
  145. package/dist/{chunk-z30bv4ga.js.map → chunk-yxb4c62x.js.map} +3 -3
  146. package/dist/chunk-z3y5kg1x.js +14 -0
  147. package/dist/chunk-z3y5kg1x.js.map +10 -0
  148. package/dist/connectors/connections/command-context.d.ts +2 -0
  149. package/dist/connectors/connections/command-context.d.ts.map +1 -1
  150. package/dist/connectors/connections/contracts.d.ts +1 -1
  151. package/dist/connectors/connections/contracts.d.ts.map +1 -1
  152. package/dist/connectors/connections/execution.d.ts +1 -0
  153. package/dist/connectors/connections/execution.d.ts.map +1 -1
  154. package/dist/connectors/connections/runs.d.ts +1 -0
  155. package/dist/connectors/connections/runs.d.ts.map +1 -1
  156. package/dist/connectors/connections/service.d.ts +2 -0
  157. package/dist/connectors/connections/service.d.ts.map +1 -1
  158. package/dist/datasets/validation.d.ts +4 -0
  159. package/dist/datasets/validation.d.ts.map +1 -1
  160. package/dist/datasets/write.d.ts.map +1 -1
  161. package/dist/datasets/write.js +5 -4
  162. package/dist/datasets/write.js.map +1 -1
  163. package/dist/error-reporting/capability.d.ts +3 -2
  164. package/dist/error-reporting/capability.d.ts.map +1 -1
  165. package/dist/error-reporting/internal.js +5 -4
  166. package/dist/error-reporting/internal.js.map +1 -1
  167. package/dist/error-reporting/reports.d.ts +10 -0
  168. package/dist/error-reporting/reports.d.ts.map +1 -1
  169. package/dist/error-reporting/types.d.ts +10 -2
  170. package/dist/error-reporting/types.d.ts.map +1 -1
  171. package/dist/errors/catalog.d.ts +12 -0
  172. package/dist/errors/catalog.d.ts.map +1 -1
  173. package/dist/errors/failure-message.d.ts +8 -0
  174. package/dist/errors/failure-message.d.ts.map +1 -0
  175. package/dist/errors/internal.d.ts.map +1 -1
  176. package/dist/errors/internal.js +3 -2
  177. package/dist/errors/internal.js.map +1 -1
  178. package/dist/events/index.js +5 -4
  179. package/dist/events/index.js.map +1 -1
  180. package/dist/events/outbox-dispatcher.d.ts +2 -2
  181. package/dist/events/outbox-dispatcher.d.ts.map +1 -1
  182. package/dist/execution/agent.js +44 -41
  183. package/dist/execution/agent.js.map +1 -1
  184. package/dist/execution/authorization.d.ts.map +1 -1
  185. package/dist/execution/authorized-object-reader.d.ts +3 -0
  186. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  187. package/dist/execution/kernel-operation.d.ts +4 -0
  188. package/dist/execution/kernel-operation.d.ts.map +1 -0
  189. package/dist/execution/primitive.js +44 -41
  190. package/dist/execution/primitive.js.map +2 -2
  191. package/dist/execution/request.js +45 -42
  192. package/dist/execution/request.js.map +2 -2
  193. package/dist/execution/types.d.ts +6 -0
  194. package/dist/execution/types.d.ts.map +1 -1
  195. package/dist/index.d.ts +15 -5
  196. package/dist/index.d.ts.map +1 -1
  197. package/dist/index.js +68 -59
  198. package/dist/index.js.map +1 -1
  199. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  200. package/dist/lake-storage/index.js +5 -4
  201. package/dist/lake-storage/index.js.map +1 -1
  202. package/dist/lake-storage/types.d.ts +2 -0
  203. package/dist/lake-storage/types.d.ts.map +1 -1
  204. package/dist/maintenance/ontology-maintenance.d.ts.map +1 -1
  205. package/dist/maintenance/types.d.ts +1 -1
  206. package/dist/maintenance/types.d.ts.map +1 -1
  207. package/dist/materialization/errors.d.ts +1 -1
  208. package/dist/materialization/errors.d.ts.map +1 -1
  209. package/dist/materialization/index.d.ts +1 -0
  210. package/dist/materialization/index.d.ts.map +1 -1
  211. package/dist/materialization/index.js +3 -3
  212. package/dist/materialization/model.d.ts +2 -0
  213. package/dist/materialization/model.d.ts.map +1 -1
  214. package/dist/materialization/vectors.d.ts +19 -0
  215. package/dist/materialization/vectors.d.ts.map +1 -0
  216. package/dist/materializer/context.d.ts.map +1 -1
  217. package/dist/materializer/edits/commit.d.ts.map +1 -1
  218. package/dist/materializer/edits/vector-authority.d.ts +6 -0
  219. package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
  220. package/dist/materializer/edits/vectors.d.ts +6 -0
  221. package/dist/materializer/edits/vectors.d.ts.map +1 -0
  222. package/dist/materializer/effective/validate.d.ts.map +1 -1
  223. package/dist/materializer/effective/vector-indexing.d.ts +7 -0
  224. package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
  225. package/dist/materializer/effective/vectors.d.ts +6 -0
  226. package/dist/materializer/effective/vectors.d.ts.map +1 -0
  227. package/dist/materializer/execution/work-executor.d.ts +2 -1
  228. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  229. package/dist/materializer/index.js +26 -25
  230. package/dist/materializer/index.js.map +1 -1
  231. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  232. package/dist/models/catalog-index.d.ts +15 -0
  233. package/dist/models/catalog-index.d.ts.map +1 -0
  234. package/dist/models/catalog.d.ts +27 -6
  235. package/dist/models/catalog.d.ts.map +1 -1
  236. package/dist/models/decision/catalog.d.ts +12 -0
  237. package/dist/models/decision/catalog.d.ts.map +1 -0
  238. package/dist/models/decision/errors.d.ts +7 -0
  239. package/dist/models/decision/errors.d.ts.map +1 -0
  240. package/dist/models/decision/output.d.ts +50 -0
  241. package/dist/models/decision/output.d.ts.map +1 -0
  242. package/dist/models/decision/questions.d.ts +14 -0
  243. package/dist/models/decision/questions.d.ts.map +1 -0
  244. package/dist/models/decision/runtime.d.ts +7 -0
  245. package/dist/models/decision/runtime.d.ts.map +1 -0
  246. package/dist/models/decision/types.d.ts +92 -0
  247. package/dist/models/decision/types.d.ts.map +1 -0
  248. package/dist/models/decision/validation.d.ts +7 -0
  249. package/dist/models/decision/validation.d.ts.map +1 -0
  250. package/dist/models/definitions.d.ts +8 -1
  251. package/dist/models/definitions.d.ts.map +1 -1
  252. package/dist/models/embedding-model.d.ts +60 -0
  253. package/dist/models/embedding-model.d.ts.map +1 -0
  254. package/dist/models/execution/binding.d.ts +2 -0
  255. package/dist/models/execution/binding.d.ts.map +1 -1
  256. package/dist/models/execution/embedding.d.ts +5 -0
  257. package/dist/models/execution/embedding.d.ts.map +1 -0
  258. package/dist/models/execution/index.js +29 -26
  259. package/dist/models/execution/index.js.map +1 -1
  260. package/dist/models/execution/model-call-recorder.d.ts +5 -1
  261. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  262. package/dist/models/execution/session.d.ts +21 -0
  263. package/dist/models/execution/session.d.ts.map +1 -0
  264. package/dist/models/execution.d.ts.map +1 -1
  265. package/dist/models/generation-types.d.ts +2 -0
  266. package/dist/models/generation-types.d.ts.map +1 -1
  267. package/dist/models/index.d.ts +9 -1
  268. package/dist/models/index.d.ts.map +1 -1
  269. package/dist/models/index.js +17 -7
  270. package/dist/models/index.js.map +1 -1
  271. package/dist/models/pricing.d.ts +3 -2
  272. package/dist/models/pricing.d.ts.map +1 -1
  273. package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
  274. package/dist/objects/execution.d.ts +1 -0
  275. package/dist/objects/execution.d.ts.map +1 -1
  276. package/dist/objects/index.js +29 -28
  277. package/dist/objects/index.js.map +1 -1
  278. package/dist/objects/query/executor.d.ts +3 -0
  279. package/dist/objects/query/executor.d.ts.map +1 -1
  280. package/dist/objects/query/index.d.ts +2 -0
  281. package/dist/objects/query/index.d.ts.map +1 -1
  282. package/dist/objects/query/index.js +34 -24
  283. package/dist/objects/query/index.js.map +1 -1
  284. package/dist/objects/query/ir.d.ts +6 -2
  285. package/dist/objects/query/ir.d.ts.map +1 -1
  286. package/dist/objects/query/normalize.d.ts.map +1 -1
  287. package/dist/objects/query/validate.d.ts.map +1 -1
  288. package/dist/objects/sdk/object-handle.d.ts +5 -0
  289. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  290. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  291. package/dist/objects/sdk/query-executor.d.ts +2 -0
  292. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  293. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  294. package/dist/objects/vectors/handle.d.ts +4 -0
  295. package/dist/objects/vectors/handle.d.ts.map +1 -0
  296. package/dist/objects/vectors/indexing-batch.d.ts +6 -0
  297. package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
  298. package/dist/objects/vectors/indexing-generate.d.ts +11 -0
  299. package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
  300. package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
  301. package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
  302. package/dist/objects/vectors/indexing-shared.d.ts +17 -0
  303. package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
  304. package/dist/objects/vectors/indexing-single.d.ts +4 -0
  305. package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
  306. package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
  307. package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
  308. package/dist/objects/vectors/indexing.d.ts +7 -0
  309. package/dist/objects/vectors/indexing.d.ts.map +1 -0
  310. package/dist/objects/vectors/profile.d.ts +13 -0
  311. package/dist/objects/vectors/profile.d.ts.map +1 -0
  312. package/dist/objects/vectors/query.d.ts +5 -0
  313. package/dist/objects/vectors/query.d.ts.map +1 -0
  314. package/dist/objects/vectors/resolve-query.d.ts +6 -0
  315. package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
  316. package/dist/objects/vectors/types.d.ts +11 -0
  317. package/dist/objects/vectors/types.d.ts.map +1 -0
  318. package/dist/ontology/index.d.ts +2 -1
  319. package/dist/ontology/index.d.ts.map +1 -1
  320. package/dist/ontology/index.js +5 -5
  321. package/dist/ontology/index.js.map +1 -1
  322. package/dist/ontology/internal.js +5 -4
  323. package/dist/ontology/internal.js.map +1 -1
  324. package/dist/ontology/registry.d.ts.map +1 -1
  325. package/dist/ontology/types.d.ts +8 -9
  326. package/dist/ontology/types.d.ts.map +1 -1
  327. package/dist/ontology/validation/definition.d.ts +3 -0
  328. package/dist/ontology/validation/definition.d.ts.map +1 -0
  329. package/dist/ontology/validation/properties.d.ts.map +1 -1
  330. package/dist/ontology/validation/query.d.ts.map +1 -1
  331. package/dist/ontology/validation/schema.d.ts +1 -1
  332. package/dist/ontology/validation/schema.d.ts.map +1 -1
  333. package/dist/ontology/vector-profiles.d.ts +4 -0
  334. package/dist/ontology/vector-profiles.d.ts.map +1 -0
  335. package/dist/pipelines/index.js +28 -27
  336. package/dist/pipelines/index.js.map +1 -1
  337. package/dist/projections/internal.js +24 -23
  338. package/dist/projections/internal.js.map +1 -1
  339. package/dist/query.js +2 -2
  340. package/dist/queues/in-memory.d.ts +2 -1
  341. package/dist/queues/in-memory.d.ts.map +1 -1
  342. package/dist/queues/index.d.ts +1 -1
  343. package/dist/queues/index.d.ts.map +1 -1
  344. package/dist/queues/index.js +1 -1
  345. package/dist/queues/types.d.ts +5 -0
  346. package/dist/queues/types.d.ts.map +1 -1
  347. package/dist/runtime/create.d.ts +4 -3
  348. package/dist/runtime/create.d.ts.map +1 -1
  349. package/dist/runtime/host.d.ts +9 -6
  350. package/dist/runtime/host.d.ts.map +1 -1
  351. package/dist/runtime/internal.d.ts +3 -0
  352. package/dist/runtime/internal.d.ts.map +1 -1
  353. package/dist/runtime/internal.js +47 -1
  354. package/dist/runtime/internal.js.map +1 -1
  355. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  356. package/dist/runtime/sixb.d.ts +9 -4
  357. package/dist/runtime/sixb.d.ts.map +1 -1
  358. package/dist/runtime/types.d.ts +15 -3
  359. package/dist/runtime/types.d.ts.map +1 -1
  360. package/dist/sandboxes/auth.d.ts +16 -0
  361. package/dist/sandboxes/auth.d.ts.map +1 -0
  362. package/dist/sandboxes/config.d.ts +5 -0
  363. package/dist/sandboxes/config.d.ts.map +1 -0
  364. package/dist/sandboxes/configuration.d.ts +41 -0
  365. package/dist/sandboxes/configuration.d.ts.map +1 -0
  366. package/dist/sandboxes/environment.d.ts +13 -0
  367. package/dist/sandboxes/environment.d.ts.map +1 -0
  368. package/dist/sandboxes/errors.d.ts +1 -1
  369. package/dist/sandboxes/errors.d.ts.map +1 -1
  370. package/dist/sandboxes/index.d.ts +6 -1
  371. package/dist/sandboxes/index.d.ts.map +1 -1
  372. package/dist/sandboxes/index.js +16 -3
  373. package/dist/sandboxes/index.js.map +1 -1
  374. package/dist/sandboxes/sandbox.d.ts +35 -3
  375. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  376. package/dist/shared/params/builders.d.ts +25 -0
  377. package/dist/shared/params/builders.d.ts.map +1 -0
  378. package/dist/shared/params/types.d.ts +47 -0
  379. package/dist/shared/params/types.d.ts.map +1 -0
  380. package/dist/shared/params/validation.d.ts +15 -0
  381. package/dist/shared/params/validation.d.ts.map +1 -0
  382. package/dist/shares/internal.js +23 -22
  383. package/dist/shares/internal.js.map +2 -2
  384. package/dist/storage/action-runs/failure.js +4 -3
  385. package/dist/storage/action-runs/failure.js.map +1 -1
  386. package/dist/storage/action-runs/provider.js +1 -1
  387. package/dist/storage/agents/in-memory.d.ts +2 -1
  388. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  389. package/dist/storage/agents/index.d.ts +1 -1
  390. package/dist/storage/agents/index.d.ts.map +1 -1
  391. package/dist/storage/agents/provider.d.ts +5 -1
  392. package/dist/storage/agents/provider.d.ts.map +1 -1
  393. package/dist/storage/agents/provider.js +8 -4
  394. package/dist/storage/agents/provider.js.map +1 -1
  395. package/dist/storage/agents/types.d.ts +49 -0
  396. package/dist/storage/agents/types.d.ts.map +1 -1
  397. package/dist/storage/ai-cost/analytics.d.ts +1 -0
  398. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  399. package/dist/storage/ai-cost/index.d.ts +1 -1
  400. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  401. package/dist/storage/ai-cost/provider.js +2 -2
  402. package/dist/storage/ai-cost/types.d.ts +14 -2
  403. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  404. package/dist/storage/ai-limits/enforcement.js +4 -3
  405. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  406. package/dist/storage/connector-connections/in-memory.d.ts +1 -0
  407. package/dist/storage/connector-connections/in-memory.d.ts.map +1 -1
  408. package/dist/storage/connector-connections/provider/connections.d.ts.map +1 -1
  409. package/dist/storage/connector-connections/provider/runs.d.ts +1 -0
  410. package/dist/storage/connector-connections/provider/runs.d.ts.map +1 -1
  411. package/dist/storage/connector-connections/provider/shared.d.ts +1 -0
  412. package/dist/storage/connector-connections/provider/shared.d.ts.map +1 -1
  413. package/dist/storage/connector-connections/provider.d.ts +1 -0
  414. package/dist/storage/connector-connections/provider.d.ts.map +1 -1
  415. package/dist/storage/connector-connections/provider.js +12 -17
  416. package/dist/storage/connector-connections/provider.js.map +6 -6
  417. package/dist/storage/connector-connections/types.d.ts +3 -1
  418. package/dist/storage/connector-connections/types.d.ts.map +1 -1
  419. package/dist/storage/executions/provider.d.ts +3 -3
  420. package/dist/storage/executions/provider.d.ts.map +1 -1
  421. package/dist/storage/executions/provider.js +13 -11
  422. package/dist/storage/executions/provider.js.map +3 -3
  423. package/dist/storage/executions/types.d.ts +3 -0
  424. package/dist/storage/executions/types.d.ts.map +1 -1
  425. package/dist/storage/executions/validation.d.ts.map +1 -1
  426. package/dist/storage/index.d.ts +5 -3
  427. package/dist/storage/index.d.ts.map +1 -1
  428. package/dist/storage/index.js +25 -22
  429. package/dist/storage/index.js.map +1 -1
  430. package/dist/storage/internal.js +2 -2
  431. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  432. package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
  433. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  434. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  435. package/dist/storage/objects/in-memory/storage.d.ts +7 -0
  436. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  437. package/dist/storage/objects/types.d.ts +2 -0
  438. package/dist/storage/objects/types.d.ts.map +1 -1
  439. package/dist/storage/ontology/commits.d.ts +1 -0
  440. package/dist/storage/ontology/commits.d.ts.map +1 -1
  441. package/dist/storage/ontology/in-memory/index.d.ts +4 -0
  442. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  443. package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
  444. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  445. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
  446. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  447. package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
  448. package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
  449. package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
  450. package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
  451. package/dist/storage/ontology/index.d.ts +6 -0
  452. package/dist/storage/ontology/index.d.ts.map +1 -1
  453. package/dist/storage/ontology/outbox.d.ts +1 -0
  454. package/dist/storage/ontology/outbox.d.ts.map +1 -1
  455. package/dist/storage/ontology/provider.js +2 -2
  456. package/dist/storage/ontology/vector-indexing.d.ts +94 -0
  457. package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
  458. package/dist/storage/ontology/vectors.d.ts +56 -0
  459. package/dist/storage/ontology/vectors.d.ts.map +1 -0
  460. package/dist/storage/operation-scope.d.ts.map +1 -1
  461. package/dist/storage/operation-scope.js +1 -1
  462. package/dist/storage/projection-runs/provider.js +4 -3
  463. package/dist/storage/projection-runs/provider.js.map +1 -1
  464. package/dist/storage/types.d.ts +1 -1
  465. package/dist/storage/types.d.ts.map +1 -1
  466. package/dist/storage/workflow-runs/provider.js +9 -7
  467. package/dist/storage/workflow-runs/provider.js.map +1 -1
  468. package/dist/syncs/index.js +29 -28
  469. package/dist/syncs/index.js.map +1 -1
  470. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  471. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  472. package/dist/testing/index.js +488 -81
  473. package/dist/testing/index.js.map +10 -10
  474. package/dist/testing/lake-storage-contract.d.ts.map +1 -1
  475. package/dist/testing/object-query-contract.d.ts.map +1 -1
  476. package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
  477. package/dist/testing/ontology-storage-contract.d.ts.map +1 -1
  478. package/dist/testing/queues-contract.d.ts.map +1 -1
  479. package/dist/webhooks/internal.js +24 -23
  480. package/dist/webhooks/internal.js.map +2 -2
  481. package/dist/workers/index.js +3 -2
  482. package/dist/workers/index.js.map +2 -2
  483. package/dist/workflows/failure.d.ts.map +1 -1
  484. package/dist/workflows/index.js +47 -43
  485. package/dist/workflows/index.js.map +1 -1
  486. package/package.json +1 -1
  487. package/src/actions/builders/params.ts +1 -48
  488. package/src/actions/types/params.ts +14 -74
  489. package/src/actions/validation.ts +7 -84
  490. package/src/agents/errors.ts +3 -0
  491. package/src/agents/execution.ts +67 -15
  492. package/src/agents/ids.ts +8 -0
  493. package/src/agents/index.ts +1 -0
  494. package/src/agents/model-loop.ts +7 -0
  495. package/src/agents/request.ts +11 -0
  496. package/src/agents/sandbox.ts +44 -0
  497. package/src/agents/validation.ts +2 -108
  498. package/src/blob-storage/types.ts +4 -1
  499. package/src/connectors/connections/command-context.ts +21 -4
  500. package/src/connectors/connections/contracts.ts +4 -1
  501. package/src/connectors/connections/execution.ts +3 -0
  502. package/src/connectors/connections/runs.ts +38 -1
  503. package/src/connectors/connections/service.ts +6 -0
  504. package/src/datasets/validation.ts +40 -11
  505. package/src/datasets/write.ts +8 -11
  506. package/src/error-reporting/capability.ts +11 -0
  507. package/src/error-reporting/reports.ts +23 -0
  508. package/src/error-reporting/types.ts +12 -1
  509. package/src/errors/catalog.ts +12 -0
  510. package/src/errors/failure-message.ts +15 -0
  511. package/src/errors/internal.ts +57 -25
  512. package/src/events/outbox-dispatcher.ts +20 -26
  513. package/src/execution/authorization.ts +12 -5
  514. package/src/execution/authorized-object-reader.ts +37 -2
  515. package/src/execution/kernel-operation.ts +27 -0
  516. package/src/execution/scopes.ts +2 -0
  517. package/src/execution/types.ts +4 -4
  518. package/src/index.ts +60 -1
  519. package/src/lake-storage/in-memory.ts +7 -3
  520. package/src/lake-storage/types.ts +2 -0
  521. package/src/maintenance/ontology-maintenance.ts +6 -2
  522. package/src/maintenance/types.ts +1 -1
  523. package/src/materialization/errors.ts +2 -2
  524. package/src/materialization/index.ts +1 -0
  525. package/src/materialization/model.ts +2 -0
  526. package/src/materialization/vectors.ts +18 -0
  527. package/src/materializer/README.md +15 -1
  528. package/src/materializer/context.ts +10 -0
  529. package/src/materializer/edits/commit.ts +8 -1
  530. package/src/materializer/edits/vector-authority.ts +108 -0
  531. package/src/materializer/edits/vectors.ts +100 -0
  532. package/src/materializer/effective/validate.ts +10 -3
  533. package/src/materializer/effective/vector-indexing.ts +84 -0
  534. package/src/materializer/effective/vectors.ts +47 -0
  535. package/src/materializer/execution/work-executor.ts +11 -3
  536. package/src/materializer/projections/replace.ts +1 -1
  537. package/src/materializer/shared/normalize.ts +11 -0
  538. package/src/materializer/telemetry/append.ts +1 -1
  539. package/src/models/catalog-index.ts +38 -0
  540. package/src/models/catalog.ts +66 -38
  541. package/src/models/decision/catalog.ts +32 -0
  542. package/src/models/decision/errors.ts +18 -0
  543. package/src/models/decision/output.ts +101 -0
  544. package/src/models/decision/questions.ts +29 -0
  545. package/src/models/decision/runtime.ts +188 -0
  546. package/src/models/decision/types.ts +109 -0
  547. package/src/models/decision/validation.ts +335 -0
  548. package/src/models/definitions.ts +20 -1
  549. package/src/models/embedding-model.ts +129 -0
  550. package/src/models/execution/README.md +63 -0
  551. package/src/models/execution/binding.ts +2 -0
  552. package/src/models/execution/embedding.ts +133 -0
  553. package/src/models/execution/model-call-recorder.ts +42 -30
  554. package/src/models/execution/session.ts +81 -0
  555. package/src/models/execution.ts +10 -52
  556. package/src/models/generation-types.ts +2 -0
  557. package/src/models/index.ts +37 -0
  558. package/src/models/pricing.ts +7 -4
  559. package/src/objects/authorized-ontology-view.ts +12 -8
  560. package/src/objects/execution.ts +2 -0
  561. package/src/objects/query/executor.ts +13 -4
  562. package/src/objects/query/explain.ts +7 -2
  563. package/src/objects/query/index.ts +2 -0
  564. package/src/objects/query/ir.ts +6 -2
  565. package/src/objects/query/normalize.ts +5 -1
  566. package/src/objects/query/validate.ts +74 -73
  567. package/src/objects/sdk/object-handle.ts +3 -0
  568. package/src/objects/sdk/object-set.ts +1 -0
  569. package/src/objects/sdk/query-builder.ts +9 -3
  570. package/src/objects/sdk/query-executor.ts +2 -1
  571. package/src/objects/sdk/runtime-query-executor.ts +6 -2
  572. package/src/objects/vectors/README.md +59 -0
  573. package/src/objects/vectors/handle.ts +91 -0
  574. package/src/objects/vectors/indexing-batch.ts +163 -0
  575. package/src/objects/vectors/indexing-generate.ts +184 -0
  576. package/src/objects/vectors/indexing-runtime.ts +17 -0
  577. package/src/objects/vectors/indexing-shared.ts +188 -0
  578. package/src/objects/vectors/indexing-single.ts +51 -0
  579. package/src/objects/vectors/indexing-store-batch.ts +62 -0
  580. package/src/objects/vectors/indexing.ts +23 -0
  581. package/src/objects/vectors/profile.ts +64 -0
  582. package/src/objects/vectors/query.ts +16 -0
  583. package/src/objects/vectors/resolve-query.ts +89 -0
  584. package/src/objects/vectors/types.ts +10 -0
  585. package/src/ontology/index.ts +2 -0
  586. package/src/ontology/registry.ts +8 -0
  587. package/src/ontology/types.ts +9 -9
  588. package/src/ontology/validation/definition.ts +104 -0
  589. package/src/ontology/validation/properties.ts +14 -4
  590. package/src/ontology/validation/query.ts +34 -51
  591. package/src/ontology/validation/schema.ts +85 -23
  592. package/src/ontology/vector-profiles.ts +35 -0
  593. package/src/queues/in-memory.ts +5 -0
  594. package/src/queues/index.ts +1 -0
  595. package/src/queues/types.ts +10 -0
  596. package/src/runtime/create.ts +7 -6
  597. package/src/runtime/host.ts +42 -6
  598. package/src/runtime/internal.ts +3 -0
  599. package/src/runtime/resolve-definitions.ts +19 -1
  600. package/src/runtime/sixb.ts +27 -9
  601. package/src/runtime/types.ts +16 -4
  602. package/src/sandboxes/README.md +41 -0
  603. package/src/sandboxes/auth.ts +17 -0
  604. package/src/sandboxes/config.ts +37 -0
  605. package/src/sandboxes/configuration.ts +268 -0
  606. package/src/sandboxes/environment.ts +107 -0
  607. package/src/sandboxes/errors.ts +1 -1
  608. package/src/sandboxes/index.ts +15 -0
  609. package/src/sandboxes/sandbox.ts +38 -3
  610. package/src/shared/params/builders.ts +50 -0
  611. package/src/shared/params/types.ts +84 -0
  612. package/src/shared/params/validation.ts +114 -0
  613. package/src/storage/agents/in-memory.ts +25 -1
  614. package/src/storage/agents/index.ts +3 -0
  615. package/src/storage/agents/provider.ts +105 -0
  616. package/src/storage/agents/types.ts +54 -0
  617. package/src/storage/ai-cost/analytics.ts +59 -21
  618. package/src/storage/ai-cost/index.ts +1 -0
  619. package/src/storage/ai-cost/types.ts +19 -2
  620. package/src/storage/connector-connections/in-memory.ts +16 -18
  621. package/src/storage/connector-connections/provider/connections.ts +1 -15
  622. package/src/storage/connector-connections/provider/runs.ts +6 -0
  623. package/src/storage/connector-connections/provider/shared.ts +2 -3
  624. package/src/storage/connector-connections/provider.ts +6 -0
  625. package/src/storage/connector-connections/types.ts +5 -1
  626. package/src/storage/executions/provider.ts +24 -12
  627. package/src/storage/executions/types.ts +1 -0
  628. package/src/storage/executions/validation.ts +7 -3
  629. package/src/storage/index.ts +15 -1
  630. package/src/storage/objects/in-memory/query.ts +25 -11
  631. package/src/storage/objects/in-memory/read-scope.ts +9 -2
  632. package/src/storage/objects/in-memory/read-source.ts +5 -0
  633. package/src/storage/objects/in-memory/selected-reader.ts +5 -1
  634. package/src/storage/objects/in-memory/storage.ts +19 -1
  635. package/src/storage/objects/types.ts +2 -0
  636. package/src/storage/ontology/commits.ts +1 -0
  637. package/src/storage/ontology/in-memory/index.ts +20 -0
  638. package/src/storage/ontology/in-memory/materializations.ts +13 -0
  639. package/src/storage/ontology/in-memory/shared-state.ts +19 -3
  640. package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
  641. package/src/storage/ontology/in-memory/vectors.ts +73 -0
  642. package/src/storage/ontology/index.ts +14 -0
  643. package/src/storage/ontology/outbox.ts +1 -0
  644. package/src/storage/ontology/vector-indexing.ts +98 -0
  645. package/src/storage/ontology/vectors.ts +48 -0
  646. package/src/storage/operation-scope.ts +1 -0
  647. package/src/storage/types.ts +3 -0
  648. package/src/testing/agent-storage-contract.ts +246 -0
  649. package/src/testing/ai-cost-storage-contract.ts +134 -0
  650. package/src/testing/connector-connection-storage-contract.ts +11 -11
  651. package/src/testing/lake-storage-contract.ts +29 -0
  652. package/src/testing/object-query-contract.ts +41 -25
  653. package/src/testing/object-read-scope-contract.ts +1 -5
  654. package/src/testing/ontology-storage-contract.ts +8 -3
  655. package/src/testing/queues-contract.ts +31 -0
  656. package/src/workflows/failure.ts +10 -4
  657. package/src/workflows/validation.ts +2 -2
  658. package/dist/chunk-5hz0fnca.js.map +0 -12
  659. package/dist/chunk-5p1v802y.js.map +0 -44
  660. package/dist/chunk-7apz6hg4.js.map +0 -10
  661. package/dist/chunk-7bs40fe1.js.map +0 -12
  662. package/dist/chunk-860dwwy0.js.map +0 -14
  663. package/dist/chunk-93csa55g.js.map +0 -11
  664. package/dist/chunk-aa6z4a19.js.map +0 -12
  665. package/dist/chunk-ap0g1g74.js.map +0 -11
  666. package/dist/chunk-e0d1rzef.js.map +0 -15
  667. package/dist/chunk-f0rwz2vh.js.map +0 -11
  668. package/dist/chunk-f4w3yp4f.js.map +0 -12
  669. package/dist/chunk-g7knyczr.js.map +0 -14
  670. package/dist/chunk-mrp7k0pw.js.map +0 -10
  671. package/dist/chunk-ms2tmn1k.js.map +0 -17
  672. package/dist/chunk-nmbxcaqx.js.map +0 -19
  673. package/dist/chunk-nt99sxd6.js.map +0 -14
  674. package/dist/chunk-p6a4npdx.js.map +0 -58
  675. package/dist/chunk-qyeptdyv.js.map +0 -15
  676. package/dist/chunk-r7fj830t.js.map +0 -36
  677. package/dist/chunk-rb1xx120.js.map +0 -11
  678. package/dist/chunk-yv79ncbv.js.map +0 -10
  679. package/dist/chunk-z3y411fq.js +0 -99
  680. package/dist/chunk-z3y411fq.js.map +0 -11
  681. /package/dist/{chunk-17kfctj6.js.map → chunk-0mza4xb2.js.map} +0 -0
  682. /package/dist/{chunk-rtk71jzp.js.map → chunk-3bnt2wna.js.map} +0 -0
  683. /package/dist/{chunk-awbhdqyc.js.map → chunk-3ghw2t5q.js.map} +0 -0
  684. /package/dist/{chunk-b19g04jk.js.map → chunk-3h7ctayx.js.map} +0 -0
  685. /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
  686. /package/dist/{chunk-0y39rgsb.js.map → chunk-5tetw4hn.js.map} +0 -0
  687. /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
  688. /package/dist/{chunk-358caqf5.js.map → chunk-bfjv1adk.js.map} +0 -0
  689. /package/dist/{chunk-b0ec55a1.js.map → chunk-bg2bs62d.js.map} +0 -0
  690. /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
  691. /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
  692. /package/dist/{chunk-1824gssz.js.map → chunk-gswwr35f.js.map} +0 -0
  693. /package/dist/{chunk-92vk7gta.js.map → chunk-gzt6v1ja.js.map} +0 -0
  694. /package/dist/{chunk-gqh45d2n.js.map → chunk-hkw8rykk.js.map} +0 -0
  695. /package/dist/{chunk-5c7ga8zz.js.map → chunk-jjwhy3rs.js.map} +0 -0
  696. /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
  697. /package/dist/{chunk-653vwrzr.js.map → chunk-rdghfsss.js.map} +0 -0
  698. /package/dist/{chunk-bn138h9w.js.map → chunk-t7dzd1tm.js.map} +0 -0
  699. /package/dist/{chunk-pr2h4bv4.js.map → chunk-tg4g4zh0.js.map} +0 -0
  700. /package/dist/{chunk-8vj0rjgs.js.map → chunk-wjffn5m4.js.map} +0 -0
  701. /package/dist/{chunk-agbbygvh.js.map → chunk-xn686q2e.js.map} +0 -0
  702. /package/dist/{chunk-v2vcg0w6.js.map → chunk-xtfryrfb.js.map} +0 -0
@@ -0,0 +1,100 @@
1
+ import {
2
+ MaterializationConflictError,
3
+ MaterializationValidationError,
4
+ } from "../../materialization/errors"
5
+ import type { OntologyEditCommit } from "../../materialization/model"
6
+ import { objectRefKey } from "../../materialization/refs"
7
+ import { normalizeVector, vectorConfiguration, vectorSources } from "../../objects/vectors/profile"
8
+ import type { Storage } from "../../storage"
9
+ import { objectBatchKey } from "../../storage/objects/keys"
10
+ import type { MaterializationSession, OntologyVectorStorage } from "../../storage/ontology"
11
+ import type { MaterializerContext } from "../context"
12
+
13
+ export async function commitVectorWrites(
14
+ context: MaterializerContext,
15
+ storage: Storage,
16
+ input: OntologyEditCommit,
17
+ commitId: string,
18
+ session: MaterializationSession
19
+ ): Promise<void> {
20
+ if (input.mode !== "atomic" || !input.vectorWrites?.length) return
21
+ const vectors = storage.ontology.vectors
22
+ if (!vectors)
23
+ throw new MaterializationValidationError("Storage does not support vector profiles.")
24
+ const rows = await storage.objects.getByPrimaryIdBatch({
25
+ projectId: context.projectId,
26
+ items: input.vectorWrites.map((write) => write.input.ref),
27
+ })
28
+ const expectations = new Map(
29
+ input.expectedObjects.map((expected) => [objectRefKey(expected.ref), expected])
30
+ )
31
+ const entries: Parameters<OntologyVectorStorage["writeBatch"]>[0]["entries"][number][] = []
32
+ const seen = new Set<string>()
33
+ for (const write of input.vectorWrites) {
34
+ const prepared = write.input
35
+ const key = JSON.stringify([objectRefKey(prepared.ref), prepared.profile])
36
+ if (seen.has(key)) throw new MaterializationValidationError(`Duplicate vector write: ${key}`)
37
+ seen.add(key)
38
+ const profileDefinition = context.ontology.resolveObjectType(prepared.ref.objectTypeId).search
39
+ ?.vectors?.[prepared.profile]
40
+ if (
41
+ prepared.projectId !== context.projectId ||
42
+ !profileDefinition ||
43
+ vectorConfiguration(profileDefinition) !== prepared.configuration
44
+ ) {
45
+ throw new MaterializationConflictError(
46
+ "effective-state",
47
+ "Vector profile configuration changed; index it again."
48
+ )
49
+ }
50
+ const expected = expectations.get(objectRefKey(prepared.ref))
51
+ if (
52
+ !expected?.exists ||
53
+ !prepared.expectedObject?.exists ||
54
+ objectRefKey(prepared.expectedObject.ref) !== objectRefKey(prepared.ref) ||
55
+ expected.version !== prepared.expectedObject.version ||
56
+ expected.lastCommitId !== prepared.expectedObject.lastCommitId
57
+ ) {
58
+ throw new MaterializationValidationError(
59
+ "Vector writes must fence their prepared object revision."
60
+ )
61
+ }
62
+ const row = rows.get(objectBatchKey(prepared.ref.objectTypeId, prepared.ref.primaryId))
63
+ if (
64
+ !row ||
65
+ row.version !== expected.version ||
66
+ row.lastCommitId !== expected.lastCommitId ||
67
+ vectorSources(profileDefinition.source, row.properties).sourceFingerprint !==
68
+ prepared.sourceFingerprint
69
+ ) {
70
+ throw new MaterializationConflictError(
71
+ "effective-state",
72
+ "Vector sources changed; index the profile again."
73
+ )
74
+ }
75
+ entries.push({
76
+ expectedCommitId: prepared.expectedVectorCommitId,
77
+ value: {
78
+ ref: prepared.ref,
79
+ profile: prepared.profile,
80
+ configuration: prepared.configuration,
81
+ source: profileDefinition.source,
82
+ sourceFingerprint: prepared.sourceFingerprint,
83
+ values: normalizeVector(write.values, profileDefinition.model.definition.dimensions),
84
+ lastCommitId: commitId,
85
+ },
86
+ })
87
+ }
88
+
89
+ await vectors.writeBatch({ session, projectId: context.projectId, entries })
90
+ await storage.ontology.vectorIndexing?.complete({
91
+ session,
92
+ projectId: context.projectId,
93
+ entries: input.vectorWrites.map(({ input: prepared }) => ({
94
+ ref: prepared.ref,
95
+ profile: prepared.profile,
96
+ configuration: prepared.configuration,
97
+ sourceFingerprint: prepared.sourceFingerprint,
98
+ })),
99
+ })
100
+ }
@@ -1,3 +1,4 @@
1
+ import { withFailureMessage } from "../../errors/failure-message"
1
2
  import type { JsonValue } from "../../json"
2
3
  import { MaterializationValidationError } from "../../materialization/errors"
3
4
  import type {
@@ -113,8 +114,11 @@ export function validateEffectiveObject(
113
114
  property.required &&
114
115
  properties[property.id] === undefined
115
116
  ) {
116
- throw new Error(
117
- `[Sixb] Missing required property '${property.id}' for object type '${objectType.id}'`
117
+ throw withFailureMessage(
118
+ new Error(
119
+ `[Sixb] Missing required property '${property.id}' for object type '${objectType.id}'`
120
+ ),
121
+ `Missing required property '${objectType.id}.${property.id}'.`
118
122
  )
119
123
  }
120
124
  }
@@ -175,6 +179,9 @@ function materializationValidation<T>(run: () => T): T {
175
179
  return run()
176
180
  } catch (error) {
177
181
  if (error instanceof MaterializationValidationError) throw error
178
- throw new MaterializationValidationError(error instanceof Error ? error.message : String(error))
182
+ throw new MaterializationValidationError(
183
+ error instanceof Error ? error.message : String(error),
184
+ { cause: error }
185
+ )
179
186
  }
180
187
  }
@@ -0,0 +1,84 @@
1
+ import { randomUUID } from "node:crypto"
2
+ import type { OntologyObjectRef } from "../../materialization/model"
3
+ import { vectorConfiguration, vectorSources } from "../../objects/vectors/profile"
4
+ import type { Storage } from "../../storage"
5
+ import { objectBatchKey } from "../../storage/objects/keys"
6
+ import type { MaterializationSession } from "../../storage/ontology"
7
+ import type { VectorIndexingRequest } from "../../storage/ontology/vector-indexing"
8
+ import type { MaterializerContext } from "../context"
9
+ import type { MaterializationPlanItem } from "../execution/plan-stream"
10
+
11
+ /** Source assertions are not effective values: schedule only after conflict resolution. */
12
+ export async function scheduleVectorChanges(
13
+ context: Pick<MaterializerContext, "projectId" | "ontology" | "clock">,
14
+ storage: Storage,
15
+ items: readonly MaterializationPlanItem[],
16
+ session: MaterializationSession,
17
+ projection = false
18
+ ): Promise<void> {
19
+ const indexing = storage.ontology.vectorIndexing
20
+ if (!indexing) return
21
+ const upserts = items
22
+ .filter((item) => item.kind === "object-upsert")
23
+ .filter(
24
+ (item) =>
25
+ Object.keys(
26
+ context.ontology.resolveObjectType(item.value.row.ref.objectTypeId).search?.vectors ?? {}
27
+ ).length > 0
28
+ )
29
+ const previous = await storage.objects.getByPrimaryIdBatch({
30
+ projectId: context.projectId,
31
+ items: upserts.map((item) => item.value.row.ref),
32
+ })
33
+ const requests: VectorIndexingRequest[] = []
34
+ const deleted: OntologyObjectRef[] = []
35
+ // Groups exist only for this materialization page and are persisted in its transaction.
36
+ const groups = new Map<string, { id: string; count: number; bytes: number }>()
37
+ for (const item of items) {
38
+ if (item.kind === "object-delete") {
39
+ deleted.push(item.value.ref)
40
+ continue
41
+ }
42
+ if (item.kind !== "object-upsert") continue
43
+ const row = item.value.row
44
+ const profiles = context.ontology.resolveObjectType(row.ref.objectTypeId).search?.vectors ?? {}
45
+ const before = previous.get(objectBatchKey(row.ref.objectTypeId, row.ref.primaryId))
46
+ for (const [profile, definition] of Object.entries(profiles)) {
47
+ const { sourceFingerprint, text } = vectorSources(definition.source, row.properties)
48
+ if (
49
+ before &&
50
+ vectorSources(definition.source, before.properties).sourceFingerprint === sourceFingerprint
51
+ )
52
+ continue
53
+ const configuration = vectorConfiguration(definition)
54
+ const bytes = Buffer.byteLength(text)
55
+ const key = JSON.stringify([row.ref.objectTypeId, profile, configuration, row.lastCommitId])
56
+ let group = projection ? groups.get(key) : undefined
57
+ if (projection && (!group || group.count === 32 || group.bytes + bytes > 32_768)) {
58
+ group = { id: randomUUID(), count: 0, bytes: 0 }
59
+ groups.set(key, group)
60
+ }
61
+ if (group) {
62
+ group.count++
63
+ group.bytes += bytes
64
+ }
65
+ requests.push({
66
+ ...(group ? { batchId: group.id } : {}),
67
+ id: randomUUID(),
68
+ ref: row.ref,
69
+ profile,
70
+ sourceFingerprint,
71
+ configuration,
72
+ sourceCommitId: row.lastCommitId,
73
+ })
74
+ }
75
+ }
76
+ if (requests.length || deleted.length)
77
+ await indexing.schedule({
78
+ projectId: context.projectId,
79
+ session,
80
+ requests,
81
+ deleted,
82
+ availableAt: context.clock().toISOString(),
83
+ })
84
+ }
@@ -0,0 +1,47 @@
1
+ import { objectRefKey } from "../../materialization/refs"
2
+ import { vectorSources } from "../../objects/vectors/profile"
3
+ import type { MaterializationSession } from "../../storage/ontology"
4
+ import type { OntologyVectorStorage } from "../../storage/ontology/vectors"
5
+ import type { MaterializationPlanItem } from "../execution/plan-stream"
6
+
7
+ /** Invalidate a bounded materialization page, including stored profiles no longer declared. */
8
+ export async function invalidateVectorChanges(
9
+ projectId: string,
10
+ vectors: OntologyVectorStorage | undefined,
11
+ items: readonly MaterializationPlanItem[],
12
+ session: MaterializationSession
13
+ ): Promise<void> {
14
+ if (!vectors) return
15
+ const changes = new Map(
16
+ items.flatMap((item) => {
17
+ if (item.kind !== "object-upsert" && item.kind !== "object-delete") return []
18
+ const ref = item.kind === "object-upsert" ? item.value.row.ref : item.value.ref
19
+ return [[objectRefKey(ref), { ref, item }] as const]
20
+ })
21
+ )
22
+ if (!changes.size) return
23
+
24
+ const stored = await vectors.listBatch({
25
+ projectId,
26
+ refs: [...changes.values()].map(({ ref }) => ref),
27
+ })
28
+ const removals: Parameters<OntologyVectorStorage["removeBatch"]>[0]["entries"][number][] = []
29
+ for (const entry of stored) {
30
+ const change = changes.get(objectRefKey(entry.ref))
31
+ if (!change) continue
32
+ const { item } = change
33
+ if (
34
+ item.kind === "object-upsert" &&
35
+ entry.source.every((id) => {
36
+ const value = item.value.row.properties[id]
37
+ return value === undefined || value === null || typeof value === "string"
38
+ }) &&
39
+ vectorSources(entry.source, item.value.row.properties).sourceFingerprint ===
40
+ entry.sourceFingerprint
41
+ )
42
+ continue
43
+
44
+ removals.push({ ref: entry.ref, profile: entry.profile, expectedCommitId: entry.lastCommitId })
45
+ }
46
+ if (removals.length) await vectors.removeBatch({ session, projectId, entries: removals })
47
+ }
@@ -1,5 +1,6 @@
1
1
  import { MaterializationValidationError } from "../../materialization/errors"
2
2
  import { utf8JsonByteLength } from "../../materialization/refs"
3
+ import type { Storage } from "../../storage"
3
4
  import type {
4
5
  MaterializationSession,
5
6
  MaterializationWorkRecord,
@@ -7,6 +8,8 @@ import type {
7
8
  } from "../../storage/ontology"
8
9
  import type { MaterializerContext } from "../context"
9
10
  import { sequenceMaterializationEvent } from "../effective/build-events"
11
+ import { scheduleVectorChanges } from "../effective/vector-indexing"
12
+ import { invalidateVectorChanges } from "../effective/vectors"
10
13
  import { throwIfAborted } from "../shared/abort"
11
14
  import { chunkBySize } from "../shared/chunking"
12
15
  import type { TimedCommitIdentity } from "../shared/identity"
@@ -46,15 +49,20 @@ export async function stageWorkBounded(
46
49
  }
47
50
 
48
51
  export async function drainStagedWork(
49
- context: BatchingContext,
50
- storage: OntologyMaterializationStorage,
52
+ context: Pick<MaterializerContext, "batching" | "projectId" | "ontology" | "clock">,
53
+ transactionStorage: Storage,
51
54
  session: MaterializationSession,
52
- signal?: AbortSignal
55
+ signal?: AbortSignal,
56
+ projection = false
53
57
  ): Promise<void> {
58
+ const ontologyStorage = transactionStorage.ontology
59
+ const storage = ontologyStorage.materializations
54
60
  let phase: number | null = null
55
61
  let pending: MaterializationPlanItem[] = []
56
62
  const flush = async () => {
57
63
  if (pending.length === 0) return
64
+ await scheduleVectorChanges(context, transactionStorage, pending, session, projection)
65
+ await invalidateVectorChanges(context.projectId, ontologyStorage.vectors, pending, session)
58
66
  await applyItems(context, storage, session, pending, signal)
59
67
  pending = []
60
68
  }
@@ -347,7 +347,7 @@ async function executeProjectionTransaction(
347
347
  ready,
348
348
  origin
349
349
  )
350
- await drainStagedWork(context, storage.ontology.materializations, session, command.signal)
350
+ await drainStagedWork(context, storage, session, command.signal, true)
351
351
  const eventCount = await drainStagedEvents(
352
352
  context,
353
353
  storage.ontology.materializations,
@@ -269,6 +269,8 @@ export function normalizeOntologyEditCommit(input: OntologyEditCommit): Ontology
269
269
  })
270
270
 
271
271
  if (input.mode === "continue") {
272
+ if ("vectorWrites" in input)
273
+ throw new MaterializationValidationError("Vector writes require an atomic commit.")
272
274
  return Object.freeze({
273
275
  mode: "continue",
274
276
  source: Object.freeze({
@@ -293,12 +295,21 @@ export function normalizeOntologyEditCommit(input: OntologyEditCommit): Ontology
293
295
  kind: "runtime" as const,
294
296
  requestId: normalizeNonblank(input.source.requestId, "Runtime request id"),
295
297
  })
298
+ if (input.vectorWrites?.length && (operations.length || input.source.kind !== "runtime")) {
299
+ throw new MaterializationValidationError(
300
+ "Vector writes require a dedicated atomic runtime commit."
301
+ )
302
+ }
303
+ if (input.vectorWrites !== undefined) assertJsonValue(input.vectorWrites, "Vector writes")
296
304
  const expectedObjects = input.expectedObjects.map(normalizeExpectedObject)
297
305
  const expectedLinks = input.expectedLinks.map(normalizeExpectedLink)
298
306
  const expectedLinkScopes = input.expectedLinkScopes.map(normalizeExpectedLinkScope)
299
307
 
300
308
  return Object.freeze({
301
309
  mode: "atomic",
310
+ ...(input.vectorWrites === undefined
311
+ ? {}
312
+ : { vectorWrites: structuredClone(input.vectorWrites) }),
302
313
  source,
303
314
  operations: Object.freeze(operations),
304
315
  expectedObjects: deduplicateExpectations(
@@ -404,7 +404,7 @@ async function executeTelemetryTransaction(
404
404
  ...(command.execution.actor === undefined ? {} : { actor: command.execution.actor }),
405
405
  }
406
406
  )
407
- await drainStagedWork(context, storage.ontology.materializations, session)
407
+ await drainStagedWork(context, storage, session)
408
408
  const eventCount = await drainStagedEvents(
409
409
  context,
410
410
  storage.ontology.materializations,
@@ -0,0 +1,38 @@
1
+ import { RuntimeError } from "../runtime/errors"
2
+ import type { ModelRef } from "./catalog"
3
+
4
+ interface ModelBinding {
5
+ readonly providerId: string
6
+ readonly modelId: string
7
+ }
8
+
9
+ interface ModelEntry<TModel> extends ModelRef {
10
+ readonly model: TModel
11
+ }
12
+
13
+ /** Private index shared by model families; default selection belongs to each family. */
14
+ export function indexModelBindings<TModel extends ModelBinding>(
15
+ models: readonly TModel[],
16
+ kind: string,
17
+ validate: (model: TModel, index: number) => void
18
+ ) {
19
+ const byRef = new Map<string, ModelEntry<TModel>>()
20
+
21
+ for (const [index, model] of models.entries()) {
22
+ validate(model, index)
23
+ const key = JSON.stringify([model.providerId, model.modelId])
24
+ if (byRef.has(key)) {
25
+ throw new RuntimeError(
26
+ `[Sixb] Duplicate ${kind} model '${model.providerId}/${model.modelId}' in 'models.${kind}'. Each provider and model id pair may be configured once.`
27
+ )
28
+ }
29
+
30
+ byRef.set(key, Object.freeze({ provider: model.providerId, modelId: model.modelId, model }))
31
+ }
32
+
33
+ const entries = Object.freeze([...byRef.values()])
34
+ return Object.freeze({
35
+ list: () => entries,
36
+ getByRef: (ref: ModelRef) => byRef.get(JSON.stringify([ref.provider, ref.modelId])) ?? null,
37
+ })
38
+ }
@@ -1,17 +1,32 @@
1
1
  import { RuntimeError } from "../runtime/errors"
2
+ import { indexModelBindings } from "./catalog-index"
3
+ import { createDecisionCatalog, type DecisionModelCatalog } from "./decision/catalog"
4
+ import type { DecisionModel } from "./decision/types"
2
5
  import {
3
6
  defineLanguageModel,
4
7
  type LanguageModelDefinition,
5
8
  type ModelDefinition,
6
9
  } from "./definitions"
10
+ import { assertEmbeddingModel, type EmbeddingModel } from "./embedding-model"
7
11
  import type { LanguageModel } from "./language-model"
8
12
 
9
- /** Stable identity of one configured language-model binding. */
10
- export interface LanguageModelRef {
13
+ /** Stable identity of a configured provider binding. */
14
+ export interface ModelRef {
11
15
  readonly provider: string
12
16
  readonly modelId: string
13
17
  }
14
18
 
19
+ export type LanguageModelRef = ModelRef
20
+
21
+ export interface EmbeddingModelEntry extends ModelRef {
22
+ readonly model: EmbeddingModel
23
+ }
24
+
25
+ export interface EmbeddingModelCatalog {
26
+ list(): readonly EmbeddingModelEntry[]
27
+ getByRef(ref: ModelRef): EmbeddingModelEntry | null
28
+ }
29
+
15
30
  /** The configured language models, with the project default. */
16
31
  export interface LanguageModelCatalog {
17
32
  readonly default: LanguageModelEntry
@@ -32,61 +47,74 @@ export interface LanguageModelEntry extends LanguageModelRef {
32
47
 
33
48
  /** Models a project allows Sixb to use, organized by technical model kind. */
34
49
  export interface ModelCatalog {
35
- readonly language: LanguageModelCatalog
50
+ readonly language?: LanguageModelCatalog
51
+ readonly decision?: DecisionModelCatalog
52
+ readonly embedding: EmbeddingModelCatalog
36
53
  }
37
54
 
38
55
  export interface ModelCatalogInput {
39
56
  /** Ordered; the first entry is the project default. */
40
- readonly language: readonly LanguageModel[]
57
+ readonly language?: readonly LanguageModel[]
58
+ /** Ordered; the first entry is the project default decision model. */
59
+ readonly decision?: readonly DecisionModel[]
60
+ readonly embedding?: readonly EmbeddingModel[]
41
61
  }
42
62
 
43
- /** Build the immutable project model catalog. Rejects invalid, duplicate, and empty catalogs. */
63
+ // Only statically required inputs make their corresponding catalogs required.
64
+ type ConfiguredModelKinds<TInput> = {
65
+ [Kind in keyof ModelCatalog]-?: [TInput] extends [Record<Kind, readonly unknown[]>] ? Kind : never
66
+ }[keyof ModelCatalog]
67
+
68
+ export type ModelCatalogFor<TInput extends ModelCatalogInput> = ModelCatalog &
69
+ Required<Pick<ModelCatalog, ConfiguredModelKinds<TInput>>>
70
+
71
+ /** Build an immutable catalog while preserving each family's default and empty-list rules. */
72
+ export function createModelCatalog<TInput extends ModelCatalogInput>(
73
+ input: TInput
74
+ ): ModelCatalogFor<TInput>
44
75
  export function createModelCatalog(input: ModelCatalogInput): ModelCatalog {
45
- if (!Array.isArray(input?.language)) {
46
- throw new RuntimeError("[Sixb] 'models.language' must be an array of Sixb language models.")
76
+ if (!input || typeof input !== "object" || Array.isArray(input)) {
77
+ throw new RuntimeError("[Sixb] 'models' must be a model catalog configuration.")
47
78
  }
48
79
 
49
- const entries: LanguageModelEntry[] = []
50
- const byProvider = new Map<string, Map<string, LanguageModelEntry>>()
80
+ const language = createLanguageCatalog(input.language)
81
+ const embedding = createEmbeddingCatalog(input.embedding)
82
+ const decision = createDecisionCatalog(input.decision)
51
83
 
52
- for (const [index, model] of input.language.entries()) {
53
- assertLanguageModel(model, index)
84
+ if (!language && !decision && embedding.list().length === 0) {
85
+ throw new RuntimeError("[Sixb] Configure at least one language, embedding or decision model.")
86
+ }
54
87
 
55
- let byModelId = byProvider.get(model.providerId)
56
- if (byModelId === undefined) {
57
- byModelId = new Map()
58
- byProvider.set(model.providerId, byModelId)
59
- }
60
- if (byModelId.has(model.modelId)) {
61
- throw new RuntimeError(
62
- `[Sixb] Duplicate language model '${model.providerId}/${model.modelId}' in 'models'. Each provider and model id pair may be configured once.`
63
- )
64
- }
88
+ return Object.freeze({ language, embedding, decision })
89
+ }
65
90
 
66
- const entry = Object.freeze({
67
- provider: model.providerId,
68
- modelId: model.modelId,
69
- model,
70
- })
71
- byModelId.set(model.modelId, entry)
72
- entries.push(entry)
91
+ function createLanguageCatalog(
92
+ models: readonly LanguageModel[] | undefined
93
+ ): LanguageModelCatalog | undefined {
94
+ if (models === undefined) return undefined
95
+ if (!Array.isArray(models)) {
96
+ throw new RuntimeError("[Sixb] 'models.language' must be an array of Sixb language models.")
73
97
  }
74
98
 
75
- const [defaultEntry] = entries
76
- if (defaultEntry === undefined) {
99
+ const index = indexModelBindings(models, "language", assertLanguageModel)
100
+ const [defaultEntry] = index.list()
101
+ if (!defaultEntry) {
77
102
  throw new RuntimeError(
78
- "[Sixb] 'models.language' needs at least one model. Configure one or omit 'models' from createSixb()."
103
+ "[Sixb] 'models.language' needs at least one model. Configure one or omit 'models.language'."
79
104
  )
80
105
  }
81
106
 
82
- const listed = Object.freeze(entries.slice())
83
- const language: LanguageModelCatalog = Object.freeze({
84
- default: defaultEntry,
85
- list: () => listed,
86
- getByRef: (ref: LanguageModelRef) => byProvider.get(ref.provider)?.get(ref.modelId) ?? null,
87
- })
107
+ return Object.freeze({ ...index, default: defaultEntry })
108
+ }
109
+
110
+ function createEmbeddingCatalog(
111
+ models: readonly EmbeddingModel[] | undefined
112
+ ): EmbeddingModelCatalog {
113
+ if (models !== undefined && !Array.isArray(models)) {
114
+ throw new RuntimeError("[Sixb] models.embedding must be an array of embedding models.")
115
+ }
88
116
 
89
- return Object.freeze({ language })
117
+ return indexModelBindings(models ?? [], "embedding", assertEmbeddingModel)
90
118
  }
91
119
 
92
120
  function assertLanguageModel(model: unknown, index: number): asserts model is LanguageModel {
@@ -0,0 +1,32 @@
1
+ import { RuntimeError } from "../../runtime/errors"
2
+ import type { ModelRef } from "../catalog"
3
+ import { indexModelBindings } from "../catalog-index"
4
+ import type { DecisionModel } from "./types"
5
+ import { assertDecisionModel } from "./validation"
6
+
7
+ export interface DecisionModelEntry extends ModelRef {
8
+ readonly model: DecisionModel
9
+ }
10
+
11
+ export interface DecisionModelCatalog {
12
+ readonly default: DecisionModelEntry
13
+ list(): readonly DecisionModelEntry[]
14
+ getByRef(ref: ModelRef): DecisionModelEntry | null
15
+ }
16
+
17
+ export function createDecisionCatalog(
18
+ models: readonly DecisionModel[] | undefined
19
+ ): DecisionModelCatalog | undefined {
20
+ if (models === undefined) return undefined
21
+ if (!Array.isArray(models)) {
22
+ throw new RuntimeError("[Sixb] models.decision must be a nonempty array of decision models.")
23
+ }
24
+
25
+ const index = indexModelBindings(models, "decision", assertDecisionModel)
26
+ const [defaultEntry] = index.list()
27
+ if (!defaultEntry) {
28
+ throw new RuntimeError("[Sixb] models.decision must be a nonempty array of decision models.")
29
+ }
30
+
31
+ return Object.freeze({ ...index, default: defaultEntry })
32
+ }
@@ -0,0 +1,18 @@
1
+ import { ModelProviderError } from "../errors"
2
+ import type { DecisionModelResponseMetadata } from "./types"
3
+
4
+ export class DecisionModelResponseError extends ModelProviderError {
5
+ constructor(
6
+ message: string,
7
+ providerId: string,
8
+ modelId: string,
9
+ readonly metadata: DecisionModelResponseMetadata,
10
+ options?: ErrorOptions
11
+ ) {
12
+ super(message, providerId, modelId, {
13
+ ...options,
14
+ code: "invalid_decision_response",
15
+ retryable: false,
16
+ })
17
+ }
18
+ }