@sixb/core 0.1.11 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (641) hide show
  1. package/dist/actions/builders/params.d.ts +1 -22
  2. package/dist/actions/builders/params.d.ts.map +1 -1
  3. package/dist/actions/index.js +29 -28
  4. package/dist/actions/index.js.map +1 -1
  5. package/dist/actions/types/params.d.ts +10 -44
  6. package/dist/actions/types/params.d.ts.map +1 -1
  7. package/dist/actions/validation.d.ts.map +1 -1
  8. package/dist/actions/worker.js +3 -2
  9. package/dist/actions/worker.js.map +2 -2
  10. package/dist/agents/errors.d.ts +1 -1
  11. package/dist/agents/errors.d.ts.map +1 -1
  12. package/dist/agents/execution.d.ts +15 -9
  13. package/dist/agents/execution.d.ts.map +1 -1
  14. package/dist/agents/ids.d.ts +2 -0
  15. package/dist/agents/ids.d.ts.map +1 -1
  16. package/dist/agents/index.d.ts +1 -1
  17. package/dist/agents/index.d.ts.map +1 -1
  18. package/dist/agents/index.js +48 -42
  19. package/dist/agents/index.js.map +1 -1
  20. package/dist/agents/request.d.ts.map +1 -1
  21. package/dist/agents/sandbox.d.ts +5 -0
  22. package/dist/agents/sandbox.d.ts.map +1 -0
  23. package/dist/agents/streams/index.js +4 -3
  24. package/dist/agents/streams/index.js.map +1 -1
  25. package/dist/agents/streams/internal.js +4 -3
  26. package/dist/agents/streams/internal.js.map +1 -1
  27. package/dist/agents/validation.d.ts.map +1 -1
  28. package/dist/auth/index.js +8 -6
  29. package/dist/auth/index.js.map +1 -1
  30. package/dist/authorization/index.js +5 -4
  31. package/dist/authorization/index.js.map +1 -1
  32. package/dist/bootstrap/index.js +50 -46
  33. package/dist/bootstrap/index.js.map +1 -1
  34. package/dist/{chunk-17kfctj6.js → chunk-0mza4xb2.js} +2 -2
  35. package/dist/{chunk-g00bfdq6.js → chunk-2cxv584m.js} +12 -56
  36. package/dist/{chunk-g00bfdq6.js.map → chunk-2cxv584m.js.map} +3 -3
  37. package/dist/{chunk-jsy70480.js → chunk-2h63nrde.js} +365 -95
  38. package/dist/chunk-2h63nrde.js.map +20 -0
  39. package/dist/{chunk-1yefycb1.js → chunk-3bnt2wna.js} +2 -2
  40. package/dist/{chunk-awbhdqyc.js → chunk-3ghw2t5q.js} +1 -1
  41. package/dist/{chunk-b19g04jk.js → chunk-3h7ctayx.js} +1 -1
  42. package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
  43. package/dist/{chunk-5hz0fnca.js → chunk-4k53sm9e.js} +6 -2
  44. package/dist/chunk-4k53sm9e.js.map +12 -0
  45. package/dist/chunk-4ph94nhd.js +81 -0
  46. package/dist/chunk-4ph94nhd.js.map +10 -0
  47. package/dist/chunk-58geavnf.js +29 -0
  48. package/dist/chunk-58geavnf.js.map +10 -0
  49. package/dist/{chunk-0y39rgsb.js → chunk-5tetw4hn.js} +1 -1
  50. package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
  51. package/dist/chunk-69266efg.js.map +12 -0
  52. package/dist/{chunk-a0e6x5hd.js → chunk-6ma8dvzc.js} +121 -53
  53. package/dist/chunk-6ma8dvzc.js.map +15 -0
  54. package/dist/{chunk-skz0hst3.js → chunk-7c2g3sz9.js} +6 -86
  55. package/dist/{chunk-skz0hst3.js.map → chunk-7c2g3sz9.js.map} +3 -3
  56. package/dist/{chunk-z0s4axeh.js → chunk-7qnvhtcd.js} +93 -17
  57. package/dist/{chunk-z0s4axeh.js.map → chunk-7qnvhtcd.js.map} +7 -6
  58. package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
  59. package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
  60. package/dist/chunk-91kcnbf0.js.map +10 -0
  61. package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
  62. package/dist/chunk-96yw3pwd.js.map +10 -0
  63. package/dist/chunk-98cw09sw.js.map +2 -2
  64. package/dist/{chunk-93csa55g.js → chunk-axndsymr.js} +10 -4
  65. package/dist/chunk-axndsymr.js.map +11 -0
  66. package/dist/{chunk-4zhmdsx6.js → chunk-b768c93y.js} +61 -23
  67. package/dist/{chunk-4zhmdsx6.js.map → chunk-b768c93y.js.map} +5 -5
  68. package/dist/{chunk-dz5h08xv.js → chunk-bbaa1fet.js} +24 -9
  69. package/dist/{chunk-dz5h08xv.js.map → chunk-bbaa1fet.js.map} +4 -4
  70. package/dist/{chunk-7apz6hg4.js → chunk-bet1rb9h.js} +8 -4
  71. package/dist/chunk-bet1rb9h.js.map +10 -0
  72. package/dist/{chunk-358caqf5.js → chunk-bfjv1adk.js} +2 -2
  73. package/dist/{chunk-g91qxjj0.js → chunk-bg2bs62d.js} +5 -5
  74. package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
  75. package/dist/chunk-cd234ba4.js.map +14 -0
  76. package/dist/chunk-dmn70ztd.js.map +2 -2
  77. package/dist/{chunk-d63nnr5b.js → chunk-e1f1sqba.js} +39 -53
  78. package/dist/{chunk-d63nnr5b.js.map → chunk-e1f1sqba.js.map} +5 -6
  79. package/dist/{chunk-ap0g1g74.js → chunk-eyjzgav0.js} +39 -4
  80. package/dist/chunk-eyjzgav0.js.map +12 -0
  81. package/dist/{chunk-rb1xx120.js → chunk-f06sf7rr.js} +9 -5
  82. package/dist/chunk-f06sf7rr.js.map +11 -0
  83. package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
  84. package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
  85. package/dist/{chunk-38zv5rkr.js → chunk-g2gezsg5.js} +1 -1
  86. package/dist/{chunk-38zv5rkr.js.map → chunk-g2gezsg5.js.map} +2 -2
  87. package/dist/{chunk-01kj2pbh.js → chunk-g50nxqs5.js} +53 -66
  88. package/dist/chunk-g50nxqs5.js.map +18 -0
  89. package/dist/{chunk-1824gssz.js → chunk-gswwr35f.js} +4 -4
  90. package/dist/{chunk-92vk7gta.js → chunk-gzt6v1ja.js} +1 -1
  91. package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
  92. package/dist/chunk-hgqpcmyr.js.map +12 -0
  93. package/dist/{chunk-gqh45d2n.js → chunk-hkw8rykk.js} +2 -2
  94. package/dist/{chunk-f4w3yp4f.js → chunk-hzw7yv5g.js} +104 -21
  95. package/dist/chunk-hzw7yv5g.js.map +13 -0
  96. package/dist/{chunk-cfvakeax.js → chunk-jjwhy3rs.js} +5 -5
  97. package/dist/chunk-kept9cdd.js +29 -0
  98. package/dist/chunk-kept9cdd.js.map +10 -0
  99. package/dist/{chunk-ftv470j8.js → chunk-m7cx05vp.js} +247 -16
  100. package/dist/{chunk-ftv470j8.js.map → chunk-m7cx05vp.js.map} +14 -10
  101. package/dist/{chunk-z0271qkp.js → chunk-mdnw7nj8.js} +8 -6
  102. package/dist/chunk-mdnw7nj8.js.map +15 -0
  103. package/dist/{chunk-gq8vhakp.js → chunk-nzsy3xrp.js} +249 -86
  104. package/dist/{chunk-gq8vhakp.js.map → chunk-nzsy3xrp.js.map} +13 -11
  105. package/dist/chunk-p1683c0v.js +104 -0
  106. package/dist/chunk-p1683c0v.js.map +11 -0
  107. package/dist/chunk-p6r1ex7t.js +93 -0
  108. package/dist/chunk-p6r1ex7t.js.map +10 -0
  109. package/dist/{chunk-sepyxgpc.js → chunk-qm535afa.js} +10 -10
  110. package/dist/{chunk-sepyxgpc.js.map → chunk-qm535afa.js.map} +4 -4
  111. package/dist/chunk-r5zythxp.js +552 -0
  112. package/dist/chunk-r5zythxp.js.map +17 -0
  113. package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
  114. package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
  115. package/dist/{chunk-3ckk0xfj.js → chunk-sfypc7mk.js} +18 -13
  116. package/dist/{chunk-3ckk0xfj.js.map → chunk-sfypc7mk.js.map} +3 -3
  117. package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
  118. package/dist/chunk-t6f3tdnr.js.map +10 -0
  119. package/dist/{chunk-x9m9x2eq.js → chunk-t7dzd1tm.js} +3 -3
  120. package/dist/{chunk-pr2h4bv4.js → chunk-tg4g4zh0.js} +3 -3
  121. package/dist/chunk-vpxss818.js +56 -0
  122. package/dist/chunk-vpxss818.js.map +10 -0
  123. package/dist/{chunk-ms2tmn1k.js → chunk-vsg0g7h9.js} +53 -57
  124. package/dist/chunk-vsg0g7h9.js.map +17 -0
  125. package/dist/{chunk-8vj0rjgs.js → chunk-wjffn5m4.js} +1 -1
  126. package/dist/{chunk-wf88w4kp.js → chunk-x9tmx3fc.js} +2 -2
  127. package/dist/{chunk-fh8kgex1.js → chunk-xn686q2e.js} +8 -8
  128. package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
  129. package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
  130. package/dist/{chunk-v2vcg0w6.js → chunk-xtfryrfb.js} +2 -2
  131. package/dist/chunk-y0v18c2j.js +363 -0
  132. package/dist/chunk-y0v18c2j.js.map +14 -0
  133. package/dist/{chunk-72w2pxk7.js → chunk-y1ahv8b7.js} +11 -3
  134. package/dist/{chunk-72w2pxk7.js.map → chunk-y1ahv8b7.js.map} +3 -3
  135. package/dist/chunk-y3ev53cq.js +84 -0
  136. package/dist/chunk-y3ev53cq.js.map +10 -0
  137. package/dist/{chunk-gqm76kse.js → chunk-ybhz3j9g.js} +342 -41
  138. package/dist/{chunk-gqm76kse.js.map → chunk-ybhz3j9g.js.map} +17 -12
  139. package/dist/{chunk-z30bv4ga.js → chunk-yxb4c62x.js} +3 -2
  140. package/dist/{chunk-z30bv4ga.js.map → chunk-yxb4c62x.js.map} +3 -3
  141. package/dist/chunk-z3y5kg1x.js +14 -0
  142. package/dist/chunk-z3y5kg1x.js.map +10 -0
  143. package/dist/datasets/validation.d.ts +4 -0
  144. package/dist/datasets/validation.d.ts.map +1 -1
  145. package/dist/datasets/write.d.ts.map +1 -1
  146. package/dist/datasets/write.js +5 -4
  147. package/dist/datasets/write.js.map +1 -1
  148. package/dist/error-reporting/capability.d.ts +3 -2
  149. package/dist/error-reporting/capability.d.ts.map +1 -1
  150. package/dist/error-reporting/internal.js +5 -4
  151. package/dist/error-reporting/internal.js.map +1 -1
  152. package/dist/error-reporting/reports.d.ts +10 -0
  153. package/dist/error-reporting/reports.d.ts.map +1 -1
  154. package/dist/error-reporting/types.d.ts +10 -2
  155. package/dist/error-reporting/types.d.ts.map +1 -1
  156. package/dist/errors/catalog.d.ts +12 -0
  157. package/dist/errors/catalog.d.ts.map +1 -1
  158. package/dist/errors/failure-message.d.ts +8 -0
  159. package/dist/errors/failure-message.d.ts.map +1 -0
  160. package/dist/errors/internal.d.ts.map +1 -1
  161. package/dist/errors/internal.js +3 -2
  162. package/dist/errors/internal.js.map +1 -1
  163. package/dist/events/index.js +5 -4
  164. package/dist/events/index.js.map +1 -1
  165. package/dist/execution/agent.js +44 -41
  166. package/dist/execution/agent.js.map +1 -1
  167. package/dist/execution/authorization.d.ts.map +1 -1
  168. package/dist/execution/authorized-object-reader.d.ts +3 -0
  169. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  170. package/dist/execution/kernel-operation.d.ts +4 -0
  171. package/dist/execution/kernel-operation.d.ts.map +1 -0
  172. package/dist/execution/primitive.js +44 -41
  173. package/dist/execution/primitive.js.map +2 -2
  174. package/dist/execution/request.js +45 -42
  175. package/dist/execution/request.js.map +2 -2
  176. package/dist/execution/types.d.ts +6 -0
  177. package/dist/execution/types.d.ts.map +1 -1
  178. package/dist/index.d.ts +15 -5
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +68 -59
  181. package/dist/index.js.map +1 -1
  182. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  183. package/dist/lake-storage/index.js +5 -4
  184. package/dist/lake-storage/index.js.map +1 -1
  185. package/dist/materialization/errors.d.ts +1 -1
  186. package/dist/materialization/errors.d.ts.map +1 -1
  187. package/dist/materialization/index.d.ts +1 -0
  188. package/dist/materialization/index.d.ts.map +1 -1
  189. package/dist/materialization/index.js +3 -3
  190. package/dist/materialization/model.d.ts +2 -0
  191. package/dist/materialization/model.d.ts.map +1 -1
  192. package/dist/materialization/vectors.d.ts +19 -0
  193. package/dist/materialization/vectors.d.ts.map +1 -0
  194. package/dist/materializer/context.d.ts.map +1 -1
  195. package/dist/materializer/edits/commit.d.ts.map +1 -1
  196. package/dist/materializer/edits/vector-authority.d.ts +6 -0
  197. package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
  198. package/dist/materializer/edits/vectors.d.ts +6 -0
  199. package/dist/materializer/edits/vectors.d.ts.map +1 -0
  200. package/dist/materializer/effective/validate.d.ts.map +1 -1
  201. package/dist/materializer/effective/vector-indexing.d.ts +7 -0
  202. package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
  203. package/dist/materializer/effective/vectors.d.ts +6 -0
  204. package/dist/materializer/effective/vectors.d.ts.map +1 -0
  205. package/dist/materializer/execution/work-executor.d.ts +2 -1
  206. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  207. package/dist/materializer/index.js +26 -25
  208. package/dist/materializer/index.js.map +1 -1
  209. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  210. package/dist/models/catalog-index.d.ts +15 -0
  211. package/dist/models/catalog-index.d.ts.map +1 -0
  212. package/dist/models/catalog.d.ts +27 -6
  213. package/dist/models/catalog.d.ts.map +1 -1
  214. package/dist/models/decision/catalog.d.ts +12 -0
  215. package/dist/models/decision/catalog.d.ts.map +1 -0
  216. package/dist/models/decision/errors.d.ts +7 -0
  217. package/dist/models/decision/errors.d.ts.map +1 -0
  218. package/dist/models/decision/output.d.ts +50 -0
  219. package/dist/models/decision/output.d.ts.map +1 -0
  220. package/dist/models/decision/questions.d.ts +14 -0
  221. package/dist/models/decision/questions.d.ts.map +1 -0
  222. package/dist/models/decision/runtime.d.ts +7 -0
  223. package/dist/models/decision/runtime.d.ts.map +1 -0
  224. package/dist/models/decision/types.d.ts +92 -0
  225. package/dist/models/decision/types.d.ts.map +1 -0
  226. package/dist/models/decision/validation.d.ts +7 -0
  227. package/dist/models/decision/validation.d.ts.map +1 -0
  228. package/dist/models/definitions.d.ts +1 -1
  229. package/dist/models/definitions.d.ts.map +1 -1
  230. package/dist/models/embedding-model.d.ts +60 -0
  231. package/dist/models/embedding-model.d.ts.map +1 -0
  232. package/dist/models/execution/binding.d.ts +2 -0
  233. package/dist/models/execution/binding.d.ts.map +1 -1
  234. package/dist/models/execution/embedding.d.ts +5 -0
  235. package/dist/models/execution/embedding.d.ts.map +1 -0
  236. package/dist/models/execution/index.js +29 -26
  237. package/dist/models/execution/index.js.map +1 -1
  238. package/dist/models/execution/model-call-recorder.d.ts +5 -1
  239. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  240. package/dist/models/execution/session.d.ts +21 -0
  241. package/dist/models/execution/session.d.ts.map +1 -0
  242. package/dist/models/execution.d.ts.map +1 -1
  243. package/dist/models/generation-types.d.ts +2 -0
  244. package/dist/models/generation-types.d.ts.map +1 -1
  245. package/dist/models/index.d.ts +9 -1
  246. package/dist/models/index.d.ts.map +1 -1
  247. package/dist/models/index.js +17 -7
  248. package/dist/models/index.js.map +1 -1
  249. package/dist/models/pricing.d.ts +3 -2
  250. package/dist/models/pricing.d.ts.map +1 -1
  251. package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
  252. package/dist/objects/execution.d.ts +1 -0
  253. package/dist/objects/execution.d.ts.map +1 -1
  254. package/dist/objects/index.js +29 -28
  255. package/dist/objects/index.js.map +1 -1
  256. package/dist/objects/query/executor.d.ts +3 -0
  257. package/dist/objects/query/executor.d.ts.map +1 -1
  258. package/dist/objects/query/index.d.ts +2 -0
  259. package/dist/objects/query/index.d.ts.map +1 -1
  260. package/dist/objects/query/index.js +34 -24
  261. package/dist/objects/query/index.js.map +1 -1
  262. package/dist/objects/query/ir.d.ts +6 -2
  263. package/dist/objects/query/ir.d.ts.map +1 -1
  264. package/dist/objects/query/normalize.d.ts.map +1 -1
  265. package/dist/objects/query/validate.d.ts.map +1 -1
  266. package/dist/objects/sdk/object-handle.d.ts +5 -0
  267. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  268. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  269. package/dist/objects/sdk/query-executor.d.ts +2 -0
  270. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  271. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  272. package/dist/objects/vectors/handle.d.ts +4 -0
  273. package/dist/objects/vectors/handle.d.ts.map +1 -0
  274. package/dist/objects/vectors/indexing-batch.d.ts +6 -0
  275. package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
  276. package/dist/objects/vectors/indexing-generate.d.ts +11 -0
  277. package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
  278. package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
  279. package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
  280. package/dist/objects/vectors/indexing-shared.d.ts +17 -0
  281. package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
  282. package/dist/objects/vectors/indexing-single.d.ts +4 -0
  283. package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
  284. package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
  285. package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
  286. package/dist/objects/vectors/indexing.d.ts +7 -0
  287. package/dist/objects/vectors/indexing.d.ts.map +1 -0
  288. package/dist/objects/vectors/profile.d.ts +13 -0
  289. package/dist/objects/vectors/profile.d.ts.map +1 -0
  290. package/dist/objects/vectors/query.d.ts +5 -0
  291. package/dist/objects/vectors/query.d.ts.map +1 -0
  292. package/dist/objects/vectors/resolve-query.d.ts +6 -0
  293. package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
  294. package/dist/objects/vectors/types.d.ts +11 -0
  295. package/dist/objects/vectors/types.d.ts.map +1 -0
  296. package/dist/ontology/index.d.ts +2 -1
  297. package/dist/ontology/index.d.ts.map +1 -1
  298. package/dist/ontology/index.js +5 -5
  299. package/dist/ontology/index.js.map +1 -1
  300. package/dist/ontology/internal.js +5 -4
  301. package/dist/ontology/internal.js.map +1 -1
  302. package/dist/ontology/registry.d.ts.map +1 -1
  303. package/dist/ontology/types.d.ts +8 -9
  304. package/dist/ontology/types.d.ts.map +1 -1
  305. package/dist/ontology/validation/definition.d.ts +3 -0
  306. package/dist/ontology/validation/definition.d.ts.map +1 -0
  307. package/dist/ontology/validation/properties.d.ts.map +1 -1
  308. package/dist/ontology/validation/query.d.ts.map +1 -1
  309. package/dist/ontology/validation/schema.d.ts +1 -1
  310. package/dist/ontology/validation/schema.d.ts.map +1 -1
  311. package/dist/ontology/vector-profiles.d.ts +4 -0
  312. package/dist/ontology/vector-profiles.d.ts.map +1 -0
  313. package/dist/pipelines/index.js +28 -27
  314. package/dist/pipelines/index.js.map +1 -1
  315. package/dist/projections/internal.js +24 -23
  316. package/dist/projections/internal.js.map +1 -1
  317. package/dist/query.js +2 -2
  318. package/dist/queues/in-memory.d.ts +2 -1
  319. package/dist/queues/in-memory.d.ts.map +1 -1
  320. package/dist/queues/index.d.ts +1 -1
  321. package/dist/queues/index.d.ts.map +1 -1
  322. package/dist/queues/index.js +1 -1
  323. package/dist/queues/types.d.ts +5 -0
  324. package/dist/queues/types.d.ts.map +1 -1
  325. package/dist/runtime/create.d.ts +4 -3
  326. package/dist/runtime/create.d.ts.map +1 -1
  327. package/dist/runtime/host.d.ts +9 -6
  328. package/dist/runtime/host.d.ts.map +1 -1
  329. package/dist/runtime/internal.d.ts +3 -0
  330. package/dist/runtime/internal.d.ts.map +1 -1
  331. package/dist/runtime/internal.js +47 -1
  332. package/dist/runtime/internal.js.map +1 -1
  333. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  334. package/dist/runtime/sixb.d.ts +9 -4
  335. package/dist/runtime/sixb.d.ts.map +1 -1
  336. package/dist/runtime/types.d.ts +15 -3
  337. package/dist/runtime/types.d.ts.map +1 -1
  338. package/dist/sandboxes/auth.d.ts +16 -0
  339. package/dist/sandboxes/auth.d.ts.map +1 -0
  340. package/dist/sandboxes/config.d.ts +5 -0
  341. package/dist/sandboxes/config.d.ts.map +1 -0
  342. package/dist/sandboxes/configuration.d.ts +41 -0
  343. package/dist/sandboxes/configuration.d.ts.map +1 -0
  344. package/dist/sandboxes/environment.d.ts +13 -0
  345. package/dist/sandboxes/environment.d.ts.map +1 -0
  346. package/dist/sandboxes/errors.d.ts +1 -1
  347. package/dist/sandboxes/errors.d.ts.map +1 -1
  348. package/dist/sandboxes/index.d.ts +6 -1
  349. package/dist/sandboxes/index.d.ts.map +1 -1
  350. package/dist/sandboxes/index.js +16 -3
  351. package/dist/sandboxes/index.js.map +1 -1
  352. package/dist/sandboxes/sandbox.d.ts +35 -3
  353. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  354. package/dist/shared/params/builders.d.ts +25 -0
  355. package/dist/shared/params/builders.d.ts.map +1 -0
  356. package/dist/shared/params/types.d.ts +47 -0
  357. package/dist/shared/params/types.d.ts.map +1 -0
  358. package/dist/shared/params/validation.d.ts +15 -0
  359. package/dist/shared/params/validation.d.ts.map +1 -0
  360. package/dist/shares/internal.js +23 -22
  361. package/dist/shares/internal.js.map +2 -2
  362. package/dist/storage/action-runs/failure.js +4 -3
  363. package/dist/storage/action-runs/failure.js.map +1 -1
  364. package/dist/storage/action-runs/provider.js +1 -1
  365. package/dist/storage/agents/in-memory.d.ts +2 -1
  366. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  367. package/dist/storage/agents/index.d.ts +1 -1
  368. package/dist/storage/agents/index.d.ts.map +1 -1
  369. package/dist/storage/agents/provider.d.ts +5 -1
  370. package/dist/storage/agents/provider.d.ts.map +1 -1
  371. package/dist/storage/agents/provider.js +8 -4
  372. package/dist/storage/agents/provider.js.map +1 -1
  373. package/dist/storage/agents/types.d.ts +49 -0
  374. package/dist/storage/agents/types.d.ts.map +1 -1
  375. package/dist/storage/ai-cost/analytics.d.ts +1 -0
  376. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  377. package/dist/storage/ai-cost/index.d.ts +1 -1
  378. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  379. package/dist/storage/ai-cost/provider.js +2 -2
  380. package/dist/storage/ai-cost/types.d.ts +14 -2
  381. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  382. package/dist/storage/ai-limits/enforcement.js +4 -3
  383. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  384. package/dist/storage/connector-connections/provider.js +3 -2
  385. package/dist/storage/connector-connections/provider.js.map +2 -2
  386. package/dist/storage/executions/provider.d.ts +3 -3
  387. package/dist/storage/executions/provider.d.ts.map +1 -1
  388. package/dist/storage/executions/provider.js +13 -11
  389. package/dist/storage/executions/provider.js.map +3 -3
  390. package/dist/storage/executions/types.d.ts +3 -0
  391. package/dist/storage/executions/types.d.ts.map +1 -1
  392. package/dist/storage/executions/validation.d.ts.map +1 -1
  393. package/dist/storage/index.d.ts +5 -3
  394. package/dist/storage/index.d.ts.map +1 -1
  395. package/dist/storage/index.js +25 -22
  396. package/dist/storage/index.js.map +1 -1
  397. package/dist/storage/internal.js +2 -2
  398. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  399. package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
  400. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  401. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  402. package/dist/storage/objects/in-memory/storage.d.ts +7 -0
  403. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  404. package/dist/storage/objects/types.d.ts +2 -0
  405. package/dist/storage/objects/types.d.ts.map +1 -1
  406. package/dist/storage/ontology/commits.d.ts +1 -0
  407. package/dist/storage/ontology/commits.d.ts.map +1 -1
  408. package/dist/storage/ontology/in-memory/index.d.ts +4 -0
  409. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  410. package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
  411. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  412. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
  413. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  414. package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
  415. package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
  416. package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
  417. package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
  418. package/dist/storage/ontology/index.d.ts +6 -0
  419. package/dist/storage/ontology/index.d.ts.map +1 -1
  420. package/dist/storage/ontology/provider.js +2 -2
  421. package/dist/storage/ontology/vector-indexing.d.ts +94 -0
  422. package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
  423. package/dist/storage/ontology/vectors.d.ts +56 -0
  424. package/dist/storage/ontology/vectors.d.ts.map +1 -0
  425. package/dist/storage/operation-scope.d.ts.map +1 -1
  426. package/dist/storage/operation-scope.js +1 -1
  427. package/dist/storage/projection-runs/provider.js +4 -3
  428. package/dist/storage/projection-runs/provider.js.map +1 -1
  429. package/dist/storage/types.d.ts +1 -1
  430. package/dist/storage/types.d.ts.map +1 -1
  431. package/dist/storage/workflow-runs/provider.js +9 -7
  432. package/dist/storage/workflow-runs/provider.js.map +1 -1
  433. package/dist/syncs/index.js +29 -28
  434. package/dist/syncs/index.js.map +1 -1
  435. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  436. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  437. package/dist/testing/index.js +448 -69
  438. package/dist/testing/index.js.map +7 -7
  439. package/dist/testing/object-query-contract.d.ts.map +1 -1
  440. package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
  441. package/dist/testing/queues-contract.d.ts.map +1 -1
  442. package/dist/webhooks/internal.js +24 -23
  443. package/dist/webhooks/internal.js.map +2 -2
  444. package/dist/workers/index.js +3 -2
  445. package/dist/workers/index.js.map +2 -2
  446. package/dist/workflows/failure.d.ts.map +1 -1
  447. package/dist/workflows/index.js +47 -43
  448. package/dist/workflows/index.js.map +1 -1
  449. package/package.json +1 -1
  450. package/src/actions/builders/params.ts +1 -48
  451. package/src/actions/types/params.ts +14 -74
  452. package/src/actions/validation.ts +7 -84
  453. package/src/agents/errors.ts +3 -0
  454. package/src/agents/execution.ts +67 -15
  455. package/src/agents/ids.ts +8 -0
  456. package/src/agents/index.ts +1 -0
  457. package/src/agents/request.ts +11 -0
  458. package/src/agents/sandbox.ts +44 -0
  459. package/src/agents/validation.ts +2 -108
  460. package/src/datasets/validation.ts +40 -11
  461. package/src/datasets/write.ts +8 -11
  462. package/src/error-reporting/capability.ts +11 -0
  463. package/src/error-reporting/reports.ts +23 -0
  464. package/src/error-reporting/types.ts +12 -1
  465. package/src/errors/catalog.ts +12 -0
  466. package/src/errors/failure-message.ts +15 -0
  467. package/src/errors/internal.ts +57 -25
  468. package/src/execution/authorization.ts +12 -5
  469. package/src/execution/authorized-object-reader.ts +37 -2
  470. package/src/execution/kernel-operation.ts +27 -0
  471. package/src/execution/scopes.ts +2 -0
  472. package/src/execution/types.ts +4 -4
  473. package/src/index.ts +60 -1
  474. package/src/lake-storage/in-memory.ts +5 -3
  475. package/src/materialization/errors.ts +2 -2
  476. package/src/materialization/index.ts +1 -0
  477. package/src/materialization/model.ts +2 -0
  478. package/src/materialization/vectors.ts +18 -0
  479. package/src/materializer/README.md +14 -0
  480. package/src/materializer/context.ts +10 -0
  481. package/src/materializer/edits/commit.ts +8 -1
  482. package/src/materializer/edits/vector-authority.ts +108 -0
  483. package/src/materializer/edits/vectors.ts +100 -0
  484. package/src/materializer/effective/validate.ts +10 -3
  485. package/src/materializer/effective/vector-indexing.ts +84 -0
  486. package/src/materializer/effective/vectors.ts +47 -0
  487. package/src/materializer/execution/work-executor.ts +11 -3
  488. package/src/materializer/projections/replace.ts +1 -1
  489. package/src/materializer/shared/normalize.ts +11 -0
  490. package/src/materializer/telemetry/append.ts +1 -1
  491. package/src/models/catalog-index.ts +38 -0
  492. package/src/models/catalog.ts +66 -38
  493. package/src/models/decision/catalog.ts +32 -0
  494. package/src/models/decision/errors.ts +18 -0
  495. package/src/models/decision/output.ts +101 -0
  496. package/src/models/decision/questions.ts +29 -0
  497. package/src/models/decision/runtime.ts +188 -0
  498. package/src/models/decision/types.ts +109 -0
  499. package/src/models/decision/validation.ts +335 -0
  500. package/src/models/definitions.ts +1 -1
  501. package/src/models/embedding-model.ts +129 -0
  502. package/src/models/execution/README.md +63 -0
  503. package/src/models/execution/binding.ts +2 -0
  504. package/src/models/execution/embedding.ts +133 -0
  505. package/src/models/execution/model-call-recorder.ts +42 -30
  506. package/src/models/execution/session.ts +81 -0
  507. package/src/models/execution.ts +10 -52
  508. package/src/models/generation-types.ts +2 -0
  509. package/src/models/index.ts +37 -0
  510. package/src/models/pricing.ts +1 -2
  511. package/src/objects/authorized-ontology-view.ts +12 -8
  512. package/src/objects/execution.ts +2 -0
  513. package/src/objects/query/executor.ts +13 -4
  514. package/src/objects/query/explain.ts +7 -2
  515. package/src/objects/query/index.ts +2 -0
  516. package/src/objects/query/ir.ts +6 -2
  517. package/src/objects/query/normalize.ts +5 -1
  518. package/src/objects/query/validate.ts +74 -73
  519. package/src/objects/sdk/object-handle.ts +3 -0
  520. package/src/objects/sdk/object-set.ts +1 -0
  521. package/src/objects/sdk/query-builder.ts +9 -3
  522. package/src/objects/sdk/query-executor.ts +2 -1
  523. package/src/objects/sdk/runtime-query-executor.ts +6 -2
  524. package/src/objects/vectors/README.md +59 -0
  525. package/src/objects/vectors/handle.ts +91 -0
  526. package/src/objects/vectors/indexing-batch.ts +163 -0
  527. package/src/objects/vectors/indexing-generate.ts +184 -0
  528. package/src/objects/vectors/indexing-runtime.ts +17 -0
  529. package/src/objects/vectors/indexing-shared.ts +188 -0
  530. package/src/objects/vectors/indexing-single.ts +51 -0
  531. package/src/objects/vectors/indexing-store-batch.ts +62 -0
  532. package/src/objects/vectors/indexing.ts +23 -0
  533. package/src/objects/vectors/profile.ts +64 -0
  534. package/src/objects/vectors/query.ts +16 -0
  535. package/src/objects/vectors/resolve-query.ts +89 -0
  536. package/src/objects/vectors/types.ts +10 -0
  537. package/src/ontology/index.ts +2 -0
  538. package/src/ontology/registry.ts +8 -0
  539. package/src/ontology/types.ts +9 -9
  540. package/src/ontology/validation/definition.ts +104 -0
  541. package/src/ontology/validation/properties.ts +14 -4
  542. package/src/ontology/validation/query.ts +34 -51
  543. package/src/ontology/validation/schema.ts +85 -23
  544. package/src/ontology/vector-profiles.ts +35 -0
  545. package/src/queues/in-memory.ts +5 -0
  546. package/src/queues/index.ts +1 -0
  547. package/src/queues/types.ts +10 -0
  548. package/src/runtime/create.ts +7 -6
  549. package/src/runtime/host.ts +42 -6
  550. package/src/runtime/internal.ts +3 -0
  551. package/src/runtime/resolve-definitions.ts +19 -1
  552. package/src/runtime/sixb.ts +27 -9
  553. package/src/runtime/types.ts +16 -4
  554. package/src/sandboxes/README.md +41 -0
  555. package/src/sandboxes/auth.ts +17 -0
  556. package/src/sandboxes/config.ts +37 -0
  557. package/src/sandboxes/configuration.ts +268 -0
  558. package/src/sandboxes/environment.ts +107 -0
  559. package/src/sandboxes/errors.ts +1 -1
  560. package/src/sandboxes/index.ts +15 -0
  561. package/src/sandboxes/sandbox.ts +38 -3
  562. package/src/shared/params/builders.ts +50 -0
  563. package/src/shared/params/types.ts +84 -0
  564. package/src/shared/params/validation.ts +114 -0
  565. package/src/storage/agents/in-memory.ts +25 -1
  566. package/src/storage/agents/index.ts +3 -0
  567. package/src/storage/agents/provider.ts +105 -0
  568. package/src/storage/agents/types.ts +54 -0
  569. package/src/storage/ai-cost/analytics.ts +59 -21
  570. package/src/storage/ai-cost/index.ts +1 -0
  571. package/src/storage/ai-cost/types.ts +19 -2
  572. package/src/storage/executions/provider.ts +24 -12
  573. package/src/storage/executions/types.ts +1 -0
  574. package/src/storage/executions/validation.ts +7 -3
  575. package/src/storage/index.ts +15 -1
  576. package/src/storage/objects/in-memory/query.ts +25 -11
  577. package/src/storage/objects/in-memory/read-scope.ts +9 -2
  578. package/src/storage/objects/in-memory/read-source.ts +5 -0
  579. package/src/storage/objects/in-memory/selected-reader.ts +5 -1
  580. package/src/storage/objects/in-memory/storage.ts +19 -1
  581. package/src/storage/objects/types.ts +2 -0
  582. package/src/storage/ontology/commits.ts +1 -0
  583. package/src/storage/ontology/in-memory/index.ts +20 -0
  584. package/src/storage/ontology/in-memory/materializations.ts +13 -0
  585. package/src/storage/ontology/in-memory/shared-state.ts +9 -0
  586. package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
  587. package/src/storage/ontology/in-memory/vectors.ts +73 -0
  588. package/src/storage/ontology/index.ts +14 -0
  589. package/src/storage/ontology/vector-indexing.ts +98 -0
  590. package/src/storage/ontology/vectors.ts +48 -0
  591. package/src/storage/operation-scope.ts +1 -0
  592. package/src/storage/types.ts +3 -0
  593. package/src/testing/agent-storage-contract.ts +246 -0
  594. package/src/testing/ai-cost-storage-contract.ts +134 -0
  595. package/src/testing/object-query-contract.ts +41 -25
  596. package/src/testing/object-read-scope-contract.ts +1 -5
  597. package/src/testing/queues-contract.ts +31 -0
  598. package/src/workflows/failure.ts +10 -4
  599. package/src/workflows/validation.ts +2 -2
  600. package/dist/chunk-01kj2pbh.js.map +0 -19
  601. package/dist/chunk-5hz0fnca.js.map +0 -12
  602. package/dist/chunk-7apz6hg4.js.map +0 -10
  603. package/dist/chunk-7bs40fe1.js.map +0 -12
  604. package/dist/chunk-860dwwy0.js.map +0 -14
  605. package/dist/chunk-93csa55g.js.map +0 -11
  606. package/dist/chunk-a0e6x5hd.js.map +0 -14
  607. package/dist/chunk-aa6z4a19.js.map +0 -12
  608. package/dist/chunk-ap0g1g74.js.map +0 -11
  609. package/dist/chunk-f0rwz2vh.js.map +0 -11
  610. package/dist/chunk-f4w3yp4f.js.map +0 -12
  611. package/dist/chunk-jsy70480.js.map +0 -15
  612. package/dist/chunk-mrp7k0pw.js.map +0 -10
  613. package/dist/chunk-ms2tmn1k.js.map +0 -17
  614. package/dist/chunk-rb1xx120.js.map +0 -11
  615. package/dist/chunk-yv79ncbv.js.map +0 -10
  616. package/dist/chunk-z0271qkp.js.map +0 -15
  617. package/dist/chunk-z3y411fq.js +0 -99
  618. package/dist/chunk-z3y411fq.js.map +0 -11
  619. /package/dist/{chunk-17kfctj6.js.map → chunk-0mza4xb2.js.map} +0 -0
  620. /package/dist/{chunk-1yefycb1.js.map → chunk-3bnt2wna.js.map} +0 -0
  621. /package/dist/{chunk-awbhdqyc.js.map → chunk-3ghw2t5q.js.map} +0 -0
  622. /package/dist/{chunk-b19g04jk.js.map → chunk-3h7ctayx.js.map} +0 -0
  623. /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
  624. /package/dist/{chunk-0y39rgsb.js.map → chunk-5tetw4hn.js.map} +0 -0
  625. /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
  626. /package/dist/{chunk-358caqf5.js.map → chunk-bfjv1adk.js.map} +0 -0
  627. /package/dist/{chunk-g91qxjj0.js.map → chunk-bg2bs62d.js.map} +0 -0
  628. /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
  629. /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
  630. /package/dist/{chunk-1824gssz.js.map → chunk-gswwr35f.js.map} +0 -0
  631. /package/dist/{chunk-92vk7gta.js.map → chunk-gzt6v1ja.js.map} +0 -0
  632. /package/dist/{chunk-gqh45d2n.js.map → chunk-hkw8rykk.js.map} +0 -0
  633. /package/dist/{chunk-cfvakeax.js.map → chunk-jjwhy3rs.js.map} +0 -0
  634. /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
  635. /package/dist/{chunk-653vwrzr.js.map → chunk-rdghfsss.js.map} +0 -0
  636. /package/dist/{chunk-x9m9x2eq.js.map → chunk-t7dzd1tm.js.map} +0 -0
  637. /package/dist/{chunk-pr2h4bv4.js.map → chunk-tg4g4zh0.js.map} +0 -0
  638. /package/dist/{chunk-8vj0rjgs.js.map → chunk-wjffn5m4.js.map} +0 -0
  639. /package/dist/{chunk-wf88w4kp.js.map → chunk-x9tmx3fc.js.map} +0 -0
  640. /package/dist/{chunk-fh8kgex1.js.map → chunk-xn686q2e.js.map} +0 -0
  641. /package/dist/{chunk-v2vcg0w6.js.map → chunk-xtfryrfb.js.map} +0 -0
