@recombine-ai/bosun 0.3.6 → 0.3.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 (468) hide show
  1. package/build/client/_app/immutable/assets/0.XjKA4GPF.css +1 -0
  2. package/build/client/_app/immutable/assets/0.XjKA4GPF.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.XjKA4GPF.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/2.DOE0DQ6H.css +1 -0
  5. package/build/client/_app/immutable/assets/2.DOE0DQ6H.css.br +0 -0
  6. package/build/client/_app/immutable/assets/2.DOE0DQ6H.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/7.DlSPCZj0.css +1 -0
  8. package/build/client/_app/immutable/assets/7.DlSPCZj0.css.br +0 -0
  9. package/build/client/_app/immutable/assets/7.DlSPCZj0.css.gz +0 -0
  10. package/build/client/_app/immutable/assets/8.DoLA3Mkm.css +1 -0
  11. package/build/client/_app/immutable/assets/8.DoLA3Mkm.css.br +0 -0
  12. package/build/client/_app/immutable/assets/8.DoLA3Mkm.css.gz +0 -0
  13. package/build/client/_app/immutable/assets/ChatStepTrace.NFJFjHv0.css +1 -0
  14. package/build/client/_app/immutable/assets/ChatStepTrace.NFJFjHv0.css.br +0 -0
  15. package/build/client/_app/immutable/assets/ChatStepTrace.NFJFjHv0.css.gz +0 -0
  16. package/build/client/_app/immutable/assets/{Tab.BxaGw9IG.css → Tab.jOjMVh6j.css} +1 -1
  17. package/build/client/_app/immutable/assets/Tab.jOjMVh6j.css.br +0 -0
  18. package/build/client/_app/immutable/assets/Tab.jOjMVh6j.css.gz +0 -0
  19. package/build/client/_app/immutable/chunks/7wcu2ga1.js +1 -0
  20. package/build/client/_app/immutable/chunks/7wcu2ga1.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/7wcu2ga1.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/B3K88SyC.js +1 -0
  23. package/build/client/_app/immutable/chunks/B3K88SyC.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/B3K88SyC.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/{D5fGPlBk.js → BGEE3mf3.js} +1 -1
  26. package/build/client/_app/immutable/chunks/BGEE3mf3.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/BGEE3mf3.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/{BOQMymse.js → BH7VBnJ7.js} +1 -1
  29. package/build/client/_app/immutable/chunks/BH7VBnJ7.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/BH7VBnJ7.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/BHkx8tAH.js +1 -0
  32. package/build/client/_app/immutable/chunks/BHkx8tAH.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/BHkx8tAH.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/BMwJcaLS.js +1 -0
  35. package/build/client/_app/immutable/chunks/BMwJcaLS.js.br +2 -0
  36. package/build/client/_app/immutable/chunks/BMwJcaLS.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/{CfKHaDCm.js → BOrnwyTp.js} +1 -1
  38. package/build/client/_app/immutable/chunks/BOrnwyTp.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/BOrnwyTp.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/BbaH2eDw.js +1 -0
  41. package/build/client/_app/immutable/chunks/BbaH2eDw.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/BbaH2eDw.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/{C769zFCl.js → Bub2VLj9.js} +1 -1
  44. package/build/client/_app/immutable/chunks/Bub2VLj9.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/Bub2VLj9.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/{yOR3vtRx.js → ByppsbS-.js} +1 -1
  47. package/build/client/_app/immutable/chunks/ByppsbS-.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/ByppsbS-.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/C0mQlu7J.js +1 -0
  50. package/build/client/_app/immutable/chunks/C0mQlu7J.js.br +1 -0
  51. package/build/client/_app/immutable/chunks/C0mQlu7J.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/C0pV4x1v.js +1 -0
  53. package/build/client/_app/immutable/chunks/C0pV4x1v.js.br +2 -0
  54. package/build/client/_app/immutable/chunks/C0pV4x1v.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/C0sQKHpE.js +1 -0
  56. package/build/client/_app/immutable/chunks/C0sQKHpE.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/C0sQKHpE.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/{CRlLKhPr.js → CFcfsVkY.js} +1 -1
  59. package/build/client/_app/immutable/chunks/CFcfsVkY.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/CFcfsVkY.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/{CZJlygAJ.js → CYkx2jgw.js} +1 -1
  62. package/build/client/_app/immutable/chunks/CYkx2jgw.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/CYkx2jgw.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/CZ6iREyA.js +8 -0
  65. package/build/client/_app/immutable/chunks/CZ6iREyA.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/CZ6iREyA.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/CbCJfhin.js +1 -0
  68. package/build/client/_app/immutable/chunks/CbCJfhin.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/CbCJfhin.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/{DaRvw8c-.js → CdTjAjKm.js} +7 -7
  71. package/build/client/_app/immutable/chunks/CdTjAjKm.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/CdTjAjKm.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/{4PztAao_.js → CmPVG-ki.js} +1 -1
  74. package/build/client/_app/immutable/chunks/CmPVG-ki.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/CmPVG-ki.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/{DJ_lsF0V.js → Cnr0cZA4.js} +1 -1
  77. package/build/client/_app/immutable/chunks/Cnr0cZA4.js.br +0 -0
  78. package/build/client/_app/immutable/chunks/Cnr0cZA4.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/CojkI8AD.js +33 -0
  80. package/build/client/_app/immutable/chunks/CojkI8AD.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/CojkI8AD.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/Cp_hX0eh.js +1 -0
  83. package/build/client/_app/immutable/chunks/Cp_hX0eh.js.br +0 -0
  84. package/build/client/_app/immutable/chunks/Cp_hX0eh.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/Cv6CwVfk.js +3 -0
  86. package/build/client/_app/immutable/chunks/Cv6CwVfk.js.br +0 -0
  87. package/build/client/_app/immutable/chunks/Cv6CwVfk.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/{DAfsp-82.js → D8qEOlWC.js} +1 -1
  89. package/build/client/_app/immutable/chunks/D8qEOlWC.js.br +0 -0
  90. package/build/client/_app/immutable/chunks/D8qEOlWC.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/{Bf1oCG9-.js → DOMF1VtZ.js} +1 -1
  92. package/build/client/_app/immutable/chunks/DOMF1VtZ.js.br +0 -0
  93. package/build/client/_app/immutable/chunks/DOMF1VtZ.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/{Bd7SZbXQ.js → DRaGXt8e.js} +1 -1
  95. package/build/client/_app/immutable/chunks/DRaGXt8e.js.br +0 -0
  96. package/build/client/_app/immutable/chunks/DRaGXt8e.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/{Bw2f0Pmg.js → DU-D8S0B.js} +1 -1
  98. package/build/client/_app/immutable/chunks/DU-D8S0B.js.br +0 -0
  99. package/build/client/_app/immutable/chunks/DU-D8S0B.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/{Culo9hD6.js → DadWvtYR.js} +1 -1
  101. package/build/client/_app/immutable/chunks/DadWvtYR.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/DadWvtYR.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/{Cx_xzGPa.js → DbYdNz4J.js} +1 -1
  104. package/build/client/_app/immutable/chunks/DbYdNz4J.js.br +0 -0
  105. package/build/client/_app/immutable/chunks/DbYdNz4J.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/DiFAgw_s.js +1 -0
  107. package/build/client/_app/immutable/chunks/DiFAgw_s.js.br +0 -0
  108. package/build/client/_app/immutable/chunks/DiFAgw_s.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/DrMdBz9b.js +1 -0
  110. package/build/client/_app/immutable/chunks/DrMdBz9b.js.br +0 -0
  111. package/build/client/_app/immutable/chunks/DrMdBz9b.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/{qXu78w_4.js → DsvX5v5e.js} +1 -1
  113. package/build/client/_app/immutable/chunks/DsvX5v5e.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/DsvX5v5e.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/Y0ymTIHd.js +1 -0
  116. package/build/client/_app/immutable/chunks/Y0ymTIHd.js.br +0 -0
  117. package/build/client/_app/immutable/chunks/Y0ymTIHd.js.gz +0 -0
  118. package/build/client/_app/immutable/chunks/_HWrJCgx.js +1 -0
  119. package/build/client/_app/immutable/chunks/_HWrJCgx.js.br +0 -0
  120. package/build/client/_app/immutable/chunks/_HWrJCgx.js.gz +0 -0
  121. package/build/client/_app/immutable/chunks/{CRTtd6by.js → qPgPowuc.js} +1 -1
  122. package/build/client/_app/immutable/chunks/qPgPowuc.js.br +0 -0
  123. package/build/client/_app/immutable/chunks/qPgPowuc.js.gz +0 -0
  124. package/build/client/_app/immutable/chunks/ri5tqg4N.js +1 -0
  125. package/build/client/_app/immutable/chunks/ri5tqg4N.js.br +0 -0
  126. package/build/client/_app/immutable/chunks/ri5tqg4N.js.gz +0 -0
  127. package/build/client/_app/immutable/chunks/{Codln_pl.js → sdLD1XcR.js} +1 -1
  128. package/build/client/_app/immutable/chunks/sdLD1XcR.js.br +0 -0
  129. package/build/client/_app/immutable/chunks/sdLD1XcR.js.gz +0 -0
  130. package/build/client/_app/immutable/chunks/t1v2-usS.js +4 -0
  131. package/build/client/_app/immutable/chunks/t1v2-usS.js.br +0 -0
  132. package/build/client/_app/immutable/chunks/t1v2-usS.js.gz +0 -0
  133. package/build/client/_app/immutable/chunks/tLFXBP7P.js +2 -0
  134. package/build/client/_app/immutable/chunks/tLFXBP7P.js.br +0 -0
  135. package/build/client/_app/immutable/chunks/tLFXBP7P.js.gz +0 -0
  136. package/build/client/_app/immutable/entry/app.jP0Pyfdy.js +2 -0
  137. package/build/client/_app/immutable/entry/app.jP0Pyfdy.js.br +0 -0
  138. package/build/client/_app/immutable/entry/app.jP0Pyfdy.js.gz +0 -0
  139. package/build/client/_app/immutable/entry/start.KD1JZMOT.js +1 -0
  140. package/build/client/_app/immutable/entry/start.KD1JZMOT.js.br +2 -0
  141. package/build/client/_app/immutable/entry/start.KD1JZMOT.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/0.ByrdmeSo.js +3 -0
  143. package/build/client/_app/immutable/nodes/0.ByrdmeSo.js.br +0 -0
  144. package/build/client/_app/immutable/nodes/0.ByrdmeSo.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/1.VLeq38lN.js +1 -0
  146. package/build/client/_app/immutable/nodes/1.VLeq38lN.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/1.VLeq38lN.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/10.BHSGZYEC.js +1 -0
  149. package/build/client/_app/immutable/nodes/10.BHSGZYEC.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/10.BHSGZYEC.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/11.CZ_7M4AF.js +1 -0
  152. package/build/client/_app/immutable/nodes/11.CZ_7M4AF.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/11.CZ_7M4AF.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/12.DRr2l3NZ.js +1 -0
  155. package/build/client/_app/immutable/nodes/12.DRr2l3NZ.js.br +2 -0
  156. package/build/client/_app/immutable/nodes/12.DRr2l3NZ.js.gz +0 -0
  157. package/build/client/_app/immutable/nodes/13.DetV1tDO.js +1 -0
  158. package/build/client/_app/immutable/nodes/13.DetV1tDO.js.br +0 -0
  159. package/build/client/_app/immutable/nodes/13.DetV1tDO.js.gz +0 -0
  160. package/build/client/_app/immutable/nodes/14.I-eiMWQu.js +11 -0
  161. package/build/client/_app/immutable/nodes/14.I-eiMWQu.js.br +0 -0
  162. package/build/client/_app/immutable/nodes/14.I-eiMWQu.js.gz +0 -0
  163. package/build/client/_app/immutable/nodes/2.DX9U9zLg.js +35 -0
  164. package/build/client/_app/immutable/nodes/2.DX9U9zLg.js.br +0 -0
  165. package/build/client/_app/immutable/nodes/2.DX9U9zLg.js.gz +0 -0
  166. package/build/client/_app/immutable/nodes/3.Bh8il5iy.js +1 -0
  167. package/build/client/_app/immutable/nodes/3.Bh8il5iy.js.br +0 -0
  168. package/build/client/_app/immutable/nodes/3.Bh8il5iy.js.gz +0 -0
  169. package/build/client/_app/immutable/nodes/{3.C-B1sGi_.js → 4.CtzHYc6x.js} +1 -1
  170. package/build/client/_app/immutable/nodes/4.CtzHYc6x.js.br +0 -0
  171. package/build/client/_app/immutable/nodes/4.CtzHYc6x.js.gz +0 -0
  172. package/build/client/_app/immutable/nodes/5.B4dlomkV.js +1 -0
  173. package/build/client/_app/immutable/nodes/5.B4dlomkV.js.br +0 -0
  174. package/build/client/_app/immutable/nodes/5.B4dlomkV.js.gz +0 -0
  175. package/build/client/_app/immutable/nodes/6.CPYhLc46.js +1 -0
  176. package/build/client/_app/immutable/nodes/6.CPYhLc46.js.br +4 -0
  177. package/build/client/_app/immutable/nodes/6.CPYhLc46.js.gz +0 -0
  178. package/build/client/_app/immutable/nodes/7.CBPrYfFp.js +2 -0
  179. package/build/client/_app/immutable/nodes/7.CBPrYfFp.js.br +0 -0
  180. package/build/client/_app/immutable/nodes/7.CBPrYfFp.js.gz +0 -0
  181. package/build/client/_app/immutable/nodes/8.4NTWYv4c.js +6 -0
  182. package/build/client/_app/immutable/nodes/8.4NTWYv4c.js.br +0 -0
  183. package/build/client/_app/immutable/nodes/8.4NTWYv4c.js.gz +0 -0
  184. package/build/client/_app/immutable/nodes/9.BVI-eEdV.js +1 -0
  185. package/build/client/_app/immutable/nodes/9.BVI-eEdV.js.br +0 -0
  186. package/build/client/_app/immutable/nodes/9.BVI-eEdV.js.gz +0 -0
  187. package/build/client/_app/immutable/workers/css.worker-BRIrhzkG.js +84 -0
  188. package/build/client/_app/immutable/workers/css.worker-BRIrhzkG.js.br +0 -0
  189. package/build/client/_app/immutable/workers/css.worker-BRIrhzkG.js.gz +0 -0
  190. package/build/client/_app/immutable/workers/editor.worker-DX6ApQqM.js +12 -0
  191. package/build/client/_app/immutable/workers/editor.worker-DX6ApQqM.js.br +0 -0
  192. package/build/client/_app/immutable/workers/editor.worker-DX6ApQqM.js.gz +0 -0
  193. package/build/client/_app/immutable/workers/html.worker-CBI4EQBP.js +461 -0
  194. package/build/client/_app/immutable/workers/html.worker-CBI4EQBP.js.br +0 -0
  195. package/build/client/_app/immutable/workers/html.worker-CBI4EQBP.js.gz +0 -0
  196. package/build/client/_app/immutable/workers/json.worker-CIZWV9vN.js +49 -0
  197. package/build/client/_app/immutable/workers/json.worker-CIZWV9vN.js.br +0 -0
  198. package/build/client/_app/immutable/workers/json.worker-CIZWV9vN.js.gz +0 -0
  199. package/build/client/_app/immutable/workers/ts.worker-Ds4I2Msu.js +51334 -0
  200. package/build/client/_app/immutable/workers/ts.worker-Ds4I2Msu.js.br +0 -0
  201. package/build/client/_app/immutable/workers/ts.worker-Ds4I2Msu.js.gz +0 -0
  202. package/build/client/_app/version.json +1 -1
  203. package/build/client/_app/version.json.br +0 -0
  204. package/build/client/_app/version.json.gz +0 -0
  205. package/build/server/chunks/0-CjpeDbMt.js +9 -0
  206. package/build/server/chunks/{0-BjExyGhw.js.map → 0-CjpeDbMt.js.map} +1 -1
  207. package/build/server/chunks/1-M0YzuUQM.js +9 -0
  208. package/build/server/chunks/{1-BwvZ1byr.js.map → 1-M0YzuUQM.js.map} +1 -1
  209. package/build/server/chunks/{7-soEaW5k5.js → 10-C7WLHR92.js} +5 -5
  210. package/build/server/chunks/10-C7WLHR92.js.map +1 -0
  211. package/build/server/chunks/11-CPYwUx-7.js +21 -0
  212. package/build/server/chunks/11-CPYwUx-7.js.map +1 -0
  213. package/build/server/chunks/12-C5OSs5Op.js +20 -0
  214. package/build/server/chunks/12-C5OSs5Op.js.map +1 -0
  215. package/build/server/chunks/13-BQ9R_Ex-.js +9 -0
  216. package/build/server/chunks/13-BQ9R_Ex-.js.map +1 -0
  217. package/build/server/chunks/14-BFsI6u_W.js +9 -0
  218. package/build/server/chunks/14-BFsI6u_W.js.map +1 -0
  219. package/build/server/chunks/2-Cjh0UTU6.js +9 -0
  220. package/build/server/chunks/2-Cjh0UTU6.js.map +1 -0
  221. package/build/server/chunks/3-VrGFs76T.js +9 -0
  222. package/build/server/chunks/3-VrGFs76T.js.map +1 -0
  223. package/build/server/chunks/4-CSgrzh2F.js +9 -0
  224. package/build/server/chunks/4-CSgrzh2F.js.map +1 -0
  225. package/build/server/chunks/5-zKehYil3.js +9 -0
  226. package/build/server/chunks/5-zKehYil3.js.map +1 -0
  227. package/build/server/chunks/6-uS_X9B0s.js +21 -0
  228. package/build/server/chunks/6-uS_X9B0s.js.map +1 -0
  229. package/build/server/chunks/7-DewREBAN.js +9 -0
  230. package/build/server/chunks/7-DewREBAN.js.map +1 -0
  231. package/build/server/chunks/8-Dk3ms3jm.js +9 -0
  232. package/build/server/chunks/8-Dk3ms3jm.js.map +1 -0
  233. package/build/server/chunks/9-W6XYayeK.js +25 -0
  234. package/build/server/chunks/9-W6XYayeK.js.map +1 -0
  235. package/build/server/chunks/{AgentSidebar-C4H-7WxT.js → AgentSidebar-BB_yQ9s0.js} +4 -4
  236. package/build/server/chunks/AgentSidebar-BB_yQ9s0.js.map +1 -0
  237. package/build/server/chunks/{Button-D3mqAVvu.js → Button-Cd4Yzpdy.js} +4 -4
  238. package/build/server/chunks/Button-Cd4Yzpdy.js.map +1 -0
  239. package/build/server/chunks/{ChatStepTrace-dfzN1KEN.js → ChatStepTrace-cq26gF4B.js} +229 -14
  240. package/build/server/chunks/ChatStepTrace-cq26gF4B.js.map +1 -0
  241. package/build/server/chunks/ContextEditor-CfjBPLpI.js +67 -0
  242. package/build/server/chunks/ContextEditor-CfjBPLpI.js.map +1 -0
  243. package/build/server/chunks/{Icon-D0R0X6Hr.js → Icon-BgknHaZs.js} +2 -2
  244. package/build/server/chunks/{Icon-D0R0X6Hr.js.map → Icon-BgknHaZs.js.map} +1 -1
  245. package/build/server/chunks/{Input-C_H479QL.js → Input-BJW36iKz.js} +2 -2
  246. package/build/server/chunks/{Input-C_H479QL.js.map → Input-BJW36iKz.js.map} +1 -1
  247. package/build/server/chunks/{Modal-NTInCBwo.js → Modal-D4tx0Bdo.js} +3 -3
  248. package/build/server/chunks/Modal-D4tx0Bdo.js.map +1 -0
  249. package/build/server/chunks/{Tab-DAuTmew0.js → Tab-DheAG-QC.js} +3 -3
  250. package/build/server/chunks/Tab-DheAG-QC.js.map +1 -0
  251. package/build/server/chunks/{_layout.svelte-DFDvSokt.js → _layout.svelte-BL8XnK1E.js} +23 -28
  252. package/build/server/chunks/_layout.svelte-BL8XnK1E.js.map +1 -0
  253. package/build/server/chunks/_layout.svelte-DHgaGTP_.js +844 -0
  254. package/build/server/chunks/_layout.svelte-DHgaGTP_.js.map +1 -0
  255. package/build/server/chunks/{_layout.svelte-CrT993Da.js → _layout.svelte-Svi5xbzP.js} +1 -14
  256. package/build/server/chunks/_layout.svelte-Svi5xbzP.js.map +1 -0
  257. package/build/server/chunks/{_page.svelte-B3Lu_xzt.js → _page.svelte-39hvC6-Q.js} +4 -4
  258. package/build/server/chunks/{_page.svelte-B3Lu_xzt.js.map → _page.svelte-39hvC6-Q.js.map} +1 -1
  259. package/build/server/chunks/{_page.svelte-5O44TlMG.js → _page.svelte-BpnUXzfh.js} +40 -25
  260. package/build/server/chunks/_page.svelte-BpnUXzfh.js.map +1 -0
  261. package/build/server/chunks/{_page.svelte-N6xQwQzn.js → _page.svelte-C1YaC_Qg.js} +498 -496
  262. package/build/server/chunks/_page.svelte-C1YaC_Qg.js.map +1 -0
  263. package/build/server/chunks/{_page.svelte-D9kg5-lo.js → _page.svelte-CbqAsz26.js} +3 -3
  264. package/build/server/chunks/_page.svelte-CbqAsz26.js.map +1 -0
  265. package/build/server/chunks/{_page.svelte-ClesenAz.js → _page.svelte-CmsDxzfh.js} +19 -27
  266. package/build/server/chunks/_page.svelte-CmsDxzfh.js.map +1 -0
  267. package/build/server/chunks/{_page.svelte-DimeWJh5.js → _page.svelte-DCP-PSh0.js} +293 -433
  268. package/build/server/chunks/_page.svelte-DCP-PSh0.js.map +1 -0
  269. package/build/server/chunks/edit-workspace-context-OTOIRCI0.js +13 -0
  270. package/build/server/chunks/edit-workspace-context-OTOIRCI0.js.map +1 -0
  271. package/build/server/chunks/hooks-BJphIAi-.js +8 -0
  272. package/build/server/chunks/hooks-BJphIAi-.js.map +1 -0
  273. package/build/server/chunks/{Tab.svelte_svelte_type_style_lang-Bmdqxv-M.js → index-server-CefdgakO.js} +2 -2
  274. package/build/server/chunks/index-server-CefdgakO.js.map +1 -0
  275. package/build/server/chunks/{index2-CHZ7ZFLZ.js → index2-BuOY2QE4.js} +2 -2
  276. package/build/server/chunks/{index2-CHZ7ZFLZ.js.map → index2-BuOY2QE4.js.map} +1 -1
  277. package/build/server/chunks/log-content.svelte-B3ZvaoLs.js +20 -0
  278. package/build/server/chunks/log-content.svelte-B3ZvaoLs.js.map +1 -0
  279. package/build/server/index.js +3 -2
  280. package/build/server/index.js.map +1 -1
  281. package/build/server/manifest.js +51 -18
  282. package/build/server/manifest.js.map +1 -1
  283. package/package.json +3 -1
  284. package/src/backend/lib/decode-html-entities.spec.ts +29 -0
  285. package/src/backend/lib/decode-html-entities.ts +25 -0
  286. package/src/backend/roleplay/router.ts +31 -0
  287. package/src/backend/tests/academy.ts +353 -115
  288. package/src/backend/tests/analyze.ts +357 -0
  289. package/src/backend/tests/data.ts +48 -12
  290. package/src/backend/tests/emulate-agents.ts +39 -4
  291. package/src/backend/tests/prompt-issues.ts +204 -0
  292. package/src/backend/tests/router.ts +51 -4
  293. package/build/client/_app/immutable/assets/0.D_OBtTqU.css +0 -1
  294. package/build/client/_app/immutable/assets/0.D_OBtTqU.css.br +0 -0
  295. package/build/client/_app/immutable/assets/0.D_OBtTqU.css.gz +0 -0
  296. package/build/client/_app/immutable/assets/4.sP9PzBp7.css +0 -1
  297. package/build/client/_app/immutable/assets/4.sP9PzBp7.css.br +0 -0
  298. package/build/client/_app/immutable/assets/4.sP9PzBp7.css.gz +0 -0
  299. package/build/client/_app/immutable/assets/6.C4C8vBUW.css +0 -1
  300. package/build/client/_app/immutable/assets/6.C4C8vBUW.css.br +0 -0
  301. package/build/client/_app/immutable/assets/6.C4C8vBUW.css.gz +0 -0
  302. package/build/client/_app/immutable/assets/Tab.BxaGw9IG.css.br +0 -0
  303. package/build/client/_app/immutable/assets/Tab.BxaGw9IG.css.gz +0 -0
  304. package/build/client/_app/immutable/chunks/4PztAao_.js.br +0 -0
  305. package/build/client/_app/immutable/chunks/4PztAao_.js.gz +0 -0
  306. package/build/client/_app/immutable/chunks/B2gGEZTS.js +0 -1
  307. package/build/client/_app/immutable/chunks/B2gGEZTS.js.br +0 -2
  308. package/build/client/_app/immutable/chunks/B2gGEZTS.js.gz +0 -0
  309. package/build/client/_app/immutable/chunks/BFOPpRqC.js +0 -8
  310. package/build/client/_app/immutable/chunks/BFOPpRqC.js.br +0 -0
  311. package/build/client/_app/immutable/chunks/BFOPpRqC.js.gz +0 -0
  312. package/build/client/_app/immutable/chunks/BOQMymse.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/BOQMymse.js.gz +0 -0
  314. package/build/client/_app/immutable/chunks/Bd7SZbXQ.js.br +0 -0
  315. package/build/client/_app/immutable/chunks/Bd7SZbXQ.js.gz +0 -0
  316. package/build/client/_app/immutable/chunks/Bf1oCG9-.js.br +0 -0
  317. package/build/client/_app/immutable/chunks/Bf1oCG9-.js.gz +0 -0
  318. package/build/client/_app/immutable/chunks/BgaIh2D4.js +0 -1
  319. package/build/client/_app/immutable/chunks/BgaIh2D4.js.br +0 -0
  320. package/build/client/_app/immutable/chunks/BgaIh2D4.js.gz +0 -0
  321. package/build/client/_app/immutable/chunks/BrDK8TTs.js +0 -2
  322. package/build/client/_app/immutable/chunks/BrDK8TTs.js.br +0 -0
  323. package/build/client/_app/immutable/chunks/BrDK8TTs.js.gz +0 -0
  324. package/build/client/_app/immutable/chunks/BsKQRAyX.js +0 -1
  325. package/build/client/_app/immutable/chunks/BsKQRAyX.js.br +0 -0
  326. package/build/client/_app/immutable/chunks/BsKQRAyX.js.gz +0 -0
  327. package/build/client/_app/immutable/chunks/Bw2f0Pmg.js.br +0 -0
  328. package/build/client/_app/immutable/chunks/Bw2f0Pmg.js.gz +0 -0
  329. package/build/client/_app/immutable/chunks/C-dTPkQy.js +0 -1
  330. package/build/client/_app/immutable/chunks/C-dTPkQy.js.br +0 -0
  331. package/build/client/_app/immutable/chunks/C-dTPkQy.js.gz +0 -0
  332. package/build/client/_app/immutable/chunks/C769zFCl.js.br +0 -0
  333. package/build/client/_app/immutable/chunks/C769zFCl.js.gz +0 -0
  334. package/build/client/_app/immutable/chunks/CInh9KnU.js +0 -1
  335. package/build/client/_app/immutable/chunks/CInh9KnU.js.br +0 -2
  336. package/build/client/_app/immutable/chunks/CInh9KnU.js.gz +0 -0
  337. package/build/client/_app/immutable/chunks/CRTtd6by.js.br +0 -0
  338. package/build/client/_app/immutable/chunks/CRTtd6by.js.gz +0 -0
  339. package/build/client/_app/immutable/chunks/CRlLKhPr.js.br +0 -0
  340. package/build/client/_app/immutable/chunks/CRlLKhPr.js.gz +0 -0
  341. package/build/client/_app/immutable/chunks/CUfDVPpW.js +0 -1
  342. package/build/client/_app/immutable/chunks/CUfDVPpW.js.br +0 -0
  343. package/build/client/_app/immutable/chunks/CUfDVPpW.js.gz +0 -0
  344. package/build/client/_app/immutable/chunks/CZJlygAJ.js.br +0 -0
  345. package/build/client/_app/immutable/chunks/CZJlygAJ.js.gz +0 -0
  346. package/build/client/_app/immutable/chunks/CfKHaDCm.js.br +0 -0
  347. package/build/client/_app/immutable/chunks/CfKHaDCm.js.gz +0 -0
  348. package/build/client/_app/immutable/chunks/Codln_pl.js.br +0 -0
  349. package/build/client/_app/immutable/chunks/Codln_pl.js.gz +0 -0
  350. package/build/client/_app/immutable/chunks/Culo9hD6.js.br +0 -0
  351. package/build/client/_app/immutable/chunks/Culo9hD6.js.gz +0 -0
  352. package/build/client/_app/immutable/chunks/Cx_xzGPa.js.br +0 -0
  353. package/build/client/_app/immutable/chunks/Cx_xzGPa.js.gz +0 -0
  354. package/build/client/_app/immutable/chunks/D5fGPlBk.js.br +0 -0
  355. package/build/client/_app/immutable/chunks/D5fGPlBk.js.gz +0 -0
  356. package/build/client/_app/immutable/chunks/D8e5qIiS.js +0 -33
  357. package/build/client/_app/immutable/chunks/D8e5qIiS.js.br +0 -0
  358. package/build/client/_app/immutable/chunks/D8e5qIiS.js.gz +0 -0
  359. package/build/client/_app/immutable/chunks/D9h7-Y-f.js +0 -1
  360. package/build/client/_app/immutable/chunks/D9h7-Y-f.js.br +0 -0
  361. package/build/client/_app/immutable/chunks/D9h7-Y-f.js.gz +0 -0
  362. package/build/client/_app/immutable/chunks/DAfsp-82.js.br +0 -0
  363. package/build/client/_app/immutable/chunks/DAfsp-82.js.gz +0 -0
  364. package/build/client/_app/immutable/chunks/DJ_lsF0V.js.br +0 -0
  365. package/build/client/_app/immutable/chunks/DJ_lsF0V.js.gz +0 -0
  366. package/build/client/_app/immutable/chunks/DaRvw8c-.js.br +0 -0
  367. package/build/client/_app/immutable/chunks/DaRvw8c-.js.gz +0 -0
  368. package/build/client/_app/immutable/chunks/Dxv8gtYg.js +0 -1
  369. package/build/client/_app/immutable/chunks/Dxv8gtYg.js.br +0 -0
  370. package/build/client/_app/immutable/chunks/Dxv8gtYg.js.gz +0 -0
  371. package/build/client/_app/immutable/chunks/FawE95CY.js +0 -1
  372. package/build/client/_app/immutable/chunks/FawE95CY.js.br +0 -0
  373. package/build/client/_app/immutable/chunks/FawE95CY.js.gz +0 -0
  374. package/build/client/_app/immutable/chunks/HBgR5qMR.js +0 -3
  375. package/build/client/_app/immutable/chunks/HBgR5qMR.js.br +0 -0
  376. package/build/client/_app/immutable/chunks/HBgR5qMR.js.gz +0 -0
  377. package/build/client/_app/immutable/chunks/I-mny6CH.js +0 -1
  378. package/build/client/_app/immutable/chunks/I-mny6CH.js.br +0 -0
  379. package/build/client/_app/immutable/chunks/I-mny6CH.js.gz +0 -0
  380. package/build/client/_app/immutable/chunks/WkRHaFaq.js +0 -4
  381. package/build/client/_app/immutable/chunks/WkRHaFaq.js.br +0 -0
  382. package/build/client/_app/immutable/chunks/WkRHaFaq.js.gz +0 -0
  383. package/build/client/_app/immutable/chunks/aeuWzujc.js +0 -1
  384. package/build/client/_app/immutable/chunks/aeuWzujc.js.br +0 -2
  385. package/build/client/_app/immutable/chunks/aeuWzujc.js.gz +0 -0
  386. package/build/client/_app/immutable/chunks/qXu78w_4.js.br +0 -0
  387. package/build/client/_app/immutable/chunks/qXu78w_4.js.gz +0 -0
  388. package/build/client/_app/immutable/chunks/yOR3vtRx.js.br +0 -0
  389. package/build/client/_app/immutable/chunks/yOR3vtRx.js.gz +0 -0
  390. package/build/client/_app/immutable/entry/app.Bo6pBzFD.js +0 -2
  391. package/build/client/_app/immutable/entry/app.Bo6pBzFD.js.br +0 -0
  392. package/build/client/_app/immutable/entry/app.Bo6pBzFD.js.gz +0 -0
  393. package/build/client/_app/immutable/entry/start.DvDUBfDS.js +0 -1
  394. package/build/client/_app/immutable/entry/start.DvDUBfDS.js.br +0 -0
  395. package/build/client/_app/immutable/entry/start.DvDUBfDS.js.gz +0 -0
  396. package/build/client/_app/immutable/nodes/0.zcQ-QMcb.js +0 -3
  397. package/build/client/_app/immutable/nodes/0.zcQ-QMcb.js.br +0 -0
  398. package/build/client/_app/immutable/nodes/0.zcQ-QMcb.js.gz +0 -0
  399. package/build/client/_app/immutable/nodes/1.BX821K1d.js +0 -1
  400. package/build/client/_app/immutable/nodes/1.BX821K1d.js.br +0 -0
  401. package/build/client/_app/immutable/nodes/1.BX821K1d.js.gz +0 -0
  402. package/build/client/_app/immutable/nodes/2.4IvNSQft.js +0 -1
  403. package/build/client/_app/immutable/nodes/2.4IvNSQft.js.br +0 -0
  404. package/build/client/_app/immutable/nodes/2.4IvNSQft.js.gz +0 -0
  405. package/build/client/_app/immutable/nodes/3.C-B1sGi_.js.br +0 -0
  406. package/build/client/_app/immutable/nodes/3.C-B1sGi_.js.gz +0 -0
  407. package/build/client/_app/immutable/nodes/4.C6l0CiJD.js +0 -35
  408. package/build/client/_app/immutable/nodes/4.C6l0CiJD.js.br +0 -0
  409. package/build/client/_app/immutable/nodes/4.C6l0CiJD.js.gz +0 -0
  410. package/build/client/_app/immutable/nodes/5.RovJmk8R.js +0 -1
  411. package/build/client/_app/immutable/nodes/5.RovJmk8R.js.br +0 -0
  412. package/build/client/_app/immutable/nodes/5.RovJmk8R.js.gz +0 -0
  413. package/build/client/_app/immutable/nodes/6.vrBdmqTE.js +0 -5
  414. package/build/client/_app/immutable/nodes/6.vrBdmqTE.js.br +0 -0
  415. package/build/client/_app/immutable/nodes/6.vrBdmqTE.js.gz +0 -0
  416. package/build/client/_app/immutable/nodes/7.BLozkJCY.js +0 -1
  417. package/build/client/_app/immutable/nodes/7.BLozkJCY.js.br +0 -0
  418. package/build/client/_app/immutable/nodes/7.BLozkJCY.js.gz +0 -0
  419. package/build/client/_app/immutable/nodes/8.BeHRzquW.js +0 -1
  420. package/build/client/_app/immutable/nodes/8.BeHRzquW.js.br +0 -0
  421. package/build/client/_app/immutable/nodes/8.BeHRzquW.js.gz +0 -0
  422. package/build/client/_app/immutable/nodes/9.tDZ3CQE6.js +0 -11
  423. package/build/client/_app/immutable/nodes/9.tDZ3CQE6.js.br +0 -0
  424. package/build/client/_app/immutable/nodes/9.tDZ3CQE6.js.gz +0 -0
  425. package/build/server/chunks/0-BjExyGhw.js +0 -9
  426. package/build/server/chunks/1-BwvZ1byr.js +0 -9
  427. package/build/server/chunks/2-DLWqn5zk.js +0 -9
  428. package/build/server/chunks/2-DLWqn5zk.js.map +0 -1
  429. package/build/server/chunks/3-Be4gJSbJ.js +0 -9
  430. package/build/server/chunks/3-Be4gJSbJ.js.map +0 -1
  431. package/build/server/chunks/4-BQq4QAnS.js +0 -9
  432. package/build/server/chunks/4-BQq4QAnS.js.map +0 -1
  433. package/build/server/chunks/5-DM_iNIlm.js +0 -9
  434. package/build/server/chunks/5-DM_iNIlm.js.map +0 -1
  435. package/build/server/chunks/6-eSsWX3tm.js +0 -33
  436. package/build/server/chunks/6-eSsWX3tm.js.map +0 -1
  437. package/build/server/chunks/7-soEaW5k5.js.map +0 -1
  438. package/build/server/chunks/8-CA7E96iK.js +0 -9
  439. package/build/server/chunks/8-CA7E96iK.js.map +0 -1
  440. package/build/server/chunks/9-D2SkYOhZ.js +0 -9
  441. package/build/server/chunks/9-D2SkYOhZ.js.map +0 -1
  442. package/build/server/chunks/AgentSidebar-C4H-7WxT.js.map +0 -1
  443. package/build/server/chunks/Button-D3mqAVvu.js.map +0 -1
  444. package/build/server/chunks/ChatStepTrace-dfzN1KEN.js.map +0 -1
  445. package/build/server/chunks/ContextEditor-ySHjHE1w.js +0 -45
  446. package/build/server/chunks/ContextEditor-ySHjHE1w.js.map +0 -1
  447. package/build/server/chunks/Modal-NTInCBwo.js.map +0 -1
  448. package/build/server/chunks/Tab-DAuTmew0.js.map +0 -1
  449. package/build/server/chunks/Tab.svelte_svelte_type_style_lang-Bmdqxv-M.js.map +0 -1
  450. package/build/server/chunks/_layout.svelte-CrT993Da.js.map +0 -1
  451. package/build/server/chunks/_layout.svelte-DFDvSokt.js.map +0 -1
  452. package/build/server/chunks/_page.svelte-5O44TlMG.js.map +0 -1
  453. package/build/server/chunks/_page.svelte-ClesenAz.js.map +0 -1
  454. package/build/server/chunks/_page.svelte-D9kg5-lo.js.map +0 -1
  455. package/build/server/chunks/_page.svelte-DimeWJh5.js.map +0 -1
  456. package/build/server/chunks/_page.svelte-N6xQwQzn.js.map +0 -1
  457. /package/build/client/_app/immutable/assets/{9.C5apk4jm.css → 14.C5apk4jm.css} +0 -0
  458. /package/build/client/_app/immutable/assets/{9.C5apk4jm.css.br → 14.C5apk4jm.css.br} +0 -0
  459. /package/build/client/_app/immutable/assets/{9.C5apk4jm.css.gz → 14.C5apk4jm.css.gz} +0 -0
  460. /package/build/client/_app/immutable/assets/{2.Dzh7_Q8n.css → 3.Dzh7_Q8n.css} +0 -0
  461. /package/build/client/_app/immutable/assets/{2.Dzh7_Q8n.css.br → 3.Dzh7_Q8n.css.br} +0 -0
  462. /package/build/client/_app/immutable/assets/{2.Dzh7_Q8n.css.gz → 3.Dzh7_Q8n.css.gz} +0 -0
  463. /package/build/client/_app/immutable/assets/{3.CZVw96CJ.css → 4.CZVw96CJ.css} +0 -0
  464. /package/build/client/_app/immutable/assets/{3.CZVw96CJ.css.br → 4.CZVw96CJ.css.br} +0 -0
  465. /package/build/client/_app/immutable/assets/{3.CZVw96CJ.css.gz → 4.CZVw96CJ.css.gz} +0 -0
  466. /package/build/client/_app/immutable/assets/{Modal.tn0RQdqM.css → bosun-theme.tn0RQdqM.css} +0 -0
  467. /package/build/client/_app/immutable/assets/{Modal.tn0RQdqM.css.br → bosun-theme.tn0RQdqM.css.br} +0 -0
  468. /package/build/client/_app/immutable/assets/{Modal.tn0RQdqM.css.gz → bosun-theme.tn0RQdqM.css.gz} +0 -0
