@recombine-ai/bosun 0.11.1 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) 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/B_K7D6rX.js +2 -0
  29. package/build/client/_app/immutable/chunks/B_K7D6rX.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/B_K7D6rX.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/Bj8jfBTi.js +1 -0
  32. package/build/client/_app/immutable/chunks/Bj8jfBTi.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/Bj8jfBTi.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/{BR5f5i_E.js → BoPSJr4b.js} +1 -1
  35. package/build/client/_app/immutable/chunks/BoPSJr4b.js.br +0 -0
  36. package/build/client/_app/immutable/chunks/BoPSJr4b.js.gz +0 -0
  37. package/build/client/_app/immutable/chunks/BsDZe4N6.js +1 -0
  38. package/build/client/_app/immutable/chunks/BsDZe4N6.js.br +0 -0
  39. package/build/client/_app/immutable/chunks/BsDZe4N6.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/{CXo2BVs0.js → Buo-57fF.js} +1 -1
  41. package/build/client/_app/immutable/chunks/Buo-57fF.js.br +0 -0
  42. package/build/client/_app/immutable/chunks/Buo-57fF.js.gz +0 -0
  43. package/build/client/_app/immutable/chunks/{C-whEtKd.js → C39ai1md.js} +1 -1
  44. package/build/client/_app/immutable/chunks/C39ai1md.js.br +0 -0
  45. package/build/client/_app/immutable/chunks/C39ai1md.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/C7he4XPB.js +1 -0
  47. package/build/client/_app/immutable/chunks/C7he4XPB.js.br +0 -0
  48. package/build/client/_app/immutable/chunks/C7he4XPB.js.gz +0 -0
  49. package/build/client/_app/immutable/chunks/{DYhTBLDc.js → CAjPRvNs.js} +2 -2
  50. package/build/client/_app/immutable/chunks/CAjPRvNs.js.br +0 -0
  51. package/build/client/_app/immutable/chunks/CAjPRvNs.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/CJYOmGlC.js +1 -0
  53. package/build/client/_app/immutable/chunks/CJYOmGlC.js.br +0 -0
  54. package/build/client/_app/immutable/chunks/CJYOmGlC.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/{UiXQyKcj.js → CMQRtcOV.js} +1 -1
  56. package/build/client/_app/immutable/chunks/CMQRtcOV.js.br +0 -0
  57. package/build/client/_app/immutable/chunks/CMQRtcOV.js.gz +0 -0
  58. package/build/client/_app/immutable/chunks/{HJHYLHDn.js → CPXdAKdv.js} +1 -1
  59. package/build/client/_app/immutable/chunks/CPXdAKdv.js.br +0 -0
  60. package/build/client/_app/immutable/chunks/CPXdAKdv.js.gz +0 -0
  61. package/build/client/_app/immutable/chunks/{DTlGvFHe.js → CVlsAO8k.js} +1 -1
  62. package/build/client/_app/immutable/chunks/CVlsAO8k.js.br +0 -0
  63. package/build/client/_app/immutable/chunks/CVlsAO8k.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/{DNLcpWO_.js → CX0Ekq8t.js} +1 -1
  65. package/build/client/_app/immutable/chunks/CX0Ekq8t.js.br +0 -0
  66. package/build/client/_app/immutable/chunks/CX0Ekq8t.js.gz +0 -0
  67. package/build/client/_app/immutable/chunks/Ca197UDq.js +1 -0
  68. package/build/client/_app/immutable/chunks/Ca197UDq.js.br +0 -0
  69. package/build/client/_app/immutable/chunks/Ca197UDq.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/CaHl3dME.js +1 -0
  71. package/build/client/_app/immutable/chunks/CaHl3dME.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/CaHl3dME.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/Cql_e8Of.js +1 -0
  74. package/build/client/_app/immutable/chunks/Cql_e8Of.js.br +2 -0
  75. package/build/client/_app/immutable/chunks/Cql_e8Of.js.gz +0 -0
  76. package/build/client/_app/immutable/chunks/{Dv8m1cTI.js → CxLomzuE.js} +1 -1
  77. package/build/client/_app/immutable/chunks/CxLomzuE.js.br +0 -0
  78. package/build/client/_app/immutable/chunks/{Dv8m1cTI.js.gz → CxLomzuE.js.gz} +0 -0
  79. package/build/client/_app/immutable/chunks/Cyai3SOj.js +1 -0
  80. package/build/client/_app/immutable/chunks/Cyai3SOj.js.br +0 -0
  81. package/build/client/_app/immutable/chunks/Cyai3SOj.js.gz +0 -0
  82. package/build/client/_app/immutable/chunks/{-g1l5aoS.js → CyvQWZoe.js} +4 -4
  83. package/build/client/_app/immutable/chunks/CyvQWZoe.js.br +0 -0
  84. package/build/client/_app/immutable/chunks/CyvQWZoe.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/CzXNWL4m.js +1 -0
  86. package/build/client/_app/immutable/chunks/CzXNWL4m.js.br +1 -0
  87. package/build/client/_app/immutable/chunks/CzXNWL4m.js.gz +0 -0
  88. package/build/client/_app/immutable/chunks/D-B5X35l.js +1 -0
  89. package/build/client/_app/immutable/chunks/D-B5X35l.js.br +0 -0
  90. package/build/client/_app/immutable/chunks/D-B5X35l.js.gz +0 -0
  91. package/build/client/_app/immutable/chunks/DJriQKD9.js +2 -0
  92. package/build/client/_app/immutable/chunks/DJriQKD9.js.br +0 -0
  93. package/build/client/_app/immutable/chunks/DJriQKD9.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/{BL8rPcmP.js → DXUXXCDA.js} +1 -1
  95. package/build/client/_app/immutable/chunks/DXUXXCDA.js.br +0 -0
  96. package/build/client/_app/immutable/chunks/DXUXXCDA.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/QpaC6J6s.js +1 -0
  101. package/build/client/_app/immutable/chunks/QpaC6J6s.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/QpaC6J6s.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/{HXxIsSOO.js → iAhzu4tv.js} +1 -1
  104. package/build/client/_app/immutable/chunks/iAhzu4tv.js.br +0 -0
  105. package/build/client/_app/immutable/chunks/iAhzu4tv.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/i_5fJYKS.js +3 -0
  107. package/build/client/_app/immutable/chunks/i_5fJYKS.js.br +0 -0
  108. package/build/client/_app/immutable/chunks/i_5fJYKS.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.Cr7CMG-3.js +2 -0
  116. package/build/client/_app/immutable/entry/app.Cr7CMG-3.js.br +0 -0
  117. package/build/client/_app/immutable/entry/app.Cr7CMG-3.js.gz +0 -0
  118. package/build/client/_app/immutable/entry/start.CDNd0Bml.js +1 -0
  119. package/build/client/_app/immutable/entry/start.CDNd0Bml.js.br +2 -0
  120. package/build/client/_app/immutable/entry/start.CDNd0Bml.js.gz +0 -0
  121. package/build/client/_app/immutable/nodes/{0.BiYgQci8.js → 0.AyqKXI2h.js} +2 -2
  122. package/build/client/_app/immutable/nodes/0.AyqKXI2h.js.br +0 -0
  123. package/build/client/_app/immutable/nodes/0.AyqKXI2h.js.gz +0 -0
  124. package/build/client/_app/immutable/nodes/1.BRmfm-nN.js +1 -0
  125. package/build/client/_app/immutable/nodes/1.BRmfm-nN.js.br +0 -0
  126. package/build/client/_app/immutable/nodes/1.BRmfm-nN.js.gz +0 -0
  127. package/build/client/_app/immutable/nodes/10.D03jjkr4.js +7 -0
  128. package/build/client/_app/immutable/nodes/10.D03jjkr4.js.br +0 -0
  129. package/build/client/_app/immutable/nodes/10.D03jjkr4.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.BOYU_WTT.js +3 -0
  134. package/build/client/_app/immutable/nodes/17.BOYU_WTT.js.br +0 -0
  135. package/build/client/_app/immutable/nodes/17.BOYU_WTT.js.gz +0 -0
  136. package/build/client/_app/immutable/nodes/18.Ddx80a4f.js +11 -0
  137. package/build/client/_app/immutable/nodes/18.Ddx80a4f.js.br +0 -0
  138. package/build/client/_app/immutable/nodes/18.Ddx80a4f.js.gz +0 -0
  139. package/build/client/_app/immutable/nodes/{2.DniQTiGZ.js → 2.CZEboQjo.js} +20 -20
  140. package/build/client/_app/immutable/nodes/2.CZEboQjo.js.br +0 -0
  141. package/build/client/_app/immutable/nodes/2.CZEboQjo.js.gz +0 -0
  142. package/build/client/_app/immutable/nodes/3.dAV7FviN.js +1 -0
  143. package/build/client/_app/immutable/nodes/3.dAV7FviN.js.br +0 -0
  144. package/build/client/_app/immutable/nodes/3.dAV7FviN.js.gz +0 -0
  145. package/build/client/_app/immutable/nodes/4.Cm_vMAEA.js +1 -0
  146. package/build/client/_app/immutable/nodes/4.Cm_vMAEA.js.br +0 -0
  147. package/build/client/_app/immutable/nodes/4.Cm_vMAEA.js.gz +0 -0
  148. package/build/client/_app/immutable/nodes/5.DPWuTlaI.js +1 -0
  149. package/build/client/_app/immutable/nodes/5.DPWuTlaI.js.br +0 -0
  150. package/build/client/_app/immutable/nodes/5.DPWuTlaI.js.gz +0 -0
  151. package/build/client/_app/immutable/nodes/6.DY-NLaRW.js +1 -0
  152. package/build/client/_app/immutable/nodes/6.DY-NLaRW.js.br +0 -0
  153. package/build/client/_app/immutable/nodes/6.DY-NLaRW.js.gz +0 -0
  154. package/build/client/_app/immutable/nodes/{8.2oZsfzo8.js → 8.Chuqhf8W.js} +1 -1
  155. package/build/client/_app/immutable/nodes/8.Chuqhf8W.js.br +0 -0
  156. package/build/client/_app/immutable/nodes/8.Chuqhf8W.js.gz +0 -0
  157. package/build/client/_app/immutable/nodes/9.BOEM8f6B.js +2 -0
  158. package/build/client/_app/immutable/nodes/9.BOEM8f6B.js.br +0 -0
  159. package/build/client/_app/immutable/nodes/9.BOEM8f6B.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-TQkJBtAu.js +9 -0
  164. package/build/server/chunks/0-TQkJBtAu.js.map +1 -0
  165. package/build/server/chunks/1-CKxKlw1l.js +9 -0
  166. package/build/server/chunks/{1-BQkMpHdq.js.map → 1-CKxKlw1l.js.map} +1 -1
  167. package/build/server/chunks/10-Bly5Nk7M.js +9 -0
  168. package/build/server/chunks/10-Bly5Nk7M.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-C8CYQOYP.js +9 -0
  172. package/build/server/chunks/17-C8CYQOYP.js.map +1 -0
  173. package/build/server/chunks/18-CtXVGBbS.js +9 -0
  174. package/build/server/chunks/18-CtXVGBbS.js.map +1 -0
  175. package/build/server/chunks/2-DvD0dAh0.js +9 -0
  176. package/build/server/chunks/2-DvD0dAh0.js.map +1 -0
  177. package/build/server/chunks/3-DBzpRDK8.js +9 -0
  178. package/build/server/chunks/3-DBzpRDK8.js.map +1 -0
  179. package/build/server/chunks/4-BUNytyC2.js +9 -0
  180. package/build/server/chunks/4-BUNytyC2.js.map +1 -0
  181. package/build/server/chunks/5-DNo8_tFS.js +9 -0
  182. package/build/server/chunks/{5-C7KuaSU9.js.map → 5-DNo8_tFS.js.map} +1 -1
  183. package/build/server/chunks/6-DUMdIfbf.js +9 -0
  184. package/build/server/chunks/6-DUMdIfbf.js.map +1 -0
  185. package/build/server/chunks/8-DxTJ555u.js +9 -0
  186. package/build/server/chunks/8-DxTJ555u.js.map +1 -0
  187. package/build/server/chunks/9-B4-5k50d.js +9 -0
  188. package/build/server/chunks/9-B4-5k50d.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-zOI_s_3J.js} +122 -71
  212. package/build/server/chunks/_page.svelte-zOI_s_3J.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 +151 -93
  230. package/src/backend/tests/analyze.ts +0 -3
  231. package/src/backend/tests/data.spec.ts +139 -0
  232. package/src/backend/tests/data.ts +296 -65
  233. package/src/backend/tests/emulate-agents.ts +45 -45
  234. package/src/backend/tests/openai-prompt-cache.ts +68 -0
  235. package/src/backend/tests/promptfoo-runtime.spec.ts +41 -0
  236. package/src/backend/tests/promptfoo-runtime.ts +27 -0
  237. package/src/backend/tests/report-files.spec.ts +42 -0
  238. package/src/backend/tests/report-files.ts +101 -0
  239. package/src/backend/tests/router.ts +7 -1
  240. package/build/client/_app/immutable/assets/0.Dz9hcoGY.css +0 -1
  241. package/build/client/_app/immutable/assets/0.Dz9hcoGY.css.br +0 -0
  242. package/build/client/_app/immutable/assets/0.Dz9hcoGY.css.gz +0 -0
  243. package/build/client/_app/immutable/assets/10.BX46PfEJ.css.br +0 -0
  244. package/build/client/_app/immutable/assets/10.BX46PfEJ.css.gz +0 -0
  245. package/build/client/_app/immutable/chunks/-g1l5aoS.js.br +0 -0
  246. package/build/client/_app/immutable/chunks/-g1l5aoS.js.gz +0 -0
  247. package/build/client/_app/immutable/chunks/7E8m6dwk.js +0 -1
  248. package/build/client/_app/immutable/chunks/7E8m6dwk.js.br +0 -0
  249. package/build/client/_app/immutable/chunks/7E8m6dwk.js.gz +0 -0
  250. package/build/client/_app/immutable/chunks/7qRqthsa.js +0 -1
  251. package/build/client/_app/immutable/chunks/7qRqthsa.js.br +0 -2
  252. package/build/client/_app/immutable/chunks/7qRqthsa.js.gz +0 -0
  253. package/build/client/_app/immutable/chunks/AocOovHL.js.br +0 -0
  254. package/build/client/_app/immutable/chunks/AocOovHL.js.gz +0 -0
  255. package/build/client/_app/immutable/chunks/B0iEglSe.js +0 -1
  256. package/build/client/_app/immutable/chunks/B0iEglSe.js.br +0 -0
  257. package/build/client/_app/immutable/chunks/B0iEglSe.js.gz +0 -0
  258. package/build/client/_app/immutable/chunks/BIpSIzUr.js.br +0 -0
  259. package/build/client/_app/immutable/chunks/BIpSIzUr.js.gz +0 -0
  260. package/build/client/_app/immutable/chunks/BL8rPcmP.js.br +0 -0
  261. package/build/client/_app/immutable/chunks/BL8rPcmP.js.gz +0 -0
  262. package/build/client/_app/immutable/chunks/BM0jKynj.js.br +0 -0
  263. package/build/client/_app/immutable/chunks/BM0jKynj.js.gz +0 -0
  264. package/build/client/_app/immutable/chunks/BR5f5i_E.js.br +0 -0
  265. package/build/client/_app/immutable/chunks/BR5f5i_E.js.gz +0 -0
  266. package/build/client/_app/immutable/chunks/BTvePR6r.js +0 -1
  267. package/build/client/_app/immutable/chunks/BTvePR6r.js.br +0 -2
  268. package/build/client/_app/immutable/chunks/BTvePR6r.js.gz +0 -0
  269. package/build/client/_app/immutable/chunks/Bcu62lFq.js +0 -1
  270. package/build/client/_app/immutable/chunks/Bcu62lFq.js.br +0 -0
  271. package/build/client/_app/immutable/chunks/Bcu62lFq.js.gz +0 -0
  272. package/build/client/_app/immutable/chunks/C-whEtKd.js.br +0 -2
  273. package/build/client/_app/immutable/chunks/C-whEtKd.js.gz +0 -0
  274. package/build/client/_app/immutable/chunks/C1WqE8CP.js +0 -1
  275. package/build/client/_app/immutable/chunks/C1WqE8CP.js.br +0 -2
  276. package/build/client/_app/immutable/chunks/C1WqE8CP.js.gz +0 -0
  277. package/build/client/_app/immutable/chunks/C4SnSfql.js +0 -1
  278. package/build/client/_app/immutable/chunks/C4SnSfql.js.br +0 -0
  279. package/build/client/_app/immutable/chunks/C4SnSfql.js.gz +0 -0
  280. package/build/client/_app/immutable/chunks/CSv1VDXg.js +0 -1
  281. package/build/client/_app/immutable/chunks/CSv1VDXg.js.br +0 -0
  282. package/build/client/_app/immutable/chunks/CSv1VDXg.js.gz +0 -0
  283. package/build/client/_app/immutable/chunks/CXo2BVs0.js.br +0 -0
  284. package/build/client/_app/immutable/chunks/CXo2BVs0.js.gz +0 -0
  285. package/build/client/_app/immutable/chunks/CZLNSMhF.js.br +0 -0
  286. package/build/client/_app/immutable/chunks/CZLNSMhF.js.gz +0 -0
  287. package/build/client/_app/immutable/chunks/Cosugfe8.js.br +0 -0
  288. package/build/client/_app/immutable/chunks/Cosugfe8.js.gz +0 -0
  289. package/build/client/_app/immutable/chunks/CqxCTxvJ.js.br +0 -0
  290. package/build/client/_app/immutable/chunks/CqxCTxvJ.js.gz +0 -0
  291. package/build/client/_app/immutable/chunks/CxLG58rb.js +0 -1
  292. package/build/client/_app/immutable/chunks/CxLG58rb.js.br +0 -0
  293. package/build/client/_app/immutable/chunks/CxLG58rb.js.gz +0 -0
  294. package/build/client/_app/immutable/chunks/D-puyTnN.js +0 -1
  295. package/build/client/_app/immutable/chunks/D-puyTnN.js.br +0 -0
  296. package/build/client/_app/immutable/chunks/D-puyTnN.js.gz +0 -0
  297. package/build/client/_app/immutable/chunks/D4obUD_s.js +0 -1
  298. package/build/client/_app/immutable/chunks/D4obUD_s.js.br +0 -0
  299. package/build/client/_app/immutable/chunks/D4obUD_s.js.gz +0 -0
  300. package/build/client/_app/immutable/chunks/D8e7SQh9.js +0 -1
  301. package/build/client/_app/immutable/chunks/D8e7SQh9.js.br +0 -0
  302. package/build/client/_app/immutable/chunks/D8e7SQh9.js.gz +0 -0
  303. package/build/client/_app/immutable/chunks/DNLcpWO_.js.br +0 -0
  304. package/build/client/_app/immutable/chunks/DNLcpWO_.js.gz +0 -0
  305. package/build/client/_app/immutable/chunks/DTlGvFHe.js.br +0 -0
  306. package/build/client/_app/immutable/chunks/DTlGvFHe.js.gz +0 -0
  307. package/build/client/_app/immutable/chunks/DYhTBLDc.js.br +0 -0
  308. package/build/client/_app/immutable/chunks/DYhTBLDc.js.gz +0 -0
  309. package/build/client/_app/immutable/chunks/DlZKMmqG.js +0 -4
  310. package/build/client/_app/immutable/chunks/DlZKMmqG.js.br +0 -0
  311. package/build/client/_app/immutable/chunks/DlZKMmqG.js.gz +0 -0
  312. package/build/client/_app/immutable/chunks/Dv0gjm25.js +0 -1
  313. package/build/client/_app/immutable/chunks/Dv0gjm25.js.br +0 -0
  314. package/build/client/_app/immutable/chunks/Dv0gjm25.js.gz +0 -0
  315. package/build/client/_app/immutable/chunks/Dv8m1cTI.js.br +0 -0
  316. package/build/client/_app/immutable/chunks/HJHYLHDn.js.br +0 -0
  317. package/build/client/_app/immutable/chunks/HJHYLHDn.js.gz +0 -0
  318. package/build/client/_app/immutable/chunks/HXxIsSOO.js.br +0 -0
  319. package/build/client/_app/immutable/chunks/HXxIsSOO.js.gz +0 -0
  320. package/build/client/_app/immutable/chunks/UiXQyKcj.js.br +0 -0
  321. package/build/client/_app/immutable/chunks/UiXQyKcj.js.gz +0 -0
  322. package/build/client/_app/immutable/chunks/_yZg6Sf-.js +0 -2
  323. package/build/client/_app/immutable/chunks/_yZg6Sf-.js.br +0 -0
  324. package/build/client/_app/immutable/chunks/_yZg6Sf-.js.gz +0 -0
  325. package/build/client/_app/immutable/chunks/ks45gSgq.js +0 -1
  326. package/build/client/_app/immutable/chunks/ks45gSgq.js.br +0 -0
  327. package/build/client/_app/immutable/chunks/ks45gSgq.js.gz +0 -0
  328. package/build/client/_app/immutable/entry/app.qxHHRD2v.js +0 -2
  329. package/build/client/_app/immutable/entry/app.qxHHRD2v.js.br +0 -0
  330. package/build/client/_app/immutable/entry/app.qxHHRD2v.js.gz +0 -0
  331. package/build/client/_app/immutable/entry/start.CSxD7zE8.js +0 -1
  332. package/build/client/_app/immutable/entry/start.CSxD7zE8.js.br +0 -2
  333. package/build/client/_app/immutable/entry/start.CSxD7zE8.js.gz +0 -0
  334. package/build/client/_app/immutable/nodes/0.BiYgQci8.js.br +0 -0
  335. package/build/client/_app/immutable/nodes/0.BiYgQci8.js.gz +0 -0
  336. package/build/client/_app/immutable/nodes/1.CShtqUFK.js +0 -1
  337. package/build/client/_app/immutable/nodes/1.CShtqUFK.js.br +0 -0
  338. package/build/client/_app/immutable/nodes/1.CShtqUFK.js.gz +0 -0
  339. package/build/client/_app/immutable/nodes/10.dE-XOJgk.js +0 -7
  340. package/build/client/_app/immutable/nodes/10.dE-XOJgk.js.br +0 -0
  341. package/build/client/_app/immutable/nodes/10.dE-XOJgk.js.gz +0 -0
  342. package/build/client/_app/immutable/nodes/15.Wmhj7gOy.js.br +0 -0
  343. package/build/client/_app/immutable/nodes/15.Wmhj7gOy.js.gz +0 -0
  344. package/build/client/_app/immutable/nodes/17.BwzZwCD0.js +0 -3
  345. package/build/client/_app/immutable/nodes/17.BwzZwCD0.js.br +0 -0
  346. package/build/client/_app/immutable/nodes/17.BwzZwCD0.js.gz +0 -0
  347. package/build/client/_app/immutable/nodes/18.BUMDuaQF.js +0 -11
  348. package/build/client/_app/immutable/nodes/18.BUMDuaQF.js.br +0 -0
  349. package/build/client/_app/immutable/nodes/18.BUMDuaQF.js.gz +0 -0
  350. package/build/client/_app/immutable/nodes/2.DniQTiGZ.js.br +0 -0
  351. package/build/client/_app/immutable/nodes/2.DniQTiGZ.js.gz +0 -0
  352. package/build/client/_app/immutable/nodes/3.BIO1e-qq.js +0 -1
  353. package/build/client/_app/immutable/nodes/3.BIO1e-qq.js.br +0 -0
  354. package/build/client/_app/immutable/nodes/3.BIO1e-qq.js.gz +0 -0
  355. package/build/client/_app/immutable/nodes/4.BwfVTawo.js +0 -1
  356. package/build/client/_app/immutable/nodes/4.BwfVTawo.js.br +0 -0
  357. package/build/client/_app/immutable/nodes/4.BwfVTawo.js.gz +0 -0
  358. package/build/client/_app/immutable/nodes/5.DdodCQcX.js +0 -1
  359. package/build/client/_app/immutable/nodes/5.DdodCQcX.js.br +0 -0
  360. package/build/client/_app/immutable/nodes/5.DdodCQcX.js.gz +0 -0
  361. package/build/client/_app/immutable/nodes/6.EIjYVI_W.js +0 -1
  362. package/build/client/_app/immutable/nodes/6.EIjYVI_W.js.br +0 -0
  363. package/build/client/_app/immutable/nodes/6.EIjYVI_W.js.gz +0 -0
  364. package/build/client/_app/immutable/nodes/8.2oZsfzo8.js.br +0 -0
  365. package/build/client/_app/immutable/nodes/8.2oZsfzo8.js.gz +0 -0
  366. package/build/client/_app/immutable/nodes/9.CjWG6Ha9.js +0 -2
  367. package/build/client/_app/immutable/nodes/9.CjWG6Ha9.js.br +0 -0
  368. package/build/client/_app/immutable/nodes/9.CjWG6Ha9.js.gz +0 -0
  369. package/build/server/chunks/0-S8VzkGgQ.js +0 -9
  370. package/build/server/chunks/0-S8VzkGgQ.js.map +0 -1
  371. package/build/server/chunks/1-BQkMpHdq.js +0 -9
  372. package/build/server/chunks/10-D1k3_nkw.js +0 -9
  373. package/build/server/chunks/10-D1k3_nkw.js.map +0 -1
  374. package/build/server/chunks/17-B72NO3Iu.js +0 -9
  375. package/build/server/chunks/17-B72NO3Iu.js.map +0 -1
  376. package/build/server/chunks/18-4kgQqgz-.js +0 -9
  377. package/build/server/chunks/18-4kgQqgz-.js.map +0 -1
  378. package/build/server/chunks/2-DO8jW3Pl.js +0 -9
  379. package/build/server/chunks/2-DO8jW3Pl.js.map +0 -1
  380. package/build/server/chunks/3-0_f3eZZi.js +0 -9
  381. package/build/server/chunks/3-0_f3eZZi.js.map +0 -1
  382. package/build/server/chunks/4-UxjRsyDW.js +0 -9
  383. package/build/server/chunks/4-UxjRsyDW.js.map +0 -1
  384. package/build/server/chunks/5-C7KuaSU9.js +0 -9
  385. package/build/server/chunks/6-C6EG0SXo.js +0 -9
  386. package/build/server/chunks/6-C6EG0SXo.js.map +0 -1
  387. package/build/server/chunks/8-BTSvDZhI.js +0 -9
  388. package/build/server/chunks/8-BTSvDZhI.js.map +0 -1
  389. package/build/server/chunks/9-CepnUatA.js +0 -9
  390. package/build/server/chunks/9-CepnUatA.js.map +0 -1
  391. package/build/server/chunks/AgentSidebar-XdGj1sqT.js.map +0 -1
  392. package/build/server/chunks/ChatStepTrace-DnvGtFpb.js.map +0 -1
  393. package/build/server/chunks/_layout.svelte-C5Y9nSXi.js.map +0 -1
  394. package/build/server/chunks/_layout.svelte-C7JgNCIu.js.map +0 -1
  395. package/build/server/chunks/_layout.svelte-_oqm8kmr.js.map +0 -1
  396. package/build/server/chunks/_page.svelte-CEhhEdMi.js.map +0 -1
  397. package/build/server/chunks/_page.svelte-DDpBtd3X.js.map +0 -1
  398. package/build/server/chunks/_page.svelte-DOhPbizt.js.map +0 -1
  399. package/build/server/chunks/_page.svelte-QlYvVgTj.js.map +0 -1
  400. package/build/server/chunks/_page.svelte-bkzbqII3.js.map +0 -1
  401. package/build/server/chunks/client-DzvEkq51.js.map +0 -1
  402. package/build/server/chunks/source-selection-eA--VEKo.js +0 -124
  403. package/build/server/chunks/source-selection-eA--VEKo.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"_page.svelte-bkzbqII3.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/traces/conversations/_conversationId_/latency/_page.svelte.js"],"sourcesContent":["import { e as escape_html, f as derived, a as ensure_array_like, c as attr_style, b as attr_class, g as clsx } from \"../../../../../../chunks/index.js\";\nimport { o as onDestroy } from \"../../../../../../chunks/index-server.js\";\nimport { p as page } from \"../../../../../../chunks/index2.js\";\nimport { B as Button } from \"../../../../../../chunks/Button.js\";\n/* empty css */\nimport { g as getPersistedTelescopeSourceId } from \"../../../../../../chunks/source-selection.js\";\nimport { b as buildResponseLatencySpans, f as findResponseLatencyUserTurn, R as RESPONSE_LATENCY_THRESHOLD_MS } from \"../../../../../../chunks/latency.js\";\nfunction _page($$renderer, $$props) {\n $$renderer.component(($$renderer2) => {\n const SPEECH_BUBBLE_HEIGHT_PX = 30;\n const TIMELINE_RULER_HEIGHT_PX = 32;\n const TIMELINE_ROW_HEIGHT_PX = SPEECH_BUBBLE_HEIGHT_PX;\n const TIMELINE_ROW_GAP_PX = 5;\n const WAVEFORM_ROW_HEIGHT_PX = 160;\n const SPEECH_BUBBLE_VERTICAL_GAP_PX = TIMELINE_ROW_GAP_PX;\n const SPEECH_BUBBLE_LEVEL_HEIGHT_PX = SPEECH_BUBBLE_HEIGHT_PX + SPEECH_BUBBLE_VERTICAL_GAP_PX;\n const SPEECH_BUBBLE_PLAYBACK_SPAN_MATCH_BEFORE_MS = 500;\n const SPEECH_BUBBLE_PLAYBACK_SPAN_MATCH_AFTER_MS = 2500;\n const SPEECH_BUBBLE_AGENT_PLAYBACK_MATCH_WINDOW_MS = 3e4;\n const RESPONSE_LATENCY_TRACE_MATCH_TOLERANCE_MS = 250;\n const BOSUN_COLORS = {\n blue: \"#569cd6\",\n green: \"#93FF6D\",\n greenDark: \"#00B58A\",\n orange: \"#ce9178\",\n purple: \"#81147D\",\n red: \"#FF6666\",\n gray: \"#767676\"\n };\n const ROW_DEFS = [\n {\n label: \"VAD\",\n eventTypes: [\"vad.activated\", \"vad.deactivated\"]\n },\n {\n label: \"STT\",\n eventTypes: [\n \"stt.started\",\n \"stt.interim\",\n \"stt.final\",\n \"stt.final_transcript\"\n ]\n },\n { label: \"Trigger\", eventTypes: [\"speech.created\"] },\n {\n label: \"Reply Pending\",\n eventTypes: [\"reply.pending.started\", \"reply.pending.completed\"]\n },\n {\n label: \"LLM Transport\",\n eventTypes: [\n \"llm.connect_tcp.started\",\n \"llm.connect_tcp.completed\",\n \"llm.connect_tcp.failed\",\n \"llm.start_tls.started\",\n \"llm.start_tls.completed\",\n \"llm.start_tls.failed\"\n ]\n },\n {\n label: \"LLM Wait\",\n eventTypes: [\"llm.wait.started\", \"llm.requested\", \"llm.wait.completed\"]\n },\n {\n label: \"LLM Stream\",\n eventTypes: [\n \"llm.stream.started\",\n \"llm.first_token\",\n \"llm.completed\",\n \"llm.stream.completed\"\n ]\n },\n {\n label: \"TTS Text\",\n eventTypes: [\"tts.text.first_sent\", \"tts.text.completed\"]\n },\n {\n label: \"Provider\",\n eventTypes: [\n \"tts.provider.started\",\n \"tts.audio.first_received\",\n \"tts.audio.last_received\",\n \"tts.provider.completed\"\n ]\n },\n {\n label: \"Decode\",\n eventTypes: [\"tts.decode.started\", \"tts.decode.completed\"]\n },\n {\n label: \"Output Queue\",\n eventTypes: [\"audio.output.wait.started\", \"audio.output.wait.completed\"]\n },\n {\n label: \"Playback\",\n eventTypes: [\n \"audio.playback.started\",\n \"audio.playback.stopped\",\n \"audio.playback.ended\"\n ]\n },\n { label: \"Response Latency\" },\n {\n label: \"Interruptions\",\n eventTypes: [\"interruption.detected\", \"audio.playback.interrupted\"]\n },\n { label: \"Other\" }\n ];\n const TIMELINE_ROW_LABELS = new Set(ROW_DEFS.map((row) => row.label));\n const COLOR_BY_KEY = {\n call: tintHex(BOSUN_COLORS.gray, 0.2),\n vad: tintHex(BOSUN_COLORS.purple, 0.35),\n stt: tintHex(BOSUN_COLORS.purple, 0.2),\n trigger: BOSUN_COLORS.greenDark,\n \"response.latency.ok\": BOSUN_COLORS.green,\n \"response.latency.high\": BOSUN_COLORS.red,\n \"reply.pending\": tintHex(BOSUN_COLORS.greenDark, 0.18),\n \"llm.transport\": tintHex(BOSUN_COLORS.blue, 0.18),\n \"llm.wait\": tintHex(BOSUN_COLORS.blue, -0.25),\n \"llm.stream\": BOSUN_COLORS.blue,\n \"tts.text\": BOSUN_COLORS.orange,\n \"tts.provider.lifecycle\": tintHex(BOSUN_COLORS.purple, -0.18),\n \"tts.provider\": tintHex(BOSUN_COLORS.purple, 0.12),\n \"tts.decode\": tintHex(BOSUN_COLORS.orange, -0.12),\n \"audio.output.wait\": BOSUN_COLORS.orange,\n playback: tintHex(BOSUN_COLORS.greenDark, -0.08),\n interruption: BOSUN_COLORS.orange,\n other: BOSUN_COLORS.gray\n };\n const SPAN_RULES = [\n {\n startEventType: \"reply.pending.started\",\n endEventType: \"reply.pending.completed\",\n row: \"Reply Pending\",\n colorKey: \"reply.pending\",\n label: \"Reply pending\",\n description: \"Derived from adjacent reply-pending lifecycle events\"\n },\n {\n startEventType: \"llm.connect_tcp.started\",\n endEventType: \"llm.connect_tcp.completed\",\n row: \"LLM Transport\",\n colorKey: \"llm.transport\",\n label: \"Connect TCP\",\n description: \"Derived from adjacent TCP connect lifecycle events\"\n },\n {\n startEventType: \"llm.start_tls.started\",\n endEventType: \"llm.start_tls.completed\",\n row: \"LLM Transport\",\n colorKey: \"llm.transport\",\n label: \"Start TLS\",\n description: \"Derived from adjacent TLS lifecycle events\"\n },\n {\n startEventType: \"llm.wait.started\",\n endEventType: \"llm.wait.completed\",\n row: \"LLM Wait\",\n colorKey: \"llm.wait\",\n label: \"LLM wait\",\n description: \"Derived from adjacent LLM wait lifecycle events\"\n },\n {\n startEventType: \"llm.stream.started\",\n endEventType: \"llm.stream.completed\",\n row: \"LLM Stream\",\n colorKey: \"llm.stream\",\n label: \"LLM stream\",\n description: \"Derived from adjacent LLM stream lifecycle events\"\n },\n {\n startEventType: \"tts.text.first_sent\",\n endEventType: \"tts.text.completed\",\n row: \"TTS Text\",\n colorKey: \"tts.text\",\n label: \"TTS text send\",\n description: \"Derived from adjacent TTS text send and completion events\"\n },\n {\n startEventType: \"tts.provider.started\",\n endEventType: \"tts.audio.first_received\",\n row: \"Provider\",\n colorKey: \"tts.provider.lifecycle\",\n label: \"Provider wait\",\n description: \"Derived from adjacent provider start and first-audio events\"\n },\n {\n startEventType: \"tts.audio.first_received\",\n endEventType: \"tts.provider.completed\",\n row: \"Provider\",\n colorKey: \"tts.provider\",\n label: \"Provider audio\",\n description: \"Derived from adjacent provider first-audio and completion events\"\n },\n {\n startEventType: \"tts.decode.started\",\n endEventType: \"tts.decode.completed\",\n row: \"Decode\",\n colorKey: \"tts.decode\",\n label: \"Decode\",\n description: \"Derived from adjacent local decode lifecycle events\"\n },\n {\n startEventType: \"audio.output.wait.started\",\n endEventType: \"audio.output.wait.completed\",\n row: \"Output Queue\",\n colorKey: \"audio.output.wait\",\n label: \"Output queue\",\n description: \"Derived from adjacent audio-output wait lifecycle events\"\n },\n {\n startEventType: \"audio.playback.started\",\n endEventType: \"audio.playback.stopped\",\n row: \"Playback\",\n colorKey: \"playback\",\n label: \"Playback\",\n description: \"Derived from adjacent playback start and playback stop events\"\n }\n ];\n const SPAN_RULE_BY_START = new Map(SPAN_RULES.map((rule) => [rule.startEventType, rule]));\n getPersistedTelescopeSourceId() ?? \"\";\n let traces = [];\n let conversationTraces = [];\n let recording = {\n exists: false,\n alignmentOffsetMs: 0\n };\n let uploadInFlight = false;\n let playbackPositionMs = 0;\n let playbackPlaying = false;\n let viewportStartMs = null;\n let viewportEndMs = null;\n let fileInputEl = null;\n let humanSpeechBubbleReservedLevels = 1;\n let copyLatencyState = \"idle\";\n let playbackAudioContext = null;\n let playbackSourceNode = null;\n let playbackStartedAtMs = null;\n let playbackStartedAtContextTime = null;\n const conversationId = derived(() => page.params.conversationId);\n const timelineOriginMs = derived(() => {\n let min = Number.POSITIVE_INFINITY;\n for (const trace of traces) {\n if (typeof trace.atMs !== \"number\" || !Number.isFinite(trace.atMs)) continue;\n min = Math.min(min, trace.atMs);\n }\n if (Number.isFinite(min)) return min;\n return Number.isFinite(min) ? min : 0;\n });\n const callSegments = derived(() => buildCallLatencySegments(traces));\n const latencyTraceCount = derived(() => traces.length);\n const playbackSpeechBySegmentId = derived(() => buildPlaybackSpeechBySegmentId(callSegments()));\n const timelineSegments = derived(() => callSegments().map((segment) => {\n const speech = playbackSpeechBySegmentId().get(segment.id);\n if (!speech || segment.row !== \"Playback\" || segment.durationMs <= 0) return segment;\n return {\n ...segment,\n speechText: speech.text,\n speechTraceLabel: speech.traceLabel\n };\n }));\n const timelineRows = derived(() => {\n const grouped = /* @__PURE__ */ new Map();\n for (const segment of timelineSegments()) {\n const items = grouped.get(segment.row);\n if (items) items.push(segment);\n else grouped.set(segment.row, [segment]);\n }\n return [...ROW_DEFS].reverse().map((row) => ({ label: row.label, segments: grouped.get(row.label) ?? [] })).filter((row) => row.segments.length > 0);\n });\n const speechBubbleBaseLayouts = derived(() => buildSpeechBubbleBaseLayouts());\n const humanSpeechBubbleLevelCount = derived(() => Math.max(humanSpeechBubbleReservedLevels, speechBubbleRoleLevelCount(speechBubbleBaseLayouts(), \"human\")));\n const speechBubbles = derived(() => compactSpeechBubbleLayouts(speechBubbleBaseLayouts()));\n const humanSpeechBubbleLaneHeightPx = derived(() => speechBubbleLaneHeightPx(humanSpeechBubbleLevelCount()));\n const speechBubbleAreaHeightPx = derived(() => humanSpeechBubbleLaneHeightPx());\n const timelineRowsHeightPx = derived(() => timelineRows().length * TIMELINE_ROW_HEIGHT_PX + Math.max(0, timelineRows().length - 1) * TIMELINE_ROW_GAP_PX);\n const traceRowsToBubbleGapPx = derived(() => timelineRows().length > 0 ? TIMELINE_ROW_GAP_PX : 0);\n const speechBubbleAreaTopPx = derived(() => TIMELINE_RULER_HEIGHT_PX + timelineRowsHeightPx() + traceRowsToBubbleGapPx());\n const waveformRowVisible = derived(() => recording.exists);\n const waveformRowHeightPx = derived(() => waveformRowVisible() ? TIMELINE_ROW_GAP_PX + WAVEFORM_ROW_HEIGHT_PX : 0);\n const guideLines = derived(() => buildGuideLines(timelineRows()));\n const recordingStartMs = derived(() => {\n return null;\n });\n const timelinePlotHeightPx = derived(() => TIMELINE_RULER_HEIGHT_PX + timelineRowsHeightPx() + traceRowsToBubbleGapPx() + speechBubbleAreaHeightPx() + waveformRowHeightPx());\n const playbackAbsoluteMs = derived(() => {\n if (recordingStartMs() == null) return null;\n return recordingStartMs() + playbackPositionMs;\n });\n const playbackCursor = derived(() => {\n const absoluteMs = playbackAbsoluteMs();\n if (absoluteMs == null || viewportStartMs == null || viewportEndMs == null) return null;\n const durationMs = viewportEndMs - viewportStartMs;\n if (!Number.isFinite(durationMs) || durationMs <= 0) return null;\n if (absoluteMs < viewportStartMs || absoluteMs > viewportEndMs) return null;\n return {\n leftPercent: clamp((absoluteMs - viewportStartMs) / durationMs * 100, 0, 100),\n topPx: TIMELINE_RULER_HEIGHT_PX,\n heightPx: Math.max(1, timelinePlotHeightPx() - TIMELINE_RULER_HEIGHT_PX)\n };\n });\n const timelineOriginLine = derived(() => {\n if (viewportStartMs == null || viewportEndMs == null) return null;\n const durationMs = viewportEndMs - viewportStartMs;\n if (!Number.isFinite(durationMs) || durationMs <= 0) return null;\n if (timelineOriginMs() < viewportStartMs || timelineOriginMs() > viewportEndMs) return null;\n return {\n leftPercent: (timelineOriginMs() - viewportStartMs) / durationMs * 100,\n topPx: TIMELINE_RULER_HEIGHT_PX,\n heightPx: Math.max(1, timelinePlotHeightPx() - TIMELINE_RULER_HEIGHT_PX)\n };\n });\n const contentExtent = derived(() => {\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n for (const segment of callSegments()) {\n min = Math.min(min, segment.start);\n max = Math.max(max, segment.end);\n }\n if (!Number.isFinite(min) || !Number.isFinite(max)) return null;\n if (max <= min) max = min + 1;\n return { min, max };\n });\n const conversationTraceExtent = derived(() => {\n let min = Number.POSITIVE_INFINITY;\n let max = Number.NEGATIVE_INFINITY;\n for (const segment of callSegments()) {\n if (!TIMELINE_ROW_LABELS.has(segment.row)) continue;\n min = Math.min(min, segment.start);\n max = Math.max(max, segment.end);\n }\n if (!Number.isFinite(min) || !Number.isFinite(max)) return null;\n if (max <= min) max = min + 1;\n return { min, max };\n });\n const viewportDurationMs = derived(() => {\n if (viewportStartMs == null || viewportEndMs == null) return null;\n const duration = viewportEndMs - viewportStartMs;\n return duration > 0 ? duration : null;\n });\n const visibleTicks = derived(() => {\n if (viewportStartMs == null || viewportEndMs == null) return [];\n return buildTicks(viewportStartMs, viewportEndMs, timelineOriginMs());\n });\n onDestroy(() => {\n stopPlayback(false);\n void closePlaybackAudioContext();\n });\n function normalizeNonEmptyString(value) {\n if (typeof value !== \"string\") return null;\n const trimmed = value.trim();\n return trimmed ? trimmed : null;\n }\n function ms(value) {\n return typeof value === \"number\" && Number.isFinite(value) ? value : null;\n }\n function clampByte(value) {\n return Math.max(0, Math.min(255, Math.round(value)));\n }\n function clamp(value, min, max) {\n return Math.min(max, Math.max(min, value));\n }\n function tintHex(hex, amount) {\n const raw = (hex ?? \"\").trim().replace(/^#/, \"\");\n const expanded = raw.length === 3 ? raw.split(\"\").map((part) => `${part}${part}`).join(\"\") : raw;\n if (expanded.length !== 6 || !/^[0-9a-fA-F]+$/.test(expanded)) return hex;\n const r = parseInt(expanded.slice(0, 2), 16);\n const g = parseInt(expanded.slice(2, 4), 16);\n const b = parseInt(expanded.slice(4, 6), 16);\n const t = Math.abs(Math.max(-1, Math.min(1, amount)));\n const target = amount >= 0 ? 255 : 0;\n return `#${clampByte(r + (target - r) * t).toString(16).padStart(2, \"0\")}${clampByte(g + (target - g) * t).toString(16).padStart(2, \"0\")}${clampByte(b + (target - b) * t).toString(16).padStart(2, \"0\")}`;\n }\n function fmtSignedMs(value) {\n if (!Number.isFinite(value)) return \"0 ms\";\n const rounded = Math.round(value);\n if (rounded === 0) return \"0 ms\";\n return `${rounded > 0 ? \"+\" : \"\"}${rounded} ms`;\n }\n function formatRelativeTime(offsetMs) {\n if (!Number.isFinite(offsetMs)) return \"—\";\n const sign = offsetMs < 0 ? \"-\" : \"\";\n const abs = Math.abs(offsetMs);\n if (abs < 1e4) return `${sign}${(abs / 1e3).toFixed(1)}s`;\n if (abs < 6e4) return `${sign}${(abs / 1e3).toFixed(2)}s`;\n const totalSeconds = abs / 1e3;\n const minutes = Math.floor(totalSeconds / 60);\n const seconds = totalSeconds - minutes * 60;\n return `${sign}${minutes}:${seconds.toFixed(1).padStart(4, \"0\")}`;\n }\n function safeJson(value) {\n try {\n return JSON.stringify(value ?? null, null, 2);\n } catch {\n return String(value);\n }\n }\n async function copyLatencyStream() {\n try {\n await navigator.clipboard.writeText(safeJson(traces));\n copyLatencyState = \"ok\";\n window.setTimeout(\n () => {\n copyLatencyState = \"idle\";\n },\n 2e3\n );\n } catch (reason) {\n console.error(\"Failed to copy latency stream\", reason);\n copyLatencyState = \"error\";\n window.setTimeout(\n () => {\n copyLatencyState = \"idle\";\n },\n 3e3\n );\n }\n }\n function describeTrace(trace) {\n const time = typeof trace.createdAt === \"number\" && Number.isFinite(trace.createdAt) ? new Date(trace.createdAt).toLocaleTimeString() : \"unknown time\";\n if (trace.traceType === \"LATENCY\") {\n return `Latency • #${trace.seq ?? \"?\"} • ${trace.eventType ?? \"unknown\"} • ${time}`;\n }\n if (trace.traceType === \"CONVERSATIONAL\") {\n return `Conversational • ${trace.eventName} • ${time}`;\n }\n if (trace.traceType === \"STEP\") {\n return `Step • ${trace.name ?? \"unknown\"} • ${time}`;\n }\n return `API • ${trace.operationName} • ${time}`;\n }\n function latencyPayload(trace) {\n const payload = trace.payload;\n return payload && typeof payload === \"object\" && !Array.isArray(payload) ? payload : {};\n }\n function latencyRow(eventType) {\n if (eventType === \"call.started\" || eventType === \"call.ended\") return \"Call\";\n if (eventType.startsWith(\"vad.\")) return \"VAD\";\n if (eventType.startsWith(\"stt.\")) return \"STT\";\n if (eventType === \"speech.created\") return \"Trigger\";\n if (eventType.startsWith(\"reply.pending.\")) return \"Reply Pending\";\n if (eventType.startsWith(\"llm.connect_tcp.\") || eventType.startsWith(\"llm.start_tls.\")) {\n return \"LLM Transport\";\n }\n if (eventType === \"llm.requested\" || eventType.startsWith(\"llm.wait.\")) return \"LLM Wait\";\n if (eventType === \"llm.first_token\" || eventType === \"llm.completed\" || eventType.startsWith(\"llm.stream.\")) {\n return \"LLM Stream\";\n }\n if (eventType.startsWith(\"tts.text.\")) return \"TTS Text\";\n if (eventType.startsWith(\"tts.provider.\")) return \"Provider\";\n if (eventType === \"tts.audio.first_received\" || eventType === \"tts.audio.last_received\") {\n return \"Provider\";\n }\n if (eventType.startsWith(\"tts.decode.\")) return \"Decode\";\n if (eventType.startsWith(\"audio.output.wait.\")) return \"Output Queue\";\n if (eventType === \"interruption.detected\" || eventType === \"audio.playback.interrupted\") {\n return \"Interruptions\";\n }\n if (eventType.startsWith(\"audio.playback.\")) return \"Playback\";\n return \"Other\";\n }\n function latencyColorKey(eventType) {\n if (eventType === \"call.started\" || eventType === \"call.ended\") return \"call\";\n if (eventType.startsWith(\"vad.\")) return \"vad\";\n if (eventType.startsWith(\"stt.\")) return \"stt\";\n if (eventType === \"speech.created\") return \"trigger\";\n if (eventType.startsWith(\"reply.pending.\")) return \"reply.pending\";\n if (eventType.startsWith(\"llm.connect_tcp.\") || eventType.startsWith(\"llm.start_tls.\")) {\n return \"llm.transport\";\n }\n if (eventType === \"llm.requested\" || eventType.startsWith(\"llm.wait.\")) return \"llm.wait\";\n if (eventType === \"llm.first_token\" || eventType === \"llm.completed\" || eventType.startsWith(\"llm.stream.\")) {\n return \"llm.stream\";\n }\n if (eventType.startsWith(\"tts.text.\")) return \"tts.text\";\n if (eventType.startsWith(\"tts.provider.\")) return \"tts.provider.lifecycle\";\n if (eventType === \"tts.audio.first_received\" || eventType === \"tts.audio.last_received\") {\n return \"tts.provider\";\n }\n if (eventType.startsWith(\"tts.decode.\")) return \"tts.decode\";\n if (eventType.startsWith(\"audio.output.wait.\")) return \"audio.output.wait\";\n if (eventType === \"interruption.detected\" || eventType === \"audio.playback.interrupted\") {\n return \"interruption\";\n }\n if (eventType.startsWith(\"audio.playback.\")) return \"playback\";\n return \"other\";\n }\n function latencyEventMarker(eventType) {\n switch (eventType) {\n case \"vad.activated\":\n case \"stt.started\":\n return \"start\";\n case \"vad.deactivated\":\n case \"stt.final\":\n case \"stt.final_transcript\":\n return \"end\";\n default:\n return null;\n }\n }\n function latencyLabel(trace) {\n switch (trace.eventType) {\n case \"call.started\":\n return \"Call started\";\n case \"call.ended\":\n return \"Call ended\";\n case \"vad.activated\":\n return \"VAD activated\";\n case \"vad.deactivated\":\n return \"VAD deactivated\";\n case \"stt.started\":\n return \"STT start\";\n case \"stt.interim\":\n return \"STT interim\";\n case \"stt.final\":\n case \"stt.final_transcript\":\n return \"STT final\";\n case \"speech.created\":\n return \"Speech created\";\n case \"reply.pending.started\":\n return \"Reply pending start\";\n case \"reply.pending.completed\":\n return \"Reply pending end\";\n case \"llm.connect_tcp.started\":\n return \"Connect TCP start\";\n case \"llm.connect_tcp.completed\":\n return \"Connect TCP end\";\n case \"llm.connect_tcp.failed\":\n return \"Connect TCP failed\";\n case \"llm.start_tls.started\":\n return \"TLS start\";\n case \"llm.start_tls.completed\":\n return \"TLS end\";\n case \"llm.start_tls.failed\":\n return \"TLS failed\";\n case \"llm.wait.started\":\n return \"LLM wait start\";\n case \"llm.wait.completed\":\n return \"LLM wait end\";\n case \"llm.stream.started\":\n return \"LLM stream start\";\n case \"llm.stream.completed\":\n return \"LLM stream end\";\n case \"llm.requested\":\n return \"LLM request\";\n case \"llm.first_token\":\n return \"LLM first token\";\n case \"llm.completed\":\n return \"LLM end\";\n case \"tts.text.first_sent\":\n return \"TTS first text\";\n case \"tts.text.completed\":\n return \"TTS text end\";\n case \"tts.provider.started\":\n return \"Provider start\";\n case \"tts.provider.completed\":\n return \"Provider end\";\n case \"tts.audio.first_received\":\n return \"Provider audio received\";\n case \"tts.audio.last_received\":\n return \"Provider audio end\";\n case \"tts.decode.started\":\n return \"Decode start\";\n case \"tts.decode.completed\":\n return \"Decode end\";\n case \"audio.output.wait.started\":\n return \"Output queue start\";\n case \"audio.output.wait.completed\":\n return \"Output queue end\";\n case \"interruption.detected\":\n return \"Interruption detected\";\n case \"audio.playback.started\":\n return \"Playback start\";\n case \"audio.playback.stopped\":\n return \"Playback stop\";\n case \"audio.playback.ended\":\n return \"Playback end\";\n case \"audio.playback.interrupted\":\n return \"Playback interrupted\";\n default:\n return trace.eventType;\n }\n }\n function latencyDescription(trace) {\n const payload = latencyPayload(trace);\n switch (trace.eventType) {\n case \"call.started\":\n return \"Call-scoped latency stream started\";\n case \"call.ended\":\n return \"Call-scoped latency stream ended\";\n case \"vad.activated\":\n return \"Raw VAD activation event\";\n case \"vad.deactivated\":\n return \"Raw VAD deactivation event\";\n case \"stt.started\":\n return \"Speech-to-text detected speech start\";\n case \"stt.interim\":\n return normalizeNonEmptyString(payload.originalType) === \"preflight_transcript\" ? \"Speech-to-text preflight transcript\" : \"Speech-to-text interim transcript\";\n case \"stt.final\":\n case \"stt.final_transcript\":\n return \"Speech-to-text final transcript\";\n case \"speech.created\":\n return \"LiveKit created a speech handle\";\n case \"reply.pending.started\":\n return \"Reply generation was committed, but downstream generation has not started yet\";\n case \"reply.pending.completed\":\n return \"Reply generation moved from pending into the LLM request phase\";\n case \"llm.connect_tcp.started\":\n return \"httpcore started opening a new TCP connection for the LLM request\";\n case \"llm.connect_tcp.completed\":\n return \"httpcore finished opening a new TCP connection for the LLM request\";\n case \"llm.connect_tcp.failed\":\n return \"httpcore failed while opening a new TCP connection for the LLM request\";\n case \"llm.start_tls.started\":\n return \"httpcore started TLS negotiation for the LLM request\";\n case \"llm.start_tls.completed\":\n return \"httpcore finished TLS negotiation for the LLM request\";\n case \"llm.start_tls.failed\":\n return \"httpcore failed during TLS negotiation for the LLM request\";\n case \"llm.wait.started\":\n return \"LLM request is in flight and waiting for the first token\";\n case \"llm.wait.completed\":\n return \"The LLM wait phase ended when the first token arrived\";\n case \"llm.stream.started\":\n return \"LLM streaming phase started\";\n case \"llm.stream.completed\":\n return \"LLM streaming phase ended\";\n case \"llm.requested\":\n return \"AnyVan received an LLM request\";\n case \"llm.first_token\":\n return \"First LLM token received\";\n case \"llm.completed\":\n return \"LLM streaming completed\";\n case \"tts.text.first_sent\":\n return \"First text chunk sent to the TTS provider\";\n case \"tts.text.completed\":\n return \"Last non-empty text chunk observed for this TTS stream\";\n case \"tts.provider.started\":\n return \"Provider lifecycle started when the first non-empty TTS text chunk was sent\";\n case \"tts.provider.completed\":\n return \"Provider lifecycle ended when the provider stream reported completion\";\n case \"tts.audio.first_received\":\n return \"First audio chunk received from the TTS provider\";\n case \"tts.audio.last_received\":\n return \"Last audio chunk received from the TTS provider\";\n case \"tts.decode.started\":\n return \"First provider audio bytes were handed into the local decode path\";\n case \"tts.decode.completed\":\n return \"The first decoded audio frame left the local decode path\";\n case \"audio.output.wait.started\":\n return \"The first local audio frame was handed to the LiveKit audio output\";\n case \"audio.output.wait.completed\":\n return \"The audio-output wait phase ended when low-level playback actually started\";\n case \"interruption.detected\":\n return \"User speech overlapped active playback; this does not guarantee playback stopped\";\n case \"audio.playback.started\":\n return \"First played audio frame\";\n case \"audio.playback.stopped\":\n return \"Playback lifecycle ended on the Playback row\";\n case \"audio.playback.ended\":\n return \"Audio playback finished normally\";\n case \"audio.playback.interrupted\":\n return \"Audio playback ended because the output buffer was interrupted\";\n default:\n return null;\n }\n }\n function latencyText(trace) {\n const payload = latencyPayload(trace);\n return normalizeNonEmptyString(payload.text);\n }\n function isFinalSttLatencyTrace(trace) {\n return trace.eventType === \"stt.final\" || trace.eventType === \"stt.final_transcript\";\n }\n function cleanBubbleText(value) {\n const text = normalizeNonEmptyString(value);\n if (!text) return null;\n const cleaned = text.replace(/<break\\b[^>]*\\/?>/gi, \" \").replace(/<[^>]+>/g, \" \").replace(/\\s+/g, \" \").trim();\n return cleaned || null;\n }\n function latencyTranscriptText(trace) {\n const payload = latencyPayload(trace);\n const text = cleanBubbleText(payload.text) ?? cleanBubbleText(payload.transcript) ?? cleanBubbleText(payload.finalTranscript) ?? cleanBubbleText(payload.final_transcript) ?? cleanBubbleText(payload.message);\n if (text) return text;\n const alternatives = payload.alternatives;\n if (Array.isArray(alternatives)) {\n for (const alternative of alternatives) {\n if (!alternative || typeof alternative !== \"object\") continue;\n const alternativeText = cleanBubbleText(alternative.text);\n if (alternativeText) return alternativeText;\n }\n }\n return null;\n }\n function isConversationalTrace(trace) {\n return trace.traceType === \"CONVERSATIONAL\";\n }\n function isUserConversationalTrace(trace) {\n return isConversationalTrace(trace) && trace.role.toLowerCase() === \"user\" && (trace.eventName === \"received-message\" || trace.eventName === \"llm-handler-stream-requested\");\n }\n function isAgentConversationalTrace(trace) {\n return isConversationalTrace(trace) && (trace.eventName === \"finished-main-streaming-step\" || trace.eventName === \"sent-message\");\n }\n function conversationalTraceKey(trace) {\n return normalizeNonEmptyString(trace.traceId) ?? `${trace.createdAt}:${trace.eventName}:${trace.content}`;\n }\n function findPreviousConversationalTrace(items, beforeIndex) {\n for (let index = beforeIndex - 1; index >= 0; index -= 1) {\n const candidate = items[index];\n if (candidate.traceType === \"CONVERSATIONAL\") return candidate;\n }\n return null;\n }\n function findResponseLatencyAgentTrace(items, span) {\n const startCreatedAt = ms(span.startTrace.createdAt);\n const endCreatedAt = ms(span.endTrace.createdAt);\n if (startCreatedAt == null) return null;\n for (let index = 0; index < items.length; index += 1) {\n const candidate = items[index];\n if (!isAgentConversationalTrace(candidate)) continue;\n if (candidate.createdAt < startCreatedAt - RESPONSE_LATENCY_TRACE_MATCH_TOLERANCE_MS) {\n continue;\n }\n if (endCreatedAt != null && candidate.createdAt < endCreatedAt - RESPONSE_LATENCY_TRACE_MATCH_TOLERANCE_MS) {\n continue;\n }\n const previous = findPreviousConversationalTrace(items, index);\n if (!previous || !isUserConversationalTrace(previous)) continue;\n return candidate;\n }\n return null;\n }\n function segmentDistanceFromTime(segment, timeMs) {\n if (timeMs >= segment.start && timeMs <= segment.end) return 0;\n return Math.min(Math.abs(timeMs - segment.start), Math.abs(timeMs - segment.end));\n }\n function findPlaybackSegmentForSpan(span, playbackSegments, usedSegmentIds) {\n const candidates = playbackSegments.filter((segment) => {\n if (usedSegmentIds.has(segment.id)) return false;\n return segment.start >= span.end - SPEECH_BUBBLE_PLAYBACK_SPAN_MATCH_BEFORE_MS && segment.start <= span.end + SPEECH_BUBBLE_PLAYBACK_SPAN_MATCH_AFTER_MS;\n }).sort((a, b) => Math.abs(a.start - span.end) - Math.abs(b.start - span.end));\n if (candidates[0]) return candidates[0];\n return playbackSegments.find((segment) => !usedSegmentIds.has(segment.id) && segment.start <= span.end + SPEECH_BUBBLE_PLAYBACK_SPAN_MATCH_AFTER_MS && segment.end >= span.end - SPEECH_BUBBLE_PLAYBACK_SPAN_MATCH_BEFORE_MS) ?? null;\n }\n function findPlaybackSegmentForAgentTrace(trace, playbackSegments, usedSegmentIds) {\n const traceTime = ms(trace.createdAt);\n if (traceTime == null) return null;\n const candidates = playbackSegments.filter((segment) => {\n if (usedSegmentIds.has(segment.id)) return false;\n return segment.end >= traceTime - SPEECH_BUBBLE_AGENT_PLAYBACK_MATCH_WINDOW_MS && segment.start <= traceTime + SPEECH_BUBBLE_AGENT_PLAYBACK_MATCH_WINDOW_MS;\n }).sort((a, b) => segmentDistanceFromTime(a, traceTime) - segmentDistanceFromTime(b, traceTime));\n return candidates[0] ?? null;\n }\n function callStartTime() {\n for (const trace of traces.slice().sort(compareLatencyTraces)) {\n if (trace.eventType === \"call.started\" && Number.isFinite(trace.atMs)) return trace.atMs;\n }\n return timelineOriginMs();\n }\n function findHumanBubbleStartTime(anchorTime, playbackSegments) {\n const lastPlayback = playbackSegments.filter((segment) => segment.start <= anchorTime).sort((a, b) => b.start - a.start || b.end - a.end)[0];\n if (!lastPlayback) return Math.min(callStartTime(), anchorTime);\n if (lastPlayback.end <= anchorTime) return Math.min(lastPlayback.end, anchorTime);\n return Math.min(lastPlayback.start, anchorTime);\n }\n function traceKey(trace) {\n return normalizeNonEmptyString(trace.traceId) ?? `${trace.seq ?? \"?\"}:${trace.createdAt ?? \"?\"}`;\n }\n function buildTtsTextEvents() {\n return traces.slice().sort(compareLatencyTraces).flatMap((trace) => {\n if (trace.eventType !== \"tts.text.first_sent\" && trace.eventType !== \"tts.text.completed\") {\n return [];\n }\n const text = cleanBubbleText(latencyText(trace));\n return text ? [{ trace, text }] : [];\n });\n }\n function findTtsTextForPlayback(playbackSegment, ttsTextEvents, usedTextTraceIds, previousPlaybackEnd) {\n const lowerBound = previousPlaybackEnd - 250;\n const upperBound = playbackSegment.start + 2e3;\n const candidates = ttsTextEvents.filter(({ trace }) => {\n if (usedTextTraceIds.has(traceKey(trace))) return false;\n return trace.atMs >= lowerBound && trace.atMs <= upperBound;\n }).sort((a, b) => Math.abs(a.trace.atMs - playbackSegment.start) - Math.abs(b.trace.atMs - playbackSegment.start));\n return candidates[0] ?? null;\n }\n function buildPlaybackSpeechBySegmentId(inputSegments) {\n const built = /* @__PURE__ */ new Map();\n const playbackSegments = inputSegments.filter((segment) => segment.row === \"Playback\" && segment.durationMs > 0).sort((a, b) => a.start - b.start || a.end - b.end);\n const usedPlaybackSegmentIds = /* @__PURE__ */ new Set();\n const usedAgentTraceIds = /* @__PURE__ */ new Set();\n const usedTtsTextTraceIds = /* @__PURE__ */ new Set();\n const ttsTextEvents = buildTtsTextEvents();\n let previousPlaybackEnd = callStartTime();\n for (const playbackSegment of playbackSegments) {\n const ttsText = findTtsTextForPlayback(playbackSegment, ttsTextEvents, usedTtsTextTraceIds, previousPlaybackEnd);\n previousPlaybackEnd = Math.max(previousPlaybackEnd, playbackSegment.end);\n if (!ttsText) continue;\n usedPlaybackSegmentIds.add(playbackSegment.id);\n usedTtsTextTraceIds.add(traceKey(ttsText.trace));\n built.set(playbackSegment.id, { text: ttsText.text, traceLabel: describeTrace(ttsText.trace) });\n }\n for (const span of buildResponseLatencySpans(traces)) {\n if (findResponseLatencyUserTurn(conversationTraces, span) == null) continue;\n const agentTrace = findResponseLatencyAgentTrace(conversationTraces, span);\n if (!agentTrace) continue;\n const text = cleanBubbleText(agentTrace.content);\n if (!text) continue;\n const playbackSegment = findPlaybackSegmentForSpan(span, playbackSegments, usedPlaybackSegmentIds);\n if (!playbackSegment) continue;\n usedPlaybackSegmentIds.add(playbackSegment.id);\n usedAgentTraceIds.add(conversationalTraceKey(agentTrace));\n built.set(playbackSegment.id, { text, traceLabel: describeTrace(agentTrace) });\n }\n const agentTraces = conversationTraces.filter(isAgentConversationalTrace).sort(compareConversationTraces);\n for (const agentTrace of agentTraces) {\n const traceKey2 = conversationalTraceKey(agentTrace);\n if (usedAgentTraceIds.has(traceKey2)) continue;\n const text = cleanBubbleText(agentTrace.content);\n if (!text) continue;\n const playbackSegment = findPlaybackSegmentForAgentTrace(agentTrace, playbackSegments, usedPlaybackSegmentIds);\n if (!playbackSegment) continue;\n usedPlaybackSegmentIds.add(playbackSegment.id);\n usedAgentTraceIds.add(traceKey2);\n built.set(playbackSegment.id, { text, traceLabel: describeTrace(agentTrace) });\n }\n return built;\n }\n function buildSpeechBubbleCandidates() {\n const built = [];\n const playbackSegments = callSegments().filter((segment) => segment.row === \"Playback\" && segment.durationMs > 0).sort((a, b) => a.start - b.start || a.end - b.end);\n traces.slice().sort(compareLatencyTraces).forEach((trace) => {\n if (!isFinalSttLatencyTrace(trace)) return;\n const text = latencyTranscriptText(trace);\n if (!text) return;\n built.push({\n id: `bubble:human:${trace.traceId ?? trace.seq}`,\n role: \"human\",\n text,\n fullText: text,\n anchorTime: trace.atMs,\n minStartTime: findHumanBubbleStartTime(trace.atMs, playbackSegments),\n anchorRow: \"STT\",\n traceLabel: describeTrace(trace)\n });\n });\n return built.sort((a, b) => a.anchorTime - b.anchorTime || a.role.localeCompare(b.role) || a.id.localeCompare(b.id));\n }\n function timelineRowAnchorPx(rowLabel) {\n const rowIndex = timelineRows().findIndex((row) => row.label === rowLabel);\n if (rowIndex === -1) return TIMELINE_RULER_HEIGHT_PX;\n return TIMELINE_RULER_HEIGHT_PX + rowIndex * (TIMELINE_ROW_HEIGHT_PX + TIMELINE_ROW_GAP_PX) + Math.round(TIMELINE_ROW_HEIGHT_PX / 2);\n }\n function speechBubbleRoleLevelCount(bubbles, role) {\n let maxLevel = -1;\n for (const bubble of bubbles) {\n if (bubble.role !== role) continue;\n maxLevel = Math.max(maxLevel, bubble.level);\n }\n return Math.max(1, maxLevel + 1);\n }\n function speechBubbleLaneHeightPx(levelCount) {\n return Math.max(1, levelCount) * SPEECH_BUBBLE_LEVEL_HEIGHT_PX;\n }\n function compactSpeechBubbleLayouts(bubbles) {\n const bubbleAreaTopPx = speechBubbleAreaTopPx();\n return bubbles.map((bubble) => {\n const topPx = bubble.level * SPEECH_BUBBLE_LEVEL_HEIGHT_PX;\n const globalTopPx = bubbleAreaTopPx + topPx;\n const rowAnchorPx = timelineRowAnchorPx(bubble.anchorRow);\n return {\n ...bubble,\n topPx,\n lineTopPx: rowAnchorPx,\n lineHeightPx: Math.max(1, globalTopPx - rowAnchorPx)\n };\n });\n }\n function buildSpeechBubbleLayoutForRole(role, candidates) {\n return [];\n }\n function buildSpeechBubbleBaseLayouts() {\n buildSpeechBubbleCandidates();\n return buildSpeechBubbleLayoutForRole();\n }\n function speechBubbleStyle(bubble) {\n return `left:${Math.round(bubble.leftPx)}px;top:${Math.round(bubble.topPx)}px;width:${Math.round(bubble.widthPx)}px;height:${SPEECH_BUBBLE_HEIGHT_PX}px;`;\n }\n function speechBubbleLineStyle(bubble) {\n return `left:${bubble.anchorPercent}%;top:${Math.round(bubble.lineTopPx)}px;height:${Math.round(bubble.lineHeightPx)}px;`;\n }\n function speechBubbleClass(bubble) {\n const base = \"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\";\n if (bubble.role === \"agent\") {\n return `${base} bg-rc-green-700`;\n }\n return `${base} bg-rc-gray-700`;\n }\n function makeSegment(input) {\n return {\n id: input.id,\n row: input.row,\n start: input.start,\n end: input.end,\n durationMs: Math.max(0, input.end - input.start),\n colorKey: input.colorKey,\n label: input.label,\n description: input.description ?? null,\n explain: input.explain ?? null,\n text: input.text ?? null,\n speechText: null,\n speechTraceLabel: null,\n traceLabel: input.traceLabel,\n eventMarker: input.eventMarker ?? null\n };\n }\n function compareLatencyTraces(a, b) {\n return a.seq - b.seq || a.atMs - b.atMs || (a.createdAt ?? 0) - (b.createdAt ?? 0) || String(a.traceId ?? \"\").localeCompare(String(b.traceId ?? \"\"));\n }\n function findNextLatencyEvent(events, startIndex, match, stop) {\n for (let index = startIndex + 1; index < events.length; index += 1) {\n const next = events[index];\n if (stop(next)) return null;\n if (match(next)) return next;\n }\n return null;\n }\n function buildResponseLatencySegments(events) {\n return buildResponseLatencySpans(events).filter((span) => findResponseLatencyUserTurn(conversationTraces, span) != null).map((span) => makeSegment({\n id: `derived:${span.id}`,\n row: \"Response Latency\",\n start: span.start,\n end: span.end,\n colorKey: span.isHigh ? \"response.latency.high\" : \"response.latency.ok\",\n label: \"Final STT -> speech start\",\n description: span.speechCreatedTrace ? \"Final STT transcript -> first audio for the next uncancelled LiveKit speech\" : \"Final STT transcript -> next audio playback start\",\n explain: span.isHigh ? `High latency (>${RESPONSE_LATENCY_THRESHOLD_MS}ms)` : \"OK\",\n text: span.text,\n traceLabel: span.speechCreatedTrace ? `${describeTrace(span.startTrace)} -> ${describeTrace(span.speechCreatedTrace)} -> ${describeTrace(span.endTrace)}` : `${describeTrace(span.startTrace)} -> ${describeTrace(span.endTrace)}`\n }));\n }\n function buildDerivedSegments(events) {\n const built = buildResponseLatencySegments(events);\n events.forEach((trace, index) => {\n const rule = SPAN_RULE_BY_START.get(trace.eventType);\n if (!rule) return;\n const next = findNextLatencyEvent(events, index, (candidate) => candidate.eventType === rule.endEventType, (candidate) => candidate.eventType === rule.startEventType);\n if (!next || next.atMs < trace.atMs) return;\n built.push(makeSegment({\n id: `derived:${rule.row.toLowerCase().replaceAll(\" \", \"_\")}:${trace.seq}:${next.seq}`,\n row: rule.row,\n start: trace.atMs,\n end: next.atMs,\n colorKey: rule.colorKey,\n label: rule.label,\n description: rule.description,\n traceLabel: describeTrace(trace)\n }));\n });\n return built;\n }\n function buildCallLatencySegments(input) {\n const events = input.slice().filter((trace) => typeof trace.atMs === \"number\" && Number.isFinite(trace.atMs) && typeof trace.seq === \"number\" && Number.isFinite(trace.seq)).sort(compareLatencyTraces);\n const pointSegments = events.map((trace, index) => makeSegment({\n id: `point:${trace.traceId ?? trace.seq}:${index}`,\n row: latencyRow(trace.eventType),\n start: trace.atMs,\n end: trace.atMs,\n colorKey: latencyColorKey(trace.eventType),\n label: latencyLabel(trace),\n description: latencyDescription(trace),\n text: latencyText(trace),\n traceLabel: describeTrace(trace),\n eventMarker: latencyEventMarker(trace.eventType)\n }));\n const derivedSegments = buildDerivedSegments(events);\n return [...derivedSegments, ...pointSegments].sort((a, b) => a.start - b.start || (a.durationMs === 0 ? 1 : 0) - (b.durationMs === 0 ? 1 : 0) || a.end - b.end || a.row.localeCompare(b.row));\n }\n function isPlaybackTraceBubble(segment) {\n return segment.row === \"Playback\" && !segment.eventMarker && segment.durationMs > 0;\n }\n function segmentDisplayText(segment) {\n if (isPlaybackTraceBubble(segment)) return segment.speechText;\n return null;\n }\n function segmentStyle(segment) {\n if (viewportStartMs == null || viewportEndMs == null) return null;\n const duration = viewportEndMs - viewportStartMs;\n if (!Number.isFinite(duration) || duration <= 0) return null;\n const fill = COLOR_BY_KEY[segment.colorKey] ?? BOSUN_COLORS.gray;\n const border = tintHex(fill, -0.25);\n if (segment.end === segment.start) {\n if (segment.start < viewportStartMs || segment.start > viewportEndMs) return null;\n const pointPercent = clamp((segment.start - viewportStartMs) / duration * 100, 0, 100);\n if (segment.eventMarker === \"start\") {\n return `left:${pointPercent}%;width:7px;background:${fill};border-color:${border};clip-path:polygon(0 0,100% 50%,0 100%);`;\n }\n if (segment.eventMarker === \"end\") {\n return `left:calc(${pointPercent}% - 7px);width:7px;background:${fill};border-color:${border};clip-path:polygon(100% 0,0 50%,100% 100%);`;\n }\n return `left:calc(${pointPercent}% - 2px);width:4px;background:${fill};border-color:${border};`;\n }\n const visibleStart = Math.max(segment.start, viewportStartMs);\n const visibleEnd = Math.min(segment.end, viewportEndMs);\n if (visibleEnd < visibleStart) return null;\n const leftPercent = (visibleStart - viewportStartMs) / duration * 100;\n const widthPercent = (visibleEnd - visibleStart) / duration * 100;\n if (isPlaybackTraceBubble(segment)) {\n return `left:${leftPercent}%;width:max(${widthPercent}%,2px);`;\n }\n return `left:${leftPercent}%;width:max(${widthPercent}%,2px);background:${fill};border-color:${border};`;\n }\n function segmentClass(segment) {\n if (segment.eventMarker) {\n return \"absolute inset-y-0 shadow-[0_0_0_1px_rgba(0,0,0,0.28)]\";\n }\n if (isPlaybackTraceBubble(segment)) {\n return \"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\";\n }\n return \"absolute inset-y-0 rounded border shadow-[0_0_0_1px_rgba(0,0,0,0.12)]\";\n }\n function guideLineStyle(guide) {\n return `left:${guide.leftPercent}%;top:${guide.topPx}px;height:${guide.heightPx}px;border-color:${guide.color};opacity:${guide.opacity};`;\n }\n function timelineOriginLineStyle(originLine) {\n return `left:${originLine.leftPercent}%;top:${originLine.topPx}px;height:${originLine.heightPx}px;`;\n }\n function tickLabelClass(tick) {\n const base = \"absolute top-1 whitespace-nowrap text-[11px] text-rc-gray-400\";\n if (tick.leftPercent <= 0.1) return base;\n if (tick.leftPercent >= 99.9) return `${base} -translate-x-full`;\n return `${base} -translate-x-1/2`;\n }\n function buildGuideLines(rows) {\n return [];\n }\n function chooseTickStep(durationMs) {\n const approx = durationMs / 7;\n const magnitude = 10 ** Math.floor(Math.log10(Math.max(1, approx)));\n const normalized = approx / magnitude;\n if (normalized <= 1) return 1 * magnitude;\n if (normalized <= 2) return 2 * magnitude;\n if (normalized <= 5) return 5 * magnitude;\n return 10 * magnitude;\n }\n function buildTicks(startMs, endMs, originMs) {\n const durationMs = endMs - startMs;\n if (!Number.isFinite(durationMs) || durationMs <= 0) return [];\n const stepMs = chooseTickStep(durationMs);\n const firstTick = Math.ceil((startMs - originMs) / stepMs) * stepMs + originMs;\n const ticks = [];\n for (let tick = firstTick; tick <= endMs; tick += stepMs) {\n const leftPercent = (tick - startMs) / durationMs * 100;\n ticks.push({\n time: tick,\n leftPercent,\n label: formatRelativeTime(tick - originMs)\n });\n }\n return ticks;\n }\n async function closePlaybackAudioContext() {\n const context = playbackAudioContext;\n playbackAudioContext = null;\n if (!context) return;\n await context.close().catch(() => {\n });\n }\n function getPlaybackPositionMs() {\n const durationMs = getRecordingDurationMs();\n if (playbackPlaying && playbackAudioContext && playbackStartedAtMs != null && playbackStartedAtContextTime != null) {\n const elapsedMs = (playbackAudioContext.currentTime - playbackStartedAtContextTime) * 1e3;\n const currentMs = playbackStartedAtMs + Math.max(0, elapsedMs);\n return durationMs > 0 ? clamp(currentMs, 0, durationMs) : Math.max(0, currentMs);\n }\n return durationMs > 0 ? clamp(playbackPositionMs, 0, durationMs) : Math.max(0, playbackPositionMs);\n }\n function stopPlayback(preservePosition = true) {\n if (preservePosition) {\n playbackPositionMs = getPlaybackPositionMs();\n }\n const source = playbackSourceNode;\n playbackSourceNode = null;\n playbackStartedAtMs = null;\n playbackStartedAtContextTime = null;\n playbackPlaying = false;\n if (!source) return;\n source.onended = null;\n try {\n source.stop();\n } catch {\n }\n source.disconnect();\n }\n function getRecordingDurationMs() {\n return 0;\n }\n async function togglePlayback() {\n return;\n }\n function compareConversationTraces(a, b) {\n return a.createdAt - b.createdAt || String(a.traceId ?? \"\").localeCompare(String(b.traceId ?? \"\"));\n }\n function fitViewport(markDirty = true) {\n const extent = conversationTraceExtent() ?? contentExtent();\n if (!extent) return;\n const originMs = timelineOriginMs();\n viewportStartMs = originMs;\n viewportEndMs = Math.max(originMs + 1e3, extent.max);\n }\n function clampViewport(startMs, endMs) {\n const extent = contentExtent();\n if (!extent) return { startMs, endMs };\n const durationMs = endMs - startMs;\n if (durationMs <= 0) return { startMs, endMs };\n const marginMs = Math.max(1e3, durationMs * 0.25);\n const minAllowed = extent.min - marginMs;\n const maxAllowed = extent.max + marginMs;\n if (durationMs >= maxAllowed - minAllowed) {\n return { startMs: minAllowed, endMs: maxAllowed };\n }\n if (startMs < minAllowed) {\n endMs += minAllowed - startMs;\n startMs = minAllowed;\n }\n if (endMs > maxAllowed) {\n startMs -= endMs - maxAllowed;\n endMs = maxAllowed;\n }\n return { startMs, endMs };\n }\n function setViewport(startMs, endMs) {\n if (!Number.isFinite(startMs) || !Number.isFinite(endMs) || endMs <= startMs) return;\n const next = clampViewport(startMs, endMs);\n viewportStartMs = next.startMs;\n viewportEndMs = next.endMs;\n }\n function zoomViewport(factor, focusRatio = 0.5) {\n if (viewportStartMs == null || viewportEndMs == null) return;\n const currentDuration = viewportEndMs - viewportStartMs;\n if (!Number.isFinite(currentDuration) || currentDuration <= 0) return;\n const extent = contentExtent();\n const contentDuration = extent ? extent.max - extent.min : currentDuration;\n const minDuration = Math.min(100, currentDuration);\n const maxDuration = Math.max(contentDuration + Math.max(2e3, contentDuration * 0.1), 5e3);\n const nextDuration = clamp(currentDuration * factor, minDuration, maxDuration);\n const nextFocusRatio = clamp(focusRatio, 0, 1);\n const focusMs = viewportStartMs + currentDuration * nextFocusRatio;\n const nextStartMs = focusMs - nextDuration * nextFocusRatio;\n setViewport(nextStartMs, nextStartMs + nextDuration);\n }\n async function resetAlignment() {\n return;\n }\n $$renderer2.push(`<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 `);\n if (conversationId()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"text-rc-gray-100\">for conversation Id:</span> <span class=\"text-rc-green-200\">${escape_html(conversationId())}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></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\">${escape_html(latencyTraceCount())}</span></div> <div><span class=\"text-rc-gray-400\">Timeline items:</span> <span class=\"font-mono text-rc-gray-100\">${escape_html(callSegments().length)}</span></div> <div><span class=\"text-rc-gray-400\">Recording offset:</span> <span class=\"font-mono text-rc-gray-100\">${escape_html(fmtSignedMs(recording.alignmentOffsetMs))}</span></div> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (viewportStartMs != null && viewportEndMs != null) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div><span class=\"text-rc-gray-400\">Viewport:</span> <span class=\"font-mono text-rc-gray-100\">${escape_html(formatRelativeTime(viewportStartMs - timelineOriginMs()))} → ${escape_html(formatRelativeTime(viewportEndMs - timelineOriginMs()))}</span></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div> <div class=\"flex flex-wrap items-center gap-2\"><input type=\"file\" accept=\".wav,audio/wav,audio/x-wav\" class=\"hidden\"/> `);\n Button($$renderer2, {\n variant: \"secondary\",\n size: \"small\",\n disabled: uploadInFlight,\n onclick: () => fileInputEl?.click(),\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->${escape_html(\"Upload WAV\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"secondary\",\n size: \"small\",\n disabled: true,\n onclick: () => void togglePlayback(),\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->${escape_html(playbackPlaying ? \"Pause\" : \"Play\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"secondary\",\n size: \"small\",\n disabled: viewportDurationMs() == null,\n onclick: () => zoomViewport(0.8),\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Zoom in`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"secondary\",\n size: \"small\",\n disabled: viewportDurationMs() == null,\n onclick: () => zoomViewport(1.25),\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Zoom out`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"secondary\",\n size: \"small\",\n disabled: !(conversationTraceExtent() ?? contentExtent()),\n onclick: () => fitViewport(true),\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Fit call`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"secondary\",\n size: \"small\",\n disabled: true,\n onclick: resetAlignment,\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->Reset alignment`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----> `);\n Button($$renderer2, {\n variant: \"secondary\",\n size: \"small\",\n disabled: !traces.length,\n onclick: copyLatencyStream,\n children: ($$renderer3) => {\n $$renderer3.push(`<!---->${escape_html(copyLatencyState === \"ok\" ? \"Copied\" : copyLatencyState === \"error\" ? \"Copy failed\" : \"Copy latency stream\")}`);\n },\n $$slots: { default: true }\n });\n $$renderer2.push(`<!----></div></div> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></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\">`);\n if (!callSegments().length) {\n $$renderer2.push(\"<!--[1-->\");\n $$renderer2.push(`<div class=\"text-sm text-rc-gray-300\">No latency events were found on this call.</div>`);\n } else if (viewportStartMs == null || viewportEndMs == null) {\n $$renderer2.push(\"<!--[2-->\");\n $$renderer2.push(`<div class=\"text-sm text-rc-gray-300\">Preparing timeline…</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<div class=\"grid grid-cols-[140px_minmax(0,1fr)] gap-x-3\"><div class=\"flex flex-col\"><div class=\"h-8\"></div> <!--[-->`);\n const each_array = ensure_array_like(timelineRows());\n for (let rowIndex = 0, $$length = each_array.length; rowIndex < $$length; rowIndex++) {\n let row = each_array[rowIndex];\n $$renderer2.push(`<div class=\"flex items-center text-xs text-rc-gray-300\"${attr_style(`height:${TIMELINE_ROW_HEIGHT_PX}px;margin-top:${rowIndex === 0 ? 0 : TIMELINE_ROW_GAP_PX}px;`)}>${escape_html(row.label)}</div>`);\n }\n $$renderer2.push(`<!--]--> <div class=\"flex items-center text-xs text-rc-gray-300\"${attr_style(`height:${humanSpeechBubbleLaneHeightPx()}px;margin-top:${traceRowsToBubbleGapPx()}px;`)}>Human</div> `);\n if (waveformRowVisible()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"flex items-center text-xs text-rc-gray-300\"${attr_style(`height:${WAVEFORM_ROW_HEIGHT_PX}px;margin-top:${TIMELINE_ROW_GAP_PX}px;`)}>Waveform</div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> <div class=\"relative\"><div class=\"pointer-events-none absolute inset-0 z-10 overflow-hidden\"><!--[-->`);\n const each_array_1 = ensure_array_like(speechBubbles());\n for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {\n let bubble = each_array_1[$$index_1];\n $$renderer2.push(`<div class=\"absolute -translate-x-1/2 border-l border-rc-gray-300/40\"${attr_style(speechBubbleLineStyle(bubble))}></div>`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_2 = ensure_array_like(guideLines());\n for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {\n let guide = each_array_2[$$index_2];\n $$renderer2.push(`<div class=\"absolute -translate-x-1/2 border-l border-dashed\"${attr_style(guideLineStyle(guide))}></div>`);\n }\n $$renderer2.push(`<!--]--> `);\n if (timelineOriginLine()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"absolute border-l border-rc-gray-200/80\"${attr_style(timelineOriginLineStyle(timelineOriginLine()))}></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n if (playbackCursor()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"absolute -translate-x-1/2 border-l-2 border-rc-green-200/90\"${attr_style(`left:${playbackCursor().leftPercent}%;top:${playbackCursor().topPx}px;height:${playbackCursor().heightPx}px;`)}></div> <div class=\"absolute h-2 w-2 -translate-x-1/2 rounded-full bg-rc-green-200\"${attr_style(`left:${playbackCursor().leftPercent}%;top:${playbackCursor().topPx - 4}px;`)}></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div> <div class=\"relative z-0 h-8 overflow-hidden rounded-t border border-b-0 border-rc-gray-700/60\"><!--[-->`);\n const each_array_3 = ensure_array_like(visibleTicks());\n for (let $$index_3 = 0, $$length = each_array_3.length; $$index_3 < $$length; $$index_3++) {\n let tick = each_array_3[$$index_3];\n $$renderer2.push(`<div class=\"absolute inset-y-0 w-px bg-rc-gray-700/70\"${attr_style(`left:${tick.leftPercent}%;`)}></div> <div${attr_class(clsx(tickLabelClass(tick)))}${attr_style(`left:${tick.leftPercent}%;`)}>${escape_html(tick.label)}</div>`);\n }\n $$renderer2.push(`<!--]--></div> <!--[-->`);\n const each_array_4 = ensure_array_like(timelineRows());\n for (let rowIndex = 0, $$length = each_array_4.length; rowIndex < $$length; rowIndex++) {\n let row = each_array_4[rowIndex];\n $$renderer2.push(`<div class=\"relative z-0 overflow-hidden border-x border-t border-rc-gray-700/60\"${attr_style(`height:${TIMELINE_ROW_HEIGHT_PX}px;margin-top:${rowIndex === 0 ? 0 : TIMELINE_ROW_GAP_PX}px;`)}><!--[-->`);\n const each_array_5 = ensure_array_like(visibleTicks());\n for (let $$index_4 = 0, $$length2 = each_array_5.length; $$index_4 < $$length2; $$index_4++) {\n let tick = each_array_5[$$index_4];\n $$renderer2.push(`<div class=\"absolute inset-y-0 w-px bg-rc-gray-700/60\"${attr_style(`left:${tick.leftPercent}%;`)}></div>`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_6 = ensure_array_like(row.segments);\n for (let $$index_5 = 0, $$length2 = each_array_6.length; $$index_5 < $$length2; $$index_5++) {\n let segment = each_array_6[$$index_5];\n const style = segmentStyle(segment);\n const text = segmentDisplayText(segment);\n if (style) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div${attr_class(clsx(segmentClass(segment)))}${attr_style(style)}>`);\n if (text) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<span class=\"block truncate\">${escape_html(text)}</span>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n }\n $$renderer2.push(`<!--]--></div>`);\n }\n $$renderer2.push(`<!--]--> <div${attr_class(\"relative z-0 overflow-hidden border-x border-t border-rc-gray-700/60\", void 0, {\n \"rounded-b\": !waveformRowVisible(),\n \"border-b\": !waveformRowVisible()\n })}${attr_style(`height:${speechBubbleAreaHeightPx()}px;margin-top:${traceRowsToBubbleGapPx()}px;`)}><div class=\"absolute inset-x-0 top-0 border-b border-rc-gray-700/50\"${attr_style(`height:${humanSpeechBubbleLaneHeightPx()}px;`)}></div> <!--[-->`);\n const each_array_7 = ensure_array_like(visibleTicks());\n for (let $$index_7 = 0, $$length = each_array_7.length; $$index_7 < $$length; $$index_7++) {\n let tick = each_array_7[$$index_7];\n $$renderer2.push(`<div class=\"absolute inset-y-0 w-px bg-rc-gray-700/45\"${attr_style(`left:${tick.leftPercent}%;`)}></div>`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_8 = ensure_array_like(speechBubbles());\n for (let $$index_8 = 0, $$length = each_array_8.length; $$index_8 < $$length; $$index_8++) {\n let bubble = each_array_8[$$index_8];\n $$renderer2.push(`<div${attr_class(clsx(speechBubbleClass(bubble)))}${attr_style(speechBubbleStyle(bubble))}>${escape_html(bubble.text)}</div>`);\n }\n $$renderer2.push(`<!--]--></div> `);\n if (waveformRowVisible()) {\n $$renderer2.push(\"<!--[0-->\");\n $$renderer2.push(`<div class=\"relative z-0 overflow-hidden rounded-b border-x border-b border-t border-rc-gray-700/60\"${attr_style(`height:${WAVEFORM_ROW_HEIGHT_PX}px;margin-top:${TIMELINE_ROW_GAP_PX}px;`)}>`);\n {\n $$renderer2.push(\"<!--[-1-->\");\n $$renderer2.push(`<canvas class=\"absolute inset-0 h-full w-full\"></canvas>`);\n }\n $$renderer2.push(`<!--]--> <!--[-->`);\n const each_array_9 = ensure_array_like(visibleTicks());\n for (let $$index_9 = 0, $$length = each_array_9.length; $$index_9 < $$length; $$index_9++) {\n let tick = each_array_9[$$index_9];\n $$renderer2.push(`<div class=\"absolute inset-y-0 w-px bg-rc-gray-700/60\"${attr_style(`left:${tick.leftPercent}%;`)}></div>`);\n }\n $$renderer2.push(`<!--]--></div>`);\n } else {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--></div></div>`);\n }\n $$renderer2.push(`<!--]--></div></div></div></div> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]--> `);\n {\n $$renderer2.push(\"<!--[-1-->\");\n }\n $$renderer2.push(`<!--]-->`);\n });\n}\nexport {\n _page as default\n};\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client-DzvEkq51.js","sources":["../../../.svelte-kit/adapter-node/chunks/client.js"],"sourcesContent":["import { P as PaginatedConversationsResponseSchema, C as ConversationSchema, a as PaginatedTracesResponseSchema, b as PaginatedLatencyTracesResponseSchema } from \"./source-selection.js\";\nclass MockGenerator {\n poolSize = 120;\n // ----- CONVERSATIONS -----\n async fetchConversations(limit, phoneFilter, lastConversationId) {\n await delay(150);\n return this.generateConversations(limit, phoneFilter, lastConversationId);\n }\n generateConversations(limit, phoneFilter, lastConversationId) {\n const now = Date.now();\n const items = [];\n for (let i = 0; i < this.poolSize; i++) {\n const id = String(1e5 + i);\n items.push({\n conversationId: id,\n medium: i % 2 === 0 ? \"phone\" : \"whatsapp\",\n phoneNumber: `+44 7700 ${String(1e3 + i % 90).padStart(4, \"0\")}`,\n duration: Math.floor(Math.random() * 600),\n createdAt: now - i * 36e5\n });\n }\n let filtered = items;\n if (phoneFilter) {\n const q = phoneFilter.replace(/\\s+/g, \"\");\n filtered = items.filter((it) => it.phoneNumber?.replace(/\\s+/g, \"\").includes(q));\n }\n filtered.sort((a, b) => b.createdAt - a.createdAt);\n if (lastConversationId) {\n const idx = filtered.findIndex((it) => it.conversationId === lastConversationId);\n if (idx >= 0) filtered = filtered.slice(idx + 1);\n }\n const pageItems = filtered.slice(0, limit);\n const nextLastConversationId = pageItems.length ? pageItems[pageItems.length - 1].conversationId : void 0;\n return { limit, items: pageItems, lastConversationId: nextLastConversationId };\n }\n // ----- MIXED TRACES -----\n async fetchTraces(conversationId) {\n await delay(150);\n return { items: this.generateTraces(conversationId) };\n }\n generateTraces(conversationId) {\n const rng = mulberry32(hashString(conversationId));\n const count = Math.floor(rng() * 5) + 3;\n const now = Date.now();\n const traces = Array.from({ length: count }, (_, i) => {\n const ts = now - (count - i) * 3e4;\n const kind = i % 3;\n if (kind === 0) {\n return {\n traceType: \"CONVERSATIONAL\",\n traceId: `conv-${conversationId}-${i}`,\n conversationId,\n eventName: \"received-message\",\n role: \"user\",\n medium: \"phone\",\n content: `Hello (${i})`,\n createdAt: ts\n };\n }\n if (kind === 1) {\n return {\n traceType: \"API_CALL\",\n traceId: `api-${conversationId}-${i}`,\n conversationId,\n operationName: \"getBooking\",\n method: \"GET\",\n path: `/bookings/${conversationId}`,\n createdAt: ts,\n durationMs: Math.floor(rng() * 200) + 50,\n status: 200,\n ok: true\n };\n }\n return {\n traceType: \"STEP\",\n traceId: `step-${conversationId}-${i}`,\n conversationId,\n scopeId: `scope-${i}`,\n workflowId: `workflow-${i}`,\n workflowRunId: `run-${conversationId}-${i}`,\n name: `main`,\n renderedPrompt: `Rendered prompt for ${conversationId}/${i}`,\n receivedContext: { foo: \"bar\" },\n receivedPrompt: `User says #${i}`,\n createdAt: ts,\n stringifiedConversation: `user: hi\nagent: ok (${i})`,\n response: `response ${i}`,\n model: \"gpt-4\"\n };\n });\n traces.sort((a, b) => a.createdAt - b.createdAt);\n return traces;\n }\n}\nfunction delay(ms) {\n return new Promise((r) => setTimeout(r, ms));\n}\nfunction hashString(s) {\n let h = 1779033703 ^ s.length;\n for (let i = 0; i < s.length; i++) {\n h = Math.imul(h ^ s.charCodeAt(i), 3432918353);\n h = h << 13 | h >>> 19;\n }\n return h >>> 0;\n}\nfunction mulberry32(seed) {\n return function() {\n let t = seed += 1831565813;\n t = Math.imul(t ^ t >>> 15, t | 1);\n t ^= t + Math.imul(t ^ t >>> 7, t | 61);\n return ((t ^ t >>> 14) >>> 0) / 4294967296;\n };\n}\nconst mockGenerator = new MockGenerator();\nconst SOURCE_HEADER = \"x-bosun-telescope-source\";\nclass TelescopeClient {\n /**\n * @param fetchFn Custom fetch function (e.g., from SvelteKit's load context). Defaults to global fetch if not provided.\n */\n constructor(fetchFn = globalThis.fetch, sourceId) {\n this.fetchFn = fetchFn;\n this.sourceId = sourceId;\n }\n setSourceId(sourceId) {\n this.sourceId = sourceId;\n }\n /**\n * Get the actual URL to use (always uses proxy)\n */\n getUrl(path) {\n const cleanPath = path.startsWith(\"/\") ? path.slice(1) : path;\n const pathWithoutDev = cleanPath.replace(/^dev\\//, \"\");\n return `/traces/api/proxy/${pathWithoutDev}`;\n }\n async fetch(method = \"GET\", path, schema) {\n const url = this.getUrl(path);\n const headers = {};\n if (this.sourceId && this.sourceId.trim()) {\n headers[SOURCE_HEADER] = this.sourceId;\n }\n const response = await this.fetchFn(url, { method, headers });\n if (!response) {\n throw new Error(\"No response from server\");\n }\n if (!response.ok) {\n throw new Error(`Error fetching data: ${response.statusText}`);\n }\n if (schema) {\n return schema.parse(await response.json());\n }\n return response;\n }\n /**\n * Get a list of conversations\n * @param phoneNumber full or partial phone number\n * @param limit number of conversations to fetch\n * @param lastConversationId id of the last conversation from the previous page, for pagination\n * @returns a list of conversations\n */\n async getConversations(params = {}) {\n const searchParams = new URLSearchParams({ limit: params.limit?.toString() ?? \"10\" });\n if (params.lastConversationId)\n searchParams.append(\"lastConversationId\", params.lastConversationId);\n if (params.phoneNumber) searchParams.append(\"phoneNumber\", params.phoneNumber);\n if (params.agentId) searchParams.append(\"agentId\", params.agentId);\n const res = await this.fetch(\"GET\", `/conversations?${searchParams.toString()}`);\n if (!res.ok) {\n throw new Error(`Error fetching conversations: ${res.status} ${res.statusText}`);\n }\n const json = await res.json();\n if (Array.isArray(json?.items)) {\n json.items = json.items.map((it) => ({\n ...it,\n phoneNumber: typeof it?.phoneNumber === \"string\" ? it.phoneNumber : \"\"\n }));\n } else {\n json.items = [];\n }\n return PaginatedConversationsResponseSchema.parse(json);\n }\n /**\n * Get a single conversation by ID\n * @param conversationId the conversation ID\n * @returns a single conversation\n */\n async getConversation(conversationId) {\n return await this.fetch(\n \"GET\",\n `/conversations/${conversationId}`,\n ConversationSchema\n );\n }\n /**\n * Get mixed traces for a conversation (chronological timeline)\n * @param conversationId the conversation ID\n * @param limit number of traces to fetch\n * @param lastTraceId id of the last trace from the previous page, for pagination\n * @returns paginated traces\n */\n async getTraces(conversationId, limit, lastTraceId) {\n const params = new URLSearchParams();\n if (limit) params.set(\"limit\", String(limit));\n if (lastTraceId) params.set(\"lastTraceId\", lastTraceId);\n const path = `/conversations/${conversationId}/traces${params.toString() ? `?${params.toString()}` : \"\"}`;\n const res = await this.fetch(\"GET\", path);\n if (!res.ok) {\n throw new Error(`Failed to fetch traces: ${res.status} ${res.statusText}`);\n }\n return PaginatedTracesResponseSchema.parse(await res.json());\n }\n async getLatencyTraces(conversationId, limit, lastTraceId) {\n const params = new URLSearchParams();\n params.set(\"traceType\", \"LATENCY\");\n if (limit) params.set(\"limit\", String(limit));\n if (lastTraceId) params.set(\"lastTraceId\", lastTraceId);\n const path = `/conversations/${conversationId}/traces${params.toString() ? `?${params.toString()}` : \"\"}`;\n const res = await this.fetch(\"GET\", path);\n if (!res.ok) {\n throw new Error(`Failed to fetch latency traces: ${res.status} ${res.statusText}`);\n }\n return PaginatedLatencyTracesResponseSchema.parse(await res.json());\n }\n // Backwards-compatible aliases (older UI paths)\n getCalls(params = {}) {\n return this.getConversations(params);\n }\n getCall(conversationId) {\n return this.getConversation(conversationId);\n }\n getStepTraces(conversationId, limit) {\n return this.getTraces(conversationId, limit);\n }\n}\nexport {\n TelescopeClient as T,\n mockGenerator as m\n};\n"],"names":[],"mappings":"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"}
