@recombine-ai/bosun 0.10.0 → 0.11.1

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 (517) hide show
  1. package/README.md +14 -0
  2. package/bin/bosun.js +188 -43
  3. package/build/client/_app/immutable/assets/0.Dz9hcoGY.css +1 -0
  4. package/build/client/_app/immutable/assets/0.Dz9hcoGY.css.br +0 -0
  5. package/build/client/_app/immutable/assets/0.Dz9hcoGY.css.gz +0 -0
  6. package/build/client/_app/immutable/assets/10.BX46PfEJ.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/18.C5apk4jm.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/2.DxwYfh1z.css.gz +0 -0
  9. package/build/client/_app/immutable/assets/3.Dzh7_Q8n.css.gz +0 -0
  10. package/build/client/_app/immutable/assets/5.CZVw96CJ.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/9.DlSPCZj0.css.gz +0 -0
  12. package/build/client/_app/immutable/assets/AgentSidebar.BL1i3rB_.css.gz +0 -0
  13. package/build/client/_app/immutable/assets/Input.CJ8KyccG.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/Modal.tn0RQdqM.css.gz +0 -0
  15. package/build/client/_app/immutable/assets/Popper.CLTyHc88.css.gz +0 -0
  16. package/build/client/_app/immutable/assets/Tab.DlCfjMY1.css.gz +0 -0
  17. package/build/client/_app/immutable/assets/chat-content.Cabnnfyv.css.gz +0 -0
  18. package/build/client/_app/immutable/assets/editor.BMIWPGx3.css.gz +0 -0
  19. package/build/client/_app/immutable/chunks/{BbgtW0nn.js → -g1l5aoS.js} +3 -3
  20. package/build/client/_app/immutable/chunks/-g1l5aoS.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/-g1l5aoS.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/0cvrggvQ.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/25W9uPmb.js.gz +0 -0
  24. package/build/client/_app/immutable/chunks/4Ik7cdeQ.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/5Rap-vPy.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/{BhoEG2uc.js → 7E8m6dwk.js} +1 -1
  27. package/build/client/_app/immutable/chunks/7E8m6dwk.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/7E8m6dwk.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/7qRqthsa.js +1 -0
  30. package/build/client/_app/immutable/chunks/7qRqthsa.js.br +2 -0
  31. package/build/client/_app/immutable/chunks/7qRqthsa.js.gz +0 -0
  32. package/build/client/_app/immutable/chunks/{M-7sJE5g.js → AocOovHL.js} +2 -2
  33. package/build/client/_app/immutable/chunks/AocOovHL.js.br +0 -0
  34. package/build/client/_app/immutable/chunks/AocOovHL.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/B03wrqEc.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/B0iEglSe.js +1 -0
  37. package/build/client/_app/immutable/chunks/B0iEglSe.js.br +0 -0
  38. package/build/client/_app/immutable/chunks/B0iEglSe.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/B5zXfXm9.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/B9Xyijhd.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BFG1Mk7z.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/{CByqsLTI.js → BIpSIzUr.js} +1 -1
  43. package/build/client/_app/immutable/chunks/BIpSIzUr.js.br +0 -0
  44. package/build/client/_app/immutable/chunks/BIpSIzUr.js.gz +0 -0
  45. package/build/client/_app/immutable/chunks/BIv9DU6q.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/BKlk5iyT.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/BL8rPcmP.js +1 -0
  48. package/build/client/_app/immutable/chunks/BL8rPcmP.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/BL8rPcmP.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/BM0jKynj.js +1 -0
  51. package/build/client/_app/immutable/chunks/BM0jKynj.js.br +0 -0
  52. package/build/client/_app/immutable/chunks/BM0jKynj.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/BMYSavKM.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/{CIXWWiNs.js → BR5f5i_E.js} +1 -1
  55. package/build/client/_app/immutable/chunks/BR5f5i_E.js.br +0 -0
  56. package/build/client/_app/immutable/chunks/BR5f5i_E.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/BSkB5QuD.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/BTvePR6r.js +1 -0
  59. package/build/client/_app/immutable/chunks/BTvePR6r.js.br +2 -0
  60. package/build/client/_app/immutable/chunks/BTvePR6r.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/BU7aeYn4.js.gz +0 -0
  62. package/build/client/_app/immutable/chunks/BY8d35y9.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/B_c3zf-v.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/B_fMsGYe.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/BaJupSGV.js.gz +0 -0
  66. package/build/client/_app/immutable/chunks/BaLxmfj-.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/Bc-ZgV77.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/{CjrpbQ5G.js → Bcu62lFq.js} +1 -1
  69. package/build/client/_app/immutable/chunks/Bcu62lFq.js.br +0 -0
  70. package/build/client/_app/immutable/chunks/Bcu62lFq.js.gz +0 -0
  71. package/build/client/_app/immutable/chunks/BfEKNvv3.js.gz +0 -0
  72. package/build/client/_app/immutable/chunks/Bhzvs7bI.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/Bio4gycK.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/BoFRg7Ot.js.gz +0 -0
  75. package/build/client/_app/immutable/chunks/Bqgm2twL.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/BrgZPUOV.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/BsTHnhdd.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/C-whEtKd.js +1 -0
  79. package/build/client/_app/immutable/chunks/C-whEtKd.js.br +2 -0
  80. package/build/client/_app/immutable/chunks/C-whEtKd.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/C1FmrZbK.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/C1WqE8CP.js +1 -0
  83. package/build/client/_app/immutable/chunks/C1WqE8CP.js.br +2 -0
  84. package/build/client/_app/immutable/chunks/C1WqE8CP.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/{18TZju1H.js → C4SnSfql.js} +1 -1
  86. package/build/client/_app/immutable/chunks/C4SnSfql.js.br +0 -0
  87. package/build/client/_app/immutable/chunks/C4SnSfql.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/C4mbwMvt.js.gz +0 -0
  89. package/build/client/_app/immutable/chunks/C5WLch3f.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/CAFoob5N.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/CCSDG5nI.js.gz +0 -0
  92. package/build/client/_app/immutable/chunks/CDGzqUPQ.js.gz +0 -0
  93. package/build/client/_app/immutable/chunks/CDntyWJ8.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/CFKIUWau.js.gz +0 -0
  95. package/build/client/_app/immutable/chunks/CFOPXBzS.js.gz +0 -0
  96. package/build/client/_app/immutable/chunks/CGinwM47.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/CLLBncYj.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/COyEY5Pt.js.gz +0 -0
  99. package/build/client/_app/immutable/chunks/CPajHgWi.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/CSv1VDXg.js +1 -0
  101. package/build/client/_app/immutable/chunks/CSv1VDXg.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/CSv1VDXg.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/CVwtpugi.js.gz +0 -0
  104. package/build/client/_app/immutable/chunks/CX-rkNHf.js.gz +0 -0
  105. package/build/client/_app/immutable/chunks/CXOwvkN_.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/{C3xZmy9H.js → CXo2BVs0.js} +1 -1
  107. package/build/client/_app/immutable/chunks/CXo2BVs0.js.br +0 -0
  108. package/build/client/_app/immutable/chunks/CXo2BVs0.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/{8AHOieX7.js → CZLNSMhF.js} +17 -17
  110. package/build/client/_app/immutable/chunks/CZLNSMhF.js.br +0 -0
  111. package/build/client/_app/immutable/chunks/CZLNSMhF.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/CdQndTaG.js.gz +0 -0
  113. package/build/client/_app/immutable/chunks/Ce3n6wWz.js.gz +0 -0
  114. package/build/client/_app/immutable/chunks/Cg7bfA9N.js.gz +0 -0
  115. package/build/client/_app/immutable/chunks/Cosugfe8.js +1 -0
  116. package/build/client/_app/immutable/chunks/Cosugfe8.js.br +0 -0
  117. package/build/client/_app/immutable/chunks/Cosugfe8.js.gz +0 -0
  118. package/build/client/_app/immutable/chunks/Cp1zYvxS.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/CpIb_Oan.js.gz +0 -0
  120. package/build/client/_app/immutable/chunks/Cpb6xl2v.js.gz +0 -0
  121. package/build/client/_app/immutable/chunks/Cphgjts3.js.gz +0 -0
  122. package/build/client/_app/immutable/chunks/CqxCTxvJ.js +1 -0
  123. package/build/client/_app/immutable/chunks/CqxCTxvJ.js.br +0 -0
  124. package/build/client/_app/immutable/chunks/CqxCTxvJ.js.gz +0 -0
  125. package/build/client/_app/immutable/chunks/CrxwEwqu.js.gz +0 -0
  126. package/build/client/_app/immutable/chunks/CwNk8-XU.js.gz +0 -0
  127. package/build/client/_app/immutable/chunks/CwmAWymP.js.gz +0 -0
  128. package/build/client/_app/immutable/chunks/{BoYwKlhd.js → CxLG58rb.js} +1 -1
  129. package/build/client/_app/immutable/chunks/CxLG58rb.js.br +0 -0
  130. package/build/client/_app/immutable/chunks/CxLG58rb.js.gz +0 -0
  131. package/build/client/_app/immutable/chunks/CzKuDChf.js.gz +0 -0
  132. package/build/client/_app/immutable/chunks/D-MeaMDU.js.gz +0 -0
  133. package/build/client/_app/immutable/chunks/{BFZvm_aX.js → D-puyTnN.js} +1 -1
  134. package/build/client/_app/immutable/chunks/D-puyTnN.js.br +0 -0
  135. package/build/client/_app/immutable/chunks/D-puyTnN.js.gz +0 -0
  136. package/build/client/_app/immutable/chunks/D3h14YRZ.js.gz +0 -0
  137. package/build/client/_app/immutable/chunks/D4obUD_s.js +1 -0
  138. package/build/client/_app/immutable/chunks/D4obUD_s.js.br +0 -0
  139. package/build/client/_app/immutable/chunks/D4obUD_s.js.gz +0 -0
  140. package/build/client/_app/immutable/chunks/D5C2fndG.js.gz +0 -0
  141. package/build/client/_app/immutable/chunks/{BjbsXXMP.js → D8e7SQh9.js} +1 -1
  142. package/build/client/_app/immutable/chunks/D8e7SQh9.js.br +0 -0
  143. package/build/client/_app/immutable/chunks/D8e7SQh9.js.gz +0 -0
  144. package/build/client/_app/immutable/chunks/DDMPVpvs.js.gz +0 -0
  145. package/build/client/_app/immutable/chunks/DDwshQtU.js.gz +0 -0
  146. package/build/client/_app/immutable/chunks/DHaeiCBh.js.gz +0 -0
  147. package/build/client/_app/immutable/chunks/DLQqXQ6R.js.gz +0 -0
  148. package/build/client/_app/immutable/chunks/{CHE9OFXA.js → DNLcpWO_.js} +1 -1
  149. package/build/client/_app/immutable/chunks/DNLcpWO_.js.br +0 -0
  150. package/build/client/_app/immutable/chunks/DNLcpWO_.js.gz +0 -0
  151. package/build/client/_app/immutable/chunks/DRIMs3uA.js.gz +0 -0
  152. package/build/client/_app/immutable/chunks/DSZPf7rp.js.gz +0 -0
  153. package/build/client/_app/immutable/chunks/DTECt2xU.js.gz +0 -0
  154. package/build/client/_app/immutable/chunks/DTlGvFHe.js +11 -0
  155. package/build/client/_app/immutable/chunks/DTlGvFHe.js.br +0 -0
  156. package/build/client/_app/immutable/chunks/DTlGvFHe.js.gz +0 -0
  157. package/build/client/_app/immutable/chunks/DUeN9t8P.js.gz +0 -0
  158. package/build/client/_app/immutable/chunks/DWH0347h.js.gz +0 -0
  159. package/build/client/_app/immutable/chunks/DXyYeYxl.js.gz +0 -0
  160. package/build/client/_app/immutable/chunks/{hS1PAb5I.js → DYhTBLDc.js} +1 -1
  161. package/build/client/_app/immutable/chunks/DYhTBLDc.js.br +0 -0
  162. package/build/client/_app/immutable/chunks/DYhTBLDc.js.gz +0 -0
  163. package/build/client/_app/immutable/chunks/DZxMt77D.js.gz +0 -0
  164. package/build/client/_app/immutable/chunks/Dd3NCNK9.js.gz +0 -0
  165. package/build/client/_app/immutable/chunks/DfzH4Xui.js.gz +0 -0
  166. package/build/client/_app/immutable/chunks/DgyLZaXg.js.gz +0 -0
  167. package/build/client/_app/immutable/chunks/DjDhNM9l.js.gz +0 -0
  168. package/build/client/_app/immutable/chunks/DlZKMmqG.js +4 -0
  169. package/build/client/_app/immutable/chunks/DlZKMmqG.js.br +0 -0
  170. package/build/client/_app/immutable/chunks/DlZKMmqG.js.gz +0 -0
  171. package/build/client/_app/immutable/chunks/DnHyzjbg.js.gz +0 -0
  172. package/build/client/_app/immutable/chunks/DrQuvNYM.js.gz +0 -0
  173. package/build/client/_app/immutable/chunks/Drc7WvVn.js.gz +0 -0
  174. package/build/client/_app/immutable/chunks/Dv0gjm25.js +1 -0
  175. package/build/client/_app/immutable/chunks/Dv0gjm25.js.br +0 -0
  176. package/build/client/_app/immutable/chunks/Dv0gjm25.js.gz +0 -0
  177. package/build/client/_app/immutable/chunks/{d-TWvvCu.js → Dv8m1cTI.js} +1 -1
  178. package/build/client/_app/immutable/chunks/Dv8m1cTI.js.br +0 -0
  179. package/build/client/_app/immutable/chunks/{d-TWvvCu.js.gz → Dv8m1cTI.js.gz} +0 -0
  180. package/build/client/_app/immutable/chunks/DwJ7jVG9.js.gz +0 -0
  181. package/build/client/_app/immutable/chunks/DyP6w7ZV.js.gz +0 -0
  182. package/build/client/_app/immutable/chunks/{0a4GbU-O.js → HJHYLHDn.js} +1 -1
  183. package/build/client/_app/immutable/chunks/HJHYLHDn.js.br +0 -0
  184. package/build/client/_app/immutable/chunks/HJHYLHDn.js.gz +0 -0
  185. package/build/client/_app/immutable/chunks/{DkeWvyEi.js → HXxIsSOO.js} +1 -1
  186. package/build/client/_app/immutable/chunks/HXxIsSOO.js.br +0 -0
  187. package/build/client/_app/immutable/chunks/HXxIsSOO.js.gz +0 -0
  188. package/build/client/_app/immutable/chunks/JcG4w2gF.js.gz +0 -0
  189. package/build/client/_app/immutable/chunks/OA8UcISh.js.gz +0 -0
  190. package/build/client/_app/immutable/chunks/T0seCQS_.js +1 -0
  191. package/build/client/_app/immutable/chunks/T0seCQS_.js.br +0 -0
  192. package/build/client/_app/immutable/chunks/T0seCQS_.js.gz +0 -0
  193. package/build/client/_app/immutable/chunks/Tw7wswEv.js.gz +0 -0
  194. package/build/client/_app/immutable/chunks/{CAOT34jI.js → UiXQyKcj.js} +1 -1
  195. package/build/client/_app/immutable/chunks/UiXQyKcj.js.br +0 -0
  196. package/build/client/_app/immutable/chunks/UiXQyKcj.js.gz +0 -0
  197. package/build/client/_app/immutable/chunks/YWi4-JPR.js.gz +0 -0
  198. package/build/client/_app/immutable/chunks/ZGfwyPNq.js.gz +0 -0
  199. package/build/client/_app/immutable/chunks/Zznr-cwX.js.gz +0 -0
  200. package/build/client/_app/immutable/chunks/{CynZnIyI.js → _yZg6Sf-.js} +2 -2
  201. package/build/client/_app/immutable/chunks/_yZg6Sf-.js.br +0 -0
  202. package/build/client/_app/immutable/chunks/_yZg6Sf-.js.gz +0 -0
  203. package/build/client/_app/immutable/chunks/bynEV6cE.js.gz +0 -0
  204. package/build/client/_app/immutable/chunks/dUCx_-0o.js.gz +0 -0
  205. package/build/client/_app/immutable/chunks/ddC1NP9R.js.gz +0 -0
  206. package/build/client/_app/immutable/chunks/deUWdS0T.js.gz +0 -0
  207. package/build/client/_app/immutable/chunks/gULlE0tz.js.gz +0 -0
  208. package/build/client/_app/immutable/chunks/i9-g7ZhI.js.gz +0 -0
  209. package/build/client/_app/immutable/chunks/ks45gSgq.js +1 -0
  210. package/build/client/_app/immutable/chunks/ks45gSgq.js.br +0 -0
  211. package/build/client/_app/immutable/chunks/ks45gSgq.js.gz +0 -0
  212. package/build/client/_app/immutable/chunks/nf6ki56Z.js.gz +0 -0
  213. package/build/client/_app/immutable/chunks/pnP8ivHi.js.gz +0 -0
  214. package/build/client/_app/immutable/chunks/rUNN04Wq.js.gz +0 -0
  215. package/build/client/_app/immutable/chunks/tGk8EFnU.js.gz +0 -0
  216. package/build/client/_app/immutable/chunks/xC2C8d09.js.gz +0 -0
  217. package/build/client/_app/immutable/entry/app.qxHHRD2v.js +2 -0
  218. package/build/client/_app/immutable/entry/app.qxHHRD2v.js.br +0 -0
  219. package/build/client/_app/immutable/entry/app.qxHHRD2v.js.gz +0 -0
  220. package/build/client/_app/immutable/entry/start.CSxD7zE8.js +1 -0
  221. package/build/client/_app/immutable/entry/start.CSxD7zE8.js.br +2 -0
  222. package/build/client/_app/immutable/entry/start.CSxD7zE8.js.gz +0 -0
  223. package/build/client/_app/immutable/nodes/{0.DXz9KfRr.js → 0.BiYgQci8.js} +2 -2
  224. package/build/client/_app/immutable/nodes/0.BiYgQci8.js.br +0 -0
  225. package/build/client/_app/immutable/nodes/0.BiYgQci8.js.gz +0 -0
  226. package/build/client/_app/immutable/nodes/1.CShtqUFK.js +1 -0
  227. package/build/client/_app/immutable/nodes/1.CShtqUFK.js.br +0 -0
  228. package/build/client/_app/immutable/nodes/1.CShtqUFK.js.gz +0 -0
  229. package/build/client/_app/immutable/nodes/10.dE-XOJgk.js +7 -0
  230. package/build/client/_app/immutable/nodes/10.dE-XOJgk.js.br +0 -0
  231. package/build/client/_app/immutable/nodes/10.dE-XOJgk.js.gz +0 -0
  232. package/build/client/_app/immutable/nodes/11.CsTD16Gn.js.gz +0 -0
  233. package/build/client/_app/immutable/nodes/12.DYXd_leK.js.gz +0 -0
  234. package/build/client/_app/immutable/nodes/13.DQMjAUKq.js.gz +0 -0
  235. package/build/client/_app/immutable/nodes/14.C59tyoG0.js.gz +0 -0
  236. package/build/client/_app/immutable/nodes/{15.yHpdn4IC.js → 15.Wmhj7gOy.js} +1 -1
  237. package/build/client/_app/immutable/nodes/15.Wmhj7gOy.js.br +0 -0
  238. package/build/client/_app/immutable/nodes/15.Wmhj7gOy.js.gz +0 -0
  239. package/build/client/_app/immutable/nodes/16.DRwcAQjb.js.gz +0 -0
  240. package/build/client/_app/immutable/nodes/17.BwzZwCD0.js +3 -0
  241. package/build/client/_app/immutable/nodes/17.BwzZwCD0.js.br +0 -0
  242. package/build/client/_app/immutable/nodes/17.BwzZwCD0.js.gz +0 -0
  243. package/build/client/_app/immutable/nodes/18.BUMDuaQF.js +11 -0
  244. package/build/client/_app/immutable/nodes/18.BUMDuaQF.js.br +0 -0
  245. package/build/client/_app/immutable/nodes/18.BUMDuaQF.js.gz +0 -0
  246. package/build/client/_app/immutable/nodes/{2.DC1Zz78t.js → 2.DniQTiGZ.js} +3 -3
  247. package/build/client/_app/immutable/nodes/2.DniQTiGZ.js.br +0 -0
  248. package/build/client/_app/immutable/nodes/2.DniQTiGZ.js.gz +0 -0
  249. package/build/client/_app/immutable/nodes/3.BIO1e-qq.js +1 -0
  250. package/build/client/_app/immutable/nodes/3.BIO1e-qq.js.br +0 -0
  251. package/build/client/_app/immutable/nodes/3.BIO1e-qq.js.gz +0 -0
  252. package/build/client/_app/immutable/nodes/{4.C3SmjDhF.js → 4.BwfVTawo.js} +1 -1
  253. package/build/client/_app/immutable/nodes/4.BwfVTawo.js.br +0 -0
  254. package/build/client/_app/immutable/nodes/4.BwfVTawo.js.gz +0 -0
  255. package/build/client/_app/immutable/nodes/5.DdodCQcX.js +1 -0
  256. package/build/client/_app/immutable/nodes/5.DdodCQcX.js.br +0 -0
  257. package/build/client/_app/immutable/nodes/5.DdodCQcX.js.gz +0 -0
  258. package/build/client/_app/immutable/nodes/6.EIjYVI_W.js +1 -0
  259. package/build/client/_app/immutable/nodes/6.EIjYVI_W.js.br +0 -0
  260. package/build/client/_app/immutable/nodes/6.EIjYVI_W.js.gz +0 -0
  261. package/build/client/_app/immutable/nodes/7.7N4iPidV.js.gz +0 -0
  262. package/build/client/_app/immutable/nodes/{8.lyH0lIKf.js → 8.2oZsfzo8.js} +1 -1
  263. package/build/client/_app/immutable/nodes/8.2oZsfzo8.js.br +0 -0
  264. package/build/client/_app/immutable/nodes/8.2oZsfzo8.js.gz +0 -0
  265. package/build/client/_app/immutable/nodes/9.CjWG6Ha9.js +2 -0
  266. package/build/client/_app/immutable/nodes/9.CjWG6Ha9.js.br +0 -0
  267. package/build/client/_app/immutable/nodes/9.CjWG6Ha9.js.gz +0 -0
  268. package/build/client/_app/immutable/workers/css.worker-BRIrhzkG.js.gz +0 -0
  269. package/build/client/_app/immutable/workers/editor.worker-DX6ApQqM.js.gz +0 -0
  270. package/build/client/_app/immutable/workers/html.worker-CBI4EQBP.js.gz +0 -0
  271. package/build/client/_app/immutable/workers/json.worker-CIZWV9vN.js.gz +0 -0
  272. package/build/client/_app/immutable/workers/ts.worker-Ds4I2Msu.js.gz +0 -0
  273. package/build/client/_app/version.json +1 -1
  274. package/build/client/_app/version.json.br +0 -0
  275. package/build/client/_app/version.json.gz +0 -0
  276. package/build/client/fonts.css.gz +0 -0
  277. package/build/client/recombine.svg.gz +0 -0
  278. package/build/client/telescope-icon.svg.gz +0 -0
  279. package/build/client/ui/arrow_tests.svg.gz +0 -0
  280. package/build/client/ui/paperclip.svg.gz +0 -0
  281. package/build/client/ui/send.svg.gz +0 -0
  282. package/build/server/chunks/0-S8VzkGgQ.js +9 -0
  283. package/build/server/chunks/0-S8VzkGgQ.js.map +1 -0
  284. package/build/server/chunks/1-BQkMpHdq.js +9 -0
  285. package/build/server/chunks/{1-DHJzzXji.js.map → 1-BQkMpHdq.js.map} +1 -1
  286. package/build/server/chunks/10-D1k3_nkw.js +9 -0
  287. package/build/server/chunks/10-D1k3_nkw.js.map +1 -0
  288. package/build/server/chunks/{15-ICdGKEie.js → 15-CZBxPMAc.js} +2 -2
  289. package/build/server/chunks/{15-ICdGKEie.js.map → 15-CZBxPMAc.js.map} +1 -1
  290. package/build/server/chunks/17-B72NO3Iu.js +9 -0
  291. package/build/server/chunks/17-B72NO3Iu.js.map +1 -0
  292. package/build/server/chunks/18-4kgQqgz-.js +9 -0
  293. package/build/server/chunks/18-4kgQqgz-.js.map +1 -0
  294. package/build/server/chunks/2-DO8jW3Pl.js +9 -0
  295. package/build/server/chunks/2-DO8jW3Pl.js.map +1 -0
  296. package/build/server/chunks/3-0_f3eZZi.js +9 -0
  297. package/build/server/chunks/3-0_f3eZZi.js.map +1 -0
  298. package/build/server/chunks/4-UxjRsyDW.js +9 -0
  299. package/build/server/chunks/4-UxjRsyDW.js.map +1 -0
  300. package/build/server/chunks/5-C7KuaSU9.js +9 -0
  301. package/build/server/chunks/{5-CwrZ3RpM.js.map → 5-C7KuaSU9.js.map} +1 -1
  302. package/build/server/chunks/6-C6EG0SXo.js +9 -0
  303. package/build/server/chunks/{6-BtuvKB8a.js.map → 6-C6EG0SXo.js.map} +1 -1
  304. package/build/server/chunks/8-BTSvDZhI.js +9 -0
  305. package/build/server/chunks/8-BTSvDZhI.js.map +1 -0
  306. package/build/server/chunks/9-CepnUatA.js +9 -0
  307. package/build/server/chunks/9-CepnUatA.js.map +1 -0
  308. package/build/server/chunks/AgentSidebar-XdGj1sqT.js.map +1 -1
  309. package/build/server/chunks/{Button-Dsy3QY7B.js → Button-BLigKkGG.js} +2 -2
  310. package/build/server/chunks/Button-BLigKkGG.js.map +1 -0
  311. package/build/server/chunks/{ChatStepTrace-ZynTuQTL.js → ChatStepTrace-DnvGtFpb.js} +30 -9
  312. package/build/server/chunks/ChatStepTrace-DnvGtFpb.js.map +1 -0
  313. package/build/server/chunks/{Input-CHFlfduw.js → Input-OdQKNdS6.js} +1 -2
  314. package/build/server/chunks/Input-OdQKNdS6.js.map +1 -0
  315. package/build/server/chunks/Modal-DtVsRmmO.js.map +1 -1
  316. package/build/server/chunks/{_layout.svelte-2zFP7RWi.js → _layout.svelte-C5Y9nSXi.js} +5 -4
  317. package/build/server/chunks/{_layout.svelte-2zFP7RWi.js.map → _layout.svelte-C5Y9nSXi.js.map} +1 -1
  318. package/build/server/chunks/{_layout.svelte-Cgnhhd3c.js → _layout.svelte-_oqm8kmr.js} +5 -5
  319. package/build/server/chunks/_layout.svelte-_oqm8kmr.js.map +1 -0
  320. package/build/server/chunks/{_page.svelte-C9wKPt_S.js → _page.svelte-BYVcy49A.js} +3 -2
  321. package/build/server/chunks/{_page.svelte-C9wKPt_S.js.map → _page.svelte-BYVcy49A.js.map} +1 -1
  322. package/build/server/chunks/{_page.svelte-Cwut2PVb.js → _page.svelte-BpRksNEG.js} +3 -2
  323. package/build/server/chunks/{_page.svelte-Cwut2PVb.js.map → _page.svelte-BpRksNEG.js.map} +1 -1
  324. package/build/server/chunks/_page.svelte-CEhhEdMi.js +2100 -0
  325. package/build/server/chunks/_page.svelte-CEhhEdMi.js.map +1 -0
  326. package/build/server/chunks/{_page.svelte-BsIw3yWt.js → _page.svelte-DDpBtd3X.js} +3 -2
  327. package/build/server/chunks/{_page.svelte-BsIw3yWt.js.map → _page.svelte-DDpBtd3X.js.map} +1 -1
  328. package/build/server/chunks/{_page.svelte-CY4SZM-i.js → _page.svelte-DOhPbizt.js} +137 -97
  329. package/build/server/chunks/_page.svelte-DOhPbizt.js.map +1 -0
  330. package/build/server/chunks/{_page.svelte-DdmEn1df.js → _page.svelte-QlYvVgTj.js} +71 -5
  331. package/build/server/chunks/_page.svelte-QlYvVgTj.js.map +1 -0
  332. package/build/server/chunks/{_page.svelte-BhU1G2ip.js → _page.svelte-bkzbqII3.js} +470 -100
  333. package/build/server/chunks/_page.svelte-bkzbqII3.js.map +1 -0
  334. package/build/server/chunks/agents-context-rV2narXG.js.map +1 -1
  335. package/build/server/chunks/edit-workspace-context-B1nYQ5hD.js.map +1 -1
  336. package/build/server/chunks/index-CSpGrMM2.js.map +1 -1
  337. package/build/server/chunks/latency--f3JYIRg.js +157 -0
  338. package/build/server/chunks/latency--f3JYIRg.js.map +1 -0
  339. package/build/server/chunks/log-content.svelte-CfQzj-v_.js.map +1 -1
  340. package/build/server/chunks/trpc-client-D8L6vWf4.js +14 -0
  341. package/build/server/chunks/trpc-client-D8L6vWf4.js.map +1 -0
  342. package/build/server/index.js +1 -1
  343. package/build/server/index.js.map +1 -1
  344. package/build/server/manifest.js +14 -14
  345. package/build/server/manifest.js.map +1 -1
  346. package/package.json +6 -2
  347. package/src/backend/lib/voice-agent-lifecycle.test.ts +27 -0
  348. package/src/backend/lib/voice-agent-lifecycle.ts +15 -0
  349. package/src/backend/roleplay/agents.ts +172 -70
  350. package/src/backend/roleplay/message-dispatcher.ts +0 -7
  351. package/src/backend/roleplay/router.ts +6 -14
  352. package/src/backend/roleplay/trace-serialization.spec.ts +35 -0
  353. package/src/backend/roleplay/trace-serialization.ts +57 -0
  354. package/src/backend/roleplay/variants.ts +33 -49
  355. package/src/backend/server.ts +22 -3
  356. package/src/backend/tests/academy.ts +55 -11
  357. package/src/backend/tests/data.ts +167 -14
  358. package/src/backend/tests/emulate-agents.ts +19 -3
  359. package/src/backend/tests/router.ts +21 -1
  360. package/src/backend/tests/suite.ts +13 -4
  361. package/build/client/_app/immutable/assets/0.DsHRdhUK.css +0 -1
  362. package/build/client/_app/immutable/assets/0.DsHRdhUK.css.br +0 -0
  363. package/build/client/_app/immutable/assets/0.DsHRdhUK.css.gz +0 -0
  364. package/build/client/_app/immutable/chunks/0a4GbU-O.js.br +0 -0
  365. package/build/client/_app/immutable/chunks/0a4GbU-O.js.gz +0 -0
  366. package/build/client/_app/immutable/chunks/18TZju1H.js.br +0 -0
  367. package/build/client/_app/immutable/chunks/18TZju1H.js.gz +0 -0
  368. package/build/client/_app/immutable/chunks/5qVV3FOd.js +0 -1
  369. package/build/client/_app/immutable/chunks/5qVV3FOd.js.br +0 -0
  370. package/build/client/_app/immutable/chunks/5qVV3FOd.js.gz +0 -0
  371. package/build/client/_app/immutable/chunks/8AHOieX7.js.br +0 -0
  372. package/build/client/_app/immutable/chunks/8AHOieX7.js.gz +0 -0
  373. package/build/client/_app/immutable/chunks/B2CB3tIy.js +0 -1
  374. package/build/client/_app/immutable/chunks/B2CB3tIy.js.br +0 -0
  375. package/build/client/_app/immutable/chunks/B2CB3tIy.js.gz +0 -0
  376. package/build/client/_app/immutable/chunks/BFZvm_aX.js.br +0 -0
  377. package/build/client/_app/immutable/chunks/BFZvm_aX.js.gz +0 -0
  378. package/build/client/_app/immutable/chunks/BQorBhFb.js +0 -1
  379. package/build/client/_app/immutable/chunks/BQorBhFb.js.br +0 -0
  380. package/build/client/_app/immutable/chunks/BQorBhFb.js.gz +0 -0
  381. package/build/client/_app/immutable/chunks/Bas80-m6.js +0 -1
  382. package/build/client/_app/immutable/chunks/Bas80-m6.js.br +0 -0
  383. package/build/client/_app/immutable/chunks/Bas80-m6.js.gz +0 -0
  384. package/build/client/_app/immutable/chunks/BbgtW0nn.js.br +0 -0
  385. package/build/client/_app/immutable/chunks/BbgtW0nn.js.gz +0 -0
  386. package/build/client/_app/immutable/chunks/BhoEG2uc.js.br +0 -0
  387. package/build/client/_app/immutable/chunks/BhoEG2uc.js.gz +0 -0
  388. package/build/client/_app/immutable/chunks/BjbsXXMP.js.br +0 -0
  389. package/build/client/_app/immutable/chunks/BjbsXXMP.js.gz +0 -0
  390. package/build/client/_app/immutable/chunks/BoYwKlhd.js.br +0 -0
  391. package/build/client/_app/immutable/chunks/BoYwKlhd.js.gz +0 -0
  392. package/build/client/_app/immutable/chunks/C3xZmy9H.js.br +0 -0
  393. package/build/client/_app/immutable/chunks/C3xZmy9H.js.gz +0 -0
  394. package/build/client/_app/immutable/chunks/CAOT34jI.js.br +0 -0
  395. package/build/client/_app/immutable/chunks/CAOT34jI.js.gz +0 -0
  396. package/build/client/_app/immutable/chunks/CByqsLTI.js.br +0 -0
  397. package/build/client/_app/immutable/chunks/CByqsLTI.js.gz +0 -0
  398. package/build/client/_app/immutable/chunks/CGS76TsG.js +0 -1
  399. package/build/client/_app/immutable/chunks/CGS76TsG.js.br +0 -2
  400. package/build/client/_app/immutable/chunks/CGS76TsG.js.gz +0 -0
  401. package/build/client/_app/immutable/chunks/CHE9OFXA.js.br +0 -0
  402. package/build/client/_app/immutable/chunks/CHE9OFXA.js.gz +0 -0
  403. package/build/client/_app/immutable/chunks/CIXWWiNs.js.br +0 -0
  404. package/build/client/_app/immutable/chunks/CIXWWiNs.js.gz +0 -0
  405. package/build/client/_app/immutable/chunks/CQd8uuj9.js +0 -1
  406. package/build/client/_app/immutable/chunks/CQd8uuj9.js.br +0 -2
  407. package/build/client/_app/immutable/chunks/CQd8uuj9.js.gz +0 -0
  408. package/build/client/_app/immutable/chunks/CV_MnPl-.js +0 -1
  409. package/build/client/_app/immutable/chunks/CV_MnPl-.js.br +0 -0
  410. package/build/client/_app/immutable/chunks/CV_MnPl-.js.gz +0 -0
  411. package/build/client/_app/immutable/chunks/CaligHlp.js +0 -1
  412. package/build/client/_app/immutable/chunks/CaligHlp.js.br +0 -0
  413. package/build/client/_app/immutable/chunks/CaligHlp.js.gz +0 -0
  414. package/build/client/_app/immutable/chunks/CbvL5X4R.js +0 -4
  415. package/build/client/_app/immutable/chunks/CbvL5X4R.js.br +0 -0
  416. package/build/client/_app/immutable/chunks/CbvL5X4R.js.gz +0 -0
  417. package/build/client/_app/immutable/chunks/CjrpbQ5G.js.br +0 -0
  418. package/build/client/_app/immutable/chunks/CjrpbQ5G.js.gz +0 -0
  419. package/build/client/_app/immutable/chunks/Cx0HrUMB.js +0 -11
  420. package/build/client/_app/immutable/chunks/Cx0HrUMB.js.br +0 -0
  421. package/build/client/_app/immutable/chunks/Cx0HrUMB.js.gz +0 -0
  422. package/build/client/_app/immutable/chunks/CynZnIyI.js.br +0 -0
  423. package/build/client/_app/immutable/chunks/CynZnIyI.js.gz +0 -0
  424. package/build/client/_app/immutable/chunks/DHHC89bH.js +0 -1
  425. package/build/client/_app/immutable/chunks/DHHC89bH.js.br +0 -2
  426. package/build/client/_app/immutable/chunks/DHHC89bH.js.gz +0 -0
  427. package/build/client/_app/immutable/chunks/DVqtH_YB.js +0 -1
  428. package/build/client/_app/immutable/chunks/DVqtH_YB.js.br +0 -0
  429. package/build/client/_app/immutable/chunks/DVqtH_YB.js.gz +0 -0
  430. package/build/client/_app/immutable/chunks/DaV9XiwS.js +0 -1
  431. package/build/client/_app/immutable/chunks/DaV9XiwS.js.br +0 -0
  432. package/build/client/_app/immutable/chunks/DaV9XiwS.js.gz +0 -0
  433. package/build/client/_app/immutable/chunks/DkeWvyEi.js.br +0 -0
  434. package/build/client/_app/immutable/chunks/DkeWvyEi.js.gz +0 -0
  435. package/build/client/_app/immutable/chunks/M-7sJE5g.js.br +0 -0
  436. package/build/client/_app/immutable/chunks/M-7sJE5g.js.gz +0 -0
  437. package/build/client/_app/immutable/chunks/Ps08lWnD.js +0 -1
  438. package/build/client/_app/immutable/chunks/Ps08lWnD.js.br +0 -0
  439. package/build/client/_app/immutable/chunks/Ps08lWnD.js.gz +0 -0
  440. package/build/client/_app/immutable/chunks/d-TWvvCu.js.br +0 -0
  441. package/build/client/_app/immutable/chunks/hS1PAb5I.js.br +0 -0
  442. package/build/client/_app/immutable/chunks/hS1PAb5I.js.gz +0 -0
  443. package/build/client/_app/immutable/chunks/wZR3OpgZ.js +0 -1
  444. package/build/client/_app/immutable/chunks/wZR3OpgZ.js.br +0 -2
  445. package/build/client/_app/immutable/chunks/wZR3OpgZ.js.gz +0 -0
  446. package/build/client/_app/immutable/entry/app.4nlNBoFO.js +0 -2
  447. package/build/client/_app/immutable/entry/app.4nlNBoFO.js.br +0 -0
  448. package/build/client/_app/immutable/entry/app.4nlNBoFO.js.gz +0 -0
  449. package/build/client/_app/immutable/entry/start.Du6iPGlG.js +0 -1
  450. package/build/client/_app/immutable/entry/start.Du6iPGlG.js.br +0 -2
  451. package/build/client/_app/immutable/entry/start.Du6iPGlG.js.gz +0 -0
  452. package/build/client/_app/immutable/nodes/0.DXz9KfRr.js.br +0 -0
  453. package/build/client/_app/immutable/nodes/0.DXz9KfRr.js.gz +0 -0
  454. package/build/client/_app/immutable/nodes/1.C14tFTfE.js +0 -1
  455. package/build/client/_app/immutable/nodes/1.C14tFTfE.js.br +0 -0
  456. package/build/client/_app/immutable/nodes/1.C14tFTfE.js.gz +0 -0
  457. package/build/client/_app/immutable/nodes/10.D2pJamM_.js +0 -5
  458. package/build/client/_app/immutable/nodes/10.D2pJamM_.js.br +0 -0
  459. package/build/client/_app/immutable/nodes/10.D2pJamM_.js.gz +0 -0
  460. package/build/client/_app/immutable/nodes/15.yHpdn4IC.js.br +0 -0
  461. package/build/client/_app/immutable/nodes/15.yHpdn4IC.js.gz +0 -0
  462. package/build/client/_app/immutable/nodes/17.tRxMrZSc.js +0 -4
  463. package/build/client/_app/immutable/nodes/17.tRxMrZSc.js.br +0 -0
  464. package/build/client/_app/immutable/nodes/17.tRxMrZSc.js.gz +0 -0
  465. package/build/client/_app/immutable/nodes/18.h3m2E_FB.js +0 -11
  466. package/build/client/_app/immutable/nodes/18.h3m2E_FB.js.br +0 -0
  467. package/build/client/_app/immutable/nodes/18.h3m2E_FB.js.gz +0 -0
  468. package/build/client/_app/immutable/nodes/2.DC1Zz78t.js.br +0 -0
  469. package/build/client/_app/immutable/nodes/2.DC1Zz78t.js.gz +0 -0
  470. package/build/client/_app/immutable/nodes/3.CwOiRWmo.js +0 -1
  471. package/build/client/_app/immutable/nodes/3.CwOiRWmo.js.br +0 -0
  472. package/build/client/_app/immutable/nodes/3.CwOiRWmo.js.gz +0 -0
  473. package/build/client/_app/immutable/nodes/4.C3SmjDhF.js.br +0 -0
  474. package/build/client/_app/immutable/nodes/4.C3SmjDhF.js.gz +0 -0
  475. package/build/client/_app/immutable/nodes/5.26wwTN6d.js +0 -1
  476. package/build/client/_app/immutable/nodes/5.26wwTN6d.js.br +0 -0
  477. package/build/client/_app/immutable/nodes/5.26wwTN6d.js.gz +0 -0
  478. package/build/client/_app/immutable/nodes/6.DYzKzkhv.js +0 -1
  479. package/build/client/_app/immutable/nodes/6.DYzKzkhv.js.br +0 -0
  480. package/build/client/_app/immutable/nodes/6.DYzKzkhv.js.gz +0 -0
  481. package/build/client/_app/immutable/nodes/8.lyH0lIKf.js.br +0 -0
  482. package/build/client/_app/immutable/nodes/8.lyH0lIKf.js.gz +0 -0
  483. package/build/client/_app/immutable/nodes/9.UnSjcLjn.js +0 -2
  484. package/build/client/_app/immutable/nodes/9.UnSjcLjn.js.br +0 -0
  485. package/build/client/_app/immutable/nodes/9.UnSjcLjn.js.gz +0 -0
  486. package/build/server/chunks/0-D0-90TbM.js +0 -9
  487. package/build/server/chunks/0-D0-90TbM.js.map +0 -1
  488. package/build/server/chunks/1-DHJzzXji.js +0 -9
  489. package/build/server/chunks/10-3jjzakty.js +0 -9
  490. package/build/server/chunks/10-3jjzakty.js.map +0 -1
  491. package/build/server/chunks/17-Bozc5IJF.js +0 -9
  492. package/build/server/chunks/17-Bozc5IJF.js.map +0 -1
  493. package/build/server/chunks/18-DoqpHfoi.js +0 -9
  494. package/build/server/chunks/18-DoqpHfoi.js.map +0 -1
  495. package/build/server/chunks/2-DhghCZp5.js +0 -9
  496. package/build/server/chunks/2-DhghCZp5.js.map +0 -1
  497. package/build/server/chunks/3-Cx4tDHgq.js +0 -9
  498. package/build/server/chunks/3-Cx4tDHgq.js.map +0 -1
  499. package/build/server/chunks/4-DCqFV5Ug.js +0 -9
  500. package/build/server/chunks/4-DCqFV5Ug.js.map +0 -1
  501. package/build/server/chunks/5-CwrZ3RpM.js +0 -9
  502. package/build/server/chunks/6-BtuvKB8a.js +0 -9
  503. package/build/server/chunks/8-Di6Wb0mD.js +0 -9
  504. package/build/server/chunks/8-Di6Wb0mD.js.map +0 -1
  505. package/build/server/chunks/9-CXT-H9KT.js +0 -9
  506. package/build/server/chunks/9-CXT-H9KT.js.map +0 -1
  507. package/build/server/chunks/Button-Dsy3QY7B.js.map +0 -1
  508. package/build/server/chunks/ChatStepTrace-ZynTuQTL.js.map +0 -1
  509. package/build/server/chunks/Input-CHFlfduw.js.map +0 -1
  510. package/build/server/chunks/_layout.svelte-Cgnhhd3c.js.map +0 -1
  511. package/build/server/chunks/_page.svelte-BhU1G2ip.js.map +0 -1
  512. package/build/server/chunks/_page.svelte-CY4SZM-i.js.map +0 -1
  513. package/build/server/chunks/_page.svelte-DdmEn1df.js.map +0 -1
  514. package/build/server/chunks/_page.svelte-DiI_KSHV.js +0 -670
  515. package/build/server/chunks/_page.svelte-DiI_KSHV.js.map +0 -1
  516. package/build/server/chunks/trpc-client-Bucti7HD.js +0 -13
  517. package/build/server/chunks/trpc-client-Bucti7HD.js.map +0 -1
