@recombine-ai/bosun 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/bin/bosun.js +8 -8
  2. package/build/client/_app/immutable/assets/{0.CeYdzR0K.css → 0.DkT7Ji57.css} +1 -1
  3. package/build/client/_app/immutable/assets/0.DkT7Ji57.css.br +0 -0
  4. package/build/client/_app/immutable/assets/{0.CeYdzR0K.css.gz → 0.DkT7Ji57.css.gz} +0 -0
  5. package/build/client/_app/immutable/assets/{Input.D_a_Hn-e.css → Input.CJ8KyccG.css} +1 -1
  6. package/build/client/_app/immutable/assets/Input.CJ8KyccG.css.br +0 -0
  7. package/build/client/_app/immutable/assets/Input.CJ8KyccG.css.gz +0 -0
  8. package/build/client/_app/immutable/chunks/{B5pH84aF.js → 2QZUjt52.js} +1 -1
  9. package/build/client/_app/immutable/chunks/2QZUjt52.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/2QZUjt52.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/{CxPv-oiS.js → BU7aeYn4.js} +1 -1
  12. package/build/client/_app/immutable/chunks/BU7aeYn4.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/BU7aeYn4.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/{BALCah_8.js → Bb9ZigkD.js} +2 -2
  15. package/build/client/_app/immutable/chunks/Bb9ZigkD.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/Bb9ZigkD.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{De71gW9B.js → BiBGf8wR.js} +1 -1
  18. package/build/client/_app/immutable/chunks/BiBGf8wR.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/BiBGf8wR.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/{DGK-Y22B.js → C8-d_pGN.js} +8 -5
  21. package/build/client/_app/immutable/chunks/C8-d_pGN.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/C8-d_pGN.js.gz +0 -0
  23. package/build/client/_app/immutable/chunks/{BfU3a6pG.js → CYF48L9_.js} +1 -1
  24. package/build/client/_app/immutable/chunks/CYF48L9_.js.br +0 -0
  25. package/build/client/_app/immutable/chunks/CYF48L9_.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/CnRh8Bgk.js +33 -0
  27. package/build/client/_app/immutable/chunks/CnRh8Bgk.js.br +0 -0
  28. package/build/client/_app/immutable/chunks/CnRh8Bgk.js.gz +0 -0
  29. package/build/client/_app/immutable/chunks/aFZ7RY4i.js +5 -0
  30. package/build/client/_app/immutable/chunks/aFZ7RY4i.js.br +0 -0
  31. package/build/client/_app/immutable/chunks/aFZ7RY4i.js.gz +0 -0
  32. package/build/client/_app/immutable/entry/{app.z0HZlVW2.js → app.CBFo0y_h.js} +2 -2
  33. package/build/client/_app/immutable/entry/app.CBFo0y_h.js.br +0 -0
  34. package/build/client/_app/immutable/entry/app.CBFo0y_h.js.gz +0 -0
  35. package/build/client/_app/immutable/entry/start.B7Oj0YZC.js +1 -0
  36. package/build/client/_app/immutable/entry/start.B7Oj0YZC.js.br +2 -0
  37. package/build/client/_app/immutable/entry/start.B7Oj0YZC.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/{0.K529fk47.js → 0.BS46Erbu.js} +1 -1
  39. package/build/client/_app/immutable/nodes/0.BS46Erbu.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/0.BS46Erbu.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/{1.Do0rKYuZ.js → 1.BkQc4vam.js} +1 -1
  42. package/build/client/_app/immutable/nodes/1.BkQc4vam.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/1.BkQc4vam.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/{10.IAMYOUml.js → 10.CNlp77FZ.js} +3 -3
  45. package/build/client/_app/immutable/nodes/10.CNlp77FZ.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/10.CNlp77FZ.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/{17.DeKTr1ON.js → 17.C7bkiGOl.js} +2 -1
  48. package/build/client/_app/immutable/nodes/17.C7bkiGOl.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/17.C7bkiGOl.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{18.CCXr28ln.js → 18.CjBHM2ng.js} +2 -2
  51. package/build/client/_app/immutable/nodes/18.CjBHM2ng.js.br +0 -0
  52. package/build/client/_app/immutable/nodes/18.CjBHM2ng.js.gz +0 -0
  53. package/build/client/_app/immutable/nodes/2.CAYQyVDJ.js +35 -0
  54. package/build/client/_app/immutable/nodes/2.CAYQyVDJ.js.br +0 -0
  55. package/build/client/_app/immutable/nodes/2.CAYQyVDJ.js.gz +0 -0
  56. package/build/client/_app/immutable/nodes/{3.CFCUpmUO.js → 3.CoWzFM8T.js} +1 -1
  57. package/build/client/_app/immutable/nodes/3.CoWzFM8T.js.br +0 -0
  58. package/build/client/_app/immutable/nodes/3.CoWzFM8T.js.gz +0 -0
  59. package/build/client/_app/immutable/nodes/{4.BYbOpI2z.js → 4.BC-cU8Pp.js} +1 -1
  60. package/build/client/_app/immutable/nodes/4.BC-cU8Pp.js.br +0 -0
  61. package/build/client/_app/immutable/nodes/4.BC-cU8Pp.js.gz +0 -0
  62. package/build/client/_app/immutable/nodes/{5.DPO0SD9J.js → 5.BqUmLlVD.js} +1 -1
  63. package/build/client/_app/immutable/nodes/5.BqUmLlVD.js.br +0 -0
  64. package/build/client/_app/immutable/nodes/5.BqUmLlVD.js.gz +0 -0
  65. package/build/client/_app/immutable/nodes/{6.BJVVMbLC.js → 6.D4x8Wh9M.js} +1 -1
  66. package/build/client/_app/immutable/nodes/6.D4x8Wh9M.js.br +0 -0
  67. package/build/client/_app/immutable/nodes/6.D4x8Wh9M.js.gz +0 -0
  68. package/build/client/_app/immutable/nodes/{8.BAyrbFTp.js → 8.CaESldgZ.js} +1 -1
  69. package/build/client/_app/immutable/nodes/8.CaESldgZ.js.br +0 -0
  70. package/build/client/_app/immutable/nodes/8.CaESldgZ.js.gz +0 -0
  71. package/build/client/_app/immutable/nodes/9.BwiEOYkX.js +2 -0
  72. package/build/client/_app/immutable/nodes/9.BwiEOYkX.js.br +0 -0
  73. package/build/client/_app/immutable/nodes/9.BwiEOYkX.js.gz +0 -0
  74. package/build/client/_app/version.json +1 -1
  75. package/build/client/_app/version.json.br +0 -0
  76. package/build/client/_app/version.json.gz +0 -0
  77. package/build/server/chunks/{0-BAKgi60O.js → 0-6QwqOuSN.js} +3 -3
  78. package/build/server/chunks/{0-BAKgi60O.js.map → 0-6QwqOuSN.js.map} +1 -1
  79. package/build/server/chunks/{1-jYHJB-tb.js → 1-BqEYCSqb.js} +2 -2
  80. package/build/server/chunks/{1-jYHJB-tb.js.map → 1-BqEYCSqb.js.map} +1 -1
  81. package/build/server/chunks/{10-YF1bugMU.js → 10-BWSo2Lz2.js} +4 -4
  82. package/build/server/chunks/{10-YF1bugMU.js.map → 10-BWSo2Lz2.js.map} +1 -1
  83. package/build/server/chunks/{17-D9vMxjRh.js → 17-C5jRC6rL.js} +3 -3
  84. package/build/server/chunks/{17-D9vMxjRh.js.map → 17-C5jRC6rL.js.map} +1 -1
  85. package/build/server/chunks/{18-BLN7cTaf.js → 18-BzERVoaR.js} +3 -3
  86. package/build/server/chunks/{18-BLN7cTaf.js.map → 18-BzERVoaR.js.map} +1 -1
  87. package/build/server/chunks/{2-B4P_qP3q.js → 2-DTdewCMV.js} +3 -3
  88. package/build/server/chunks/{2-B4P_qP3q.js.map → 2-DTdewCMV.js.map} +1 -1
  89. package/build/server/chunks/{3-njAy3GOi.js → 3-Xnzo0PPo.js} +4 -4
  90. package/build/server/chunks/{3-njAy3GOi.js.map → 3-Xnzo0PPo.js.map} +1 -1
  91. package/build/server/chunks/{4-DPlYm_DX.js → 4-BKFeDeOj.js} +2 -2
  92. package/build/server/chunks/{4-DPlYm_DX.js.map → 4-BKFeDeOj.js.map} +1 -1
  93. package/build/server/chunks/{5-BcfdXwaX.js → 5-QQH3C-Ro.js} +3 -3
  94. package/build/server/chunks/{5-BcfdXwaX.js.map → 5-QQH3C-Ro.js.map} +1 -1
  95. package/build/server/chunks/{6-DtBEsI4e.js → 6-CYC178cM.js} +3 -3
  96. package/build/server/chunks/{6-DtBEsI4e.js.map → 6-CYC178cM.js.map} +1 -1
  97. package/build/server/chunks/{8-DVq9JSHT.js → 8-msXmgb8C.js} +2 -2
  98. package/build/server/chunks/{8-DVq9JSHT.js.map → 8-msXmgb8C.js.map} +1 -1
  99. package/build/server/chunks/{9-BMEiMRkj.js → 9-COYHphb5.js} +4 -4
  100. package/build/server/chunks/{9-BMEiMRkj.js.map → 9-COYHphb5.js.map} +1 -1
  101. package/build/server/chunks/{AgentSidebar-BYk5FBc0.js → AgentSidebar-DqMxRWln.js} +2 -2
  102. package/build/server/chunks/{AgentSidebar-BYk5FBc0.js.map → AgentSidebar-DqMxRWln.js.map} +1 -1
  103. package/build/server/chunks/{Button-CMHzABlu.js → Button-qfXYs6Cv.js} +5 -2
  104. package/build/server/chunks/Button-qfXYs6Cv.js.map +1 -0
  105. package/build/server/chunks/{ChatStepTrace-BWp_rIDm.js → ChatStepTrace-Bvxmgz7y.js} +12 -4
  106. package/build/server/chunks/ChatStepTrace-Bvxmgz7y.js.map +1 -0
  107. package/build/server/chunks/{ContextEditor-DwSmZH0Y.js → ContextEditor-CsiHhmH8.js} +30 -2
  108. package/build/server/chunks/ContextEditor-CsiHhmH8.js.map +1 -0
  109. package/build/server/chunks/{Icon-DdOrLZIU.js → Icon-SOvOgynh.js} +5 -1
  110. package/build/server/chunks/Icon-SOvOgynh.js.map +1 -0
  111. package/build/server/chunks/{_layout.svelte-BxARmfhE.js → _layout.svelte-CqwbWo_W.js} +15 -5
  112. package/build/server/chunks/_layout.svelte-CqwbWo_W.js.map +1 -0
  113. package/build/server/chunks/{_layout.svelte-BnR072vW.js → _layout.svelte-DuOlsMHY.js} +4 -4
  114. package/build/server/chunks/{_layout.svelte-BnR072vW.js.map → _layout.svelte-DuOlsMHY.js.map} +1 -1
  115. package/build/server/chunks/{_page.svelte-DKRvXTam.js → _page.svelte-B8NFVmqA.js} +3 -3
  116. package/build/server/chunks/{_page.svelte-DKRvXTam.js.map → _page.svelte-B8NFVmqA.js.map} +1 -1
  117. package/build/server/chunks/{_page.svelte-CoCvoIxm.js → _page.svelte-Ch8DnIjK.js} +5 -5
  118. package/build/server/chunks/_page.svelte-Ch8DnIjK.js.map +1 -0
  119. package/build/server/chunks/{_page.svelte-CYLWOoKK.js → _page.svelte-DASkT6Tk.js} +4 -3
  120. package/build/server/chunks/_page.svelte-DASkT6Tk.js.map +1 -0
  121. package/build/server/chunks/{_page.svelte-DYCzxw9U.js → _page.svelte-Tl1k8pGd.js} +3 -3
  122. package/build/server/chunks/{_page.svelte-DYCzxw9U.js.map → _page.svelte-Tl1k8pGd.js.map} +1 -1
  123. package/build/server/chunks/{_page.svelte-BzEHuU3o.js → _page.svelte-VFizsKQC.js} +2 -2
  124. package/build/server/chunks/{_page.svelte-BzEHuU3o.js.map → _page.svelte-VFizsKQC.js.map} +1 -1
  125. package/build/server/chunks/{_page.svelte-Bqd9YZKg.js → _page.svelte-c2LBV2K4.js} +39 -10
  126. package/build/server/chunks/_page.svelte-c2LBV2K4.js.map +1 -0
  127. package/build/server/chunks/{_server.ts-B-GidZqI.js → _server.ts-C8SkG6z-.js} +8 -3
  128. package/build/server/chunks/_server.ts-C8SkG6z-.js.map +1 -0
  129. package/build/server/index.js +1 -1
  130. package/build/server/index.js.map +1 -1
  131. package/build/server/manifest.js +14 -14
  132. package/build/server/manifest.js.map +1 -1
  133. package/package.json +16 -3
  134. package/src/backend/roleplay/agents.ts +18 -0
  135. package/src/backend/roleplay/old-server.ts +3 -0
  136. package/src/backend/tests/academy.ts +2 -2
  137. package/src/backend/traces/latency-recordings.ts +2 -4
  138. package/build/client/_app/immutable/assets/0.CeYdzR0K.css.br +0 -0
  139. package/build/client/_app/immutable/assets/Input.D_a_Hn-e.css.br +0 -0
  140. package/build/client/_app/immutable/assets/Input.D_a_Hn-e.css.gz +0 -0
  141. package/build/client/_app/immutable/chunks/B5pH84aF.js.br +0 -0
  142. package/build/client/_app/immutable/chunks/B5pH84aF.js.gz +0 -0
  143. package/build/client/_app/immutable/chunks/BALCah_8.js.br +0 -0
  144. package/build/client/_app/immutable/chunks/BALCah_8.js.gz +0 -0
  145. package/build/client/_app/immutable/chunks/BfU3a6pG.js.br +0 -0
  146. package/build/client/_app/immutable/chunks/BfU3a6pG.js.gz +0 -0
  147. package/build/client/_app/immutable/chunks/CMCi0U-6.js +0 -5
  148. package/build/client/_app/immutable/chunks/CMCi0U-6.js.br +0 -0
  149. package/build/client/_app/immutable/chunks/CMCi0U-6.js.gz +0 -0
  150. package/build/client/_app/immutable/chunks/CxPv-oiS.js.br +0 -0
  151. package/build/client/_app/immutable/chunks/CxPv-oiS.js.gz +0 -0
  152. package/build/client/_app/immutable/chunks/DGK-Y22B.js.br +0 -0
  153. package/build/client/_app/immutable/chunks/DGK-Y22B.js.gz +0 -0
  154. package/build/client/_app/immutable/chunks/De71gW9B.js.br +0 -0
  155. package/build/client/_app/immutable/chunks/De71gW9B.js.gz +0 -0
  156. package/build/client/_app/immutable/chunks/Dh5nRfGH.js +0 -33
  157. package/build/client/_app/immutable/chunks/Dh5nRfGH.js.br +0 -0
  158. package/build/client/_app/immutable/chunks/Dh5nRfGH.js.gz +0 -0
  159. package/build/client/_app/immutable/entry/app.z0HZlVW2.js.br +0 -0
  160. package/build/client/_app/immutable/entry/app.z0HZlVW2.js.gz +0 -0
  161. package/build/client/_app/immutable/entry/start.BI2d1Cy8.js +0 -1
  162. package/build/client/_app/immutable/entry/start.BI2d1Cy8.js.br +0 -2
  163. package/build/client/_app/immutable/entry/start.BI2d1Cy8.js.gz +0 -0
  164. package/build/client/_app/immutable/nodes/0.K529fk47.js.br +0 -0
  165. package/build/client/_app/immutable/nodes/0.K529fk47.js.gz +0 -0
  166. package/build/client/_app/immutable/nodes/1.Do0rKYuZ.js.br +0 -0
  167. package/build/client/_app/immutable/nodes/1.Do0rKYuZ.js.gz +0 -0
  168. package/build/client/_app/immutable/nodes/10.IAMYOUml.js.br +0 -0
  169. package/build/client/_app/immutable/nodes/10.IAMYOUml.js.gz +0 -0
  170. package/build/client/_app/immutable/nodes/17.DeKTr1ON.js.br +0 -0
  171. package/build/client/_app/immutable/nodes/17.DeKTr1ON.js.gz +0 -0
  172. package/build/client/_app/immutable/nodes/18.CCXr28ln.js.br +0 -0
  173. package/build/client/_app/immutable/nodes/18.CCXr28ln.js.gz +0 -0
  174. package/build/client/_app/immutable/nodes/2.B6rYWR87.js +0 -35
  175. package/build/client/_app/immutable/nodes/2.B6rYWR87.js.br +0 -0
  176. package/build/client/_app/immutable/nodes/2.B6rYWR87.js.gz +0 -0
  177. package/build/client/_app/immutable/nodes/3.CFCUpmUO.js.br +0 -0
  178. package/build/client/_app/immutable/nodes/3.CFCUpmUO.js.gz +0 -0
  179. package/build/client/_app/immutable/nodes/4.BYbOpI2z.js.br +0 -0
  180. package/build/client/_app/immutable/nodes/4.BYbOpI2z.js.gz +0 -0
  181. package/build/client/_app/immutable/nodes/5.DPO0SD9J.js.br +0 -0
  182. package/build/client/_app/immutable/nodes/5.DPO0SD9J.js.gz +0 -0
  183. package/build/client/_app/immutable/nodes/6.BJVVMbLC.js.br +0 -0
  184. package/build/client/_app/immutable/nodes/6.BJVVMbLC.js.gz +0 -0
  185. package/build/client/_app/immutable/nodes/8.BAyrbFTp.js.br +0 -0
  186. package/build/client/_app/immutable/nodes/8.BAyrbFTp.js.gz +0 -0
  187. package/build/client/_app/immutable/nodes/9.BUcdtwTB.js +0 -2
  188. package/build/client/_app/immutable/nodes/9.BUcdtwTB.js.br +0 -0
  189. package/build/client/_app/immutable/nodes/9.BUcdtwTB.js.gz +0 -0
  190. package/build/server/chunks/Button-CMHzABlu.js.map +0 -1
  191. package/build/server/chunks/ChatStepTrace-BWp_rIDm.js.map +0 -1
  192. package/build/server/chunks/ContextEditor-DwSmZH0Y.js.map +0 -1
  193. package/build/server/chunks/Icon-DdOrLZIU.js.map +0 -1
  194. package/build/server/chunks/_layout.svelte-BxARmfhE.js.map +0 -1
  195. package/build/server/chunks/_page.svelte-Bqd9YZKg.js.map +0 -1
  196. package/build/server/chunks/_page.svelte-CYLWOoKK.js.map +0 -1
  197. package/build/server/chunks/_page.svelte-CoCvoIxm.js.map +0 -1
  198. package/build/server/chunks/_server.ts-B-GidZqI.js.map +0 -1
  199. /package/build/client/_app/immutable/chunks/{CU1-H3C1.js → DT74mAuZ.js} +0 -0
  200. /package/build/client/_app/immutable/chunks/{CU1-H3C1.js.br → DT74mAuZ.js.br} +0 -0
  201. /package/build/client/_app/immutable/chunks/{CU1-H3C1.js.gz → DT74mAuZ.js.gz} +0 -0