@@ -1,83 +1,22 @@
1
- import { h as head, a as attr_class, e as ensure_array_like, s as stringify, b as attr, d as clsx, f as bind_props, c as attr_style } from './index2-CHZ7ZFLZ.js';
2
- import { p as page, g as goto } from './index3-DeV2OWZf.js';
3
- import { B as Button } from './Button-D3mqAVvu.js';
4
- import { I as Icon } from './Icon-D0R0X6Hr.js';
5
1
  import { X as escape_html } from './context-zH5kvtGY.js';
6
- import { o as onDestroy } from './Tab.svelte_svelte_type_style_lang-Bmdqxv-M.js';
7
- import { C as ContextEditor, P as Panel } from './ContextEditor-ySHjHE1w.js';
8
- import { C as ChatApiCallTrace, a as ChatConversationalTrace, b as ChatStepTrace } from './ChatStepTrace-dfzN1KEN.js';
9
- import { I as Input } from './Input-C_H479QL.js';
10
- import './trpc-client-Bucti7HD.js';
11
- import 'nunjucks';
12
- import { A as AgentSidebar } from './AgentSidebar-C4H-7WxT.js';
13
- import { T as Tabs, a as Tab } from './Tab-DAuTmew0.js';
14
- import { p as public_env } from './shared-server-DaWdgxVh.js';
15
- import { g as getAgentsContext } from './agents-context-BrlIlkOW.js';
16
- import './state.svelte-DtOGaiYC.js';
2
+ import { B as Button } from './Button-Cd4Yzpdy.js';
3
+ import { C as CopyTracesDropdown, D as Dropdown, a as ChatApiCallTrace, b as ChatConversationalTrace, c as ChatStepTrace } from './ChatStepTrace-cq26gF4B.js';
4
+ import { b as attr_class, s as stringify, e as ensure_array_like, a as attr, g as clsx, c as attr_style } from './index2-BuOY2QE4.js';
5
+ import { I as Icon } from './Icon-BgknHaZs.js';
6
+ import { t as trpc } from './trpc-client-Bucti7HD.js';
7
+ import { g as getEditWorkspaceContext, P as Panel } from './edit-workspace-context-OTOIRCI0.js';
8
+ import { b as chatContent, i as isApiCallTrace, d as isStepTrace, e as isConversationalTrace, l as logContent } from './log-content.svelte-B3ZvaoLs.js';
9
+ import { I as Input } from './Input-BJW36iKz.js';
17
10
  import './utils-KcIDVAAe.js';