@@ -1,124 +0,0 @@
1
- import { z } from 'zod';
2
-
3
- const TranscriptSegmentSchema = z.object({
4
- text: z.string(),
5
- role: z.string(),
6
- // 'Agent' or 'User'
7
- time: z.string(),
8
- // ISO timestamp
9
- duration: z.number()
10
- });
11
- const ConversationSchema = z.object({
12
- conversationId: z.string(),
13
- medium: z.string(),
14
- // 'phone' | 'whatsapp' | ...
15
- agentId: z.string().optional(),
16
- phoneNumber: z.string().optional(),
17
- duration: z.number().optional(),
18
- audioUrl: z.string().url().optional(),
19
- transcript: z.union([z.string(), z.array(TranscriptSegmentSchema)]).optional(),
20
- createdAt: z.number()
21
- }).passthrough();
22
- const PaginatedConversationsResponseSchema = z.object({
23
- limit: z.number(),
24
- items: z.array(ConversationSchema),
25
- lastConversationId: z.string().optional()
26
- });
27
- const LlmUsageSchema = z.object({
28
- promptTokens: z.number().optional(),
29
- completionTokens: z.number().optional(),
30
- totalTokens: z.number().optional(),
31
- cachedPromptTokens: z.number().optional()
32
- }).passthrough();
33
- const StepTraceSchema = z.object({
34
- traceType: z.literal("STEP"),
35
- traceId: z.string().optional(),
36
- conversationId: z.string().optional(),
37
- scopeId: z.string().optional(),
38
- workflowId: z.string().optional(),
39
- workflowRunId: z.string().optional(),
40
- name: z.string().optional(),
41
- renderedPrompt: z.string().optional(),
42
- receivedContext: z.any().optional(),
43
- receivedPrompt: z.any().optional(),
44
- stringifiedConversation: z.string().optional(),
45
- response: z.string().optional(),
46
- model: z.string().optional(),
47
- llmUsage: LlmUsageSchema.optional(),
48
- createdAt: z.number(),
49
- error: z.any().optional()
50
- }).passthrough();
51
- const ApiCallTraceSchema = z.object({
52
- traceType: z.literal("API_CALL"),
53
- traceId: z.string().optional(),
54
- conversationId: z.string().optional(),
55
- scopeId: z.string().optional(),
56
- operationName: z.string(),
57
- method: z.string(),
58
- path: z.string(),
59
- baseUrl: z.string().optional(),
60
- request: z.any().optional(),
61
- response: z.any().optional(),
62
- status: z.number().optional(),
63
- ok: z.boolean().optional(),
64
- durationMs: z.number().optional(),
65
- createdAt: z.number(),
66
- error: z.any().optional()
67
- }).passthrough();
68
- const ConversationalTraceSchema = z.object({
69
- traceType: z.literal("CONVERSATIONAL"),
70
- traceId: z.string().optional(),
71
- conversationId: z.string().optional(),
72
- scopeId: z.string().optional(),
73
- eventName: z.string(),
74
- role: z.string(),
75
- medium: z.string(),
76
- content: z.string(),
77
- createdAt: z.number(),
78
- error: z.any().optional()
79
- }).passthrough();
80
- const LatencyTraceSchema = z.object({
81
- traceType: z.literal("LATENCY"),
82
- traceId: z.string().optional(),
83
- conversationId: z.string().optional(),
84
- seq: z.number(),
85
- atMs: z.number(),
86
- eventType: z.string(),
87
- payload: z.any().optional(),
88
- createdAt: z.number()
89
- }).passthrough();
90
- const TraceSchema = z.discriminatedUnion("traceType", [
91
- StepTraceSchema,
92
- ApiCallTraceSchema,
93
- ConversationalTraceSchema
94
- ]);
95
- const PaginatedTracesResponseSchema = z.object({
96
- items: z.array(TraceSchema),
97
- limit: z.number(),
98
- lastTraceId: z.string().optional()
99
- });
100
- const PaginatedLatencyTracesResponseSchema = z.object({
101
- items: z.array(LatencyTraceSchema),
102
- limit: z.number(),
103
- lastTraceId: z.string().optional()
104
- });
105
- const TELESCOPE_SOURCE_STORAGE_KEY = "bosun.traces.telescopeSourceId";
106
- function getPersistedTelescopeSourceId() {
107
- if (typeof window === "undefined") return null;
108
- try {
109
- return window.localStorage.getItem(TELESCOPE_SOURCE_STORAGE_KEY);
110
- } catch {
111
- return null;
112
- }
113
- }
114
- function persistTelescopeSourceId(sourceId) {
115
- if (typeof window === "undefined") return;
116
- if (!sourceId || !sourceId.trim()) return;
117
- try {
118
- window.localStorage.setItem(TELESCOPE_SOURCE_STORAGE_KEY, sourceId);
119
- } catch {
120
- }
121
- }
122
-
123
- export { ConversationSchema as C, PaginatedConversationsResponseSchema as P, PaginatedTracesResponseSchema as a, PaginatedLatencyTracesResponseSchema as b, getPersistedTelescopeSourceId as g, persistTelescopeSourceId as p };
124
- //# sourceMappingURL=source-selection-eA--VEKo.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"source-selection-eA--VEKo.js","sources":["../../../.svelte-kit/adapter-node/chunks/source-selection.js"],"sourcesContent":["import { z } from \"zod\";\nconst TranscriptSegmentSchema = z.object({\n text: z.string(),\n role: z.string(),\n // 'Agent' or 'User'\n time: z.string(),\n // ISO timestamp\n duration: z.number()\n});\nconst ConversationSchema = z.object({\n conversationId: z.string(),\n medium: z.string(),\n // 'phone' | 'whatsapp' | ...\n agentId: z.string().optional(),\n phoneNumber: z.string().optional(),\n duration: z.number().optional(),\n audioUrl: z.string().url().optional(),\n transcript: z.union([z.string(), z.array(TranscriptSegmentSchema)]).optional(),\n createdAt: z.number()\n}).passthrough();\nconst PaginatedConversationsResponseSchema = z.object({\n limit: z.number(),\n items: z.array(ConversationSchema),\n lastConversationId: z.string().optional()\n});\nconst LlmUsageSchema = z.object({\n promptTokens: z.number().optional(),\n completionTokens: z.number().optional(),\n totalTokens: z.number().optional(),\n cachedPromptTokens: z.number().optional()\n}).passthrough();\nconst StepTraceSchema = z.object({\n traceType: z.literal(\"STEP\"),\n traceId: z.string().optional(),\n conversationId: z.string().optional(),\n scopeId: z.string().optional(),\n workflowId: z.string().optional(),\n workflowRunId: z.string().optional(),\n name: z.string().optional(),\n renderedPrompt: z.string().optional(),\n receivedContext: z.any().optional(),\n receivedPrompt: z.any().optional(),\n stringifiedConversation: z.string().optional(),\n response: z.string().optional(),\n model: z.string().optional(),\n llmUsage: LlmUsageSchema.optional(),\n createdAt: z.number(),\n error: z.any().optional()\n}).passthrough();\nconst ApiCallTraceSchema = z.object({\n traceType: z.literal(\"API_CALL\"),\n traceId: z.string().optional(),\n conversationId: z.string().optional(),\n scopeId: z.string().optional(),\n operationName: z.string(),\n method: z.string(),\n path: z.string(),\n baseUrl: z.string().optional(),\n request: z.any().optional(),\n response: z.any().optional(),\n status: z.number().optional(),\n ok: z.boolean().optional(),\n durationMs: z.number().optional(),\n createdAt: z.number(),\n error: z.any().optional()\n}).passthrough();\nconst ConversationalTraceSchema = z.object({\n traceType: z.literal(\"CONVERSATIONAL\"),\n traceId: z.string().optional(),\n conversationId: z.string().optional(),\n scopeId: z.string().optional(),\n eventName: z.string(),\n role: z.string(),\n medium: z.string(),\n content: z.string(),\n createdAt: z.number(),\n error: z.any().optional()\n}).passthrough();\nconst LatencyTraceSchema = z.object({\n traceType: z.literal(\"LATENCY\"),\n traceId: z.string().optional(),\n conversationId: z.string().optional(),\n seq: z.number(),\n atMs: z.number(),\n eventType: z.string(),\n payload: z.any().optional(),\n createdAt: z.number()\n}).passthrough();\nconst TraceSchema = z.discriminatedUnion(\"traceType\", [\n StepTraceSchema,\n ApiCallTraceSchema,\n ConversationalTraceSchema\n]);\nconst PaginatedTracesResponseSchema = z.object({\n items: z.array(TraceSchema),\n limit: z.number(),\n lastTraceId: z.string().optional()\n});\nconst PaginatedLatencyTracesResponseSchema = z.object({\n items: z.array(LatencyTraceSchema),\n limit: z.number(),\n lastTraceId: z.string().optional()\n});\nconst TELESCOPE_SOURCE_STORAGE_KEY = \"bosun.traces.telescopeSourceId\";\nfunction getPersistedTelescopeSourceId() {\n if (typeof window === \"undefined\") return null;\n try {\n return window.localStorage.getItem(TELESCOPE_SOURCE_STORAGE_KEY);\n } catch {\n return null;\n }\n}\nfunction persistTelescopeSourceId(sourceId) {\n if (typeof window === \"undefined\") return;\n if (!sourceId || !sourceId.trim()) return;\n try {\n window.localStorage.setItem(TELESCOPE_SOURCE_STORAGE_KEY, sourceId);\n } catch {\n }\n}\nexport {\n ConversationSchema as C,\n PaginatedConversationsResponseSchema as P,\n PaginatedTracesResponseSchema as a,\n PaginatedLatencyTracesResponseSchema as b,\n getPersistedTelescopeSourceId as g,\n persistTelescopeSourceId as p\n};\n"],"names":[],"mappings":"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"}