@@ -0,0 +1,552 @@
1
+ // @bun
2
+ import {
3
+ createSixbError2,
4
+ captureSixbFailure2,
5
+ isSixbError2
6
+ } from "./chunk-hzw7yv5g.js";
7
+ import {
8
+ reportVectorIndexingFailure
9
+ } from "./chunk-bet1rb9h.js";
10
+ import {
11
+ createKernelRuntimeAuthorization
12
+ } from "./chunk-bbaa1fet.js";
13
+ import {
14
+ estimateModelCall
15
+ } from "./chunk-2h63nrde.js";
16
+ import {
17
+ vectorConfiguration,
18
+ vectorSources,
19
+ normalizeVector2,
20
+ VECTOR_INDEXING_FAILURE_CODES2
21
+ } from "./chunk-ybhz3j9g.js";
22
+ import {
23
+ ModelExecutionSession
24
+ } from "./chunk-4ph94nhd.js";
25
+ import {
26
+ executionRecordInputFromRuntime,
27
+ ensureExecutionRecord2
28
+ } from "./chunk-0mza4xb2.js";
29
+ import {
30
+ MaterializationConflictError2
31
+ } from "./chunk-96yw3pwd.js";
32
+ import {
33
+ assertEmbeddingModel,
34
+ sameEmbeddingModel,
35
+ EmbeddingModelResponseError2
36
+ } from "./chunk-p1683c0v.js";
37
+
38
+ // src/objects/vectors/indexing-shared.ts
39
+ import { randomUUID } from "crypto";
40
+ async function prepare(runtime, work) {
41
+ const profile = runtime.ontology.getObjectTypeById(work.ref.objectTypeId)?.search?.vectors?.[work.profile];
42
+ if (!profile || vectorConfiguration(profile) !== work.configuration)
43
+ return null;
44
+ const row = await runtime.storage.objects.getByPrimaryId({
45
+ projectId: runtime.projectId,
46
+ ...work.ref
47
+ });
48
+ if (!row)
49
+ return null;
50
+ const sources = vectorSources(profile.source, row.properties);
51
+ if (sources.sourceFingerprint !== work.sourceFingerprint)
52
+ return null;
53
+ const storedVectors = await runtime.storage.ontology.vectors.list({
54
+ projectId: runtime.projectId,
55
+ ref: work.ref
56
+ });
57
+ const currentVector = storedVectors.find((entry) => entry.profile === work.profile);
58
+ const alreadyIndexed = currentVector?.configuration === work.configuration && currentVector.sourceFingerprint === work.sourceFingerprint;
59
+ if (alreadyIndexed)
60
+ return null;
61
+ return {
62
+ projectId: runtime.projectId,
63
+ ref: work.ref,
64
+ profile: work.profile,
65
+ configuration: work.configuration,
66
+ ...sources,
67
+ expectedObject: {
68
+ ref: work.ref,
69
+ exists: true,
70
+ version: row.version,
71
+ lastCommitId: row.lastCommitId
72
+ },
73
+ expectedVectorCommitId: currentVector?.lastCommitId ?? null
74
+ };
75
+ }
76
+ async function storeVector(runtime, materializer, work, scope, signal) {
77
+ const indexing = runtime.storage.ontology.vectorIndexing;
78
+ const identity = { projectId: runtime.projectId, id: work.id };
79
+ for (let attempt = 0;attempt < 3; attempt++) {
80
+ signal.throwIfAborted();
81
+ const prepared = await prepare(runtime, work);
82
+ if (!prepared) {
83
+ await indexing.remove(identity);
84
+ return;
85
+ }
86
+ try {
87
+ await commitPreparedVectors(materializer, scope, [{ input: prepared, values: work.values }]);
88
+ await indexing.remove(identity);
89
+ return;
90
+ } catch (error) {
91
+ if (!(error instanceof MaterializationConflictError2))
92
+ throw error;
93
+ const currentWork = await indexing.get(identity);
94
+ if (!currentWork)
95
+ return;
96
+ }
97
+ }
98
+ throw new VectorIndexingDeferred2(new Date(Date.now() + 1000).toISOString());
99
+ }
100
+ async function commitPreparedVectors(materializer, scope, writes) {
101
+ await materializer.edits.commit({
102
+ scope,
103
+ input: {
104
+ mode: "atomic",
105
+ source: { kind: "runtime", requestId: randomUUID() },
106
+ operations: [],
107
+ vectorWrites: writes,
108
+ expectedObjects: writes.map((write) => write.input.expectedObject),
109
+ expectedLinks: [],
110
+ expectedLinkScopes: []
111
+ }
112
+ });
113
+ }
114
+ async function indexingScope(runtime, work, indexingId = work.id) {
115
+ const operation = { type: "ontology.indexVectors", indexingId };
116
+ const execution = {
117
+ id: `exec_vector_${indexingId}`,
118
+ projectId: runtime.projectId,
119
+ executor: { type: "kernel", operation },
120
+ source: { type: "ontologyCommit", commitId: work.sourceCommitId },
121
+ correlationId: `vector_${indexingId}`
122
+ };
123
+ const authorization = createKernelRuntimeAuthorization({ execution, operation });
124
+ await ensureExecutionRecord2(runtime.storage.executions, {
125
+ ...executionRecordInputFromRuntime({ execution, runtimeAuthorization: authorization }),
126
+ requesterGroupIds: []
127
+ });
128
+ return { execution, authorization };
129
+ }
130
+ async function fail(runtime, indexing, work, error) {
131
+ const failure = captureSixbFailure2(error, {
132
+ allowedCodes: VECTOR_INDEXING_FAILURE_CODES2,
133
+ defaultCode: "internal.unexpected"
134
+ });
135
+ const recorded = await indexing.update({
136
+ projectId: runtime.projectId,
137
+ id: work.id,
138
+ expectedStatus: work.status,
139
+ status: "failed",
140
+ availableAt: new Date().toISOString(),
141
+ error: failure
142
+ });
143
+ if (!recorded)
144
+ return;
145
+ reportVectorIndexingFailure(runtime, error, {
146
+ projectId: runtime.projectId,
147
+ indexingId: work.id,
148
+ failure,
149
+ ...work.ref,
150
+ profile: work.profile
151
+ });
152
+ }
153
+ function retryAt(details) {
154
+ const resetAt = details && typeof details === "object" && "resetAt" in details ? details.resetAt : undefined;
155
+ const resetTimestamp = typeof resetAt === "string" ? Date.parse(resetAt) : Number.NaN;
156
+ const minimumRetryTimestamp = Date.now() + 60000;
157
+ const budgetResetTimestamp = Number.isFinite(resetTimestamp) ? resetTimestamp : 0;
158
+ const retryTimestamp = Math.max(minimumRetryTimestamp, budgetResetTimestamp);
159
+ return new Date(retryTimestamp).toISOString();
160
+ }
161
+
162
+ class VectorIndexingDeferred2 extends Error {
163
+ availableAt;
164
+ constructor(availableAt) {
165
+ super("[Sixb] Vector indexing is deferred.");
166
+ this.availableAt = availableAt;
167
+ }
168
+ }
169
+
170
+ // src/models/execution/embedding.ts
171
+ import { randomUUID as randomUUID2 } from "crypto";
172
+ function bindEmbeddingModels(catalog, session) {
173
+ if (!catalog)
174
+ return;
175
+ const entries = Object.freeze(catalog.list().map((entry) => Object.freeze({
176
+ ...entry,
177
+ model: Object.freeze({
178
+ providerId: entry.model.providerId,
179
+ modelId: entry.model.modelId,
180
+ definition: entry.model.definition,
181
+ batching: entry.model.batching && Object.freeze({ ...entry.model.batching }),
182
+ embed: (input) => executeEmbedding(session, entry.model, input)
183
+ })
184
+ })));
185
+ const byRef = new Map(entries.map((entry) => [JSON.stringify([entry.provider, entry.modelId]), entry]));
186
+ return Object.freeze({
187
+ list: () => entries,
188
+ getByRef: (ref) => byRef.get(JSON.stringify([ref.provider, ref.modelId])) ?? null
189
+ });
190
+ }
191
+ async function executeEmbedding(session, binding, input) {
192
+ if (!Array.isArray(input.texts) || input.texts.some((text) => typeof text !== "string" || !text.trim())) {
193
+ throw new TypeError("[SixbModels] Embedding inputs must be nonempty strings.");
194
+ }
195
+ const texts = [...input.texts];
196
+ const signal = session.signal(input.signal);
197
+ const requestSignal = AbortSignal.any([signal, AbortSignal.timeout(30000)]);
198
+ requestSignal.throwIfAborted();
199
+ if (!texts.length)
200
+ return { vectors: [] };
201
+ const accounting = await session.accounting();
202
+ accounting.assertHealthy();
203
+ const model = await binding.resolve?.() ?? binding;
204
+ assertEmbeddingModel(model);
205
+ if (!sameEmbeddingModel(model, binding)) {
206
+ throw new TypeError("[SixbModels] Resolved embedding model identity does not match the selected model.");
207
+ }
208
+ requestSignal.throwIfAborted();
209
+ const callId = `call_${randomUUID2()}`;
210
+ const tokens = texts.reduce((sum, text) => sum + Math.ceil(new TextEncoder().encode(text).byteLength / 4), 0);
211
+ await session.admitEmbeddingCall(() => accounting.admitCall({
212
+ callId,
213
+ providerId: model.providerId,
214
+ modelId: model.modelId,
215
+ costEstimator: model.costEstimator,
216
+ inputTokens: { status: "estimated", tokens, method: "utf8BytesDividedByFour" },
217
+ outputTokenAllowance: 0,
218
+ estimatedTotalTokens: tokens
219
+ }));
220
+ let result;
221
+ try {
222
+ requestSignal.throwIfAborted();
223
+ result = await model.embed({ texts, signal: requestSignal });
224
+ } catch (error) {
225
+ if (error instanceof EmbeddingModelResponseError2) {
226
+ await recordEmbedding(accounting, model, callId, error.metadata);
227
+ } else {
228
+ await recordEmbedding(accounting, model, callId, {});
229
+ }
230
+ throw error;
231
+ }
232
+ await recordEmbedding(accounting, model, callId, result ?? {});
233
+ requestSignal.throwIfAborted();
234
+ return result;
235
+ }
236
+ async function recordEmbedding(accounting, model, callId, metadata) {
237
+ const usage = { ...metadata.usage, outputTokens: 0 };
238
+ const estimate = estimateModelCall(model, {
239
+ usage,
240
+ route: metadata.route,
241
+ responseModelId: metadata.responseModelId
242
+ });
243
+ await accounting.onModelCallEnd({
244
+ callId,
245
+ providerId: model.providerId,
246
+ modelId: model.modelId,
247
+ responseId: metadata.providerIds?.responseId ?? callId,
248
+ responseModelId: metadata.responseModelId,
249
+ providerIds: metadata.providerIds,
250
+ usage,
251
+ cost: metadata.reportedCost ? { status: "reported", ...metadata.reportedCost } : estimate,
252
+ ...metadata.reportedCost ? { estimate } : {},
253
+ route: metadata.route
254
+ });
255
+ }
256
+
257
+ // src/objects/vectors/indexing-generate.ts
258
+ async function generateVectors(runtime, entries, scope, attempt, signal) {
259
+ const first = entries[0];
260
+ const profile = runtime.ontology.resolveObjectType(first.work.ref.objectTypeId).search.vectors[first.work.profile];
261
+ const generation = { runtime, entries, signal, phase: "pending" };
262
+ const session = new ModelExecutionSession({ ...runtime, runtimeAuthorization: scope.authorization }, scope.execution);
263
+ session.bind({
264
+ attempt,
265
+ signal,
266
+ embeddingAdmission: (admit) => admitGeneration(generation, admit)
267
+ });
268
+ try {
269
+ const model = bindEmbeddingModels(runtime.embeddingModels, session)?.getByRef({
270
+ provider: profile.model.providerId,
271
+ modelId: profile.model.modelId
272
+ })?.model;
273
+ if (!model || !sameEmbeddingModel(model, profile.model)) {
274
+ throw createSixbError2("vector.model_unavailable", "[Sixb] Vector indexing requires the profile's configured embedding model.");
275
+ }
276
+ const result = await model.embed({ texts: entries.map((entry) => entry.input.text), signal });
277
+ const values = normalizeEmbeddingResult(result, entries.length, profile.model.definition.dimensions);
278
+ await runtime.storage.ontology.vectorIndexing.updateBatch({
279
+ projectId: runtime.projectId,
280
+ updates: entries.map(({ work }, index) => ({
281
+ id: work.id,
282
+ expectedStatus: "running",
283
+ status: "ready",
284
+ values: values[index],
285
+ availableAt: new Date().toISOString()
286
+ }))
287
+ });
288
+ } catch (error) {
289
+ await handleGenerationFailure(generation, error);
290
+ }
291
+ }
292
+ async function admitGeneration(generation, admit) {
293
+ generation.signal.throwIfAborted();
294
+ generation.phase = "claiming";
295
+ const claimed = await transitionWork(generation, "pending", "running", { requireAll: true });
296
+ generation.phase = claimed ? "running" : "pending";
297
+ if (!claimed) {
298
+ if (generation.entries.length === 1) {
299
+ throw new Error("[Sixb] Vector indexing request was superseded.");
300
+ }
301
+ throw new VectorIndexingDeferred2(new Date().toISOString());
302
+ }
303
+ try {
304
+ await admit();
305
+ } catch (error) {
306
+ await transitionWork(generation, "running", "pending");
307
+ generation.phase = "pending";
308
+ throw error;
309
+ }
310
+ }
311
+ function normalizeEmbeddingResult(result, count, dimensions) {
312
+ try {
313
+ if (!Array.isArray(result?.vectors) || result.vectors.length !== count) {
314
+ throw new Error("Unexpected vector count");
315
+ }
316
+ return result.vectors.map((vector) => normalizeVector2(vector, dimensions));
317
+ } catch (cause) {
318
+ throw createSixbError2("vector.response_invalid", "[Sixb] Invalid embedding batch response.", {
319
+ cause
320
+ });
321
+ }
322
+ }
323
+ async function handleGenerationFailure(generation, error) {
324
+ if (generation.phase === "claiming" || error instanceof VectorIndexingDeferred2) {
325
+ throw error;
326
+ }
327
+ if (generation.phase === "pending") {
328
+ if (isSixbError2(error) && (error.code === "ai.usage_limit_exceeded" || error.code === "ai.usage_limit_unavailable")) {
329
+ const availableAt = retryAt(error.details);
330
+ await transitionWork(generation, "pending", "pending", { availableAt });
331
+ throw new VectorIndexingDeferred2(availableAt);
332
+ }
333
+ if (generation.signal.aborted)
334
+ throw error;
335
+ }
336
+ const failure = error instanceof EmbeddingModelResponseError2 ? createSixbError2("vector.response_invalid", "[Sixb] Invalid embedding batch response.", {
337
+ cause: error
338
+ }) : error;
339
+ const { runtime, entries } = generation;
340
+ const indexing = runtime.storage.ontology.vectorIndexing;
341
+ for (const { work } of entries) {
342
+ await fail(runtime, indexing, { ...work, status: generation.phase }, failure);
343
+ }
344
+ }
345
+ function transitionWork(generation, expectedStatus, status, options = {}) {
346
+ const { runtime, entries } = generation;
347
+ const availableAt = options.availableAt ?? new Date().toISOString();
348
+ return runtime.storage.ontology.vectorIndexing.updateBatch({
349
+ projectId: runtime.projectId,
350
+ requireAll: options.requireAll ?? false,
351
+ updates: entries.map(({ work }) => ({ id: work.id, expectedStatus, status, availableAt }))
352
+ });
353
+ }
354
+
355
+ // src/objects/vectors/indexing-single.ts
356
+ async function processVector(runtime, materializer, id, attempt, signal) {
357
+ const indexing = runtime.storage.ontology.vectorIndexing;
358
+ if (!indexing)
359
+ throw new Error("[Sixb] Storage does not support automatic vector indexing.");
360
+ const projectId = runtime.projectId;
361
+ const work = await indexing.get({ projectId, id });
362
+ if (!work || work.status === "failed")
363
+ return;
364
+ if (work.status === "running") {
365
+ await fail(runtime, indexing, work, createSixbError2("vector.outcome_unknown", "[Sixb] Interrupted embedding call has an unknown outcome; inference was not repeated."));
366
+ return;
367
+ }
368
+ if (Date.parse(work.availableAt) > Date.now())
369
+ throw new VectorIndexingDeferred2(work.availableAt);
370
+ const prepared = await prepare(runtime, work);
371
+ if (!prepared) {
372
+ await indexing.remove({ projectId, id });
373
+ return;
374
+ }
375
+ const scope = await indexingScope(runtime, work, work.batchId ?? work.id);
376
+ if (work.status === "ready") {
377
+ await storeVector(runtime, materializer, work, scope, signal);
378
+ return;
379
+ }
380
+ await generateVectors(runtime, [{ work, input: prepared }], scope, attempt, signal);
381
+ const ready = await indexing.get({ projectId, id });
382
+ if (ready?.status === "ready")
383
+ await storeVector(runtime, materializer, ready, scope, signal);
384
+ }
385
+
386
+ // src/objects/vectors/indexing-store-batch.ts
387
+ async function storeVectorBatch(runtime, materializer, batchId, scope, signal) {
388
+ const indexing = runtime.storage.ontology.vectorIndexing;
389
+ const identity = { projectId: runtime.projectId, batchId };
390
+ for (let attempt = 0;attempt < 3; attempt++) {
391
+ const ready = (await indexing.getBatch(identity)).filter((work) => work.status === "ready");
392
+ const writes = [];
393
+ for (const work of ready) {
394
+ signal.throwIfAborted();
395
+ const input = await prepare(runtime, work);
396
+ if (input) {
397
+ writes.push({ input, values: work.values });
398
+ } else {
399
+ await indexing.remove({ projectId: runtime.projectId, id: work.id });
400
+ }
401
+ }
402
+ if (!writes.length)
403
+ return;
404
+ try {
405
+ signal.throwIfAborted();
406
+ await commitPreparedVectors(materializer, scope, writes);
407
+ return;
408
+ } catch (error) {
409
+ if (!(error instanceof MaterializationConflictError2))
410
+ throw error;
411
+ }
412
+ }
413
+ let deferred = false;
414
+ for (const work of await indexing.getBatch(identity)) {
415
+ if (work.status !== "ready")
416
+ continue;
417
+ try {
418
+ await storeVector(runtime, materializer, work, scope, signal);
419
+ } catch (error) {
420
+ if (!(error instanceof VectorIndexingDeferred2))
421
+ throw error;
422
+ deferred = true;
423
+ }
424
+ }
425
+ if (deferred)
426
+ throw new VectorIndexingDeferred2(new Date(Date.now() + 1000).toISOString());
427
+ }
428
+
429
+ // src/objects/vectors/indexing-batch.ts
430
+ async function processVectorBatch(runtime, materializer, batchId, batch, attempt, signal) {
431
+ if (batch.some((work) => work.status !== "pending")) {
432
+ await resumeBatch(runtime, materializer, batchId, batch, attempt, signal);
433
+ return;
434
+ }
435
+ const entries = await prepareBatch(runtime, batch, signal);
436
+ const first = entries[0];
437
+ if (!first)
438
+ return;
439
+ const limits = getBatchLimits(runtime, first.work);
440
+ if (!limits) {
441
+ for (const { work } of entries) {
442
+ await processVector(runtime, materializer, work.id, attempt, signal);
443
+ }
444
+ return;
445
+ }
446
+ assertCompatibleEntries(entries, first.work);
447
+ const scope = await indexingScope(runtime, first.work, batchId);
448
+ for (const group of partition(entries, limits)) {
449
+ if (group.length === 1) {
450
+ await processVector(runtime, materializer, group[0].work.id, attempt, signal);
451
+ } else {
452
+ await generateVectors(runtime, group, scope, attempt, signal);
453
+ }
454
+ }
455
+ await storeVectorBatch(runtime, materializer, batchId, scope, signal);
456
+ }
457
+ async function resumeBatch(runtime, materializer, batchId, batch, attempt, signal) {
458
+ const ready = batch.find((work) => work.status === "ready");
459
+ if (ready) {
460
+ const scope = await indexingScope(runtime, ready, batchId);
461
+ await storeVectorBatch(runtime, materializer, batchId, scope, signal);
462
+ }
463
+ for (const work of batch) {
464
+ if (work.status !== "ready") {
465
+ await processVector(runtime, materializer, work.id, attempt, signal);
466
+ }
467
+ }
468
+ }
469
+ async function prepareBatch(runtime, batch, signal) {
470
+ const availableAt = batch.reduce((latest, work) => work.availableAt > latest ? work.availableAt : latest, "");
471
+ if (Date.parse(availableAt) > Date.now()) {
472
+ throw new VectorIndexingDeferred2(availableAt);
473
+ }
474
+ const entries = [];
475
+ const indexing = runtime.storage.ontology.vectorIndexing;
476
+ for (const work of batch) {
477
+ signal.throwIfAborted();
478
+ const input = await prepare(runtime, work);
479
+ if (input) {
480
+ entries.push({ work, input });
481
+ } else {
482
+ await indexing.remove({ projectId: runtime.projectId, id: work.id });
483
+ }
484
+ }
485
+ return entries;
486
+ }
487
+ function getBatchLimits(runtime, work) {
488
+ const profile = runtime.ontology.resolveObjectType(work.ref.objectTypeId).search.vectors[work.profile];
489
+ return runtime.embeddingModels?.getByRef({
490
+ provider: profile.model.providerId,
491
+ modelId: profile.model.modelId
492
+ })?.model.batching;
493
+ }
494
+ function assertCompatibleEntries(entries, reference) {
495
+ const incompatible = entries.some(({ work }) => work.sourceCommitId !== reference.sourceCommitId || work.ref.objectTypeId !== reference.ref.objectTypeId || work.profile !== reference.profile || work.configuration !== reference.configuration);
496
+ if (incompatible) {
497
+ throw new Error("[Sixb] Incompatible vector batch membership.");
498
+ }
499
+ }
500
+ function* partition(entries, limits) {
501
+ let group = [];
502
+ let bytes = 0;
503
+ for (const entry of entries) {
504
+ const size = Buffer.byteLength(entry.input.text);
505
+ const exceedsGroupLimit = group.length >= limits.maxInputs || bytes + size > limits.maxTotalInputBytes || size > limits.maxInputBytes;
506
+ if (group.length > 0 && exceedsGroupLimit) {
507
+ yield group;
508
+ group = [];
509
+ bytes = 0;
510
+ }
511
+ if (size > limits.maxInputBytes || size > limits.maxTotalInputBytes) {
512
+ yield [entry];
513
+ continue;
514
+ }
515
+ group.push(entry);
516
+ bytes += size;
517
+ }
518
+ if (group.length > 0)
519
+ yield group;
520
+ }
521
+
522
+ // src/objects/vectors/indexing.ts
523
+ function createVectorIndexingRuntime(runtime, materializer) {
524
+ return {
525
+ async process(id, attempt, signal) {
526
+ const indexing = runtime.storage.ontology.vectorIndexing;
527
+ if (!indexing)
528
+ throw new Error("[Sixb] Storage does not support automatic vector indexing.");
529
+ const batch = await indexing.getBatch({ projectId: runtime.projectId, batchId: id });
530
+ if (batch.length)
531
+ await processVectorBatch(runtime, materializer, id, batch, attempt, signal);
532
+ else
533
+ await processVector(runtime, materializer, id, attempt, signal);
534
+ }
535
+ };
536
+ }
537
+
538
+ // src/objects/vectors/indexing-runtime.ts
539
+ var runtimes = new WeakMap;
540
+ function registerVectorIndexingRuntime(host, runtime) {
541
+ runtimes.set(host, runtime);
542
+ }
543
+ function getVectorIndexingRuntime2(host) {
544
+ const runtime = runtimes.get(host);
545
+ if (!runtime)
546
+ throw new Error("[Sixb] Vector indexing requires a configured Sixb host.");
547
+ return runtime;
548
+ }
549
+
550
+ export { bindEmbeddingModels, VectorIndexingDeferred2, createVectorIndexingRuntime, registerVectorIndexingRuntime, getVectorIndexingRuntime2 };
551
+
552
+ //# debugId=01D0910D8E4A772E64756E2164756E21
@@ -0,0 +1,17 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/objects/vectors/indexing-shared.ts", "../src/models/execution/embedding.ts", "../src/objects/vectors/indexing-generate.ts", "../src/objects/vectors/indexing-single.ts", "../src/objects/vectors/indexing-store-batch.ts", "../src/objects/vectors/indexing-batch.ts", "../src/objects/vectors/indexing.ts", "../src/objects/vectors/indexing-runtime.ts"],
4
+ "sourcesContent": [
5
+ "import { randomUUID } from \"node:crypto\"\nimport { reportVectorIndexingFailure } from \"../../error-reporting/capability\"\nimport { captureSixbFailure } from \"../../errors/internal\"\nimport { createKernelRuntimeAuthorization } from \"../../execution/authorization\"\nimport { ensureExecutionRecord, executionRecordInputFromRuntime } from \"../../execution/durable\"\nimport type { ExecutionContext, ExecutionScope } from \"../../execution/types\"\nimport { MaterializationConflictError } from \"../../materialization/errors\"\nimport type { ObjectVectorWrite, PreparedObjectVector } from \"../../materialization/vectors\"\nimport type { OntologyMaterializerContract } from \"../../materializer/materializer\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport {\n type OntologyVectorIndexingStorage,\n VECTOR_INDEXING_FAILURE_CODES,\n type VectorIndexingWork,\n} from \"../../storage/ontology/vector-indexing\"\nimport { vectorConfiguration, vectorSources } from \"./profile\"\n\n/** Return null when the requested representation is obsolete or already stored. */\nexport async function prepare(\n runtime: SixbHostContext,\n work: VectorIndexingWork\n): Promise<PreparedObjectVector | null> {\n const profile = runtime.ontology.getObjectTypeById(work.ref.objectTypeId)?.search?.vectors?.[\n work.profile\n ]\n if (!profile || vectorConfiguration(profile) !== work.configuration) return null\n\n const row = await runtime.storage.objects.getByPrimaryId({\n projectId: runtime.projectId,\n ...work.ref,\n })\n if (!row) return null\n\n const sources = vectorSources(profile.source, row.properties)\n if (sources.sourceFingerprint !== work.sourceFingerprint) return null\n\n const storedVectors = await runtime.storage.ontology.vectors!.list({\n projectId: runtime.projectId,\n ref: work.ref,\n })\n const currentVector = storedVectors.find((entry) => entry.profile === work.profile)\n const alreadyIndexed =\n currentVector?.configuration === work.configuration &&\n currentVector.sourceFingerprint === work.sourceFingerprint\n\n if (alreadyIndexed) return null\n\n return {\n projectId: runtime.projectId,\n ref: work.ref,\n profile: work.profile,\n configuration: work.configuration,\n ...sources,\n expectedObject: {\n ref: work.ref,\n exists: true,\n version: row.version,\n lastCommitId: row.lastCommitId,\n },\n expectedVectorCommitId: currentVector?.lastCommitId ?? null,\n }\n}\n\nexport async function storeVector(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract,\n work: VectorIndexingWork,\n scope: ExecutionScope,\n signal: AbortSignal\n): Promise<void> {\n const indexing = runtime.storage.ontology.vectorIndexing!\n const identity = { projectId: runtime.projectId, id: work.id }\n\n // Unrelated property changes renew the object fence without repeating a paid inference.\n for (let attempt = 0; attempt < 3; attempt++) {\n signal.throwIfAborted()\n const prepared = await prepare(runtime, work)\n\n if (!prepared) {\n await indexing.remove(identity)\n return\n }\n\n try {\n await commitPreparedVectors(materializer, scope, [{ input: prepared, values: work.values! }])\n await indexing.remove(identity)\n return\n } catch (error) {\n if (!(error instanceof MaterializationConflictError)) throw error\n\n const currentWork = await indexing.get(identity)\n if (!currentWork) return\n }\n }\n\n throw new VectorIndexingDeferred(new Date(Date.now() + 1000).toISOString())\n}\n\nexport async function commitPreparedVectors(\n materializer: OntologyMaterializerContract,\n scope: ExecutionScope,\n writes: readonly ObjectVectorWrite[]\n): Promise<void> {\n await materializer.edits.commit({\n scope,\n input: {\n mode: \"atomic\",\n source: { kind: \"runtime\", requestId: randomUUID() },\n operations: [],\n vectorWrites: writes,\n expectedObjects: writes.map((write) => write.input.expectedObject),\n expectedLinks: [],\n expectedLinkScopes: [],\n },\n })\n}\n\nexport async function indexingScope(\n runtime: SixbHostContext,\n work: VectorIndexingWork,\n indexingId = work.id\n): Promise<ExecutionScope> {\n const operation = { type: \"ontology.indexVectors\", indexingId } as const\n const execution: ExecutionContext = {\n id: `exec_vector_${indexingId}`,\n projectId: runtime.projectId,\n executor: { type: \"kernel\", operation },\n source: { type: \"ontologyCommit\", commitId: work.sourceCommitId },\n correlationId: `vector_${indexingId}`,\n }\n const authorization = createKernelRuntimeAuthorization({ execution, operation })\n\n await ensureExecutionRecord(runtime.storage.executions, {\n ...executionRecordInputFromRuntime({ execution, runtimeAuthorization: authorization }),\n requesterGroupIds: [],\n })\n\n return { execution, authorization }\n}\n\nexport async function fail(\n runtime: SixbHostContext,\n indexing: OntologyVectorIndexingStorage,\n work: VectorIndexingWork,\n error: unknown\n): Promise<void> {\n const failure = captureSixbFailure(error, {\n allowedCodes: VECTOR_INDEXING_FAILURE_CODES,\n defaultCode: \"internal.unexpected\",\n })\n\n const recorded = await indexing.update({\n projectId: runtime.projectId,\n id: work.id,\n expectedStatus: work.status,\n status: \"failed\",\n availableAt: new Date().toISOString(),\n error: failure,\n })\n\n if (!recorded) return\n\n reportVectorIndexingFailure(runtime, error, {\n projectId: runtime.projectId,\n indexingId: work.id,\n failure,\n ...work.ref,\n profile: work.profile,\n })\n}\n\nexport function retryAt(details: unknown): string {\n const resetAt =\n details && typeof details === \"object\" && \"resetAt\" in details ? details.resetAt : undefined\n const resetTimestamp = typeof resetAt === \"string\" ? Date.parse(resetAt) : Number.NaN\n\n const minimumRetryTimestamp = Date.now() + 60_000\n const budgetResetTimestamp = Number.isFinite(resetTimestamp) ? resetTimestamp : 0\n const retryTimestamp = Math.max(minimumRetryTimestamp, budgetResetTimestamp)\n\n return new Date(retryTimestamp).toISOString()\n}\n\nexport class VectorIndexingDeferred extends Error {\n constructor(readonly availableAt: string) {\n super(\"[Sixb] Vector indexing is deferred.\")\n }\n}\n",
6
+ "import { randomUUID } from \"node:crypto\"\nimport type { EmbeddingModelCatalog, EmbeddingModelEntry, ModelRef } from \"../catalog\"\nimport {\n assertEmbeddingModel,\n type EmbeddingModel,\n type EmbeddingModelRequest,\n EmbeddingModelResponseError,\n type EmbeddingModelResponseMetadata,\n type EmbeddingModelResult,\n sameEmbeddingModel,\n} from \"../embedding-model\"\nimport { estimateModelCall } from \"../pricing\"\nimport type { AiModelCallRecorder } from \"./model-call-recorder\"\nimport type { ModelExecutionSession } from \"./session\"\n\n/** Scope the configured bindings without changing profile identity or object permissions. */\nexport function bindEmbeddingModels(\n catalog: EmbeddingModelCatalog | undefined,\n session: ModelExecutionSession\n): EmbeddingModelCatalog | undefined {\n if (!catalog) return undefined\n const entries: readonly EmbeddingModelEntry[] = Object.freeze(\n catalog.list().map((entry) =>\n Object.freeze({\n ...entry,\n model: Object.freeze({\n providerId: entry.model.providerId,\n modelId: entry.model.modelId,\n definition: entry.model.definition,\n batching: entry.model.batching && Object.freeze({ ...entry.model.batching }),\n embed: (input: EmbeddingModelRequest) => executeEmbedding(session, entry.model, input),\n }),\n })\n )\n )\n const byRef = new Map(\n entries.map((entry) => [JSON.stringify([entry.provider, entry.modelId]), entry])\n )\n return Object.freeze({\n list: () => entries,\n getByRef: (ref: ModelRef) => byRef.get(JSON.stringify([ref.provider, ref.modelId])) ?? null,\n })\n}\n\nasync function executeEmbedding(\n session: ModelExecutionSession,\n binding: EmbeddingModel,\n input: EmbeddingModelRequest\n) {\n if (\n !Array.isArray(input.texts) ||\n input.texts.some((text) => typeof text !== \"string\" || !text.trim())\n ) {\n throw new TypeError(\"[SixbModels] Embedding inputs must be nonempty strings.\")\n }\n const texts = [...input.texts]\n const signal = session.signal(input.signal)\n const requestSignal = AbortSignal.any([signal, AbortSignal.timeout(30_000)])\n requestSignal.throwIfAborted()\n if (!texts.length) return { vectors: [] }\n\n const accounting = await session.accounting()\n accounting.assertHealthy()\n const model = (await binding.resolve?.()) ?? binding\n assertEmbeddingModel(model)\n if (!sameEmbeddingModel(model, binding)) {\n throw new TypeError(\n \"[SixbModels] Resolved embedding model identity does not match the selected model.\"\n )\n }\n requestSignal.throwIfAborted()\n const callId = `call_${randomUUID()}`\n const tokens = texts.reduce(\n (sum, text) => sum + Math.ceil(new TextEncoder().encode(text).byteLength / 4),\n 0\n )\n await session.admitEmbeddingCall(() =>\n accounting.admitCall({\n callId,\n providerId: model.providerId,\n modelId: model.modelId,\n costEstimator: model.costEstimator,\n inputTokens: { status: \"estimated\", tokens, method: \"utf8BytesDividedByFour\" },\n outputTokenAllowance: 0,\n estimatedTotalTokens: tokens,\n })\n )\n\n let result: EmbeddingModelResult\n try {\n requestSignal.throwIfAborted()\n result = await model.embed({ texts, signal: requestSignal })\n } catch (error) {\n if (error instanceof EmbeddingModelResponseError) {\n await recordEmbedding(accounting, model, callId, error.metadata)\n } else {\n // The provider may have accepted the request. Never retry inference or release its budget.\n await recordEmbedding(accounting, model, callId, {})\n }\n throw error\n }\n // Account before cancellation, vector validation or the materializer's optimistic write.\n await recordEmbedding(accounting, model, callId, result ?? {})\n requestSignal.throwIfAborted()\n return result\n}\n\nasync function recordEmbedding(\n accounting: AiModelCallRecorder,\n model: EmbeddingModel,\n callId: string,\n metadata: EmbeddingModelResponseMetadata\n): Promise<void> {\n // Embeddings produce no output tokens; missing INPUT usage must remain unknown.\n const usage = { ...metadata.usage, outputTokens: 0 }\n const estimate = estimateModelCall(model, {\n usage,\n route: metadata.route,\n responseModelId: metadata.responseModelId,\n })\n await accounting.onModelCallEnd({\n callId,\n providerId: model.providerId,\n modelId: model.modelId,\n responseId: metadata.providerIds?.responseId ?? callId,\n responseModelId: metadata.responseModelId,\n providerIds: metadata.providerIds,\n usage,\n cost: metadata.reportedCost ? { status: \"reported\", ...metadata.reportedCost } : estimate,\n ...(metadata.reportedCost ? { estimate } : {}),\n route: metadata.route,\n })\n}\n",
7
+ "import { createSixbError, isSixbError } from \"../../errors/internal\"\nimport type { ExecutionScope } from \"../../execution/types\"\nimport type { PreparedObjectVector } from \"../../materialization/vectors\"\nimport {\n EmbeddingModelResponseError,\n type EmbeddingModelResult,\n sameEmbeddingModel,\n} from \"../../models/embedding-model\"\nimport { bindEmbeddingModels } from \"../../models/execution/embedding\"\nimport { ModelExecutionSession } from \"../../models/execution/session\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport type { VectorIndexingWork } from \"../../storage/ontology/vector-indexing\"\nimport { fail, retryAt, VectorIndexingDeferred } from \"./indexing-shared\"\nimport { normalizeVector } from \"./profile\"\n\nexport interface PreparedIndexingWork {\n readonly work: VectorIndexingWork\n readonly input: PreparedObjectVector\n}\n\ninterface GenerationAttempt {\n readonly runtime: SixbHostContext\n readonly entries: readonly PreparedIndexingWork[]\n readonly signal: AbortSignal\n /** Running means the durable claim succeeded; budget admission may still be pending. */\n phase: \"pending\" | \"claiming\" | \"running\"\n}\n\n/** One accounted provider call, with durable admission and atomic result persistence. */\nexport async function generateVectors(\n runtime: SixbHostContext,\n entries: readonly PreparedIndexingWork[],\n scope: ExecutionScope,\n attempt: number,\n signal: AbortSignal\n): Promise<void> {\n const first = entries[0]!\n const profile = runtime.ontology.resolveObjectType(first.work.ref.objectTypeId).search!.vectors![\n first.work.profile\n ]!\n const generation: GenerationAttempt = { runtime, entries, signal, phase: \"pending\" }\n\n const session = new ModelExecutionSession(\n { ...runtime, runtimeAuthorization: scope.authorization },\n scope.execution\n )\n session.bind({\n attempt,\n signal,\n embeddingAdmission: (admit) => admitGeneration(generation, admit),\n })\n\n try {\n const model = bindEmbeddingModels(runtime.embeddingModels, session)?.getByRef({\n provider: profile.model.providerId,\n modelId: profile.model.modelId,\n })?.model\n\n if (!model || !sameEmbeddingModel(model, profile.model)) {\n throw createSixbError(\n \"vector.model_unavailable\",\n \"[Sixb] Vector indexing requires the profile's configured embedding model.\"\n )\n }\n\n const result = await model.embed({ texts: entries.map((entry) => entry.input.text), signal })\n const values = normalizeEmbeddingResult(\n result,\n entries.length,\n profile.model.definition.dimensions\n )\n\n // Persist every surviving result atomically before any vector is published.\n await runtime.storage.ontology.vectorIndexing!.updateBatch({\n projectId: runtime.projectId,\n updates: entries.map(({ work }, index) => ({\n id: work.id,\n expectedStatus: \"running\",\n status: \"ready\",\n values: values[index]!,\n availableAt: new Date().toISOString(),\n })),\n })\n } catch (error) {\n await handleGenerationFailure(generation, error)\n }\n}\n\nasync function admitGeneration(\n generation: GenerationAttempt,\n admit: () => Promise<void>\n): Promise<void> {\n generation.signal.throwIfAborted()\n generation.phase = \"claiming\"\n\n const claimed = await transitionWork(generation, \"pending\", \"running\", { requireAll: true })\n generation.phase = claimed ? \"running\" : \"pending\"\n\n if (!claimed) {\n if (generation.entries.length === 1) {\n throw new Error(\"[Sixb] Vector indexing request was superseded.\")\n }\n throw new VectorIndexingDeferred(new Date().toISOString())\n }\n\n try {\n await admit()\n } catch (error) {\n await transitionWork(generation, \"running\", \"pending\")\n generation.phase = \"pending\"\n throw error\n }\n}\n\nfunction normalizeEmbeddingResult(\n result: EmbeddingModelResult,\n count: number,\n dimensions: number\n): readonly (readonly number[])[] {\n try {\n if (!Array.isArray(result?.vectors) || result.vectors.length !== count) {\n throw new Error(\"Unexpected vector count\")\n }\n\n return result.vectors.map((vector) => normalizeVector(vector, dimensions))\n } catch (cause) {\n throw createSixbError(\"vector.response_invalid\", \"[Sixb] Invalid embedding batch response.\", {\n cause,\n })\n }\n}\n\nasync function handleGenerationFailure(\n generation: GenerationAttempt,\n error: unknown\n): Promise<void> {\n // No provider call can start while the storage claim is unresolved. Retry delivery,\n // not inference; an ambiguously committed claim will be fenced as running on redelivery.\n if (generation.phase === \"claiming\" || error instanceof VectorIndexingDeferred) {\n throw error\n }\n\n if (generation.phase === \"pending\") {\n if (\n isSixbError(error) &&\n (error.code === \"ai.usage_limit_exceeded\" || error.code === \"ai.usage_limit_unavailable\")\n ) {\n const availableAt = retryAt(error.details)\n await transitionWork(generation, \"pending\", \"pending\", { availableAt })\n throw new VectorIndexingDeferred(availableAt)\n }\n\n if (generation.signal.aborted) throw error\n }\n\n const failure =\n error instanceof EmbeddingModelResponseError\n ? createSixbError(\"vector.response_invalid\", \"[Sixb] Invalid embedding batch response.\", {\n cause: error,\n })\n : error\n const { runtime, entries } = generation\n const indexing = runtime.storage.ontology.vectorIndexing!\n\n for (const { work } of entries) {\n await fail(runtime, indexing, { ...work, status: generation.phase }, failure)\n }\n}\n\nfunction transitionWork(\n generation: GenerationAttempt,\n expectedStatus: VectorIndexingWork[\"status\"],\n status: VectorIndexingWork[\"status\"],\n options: { availableAt?: string; requireAll?: boolean } = {}\n): Promise<boolean> {\n const { runtime, entries } = generation\n const availableAt = options.availableAt ?? new Date().toISOString()\n\n return runtime.storage.ontology.vectorIndexing!.updateBatch({\n projectId: runtime.projectId,\n requireAll: options.requireAll ?? false,\n updates: entries.map(({ work }) => ({ id: work.id, expectedStatus, status, availableAt })),\n })\n}\n",
8
+ "import { createSixbError } from \"../../errors/internal\"\nimport type { OntologyMaterializerContract } from \"../../materializer/materializer\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport { generateVectors } from \"./indexing-generate\"\nimport {\n fail,\n indexingScope,\n prepare,\n storeVector,\n VectorIndexingDeferred,\n} from \"./indexing-shared\"\n\nexport async function processVector(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract,\n id: string,\n attempt: number,\n signal: AbortSignal\n): Promise<void> {\n const indexing = runtime.storage.ontology.vectorIndexing\n if (!indexing) throw new Error(\"[Sixb] Storage does not support automatic vector indexing.\")\n const projectId = runtime.projectId\n const work = await indexing.get({ projectId, id })\n if (!work || work.status === \"failed\") return\n if (work.status === \"running\") {\n await fail(\n runtime,\n indexing,\n work,\n createSixbError(\n \"vector.outcome_unknown\",\n \"[Sixb] Interrupted embedding call has an unknown outcome; inference was not repeated.\"\n )\n )\n return\n }\n if (Date.parse(work.availableAt) > Date.now()) throw new VectorIndexingDeferred(work.availableAt)\n const prepared = await prepare(runtime, work)\n if (!prepared) {\n await indexing.remove({ projectId, id })\n return\n }\n const scope = await indexingScope(runtime, work, work.batchId ?? work.id)\n if (work.status === \"ready\") {\n await storeVector(runtime, materializer, work, scope, signal)\n return\n }\n await generateVectors(runtime, [{ work, input: prepared }], scope, attempt, signal)\n const ready = await indexing.get({ projectId, id })\n if (ready?.status === \"ready\") await storeVector(runtime, materializer, ready, scope, signal)\n}\n",
9
+ "import type { ExecutionScope } from \"../../execution/types\"\nimport { MaterializationConflictError } from \"../../materialization/errors\"\nimport type { ObjectVectorWrite } from \"../../materialization/vectors\"\nimport type { OntologyMaterializerContract } from \"../../materializer/materializer\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport {\n commitPreparedVectors,\n prepare,\n storeVector,\n VectorIndexingDeferred,\n} from \"./indexing-shared\"\n\n/** Publish a current subset atomically; reprepare conflicts without repeating inference. */\nexport async function storeVectorBatch(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract,\n batchId: string,\n scope: ExecutionScope,\n signal: AbortSignal\n): Promise<void> {\n const indexing = runtime.storage.ontology.vectorIndexing!\n const identity = { projectId: runtime.projectId, batchId }\n\n for (let attempt = 0; attempt < 3; attempt++) {\n const ready = (await indexing.getBatch(identity)).filter((work) => work.status === \"ready\")\n const writes: ObjectVectorWrite[] = []\n\n for (const work of ready) {\n signal.throwIfAborted()\n const input = await prepare(runtime, work)\n if (input) {\n writes.push({ input, values: work.values! })\n } else {\n await indexing.remove({ projectId: runtime.projectId, id: work.id })\n }\n }\n\n if (!writes.length) return\n\n try {\n signal.throwIfAborted()\n await commitPreparedVectors(materializer, scope, writes)\n return\n } catch (error) {\n if (!(error instanceof MaterializationConflictError)) throw error\n }\n }\n\n // A continuously changing object must not keep stable peers from becoming searchable.\n let deferred = false\n for (const work of await indexing.getBatch(identity)) {\n if (work.status !== \"ready\") continue\n try {\n await storeVector(runtime, materializer, work, scope, signal)\n } catch (error) {\n if (!(error instanceof VectorIndexingDeferred)) throw error\n deferred = true\n }\n }\n\n if (deferred) throw new VectorIndexingDeferred(new Date(Date.now() + 1000).toISOString())\n}\n",
10
+ "import type { OntologyMaterializerContract } from \"../../materializer/materializer\"\nimport type { EmbeddingBatchLimits } from \"../../models/embedding-model\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport type { VectorIndexingWork } from \"../../storage/ontology/vector-indexing\"\nimport { generateVectors, type PreparedIndexingWork } from \"./indexing-generate\"\nimport { indexingScope, prepare, VectorIndexingDeferred } from \"./indexing-shared\"\nimport { processVector } from \"./indexing-single\"\nimport { storeVectorBatch } from \"./indexing-store-batch\"\n\n/** Membership was persisted by one projection commit; there is no fill timer or memory queue. */\nexport async function processVectorBatch(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract,\n batchId: string,\n batch: readonly VectorIndexingWork[],\n attempt: number,\n signal: AbortSignal\n): Promise<void> {\n if (batch.some((work) => work.status !== \"pending\")) {\n await resumeBatch(runtime, materializer, batchId, batch, attempt, signal)\n return\n }\n\n const entries = await prepareBatch(runtime, batch, signal)\n const first = entries[0]\n if (!first) return\n\n const limits = getBatchLimits(runtime, first.work)\n if (!limits) {\n // Unknown provider batch limits: embed each object/profile individually.\n for (const { work } of entries) {\n await processVector(runtime, materializer, work.id, attempt, signal)\n }\n return\n }\n\n assertCompatibleEntries(entries, first.work)\n const scope = await indexingScope(runtime, first.work, batchId)\n\n for (const group of partition(entries, limits)) {\n if (group.length === 1) {\n await processVector(runtime, materializer, group[0]!.work.id, attempt, signal)\n } else {\n await generateVectors(runtime, group, scope, attempt, signal)\n }\n }\n\n await storeVectorBatch(runtime, materializer, batchId, scope, signal)\n}\n\n/** Resume storage or terminalize interrupted calls; never repeat paid inference. */\nasync function resumeBatch(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract,\n batchId: string,\n batch: readonly VectorIndexingWork[],\n attempt: number,\n signal: AbortSignal\n): Promise<void> {\n const ready = batch.find((work) => work.status === \"ready\")\n if (ready) {\n const scope = await indexingScope(runtime, ready, batchId)\n await storeVectorBatch(runtime, materializer, batchId, scope, signal)\n }\n\n for (const work of batch) {\n if (work.status !== \"ready\") {\n await processVector(runtime, materializer, work.id, attempt, signal)\n }\n }\n}\n\nasync function prepareBatch(\n runtime: SixbHostContext,\n batch: readonly VectorIndexingWork[],\n signal: AbortSignal\n): Promise<PreparedIndexingWork[]> {\n const availableAt = batch.reduce(\n (latest, work) => (work.availableAt > latest ? work.availableAt : latest),\n \"\"\n )\n if (Date.parse(availableAt) > Date.now()) {\n throw new VectorIndexingDeferred(availableAt)\n }\n\n const entries: PreparedIndexingWork[] = []\n const indexing = runtime.storage.ontology.vectorIndexing!\n\n for (const work of batch) {\n signal.throwIfAborted()\n const input = await prepare(runtime, work)\n\n if (input) {\n entries.push({ work, input })\n } else {\n await indexing.remove({ projectId: runtime.projectId, id: work.id })\n }\n }\n\n return entries\n}\n\nfunction getBatchLimits(\n runtime: SixbHostContext,\n work: VectorIndexingWork\n): EmbeddingBatchLimits | undefined {\n const profile = runtime.ontology.resolveObjectType(work.ref.objectTypeId).search!.vectors![\n work.profile\n ]!\n\n return runtime.embeddingModels?.getByRef({\n provider: profile.model.providerId,\n modelId: profile.model.modelId,\n })?.model.batching\n}\n\n/** Do not mix commits or configurations, even with malformed storage membership. */\nfunction assertCompatibleEntries(\n entries: readonly PreparedIndexingWork[],\n reference: VectorIndexingWork\n): void {\n const incompatible = entries.some(\n ({ work }) =>\n work.sourceCommitId !== reference.sourceCommitId ||\n work.ref.objectTypeId !== reference.ref.objectTypeId ||\n work.profile !== reference.profile ||\n work.configuration !== reference.configuration\n )\n\n if (incompatible) {\n throw new Error(\"[Sixb] Incompatible vector batch membership.\")\n }\n}\n\n/** Split an already durable, bounded page; never wait for more work or truncate input. */\nfunction* partition(entries: readonly PreparedIndexingWork[], limits: EmbeddingBatchLimits) {\n let group: PreparedIndexingWork[] = []\n let bytes = 0\n\n for (const entry of entries) {\n const size = Buffer.byteLength(entry.input.text)\n const exceedsGroupLimit =\n group.length >= limits.maxInputs ||\n bytes + size > limits.maxTotalInputBytes ||\n size > limits.maxInputBytes\n\n if (group.length > 0 && exceedsGroupLimit) {\n yield group\n group = []\n bytes = 0\n }\n\n if (size > limits.maxInputBytes || size > limits.maxTotalInputBytes) {\n yield [entry]\n continue\n }\n\n group.push(entry)\n bytes += size\n }\n\n if (group.length > 0) yield group\n}\n",
11
+ "import type { OntologyMaterializerContract } from \"../../materializer/materializer\"\nimport type { SixbHostContext } from \"../../runtime/types\"\nimport { processVectorBatch } from \"./indexing-batch\"\nimport type { VectorIndexingRuntime } from \"./indexing-runtime\"\nimport { processVector } from \"./indexing-single\"\n\nexport { VectorIndexingDeferred } from \"./indexing-shared\"\n\n/** Internal processing port; durable projection groups and individual requests share delivery. */\nexport function createVectorIndexingRuntime(\n runtime: SixbHostContext,\n materializer: OntologyMaterializerContract\n): VectorIndexingRuntime {\n return {\n async process(id, attempt, signal) {\n const indexing = runtime.storage.ontology.vectorIndexing\n if (!indexing) throw new Error(\"[Sixb] Storage does not support automatic vector indexing.\")\n const batch = await indexing.getBatch({ projectId: runtime.projectId, batchId: id })\n if (batch.length) await processVectorBatch(runtime, materializer, id, batch, attempt, signal)\n else await processVector(runtime, materializer, id, attempt, signal)\n },\n }\n}\n",
12
+ "/** Internal worker entry point; it does not expose the host context or domain SDK. */\nexport interface VectorIndexingRuntime {\n process(id: string, attempt: number, signal: AbortSignal): Promise<void>\n}\n\n// Associates each host with its service. Durable work lives in ontology storage, not this map.\nconst runtimes = new WeakMap<object, VectorIndexingRuntime>()\n\nexport function registerVectorIndexingRuntime(host: object, runtime: VectorIndexingRuntime): void {\n runtimes.set(host, runtime)\n}\n\nexport function getVectorIndexingRuntime(host: object): VectorIndexingRuntime {\n const runtime = runtimes.get(host)\n if (!runtime) throw new Error(\"[Sixb] Vector indexing requires a configured Sixb host.\")\n return runtime\n}\n"
13
+ ],
14
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAkBA,eAAsB,OAAO,CAC3B,SACA,MACsC;AAAA,EACtC,MAAM,UAAU,QAAQ,SAAS,kBAAkB,KAAK,IAAI,YAAY,GAAG,QAAQ,UACjF,KAAK;AAAA,EAEP,IAAI,CAAC,WAAW,oBAAoB,OAAO,MAAM,KAAK;AAAA,IAAe,OAAO;AAAA,EAE5E,MAAM,MAAM,MAAM,QAAQ,QAAQ,QAAQ,eAAe;AAAA,IACvD,WAAW,QAAQ;AAAA,OAChB,KAAK;AAAA,EACV,CAAC;AAAA,EACD,IAAI,CAAC;AAAA,IAAK,OAAO;AAAA,EAEjB,MAAM,UAAU,cAAc,QAAQ,QAAQ,IAAI,UAAU;AAAA,EAC5D,IAAI,QAAQ,sBAAsB,KAAK;AAAA,IAAmB,OAAO;AAAA,EAEjE,MAAM,gBAAgB,MAAM,QAAQ,QAAQ,SAAS,QAAS,KAAK;AAAA,IACjE,WAAW,QAAQ;AAAA,IACnB,KAAK,KAAK;AAAA,EACZ,CAAC;AAAA,EACD,MAAM,gBAAgB,cAAc,KAAK,CAAC,UAAU,MAAM,YAAY,KAAK,OAAO;AAAA,EAClF,MAAM,iBACJ,eAAe,kBAAkB,KAAK,iBACtC,cAAc,sBAAsB,KAAK;AAAA,EAE3C,IAAI;AAAA,IAAgB,OAAO;AAAA,EAE3B,OAAO;AAAA,IACL,WAAW,QAAQ;AAAA,IACnB,KAAK,KAAK;AAAA,IACV,SAAS,KAAK;AAAA,IACd,eAAe,KAAK;AAAA,OACjB;AAAA,IACH,gBAAgB;AAAA,MACd,KAAK,KAAK;AAAA,MACV,QAAQ;AAAA,MACR,SAAS,IAAI;AAAA,MACb,cAAc,IAAI;AAAA,IACpB;AAAA,IACA,wBAAwB,eAAe,gBAAgB;AAAA,EACzD;AAAA;AAGF,eAAsB,WAAW,CAC/B,SACA,cACA,MACA,OACA,QACe;AAAA,EACf,MAAM,WAAW,QAAQ,QAAQ,SAAS;AAAA,EAC1C,MAAM,WAAW,EAAE,WAAW,QAAQ,WAAW,IAAI,KAAK,GAAG;AAAA,EAG7D,SAAS,UAAU,EAAG,UAAU,GAAG,WAAW;AAAA,IAC5C,OAAO,eAAe;AAAA,IACtB,MAAM,WAAW,MAAM,QAAQ,SAAS,IAAI;AAAA,IAE5C,IAAI,CAAC,UAAU;AAAA,MACb,MAAM,SAAS,OAAO,QAAQ;AAAA,MAC9B;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,MACF,MAAM,sBAAsB,cAAc,OAAO,CAAC,EAAE,OAAO,UAAU,QAAQ,KAAK,OAAQ,CAAC,CAAC;AAAA,MAC5F,MAAM,SAAS,OAAO,QAAQ;AAAA,MAC9B;AAAA,MACA,OAAO,OAAO;AAAA,MACd,IAAI,EAAE,iBAAiB;AAAA,QAA+B,MAAM;AAAA,MAE5D,MAAM,cAAc,MAAM,SAAS,IAAI,QAAQ;AAAA,MAC/C,IAAI,CAAC;AAAA,QAAa;AAAA;AAAA,EAEtB;AAAA,EAEA,MAAM,IAAI,wBAAuB,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,YAAY,CAAC;AAAA;AAG5E,eAAsB,qBAAqB,CACzC,cACA,OACA,QACe;AAAA,EACf,MAAM,aAAa,MAAM,OAAO;AAAA,IAC9B;AAAA,IACA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,QAAQ,EAAE,MAAM,WAAW,WAAW,WAAW,EAAE;AAAA,MACnD,YAAY,CAAC;AAAA,MACb,cAAc;AAAA,MACd,iBAAiB,OAAO,IAAI,CAAC,UAAU,MAAM,MAAM,cAAc;AAAA,MACjE,eAAe,CAAC;AAAA,MAChB,oBAAoB,CAAC;AAAA,IACvB;AAAA,EACF,CAAC;AAAA;AAGH,eAAsB,aAAa,CACjC,SACA,MACA,aAAa,KAAK,IACO;AAAA,EACzB,MAAM,YAAY,EAAE,MAAM,yBAAyB,WAAW;AAAA,EAC9D,MAAM,YAA8B;AAAA,IAClC,IAAI,eAAe;AAAA,IACnB,WAAW,QAAQ;AAAA,IACnB,UAAU,EAAE,MAAM,UAAU,UAAU;AAAA,IACtC,QAAQ,EAAE,MAAM,kBAAkB,UAAU,KAAK,eAAe;AAAA,IAChE,eAAe,UAAU;AAAA,EAC3B;AAAA,EACA,MAAM,gBAAgB,iCAAiC,EAAE,WAAW,UAAU,CAAC;AAAA,EAE/E,MAAM,uBAAsB,QAAQ,QAAQ,YAAY;AAAA,OACnD,gCAAgC,EAAE,WAAW,sBAAsB,cAAc,CAAC;AAAA,IACrF,mBAAmB,CAAC;AAAA,EACtB,CAAC;AAAA,EAED,OAAO,EAAE,WAAW,cAAc;AAAA;AAGpC,eAAsB,IAAI,CACxB,SACA,UACA,MACA,OACe;AAAA,EACf,MAAM,UAAU,oBAAmB,OAAO;AAAA,IACxC,cAAc;AAAA,IACd,aAAa;AAAA,EACf,CAAC;AAAA,EAED,MAAM,WAAW,MAAM,SAAS,OAAO;AAAA,IACrC,WAAW,QAAQ;AAAA,IACnB,IAAI,KAAK;AAAA,IACT,gBAAgB,KAAK;AAAA,IACrB,QAAQ;AAAA,IACR,aAAa,IAAI,KAAK,EAAE,YAAY;AAAA,IACpC,OAAO;AAAA,EACT,CAAC;AAAA,EAED,IAAI,CAAC;AAAA,IAAU;AAAA,EAEf,4BAA4B,SAAS,OAAO;AAAA,IAC1C,WAAW,QAAQ;AAAA,IACnB,YAAY,KAAK;AAAA,IACjB;AAAA,OACG,KAAK;AAAA,IACR,SAAS,KAAK;AAAA,EAChB,CAAC;AAAA;AAGI,SAAS,OAAO,CAAC,SAA0B;AAAA,EAChD,MAAM,UACJ,WAAW,OAAO,YAAY,YAAY,aAAa,UAAU,QAAQ,UAAU;AAAA,EACrF,MAAM,iBAAiB,OAAO,YAAY,WAAW,KAAK,MAAM,OAAO,IAAI,OAAO;AAAA,EAElF,MAAM,wBAAwB,KAAK,IAAI,IAAI;AAAA,EAC3C,MAAM,uBAAuB,OAAO,SAAS,cAAc,IAAI,iBAAiB;AAAA,EAChF,MAAM,iBAAiB,KAAK,IAAI,uBAAuB,oBAAoB;AAAA,EAE3E,OAAO,IAAI,KAAK,cAAc,EAAE,YAAY;AAAA;AAAA;AAGvC,MAAM,gCAA+B,MAAM;AAAA,EAC3B;AAAA,EAArB,WAAW,CAAU,aAAqB;AAAA,IACxC,MAAM,qCAAqC;AAAA,IADxB;AAAA;AAGvB;;;AC3LA,uBAAS;AAgBF,SAAS,mBAAmB,CACjC,SACA,SACmC;AAAA,EACnC,IAAI,CAAC;AAAA,IAAS;AAAA,EACd,MAAM,UAA0C,OAAO,OACrD,QAAQ,KAAK,EAAE,IAAI,CAAC,UAClB,OAAO,OAAO;AAAA,OACT;AAAA,IACH,OAAO,OAAO,OAAO;AAAA,MACnB,YAAY,MAAM,MAAM;AAAA,MACxB,SAAS,MAAM,MAAM;AAAA,MACrB,YAAY,MAAM,MAAM;AAAA,MACxB,UAAU,MAAM,MAAM,YAAY,OAAO,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAAA,MAC3E,OAAO,CAAC,UAAiC,iBAAiB,SAAS,MAAM,OAAO,KAAK;AAAA,IACvF,CAAC;AAAA,EACH,CAAC,CACH,CACF;AAAA,EACA,MAAM,QAAQ,IAAI,IAChB,QAAQ,IAAI,CAAC,UAAU,CAAC,KAAK,UAAU,CAAC,MAAM,UAAU,MAAM,OAAO,CAAC,GAAG,KAAK,CAAC,CACjF;AAAA,EACA,OAAO,OAAO,OAAO;AAAA,IACnB,MAAM,MAAM;AAAA,IACZ,UAAU,CAAC,QAAkB,MAAM,IAAI,KAAK,UAAU,CAAC,IAAI,UAAU,IAAI,OAAO,CAAC,CAAC,KAAK;AAAA,EACzF,CAAC;AAAA;AAGH,eAAe,gBAAgB,CAC7B,SACA,SACA,OACA;AAAA,EACA,IACE,CAAC,MAAM,QAAQ,MAAM,KAAK,KAC1B,MAAM,MAAM,KAAK,CAAC,SAAS,OAAO,SAAS,YAAY,CAAC,KAAK,KAAK,CAAC,GACnE;AAAA,IACA,MAAM,IAAI,UAAU,yDAAyD;AAAA,EAC/E;AAAA,EACA,MAAM,QAAQ,CAAC,GAAG,MAAM,KAAK;AAAA,EAC7B,MAAM,SAAS,QAAQ,OAAO,MAAM,MAAM;AAAA,EAC1C,MAAM,gBAAgB,YAAY,IAAI,CAAC,QAAQ,YAAY,QAAQ,KAAM,CAAC,CAAC;AAAA,EAC3E,cAAc,eAAe;AAAA,EAC7B,IAAI,CAAC,MAAM;AAAA,IAAQ,OAAO,EAAE,SAAS,CAAC,EAAE;AAAA,EAExC,MAAM,aAAa,MAAM,QAAQ,WAAW;AAAA,EAC5C,WAAW,cAAc;AAAA,EACzB,MAAM,QAAS,MAAM,QAAQ,UAAU,KAAM;AAAA,EAC7C,qBAAqB,KAAK;AAAA,EAC1B,IAAI,CAAC,mBAAmB,OAAO,OAAO,GAAG;AAAA,IACvC,MAAM,IAAI,UACR,mFACF;AAAA,EACF;AAAA,EACA,cAAc,eAAe;AAAA,EAC7B,MAAM,SAAS,QAAQ,YAAW;AAAA,EAClC,MAAM,SAAS,MAAM,OACnB,CAAC,KAAK,SAAS,MAAM,KAAK,KAAK,IAAI,YAAY,EAAE,OAAO,IAAI,EAAE,aAAa,CAAC,GAC5E,CACF;AAAA,EACA,MAAM,QAAQ,mBAAmB,MAC/B,WAAW,UAAU;AAAA,IACnB;AAAA,IACA,YAAY,MAAM;AAAA,IAClB,SAAS,MAAM;AAAA,IACf,eAAe,MAAM;AAAA,IACrB,aAAa,EAAE,QAAQ,aAAa,QAAQ,QAAQ,yBAAyB;AAAA,IAC7E,sBAAsB;AAAA,IACtB,sBAAsB;AAAA,EACxB,CAAC,CACH;AAAA,EAEA,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,cAAc,eAAe;AAAA,IAC7B,SAAS,MAAM,MAAM,MAAM,EAAE,OAAO,QAAQ,cAAc,CAAC;AAAA,IAC3D,OAAO,OAAO;AAAA,IACd,IAAI,iBAAiB,8BAA6B;AAAA,MAChD,MAAM,gBAAgB,YAAY,OAAO,QAAQ,MAAM,QAAQ;AAAA,IACjE,EAAO;AAAA,MAEL,MAAM,gBAAgB,YAAY,OAAO,QAAQ,CAAC,CAAC;AAAA;AAAA,IAErD,MAAM;AAAA;AAAA,EAGR,MAAM,gBAAgB,YAAY,OAAO,QAAQ,UAAU,CAAC,CAAC;AAAA,EAC7D,cAAc,eAAe;AAAA,EAC7B,OAAO;AAAA;AAGT,eAAe,eAAe,CAC5B,YACA,OACA,QACA,UACe;AAAA,EAEf,MAAM,QAAQ,KAAK,SAAS,OAAO,cAAc,EAAE;AAAA,EACnD,MAAM,WAAW,kBAAkB,OAAO;AAAA,IACxC;AAAA,IACA,OAAO,SAAS;AAAA,IAChB,iBAAiB,SAAS;AAAA,EAC5B,CAAC;AAAA,EACD,MAAM,WAAW,eAAe;AAAA,IAC9B;AAAA,IACA,YAAY,MAAM;AAAA,IAClB,SAAS,MAAM;AAAA,IACf,YAAY,SAAS,aAAa,cAAc;AAAA,IAChD,iBAAiB,SAAS;AAAA,IAC1B,aAAa,SAAS;AAAA,IACtB;AAAA,IACA,MAAM,SAAS,eAAe,EAAE,QAAQ,eAAe,SAAS,aAAa,IAAI;AAAA,OAC7E,SAAS,eAAe,EAAE,SAAS,IAAI,CAAC;AAAA,IAC5C,OAAO,SAAS;AAAA,EAClB,CAAC;AAAA;;;ACtGH,eAAsB,eAAe,CACnC,SACA,SACA,OACA,SACA,QACe;AAAA,EACf,MAAM,QAAQ,QAAQ;AAAA,EACtB,MAAM,UAAU,QAAQ,SAAS,kBAAkB,MAAM,KAAK,IAAI,YAAY,EAAE,OAAQ,QACtF,MAAM,KAAK;AAAA,EAEb,MAAM,aAAgC,EAAE,SAAS,SAAS,QAAQ,OAAO,UAAU;AAAA,EAEnF,MAAM,UAAU,IAAI,sBAClB,KAAK,SAAS,sBAAsB,MAAM,cAAc,GACxD,MAAM,SACR;AAAA,EACA,QAAQ,KAAK;AAAA,IACX;AAAA,IACA;AAAA,IACA,oBAAoB,CAAC,UAAU,gBAAgB,YAAY,KAAK;AAAA,EAClE,CAAC;AAAA,EAED,IAAI;AAAA,IACF,MAAM,QAAQ,oBAAoB,QAAQ,iBAAiB,OAAO,GAAG,SAAS;AAAA,MAC5E,UAAU,QAAQ,MAAM;AAAA,MACxB,SAAS,QAAQ,MAAM;AAAA,IACzB,CAAC,GAAG;AAAA,IAEJ,IAAI,CAAC,SAAS,CAAC,mBAAmB,OAAO,QAAQ,KAAK,GAAG;AAAA,MACvD,MAAM,iBACJ,4BACA,2EACF;AAAA,IACF;AAAA,IAEA,MAAM,SAAS,MAAM,MAAM,MAAM,EAAE,OAAO,QAAQ,IAAI,CAAC,UAAU,MAAM,MAAM,IAAI,GAAG,OAAO,CAAC;AAAA,IAC5F,MAAM,SAAS,yBACb,QACA,QAAQ,QACR,QAAQ,MAAM,WAAW,UAC3B;AAAA,IAGA,MAAM,QAAQ,QAAQ,SAAS,eAAgB,YAAY;AAAA,MACzD,WAAW,QAAQ;AAAA,MACnB,SAAS,QAAQ,IAAI,GAAG,QAAQ,WAAW;AAAA,QACzC,IAAI,KAAK;AAAA,QACT,gBAAgB;AAAA,QAChB,QAAQ;AAAA,QACR,QAAQ,OAAO;AAAA,QACf,aAAa,IAAI,KAAK,EAAE,YAAY;AAAA,MACtC,EAAE;AAAA,IACJ,CAAC;AAAA,IACD,OAAO,OAAO;AAAA,IACd,MAAM,wBAAwB,YAAY,KAAK;AAAA;AAAA;AAInD,eAAe,eAAe,CAC5B,YACA,OACe;AAAA,EACf,WAAW,OAAO,eAAe;AAAA,EACjC,WAAW,QAAQ;AAAA,EAEnB,MAAM,UAAU,MAAM,eAAe,YAAY,WAAW,WAAW,EAAE,YAAY,KAAK,CAAC;AAAA,EAC3F,WAAW,QAAQ,UAAU,YAAY;AAAA,EAEzC,IAAI,CAAC,SAAS;AAAA,IACZ,IAAI,WAAW,QAAQ,WAAW,GAAG;AAAA,MACnC,MAAM,IAAI,MAAM,gDAAgD;AAAA,IAClE;AAAA,IACA,MAAM,IAAI,wBAAuB,IAAI,KAAK,EAAE,YAAY,CAAC;AAAA,EAC3D;AAAA,EAEA,IAAI;AAAA,IACF,MAAM,MAAM;AAAA,IACZ,OAAO,OAAO;AAAA,IACd,MAAM,eAAe,YAAY,WAAW,SAAS;AAAA,IACrD,WAAW,QAAQ;AAAA,IACnB,MAAM;AAAA;AAAA;AAIV,SAAS,wBAAwB,CAC/B,QACA,OACA,YACgC;AAAA,EAChC,IAAI;AAAA,IACF,IAAI,CAAC,MAAM,QAAQ,QAAQ,OAAO,KAAK,OAAO,QAAQ,WAAW,OAAO;AAAA,MACtE,MAAM,IAAI,MAAM,yBAAyB;AAAA,IAC3C;AAAA,IAEA,OAAO,OAAO,QAAQ,IAAI,CAAC,WAAW,iBAAgB,QAAQ,UAAU,CAAC;AAAA,IACzE,OAAO,OAAO;AAAA,IACd,MAAM,iBAAgB,2BAA2B,4CAA4C;AAAA,MAC3F;AAAA,IACF,CAAC;AAAA;AAAA;AAIL,eAAe,uBAAuB,CACpC,YACA,OACe;AAAA,EAGf,IAAI,WAAW,UAAU,cAAc,iBAAiB,yBAAwB;AAAA,IAC9E,MAAM;AAAA,EACR;AAAA,EAEA,IAAI,WAAW,UAAU,WAAW;AAAA,IAClC,IACE,aAAY,KAAK,MAChB,MAAM,SAAS,6BAA6B,MAAM,SAAS,+BAC5D;AAAA,MACA,MAAM,cAAc,QAAQ,MAAM,OAAO;AAAA,MACzC,MAAM,eAAe,YAAY,WAAW,WAAW,EAAE,YAAY,CAAC;AAAA,MACtE,MAAM,IAAI,wBAAuB,WAAW;AAAA,IAC9C;AAAA,IAEA,IAAI,WAAW,OAAO;AAAA,MAAS,MAAM;AAAA,EACvC;AAAA,EAEA,MAAM,UACJ,iBAAiB,+BACb,iBAAgB,2BAA2B,4CAA4C;AAAA,IACrF,OAAO;AAAA,EACT,CAAC,IACD;AAAA,EACN,QAAQ,SAAS,YAAY;AAAA,EAC7B,MAAM,WAAW,QAAQ,QAAQ,SAAS;AAAA,EAE1C,aAAa,UAAU,SAAS;AAAA,IAC9B,MAAM,KAAK,SAAS,UAAU,KAAK,MAAM,QAAQ,WAAW,MAAM,GAAG,OAAO;AAAA,EAC9E;AAAA;AAGF,SAAS,cAAc,CACrB,YACA,gBACA,QACA,UAA0D,CAAC,GACzC;AAAA,EAClB,QAAQ,SAAS,YAAY;AAAA,EAC7B,MAAM,cAAc,QAAQ,eAAe,IAAI,KAAK,EAAE,YAAY;AAAA,EAElE,OAAO,QAAQ,QAAQ,SAAS,eAAgB,YAAY;AAAA,IAC1D,WAAW,QAAQ;AAAA,IACnB,YAAY,QAAQ,cAAc;AAAA,IAClC,SAAS,QAAQ,IAAI,GAAG,YAAY,EAAE,IAAI,KAAK,IAAI,gBAAgB,QAAQ,YAAY,EAAE;AAAA,EAC3F,CAAC;AAAA;;;AC1KH,eAAsB,aAAa,CACjC,SACA,cACA,IACA,SACA,QACe;AAAA,EACf,MAAM,WAAW,QAAQ,QAAQ,SAAS;AAAA,EAC1C,IAAI,CAAC;AAAA,IAAU,MAAM,IAAI,MAAM,4DAA4D;AAAA,EAC3F,MAAM,YAAY,QAAQ;AAAA,EAC1B,MAAM,OAAO,MAAM,SAAS,IAAI,EAAE,WAAW,GAAG,CAAC;AAAA,EACjD,IAAI,CAAC,QAAQ,KAAK,WAAW;AAAA,IAAU;AAAA,EACvC,IAAI,KAAK,WAAW,WAAW;AAAA,IAC7B,MAAM,KACJ,SACA,UACA,MACA,iBACE,0BACA,uFACF,CACF;AAAA,IACA;AAAA,EACF;AAAA,EACA,IAAI,KAAK,MAAM,KAAK,WAAW,IAAI,KAAK,IAAI;AAAA,IAAG,MAAM,IAAI,wBAAuB,KAAK,WAAW;AAAA,EAChG,MAAM,WAAW,MAAM,QAAQ,SAAS,IAAI;AAAA,EAC5C,IAAI,CAAC,UAAU;AAAA,IACb,MAAM,SAAS,OAAO,EAAE,WAAW,GAAG,CAAC;AAAA,IACvC;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,MAAM,cAAc,SAAS,MAAM,KAAK,WAAW,KAAK,EAAE;AAAA,EACxE,IAAI,KAAK,WAAW,SAAS;AAAA,IAC3B,MAAM,YAAY,SAAS,cAAc,MAAM,OAAO,MAAM;AAAA,IAC5D;AAAA,EACF;AAAA,EACA,MAAM,gBAAgB,SAAS,CAAC,EAAE,MAAM,OAAO,SAAS,CAAC,GAAG,OAAO,SAAS,MAAM;AAAA,EAClF,MAAM,QAAQ,MAAM,SAAS,IAAI,EAAE,WAAW,GAAG,CAAC;AAAA,EAClD,IAAI,OAAO,WAAW;AAAA,IAAS,MAAM,YAAY,SAAS,cAAc,OAAO,OAAO,MAAM;AAAA;;;ACpC9F,eAAsB,gBAAgB,CACpC,SACA,cACA,SACA,OACA,QACe;AAAA,EACf,MAAM,WAAW,QAAQ,QAAQ,SAAS;AAAA,EAC1C,MAAM,WAAW,EAAE,WAAW,QAAQ,WAAW,QAAQ;AAAA,EAEzD,SAAS,UAAU,EAAG,UAAU,GAAG,WAAW;AAAA,IAC5C,MAAM,SAAS,MAAM,SAAS,SAAS,QAAQ,GAAG,OAAO,CAAC,SAAS,KAAK,WAAW,OAAO;AAAA,IAC1F,MAAM,SAA8B,CAAC;AAAA,IAErC,WAAW,QAAQ,OAAO;AAAA,MACxB,OAAO,eAAe;AAAA,MACtB,MAAM,QAAQ,MAAM,QAAQ,SAAS,IAAI;AAAA,MACzC,IAAI,OAAO;AAAA,QACT,OAAO,KAAK,EAAE,OAAO,QAAQ,KAAK,OAAQ,CAAC;AAAA,MAC7C,EAAO;AAAA,QACL,MAAM,SAAS,OAAO,EAAE,WAAW,QAAQ,WAAW,IAAI,KAAK,GAAG,CAAC;AAAA;AAAA,IAEvE;AAAA,IAEA,IAAI,CAAC,OAAO;AAAA,MAAQ;AAAA,IAEpB,IAAI;AAAA,MACF,OAAO,eAAe;AAAA,MACtB,MAAM,sBAAsB,cAAc,OAAO,MAAM;AAAA,MACvD;AAAA,MACA,OAAO,OAAO;AAAA,MACd,IAAI,EAAE,iBAAiB;AAAA,QAA+B,MAAM;AAAA;AAAA,EAEhE;AAAA,EAGA,IAAI,WAAW;AAAA,EACf,WAAW,QAAQ,MAAM,SAAS,SAAS,QAAQ,GAAG;AAAA,IACpD,IAAI,KAAK,WAAW;AAAA,MAAS;AAAA,IAC7B,IAAI;AAAA,MACF,MAAM,YAAY,SAAS,cAAc,MAAM,OAAO,MAAM;AAAA,MAC5D,OAAO,OAAO;AAAA,MACd,IAAI,EAAE,iBAAiB;AAAA,QAAyB,MAAM;AAAA,MACtD,WAAW;AAAA;AAAA,EAEf;AAAA,EAEA,IAAI;AAAA,IAAU,MAAM,IAAI,wBAAuB,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,EAAE,YAAY,CAAC;AAAA;;;AClD1F,eAAsB,kBAAkB,CACtC,SACA,cACA,SACA,OACA,SACA,QACe;AAAA,EACf,IAAI,MAAM,KAAK,CAAC,SAAS,KAAK,WAAW,SAAS,GAAG;AAAA,IACnD,MAAM,YAAY,SAAS,cAAc,SAAS,OAAO,SAAS,MAAM;AAAA,IACxE;AAAA,EACF;AAAA,EAEA,MAAM,UAAU,MAAM,aAAa,SAAS,OAAO,MAAM;AAAA,EACzD,MAAM,QAAQ,QAAQ;AAAA,EACtB,IAAI,CAAC;AAAA,IAAO;AAAA,EAEZ,MAAM,SAAS,eAAe,SAAS,MAAM,IAAI;AAAA,EACjD,IAAI,CAAC,QAAQ;AAAA,IAEX,aAAa,UAAU,SAAS;AAAA,MAC9B,MAAM,cAAc,SAAS,cAAc,KAAK,IAAI,SAAS,MAAM;AAAA,IACrE;AAAA,IACA;AAAA,EACF;AAAA,EAEA,wBAAwB,SAAS,MAAM,IAAI;AAAA,EAC3C,MAAM,QAAQ,MAAM,cAAc,SAAS,MAAM,MAAM,OAAO;AAAA,EAE9D,WAAW,SAAS,UAAU,SAAS,MAAM,GAAG;AAAA,IAC9C,IAAI,MAAM,WAAW,GAAG;AAAA,MACtB,MAAM,cAAc,SAAS,cAAc,MAAM,GAAI,KAAK,IAAI,SAAS,MAAM;AAAA,IAC/E,EAAO;AAAA,MACL,MAAM,gBAAgB,SAAS,OAAO,OAAO,SAAS,MAAM;AAAA;AAAA,EAEhE;AAAA,EAEA,MAAM,iBAAiB,SAAS,cAAc,SAAS,OAAO,MAAM;AAAA;AAItE,eAAe,WAAW,CACxB,SACA,cACA,SACA,OACA,SACA,QACe;AAAA,EACf,MAAM,QAAQ,MAAM,KAAK,CAAC,SAAS,KAAK,WAAW,OAAO;AAAA,EAC1D,IAAI,OAAO;AAAA,IACT,MAAM,QAAQ,MAAM,cAAc,SAAS,OAAO,OAAO;AAAA,IACzD,MAAM,iBAAiB,SAAS,cAAc,SAAS,OAAO,MAAM;AAAA,EACtE;AAAA,EAEA,WAAW,QAAQ,OAAO;AAAA,IACxB,IAAI,KAAK,WAAW,SAAS;AAAA,MAC3B,MAAM,cAAc,SAAS,cAAc,KAAK,IAAI,SAAS,MAAM;AAAA,IACrE;AAAA,EACF;AAAA;AAGF,eAAe,YAAY,CACzB,SACA,OACA,QACiC;AAAA,EACjC,MAAM,cAAc,MAAM,OACxB,CAAC,QAAQ,SAAU,KAAK,cAAc,SAAS,KAAK,cAAc,QAClE,EACF;AAAA,EACA,IAAI,KAAK,MAAM,WAAW,IAAI,KAAK,IAAI,GAAG;AAAA,IACxC,MAAM,IAAI,wBAAuB,WAAW;AAAA,EAC9C;AAAA,EAEA,MAAM,UAAkC,CAAC;AAAA,EACzC,MAAM,WAAW,QAAQ,QAAQ,SAAS;AAAA,EAE1C,WAAW,QAAQ,OAAO;AAAA,IACxB,OAAO,eAAe;AAAA,IACtB,MAAM,QAAQ,MAAM,QAAQ,SAAS,IAAI;AAAA,IAEzC,IAAI,OAAO;AAAA,MACT,QAAQ,KAAK,EAAE,MAAM,MAAM,CAAC;AAAA,IAC9B,EAAO;AAAA,MACL,MAAM,SAAS,OAAO,EAAE,WAAW,QAAQ,WAAW,IAAI,KAAK,GAAG,CAAC;AAAA;AAAA,EAEvE;AAAA,EAEA,OAAO;AAAA;AAGT,SAAS,cAAc,CACrB,SACA,MACkC;AAAA,EAClC,MAAM,UAAU,QAAQ,SAAS,kBAAkB,KAAK,IAAI,YAAY,EAAE,OAAQ,QAChF,KAAK;AAAA,EAGP,OAAO,QAAQ,iBAAiB,SAAS;AAAA,IACvC,UAAU,QAAQ,MAAM;AAAA,IACxB,SAAS,QAAQ,MAAM;AAAA,EACzB,CAAC,GAAG,MAAM;AAAA;AAIZ,SAAS,uBAAuB,CAC9B,SACA,WACM;AAAA,EACN,MAAM,eAAe,QAAQ,KAC3B,GAAG,WACD,KAAK,mBAAmB,UAAU,kBAClC,KAAK,IAAI,iBAAiB,UAAU,IAAI,gBACxC,KAAK,YAAY,UAAU,WAC3B,KAAK,kBAAkB,UAAU,aACrC;AAAA,EAEA,IAAI,cAAc;AAAA,IAChB,MAAM,IAAI,MAAM,8CAA8C;AAAA,EAChE;AAAA;AAIF,UAAU,SAAS,CAAC,SAA0C,QAA8B;AAAA,EAC1F,IAAI,QAAgC,CAAC;AAAA,EACrC,IAAI,QAAQ;AAAA,EAEZ,WAAW,SAAS,SAAS;AAAA,IAC3B,MAAM,OAAO,OAAO,WAAW,MAAM,MAAM,IAAI;AAAA,IAC/C,MAAM,oBACJ,MAAM,UAAU,OAAO,aACvB,QAAQ,OAAO,OAAO,sBACtB,OAAO,OAAO;AAAA,IAEhB,IAAI,MAAM,SAAS,KAAK,mBAAmB;AAAA,MACzC,MAAM;AAAA,MACN,QAAQ,CAAC;AAAA,MACT,QAAQ;AAAA,IACV;AAAA,IAEA,IAAI,OAAO,OAAO,iBAAiB,OAAO,OAAO,oBAAoB;AAAA,MACnE,MAAM,CAAC,KAAK;AAAA,MACZ;AAAA,IACF;AAAA,IAEA,MAAM,KAAK,KAAK;AAAA,IAChB,SAAS;AAAA,EACX;AAAA,EAEA,IAAI,MAAM,SAAS;AAAA,IAAG,MAAM;AAAA;;;ACxJvB,SAAS,2BAA2B,CACzC,SACA,cACuB;AAAA,EACvB,OAAO;AAAA,SACC,QAAO,CAAC,IAAI,SAAS,QAAQ;AAAA,MACjC,MAAM,WAAW,QAAQ,QAAQ,SAAS;AAAA,MAC1C,IAAI,CAAC;AAAA,QAAU,MAAM,IAAI,MAAM,4DAA4D;AAAA,MAC3F,MAAM,QAAQ,MAAM,SAAS,SAAS,EAAE,WAAW,QAAQ,WAAW,SAAS,GAAG,CAAC;AAAA,MACnF,IAAI,MAAM;AAAA,QAAQ,MAAM,mBAAmB,SAAS,cAAc,IAAI,OAAO,SAAS,MAAM;AAAA,MACvF;AAAA,cAAM,cAAc,SAAS,cAAc,IAAI,SAAS,MAAM;AAAA;AAAA,EAEvE;AAAA;;;ACfF,IAAM,WAAW,IAAI;AAEd,SAAS,6BAA6B,CAAC,MAAc,SAAsC;AAAA,EAChG,SAAS,IAAI,MAAM,OAAO;AAAA;AAGrB,SAAS,yBAAwB,CAAC,MAAqC;AAAA,EAC5E,MAAM,UAAU,SAAS,IAAI,IAAI;AAAA,EACjC,IAAI,CAAC;AAAA,IAAS,MAAM,IAAI,MAAM,yDAAyD;AAAA,EACvF,OAAO;AAAA;",
15
+ "debugId": "01D0910D8E4A772E64756E2164756E21",
16
+ "names": []
17
+ }
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  getDatasetSequenceValidationError,
4
4
  getDatasetRowValidationError2
5
- } from "./chunk-860dwwy0.js";
5
+ } from "./chunk-cd234ba4.js";
6
6
  import {
7
7
  isPlainRecord
8
8
  } from "./chunk-wy0qdqfm.js";