@sixb/core 0.1.8 → 0.1.9

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 (615) hide show
  1. package/dist/actions/index.js +77 -89
  2. package/dist/actions/index.js.map +1 -1
  3. package/dist/actions/run-dispatch.d.ts.map +1 -1
  4. package/dist/actions/types/context.d.ts +2 -0
  5. package/dist/actions/types/context.d.ts.map +1 -1
  6. package/dist/actions/validation.d.ts +1 -1
  7. package/dist/actions/validation.d.ts.map +1 -1
  8. package/dist/actions/worker.js +33 -37
  9. package/dist/actions/worker.js.map +2 -2
  10. package/dist/agents/adapters.d.ts +3 -3
  11. package/dist/agents/{context.d.ts → context/entries.d.ts} +3 -3
  12. package/dist/agents/context/entries.d.ts.map +1 -0
  13. package/dist/agents/context/index.d.ts +4 -0
  14. package/dist/agents/context/index.d.ts.map +1 -0
  15. package/dist/agents/context/index.js +19 -0
  16. package/dist/agents/{streams.js.map → context/index.js.map} +1 -1
  17. package/dist/agents/context-model.d.ts +1 -1
  18. package/dist/agents/context-model.d.ts.map +1 -1
  19. package/dist/agents/context-resolution.d.ts +1 -1
  20. package/dist/agents/context-resolution.d.ts.map +1 -1
  21. package/dist/agents/index.d.ts +4 -4
  22. package/dist/agents/index.d.ts.map +1 -1
  23. package/dist/agents/index.js +192 -204
  24. package/dist/agents/index.js.map +1 -1
  25. package/dist/agents/message.d.ts +1 -1
  26. package/dist/agents/message.d.ts.map +1 -1
  27. package/dist/agents/model-loop.d.ts +2 -0
  28. package/dist/agents/model-loop.d.ts.map +1 -1
  29. package/dist/agents/request.d.ts +1 -1
  30. package/dist/agents/request.d.ts.map +1 -1
  31. package/dist/agents/streams/index.d.ts +4 -0
  32. package/dist/agents/streams/index.d.ts.map +1 -0
  33. package/dist/agents/streams/index.js +20 -0
  34. package/dist/{chunk-y64skrwp.js.map → agents/streams/index.js.map} +1 -1
  35. package/dist/agents/streams/internal.d.ts +3 -0
  36. package/dist/agents/streams/internal.d.ts.map +1 -0
  37. package/dist/agents/streams/internal.js +40 -0
  38. package/dist/agents/{context.js.map → streams/internal.js.map} +1 -1
  39. package/dist/agents/{streams.d.ts → streams/protocol.d.ts} +5 -5
  40. package/dist/agents/streams/protocol.d.ts.map +1 -0
  41. package/dist/agents/types.d.ts +1 -1
  42. package/dist/agents/types.d.ts.map +1 -1
  43. package/dist/agents/validation.d.ts.map +1 -1
  44. package/dist/auth/index.d.ts +0 -1
  45. package/dist/auth/index.d.ts.map +1 -1
  46. package/dist/auth/index.js +96 -108
  47. package/dist/auth/index.js.map +1 -1
  48. package/dist/auth/strategy.js +8 -9
  49. package/dist/auth/strategy.js.map +1 -1
  50. package/dist/authorization/index.js +51 -56
  51. package/dist/authorization/index.js.map +1 -1
  52. package/dist/blob-storage/browser.js +15 -17
  53. package/dist/blob-storage/browser.js.map +1 -1
  54. package/dist/blob-storage/index.js +36 -38
  55. package/dist/blob-storage/index.js.map +1 -1
  56. package/dist/bootstrap/discovery.d.ts +14 -1
  57. package/dist/bootstrap/discovery.d.ts.map +1 -1
  58. package/dist/bootstrap/index.d.ts +2 -2
  59. package/dist/bootstrap/index.d.ts.map +1 -1
  60. package/dist/bootstrap/index.js +79 -88
  61. package/dist/bootstrap/index.js.map +1 -1
  62. package/dist/broker/index.js +8 -10
  63. package/dist/broker/index.js.map +1 -1
  64. package/dist/{chunk-k34z5rvh.js → chunk-0rdrecsb.js} +18 -18
  65. package/dist/{chunk-k34z5rvh.js.map → chunk-0rdrecsb.js.map} +2 -2
  66. package/dist/{chunk-q0k9nc5a.js → chunk-0w35wavj.js} +98 -98
  67. package/dist/{chunk-q0k9nc5a.js.map → chunk-0w35wavj.js.map} +2 -2
  68. package/dist/chunk-0y39rgsb.js +43 -0
  69. package/dist/{chunk-c15dr03f.js.map → chunk-0y39rgsb.js.map} +2 -2
  70. package/dist/{chunk-k522z7v6.js → chunk-17kfctj6.js} +16 -11
  71. package/dist/chunk-17kfctj6.js.map +10 -0
  72. package/dist/{chunk-aa2pen2v.js → chunk-1enhpacz.js} +188 -175
  73. package/dist/{chunk-aa2pen2v.js.map → chunk-1enhpacz.js.map} +2 -2
  74. package/dist/{chunk-5gd7tpv6.js → chunk-2c4j899j.js} +4 -4
  75. package/dist/{chunk-5gd7tpv6.js.map → chunk-2c4j899j.js.map} +2 -2
  76. package/dist/{chunk-fvt9rjsa.js → chunk-38zv5rkr.js} +4 -4
  77. package/dist/{chunk-fvt9rjsa.js.map → chunk-38zv5rkr.js.map} +1 -1
  78. package/dist/{chunk-w3e09qqk.js → chunk-39tqv9hz.js} +24 -24
  79. package/dist/{chunk-w3e09qqk.js.map → chunk-39tqv9hz.js.map} +2 -2
  80. package/dist/{chunk-04b07a9q.js → chunk-3bh94gbw.js} +13 -13
  81. package/dist/{chunk-04b07a9q.js.map → chunk-3bh94gbw.js.map} +2 -2
  82. package/dist/{chunk-8m5ejdpn.js → chunk-3f7veca0.js} +4 -4
  83. package/dist/{chunk-8m5ejdpn.js.map → chunk-3f7veca0.js.map} +2 -2
  84. package/dist/chunk-3frsnm7x.js +32 -0
  85. package/dist/chunk-3frsnm7x.js.map +11 -0
  86. package/dist/{chunk-n2w475r0.js → chunk-3tgwrcyh.js} +81 -81
  87. package/dist/{chunk-n2w475r0.js.map → chunk-3tgwrcyh.js.map} +2 -2
  88. package/dist/{chunk-mwsxn98e.js → chunk-52hbv0ak.js} +170 -170
  89. package/dist/{chunk-mwsxn98e.js.map → chunk-52hbv0ak.js.map} +4 -4
  90. package/dist/{chunk-nf4r78r4.js → chunk-5a4a52tq.js} +4 -4
  91. package/dist/{chunk-nf4r78r4.js.map → chunk-5a4a52tq.js.map} +2 -2
  92. package/dist/{chunk-rte5sm3z.js → chunk-5hz0fnca.js} +23 -23
  93. package/dist/{chunk-rte5sm3z.js.map → chunk-5hz0fnca.js.map} +2 -2
  94. package/dist/chunk-653vwrzr.js +39 -0
  95. package/dist/chunk-653vwrzr.js.map +10 -0
  96. package/dist/{chunk-qw9gvjv5.js → chunk-72w2pxk7.js} +13 -13
  97. package/dist/{chunk-qw9gvjv5.js.map → chunk-72w2pxk7.js.map} +2 -2
  98. package/dist/chunk-7apz6hg4.js +50 -0
  99. package/dist/{chunk-jq43kdvk.js.map → chunk-7apz6hg4.js.map} +2 -2
  100. package/dist/chunk-7bs40fe1.js +218 -0
  101. package/dist/{chunk-p1rzczbt.js.map → chunk-7bs40fe1.js.map} +3 -3
  102. package/dist/chunk-7zgecwy1.js +113 -0
  103. package/dist/chunk-7zgecwy1.js.map +10 -0
  104. package/dist/{chunk-pc7ys28c.js → chunk-860dwwy0.js} +29 -29
  105. package/dist/{chunk-pc7ys28c.js.map → chunk-860dwwy0.js.map} +2 -2
  106. package/dist/chunk-8vj0rjgs.js +165 -0
  107. package/dist/chunk-8vj0rjgs.js.map +15 -0
  108. package/dist/{chunk-7y0f6rf1.js → chunk-92vk7gta.js} +58 -58
  109. package/dist/chunk-92vk7gta.js.map +10 -0
  110. package/dist/{chunk-rafagrwr.js → chunk-93csa55g.js} +45 -17
  111. package/dist/chunk-93csa55g.js.map +11 -0
  112. package/dist/{chunk-d8qkxt2v.js → chunk-98cw09sw.js} +7 -7
  113. package/dist/chunk-98cw09sw.js.map +10 -0
  114. package/dist/{chunk-n4khvw9n.js → chunk-9qsh3p5y.js} +17 -17
  115. package/dist/{chunk-n4khvw9n.js.map → chunk-9qsh3p5y.js.map} +2 -2
  116. package/dist/{chunk-4a849fr1.js → chunk-9tc8dxmn.js} +1 -1
  117. package/dist/{chunk-9nbmsvn5.js → chunk-9vx5e9g1.js} +9 -9
  118. package/dist/{chunk-9nbmsvn5.js.map → chunk-9vx5e9g1.js.map} +2 -2
  119. package/dist/{chunk-f26bck4t.js → chunk-an5tt9y0.js} +353 -353
  120. package/dist/{chunk-f26bck4t.js.map → chunk-an5tt9y0.js.map} +2 -2
  121. package/dist/{chunk-2dw777qw.js → chunk-ap0g1g74.js} +37 -82
  122. package/dist/{chunk-2dw777qw.js.map → chunk-ap0g1g74.js.map} +3 -4
  123. package/dist/{chunk-v4en4jc2.js → chunk-awbhdqyc.js} +7 -7
  124. package/dist/{chunk-v4en4jc2.js.map → chunk-awbhdqyc.js.map} +2 -2
  125. package/dist/{chunk-ka3a2ft3.js → chunk-b19g04jk.js} +12 -12
  126. package/dist/{chunk-ka3a2ft3.js.map → chunk-b19g04jk.js.map} +2 -2
  127. package/dist/{chunk-nx7k8tpr.js → chunk-br3k6qbf.js} +23 -23
  128. package/dist/{chunk-nx7k8tpr.js.map → chunk-br3k6qbf.js.map} +2 -2
  129. package/dist/{chunk-dbc80ad7.js → chunk-c5rkjrgp.js} +28 -28
  130. package/dist/{chunk-dbc80ad7.js.map → chunk-c5rkjrgp.js.map} +2 -2
  131. package/dist/{chunk-dktq02ne.js → chunk-cqr3acm1.js} +4 -4
  132. package/dist/{chunk-dktq02ne.js.map → chunk-cqr3acm1.js.map} +2 -2
  133. package/dist/chunk-d62kjtbg.js +7 -0
  134. package/dist/{chunk-zcnhxkvd.js.map → chunk-d62kjtbg.js.map} +2 -2
  135. package/dist/{chunk-74drx9gd.js → chunk-dfm066qg.js} +10 -10
  136. package/dist/{chunk-74drx9gd.js.map → chunk-dfm066qg.js.map} +2 -2
  137. package/dist/{chunk-5e3pq99w.js → chunk-dmn70ztd.js} +30 -30
  138. package/dist/chunk-dmn70ztd.js.map +11 -0
  139. package/dist/{chunk-p1x242ad.js → chunk-dz5h08xv.js} +175 -175
  140. package/dist/{chunk-p1x242ad.js.map → chunk-dz5h08xv.js.map} +2 -2
  141. package/dist/{chunk-p2vqaxkc.js → chunk-e0d1rzef.js} +27 -22
  142. package/dist/{chunk-p2vqaxkc.js.map → chunk-e0d1rzef.js.map} +3 -3
  143. package/dist/{chunk-5sz8ta9r.js → chunk-e1c18xjx.js} +52 -52
  144. package/dist/{chunk-5sz8ta9r.js.map → chunk-e1c18xjx.js.map} +2 -2
  145. package/dist/{chunk-wtf06et8.js → chunk-emyyk7dx.js} +55 -55
  146. package/dist/{chunk-wtf06et8.js.map → chunk-emyyk7dx.js.map} +2 -2
  147. package/dist/{chunk-19jp6g9d.js → chunk-f0rwz2vh.js} +54 -33
  148. package/dist/chunk-f0rwz2vh.js.map +11 -0
  149. package/dist/{chunk-2xns679x.js → chunk-f4w3yp4f.js} +171 -36
  150. package/dist/chunk-f4w3yp4f.js.map +12 -0
  151. package/dist/{chunk-979ww6b3.js → chunk-fb3feg1e.js} +29 -29
  152. package/dist/{chunk-979ww6b3.js.map → chunk-fb3feg1e.js.map} +2 -2
  153. package/dist/{chunk-4sm0aznx.js → chunk-g00bfdq6.js} +254 -256
  154. package/dist/{chunk-4sm0aznx.js.map → chunk-g00bfdq6.js.map} +3 -3
  155. package/dist/{chunk-p03r0h5s.js → chunk-g53f0e4j.js} +76 -202
  156. package/dist/chunk-g53f0e4j.js.map +15 -0
  157. package/dist/chunk-g6cke204.js +124 -0
  158. package/dist/chunk-g6cke204.js.map +10 -0
  159. package/dist/{chunk-51fjndv0.js → chunk-gfdh9kqa.js} +4 -4
  160. package/dist/{chunk-51fjndv0.js.map → chunk-gfdh9kqa.js.map} +2 -2
  161. package/dist/chunk-h1gfhhbh.js +602 -0
  162. package/dist/chunk-h1gfhhbh.js.map +18 -0
  163. package/dist/chunk-h3v76ams.js +32 -0
  164. package/dist/{chunk-08m3b6w8.js.map → chunk-h3v76ams.js.map} +2 -2
  165. package/dist/{chunk-xajtptbw.js → chunk-hpr1r6av.js} +1367 -418
  166. package/dist/chunk-hpr1r6av.js.map +44 -0
  167. package/dist/{chunk-jecn6t54.js → chunk-jgwb25gc.js} +74 -74
  168. package/dist/{chunk-jecn6t54.js.map → chunk-jgwb25gc.js.map} +2 -2
  169. package/dist/{chunk-w9tg6yyb.js → chunk-jjy0fhrn.js} +36 -36
  170. package/dist/{chunk-w9tg6yyb.js.map → chunk-jjy0fhrn.js.map} +2 -2
  171. package/dist/{chunk-wdage1eb.js → chunk-jmfet9r4.js} +6 -6
  172. package/dist/{chunk-wdage1eb.js.map → chunk-jmfet9r4.js.map} +2 -2
  173. package/dist/{chunk-ajnan18g.js → chunk-k3cqkkn2.js} +58 -55
  174. package/dist/chunk-k3cqkkn2.js.map +12 -0
  175. package/dist/{chunk-s5y30bc9.js → chunk-kxwa347f.js} +51 -49
  176. package/dist/{chunk-s5y30bc9.js.map → chunk-kxwa347f.js.map} +4 -4
  177. package/dist/{chunk-2ab72m2h.js → chunk-m2ca93my.js} +3 -3
  178. package/dist/{chunk-2ab72m2h.js.map → chunk-m2ca93my.js.map} +2 -2
  179. package/dist/{chunk-3z1qec12.js → chunk-m3z3x9v0.js} +107 -64
  180. package/dist/{chunk-3z1qec12.js.map → chunk-m3z3x9v0.js.map} +3 -3
  181. package/dist/{chunk-sbzzr4kx.js → chunk-mjbk2djy.js} +1061 -1195
  182. package/dist/{chunk-sbzzr4kx.js.map → chunk-mjbk2djy.js.map} +9 -15
  183. package/dist/{chunk-4jjp5k14.js → chunk-mmagke4x.js} +6 -6
  184. package/dist/{chunk-4jjp5k14.js.map → chunk-mmagke4x.js.map} +2 -2
  185. package/dist/{chunk-359jm1jw.js → chunk-mrp7k0pw.js} +20 -20
  186. package/dist/{chunk-359jm1jw.js.map → chunk-mrp7k0pw.js.map} +2 -2
  187. package/dist/{chunk-h0k55pc7.js → chunk-ms2tmn1k.js} +139 -139
  188. package/dist/{chunk-h0k55pc7.js.map → chunk-ms2tmn1k.js.map} +2 -2
  189. package/dist/{chunk-rv2hkwwa.js → chunk-ppytyr6w.js} +156 -179
  190. package/dist/{chunk-rv2hkwwa.js.map → chunk-ppytyr6w.js.map} +3 -5
  191. package/dist/{chunk-trxxmgnf.js → chunk-pqajwytd.js} +10 -10
  192. package/dist/{chunk-trxxmgnf.js.map → chunk-pqajwytd.js.map} +3 -3
  193. package/dist/{chunk-nn0tekr1.js → chunk-pr2h4bv4.js} +33 -33
  194. package/dist/{chunk-nn0tekr1.js.map → chunk-pr2h4bv4.js.map} +2 -2
  195. package/dist/{chunk-xwnf87e1.js → chunk-q5gz3g2j.js} +64 -64
  196. package/dist/{chunk-xwnf87e1.js.map → chunk-q5gz3g2j.js.map} +2 -2
  197. package/dist/{chunk-5ntny1qx.js → chunk-qf954wje.js} +6 -6
  198. package/dist/{chunk-5ntny1qx.js.map → chunk-qf954wje.js.map} +2 -2
  199. package/dist/{chunk-mth82m8t.js → chunk-qhcpj9wc.js} +77 -77
  200. package/dist/{chunk-mth82m8t.js.map → chunk-qhcpj9wc.js.map} +2 -2
  201. package/dist/{chunk-tpnd31c1.js → chunk-r29fxdhn.js} +12 -12
  202. package/dist/{chunk-tpnd31c1.js.map → chunk-r29fxdhn.js.map} +2 -2
  203. package/dist/{chunk-b49dgvsj.js → chunk-r2y23egw.js} +3 -3
  204. package/dist/{chunk-b49dgvsj.js.map → chunk-r2y23egw.js.map} +2 -2
  205. package/dist/{chunk-3xep5cjx.js → chunk-r4tfx1sf.js} +104 -86
  206. package/dist/chunk-r4tfx1sf.js.map +15 -0
  207. package/dist/{chunk-4rh2m6zg.js → chunk-rb1xx120.js} +13 -13
  208. package/dist/{chunk-4rh2m6zg.js.map → chunk-rb1xx120.js.map} +2 -2
  209. package/dist/chunk-s3csryxe.js +152 -0
  210. package/dist/chunk-s3csryxe.js.map +11 -0
  211. package/dist/chunk-s670k14v.js +60 -0
  212. package/dist/{chunk-407j3msh.js.map → chunk-s670k14v.js.map} +2 -2
  213. package/dist/chunk-skz0hst3.js +788 -0
  214. package/dist/chunk-skz0hst3.js.map +19 -0
  215. package/dist/{chunk-r8jrnexe.js → chunk-v4jbb3rs.js} +4 -4
  216. package/dist/{chunk-r8jrnexe.js.map → chunk-v4jbb3rs.js.map} +2 -2
  217. package/dist/{chunk-v1xppd0y.js → chunk-vf691g1r.js} +60 -60
  218. package/dist/{chunk-v1xppd0y.js.map → chunk-vf691g1r.js.map} +2 -2
  219. package/dist/{chunk-w1tvjszy.js → chunk-vsj3mdfj.js} +8 -8
  220. package/dist/{chunk-w1tvjszy.js.map → chunk-vsj3mdfj.js.map} +2 -2
  221. package/dist/{chunk-9dzba0f2.js → chunk-wjasrj67.js} +8 -8
  222. package/dist/{chunk-9dzba0f2.js.map → chunk-wjasrj67.js.map} +2 -2
  223. package/dist/{chunk-1evzqhks.js → chunk-wr8qp979.js} +6 -6
  224. package/dist/{chunk-1evzqhks.js.map → chunk-wr8qp979.js.map} +2 -2
  225. package/dist/{chunk-n6jxh8sw.js → chunk-wy0qdqfm.js} +18 -18
  226. package/dist/{chunk-n6jxh8sw.js.map → chunk-wy0qdqfm.js.map} +2 -2
  227. package/dist/{chunk-8tsf6dmc.js → chunk-x57ycxq0.js} +204 -204
  228. package/dist/{chunk-8tsf6dmc.js.map → chunk-x57ycxq0.js.map} +2 -2
  229. package/dist/{chunk-z4ccwbkz.js → chunk-x9v4cx1d.js} +1 -1
  230. package/dist/{chunk-gbejpkex.js → chunk-xfbydgzy.js} +26 -26
  231. package/dist/{chunk-gbejpkex.js.map → chunk-xfbydgzy.js.map} +2 -2
  232. package/dist/{chunk-gzasd5b6.js → chunk-xyr8kppc.js} +22 -22
  233. package/dist/{chunk-gzasd5b6.js.map → chunk-xyr8kppc.js.map} +2 -2
  234. package/dist/{chunk-h5vqbfmd.js → chunk-ypbtykv6.js} +117 -117
  235. package/dist/{chunk-h5vqbfmd.js.map → chunk-ypbtykv6.js.map} +3 -3
  236. package/dist/{chunk-ry24jbr1.js → chunk-yv79ncbv.js} +10 -10
  237. package/dist/{chunk-ry24jbr1.js.map → chunk-yv79ncbv.js.map} +2 -2
  238. package/dist/{chunk-yp8ee62z.js → chunk-z30bv4ga.js} +35 -35
  239. package/dist/{chunk-yp8ee62z.js.map → chunk-z30bv4ga.js.map} +2 -2
  240. package/dist/{chunk-8ydjhh27.js → chunk-z3y411fq.js} +11 -7
  241. package/dist/{chunk-8ydjhh27.js.map → chunk-z3y411fq.js.map} +3 -3
  242. package/dist/{chunk-9t8f5xfx.js → chunk-z5rnrmz1.js} +10 -10
  243. package/dist/{chunk-9t8f5xfx.js.map → chunk-z5rnrmz1.js.map} +2 -2
  244. package/dist/{chunk-96swp2wd.js → chunk-z667z3sg.js} +3 -3
  245. package/dist/{chunk-96swp2wd.js.map → chunk-z667z3sg.js.map} +2 -2
  246. package/dist/{chunk-4yqmp43v.js → chunk-z8fx5cgb.js} +12 -12
  247. package/dist/{chunk-4yqmp43v.js.map → chunk-z8fx5cgb.js.map} +2 -2
  248. package/dist/{chunk-xhy826cz.js → chunk-zcnq6105.js} +7 -7
  249. package/dist/{chunk-xhy826cz.js.map → chunk-zcnq6105.js.map} +2 -2
  250. package/dist/{chunk-yt8wphsx.js → chunk-zvx7h87b.js} +3 -3
  251. package/dist/{chunk-yt8wphsx.js.map → chunk-zvx7h87b.js.map} +2 -2
  252. package/dist/connectors/connections/internal.js +9 -10
  253. package/dist/connectors/connections/internal.js.map +1 -1
  254. package/dist/datasets/write.js +8 -12
  255. package/dist/datasets/write.js.map +1 -1
  256. package/dist/edits/index.js +7 -8
  257. package/dist/edits/index.js.map +1 -1
  258. package/dist/error-reporting/internal.js +22 -24
  259. package/dist/error-reporting/internal.js.map +1 -1
  260. package/dist/errors/internal.d.ts +1 -1
  261. package/dist/errors/internal.d.ts.map +1 -1
  262. package/dist/errors/internal.js +22 -24
  263. package/dist/errors/internal.js.map +1 -1
  264. package/dist/errors/redaction.d.ts +8 -0
  265. package/dist/errors/redaction.d.ts.map +1 -0
  266. package/dist/errors/types.d.ts +4 -0
  267. package/dist/errors/types.d.ts.map +1 -1
  268. package/dist/events/index.js +60 -63
  269. package/dist/events/index.js.map +1 -1
  270. package/dist/events/scope.js +4 -5
  271. package/dist/events/scope.js.map +1 -1
  272. package/dist/events/selectors/index.js +9 -10
  273. package/dist/events/selectors/index.js.map +1 -1
  274. package/dist/execution/agent.d.ts +3 -3
  275. package/dist/execution/agent.d.ts.map +1 -1
  276. package/dist/execution/agent.js +70 -82
  277. package/dist/execution/agent.js.map +1 -1
  278. package/dist/execution/durable.d.ts +1 -0
  279. package/dist/execution/durable.d.ts.map +1 -1
  280. package/dist/execution/primitive.d.ts +2 -0
  281. package/dist/execution/primitive.d.ts.map +1 -1
  282. package/dist/execution/primitive.js +63 -71
  283. package/dist/execution/primitive.js.map +3 -3
  284. package/dist/execution/request.d.ts +1 -0
  285. package/dist/execution/request.d.ts.map +1 -1
  286. package/dist/execution/request.js +65 -75
  287. package/dist/execution/request.js.map +3 -3
  288. package/dist/http/index.js +10 -11
  289. package/dist/http/index.js.map +1 -1
  290. package/dist/index.d.ts +14 -10
  291. package/dist/index.d.ts.map +1 -1
  292. package/dist/index.js +455 -477
  293. package/dist/index.js.map +1 -1
  294. package/dist/lake-storage/index.js +38 -42
  295. package/dist/lake-storage/index.js.map +1 -1
  296. package/dist/logging/index.d.ts +3 -4
  297. package/dist/logging/index.d.ts.map +1 -1
  298. package/dist/logging/index.js +18 -40
  299. package/dist/logging/index.js.map +1 -1
  300. package/dist/logging/internal.d.ts +5 -0
  301. package/dist/logging/internal.d.ts.map +1 -0
  302. package/dist/logging/internal.js +43 -0
  303. package/dist/logging/internal.js.map +9 -0
  304. package/dist/materialization/index.js +46 -49
  305. package/dist/materialization/index.js.map +1 -1
  306. package/dist/materializer/index.js +137 -145
  307. package/dist/materializer/index.js.map +1 -1
  308. package/dist/models/errors.d.ts +4 -0
  309. package/dist/models/errors.d.ts.map +1 -1
  310. package/dist/models/execution/binding.d.ts +9 -0
  311. package/dist/models/execution/binding.d.ts.map +1 -0
  312. package/dist/models/execution/errors.d.ts +9 -0
  313. package/dist/models/execution/errors.d.ts.map +1 -0
  314. package/dist/models/execution/index.d.ts +11 -0
  315. package/dist/models/execution/index.d.ts.map +1 -0
  316. package/dist/models/execution/index.js +55 -0
  317. package/dist/models/execution/index.js.map +9 -0
  318. package/dist/models/execution/model-call-accounting.d.ts +17 -0
  319. package/dist/models/execution/model-call-accounting.d.ts.map +1 -0
  320. package/dist/models/execution/model-call-admission.d.ts +47 -0
  321. package/dist/models/execution/model-call-admission.d.ts.map +1 -0
  322. package/dist/models/execution/model-call-limits.d.ts +15 -0
  323. package/dist/models/execution/model-call-limits.d.ts.map +1 -0
  324. package/dist/models/execution/model-call-recorder.d.ts +40 -0
  325. package/dist/models/execution/model-call-recorder.d.ts.map +1 -0
  326. package/dist/models/execution/model-call-recovery.d.ts +12 -0
  327. package/dist/models/execution/model-call-recovery.d.ts.map +1 -0
  328. package/dist/models/execution/recovery-queue.d.ts +5 -0
  329. package/dist/models/execution/recovery-queue.d.ts.map +1 -0
  330. package/dist/models/execution/types.d.ts +44 -0
  331. package/dist/models/execution/types.d.ts.map +1 -0
  332. package/dist/models/execution/usage.d.ts +5 -0
  333. package/dist/models/execution/usage.d.ts.map +1 -0
  334. package/dist/models/execution.d.ts +6 -0
  335. package/dist/models/execution.d.ts.map +1 -0
  336. package/dist/models/generation-types.d.ts +40 -0
  337. package/dist/models/generation-types.d.ts.map +1 -0
  338. package/dist/models/index.d.ts +1 -0
  339. package/dist/models/index.d.ts.map +1 -1
  340. package/dist/models/index.js +42 -43
  341. package/dist/models/index.js.map +1 -1
  342. package/dist/models/language-model.d.ts +3 -0
  343. package/dist/models/language-model.d.ts.map +1 -1
  344. package/dist/models/output.d.ts +5 -0
  345. package/dist/models/output.d.ts.map +1 -0
  346. package/dist/models/resolve.d.ts +4 -0
  347. package/dist/models/resolve.d.ts.map +1 -0
  348. package/dist/objects/execution.d.ts.map +1 -1
  349. package/dist/objects/index.js +75 -87
  350. package/dist/objects/index.js.map +1 -1
  351. package/dist/objects/query/index.js +67 -76
  352. package/dist/objects/query/index.js.map +1 -1
  353. package/dist/ontology/index.d.ts +1 -2
  354. package/dist/ontology/index.d.ts.map +1 -1
  355. package/dist/ontology/index.js +62 -113
  356. package/dist/ontology/index.js.map +1 -1
  357. package/dist/ontology/internal.d.ts +7 -0
  358. package/dist/ontology/internal.d.ts.map +1 -1
  359. package/dist/ontology/internal.js +65 -116
  360. package/dist/ontology/internal.js.map +3 -4
  361. package/dist/pipelines/index.js +57 -66
  362. package/dist/pipelines/index.js.map +1 -1
  363. package/dist/projections/internal.js +58 -67
  364. package/dist/projections/internal.js.map +1 -1
  365. package/dist/query.d.ts +0 -1
  366. package/dist/query.d.ts.map +1 -1
  367. package/dist/query.js +11 -15
  368. package/dist/query.js.map +1 -1
  369. package/dist/queues/index.d.ts +2 -1
  370. package/dist/queues/index.d.ts.map +1 -1
  371. package/dist/queues/index.js +6 -7
  372. package/dist/queues/index.js.map +1 -1
  373. package/dist/queues/types.d.ts +3 -20
  374. package/dist/queues/types.d.ts.map +1 -1
  375. package/dist/rules/internal.js +4 -5
  376. package/dist/rules/internal.js.map +1 -1
  377. package/dist/runtime/create.d.ts +2 -1
  378. package/dist/runtime/create.d.ts.map +1 -1
  379. package/dist/runtime/host.d.ts +2 -1
  380. package/dist/runtime/host.d.ts.map +1 -1
  381. package/dist/runtime/internal.js +13 -14
  382. package/dist/runtime/internal.js.map +1 -1
  383. package/dist/runtime/sixb.d.ts +2 -0
  384. package/dist/runtime/sixb.d.ts.map +1 -1
  385. package/dist/sandboxes/errors.d.ts +4 -0
  386. package/dist/sandboxes/errors.d.ts.map +1 -1
  387. package/dist/sandboxes/index.d.ts +2 -2
  388. package/dist/sandboxes/index.d.ts.map +1 -1
  389. package/dist/sandboxes/index.js +14 -13
  390. package/dist/sandboxes/index.js.map +1 -1
  391. package/dist/sandboxes/sandbox.d.ts +35 -7
  392. package/dist/sandboxes/sandbox.d.ts.map +1 -1
  393. package/dist/scheduler/index.js +9 -10
  394. package/dist/scheduler/index.js.map +1 -1
  395. package/dist/schedules/index.js +31 -33
  396. package/dist/schedules/index.js.map +1 -1
  397. package/dist/shares/internal.js +46 -54
  398. package/dist/shares/internal.js.map +2 -2
  399. package/dist/storage/action-runs/failure.js +7 -9
  400. package/dist/storage/action-runs/failure.js.map +1 -1
  401. package/dist/storage/action-runs/provider.js +4 -8
  402. package/dist/storage/action-runs/provider.js.map +1 -1
  403. package/dist/storage/agents/in-memory.d.ts.map +1 -1
  404. package/dist/storage/agents/provider.js +26 -30
  405. package/dist/storage/agents/provider.js.map +1 -1
  406. package/dist/storage/agents/types.d.ts +0 -3
  407. package/dist/storage/agents/types.d.ts.map +1 -1
  408. package/dist/storage/ai-cost/attribution.d.ts +4 -0
  409. package/dist/storage/ai-cost/attribution.d.ts.map +1 -0
  410. package/dist/storage/ai-cost/groups.d.ts +3 -0
  411. package/dist/storage/ai-cost/groups.d.ts.map +1 -1
  412. package/dist/storage/ai-cost/provider.d.ts +1 -0
  413. package/dist/storage/ai-cost/provider.d.ts.map +1 -1
  414. package/dist/storage/ai-cost/provider.js +30 -143
  415. package/dist/storage/ai-cost/provider.js.map +3 -4
  416. package/dist/storage/ai-cost/types.d.ts +15 -0
  417. package/dist/storage/ai-cost/types.d.ts.map +1 -1
  418. package/dist/storage/ai-limits/enforcement.js +14 -16
  419. package/dist/storage/ai-limits/enforcement.js.map +1 -1
  420. package/dist/storage/ai-limits/provider.js +56 -57
  421. package/dist/storage/ai-limits/provider.js.map +1 -1
  422. package/dist/storage/auth/in-memory.d.ts +1 -1
  423. package/dist/storage/auth/in-memory.d.ts.map +1 -1
  424. package/dist/storage/connector-connections/provider.js +34 -36
  425. package/dist/storage/connector-connections/provider.js.map +2 -2
  426. package/dist/storage/executions/in-memory.d.ts.map +1 -1
  427. package/dist/storage/executions/provider.d.ts +2 -1
  428. package/dist/storage/executions/provider.d.ts.map +1 -1
  429. package/dist/storage/executions/provider.js +14 -11
  430. package/dist/storage/executions/provider.js.map +3 -3
  431. package/dist/storage/executions/types.d.ts +6 -2
  432. package/dist/storage/executions/types.d.ts.map +1 -1
  433. package/dist/storage/executions/validation.d.ts +2 -0
  434. package/dist/storage/executions/validation.d.ts.map +1 -1
  435. package/dist/storage/in-memory/index.d.ts.map +1 -1
  436. package/dist/storage/index.d.ts +6 -7
  437. package/dist/storage/index.d.ts.map +1 -1
  438. package/dist/storage/index.js +221 -256
  439. package/dist/storage/index.js.map +1 -1
  440. package/dist/storage/internal.d.ts +10 -0
  441. package/dist/storage/internal.d.ts.map +1 -0
  442. package/dist/storage/internal.js +47 -0
  443. package/dist/storage/internal.js.map +9 -0
  444. package/dist/storage/ontology/provider.js +105 -109
  445. package/dist/storage/ontology/provider.js.map +1 -1
  446. package/dist/storage/operation-scope.js +18 -19
  447. package/dist/storage/operation-scope.js.map +1 -1
  448. package/dist/storage/pipeline-runs/provider.js +4 -6
  449. package/dist/storage/pipeline-runs/provider.js.map +1 -1
  450. package/dist/storage/projection-runs/provider.js +66 -70
  451. package/dist/storage/projection-runs/provider.js.map +1 -1
  452. package/dist/storage/share-grants/provider.js +17 -19
  453. package/dist/storage/share-grants/provider.js.map +1 -1
  454. package/dist/storage/share-sessions/provider.js +14 -15
  455. package/dist/storage/share-sessions/provider.js.map +1 -1
  456. package/dist/storage/sync-runs/provider.js +4 -6
  457. package/dist/storage/sync-runs/provider.js.map +1 -1
  458. package/dist/storage/webhook-runs/provider.js +4 -6
  459. package/dist/storage/webhook-runs/provider.js.map +1 -1
  460. package/dist/storage/workflow-runs/in-memory.d.ts.map +1 -1
  461. package/dist/storage/workflow-runs/provider.js +13 -21
  462. package/dist/storage/workflow-runs/provider.js.map +1 -1
  463. package/dist/storage/workflow-runs/types.d.ts +0 -3
  464. package/dist/storage/workflow-runs/types.d.ts.map +1 -1
  465. package/dist/syncs/index.js +55 -65
  466. package/dist/syncs/index.js.map +1 -1
  467. package/dist/testing/action-execution.d.ts +4 -1
  468. package/dist/testing/action-execution.d.ts.map +1 -1
  469. package/dist/testing/agent-execution.d.ts +1 -0
  470. package/dist/testing/agent-execution.d.ts.map +1 -1
  471. package/dist/testing/agent-storage-contract.d.ts.map +1 -1
  472. package/dist/testing/ai-model-call-groups-contract.d.ts.map +1 -1
  473. package/dist/testing/execution-storage-contract.d.ts.map +1 -1
  474. package/dist/testing/execution.d.ts +1 -0
  475. package/dist/testing/execution.d.ts.map +1 -1
  476. package/dist/testing/index.js +911 -799
  477. package/dist/testing/index.js.map +9 -9
  478. package/dist/testing/workflow-execution.d.ts +1 -0
  479. package/dist/testing/workflow-execution.d.ts.map +1 -1
  480. package/dist/webhooks/internal.js +51 -59
  481. package/dist/webhooks/internal.js.map +2 -2
  482. package/dist/workers/index.js +11 -13
  483. package/dist/workers/index.js.map +2 -2
  484. package/dist/workflows/failure.d.ts +2 -0
  485. package/dist/workflows/failure.d.ts.map +1 -1
  486. package/dist/workflows/index.js +135 -147
  487. package/dist/workflows/index.js.map +1 -1
  488. package/dist/workflows/request.d.ts.map +1 -1
  489. package/dist/workflows/run-dispatch.d.ts +0 -1
  490. package/dist/workflows/run-dispatch.d.ts.map +1 -1
  491. package/dist/workflows/types.d.ts +2 -0
  492. package/dist/workflows/types.d.ts.map +1 -1
  493. package/package.json +48 -30
  494. package/src/actions/run-dispatch.ts +2 -6
  495. package/src/actions/types/context.ts +2 -0
  496. package/src/actions/validation.ts +2 -1
  497. package/src/agents/adapters.ts +4 -9
  498. package/src/agents/{context.ts → context/entries.ts} +4 -4
  499. package/src/agents/context/index.ts +15 -0
  500. package/src/agents/context-model.ts +1 -1
  501. package/src/agents/context-resolution.ts +1 -1
  502. package/src/agents/index.ts +4 -4
  503. package/src/agents/message.ts +1 -1
  504. package/src/agents/model-loop.ts +8 -0
  505. package/src/agents/request.ts +11 -26
  506. package/src/agents/streams/index.ts +18 -0
  507. package/src/agents/streams/internal.ts +19 -0
  508. package/src/agents/{streams.ts → streams/protocol.ts} +5 -5
  509. package/src/agents/types.ts +1 -1
  510. package/src/agents/validation.ts +3 -7
  511. package/src/auth/index.ts +0 -1
  512. package/src/bootstrap/discovery.ts +81 -24
  513. package/src/bootstrap/index.ts +8 -1
  514. package/src/errors/internal.ts +90 -10
  515. package/src/errors/redaction.ts +98 -0
  516. package/src/errors/types.ts +4 -0
  517. package/src/execution/agent.ts +5 -3
  518. package/src/execution/durable.ts +11 -1
  519. package/src/execution/primitive.ts +5 -1
  520. package/src/execution/request.ts +3 -0
  521. package/src/index.ts +20 -18
  522. package/src/logging/index.ts +2 -33
  523. package/src/logging/internal.ts +43 -0
  524. package/src/models/errors.ts +12 -0
  525. package/src/models/execution/binding.ts +29 -0
  526. package/src/models/execution/errors.ts +18 -0
  527. package/src/models/execution/index.ts +26 -0
  528. package/src/models/execution/model-call-accounting.ts +211 -0
  529. package/src/models/execution/model-call-admission.ts +127 -0
  530. package/src/models/execution/model-call-limits.ts +135 -0
  531. package/src/models/execution/model-call-recorder.ts +235 -0
  532. package/src/models/execution/model-call-recovery.ts +125 -0
  533. package/src/models/execution/recovery-queue.ts +31 -0
  534. package/src/models/execution/types.ts +58 -0
  535. package/src/models/execution/usage.ts +23 -0
  536. package/src/models/execution.ts +207 -0
  537. package/src/models/generation-types.ts +50 -0
  538. package/src/models/index.ts +8 -0
  539. package/src/models/language-model.ts +3 -0
  540. package/src/models/output.ts +45 -0
  541. package/src/models/resolve.ts +27 -0
  542. package/src/objects/execution.ts +1 -1
  543. package/src/ontology/index.ts +1 -2
  544. package/src/ontology/internal.ts +35 -0
  545. package/src/projections/run-dispatch.ts +1 -0
  546. package/src/query.ts +0 -1
  547. package/src/queues/index.ts +4 -2
  548. package/src/queues/types.ts +6 -25
  549. package/src/runtime/create.ts +2 -1
  550. package/src/runtime/host.ts +2 -1
  551. package/src/runtime/sixb.ts +4 -0
  552. package/src/sandboxes/errors.ts +5 -0
  553. package/src/sandboxes/index.ts +3 -0
  554. package/src/sandboxes/sandbox.ts +35 -7
  555. package/src/storage/agents/in-memory.ts +0 -3
  556. package/src/storage/agents/types.ts +0 -3
  557. package/src/storage/ai-cost/analytics.ts +1 -1
  558. package/src/storage/ai-cost/attribution.ts +15 -0
  559. package/src/storage/ai-cost/groups.ts +5 -1
  560. package/src/storage/ai-cost/provider.ts +1 -0
  561. package/src/storage/ai-cost/types.ts +7 -0
  562. package/src/storage/auth/in-memory.ts +1 -1
  563. package/src/storage/executions/in-memory.ts +4 -9
  564. package/src/storage/executions/provider.ts +4 -0
  565. package/src/storage/executions/types.ts +6 -2
  566. package/src/storage/executions/validation.ts +32 -0
  567. package/src/storage/in-memory/index.ts +16 -1
  568. package/src/storage/index.ts +3 -29
  569. package/src/storage/internal.ts +20 -0
  570. package/src/storage/workflow-runs/in-memory.ts +0 -2
  571. package/src/storage/workflow-runs/types.ts +0 -3
  572. package/src/testing/action-execution.ts +9 -2
  573. package/src/testing/agent-execution.ts +3 -0
  574. package/src/testing/agent-storage-contract.ts +0 -5
  575. package/src/testing/ai-model-call-groups-contract.ts +74 -2
  576. package/src/testing/execution-storage-contract.ts +59 -1
  577. package/src/testing/execution.ts +6 -0
  578. package/src/testing/workflow-execution.ts +4 -0
  579. package/src/workflows/failure.ts +62 -1
  580. package/src/workflows/request.ts +0 -9
  581. package/src/workflows/run-dispatch.ts +0 -3
  582. package/src/workflows/types.ts +2 -0
  583. package/src/workflows/validation.ts +1 -1
  584. package/dist/agents/context.d.ts.map +0 -1
  585. package/dist/agents/context.js +0 -23
  586. package/dist/agents/streams.d.ts.map +0 -1
  587. package/dist/agents/streams.js +0 -55
  588. package/dist/chunk-08m3b6w8.js +0 -32
  589. package/dist/chunk-19jp6g9d.js.map +0 -11
  590. package/dist/chunk-2xns679x.js.map +0 -11
  591. package/dist/chunk-3xep5cjx.js.map +0 -15
  592. package/dist/chunk-407j3msh.js +0 -60
  593. package/dist/chunk-4qfkag59.js +0 -1568
  594. package/dist/chunk-4qfkag59.js.map +0 -20
  595. package/dist/chunk-5e3pq99w.js.map +0 -11
  596. package/dist/chunk-7y0f6rf1.js.map +0 -10
  597. package/dist/chunk-ajnan18g.js.map +0 -12
  598. package/dist/chunk-c15dr03f.js +0 -43
  599. package/dist/chunk-d8qkxt2v.js.map +0 -10
  600. package/dist/chunk-jq43kdvk.js +0 -50
  601. package/dist/chunk-k522z7v6.js.map +0 -10
  602. package/dist/chunk-p03r0h5s.js.map +0 -16
  603. package/dist/chunk-p1rzczbt.js +0 -218
  604. package/dist/chunk-rafagrwr.js.map +0 -11
  605. package/dist/chunk-xajtptbw.js.map +0 -40
  606. package/dist/chunk-y64skrwp.js +0 -19
  607. package/dist/chunk-zcnhxkvd.js +0 -7
  608. package/dist/logging/types.js +0 -27
  609. package/dist/logging/types.js.map +0 -9
  610. /package/dist/{chunk-zqqz8052.js → chunk-7n30ybym.js} +0 -0
  611. /package/dist/{chunk-zqqz8052.js.map → chunk-7n30ybym.js.map} +0 -0
  612. /package/dist/{chunk-4a849fr1.js.map → chunk-9tc8dxmn.js.map} +0 -0
  613. /package/dist/{chunk-j1sbhm7p.js → chunk-ey1nk510.js} +0 -0
  614. /package/dist/{chunk-j1sbhm7p.js.map → chunk-ey1nk510.js.map} +0 -0
  615. /package/dist/{chunk-z4ccwbkz.js.map → chunk-x9v4cx1d.js.map} +0 -0