@@ -10,27 +10,27 @@ return {
10
10
  assets: new Set(["favicon.png","fonts/DarkerGrotesque-Black.ttf","fonts/DarkerGrotesque-Bold.ttf","fonts/DarkerGrotesque-Light.ttf","fonts/DarkerGrotesque-Medium.ttf","fonts/DarkerGrotesque-Regular.ttf","fonts/DarkerGrotesque-SemiBold.ttf","fonts.css","recombine.svg","telescope-icon.svg","ui/arrow_tests.svg","ui/paperclip.svg","ui/send.svg"]),
11
11
  mimeTypes: {".png":"image/png",".ttf":"font/ttf",".css":"text/css",".svg":"image/svg+xml"},
12
12
  _: {
13
- client: {start:"_app/immutable/entry/start.BI2d1Cy8.js",app:"_app/immutable/entry/app.z0HZlVW2.js",imports:["_app/immutable/entry/start.BI2d1Cy8.js","_app/immutable/chunks/BfU3a6pG.js","_app/immutable/chunks/CB3MYTwM.js","_app/immutable/chunks/BRMnbBOX.js","_app/immutable/chunks/BUApaBEI.js","_app/immutable/chunks/B394X4Dm.js","_app/immutable/entry/app.z0HZlVW2.js","_app/immutable/chunks/C1FmrZbK.js","_app/immutable/chunks/BRMnbBOX.js","_app/immutable/chunks/CB3MYTwM.js","_app/immutable/chunks/CWj6FrbW.js","_app/immutable/chunks/BFchB-2I.js","_app/immutable/chunks/CMN-Rq6J.js","_app/immutable/chunks/CmatTLDp.js","_app/immutable/chunks/DCT4VKzQ.js","_app/immutable/chunks/B394X4Dm.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:true},
13
+ client: {start:"_app/immutable/entry/start.B7Oj0YZC.js",app:"_app/immutable/entry/app.CBFo0y_h.js",imports:["_app/immutable/entry/start.B7Oj0YZC.js","_app/immutable/chunks/CYF48L9_.js","_app/immutable/chunks/CB3MYTwM.js","_app/immutable/chunks/BRMnbBOX.js","_app/immutable/chunks/BUApaBEI.js","_app/immutable/chunks/B394X4Dm.js","_app/immutable/entry/app.CBFo0y_h.js","_app/immutable/chunks/C1FmrZbK.js","_app/immutable/chunks/BRMnbBOX.js","_app/immutable/chunks/CB3MYTwM.js","_app/immutable/chunks/CWj6FrbW.js","_app/immutable/chunks/BFchB-2I.js","_app/immutable/chunks/CMN-Rq6J.js","_app/immutable/chunks/CmatTLDp.js","_app/immutable/chunks/DCT4VKzQ.js","_app/immutable/chunks/B394X4Dm.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:true},
14
14
  nodes: [
15
- __memo(() => import('./chunks/0-BAKgi60O.js')),
16
- __memo(() => import('./chunks/1-jYHJB-tb.js')),
17
- __memo(() => import('./chunks/2-B4P_qP3q.js')),
18
- __memo(() => import('./chunks/3-njAy3GOi.js')),
19
- __memo(() => import('./chunks/4-DPlYm_DX.js')),
20
- __memo(() => import('./chunks/5-BcfdXwaX.js')),
21
- __memo(() => import('./chunks/6-DtBEsI4e.js')),
15
+ __memo(() => import('./chunks/0-6QwqOuSN.js')),
16
+ __memo(() => import('./chunks/1-BqEYCSqb.js')),
17
+ __memo(() => import('./chunks/2-DTdewCMV.js')),
18
+ __memo(() => import('./chunks/3-Xnzo0PPo.js')),
19
+ __memo(() => import('./chunks/4-BKFeDeOj.js')),
20
+ __memo(() => import('./chunks/5-QQH3C-Ro.js')),
21
+ __memo(() => import('./chunks/6-CYC178cM.js')),
22
22
  __memo(() => import('./chunks/7-BixmjuY5.js')),
23
- __memo(() => import('./chunks/8-DVq9JSHT.js')),
24
- __memo(() => import('./chunks/9-BMEiMRkj.js')),
25
- __memo(() => import('./chunks/10-YF1bugMU.js')),
23
+ __memo(() => import('./chunks/8-msXmgb8C.js')),
24
+ __memo(() => import('./chunks/9-COYHphb5.js')),
25
+ __memo(() => import('./chunks/10-BWSo2Lz2.js')),
26
26
  __memo(() => import('./chunks/11-D9ueFvgV.js')),
27
27
  __memo(() => import('./chunks/12-s9qxLZI8.js')),
28
28
  __memo(() => import('./chunks/13-DSBw3elU.js')),
29
29
  __memo(() => import('./chunks/14-Dys1MDrz.js')),
30
30
  __memo(() => import('./chunks/15-D8gRuCBg.js')),
31
31
  __memo(() => import('./chunks/16-BRBiMoCX.js')),
32
- __memo(() => import('./chunks/17-D9vMxjRh.js')),
33
- __memo(() => import('./chunks/18-BLN7cTaf.js'))
32
+ __memo(() => import('./chunks/17-C5jRC6rL.js')),
33
+ __memo(() => import('./chunks/18-BzERVoaR.js'))
34
34
  ],
35
35
  remotes: {
36
36
 
@@ -125,7 +125,7 @@ return {
125
125
  pattern: /^\/traces\/api\/proxy(?:\/([^]*))?\/?$/,
126
126
  params: [{"name":"path","optional":false,"rest":true,"chained":true}],
127
127
  page: null,
128
- endpoint: __memo(() => import('./chunks/_server.ts-B-GidZqI.js'))
128
+ endpoint: __memo(() => import('./chunks/_server.ts-C8SkG6z-.js'))
129
129
  },
130
130
  {
131
131
  id: "/traces/api/sources",
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"favicon.png\",\"fonts/DarkerGrotesque-Black.ttf\",\"fonts/DarkerGrotesque-Bold.ttf\",\"fonts/DarkerGrotesque-Light.ttf\",\"fonts/DarkerGrotesque-Medium.ttf\",\"fonts/DarkerGrotesque-Regular.ttf\",\"fonts/DarkerGrotesque-SemiBold.ttf\",\"fonts.css\",\"recombine.svg\",\"telescope-icon.svg\",\"ui/arrow_tests.svg\",\"ui/paperclip.svg\",\"ui/send.svg\"]),\n\tmimeTypes: {\".png\":\"image/png\",\".ttf\":\"font/ttf\",\".css\":\"text/css\",\".svg\":\"image/svg+xml\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.BI2d1Cy8.js\",app:\"_app/immutable/entry/app.z0HZlVW2.js\",imports:[\"_app/immutable/entry/start.BI2d1Cy8.js\",\"_app/immutable/chunks/BfU3a6pG.js\",\"_app/immutable/chunks/CB3MYTwM.js\",\"_app/immutable/chunks/BRMnbBOX.js\",\"_app/immutable/chunks/BUApaBEI.js\",\"_app/immutable/chunks/B394X4Dm.js\",\"_app/immutable/entry/app.z0HZlVW2.js\",\"_app/immutable/chunks/C1FmrZbK.js\",\"_app/immutable/chunks/BRMnbBOX.js\",\"_app/immutable/chunks/CB3MYTwM.js\",\"_app/immutable/chunks/CWj6FrbW.js\",\"_app/immutable/chunks/BFchB-2I.js\",\"_app/immutable/chunks/CMN-Rq6J.js\",\"_app/immutable/chunks/CmatTLDp.js\",\"_app/immutable/chunks/DCT4VKzQ.js\",\"_app/immutable/chunks/B394X4Dm.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:true},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js')),\n\t\t\t__memo(() => import('./nodes/8.js')),\n\t\t\t__memo(() => import('./nodes/9.js')),\n\t\t\t__memo(() => import('./nodes/10.js')),\n\t\t\t__memo(() => import('./nodes/11.js')),\n\t\t\t__memo(() => import('./nodes/12.js')),\n\t\t\t__memo(() => import('./nodes/13.js')),\n\t\t\t__memo(() => import('./nodes/14.js')),\n\t\t\t__memo(() => import('./nodes/15.js')),\n\t\t\t__memo(() => import('./nodes/16.js')),\n\t\t\t__memo(() => import('./nodes/17.js')),\n\t\t\t__memo(() => import('./nodes/18.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit\",\n\t\t\t\tpattern: /^\\/edit\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/configure\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/configure\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 8 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/roleplay\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/roleplay\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 9 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/tests\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/tests\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 10 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/roleplay\",\n\t\t\t\tpattern: /^\\/roleplay\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 11 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tests\",\n\t\t\t\tpattern: /^\\/tests\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 12 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tests/[agent]\",\n\t\t\t\tpattern: /^\\/tests\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 13 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces\",\n\t\t\t\tpattern: /^\\/traces\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 14 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/latency/[conversationId]\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/latency\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/latency/_conversationId_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/latency/[conversationId]/audio\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/latency\\/([^/]+?)\\/audio\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/latency/_conversationId_/audio/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/proxy/[...path]\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/proxy(?:\\/([^]*))?\\/?$/,\n\t\t\t\tparams: [{\"name\":\"path\",\"optional\":false,\"rest\":true,\"chained\":true}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/proxy/_...path_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/sources\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/sources\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/sources/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,3,], errors: [1,,], leaf: 15 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations/[conversationId]\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,3,4,], errors: [1,,,], leaf: 16 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations/[conversationId]/latency\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/([^/]+?)\\/latency\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,3,4,], errors: [1,,,], leaf: 17 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations/[conversationId]/traces\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/([^/]+?)\\/traces\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,3,4,], errors: [1,,,], leaf: 18 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"favicon.png\",\"fonts/DarkerGrotesque-Black.ttf\",\"fonts/DarkerGrotesque-Bold.ttf\",\"fonts/DarkerGrotesque-Light.ttf\",\"fonts/DarkerGrotesque-Medium.ttf\",\"fonts/DarkerGrotesque-Regular.ttf\",\"fonts/DarkerGrotesque-SemiBold.ttf\",\"fonts.css\",\"recombine.svg\",\"telescope-icon.svg\",\"ui/arrow_tests.svg\",\"ui/paperclip.svg\",\"ui/send.svg\"]),\n\tmimeTypes: {\".png\":\"image/png\",\".ttf\":\"font/ttf\",\".css\":\"text/css\",\".svg\":\"image/svg+xml\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.B7Oj0YZC.js\",app:\"_app/immutable/entry/app.CBFo0y_h.js\",imports:[\"_app/immutable/entry/start.B7Oj0YZC.js\",\"_app/immutable/chunks/CYF48L9_.js\",\"_app/immutable/chunks/CB3MYTwM.js\",\"_app/immutable/chunks/BRMnbBOX.js\",\"_app/immutable/chunks/BUApaBEI.js\",\"_app/immutable/chunks/B394X4Dm.js\",\"_app/immutable/entry/app.CBFo0y_h.js\",\"_app/immutable/chunks/C1FmrZbK.js\",\"_app/immutable/chunks/BRMnbBOX.js\",\"_app/immutable/chunks/CB3MYTwM.js\",\"_app/immutable/chunks/CWj6FrbW.js\",\"_app/immutable/chunks/BFchB-2I.js\",\"_app/immutable/chunks/CMN-Rq6J.js\",\"_app/immutable/chunks/CmatTLDp.js\",\"_app/immutable/chunks/DCT4VKzQ.js\",\"_app/immutable/chunks/B394X4Dm.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:true},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js')),\n\t\t\t__memo(() => import('./nodes/8.js')),\n\t\t\t__memo(() => import('./nodes/9.js')),\n\t\t\t__memo(() => import('./nodes/10.js')),\n\t\t\t__memo(() => import('./nodes/11.js')),\n\t\t\t__memo(() => import('./nodes/12.js')),\n\t\t\t__memo(() => import('./nodes/13.js')),\n\t\t\t__memo(() => import('./nodes/14.js')),\n\t\t\t__memo(() => import('./nodes/15.js')),\n\t\t\t__memo(() => import('./nodes/16.js')),\n\t\t\t__memo(() => import('./nodes/17.js')),\n\t\t\t__memo(() => import('./nodes/18.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit\",\n\t\t\t\tpattern: /^\\/edit\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/configure\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/configure\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 8 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/roleplay\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/roleplay\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 9 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/edit/[agent]/tests\",\n\t\t\t\tpattern: /^\\/edit\\/([^/]+?)\\/tests\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,2,], errors: [1,,], leaf: 10 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/roleplay\",\n\t\t\t\tpattern: /^\\/roleplay\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 11 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tests\",\n\t\t\t\tpattern: /^\\/tests\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 12 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tests/[agent]\",\n\t\t\t\tpattern: /^\\/tests\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"agent\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 13 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces\",\n\t\t\t\tpattern: /^\\/traces\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 14 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/latency/[conversationId]\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/latency\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/latency/_conversationId_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/latency/[conversationId]/audio\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/latency\\/([^/]+?)\\/audio\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/latency/_conversationId_/audio/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/proxy/[...path]\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/proxy(?:\\/([^]*))?\\/?$/,\n\t\t\t\tparams: [{\"name\":\"path\",\"optional\":false,\"rest\":true,\"chained\":true}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/proxy/_...path_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/api/sources\",\n\t\t\t\tpattern: /^\\/traces\\/api\\/sources\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/traces/api/sources/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,3,], errors: [1,,], leaf: 15 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations/[conversationId]\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,3,4,], errors: [1,,,], leaf: 16 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations/[conversationId]/latency\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/([^/]+?)\\/latency\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,3,4,], errors: [1,,,], leaf: 17 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/traces/conversations/[conversationId]/traces\",\n\t\t\t\tpattern: /^\\/traces\\/conversations\\/([^/]+?)\\/traces\\/?$/,\n\t\t\t\tparams: [{\"name\":\"conversationId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,3,4,], errors: [1,,,], leaf: 18 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@recombine-ai/bosun",
3
3
  "author": "recombine.ai",
4
- "version": "0.8.0",
4
+ "version": "0.8.2",
5
5
  "license": "EULA",
6
6
  "bin": {
7
7
  "bosun": "./bin/bosun.js"
@@ -22,12 +22,14 @@
22
22
  "dev:ws": "tsx --watch src/backend/server.ts",
23
23
  "build": "vite build",
24
24
  "prepublishOnly": "npm run build",
25
+ "prepare": "husky",
25
26
  "preview": "vite preview",
26
27
  "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
27
28
  "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
28
29
  "typecheck": "svelte-kit sync && tsc --noEmit",
29
30
  "format": "prettier --write .",
30
31
  "lint": "prettier --check .",
32
+ "precommit-hook": "lint-staged",
31
33
  "test:unit": "vitest",
32
34
  "test": "npm test:unit -- --run && npm test:e2e",
33
35
  "test:e2e": "playwright test",
@@ -61,6 +63,8 @@
61
63
  "concurrently": "^9.1.2",
62
64
  "esbuild": "^0.27.0",
63
65
  "eslint": "^9.26.0",
66
+ "husky": "^9.1.7",
67
+ "lint-staged": "^16.2.4",
64
68
  "prettier": "^3.3.2",
65
69
  "prettier-plugin-svelte": "^3.2.6",
66
70
  "prettier-plugin-tailwindcss": "^0.6.5",
@@ -89,6 +93,7 @@
89
93
  "googleapis": "^159.0.0",
90
94
  "he": "^1.2.0",
91
95
  "js-yaml": "^4.1.0",
96
+ "moment": "^2.30.1",
92
97
  "monaco-editor": "^0.52.2",
93
98
  "nunjucks": "^3.2.4",
94
99
  "openai": "^4.78.1",
@@ -99,9 +104,17 @@
99
104
  "tsx": "^4.20.6",
100
105
  "vis-data": "^8.0.3",
101
106
  "vis-timeline": "^8.5.0",
102
- "xss": "^1.0.15",
103
- "moment": "^2.30.1",
104
107
  "ws": "^8.18.0",
108
+ "xss": "^1.0.15",
105
109
  "zod": "3.24.1"
110
+ },
111
+ "husky": {
112
+ "hooks": {}
113
+ },
114
+ "lint-staged": {
115
+ "*.{svelte,ts,tsx,js,jsx,json,md,css,scss,html,yml,yaml}": [
116
+ "npm run format",
117
+ "npm run eslint:fix"
118
+ ]
106
119
  }
107
120
  }
@@ -163,6 +163,7 @@ export function createAgents(
163
163
 
164
164
  dispatcher.sendAgentSelected({
165
165
  id: agentId,
166
+ type: isVoiceAgent(agent.agent) ? 'voice' : 'text',
166
167
  steps: await Promise.all(
167
168
  agent.tracer.getSteps().map(async (s) => ({
168
169
  name: s.name,
@@ -215,6 +216,14 @@ export function createAgents(
215
216
  handleMessage: async (message: Message) => {
216
217
  await dispatcher.sendMessage(message) // echo message
217
218
  currentStateId = await (await getCurrentAgent()).handleMessage(message)
219
+ },
220
+ hangup: async (agentId: string, region: string | null) => {
221
+ const cacheKey = getAgentCacheKey(agentId, region)
222
+ let agent = agents[cacheKey]
223
+ if (!agent) {
224
+ throw new Error(`Cannot hangup: cannot find agent: ${cacheKey}`)
225
+ }
226
+ await agent.hangup()
218
227
  }
219
228
  }
220
229
 
@@ -522,6 +531,15 @@ export async function loadAgent(props: LoadProps) {
522
531
  state.schedule = scheduler.serialize()
523
532
  }
524
533
  },
534
+ hangup() {
535
+ if (!agent) {
536
+ throw new Error('Cannot trigger hangup: agent is not initialized')
537
+ }
538
+ if (!isVoiceAgent(agent)) {
539
+ throw new Error('Cannot hangup: not a voice agent')
540
+ }
541
+ return agent.onCallEnd()
542
+ },
525
543
  handleMessage: async (message: Message) => {
526
544
  if (!agent) {
527
545
  throw new Error('Cannot handle message: agent is not initialized')
@@ -52,6 +52,9 @@ export async function oldServer(ws: WebSocket) {
52
52
  case 'step-selected':
53
53
  await agents.selectStep(msg.event.step)
54
54
  break
55
+ case 'hangup':
56
+ await agents.hangup(msg.event.agentId, msg.event.region)
57
+ break
55
58
 
56
59
  default:
57
60
  console.error(`Unknown event type: ${msg.event.type}`)
@@ -124,7 +124,7 @@ const mergeContexts = (baseCtx: Record<string, any>, testCtx: Record<string, any
124
124
  deepmerge(baseCtx || {}, testCtx || {}, { arrayMerge: (_d, s, _o) => s })
125
125
 
126
126
  // Parse a multi-line sheet conversation string into engine messages
127
- function parseConversationFromSheet(conversation: string | undefined | null): Conversation {
127
+ function parseConversationFromText(conversation: string | undefined | null): Conversation {
128
128
  if (!conversation) return []
129
129
 
130
130
  // Greedily accumulate lines for a role until the next role marker.
@@ -192,7 +192,7 @@ function toTestInputs(
192
192
  let conversation: Conversation = []
193
193
  let conversationParseError: string | undefined
194
194
  try {
195
- conversation = parseConversationFromSheet(row.conversation)
195
+ conversation = parseConversationFromText(row.conversation)
196
196
  } catch (err) {
197
197
  conversation = []
198
198
  conversationParseError = err instanceof Error ? err.message : String(err)
@@ -82,10 +82,8 @@ async function writeMetadataFile(filePath: string, metadata: LatencyRecordingMet
82
82
  export function isWavBytes(bytes: Uint8Array): boolean {
83
83
  if (!(bytes instanceof Uint8Array) || bytes.byteLength < 12) return false
84
84
 
85
- const riff =
86
- bytes[0] === 0x52 && bytes[1] === 0x49 && bytes[2] === 0x46 && bytes[3] === 0x46
87
- const wave =
88
- bytes[8] === 0x57 && bytes[9] === 0x41 && bytes[10] === 0x56 && bytes[11] === 0x45
85
+ const riff = bytes[0] === 0x52 && bytes[1] === 0x49 && bytes[2] === 0x46 && bytes[3] === 0x46
86
+ const wave = bytes[8] === 0x57 && bytes[9] === 0x41 && bytes[10] === 0x56 && bytes[11] === 0x45
89
87
 
90
88
  return riff && wave
91
89
  }
@@ -1,5 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./DLQqXQ6R.js","./C1FmrZbK.js","../assets/editor.BMIWPGx3.css"])))=>i.map(i=>d[i]);
2
- import"./CWj6FrbW.js";import{o as ar,b as sr,s as v}from"./CB3MYTwM.js";import{p as qe,h as t,i as Rt,l as rt,k as Ge,f as g,d as r,r as e,t as k,b as i,c as ze,e as nr,a as st,u as b,s as n,n as Dt,g as yt,bq as Tr,q as Se}from"./BRMnbBOX.js";import{i as T}from"./BFchB-2I.js";import{s as Kt,c as Ke}from"./DMtzEpj5.js";import{M as Xe}from"./CJHvtD7r.js";import{T as or,a as Te}from"./C1rQHXql.js";import{B as Qe}from"./DGK-Y22B.js";import{I as ir}from"./BALCah_8.js";import{c as Sr}from"./3HVf2z3Q.js";import{p as Ie}from"./DCT4VKzQ.js";import{_ as lr}from"./C1FmrZbK.js";import{e as we,i as Ce}from"./D_iTaAhh.js";import{b as dr}from"./CmatTLDp.js";import{g as Mr}from"./BfU3a6pG.js";import{t as kr}from"./BEJ5fU19.js";import{c as ur,b as Pr}from"./DJH8-Pxb.js";import{e as fr,a as mr}from"./CxPv-oiS.js";function cr(z={}){const o=z.thresholdPx??4,j=z.dragCursor??"text";let H=0,F=0,D=!1,Z=!1,S=null,U=null;function _(){Z=!1,D=!1,S==null||S.style.removeProperty("cursor"),S=null,U==null||U.abort(),U=null}function V(I){if(typeof window>"u"||I.button!==0)return;U==null||U.abort(),U=null,S==null||S.style.removeProperty("cursor"),H=I.clientX,F=I.clientY,D=!1,Z=!0,S=I.currentTarget instanceof HTMLElement?I.currentTarget:null;const nt=new AbortController;U=nt;const Xt=Ot=>{if(!Z||D)return;const Bt=Math.abs(Ot.clientX-H),At=Math.abs(Ot.clientY-F);Bt+At<o||(D=!0,S==null||S.style.setProperty("cursor",j))},zt=()=>{Z=!1,S==null||S.style.removeProperty("cursor"),S=null,nt.abort(),U===nt&&(U=null)};window.addEventListener("pointermove",Xt,{signal:nt.signal}),window.addEventListener("pointerup",zt,{signal:nt.signal}),window.addEventListener("pointercancel",zt,{signal:nt.signal})}function L(I){return I.detail>0&&D}return{onPointerDown:V,shouldSuppressClick:L,cleanup:_}}var Ar=g('<div><div class="h-full w-full"></div></div>');function Ee(z,o){qe(o,!0);let j=Ie(o,"language",3,"json"),H=Ie(o,"class",3,""),F=null,D=null,Z=Rt(null),S=Rt(!1);ar(()=>{if(!t(Z))return;fr();let V=!1;return lr(()=>import("./DLQqXQ6R.js").then(L=>L.e),__vite__mapDeps([0,1,2]),import.meta.url).then(L=>{V||(mr(L),F=L.editor.create(t(Z),{value:o.value??"",language:j(),theme:"bosun-dark",lineNumbers:"off",readOnly:!0,automaticLayout:!0,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:"on",overviewRulerBorder:!1,hideCursorInOverviewRuler:!0,matchBrackets:"never",bracketPairColorization:{enabled:!1},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},occurrencesHighlight:"off",selectionHighlight:!1,renderLineHighlight:"none",contextmenu:!1}),D=F.getModel(),rt(S,!0))}).catch(L=>{console.error("ReadOnlyMonaco: failed to init",L)}),()=>{V=!0;const L=D;if(D=null,F){try{F.setModel(null)}catch{}F.dispose(),F=null}try{L==null||L.dispose()}catch{}}}),Ge(()=>{if(!F||!t(S))return;const V=o.value??"";F.getValue()!==V&&F.setValue(V)});var U=Ar(),_=r(U);dr(_,V=>rt(Z,V),()=>t(Z)),e(U),k(()=>Kt(U,1,`overflow-hidden rounded-md border border-rc-gray-700 ${H()}`)),i(z,U),ze()}var Cr=(z,o,j)=>{o.shouldSuppressClick(z)||rt(j,!0)},Er=g('<span class="text-[13px] leading-none text-rc-gray-400"> </span>'),Ir=g('<div class="rounded-md border border-red-500 bg-red-950/40 p-3 font-mono text-sm text-red-200"> </div>'),Nr=g("<!> <!>",1),Lr=g('<div class="flex flex-col gap-3"><!> <div class="flex flex-wrap items-center justify-between gap-2 text-sm text-rc-gray-200"><div class="flex flex-wrap items-center gap-x-4 gap-y-1"><div><span class="text-rc-gray-400">Timing:</span> </div> <div><span class="text-rc-gray-400">Response time:</span> </div> <div><span class="text-rc-gray-400">URL:</span> </div></div> <!></div> <div><!> <div class="mt-2 h-[55vh]"><!></div></div></div>'),Dr=g('<button type="button" class="flex w-full cursor-pointer select-text items-baseline gap-2 truncate rounded-md bg-transparent px-2 py-1 text-left text-sm text-rc-gray-200 hover:bg-rc-gray-800/40"><!> <!> <span> </span></button> <!>',1);function Ns(z,o){qe(o,!0);let j=Rt(!1),H=Rt("request");const F=cr();sr(F.cleanup);function D(J){try{if(typeof J=="string"){const N=J.trim();if(!N)return"";const Ct=JSON.parse(N);return JSON.stringify(Ct,null,2)}}catch{}try{return JSON.stringify(J??null,null,2)}catch{return String(J)}}function Z(J){return new Date(J).toISOString()}function S(J){if(typeof J!="number"||!Number.isFinite(J))return null;const N=new Date(J);if(Number.isNaN(N.getTime()))return null;const Ct=String(N.getHours()).padStart(2,"0"),wt=String(N.getMinutes()).padStart(2,"0"),Zt=String(N.getSeconds()).padStart(2,"0");return`${Ct}:${wt}:${Zt}`}const U=b(()=>S(o.trace.createdAt)),_=b(()=>{if(o.trace.error!=null)return o.trace.error;if(!(o.trace.ok===!1||typeof o.trace.status=="number"&&o.trace.status>=400))return;const N=o.trace.response;return N&&typeof N=="object"&&"error"in N&&N.error!=null?N.error:{status:o.trace.status,ok:o.trace.ok}}),V=b(()=>t(_)!=null),L=b(()=>`API: ${o.trace.operationName}`),I=b(()=>o.trace.operationName),nt=b(()=>typeof o.trace.createdAt!="number"?"—":Z(o.trace.createdAt));async function Xt(){const J=D(o.trace);try{await navigator.clipboard.writeText(J)}catch(N){console.error("Failed to copy",N)}}const zt=b(()=>D({method:o.trace.method,path:o.trace.path,baseUrl:o.trace.baseUrl,request:o.trace.request})),Ot=b(()=>D({status:o.trace.status,ok:o.trace.ok,response:o.trace.response,error:t(_)})),Bt=b(()=>t(_)!=null?D(t(_)):"");var At=Dr(),Wt=st(At);Wt.__pointerdown=function(...J){var N;(N=F.onPointerDown)==null||N.apply(this,J)},Wt.__click=[Cr,F,j];var Ht=r(Wt);{let J=b(()=>t(V)?"close":"checkmark"),N=b(()=>t(V)?"self-center text-red-400":"self-center text-rc-green-200");ir(Ht,{get name(){return t(J)},width:18,height:18,get class(){return t(N)}})}var Jt=n(Ht,2);{var Yt=J=>{var N=Er(),Ct=r(N,!0);e(N),k(()=>v(Ct,t(U))),i(J,N)};T(Jt,J=>{t(U)&&J(Yt)})}var bt=n(Jt,2),Qt=r(bt,!0);e(bt),e(Wt);var me=n(Wt,2);{var Me=J=>{Xe(J,{get title(){return t(L)},class:"!w-[85vw] !max-w-5xl",get open(){return t(j)},set open(Ct){rt(j,Ct,!0)},children:Ct=>{var wt=Lr(),Zt=r(wt);{var Pe=Q=>{var Et=Ir(),Mt=r(Et,!0);e(Et),k(()=>v(Mt,t(Bt))),i(Q,Et)};T(Zt,Q=>{t(Bt)&&Q(Pe)})}var ke=n(Zt,2),ge=r(ke),_e=r(ge),de=n(r(_e));e(_e);var ce=n(_e,2),M=n(r(ce));e(ce);var B=n(ce,2),ot=n(r(B));e(B),e(ge);var X=n(ge,2);Qe(X,{variant:"secondary",size:"small",onclick:Xt,children:(Q,Et)=>{Dt();var Mt=yt("Copy raw trace");i(Q,Mt)},$$slots:{default:!0}}),e(ke);var $=n(ke,2),xt=r($);or(xt,{get value(){return t(H)},ariaLabel:"API trace tabs",onChange:({value:Q})=>rt(H,Q,!0),children:(Q,Et)=>{var Mt=Nr(),ve=st(Mt);Te(ve,{value:"request",class:"px-3",children:($t,u)=>{Dt();var l=yt("Request");i($t,l)},$$slots:{default:!0}});var pe=n(ve,2);Te(pe,{value:"response",class:"px-3",children:($t,u)=>{Dt();var l=yt("Response");i($t,l)},$$slots:{default:!0}}),i(Q,Mt)},$$slots:{default:!0}});var it=n(xt,2),ut=r(it);{var lt=Q=>{Ee(Q,{get value(){return t(zt)},language:"json",class:"h-full"})},St=Q=>{Ee(Q,{get value(){return t(Ot)},language:"json",class:"h-full"})};T(ut,Q=>{t(H)==="request"?Q(lt):Q(St,!1)})}e(it),e($),e(wt),k(Q=>{v(de,` ${t(nt)??""}`),v(M,` ${Q??""}`),v(ot,` ${o.trace.path??""}`)},[()=>typeof o.trace.durationMs=="number"?`${Math.round(o.trace.durationMs)}ms`:"—"]),i(Ct,wt)},$$slots:{default:!0}})};T(me,J=>{t(j)&&J(Me)})}k(()=>{Kt(bt,1,Ke(t(V)?"text-red-200":"")),v(Qt,t(I))}),i(z,At),ze()}nr(["pointerdown","click"]);var Rr=g('<div class="mt-2 text-xs text-rc-gray-300"><span class="text-rc-gray-400">Missing:</span> <span class="font-mono"> </span></div>'),Or=g('<li class="font-mono"> </li>'),Hr=g('<div class="mt-2 rounded border border-red-700/60 bg-red-950/30 p-2 text-xs text-red-200"><div class="font-semibold">Problematic reasons</div> <ul class="mt-1 list-disc pl-5"></ul></div>'),jr=g('(+<span class="font-mono text-rc-gray-200"> </span> derived)',1),Fr=g('(<span class="font-mono"> </span> missing/invalid times)',1),Ur=g('(<span class="font-mono"> </span> not displayed)',1),Vr=g('<div class="mb-2 text-xs text-rc-gray-400">Showing <span class="font-mono text-rc-gray-200"> </span> segments from <span class="font-mono text-rc-gray-200"> </span> spans <!> <!> <!></div>'),qr=g('<div class="text-sm text-rc-gray-300">No spans available.</div>'),zr=g('<div class="text-sm text-rc-gray-300">No spans available.</div>'),Br=g('<tr class="border-t border-rc-gray-700/60"><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td></tr>'),Wr=g('<div class="max-h-[35vh] overflow-auto"><table class="w-full table-auto text-left text-xs text-rc-gray-200"><thead class="sticky top-0 bg-rc-gray-900"><tr class="text-rc-gray-400"><th class="p-2">Name</th><th class="p-2">Duration</th><th class="p-2">Start</th><th class="p-2">End</th></tr></thead><tbody></tbody></table></div>'),Jr=g('<div class="flex items-center justify-between gap-2 rounded bg-rc-gray-800/40 px-2 py-1"><div class="font-mono text-rc-gray-300"> </div> <div class="font-mono"> </div></div>'),Yr=g('<div class="mt-1 text-amber-200"> </div>'),Gr=g('<span class="text-amber-200">true</span>'),Kr=g('<span class="text-rc-gray-200">false</span>'),Xr=g('<tr class="border-t border-rc-gray-700/60"><td class="whitespace-nowrap p-2 font-mono"><div> </div> <div class="text-rc-gray-400"> </div></td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"><!></td></tr>'),Qr=g('<div class="mb-2 text-xs text-rc-gray-300"><div class="flex flex-wrap gap-x-6 gap-y-1"><div><span class="text-rc-gray-400">totalEvents:</span> <span class="font-mono"> </span></div> <div><span class="text-rc-gray-400">droppedEvents:</span> <span class="font-mono"> </span></div></div> <!></div> <div class="max-h-[28vh] overflow-auto"><table class="w-full table-auto text-left text-xs text-rc-gray-200"><thead class="sticky top-0 bg-rc-gray-900"><tr class="text-rc-gray-400"><th class="p-2">At</th><th class="p-2">Source</th><th class="p-2">User?</th></tr></thead><tbody></tbody></table></div>',1),Zr=g('<div class="text-sm text-rc-gray-300">No speech-created events captured.</div>'),$r=g('<div class="mt-1 text-amber-200"> </div>'),ta=g('<span class="text-amber-200">true</span>'),ea=g('<span class="text-rc-gray-200">false</span>'),ra=g('<tr class="border-t border-rc-gray-700/60 align-top"><td class="whitespace-nowrap p-2 font-mono"><div> </div> <div class="text-rc-gray-400"> </div></td><td class="p-2 font-mono"><!></td><td class="p-2 font-mono"> </td><td class="whitespace-pre-wrap break-words p-2 font-mono"> </td></tr>'),aa=g('<div class="mb-2 text-xs text-rc-gray-300"><div class="flex flex-wrap gap-x-6 gap-y-1"><div><span class="text-rc-gray-400">totalMessages:</span> <span class="font-mono"> </span></div> <div><span class="text-rc-gray-400">droppedMessages:</span> <span class="font-mono"> </span></div> <div><span class="text-rc-gray-400">totalTextChars:</span> <span class="font-mono"> </span></div></div> <!></div> <div class="max-h-[35vh] overflow-auto"><table class="w-full table-auto text-left text-xs text-rc-gray-200"><thead class="sticky top-0 bg-rc-gray-900"><tr class="text-rc-gray-400"><th class="p-2">At</th><th class="p-2">Final</th><th class="p-2">Len</th><th class="p-2">Text</th></tr></thead><tbody></tbody></table></div>',1),sa=g('<div class="text-sm text-rc-gray-300">No STT transcripts captured.</div>'),na=g('<div class="mt-1 text-amber-200"> </div>'),oa=g('<tr class="border-t border-rc-gray-700/60"><td class="whitespace-nowrap p-2 font-mono"><div> </div> <div class="text-rc-gray-400"> </div></td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td></tr>'),ia=g('<div class="mb-2 text-xs text-rc-gray-300"><div class="flex flex-wrap gap-x-6 gap-y-1"><div><span class="text-rc-gray-400">totalEvents:</span> <span class="font-mono"> </span></div> <div><span class="text-rc-gray-400">droppedEvents:</span> <span class="font-mono"> </span></div></div> <!></div> <div class="max-h-[28vh] overflow-auto"><table class="w-full table-auto text-left text-xs text-rc-gray-200"><thead class="sticky top-0 bg-rc-gray-900"><tr class="text-rc-gray-400"><th class="p-2">At</th><th class="p-2">From</th><th class="p-2">To</th></tr></thead><tbody></tbody></table></div>',1),la=g('<div class="text-sm text-rc-gray-300">No user state changes captured.</div>'),da=g('<div class="mt-1 text-amber-200"> </div>'),ca=g('<span class="text-amber-200">true</span>'),va=g('<span class="text-rc-gray-200">false</span>'),ua=g('<tr class="border-t border-rc-gray-700/60"><td class="whitespace-nowrap p-2 font-mono"><div> </div> <div class="text-rc-gray-400"> </div></td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"><!></td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td></tr>'),fa=g('<div class="mb-2 text-xs text-rc-gray-300"><div class="flex flex-wrap gap-x-6 gap-y-1"><div><span class="text-rc-gray-400">totalEvents:</span> <span class="font-mono"> </span></div> <div><span class="text-rc-gray-400">droppedEvents:</span> <span class="font-mono"> </span></div></div> <!></div> <div class="max-h-[28vh] overflow-auto"><table class="w-full table-auto text-left text-xs text-rc-gray-200"><thead class="sticky top-0 bg-rc-gray-900"><tr class="text-rc-gray-400"><th class="p-2">At</th><th class="p-2">Type</th><th class="p-2">Speaking</th><th class="p-2">P</th><th class="p-2">Speech</th><th class="p-2">Silence</th><th class="p-2">Infer</th></tr></thead><tbody></tbody></table></div>',1),ma=g('<div class="text-sm text-rc-gray-300">No VAD events captured.</div>'),ga=g('<div class="mt-1 text-amber-200"> </div>'),_a=g('<span class="text-amber-200">true</span>'),pa=g('<span class="text-rc-gray-200">false</span>'),xa=g('<tr class="border-t border-rc-gray-700/60"><td class="whitespace-nowrap p-2 font-mono"><div> </div> <div class="text-rc-gray-400"> </div></td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"><!></td></tr>'),ha=g('<div class="mb-2 text-xs text-rc-gray-300"><div class="flex flex-wrap gap-x-6 gap-y-1"><div><span class="text-rc-gray-400">totalEvents:</span> <span class="font-mono"> </span></div> <div><span class="text-rc-gray-400">droppedEvents:</span> <span class="font-mono"> </span></div></div> <!></div> <div class="max-h-[28vh] overflow-auto"><table class="w-full table-auto text-left text-xs text-rc-gray-200"><thead class="sticky top-0 bg-rc-gray-900"><tr class="text-rc-gray-400"><th class="p-2">At</th><th class="p-2">P</th><th class="p-2">Thr</th><th class="p-2">Delay</th><th class="p-2">Max?</th></tr></thead><tbody></tbody></table></div>',1),ya=g('<div class="text-sm text-rc-gray-300">No EOU model predictions captured.</div>'),ba=g('<div class="mt-1 text-amber-200"> </div>'),wa=g('<tr class="border-t border-rc-gray-700/60"><td class="whitespace-nowrap p-2 font-mono"><div> </div> <div class="text-rc-gray-400"> </div></td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td></tr>'),Ta=g('<div class="mb-2 text-xs text-rc-gray-300"><div class="flex flex-wrap gap-x-6 gap-y-1"><div><span class="text-rc-gray-400">totalEvents:</span> <span class="font-mono"> </span></div> <div><span class="text-rc-gray-400">droppedEvents:</span> <span class="font-mono"> </span></div></div> <!></div> <div class="max-h-[28vh] overflow-auto"><table class="w-full table-auto text-left text-xs text-rc-gray-200"><thead class="sticky top-0 bg-rc-gray-900"><tr class="text-rc-gray-400"><th class="p-2">At</th><th class="p-2">Last speak</th><th class="p-2">EOU</th><th class="p-2">STT</th><th class="p-2">onUserTurn</th></tr></thead><tbody></tbody></table></div>',1),Sa=g('<div class="text-sm text-rc-gray-300">No EOU metrics captured.</div>'),Ma=g('<div class="mt-1 text-amber-200"> </div>'),ka=g('<tr class="border-t border-rc-gray-700/60 align-top"><td class="whitespace-nowrap p-2 font-mono"><div> </div> <div class="text-rc-gray-400"> </div></td><td class="p-2 font-mono"> </td><td class="p-2 font-mono"> </td><td class="whitespace-pre-wrap break-words p-2 font-mono"> </td></tr>'),Pa=g('<div class="mb-2 text-xs text-rc-gray-300"><div class="flex flex-wrap gap-x-6 gap-y-1"><div><span class="text-rc-gray-400">totalMessages:</span> <span class="font-mono"> </span></div> <div><span class="text-rc-gray-400">droppedMessages:</span> <span class="font-mono"> </span></div> <div><span class="text-rc-gray-400">totalTextChars:</span> <span class="font-mono"> </span></div></div> <!></div> <div class="max-h-[35vh] overflow-auto"><table class="w-full table-auto text-left text-xs text-rc-gray-200"><thead class="sticky top-0 bg-rc-gray-900"><tr class="text-rc-gray-400"><th class="p-2">At</th><th class="p-2">Flush</th><th class="p-2">Len</th><th class="p-2">Text</th></tr></thead><tbody></tbody></table></div>',1),Aa=g('<div class="text-sm text-rc-gray-300">No provider-send messages captured.</div>'),Ca=g('<div class="flex flex-col gap-4"><div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3 text-sm text-rc-gray-100"><div class="flex flex-wrap items-center justify-between gap-2"><div class="font-semibold">LLM-to-audio latency</div> <div class="font-mono"> </div></div> <div class="mt-2 flex flex-wrap gap-x-6 gap-y-2 text-xs text-rc-gray-300"><div><span class="text-rc-gray-400">Problematic:</span> <span> </span></div> <div><span class="text-rc-gray-400">Interrupted:</span> <span> </span></div></div> <!> <!></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-2 text-sm font-semibold text-rc-gray-100">Timeline</div> <!> <!> <div><div class="min-w-[680px] rounded bg-rc-gray-800/40 p-2"><div class="bosun-vis-timeline min-h-[260px] w-full"></div></div></div></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-2 text-sm font-semibold text-rc-gray-100">Spans</div> <!></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-2 text-sm font-semibold text-rc-gray-100">Raw timing</div> <div class="grid grid-cols-1 gap-1 text-xs text-rc-gray-200 md:grid-cols-2"></div></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-2 text-sm font-semibold text-rc-gray-100">Speech created (LiveKit)</div> <!></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-2 text-sm font-semibold text-rc-gray-100">STT transcripts</div> <!></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-2 text-sm font-semibold text-rc-gray-100">User state changes (VAD proxy)</div> <!></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-2 text-sm font-semibold text-rc-gray-100">VAD events</div> <!></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-2 text-sm font-semibold text-rc-gray-100">EOU model decisions</div> <!></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-2 text-sm font-semibold text-rc-gray-100">EOU metrics</div> <!></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-2 text-sm font-semibold text-rc-gray-100">TTS provider sends</div> <!></div></div>');function Ea(z,o){qe(o,!0);let j=Rt(null),H=null,F=Rt(!1),D=null;const Z=b(()=>{var s;const a=(s=o.metrics)==null?void 0:s.spans;return Array.isArray(a)?a:[]}),S=b(()=>{var a;return((a=o.metrics)==null?void 0:a.summary)??{}}),U=b(()=>{var a;return((a=o.metrics)==null?void 0:a.timing)??{}}),_=b(()=>{var a;return((a=o.metrics)==null?void 0:a.debug)??{}});function V(a){return typeof a=="number"&&Number.isFinite(a)?a:null}function L(a){const s=V(a);return s==null?"—":`${Math.round(s)} ms`}function I(a){const s=new Date(a);return Number.isNaN(s.getTime())?String(a):s.toISOString()}function nt(a){return typeof a=="string"&&a.trim()?a.trim():null}const Xt=new Set(["vad.start_of_speech","vad.end_of_speech"]),zt=new Set(["stt.start_of_speech","stt.interim_transcript","stt.preflight_transcript","stt.final_transcript"]),Ot=new Set(["vad.user_speech","vad.endpointing","vad.trailing_silence","stt.endpointing","stt.transcription","stt.turn_commit","stt.until_turn_committed","stt.transcript_to_speech_created","stt.transcript_to_llm_request","stt.transcript_trigger_selected","stt.speech_end_to_trigger_transcript","stt.speech_end_to_final_transcript","stt.trigger_transcript_to_reply_trigger","stt.final_transcript_to_commit","stt.transcript_selected","stt.transcript_final_selected"]);function Bt(a,s){const d=a==null?void 0:a.attributes;return!d||typeof d!="object"?null:d[`bosun.${s}`]??d[`anyvan.${s}`]??null}function At(a,s){return nt(Bt(a,s))}function Wt(a){return At(a,"component")}function Ht(a){const s=nt(a==null?void 0:a.name);return s?!!(Ot.has(s)||s.startsWith("vad.")&&!Xt.has(s)||s.startsWith("stt.")&&!zt.has(s)):!1}function Jt(a,s,d){return{name:a,startTimeUnixMs:s,endTimeUnixMs:s,durationMs:0,startTimeIso:I(s),endTimeIso:I(s),attributes:d}}const Yt=b(()=>{var C,R,K,Y,et;const a=V((C=t(U))==null?void 0:C.ttsAudioStartAtMs),s=m=>a==null||m<=a,d=[];let x=!1,f=!1;return(Array.isArray((K=(R=t(_))==null?void 0:R.vadEvents)==null?void 0:K.events)?t(_).vadEvents.events:[]).forEach((m,q)=>{const O=V(m==null?void 0:m.atMs),h=nt(m==null?void 0:m.type);O==null||!s(O)||h!=="start_of_speech"&&h!=="end_of_speech"||(x=!0,d.push(Jt(`vad.${h}`,O,{"anyvan.component":"vad","anyvan.label":h==="start_of_speech"?"VAD activated":"VAD deactivated","anyvan.description":h==="start_of_speech"?"Raw VAD START_OF_SPEECH event":"Raw VAD END_OF_SPEECH event","anyvan.eventIndex":q,"anyvan.samplesIndex":typeof(m==null?void 0:m.samplesIndex)=="number"?m.samplesIndex:void 0,"anyvan.speechDurationMs":typeof(m==null?void 0:m.speechDurationMs)=="number"?m.speechDurationMs:void 0,"anyvan.silenceDurationMs":typeof(m==null?void 0:m.silenceDurationMs)=="number"?m.silenceDurationMs:void 0})))}),(Array.isArray((et=(Y=t(_))==null?void 0:Y.sttEvents)==null?void 0:et.events)?t(_).sttEvents.events:[]).forEach((m,q)=>{const O=V(m==null?void 0:m.atMs),h=nt(m==null?void 0:m.type);if(O==null||!s(O)||h!=="start_of_speech"&&h!=="interim_transcript"&&h!=="preflight_transcript"&&h!=="final_transcript")return;f=!0;const c=h==="start_of_speech"?"STT start of speech":h==="interim_transcript"?"STT interim transcript":h==="preflight_transcript"?"STT preflight transcript":"STT final transcript";d.push(Jt(`stt.${h}`,O,{"anyvan.component":"stt","anyvan.label":c,"anyvan.description":`Raw STT ${h.toUpperCase()} event`,"anyvan.eventIndex":q,"anyvan.requestId":typeof(m==null?void 0:m.requestId)=="string"?m.requestId:void 0,"anyvan.text":nt(m==null?void 0:m.text),"anyvan.language":typeof(m==null?void 0:m.language)=="string"||(m==null?void 0:m.language)===null?m.language:void 0,"anyvan.speakerId":typeof(m==null?void 0:m.speakerId)=="string"||(m==null?void 0:m.speakerId)===null?m.speakerId:void 0}))}),{spans:d,hasRawVad:x,hasRawStt:f}}),bt=b(()=>[...t(Z).filter(s=>{const d=nt(s==null?void 0:s.name);return d!=null&&d.startsWith("vad.")&&t(Yt).hasRawVad||d!=null&&d.startsWith("stt.")&&t(Yt).hasRawStt?!1:!Ht(s)}),...t(Yt).spans]),Qt=["LLM→Audio start","Trigger","LLM","LLM→TTS","TTS generation","TTS→Audio","STT","VAD","Other"],me=[{label:"Trigger",component:"trigger"},{label:"LLM",names:["llm.request.ttft","llm.streaming"]},{label:"LLM→TTS",names:["llm_to_tts.buffering","llm_to_tts.streaming"]},{label:"TTS generation",names:["tts.generation"]},{label:"TTS→Audio",names:["tts_to_audio.buffering","tts_to_audio.streaming"]},{label:"STT",names:[...zt]},{label:"VAD",names:[...Xt]}],Me=b(()=>{const a=t(bt).map((f,y)=>({s:f,idx:y})),s=new Set,d=me.map(f=>{const y=a.filter(({s:A,idx:C})=>{if(s.has(C))return!1;const R=typeof(A==null?void 0:A.name)=="string"?A.name:"",K=Wt(A),Y=Array.isArray(f.names)&&R!==""&&f.names.includes(R),et=typeof f.component=="string"&&K===f.component;return Y||et}).sort((A,C)=>(V(A.s.startTimeUnixMs)??0)-(V(C.s.startTimeUnixMs)??0));for(const A of y)s.add(A.idx);return{label:f.label,spans:y.map(A=>A.s)}}),x=a.filter(({idx:f})=>!s.has(f)).map(f=>f.s).sort((f,y)=>(V(f.startTimeUnixMs)??0)-(V(y.startTimeUnixMs)??0));return x.length&&d.push({label:"Other",spans:x}),d.filter(f=>f.spans.length)});function J(a){const s=At(a,"label");return s||(typeof(a==null?void 0:a.name)=="string"&&a.name?a.name:"span")}const N={blue:"#569cd6",green:"#93FF6D",greenDark:"#00B58A",orange:"#ce9178",purple:"#81147D",red:"#FF6666",gray:"#767676"};function Ct(a){return Math.max(0,Math.min(255,Math.round(a)))}function wt(a,s){const d=(a??"").trim().replace(/^#/,""),f=d.length===3?d.split("").map(O=>`${O}${O}`).join(""):d;if(f.length!==6||!/^[0-9a-fA-F]+$/.test(f))return a;const y=parseInt(f.slice(0,2),16),A=parseInt(f.slice(2,4),16),C=parseInt(f.slice(4,6),16),R=Math.max(-1,Math.min(1,s)),K=R>=0?255:0,Y=Math.abs(R),et=Ct(y+(K-y)*Y),m=Ct(A+(K-A)*Y),q=Ct(C+(K-C)*Y);return`#${et.toString(16).padStart(2,"0")}${m.toString(16).padStart(2,"0")}${q.toString(16).padStart(2,"0")}`}function Zt(a){const s=typeof(a==null?void 0:a.name)=="string"?a.name:"";if(s==="vad.endpointing")return"vad.endpointing";if(s.startsWith("vad."))return"vad.user_speech";if(s==="llm.request.ttft")return"llm.request";if(s==="llm.streaming")return"llm.streaming";if(s==="llm_to_tts.buffering")return"llm_to_tts.buffering";if(s==="llm_to_tts.streaming")return"llm_to_tts.streaming";if(s==="tts.generation")return"tts.generation";if(s==="tts_to_audio.buffering")return"tts_to_audio.buffering";if(s==="tts_to_audio.streaming")return"tts_to_audio.streaming";if(s.startsWith("stt."))return"stt";if(s.startsWith("trigger."))return"trigger";const d=Wt(a);return d==="vad"?"vad.user_speech":d==="stt"?"stt":d==="trigger"?"trigger":"other"}const Pe={"vad.user_speech":wt(N.purple,.35),"vad.endpointing":wt(N.purple,-.15),"llm.request":wt(N.blue,-.25),"llm.streaming":N.blue,"llm_to_tts.buffering":wt(N.orange,-.25),"llm_to_tts.streaming":N.orange,"tts.generation":wt(N.orange,.25),"tts_to_audio.buffering":wt(N.purple,-.25),"tts_to_audio.streaming":wt(N.purple,.25),"llm_to_audio.ok":N.green,"llm_to_audio.high":N.red,trigger:N.greenDark,stt:wt(N.purple,.2),other:N.gray};function ke(a){const s=Pe[a]??N.gray,d=wt(s,-.25);return`background: ${s}; border-color: ${d};`}function ge(a,s){const d=J(a),x=a==null?void 0:a.durationMs,f=a==null?void 0:a.startTimeIso,y=a==null?void 0:a.endTimeIso,A=At(a,"explain"),C=At(a,"description"),R=At(a,"text");return[d,s&&s!==d?s:"",x!=null?L(x):"",f&&y?`${f} → ${y}`:"",C??"",R?`Text: ${R}`:"",A??""].filter(Y=>typeof Y=="string"&&Y.trim()!=="").join(`
3
- `)}const _e=b(()=>{var y,A,C;const a=V((y=t(U))==null?void 0:y.llmRequestStartAtMs),s=V((A=t(U))==null?void 0:A.ttsAudioStartAtMs);if(a==null||s==null||s<a)return null;const d=s-a,x=d>800||!!((C=t(S))!=null&&C.problematic),f={name:"llm_to_audio.latency",startTimeUnixMs:a,endTimeUnixMs:s,durationMs:d,startTimeIso:I(a),endTimeIso:I(s),attributes:{"bosun.label":"LLM→Audio start","bosun.description":"LLM request start → agent speaking (first audio frame)","bosun.explain":x?"High latency (>800ms) or problematic timing":"OK"}};return{id:`derived:llm_to_audio:${a}:${s}`,group:"LLM→Audio start",start:a,end:s,colorKey:x?"llm_to_audio.high":"llm_to_audio.ok",span:f,derived:!0}}),de=b(()=>{const a=[];for(const d of t(Me))for(const x of d.spans){const f=V(x.startTimeUnixMs),y=V(x.endTimeUnixMs);if(f==null||y==null||y<f)continue;const A=typeof(x==null?void 0:x.name)=="string"?x.name:"span";a.push({id:`${d.label}:${A}:${f}:${y}`,group:d.label,start:f,end:y,colorKey:Zt(x),span:x,derived:!1})}const s=t(_e);return s&&a.push(s),a}),ce=b(()=>{const a=new Set;for(const s of t(de))a.add(s.group);return[...a].sort((s,d)=>{const x=Qt.indexOf(s),f=Qt.indexOf(d),y=x===-1?Qt.length:x,A=f===-1?Qt.length:f;return y-A||s.localeCompare(d)}).map((s,d)=>({id:s,content:s,order:d}))}),M=b(()=>t(de).map(a=>({id:a.id,group:a.group,content:"",start:a.start,...a.start===a.end?{}:{end:a.end},type:a.start===a.end?"box":"range",className:"bosun-latency-item",style:ke(a.colorKey),title:ge(a.span,a.group)}))),B=b(()=>{let a=Number.POSITIVE_INFINITY,s=Number.NEGATIVE_INFINITY;for(const x of t(de))a=Math.min(a,x.start),s=Math.max(s,x.end);if(!Number.isFinite(a)||!Number.isFinite(s)||s<a)return null;const d=Math.max(100,(s-a)*.05);return{start:a-d,end:s+d}}),ot=b(()=>t(M).length>0),X=b(()=>{let a=0,s=0;for(const d of t(de))d.derived?s++:a++;return{base:a,derived:s,total:a+s}}),$=b(()=>t(bt).filter(a=>{const s=V(a.startTimeUnixMs),d=V(a.endTimeUnixMs);return s!=null&&d!=null&&d>=s}).length??0);ar(()=>{if(!t(j))return;let a=!1;const s=t(j);return lr(()=>import("./B5CoBEt2.js"),[],import.meta.url).then(d=>{if(a)return;const x=t(B),y={autoResize:!0,height:260,maxHeight:260,minHeight:260,groupOrder:"order",stack:!1,selectable:!1,multiselect:!1,moveable:!1,zoomable:!1,showCurrentTime:!1,showMajorLabels:!1,showMinorLabels:!0,showTooltips:!0,tooltip:{followMouse:!0,overflowMethod:"flip",delay:0},xss:{disabled:!1},moment:(...A)=>{const C=d.moment(...A);return typeof(C==null?void 0:C.utc)=="function"?C.utc():C},format:{minorLabels:{millisecond:".SSS",second:":ss",minute:"HH:mm",hour:"HH:mm"},majorLabels:{second:"HH:mm:ss",minute:"HH:mm",hour:"MMM D",day:"MMM D"}},start:x==null?void 0:x.start,end:x==null?void 0:x.end};H=new d.Timeline(s,t(M),t(ce),y),rt(F,!0),typeof ResizeObserver<"u"&&(D=new ResizeObserver(()=>H==null?void 0:H.redraw()),D.observe(s))}).catch(d=>{console.error("LatencyTab: failed to load vis-timeline",d)}),()=>{a=!0,D==null||D.disconnect(),D=null,rt(F,!1),H==null||H.destroy(),H=null}}),Ge(()=>{if(!t(F)||!H)return;H.setData({items:t(M),groups:t(ce)});const s=t(B);s&&H.setWindow(s.start,s.end,{animation:!1}),H.redraw()});var xt=Ca(),it=r(xt),ut=r(it),lt=n(r(ut),2),St=r(lt,!0);e(lt),e(ut);var Q=n(ut,2),Et=r(Q),Mt=n(r(Et),2),ve=r(Mt,!0);e(Mt),e(Et);var pe=n(Et,2),$t=n(r(pe),2),u=r($t,!0);e($t),e(pe),e(Q);var l=n(Q,2);{var p=a=>{var s=Rr(),d=n(r(s),2),x=r(d,!0);e(d),e(s),k(f=>v(x,f),[()=>t(S).missing.join(", ")]),i(a,s)};T(l,a=>{var s;Array.isArray((s=t(S))==null?void 0:s.missing)&&t(S).missing.length&&a(p)})}var w=n(l,2);{var G=a=>{var s=Hr(),d=n(r(s),2);we(d,21,()=>t(_).problematicReasons,Ce,(x,f)=>{var y=Or(),A=r(y,!0);e(y),k(()=>v(A,t(f))),i(x,y)}),e(d),e(s),i(a,s)};T(w,a=>{var s;Array.isArray((s=t(_))==null?void 0:s.problematicReasons)&&t(_).problematicReasons.length&&a(G)})}e(it);var ct=n(it,2),_t=n(r(ct),2);{var pt=a=>{var s=Vr(),d=n(r(s)),x=r(d,!0);e(d);var f=n(d,2),y=r(f,!0);e(f);var A=n(f,2);{var C=m=>{var q=jr(),O=n(st(q)),h=r(O,!0);e(O),Dt(),k(()=>v(h,t(X).derived)),i(m,q)};T(A,m=>{t(X).derived&&m(C)})}var R=n(A,2);{var K=m=>{var q=Fr(),O=n(st(q)),h=r(O,!0);e(O),Dt(),k(()=>v(h,t(bt).length-t($))),i(m,q)};T(R,m=>{t(bt).length!==t($)&&m(K)})}var Y=n(R,2);{var et=m=>{var q=Ur(),O=n(st(q)),h=r(O,!0);e(O),Dt(),k(()=>v(h,t($)-t(X).base)),i(m,q)};T(Y,m=>{t(X).base!==t($)&&m(et)})}e(s),k(()=>{v(x,t(X).base),v(y,t(bt).length)}),i(a,s)};T(_t,a=>{t(bt).length&&a(pt)})}var ie=n(_t,2);{var te=a=>{var s=qr();i(a,s)};T(ie,a=>{t(ot)||a(te)})}var ue=n(ie,2);let tt;var ft=r(ue),Ue=r(ft);dr(Ue,a=>rt(j,a),()=>t(j)),e(ft),e(ue),e(ct);var Ne=n(ct,2),Be=n(r(Ne),2);{var xe=a=>{var s=zr();i(a,s)},mt=a=>{var s=Wr(),d=r(s),x=n(r(d));we(x,23,()=>t(bt),(f,y)=>f.name??y,(f,y)=>{var A=Br(),C=r(A),R=r(C,!0);e(C);var K=n(C),Y=r(K,!0);e(K);var et=n(K),m=r(et,!0);e(et);var q=n(et),O=r(q,!0);e(q),e(A),k((h,c)=>{v(R,h),v(Y,c),v(m,t(y).startTimeIso??"—"),v(O,t(y).endTimeIso??"—")},[()=>J(t(y)),()=>L(t(y).durationMs)]),i(f,A)}),e(x),e(d),e(s),i(a,s)};T(Be,a=>{t(bt).length?a(mt,!1):a(xe)})}e(Ne);var ee=n(Ne,2),fe=n(r(ee),2);we(fe,21,()=>Object.entries(t(U)),([a,s])=>a,(a,s)=>{var d=b(()=>Tr(t(s),2));let x=()=>t(d)[0],f=()=>t(d)[1];var y=Jr(),A=r(y),C=r(A,!0);e(A);var R=n(A,2),K=r(R,!0);e(R),e(y),k(Y=>{v(C,x()),v(K,Y)},[()=>typeof f()=="number"?f():String(f())]),i(a,y)}),e(fe),e(ee);var he=n(ee,2),re=n(r(he),2);{var jt=a=>{var s=Qr(),d=st(s),x=r(d),f=r(x),y=n(r(f),2),A=r(y,!0);e(y),e(f);var C=n(f,2),R=n(r(C),2),K=r(R,!0);e(R),e(C),e(x);var Y=n(x,2);{var et=h=>{var c=Yr(),W=r(c,!0);e(c),k(E=>v(W,E),[()=>t(_).speechCreated.notes.join(" ")]),i(h,c)};T(Y,h=>{var c;Array.isArray((c=t(_).speechCreated)==null?void 0:c.notes)&&t(_).speechCreated.notes.length&&h(et)})}e(d);var m=n(d,2),q=r(m),O=n(r(q));we(O,21,()=>t(_).speechCreated.events,Ce,(h,c)=>{var W=Xr(),E=r(W),P=r(E),at=r(P,!0);e(P);var dt=n(P,2),It=r(dt,!0);e(dt),e(E);var gt=n(E),Ft=r(gt,!0);e(gt);var ht=n(gt),Nt=r(ht);{var Ut=Tt=>{var Lt=Gr();i(Tt,Lt)},ne=Tt=>{var Lt=Se(),oe=st(Lt);{var be=vt=>{var Vt=Kr();i(vt,Vt)},Pt=vt=>{var Vt=yt("—");i(vt,Vt)};T(oe,vt=>{t(c).userInitiated===!1?vt(be):vt(Pt,!1)},!0)}i(Tt,Lt)};T(Nt,Tt=>{t(c).userInitiated===!0?Tt(Ut):Tt(ne,!1)})}e(ht),e(W),k(()=>{v(at,t(c).atIso??"—"),v(It,t(c).atMs),v(Ft,t(c).source??"—")}),i(h,W)}),e(O),e(q),e(m),k(()=>{var h,c;v(A,((h=t(_).speechCreated.totals)==null?void 0:h.totalEvents)??"—"),v(K,((c=t(_).speechCreated.totals)==null?void 0:c.droppedEvents)??"—")}),i(a,s)},Le=a=>{var s=Zr();i(a,s)};T(re,a=>{var s;(s=t(_))!=null&&s.speechCreated?a(jt):a(Le,!1)})}e(he);var De=n(he,2),ae=n(r(De),2);{var Ae=a=>{var s=aa(),d=st(s),x=r(d),f=r(x),y=n(r(f),2),A=r(y,!0);e(y),e(f);var C=n(f,2),R=n(r(C),2),K=r(R,!0);e(R),e(C);var Y=n(C,2),et=n(r(Y),2),m=r(et,!0);e(et),e(Y),e(x);var q=n(x,2);{var O=E=>{var P=$r(),at=r(P,!0);e(P),k(dt=>v(at,dt),[()=>t(_).sttTranscripts.notes.join(" ")]),i(E,P)};T(q,E=>{var P;Array.isArray((P=t(_).sttTranscripts)==null?void 0:P.notes)&&t(_).sttTranscripts.notes.length&&E(O)})}e(d);var h=n(d,2),c=r(h),W=n(r(c));we(W,21,()=>t(_).sttTranscripts.messages,Ce,(E,P)=>{var at=ra(),dt=r(at),It=r(dt),gt=r(It,!0);e(It);var Ft=n(It,2),ht=r(Ft,!0);e(Ft),e(dt);var Nt=n(dt),Ut=r(Nt);{var ne=vt=>{var Vt=ta();i(vt,Vt)},Tt=vt=>{var Vt=Se(),Ye=st(Vt);{var le=Gt=>{var Fe=ea();i(Gt,Fe)},qt=Gt=>{var Fe=yt("—");i(Gt,Fe)};T(Ye,Gt=>{t(P).isFinal===!1?Gt(le):Gt(qt,!1)},!0)}i(vt,Vt)};T(Ut,vt=>{t(P).isFinal===!0?vt(ne):vt(Tt,!1)})}e(Nt);var Lt=n(Nt),oe=r(Lt,!0);e(Lt);var be=n(Lt),Pt=r(be,!0);e(be),e(at),k(()=>{v(gt,t(P).atIso??"—"),v(ht,t(P).atMs),v(oe,t(P).textLen),v(Pt,t(P).text===""?"<EMPTY>":t(P).text)}),i(E,at)}),e(W),e(c),e(h),k(()=>{var E,P,at;v(A,((E=t(_).sttTranscripts.totals)==null?void 0:E.totalMessages)??"—"),v(K,((P=t(_).sttTranscripts.totals)==null?void 0:P.droppedMessages)??"—"),v(m,((at=t(_).sttTranscripts.totals)==null?void 0:at.totalTextChars)??"—")}),i(a,s)},kt=a=>{var s=sa();i(a,s)};T(ae,a=>{var s;(s=t(_))!=null&&s.sttTranscripts?a(Ae):a(kt,!1)})}e(De);var ye=n(De,2),Re=n(r(ye),2);{var Oe=a=>{var s=ia(),d=st(s),x=r(d),f=r(x),y=n(r(f),2),A=r(y,!0);e(y),e(f);var C=n(f,2),R=n(r(C),2),K=r(R,!0);e(R),e(C),e(x);var Y=n(x,2);{var et=h=>{var c=na(),W=r(c,!0);e(c),k(E=>v(W,E),[()=>t(_).userStateChanges.notes.join(" ")]),i(h,c)};T(Y,h=>{var c;Array.isArray((c=t(_).userStateChanges)==null?void 0:c.notes)&&t(_).userStateChanges.notes.length&&h(et)})}e(d);var m=n(d,2),q=r(m),O=n(r(q));we(O,21,()=>t(_).userStateChanges.events,Ce,(h,c)=>{var W=oa(),E=r(W),P=r(E),at=r(P,!0);e(P);var dt=n(P,2),It=r(dt,!0);e(dt),e(E);var gt=n(E),Ft=r(gt,!0);e(gt);var ht=n(gt),Nt=r(ht,!0);e(ht),e(W),k(()=>{v(at,t(c).atIso??"—"),v(It,t(c).atMs),v(Ft,t(c).oldState),v(Nt,t(c).newState)}),i(h,W)}),e(O),e(q),e(m),k(()=>{var h,c;v(A,((h=t(_).userStateChanges.totals)==null?void 0:h.totalEvents)??"—"),v(K,((c=t(_).userStateChanges.totals)==null?void 0:c.droppedEvents)??"—")}),i(a,s)},We=a=>{var s=la();i(a,s)};T(Re,a=>{var s;(s=t(_))!=null&&s.userStateChanges?a(Oe):a(We,!1)})}e(ye);var se=n(ye,2),Ze=n(r(se),2);{var $e=a=>{var s=fa(),d=st(s),x=r(d),f=r(x),y=n(r(f),2),A=r(y,!0);e(y),e(f);var C=n(f,2),R=n(r(C),2),K=r(R,!0);e(R),e(C),e(x);var Y=n(x,2);{var et=h=>{var c=da(),W=r(c,!0);e(c),k(E=>v(W,E),[()=>t(_).vadEvents.notes.join(" ")]),i(h,c)};T(Y,h=>{var c;Array.isArray((c=t(_).vadEvents)==null?void 0:c.notes)&&t(_).vadEvents.notes.length&&h(et)})}e(d);var m=n(d,2),q=r(m),O=n(r(q));we(O,21,()=>t(_).vadEvents.events,Ce,(h,c)=>{var W=ua(),E=r(W),P=r(E),at=r(P,!0);e(P);var dt=n(P,2),It=r(dt,!0);e(dt),e(E);var gt=n(E),Ft=r(gt,!0);e(gt);var ht=n(gt),Nt=r(ht);{var Ut=le=>{var qt=ca();i(le,qt)},ne=le=>{var qt=Se(),Gt=st(qt);{var Fe=Ve=>{var rr=va();i(Ve,rr)},wr=Ve=>{var rr=yt("—");i(Ve,rr)};T(Gt,Ve=>{t(c).speaking===!1?Ve(Fe):Ve(wr,!1)},!0)}i(le,qt)};T(Nt,le=>{t(c).speaking===!0?le(Ut):le(ne,!1)})}e(ht);var Tt=n(ht),Lt=r(Tt,!0);e(Tt);var oe=n(Tt),be=r(oe,!0);e(oe);var Pt=n(oe),vt=r(Pt,!0);e(Pt);var Vt=n(Pt),Ye=r(Vt,!0);e(Vt),e(W),k((le,qt,Gt,Fe)=>{v(at,t(c).atIso??"—"),v(It,t(c).atMs),v(Ft,t(c).type??"—"),v(Lt,le),v(be,qt),v(vt,Gt),v(Ye,Fe)},[()=>typeof t(c).probability=="number"?t(c).probability.toFixed(3):"—",()=>L(t(c).speechDurationMs),()=>L(t(c).silenceDurationMs),()=>L(t(c).inferenceDurationMs)]),i(h,W)}),e(O),e(q),e(m),k(()=>{var h,c;v(A,((h=t(_).vadEvents.totals)==null?void 0:h.totalEvents)??"—"),v(K,((c=t(_).vadEvents.totals)==null?void 0:c.droppedEvents)??"—")}),i(a,s)},Je=a=>{var s=ma();i(a,s)};T(Ze,a=>{var s;(s=t(_))!=null&&s.vadEvents?a($e):a(Je,!1)})}e(se);var He=n(se,2),tr=n(r(He),2);{var je=a=>{var s=ha(),d=st(s),x=r(d),f=r(x),y=n(r(f),2),A=r(y,!0);e(y),e(f);var C=n(f,2),R=n(r(C),2),K=r(R,!0);e(R),e(C),e(x);var Y=n(x,2);{var et=h=>{var c=ga(),W=r(c,!0);e(c),k(E=>v(W,E),[()=>t(_).eouModelPredictions.notes.join(" ")]),i(h,c)};T(Y,h=>{var c;Array.isArray((c=t(_).eouModelPredictions)==null?void 0:c.notes)&&t(_).eouModelPredictions.notes.length&&h(et)})}e(d);var m=n(d,2),q=r(m),O=n(r(q));we(O,21,()=>t(_).eouModelPredictions.events,Ce,(h,c)=>{var W=xa(),E=r(W),P=r(E),at=r(P,!0);e(P);var dt=n(P,2),It=r(dt,!0);e(dt),e(E);var gt=n(E),Ft=r(gt,!0);e(gt);var ht=n(gt),Nt=r(ht,!0);e(ht);var Ut=n(ht),ne=r(Ut,!0);e(Ut);var Tt=n(Ut),Lt=r(Tt);{var oe=Pt=>{var vt=_a();i(Pt,vt)},be=Pt=>{var vt=Se(),Vt=st(vt);{var Ye=qt=>{var Gt=pa();i(qt,Gt)},le=qt=>{var Gt=yt("—");i(qt,Gt)};T(Vt,qt=>{t(c).useMaxEndpointingDelay===!1?qt(Ye):qt(le,!1)},!0)}i(Pt,vt)};T(Lt,Pt=>{t(c).useMaxEndpointingDelay===!0?Pt(oe):Pt(be,!1)})}e(Tt),e(W),k((Pt,vt,Vt)=>{v(at,t(c).atIso??"—"),v(It,t(c).atMs),v(Ft,Pt),v(Nt,vt),v(ne,Vt)},[()=>typeof t(c).probability=="number"?t(c).probability.toFixed(3):"—",()=>typeof t(c).unlikelyThreshold=="number"?t(c).unlikelyThreshold.toFixed(3):t(c).unlikelyThreshold===null?"null":"—",()=>L(t(c).selectedEndpointingDelayMs)]),i(h,W)}),e(O),e(q),e(m),k(()=>{var h,c;v(A,((h=t(_).eouModelPredictions.totals)==null?void 0:h.totalEvents)??"—"),v(K,((c=t(_).eouModelPredictions.totals)==null?void 0:c.droppedEvents)??"—")}),i(a,s)},gr=a=>{var s=ya();i(a,s)};T(tr,a=>{var s;(s=t(_))!=null&&s.eouModelPredictions?a(je):a(gr,!1)})}e(He);var er=n(He,2),_r=n(r(er),2);{var pr=a=>{var s=Ta(),d=st(s),x=r(d),f=r(x),y=n(r(f),2),A=r(y,!0);e(y),e(f);var C=n(f,2),R=n(r(C),2),K=r(R,!0);e(R),e(C),e(x);var Y=n(x,2);{var et=h=>{var c=ba(),W=r(c,!0);e(c),k(E=>v(W,E),[()=>t(_).eouMetrics.notes.join(" ")]),i(h,c)};T(Y,h=>{var c;Array.isArray((c=t(_).eouMetrics)==null?void 0:c.notes)&&t(_).eouMetrics.notes.length&&h(et)})}e(d);var m=n(d,2),q=r(m),O=n(r(q));we(O,21,()=>t(_).eouMetrics.events,Ce,(h,c)=>{var W=wa(),E=r(W),P=r(E),at=r(P,!0);e(P);var dt=n(P,2),It=r(dt,!0);e(dt),e(E);var gt=n(E),Ft=r(gt,!0);e(gt);var ht=n(gt),Nt=r(ht,!0);e(ht);var Ut=n(ht),ne=r(Ut,!0);e(Ut);var Tt=n(Ut),Lt=r(Tt,!0);e(Tt),e(W),k((oe,be,Pt,vt)=>{v(at,t(c).atIso??"—"),v(It,t(c).atMs),v(Ft,oe),v(Nt,be),v(ne,Pt),v(Lt,vt)},[()=>t(c).lastSpeakingAtMs?I(t(c).lastSpeakingAtMs):"—",()=>L(t(c).endOfUtteranceDelayMs),()=>L(t(c).transcriptionDelayMs),()=>L(t(c).onUserTurnCompletedDelayMs)]),i(h,W)}),e(O),e(q),e(m),k(()=>{var h,c;v(A,((h=t(_).eouMetrics.totals)==null?void 0:h.totalEvents)??"—"),v(K,((c=t(_).eouMetrics.totals)==null?void 0:c.droppedEvents)??"—")}),i(a,s)},xr=a=>{var s=Sa();i(a,s)};T(_r,a=>{var s;(s=t(_))!=null&&s.eouMetrics?a(pr):a(xr,!1)})}e(er);var vr=n(er,2),hr=n(r(vr),2);{var yr=a=>{var s=Pa(),d=st(s),x=r(d),f=r(x),y=n(r(f),2),A=r(y,!0);e(y),e(f);var C=n(f,2),R=n(r(C),2),K=r(R,!0);e(R),e(C);var Y=n(C,2),et=n(r(Y),2),m=r(et,!0);e(et),e(Y),e(x);var q=n(x,2);{var O=E=>{var P=Ma(),at=r(P,!0);e(P),k(dt=>v(at,dt),[()=>t(_).ttsProviderTextSends.notes.join(" ")]),i(E,P)};T(q,E=>{var P;Array.isArray((P=t(_).ttsProviderTextSends)==null?void 0:P.notes)&&t(_).ttsProviderTextSends.notes.length&&E(O)})}e(d);var h=n(d,2),c=r(h),W=n(r(c));we(W,21,()=>t(_).ttsProviderTextSends.messages,Ce,(E,P)=>{var at=ka(),dt=r(at),It=r(dt),gt=r(It,!0);e(It);var Ft=n(It,2),ht=r(Ft,!0);e(Ft),e(dt);var Nt=n(dt),Ut=r(Nt,!0);e(Nt);var ne=n(Nt),Tt=r(ne,!0);e(ne);var Lt=n(ne),oe=r(Lt,!0);e(Lt),e(at),k(()=>{v(gt,t(P).atIso??"—"),v(ht,t(P).atMs),v(Ut,t(P).flush?"true":"false"),v(Tt,t(P).textLen),v(oe,t(P).text===""?"<EMPTY>":t(P).text)}),i(E,at)}),e(W),e(c),e(h),k(()=>{var E,P,at;v(A,((E=t(_).ttsProviderTextSends.totals)==null?void 0:E.totalMessages)??"—"),v(K,((P=t(_).ttsProviderTextSends.totals)==null?void 0:P.droppedMessages)??"—"),v(m,((at=t(_).ttsProviderTextSends.totals)==null?void 0:at.totalTextChars)??"—")}),i(a,s)},br=a=>{var s=Aa();i(a,s)};T(hr,a=>{var s;(s=t(_))!=null&&s.ttsProviderTextSends?a(yr):a(br,!1)})}e(vr),e(xt),k((a,s)=>{var d,x,f,y;v(St,a),Kt(Mt,1,Ke((d=t(S))!=null&&d.problematic?"text-red-300":"text-rc-gray-200")),v(ve,(x=t(S))!=null&&x.problematic?"true":"false"),Kt($t,1,Ke((f=t(S))!=null&&f.interrupted?"text-amber-200":"text-rc-gray-200")),v(u,(y=t(S))!=null&&y.interrupted?"true":"false"),tt=Kt(ue,1,"w-full overflow-x-auto",null,tt,s)},[()=>{var a;return L((a=t(S))==null?void 0:a.llmToAudioLatencyMs)},()=>({hidden:!t(ot)})]),i(z,xt),ze()}function Ia(z,o,j,H,F){var D;if(!o.shouldSuppressClick(z)){if(t(j)){(D=H.onSelectInVariantMode)==null||D.call(H,H.trace);return}F()}}var Na=(z,o,j)=>{o.shouldSuppressClick(z)||j()},La=g('<span class="text-[13px] leading-none text-rc-gray-400"> </span>'),Da=g('<div class="flex w-full justify-center"><div role="button" tabindex="0"><div class="flex flex-wrap items-baseline gap-x-2 gap-y-0"><!> <div class="min-w-0 break-words"> </div></div></div></div>'),Ra=g('<div class="mr-2 mt-1 flex h-5 w-5 shrink-0 items-center justify-center rounded-sm bg-rc-green-700 text-sm uppercase text-rc-gray-100 backdrop-blur-md"> </div>'),Oa=(z,o)=>{var j;z.stopPropagation(),(j=o.onRevert)==null||j.call(o,o.trace)},Ha=g('<button type="button" title="Revert to before this message" class="mr-2 mt-1 shrink-0 self-start rounded p-1 text-rc-gray-500 opacity-80 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none"><!></button>'),ja=g("<div> </div>"),Fa=g('<div class="absolute bottom-1 left-2 rounded bg-red-950/60 px-2 py-0.5 text-[11px] text-red-200"> </div>'),Ua=(z,o)=>{z.stopPropagation(),o()},Va=g('<button type="button"><!></button>'),qa=(z,o)=>{z.stopPropagation(),o.onAnalyze(o.trace)},za=g('<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Analyze</button>'),Ba=(z,o)=>{z.stopPropagation(),o.onRegenerate(o.trace)},Wa=g('<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Regenerate</button>'),Ja=(z,o)=>{z.stopPropagation(),o.onSeeVariants(o.trace)},Ya=g('<button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">See variants</button>'),Ga=g('<div class="mt-1 flex flex-wrap items-center gap-x-2 gap-y-1"><!> <!> <!> <!></div>'),Ka=g('<!> <!> <div><div role="button" tabindex="0" class="cursor-pointer select-text"><div><div> </div> <!> <!></div></div> <!></div>',1),Xa=g('<div class="rounded-md border border-red-500 bg-red-950/40 p-3 font-mono text-sm text-red-200"> </div>'),Qa=g("<!> <!> <!>",1),Za=g('<div class="whitespace-pre-wrap break-words rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3 text-sm text-rc-gray-100"> </div>'),$a=g('<div class="text-sm text-rc-gray-300">No latency metrics present on this trace.</div>'),ts=g('<div class="flex flex-col gap-3"><!> <div class="flex items-center justify-between gap-2 text-sm text-rc-gray-200"><div class="text-rc-gray-400"> </div> <!></div> <div><!> <div class="mt-2 h-[55vh] overflow-auto"><!></div></div></div>'),es=g("<div><!></div> <!>",1);function Ls(z,o){qe(o,!0);let j=Ie(o,"analyzeDisabled",3,!1),H=Ie(o,"showSeeVariants",3,!1),F=Ie(o,"variantSelectionState",3,"none"),D=Ie(o,"suppressActionRow",3,!1),Z=Rt(!1),S=Rt("idle"),U=Rt("content");const _=cr();sr(_.cleanup);function V(M){return M?M.split("/").at(-1)??M:""}function L(M){const B=V(M).trim().charAt(0);return B?B.toUpperCase():"?"}const I=b(()=>o.trace.role==="system"?"system":o.trace.eventName==="finished-main-streaming-step"||o.trace.eventName==="sent-message"?"agent":(o.trace.role==="user","user")),nt=b(()=>t(I)==="agent"?"max-w-[83%]":t(I)==="user"?"max-w-[90%] sm:max-w-[80%] md:max-w-[70%]":t(I)==="system"?"max-w-[90%] sm:max-w-[85%] md:max-w-[75%]":""),Xt=b(()=>{var M;return t(I)==="user"&&!!o.onRevert&&((M=o.trace)==null?void 0:M.bosunPrevStateId)!==void 0}),zt=b(()=>o.trace.error!=null),Ot=b(()=>{var M;return(M=o.trace)==null?void 0:M.metrics}),Bt=b(()=>{var M,B;return(B=(M=t(Ot))==null?void 0:M.summary)==null?void 0:B.llmToAudioLatencyMs}),At=b(()=>typeof t(Bt)=="number"&&t(Bt)>800),Wt=b(()=>F()==="source");function Ht(){rt(Z,!0),rt(U,t(Ot)?"latency":"content",!0)}function Jt(M){if(typeof M!="number"||!Number.isFinite(M))return null;const B=new Date(M);if(Number.isNaN(B.getTime()))return null;const ot=String(B.getHours()).padStart(2,"0"),X=String(B.getMinutes()).padStart(2,"0"),$=String(B.getSeconds()).padStart(2,"0");return`${ot}:${X}:${$}`}const Yt=b(()=>{var M;return Jt((M=o.trace)==null?void 0:M.createdAt)});function bt(M){try{return JSON.stringify(M??null,null,2)}catch{return String(M)}}async function Qt(){try{await navigator.clipboard.writeText(bt(o.trace))}catch(M){console.error("Failed to copy",M)}}function me(){return t(I)==="agent"&&o.trace.eventName!=="transfer-requested"&&!!(o.agentId&&o.agentId.trim())&&(o.trace.eventName==="finished-main-streaming-step"||o.trace.eventName==="sent-message")}function Me(){return t(I)==="agent"&&o.trace.eventName!=="transfer-requested"&&!!(o.agentId&&o.agentId.trim())&&(o.trace.eventName==="finished-main-streaming-step"||o.trace.eventName==="sent-message")}function J(){return Me()}function N(M,B){const ot=(M??"").trim();if(!ot)return"";const X=ot.split(`
4
- `).map(it=>it.trimEnd()).filter(it=>it.trim()!=="");if(!X.length)return"";const $=X[X.length-1],xt=(B??"").trim();return xt&&$.includes(xt)&&X.pop(),X.join(`
5
- `)}async function Ct(){try{rt(S,"idle");const M=(o.agentId||"").trim();if(!M)throw new Error("Agent id is not available; cannot add test");const B=ur.indexOf(o.trace);let ot="";if(B!==-1)for(let it=B-1;it>=0;it--){const ut=ur[it];if(Pr(ut)&&typeof ut.stringifiedConversation=="string"){const lt=ut.stringifiedConversation.trim();if(lt){ot=lt;break}}}const X=(o.trace.content??"").trim(),xt={pinned:"TRUE",assertion_type:"llm-rubric",assertion_value:"",conversation:N(ot,X),expected_output:X,similarity_threshold:"60",timeout:"0",context:o.context||{}};await kr.tests.addTest.mutate({agent:M,seed:xt,mergeContexts:!0}),rt(S,"ok"),Mr(`/edit/${encodeURIComponent(M)}/tests`),setTimeout(()=>rt(S,"idle"),3e3)}catch(M){console.error("Failed to add test",M),rt(S,"error"),setTimeout(()=>rt(S,"idle"),4e3)}}var wt=es(),Zt=st(wt);let Pe;var ke=r(Zt);{var ge=M=>{var B=Da(),ot=r(B);ot.__pointerdown=function(...lt){var St;(St=_.onPointerDown)==null||St.apply(this,lt)},ot.__click=[Na,_,Ht];var X=r(ot),$=r(X);{var xt=lt=>{var St=La(),Q=r(St,!0);e(St),k(()=>v(Q,t(Yt))),i(lt,St)};T($,lt=>{t(Yt)&&lt(xt)})}var it=n($,2),ut=r(it);e(it),e(X),e(ot),e(B),k(()=>{Kt(ot,1,`cursor-pointer select-text rounded-full border border-rc-gray-650 bg-rc-gray-800/40 px-4 py-2 text-sm text-rc-gray-100 ${t(zt)?"border-red-500 bg-red-950/30 text-red-200":""}`),v(ut,`Transfer requested: ${o.trace.content??""}`)}),i(M,B)},_e=M=>{var B=Ka(),ot=st(B);{var X=l=>{var p=Ra(),w=r(p,!0);e(p),k((G,ct)=>{Sr(p,"title",G),v(w,ct)},[()=>V(o.agentId),()=>L(o.agentId)]),i(l,p)};T(ot,l=>{t(I)==="agent"&&o.agentId&&l(X)})}var $=n(ot,2);{var xt=l=>{var p=Ha();p.__click=[Oa,o];var w=r(p);ir(w,{name:"undo",width:16,height:16}),e(p),i(l,p)};T($,l=>{t(Xt)&&l(xt)})}var it=n($,2),ut=r(it);ut.__pointerdown=function(...l){var p;(p=_.onPointerDown)==null||p.apply(this,l)},ut.__click=[Ia,_,Wt,o,Ht];var lt=r(ut),St=r(lt),Q=r(St,!0);e(St);var Et=n(St,2);{var Mt=l=>{var p=ja(),w=r(p,!0);e(p),k(()=>{Kt(p,1,`${t(At)?"absolute bottom-1 right-2":"mt-1 text-right"} text-xs text-rc-gray-200/70`),v(w,t(Yt))}),i(l,p)};T(Et,l=>{t(Yt)&&l(Mt)})}var ve=n(Et,2);{var pe=l=>{var p=Fa(),w=r(p);e(p),k(G=>v(w,`High LLM to audio latency: ${G??""} ms`),[()=>Math.round(t(Bt))]),i(l,p)};T(ve,l=>{t(At)&&l(pe)})}e(lt),e(ut);var $t=n(ut,2);{var u=l=>{var p=Ga(),w=r(p);{var G=tt=>{var ft=Va();ft.__click=[Ua,Ct];var Ue=r(ft);{var Ne=xe=>{var mt=yt("Added");i(xe,mt)},Be=xe=>{var mt=Se(),ee=st(mt);{var fe=re=>{var jt=yt("Failed");i(re,jt)},he=re=>{var jt=yt("Add test");i(re,jt)};T(ee,re=>{t(S)==="error"?re(fe):re(he,!1)},!0)}i(xe,mt)};T(Ue,xe=>{t(S)==="ok"?xe(Ne):xe(Be,!1)})}e(ft),k(()=>Kt(ft,1,`inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 transition-colors focus:outline-none focus-visible:outline-none ${t(S)!=="idle"?"cursor-default text-rc-gray-400":"cursor-pointer text-rc-gray-400 hover:bg-rc-gray-900 hover:text-rc-gray-200"}`)),i(tt,ft)};T(w,tt=>{me()&&tt(G)})}var ct=n(w,2);{var _t=tt=>{var ft=za();ft.__click=[qa,o],k(()=>ft.disabled=j()),i(tt,ft)};T(ct,tt=>{Me()&&o.onAnalyze&&tt(_t)})}var pt=n(ct,2);{var ie=tt=>{var ft=Wa();ft.__click=[Ba,o],i(tt,ft)};T(pt,tt=>{J()&&o.onRegenerate&&tt(ie)})}var te=n(pt,2);{var ue=tt=>{var ft=Ya();ft.__click=[Ja,o],i(tt,ft)};T(te,tt=>{H()&&o.onSeeVariants&&tt(ue)})}e(p),i(l,p)};T($t,l=>{!D()&&(Me()||me()||J()&&o.onRegenerate||H())&&l(u)})}e(it),k(()=>{Kt(it,1,`min-w-0 ${t(nt)??""}`),Kt(lt,1,`rounded-lg ${t(I)==="system"?"justify-between whitespace-pre-line break-words border border-emerald-500 text-emerald-500":t(Wt)?"w-full whitespace-pre-line break-words border border-rc-green-450 bg-transparent backdrop-blur-md hover:bg-rc-green-700":t(I)!=="user"?"w-full whitespace-pre-line break-words bg-rc-green-700 backdrop-blur-md":"whitespace-pre-line break-words bg-rc-gray-700"} ${t(I)==="system"||t(Wt)?"":"border-thin border-rc-gray-110"} p-2 pt-1 text-rc-gray-100 ${t(zt)?"border-red-500 bg-red-950/30 text-red-200":""} ${t(At)?"relative pb-5 ring-1 ring-red-500/60":""} ${t(At)&&!t(zt)?"border-red-500":""}`),v(Q,o.trace.content)}),i(M,B)};T(ke,M=>{o.trace.eventName==="transfer-requested"?M(ge):M(_e,!1)})}e(Zt);var de=n(Zt,2);{var ce=M=>{{const B=X=>{var $=ts(),xt=r($);{var it=l=>{var p=Xa(),w=r(p,!0);e(p),k(G=>v(w,G),[()=>bt(o.trace.error)]),i(l,p)};T(xt,l=>{t(zt)&&l(it)})}var ut=n(xt,2),lt=r(ut),St=r(lt);e(lt);var Q=n(lt,2);Qe(Q,{variant:"secondary",size:"small",onclick:Qt,children:(l,p)=>{Dt();var w=yt("Copy raw trace");i(l,w)},$$slots:{default:!0}}),e(ut);var Et=n(ut,2),Mt=r(Et);or(Mt,{get value(){return t(U)},ariaLabel:"Conversational trace tabs",onChange:({value:l})=>rt(U,l,!0),children:(l,p)=>{var w=Qa(),G=st(w);Te(G,{value:"content",class:"px-3",children:(pt,ie)=>{Dt();var te=yt("Content");i(pt,te)},$$slots:{default:!0}});var ct=n(G,2);{let pt=b(()=>!t(Ot));Te(ct,{value:"latency",class:"px-3",get disabled(){return t(pt)},children:(ie,te)=>{Dt();var ue=yt("Latency");i(ie,ue)},$$slots:{default:!0}})}var _t=n(ct,2);Te(_t,{value:"raw",class:"px-3",children:(pt,ie)=>{Dt();var te=yt("Raw");i(pt,te)},$$slots:{default:!0}}),i(l,w)},$$slots:{default:!0}});var ve=n(Mt,2),pe=r(ve);{var $t=l=>{var p=Za(),w=r(p,!0);e(p),k(()=>v(w,o.trace.content)),i(l,p)},u=l=>{var p=Se(),w=st(p);{var G=_t=>{var pt=Se(),ie=st(pt);{var te=tt=>{Ea(tt,{get metrics(){return t(Ot)}})},ue=tt=>{var ft=$a();i(tt,ft)};T(ie,tt=>{t(Ot)?tt(te):tt(ue,!1)})}i(_t,pt)},ct=_t=>{{let pt=b(()=>bt(o.trace));Ee(_t,{get value(){return t(pt)},language:"json",class:"h-full"})}};T(w,_t=>{t(U)==="latency"?_t(G):_t(ct,!1)},!0)}i(l,p)};T(pe,l=>{t(U)==="content"?l($t):l(u,!1)})}e(ve),e(Et),e($),k(()=>v(St,`${o.trace.role??""} • ${o.trace.medium??""}`)),i(X,$)};let ot=b(()=>`Conversation: ${o.trace.eventName}`);Xe(M,{get title(){return t(ot)},class:"!w-[80vw] !max-w-4xl",get open(){return t(Z)},set open(X){rt(Z,X,!0)},children:B,$$slots:{default:!0}})}};T(de,M=>{t(Z)&&M(ce)})}k(M=>Pe=Kt(Zt,1,"group mb-2 flex w-full items-start",null,Pe,M),[()=>({"justify-end":t(I)==="user"||t(I)==="system"})]),i(z,wt),ze()}nr(["pointerdown","click"]);var rs=g('<div><div class="h-full w-full"></div></div>');function as(z,o){qe(o,!0);let j=Ie(o,"language",3,"markdown"),H=Ie(o,"class",3,""),F=Rt(null),D=null,Z=null,S=null,U=Rt(!1);ar(()=>{if(!t(F))return;fr();let L=!1;return lr(()=>import("./DLQqXQ6R.js").then(I=>I.e),__vite__mapDeps([0,1,2]),import.meta.url).then(I=>{if(L)return;mr(I),Z=I,D=I.editor.createDiffEditor(t(F),{theme:"bosun-dark",readOnly:!0,automaticLayout:!0,lineNumbers:"off",renderSideBySide:!0,renderIndicators:!0,ignoreTrimWhitespace:!1,diffWordWrap:"on",diffAlgorithm:"advanced",maxComputationTime:2e4,renderMarginRevertIcon:!1,renderGutterMenu:!1,minimap:{enabled:!1},scrollBeyondLastLine:!1,wordWrap:"on",overviewRulerBorder:!1,hideCursorInOverviewRuler:!0,matchBrackets:"never",bracketPairColorization:{enabled:!1},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},occurrencesHighlight:"off",selectionHighlight:!1,renderLineHighlight:"none",contextmenu:!1,originalEditable:!1});const nt=I.editor.createModel(o.original??"",j()),Xt=I.editor.createModel(o.modified??"",j());S={original:nt,modified:Xt},D.setModel({original:nt,modified:Xt}),rt(U,!0)}).catch(I=>{console.error("ReadOnlyMonacoDiff: failed to init",I)}),()=>{if(L=!0,D){try{D.setModel(null)}catch{}D.dispose(),D=null}S&&(S.original.dispose(),S.modified.dispose(),S=null),Z=null}}),Ge(()=>{if(!D||!S||!t(U))return;const L=o.original??"",I=o.modified??"";S.original.getValue()!==L&&S.original.setValue(L),S.modified.getValue()!==I&&S.modified.setValue(I)}),Ge(()=>{if(!D||!S||!t(U)||!Z)return;const L=j()||"markdown";S.original.getLanguageId()!==L&&Z.editor.setModelLanguage(S.original,L),S.modified.getLanguageId()!==L&&Z.editor.setModelLanguage(S.modified,L)});var _=rs(),V=r(_);dr(V,L=>rt(F,L),()=>t(F)),e(_),k(()=>Kt(_,1,`overflow-hidden rounded-md border border-rc-gray-700 ${H()}`)),i(z,_),ze()}var ss=(z,o,j)=>{o.shouldSuppressClick(z)||rt(j,!0)},ns=g('<span class="text-[13px] leading-none text-rc-gray-400"> </span>'),os=(z,o,j,H)=>{z.stopPropagation(),!o.shouldSuppressClick(z)&&t(j)&&rt(H,!0)},is=g('<span><span class="cursor-pointer" title="Show prompt-cache calc JSON"> </span></span>'),ls=g('<div class="rounded-md border border-red-500 bg-red-950/40 p-3 font-mono text-sm text-red-200"> </div>'),ds=g("<!> <!> <!> <!> <!>",1),cs=g('<div class="flex h-full flex-col gap-2"><div class="grid grid-cols-2 gap-2"><div class="flex items-center justify-start"><!></div> <div class="flex items-center justify-end"><!></div></div> <!></div>'),vs=g('<div class="flex flex-col gap-3"><!> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-rc-gray-200"><div><span class="text-rc-gray-400">Timing:</span> </div> <div><span class="text-rc-gray-400">Response time:</span> —</div> <div><span class="text-rc-gray-400">Model:</span> </div></div> <div><!> <div class="mt-2 h-[55vh]"><!></div></div></div>'),us=g('<div class="h-[65vh]"><!></div>'),fs=g('<button type="button" class="flex w-full cursor-pointer select-text items-baseline gap-2 truncate rounded-md bg-transparent px-2 py-1 text-left text-sm text-rc-gray-200 hover:bg-rc-gray-800/40"><!> <!> <span> </span> <!></button> <!> <!>',1);function Ds(z,o){qe(o,!0);let j=Rt(!1),H=Rt(!1),F=Rt("response");const D=cr();sr(D.cleanup);function Z(u){return u&&typeof u.renderedPrompt=="string"?u.renderedPrompt:null}function S(u,l){if(u===l)return u.length;const p=Math.min(u.length,l.length);for(let w=0;w<p;w++)if(u.charCodeAt(w)!==l.charCodeAt(w))return w;return p}function U(u,l){const p=Math.max(u.length,l.length);if(p===0)return 100;const w=S(u,l);return Math.floor(w/p*100)}function _(u,l){const p=u.length,w=l.length,G=S(u,l),ct=Math.max(p,w),_t=ct===0?100:Math.floor(G/ct*100);return{currentLength:p,baselineLength:w,commonPrefixLength:G,denom:ct,similarityPct:_t}}function V(u,l){const G=u.slice(0,600),ct=u.slice(Math.max(G.length,u.length-600)),_t=Math.max(0,u.length-G.length-ct.length);return{length:u.length,head:G,tail:ct,omittedChars:_t}}function L(u){const l=u.llmUsage;return!l||typeof l.promptTokens!="number"||!Number.isFinite(l.promptTokens)||l.promptTokens<=0||typeof l.cachedPromptTokens!="number"||!Number.isFinite(l.cachedPromptTokens)||l.cachedPromptTokens<0?null:Math.max(0,Math.min(100,Math.floor(l.cachedPromptTokens/l.promptTokens*100)))}function I(u){const l=new WeakSet;try{return JSON.stringify(u,(p,w)=>{if(typeof w=="bigint")return w.toString();if(w instanceof Error)return{name:w.name,message:w.message,stack:w.stack};if(typeof w=="object"&&w!==null){if(l.has(w))return"[Circular]";l.add(w)}return w},2)??""}catch{return String(u)}}function nt(u){if(u==null)return"";if(typeof u=="string"){const l=u.trim();if(!l)return"";try{return JSON.stringify(JSON.parse(l),null,2)}catch{return u}}return I(u)}function Xt(u){return new Date(u).toISOString()}function zt(u){if(typeof u!="number"||!Number.isFinite(u))return null;const l=new Date(u);if(Number.isNaN(l.getTime()))return null;const p=String(l.getHours()).padStart(2,"0"),w=String(l.getMinutes()).padStart(2,"0"),G=String(l.getSeconds()).padStart(2,"0");return`${p}:${w}:${G}`}const Ot=b(()=>zt(o.trace.createdAt)),Bt=b(()=>o.trace.error!=null),At=b(()=>`AI: ${o.trace.name}`),Wt=b(()=>o.trace.name),Ht=b(()=>{if(o.trace.name!=="main")return null;const u=Z(o.trace),l=Z(o.compareTrace);return u==null||l==null?null:U(u,l)}),Jt=b(()=>o.trace.name!=="main"?null:L(o.trace)),Yt=90,bt=90,Qt=b(()=>o.trace.name!=="main"?null:t(Jt)!=null?t(Jt)===0&&t(Ht)!=null&&t(Ht)>=bt?{text:"0% tokens cached. Cache miss",className:"text-red-200"}:t(Jt)>=Yt?{text:`${t(Jt)}% tokens cached`,className:"text-rc-gray-400"}:{text:`${t(Jt)}% tokens cached - move dynamic parts of prompt to the bottom`,className:"text-red-200"}:t(Ht)!=null?t(Ht)>=Yt?{text:`${t(Ht)}%`,className:"text-rc-gray-400"}:{text:`${t(Ht)}% cached - move dynamic parts of prompt to the bottom`,className:"text-red-200"}:null),me=b(()=>{var pt;if(o.trace.name!=="main")return null;const u=Z(o.trace),l=Z(o.compareTrace),p=u!=null&&l!=null?_(u,l):null,w=o.trace.llmUsage??null,G=t(Jt),ct=G===0&&(p==null?void 0:p.similarityPct)!=null&&p.similarityPct>=bt;return{version:1,labelSource:G!=null?"llmUsage":t(Ht)!=null?"promptSimilarityFallback":"none",thresholds:{okPct:Yt,cacheMissSimilarityPct:bt},inputs:{llmUsage:w,currentRenderedPrompt:u!=null?V(u):null,baselineRenderedPrompt:l!=null?V(l):null},computed:{cachedTokensPct:G,promptSimilarityPct:(p==null?void 0:p.similarityPct)??null,promptSimilarity:p,cacheMiss:ct},decision:{text:((pt=t(Qt))==null?void 0:pt.text)??null}}}),Me=b(()=>t(me)?I(t(me)):"{}"),J=b(()=>nt(o.trace.response)),N=b(()=>{const u=o.trace.response;if(typeof u!="string")return"json";try{return JSON.parse(u),"json"}catch{return"text"}}),Ct=b(()=>o.trace.stringifiedConversation??""),wt=b(()=>nt(o.trace.renderedPrompt)),Zt=b(()=>nt(o.trace.receivedPrompt)),Pe=b(()=>nt(o.trace.receivedContext)),ke=b(()=>nt(o.trace.schema)),ge=b(()=>o.trace.error?I(o.trace.error):"");function _e(u){return u==null?"":typeof u=="string"?u:I(u)}const de=b(()=>_e(o.trace.receivedPrompt)),ce=b(()=>_e(o.trace.renderedPrompt));let M=Rt(null),B=Rt(null);async function ot(u){try{const l=u==="raw"?t(de):t(ce);await navigator.clipboard.writeText(l),rt(M,u,!0),t(B)&&clearTimeout(t(B)),rt(B,window.setTimeout(()=>{rt(M,null),rt(B,null)},2e3),!0)}catch(l){console.error("Failed to copy prompt",l)}}var X=fs(),$=st(X);$.__pointerdown=function(...u){var l;(l=D.onPointerDown)==null||l.apply(this,u)},$.__click=[ss,D,j];var xt=r($);{let u=b(()=>t(Bt)?"close":"checkmark"),l=b(()=>t(Bt)?"self-center text-red-400":"self-center text-rc-green-200");ir(xt,{get name(){return t(u)},width:18,height:18,get class(){return t(l)}})}var it=n(xt,2);{var ut=u=>{var l=ns(),p=r(l,!0);e(l),k(()=>v(p,t(Ot))),i(u,l)};T(it,u=>{t(Ot)&&u(ut)})}var lt=n(it,2),St=r(lt);e(lt);var Q=n(lt,2);{var Et=u=>{var l=is(),p=r(l);p.__click=[os,D,me,H];var w=r(p,!0);e(p),e(l),k(()=>{Kt(l,1,`shrink-0 text-xs ${t(Qt).className}`),v(w,t(Qt).text)}),i(u,l)};T(Q,u=>{t(Qt)!=null&&u(Et)})}e($);var Mt=n($,2);{var ve=u=>{Xe(u,{get title(){return t(At)},class:"!w-[85vw] !max-w-5xl",get open(){return t(j)},set open(p){rt(j,p,!0)},children:p=>{var w=vs(),G=r(w);{var ct=mt=>{var ee=ls(),fe=r(ee,!0);e(ee),k(()=>v(fe,t(ge))),i(mt,ee)};T(G,mt=>{t(ge)&&mt(ct)})}var _t=n(G,2),pt=r(_t),ie=n(r(pt));e(pt);var te=n(pt,4),ue=n(r(te));e(te),e(_t);var tt=n(_t,2),ft=r(tt);or(ft,{get value(){return t(F)},ariaLabel:"Step trace tabs",onChange:({value:mt})=>rt(F,mt,!0),children:(mt,ee)=>{var fe=ds(),he=st(fe);Te(he,{value:"response",class:"px-3",children:(ae,Ae)=>{Dt();var kt=yt("Response");i(ae,kt)},$$slots:{default:!0}});var re=n(he,2);Te(re,{value:"conversation",class:"px-3",children:(ae,Ae)=>{Dt();var kt=yt("Conversation");i(ae,kt)},$$slots:{default:!0}});var jt=n(re,2);Te(jt,{value:"prompt",class:"px-3",children:(ae,Ae)=>{Dt();var kt=yt("Prompt");i(ae,kt)},$$slots:{default:!0}});var Le=n(jt,2);Te(Le,{value:"context",class:"px-3",children:(ae,Ae)=>{Dt();var kt=yt("Context");i(ae,kt)},$$slots:{default:!0}});var De=n(Le,2);Te(De,{value:"schema",class:"px-3",children:(ae,Ae)=>{Dt();var kt=yt("Schema");i(ae,kt)},$$slots:{default:!0}}),i(mt,fe)},$$slots:{default:!0}});var Ue=n(ft,2),Ne=r(Ue);{var Be=mt=>{Ee(mt,{get value(){return t(J)},get language(){return t(N)},class:"h-full"})},xe=mt=>{var ee=Se(),fe=st(ee);{var he=jt=>{Ee(jt,{get value(){return t(Ct)},language:"text",class:"h-full"})},re=jt=>{var Le=Se(),De=st(Le);{var ae=kt=>{var ye=cs(),Re=r(ye),Oe=r(Re),We=r(Oe);{let Je=b(()=>!t(de).trim());Qe(We,{variant:"secondary",size:"small",get disabled(){return t(Je)},onclick:()=>ot("raw"),children:(He,tr)=>{Dt();var je=yt();k(()=>v(je,t(M)==="raw"?"Copied raw prompt":"Copy raw prompt")),i(He,je)},$$slots:{default:!0}})}e(Oe);var se=n(Oe,2),Ze=r(se);{let Je=b(()=>!t(ce).trim());Qe(Ze,{variant:"secondary",size:"small",get disabled(){return t(Je)},onclick:()=>ot("rendered"),children:(He,tr)=>{Dt();var je=yt();k(()=>v(je,t(M)==="rendered"?"Copied rendered prompt":"Copy rendered prompt")),i(He,je)},$$slots:{default:!0}})}e(se),e(Re);var $e=n(Re,2);as($e,{get original(){return t(Zt)},get modified(){return t(wt)},language:"markdown",class:"min-h-0 flex-1"}),e(ye),i(kt,ye)},Ae=kt=>{var ye=Se(),Re=st(ye);{var Oe=se=>{Ee(se,{get value(){return t(Pe)},language:"json",class:"h-full"})},We=se=>{Ee(se,{get value(){return t(ke)},language:"json",class:"h-full"})};T(Re,se=>{t(F)==="context"?se(Oe):se(We,!1)},!0)}i(kt,ye)};T(De,kt=>{t(F)==="prompt"?kt(ae):kt(Ae,!1)},!0)}i(jt,Le)};T(fe,jt=>{t(F)==="conversation"?jt(he):jt(re,!1)},!0)}i(mt,ee)};T(Ne,mt=>{t(F)==="response"?mt(Be):mt(xe,!1)})}e(Ue),e(tt),e(w),k(mt=>{v(ie,` ${mt??""}`),v(ue,` ${o.trace.model??"—"??""}`)},[()=>typeof o.trace.createdAt=="number"?Xt(o.trace.createdAt):"—"]),i(p,w)},$$slots:{default:!0}})};T(Mt,u=>{t(j)&&u(ve)})}var pe=n(Mt,2);{var $t=u=>{Xe(u,{title:"Prompt cache calc",class:"!w-[85vw] !max-w-5xl",get open(){return t(H)},set open(p){rt(H,p,!0)},children:p=>{var w=us(),G=r(w);Ee(G,{get value(){return t(Me)},language:"json",class:"h-full"}),e(w),i(p,w)},$$slots:{default:!0}})};T(pe,u=>{t(H)&&u($t)})}k(()=>{Kt(lt,1,Ke(t(Bt)?"text-red-200":"")),v(St,`AI: ${t(Wt)??""}`)}),i(z,X),ze()}nr(["pointerdown","click"]);export{Ns as C,Ds as a,Ls as b};