@recombine-ai/bosun 0.16.2-cloud-1 → 0.16.2-cloud-2

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 (359) hide show
  1. package/build/_app/immutable/assets/0.CDmx-FLf.css +1 -0
  2. package/build/_app/immutable/assets/0.CDmx-FLf.css.br +0 -0
  3. package/build/_app/immutable/assets/0.CDmx-FLf.css.gz +0 -0
  4. package/build/_app/immutable/assets/{2.Dc5_ru9X.css → 2.C-ckNQUz.css} +1 -1
  5. package/build/_app/immutable/assets/2.C-ckNQUz.css.br +0 -0
  6. package/build/_app/immutable/assets/2.C-ckNQUz.css.gz +0 -0
  7. package/build/_app/immutable/chunks/12bfCwgn.js +2 -0
  8. package/build/_app/immutable/chunks/12bfCwgn.js.br +0 -0
  9. package/build/_app/immutable/chunks/12bfCwgn.js.gz +0 -0
  10. package/build/_app/immutable/chunks/{C-Qcqb3K.js → 6OCsQ6r7.js} +2 -2
  11. package/build/_app/immutable/chunks/6OCsQ6r7.js.br +0 -0
  12. package/build/_app/immutable/chunks/6OCsQ6r7.js.gz +0 -0
  13. package/build/_app/immutable/chunks/AvXp07rr.js +1 -0
  14. package/build/_app/immutable/chunks/AvXp07rr.js.br +2 -0
  15. package/build/_app/immutable/chunks/AvXp07rr.js.gz +0 -0
  16. package/build/_app/immutable/chunks/{OYhYuonT.js → B434V0h8.js} +1 -1
  17. package/build/_app/immutable/chunks/B434V0h8.js.br +0 -0
  18. package/build/_app/immutable/chunks/B434V0h8.js.gz +0 -0
  19. package/build/_app/immutable/chunks/BJqZY8o2.js +1 -0
  20. package/build/_app/immutable/chunks/BJqZY8o2.js.br +0 -0
  21. package/build/_app/immutable/chunks/BJqZY8o2.js.gz +0 -0
  22. package/build/_app/immutable/chunks/{DHvIizf-.js → BKQbRSey.js} +1 -1
  23. package/build/_app/immutable/chunks/BKQbRSey.js.br +0 -0
  24. package/build/_app/immutable/chunks/BKQbRSey.js.gz +0 -0
  25. package/build/_app/immutable/chunks/BOHUKGg_.js +1 -0
  26. package/build/_app/immutable/chunks/BOHUKGg_.js.br +0 -0
  27. package/build/_app/immutable/chunks/BOHUKGg_.js.gz +0 -0
  28. package/build/_app/immutable/chunks/BP0Xadq7.js +5 -0
  29. package/build/_app/immutable/chunks/BP0Xadq7.js.br +0 -0
  30. package/build/_app/immutable/chunks/BP0Xadq7.js.gz +0 -0
  31. package/build/_app/immutable/chunks/BT98u4gR.js +35 -0
  32. package/build/_app/immutable/chunks/BT98u4gR.js.br +0 -0
  33. package/build/_app/immutable/chunks/BT98u4gR.js.gz +0 -0
  34. package/build/_app/immutable/chunks/{DjqcYvLr.js → Bc1oIj2c.js} +1 -1
  35. package/build/_app/immutable/chunks/Bc1oIj2c.js.br +0 -0
  36. package/build/_app/immutable/chunks/Bc1oIj2c.js.gz +0 -0
  37. package/build/_app/immutable/chunks/{CWB6mNDX.js → BiDy9-HP.js} +1 -1
  38. package/build/_app/immutable/chunks/BiDy9-HP.js.br +0 -0
  39. package/build/_app/immutable/chunks/BiDy9-HP.js.gz +0 -0
  40. package/build/_app/immutable/chunks/{BEa3nvFX.js → By9tvIIw.js} +1 -1
  41. package/build/_app/immutable/chunks/By9tvIIw.js.br +0 -0
  42. package/build/_app/immutable/chunks/By9tvIIw.js.gz +0 -0
  43. package/build/_app/immutable/chunks/Byx1piFp.js +3 -0
  44. package/build/_app/immutable/chunks/Byx1piFp.js.br +0 -0
  45. package/build/_app/immutable/chunks/Byx1piFp.js.gz +0 -0
  46. package/build/_app/immutable/chunks/{DSaIAZ57.js → C1TsmEOe.js} +1 -1
  47. package/build/_app/immutable/chunks/C1TsmEOe.js.br +0 -0
  48. package/build/_app/immutable/chunks/C1TsmEOe.js.gz +0 -0
  49. package/build/_app/immutable/chunks/CGV7fMmX.js +1 -0
  50. package/build/_app/immutable/chunks/CGV7fMmX.js.br +0 -0
  51. package/build/_app/immutable/chunks/CGV7fMmX.js.gz +0 -0
  52. package/build/_app/immutable/chunks/CL717zGu.js +2 -0
  53. package/build/_app/immutable/chunks/CL717zGu.js.br +0 -0
  54. package/build/_app/immutable/chunks/CL717zGu.js.gz +0 -0
  55. package/build/_app/immutable/chunks/{DrOC9WNt.js → CPCsWwEy.js} +1 -1
  56. package/build/_app/immutable/chunks/CPCsWwEy.js.br +0 -0
  57. package/build/_app/immutable/chunks/{DrOC9WNt.js.gz → CPCsWwEy.js.gz} +0 -0
  58. package/build/_app/immutable/chunks/{Ds1yKsjr.js → CUZn05nQ.js} +2 -2
  59. package/build/_app/immutable/chunks/CUZn05nQ.js.br +0 -0
  60. package/build/_app/immutable/chunks/{Ds1yKsjr.js.gz → CUZn05nQ.js.gz} +0 -0
  61. package/build/_app/immutable/chunks/{ClP8OL3G.js → CZMMlaMl.js} +1 -1
  62. package/build/_app/immutable/chunks/CZMMlaMl.js.br +0 -0
  63. package/build/_app/immutable/chunks/CZMMlaMl.js.gz +0 -0
  64. package/build/_app/immutable/chunks/{DLL_0B-9.js → C_yvzB4Z.js} +1 -1
  65. package/build/_app/immutable/chunks/C_yvzB4Z.js.br +0 -0
  66. package/build/_app/immutable/chunks/{DLL_0B-9.js.gz → C_yvzB4Z.js.gz} +0 -0
  67. package/build/_app/immutable/chunks/{DC_-4bAG.js → CdnbUlBq.js} +1 -1
  68. package/build/_app/immutable/chunks/CdnbUlBq.js.br +0 -0
  69. package/build/_app/immutable/chunks/CdnbUlBq.js.gz +0 -0
  70. package/build/_app/immutable/chunks/Cf3l6QEG.js +2 -0
  71. package/build/_app/immutable/chunks/Cf3l6QEG.js.br +0 -0
  72. package/build/_app/immutable/chunks/Cf3l6QEG.js.gz +0 -0
  73. package/build/_app/immutable/chunks/CfzHeBbL.js +1 -0
  74. package/build/_app/immutable/chunks/CfzHeBbL.js.br +1 -0
  75. package/build/_app/immutable/chunks/CfzHeBbL.js.gz +0 -0
  76. package/build/_app/immutable/chunks/{BzyUIe1_.js → D1-opoqB.js} +1 -1
  77. package/build/_app/immutable/chunks/D1-opoqB.js.br +0 -0
  78. package/build/_app/immutable/chunks/D1-opoqB.js.gz +0 -0
  79. package/build/_app/immutable/chunks/D3fLfD-Y.js +1 -0
  80. package/build/_app/immutable/chunks/D3fLfD-Y.js.br +0 -0
  81. package/build/_app/immutable/chunks/D3fLfD-Y.js.gz +0 -0
  82. package/build/_app/immutable/chunks/DDZ8GqHh.js +1 -0
  83. package/build/_app/immutable/chunks/DDZ8GqHh.js.br +0 -0
  84. package/build/_app/immutable/chunks/DDZ8GqHh.js.gz +0 -0
  85. package/build/_app/immutable/chunks/{CH4VrfW2.js → DD_fL9ig.js} +1 -1
  86. package/build/_app/immutable/chunks/DD_fL9ig.js.br +0 -0
  87. package/build/_app/immutable/chunks/DD_fL9ig.js.gz +0 -0
  88. package/build/_app/immutable/chunks/{ByU1nS5x.js → DVZC5aEW.js} +1 -1
  89. package/build/_app/immutable/chunks/DVZC5aEW.js.br +0 -0
  90. package/build/_app/immutable/chunks/DVZC5aEW.js.gz +0 -0
  91. package/build/_app/immutable/chunks/D_MTg6YY.js +1 -0
  92. package/build/_app/immutable/chunks/D_MTg6YY.js.br +0 -0
  93. package/build/_app/immutable/chunks/D_MTg6YY.js.gz +0 -0
  94. package/build/_app/immutable/chunks/{C78K0g2i.js → DbZCwjKq.js} +1 -1
  95. package/build/_app/immutable/chunks/DbZCwjKq.js.br +0 -0
  96. package/build/_app/immutable/chunks/DbZCwjKq.js.gz +0 -0
  97. package/build/_app/immutable/chunks/Dc2hpeC4.js +1 -0
  98. package/build/_app/immutable/chunks/Dc2hpeC4.js.br +2 -0
  99. package/build/_app/immutable/chunks/Dc2hpeC4.js.gz +0 -0
  100. package/build/_app/immutable/chunks/{NZcW2kfJ.js → DjxKCxwY.js} +1 -1
  101. package/build/_app/immutable/chunks/DjxKCxwY.js.br +0 -0
  102. package/build/_app/immutable/chunks/DjxKCxwY.js.gz +0 -0
  103. package/build/_app/immutable/chunks/{DeiSJRh0.js → DkJi5BM4.js} +1 -1
  104. package/build/_app/immutable/chunks/DkJi5BM4.js.br +0 -0
  105. package/build/_app/immutable/chunks/DkJi5BM4.js.gz +0 -0
  106. package/build/_app/immutable/chunks/Dne1wF_T.js +1 -0
  107. package/build/_app/immutable/chunks/Dne1wF_T.js.br +0 -0
  108. package/build/_app/immutable/chunks/Dne1wF_T.js.gz +0 -0
  109. package/build/_app/immutable/chunks/{BlwlkbCs.js → Dt1k81ic.js} +1 -1
  110. package/build/_app/immutable/chunks/Dt1k81ic.js.br +0 -0
  111. package/build/_app/immutable/chunks/Dt1k81ic.js.gz +0 -0
  112. package/build/_app/immutable/chunks/{CKf4QksN.js → DugeGFnl.js} +1 -1
  113. package/build/_app/immutable/chunks/DugeGFnl.js.br +0 -0
  114. package/build/_app/immutable/chunks/DugeGFnl.js.gz +0 -0
  115. package/build/_app/immutable/chunks/{D5UNd3Zp.js → MIEISUXS.js} +1 -1
  116. package/build/_app/immutable/chunks/MIEISUXS.js.br +0 -0
  117. package/build/_app/immutable/chunks/MIEISUXS.js.gz +0 -0
  118. package/build/_app/immutable/chunks/{lyi4TUVm.js → Vn-6xHGu.js} +1 -1
  119. package/build/_app/immutable/chunks/Vn-6xHGu.js.br +0 -0
  120. package/build/_app/immutable/chunks/Vn-6xHGu.js.gz +0 -0
  121. package/build/_app/immutable/chunks/{jk4Hz_9M.js → krcqaNpB.js} +1 -1
  122. package/build/_app/immutable/chunks/krcqaNpB.js.br +0 -0
  123. package/build/_app/immutable/chunks/krcqaNpB.js.gz +0 -0
  124. package/build/_app/immutable/chunks/oarl--hZ.js +1 -0
  125. package/build/_app/immutable/chunks/oarl--hZ.js.br +0 -0
  126. package/build/_app/immutable/chunks/oarl--hZ.js.gz +0 -0
  127. package/build/_app/immutable/chunks/{CfbKmr1m.js → qrpS1hNb.js} +1 -1
  128. package/build/_app/immutable/chunks/qrpS1hNb.js.br +0 -0
  129. package/build/_app/immutable/chunks/qrpS1hNb.js.gz +0 -0
  130. package/build/_app/immutable/entry/app.D_IBy7uS.js +2 -0
  131. package/build/_app/immutable/entry/app.D_IBy7uS.js.br +0 -0
  132. package/build/_app/immutable/entry/app.D_IBy7uS.js.gz +0 -0
  133. package/build/_app/immutable/entry/start.DbNkBLf5.js +1 -0
  134. package/build/_app/immutable/entry/start.DbNkBLf5.js.br +0 -0
  135. package/build/_app/immutable/entry/start.DbNkBLf5.js.gz +0 -0
  136. package/build/_app/immutable/nodes/0.CS5BBLx9.js +3 -0
  137. package/build/_app/immutable/nodes/0.CS5BBLx9.js.br +0 -0
  138. package/build/_app/immutable/nodes/0.CS5BBLx9.js.gz +0 -0
  139. package/build/_app/immutable/nodes/1.Bx_DOFs1.js +1 -0
  140. package/build/_app/immutable/nodes/1.Bx_DOFs1.js.br +1 -0
  141. package/build/_app/immutable/nodes/1.Bx_DOFs1.js.gz +0 -0
  142. package/build/_app/immutable/nodes/14.DSu8i_qz.js +1 -0
  143. package/build/_app/immutable/nodes/14.DSu8i_qz.js.br +0 -0
  144. package/build/_app/immutable/nodes/14.DSu8i_qz.js.gz +0 -0
  145. package/build/_app/immutable/nodes/16.Cev9Grgc.js +3 -0
  146. package/build/_app/immutable/nodes/16.Cev9Grgc.js.br +0 -0
  147. package/build/_app/immutable/nodes/16.Cev9Grgc.js.gz +0 -0
  148. package/build/_app/immutable/nodes/17.C869oOf4.js +10 -0
  149. package/build/_app/immutable/nodes/17.C869oOf4.js.br +0 -0
  150. package/build/_app/immutable/nodes/17.C869oOf4.js.gz +0 -0
  151. package/build/_app/immutable/nodes/2.DdU1kSNu.js +35 -0
  152. package/build/_app/immutable/nodes/2.DdU1kSNu.js.br +0 -0
  153. package/build/_app/immutable/nodes/2.DdU1kSNu.js.gz +0 -0
  154. package/build/_app/immutable/nodes/3.C5QPqWTE.js +1 -0
  155. package/build/_app/immutable/nodes/3.C5QPqWTE.js.br +0 -0
  156. package/build/_app/immutable/nodes/3.C5QPqWTE.js.gz +0 -0
  157. package/build/_app/immutable/nodes/4.CNS3NZ4Z.js +1 -0
  158. package/build/_app/immutable/nodes/4.CNS3NZ4Z.js.br +0 -0
  159. package/build/_app/immutable/nodes/4.CNS3NZ4Z.js.gz +0 -0
  160. package/build/_app/immutable/nodes/5.B1H9pyMk.js +1 -0
  161. package/build/_app/immutable/nodes/5.B1H9pyMk.js.br +0 -0
  162. package/build/_app/immutable/nodes/5.B1H9pyMk.js.gz +0 -0
  163. package/build/_app/immutable/nodes/6.h6Y1Z_zh.js +1 -0
  164. package/build/_app/immutable/nodes/6.h6Y1Z_zh.js.br +0 -0
  165. package/build/_app/immutable/nodes/6.h6Y1Z_zh.js.gz +0 -0
  166. package/build/_app/immutable/nodes/8.BCatMgwB.js +2 -0
  167. package/build/_app/immutable/nodes/8.BCatMgwB.js.br +0 -0
  168. package/build/_app/immutable/nodes/8.BCatMgwB.js.gz +0 -0
  169. package/build/_app/immutable/nodes/9.BUnel48-.js +24 -0
  170. package/build/_app/immutable/nodes/9.BUnel48-.js.br +0 -0
  171. package/build/_app/immutable/nodes/9.BUnel48-.js.gz +0 -0
  172. package/build/_app/immutable/workers/{css.worker-DflDYzxC.js → css.worker-D61Wlo1y.js} +1 -1
  173. package/build/_app/immutable/workers/css.worker-D61Wlo1y.js.br +0 -0
  174. package/build/_app/immutable/workers/{css.worker-DflDYzxC.js.gz → css.worker-D61Wlo1y.js.gz} +0 -0
  175. package/build/_app/immutable/workers/{editor.worker-DbG82rLA.js → editor.worker-BaAK1IVA.js} +1 -1
  176. package/build/_app/immutable/workers/editor.worker-BaAK1IVA.js.br +0 -0
  177. package/build/_app/immutable/workers/{editor.worker-DbG82rLA.js.gz → editor.worker-BaAK1IVA.js.gz} +0 -0
  178. package/build/_app/immutable/workers/{html.worker-Bn6S4v1s.js → html.worker-i4ABlmR0.js} +1 -1
  179. package/build/_app/immutable/workers/html.worker-i4ABlmR0.js.br +0 -0
  180. package/build/_app/immutable/workers/{html.worker-Bn6S4v1s.js.gz → html.worker-i4ABlmR0.js.gz} +0 -0
  181. package/build/_app/immutable/workers/{json.worker-CfS7sFxM.js → json.worker-C-kBQgxp.js} +1 -1
  182. package/build/_app/immutable/workers/json.worker-C-kBQgxp.js.br +0 -0
  183. package/build/_app/immutable/workers/{json.worker-CfS7sFxM.js.gz → json.worker-C-kBQgxp.js.gz} +0 -0
  184. package/build/_app/immutable/workers/{ts.worker-Bqwj6xoy.js → ts.worker-KJ4wGYue.js} +2 -2
  185. package/build/_app/immutable/workers/ts.worker-KJ4wGYue.js.br +0 -0
  186. package/build/_app/immutable/workers/{ts.worker-Bqwj6xoy.js.gz → ts.worker-KJ4wGYue.js.gz} +0 -0
  187. package/build/_app/version.json +1 -1
  188. package/build/_app/version.json.br +0 -0
  189. package/build/_app/version.json.gz +0 -0
  190. package/build/index.html +13 -13
  191. package/build/index.html.br +0 -0
  192. package/build/index.html.gz +0 -0
  193. package/dist/index.js +616 -106
  194. package/dist/index.js.map +4 -4
  195. package/dist/types/backend/roleplay/prompt-edit-proposals.d.ts +13 -1
  196. package/dist/types/backend/roleplay/prompt-file.d.ts +8 -0
  197. package/dist/types/backend/roleplay/router.d.ts +29 -0
  198. package/dist/types/backend/roleplay/suggest-file-edit.d.ts +13 -0
  199. package/dist/types/backend/roleplay/suggest-test-fix.d.ts +29 -0
  200. package/dist/types/backend/server.d.ts +116 -0
  201. package/dist/types/backend/telescope/router.d.ts +23 -0
  202. package/dist/types/backend/tests/academy.d.ts +9 -1
  203. package/dist/types/backend/tests/data.d.ts +13 -1
  204. package/dist/types/backend/tests/router.d.ts +64 -0
  205. package/dist/types/backend/tests/suggest-test-history-edit.d.ts +21 -0
  206. package/dist/types/backend/tests/test-edit-source.d.ts +4 -0
  207. package/dist/types/backend/tests/test-history-edit-proposals.d.ts +24 -0
  208. package/dist/types/lib/api-telescope/types.d.ts +38 -0
  209. package/dist/types/lib/edit/test-ai-edit.d.ts +12 -0
  210. package/dist/types/lib/tests/assertion-types.d.ts +6 -0
  211. package/package.json +1 -1
  212. package/build/_app/immutable/assets/0.CyF-TaEi.css +0 -1
  213. package/build/_app/immutable/assets/0.CyF-TaEi.css.br +0 -0
  214. package/build/_app/immutable/assets/0.CyF-TaEi.css.gz +0 -0
  215. package/build/_app/immutable/assets/2.Dc5_ru9X.css.br +0 -0
  216. package/build/_app/immutable/assets/2.Dc5_ru9X.css.gz +0 -0
  217. package/build/_app/immutable/chunks/0Yl3erOE.js +0 -2
  218. package/build/_app/immutable/chunks/0Yl3erOE.js.br +0 -0
  219. package/build/_app/immutable/chunks/0Yl3erOE.js.gz +0 -0
  220. package/build/_app/immutable/chunks/797NXciN.js +0 -1
  221. package/build/_app/immutable/chunks/797NXciN.js.br +0 -0
  222. package/build/_app/immutable/chunks/797NXciN.js.gz +0 -0
  223. package/build/_app/immutable/chunks/9JriNUvn.js +0 -1
  224. package/build/_app/immutable/chunks/9JriNUvn.js.br +0 -0
  225. package/build/_app/immutable/chunks/9JriNUvn.js.gz +0 -0
  226. package/build/_app/immutable/chunks/BEa3nvFX.js.br +0 -0
  227. package/build/_app/immutable/chunks/BEa3nvFX.js.gz +0 -0
  228. package/build/_app/immutable/chunks/BOL6qRLe.js +0 -3
  229. package/build/_app/immutable/chunks/BOL6qRLe.js.br +0 -0
  230. package/build/_app/immutable/chunks/BOL6qRLe.js.gz +0 -0
  231. package/build/_app/immutable/chunks/BYkIDsVz.js +0 -1
  232. package/build/_app/immutable/chunks/BYkIDsVz.js.br +0 -0
  233. package/build/_app/immutable/chunks/BYkIDsVz.js.gz +0 -0
  234. package/build/_app/immutable/chunks/BlwlkbCs.js.br +0 -0
  235. package/build/_app/immutable/chunks/BlwlkbCs.js.gz +0 -0
  236. package/build/_app/immutable/chunks/ByU1nS5x.js.br +0 -0
  237. package/build/_app/immutable/chunks/ByU1nS5x.js.gz +0 -0
  238. package/build/_app/immutable/chunks/BzyUIe1_.js.br +0 -0
  239. package/build/_app/immutable/chunks/BzyUIe1_.js.gz +0 -0
  240. package/build/_app/immutable/chunks/C-Qcqb3K.js.br +0 -0
  241. package/build/_app/immutable/chunks/C-Qcqb3K.js.gz +0 -0
  242. package/build/_app/immutable/chunks/C-qso1Pb.js +0 -2
  243. package/build/_app/immutable/chunks/C-qso1Pb.js.br +0 -0
  244. package/build/_app/immutable/chunks/C-qso1Pb.js.gz +0 -0
  245. package/build/_app/immutable/chunks/C78K0g2i.js.br +0 -0
  246. package/build/_app/immutable/chunks/C78K0g2i.js.gz +0 -0
  247. package/build/_app/immutable/chunks/C970FsJW.js +0 -1
  248. package/build/_app/immutable/chunks/C970FsJW.js.br +0 -0
  249. package/build/_app/immutable/chunks/C970FsJW.js.gz +0 -0
  250. package/build/_app/immutable/chunks/CBzPmXSf.js +0 -1
  251. package/build/_app/immutable/chunks/CBzPmXSf.js.br +0 -0
  252. package/build/_app/immutable/chunks/CBzPmXSf.js.gz +0 -0
  253. package/build/_app/immutable/chunks/CH4VrfW2.js.br +0 -0
  254. package/build/_app/immutable/chunks/CH4VrfW2.js.gz +0 -0
  255. package/build/_app/immutable/chunks/CKf4QksN.js.br +0 -0
  256. package/build/_app/immutable/chunks/CKf4QksN.js.gz +0 -0
  257. package/build/_app/immutable/chunks/CPnjcwfB.js +0 -1
  258. package/build/_app/immutable/chunks/CPnjcwfB.js.br +0 -0
  259. package/build/_app/immutable/chunks/CPnjcwfB.js.gz +0 -0
  260. package/build/_app/immutable/chunks/CWB6mNDX.js.br +0 -0
  261. package/build/_app/immutable/chunks/CWB6mNDX.js.gz +0 -0
  262. package/build/_app/immutable/chunks/CcZs-N7g.js +0 -6
  263. package/build/_app/immutable/chunks/CcZs-N7g.js.br +0 -0
  264. package/build/_app/immutable/chunks/CcZs-N7g.js.gz +0 -0
  265. package/build/_app/immutable/chunks/CfbKmr1m.js.br +0 -0
  266. package/build/_app/immutable/chunks/CfbKmr1m.js.gz +0 -0
  267. package/build/_app/immutable/chunks/ClP8OL3G.js.br +0 -0
  268. package/build/_app/immutable/chunks/ClP8OL3G.js.gz +0 -0
  269. package/build/_app/immutable/chunks/D5UNd3Zp.js.br +0 -0
  270. package/build/_app/immutable/chunks/D5UNd3Zp.js.gz +0 -0
  271. package/build/_app/immutable/chunks/D6ibSY3A.js +0 -1
  272. package/build/_app/immutable/chunks/D6ibSY3A.js.br +0 -1
  273. package/build/_app/immutable/chunks/D6ibSY3A.js.gz +0 -0
  274. package/build/_app/immutable/chunks/DC_-4bAG.js.br +0 -1
  275. package/build/_app/immutable/chunks/DC_-4bAG.js.gz +0 -0
  276. package/build/_app/immutable/chunks/DHvIizf-.js.br +0 -0
  277. package/build/_app/immutable/chunks/DHvIizf-.js.gz +0 -0
  278. package/build/_app/immutable/chunks/DLL_0B-9.js.br +0 -0
  279. package/build/_app/immutable/chunks/DSaIAZ57.js.br +0 -0
  280. package/build/_app/immutable/chunks/DSaIAZ57.js.gz +0 -0
  281. package/build/_app/immutable/chunks/DeiSJRh0.js.br +0 -0
  282. package/build/_app/immutable/chunks/DeiSJRh0.js.gz +0 -0
  283. package/build/_app/immutable/chunks/DjqcYvLr.js.br +0 -0
  284. package/build/_app/immutable/chunks/DjqcYvLr.js.gz +0 -0
  285. package/build/_app/immutable/chunks/DrOC9WNt.js.br +0 -0
  286. package/build/_app/immutable/chunks/Ds1yKsjr.js.br +0 -0
  287. package/build/_app/immutable/chunks/NZcW2kfJ.js.br +0 -0
  288. package/build/_app/immutable/chunks/NZcW2kfJ.js.gz +0 -0
  289. package/build/_app/immutable/chunks/OPRu0_Dd.js +0 -1
  290. package/build/_app/immutable/chunks/OPRu0_Dd.js.br +0 -2
  291. package/build/_app/immutable/chunks/OPRu0_Dd.js.gz +0 -0
  292. package/build/_app/immutable/chunks/OYhYuonT.js.br +0 -0
  293. package/build/_app/immutable/chunks/OYhYuonT.js.gz +0 -0
  294. package/build/_app/immutable/chunks/VR9lxEL5.js +0 -1
  295. package/build/_app/immutable/chunks/VR9lxEL5.js.br +0 -0
  296. package/build/_app/immutable/chunks/VR9lxEL5.js.gz +0 -0
  297. package/build/_app/immutable/chunks/_lbjRyAo.js +0 -35
  298. package/build/_app/immutable/chunks/_lbjRyAo.js.br +0 -0
  299. package/build/_app/immutable/chunks/_lbjRyAo.js.gz +0 -0
  300. package/build/_app/immutable/chunks/arxGXJ5w.js +0 -1
  301. package/build/_app/immutable/chunks/arxGXJ5w.js.br +0 -2
  302. package/build/_app/immutable/chunks/arxGXJ5w.js.gz +0 -0
  303. package/build/_app/immutable/chunks/cVn7fglh.js +0 -1
  304. package/build/_app/immutable/chunks/cVn7fglh.js.br +0 -1
  305. package/build/_app/immutable/chunks/cVn7fglh.js.gz +0 -0
  306. package/build/_app/immutable/chunks/jk4Hz_9M.js.br +0 -0
  307. package/build/_app/immutable/chunks/jk4Hz_9M.js.gz +0 -0
  308. package/build/_app/immutable/chunks/lyi4TUVm.js.br +0 -0
  309. package/build/_app/immutable/chunks/lyi4TUVm.js.gz +0 -0
  310. package/build/_app/immutable/entry/app.D01tWdhc.js +0 -2
  311. package/build/_app/immutable/entry/app.D01tWdhc.js.br +0 -0
  312. package/build/_app/immutable/entry/app.D01tWdhc.js.gz +0 -0
  313. package/build/_app/immutable/entry/start.Dkgn2MUA.js +0 -1
  314. package/build/_app/immutable/entry/start.Dkgn2MUA.js.br +0 -0
  315. package/build/_app/immutable/entry/start.Dkgn2MUA.js.gz +0 -0
  316. package/build/_app/immutable/nodes/0.t2rvsaQV.js +0 -3
  317. package/build/_app/immutable/nodes/0.t2rvsaQV.js.br +0 -0
  318. package/build/_app/immutable/nodes/0.t2rvsaQV.js.gz +0 -0
  319. package/build/_app/immutable/nodes/1.B8XtGxov.js +0 -1
  320. package/build/_app/immutable/nodes/1.B8XtGxov.js.br +0 -2
  321. package/build/_app/immutable/nodes/1.B8XtGxov.js.gz +0 -0
  322. package/build/_app/immutable/nodes/14.uj6UKEKM.js +0 -1
  323. package/build/_app/immutable/nodes/14.uj6UKEKM.js.br +0 -0
  324. package/build/_app/immutable/nodes/14.uj6UKEKM.js.gz +0 -0
  325. package/build/_app/immutable/nodes/16.C4g9w36Y.js +0 -3
  326. package/build/_app/immutable/nodes/16.C4g9w36Y.js.br +0 -0
  327. package/build/_app/immutable/nodes/16.C4g9w36Y.js.gz +0 -0
  328. package/build/_app/immutable/nodes/17.DQrHVfP-.js +0 -10
  329. package/build/_app/immutable/nodes/17.DQrHVfP-.js.br +0 -0
  330. package/build/_app/immutable/nodes/17.DQrHVfP-.js.gz +0 -0
  331. package/build/_app/immutable/nodes/2.DFs_rmXb.js +0 -35
  332. package/build/_app/immutable/nodes/2.DFs_rmXb.js.br +0 -0
  333. package/build/_app/immutable/nodes/2.DFs_rmXb.js.gz +0 -0
  334. package/build/_app/immutable/nodes/3.CmzGRE5R.js +0 -1
  335. package/build/_app/immutable/nodes/3.CmzGRE5R.js.br +0 -0
  336. package/build/_app/immutable/nodes/3.CmzGRE5R.js.gz +0 -0
  337. package/build/_app/immutable/nodes/4.D6TiMacd.js +0 -1
  338. package/build/_app/immutable/nodes/4.D6TiMacd.js.br +0 -0
  339. package/build/_app/immutable/nodes/4.D6TiMacd.js.gz +0 -0
  340. package/build/_app/immutable/nodes/5.C3QbUkKf.js +0 -1
  341. package/build/_app/immutable/nodes/5.C3QbUkKf.js.br +0 -0
  342. package/build/_app/immutable/nodes/5.C3QbUkKf.js.gz +0 -0
  343. package/build/_app/immutable/nodes/6.UWx6wdAE.js +0 -1
  344. package/build/_app/immutable/nodes/6.UWx6wdAE.js.br +0 -0
  345. package/build/_app/immutable/nodes/6.UWx6wdAE.js.gz +0 -0
  346. package/build/_app/immutable/nodes/8.bZ206KXo.js +0 -2
  347. package/build/_app/immutable/nodes/8.bZ206KXo.js.br +0 -0
  348. package/build/_app/immutable/nodes/8.bZ206KXo.js.gz +0 -0
  349. package/build/_app/immutable/nodes/9.CCSxSizl.js +0 -24
  350. package/build/_app/immutable/nodes/9.CCSxSizl.js.br +0 -0
  351. package/build/_app/immutable/nodes/9.CCSxSizl.js.gz +0 -0
  352. package/build/_app/immutable/workers/css.worker-DflDYzxC.js.br +0 -0
  353. package/build/_app/immutable/workers/editor.worker-DbG82rLA.js.br +0 -0
  354. package/build/_app/immutable/workers/html.worker-Bn6S4v1s.js.br +0 -0
  355. package/build/_app/immutable/workers/json.worker-CfS7sFxM.js.br +0 -0
  356. package/build/_app/immutable/workers/ts.worker-Bqwj6xoy.js.br +0 -0
  357. /package/build/_app/immutable/assets/{ReadOnlyMonacoDiff.Ba-kUPX7.css → Modal.Ba-kUPX7.css} +0 -0
  358. /package/build/_app/immutable/assets/{ReadOnlyMonacoDiff.Ba-kUPX7.css.br → Modal.Ba-kUPX7.css.br} +0 -0
  359. /package/build/_app/immutable/assets/{ReadOnlyMonacoDiff.Ba-kUPX7.css.gz → Modal.Ba-kUPX7.css.gz} +0 -0