@@ -0,0 +1,788 @@
1
+ // @bun
2
+ import {
3
+ SIXB_API_ROUTES2,
4
+ matchesPathPattern2,
5
+ normalizeRoutePath2
6
+ } from "./chunk-9vx5e9g1.js";
7
+ import {
8
+ validateSchemaValue2,
9
+ normalizeSchemaValue2
10
+ } from "./chunk-ms2tmn1k.js";
11
+ import {
12
+ AgentDefinitionError2,
13
+ AgentToolResultValidationError2
14
+ } from "./chunk-dmn70ztd.js";
15
+ import {
16
+ OntologyValidationError2
17
+ } from "./chunk-cqr3acm1.js";
18
+ import {
19
+ isFileRef2
20
+ } from "./chunk-h3v76ams.js";
21
+ import {
22
+ cloneJsonValue2,
23
+ stableJsonStringify2,
24
+ getInvalidJsonValueReason2,
25
+ isPlainRecord
26
+ } from "./chunk-wy0qdqfm.js";
27
+
28
+ // src/agents/context-model.ts
29
+ function serializeAgentContextForModel2(parts) {
30
+ if (parts.length === 0)
31
+ return;
32
+ const lines = ["<sixb_user_context>"];
33
+ for (const part of parts) {
34
+ if (part.context.kind === "object") {
35
+ lines.push(" <object_context>", ` <object_type_id>${escapeXml(part.context.ref.objectTypeId)}</object_type_id>`, ` <primary_id>${escapeXml(part.context.ref.primaryId)}</primary_id>`, " </object_context>");
36
+ continue;
37
+ }
38
+ lines.push(" <app_state_context>", ` <id>${escapeXml(part.context.id)}</id>`, ` <description>${escapeXml(part.context.description)}</description>`, ` <value format="json">${escapeXml(stableJsonStringify2(part.context.value))}</value>`, " </app_state_context>");
39
+ }
40
+ lines.push("</sixb_user_context>");
41
+ return lines.join(`
42
+ `);
43
+ }
44
+ function escapeXml(value) {
45
+ return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;").replaceAll("'", "&apos;");
46
+ }
47
+
48
+ // src/agents/tool-result.ts
49
+ function isAgentToolResult2(value) {
50
+ return isPlainRecord(value) && value.kind === "agentToolResult" && getInvalidAgentToolResultReason(value) === undefined;
51
+ }
52
+ function getInvalidAgentToolResultReason(value) {
53
+ if (!isPlainRecord(value) || value.kind !== "agentToolResult") {
54
+ return;
55
+ }
56
+ if (!Array.isArray(value.content)) {
57
+ return "result.content must be an array";
58
+ }
59
+ const unsupportedKey = Object.keys(value).find((key) => key !== "kind" && key !== "content");
60
+ if (unsupportedKey) {
61
+ return `result.${unsupportedKey} is not supported`;
62
+ }
63
+ if (value.content.length === 0) {
64
+ return "result.content must contain at least one content part";
65
+ }
66
+ for (let index = 0;index < value.content.length; index += 1) {
67
+ const part = value.content[index];
68
+ const path = `result.content[${index}]`;
69
+ if (!isPlainRecord(part)) {
70
+ return `${path} must be a text or file content part`;
71
+ }
72
+ if (part.type === "text") {
73
+ if (typeof part.text !== "string") {
74
+ return `${path}.text must be a string`;
75
+ }
76
+ const unsupportedKey = Object.keys(part).find((key) => key !== "type" && key !== "text");
77
+ if (unsupportedKey) {
78
+ return `${path}.${unsupportedKey} is not supported`;
79
+ }
80
+ continue;
81
+ }
82
+ if (part.type === "file") {
83
+ if (!isFileRef2(part.fileRef)) {
84
+ return `${path}.fileRef must be a valid FileRef`;
85
+ }
86
+ const unsupportedKey = Object.keys(part).find((key) => key !== "type" && key !== "fileRef");
87
+ if (unsupportedKey) {
88
+ return `${path}.${unsupportedKey} is not supported`;
89
+ }
90
+ continue;
91
+ }
92
+ return `${path}.type must be 'text' or 'file'`;
93
+ }
94
+ return;
95
+ }
96
+
97
+ // src/agents/adapters.ts
98
+ function toModelMessages2(messages, options = {}) {
99
+ const result = [];
100
+ for (const message of messages) {
101
+ switch (message.role) {
102
+ case "system":
103
+ result.push(systemModelMessage(message));
104
+ break;
105
+ case "user":
106
+ result.push(userModelMessage(message, options));
107
+ break;
108
+ case "assistant":
109
+ appendAssistantModelMessages(result, message, options);
110
+ break;
111
+ }
112
+ }
113
+ return result;
114
+ }
115
+ function systemModelMessage(message) {
116
+ const textParts = message.parts.filter((part) => part.type === "text");
117
+ const providerData = mergeProviderMetadata(textParts);
118
+ return {
119
+ role: "system",
120
+ content: textParts.map((part) => part.text).join(""),
121
+ ...providerData === undefined ? {} : { providerData }
122
+ };
123
+ }
124
+ function mergeProviderMetadata(parts) {
125
+ let merged;
126
+ for (const part of parts) {
127
+ const meta = part.providerMetadata;
128
+ if (meta !== undefined && typeof meta === "object" && meta !== null && !Array.isArray(meta)) {
129
+ merged = { ...merged ?? {}, ...meta };
130
+ }
131
+ }
132
+ return merged;
133
+ }
134
+ function userModelMessage(message, options) {
135
+ const content = [];
136
+ const serializedContext = serializeAgentContextForModel2(message.parts.filter((part) => part.type === "context"));
137
+ if (serializedContext) {
138
+ content.push({ type: "text", text: `${serializedContext}
139
+
140
+ ` });
141
+ }
142
+ message.parts.forEach((part, partIndex) => {
143
+ if (part.type === "text") {
144
+ content.push({
145
+ type: "text",
146
+ text: part.text,
147
+ ...part.providerMetadata === undefined ? {} : { providerData: part.providerMetadata }
148
+ });
149
+ return;
150
+ }
151
+ if (part.type === "file") {
152
+ const fileContext = options.fileText?.({ message, part, partIndex });
153
+ if (fileContext) {
154
+ content.push({ type: "text", text: fileContext });
155
+ }
156
+ const resolved = options.fileData?.({ message, part, partIndex });
157
+ if (resolved) {
158
+ const projection = resolved instanceof URL ? { data: resolved } : resolved;
159
+ content.push({
160
+ type: "file",
161
+ data: projection.data,
162
+ mediaType: projection.mediaType ?? part.fileRef.mediaType ?? "application/octet-stream",
163
+ ...projection.filename !== undefined ? { filename: projection.filename } : part.fileRef.fileName === undefined ? {} : { filename: part.fileRef.fileName },
164
+ ...part.providerMetadata === undefined ? {} : { providerData: part.providerMetadata }
165
+ });
166
+ }
167
+ }
168
+ });
169
+ return { role: "user", content };
170
+ }
171
+ function appendAssistantModelMessages(result, message, options) {
172
+ let block = [];
173
+ const flush = () => {
174
+ if (block.length === 0) {
175
+ return;
176
+ }
177
+ const current = block;
178
+ block = [];
179
+ const content = [];
180
+ const toolResults = [];
181
+ for (const { part, partIndex } of current) {
182
+ if (part.type === "text" || part.type === "reasoning") {
183
+ content.push({
184
+ type: part.type,
185
+ text: part.text,
186
+ ...part.providerMetadata === undefined ? {} : { providerData: part.providerMetadata }
187
+ });
188
+ } else if (part.type === "tool-call") {
189
+ content.push(toolCallModelPart(part));
190
+ if (part.providerExecuted === true) {
191
+ content.push(toolResultModelPart(message, part, partIndex, "json", options));
192
+ } else {
193
+ toolResults.push(toolResultModelPart(message, part, partIndex, "text", options));
194
+ }
195
+ } else if (part.type === "provider-state") {
196
+ content.push({
197
+ type: "provider-state",
198
+ providerId: part.providerId,
199
+ data: part.data
200
+ });
201
+ }
202
+ }
203
+ if (content.length > 0)
204
+ result.push({ role: "assistant", content });
205
+ if (toolResults.length > 0) {
206
+ result.push({ role: "tool", content: toolResults });
207
+ }
208
+ };
209
+ message.parts.forEach((part, partIndex) => {
210
+ if (part.type === "step-start") {
211
+ flush();
212
+ } else {
213
+ block.push({ part, partIndex });
214
+ }
215
+ });
216
+ flush();
217
+ }
218
+ function toolCallModelPart(part) {
219
+ return {
220
+ type: "tool-call",
221
+ toolCallId: part.toolCallId,
222
+ toolName: part.toolName,
223
+ input: part.input,
224
+ ...part.providerExecuted === undefined ? {} : { providerExecuted: part.providerExecuted },
225
+ ...part.providerMetadata === undefined ? {} : { providerData: part.providerMetadata }
226
+ };
227
+ }
228
+ function toolResultModelPart(message, part, partIndex, errorMode, options) {
229
+ return {
230
+ type: "tool-result",
231
+ toolCallId: part.toolCallId,
232
+ toolName: part.toolName,
233
+ output: toolResultOutput(message, part, partIndex, errorMode, options)
234
+ };
235
+ }
236
+ function toolResultOutput(message, part, partIndex, errorMode, options) {
237
+ if (part.state === "output-error") {
238
+ return errorMode === "json" ? { type: "error-json", value: part.errorText } : { type: "error-text", value: part.errorText };
239
+ }
240
+ if (isAgentToolResult2(part.output)) {
241
+ const value = [];
242
+ part.output.content.forEach((contentPart, contentIndex) => {
243
+ if (contentPart.type === "text") {
244
+ value.push(contentPart.text);
245
+ return;
246
+ }
247
+ const fileContext = options.toolResultFileText?.({
248
+ message,
249
+ part,
250
+ partIndex,
251
+ contentPart,
252
+ contentIndex
253
+ });
254
+ value.push(fileContext ?? toolResultFileFallbackText(contentPart));
255
+ });
256
+ return { type: "text", value: value.join(`
257
+ `) };
258
+ }
259
+ return typeof part.output === "string" ? { type: "text", value: part.output } : { type: "json", value: part.output };
260
+ }
261
+ function toolResultFileFallbackText(part) {
262
+ const attributes = [
263
+ part.fileRef.fileName ? `name=${JSON.stringify(part.fileRef.fileName)}` : undefined,
264
+ part.fileRef.mediaType ? `mediaType=${JSON.stringify(part.fileRef.mediaType)}` : undefined,
265
+ `sizeBytes=${part.fileRef.sizeBytes}`
266
+ ].filter((value) => value !== undefined);
267
+ return `[Tool-created file: ${attributes.join(" ")}. Contents are not available inline.]`;
268
+ }
269
+ // src/agents/api-gateway.ts
270
+ import { createHmac, timingSafeEqual } from "crypto";
271
+ var AGENT_API_GATEWAY_PREFIX2 = "/__sixb/agent-api";
272
+ var AGENT_API_GATEWAY_CAPABILITY_PREFIX = "sixb_agw_v1_";
273
+ var AGENT_API_ROUTES2 = SIXB_API_ROUTES2.filter((route) => route.agentApi).map((route) => ({ method: route.method, path: route.path }));
274
+ function createAgentApiGatewayCapability2(input) {
275
+ return `${AGENT_API_GATEWAY_CAPABILITY_PREFIX}${capabilityDigest(input)}`;
276
+ }
277
+ function isValidAgentApiGatewayCapability2(input) {
278
+ const expected = createAgentApiGatewayCapability2(input);
279
+ const actual = input.capability;
280
+ const expectedBuffer = Buffer.from(expected);
281
+ const actualBuffer = Buffer.from(actual);
282
+ return expectedBuffer.byteLength === actualBuffer.byteLength && timingSafeEqual(expectedBuffer, actualBuffer);
283
+ }
284
+ function isAllowedAgentApiRequest2(method, pathname) {
285
+ const normalizedMethod = method.toUpperCase();
286
+ const normalizedPath = normalizeRoutePath2(pathname);
287
+ return AGENT_API_ROUTES2.some((route) => route.method === normalizedMethod && matchesPathPattern2(normalizedPath, route.path));
288
+ }
289
+ function capabilityDigest(input) {
290
+ return createHmac("sha256", input.executionToken).update(`agent-api-gateway:${input.projectId}:${input.runId}`).digest("base64url");
291
+ }
292
+ // src/agents/validation.ts
293
+ var AGENT_TOOL_NAME_PATTERN = /^[A-Za-z_][A-Za-z0-9_-]{0,63}$/;
294
+ var AGENT_TOOL_PRIMITIVE_SCHEMAS = new Set([
295
+ "string",
296
+ "integer",
297
+ "double",
298
+ "decimal",
299
+ "boolean",
300
+ "date",
301
+ "timestamp",
302
+ "uuid",
303
+ "fileRef"
304
+ ]);
305
+ var AGENT_RESERVED_TOOL_NAMES2 = [
306
+ "bash",
307
+ "read",
308
+ "view_file",
309
+ "spawn_agent",
310
+ "wait_agent"
311
+ ];
312
+ function isAgentToolDefinition2(value) {
313
+ return isRecord(value) && value.kind === "agentTool" && typeof value.name === "string" && typeof value.description === "string" && isPlainRecord(value.input) && typeof value.handler === "function";
314
+ }
315
+ function assertValidAgentToolName(name) {
316
+ if (typeof name !== "string" || !AGENT_TOOL_NAME_PATTERN.test(name)) {
317
+ throw new AgentDefinitionError2("[Sixb] Agent tool name must be 1-64 characters, start with a letter or underscore, and contain only letters, numbers, underscores, or hyphens.");
318
+ }
319
+ if (AGENT_RESERVED_TOOL_NAMES2.includes(name)) {
320
+ throw new AgentDefinitionError2(`[Sixb] Agent tool name '${name}' is reserved by the framework.`);
321
+ }
322
+ }
323
+ function assertValidAgentToolDescription(name, description) {
324
+ if (typeof description !== "string" || !description.trim()) {
325
+ throw new AgentDefinitionError2(`[Sixb] Agent tool '${name}' description must not be empty.`);
326
+ }
327
+ }
328
+ function assertValidAgentToolInput(name, input) {
329
+ if (!isPlainRecord(input)) {
330
+ throw new AgentDefinitionError2(`[Sixb] Agent tool '${name}' input must be a schema object.`);
331
+ }
332
+ for (const [field, schema] of Object.entries(input)) {
333
+ if (!field.trim()) {
334
+ throw new AgentDefinitionError2(`[Sixb] Agent tool '${name}' input field names must not be empty.`);
335
+ }
336
+ assertValidAgentToolSchema(name, schema, `input.${field}`, new Set);
337
+ }
338
+ }
339
+ function validateAndSnapshotAgentToolInput(toolName, input) {
340
+ assertValidAgentToolInput(toolName, input);
341
+ try {
342
+ return deepFreeze(structuredClone(input));
343
+ } catch {
344
+ throw new AgentDefinitionError2(`[Sixb] Agent tool '${toolName}' input must be safely snapshot-compatible.`);
345
+ }
346
+ }
347
+ function validateAndNormalizeAgentToolInput2(toolName, shape, value, valueTypesById) {
348
+ const label = `Agent tool '${toolName}' input`;
349
+ if (!isPlainRecord(value)) {
350
+ throw new OntologyValidationError2(`[Sixb] ${label} must be a JSON object.`);
351
+ }
352
+ const reason = getInvalidJsonValueReason2(value, label);
353
+ if (reason) {
354
+ throw new OntologyValidationError2(`[Sixb] ${label} must be JSON-compatible; ${reason}.`);
355
+ }
356
+ const schema = {
357
+ type: "object",
358
+ properties: Object.fromEntries(Object.entries(shape).map(([field, fieldSchema]) => [
359
+ field,
360
+ { schema: fieldSchema, required: true }
361
+ ]))
362
+ };
363
+ validateSchemaValue2(schema, value, label, valueTypesById);
364
+ return deepFreeze(normalizeSchemaValue2(schema, value, label, valueTypesById));
365
+ }
366
+ function assertValidAgentToolSchema(toolName, schema, path, visiting) {
367
+ if (typeof schema === "string") {
368
+ if (AGENT_TOOL_PRIMITIVE_SCHEMAS.has(schema)) {
369
+ return;
370
+ }
371
+ throw invalidAgentToolSchema(toolName, path);
372
+ }
373
+ if (!isPlainRecord(schema) || typeof schema.type !== "string" || visiting.has(schema)) {
374
+ throw invalidAgentToolSchema(toolName, path);
375
+ }
376
+ visiting.add(schema);
377
+ switch (schema.type) {
378
+ case "enum": {
379
+ const values = schema.values;
380
+ const validValues = isValidAgentToolEnumValues(values, schema.valueType);
381
+ if (!validValues || new Set(values).size !== values.length) {
382
+ throw invalidAgentToolSchema(toolName, path);
383
+ }
384
+ break;
385
+ }
386
+ case "array":
387
+ assertValidAgentToolSchema(toolName, schema.items, `${path}.items`, visiting);
388
+ break;
389
+ case "map":
390
+ if (schema.keySchema !== "string") {
391
+ throw invalidAgentToolSchema(toolName, path);
392
+ }
393
+ assertValidAgentToolSchema(toolName, schema.valueSchema, `${path}.valueSchema`, visiting);
394
+ break;
395
+ case "object": {
396
+ if (!isPlainRecord(schema.properties)) {
397
+ throw invalidAgentToolSchema(toolName, path);
398
+ }
399
+ for (const [fieldId, field] of Object.entries(schema.properties)) {
400
+ if (!fieldId.trim() || !isPlainRecord(field) || !("schema" in field)) {
401
+ throw invalidAgentToolSchema(toolName, `${path}.properties.${fieldId}`);
402
+ }
403
+ if (field.required !== undefined && typeof field.required !== "boolean" || field.nullable !== undefined && typeof field.nullable !== "boolean" || field.description !== undefined && (typeof field.description !== "string" || !field.description.trim())) {
404
+ throw invalidAgentToolSchema(toolName, `${path}.properties.${fieldId}`);
405
+ }
406
+ assertValidAgentToolSchema(toolName, field.schema, `${path}.properties.${fieldId}.schema`, visiting);
407
+ }
408
+ break;
409
+ }
410
+ case "valueTypeRef":
411
+ if (typeof schema.valueTypeId !== "string" || !schema.valueTypeId.trim()) {
412
+ throw invalidAgentToolSchema(toolName, path);
413
+ }
414
+ if (schema._resolved !== undefined) {
415
+ assertValidAgentToolSchema(toolName, schema._resolved, `${path}._resolved`, visiting);
416
+ }
417
+ break;
418
+ default:
419
+ throw invalidAgentToolSchema(toolName, path);
420
+ }
421
+ visiting.delete(schema);
422
+ }
423
+ function invalidAgentToolSchema(toolName, path) {
424
+ return new AgentDefinitionError2(`[Sixb] Agent tool '${toolName}' ${path} must be a valid Sixb schema.`);
425
+ }
426
+ function assertValidProjectAgentToolDefinitions(tools) {
427
+ const seen = new Set;
428
+ for (let index = 0;index < tools.length; index += 1) {
429
+ const tool = tools[index];
430
+ if (!Object.hasOwn(tools, index) || !isAgentToolDefinition2(tool)) {
431
+ throw new AgentDefinitionError2("[Sixb] Project tools must contain only agent tool definitions.");
432
+ }
433
+ assertValidAgentToolName(tool.name);
434
+ assertValidAgentToolDescription(tool.name, tool.description);
435
+ assertValidAgentToolInput(tool.name, tool.input);
436
+ if (seen.has(tool.name)) {
437
+ throw new AgentDefinitionError2(`[Sixb] Project tools contain duplicate tool name '${tool.name}'.`);
438
+ }
439
+ seen.add(tool.name);
440
+ }
441
+ }
442
+ function isValidAgentToolEnumValues(values, valueType) {
443
+ if (!Array.isArray(values) || values.length === 0) {
444
+ return false;
445
+ }
446
+ for (let index = 0;index < values.length; index += 1) {
447
+ if (!Object.hasOwn(values, index)) {
448
+ return false;
449
+ }
450
+ const value = values[index];
451
+ if (valueType === "string" ? typeof value !== "string" : valueType !== "integer" || typeof value !== "number" || !Number.isInteger(value)) {
452
+ return false;
453
+ }
454
+ }
455
+ return true;
456
+ }
457
+ function deepFreeze(value, seen = new Set) {
458
+ if (value === null || typeof value !== "object" || seen.has(value)) {
459
+ return value;
460
+ }
461
+ seen.add(value);
462
+ for (const key of Reflect.ownKeys(value)) {
463
+ const descriptor = Object.getOwnPropertyDescriptor(value, key);
464
+ if (descriptor && "value" in descriptor) {
465
+ deepFreeze(descriptor.value, seen);
466
+ }
467
+ }
468
+ return Object.freeze(value);
469
+ }
470
+ function isRecord(value) {
471
+ return typeof value === "object" && value !== null && !Array.isArray(value);
472
+ }
473
+
474
+ // src/agents/tool-definition.ts
475
+ var EMPTY_AGENT_TOOLS = Object.freeze([]);
476
+ var normalizedAgentTools = new WeakSet;
477
+ function createAgentToolDefinition(definition) {
478
+ assertValidAgentToolName(definition.name);
479
+ assertValidAgentToolDescription(definition.name, definition.description);
480
+ if (typeof definition.handler !== "function") {
481
+ throw new AgentDefinitionError2(`[Sixb] Agent tool '${definition.name}' handler must be a function.`);
482
+ }
483
+ const input = validateAndSnapshotAgentToolInput(definition.name, definition.input);
484
+ const tool = {
485
+ kind: "agentTool",
486
+ name: definition.name,
487
+ description: definition.description,
488
+ input,
489
+ handler: async (context) => {
490
+ const result = await definition.handler(context);
491
+ let snapshot;
492
+ try {
493
+ snapshot = cloneJsonValue2(result, "result");
494
+ } catch (cause) {
495
+ throw new AgentToolResultValidationError2(definition.name, getInvalidJsonValueReason2(result, "result") ?? "result could not be cloned safely", { cause });
496
+ }
497
+ const richResultReason = getInvalidAgentToolResultReason(snapshot);
498
+ if (richResultReason) {
499
+ throw new AgentToolResultValidationError2(definition.name, richResultReason);
500
+ }
501
+ return snapshot;
502
+ }
503
+ };
504
+ normalizedAgentTools.add(tool);
505
+ return Object.freeze(tool);
506
+ }
507
+ function toolsFromProjectConfig(tools) {
508
+ if (tools === undefined) {
509
+ return EMPTY_AGENT_TOOLS;
510
+ }
511
+ if (!Array.isArray(tools)) {
512
+ throw new AgentDefinitionError2("[Sixb] Project tools must be an array of agent tool definitions.");
513
+ }
514
+ assertValidProjectAgentToolDefinitions(tools);
515
+ return normalizeAgentToolDefinitions(tools);
516
+ }
517
+ function normalizeAgentToolDefinitions(tools) {
518
+ const normalized = [];
519
+ for (const tool of tools) {
520
+ normalized.push(normalizeAgentToolDefinition(tool));
521
+ }
522
+ return Object.freeze(normalized);
523
+ }
524
+ function normalizeAgentToolDefinition(tool) {
525
+ if (normalizedAgentTools.has(tool)) {
526
+ return tool;
527
+ }
528
+ return createAgentToolDefinition({
529
+ name: tool.name,
530
+ description: tool.description,
531
+ input: tool.input,
532
+ handler: (context) => tool.handler(context)
533
+ });
534
+ }
535
+
536
+ // src/agents/builders.ts
537
+ function defineAgentTool2(name) {
538
+ assertValidAgentToolName(name);
539
+ return {
540
+ description(description) {
541
+ assertValidAgentToolDescription(name, description);
542
+ return {
543
+ input(input) {
544
+ assertValidAgentToolInput(name, input);
545
+ return {
546
+ run(handler) {
547
+ return createAgentToolDefinition({ name, description, input, handler });
548
+ }
549
+ };
550
+ }
551
+ };
552
+ }
553
+ };
554
+ }
555
+ // src/agents/context-compaction.ts
556
+ var AGENT_CONTEXT_ESTIMATOR_VERSION2 = 1;
557
+ var CHARS_PER_TOKEN = 4;
558
+ var REQUEST_OVERHEAD_TOKENS = 8;
559
+ var MESSAGE_OVERHEAD_TOKENS = 8;
560
+ var TOOL_OVERHEAD_TOKENS = 16;
561
+ var STEP_OVERHEAD_TOKENS = 2;
562
+ var IMAGE_ALLOWANCE_TOKENS = 1200;
563
+ var FILE_TEXT_INLINE_MAX_BYTES = 50 * 1024;
564
+ var FILE_TEXT_INLINE_TOTAL_MAX_BYTES = 200 * 1024;
565
+ var TOOL_RESULT_SUMMARY_MAX_CHARS = 2000;
566
+ function shouldCompactAgentContext2(input) {
567
+ return input.estimatedInputTokens > input.inputBudgetTokens;
568
+ }
569
+ function estimateAgentContextRequestTokens2(input) {
570
+ const toolTokens = input.tools.reduce((total, tool) => total + TOOL_OVERHEAD_TOKENS + textTokens(tool.name) + textTokens(tool.description) + textTokens(tool.inputSchema), 0);
571
+ return {
572
+ tokens: REQUEST_OVERHEAD_TOKENS + textTokens(input.systemPrompt) + toolTokens + estimateAgentContextMessagesTokens2(input.messages).tokens,
573
+ estimatorVersion: AGENT_CONTEXT_ESTIMATOR_VERSION2
574
+ };
575
+ }
576
+ function estimateAgentContextMessagesTokens2(messages) {
577
+ const attachments = { textBytesRemaining: FILE_TEXT_INLINE_TOTAL_MAX_BYTES };
578
+ let tokens = 0;
579
+ for (const message of messages) {
580
+ tokens += estimateMessageTokens(message, attachments);
581
+ }
582
+ return { tokens, estimatorVersion: AGENT_CONTEXT_ESTIMATOR_VERSION2 };
583
+ }
584
+ function selectAgentContextCompactionBoundary2(input) {
585
+ if (input.messages.length < 2)
586
+ return null;
587
+ let retainedTokens = 0;
588
+ let boundaryIndex = null;
589
+ let closestDistance = Number.POSITIVE_INFINITY;
590
+ for (let index = input.messages.length - 1;index > 0; index -= 1) {
591
+ retainedTokens += estimateAgentContextMessagesTokens2([input.messages[index]]).tokens;
592
+ if (input.messages[index]?.role !== "user")
593
+ continue;
594
+ const distance = Math.abs(input.keepRecentTokens - retainedTokens);
595
+ if (distance <= closestDistance) {
596
+ boundaryIndex = index;
597
+ closestDistance = distance;
598
+ }
599
+ if (retainedTokens >= input.keepRecentTokens)
600
+ break;
601
+ }
602
+ if (boundaryIndex === null)
603
+ return null;
604
+ const summarizedThroughSeq = input.messages[boundaryIndex - 1]?.seq;
605
+ if (summarizedThroughSeq === undefined)
606
+ return null;
607
+ return {
608
+ messagesToSummarize: input.messages.slice(0, boundaryIndex),
609
+ retainedMessages: input.messages.slice(boundaryIndex),
610
+ summarizedThroughSeq
611
+ };
612
+ }
613
+ function serializeAgentMessagesForSummary2(messages) {
614
+ const lines = ["<sixb_conversation_history>"];
615
+ for (const message of messages) {
616
+ lines.push(` <message id="${escapeXml2(message.id)}" seq="${message.seq}" role="${message.role}">`);
617
+ message.parts.forEach((part, partIndex) => {
618
+ lines.push(...serializeSummaryPart(message, part, partIndex));
619
+ });
620
+ lines.push(" </message>");
621
+ }
622
+ lines.push("</sixb_conversation_history>");
623
+ return lines.join(`
624
+ `);
625
+ }
626
+ function estimateMessageTokens(message, attachments) {
627
+ let tokens = MESSAGE_OVERHEAD_TOKENS;
628
+ for (const part of message.parts) {
629
+ switch (part.type) {
630
+ case "text":
631
+ case "reasoning":
632
+ tokens += textTokens(part.text);
633
+ break;
634
+ case "step-start":
635
+ tokens += STEP_OVERHEAD_TOKENS;
636
+ break;
637
+ case "context":
638
+ tokens += textTokens(stableJsonStringify2(part.context));
639
+ break;
640
+ case "provider-state":
641
+ tokens += textTokens(stableJsonStringify2(part.data));
642
+ break;
643
+ case "tool-call":
644
+ tokens += TOOL_OVERHEAD_TOKENS + textTokens(part.toolName) + textTokens(stableJsonStringify2(part.input)) + (part.state === "output-available" ? textTokens(stableJsonStringify2(part.output)) : textTokens(part.errorText));
645
+ break;
646
+ case "file": {
647
+ const file = part.fileRef;
648
+ tokens += textTokens([file.blobId, file.digest, file.fileName, file.mediaType, file.logicalPath].filter((value) => value !== undefined).join(" "));
649
+ if (message.role !== "assistant") {
650
+ if (looksLikeImage(file.mediaType, file.fileName)) {
651
+ tokens += IMAGE_ALLOWANCE_TOKENS;
652
+ } else {
653
+ const inlineBytes = Math.min(file.sizeBytes, FILE_TEXT_INLINE_MAX_BYTES, attachments.textBytesRemaining);
654
+ attachments.textBytesRemaining -= inlineBytes;
655
+ tokens += Math.ceil(inlineBytes / CHARS_PER_TOKEN);
656
+ }
657
+ }
658
+ break;
659
+ }
660
+ }
661
+ }
662
+ return tokens;
663
+ }
664
+ function serializeSummaryPart(message, part, partIndex) {
665
+ const indent = " ";
666
+ switch (part.type) {
667
+ case "text":
668
+ return [`${indent}<text>${escapeXml2(part.text)}</text>`];
669
+ case "reasoning":
670
+ case "provider-state":
671
+ case "step-start":
672
+ return [];
673
+ case "context":
674
+ return part.context.kind === "object" ? [
675
+ `${indent}<object_context origin="${part.origin}" object_type_id="${escapeXml2(part.context.ref.objectTypeId)}" primary_id="${escapeXml2(part.context.ref.primaryId)}" />`
676
+ ] : [
677
+ `${indent}<app_context origin="${part.origin}" id="${escapeXml2(part.context.id)}" label="${escapeXml2(part.context.label)}">`,
678
+ `${indent} <description>${escapeXml2(part.context.description)}</description>`,
679
+ `${indent} <value format="json">${escapeXml2(stableJsonStringify2(part.context.value))}</value>`,
680
+ `${indent}</app_context>`
681
+ ];
682
+ case "file": {
683
+ const file = part.fileRef;
684
+ const attributes = [
685
+ `message_id="${escapeXml2(message.id)}"`,
686
+ `part_index="${partIndex}"`,
687
+ `blob_id="${escapeXml2(file.blobId)}"`,
688
+ `digest="${escapeXml2(file.digest)}"`,
689
+ `size_bytes="${file.sizeBytes}"`,
690
+ ...file.fileName === undefined ? [] : [`file_name="${escapeXml2(file.fileName)}"`],
691
+ ...file.mediaType === undefined ? [] : [`media_type="${escapeXml2(file.mediaType)}"`],
692
+ ...file.logicalPath === undefined ? [] : [`logical_path="${escapeXml2(file.logicalPath)}"`]
693
+ ];
694
+ return [`${indent}<file ${attributes.join(" ")} />`];
695
+ }
696
+ case "tool-call": {
697
+ const output = part.state === "output-available" ? truncateToolResult(stableJsonStringify2(part.output)) : truncateToolResult(part.errorText);
698
+ return [
699
+ `${indent}<tool_call id="${escapeXml2(part.toolCallId)}" name="${escapeXml2(part.toolName)}" state="${part.state}">`,
700
+ `${indent} <input format="json">${escapeXml2(stableJsonStringify2(part.input))}</input>`,
701
+ `${indent} <result>${escapeXml2(output)}</result>`,
702
+ `${indent}</tool_call>`
703
+ ];
704
+ }
705
+ }
706
+ }
707
+ function truncateToolResult(value) {
708
+ if (value.length <= TOOL_RESULT_SUMMARY_MAX_CHARS)
709
+ return value;
710
+ return `${value.slice(0, TOOL_RESULT_SUMMARY_MAX_CHARS)}
711
+ [truncated ${value.length - TOOL_RESULT_SUMMARY_MAX_CHARS} characters]`;
712
+ }
713
+ function looksLikeImage(mediaType, fileName) {
714
+ if (mediaType?.toLowerCase().startsWith("image/"))
715
+ return true;
716
+ return /\.(?:avif|gif|jpe?g|png|webp)$/i.test(fileName ?? "");
717
+ }
718
+ function textTokens(value) {
719
+ return Math.ceil(new TextEncoder().encode(value).byteLength / CHARS_PER_TOKEN);
720
+ }
721
+ function escapeXml2(value) {
722
+ return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;").replaceAll("'", "&apos;");
723
+ }
724
+ // src/agents/reference.ts
725
+ var agent2 = Object.freeze({
726
+ kind: "agent",
727
+ usage: Object.freeze({ kind: "aiUsage" })
728
+ });
729
+ // src/agents/thread-context-projection.ts
730
+ function projectAgentThreadModelContext2(input) {
731
+ const { checkpoint, messages } = input;
732
+ if (!checkpoint)
733
+ return messages;
734
+ assertConsistentCheckpointProjection(checkpoint, messages);
735
+ return [
736
+ {
737
+ role: "user",
738
+ parts: [{ type: "text", text: serializeThreadSummary(checkpoint.summary) }]
739
+ },
740
+ ...messages
741
+ ];
742
+ }
743
+ function assertConsistentCheckpointProjection(checkpoint, messages) {
744
+ if (checkpoint.summaryFormatVersion !== 1 || checkpoint.summary.trim().length === 0) {
745
+ throw projectionError(checkpoint, "has an invalid summary");
746
+ }
747
+ if (checkpoint.summarizedThroughSeq >= checkpoint.observedHeadSeq) {
748
+ throw projectionError(checkpoint, "does not retain its observed head");
749
+ }
750
+ if (messages.length === 0) {
751
+ throw projectionError(checkpoint, "has no retained messages");
752
+ }
753
+ let expectedSeq = checkpoint.summarizedThroughSeq + 1;
754
+ for (const message of messages) {
755
+ if (message.projectId !== checkpoint.projectId || message.threadId !== checkpoint.threadId) {
756
+ throw projectionError(checkpoint, "contains a message from another thread");
757
+ }
758
+ if (message.seq !== expectedSeq) {
759
+ throw projectionError(checkpoint, `has a sequence gap before message '${message.id}'`);
760
+ }
761
+ expectedSeq += 1;
762
+ }
763
+ if (messages[0]?.role !== "user") {
764
+ throw projectionError(checkpoint, "does not begin at a user turn boundary");
765
+ }
766
+ if ((messages.at(-1)?.seq ?? 0) < checkpoint.observedHeadSeq) {
767
+ throw projectionError(checkpoint, "ends before the checkpoint's observed head");
768
+ }
769
+ }
770
+ function serializeThreadSummary(summary) {
771
+ return [
772
+ "The earlier conversation was compacted into this continuation summary.",
773
+ "",
774
+ "<sixb_thread_summary>",
775
+ escapeXml3(summary),
776
+ "</sixb_thread_summary>"
777
+ ].join(`
778
+ `);
779
+ }
780
+ function projectionError(checkpoint, detail) {
781
+ return new Error(`[Sixb] Agent context checkpoint '${checkpoint.id}' for thread '${checkpoint.threadId}' ${detail}.`);
782
+ }
783
+ function escapeXml3(value) {
784
+ return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;").replaceAll("'", "&apos;");
785
+ }
786
+ export { serializeAgentContextForModel2, isAgentToolResult2, toModelMessages2, AGENT_API_GATEWAY_PREFIX2, AGENT_API_ROUTES2, createAgentApiGatewayCapability2, isValidAgentApiGatewayCapability2, isAllowedAgentApiRequest2, AGENT_RESERVED_TOOL_NAMES2, isAgentToolDefinition2, validateAndNormalizeAgentToolInput2, toolsFromProjectConfig, defineAgentTool2, AGENT_CONTEXT_ESTIMATOR_VERSION2, shouldCompactAgentContext2, estimateAgentContextRequestTokens2, estimateAgentContextMessagesTokens2, selectAgentContextCompactionBoundary2, serializeAgentMessagesForSummary2, agent2, projectAgentThreadModelContext2 };
787
+
788
+ //# debugId=6ABE14EFB7C9999B64756E2164756E21