@@ -0,0 +1,3 @@
1
+ import{d as Oo,b as Mt,a as x,f as S,t as Pt,c as Wo,e as mt}from"../chunks/C4SnSfql.js";import{a as Ho}from"../chunks/C-whEtKd.js";import{p as Vo,q as _,v as we,d as J,f as re,t as P,a as Uo,j as r,n as w,c as b,w as s,s as m,r as h,o as St}from"../chunks/Dv8m1cTI.js";import{s as C}from"../chunks/_yZg6Sf-.js";import{i as F}from"../chunks/CXo2BVs0.js";import{e as Q,i as qo}from"../chunks/D8e7SQh9.js";import{c as ne,s as Wt}from"../chunks/DYhTBLDc.js";import{s as I}from"../chunks/ks45gSgq.js";import{b as Ht}from"../chunks/B0iEglSe.js";import{p as Ko}from"../chunks/UiXQyKcj.js";import{B as Et}from"../chunks/DTlGvFHe.js";import{P as vn}from"../chunks/DNLcpWO_.js";import{g as hn,T as jo}from"../chunks/JcG4w2gF.js";import{b as xn,f as bn,R as Xo}from"../chunks/T0seCQS_.js";const Tn="bosun.traces.latencyTimelineViewports",Me=new Map;let yn=!1;function Mn(H){if(!H||typeof H!="object")return!1;const R=H;return typeof R.startMs=="number"&&Number.isFinite(R.startMs)&&typeof R.endMs=="number"&&Number.isFinite(R.endMs)&&R.endMs>R.startMs}function Pn(){if(!yn&&(yn=!0,!(typeof window>"u")))try{const H=window.sessionStorage.getItem(Tn);if(!H)return;const R=JSON.parse(H);if(!R||typeof R!="object"||Array.isArray(R))return;for(const[vt,U]of Object.entries(R))!vt||!Mn(U)||Me.set(vt,U)}catch{}}function zo(){if(!(typeof window>"u"))try{window.sessionStorage.setItem(Tn,JSON.stringify(Object.fromEntries(Me.entries())))}catch{}}function Yo(H){if(!H)return null;Pn();const R=Me.get(H);return R?{...R}:null}function gn(H,R){!H||!Mn(R)||(Pn(),Me.set(H,{...R}),zo())}var Go=S('<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200"> </span>',1),Zo=S('<div><span class="text-rc-gray-400">Playhead:</span> <span class="font-mono text-rc-gray-100"> </span></div>'),Jo=S('<div><span class="text-rc-gray-400">Viewport:</span> <span class="font-mono text-rc-gray-100"> </span></div>'),Qo=S('<div class="mt-2 text-sm text-rc-gray-400"> </div>'),Te=S('<div class="mt-2 text-sm text-red-300"> </div>'),ti=S('<div class="text-sm text-rc-gray-300">Loading latency events…</div>'),ei=S('<div class="text-sm text-rc-gray-300">No latency events were found on this call.</div>'),ri=S('<div class="text-sm text-rc-gray-300">Preparing timeline…</div>'),ni=S('<div class="flex items-center text-xs text-rc-gray-300"> </div>'),ai=S('<div class="flex items-center text-xs text-rc-gray-300">Waveform</div>'),oi=S('<div class="absolute -translate-x-1/2 border-l border-rc-gray-300/40"></div>'),ii=S('<div class="absolute -translate-x-1/2 border-l border-dashed"></div>'),si=S('<div class="absolute border-l border-rc-gray-200/80"></div>'),li=S('<div class="absolute -translate-x-1/2 border-l-2 border-rc-green-200/90"></div> <div class="absolute h-2 w-2 -translate-x-1/2 rounded-full bg-rc-green-200"></div>',1),ci=S('<div class="absolute inset-y-0 w-px bg-rc-gray-700/70"></div> <div> </div>',1),_n=S('<div class="absolute inset-y-0 w-px bg-rc-gray-700/60"></div>'),di=S('<span class="block truncate"> </span>'),ui=S("<div><!></div>"),fi=S('<div class="relative z-0 overflow-hidden border-x border-t border-rc-gray-700/60"><!> <!></div>'),pi=S('<div class="absolute inset-y-0 w-px bg-rc-gray-700/45"></div>'),wn=S("<div> </div>"),mi=S('<div class="absolute inset-0 flex items-center justify-center px-4 text-sm text-rc-gray-300">Decoding waveform…</div>'),vi=S('<div class="absolute inset-0 flex items-center justify-center px-4 text-sm text-red-300"> </div>'),hi=S('<canvas class="absolute inset-0 h-full w-full"></canvas>'),xi=S('<div class="relative z-0 overflow-hidden rounded-b border-x border-b border-t border-rc-gray-700/60"><!> <!></div>'),bi=S('<div class="grid grid-cols-[140px_minmax(0,1fr)] gap-x-3"><div class="flex flex-col"><div class="h-8"></div> <!> <div class="flex items-center text-xs text-rc-gray-300">Human</div> <!></div> <div class="relative"><div class="pointer-events-none absolute inset-0 z-10 overflow-hidden"><!> <!> <!> <!></div> <div class="relative z-0 h-8 overflow-hidden rounded-t border border-b-0 border-rc-gray-700/60"></div> <!> <div><div class="absolute inset-x-0 top-0 border-b border-rc-gray-700/50"></div> <!> <!></div> <!></div></div>'),yi=S('<div class="pointer-events-none z-popover max-w-[28rem] rounded-md border border-rc-gray-500/80 bg-rc-gray-900/95 px-3 py-2 text-xs text-rc-gray-100 shadow-2xl backdrop-blur-sm"></div>'),gi=S('<div><div class="whitespace-pre-wrap break-words"> </div></div>'),_i=S('<div class="flex h-full min-h-0 flex-col bg-rc-gray-700"><div class="flex-none border-b border-rc-gray-300/40 p-4"><div class="flex flex-wrap items-start justify-between gap-3"><div><h2 class="text-lg font-semibold text-rc-gray-100">Latency <!></h2> <div class="mt-2 flex flex-wrap gap-x-5 gap-y-1 text-xs text-rc-gray-300"><div><span class="text-rc-gray-400">Latency events:</span> <span class="font-mono text-rc-gray-100"> </span></div> <div><span class="text-rc-gray-400">Timeline items:</span> <span class="font-mono text-rc-gray-100"> </span></div> <div><span class="text-rc-gray-400">Recording offset:</span> <span class="font-mono text-rc-gray-100"> </span></div> <!> <!></div></div> <div class="flex flex-wrap items-center gap-2"><input type="file" accept=".wav,audio/wav,audio/x-wav" class="hidden"/> <!> <!> <!> <!> <!> <!> <!></div></div> <!> <!> <!> <!> <!></div> <div class="rc-scroll min-h-0 flex-1 overflow-auto p-4"><div class="flex flex-col gap-4"><div class="rounded-md border border-rc-gray-650 p-3"><!></div></div></div></div> <!> <!>',1);function Fi(H,R){Vo(R,!0);const vt=30,U=32,ht=vt,tt=5,Pe=160,ir=vt+tt,sr=3,Sn=8,Lt=60,En=132,Ln=200,kn=24,lr=500,cr=2500,dr=3e4,$n=50,An=.00145,ur=137,fr=250,Cn=new Set(["VAD","Playback"]),ae=new jo(fetch),B={blue:"#569cd6",green:"#93FF6D",greenDark:"#00B58A",orange:"#ce9178",purple:"#81147D",red:"#FF6666",gray:"#767676"},pr=[{label:"VAD",eventTypes:["vad.activated","vad.deactivated"]},{label:"STT",eventTypes:["stt.started","stt.interim","stt.final","stt.final_transcript"]},{label:"Trigger",eventTypes:["speech.created"]},{label:"Reply Pending",eventTypes:["reply.pending.started","reply.pending.completed"]},{label:"LLM Transport",eventTypes:["llm.connect_tcp.started","llm.connect_tcp.completed","llm.connect_tcp.failed","llm.start_tls.started","llm.start_tls.completed","llm.start_tls.failed"]},{label:"LLM Wait",eventTypes:["llm.wait.started","llm.requested","llm.wait.completed"]},{label:"LLM Stream",eventTypes:["llm.stream.started","llm.first_token","llm.completed","llm.stream.completed"]},{label:"TTS Text",eventTypes:["tts.text.first_sent","tts.text.completed"]},{label:"Provider",eventTypes:["tts.provider.started","tts.audio.first_received","tts.audio.last_received","tts.provider.completed"]},{label:"Decode",eventTypes:["tts.decode.started","tts.decode.completed"]},{label:"Output Queue",eventTypes:["audio.output.wait.started","audio.output.wait.completed"]},{label:"Playback",eventTypes:["audio.playback.started","audio.playback.stopped","audio.playback.ended"]},{label:"Response Latency"},{label:"Interruptions",eventTypes:["interruption.detected","audio.playback.interrupted"]},{label:"Other"}],Bn=new Set(pr.map(t=>t.label)),mr={call:j(B.gray,.2),vad:j(B.purple,.35),stt:j(B.purple,.2),trigger:B.greenDark,"response.latency.ok":B.green,"response.latency.high":B.red,"reply.pending":j(B.greenDark,.18),"llm.transport":j(B.blue,.18),"llm.wait":j(B.blue,-.25),"llm.stream":B.blue,"tts.text":B.orange,"tts.provider.lifecycle":j(B.purple,-.18),"tts.provider":j(B.purple,.12),"tts.decode":j(B.orange,-.12),"audio.output.wait":B.orange,playback:j(B.greenDark,-.08),interruption:B.orange,other:B.gray},Rn=[{startEventType:"reply.pending.started",endEventType:"reply.pending.completed",row:"Reply Pending",colorKey:"reply.pending",label:"Reply pending",description:"Derived from adjacent reply-pending lifecycle events"},{startEventType:"llm.connect_tcp.started",endEventType:"llm.connect_tcp.completed",row:"LLM Transport",colorKey:"llm.transport",label:"Connect TCP",description:"Derived from adjacent TCP connect lifecycle events"},{startEventType:"llm.start_tls.started",endEventType:"llm.start_tls.completed",row:"LLM Transport",colorKey:"llm.transport",label:"Start TLS",description:"Derived from adjacent TLS lifecycle events"},{startEventType:"llm.wait.started",endEventType:"llm.wait.completed",row:"LLM Wait",colorKey:"llm.wait",label:"LLM wait",description:"Derived from adjacent LLM wait lifecycle events"},{startEventType:"llm.stream.started",endEventType:"llm.stream.completed",row:"LLM Stream",colorKey:"llm.stream",label:"LLM stream",description:"Derived from adjacent LLM stream lifecycle events"},{startEventType:"tts.text.first_sent",endEventType:"tts.text.completed",row:"TTS Text",colorKey:"tts.text",label:"TTS text send",description:"Derived from adjacent TTS text send and completion events"},{startEventType:"tts.provider.started",endEventType:"tts.audio.first_received",row:"Provider",colorKey:"tts.provider.lifecycle",label:"Provider wait",description:"Derived from adjacent provider start and first-audio events"},{startEventType:"tts.audio.first_received",endEventType:"tts.provider.completed",row:"Provider",colorKey:"tts.provider",label:"Provider audio",description:"Derived from adjacent provider first-audio and completion events"},{startEventType:"tts.decode.started",endEventType:"tts.decode.completed",row:"Decode",colorKey:"tts.decode",label:"Decode",description:"Derived from adjacent local decode lifecycle events"},{startEventType:"audio.output.wait.started",endEventType:"audio.output.wait.completed",row:"Output Queue",colorKey:"audio.output.wait",label:"Output queue",description:"Derived from adjacent audio-output wait lifecycle events"},{startEventType:"audio.playback.started",endEventType:"audio.playback.stopped",row:"Playback",colorKey:"playback",label:"Playback",description:"Derived from adjacent playback start and playback stop events"}],In=new Map(Rn.map(t=>[t.startEventType,t]));let Se=_(we(hn()??"")),kt=_(null),q=_(we([])),xt=_(we([])),Vt=_(!1),Ut=_(null),k=_(we({exists:!1,audioUrl:null,fileName:null,mimeType:null,size:null,uploadedAt:null,alignmentOffsetMs:0})),Ee=_(!1),bt=_(null),oe=_(!1),V=_(null),$t=_(!1),At=_(null),z=_(0),rt=_(!1),nt=_(null),Le=_(!1),st=_(null),at=_(!1),f=_(null),y=_(null),ke=_(null),lt=_(0),$e=_(null),Ae=_(null),Ct=_(0),Ce=_(0),Be=_(null),Bt=_(null),qt=_(null),Re=_(null),Kt=_(null),jt=_(null),Ie=_(null),ie=_(1),Rt=_("idle"),Xt=_(""),Ne=_(null),se=0,le=0,ce=0,ct=null,It=0,dt=null,et=null,zt=null,Yt=null,Gt=null,Zt=null;const Jt=w(()=>Ko.params.conversationId);function vr(t,e){const n=new URLSearchParams;e&&n.set("source",e);const a=n.toString();return`/traces/api/latency/${encodeURIComponent(t)}${a?`?${a}`:""}`}const Qt=w(()=>r(Jt)?vr(r(Jt),r(Se)):""),K=w(()=>{var e;let t=Number.POSITIVE_INFINITY;for(const n of r(q))typeof n.atMs!="number"||!Number.isFinite(n.atMs)||(t=Math.min(t,n.atMs));return Number.isFinite(t)?t:typeof((e=r(kt))==null?void 0:e.createdAt)=="number"&&Number.isFinite(r(kt).createdAt)?r(kt).createdAt:Number.isFinite(t)?t:0}),yt=w(()=>Sa(r(q))),Nn=w(()=>r(q).length),Fn=w(()=>ca(r(yt))),Dn=w(()=>r(yt).map(t=>{const e=r(Fn).get(t.id);return!e||t.row!=="Playback"||t.durationMs<=0?t:{...t,speechText:e.text,speechTraceLabel:e.traceLabel}})),gt=w(()=>{const t=new Map;for(const e of r(Dn)){const n=t.get(e.row);n?n.push(e):t.set(e.row,[e])}return[...pr].reverse().map(e=>({label:e.label,segments:t.get(e.label)??[]})).filter(e=>e.segments.length>0)}),Fe=w(()=>ba()),On=w(()=>Math.max(r(ie),kr(r(Fe),"human"))),hr=w(()=>ha(r(Fe))),De=w(()=>va(r(On))),xr=w(()=>r(De)),br=w(()=>r(gt).length*ht+Math.max(0,r(gt).length-1)*tt),de=w(()=>r(gt).length>0?tt:0),Wn=w(()=>U+r(br)+r(de)),te=w(()=>r(k).exists),Hn=w(()=>r(te)?tt+Pe:0),Vn=w(()=>Fa(r(gt))),ut=w(()=>r(V)?r(K)+r(k).alignmentOffsetMs:null),Oe=w(()=>U+r(br)+r(de)+r(xr)+r(Hn)),We=w(()=>r(ut)==null?null:r(ut)+r(z)),Nt=w(()=>{const t=r(We);if(t==null||r(f)==null||r(y)==null)return null;const e=r(y)-r(f);return!Number.isFinite(e)||e<=0||t<r(f)||t>r(y)?null:{leftPercent:D((t-r(f))/e*100,0,100),topPx:U,heightPx:Math.max(1,r(Oe)-U)}}),yr=w(()=>{if(r(f)==null||r(y)==null)return null;const t=r(y)-r(f);return!Number.isFinite(t)||t<=0||r(K)<r(f)||r(K)>r(y)?null:{leftPercent:(r(K)-r(f))/t*100,topPx:U,heightPx:Math.max(1,r(Oe)-U)}}),Ft=w(()=>{let t=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY;for(const n of r(yt))t=Math.min(t,n.start),e=Math.max(e,n.end);return r(V)&&r(ut)!=null&&(t=Math.min(t,r(ut)),e=Math.max(e,r(ut)+r(V).durationMs)),!Number.isFinite(t)||!Number.isFinite(e)?null:(e<=t&&(e=t+1),{min:t,max:e})}),ue=w(()=>{let t=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY;for(const n of r(yt))Bn.has(n.row)&&(t=Math.min(t,n.start),e=Math.max(e,n.end));return!Number.isFinite(t)||!Number.isFinite(e)?null:(e<=t&&(e=t+1),{min:t,max:e})}),gr=w(()=>{if(r(f)==null||r(y)==null)return null;const t=r(y)-r(f);return t>0?t:null}),fe=w(()=>r(f)==null||r(y)==null?[]:Oa(r(f),r(y),r(K))),Un=w(()=>r(Bt)?Aa(r(Bt)).split(`
2
+ `):[]);J(()=>{const t=r(Re),e=r(qt),n=r(Bt);r(f),r(y),!(!t||!e||!n)&&t.update()}),J(()=>{const t=r(Ie),e=r(jt),n=r(Kt);r(f),r(y),!(!t||!e||!n)&&t.update()}),J(()=>{const t=kr(r(Fe),"human");t>r(ie)&&s(ie,t,!0)}),Ho(()=>{_r(),ct==null||ct(),Ue(),Ot(!1),Ua()}),J(()=>{const t=r(Jt),e=hn()??"";if(e!==r(Se)&&s(Se,e,!0),!t)return;const n=`${t}::${e}`;if(n===r(Xt))return;_r(),s(Xt,n);const a=Yo(n);s(Ne,a,!0),s(at,a!=null),s(Ut,null),s(bt,null),s(st,null),s(At,null),Ot(!1),dt=null,s(z,0),s(nt,null),s(V,null),s(kt,null),s(q,[],!0),s(xt,[],!0),s(f,(a==null?void 0:a.startMs)??null,!0),s(y,(a==null?void 0:a.endMs)??null,!0),s(ie,1),ae.setSourceId(e||void 0),Qa(t),to(vr(t,e))}),J(()=>{const t=r(Ne),e=r(ue)??r(Ft);!t||!e||(s(Ne,null),s(at,!0),ze(t.startMs,t.endMs))}),J(()=>{(r(ue)??r(Ft))&&(r(at)||Wr(!1))}),J(()=>{const t=r(Xt),e=r(f),n=r(y);!t||e==null||n==null||gn(t,{startMs:e,endMs:n})}),J(()=>{const t=r(ke);if(!t||typeof ResizeObserver>"u")return;s(lt,t.clientWidth,!0);const e=new ResizeObserver(n=>{const a=n[0];a&&s(lt,a.contentRect.width,!0)});return e.observe(t),()=>e.disconnect()}),J(()=>{const t=r($e);if(!t||typeof ResizeObserver>"u")return;s(Ct,t.clientWidth,!0),s(Ce,t.clientHeight,!0);const e=new ResizeObserver(n=>{const a=n[0];a&&(s(Ct,a.contentRect.width,!0),s(Ce,a.contentRect.height,!0))});return e.observe(t),()=>e.disconnect()}),J(()=>{if(!r(k).exists||typeof window>"u")return;const e=n=>{n.code==="Space"&&(n.metaKey||n.ctrlKey||n.altKey||n.shiftKey||za(n.target)||(n.preventDefault(),Nr()))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)}),J(()=>{const t=r(Ae),e=r(V),n=r(ut),a=r(f),o=r(y),i=r(Ct),l=r(Ce);!t||!e||n==null||a==null||o==null||Va(t,{peaks:e,recordingStartMs:n,viewportStartMs:a,viewportEndMs:o,width:i,height:l})});function _t(t){if(typeof t!="string")return null;const e=t.trim();return e||null}function pe(t){return typeof t=="number"&&Number.isFinite(t)?t:null}function He(t){return Math.max(0,Math.min(255,Math.round(t)))}function D(t,e,n){return Math.min(n,Math.max(e,t))}function j(t,e){const n=(t??"").trim().replace(/^#/,""),a=n.length===3?n.split("").map(c=>`${c}${c}`).join(""):n;if(a.length!==6||!/^[0-9a-fA-F]+$/.test(a))return t;const o=parseInt(a.slice(0,2),16),i=parseInt(a.slice(2,4),16),l=parseInt(a.slice(4,6),16),d=Math.abs(Math.max(-1,Math.min(1,e))),u=e>=0?255:0;return`#${He(o+(u-o)*d).toString(16).padStart(2,"0")}${He(i+(u-i)*d).toString(16).padStart(2,"0")}${He(l+(u-l)*d).toString(16).padStart(2,"0")}`}function qn(t){const e=pe(t);return e==null?"—":`${Math.round(e)} ms`}function Kn(t){if(t==null||!Number.isFinite(t))return"0 ms";const e=Math.round(t);return e===0?"0 ms":`${e>0?"+":""}${e} ms`}function Dt(t){if(!Number.isFinite(t))return"—";const e=t<0?"-":"",n=Math.abs(t);if(n<1e4)return`${e}${(n/1e3).toFixed(1)}s`;if(n<6e4)return`${e}${(n/1e3).toFixed(2)}s`;const a=n/1e3,o=Math.floor(a/60),i=a-o*60;return`${e}${o}:${i.toFixed(1).padStart(4,"0")}`}function jn(t){try{return JSON.stringify(t??null,null,2)}catch{return String(t)}}async function Xn(){try{await navigator.clipboard.writeText(jn(r(q))),s(Rt,"ok"),window.setTimeout(()=>{s(Rt,"idle")},2e3)}catch(t){console.error("Failed to copy latency stream",t),s(Rt,"error"),window.setTimeout(()=>{s(Rt,"idle")},3e3)}}function _r(){!r(Xt)||r(f)==null||r(y)==null||gn(r(Xt),{startMs:r(f),endMs:r(y)})}function Y(t){const e=typeof t.createdAt=="number"&&Number.isFinite(t.createdAt)?new Date(t.createdAt).toLocaleTimeString():"unknown time";return t.traceType==="LATENCY"?`Latency • #${t.seq??"?"} • ${t.eventType??"unknown"} • ${e}`:t.traceType==="CONVERSATIONAL"?`Conversational • ${t.eventName} • ${e}`:t.traceType==="STEP"?`Step • ${t.name??"unknown"} • ${e}`:`API • ${t.operationName} • ${e}`}function Ve(t){const e=t.payload;return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function zn(t){return t==="call.started"||t==="call.ended"?"Call":t.startsWith("vad.")?"VAD":t.startsWith("stt.")?"STT":t==="speech.created"?"Trigger":t.startsWith("reply.pending.")?"Reply Pending":t.startsWith("llm.connect_tcp.")||t.startsWith("llm.start_tls.")?"LLM Transport":t==="llm.requested"||t.startsWith("llm.wait.")?"LLM Wait":t==="llm.first_token"||t==="llm.completed"||t.startsWith("llm.stream.")?"LLM Stream":t.startsWith("tts.text.")?"TTS Text":t.startsWith("tts.provider.")||t==="tts.audio.first_received"||t==="tts.audio.last_received"?"Provider":t.startsWith("tts.decode.")?"Decode":t.startsWith("audio.output.wait.")?"Output Queue":t==="interruption.detected"||t==="audio.playback.interrupted"?"Interruptions":t.startsWith("audio.playback.")?"Playback":"Other"}function Yn(t){return t==="call.started"||t==="call.ended"?"call":t.startsWith("vad.")?"vad":t.startsWith("stt.")?"stt":t==="speech.created"?"trigger":t.startsWith("reply.pending.")?"reply.pending":t.startsWith("llm.connect_tcp.")||t.startsWith("llm.start_tls.")?"llm.transport":t==="llm.requested"||t.startsWith("llm.wait.")?"llm.wait":t==="llm.first_token"||t==="llm.completed"||t.startsWith("llm.stream.")?"llm.stream":t.startsWith("tts.text.")?"tts.text":t.startsWith("tts.provider.")?"tts.provider.lifecycle":t==="tts.audio.first_received"||t==="tts.audio.last_received"?"tts.provider":t.startsWith("tts.decode.")?"tts.decode":t.startsWith("audio.output.wait.")?"audio.output.wait":t==="interruption.detected"||t==="audio.playback.interrupted"?"interruption":t.startsWith("audio.playback.")?"playback":"other"}function Gn(t){switch(t){case"vad.activated":case"stt.started":return"start";case"vad.deactivated":case"stt.final":case"stt.final_transcript":return"end";default:return null}}function Zn(t){switch(t.eventType){case"call.started":return"Call started";case"call.ended":return"Call ended";case"vad.activated":return"VAD activated";case"vad.deactivated":return"VAD deactivated";case"stt.started":return"STT start";case"stt.interim":return"STT interim";case"stt.final":case"stt.final_transcript":return"STT final";case"speech.created":return"Speech created";case"reply.pending.started":return"Reply pending start";case"reply.pending.completed":return"Reply pending end";case"llm.connect_tcp.started":return"Connect TCP start";case"llm.connect_tcp.completed":return"Connect TCP end";case"llm.connect_tcp.failed":return"Connect TCP failed";case"llm.start_tls.started":return"TLS start";case"llm.start_tls.completed":return"TLS end";case"llm.start_tls.failed":return"TLS failed";case"llm.wait.started":return"LLM wait start";case"llm.wait.completed":return"LLM wait end";case"llm.stream.started":return"LLM stream start";case"llm.stream.completed":return"LLM stream end";case"llm.requested":return"LLM request";case"llm.first_token":return"LLM first token";case"llm.completed":return"LLM end";case"tts.text.first_sent":return"TTS first text";case"tts.text.completed":return"TTS text end";case"tts.provider.started":return"Provider start";case"tts.provider.completed":return"Provider end";case"tts.audio.first_received":return"Provider audio received";case"tts.audio.last_received":return"Provider audio end";case"tts.decode.started":return"Decode start";case"tts.decode.completed":return"Decode end";case"audio.output.wait.started":return"Output queue start";case"audio.output.wait.completed":return"Output queue end";case"interruption.detected":return"Interruption detected";case"audio.playback.started":return"Playback start";case"audio.playback.stopped":return"Playback stop";case"audio.playback.ended":return"Playback end";case"audio.playback.interrupted":return"Playback interrupted";default:return t.eventType}}function Jn(t){const e=Ve(t);switch(t.eventType){case"call.started":return"Call-scoped latency stream started";case"call.ended":return"Call-scoped latency stream ended";case"vad.activated":return"Raw VAD activation event";case"vad.deactivated":return"Raw VAD deactivation event";case"stt.started":return"Speech-to-text detected speech start";case"stt.interim":return _t(e.originalType)==="preflight_transcript"?"Speech-to-text preflight transcript":"Speech-to-text interim transcript";case"stt.final":case"stt.final_transcript":return"Speech-to-text final transcript";case"speech.created":return"LiveKit created a speech handle";case"reply.pending.started":return"Reply generation was committed, but downstream generation has not started yet";case"reply.pending.completed":return"Reply generation moved from pending into the LLM request phase";case"llm.connect_tcp.started":return"httpcore started opening a new TCP connection for the LLM request";case"llm.connect_tcp.completed":return"httpcore finished opening a new TCP connection for the LLM request";case"llm.connect_tcp.failed":return"httpcore failed while opening a new TCP connection for the LLM request";case"llm.start_tls.started":return"httpcore started TLS negotiation for the LLM request";case"llm.start_tls.completed":return"httpcore finished TLS negotiation for the LLM request";case"llm.start_tls.failed":return"httpcore failed during TLS negotiation for the LLM request";case"llm.wait.started":return"LLM request is in flight and waiting for the first token";case"llm.wait.completed":return"The LLM wait phase ended when the first token arrived";case"llm.stream.started":return"LLM streaming phase started";case"llm.stream.completed":return"LLM streaming phase ended";case"llm.requested":return"AnyVan received an LLM request";case"llm.first_token":return"First LLM token received";case"llm.completed":return"LLM streaming completed";case"tts.text.first_sent":return"First text chunk sent to the TTS provider";case"tts.text.completed":return"Last non-empty text chunk observed for this TTS stream";case"tts.provider.started":return"Provider lifecycle started when the first non-empty TTS text chunk was sent";case"tts.provider.completed":return"Provider lifecycle ended when the provider stream reported completion";case"tts.audio.first_received":return"First audio chunk received from the TTS provider";case"tts.audio.last_received":return"Last audio chunk received from the TTS provider";case"tts.decode.started":return"First provider audio bytes were handed into the local decode path";case"tts.decode.completed":return"The first decoded audio frame left the local decode path";case"audio.output.wait.started":return"The first local audio frame was handed to the LiveKit audio output";case"audio.output.wait.completed":return"The audio-output wait phase ended when low-level playback actually started";case"interruption.detected":return"User speech overlapped active playback; this does not guarantee playback stopped";case"audio.playback.started":return"First played audio frame";case"audio.playback.stopped":return"Playback lifecycle ended on the Playback row";case"audio.playback.ended":return"Audio playback finished normally";case"audio.playback.interrupted":return"Audio playback ended because the output buffer was interrupted";default:return null}}function wr(t){const e=Ve(t);return _t(e.text)}function Qn(t){return t.eventType==="stt.final"||t.eventType==="stt.final_transcript"}function ot(t){const e=_t(t);return e&&e.replace(/<break\b[^>]*\/?>/gi," ").replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim()||null}function ta(t){const e=Ve(t),n=ot(e.text)??ot(e.transcript)??ot(e.finalTranscript)??ot(e.final_transcript)??ot(e.message);if(n)return n;const a=e.alternatives;if(Array.isArray(a))for(const o of a){if(!o||typeof o!="object")continue;const i=ot(o.text);if(i)return i}return null}function Tr(t){return t.traceType==="CONVERSATIONAL"}function ea(t){return Tr(t)&&t.role.toLowerCase()==="user"&&(t.eventName==="received-message"||t.eventName==="llm-handler-stream-requested")}function Mr(t){return Tr(t)&&(t.eventName==="finished-main-streaming-step"||t.eventName==="sent-message")}function Pr(t){return _t(t.traceId)??`${t.createdAt}:${t.eventName}:${t.content}`}function ra(t,e){for(let n=e-1;n>=0;n-=1){const a=t[n];if(a.traceType==="CONVERSATIONAL")return a}return null}function na(t,e){const n=pe(e.startTrace.createdAt),a=pe(e.endTrace.createdAt);if(n==null)return null;for(let o=0;o<t.length;o+=1){const i=t[o];if(!Mr(i)||i.createdAt<n-fr||a!=null&&i.createdAt<a-fr)continue;const l=ra(t,o);if(!(!l||!ea(l)))return i}return null}function Sr(t,e){return e>=t.start&&e<=t.end?0:Math.min(Math.abs(e-t.start),Math.abs(e-t.end))}function aa(t,e,n){const a=e.filter(o=>n.has(o.id)?!1:o.start>=t.end-lr&&o.start<=t.end+cr).sort((o,i)=>Math.abs(o.start-t.end)-Math.abs(i.start-t.end));return a[0]?a[0]:e.find(o=>!n.has(o.id)&&o.start<=t.end+cr&&o.end>=t.end-lr)??null}function oa(t,e,n){const a=pe(t.createdAt);return a==null?null:e.filter(i=>n.has(i.id)?!1:i.end>=a-dr&&i.start<=a+dr).sort((i,l)=>Sr(i,a)-Sr(l,a))[0]??null}function Er(){for(const t of r(q).slice().sort(ee))if(t.eventType==="call.started"&&Number.isFinite(t.atMs))return t.atMs;return r(K)}function ia(t,e){const n=e.filter(a=>a.start<=t).sort((a,o)=>o.start-a.start||o.end-a.end)[0];return n?n.end<=t?Math.min(n.end,t):Math.min(n.start,t):Math.min(Er(),t)}function Lr(t){return _t(t.traceId)??`${t.seq??"?"}:${t.createdAt??"?"}`}function sa(){return r(q).slice().sort(ee).flatMap(t=>{if(t.eventType!=="tts.text.first_sent"&&t.eventType!=="tts.text.completed")return[];const e=ot(wr(t));return e?[{trace:t,text:e}]:[]})}function la(t,e,n,a){const o=a-250,i=t.start+2e3;return e.filter(({trace:d})=>n.has(Lr(d))?!1:d.atMs>=o&&d.atMs<=i).sort((d,u)=>Math.abs(d.trace.atMs-t.start)-Math.abs(u.trace.atMs-t.start))[0]??null}function ca(t){const e=new Map,n=t.filter(c=>c.row==="Playback"&&c.durationMs>0).sort((c,v)=>c.start-v.start||c.end-v.end),a=new Set,o=new Set,i=new Set,l=sa();let d=Er();for(const c of n){const v=la(c,l,i,d);d=Math.max(d,c.end),v&&(a.add(c.id),i.add(Lr(v.trace)),e.set(c.id,{text:v.text,traceLabel:Y(v.trace)}))}for(const c of xn(r(q))){if(bn(r(xt),c)==null)continue;const v=na(r(xt),c);if(!v)continue;const g=ot(v.content);if(!g)continue;const $=aa(c,n,a);$&&(a.add($.id),o.add(Pr(v)),e.set($.id,{text:g,traceLabel:Y(v)}))}const u=r(xt).filter(Mr).sort(Dr);for(const c of u){const v=Pr(c);if(o.has(v))continue;const g=ot(c.content);if(!g)continue;const $=oa(c,n,a);$&&(a.add($.id),o.add(v),e.set($.id,{text:g,traceLabel:Y(c)}))}return e}function da(){const t=[],e=r(yt).filter(n=>n.row==="Playback"&&n.durationMs>0).sort((n,a)=>n.start-a.start||n.end-a.end);return r(q).slice().sort(ee).forEach(n=>{if(!Qn(n))return;const a=ta(n);a&&t.push({id:`bubble:human:${n.traceId??n.seq}`,role:"human",text:a,fullText:a,anchorTime:n.atMs,minStartTime:ia(n.atMs,e),anchorRow:"STT",traceLabel:Y(n)})}),t.sort((n,a)=>n.anchorTime-a.anchorTime||n.role.localeCompare(a.role)||n.id.localeCompare(a.id))}function ua(t){const e=r(gt).findIndex(n=>n.label===t);return e===-1?U:U+e*(ht+tt)+Math.round(ht/2)}function fa(t){let e=0;for(const n of t)n===" "?e+=4:"ilI.,:;!|".includes(n)?e+=4.2:"mwMW@#%&".includes(n)?e+=9.5:/[A-Z0-9]/.test(n)?e+=7.5:e+=6.8;return Math.ceil(e+kn)}function pa(t,e){const n=fa(t),a=Math.max(Lt,e);return D(n,Lt,a)}function ma(t,e){const n=new Set,a=[],o=Math.max(Lt,e);for(const i of[t,Ln,En,Lt]){const l=D(i,Lt,o);l>t||n.has(l)||(n.add(l),a.push(l))}return a}function kr(t,e){let n=-1;for(const a of t)a.role===e&&(n=Math.max(n,a.level));return Math.max(1,n+1)}function va(t){return Math.max(1,t)*ir}function ha(t){const e=r(Wn);return t.map(n=>{const a=n.level*ir,o=e+a,i=ua(n.anchorRow);return{...n,topPx:a,lineTopPx:i,lineHeightPx:Math.max(1,o-i)}})}function xa(t,e){if(r(f)==null||r(y)==null||r(lt)<=0)return[];const n=r(f),o=r(y)-n;if(!Number.isFinite(o)||o<=0)return[];const i=e.filter(u=>u.role===t).map(u=>{const c=(u.anchorTime-n)/o*100,v=(u.minStartTime-n)/o*r(lt),g=c/100*r(lt);return{...u,anchorPercent:c,anchorPx:g,maxWidthPx:Math.max(Lt,g-v)}}).sort((u,c)=>u.anchorPx-c.anchorPx||u.anchorTime-c.anchorTime),l=Array.from({length:sr},()=>Number.NEGATIVE_INFINITY),d=[];for(const u of i){const c=pa(u.text,u.maxWidthPx),v=ma(c,u.maxWidthPx);let g=null;for(const $ of v){const X=u.anchorPx,A=X-$;for(let N=0;N<sr;N+=1)if(!(A<l[N]+Sn)){g={...u,leftPx:A,topPx:0,widthPx:$,level:N,lineTopPx:vt,lineHeightPx:1},l[N]=X;break}if(g)break}g&&d.push(g)}return d}function ba(){const t=da();return xa("human",t)}function ya(t){return`left:${Math.round(t.leftPx)}px;top:${Math.round(t.topPx)}px;width:${Math.round(t.widthPx)}px;height:${vt}px;`}function ga(t){return`left:${t.anchorPercent}%;top:${Math.round(t.lineTopPx)}px;height:${Math.round(t.lineHeightPx)}px;`}function _a(t){const e="absolute z-20 overflow-hidden truncate rounded-lg border-thin border-rc-gray-110 px-3 text-sm leading-[30px] text-rc-gray-100 backdrop-blur-md";return t.role==="agent"?`${e} bg-rc-green-700`:`${e} bg-rc-gray-700`}function wa(t){const e="pointer-events-none max-h-56 max-w-[34rem] overflow-auto rounded-lg border-thin border-rc-gray-110 p-2 pt-1 text-sm text-rc-gray-100 shadow-2xl backdrop-blur-md";return t.role==="agent"?`${e} bg-rc-green-700`:`${e} bg-rc-gray-700`}function Ue(){Zt!=null&&(window.clearTimeout(Zt),Zt=null)}function $r(t,e){const n=e.currentTarget;n instanceof HTMLElement&&(Ue(),Zt=window.setTimeout(()=>{s(Kt,t,!0),s(jt,n,!0),Zt=null},$n))}function me(){Ue(),s(Kt,null),s(jt,null)}function qe(t){return{id:t.id,row:t.row,start:t.start,end:t.end,durationMs:Math.max(0,t.end-t.start),colorKey:t.colorKey,label:t.label,description:t.description??null,explain:t.explain??null,text:t.text??null,speechText:null,speechTraceLabel:null,traceLabel:t.traceLabel,eventMarker:t.eventMarker??null}}function ee(t,e){return t.seq-e.seq||t.atMs-e.atMs||(t.createdAt??0)-(e.createdAt??0)||String(t.traceId??"").localeCompare(String(e.traceId??""))}function Ta(t,e,n,a){for(let o=e+1;o<t.length;o+=1){const i=t[o];if(a(i))return null;if(n(i))return i}return null}function Ma(t){return xn(t).filter(e=>bn(r(xt),e)!=null).map(e=>qe({id:`derived:${e.id}`,row:"Response Latency",start:e.start,end:e.end,colorKey:e.isHigh?"response.latency.high":"response.latency.ok",label:"Final STT -> speech start",description:e.speechCreatedTrace?"Final STT transcript -> first audio for the next uncancelled LiveKit speech":"Final STT transcript -> next audio playback start",explain:e.isHigh?`High latency (>${Xo}ms)`:"OK",text:e.text,traceLabel:e.speechCreatedTrace?`${Y(e.startTrace)} -> ${Y(e.speechCreatedTrace)} -> ${Y(e.endTrace)}`:`${Y(e.startTrace)} -> ${Y(e.endTrace)}`}))}function Pa(t){const e=Ma(t);return t.forEach((n,a)=>{const o=In.get(n.eventType);if(!o)return;const i=Ta(t,a,l=>l.eventType===o.endEventType,l=>l.eventType===o.startEventType);!i||i.atMs<n.atMs||e.push(qe({id:`derived:${o.row.toLowerCase().replaceAll(" ","_")}:${n.seq}:${i.seq}`,row:o.row,start:n.atMs,end:i.atMs,colorKey:o.colorKey,label:o.label,description:o.description,traceLabel:Y(n)}))}),e}function Sa(t){const e=t.slice().filter(o=>typeof o.atMs=="number"&&Number.isFinite(o.atMs)&&typeof o.seq=="number"&&Number.isFinite(o.seq)).sort(ee),n=e.map((o,i)=>qe({id:`point:${o.traceId??o.seq}:${i}`,row:zn(o.eventType),start:o.atMs,end:o.atMs,colorKey:Yn(o.eventType),label:Zn(o),description:Jn(o),text:wr(o),traceLabel:Y(o),eventMarker:Gn(o.eventType)}));return[...Pa(e),...n].sort((o,i)=>o.start-i.start||(o.durationMs===0?1:0)-(i.durationMs===0?1:0)||o.end-i.end||o.row.localeCompare(i.row))}function ve(t){const e=t&&typeof t=="object"?t:{},n=typeof e.audioUrl=="string"&&e.audioUrl.trim()?e.audioUrl:null;return{exists:e.exists===!0&&n!=null,audioUrl:n,fileName:typeof e.fileName=="string"?e.fileName:null,mimeType:typeof e.mimeType=="string"?e.mimeType:null,size:typeof e.size=="number"&&Number.isFinite(e.size)?e.size:null,uploadedAt:typeof e.uploadedAt=="string"?e.uploadedAt:null,alignmentOffsetMs:typeof e.alignmentOffsetMs=="number"&&Number.isFinite(e.alignmentOffsetMs)?e.alignmentOffsetMs:0}}function Ke(t,e){const n=t&&typeof t=="object"?t:{};return typeof n.error=="string"&&n.error.trim()?n.error:typeof n.message=="string"&&n.message.trim()?n.message:e}async function je(t){var a,o;const e=t.headers.get("content-type")??"";if(e.includes("application/json"))return t.json().catch(()=>({}));const n=(await t.text().catch(()=>"")).trim();if(!n)return{};if(e.includes("text/html")){const i=n.match(/<title>([^<]+)<\/title>/i),l=n.match(/<h1[^>]*>([^<]+)<\/h1>/i);return{message:((a=i==null?void 0:i[1])==null?void 0:a.trim())||((o=l==null?void 0:l[1])==null?void 0:o.trim())||`${t.status} ${t.statusText}`.trim()}}return{message:n}}function he(t){return t.row==="Playback"&&!t.eventMarker&&t.durationMs>0}function Ea(t){return!he(t)||!t.speechText?null:{role:"agent",fullText:t.speechText}}function La(t){return he(t)?t.speechText:null}function ka(t){if(r(f)==null||r(y)==null)return null;const e=r(y)-r(f);if(!Number.isFinite(e)||e<=0)return null;const n=mr[t.colorKey]??B.gray,a=j(n,-.25);if(t.end===t.start){if(t.start<r(f)||t.start>r(y))return null;const u=D((t.start-r(f))/e*100,0,100);return t.eventMarker==="start"?`left:${u}%;width:7px;background:${n};border-color:${a};clip-path:polygon(0 0,100% 50%,0 100%);`:t.eventMarker==="end"?`left:calc(${u}% - 7px);width:7px;background:${n};border-color:${a};clip-path:polygon(100% 0,0 50%,100% 100%);`:`left:calc(${u}% - 2px);width:4px;background:${n};border-color:${a};`}const o=Math.max(t.start,r(f)),i=Math.min(t.end,r(y));if(i<o)return null;const l=(o-r(f))/e*100,d=(i-o)/e*100;return he(t)?`left:${l}%;width:max(${d}%,2px);`:`left:${l}%;width:max(${d}%,2px);background:${n};border-color:${a};`}function $a(t){return t.eventMarker?"absolute inset-y-0 shadow-[0_0_0_1px_rgba(0,0,0,0.28)]":he(t)?"absolute inset-y-0 overflow-hidden truncate rounded-lg border-thin border-rc-gray-110 bg-rc-green-700 px-3 text-sm leading-[30px] text-rc-gray-100 shadow-[0_0_0_1px_rgba(0,0,0,0.12)] backdrop-blur-md":"absolute inset-y-0 rounded border shadow-[0_0_0_1px_rgba(0,0,0,0.12)]"}function Aa(t){return[t.label,t.row!==t.label?t.row:"",`${Dt(t.start-r(K))} → ${Dt(t.end-r(K))} (${qn(t.durationMs)})`,t.description??"",t.text?`Text: ${t.text}`:"",t.explain??"",t.traceLabel].filter(n=>n.trim()!=="").join(`
3
+ `)}function Ca(t,e){const n=e.currentTarget;n instanceof HTMLElement&&(s(Bt,t,!0),s(qt,n,!0))}function Ar(){s(Bt,null),s(qt,null)}function Ba(t,e){const n=Ea(t);if(n){Ar(),$r(n,e);return}me(),Ca(t,e)}function Cr(){Ar(),me()}function Ra(t){return`left:${t.leftPercent}%;top:${t.topPx}px;height:${t.heightPx}px;border-color:${t.color};opacity:${t.opacity};`}function Ia(t){return`left:${t.leftPercent}%;top:${t.topPx}px;height:${t.heightPx}px;`}function Na(t){const e="absolute top-1 whitespace-nowrap text-[11px] text-rc-gray-400";return t.leftPercent<=.1?e:t.leftPercent>=99.9?`${e} -translate-x-full`:`${e} -translate-x-1/2`}function Fa(t){if(!r(k).exists||r(f)==null||r(y)==null)return[];const e=r(f),n=r(y),a=n-e;if(!Number.isFinite(a)||a<=0)return[];const o=r(Oe),i=new Set,l=[];return t.forEach((d,u)=>{if(!Cn.has(d.label))return;const v=U+u*(ht+tt)+Math.round(ht/2);d.segments.forEach(g=>{const $=j(mr[g.colorKey]??B.gray,.15),X=g.end===g.start?g.start>=e&&g.start<=n?[g.start]:[]:(()=>{const A=Math.max(g.start,e),N=Math.min(g.end,n);return N<A?[]:[A,N]})();for(const A of X){const N=Math.round(A),ft=`${d.label}:${N}`;if(i.has(ft))continue;i.add(ft);const G=D((A-e)/a*100,0,100);l.push({id:`${g.id}:${N}`,leftPercent:G,topPx:v,heightPx:Math.max(1,o-v),color:$,opacity:d.label==="VAD"?.62:.48})}})}),l}function Da(t){const e=t/7,n=10**Math.floor(Math.log10(Math.max(1,e))),a=e/n;return a<=1?1*n:a<=2?2*n:a<=5?5*n:10*n}function Oa(t,e,n){const a=e-t;if(!Number.isFinite(a)||a<=0)return[];const o=Da(a),i=Math.ceil((t-n)/o)*o+n,l=[];for(let d=i;d<=e;d+=o){const u=(d-t)/a*100;l.push({time:d,leftPercent:u,label:Dt(d-n)})}return l}function Br(){const t=window.AudioContext??window.webkitAudioContext;if(!t)throw new Error("Web Audio is not available in this browser");return new t}function Wa(t){if(t.length===0||t.duration===0)return{durationMs:0,binDurationMs:0,minPeaks:new Float32Array(0),maxPeaks:new Float32Array(0),channelCount:t.numberOfChannels,sampleRate:t.sampleRate};const e=D(Math.round(t.duration*200),8e3,6e4),n=Math.max(1,Math.min(e,t.length)),a=Math.max(1,Math.floor(t.length/n)),o=new Float32Array(n),i=new Float32Array(n);for(let l=0;l<n;l+=1){const d=l*a,u=l===n-1?t.length:Math.min(t.length,d+a);let c=1,v=-1;for(let g=0;g<t.numberOfChannels;g+=1){const $=t.getChannelData(g);for(let X=d;X<u;X+=1){const A=$[X]??0;A<c&&(c=A),A>v&&(v=A)}}v===-1&&c===1&&(c=0,v=0),o[l]=c,i[l]=v}return{durationMs:t.duration*1e3,binDurationMs:t.duration*1e3/n,minPeaks:o,maxPeaks:i,channelCount:t.numberOfChannels,sampleRate:t.sampleRate}}async function Ha(t){const e=await fetch(t,{cache:"no-store"});if(!e.ok)throw new Error(`Failed to load recording (${e.status})`);const n=await e.arrayBuffer(),a=Br();try{const o=await a.decodeAudioData(n.slice(0));return{peaks:Wa(o),audioBuffer:o}}finally{await a.close().catch(()=>{})}}function Va(t,e){const n=Math.max(1,Math.floor(e.width)),a=Math.max(1,Math.floor(e.height)),o=window.devicePixelRatio||1;t.width=Math.max(1,Math.round(n*o)),t.height=Math.max(1,Math.round(a*o)),t.style.width=`${n}px`,t.style.height=`${a}px`;const i=t.getContext("2d");if(!i)return;i.setTransform(o,0,0,o,0,0),i.clearRect(0,0,n,a),i.fillStyle="rgba(10, 10, 10, 0.2)",i.fillRect(0,0,n,a);const l=e.viewportEndMs-e.viewportStartMs;if(l<=0||e.peaks.minPeaks.length===0||e.peaks.binDurationMs<=0)return;const d=e.recordingStartMs+e.peaks.durationMs,u=Math.max(e.viewportStartMs,e.recordingStartMs),c=Math.min(e.viewportEndMs,d),v=a/2,g=a*.42;if(i.strokeStyle="rgba(147, 255, 109, 0.95)",i.lineWidth=1,i.beginPath(),c>u){const $=Math.max(0,Math.floor((u-e.recordingStartMs)/e.peaks.binDurationMs)),X=Math.min(e.peaks.minPeaks.length-1,Math.ceil((c-e.recordingStartMs)/e.peaks.binDurationMs));for(let A=$;A<=X;A+=1){const ft=(e.recordingStartMs+A*e.peaks.binDurationMs-e.viewportStartMs)/l*n,G=e.peaks.minPeaks[A]??0,ye=e.peaks.maxPeaks[A]??0,ge=v-ye*g,_e=v-G*g;i.moveTo(ft,ge),i.lineTo(ft,_e)}}i.stroke(),i.strokeStyle="rgba(255, 255, 255, 0.18)",i.lineWidth=1,i.beginPath(),i.moveTo(0,v),i.lineTo(n,v),i.stroke()}function Xe(){It&&(window.cancelAnimationFrame(It),It=0)}async function Ua(){const t=et;et=null,t&&await t.close().catch(()=>{})}async function qa(){return(!et||et.state==="closed")&&(et=Br()),et.state==="suspended"&&await et.resume(),et}function Rr(){const t=Ir();if(r(rt)&&et&&Yt!=null&&Gt!=null){const e=(et.currentTime-Gt)*1e3,n=Yt+Math.max(0,e);return t>0?D(n,0,t):Math.max(0,n)}return t>0?D(r(z),0,t):Math.max(0,r(z))}function Ot(t=!0){t&&s(z,Rr(),!0);const e=zt;if(zt=null,Yt=null,Gt=null,s(rt,!1),Xe(),!!e){e.onended=null;try{e.stop()}catch{}e.disconnect()}}function Ka(){Xe();const t=()=>{if(!r(rt)){It=0;return}s(z,Rr(),!0),It=window.requestAnimationFrame(t)};It=window.requestAnimationFrame(t)}function Ir(){return r(V)&&Number.isFinite(r(V).durationMs)?Math.max(0,r(V).durationMs):dt&&Number.isFinite(dt.duration)?Math.max(0,dt.duration*1e3):0}function ja(t){const e=Ir(),n=e>0?D(t,0,e):Math.max(0,t);s(z,n,!0),r(rt)&&Fr(n)}function Xa(t,e){if(r(f)==null||r(y)==null||r(ut)==null)return;const n=e.getBoundingClientRect(),a=D((t-n.left)/Math.max(1,n.width),0,1),o=r(f)+a*(r(y)-r(f));s(nt,null),ja(o-r(ut))}function za(t){const e=t instanceof HTMLElement?t:null;if(!e)return!1;const n=e.tagName;return e.isContentEditable||n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||n==="BUTTON"||n==="A"}async function Nr(){if(!(!r(k).exists||!r(k).audioUrl)){if(s(nt,null),r(rt)){Ot(!0);return}await Fr(r(z))}}async function Fr(t){const e=dt;if(!e){s(nt,r($t)?"Recording is still decoding":"Failed to decode recording for playback",!0);return}const n=Math.max(0,e.duration*1e3),a=n>0?t>=n?0:D(t,0,n):Math.max(0,t);Ot(!1),s(z,a,!0);try{const o=await qa(),i=o.createBufferSource();i.buffer=e,i.connect(o.destination),i.onended=()=>{zt===i&&(zt=null,Yt=null,Gt=null,s(rt,!1),s(z,n,!0),Xe())},zt=i,Yt=a,Gt=o.currentTime,s(rt,!0),s(nt,null),Ka(),i.start(0,a/1e3)}catch(o){Ot(!1),s(rt,!1),s(nt,o instanceof Error?o.message:"Failed to play recording",!0)}}function Ya(t){const e=new Set;return t.filter(n=>{const a=_t(n==null?void 0:n.traceId);return a?e.has(a)?!1:(e.add(a),!0):!0})}function Ga(t){const e=new Set;return t.filter(n=>{const a=_t(n==null?void 0:n.traceId);return a?e.has(a)?!1:(e.add(a),!0):!0})}function Dr(t,e){return t.createdAt-e.createdAt||String(t.traceId??"").localeCompare(String(e.traceId??""))}async function Za(t){const e=[];let n;for(;;){const a=await ae.getLatencyTraces(t,500,n);if(e.push(...a.items??[]),n=a.lastTraceId,!n)break}return Ya(e).slice().sort(ee)}async function Ja(t){const e=[];let n;for(;;){const a=await ae.getTraces(t,500,n);if(e.push(...a.items??[]),n=a.lastTraceId,!n)break}return Ga(e).slice().sort(Dr)}async function Qa(t){const e=++se;s(Vt,!0),s(Ut,null);try{const[n,a,o]=await Promise.all([ae.getConversation(t).catch(i=>(console.error("Failed to load conversation details:",i),null)),Za(t),Ja(t).catch(i=>(console.error("Failed to load conversation traces for latency matching:",i),[]))]);if(e!==se)return;s(kt,n,!0),s(q,a,!0),s(xt,o,!0)}catch(n){if(e!==se)return;s(Ut,n instanceof Error?n.message:String(n),!0),s(kt,null),s(q,[],!0),s(xt,[],!0)}finally{if(e!==se)return;s(Vt,!1)}}async function Or(t){if(Ot(!1),s(k,t,!0),s(st,null),s(nt,null),s(z,0),!t.exists||!t.audioUrl){dt=null,s(V,null),s($t,!1),s(At,null);return}const e=++ce;s($t,!0),s(At,null);try{const n=await Ha(t.audioUrl);if(e!==ce)return;s(V,n.peaks,!0),dt=n.audioBuffer}catch(n){if(e!==ce)return;dt=null,s(V,null),s(At,n instanceof Error?n.message:String(n),!0)}finally{if(e!==ce)return;s($t,!1)}}async function to(t=r(Qt)){if(!t)return;const e=++le;s(Ee,!0),s(bt,null);try{const n=await fetch(t,{cache:"no-store",headers:{accept:"application/json"}}),a=await je(n);if(!n.ok)throw new Error(Ke(a,"Failed to load recording metadata"));if(e!==le)return;await Or(ve(a))}catch(n){if(e!==le)return;s(bt,n instanceof Error?n.message:String(n),!0),s(k,ve({}),!0),s(V,null),s($t,!1)}finally{if(e!==le)return;s(Ee,!1)}}function Wr(t=!0){const e=r(ue)??r(Ft);if(!e)return;const n=r(K);s(f,n,!0),s(y,Math.max(n+1e3,e.max),!0),s(at,t,!0)}function eo(t,e){const n=r(Ft);if(!n)return{startMs:t,endMs:e};const a=e-t;if(a<=0)return{startMs:t,endMs:e};const o=Math.max(1e3,a*.25),i=n.min-o,l=n.max+o;return a>=l-i?{startMs:i,endMs:l}:(t<i&&(e+=i-t,t=i),e>l&&(t-=e-l,e=l),{startMs:t,endMs:e})}function ze(t,e){if(!Number.isFinite(t)||!Number.isFinite(e)||e<=t)return;const n=eo(t,e);s(f,n.startMs,!0),s(y,n.endMs,!0)}function xe(t,e=.5){if(r(f)==null||r(y)==null)return;const n=r(y)-r(f);if(!Number.isFinite(n)||n<=0)return;const a=r(Ft),o=a?a.max-a.min:n,i=Math.min(100,n),l=Math.max(o+Math.max(2e3,o*.1),5e3),d=D(n*t,i,l),u=D(e,0,1),v=r(f)+n*u-d*u;s(at,!0),ze(v,v+d)}function ro(t){let e=t.deltaY;return t.deltaMode===WheelEvent.DOM_DELTA_LINE?e*=16:t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(e*=window.innerHeight),D(e,-ur,ur)}function Hr(t){return Math.exp(ro(t)*An)}function Ye(t){if(r(lt)<=0)return;t.preventDefault();const e=t.currentTarget.getBoundingClientRect(),n=D((t.clientX-e.left)/Math.max(1,e.width),0,1);xe(Hr(t),n)}function no(t){if(r(Ct)<=0)return;t.preventDefault();const e=t.currentTarget.getBoundingClientRect(),n=D((t.clientX-e.left)/Math.max(1,e.width),0,1);xe(Hr(t),n)}function Vr(t){var u;ct==null||ct();const e=Math.max(0,t.activationDistancePx??0);let n=e===0;n&&((u=t.onStart)==null||u.call(t));const a=c=>{var $;if(n)return!0;const v=c.clientX-t.startEvent.clientX,g=c.clientY-t.startEvent.clientY;return Math.hypot(v,g)<e?!1:(n=!0,($=t.onStart)==null||$.call(t),!0)},o=c=>{a(c)&&t.onMove(c)},i=c=>{var v,g;window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",d),ct=null,!n&&c&&((v=t.onClick)==null||v.call(t,c)),(g=t.onEnd)==null||g.call(t,{wasDrag:n,event:c})},l=c=>i(c),d=()=>i();window.addEventListener("pointermove",o),window.addEventListener("pointerup",l),window.addEventListener("pointercancel",d),ct=()=>i()}function Ur(t){if(t.button!==0||r(f)==null||r(y)==null||r(lt)<=0)return;t.preventDefault(),s(at,!0);const e=t.clientX,n=r(f),a=r(y)-r(f);Vr({startEvent:t,onMove:o=>{const l=(o.clientX-e)/r(lt)*a;ze(n-l,n-l+a)}})}function qr(t){s(k,{...r(k),alignmentOffsetMs:Math.round(t)},!0)}async function Kr(){if(!(!r(k).exists||!r(Qt))){s(Le,!0),s(st,null);try{const t=await fetch(r(Qt),{method:"PATCH",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify({alignmentOffsetMs:r(k).alignmentOffsetMs})}),e=await je(t);if(!t.ok)throw new Error(Ke(e,"Failed to save alignment offset"));s(k,ve(e),!0)}catch(t){s(st,t instanceof Error?t.message:String(t),!0)}finally{s(Le,!1)}}}function ao(t){if(t.button!==0||!r(k).exists||r(V)==null||r(f)==null||r(y)==null||r(Ct)<=0)return;t.preventDefault(),s(st,null);const e=t.currentTarget,n=t.clientX,a=r(k).alignmentOffsetMs,o=r(y)-r(f);Vr({startEvent:t,activationDistancePx:6,onStart:()=>{s(at,!0)},onMove:i=>{const d=(i.clientX-n)/r(Ct)*o;qr(a+d)},onClick:i=>{Xa(i.clientX,e)},onEnd:({wasDrag:i})=>{i&&Kr()}})}async function oo(){r(k).exists&&(s(at,!0),qr(0),await Kr())}async function io(t){var a;const e=t.currentTarget,n=(a=e.files)==null?void 0:a[0];if(e.value="",!(!n||!r(Qt))){s(oe,!0),s(bt,null),s(st,null);try{const o=new URL(r(Qt),window.location.origin);o.searchParams.set("filename",n.name);const i=await fetch(o,{method:"POST",headers:{accept:"application/json","content-type":n.type||"audio/wav"},body:n}),l=await je(i);if(!i.ok)throw new Error(Ke(l,"Failed to upload recording"));s(at,!1),await Or(ve(l))}catch(o){s(bt,o instanceof Error?o.message:String(o),!0)}finally{s(oe,!1)}}}var jr=_i(),be=re(jr),Ge=b(be),Ze=b(Ge),Je=b(Ze),Qe=b(Je),so=m(b(Qe));{var lo=t=>{var e=Go(),n=m(re(e),2),a=b(n,!0);h(n),P(()=>C(a,r(Jt))),x(t,e)};F(so,t=>{r(Jt)&&t(lo)})}h(Qe);var Xr=m(Qe,2),tr=b(Xr),zr=m(b(tr),2),co=b(zr,!0);h(zr),h(tr);var er=m(tr,2),Yr=m(b(er),2),uo=b(Yr,!0);h(Yr),h(er);var rr=m(er,2),Gr=m(b(rr),2),fo=b(Gr,!0);h(Gr),h(rr);var Zr=m(rr,2);{var po=t=>{var e=Zo(),n=m(b(e),2),a=b(n,!0);h(n),h(e),P(o=>C(a,o),[()=>Dt(r(We)-r(K))]),x(t,e)};F(Zr,t=>{r(k).exists&&r(We)!=null&&t(po)})}var mo=m(Zr,2);{var vo=t=>{var e=Jo(),n=m(b(e),2),a=b(n);h(n),h(e),P((o,i)=>C(a,`${o??""} → ${i??""}`),[()=>Dt(r(f)-r(K)),()=>Dt(r(y)-r(K))]),x(t,e)};F(mo,t=>{r(f)!=null&&r(y)!=null&&t(vo)})}h(Xr),h(Je);var Jr=m(Je,2),nr=b(Jr);Ht(nr,t=>s(Be,t),()=>r(Be));var Qr=m(nr,2);Et(Qr,{variant:"secondary",size:"small",get disabled(){return r(oe)},onclick:()=>{var t;return(t=r(Be))==null?void 0:t.click()},children:(t,e)=>{St();var n=Pt();P(()=>C(n,r(oe)?"Uploading…":r(k).exists?"Replace WAV":"Upload WAV")),x(t,n)},$$slots:{default:!0}});var tn=m(Qr,2);{let t=w(()=>!r(k).exists);Et(tn,{variant:"secondary",size:"small",get disabled(){return r(t)},onclick:()=>void Nr(),children:(e,n)=>{St();var a=Pt();P(()=>C(a,r(rt)?"Pause":"Play")),x(e,a)},$$slots:{default:!0}})}var en=m(tn,2);{let t=w(()=>r(gr)==null);Et(en,{variant:"secondary",size:"small",get disabled(){return r(t)},onclick:()=>xe(.8),children:(e,n)=>{St();var a=Pt("Zoom in");x(e,a)},$$slots:{default:!0}})}var rn=m(en,2);{let t=w(()=>r(gr)==null);Et(rn,{variant:"secondary",size:"small",get disabled(){return r(t)},onclick:()=>xe(1.25),children:(e,n)=>{St();var a=Pt("Zoom out");x(e,a)},$$slots:{default:!0}})}var nn=m(rn,2);{let t=w(()=>!(r(ue)??r(Ft)));Et(nn,{variant:"secondary",size:"small",get disabled(){return r(t)},onclick:()=>Wr(!0),children:(e,n)=>{St();var a=Pt("Fit call");x(e,a)},$$slots:{default:!0}})}var an=m(nn,2);{let t=w(()=>!r(k).exists||r(Le));Et(an,{variant:"secondary",size:"small",get disabled(){return r(t)},onclick:oo,children:(e,n)=>{St();var a=Pt("Reset alignment");x(e,a)},$$slots:{default:!0}})}var ho=m(an,2);{let t=w(()=>!r(q).length);Et(ho,{variant:"secondary",size:"small",get disabled(){return r(t)},onclick:Xn,children:(e,n)=>{St();var a=Pt();P(()=>C(a,r(Rt)==="ok"?"Copied":r(Rt)==="error"?"Copy failed":"Copy latency stream")),x(e,a)},$$slots:{default:!0}})}h(Jr),h(Ze);var on=m(Ze,2);{var xo=t=>{var e=Qo(),n=b(e,!0);h(e),P(()=>C(n,r(Vt)?"Loading call latency…":"Loading recording…")),x(t,e)};F(on,t=>{(r(Vt)||r(Ee))&&t(xo)})}var sn=m(on,2);{var bo=t=>{var e=Te(),n=b(e);h(e),P(()=>C(n,`Failed to load latency traces: ${r(Ut)??""}`)),x(t,e)};F(sn,t=>{r(Ut)&&t(bo)})}var ln=m(sn,2);{var yo=t=>{var e=Te(),n=b(e);h(e),P(()=>C(n,`Recording error: ${r(bt)??""}`)),x(t,e)};F(ln,t=>{r(bt)&&t(yo)})}var cn=m(ln,2);{var go=t=>{var e=Te(),n=b(e);h(e),P(()=>C(n,`Alignment error: ${r(st)??""}`)),x(t,e)};F(cn,t=>{r(st)&&t(go)})}var _o=m(cn,2);{var wo=t=>{var e=Te(),n=b(e);h(e),P(()=>C(n,`Playback error: ${r(nt)??""}`)),x(t,e)};F(_o,t=>{r(nt)&&t(wo)})}h(Ge);var dn=m(Ge,2),un=b(dn),fn=b(un),To=b(fn);{var Mo=t=>{var e=ti();x(t,e)},Po=t=>{var e=ei();x(t,e)},So=t=>{var e=ri();x(t,e)},Eo=t=>{var e=bi(),n=b(e),a=m(b(n),2);Q(a,19,()=>r(gt),p=>p.label,(p,T,M)=>{var E=ni(),W=b(E,!0);h(E),P(()=>{I(E,`height:${ht}px;margin-top:${r(M)===0?0:tt}px;`),C(W,r(T).label)}),x(p,E)});var o=m(a,2),i=m(o,2);{var l=p=>{var T=ai();I(T,`height:${Pe}px;margin-top:${tt}px;`),x(p,T)};F(i,p=>{r(te)&&p(l)})}h(n);var d=m(n,2),u=b(d),c=b(u);Q(c,17,()=>r(hr),p=>p.id,(p,T)=>{var M=oi();P(E=>I(M,E),[()=>ga(r(T))]),x(p,M)});var v=m(c,2);Q(v,17,()=>r(Vn),p=>p.id,(p,T)=>{var M=ii();P(E=>I(M,E),[()=>Ra(r(T))]),x(p,M)});var g=m(v,2);{var $=p=>{var T=si();P(M=>I(T,M),[()=>Ia(r(yr))]),x(p,T)};F(g,p=>{r(yr)&&p($)})}var X=m(g,2);{var A=p=>{var T=li(),M=re(T),E=m(M,2);P(()=>{I(M,`left:${r(Nt).leftPercent}%;top:${r(Nt).topPx}px;height:${r(Nt).heightPx}px;`),I(E,`left:${r(Nt).leftPercent}%;top:${r(Nt).topPx-4}px;`)}),x(p,T)};F(X,p=>{r(Nt)&&p(A)})}h(u);var N=m(u,2);Q(N,21,()=>r(fe),p=>p.time,(p,T)=>{var M=ci(),E=re(M),W=m(E,2),wt=b(W,!0);h(W),P(Z=>{I(E,`left:${r(T).leftPercent}%;`),Wt(W,1,Z),I(W,`left:${r(T).leftPercent}%;`),C(wt,r(T).label)},[()=>ne(Na(r(T)))]),x(p,M)}),h(N),Ht(N,p=>s(ke,p),()=>r(ke));var ft=m(N,2);Q(ft,19,()=>r(gt),p=>p.label,(p,T,M)=>{var E=fi(),W=b(E);Q(W,17,()=>r(fe),Z=>Z.time,(Z,L)=>{var O=_n();P(()=>I(O,`left:${r(L).leftPercent}%;`)),x(Z,O)});var wt=m(W,2);Q(wt,17,()=>r(T).segments,Z=>Z.id,(Z,L)=>{const O=w(()=>ka(r(L))),it=w(()=>La(r(L)));var mn=Wo(),Ro=re(mn);{var Io=ar=>{var pt=ui(),No=b(pt);{var Fo=Tt=>{var or=di(),Do=b(or,!0);h(or),P(()=>C(Do,r(it))),x(Tt,or)};F(No,Tt=>{r(it)&&Tt(Fo)})}h(pt),P(Tt=>{Wt(pt,1,Tt),I(pt,r(O))},[()=>ne($a(r(L)))]),mt("pointerenter",pt,Tt=>Ba(r(L),Tt)),mt("pointerleave",pt,Cr),Mt("pointerdown",pt,Cr),x(ar,pt)};F(Ro,ar=>{r(O)&&ar(Io)})}x(Z,mn)}),h(E),P(()=>I(E,`height:${ht}px;margin-top:${r(M)===0?0:tt}px;`)),Mt("pointerdown",E,Ur),mt("wheel",E,Ye),x(p,E)});var G=m(ft,2);let ye;var ge=b(G),_e=m(ge,2);Q(_e,17,()=>r(fe),p=>p.time,(p,T)=>{var M=pi();P(()=>I(M,`left:${r(T).leftPercent}%;`)),x(p,M)});var Ao=m(_e,2);Q(Ao,17,()=>r(hr),p=>p.id,(p,T)=>{var M=wn(),E=b(M,!0);h(M),P((W,wt)=>{Wt(M,1,W),I(M,wt),C(E,r(T).text)},[()=>ne(_a(r(T))),()=>ya(r(T))]),mt("pointerenter",M,W=>$r(r(T),W)),mt("pointerleave",M,me),Mt("pointerdown",M,me),x(p,M)}),h(G);var Co=m(G,2);{var Bo=p=>{var T=xi();I(T,`height:${Pe}px;margin-top:${tt}px;`);var M=b(T);{var E=L=>{var O=mi();x(L,O)},W=L=>{var O=vi(),it=b(O);h(O),P(()=>C(it,`Failed to decode waveform: ${r(At)??""}`)),x(L,O)},wt=L=>{var O=hi();Ht(O,it=>s(Ae,it),()=>r(Ae)),x(L,O)};F(M,L=>{r($t)?L(E):r(At)?L(W,1):L(wt,-1)})}var Z=m(M,2);Q(Z,17,()=>r(fe),L=>L.time,(L,O)=>{var it=_n();P(()=>I(it,`left:${r(O).leftPercent}%;`)),x(L,it)}),h(T),Ht(T,L=>s($e,L),()=>r($e)),Mt("pointerdown",T,ao),mt("wheel",T,no),x(p,T)};F(Co,p=>{r(te)&&p(Bo)})}h(d),h(e),P(()=>{I(o,`height:${r(De)}px;margin-top:${r(de)}px;`),ye=Wt(G,1,"relative z-0 overflow-hidden border-x border-t border-rc-gray-700/60",null,ye,{"rounded-b":!r(te),"border-b":!r(te)}),I(G,`height:${r(xr)}px;margin-top:${r(de)}px;`),I(ge,`height:${r(De)}px;`)}),mt("wheel",N,Ye),Mt("pointerdown",G,Ur),mt("wheel",G,Ye),x(t,e)};F(To,t=>{r(Vt)?t(Mo):r(yt).length?r(f)==null||r(y)==null?t(So,2):t(Eo,-1):t(Po,1)})}h(fn),h(un),h(dn),h(be);var pn=m(be,2);{var Lo=t=>{Ht(vn(t,{get referenceEl(){return r(qt)},placement:"top-start",offset:[0,10],children:n=>{var a=yi();Q(a,21,()=>r(Un),qo,(o,i,l)=>{var d=wn();Wt(d,1,ne(l===0?"font-semibold text-rc-gray-050":"mt-1 whitespace-pre-wrap break-words text-rc-gray-300"));var u=b(d,!0);h(d),P(()=>C(u,r(i))),x(o,d)}),h(a),x(n,a)},$$slots:{default:!0}}),n=>s(Re,n,!0),()=>r(Re))};F(pn,t=>{r(Bt)&&r(qt)&&t(Lo)})}var ko=m(pn,2);{var $o=t=>{const e=w(()=>r(Kt));Ht(vn(t,{get referenceEl(){return r(jt)},placement:"top-start",offset:[0,-4],flip:!1,children:a=>{var o=gi(),i=b(o),l=b(i,!0);h(i),h(o),P(d=>{Wt(o,1,d),C(l,r(e).fullText)},[()=>ne(wa(r(e)))]),x(a,o)},$$slots:{default:!0}}),a=>s(Ie,a,!0),()=>r(Ie))};F(ko,t=>{r(Kt)&&r(jt)&&t($o)})}P(t=>{C(co,r(Nn)),C(uo,r(yt).length),C(fo,t)},[()=>Kn(r(k).alignmentOffsetMs)]),Mt("click",be,t=>t.stopPropagation()),Mt("change",nr,io),x(H,jr),Uo()}Oo(["click","change","pointerdown"]);export{Fi as component};
@@ -0,0 +1,11 @@
1
+ import{a as l,t as D,f as b,d as pe,c as Kt,b as oe}from"../chunks/C4SnSfql.js";import"../chunks/7qRqthsa.js";import{o as $e}from"../chunks/C-whEtKd.js";import{p as se,d as Se,j as t,w as c,c as _,f as at,s as S,n as bt,r as y,a as le,q as Bt,o as mt,t as U,k as Nt,h as v,Y as nt,bg as ne,bh as Pe,e as Ne,$ as Ae,a2 as H}from"../chunks/Dv8m1cTI.js";import{s as K}from"../chunks/_yZg6Sf-.js";import{p as Q,s as Le,a as ke}from"../chunks/HJHYLHDn.js";import{i as P}from"../chunks/CXo2BVs0.js";import{e as ie,i as ue}from"../chunks/D8e7SQh9.js";import{h as Ce}from"../chunks/HXxIsSOO.js";import{c as Ie}from"../chunks/ks45gSgq.js";import{i as me}from"../chunks/CqxCTxvJ.js";import{s as Me}from"../chunks/BR5f5i_E.js";import{T as Oe,g as Re}from"../chunks/JcG4w2gF.js";import{b as je,f as Je}from"../chunks/T0seCQS_.js";import{B as ct}from"../chunks/DTlGvFHe.js";import{D as Ee}from"../chunks/D-puyTnN.js";import{I as Fe,h as fe}from"../chunks/AocOovHL.js";import{M as ve}from"../chunks/-g1l5aoS.js";import{m as ze}from"../chunks/ddC1NP9R.js";import{C as Ue,a as De,b as We}from"../chunks/DlZKMmqG.js";import{s as Pt}from"../chunks/DYhTBLDc.js";const qe=()=>{const et=Me;return{page:{subscribe:et.page.subscribe},navigating:{subscribe:et.navigating.subscribe},updated:et.updated}},Ke={subscribe(et){return qe().page.subscribe(et)}};var Be=b("<!> <!>",1),He=b('<div class="mt-1 overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox"><!> <!></div>'),Ye=b("<div><!> <!></div>");function Ge(et,A){se(A,!0);let I=Q(A,"disabled",3,!1),_t=Q(A,"dropdownId",3,"copy-traces-dropdown"),j=Bt(!1),gt=Bt(null),X=Bt(null),J=Bt(null);Se(()=>{I()&&t(j)&&c(j,!1)});async function ot(O){try{const W=O==="with-prompts"?A.getWithPromptsText():A.getWithoutPromptsText();await navigator.clipboard.writeText(W),c(X,O,!0),t(J)&&clearTimeout(t(J)),c(J,window.setTimeout(()=>{c(X,null),c(J,null)},2e3),!0)}catch(W){console.error("Failed to copy traces",W)}}var M=Ye(),ht=_(M);ct(ht,{variant:"secondary",size:"small",get disabled(){return I()},get"aria-expanded"(){return t(j)},"aria-haspopup":"listbox",get"aria-controls"(){return _t()},onclick:O=>{O.stopPropagation(),c(j,!t(j))},class:"flex items-center gap-1",get el(){return t(gt)},set el(O){c(gt,O,!0)},children:(O,W)=>{var m=Be(),Y=at(m);{var st=N=>{var q=D("Copied traces (without prompts)");l(N,q)},p=N=>{var q=D("Copied traces (with prompts)");l(N,q)},dt=N=>{var q=D("Copy traces");l(N,q)};P(Y,N=>{t(X)==="without-prompts"?N(st):t(X)==="with-prompts"?N(p,1):N(dt,-1)})}var B=S(Y,2);{let N=bt(()=>"size-5 text-rc-gray-400 transition-transform duration-200 "+(t(j)?"rotate-180":""));Fe(B,{name:"chevron-down",get class(){return t(N)}})}l(O,m)},$$slots:{default:!0}});var it=S(ht,2);Ee(it,{get id(){return _t()},get open(){return t(j)},onClose:()=>c(j,!1),get anchorEl(){return t(gt)},placement:"bottom-end",offset:[0,1],children:W=>{var m=He(),Y=_(m);ct(Y,{variant:"ghost",size:"small",role:"option",onclick:p=>{p.stopPropagation(),c(j,!1),ot("without-prompts")},class:"w-full 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:(p,dt)=>{mt();var B=D("Without prompts");l(p,B)},$$slots:{default:!0}});var st=S(Y,2);ct(st,{variant:"ghost",size:"small",role:"option",onclick:p=>{p.stopPropagation(),c(j,!1),ot("with-prompts")},class:"w-full rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(p,dt)=>{mt();var B=D("With prompts");l(p,B)},$$slots:{default:!0}}),y(m),l(W,m)},$$slots:{default:!0}}),y(M),l(et,M),le()}var Ve=b("<div> </div>"),Qe=b('<div class="mt-1 whitespace-pre-wrap break-words text-xs italic text-rc-gray-200"> </div>'),Xe=b("<div><!> <!> <!></div>"),Ze=b("<div><div><div> </div> <div><!> <!></div> <!></div></div>"),tr=b('<div class="space-y-3"></div>'),er=b('<div class="whitespace-pre-wrap break-words"><!></div>'),rr=b('<button class="inline-flex text-sm text-rc-green-200 hover:text-rc-green-100"> </button>'),ar=b('<div><span class="whitespace-pre-wrap break-words"><!></span> <!></div>');function nr(et,A){se(A,!1);let I=Q(A,"value",8,""),_t=Q(A,"limit",8,200),j=Q(A,"maxLines",8,null),gt=Q(A,"className",8,""),X=Q(A,"collapsedLabel",8,"...more"),J=Q(A,"initiallyExpanded",8,!1),ot=Q(A,"stopPropagation",8,!0),M=Q(A,"expanded",28,J),ht=Q(A,"treatPlainText",8,!1),it=Q(A,"highlightPrompt",8,!1);function O(o){return o.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function W(o){const i=m(o);let a=O(i);const f=[];return a=a.replace(/(\{+[\s\S]*?\}+)/g,x=>{const h=f.length;return f.push(x),`__CURLY${h}__`}),a=a.replace(/^(\s*#.*)$/gm,'<span class="prompt-heading">$1</span>'),a=a.replace(/(&lt;[^&]*?&gt;)/g,'<span class="mtk8">$1</span>'),a=a.replace(/^(\s*)(\d+)([.)])(\s+)/gm,(x,h,$,E,ut)=>`${h}<span class="mtk8">${$}${E}</span>${ut}`),f.forEach((x,h)=>{const $=`<span class="mtk5">${x}</span>`;a=a.replace(`__CURLY${h}__`,$)}),a=a.replace(/\n/g,"<br/>"),a}function m(o){let i=o.replace(/\r\n/g,`
2
+ `);return i=i.replace(/\\n/g,`
3
+ `),i}function Y(o){try{if(Array.isArray(o)){const i=o.map(a=>(a==null?void 0:a.text)??(a==null?void 0:a.content)??JSON.stringify(a)).join(" ");return m(i)}if(typeof o=="string")try{const i=JSON.parse(o);if(Array.isArray(i)){const a=i.map(f=>(f==null?void 0:f.text)??(f==null?void 0:f.content)??JSON.stringify(f)).join(" ");return m(a)}return m(o)}catch{return m(o)}return m(JSON.stringify(o))}catch{return m(String(o??""))}}function st(o){try{if(Array.isArray(o)){const i=o.map(a=>(a==null?void 0:a.text)??(a==null?void 0:a.content)??JSON.stringify(a)).join(`
4
+ `);return m(i)}if(typeof o=="string")try{const i=JSON.parse(o);if(Array.isArray(i)){const a=i.map(f=>(f==null?void 0:f.text)??(f==null?void 0:f.content)??JSON.stringify(f)).join(`
5
+ `);return m(a)}return m(o)}catch{return m(o)}return m(JSON.stringify(o,null,2))}catch{return m(String(o??""))}}function p(o){const a=m(o).split(/\n+/).map($=>$.trim()).filter($=>$.length>0),f=[];let x,h="";for(const $ of a){const E=$.match(/^(user|assistant|system|customer|caller|tool|model|agent)\s*[:\-]\s*(.*)$/i);E?(h&&f.push({text:h,role:x}),x=E[1].toLowerCase(),h=E[2]??""):h?h+=`
6
+ `+$:h=$}return h&&f.push({text:h,role:x}),f}function dt(o){try{let i=o;if(typeof o=="string")try{i=JSON.parse(o)}catch{return ht()?p(o):[]}if(!Array.isArray(i))if(Array.isArray(i==null?void 0:i.messages))i=i.messages;else return[];return i.map(a=>{let f;return(a==null?void 0:a.text)!=null?f=String(a.text):(a==null?void 0:a.content)!=null?Array.isArray(a.content)?f=a.content.map(x=>{var h;return typeof x=="string"?x:typeof(x==null?void 0:x.text)=="string"?x.text:typeof((h=x==null?void 0:x.text)==null?void 0:h.value)=="string"?x.text.value:JSON.stringify(x)}).join(" "):typeof a.content=="string"?f=a.content:f=JSON.stringify(a.content):typeof a=="string"?f=a:f=JSON.stringify(a),{text:m(f),role:a==null?void 0:a.role,time:a==null?void 0:a.time,duration:a==null?void 0:a.duration}}).filter(a=>a.text&&String(a.text).trim().length>0)}catch{return[]}}const B=()=>Y(I()),N=()=>st(I()),q=()=>B().split(`
7
+ `),rt=()=>dt(I()),Tt=()=>rt().length>0,At=()=>j()!=null?q().length>j():B().length>_t(),Lt=()=>{const o=B();return At()?j()!=null?q().slice(0,j()).join(`
8
+ `):o.slice(0,_t()):o};function jt(o){if(!o)return null;try{const i=new Date(o);return Number.isNaN(i.getTime())?o:i.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return o}}function Ht(o){if(o==null||!Number.isFinite(o))return null;const i=Number(o),a=Math.floor(i),f=Math.floor(a/60),x=a%60,h=String(f).padStart(2,"0"),$=String(x).padStart(2,"0");return`${h}:${$}`}function kt(o){if(!o)return"Assistant";const i=o.trim();return i?i.charAt(0).toUpperCase()+i.slice(1):"Assistant"}function Jt(o){const i=(o==null?void 0:o.toLowerCase())??"";return i==="user"||i==="customer"||i==="caller"}function Et(o){const i=[];return{main:o.replace(/<([^>]+)>/g,(f,x)=>{const h=String(x).trim();return h&&i.push(h),""}).trim(),system:i}}function Ft(o){ot()&&o.stopPropagation(),M(!M())}function Yt(o){ot()&&o.stopPropagation()}me();var Ct=Kt(),zt=at(Ct);{var Gt=o=>{var i=Kt(),a=at(i);{var f=$=>{var E=tr();ie(E,5,()=>v(rt),ue,(ut,T)=>{const L=nt(()=>(t(T),v(()=>Jt(t(T).role)))),R=nt(()=>(t(T),v(()=>(t(T).role??"").toLowerCase()==="system"))),F=nt(()=>(t(T),v(()=>Et(t(T).text)))),Z=nt(()=>(t(T),v(()=>jt(t(T).time)))),yt=nt(()=>(t(T),v(()=>Ht(t(T).duration))));var xt=Ze(),It=_(xt),wt=_(It),Qt=_(wt,!0);y(wt);var $t=S(wt,2),Ut=_($t);{var Xt=G=>{var tt=Ve(),lt=_(tt,!0);y(tt),U(()=>K(lt,(Nt(t(F)),v(()=>t(F).main)))),l(G,tt)};P(Ut,G=>{Nt(t(F)),v(()=>t(F).main)&&G(Xt)})}var Zt=S(Ut,2);ie(Zt,1,()=>(Nt(t(F)),v(()=>t(F).system)),ue,(G,tt)=>{var lt=Qe(),Mt=_(lt);y(lt),U(()=>K(Mt,`<${t(tt)??""}>`)),l(G,lt)}),y($t);var Dt=S($t,2);{var te=G=>{var tt=Xe(),lt=_(tt);{var Mt=V=>{var ft=D();U(()=>K(ft,t(Z))),l(V,ft)};P(lt,V=>{t(Z)&&V(Mt)})}var Wt=S(lt,2);{var qt=V=>{var ft=D("·");l(V,ft)};P(Wt,V=>{t(Z)&&t(yt)&&V(qt)})}var ee=S(Wt,2);{var re=V=>{var ft=D();U(()=>K(ft,t(yt))),l(V,ft)};P(ee,V=>{t(yt)&&V(re)})}y(tt),U(()=>Pt(tt,1,`mt-1 text-xs text-rc-gray-300 ${t(L)?"text-right":"text-left"}`)),l(G,tt)};P(Dt,G=>{(t(Z)||t(yt))&&G(te)})}y(It),y(xt),U(G=>{Pt(xt,1,`flex ${t(L)?"justify-end":"justify-start"}`),Pt(It,1,`max-w-[70%] break-words rounded-md px-3 py-2 text-sm shadow-sm ${t(L)?"bg-rc-gray-600 text-rc-gray-100":"bg-rc-gray-700 text-rc-gray-100"}`),Pt(wt,1,`my-1 text-xs font-semibold uppercase ${t(R)?"text-rc-blue "+(t(L)?"text-right":"text-left"):"text-rc-green-200 "+(t(L)?"text-right":"text-left")}`),K(Qt,G),Pt($t,1,`whitespace-pre-wrap break-words py-1 text-sm ${t(L)?"text-justify":"text-left"} ${t(R)?"italic text-rc-gray-200":""}`)},[()=>(t(T),v(()=>kt(t(T).role)))]),l(ut,xt)}),y(E),l($,E)},x=bt(()=>v(Tt)),h=$=>{var E=er(),ut=_(E);{var T=R=>{var F=Kt(),Z=at(F);fe(Z,()=>v(()=>W(N()))),l(R,F)},L=R=>{var F=D();U(Z=>K(F,Z),[()=>v(N)]),l(R,F)};P(ut,R=>{it()?R(T):R(L,-1)})}y(E),l($,E)};P(a,$=>{t(x)?$(f):$(h,-1)})}l(o,i)},Vt=o=>{var i=ar(),a=_(i),f=_(a);{var x=T=>{var L=Kt(),R=at(L);fe(R,()=>v(()=>W(Lt()))),l(T,L)},h=T=>{var L=D();U(R=>K(L,R),[()=>v(Lt)]),l(T,L)};P(f,T=>{it()?T(x):T(h,-1)})}y(a);var $=S(a,2);{var E=T=>{var L=rr(),R=_(L,!0);y(L),U(()=>K(R,X())),oe("click",L,Ft),l(T,L)},ut=bt(()=>v(At));P($,T=>{t(ut)&&T(E)})}y(i),U(()=>Pt(i,1,`mt-1 cursor-text select-text rounded bg-rc-gray-900 p-2 text-sm text-rc-gray-200 ${gt()}`)),oe("click",i,Yt),l(o,i)};P(zt,o=>{M()?o(Gt):o(Vt,-1)})}l(et,Ct),le()}pe(["click"]);var or=b('<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200"> </span>',1),ir=b('<div class="flex flex-wrap items-center gap-2"><!> <!> <!></div>'),sr=b('<div class="mt-2 text-sm text-rc-gray-400">Loading call details…</div>'),lr=b('<div class="mt-2 text-sm text-rc-gray-300"> </div>'),cr=b('<div class="py-8 text-center text-rc-gray-300">No conversation selected</div>'),dr=b('<div class="py-8 text-center text-rc-gray-200">Loading traces...</div>'),ur=b('<div class="z-50 py-8 text-center text-red-400"> </div>'),fr=b('<div class="py-8 text-center text-rc-gray-300">No traces found</div>'),vr=b('<div class="my-3 flex w-full justify-center"><div class="rounded-full border border-rc-gray-650 bg-rc-gray-900/40 px-3 py-1 text-xs text-rc-gray-200"> </div></div>'),pr=b('<div class="my-3 flex w-full justify-center"><div class="rounded-full border border-red-500 bg-red-950/30 px-3 py-1 text-xs font-semibold text-red-200"> </div></div>'),mr=b("<!> <!> <!>",1),gr=b('<div class="mt-3 flex justify-center"><!></div>'),yr=b("<div></div> <!>",1),xr=b('<audio class="w-full" controls=""></audio> <div class="mt-3 break-all text-sm text-rc-gray-300"> </div>',1),_r=b("<!> <!>",1),hr=b('<div class="rc-scroll flex max-h-[60vh] flex-col gap-4 overflow-scroll p-2"><!></div>'),br=b('<div class="flex w-full items-center justify-end gap-5"><!> <!></div>'),Tr=b('<div class="flex h-full w-full flex-col bg-rc-gray-700"><div class="flex-none border-b border-rc-gray-300/40 p-4"><div class="flex flex-wrap items-start justify-between gap-3"><h2 class="text-lg font-semibold text-rc-gray-100">Traces <!></h2> <!></div> <!></div> <div class="rc-scroll min-h-0 flex-1 overflow-scroll p-4"><!></div></div> <!> <!>',1);function qr(et,A){se(A,!1);const I=()=>ke(Ke,"$page",_t),[_t,j]=Le();let gt=Q(A,"useMock",8,!1);const X=new Oe(fetch);X.setSourceId(Re()??void 0);let J=H([]),ot=H([]),M=H([]),ht=H(new Map),it=H(!1),O=H(!1),W=H(null),m=H(null),Y=null,st=H(!1),p=H(null),dt=H(!1),B=H(null),N=H(!1),q=H(!1),rt=0,Tt=0;const At=new WeakMap;let Lt=0;function jt(e){if(typeof e!="string")return null;const r=e.trim();return r||null}function Ht(e){return`${Math.round(e)} ms`}function kt(e){const r=jt(e==null?void 0:e.traceId);if(r)return r;const n=At.get(e);if(n)return n;Lt+=1;const s=`synthetic-${e.traceType}-${e.createdAt}-${Lt}`;return At.set(e,s),s}function Jt(e){const r=new Set;return e.filter(n=>{const s=jt(n==null?void 0:n.traceId);return s?r.has(s)?!1:(r.add(s),!0):!0})}function Et(e){return e?t(J):t(J).map(r=>{if(r.traceType!=="STEP")return r;const{receivedPrompt:n,renderedPrompt:s,...u}=r;return u})}function Ft(e){return e&&typeof e.renderedPrompt=="string"?e.renderedPrompt:null}function Yt(e,r){for(let n=r-1;n>=0;n--){const s=e[n];if(s.traceType!=="STEP")continue;const u=s;if(u.name==="main"&&Ft(u))return u}for(let n=r-1;n>=0;n--){const s=e[n];if(s.traceType!=="STEP")continue;const u=s;if(u.name==="prewarm"&&Ft(u))return u}return null}function Ct(e){return!!(e!=null&&e.audioUrl&&String(e.audioUrl).trim())}function zt(e){const r=e==null?void 0:e.transcript;return typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:!1}function Gt(e){const r=e==null?void 0:e.transcript;return r?typeof r=="string"?r:Array.isArray(r)?r.map(n=>{const s=typeof(n==null?void 0:n.time)=="string"?n.time:"",u=typeof(n==null?void 0:n.role)=="string"?n.role:"",g=typeof(n==null?void 0:n.text)=="string"?n.text:"",d=[s,u].filter(Boolean).join(" • ");return d?`${d}
9
+ ${g}`:g}).join(`
10
+
11
+ `):"":""}async function Vt(){try{await navigator.clipboard.writeText(Gt(t(p)))}catch(e){console.error("Failed to copy transcript",e)}}async function o(){var e;try{const r=(e=t(p))==null?void 0:e.audioUrl;if(!r)return;await navigator.clipboard.writeText(r)}catch(r){console.error("Failed to copy recording URL",r)}}function i(e){return e.traceType!=="CONVERSATIONAL"?!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 a(e,r){const n=new Map;for(const s of je(r)){if(!s.isHigh)continue;const u=Je(e,s);if(!u)continue;const g=kt(u),d=n.get(g);(!d||s.durationMs>d.durationMs)&&n.set(g,{id:s.id,durationMs:s.durationMs})}return n}function f(e){return t(ht).get(kt(e))??null}const x=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function h(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const n=r.getFullYear(),s=String(r.getMonth()+1).padStart(2,"0"),u=String(r.getDate()).padStart(2,"0");return`${n}-${s}-${u}`}function $(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const n=r.getDate(),s=x[r.getMonth()],u=r.getFullYear();return`${n} ${s} ${u}`}async function E(e){const r=++Tt;c(dt,!0),c(B,null),c(p,null);try{if(gt())return;const n=await X.getConversation(e);if(r!==Tt)return;c(p,n)}catch(n){if(r!==Tt)return;c(B,n.message),c(p,null)}finally{if(r!==Tt)return;c(dt,!1)}}async function ut(e){const r=[];let n;for(;;){const s=await X.getLatencyTraces(e,500,n);if(r.push(...s.items??[]),n=s.lastTraceId,!n)break}return r}async function T(e){if(!e||e===t(m))return;const r=++rt;c(m,e),c(it,!0),c(O,!1),c(W,null),Y=null,c(st,!1),c(ot,[]),c(N,!1),c(q,!1),E(e);try{let n=[],s=null,u=!1,g=[];if(gt())n=(await ze.fetchTraces(e)).items??[];else{const[d,w]=await Promise.all([X.getTraces(e,100),ut(e).catch(k=>(console.error("Failed to load latency traces for chat warnings:",k),[]))]);n=d.items??[],s=d.lastTraceId??null,u=s!=null,g=w}if(r!==rt)return;Y=s,c(st,u),c(ot,g),c(J,Jt(n).slice().sort((d,w)=>d.createdAt-w.createdAt))}catch(n){if(r!==rt)return;c(W,n.message),c(J,[]),console.error("Failed to load traces:",n)}finally{if(r!==rt)return;c(it,!1)}}async function L(){if(!t(m)||!Y||t(O))return;const e=t(m),r=rt;c(O,!0),c(W,null);try{const n=await X.getTraces(e,100,Y),s=n.items??[];if(e!==t(m)||r!==rt)return;const u=n.lastTraceId??null;Y=u,c(st,u!=null),c(J,Jt(t(J).concat(s)).slice().sort((g,d)=>g.createdAt-d.createdAt))}catch(n){if(e!==t(m)||r!==rt)return;c(W,n.message),console.error("Failed to load more traces:",n)}finally{if(e!==t(m)||r!==rt)return;c(O,!1)}}$e(()=>{const e=I().params.conversationId;e&&T(e)}),ne(()=>t(J),()=>{c(M,t(J).filter(e=>e.traceType==="API_CALL"||e.traceType==="STEP"||i(e)))}),ne(()=>(t(M),t(ot)),()=>{c(ht,a(t(M),t(ot)))}),ne(()=>(I(),t(m)),()=>{const e=I().params.conversationId;e&&e!==t(m)&&T(e)}),Pe(),me();var R=Tr();Ce("1uatba4",e=>{Ne(()=>{Ae.title="Bosun: Telescope"})});var F=at(R),Z=_(F),yt=_(Z),xt=_(yt),It=S(_(xt));{var wt=e=>{var r=or(),n=S(at(r),2),s=_(n,!0);y(n),U(()=>K(s,(I(),v(()=>I().params.conversationId)))),l(e,r)};P(It,e=>{I(),v(()=>I().params.conversationId)&&e(wt)})}y(xt);var Qt=S(xt,2);{var $t=e=>{var r=ir(),n=_(r);{var s=C=>{ct(C,{variant:"secondary",size:"small",onclick:()=>c(N,!0),children:(vt,Ot)=>{mt();var St=D("Recording");l(vt,St)},$$slots:{default:!0}})},u=bt(()=>(t(p),v(()=>Ct(t(p)))));P(n,C=>{t(u)&&C(s)})}var g=S(n,2);{var d=C=>{ct(C,{variant:"secondary",size:"small",onclick:()=>c(q,!0),children:(vt,Ot)=>{mt();var St=D("Transcript");l(vt,St)},$$slots:{default:!0}})},w=bt(()=>(t(p),v(()=>zt(t(p)))));P(g,C=>{t(w)&&C(d)})}var k=S(g,2);{let C=nt(()=>(t(J),t(it),v(()=>!t(J).length||t(it))));Ge(k,{get disabled(){return t(C)},getWithPromptsText:()=>JSON.stringify(Et(!0),null,2),getWithoutPromptsText:()=>JSON.stringify(Et(!1),null,2)})}y(r),l(e,r)};P(Qt,e=>{I(),v(()=>I().params.conversationId)&&e($t)})}y(yt);var Ut=S(yt,2);{var Xt=e=>{var r=sr();l(e,r)},Zt=e=>{var r=lr(),n=_(r);y(r),U(()=>K(n,`Call details unavailable: ${t(B)??""}`)),l(e,r)};P(Ut,e=>{t(dt)?e(Xt):t(B)&&e(Zt,1)})}y(Z);var Dt=S(Z,2),te=_(Dt);{var G=e=>{var r=cr();l(e,r)},tt=e=>{var r=dr();l(e,r)},lt=e=>{var r=ur(),n=_(r);y(r),U(()=>K(n,`Error: ${t(W)??""}`)),l(e,r)},Mt=e=>{var r=fr();l(e,r)},Wt=e=>{var r=yr(),n=at(r);ie(n,7,()=>t(M),g=>kt(g),(g,d,w)=>{const k=nt(()=>(t(d),v(()=>h(t(d).createdAt)))),C=nt(()=>(Nt(t(w)),t(M),v(()=>t(w)>0?h(t(M)[t(w)-1].createdAt):null))),vt=nt(()=>(t(d),v(()=>$(t(d).createdAt)))),Ot=nt(()=>(t(d),v(()=>f(t(d)))));var St=mr(),ce=at(St);{var ye=z=>{var pt=vr(),Rt=_(pt),ae=_(Rt,!0);y(Rt),y(pt),U(()=>K(ae,t(vt))),l(z,pt)};P(ce,z=>{t(k)&&t(vt)&&t(k)!==t(C)&&z(ye)})}var de=S(ce,2);{var xe=z=>{Ue(z,{get trace(){return t(d)}})},_e=z=>{{let pt=nt(()=>(t(d),t(M),Nt(t(w)),v(()=>t(d).name==="main"?Yt(t(M),t(w)):null)));De(z,{get trace(){return t(d)},get compareTrace(){return t(pt)}})}},he=z=>{We(z,{get trace(){return t(d)},context:null,agentId:void 0})};P(de,z=>{t(d),v(()=>t(d).traceType==="API_CALL")?z(xe):(t(d),v(()=>t(d).traceType==="STEP")?z(_e,1):z(he,-1))})}var be=S(de,2);{var Te=z=>{var pt=pr(),Rt=_(pt),ae=_(Rt);y(Rt),y(pt),U(we=>K(ae,`High response latency: ${we??""}`),[()=>(Nt(t(Ot)),v(()=>Ht(t(Ot).durationMs)))]),l(z,pt)};P(be,z=>{t(Ot)&&z(Te)})}l(g,St)}),y(n);var s=S(n,2);{var u=g=>{var d=gr(),w=_(d);ct(w,{variant:"secondary",size:"small",get disabled(){return t(O)},onclick:L,children:(k,C)=>{mt();var vt=D();U(()=>K(vt,t(O)?"Loading more…":"Load more")),l(k,vt)},$$slots:{default:!0}}),y(d),l(g,d)};P(s,g=>{t(st)&&g(u)})}l(e,r)};P(te,e=>{I(),v(()=>!I().params.conversationId)?e(G):t(it)?e(tt,1):t(W)?e(lt,2):(t(M),v(()=>!t(M).length)?e(Mt,3):e(Wt,-1))})}y(Dt),y(F);var qt=S(F,2);{var ee=e=>{ve(e,{title:"Recording",class:"!max-w-3xl",get open(){return t(N)},set open(s){c(N,s)},children:s=>{var u=xr(),g=at(u),d=S(g,2),w=_(d,!0);y(d),U(()=>{Ie(g,"src",(t(p),v(()=>{var k;return(k=t(p))==null?void 0:k.audioUrl}))),K(w,(t(p),v(()=>{var k;return(k=t(p))==null?void 0:k.audioUrl})))}),l(s,u)},footer:s=>{var u=_r(),g=at(u);ct(g,{variant:"secondary",size:"small",onclick:o,children:(w,k)=>{mt();var C=D("Copy URL");l(w,C)},$$slots:{default:!0}});var d=S(g,2);ct(d,{variant:"secondary",size:"small",onclick:()=>c(N,!1),children:(w,k)=>{mt();var C=D("Close");l(w,C)},$$slots:{default:!0}}),l(s,u)},$$slots:{default:!0,footer:!0},$$legacy:!0})},re=bt(()=>(t(N),t(p),v(()=>t(N)&&Ct(t(p)))));P(qt,e=>{t(re)&&e(ee)})}var V=S(qt,2);{var ft=e=>{ve(e,{title:"Transcript",class:"!max-w-4xl",get open(){return t(q)},set open(s){c(q,s)},children:s=>{var u=hr(),g=_(u);{var d=w=>{nr(w,{get value(){return t(p),v(()=>t(p).transcript)},limit:500,expanded:!0})};P(g,w=>{t(p),v(()=>{var k;return typeof((k=t(p))==null?void 0:k.transcript)=="string"})&&w(d)})}y(u),l(s,u)},footer:s=>{var u=br(),g=_(u);ct(g,{onclick:Vt,children:(w,k)=>{mt();var C=D("Copy transcript");l(w,C)},$$slots:{default:!0}});var d=S(g,2);ct(d,{variant:"secondary",onclick:()=>c(q,!1),children:(w,k)=>{mt();var C=D("Close");l(w,C)},$$slots:{default:!0}}),y(u),l(s,u)},$$slots:{default:!0,footer:!0},$$legacy:!0})},ge=bt(()=>(t(q),t(p),v(()=>t(q)&&zt(t(p)))));P(V,e=>{t(ge)&&e(ft)})}oe("click",F,e=>e.stopPropagation()),l(et,R),le(),j()}pe(["click"]);export{qr as component};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/DLQqXQ6R.js","../chunks/C1FmrZbK.js","../assets/editor.BMIWPGx3.css"])))=>i.map(i=>d[i]);
2
- var cn=Object.defineProperty;var un=(N,T,c)=>T in N?cn(N,T,{enumerable:!0,configurable:!0,writable:!0,value:c}):N[T]=c;var Le=(N,T,c)=>un(N,typeof T!="symbol"?T+"":T,c);import{a as oe,f as me,d as Rt,b as xt,t as He,c as ht}from"../chunks/18TZju1H.js";import{a as It,o as Gt}from"../chunks/Bas80-m6.js";import{p as vt,g as C,i as Te,u as Ge,c as se,r as re,a as mt,b as Ue,s as ve,n as Ve,t as je,h as Ae,f as Be,a2 as fn,bq as pn,Y as hn,d as Ft}from"../chunks/d-TWvvCu.js";import{s as Re}from"../chunks/CynZnIyI.js";import{i as Ce}from"../chunks/C3xZmy9H.js";import{k as dn,M as vn}from"../chunks/BbgtW0nn.js";import{e as ot,i as Ct}from"../chunks/BjbsXXMP.js";import{s as mn}from"../chunks/Ps08lWnD.js";import{r as qt,d as gn}from"../chunks/CaligHlp.js";import{s as yn}from"../chunks/hS1PAb5I.js";import{a as _n}from"../chunks/B2CB3tIy.js";import{P as dt,g as zt,s as wn}from"../chunks/DHHC89bH.js";import{B as wt}from"../chunks/Cx0HrUMB.js";import{d as Bt,e as xn,f as bn,g as En,D as kn}from"../chunks/BFZvm_aX.js";import{I as On}from"../chunks/M-7sJE5g.js";import{T as Nt,a as it}from"../chunks/CV_MnPl-.js";import{p as Tt,l as Sn,C as Ln,P as Mt}from"../chunks/8AHOieX7.js";import{r as Tn,g as pt}from"../chunks/CIXWWiNs.js";import{p as Qe}from"../chunks/CAOT34jI.js";import{t as st}from"../chunks/BQorBhFb.js";import{_ as Qt}from"../chunks/C1FmrZbK.js";import{b as Yt}from"../chunks/5qVV3FOd.js";import{e as Jt,a as Xt,c as An}from"../chunks/BU7aeYn4.js";import{p as At}from"../chunks/0a4GbU-O.js";import{A as Cn}from"../chunks/BoYwKlhd.js";import{g as Nn}from"../chunks/wZR3OpgZ.js";import"../chunks/CQd8uuj9.js";import{i as Pn}from"../chunks/CGS76TsG.js";import{c as Kt,a as Rn}from"../chunks/DVqtH_YB.js";var In=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Fn(N){return N&&N.__esModule&&Object.prototype.hasOwnProperty.call(N,"default")?N.default:N}const Bn=globalThis.__sveltekit_8aew3f.env;class Mn{constructor(T){Le(this,"ws",null);Le(this,"openHandler",null);Le(this,"closeHandler",null);Le(this,"errorHandler",null);Le(this,"messageHandler",null);Le(this,"retries",0);Le(this,"maxRetries",5);Le(this,"retryDelay",500);Le(this,"retryTimeout",null);Le(this,"isOpen",!1);Le(this,"isDestroyed",!1);Le(this,"agentsLoaded",!1);Le(this,"init",()=>{if(!this.isOpen){this.agentsLoaded=!1,console.log(`Initializing websocket connection with [${this.wsUrl}]`);try{this.ws=new WebSocket(this.wsUrl)}catch{this.retryConnect();return}this.isDestroyed=!1,this.ws.onmessage=T=>{var E,_,d,x,l,n,y,S;const c=JSON.parse(T.data);c.channel==="error"?(E=this.errorHandler)==null||E.call(this,c.message):c.channel==="app-events"?(console.log("MSG:",c.event.type),c.event.type==="agents-loaded"&&(this.agentsLoaded=!0)):c.channel==="log"?console.log(`MSG: log [${c.message.severity}]`,c.message.message):c.channel==="api-call-trace"?console.log("MSG: api-call-trace",(_=c.trace)==null?void 0:_.operationName,(d=c.trace)==null?void 0:d.method,(x=c.trace)==null?void 0:x.path):c.channel==="conversational-trace"&&console.log("MSG: conversational-trace",(l=c.trace)==null?void 0:l.eventName,(n=c.trace)==null?void 0:n.role,(y=c.trace)==null?void 0:y.medium),(S=this.messageHandler)==null||S.call(this,c)},this.ws.onerror=T=>{var c;console.error("Websocket error:",T),(c=this.ws)==null||c.close(),this.retryConnect()},this.ws.onclose=()=>{console.log("Websocket closed"),this.isOpen=!1,this.retryConnect()},this.ws.onopen=()=>{var T;this.retries=0,this.isOpen=!0,this.retryTimeout&&clearTimeout(this.retryTimeout),(T=this.openHandler)==null||T.call(this),console.log("Websocket connected")}}});Le(this,"destroy",()=>{var T;this.isDestroyed=!0,(T=this.ws)==null||T.close()});Le(this,"onOpen",T=>{this.openHandler=T,this.isOpen&&T()});Le(this,"onClose",T=>{this.closeHandler=T,this.isOpen||T()});Le(this,"onError",T=>{this.errorHandler=T});Le(this,"onMessage",T=>{this.messageHandler=T});Le(this,"sendMessage",T=>{var c;T.channel,(c=this.ws)==null||c.send(JSON.stringify(T))});Le(this,"isReady",()=>this.isOpen&&this.agentsLoaded);Le(this,"retryConnect",()=>{var T,c;this.isDestroyed||(!this.isOpen&&this.retries<this.maxRetries?(this.retries++,this.init(),this.retryTimeout=setTimeout(this.retryConnect,this.retryDelay)):((T=this.errorHandler)==null||T.call(this,"WebSocket Error, please reload the browser"),(c=this.closeHandler)==null||c.call(this)))});this.wsUrl=T}}const Kn=Bn.PUBLIC_WS_HOST??"ws://localhost:8080",rt=new Mn(Kn);var jn=me('<div class="flex h-full flex-col"><div class="h-full w-full"></div></div>');function Dn(N,T){vt(T,!0);let c=Ue(null),E=null,_=[],d=!1,x;It(async()=>{if(!x)return;Jt();const l=await Qt(()=>import("../chunks/DLQqXQ6R.js").then(n=>n.e),__vite__mapDeps([0,1,2]),import.meta.url);d||(Xt(l),Te(c,l.editor.create(x,{value:T.schema??"",language:"typescript",theme:"bosun-dark",lineNumbers:"off",automaticLayout:!0,minimap:{enabled:!1},matchBrackets:"never",bracketPairColorization:{enabled:!1},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},occurrencesHighlight:"off",selectionHighlight:!1,unicodeHighlight:{ambiguousCharacters:!1,nonBasicASCII:!1,invisibleCharacters:!1,includeStrings:!1,includeComments:!1},autoClosingQuotes:"never"}),!0),E=C(c).getModel(),_.push(C(c).onDidChangeModelContent(()=>{if(!C(c))return;const n=C(c).getValue();n!==T.schema&&T.onChange(n)})))}),Gt(()=>{d=!0;for(const n of _)try{n.dispose()}catch{}_=[];const l=E;E=null;try{if(C(c)){try{C(c).setModel(null)}catch{}C(c).dispose()}}finally{Te(c,null)}try{l==null||l.dispose()}catch{}}),Ge(()=>{if(!C(c))return;const l=T.schema??"";C(c).getValue()!==l&&C(c).setValue(l)}),dt(N,{get class(){return`overflow-hidden ${T.class??""}`},children:(l,n)=>{var y=jn(),S=se(y);Yt(S,V=>x=V,()=>x),re(y),oe(l,y)}}),mt()}function Vn(N,T){return N.languages.registerCompletionItemProvider("markdown",{triggerCharacters:[" ","."],provideCompletionItems:(c,E)=>{const _=c.getValueInRange({startLineNumber:E.lineNumber,startColumn:1,endLineNumber:E.lineNumber,endColumn:E.column}),d=_.match(/\{%\s*(if|elif|for)\s+([^%]*)$/),x=_.match(/\{\{\s*([^}]*)$/);if(d||x){let n="";d?n=d[2].trim():x&&(n=x[1].trim());const{keys:y,lastPartLength:S}=Un(T,n);return{suggestions:y.map(D=>({label:D,kind:N.languages.CompletionItemKind.Variable,insertText:D,range:{startLineNumber:E.lineNumber,endLineNumber:E.lineNumber,startColumn:E.column-S,endColumn:E.column}}))}}const l=_.match(/\{%\s*([^%]*)$/);if(l){const n=l[1].trim();return{suggestions:Pt(["if","elif","else","endif","for","endfor"],n).map((S,V)=>({label:S,kind:N.languages.CompletionItemKind.Keyword,insertText:S,sortText:String(V).padStart(2,"0"),range:{startLineNumber:E.lineNumber,endLineNumber:E.lineNumber,startColumn:E.column-n.length,endColumn:E.column}}))}}return{suggestions:[]}}})}function Un(N,T){let c=N,E=[],_=0;if(T==="")E=Object.keys(N??{}),_=0;else if(T.includes(".")){const d=T.split("."),x=d.pop()||"";_=x.length;for(const l of d)if(c&&typeof c=="object"&&l in c)c=c[l];else{c=null;break}c&&typeof c=="object"&&(E=Pt(Object.keys(c),x))}else _=T.length,E=Pt(Object.keys(N??{}),T);return{keys:E,lastPartLength:_}}function Pt(N,T){return T?N.map((c,E)=>({value:c,index:E,match:Wn(c,T)})).filter(c=>c.match!==null).sort((c,E)=>c.match.kindRank!==E.match.kindRank?c.match.kindRank-E.match.kindRank:c.match.span!==E.match.span?c.match.span-E.match.span:c.match.gapCount!==E.match.gapCount?c.match.gapCount-E.match.gapCount:c.match.start!==E.match.start?c.match.start-E.match.start:c.index-E.index).map(c=>c.value):N}function Wn(N,T){const c=N.toLowerCase(),E=T.toLowerCase();if(!E)return null;if(c.startsWith(E))return{kindRank:0,start:0,span:E.length,gapCount:0};const _=c.indexOf(E);if(_!==-1)return{kindRank:qn(N,_,E.length),start:_,span:E.length,gapCount:0};const d=$n(c,E);return d?{kindRank:4,start:d.start,span:d.span,gapCount:d.gapCount}:null}function $n(N,T){if(!N||!T)return null;let c=null,E=0;for(;E<N.length;){let _=E,d=0;for(;_<N.length&&d<T.length;)N[_]===T[d]&&(d+=1),_+=1;if(d!==T.length)break;const x=new Array(T.length);let l=_-1;for(let S=T.length-1;S>=0;S--){for(;l>=0&&N[l]!==T[S];)l-=1;if(l<0)return c;x[S]=l,l-=1}let n=0;for(let S=1;S<x.length;S++)n+=x[S]-x[S-1]-1;const y={start:x[0],span:x[x.length-1]-x[0]+1,gapCount:n};(!c||y.span<c.span||y.span===c.span&&y.gapCount<c.gapCount||y.span===c.span&&y.gapCount===c.gapCount&&y.start<c.start)&&(c=y),E=x[0]+1}return c}function Hn(N,T){return T<=0?!0:/[\s._-]/.test(N[T-1]??"")}function Gn(N,T){return T>=N.length?!0:/[\s._-]/.test(N[T]??"")}function qn(N,T,c){const E=Hn(N,T),_=Gn(N,T+c);return E&&_?1:E?2:3}const zn=/^(#{1,6})\s/,Qn=/^\s*\{%\s*(if|elif|elseif|else|endif|for|endfor)\b/,Yn={provideFoldingRanges(N){return Xn(N)}},Jn={provideFoldingRanges(N){return Zn(N)}};function Xn(N){const T=[],c=N.getLineCount(),E=[];for(let _=1;_<=c;_++){const d=zn.exec(N.getLineContent(_));d&&E.push({line:_,level:d[1].length})}for(let _=0;_<E.length;_++){const{line:d,level:x}=E[_];let l=c;for(let n=_+1;n<E.length;n++)if(E[n].level<=x){l=E[n].line-1;break}l=Zt(N,d,l),l>d&&T.push({start:d,end:l})}return T}function Zn(N){const T=[],c=[],E=N.getLineCount();for(let _=1;_<=E;_++){const d=Qn.exec(N.getLineContent(_));if(!d)continue;const x=d[1];if(x==="if"){c.push({kind:"if",branchStarts:[_],startLine:_});continue}if(x==="for"){c.push({kind:"for",branchStarts:[_],startLine:_});continue}if(x==="elif"||x==="elseif"||x==="else"){const l=er(c,"if");if(!l)continue;_t(T,N,l.branchStarts.at(-1)??l.startLine,_-1),l.branchStarts.push(_);continue}if(x==="endif"){const l=jt(c,"if");if(!l)continue;_t(T,N,l.branchStarts.at(-1)??l.startLine,_-1);continue}if(x==="endfor"){const l=jt(c,"for");if(!l)continue;_t(T,N,l.startLine,_-1)}}for(const _ of c){const d=_.kind==="if"?_.branchStarts.at(-1)??_.startLine:_.startLine;_t(T,N,d,E)}return T}function er(N,T){for(let c=N.length-1;c>=0;c--)if(N[c].kind===T)return N[c];return null}function jt(N,T){for(let c=N.length-1;c>=0;c--)if(N[c].kind===T)return N.splice(c,1)[0];return null}function _t(N,T,c,E){const _=Zt(T,c,E);_>c&&N.push({start:c,end:_})}function Zt(N,T,c){let E=c;for(;E>T&&N.getLineContent(E).trim()==="";)E-=1;return E}const tr=/\{%[-\s]*(if|elif|elseif|else|endif|for|endfor)\b/,nr={provideDocumentHighlights(N,T){const c=ir(N),E=T.lineNumber,_=T.column;for(const d of c)for(const x of d)if(x.line===E&&_>=x.startColumn&&_<=x.endColumn)return d.map(l=>({range:{startLineNumber:l.line,startColumn:l.startColumn,endLineNumber:l.line,endColumn:l.endColumn},kind:1}));return[]}};function rr(N,T){const c=N.getLineContent(T),E=tr.exec(c);if(!E)return null;const _=E[1],d=E.index+E[0].length-_.length;return{line:T,startColumn:d+1,endColumn:d+_.length+1,keyword:_}}function ir(N){const T=[],c=N.getLineCount(),E=[];for(let _=1;_<=c;_++){const d=rr(N,_);if(!d)continue;const x=d.keyword;if(x==="if"){E.push({kind:"if",tags:[d]});continue}if(x==="for"){E.push({kind:"for",tags:[d]});continue}if(x==="elif"||x==="elseif"||x==="else"){const l=or(E,"if");l&&l.tags.push(d);continue}if(x==="endif"){const l=Dt(E,"if");l&&(l.tags.push(d),T.push(l.tags));continue}if(x==="endfor"){const l=Dt(E,"for");l&&(l.tags.push(d),T.push(l.tags))}}return T}function or(N,T){for(let c=N.length-1;c>=0;c--)if(N[c].kind===T)return N[c];return null}function Dt(N,T){for(let c=N.length-1;c>=0;c--)if(N[c].kind===T)return N.splice(c,1)[0];return null}var en={exports:{}};/*! Browser bundle of nunjucks 3.2.4 */(function(N,T){(function(E,_){N.exports=_()})(typeof self<"u"?self:In,function(){return function(c){var E={};function _(d){if(E[d])return E[d].exports;var x=E[d]={i:d,l:!1,exports:{}};return c[d].call(x.exports,x,x.exports,_),x.l=!0,x.exports}return _.m=c,_.c=E,_.d=function(d,x,l){_.o(d,x)||Object.defineProperty(d,x,{configurable:!1,enumerable:!0,get:l})},_.n=function(d){var x=d&&d.__esModule?function(){return d.default}:function(){return d};return _.d(x,"a",x),x},_.o=function(d,x){return Object.prototype.hasOwnProperty.call(d,x)},_.p="",_(_.s=11)}([function(c,y,_){var d=Array.prototype,x=Object.prototype,l={"&":"&amp;",'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","\\":"&#92;"},n=/[&"'<>\\]/g,y=c.exports={};function S(p,k){return x.hasOwnProperty.call(p,k)}y.hasOwnProp=S;function V(p){return l[p]}function D(p,k,K){if(K.Update||(K=new y.TemplateError(K)),K.Update(p),!k){var P=K;K=new Error(P.message),K.name=P.name}return K}y._prettifyError=D;function B(p,k,K){var P,$;p instanceof Error&&($=p,p=$.name+": "+$.message),Object.setPrototypeOf?(P=new Error(p),Object.setPrototypeOf(P,B.prototype)):(P=this,Object.defineProperty(P,"message",{enumerable:!1,writable:!0,value:p})),Object.defineProperty(P,"name",{value:"Template render error"}),Error.captureStackTrace&&Error.captureStackTrace(P,this.constructor);var te;if($){var X=Object.getOwnPropertyDescriptor($,"stack");te=X&&(X.get||function(){return X.value}),te||(te=function(){return $.stack})}else{var ue=new Error(p).stack;te=function(){return ue}}return Object.defineProperty(P,"stack",{get:function(){return te.call(P)}}),Object.defineProperty(P,"cause",{value:$}),P.lineno=k,P.colno=K,P.firstUpdate=!0,P.Update=function(J){var Z="("+(J||"unknown path")+")";return this.firstUpdate&&(this.lineno&&this.colno?Z+=" [Line "+this.lineno+", Column "+this.colno+"]":this.lineno&&(Z+=" [Line "+this.lineno+"]")),Z+=`
2
+ var un=Object.defineProperty;var fn=(N,T,c)=>T in N?un(N,T,{enumerable:!0,configurable:!0,writable:!0,value:c}):N[T]=c;var Le=(N,T,c)=>fn(N,typeof T!="symbol"?T+"":T,c);import{a as oe,f as me,d as It,b as xt,t as He,c as ht}from"../chunks/C4SnSfql.js";import{o as Ft,a as qt}from"../chunks/C-whEtKd.js";import{p as vt,j as C,w as Te,d as Ge,c as se,r as re,a as mt,q as Ue,s as ve,o as Ve,t as je,n as Ae,f as Be,a2 as pn,bq as hn,Y as dn,v as Bt}from"../chunks/Dv8m1cTI.js";import{s as Re}from"../chunks/_yZg6Sf-.js";import{i as Ce}from"../chunks/CXo2BVs0.js";import{k as vn,M as mn}from"../chunks/-g1l5aoS.js";import{e as ot,i as Nt}from"../chunks/D8e7SQh9.js";import{s as gn}from"../chunks/D4obUD_s.js";import{r as zt,e as yn}from"../chunks/ks45gSgq.js";import{s as _n}from"../chunks/DYhTBLDc.js";import{a as wn}from"../chunks/BM0jKynj.js";import{P as dt,g as Qt,s as xn}from"../chunks/C1WqE8CP.js";import{B as wt}from"../chunks/DTlGvFHe.js";import{d as Mt,e as bn,f as En,g as kn,D as On}from"../chunks/D-puyTnN.js";import{I as Sn}from"../chunks/AocOovHL.js";import{T as Pt,a as it}from"../chunks/CSv1VDXg.js";import{p as Tt,l as Ln,C as Tn,P as Kt}from"../chunks/CZLNSMhF.js";import{r as An,g as pt}from"../chunks/BR5f5i_E.js";import{p as Qe}from"../chunks/UiXQyKcj.js";import{e as At,t as st}from"../chunks/BL8rPcmP.js";import{_ as Yt}from"../chunks/C1FmrZbK.js";import{b as Jt}from"../chunks/B0iEglSe.js";import{e as Xt,a as Zt,c as Cn}from"../chunks/BU7aeYn4.js";import{p as Ct}from"../chunks/HJHYLHDn.js";import{A as Nn}from"../chunks/CxLG58rb.js";import{g as Pn}from"../chunks/BTvePR6r.js";import"../chunks/7qRqthsa.js";import{i as Rn}from"../chunks/CqxCTxvJ.js";import{c as jt,a as In}from"../chunks/Dv0gjm25.js";var Fn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Bn(N){return N&&N.__esModule&&Object.prototype.hasOwnProperty.call(N,"default")?N.default:N}class Mn{constructor(T){Le(this,"ws",null);Le(this,"openHandler",null);Le(this,"closeHandler",null);Le(this,"errorHandler",null);Le(this,"messageHandler",null);Le(this,"retries",0);Le(this,"maxRetries",5);Le(this,"retryDelay",500);Le(this,"retryTimeout",null);Le(this,"isOpen",!1);Le(this,"isDestroyed",!1);Le(this,"agentsLoaded",!1);Le(this,"init",()=>{if(!this.isOpen){this.agentsLoaded=!1,console.log(`Initializing websocket connection with [${this.wsUrl}]`);try{this.ws=new WebSocket(this.wsUrl)}catch{this.retryConnect();return}this.isDestroyed=!1,this.ws.onmessage=T=>{var E,_,d,x,l,n,y,S;const c=JSON.parse(T.data);c.channel==="error"?(E=this.errorHandler)==null||E.call(this,c.message):c.channel==="app-events"?(console.log("MSG:",c.event.type),c.event.type==="agents-loaded"&&(this.agentsLoaded=!0)):c.channel==="log"?console.log(`MSG: log [${c.message.severity}]`,c.message.message):c.channel==="api-call-trace"?console.log("MSG: api-call-trace",(_=c.trace)==null?void 0:_.operationName,(d=c.trace)==null?void 0:d.method,(x=c.trace)==null?void 0:x.path):c.channel==="conversational-trace"&&console.log("MSG: conversational-trace",(l=c.trace)==null?void 0:l.eventName,(n=c.trace)==null?void 0:n.role,(y=c.trace)==null?void 0:y.medium),(S=this.messageHandler)==null||S.call(this,c)},this.ws.onerror=T=>{var c;console.error("Websocket error:",T),(c=this.ws)==null||c.close(),this.retryConnect()},this.ws.onclose=()=>{console.log("Websocket closed"),this.isOpen=!1,this.retryConnect()},this.ws.onopen=()=>{var T;this.retries=0,this.isOpen=!0,this.retryTimeout&&clearTimeout(this.retryTimeout),(T=this.openHandler)==null||T.call(this),console.log("Websocket connected")}}});Le(this,"destroy",()=>{var T;this.isDestroyed=!0,(T=this.ws)==null||T.close()});Le(this,"onOpen",T=>{this.openHandler=T,this.isOpen&&T()});Le(this,"onClose",T=>{this.closeHandler=T,this.isOpen||T()});Le(this,"onError",T=>{this.errorHandler=T});Le(this,"onMessage",T=>{this.messageHandler=T});Le(this,"sendMessage",T=>{var c;T.channel,(c=this.ws)==null||c.send(JSON.stringify(T))});Le(this,"isReady",()=>this.isOpen&&this.agentsLoaded);Le(this,"retryConnect",()=>{var T,c;this.isDestroyed||(!this.isOpen&&this.retries<this.maxRetries?(this.retries++,this.init(),this.retryTimeout=setTimeout(this.retryConnect,this.retryDelay)):((T=this.errorHandler)==null||T.call(this,"WebSocket Error, please reload the browser"),(c=this.closeHandler)==null||c.call(this)))});this.wsUrl=T}}const Kn=At.PUBLIC_WS_HOST??`ws://${At.PUBLIC_WS_HOSTNAME??"localhost"}:${At.PUBLIC_WS_PORT??"8080"}`,rt=new Mn(Kn);var jn=me('<div class="flex h-full flex-col"><div class="h-full w-full"></div></div>');function Dn(N,T){vt(T,!0);let c=Ue(null),E=null,_=[],d=!1,x;Ft(async()=>{if(!x)return;Xt();const l=await Yt(()=>import("../chunks/DLQqXQ6R.js").then(n=>n.e),__vite__mapDeps([0,1,2]),import.meta.url);d||(Zt(l),Te(c,l.editor.create(x,{value:T.schema??"",language:"typescript",theme:"bosun-dark",lineNumbers:"off",automaticLayout:!0,minimap:{enabled:!1},matchBrackets:"never",bracketPairColorization:{enabled:!1},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},occurrencesHighlight:"off",selectionHighlight:!1,unicodeHighlight:{ambiguousCharacters:!1,nonBasicASCII:!1,invisibleCharacters:!1,includeStrings:!1,includeComments:!1},autoClosingQuotes:"never"}),!0),E=C(c).getModel(),_.push(C(c).onDidChangeModelContent(()=>{if(!C(c))return;const n=C(c).getValue();n!==T.schema&&T.onChange(n)})))}),qt(()=>{d=!0;for(const n of _)try{n.dispose()}catch{}_=[];const l=E;E=null;try{if(C(c)){try{C(c).setModel(null)}catch{}C(c).dispose()}}finally{Te(c,null)}try{l==null||l.dispose()}catch{}}),Ge(()=>{if(!C(c))return;const l=T.schema??"";C(c).getValue()!==l&&C(c).setValue(l)}),dt(N,{get class(){return`overflow-hidden ${T.class??""}`},children:(l,n)=>{var y=jn(),S=se(y);Jt(S,V=>x=V,()=>x),re(y),oe(l,y)}}),mt()}function Vn(N,T){return N.languages.registerCompletionItemProvider("markdown",{triggerCharacters:[" ","."],provideCompletionItems:(c,E)=>{const _=c.getValueInRange({startLineNumber:E.lineNumber,startColumn:1,endLineNumber:E.lineNumber,endColumn:E.column}),d=_.match(/\{%\s*(if|elif|for)\s+([^%]*)$/),x=_.match(/\{\{\s*([^}]*)$/);if(d||x){let n="";d?n=d[2].trim():x&&(n=x[1].trim());const{keys:y,lastPartLength:S}=Un(T,n);return{suggestions:y.map(D=>({label:D,kind:N.languages.CompletionItemKind.Variable,insertText:D,range:{startLineNumber:E.lineNumber,endLineNumber:E.lineNumber,startColumn:E.column-S,endColumn:E.column}}))}}const l=_.match(/\{%\s*([^%]*)$/);if(l){const n=l[1].trim();return{suggestions:Rt(["if","elif","else","endif","for","endfor"],n).map((S,V)=>({label:S,kind:N.languages.CompletionItemKind.Keyword,insertText:S,sortText:String(V).padStart(2,"0"),range:{startLineNumber:E.lineNumber,endLineNumber:E.lineNumber,startColumn:E.column-n.length,endColumn:E.column}}))}}return{suggestions:[]}}})}function Un(N,T){let c=N,E=[],_=0;if(T==="")E=Object.keys(N??{}),_=0;else if(T.includes(".")){const d=T.split("."),x=d.pop()||"";_=x.length;for(const l of d)if(c&&typeof c=="object"&&l in c)c=c[l];else{c=null;break}c&&typeof c=="object"&&(E=Rt(Object.keys(c),x))}else _=T.length,E=Rt(Object.keys(N??{}),T);return{keys:E,lastPartLength:_}}function Rt(N,T){return T?N.map((c,E)=>({value:c,index:E,match:Wn(c,T)})).filter(c=>c.match!==null).sort((c,E)=>c.match.kindRank!==E.match.kindRank?c.match.kindRank-E.match.kindRank:c.match.span!==E.match.span?c.match.span-E.match.span:c.match.gapCount!==E.match.gapCount?c.match.gapCount-E.match.gapCount:c.match.start!==E.match.start?c.match.start-E.match.start:c.index-E.index).map(c=>c.value):N}function Wn(N,T){const c=N.toLowerCase(),E=T.toLowerCase();if(!E)return null;if(c.startsWith(E))return{kindRank:0,start:0,span:E.length,gapCount:0};const _=c.indexOf(E);if(_!==-1)return{kindRank:qn(N,_,E.length),start:_,span:E.length,gapCount:0};const d=$n(c,E);return d?{kindRank:4,start:d.start,span:d.span,gapCount:d.gapCount}:null}function $n(N,T){if(!N||!T)return null;let c=null,E=0;for(;E<N.length;){let _=E,d=0;for(;_<N.length&&d<T.length;)N[_]===T[d]&&(d+=1),_+=1;if(d!==T.length)break;const x=new Array(T.length);let l=_-1;for(let S=T.length-1;S>=0;S--){for(;l>=0&&N[l]!==T[S];)l-=1;if(l<0)return c;x[S]=l,l-=1}let n=0;for(let S=1;S<x.length;S++)n+=x[S]-x[S-1]-1;const y={start:x[0],span:x[x.length-1]-x[0]+1,gapCount:n};(!c||y.span<c.span||y.span===c.span&&y.gapCount<c.gapCount||y.span===c.span&&y.gapCount===c.gapCount&&y.start<c.start)&&(c=y),E=x[0]+1}return c}function Hn(N,T){return T<=0?!0:/[\s._-]/.test(N[T-1]??"")}function Gn(N,T){return T>=N.length?!0:/[\s._-]/.test(N[T]??"")}function qn(N,T,c){const E=Hn(N,T),_=Gn(N,T+c);return E&&_?1:E?2:3}const zn=/^(#{1,6})\s/,Qn=/^\s*\{%\s*(if|elif|elseif|else|endif|for|endfor)\b/,Yn={provideFoldingRanges(N){return Xn(N)}},Jn={provideFoldingRanges(N){return Zn(N)}};function Xn(N){const T=[],c=N.getLineCount(),E=[];for(let _=1;_<=c;_++){const d=zn.exec(N.getLineContent(_));d&&E.push({line:_,level:d[1].length})}for(let _=0;_<E.length;_++){const{line:d,level:x}=E[_];let l=c;for(let n=_+1;n<E.length;n++)if(E[n].level<=x){l=E[n].line-1;break}l=en(N,d,l),l>d&&T.push({start:d,end:l})}return T}function Zn(N){const T=[],c=[],E=N.getLineCount();for(let _=1;_<=E;_++){const d=Qn.exec(N.getLineContent(_));if(!d)continue;const x=d[1];if(x==="if"){c.push({kind:"if",branchStarts:[_],startLine:_});continue}if(x==="for"){c.push({kind:"for",branchStarts:[_],startLine:_});continue}if(x==="elif"||x==="elseif"||x==="else"){const l=er(c,"if");if(!l)continue;_t(T,N,l.branchStarts.at(-1)??l.startLine,_-1),l.branchStarts.push(_);continue}if(x==="endif"){const l=Dt(c,"if");if(!l)continue;_t(T,N,l.branchStarts.at(-1)??l.startLine,_-1);continue}if(x==="endfor"){const l=Dt(c,"for");if(!l)continue;_t(T,N,l.startLine,_-1)}}for(const _ of c){const d=_.kind==="if"?_.branchStarts.at(-1)??_.startLine:_.startLine;_t(T,N,d,E)}return T}function er(N,T){for(let c=N.length-1;c>=0;c--)if(N[c].kind===T)return N[c];return null}function Dt(N,T){for(let c=N.length-1;c>=0;c--)if(N[c].kind===T)return N.splice(c,1)[0];return null}function _t(N,T,c,E){const _=en(T,c,E);_>c&&N.push({start:c,end:_})}function en(N,T,c){let E=c;for(;E>T&&N.getLineContent(E).trim()==="";)E-=1;return E}const tr=/\{%[-\s]*(if|elif|elseif|else|endif|for|endfor)\b/,nr={provideDocumentHighlights(N,T){const c=ir(N),E=T.lineNumber,_=T.column;for(const d of c)for(const x of d)if(x.line===E&&_>=x.startColumn&&_<=x.endColumn)return d.map(l=>({range:{startLineNumber:l.line,startColumn:l.startColumn,endLineNumber:l.line,endColumn:l.endColumn},kind:1}));return[]}};function rr(N,T){const c=N.getLineContent(T),E=tr.exec(c);if(!E)return null;const _=E[1],d=E.index+E[0].length-_.length;return{line:T,startColumn:d+1,endColumn:d+_.length+1,keyword:_}}function ir(N){const T=[],c=N.getLineCount(),E=[];for(let _=1;_<=c;_++){const d=rr(N,_);if(!d)continue;const x=d.keyword;if(x==="if"){E.push({kind:"if",tags:[d]});continue}if(x==="for"){E.push({kind:"for",tags:[d]});continue}if(x==="elif"||x==="elseif"||x==="else"){const l=or(E,"if");l&&l.tags.push(d);continue}if(x==="endif"){const l=Vt(E,"if");l&&(l.tags.push(d),T.push(l.tags));continue}if(x==="endfor"){const l=Vt(E,"for");l&&(l.tags.push(d),T.push(l.tags))}}return T}function or(N,T){for(let c=N.length-1;c>=0;c--)if(N[c].kind===T)return N[c];return null}function Vt(N,T){for(let c=N.length-1;c>=0;c--)if(N[c].kind===T)return N.splice(c,1)[0];return null}var tn={exports:{}};/*! Browser bundle of nunjucks 3.2.4 */(function(N,T){(function(E,_){N.exports=_()})(typeof self<"u"?self:Fn,function(){return function(c){var E={};function _(d){if(E[d])return E[d].exports;var x=E[d]={i:d,l:!1,exports:{}};return c[d].call(x.exports,x,x.exports,_),x.l=!0,x.exports}return _.m=c,_.c=E,_.d=function(d,x,l){_.o(d,x)||Object.defineProperty(d,x,{configurable:!1,enumerable:!0,get:l})},_.n=function(d){var x=d&&d.__esModule?function(){return d.default}:function(){return d};return _.d(x,"a",x),x},_.o=function(d,x){return Object.prototype.hasOwnProperty.call(d,x)},_.p="",_(_.s=11)}([function(c,y,_){var d=Array.prototype,x=Object.prototype,l={"&":"&amp;",'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;","\\":"&#92;"},n=/[&"'<>\\]/g,y=c.exports={};function S(p,k){return x.hasOwnProperty.call(p,k)}y.hasOwnProp=S;function V(p){return l[p]}function D(p,k,K){if(K.Update||(K=new y.TemplateError(K)),K.Update(p),!k){var P=K;K=new Error(P.message),K.name=P.name}return K}y._prettifyError=D;function B(p,k,K){var P,$;p instanceof Error&&($=p,p=$.name+": "+$.message),Object.setPrototypeOf?(P=new Error(p),Object.setPrototypeOf(P,B.prototype)):(P=this,Object.defineProperty(P,"message",{enumerable:!1,writable:!0,value:p})),Object.defineProperty(P,"name",{value:"Template render error"}),Error.captureStackTrace&&Error.captureStackTrace(P,this.constructor);var te;if($){var X=Object.getOwnPropertyDescriptor($,"stack");te=X&&(X.get||function(){return X.value}),te||(te=function(){return $.stack})}else{var ue=new Error(p).stack;te=function(){return ue}}return Object.defineProperty(P,"stack",{get:function(){return te.call(P)}}),Object.defineProperty(P,"cause",{value:$}),P.lineno=k,P.colno=K,P.firstUpdate=!0,P.Update=function(J){var Z="("+(J||"unknown path")+")";return this.firstUpdate&&(this.lineno&&this.colno?Z+=" [Line "+this.lineno+", Column "+this.colno+"]":this.lineno&&(Z+=" [Line "+this.lineno+"]")),Z+=`
3
3
  `,this.firstUpdate&&(Z+=" "),this.message=Z+(this.message||""),this.firstUpdate=!1,this},P}Object.setPrototypeOf?Object.setPrototypeOf(B.prototype,Error.prototype):B.prototype=Object.create(Error.prototype,{constructor:{value:B}}),y.TemplateError=B;function O(p){return p.replace(n,V)}y.escape=O;function R(p){return x.toString.call(p)==="[object Function]"}y.isFunction=R;function e(p){return x.toString.call(p)==="[object Array]"}y.isArray=e;function r(p){return x.toString.call(p)==="[object String]"}y.isString=r;function i(p){return x.toString.call(p)==="[object Object]"}y.isObject=i;function m(p){return p?typeof p=="string"?p.split("."):[p]:[]}function f(p){var k=m(p);return function(P){for(var $=P,te=0;te<k.length;te++){var X=k[te];if(S($,X))$=$[X];else return}return $}}y.getAttrGetter=f;function g(p,k,K){for(var P={},$=R(k)?k:f(k),te=0;te<p.length;te++){var X=p[te],ue=$(X,te);if(ue===void 0&&K===!0)throw new TypeError('groupby: attribute "'+k+'" resolved to undefined');(P[ue]||(P[ue]=[])).push(X)}return P}y.groupBy=g;function t(p){return Array.prototype.slice.call(p)}y.toArray=t;function a(p){var k=[];if(!p)return k;for(var K=p.length,P=t(arguments).slice(1),$=-1;++$<K;)L(P,p[$])===-1&&k.push(p[$]);return k}y.without=a;function u(p,k){for(var K="",P=0;P<k;P++)K+=p;return K}y.repeat=u;function o(p,k,K){if(p!=null){if(d.forEach&&p.forEach===d.forEach)p.forEach(k,K);else if(p.length===+p.length)for(var P=0,$=p.length;P<$;P++)k.call(K,p[P],P,p)}}y.each=o;function s(p,k){var K=[];if(p==null)return K;if(d.map&&p.map===d.map)return p.map(k);for(var P=0;P<p.length;P++)K[K.length]=k(p[P],P);return p.length===+p.length&&(K.length=p.length),K}y.map=s;function h(p,k,K){var P=-1;function $(){P++,P<p.length?k(p[P],P,$,K):K()}$()}y.asyncIter=h;function v(p,k,K){var P=F(p||{}),$=P.length,te=-1;function X(){te++;var ue=P[te];te<$?k(ue,p[ue],te,$,X):K()}X()}y.asyncFor=v;function L(p,k,K){return Array.prototype.indexOf.call(p||[],k,K)}y.indexOf=L;function F(p){var k=[];for(var K in p)S(p,K)&&k.push(K);return k}y.keys=F;function I(p){return F(p).map(function(k){return[k,p[k]]})}y._entries=I;function M(p){return F(p).map(function(k){return p[k]})}y._values=M;function U(p,k){return p=p||{},F(k).forEach(function(K){p[K]=k[K]}),p}y._assign=y.extend=U;function w(p,k){if(e(k)||r(k))return k.indexOf(p)!==-1;if(i(k))return p in k;throw new Error('Cannot use "in" operator to search for "'+p+'" in unexpected types.')}y.inOperator=w},function(c,E,_){function d(r,i){for(var m=0;m<i.length;m++){var f=i[m];f.enumerable=f.enumerable||!1,f.configurable=!0,"value"in f&&(f.writable=!0),Object.defineProperty(r,l(f.key),f)}}function x(r,i,m){return i&&d(r.prototype,i),Object.defineProperty(r,"prototype",{writable:!1}),r}function l(r){var i=n(r,"string");return typeof i=="symbol"?i:String(i)}function n(r,i){if(typeof r!="object"||r===null)return r;var m=r[Symbol.toPrimitive];if(m!==void 0){var f=m.call(r,i);if(typeof f!="object")return f;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}function y(r,i){r.prototype=Object.create(i.prototype),r.prototype.constructor=r,S(r,i)}function S(r,i){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(f,g){return f.__proto__=g,f},S(r,i)}var V=_(16),D=_(0);function B(r,i){return typeof r!="function"||typeof i!="function"?i:function(){var f=this.parent;this.parent=r;var g=i.apply(this,arguments);return this.parent=f,g}}function O(r,i,m){m=m||{},D.keys(m).forEach(function(g){m[g]=B(r.prototype[g],m[g])});var f=function(g){y(t,g);function t(){return g.apply(this,arguments)||this}return x(t,[{key:"typename",get:function(){return i}}]),t}(r);return D._assign(f.prototype,m),f}var R=function(){function r(){this.init.apply(this,arguments)}var i=r.prototype;return i.init=function(){},r.extend=function(f,g){return typeof f=="object"&&(g=f,f="anonymous"),O(this,f,g)},x(r,[{key:"typename",get:function(){return this.constructor.name}}]),r}(),e=function(r){y(i,r);function i(){var f,g;return g=r.call(this)||this,(f=g).init.apply(f,arguments),g}var m=i.prototype;return m.init=function(){},i.extend=function(g,t){return typeof g=="object"&&(t=g,g="anonymous"),O(this,g,t)},x(i,[{key:"typename",get:function(){return this.constructor.name}}]),i}(V);c.exports={Obj:R,EmitterObj:e}},function(c,E,_){var d=_(0),x=Array.from,l=typeof Symbol=="function"&&Symbol.iterator&&typeof x=="function",n=function(){function s(v,L){this.variables=Object.create(null),this.parent=v,this.topLevel=!1,this.isolateWrites=L}var h=s.prototype;return h.set=function(L,F,I){var M=L.split("."),U=this.variables,w=this;if(I&&(w=this.resolve(M[0],!0))){w.set(L,F);return}for(var p=0;p<M.length-1;p++){var k=M[p];U[k]||(U[k]={}),U=U[k]}U[M[M.length-1]]=F},h.get=function(L){var F=this.variables[L];return F!==void 0?F:null},h.lookup=function(L){var F=this.parent,I=this.variables[L];return I!==void 0?I:F&&F.lookup(L)},h.resolve=function(L,F){var I=F&&this.isolateWrites?void 0:this.parent,M=this.variables[L];return M!==void 0?this:I&&I.resolve(L)},h.push=function(L){return new s(this,L)},h.pop=function(){return this.parent},s}();function y(s,h,v){return function(){for(var F=arguments.length,I=new Array(F),M=0;M<F;M++)I[M]=arguments[M];var U=B(I),w,p=D(I);if(U>s.length)w=I.slice(0,s.length),I.slice(w.length,U).forEach(function(P,$){$<h.length&&(p[h[$]]=P)}),w.push(p);else if(U<s.length){w=I.slice(0,U);for(var k=U;k<s.length;k++){var K=s[k];w.push(p[K]),delete p[K]}w.push(p)}else w=I;return v.apply(this,w)}}function S(s){return s.__keywords=!0,s}function V(s){return s&&Object.prototype.hasOwnProperty.call(s,"__keywords")}function D(s){var h=s.length;if(h){var v=s[h-1];if(V(v))return v}return{}}function B(s){var h=s.length;if(h===0)return 0;var v=s[h-1];return V(v)?h-1:h}function O(s){if(typeof s!="string")return s;this.val=s,this.length=s.length}O.prototype=Object.create(String.prototype,{length:{writable:!0,configurable:!0,value:0}}),O.prototype.valueOf=function(){return this.val},O.prototype.toString=function(){return this.val};function R(s,h){return s instanceof O?new O(h):h.toString()}function e(s){var h=typeof s;return h==="string"?new O(s):h!=="function"?s:function(L){var F=s.apply(this,arguments);return typeof F=="string"?new O(F):F}}function r(s,h){return s=s??"",h&&!(s instanceof O)&&(s=d.escape(s.toString())),s}function i(s,h,v){if(s==null)throw new d.TemplateError("attempted to output null or undefined value",h+1,v+1);return s}function m(s,h){if(s!=null)return typeof s[h]=="function"?function(){for(var v=arguments.length,L=new Array(v),F=0;F<v;F++)L[F]=arguments[F];return s[h].apply(s,L)}:s[h]}function f(s,h,v,L){if(s){if(typeof s!="function")throw new Error("Unable to call `"+h+"`, which is not a function")}else throw new Error("Unable to call `"+h+"`, which is undefined or falsey");return s.apply(v,L)}function g(s,h,v){var L=h.lookup(v);return L!==void 0?L:s.lookup(v)}function t(s,h,v){return s.lineno?s:new d.TemplateError(s,h,v)}function a(s,h,v,L){if(d.isArray(s)){var F=s.length;d.asyncIter(s,function(M,U,w){switch(h){case 1:v(M,U,F,w);break;case 2:v(M[0],M[1],U,F,w);break;case 3:v(M[0],M[1],M[2],U,F,w);break;default:M.push(U,F,w),v.apply(this,M)}},L)}else d.asyncFor(s,function(M,U,w,p,k){v(M,U,w,p,k)},L)}function u(s,h,v,L){var F=0,I,M;function U($,te){F++,M[$]=te,F===I&&L(null,M.join(""))}if(d.isArray(s))if(I=s.length,M=new Array(I),I===0)L(null,"");else for(var w=0;w<s.length;w++){var p=s[w];switch(h){case 1:v(p,w,I,U);break;case 2:v(p[0],p[1],w,I,U);break;case 3:v(p[0],p[1],p[2],w,I,U);break;default:p.push(w,I,U),v.apply(this,p)}}else{var k=d.keys(s||{});if(I=k.length,M=new Array(I),I===0)L(null,"");else for(var K=0;K<k.length;K++){var P=k[K];v(P,s[P],K,I,U)}}}function o(s){return typeof s!="object"||s===null||d.isArray(s)?s:l&&Symbol.iterator in s?x(s):s}c.exports={Frame:n,makeMacro:y,makeKeywordArgs:S,numArgs:B,suppressValue:r,ensureDefined:i,memberLookup:m,contextOrFrameLookup:g,callWrap:f,handleError:t,isArray:d.isArray,keys:d.keys,SafeString:O,copySafeness:R,markSafe:e,asyncEach:a,asyncAll:u,inOperator:d.inOperator,fromIterator:o}},function(c,E,_){function d(ee,ne){for(var de=0;de<ne.length;de++){var pe=ne[de];pe.enumerable=pe.enumerable||!1,pe.configurable=!0,"value"in pe&&(pe.writable=!0),Object.defineProperty(ee,l(pe.key),pe)}}function x(ee,ne,de){return ne&&d(ee.prototype,ne),Object.defineProperty(ee,"prototype",{writable:!1}),ee}function l(ee){var ne=n(ee,"string");return typeof ne=="symbol"?ne:String(ne)}function n(ee,ne){if(typeof ee!="object"||ee===null)return ee;var de=ee[Symbol.toPrimitive];if(de!==void 0){var pe=de.call(ee,ne);if(typeof pe!="object")return pe;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(ee)}function y(ee,ne){ee.prototype=Object.create(ne.prototype),ee.prototype.constructor=ee,S(ee,ne)}function S(ee,ne){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(pe,ye){return pe.__proto__=ye,pe},S(ee,ne)}var V=_(1),D=V.Obj;function B(ee,ne,de){ee instanceof ne&&de.push(ee),ee instanceof O&&ee.findAll(ne,de)}var O=function(ee){y(ne,ee);function ne(){return ee.apply(this,arguments)||this}var de=ne.prototype;return de.init=function(ye,Oe){for(var Ne=arguments,$e=this,Je=arguments.length,kt=new Array(Je>2?Je-2:0),et=2;et<Je;et++)kt[et-2]=arguments[et];this.lineno=ye,this.colno=Oe,this.fields.forEach(function(Ot,St){var ut=Ne[St+2];ut===void 0&&(ut=null),$e[Ot]=ut})},de.findAll=function(ye,Oe){var Ne=this;return Oe=Oe||[],this instanceof e?this.children.forEach(function($e){return B($e,ye,Oe)}):this.fields.forEach(function($e){return B(Ne[$e],ye,Oe)}),Oe},de.iterFields=function(ye){var Oe=this;this.fields.forEach(function(Ne){ye(Oe[Ne],Ne)})},ne}(D),R=function(ee){y(ne,ee);function ne(){return ee.apply(this,arguments)||this}return x(ne,[{key:"typename",get:function(){return"Value"}},{key:"fields",get:function(){return["value"]}}]),ne}(O),e=function(ee){y(ne,ee);function ne(){return ee.apply(this,arguments)||this}var de=ne.prototype;return de.init=function(ye,Oe,Ne){ee.prototype.init.call(this,ye,Oe,Ne||[])},de.addChild=function(ye){this.children.push(ye)},x(ne,[{key:"typename",get:function(){return"NodeList"}},{key:"fields",get:function(){return["children"]}}]),ne}(O),r=e.extend("Root"),i=R.extend("Literal"),m=R.extend("Symbol"),f=e.extend("Group"),g=e.extend("Array"),t=O.extend("Pair",{fields:["key","value"]}),a=e.extend("Dict"),u=O.extend("LookupVal",{fields:["target","val"]}),o=O.extend("If",{fields:["cond","body","else_"]}),s=o.extend("IfAsync"),h=O.extend("InlineIf",{fields:["cond","body","else_"]}),v=O.extend("For",{fields:["arr","name","body","else_"]}),L=v.extend("AsyncEach"),F=v.extend("AsyncAll"),I=O.extend("Macro",{fields:["name","args","body"]}),M=I.extend("Caller"),U=O.extend("Import",{fields:["template","target","withContext"]}),w=function(ee){y(ne,ee);function ne(){return ee.apply(this,arguments)||this}var de=ne.prototype;return de.init=function(ye,Oe,Ne,$e,Je){ee.prototype.init.call(this,ye,Oe,Ne,$e||new e,Je)},x(ne,[{key:"typename",get:function(){return"FromImport"}},{key:"fields",get:function(){return["template","names","withContext"]}}]),ne}(O),p=O.extend("FunCall",{fields:["name","args"]}),k=p.extend("Filter"),K=k.extend("FilterAsync",{fields:["name","args","symbol"]}),P=a.extend("KeywordArgs"),$=O.extend("Block",{fields:["name","body"]}),te=O.extend("Super",{fields:["blockName","symbol"]}),X=O.extend("TemplateRef",{fields:["template"]}),ue=X.extend("Extends"),ge=O.extend("Include",{fields:["template","ignoreMissing"]}),J=O.extend("Set",{fields:["targets","value"]}),Z=O.extend("Switch",{fields:["expr","cases","default"]}),H=O.extend("Case",{fields:["cond","body"]}),Q=e.extend("Output"),Y=O.extend("Capture",{fields:["body"]}),ce=i.extend("TemplateData"),he=O.extend("UnaryOp",{fields:["target"]}),_e=O.extend("BinOp",{fields:["left","right"]}),Se=_e.extend("In"),b=_e.extend("Is"),j=_e.extend("Or"),z=_e.extend("And"),G=he.extend("Not"),ie=_e.extend("Add"),ae=_e.extend("Concat"),we=_e.extend("Sub"),fe=_e.extend("Mul"),be=_e.extend("Div"),Ie=_e.extend("FloorDiv"),Me=_e.extend("Mod"),We=_e.extend("Pow"),at=he.extend("Neg"),lt=he.extend("Pos"),bt=O.extend("Compare",{fields:["expr","ops"]}),gt=O.extend("CompareOperand",{fields:["expr","type"]}),ct=O.extend("CallExtension",{init:function(ne,de,pe,ye){this.parent(),this.extName=ne.__name||ne,this.prop=de,this.args=pe||new e,this.contentArgs=ye||[],this.autoescape=ne.autoescape},fields:["extName","prop","args","contentArgs"]}),Et=ct.extend("CallExtensionAsync");function Ye(ee,ne,de){var pe=ee.split(`
4
4
  `);pe.forEach(function(ye,Oe){ye&&(de&&Oe>0||!de)&&process.stdout.write(" ".repeat(ne));var Ne=Oe===pe.length-1?"":`
5
5
  `;process.stdout.write(""+ye+Ne)})}function Ze(ee,ne){if(ne=ne||0,Ye(ee.typename+": ",ne),ee instanceof e)Ye(`
@@ -31,5 +31,5 @@ else {`),this._emit("cb()")),this._emitLine("}")},f.compileIfAsync=function(t,a)
31
31
  })();
32
32
  `,l.asFunction&&(n+="return function(ctx, cb) { return nunjucks.render("+S+`, ctx, cb); }
33
33
  `),n+=`})();
34
- `}return n}c.exports=d},function(c,E,_){function d(){var x=this.runtime,l=this.lib,n=this.compiler.Compiler,y=this.parser.Parser,S=this.nodes,V=this.lexer,D=x.contextOrFrameLookup,B=x.memberLookup,O,R;n&&(O=n.prototype.assertType),y&&(R=y.prototype.parseAggregate);function e(){x.contextOrFrameLookup=D,x.memberLookup=B,n&&(n.prototype.assertType=O),y&&(y.prototype.parseAggregate=R)}x.contextOrFrameLookup=function(u,o,s){var h=D.apply(this,arguments);if(h!==void 0)return h;switch(s){case"True":return!0;case"False":return!1;case"None":return null;default:return}};function r(a){return{index:a.index,lineno:a.lineno,colno:a.colno}}if(S&&n&&y){var i=S.Node.extend("Slice",{fields:["start","stop","step"],init:function(u,o,s,h,v){s=s||new S.Literal(u,o,null),h=h||new S.Literal(u,o,null),v=v||new S.Literal(u,o,1),this.parent(u,o,s,h,v)}});n.prototype.assertType=function(u){u instanceof i||O.apply(this,arguments)},n.prototype.compileSlice=function(u,o){this._emit("("),this._compileExpression(u.start,o),this._emit("),("),this._compileExpression(u.stop,o),this._emit("),("),this._compileExpression(u.step,o),this._emit(")")},y.prototype.parseAggregate=function(){var u=this,o=r(this.tokens);o.colno--,o.index--;try{return R.apply(this)}catch(U){var s=r(this.tokens),h=function(){return l._assign(u.tokens,s),U};l._assign(this.tokens,o),this.peeked=!1;var v=this.peekToken();if(v.type!==V.TOKEN_LEFT_BRACKET)throw h();this.nextToken();for(var L=new i(v.lineno,v.colno),F=!1,I=0;I<=L.fields.length&&!this.skip(V.TOKEN_RIGHT_BRACKET);I++){if(I===L.fields.length)if(F)this.fail("parseSlice: too many slice components",v.lineno,v.colno);else break;if(this.skip(V.TOKEN_COLON))F=!0;else{var M=L.fields[I];L[M]=this.parseExpression(),F=this.skip(V.TOKEN_COLON)||F}}if(!F)throw h();return new S.Array(v.lineno,v.colno,[L])}}}function m(a,u,o,s){a=a||[],u===null&&(u=s<0?a.length-1:0),o===null?o=s<0?-1:a.length:o<0&&(o+=a.length),u<0&&(u+=a.length);for(var h=[],v=u;!(v<0||v>a.length||s>0&&v>=o||s<0&&v<=o);v+=s)h.push(x.memberLookup(a,v));return h}function f(a,u){return Object.prototype.hasOwnProperty.call(a,u)}var g={pop:function(u){if(u===void 0)return this.pop();if(u>=this.length||u<0)throw new Error("KeyError");return this.splice(u,1)},append:function(u){return this.push(u)},remove:function(u){for(var o=0;o<this.length;o++)if(this[o]===u)return this.splice(o,1);throw new Error("ValueError")},count:function(u){for(var o=0,s=0;s<this.length;s++)this[s]===u&&o++;return o},index:function(u){var o;if((o=this.indexOf(u))===-1)throw new Error("ValueError");return o},find:function(u){return this.indexOf(u)},insert:function(u,o){return this.splice(u,0,o)}},t={items:function(){return l._entries(this)},values:function(){return l._values(this)},keys:function(){return l.keys(this)},get:function(u,o){var s=this[u];return s===void 0&&(s=o),s},has_key:function(u){return f(this,u)},pop:function(u,o){var s=this[u];if(s===void 0&&o!==void 0)s=o;else{if(s===void 0)throw new Error("KeyError");delete this[u]}return s},popitem:function(){var u=l.keys(this);if(!u.length)throw new Error("KeyError");var o=u[0],s=this[o];return delete this[o],[o,s]},setdefault:function(u,o){return o===void 0&&(o=null),u in this||(this[u]=o),this[u]},update:function(u){return l._assign(this,u),null}};return t.iteritems=t.items,t.itervalues=t.values,t.iterkeys=t.keys,x.memberLookup=function(u,o,s){return arguments.length===4?m.apply(this,arguments):(u=u||{},l.isArray(u)&&f(g,o)?g[o].bind(u):l.isObject(u)&&f(t,o)?t[o].bind(u):B.apply(this,arguments))},e}c.exports=d}])})})(en);var sr=en.exports;const Vt=Fn(sr);var ar=me('<label class="absolute right-6 top-1 z-10 inline-flex cursor-pointer items-center gap-2 bg-transparent text-rc-gray-100 focus:outline-none focus:ring-0"><input type="checkbox" class="checkbox svelte-1br1z62"/> <span>Preview</span></label>'),lr=me('<div class="flex justify-end"><!></div>'),cr=me('<div class="prompt-editor flex h-full flex-col"><div class="relative flex-1"><div class="h-full w-full"></div> <!></div> <!></div>');function ur(N,T){vt(T,!0);let c=Ue(null),E,_=At(T,"readOnly",3,!1),d=At(T,"showPreviewToggle",3,!0),x=At(T,"preview",3,null),l=!1,n=null,y=null,S=!1,V=null,D=[],B=null,O=null,R=0,e=null;const r=24;let i=Ue(!1);const m=Ae(()=>x()!==null?x():C(i)),f=Ae(()=>`editorState/prompt/${T.agentId}/${T.stepName}`),g=Ae(()=>`editorState/prompt/${T.agentId}/${T.stepName}/preview`),t=Ae(()=>C(m)?C(g):C(f));function a(p,k){const K=p.getLayoutInfo(),P=Number((K==null?void 0:K.contentWidth)??0);if(!Number.isFinite(P)||P<=0)return 80;const $=p.getOption(k.editor.EditorOption.fontInfo),te=Number($==null?void 0:$.typicalHalfwidthCharacterWidth)||Number($==null?void 0:$.typicalFullwidthCharacterWidth)||7;if(!Number.isFinite(te)||te<=0)return 80;const X=Math.floor((P-r)/te);return Math.max(20,X)}function u(){!C(c)||!y||O==null&&(O=requestAnimationFrame(()=>{if(O=null,!C(c)||!y)return;const p=a(C(c),y);p!==R&&(R=p,C(c).updateOptions({wordWrap:"bounded",wordWrapColumn:p}))}))}function o(){Tt(C(t),C(c))}function s(p,k){const K=Sn(k);if(!K)return;const P=p.getContribution("editor.contrib.folding");if(P!=null&&P.getFoldingModel)P.getFoldingModel().then(()=>{try{p.restoreViewState(K)}catch{}});else try{p.restoreViewState(K)}catch{}}function h(){e!=null&&clearTimeout(e),e=setTimeout(()=>{e=null,o()},180)}It(()=>{if(!E)return;Jt();let p=!1;return Qt(()=>import("../chunks/DLQqXQ6R.js").then(k=>k.e),__vite__mapDeps([0,1,2]),import.meta.url).then(k=>{if(p)return;y=k,Xt(k),D.push(k.languages.registerFoldingRangeProvider("markdown",Yn)),D.push(k.languages.registerFoldingRangeProvider("markdown",Jn)),D.push(k.languages.registerDocumentHighlightProvider("markdown",nr)),Te(c,k.editor.create(E,{value:"",language:"markdown",theme:"bosun-dark",lineNumbers:"off",fontSize:14,fontFamily:'ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',automaticLayout:!0,minimap:{enabled:!1},wordBasedSuggestions:"off",wordWrap:"bounded",wordWrapColumn:120,wrappingStrategy:"advanced",matchBrackets:"never",bracketPairColorization:{enabled:!0},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},selectionHighlight:!1,unicodeHighlight:{ambiguousCharacters:!1,nonBasicASCII:!1,invisibleCharacters:!1,includeStrings:!1,includeComments:!1},autoClosingQuotes:"never",padding:{top:32},readOnly:_()}),!0),V=C(c).getModel(),u(),D.push(C(c).onDidLayoutChange(()=>u())),D.push(C(c).onDidChangeModelDecorations(()=>h())),D.push(C(c).onDidScrollChange(()=>h())),D.push(C(c).onDidChangeCursorPosition(()=>h())),D.push(C(c).onDidBlurEditorText(()=>o())),st.agents.context.query({agentId:T.agentId}).then(P=>{p||(B==null||B.dispose(),B=Vn(k,P),D.push(B))}),n=An(k,C(c));const K=T.initialPrompt??"";if(l=!0,C(c).setValue(K),l=!1,requestAnimationFrame(()=>{n==null||n.update(),C(c)&&s(C(c),C(t))}),D.push(C(c).onDidChangeModelContent(()=>{if(C(c)&&(n==null||n.update(),!l)){h();try{const P=C(c).getValue();T.onPromptChanged(P)}catch(P){console.error("Error updating prompt",P)}}})),S=!0,T.onEditorReady)try{T.onEditorReady(C(c),k)}catch(P){console.error("PromptEditor onEditorReady error",P)}}).catch(k=>{console.error("Error initializing Monaco editor:",k)}),()=>{p=!0,O!=null&&cancelAnimationFrame(O),O=null,e!=null&&clearTimeout(e),e=null,o(),B=null;for(const K of D)try{K.dispose()}catch{}D=[],n==null||n.dispose(),n=null;const k=V;if(V=null,C(c)){try{C(c).setModel(null)}catch{}C(c).dispose(),Te(c,null)}try{k==null||k.dispose()}catch{}}}),Ge(()=>{!C(c)||!S||C(c).updateOptions({readOnly:_()})});function v(p,k){return Vt.configure({autoescape:!1,trimBlocks:!0,lstripBlocks:!0}),Vt.renderString(p,k||{})}let L="",F=0;function I(p){var k;if(x()!==null){(k=T.onPreviewChange)==null||k.call(T,p);return}Te(i,p,!0)}function M(){if(F+=1,!!C(c)){Tt(C(g),C(c)),l=!0;try{L&&(C(c).setValue(L),L=""),C(c).updateOptions({readOnly:_()})}finally{l=!1}s(C(c),C(f))}}async function U(){if(!C(c)||_())return;Tt(C(f),C(c)),L=C(c).getValue();const p=F+=1;let k=null;try{k=await st.agents.context.query({agentId:T.agentId})}catch(P){console.error("Failed to load agent context for preview:",P),k=null}if(p!==F||!C(c)||!C(m))return;const K=v(L,k||{});l=!0;try{C(c).setValue(K),C(c).updateOptions({readOnly:!0})}finally{l=!1}s(C(c),C(g))}let w=Ue(!1);Ge(()=>{if(!C(c)||!S)return;const p=!!C(m)&&!_();p!==C(w)&&(Te(w,p,!0),p?U():M())}),dt(N,{get class(){return`relative overflow-hidden ${T.class??""}`},children:(p,k)=>{var K=cr(),P=se(K),$=se(P);Yt($,J=>E=J,()=>E);var te=ve($,2);{var X=J=>{var Z=ar(),H=se(Z);qt(H),Ve(2),re(Z),je(()=>gn(H,C(m))),xt("change",H,Q=>I(Q.currentTarget.checked)),oe(J,Z)};Ce(te,J=>{d()&&!_()&&J(X)})}re(P);var ue=ve(P,2);{var ge=J=>{var Z=lr(),H=se(Z);wt(H,{variant:"secondary",get onclick(){return T.onSchemaClick},class:"absolute bottom-2 right-6 !font-medium",children:(Q,Y)=>{Ve();var ce=He("Schema");oe(Q,ce)},$$slots:{default:!0}}),re(Z),oe(J,Z)};Ce(ue,J=>{T.showSchemaButton&&T.onSchemaClick&&J(ge)})}re(K),oe(p,K)}}),mt()}Rt(["change"]);var fr=me("<!> <!>",1),pr=me('<div class="flex h-full items-center justify-center text-sm text-rc-gray-300">Loading</div>'),Ut=me('<pre class="whitespace-pre-wrap font-mono text-xs text-rc-gray-200"> </pre>'),hr=me('<div class="flex h-full flex-col gap-3"><div class="text-sm text-red-400"> </div></div>'),dr=me('<div class="text-red-400">Error</div>'),vr=me('<div class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 px-3 py-2"><div class="flex items-center justify-between text-xs text-rc-gray-400"><div> </div> <!></div> <div class="whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div></div>'),mr=me('<div class="mb-4"><div class="mb-2 text-xs font-semibold text-rc-gray-400">Why this response</div> <div class="flex flex-col gap-2"></div></div>'),gr=me('<button type="button" class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 px-3 py-2 text-left hover:border-rc-gray-500"><div class="flex items-center justify-between text-xs text-rc-gray-400"><div> </div> <div> </div></div> <div class="whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div></button>'),yr=me('<div class="flex flex-col gap-2"></div>'),_r=me('<div class="text-sm text-rc-gray-300">No quotes returned.</div>'),wr=me('<div class="mb-3 text-sm font-semibold text-rc-gray-100"> </div> <!> <!>',1),xr=me('<button type="button" class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 px-3 py-2 text-left hover:border-rc-gray-500"><div class="whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div></button>'),br=me('<div class="mt-3 flex flex-col gap-2"></div>'),Er=me('<div class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 p-3"><div class="flex items-start justify-between gap-3"><div class="text-xs font-semibold text-rc-gray-400"></div> <div class="text-xs text-rc-gray-500"> </div></div> <div class="mt-1 whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div> <!></div>'),kr=me('<div class="flex flex-col gap-3"></div>'),Or=me('<div class="text-sm text-rc-gray-300">No issues found.</div>'),Sr=me('<div class="mb-3 text-sm font-semibold text-rc-gray-100"> </div> <!>',1),Lr=me('<div class="border-b border-rc-gray-700 px-2 py-1"><!></div> <div class="min-h-0 flex-1 overflow-auto p-3"><!></div>',1);function Tr(N,T){vt(T,!0);const{state:c,actions:E}=zt();let _=Ue("results"),d=Ue(null);Ge(()=>{var S;const y=((S=c.edit.popover)==null?void 0:S.requestId)??null;y!==C(d)&&(Te(d,y,!0),Te(_,"results"))});var x=ht(),l=Be(x);{var n=y=>{const S=Ae(()=>c.edit.popover);var V=Lr(),D=Be(V),B=se(D);Nt(B,{get value(){return C(_)},ariaLabel:"Popover tabs",onChange:({value:m})=>Te(_,m,!0),children:(m,f)=>{var g=fr(),t=Be(g);it(t,{value:"results",children:(u,o)=>{Ve();var s=He("Results");oe(u,s)},$$slots:{default:!0}});var a=ve(t,2);it(a,{value:"raw",children:(u,o)=>{Ve();var s=He("Raw");oe(u,s)},$$slots:{default:!0}}),oe(m,g)},$$slots:{default:!0}}),re(D);var O=ve(D,2),R=se(O);{var e=m=>{var f=pr();oe(m,f)},r=m=>{var f=ht(),g=Be(f);{var t=u=>{const o=Ae(()=>{var v;return typeof((v=C(S).data)==null?void 0:v.raw)=="string"?C(S).data.raw:C(S).error});var s=Ut(),h=se(s,!0);re(s),je(()=>Re(h,C(o)||"—")),oe(u,s)},a=u=>{var o=hr(),s=se(o),h=se(s,!0);re(s),re(o),je(()=>Re(h,C(S).error)),oe(u,o)};Ce(g,u=>{C(_)==="raw"?u(t):u(a,-1)})}oe(m,f)},i=m=>{const f=Ae(()=>C(S).data);var g=ht(),t=Be(g);{var a=s=>{var h=Ut(),v=se(h,!0);re(h),je(()=>{var L;return Re(v,typeof((L=C(f))==null?void 0:L.raw)=="string"?C(f).raw:"—")}),oe(s,h)},u=s=>{const h=Ae(()=>{var P;return typeof((P=C(f))==null?void 0:P.parallelCalls)=="number"&&Number.isFinite(C(f).parallelCalls)?C(f).parallelCalls:10});var v=wr(),L=Be(v),F=se(L,!0);re(L);var I=ve(L,2);{var M=P=>{var $=mr(),te=ve(se($),2);ot(te,23,()=>C(f).rationales,(X,ue)=>X.attempt??ue,(X,ue,ge)=>{var J=vr(),Z=se(J),H=se(Z),Q=se(H);re(H);var Y=ve(H,2);{var ce=Se=>{var b=dr();oe(Se,b)};Ce(Y,Se=>{C(ue).status==="error"&&Se(ce)})}re(Z);var he=ve(Z,2),_e=se(he,!0);re(he),re(J),je(()=>{Re(Q,`Analysis ${C(ue).attempt??C(ge)+1??""}`),Re(_e,C(ue).text)}),oe(X,J)}),re(te),re($),oe(P,$)},U=Ae(()=>{var P;return Array.isArray((P=C(f))==null?void 0:P.rationales)&&C(f).rationales.length>0});Ce(I,P=>{C(U)&&P(M)})}var w=ve(I,2);{var p=P=>{var $=yr();ot($,23,()=>C(f).quotes,te=>te.quote,(te,X,ue)=>{var ge=gr(),J=se(ge),Z=se(J),H=se(Z);re(Z);var Q=ve(Z,2),Y=se(Q);re(Q),re(J);var ce=ve(J,2),he=se(ce,!0);re(ce),re(ge),je(()=>{Re(H,`Quote ${C(ue)+1}`),Re(Y,`x${C(X).count??""}/${C(h)??""}`),Re(he,C(X).quote)}),xt("click",ge,()=>E.focusQuote(C(X).quote)),oe(te,ge)}),re($),oe(P,$)},k=Ae(()=>{var P;return Array.isArray((P=C(f))==null?void 0:P.quotes)&&C(f).quotes.length>0}),K=P=>{var $=_r();oe(P,$)};Ce(w,P=>{C(k)?P(p):P(K,-1)})}je(()=>{var P;return Re(F,((P=C(f))==null?void 0:P.title)??"Analysis")}),oe(s,v)},o=s=>{var h=Sr(),v=Be(h),L=se(v,!0);re(v);var F=ve(v,2);{var I=w=>{var p=kr();ot(p,21,()=>C(f).issues,Ct,(k,K,P)=>{var $=Er(),te=se($),X=se(te);X.textContent=`Issue ${P+1}`;var ue=ve(X,2),ge=se(ue,!0);re(ue),re(te);var J=ve(te,2),Z=se(J,!0);re(J);var H=ve(J,2);{var Q=Y=>{var ce=br();ot(ce,20,()=>C(K).contradictingQuotes,he=>he,(he,_e)=>{var Se=xr(),b=se(Se),j=se(b,!0);re(b),re(Se),je(()=>Re(j,_e)),xt("click",Se,()=>E.focusQuote(_e)),oe(he,Se)}),re(ce),oe(Y,ce)};Ce(H,Y=>{C(K).contradictingQuotes&&C(K).contradictingQuotes.length>0&&Y(Q)})}re($),je(()=>{Re(ge,C(K).type),Re(Z,C(K).reason)}),oe(k,$)}),re(p),oe(w,p)},M=Ae(()=>{var w;return Array.isArray((w=C(f))==null?void 0:w.issues)&&C(f).issues.length>0}),U=w=>{var p=Or();oe(w,p)};Ce(F,w=>{C(M)?w(I):w(U,-1)})}je(()=>{var w;return Re(L,((w=C(f))==null?void 0:w.title)??"Prompt issues")}),oe(s,h)};Ce(t,s=>{C(_)==="raw"?s(a):C(S).kind==="analyze"?s(u,1):s(o,-1)})}oe(m,g)};Ce(R,m=>{C(S).status==="loading"?m(e):C(S).status==="error"?m(r,1):m(i,-1)})}re(O),oe(y,V)};Ce(l,y=>{c.edit.popover&&y(n)})}oe(N,x),mt()}Rt(["click"]);var Ar=me('<div class="min-h-0 flex-1 overflow-hidden p-3"><!></div>');function Cr(N,T){vt(T,!1);const c=zt(),E=fn(c.state),_=c.actions;function d(n){pn(E,C(E).context=n),_.sendAppEvent({type:"context-updated",context:n})}Pn();var x=Ar(),l=se(x);{let n=hn(()=>{var y;return`editorState/context/${C(E).agentId}/${((y=C(E).currentStep)==null?void 0:y.name)??"main"}`});Ln(l,{class:"h-full min-h-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl focus:outline-none focus:ring-0",get context(){return C(E).context},onContextChanged:d,get editorStateKey(){return C(n)},suppressErrors:!0})}re(x),oe(N,x),mt()}function Nr(N){try{return decodeURIComponent(N)}catch{return N}}function tn(N){var d;const c=(((d=String(N||"").split("?")[0])==null?void 0:d.split("#")[0])??"").split("/").filter(Boolean);if(c[0]!=="edit")return{agentId:null,tab:null};if(c.length===1)return{agentId:null,tab:null};const E=Nr(c[1]??""),_=c[2]??null;return _?_==="roleplay"?{agentId:E,tab:"roleplay"}:_==="tests"?{agentId:E,tab:"tests"}:_==="configure"?{agentId:E,tab:"configure"}:{agentId:E,tab:null}:{agentId:E,tab:"roleplay"}}function Pr(N){return{tab:tn(N.pathname).tab??"roleplay",popover:null,highlights:null,requestSeq:0}}function Rr(N,T){const E=tn(T.pathname).tab??"roleplay";return{...N,tab:E,popover:null,highlights:null}}function Ir(N,T){const c=N.requestSeq+1;return{...N,requestSeq:c,popover:{kind:T.kind,status:"loading",requestId:c},highlights:null}}function Fr(N,T){return!N.popover||N.popover.requestId!==T.requestId?N:{...N,popover:{...N.popover,status:"ready",data:T.data,error:void 0}}}function Br(N,T){return!N.popover||N.popover.requestId!==T.requestId?N:{...N,popover:{...N.popover,status:"error",error:String(T.error||"Unknown error"),data:T.data}}}function Mr(N){return{...N,popover:null,highlights:null}}function Kr(N,T){return{...N,highlights:{quotes:T??[],focusQuote:null,focusNonce:0}}}function jr(N,T){const c=String(T||"");if(!c)return N;const E=N.highlights??{quotes:[],focusQuote:null,focusNonce:0};return{...N,highlights:{...E,focusQuote:c,focusNonce:(E.focusNonce??0)+1}}}function Dr(N,T){const c=String(N??""),E=Vr(T),_=Ht(c);for(const d of E){const x=Wt(c,d);if(x.length>0)return x;const l=$t(c,d);if(l.length>0)return l;const n=Ht(d);if(_!==c||n!==d){const y=Wt(_,n);if(y.length>0)return y;const S=$t(_,n);if(S.length>0)return S}}return[]}function Wt(N,T){const c=String(T??"");if(!c)return[];const E=[];let _=0;for(;_<=N.length-c.length;){const d=N.indexOf(c,_);if(d===-1)break;E.push({start:d,end:d+c.length}),_=d+1}return E}function $t(N,T){const c=String(T??"");if(!c.trim())return[];const E=Ur(c).replace(/\s+/g,"\\s+");let _;try{_=new RegExp(`(?=(${E}))`,"gu")}catch{return[]}const d=[];let x;for(;(x=_.exec(N))!==null;){const l=x.index,n=x[1]??"",y=l+n.length;y>l&&d.push({start:l,end:y}),_.lastIndex===l&&(_.lastIndex+=1)}return d}function Vr(N){const T=String(N??""),c=T.trim(),E=new Set;for(const x of[T,c])x&&E.add(x);const _=c.replace(/^[-*•]\s+/,"");_&&_!==c&&E.add(_);const d=c.replace(/^(?:\(?\d+\)?[.)]|[a-zA-Z][.)])\s+/,"");return d&&d!==c&&E.add(d),[...E].filter(x=>x.trim().length>0)}function Ht(N){return String(N??"").replace(/\r/g,`
35
- `).replace(/[\u00A0\u2007\u202F\u2009\u200A\u200B\uFEFF]/g," ").replace(/[\u201C\u201D\u201E\u00AB\u00BB]/g,'"').replace(/[\u2018\u2019]/g,"'").replace(/[\u2013\u2014]/g,"-")}function Ur(N){return N.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Wr(N,T){const c=N.createDecorationsCollection(),E=N.createDecorationsCollection();let _=null,d=new Map,x=new Map,l=0;function n(){d=new Map,x=new Map,l=0}function y(e,r,i){return Number.isNaN(e)?r:Math.max(r,Math.min(i,e))}function S(e){const r=y(e,1,10);return`rgba(220, 38, 38, ${y(.22+r*.06,.28,.82)})`}function V(e,r){const i=String(e??"");if(!i)return[];const m=d.get(i);if(m)return m;const f=Dr(r,i);return d.set(i,f),f}function D(e){const r=N.getModel();if(!r)return;const i=r.getValue()??"",m=[],f=[...e||[]].sort((g,t)=>(g.count||0)-(t.count||0));for(const g of f){const t=String(g.quote||"");if(!t)continue;const a=y(Number(g.count||0),1,10),u=S(a),o=V(t,i);for(const s of o){const h=r.getPositionAt(s.start),v=r.getPositionAt(s.end);m.push({range:new T.Range(h.lineNumber,h.column,v.lineNumber,v.column),options:{inlineClassName:`analysis-quote analysis-quote-l${a}`,overviewRuler:{color:u,position:T.editor.OverviewRulerLane.Center}}})}}c.set(m)}function B(e){const r=N.getModel();if(!r)return;const i=r.getValue()??"",m=V(e,i);if(m.length===0)return;const g=((x.get(e)??-1)+1)%m.length;x.set(e,g);const t=m[g],a=r.getPositionAt(t.start),u=r.getPositionAt(t.end),o=new T.Range(a.lineNumber,a.column,u.lineNumber,u.column);E.set([{range:o,options:{inlineClassName:"analysis-quote-focus"}}]),N.setSelection(o),N.revealRangeInCenter(o,T.editor.ScrollType.Smooth),N.focus()}function O(e){if(_=e,!_){c.clear(),E.clear(),n();return}D(_.quotes||[]),_.focusQuote&&_.focusNonce!==l?(l=_.focusNonce,B(_.focusQuote)):_.focusQuote||E.clear()}const R=N.onDidChangeModelContent(()=>{_&&(d=new Map,E.clear(),D(_.quotes||[]))});return{setHighlights:O,dispose:()=>{try{R.dispose(),c.clear(),E.clear()}finally{_=null,n()}}}}var $r=me("<!> <!>",1),Hr=me('<span class="truncate"> </span> <!>',1),Gr=me('<div class="mt-1 overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox" aria-label="Region"></div>'),qr=me('<span class="text-sm text-rc-gray-300">Region</span> <div><!> <!></div>',1),zr=me('<div class="p-2 text-rc-gray-400">Connecting…</div>'),Qr=me('<div class="p-2 text-rc-gray-400">No steps</div>'),Yr=me('<button><span class="block truncate"> </span></button>'),Jr=me('<div class="rc-scroll min-h-0 flex-1 overflow-auto p-2"><!></div>'),Xr=me("<!> <!> <!>",1),Zr=me('<div class="border-b border-rc-gray-700 p-2"><!></div> <div class="min-h-0 flex-1"><!></div> <!> <!>',1),ei=me('<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 bg-rc-gray-980"><div class="flex w-1/3 justify-start"></div> <div class="flex w-1/3 justify-center"><!></div> <div class="flex w-1/3 items-center justify-end gap-2 pr-2"><!></div></nav> <div class="flex-1 overflow-hidden"><div class="grid h-full w-full grid-cols-[minmax(140px,2fr)_minmax(0,10fr)_minmax(0,11fr)]"><!> <div class="flex h-full min-w-0 flex-col"><div class="flex h-14 flex-none items-center justify-between gap-3 border-b border-rc-gray-700 p-2"><div class="min-w-0"><div class="truncate font-semibold text-rc-gray-100"> </div></div> <div class="flex items-center gap-3"><label class="inline-flex items-center gap-2 text-rc-gray-300"><input type="checkbox" aria-label="Preview rendered prompt" class="h-4 w-4 appearance-none rounded border border-rc-gray-300 bg-rc-gray-600 !accent-rc-gray-600 outline-none ring-0 checked:border-rc-gray-200 checked:bg-rc-gray-600 hover:border-rc-gray-200 hover:bg-rc-gray-600 focus:outline-none focus:ring-0 active:border-rc-gray-200 active:bg-rc-gray-600 disabled:cursor-not-allowed disabled:opacity-50"/> <span>Preview</span></label> <!></div></div> <div class="min-h-0 flex-1"><!></div></div> <!></div></div></div></div> <!>',1);function Ni(N,T){vt(T,!0);const{onError:c}=Nn();let E=Ue(Ft([]));const _=A=>{try{return A?decodeURIComponent(A):""}catch{return A||""}},d=A=>encodeURIComponent(A);function x(A){return _(A).trim().replace(/^\/+|\/+$/g,"")}const l=Ae(()=>x(T.params.agent)),n=Ft({agentId:x(T.params.agent),region:null,availableRegions:[],defaultRegion:null,agentType:void 0,wsLoaded:!1,chatReady:!1,steps:[],currentStep:null,promptDrafts:{},context:null,promptContext:null,agentStates:[],currentState:null,contextPopoverOpen:!1,edit:Pr({pathname:Qe.url.pathname})});let y=null,S=null,V;const D="region-dropdown";let B=Ue(!1),O=Ue(null);Ge(()=>{const A=n.availableRegions,W=n.region;(!A.length||!W||!A.includes(W))&&Te(B,!1)});function R(A,W){if(typeof window>"u")return;const q=new URL(window.location.href);W===null?q.searchParams.delete(A):q.searchParams.set(A,W),Tn(q.toString(),{})}function e(A){rt.sendMessage({channel:"app-events",event:A})}function r(A){A!=null&&A.name&&n.promptDrafts[A.name]===void 0&&(n.promptDrafts[A.name]=A.prompt??"")}const i=Ae(()=>{var A;return((A=n.currentStep)==null?void 0:A.name)??null}),m=Ae(()=>{const A=C(i);if(!A)return"";const W=n.promptDrafts[A];return typeof W=="string"?W:""});let f=null,g=null,t=Promise.resolve();const a=800;function u(){f&&(clearTimeout(f),f=null)}async function o(A,W,q){try{await st.agents.savePrompt.mutate({agentId:A,step:W,prompt:q})}catch(le){console.error("Failed to save prompt",le);const xe=n.promptDrafts[W];throw n.agentId===A&&xe===q&&(g={stepName:W,prompt:q}),le}}function s(A,W,q){const le=t.catch(()=>{}).then(()=>o(A,W,q));return t=le.catch(()=>{}),le}async function h(){if(!g)return;const A=n.agentId.trim();if(!A)return;const{stepName:W,prompt:q}=g;u(),g=null,await s(A,W,q)}function v(A,W){g={stepName:A,prompt:W},u(),f=setTimeout(()=>{f=null,h()},a)}Ge(()=>{n.wsLoaded&&h()});async function L(A){try{const W=await st.regionConfig.meta.query({agent:A});if(!W){n.availableRegions=[],n.defaultRegion=null,n.region=null,R("region",null);return}if(n.availableRegions=W.availableRegions,n.defaultRegion=W.defaultRegion??null,!Array.isArray(W.availableRegions)||W.availableRegions.length===0){n.region=null,R("region",null);return}const q=(Qe.url.searchParams.get("region")||"").trim()||null,le=q&&W.availableRegions.includes(q)&&q||W.defaultRegion&&W.availableRegions.includes(W.defaultRegion)&&W.defaultRegion||W.availableRegions[0]||null;n.region=le,R("region",le)}catch(W){console.error("Failed to load region config meta",W),n.availableRegions=[],n.defaultRegion=null,n.region=null,R("region",null)}}Ge(()=>{const A=C(l);A&&A!==S&&(S=A,L(A))});function F(A){h(),H();const W=n.steps.find(q=>q.name===A)||null;n.currentStep=W,W?(r(W),R("step",W.name),e({type:"step-selected",step:W.name})):R("step",null)}function I(A){const W=C(i);W&&(n.promptDrafts[W]=A,v(W,A))}const M=Ae(()=>{var A;return((A=n.currentStep)==null?void 0:A.schema)??null}),U=Ae(()=>!!C(M)&&C(M).trim().length>0);let w=Ue(!1);function p(){C(M)&&Te(w,!0)}function k({value:A}){if(A===n.edit.tab)return;h(),H();const W=Qe.url.searchParams.get("step"),q=Qe.url.searchParams.get("region"),le=`/edit/${d(n.agentId)}/${A}`,xe=new URLSearchParams;W&&xe.set("step",W),q&&xe.set("region",q);const Ee=xe.size?`${le}?${xe.toString()}`:le;pt(Ee)}const K=Ae(()=>{const A=Qe.url.pathname.split("/")[1];return A==="traces"?"view":A});function P({value:A}){if(A!==C(K)){if(h(),H(),A==="edit")return pt("/edit");if(A==="view")return pt(`/view?agent=${d(n.agentId)}`);pt("/"+A)}}function $(A){var W;return n.contextPopoverOpen=!1,n.edit=Ir(n.edit,{kind:A}),((W=n.edit.popover)==null?void 0:W.requestId)??0}function te(A,W){n.edit=Fr(n.edit,{requestId:A,data:W})}function X(A,W,q){n.edit=Br(n.edit,{requestId:A,error:W,data:q})}function ue(){n.edit=Mr(n.edit)}function ge(){ue(),n.contextPopoverOpen=!0}function J(){n.contextPopoverOpen=!1}function Z(){n.contextPopoverOpen?J():ge()}function H(){ue(),J()}function Q(A){return A==="analyze"?"Analyze":"Find issues"}function Y(A){n.edit=Kr(n.edit,A)}function ce(A){n.edit=jr(n.edit,A)}let he=null,_e=Ue(!1),Se=null;Ge(()=>{var W;const A=((W=n.currentStep)==null?void 0:W.name)??null;A!==Se&&(Se=A,Te(_e,!1))});function b(A,W){he==null||he.dispose(),he=Wr(A,W),he.setHighlights(n.edit.highlights)}Ge(()=>{const A=n.edit.highlights;he==null||he.setHighlights(A)});let j=Ue("");Ge(()=>{const A=Qe.url.toString();A!==C(j)&&(Te(j,A,!0),n.edit=Rr(n.edit,{pathname:Qe.url.pathname}),n.contextPopoverOpen=!1)});function z(A,W,q){return Math.max(W,Math.min(q,A))}function G(A){const W=new Map;for(const q of A||[])for(const le of q.contradictingQuotes||[]){const xe=String(le||"").trim();xe&&W.set(xe,(W.get(xe)||0)+1)}return[...W.entries()].map(([q,le])=>({quote:q,count:z(le,1,10)})).sort((q,le)=>le.count-q.count||q.quote.localeCompare(le.quote))}let ie=Ue(!1);async function ae(){var W;if(C(ie)||!n.currentStep)return;Te(ie,!0);const A=$("findIssues");try{const q=await st.tests.findPromptIssues.mutate({agent:n.agentId,step:n.currentStep.name,prompt:C(m)}),le=G(q.issues||[]);if(((W=n.edit.popover)==null?void 0:W.requestId)!==A)return;Y(le);let xe=null;try{xe=JSON.stringify(q.raw,null,2)}catch{xe=null}te(A,{title:`Prompt issues — ${n.currentStep.name}`,issues:q.issues,raw:xe})}catch(q){console.error(q);const le=typeof(q==null?void 0:q.message)=="string"?q.message:(()=>{try{return JSON.stringify(q)}catch{return String(q)}})();X(A,le||"Failed to find issues in this prompt",{title:`Prompt issues failed — ${n.currentStep.name}`,raw:le})}finally{Te(ie,!1)}}function we(A){h(),H();const W=Qe.url.searchParams.get("step"),q=Qe.url.searchParams.get("region"),le=`/edit/${d(A)}/${n.edit.tab}`,xe=new URLSearchParams;W&&xe.set("step",W),q&&xe.set("region",q);const Ee=xe.size?`${le}?${xe.toString()}`:le;pt(Ee)}function fe(A){!A||A===n.region||(h(),n.region=A,R("region",A))}wn({state:n,actions:{openPopover:$,setPopoverReady:te,setPopoverError:X,closePopover:ue,setHighlightQuotes:Y,focusQuote:ce,openContextPopover:ge,closeContextPopover:J,toggleContextPopover:Z,sendAppEvent:e,sendChatMessage:A=>{if(!n.wsLoaded||!n.chatReady){console.warn("[roleplay] Ignoring chat message while websocket session is reconnecting");return}rt.sendMessage({channel:"chat",message:A})},flushPromptSave:h,selectState:A=>{h(),H(),V=A,n.currentState=A,Bt(),Kt(),e({type:"select-agent",agent:n.agentId,state:A,region:n.region})},hangup(){e({type:"hangup",agentId:n.agentId,region:n.region})}}}),It(async()=>{try{Te(E,await st.agents.list.query(),!0)}catch(A){console.error("Failed to load agents",A)}rt.onClose(()=>{n.wsLoaded=!1,n.chatReady=!1,n.context=null,n.promptContext=null,n.agentStates=[],n.currentState=null,n.contextPopoverOpen=!1,y=null}),rt.onError(A=>c(A)),rt.onMessage(A=>{if(A.channel==="app-events"){if(A.event.type==="agents-loaded"){n.wsLoaded=!0;return}if(A.event.type==="context-updated"){n.context=A.event.context,A.event.promptContext&&(n.promptContext=A.event.promptContext);return}if(A.event.type==="update-states"){const W=n.agentStates.length;n.agentStates=A.event.states;const q=n.agentStates.length>0?n.agentStates[n.agentStates.length-1].id:null;V!==void 0?n.currentState=V:(n.currentState===null&&W===0&&q||n.agentStates.length>W)&&(n.currentState=q),V=void 0;return}if(A.event.type==="agent-selected"){n.steps=A.event.agent.steps,n.agentType=A.event.agent.type;const W={};for(const Fe of n.steps){const ke=n.promptDrafts[Fe.name];W[Fe.name]=typeof ke=="string"?ke:Fe.prompt??""}n.promptDrafts=W;const q=(Qe.url.searchParams.get("step")||"").trim()||null,le=q?n.steps.find(Fe=>Fe.name===q)??null:null,xe=n.steps.find(Fe=>Fe.name.toLowerCase()==="main")??n.steps[0]??null,Ee=le??xe;n.currentStep=Ee,Ee?(r(Ee),Ee.name!==q&&R("step",Ee.name),e({type:"step-selected",step:Ee.name}),h()):R("step",null);return}return}if(A.channel==="log"){Rn(A.message);return}if(A.channel==="step-trace"){xn(A.trace);return}if(A.channel==="api-call-trace"){bn(A.trace);return}if(A.channel==="conversational-trace"){En(A.trace);return}if(A.channel==="error"){c(A.message);return}}),rt.init(),n.wsLoaded=rt.isReady()}),Gt(()=>{h(),u(),he==null||he.dispose(),he=null}),Ge(()=>{const A=C(l);if(A!==n.agentId&&(h(),g=null,u(),n.chatReady=!1,n.promptDrafts={},n.steps=[],n.currentStep=null),n.agentId=A,!n.wsLoaded){n.chatReady=!1;return}if(!n.agentId){n.chatReady=!1;return}if(n.availableRegions.length>0&&!n.region){n.chatReady=!1;return}const W=`${n.agentId}::${n.region??""}`;y!==W&&(y=W,Bt(),Kt(),H(),n.currentState=null,n.agentStates=[],n.context=null,n.promptContext=null,h(),V=void 0,n.chatReady=!1,e({type:"select-agent",agent:n.agentId,region:n.region}),n.chatReady=!0)});var be=ei(),Ie=Be(be),Me=se(Ie);Cn(Me,{className:"flex-none",get agents(){return C(E)},get currentAgent(){return n.agentId},onAgentClick:we});var We=ve(Me,2),at=se(We),lt=ve(se(at),2),bt=se(lt);Nt(bt,{get value(){return C(K)},ariaLabel:"Top tabs",onChange:P,children:(A,W)=>{var q=$r(),le=Be(q);it(le,{value:"edit",children:(Ee,Fe)=>{Ve();var ke=He("Edit");oe(Ee,ke)},$$slots:{default:!0}});var xe=ve(le,2);it(xe,{value:"view",children:(Ee,Fe)=>{Ve();var ke=He("View");oe(Ee,ke)},$$slots:{default:!0}}),oe(A,q)},$$slots:{default:!0}}),re(lt);var gt=ve(lt,2),ct=se(gt);{var Et=A=>{var W=qr(),q=ve(Be(W),2),le=se(q);wt(le,{variant:"secondary",size:"small",get"aria-expanded"(){return C(B)},"aria-haspopup":"listbox","aria-controls":D,onclick:Ee=>{Ee.stopPropagation(),Te(B,!C(B))},class:"flex w-32 items-center justify-between gap-1 !px-3 !py-1",get el(){return C(O)},set el(Ee){Te(O,Ee,!0)},children:(Ee,Fe)=>{var ke=Hr(),Ke=Be(ke),qe=se(Ke,!0);re(Ke);var tt=ve(Ke,2);{let Pe=Ae(()=>"size-5 text-rc-gray-400 transition-transform duration-200 "+(C(B)?"rotate-180":""));On(tt,{name:"chevron-down",get class(){return C(Pe)}})}je(()=>Re(qe,n.region)),oe(Ee,ke)},$$slots:{default:!0}});var xe=ve(le,2);kn(xe,{id:D,get open(){return C(B)},onClose:()=>Te(B,!1),get anchorEl(){return C(O)},placement:"bottom-end",offset:[0,1],children:Fe=>{var ke=Gr();ot(ke,21,()=>n.availableRegions,Ct,(Ke,qe)=>{{let tt=Ae(()=>C(qe)===n.region),Pe=Ae(()=>`w-full rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400 ${C(qe)===n.region?"bg-rc-gray-800 text-rc-gray-100":"text-rc-gray-200"}`);wt(Ke,{variant:"ghost",size:"small",role:"option",get"aria-selected"(){return C(tt)},onclick:De=>{De.stopPropagation(),Te(B,!1),fe(C(qe))},get class(){return C(Pe)},children:(De,ze)=>{Ve();var Xe=He();je(()=>Re(Xe,C(qe))),oe(De,Xe)},$$slots:{default:!0}})}}),re(ke),oe(Fe,ke)},$$slots:{default:!0}}),re(q),oe(A,W)};Ce(ct,A=>{n.availableRegions.length>0&&n.region&&A(Et)})}re(gt),re(at);var Ye=ve(at,2),Ze=se(Ye),ee=se(Ze);dt(ee,{class:"flex h-full min-w-0 flex-col !rounded-none p-0",children:(A,W)=>{var q=Jr(),le=se(q);{var xe=ke=>{var Ke=zr();oe(ke,Ke)},Ee=ke=>{var Ke=Qr();oe(ke,Ke)},Fe=ke=>{var Ke=ht(),qe=Be(Ke);ot(qe,17,()=>n.steps,Ct,(tt,Pe)=>{var De=Yr(),ze=se(De),Xe=se(ze,!0);re(ze),re(De),je(()=>{var ft;yn(De,1,`my-1 w-full rounded-lg px-3 py-2 text-left text-rc-gray-200 hover:bg-rc-gray-700 ${C(Pe).name===((ft=n.currentStep)==null?void 0:ft.name)?"bg-rc-gray-600":"bg-transparent"}`),Re(Xe,C(Pe).name)}),xt("click",De,()=>F(C(Pe).name)),oe(tt,De)}),oe(ke,Ke)};Ce(le,ke=>{n.wsLoaded?n.steps.length===0?ke(Ee,1):ke(Fe,-1):ke(xe)})}re(q),oe(A,q)}});var ne=ve(ee,2),de=se(ne),pe=se(de),ye=se(pe),Oe=se(ye,!0);re(ye),re(pe);var Ne=ve(pe,2),$e=se(Ne),Je=se($e);qt(Je),Ve(2),re($e);var kt=ve($e,2);{let A=Ae(()=>!n.currentStep||C(ie));wt(kt,{variant:"secondary",get disabled(){return C(A)},onclick:ae,children:(W,q)=>{Ve();var le=He("Find issues");oe(W,le)},$$slots:{default:!0}})}re(Ne),re(de);var et=ve(de,2),Ot=se(et);{var St=A=>{var W=ht(),q=Be(W);dn(q,()=>n.currentStep.name,le=>{ur(le,{class:"h-full min-w-0 border-thin border-rc-gray-650 bg-rc-gray-800 shadow-inner-white-soft backdrop-blur-3xl focus:outline-none focus:ring-0",get initialPrompt(){return C(m)},get agentId(){return n.agentId},get stepName(){return n.currentStep.name},onPromptChanged:I,get showSchemaButton(){return C(U)},onSchemaClick:p,showPreviewToggle:!1,get preview(){return C(_e)},onEditorReady:b})}),oe(A,W)},ut=A=>{dt(A,{class:"flex h-full min-w-0 items-center justify-center !rounded-none p-4 text-sm text-rc-gray-400",children:(W,q)=>{Ve();var le=He("Select a step to edit its prompt");oe(W,le)}})};Ce(Ot,A=>{n.currentStep?A(St):A(ut,-1)})}re(et),re(ne);var nn=ve(ne,2);dt(nn,{class:"relative flex h-full min-w-0 flex-col overflow-hidden !rounded-none p-0",children:(A,W)=>{var q=Zr(),le=Be(q),xe=se(le);Nt(xe,{get value(){return n.edit.tab},ariaLabel:"Mode tabs",onChange:k,children:(Pe,De)=>{var ze=Xr(),Xe=Be(ze);it(Xe,{value:"roleplay",children:(nt,Lt)=>{Ve();var yt=He("Roleplay");oe(nt,yt)},$$slots:{default:!0}});var ft=ve(Xe,2);it(ft,{value:"tests",children:(nt,Lt)=>{Ve();var yt=He("Tests");oe(nt,yt)},$$slots:{default:!0}});var sn=ve(ft,2);{var an=nt=>{it(nt,{value:"configure",children:(Lt,yt)=>{Ve();var ln=He("Configure");oe(Lt,ln)},$$slots:{default:!0}})};Ce(sn,nt=>{n.defaultRegion!==null&&nt(an)})}oe(Pe,ze)},$$slots:{default:!0}}),re(le);var Ee=ve(le,2),Fe=se(Ee);mn(Fe,()=>T.children),re(Ee);var ke=ve(Ee,2);{var Ke=Pe=>{{const De=Xe=>{Tr(Xe,{})};let ze=Ae(()=>Q(n.edit.popover.kind));Mt(Pe,{get title(){return C(ze)},onClose:ue,children:De})}};Ce(ke,Pe=>{n.edit.popover&&Pe(Ke)})}var qe=ve(ke,2);{var tt=Pe=>{Mt(Pe,{title:"Edit context",onClose:J,children:ze=>{Cr(ze,{})}})};Ce(qe,Pe=>{n.contextPopoverOpen&&Pe(tt)})}oe(A,q)}}),re(Ze),re(Ye),re(We),re(Ie);var rn=ve(Ie,2);{var on=A=>{vn(A,{title:"Schema",class:"!w-[80vw] !max-w-5xl",get open(){return C(w)},set open(q){Te(w,q,!0)},children:q=>{Dn(q,{class:"h-[70vh] min-w-0",get schema(){return C(M)},onChange:console.log})},$$slots:{default:!0}})};Ce(rn,A=>{C(M)&&A(on)})}je(()=>{var A;Re(Oe,((A=n.currentStep)==null?void 0:A.name)??"Prompt"),Je.disabled=!n.currentStep}),_n(Je,()=>C(_e),A=>Te(_e,A)),oe(N,be),mt()}Rt(["click"]);export{Ni as component};
34
+ `}return n}c.exports=d},function(c,E,_){function d(){var x=this.runtime,l=this.lib,n=this.compiler.Compiler,y=this.parser.Parser,S=this.nodes,V=this.lexer,D=x.contextOrFrameLookup,B=x.memberLookup,O,R;n&&(O=n.prototype.assertType),y&&(R=y.prototype.parseAggregate);function e(){x.contextOrFrameLookup=D,x.memberLookup=B,n&&(n.prototype.assertType=O),y&&(y.prototype.parseAggregate=R)}x.contextOrFrameLookup=function(u,o,s){var h=D.apply(this,arguments);if(h!==void 0)return h;switch(s){case"True":return!0;case"False":return!1;case"None":return null;default:return}};function r(a){return{index:a.index,lineno:a.lineno,colno:a.colno}}if(S&&n&&y){var i=S.Node.extend("Slice",{fields:["start","stop","step"],init:function(u,o,s,h,v){s=s||new S.Literal(u,o,null),h=h||new S.Literal(u,o,null),v=v||new S.Literal(u,o,1),this.parent(u,o,s,h,v)}});n.prototype.assertType=function(u){u instanceof i||O.apply(this,arguments)},n.prototype.compileSlice=function(u,o){this._emit("("),this._compileExpression(u.start,o),this._emit("),("),this._compileExpression(u.stop,o),this._emit("),("),this._compileExpression(u.step,o),this._emit(")")},y.prototype.parseAggregate=function(){var u=this,o=r(this.tokens);o.colno--,o.index--;try{return R.apply(this)}catch(U){var s=r(this.tokens),h=function(){return l._assign(u.tokens,s),U};l._assign(this.tokens,o),this.peeked=!1;var v=this.peekToken();if(v.type!==V.TOKEN_LEFT_BRACKET)throw h();this.nextToken();for(var L=new i(v.lineno,v.colno),F=!1,I=0;I<=L.fields.length&&!this.skip(V.TOKEN_RIGHT_BRACKET);I++){if(I===L.fields.length)if(F)this.fail("parseSlice: too many slice components",v.lineno,v.colno);else break;if(this.skip(V.TOKEN_COLON))F=!0;else{var M=L.fields[I];L[M]=this.parseExpression(),F=this.skip(V.TOKEN_COLON)||F}}if(!F)throw h();return new S.Array(v.lineno,v.colno,[L])}}}function m(a,u,o,s){a=a||[],u===null&&(u=s<0?a.length-1:0),o===null?o=s<0?-1:a.length:o<0&&(o+=a.length),u<0&&(u+=a.length);for(var h=[],v=u;!(v<0||v>a.length||s>0&&v>=o||s<0&&v<=o);v+=s)h.push(x.memberLookup(a,v));return h}function f(a,u){return Object.prototype.hasOwnProperty.call(a,u)}var g={pop:function(u){if(u===void 0)return this.pop();if(u>=this.length||u<0)throw new Error("KeyError");return this.splice(u,1)},append:function(u){return this.push(u)},remove:function(u){for(var o=0;o<this.length;o++)if(this[o]===u)return this.splice(o,1);throw new Error("ValueError")},count:function(u){for(var o=0,s=0;s<this.length;s++)this[s]===u&&o++;return o},index:function(u){var o;if((o=this.indexOf(u))===-1)throw new Error("ValueError");return o},find:function(u){return this.indexOf(u)},insert:function(u,o){return this.splice(u,0,o)}},t={items:function(){return l._entries(this)},values:function(){return l._values(this)},keys:function(){return l.keys(this)},get:function(u,o){var s=this[u];return s===void 0&&(s=o),s},has_key:function(u){return f(this,u)},pop:function(u,o){var s=this[u];if(s===void 0&&o!==void 0)s=o;else{if(s===void 0)throw new Error("KeyError");delete this[u]}return s},popitem:function(){var u=l.keys(this);if(!u.length)throw new Error("KeyError");var o=u[0],s=this[o];return delete this[o],[o,s]},setdefault:function(u,o){return o===void 0&&(o=null),u in this||(this[u]=o),this[u]},update:function(u){return l._assign(this,u),null}};return t.iteritems=t.items,t.itervalues=t.values,t.iterkeys=t.keys,x.memberLookup=function(u,o,s){return arguments.length===4?m.apply(this,arguments):(u=u||{},l.isArray(u)&&f(g,o)?g[o].bind(u):l.isObject(u)&&f(t,o)?t[o].bind(u):B.apply(this,arguments))},e}c.exports=d}])})})(tn);var sr=tn.exports;const Ut=Bn(sr);var ar=me('<label class="absolute right-6 top-1 z-10 inline-flex cursor-pointer items-center gap-2 bg-transparent text-rc-gray-100 focus:outline-none focus:ring-0"><input type="checkbox" class="checkbox svelte-1br1z62"/> <span>Preview</span></label>'),lr=me('<div class="flex justify-end"><!></div>'),cr=me('<div class="prompt-editor flex h-full flex-col"><div class="relative flex-1"><div class="h-full w-full"></div> <!></div> <!></div>');function ur(N,T){vt(T,!0);let c=Ue(null),E,_=Ct(T,"readOnly",3,!1),d=Ct(T,"showPreviewToggle",3,!0),x=Ct(T,"preview",3,null),l=!1,n=null,y=null,S=!1,V=null,D=[],B=null,O=null,R=0,e=null;const r=24;let i=Ue(!1);const m=Ae(()=>x()!==null?x():C(i)),f=Ae(()=>`editorState/prompt/${T.agentId}/${T.stepName}`),g=Ae(()=>`editorState/prompt/${T.agentId}/${T.stepName}/preview`),t=Ae(()=>C(m)?C(g):C(f));function a(p,k){const K=p.getLayoutInfo(),P=Number((K==null?void 0:K.contentWidth)??0);if(!Number.isFinite(P)||P<=0)return 80;const $=p.getOption(k.editor.EditorOption.fontInfo),te=Number($==null?void 0:$.typicalHalfwidthCharacterWidth)||Number($==null?void 0:$.typicalFullwidthCharacterWidth)||7;if(!Number.isFinite(te)||te<=0)return 80;const X=Math.floor((P-r)/te);return Math.max(20,X)}function u(){!C(c)||!y||O==null&&(O=requestAnimationFrame(()=>{if(O=null,!C(c)||!y)return;const p=a(C(c),y);p!==R&&(R=p,C(c).updateOptions({wordWrap:"bounded",wordWrapColumn:p}))}))}function o(){Tt(C(t),C(c))}function s(p,k){const K=Ln(k);if(!K)return;const P=p.getContribution("editor.contrib.folding");if(P!=null&&P.getFoldingModel)P.getFoldingModel().then(()=>{try{p.restoreViewState(K)}catch{}});else try{p.restoreViewState(K)}catch{}}function h(){e!=null&&clearTimeout(e),e=setTimeout(()=>{e=null,o()},180)}Ft(()=>{if(!E)return;Xt();let p=!1;return Yt(()=>import("../chunks/DLQqXQ6R.js").then(k=>k.e),__vite__mapDeps([0,1,2]),import.meta.url).then(k=>{if(p)return;y=k,Zt(k),D.push(k.languages.registerFoldingRangeProvider("markdown",Yn)),D.push(k.languages.registerFoldingRangeProvider("markdown",Jn)),D.push(k.languages.registerDocumentHighlightProvider("markdown",nr)),Te(c,k.editor.create(E,{value:"",language:"markdown",theme:"bosun-dark",lineNumbers:"off",fontSize:14,fontFamily:'ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',automaticLayout:!0,minimap:{enabled:!1},wordBasedSuggestions:"off",wordWrap:"bounded",wordWrapColumn:120,wrappingStrategy:"advanced",matchBrackets:"never",bracketPairColorization:{enabled:!0},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},selectionHighlight:!1,unicodeHighlight:{ambiguousCharacters:!1,nonBasicASCII:!1,invisibleCharacters:!1,includeStrings:!1,includeComments:!1},autoClosingQuotes:"never",padding:{top:32},readOnly:_()}),!0),V=C(c).getModel(),u(),D.push(C(c).onDidLayoutChange(()=>u())),D.push(C(c).onDidChangeModelDecorations(()=>h())),D.push(C(c).onDidScrollChange(()=>h())),D.push(C(c).onDidChangeCursorPosition(()=>h())),D.push(C(c).onDidBlurEditorText(()=>o())),st.agents.context.query({agentId:T.agentId}).then(P=>{p||(B==null||B.dispose(),B=Vn(k,P),D.push(B))}),n=Cn(k,C(c));const K=T.initialPrompt??"";if(l=!0,C(c).setValue(K),l=!1,requestAnimationFrame(()=>{n==null||n.update(),C(c)&&s(C(c),C(t))}),D.push(C(c).onDidChangeModelContent(()=>{if(C(c)&&(n==null||n.update(),!l)){h();try{const P=C(c).getValue();T.onPromptChanged(P)}catch(P){console.error("Error updating prompt",P)}}})),S=!0,T.onEditorReady)try{T.onEditorReady(C(c),k)}catch(P){console.error("PromptEditor onEditorReady error",P)}}).catch(k=>{console.error("Error initializing Monaco editor:",k)}),()=>{p=!0,O!=null&&cancelAnimationFrame(O),O=null,e!=null&&clearTimeout(e),e=null,o(),B=null;for(const K of D)try{K.dispose()}catch{}D=[],n==null||n.dispose(),n=null;const k=V;if(V=null,C(c)){try{C(c).setModel(null)}catch{}C(c).dispose(),Te(c,null)}try{k==null||k.dispose()}catch{}}}),Ge(()=>{!C(c)||!S||C(c).updateOptions({readOnly:_()})});function v(p,k){return Ut.configure({autoescape:!1,trimBlocks:!0,lstripBlocks:!0}),Ut.renderString(p,k||{})}let L="",F=0;function I(p){var k;if(x()!==null){(k=T.onPreviewChange)==null||k.call(T,p);return}Te(i,p,!0)}function M(){if(F+=1,!!C(c)){Tt(C(g),C(c)),l=!0;try{L&&(C(c).setValue(L),L=""),C(c).updateOptions({readOnly:_()})}finally{l=!1}s(C(c),C(f))}}async function U(){if(!C(c)||_())return;Tt(C(f),C(c)),L=C(c).getValue();const p=F+=1;let k=null;try{k=await st.agents.context.query({agentId:T.agentId})}catch(P){console.error("Failed to load agent context for preview:",P),k=null}if(p!==F||!C(c)||!C(m))return;const K=v(L,k||{});l=!0;try{C(c).setValue(K),C(c).updateOptions({readOnly:!0})}finally{l=!1}s(C(c),C(g))}let w=Ue(!1);Ge(()=>{if(!C(c)||!S)return;const p=!!C(m)&&!_();p!==C(w)&&(Te(w,p,!0),p?U():M())}),dt(N,{get class(){return`relative overflow-hidden ${T.class??""}`},children:(p,k)=>{var K=cr(),P=se(K),$=se(P);Jt($,J=>E=J,()=>E);var te=ve($,2);{var X=J=>{var Z=ar(),H=se(Z);zt(H),Ve(2),re(Z),je(()=>yn(H,C(m))),xt("change",H,Q=>I(Q.currentTarget.checked)),oe(J,Z)};Ce(te,J=>{d()&&!_()&&J(X)})}re(P);var ue=ve(P,2);{var ge=J=>{var Z=lr(),H=se(Z);wt(H,{variant:"secondary",get onclick(){return T.onSchemaClick},class:"absolute bottom-2 right-6 !font-medium",children:(Q,Y)=>{Ve();var ce=He("Schema");oe(Q,ce)},$$slots:{default:!0}}),re(Z),oe(J,Z)};Ce(ue,J=>{T.showSchemaButton&&T.onSchemaClick&&J(ge)})}re(K),oe(p,K)}}),mt()}It(["change"]);var fr=me("<!> <!>",1),pr=me('<div class="flex h-full items-center justify-center text-sm text-rc-gray-300">Loading</div>'),Wt=me('<pre class="whitespace-pre-wrap font-mono text-xs text-rc-gray-200"> </pre>'),hr=me('<div class="flex h-full flex-col gap-3"><div class="text-sm text-red-400"> </div></div>'),dr=me('<div class="text-red-400">Error</div>'),vr=me('<div class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 px-3 py-2"><div class="flex items-center justify-between text-xs text-rc-gray-400"><div> </div> <!></div> <div class="whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div></div>'),mr=me('<div class="mb-4"><div class="mb-2 text-xs font-semibold text-rc-gray-400">Why this response</div> <div class="flex flex-col gap-2"></div></div>'),gr=me('<button type="button" class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 px-3 py-2 text-left hover:border-rc-gray-500"><div class="flex items-center justify-between text-xs text-rc-gray-400"><div> </div> <div> </div></div> <div class="whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div></button>'),yr=me('<div class="flex flex-col gap-2"></div>'),_r=me('<div class="text-sm text-rc-gray-300">No quotes returned.</div>'),wr=me('<div class="mb-3 text-sm font-semibold text-rc-gray-100"> </div> <!> <!>',1),xr=me('<button type="button" class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 px-3 py-2 text-left hover:border-rc-gray-500"><div class="whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div></button>'),br=me('<div class="mt-3 flex flex-col gap-2"></div>'),Er=me('<div class="rounded-md border border-rc-gray-700 bg-rc-gray-900/40 p-3"><div class="flex items-start justify-between gap-3"><div class="text-xs font-semibold text-rc-gray-400"></div> <div class="text-xs text-rc-gray-500"> </div></div> <div class="mt-1 whitespace-pre-wrap break-words text-sm text-rc-gray-100"> </div> <!></div>'),kr=me('<div class="flex flex-col gap-3"></div>'),Or=me('<div class="text-sm text-rc-gray-300">No issues found.</div>'),Sr=me('<div class="mb-3 text-sm font-semibold text-rc-gray-100"> </div> <!>',1),Lr=me('<div class="border-b border-rc-gray-700 px-2 py-1"><!></div> <div class="min-h-0 flex-1 overflow-auto p-3"><!></div>',1);function Tr(N,T){vt(T,!0);const{state:c,actions:E}=Qt();let _=Ue("results"),d=Ue(null);Ge(()=>{var S;const y=((S=c.edit.popover)==null?void 0:S.requestId)??null;y!==C(d)&&(Te(d,y,!0),Te(_,"results"))});var x=ht(),l=Be(x);{var n=y=>{const S=Ae(()=>c.edit.popover);var V=Lr(),D=Be(V),B=se(D);Pt(B,{get value(){return C(_)},ariaLabel:"Popover tabs",onChange:({value:m})=>Te(_,m,!0),children:(m,f)=>{var g=fr(),t=Be(g);it(t,{value:"results",children:(u,o)=>{Ve();var s=He("Results");oe(u,s)},$$slots:{default:!0}});var a=ve(t,2);it(a,{value:"raw",children:(u,o)=>{Ve();var s=He("Raw");oe(u,s)},$$slots:{default:!0}}),oe(m,g)},$$slots:{default:!0}}),re(D);var O=ve(D,2),R=se(O);{var e=m=>{var f=pr();oe(m,f)},r=m=>{var f=ht(),g=Be(f);{var t=u=>{const o=Ae(()=>{var v;return typeof((v=C(S).data)==null?void 0:v.raw)=="string"?C(S).data.raw:C(S).error});var s=Wt(),h=se(s,!0);re(s),je(()=>Re(h,C(o)||"—")),oe(u,s)},a=u=>{var o=hr(),s=se(o),h=se(s,!0);re(s),re(o),je(()=>Re(h,C(S).error)),oe(u,o)};Ce(g,u=>{C(_)==="raw"?u(t):u(a,-1)})}oe(m,f)},i=m=>{const f=Ae(()=>C(S).data);var g=ht(),t=Be(g);{var a=s=>{var h=Wt(),v=se(h,!0);re(h),je(()=>{var L;return Re(v,typeof((L=C(f))==null?void 0:L.raw)=="string"?C(f).raw:"—")}),oe(s,h)},u=s=>{const h=Ae(()=>{var P;return typeof((P=C(f))==null?void 0:P.parallelCalls)=="number"&&Number.isFinite(C(f).parallelCalls)?C(f).parallelCalls:10});var v=wr(),L=Be(v),F=se(L,!0);re(L);var I=ve(L,2);{var M=P=>{var $=mr(),te=ve(se($),2);ot(te,23,()=>C(f).rationales,(X,ue)=>X.attempt??ue,(X,ue,ge)=>{var J=vr(),Z=se(J),H=se(Z),Q=se(H);re(H);var Y=ve(H,2);{var ce=Se=>{var b=dr();oe(Se,b)};Ce(Y,Se=>{C(ue).status==="error"&&Se(ce)})}re(Z);var he=ve(Z,2),_e=se(he,!0);re(he),re(J),je(()=>{Re(Q,`Analysis ${C(ue).attempt??C(ge)+1??""}`),Re(_e,C(ue).text)}),oe(X,J)}),re(te),re($),oe(P,$)},U=Ae(()=>{var P;return Array.isArray((P=C(f))==null?void 0:P.rationales)&&C(f).rationales.length>0});Ce(I,P=>{C(U)&&P(M)})}var w=ve(I,2);{var p=P=>{var $=yr();ot($,23,()=>C(f).quotes,te=>te.quote,(te,X,ue)=>{var ge=gr(),J=se(ge),Z=se(J),H=se(Z);re(Z);var Q=ve(Z,2),Y=se(Q);re(Q),re(J);var ce=ve(J,2),he=se(ce,!0);re(ce),re(ge),je(()=>{Re(H,`Quote ${C(ue)+1}`),Re(Y,`x${C(X).count??""}/${C(h)??""}`),Re(he,C(X).quote)}),xt("click",ge,()=>E.focusQuote(C(X).quote)),oe(te,ge)}),re($),oe(P,$)},k=Ae(()=>{var P;return Array.isArray((P=C(f))==null?void 0:P.quotes)&&C(f).quotes.length>0}),K=P=>{var $=_r();oe(P,$)};Ce(w,P=>{C(k)?P(p):P(K,-1)})}je(()=>{var P;return Re(F,((P=C(f))==null?void 0:P.title)??"Analysis")}),oe(s,v)},o=s=>{var h=Sr(),v=Be(h),L=se(v,!0);re(v);var F=ve(v,2);{var I=w=>{var p=kr();ot(p,21,()=>C(f).issues,Nt,(k,K,P)=>{var $=Er(),te=se($),X=se(te);X.textContent=`Issue ${P+1}`;var ue=ve(X,2),ge=se(ue,!0);re(ue),re(te);var J=ve(te,2),Z=se(J,!0);re(J);var H=ve(J,2);{var Q=Y=>{var ce=br();ot(ce,20,()=>C(K).contradictingQuotes,he=>he,(he,_e)=>{var Se=xr(),b=se(Se),j=se(b,!0);re(b),re(Se),je(()=>Re(j,_e)),xt("click",Se,()=>E.focusQuote(_e)),oe(he,Se)}),re(ce),oe(Y,ce)};Ce(H,Y=>{C(K).contradictingQuotes&&C(K).contradictingQuotes.length>0&&Y(Q)})}re($),je(()=>{Re(ge,C(K).type),Re(Z,C(K).reason)}),oe(k,$)}),re(p),oe(w,p)},M=Ae(()=>{var w;return Array.isArray((w=C(f))==null?void 0:w.issues)&&C(f).issues.length>0}),U=w=>{var p=Or();oe(w,p)};Ce(F,w=>{C(M)?w(I):w(U,-1)})}je(()=>{var w;return Re(L,((w=C(f))==null?void 0:w.title)??"Prompt issues")}),oe(s,h)};Ce(t,s=>{C(_)==="raw"?s(a):C(S).kind==="analyze"?s(u,1):s(o,-1)})}oe(m,g)};Ce(R,m=>{C(S).status==="loading"?m(e):C(S).status==="error"?m(r,1):m(i,-1)})}re(O),oe(y,V)};Ce(l,y=>{c.edit.popover&&y(n)})}oe(N,x),mt()}It(["click"]);var Ar=me('<div class="min-h-0 flex-1 overflow-hidden p-3"><!></div>');function Cr(N,T){vt(T,!1);const c=Qt(),E=pn(c.state),_=c.actions;function d(n){hn(E,C(E).context=n),_.sendAppEvent({type:"context-updated",context:n})}Rn();var x=Ar(),l=se(x);{let n=dn(()=>{var y;return`editorState/context/${C(E).agentId}/${((y=C(E).currentStep)==null?void 0:y.name)??"main"}`});Tn(l,{class:"h-full min-h-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl focus:outline-none focus:ring-0",get context(){return C(E).context},onContextChanged:d,get editorStateKey(){return C(n)},suppressErrors:!0})}re(x),oe(N,x),mt()}function Nr(N){try{return decodeURIComponent(N)}catch{return N}}function nn(N){var d;const c=(((d=String(N||"").split("?")[0])==null?void 0:d.split("#")[0])??"").split("/").filter(Boolean);if(c[0]!=="edit")return{agentId:null,tab:null};if(c.length===1)return{agentId:null,tab:null};const E=Nr(c[1]??""),_=c[2]??null;return _?_==="roleplay"?{agentId:E,tab:"roleplay"}:_==="tests"?{agentId:E,tab:"tests"}:_==="configure"?{agentId:E,tab:"configure"}:{agentId:E,tab:null}:{agentId:E,tab:"roleplay"}}function Pr(N){return{tab:nn(N.pathname).tab??"roleplay",popover:null,highlights:null,requestSeq:0}}function Rr(N,T){const E=nn(T.pathname).tab??"roleplay";return{...N,tab:E,popover:null,highlights:null}}function Ir(N,T){const c=N.requestSeq+1;return{...N,requestSeq:c,popover:{kind:T.kind,status:"loading",requestId:c},highlights:null}}function Fr(N,T){return!N.popover||N.popover.requestId!==T.requestId?N:{...N,popover:{...N.popover,status:"ready",data:T.data,error:void 0}}}function Br(N,T){return!N.popover||N.popover.requestId!==T.requestId?N:{...N,popover:{...N.popover,status:"error",error:String(T.error||"Unknown error"),data:T.data}}}function Mr(N){return{...N,popover:null,highlights:null}}function Kr(N,T){return{...N,highlights:{quotes:T??[],focusQuote:null,focusNonce:0}}}function jr(N,T){const c=String(T||"");if(!c)return N;const E=N.highlights??{quotes:[],focusQuote:null,focusNonce:0};return{...N,highlights:{...E,focusQuote:c,focusNonce:(E.focusNonce??0)+1}}}function Dr(N,T){const c=String(N??""),E=Vr(T),_=Gt(c);for(const d of E){const x=$t(c,d);if(x.length>0)return x;const l=Ht(c,d);if(l.length>0)return l;const n=Gt(d);if(_!==c||n!==d){const y=$t(_,n);if(y.length>0)return y;const S=Ht(_,n);if(S.length>0)return S}}return[]}function $t(N,T){const c=String(T??"");if(!c)return[];const E=[];let _=0;for(;_<=N.length-c.length;){const d=N.indexOf(c,_);if(d===-1)break;E.push({start:d,end:d+c.length}),_=d+1}return E}function Ht(N,T){const c=String(T??"");if(!c.trim())return[];const E=Ur(c).replace(/\s+/g,"\\s+");let _;try{_=new RegExp(`(?=(${E}))`,"gu")}catch{return[]}const d=[];let x;for(;(x=_.exec(N))!==null;){const l=x.index,n=x[1]??"",y=l+n.length;y>l&&d.push({start:l,end:y}),_.lastIndex===l&&(_.lastIndex+=1)}return d}function Vr(N){const T=String(N??""),c=T.trim(),E=new Set;for(const x of[T,c])x&&E.add(x);const _=c.replace(/^[-*•]\s+/,"");_&&_!==c&&E.add(_);const d=c.replace(/^(?:\(?\d+\)?[.)]|[a-zA-Z][.)])\s+/,"");return d&&d!==c&&E.add(d),[...E].filter(x=>x.trim().length>0)}function Gt(N){return String(N??"").replace(/\r/g,`
35
+ `).replace(/[\u00A0\u2007\u202F\u2009\u200A\u200B\uFEFF]/g," ").replace(/[\u201C\u201D\u201E\u00AB\u00BB]/g,'"').replace(/[\u2018\u2019]/g,"'").replace(/[\u2013\u2014]/g,"-")}function Ur(N){return N.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Wr(N,T){const c=N.createDecorationsCollection(),E=N.createDecorationsCollection();let _=null,d=new Map,x=new Map,l=0;function n(){d=new Map,x=new Map,l=0}function y(e,r,i){return Number.isNaN(e)?r:Math.max(r,Math.min(i,e))}function S(e){const r=y(e,1,10);return`rgba(220, 38, 38, ${y(.22+r*.06,.28,.82)})`}function V(e,r){const i=String(e??"");if(!i)return[];const m=d.get(i);if(m)return m;const f=Dr(r,i);return d.set(i,f),f}function D(e){const r=N.getModel();if(!r)return;const i=r.getValue()??"",m=[],f=[...e||[]].sort((g,t)=>(g.count||0)-(t.count||0));for(const g of f){const t=String(g.quote||"");if(!t)continue;const a=y(Number(g.count||0),1,10),u=S(a),o=V(t,i);for(const s of o){const h=r.getPositionAt(s.start),v=r.getPositionAt(s.end);m.push({range:new T.Range(h.lineNumber,h.column,v.lineNumber,v.column),options:{inlineClassName:`analysis-quote analysis-quote-l${a}`,overviewRuler:{color:u,position:T.editor.OverviewRulerLane.Center}}})}}c.set(m)}function B(e){const r=N.getModel();if(!r)return;const i=r.getValue()??"",m=V(e,i);if(m.length===0)return;const g=((x.get(e)??-1)+1)%m.length;x.set(e,g);const t=m[g],a=r.getPositionAt(t.start),u=r.getPositionAt(t.end),o=new T.Range(a.lineNumber,a.column,u.lineNumber,u.column);E.set([{range:o,options:{inlineClassName:"analysis-quote-focus"}}]),N.setSelection(o),N.revealRangeInCenter(o,T.editor.ScrollType.Smooth),N.focus()}function O(e){if(_=e,!_){c.clear(),E.clear(),n();return}D(_.quotes||[]),_.focusQuote&&_.focusNonce!==l?(l=_.focusNonce,B(_.focusQuote)):_.focusQuote||E.clear()}const R=N.onDidChangeModelContent(()=>{_&&(d=new Map,E.clear(),D(_.quotes||[]))});return{setHighlights:O,dispose:()=>{try{R.dispose(),c.clear(),E.clear()}finally{_=null,n()}}}}var $r=me("<!> <!>",1),Hr=me('<span class="truncate"> </span> <!>',1),Gr=me('<div class="mt-1 overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox" aria-label="Region"></div>'),qr=me('<span class="text-sm text-rc-gray-300">Region</span> <div><!> <!></div>',1),zr=me('<div class="p-2 text-rc-gray-400">Connecting…</div>'),Qr=me('<div class="p-2 text-rc-gray-400">No steps</div>'),Yr=me('<button><span class="block truncate"> </span></button>'),Jr=me('<div class="rc-scroll min-h-0 flex-1 overflow-auto p-2"><!></div>'),Xr=me("<!> <!> <!>",1),Zr=me('<div class="border-b border-rc-gray-700 p-2"><!></div> <div class="min-h-0 flex-1"><!></div> <!> <!>',1),ei=me('<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 bg-rc-gray-980"><div class="flex w-1/3 justify-start"></div> <div class="flex w-1/3 justify-center"><!></div> <div class="flex w-1/3 items-center justify-end gap-2 pr-2"><!></div></nav> <div class="flex-1 overflow-hidden"><div class="grid h-full w-full grid-cols-[minmax(140px,2fr)_minmax(0,10fr)_minmax(0,11fr)]"><!> <div class="flex h-full min-w-0 flex-col"><div class="flex h-14 flex-none items-center justify-between gap-3 border-b border-rc-gray-700 p-2"><div class="min-w-0"><div class="truncate font-semibold text-rc-gray-100"> </div></div> <div class="flex items-center gap-3"><label class="inline-flex items-center gap-2 text-rc-gray-300"><input type="checkbox" aria-label="Preview rendered prompt" class="h-4 w-4 appearance-none rounded border border-rc-gray-300 bg-rc-gray-600 !accent-rc-gray-600 outline-none ring-0 checked:border-rc-gray-200 checked:bg-rc-gray-600 hover:border-rc-gray-200 hover:bg-rc-gray-600 focus:outline-none focus:ring-0 active:border-rc-gray-200 active:bg-rc-gray-600 disabled:cursor-not-allowed disabled:opacity-50"/> <span>Preview</span></label> <!></div></div> <div class="min-h-0 flex-1"><!></div></div> <!></div></div></div></div> <!>',1);function Ni(N,T){vt(T,!0);const{onError:c}=Pn();let E=Ue(Bt([]));const _=A=>{try{return A?decodeURIComponent(A):""}catch{return A||""}},d=A=>encodeURIComponent(A);function x(A){return _(A).trim().replace(/^\/+|\/+$/g,"")}const l=Ae(()=>x(T.params.agent)),n=Bt({agentId:x(T.params.agent),region:null,availableRegions:[],defaultRegion:null,agentType:void 0,wsLoaded:!1,chatReady:!1,steps:[],currentStep:null,promptDrafts:{},context:null,promptContext:null,agentStates:[],currentState:null,contextPopoverOpen:!1,edit:Pr({pathname:Qe.url.pathname})});let y=null,S=null,V;const D="region-dropdown";let B=Ue(!1),O=Ue(null);Ge(()=>{const A=n.availableRegions,W=n.region;(!A.length||!W||!A.includes(W))&&Te(B,!1)});function R(A,W){if(typeof window>"u")return;const q=new URL(window.location.href);W===null?q.searchParams.delete(A):q.searchParams.set(A,W),An(q.toString(),{})}function e(A){rt.sendMessage({channel:"app-events",event:A})}function r(A){A!=null&&A.name&&n.promptDrafts[A.name]===void 0&&(n.promptDrafts[A.name]=A.prompt??"")}const i=Ae(()=>{var A;return((A=n.currentStep)==null?void 0:A.name)??null}),m=Ae(()=>{const A=C(i);if(!A)return"";const W=n.promptDrafts[A];return typeof W=="string"?W:""});let f=null,g=null,t=Promise.resolve();const a=800;function u(){f&&(clearTimeout(f),f=null)}async function o(A,W,q){try{await st.agents.savePrompt.mutate({agentId:A,step:W,prompt:q})}catch(le){console.error("Failed to save prompt",le);const xe=n.promptDrafts[W];throw n.agentId===A&&xe===q&&(g={stepName:W,prompt:q}),le}}function s(A,W,q){const le=t.catch(()=>{}).then(()=>o(A,W,q));return t=le.catch(()=>{}),le}async function h(){if(!g)return;const A=n.agentId.trim();if(!A)return;const{stepName:W,prompt:q}=g;u(),g=null,await s(A,W,q)}function v(A,W){g={stepName:A,prompt:W},u(),f=setTimeout(()=>{f=null,h()},a)}Ge(()=>{n.wsLoaded&&h()});async function L(A){try{const W=await st.regionConfig.meta.query({agent:A});if(!W){n.availableRegions=[],n.defaultRegion=null,n.region=null,R("region",null);return}if(n.availableRegions=W.availableRegions,n.defaultRegion=W.defaultRegion??null,!Array.isArray(W.availableRegions)||W.availableRegions.length===0){n.region=null,R("region",null);return}const q=(Qe.url.searchParams.get("region")||"").trim()||null,le=q&&W.availableRegions.includes(q)&&q||W.defaultRegion&&W.availableRegions.includes(W.defaultRegion)&&W.defaultRegion||W.availableRegions[0]||null;n.region=le,R("region",le)}catch(W){console.error("Failed to load region config meta",W),n.availableRegions=[],n.defaultRegion=null,n.region=null,R("region",null)}}Ge(()=>{const A=C(l);A&&A!==S&&(S=A,L(A))});function F(A){h(),H();const W=n.steps.find(q=>q.name===A)||null;n.currentStep=W,W?(r(W),R("step",W.name),e({type:"step-selected",step:W.name})):R("step",null)}function I(A){const W=C(i);W&&(n.promptDrafts[W]=A,v(W,A))}const M=Ae(()=>{var A;return((A=n.currentStep)==null?void 0:A.schema)??null}),U=Ae(()=>!!C(M)&&C(M).trim().length>0);let w=Ue(!1);function p(){C(M)&&Te(w,!0)}function k({value:A}){if(A===n.edit.tab)return;h(),H();const W=Qe.url.searchParams.get("step"),q=Qe.url.searchParams.get("region"),le=`/edit/${d(n.agentId)}/${A}`,xe=new URLSearchParams;W&&xe.set("step",W),q&&xe.set("region",q);const Ee=xe.size?`${le}?${xe.toString()}`:le;pt(Ee)}const K=Ae(()=>{const A=Qe.url.pathname.split("/")[1];return A==="traces"?"view":A});function P({value:A}){if(A!==C(K)){if(h(),H(),A==="edit")return pt("/edit");if(A==="view")return pt(`/view?agent=${d(n.agentId)}`);pt("/"+A)}}function $(A){var W;return n.contextPopoverOpen=!1,n.edit=Ir(n.edit,{kind:A}),((W=n.edit.popover)==null?void 0:W.requestId)??0}function te(A,W){n.edit=Fr(n.edit,{requestId:A,data:W})}function X(A,W,q){n.edit=Br(n.edit,{requestId:A,error:W,data:q})}function ue(){n.edit=Mr(n.edit)}function ge(){ue(),n.contextPopoverOpen=!0}function J(){n.contextPopoverOpen=!1}function Z(){n.contextPopoverOpen?J():ge()}function H(){ue(),J()}function Q(A){return A==="analyze"?"Analyze":"Find issues"}function Y(A){n.edit=Kr(n.edit,A)}function ce(A){n.edit=jr(n.edit,A)}let he=null,_e=Ue(!1),Se=null;Ge(()=>{var W;const A=((W=n.currentStep)==null?void 0:W.name)??null;A!==Se&&(Se=A,Te(_e,!1))});function b(A,W){he==null||he.dispose(),he=Wr(A,W),he.setHighlights(n.edit.highlights)}Ge(()=>{const A=n.edit.highlights;he==null||he.setHighlights(A)});let j=Ue("");Ge(()=>{const A=Qe.url.toString();A!==C(j)&&(Te(j,A,!0),n.edit=Rr(n.edit,{pathname:Qe.url.pathname}),n.contextPopoverOpen=!1)});function z(A,W,q){return Math.max(W,Math.min(q,A))}function G(A){const W=new Map;for(const q of A||[])for(const le of q.contradictingQuotes||[]){const xe=String(le||"").trim();xe&&W.set(xe,(W.get(xe)||0)+1)}return[...W.entries()].map(([q,le])=>({quote:q,count:z(le,1,10)})).sort((q,le)=>le.count-q.count||q.quote.localeCompare(le.quote))}let ie=Ue(!1);async function ae(){var W;if(C(ie)||!n.currentStep)return;Te(ie,!0);const A=$("findIssues");try{const q=await st.tests.findPromptIssues.mutate({agent:n.agentId,step:n.currentStep.name,prompt:C(m)}),le=G(q.issues||[]);if(((W=n.edit.popover)==null?void 0:W.requestId)!==A)return;Y(le);let xe=null;try{xe=JSON.stringify(q.raw,null,2)}catch{xe=null}te(A,{title:`Prompt issues — ${n.currentStep.name}`,issues:q.issues,raw:xe})}catch(q){console.error(q);const le=typeof(q==null?void 0:q.message)=="string"?q.message:(()=>{try{return JSON.stringify(q)}catch{return String(q)}})();X(A,le||"Failed to find issues in this prompt",{title:`Prompt issues failed — ${n.currentStep.name}`,raw:le})}finally{Te(ie,!1)}}function we(A){h(),H();const W=Qe.url.searchParams.get("step"),q=Qe.url.searchParams.get("region"),le=`/edit/${d(A)}/${n.edit.tab}`,xe=new URLSearchParams;W&&xe.set("step",W),q&&xe.set("region",q);const Ee=xe.size?`${le}?${xe.toString()}`:le;pt(Ee)}function fe(A){!A||A===n.region||(h(),n.region=A,R("region",A))}xn({state:n,actions:{openPopover:$,setPopoverReady:te,setPopoverError:X,closePopover:ue,setHighlightQuotes:Y,focusQuote:ce,openContextPopover:ge,closeContextPopover:J,toggleContextPopover:Z,sendAppEvent:e,sendChatMessage:A=>{if(!n.wsLoaded||!n.chatReady){console.warn("[roleplay] Ignoring chat message while websocket session is reconnecting");return}rt.sendMessage({channel:"chat",message:A})},flushPromptSave:h,selectState:A=>{h(),H(),V=A,n.currentState=A,Mt(),jt(),e({type:"select-agent",agent:n.agentId,state:A,region:n.region})},hangup(){e({type:"hangup",agentId:n.agentId,region:n.region})}}}),Ft(async()=>{try{Te(E,await st.agents.list.query(),!0)}catch(A){console.error("Failed to load agents",A)}rt.onClose(()=>{n.wsLoaded=!1,n.chatReady=!1,n.context=null,n.promptContext=null,n.agentStates=[],n.currentState=null,n.contextPopoverOpen=!1,y=null}),rt.onError(A=>c(A)),rt.onMessage(A=>{if(A.channel==="app-events"){if(A.event.type==="agents-loaded"){n.wsLoaded=!0;return}if(A.event.type==="context-updated"){n.context=A.event.context,A.event.promptContext&&(n.promptContext=A.event.promptContext);return}if(A.event.type==="update-states"){const W=n.agentStates.length;n.agentStates=A.event.states;const q=n.agentStates.length>0?n.agentStates[n.agentStates.length-1].id:null;V!==void 0?n.currentState=V:(n.currentState===null&&W===0&&q||n.agentStates.length>W)&&(n.currentState=q),V=void 0;return}if(A.event.type==="agent-selected"){n.steps=A.event.agent.steps,n.agentType=A.event.agent.type;const W={};for(const Fe of n.steps){const ke=n.promptDrafts[Fe.name];W[Fe.name]=typeof ke=="string"?ke:Fe.prompt??""}n.promptDrafts=W;const q=(Qe.url.searchParams.get("step")||"").trim()||null,le=q?n.steps.find(Fe=>Fe.name===q)??null:null,xe=n.steps.find(Fe=>Fe.name.toLowerCase()==="main")??n.steps[0]??null,Ee=le??xe;n.currentStep=Ee,Ee?(r(Ee),Ee.name!==q&&R("step",Ee.name),e({type:"step-selected",step:Ee.name}),h()):R("step",null);return}return}if(A.channel==="log"){In(A.message);return}if(A.channel==="step-trace"){bn(A.trace);return}if(A.channel==="api-call-trace"){En(A.trace);return}if(A.channel==="conversational-trace"){kn(A.trace);return}if(A.channel==="error"){c(A.message);return}}),rt.init(),n.wsLoaded=rt.isReady()}),qt(()=>{h(),u(),he==null||he.dispose(),he=null}),Ge(()=>{const A=C(l);if(A!==n.agentId&&(h(),g=null,u(),n.chatReady=!1,n.promptDrafts={},n.steps=[],n.currentStep=null),n.agentId=A,!n.wsLoaded){n.chatReady=!1;return}if(!n.agentId){n.chatReady=!1;return}if(n.availableRegions.length>0&&!n.region){n.chatReady=!1;return}const W=`${n.agentId}::${n.region??""}`;y!==W&&(y=W,Mt(),jt(),H(),n.currentState=null,n.agentStates=[],n.context=null,n.promptContext=null,h(),V=void 0,n.chatReady=!1,e({type:"select-agent",agent:n.agentId,region:n.region}),n.chatReady=!0)});var be=ei(),Ie=Be(be),Me=se(Ie);Nn(Me,{className:"flex-none",get agents(){return C(E)},get currentAgent(){return n.agentId},onAgentClick:we});var We=ve(Me,2),at=se(We),lt=ve(se(at),2),bt=se(lt);Pt(bt,{get value(){return C(K)},ariaLabel:"Top tabs",onChange:P,children:(A,W)=>{var q=$r(),le=Be(q);it(le,{value:"edit",children:(Ee,Fe)=>{Ve();var ke=He("Edit");oe(Ee,ke)},$$slots:{default:!0}});var xe=ve(le,2);it(xe,{value:"view",children:(Ee,Fe)=>{Ve();var ke=He("View");oe(Ee,ke)},$$slots:{default:!0}}),oe(A,q)},$$slots:{default:!0}}),re(lt);var gt=ve(lt,2),ct=se(gt);{var Et=A=>{var W=qr(),q=ve(Be(W),2),le=se(q);wt(le,{variant:"secondary",size:"small",get"aria-expanded"(){return C(B)},"aria-haspopup":"listbox","aria-controls":D,onclick:Ee=>{Ee.stopPropagation(),Te(B,!C(B))},class:"flex w-32 items-center justify-between gap-1 !px-3 !py-1",get el(){return C(O)},set el(Ee){Te(O,Ee,!0)},children:(Ee,Fe)=>{var ke=Hr(),Ke=Be(ke),qe=se(Ke,!0);re(Ke);var tt=ve(Ke,2);{let Pe=Ae(()=>"size-5 text-rc-gray-400 transition-transform duration-200 "+(C(B)?"rotate-180":""));Sn(tt,{name:"chevron-down",get class(){return C(Pe)}})}je(()=>Re(qe,n.region)),oe(Ee,ke)},$$slots:{default:!0}});var xe=ve(le,2);On(xe,{id:D,get open(){return C(B)},onClose:()=>Te(B,!1),get anchorEl(){return C(O)},placement:"bottom-end",offset:[0,1],children:Fe=>{var ke=Gr();ot(ke,21,()=>n.availableRegions,Nt,(Ke,qe)=>{{let tt=Ae(()=>C(qe)===n.region),Pe=Ae(()=>`w-full rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400 ${C(qe)===n.region?"bg-rc-gray-800 text-rc-gray-100":"text-rc-gray-200"}`);wt(Ke,{variant:"ghost",size:"small",role:"option",get"aria-selected"(){return C(tt)},onclick:De=>{De.stopPropagation(),Te(B,!1),fe(C(qe))},get class(){return C(Pe)},children:(De,ze)=>{Ve();var Xe=He();je(()=>Re(Xe,C(qe))),oe(De,Xe)},$$slots:{default:!0}})}}),re(ke),oe(Fe,ke)},$$slots:{default:!0}}),re(q),oe(A,W)};Ce(ct,A=>{n.availableRegions.length>0&&n.region&&A(Et)})}re(gt),re(at);var Ye=ve(at,2),Ze=se(Ye),ee=se(Ze);dt(ee,{class:"flex h-full min-w-0 flex-col !rounded-none p-0",children:(A,W)=>{var q=Jr(),le=se(q);{var xe=ke=>{var Ke=zr();oe(ke,Ke)},Ee=ke=>{var Ke=Qr();oe(ke,Ke)},Fe=ke=>{var Ke=ht(),qe=Be(Ke);ot(qe,17,()=>n.steps,Nt,(tt,Pe)=>{var De=Yr(),ze=se(De),Xe=se(ze,!0);re(ze),re(De),je(()=>{var ft;_n(De,1,`my-1 w-full rounded-lg px-3 py-2 text-left text-rc-gray-200 hover:bg-rc-gray-700 ${C(Pe).name===((ft=n.currentStep)==null?void 0:ft.name)?"bg-rc-gray-600":"bg-transparent"}`),Re(Xe,C(Pe).name)}),xt("click",De,()=>F(C(Pe).name)),oe(tt,De)}),oe(ke,Ke)};Ce(le,ke=>{n.wsLoaded?n.steps.length===0?ke(Ee,1):ke(Fe,-1):ke(xe)})}re(q),oe(A,q)}});var ne=ve(ee,2),de=se(ne),pe=se(de),ye=se(pe),Oe=se(ye,!0);re(ye),re(pe);var Ne=ve(pe,2),$e=se(Ne),Je=se($e);zt(Je),Ve(2),re($e);var kt=ve($e,2);{let A=Ae(()=>!n.currentStep||C(ie));wt(kt,{variant:"secondary",get disabled(){return C(A)},onclick:ae,children:(W,q)=>{Ve();var le=He("Find issues");oe(W,le)},$$slots:{default:!0}})}re(Ne),re(de);var et=ve(de,2),Ot=se(et);{var St=A=>{var W=ht(),q=Be(W);vn(q,()=>n.currentStep.name,le=>{ur(le,{class:"h-full min-w-0 border-thin border-rc-gray-650 bg-rc-gray-800 shadow-inner-white-soft backdrop-blur-3xl focus:outline-none focus:ring-0",get initialPrompt(){return C(m)},get agentId(){return n.agentId},get stepName(){return n.currentStep.name},onPromptChanged:I,get showSchemaButton(){return C(U)},onSchemaClick:p,showPreviewToggle:!1,get preview(){return C(_e)},onEditorReady:b})}),oe(A,W)},ut=A=>{dt(A,{class:"flex h-full min-w-0 items-center justify-center !rounded-none p-4 text-sm text-rc-gray-400",children:(W,q)=>{Ve();var le=He("Select a step to edit its prompt");oe(W,le)}})};Ce(Ot,A=>{n.currentStep?A(St):A(ut,-1)})}re(et),re(ne);var rn=ve(ne,2);dt(rn,{class:"relative flex h-full min-w-0 flex-col overflow-hidden !rounded-none p-0",children:(A,W)=>{var q=Zr(),le=Be(q),xe=se(le);Pt(xe,{get value(){return n.edit.tab},ariaLabel:"Mode tabs",onChange:k,children:(Pe,De)=>{var ze=Xr(),Xe=Be(ze);it(Xe,{value:"roleplay",children:(nt,Lt)=>{Ve();var yt=He("Roleplay");oe(nt,yt)},$$slots:{default:!0}});var ft=ve(Xe,2);it(ft,{value:"tests",children:(nt,Lt)=>{Ve();var yt=He("Tests");oe(nt,yt)},$$slots:{default:!0}});var an=ve(ft,2);{var ln=nt=>{it(nt,{value:"configure",children:(Lt,yt)=>{Ve();var cn=He("Configure");oe(Lt,cn)},$$slots:{default:!0}})};Ce(an,nt=>{n.defaultRegion!==null&&nt(ln)})}oe(Pe,ze)},$$slots:{default:!0}}),re(le);var Ee=ve(le,2),Fe=se(Ee);gn(Fe,()=>T.children),re(Ee);var ke=ve(Ee,2);{var Ke=Pe=>{{const De=Xe=>{Tr(Xe,{})};let ze=Ae(()=>Q(n.edit.popover.kind));Kt(Pe,{get title(){return C(ze)},onClose:ue,children:De})}};Ce(ke,Pe=>{n.edit.popover&&Pe(Ke)})}var qe=ve(ke,2);{var tt=Pe=>{Kt(Pe,{title:"Edit context",onClose:J,children:ze=>{Cr(ze,{})}})};Ce(qe,Pe=>{n.contextPopoverOpen&&Pe(tt)})}oe(A,q)}}),re(Ze),re(Ye),re(We),re(Ie);var on=ve(Ie,2);{var sn=A=>{mn(A,{title:"Schema",class:"!w-[80vw] !max-w-5xl",get open(){return C(w)},set open(q){Te(w,q,!0)},children:q=>{Dn(q,{class:"h-[70vh] min-w-0",get schema(){return C(M)},onChange:console.log})},$$slots:{default:!0}})};Ce(on,A=>{C(M)&&A(sn)})}je(()=>{var A;Re(Oe,((A=n.currentStep)==null?void 0:A.name)??"Prompt"),Je.disabled=!n.currentStep}),wn(Je,()=>C(_e),A=>Te(_e,A)),oe(N,be),mt()}It(["click"]);export{Ni as component};
@@ -0,0 +1 @@
1
+ import{d as Mt,b as U,a as v,t as C,f as b,c as zt}from"../chunks/C4SnSfql.js";import{o as Bt}from"../chunks/C-whEtKd.js";import{p as Rt,q as d,v as ge,d as qt,t as k,j as t,a as Ot,e as Gt,f as me,s as i,c as n,w as s,n as P,$ as Qt,o as T,r as o}from"../chunks/Dv8m1cTI.js";import{s as f}from"../chunks/_yZg6Sf-.js";import{i as Q}from"../chunks/CXo2BVs0.js";import{e as Qe,i as Ve}from"../chunks/D8e7SQh9.js";import{s as Vt}from"../chunks/D4obUD_s.js";import{h as Wt}from"../chunks/HXxIsSOO.js";import{b as We,c as He}from"../chunks/ks45gSgq.js";import{s as Ht}from"../chunks/DYhTBLDc.js";import{p as Jt}from"../chunks/HJHYLHDn.js";import{g as y}from"../chunks/BR5f5i_E.js";import{p as g}from"../chunks/UiXQyKcj.js";import{B as V}from"../chunks/DTlGvFHe.js";import{I as Kt}from"../chunks/AocOovHL.js";import{I as Xt}from"../chunks/Cosugfe8.js";import{m as Yt}from"../chunks/ddC1NP9R.js";import{p as Je,T as Zt,g as ea}from"../chunks/JcG4w2gF.js";import{T as ta,a as Ke}from"../chunks/CSv1VDXg.js";import{A as aa}from"../chunks/CxLG58rb.js";import{g as ra}from"../chunks/BTvePR6r.js";import{t as sa}from"../chunks/BL8rPcmP.js";var oa=b("<!> <!>",1),Xe=b("<option> </option>"),na=b('<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>'),la=b('<p class="py-8 text-center text-rc-gray-200">Loading...</p>'),ia=b('<p class="py-8 text-center text-rc-gray-300">No conversations found</p>'),ca=b('<span class="text-rc-gray-200">, Agent Id:</span> <span class="text-rc-green-200"> </span>',1),da=b('<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>'),va=b('<ul class="space-y-2"></ul>'),ua=b('<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>');function Fa(Ye,W){Rt(W,!0);const j=new Zt(fetch);let _e=d(ge([])),_=d(void 0),h=d(null);const p=P(()=>(g.url.searchParams.get("agent")??"").trim());let L=d(""),H=d(20),M=d("20"),z=d(!0),x=d(ge([])),I=d(null),B=d(!1),J=d(null),he=d(0),w=d(ge([])),N=d(""),R=d(!1),K=d(null),xe=d(!1),X=d(null),ye=Jt(W,"useMock",3,!1);const{onError:be}=ra();function Ze(e){return new Date(e).toLocaleString()}function et(e){const a=Math.floor(e/60),r=e%60;return`${a}:${String(r).padStart(2,"0")}`}function we(e=t(p)){const a=new URLSearchParams;e&&a.set("agent",e);const r=a.toString();return r?`?${r}`:""}function D(e=t(p)){return`${t(Se)}/conversations${we(e)}`}const tt=P(()=>g.url.pathname.split("/").at(-1)==="latency"?"latency":"traces");function at(e,a=t(tt),r=t(p)){return`${t(Se)}/conversations/${encodeURIComponent(e)}/${a}${we(r)}`}async function rt(e,a=t(H),r,l){return ye()?Yt.fetchConversations(a,e,r??void 0):j.getConversations({phoneNumber:e,agentId:l,limit:Number(a),lastConversationId:r??void 0})}async function E(){s(x,[],!0),s(I,null),await Y()}async function st(){s(R,!0),s(K,null);try{const e=await fetch("/traces/api/sources");if(!e.ok)throw new Error(`Failed to load sources (${e.status})`);const a=await e.json(),r=Array.isArray(a)?a:[];if(s(w,r.filter(c=>c&&typeof c.id=="string"&&typeof c.label=="string"),!0),!t(w).length)throw new Error("No sources returned");const l=ea(),u=l&&t(w).some(c=>c.id===l)?l:t(w)[0].id;s(N,u,!0),Je(u),j.setSourceId(u)}catch(e){console.error("Failed to load Telescope sources:",e),s(K,(e==null?void 0:e.message)??"Failed to load Telescope sources",!0),s(w,[],!0),s(N,""),j.setSourceId(void 0)}finally{s(R,!1)}}async function ot(e){const a=e.target.value;s(N,a,!0),Je(a),j.setSourceId(a),s(h,null),await y(D()),await E()}async function nt(){try{s(_e,await sa.agents.list.query(),!0)}catch(e){const a=e instanceof Error?e.message:e?String(e):"Unknown error";console.error("Failed to load agents:",e),be(`Failed to load agents: ${a}`)}}async function Y(){s(B,!0),s(J,null);try{const e=await rt(t(L)||void 0,t(H),t(I)??void 0,t(p)||void 0);let a=Array.isArray(e.items)?e.items.slice():[];a=a.filter(r=>!!(r!=null&&r.phoneNumber)),s(_,{limit:e.limit,items:a,lastConversationId:e.lastConversationId},!0),s(he,a.length,!0),s(I,e.lastConversationId??null,!0),s(B,!1)}catch(e){s(B,!1),s(J,e.message||"Unknown error",!0),be(`Error loading conversations: ${t(J)}`),console.error("Load page error:",e)}}async function lt(){var e;(e=t(_))!=null&&e.lastConversationId&&(t(x).push(t(_).lastConversationId),s(I,t(_).lastConversationId,!0),await Y())}async function it(){t(x).length&&(t(x).pop(),s(I,t(x).length?t(x)[t(x).length-1]:null,!0),await Y())}function ct(){var e;s(z,!t(z)),(e=t(_))!=null&&e.items&&t(_).items.sort((a,r)=>t(z)?r.createdAt-a.createdAt:a.createdAt-r.createdAt)}async function dt(e,a){var l;if(a==null||a.stopPropagation(),g.params.conversationId&&g.params.conversationId===e.conversationId||!g.params.conversationId&&((l=t(h))==null?void 0:l.conversationId)===e.conversationId){s(h,null),await y(D());return}s(h,e,!0),await y(at(e.conversationId))}function vt(e){const a=e.target.value;s(M,a,!0),s(H,parseInt(t(M),10)||20,!0)}async function Ie(){await E()}async function ut(e){e==null||e.preventDefault(),e==null||e.stopPropagation(),s(L,""),s(x,[],!0),s(I,null),await E()}const $e=P(()=>{const e=g.url.pathname.split("/")[1];return e==="traces"?"view":e}),Se=P(()=>g.url.pathname.startsWith("/view")?"/view":"/traces");function pt({value:e}){if(e!==t($e)){if(e==="edit")return t(p)?y(`/edit/${encodeURIComponent(t(p))}/roleplay`):y("/edit");if(e==="view")return y(D());y("/"+e)}}async function ft(e,a){a==null||a.stopPropagation(),e!==t(p)&&(s(h,null),await y(D(e)))}async function gt(e){e==null||e.stopPropagation(),t(p)&&(s(h,null),await y(D("")))}qt(()=>{const e=t(p);t(xe)&&e!==t(X)&&(s(X,e,!0),s(h,null),E())}),Bt(()=>{(async()=>(await Promise.all([nt(),st()]),await E(),s(X,t(p),!0),s(xe,!0)))()});var Z=ua();Wt("1uk1thp",e=>{Gt(()=>{Qt.title="Bosun: Telescope"})});var Ae=n(Z);aa(Ae,{get agents(){return t(_e)},get currentAgent(){return t(p)},onAgentClick:ft,showAllAgentsOption:!0,onAllAgentsClick:gt,className:"flex-none"});var Ce=i(Ae,2),ee=n(Ce),te=n(ee),mt=n(te);ta(mt,{get value(){return t($e)},ariaLabel:"Top tabs",onChange:pt,children:(e,a)=>{var r=oa(),l=me(r);Ke(l,{value:"edit",children:(c,S)=>{T();var m=C("Edit");v(c,m)},$$slots:{default:!0}});var u=i(l,2);Ke(u,{value:"view",children:(c,S)=>{T();var m=C("View");v(c,m)},$$slots:{default:!0}}),v(e,r)},$$slots:{default:!0}}),o(te);var ke=i(te,2),ae=n(ke),Pe=n(ae),Te=n(Pe),$=n(Te),_t=n($);{var ht=e=>{var a=zt(),r=me(a);Qe(r,17,()=>t(w),Ve,(l,u)=>{var c=Xe(),S=n(c,!0);o(c);var m={};k(()=>{f(S,t(u).label),m!==(m=t(u).id)&&(c.value=(c.__value=t(u).id)??"")}),v(l,c)}),v(e,a)},xt=e=>{var a=Xe(),r=n(a,!0);o(a),a.value=a.__value="",k(()=>f(r,t(R)?"Loading…":"No sources")),v(e,a)};Q(_t,e=>{t(w).length?e(ht):e(xt,-1)})}o($);var re=i($,2),Le=n(re);Xt(Le,{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(),Ie())},get value(){return t(L)},set value(e){s(L,e,!0)}});var yt=i(Le);{var bt=e=>{var a=na(),r=n(a);Kt(r,{name:"close",width:18,height:18}),o(a),U("click",a,ut),v(e,a)};Q(yt,e=>{t(L)&&e(bt)})}o(re);var wt=i(re,2);V(wt,{onclick:Ie,children:(e,a)=>{T();var r=C("Search");v(e,r)},$$slots:{default:!0}}),o(Te),o(Pe),o(ae);var se=i(ae,2),It=i(n(se),2);V(It,{onclick:ct,children:(e,a)=>{T();var r=C();k(()=>f(r,t(z)?"Newest first":"Oldest first")),v(e,r)},$$slots:{default:!0}}),o(se);var oe=i(se,2),q=i(n(oe),2),ne=n(q);ne.value=ne.__value="5";var le=i(ne);le.value=le.__value="10";var ie=i(le);ie.value=ie.__value="20";var Ne=i(ie);Ne.value=Ne.__value="50",o(q),o(oe);var ce=i(oe,2),De=n(ce),Ee=n(De);{let e=P(()=>t(x).length===0&&!t(I));V(Ee,{onclick:it,get disabled(){return t(e)},children:(a,r)=>{T();var l=C("Prev");v(a,l)},$$slots:{default:!0}})}var Fe=i(Ee,2);{let e=P(()=>{var a;return!((a=t(_))!=null&&a.items.length)});V(Fe,{onclick:lt,get disabled(){return t(e)},children:(a,r)=>{T();var l=C("Next");v(a,l)},$$slots:{default:!0}})}var Ue=i(Fe,2),$t=n(Ue);o(Ue),o(De),o(ce);var je=i(ce,2),Me=i(n(je),2),St=n(Me,!0);o(Me),o(je),o(ke),o(ee);var ze=i(ee,2),de=n(ze),Be=i(n(de),2),At=n(Be);{var Ct=e=>{var a=la();v(e,a)},kt=e=>{var a=ia();v(e,a)},Pt=e=>{var a=va();Qe(a,21,()=>t(_).items,Ve,(r,l)=>{var u=da(),c=n(u),S=n(c),m=n(S),Lt=n(m,!0);o(m);var Re=i(m,2),ue=n(Re),Nt=n(ue,!0);o(ue);var qe=i(ue,2),Dt=n(qe,!0);o(qe),o(Re),o(S);var Oe=i(S,2),pe=n(Oe),fe=i(n(pe),2),Et=n(fe,!0);o(fe);var Ft=i(fe,2);{var Ut=A=>{var O=ca(),F=i(me(O),2),G=n(F,!0);o(F),k(()=>f(G,t(l).agentId)),v(A,O)};Q(Ft,A=>{!t(p)&&t(l).agentId&&A(Ut)})}o(pe);var Ge=i(pe,2),jt=n(Ge);o(Ge),o(Oe),o(c),o(u),k((A,O)=>{var F,G;Ht(u,1,`cursor-pointer rounded-lg p-3 transition-colors ${(g.params.conversationId?t(l).conversationId===g.params.conversationId:t(l).conversationId===((F=t(h))==null?void 0:F.conversationId))?"bg-rc-gray-600":"bg-rc-gray-700 hover:bg-rc-gray-650"}`,"svelte-1uk1thp"),He(u,"aria-selected",g.params.conversationId?t(l).conversationId===g.params.conversationId:t(l).conversationId===((G=t(h))==null?void 0:G.conversationId)),f(Lt,A),f(Nt,t(l).medium),f(Dt,t(l).phoneNumber),f(Et,t(l).conversationId),f(jt,`Duration: ${O??""}`)},[()=>Ze(t(l).createdAt),()=>et(t(l).duration??0)]),U("click",u,A=>dt(t(l),A)),v(r,u)}),o(a),v(e,a)};Q(At,e=>{var a,r;t(B)?e(Ct):(r=(a=t(_))==null?void 0:a.items)!=null&&r.length?e(Pt,-1):e(kt,1)})}o(Be),o(de);var ve=i(de,2),Tt=n(ve);Vt(Tt,()=>W.children),o(ve),o(ze),o(Ce),o(Z),k(()=>{$.disabled=t(R)||!t(w).length,He($,"title",t(K)??"Telescope source"),f($t,`Items: ${t(he)??""}`),f(St,ye()?"Mock (local)":"Live")}),U("change",$,ot),We($,()=>t(N),e=>s(N,e)),U("change",q,vt),We(q,()=>t(M),e=>s(M,e)),U("click",ve,e=>e.stopPropagation()),v(Ye,Z),Ot()}Mt(["change","click"]);export{Fa as component};