@@ -0,0 +1 @@
1
+ import{B as e,Dt as t,E as n,F as r,G as i,I as a,L as o,N as s,Nt as c,O as l,Ot as u,Pt as d,V as f,X as p,_ as m,a as h,at as g,dt as _,et as v,gt as y,h as b,it as x,j as S,k as C,m as w,ot as T,p as ee,pt as E,r as D,rt as O,st as k,tt as te,v as ne,w as re,x as ie,y as A,z as j}from"../chunks/CPCsWwEy.js";import{t as M}from"../chunks/qrpS1hNb.js";import"../chunks/xihTtKlq.js";import{t as ae}from"../chunks/DDZ8GqHh.js";import{t as N}from"../chunks/CdnbUlBq.js";import"../chunks/Dc2hpeC4.js";import{t as P}from"../chunks/6OCsQ6r7.js";import{t as oe}from"../chunks/Cf3l6QEG.js";import{n as se,t as ce}from"../chunks/BJqZY8o2.js";import{t as F}from"../chunks/BP0Xadq7.js";import{t as le}from"../chunks/DWoqp3ac.js";import{t as ue}from"../chunks/D_MTg6YY.js";import{t as de}from"../chunks/D3fLfD-Y.js";import{t as fe}from"../chunks/UZ6smZpJ.js";import{a as pe,c as me,i as he,n as ge,o as _e,r as ve,s as ye,t as be}from"../chunks/MIEISUXS.js";var I=o(`<p class="text-sm text-rc-gray-200">There are no more analytics fields to filter.</p>`),L=o(`<option> </option>`),R=o(`<label class="flex flex-col gap-1.5 text-sm text-rc-gray-200"><span>Value</span> <!> <span class="text-xs text-rc-gray-400"> </span></label>`),z=o(`<label class="flex cursor-pointer items-center gap-3 rounded px-3 py-2 text-sm text-rc-gray-100 hover:bg-rc-gray-700"><input type="checkbox"/> <span class="min-w-0 flex-1 break-words"> </span> <span class="ml-auto text-[calc(0.875rem-1pt)] tabular-nums text-rc-gray-400"> </span></label>`),B=o(`<fieldset class="flex flex-col gap-1.5"><legend class="mb-1 text-sm text-rc-gray-200">Values</legend> <div class="rc-scroll max-h-72 overflow-y-auto rounded-lg border border-rc-gray-600 bg-rc-gray-900 p-1"></div></fieldset>`),V=o(`<label class="flex flex-col gap-1.5 text-sm text-rc-gray-200"><span>Field</span> <select class="rounded-lg border border-rc-gray-500 bg-rc-gray-900 px-3 py-2 text-rc-gray-100 focus:border-rc-gray-400 focus:outline-none focus:ring-0"></select></label> <!>`,1),H=o(`<div class="flex flex-col gap-4"><!></div>`),xe=o(`<!> <!>`,1);function Se(e,n){u(n,!0);let o=h(n,`open`,15,!1),p=E(``),m=E(k([])),w=E(``),D=!1,O=y(()=>n.fields.find(e=>e.key===i(p))),re=y(()=>(i(O)?.variantCount??0)>50),ie=y(()=>{let e=i(O),t=String(i(w)).trim();if(!(!e||!t)){if(e.type===`number`){let e=Number(t);return Number.isFinite(e)?e:void 0}return e.type===`boolean`?t.toLowerCase()===`true`||t.toLowerCase()!==`false`&&void 0:t}}),M=y(()=>!!i(O)&&(i(re)?i(ie)!==void 0:i(m).length>0));te(()=>{let e=o();e&&!D&&(_(p,n.fields[0]?.key??``,!0),_(m,[],!0),_(w,``)),D=e});function ae(e){_(p,e.currentTarget.value,!0),_(m,[],!0),_(w,``)}function N(e,t){return typeof e==typeof t&&e===t}function oe(e){return i(m).some(t=>N(t,e))}function se(e){_(m,oe(e)?i(m).filter(t=>!N(t,e)):[...i(m),e],!0)}function ce(e){return typeof e==`boolean`?e?`Yes`:`No`:String(e)}function le(){let e=i(O);!e||!i(M)||(n.onAdd({key:e.key,type:e.type,values:i(re)?[i(ie)]:i(m)}),o(!1))}F(e,{title:`Add analytics filter`,class:`!max-w-lg`,get open(){return o()},set open(e){o(e)},children:e=>{var t=H(),o=x(t),c=e=>{var t=I();r(e,t)},u=e=>{var t=V(),o=g(t),c=T(x(o),2);l(c,21,()=>n.fields,C,(e,t)=>{var n=L(),a=x(n,!0);d(n);var o={};v(()=>{s(a,i(t).key),o!==(o=i(t).key)&&(n.value=(n.__value=i(t).key)??``)}),r(e,n)}),d(c);var u;ne(c),d(o);var m=T(o,2),h=e=>{var t=a(),n=g(t),o=e=>{var t=R(),n=T(x(t),2);{let e=y(()=>i(O).type===`number`?`number`:`text`);de(n,{get type(){return i(e)},class:`w-full !border-rc-gray-500 !bg-rc-gray-900 !py-2`,onkeydown:e=>{e.key===`Enter`&&i(M)&&le()},get value(){return i(w)},set value(e){_(w,e,!0)}})}var a=T(n,2),o=x(a);d(a),d(t),v(()=>s(o,`This field has ${i(O).variantCount??``} distinct values.`)),r(e,t)},c=e=>{var t=B(),n=T(x(t),2);l(n,21,()=>i(O).values,C,(e,t)=>{var n=z(),a=x(n);ee(a);var o=T(a,2),c=x(o,!0);d(o);var l=T(o,2),u=x(l,!0);d(l),d(n),v((e,n)=>{b(a,e),s(c,n),s(u,i(t).count)},[()=>oe(i(t).value),()=>ce(i(t).value)]),f(`change`,a,()=>se(i(t).value)),r(e,n)}),d(n),d(t),r(e,t)};S(n,e=>{i(re)?e(o):e(c,-1)}),r(e,t)};S(m,e=>{i(O)&&e(h)}),v(()=>{u!==(u=i(p))&&(c.value=(c.__value=i(p))??``,A(c,i(p)))}),f(`change`,c,ae),r(e,t)};S(o,e=>{n.fields.length===0?e(c):e(u,-1)}),d(t),r(e,t)},footer:e=>{var t=xe(),n=g(t);P(n,{variant:`secondary`,onclick:()=>o(!1),children:(e,t)=>{c();var n=j(`Cancel`);r(e,n)},$$slots:{default:!0}});var a=T(n,2);{let e=y(()=>!i(M));P(a,{onclick:le,get disabled(){return i(e)},children:(e,t)=>{c();var n=j(`Add filter`);r(e,n)},$$slots:{default:!0}})}r(e,t)},$$slots:{default:!0,footer:!0}}),t()}e([`change`]);var Ce=o(`<!> <!>`,1),we=o(`<option> </option>`),Te=o(`<button type="button" aria-label="Clear search" class="absolute right-2 top-1/2 flex -translate-y-1/2 items-center justify-center rounded p-1 text-rc-gray-200 hover:bg-rc-gray-600 hover:text-rc-gray-100 focus:outline-none"><!></button>`),Ee=o(`<div class="flex max-w-80 items-center gap-1 rounded-lg border border-rc-gray-500 bg-rc-gray-700 py-1 pl-3 pr-1 text-sm text-rc-gray-100"><span class="truncate"> </span> <button type="button" class="flex-none rounded p-1 text-rc-gray-300 hover:bg-rc-gray-600 hover:text-rc-gray-100"><!></button></div>`),De=o(`<p class="py-8 text-center text-rc-gray-200">Loading...</p>`),Oe=o(`<p class="py-8 text-center text-rc-gray-300">No conversations found</p>`),ke=o(`<span class="text-rc-gray-200">, Agent Id:</span> <span class="text-rc-green-200"> </span>`,1),Ae=o(`<li><div class="flex w-full flex-col gap-2"><div class="flex w-full items-center justify-between"><div class="text-gray-300"> </div> <div class="flex items-center gap-2"><span class="text-xs text-rc-gray-300"> </span> <span class="font-semibold text-rc-gray-100"> </span></div></div> <div class="flex items-center justify-between gap-4"><div class="text-sm"><span class="text-rc-gray-200">Conversation Id:</span> <span class="text-rc-green-200"> </span> <!></div> <p class="text-sm text-gray-400"> </p></div></div></li>`),je=o(`<ul class="space-y-2"></ul>`),Me=o(`<div class="flex h-screen"><!> <div class="flex h-full min-w-0 flex-1 flex-col bg-rc-gray-980 pb-3 pr-4 pt-2"><nav class="flex flex-none flex-col bg-rc-gray-980"><div class="flex items-center justify-center"><!></div> <div class="flex flex-wrap items-center gap-4"><div class="flex-1"><label class="block"><div class="flex gap-2"><select class="select svelte-1uk1thp" aria-label="Telescope source"><!></select> <div class="relative"><!><!></div> <!> <!> <!></div></label></div> <div class="hidden items-center gap-2"><div class="text-rc-gray-200">Sort:</div> <!></div> <div class="hidden items-center gap-2"><div class="text-rc-gray-200">Page size:</div> <select class="rounded-sm border border-rc-gray-300 bg-rc-gray-700 p-2 pr-8 text-rc-gray-100"><option>5</option><option>10</option><option>20</option><option>50</option></select></div> <div class="flex items-center gap-3"><div class="flex items-center gap-2"><!> <!> <div class="text-sm text-rc-gray-200"> </div></div></div> <div class="ml-auto whitespace-nowrap text-sm"><span class="text-gray-400">API Mode:</span> <span class="font-semibold text-rc-green-200"> </span></div></div></nav> <main class="flex flex-1 overflow-hidden"><div class="flex h-full w-1/3 flex-col"><div class="flex-none border-b border-rc-gray-300/40 p-4"><h2 class="text-lg font-semibold text-rc-gray-100">Conversations</h2></div> <div class="rc-scroll min-h-0 flex-1 overflow-scroll px-3 py-4"><!></div></div> <div class="flex h-full w-2/3 flex-col bg-rc-gray-980"><!></div></main></div></div> <!>`,1);function U(e,o){u(o,!0);let b=new ye,ee=E(k([])),ne=E(void 0),A=E(null),F=y(()=>(N.url.searchParams.get(`agent`)??``).trim()),I=E(``),L=E(20),R=E(`20`),z=E(!0),B=E(k([])),V=E(null),H=E(!1),xe=E(null),U=E(k([])),W=E(``),Ne=E(!1),Pe=E(null),Fe=E(!1),Ie=E(null),Le=E(k([])),G=E(k([])),K=E(!1),Re=E(null),ze=E(!1),q=0,J=0,Be=y(()=>i(Le).filter(e=>!i(G).some(t=>t.key===e.key))),Ve=E(null),He=y(()=>JSON.stringify([i(F),i(W),i(G)])),Y=y(()=>i(Ve)===i(He)?i(ne):void 0),Ue=y(()=>i(Y)?.items.length??0),We=h(o,`useMock`,3,!1),{onError:Ge}=ae();function Ke(e){return new Date(e).toLocaleString()}function qe(e){let t=Math.round(e),n=Math.floor(t/60),r=t%60;return`${n}:${String(r).padStart(2,`0`)}`}function Je(){q+=1,J+=1,_(A,null),_(ne,void 0),_(Ve,null),_(Le,[],!0),_(G,[],!0),_(B,[],!0),_(V,null),_(H,!0),_(K,!0),_(Re,null),_(ze,!1)}function Ye(e=i(F)){let t=new URLSearchParams;e&&t.set(`agent`,e),i(W)&&t.set(be,i(W));let n=t.toString();return n?`?${n}`:``}function X(e=i(F)){return`${i(gt)}/conversations${Ye(e)}`}let Xe=y(()=>N.url.pathname.split(`/`).at(-1)===`latency`?`latency`:`traces`);function Ze(e,t=i(Xe),n=i(F)){return`${i(gt)}/conversations/${encodeURIComponent(e)}/${t}${Ye(n)}`}async function Qe(e,t=i(L),n,r,a=i(G)){return We()?fe.fetchConversations(t,e,n??void 0):b.getConversations({phoneNumber:e,agentId:r,analyticsFilters:a,limit:Number(t),lastConversationId:n??void 0})}async function Z(){_(B,[],!0),_(V,null),await nt()}async function $e(){_(Ne,!0),_(Pe,null);try{if(_(U,await me(),!0),!i(U).length)throw Error(`No sources returned`);let e=ve(N.url),t=pe(i(U),e,ge());if(!t)throw Error(`No sources returned`);if(_(W,t,!0),he(t),b.setSourceId(t),e!==t){let e=_e(N.url,t);await M(`${e.pathname}${e.search}`,{replaceState:!0})}}catch(e){console.error(`Failed to load Telescope sources:`,e),_(Pe,e?.message??`Failed to load Telescope sources`,!0),_(U,[],!0),_(W,``),b.setSourceId(void 0)}finally{_(Ne,!1)}}async function et(e){let t=e.target.value;_(W,t,!0),he(t),b.setSourceId(t),Je(),await M(X()),await Promise.all([rt(),Z()])}async function tt(){try{_(ee,await le.agents.catalog.query(),!0)}catch(e){let t=e instanceof Error?e.message:e?String(e):`Unknown error`;console.error(`Failed to load agents:`,e),Ge(`Failed to load agents: ${t}`)}}async function nt(){let e=++q,t=i(G).map(e=>({...e,values:[...e.values]})),n=i(F),r=JSON.stringify([n,i(W),t]);_(H,!0),_(xe,null);try{let a=await Qe(i(I)||void 0,i(L),i(V)??void 0,n||void 0,t);if(e!==q||r!==i(He))return;let o=Array.isArray(a.items)?a.items.slice():[];_(ne,{limit:a.limit,items:o,lastConversationId:a.lastConversationId},!0),_(Ve,r,!0),_(V,a.lastConversationId??null,!0)}catch(t){if(e!==q||r!==i(He))return;_(xe,`Conversations could not be loaded for this selection.`),Ge(i(xe)),console.error(`Load page error:`,t)}finally{e===q&&_(H,!1)}}async function rt(){let e=++J;if(_(K,!0),_(Re,null),_(Le,[],!0),We()){_(K,!1);return}try{let t=await b.getAnalyticsFields(i(F)||void 0);if(e!==J)return;_(Le,t.items,!0)}catch(t){if(e!==J)return;_(Re,`Filters are unavailable for this selection.`),console.error(`Failed to load analytics fields:`,t)}finally{e===J&&_(K,!1)}}function it(e){_(G,[...i(G),e],!0),Z()}function at(e){_(G,i(G).filter(t=>t.key!==e),!0),Z()}function ot(e){return typeof e==`boolean`?e?`Yes`:`No`:String(e)}function st(e){return`${e.key}: ${e.values.map(ot).join(`, `)}`}async function ct(){i(Y)?.lastConversationId&&(i(B).push(i(Y).lastConversationId),_(V,i(Y).lastConversationId,!0),await nt())}async function lt(){i(B).length&&(i(B).pop(),_(V,i(B).length?i(B)[i(B).length-1]:null,!0),await nt())}function ut(){_(z,!i(z)),i(Y)?.items&&i(Y).items.sort((e,t)=>i(z)?t.createdAt-e.createdAt:e.createdAt-t.createdAt)}async function dt(e,t){if(t?.stopPropagation(),N.params.conversationId&&N.params.conversationId===e.conversationId||!N.params.conversationId&&i(A)?.conversationId===e.conversationId){_(A,null),await M(X());return}_(A,e,!0),await M(Ze(e.conversationId))}function ft(e){let t=e.target.value;_(R,t,!0),_(L,parseInt(i(R),10)||20,!0)}async function pt(){await Z()}async function mt(e){e?.preventDefault(),e?.stopPropagation(),_(I,``),_(B,[],!0),_(V,null),await Z()}let ht=y(()=>{let e=N.url.pathname.split(`/`)[1];return e===`traces`?`view`:e}),gt=y(()=>N.url.pathname.startsWith(`/view`)?`/view`:`/traces`);function _t({value:e}){if(e!==i(ht)){if(e===`edit`)return i(F)?M(`/edit/${encodeURIComponent(i(F))}/roleplay`):M(`/edit`);if(e===`view`)return M(X());M(`/`+e)}}async function vt(e,t){t?.stopPropagation(),e!==i(F)&&(Je(),await M(X(e)))}async function yt(e){e?.stopPropagation(),i(F)&&(Je(),await M(X(``)))}te(()=>{let e=i(F);i(Fe)&&e!==i(Ie)&&(_(Ie,e,!0),Je(),Promise.all([rt(),Z()]))}),D(()=>{(async()=>{await Promise.all([tt(),$e()]),await Promise.all([rt(),Z()]),_(Ie,i(F),!0),_(Fe,!0)})()});var bt=Me();re(`1uk1thp`,e=>{p(()=>{O.title=`Bosun: Telescope`})});var xt=g(bt),St=x(xt);ue(St,{get agents(){return i(ee)},get currentAgent(){return i(F)},onAgentClick:vt,showAllAgentsOption:!0,onAllAgentsClick:yt,className:`flex-none`});var Ct=T(St,2),wt=x(Ct),Tt=x(wt),Et=x(Tt);se(Et,{get value(){return i(ht)},ariaLabel:`Top tabs`,onChange:_t,children:(e,t)=>{var n=Ce(),i=g(n);ce(i,{value:`edit`,children:(e,t)=>{c();var n=j(`Edit`);r(e,n)},$$slots:{default:!0}});var a=T(i,2);ce(a,{value:`view`,children:(e,t)=>{c();var n=j(`View`);r(e,n)},$$slots:{default:!0}}),r(e,n)},$$slots:{default:!0}}),d(Tt);var Dt=T(Tt,2),Ot=x(Dt),kt=x(Ot),At=x(kt),Q=x(At),jt=x(Q),Mt=e=>{var t=a(),n=g(t);l(n,17,()=>i(U),C,(e,t)=>{var n=we(),a=x(n,!0);d(n);var o={};v(()=>{s(a,i(t).label),o!==(o=i(t).id)&&(n.value=(n.__value=i(t).id)??``)}),r(e,n)}),r(e,t)},Nt=e=>{var t=we(),n=x(t,!0);d(t),t.value=t.__value=``,v(()=>s(n,i(Ne)?`Loading…`:`No sources`)),r(e,t)};S(jt,e=>{i(U).length?e(Mt):e(Nt,-1)}),d(Q);var Pt=T(Q,2),Ft=x(Pt);de(Ft,{class:`w-56 rounded-r-none !border !border-rc-gray-500 !p-2 !pr-8 hover:border-rc-gray-400`,placeholder:`Search by phone...`,onkeydown:e=>{e.key===`Enter`&&(e.preventDefault(),e.stopPropagation(),pt())},get value(){return i(I)},set value(e){_(I,e,!0)}});var It=T(Ft),Lt=e=>{var t=Te(),n=x(t);oe(n,{name:`close`,width:18,height:18}),d(t),f(`click`,t,mt),r(e,t)};S(It,e=>{i(I)&&e(Lt)}),d(Pt);var Rt=T(Pt,2);P(Rt,{onclick:pt,children:(e,t)=>{c();var n=j(`Search`);r(e,n)},$$slots:{default:!0}});var zt=T(Rt,2);l(zt,17,()=>i(G),e=>e.key,(e,t)=>{var n=Ee(),a=x(n),o=x(a,!0);d(a);var c=T(a,2),l=x(c);oe(l,{name:`close`,width:16,height:16}),d(c),d(n),v((e,r)=>{w(n,`title`,e),s(o,r),w(c,`aria-label`,`Remove ${i(t).key} filter`)},[()=>st(i(t)),()=>st(i(t))]),f(`click`,c,()=>at(i(t).key)),r(e,n)});var Bt=T(zt,2);{let e=y(()=>i(K)||i(Be).length===0),t=y(()=>i(Re)??`Add analytics filter`);P(Bt,{variant:`secondary`,get disabled(){return i(e)},get title(){return i(t)},onclick:()=>_(ze,!0),children:(e,t)=>{c();var n=j(`Add filter`);r(e,n)},$$slots:{default:!0}})}d(At),d(kt),d(Ot);var Vt=T(Ot,2),Ht=T(x(Vt),2);P(Ht,{onclick:ut,children:(e,t)=>{c();var n=j();v(()=>s(n,i(z)?`Newest first`:`Oldest first`)),r(e,n)},$$slots:{default:!0}}),d(Vt);var Ut=T(Vt,2),$=T(x(Ut),2),Wt=x($);Wt.value=Wt.__value=`5`;var Gt=T(Wt);Gt.value=Gt.__value=`10`;var Kt=T(Gt);Kt.value=Kt.__value=`20`;var qt=T(Kt);qt.value=qt.__value=`50`,d($),d(Ut);var Jt=T(Ut,2),Yt=x(Jt),Xt=x(Yt);{let e=y(()=>i(B).length===0&&!i(V));P(Xt,{onclick:lt,get disabled(){return i(e)},children:(e,t)=>{c();var n=j(`Prev`);r(e,n)},$$slots:{default:!0}})}var Zt=T(Xt,2);{let e=y(()=>!i(Y)?.items.length);P(Zt,{onclick:ct,get disabled(){return i(e)},children:(e,t)=>{c();var n=j(`Next`);r(e,n)},$$slots:{default:!0}})}var Qt=T(Zt,2),$t=x(Qt);d(Qt),d(Yt),d(Jt);var en=T(Jt,2),tn=T(x(en),2),nn=x(tn,!0);d(tn),d(en),d(Dt),d(wt);var rn=T(wt,2),an=x(rn),on=T(x(an),2),sn=x(on),cn=e=>{var t=De();r(e,t)},ln=e=>{var t=Oe();r(e,t)},un=e=>{var t=je();l(t,21,()=>i(Y).items,C,(e,t)=>{var n=Ae(),a=x(n),o=x(a),c=x(o),l=x(c,!0);d(c);var u=T(c,2),p=x(u),m=x(p,!0);d(p);var h=T(p,2),_=x(h,!0);d(h),d(u),d(o);var y=T(o,2),b=x(y),C=T(x(b),2),ee=x(C,!0);d(C);var E=T(C,2),D=e=>{var n=ke(),a=T(g(n),2),o=x(a,!0);d(a),v(()=>s(o,i(t).agentId)),r(e,n)};S(E,e=>{!i(F)&&i(t).agentId&&e(D)}),d(b);var O=T(b,2),k=x(O);d(O),d(y),d(a),d(n),v((e,r)=>{ie(n,1,`cursor-pointer rounded-lg p-3 transition-colors ${(N.params.conversationId?i(t).conversationId===N.params.conversationId:i(t).conversationId===i(A)?.conversationId)?`bg-rc-gray-600`:`bg-rc-gray-700 hover:bg-rc-gray-650`}`,`svelte-1uk1thp`),w(n,`aria-selected`,N.params.conversationId?i(t).conversationId===N.params.conversationId:i(t).conversationId===i(A)?.conversationId),s(l,e),s(m,i(t).medium),s(_,i(t).phoneNumber),s(ee,i(t).conversationId),s(k,`Duration: ${r??``}`)},[()=>Ke(i(t).createdAt),()=>qe(i(t).duration??0)]),f(`click`,n,e=>dt(i(t),e)),r(e,n)}),d(t),r(e,t)};S(sn,e=>{i(H)?e(cn):i(Y)?.items?.length?e(un,-1):e(ln,1)}),d(on),d(an);var dn=T(an,2),fn=x(dn);n(fn,()=>o.children),d(dn),d(rn),d(Ct),d(xt),Se(T(xt,2),{get fields(){return i(Be)},onAdd:it,get open(){return i(ze)},set open(e){_(ze,e,!0)}}),v(()=>{Q.disabled=i(Ne)||!i(U).length,w(Q,`title`,i(Pe)??`Telescope source`),s($t,`Items: ${i(Ue)??``}`),s(nn,We()?`Mock (local)`:`Live`)}),f(`change`,Q,et),m(Q,()=>i(W),e=>_(W,e)),f(`change`,$,ft),m($,()=>i(R),e=>_(R,e)),f(`click`,dn,e=>e.stopPropagation()),r(e,bt),t()}e([`change`,`click`]);export{U as component};
@@ -0,0 +1 @@
1
+ import{B as e,Dt as t,E as n,F as r,G as i,L as a,Nt as o,Ot as s,Pt as c,V as l,at as u,gt as d,it as f,ot as p,z as m}from"../chunks/CPCsWwEy.js";import{t as h}from"../chunks/qrpS1hNb.js";import"../chunks/xihTtKlq.js";import{t as g}from"../chunks/CdnbUlBq.js";import"../chunks/Dc2hpeC4.js";import{n as _,t as v}from"../chunks/BJqZY8o2.js";import{r as y}from"../chunks/DkJi5BM4.js";var b=a(`<!> <!>`,1),x=a(`<div class="flex h-full min-h-0 flex-col bg-rc-gray-980"><div class="flex-none border-b border-rc-gray-300/40 px-4 pt-3"><!></div> <div class="min-h-0 flex-1"><!></div></div>`);function S(e,a){s(a,!0),y();let S=d(()=>g.url.pathname.split(`/`).at(-1)===`latency`?`latency`:`traces`),C=d(()=>g.url.pathname.startsWith(`/view`)?`/view`:`/traces`);function w(e){let t=g.params.conversationId??``,n=g.url.search;return`${i(C)}/conversations/${encodeURIComponent(t)}/${e}${n}`}function T({value:e}){(e===`traces`||e===`latency`)&&e!==i(S)&&h(w(e))}var E=x(),D=f(E),O=f(D);_(O,{get value(){return i(S)},ariaLabel:`View conversation tabs`,onChange:T,children:(e,t)=>{var n=b(),i=u(n);v(i,{value:`traces`,children:(e,t)=>{o();var n=m(`Traces`);r(e,n)},$$slots:{default:!0}});var a=p(i,2);v(a,{value:`latency`,children:(e,t)=>{o();var n=m(`Latency`);r(e,n)},$$slots:{default:!0}}),r(e,n)},$$slots:{default:!0}}),c(D);var k=p(D,2),A=f(k);n(A,()=>a.children),c(k),c(E),l(`click`,E,e=>e.stopPropagation()),r(e,E),t()}e([`click`]);export{S as component};
@@ -0,0 +1 @@
1
+ import{B as e,Dt as t,F as n,G as r,L as i,N as a,O as o,Ot as s,Pt as c,V as l,X as u,b as d,dt as f,et as p,it as m,m as h,ot as g,pt as _,r as v,rt as y,st as b,tt as x,w as S,x as C}from"../chunks/CPCsWwEy.js";import"../chunks/xihTtKlq.js";import{t as w}from"../chunks/DDZ8GqHh.js";import{t as T}from"../chunks/DWoqp3ac.js";import{n as E,r as D,t as O}from"../chunks/D_MTg6YY.js";var k=i(`<button><span class="agent-name svelte-16acuk9"> </span></button>`),A=i(`<div class="agent-grid-container svelte-16acuk9"><div class="agent-grid svelte-16acuk9"><!> <button class="agent-card new-agent svelte-16acuk9" aria-label="Create new agent"><span class="agent-name agent-name_new svelte-16acuk9">New Agent</span></button></div></div>`);function j(e,i){s(i,!0),x(()=>{D(i.agents.map(e=>e.id))});var u=A(),f=m(u),_=m(f);o(_,17,()=>i.agents,e=>e.id,(e,t)=>{var o=k();let s;var u=m(o),f=m(u,!0);c(u),c(o),p(e=>{s=C(o,1,`agent-card svelte-16acuk9`,null,s,{active:r(t).id===i.currentAgent}),d(o,`--agent-color: ${e??``}`),h(o,`aria-label`,`Open ${r(t).displayName}`),a(f,r(t).displayName)},[()=>E(r(t).id)]),l(`click`,o,e=>i.onAgentClick(r(t).id,e)),n(e,o)});var v=g(_,2);c(f),c(u),l(`click`,v,function(...e){i.onNewAgent?.apply(this,e)}),n(e,u),t()}e([`click`]);var M=i(`<div class="flex h-screen"><!> <div class="flex h-full min-w-0 flex-1 flex-col bg-rc-gray-980 py-3 pr-4"><div class="flex-1"><!></div></div></div>`);function N(e,i){s(i,!0);let{onAgentSelect:a}=w(),o=_(b([]));v(async()=>{f(o,await T.agents.catalog.query(),!0)});var l=M();S(`1uha8ag`,e=>{u(()=>{y.title=`Recombine Agents Hub`})});var d=m(l);O(d,{className:`flex-none border-r-thin border-r-rc-gray-600`,get agents(){return r(o)},currentAgent:``,get onAgentClick(){return a},initiallyCollapsed:!1,hoverCollapse:!1});var p=g(d,2),h=m(p);j(m(h),{get agents(){return r(o)},currentAgent:``,get onAgentClick(){return a}}),c(h),c(p),c(l),n(e,l),t()}export{N as component};
@@ -0,0 +1 @@
1
+ import{Dt as e,F as t,G as n,L as r,Nt as i,Ot as a,Pt as o,X as s,at as c,dt as l,gt as u,it as d,ot as f,pt as p,r as m,rt as h,st as g,tt as _,w as v,z as y}from"../chunks/CPCsWwEy.js";import{t as b}from"../chunks/qrpS1hNb.js";import"../chunks/xihTtKlq.js";import{t as x}from"../chunks/DDZ8GqHh.js";import{t as S}from"../chunks/CdnbUlBq.js";import"../chunks/Dc2hpeC4.js";import{n as C,t as w}from"../chunks/BJqZY8o2.js";import{t as T}from"../chunks/DWoqp3ac.js";import{t as E}from"../chunks/D_MTg6YY.js";var D=r(`<!> <!>`,1),O=r(`<div class="flex h-screen"><!> <div class="flex h-full min-w-0 flex-1 flex-col bg-rc-gray-980 pb-3 pr-4 pt-2"><nav class="flex flex-none items-center justify-center bg-rc-gray-980"><!></nav> <main class="flex-1 pr-80 pt-40"><div class="flex h-full items-start justify-center text-rc-gray-200">Select an agent on the left panel to start editing</div></main></div></div>`);function k(r,k){a(k,!0);let{onAgentSelect:A,onError:j}=x(),M=p(g([])),N=p(!1),P=u(()=>S.url.pathname.split(`/`)[1]);function F({value:e}){if(e!==n(P)){if(e===`edit`)return b(`/edit`);if(e===`view`)return b(`/view`);b(`/`+e)}}function I(e){A(e)}_(()=>{n(N)||S.url.pathname===`/edit`&&n(M).length&&(l(N,!0),A(n(M)[0].id))}),m(async()=>{try{l(M,await T.agents.catalog.query(),!0)}catch(e){let t=e instanceof Error?e.message:e?String(e):`Unknown error`;console.error(`Failed to load agents:`,e),j(`Failed to load agents: ${t}`)}});var L=O();v(`17v3h6h`,e=>{s(()=>{h.title=`Bosun: Edit`})});var R=d(L);E(R,{className:`flex-none`,get agents(){return n(M)},currentAgent:``,onAgentClick:I});var z=f(R,2),B=d(z),V=d(B);C(V,{get value(){return n(P)},ariaLabel:`Top tabs`,onChange:F,children:(e,n)=>{var r=D(),a=c(r);w(a,{value:`edit`,children:(e,n)=>{i();var r=y(`Edit`);t(e,r)},$$slots:{default:!0}});var o=f(a,2);w(o,{value:`view`,children:(e,n)=>{i();var r=y(`View`);t(e,r)},$$slots:{default:!0}}),t(e,r)},$$slots:{default:!0}}),o(B),i(2),o(z),o(L),t(r,L),e()}export{k as component};
@@ -0,0 +1,2 @@
1
+ import{B as e,Dt as t,E as n,F as r,G as i,H as a,I as o,L as s,N as c,Nt as l,O as u,Ot as d,Pt as f,S as p,V as m,a as h,at as g,b as _,dt as v,et as y,gt as b,it as x,j as S,k as C,l as w,m as ee,ot as T,pt as E,r as D,st as O,tt as k,x as te,z as A}from"../chunks/CPCsWwEy.js";import"../chunks/xihTtKlq.js";import{r as j,t as M}from"../chunks/oarl--hZ.js";import{t as N}from"../chunks/6OCsQ6r7.js";import{t as P}from"../chunks/Cf3l6QEG.js";import{t as F}from"../chunks/DWoqp3ac.js";import{t as ne}from"../chunks/B9YnyJ2j.js";import{c as re,i as I,o as ie,s as L}from"../chunks/By9tvIIw.js";import{r as ae}from"../chunks/BOHUKGg_.js";import{t as oe}from"../chunks/D3fLfD-Y.js";import{a as se,i as ce,n as le,o as ue,r as de,s as R,t as fe}from"../chunks/Byx1piFp.js";var pe=s(`<span class="min-w-0 flex-1 truncate text-left"> </span> <!>`,1),z=s(`<div class="flex items-start gap-2"><div class="min-w-0"><div class="truncate p-1 text-sm text-rc-gray-300 group-hover:text-rc-gray-200"> </div> <div> </div></div></div>`),B=s(`<div class="mt-1 max-h-96 w-max min-w-full max-w-[min(26rem,90vw)] overflow-y-auto overflow-x-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 backdrop-blur-2xl" role="listbox"></div>`),V=s(`<div><!> <!></div>`);function H(e,n){d(n,!0);let a=h(n,`class`,3,``),o=E(!1),s=E(null),l=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function p(){v(o,!i(o))}function m(e){n.onSelect(e),v(o,!1)}function _(e){return(e.lastMessage??``).trim()||`No messages`}function S(e,t=50,n=`…`){if(!e)return``;if(e.length<=t)return e;let r=e.slice(0,t+1),i=Math.max(r.lastIndexOf(` `),r.lastIndexOf(`\xA0`),r.lastIndexOf(` `),r.lastIndexOf(`
2
+ `),r.lastIndexOf(`\r`));return(i>0?r.slice(0,i):e.slice(0,t)).trimEnd()+n}function w(e){e.key===`ArrowDown`&&!i(o)?(v(o,!0),e.preventDefault()):e.key===`ArrowUp`&&i(o)&&(v(o,!1),e.preventDefault())}function ee(e){let t=e.getDate(),n=l[e.getMonth()],r=e.getHours(),i=r>=12?`PM`:`AM`;r%=12,r===0&&(r=12);let a=String(e.getMinutes()).padStart(2,`0`),o=new Date,s=e.getFullYear();return`${t} ${n}${s===o.getFullYear()?``:` ${s}`}, ${r}:${a} ${i}`}function D(e){return ee(new Date(e.createdAt))}let O=b(()=>n.conversations.find(e=>e.conversationId===n.currentConversationId)??null),k=b(()=>i(O)?D(i(O)):`History`);var A=V(),j=x(A);N(j,{variant:`ghost`,get"aria-expanded"(){return i(o)},"aria-haspopup":`listbox`,"aria-controls":`history-dropdown`,onclick:p,onkeydown:w,class:`inline-flex w-40 items-center rounded-lg border border-transparent !bg-rc-gray-700 !px-3 !pb-1 !pt-[5px] text-rc-gray-200 hover:border hover:border-rc-gray-500 focus:outline-none focus:ring-0`,get el(){return i(s)},set el(e){v(s,e,!0)},children:(e,t)=>{var n=pe(),a=g(n),s=x(a,!0);f(a);var l=T(a,2);{let e=b(()=>`size-7 shrink-0 text-rc-gray-500 transition-transform duration-200 `+(i(o)?`rotate-180`:``));P(l,{name:`chevron-down`,get class(){return i(e)}})}y(()=>c(s,i(k))),r(e,n)},$$slots:{default:!0}});var M=T(j,2);R(M,{id:`history-dropdown`,get open(){return i(o)},onClose:()=>v(o,!1),get anchorEl(){return i(s)},placement:`bottom-start`,offset:[0,1],children:e=>{var t=B();u(t,21,()=>n.conversations,C,(e,t)=>{{let a=b(()=>i(t).conversationId===n.currentConversationId);N(e,{variant:`ghost`,size:`small`,role:`option`,get"aria-selected"(){return i(a)},onclick:()=>m(i(t).conversationId),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`,children:(e,a)=>{var o=z(),s=x(o),l=x(s),u=x(l,!0);f(l);var d=T(l,2),p=x(d,!0);f(d),f(s),f(o),y((e,r)=>{c(u,e),te(d,1,`truncate p-1 text-base font-semibold `+(i(t).conversationId===n.currentConversationId?`text-rc-green-200`:`text-rc-gray-100`)),c(p,r)},[()=>D(i(t)),()=>S(_(i(t)))]),r(e,o)},$$slots:{default:!0}})}}),f(t),r(e,t)},$$slots:{default:!0}}),f(A),y(()=>te(A,1,`relative ${a()}`)),r(e,A),t()}var U=s(`<dialog class="dialog m-auto bg-transparent p-0 text-rc-gray-100 shadow-md svelte-jby388"><!> <!></dialog>`);function me(e,i){d(i,!0);let a,o=h(i,`showCloseButton`,3,!1),s=h(i,`onClose`,3,()=>{}),c=h(i,`onOpen`,3,()=>{}),u=h(i,`isOpen`,3,!1);k(()=>{u()?(console.log(`show`),a?.showModal(),c()()):a?.open&&(console.log(`close`),a.close())});function p(){s()()}D(()=>(a.addEventListener(`close`,p),()=>{a.removeEventListener(`close`,p)}));function g(e){e.target===a&&a.close()}var _=U(),v=x(_);n(v,()=>i.children);var y=T(v,2),b=e=>{N(e,{variant:`ghost`,onclick:()=>a.close(),class:`absolute right-2 top-2`,children:(e,t)=>{l();var n=A(`✕`);r(e,n)},$$slots:{default:!0}})};S(y,e=>{o()&&e(b)}),f(_),w(_,e=>a=e,()=>a),m(`mousedown`,_,g),r(e,_),t()}e([`mousedown`]);function he(e){if(!Array.isArray(e))return[];let t=[];for(let n of e){if(!n||typeof n!=`object`)continue;let e=n.text,r=n.lastSeen,i=n.uses;if(typeof e!=`string`||typeof r!=`number`||!Number.isFinite(r)||typeof i!=`number`||!Number.isFinite(i))continue;let a=e.trim();a&&t.push({text:a,lastSeen:r,uses:i})}return t.sort((e,t)=>t.lastSeen-e.lastSeen),t}function ge(e,t,n=2e3){let r=t.trim();if(!r)return e;let i=(e[0]?.lastSeen??0)+1,a=e.findIndex(e=>e.text===r),o;if(a!==-1){let t=e[a];o=[{text:t.text,lastSeen:i,uses:(t.uses??0)+1},...e.slice(0,a),...e.slice(a+1)]}else o=[{text:r,lastSeen:i,uses:1},...e];return o.length>n?o.slice(0,n):o}function _e(e,t,n=2e3){if(!t.length)return e;if(!e.length)return t;let r=e[0]?.lastSeen??0,i=(t[0]?.lastSeen??0)>r?t:t.map((e,n)=>({...e,lastSeen:r+(t.length-n)})),a=new Map;for(let t of e)a.set(t.text,t);for(let e of i){let t=a.get(e.text);if(!t){a.set(e.text,e);continue}a.set(e.text,{text:e.text,lastSeen:Math.max(t.lastSeen,e.lastSeen),uses:t.uses+e.uses})}return Array.from(a.values()).sort((e,t)=>t.lastSeen-e.lastSeen).slice(0,n)}function ve(e,t,n=5){if(!t.length)return[];let r=e.trim().toLowerCase(),i=W(e,!1).text,a=/\s$/u.test(e);if(!W(e,!0).text)return[];let o=[];for(let e of t){let t=W(e.text);if(!t.text||e.text.trim().toLowerCase()===r)continue;let n=ye(t,e.text,i,a);n&&o.push({item:e,match:n})}return o.sort((e,t)=>e.match.kindRank===t.match.kindRank?e.match.span===t.match.span?e.match.start===t.match.start?e.item.lastSeen===t.item.lastSeen?e.item.uses===t.item.uses?e.item.text.length-t.item.text.length:t.item.uses-e.item.uses:t.item.lastSeen-e.item.lastSeen:e.match.start-t.match.start:e.match.span-t.match.span:e.match.kindRank-t.match.kindRank),o.slice(0,n).map(e=>({text:e.item.text,prefixEndIndex:e.match.prefixEndIndex,segments:xe(e.item.text,e.match.ranges)}))}function W(e,t=!0){let n=[],r=[];for(let t=0;t<e.length;t++){let i=G(e[t]);if(i===` `){if(!n.length)continue;let e=n.length-1;if(n[e]===` `){r[e][1]=t+1;continue}}n.push(i),r.push([t,t+1])}return t&&n[n.length-1]===` `&&(n.pop(),r.pop()),{text:n.join(``),ranges:r}}function G(e){if(/\s/u.test(e))return` `;try{return/[\p{P}\p{S}]/u.test(e)?` `:e.toLowerCase()}catch{return/[^a-z0-9\s]/i.test(e)?` `:e.toLowerCase()}}function ye(e,t,n,r){if(!e.text)return null;if(e.text.startsWith(n)){let e=be(t,n,r)??t.length,i=Math.max(0,Math.min(t.length,e));return{kindRank:0,start:0,span:n.length,ranges:[[0,i]],prefixEndIndex:i}}let i=e.text.indexOf(n);return i===-1?null:{kindRank:J(e.text,i,n.length),start:i,span:n.length,ranges:Y(e,i,i+n.length),prefixEndIndex:t.length}}function K(e,t){return t<=0||e[t-1]===` `}function q(e,t){return t>=e.length||e[t]===` `}function J(e,t,n){let r=K(e,t),i=q(e,t+n);return r&&i?1:r?2:3}function Y(e,t,n){let r=Math.max(0,Math.min(e.ranges.length,t)),i=Math.max(r,Math.min(e.ranges.length,n));return X(e.ranges.slice(r,i))}function be(e,t,n){if(!t)return null;let r=``,i=!0;for(let a=0;a<e.length;a++){let o=e[a],s;if(/\s/u.test(o))s=` `;else try{s=/[\p{P}\p{S}]/u.test(o)?` `:o.toLowerCase()}catch{s=/[^a-z0-9\s]/i.test(o)?` `:o.toLowerCase()}if(s===` `){if(i)continue;r+=` `,i=!0}else r+=s,i=!1;if(r.length===t.length){if(r!==t)return null;let i=a+1;if(n&&t.endsWith(` `)){let t=i;for(;t<e.length;){let n=e[t];if(/\s/u.test(n)){t+=1;continue}try{if(/[\p{P}\p{S}]/u.test(n)){t+=1;continue}}catch{if(/[^a-z0-9\s]/i.test(n)){t+=1;continue}}break}i=t}return i}if(r.length>t.length)return null}return null}function xe(e,t){let n=X(t);if(!n.length)return[{text:e,matched:!1}];let r=[],i=0;for(let[t,a]of n)t>i&&r.push({text:e.slice(i,t),matched:!1}),r.push({text:e.slice(t,a),matched:!0}),i=a;return i<e.length&&r.push({text:e.slice(i),matched:!1}),r.filter(e=>e.text.length>0)}function X(e){if(!e.length)return[];let t=e.map(([e,t])=>[Math.max(0,e),Math.max(0,t)]).filter(([e,t])=>t>e).sort((e,t)=>e[0]-t[0]||e[1]-t[1]);if(!t.length)return[];let n=[[t[0][0],t[0][1]]];for(let e=1;e<t.length;e++){let[r,i]=t[e],a=n[n.length-1];if(r<=a[1]){a[1]=Math.max(a[1],i);continue}n.push([r,i])}return n}var Se=s(`<form><h2 class="text-l mb-4 text-gray-300">Image URL</h2> <!> <!></form>`),Ce=s(`<div class="my-2 flex w-full justify-center"><div class="rounded-full border border-rc-gray-650 bg-rc-gray-800/40 px-3 py-1 text-xs text-rc-gray-200"> </div></div>`),we=s(`<div class="rounded-lg border border-rc-green-450 bg-transparent px-3 py-2 text-sm text-rc-gray-300">Generating 9 more variants…</div>`),Te=s(`<div class="rounded-lg border border-red-500/70 bg-red-950/20 px-3 py-2 text-sm text-red-200"> </div>`),Ee=s(`<button type="button"><div class="whitespace-pre-line break-words"> </div></button>`),De=s(`<div class="ml-7 mt-2 flex flex-col gap-2"><!> <!> <!></div>`),Oe=s(`<!> <div class="log-element"><div><!></div> <!></div>`,1),ke=s(`<div class="absolute bottom-2 left-2 right-2 z-10 flex items-center gap-3 rounded-lg border border-rc-green-450 bg-rc-gray-930/90 px-3 py-3 font-semibold text-rc-gray-100 shadow-inner-white-soft backdrop-blur-3xl"><span>Choose a variant above to continue</span> <button type="button" class="rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-300 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-100 focus:outline-none focus-visible:outline-none disabled:cursor-wait disabled:opacity-50">Regenerate</button> <button type="button" class="rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-300 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-100 focus:outline-none focus-visible:outline-none">Cancel</button></div>`),Ae=s(`<div class="absolute bottom-16 left-2 right-2 z-20 rounded-lg border border-red-500/60 bg-red-950/90 px-3 py-2 text-sm text-red-100 shadow-lg" role="alert"> </div>`),je=s(`<span> </span>`),Me=s(`<button type="button" role="option" tabindex="-1"></button>`),Ne=s(`<div class="absolute bottom-full left-0 right-0 mb-1 max-h-60 overflow-y-auto rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox"></div>`),Pe=s(`<div class="pointer-events-none absolute inset-0 z-10 overflow-hidden rounded-lg" aria-hidden="true"><div class="whitespace-pre text-rc-gray-400/70"><span class="invisible"> </span><span> </span></div></div>`),Fe=s(`<!> <form><fieldset class="absolute bottom-2 left-2 right-2 z-10 flex gap-2 disabled:opacity-35"><div class="relative flex-1"><!> <!> <button type="button" class="absolute bottom-0 left-3 top-0 z-20 inline-flex items-center border-r border-rc-gray-500/70 bg-transparent pr-2 text-base font-semibold leading-6 text-rc-gray-300 transition-colors duration-75 hover:text-rc-gray-300 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50"> </button> <!></div> <!> <!></fieldset></form>`,1),Ie=s(`<div class="rc-scroll min-h-0 flex-1 overflow-y-auto pr-1"></div> <!>`,1),Le=s(`<!> <!>`,1);function Z(e,n){d(n,!0);let s=h(n,`promptEditProposalId`,3,null),D=h(n,`analyzeDisabled`,3,!1),M=h(n,`variantSourceTrace`,3,null),ae=h(n,`variantChoices`,19,()=>[]),se=h(n,`variantLoading`,3,!1),R=h(n,`variantApplyingId`,3,null),pe=h(n,`variantError`,3,null),z=O(new Set),B=E(``),V=E(``),H=E(``),U,W=E(!1),G=E(null),ye=E(``),K=E(!1),q=E(`user`),J=E(null),Y=E(O([])),be=E(null),xe=E(!1),X=E(!1),Z=E(null),Q=b(()=>ve(i(B),i(Y))),Re=b(()=>i(Z)==null?null:i(Q)[i(Z)]??null),ze=b(()=>i(Re)?i(Re).text.slice(i(Re).prefixEndIndex):``),Be=b(()=>!M()&&!i(H)&&i(B).trim().length===0);k(()=>{if(typeof window>`u`)return;if(!i(G)){v(ye,``);return}let e=window.getComputedStyle(i(G)),t=`calc(${e.paddingTop} + ${e.borderTopWidth})`,n=`calc(${e.paddingRight} + ${e.borderRightWidth})`,r=`calc(${e.paddingBottom} + ${e.borderBottomWidth})`,a=`calc(${e.paddingLeft} + ${e.borderLeftWidth})`;v(ye,[`padding:${t} ${n} ${r} ${a}`,`font:${e.font}`,`letter-spacing:${e.letterSpacing}`,`line-height:${e.lineHeight}`,`text-indent:${e.textIndent}`,`text-transform:${e.textTransform}`,`text-align:${e.textAlign}`,`box-sizing:${e.boxSizing}`].join(`;`),!0)}),k(()=>{i(Z)!=null&&i(Z)>=i(Q).length&&v(Z,null)});let Ve=b(()=>M()||!i(xe)||i(X)?!1:i(Q).length>0);function He(e){v(B,e.text,!0),v(Z,null),v(X,!0)}function Ue(){v(xe,!0),v(X,!1)}function We(){v(xe,!1),v(Z,null),v(X,!1)}function Ge(){v(Z,null),v(X,!1)}function Ke(e){if(e.key===`Escape`){i(Ve)&&e.preventDefault(),v(X,!0),v(Z,null);return}if(e.key===`ArrowUp`||e.key===`ArrowDown`){if(!i(Q).length)return;i(X)&&v(X,!1),e.preventDefault();let t=i(Q).length-1;if(i(Z)===null)v(Z,e.key===`ArrowUp`?t:0,!0);else{let n=e.key===`ArrowUp`?-1:1;v(Z,Math.max(0,Math.min(t,i(Z)+n)),!0)}return}if(e.key===`Enter`||e.key===`Tab`&&!e.shiftKey){if(i(Z)===null)return;let t=i(Q)[i(Z)];if(!t)return;e.preventDefault(),He(t);return}}let qe=null,Je=!1,Ye=0;function Xe(){typeof window>`u`||U&&(!Je&&z.has(U)||(qe??=requestAnimationFrame(()=>{if(qe=null,!U||!Je&&z.has(U))return;let e=U.scrollHeight-(U.scrollTop+U.clientHeight),t=Je||e>U.clientHeight?`auto`:`smooth`;U.scrollTo({top:U.scrollHeight,behavior:t}),Je=!1})))}k(()=>{let e=I.length;e===0&&Ye>0&&(Je=!0,U&&z.delete(U)),Ye=e,e>0&&Xe()});function Ze(e){e.scrollTop+e.clientHeight+200>e.scrollHeight?z.delete(e):z.add(e)}function Qe(e){i(K)||(i(B).trim().length>0||i(H))&&(v(Y,ge(i(Y),i(B)),!0),n.onmessage({sender:e,text:i(B),imageUrl:i(H)}),v(H,``),v(B,``),v(q,`user`),v(X,!1),v(Z,null))}function $e(e){e.preventDefault(),Qe(i(q))}function et(){v(q,i(q)===`system`?`user`:`system`,!0),requestAnimationFrame(()=>i(G)?.focus())}function tt(e){e.preventDefault(),v(H,i(V),!0),v(V,``),v(W,!1)}function nt(e){return e&&typeof e.renderedPrompt==`string`?e.renderedPrompt:null}function rt(e,t){for(let n=t-1;n>=0;n--){let t=e[n];if(re(t)&&ne(t.name)&&nt(t))return t}for(let n=t-1;n>=0;n--){let t=e[n];if(re(t)&&t.name===`prewarm`&&nt(t))return t}return null}function it(e){return(e.eventName===`received-message`||e.eventName===`llm-handler-stream-requested`)&&!String(e.content??``).trim()?!1:e.eventName===`received-message`||e.eventName===`llm-handler-stream-requested`||e.eventName===`finished-main-streaming-step`||e.eventName===`sent-message`||e.eventName===`transfer-requested`||e.eventName===`hangup-requested`}function at(e){return!!(n.agentId&&n.agentId.trim())&&e.eventName!==`transfer-requested`&&(e.eventName===`finished-main-streaming-step`||e.eventName===`sent-message`)}function ot(e){return e.role===`user`||e.eventName===`received-message`||e.eventName===`llm-handler-stream-requested`}function st(e){let t=String(e??``).trim();return!t||/^\[image\]\s+/.test(t)?``:t}function ct(e){let t=e?.bosunInputMessageSender;return t===`system`?`system`:t===`user`?`user`:e.role===`system`?`system`:`user`}function lt(e){if(!n.onRevertToState)return;let t=e?.bosunPrevStateId,r=typeof t==`string`&&t.trim().length>0?t:null;n.onRevertToState(r);let a=typeof e?.bosunUserMessage==`string`?e.bosunUserMessage:e.content;v(B,st(a),!0),v(q,ct(e),!0),v(X,!1),v(Z,null),requestAnimationFrame(()=>{try{i(G)?.focus(),i(G)?.select()}catch{}})}function ut(){n.agentType===`text`?v(W,!0):n.agentType===`voice`&&n.onHangup?.()}let dt=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function ft(e){if(typeof e!=`number`||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,`0`)}-${String(t.getDate()).padStart(2,`0`)}`}function pt(e){if(typeof e!=`number`||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:`${t.getDate()} ${dt[t.getMonth()]} ${t.getFullYear()}`}let $=b(()=>I.filter(e=>ie(e)||re(e)?!0:L(e)?it(e):!1)),mt=b(()=>I.findLast(e=>L(e))?.eventName===`hangup-requested`),ht=b(()=>{let e=i($).map((e,t)=>({entry:e,index:t})).reverse().find(({entry:e,index:t})=>!L(e)||!at(e)?!1:i($).slice(0,t).some(e=>L(e)&&ot(e)));return e&&L(e.entry)?e.entry:null}),gt=b(()=>{let e=i(ht);if(!e)return null;try{let t=_t(e);return{model:t.model,stringifiedConversation:t.stringifiedConversation,response:t.response}}catch{return null}});function _t(e){if(!(n.agentId??``).trim())throw Error(`Agent id is not available; cannot analyze`);let t=I.indexOf(e);if(t===-1)throw Error(`Could not locate trace in chat history`);let r=de(I,t,{requireRenderedPrompt:!0});if(!r)throw Error(`Could not find main step trace for this message`);let i=typeof r.renderedPrompt==`string`?r.renderedPrompt:``;if(!i.trim())throw Error(`Main step rendered prompt is missing`);let a=typeof r.stringifiedConversation==`string`&&r.stringifiedConversation.trim()?r.stringifiedConversation:ce(I,t)??``,o=String(e?.content??``);if(!o.trim())throw Error(`Message content is missing`);let s=typeof r?.model==`string`?String(r.model):void 0,c=e?.createdAt;return{trace:e,stepTrace:r,renderedPrompt:i,stringifiedConversation:a,response:o,model:s,createdAt:typeof c==`number`&&Number.isFinite(c)?c:void 0}}function vt(e){if(n.onAnalyzeTrace)try{v(J,null),n.onAnalyzeTrace(_t(e))}catch(e){console.error(e),v(J,e instanceof Error?e.message:String(e),!0)}}function yt(e){if(n.onRegenerateTrace)try{v(J,null),n.onRegenerateTrace(e)}catch(e){console.error(e),v(J,e instanceof Error?e.message:String(e),!0)}}async function bt(){if(i(K))return;let e=i(gt);if(e){v(X,!0),v(Z,null),v(K,!0);try{let t=await F.agents.generateUserResponse.mutate(e);v(B,t.text,!0),v(X,!0),v(Z,null),requestAnimationFrame(()=>{try{i(G)?.focus(),i(G)?.setSelectionRange(t.text.length,t.text.length)}catch{}})}catch(e){console.error(`Failed to generate suggested user response`,e)}finally{v(K,!1)}}}k(()=>{if(typeof window>`u`)return;let e=(n.agentId??``).trim();if(!e||e===i(be))return;v(be,e,!0),v(Y,[],!0);let t=e,r=e;F.agents.userMessageHistory.query({agentId:t}).then(e=>{if(i(be)!==r)return;let t=he(e);v(Y,_e(t,i(Y)),!0),v(Z,null)}).catch(e=>{console.error(`Failed to load user message history`,e),i(be)===r&&(v(Y,[],!0),v(Z,null))})}),k(()=>{let e=M(),t=ae().length,n=se(),r=pe(),i=R();!e&&!t&&!n&&!r&&!i||Xe()});var xt=Le(),St=g(xt);me(St,{get isOpen(){return i(W)},onClose:()=>v(W,!1),showCloseButton:!0,children:(e,t)=>{j(e,{class:`p-4`,children:(e,t)=>{var n=Se(),o=T(x(n),2);oe(o,{class:`mb-2 w-80`,get value(){return i(V)},set value(e){v(V,e,!0)}});var s=T(o,2);N(s,{variant:`secondary`,type:`submit`,class:`ml-2 p-2`,children:(e,t)=>{l();var n=A(`Attach`);r(e,n)},$$slots:{default:!0}}),f(n),a(`submit`,n,tt),r(e,n)},$$slots:{default:!0}})},$$slots:{default:!0}});var Ct=T(St,2);j(Ct,{get class(){return`relative flex min-h-0 flex-col p-2 pb-16 ${n.class??``}`},children:(e,t)=>{var l=Ie(),d=g(l);u(d,21,()=>i($),C,(e,t,a)=>{let o=b(()=>ft(i(t).createdAt)),l=b(()=>a>0?ft(i($)[a-1].createdAt):null),d=b(()=>pt(i(t).createdAt));var p=Oe(),h=g(p),_=e=>{var t=Ce(),n=x(t),a=x(n,!0);f(n),f(t),y(()=>c(a,i(d))),r(e,t)};S(h,e=>{i(o)&&i(d)&&i(o)!==i(l)&&e(_)});var v=T(h,2),C=x(v),w=x(C),ee=e=>{ue(e,{get trace(){return i(t)}})},E=b(()=>ie(i(t))),O=e=>{{let r=b(()=>de(i($),a)),o=b(()=>n.onAnalyzeTrace?vt:void 0),c=b(()=>n.onRegenerateTrace?yt:void 0),l=b(()=>n.onRevertToState?lt:void 0),u=b(()=>!!n.onSeeVariants&&!M()&&i(t)===i(ht)),d=b(()=>M()&&i(t)===M()?`source`:`none`),f=b(()=>R()===null&&M()&&i(t)===M()?n.onChooseOriginalVariant:void 0),p=b(()=>!!M()&&i(t)===M());le(e,{testCreationMode:`direct`,get trace(){return i(t)},get context(){return n.context},get agentId(){return n.agentId},get promptEditProposalId(){return s()},get testSourceStep(){return i(r)},get testEntries(){return i($)},get analyzeDisabled(){return D()},get onAnalyze(){return i(o)},get onRegenerate(){return i(c)},get onRevert(){return i(l)},get showSeeVariants(){return i(u)},get onSeeVariants(){return n.onSeeVariants},get variantSelectionState(){return i(d)},get onSelectInVariantMode(){return i(f)},get suppressActionRow(){return i(p)}})}},k=b(()=>L(i(t))),A=e=>{{let r=b(()=>ce(i($),a)),o=b(()=>ne(i(t).name)?rt(i($),a):null);fe(e,{testCreationMode:`direct`,get trace(){return i(t)},get agentId(){return n.agentId},get promptEditProposalId(){return s()},get fallbackConversation(){return i(r)},get runtimeContext(){return n.context},get compareTrace(){return i(o)}})}},j=b(()=>re(i(t)));S(w,e=>{i(E)?e(ee):i(k)?e(O,1):i(j)&&e(A,2)}),f(C);var N=T(C,2),P=e=>{var t=De(),a=x(t),o=e=>{var t=we();r(e,t)};S(a,e=>{se()&&e(o)});var s=T(a,2),l=e=>{var t=Te(),n=x(t,!0);f(t),y(()=>c(n,pe())),r(e,t)};S(s,e=>{pe()&&e(l)});var d=T(s,2);u(d,17,ae,e=>e.id,(e,t)=>{var a=Ee(),o=x(a),s=x(o,!0);f(o),f(a),y(()=>{a.disabled=R()!==null,te(a,1,`w-full max-w-[83%] cursor-pointer rounded-lg border border-rc-green-450 bg-transparent p-2 pt-1 text-left text-rc-gray-100 backdrop-blur-md transition-colors hover:bg-rc-green-700 focus:outline-none focus-visible:outline-none disabled:cursor-wait disabled:opacity-70 ${R()===i(t).id?`bg-rc-green-700`:``}`),c(s,i(t).text)}),m(`click`,a,()=>n.onChooseVariant?.(i(t).id)),r(e,a)}),f(t),r(e,t)};S(N,e=>{M()&&i(t)===M()&&e(P)}),f(v),r(e,p)}),f(d),w(d,e=>U=e,()=>U);var h=T(d,2),E=e=>{var t=ke(),i=T(x(t),2),a=T(i,2);f(t),y(()=>i.disabled=!n.onRegenerateVariants||se()||R()!==null),m(`click`,i,()=>n.onRegenerateVariants?.()),m(`click`,a,()=>n.onCancelVariants?.()),r(e,t)},O=e=>{var t=Fe(),s=g(t),l=e=>{var t=Ae(),n=x(t,!0);f(t),y(()=>c(n,i(J))),r(e,t)};S(s,e=>{i(J)&&e(l)});var d=T(s,2),h=x(d),w=x(h),E=x(w),D=e=>{var t=Ne();u(t,23,()=>i(Q),e=>e.text,(e,t,n)=>{var a=Me();u(a,21,()=>i(t).segments,C,(e,t)=>{var n=je(),a=x(n,!0);f(n),y(()=>{te(n,1,p(i(t).matched?`text-rc-green-200`:``)),c(a,i(t).text)}),r(e,n)}),f(a),y(()=>{ee(a,`aria-selected`,i(Z)===i(n)),te(a,1,`w-full select-none border-b border-rc-gray-110 px-3 py-2 text-left font-semibold text-rc-gray-100 last:border-b-0 hover:bg-rc-gray-700/70 ${i(Z)===i(n)?`bg-rc-gray-700/70`:``}`)}),m(`mousedown`,a,e=>{e.preventDefault(),He(i(t))}),r(e,a)}),f(t),r(e,t)};S(E,e=>{i(Ve)&&e(D)});var O=T(E,2);{let e=b(()=>i(q)===`system`?`!border-emerald-500 !pl-[5.5rem] hover:!border-emerald-500 focus:!border-emerald-500`:`!pl-[4.25rem]`),t=b(()=>i(K)?`Generating`:`Enter message...`);oe(O,{variant:`chat`,get class(){return`!text-base !leading-6 !duration-75 ${i(e)??``}`},get placeholder(){return i(t)},autocomplete:`off`,get readonly(){return i(K)},onfocus:Ue,onblur:We,oninput:Ge,onkeydown:Ke,get value(){return i(B)},set value(e){v(B,e,!0)},get el(){return i(G)},set el(e){v(G,e,!0)}})}var k=T(O,2),A=x(k,!0);f(k);var j=T(k,2),M=e=>{var t=Pe(),n=x(t),a=x(n),o=x(a,!0);f(a);var s=T(a),l=x(s,!0);f(s),f(n),f(t),y(()=>{_(n,i(ye)),c(o,i(B)),c(l,i(ze))}),r(e,t)};S(j,e=>{i(Z)!==null&&i(ze)&&e(M)}),f(w);var F=T(w,2);{let e=b(()=>i(K)||!n.agentType);N(F,{size:`small`,variant:`secondary`,get disabled(){return i(e)},onclick:ut,children:(e,t)=>{var i=o(),a=g(i),s=e=>{P(e,{name:`paperclip`})},c=e=>{P(e,{name:`hangup`})};S(a,e=>{n.agentType===`text`?e(s):n.agentType===`voice`&&e(c,1)}),r(e,i)},$$slots:{default:!0}})}var ne=T(F,2),re=e=>{{let t=b(()=>i(K)||!i(gt));N(e,{size:`small`,type:`button`,title:`Generate response`,"aria-label":`Generate response`,get disabled(){return i(t)},class:`inline-flex !w-[59px] items-center justify-center !px-0`,onclick:e=>{e.preventDefault(),bt()},children:(e,t)=>{P(e,{name:`sparkles`})},$$slots:{default:!0}})}},I=e=>{{let t=b(()=>i(q)===`system`?`Send as system`:`Send as user`),n=b(()=>i(q)===`system`?`Send as system`:`Send as user`);N(e,{size:`small`,type:`submit`,get title(){return i(t)},get"aria-label"(){return i(n)},get disabled(){return i(K)},class:`inline-flex !w-[59px] items-center justify-center !px-0`,children:(e,t)=>{P(e,{name:`send`})},$$slots:{default:!0}})}};S(ne,e=>{i(Be)?e(re):e(I,-1)}),f(h),f(d),y(()=>{h.disabled=i(mt),ee(k,`title`,i(q)===`system`?`Switch to user`:`Switch to system`),ee(k,`aria-label`,i(q)===`system`?`Switch to user`:`Switch to system`),k.disabled=i(K),c(A,i(q)===`system`?`System`:`User`)}),a(`submit`,d,$e),m(`click`,k,e=>{e.preventDefault(),e.stopPropagation(),et()}),r(e,t)};S(h,e=>{M()?e(E):e(O,-1)}),a(`scroll`,d,e=>Ze(e.target)),r(e,l)},$$slots:{default:!0}}),r(e,xt),t()}e([`click`,`mousedown`]);var Q=s(`<div class="mt-1 w-max overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox"><!> <!> <!></div>`),Re=s(`<div class="flex h-full items-center justify-center text-sm text-rc-gray-300">Connecting…</div>`),ze=s(`<div class="flex h-full items-center justify-center text-sm text-rc-gray-300">Select an agent to start chatting</div>`),Be=s(`<div class="h-full min-h-0 p-2"><!></div>`),Ve=s(`<div class="relative flex h-full min-h-0 flex-col"><div class="flex flex-none flex-nowrap items-center gap-2 p-2"><!> <div class="ml-auto flex flex-none flex-nowrap items-center gap-2"><!> <!> <!> <!></div></div> <div class="min-h-0 flex-1"><!></div></div>`);function He(e,n){d(n,!0);let{state:a,actions:s}=M(),c=E(!1),u=E(null),p=b(()=>{let e=a.currentStep?.name;return e?Object.values(a.promptEdits).find(t=>t.agentId===a.agentId&&t.step===e)?.id??null:null}),m=E(null),h=null,_=E(!1),y=E(null);b(()=>I.reduce((e,t)=>Math.max(e,ne(t)??0),0)),k(()=>{!I.length&&!ae.length&&i(_)&&v(_,!1)});function C(e){let t=(e||``).trim();return t?t.split(`/`).at(-1)??t:`Agent`}function w(e){if(typeof e!=`number`||!Number.isFinite(e))return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}`}async function ee(e){if(i(c))return;v(c,!0);let t=s.openPopover(`analyze`),n=w(e.createdAt),r=n?` • ${n}`:``,o=`Analysis — ${C(a.agentId)}${r}`;try{let n=await F.agents.analyzeTrace.mutate({agentId:a.agentId,traceId:e.trace?.traceId,eventName:e.trace.eventName,createdAt:e.createdAt,model:e.model,renderedPrompt:e.renderedPrompt,stringifiedConversation:e.stringifiedConversation,response:e.response,stepTrace:e.stepTrace});if(a.edit.popover?.requestId!==t)return;s.setHighlightQuotes(n.quotes);let r=null;try{r=JSON.stringify(n.raw,null,2)}catch{r=null}s.setPopoverReady(t,{title:o,quotes:n.quotes,rationales:n.rationales,parallelCalls:n.parallelCalls,raw:r})}catch(e){console.error(e);let n=typeof e?.message==`string`?e.message:(()=>{try{return JSON.stringify(e)}catch{return String(e)}})();s.setPopoverError(t,n||`Failed to analyze this response`,{raw:n})}finally{v(c,!1)}}function D(e){return e?I:I.map(e=>{if(!re(e))return e;let{receivedPrompt:t,renderedPrompt:n,...r}=e;return r})}function O(e){v(m,e,!0),h&&clearTimeout(h),h=window.setTimeout(()=>{v(m,null),h=null},2e3)}async function te(){try{await navigator.clipboard.writeText(JSON.stringify(ae,null,2)),O(`logs`)}catch(e){console.error(`Failed to copy logs`,e)}}async function j(e){try{await navigator.clipboard.writeText(JSON.stringify(D(e),null,2)),O(e?`with-prompts`:`without-prompts`)}catch(e){console.error(`Failed to copy traces`,e)}}function P(){L(),s.closePopover(),s.newConversation()}function ne(e){let t=e?.bosunTurn;return typeof t==`number`&&t>0?t:null}function ie(e){L();let t=ne(e);if(!t){console.warn(`Cannot regenerate: this response has no turn metadata`);return}s.regenerateFromTurn(t)}function L(){v(u,null)}function oe(e){let t=I.indexOf(e),n=t===-1?null:de(I,t);return n&&n.receivedContext!==void 0?se(n.receivedContext):{}}function ce(e){return oe(e)}async function le(e){let t=a.conversationId;if(!t)return;let n=s.getPromptOverrides();await s.flushPromptSave(),v(u,{sourceTrace:e,choices:[],loading:!0,applyingId:null,error:null},!0);try{let r=await F.agents.generateVariants.mutate({conversationId:t,context:ce(e),promptOverrides:n,count:9});if(!i(u)||i(u).sourceTrace!==e)return;v(u,{...i(u),choices:r,loading:!1,error:null},!0)}catch(t){if(console.error(`Failed to generate variants`,t),!i(u)||i(u).sourceTrace!==e)return;v(u,{...i(u),choices:[],loading:!1,error:typeof t?.message==`string`?t.message:`Failed to generate variants`},!0)}}function ue(e){le(e)}function fe(){s.hangup()}function pe(){let e=i(u)?.sourceTrace;e&&le(e)}async function z(e){let t=a.conversationId;if(!i(u)||!t)return;let n=i(u).choices.find(t=>t.id===e);if(n){v(u,{...i(u),applyingId:e,error:null},!0);try{await F.agents.commitVariant.mutate({conversationId:t,entries:n.entries}),L(),s.selectConversation(t)}catch(e){if(console.error(`Failed to apply variant`,e),!i(u))return;v(u,{...i(u),applyingId:null,error:typeof e?.message==`string`?e.message:`Failed to apply variant`},!0)}}}function B(){L()}k(()=>{let e=i(u),t=a.agentId,n=e?.sourceTrace;!e||!n||(!t||!I.includes(n))&&v(u,null)});var V=Ve(),U=x(V),me=x(U),he=e=>{H(e,{get conversations(){return a.conversations},get currentConversationId(){return a.conversationId},class:`ml-9`,onSelect:e=>s.selectConversation(e)})};S(me,e=>{a.conversations.length>0&&e(he)});var ge=T(me,2),_e=x(ge);{let e=b(()=>!a.context);N(_e,{variant:`secondary`,size:`small`,get disabled(){return i(e)},get"aria-expanded"(){return a.contextPopoverOpen},"aria-haspopup":`dialog`,get onclick(){return s.toggleContextPopover},children:(e,t)=>{l();var n=A(`Show context`);r(e,n)},$$slots:{default:!0}})}var ve=T(_e,2);{let e=b(()=>!I.length&&!ae.length);N(ve,{variant:`secondary`,size:`small`,get disabled(){return i(e)},get"aria-expanded"(){return i(_)},"aria-haspopup":`listbox`,"aria-controls":`roleplay-copy-dropdown`,onclick:e=>{e.stopPropagation(),v(_,!i(_))},get el(){return i(y)},set el(e){v(y,e,!0)},children:(e,t)=>{var n=o(),a=g(n),s=e=>{var t=A(`Copied logs`);r(e,t)},c=e=>{var t=A(`Copied traces (with prompts)`);r(e,t)},l=e=>{var t=A(`Copied traces (without prompts)`);r(e,t)},u=e=>{var t=A(`Copy...`);r(e,t)};S(a,e=>{i(m)===`logs`?e(s):i(m)===`with-prompts`?e(c,1):i(m)===`without-prompts`?e(l,2):e(u,-1)}),r(e,n)},$$slots:{default:!0}})}var W=T(ve,2);R(W,{id:`roleplay-copy-dropdown`,get open(){return i(_)},onClose:()=>v(_,!1),get anchorEl(){return i(y)},placement:`bottom-end`,offset:[0,1],children:e=>{var t=Q(),n=x(t);{let e=b(()=>!ae.length);N(n,{variant:`ghost`,size:`small`,role:`option`,get disabled(){return i(e)},onclick:e=>{e.stopPropagation(),v(_,!1),te()},class:`block rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400`,children:(e,t)=>{l();var n=A(`Copy logs`);r(e,n)},$$slots:{default:!0}})}var a=T(n,2);{let e=b(()=>!I.length);N(a,{variant:`ghost`,size:`small`,role:`option`,get disabled(){return i(e)},onclick:e=>{e.stopPropagation(),v(_,!1),j(!0)},class:`block rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400`,children:(e,t)=>{l();var n=A(`Copy traces with prompts`);r(e,n)},$$slots:{default:!0}})}var o=T(a,2);{let e=b(()=>!I.length);N(o,{variant:`ghost`,size:`small`,role:`option`,get disabled(){return i(e)},onclick:e=>{e.stopPropagation(),v(_,!1),j(!1)},class:`block rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400`,children:(e,t)=>{l();var n=A(`Copy traces without prompts`);r(e,n)},$$slots:{default:!0}})}f(t),r(e,t)},$$slots:{default:!0}});var G=T(W,2);N(G,{size:`small`,onclick:P,children:(e,t)=>{l();var n=A(`New chat`);r(e,n)},$$slots:{default:!0}}),f(ge),f(U);var ye=T(U,2),K=x(ye),q=e=>{var t=Re();r(e,t)},J=e=>{var t=ze();r(e,t)},Y=e=>{var t=Be(),n=x(t);{let e=b(()=>i(u)?.sourceTrace??null),t=b(()=>i(u)?.choices??[]),r=b(()=>i(u)?.loading??!1),o=b(()=>i(u)?.applyingId??null),l=b(()=>i(u)?.error??null);Z(n,{class:`h-full min-w-0`,context:null,get agentId(){return a.agentId},get promptEditProposalId(){return i(p)},get agentType(){return a.agentType},onmessage:e=>s.sendChatMessage(e),get analyzeDisabled(){return i(c)},onAnalyzeTrace:ee,onRegenerateTrace:ie,onSeeVariants:ue,onHangup:fe,get variantSourceTrace(){return i(e)},get variantChoices(){return i(t)},get variantLoading(){return i(r)},get variantApplyingId(){return i(o)},get variantError(){return i(l)},onCancelVariants:L,onRegenerateVariants:pe,onChooseOriginalVariant:B,onChooseVariant:z})}f(t),r(e,t)};S(K,e=>{!a.wsLoaded||!a.chatReady?e(q):a.agentId?e(Y,-1):e(J,1)}),f(ye),f(V),r(e,V),t()}export{He as component};
@@ -0,0 +1,24 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/CUZn05nQ.js","../chunks/hePW80VL.js","../chunks/HclGiUj8.js","../chunks/C_yvzB4Z.js","../assets/editor.chSTM-fo.css","../assets/editor.BoJhDcRF.css"])))=>i.map(i=>d[i]);
2
+ import{A as e,B as t,D as n,Dt as r,F as i,G as a,I as o,L as s,N as c,Nt as l,O as u,Ot as d,Pt as f,R as p,S as m,V as h,_ as g,a as _,at as v,b as ee,d as y,dt as b,et as x,f as S,g as C,gt as w,it as T,j as E,k as D,l as O,m as k,mt as A,n as j,o as M,ot as N,p as te,pt as P,q as F,r as I,st as L,tt as R,u as ne,w as re,x as z,z as B}from"../chunks/CPCsWwEy.js";import{t as V}from"../chunks/HclGiUj8.js";import"../chunks/xihTtKlq.js";import{t as H}from"../chunks/CdnbUlBq.js";import{r as U,t as ie}from"../chunks/oarl--hZ.js";import{t as W}from"../chunks/6OCsQ6r7.js";import{t as ae}from"../chunks/Cf3l6QEG.js";import{n as oe,t as se}from"../chunks/BJqZY8o2.js";import{t as ce}from"../chunks/BP0Xadq7.js";import{i as le,t as ue}from"../chunks/BT98u4gR.js";import{t as G}from"../chunks/DWoqp3ac.js";import{a as de,c as fe,o as pe,r as K,s as me,t as he}from"../chunks/12bfCwgn.js";import{t as ge}from"../chunks/B9YnyJ2j.js";import{t as _e}from"../chunks/D3fLfD-Y.js";import{t as ve}from"../chunks/CL717zGu.js";var ye=/^[a-z0-9]+(-[a-z0-9]+)*$/,be=(e,t,n,r=``)=>{let i=e.split(`:`);if(e.slice(0,1)===`@`){if(i.length<2||i.length>3)return null;r=i.shift().slice(1)}if(i.length>3||!i.length)return null;if(i.length>1){let e=i.pop(),n=i.pop(),a={provider:i.length>0?i[0]:r,prefix:n,name:e};return t&&!xe(a)?null:a}let a=i[0],o=a.split(`-`);if(o.length>1){let e={provider:r,prefix:o.shift(),name:o.join(`-`)};return t&&!xe(e)?null:e}if(n&&r===``){let e={provider:r,prefix:``,name:a};return t&&!xe(e,n)?null:e}return null},xe=(e,t)=>e?!!((t&&e.prefix===``||e.prefix)&&e.name):!1;function Se(e,t){let n=e.icons,r=e.aliases||Object.create(null),i=Object.create(null);function a(e){if(n[e])return i[e]=[];if(!(e in i)){i[e]=null;let t=r[e]&&r[e].parent,n=t&&a(t);n&&(i[e]=[t].concat(n))}return i[e]}return Object.keys(n).concat(Object.keys(r)).forEach(a),i}var Ce=Object.freeze({left:0,top:0,width:16,height:16}),we=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),Te=Object.freeze({...Ce,...we}),Ee=Object.freeze({...Te,body:``,hidden:!1});function De(e,t){let n={};!e.hFlip!=!t.hFlip&&(n.hFlip=!0),!e.vFlip!=!t.vFlip&&(n.vFlip=!0);let r=((e.rotate||0)+(t.rotate||0))%4;return r&&(n.rotate=r),n}function Oe(e,t){let n=De(e,t);for(let r in Ee)r in we?r in e&&!(r in n)&&(n[r]=we[r]):r in t?n[r]=t[r]:r in e&&(n[r]=e[r]);return n}function ke(e,t,n){let r=e.icons,i=e.aliases||Object.create(null),a={};function o(e){a=Oe(r[e]||i[e],a)}return o(t),n.forEach(o),Oe(e,a)}function q(e,t){let n=[];if(typeof e!=`object`||typeof e.icons!=`object`)return n;e.not_found instanceof Array&&e.not_found.forEach(e=>{t(e,null),n.push(e)});let r=Se(e);for(let i in r){let a=r[i];a&&(t(i,ke(e,i,a)),n.push(i))}return n}var Ae={provider:``,aliases:{},not_found:{},...Ce};function je(e,t){for(let n in t)if(n in e&&typeof e[n]!=typeof t[n])return!1;return!0}function Me(e){if(typeof e!=`object`||!e)return null;let t=e;if(typeof t.prefix!=`string`||!e.icons||typeof e.icons!=`object`||!je(e,Ae))return null;let n=t.icons;for(let e in n){let t=n[e];if(!e||typeof t.body!=`string`||!je(t,Ee))return null}let r=t.aliases||Object.create(null);for(let e in r){let t=r[e],i=t.parent;if(!e||typeof i!=`string`||!n[i]&&!r[i]||!je(t,Ee))return null}return t}var Ne=Object.create(null);function Pe(e,t){return{provider:e,prefix:t,icons:Object.create(null),missing:new Set}}function Fe(e,t){let n=Ne[e]||(Ne[e]=Object.create(null));return n[t]||(n[t]=Pe(e,t))}function J(e,t){return Me(t)?q(t,(t,n)=>{n?e.icons[t]=n:e.missing.add(t)}):[]}function Ie(e,t,n){try{if(typeof n.body==`string`)return e.icons[t]={...n},!0}catch{}return!1}var Le=!1;function Re(e){return typeof e==`boolean`&&(Le=e),Le}function ze(e){let t=typeof e==`string`?be(e,!0,Le):e;if(t){let e=Fe(t.provider,t.prefix),n=t.name;return e.icons[n]||(e.missing.has(n)?null:void 0)}}function Be(e,t){let n=be(e,!0,Le);if(!n)return!1;let r=Fe(n.provider,n.prefix);return t?Ie(r,n.name,t):(r.missing.add(n.name),!0)}function Ve(e,t){if(typeof e!=`object`)return!1;if(typeof t!=`string`&&(t=e.provider||``),Le&&!t&&!e.prefix){let t=!1;return Me(e)&&(e.prefix=``,q(e,(e,n)=>{Be(e,n)&&(t=!0)})),t}let n=e.prefix;return xe({prefix:n,name:`a`})?!!J(Fe(t,n),e):!1}var He=Object.freeze({width:null,height:null}),Ue=Object.freeze({...He,...we}),Y=/(-?[0-9.]*[0-9]+[0-9.]*)/g,We=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function X(e,t,n){if(t===1)return e;if(n||=100,typeof e==`number`)return Math.ceil(e*t*n)/n;if(typeof e!=`string`)return e;let r=e.split(Y);if(r===null||!r.length)return e;let i=[],a=r.shift(),o=We.test(a);for(;;){if(o){let e=parseFloat(a);isNaN(e)?i.push(a):i.push(Math.ceil(e*t*n)/n)}else i.push(a);if(a=r.shift(),a===void 0)return i.join(``);o=!o}}function Ge(e,t=`defs`){let n=``,r=e.indexOf(`<`+t);for(;r>=0;){let i=e.indexOf(`>`,r),a=e.indexOf(`</`+t);if(i===-1||a===-1)break;let o=e.indexOf(`>`,a);if(o===-1)break;n+=e.slice(i+1,a).trim(),e=e.slice(0,r).trim()+e.slice(o+1)}return{defs:n,content:e}}function Ke(e,t){return e?`<defs>`+e+`</defs>`+t:t}function qe(e,t,n){let r=Ge(e);return Ke(r.defs,t+r.content+n)}var Z=e=>e===`unset`||e===`undefined`||e===`none`;function Je(e,t){let n={...Te,...e},r={...Ue,...t},i={left:n.left,top:n.top,width:n.width,height:n.height},a=n.body;[n,r].forEach(e=>{let t=[],n=e.hFlip,r=e.vFlip,o=e.rotate;n?r?o+=2:(t.push(`translate(`+(i.width+i.left).toString()+` `+(0-i.top).toString()+`)`),t.push(`scale(-1 1)`),i.top=i.left=0):r&&(t.push(`translate(`+(0-i.left).toString()+` `+(i.height+i.top).toString()+`)`),t.push(`scale(1 -1)`),i.top=i.left=0);let s;switch(o<0&&(o-=Math.floor(o/4)*4),o%=4,o){case 1:s=i.height/2+i.top,t.unshift(`rotate(90 `+s.toString()+` `+s.toString()+`)`);break;case 2:t.unshift(`rotate(180 `+(i.width/2+i.left).toString()+` `+(i.height/2+i.top).toString()+`)`);break;case 3:s=i.width/2+i.left,t.unshift(`rotate(-90 `+s.toString()+` `+s.toString()+`)`)}o%2==1&&(i.left!==i.top&&(s=i.left,i.left=i.top,i.top=s),i.width!==i.height&&(s=i.width,i.width=i.height,i.height=s)),t.length&&(a=qe(a,`<g transform="`+t.join(` `)+`">`,`</g>`))});let o=r.width,s=r.height,c=i.width,l=i.height,u,d;o===null?(d=s===null?`1em`:s===`auto`?l:s,u=X(d,c/l)):(u=o===`auto`?c:o,d=s===null?X(u,l/c):s===`auto`?l:s);let f={},p=(e,t)=>{Z(t)||(f[e]=t.toString())};p(`width`,u),p(`height`,d);let m=[i.left,i.top,c,l];return f.viewBox=m.join(` `),{attributes:f,viewBox:m,body:a}}var Ye=/\sid="(\S+)"/g,Xe=new Map;function Ze(e){e=e.replace(/[0-9]+$/,``)||`a`;let t=Xe.get(e)||0;return Xe.set(e,t+1),t?`${e}${t}`:e}function Qe(e){let t=[],n;for(;n=Ye.exec(e);)t.push(n[1]);if(!t.length)return e;let r=`suffix`+(Math.random()*16777216|Date.now()).toString(16);return t.forEach(t=>{let n=Ze(t),i=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);e=e.replace(RegExp(`([#;"])(`+i+`)([")]|\\.[a-z])`,`g`),`$1`+n+r+`$3`)}),e=e.replace(new RegExp(r,`g`),``),e}var $e=Object.create(null);function et(e,t){$e[e]=t}function tt(e){return $e[e]||$e[``]}function nt(e){let t;if(typeof e.resources==`string`)t=[e.resources];else if(t=e.resources,!(t instanceof Array)||!t.length)return null;return{resources:t,path:e.path||`/`,maxURL:e.maxURL||500,rotate:e.rotate||750,timeout:e.timeout||5e3,random:e.random===!0,index:e.index||0,dataAfterTimeout:e.dataAfterTimeout!==!1}}for(var rt=Object.create(null),it=[`https://api.simplesvg.com`,`https://api.unisvg.com`],at=[];it.length>0;)it.length===1||Math.random()>.5?at.push(it.shift()):at.push(it.pop());rt[``]=nt({resources:[`https://api.iconify.design`].concat(at)});function Q(e,t){let n=nt(t);return n!==null&&(rt[e]=n,!0)}function $(e){return rt[e]}var ot=(()=>{let e;try{if(e=fetch,typeof e==`function`)return e}catch{}})();function st(e,t){let n=$(e);if(!n)return 0;let r;if(!n.maxURL)r=0;else{let e=0;n.resources.forEach(t=>{e=Math.max(e,t.length)});let i=t+`.json?icons=`;r=n.maxURL-e-n.path.length-i.length}return r}function ct(e){return e===404}var lt=(e,t,n)=>{let r=[],i=st(e,t),a=`icons`,o={type:a,provider:e,prefix:t,icons:[]},s=0;return n.forEach((n,c)=>{s+=n.length+1,s>=i&&c>0&&(r.push(o),o={type:a,provider:e,prefix:t,icons:[]},s=n.length),o.icons.push(n)}),r.push(o),r};function ut(e){if(typeof e==`string`){let t=$(e);if(t)return t.path}return`/`}var dt={prepare:lt,send:(e,t,n)=>{if(!ot){n(`abort`,424);return}let r=ut(t.provider);switch(t.type){case`icons`:{let e=t.prefix,n=t.icons.join(`,`),i=new URLSearchParams({icons:n});r+=e+`.json?`+i.toString();break}case`custom`:{let e=t.uri;r+=e.slice(0,1)===`/`?e.slice(1):e;break}default:n(`abort`,400);return}let i=503;ot(e+r).then(e=>{let t=e.status;if(t!==200){setTimeout(()=>{n(ct(t)?`abort`:`next`,t)});return}return i=501,e.json()}).then(e=>{if(typeof e!=`object`||!e){setTimeout(()=>{e===404?n(`abort`,e):n(`next`,i)});return}setTimeout(()=>{n(`success`,e)})}).catch(()=>{n(`next`,i)})}};function ft(e,t){e.forEach(e=>{let n=e.loaderCallbacks;n&&(e.loaderCallbacks=n.filter(e=>e.id!==t))})}function pt(e){e.pendingCallbacksFlag||(e.pendingCallbacksFlag=!0,setTimeout(()=>{e.pendingCallbacksFlag=!1;let t=e.loaderCallbacks?e.loaderCallbacks.slice(0):[];if(!t.length)return;let n=!1,r=e.provider,i=e.prefix;t.forEach(t=>{let a=t.icons,o=a.pending.length;a.pending=a.pending.filter(t=>{if(t.prefix!==i)return!0;let o=t.name;if(e.icons[o])a.loaded.push({provider:r,prefix:i,name:o});else if(e.missing.has(o))a.missing.push({provider:r,prefix:i,name:o});else return n=!0,!0;return!1}),a.pending.length!==o&&(n||ft([e],t.id),t.callback(a.loaded.slice(0),a.missing.slice(0),a.pending.slice(0),t.abort))})}))}var mt=0;function ht(e,t,n){let r=mt++,i=ft.bind(null,n,r);if(!t.pending.length)return i;let a={id:r,icons:t,callback:e,abort:i};return n.forEach(e=>{(e.loaderCallbacks||=[]).push(a)}),i}function gt(e){let t={loaded:[],missing:[],pending:[]},n=Object.create(null);e.sort((e,t)=>e.provider===t.provider?e.prefix===t.prefix?e.name.localeCompare(t.name):e.prefix.localeCompare(t.prefix):e.provider.localeCompare(t.provider));let r={provider:``,prefix:``,name:``};return e.forEach(e=>{if(r.name===e.name&&r.prefix===e.prefix&&r.provider===e.provider)return;r=e;let i=e.provider,a=e.prefix,o=e.name,s=n[i]||(n[i]=Object.create(null)),c=s[a]||(s[a]=Fe(i,a)),l;l=o in c.icons?t.loaded:a===``||c.missing.has(o)?t.missing:t.pending;let u={provider:i,prefix:a,name:o};l.push(u)}),t}function _t(e,t=!0,n=!1){let r=[];return e.forEach(e=>{let i=typeof e==`string`?be(e,t,n):e;i&&r.push(i)}),r}var vt={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function yt(e,t,n,r){let i=e.resources.length,a=e.random?Math.floor(Math.random()*i):e.index,o;if(e.random){let t=e.resources.slice(0);for(o=[];t.length>1;){let e=Math.floor(Math.random()*t.length);o.push(t[e]),t=t.slice(0,e).concat(t.slice(e+1))}o=o.concat(t)}else o=e.resources.slice(a).concat(e.resources.slice(0,a));let s=Date.now(),c=`pending`,l=0,u,d=null,f=[],p=[];typeof r==`function`&&p.push(r);function m(){d&&=(clearTimeout(d),null)}function h(){c===`pending`&&(c=`aborted`),m(),f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function g(e,t){t&&(p=[]),typeof e==`function`&&p.push(e)}function _(){return{startTime:s,payload:t,status:c,queriesSent:l,queriesPending:f.length,subscribe:g,abort:h}}function v(){c=`failed`,p.forEach(e=>{e(void 0,u)})}function ee(){f.forEach(e=>{e.status===`pending`&&(e.status=`aborted`)}),f=[]}function y(t,n,r){let i=n!==`success`;switch(f=f.filter(e=>e!==t),c){case`pending`:break;case`failed`:if(i||!e.dataAfterTimeout)return;break;default:return}if(n===`abort`){u=r,v();return}if(i){u=r,f.length||(o.length?b():v());return}if(m(),ee(),!e.random){let n=e.resources.indexOf(t.resource);n!==-1&&n!==e.index&&(e.index=n)}c=`completed`,p.forEach(e=>{e(r)})}function b(){if(c!==`pending`)return;m();let r=o.shift();if(r===void 0){if(f.length){d=setTimeout(()=>{m(),c===`pending`&&(ee(),v())},e.timeout);return}v();return}let i={status:`pending`,resource:r,callback:(e,t)=>{y(i,e,t)}};f.push(i),l++,d=setTimeout(b,e.rotate),n(r,t,i.callback)}return setTimeout(b),_}function bt(e){let t={...vt,...e},n=[];function r(){n=n.filter(e=>e().status===`pending`)}function i(e,i,a){let o=yt(t,e,i,(e,t)=>{r(),a&&a(e,t)});return n.push(o),o}function a(e){return n.find(t=>e(t))||null}return{query:i,find:a,setIndex:e=>{t.index=e},getIndex:()=>t.index,cleanup:r}}function xt(){}var St=Object.create(null);function Ct(e){if(!St[e]){let t=$(e);if(!t)return;St[e]={config:t,redundancy:bt(t)}}return St[e]}function wt(e,t,n){let r,i;if(typeof e==`string`){let t=tt(e);if(!t)return n(void 0,424),xt;i=t.send;let a=Ct(e);a&&(r=a.redundancy)}else{let t=nt(e);if(t){r=bt(t);let n=tt(e.resources?e.resources[0]:``);n&&(i=n.send)}}return!r||!i?(n(void 0,424),xt):r.query(t,i,n)().abort}function Tt(){}function Et(e){e.iconsLoaderFlag||(e.iconsLoaderFlag=!0,setTimeout(()=>{e.iconsLoaderFlag=!1,pt(e)}))}function Dt(e){let t=[],n=[];return e.forEach(e=>{(e.match(ye)?t:n).push(e)}),{valid:t,invalid:n}}function Ot(e,t,n){function r(){let n=e.pendingIcons;t.forEach(t=>{n&&n.delete(t),e.icons[t]||e.missing.add(t)})}if(n&&typeof n==`object`)try{if(!J(e,n).length){r();return}}catch(e){console.error(e)}r(),Et(e)}function kt(e,t){e instanceof Promise?e.then(e=>{t(e)}).catch(()=>{t(null)}):t(e)}function At(e,t){e.iconsToLoad=e.iconsToLoad?e.iconsToLoad.concat(t).sort():t,e.iconsQueueFlag||(e.iconsQueueFlag=!0,setTimeout(()=>{e.iconsQueueFlag=!1;let{provider:t,prefix:n}=e,r=e.iconsToLoad;if(delete e.iconsToLoad,!r||!r.length)return;let i=e.loadIcon;if(e.loadIcons&&(r.length>1||!i)){kt(e.loadIcons(r,n,t),t=>{Ot(e,r,t)});return}if(i){r.forEach(r=>{kt(i(r,n,t),t=>{Ot(e,[r],t?{prefix:n,icons:{[r]:t}}:null)})});return}let{valid:a,invalid:o}=Dt(r);if(o.length&&Ot(e,o,null),!a.length)return;let s=n.match(ye)?tt(t):null;if(!s){Ot(e,a,null);return}s.prepare(t,n,a).forEach(n=>{wt(t,n,t=>{Ot(e,n.icons,t)})})}))}var jt=(e,t)=>{let n=gt(_t(e,!0,Re()));if(!n.pending.length){let e=!0;return t&&setTimeout(()=>{e&&t(n.loaded,n.missing,n.pending,Tt)}),()=>{e=!1}}let r=Object.create(null),i=[],a,o;return n.pending.forEach(e=>{let{provider:t,prefix:n}=e;if(n===o&&t===a)return;a=t,o=n,i.push(Fe(t,n));let s=r[t]||(r[t]=Object.create(null));s[n]||(s[n]=[])}),n.pending.forEach(e=>{let{provider:t,prefix:n,name:i}=e,a=Fe(t,n),o=a.pendingIcons||=new Set;o.has(i)||(o.add(i),r[t][n].push(i))}),i.forEach(e=>{let t=r[e.provider][e.prefix];t.length&&At(e,t)}),t?ht(t,n,i):Tt};function Mt(e,t){let n={...e};for(let e in t){let r=t[e],i=typeof r;e in He?(r===null||r&&(i===`string`||i===`number`))&&(n[e]=r):i===typeof n[e]&&(n[e]=e===`rotate`?r%4:r)}return n}var Nt=/[\s,]+/;function Pt(e,t){t.split(Nt).forEach(t=>{switch(t.trim()){case`horizontal`:e.hFlip=!0;break;case`vertical`:e.vFlip=!0}})}function Ft(e,t=0){let n=e.replace(/^-?[0-9.]*/,``);function r(e){for(;e<0;)e+=4;return e%4}if(n===``){let t=parseInt(e);return isNaN(t)?0:r(t)}if(n!==e){let t=0;switch(n){case`%`:t=25;break;case`deg`:t=90}if(t){let i=parseFloat(e.slice(0,e.length-n.length));return isNaN(i)?0:(i/=t,i%1==0?r(i):0)}}return t}function It(e,t){let n=e.indexOf(`xlink:`)===-1?``:` xmlns:xlink="http://www.w3.org/1999/xlink"`;for(let e in t)n+=` `+e+`="`+t[e]+`"`;return`<svg xmlns="http://www.w3.org/2000/svg"`+n+`>`+e+`</svg>`}function Lt(e){return e.replace(/"/g,`'`).replace(/%/g,`%25`).replace(/#/g,`%23`).replace(/</g,`%3C`).replace(/>/g,`%3E`).replace(/\s+/g,` `)}function Rt(e){return`data:image/svg+xml,`+Lt(e)}function zt(e){return`url("`+Rt(e)+`")`}var Bt={...Ue,inline:!1},Vt={xmlns:`http://www.w3.org/2000/svg`,"xmlns:xlink":`http://www.w3.org/1999/xlink`,"aria-hidden":!0,role:`img`},Ht={display:`inline-block`},Ut={"background-color":`currentColor`},Wt={"background-color":`transparent`},Gt={image:`var(--svg)`,repeat:`no-repeat`,size:`100% 100%`},Kt={"-webkit-mask":Ut,mask:Ut,background:Wt};for(let e in Kt){let t=Kt[e];for(let n in Gt)t[e+`-`+n]=Gt[n]}function qt(e){return e+(e.match(/^[-0-9.]+$/)?`px`:``)}function Jt(e,t){let n=Mt(Bt,t),r=t.mode||`svg`,i=r===`svg`?{...Vt}:{};e.body.indexOf(`xlink:`)===-1&&delete i[`xmlns:xlink`];let a=typeof t.style==`string`?t.style:``;for(let e in t){let r=t[e];if(r!==void 0)switch(e){case`icon`:case`style`:case`onLoad`:case`mode`:case`ssr`:break;case`inline`:case`hFlip`:case`vFlip`:n[e]=r===!0||r===`true`||r===1;break;case`flip`:typeof r==`string`&&Pt(n,r);break;case`color`:a=a+(a.length>0&&a.trim().slice(-1)!==`;`?`;`:``)+`color: `+r+`; `;break;case`rotate`:typeof r==`string`?n[e]=Ft(r):typeof r==`number`&&(n[e]=r);break;case`ariaHidden`:case`aria-hidden`:r!==!0&&r!==`true`&&delete i[`aria-hidden`];break;default:if(e.slice(0,3)===`on:`)break;Bt[e]===void 0&&(i[e]=r)}}let o=Je(e,n),s=o.attributes;if(n.inline&&(a=`vertical-align: -0.125em; `+a),r===`svg`)return Object.assign(i,s),a!==``&&(i.style=a),{svg:!0,attributes:i,body:Qe(o.body)};let{body:c,width:l,height:u}=e,d=r===`mask`||r!==`bg`&&c.indexOf(`currentColor`)!==-1,f={"--svg":zt(It(c,{...s,width:l+``,height:u+``}))},p=e=>{let t=s[e];t&&(f[e]=qt(t))};p(`width`),p(`height`),Object.assign(f,Ht,d?Ut:Wt);let m=``;for(let e in f)m+=e+`: `+f[e]+`;`;return i.style=m+a,{svg:!1,attributes:i}}if(Re(!0),et(``,dt),typeof document<`u`&&typeof window<`u`){let e=window;if(e.IconifyPreload!==void 0){let t=e.IconifyPreload,n=`Invalid IconifyPreload syntax.`;typeof t==`object`&&t&&(t instanceof Array?t:[t]).forEach(e=>{try{(typeof e!=`object`||!e||e instanceof Array||typeof e.icons!=`object`||typeof e.prefix!=`string`||!Ve(e))&&console.error(n)}catch{console.error(n)}})}if(e.IconifyProviders!==void 0){let t=e.IconifyProviders;if(typeof t==`object`&&t)for(let e in t){let n=`IconifyProviders[`+e+`] is invalid.`;try{let r=t[e];if(typeof r!=`object`||!r||r.resources===void 0)continue;Q(e,r)||console.error(n)}catch{console.error(n)}}}}function Yt(){try{return typeof window!=`object`}catch{return!0}}function Xt(e,t,n,r){function i(){t.loading&&=(t.loading.abort(),null)}if(typeof e==`object`&&e&&typeof e.body==`string`)return t.name=``,i(),{data:{...Te,...e}};let a;if(typeof e!=`string`||(a=be(e,!1,!0))===null)return i(),null;let o=ze(a);if(!o)return!Yt()&&(!t.loading||t.loading.name!==e)&&(i(),t.name=``,t.loading={name:e,abort:jt([a],n)}),null;i(),t.name!==e&&(t.name=e,r&&!t.destroyed&&setTimeout(()=>{r(e)}));let s=[`iconify`];return a.prefix!==``&&s.push(`iconify--`+a.prefix),a.provider!==``&&s.push(`iconify--`+a.provider),{data:o,classes:s}}function Zt(e,t){return e?Jt({...Te,...e},t):null}var Qt=new Set([`$$slots`,`$$events`,`$$legacy`]),$t=p(`<svg></svg>`),en=s(`<span></span>`);function tn(e,t){d(t,!0);let s={name:``,loading:null,destroyed:!1},c=M(t,Qt),l=P(0),u=w(()=>(a(l),Xt(t.icon,s,m,t.onload))),p=w(()=>{let e=a(u)?Zt(a(u).data,c):null;return e&&a(u).classes&&c.class===void 0&&(e.attributes.class=(typeof c.class==`string`?c.class+` `:``)+a(u).classes.join(` `)),e});function m(){A(l)}j(()=>{s.destroyed=!0,s.loading&&=(s.loading.abort(),null)});var h=o(),g=v(h),_=e=>{var t=o(),r=v(t),s=e=>{var t=$t();S(t,()=>({...a(p).attributes})),n(t,()=>a(p).body,!0),f(t),i(e,t)},c=e=>{var t=en();S(t,()=>({...a(p).attributes})),i(e,t)};E(r,e=>{a(p).svg?e(s):e(c,-1)}),i(e,t)};E(g,e=>{a(p)&&e(_)}),i(e,h),r()}var nn=s(`<div class="w-full"></div>`);function rn(e,t){d(t,!0);let n=P(null),o=null,s=[],c=null,l=!1,u,f=_(t,`language`,3,`plaintext`),p=_(t,`height`,3,120),m=_(t,`readOnly`,3,!1),h=null,g=P(!1),v=P(!1);function y(e){a(v)||e.stopPropagation()}I(async()=>{if(!u)return;u.addEventListener(`wheel`,y,{capture:!0,passive:!0}),me();let e=await V(()=>import(`../chunks/CUZn05nQ.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url);if(l)return;c=e,pe(e);let r=f()===`json`?`json`:f()===`markdown`?`markdown`:`plaintext`;b(n,e.editor.create(u,{...de(`test-history`),value:t.value??``,language:r,readOnly:m(),domReadOnly:m()}),!0);let i=a(n);if(!i)return;o=i.getModel(),h=K(e,i),h.update(t.highlights??[]),b(g,!0),s.push(i.onDidFocusEditorText(()=>{b(v,!0)})),s.push(i.onDidChangeModelContent(()=>{try{let e=i.getValue();if(e===t.value)return;t.onChange?.(e)}catch(e){console.error(`MiniEditor change error`,e)}})),s.push(i.onDidBlurEditorText(()=>{b(v,!1);try{t.onBlur?.(i.getValue())}catch{}}));let d=i.onDidFocusEditorWidget?.(()=>{b(v,!0)});d&&s.push(d);let p=i.onDidBlurEditorWidget?.(()=>{b(v,!1);try{t.onBlur?.(i.getValue())}catch{}});p&&s.push(p)}),j(()=>{l=!0,b(g,!1);try{u.removeEventListener(`wheel`,y,{capture:!0})}catch{}for(let e of s)try{e.dispose()}catch{}s=[],h?.dispose(),h=null;let e=o;o=null;try{if(a(n)){try{a(n).setModel(null)}catch{}a(n).dispose()}}finally{b(n,null)}try{e?.dispose()}catch{}c=null}),R(()=>{if(!a(n))return;let e=f()===`json`?`json`:f()===`markdown`?`markdown`:`plaintext`,t=a(n).getModel();if(!t||t.getLanguageId()===e)return;let r=!1;return(c?Promise.resolve(c):V(()=>import(`../chunks/CUZn05nQ.js`).then(e=>e.t),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)).then(n=>{if(!r)try{n.editor.setModelLanguage(t,e)}catch{}}),()=>{r=!0}}),R(()=>{let e=t.value??``,r=t.highlights??[];!a(n)||!a(g)||(e!==a(n).getValue()&&a(n).setValue(e),h?.update(r))}),R(()=>{a(n)?.updateOptions({readOnly:m(),domReadOnly:m()})});var S=nn();O(S,e=>u=e,()=>u),x(()=>ee(S,`height:${p()}px`)),i(e,S),r()}var an=s(`<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Fix</button>`),on=s(`<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Analyze</button>`),sn=s(`<div><div class="mb-1 text-xs text-rc-gray-300"> </div> <div class="whitespace-pre-wrap break-words text-rc-gray-100"> </div></div>`),cn=s(`<div class="flex flex-col gap-3"></div>`),ln=s(`<div class="p-2 text-rc-gray-300">Loading…</div>`),un=s(`<div class="p-2 text-red-400"> </div>`),dn=s(`<div class="flex h-full flex-col gap-2"><div class="grid grid-cols-2 gap-2"><div class="flex items-center justify-start"><!></div> <div class="flex items-center justify-end"><!></div></div> <!></div>`),fn=s(`<div class="h-[55vh]"><!></div>`),pn=s(`<!> <!> <!>`,1),mn=s(`<!> <div class="mt-2 h-[55vh]"><!></div>`,1),hn=s(`<div class="mt-1 flex flex-wrap items-center gap-x-2 gap-y-1"><!> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400"> </button> <!> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">See variants</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Prompt</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Conversation</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Context</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Debug</button></div> <!> <!> <!>`,1);function gn(e,t){d(t,!0);let n=_(t,`actionsDisabled`,3,!1),o=_(t,`actionsInert`,3,!1),s=_(t,`addTestDisabled`,3,!1),p=_(t,`showAnalyze`,3,!0),m=_(t,`analyzeDisabled`,3,!1),g=_(t,`fixDisabled`,3,!1),ee=P(!1),y=P(!1),S=P(!1),C=P(`errors`),D=P(`prompt`),O=P(null),k=P(null),A=P(null),M=P(null),te=P(null),F=P(null),I=P(null),R=P(L({prompt:!1,conversation:!1,context:!1,errors:!1,traces:!1,logs:!1})),ne=P(L({prompt:null,conversation:null,context:null,errors:null,traces:null,logs:null})),re=0,V=P(null),H=null,U=P(`idle`),ie=null;function ae(e){try{return{raw:e,formatted:JSON.stringify(JSON.parse(e),null,2)}}catch{return{raw:e,formatted:e}}}async function le(e){return ae(await G.tests.resultEntry.query({agent:e.agent,testId:e.id,resultKey:e.key,timestamp:e.timestamp,index:e.run}))}function ue(e){return e===`prompt`?a(k)!==null&&a(O)!==null:e===`conversation`?a(A)!==null:e===`context`?a(M)!==null:e===`errors`?a(te)!==null:e===`traces`?a(F)!==null:a(I)!==null}async function de(e){if(ue(e)||a(R)[e])return;let n=re;b(R,{...a(R),[e]:!0},!0),b(ne,{...a(ne),[e]:null},!0);try{if(e===`prompt`){let[e,r]=await Promise.all([le(t.links.renderedPrompt),le(t.links.receivedPrompt)]);if(n!==re)return;b(O,e,!0),b(k,r,!0)}else{let r=await le(e===`conversation`?t.links.conversation:e===`context`?t.links.context:e===`errors`?t.links.errors:e===`traces`?t.links.traces:t.links.logs);if(n!==re)return;b(e===`conversation`?A:e===`context`?M:e===`errors`?te:e===`traces`?F:I,r,!0)}}catch(t){if(n!==re)return;console.error(t),b(ne,{...a(ne),[e]:`Failed to load content`},!0)}finally{n===re&&b(R,{...a(R),[e]:!1},!0)}}function fe(){b(O,null),b(k,null),b(A,null),b(M,null),b(te,null),b(F,null),b(I,null),b(R,{prompt:!1,conversation:!1,context:!1,errors:!1,traces:!1,logs:!1},!0),b(ne,{prompt:null,conversation:null,context:null,errors:null,traces:null,logs:null},!0)}function pe(){re+=1,b(C,`errors`),fe(),b(ee,!0),de(`errors`)}function K(e){re+=1,b(D,e,!0),fe(),b(y,!0),de(e)}function me(e){return e===`prompt`?`Prompt`:e===`conversation`?`Conversation`:`Context`}function ge(e){b(C,e,!0),de(e)}async function _e(){if(a(U)!==`adding`){b(U,`adding`);try{await t.onAddTest(),b(U,`added`)}catch(e){console.error(`Failed to add test`,e),b(U,`failed`)}ie&&clearTimeout(ie),ie=window.setTimeout(()=>{b(U,`idle`),ie=null},2500)}}async function ye(e){if(!(!a(k)||!a(O)))try{let t=e===`raw`?a(k).raw:a(O).raw;await navigator.clipboard.writeText(t),b(V,e,!0),H&&clearTimeout(H),H=window.setTimeout(()=>{b(V,null),H=null},2e3)}catch(e){console.error(`Failed to copy prompt`,e)}}j(()=>{re+=1,H&&clearTimeout(H),ie&&clearTimeout(ie)});var be=hn(),xe=v(be),Se=T(xe),Ce=e=>{var r=an();x(()=>{r.inert=o(),r.disabled=n()||g()}),h(`click`,r,function(...e){t.onFix?.apply(this,e)}),i(e,r)};E(Se,e=>{t.onFix&&e(Ce)});var we=N(Se,2),Te=T(we,!0);f(we);var Ee=N(we,2),De=e=>{var n=on();x(()=>n.disabled=m()),h(`click`,n,function(...e){t.onAnalyze?.apply(this,e)}),i(e,n)};E(Ee,e=>{p()&&e(De)});var Oe=N(Ee,2),ke=N(Oe,2),q=N(ke,2),Ae=N(q,2),je=N(Ae,2);f(xe);var Me=N(xe,2),Ne=e=>{{let n=e=>{var n=cn();u(n,21,()=>t.variants,e=>e.index,(e,n)=>{var r=sn(),o=T(r),s=T(o);f(o);var l=N(o,2),u=T(l,!0);f(l),f(r),x(()=>{z(r,1,`rounded-lg border p-3 ${a(n).index===t.runIndex?`border-rc-green-450`:`border-rc-gray-650`} ${a(n).success?`bg-rc-green-700/80`:`bg-rc-gray-900/60`}`),c(s,`Run ${a(n).index??``}${a(n).index===t.runIndex?` • selected`:``}`),c(u,a(n).text||a(n).errors||`—`)}),i(e,r)}),f(n),i(e,n)},r=w(()=>`Variants — ${t.scenario||`Test`}`);ce(e,{get title(){return a(r)},class:`!w-[80vw] !max-w-4xl`,get open(){return a(S)},set open(e){b(S,e,!0)},children:n,$$slots:{default:!0}})}};E(Me,e=>{a(S)&&e(Ne)});var Pe=N(Me,2),Fe=e=>{{let n=e=>{var t=fn(),n=T(t),r=e=>{var t=ln();i(e,t)},o=e=>{var t=un(),n=T(t,!0);f(t),x(()=>c(n,a(ne)[a(D)])),i(e,t)},s=e=>{var t=dn(),n=T(t),r=T(n),o=T(r);{let e=w(()=>!a(k).raw.trim());W(o,{variant:`secondary`,size:`small`,get disabled(){return a(e)},onclick:()=>ye(`raw`),children:(e,t)=>{l();var n=B();x(()=>c(n,a(V)===`raw`?`Copied raw prompt`:`Copy raw prompt`)),i(e,n)},$$slots:{default:!0}})}f(r);var s=N(r,2),u=T(s);{let e=w(()=>!a(O).raw.trim());W(u,{variant:`secondary`,size:`small`,get disabled(){return a(e)},onclick:()=>ye(`rendered`),children:(e,t)=>{l();var n=B();x(()=>c(n,a(V)===`rendered`?`Copied rendered prompt`:`Copy rendered prompt`)),i(e,n)},$$slots:{default:!0}})}f(s),f(n);var d=N(n,2);he(d,{variant:`generic`,get original(){return a(k).formatted},get modified(){return a(O).formatted},language:`markdown`,class:`min-h-0 flex-1`}),f(t),i(e,t)},u=e=>{{let t=w(()=>a(A).formatted||`—`);ve(e,{get value(){return a(t)},language:`text`,class:`h-full`})}},d=e=>{{let t=w(()=>a(M).formatted||`—`);ve(e,{get value(){return a(t)},language:`json`,class:`h-full`})}};E(n,e=>{a(R)[a(D)]?e(r):a(ne)[a(D)]?e(o,1):a(D)===`prompt`&&a(k)&&a(O)?e(s,2):a(D)===`conversation`&&a(A)?e(u,3):a(D)===`context`&&a(M)&&e(d,4)}),f(t),i(e,t)},r=w(()=>`${me(a(D))} — ${t.scenario||`Test`} (run ${t.runIndex})`);ce(e,{get title(){return a(r)},class:`!w-[85vw] !max-w-5xl`,get open(){return a(y)},set open(e){b(y,e,!0)},children:n,$$slots:{default:!0}})}};E(Pe,e=>{a(y)&&e(Fe)});var J=N(Pe,2),Ie=e=>{{let n=e=>{var t=mn(),n=v(t);oe(n,{get value(){return a(C)},ariaLabel:`Test run debug tabs`,onChange:({value:e})=>ge(e),children:(e,t)=>{var n=pn(),r=v(n);se(r,{value:`errors`,class:`px-3`,children:(e,t)=>{l();var n=B(`Errors`);i(e,n)},$$slots:{default:!0}});var a=N(r,2);se(a,{value:`traces`,class:`px-3`,children:(e,t)=>{l();var n=B(`Traces`);i(e,n)},$$slots:{default:!0}});var o=N(a,2);se(o,{value:`logs`,class:`px-3`,children:(e,t)=>{l();var n=B(`Logs`);i(e,n)},$$slots:{default:!0}}),i(e,n)},$$slots:{default:!0}});var r=N(n,2),o=T(r),s=e=>{var t=ln();i(e,t)},u=e=>{var t=un(),n=T(t,!0);f(t),x(()=>c(n,a(ne)[a(C)])),i(e,t)},d=e=>{{let t=w(()=>a(te).formatted||`—`);ve(e,{get value(){return a(t)},language:`text`,class:`h-full`})}},p=e=>{{let t=w(()=>a(F).formatted||`—`);ve(e,{get value(){return a(t)},language:`json`,class:`h-full`})}},m=e=>{{let t=w(()=>a(I).formatted||`—`);ve(e,{get value(){return a(t)},language:`text`,class:`h-full`})}};E(o,e=>{a(R)[a(C)]?e(s):a(ne)[a(C)]?e(u,1):a(C)===`errors`&&a(te)?e(d,2):a(C)===`traces`&&a(F)?e(p,3):a(C)===`logs`&&a(I)&&e(m,4)}),f(r),i(e,t)},r=w(()=>`Debug — ${t.scenario||`Test`} (run ${t.runIndex})`);ce(e,{get title(){return a(r)},class:`!w-[85vw] !max-w-5xl`,get open(){return a(ee)},set open(e){b(ee,e,!0)},children:n,$$slots:{default:!0}})}};E(J,e=>{a(ee)&&e(Ie)}),x(()=>{we.inert=o(),we.disabled=n()||s()||a(U)===`adding`,c(Te,a(U)===`adding`?`Adding…`:a(U)===`added`?`Added`:a(U)===`failed`?`Failed`:`Add test`)}),h(`click`,we,_e),h(`click`,Oe,()=>b(S,!0)),h(`click`,ke,()=>K(`prompt`)),h(`click`,q,()=>K(`conversation`)),h(`click`,Ae,()=>K(`context`)),h(`click`,je,pe),i(e,be),r()}t([`click`]);var _n=`Update the conversation history so it reflects behaviour that is valid under the current prompt. Preserve the test's intent and expected outcome, and make only the smallest necessary changes. Possible roles: "Agent", "User", "System"`;function vn(e,t){return[e.trim()===`LLM`?``:e.trim(),t.trim()].filter(Boolean).join(` `)}function yn(e){let t=vn(e.assertionLabel,e.assertionValue);return`You will be given the context, the conversation and the desired output and assertion about it. First, find why the prompt is not producing the correct result. It's usually one concrete instruction within the relevant section, or a contradiction. Then, change the prompt minimally so this will work, but keeping the prompt clean and comprehensive is more important. Try to provide as general solution as possible. Try to change just one part of the prompt, not multiple parts. Avoid adding exceptions and overrides. Avoid duplicating information that already exists in the prompt.
3
+
4
+ Context:
5
+ ${e.context.trim()}
6
+
7
+ Conversation:
8
+ ${e.conversation.trim()}
9
+
10
+ Desired outcome:
11
+ ${e.expectedOutput.trim()}
12
+
13
+ Assertion about outcome:
14
+ ${t}
15
+
16
+ Current incorrect outcome:
17
+ ${e.currentIncorrectOutcome.trim()}`}function bn(e){let t=e<0?-1:1,n=Math.abs(e),r=1/(1+.3275911*n);return t*(1-((((1.061405429*r+-1.453152027)*r+1.421413741)*r+-.284496736)*r+.254829592)*r*Math.exp(-n*n))}function xn(e){return .5*(1+bn(e/Math.SQRT2))}function Sn(e,t,n,r){if(!Number.isFinite(e)||!Number.isFinite(t)||!Number.isFinite(n)||!Number.isFinite(r)||t<=0||r<=0)return null;let i=e/t,a=n/r,o=(e+n)/(t+r),s=Math.sqrt(o*(1-o)*(1/t+1/r));if(!Number.isFinite(s)||s<=0)return null;let c=(a-i)/s,l=2*(1-xn(Math.abs(c)));return Math.max(0,Math.min(1,l))}function Cn(e){return e===`higher`?`significantly better`:`significantly worse`}function wn(e,t){if(!e||e.isOld)return null;let n=e.total_runs;if(n<=0)return null;let r=e.previous,i=r&&r.total_runs>0?r.success_count/r.total_runs:null,a=e.successes/n,o=i===null||a>=i?`higher`:`lower`,s=(()=>{if(n<5||!r||r.total_runs<=0)return!1;let t=Sn(r.success_count,r.total_runs,e.successes,n);return t!==null&&t<.05})(),c=s?Cn(o):i===1&&a<1?`Not 100% anymore`:i!==null&&i<1&&a===1?`100% now`:void 0,l=Number.isFinite(t)&&t>0&&n<t;return!l&&!c?null:{showExpected:l,expectedSuccesses:l?Math.round(a*t):void 0,expectedRuns:t,significant:s,direction:o,comparisonLabel:c}}var Tn=[{value:`llm-rubric`,label:`LLM`},{value:`answer-relevance`,label:`Answer Relevance (LLM)`},{value:`context-faithfulness`,label:`Context Faithfulness (LLM)`},{value:`context-recall`,label:`Context Recall (LLM)`},{value:`context-relevance`,label:`Context Relevance (LLM)`},{value:`model-graded-closedqa`,label:`Model-Graded Closed QA`},{value:`model-graded-factuality`,label:`Model-Graded Factuality`},{value:`moderation`,label:`Moderation`},{value:`classifier`,label:`Classifier`},{value:`g-eval`,label:`G-Eval`},{value:`factuality`,label:`Factuality`},{value:`conversation-relevance`,label:`Conversation Relevance`},{value:`equals`,label:`Equals`},{value:`contains`,label:`Contains`},{value:`icontains`,label:`Contains (case-insensitive)`},{value:`contains-all`,label:`Contains All`},{value:`contains-any`,label:`Contains Any`},{value:`icontains-all`,label:`Contains All (iCase)`},{value:`icontains-any`,label:`Contains Any (iCase)`},{value:`starts-with`,label:`Starts With`},{value:`regex`,label:`Regex`},{value:`levenshtein`,label:`Levenshtein Distance`},{value:`is-refusal`,label:`Is Refusal`},{value:`is-html`,label:`Is HTML`},{value:`contains-html`,label:`Contains HTML`},{value:`is-json`,label:`Is JSON`},{value:`contains-json`,label:`Contains JSON`},{value:`is-xml`,label:`Is XML`},{value:`contains-xml`,label:`Contains XML`},{value:`is-sql`,label:`Is SQL`},{value:`contains-sql`,label:`Contains SQL`},{value:`similar`,label:`Semantic Similarity`},{value:`rouge-n`,label:`ROUGE-N`},{value:`bleu`,label:`BLEU`},{value:`gleu`,label:`GLEU`},{value:`meteor`,label:`METEOR`},{value:`perplexity`,label:`Perplexity`},{value:`perplexity-score`,label:`Perplexity Score`},{value:`latency`,label:`Latency`},{value:`cost`,label:`Cost`},{value:`finish-reason`,label:`Finish Reason`},{value:`trace-error-spans`,label:`Trace Error Spans`},{value:`trace-span-count`,label:`Trace Span Count`},{value:`trace-span-duration`,label:`Trace Span Duration`},{value:`is-valid-function-call`,label:`Is Valid Function Call`},{value:`is-valid-openai-function-call`,label:`Is Valid OpenAI Function Call`},{value:`is-valid-openai-tools-call`,label:`Is Valid OpenAI Tools Call`},{value:`guardrails`,label:`Guardrails`},{value:`javascript`,label:`JavaScript (custom)`},{value:`python`,label:`Python (custom)`},{value:`webhook`,label:`Webhook (custom)`},{value:`pi`,label:`Pi Scorer`}],En=[...Tn,...Tn.map(e=>({value:`not-${e.value}`,label:`Not ${e.label}`}))];function Dn(e){return En.find(t=>t.value===e)?.label??e}var On=s(`<link rel="preload" href="/ui/arrow_tests.svg" as="image"/>`),kn=s(`<div class="p-2 text-gray-300">Loading…</div>`),An=s(`<div class="p-2 text-rc-red-600"> </div>`),jn=s(`<div class="p-2 text-gray-400">No previous runs</div>`),Mn=s(`<div class="border-rc-red-700 rounded border bg-rc-gray-900 px-3 py-2 text-sm text-rc-red-600"> </div>`),Nn=s(`<button type="button"><div class="flex items-baseline justify-between gap-2"><span class="font-semibold text-rc-gray-100"> </span> <span class="text-sm text-rc-gray-400"> </span></div> <div class="mt-1 text-sm text-rc-gray-400"> </div> <div class="mt-2 flex items-center justify-between gap-2 text-sm"><span> </span> <span class="text-rc-gray-300"> </span></div></button>`),Pn=s(`<div class="flex flex-col gap-2"><!> <!></div>`),Fn=s(`<div class="p-3 text-gray-400">—</div>`),In=s(`<span class="ml-2 text-rc-gray-400"> </span>`),Ln=s(`<span> </span> <!>`,1),Rn=s(`<span class="text-rc-gray-500">—</span>`),zn=s(`<div class="mt-1 px-1 text-sm font-semibold text-rc-gray-300"><!></div>`),Bn=s(`<div class="flex items-center gap-2"><input class="rc-input w-44 svelte-rdft55" type="text" readonly=""/> <input class="rc-input min-w-0 flex-1 svelte-rdft55" type="text" placeholder="Assertion value" readonly=""/></div>`),Vn=s(`<div class="flex flex-col gap-2"><div> </div> <div><div class="flex items-center gap-0"><!> <span> </span></div> <!></div></div>`),Hn=s(`<div class="flex flex-wrap items-center gap-3"><div class="text-lg font-extrabold"><span> </span> <!></div></div> <div class="mt-3 flex flex-col gap-4"></div>`,1),Un=s(`<div class="flex flex-col gap-2 p-2"><input class="card-input-subtle pointer-events-none svelte-rdft55" type="text" placeholder="Author" readonly=""/> <!> <div class="flex flex-wrap items-center gap-3"><!> <!></div> <!></div> <div class="rounded-b border-t border-rc-gray-700 bg-rc-gray-980 p-2"><!></div>`,1),Wn=s(`<div class="border-b border-rc-gray-700 p-2"><div class="grid grid-cols-[2.25rem,1fr] gap-2"><div class="flex flex-col items-center gap-1 pt-1"><!></div> <div class="min-w-0"><div><div><div class="grid grid-cols-[1fr,2.25rem] items-center gap-2"><input class="card-input-title pointer-events-none svelte-rdft55" type="text" placeholder="Scenario" readonly=""/> <button class="icon-btn justify-self-end text-gray-300 hover:text-gray-100 svelte-rdft55"><!></button></div> <!></div> <!></div></div></div></div>`),Gn=s(`<div class="flex flex-col space-y-5"></div>`),Kn=s(`<div class="flex flex-col gap-3"><div class="flex flex-wrap items-center justify-between gap-3 border-b border-rc-gray-700 pb-3"><div class="flex flex-wrap items-center gap-3"><div class="flex items-center gap-2"><label class="text-rc-gray-300">Repeats</label> <!></div> <div class="flex items-center gap-2"><label class="text-rc-gray-300">Concurrency</label> <!></div> <span class="text-rc-gray-400"> </span></div></div> <div class="grid grid-cols-[2.25rem,1fr] items-center gap-2 border-b border-rc-gray-700 p-2"><div></div> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-left text-rc-gray-300"><span> </span> <span> </span></div></div> <!></div>`),qn=s(`<div class="grid min-h-[68vh] grid-cols-[18rem,minmax(0,1fr)] gap-4"><aside class="rc-scroll min-h-0 overflow-auto border-r border-rc-gray-700 pr-3"><!></aside> <section class="rc-scroll min-h-0 overflow-auto"><!></section></div>`),Jn=s(`<pre class="whitespace-pre-wrap font-mono text-gray-200"> </pre>`),Yn=s(`<p class="mt-2 text-red-200">Bosun found an old JSON/JSONL test suite. This version only supports one YAML file per
18
+ test and will not read, modify, or replace the legacy files.</p> <a target="_blank" rel="noreferrer" class="mt-4 inline-flex rounded bg-red-200 px-3 py-2 font-semibold text-red-950 hover:bg-red-100">Open migration guide</a>`,1),Xn=s(`<p class="mt-2 break-words text-red-200"> </p> <!>`,1),Zn=s(`<div class="flex h-full items-start justify-center overflow-auto p-8"><div role="alert" class="w-full max-w-2xl rounded border border-red-500 bg-red-950/30 p-5 text-red-100"><h2 class="text-xl font-semibold"> </h2> <!></div></div>`),Qn=s(`<li> </li>`),$n=s(`<div class="mx-2 mt-2 rounded border border-red-500 bg-red-950/30 px-3 py-2 text-sm text-red-200"><div class="font-semibold">Orphaned tests</div> <ul class="mt-1 list-disc pl-5"></ul></div>`),er=s(`<div class="mr-3 flex items-center gap-3"><span class="animate-pulse rounded bg-rc-green-200 px-3 py-1 text-white"> </span> <!></div>`),tr=s(`<!> New test`,1),nr=s(`<div class="pointer-events-none absolute -left-28 top-full mt-4 inline-flex -translate-x-1/2 flex-col items-center"><div class="relative w-50vw max-w-2xl"><img src="/ui/arrow_tests.svg" alt="Arrow" class="block h-auto w-full object-contain"/> <span class="absolute inset-0 mt-48 flex items-center justify-center text-center text-4xl font-extrabold text-rc-gray-200">No tests yet.<br/>Add the first one</span></div></div>`),rr=s(`<!> History`,1),ir=s(`<!> Collapse all`,1),ar=s(`<div></div>`),or=s(`<button aria-label="Pin/unpin all" title="Pin/unpin all"><!></button>`),sr=s(`<span><!><span class="ml-1"> </span></span>`),cr=s(`<div class="translate-y-[5px]"><!></div>`),lr=s(`<button><!></button> <button title="Duplicate" class="icon-btn text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button> <button title="Delete" class="icon-btn text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button>`,1),ur=s(`<span> </span> <!> <!>`,1),dr=s(`<div class="rounded bg-rc-gray-930 px-2 py-2 text-sm text-rc-red-600"> </div>`),fr=s(`<option> </option>`),pr=s(`<div class="flex items-center gap-2"><select class="rc-scroll rc-input w-36 svelte-rdft55" aria-label="Assertion Type"></select> <input class="rc-input min-w-0 flex-1 svelte-rdft55" type="text" placeholder="Assertion value"/></div>`),mr=s(`<label class="inline-flex items-center gap-2 text-sm text-rc-gray-200"><input type="checkbox" class="checkbox"/> <span>Case-sensitive</span></label>`),hr=s(`<span class="max-w-64 text-sm text-red-300"> </span>`),gr=s(`<div class="relative h-[220px] min-w-0"><!> <div class="absolute bottom-2 left-3 z-20 flex items-center gap-2"><!> <!> <!></div></div>`),_r=s(`<div class="text-lg font-extrabold"><span> </span> <!> <!></div>`),vr=s(`<div class="mt-3 flex flex-col gap-4"></div>`),yr=s(`<div class="flex flex-col gap-2 p-2"><!> <input class="card-input-subtle svelte-rdft55" type="text" placeholder="Author"/> <!> <div class="flex flex-wrap items-center gap-3"><!> <!> <!></div> <!></div> <div class="rounded-b border-t border-rc-gray-700 bg-rc-gray-980 p-2"><div class="flex flex-wrap items-center gap-3"><!> <!></div> <!></div>`,1),br=s(`<div class="border-b border-rc-gray-700 p-2"><div class="grid grid-cols-[2.25rem,1fr] gap-2"><div class="flex flex-col items-center gap-1"><!></div> <div class="min-w-0"><div><div><div class="grid grid-cols-[1fr,2.25rem] items-center gap-2"><input class="card-input-title svelte-rdft55" type="text" placeholder="Scenario"/> <button class="icon-btn justify-self-end text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button></div> <!></div> <!></div></div></div></div>`),xr=s(`<!> <!>`,1),Sr=s(`<div class="flex min-h-0 flex-1 flex-col overflow-hidden p-3"><!> <div class="mt-3 min-h-0 flex-1 overflow-hidden"><!></div></div>`),Cr=s(`<div class="rc-scroll min-h-0 flex-1 overflow-auto"><div class="grid grid-cols-[2.25rem,1fr] items-center gap-2 border-b border-rc-gray-700 p-2"><!> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-left text-rc-gray-300"><span> </span> <span> </span> <span> </span> <!></div></div> <!></div> <!>`,1),wr=s(`<div class="flex h-full min-h-0 flex-col"><!> <div class="flex flex-none items-center justify-between gap-3 p-2"><div class="flex flex-wrap items-center gap-3 pl-11"><div class="flex items-center gap-2"><label class="text-rc-gray-300">Repeats</label> <!></div> <div class="flex items-center gap-2"><label class="text-rc-gray-300">Concurrency</label> <!></div></div> <div class="flex flex-wrap items-center gap-3"><!> <div class="relative inline-flex items-center"><!> <!></div> <!></div></div> <div class="flex flex-none items-center justify-between gap-3 px-2 pb-2"><!> <!></div> <div class="min-h-0 flex-1 overflow-hidden"><!></div></div>`),Tr=s(`<!> <!> <!>`,1);function Er(t,n){d(n,!0);let{state:s,actions:p}=ie(),_=w(()=>s.agentId),S=w(()=>fe().editable);function O(e){try{return structuredClone(e)}catch{try{return JSON.parse(JSON.stringify(e))}catch{return e}}}function A(e,t,n){return Math.max(t,Math.min(n,e))}let M=P(1),I=P(75),V=P(null);function de(e){if(typeof localStorage>`u`)return{repeats:1,concurrency:75,expandedTestIds:[]};try{let t=JSON.parse(localStorage.getItem(e)||`{}`);return{repeats:A(Number(t.repeats)||1,1,500),concurrency:A(Number(t.concurrency)||75,1,75),expandedTestIds:Array.isArray(t.expandedTestIds)?t.expandedTestIds.filter(e=>typeof e==`string`):[]}}catch{return{repeats:1,concurrency:75,expandedTestIds:[]}}}function pe(){!a(V)||typeof localStorage>`u`||localStorage.setItem(a(V),JSON.stringify({repeats:a(M),concurrency:a(I),expandedTestIds:a(mt)}))}let K=P(null),me=P(`context`),ve=P(L({})),ye=P(L({})),be=P(!1),xe=P(!1),Se=P(!1),Ce=P(``),we=P(null),Te=P(!1),Ee=P(null),De=P(L([])),Oe=P(!1),ke=P(null),q=P(null),Ae=P(L({})),je=P(!1),Me=P(null),Ne=P(L([])),Pe=0,Fe=0,J=w(()=>a(q)?a(Ae)[a(q)]??null:null),Ie=w(()=>a(Oe)&&a(De).length===0&&!a(ke)),Le=w(()=>a(je)&&!a(J)),Re=w(()=>new Set(a(Ne))),ze=w(()=>a(J)?a(J).rows.map(e=>Rt(a(J).timestamp,e)):[]),Be=w(()=>zt(a(ze)));function Ve(e,t){b(Ce,e,!0),b(we,JSON.stringify(t??{},null,2),!0),b(Se,!0)}let He=P(!1);async function Ue(e,t,n){if(a(He))return;b(He,!0);let r=p.openPopover(`analyze`),i=`Analysis — ${e} (run ${t})`;try{let e=await G.tests.analyzeRun.mutate({agent:n.agent,testId:n.id,index:n.run,timestamp:n.timestamp});if(s.edit.popover?.requestId!==r)return;p.setHighlightQuotes(e.quotes);let t=null;try{t=JSON.stringify(e.raw,null,2)}catch{t=null}p.setPopoverReady(r,{title:i,quotes:e.quotes,rationales:e.rationales,parallelCalls:e.parallelCalls,raw:t})}catch(e){console.error(e);let t=typeof e?.message==`string`?e.message:(()=>{try{return JSON.stringify(e)}catch{return String(e)}})();p.setPopoverError(r,t||`Failed to analyze this response`,{raw:t})}finally{b(He,!1)}}let Y=P(L([])),We=w(()=>s.currentStep?.name||`main`),X=w(()=>a(Y).filter(e=>e.step===a(We)||ge(e.step)&&ge(a(We)))),Ge=w(()=>new Set(s.steps.map(e=>e.name))),Ke=w(()=>s.steps.some(e=>ge(e.name))),qe=w(()=>{if(!s.steps.length)return[];let e=new Map;for(let t of a(Y))a(Ge).has(t.step)||a(Ke)&&ge(t.step)||e.set(t.step,(e.get(t.step)??0)+1);return[...e.entries()].map(([e,t])=>({step:e,count:t})).sort((e,t)=>e.step.localeCompare(t.step))}),Z=P(!1),Je=P(null),Ye=P(null),Xe=P(0),Ze=P(0),Qe=P(1),$e=P(L([])),et=P(L([])),tt=P(L([])),nt=w(()=>new Set(a($e))),rt=w(()=>new Set(a(et))),it=w(()=>new Set(a(tt))),at=!1,Q=null,$=0,ot=Promise.resolve(),st=new Set,ct=P(0),lt=w(()=>a(ct)>0),ut=P(!1),dt=P(null),ft=P(L([])),pt=P(L({})),mt=P(L([])),ht=w(()=>new Set(a(mt))),gt=w(()=>a(X).some(e=>a(ht).has(e.id)));function _t(e){return st.add(e),b(ct,a(ct)+1),e.finally(()=>{st.delete(e),b(ct,a(ct)-1)}),e}function vt(e){return`${a(_)}\u0000${e}`}function yt(e){return s.testHistoryEdits[vt(e)]??null}function bt(e){delete s.testHistoryEdits[vt(e)];let t={...a(pt)};delete t[e],b(pt,t,!0)}function xt(e){if(a(ft).includes(e))return;let t=yt(e);bt(e),t&&G.tests.rejectHistoryEdit.mutate({id:t.id}).catch(e=>{console.error(`Failed to release rejected test history edit`,e)})}async function St(e){let t=yt(e);if(!t||a(ft).includes(e))return;b(ft,[...a(ft),e],!0);let n={...a(pt)};delete n[e],b(pt,n,!0);try{await _t(G.tests.acceptHistoryEdit.mutate({id:t.id})),b(Y,a(Y).map(n=>n.id===e?{...n,conversation:t.suggestedConversation,conversation_ui:fn(t.suggestedConversation,n.expected_output,n.step,n.evaluation_mode===`json-deep-equal`)}:n),!0),bt(e)}catch(t){console.error(`Failed to accept test history edit`,t),b(pt,{...a(pt),[e]:t instanceof Error?t.message:`Failed to save test history`},!0)}finally{b(ft,a(ft).filter(t=>t!==e),!0)}}function Ct(e,t,n){let r=Array.isArray(n.results)?n.results:[],i=r.reduce((e,t)=>e+ +!!t?.success,0);return{success_rate:n.success_rate,successes:i,total_runs:r.length,isOld:!!n.is_old,previous:n.previous&&typeof n.previous==`object`?{success_count:Number(n.previous.success_count??0),total_runs:Number(n.previous.total_runs??0),report_timestamp:String(n.previous.report_timestamp??``)}:void 0,runs:r.map((r,i)=>{let a={agent:e,id:t,timestamp:n.report_timestamp,run:i};return{index:i+1,success:!!r.success,text:String(r.result||``),evaluation:String(r.evaluation||``),errors:String(r.errors||``),links:{renderedPrompt:{...a,key:`rendered_prompt`},receivedPrompt:{...a,key:`received_prompt`},conversation:{...a,key:`stringified_conversation`},context:{...a,key:`received_context`},logs:{...a,key:`logs`},errors:{...a,key:`errors`},traces:{...a,key:`traces`}}}}).reverse()}}async function wt(){let e=(a(_)??``).trim();if(e){b(dt,null);try{let[{rows:t,settingsKey:n},r]=await Promise.all([G.tests.list.query({agent:e}),G.tests.latestResult.query({agent:e})]);if((a(_)??``).trim()!==e)return;b(V,n,!0);let i=de(n);b(M,i.repeats,!0),b(I,i.concurrency,!0),b(mt,i.expandedTestIds,!0),b(Y,t.map(t=>{let n=t.id,i=r[n];return{id:n,pinned:String(t.pinned).toUpperCase()===`TRUE`,scenario:t.scenario||``,step:String(t.step||`main`),evaluation_mode:t.evaluation_mode===`json-deep-equal`?`json-deep-equal`:`assertion`,case_sensitive:t.case_sensitive===!0,context_mode:t.context_mode===`replace`?`replace`:`merge`,author:t.author||``,assertion_type:t.assertion_type||`llm-rubric`,assertion_value:t.assertion_value||``,conversation:t.conversation||``,expected_output:t.expected_output||``,conversation_ui:fn(t.conversation||``,t.expected_output||``,String(t.step??`main`),t.evaluation_mode===`json-deep-equal`),timeout:Number(t.timeout??0),similarity_threshold:Number(t.similarity_threshold??50),context:JSON.stringify(t.context),mocks:JSON.stringify(t.mocks||{}),hasMocks:t.mocks!==void 0,result:i?Ct(e,n,i):void 0}}),!0)}catch(t){if(console.error(t),(a(_)??``).trim()!==e)return;let n=t instanceof Error?t.message:String(t);b(dt,{kind:n.includes(`BOSUN_LEGACY_TEST_SUITE:`)?`legacy`:`other`,message:n},!0),b(Y,[],!0),b(M,1),b(I,75),b(mt,[],!0)}finally{(a(_)??``).trim()===e&&b(ut,!0)}}}async function Tt(e){let t=(a(_)??``).trim();if(t&&!at){at=!0;try{let[n,r]=await Promise.all([G.tests.latestResult.query({agent:t}),G.tests.runProgress.query({agent:t})]);if(e!==$)return;r&&(b($e,r.plannedTestIds,!0),b(et,r.runningTestIds,!0),b(tt,r.completedTestIds,!0));let i=a(Y).map(e=>{let r=n[e.id];return{...e,result:r?Ct(t,e.id,r):void 0}});b(Y,i,!0),a(Je);let o=Math.max(1,Number(a(Qe))||1),s=i.reduce((e,t)=>a(nt).has(t.id)&&t.result&&!t.result.isOld&&t.result.total_runs>=o?e+1:e,0);b(Xe,s,!0)}catch(e){console.error(e)}finally{at=!1}}}async function Et(e){if(a(Z))return;b(Z,!0),b(Je,e,!0),b(Ye,null),b(Ze,e===`all`?a(X).length:a(X).filter(e=>e.pinned).length,!0),b(Xe,0),b(Qe,Math.max(1,Number(a(M))||1),!0),b($e,a(X).filter(t=>e===`all`||t.pinned).map(e=>e.id),!0),b(et,[],!0),b(tt,[],!0),$+=1;let t=$;if(await Promise.all([ot,...st]),t===$){Q&&clearInterval(Q),Q=setInterval(()=>Tt(t),250),Tt(t);try{await G.tests.runTests.mutate({agent:a(_),step:a(We),scope:e,promptOverrides:p.getPromptOverrides(),testHistoryOverrides:p.getTestHistoryOverrides(),repeats:a(M),concurrency:a(I)})}catch(e){t===$&&console.error(e)}finally{if(t!==$)return;Q&&clearInterval(Q),Q=null;try{await wt()}finally{if(t!==$)return;b(Z,!1),b(Je,null),b(Ye,null),b($e,[],!0),b(et,[],!0),b(tt,[],!0)}}}}async function Dt(e){if(!a(_)||a(Z))return;b(Z,!0),b(Je,`single`),b(Ye,e,!0),b(Ze,1),b(Xe,0),b(Qe,Math.max(1,Number(a(M))||1),!0),b($e,[e],!0),b(et,[],!0),b(tt,[],!0),$+=1;let t=$;if(await Promise.all([ot,...st]),t===$){Q&&clearInterval(Q),Q=setInterval(()=>Tt(t),250),Tt(t);try{await G.tests.runTests.mutate({agent:a(_),testId:e,promptOverrides:p.getPromptOverrides(),testHistoryOverrides:p.getTestHistoryOverrides(),repeats:a(M),concurrency:a(I)})}catch(e){t===$&&console.error(e)}finally{if(t!==$)return;Q&&clearInterval(Q),Q=null;try{await wt()}finally{if(t!==$)return;b(Z,!1),b(Je,null),b(Ye,null),b($e,[],!0),b(et,[],!0),b(tt,[],!0)}}}}function Ot(){a(Z)&&($+=1,Q&&clearInterval(Q),Q=null,b(Z,!1),b(Je,null),b(Ye,null),b($e,[],!0),b(et,[],!0),b(tt,[],!0),ot=G.tests.cancelRun.mutate({agent:a(_)}).then(()=>void 0,()=>void 0))}async function kt(e){let t=e?`TRUE`:`FALSE`,n=a(X).filter(t=>t.pinned!==e).map(e=>e.id);if(n.length===0)return;let r=new Set(n);b(Y,a(Y).map(t=>r.has(t.id)?{...t,pinned:e}:t),!0);try{await _t(G.tests.patchTestsBatch.mutate({agent:a(_),updates:n.map(e=>({id:e,patch:{pinned:t}}))}))}catch(e){console.error(e),await wt()}}let At=null,jt=null;R(()=>{let e=(a(_)??``).trim();if(!e){At=null,b(V,null),b(dt,null),b(Y,[],!0),b(mt,[],!0),b(ut,!1);return}At!==e&&(At=e,b(V,null),b(dt,null),b(Y,[],!0),b(mt,[],!0),b(ut,!1),wt())}),R(()=>{let e=(H.url.searchParams.get(`test`)||``).trim(),t=(H.url.searchParams.get(`step`)||``).trim(),n=a(Y).some(n=>n.id===e&&(!t||n.step===t));!e||!n||jt===e||(jt=e,(async()=>{a(ht).has(e)||await xn(e,!0),await F(),document.querySelector(`[data-id="${CSS.escape(e)}"]`)?.scrollIntoView({block:`start`})})().catch(console.error))});let Mt=w(()=>a(X).filter(e=>e.pinned).length),Nt=w(()=>a(Mt)>0),Pt=w(()=>a(X).length>0&&a(Mt)===a(X).length),Ft=w(()=>{let e=0,t=0,n=0,r=0,i=0,o=0,s=0,c=0;for(let l of a(X)){let a=l.result;!a||a.isOld||a.total_runs<=0||(t+=1,n+=a.successes,r+=a.total_runs,a.successes===a.total_runs&&(e+=1),a.previous&&a.previous.total_runs>0&&(i+=a.previous.success_count,o+=a.previous.total_runs,s+=a.successes,c+=a.total_runs))}let l=(()=>{if(c<5||o<=0)return null;let e=Sn(i,o,s,c);if(e===null||e>=.05)return null;let t=i/o;return{direction:s/c>=t?`higher`:`lower`,previousAttemptsPassing:i,previousAttemptsTotal:o,currentAttemptsPassing:s,currentAttemptsTotal:c,pValue:e}})();return{casesPassing:e,casesTotal:t,attemptsPassing:n,attemptsTotal:r,trend:l}});async function It(){let e=s.currentStep?.schema?.trim()?`json-deep-equal`:`assertion`,t=Lt(await _t(G.tests.addTest.mutate({agent:a(_),seed:{step:a(We),evaluation_mode:e,...e===`json-deep-equal`?{expected_output:`{}`,case_sensitive:!1}:{}}})));b(Y,[t,...a(Y)],!0),xn(t.id,!0).catch(console.error)}function Lt(e){return{...e,step:String(e.step||`main`),evaluation_mode:e.evaluation_mode===`json-deep-equal`?`json-deep-equal`:`assertion`,case_sensitive:e.case_sensitive===!0,context_mode:e.context_mode===`replace`?`replace`:`merge`,pinned:e.pinned===`TRUE`,timeout:Number(e.timeout),similarity_threshold:Number(e.similarity_threshold),context:JSON.stringify(e.context),mocks:JSON.stringify(e.mocks||{}),hasMocks:e.mocks!==void 0,conversation_ui:fn(e.conversation||``,e.expected_output||``,String(e.step||`main`),e.evaluation_mode===`json-deep-equal`)}}function Rt(e,t){let n=t.test,r=n.id,i=t.results,o=i.reduce((e,t)=>e+ +!!t.success,0);return{id:r,pinned:n.pinned===`TRUE`,scenario:n.scenario,step:n.step||`main`,evaluation_mode:n.evaluation_mode===`json-deep-equal`?`json-deep-equal`:`assertion`,case_sensitive:n.case_sensitive===!0,context_mode:n.context_mode===`replace`?`replace`:`merge`,author:n.author||``,assertion_type:n.assertion_type,assertion_value:n.assertion_value,conversation:n.conversation,expected_output:n.expected_output,conversation_ui:fn(n.conversation||``,n.expected_output||``,n.step||`main`,n.evaluation_mode===`json-deep-equal`),timeout:Number(n.timeout),similarity_threshold:Number(n.similarity_threshold),context:JSON.stringify(n.context),mocks:JSON.stringify(n.mocks||{}),hasMocks:n.mocks!==void 0,result:{success_rate:t.success_rate,successes:o,total_runs:i.length,isOld:!1,runs:i.map((t,n)=>{let i={agent:a(_),id:r,timestamp:e,run:n};return{index:n+1,success:t.success,text:t.result||``,evaluation:t.evaluation||``,errors:t.errors||``,links:{renderedPrompt:{...i,key:`rendered_prompt`},receivedPrompt:{...i,key:`received_prompt`},conversation:{...i,key:`stringified_conversation`},context:{...i,key:`received_context`},logs:{...i,key:`logs`},errors:{...i,key:`errors`},traces:{...i,key:`traces`}}}}).reverse()}}}function zt(e){let t=0,n=0,r=0,i=0;for(let a of e){let e=a.result;!e||e.total_runs<=0||(n+=1,r+=e.successes,i+=e.total_runs,e.successes===e.total_runs&&(t+=1))}return{casesPassing:t,casesTotal:n,attemptsPassing:r,attemptsTotal:i}}function Bt(e,t,n){let r=ge(e.step)&&ge(s.currentStep?.name)?s.currentStep:null,i=s.steps.find(t=>t.name===e.step),o=r??i??s.steps.find(t=>ge(e.step)?ge(t.name):!1),c=o?.name??e.step,l=o?.prompt??``,u=s.promptDrafts[c]??l,d=s.promptEdits[`${a(_)}\u0000${c}`];return{kind:t,testId:e.id,step:c,prompt:d?.suggestedPrompt??u,basePrompt:t===`test-fix`?l:d?.originalPrompt??u,conversation:e.conversation,expectedOutput:e.expected_output,context:e.context,assertionLabel:e.evaluation_mode===`json-deep-equal`?``:Dn(e.assertion_type),assertionValue:e.evaluation_mode===`json-deep-equal`?``:e.assertion_value,currentIncorrectOutcome:n}}function Vt(e){p.openAiEdit(_n,Bt(e,`test-history`))}function Ht(e,t){b(Te,!1);let n=a(Y).find(t=>t.id===e.id)??e;xn(n.id,!0),p.openAiEdit(yn({context:n.context,conversation:n.conversation,expectedOutput:n.expected_output,assertionLabel:n.evaluation_mode===`json-deep-equal`?``:Dn(n.assertion_type),assertionValue:n.evaluation_mode===`json-deep-equal`?``:n.assertion_value,currentIncorrectOutcome:t}),Bt(n,`test-fix`,t))}function Ut(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`,year:`numeric`})}function Wt(e){let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function Gt(e){return e===`all`?`All tests`:`Pinned tests`}function Kt(e){let t=new Set(a(Ne));t.has(e)?t.delete(e):t.add(e),b(Ne,Array.from(t),!0)}function qt(){return(a(_)??``).trim()||null}function Jt(e){return e.rows.length===1?e.rows.map(e=>e.test.id):[]}function Yt(){Pe+=1,Fe+=1,b(Ee,null),b(De,[],!0),b(Oe,!1),b(ke,null),b(q,null),b(Ae,{},!0),b(je,!1),b(Me,null),b(Ne,[],!0)}async function Xt(){let e=qt();e&&(a(Ee)!==e&&(Yt(),b(Oe,!0)),b(Te,!0),await Zt({preserveCachedDetail:!0}))}async function Zt(e={}){let t=(a(_)??``).trim();if(!t)return;let n=t,r=++Pe;b(Oe,!0),b(ke,null);try{let i=await G.tests.historyList.query({agent:t});if(r!==Pe||qt()!==n)return;b(De,i,!0),b(Ee,n,!0);let o=a(q)&&i.some(e=>e.timestamp===a(q))?a(q):i[0]?.timestamp??null;o?await Qt(o,{preserveCachedDetail:e.preserveCachedDetail,requestKey:n}):(b(q,null),b(Me,null),b(je,!1),b(Ne,[],!0))}catch(e){if(console.error(e),r!==Pe||qt()!==n)return;b(ke,`Failed to load test history`),a(Ee)!==n&&(b(De,[],!0),b(q,null),b(Ae,{},!0),b(Ne,[],!0))}finally{r===Pe&&qt()===n&&b(Oe,!1)}}async function Qt(e,t={}){let n=(a(_)??``).trim();if(!n)return;let r=t.requestKey??n,i=a(q)===e;b(q,e,!0),b(je,!0),b(Me,null);let o=a(Ae)[e];if(o&&t.preserveCachedDetail){Fe+=1,b(je,!1),i||b(Ne,Jt(o),!0);return}let s=++Fe;o||b(Ne,[],!0);try{let t=await G.tests.historyRun.query({agent:n,timestamp:e});if(s!==Fe||a(q)!==e||qt()!==r)return;b(Ae,{...a(Ae),[e]:t},!0),b(Ne,Jt(t),!0)}catch(t){if(console.error(t),s!==Fe||a(q)!==e||qt()!==r)return;b(Me,`Failed to load this test run`),b(Ne,[],!0)}finally{s===Fe&&a(q)===e&&qt()===r&&b(je,!1)}}function $t(e){let{conversation_ui:t,hasMocks:n,mocks:r,result:i,...a}=e,o={...a,pinned:e.pinned?`TRUE`:`FALSE`,timeout:String(e.timeout??0),similarity_threshold:String(e.similarity_threshold??50),context:JSON.parse(e.context)};return n&&(o.mocks=JSON.parse(r)),o}async function en(e,t){let n=$t(e),r=Lt(await _t(G.tests.addTest.mutate({agent:a(_),seed:n,beforeTestId:e.id}))),i=a(Y).slice(),o=a(Y).findIndex(t=>t.id===e.id);i.splice(o<0?t:o,0,r),b(Y,i,!0),xn(r.id,!0).catch(console.error)}async function nn(e,t,n=0){let r=$t(e);r.expected_output=t;let i=Lt(await _t(G.tests.addTest.mutate({agent:a(_),seed:r}))),o=a(Y).slice();o.splice(n,0,i),b(Y,o,!0),xn(i.id,!0).catch(console.error),await G.tests.reorder.mutate({agent:a(_),order:a(Y).map(e=>e.id)})}function an(e){if(!e)return``;try{return e.replace(/^\s*\d+\s*[:.)-]?\s*(?:[❌✖️✔✅✗xX])?\s*/u,``)}catch{return e}}function on(e){try{return e&&e.trim()?JSON.parse(e):{}}catch{return{}}}let sn=e=>e.match(/^\s*(agent|assistant|user|system|step)\s*:\s*(.*)$/i);function cn(e){return ge(e)?`agent`:`step`}function ln(e){try{let t=JSON.parse(e),n=JSON.stringify(t,null,2);return typeof t!=`object`||!t||Array.isArray(t)?n:n.split(`
19
+ `).slice(1,-1).map(e=>e.startsWith(` `)?e.slice(2):e).join(`
20
+ `)}catch{return e}}function un(e,t,n){let r=String(e||t||`—`);return n?ln(r):r}function dn(e,t,n){let r=String(e??``).trimEnd();if(!r)return``;n&&(r=ln(r));let i=cn(t)===`agent`?`Agent`:`Step`;return n?r?`${i}:\n${r}`:`${i}:`:`${i}: ${r}`}function fn(e,t,n,r){let i=String(e??``).trimEnd(),a=dn(t,n,r);return a?i?`${i}\n${a}`:a:i}function pn(e,t){let n=String(e??``),r=n.split(/\r?\n/),i=[],a=null;for(let e=0;e<r.length;e++){let t=sn(r[e]);if(!t)continue;a&&i.push({...a,endLine:e});let n=String(t[1]??``).toLowerCase();a={role:n===`assistant`?`agent`:n,startLine:e+1}}a&&i.push({...a,endLine:r.length});let o=i.at(-1),s=cn(t.step);if(o?.role!==s||!o)return{valid:!1,expected:``,conversation:n.trimEnd()};let c=r.slice(o.startLine-1,o.endLine),l=c[0]??``,u=sn(l),d=[u?u[2]??``:``,...c.slice(1)].join(`
21
+ `).trimEnd(),f=d,p=!0;if(t.evaluation_mode===`json-deep-equal`){let e=/^\s*[\[{]/.test(d)?d:`{\n${d}\n}`;try{let t=JSON.parse(e);p=typeof t==`object`&&!!t,f=p?JSON.stringify(t,null,2):e}catch{p=!1,f=e}}let m=r.slice(0,o.startLine-1).join(`
22
+ `).trimEnd();return{valid:p,expected:f,conversation:m,highlight:{startLine:t.evaluation_mode===`json-deep-equal`?Math.min(o.endLine,o.startLine+1):o.startLine,endLine:o.endLine}}}function mn(e,t){return t?[{startLine:t.startLine,endLine:t.endLine,className:e.evaluation_mode===`json-deep-equal`?`test-expected-json-output`:`test-expected-output`}]:[]}function hn(e){return e.total_runs>0&&e.successes<e.total_runs?`text-rc-red-600`:`text-rc-gray-200`}async function vn(e,t){await G.tests.patchTest.mutate({agent:a(_),id:e,patch:t})}async function bn(e){await G.tests.deleteTest.mutate({agent:a(_),id:e}),bt(e);try{await xn(e,!1)}catch(e){console.error(e)}await wt()}function xn(e,t){if(!(a(_)??``).trim())return Promise.resolve();let n=String(e??``).trim();if(!n)return Promise.resolve();let r=new Set(a(mt));if(t===r.has(n))return Promise.resolve();t?r.add(n):r.delete(n);let i=Array.from(r);return b(mt,i,!0),pe(),Promise.resolve()}function Tn(e){xn(e,!a(ht).has(e)).catch(console.error)}function Er(){return!(a(_)??``).trim()||!a(gt)?Promise.resolve():(b(mt,[],!0),pe(),Promise.resolve())}function Dr(e){a(_)&&(b(K,e.id,!0),b(me,`context`),b(ve,O(on(e.context)),!0),b(ye,O(on(e.mocks)),!0),b(be,!1),b(xe,e.hasMocks,!0))}async function Or(){let e=a(K);if(!e||!a(_)){b(K,null),b(me,`context`),b(be,!1),b(xe,!1);return}let t=O(a(ve)),n=O(a(ye)),r=a(xe)||a(be);b(K,null),b(me,`context`),b(be,!1),b(xe,!1),b(Y,a(Y).map(i=>{if(i.id!==e)return i;let a={...i,context:JSON.stringify(t)};return r&&(a.mocks=JSON.stringify(n),a.hasMocks=!0),a}),!0);try{let i={context:t};r&&(i.mocks=n),await _t(vn(e,i))}catch(e){console.error(e),await wt()}}j(()=>{Q&&clearInterval(Q)});var kr=Tr();re(`rdft55`,e=>{var t=On();i(e,t)});var Ar=v(kr);ce(Ar,{title:`Test history`,class:`!w-[95vw] !max-w-[90rem]`,get open(){return a(Te)},set open(e){b(Te,e,!0)},children:e=>{var t=qn(),n=T(t),r=T(n),o=e=>{var t=kn();i(e,t)},s=e=>{var t=An(),n=T(t,!0);f(t),x(()=>c(n,a(ke))),i(e,t)},d=e=>{var t=jn();i(e,t)},g=e=>{var t=Pn(),n=T(t),r=e=>{var t=Mn(),n=T(t,!0);f(t),x(()=>c(n,a(ke))),i(e,t)};E(n,e=>{a(ke)&&e(r)});var o=N(n,2);u(o,17,()=>a(De),e=>e.timestamp,(e,t,n,r)=>{var o=Nn(),s=T(o),l=T(s),u=T(l,!0);f(l);var d=N(l,2),p=T(d,!0);f(d),f(s);var g=N(s,2),_=T(g);f(g);var v=N(g,2),ee=T(v),y=T(ee,!0);f(ee);var b=N(ee,2),S=T(b);f(b),f(v),f(o),x((e,n,r)=>{z(o,1,`w-full rounded border px-3 py-2 text-left transition-colors ${a(q)===a(t).timestamp?`border-rc-green-200 bg-rc-gray-930 text-rc-gray-100`:`border-rc-gray-700 bg-rc-gray-900 text-rc-gray-300 hover:border-rc-gray-500 hover:bg-rc-gray-800`}`,`svelte-rdft55`),c(u,e),c(p,n),c(_,`${a(t).testCount??``}
23
+ ${a(t).testCount===1?`test`:`tests`} · ${r??``}`),z(ee,1,m(a(t).passed?`text-rc-green-200`:`text-rc-red-600`)),c(y,a(t).passed?`Success`:`Failure`),c(S,`${a(t).successRatePercent??``}% (${a(t).successRate??``})`)},[()=>Ut(a(t).timestamp),()=>Wt(a(t).timestamp),()=>Gt(a(t).runScope)]),h(`click`,o,()=>void Qt(a(t).timestamp,{preserveCachedDetail:!0})),i(e,o)}),f(t),i(e,t)};E(r,e=>{a(Ie)?e(o):a(ke)&&a(De).length===0?e(s,1):a(De).length===0?e(d,2):e(g,-1)}),f(n);var _=N(n,2),y=T(_),b=e=>{var t=kn();i(e,t)},D=e=>{var t=An(),n=T(t,!0);f(t),x(()=>c(n,a(Me))),i(e,t)},O=e=>{var t=Kn(),n=T(t),r=T(n),o=T(r),s=N(T(o),2);_e(s,{type:`number`,class:`w-16`,get value(){return a(J).runConfig.repeats},disabled:!0}),f(o);var d=N(o,2),g=N(T(d),2);_e(g,{type:`number`,class:`w-16`,get value(){return a(J).runConfig.concurrency},disabled:!0}),f(d);var _=N(d,2),y=T(_,!0);f(_),f(r),f(n);var b=N(n,2),D=N(T(b),2),O=T(D),A=T(O);f(O);var j=N(O,2),M=T(j);f(j),f(D),f(b);var P=N(b,2),F=e=>{var t=Fn();i(e,t)},I=e=>{var t=Gn();u(t,21,()=>a(ze),e=>e.id,(e,t)=>{let n=w(()=>pn(a(t).conversation_ui,a(t))),r=w(()=>a(Re).has(a(t).id));var o=Wn(),s=T(o),d=T(s),g=T(d);{let e=w(()=>`block ${a(t).pinned?`text-rc-green-200`:`text-gray-400`}`),n=w(()=>a(t).pinned?`mdi:pin`:`mdi:pin-outline`);tn(g,{get class(){return a(e)},get icon(){return a(n)},width:18,height:18})}f(d);var _=N(d,2),y=T(_),b=T(y),D=T(b),O=T(D);te(O);var A=N(O,2),j=T(A);{let e=w(()=>a(r)?`chevron-up`:`chevron-down`);ae(j,{get name(){return a(e)},width:20,height:20,class:`block`})}f(A),f(D);var M=N(D,2),P=e=>{var n=zn(),r=T(n),o=e=>{let n=w(()=>wn(a(t).result,a(J).runConfig.repeats));var r=Ln(),o=v(r),s=T(o);f(o);var l=N(o,2),u=e=>{var t=In(),r=T(t);f(t),x(()=>c(r,`(${a(n).expectedSuccesses??``}/${a(n).expectedRuns??``} expected)`)),i(e,t)};E(l,e=>{a(n)?.showExpected&&e(u)}),x(e=>{z(o,1,e,`svelte-rdft55`),c(s,`${a(t).result.successes??``}/${a(t).result.total_runs??``}`)},[()=>m(hn(a(t).result))]),i(e,r)},s=e=>{var t=Rn();i(e,t)};E(r,e=>{a(t).result?e(o):e(s,-1)}),f(n),i(e,n)};E(M,e=>{a(r)||e(P)}),f(b);var F=N(b,2),I=e=>{var r=Un(),o=v(r),s=T(o);te(s);var d=N(s,2),h=e=>{var n=Bn(),r=T(n);te(r);var o=N(r,2);te(o),f(n),x(e=>{C(r,e),C(o,a(t).assertion_value)},[()=>Dn(a(t).assertion_type)]),i(e,n)};E(d,e=>{a(t).evaluation_mode!==`json-deep-equal`&&e(h)});var g=N(d,2),_=T(g);W(_,{variant:`secondary`,size:`small`,onclick:()=>Ve(`Test context — ${a(t).scenario||`Test`}`,on(a(t).context)),children:(e,t)=>{l();var n=B(`View context`);i(e,n)},$$slots:{default:!0}});var y=N(_,2);W(y,{variant:`secondary`,size:`small`,onclick:()=>Ve(`Test mocks — ${a(t).scenario||`Test`}`,on(a(t).mocks)),children:(e,t)=>{l();var n=B(`View mocks`);i(e,n)},$$slots:{default:!0}}),f(g);var b=N(g,2);{let e=w(()=>mn(a(t),a(n).highlight));rn(b,{get value(){return a(t).conversation_ui},get highlights(){return a(e)},language:`markdown`,height:220,readOnly:!0})}f(o);var D=N(o,2),O=T(D),k=e=>{let n=w(()=>wn(a(t).result,a(J).runConfig.repeats));var r=Hn(),o=v(r),s=T(o),l=T(s),d=T(l);f(l);var h=N(l,2),g=e=>{var t=In(),r=T(t);f(t),x(()=>c(r,`(${a(n).expectedSuccesses??``}/${a(n).expectedRuns??``} expected)`)),i(e,t)};E(h,e=>{a(n)?.showExpected&&e(g)}),f(s),f(o);var _=N(o,2);u(_,21,()=>a(t).result.runs,e=>e.index,(e,n,r,o)=>{var s=Vn(),l=T(s),u=T(l,!0);f(l);var d=N(l,2),m=T(d),h=T(m),g=e=>{ae(e,{name:`checkmark`,width:20,height:20,class:`shrink-0 self-end`})},_=e=>{ae(e,{name:`close`,width:18,height:18,class:`shrink-0 scale-110 self-start`})};E(h,e=>{a(n).success?e(g):e(_,-1)});var v=N(h,2),y=T(v,!0);f(v),f(m);var b=N(m,2);{let e=w(()=>a(t).scenario||`Test`),r=w(()=>!a(n).text.trim()||!a(S)),i=w(()=>a(t).evaluation_mode!==`json-deep-equal`),o=w(()=>!!p.getActivePromptEditId()),s=w(()=>!a(n).success&&!yt(a(t).id)?()=>Ht(a(t),a(n).text||a(n).errors||`—`):void 0);gn(b,{get scenario(){return a(e)},get runIndex(){return a(n).index},get links(){return a(n).links},get variants(){return a(t).result.runs},get actionsDisabled(){return a(Z)},get actionsInert(){return a(lt)},get addTestDisabled(){return a(r)},get showAnalyze(){return a(i)},get analyzeDisabled(){return a(He)},get fixDisabled(){return a(o)},onAddTest:()=>nn(a(t),a(n).text,0),onAnalyze:()=>Ue(a(t).scenario||`Test`,a(n).index,a(n).links.renderedPrompt),get onFix(){return a(s)}})}f(d),f(s),x((e,r)=>{z(l,1,`w-full whitespace-pre-wrap break-words rounded-lg px-3 py-2 text-rc-gray-100 ${a(t).evaluation_mode===`json-deep-equal`?`font-mono text-sm leading-6`:``} ${a(n).success?`bg-rc-green-700 backdrop-blur-md`:``}`,`svelte-rdft55`),ee(l,a(n).success?``:`background-color: rgb(156 80 80)`),c(u,e),z(d,1,`flex w-full flex-col gap-x-4 whitespace-pre-wrap break-words ${a(n).success?`text-rc-green-200`:`text-rc-red-800`}`,`svelte-rdft55`),c(y,r)},[()=>un(a(n).text,a(n).errors,a(t).evaluation_mode===`json-deep-equal`),()=>a(n).success?`Pass`:an(a(n).evaluation)||(a(n).errors||``).split(/\r?\n/)[0]||`Fail`]),i(e,s)}),f(_),x(e=>{z(l,1,e,`svelte-rdft55`),c(d,`${a(t).result.successes??``}/${a(t).result.total_runs??``}`)},[()=>m(hn(a(t).result))]),i(e,r)};E(O,e=>{a(t).result&&e(k)}),f(D),x(()=>C(s,a(t).author||``)),i(e,r)};E(F,e=>{a(r)&&e(I)}),f(y),f(_),f(s),f(o),x(()=>{k(o,`data-id`,a(t).id),z(y,1,`left-details-bg flex flex-col rounded border ${a(n).valid?`border-rc-gray-700`:`border-rc-red-600`}`,`svelte-rdft55`),z(b,1,`left-details-bg rounded-t px-2 pt-2 ${a(r)?`border-b border-rc-gray-700 pb-1`:`pb-2`}`,`svelte-rdft55`),C(O,a(t).scenario),k(A,`aria-label`,a(r)?`Collapse test`:`Expand test`),k(A,`title`,a(r)?`Collapse`:`Expand`)}),h(`click`,A,()=>Kt(a(t).id)),i(e,o)}),f(t),i(e,t)};E(P,e=>{a(ze).length===0?e(F):e(I,-1)}),f(t),x(e=>{c(y,e),c(A,`${a(Be).casesPassing??``}/${a(Be).casesTotal??``} cases passing`),c(M,`${a(Be).attemptsPassing??``}/${a(Be).attemptsTotal??``} attempts
24
+ passing`)},[()=>Gt(a(J).runScope)]),i(e,t)};E(y,e=>{a(Le)?e(b):a(Me)&&!a(J)?e(D,1):a(J)&&e(O,2)}),f(_),f(t),i(e,t)},footer:e=>{W(e,{variant:`outlined`,size:`small`,onclick:()=>b(Te,!1),children:(e,t)=>{l();var n=B(`Close`);i(e,n)},$$slots:{default:!0}})},$$slots:{default:!0,footer:!0}});var jr=N(Ar,2);ce(jr,{get title(){return a(Ce)},class:`!w-[80vw] !max-w-5xl`,get open(){return a(Se)},set open(e){b(Se,e,!0)},children:e=>{var t=Jn(),n=T(t,!0);f(t),x(()=>c(n,a(we)||`—`)),i(e,t)},footer:e=>{W(e,{variant:`outlined`,size:`small`,onclick:()=>b(Se,!1),children:(e,t)=>{l();var n=B(`Close`);i(e,n)},$$slots:{default:!0}})},$$slots:{default:!0,footer:!0}});var Mr=N(jr,2),Nr=e=>{var t=Zn(),n=T(t),r=T(n),o=T(r,!0);f(r);var s=N(r,2),u=e=>{var t=Yn(),n=N(v(t),2);k(n,`href`,`https://github.com/recombine-ai/bosun/blob/main/TESTS_MIGRATION.md`),i(e,t)},d=e=>{var t=Xn(),n=v(t),r=T(n,!0);f(n);var o=N(n,2);W(o,{class:`mt-4`,variant:`secondary`,onclick:()=>void wt(),children:(e,t)=>{l();var n=B(`Retry`);i(e,n)},$$slots:{default:!0}}),x(()=>c(r,a(dt).message)),i(e,t)};E(s,e=>{a(dt).kind===`legacy`?e(u):e(d,-1)}),f(n),f(t),x(()=>c(o,a(dt).kind===`legacy`?`This test suite requires migration`:`Tests could not be loaded`)),i(e,t)},Pr=t=>{var n=wr(),r=T(n),s=e=>{var t=$n(),n=N(T(t),2);u(n,21,()=>a(qe),D,(e,t)=>{var n=Qn(),r=T(n);f(n),x(()=>c(r,`${a(t).step??``} (${a(t).count??``})`)),i(e,n)}),f(n),f(t),i(e,t)};E(r,e=>{a(qe).length>0&&e(s)});var d=N(r,2),C=T(d),O=T(C),j=N(T(O),2);_e(j,{type:`number`,min:`1`,max:`500`,class:`w-16`,onchange:()=>{b(M,A(+a(M)||1,1,500),!0),pe()},get value(){return a(M)},set value(e){b(M,e,!0)}}),f(O);var P=N(O,2),F=N(T(P),2);_e(F,{type:`number`,min:`1`,max:`75`,class:`w-16`,onchange:()=>{b(I,A(+a(I)||75,1,75),!0),pe()},get value(){return a(I)},set value(e){b(I,e,!0)}}),f(P),f(C);var L=N(C,2),R=T(L),re=e=>{var t=er(),n=T(t),r=T(n);f(n);var o=N(n,2);W(o,{variant:`secondary`,onclick:Ot,children:(e,t)=>{l();var n=B(`Cancel`);i(e,n)},$$slots:{default:!0}}),f(t),x(()=>c(r,`Running… ${a(Xe)??``}/${a(Ze)??``}`)),i(e,t)};E(R,e=>{a(Z)&&e(re)});var V=N(R,2),H=T(V);{let e=w(()=>a(Z)||!a(_)||!a(S));W(H,{variant:`secondary`,onclick:It,get inert(){return a(lt)},get disabled(){return a(e)},class:`inline-flex items-center gap-1`,children:(e,t)=>{var n=tr();tn(v(n),{icon:`mdi:plus-thick`,width:18,height:18}),l(),i(e,n)},$$slots:{default:!0}})}var ie=N(H,2),ce=e=>{var t=nr();i(e,t)};E(ie,e=>{a(ut)&&a(X).length===0&&e(ce)}),f(V);var G=N(V,2);{let e=w(()=>a(Z)||a(X).length===0||a(Nt)&&a(Mt)===0);W(G,{class:`inline-flex min-w-32 items-center justify-center gap-1 disabled:cursor-not-allowed disabled:opacity-50`,get inert(){return a(lt)},get disabled(){return a(e)},onclick:()=>Et(a(Nt)?`pinned`:`all`),children:(e,t)=>{l();var n=B();x(()=>c(n,`▶ ${a(Nt)?`Run pinned`:`Run all`}`)),i(e,n)},$$slots:{default:!0}})}f(L),f(d);var de=N(d,2),fe=T(de);{let e=w(()=>!a(_));W(fe,{variant:`secondary`,class:`ml-11 inline-flex min-w-32 items-center justify-center gap-1`,get disabled(){return a(e)},onclick:()=>void Xt().catch(console.error),children:(e,t)=>{var n=rr();tn(v(n),{icon:`mdi:history`,width:18,height:18}),l(),i(e,n)},$$slots:{default:!0}})}var xe=N(fe,2),Se=e=>{{let t=w(()=>!a(_));W(e,{variant:`secondary`,class:`inline-flex min-w-32 items-center justify-center gap-1`,get inert(){return a(lt)},get disabled(){return a(t)},onclick:()=>void Er().catch(console.error),children:(e,t)=>{var n=ir(),r=v(n);ae(r,{name:`chevron-up`,width:16,height:16,class:`block`}),l(),i(e,n)},$$slots:{default:!0}})}};E(xe,e=>{a(gt)&&e(Se)}),f(de);var Ce=N(de,2),we=T(Ce);U(we,{class:`relative flex h-full min-w-0 flex-col overflow-hidden !rounded-none p-0`,children:(t,n)=>{var r=Cr(),s=v(r),d=T(s),C=T(d),O=e=>{var t=ar();i(e,t)},A=e=>{var t=or(),n=T(t);{let e=w(()=>a(Nt)?`mdi:pin`:`mdi:pin-outline`);tn(n,{class:`block`,get icon(){return a(e)},width:18,height:18})}f(t),x(()=>{z(t,1,`icon-btn justify-self-center ${a(Nt)?`text-rc-green-200`:`text-gray-300 hover:text-gray-100`}`,`svelte-rdft55`),t.inert=a(lt),t.disabled=a(Z)||a(X).length===0||!a(S)}),h(`click`,t,async()=>{await kt(!a(Pt))}),i(e,t)};E(C,e=>{a(Z)?e(O):e(A,-1)});var j=N(C,2),M=T(j),P=T(M);f(M);var F=N(M,2),I=T(F);f(F);var L=N(F,2),R=T(L);f(L);var re=N(L,2),V=e=>{var t=sr(),n=T(t);{let e=w(()=>a(Ft).trend.direction===`higher`?`chevron-up`:`chevron-down`);ae(n,{get name(){return a(e)},width:16,height:16,class:`inline-block align-text-bottom`})}var r=N(n),o=T(r,!0);f(r),f(t),x((e,n)=>{z(t,1,`whitespace-nowrap font-semibold ${a(Ft).trend.direction===`higher`?`text-rc-green-200`:`text-rc-red-600`}`,`svelte-rdft55`),k(t,`title`,e),c(o,n)},[()=>`Previous ${a(Ft).trend.previousAttemptsPassing}/${a(Ft).trend.previousAttemptsTotal}, current ${a(Ft).trend.currentAttemptsPassing}/${a(Ft).trend.currentAttemptsTotal}, p=${a(Ft).trend.pValue.toPrecision(2)}`,()=>Cn(a(Ft).trend.direction)]),i(e,t)};E(re,e=>{a(Ft).trend&&e(V)}),f(j),f(d);var H=N(d,2),U=e=>{var t=Fn();i(e,t)},ie=e=>{var t=Gn();u(t,23,()=>a(X),e=>e.id,(e,t,n)=>{let r=w(()=>pn(a(t).conversation_ui,a(t))),o=w(()=>a(ht).has(a(t).id));var s=br(),d=T(s),C=T(d),O=T(C),A=e=>{var n=cr(),r=T(n),o=e=>{tn(e,{icon:`mdi:check`,width:20,height:20,class:`text-rc-green-200`})},s=w(()=>a(it).has(a(t).id)),c=e=>{tn(e,{icon:`mdi:play`,width:20,height:20,class:`text-rc-green-200`})},l=w(()=>a(rt).has(a(t).id)),u=e=>{tn(e,{icon:`mdi:play-outline`,width:20,height:20,class:`text-rc-green-200`})},d=w(()=>a(nt).has(a(t).id));E(r,e=>{a(s)?e(o):a(l)?e(c,1):a(d)&&e(u,2)}),f(n),i(e,n)},j=e=>{var r=lr(),o=v(r),s=T(o);{let e=w(()=>a(t).pinned?`mdi:pin`:`mdi:pin-outline`);tn(s,{class:`block`,get icon(){return a(e)},width:18,height:18})}f(o);var c=N(o,2);tn(T(c),{icon:`mdi:content-copy`,width:18,height:18}),f(c);var l=N(c,2);tn(T(l),{icon:`mdi:trash-can-outline`,width:18,height:18}),f(l),x(()=>{z(o,1,`icon-btn ${a(t).pinned?`text-rc-green-200`:`text-gray-300 hover:text-gray-100`}`,`svelte-rdft55`),k(o,`aria-label`,a(t).pinned?`Unpin`:`Pin`),k(o,`title`,a(t).pinned?`Unpin`:`Pin`),o.inert=a(lt),o.disabled=a(Z)||!a(S),c.inert=a(lt),c.disabled=a(Z)||!a(S),l.inert=a(lt),l.disabled=a(Z)||!a(S)}),h(`click`,o,async()=>{let e=!a(t).pinned;b(Y,a(Y).map(n=>n.id===a(t).id?{...n,pinned:e}:n),!0),await _t(vn(a(t).id,{pinned:e?`TRUE`:`FALSE`}))}),h(`click`,c,()=>en(a(t),a(n))),h(`click`,l,()=>bn(a(t).id)),i(e,r)};E(O,e=>{a(Z)?e(A):e(j,-1)}),f(C);var M=N(C,2),P=T(M),F=T(P),I=T(F),L=T(I);te(L);var R=N(L,2),re=T(R);{let e=w(()=>a(o)?`chevron-up`:`chevron-down`);ae(re,{get name(){return a(e)},width:20,height:20,class:`block`})}f(R),f(I);var V=N(I,2),H=e=>{var n=zn(),r=T(n),o=e=>{let n=w(()=>wn(a(t).result,a(Qe)));var r=ur(),o=v(r),s=T(o);f(o);var l=N(o,2),u=e=>{var t=In(),r=T(t);f(t),x(()=>c(r,`(${a(n).expectedSuccesses??``}/${a(n).expectedRuns??``} expected)`)),i(e,t)};E(l,e=>{a(n)?.showExpected&&e(u)});var d=N(l,2),p=e=>{var t=sr(),r=T(t);{let e=w(()=>a(n).direction===`higher`?`chevron-up`:`chevron-down`);ae(r,{get name(){return a(e)},width:16,height:16,class:`inline-block align-text-bottom`})}var o=N(r),s=T(o,!0);f(o),f(t),x(()=>{z(t,1,`ml-2 whitespace-nowrap font-semibold ${a(n).direction===`higher`?`text-rc-green-200`:`text-rc-red-600`}`,`svelte-rdft55`),c(s,a(n).comparisonLabel)}),i(e,t)};E(d,e=>{a(n)?.comparisonLabel&&e(p)}),x(e=>{z(o,1,e,`svelte-rdft55`),c(s,`${a(t).result.successes??``}/${a(t).result.total_runs??``}`)},[()=>m(hn(a(t).result))]),i(e,r)},s=e=>{var t=Rn();i(e,t)};E(r,e=>{a(t).result?e(o):e(s,-1)}),f(n),i(e,n)};E(V,e=>{a(o)||e(H)}),f(F);var U=N(F,2),ie=e=>{let o=w(()=>yt(a(t).id));var s=yr(),d=v(s),b=T(d),C=e=>{var n=dr(),r=T(n);f(n),x(e=>c(r,`Invalid test: expected must be the last ${e??``}`),[()=>ge(a(t).step)?`“Agent: …” block`:a(t).evaluation_mode===`json-deep-equal`?`“Step: …” block with valid JSON`:`“Step: …” block`]),i(e,n)};E(b,e=>{a(r).valid||e(C)});var O=N(b,2);te(O);var k=N(O,2),A=e=>{var n=pr(),r=T(n);u(r,21,()=>En,D,(e,t)=>{var n=fr(),r=T(n,!0);f(n);var o={};x(()=>{c(r,a(t).label),o!==(o=a(t).value)&&(n.value=(n.__value=a(t).value)??``)}),i(e,n)}),f(r);var o=N(r,2);te(o),f(n),x(()=>{r.disabled=!a(S),o.disabled=!a(S)}),h(`change`,r,()=>vn(a(t).id,{assertion_type:a(t).assertion_type})),g(r,()=>a(t).assertion_type,e=>a(t).assertion_type=e),h(`change`,o,()=>vn(a(t).id,{assertion_value:a(t).assertion_value})),y(o,()=>a(t).assertion_value,e=>a(t).assertion_value=e),i(e,n)};E(k,e=>{a(t).evaluation_mode!==`json-deep-equal`&&e(A)});var j=N(k,2),M=T(j);{let e=w(()=>a(Z)||!a(S));W(M,{variant:`secondary`,size:`small`,get inert(){return a(lt)},get disabled(){return a(e)},onclick:()=>Dr(a(t)),children:(e,t)=>{l();var n=B(`Edit context`);i(e,n)},$$slots:{default:!0}})}var P=N(M,2);{let e=w(()=>a(Z)||!!a(o));W(P,{variant:`secondary`,size:`small`,get inert(){return a(lt)},get disabled(){return a(e)},onclick:()=>Vt(a(t)),children:(e,t)=>{l();var n=B(`Update history…`);i(e,n)},$$slots:{default:!0}})}var F=N(P,2),I=e=>{var n=mr(),r=T(n);te(r),l(2),f(n),x(()=>r.disabled=a(Z)||!a(S)),h(`change`,r,()=>_t(vn(a(t).id,{case_sensitive:a(t).case_sensitive}))),ne(r,()=>a(t).case_sensitive,e=>a(t).case_sensitive=e),i(e,n)};E(F,e=>{a(t).evaluation_mode===`json-deep-equal`&&e(I)}),f(j);var L=N(j,2),R=e=>{let n=w(()=>fn(a(o).originalConversation,a(o).expectedOutput,a(t).step,a(t).evaluation_mode===`json-deep-equal`)),r=w(()=>fn(a(o).suggestedConversation,a(o).expectedOutput,a(t).step,a(t).evaluation_mode===`json-deep-equal`));var s=gr(),u=T(s);{let e=w(()=>mn(a(t),pn(a(n),a(t)).highlight)),i=w(()=>mn(a(t),pn(a(r),a(t)).highlight));he(u,{variant:`test-history`,class:`h-full min-w-0`,get original(){return a(n)},get modified(){return a(r)},get originalHighlights(){return a(e)},get modifiedHighlights(){return a(i)},inline:!0,bottomPadding:56,readOnlyMessage:`Accept or reject the AI suggestion before editing this history.`})}var d=N(u,2),p=T(d);{let e=w(()=>a(ft).includes(a(t).id));W(p,{variant:`secondary`,get disabled(){return a(e)},onclick:()=>xt(a(t).id),children:(e,t)=>{l();var n=B(`✕ Reject`);i(e,n)},$$slots:{default:!0}})}var m=N(p,2);{let e=w(()=>a(ft).includes(a(t).id));W(m,{get disabled(){return a(e)},onclick:()=>St(a(t).id),children:(e,t)=>{l();var n=B(`✓ Accept`);i(e,n)},$$slots:{default:!0}})}var h=N(m,2),g=e=>{var n=hr(),r=T(n,!0);f(n),x(()=>c(r,a(pt)[a(t).id])),i(e,n)};E(h,e=>{a(pt)[a(t).id]&&e(g)}),f(d),f(s),i(e,s)},re=e=>{{let n=w(()=>!a(S)),i=w(()=>mn(a(t),a(r).highlight));rn(e,{get value(){return a(t).conversation_ui},get readOnly(){return a(n)},onChange:e=>a(t).conversation_ui=e,onBlur:async e=>{if(!a(_))return;let n=pn(e,a(t));a(t).conversation=n.conversation,a(t).expected_output=n.expected,n.valid&&a(t).evaluation_mode===`json-deep-equal`&&(a(t).conversation_ui=fn(a(t).conversation,a(t).expected_output,a(t).step,!0)),await _t(vn(a(t).id,{conversation:a(t).conversation,expected_output:a(t).expected_output}))},get highlights(){return a(i)},language:`markdown`,height:220})}};E(L,e=>{a(o)?e(R):e(re,-1)}),f(d);var V=N(d,2),H=T(V),U=T(H);{let e=w(()=>a(Z)||!a(r).valid),n=w(()=>a(r).valid?`Run`:`Expected must be the last ${ge(a(t).step)?`Agent`:`Step`} block${a(t).evaluation_mode===`json-deep-equal`?` with valid JSON`:``}`);W(U,{size:`small`,get inert(){return a(lt)},get disabled(){return a(e)},get title(){return a(n)},onclick:()=>Dt(a(t).id),children:(e,t)=>{l();var n=B(`▶ Run`);i(e,n)},$$slots:{default:!0}})}var ie=N(U,2),oe=e=>{let n=w(()=>wn(a(t).result,a(Qe)));var r=_r(),o=T(r),s=T(o);f(o);var l=N(o,2),u=e=>{var t=In(),r=T(t);f(t),x(()=>c(r,`(${a(n).expectedSuccesses??``}/${a(n).expectedRuns??``} expected)`)),i(e,t)};E(l,e=>{a(n)?.showExpected&&e(u)});var d=N(l,2),p=e=>{var t=sr(),r=T(t);{let e=w(()=>a(n).direction===`higher`?`chevron-up`:`chevron-down`);ae(r,{get name(){return a(e)},width:18,height:18,class:`inline-block align-text-bottom`})}var o=N(r),s=T(o,!0);f(o),f(t),x(()=>{z(t,1,`ml-2 whitespace-nowrap font-semibold ${a(n).direction===`higher`?`text-rc-green-200`:`text-rc-red-600`}`,`svelte-rdft55`),c(s,a(n).comparisonLabel)}),i(e,t)};E(d,e=>{a(n)?.comparisonLabel&&e(p)}),f(r),x(e=>{z(o,1,e,`svelte-rdft55`),c(s,`${a(t).result.successes??``}/${a(t).result.total_runs??``}`)},[()=>m(hn(a(t).result))]),i(e,r)};E(ie,e=>{a(t).result&&e(oe)}),f(H);var se=N(H,2),ce=e=>{var r=vr();u(r,21,()=>a(t).result.runs,e=>e.index,(e,r,o,s)=>{var l=Vn(),u=T(l),d=T(u,!0);f(u);var m=N(u,2),h=T(m),g=T(h),_=e=>{ae(e,{name:`checkmark`,width:20,height:20,class:`shrink-0 self-end`})},v=e=>{ae(e,{name:`close`,width:18,height:18,class:`shrink-0 scale-110 self-start`})};E(g,e=>{a(r).success?e(_):e(v,-1)});var y=N(g,2),b=T(y,!0);f(y),f(h);var C=N(h,2);{let e=w(()=>a(t).scenario||`Test`),i=w(()=>!a(r).text.trim()||!a(S)),o=w(()=>a(t).evaluation_mode!==`json-deep-equal`),s=w(()=>!!p.getActivePromptEditId()),c=w(()=>!a(r).success&&!yt(a(t).id)?()=>Ht(a(t),a(r).text||a(r).errors||`—`):void 0);gn(C,{get scenario(){return a(e)},get runIndex(){return a(r).index},get links(){return a(r).links},get variants(){return a(t).result.runs},get actionsDisabled(){return a(Z)},get actionsInert(){return a(lt)},get addTestDisabled(){return a(i)},get showAnalyze(){return a(o)},get analyzeDisabled(){return a(He)},get fixDisabled(){return a(s)},onAddTest:()=>nn(a(t),a(r).text,a(n)),onAnalyze:()=>Ue(a(t).scenario||`Test`,a(r).index,a(r).links.renderedPrompt),get onFix(){return a(c)}})}f(m),f(l),x((e,n)=>{z(u,1,`w-full whitespace-pre-wrap break-words rounded-lg px-3 py-2 text-rc-gray-100 ${a(t).evaluation_mode===`json-deep-equal`?`font-mono text-sm leading-6`:``} ${a(r).success?`bg-rc-green-700 backdrop-blur-md`:``}`,`svelte-rdft55`),ee(u,a(r).success?``:`background-color: rgb(156 80 80)`),c(d,e),z(m,1,`flex w-full flex-col gap-x-4 whitespace-pre-wrap break-words ${a(r).success?`text-rc-green-200`:`text-rc-red-800`}`,`svelte-rdft55`),c(b,n)},[()=>un(a(r).text,a(r).errors,a(t).evaluation_mode===`json-deep-equal`),()=>a(r).success?`Pass`:an(a(r).evaluation)||(a(r).errors||``).split(/\r?\n/)[0]||`Fail`]),i(e,l)}),f(r),i(e,r)};E(se,e=>{a(t).result&&e(ce)}),f(V),x(()=>O.disabled=!a(S)),h(`change`,O,()=>vn(a(t).id,{author:a(t).author||``})),y(O,()=>a(t).author,e=>a(t).author=e),i(e,s)};E(U,e=>{a(o)&&e(ie)}),f(P),f(M),f(d),f(s),x(()=>{k(s,`data-id`,a(t).id),z(P,1,`left-details-bg flex flex-col rounded border ${a(r).valid?`border-rc-gray-700`:`border-rc-red-600`}`,`svelte-rdft55`),z(F,1,`left-details-bg sticky top-0 z-10 rounded-t px-2 pt-2 ${a(o)?`border-b border-rc-gray-700 pb-1`:`pb-2`}`,`svelte-rdft55`),L.disabled=!a(S),k(R,`aria-label`,a(o)?`Collapse test`:`Expand test`),k(R,`title`,a(o)?`Collapse`:`Expand`),R.inert=a(lt)}),h(`change`,L,()=>vn(a(t).id,{scenario:a(t).scenario})),y(L,()=>a(t).scenario,e=>a(t).scenario=e),h(`click`,R,()=>Tn(a(t).id)),i(e,s)}),f(t),i(e,t)};E(H,e=>{a(X).length===0?e(U):e(ie,-1)}),f(s);var ce=N(s,2),G=t=>{let n=w(()=>a(Y).find(e=>e.id===a(K)));{let r=t=>{var n=Sr(),r=T(n);oe(r,{get value(){return a(me)},ariaLabel:`Test context tabs`,onChange:({value:e})=>b(me,e,!0),children:(e,t)=>{var n=xr(),r=v(n);se(r,{value:`context`,class:`px-3`,children:(e,t)=>{l();var n=B(`Context`);i(e,n)},$$slots:{default:!0}});var a=N(r,2);se(a,{value:`mocks`,class:`px-3`,children:(e,t)=>{l();var n=B(`Mocks`);i(e,n)},$$slots:{default:!0}}),i(e,n)},$$slots:{default:!0}});var s=N(r,2),c=T(s),u=t=>{var n=o(),r=v(n);e(r,()=>`${a(K)}:context`,e=>{{let t=w(()=>`editorState/context/${a(_)}/tests/${a(K)}`);ue(e,{class:`h-full min-h-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl`,get context(){return a(ve)},suppressErrors:!0,defaultFormat:`yaml`,hideHeader:!0,get editorStateKey(){return a(t)},onContextChanged:e=>b(ve,e,!0)})}}),i(t,n)},d=t=>{var n=o(),r=v(n);e(r,()=>`${a(K)}:mocks`,e=>{{let t=w(()=>`editorState/mocks/${a(_)}/tests/${a(K)}`);ue(e,{class:`h-full min-h-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl`,get context(){return a(ye)},suppressErrors:!0,defaultFormat:`yaml`,hideHeader:!0,get editorStateKey(){return a(t)},onContextChanged:e=>{b(ye,e,!0),b(be,!0)}})}}),i(t,n)};E(c,e=>{a(me)===`context`?e(u):e(d,-1)}),f(s),f(n),i(t,n)},s=w(()=>`Test context — ${a(n)?.scenario||`Test`}`);le(t,{get title(){return a(s)},onClose:()=>void Or(),children:r,$$slots:{default:!0}})}};E(ce,e=>{a(K)&&e(G)}),x(()=>{c(P,`Pinned: ${a(Mt)??``}/${a(X).length??``}`),c(I,`${a(Ft).casesPassing??``}/${a(Ft).casesTotal??``} cases passing`),c(R,`${a(Ft).attemptsPassing??``}/${a(Ft).attemptsTotal??``} attempts passing`)}),i(t,r)},$$slots:{default:!0}}),f(Ce),f(n),i(t,n)};E(Mr,e=>{a(ut)&&a(dt)?e(Nr):a(ut)&&e(Pr,1)}),i(t,kr),r()}t([`click`,`change`]);export{Er as component};