18
- import './index-DxaLoiKh.js';
19
- import 'js-yaml';
11
+ import './state.svelte-DtOGaiYC.js';
20
12
  import '@trpc/client';
21
13
 
22
- /* empty css */
23
- function Popper($$renderer, $$props) {
24
- $$renderer.component(($$renderer2) => {
25
- let {
26
- referenceEl = null,
27
- placement = "bottom-start",
28
- offset = [0, 2],
29
- flip = true,
30
- preventOverflow = true,
31
- children
32
- } = $$props;
33
- function update() {
34
- }
35
- $$renderer2.push(`<div class="popper svelte-1dn0eza">`);
36
- children($$renderer2);
37
- $$renderer2.push(`<!----></div>`);
38
- bind_props($$props, { update });
39
- });
40
- }
41
- function Dropdown($$renderer, $$props) {
42
- $$renderer.component(($$renderer2) => {
43
- let {
44
- open = false,
45
- anchorEl = null,
46
- id = "",
47
- placement = "bottom-start",
48
- offset = [0, 2],
49
- flip = true,
50
- preventOverflow = true
51
- } = $$props;
52
- if (open && anchorEl) {
53
- $$renderer2.push("<!--[-->");
54
- {
55
- let children = function($$renderer3) {
56
- $$renderer3.push(`<div${attr("id", id)} class="popover svelte-1fd3ybn" role="dialog" aria-modal="true"><div${attr("id", id)} class="popover svelte-1fd3ybn" role="dialog" aria-modal="true"${attr_style(`min-width:${anchorEl?.offsetWidth ?? 0}px`)}>`);
57
- children($$renderer3);
58
- $$renderer3.push(`<!----></div></div>`);
59
- };
60
- Popper($$renderer2, {
61
- referenceEl: anchorEl,
62
- placement,
63
- offset,
64
- flip,
65
- preventOverflow,
66
- children,
67
- $$slots: { default: true }
68
- });
69
- }
70
- } else {
71
- $$renderer2.push("<!--[!-->");
72
- }
73
- $$renderer2.push(`<!--]-->`);
74
- });
75
- }
76
14
  function History($$renderer, $$props) {
77
15
  $$renderer.component(($$renderer2) => {
78
16
  let {
79
17
  agentStates,
80
18
  currentState,
19
+ onSelectState,
81
20
  class: className = ""
82
21
  } = $$props;
83
22
  let isOpen = false;
@@ -85,6 +24,24 @@ function History($$renderer, $$props) {
85
24
  function toggleDropdown() {
86
25
  isOpen = !isOpen;
87
26
  }
27
+ function handleSelectState(stateId) {
28
+ onSelectState(stateId);
29
+ isOpen = false;
30
+ }
31
+ function getUserMessage(state) {
32
+ const raw = state.userMessage;
33
+ if (raw == null) return "No message";
34
+ const msg = (typeof raw === "string" ? raw : String(raw)).trim();
35
+ return msg || "No message";
36
+ }
37
+ function truncateMessage(message, maxLength = 50, ellipsis = "…") {
38
+ if (!message) return "";
39
+ if (message.length <= maxLength) return message;
40
+ const slice = message.slice(0, maxLength + 1);
41
+ const lastSpace = Math.max(slice.lastIndexOf(" "), slice.lastIndexOf(" "), slice.lastIndexOf(" "), slice.lastIndexOf("\n"), slice.lastIndexOf("\r"));
42
+ const cut = lastSpace > 0 ? slice.slice(0, lastSpace) : message.slice(0, maxLength);
43
+ return cut.trimEnd() + ellipsis;
44
+ }
88
45
  function handleKeyDown(event) {
89
46
  if (event.key === "ArrowDown" && !isOpen) {
90
47
  isOpen = true;
@@ -127,12 +84,42 @@ function History($$renderer, $$props) {
127
84
  });
128
85
  $$renderer3.push(`<!----> `);
129
86
  {
87
+ let children = function($$renderer4) {
88
+ $$renderer4.push(`<div class="mt-1 max-h-96 w-60 overflow-y-auto rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox"><!--[-->`);
89
+ const each_array = ensure_array_like(agentStates.slice().reverse());
90
+ for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
91
+ let state = each_array[$$index];
92
+ Button($$renderer4, {
93
+ variant: "ghost",
94
+ size: "small",
95
+ role: "option",
96
+ "aria-selected": state.id === currentState,
97
+ onclick: () => handleSelectState(state.id),
98
+ class: "group w-full rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl last:border-b-0 hover:bg-rc-gray-700 focus:bg-rc-gray-400",
99
+ children: ($$renderer5) => {
100
+ $$renderer5.push(`<div class="flex items-start gap-2"><div class="min-w-0"><div class="p-1 text-sm text-rc-gray-300 group-hover:text-rc-gray-200">${escape_html(state.name)}</div> `);
101
+ if (state.id === currentState) {
102
+ $$renderer5.push("<!--[-->");
103
+ $$renderer5.push(`<div class="p-1 text-base font-semibold text-rc-green-200">${escape_html(truncateMessage(getUserMessage(state)))}</div>`);
104
+ } else {
105
+ $$renderer5.push("<!--[!-->");
106
+ $$renderer5.push(`<div class="p-1 text-base font-semibold text-rc-gray-100">${escape_html(truncateMessage(getUserMessage(state)))}</div>`);
107
+ }
108
+ $$renderer5.push(`<!--]--></div></div>`);
109
+ },
110
+ $$slots: { default: true }
111
+ });
112
+ }
113
+ $$renderer4.push(`<!--]--></div>`);
114
+ };
130
115
  Dropdown($$renderer3, {
131
116
  id: "history-dropdown",
132
117
  open: isOpen,
118
+ onClose: () => isOpen = false,
133
119
  anchorEl,
134
120
  placement: "bottom-start",
135
- offset: [0, 1]
121
+ offset: [0, 1],
122
+ children
136
123
  });
137
124
  }
138
125
  $$renderer3.push(`<!----></div>`);
@@ -145,23 +132,6 @@ function History($$renderer, $$props) {
145
132
  $$renderer2.subsume($$inner_renderer);
146
133
  });
147
134
  }
148
- let chatContent = [];
149
- function isStepTrace(entry) {
150
- return !isApiCallTrace(entry) && !isConversationalTrace(entry);
151
- }
152
- function isApiCallTrace(entry) {
153
- return "operationName" in entry && "method" in entry && "path" in entry;
154
- }
155
- function isConversationalTrace(entry) {
156
- return "eventName" in entry && "role" in entry && "medium" in entry && "content" in entry;
157
- }
158
- function clearChatContent() {
159
- chatContent.length = 0;
160
- }
161
- let logContent = [];
162
- function clearLogs() {
163
- logContent.length = 0;
164
- }
165
135
  function Dialog($$renderer, $$props) {
166
136
  $$renderer.component(($$renderer2) => {
167
137
  let dialog;
@@ -309,7 +279,13 @@ function buildSegments(text, ranges) {
309
279
  }
310
280
  function PlaygroundChat($$renderer, $$props) {
311
281
  $$renderer.component(($$renderer2) => {
312
- let { class: className, context, agentId } = $$props;
282
+ let {
283
+ class: className,
284
+ context,
285
+ agentId,
286
+ analyzeDisabled = false,
287
+ onAnalyzeTrace
288
+ } = $$props;
313
289
  let text = "";
314
290
  let imageUrlInputValue = "";
315
291
  let inputEl = null;
@@ -439,40 +415,70 @@ function PlaygroundChat($$renderer, $$props) {
439
415
  return false;
440
416
  });
441
417
  })();
442
- let copiedTraces = false;
443
- let copiedLogs = false;
444
- let tracesTimer = null;
445
- let logsTimer = null;
446
- async function copyAllTraces() {
447
- try {
448
- await navigator.clipboard.writeText(JSON.stringify(chatContent, null, 2));
449
- copiedTraces = true;
450
- if (tracesTimer) clearTimeout(tracesTimer);
451
- tracesTimer = window.setTimeout(
452
- () => {
453
- copiedTraces = false;
454
- tracesTimer = null;
455
- },
456
- 2e3
457
- );
458
- } catch (e) {
459
- console.error("Failed to copy traces", e);
418
+ function findMainStepTraceForConversationTrace(idx) {
419
+ for (let i = idx - 1; i >= 0; i--) {
420
+ const entry = chatContent[i];
421
+ if (!isStepTrace(entry)) continue;
422
+ if (entry.name !== "main" && entry.name !== "mainReply") continue;
423
+ if (typeof entry.renderedPrompt !== "string") continue;
424
+ if (!entry.renderedPrompt.trim()) continue;
425
+ return entry;
426
+ }
427
+ for (let i = idx + 1; i < chatContent.length; i++) {
428
+ const entry = chatContent[i];
429
+ if (!isStepTrace(entry)) continue;
430
+ if (entry.name !== "main" && entry.name !== "mainReply") continue;
431
+ if (typeof entry.renderedPrompt !== "string") continue;
432
+ if (!entry.renderedPrompt.trim()) continue;
433
+ return entry;
460
434
  }
435
+ return null;
436
+ }
437
+ function findNearestStringifiedConversation(idx) {
438
+ for (let i = idx - 1; i >= 0; i--) {
439
+ const entry = chatContent[i];
440
+ if (!isStepTrace(entry)) continue;
441
+ if (typeof entry.stringifiedConversation !== "string") continue;
442
+ const sc = entry.stringifiedConversation.trim();
443
+ if (!sc) continue;
444
+ return sc;
445
+ }
446
+ return null;
461
447
  }
462
- async function copyAllLogs() {
448
+ function buildAnalyzeTraceInput(trace) {
449
+ const agent = (agentId ?? "").trim();
450
+ if (!agent) throw new Error("Agent id is not available; cannot analyze");
451
+ const idx = chatContent.indexOf(trace);
452
+ if (idx === -1) throw new Error("Could not locate trace in chat history");
453
+ const stepTrace = findMainStepTraceForConversationTrace(idx);
454
+ if (!stepTrace) {
455
+ throw new Error("Could not find main step trace for this message");
456
+ }
457
+ const renderedPrompt = typeof stepTrace.renderedPrompt === "string" ? stepTrace.renderedPrompt : "";
458
+ if (!renderedPrompt.trim()) throw new Error("Main step rendered prompt is missing");
459
+ const stringifiedConversation = typeof stepTrace.stringifiedConversation === "string" && stepTrace.stringifiedConversation.trim() ? stepTrace.stringifiedConversation : findNearestStringifiedConversation(idx) ?? "";
460
+ if (!stringifiedConversation.trim()) throw new Error("Main step conversation is missing");
461
+ const response = String(trace?.content ?? "");
462
+ if (!response.trim()) throw new Error("Message content is missing");
463
+ const model = typeof stepTrace?.model === "string" ? String(stepTrace.model) : void 0;
464
+ const createdAtRaw = trace?.createdAt;
465
+ const createdAt = typeof createdAtRaw === "number" && Number.isFinite(createdAtRaw) ? createdAtRaw : void 0;
466
+ return {
467
+ trace,
468
+ stepTrace,
469
+ renderedPrompt,
470
+ stringifiedConversation,
471
+ response,
472
+ model,
473
+ createdAt
474
+ };
475
+ }
476
+ function handleAnalyzeTrace(trace) {
477
+ if (!onAnalyzeTrace) return;
463
478
  try {
464
- await navigator.clipboard.writeText(JSON.stringify(logContent, null, 2));
465
- copiedLogs = true;
466
- if (logsTimer) clearTimeout(logsTimer);
467
- logsTimer = window.setTimeout(
468
- () => {
469
- copiedLogs = false;
470
- logsTimer = null;
471
- },
472
- 2e3
473
- );
479
+ onAnalyzeTrace(buildAnalyzeTraceInput(trace));
474
480
  } catch (e) {
475
- console.error("Failed to copy logs", e);
481
+ console.error(e);
476
482
  }
477
483
  }
478
484
  let $$settled = true;
@@ -512,37 +518,9 @@ function PlaygroundChat($$renderer, $$props) {
512
518
  });
513
519
  $$renderer3.push(`<!----> `);
514
520
  Panel($$renderer3, {
515
- class: `relative flex flex-col p-2 pb-16 ${stringify(className)}`,
521
+ class: `relative flex min-h-0 flex-col p-2 pb-16 ${stringify(className)}`,
516
522
  children: ($$renderer4) => {
517
- $$renderer4.push(`<div class="mb-2 flex flex-wrap items-center justify-end gap-2">`);
518
- Button($$renderer4, {
519
- variant: "secondary",
520
- size: "small",
521
- disabled: !chatContent.length,
522
- onclick: (e) => {
523
- e.stopPropagation();
524
- copyAllTraces();
525
- },
526
- children: ($$renderer5) => {
527
- $$renderer5.push(`<!---->${escape_html(copiedTraces ? "Copied all traces" : "Copy all traces")}`);
528
- },
529
- $$slots: { default: true }
530
- });
531
- $$renderer4.push(`<!----> `);
532
- Button($$renderer4, {
533
- variant: "secondary",
534
- size: "small",
535
- disabled: !logContent.length,
536
- onclick: (e) => {
537
- e.stopPropagation();
538
- copyAllLogs();
539
- },
540
- children: ($$renderer5) => {
541
- $$renderer5.push(`<!---->${escape_html(copiedLogs ? "Copied all logs" : "Copy all logs")}`);
542
- },
543
- $$slots: { default: true }
544
- });
545
- $$renderer4.push(`<!----></div> <div class="rc-scroll flex-1 overflow-y-auto pr-1"><!--[-->`);
523
+ $$renderer4.push(`<div class="rc-scroll min-h-0 flex-1 overflow-y-auto pr-1"><!--[-->`);
546
524
  const each_array = ensure_array_like(renderableEntries);
547
525
  for (let idx = 0, $$length = each_array.length; idx < $$length; idx++) {
548
526
  let entry = each_array[idx];
@@ -563,7 +541,13 @@ function PlaygroundChat($$renderer, $$props) {
563
541
  $$renderer4.push("<!--[!-->");
564
542
  if (isConversationalTrace(entry)) {
565
543
  $$renderer4.push("<!--[-->");
566
- ChatConversationalTrace($$renderer4, { trace: entry, context, agentId });
544
+ ChatConversationalTrace($$renderer4, {
545
+ trace: entry,
546
+ context,
547
+ agentId,
548
+ analyzeDisabled,
549
+ onAnalyze: onAnalyzeTrace ? handleAnalyzeTrace : void 0
550
+ });
567
551
  } else {
568
552
  $$renderer4.push("<!--[!-->");
569
553
  if (isStepTrace(entry)) {
@@ -663,304 +647,180 @@ function PlaygroundChat($$renderer, $$props) {
663
647
  $$renderer2.subsume($$inner_renderer);
664
648
  });
665
649
  }
666
- class WebSocketClient {
667
- constructor(wsUrl) {
668
- this.wsUrl = wsUrl;
669
- }
670
- ws = null;
671
- openHandler = null;
672
- closeHandler = null;
673
- errorHandler = null;
674
- messageHandler = null;
675
- retries = 0;
676
- maxRetries = 5;
677
- retryDelay = 500;
678
- retryTimeout = null;
679
- isOpen = false;
680
- isDestroyed = false;
681
- init = () => {
682
- if (this.isOpen) {
683
- return;
684
- }
685
- console.log(`Initializing websocket connection with [${this.wsUrl}]`);
686
- try {
687
- this.ws = new WebSocket(this.wsUrl);
688
- } catch (e) {
689
- this.retryConnect();
690
- return;
691
- }
692
- this.isDestroyed = false;
693
- this.ws.onmessage = (event) => {
694
- const message = JSON.parse(event.data);
695
- if (message.channel === "error") {
696
- this.errorHandler?.(message.message);
697
- } else if (message.channel === "app-events") {
698
- console.log("MSG:", message.event.type);
699
- } else if (message.channel === "log") {
700
- console.log(`MSG: log [${message.message.severity}]`, message.message.message);
701
- } else if (message.channel === "api-call-trace") {
702
- console.log(
703
- "MSG: api-call-trace",
704
- message.trace?.operationName,
705
- message.trace?.method,
706
- message.trace?.path
707
- );
708
- } else if (message.channel === "conversational-trace") {
709
- console.log(
710
- "MSG: conversational-trace",
711
- message.trace?.eventName,
712
- message.trace?.role,
713
- message.trace?.medium
714
- );
715
- }
716
- this.messageHandler?.(message);
717
- };
718
- this.ws.onerror = (error) => {
719
- console.error("Websocket error:", error);
720
- this.ws?.close();
721
- this.retryConnect();
722
- };
723
- this.ws.onclose = () => {
724
- console.log("Websocket closed");
725
- this.isOpen = false;
726
- this.retryConnect();
727
- };
728
- this.ws.onopen = () => {
729
- this.retries = 0;
730
- this.isOpen = true;
731
- if (this.retryTimeout) {
732
- clearTimeout(this.retryTimeout);
733
- }
734
- this.openHandler?.();
735
- console.log("Websocket connected");
736
- };
737
- };
738
- destroy = () => {
739
- this.isDestroyed = true;
740
- this.ws?.close();
741
- };
742
- onOpen = (handler) => {
743
- this.openHandler = handler;
744
- if (this.isOpen) {
745
- handler();
746
- }
747
- };
748
- onClose = (handler) => {
749
- this.closeHandler = handler;
750
- if (!this.isOpen) {
751
- handler();
752
- }
753
- };
754
- onError = (handler) => {
755
- this.errorHandler = handler;
756
- };
757
- onMessage = (handler) => {
758
- this.messageHandler = handler;
759
- };
760
- sendMessage = (message) => {
761
- if (message.channel === "app-events") ;
762
- this.ws?.send(JSON.stringify(message));
763
- };
764
- retryConnect = () => {
765
- if (this.isDestroyed) return;
766
- if (!this.isOpen && this.retries < this.maxRetries) {
767
- this.retries++;
768
- this.init();
769
- this.retryTimeout = setTimeout(this.retryConnect, this.retryDelay);
770
- } else {
771
- this.errorHandler?.("WebSocket Error, please reload the browser");
772
- this.closeHandler?.();
773
- }
774
- };
775
- }
776
- const wsHost = public_env.PUBLIC_WS_HOST ?? "ws://localhost:8080";
777
- const wsClient = new WebSocketClient(wsHost);
778
650
  function _page($$renderer, $$props) {
779
651
  $$renderer.component(($$renderer2) => {
780
- const { onAgentSelect, onError } = getAgentsContext();
781
- let agents = [];
782
- let steps = [];
783
- let currentStep = null;
784
- let agentStates = [];
785
- let context = null;
786
- let currentState = null;
787
- function getQueryParam(key, params) {
788
- if (params) return params.get(key);
789
- if (typeof window === "undefined") return null;
790
- const url = new URL(window.location.href);
791
- return url.searchParams.get(key);
792
- }
793
- const agentIdFromUrl = getQueryParam("agent", page.url.searchParams);
794
- onDestroy(() => {
795
- wsClient.destroy();
796
- });
797
- function sendEvent(event) {
798
- wsClient.sendMessage({ channel: "app-events", event });
652
+ const { state: workspace, actions } = getEditWorkspaceContext();
653
+ let analyzeRunning = false;
654
+ let copiedLogs = false;
655
+ let logsTimer = null;
656
+ function agentLabel(agentId) {
657
+ const label = (agentId || "").trim();
658
+ if (!label) return "Agent";
659
+ return label.split("/").at(-1) ?? label;
799
660
  }
800
- function handleContextChanged(newContext) {
801
- console.log("Context changed", newContext);
802
- sendEvent({ type: "context-updated", context: newContext });
661
+ function formatHHmmss(ms) {
662
+ if (typeof ms !== "number" || !Number.isFinite(ms)) return null;
663
+ const d = new Date(ms);
664
+ if (Number.isNaN(d.getTime())) return null;
665
+ const hh = String(d.getHours()).padStart(2, "0");
666
+ const mm = String(d.getMinutes()).padStart(2, "0");
667
+ const ss = String(d.getSeconds()).padStart(2, "0");
668
+ return `${hh}:${mm}:${ss}`;
669
+ }
670
+ async function handleAnalyzeTrace(input) {
671
+ if (analyzeRunning) return;
672
+ analyzeRunning = true;
673
+ const requestId = actions.openPopover("analyze");
674
+ const time = formatHHmmss(input.createdAt);
675
+ const titleSuffix = time ? ` • ${time}` : "";
676
+ const title = `Analysis — ${agentLabel(workspace.agentId)}${titleSuffix}`;
677
+ try {
678
+ const res = await trpc.agents.analyzeTrace.mutate({
679
+ agentId: workspace.agentId,
680
+ traceId: input.trace?.traceId,
681
+ eventName: input.trace.eventName,
682
+ createdAt: input.createdAt,
683
+ model: input.model,
684
+ renderedPrompt: input.renderedPrompt,
685
+ stringifiedConversation: input.stringifiedConversation,
686
+ response: input.response,
687
+ stepTrace: input.stepTrace
688
+ });
689
+ if (workspace.edit.popover?.requestId !== requestId) return;
690
+ actions.setHighlightQuotes(res.quotes);
691
+ let raw = null;
692
+ try {
693
+ raw = JSON.stringify(res.raw, null, 2);
694
+ } catch {
695
+ raw = null;
696
+ }
697
+ actions.setPopoverReady(requestId, { title, quotes: res.quotes, raw });
698
+ } catch (e) {
699
+ console.error(e);
700
+ const message = typeof e?.message === "string" ? e.message : (() => {
701
+ try {
702
+ return JSON.stringify(e);
703
+ } catch {
704
+ return String(e);
705
+ }
706
+ })();
707
+ actions.setPopoverError(requestId, message || "Failed to analyze this response", { raw: message });
708
+ } finally {
709
+ analyzeRunning = false;
710
+ }
803
711
  }
804
- function selectAgent(agent) {
805
- onAgentSelect(agent);
712
+ function tracesForCopy(includePrompts) {
713
+ if (includePrompts) return chatContent;
714
+ return chatContent.map((entry) => {
715
+ if (!isStepTrace(entry)) return entry;
716
+ const {
717
+ receivedPrompt: _receivedPrompt,
718
+ renderedPrompt: _renderedPrompt,
719
+ ...rest
720
+ } = entry;
721
+ return rest;
722
+ });
806
723
  }
807
- function handleNew() {
808
- if (!agentIdFromUrl) {
809
- return;
724
+ async function copyLogs() {
725
+ try {
726
+ await navigator.clipboard.writeText(JSON.stringify(logContent, null, 2));
727
+ copiedLogs = true;
728
+ if (logsTimer) clearTimeout(logsTimer);
729
+ logsTimer = window.setTimeout(
730
+ () => {
731
+ copiedLogs = false;
732
+ logsTimer = null;
733
+ },
734
+ 2e3
735
+ );
736
+ } catch (e) {
737
+ console.error("Failed to copy logs", e);
810
738
  }
811
- clearChatContent();
812
- clearLogs();
813
- currentState = null;
814
- sendEvent({
815
- type: "select-agent",
816
- agent: agentIdFromUrl,
817
- state: currentState
739
+ }
740
+ function handleNewChat() {
741
+ actions.closePopover();
742
+ actions.closeContextPopover();
743
+ actions.selectState(null);
744
+ }
745
+ $$renderer2.push(`<div class="relative flex h-full min-h-0 flex-col"><div class="flex flex-none flex-nowrap items-center justify-end gap-2 border-b border-rc-gray-700 p-2">`);
746
+ if (workspace.agentStates.length > 1) {
747
+ $$renderer2.push("<!--[-->");
748
+ History($$renderer2, {
749
+ agentStates: workspace.agentStates,
750
+ currentState: workspace.currentState,
751
+ onSelectState: (id) => actions.selectState(id)
818
752
  });
753
+ } else {
754
+ $$renderer2.push("<!--[!-->");
819
755
  }
820
- const panels = {
821
- sidebar: {
822
- width: "flex-[1] min-w-[140px] max-w-xs shrink-0"
756
+ $$renderer2.push(`<!--]--> `);
757
+ Button($$renderer2, {
758
+ variant: "secondary",
759
+ size: "small",
760
+ disabled: !workspace.agentId,
761
+ "aria-expanded": workspace.contextPopoverOpen,
762
+ "aria-haspopup": "dialog",
763
+ onclick: actions.toggleContextPopover,
764
+ children: ($$renderer3) => {
765
+ $$renderer3.push(`<!---->Edit context`);
823
766
  },
824
- promptColumn: {
825
- width: "hidden",
826
- visibility: "hidden"
767
+ $$slots: { default: true }
768
+ });
769
+ $$renderer2.push(`<!----> `);
770
+ CopyTracesDropdown($$renderer2, {
771
+ disabled: !chatContent.length,
772
+ getWithPromptsText: () => JSON.stringify(tracesForCopy(true), null, 2),
773
+ getWithoutPromptsText: () => JSON.stringify(tracesForCopy(false), null, 2)
774
+ });
775
+ $$renderer2.push(`<!----> `);
776
+ Button($$renderer2, {
777
+ variant: "secondary",
778
+ size: "small",
779
+ disabled: !logContent.length,
780
+ onclick: (e) => {
781
+ e.stopPropagation();
782
+ copyLogs();
827
783
  },
828
- chat: {
829
- width: "flex-[4] min-w-0"
784
+ children: ($$renderer3) => {
785
+ $$renderer3.push(`<!---->${escape_html(copiedLogs ? "Copied logs" : "Copy logs")}`);
830
786
  },
831
- contextEditor: { width: "flex-[2] min-w-0 max-w-xl" }
832
- };
833
- function handleTabChange({ value }) {
834
- if (value === "roleplay") return;
835
- const agentId = getQueryParam("agent", page.url.searchParams);
836
- getQueryParam("step");
837
- if (value === "tests") {
838
- if (agentId) {
839
- goto();
840
- } else {
841
- goto();
842
- }
843
- return;
844
- }
845
- if (value === "traces") {
846
- goto();
847
- return;
848
- }
849
- goto();
850
- }
851
- let $$settled = true;
852
- let $$inner_renderer;
853
- function $$render_inner($$renderer3) {
854
- head($$renderer3, ($$renderer4) => {
855
- $$renderer4.title(($$renderer5) => {
856
- $$renderer5.push(`<title>Bosun: Playground</title>`);
857
- });
858
- });
859
- $$renderer3.push(`<div class="flex h-screen">`);
860
- AgentSidebar($$renderer3, {
861
- className: "flex-none w-16",
862
- agents,
863
- currentAgent: agentIdFromUrl || "",
864
- onSelect: selectAgent
865
- });
866
- $$renderer3.push(`<!----> <div class="flex h-full min-w-0 flex-1 flex-col bg-rc-gray-980 pb-3 pr-4 pt-2"><nav class="mb-3 flex h-14 flex-none items-center justify-between bg-rc-gray-980"><div class="flex items-center">`);
867
- Tabs($$renderer3, {
868
- value: page.url.pathname.replace(/^\//, ""),
869
- ariaLabel: "Top tabs",
870
- onChange: handleTabChange,
871
- children: ($$renderer4) => {
872
- Tab($$renderer4, {
873
- value: "roleplay",
874
- class: "px-3",
875
- children: ($$renderer5) => {
876
- $$renderer5.push(`<!---->Roleplay`);
877
- }
878
- });
879
- $$renderer4.push(`<!----> `);
880
- Tab($$renderer4, {
881
- value: "tests",
882
- class: "px-3",
883
- children: ($$renderer5) => {
884
- $$renderer5.push(`<!---->Tests`);
885
- }
886
- });
887
- $$renderer4.push(`<!----> `);
888
- Tab($$renderer4, {
889
- value: "traces",
890
- class: "px-3",
891
- children: ($$renderer5) => {
892
- $$renderer5.push(`<!---->Traces`);
893
- }
894
- });
895
- $$renderer4.push(`<!---->`);
896
- },
897
- $$slots: { default: true }
898
- });
899
- $$renderer3.push(`<!----></div> <div class="ml-auto flex items-baseline gap-2">`);
900
- if (agentStates.length > 1) {
901
- $$renderer3.push("<!--[-->");
902
- $$renderer3.push(`<span class="mr-2 font-semibold leading-5 text-rc-gray-500 hover:text-rc-gray-200">Chat version</span> `);
903
- History($$renderer3, {
904
- agentStates,
905
- currentState,
906
- class: "mr-4 self-baseline"
907
- });
908
- $$renderer3.push(`<!---->`);
787
+ $$slots: { default: true }
788
+ });
789
+ $$renderer2.push(`<!----> `);
790
+ Button($$renderer2, {
791
+ onclick: handleNewChat,
792
+ class: "self-baseline text-sm font-bold",
793
+ children: ($$renderer3) => {
794
+ $$renderer3.push(`<!---->New chat`);
795
+ },
796
+ $$slots: { default: true }
797
+ });
798
+ $$renderer2.push(`<!----></div> <div class="min-h-0 flex-1">`);
799
+ if (!workspace.wsLoaded) {
800
+ $$renderer2.push("<!--[-->");
801
+ $$renderer2.push(`<div class="flex h-full items-center justify-center text-sm text-rc-gray-300">Connecting…</div>`);
802
+ } else {
803
+ $$renderer2.push("<!--[!-->");
804
+ if (!workspace.agentId) {
805
+ $$renderer2.push("<!--[-->");
806
+ $$renderer2.push(`<div class="flex h-full items-center justify-center text-sm text-rc-gray-300">Select an agent to start chatting</div>`);
909
807
  } else {
910
- $$renderer3.push("<!--[!-->");
911
- }
912
- $$renderer3.push(`<!--]--> `);
913
- Button($$renderer3, {
914
- onclick: handleNew,
915
- class: "self-baseline text-lg font-bold",
916
- children: ($$renderer4) => {
917
- $$renderer4.push(`<!---->New chat`);
918
- },
919
- $$slots: { default: true }
920
- });
921
- $$renderer3.push(`<!----></div></nav> <div class="flex-1 overflow-hidden"><div${attr_class(`${stringify("hidden")} h-full w-full gap-x-2 focus:outline-none focus:ring-0`)}><div${attr_class(`flex h-full ${stringify(panels.sidebar.width)} flex-col text-rc-gray-200`)}><!--[-->`);
922
- const each_array = ensure_array_like(steps);
923
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
924
- let step = each_array[$$index];
925
- $$renderer3.push(`<button${attr_class(`my-1 ml-2 mr-0 rounded-lg px-3 py-2 text-left hover:bg-rc-gray-700 ${stringify(step.name === currentStep?.name ? "bg-rc-gray-600" : "bg-transparent")}`)}><span>${escape_html(step.name)}</span></button>`);
926
- }
927
- $$renderer3.push(`<!--]--></div> <div${attr_class(`${stringify(panels.promptColumn.visibility)} ${stringify(panels.promptColumn.width)} flex h-full flex-col`)}>`);
928
- {
929
- $$renderer3.push("<!--[!-->");
930
- }
931
- $$renderer3.push(`<!--]--> `);
932
- {
933
- $$renderer3.push("<!--[!-->");
934
- }
935
- $$renderer3.push(`<!--]--></div> `);
936
- if (agentIdFromUrl) {
937
- $$renderer3.push("<!--[-->");
938
- PlaygroundChat($$renderer3, {
939
- class: `h-full min-w-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl ${stringify(panels.chat.width)}`,
940
- context,
941
- agentId: agentIdFromUrl
808
+ $$renderer2.push("<!--[!-->");
809
+ $$renderer2.push(`<div class="h-full min-h-0 p-2">`);
810
+ PlaygroundChat($$renderer2, {
811
+ class: "h-full min-w-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl",
812
+ context: workspace.context,
813
+ agentId: workspace.agentId,
814
+ analyzeDisabled: analyzeRunning,
815
+ onAnalyzeTrace: handleAnalyzeTrace
942
816
  });
943
- $$renderer3.push(`<!----> `);
944
- ContextEditor($$renderer3, {
945
- class: `h-full ${stringify(panels.contextEditor.width)} min-h-0 min-w-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl focus:outline-none focus:ring-0`,
946
- context,
947
- onContextChanged: handleContextChanged
948
- });
949
- $$renderer3.push(`<!---->`);
950
- } else {
951
- $$renderer3.push("<!--[!-->");
952
- $$renderer3.push(`<div${attr_class(`h-full ${stringify(panels.chat.width)} flex items-start justify-center pt-40 text-rc-gray-200`)}>Select an agent on the left panel to start chatting</div>`);
817
+ $$renderer2.push(`<!----></div>`);
953
818
  }
954
- $$renderer3.push(`<!--]--></div> <div${attr_class(`${stringify("flex")} h-full items-center justify-center`)}><div class="text-rc-gray-100">Connecting...</div></div></div></div></div>`);
819
+ $$renderer2.push(`<!--]-->`);
955
820
  }
956
- do {
957
- $$settled = true;
958
- $$inner_renderer = $$renderer2.copy();
959
- $$render_inner($$inner_renderer);
960
- } while (!$$settled);
961
- $$renderer2.subsume($$inner_renderer);
821
+ $$renderer2.push(`<!--]--></div></div>`);
962
822
  });
963
823
  }
964
824
 
965
825
  export { _page as default };
966
- //# sourceMappingURL=_page.svelte-DimeWJh5.js.map
826
+ //# sourceMappingURL=_page.svelte-DCP-PSh0.js.map