@recombine-ai/bosun 0.11.1 → 0.12.0

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 (409) hide show
  1. package/build/client/_app/immutable/assets/0.CH-WU4JN.css +1 -0
  2. package/build/client/_app/immutable/assets/0.CH-WU4JN.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.CH-WU4JN.css.gz +0 -0
  4. package/build/client/_app/immutable/assets/{10.BX46PfEJ.css → 10.DIVePEYf.css} +1 -1
  5. package/build/client/_app/immutable/assets/10.DIVePEYf.css.br +0 -0
  6. package/build/client/_app/immutable/assets/10.DIVePEYf.css.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{AocOovHL.js → 07xNIa59.js} +2 -2
  8. package/build/client/_app/immutable/chunks/07xNIa59.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/07xNIa59.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/BDl2QuyN.js +1 -0
  11. package/build/client/_app/immutable/chunks/BDl2QuyN.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/BDl2QuyN.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/{CqxCTxvJ.js → BI42X8h_.js} +1 -1
  14. package/build/client/_app/immutable/chunks/BI42X8h_.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/BI42X8h_.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/BJTwdUYr.js +1 -0
  17. package/build/client/_app/immutable/chunks/BJTwdUYr.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/BJTwdUYr.js.gz +0 -0
  19. package/build/client/_app/immutable/chunks/BLu86SbA.js +1 -0
  20. package/build/client/_app/immutable/chunks/BLu86SbA.js.br +0 -0
  21. package/build/client/_app/immutable/chunks/BLu86SbA.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/BNifnXkO.js +1 -0
  23. package/build/client/_app/immutable/chunks/BNifnXkO.js.br +2 -0
  24. package/build/client/_app/immutable/chunks/BNifnXkO.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/{BM0jKynj.js → BPNEONy5.js} +1 -1
  26. package/build/client/_app/immutable/chunks/BPNEONy5.js.br +0 -0
  27. package/build/client/_app/immutable/chunks/BPNEONy5.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/BQ3mPfLC.js +1 -0
  29. package/build/client/_app/immutable/chunks/BQ3mPfLC.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/BQ3mPfLC.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/BRQsk2Ii.js +1 -0
  32. package/build/client/_app/immutable/chunks/BRQsk2Ii.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/BRQsk2Ii.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/B_K7D6rX.js +2 -0
  35. package/build/client/_app/immutable/chunks/B_K7D6rX.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/B_K7D6rX.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/BirMtEut.js +3 -0
  38. package/build/client/_app/immutable/chunks/BirMtEut.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/BirMtEut.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/Bj8jfBTi.js +1 -0
  41. package/build/client/_app/immutable/chunks/Bj8jfBTi.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/Bj8jfBTi.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/BsDZe4N6.js +1 -0
  44. package/build/client/_app/immutable/chunks/BsDZe4N6.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/BsDZe4N6.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/{CXo2BVs0.js → Buo-57fF.js} +1 -1
  47. package/build/client/_app/immutable/chunks/Buo-57fF.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/Buo-57fF.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/{C-whEtKd.js → C39ai1md.js} +1 -1
  50. package/build/client/_app/immutable/chunks/C39ai1md.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/C39ai1md.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/C7he4XPB.js +1 -0
  53. package/build/client/_app/immutable/chunks/C7he4XPB.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/C7he4XPB.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/{DYhTBLDc.js → CAjPRvNs.js} +2 -2
  56. package/build/client/_app/immutable/chunks/CAjPRvNs.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/CAjPRvNs.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/CJYOmGlC.js +1 -0
  59. package/build/client/_app/immutable/chunks/CJYOmGlC.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/CJYOmGlC.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/{HJHYLHDn.js → CPXdAKdv.js} +1 -1
  62. package/build/client/_app/immutable/chunks/CPXdAKdv.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/CPXdAKdv.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/{DTlGvFHe.js → CVlsAO8k.js} +1 -1
  65. package/build/client/_app/immutable/chunks/CVlsAO8k.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/CVlsAO8k.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/{DNLcpWO_.js → CX0Ekq8t.js} +1 -1
  68. package/build/client/_app/immutable/chunks/CX0Ekq8t.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/CX0Ekq8t.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/Ca197UDq.js +1 -0
  71. package/build/client/_app/immutable/chunks/Ca197UDq.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/Ca197UDq.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/CaHl3dME.js +1 -0
  74. package/build/client/_app/immutable/chunks/CaHl3dME.js.br +0 -0
  75. package/build/client/_app/immutable/chunks/CaHl3dME.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/Cql_e8Of.js +1 -0
  77. package/build/client/_app/immutable/chunks/Cql_e8Of.js.br +2 -0
  78. package/build/client/_app/immutable/chunks/Cql_e8Of.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/{Dv8m1cTI.js → CxLomzuE.js} +1 -1
  80. package/build/client/_app/immutable/chunks/CxLomzuE.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/{Dv8m1cTI.js.gz → CxLomzuE.js.gz} +0 -0
  82. package/build/client/_app/immutable/chunks/Cyai3SOj.js +1 -0
  83. package/build/client/_app/immutable/chunks/Cyai3SOj.js.br +0 -0
  84. package/build/client/_app/immutable/chunks/Cyai3SOj.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/{-g1l5aoS.js → CyvQWZoe.js} +4 -4
  86. package/build/client/_app/immutable/chunks/CyvQWZoe.js.br +0 -0
  87. package/build/client/_app/immutable/chunks/CyvQWZoe.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/CzXNWL4m.js +1 -0
  89. package/build/client/_app/immutable/chunks/CzXNWL4m.js.br +1 -0
  90. package/build/client/_app/immutable/chunks/CzXNWL4m.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/D-B5X35l.js +1 -0
  92. package/build/client/_app/immutable/chunks/D-B5X35l.js.br +0 -0
  93. package/build/client/_app/immutable/chunks/D-B5X35l.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/DJriQKD9.js +2 -0
  95. package/build/client/_app/immutable/chunks/DJriQKD9.js.br +0 -0
  96. package/build/client/_app/immutable/chunks/DJriQKD9.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/{CZLNSMhF.js → Dslf9OwW.js} +10 -10
  98. package/build/client/_app/immutable/chunks/Dslf9OwW.js.br +0 -0
  99. package/build/client/_app/immutable/chunks/Dslf9OwW.js.gz +0 -0
  100. package/build/client/_app/immutable/chunks/{UiXQyKcj.js → Dyryn8e8.js} +1 -1
  101. package/build/client/_app/immutable/chunks/Dyryn8e8.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/Dyryn8e8.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/QpaC6J6s.js +1 -0
  104. package/build/client/_app/immutable/chunks/QpaC6J6s.js.br +0 -0
  105. package/build/client/_app/immutable/chunks/QpaC6J6s.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/{HXxIsSOO.js → iAhzu4tv.js} +1 -1
  107. package/build/client/_app/immutable/chunks/iAhzu4tv.js.br +0 -0
  108. package/build/client/_app/immutable/chunks/iAhzu4tv.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/{Cosugfe8.js → nYD9wsyN.js} +1 -1
  110. package/build/client/_app/immutable/chunks/nYD9wsyN.js.br +0 -0
  111. package/build/client/_app/immutable/chunks/nYD9wsyN.js.gz +0 -0
  112. package/build/client/_app/immutable/chunks/{BIpSIzUr.js → uLGP0py1.js} +1 -1
  113. package/build/client/_app/immutable/chunks/uLGP0py1.js.br +0 -0
  114. package/build/client/_app/immutable/chunks/uLGP0py1.js.gz +0 -0
  115. package/build/client/_app/immutable/entry/app.D4Xt4iAw.js +2 -0
  116. package/build/client/_app/immutable/entry/app.D4Xt4iAw.js.br +0 -0
  117. package/build/client/_app/immutable/entry/app.D4Xt4iAw.js.gz +0 -0
  118. package/build/client/_app/immutable/entry/start.wAOD4JjG.js +1 -0
  119. package/build/client/_app/immutable/entry/start.wAOD4JjG.js.br +2 -0
  120. package/build/client/_app/immutable/entry/start.wAOD4JjG.js.gz +0 -0
  121. package/build/client/_app/immutable/nodes/{0.BiYgQci8.js → 0.Cu9qsozo.js} +2 -2
  122. package/build/client/_app/immutable/nodes/0.Cu9qsozo.js.br +0 -0
  123. package/build/client/_app/immutable/nodes/0.Cu9qsozo.js.gz +0 -0
  124. package/build/client/_app/immutable/nodes/1.Couoma7h.js +1 -0
  125. package/build/client/_app/immutable/nodes/1.Couoma7h.js.br +0 -0
  126. package/build/client/_app/immutable/nodes/1.Couoma7h.js.gz +0 -0
  127. package/build/client/_app/immutable/nodes/10.D9Is7Tuj.js +7 -0
  128. package/build/client/_app/immutable/nodes/10.D9Is7Tuj.js.br +0 -0
  129. package/build/client/_app/immutable/nodes/10.D9Is7Tuj.js.gz +0 -0
  130. package/build/client/_app/immutable/nodes/{15.Wmhj7gOy.js → 15.BFy4oAT6.js} +1 -1
  131. package/build/client/_app/immutable/nodes/15.BFy4oAT6.js.br +0 -0
  132. package/build/client/_app/immutable/nodes/15.BFy4oAT6.js.gz +0 -0
  133. package/build/client/_app/immutable/nodes/17.4BKUGLfv.js +3 -0
  134. package/build/client/_app/immutable/nodes/17.4BKUGLfv.js.br +0 -0
  135. package/build/client/_app/immutable/nodes/17.4BKUGLfv.js.gz +0 -0
  136. package/build/client/_app/immutable/nodes/18.BS-4NZTI.js +11 -0
  137. package/build/client/_app/immutable/nodes/18.BS-4NZTI.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/18.BS-4NZTI.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/{2.DniQTiGZ.js → 2.DFjSU1Pb.js} +20 -20
  140. package/build/client/_app/immutable/nodes/2.DFjSU1Pb.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/2.DFjSU1Pb.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/3.DS3LgAwM.js +1 -0
  143. package/build/client/_app/immutable/nodes/3.DS3LgAwM.js.br +0 -0
  144. package/build/client/_app/immutable/nodes/3.DS3LgAwM.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/4.CgSeFwiS.js +1 -0
  146. package/build/client/_app/immutable/nodes/4.CgSeFwiS.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/4.CgSeFwiS.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/5.-ESdbp9e.js +1 -0
  149. package/build/client/_app/immutable/nodes/5.-ESdbp9e.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/5.-ESdbp9e.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/6.CX8TfGzw.js +1 -0
  152. package/build/client/_app/immutable/nodes/6.CX8TfGzw.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/6.CX8TfGzw.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/{8.2oZsfzo8.js → 8.Bu3UjNq7.js} +1 -1
  155. package/build/client/_app/immutable/nodes/8.Bu3UjNq7.js.br +0 -0
  156. package/build/client/_app/immutable/nodes/8.Bu3UjNq7.js.gz +0 -0
  157. package/build/client/_app/immutable/nodes/9.DsvEYdNE.js +2 -0
  158. package/build/client/_app/immutable/nodes/9.DsvEYdNE.js.br +0 -0
  159. package/build/client/_app/immutable/nodes/9.DsvEYdNE.js.gz +0 -0
  160. package/build/client/_app/version.json +1 -1
  161. package/build/client/_app/version.json.br +0 -0
  162. package/build/client/_app/version.json.gz +0 -0
  163. package/build/server/chunks/0-BsZDBUML.js +9 -0
  164. package/build/server/chunks/0-BsZDBUML.js.map +1 -0
  165. package/build/server/chunks/1-BSnA3oUp.js +9 -0
  166. package/build/server/chunks/{1-BQkMpHdq.js.map → 1-BSnA3oUp.js.map} +1 -1
  167. package/build/server/chunks/10-Z1taG_Ws.js +9 -0
  168. package/build/server/chunks/10-Z1taG_Ws.js.map +1 -0
  169. package/build/server/chunks/{15-CZBxPMAc.js → 15-BMEAVslz.js} +2 -2
  170. package/build/server/chunks/{15-CZBxPMAc.js.map → 15-BMEAVslz.js.map} +1 -1
  171. package/build/server/chunks/17-ChcBYZZX.js +9 -0
  172. package/build/server/chunks/17-ChcBYZZX.js.map +1 -0
  173. package/build/server/chunks/18-lUysJblN.js +9 -0
  174. package/build/server/chunks/18-lUysJblN.js.map +1 -0
  175. package/build/server/chunks/2-Fea6hX08.js +9 -0
  176. package/build/server/chunks/2-Fea6hX08.js.map +1 -0
  177. package/build/server/chunks/3-CMzmyLKz.js +9 -0
  178. package/build/server/chunks/3-CMzmyLKz.js.map +1 -0
  179. package/build/server/chunks/4-DIgalIci.js +9 -0
  180. package/build/server/chunks/4-DIgalIci.js.map +1 -0
  181. package/build/server/chunks/5-BtBVzSzb.js +9 -0
  182. package/build/server/chunks/{5-C7KuaSU9.js.map → 5-BtBVzSzb.js.map} +1 -1
  183. package/build/server/chunks/6-DY6GY4a1.js +9 -0
  184. package/build/server/chunks/6-DY6GY4a1.js.map +1 -0
  185. package/build/server/chunks/8-CjiKpoR-.js +9 -0
  186. package/build/server/chunks/8-CjiKpoR-.js.map +1 -0
  187. package/build/server/chunks/9-CJYLhcDY.js +9 -0
  188. package/build/server/chunks/9-CJYLhcDY.js.map +1 -0
  189. package/build/server/chunks/{AgentSidebar-XdGj1sqT.js → AgentSidebar-DvIlda-E.js} +5 -6
  190. package/build/server/chunks/AgentSidebar-DvIlda-E.js.map +1 -0
  191. package/build/server/chunks/{ChatStepTrace-DnvGtFpb.js → ChatStepTrace-CqqIjRLU.js} +41 -7
  192. package/build/server/chunks/ChatStepTrace-CqqIjRLU.js.map +1 -0
  193. package/build/server/chunks/MockGenerator-GEpXTgX0.js +117 -0
  194. package/build/server/chunks/MockGenerator-GEpXTgX0.js.map +1 -0
  195. package/build/server/chunks/{_layout.svelte-C5Y9nSXi.js → _layout.svelte-B-CkD4a0.js} +12 -6
  196. package/build/server/chunks/_layout.svelte-B-CkD4a0.js.map +1 -0
  197. package/build/server/chunks/{_layout.svelte-_oqm8kmr.js → _layout.svelte-BBFCF-xw.js} +7 -3
  198. package/build/server/chunks/_layout.svelte-BBFCF-xw.js.map +1 -0
  199. package/build/server/chunks/{_layout.svelte-C7JgNCIu.js → _layout.svelte-cPhmW5bZ.js} +3 -1
  200. package/build/server/chunks/_layout.svelte-cPhmW5bZ.js.map +1 -0
  201. package/build/server/chunks/{_page.svelte-QlYvVgTj.js → _page.svelte-0J2xaeyC.js} +70 -15
  202. package/build/server/chunks/_page.svelte-0J2xaeyC.js.map +1 -0
  203. package/build/server/chunks/{_page.svelte-BpRksNEG.js → _page.svelte-BgoX8Y6N.js} +2 -2
  204. package/build/server/chunks/{_page.svelte-BpRksNEG.js.map → _page.svelte-BgoX8Y6N.js.map} +1 -1
  205. package/build/server/chunks/{_page.svelte-bkzbqII3.js → _page.svelte-C_S_qUgZ.js} +479 -71
  206. package/build/server/chunks/_page.svelte-C_S_qUgZ.js.map +1 -0
  207. package/build/server/chunks/{_page.svelte-DDpBtd3X.js → _page.svelte-CqGOvPRO.js} +3 -4
  208. package/build/server/chunks/_page.svelte-CqGOvPRO.js.map +1 -0
  209. package/build/server/chunks/{_page.svelte-DOhPbizt.js → _page.svelte-Cxh9_vUl.js} +34 -22
  210. package/build/server/chunks/_page.svelte-Cxh9_vUl.js.map +1 -0
  211. package/build/server/chunks/{_page.svelte-CEhhEdMi.js → _page.svelte-_sXVlB3C.js} +122 -72
  212. package/build/server/chunks/_page.svelte-_sXVlB3C.js.map +1 -0
  213. package/build/server/chunks/conversation-view-memory-BZguFlTt.js +20 -0
  214. package/build/server/chunks/conversation-view-memory-BZguFlTt.js.map +1 -0
  215. package/build/server/chunks/log-content.svelte-CfQzj-v_.js.map +1 -1
  216. package/build/server/chunks/{client-DzvEkq51.js → source-selection-CcN1cgXc.js} +122 -117
  217. package/build/server/chunks/source-selection-CcN1cgXc.js.map +1 -0
  218. package/build/server/index.js +1 -1
  219. package/build/server/index.js.map +1 -1
  220. package/build/server/manifest.js +14 -14
  221. package/build/server/manifest.js.map +1 -1
  222. package/package.json +3 -3
  223. package/src/backend/lib/get-agent-factories.spec.ts +59 -0
  224. package/src/backend/lib/get-agent-factories.ts +31 -1
  225. package/src/backend/lib/voice-agent-lifecycle.test.ts +12 -8
  226. package/src/backend/lib/voice-agent-lifecycle.ts +2 -1
  227. package/src/backend/roleplay/agents.ts +18 -0
  228. package/src/backend/roleplay/router.ts +8 -3
  229. package/src/backend/tests/academy.ts +185 -133
  230. package/src/backend/tests/active-test-runs.spec.ts +27 -0
  231. package/src/backend/tests/active-test-runs.ts +41 -0
  232. package/src/backend/tests/analyze.ts +0 -3
  233. package/src/backend/tests/best-effort-log-writer.spec.ts +39 -0
  234. package/src/backend/tests/best-effort-log-writer.ts +52 -0
  235. package/src/backend/tests/data.spec.ts +139 -0
  236. package/src/backend/tests/data.ts +296 -65
  237. package/src/backend/tests/emulate-agents.ts +45 -45
  238. package/src/backend/tests/openai-prompt-cache.ts +68 -0
  239. package/src/backend/tests/promptfoo-runtime.spec.ts +41 -0
  240. package/src/backend/tests/promptfoo-runtime.ts +27 -0
  241. package/src/backend/tests/report-files.spec.ts +44 -0
  242. package/src/backend/tests/report-files.ts +120 -0
  243. package/src/backend/tests/router.ts +7 -1
  244. package/build/client/_app/immutable/assets/0.Dz9hcoGY.css +0 -1
  245. package/build/client/_app/immutable/assets/0.Dz9hcoGY.css.br +0 -0
  246. package/build/client/_app/immutable/assets/0.Dz9hcoGY.css.gz +0 -0
  247. package/build/client/_app/immutable/assets/10.BX46PfEJ.css.br +0 -0
  248. package/build/client/_app/immutable/assets/10.BX46PfEJ.css.gz +0 -0
  249. package/build/client/_app/immutable/chunks/-g1l5aoS.js.br +0 -0
  250. package/build/client/_app/immutable/chunks/-g1l5aoS.js.gz +0 -0
  251. package/build/client/_app/immutable/chunks/7E8m6dwk.js +0 -1
  252. package/build/client/_app/immutable/chunks/7E8m6dwk.js.br +0 -0
  253. package/build/client/_app/immutable/chunks/7E8m6dwk.js.gz +0 -0
  254. package/build/client/_app/immutable/chunks/7qRqthsa.js +0 -1
  255. package/build/client/_app/immutable/chunks/7qRqthsa.js.br +0 -2
  256. package/build/client/_app/immutable/chunks/7qRqthsa.js.gz +0 -0
  257. package/build/client/_app/immutable/chunks/AocOovHL.js.br +0 -0
  258. package/build/client/_app/immutable/chunks/AocOovHL.js.gz +0 -0
  259. package/build/client/_app/immutable/chunks/B0iEglSe.js +0 -1
  260. package/build/client/_app/immutable/chunks/B0iEglSe.js.br +0 -0
  261. package/build/client/_app/immutable/chunks/B0iEglSe.js.gz +0 -0
  262. package/build/client/_app/immutable/chunks/BIpSIzUr.js.br +0 -0
  263. package/build/client/_app/immutable/chunks/BIpSIzUr.js.gz +0 -0
  264. package/build/client/_app/immutable/chunks/BL8rPcmP.js +0 -1
  265. package/build/client/_app/immutable/chunks/BL8rPcmP.js.br +0 -0
  266. package/build/client/_app/immutable/chunks/BL8rPcmP.js.gz +0 -0
  267. package/build/client/_app/immutable/chunks/BM0jKynj.js.br +0 -0
  268. package/build/client/_app/immutable/chunks/BM0jKynj.js.gz +0 -0
  269. package/build/client/_app/immutable/chunks/BR5f5i_E.js +0 -1
  270. package/build/client/_app/immutable/chunks/BR5f5i_E.js.br +0 -0
  271. package/build/client/_app/immutable/chunks/BR5f5i_E.js.gz +0 -0
  272. package/build/client/_app/immutable/chunks/BTvePR6r.js +0 -1
  273. package/build/client/_app/immutable/chunks/BTvePR6r.js.br +0 -2
  274. package/build/client/_app/immutable/chunks/BTvePR6r.js.gz +0 -0
  275. package/build/client/_app/immutable/chunks/Bcu62lFq.js +0 -1
  276. package/build/client/_app/immutable/chunks/Bcu62lFq.js.br +0 -0
  277. package/build/client/_app/immutable/chunks/Bcu62lFq.js.gz +0 -0
  278. package/build/client/_app/immutable/chunks/C-whEtKd.js.br +0 -2
  279. package/build/client/_app/immutable/chunks/C-whEtKd.js.gz +0 -0
  280. package/build/client/_app/immutable/chunks/C1WqE8CP.js +0 -1
  281. package/build/client/_app/immutable/chunks/C1WqE8CP.js.br +0 -2
  282. package/build/client/_app/immutable/chunks/C1WqE8CP.js.gz +0 -0
  283. package/build/client/_app/immutable/chunks/C4SnSfql.js +0 -1
  284. package/build/client/_app/immutable/chunks/C4SnSfql.js.br +0 -0
  285. package/build/client/_app/immutable/chunks/C4SnSfql.js.gz +0 -0
  286. package/build/client/_app/immutable/chunks/CSv1VDXg.js +0 -1
  287. package/build/client/_app/immutable/chunks/CSv1VDXg.js.br +0 -0
  288. package/build/client/_app/immutable/chunks/CSv1VDXg.js.gz +0 -0
  289. package/build/client/_app/immutable/chunks/CXo2BVs0.js.br +0 -0
  290. package/build/client/_app/immutable/chunks/CXo2BVs0.js.gz +0 -0
  291. package/build/client/_app/immutable/chunks/CZLNSMhF.js.br +0 -0
  292. package/build/client/_app/immutable/chunks/CZLNSMhF.js.gz +0 -0
  293. package/build/client/_app/immutable/chunks/Cosugfe8.js.br +0 -0
  294. package/build/client/_app/immutable/chunks/Cosugfe8.js.gz +0 -0
  295. package/build/client/_app/immutable/chunks/CqxCTxvJ.js.br +0 -0
  296. package/build/client/_app/immutable/chunks/CqxCTxvJ.js.gz +0 -0
  297. package/build/client/_app/immutable/chunks/CxLG58rb.js +0 -1
  298. package/build/client/_app/immutable/chunks/CxLG58rb.js.br +0 -0
  299. package/build/client/_app/immutable/chunks/CxLG58rb.js.gz +0 -0
  300. package/build/client/_app/immutable/chunks/D-puyTnN.js +0 -1
  301. package/build/client/_app/immutable/chunks/D-puyTnN.js.br +0 -0
  302. package/build/client/_app/immutable/chunks/D-puyTnN.js.gz +0 -0
  303. package/build/client/_app/immutable/chunks/D4obUD_s.js +0 -1
  304. package/build/client/_app/immutable/chunks/D4obUD_s.js.br +0 -0
  305. package/build/client/_app/immutable/chunks/D4obUD_s.js.gz +0 -0
  306. package/build/client/_app/immutable/chunks/D8e7SQh9.js +0 -1
  307. package/build/client/_app/immutable/chunks/D8e7SQh9.js.br +0 -0
  308. package/build/client/_app/immutable/chunks/D8e7SQh9.js.gz +0 -0
  309. package/build/client/_app/immutable/chunks/DNLcpWO_.js.br +0 -0
  310. package/build/client/_app/immutable/chunks/DNLcpWO_.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/DTlGvFHe.js.br +0 -0
  312. package/build/client/_app/immutable/chunks/DTlGvFHe.js.gz +0 -0
  313. package/build/client/_app/immutable/chunks/DYhTBLDc.js.br +0 -0
  314. package/build/client/_app/immutable/chunks/DYhTBLDc.js.gz +0 -0
  315. package/build/client/_app/immutable/chunks/DlZKMmqG.js +0 -4
  316. package/build/client/_app/immutable/chunks/DlZKMmqG.js.br +0 -0
  317. package/build/client/_app/immutable/chunks/DlZKMmqG.js.gz +0 -0
  318. package/build/client/_app/immutable/chunks/Dv0gjm25.js +0 -1
  319. package/build/client/_app/immutable/chunks/Dv0gjm25.js.br +0 -0
  320. package/build/client/_app/immutable/chunks/Dv0gjm25.js.gz +0 -0
  321. package/build/client/_app/immutable/chunks/Dv8m1cTI.js.br +0 -0
  322. package/build/client/_app/immutable/chunks/HJHYLHDn.js.br +0 -0
  323. package/build/client/_app/immutable/chunks/HJHYLHDn.js.gz +0 -0
  324. package/build/client/_app/immutable/chunks/HXxIsSOO.js.br +0 -0
  325. package/build/client/_app/immutable/chunks/HXxIsSOO.js.gz +0 -0
  326. package/build/client/_app/immutable/chunks/UiXQyKcj.js.br +0 -0
  327. package/build/client/_app/immutable/chunks/UiXQyKcj.js.gz +0 -0
  328. package/build/client/_app/immutable/chunks/_yZg6Sf-.js +0 -2
  329. package/build/client/_app/immutable/chunks/_yZg6Sf-.js.br +0 -0
  330. package/build/client/_app/immutable/chunks/_yZg6Sf-.js.gz +0 -0
  331. package/build/client/_app/immutable/chunks/ks45gSgq.js +0 -1
  332. package/build/client/_app/immutable/chunks/ks45gSgq.js.br +0 -0
  333. package/build/client/_app/immutable/chunks/ks45gSgq.js.gz +0 -0
  334. package/build/client/_app/immutable/entry/app.qxHHRD2v.js +0 -2
  335. package/build/client/_app/immutable/entry/app.qxHHRD2v.js.br +0 -0
  336. package/build/client/_app/immutable/entry/app.qxHHRD2v.js.gz +0 -0
  337. package/build/client/_app/immutable/entry/start.CSxD7zE8.js +0 -1
  338. package/build/client/_app/immutable/entry/start.CSxD7zE8.js.br +0 -2
  339. package/build/client/_app/immutable/entry/start.CSxD7zE8.js.gz +0 -0
  340. package/build/client/_app/immutable/nodes/0.BiYgQci8.js.br +0 -0
  341. package/build/client/_app/immutable/nodes/0.BiYgQci8.js.gz +0 -0
  342. package/build/client/_app/immutable/nodes/1.CShtqUFK.js +0 -1
  343. package/build/client/_app/immutable/nodes/1.CShtqUFK.js.br +0 -0
  344. package/build/client/_app/immutable/nodes/1.CShtqUFK.js.gz +0 -0
  345. package/build/client/_app/immutable/nodes/10.dE-XOJgk.js +0 -7
  346. package/build/client/_app/immutable/nodes/10.dE-XOJgk.js.br +0 -0
  347. package/build/client/_app/immutable/nodes/10.dE-XOJgk.js.gz +0 -0
  348. package/build/client/_app/immutable/nodes/15.Wmhj7gOy.js.br +0 -0
  349. package/build/client/_app/immutable/nodes/15.Wmhj7gOy.js.gz +0 -0
  350. package/build/client/_app/immutable/nodes/17.BwzZwCD0.js +0 -3
  351. package/build/client/_app/immutable/nodes/17.BwzZwCD0.js.br +0 -0
  352. package/build/client/_app/immutable/nodes/17.BwzZwCD0.js.gz +0 -0
  353. package/build/client/_app/immutable/nodes/18.BUMDuaQF.js +0 -11
  354. package/build/client/_app/immutable/nodes/18.BUMDuaQF.js.br +0 -0
  355. package/build/client/_app/immutable/nodes/18.BUMDuaQF.js.gz +0 -0
  356. package/build/client/_app/immutable/nodes/2.DniQTiGZ.js.br +0 -0
  357. package/build/client/_app/immutable/nodes/2.DniQTiGZ.js.gz +0 -0
  358. package/build/client/_app/immutable/nodes/3.BIO1e-qq.js +0 -1
  359. package/build/client/_app/immutable/nodes/3.BIO1e-qq.js.br +0 -0
  360. package/build/client/_app/immutable/nodes/3.BIO1e-qq.js.gz +0 -0
  361. package/build/client/_app/immutable/nodes/4.BwfVTawo.js +0 -1
  362. package/build/client/_app/immutable/nodes/4.BwfVTawo.js.br +0 -0
  363. package/build/client/_app/immutable/nodes/4.BwfVTawo.js.gz +0 -0
  364. package/build/client/_app/immutable/nodes/5.DdodCQcX.js +0 -1
  365. package/build/client/_app/immutable/nodes/5.DdodCQcX.js.br +0 -0
  366. package/build/client/_app/immutable/nodes/5.DdodCQcX.js.gz +0 -0
  367. package/build/client/_app/immutable/nodes/6.EIjYVI_W.js +0 -1
  368. package/build/client/_app/immutable/nodes/6.EIjYVI_W.js.br +0 -0
  369. package/build/client/_app/immutable/nodes/6.EIjYVI_W.js.gz +0 -0
  370. package/build/client/_app/immutable/nodes/8.2oZsfzo8.js.br +0 -0
  371. package/build/client/_app/immutable/nodes/8.2oZsfzo8.js.gz +0 -0
  372. package/build/client/_app/immutable/nodes/9.CjWG6Ha9.js +0 -2
  373. package/build/client/_app/immutable/nodes/9.CjWG6Ha9.js.br +0 -0
  374. package/build/client/_app/immutable/nodes/9.CjWG6Ha9.js.gz +0 -0
  375. package/build/server/chunks/0-S8VzkGgQ.js +0 -9
  376. package/build/server/chunks/0-S8VzkGgQ.js.map +0 -1
  377. package/build/server/chunks/1-BQkMpHdq.js +0 -9
  378. package/build/server/chunks/10-D1k3_nkw.js +0 -9
  379. package/build/server/chunks/10-D1k3_nkw.js.map +0 -1
  380. package/build/server/chunks/17-B72NO3Iu.js +0 -9
  381. package/build/server/chunks/17-B72NO3Iu.js.map +0 -1
  382. package/build/server/chunks/18-4kgQqgz-.js +0 -9
  383. package/build/server/chunks/18-4kgQqgz-.js.map +0 -1
  384. package/build/server/chunks/2-DO8jW3Pl.js +0 -9
  385. package/build/server/chunks/2-DO8jW3Pl.js.map +0 -1
  386. package/build/server/chunks/3-0_f3eZZi.js +0 -9
  387. package/build/server/chunks/3-0_f3eZZi.js.map +0 -1
  388. package/build/server/chunks/4-UxjRsyDW.js +0 -9
  389. package/build/server/chunks/4-UxjRsyDW.js.map +0 -1
  390. package/build/server/chunks/5-C7KuaSU9.js +0 -9
  391. package/build/server/chunks/6-C6EG0SXo.js +0 -9
  392. package/build/server/chunks/6-C6EG0SXo.js.map +0 -1
  393. package/build/server/chunks/8-BTSvDZhI.js +0 -9
  394. package/build/server/chunks/8-BTSvDZhI.js.map +0 -1
  395. package/build/server/chunks/9-CepnUatA.js +0 -9
  396. package/build/server/chunks/9-CepnUatA.js.map +0 -1
  397. package/build/server/chunks/AgentSidebar-XdGj1sqT.js.map +0 -1
  398. package/build/server/chunks/ChatStepTrace-DnvGtFpb.js.map +0 -1
  399. package/build/server/chunks/_layout.svelte-C5Y9nSXi.js.map +0 -1
  400. package/build/server/chunks/_layout.svelte-C7JgNCIu.js.map +0 -1
  401. package/build/server/chunks/_layout.svelte-_oqm8kmr.js.map +0 -1
  402. package/build/server/chunks/_page.svelte-CEhhEdMi.js.map +0 -1
  403. package/build/server/chunks/_page.svelte-DDpBtd3X.js.map +0 -1
  404. package/build/server/chunks/_page.svelte-DOhPbizt.js.map +0 -1
  405. package/build/server/chunks/_page.svelte-QlYvVgTj.js.map +0 -1
  406. package/build/server/chunks/_page.svelte-bkzbqII3.js.map +0 -1
  407. package/build/server/chunks/client-DzvEkq51.js.map +0 -1
  408. package/build/server/chunks/source-selection-eA--VEKo.js +0 -124
  409. package/build/server/chunks/source-selection-eA--VEKo.js.map +0 -1
