@sixb/core 0.1.11 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (641) hide show
  1. package/dist/actions/builders/params.d.ts +1 -22
  2. package/dist/actions/builders/params.d.ts.map +1 -1
  3. package/dist/actions/index.js +29 -28
  4. package/dist/actions/index.js.map +1 -1
  5. package/dist/actions/types/params.d.ts +10 -44
  6. package/dist/actions/types/params.d.ts.map +1 -1
  7. package/dist/actions/validation.d.ts.map +1 -1
  8. package/dist/actions/worker.js +3 -2
  9. package/dist/actions/worker.js.map +2 -2
  10. package/dist/agents/errors.d.ts +1 -1
  11. package/dist/agents/errors.d.ts.map +1 -1
  12. package/dist/agents/execution.d.ts +15 -9
  13. package/dist/agents/execution.d.ts.map +1 -1
  14. package/dist/agents/ids.d.ts +2 -0
  15. package/dist/agents/ids.d.ts.map +1 -1
  16. package/dist/agents/index.d.ts +1 -1
  17. package/dist/agents/index.d.ts.map +1 -1
  18. package/dist/agents/index.js +48 -42
  19. package/dist/agents/index.js.map +1 -1
  20. package/dist/agents/request.d.ts.map +1 -1
  21. package/dist/agents/sandbox.d.ts +5 -0
  22. package/dist/agents/sandbox.d.ts.map +1 -0
  23. package/dist/agents/streams/index.js +4 -3
  24. package/dist/agents/streams/index.js.map +1 -1
  25. package/dist/agents/streams/internal.js +4 -3
  26. package/dist/agents/streams/internal.js.map +1 -1
  27. package/dist/agents/validation.d.ts.map +1 -1
  28. package/dist/auth/index.js +8 -6
  29. package/dist/auth/index.js.map +1 -1
  30. package/dist/authorization/index.js +5 -4
  31. package/dist/authorization/index.js.map +1 -1
  32. package/dist/bootstrap/index.js +50 -46
  33. package/dist/bootstrap/index.js.map +1 -1
  34. package/dist/{chunk-17kfctj6.js → chunk-0mza4xb2.js} +2 -2
  35. package/dist/{chunk-g00bfdq6.js → chunk-2cxv584m.js} +12 -56
  36. package/dist/{chunk-g00bfdq6.js.map → chunk-2cxv584m.js.map} +3 -3
  37. package/dist/{chunk-jsy70480.js → chunk-2h63nrde.js} +365 -95
  38. package/dist/chunk-2h63nrde.js.map +20 -0
  39. package/dist/{chunk-1yefycb1.js → chunk-3bnt2wna.js} +2 -2
  40. package/dist/{chunk-awbhdqyc.js → chunk-3ghw2t5q.js} +1 -1
  41. package/dist/{chunk-b19g04jk.js → chunk-3h7ctayx.js} +1 -1
  42. package/dist/{chunk-wjasrj67.js → chunk-3qpcrcj8.js} +1 -1
  43. package/dist/{chunk-5hz0fnca.js → chunk-4k53sm9e.js} +6 -2
  44. package/dist/chunk-4k53sm9e.js.map +12 -0
  45. package/dist/chunk-4ph94nhd.js +81 -0
  46. package/dist/chunk-4ph94nhd.js.map +10 -0
  47. package/dist/chunk-58geavnf.js +29 -0
  48. package/dist/chunk-58geavnf.js.map +10 -0
  49. package/dist/{chunk-0y39rgsb.js → chunk-5tetw4hn.js} +1 -1
  50. package/dist/{chunk-7bs40fe1.js → chunk-69266efg.js} +83 -2
  51. package/dist/chunk-69266efg.js.map +12 -0
  52. package/dist/{chunk-a0e6x5hd.js → chunk-6ma8dvzc.js} +121 -53
  53. package/dist/chunk-6ma8dvzc.js.map +15 -0
  54. package/dist/{chunk-skz0hst3.js → chunk-7c2g3sz9.js} +6 -86
  55. package/dist/{chunk-skz0hst3.js.map → chunk-7c2g3sz9.js.map} +3 -3
  56. package/dist/{chunk-z0s4axeh.js → chunk-7qnvhtcd.js} +93 -17
  57. package/dist/{chunk-z0s4axeh.js.map → chunk-7qnvhtcd.js.map} +7 -6
  58. package/dist/{chunk-c5rkjrgp.js → chunk-7ytf06d3.js} +1 -1
  59. package/dist/{chunk-mrp7k0pw.js → chunk-91kcnbf0.js} +9 -14
  60. package/dist/chunk-91kcnbf0.js.map +10 -0
  61. package/dist/{chunk-yv79ncbv.js → chunk-96yw3pwd.js} +3 -3
  62. package/dist/chunk-96yw3pwd.js.map +10 -0
  63. package/dist/chunk-98cw09sw.js.map +2 -2
  64. package/dist/{chunk-93csa55g.js → chunk-axndsymr.js} +10 -4
  65. package/dist/chunk-axndsymr.js.map +11 -0
  66. package/dist/{chunk-4zhmdsx6.js → chunk-b768c93y.js} +61 -23
  67. package/dist/{chunk-4zhmdsx6.js.map → chunk-b768c93y.js.map} +5 -5
  68. package/dist/{chunk-dz5h08xv.js → chunk-bbaa1fet.js} +24 -9
  69. package/dist/{chunk-dz5h08xv.js.map → chunk-bbaa1fet.js.map} +4 -4
  70. package/dist/{chunk-7apz6hg4.js → chunk-bet1rb9h.js} +8 -4
  71. package/dist/chunk-bet1rb9h.js.map +10 -0
  72. package/dist/{chunk-358caqf5.js → chunk-bfjv1adk.js} +2 -2
  73. package/dist/{chunk-g91qxjj0.js → chunk-bg2bs62d.js} +5 -5
  74. package/dist/{chunk-860dwwy0.js → chunk-cd234ba4.js} +22 -12
  75. package/dist/chunk-cd234ba4.js.map +14 -0
  76. package/dist/chunk-dmn70ztd.js.map +2 -2
  77. package/dist/{chunk-d63nnr5b.js → chunk-e1f1sqba.js} +39 -53
  78. package/dist/{chunk-d63nnr5b.js.map → chunk-e1f1sqba.js.map} +5 -6
  79. package/dist/{chunk-ap0g1g74.js → chunk-eyjzgav0.js} +39 -4
  80. package/dist/chunk-eyjzgav0.js.map +12 -0
  81. package/dist/{chunk-rb1xx120.js → chunk-f06sf7rr.js} +9 -5
  82. package/dist/chunk-f06sf7rr.js.map +11 -0
  83. package/dist/{chunk-g6cke204.js → chunk-f85hpqnm.js} +1 -1
  84. package/dist/{chunk-vsj3mdfj.js → chunk-fc5zfxy1.js} +1 -1
  85. package/dist/{chunk-38zv5rkr.js → chunk-g2gezsg5.js} +1 -1
  86. package/dist/{chunk-38zv5rkr.js.map → chunk-g2gezsg5.js.map} +2 -2
  87. package/dist/{chunk-01kj2pbh.js → chunk-g50nxqs5.js} +53 -66
  88. package/dist/chunk-g50nxqs5.js.map +18 -0
  89. package/dist/{chunk-1824gssz.js → chunk-gswwr35f.js} +4 -4
  90. package/dist/{chunk-92vk7gta.js → chunk-gzt6v1ja.js} +1 -1
  91. package/dist/{chunk-aa6z4a19.js → chunk-hgqpcmyr.js} +2 -1
  92. package/dist/chunk-hgqpcmyr.js.map +12 -0
  93. package/dist/{chunk-gqh45d2n.js → chunk-hkw8rykk.js} +2 -2
  94. package/dist/{chunk-f4w3yp4f.js → chunk-hzw7yv5g.js} +104 -21
  95. package/dist/chunk-hzw7yv5g.js.map +13 -0
  96. package/dist/{chunk-cfvakeax.js → chunk-jjwhy3rs.js} +5 -5
  97. package/dist/chunk-kept9cdd.js +29 -0
  98. package/dist/chunk-kept9cdd.js.map +10 -0
  99. package/dist/{chunk-ftv470j8.js → chunk-m7cx05vp.js} +247 -16
  100. package/dist/{chunk-ftv470j8.js.map → chunk-m7cx05vp.js.map} +14 -10
  101. package/dist/{chunk-z0271qkp.js → chunk-mdnw7nj8.js} +8 -6
  102. package/dist/chunk-mdnw7nj8.js.map +15 -0
  103. package/dist/{chunk-gq8vhakp.js → chunk-nzsy3xrp.js} +249 -86
  104. package/dist/{chunk-gq8vhakp.js.map → chunk-nzsy3xrp.js.map} +13 -11
  105. package/dist/chunk-p1683c0v.js +104 -0
  106. package/dist/chunk-p1683c0v.js.map +11 -0
  107. package/dist/chunk-p6r1ex7t.js +93 -0
  108. package/dist/chunk-p6r1ex7t.js.map +10 -0
  109. package/dist/{chunk-sepyxgpc.js → chunk-qm535afa.js} +10 -10
  110. package/dist/{chunk-sepyxgpc.js.map → chunk-qm535afa.js.map} +4 -4
  111. package/dist/chunk-r5zythxp.js +552 -0
  112. package/dist/chunk-r5zythxp.js.map +17 -0
  113. package/dist/{chunk-9qsh3p5y.js → chunk-rb143ggb.js} +1 -1
  114. package/dist/{chunk-653vwrzr.js → chunk-rdghfsss.js} +1 -1
  115. package/dist/{chunk-3ckk0xfj.js → chunk-sfypc7mk.js} +18 -13
  116. package/dist/{chunk-3ckk0xfj.js.map → chunk-sfypc7mk.js.map} +3 -3
  117. package/dist/{chunk-f0rwz2vh.js → chunk-t6f3tdnr.js} +2 -54
  118. package/dist/chunk-t6f3tdnr.js.map +10 -0
  119. package/dist/{chunk-x9m9x2eq.js → chunk-t7dzd1tm.js} +3 -3
  120. package/dist/{chunk-pr2h4bv4.js → chunk-tg4g4zh0.js} +3 -3
  121. package/dist/chunk-vpxss818.js +56 -0
  122. package/dist/chunk-vpxss818.js.map +10 -0
  123. package/dist/{chunk-ms2tmn1k.js → chunk-vsg0g7h9.js} +53 -57
  124. package/dist/chunk-vsg0g7h9.js.map +17 -0
  125. package/dist/{chunk-8vj0rjgs.js → chunk-wjffn5m4.js} +1 -1
  126. package/dist/{chunk-wf88w4kp.js → chunk-x9tmx3fc.js} +2 -2
  127. package/dist/{chunk-fh8kgex1.js → chunk-xn686q2e.js} +8 -8
  128. package/dist/{chunk-g53f0e4j.js → chunk-xnx96gfy.js} +45 -17
  129. package/dist/{chunk-g53f0e4j.js.map → chunk-xnx96gfy.js.map} +3 -3
  130. package/dist/{chunk-v2vcg0w6.js → chunk-xtfryrfb.js} +2 -2
  131. package/dist/chunk-y0v18c2j.js +363 -0
  132. package/dist/chunk-y0v18c2j.js.map +14 -0
  133. package/dist/{chunk-72w2pxk7.js → chunk-y1ahv8b7.js} +11 -3
  134. package/dist/{chunk-72w2pxk7.js.map → chunk-y1ahv8b7.js.map} +3 -3
  135. package/dist/chunk-y3ev53cq.js +84 -0
  136. package/dist/chunk-y3ev53cq.js.map +10 -0
  137. package/dist/{chunk-gqm76kse.js → chunk-ybhz3j9g.js} +342 -41
  138. package/dist/{chunk-gqm76kse.js.map → chunk-ybhz3j9g.js.map} +17 -12
  139. package/dist/{chunk-z30bv4ga.js → chunk-yxb4c62x.js} +3 -2
  140. package/dist/{chunk-z30bv4ga.js.map → chunk-yxb4c62x.js.map} +3 -3
  141. package/dist/chunk-z3y5kg1x.js +14 -0
  142. package/dist/chunk-z3y5kg1x.js.map +10 -0
  143. package/dist/datasets/validation.d.ts +4 -0
  144. package/dist/datasets/validation.d.ts.map +1 -1
  145. package/dist/datasets/write.d.ts.map +1 -1
  146. package/dist/datasets/write.js +5 -4
  147. package/dist/datasets/write.js.map +1 -1
  148. package/dist/error-reporting/capability.d.ts +3 -2
  149. package/dist/error-reporting/capability.d.ts.map +1 -1
  150. package/dist/error-reporting/internal.js +5 -4
  151. package/dist/error-reporting/internal.js.map +1 -1
  152. package/dist/error-reporting/reports.d.ts +10 -0
  153. package/dist/error-reporting/reports.d.ts.map +1 -1
  154. package/dist/error-reporting/types.d.ts +10 -2
  155. package/dist/error-reporting/types.d.ts.map +1 -1
  156. package/dist/errors/catalog.d.ts +12 -0
  157. package/dist/errors/catalog.d.ts.map +1 -1
  158. package/dist/errors/failure-message.d.ts +8 -0
  159. package/dist/errors/failure-message.d.ts.map +1 -0
  160. package/dist/errors/internal.d.ts.map +1 -1
  161. package/dist/errors/internal.js +3 -2
  162. package/dist/errors/internal.js.map +1 -1
  163. package/dist/events/index.js +5 -4
  164. package/dist/events/index.js.map +1 -1
  165. package/dist/execution/agent.js +44 -41
  166. package/dist/execution/agent.js.map +1 -1
  167. package/dist/execution/authorization.d.ts.map +1 -1
  168. package/dist/execution/authorized-object-reader.d.ts +3 -0
  169. package/dist/execution/authorized-object-reader.d.ts.map +1 -1
  170. package/dist/execution/kernel-operation.d.ts +4 -0
  171. package/dist/execution/kernel-operation.d.ts.map +1 -0
  172. package/dist/execution/primitive.js +44 -41
  173. package/dist/execution/primitive.js.map +2 -2
  174. package/dist/execution/request.js +45 -42
  175. package/dist/execution/request.js.map +2 -2
  176. package/dist/execution/types.d.ts +6 -0
  177. package/dist/execution/types.d.ts.map +1 -1
  178. package/dist/index.d.ts +15 -5
  179. package/dist/index.d.ts.map +1 -1
  180. package/dist/index.js +68 -59
  181. package/dist/index.js.map +1 -1
  182. package/dist/lake-storage/in-memory.d.ts.map +1 -1
  183. package/dist/lake-storage/index.js +5 -4
  184. package/dist/lake-storage/index.js.map +1 -1
  185. package/dist/materialization/errors.d.ts +1 -1
  186. package/dist/materialization/errors.d.ts.map +1 -1
  187. package/dist/materialization/index.d.ts +1 -0
  188. package/dist/materialization/index.d.ts.map +1 -1
  189. package/dist/materialization/index.js +3 -3
  190. package/dist/materialization/model.d.ts +2 -0
  191. package/dist/materialization/model.d.ts.map +1 -1
  192. package/dist/materialization/vectors.d.ts +19 -0
  193. package/dist/materialization/vectors.d.ts.map +1 -0
  194. package/dist/materializer/context.d.ts.map +1 -1
  195. package/dist/materializer/edits/commit.d.ts.map +1 -1
  196. package/dist/materializer/edits/vector-authority.d.ts +6 -0
  197. package/dist/materializer/edits/vector-authority.d.ts.map +1 -0
  198. package/dist/materializer/edits/vectors.d.ts +6 -0
  199. package/dist/materializer/edits/vectors.d.ts.map +1 -0
  200. package/dist/materializer/effective/validate.d.ts.map +1 -1
  201. package/dist/materializer/effective/vector-indexing.d.ts +7 -0
  202. package/dist/materializer/effective/vector-indexing.d.ts.map +1 -0
  203. package/dist/materializer/effective/vectors.d.ts +6 -0
  204. package/dist/materializer/effective/vectors.d.ts.map +1 -0
  205. package/dist/materializer/execution/work-executor.d.ts +2 -1
  206. package/dist/materializer/execution/work-executor.d.ts.map +1 -1
  207. package/dist/materializer/index.js +26 -25
  208. package/dist/materializer/index.js.map +1 -1
  209. package/dist/materializer/shared/normalize.d.ts.map +1 -1
  210. package/dist/models/catalog-index.d.ts +15 -0
  211. package/dist/models/catalog-index.d.ts.map +1 -0
  212. package/dist/models/catalog.d.ts +27 -6
  213. package/dist/models/catalog.d.ts.map +1 -1
  214. package/dist/models/decision/catalog.d.ts +12 -0
  215. package/dist/models/decision/catalog.d.ts.map +1 -0
  216. package/dist/models/decision/errors.d.ts +7 -0
  217. package/dist/models/decision/errors.d.ts.map +1 -0
  218. package/dist/models/decision/output.d.ts +50 -0
  219. package/dist/models/decision/output.d.ts.map +1 -0
  220. package/dist/models/decision/questions.d.ts +14 -0
  221. package/dist/models/decision/questions.d.ts.map +1 -0
  222. package/dist/models/decision/runtime.d.ts +7 -0
  223. package/dist/models/decision/runtime.d.ts.map +1 -0
  224. package/dist/models/decision/types.d.ts +92 -0
  225. package/dist/models/decision/types.d.ts.map +1 -0
  226. package/dist/models/decision/validation.d.ts +7 -0
  227. package/dist/models/decision/validation.d.ts.map +1 -0
  228. package/dist/models/definitions.d.ts +1 -1
  229. package/dist/models/definitions.d.ts.map +1 -1
  230. package/dist/models/embedding-model.d.ts +60 -0
  231. package/dist/models/embedding-model.d.ts.map +1 -0
  232. package/dist/models/execution/binding.d.ts +2 -0
  233. package/dist/models/execution/binding.d.ts.map +1 -1
  234. package/dist/models/execution/embedding.d.ts +5 -0
  235. package/dist/models/execution/embedding.d.ts.map +1 -0
  236. package/dist/models/execution/index.js +29 -26
  237. package/dist/models/execution/index.js.map +1 -1
  238. package/dist/models/execution/model-call-recorder.d.ts +5 -1
  239. package/dist/models/execution/model-call-recorder.d.ts.map +1 -1
  240. package/dist/models/execution/session.d.ts +21 -0
  241. package/dist/models/execution/session.d.ts.map +1 -0
  242. package/dist/models/execution.d.ts.map +1 -1
  243. package/dist/models/generation-types.d.ts +2 -0
  244. package/dist/models/generation-types.d.ts.map +1 -1
  245. package/dist/models/index.d.ts +9 -1
  246. package/dist/models/index.d.ts.map +1 -1
  247. package/dist/models/index.js +17 -7
  248. package/dist/models/index.js.map +1 -1
  249. package/dist/models/pricing.d.ts +3 -2
  250. package/dist/models/pricing.d.ts.map +1 -1
  251. package/dist/objects/authorized-ontology-view.d.ts.map +1 -1
  252. package/dist/objects/execution.d.ts +1 -0
  253. package/dist/objects/execution.d.ts.map +1 -1
  254. package/dist/objects/index.js +29 -28
  255. package/dist/objects/index.js.map +1 -1
  256. package/dist/objects/query/executor.d.ts +3 -0
  257. package/dist/objects/query/executor.d.ts.map +1 -1
  258. package/dist/objects/query/index.d.ts +2 -0
  259. package/dist/objects/query/index.d.ts.map +1 -1
  260. package/dist/objects/query/index.js +34 -24
  261. package/dist/objects/query/index.js.map +1 -1
  262. package/dist/objects/query/ir.d.ts +6 -2
  263. package/dist/objects/query/ir.d.ts.map +1 -1
  264. package/dist/objects/query/normalize.d.ts.map +1 -1
  265. package/dist/objects/query/validate.d.ts.map +1 -1
  266. package/dist/objects/sdk/object-handle.d.ts +5 -0
  267. package/dist/objects/sdk/object-handle.d.ts.map +1 -1
  268. package/dist/objects/sdk/object-set.d.ts.map +1 -1
  269. package/dist/objects/sdk/query-executor.d.ts +2 -0
  270. package/dist/objects/sdk/query-executor.d.ts.map +1 -1
  271. package/dist/objects/sdk/runtime-query-executor.d.ts.map +1 -1
  272. package/dist/objects/vectors/handle.d.ts +4 -0
  273. package/dist/objects/vectors/handle.d.ts.map +1 -0
  274. package/dist/objects/vectors/indexing-batch.d.ts +6 -0
  275. package/dist/objects/vectors/indexing-batch.d.ts.map +1 -0
  276. package/dist/objects/vectors/indexing-generate.d.ts +11 -0
  277. package/dist/objects/vectors/indexing-generate.d.ts.map +1 -0
  278. package/dist/objects/vectors/indexing-runtime.d.ts +7 -0
  279. package/dist/objects/vectors/indexing-runtime.d.ts.map +1 -0
  280. package/dist/objects/vectors/indexing-shared.d.ts +17 -0
  281. package/dist/objects/vectors/indexing-shared.d.ts.map +1 -0
  282. package/dist/objects/vectors/indexing-single.d.ts +4 -0
  283. package/dist/objects/vectors/indexing-single.d.ts.map +1 -0
  284. package/dist/objects/vectors/indexing-store-batch.d.ts +6 -0
  285. package/dist/objects/vectors/indexing-store-batch.d.ts.map +1 -0
  286. package/dist/objects/vectors/indexing.d.ts +7 -0
  287. package/dist/objects/vectors/indexing.d.ts.map +1 -0
  288. package/dist/objects/vectors/profile.d.ts +13 -0
  289. package/dist/objects/vectors/profile.d.ts.map +1 -0
  290. package/dist/objects/vectors/query.d.ts +5 -0
  291. package/dist/objects/vectors/query.d.ts.map +1 -0
  292. package/dist/objects/vectors/resolve-query.d.ts +6 -0
  293. package/dist/objects/vectors/resolve-query.d.ts.map +1 -0
  294. package/dist/objects/vectors/types.d.ts +11 -0
  295. package/dist/objects/vectors/types.d.ts.map +1 -0
  296. package/dist/ontology/index.d.ts +2 -1
  297. package/dist/ontology/index.d.ts.map +1 -1
  298. package/dist/ontology/index.js +5 -5
  299. package/dist/ontology/index.js.map +1 -1
  300. package/dist/ontology/internal.js +5 -4
  301. package/dist/ontology/internal.js.map +1 -1
  302. package/dist/ontology/registry.d.ts.map +1 -1
  303. package/dist/ontology/types.d.ts +8 -9
  304. package/dist/ontology/types.d.ts.map +1 -1
  305. package/dist/ontology/validation/definition.d.ts +3 -0
  306. package/dist/ontology/validation/definition.d.ts.map +1 -0
  307. package/dist/ontology/validation/properties.d.ts.map +1 -1
  308. package/dist/ontology/validation/query.d.ts.map +1 -1
  309. package/dist/ontology/validation/schema.d.ts +1 -1
  310. package/dist/ontology/validation/schema.d.ts.map +1 -1
  311. package/dist/ontology/vector-profiles.d.ts +4 -0
  312. package/dist/ontology/vector-profiles.d.ts.map +1 -0
  313. package/dist/pipelines/index.js +28 -27
  314. package/dist/pipelines/index.js.map +1 -1
  315. package/dist/projections/internal.js +24 -23
  316. package/dist/projections/internal.js.map +1 -1
  317. package/dist/query.js +2 -2
  318. package/dist/queues/in-memory.d.ts +2 -1
  319. package/dist/queues/in-memory.d.ts.map +1 -1
  320. package/dist/queues/index.d.ts +1 -1
  321. package/dist/queues/index.d.ts.map +1 -1
  322. package/dist/queues/index.js +1 -1
  323. package/dist/queues/types.d.ts +5 -0
  324. package/dist/queues/types.d.ts.map +1 -1
  325. package/dist/runtime/create.d.ts +4 -3
  326. package/dist/runtime/create.d.ts.map +1 -1
  327. package/dist/runtime/host.d.ts +9 -6
  328. package/dist/runtime/host.d.ts.map +1 -1
  329. package/dist/runtime/internal.d.ts +3 -0
  330. package/dist/runtime/internal.d.ts.map +1 -1
  331. package/dist/runtime/internal.js +47 -1
  332. package/dist/runtime/internal.js.map +1 -1
  333. package/dist/runtime/resolve-definitions.d.ts.map +1 -1
  334. package/dist/runtime/sixb.d.ts +9 -4
  335. package/dist/runtime/sixb.d.ts.map +1 -1
  336. package/dist/runtime/types.d.ts +15 -3
  337. package/dist/runtime/types.d.ts.map +1 -1
  338. package/dist/sandboxes/auth.d.ts +16 -0
  339. package/dist/sandboxes/auth.d.ts.map +1 -0
  340. package/dist/sandboxes/config.d.ts +5 -0
  341. package/dist/sandboxes/config.d.ts.map +1 -0
  342. package/dist/sandboxes/configuration.d.ts +41 -0
  343. package/dist/sandboxes/configuration.d.ts.map +1 -0
  344. package/dist/sandboxes/environment.d.ts +13 -0
  345. package/dist/sandboxes/environment.d.ts.map +1 -0
  346. package/dist/sandboxes/errors.d.ts +1 -1
  347. package/dist/sandboxes/errors.d.ts.map +1 -1
  348. package/dist/sandboxes/index.d.ts +6 -1
  349. package/dist/sandboxes/index.d.ts.map +1 -1
  350. package/dist/sandboxes/index.js +16 -3
  351. package/dist/sandboxes/index.js.map +1 -1
  352. package/dist/sandboxes/sandbox.d.ts +35 -3
  353. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  354. package/dist/shared/params/builders.d.ts +25 -0
  355. package/dist/shared/params/builders.d.ts.map +1 -0
  356. package/dist/shared/params/types.d.ts +47 -0
  357. package/dist/shared/params/types.d.ts.map +1 -0
  358. package/dist/shared/params/validation.d.ts +15 -0
  359. package/dist/shared/params/validation.d.ts.map +1 -0
  360. package/dist/shares/internal.js +23 -22
  361. package/dist/shares/internal.js.map +2 -2
  362. package/dist/storage/action-runs/failure.js +4 -3
  363. package/dist/storage/action-runs/failure.js.map +1 -1
  364. package/dist/storage/action-runs/provider.js +1 -1
  365. package/dist/storage/agents/in-memory.d.ts +2 -1
  366. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  367. package/dist/storage/agents/index.d.ts +1 -1
  368. package/dist/storage/agents/index.d.ts.map +1 -1
  369. package/dist/storage/agents/provider.d.ts +5 -1
  370. package/dist/storage/agents/provider.d.ts.map +1 -1
  371. package/dist/storage/agents/provider.js +8 -4
  372. package/dist/storage/agents/provider.js.map +1 -1
  373. package/dist/storage/agents/types.d.ts +49 -0
  374. package/dist/storage/agents/types.d.ts.map +1 -1
  375. package/dist/storage/ai-cost/analytics.d.ts +1 -0
  376. package/dist/storage/ai-cost/analytics.d.ts.map +1 -1
  377. package/dist/storage/ai-cost/index.d.ts +1 -1
  378. package/dist/storage/ai-cost/index.d.ts.map +1 -1
  379. package/dist/storage/ai-cost/provider.js +2 -2
  380. package/dist/storage/ai-cost/types.d.ts +14 -2
  381. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  382. package/dist/storage/ai-limits/enforcement.js +4 -3
  383. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  384. package/dist/storage/connector-connections/provider.js +3 -2
  385. package/dist/storage/connector-connections/provider.js.map +2 -2
  386. package/dist/storage/executions/provider.d.ts +3 -3
  387. package/dist/storage/executions/provider.d.ts.map +1 -1
  388. package/dist/storage/executions/provider.js +13 -11
  389. package/dist/storage/executions/provider.js.map +3 -3
  390. package/dist/storage/executions/types.d.ts +3 -0
  391. package/dist/storage/executions/types.d.ts.map +1 -1
  392. package/dist/storage/executions/validation.d.ts.map +1 -1
  393. package/dist/storage/index.d.ts +5 -3
  394. package/dist/storage/index.d.ts.map +1 -1
  395. package/dist/storage/index.js +25 -22
  396. package/dist/storage/index.js.map +1 -1
  397. package/dist/storage/internal.js +2 -2
  398. package/dist/storage/objects/in-memory/query.d.ts.map +1 -1
  399. package/dist/storage/objects/in-memory/read-source.d.ts +5 -0
  400. package/dist/storage/objects/in-memory/read-source.d.ts.map +1 -1
  401. package/dist/storage/objects/in-memory/selected-reader.d.ts.map +1 -1
  402. package/dist/storage/objects/in-memory/storage.d.ts +7 -0
  403. package/dist/storage/objects/in-memory/storage.d.ts.map +1 -1
  404. package/dist/storage/objects/types.d.ts +2 -0
  405. package/dist/storage/objects/types.d.ts.map +1 -1
  406. package/dist/storage/ontology/commits.d.ts +1 -0
  407. package/dist/storage/ontology/commits.d.ts.map +1 -1
  408. package/dist/storage/ontology/in-memory/index.d.ts +4 -0
  409. package/dist/storage/ontology/in-memory/index.d.ts.map +1 -1
  410. package/dist/storage/ontology/in-memory/materializations.d.ts +2 -0
  411. package/dist/storage/ontology/in-memory/materializations.d.ts.map +1 -1
  412. package/dist/storage/ontology/in-memory/shared-state.d.ts +7 -0
  413. package/dist/storage/ontology/in-memory/shared-state.d.ts.map +1 -1
  414. package/dist/storage/ontology/in-memory/vector-indexing.d.ts +44 -0
  415. package/dist/storage/ontology/in-memory/vector-indexing.d.ts.map +1 -0
  416. package/dist/storage/ontology/in-memory/vectors.d.ts +31 -0
  417. package/dist/storage/ontology/in-memory/vectors.d.ts.map +1 -0
  418. package/dist/storage/ontology/index.d.ts +6 -0
  419. package/dist/storage/ontology/index.d.ts.map +1 -1
  420. package/dist/storage/ontology/provider.js +2 -2
  421. package/dist/storage/ontology/vector-indexing.d.ts +94 -0
  422. package/dist/storage/ontology/vector-indexing.d.ts.map +1 -0
  423. package/dist/storage/ontology/vectors.d.ts +56 -0
  424. package/dist/storage/ontology/vectors.d.ts.map +1 -0
  425. package/dist/storage/operation-scope.d.ts.map +1 -1
  426. package/dist/storage/operation-scope.js +1 -1
  427. package/dist/storage/projection-runs/provider.js +4 -3
  428. package/dist/storage/projection-runs/provider.js.map +1 -1
  429. package/dist/storage/types.d.ts +1 -1
  430. package/dist/storage/types.d.ts.map +1 -1
  431. package/dist/storage/workflow-runs/provider.js +9 -7
  432. package/dist/storage/workflow-runs/provider.js.map +1 -1
  433. package/dist/syncs/index.js +29 -28
  434. package/dist/syncs/index.js.map +1 -1
  435. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  436. package/dist/testing/ai-cost-storage-contract.d.ts.map +1 -1
  437. package/dist/testing/index.js +448 -69
  438. package/dist/testing/index.js.map +7 -7
  439. package/dist/testing/object-query-contract.d.ts.map +1 -1
  440. package/dist/testing/object-read-scope-contract.d.ts.map +1 -1
  441. package/dist/testing/queues-contract.d.ts.map +1 -1
  442. package/dist/webhooks/internal.js +24 -23
  443. package/dist/webhooks/internal.js.map +2 -2
  444. package/dist/workers/index.js +3 -2
  445. package/dist/workers/index.js.map +2 -2
  446. package/dist/workflows/failure.d.ts.map +1 -1
  447. package/dist/workflows/index.js +47 -43
  448. package/dist/workflows/index.js.map +1 -1
  449. package/package.json +1 -1
  450. package/src/actions/builders/params.ts +1 -48
  451. package/src/actions/types/params.ts +14 -74
  452. package/src/actions/validation.ts +7 -84
  453. package/src/agents/errors.ts +3 -0
  454. package/src/agents/execution.ts +67 -15
  455. package/src/agents/ids.ts +8 -0
  456. package/src/agents/index.ts +1 -0
  457. package/src/agents/request.ts +11 -0
  458. package/src/agents/sandbox.ts +44 -0
  459. package/src/agents/validation.ts +2 -108
  460. package/src/datasets/validation.ts +40 -11
  461. package/src/datasets/write.ts +8 -11
  462. package/src/error-reporting/capability.ts +11 -0
  463. package/src/error-reporting/reports.ts +23 -0
  464. package/src/error-reporting/types.ts +12 -1
  465. package/src/errors/catalog.ts +12 -0
  466. package/src/errors/failure-message.ts +15 -0
  467. package/src/errors/internal.ts +57 -25
  468. package/src/execution/authorization.ts +12 -5
  469. package/src/execution/authorized-object-reader.ts +37 -2
  470. package/src/execution/kernel-operation.ts +27 -0
  471. package/src/execution/scopes.ts +2 -0
  472. package/src/execution/types.ts +4 -4
  473. package/src/index.ts +60 -1
  474. package/src/lake-storage/in-memory.ts +5 -3
  475. package/src/materialization/errors.ts +2 -2
  476. package/src/materialization/index.ts +1 -0
  477. package/src/materialization/model.ts +2 -0
  478. package/src/materialization/vectors.ts +18 -0
  479. package/src/materializer/README.md +14 -0
  480. package/src/materializer/context.ts +10 -0
  481. package/src/materializer/edits/commit.ts +8 -1
  482. package/src/materializer/edits/vector-authority.ts +108 -0
  483. package/src/materializer/edits/vectors.ts +100 -0
  484. package/src/materializer/effective/validate.ts +10 -3
  485. package/src/materializer/effective/vector-indexing.ts +84 -0
  486. package/src/materializer/effective/vectors.ts +47 -0
  487. package/src/materializer/execution/work-executor.ts +11 -3
  488. package/src/materializer/projections/replace.ts +1 -1
  489. package/src/materializer/shared/normalize.ts +11 -0
  490. package/src/materializer/telemetry/append.ts +1 -1
  491. package/src/models/catalog-index.ts +38 -0
  492. package/src/models/catalog.ts +66 -38
  493. package/src/models/decision/catalog.ts +32 -0
  494. package/src/models/decision/errors.ts +18 -0
  495. package/src/models/decision/output.ts +101 -0
  496. package/src/models/decision/questions.ts +29 -0
  497. package/src/models/decision/runtime.ts +188 -0
  498. package/src/models/decision/types.ts +109 -0
  499. package/src/models/decision/validation.ts +335 -0
  500. package/src/models/definitions.ts +1 -1
  501. package/src/models/embedding-model.ts +129 -0
  502. package/src/models/execution/README.md +63 -0
  503. package/src/models/execution/binding.ts +2 -0
  504. package/src/models/execution/embedding.ts +133 -0
  505. package/src/models/execution/model-call-recorder.ts +42 -30
  506. package/src/models/execution/session.ts +81 -0
  507. package/src/models/execution.ts +10 -52
  508. package/src/models/generation-types.ts +2 -0
  509. package/src/models/index.ts +37 -0
  510. package/src/models/pricing.ts +1 -2
  511. package/src/objects/authorized-ontology-view.ts +12 -8
  512. package/src/objects/execution.ts +2 -0
  513. package/src/objects/query/executor.ts +13 -4
  514. package/src/objects/query/explain.ts +7 -2
  515. package/src/objects/query/index.ts +2 -0
  516. package/src/objects/query/ir.ts +6 -2
  517. package/src/objects/query/normalize.ts +5 -1
  518. package/src/objects/query/validate.ts +74 -73
  519. package/src/objects/sdk/object-handle.ts +3 -0
  520. package/src/objects/sdk/object-set.ts +1 -0
  521. package/src/objects/sdk/query-builder.ts +9 -3
  522. package/src/objects/sdk/query-executor.ts +2 -1
  523. package/src/objects/sdk/runtime-query-executor.ts +6 -2
  524. package/src/objects/vectors/README.md +59 -0
  525. package/src/objects/vectors/handle.ts +91 -0
  526. package/src/objects/vectors/indexing-batch.ts +163 -0
  527. package/src/objects/vectors/indexing-generate.ts +184 -0
  528. package/src/objects/vectors/indexing-runtime.ts +17 -0
  529. package/src/objects/vectors/indexing-shared.ts +188 -0
  530. package/src/objects/vectors/indexing-single.ts +51 -0
  531. package/src/objects/vectors/indexing-store-batch.ts +62 -0
  532. package/src/objects/vectors/indexing.ts +23 -0
  533. package/src/objects/vectors/profile.ts +64 -0
  534. package/src/objects/vectors/query.ts +16 -0
  535. package/src/objects/vectors/resolve-query.ts +89 -0
  536. package/src/objects/vectors/types.ts +10 -0
  537. package/src/ontology/index.ts +2 -0
  538. package/src/ontology/registry.ts +8 -0
  539. package/src/ontology/types.ts +9 -9
  540. package/src/ontology/validation/definition.ts +104 -0
  541. package/src/ontology/validation/properties.ts +14 -4
  542. package/src/ontology/validation/query.ts +34 -51
  543. package/src/ontology/validation/schema.ts +85 -23
  544. package/src/ontology/vector-profiles.ts +35 -0
  545. package/src/queues/in-memory.ts +5 -0
  546. package/src/queues/index.ts +1 -0
  547. package/src/queues/types.ts +10 -0
  548. package/src/runtime/create.ts +7 -6
  549. package/src/runtime/host.ts +42 -6
  550. package/src/runtime/internal.ts +3 -0
  551. package/src/runtime/resolve-definitions.ts +19 -1
  552. package/src/runtime/sixb.ts +27 -9
  553. package/src/runtime/types.ts +16 -4
  554. package/src/sandboxes/README.md +41 -0
  555. package/src/sandboxes/auth.ts +17 -0
  556. package/src/sandboxes/config.ts +37 -0
  557. package/src/sandboxes/configuration.ts +268 -0
  558. package/src/sandboxes/environment.ts +107 -0
  559. package/src/sandboxes/errors.ts +1 -1
  560. package/src/sandboxes/index.ts +15 -0
  561. package/src/sandboxes/sandbox.ts +38 -3
  562. package/src/shared/params/builders.ts +50 -0
  563. package/src/shared/params/types.ts +84 -0
  564. package/src/shared/params/validation.ts +114 -0
  565. package/src/storage/agents/in-memory.ts +25 -1
  566. package/src/storage/agents/index.ts +3 -0
  567. package/src/storage/agents/provider.ts +105 -0
  568. package/src/storage/agents/types.ts +54 -0
  569. package/src/storage/ai-cost/analytics.ts +59 -21
  570. package/src/storage/ai-cost/index.ts +1 -0
  571. package/src/storage/ai-cost/types.ts +19 -2
  572. package/src/storage/executions/provider.ts +24 -12
  573. package/src/storage/executions/types.ts +1 -0
  574. package/src/storage/executions/validation.ts +7 -3
  575. package/src/storage/index.ts +15 -1
  576. package/src/storage/objects/in-memory/query.ts +25 -11
  577. package/src/storage/objects/in-memory/read-scope.ts +9 -2
  578. package/src/storage/objects/in-memory/read-source.ts +5 -0
  579. package/src/storage/objects/in-memory/selected-reader.ts +5 -1
  580. package/src/storage/objects/in-memory/storage.ts +19 -1
  581. package/src/storage/objects/types.ts +2 -0
  582. package/src/storage/ontology/commits.ts +1 -0
  583. package/src/storage/ontology/in-memory/index.ts +20 -0
  584. package/src/storage/ontology/in-memory/materializations.ts +13 -0
  585. package/src/storage/ontology/in-memory/shared-state.ts +9 -0
  586. package/src/storage/ontology/in-memory/vector-indexing.ts +179 -0
  587. package/src/storage/ontology/in-memory/vectors.ts +73 -0
  588. package/src/storage/ontology/index.ts +14 -0
  589. package/src/storage/ontology/vector-indexing.ts +98 -0
  590. package/src/storage/ontology/vectors.ts +48 -0
  591. package/src/storage/operation-scope.ts +1 -0
  592. package/src/storage/types.ts +3 -0
  593. package/src/testing/agent-storage-contract.ts +246 -0
  594. package/src/testing/ai-cost-storage-contract.ts +134 -0
  595. package/src/testing/object-query-contract.ts +41 -25
  596. package/src/testing/object-read-scope-contract.ts +1 -5
  597. package/src/testing/queues-contract.ts +31 -0
  598. package/src/workflows/failure.ts +10 -4
  599. package/src/workflows/validation.ts +2 -2
  600. package/dist/chunk-01kj2pbh.js.map +0 -19
  601. package/dist/chunk-5hz0fnca.js.map +0 -12
  602. package/dist/chunk-7apz6hg4.js.map +0 -10
  603. package/dist/chunk-7bs40fe1.js.map +0 -12
  604. package/dist/chunk-860dwwy0.js.map +0 -14
  605. package/dist/chunk-93csa55g.js.map +0 -11
  606. package/dist/chunk-a0e6x5hd.js.map +0 -14
  607. package/dist/chunk-aa6z4a19.js.map +0 -12
  608. package/dist/chunk-ap0g1g74.js.map +0 -11
  609. package/dist/chunk-f0rwz2vh.js.map +0 -11
  610. package/dist/chunk-f4w3yp4f.js.map +0 -12
  611. package/dist/chunk-jsy70480.js.map +0 -15
  612. package/dist/chunk-mrp7k0pw.js.map +0 -10
  613. package/dist/chunk-ms2tmn1k.js.map +0 -17
  614. package/dist/chunk-rb1xx120.js.map +0 -11
  615. package/dist/chunk-yv79ncbv.js.map +0 -10
  616. package/dist/chunk-z0271qkp.js.map +0 -15
  617. package/dist/chunk-z3y411fq.js +0 -99
  618. package/dist/chunk-z3y411fq.js.map +0 -11
  619. /package/dist/{chunk-17kfctj6.js.map → chunk-0mza4xb2.js.map} +0 -0
  620. /package/dist/{chunk-1yefycb1.js.map → chunk-3bnt2wna.js.map} +0 -0
  621. /package/dist/{chunk-awbhdqyc.js.map → chunk-3ghw2t5q.js.map} +0 -0
  622. /package/dist/{chunk-b19g04jk.js.map → chunk-3h7ctayx.js.map} +0 -0
  623. /package/dist/{chunk-wjasrj67.js.map → chunk-3qpcrcj8.js.map} +0 -0
  624. /package/dist/{chunk-0y39rgsb.js.map → chunk-5tetw4hn.js.map} +0 -0
  625. /package/dist/{chunk-c5rkjrgp.js.map → chunk-7ytf06d3.js.map} +0 -0
  626. /package/dist/{chunk-358caqf5.js.map → chunk-bfjv1adk.js.map} +0 -0
  627. /package/dist/{chunk-g91qxjj0.js.map → chunk-bg2bs62d.js.map} +0 -0
  628. /package/dist/{chunk-g6cke204.js.map → chunk-f85hpqnm.js.map} +0 -0
  629. /package/dist/{chunk-vsj3mdfj.js.map → chunk-fc5zfxy1.js.map} +0 -0
  630. /package/dist/{chunk-1824gssz.js.map → chunk-gswwr35f.js.map} +0 -0
  631. /package/dist/{chunk-92vk7gta.js.map → chunk-gzt6v1ja.js.map} +0 -0
  632. /package/dist/{chunk-gqh45d2n.js.map → chunk-hkw8rykk.js.map} +0 -0
  633. /package/dist/{chunk-cfvakeax.js.map → chunk-jjwhy3rs.js.map} +0 -0
  634. /package/dist/{chunk-9qsh3p5y.js.map → chunk-rb143ggb.js.map} +0 -0
  635. /package/dist/{chunk-653vwrzr.js.map → chunk-rdghfsss.js.map} +0 -0
  636. /package/dist/{chunk-x9m9x2eq.js.map → chunk-t7dzd1tm.js.map} +0 -0
  637. /package/dist/{chunk-pr2h4bv4.js.map → chunk-tg4g4zh0.js.map} +0 -0
  638. /package/dist/{chunk-8vj0rjgs.js.map → chunk-wjffn5m4.js.map} +0 -0
  639. /package/dist/{chunk-wf88w4kp.js.map → chunk-x9tmx3fc.js.map} +0 -0
  640. /package/dist/{chunk-fh8kgex1.js.map → chunk-xn686q2e.js.map} +0 -0
  641. /package/dist/{chunk-v2vcg0w6.js.map → chunk-xtfryrfb.js.map} +0 -0