@@ -1 +1 @@
1
- import{x as o,y as _,z as g,H as p,A as t,C as v,B as i,D as l,E as r,F as E,G as m}from"./Dv8m1cTI.js";function C(n,d){let a=null,f=t;var s;if(t){a=E;for(var e=m(document.head);e!==null&&(e.nodeType!==v||e.data!==n);)e=i(e);if(e===null)l(!1);else{var y=i(e);e.remove(),r(y)}}t||(s=document.head.appendChild(o()));try{_(()=>{var u=g(()=>d(s));u.f|=p})}finally{f&&(l(!0),r(a))}}export{C as h};
1
+ import{z as o,A as _,B as g,H as p,C as t,D as v,E as i,F as l,G as r,I as E,J as m}from"./CxLomzuE.js";function b(n,d){let a=null,f=t;var s;if(t){a=E;for(var e=m(document.head);e!==null&&(e.nodeType!==v||e.data!==n);)e=i(e);if(e===null)l(!1);else{var y=i(e);e.remove(),r(y)}}t||(s=document.head.appendChild(o()));try{_(()=>{var u=g(()=>d(s));u.f|=p})}finally{f&&(l(!0),r(a))}}export{b as h};
@@ -1 +1 @@
1
- import{a as m,f as p}from"./C4SnSfql.js";import{p as c,a as d,j as _,n as h}from"./Dv8m1cTI.js";import{a as b}from"./ks45gSgq.js";import{b as y}from"./BM0jKynj.js";import{b as g}from"./B0iEglSe.js";import{p as a,r as x}from"./HJHYLHDn.js";var I=new Set(["$$slots","$$events","$$legacy","class","value","type","variant","el"]),j=p("<input/>");function A(i,t){c(t,!0);let s=a(t,"class",3,""),o=a(t,"value",15),l=a(t,"type",3,"text"),n=a(t,"variant",3,"config"),r=a(t,"el",15),u=x(t,I),v=h(()=>n()==="chat"?`input-chat ${s()}`:`input-config ${s()}`);var e=j();b(e,()=>({type:l(),class:_(v),...u}),void 0,void 0,void 0,"svelte-8ff5h4",!0),g(e,f=>r(f),()=>r()),y(e,o),m(i,e),d()}export{A as I};
1
+ import{a as m,f as p}from"./Ca197UDq.js";import{p as c,a as d,j as _,n as h}from"./CxLomzuE.js";import{a as b}from"./D-B5X35l.js";import{b as y}from"./BPNEONy5.js";import{b as g}from"./BLu86SbA.js";import{p as a,r as x}from"./CPXdAKdv.js";var I=new Set(["$$slots","$$events","$$legacy","class","value","type","variant","el"]),j=p("<input/>");function A(i,t){c(t,!0);let s=a(t,"class",3,""),o=a(t,"value",15),l=a(t,"type",3,"text"),n=a(t,"variant",3,"config"),r=a(t,"el",15),u=x(t,I),v=h(()=>n()==="chat"?`input-chat ${s()}`:`input-config ${s()}`);var e=j();b(e,()=>({type:l(),class:_(v),...u}),void 0,void 0,void 0,"svelte-8ff5h4",!0),g(e,f=>r(f),()=>r()),y(e,o),m(i,e),d()}export{A as I};
@@ -1 +1 @@
1
- import{at as o,h as a,aE as d}from"./Dv8m1cTI.js";function p(s,u,t){if(s==null)return u(void 0),o;const e=a(()=>s.subscribe(u,t));return e.unsubscribe?()=>e.unsubscribe():e}const i=[];function h(s,u=o){let t=null;const e=new Set;function c(r){if(d(s,r)&&(s=r,t)){const b=!i.length;for(const n of e)n[1](),i.push(n,s);if(b){for(let n=0;n<i.length;n+=2)i[n][0](i[n+1]);i.length=0}}}function f(r){c(r(s))}function l(r,b=o){const n=[r,b];return e.add(n),e.size===1&&(t=u(c,f)||o),r(s),()=>{e.delete(n),e.size===0&&t&&(t(),t=null)}}return{set:c,update:f,subscribe:l}}function _(s){let u;return p(s,t=>u=t)(),u}export{_ as g,p as s,h as w};
1
+ import{at as o,h as a,aG as d}from"./CxLomzuE.js";function p(s,u,t){if(s==null)return u(void 0),o;const e=a(()=>s.subscribe(u,t));return e.unsubscribe?()=>e.unsubscribe():e}const i=[];function h(s,u=o){let t=null;const e=new Set;function c(r){if(d(s,r)&&(s=r,t)){const b=!i.length;for(const n of e)n[1](),i.push(n,s);if(b){for(let n=0;n<i.length;n+=2)i[n][0](i[n+1]);i.length=0}}}function f(r){c(r(s))}function l(r,b=o){const n=[r,b];return e.add(n),e.size===1&&(t=u(c,f)||o),r(s),()=>{e.delete(n),e.size===0&&t&&(t(),t=null)}}return{set:c,update:f,subscribe:l}}function _(s){let u;return p(s,t=>u=t)(),u}export{_ as g,p as s,h as w};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Cu9qsozo.js","../chunks/Ca197UDq.js","../chunks/CxLomzuE.js","../chunks/C39ai1md.js","../chunks/DJriQKD9.js","../chunks/xC2C8d09.js","../chunks/Buo-57fF.js","../chunks/CJYOmGlC.js","../chunks/BDl2QuyN.js","../chunks/Cql_e8Of.js","../chunks/Dyryn8e8.js","../chunks/BQ3mPfLC.js","../chunks/uLGP0py1.js","../chunks/OA8UcISh.js","../assets/0.CH-WU4JN.css","../nodes/1.Couoma7h.js","../nodes/2.DFjSU1Pb.js","../chunks/CyvQWZoe.js","../chunks/Cyai3SOj.js","../chunks/CPXdAKdv.js","../chunks/D-B5X35l.js","../chunks/CAjPRvNs.js","../assets/Modal.tn0RQdqM.css","../chunks/BJTwdUYr.js","../chunks/BPNEONy5.js","../chunks/CzXNWL4m.js","../chunks/CVlsAO8k.js","../chunks/BLu86SbA.js","../chunks/Bj8jfBTi.js","../chunks/CX0Ekq8t.js","../assets/Popper.CLTyHc88.css","../assets/chat-content.Cabnnfyv.css","../chunks/07xNIa59.js","../chunks/BsDZe4N6.js","../assets/Tab.DlCfjMY1.css","../chunks/Dslf9OwW.js","../chunks/C1FmrZbK.js","../chunks/BU7aeYn4.js","../chunks/BRQsk2Ii.js","../chunks/C7he4XPB.js","../assets/AgentSidebar.BL1i3rB_.css","../chunks/BNifnXkO.js","../chunks/BI42X8h_.js","../chunks/QpaC6J6s.js","../assets/2.DxwYfh1z.css","../nodes/3.DS3LgAwM.js","../chunks/iAhzu4tv.js","../chunks/nYD9wsyN.js","../assets/Input.CJ8KyccG.css","../chunks/ddC1NP9R.js","../chunks/JcG4w2gF.js","../assets/3.Dzh7_Q8n.css","../nodes/4.CgSeFwiS.js","../chunks/CaHl3dME.js","../nodes/5.-ESdbp9e.js","../assets/5.CZVw96CJ.css","../nodes/6.CX8TfGzw.js","../nodes/7.7N4iPidV.js","../chunks/gULlE0tz.js","../nodes/8.Bu3UjNq7.js","../nodes/9.DsvEYdNE.js","../chunks/BirMtEut.js","../chunks/B_K7D6rX.js","../assets/9.DlSPCZj0.css","../nodes/10.D9Is7Tuj.js","../assets/10.DIVePEYf.css","../nodes/11.CsTD16Gn.js","../nodes/12.DYXd_leK.js","../nodes/13.DQMjAUKq.js","../nodes/14.C59tyoG0.js","../nodes/15.BFy4oAT6.js","../nodes/16.DRwcAQjb.js","../nodes/17.4BKUGLfv.js","../chunks/T0seCQS_.js","../nodes/18.BS-4NZTI.js","../assets/18.C5apk4jm.css"])))=>i.map(i=>d[i]);
2
+ var tt=e=>{throw TypeError(e)};var rt=(e,t,r)=>t.has(e)||tt("Cannot "+r);var n=(e,t,r)=>(rt(e,t,"read from private field"),r?r.call(e):t.get(e)),H=(e,t,r)=>t.has(e)?tt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),J=(e,t,r,i)=>(rt(e,t,"write to private field"),i?i.call(e,r):t.set(e,r),r);import{_ as s}from"../chunks/C1FmrZbK.js";import{y as S,aE as Et,j as m,bp as Pt,av as yt,a4 as Ot,p as Rt,u as pt,d as It,T as At,f as g,s as Lt,a as Tt,w as K,n as p,c as bt,r as Dt,t as Vt}from"../chunks/CxLomzuE.js";import{h as xt,m as wt,u as jt,s as kt}from"../chunks/DJriQKD9.js";import{a as u,c as E,f as et,t as Ct}from"../chunks/Ca197UDq.js";import{o as St}from"../chunks/C39ai1md.js";import{i as j}from"../chunks/Buo-57fF.js";import{c as I}from"../chunks/Cyai3SOj.js";import{b as A}from"../chunks/BLu86SbA.js";import{p as k}from"../chunks/CPXdAKdv.js";const Mt=({url:e})=>{const t=e.pathname;if(t.startsWith("/view"))return t.replace(/^\/view(?=\/|$)/,"/traces")},ar={};function Gt(e){return class extends Wt{constructor(t){super({component:e,...t})}}}var P,c;class Wt{constructor(t){H(this,P);H(this,c);var L;var r=new Map,i=(o,a)=>{var h=Ot(a,!1,!1);return r.set(o,h),h};const d=new Proxy({...t.props||{},$$events:{}},{get(o,a){return m(r.get(a)??i(a,Reflect.get(o,a)))},has(o,a){return a===Et?!0:(m(r.get(a)??i(a,Reflect.get(o,a))),Reflect.has(o,a))},set(o,a,h){return S(r.get(a)??i(a,h),h),Reflect.set(o,a,h)}});J(this,c,(t.hydrate?xt:wt)(t.component,{target:t.target,anchor:t.anchor,props:d,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError})),(!((L=t==null?void 0:t.props)!=null&&L.$$host)||t.sync===!1)&&Pt(),J(this,P,d.$$events);for(const o of Object.keys(n(this,c)))o==="$set"||o==="$destroy"||o==="$on"||yt(this,o,{get(){return n(this,c)[o]},set(a){n(this,c)[o]=a},enumerable:!0});n(this,c).$set=o=>{Object.assign(d,o)},n(this,c).$destroy=()=>{jt(n(this,c))}}$set(t){n(this,c).$set(t)}$on(t,r){n(this,P)[t]=n(this,P)[t]||[];const i=(...d)=>r.call(this,...d);return n(this,P)[t].push(i),()=>{n(this,P)[t]=n(this,P)[t].filter(d=>d!==i)}}$destroy(){n(this,c).$destroy()}}P=new WeakMap,c=new WeakMap;var Yt=et('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),qt=et("<!> <!>",1);function zt(e,t){Rt(t,!0);let r=k(t,"components",23,()=>[]),i=k(t,"data_0",3,null),d=k(t,"data_1",3,null),L=k(t,"data_2",3,null),o=k(t,"data_3",3,null);pt(()=>t.stores.page.set(t.page)),It(()=>{t.stores,t.page,t.constructors,r(),t.form,i(),d(),L(),o(),t.stores.page.notify()});let a=K(!1),h=K(!1),N=K(null);St(()=>{const _=t.stores.page.subscribe(()=>{m(a)&&(S(h,!0),At().then(()=>{S(N,document.title||"untitled page",!0)}))});return S(a,!0),_});const ot=p(()=>t.constructors[3]);var Q=qt(),U=g(Q);{var st=_=>{const y=p(()=>t.constructors[0]);var O=E(),V=g(O);I(V,()=>m(y),(R,T)=>{A(T(R,{get data(){return i()},get form(){return t.form},get params(){return t.page.params},children:(l,Ft)=>{var X=E(),_t=g(X);{var ut=b=>{const M=p(()=>t.constructors[1]);var x=E(),G=g(x);I(G,()=>m(M),(W,Y)=>{A(Y(W,{get data(){return d()},get form(){return t.form},get params(){return t.page.params},children:(f,Ht)=>{var Z=E(),dt=g(Z);{var lt=D=>{const q=p(()=>t.constructors[2]);var w=E(),z=g(w);I(z,()=>m(q),(B,F)=>{A(F(B,{get data(){return L()},get form(){return t.form},get params(){return t.page.params},children:(v,Jt)=>{var $=E(),vt=g($);I(vt,()=>m(ot),(gt,ht)=>{A(ht(gt,{get data(){return o()},get form(){return t.form},get params(){return t.page.params}}),C=>r()[3]=C,()=>{var C;return(C=r())==null?void 0:C[3]})}),u(v,$)},$$slots:{default:!0}}),v=>r()[2]=v,()=>{var v;return(v=r())==null?void 0:v[2]})}),u(D,w)},ft=D=>{const q=p(()=>t.constructors[2]);var w=E(),z=g(w);I(z,()=>m(q),(B,F)=>{A(F(B,{get data(){return L()},get form(){return t.form},get params(){return t.page.params}}),v=>r()[2]=v,()=>{var v;return(v=r())==null?void 0:v[2]})}),u(D,w)};j(dt,D=>{t.constructors[3]?D(lt):D(ft,-1)})}u(f,Z)},$$slots:{default:!0}}),f=>r()[1]=f,()=>{var f;return(f=r())==null?void 0:f[1]})}),u(b,x)},ct=b=>{const M=p(()=>t.constructors[1]);var x=E(),G=g(x);I(G,()=>m(M),(W,Y)=>{A(Y(W,{get data(){return d()},get form(){return t.form},get params(){return t.page.params}}),f=>r()[1]=f,()=>{var f;return(f=r())==null?void 0:f[1]})}),u(b,x)};j(_t,b=>{t.constructors[2]?b(ut):b(ct,-1)})}u(l,X)},$$slots:{default:!0}}),l=>r()[0]=l,()=>{var l;return(l=r())==null?void 0:l[0]})}),u(_,O)},nt=_=>{const y=p(()=>t.constructors[0]);var O=E(),V=g(O);I(V,()=>m(y),(R,T)=>{A(T(R,{get data(){return i()},get form(){return t.form},get params(){return t.page.params}}),l=>r()[0]=l,()=>{var l;return(l=r())==null?void 0:l[0]})}),u(_,O)};j(U,_=>{t.constructors[1]?_(st):_(nt,-1)})}var it=Lt(U,2);{var mt=_=>{var y=Yt(),O=bt(y);{var V=R=>{var T=Ct();Vt(()=>kt(T,m(N))),u(R,T)};j(O,R=>{m(h)&&R(V)})}Dt(y),u(_,y)};j(it,_=>{m(a)&&_(mt)})}u(e,Q),Tt()}const or=Gt(zt),sr=[()=>s(()=>import("../nodes/0.Cu9qsozo.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]),import.meta.url),()=>s(()=>import("../nodes/1.Couoma7h.js"),__vite__mapDeps([15,1,2,4,5,10,11,12,13,3]),import.meta.url),()=>s(()=>import("../nodes/2.DFjSU1Pb.js"),__vite__mapDeps([16,1,2,3,4,5,6,7,17,8,18,19,12,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,11,13,10,38,39,40,9,41,42,43,44]),import.meta.url),()=>s(()=>import("../nodes/3.DS3LgAwM.js"),__vite__mapDeps([45,1,2,3,4,5,6,7,23,8,46,20,21,19,12,11,13,10,26,27,32,47,24,48,49,50,33,34,39,40,9,38,51]),import.meta.url),()=>s(()=>import("../nodes/4.CgSeFwiS.js"),__vite__mapDeps([52,1,2,8,7,11,12,13,3,10,33,20,5,21,19,27,34,53]),import.meta.url),()=>s(()=>import("../nodes/5.-ESdbp9e.js"),__vite__mapDeps([54,1,2,3,46,39,4,5,6,7,23,20,21,19,12,32,8,40,9,38,55]),import.meta.url),()=>s(()=>import("../nodes/6.CX8TfGzw.js"),__vite__mapDeps([56,1,2,3,46,11,12,13,9,38,39,4,5,6,7,23,20,21,19,32,8,40,33,27,34,10]),import.meta.url),()=>s(()=>import("../nodes/7.7N4iPidV.js"),__vite__mapDeps([57,58,13]),import.meta.url),()=>s(()=>import("../nodes/8.Bu3UjNq7.js"),__vite__mapDeps([59,36,1,2,3,4,5,6,7,27,25,8,21,37,38]),import.meta.url),()=>s(()=>import("../nodes/9.DsvEYdNE.js"),__vite__mapDeps([60,1,2,6,7,26,8,20,5,21,27,19,12,28,3,29,30,31,4,23,32,38,25,61,17,18,22,33,34,62,36,37,11,13,47,24,48,43,63]),import.meta.url),()=>s(()=>import("../nodes/10.D9Is7Tuj.js"),__vite__mapDeps([64,1,2,3,4,5,6,7,17,8,18,19,12,20,21,22,23,46,24,25,26,27,35,36,37,47,48,33,34,32,38,62,65]),import.meta.url),()=>s(()=>import("../nodes/11.CsTD16Gn.js"),__vite__mapDeps([66,58,13]),import.meta.url),()=>s(()=>import("../nodes/12.DYXd_leK.js"),__vite__mapDeps([67,58,13]),import.meta.url),()=>s(()=>import("../nodes/13.DQMjAUKq.js"),__vite__mapDeps([68,58,13]),import.meta.url),()=>s(()=>import("../nodes/14.C59tyoG0.js"),__vite__mapDeps([69,58,13]),import.meta.url),()=>s(()=>import("../nodes/15.BFy4oAT6.js"),__vite__mapDeps([70,1,2,41,46]),import.meta.url),()=>s(()=>import("../nodes/16.DRwcAQjb.js"),__vite__mapDeps([71,58,13]),import.meta.url),()=>s(()=>import("../nodes/17.4BKUGLfv.js"),__vite__mapDeps([72,1,2,3,4,5,6,7,23,21,20,27,10,11,12,13,26,8,19,29,30,50,73,53]),import.meta.url),()=>s(()=>import("../nodes/18.BS-4NZTI.js"),__vite__mapDeps([74,1,2,41,3,4,5,19,12,6,7,23,46,20,21,27,42,11,13,50,73,26,8,28,29,30,31,32,17,18,22,49,61,33,34,62,36,37,38,53,75]),import.meta.url)],nr=[],ir={"/":[5],"/edit":[6],"/edit/[agent]":[7,[2]],"/edit/[agent]/configure":[8,[2]],"/edit/[agent]/roleplay":[9,[2]],"/edit/[agent]/tests":[10,[2]],"/roleplay":[11],"/tests":[12],"/tests/[agent]":[13],"/traces":[14],"/traces/conversations":[15,[3]],"/traces/conversations/[conversationId]":[16,[3,4]],"/traces/conversations/[conversationId]/latency":[17,[3,4]],"/traces/conversations/[conversationId]/traces":[18,[3,4]]},at={handleError:({error:e})=>{console.error(e)},reroute:Mt||(()=>{}),transport:{}},Bt=Object.fromEntries(Object.entries(at.transport).map(([e,t])=>[e,t.decode])),mr=Object.fromEntries(Object.entries(at.transport).map(([e,t])=>[e,t.encode])),_r=!1,ur=(e,t)=>Bt[e](t);export{ur as decode,Bt as decoders,ir as dictionary,mr as encoders,_r as hash,at as hooks,ar as matchers,sr as nodes,or as root,nr as server_loads};
@@ -0,0 +1 @@
1
+ import{l as o,a as r}from"../chunks/BQ3mPfLC.js";export{o as load_css,r as start};
@@ -0,0 +1,2 @@
1
+ )�import{l as o,a as r}from"../chunks/BQ3mPfLC.js";export{o as load_css,r as start};
2
+ 
@@ -1,3 +1,3 @@
1
- import{a as m,f as u}from"../chunks/C4SnSfql.js";import{o as w}from"../chunks/C-whEtKd.js";import{p as b,a as U,w as c,q as E,c as l,s as _,j as p,r as f,t as x}from"../chunks/Dv8m1cTI.js";import{s as j}from"../chunks/_yZg6Sf-.js";import{i as L}from"../chunks/CXo2BVs0.js";import{s as y}from"../chunks/D4obUD_s.js";import{s as R}from"../chunks/BTvePR6r.js";import{p as k}from"../chunks/UiXQyKcj.js";import{g as C}from"../chunks/BR5f5i_E.js";var A=u(`<div class="
1
+ import{a as m,f as u}from"../chunks/Ca197UDq.js";import{o as w}from"../chunks/C39ai1md.js";import{p as b,a as U,y as c,w as E,c as l,s as _,j as p,r as f,t as x}from"../chunks/CxLomzuE.js";import{s as j}from"../chunks/DJriQKD9.js";import{i as y}from"../chunks/Buo-57fF.js";import{s as L}from"../chunks/BDl2QuyN.js";import{s as R}from"../chunks/Cql_e8Of.js";import{p as k}from"../chunks/Dyryn8e8.js";import{g as C}from"../chunks/BQ3mPfLC.js";var A=u(`<div class="
2
2
  absolute bottom-0 right-0 z-50 m-4 rounded-sm border border-red-500 bg-red-50
3
- px-4 py-2 text-red-800 focus:outline-none focus:ring-0"> </div>`),I=u('<main class="h-screen overflow-hidden bg-gray-600"><!> <!></main>');function F(h,i){b(i,!0);let t=E("");function s(r){c(t,r,!0),setTimeout(()=>{c(t,"")},5e3),console.error(r)}R({onAgentSelect:r=>{const e=new URLSearchParams(k.url.search).get("step");let o=`/edit/${encodeURIComponent(r)}/roleplay`;e&&(o+=`?step=${encodeURIComponent(e)}`),C(o)},onError:s}),w(()=>{const r=e=>{var o;console.error(e),s(`Uncaught error: ${((o=e.error)==null?void 0:o.message)||e.message||"Unknown error"}`)},n=e=>{var o;console.error(e),s(`Unhandled promise rejection: ${((o=e.reason)==null?void 0:o.message)||e.reason||"Unknown error"}`)};return window.addEventListener("error",r),window.addEventListener("unhandledrejection",n),()=>{window.removeEventListener("error",r),window.removeEventListener("unhandledrejection",n)}});var a=I(),d=l(a);y(d,()=>i.children);var g=_(d,2);{var v=r=>{var n=A(),e=l(n,!0);f(n),x(()=>j(e,p(t))),m(r,n)};L(g,r=>{p(t)&&r(v)})}f(a),m(h,a),U()}export{F as component};
3
+ px-4 py-2 text-red-800 focus:outline-none focus:ring-0"> </div>`),I=u('<main class="h-screen overflow-hidden bg-gray-600"><!> <!></main>');function F(h,i){b(i,!0);let t=E("");function s(r){c(t,r,!0),setTimeout(()=>{c(t,"")},5e3),console.error(r)}R({onAgentSelect:r=>{const e=new URLSearchParams(k.url.search).get("step");let o=`/edit/${encodeURIComponent(r)}/roleplay`;e&&(o+=`?step=${encodeURIComponent(e)}`),C(o)},onError:s}),w(()=>{const r=e=>{var o;console.error(e),s(`Uncaught error: ${((o=e.error)==null?void 0:o.message)||e.message||"Unknown error"}`)},n=e=>{var o;console.error(e),s(`Unhandled promise rejection: ${((o=e.reason)==null?void 0:o.message)||e.reason||"Unknown error"}`)};return window.addEventListener("error",r),window.addEventListener("unhandledrejection",n),()=>{window.removeEventListener("error",r),window.removeEventListener("unhandledrejection",n)}});var a=I(),d=l(a);L(d,()=>i.children);var g=_(d,2);{var v=r=>{var n=A(),e=l(n,!0);f(n),x(()=>j(e,p(t))),m(r,n)};y(g,r=>{p(t)&&r(v)})}f(a),m(h,a),U()}export{F as component};
@@ -0,0 +1 @@
1
+ import{a as c,f as u}from"../chunks/Ca197UDq.js";import{p as v,f as l,t as _,a as g,c as e,r as o,s as x}from"../chunks/CxLomzuE.js";import{s as p}from"../chunks/DJriQKD9.js";import{p as m}from"../chunks/Dyryn8e8.js";var d=u("<h1> </h1> <p> </p>",1);function q(f,i){v(i,!0);var t=d(),r=l(t),h=e(r,!0);o(r);var a=x(r,2),n=e(a,!0);o(a),_(()=>{var s;p(h,m.status),p(n,(s=m.error)==null?void 0:s.message)}),c(f,t),g()}export{q as component};
@@ -0,0 +1,7 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../chunks/DLQqXQ6R.js","../chunks/C1FmrZbK.js","../assets/editor.BMIWPGx3.css"])))=>i.map(i=>d[i]);
2
+ import{c as pn,a as m,h as va,f as E,d as Ts,b as Re,t as De}from"../chunks/Ca197UDq.js";import{o as Ss,a as hn}from"../chunks/C39ai1md.js";import{p as mn,y as o,f as Me,j as e,a as xn,w as $,n as w,bq as pa,r as c,d as Xr,t as B,x as lt,c as f,s as g,o as Ce}from"../chunks/CxLomzuE.js";import{s as q}from"../chunks/DJriQKD9.js";import{i as H}from"../chunks/Buo-57fF.js";import{M as Lr,k as es}from"../chunks/CyvQWZoe.js";import{e as hr,i as ga}from"../chunks/BJTwdUYr.js";import{h as ha}from"../chunks/iAhzu4tv.js";import{a as ts,s as Mn,c as vt,r as gr,b as ma,d as ln}from"../chunks/D-B5X35l.js";import{s as he,c as Qr}from"../chunks/CAjPRvNs.js";import{b as $n}from"../chunks/BPNEONy5.js";import{g as xa,P as ba}from"../chunks/CzXNWL4m.js";import{B as Ke}from"../chunks/CVlsAO8k.js";import{C as Ln,P as ya}from"../chunks/Dslf9OwW.js";import{I as cn}from"../chunks/nYD9wsyN.js";import{T as Is,a as Zr}from"../chunks/BsDZe4N6.js";import{h as _a,I as Lt}from"../chunks/07xNIa59.js";import{r as wa,p as Er}from"../chunks/CPXdAKdv.js";import{_ as rs}from"../chunks/C1FmrZbK.js";import{b as ka}from"../chunks/BLu86SbA.js";import{e as Ca,a as Ta}from"../chunks/BU7aeYn4.js";import{t as Ee}from"../chunks/BRQsk2Ii.js";import{R as Sa,a as Kr}from"../chunks/B_K7D6rX.js";const Ps=/^[a-z0-9]+(-[a-z0-9]+)*$/,bn=(t,r,s,a="")=>{const n=t.split(":");if(t.slice(0,1)==="@"){if(n.length<2||n.length>3)return null;a=n.shift().slice(1)}if(n.length>3||!n.length)return null;if(n.length>1){const h=n.pop(),x=n.pop(),k={provider:n.length>0?n[0]:a,prefix:x,name:h};return r&&!fn(k)?null:k}const i=n[0],d=i.split("-");if(d.length>1){const h={provider:a,prefix:d.shift(),name:d.join("-")};return r&&!fn(h)?null:h}if(s&&a===""){const h={provider:a,prefix:"",name:i};return r&&!fn(h,s)?null:h}return null},fn=(t,r)=>t?!!((r&&t.prefix===""||t.prefix)&&t.name):!1;function Ia(t,r){const s=t.icons,a=t.aliases||Object.create(null),n=Object.create(null);function i(d){if(s[d])return n[d]=[];if(!(d in n)){n[d]=null;const h=a[d]&&a[d].parent,x=h&&i(h);x&&(n[d]=[h].concat(x))}return n[d]}return Object.keys(s).concat(Object.keys(a)).forEach(i),n}const $s=Object.freeze({left:0,top:0,width:16,height:16}),gn=Object.freeze({rotate:0,vFlip:!1,hFlip:!1}),yn=Object.freeze({...$s,...gn}),Nn=Object.freeze({...yn,body:"",hidden:!1});function Pa(t,r){const s={};!t.hFlip!=!r.hFlip&&(s.hFlip=!0),!t.vFlip!=!r.vFlip&&(s.vFlip=!0);const a=((t.rotate||0)+(r.rotate||0))%4;return a&&(s.rotate=a),s}function ns(t,r){const s=Pa(t,r);for(const a in Nn)a in gn?a in t&&!(a in s)&&(s[a]=gn[a]):a in r?s[a]=r[a]:a in t&&(s[a]=t[a]);return s}function $a(t,r,s){const a=t.icons,n=t.aliases||Object.create(null);let i={};function d(h){i=ns(a[h]||n[h],i)}return d(r),s.forEach(d),ns(t,i)}function Ls(t,r){const s=[];if(typeof t!="object"||typeof t.icons!="object")return s;t.not_found instanceof Array&&t.not_found.forEach(n=>{r(n,null),s.push(n)});const a=Ia(t);for(const n in a){const i=a[n];i&&(r(n,$a(t,n,i)),s.push(n))}return s}const La={provider:"",aliases:{},not_found:{},...$s};function En(t,r){for(const s in r)if(s in t&&typeof t[s]!=typeof r[s])return!1;return!0}function Es(t){if(typeof t!="object"||t===null)return null;const r=t;if(typeof r.prefix!="string"||!t.icons||typeof t.icons!="object"||!En(t,La))return null;const s=r.icons;for(const n in s){const i=s[n];if(!n||typeof i.body!="string"||!En(i,Nn))return null}const a=r.aliases||Object.create(null);for(const n in a){const i=a[n],d=i.parent;if(!n||typeof d!="string"||!s[d]&&!a[d]||!En(i,Nn))return null}return r}const ss=Object.create(null);function Ea(t,r){return{provider:t,prefix:r,icons:Object.create(null),missing:new Set}}function Rr(t,r){const s=ss[t]||(ss[t]=Object.create(null));return s[r]||(s[r]=Ea(t,r))}function Rs(t,r){return Es(r)?Ls(r,(s,a)=>{a?t.icons[s]=a:t.missing.add(s)}):[]}function Ra(t,r,s){try{if(typeof s.body=="string")return t.icons[r]={...s},!0}catch{}return!1}let Yr=!1;function As(t){return typeof t=="boolean"&&(Yr=t),Yr}function Aa(t){const r=typeof t=="string"?bn(t,!0,Yr):t;if(r){const s=Rr(r.provider,r.prefix),a=r.name;return s.icons[a]||(s.missing.has(a)?null:void 0)}}function Ma(t,r){const s=bn(t,!0,Yr);if(!s)return!1;const a=Rr(s.provider,s.prefix);return r?Ra(a,s.name,r):(a.missing.add(s.name),!0)}function Na(t,r){if(typeof t!="object")return!1;if(typeof r!="string"&&(r=t.provider||""),Yr&&!r&&!t.prefix){let n=!1;return Es(t)&&(t.prefix="",Ls(t,(i,d)=>{Ma(i,d)&&(n=!0)})),n}const s=t.prefix;if(!fn({prefix:s,name:"a"}))return!1;const a=Rr(r,s);return!!Rs(a,t)}const Ms=Object.freeze({width:null,height:null}),Ns=Object.freeze({...Ms,...gn}),Da=/(-?[0-9.]*[0-9]+[0-9.]*)/g,Oa=/^-?[0-9.]*[0-9]+[0-9.]*$/g;function as(t,r,s){if(r===1)return t;if(s=s||100,typeof t=="number")return Math.ceil(t*r*s)/s;if(typeof t!="string")return t;const a=t.split(Da);if(a===null||!a.length)return t;const n=[];let i=a.shift(),d=Oa.test(i);for(;;){if(d){const h=parseFloat(i);isNaN(h)?n.push(i):n.push(Math.ceil(h*r*s)/s)}else n.push(i);if(i=a.shift(),i===void 0)return n.join("");d=!d}}function ja(t,r="defs"){let s="";const a=t.indexOf("<"+r);for(;a>=0;){const n=t.indexOf(">",a),i=t.indexOf("</"+r);if(n===-1||i===-1)break;const d=t.indexOf(">",i);if(d===-1)break;s+=t.slice(n+1,i).trim(),t=t.slice(0,a).trim()+t.slice(d+1)}return{defs:s,content:t}}function Fa(t,r){return t?"<defs>"+t+"</defs>"+r:r}function za(t,r,s){const a=ja(t);return Fa(a.defs,r+a.content+s)}const qa=t=>t==="unset"||t==="undefined"||t==="none";function Ha(t,r){const s={...yn,...t},a={...Ns,...r},n={left:s.left,top:s.top,width:s.width,height:s.height};let i=s.body;[s,a].forEach(O=>{const j=[],P=O.hFlip,I=O.vFlip;let N=O.rotate;P?I?N+=2:(j.push("translate("+(n.width+n.left).toString()+" "+(0-n.top).toString()+")"),j.push("scale(-1 1)"),n.top=n.left=0):I&&(j.push("translate("+(0-n.left).toString()+" "+(n.height+n.top).toString()+")"),j.push("scale(1 -1)"),n.top=n.left=0);let Y;switch(N<0&&(N-=Math.floor(N/4)*4),N=N%4,N){case 1:Y=n.height/2+n.top,j.unshift("rotate(90 "+Y.toString()+" "+Y.toString()+")");break;case 2:j.unshift("rotate(180 "+(n.width/2+n.left).toString()+" "+(n.height/2+n.top).toString()+")");break;case 3:Y=n.width/2+n.left,j.unshift("rotate(-90 "+Y.toString()+" "+Y.toString()+")");break}N%2===1&&(n.left!==n.top&&(Y=n.left,n.left=n.top,n.top=Y),n.width!==n.height&&(Y=n.width,n.width=n.height,n.height=Y)),j.length&&(i=za(i,'<g transform="'+j.join(" ")+'">',"</g>"))});const d=a.width,h=a.height,x=n.width,k=n.height;let S,R;d===null?(R=h===null?"1em":h==="auto"?k:h,S=as(R,x/k)):(S=d==="auto"?x:d,R=h===null?as(S,k/x):h==="auto"?k:h);const A={},M=(O,j)=>{qa(j)||(A[O]=j.toString())};M("width",S),M("height",R);const Q=[n.left,n.top,x,k];return A.viewBox=Q.join(" "),{attributes:A,viewBox:Q,body:i}}const Va=/\sid="(\S+)"/g,Ua="IconifyId"+Date.now().toString(16)+(Math.random()*16777216|0).toString(16);let Ja=0;function Ba(t,r=Ua){const s=[];let a;for(;a=Va.exec(t);)s.push(a[1]);if(!s.length)return t;const n="suffix"+(Math.random()*16777216|Date.now()).toString(16);return s.forEach(i=>{const d=typeof r=="function"?r(i):r+(Ja++).toString(),h=i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");t=t.replace(new RegExp('([#;"])('+h+')([")]|\\.[a-z])',"g"),"$1"+d+n+"$3")}),t=t.replace(new RegExp(n,"g"),""),t}const Dn=Object.create(null);function Qa(t,r){Dn[t]=r}function On(t){return Dn[t]||Dn[""]}function Fn(t){let r;if(typeof t.resources=="string")r=[t.resources];else if(r=t.resources,!(r instanceof Array)||!r.length)return null;return{resources:r,path:t.path||"/",maxURL:t.maxURL||500,rotate:t.rotate||750,timeout:t.timeout||5e3,random:t.random===!0,index:t.index||0,dataAfterTimeout:t.dataAfterTimeout!==!1}}const zn=Object.create(null),Wr=["https://api.simplesvg.com","https://api.unisvg.com"],vn=[];for(;Wr.length>0;)Wr.length===1||Math.random()>.5?vn.push(Wr.shift()):vn.push(Wr.pop());zn[""]=Fn({resources:["https://api.iconify.design"].concat(vn)});function Ka(t,r){const s=Fn(r);return s===null?!1:(zn[t]=s,!0)}function qn(t){return zn[t]}const Wa=()=>{let t;try{if(t=fetch,typeof t=="function")return t}catch{}};let os=Wa();function Ga(t,r){const s=qn(t);if(!s)return 0;let a;if(!s.maxURL)a=0;else{let n=0;s.resources.forEach(d=>{n=Math.max(n,d.length)});const i=r+".json?icons=";a=s.maxURL-n-s.path.length-i.length}return a}function Xa(t){return t===404}const Za=(t,r,s)=>{const a=[],n=Ga(t,r),i="icons";let d={type:i,provider:t,prefix:r,icons:[]},h=0;return s.forEach((x,k)=>{h+=x.length+1,h>=n&&k>0&&(a.push(d),d={type:i,provider:t,prefix:r,icons:[]},h=x.length),d.icons.push(x)}),a.push(d),a};function Ya(t){if(typeof t=="string"){const r=qn(t);if(r)return r.path}return"/"}const eo=(t,r,s)=>{if(!os){s("abort",424);return}let a=Ya(r.provider);switch(r.type){case"icons":{const i=r.prefix,h=r.icons.join(","),x=new URLSearchParams({icons:h});a+=i+".json?"+x.toString();break}case"custom":{const i=r.uri;a+=i.slice(0,1)==="/"?i.slice(1):i;break}default:s("abort",400);return}let n=503;os(t+a).then(i=>{const d=i.status;if(d!==200){setTimeout(()=>{s(Xa(d)?"abort":"next",d)});return}return n=501,i.json()}).then(i=>{if(typeof i!="object"||i===null){setTimeout(()=>{i===404?s("abort",i):s("next",n)});return}setTimeout(()=>{s("success",i)})}).catch(()=>{s("next",n)})},to={prepare:Za,send:eo};function Ds(t,r){t.forEach(s=>{const a=s.loaderCallbacks;a&&(s.loaderCallbacks=a.filter(n=>n.id!==r))})}function ro(t){t.pendingCallbacksFlag||(t.pendingCallbacksFlag=!0,setTimeout(()=>{t.pendingCallbacksFlag=!1;const r=t.loaderCallbacks?t.loaderCallbacks.slice(0):[];if(!r.length)return;let s=!1;const a=t.provider,n=t.prefix;r.forEach(i=>{const d=i.icons,h=d.pending.length;d.pending=d.pending.filter(x=>{if(x.prefix!==n)return!0;const k=x.name;if(t.icons[k])d.loaded.push({provider:a,prefix:n,name:k});else if(t.missing.has(k))d.missing.push({provider:a,prefix:n,name:k});else return s=!0,!0;return!1}),d.pending.length!==h&&(s||Ds([t],i.id),i.callback(d.loaded.slice(0),d.missing.slice(0),d.pending.slice(0),i.abort))})}))}let no=0;function so(t,r,s){const a=no++,n=Ds.bind(null,s,a);if(!r.pending.length)return n;const i={id:a,icons:r,callback:t,abort:n};return s.forEach(d=>{(d.loaderCallbacks||(d.loaderCallbacks=[])).push(i)}),n}function ao(t){const r={loaded:[],missing:[],pending:[]},s=Object.create(null);t.sort((n,i)=>n.provider!==i.provider?n.provider.localeCompare(i.provider):n.prefix!==i.prefix?n.prefix.localeCompare(i.prefix):n.name.localeCompare(i.name));let a={provider:"",prefix:"",name:""};return t.forEach(n=>{if(a.name===n.name&&a.prefix===n.prefix&&a.provider===n.provider)return;a=n;const i=n.provider,d=n.prefix,h=n.name,x=s[i]||(s[i]=Object.create(null)),k=x[d]||(x[d]=Rr(i,d));let S;h in k.icons?S=r.loaded:d===""||k.missing.has(h)?S=r.missing:S=r.pending;const R={provider:i,prefix:d,name:h};S.push(R)}),r}function oo(t,r=!0,s=!1){const a=[];return t.forEach(n=>{const i=typeof n=="string"?bn(n,r,s):n;i&&a.push(i)}),a}const io={resources:[],index:0,timeout:2e3,rotate:750,random:!1,dataAfterTimeout:!1};function lo(t,r,s,a){const n=t.resources.length,i=t.random?Math.floor(Math.random()*n):t.index;let d;if(t.random){let L=t.resources.slice(0);for(d=[];L.length>1;){const J=Math.floor(Math.random()*L.length);d.push(L[J]),L=L.slice(0,J).concat(L.slice(J+1))}d=d.concat(L)}else d=t.resources.slice(i).concat(t.resources.slice(0,i));const h=Date.now();let x="pending",k=0,S,R=null,A=[],M=[];typeof a=="function"&&M.push(a);function Q(){R&&(clearTimeout(R),R=null)}function O(){x==="pending"&&(x="aborted"),Q(),A.forEach(L=>{L.status==="pending"&&(L.status="aborted")}),A=[]}function j(L,J){J&&(M=[]),typeof L=="function"&&M.push(L)}function P(){return{startTime:h,payload:r,status:x,queriesSent:k,queriesPending:A.length,subscribe:j,abort:O}}function I(){x="failed",M.forEach(L=>{L(void 0,S)})}function N(){A.forEach(L=>{L.status==="pending"&&(L.status="aborted")}),A=[]}function Y(L,J,Ve){const We=J!=="success";switch(A=A.filter(be=>be!==L),x){case"pending":break;case"failed":if(We||!t.dataAfterTimeout)return;break;default:return}if(J==="abort"){S=Ve,I();return}if(We){S=Ve,A.length||(d.length?Ae():I());return}if(Q(),N(),!t.random){const be=t.resources.indexOf(L.resource);be!==-1&&be!==t.index&&(t.index=be)}x="completed",M.forEach(be=>{be(Ve)})}function Ae(){if(x!=="pending")return;Q();const L=d.shift();if(L===void 0){if(A.length){R=setTimeout(()=>{Q(),x==="pending"&&(N(),I())},t.timeout);return}I();return}const J={status:"pending",resource:L,callback:(Ve,We)=>{Y(J,Ve,We)}};A.push(J),k++,R=setTimeout(Ae,t.rotate),s(L,r,J.callback)}return setTimeout(Ae),P}function Os(t){const r={...io,...t};let s=[];function a(){s=s.filter(h=>h().status==="pending")}function n(h,x,k){const S=lo(r,h,x,(R,A)=>{a(),k&&k(R,A)});return s.push(S),S}function i(h){return s.find(x=>h(x))||null}return{query:n,find:i,setIndex:h=>{r.index=h},getIndex:()=>r.index,cleanup:a}}function is(){}const Rn=Object.create(null);function co(t){if(!Rn[t]){const r=qn(t);if(!r)return;const s=Os(r),a={config:r,redundancy:s};Rn[t]=a}return Rn[t]}function uo(t,r,s){let a,n;if(typeof t=="string"){const i=On(t);if(!i)return s(void 0,424),is;n=i.send;const d=co(t);d&&(a=d.redundancy)}else{const i=Fn(t);if(i){a=Os(i);const d=t.resources?t.resources[0]:"",h=On(d);h&&(n=h.send)}}return!a||!n?(s(void 0,424),is):a.query(r,n,s)().abort}function ls(){}function fo(t){t.iconsLoaderFlag||(t.iconsLoaderFlag=!0,setTimeout(()=>{t.iconsLoaderFlag=!1,ro(t)}))}function vo(t){const r=[],s=[];return t.forEach(a=>{(a.match(Ps)?r:s).push(a)}),{valid:r,invalid:s}}function Gr(t,r,s){function a(){const n=t.pendingIcons;r.forEach(i=>{n&&n.delete(i),t.icons[i]||t.missing.add(i)})}if(s&&typeof s=="object")try{if(!Rs(t,s).length){a();return}}catch(n){console.error(n)}a(),fo(t)}function cs(t,r){t instanceof Promise?t.then(s=>{r(s)}).catch(()=>{r(null)}):r(t)}function po(t,r){t.iconsToLoad?t.iconsToLoad=t.iconsToLoad.concat(r).sort():t.iconsToLoad=r,t.iconsQueueFlag||(t.iconsQueueFlag=!0,setTimeout(()=>{t.iconsQueueFlag=!1;const{provider:s,prefix:a}=t,n=t.iconsToLoad;if(delete t.iconsToLoad,!n||!n.length)return;const i=t.loadIcon;if(t.loadIcons&&(n.length>1||!i)){cs(t.loadIcons(n,a,s),S=>{Gr(t,n,S)});return}if(i){n.forEach(S=>{const R=i(S,a,s);cs(R,A=>{const M=A?{prefix:a,icons:{[S]:A}}:null;Gr(t,[S],M)})});return}const{valid:d,invalid:h}=vo(n);if(h.length&&Gr(t,h,null),!d.length)return;const x=a.match(Ps)?On(s):null;if(!x){Gr(t,d,null);return}x.prepare(s,a,d).forEach(S=>{uo(s,S,R=>{Gr(t,S.icons,R)})})}))}const go=(t,r)=>{const s=oo(t,!0,As()),a=ao(s);if(!a.pending.length){let x=!0;return r&&setTimeout(()=>{x&&r(a.loaded,a.missing,a.pending,ls)}),()=>{x=!1}}const n=Object.create(null),i=[];let d,h;return a.pending.forEach(x=>{const{provider:k,prefix:S}=x;if(S===h&&k===d)return;d=k,h=S,i.push(Rr(k,S));const R=n[k]||(n[k]=Object.create(null));R[S]||(R[S]=[])}),a.pending.forEach(x=>{const{provider:k,prefix:S,name:R}=x,A=Rr(k,S),M=A.pendingIcons||(A.pendingIcons=new Set);M.has(R)||(M.add(R),n[k][S].push(R))}),i.forEach(x=>{const k=n[x.provider][x.prefix];k.length&&po(x,k)}),r?so(r,a,i):ls};function ho(t,r){const s={...t};for(const a in r){const n=r[a],i=typeof n;a in Ms?(n===null||n&&(i==="string"||i==="number"))&&(s[a]=n):i===typeof s[a]&&(s[a]=a==="rotate"?n%4:n)}return s}const mo=/[\s,]+/;function xo(t,r){r.split(mo).forEach(s=>{switch(s.trim()){case"horizontal":t.hFlip=!0;break;case"vertical":t.vFlip=!0;break}})}function bo(t,r=0){const s=t.replace(/^-?[0-9.]*/,"");function a(n){for(;n<0;)n+=4;return n%4}if(s===""){const n=parseInt(t);return isNaN(n)?0:a(n)}else if(s!==t){let n=0;switch(s){case"%":n=25;break;case"deg":n=90}if(n){let i=parseFloat(t.slice(0,t.length-s.length));return isNaN(i)?0:(i=i/n,i%1===0?a(i):0)}}return r}function yo(t,r){let s=t.indexOf("xlink:")===-1?"":' xmlns:xlink="http://www.w3.org/1999/xlink"';for(const a in r)s+=" "+a+'="'+r[a]+'"';return'<svg xmlns="http://www.w3.org/2000/svg"'+s+">"+t+"</svg>"}function _o(t){return t.replace(/"/g,"'").replace(/%/g,"%25").replace(/#/g,"%23").replace(/</g,"%3C").replace(/>/g,"%3E").replace(/\s+/g," ")}function wo(t){return"data:image/svg+xml,"+_o(t)}function ko(t){return'url("'+wo(t)+'")'}const us={...Ns,inline:!1},Co={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink","aria-hidden":!0,role:"img"},To={display:"inline-block"},jn={"background-color":"currentColor"},js={"background-color":"transparent"},ds={image:"var(--svg)",repeat:"no-repeat",size:"100% 100%"},fs={"-webkit-mask":jn,mask:jn,background:js};for(const t in fs){const r=fs[t];for(const s in ds)r[t+"-"+s]=ds[s]}function So(t){return t+(t.match(/^[-0-9.]+$/)?"px":"")}function Io(t,r){const s=ho(us,r),a=r.mode||"svg",n=a==="svg"?{...Co}:{};t.body.indexOf("xlink:")===-1&&delete n["xmlns:xlink"];let i=typeof r.style=="string"?r.style:"";for(let P in r){const I=r[P];if(I!==void 0)switch(P){case"icon":case"style":case"onLoad":case"mode":case"ssr":break;case"inline":case"hFlip":case"vFlip":s[P]=I===!0||I==="true"||I===1;break;case"flip":typeof I=="string"&&xo(s,I);break;case"color":i=i+(i.length>0&&i.trim().slice(-1)!==";"?";":"")+"color: "+I+"; ";break;case"rotate":typeof I=="string"?s[P]=bo(I):typeof I=="number"&&(s[P]=I);break;case"ariaHidden":case"aria-hidden":I!==!0&&I!=="true"&&delete n["aria-hidden"];break;default:if(P.slice(0,3)==="on:")break;us[P]===void 0&&(n[P]=I)}}const d=Ha(t,s),h=d.attributes;if(s.inline&&(i="vertical-align: -0.125em; "+i),a==="svg"){Object.assign(n,h),i!==""&&(n.style=i);let P=0,I=r.id;return typeof I=="string"&&(I=I.replace(/-/g,"_")),{svg:!0,attributes:n,body:Ba(d.body,I?()=>I+"ID"+P++:"iconifySvelte")}}const{body:x,width:k,height:S}=t,R=a==="mask"||(a==="bg"?!1:x.indexOf("currentColor")!==-1),A=yo(x,{...h,width:k+"",height:S+""}),Q={"--svg":ko(A)},O=P=>{const I=h[P];I&&(Q[P]=So(I))};O("width"),O("height"),Object.assign(Q,To,R?jn:js);let j="";for(const P in Q)j+=P+": "+Q[P]+";";return n.style=j+i,{svg:!1,attributes:n}}As(!0);Qa("",to);if(typeof document<"u"&&typeof window<"u"){const t=window;if(t.IconifyPreload!==void 0){const r=t.IconifyPreload,s="Invalid IconifyPreload syntax.";typeof r=="object"&&r!==null&&(r instanceof Array?r:[r]).forEach(a=>{try{(typeof a!="object"||a===null||a instanceof Array||typeof a.icons!="object"||typeof a.prefix!="string"||!Na(a))&&console.error(s)}catch{console.error(s)}})}if(t.IconifyProviders!==void 0){const r=t.IconifyProviders;if(typeof r=="object"&&r!==null)for(let s in r){const a="IconifyProviders["+s+"] is invalid.";try{const n=r[s];if(typeof n!="object"||!n||n.resources===void 0)continue;Ka(s,n)||console.error(a)}catch{console.error(a)}}}}function Po(t,r,s,a,n){function i(){r.loading&&(r.loading.abort(),r.loading=null)}if(typeof t=="object"&&t!==null&&typeof t.body=="string")return r.name="",i(),{data:{...yn,...t}};let d;if(typeof t!="string"||(d=bn(t,!1,!0))===null)return i(),null;const h=Aa(d);if(!h)return s&&(!r.loading||r.loading.name!==t)&&(i(),r.name="",r.loading={name:t,abort:go([d],a)}),null;i(),r.name!==t&&(r.name=t,n&&!r.destroyed&&setTimeout(()=>{n(t)}));const x=["iconify"];return d.prefix!==""&&x.push("iconify--"+d.prefix),d.provider!==""&&x.push("iconify--"+d.provider),{data:h,classes:x}}function $o(t,r){return t?Io({...yn,...t},r):null}var Lo=new Set(["$$slots","$$events","$$legacy"]),Eo=va("<svg></svg>"),Ro=E("<span></span>");function Et(t,r){mn(r,!0);const s={name:"",loading:null,destroyed:!1},a=wa(r,Lo);let n=$(!1),i=$(0),d=w(()=>!!r.ssr||e(n)),h=w(()=>(e(i),Po(r.icon,s,e(d),k,r.onload))),x=w(()=>{const M=e(h)?$o(e(h).data,a):null;return M&&e(h).classes&&(M.attributes.class=(typeof a.class=="string"?a.class+" ":"")+e(h).classes.join(" ")),M});function k(){pa(i)}Ss(()=>{o(n,!0)}),hn(()=>{s.destroyed=!0,s.loading&&(s.loading.abort(),s.loading=null)});var S=pn(),R=Me(S);{var A=M=>{var Q=pn(),O=Me(Q);{var j=I=>{var N=Eo();ts(N,()=>({...e(x).attributes})),_a(N,()=>e(x).body,!0),c(N),m(I,N)},P=I=>{var N=Ro();ts(N,()=>({...e(x).attributes})),m(I,N)};H(O,I=>{e(x).svg?I(j):I(P,-1)})}m(M,Q)};H(R,M=>{e(x)&&M(A)})}m(t,S),xn()}var Ao=E('<div class="w-full"></div>');function vs(t,r){mn(r,!0);let s=$(null),a=null,n=[],i=null,d=!1,h,x=Er(r,"language",3,"plaintext"),k=Er(r,"height",3,120),S=Er(r,"readOnly",3,!1),R=[],A=$(!1);function M(O){e(A)||O.stopPropagation()}Ss(async()=>{var Y,Ae;if(!h)return;h.addEventListener("wheel",M,{capture:!0,passive:!0}),Ca();const O=await rs(()=>import("../chunks/DLQqXQ6R.js").then(L=>L.e),__vite__mapDeps([0,1,2]),import.meta.url);if(d)return;i=O,Ta(O);const j=x()==="json"?"json":x()==="markdown"?"markdown":"plaintext";o(s,O.editor.create(h,{value:r.value??"",language:j,theme:"bosun-dark",lineNumbers:"off",fontSize:14,fontFamily:'ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',automaticLayout:!0,minimap:{enabled:!1},wordBasedSuggestions:"off",wordWrap:"bounded",wordWrapColumn:75,wrappingStrategy:"advanced",scrollbar:{vertical:"hidden",horizontal:"hidden"},overviewRulerLanes:0,renderLineHighlight:"none",folding:!1,renderWhitespace:"none",padding:{top:4,bottom:4},readOnly:S(),domReadOnly:S(),matchBrackets:"never",bracketPairColorization:{enabled:!1},guides:{highlightActiveBracketPair:!1,bracketPairs:!1,bracketPairsHorizontal:!1},occurrencesHighlight:"off",selectionHighlight:!1,unicodeHighlight:{ambiguousCharacters:!1,nonBasicASCII:!1,invisibleCharacters:!1,includeStrings:!1,includeComments:!1},autoClosingQuotes:"never"}),!0);const P=e(s);if(!P)return;a=P.getModel(),n.push(P.onDidFocusEditorText(()=>{o(A,!0)})),n.push(P.onDidChangeModelContent(()=>{var L;try{const J=P.getValue();if(J===r.value)return;(L=r.onChange)==null||L.call(r,J)}catch(J){console.error("MiniEditor change error",J)}})),n.push(P.onDidBlurEditorText(()=>{var L;o(A,!1);try{(L=r.onBlur)==null||L.call(r,P.getValue())}catch{}}));const I=(Y=P.onDidFocusEditorWidget)==null?void 0:Y.call(P,()=>{o(A,!0)});I&&n.push(I);const N=(Ae=P.onDidBlurEditorWidget)==null?void 0:Ae.call(P,()=>{var L;o(A,!1);try{(L=r.onBlur)==null||L.call(r,P.getValue())}catch{}});N&&n.push(N)}),hn(()=>{d=!0;try{h.removeEventListener("wheel",M,{capture:!0})}catch{}for(const j of n)try{j.dispose()}catch{}n=[];const O=a;a=null;try{if(e(s)){try{e(s).setModel(null)}catch{}e(s).dispose()}}finally{o(s,null)}try{O==null||O.dispose()}catch{}i=null}),Xr(()=>{if(!e(s))return;const O=x()==="json"?"json":x()==="markdown"?"markdown":"plaintext",j=e(s).getModel();if(!j||j.getLanguageId()===O)return;let P=!1;return(i?Promise.resolve(i):rs(()=>import("../chunks/DLQqXQ6R.js").then(N=>N.e),__vite__mapDeps([0,1,2]),import.meta.url)).then(N=>{if(!P)try{N.editor.setModelLanguage(j,O)}catch{}}),()=>{P=!0}}),Xr(()=>{e(s)&&r.value!==e(s).getValue()&&e(s).setValue(r.value??"")}),Xr(()=>{var O;(O=e(s))==null||O.updateOptions({readOnly:S(),domReadOnly:S()})}),Xr(()=>{const O=r.highlights;if(!e(s)||!a||!i)return;const j=i,P=a.getLineCount(),I=[];for(const N of O??[]){const Y=Math.max(1,Math.min(P,Number(N.startLine)||1)),Ae=Math.max(Y,Math.min(P,Number(N.endLine)||Y)),L=a.getLineMaxColumn(Ae);if(I.push({range:new j.Range(Y,1,Ae,L),options:{inlineClassName:N.className}}),N.className==="test-expected-output")for(let J=Y;J<=Ae;J++){const Ve=a.getLineContent(J),We=/<\/?[A-Za-z][^>]*?>/g;let be;for(;be=We.exec(Ve);){const ye=(be.index??0)+1,pt=Math.min(a.getLineMaxColumn(J),ye+String(be[0]??"").length);pt<=ye||I.push({range:new j.Range(J,ye,J,pt),options:{inlineClassName:"test-expected-output-tag"}})}}}R=e(s).deltaDecorations(R,I)});var Q=Ao();ka(Q,O=>h=O,()=>h),B(()=>Mn(Q,`height:${k()}px`)),m(t,Q),xn()}var Mo=E('<div><div class="mb-1 text-xs text-rc-gray-300"> </div> <div class="whitespace-pre-wrap break-words text-rc-gray-100"> </div></div>'),No=E('<div class="flex flex-col gap-3"></div>'),ps=E('<div class="p-2 text-rc-gray-300">Loading…</div>'),gs=E('<div class="p-2 text-red-400"> </div>'),Do=E('<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>'),Oo=E('<div class="h-[55vh]"><!></div>'),jo=E("<!> <!> <!>",1),Fo=E('<!> <div class="mt-2 h-[55vh]"><!></div>',1),zo=E('<div class="mt-1 flex flex-wrap items-center gap-x-2 gap-y-1"><button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400"> </button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Analyze</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50 disabled:hover:bg-transparent disabled:hover:text-rc-gray-400">Regenerate</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">See variants</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Prompt</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Conversation</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Context</button> <button type="button" class="inline-flex items-center text-nowrap rounded border-0 bg-transparent px-1 py-0.5 text-rc-gray-400 transition-colors hover:bg-rc-gray-900 hover:text-rc-gray-200 focus:outline-none focus-visible:outline-none">Debug</button></div> <!> <!> <!>',1);function hs(t,r){mn(r,!0);let s=Er(r,"actionsDisabled",3,!1),a=Er(r,"addTestDisabled",3,!1),n=Er(r,"analyzeDisabled",3,!1),i=$(!1),d=$(!1),h=$(!1),x=$("errors"),k=$("prompt"),S=$(null),R=$(null),A=$(null),M=$(null),Q=$(null),O=$(null),j=$(null),P=$(lt({prompt:!1,conversation:!1,context:!1,errors:!1,traces:!1,logs:!1})),I=$(lt({prompt:null,conversation:null,context:null,errors:null,traces:null,logs:null})),N=0,Y=$(null),Ae=null,L=$("idle"),J=null;function Ve(C){try{return{raw:C,formatted:JSON.stringify(JSON.parse(C),null,2)}}catch{return{raw:C,formatted:C}}}async function We(C){const G=await Ee.tests.resultEntry.query({agent:C.agent,region:r.region,testId:C.id,resultKey:C.key,timestamp:C.timestamp,index:C.run});return Ve(G)}function be(C){return C==="prompt"?e(R)!==null&&e(S)!==null:C==="conversation"?e(A)!==null:C==="context"?e(M)!==null:C==="errors"?e(Q)!==null:C==="traces"?e(O)!==null:e(j)!==null}async function ye(C){if(be(C)||e(P)[C])return;const G=N;o(P,{...e(P),[C]:!0},!0),o(I,{...e(I),[C]:null},!0);try{if(C==="prompt"){const[Ne,Te]=await Promise.all([We(r.links.renderedPrompt),We(r.links.receivedPrompt)]);if(G!==N)return;o(S,Ne,!0),o(R,Te,!0)}else{const Ne=C==="conversation"?r.links.conversation:C==="context"?r.links.context:C==="errors"?r.links.errors:C==="traces"?r.links.traces:r.links.logs,Te=await We(Ne);if(G!==N)return;C==="conversation"?o(A,Te,!0):C==="context"?o(M,Te,!0):C==="errors"?o(Q,Te,!0):C==="traces"?o(O,Te,!0):o(j,Te,!0)}}catch(Ne){if(G!==N)return;console.error(Ne),o(I,{...e(I),[C]:"Failed to load content"},!0)}finally{G===N&&o(P,{...e(P),[C]:!1},!0)}}function pt(){o(S,null),o(R,null),o(A,null),o(M,null),o(Q,null),o(O,null),o(j,null),o(P,{prompt:!1,conversation:!1,context:!1,errors:!1,traces:!1,logs:!1},!0),o(I,{prompt:null,conversation:null,context:null,errors:null,traces:null,logs:null},!0)}function Ht(){N+=1,o(x,"errors"),pt(),o(i,!0),ye("errors")}function wt(C){N+=1,o(k,C,!0),pt(),o(d,!0),ye(C)}function gt(C){return C==="prompt"?"Prompt":C==="conversation"?"Conversation":"Context"}function rr(C){o(x,C,!0),ye(C)}async function Vt(){if(e(L)!=="adding"){o(L,"adding");try{await r.onAddTest(),o(L,"added")}catch(C){console.error("Failed to add test",C),o(L,"failed")}J&&clearTimeout(J),J=window.setTimeout(()=>{o(L,"idle"),J=null},2500)}}async function et(C){if(!(!e(R)||!e(S)))try{const G=C==="raw"?e(R).raw:e(S).raw;await navigator.clipboard.writeText(G),o(Y,C,!0),Ae&&clearTimeout(Ae),Ae=window.setTimeout(()=>{o(Y,null),Ae=null},2e3)}catch(G){console.error("Failed to copy prompt",G)}}hn(()=>{N+=1,Ae&&clearTimeout(Ae),J&&clearTimeout(J)});var en=zo(),Ar=Me(en),nr=f(Ar),Mr=f(nr,!0);c(nr);var Ut=g(nr,2),sr=g(Ut,2),Jt=g(sr,2),Nr=g(Jt,2),Dr=g(Nr,2),Or=g(Dr,2),F=g(Or,2);c(Ar);var te=g(Ar,2);{var Bt=C=>{{const G=Te=>{var ht=No();hr(ht,21,()=>r.variants,kt=>kt.index,(kt,tt)=>{var oe=Mo(),_e=f(oe),At=f(_e);c(_e);var xt=g(_e,2),ce=f(xt,!0);c(xt),c(oe),B(()=>{he(oe,1,`rounded-lg border p-3 ${e(tt).index===r.runIndex?"border-rc-green-450":"border-rc-gray-650"} ${e(tt).success?"bg-rc-green-700/80":"bg-rc-gray-900/60"}`),q(At,`Run ${e(tt).index??""}${e(tt).index===r.runIndex?" • selected":""}`),q(ce,e(tt).text||e(tt).errors||"—")}),m(kt,oe)}),c(ht),m(Te,ht)};let Ne=w(()=>`Variants — ${r.scenario||"Test"}`);Lr(C,{get title(){return e(Ne)},class:"!w-[80vw] !max-w-4xl",get open(){return e(h)},set open(Te){o(h,Te,!0)},children:G,$$slots:{default:!0}})}};H(te,C=>{e(h)&&C(Bt)})}var Rt=g(te,2);{var mr=C=>{{const G=Te=>{var ht=Oo(),kt=f(ht);{var tt=ce=>{var K=ps();m(ce,K)},oe=ce=>{var K=gs(),W=f(K,!0);c(K),B(()=>q(W,e(I)[e(k)])),m(ce,K)},_e=ce=>{var K=Do(),W=f(K),ue=f(W),Ct=f(ue);{let Ge=w(()=>!e(R).raw.trim());Ke(Ct,{variant:"secondary",size:"small",get disabled(){return e(Ge)},onclick:()=>et("raw"),children:(bt,Mt)=>{Ce();var Nt=De();B(()=>q(Nt,e(Y)==="raw"?"Copied raw prompt":"Copy raw prompt")),m(bt,Nt)},$$slots:{default:!0}})}c(ue);var Qt=g(ue,2),rt=f(Qt);{let Ge=w(()=>!e(S).raw.trim());Ke(rt,{variant:"secondary",size:"small",get disabled(){return e(Ge)},onclick:()=>et("rendered"),children:(bt,Mt)=>{Ce();var Nt=De();B(()=>q(Nt,e(Y)==="rendered"?"Copied rendered prompt":"Copy rendered prompt")),m(bt,Nt)},$$slots:{default:!0}})}c(Qt),c(W);var xr=g(W,2);Sa(xr,{get original(){return e(R).formatted},get modified(){return e(S).formatted},language:"markdown",class:"min-h-0 flex-1"}),c(K),m(ce,K)},At=ce=>{{let K=w(()=>e(A).formatted||"—");Kr(ce,{get value(){return e(K)},language:"text",class:"h-full"})}},xt=ce=>{{let K=w(()=>e(M).formatted||"—");Kr(ce,{get value(){return e(K)},language:"json",class:"h-full"})}};H(kt,ce=>{e(P)[e(k)]?ce(tt):e(I)[e(k)]?ce(oe,1):e(k)==="prompt"&&e(R)&&e(S)?ce(_e,2):e(k)==="conversation"&&e(A)?ce(At,3):e(k)==="context"&&e(M)&&ce(xt,4)})}c(ht),m(Te,ht)};let Ne=w(()=>`${gt(e(k))} — ${r.scenario||"Test"} (run ${r.runIndex})`);Lr(C,{get title(){return e(Ne)},class:"!w-[85vw] !max-w-5xl",get open(){return e(d)},set open(Te){o(d,Te,!0)},children:G,$$slots:{default:!0}})}};H(Rt,C=>{e(d)&&C(mr)})}var jr=g(Rt,2);{var ar=C=>{{const G=Te=>{var ht=Fo(),kt=Me(ht);Is(kt,{get value(){return e(x)},ariaLabel:"Test run debug tabs",onChange:({value:W})=>rr(W),children:(W,ue)=>{var Ct=jo(),Qt=Me(Ct);Zr(Qt,{value:"errors",class:"px-3",children:(Ge,bt)=>{Ce();var Mt=De("Errors");m(Ge,Mt)},$$slots:{default:!0}});var rt=g(Qt,2);Zr(rt,{value:"traces",class:"px-3",children:(Ge,bt)=>{Ce();var Mt=De("Traces");m(Ge,Mt)},$$slots:{default:!0}});var xr=g(rt,2);Zr(xr,{value:"logs",class:"px-3",children:(Ge,bt)=>{Ce();var Mt=De("Logs");m(Ge,Mt)},$$slots:{default:!0}}),m(W,Ct)},$$slots:{default:!0}});var tt=g(kt,2),oe=f(tt);{var _e=W=>{var ue=ps();m(W,ue)},At=W=>{var ue=gs(),Ct=f(ue,!0);c(ue),B(()=>q(Ct,e(I)[e(x)])),m(W,ue)},xt=W=>{{let ue=w(()=>e(Q).formatted||"—");Kr(W,{get value(){return e(ue)},language:"text",class:"h-full"})}},ce=W=>{{let ue=w(()=>e(O).formatted||"—");Kr(W,{get value(){return e(ue)},language:"json",class:"h-full"})}},K=W=>{{let ue=w(()=>e(j).formatted||"—");Kr(W,{get value(){return e(ue)},language:"text",class:"h-full"})}};H(oe,W=>{e(P)[e(x)]?W(_e):e(I)[e(x)]?W(At,1):e(x)==="errors"&&e(Q)?W(xt,2):e(x)==="traces"&&e(O)?W(ce,3):e(x)==="logs"&&e(j)&&W(K,4)})}c(tt),m(Te,ht)};let Ne=w(()=>`Debug — ${r.scenario||"Test"} (run ${r.runIndex})`);Lr(C,{get title(){return e(Ne)},class:"!w-[85vw] !max-w-5xl",get open(){return e(i)},set open(Te){o(i,Te,!0)},children:G,$$slots:{default:!0}})}};H(jr,C=>{e(i)&&C(ar)})}B(()=>{nr.disabled=s()||a()||e(L)==="adding",q(Mr,e(L)==="adding"?"Adding…":e(L)==="added"?"Added":e(L)==="failed"?"Failed":"Add test"),Ut.disabled=n(),sr.disabled=s()}),Re("click",nr,Vt),Re("click",Ut,function(...C){var G;(G=r.onAnalyze)==null||G.apply(this,C)}),Re("click",sr,function(...C){var G;(G=r.onRegenerate)==null||G.apply(this,C)}),Re("click",Jt,()=>o(h,!0)),Re("click",Nr,()=>wt("prompt")),Re("click",Dr,()=>wt("conversation")),Re("click",Or,()=>wt("context")),Re("click",F,Ht),m(t,en),xn()}Ts(["click"]);function qo(t){const r=t<0?-1:1,s=Math.abs(t),a=.254829592,n=-.284496736,i=1.421413741,d=-1.453152027,h=1.061405429,k=1/(1+.3275911*s),S=1-((((h*k+d)*k+i)*k+n)*k+a)*k*Math.exp(-s*s);return r*S}function Ho(t){return .5*(1+qo(t/Math.SQRT2))}function Fs(t,r,s,a){if(!Number.isFinite(t)||!Number.isFinite(r)||!Number.isFinite(s)||!Number.isFinite(a)||r<=0||a<=0)return null;const n=t/r,i=s/a,d=(t+s)/(r+a),h=Math.sqrt(d*(1-d)*(1/r+1/a));if(!Number.isFinite(h)||h<=0)return null;const x=(i-n)/h,k=2*(1-Ho(Math.abs(x)));return Math.max(0,Math.min(1,k))}function zs(t){return t==="higher"?"significantly better":"significantly worse"}function un(t,r){if(!t||t.isOld)return null;const s=t.total_runs;if(s<=0)return null;const a=t.previous,n=a&&a.total_runs>0?a.success_count/a.total_runs:null,i=t.successes/s,d=n===null||i>=n?"higher":"lower",h=(()=>{if(s<5||!a||a.total_runs<=0)return!1;const M=Fs(a.success_count,a.total_runs,t.successes,s);return M!==null&&M<.05})(),x=n===1&&i<1,k=n!==null&&n<1&&i===1,S=h?zs(d):x?"Not 100% anymore":k?"100% now":void 0,R=Number.isFinite(r)&&r>0&&s<r;if(!R&&!S)return null;const A=R?Math.round(i*r):void 0;return{showExpected:R,expectedSuccesses:A,expectedRuns:r,significant:h,direction:d,comparisonLabel:S}}var Vo=E('<link rel="preload" href="/ui/arrow_tests.svg" as="image"/>'),ms=E("<!> <!>",1),xs=E('<div class="p-2 text-gray-300">Loading…</div>'),bs=E('<div class="p-2 text-rc-red-600"> </div>'),Uo=E('<div class="p-2 text-gray-400">No previous runs</div>'),Jo=E('<div class="border-rc-red-700 rounded border bg-rc-gray-900 px-3 py-2 text-sm text-rc-red-600"> </div>'),Bo=E('<button type="button"><div class="flex items-baseline justify-between gap-2"><span class="font-semibold text-rc-gray-100"> </span> <span class="text-sm text-rc-gray-400"> </span></div> <div class="mt-1 text-sm text-rc-gray-400"> </div> <div class="mt-2 flex items-center justify-between gap-2 text-sm"><span> </span> <span class="text-rc-gray-300"> </span></div></button>'),Qo=E('<div class="flex flex-col gap-2"><!> <!></div>'),ys=E('<div class="p-3 text-gray-400">—</div>'),dn=E('<span class="ml-2 text-rc-gray-400"> </span>'),Ko=E("<span> </span> <!>",1),_s=E('<span class="text-rc-gray-500">—</span>'),ws=E('<div class="mt-1 px-1 text-sm font-semibold text-rc-gray-300"><!></div>'),ks=E('<div class="flex flex-col gap-2"><div> </div> <div><div class="flex items-center gap-0"><!> <span> </span></div> <!></div></div>'),Wo=E('<div class="flex flex-wrap items-center gap-3"><div class="text-lg font-extrabold"><span> </span> <!></div></div> <div class="mt-3 flex flex-col gap-4"></div>',1),Go=E('<div class="flex flex-col gap-2 p-2"><input class="card-input-subtle pointer-events-none svelte-rdft55" type="text" placeholder="Author" readonly=""/> <div class="flex items-center gap-2"><input class="rc-input w-44 svelte-rdft55" type="text" readonly=""/> <input class="rc-input min-w-0 flex-1 svelte-rdft55" type="text" placeholder="Assertion value" readonly=""/></div> <div class="flex flex-wrap items-center gap-3"><div class="inline-flex h-8 overflow-hidden rounded border border-rc-gray-600 bg-rc-gray-900 p-0.5" aria-label="Capture mode"><button type="button" disabled="">Immediate</button> <button type="button" disabled="">Final</button></div> <!> <!></div> <!></div> <div class="rounded-b border-t border-rc-gray-700 bg-rc-gray-980 p-2"><!></div>',1),Xo=E('<div class="border-b border-rc-gray-700 p-2"><div class="grid grid-cols-[2.25rem,1fr] gap-2"><div class="flex flex-col items-center gap-1 pt-1"><!></div> <div class="min-w-0"><div><div><div class="grid grid-cols-[1fr,2.25rem] items-center gap-2"><input class="card-input-title pointer-events-none svelte-rdft55" type="text" placeholder="Scenario" readonly=""/> <button class="icon-btn justify-self-end text-gray-300 hover:text-gray-100 svelte-rdft55"><!></button></div> <!></div> <!></div></div></div></div>'),Cs=E('<div class="flex flex-col space-y-5"></div>'),Zo=E('<div class="flex flex-col gap-3"><div class="flex flex-wrap items-center justify-between gap-3 border-b border-rc-gray-700 pb-3"><div class="flex flex-wrap items-center gap-3"><div class="flex items-center gap-2"><label class="text-rc-gray-300">Repeats</label> <!></div> <div class="flex items-center gap-2"><label class="text-rc-gray-300">Concurrency</label> <!></div> <span class="text-rc-gray-400"> </span></div> <!></div> <div class="grid grid-cols-[2.25rem,1fr] items-center gap-2 border-b border-rc-gray-700 p-2"><div></div> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-left text-rc-gray-300"><span> </span> <span> </span></div></div> <!></div>'),Yo=E('<div class="grid min-h-[68vh] grid-cols-[18rem,minmax(0,1fr)] gap-4"><aside class="rc-scroll min-h-0 overflow-auto border-r border-rc-gray-700 pr-3"><!></aside> <section class="rc-scroll min-h-0 overflow-auto"><!></section></div>'),ei=E('<pre class="whitespace-pre-wrap font-mono text-gray-200"> </pre>'),ti=E('<div class="mr-3 flex items-center gap-3"><span class="animate-pulse rounded bg-rc-green-200 px-3 py-1 text-white"> </span> <!></div>'),ri=E("<!> New test",1),ni=E('<div class="pointer-events-none absolute -left-28 top-full mt-4 inline-flex -translate-x-1/2 flex-col items-center"><div class="relative w-50vw max-w-2xl"><img src="/ui/arrow_tests.svg" alt="Arrow" class="block h-auto w-full object-contain"/> <span class="absolute inset-0 mt-48 flex items-center justify-center text-center text-4xl font-extrabold text-rc-gray-200">No tests yet.<br/>Add the first one</span></div></div>'),si=E("<!> History",1),ai=E("<!> Collapse all",1),oi=E("<div></div>"),ii=E('<button aria-label="Pin/unpin all" title="Pin/unpin all"><!></button>'),An=E('<span><!><span class="ml-1"> </span></span>'),li=E('<div class="translate-y-[5px]"><!></div>'),ci=E('<button><!></button> <button title="Duplicate" class="icon-btn text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button> <button title="Delete" class="icon-btn text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button>',1),ui=E("<span> </span> <!> <!>",1),di=E('<div class="rounded bg-rc-gray-930 px-2 py-2 text-sm text-rc-red-600">Invalid test: expected must be the last block (“Agent: …”)</div>'),fi=E("<option> </option>"),vi=E('<div class="text-lg font-extrabold"><span> </span> <!> <!></div>'),pi=E('<div class="mt-3 flex flex-col gap-4"></div>'),gi=E('<div class="flex flex-col gap-2 p-2"><!> <input class="card-input-subtle svelte-rdft55" type="text" placeholder="Author"/> <div class="flex items-center gap-2"><select class="rc-scroll rc-input w-36 svelte-rdft55" aria-label="Assertion Type"></select> <input class="rc-input min-w-0 flex-1 svelte-rdft55" type="text" placeholder="Assertion value"/></div> <div class="flex flex-wrap items-center gap-3"><div class="inline-flex h-8 overflow-hidden rounded border border-rc-gray-600 bg-rc-gray-900 p-0.5" aria-label="Capture mode"><button type="button">Immediate</button> <button type="button">Final</button></div> <!></div> <!></div> <div class="rounded-b border-t border-rc-gray-700 bg-rc-gray-980 p-2"><div class="flex flex-wrap items-center gap-3"><!> <!></div> <!></div>',1),hi=E('<div class="border-b border-rc-gray-700 p-2"><div class="grid grid-cols-[2.25rem,1fr] gap-2"><div class="flex flex-col items-center gap-1"><!></div> <div class="min-w-0"><div><div><div class="grid grid-cols-[1fr,2.25rem] items-center gap-2"><input class="card-input-title svelte-rdft55" type="text" placeholder="Scenario"/> <button class="icon-btn justify-self-end text-gray-300 hover:text-gray-100 disabled:cursor-not-allowed disabled:opacity-50 svelte-rdft55"><!></button></div> <!></div> <!></div></div></div></div>'),mi=E('<div class="flex min-h-0 flex-1 flex-col overflow-hidden p-3"><!> <div class="mt-3 min-h-0 flex-1 overflow-hidden"><!></div></div>'),xi=E('<div class="rc-scroll min-h-0 flex-1 overflow-auto"><div class="grid grid-cols-[2.25rem,1fr] items-center gap-2 border-b border-rc-gray-700 p-2"><!> <div class="flex flex-wrap items-center gap-x-4 gap-y-1 text-left text-rc-gray-300"><span> </span> <span> </span> <span> </span> <!></div></div> <!></div> <!>',1),bi=E('<div class="flex h-full min-h-0 flex-col"><div class="flex flex-none items-center justify-between gap-3 p-2"><div class="flex flex-wrap items-center gap-3 pl-11"><div class="flex items-center gap-2"><label class="text-rc-gray-300">Repeats</label> <!></div> <div class="flex items-center gap-2"><label class="text-rc-gray-300">Concurrency</label> <!></div></div> <div class="flex flex-wrap items-center gap-3"><!> <!> <div class="relative inline-flex items-center"><!> <!></div> <!></div></div> <div class="flex flex-none items-center justify-between gap-3 px-2 pb-2"><!> <!></div> <div class="min-h-0 flex-1 overflow-hidden"><!></div></div>'),yi=E("<!> <!> <!> <!>",1);function Ui(t,r){mn(r,!0);const{state:s,actions:a}=xa(),n=w(()=>s.agentId),i=w(()=>s.region);function d(l){try{return structuredClone(l)}catch{try{return JSON.parse(JSON.stringify(l))}catch{return l}}}function h(l,v,u){return Math.max(v,Math.min(u,l))}let x=$(1),k=$(75),S=$(lt({})),R=$(lt({})),A=$(!1),M=$(null),Q=$("context"),O=$(lt({})),j=$(lt({})),P=$(!1),I=$(!1),N=$(!1),Y=$(""),Ae=$(null),L=$(!1),J=$(null),Ve=$(lt([])),We=$(!1),be=$(null),ye=$(null),pt=$(lt({})),Ht=$(!1),wt=$(null),gt=$(lt([])),rr=0,Vt=0;const et=w(()=>e(ye)?e(pt)[e(ye)]??null:null),en=w(()=>e(We)&&e(Ve).length===0&&!e(be)),Ar=w(()=>e(Ht)&&!e(et)),nr=w(()=>new Set(e(gt))),Mr=w(()=>e(et)?e(et).rows.map(l=>Js(e(et).timestamp,l)):[]),Ut=w(()=>Bs(e(Mr)));function sr(l,v){o(Y,l,!0),o(Ae,JSON.stringify(v??{},null,2),!0),o(N,!0)}let Jt=$(!1);async function Nr(l,v,u){var T;if(e(Jt))return;o(Jt,!0);const b=a.openPopover("analyze"),p=`Analysis — ${l} (run ${v})`;try{const y=await Ee.tests.analyzeRun.mutate({agent:u.agent,region:e(i),testId:u.id,index:u.run,timestamp:u.timestamp});if(((T=s.edit.popover)==null?void 0:T.requestId)!==b)return;a.setHighlightQuotes(y.quotes);let U=null;try{U=JSON.stringify(y.raw,null,2)}catch{U=null}a.setPopoverReady(b,{title:p,quotes:y.quotes,rationales:y.rationales,parallelCalls:y.parallelCalls,raw:U})}catch(y){console.error(y);const U=typeof(y==null?void 0:y.message)=="string"?y.message:(()=>{try{return JSON.stringify(y)}catch{return String(y)}})();a.setPopoverError(b,U||"Failed to analyze this response",{raw:U})}finally{o(Jt,!1)}}const Dr=[{value:"llm-rubric",label:"LLM"},{value:"answer-relevance",label:"Answer Relevance (LLM)"},{value:"context-faithfulness",label:"Context Faithfulness (LLM)"},{value:"context-recall",label:"Context Recall (LLM)"},{value:"context-relevance",label:"Context Relevance (LLM)"},{value:"model-graded-closedqa",label:"Model-Graded Closed QA"},{value:"model-graded-factuality",label:"Model-Graded Factuality"},{value:"moderation",label:"Moderation"},{value:"classifier",label:"Classifier"},{value:"g-eval",label:"G-Eval"},{value:"factuality",label:"Factuality"},{value:"conversation-relevance",label:"Conversation Relevance"},{value:"equals",label:"Equals"},{value:"contains",label:"Contains"},{value:"icontains",label:"Contains (case-insensitive)"},{value:"contains-all",label:"Contains All"},{value:"contains-any",label:"Contains Any"},{value:"icontains-all",label:"Contains All (iCase)"},{value:"icontains-any",label:"Contains Any (iCase)"},{value:"starts-with",label:"Starts With"},{value:"regex",label:"Regex"},{value:"levenshtein",label:"Levenshtein Distance"},{value:"is-refusal",label:"Is Refusal"},{value:"is-html",label:"Is HTML"},{value:"contains-html",label:"Contains HTML"},{value:"is-json",label:"Is JSON"},{value:"contains-json",label:"Contains JSON"},{value:"is-xml",label:"Is XML"},{value:"contains-xml",label:"Contains XML"},{value:"is-sql",label:"Is SQL"},{value:"contains-sql",label:"Contains SQL"},{value:"similar",label:"Semantic Similarity"},{value:"rouge-n",label:"ROUGE-N"},{value:"bleu",label:"BLEU"},{value:"gleu",label:"GLEU"},{value:"meteor",label:"METEOR"},{value:"perplexity",label:"Perplexity"},{value:"perplexity-score",label:"Perplexity Score"},{value:"latency",label:"Latency"},{value:"cost",label:"Cost"},{value:"finish-reason",label:"Finish Reason"},{value:"trace-error-spans",label:"Trace Error Spans"},{value:"trace-span-count",label:"Trace Span Count"},{value:"trace-span-duration",label:"Trace Span Duration"},{value:"is-valid-function-call",label:"Is Valid Function Call"},{value:"is-valid-openai-function-call",label:"Is Valid OpenAI Function Call"},{value:"is-valid-openai-tools-call",label:"Is Valid OpenAI Tools Call"},{value:"guardrails",label:"Guardrails"},{value:"javascript",label:"JavaScript (custom)"},{value:"python",label:"Python (custom)"},{value:"webhook",label:"Webhook (custom)"},{value:"pi",label:"Pi Scorer"}],Or=[...Dr,...Dr.map(l=>({value:`not-${l.value}`,label:`Not ${l.label}`}))];let F=$(lt([])),te=$(!1),Bt=$(null),Rt=$(null),mr=$(0),jr=$(0),ar=$(1),C=$(lt([])),G=$(lt([])),Ne=$(lt([]));const Te=w(()=>new Set(e(C))),ht=w(()=>new Set(e(G))),kt=w(()=>new Set(e(Ne)));let tt=!1,oe=null,_e=0,At=Promise.resolve();const xt=new Set;let ce=$(0);const K=w(()=>e(ce)>0);let W=$(!1),ue=$(lt([]));const Ct=w(()=>new Set(e(ue))),Qt=w(()=>e(F).some(l=>e(Ct).has(l.id)));function rt(l){return xt.add(l),o(ce,e(ce)+1),l.finally(()=>{xt.delete(l),o(ce,e(ce)-1)}),l}function xr(l,v,u){const b=Array.isArray(u.results)?u.results:[],p=b.reduce((T,y)=>T+(y!=null&&y.success?1:0),0);return{success_rate:u.success_rate,successes:p,total_runs:b.length,isOld:!!u.is_old,previous:u.previous&&typeof u.previous=="object"?{success_count:Number(u.previous.success_count??0),total_runs:Number(u.previous.total_runs??0),report_timestamp:String(u.previous.report_timestamp??"")}:void 0,runs:b.map((T,y)=>{const U=u.report_timestamp,D={agent:l,id:v,timestamp:U,run:y};return{index:y+1,success:!!T.success,text:String(T.result||""),evaluation:String(T.evaluation||""),errors:String(T.errors||""),links:{renderedPrompt:{...D,key:"rendered_prompt"},receivedPrompt:{...D,key:"received_prompt"},conversation:{...D,key:"stringified_conversation"},context:{...D,key:"received_context"},logs:{...D,key:"logs"},errors:{...D,key:"errors"},traces:{...D,key:"traces"}}}}).reverse()}}async function Ge(){const l=(e(n)??"").trim();if(l)try{const[{rows:v},u,b]=await Promise.all([Ee.tests.list.query({agent:l,region:e(i)}),Ee.tests.config.query({agent:l,region:e(i)}),Ee.tests.latestResult.query({agent:l,region:e(i)})]);if((e(n)??"").trim()!==l)return;o(x,u.repeats??1,!0),o(k,u.concurrency??75,!0),o(S,u.defaultContext??{},!0),o(ue,u.expandedTestIds??[],!0),o(F,v.map(p=>{const T=p.id,y=b[T];return{id:T,pinned:String(p.pinned).toUpperCase()==="TRUE",scenario:p.scenario||"",step:String(p.step??""),author:p.author||"",assertion_type:p.assertion_type||"llm-rubric",assertion_value:p.assertion_value||"",conversation:p.conversation||"",expected_output:p.expected_output||"",conversation_ui:Cn(p.conversation||"",p.expected_output||""),timeout:Number(p.timeout??0),capture_mode:p.capture_mode==="final"?"final":"immediate",similarity_threshold:Number(p.similarity_threshold??50),context:JSON.stringify(p.context),mocks:JSON.stringify(p.mocks||{}),hasMocks:typeof p.mocks<"u",result:y?xr(l,T,y):void 0}}),!0)}catch(v){if(console.error(v),(e(n)??"").trim()!==l)return;o(F,[],!0),o(x,1),o(k,75),o(S,{},!0),o(ue,[],!0)}finally{(e(n)??"").trim()===l&&o(W,!0)}}async function bt(l){const v=(e(n)??"").trim();if(v&&!tt){tt=!0;try{const[u,b]=await Promise.all([Ee.tests.latestResult.query({agent:v,region:e(i)}),Ee.tests.runProgress.query({agent:v,region:e(i)})]);if(l!==_e)return;b&&(o(C,b.plannedTestIds,!0),o(G,b.runningTestIds,!0),o(Ne,b.completedTestIds,!0));const p=e(F).map(D=>{const Se=u[D.id];return{...D,result:Se?xr(v,D.id,Se):void 0}});o(F,p,!0);const T=e(Bt),y=Math.max(1,Number(e(ar))||1),U=p.reduce((D,Se)=>T==="single"&&Se.id!==e(Rt)||T==="pinned"&&!Se.pinned?D:Se.result&&!Se.result.isOld&&Se.result.total_runs>=y?D+1:D,0);o(mr,U,!0)}catch(u){console.error(u)}finally{tt=!1}}}async function Mt(l){if(e(te))return;o(te,!0),o(Bt,l,!0),o(Rt,null),o(jr,l==="all"?e(F).length:e(F).filter(u=>u.pinned).length,!0),o(mr,0),o(ar,Math.max(1,Number(e(x))||1),!0),o(C,e(F).filter(u=>l==="all"||u.pinned).map(u=>u.id),!0),o(G,[],!0),o(Ne,[],!0),_e+=1;const v=_e;if(await Promise.all([At,...xt]),v===_e){oe&&clearInterval(oe),oe=setInterval(()=>bt(v),250),bt(v);try{await Ee.tests.runTests.mutate({agent:e(n),region:e(i),scope:l})}catch(u){v===_e&&console.error(u)}finally{if(v!==_e)return;oe&&clearInterval(oe),oe=null;try{await Ge()}finally{if(v!==_e)return;o(te,!1),o(Bt,null),o(Rt,null),o(C,[],!0),o(G,[],!0),o(Ne,[],!0)}}}}async function Nt(l){if(!e(n)||e(te))return;o(te,!0),o(Bt,"single"),o(Rt,l,!0),o(jr,1),o(mr,0),o(ar,Math.max(1,Number(e(x))||1),!0),o(C,[l],!0),o(G,[],!0),o(Ne,[],!0),_e+=1;const v=_e;if(await Promise.all([At,...xt]),v===_e){oe&&clearInterval(oe),oe=setInterval(()=>bt(v),250),bt(v);try{await Ee.tests.runTests.mutate({agent:e(n),region:e(i),testId:l})}catch(u){v===_e&&console.error(u)}finally{if(v!==_e)return;oe&&clearInterval(oe),oe=null;try{await Ge()}finally{if(v!==_e)return;o(te,!1),o(Bt,null),o(Rt,null),o(C,[],!0),o(G,[],!0),o(Ne,[],!0)}}}}function qs(){e(te)&&(_e+=1,oe&&clearInterval(oe),oe=null,o(te,!1),o(Bt,null),o(Rt,null),o(C,[],!0),o(G,[],!0),o(Ne,[],!0),At=Ee.tests.cancelRun.mutate({agent:e(n),region:e(i)}).then(()=>{},()=>{}))}async function Hs(l){const v=l?"TRUE":"FALSE",u=e(F).filter(p=>p.pinned!==l).map(p=>p.id);if(u.length===0)return;const b=new Set(u);o(F,e(F).map(p=>b.has(p.id)?{...p,pinned:l}:p),!0);try{await rt(Ee.tests.patchTestsBatch.mutate({agent:e(n),region:e(i),updates:u.map(p=>({id:p,patch:{pinned:v}}))}))}catch(p){console.error(p),await Ge()}}let _n=null;Xr(()=>{const l=(e(n)??"").trim(),v=(e(i)??"").trim(),u=s.availableRegions,b=Array.isArray(u)&&u.length>0;if(!l){_n=null,o(F,[],!0),o(ue,[],!0),o(W,!1);return}if(b&&!v)return;const p=`${l}::${v}`;_n!==p&&(_n=p,o(F,[],!0),o(ue,[],!0),o(W,!1),Ge())});const tn=w(()=>e(F).filter(l=>l.pinned).length),Fr=w(()=>e(tn)>0),Vs=w(()=>e(F).length>0&&e(tn)===e(F).length),ct=w(()=>{let l=0,v=0,u=0,b=0,p=0,T=0,y=0,U=0;for(const Se of e(F)){const me=Se.result;!me||me.isOld||me.total_runs<=0||(v+=1,u+=me.successes,b+=me.total_runs,me.successes===me.total_runs&&(l+=1),me.previous&&me.previous.total_runs>0&&(p+=me.previous.success_count,T+=me.previous.total_runs,y+=me.successes,U+=me.total_runs))}const D=(()=>{if(U<5||T<=0)return null;const Se=Fs(p,T,y,U);if(Se===null||Se>=.05)return null;const me=p/T;return{direction:y/U>=me?"higher":"lower",previousAttemptsPassing:p,previousAttemptsTotal:T,currentAttemptsPassing:y,currentAttemptsTotal:U,pValue:Se}})();return{casesPassing:l,casesTotal:v,attemptsPassing:u,attemptsTotal:b,trend:D}});async function Us(){const l=await Ee.tests.addTest.mutate({agent:e(n),region:e(i),seed:{},mergeContexts:!0}),v=wn(l);o(F,[v,...e(F)],!0),zr(v.id,!0).catch(console.error)}function wn(l){return{...l,step:String(l.step??""),pinned:l.pinned==="TRUE",timeout:Number(l.timeout),capture_mode:l.capture_mode==="final"?"final":"immediate",similarity_threshold:Number(l.similarity_threshold),context:JSON.stringify(l.context),mocks:JSON.stringify(l.mocks||{}),hasMocks:typeof l.mocks<"u",conversation_ui:Cn(l.conversation||"",l.expected_output||"")}}function Js(l,v){const u=v.test,b=u.id,p=v.results,T=p.reduce((y,U)=>y+(U.success?1:0),0);return{id:b,pinned:u.pinned==="TRUE",scenario:u.scenario,step:u.step??"",author:u.author||"",assertion_type:u.assertion_type,assertion_value:u.assertion_value,conversation:u.conversation,expected_output:u.expected_output,conversation_ui:Cn(u.conversation||"",u.expected_output||""),timeout:Number(u.timeout),capture_mode:u.capture_mode==="final"?"final":"immediate",similarity_threshold:Number(u.similarity_threshold),context:JSON.stringify(u.context),mocks:JSON.stringify(u.mocks||{}),hasMocks:typeof u.mocks<"u",result:{success_rate:v.success_rate,successes:T,total_runs:p.length,isOld:!1,runs:p.map((y,U)=>{const D={agent:e(n),id:b,timestamp:l,run:U};return{index:U+1,success:y.success,text:y.result||"",evaluation:y.evaluation||"",errors:y.errors||"",links:{renderedPrompt:{...D,key:"rendered_prompt"},receivedPrompt:{...D,key:"received_prompt"},conversation:{...D,key:"stringified_conversation"},context:{...D,key:"received_context"},logs:{...D,key:"logs"},errors:{...D,key:"errors"},traces:{...D,key:"traces"}}}}).reverse()}}}function Bs(l){let v=0,u=0,b=0,p=0;for(const T of l){const y=T.result;!y||y.total_runs<=0||(u+=1,b+=y.successes,p+=y.total_runs,y.successes===y.total_runs&&(v+=1))}return{casesPassing:v,casesTotal:u,attemptsPassing:b,attemptsTotal:p}}function Qs(l){var v;return((v=Or.find(u=>u.value===l))==null?void 0:v.label)??l}function Ks(l){const v=new Date(l);return Number.isNaN(v.getTime())?l:v.toLocaleDateString(void 0,{month:"short",day:"numeric",year:"numeric"})}function Ws(l){const v=new Date(l);return Number.isNaN(v.getTime())?"":v.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"})}function Hn(l){return l==="all"?"All tests":"Pinned tests"}function Gs(l){const v=new Set(e(gt));v.has(l)?v.delete(l):v.add(l),o(gt,Array.from(v),!0)}function kn(l,v){return`${l.trim()}::${String(v??"").trim()}`}function or(){const l=(e(n)??"").trim();return l?kn(l,e(i)):null}function Vn(l){return l.rows.length===1?l.rows.map(v=>v.test.id):[]}function Xs(){rr+=1,Vt+=1,o(J,null),o(Ve,[],!0),o(We,!1),o(be,null),o(ye,null),o(pt,{},!0),o(Ht,!1),o(wt,null),o(gt,[],!0)}async function Zs(){const l=or();l&&(e(J)!==l&&(Xs(),o(We,!0)),o(L,!0),await Ys({preserveCachedDetail:!0}))}async function Ys(l={}){var T;const v=(e(n)??"").trim();if(!v)return;const u=e(i),b=kn(v,u),p=++rr;o(We,!0),o(be,null);try{const y=await Ee.tests.historyList.query({agent:v,region:u});if(p!==rr||or()!==b)return;o(Ve,y,!0),o(J,b,!0);const U=e(ye)&&y.some(D=>D.timestamp===e(ye))?e(ye):((T=y[0])==null?void 0:T.timestamp)??null;U?await Un(U,{preserveCachedDetail:l.preserveCachedDetail,requestKey:b}):(o(ye,null),o(wt,null),o(Ht,!1),o(gt,[],!0))}catch(y){if(console.error(y),p!==rr||or()!==b)return;o(be,"Failed to load test history"),e(J)!==b&&(o(Ve,[],!0),o(ye,null),o(pt,{},!0),o(gt,[],!0))}finally{p===rr&&or()===b&&o(We,!1)}}async function Un(l,v={}){const u=(e(n)??"").trim();if(!u)return;const b=e(i),p=v.requestKey??kn(u,b),T=e(ye)===l;o(ye,l,!0),o(Ht,!0),o(wt,null);const y=e(pt)[l];if(y&&v.preserveCachedDetail){Vt+=1,o(Ht,!1),T||o(gt,Vn(y),!0);return}const U=++Vt;y||o(gt,[],!0);try{const D=await Ee.tests.historyRun.query({agent:u,region:b,timestamp:l});if(U!==Vt||e(ye)!==l||or()!==p)return;o(pt,{...e(pt),[l]:D},!0),o(gt,Vn(D),!0)}catch(D){if(console.error(D),U!==Vt||e(ye)!==l||or()!==p)return;o(wt,"Failed to load this test run"),o(gt,[],!0)}finally{U===Vt&&e(ye)===l&&or()===p&&o(Ht,!1)}}function Jn(l){const{conversation_ui:v,hasMocks:u,mocks:b,result:p,...T}=l,y={...T,pinned:l.pinned?"TRUE":"FALSE",timeout:String(l.timeout??0),similarity_threshold:String(l.similarity_threshold??50),context:JSON.parse(l.context)};return u&&(y.mocks=JSON.parse(b)),y}async function ea(l,v){const u=Jn(l);u.id=crypto.randomUUID();const b=await Ee.tests.addTest.mutate({agent:e(n),region:e(i),seed:u,mergeContexts:!0}),p=wn(b),T=e(F).slice();T.splice(v,0,p),o(F,T,!0),zr(p.id,!0).catch(console.error),await Ee.tests.reorder.mutate({agent:e(n),region:e(i),order:e(F).map(y=>y.id)})}async function Bn(l,v,u=0){const b=Jn(l);b.id=crypto.randomUUID(),b.expected_output=v;const p=await Ee.tests.addTest.mutate({agent:e(n),region:e(i),seed:b,mergeContexts:!0}),T=wn(p),y=e(F).slice();y.splice(u,0,T),o(F,y,!0),zr(T.id,!0).catch(console.error),await Ee.tests.reorder.mutate({agent:e(n),region:e(i),order:e(F).map(U=>U.id)})}function Qn(l){if(!l)return"";try{return l.replace(/^\s*\d+\s*[:.)-]?\s*(?:[❌✖️✔✅✗xX])?\s*/u,"")}catch{return l}}function rn(l){try{return l&&l.trim()?JSON.parse(l):{}}catch{return{}}}const Kn=l=>l.match(/^\s*(agent|assistant|user|system)\s*:\s*(.*)$/i);function ta(l){const v=String(l??"").trimEnd();return v?/^\s*(agent|assistant)\s*:/i.test(v)?v:`Agent: ${v}`:""}function Cn(l,v){const u=String(l??"").trimEnd(),b=ta(v);return b?u?`${u}
3
+ ${b}`:b:u}function Tn(l){const v=String(l??""),u=v.split(/\r?\n/),b=[];let p=null;for(let Dt=0;Dt<u.length;Dt++){const re=Kn(u[Dt]);if(!re)continue;p&&b.push({...p,endLine:Dt});const ie=String(re[1]??"").toLowerCase();p={role:ie==="assistant"?"agent":ie,startLine:Dt+1}}p&&b.push({...p,endLine:u.length});const T=b.at(-1),y=(T==null?void 0:T.role)==="agent",U=y;if(!y||!T)return{valid:!1,expected:"",conversation:v.trimEnd()};const D=u.slice(T.startLine-1,T.endLine),Se=D[0]??"",me=Kn(Se),ir=[me?me[2]??"":"",...D.slice(1)].join(`
4
+ `).trimEnd(),yr=u.slice(0,T.startLine-1).join(`
5
+ `).trimEnd();return{valid:U,expected:ir,conversation:yr,highlight:{startLine:T.startLine,endLine:T.endLine}}}function nn(l){return l.total_runs>0&&l.successes<l.total_runs?"text-rc-red-600":"text-rc-gray-200"}async function Kt(l,v){await Ee.tests.patchTest.mutate({agent:e(n),region:e(i),id:l,patch:v})}async function ra(l){await Ee.tests.deleteTest.mutate({agent:e(n),region:e(i),id:l});try{await zr(l,!1)}catch(v){console.error(v)}await Ge()}function zr(l,v){if(!(e(n)??"").trim())return Promise.resolve();const b=String(l??"").trim();if(!b)return Promise.resolve();const p=new Set(e(ue)),T=p.has(b);if(v===T)return Promise.resolve();v?p.add(b):p.delete(b);const y=Array.from(p);return o(ue,y,!0),rt(qr({expandedTestIds:y}))}function na(l){zr(l,!e(Ct).has(l)).catch(console.error)}function sa(){return!(e(n)??"").trim()||!e(Qt)?Promise.resolve():(o(ue,[],!0),rt(qr({expandedTestIds:[]})))}function aa(l){e(n)&&(o(M,l.id,!0),o(Q,"context"),o(O,d(rn(l.context)),!0),o(j,d(rn(l.mocks)),!0),o(P,!1),o(I,l.hasMocks,!0))}async function oa(){const l=e(M);if(!l||!e(n)){o(M,null),o(Q,"context"),o(P,!1),o(I,!1);return}const v=d(e(O)),u=d(e(j)),b=e(I)||e(P);o(M,null),o(Q,"context"),o(P,!1),o(I,!1),o(F,e(F).map(p=>{if(p.id!==l)return p;const T={...p,context:JSON.stringify(v)};return b&&(T.mocks=JSON.stringify(u),T.hasMocks=!0),T}),!0);try{const p={context:v};b&&(p.mocks=u),await rt(Kt(l,p))}catch(p){console.error(p),await Ge()}}async function qr(l){await Ee.tests.updateConfig.mutate({agent:e(n),region:e(i),cfg:l})}function Wn(l,v){l.capture_mode!==v&&(o(F,e(F).map(u=>u.id===l.id?{...u,capture_mode:v}:u),!0),rt(Kt(l.id,{capture_mode:v})))}hn(()=>{oe&&clearInterval(oe)});var Gn=yi();ha("rdft55",l=>{var v=Vo();m(l,v)});var Xn=Me(Gn);Lr(Xn,{title:"Default Context",get open(){return e(A)},set open(u){o(A,u,!0)},children:u=>{{let b=w(()=>`editorState/context/${e(n)}/tests/default`);Ln(u,{class:"h-[70vh]",get context(){return e(R)},onContextChanged:p=>o(R,p,!0),get editorStateKey(){return e(b)},suppressErrors:!0,defaultFormat:"json",hideHeader:!0})}},footer:u=>{var b=ms(),p=Me(b);Ke(p,{variant:"outlined",size:"small",onclick:()=>o(A,!1),children:(y,U)=>{Ce();var D=De("Cancel");m(y,D)},$$slots:{default:!0}});var T=g(p,2);Ke(T,{size:"small",onclick:async()=>{o(S,e(R),!0),await rt(qr({defaultContext:e(S)})),o(A,!1)},children:(y,U)=>{Ce();var D=De("Save");m(y,D)},$$slots:{default:!0}}),m(u,b)},$$slots:{default:!0,footer:!0}});var Zn=g(Xn,2);Lr(Zn,{title:"Test history",class:"!w-[95vw] !max-w-[90rem]",get open(){return e(L)},set open(u){o(L,u,!0)},children:u=>{var b=Yo(),p=f(b),T=f(p);{var y=re=>{var ie=xs();m(re,ie)},U=re=>{var ie=bs(),nt=f(ie,!0);c(ie),B(()=>q(nt,e(be))),m(re,ie)},D=re=>{var ie=Uo();m(re,ie)},Se=re=>{var ie=Qo(),nt=f(ie);{var Wt=yt=>{var we=Jo(),_r=f(we,!0);c(we),B(()=>q(_r,e(be))),m(yt,we)};H(nt,yt=>{e(be)&&yt(Wt)})}var lr=g(nt,2);hr(lr,17,()=>e(Ve),yt=>yt.timestamp,(yt,we,_r,X)=>{var fe=Bo(),Oe=f(fe),de=f(Oe),Ue=f(de,!0);c(de);var ut=g(de,2),wr=f(ut,!0);c(ut),c(Oe);var Tt=g(Oe,2),kr=f(Tt);c(Tt);var Gt=g(Tt,2),Xt=f(Gt),cr=f(Xt,!0);c(Xt);var st=g(Xt,2),mt=f(st);c(st),c(Gt),c(fe),B((Ot,V,Zt)=>{he(fe,1,`w-full rounded border px-3 py-2 text-left transition-colors ${e(ye)===e(we).timestamp?"border-rc-green-200 bg-rc-gray-930 text-rc-gray-100":"border-rc-gray-700 bg-rc-gray-900 text-rc-gray-300 hover:border-rc-gray-500 hover:bg-rc-gray-800"}`,"svelte-rdft55"),q(Ue,Ot),q(wr,V),q(kr,`${e(we).testCount??""}
6
+ ${e(we).testCount===1?"test":"tests"} · ${Zt??""}`),he(Xt,1,Qr(e(we).passed?"text-rc-green-200":"text-rc-red-600")),q(cr,e(we).passed?"Success":"Failure"),q(mt,`${e(we).successRatePercent??""}% (${e(we).successRate??""})`)},[()=>Ks(e(we).timestamp),()=>Ws(e(we).timestamp),()=>Hn(e(we).runScope)]),Re("click",fe,()=>void Un(e(we).timestamp,{preserveCachedDetail:!0})),m(yt,fe)}),c(ie),m(re,ie)};H(T,re=>{e(en)?re(y):e(be)&&e(Ve).length===0?re(U,1):e(Ve).length===0?re(D,2):re(Se,-1)})}c(p);var me=g(p,2),br=f(me);{var ir=re=>{var ie=xs();m(re,ie)},yr=re=>{var ie=bs(),nt=f(ie,!0);c(ie),B(()=>q(nt,e(wt))),m(re,ie)},Dt=re=>{var ie=Zo(),nt=f(ie),Wt=f(nt),lr=f(Wt),yt=g(f(lr),2);cn(yt,{type:"number",class:"w-16",get value(){return e(et).runConfig.repeats},disabled:!0}),c(lr);var we=g(lr,2),_r=g(f(we),2);cn(_r,{type:"number",class:"w-16",get value(){return e(et).runConfig.concurrency},disabled:!0}),c(we);var X=g(we,2),fe=f(X,!0);c(X),c(Wt);var Oe=g(Wt,2);Ke(Oe,{variant:"secondary",onclick:()=>sr("Run context",e(et).runConfig.defaultContext),children:(st,mt)=>{Ce();var Ot=De("View context");m(st,Ot)},$$slots:{default:!0}}),c(nt);var de=g(nt,2),Ue=g(f(de),2),ut=f(Ue),wr=f(ut);c(ut);var Tt=g(ut,2),kr=f(Tt);c(Tt),c(Ue),c(de);var Gt=g(de,2);{var Xt=st=>{var mt=ys();m(st,mt)},cr=st=>{var mt=Cs();hr(mt,21,()=>e(Mr),Ot=>Ot.id,(Ot,V)=>{const Zt=w(()=>Tn(e(V).conversation_ui)),Yt=w(()=>e(nr).has(e(V).id));var Cr=Xo(),sn=f(Cr),Hr=f(sn),Sn=f(Hr);{let pe=w(()=>`block ${e(V).pinned?"text-rc-green-200":"text-gray-400"}`),Be=w(()=>e(V).pinned?"mdi:pin":"mdi:pin-outline");Et(Sn,{get class(){return e(pe)},get icon(){return e(Be)},width:18,height:18})}c(Hr);var ve=g(Hr,2),le=f(ve),Je=f(le),_=f(Je),dt=f(_);gr(dt);var Ie=g(dt,2),ft=f(Ie);{let pe=w(()=>e(Yt)?"chevron-up":"chevron-down");Lt(ft,{get name(){return e(pe)},width:20,height:20,class:"block"})}c(Ie),c(_);var jt=g(_,2);{var Tr=pe=>{var Be=ws(),at=f(Be);{var Xe=ke=>{const ot=w(()=>un(e(V).result,e(et).runConfig.repeats));var Qe=Ko(),St=Me(Qe),dr=f(St);c(St);var Sr=g(St,2);{var Ir=Ft=>{var ne=dn(),je=f(ne);c(ne),B(()=>q(je,`(${e(ot).expectedSuccesses??""}/${e(ot).expectedRuns??""} expected)`)),m(Ft,ne)};H(Sr,Ft=>{var ne;(ne=e(ot))!=null&&ne.showExpected&&Ft(Ir)})}B(Ft=>{he(St,1,Ft,"svelte-rdft55"),q(dr,`${e(V).result.successes??""}/${e(V).result.total_runs??""}`)},[()=>Qr(nn(e(V).result))]),m(ke,Qe)},Ze=ke=>{var ot=_s();m(ke,ot)};H(at,ke=>{e(V).result?ke(Xe):ke(Ze,-1)})}c(Be),m(pe,Be)};H(jt,pe=>{e(Yt)||pe(Tr)})}c(Je);var ur=g(Je,2);{var Vr=pe=>{var Be=Go(),at=Me(Be),Xe=f(at);gr(Xe);var Ze=g(Xe,2),ke=f(Ze);gr(ke);var ot=g(ke,2);gr(ot),c(Ze);var Qe=g(Ze,2),St=f(Qe),dr=f(St),Sr=g(dr,2);c(St);var Ir=g(St,2);Ke(Ir,{variant:"secondary",size:"small",onclick:()=>sr(`Test context — ${e(V).scenario||"Test"}`,rn(e(V).context)),children:(xe,Pe)=>{Ce();var se=De("View context");m(xe,se)},$$slots:{default:!0}});var Ft=g(Ir,2);Ke(Ft,{variant:"secondary",size:"small",onclick:()=>sr(`Test mocks — ${e(V).scenario||"Test"}`,rn(e(V).mocks)),children:(xe,Pe)=>{Ce();var se=De("View mocks");m(xe,se)},$$slots:{default:!0}}),c(Qe);var ne=g(Qe,2);{let xe=w(()=>e(Zt).highlight?[{startLine:e(Zt).highlight.startLine,endLine:e(Zt).highlight.endLine,className:"test-expected-output"}]:void 0);vs(ne,{get value(){return e(V).conversation_ui},get highlights(){return e(xe)},language:"markdown",height:220,readOnly:!0})}c(at);var je=g(at,2),Fe=f(je);{var It=xe=>{const Pe=w(()=>un(e(V).result,e(et).runConfig.repeats));var se=Wo(),Ye=Me(se),ze=f(Ye),ge=f(ze),er=f(ge);c(ge);var zt=g(ge,2);{var tr=$e=>{var z=dn(),_t=f(z);c(z),B(()=>q(_t,`(${e(Pe).expectedSuccesses??""}/${e(Pe).expectedRuns??""} expected)`)),m($e,z)};H(zt,$e=>{var z;(z=e(Pe))!=null&&z.showExpected&&$e(tr)})}c(ze),c(Ye);var Pr=g(Ye,2);hr(Pr,21,()=>e(V).result.runs,$e=>$e.index,($e,z,_t,$r)=>{var fr=ks(),qt=f(fr),In=f(qt,!0);c(qt);var Ur=g(qt,2),Z=f(Ur),ee=f(Z);{var Le=qe=>{Lt(qe,{name:"checkmark",width:20,height:20,class:"shrink-0 self-end"})},ae=qe=>{Lt(qe,{name:"close",width:18,height:18,class:"shrink-0 scale-110 self-start"})};H(ee,qe=>{e(z).success?qe(Le):qe(ae,-1)})}var Pt=g(ee,2),Jr=f(Pt,!0);c(Pt),c(Z);var vr=g(Z,2);{let qe=w(()=>e(V).scenario||"Test"),Br=w(()=>e(te)||e(K)),it=w(()=>!e(z).text.trim());hs(vr,{get scenario(){return e(qe)},get runIndex(){return e(z).index},get links(){return e(z).links},get variants(){return e(V).result.runs},get region(){return e(i)},get actionsDisabled(){return e(Br)},get addTestDisabled(){return e(it)},get analyzeDisabled(){return e(Jt)},onAddTest:()=>Bn(e(V),e(z).text,0),onAnalyze:()=>Nr(e(V).scenario||"Test",e(z).index,e(z).links.renderedPrompt),onRegenerate:()=>Nt(e(V).id)})}c(Ur),c(fr),B(qe=>{he(qt,1,`w-full whitespace-pre-wrap break-words rounded-lg px-3 py-2 text-rc-gray-100 ${e(z).success?"bg-rc-green-700 backdrop-blur-md":""}`,"svelte-rdft55"),Mn(qt,e(z).success?"":"background-color: rgb(156 80 80)"),q(In,e(z).text||e(z).errors||"—"),he(Ur,1,`flex w-full flex-col gap-x-4 whitespace-pre-wrap break-words ${e(z).success?"text-rc-green-200":"text-rc-red-800"}`,"svelte-rdft55"),q(Jr,qe)},[()=>e(z).success?"Pass":Qn(e(z).evaluation)||(e(z).errors||"").split(/\r?\n/)[0]||"Fail"]),m($e,fr)}),c(Pr),B($e=>{he(ge,1,$e,"svelte-rdft55"),q(er,`${e(V).result.successes??""}/${e(V).result.total_runs??""}`)},[()=>Qr(nn(e(V).result))]),m(xe,se)};H(Fe,xe=>{e(V).result&&xe(It)})}c(je),B(xe=>{ln(Xe,e(V).author||""),ln(ke,xe),ln(ot,e(V).assertion_value),he(dr,1,`min-w-20 rounded px-2 text-sm font-semibold transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${e(V).capture_mode==="immediate"?"bg-rc-gray-500 text-rc-gray-100":"text-rc-gray-300"}`,"svelte-rdft55"),vt(dr,"aria-pressed",e(V).capture_mode==="immediate"),he(Sr,1,`min-w-16 rounded px-2 text-sm font-semibold transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${e(V).capture_mode==="final"?"bg-rc-gray-500 text-rc-gray-100":"text-rc-gray-300"}`,"svelte-rdft55"),vt(Sr,"aria-pressed",e(V).capture_mode==="final")},[()=>Qs(e(V).assertion_type)]),m(pe,Be)};H(ur,pe=>{e(Yt)&&pe(Vr)})}c(le),c(ve),c(sn),c(Cr),B(()=>{vt(Cr,"data-id",e(V).id),he(le,1,`left-details-bg flex flex-col rounded border ${e(Zt).valid?"border-rc-gray-700":"border-rc-red-600"}`,"svelte-rdft55"),he(Je,1,`left-details-bg rounded-t px-2 pt-2 ${e(Yt)?"border-b border-rc-gray-700 pb-1":"pb-2"}`,"svelte-rdft55"),ln(dt,e(V).scenario),vt(Ie,"aria-label",e(Yt)?"Collapse test":"Expand test"),vt(Ie,"title",e(Yt)?"Collapse":"Expand")}),Re("click",Ie,()=>Gs(e(V).id)),m(Ot,Cr)}),c(mt),m(st,mt)};H(Gt,st=>{e(Mr).length===0?st(Xt):st(cr,-1)})}c(ie),B(st=>{q(fe,st),q(wr,`${e(Ut).casesPassing??""}/${e(Ut).casesTotal??""} cases passing`),q(kr,`${e(Ut).attemptsPassing??""}/${e(Ut).attemptsTotal??""} attempts
7
+ passing`)},[()=>Hn(e(et).runScope)]),m(re,ie)};H(br,re=>{e(Ar)?re(ir):e(wt)&&!e(et)?re(yr,1):e(et)&&re(Dt,2)})}c(me),c(b),m(u,b)},footer:u=>{Ke(u,{variant:"outlined",size:"small",onclick:()=>o(L,!1),children:(b,p)=>{Ce();var T=De("Close");m(b,T)},$$slots:{default:!0}})},$$slots:{default:!0,footer:!0}});var Yn=g(Zn,2);Lr(Yn,{get title(){return e(Y)},class:"!w-[80vw] !max-w-5xl",get open(){return e(N)},set open(u){o(N,u,!0)},children:u=>{var b=ei(),p=f(b,!0);c(b),B(()=>q(p,e(Ae)||"—")),m(u,b)},footer:u=>{Ke(u,{variant:"outlined",size:"small",onclick:()=>o(N,!1),children:(b,p)=>{Ce();var T=De("Close");m(b,T)},$$slots:{default:!0}})},$$slots:{default:!0,footer:!0}});var ia=g(Yn,2);{var la=l=>{var v=bi(),u=f(v),b=f(u),p=f(b),T=g(f(p),2);cn(T,{type:"number",min:"0",max:"500",class:"w-16",onchange:()=>{o(x,h(+e(x)||0,0,500),!0),rt(qr({repeats:e(x)}))},get value(){return e(x)},set value(X){o(x,X,!0)}}),c(p);var y=g(p,2),U=g(f(y),2);cn(U,{type:"number",min:"1",max:"75",class:"w-16",onchange:()=>{o(k,h(+e(k)||75,1,75),!0),rt(qr({concurrency:e(k)}))},get value(){return e(k)},set value(X){o(k,X,!0)}}),c(y),c(b);var D=g(b,2),Se=f(D);{var me=X=>{var fe=ti(),Oe=f(fe),de=f(Oe);c(Oe);var Ue=g(Oe,2);Ke(Ue,{variant:"secondary",onclick:qs,children:(ut,wr)=>{Ce();var Tt=De("Cancel");m(ut,Tt)},$$slots:{default:!0}}),c(fe),B(()=>q(de,`Running… ${e(mr)??""}/${e(jr)??""}`)),m(X,fe)};H(Se,X=>{e(te)&&X(me)})}var br=g(Se,2);{let X=w(()=>e(te)||e(K)||!e(n));Ke(br,{variant:"secondary",get disabled(){return e(X)},onclick:()=>{o(R,d(e(S)),!0),o(A,!0)},children:(fe,Oe)=>{Ce();var de=De("Edit context");m(fe,de)},$$slots:{default:!0}})}var ir=g(br,2),yr=f(ir);{let X=w(()=>e(K)||e(te)||!e(n));Ke(yr,{variant:"secondary",onclick:Us,get disabled(){return e(X)},class:"inline-flex items-center gap-1",children:(fe,Oe)=>{var de=ri(),Ue=Me(de);Et(Ue,{icon:"mdi:plus-thick",width:18,height:18}),Ce(),m(fe,de)},$$slots:{default:!0}})}var Dt=g(yr,2);{var re=X=>{var fe=ni();m(X,fe)};H(Dt,X=>{e(W)&&e(F).length===0&&X(re)})}c(ir);var ie=g(ir,2);{let X=w(()=>e(te)||e(K)||e(F).length===0||e(Fr)&&e(tn)===0);Ke(ie,{class:"inline-flex min-w-32 items-center justify-center gap-1 disabled:cursor-not-allowed disabled:opacity-50",get disabled(){return e(X)},onclick:()=>Mt(e(Fr)?"pinned":"all"),children:(fe,Oe)=>{Ce();var de=De();B(()=>q(de,`▶ ${e(Fr)?"Run pinned":"Run all"}`)),m(fe,de)},$$slots:{default:!0}})}c(D),c(u);var nt=g(u,2),Wt=f(nt);{let X=w(()=>!e(n));Ke(Wt,{variant:"secondary",class:"ml-11 inline-flex min-w-32 items-center justify-center gap-1",get disabled(){return e(X)},onclick:()=>void Zs().catch(console.error),children:(fe,Oe)=>{var de=si(),Ue=Me(de);Et(Ue,{icon:"mdi:history",width:18,height:18}),Ce(),m(fe,de)},$$slots:{default:!0}})}var lr=g(Wt,2);{var yt=X=>{{let fe=w(()=>e(K)||!e(n));Ke(X,{variant:"secondary",class:"inline-flex min-w-32 items-center justify-center gap-1",get disabled(){return e(fe)},onclick:()=>void sa().catch(console.error),children:(Oe,de)=>{var Ue=ai(),ut=Me(Ue);Lt(ut,{name:"chevron-up",width:16,height:16,class:"block"}),Ce(),m(Oe,Ue)},$$slots:{default:!0}})}};H(lr,X=>{e(Qt)&&X(yt)})}c(nt);var we=g(nt,2),_r=f(we);ba(_r,{class:"relative flex h-full min-w-0 flex-col overflow-hidden !rounded-none p-0",children:(X,fe)=>{var Oe=xi(),de=Me(Oe),Ue=f(de),ut=f(Ue);{var wr=ve=>{var le=oi();m(ve,le)},Tt=ve=>{var le=ii(),Je=f(le);{let _=w(()=>e(Fr)?"mdi:pin":"mdi:pin-outline");Et(Je,{class:"block",get icon(){return e(_)},width:18,height:18})}c(le),B(()=>{he(le,1,`icon-btn justify-self-center ${e(Fr)?"text-rc-green-200":"text-gray-300 hover:text-gray-100"}`,"svelte-rdft55"),le.disabled=e(te)||e(K)||e(F).length===0}),Re("click",le,async()=>{await Hs(!e(Vs))}),m(ve,le)};H(ut,ve=>{e(te)?ve(wr):ve(Tt,-1)})}var kr=g(ut,2),Gt=f(kr),Xt=f(Gt);c(Gt);var cr=g(Gt,2),st=f(cr);c(cr);var mt=g(cr,2),Ot=f(mt);c(mt);var V=g(mt,2);{var Zt=ve=>{var le=An(),Je=f(le);{let Ie=w(()=>e(ct).trend.direction==="higher"?"chevron-up":"chevron-down");Lt(Je,{get name(){return e(Ie)},width:16,height:16,class:"inline-block align-text-bottom"})}var _=g(Je),dt=f(_,!0);c(_),c(le),B((Ie,ft)=>{he(le,1,`whitespace-nowrap font-semibold ${e(ct).trend.direction==="higher"?"text-rc-green-200":"text-rc-red-600"}`,"svelte-rdft55"),vt(le,"title",Ie),q(dt,ft)},[()=>`Previous ${e(ct).trend.previousAttemptsPassing}/${e(ct).trend.previousAttemptsTotal}, current ${e(ct).trend.currentAttemptsPassing}/${e(ct).trend.currentAttemptsTotal}, p=${e(ct).trend.pValue.toPrecision(2)}`,()=>zs(e(ct).trend.direction)]),m(ve,le)};H(V,ve=>{e(ct).trend&&ve(Zt)})}c(kr),c(Ue);var Yt=g(Ue,2);{var Cr=ve=>{var le=ys();m(ve,le)},sn=ve=>{var le=Cs();hr(le,23,()=>e(F),Je=>Je.id,(Je,_,dt)=>{const Ie=w(()=>Tn(e(_).conversation_ui)),ft=w(()=>e(Ct).has(e(_).id));var jt=hi(),Tr=f(jt),ur=f(Tr),Vr=f(ur);{var pe=ne=>{var je=li(),Fe=f(je);{var It=ge=>{Et(ge,{icon:"mdi:check",width:20,height:20,class:"text-rc-green-200"})},xe=w(()=>e(kt).has(e(_).id)),Pe=ge=>{Et(ge,{icon:"mdi:play",width:20,height:20,class:"text-rc-green-200"})},se=w(()=>e(ht).has(e(_).id)),Ye=ge=>{Et(ge,{icon:"mdi:play-outline",width:20,height:20,class:"text-rc-green-200"})},ze=w(()=>e(Te).has(e(_).id));H(Fe,ge=>{e(xe)?ge(It):e(se)?ge(Pe,1):e(ze)&&ge(Ye,2)})}c(je),m(ne,je)},Be=ne=>{var je=ci(),Fe=Me(je),It=f(Fe);{let ze=w(()=>e(_).pinned?"mdi:pin":"mdi:pin-outline");Et(It,{class:"block",get icon(){return e(ze)},width:18,height:18})}c(Fe);var xe=g(Fe,2),Pe=f(xe);Et(Pe,{icon:"mdi:content-copy",width:18,height:18}),c(xe);var se=g(xe,2),Ye=f(se);Et(Ye,{icon:"mdi:trash-can-outline",width:18,height:18}),c(se),B(()=>{he(Fe,1,`icon-btn ${e(_).pinned?"text-rc-green-200":"text-gray-300 hover:text-gray-100"}`,"svelte-rdft55"),vt(Fe,"aria-label",e(_).pinned?"Unpin":"Pin"),vt(Fe,"title",e(_).pinned?"Unpin":"Pin"),Fe.disabled=e(te)||e(K),xe.disabled=e(te)||e(K),se.disabled=e(te)||e(K)}),Re("click",Fe,async()=>{const ze=!e(_).pinned;o(F,e(F).map(ge=>ge.id===e(_).id?{...ge,pinned:ze}:ge),!0),await rt(Kt(e(_).id,{pinned:ze?"TRUE":"FALSE"}))}),Re("click",xe,()=>ea(e(_),e(dt))),Re("click",se,()=>ra(e(_).id)),m(ne,je)};H(Vr,ne=>{e(te)?ne(pe):ne(Be,-1)})}c(ur);var at=g(ur,2),Xe=f(at),Ze=f(Xe),ke=f(Ze),ot=f(ke);gr(ot);var Qe=g(ot,2),St=f(Qe);{let ne=w(()=>e(ft)?"chevron-up":"chevron-down");Lt(St,{get name(){return e(ne)},width:20,height:20,class:"block"})}c(Qe),c(ke);var dr=g(ke,2);{var Sr=ne=>{var je=ws(),Fe=f(je);{var It=Pe=>{const se=w(()=>un(e(_).result,e(ar)));var Ye=ui(),ze=Me(Ye),ge=f(ze);c(ze);var er=g(ze,2);{var zt=$e=>{var z=dn(),_t=f(z);c(z),B(()=>q(_t,`(${e(se).expectedSuccesses??""}/${e(se).expectedRuns??""} expected)`)),m($e,z)};H(er,$e=>{var z;(z=e(se))!=null&&z.showExpected&&$e(zt)})}var tr=g(er,2);{var Pr=$e=>{var z=An(),_t=f(z);{let qt=w(()=>e(se).direction==="higher"?"chevron-up":"chevron-down");Lt(_t,{get name(){return e(qt)},width:16,height:16,class:"inline-block align-text-bottom"})}var $r=g(_t),fr=f($r,!0);c($r),c(z),B(()=>{he(z,1,`ml-2 whitespace-nowrap font-semibold ${e(se).direction==="higher"?"text-rc-green-200":"text-rc-red-600"}`,"svelte-rdft55"),q(fr,e(se).comparisonLabel)}),m($e,z)};H(tr,$e=>{var z;(z=e(se))!=null&&z.comparisonLabel&&$e(Pr)})}B($e=>{he(ze,1,$e,"svelte-rdft55"),q(ge,`${e(_).result.successes??""}/${e(_).result.total_runs??""}`)},[()=>Qr(nn(e(_).result))]),m(Pe,Ye)},xe=Pe=>{var se=_s();m(Pe,se)};H(Fe,Pe=>{e(_).result?Pe(It):Pe(xe,-1)})}c(je),m(ne,je)};H(dr,ne=>{e(ft)||ne(Sr)})}c(Ze);var Ir=g(Ze,2);{var Ft=ne=>{var je=gi(),Fe=Me(je),It=f(Fe);{var xe=Z=>{var ee=di();m(Z,ee)};H(It,Z=>{e(Ie).valid||Z(xe)})}var Pe=g(It,2);gr(Pe);var se=g(Pe,2),Ye=f(se);hr(Ye,21,()=>Or,ga,(Z,ee)=>{var Le=fi(),ae=f(Le,!0);c(Le);var Pt={};B(()=>{q(ae,e(ee).label),Pt!==(Pt=e(ee).value)&&(Le.value=(Le.__value=e(ee).value)??"")}),m(Z,Le)}),c(Ye);var ze=g(Ye,2);gr(ze),c(se);var ge=g(se,2),er=f(ge),zt=f(er),tr=g(zt,2);c(er);var Pr=g(er,2);{let Z=w(()=>e(te)||e(K));Ke(Pr,{variant:"secondary",size:"small",get disabled(){return e(Z)},onclick:()=>aa(e(_)),children:(ee,Le)=>{Ce();var ae=De("Edit context");m(ee,ae)},$$slots:{default:!0}})}c(ge);var $e=g(ge,2);{let Z=w(()=>e(Ie).highlight?[{startLine:e(Ie).highlight.startLine,endLine:e(Ie).highlight.endLine,className:"test-expected-output"}]:void 0);vs($e,{get value(){return e(_).conversation_ui},onChange:ee=>e(_).conversation_ui=ee,onBlur:async ee=>{if(!e(n))return;const Le=Tn(ee);e(_).conversation=Le.conversation,e(_).expected_output=Le.expected,await rt(Kt(e(_).id,{conversation:e(_).conversation,expected_output:e(_).expected_output}))},get highlights(){return e(Z)},language:"markdown",height:220})}c(Fe);var z=g(Fe,2),_t=f(z),$r=f(_t);{let Z=w(()=>e(te)||e(K)||!e(Ie).valid),ee=w(()=>e(Ie).valid?"Run":"Expected must be the last block (“Agent: …”)");Ke($r,{size:"small",get disabled(){return e(Z)},get title(){return e(ee)},onclick:()=>Nt(e(_).id),children:(Le,ae)=>{Ce();var Pt=De("▶ Run");m(Le,Pt)},$$slots:{default:!0}})}var fr=g($r,2);{var qt=Z=>{const ee=w(()=>un(e(_).result,e(ar)));var Le=vi(),ae=f(Le),Pt=f(ae);c(ae);var Jr=g(ae,2);{var vr=it=>{var He=dn(),pr=f(He);c(He),B(()=>q(pr,`(${e(ee).expectedSuccesses??""}/${e(ee).expectedRuns??""} expected)`)),m(it,He)};H(Jr,it=>{var He;(He=e(ee))!=null&&He.showExpected&&it(vr)})}var qe=g(Jr,2);{var Br=it=>{var He=An(),pr=f(He);{let on=w(()=>e(ee).direction==="higher"?"chevron-up":"chevron-down");Lt(pr,{get name(){return e(on)},width:18,height:18,class:"inline-block align-text-bottom"})}var an=g(pr),Pn=f(an,!0);c(an),c(He),B(()=>{he(He,1,`ml-2 whitespace-nowrap font-semibold ${e(ee).direction==="higher"?"text-rc-green-200":"text-rc-red-600"}`,"svelte-rdft55"),q(Pn,e(ee).comparisonLabel)}),m(it,He)};H(qe,it=>{var He;(He=e(ee))!=null&&He.comparisonLabel&&it(Br)})}c(Le),B(it=>{he(ae,1,it,"svelte-rdft55"),q(Pt,`${e(_).result.successes??""}/${e(_).result.total_runs??""}`)},[()=>Qr(nn(e(_).result))]),m(Z,Le)};H(fr,Z=>{e(_).result&&Z(qt)})}c(_t);var In=g(_t,2);{var Ur=Z=>{var ee=pi();hr(ee,21,()=>e(_).result.runs,Le=>Le.index,(Le,ae,Pt,Jr)=>{var vr=ks(),qe=f(vr),Br=f(qe,!0);c(qe);var it=g(qe,2),He=f(it),pr=f(He);{var an=$t=>{Lt($t,{name:"checkmark",width:20,height:20,class:"shrink-0 self-end"})},Pn=$t=>{Lt($t,{name:"close",width:18,height:18,class:"shrink-0 scale-110 self-start"})};H(pr,$t=>{e(ae).success?$t(an):$t(Pn,-1)})}var on=g(pr,2),ca=f(on,!0);c(on),c(He);var ua=g(He,2);{let $t=w(()=>e(_).scenario||"Test"),da=w(()=>e(te)||e(K)),fa=w(()=>!e(ae).text.trim());hs(ua,{get scenario(){return e($t)},get runIndex(){return e(ae).index},get links(){return e(ae).links},get variants(){return e(_).result.runs},get region(){return e(i)},get actionsDisabled(){return e(da)},get addTestDisabled(){return e(fa)},get analyzeDisabled(){return e(Jt)},onAddTest:()=>Bn(e(_),e(ae).text,e(dt)),onAnalyze:()=>Nr(e(_).scenario||"Test",e(ae).index,e(ae).links.renderedPrompt),onRegenerate:()=>Nt(e(_).id)})}c(it),c(vr),B($t=>{he(qe,1,`w-full whitespace-pre-wrap break-words rounded-lg px-3 py-2 text-rc-gray-100 ${e(ae).success?"bg-rc-green-700 backdrop-blur-md":""}`,"svelte-rdft55"),Mn(qe,e(ae).success?"":"background-color: rgb(156 80 80)"),q(Br,e(ae).text||e(ae).errors||"—"),he(it,1,`flex w-full flex-col gap-x-4 whitespace-pre-wrap break-words ${e(ae).success?"text-rc-green-200":"text-rc-red-800"}`,"svelte-rdft55"),q(ca,$t)},[()=>e(ae).success?"Pass":Qn(e(ae).evaluation)||(e(ae).errors||"").split(/\r?\n/)[0]||"Fail"]),m(Le,vr)}),c(ee),m(Z,ee)};H(In,Z=>{e(_).result&&Z(Ur)})}c(z),B(()=>{he(zt,1,`min-w-20 rounded px-2 text-sm font-semibold transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${e(_).capture_mode==="immediate"?"bg-rc-gray-500 text-rc-gray-100":"text-rc-gray-300 hover:bg-rc-gray-800 hover:text-rc-gray-100"}`,"svelte-rdft55"),vt(zt,"aria-pressed",e(_).capture_mode==="immediate"),zt.disabled=e(te)||e(K),he(tr,1,`min-w-16 rounded px-2 text-sm font-semibold transition-colors disabled:cursor-not-allowed disabled:opacity-50 ${e(_).capture_mode==="final"?"bg-rc-gray-500 text-rc-gray-100":"text-rc-gray-300 hover:bg-rc-gray-800 hover:text-rc-gray-100"}`,"svelte-rdft55"),vt(tr,"aria-pressed",e(_).capture_mode==="final"),tr.disabled=e(te)||e(K)}),Re("change",Pe,()=>Kt(e(_).id,{author:e(_).author||""})),$n(Pe,()=>e(_).author,Z=>e(_).author=Z),Re("change",Ye,()=>Kt(e(_).id,{assertion_type:e(_).assertion_type})),ma(Ye,()=>e(_).assertion_type,Z=>e(_).assertion_type=Z),Re("change",ze,()=>Kt(e(_).id,{assertion_value:e(_).assertion_value})),$n(ze,()=>e(_).assertion_value,Z=>e(_).assertion_value=Z),Re("click",zt,()=>Wn(e(_),"immediate")),Re("click",tr,()=>Wn(e(_),"final")),m(ne,je)};H(Ir,ne=>{e(ft)&&ne(Ft)})}c(Xe),c(at),c(Tr),c(jt),B(()=>{vt(jt,"data-id",e(_).id),he(Xe,1,`left-details-bg flex flex-col rounded border ${e(Ie).valid?"border-rc-gray-700":"border-rc-red-600"}`,"svelte-rdft55"),he(Ze,1,`left-details-bg sticky top-0 z-10 rounded-t px-2 pt-2 ${e(ft)?"border-b border-rc-gray-700 pb-1":"pb-2"}`,"svelte-rdft55"),vt(Qe,"aria-label",e(ft)?"Collapse test":"Expand test"),vt(Qe,"title",e(ft)?"Collapse":"Expand"),Qe.disabled=e(K)}),Re("change",ot,()=>Kt(e(_).id,{scenario:e(_).scenario})),$n(ot,()=>e(_).scenario,ne=>e(_).scenario=ne),Re("click",Qe,()=>na(e(_).id)),m(Je,jt)}),c(le),m(ve,le)};H(Yt,ve=>{e(F).length===0?ve(Cr):ve(sn,-1)})}c(de);var Hr=g(de,2);{var Sn=ve=>{const le=w(()=>e(F).find(Je=>Je.id===e(M)));{const Je=dt=>{var Ie=mi(),ft=f(Ie);Is(ft,{get value(){return e(Q)},ariaLabel:"Test context tabs",onChange:({value:pe})=>o(Q,pe,!0),children:(pe,Be)=>{var at=ms(),Xe=Me(at);Zr(Xe,{value:"context",class:"px-3",children:(ke,ot)=>{Ce();var Qe=De("Context");m(ke,Qe)},$$slots:{default:!0}});var Ze=g(Xe,2);Zr(Ze,{value:"mocks",class:"px-3",children:(ke,ot)=>{Ce();var Qe=De("Mocks");m(ke,Qe)},$$slots:{default:!0}}),m(pe,at)},$$slots:{default:!0}});var jt=g(ft,2),Tr=f(jt);{var ur=pe=>{var Be=pn(),at=Me(Be);es(at,()=>`${e(M)}:context`,Xe=>{{let Ze=w(()=>`editorState/context/${e(n)}/tests/${e(M)}`);Ln(Xe,{class:"h-full min-h-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl",get context(){return e(O)},suppressErrors:!0,defaultFormat:"yaml",hideHeader:!0,get editorStateKey(){return e(Ze)},onContextChanged:ke=>o(O,ke,!0)})}}),m(pe,Be)},Vr=pe=>{var Be=pn(),at=Me(Be);es(at,()=>`${e(M)}:mocks`,Xe=>{{let Ze=w(()=>`editorState/mocks/${e(n)}/tests/${e(M)}`);Ln(Xe,{class:"h-full min-h-0 border-thin border-rc-gray-650 shadow-inner-white-soft backdrop-blur-3xl",get context(){return e(j)},suppressErrors:!0,defaultFormat:"yaml",hideHeader:!0,get editorStateKey(){return e(Ze)},onContextChanged:ke=>{o(j,ke,!0),o(P,!0)}})}}),m(pe,Be)};H(Tr,pe=>{e(Q)==="context"?pe(ur):pe(Vr,-1)})}c(jt),c(Ie),m(dt,Ie)};let _=w(()=>{var dt;return`Test context — ${((dt=e(le))==null?void 0:dt.scenario)||"Test"}`});ya(ve,{get title(){return e(_)},onClose:()=>void oa(),children:Je})}};H(Hr,ve=>{e(M)&&ve(Sn)})}B(()=>{q(Xt,`Pinned: ${e(tn)??""}/${e(F).length??""}`),q(st,`${e(ct).casesPassing??""}/${e(ct).casesTotal??""} cases passing`),q(Ot,`${e(ct).attemptsPassing??""}/${e(ct).attemptsTotal??""} attempts passing`)}),m(X,Oe)}}),c(we),c(v),m(l,v)};H(ia,l=>{e(W)&&l(la)})}m(t,Gn),xn()}Ts(["click","change"]);export{Ui as component};
@@ -1 +1 @@
1
- import{d as t,b as r,a as s,f as c}from"../chunks/C4SnSfql.js";import"../chunks/7qRqthsa.js";import{e as l,$ as i}from"../chunks/Dv8m1cTI.js";import{h as d}from"../chunks/HXxIsSOO.js";var f=c('<div class="flex h-full w-full flex-col bg-rc-gray-980"><div class="flex-none border-b border-rc-gray-300/40 p-4"><h2 class="text-lg font-semibold text-rc-gray-100">Traces</h2></div> <div class="min-h-0 flex-1 overflow-auto p-4"><div class="py-8 text-center text-rc-gray-300">Select a conversation to view traces</div></div></div>');function g(o){var e=f();d("1yb39s2",a=>{l(()=>{i.title="Bosun: Telescope"})}),r("click",e,a=>a.stopPropagation()),s(o,e)}t(["click"]);export{g as component};
1
+ import{d as t,b as r,a as s,f as c}from"../chunks/Ca197UDq.js";import"../chunks/BNifnXkO.js";import{e as l,$ as i}from"../chunks/CxLomzuE.js";import{h as d}from"../chunks/iAhzu4tv.js";var f=c('<div class="flex h-full w-full flex-col bg-rc-gray-980"><div class="flex-none border-b border-rc-gray-300/40 p-4"><h2 class="text-lg font-semibold text-rc-gray-100">Traces</h2></div> <div class="min-h-0 flex-1 overflow-auto p-4"><div class="py-8 text-center text-rc-gray-300">Select a conversation to view traces</div></div></div>');function g(o){var e=f();d("1yb39s2",a=>{l(()=>{i.title="Bosun: Telescope"})}),r("click",e,a=>a.stopPropagation()),s(o,e)}t(["click"]);export{g as component};
@@ -0,0 +1,3 @@
1
+ import{d as ds,b as Re,e as pe,a as x,f as S,t as Ie,c as us}from"../chunks/Ca197UDq.js";import{a as fs}from"../chunks/C39ai1md.js";import{p as ps,w,x as z,d as te,f as vt,t as L,a as vs,j as r,n as T,c as y,y as i,s as m,r as h,o as Ce,T as ms}from"../chunks/CxLomzuE.js";import{s as I}from"../chunks/DJriQKD9.js";import{i as D}from"../chunks/Buo-57fF.js";import{e as re,i as hs}from"../chunks/BJTwdUYr.js";import{c as mt,s as et}from"../chunks/CAjPRvNs.js";import{s as N}from"../chunks/D-B5X35l.js";import{b as Be}from"../chunks/BLu86SbA.js";import{p as $n}from"../chunks/Dyryn8e8.js";import{B as Ne}from"../chunks/CVlsAO8k.js";import{P as Rn}from"../chunks/CX0Ekq8t.js";import{g as _r,T as bs}from"../chunks/JcG4w2gF.js";import{b as In,f as Cn,R as xs}from"../chunks/T0seCQS_.js";import{g as ys,c as Nt}from"../chunks/CaHl3dME.js";const On="bosun.traces.latencyTimelineViewports.v2",Dt=new Map;let Bn=!1;function Wn(B){if(!B||typeof B!="object")return!1;const E=B;return typeof E.startMs=="number"&&Number.isFinite(E.startMs)&&typeof E.endMs=="number"&&Number.isFinite(E.endMs)&&E.endMs>E.startMs&&typeof E.originMs=="number"&&Number.isFinite(E.originMs)}function gs(B,E){if(!Number.isFinite(E))return{...B};const ne=E-B.originMs;return{startMs:B.startMs+ne,endMs:B.endMs+ne,originMs:E}}function Hn(){if(!Bn&&(Bn=!0,!(typeof window>"u")))try{const B=window.sessionStorage.getItem(On);if(!B)return;const E=JSON.parse(B);if(!E||typeof E!="object"||Array.isArray(E))return;for(const[ne,Y]of Object.entries(E))!ne||!Wn(Y)||Dt.set(ne,Y)}catch{}}function ws(){if(!(typeof window>"u"))try{window.sessionStorage.setItem(On,JSON.stringify(Object.fromEntries(Dt.entries())))}catch{}}function _s(B){if(!B)return null;Hn();const E=Dt.get(B);return E?{...E}:null}function Nn(B,E){!B||!Wn(E)||(Hn(),Dt.set(B,{...E}),ws())}var Ts=S('<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200"> </span>',1),Ms=S('<div><span class="text-rc-gray-400">Playhead:</span> <span class="font-mono text-rc-gray-100"> </span></div>'),Ls=S('<div><span class="text-rc-gray-400">Viewport:</span> <span class="font-mono text-rc-gray-100"> </span></div>'),Ss=S('<div class="mt-2 text-sm text-rc-gray-400"> </div>'),Ft=S('<div class="mt-2 text-sm text-red-300"> </div>'),Ps=S('<div class="text-sm text-rc-gray-300">Loading latency events…</div>'),Es=S('<div class="text-sm text-rc-gray-300">No latency events were found on this call.</div>'),ks=S('<div class="text-sm text-rc-gray-300">Preparing timeline…</div>'),As=S('<div class="flex items-center text-xs text-rc-gray-300"> </div>'),$s=S('<div class="flex items-center text-xs text-rc-gray-300">Waveform</div>'),Rs=S('<div class="absolute -translate-x-1/2 border-l border-rc-gray-300/40"></div>'),Is=S('<div class="absolute -translate-x-1/2 border-l border-dashed"></div>'),Cs=S('<div class="absolute border-l border-rc-gray-200/80"></div>'),Bs=S('<div class="absolute -translate-x-1/2 border-l-2 border-rc-green-200/90"></div> <div class="absolute h-2 w-2 -translate-x-1/2 rounded-full bg-rc-green-200"></div>',1),Ns=S('<div class="absolute inset-y-0 w-px bg-rc-gray-700/70"></div> <div> </div>',1),Fn=S('<div class="absolute inset-y-0 w-px bg-rc-gray-700/60"></div>'),Fs=S('<span class="block truncate"> </span>'),Ds=S("<div><!></div>"),Os=S('<div class="relative z-0 overflow-hidden border-x border-t border-rc-gray-700/60"><!> <!></div>'),Ws=S('<div class="absolute inset-y-0 w-px bg-rc-gray-700/45"></div>'),Dn=S("<div> </div>"),Hs=S('<div class="absolute inset-0 flex items-center justify-center px-4 text-sm text-rc-gray-300">Decoding waveform…</div>'),Vs=S('<div class="absolute inset-0 flex items-center justify-center px-4 text-sm text-red-300"> </div>'),Us=S('<canvas class="absolute inset-0 h-full w-full"></canvas>'),qs=S('<div class="relative z-0 overflow-hidden rounded-b border-x border-b border-t border-rc-gray-700/60"><!> <!></div>'),Ks=S('<div class="grid grid-cols-[140px_minmax(0,1fr)] gap-x-3"><div class="flex flex-col"><div class="h-8"></div> <!> <div class="flex items-center text-xs text-rc-gray-300">Human</div> <!></div> <div class="relative"><div class="pointer-events-none absolute inset-0 z-10 overflow-hidden"><!> <!> <!> <!></div> <div class="relative z-0 h-8 overflow-hidden rounded-t border border-b-0 border-rc-gray-700/60"></div> <!> <div><div class="absolute inset-x-0 top-0 border-b border-rc-gray-700/50"></div> <!> <!></div> <!></div></div>'),js=S('<div class="pointer-events-none z-popover max-w-[28rem] rounded-md border border-rc-gray-500/80 bg-rc-gray-900/95 px-3 py-2 text-xs text-rc-gray-100 shadow-2xl backdrop-blur-sm"></div>'),Xs=S('<div><div class="whitespace-pre-wrap break-words"> </div></div>'),zs=S('<div class="flex h-full min-h-0 flex-col bg-rc-gray-700"><div class="flex-none border-b border-rc-gray-300/40 p-4"><div class="flex flex-wrap items-start justify-between gap-3"><div><h2 class="text-lg font-semibold text-rc-gray-100">Latency <!></h2> <div class="mt-2 flex flex-wrap gap-x-5 gap-y-1 text-xs text-rc-gray-300"><div><span class="text-rc-gray-400">Latency events:</span> <span class="font-mono text-rc-gray-100"> </span></div> <div><span class="text-rc-gray-400">Timeline items:</span> <span class="font-mono text-rc-gray-100"> </span></div> <div><span class="text-rc-gray-400">Recording offset:</span> <span class="font-mono text-rc-gray-100"> </span></div> <!> <!></div></div> <div class="flex flex-wrap items-center gap-2"><input type="file" accept=".wav,audio/wav,audio/x-wav" class="hidden"/> <!> <!> <!> <!> <!> <!> <!></div></div> <!> <!> <!> <!> <!></div> <div class="rc-scroll min-h-0 flex-1 overflow-auto p-4"><div class="flex flex-col gap-4"><div class="rounded-md border border-rc-gray-650 p-3"><!></div></div></div></div> <!> <!>',1);function ui(B,E){ps(E,!0);const ne=30,Y=32,Me=ne,ae=5,Ot=160,Tr=ne+ae,Mr=3,Vn=8,Fe=60,Un=132,qn=200,Kn=24,Lr=500,Sr=2500,ht=3e4,jn=50,Xn=.00145,Pr=137,Er=250,zn=new Set(["VAD","Playback"]),tt=new bs(fetch),C={blue:"#569cd6",green:"#93FF6D",greenDark:"#00B58A",orange:"#ce9178",purple:"#81147D",red:"#FF6666",gray:"#767676"},kr=[{label:"VAD",eventTypes:["vad.activated","vad.deactivated"]},{label:"STT",eventTypes:["stt.started","stt.interim","stt.final","stt.final_transcript"]},{label:"Trigger",eventTypes:["speech.created"]},{label:"Reply Pending",eventTypes:["reply.pending.started","reply.pending.completed"]},{label:"LLM Transport",eventTypes:["llm.connect_tcp.started","llm.connect_tcp.completed","llm.connect_tcp.failed","llm.start_tls.started","llm.start_tls.completed","llm.start_tls.failed"]},{label:"LLM Wait",eventTypes:["llm.wait.started","llm.requested","llm.wait.completed"]},{label:"LLM Stream",eventTypes:["llm.stream.started","llm.first_token","llm.completed","llm.stream.completed"]},{label:"TTS Text",eventTypes:["tts.text.first_sent","tts.text.completed"]},{label:"Provider",eventTypes:["tts.provider.started","tts.audio.first_received","tts.audio.last_received","tts.provider.completed"]},{label:"Decode",eventTypes:["tts.decode.started","tts.decode.completed"]},{label:"Output Queue",eventTypes:["audio.output.wait.started","audio.output.wait.completed"]},{label:"Playback",eventTypes:["audio.playback.started","audio.playback.stopped","audio.playback.ended"]},{label:"Response Latency"},{label:"Interruptions",eventTypes:["interruption.detected","audio.playback.interrupted"]},{label:"Other"}],Yn=new Set(kr.map(e=>e.label)),Ar={call:Z(C.gray,.2),vad:Z(C.purple,.35),stt:Z(C.purple,.2),trigger:C.greenDark,"response.latency.ok":C.green,"response.latency.high":C.red,"reply.pending":Z(C.greenDark,.18),"llm.transport":Z(C.blue,.18),"llm.wait":Z(C.blue,-.25),"llm.stream":C.blue,"tts.text":C.orange,"tts.provider.lifecycle":Z(C.purple,-.18),"tts.provider":Z(C.purple,.12),"tts.decode":Z(C.orange,-.12),"audio.output.wait":C.orange,playback:Z(C.greenDark,-.08),interruption:C.orange,other:C.gray},Gn=[{startEventType:"reply.pending.started",endEventType:"reply.pending.completed",row:"Reply Pending",colorKey:"reply.pending",label:"Reply pending",description:"Derived from adjacent reply-pending lifecycle events"},{startEventType:"llm.connect_tcp.started",endEventType:"llm.connect_tcp.completed",row:"LLM Transport",colorKey:"llm.transport",label:"Connect TCP",description:"Derived from adjacent TCP connect lifecycle events"},{startEventType:"llm.start_tls.started",endEventType:"llm.start_tls.completed",row:"LLM Transport",colorKey:"llm.transport",label:"Start TLS",description:"Derived from adjacent TLS lifecycle events"},{startEventType:"llm.wait.started",endEventType:"llm.wait.completed",row:"LLM Wait",colorKey:"llm.wait",label:"LLM wait",description:"Derived from adjacent LLM wait lifecycle events"},{startEventType:"llm.stream.started",endEventType:"llm.stream.completed",row:"LLM Stream",colorKey:"llm.stream",label:"LLM stream",description:"Derived from adjacent LLM stream lifecycle events"},{startEventType:"tts.text.first_sent",endEventType:"tts.text.completed",row:"TTS Text",colorKey:"tts.text",label:"TTS text send",description:"Derived from adjacent TTS text send and completion events"},{startEventType:"tts.provider.started",endEventType:"tts.audio.first_received",row:"Provider",colorKey:"tts.provider.lifecycle",label:"Provider wait",description:"Derived from adjacent provider start and first-audio events"},{startEventType:"tts.audio.first_received",endEventType:"tts.provider.completed",row:"Provider",colorKey:"tts.provider",label:"Provider audio",description:"Derived from adjacent provider first-audio and completion events"},{startEventType:"tts.decode.started",endEventType:"tts.decode.completed",row:"Decode",colorKey:"tts.decode",label:"Decode",description:"Derived from adjacent local decode lifecycle events"},{startEventType:"audio.output.wait.started",endEventType:"audio.output.wait.completed",row:"Output Queue",colorKey:"audio.output.wait",label:"Output queue",description:"Derived from adjacent audio-output wait lifecycle events"},{startEventType:"audio.playback.started",endEventType:"audio.playback.stopped",row:"Playback",colorKey:"playback",label:"Playback",description:"Derived from adjacent playback start and playback stop events"}],Zn=new Map(Gn.map(e=>[e.startEventType,e]));function $r(){return{exists:!1,audioUrl:null,fileName:null,mimeType:null,size:null,uploadedAt:null,alignmentOffsetMs:0}}const De=ys(),Wt=_r()??"",Jn=$n.params.conversationId??"",Qn=Nt(Jn,Wt),b=De.latency.get(Qn);tt.setSourceId(Wt||void 0);let Ht=w(z(Wt)),Le=w(z((b==null?void 0:b.conversation)??null)),q=w(z((b==null?void 0:b.traces)??[])),oe=w(z((b==null?void 0:b.conversationTraces)??[])),Se=w(z((b==null?void 0:b.dataLoaded)??!1)),Oe=w(!1),We=w(z((b==null?void 0:b.error)??null)),A=w(z((b==null?void 0:b.recording)??$r())),He=w(z((b==null?void 0:b.recordingLoaded)??!1)),bt=w(!1),ve=w(z((b==null?void 0:b.recordingError)??null)),xt=w(!1),K=w(z((b==null?void 0:b.waveform)??null)),Ve=w(!1),Pe=w(z((b==null?void 0:b.waveformError)??null)),G=w(z((b==null?void 0:b.playbackPositionMs)??0)),ce=w(!1),de=w(null),Vt=w(!1),me=w(null),se=w(z((b==null?void 0:b.viewDirty)??!1)),p=w(null),_=w(null),ie=w(null),Ut=w(null),he=w(0),qt=w(null),Kt=w(null),Ue=w(0),jt=w(0),Xt=w(null),qe=w(null),rt=w(null),zt=w(null),nt=w(null),at=w(null),Yt=w(null),ot=w(z((b==null?void 0:b.humanSpeechBubbleReservedLevels)??1)),Ke=w("idle"),be=w(""),Gt=w(null),yt=0,st=0,gt=0,xe=null,je=0,ue=(b==null?void 0:b.playbackAudioBuffer)??null,le=null,it=null,lt=null,ct=null,dt=null;const Xe=T(()=>$n.params.conversationId);function Rr(e,t){const n=new URLSearchParams;t&&n.set("source",t);const a=n.toString();return`/traces/api/latency/${encodeURIComponent(e)}${a?`?${a}`:""}`}const ut=T(()=>r(Xe)?Rr(r(Xe),r(Ht)):""),W=T(()=>{var t;let e=Number.POSITIVE_INFINITY;for(const n of r(q))typeof n.atMs!="number"||!Number.isFinite(n.atMs)||(e=Math.min(e,n.atMs));return Number.isFinite(e)?e:typeof((t=r(Le))==null?void 0:t.createdAt)=="number"&&Number.isFinite(r(Le).createdAt)?r(Le).createdAt:Number.isFinite(e)?e:0}),Ee=T(()=>Ja(r(q))),ea=T(()=>r(q).length),Ir=T(()=>Aa()),Cr=T(()=>Ia(r(Ee),r(Ir))),ta=T(()=>[...r(Ee).map(t=>{const n=r(Cr).bySegmentId.get(t.id);return!n||t.row!=="Playback"||t.durationMs<=0?t:{...t,speechText:n.text,speechFullText:n.fullText,speechTraceLabel:n.traceLabel}}),...Ca(r(Ir),r(Cr).responseIds)]),ke=T(()=>{const e=new Map;for(const t of r(ta)){const n=e.get(t.row);n?n.push(t):e.set(t.row,[t])}return[...kr].reverse().map(t=>({label:t.label,segments:e.get(t.label)??[]})).filter(t=>t.segments.length>0)}),Zt=T(()=>qa()),ra=T(()=>Math.max(r(ot),Yr(r(Zt),"human"))),Br=T(()=>Va(r(Zt))),Jt=T(()=>Ha(r(ra))),Nr=T(()=>r(Jt)),Fr=T(()=>r(ke).length*Me+Math.max(0,r(ke).length-1)*ae),wt=T(()=>r(ke).length>0?ae:0),na=T(()=>Y+r(Fr)+r(wt)),ft=T(()=>r(A).exists),aa=T(()=>r(ft)?ae+Ot:0),oa=T(()=>co(r(ke))),ye=T(()=>r(K)?r(W)+r(A).alignmentOffsetMs:null),Qt=T(()=>Y+r(Fr)+r(wt)+r(Nr)+r(aa)),er=T(()=>r(ye)==null?null:r(ye)+r(G)),ze=T(()=>{const e=r(er);if(e==null||r(p)==null||r(_)==null)return null;const t=r(_)-r(p);return!Number.isFinite(t)||t<=0||e<r(p)||e>r(_)?null:{leftPercent:H((e-r(p))/t*100,0,100),topPx:Y,heightPx:Math.max(1,r(Qt)-Y)}}),Dr=T(()=>{if(r(p)==null||r(_)==null)return null;const e=r(_)-r(p);return!Number.isFinite(e)||e<=0||r(W)<r(p)||r(W)>r(_)?null:{leftPercent:(r(W)-r(p))/e*100,topPx:Y,heightPx:Math.max(1,r(Qt)-Y)}}),Ye=T(()=>{let e=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY;for(const n of r(Ee))e=Math.min(e,n.start),t=Math.max(t,n.end);return r(K)&&r(ye)!=null&&(e=Math.min(e,r(ye)),t=Math.max(t,r(ye)+r(K).durationMs)),!Number.isFinite(e)||!Number.isFinite(t)?null:(t<=e&&(t=e+1),{min:e,max:t})}),_t=T(()=>{let e=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY;for(const n of r(Ee))Yn.has(n.row)&&(e=Math.min(e,n.start),t=Math.max(t,n.end));return!Number.isFinite(e)||!Number.isFinite(t)?null:(t<=e&&(t=e+1),{min:e,max:t})}),Or=T(()=>{if(r(p)==null||r(_)==null)return null;const e=r(_)-r(p);return e>0?e:null}),Tt=T(()=>r(p)==null||r(_)==null?[]:fo(r(p),r(_),r(W))),sa=T(()=>r(qe)?no(r(qe)).split(`
2
+ `):[]);te(()=>{const e=r(zt),t=r(rt),n=r(qe);r(p),r(_),!(!e||!t||!n)&&e.update()}),te(()=>{const e=r(Yt),t=r(at),n=r(nt);r(p),r(_),!(!e||!t||!n)&&e.update()}),te(()=>{const e=Yr(r(Zt),"human");e>r(ot)&&i(ot,e,!0)});function Ge(e=r(be)){var s,l;if(!e)return;const t=De.latency.get(e),n={conversation:r(Le),traces:r(q),conversationTraces:r(oe),dataLoaded:r(Se),error:r(We),recording:r(A),recordingLoaded:r(He),recordingError:r(ve),waveform:r(K),waveformError:r(Pe),playbackAudioBuffer:ue,playbackPositionMs:r(G),viewportStartMs:r(p),viewportEndMs:r(_),viewportOriginMs:r(W),viewDirty:r(se),humanSpeechBubbleReservedLevels:r(ot),scrollTop:(t==null?void 0:t.scrollTop)??((s=r(ie))==null?void 0:s.scrollTop)??0,scrollLeft:(t==null?void 0:t.scrollLeft)??((l=r(ie))==null?void 0:l.scrollLeft)??0};De.latency.set(e,n);const a=r(Xe),o=_r()??"";a&&o&&e===Nt(a,"")&&De.latency.set(Nt(a,o),n)}async function ia(e){e&&(await ms(),r(ie)&&(r(ie).scrollTop=e.scrollTop,r(ie).scrollLeft=e.scrollLeft))}function la(){if(!r(be)||!r(ie))return;const e=De.latency.get(r(be));if(!e){Ge();return}e.scrollTop=r(ie).scrollTop,e.scrollLeft=r(ie).scrollLeft}fs(()=>{Wr(),Ge(),xe==null||xe(),ar(),Je(!1),ho()}),te(()=>{const e=r(Xe),t=_r()??"";if(t!==r(Ht)&&i(Ht,t,!0),!e)return;const n=Nt(e,t);if(n===r(be))return;Wr(),Ge(),i(be,n,!0);const a=De.latency.get(n),s=((a==null?void 0:a.viewportStartMs)!=null&&a.viewportEndMs!=null&&typeof a.viewportOriginMs=="number"&&Number.isFinite(a.viewportOriginMs)?{startMs:a.viewportStartMs,endMs:a.viewportEndMs,originMs:a.viewportOriginMs}:null)??_s(n);i(Gt,s,!0),i(se,s?(a==null?void 0:a.viewDirty)??!0:!1,!0),i(We,(a==null?void 0:a.error)??null,!0),i(ve,(a==null?void 0:a.recordingError)??null,!0),i(me,null),i(Pe,(a==null?void 0:a.waveformError)??null,!0),Je(!1),ue=a!=null&&a.recordingLoaded?a.playbackAudioBuffer:null,i(G,(a==null?void 0:a.playbackPositionMs)??0,!0),i(de,null),i(K,a!=null&&a.recordingLoaded?a.waveform:null,!0),i(Le,a!=null&&a.dataLoaded?a.conversation:null,!0),i(q,a!=null&&a.dataLoaded?a.traces:[],!0),i(oe,a!=null&&a.dataLoaded?a.conversationTraces:[],!0),i(Se,(a==null?void 0:a.dataLoaded)??!1,!0),i(A,a!=null&&a.recordingLoaded?a.recording:$r(),!0),i(He,(a==null?void 0:a.recordingLoaded)??!1,!0),i(p,null),i(_,null),i(ot,(a==null?void 0:a.humanSpeechBubbleReservedLevels)??1,!0),tt.setSourceId(t||void 0),r(Se)?i(Oe,!1):So(e),r(He)?i(bt,!1):Po(Rr(e,t)),ia(a)}),te(()=>{const e=r(Gt),t=r(Se),n=r(_t)??r(Ye),a=r(W);if(!e||!t||!n)return;i(Gt,null),i(se,!0);const o=gs(e,a);dr(o.startMs,o.endMs)}),te(()=>{!r(Se)||!(r(_t)??r(Ye))||r(se)||cr(!1)}),te(()=>{const e=r(be),t=r(p),n=r(_);!e||t==null||n==null||Nn(e,{startMs:t,endMs:n,originMs:r(W)})}),te(()=>{const e=r(Ut);if(!e||typeof ResizeObserver>"u")return;i(he,e.clientWidth,!0);const t=new ResizeObserver(n=>{const a=n[0];a&&i(he,a.contentRect.width,!0)});return t.observe(e),()=>t.disconnect()}),te(()=>{const e=r(qt);if(!e||typeof ResizeObserver>"u")return;i(Ue,e.clientWidth,!0),i(jt,e.clientHeight,!0);const t=new ResizeObserver(n=>{const a=n[0];a&&(i(Ue,a.contentRect.width,!0),i(jt,a.contentRect.height,!0))});return t.observe(e),()=>t.disconnect()}),te(()=>{if(!r(A).exists||typeof window>"u")return;const t=n=>{n.code==="Space"&&(n.metaKey||n.ctrlKey||n.altKey||n.shiftKey||wo(n.target)||(n.preventDefault(),rn()))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)}),te(()=>{const e=r(Kt),t=r(K),n=r(ye),a=r(p),o=r(_),s=r(Ue),l=r(jt);!e||!t||n==null||a==null||o==null||mo(e,{peaks:t,recordingStartMs:n,viewportStartMs:a,viewportEndMs:o,width:s,height:l})});function J(e){if(typeof e!="string")return null;const t=e.trim();return t||null}function tr(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function rr(e){return Math.max(0,Math.min(255,Math.round(e)))}function H(e,t,n){return Math.min(n,Math.max(t,e))}function Z(e,t){const n=(e??"").trim().replace(/^#/,""),a=n.length===3?n.split("").map(c=>`${c}${c}`).join(""):n;if(a.length!==6||!/^[0-9a-fA-F]+$/.test(a))return e;const o=parseInt(a.slice(0,2),16),s=parseInt(a.slice(2,4),16),l=parseInt(a.slice(4,6),16),d=Math.abs(Math.max(-1,Math.min(1,t))),u=t>=0?255:0;return`#${rr(o+(u-o)*d).toString(16).padStart(2,"0")}${rr(s+(u-s)*d).toString(16).padStart(2,"0")}${rr(l+(u-l)*d).toString(16).padStart(2,"0")}`}function ca(e){const t=tr(e);return t==null?"—":`${Math.round(t)} ms`}function da(e){if(e==null||!Number.isFinite(e))return"0 ms";const t=Math.round(e);return t===0?"0 ms":`${t>0?"+":""}${t} ms`}function Ze(e){if(!Number.isFinite(e))return"—";const t=e<0?"-":"",n=Math.abs(e);if(n<1e4)return`${t}${(n/1e3).toFixed(1)}s`;if(n<6e4)return`${t}${(n/1e3).toFixed(2)}s`;const a=n/1e3,o=Math.floor(a/60),s=a-o*60;return`${t}${o}:${s.toFixed(1).padStart(4,"0")}`}function ua(e){try{return JSON.stringify(e??null,null,2)}catch{return String(e)}}async function fa(){try{await navigator.clipboard.writeText(ua(r(q))),i(Ke,"ok"),window.setTimeout(()=>{i(Ke,"idle")},2e3)}catch(e){console.error("Failed to copy latency stream",e),i(Ke,"error"),window.setTimeout(()=>{i(Ke,"idle")},3e3)}}function Wr(){!r(be)||r(p)==null||r(_)==null||Nn(r(be),{startMs:r(p),endMs:r(_),originMs:r(W)})}function Q(e){const t=typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)?new Date(e.createdAt).toLocaleTimeString():"unknown time";return e.traceType==="LATENCY"?`Latency • #${e.seq??"?"} • ${e.eventType??"unknown"} • ${t}`:e.traceType==="CONVERSATIONAL"?`Conversational • ${e.eventName} • ${t}`:e.traceType==="STEP"?`Step • ${e.name??"unknown"} • ${t}`:`API • ${e.operationName} • ${t}`}function nr(e){const t=e.payload;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function pa(e){return e==="call.started"||e==="call.ended"?"Call":e.startsWith("vad.")?"VAD":e.startsWith("stt.")?"STT":e==="speech.created"?"Trigger":e.startsWith("reply.pending.")?"Reply Pending":e.startsWith("llm.connect_tcp.")||e.startsWith("llm.start_tls.")?"LLM Transport":e==="llm.requested"||e.startsWith("llm.wait.")?"LLM Wait":e==="llm.first_token"||e==="llm.completed"||e.startsWith("llm.stream.")?"LLM Stream":e.startsWith("tts.text.")?"TTS Text":e.startsWith("tts.provider.")||e==="tts.audio.first_received"||e==="tts.audio.last_received"?"Provider":e.startsWith("tts.decode.")?"Decode":e.startsWith("audio.output.wait.")?"Output Queue":e==="interruption.detected"||e==="audio.playback.interrupted"?"Interruptions":e.startsWith("audio.playback.")?"Playback":"Other"}function va(e){return e==="call.started"||e==="call.ended"?"call":e.startsWith("vad.")?"vad":e.startsWith("stt.")?"stt":e==="speech.created"?"trigger":e.startsWith("reply.pending.")?"reply.pending":e.startsWith("llm.connect_tcp.")||e.startsWith("llm.start_tls.")?"llm.transport":e==="llm.requested"||e.startsWith("llm.wait.")?"llm.wait":e==="llm.first_token"||e==="llm.completed"||e.startsWith("llm.stream.")?"llm.stream":e.startsWith("tts.text.")?"tts.text":e.startsWith("tts.provider.")?"tts.provider.lifecycle":e==="tts.audio.first_received"||e==="tts.audio.last_received"?"tts.provider":e.startsWith("tts.decode.")?"tts.decode":e.startsWith("audio.output.wait.")?"audio.output.wait":e==="interruption.detected"||e==="audio.playback.interrupted"?"interruption":e.startsWith("audio.playback.")?"playback":"other"}function ma(e){switch(e){case"vad.activated":case"stt.started":return"start";case"vad.deactivated":case"stt.final":case"stt.final_transcript":return"end";default:return null}}function ha(e){switch(e.eventType){case"call.started":return"Call started";case"call.ended":return"Call ended";case"vad.activated":return"VAD activated";case"vad.deactivated":return"VAD deactivated";case"stt.started":return"STT start";case"stt.interim":return"STT interim";case"stt.final":case"stt.final_transcript":return"STT final";case"speech.created":return"Speech created";case"reply.pending.started":return"Reply pending start";case"reply.pending.completed":return"Reply pending end";case"llm.connect_tcp.started":return"Connect TCP start";case"llm.connect_tcp.completed":return"Connect TCP end";case"llm.connect_tcp.failed":return"Connect TCP failed";case"llm.start_tls.started":return"TLS start";case"llm.start_tls.completed":return"TLS end";case"llm.start_tls.failed":return"TLS failed";case"llm.wait.started":return"LLM wait start";case"llm.wait.completed":return"LLM wait end";case"llm.stream.started":return"LLM stream start";case"llm.stream.completed":return"LLM stream end";case"llm.requested":return"LLM request";case"llm.first_token":return"LLM first token";case"llm.completed":return"LLM end";case"tts.text.first_sent":return"TTS first text";case"tts.text.completed":return"TTS text end";case"tts.provider.started":return"Provider start";case"tts.provider.completed":return"Provider end";case"tts.audio.first_received":return"Provider audio received";case"tts.audio.last_received":return"Provider audio end";case"tts.decode.started":return"Decode start";case"tts.decode.completed":return"Decode end";case"audio.output.wait.started":return"Output queue start";case"audio.output.wait.completed":return"Output queue end";case"interruption.detected":return"Interruption detected";case"audio.playback.started":return"Playback start";case"audio.playback.stopped":return"Playback stop";case"audio.playback.ended":return"Playback end";case"audio.playback.interrupted":return"Playback interrupted";default:return e.eventType}}function ba(e){const t=nr(e);switch(e.eventType){case"call.started":return"Call-scoped latency stream started";case"call.ended":return"Call-scoped latency stream ended";case"vad.activated":return"Raw VAD activation event";case"vad.deactivated":return"Raw VAD deactivation event";case"stt.started":return"Speech-to-text detected speech start";case"stt.interim":return J(t.originalType)==="preflight_transcript"?"Speech-to-text preflight transcript":"Speech-to-text interim transcript";case"stt.final":case"stt.final_transcript":return"Speech-to-text final transcript";case"speech.created":return"LiveKit created a speech handle";case"reply.pending.started":return"Reply generation was committed, but downstream generation has not started yet";case"reply.pending.completed":return"Reply generation moved from pending into the LLM request phase";case"llm.connect_tcp.started":return"httpcore started opening a new TCP connection for the LLM request";case"llm.connect_tcp.completed":return"httpcore finished opening a new TCP connection for the LLM request";case"llm.connect_tcp.failed":return"httpcore failed while opening a new TCP connection for the LLM request";case"llm.start_tls.started":return"httpcore started TLS negotiation for the LLM request";case"llm.start_tls.completed":return"httpcore finished TLS negotiation for the LLM request";case"llm.start_tls.failed":return"httpcore failed during TLS negotiation for the LLM request";case"llm.wait.started":return"LLM request is in flight and waiting for the first token";case"llm.wait.completed":return"The LLM wait phase ended when the first token arrived";case"llm.stream.started":return"LLM streaming phase started";case"llm.stream.completed":return"LLM streaming phase ended";case"llm.requested":return"AnyVan received an LLM request";case"llm.first_token":return"First LLM token received";case"llm.completed":return"LLM streaming completed";case"tts.text.first_sent":return"First text chunk sent to the TTS provider";case"tts.text.completed":return"Last non-empty text chunk observed for this TTS stream";case"tts.provider.started":return"Provider lifecycle started when the first non-empty TTS text chunk was sent";case"tts.provider.completed":return"Provider lifecycle ended when the provider stream reported completion";case"tts.audio.first_received":return"First audio chunk received from the TTS provider";case"tts.audio.last_received":return"Last audio chunk received from the TTS provider";case"tts.decode.started":return"First provider audio bytes were handed into the local decode path";case"tts.decode.completed":return"The first decoded audio frame left the local decode path";case"audio.output.wait.started":return"The first local audio frame was handed to the LiveKit audio output";case"audio.output.wait.completed":return"The audio-output wait phase ended when low-level playback actually started";case"interruption.detected":return"User speech overlapped active playback; this does not guarantee playback stopped";case"audio.playback.started":return"First played audio frame";case"audio.playback.stopped":return"Playback lifecycle ended on the Playback row";case"audio.playback.ended":return"Audio playback finished normally";case"audio.playback.interrupted":return"Audio playback ended because the output buffer was interrupted";default:return null}}function Hr(e){const t=nr(e);return J(t.text)}function xa(e){return e.eventType==="stt.final"||e.eventType==="stt.final_transcript"}function fe(e){const t=J(e);return t&&t.replace(/\s+/g," ").trim()||null}function ya(e){const t=nr(e),n=fe(t.text)??fe(t.transcript)??fe(t.finalTranscript)??fe(t.final_transcript)??fe(t.message);if(n)return n;const a=t.alternatives;if(Array.isArray(a))for(const o of a){if(!o||typeof o!="object")continue;const s=fe(o.text);if(s)return s}return null}function Vr(e){return e.traceType==="CONVERSATIONAL"}function Ur(e){return Vr(e)&&e.role.toLowerCase()==="user"&&(e.eventName==="received-message"||e.eventName==="llm-handler-stream-requested")}function qr(e){return Vr(e)&&(e.eventName==="finished-main-streaming-step"||e.eventName==="sent-message")}function Mt(e){return J(e.traceId)??`${e.createdAt}:${e.eventName}:${e.content}`}function ga(e,t){for(let n=t-1;n>=0;n-=1){const a=e[n];if(a.traceType==="CONVERSATIONAL")return a}return null}function wa(e,t){const n=tr(t.startTrace.createdAt),a=tr(t.endTrace.createdAt);if(n==null)return null;for(let o=0;o<e.length;o+=1){const s=e[o];if(!qr(s)||s.createdAt<n-Er||a!=null&&s.createdAt<a-Er)continue;const l=ga(e,o);if(!(!l||!Ur(l)))return s}return null}function Kr(e,t){return t>=e.start&&t<=e.end?0:Math.min(Math.abs(t-e.start),Math.abs(t-e.end))}function _a(e,t,n){const a=t.filter(o=>n.has(o.id)?!1:o.start>=e.end-Lr&&o.start<=e.end+Sr).sort((o,s)=>Math.abs(o.start-e.end)-Math.abs(s.start-e.end));return a[0]?a[0]:t.find(o=>!n.has(o.id)&&o.start<=e.end+Sr&&o.end>=e.end-Lr)??null}function Ta(e,t,n){return t.filter(o=>n.has(o.id)?!1:o.end>=e-ht&&o.start<=e+ht).sort((o,s)=>Kr(o,e)-Kr(s,e))[0]??null}function jr(){for(const e of r(q).slice().sort(pt))if(e.eventType==="call.started"&&Number.isFinite(e.atMs))return e.atMs;return r(W)}function Ma(e,t){const n=t.filter(a=>a.start<=e).sort((a,o)=>o.start-a.start||o.end-a.end)[0];return n?n.end<=e?Math.min(n.end,e):Math.min(n.start,e):Math.min(jr(),e)}function Xr(e){return e.replace(/<[^>]+>/g,"").trim()===""}function La(e){return/<WAIT\b[^>]*\/?\s*>/i.test(e)}function Sa(e){return e.traceType==="STEP"&&e.name==="main"&&J(e.response)!=null}function zr(e){return e.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim()}function Pa(e,t){if(e===t)return!0;const n=zr(e),a=zr(t);return n!==""&&n===a}function Ea(e){let t=e-ht,n=e+ht;for(const a of r(oe))if(Ur(a))if(a.createdAt<=e)t=a.createdAt;else{n=a.createdAt;break}return{start:t,end:n}}function ka(e,t,n){const a=Ea(e.createdAt);return t.filter(o=>!n.has(Ae(o))&&o.createdAt>=a.start&&o.createdAt<a.end).sort((o,s)=>Math.abs(o.createdAt-e.createdAt)-Math.abs(s.createdAt-e.createdAt))[0]??null}function Aa(){const e=[],t=new Set,n=r(oe).filter(Sa).sort(lr),a=r(oe).filter(qr).sort(lr);for(const o of a){const s=ka(o,n,t),d=(s?J(s.response):null)??J(o.content),u=fe(d);if(!u||!d)continue;const c=e.find(f=>f.agentTraceIds.size>0&&Math.abs(f.createdAt-o.createdAt)<=1e3&&Pa(f.fullText,d));if(c){c.agentTraceIds.add(Mt(o)),s&&t.add(Ae(s));continue}s&&t.add(Ae(s)),e.push({id:s?`response:step:${Ae(s)}`:`response:agent:${Mt(o)}`,text:u,fullText:d,createdAt:o.createdAt,agentTraceIds:new Set([Mt(o)]),traceLabel:Q(s??o)})}for(const o of n){const s=Ae(o);if(t.has(s))continue;const l=J(o.response),d=fe(l);!d||!l||e.push({id:`response:step:${s}`,text:d,fullText:l,createdAt:o.createdAt,agentTraceIds:new Set,traceLabel:Q(o)})}return e.sort((o,s)=>o.createdAt-s.createdAt||o.id.localeCompare(s.id))}function Ae(e){return J(e.traceId)??`${e.seq??"?"}:${e.createdAt??"?"}`}function $a(){return r(q).slice().sort(pt).flatMap(e=>{if(e.eventType!=="tts.text.first_sent"&&e.eventType!=="tts.text.completed")return[];const t=fe(Hr(e));return t?[{trace:e,text:t}]:[]})}function Ra(e,t,n,a){const o=a-250,s=e.start+2e3;return t.filter(({trace:d})=>n.has(Ae(d))?!1:d.atMs>=o&&d.atMs<=s).sort((d,u)=>Math.abs(d.trace.atMs-e.start)-Math.abs(u.trace.atMs-e.start))[0]??null}function Ia(e,t){const n=new Map,a=e.filter(c=>c.row==="Playback"&&c.durationMs>0).sort((c,f)=>c.start-f.start||c.end-f.end),o=new Set,s=new Set,l=new Set,d=$a();let u=jr();for(const c of a){const f=Ra(c,d,l,u);u=Math.max(u,c.end),f&&(l.add(Ae(f.trace)),n.set(c.id,{text:f.text,fullText:f.text,traceLabel:Q(f.trace)}))}for(const c of In(r(q))){if(Cn(r(oe),c)==null)continue;const f=wa(r(oe),c);if(!f)continue;const g=t.find(j=>j.agentTraceIds.has(Mt(f)));if(!g||s.has(g.id)||Xr(g.fullText))continue;const O=_a(c,a,o);O&&(o.add(O.id),s.add(g.id),n.set(O.id,{text:g.text,fullText:g.fullText,traceLabel:g.traceLabel}))}for(const c of t){if(s.has(c.id)||Xr(c.fullText))continue;const f=Ta(c.createdAt,a,o);f&&(o.add(f.id),s.add(c.id),n.set(f.id,{text:c.text,fullText:c.fullText,traceLabel:c.traceLabel}))}return{bySegmentId:n,responseIds:s}}function Ca(e,t){return e.flatMap(n=>{if(t.has(n.id)||!La(n.fullText))return[];const a=Ba(n.createdAt);return[{...St({id:`playback:wait:${n.id}`,row:"Playback",start:n.createdAt,end:a,colorKey:"playback",label:"WAIT response",traceLabel:n.traceLabel}),speechText:n.text,speechFullText:n.fullText,speechTraceLabel:n.traceLabel}]})}function Ba(e){const t=r(q).filter(n=>n.atMs>e&&(n.eventType==="audio.playback.started"||n.eventType==="stt.started"||n.eventType==="vad.activated"||n.eventType==="call.ended")).sort((n,a)=>n.atMs-a.atMs||n.seq-a.seq)[0];return t?t.atMs:e+1}function Na(){const e=[],t=r(Ee).filter(n=>n.row==="Playback"&&n.durationMs>0).sort((n,a)=>n.start-a.start||n.end-a.end);return r(q).slice().sort(pt).forEach(n=>{if(!xa(n))return;const a=ya(n);a&&e.push({id:`bubble:human:${n.traceId??n.seq}`,role:"human",text:a,fullText:a,anchorTime:n.atMs,minStartTime:Ma(n.atMs,t),anchorRow:"STT",traceLabel:Q(n)})}),e.sort((n,a)=>n.anchorTime-a.anchorTime||n.role.localeCompare(a.role)||n.id.localeCompare(a.id))}function Fa(e){const t=r(ke).findIndex(n=>n.label===e);return t===-1?Y:Y+t*(Me+ae)+Math.round(Me/2)}function Da(e){let t=0;for(const n of e)n===" "?t+=4:"ilI.,:;!|".includes(n)?t+=4.2:"mwMW@#%&".includes(n)?t+=9.5:/[A-Z0-9]/.test(n)?t+=7.5:t+=6.8;return Math.ceil(t+Kn)}function Oa(e,t){const n=Da(e),a=Math.max(Fe,t);return H(n,Fe,a)}function Wa(e,t){const n=new Set,a=[],o=Math.max(Fe,t);for(const s of[e,qn,Un,Fe]){const l=H(s,Fe,o);l>e||n.has(l)||(n.add(l),a.push(l))}return a}function Yr(e,t){let n=-1;for(const a of e)a.role===t&&(n=Math.max(n,a.level));return n+1}function Ha(e){return Math.max(0,e)*Tr}function Va(e){const t=r(na);return e.map(n=>{const a=n.level*Tr,o=t+a,s=Fa(n.anchorRow);return{...n,topPx:a,lineTopPx:s,lineHeightPx:Math.max(1,o-s)}})}function Ua(e,t){if(r(p)==null||r(_)==null||r(he)<=0)return[];const n=r(p),o=r(_)-n;if(!Number.isFinite(o)||o<=0)return[];const s=t.filter(u=>u.role===e).map(u=>{const c=(u.anchorTime-n)/o*100,f=(u.minStartTime-n)/o*r(he),g=c/100*r(he);return{...u,anchorPercent:c,anchorPx:g,maxWidthPx:Math.max(Fe,g-f)}}).sort((u,c)=>u.anchorPx-c.anchorPx||u.anchorTime-c.anchorTime),l=Array.from({length:Mr},()=>Number.NEGATIVE_INFINITY),d=[];for(const u of s){const c=Oa(u.text,u.maxWidthPx),f=Wa(c,u.maxWidthPx);let g=null;for(const O of f){const j=u.anchorPx,R=j-O;for(let F=0;F<Mr;F+=1)if(!(R<l[F]+Vn)){g={...u,leftPx:R,topPx:0,widthPx:O,level:F,lineTopPx:ne,lineHeightPx:1},l[F]=j;break}if(g)break}g&&d.push(g)}return d}function qa(){const e=Na();return Ua("human",e)}function Ka(e){return`left:${Math.round(e.leftPx)}px;top:${Math.round(e.topPx)}px;width:${Math.round(e.widthPx)}px;height:${ne}px;`}function ja(e){return`left:${e.anchorPercent}%;top:${Math.round(e.lineTopPx)}px;height:${Math.round(e.lineHeightPx)}px;`}function Xa(e){const t="absolute z-20 overflow-hidden truncate rounded-lg border-thin border-rc-gray-110 px-3 text-sm leading-[30px] text-rc-gray-100 backdrop-blur-md";return e.role==="agent"?`${t} bg-rc-green-700`:`${t} bg-rc-gray-700`}function za(e){const t="pointer-events-none max-h-56 max-w-[34rem] overflow-auto rounded-lg border-thin border-rc-gray-110 p-2 pt-1 text-sm text-rc-gray-100 shadow-2xl backdrop-blur-md";return e.role==="agent"?`${t} bg-rc-green-700`:`${t} bg-rc-gray-700`}function ar(){dt!=null&&(window.clearTimeout(dt),dt=null)}function Gr(e,t){const n=t.currentTarget;n instanceof HTMLElement&&(ar(),dt=window.setTimeout(()=>{i(nt,e,!0),i(at,n,!0),dt=null},jn))}function Lt(){ar(),i(nt,null),i(at,null)}function St(e){return{id:e.id,row:e.row,start:e.start,end:e.end,durationMs:Math.max(0,e.end-e.start),colorKey:e.colorKey,label:e.label,description:e.description??null,explain:e.explain??null,text:e.text??null,speechText:null,speechFullText:null,speechTraceLabel:null,traceLabel:e.traceLabel,eventMarker:e.eventMarker??null}}function pt(e,t){return e.seq-t.seq||e.atMs-t.atMs||(e.createdAt??0)-(t.createdAt??0)||String(e.traceId??"").localeCompare(String(t.traceId??""))}function Ya(e,t,n,a){for(let o=t+1;o<e.length;o+=1){const s=e[o];if(a(s))return null;if(n(s))return s}return null}function Ga(e){return In(e).filter(t=>Cn(r(oe),t)!=null).map(t=>St({id:`derived:${t.id}`,row:"Response Latency",start:t.start,end:t.end,colorKey:t.isHigh?"response.latency.high":"response.latency.ok",label:"Final STT -> speech start",description:t.speechCreatedTrace?"Final STT transcript -> first audio for the next uncancelled LiveKit speech":"Final STT transcript -> next audio playback start",explain:t.isHigh?`High latency (>${xs}ms)`:"OK",text:t.text,traceLabel:t.speechCreatedTrace?`${Q(t.startTrace)} -> ${Q(t.speechCreatedTrace)} -> ${Q(t.endTrace)}`:`${Q(t.startTrace)} -> ${Q(t.endTrace)}`}))}function Za(e){const t=Ga(e);return e.forEach((n,a)=>{const o=Zn.get(n.eventType);if(!o)return;const s=Ya(e,a,l=>l.eventType===o.endEventType,l=>l.eventType===o.startEventType);!s||s.atMs<n.atMs||t.push(St({id:`derived:${o.row.toLowerCase().replaceAll(" ","_")}:${n.seq}:${s.seq}`,row:o.row,start:n.atMs,end:s.atMs,colorKey:o.colorKey,label:o.label,description:o.description,traceLabel:Q(n)}))}),t}function Ja(e){const t=e.slice().filter(o=>typeof o.atMs=="number"&&Number.isFinite(o.atMs)&&typeof o.seq=="number"&&Number.isFinite(o.seq)).sort(pt),n=t.map((o,s)=>St({id:`point:${o.traceId??o.seq}:${s}`,row:pa(o.eventType),start:o.atMs,end:o.atMs,colorKey:va(o.eventType),label:ha(o),description:ba(o),text:Hr(o),traceLabel:Q(o),eventMarker:ma(o.eventType)}));return[...Za(t),...n].sort((o,s)=>o.start-s.start||(o.durationMs===0?1:0)-(s.durationMs===0?1:0)||o.end-s.end||o.row.localeCompare(s.row))}function Pt(e){const t=e&&typeof e=="object"?e:{},n=typeof t.audioUrl=="string"&&t.audioUrl.trim()?t.audioUrl:null;return{exists:t.exists===!0&&n!=null,audioUrl:n,fileName:typeof t.fileName=="string"?t.fileName:null,mimeType:typeof t.mimeType=="string"?t.mimeType:null,size:typeof t.size=="number"&&Number.isFinite(t.size)?t.size:null,uploadedAt:typeof t.uploadedAt=="string"?t.uploadedAt:null,alignmentOffsetMs:typeof t.alignmentOffsetMs=="number"&&Number.isFinite(t.alignmentOffsetMs)?t.alignmentOffsetMs:0}}function or(e,t){const n=e&&typeof e=="object"?e:{};return typeof n.error=="string"&&n.error.trim()?n.error:typeof n.message=="string"&&n.message.trim()?n.message:t}async function sr(e){var a,o;const t=e.headers.get("content-type")??"";if(t.includes("application/json"))return e.json().catch(()=>({}));const n=(await e.text().catch(()=>"")).trim();if(!n)return{};if(t.includes("text/html")){const s=n.match(/<title>([^<]+)<\/title>/i),l=n.match(/<h1[^>]*>([^<]+)<\/h1>/i);return{message:((a=s==null?void 0:s[1])==null?void 0:a.trim())||((o=l==null?void 0:l[1])==null?void 0:o.trim())||`${e.status} ${e.statusText}`.trim()}}return{message:n}}function Et(e){return e.row==="Playback"&&!e.eventMarker&&e.durationMs>0}function Qa(e){return!Et(e)||!e.speechFullText?null:{role:"agent",fullText:e.speechFullText}}function eo(e){return Et(e)?e.speechText:null}function to(e){if(r(p)==null||r(_)==null)return null;const t=r(_)-r(p);if(!Number.isFinite(t)||t<=0)return null;const n=Ar[e.colorKey]??C.gray,a=Z(n,-.25);if(e.end===e.start){if(e.start<r(p)||e.start>r(_))return null;const u=H((e.start-r(p))/t*100,0,100);return e.eventMarker==="start"?`left:${u}%;width:7px;background:${n};border-color:${a};clip-path:polygon(0 0,100% 50%,0 100%);`:e.eventMarker==="end"?`left:calc(${u}% - 7px);width:7px;background:${n};border-color:${a};clip-path:polygon(100% 0,0 50%,100% 100%);`:`left:calc(${u}% - 2px);width:4px;background:${n};border-color:${a};`}const o=Math.max(e.start,r(p)),s=Math.min(e.end,r(_));if(s<o)return null;const l=(o-r(p))/t*100,d=(s-o)/t*100;return Et(e)?`left:${l}%;width:max(${d}%,2px);`:`left:${l}%;width:max(${d}%,2px);background:${n};border-color:${a};`}function ro(e){return e.eventMarker?"absolute inset-y-0 shadow-[0_0_0_1px_rgba(0,0,0,0.28)]":Et(e)?"absolute inset-y-0 overflow-hidden truncate rounded-lg border-thin border-rc-gray-110 bg-rc-green-700 px-3 text-sm leading-[30px] text-rc-gray-100 shadow-[0_0_0_1px_rgba(0,0,0,0.12)] backdrop-blur-md":"absolute inset-y-0 rounded border shadow-[0_0_0_1px_rgba(0,0,0,0.12)]"}function no(e){return[e.label,e.row!==e.label?e.row:"",`${Ze(e.start-r(W))} → ${Ze(e.end-r(W))} (${ca(e.durationMs)})`,e.description??"",e.text?`Text: ${e.text}`:"",e.explain??"",e.traceLabel].filter(n=>n.trim()!=="").join(`
3
+ `)}function ao(e,t){const n=t.currentTarget;n instanceof HTMLElement&&(i(qe,e,!0),i(rt,n,!0))}function Zr(){i(qe,null),i(rt,null)}function oo(e,t){const n=Qa(e);if(n){Zr(),Gr(n,t);return}Lt(),ao(e,t)}function Jr(){Zr(),Lt()}function so(e){return`left:${e.leftPercent}%;top:${e.topPx}px;height:${e.heightPx}px;border-color:${e.color};opacity:${e.opacity};`}function io(e){return`left:${e.leftPercent}%;top:${e.topPx}px;height:${e.heightPx}px;`}function lo(e){const t="absolute top-1 whitespace-nowrap text-[11px] text-rc-gray-400";return e.leftPercent<=.1?t:e.leftPercent>=99.9?`${t} -translate-x-full`:`${t} -translate-x-1/2`}function co(e){if(!r(A).exists||r(p)==null||r(_)==null)return[];const t=r(p),n=r(_),a=n-t;if(!Number.isFinite(a)||a<=0)return[];const o=r(Qt),s=new Set,l=[];return e.forEach((d,u)=>{if(!zn.has(d.label))return;const f=Y+u*(Me+ae)+Math.round(Me/2);d.segments.forEach(g=>{if(g.id.startsWith("playback:wait:"))return;const O=Z(Ar[g.colorKey]??C.gray,.15),j=g.end===g.start?g.start>=t&&g.start<=n?[g.start]:[]:(()=>{const R=Math.max(g.start,t),F=Math.min(g.end,n);return F<R?[]:[R,F]})();for(const R of j){const F=Math.round(R),ge=`${d.label}:${F}`;if(s.has(ge))continue;s.add(ge);const ee=H((R-t)/a*100,0,100);l.push({id:`${g.id}:${F}`,leftPercent:ee,topPx:f,heightPx:Math.max(1,o-f),color:O,opacity:d.label==="VAD"?.62:.48})}})}),l}function uo(e){const t=e/7,n=10**Math.floor(Math.log10(Math.max(1,t))),a=t/n;return a<=1?1*n:a<=2?2*n:a<=5?5*n:10*n}function fo(e,t,n){const a=t-e;if(!Number.isFinite(a)||a<=0)return[];const o=uo(a),s=Math.ceil((e-n)/o)*o+n,l=[];for(let d=s;d<=t;d+=o){const u=(d-e)/a*100;l.push({time:d,leftPercent:u,label:Ze(d-n)})}return l}function Qr(){const e=window.AudioContext??window.webkitAudioContext;if(!e)throw new Error("Web Audio is not available in this browser");return new e}function po(e){if(e.length===0||e.duration===0)return{durationMs:0,binDurationMs:0,minPeaks:new Float32Array(0),maxPeaks:new Float32Array(0),channelCount:e.numberOfChannels,sampleRate:e.sampleRate};const t=H(Math.round(e.duration*200),8e3,6e4),n=Math.max(1,Math.min(t,e.length)),a=Math.max(1,Math.floor(e.length/n)),o=new Float32Array(n),s=new Float32Array(n);for(let l=0;l<n;l+=1){const d=l*a,u=l===n-1?e.length:Math.min(e.length,d+a);let c=1,f=-1;for(let g=0;g<e.numberOfChannels;g+=1){const O=e.getChannelData(g);for(let j=d;j<u;j+=1){const R=O[j]??0;R<c&&(c=R),R>f&&(f=R)}}f===-1&&c===1&&(c=0,f=0),o[l]=c,s[l]=f}return{durationMs:e.duration*1e3,binDurationMs:e.duration*1e3/n,minPeaks:o,maxPeaks:s,channelCount:e.numberOfChannels,sampleRate:e.sampleRate}}async function vo(e){const t=await fetch(e,{cache:"no-store"});if(!t.ok)throw new Error(`Failed to load recording (${t.status})`);const n=await t.arrayBuffer(),a=Qr();try{const o=await a.decodeAudioData(n.slice(0));return{peaks:po(o),audioBuffer:o}}finally{await a.close().catch(()=>{})}}function mo(e,t){const n=Math.max(1,Math.floor(t.width)),a=Math.max(1,Math.floor(t.height)),o=window.devicePixelRatio||1;e.width=Math.max(1,Math.round(n*o)),e.height=Math.max(1,Math.round(a*o)),e.style.width=`${n}px`,e.style.height=`${a}px`;const s=e.getContext("2d");if(!s)return;s.setTransform(o,0,0,o,0,0),s.clearRect(0,0,n,a),s.fillStyle="rgba(10, 10, 10, 0.2)",s.fillRect(0,0,n,a);const l=t.viewportEndMs-t.viewportStartMs;if(l<=0||t.peaks.minPeaks.length===0||t.peaks.binDurationMs<=0)return;const d=t.recordingStartMs+t.peaks.durationMs,u=Math.max(t.viewportStartMs,t.recordingStartMs),c=Math.min(t.viewportEndMs,d),f=a/2,g=a*.42;if(s.strokeStyle="rgba(147, 255, 109, 0.95)",s.lineWidth=1,s.beginPath(),c>u){const O=Math.max(0,Math.floor((u-t.recordingStartMs)/t.peaks.binDurationMs)),j=Math.min(t.peaks.minPeaks.length-1,Math.ceil((c-t.recordingStartMs)/t.peaks.binDurationMs));for(let R=O;R<=j;R+=1){const ge=(t.recordingStartMs+R*t.peaks.binDurationMs-t.viewportStartMs)/l*n,ee=t.peaks.minPeaks[R]??0,Rt=t.peaks.maxPeaks[R]??0,It=f-Rt*g,Ct=f-ee*g;s.moveTo(ge,It),s.lineTo(ge,Ct)}}s.stroke(),s.strokeStyle="rgba(255, 255, 255, 0.18)",s.lineWidth=1,s.beginPath(),s.moveTo(0,f),s.lineTo(n,f),s.stroke()}function ir(){je&&(window.cancelAnimationFrame(je),je=0)}async function ho(){const e=le;le=null,e&&await e.close().catch(()=>{})}async function bo(){return(!le||le.state==="closed")&&(le=Qr()),le.state==="suspended"&&await le.resume(),le}function en(){const e=tn();if(r(ce)&&le&&lt!=null&&ct!=null){const t=(le.currentTime-ct)*1e3,n=lt+Math.max(0,t);return e>0?H(n,0,e):Math.max(0,n)}return e>0?H(r(G),0,e):Math.max(0,r(G))}function Je(e=!0){e&&i(G,en(),!0);const t=it;if(it=null,lt=null,ct=null,i(ce,!1),ir(),!!t){t.onended=null;try{t.stop()}catch{}t.disconnect()}}function xo(){ir();const e=()=>{if(!r(ce)){je=0;return}i(G,en(),!0),je=window.requestAnimationFrame(e)};je=window.requestAnimationFrame(e)}function tn(){return r(K)&&Number.isFinite(r(K).durationMs)?Math.max(0,r(K).durationMs):ue&&Number.isFinite(ue.duration)?Math.max(0,ue.duration*1e3):0}function yo(e){const t=tn(),n=t>0?H(e,0,t):Math.max(0,e);i(G,n,!0),r(ce)&&nn(n)}function go(e,t){if(r(p)==null||r(_)==null||r(ye)==null)return;const n=t.getBoundingClientRect(),a=H((e-n.left)/Math.max(1,n.width),0,1),o=r(p)+a*(r(_)-r(p));i(de,null),yo(o-r(ye))}function wo(e){const t=e instanceof HTMLElement?e:null;if(!t)return!1;const n=t.tagName;return t.isContentEditable||n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||n==="BUTTON"||n==="A"}async function rn(){if(!(!r(A).exists||!r(A).audioUrl)){if(i(de,null),r(ce)){Je(!0);return}await nn(r(G))}}async function nn(e){const t=ue;if(!t){i(de,r(Ve)?"Recording is still decoding":"Failed to decode recording for playback",!0);return}const n=Math.max(0,t.duration*1e3),a=n>0?e>=n?0:H(e,0,n):Math.max(0,e);Je(!1),i(G,a,!0);try{const o=await bo(),s=o.createBufferSource();s.buffer=t,s.connect(o.destination),s.onended=()=>{it===s&&(it=null,lt=null,ct=null,i(ce,!1),i(G,n,!0),ir())},it=s,lt=a,ct=o.currentTime,i(ce,!0),i(de,null),xo(),s.start(0,a/1e3)}catch(o){Je(!1),i(ce,!1),i(de,o instanceof Error?o.message:"Failed to play recording",!0)}}function _o(e){const t=new Set;return e.filter(n=>{const a=J(n==null?void 0:n.traceId);return a?t.has(a)?!1:(t.add(a),!0):!0})}function To(e){const t=new Set;return e.filter(n=>{const a=J(n==null?void 0:n.traceId);return a?t.has(a)?!1:(t.add(a),!0):!0})}function lr(e,t){return e.createdAt-t.createdAt||String(e.traceId??"").localeCompare(String(t.traceId??""))}async function Mo(e){const t=[];let n;for(;;){const a=await tt.getLatencyTraces(e,500,n);if(t.push(...a.items??[]),n=a.lastTraceId,!n)break}return _o(t).slice().sort(pt)}async function Lo(e){const t=[];let n;for(;;){const a=await tt.getTraces(e,100,n);if(t.push(...a.items??[]),n=a.lastTraceId,!n)break}return To(t).slice().sort(lr)}async function So(e){const t=++yt;i(Se,!1),i(Oe,!0),i(We,null);try{const[n,a,o]=await Promise.all([tt.getConversation(e).catch(s=>(console.error("Failed to load conversation details:",s),null)),Mo(e),Lo(e).catch(s=>(console.error("Failed to load conversation traces for latency matching:",s),[]))]);if(t!==yt)return;i(Le,n,!0),i(q,a,!0),i(oe,o,!0),i(Se,!0)}catch(n){if(t!==yt)return;i(We,n instanceof Error?n.message:String(n),!0),i(Le,null),i(q,[],!0),i(oe,[],!0)}finally{if(t!==yt)return;i(Oe,!1),Ge()}}async function an(e){if(Je(!1),i(A,e,!0),i(me,null),i(de,null),i(G,0),!e.exists||!e.audioUrl){ue=null,i(K,null),i(Ve,!1),i(Pe,null);return}const t=++gt;i(Ve,!0),i(Pe,null);try{const n=await vo(e.audioUrl);if(t!==gt)return;i(K,n.peaks,!0),ue=n.audioBuffer}catch(n){if(t!==gt)return;ue=null,i(K,null),i(Pe,n instanceof Error?n.message:String(n),!0)}finally{if(t!==gt)return;i(Ve,!1)}}async function Po(e=r(ut)){if(!e)return;const t=++st;i(He,!1),i(bt,!0),i(ve,null);try{const n=await fetch(e,{cache:"no-store",headers:{accept:"application/json"}}),a=await sr(n);if(!n.ok)throw new Error(or(a,"Failed to load recording metadata"));if(t!==st||(await an(Pt(a)),t!==st))return;i(He,!0)}catch(n){if(t!==st)return;i(ve,n instanceof Error?n.message:String(n),!0),i(A,Pt({}),!0),i(K,null),i(Ve,!1)}finally{if(t!==st)return;i(bt,!1),Ge()}}function cr(e=!0){const t=r(_t)??r(Ye);if(!t)return;const n=r(W);i(p,n,!0),i(_,Math.max(n+1e3,t.max),!0),i(se,e,!0)}function Eo(e,t){const n=r(Ye);if(!n)return{startMs:e,endMs:t};const a=t-e;if(a<=0)return{startMs:e,endMs:t};const o=Math.max(1e3,a*.25),s=n.min-o,l=n.max+o;return a>=l-s?{startMs:s,endMs:l}:(e<s&&(t+=s-e,e=s),t>l&&(e-=t-l,t=l),{startMs:e,endMs:t})}function dr(e,t){if(!Number.isFinite(e)||!Number.isFinite(t)||t<=e)return;const n=Eo(e,t);i(p,n.startMs,!0),i(_,n.endMs,!0)}function kt(e,t=.5){if(r(p)==null||r(_)==null)return;const n=r(_)-r(p);if(!Number.isFinite(n)||n<=0)return;const a=r(Ye),o=a?a.max-a.min:n,s=Math.min(100,n),l=Math.max(o+Math.max(2e3,o*.1),5e3),d=H(n*e,s,l),u=H(t,0,1),f=r(p)+n*u-d*u;i(se,!0),dr(f,f+d)}function ko(e){let t=e.deltaY;return e.deltaMode===WheelEvent.DOM_DELTA_LINE?t*=16:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=window.innerHeight),H(t,-Pr,Pr)}function on(e){return Math.exp(ko(e)*Xn)}function ur(e){if(r(he)<=0)return;e.preventDefault();const t=e.currentTarget.getBoundingClientRect(),n=H((e.clientX-t.left)/Math.max(1,t.width),0,1);kt(on(e),n)}function Ao(e){if(r(Ue)<=0)return;e.preventDefault();const t=e.currentTarget.getBoundingClientRect(),n=H((e.clientX-t.left)/Math.max(1,t.width),0,1);kt(on(e),n)}function sn(e){var u;xe==null||xe();const t=Math.max(0,e.activationDistancePx??0);let n=t===0;n&&((u=e.onStart)==null||u.call(e));const a=c=>{var O;if(n)return!0;const f=c.clientX-e.startEvent.clientX,g=c.clientY-e.startEvent.clientY;return Math.hypot(f,g)<t?!1:(n=!0,(O=e.onStart)==null||O.call(e),!0)},o=c=>{a(c)&&e.onMove(c)},s=c=>{var f,g;window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",d),xe=null,!n&&c&&((f=e.onClick)==null||f.call(e,c)),(g=e.onEnd)==null||g.call(e,{wasDrag:n,event:c})},l=c=>s(c),d=()=>s();window.addEventListener("pointermove",o),window.addEventListener("pointerup",l),window.addEventListener("pointercancel",d),xe=()=>s()}function ln(e){if(e.button!==0||r(p)==null||r(_)==null||r(he)<=0)return;e.preventDefault(),i(se,!0);const t=e.clientX,n=r(p),a=r(_)-r(p);sn({startEvent:e,onMove:o=>{const l=(o.clientX-t)/r(he)*a;dr(n-l,n-l+a)}})}function cn(e){i(A,{...r(A),alignmentOffsetMs:Math.round(e)},!0)}async function dn(){if(!(!r(A).exists||!r(ut))){i(Vt,!0),i(me,null);try{const e=await fetch(r(ut),{method:"PATCH",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify({alignmentOffsetMs:r(A).alignmentOffsetMs})}),t=await sr(e);if(!e.ok)throw new Error(or(t,"Failed to save alignment offset"));i(A,Pt(t),!0)}catch(e){i(me,e instanceof Error?e.message:String(e),!0)}finally{i(Vt,!1)}}}function $o(e){if(e.button!==0||!r(A).exists||r(K)==null||r(p)==null||r(_)==null||r(Ue)<=0)return;e.preventDefault(),i(me,null);const t=e.currentTarget,n=e.clientX,a=r(A).alignmentOffsetMs,o=r(_)-r(p);sn({startEvent:e,activationDistancePx:6,onStart:()=>{i(se,!0)},onMove:s=>{const d=(s.clientX-n)/r(Ue)*o;cn(a+d)},onClick:s=>{go(s.clientX,t)},onEnd:({wasDrag:s})=>{s&&dn()}})}async function Ro(){r(A).exists&&(i(se,!0),cn(0),await dn())}async function Io(e){var a;const t=e.currentTarget,n=(a=t.files)==null?void 0:a[0];if(t.value="",!(!n||!r(ut))){i(xt,!0),i(ve,null),i(me,null);try{const o=new URL(r(ut),window.location.origin);o.searchParams.set("filename",n.name);const s=await fetch(o,{method:"POST",headers:{accept:"application/json","content-type":n.type||"audio/wav"},body:n}),l=await sr(s);if(!s.ok)throw new Error(or(l,"Failed to upload recording"));i(se,!1),await an(Pt(l)),cr(!1),i(He,!0),Ge()}catch(o){i(ve,o instanceof Error?o.message:String(o),!0)}finally{i(xt,!1)}}}var un=zs(),At=vt(un),fr=y(At),pr=y(fr),vr=y(pr),mr=y(vr),Co=m(y(mr));{var Bo=e=>{var t=Ts(),n=m(vt(t),2),a=y(n,!0);h(n),L(()=>I(a,r(Xe))),x(e,t)};D(Co,e=>{r(Xe)&&e(Bo)})}h(mr);var fn=m(mr,2),hr=y(fn),pn=m(y(hr),2),No=y(pn,!0);h(pn),h(hr);var br=m(hr,2),vn=m(y(br),2),Fo=y(vn,!0);h(vn),h(br);var xr=m(br,2),mn=m(y(xr),2),Do=y(mn,!0);h(mn),h(xr);var hn=m(xr,2);{var Oo=e=>{var t=Ms(),n=m(y(t),2),a=y(n,!0);h(n),h(t),L(o=>I(a,o),[()=>Ze(r(er)-r(W))]),x(e,t)};D(hn,e=>{r(A).exists&&r(er)!=null&&e(Oo)})}var Wo=m(hn,2);{var Ho=e=>{var t=Ls(),n=m(y(t),2),a=y(n);h(n),h(t),L((o,s)=>I(a,`${o??""} → ${s??""}`),[()=>Ze(r(p)-r(W)),()=>Ze(r(_)-r(W))]),x(e,t)};D(Wo,e=>{r(p)!=null&&r(_)!=null&&e(Ho)})}h(fn),h(vr);var bn=m(vr,2),yr=y(bn);Be(yr,e=>i(Xt,e),()=>r(Xt));var xn=m(yr,2);Ne(xn,{variant:"secondary",size:"small",get disabled(){return r(xt)},onclick:()=>{var e;return(e=r(Xt))==null?void 0:e.click()},children:(e,t)=>{Ce();var n=Ie();L(()=>I(n,r(xt)?"Uploading…":r(A).exists?"Replace WAV":"Upload WAV")),x(e,n)},$$slots:{default:!0}});var yn=m(xn,2);{let e=T(()=>!r(A).exists);Ne(yn,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:()=>void rn(),children:(t,n)=>{Ce();var a=Ie();L(()=>I(a,r(ce)?"Pause":"Play")),x(t,a)},$$slots:{default:!0}})}var gn=m(yn,2);{let e=T(()=>r(Or)==null);Ne(gn,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:()=>kt(.8),children:(t,n)=>{Ce();var a=Ie("Zoom in");x(t,a)},$$slots:{default:!0}})}var wn=m(gn,2);{let e=T(()=>r(Or)==null);Ne(wn,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:()=>kt(1.25),children:(t,n)=>{Ce();var a=Ie("Zoom out");x(t,a)},$$slots:{default:!0}})}var _n=m(wn,2);{let e=T(()=>!(r(_t)??r(Ye)));Ne(_n,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:()=>cr(!0),children:(t,n)=>{Ce();var a=Ie("Fit call");x(t,a)},$$slots:{default:!0}})}var Tn=m(_n,2);{let e=T(()=>!r(A).exists||r(Vt));Ne(Tn,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:Ro,children:(t,n)=>{Ce();var a=Ie("Reset alignment");x(t,a)},$$slots:{default:!0}})}var Vo=m(Tn,2);{let e=T(()=>!r(q).length);Ne(Vo,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:fa,children:(t,n)=>{Ce();var a=Ie();L(()=>I(a,r(Ke)==="ok"?"Copied":r(Ke)==="error"?"Copy failed":"Copy latency stream")),x(t,a)},$$slots:{default:!0}})}h(bn),h(pr);var Mn=m(pr,2);{var Uo=e=>{var t=Ss(),n=y(t,!0);h(t),L(()=>I(n,r(Oe)?"Loading call latency…":"Loading recording…")),x(e,t)};D(Mn,e=>{(r(Oe)||r(bt))&&e(Uo)})}var Ln=m(Mn,2);{var qo=e=>{var t=Ft(),n=y(t);h(t),L(()=>I(n,`Failed to load latency traces: ${r(We)??""}`)),x(e,t)};D(Ln,e=>{r(We)&&e(qo)})}var Sn=m(Ln,2);{var Ko=e=>{var t=Ft(),n=y(t);h(t),L(()=>I(n,`Recording error: ${r(ve)??""}`)),x(e,t)};D(Sn,e=>{r(ve)&&e(Ko)})}var Pn=m(Sn,2);{var jo=e=>{var t=Ft(),n=y(t);h(t),L(()=>I(n,`Alignment error: ${r(me)??""}`)),x(e,t)};D(Pn,e=>{r(me)&&e(jo)})}var Xo=m(Pn,2);{var zo=e=>{var t=Ft(),n=y(t);h(t),L(()=>I(n,`Playback error: ${r(de)??""}`)),x(e,t)};D(Xo,e=>{r(de)&&e(zo)})}h(fr);var $t=m(fr,2),En=y($t),kn=y(En),Yo=y(kn);{var Go=e=>{var t=Ps();x(e,t)},Zo=e=>{var t=Es();x(e,t)},Jo=e=>{var t=ks();x(e,t)},Qo=e=>{var t=Ks(),n=y(t),a=m(y(n),2);re(a,19,()=>r(ke),v=>v.label,(v,M,P)=>{var $=As(),V=y($,!0);h($),L(()=>{N($,`height:${Me}px;margin-top:${r(P)===0?0:ae}px;`),I(V,r(M).label)}),x(v,$)});var o=m(a,2),s=m(o,2);{var l=v=>{var M=$s();N(M,`height:${Ot}px;margin-top:${ae}px;`),x(v,M)};D(s,v=>{r(ft)&&v(l)})}h(n);var d=m(n,2),u=y(d),c=y(u);re(c,17,()=>r(Br),v=>v.id,(v,M)=>{var P=Rs();L($=>N(P,$),[()=>ja(r(M))]),x(v,P)});var f=m(c,2);re(f,17,()=>r(oa),v=>v.id,(v,M)=>{var P=Is();L($=>N(P,$),[()=>so(r(M))]),x(v,P)});var g=m(f,2);{var O=v=>{var M=Cs();L(P=>N(M,P),[()=>io(r(Dr))]),x(v,M)};D(g,v=>{r(Dr)&&v(O)})}var j=m(g,2);{var R=v=>{var M=Bs(),P=vt(M),$=m(P,2);L(()=>{N(P,`left:${r(ze).leftPercent}%;top:${r(ze).topPx}px;height:${r(ze).heightPx}px;`),N($,`left:${r(ze).leftPercent}%;top:${r(ze).topPx-4}px;`)}),x(v,M)};D(j,v=>{r(ze)&&v(R)})}h(u);var F=m(u,2);re(F,21,()=>r(Tt),v=>v.time,(v,M,P,$)=>{var V=Ns(),we=vt(V),X=m(we,2),k=y(X,!0);h(X),L(U=>{N(we,`left:${r(M).leftPercent}%;`),et(X,1,U),N(X,`left:${r(M).leftPercent}%;`),I(k,r(M).label)},[()=>mt(lo(r(M)))]),x(v,V)}),h(F),Be(F,v=>i(Ut,v),()=>r(Ut));var ge=m(F,2);re(ge,19,()=>r(ke),v=>v.label,(v,M,P)=>{var $=Os(),V=y($);re(V,17,()=>r(Tt),X=>X.time,(X,k,U,_e)=>{var Qe=Fn();L(()=>N(Qe,`left:${r(k).leftPercent}%;`)),x(X,Qe)});var we=m(V,2);re(we,17,()=>r(M).segments,X=>X.id,(X,k)=>{const U=T(()=>to(r(k))),_e=T(()=>eo(r(k)));var Qe=us(),Bt=vt(Qe);{var ss=gr=>{var Te=Ds(),is=y(Te);{var ls=$e=>{var wr=Fs(),cs=y(wr,!0);h(wr),L(()=>I(cs,r(_e))),x($e,wr)};D(is,$e=>{r(_e)&&$e(ls)})}h(Te),L($e=>{et(Te,1,$e),N(Te,r(U))},[()=>mt(ro(r(k)))]),pe("pointerenter",Te,$e=>oo(r(k),$e)),pe("pointerleave",Te,Jr),Re("pointerdown",Te,Jr),x(gr,Te)};D(Bt,gr=>{r(U)&&gr(ss)})}x(X,Qe)}),h($),L(()=>N($,`height:${Me}px;margin-top:${r(P)===0?0:ae}px;`)),Re("pointerdown",$,ln),pe("wheel",$,ur),x(v,$)});var ee=m(ge,2);let Rt;var It=y(ee),Ct=m(It,2);re(Ct,17,()=>r(Tt),v=>v.time,(v,M,P,$)=>{var V=Ws();L(()=>N(V,`left:${r(M).leftPercent}%;`)),x(v,V)});var ns=m(Ct,2);re(ns,17,()=>r(Br),v=>v.id,(v,M)=>{var P=Dn(),$=y(P,!0);h(P),L((V,we)=>{et(P,1,V),N(P,we),I($,r(M).text)},[()=>mt(Xa(r(M))),()=>Ka(r(M))]),pe("pointerenter",P,V=>Gr(r(M),V)),pe("pointerleave",P,Lt),Re("pointerdown",P,Lt),x(v,P)}),h(ee);var as=m(ee,2);{var os=v=>{var M=qs();N(M,`height:${Ot}px;margin-top:${ae}px;`);var P=y(M);{var $=k=>{var U=Hs();x(k,U)},V=k=>{var U=Vs(),_e=y(U);h(U),L(()=>I(_e,`Failed to decode waveform: ${r(Pe)??""}`)),x(k,U)},we=k=>{var U=Us();Be(U,_e=>i(Kt,_e),()=>r(Kt)),x(k,U)};D(P,k=>{r(Ve)?k($):r(Pe)?k(V,1):k(we,-1)})}var X=m(P,2);re(X,17,()=>r(Tt),k=>k.time,(k,U,_e,Qe)=>{var Bt=Fn();L(()=>N(Bt,`left:${r(U).leftPercent}%;`)),x(k,Bt)}),h(M),Be(M,k=>i(qt,k),()=>r(qt)),Re("pointerdown",M,$o),pe("wheel",M,Ao),x(v,M)};D(as,v=>{r(ft)&&v(os)})}h(d),h(t),L(()=>{N(o,`height:${r(Jt)}px;margin-top:${r(wt)}px;`),Rt=et(ee,1,"relative z-0 overflow-hidden border-x border-t border-rc-gray-700/60",null,Rt,{"rounded-b":!r(ft),"border-b":!r(ft)}),N(ee,`height:${r(Nr)}px;margin-top:${r(wt)}px;`),N(It,`height:${r(Jt)}px;`)}),pe("wheel",F,ur),Re("pointerdown",ee,ln),pe("wheel",ee,ur),x(e,t)};D(Yo,e=>{r(Oe)?e(Go):r(Ee).length?r(p)==null||r(_)==null?e(Jo,2):e(Qo,-1):e(Zo,1)})}h(kn),h(En),h($t),Be($t,e=>i(ie,e),()=>r(ie)),h(At);var An=m(At,2);{var es=e=>{Be(Rn(e,{get referenceEl(){return r(rt)},placement:"top-start",offset:[0,10],children:n=>{var a=js();re(a,21,()=>r(sa),hs,(o,s,l)=>{var d=Dn();et(d,1,mt(l===0?"font-semibold text-rc-gray-050":"mt-1 whitespace-pre-wrap break-words text-rc-gray-300"));var u=y(d,!0);h(d),L(()=>I(u,r(s))),x(o,d)}),h(a),x(n,a)},$$slots:{default:!0}}),n=>i(zt,n,!0),()=>r(zt))};D(An,e=>{r(qe)&&r(rt)&&e(es)})}var ts=m(An,2);{var rs=e=>{const t=T(()=>r(nt));Be(Rn(e,{get referenceEl(){return r(at)},placement:"top-start",offset:[0,-4],flip:!1,children:a=>{var o=Xs(),s=y(o),l=y(s,!0);h(s),h(o),L(d=>{et(o,1,d),I(l,r(t).fullText)},[()=>mt(za(r(t)))]),x(a,o)},$$slots:{default:!0}}),a=>i(Yt,a,!0),()=>r(Yt))};D(ts,e=>{r(nt)&&r(at)&&e(rs)})}L(e=>{I(No,r(ea)),I(Fo,r(Ee).length),I(Do,e)},[()=>da(r(A).alignmentOffsetMs)]),Re("click",At,e=>e.stopPropagation()),Re("change",yr,Io),pe("scroll",$t,la),x(B,un),vs()}ds(["click","change","pointerdown"]);export{ui as component};