@@ -1,10 +1,7 @@
1
- import type { JsonValue } from "../json"
2
- import type { SchemaOrRef, ValueType } from "../ontology"
1
+ import type { ValueType } from "../ontology"
3
2
  import { OntologyValidationError } from "../ontology/errors"
4
- import { validateSchemaOrRefValue } from "../ontology/refs"
5
3
  import type { ObjectTypeWithPropertyTokens } from "../ontology/tokens"
6
- import type { Schema } from "../ontology/types"
7
- import { coerceSchemaValueToTyped, normalizeSchemaValue } from "../ontology/validation"
4
+ import { coerceParamsToTyped, normalizeParams } from "../shared/params/validation"
8
5
  import type { ActionRunParams } from "../storage/action-runs"
9
6
  import { ActionDefinitionError } from "./errors"
10
7
  import type {
@@ -55,53 +52,10 @@ export function normalizeActionParams(
55
52
  params: Record<string, unknown>,
56
53
  pathPrefix: string
57
54
  ): ActionRunParams {
58
- const knownParamIds = new Set(Object.keys(paramsConfig))
59
- const normalized: Record<string, JsonValue> = {}
60
-
61
- for (const paramId of Object.keys(params)) {
62
- if (!knownParamIds.has(paramId)) {
63
- throw new OntologyValidationError(`Unknown param '${paramId}' for action '${pathPrefix}'`)
64
- }
65
- }
66
-
67
- for (const [paramId, paramDef] of Object.entries(paramsConfig)) {
68
- const value = params[paramId]
69
-
70
- if (value === undefined) {
71
- if (paramDef.required) {
72
- throw new OntologyValidationError(
73
- `Missing required param '${paramId}' for action '${pathPrefix}'`
74
- )
75
- }
76
- continue
77
- }
78
-
79
- if (value === null) {
80
- if (!paramDef.nullable) {
81
- throw new OntologyValidationError(
82
- `[Sixb] Action param ${pathPrefix}.${paramId} cannot be null`
83
- )
84
- }
85
- normalized[paramId] = null
86
- continue
87
- }
88
-
89
- validateSchemaOrRefValue(
90
- paramDef.schema,
91
- value,
92
- `${pathPrefix}.${paramId}`,
93
- runtime.ontology.getValueTypesById()
94
- )
95
-
96
- normalized[paramId] = normalizeSchemaOrRefValue(
97
- paramDef.schema,
98
- value,
99
- `${pathPrefix}.${paramId}`,
100
- runtime.ontology.getValueTypesById()
101
- )
102
- }
103
-
104
- return normalized
55
+ return normalizeParams(runtime.ontology.getValueTypesById(), paramsConfig, params, {
56
+ kind: "action",
57
+ id: pathPrefix,
58
+ })
105
59
  }
106
60
 
107
61
  /**
@@ -115,21 +69,7 @@ export function coerceActionParamsToTyped(
115
69
  params: Record<string, unknown>,
116
70
  valueTypesById: ReadonlyMap<string, ValueType>
117
71
  ): Record<string, unknown> {
118
- const coerced: Record<string, unknown> = { ...params }
119
-
120
- for (const [paramId, paramDef] of Object.entries(paramsConfig)) {
121
- const value = params[paramId]
122
- if (value === undefined) continue
123
-
124
- const schema = paramDef.schema
125
- if (typeof schema === "object" && schema !== null && schema.type === "objectRef") {
126
- continue
127
- }
128
-
129
- coerced[paramId] = coerceSchemaValueToTyped(schema as Schema, value, valueTypesById)
130
- }
131
-
132
- return coerced
72
+ return coerceParamsToTyped(paramsConfig, params, valueTypesById)
133
73
  }
134
74
 
135
75
  export function validateActionSubject(action: ActionDefinition, subject: ActionSubject): void {
@@ -168,20 +108,3 @@ function actionAppliesToObjectType(
168
108
  .listForType(objectType)
169
109
  .some((candidate) => candidate.id === action.id)
170
110
  }
171
-
172
- function normalizeSchemaOrRefValue(
173
- schema: SchemaOrRef,
174
- value: unknown,
175
- path: string,
176
- valueTypesById: ReadonlyMap<string, ValueType>
177
- ): JsonValue {
178
- if (typeof schema === "object" && schema !== null && schema.type === "objectRef") {
179
- const refValue = value as { objectTypeId: string; primaryId: string }
180
- return {
181
- objectTypeId: refValue.objectTypeId,
182
- primaryId: refValue.primaryId,
183
- }
184
- }
185
-
186
- return normalizeSchemaValue(schema as Schema, value, path, valueTypesById)
187
- }
@@ -40,6 +40,9 @@ export type AgentRequestErrorCode =
40
40
  | "authority_not_inheritable"
41
41
  | "invalid_context"
42
42
  | "storage_unavailable"
43
+ | "sandbox_not_configured"
44
+ | "invalid_sandbox_params"
45
+ | "sandbox_execution_unavailable"
43
46
 
44
47
  /**
45
48
  * Raised by {@link requestAgentRun} (the trigger). Callers branch on `code` rather than message text
@@ -5,6 +5,7 @@ import { resolveRuntimeAuthorizationForProject } from "../execution/authorizatio
5
5
  import type { ModelCatalog } from "../models"
6
6
  import { resolveExecutionCosts } from "../runtime/ai-cost"
7
7
  import { resolveExecutionUsage } from "../runtime/ai-usage"
8
+ import type { SixbDependencies } from "../runtime/sixb"
8
9
  import type { SixbRuntimeContext } from "../runtime/types"
9
10
  import type {
10
11
  AgentThreadRecord,
@@ -17,7 +18,7 @@ import type {
17
18
  import type { AiCostSummary } from "../storage/ai-cost"
18
19
  import type { AiModelCallUsage } from "../storage/ai-usage"
19
20
  import { AgentRequestError } from "./errors"
20
- import { createAgentThreadId } from "./ids"
21
+ import { createAgentThreadId, createAgentThreadSandboxName } from "./ids"
21
22
  import {
22
23
  type RequestAgentRunInput,
23
24
  type RequestAgentRunResult,
@@ -25,24 +26,41 @@ import {
25
26
  retryAgentRun,
26
27
  } from "./request"
27
28
  import { assertNoAgentSelector } from "./retired-config"
29
+ import { normalizeSandboxBinding } from "./sandbox"
28
30
  import type { AgentDescriptor } from "./types"
29
31
 
30
32
  export type ExecutionAgentRequestInput = Omit<RequestAgentRunInput, "principal">
33
+
34
+ /** Execution ownership tokens never leave the storage/worker boundary. */
35
+ function publicThread(thread: AgentThreadRecord): AgentThreadRecord {
36
+ if (!thread.sandboxState) return thread
37
+ const { name, status, initialized } = thread.sandboxState
38
+ return { ...thread, sandboxState: { name, status, initialized } }
39
+ }
31
40
  export type ListExecutionAgentThreadsInput = Omit<
32
41
  ListAgentThreadsInput,
33
42
  "projectId" | "ownerPrincipal"
34
43
  >
35
44
 
36
- export interface CreateExecutionAgentThreadInput {
45
+ export type CreateExecutionAgentThreadInput<
46
+ TParams extends Record<string, unknown> = Record<string, unknown>,
47
+ > = {
37
48
  readonly id?: string
38
49
  readonly title?: string
50
+ readonly sandbox?: TParams
39
51
  }
40
52
 
41
- export interface AgentThreadsRuntime {
42
- create(input: CreateExecutionAgentThreadInput): Promise<AgentThreadRecord>
43
- getById(threadId: string): Promise<AgentThreadRecord | null>
44
- list(input?: ListExecutionAgentThreadsInput): Promise<ListAgentThreadsResult>
45
- }
53
+ export type AgentThreadsRuntime<TParams extends Record<string, unknown> = Record<string, unknown>> =
54
+ {
55
+ /** Start fresh after uncertain recovery; never deletes the previous sandbox. */
56
+ recreateSandbox(
57
+ threadId: string,
58
+ input: { readonly expectedSandboxName: string }
59
+ ): Promise<AgentThreadRecord>
60
+ create(input: CreateExecutionAgentThreadInput<TParams>): Promise<AgentThreadRecord>
61
+ getById(threadId: string): Promise<AgentThreadRecord | null>
62
+ list(input?: ListExecutionAgentThreadsInput): Promise<ListAgentThreadsResult>
63
+ }
46
64
 
47
65
  export interface AgentRunsRuntime {
48
66
  request(input: ExecutionAgentRequestInput): Promise<ExecutionAgentRunResult>
@@ -71,18 +89,21 @@ export interface ExecutionAgentRunResult extends Omit<RequestAgentRunResult, "ru
71
89
  readonly run: AgentRunView
72
90
  }
73
91
 
74
- export interface AgentRuntime {
92
+ export type AgentRuntime<TParams extends Record<string, unknown> = Record<string, unknown>> = {
75
93
  /** Null when no language models are configured or the caller cannot run the Agent. */
76
94
  get(): AgentDescriptor | null
77
- readonly threads: AgentThreadsRuntime
95
+ readonly threads: AgentThreadsRuntime<TParams>
78
96
  readonly runs: AgentRunsRuntime
79
97
  }
80
98
 
81
- export function createAgentRuntime(
99
+ export function createAgentRuntime<
100
+ TParams extends Record<string, unknown> = Record<string, unknown>,
101
+ >(
82
102
  runtime: SixbRuntimeContext,
83
103
  execution: ExecutionContext,
84
- models?: ModelCatalog
85
- ): AgentRuntime {
104
+ models?: ModelCatalog,
105
+ sandbox?: SixbDependencies["sandbox"]
106
+ ): AgentRuntime<TParams> {
86
107
  const authority = resolveRuntimeAuthorizationForProject(runtime)
87
108
  const principal = authority.type === "principal" ? authority.context.principal : SYSTEM_PRINCIPAL
88
109
  const allowed = () => isRuntimeAllowed(runtime, { kind: "agent.run" })
@@ -97,12 +118,12 @@ export function createAgentRuntime(
97
118
  if (!thread || !allowed()) return null
98
119
  return authority.type === "principal" && !principalsEqual(principal, thread.ownerPrincipal)
99
120
  ? null
100
- : thread
121
+ : publicThread(thread)
101
122
  }
102
123
 
103
124
  const getAgent = (): AgentDescriptor | null => {
104
125
  if (authority.type === "denied" || authority.type === "delegated") return null
105
- const model = models?.language.default
126
+ const model = models?.language?.default
106
127
  if (!model || !allowed()) return null
107
128
  return {
108
129
  name: "Sixb",
@@ -130,6 +151,25 @@ export function createAgentRuntime(
130
151
  return {
131
152
  get: getAgent,
132
153
  threads: {
154
+ recreateSandbox: async (threadId, input) => {
155
+ const thread = await getVisibleThreadRecord(threadId)
156
+ if (!thread)
157
+ throw new AgentRequestError("thread_not_found", "[Sixb] Agent thread not found.")
158
+ const storage = runtime.storage.agents
159
+ if (!storage)
160
+ throw new AgentRequestError(
161
+ "storage_unavailable",
162
+ "[Sixb] Agent storage is not configured."
163
+ )
164
+ const sandboxState = await storage.threads.transitionSandbox({
165
+ projectId: runtime.projectId,
166
+ id: threadId,
167
+ action: "recreate",
168
+ expectedSandboxName: input.expectedSandboxName,
169
+ name: createAgentThreadSandboxName(runtime.projectId, threadId),
170
+ })
171
+ return publicThread({ ...thread, sandboxState })
172
+ },
133
173
  create: async (input) => {
134
174
  assertNoAgentSelector(input)
135
175
  const agent = getAgent()
@@ -143,7 +183,18 @@ export function createAgentRuntime(
143
183
  "[Sixb] Agent storage is not configured."
144
184
  )
145
185
  }
186
+ if (input.sandbox !== undefined && !sandbox?.supportsPersistence) {
187
+ throw new AgentRequestError(
188
+ "sandbox_not_configured",
189
+ "[Sixb] Thread sandboxes require a provider with persistence support."
190
+ )
191
+ }
192
+ const binding =
193
+ input.sandbox === undefined
194
+ ? undefined
195
+ : normalizeSandboxBinding(sandbox?.definition, input.sandbox, runtime.ontology)
146
196
  return storage.threads.create({
197
+ ...(binding === undefined ? {} : { sandboxParams: binding }),
147
198
  id: input.id ?? createAgentThreadId(),
148
199
  projectId: runtime.projectId,
149
200
  ownerPrincipal: principal,
@@ -158,11 +209,12 @@ export function createAgentRuntime(
158
209
  }
159
210
  const storage = runtime.storage.agents
160
211
  if (!storage || !allowed()) return { threads: [], hasMore: false, total: 0 }
161
- return storage.threads.list({
212
+ const result = await storage.threads.list({
162
213
  ...input,
163
214
  projectId: runtime.projectId,
164
215
  ownerPrincipal: authority.type === "principal" ? principal : undefined,
165
216
  })
217
+ return { ...result, threads: result.threads.map(publicThread) }
166
218
  },
167
219
  },
168
220
  runs: {
package/src/agents/ids.ts CHANGED
@@ -10,6 +10,14 @@ export function createAgentThreadId(): string {
10
10
  return `agt_thr_${randomUUID()}`
11
11
  }
12
12
 
13
+ /** A fresh provider name, scoped to one project's thread; never a filesystem revision. */
14
+ export function createAgentThreadSandboxName(projectId: string, threadId: string): string {
15
+ const digest = createHash("sha256")
16
+ .update(JSON.stringify([projectId, threadId, randomUUID()]))
17
+ .digest("hex")
18
+ return `sixb-sb-${digest}`
19
+ }
20
+
13
21
  export function createAgentRunId(): string {
14
22
  return `agt_run_${randomUUID()}`
15
23
  }
@@ -78,6 +78,7 @@ export {
78
78
  createAgentRunExecutionToken,
79
79
  createAgentRunId,
80
80
  createAgentThreadId,
81
+ createAgentThreadSandboxName,
81
82
  createSubagentExecutionId,
82
83
  createSubagentRunId,
83
84
  } from "./ids"
@@ -114,6 +114,7 @@ export async function requestAgentRun(
114
114
  principal,
115
115
  })
116
116
 
117
+ assertSandboxExecutionAvailable(thread)
117
118
  // Fast single-flight check for a clear error. `runs.create` below is the atomic authority.
118
119
  if (thread.activeRunId !== null) {
119
120
  throw new AgentRequestError(
@@ -203,6 +204,7 @@ export async function retryAgentRun(
203
204
  `[Sixb] Agent thread '${failedRun.threadId}' was not found.`
204
205
  )
205
206
  }
207
+ assertSandboxExecutionAvailable(thread)
206
208
  const runId = createAgentRunId()
207
209
  const durableExecution = await prepareDurableAgentExecution(runtime, execution, runId)
208
210
  await assertAiLimitPreflight(runtime, durableExecution)
@@ -236,6 +238,15 @@ export async function retryAgentRun(
236
238
  return { run, ...(jobId ? { jobId } : {}), createdThread: false }
237
239
  }
238
240
 
241
+ function assertSandboxExecutionAvailable(thread: AgentThreadRecord): void {
242
+ if (thread.sandboxState && !["new", "ready"].includes(thread.sandboxState.status)) {
243
+ throw new AgentRequestError(
244
+ "sandbox_execution_unavailable",
245
+ "[Sixb] Sandbox recovery is required before another run. Reload the thread and explicitly recreate it to start fresh."
246
+ )
247
+ }
248
+ }
249
+
239
250
  async function assertAiLimitPreflight(
240
251
  runtime: SixbRuntimeContext,
241
252
  execution: Pick<ExecutionRecord, "requestedBy" | "requesterGroupIds">
@@ -0,0 +1,44 @@
1
+ import { getInvalidJsonValueReason, isPlainRecord } from "../json"
2
+ import { OntologyValidationError } from "../ontology/errors"
3
+ import type { OntologyRegistry } from "../ontology/registry"
4
+ import type { SandboxDefinition } from "../sandboxes/configuration"
5
+ import { normalizeParams } from "../shared/params/validation"
6
+ import type { AgentThreadSandboxParams } from "../storage/agents/types"
7
+ import { AgentRequestError } from "./errors"
8
+
9
+ export function normalizeSandboxBinding(
10
+ definition: Pick<SandboxDefinition, "params"> | undefined,
11
+ input: unknown,
12
+ ontology: OntologyRegistry
13
+ ): AgentThreadSandboxParams {
14
+ if (!definition) {
15
+ throw new AgentRequestError(
16
+ "sandbox_not_configured",
17
+ "[Sixb] This sandbox provider has no compatible thread configuration."
18
+ )
19
+ }
20
+ if (!isPlainRecord(input)) {
21
+ throw new AgentRequestError(
22
+ "invalid_sandbox_params",
23
+ "[Sixb] sandbox must be an object containing the declared parameter values."
24
+ )
25
+ }
26
+ try {
27
+ const params = normalizeParams(ontology.getValueTypesById(), definition.params, input, {
28
+ kind: "sandbox",
29
+ id: "sandboxes",
30
+ path: "sandbox",
31
+ })
32
+ if (getInvalidJsonValueReason(params)) {
33
+ throw new OntologyValidationError("[Sixb] Sandbox params must normalize to JSON values.")
34
+ }
35
+ return params
36
+ } catch (error) {
37
+ throw new AgentRequestError(
38
+ "invalid_sandbox_params",
39
+ error instanceof OntologyValidationError
40
+ ? error.message
41
+ : "[Sixb] Sandbox params could not be normalized."
42
+ )
43
+ }
44
+ }
@@ -1,23 +1,12 @@
1
1
  import { getInvalidJsonValueReason, isPlainRecord, type JsonValue } from "../json"
2
2
  import { type ObjectSchema, OntologyValidationError, type ValueType } from "../ontology"
3
+ import { assertValidSchema } from "../ontology/validation/definition"
3
4
  import { normalizeSchemaValue } from "../ontology/validation/normalize"
4
5
  import { validateSchemaValue } from "../ontology/validation/schema"
5
6
  import { AgentDefinitionError } from "./errors"
6
7
  import type { AgentToolDefinition, AgentToolInputSchema } from "./types"
7
8
 
8
9
  const AGENT_TOOL_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_-]{0,63}$/
9
- const AGENT_TOOL_PRIMITIVE_SCHEMAS = new Set([
10
- "string",
11
- "integer",
12
- "double",
13
- "decimal",
14
- "boolean",
15
- "date",
16
- "timestamp",
17
- "uuid",
18
- "fileRef",
19
- ])
20
-
21
10
  export const AGENT_RESERVED_TOOL_NAMES = [
22
11
  "bash",
23
12
  "read",
@@ -65,7 +54,7 @@ export function assertValidAgentToolInput(name: string, input: unknown): void {
65
54
  `[Sixb] Agent tool '${name}' input field names must not be empty.`
66
55
  )
67
56
  }
68
- assertValidAgentToolSchema(name, schema, `input.${field}`, new Set())
57
+ assertValidSchema(schema, `input.${field}`, (path) => invalidAgentToolSchema(name, path))
69
58
  }
70
59
  }
71
60
 
@@ -115,80 +104,6 @@ export function validateAndNormalizeAgentToolInput(
115
104
  )
116
105
  }
117
106
 
118
- function assertValidAgentToolSchema(
119
- toolName: string,
120
- schema: unknown,
121
- path: string,
122
- visiting: Set<object>
123
- ): void {
124
- if (typeof schema === "string") {
125
- if (AGENT_TOOL_PRIMITIVE_SCHEMAS.has(schema)) {
126
- return
127
- }
128
- throw invalidAgentToolSchema(toolName, path)
129
- }
130
- if (!isPlainRecord(schema) || typeof schema.type !== "string" || visiting.has(schema)) {
131
- throw invalidAgentToolSchema(toolName, path)
132
- }
133
-
134
- visiting.add(schema)
135
- switch (schema.type) {
136
- case "enum": {
137
- const values = schema.values
138
- const validValues = isValidAgentToolEnumValues(values, schema.valueType)
139
- if (!validValues || new Set(values).size !== values.length) {
140
- throw invalidAgentToolSchema(toolName, path)
141
- }
142
- break
143
- }
144
- case "array":
145
- assertValidAgentToolSchema(toolName, schema.items, `${path}.items`, visiting)
146
- break
147
- case "map":
148
- if (schema.keySchema !== "string") {
149
- throw invalidAgentToolSchema(toolName, path)
150
- }
151
- assertValidAgentToolSchema(toolName, schema.valueSchema, `${path}.valueSchema`, visiting)
152
- break
153
- case "object": {
154
- if (!isPlainRecord(schema.properties)) {
155
- throw invalidAgentToolSchema(toolName, path)
156
- }
157
- for (const [fieldId, field] of Object.entries(schema.properties)) {
158
- if (!fieldId.trim() || !isPlainRecord(field) || !("schema" in field)) {
159
- throw invalidAgentToolSchema(toolName, `${path}.properties.${fieldId}`)
160
- }
161
- if (
162
- (field.required !== undefined && typeof field.required !== "boolean") ||
163
- (field.nullable !== undefined && typeof field.nullable !== "boolean") ||
164
- (field.description !== undefined &&
165
- (typeof field.description !== "string" || !field.description.trim()))
166
- ) {
167
- throw invalidAgentToolSchema(toolName, `${path}.properties.${fieldId}`)
168
- }
169
- assertValidAgentToolSchema(
170
- toolName,
171
- field.schema,
172
- `${path}.properties.${fieldId}.schema`,
173
- visiting
174
- )
175
- }
176
- break
177
- }
178
- case "valueTypeRef":
179
- if (typeof schema.valueTypeId !== "string" || !schema.valueTypeId.trim()) {
180
- throw invalidAgentToolSchema(toolName, path)
181
- }
182
- if (schema._resolved !== undefined) {
183
- assertValidAgentToolSchema(toolName, schema._resolved, `${path}._resolved`, visiting)
184
- }
185
- break
186
- default:
187
- throw invalidAgentToolSchema(toolName, path)
188
- }
189
- visiting.delete(schema)
190
- }
191
-
192
107
  function invalidAgentToolSchema(toolName: string, path: string): AgentDefinitionError {
193
108
  return new AgentDefinitionError(
194
109
  `[Sixb] Agent tool '${toolName}' ${path} must be a valid Sixb schema.`
@@ -219,27 +134,6 @@ export function assertValidProjectAgentToolDefinitions(
219
134
  }
220
135
  }
221
136
 
222
- function isValidAgentToolEnumValues(values: unknown, valueType: unknown): values is unknown[] {
223
- if (!Array.isArray(values) || values.length === 0) {
224
- return false
225
- }
226
-
227
- for (let index = 0; index < values.length; index += 1) {
228
- if (!Object.hasOwn(values, index)) {
229
- return false
230
- }
231
- const value = values[index]
232
- if (
233
- valueType === "string"
234
- ? typeof value !== "string"
235
- : valueType !== "integer" || typeof value !== "number" || !Number.isInteger(value)
236
- ) {
237
- return false
238
- }
239
- }
240
- return true
241
- }
242
-
243
137
  function deepFreeze<T>(value: T, seen: Set<object> = new Set()): T {
244
138
  if (value === null || typeof value !== "object" || seen.has(value)) {
245
139
  return value
@@ -1,4 +1,5 @@
1
1
  import { isFileRef } from "../blob-storage"
2
+ import { withFailureMessage } from "../errors/failure-message"
2
3
  import { isJsonValue, isPlainRecord } from "../json"
3
4
  import { isDecimalString } from "../ontology/decimal"
4
5
  import { DatasetValidationError } from "./errors"
@@ -233,8 +234,17 @@ export function getDatasetRowValidationError(
233
234
  dataset: DatasetDefinition,
234
235
  options?: { readonly columns?: Iterable<string> }
235
236
  ): string | null {
237
+ return getDatasetRowValidationFailure(row, dataset, options)?.message ?? null
238
+ }
239
+
240
+ /** Internal form retains a value-free explanation for the durable failure boundary. */
241
+ export function getDatasetRowValidationFailure(
242
+ row: unknown,
243
+ dataset: DatasetDefinition,
244
+ options?: { readonly columns?: Iterable<string> }
245
+ ): Error | null {
236
246
  if (!isPlainRecord(row)) {
237
- return `Dataset '${dataset.id}' rows must be plain objects.`
247
+ return rowFailure(`Dataset '${dataset.id}' rows must be plain objects.`)
238
248
  }
239
249
 
240
250
  const columnsByName = new Map(
@@ -251,7 +261,7 @@ export function getDatasetRowValidationError(
251
261
  continue
252
262
  }
253
263
 
254
- const error = getColumnValidationError(row, column, dataset)
264
+ const error = getColumnValidationFailure(row, column, dataset)
255
265
  if (error) {
256
266
  return error
257
267
  }
@@ -262,12 +272,15 @@ export function getDatasetRowValidationError(
262
272
 
263
273
  for (const columnName of Object.keys(row)) {
264
274
  if (!columnsByName.has(columnName)) {
265
- return `Dataset '${dataset.id}' row contains unknown column '${columnName}'.`
275
+ return rowFailure(
276
+ `Dataset '${dataset.id}' row contains unknown column '${columnName}'.`,
277
+ `Dataset '${dataset.id}' row contains an undeclared column.`
278
+ )
266
279
  }
267
280
  }
268
281
 
269
282
  for (const column of dataset.schema.columns) {
270
- const error = getColumnValidationError(row, column, dataset)
283
+ const error = getColumnValidationFailure(row, column, dataset)
271
284
  if (error) {
272
285
  return error
273
286
  }
@@ -276,29 +289,37 @@ export function getDatasetRowValidationError(
276
289
  return null
277
290
  }
278
291
 
279
- function getColumnValidationError(
292
+ function getColumnValidationFailure(
280
293
  row: Record<string, unknown>,
281
294
  column: DatasetColumnDefinition,
282
295
  dataset: DatasetDefinition
283
- ): string | null {
296
+ ): Error | null {
284
297
  const hasValue = Object.hasOwn(row, column.name)
285
298
  const value = row[column.name]
286
299
  if (column.name === dataset.sequenceBy) {
287
- return getDatasetSequenceValidationError(dataset, value)
300
+ const message = getDatasetSequenceValidationError(dataset, value)
301
+ return message === null
302
+ ? null
303
+ : rowFailure(
304
+ message,
305
+ `Dataset '${dataset.id}' sequence column '${column.name}' must contain a valid ${column.type} source sequence.`
306
+ )
288
307
  }
289
308
 
290
309
  // Treat `undefined` the same as an omitted field so callers either send a real
291
310
  // value or use `null` explicitly on nullable columns.
292
311
  if (!hasValue || value === undefined) {
293
312
  if (!column.nullable) {
294
- return `Dataset '${dataset.id}' row is missing required column '${column.name}'.`
313
+ return rowFailure(`Dataset '${dataset.id}' row is missing required column '${column.name}'.`)
295
314
  }
296
315
  return null
297
316
  }
298
317
 
299
318
  if (value === null) {
300
319
  if (!column.nullable) {
301
- return `Dataset '${dataset.id}' column '${column.name}' does not allow null values.`
320
+ return rowFailure(
321
+ `Dataset '${dataset.id}' column '${column.name}' does not allow null values.`
322
+ )
302
323
  }
303
324
  return null
304
325
  }
@@ -307,13 +328,21 @@ function getColumnValidationError(
307
328
  // Reject ambiguous or lossy values before staging, even when another column orders the row.
308
329
  if (dataset.sequenceBy !== undefined && column.type === "timestamp") {
309
330
  return parseDatasetTimestamp(value) === null
310
- ? `Dataset '${dataset.id}' column '${column.name}' must be a valid Date or ISO timestamp with an explicit timezone and at most millisecond precision.`
331
+ ? rowFailure(
332
+ `Dataset '${dataset.id}' column '${column.name}' must be a valid Date or ISO timestamp with an explicit timezone and at most millisecond precision.`
333
+ )
311
334
  : null
312
335
  }
313
336
 
314
337
  if (!matchesColumnType(value, column.type)) {
315
- return `Dataset '${dataset.id}' column '${column.name}' must match type '${column.type}'.`
338
+ return rowFailure(
339
+ `Dataset '${dataset.id}' column '${column.name}' must match type '${column.type}'.`
340
+ )
316
341
  }
317
342
 
318
343
  return null
319
344
  }
345
+
346
+ function rowFailure(message: string, publicMessage = message): Error {
347
+ return withFailureMessage(new DatasetValidationError(message), publicMessage)
348
+ }