@recombine-ai/bosun 0.9.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (644) hide show
  1. package/.svelte-kit/tsconfig.json +8 -1
  2. package/build/client/_app/immutable/assets/0.DsHRdhUK.css +1 -0
  3. package/build/client/_app/immutable/assets/0.DsHRdhUK.css.br +0 -0
  4. package/build/client/_app/immutable/assets/0.DsHRdhUK.css.gz +0 -0
  5. package/build/client/_app/immutable/assets/10.BX46PfEJ.css.gz +0 -0
  6. package/build/client/_app/immutable/assets/18.C5apk4jm.css.gz +0 -0
  7. package/build/client/_app/immutable/assets/2.DxwYfh1z.css.gz +0 -0
  8. package/build/client/_app/immutable/assets/3.Dzh7_Q8n.css.gz +0 -0
  9. package/build/client/_app/immutable/assets/5.CZVw96CJ.css.gz +0 -0
  10. package/build/client/_app/immutable/assets/9.DlSPCZj0.css.gz +0 -0
  11. package/build/client/_app/immutable/assets/AgentSidebar.BL1i3rB_.css.gz +0 -0
  12. package/build/client/_app/immutable/assets/Input.CJ8KyccG.css.gz +0 -0
  13. package/build/client/_app/immutable/assets/Modal.tn0RQdqM.css.gz +0 -0
  14. package/build/client/_app/immutable/assets/Popper.CLTyHc88.css.gz +0 -0
  15. package/build/client/_app/immutable/assets/Tab.DlCfjMY1.css.gz +0 -0
  16. package/build/client/_app/immutable/assets/chat-content.Cabnnfyv.css.gz +0 -0
  17. package/build/client/_app/immutable/assets/editor.BMIWPGx3.css.gz +0 -0
  18. package/build/client/_app/immutable/chunks/0a4GbU-O.js +1 -0
  19. package/build/client/_app/immutable/chunks/0a4GbU-O.js.br +0 -0
  20. package/build/client/_app/immutable/chunks/0a4GbU-O.js.gz +0 -0
  21. package/build/client/_app/immutable/chunks/0cvrggvQ.js.gz +0 -0
  22. package/build/client/_app/immutable/chunks/18TZju1H.js +1 -0
  23. package/build/client/_app/immutable/chunks/18TZju1H.js.br +0 -0
  24. package/build/client/_app/immutable/chunks/18TZju1H.js.gz +0 -0
  25. package/build/client/_app/immutable/chunks/25W9uPmb.js.gz +0 -0
  26. package/build/client/_app/immutable/chunks/4Ik7cdeQ.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/5Rap-vPy.js.gz +0 -0
  28. package/build/client/_app/immutable/chunks/5qVV3FOd.js +1 -0
  29. package/build/client/_app/immutable/chunks/5qVV3FOd.js.br +0 -0
  30. package/build/client/_app/immutable/chunks/5qVV3FOd.js.gz +0 -0
  31. package/build/client/_app/immutable/chunks/8AHOieX7.js +33 -0
  32. package/build/client/_app/immutable/chunks/8AHOieX7.js.br +0 -0
  33. package/build/client/_app/immutable/chunks/8AHOieX7.js.gz +0 -0
  34. package/build/client/_app/immutable/chunks/B03wrqEc.js.gz +0 -0
  35. package/build/client/_app/immutable/chunks/B2CB3tIy.js +1 -0
  36. package/build/client/_app/immutable/chunks/B2CB3tIy.js.br +0 -0
  37. package/build/client/_app/immutable/chunks/B2CB3tIy.js.gz +0 -0
  38. package/build/client/_app/immutable/chunks/B5zXfXm9.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/B9Xyijhd.js.gz +0 -0
  40. package/build/client/_app/immutable/chunks/BFG1Mk7z.js.gz +0 -0
  41. package/build/client/_app/immutable/chunks/BFZvm_aX.js +1 -0
  42. package/build/client/_app/immutable/chunks/BFZvm_aX.js.br +0 -0
  43. package/build/client/_app/immutable/chunks/BFZvm_aX.js.gz +0 -0
  44. package/build/client/_app/immutable/chunks/BIv9DU6q.js.gz +0 -0
  45. package/build/client/_app/immutable/chunks/BKlk5iyT.js.gz +0 -0
  46. package/build/client/_app/immutable/chunks/BMYSavKM.js.gz +0 -0
  47. package/build/client/_app/immutable/chunks/BQorBhFb.js +1 -0
  48. package/build/client/_app/immutable/chunks/BQorBhFb.js.br +0 -0
  49. package/build/client/_app/immutable/chunks/BQorBhFb.js.gz +0 -0
  50. package/build/client/_app/immutable/chunks/BSkB5QuD.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/BU7aeYn4.js.gz +0 -0
  52. package/build/client/_app/immutable/chunks/BY8d35y9.js.gz +0 -0
  53. package/build/client/_app/immutable/chunks/B_c3zf-v.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/B_fMsGYe.js.gz +0 -0
  55. package/build/client/_app/immutable/chunks/BaJupSGV.js.gz +0 -0
  56. package/build/client/_app/immutable/chunks/BaLxmfj-.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/Bas80-m6.js +1 -0
  58. package/build/client/_app/immutable/chunks/Bas80-m6.js.br +0 -0
  59. package/build/client/_app/immutable/chunks/Bas80-m6.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/BbgtW0nn.js +8 -0
  61. package/build/client/_app/immutable/chunks/BbgtW0nn.js.br +0 -0
  62. package/build/client/_app/immutable/chunks/BbgtW0nn.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/Bc-ZgV77.js.gz +0 -0
  64. package/build/client/_app/immutable/chunks/BfEKNvv3.js.gz +0 -0
  65. package/build/client/_app/immutable/chunks/BhoEG2uc.js +1 -0
  66. package/build/client/_app/immutable/chunks/BhoEG2uc.js.br +0 -0
  67. package/build/client/_app/immutable/chunks/BhoEG2uc.js.gz +0 -0
  68. package/build/client/_app/immutable/chunks/Bhzvs7bI.js.gz +0 -0
  69. package/build/client/_app/immutable/chunks/Bio4gycK.js.gz +0 -0
  70. package/build/client/_app/immutable/chunks/BjbsXXMP.js +1 -0
  71. package/build/client/_app/immutable/chunks/BjbsXXMP.js.br +0 -0
  72. package/build/client/_app/immutable/chunks/BjbsXXMP.js.gz +0 -0
  73. package/build/client/_app/immutable/chunks/BoFRg7Ot.js.gz +0 -0
  74. package/build/client/_app/immutable/chunks/BoYwKlhd.js +1 -0
  75. package/build/client/_app/immutable/chunks/BoYwKlhd.js.br +0 -0
  76. package/build/client/_app/immutable/chunks/BoYwKlhd.js.gz +0 -0
  77. package/build/client/_app/immutable/chunks/Bqgm2twL.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/BrgZPUOV.js.gz +0 -0
  79. package/build/client/_app/immutable/chunks/BsTHnhdd.js.gz +0 -0
  80. package/build/client/_app/immutable/chunks/C1FmrZbK.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/C3xZmy9H.js +1 -0
  82. package/build/client/_app/immutable/chunks/C3xZmy9H.js.br +0 -0
  83. package/build/client/_app/immutable/chunks/C3xZmy9H.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/C4mbwMvt.js.gz +0 -0
  85. package/build/client/_app/immutable/chunks/C5WLch3f.js.gz +0 -0
  86. package/build/client/_app/immutable/chunks/CAFoob5N.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/{CZNq9Fp2.js → CAOT34jI.js} +1 -1
  88. package/build/client/_app/immutable/chunks/CAOT34jI.js.br +0 -0
  89. package/build/client/_app/immutable/chunks/CAOT34jI.js.gz +0 -0
  90. package/build/client/_app/immutable/chunks/{B394X4Dm.js → CByqsLTI.js} +1 -1
  91. package/build/client/_app/immutable/chunks/CByqsLTI.js.br +0 -0
  92. package/build/client/_app/immutable/chunks/CByqsLTI.js.gz +0 -0
  93. package/build/client/_app/immutable/chunks/CCSDG5nI.js.gz +0 -0
  94. package/build/client/_app/immutable/chunks/CDGzqUPQ.js.gz +0 -0
  95. package/build/client/_app/immutable/chunks/CDntyWJ8.js.gz +0 -0
  96. package/build/client/_app/immutable/chunks/CFKIUWau.js.gz +0 -0
  97. package/build/client/_app/immutable/chunks/CFOPXBzS.js.gz +0 -0
  98. package/build/client/_app/immutable/chunks/CGS76TsG.js +1 -0
  99. package/build/client/_app/immutable/chunks/CGS76TsG.js.br +2 -0
  100. package/build/client/_app/immutable/chunks/CGS76TsG.js.gz +0 -0
  101. package/build/client/_app/immutable/chunks/CGinwM47.js.gz +0 -0
  102. package/build/client/_app/immutable/chunks/CHE9OFXA.js +1 -0
  103. package/build/client/_app/immutable/chunks/CHE9OFXA.js.br +0 -0
  104. package/build/client/_app/immutable/chunks/CHE9OFXA.js.gz +0 -0
  105. package/build/client/_app/immutable/chunks/CIXWWiNs.js +1 -0
  106. package/build/client/_app/immutable/chunks/CIXWWiNs.js.br +0 -0
  107. package/build/client/_app/immutable/chunks/CIXWWiNs.js.gz +0 -0
  108. package/build/client/_app/immutable/chunks/CLLBncYj.js.gz +0 -0
  109. package/build/client/_app/immutable/chunks/COyEY5Pt.js.gz +0 -0
  110. package/build/client/_app/immutable/chunks/CPajHgWi.js.gz +0 -0
  111. package/build/client/_app/immutable/chunks/CQd8uuj9.js +1 -0
  112. package/build/client/_app/immutable/chunks/CQd8uuj9.js.br +2 -0
  113. package/build/client/_app/immutable/chunks/CQd8uuj9.js.gz +0 -0
  114. package/build/client/_app/immutable/chunks/CV_MnPl-.js +1 -0
  115. package/build/client/_app/immutable/chunks/CV_MnPl-.js.br +0 -0
  116. package/build/client/_app/immutable/chunks/CV_MnPl-.js.gz +0 -0
  117. package/build/client/_app/immutable/chunks/CVwtpugi.js.gz +0 -0
  118. package/build/client/_app/immutable/chunks/CX-rkNHf.js.gz +0 -0
  119. package/build/client/_app/immutable/chunks/CXOwvkN_.js.gz +0 -0
  120. package/build/client/_app/immutable/chunks/CaligHlp.js +1 -0
  121. package/build/client/_app/immutable/chunks/CaligHlp.js.br +0 -0
  122. package/build/client/_app/immutable/chunks/CaligHlp.js.gz +0 -0
  123. package/build/client/_app/immutable/chunks/CbvL5X4R.js +4 -0
  124. package/build/client/_app/immutable/chunks/CbvL5X4R.js.br +0 -0
  125. package/build/client/_app/immutable/chunks/CbvL5X4R.js.gz +0 -0
  126. package/build/client/_app/immutable/chunks/CdQndTaG.js.gz +0 -0
  127. package/build/client/_app/immutable/chunks/Ce3n6wWz.js.gz +0 -0
  128. package/build/client/_app/immutable/chunks/Cg7bfA9N.js.gz +0 -0
  129. package/build/client/_app/immutable/chunks/CjrpbQ5G.js +1 -0
  130. package/build/client/_app/immutable/chunks/CjrpbQ5G.js.br +0 -0
  131. package/build/client/_app/immutable/chunks/CjrpbQ5G.js.gz +0 -0
  132. package/build/client/_app/immutable/chunks/Cp1zYvxS.js.gz +0 -0
  133. package/build/client/_app/immutable/chunks/CpIb_Oan.js.gz +0 -0
  134. package/build/client/_app/immutable/chunks/Cpb6xl2v.js.gz +0 -0
  135. package/build/client/_app/immutable/chunks/Cphgjts3.js.gz +0 -0
  136. package/build/client/_app/immutable/chunks/CrxwEwqu.js.gz +0 -0
  137. package/build/client/_app/immutable/chunks/CwNk8-XU.js.gz +0 -0
  138. package/build/client/_app/immutable/chunks/CwmAWymP.js.gz +0 -0
  139. package/build/client/_app/immutable/chunks/Cx0HrUMB.js +11 -0
  140. package/build/client/_app/immutable/chunks/Cx0HrUMB.js.br +0 -0
  141. package/build/client/_app/immutable/chunks/Cx0HrUMB.js.gz +0 -0
  142. package/build/client/_app/immutable/chunks/CynZnIyI.js +2 -0
  143. package/build/client/_app/immutable/chunks/CynZnIyI.js.br +0 -0
  144. package/build/client/_app/immutable/chunks/CynZnIyI.js.gz +0 -0
  145. package/build/client/_app/immutable/chunks/CzKuDChf.js.gz +0 -0
  146. package/build/client/_app/immutable/chunks/D-MeaMDU.js.gz +0 -0
  147. package/build/client/_app/immutable/chunks/D3h14YRZ.js.gz +0 -0
  148. package/build/client/_app/immutable/chunks/D5C2fndG.js.gz +0 -0
  149. package/build/client/_app/immutable/chunks/DDMPVpvs.js.gz +0 -0
  150. package/build/client/_app/immutable/chunks/DDwshQtU.js.gz +0 -0
  151. package/build/client/_app/immutable/chunks/DHHC89bH.js +1 -0
  152. package/build/client/_app/immutable/chunks/DHHC89bH.js.br +2 -0
  153. package/build/client/_app/immutable/chunks/DHHC89bH.js.gz +0 -0
  154. package/build/client/_app/immutable/chunks/DHaeiCBh.js.gz +0 -0
  155. package/build/client/_app/immutable/chunks/DLQqXQ6R.js.gz +0 -0
  156. package/build/client/_app/immutable/chunks/DRIMs3uA.js.gz +0 -0
  157. package/build/client/_app/immutable/chunks/DSZPf7rp.js.gz +0 -0
  158. package/build/client/_app/immutable/chunks/DTECt2xU.js.gz +0 -0
  159. package/build/client/_app/immutable/chunks/DUeN9t8P.js.gz +0 -0
  160. package/build/client/_app/immutable/chunks/DVqtH_YB.js +1 -0
  161. package/build/client/_app/immutable/chunks/DVqtH_YB.js.br +0 -0
  162. package/build/client/_app/immutable/chunks/DVqtH_YB.js.gz +0 -0
  163. package/build/client/_app/immutable/chunks/DWH0347h.js.gz +0 -0
  164. package/build/client/_app/immutable/chunks/DXyYeYxl.js.gz +0 -0
  165. package/build/client/_app/immutable/chunks/DZxMt77D.js.gz +0 -0
  166. package/build/client/_app/immutable/chunks/DaV9XiwS.js +1 -0
  167. package/build/client/_app/immutable/chunks/DaV9XiwS.js.br +0 -0
  168. package/build/client/_app/immutable/chunks/DaV9XiwS.js.gz +0 -0
  169. package/build/client/_app/immutable/chunks/Dd3NCNK9.js.gz +0 -0
  170. package/build/client/_app/immutable/chunks/DfzH4Xui.js.gz +0 -0
  171. package/build/client/_app/immutable/chunks/DgyLZaXg.js.gz +0 -0
  172. package/build/client/_app/immutable/chunks/DjDhNM9l.js.gz +0 -0
  173. package/build/client/_app/immutable/chunks/DkeWvyEi.js +1 -0
  174. package/build/client/_app/immutable/chunks/DkeWvyEi.js.br +0 -0
  175. package/build/client/_app/immutable/chunks/DkeWvyEi.js.gz +0 -0
  176. package/build/client/_app/immutable/chunks/DnHyzjbg.js.gz +0 -0
  177. package/build/client/_app/immutable/chunks/DrQuvNYM.js.gz +0 -0
  178. package/build/client/_app/immutable/chunks/Drc7WvVn.js.gz +0 -0
  179. package/build/client/_app/immutable/chunks/DwJ7jVG9.js.gz +0 -0
  180. package/build/client/_app/immutable/chunks/DyP6w7ZV.js.gz +0 -0
  181. package/build/client/_app/immutable/chunks/{8mHyIC1B.js → JcG4w2gF.js} +1 -1
  182. package/build/client/_app/immutable/chunks/JcG4w2gF.js.br +0 -0
  183. package/build/client/_app/immutable/chunks/JcG4w2gF.js.gz +0 -0
  184. package/build/client/_app/immutable/chunks/M-7sJE5g.js +2 -0
  185. package/build/client/_app/immutable/chunks/M-7sJE5g.js.br +0 -0
  186. package/build/client/_app/immutable/chunks/M-7sJE5g.js.gz +0 -0
  187. package/build/client/_app/immutable/chunks/OA8UcISh.js +1 -0
  188. package/build/client/_app/immutable/chunks/OA8UcISh.js.br +0 -0
  189. package/build/client/_app/immutable/chunks/OA8UcISh.js.gz +0 -0
  190. package/build/client/_app/immutable/chunks/Ps08lWnD.js +1 -0
  191. package/build/client/_app/immutable/chunks/Ps08lWnD.js.br +0 -0
  192. package/build/client/_app/immutable/chunks/Ps08lWnD.js.gz +0 -0
  193. package/build/client/_app/immutable/chunks/Tw7wswEv.js.gz +0 -0
  194. package/build/client/_app/immutable/chunks/YWi4-JPR.js.gz +0 -0
  195. package/build/client/_app/immutable/chunks/ZGfwyPNq.js.gz +0 -0
  196. package/build/client/_app/immutable/chunks/Zznr-cwX.js.gz +0 -0
  197. package/build/client/_app/immutable/chunks/bynEV6cE.js.gz +0 -0
  198. package/build/client/_app/immutable/chunks/d-TWvvCu.js +1 -0
  199. package/build/client/_app/immutable/chunks/d-TWvvCu.js.br +0 -0
  200. package/build/client/_app/immutable/chunks/d-TWvvCu.js.gz +0 -0
  201. package/build/client/_app/immutable/chunks/dUCx_-0o.js.gz +0 -0
  202. package/build/client/_app/immutable/chunks/ddC1NP9R.js.gz +0 -0
  203. package/build/client/_app/immutable/chunks/deUWdS0T.js.gz +0 -0
  204. package/build/client/_app/immutable/chunks/gULlE0tz.js +1 -0
  205. package/build/client/_app/immutable/chunks/gULlE0tz.js.br +2 -0
  206. package/build/client/_app/immutable/chunks/gULlE0tz.js.gz +0 -0
  207. package/build/client/_app/immutable/chunks/hS1PAb5I.js +2 -0
  208. package/build/client/_app/immutable/chunks/hS1PAb5I.js.br +0 -0
  209. package/build/client/_app/immutable/chunks/hS1PAb5I.js.gz +0 -0
  210. package/build/client/_app/immutable/chunks/i9-g7ZhI.js.gz +0 -0
  211. package/build/client/_app/immutable/chunks/nf6ki56Z.js.gz +0 -0
  212. package/build/client/_app/immutable/chunks/pnP8ivHi.js.gz +0 -0
  213. package/build/client/_app/immutable/chunks/rUNN04Wq.js.gz +0 -0
  214. package/build/client/_app/immutable/chunks/tGk8EFnU.js.gz +0 -0
  215. package/build/client/_app/immutable/chunks/wZR3OpgZ.js +1 -0
  216. package/build/client/_app/immutable/chunks/wZR3OpgZ.js.br +2 -0
  217. package/build/client/_app/immutable/chunks/wZR3OpgZ.js.gz +0 -0
  218. package/build/client/_app/immutable/chunks/xC2C8d09.js +1 -0
  219. package/build/client/_app/immutable/chunks/xC2C8d09.js.br +0 -0
  220. package/build/client/_app/immutable/chunks/xC2C8d09.js.gz +0 -0
  221. package/build/client/_app/immutable/entry/app.4nlNBoFO.js +2 -0
  222. package/build/client/_app/immutable/entry/app.4nlNBoFO.js.br +0 -0
  223. package/build/client/_app/immutable/entry/app.4nlNBoFO.js.gz +0 -0
  224. package/build/client/_app/immutable/entry/start.Du6iPGlG.js +1 -0
  225. package/build/client/_app/immutable/entry/start.Du6iPGlG.js.br +2 -0
  226. package/build/client/_app/immutable/entry/start.Du6iPGlG.js.gz +0 -0
  227. package/build/client/_app/immutable/nodes/{0.cfpwGp_4.js → 0.DXz9KfRr.js} +2 -2
  228. package/build/client/_app/immutable/nodes/0.DXz9KfRr.js.br +0 -0
  229. package/build/client/_app/immutable/nodes/0.DXz9KfRr.js.gz +0 -0
  230. package/build/client/_app/immutable/nodes/1.C14tFTfE.js +1 -0
  231. package/build/client/_app/immutable/nodes/1.C14tFTfE.js.br +0 -0
  232. package/build/client/_app/immutable/nodes/1.C14tFTfE.js.gz +0 -0
  233. package/build/client/_app/immutable/nodes/10.D2pJamM_.js +5 -0
  234. package/build/client/_app/immutable/nodes/10.D2pJamM_.js.br +0 -0
  235. package/build/client/_app/immutable/nodes/10.D2pJamM_.js.gz +0 -0
  236. package/build/client/_app/immutable/nodes/{11.BVI-eEdV.js → 11.CsTD16Gn.js} +1 -1
  237. package/build/client/_app/immutable/nodes/11.CsTD16Gn.js.br +0 -0
  238. package/build/client/_app/immutable/nodes/11.CsTD16Gn.js.gz +0 -0
  239. package/build/client/_app/immutable/nodes/{12.BHSGZYEC.js → 12.DYXd_leK.js} +1 -1
  240. package/build/client/_app/immutable/nodes/12.DYXd_leK.js.br +0 -0
  241. package/build/client/_app/immutable/nodes/12.DYXd_leK.js.gz +0 -0
  242. package/build/client/_app/immutable/nodes/{13.CZ_7M4AF.js → 13.DQMjAUKq.js} +1 -1
  243. package/build/client/_app/immutable/nodes/13.DQMjAUKq.js.br +1 -0
  244. package/build/client/_app/immutable/nodes/13.DQMjAUKq.js.gz +0 -0
  245. package/build/client/_app/immutable/nodes/{14.D96_XEm-.js → 14.C59tyoG0.js} +1 -1
  246. package/build/client/_app/immutable/nodes/14.C59tyoG0.js.br +0 -0
  247. package/build/client/_app/immutable/nodes/14.C59tyoG0.js.gz +0 -0
  248. package/build/client/_app/immutable/nodes/15.yHpdn4IC.js +1 -0
  249. package/build/client/_app/immutable/nodes/15.yHpdn4IC.js.br +0 -0
  250. package/build/client/_app/immutable/nodes/15.yHpdn4IC.js.gz +0 -0
  251. package/build/client/_app/immutable/nodes/{16.MpUk9w5x.js → 16.DRwcAQjb.js} +1 -1
  252. package/build/client/_app/immutable/nodes/16.DRwcAQjb.js.br +0 -0
  253. package/build/client/_app/immutable/nodes/16.DRwcAQjb.js.gz +0 -0
  254. package/build/client/_app/immutable/nodes/17.tRxMrZSc.js +4 -0
  255. package/build/client/_app/immutable/nodes/17.tRxMrZSc.js.br +0 -0
  256. package/build/client/_app/immutable/nodes/17.tRxMrZSc.js.gz +0 -0
  257. package/build/client/_app/immutable/nodes/18.h3m2E_FB.js +11 -0
  258. package/build/client/_app/immutable/nodes/18.h3m2E_FB.js.br +0 -0
  259. package/build/client/_app/immutable/nodes/18.h3m2E_FB.js.gz +0 -0
  260. package/build/client/_app/immutable/nodes/2.DC1Zz78t.js +35 -0
  261. package/build/client/_app/immutable/nodes/2.DC1Zz78t.js.br +0 -0
  262. package/build/client/_app/immutable/nodes/2.DC1Zz78t.js.gz +0 -0
  263. package/build/client/_app/immutable/nodes/3.CwOiRWmo.js +1 -0
  264. package/build/client/_app/immutable/nodes/3.CwOiRWmo.js.br +0 -0
  265. package/build/client/_app/immutable/nodes/3.CwOiRWmo.js.gz +0 -0
  266. package/build/client/_app/immutable/nodes/4.C3SmjDhF.js +1 -0
  267. package/build/client/_app/immutable/nodes/4.C3SmjDhF.js.br +0 -0
  268. package/build/client/_app/immutable/nodes/4.C3SmjDhF.js.gz +0 -0
  269. package/build/client/_app/immutable/nodes/5.26wwTN6d.js +1 -0
  270. package/build/client/_app/immutable/nodes/5.26wwTN6d.js.br +0 -0
  271. package/build/client/_app/immutable/nodes/5.26wwTN6d.js.gz +0 -0
  272. package/build/client/_app/immutable/nodes/6.DYzKzkhv.js +1 -0
  273. package/build/client/_app/immutable/nodes/6.DYzKzkhv.js.br +0 -0
  274. package/build/client/_app/immutable/nodes/6.DYzKzkhv.js.gz +0 -0
  275. package/build/client/_app/immutable/nodes/{7.CkeP1yO3.js → 7.7N4iPidV.js} +1 -1
  276. package/build/client/_app/immutable/nodes/7.7N4iPidV.js.br +1 -0
  277. package/build/client/_app/immutable/nodes/7.7N4iPidV.js.gz +0 -0
  278. package/build/client/_app/immutable/nodes/8.lyH0lIKf.js +2 -0
  279. package/build/client/_app/immutable/nodes/8.lyH0lIKf.js.br +0 -0
  280. package/build/client/_app/immutable/nodes/8.lyH0lIKf.js.gz +0 -0
  281. package/build/client/_app/immutable/nodes/9.UnSjcLjn.js +2 -0
  282. package/build/client/_app/immutable/nodes/9.UnSjcLjn.js.br +0 -0
  283. package/build/client/_app/immutable/nodes/9.UnSjcLjn.js.gz +0 -0
  284. package/build/client/_app/immutable/workers/css.worker-BRIrhzkG.js.gz +0 -0
  285. package/build/client/_app/immutable/workers/editor.worker-DX6ApQqM.js.gz +0 -0
  286. package/build/client/_app/immutable/workers/html.worker-CBI4EQBP.js.gz +0 -0
  287. package/build/client/_app/immutable/workers/json.worker-CIZWV9vN.js.gz +0 -0
  288. package/build/client/_app/immutable/workers/ts.worker-Ds4I2Msu.js.gz +0 -0
  289. package/build/client/_app/version.json +1 -1
  290. package/build/client/_app/version.json.br +0 -0
  291. package/build/client/_app/version.json.gz +0 -0
  292. package/build/client/fonts.css.gz +0 -0
  293. package/build/client/recombine.svg.gz +0 -0
  294. package/build/client/telescope-icon.svg.gz +0 -0
  295. package/build/client/ui/arrow_tests.svg.gz +0 -0
  296. package/build/client/ui/paperclip.svg.gz +0 -0
  297. package/build/client/ui/send.svg.gz +0 -0
  298. package/build/server/chunks/0-D0-90TbM.js +9 -0
  299. package/build/server/chunks/0-D0-90TbM.js.map +1 -0
  300. package/build/server/chunks/1-DHJzzXji.js +9 -0
  301. package/build/server/chunks/{1--P6amfWt.js.map → 1-DHJzzXji.js.map} +1 -1
  302. package/build/server/chunks/10-3jjzakty.js +9 -0
  303. package/build/server/chunks/10-3jjzakty.js.map +1 -0
  304. package/build/server/chunks/{11-D9ueFvgV.js → 11-CB5q84io.js} +3 -3
  305. package/build/server/chunks/{11-D9ueFvgV.js.map → 11-CB5q84io.js.map} +1 -1
  306. package/build/server/chunks/{12-s9qxLZI8.js → 12-CfqC_Y1R.js} +3 -3
  307. package/build/server/chunks/{12-s9qxLZI8.js.map → 12-CfqC_Y1R.js.map} +1 -1
  308. package/build/server/chunks/{13-DSBw3elU.js → 13-ByddfU7G.js} +3 -3
  309. package/build/server/chunks/{13-DSBw3elU.js.map → 13-ByddfU7G.js.map} +1 -1
  310. package/build/server/chunks/{14-Dys1MDrz.js → 14-Dk7DCwHC.js} +3 -3
  311. package/build/server/chunks/{14-Dys1MDrz.js.map → 14-Dk7DCwHC.js.map} +1 -1
  312. package/build/server/chunks/15-ICdGKEie.js +9 -0
  313. package/build/server/chunks/15-ICdGKEie.js.map +1 -0
  314. package/build/server/chunks/{16-BRBiMoCX.js → 16-Y9KLA9UF.js} +3 -3
  315. package/build/server/chunks/{16-BRBiMoCX.js.map → 16-Y9KLA9UF.js.map} +1 -1
  316. package/build/server/chunks/17-Bozc5IJF.js +9 -0
  317. package/build/server/chunks/17-Bozc5IJF.js.map +1 -0
  318. package/build/server/chunks/18-DoqpHfoi.js +9 -0
  319. package/build/server/chunks/18-DoqpHfoi.js.map +1 -0
  320. package/build/server/chunks/2-DhghCZp5.js +9 -0
  321. package/build/server/chunks/2-DhghCZp5.js.map +1 -0
  322. package/build/server/chunks/3-Cx4tDHgq.js +9 -0
  323. package/build/server/chunks/3-Cx4tDHgq.js.map +1 -0
  324. package/build/server/chunks/4-DCqFV5Ug.js +9 -0
  325. package/build/server/chunks/4-DCqFV5Ug.js.map +1 -0
  326. package/build/server/chunks/5-CwrZ3RpM.js +9 -0
  327. package/build/server/chunks/5-CwrZ3RpM.js.map +1 -0
  328. package/build/server/chunks/6-BtuvKB8a.js +9 -0
  329. package/build/server/chunks/6-BtuvKB8a.js.map +1 -0
  330. package/build/server/chunks/{7-BixmjuY5.js → 7-olXOjo4r.js} +3 -3
  331. package/build/server/chunks/{7-BixmjuY5.js.map → 7-olXOjo4r.js.map} +1 -1
  332. package/build/server/chunks/8-Di6Wb0mD.js +9 -0
  333. package/build/server/chunks/8-Di6Wb0mD.js.map +1 -0
  334. package/build/server/chunks/9-CXT-H9KT.js +9 -0
  335. package/build/server/chunks/9-CXT-H9KT.js.map +1 -0
  336. package/build/server/chunks/{AgentSidebar-DqMxRWln.js → AgentSidebar-XdGj1sqT.js} +32 -24
  337. package/build/server/chunks/AgentSidebar-XdGj1sqT.js.map +1 -0
  338. package/build/server/chunks/{Button-qfXYs6Cv.js → Button-Dsy3QY7B.js} +5 -5
  339. package/build/server/chunks/Button-Dsy3QY7B.js.map +1 -0
  340. package/build/server/chunks/{ChatStepTrace-Bvxmgz7y.js → ChatStepTrace-ZynTuQTL.js} +98 -266
  341. package/build/server/chunks/ChatStepTrace-ZynTuQTL.js.map +1 -0
  342. package/build/server/chunks/{ContextEditor-CsiHhmH8.js → ContextEditor-D5B2mO8Z.js} +6 -5
  343. package/build/server/chunks/ContextEditor-D5B2mO8Z.js.map +1 -0
  344. package/build/server/chunks/{Dropdown-DroDbZQ6.js → Dropdown-7dp1qEYv.js} +4 -4
  345. package/build/server/chunks/Dropdown-7dp1qEYv.js.map +1 -0
  346. package/build/server/chunks/{Icon-SOvOgynh.js → Icon-CXFHkSIr.js} +7 -7
  347. package/build/server/chunks/Icon-CXFHkSIr.js.map +1 -0
  348. package/build/server/chunks/{Input-D-7S8dEO.js → Input-CHFlfduw.js} +4 -4
  349. package/build/server/chunks/Input-CHFlfduw.js.map +1 -0
  350. package/build/server/chunks/{Modal-CBKUwUGm.js → Modal-DtVsRmmO.js} +131 -93
  351. package/build/server/chunks/Modal-DtVsRmmO.js.map +1 -0
  352. package/build/server/chunks/{Tab-DMBlstpi.js → Tab-CD1H0E3P.js} +6 -7
  353. package/build/server/chunks/Tab-CD1H0E3P.js.map +1 -0
  354. package/build/server/chunks/{_layout.svelte-DuOlsMHY.js → _layout.svelte-2zFP7RWi.js} +60 -59
  355. package/build/server/chunks/_layout.svelte-2zFP7RWi.js.map +1 -0
  356. package/build/server/chunks/{_layout.svelte-B3_pVwfN.js → _layout.svelte-C5eqrEen.js} +10 -9
  357. package/build/server/chunks/_layout.svelte-C5eqrEen.js.map +1 -0
  358. package/build/server/chunks/{_layout.svelte-BnUNGsUV.js → _layout.svelte-C7JgNCIu.js} +15 -15
  359. package/build/server/chunks/_layout.svelte-C7JgNCIu.js.map +1 -0
  360. package/build/server/chunks/{_layout.svelte-CqwbWo_W.js → _layout.svelte-Cgnhhd3c.js} +139 -151
  361. package/build/server/chunks/_layout.svelte-Cgnhhd3c.js.map +1 -0
  362. package/build/server/chunks/_page.svelte-BhU1G2ip.js +1040 -0
  363. package/build/server/chunks/_page.svelte-BhU1G2ip.js.map +1 -0
  364. package/build/server/chunks/{_page.svelte-B8NFVmqA.js → _page.svelte-BsIw3yWt.js} +7 -8
  365. package/build/server/chunks/_page.svelte-BsIw3yWt.js.map +1 -0
  366. package/build/server/chunks/{_page.svelte-BB_XBfMx.js → _page.svelte-C9wKPt_S.js} +6 -7
  367. package/build/server/chunks/_page.svelte-C9wKPt_S.js.map +1 -0
  368. package/build/server/chunks/{_page.svelte-c2LBV2K4.js → _page.svelte-CY4SZM-i.js} +180 -170
  369. package/build/server/chunks/_page.svelte-CY4SZM-i.js.map +1 -0
  370. package/build/server/chunks/{_page.svelte-Tl1k8pGd.js → _page.svelte-Cwut2PVb.js} +16 -16
  371. package/build/server/chunks/_page.svelte-Cwut2PVb.js.map +1 -0
  372. package/build/server/chunks/{_page.svelte-BaDwHJpC.js → _page.svelte-DbV3HGn5.js} +3 -4
  373. package/build/server/chunks/_page.svelte-DbV3HGn5.js.map +1 -0
  374. package/build/server/chunks/{_page.svelte-Ch8DnIjK.js → _page.svelte-DdmEn1df.js} +114 -139
  375. package/build/server/chunks/_page.svelte-DdmEn1df.js.map +1 -0
  376. package/build/server/chunks/{_page.svelte-DASkT6Tk.js → _page.svelte-DiI_KSHV.js} +16 -25
  377. package/build/server/chunks/_page.svelte-DiI_KSHV.js.map +1 -0
  378. package/build/server/chunks/{_server.ts-DviONucl.js → _server.ts-CtO28tLc.js} +2 -2
  379. package/build/server/chunks/{_server.ts-DviONucl.js.map → _server.ts-CtO28tLc.js.map} +1 -1
  380. package/build/server/chunks/{_server.ts-CUTB_pVv.js → _server.ts-D_eo_OAK.js} +2 -2
  381. package/build/server/chunks/{_server.ts-CUTB_pVv.js.map → _server.ts-D_eo_OAK.js.map} +1 -1
  382. package/build/server/chunks/{agents-context-DJAK2Ml6.js → agents-context-rV2narXG.js} +2 -2
  383. package/build/server/chunks/agents-context-rV2narXG.js.map +1 -0
  384. package/build/server/chunks/{client-tqD_VlIn.js → client-DzvEkq51.js} +14 -2
  385. package/build/server/chunks/client-DzvEkq51.js.map +1 -0
  386. package/build/server/chunks/{edit-workspace-context-BQXwYkgE.js → edit-workspace-context-B1nYQ5hD.js} +2 -3
  387. package/build/server/chunks/edit-workspace-context-B1nYQ5hD.js.map +1 -0
  388. package/build/server/chunks/error.svelte-DA-yulF5.js +15 -0
  389. package/build/server/chunks/error.svelte-DA-yulF5.js.map +1 -0
  390. package/build/server/chunks/{events-Hd1jvlZp.js → events-BQ65tUJo.js} +15 -18
  391. package/build/server/chunks/events-BQ65tUJo.js.map +1 -0
  392. package/build/server/chunks/{hooks-BJphIAi-.js → hooks.universal-BJphIAi-.js} +1 -1
  393. package/build/server/chunks/hooks.universal-BJphIAi-.js.map +1 -0
  394. package/build/server/chunks/index-CSpGrMM2.js +4062 -0
  395. package/build/server/chunks/index-CSpGrMM2.js.map +1 -0
  396. package/build/server/chunks/{index-Djsj11qr.js → index-NcxaM188.js} +26 -4
  397. package/build/server/chunks/index-NcxaM188.js.map +1 -0
  398. package/build/server/chunks/{index-server-BI-Ep7Rw.js → index-server-DsYEXu5n.js} +2 -3
  399. package/build/server/chunks/index-server-DsYEXu5n.js.map +1 -0
  400. package/build/server/chunks/{index3-Cp9d5nmD.js → index2-DO4B3D-P.js} +5 -5
  401. package/build/server/chunks/index2-DO4B3D-P.js.map +1 -0
  402. package/build/server/chunks/{index-BSa6KzSq.js → index3-qVi61CNf.js} +2 -2
  403. package/build/server/chunks/{index-BSa6KzSq.js.map → index3-qVi61CNf.js.map} +1 -1
  404. package/build/server/chunks/{log-content.svelte-B3ZvaoLs.js → log-content.svelte-CfQzj-v_.js} +2 -2
  405. package/build/server/chunks/{log-content.svelte-B3ZvaoLs.js.map → log-content.svelte-CfQzj-v_.js.map} +1 -1
  406. package/build/server/chunks/root-CDJwhpIB.js +1152 -0
  407. package/build/server/chunks/root-CDJwhpIB.js.map +1 -0
  408. package/build/server/chunks/{source-selection-hOQHZ-fn.js → source-selection-eA--VEKo.js} +17 -2
  409. package/build/server/chunks/source-selection-eA--VEKo.js.map +1 -0
  410. package/build/server/chunks/state.svelte-DT7cgvTK.js +11 -0
  411. package/build/server/chunks/state.svelte-DT7cgvTK.js.map +1 -0
  412. package/build/server/index.js +2467 -2815
  413. package/build/server/index.js.map +1 -1
  414. package/build/server/manifest.js +22 -22
  415. package/build/server/manifest.js.map +1 -1
  416. package/package.json +1 -1
  417. package/src/backend/roleplay/router.ts +14 -8
  418. package/build/client/_app/immutable/assets/0.DkT7Ji57.css +0 -1
  419. package/build/client/_app/immutable/assets/0.DkT7Ji57.css.br +0 -0
  420. package/build/client/_app/immutable/assets/0.DkT7Ji57.css.gz +0 -0
  421. package/build/client/_app/immutable/assets/ChatStepTrace.CDucuryp.css +0 -1
  422. package/build/client/_app/immutable/assets/ChatStepTrace.CDucuryp.css.br +0 -0
  423. package/build/client/_app/immutable/assets/ChatStepTrace.CDucuryp.css.gz +0 -0
  424. package/build/client/_app/immutable/chunks/3HVf2z3Q.js +0 -1
  425. package/build/client/_app/immutable/chunks/3HVf2z3Q.js.br +0 -0
  426. package/build/client/_app/immutable/chunks/3HVf2z3Q.js.gz +0 -0
  427. package/build/client/_app/immutable/chunks/8mHyIC1B.js.br +0 -0
  428. package/build/client/_app/immutable/chunks/8mHyIC1B.js.gz +0 -0
  429. package/build/client/_app/immutable/chunks/B394X4Dm.js.br +0 -0
  430. package/build/client/_app/immutable/chunks/B394X4Dm.js.gz +0 -0
  431. package/build/client/_app/immutable/chunks/B5CoBEt2.js +0 -1330
  432. package/build/client/_app/immutable/chunks/B5CoBEt2.js.br +0 -0
  433. package/build/client/_app/immutable/chunks/B5CoBEt2.js.gz +0 -0
  434. package/build/client/_app/immutable/chunks/B7r4ghJg.js +0 -1
  435. package/build/client/_app/immutable/chunks/B7r4ghJg.js.br +0 -2
  436. package/build/client/_app/immutable/chunks/B7r4ghJg.js.gz +0 -0
  437. package/build/client/_app/immutable/chunks/BEJ5fU19.js +0 -1
  438. package/build/client/_app/immutable/chunks/BEJ5fU19.js.br +0 -0
  439. package/build/client/_app/immutable/chunks/BEJ5fU19.js.gz +0 -0
  440. package/build/client/_app/immutable/chunks/BFchB-2I.js +0 -1
  441. package/build/client/_app/immutable/chunks/BFchB-2I.js.br +0 -0
  442. package/build/client/_app/immutable/chunks/BFchB-2I.js.gz +0 -0
  443. package/build/client/_app/immutable/chunks/BRMnbBOX.js +0 -1
  444. package/build/client/_app/immutable/chunks/BRMnbBOX.js.br +0 -0
  445. package/build/client/_app/immutable/chunks/BRMnbBOX.js.gz +0 -0
  446. package/build/client/_app/immutable/chunks/BUApaBEI.js +0 -1
  447. package/build/client/_app/immutable/chunks/BUApaBEI.js.br +0 -0
  448. package/build/client/_app/immutable/chunks/BUApaBEI.js.gz +0 -0
  449. package/build/client/_app/immutable/chunks/Bb9ZigkD.js +0 -2
  450. package/build/client/_app/immutable/chunks/Bb9ZigkD.js.br +0 -0
  451. package/build/client/_app/immutable/chunks/Bb9ZigkD.js.gz +0 -0
  452. package/build/client/_app/immutable/chunks/BiBGf8wR.js +0 -1
  453. package/build/client/_app/immutable/chunks/BiBGf8wR.js.br +0 -0
  454. package/build/client/_app/immutable/chunks/BiBGf8wR.js.gz +0 -0
  455. package/build/client/_app/immutable/chunks/Bk5z628g.js +0 -1
  456. package/build/client/_app/immutable/chunks/Bk5z628g.js.br +0 -0
  457. package/build/client/_app/immutable/chunks/Bk5z628g.js.gz +0 -0
  458. package/build/client/_app/immutable/chunks/BmJonxL2.js +0 -1
  459. package/build/client/_app/immutable/chunks/BmJonxL2.js.br +0 -0
  460. package/build/client/_app/immutable/chunks/BmJonxL2.js.gz +0 -0
  461. package/build/client/_app/immutable/chunks/BqYZT6mz.js +0 -5
  462. package/build/client/_app/immutable/chunks/BqYZT6mz.js.br +0 -0
  463. package/build/client/_app/immutable/chunks/BqYZT6mz.js.gz +0 -0
  464. package/build/client/_app/immutable/chunks/C1rQHXql.js +0 -1
  465. package/build/client/_app/immutable/chunks/C1rQHXql.js.br +0 -0
  466. package/build/client/_app/immutable/chunks/C1rQHXql.js.gz +0 -0
  467. package/build/client/_app/immutable/chunks/C3cmQ-ZQ.js +0 -1
  468. package/build/client/_app/immutable/chunks/C3cmQ-ZQ.js.br +0 -0
  469. package/build/client/_app/immutable/chunks/C3cmQ-ZQ.js.gz +0 -0
  470. package/build/client/_app/immutable/chunks/C8-d_pGN.js +0 -11
  471. package/build/client/_app/immutable/chunks/C8-d_pGN.js.br +0 -0
  472. package/build/client/_app/immutable/chunks/C8-d_pGN.js.gz +0 -0
  473. package/build/client/_app/immutable/chunks/CB3MYTwM.js +0 -2
  474. package/build/client/_app/immutable/chunks/CB3MYTwM.js.br +0 -0
  475. package/build/client/_app/immutable/chunks/CB3MYTwM.js.gz +0 -0
  476. package/build/client/_app/immutable/chunks/CJHvtD7r.js +0 -8
  477. package/build/client/_app/immutable/chunks/CJHvtD7r.js.br +0 -0
  478. package/build/client/_app/immutable/chunks/CJHvtD7r.js.gz +0 -0
  479. package/build/client/_app/immutable/chunks/CMN-Rq6J.js +0 -1
  480. package/build/client/_app/immutable/chunks/CMN-Rq6J.js.br +0 -0
  481. package/build/client/_app/immutable/chunks/CMN-Rq6J.js.gz +0 -0
  482. package/build/client/_app/immutable/chunks/CWj6FrbW.js +0 -1
  483. package/build/client/_app/immutable/chunks/CWj6FrbW.js.br +0 -0
  484. package/build/client/_app/immutable/chunks/CWj6FrbW.js.gz +0 -0
  485. package/build/client/_app/immutable/chunks/CZNq9Fp2.js.br +0 -0
  486. package/build/client/_app/immutable/chunks/CZNq9Fp2.js.gz +0 -0
  487. package/build/client/_app/immutable/chunks/CmatTLDp.js +0 -1
  488. package/build/client/_app/immutable/chunks/CmatTLDp.js.br +0 -0
  489. package/build/client/_app/immutable/chunks/CmatTLDp.js.gz +0 -0
  490. package/build/client/_app/immutable/chunks/CnRh8Bgk.js +0 -33
  491. package/build/client/_app/immutable/chunks/CnRh8Bgk.js.br +0 -0
  492. package/build/client/_app/immutable/chunks/CnRh8Bgk.js.gz +0 -0
  493. package/build/client/_app/immutable/chunks/Cob_zFH5.js +0 -1
  494. package/build/client/_app/immutable/chunks/Cob_zFH5.js.br +0 -0
  495. package/build/client/_app/immutable/chunks/Cob_zFH5.js.gz +0 -0
  496. package/build/client/_app/immutable/chunks/DAyj7AJo.js +0 -1
  497. package/build/client/_app/immutable/chunks/DAyj7AJo.js.br +0 -0
  498. package/build/client/_app/immutable/chunks/DAyj7AJo.js.gz +0 -0
  499. package/build/client/_app/immutable/chunks/DCT4VKzQ.js +0 -1
  500. package/build/client/_app/immutable/chunks/DCT4VKzQ.js.br +0 -0
  501. package/build/client/_app/immutable/chunks/DCT4VKzQ.js.gz +0 -0
  502. package/build/client/_app/immutable/chunks/DJH8-Pxb.js +0 -1
  503. package/build/client/_app/immutable/chunks/DJH8-Pxb.js.br +0 -0
  504. package/build/client/_app/immutable/chunks/DJH8-Pxb.js.gz +0 -0
  505. package/build/client/_app/immutable/chunks/DMtzEpj5.js +0 -2
  506. package/build/client/_app/immutable/chunks/DMtzEpj5.js.br +0 -0
  507. package/build/client/_app/immutable/chunks/DMtzEpj5.js.gz +0 -0
  508. package/build/client/_app/immutable/chunks/DT74mAuZ.js +0 -1
  509. package/build/client/_app/immutable/chunks/DT74mAuZ.js.br +0 -0
  510. package/build/client/_app/immutable/chunks/DT74mAuZ.js.gz +0 -0
  511. package/build/client/_app/immutable/chunks/D_iTaAhh.js +0 -1
  512. package/build/client/_app/immutable/chunks/D_iTaAhh.js.br +0 -0
  513. package/build/client/_app/immutable/chunks/D_iTaAhh.js.gz +0 -0
  514. package/build/client/_app/immutable/chunks/DgnCUaz1.js +0 -1
  515. package/build/client/_app/immutable/chunks/DgnCUaz1.js.br +0 -0
  516. package/build/client/_app/immutable/chunks/DgnCUaz1.js.gz +0 -0
  517. package/build/client/_app/immutable/chunks/hp4PFHFv.js +0 -1
  518. package/build/client/_app/immutable/chunks/hp4PFHFv.js.br +0 -2
  519. package/build/client/_app/immutable/chunks/hp4PFHFv.js.gz +0 -0
  520. package/build/client/_app/immutable/chunks/rHISuZrQ.js +0 -1
  521. package/build/client/_app/immutable/chunks/rHISuZrQ.js.br +0 -0
  522. package/build/client/_app/immutable/chunks/rHISuZrQ.js.gz +0 -0
  523. package/build/client/_app/immutable/entry/app.CE1yZowM.js +0 -2
  524. package/build/client/_app/immutable/entry/app.CE1yZowM.js.br +0 -0
  525. package/build/client/_app/immutable/entry/app.CE1yZowM.js.gz +0 -0
  526. package/build/client/_app/immutable/entry/start.D15lqSpY.js +0 -1
  527. package/build/client/_app/immutable/entry/start.D15lqSpY.js.br +0 -2
  528. package/build/client/_app/immutable/entry/start.D15lqSpY.js.gz +0 -0
  529. package/build/client/_app/immutable/nodes/0.cfpwGp_4.js.br +0 -0
  530. package/build/client/_app/immutable/nodes/0.cfpwGp_4.js.gz +0 -0
  531. package/build/client/_app/immutable/nodes/1.CHri8WYe.js +0 -1
  532. package/build/client/_app/immutable/nodes/1.CHri8WYe.js.br +0 -0
  533. package/build/client/_app/immutable/nodes/1.CHri8WYe.js.gz +0 -0
  534. package/build/client/_app/immutable/nodes/10.CNlp77FZ.js +0 -5
  535. package/build/client/_app/immutable/nodes/10.CNlp77FZ.js.br +0 -0
  536. package/build/client/_app/immutable/nodes/10.CNlp77FZ.js.gz +0 -0
  537. package/build/client/_app/immutable/nodes/11.BVI-eEdV.js.br +0 -0
  538. package/build/client/_app/immutable/nodes/11.BVI-eEdV.js.gz +0 -0
  539. package/build/client/_app/immutable/nodes/12.BHSGZYEC.js.br +0 -0
  540. package/build/client/_app/immutable/nodes/12.BHSGZYEC.js.gz +0 -0
  541. package/build/client/_app/immutable/nodes/13.CZ_7M4AF.js.br +0 -0
  542. package/build/client/_app/immutable/nodes/13.CZ_7M4AF.js.gz +0 -0
  543. package/build/client/_app/immutable/nodes/14.D96_XEm-.js.br +0 -0
  544. package/build/client/_app/immutable/nodes/14.D96_XEm-.js.gz +0 -0
  545. package/build/client/_app/immutable/nodes/15.DJq8KQca.js +0 -1
  546. package/build/client/_app/immutable/nodes/15.DJq8KQca.js.br +0 -0
  547. package/build/client/_app/immutable/nodes/15.DJq8KQca.js.gz +0 -0
  548. package/build/client/_app/immutable/nodes/16.MpUk9w5x.js.br +0 -0
  549. package/build/client/_app/immutable/nodes/16.MpUk9w5x.js.gz +0 -0
  550. package/build/client/_app/immutable/nodes/17.BTYNQV25.js +0 -4
  551. package/build/client/_app/immutable/nodes/17.BTYNQV25.js.br +0 -0
  552. package/build/client/_app/immutable/nodes/17.BTYNQV25.js.gz +0 -0
  553. package/build/client/_app/immutable/nodes/18.B8hhkZZh.js +0 -11
  554. package/build/client/_app/immutable/nodes/18.B8hhkZZh.js.br +0 -0
  555. package/build/client/_app/immutable/nodes/18.B8hhkZZh.js.gz +0 -0
  556. package/build/client/_app/immutable/nodes/2.DZ1cMXf3.js +0 -35
  557. package/build/client/_app/immutable/nodes/2.DZ1cMXf3.js.br +0 -0
  558. package/build/client/_app/immutable/nodes/2.DZ1cMXf3.js.gz +0 -0
  559. package/build/client/_app/immutable/nodes/3.CCm10CUg.js +0 -1
  560. package/build/client/_app/immutable/nodes/3.CCm10CUg.js.br +0 -0
  561. package/build/client/_app/immutable/nodes/3.CCm10CUg.js.gz +0 -0
  562. package/build/client/_app/immutable/nodes/4.Bh8P8-OG.js +0 -1
  563. package/build/client/_app/immutable/nodes/4.Bh8P8-OG.js.br +0 -0
  564. package/build/client/_app/immutable/nodes/4.Bh8P8-OG.js.gz +0 -0
  565. package/build/client/_app/immutable/nodes/5.BqUmLlVD.js +0 -1
  566. package/build/client/_app/immutable/nodes/5.BqUmLlVD.js.br +0 -0
  567. package/build/client/_app/immutable/nodes/5.BqUmLlVD.js.gz +0 -0
  568. package/build/client/_app/immutable/nodes/6.Bt2W7P40.js +0 -1
  569. package/build/client/_app/immutable/nodes/6.Bt2W7P40.js.br +0 -0
  570. package/build/client/_app/immutable/nodes/6.Bt2W7P40.js.gz +0 -0
  571. package/build/client/_app/immutable/nodes/7.CkeP1yO3.js.br +0 -0
  572. package/build/client/_app/immutable/nodes/7.CkeP1yO3.js.gz +0 -0
  573. package/build/client/_app/immutable/nodes/8.CaESldgZ.js +0 -2
  574. package/build/client/_app/immutable/nodes/8.CaESldgZ.js.br +0 -0
  575. package/build/client/_app/immutable/nodes/8.CaESldgZ.js.gz +0 -0
  576. package/build/client/_app/immutable/nodes/9.Td5mdQc9.js +0 -2
  577. package/build/client/_app/immutable/nodes/9.Td5mdQc9.js.br +0 -0
  578. package/build/client/_app/immutable/nodes/9.Td5mdQc9.js.gz +0 -0
  579. package/build/server/chunks/0-bHCVPlND.js +0 -9
  580. package/build/server/chunks/0-bHCVPlND.js.map +0 -1
  581. package/build/server/chunks/1--P6amfWt.js +0 -9
  582. package/build/server/chunks/10-BWSo2Lz2.js +0 -9
  583. package/build/server/chunks/10-BWSo2Lz2.js.map +0 -1
  584. package/build/server/chunks/15-D8gRuCBg.js +0 -9
  585. package/build/server/chunks/15-D8gRuCBg.js.map +0 -1
  586. package/build/server/chunks/17-CoHFBhYv.js +0 -9
  587. package/build/server/chunks/17-CoHFBhYv.js.map +0 -1
  588. package/build/server/chunks/18-BbzKL6Ws.js +0 -9
  589. package/build/server/chunks/18-BbzKL6Ws.js.map +0 -1
  590. package/build/server/chunks/2-C4K8hcZz.js +0 -9
  591. package/build/server/chunks/2-C4K8hcZz.js.map +0 -1
  592. package/build/server/chunks/3-DE5hYVwf.js +0 -9
  593. package/build/server/chunks/3-DE5hYVwf.js.map +0 -1
  594. package/build/server/chunks/4-Cg9g_jQ6.js +0 -9
  595. package/build/server/chunks/4-Cg9g_jQ6.js.map +0 -1
  596. package/build/server/chunks/5-QQH3C-Ro.js +0 -9
  597. package/build/server/chunks/5-QQH3C-Ro.js.map +0 -1
  598. package/build/server/chunks/6-BrZQQi63.js +0 -9
  599. package/build/server/chunks/6-BrZQQi63.js.map +0 -1
  600. package/build/server/chunks/8-msXmgb8C.js +0 -9
  601. package/build/server/chunks/8-msXmgb8C.js.map +0 -1
  602. package/build/server/chunks/9-F1QcQ0ns.js +0 -9
  603. package/build/server/chunks/9-F1QcQ0ns.js.map +0 -1
  604. package/build/server/chunks/AgentSidebar-DqMxRWln.js.map +0 -1
  605. package/build/server/chunks/Button-qfXYs6Cv.js.map +0 -1
  606. package/build/server/chunks/ChatStepTrace-Bvxmgz7y.js.map +0 -1
  607. package/build/server/chunks/ContextEditor-CsiHhmH8.js.map +0 -1
  608. package/build/server/chunks/Dropdown-DroDbZQ6.js.map +0 -1
  609. package/build/server/chunks/Icon-SOvOgynh.js.map +0 -1
  610. package/build/server/chunks/Input-D-7S8dEO.js.map +0 -1
  611. package/build/server/chunks/Modal-CBKUwUGm.js.map +0 -1
  612. package/build/server/chunks/Tab-DMBlstpi.js.map +0 -1
  613. package/build/server/chunks/_layout.svelte-B3_pVwfN.js.map +0 -1
  614. package/build/server/chunks/_layout.svelte-BnUNGsUV.js.map +0 -1
  615. package/build/server/chunks/_layout.svelte-CqwbWo_W.js.map +0 -1
  616. package/build/server/chunks/_layout.svelte-DuOlsMHY.js.map +0 -1
  617. package/build/server/chunks/_page.svelte-B8NFVmqA.js.map +0 -1
  618. package/build/server/chunks/_page.svelte-BB_XBfMx.js.map +0 -1
  619. package/build/server/chunks/_page.svelte-BaDwHJpC.js.map +0 -1
  620. package/build/server/chunks/_page.svelte-Ch8DnIjK.js.map +0 -1
  621. package/build/server/chunks/_page.svelte-DASkT6Tk.js.map +0 -1
  622. package/build/server/chunks/_page.svelte-Tl1k8pGd.js.map +0 -1
  623. package/build/server/chunks/_page.svelte-VFizsKQC.js +0 -763
  624. package/build/server/chunks/_page.svelte-VFizsKQC.js.map +0 -1
  625. package/build/server/chunks/_page.svelte-c2LBV2K4.js.map +0 -1
  626. package/build/server/chunks/agents-context-DJAK2Ml6.js.map +0 -1
  627. package/build/server/chunks/client-tqD_VlIn.js.map +0 -1
  628. package/build/server/chunks/context-B0vutJuA.js +0 -1819
  629. package/build/server/chunks/context-B0vutJuA.js.map +0 -1
  630. package/build/server/chunks/edit-workspace-context-BQXwYkgE.js.map +0 -1
  631. package/build/server/chunks/error.svelte-DZg1sSW2.js +0 -14
  632. package/build/server/chunks/error.svelte-DZg1sSW2.js.map +0 -1
  633. package/build/server/chunks/events-Hd1jvlZp.js.map +0 -1
  634. package/build/server/chunks/hooks-BJphIAi-.js.map +0 -1
  635. package/build/server/chunks/index-Djsj11qr.js.map +0 -1
  636. package/build/server/chunks/index-server-BI-Ep7Rw.js.map +0 -1
  637. package/build/server/chunks/index2-BpEbpEAf.js +0 -828
  638. package/build/server/chunks/index2-BpEbpEAf.js.map +0 -1
  639. package/build/server/chunks/index3-Cp9d5nmD.js.map +0 -1
  640. package/build/server/chunks/source-selection-hOQHZ-fn.js.map +0 -1
  641. package/build/server/chunks/state.svelte-DbqYHGBV.js +0 -10
  642. package/build/server/chunks/state.svelte-DbqYHGBV.js.map +0 -1
  643. package/build/server/chunks/utils-KcIDVAAe.js +0 -238
  644. package/build/server/chunks/utils-KcIDVAAe.js.map +0 -1
@@ -1,763 +0,0 @@
1
- import { e as ensure_array_like, c as attr_style } from './index2-BpEbpEAf.js';
2
- import { o as onDestroy } from './index-server-BI-Ep7Rw.js';
3
- import { p as page } from './index3-Cp9d5nmD.js';
4
- import { B as Button } from './Button-qfXYs6Cv.js';
5
- import { g as getPersistedTelescopeSourceId } from './source-selection-hOQHZ-fn.js';
6
- import { X as escape_html } from './context-B0vutJuA.js';
7
- import './state.svelte-DbqYHGBV.js';
8
- import './utils-KcIDVAAe.js';
9
- import './index-BSa6KzSq.js';
10
- import 'zod';
11
-
12
- function _page($$renderer, $$props) {
13
- $$renderer.component(($$renderer2) => {
14
- const TIMELINE_RULER_HEIGHT_PX = 32;
15
- const TIMELINE_ROW_HEIGHT_PX = 40;
16
- const WAVEFORM_ROW_HEIGHT_PX = 160;
17
- const TIMELINE_SCALE_HEIGHT_PX = 32;
18
- const BOSUN_COLORS = {
19
- blue: "#569cd6",
20
- green: "#93FF6D",
21
- greenDark: "#00B58A",
22
- orange: "#ce9178",
23
- purple: "#81147D",
24
- red: "#FF6666",
25
- gray: "#767676"
26
- };
27
- const RAW_VAD_SPAN_NAMES = /* @__PURE__ */ new Set(["vad.start_of_speech", "vad.end_of_speech"]);
28
- const RAW_STT_SPAN_NAMES = /* @__PURE__ */ new Set([
29
- "stt.start_of_speech",
30
- "stt.interim_transcript",
31
- "stt.preflight_transcript",
32
- "stt.final_transcript"
33
- ]);
34
- const HIDDEN_LATENCY_SPAN_NAMES = /* @__PURE__ */ new Set([
35
- "vad.user_speech",
36
- "vad.endpointing",
37
- "vad.trailing_silence",
38
- "stt.endpointing",
39
- "stt.transcription",
40
- "stt.turn_commit",
41
- "stt.until_turn_committed",
42
- "stt.transcript_to_speech_created",
43
- "stt.transcript_to_llm_request",
44
- "stt.transcript_trigger_selected",
45
- "stt.speech_end_to_trigger_transcript",
46
- "stt.speech_end_to_final_transcript",
47
- "stt.trigger_transcript_to_reply_trigger",
48
- "stt.final_transcript_to_commit"
49
- ]);
50
- const ROW_DEFS = [
51
- { label: "VAD", names: [...RAW_VAD_SPAN_NAMES] },
52
- { label: "STT", names: [...RAW_STT_SPAN_NAMES] },
53
- { label: "Trigger", component: "trigger" },
54
- { label: "LLM", names: ["llm.request.ttft", "llm.streaming"] },
55
- {
56
- label: "LLM→TTS",
57
- names: ["llm_to_tts.buffering", "llm_to_tts.streaming"]
58
- },
59
- { label: "TTS generation", names: ["tts.generation"] },
60
- {
61
- label: "TTS→Audio",
62
- names: ["tts_to_audio.buffering", "tts_to_audio.streaming"]
63
- },
64
- { label: "LLM→Audio start", names: ["llm_to_audio.latency"] },
65
- { label: "Other" }
66
- ];
67
- const COLOR_BY_KEY = {
68
- "vad.user_speech": tintHex(BOSUN_COLORS.purple, 0.35),
69
- "vad.endpointing": tintHex(BOSUN_COLORS.purple, -0.15),
70
- "llm.request": tintHex(BOSUN_COLORS.blue, -0.25),
71
- "llm.streaming": BOSUN_COLORS.blue,
72
- "llm_to_tts.buffering": tintHex(BOSUN_COLORS.orange, -0.25),
73
- "llm_to_tts.streaming": BOSUN_COLORS.orange,
74
- "tts.generation": tintHex(BOSUN_COLORS.orange, 0.25),
75
- "tts_to_audio.buffering": tintHex(BOSUN_COLORS.purple, -0.25),
76
- "tts_to_audio.streaming": tintHex(BOSUN_COLORS.purple, 0.25),
77
- "llm_to_audio.ok": BOSUN_COLORS.green,
78
- "llm_to_audio.high": BOSUN_COLORS.red,
79
- trigger: BOSUN_COLORS.greenDark,
80
- stt: tintHex(BOSUN_COLORS.purple, 0.2),
81
- other: BOSUN_COLORS.gray
82
- };
83
- let sourceId = getPersistedTelescopeSourceId() ?? "";
84
- let traces = [];
85
- let recording = {
86
- alignmentOffsetMs: 0
87
- };
88
- let uploadInFlight = false;
89
- let playbackPositionMs = 0;
90
- let playbackPlaying = false;
91
- let viewportStartMs = null;
92
- let viewportEndMs = null;
93
- let fileInputEl = null;
94
- let playbackAudioContext = null;
95
- let playbackSourceNode = null;
96
- let playbackStartedAtMs = null;
97
- let playbackStartedAtContextTime = null;
98
- const conversationId = (() => page.params.conversationId)();
99
- function buildRecordingApiUrlFor(cid, nextSourceId) {
100
- const params = new URLSearchParams();
101
- if (nextSourceId) params.set("source", nextSourceId);
102
- const search = params.toString();
103
- return `/traces/api/latency/${encodeURIComponent(cid)}${search ? `?${search}` : ""}`;
104
- }
105
- (() => {
106
- if (!conversationId) return "";
107
- return buildRecordingApiUrlFor(conversationId, sourceId);
108
- })();
109
- const timelineOriginMs = (() => {
110
- let min = Number.POSITIVE_INFINITY;
111
- for (const trace of traces) {
112
- if (typeof trace.createdAt !== "number" || !Number.isFinite(trace.createdAt)) continue;
113
- min = Math.min(min, trace.createdAt);
114
- }
115
- return Number.isFinite(min) ? min : 0;
116
- })();
117
- const callSegments = (() => buildCallLatencySegments(traces))();
118
- const latencyTraceCount = (() => traces.filter((trace) => {
119
- const metrics = trace?.metrics;
120
- return !!metrics && typeof metrics === "object";
121
- }).length)();
122
- const timelineRows = (() => {
123
- const grouped = /* @__PURE__ */ new Map();
124
- for (const segment of callSegments) {
125
- const items = grouped.get(segment.row);
126
- if (items) items.push(segment);
127
- else grouped.set(segment.row, [segment]);
128
- }
129
- return [...ROW_DEFS].reverse().map((row) => ({ label: row.label, segments: grouped.get(row.label) ?? [] })).filter((row) => row.segments.length > 0);
130
- })();
131
- const guideLines = (() => buildGuideLines())();
132
- const timelinePlotHeightPx = (() => TIMELINE_RULER_HEIGHT_PX + timelineRows.length * TIMELINE_ROW_HEIGHT_PX + WAVEFORM_ROW_HEIGHT_PX + TIMELINE_SCALE_HEIGHT_PX)();
133
- const playbackAbsoluteMs = (() => {
134
- return null;
135
- })();
136
- const playbackCursor = (() => {
137
- const absoluteMs = playbackAbsoluteMs;
138
- if (absoluteMs == null || viewportStartMs == null || viewportEndMs == null) return null;
139
- const durationMs = viewportEndMs - viewportStartMs;
140
- if (!Number.isFinite(durationMs) || durationMs <= 0) return null;
141
- if (absoluteMs < viewportStartMs || absoluteMs > viewportEndMs) return null;
142
- return {
143
- leftPercent: clamp((absoluteMs - viewportStartMs) / durationMs * 100, 0, 100),
144
- heightPx: timelinePlotHeightPx
145
- };
146
- })();
147
- const contentExtent = (() => {
148
- let min = Number.POSITIVE_INFINITY;
149
- let max = Number.NEGATIVE_INFINITY;
150
- for (const segment of callSegments) {
151
- min = Math.min(min, segment.start);
152
- max = Math.max(max, segment.end);
153
- }
154
- if (!Number.isFinite(min) || !Number.isFinite(max) || max <= min) return null;
155
- return { min, max };
156
- })();
157
- const viewportDurationMs = (() => {
158
- if (viewportStartMs == null || viewportEndMs == null) return null;
159
- const duration = viewportEndMs - viewportStartMs;
160
- return duration > 0 ? duration : null;
161
- })();
162
- const visibleTicks = (() => {
163
- if (viewportStartMs == null || viewportEndMs == null) return [];
164
- return buildTicks(viewportStartMs, viewportEndMs, timelineOriginMs);
165
- })();
166
- const visibleTickStepMs = (() => {
167
- if (viewportStartMs == null || viewportEndMs == null) return null;
168
- const durationMs = viewportEndMs - viewportStartMs;
169
- if (!Number.isFinite(durationMs) || durationMs <= 0) return null;
170
- return chooseTickStep(durationMs);
171
- })();
172
- onDestroy(() => {
173
- stopPlayback(false);
174
- void closePlaybackAudioContext();
175
- });
176
- function normalizeNonEmptyString(value) {
177
- if (typeof value !== "string") return null;
178
- const trimmed = value.trim();
179
- return trimmed ? trimmed : null;
180
- }
181
- function ms(value) {
182
- return typeof value === "number" && Number.isFinite(value) ? value : null;
183
- }
184
- function clampByte(value) {
185
- return Math.max(0, Math.min(255, Math.round(value)));
186
- }
187
- function clamp(value, min, max) {
188
- return Math.min(max, Math.max(min, value));
189
- }
190
- function tintHex(hex, amount) {
191
- const raw = (hex ?? "").trim().replace(/^#/, "");
192
- const expanded = raw.length === 3 ? raw.split("").map((part) => `${part}${part}`).join("") : raw;
193
- if (expanded.length !== 6 || !/^[0-9a-fA-F]+$/.test(expanded)) return hex;
194
- const r = parseInt(expanded.slice(0, 2), 16);
195
- const g = parseInt(expanded.slice(2, 4), 16);
196
- const b = parseInt(expanded.slice(4, 6), 16);
197
- const t = Math.abs(Math.max(-1, Math.min(1, amount)));
198
- const target = amount >= 0 ? 255 : 0;
199
- 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")}`;
200
- }
201
- function fmtSignedMs(value) {
202
- if (!Number.isFinite(value)) return "0 ms";
203
- const rounded = Math.round(value);
204
- if (rounded === 0) return "0 ms";
205
- return `${rounded > 0 ? "+" : ""}${rounded} ms`;
206
- }
207
- function formatRelativeTime(offsetMs) {
208
- if (!Number.isFinite(offsetMs)) return "—";
209
- const sign = offsetMs < 0 ? "-" : "";
210
- const abs = Math.abs(offsetMs);
211
- if (abs < 1e4) return `${sign}${(abs / 1e3).toFixed(1)}s`;
212
- if (abs < 6e4) return `${sign}${(abs / 1e3).toFixed(2)}s`;
213
- const totalSeconds = abs / 1e3;
214
- const minutes = Math.floor(totalSeconds / 60);
215
- const seconds = totalSeconds - minutes * 60;
216
- return `${sign}${minutes}:${seconds.toFixed(1).padStart(4, "0")}`;
217
- }
218
- function formatScaleStep(valueMs) {
219
- if (valueMs == null || !Number.isFinite(valueMs) || valueMs <= 0) return "—";
220
- if (valueMs < 1e3) return `${Math.round(valueMs)} ms`;
221
- if (valueMs < 1e4) return `${Math.round(valueMs)} ms (${(valueMs / 1e3).toFixed(1)} s)`;
222
- return `${Math.round(valueMs)} ms (${(valueMs / 1e3).toFixed(2)} s)`;
223
- }
224
- function spanAttribute(span, key) {
225
- const attributes = span?.attributes;
226
- if (!attributes || typeof attributes !== "object") return null;
227
- return attributes[`bosun.${key}`] ?? attributes[`anyvan.${key}`] ?? null;
228
- }
229
- function spanStringAttribute(span, key) {
230
- return normalizeNonEmptyString(spanAttribute(span, key));
231
- }
232
- function spanComponent(span) {
233
- return spanStringAttribute(span, "component");
234
- }
235
- function shouldIgnoreLatencySpan(span) {
236
- const name = normalizeNonEmptyString(span?.name);
237
- if (!name) return false;
238
- if (HIDDEN_LATENCY_SPAN_NAMES.has(name)) return true;
239
- if (name.startsWith("vad.") && !RAW_VAD_SPAN_NAMES.has(name)) return true;
240
- if (name.startsWith("stt.") && !RAW_STT_SPAN_NAMES.has(name)) return true;
241
- return false;
242
- }
243
- function spanLabel(span) {
244
- const label = spanStringAttribute(span, "label");
245
- if (label) return label;
246
- if (typeof span?.name === "string" && span.name) return span.name;
247
- return "span";
248
- }
249
- function describeTrace(trace) {
250
- const time = typeof trace.createdAt === "number" && Number.isFinite(trace.createdAt) ? new Date(trace.createdAt).toLocaleTimeString() : "unknown time";
251
- if (trace.traceType === "CONVERSATIONAL") {
252
- return `Conversational • ${trace.eventName} • ${time}`;
253
- }
254
- if (trace.traceType === "STEP") {
255
- return `Step • ${trace.name ?? "unknown"} • ${time}`;
256
- }
257
- return `API • ${trace.operationName} • ${time}`;
258
- }
259
- function spanColorKey(span) {
260
- const name = typeof span?.name === "string" ? span.name : "";
261
- if (name === "vad.endpointing") return "vad.endpointing";
262
- if (name.startsWith("vad.")) return "vad.user_speech";
263
- if (name === "llm.request.ttft") return "llm.request";
264
- if (name === "llm.streaming") return "llm.streaming";
265
- if (name === "llm_to_tts.buffering") return "llm_to_tts.buffering";
266
- if (name === "llm_to_tts.streaming") return "llm_to_tts.streaming";
267
- if (name === "tts.generation") return "tts.generation";
268
- if (name === "tts_to_audio.buffering") return "tts_to_audio.buffering";
269
- if (name === "tts_to_audio.streaming") return "tts_to_audio.streaming";
270
- if (name.startsWith("stt.")) return "stt";
271
- if (name.startsWith("trigger.")) return "trigger";
272
- const component = spanComponent(span);
273
- if (component === "vad") return "vad.user_speech";
274
- if (component === "stt") return "stt";
275
- if (component === "trigger") return "trigger";
276
- return "other";
277
- }
278
- function makePointSpan(name, atMs, attributes) {
279
- return {
280
- name,
281
- startTimeUnixMs: atMs,
282
- endTimeUnixMs: atMs,
283
- durationMs: 0,
284
- attributes
285
- };
286
- }
287
- function buildLatencyDebugSpans(metrics) {
288
- const debug = metrics?.debug ?? {};
289
- const ttsAudioStartAtMs = ms(metrics?.timing?.ttsAudioStartAtMs);
290
- const isPreResponseEvent = (atMs) => ttsAudioStartAtMs == null || atMs <= ttsAudioStartAtMs;
291
- const built = [];
292
- let hasRawVad = false;
293
- let hasRawStt = false;
294
- const vadEvents = Array.isArray(debug?.vadEvents?.events) ? debug.vadEvents.events : [];
295
- vadEvents.forEach((event, index) => {
296
- const atMs = ms(event?.atMs);
297
- const type = normalizeNonEmptyString(event?.type);
298
- if (atMs == null || !isPreResponseEvent(atMs) || type !== "start_of_speech" && type !== "end_of_speech") {
299
- return;
300
- }
301
- hasRawVad = true;
302
- built.push(makePointSpan(`vad.${type}`, atMs, {
303
- "anyvan.component": "vad",
304
- "anyvan.label": type === "start_of_speech" ? "VAD activated" : "VAD deactivated",
305
- "anyvan.description": type === "start_of_speech" ? "Raw VAD START_OF_SPEECH event" : "Raw VAD END_OF_SPEECH event",
306
- "anyvan.eventIndex": index,
307
- "anyvan.samplesIndex": typeof event?.samplesIndex === "number" ? event.samplesIndex : void 0,
308
- "anyvan.speechDurationMs": typeof event?.speechDurationMs === "number" ? event.speechDurationMs : void 0,
309
- "anyvan.silenceDurationMs": typeof event?.silenceDurationMs === "number" ? event.silenceDurationMs : void 0
310
- }));
311
- });
312
- const sttEvents = Array.isArray(debug?.sttEvents?.events) ? debug.sttEvents.events : [];
313
- sttEvents.forEach((event, index) => {
314
- const atMs = ms(event?.atMs);
315
- const type = normalizeNonEmptyString(event?.type);
316
- if (atMs == null || !isPreResponseEvent(atMs) || type !== "start_of_speech" && type !== "interim_transcript" && type !== "preflight_transcript" && type !== "final_transcript") {
317
- return;
318
- }
319
- hasRawStt = true;
320
- const label = type === "start_of_speech" ? "STT start of speech" : type === "interim_transcript" ? "STT interim transcript" : type === "preflight_transcript" ? "STT preflight transcript" : "STT final transcript";
321
- built.push(makePointSpan(`stt.${type}`, atMs, {
322
- "anyvan.component": "stt",
323
- "anyvan.label": label,
324
- "anyvan.description": `Raw STT ${type.toUpperCase()} event`,
325
- "anyvan.eventIndex": index,
326
- "anyvan.requestId": typeof event?.requestId === "string" ? event.requestId : void 0,
327
- "anyvan.text": normalizeNonEmptyString(event?.text),
328
- "anyvan.language": typeof event?.language === "string" || event?.language === null ? event.language : void 0,
329
- "anyvan.speakerId": typeof event?.speakerId === "string" || event?.speakerId === null ? event.speakerId : void 0
330
- }));
331
- });
332
- return { spans: built, hasRawVad, hasRawStt };
333
- }
334
- function buildSegmentsForMetrics(trace, metrics, prefix) {
335
- const debugSpans = buildLatencyDebugSpans(metrics);
336
- const spans = Array.isArray(metrics?.spans) ? metrics.spans.filter((span) => {
337
- const name = normalizeNonEmptyString(span?.name);
338
- if (name?.startsWith("vad.") && debugSpans.hasRawVad) return false;
339
- if (name?.startsWith("stt.") && debugSpans.hasRawStt) return false;
340
- return !shouldIgnoreLatencySpan(span);
341
- }) : [];
342
- const summary = metrics?.summary ?? {};
343
- const timing = metrics?.timing ?? {};
344
- const indexed = [...spans, ...debugSpans.spans].map((span, index) => ({ span, index }));
345
- const used = /* @__PURE__ */ new Set();
346
- const groupedRows = ROW_DEFS.filter((row) => row.label !== "LLM→Audio start" && row.label !== "Other").map((row) => {
347
- const matches = indexed.filter(({ span, index }) => {
348
- if (used.has(index)) return false;
349
- const name = typeof span?.name === "string" ? span.name : "";
350
- const component = spanComponent(span);
351
- const nameMatch = Array.isArray(row.names) && name !== "" && row.names.includes(name);
352
- const componentMatch = typeof row.component === "string" && component === row.component;
353
- return nameMatch || componentMatch;
354
- }).sort((a, b) => (ms(a.span.startTimeUnixMs) ?? 0) - (ms(b.span.startTimeUnixMs) ?? 0));
355
- for (const match of matches) used.add(match.index);
356
- return { label: row.label, spans: matches.map((match) => match.span) };
357
- }).filter((row) => row.spans.length > 0);
358
- const other = indexed.filter(({ index }) => !used.has(index)).map((entry) => entry.span).sort((a, b) => (ms(a.startTimeUnixMs) ?? 0) - (ms(b.startTimeUnixMs) ?? 0));
359
- if (other.length) groupedRows.push({ label: "Other", spans: other });
360
- const built = [];
361
- for (const row of groupedRows) {
362
- row.spans.forEach((span, index) => {
363
- const start = ms(span.startTimeUnixMs);
364
- const end = ms(span.endTimeUnixMs);
365
- if (start == null || end == null || end < start) return;
366
- built.push({
367
- id: `${prefix}:${row.label}:${span.name ?? "span"}:${start}:${end}:${index}`,
368
- row: row.label,
369
- start,
370
- end,
371
- durationMs: Math.max(0, end - start),
372
- colorKey: spanColorKey(span),
373
- label: spanLabel(span),
374
- description: spanStringAttribute(span, "description"),
375
- explain: spanStringAttribute(span, "explain"),
376
- text: spanStringAttribute(span, "text"),
377
- traceLabel: describeTrace(trace)
378
- });
379
- });
380
- }
381
- const llmRequestStartAtMs = ms(timing?.llmRequestStartAtMs);
382
- const ttsAudioStartAtMs = ms(timing?.ttsAudioStartAtMs);
383
- if (llmRequestStartAtMs != null && ttsAudioStartAtMs != null && ttsAudioStartAtMs >= llmRequestStartAtMs) {
384
- const durationMs = ttsAudioStartAtMs - llmRequestStartAtMs;
385
- built.push({
386
- id: `${prefix}:llm_to_audio:${llmRequestStartAtMs}:${ttsAudioStartAtMs}`,
387
- row: "LLM→Audio start",
388
- start: llmRequestStartAtMs,
389
- end: ttsAudioStartAtMs,
390
- durationMs,
391
- colorKey: durationMs > 800 || Boolean(summary?.problematic) ? "llm_to_audio.high" : "llm_to_audio.ok",
392
- label: "LLM→Audio start",
393
- description: "LLM request start → agent speaking (first audio frame)",
394
- explain: durationMs > 800 || Boolean(summary?.problematic) ? "High latency (>800ms) or problematic timing" : "OK",
395
- text: null,
396
- traceLabel: describeTrace(trace)
397
- });
398
- }
399
- return built;
400
- }
401
- function buildCallLatencySegments(input) {
402
- const built = [];
403
- input.forEach((trace, index) => {
404
- const metrics = trace?.metrics;
405
- if (!metrics || typeof metrics !== "object") return;
406
- const key = normalizeNonEmptyString(trace?.traceId) ?? `${trace.traceType}:${trace.createdAt}:${index}`;
407
- built.push(...buildSegmentsForMetrics(trace, metrics, key));
408
- });
409
- return built.sort((a, b) => a.start - b.start || a.end - b.end || a.row.localeCompare(b.row));
410
- }
411
- function segmentStyle(segment) {
412
- if (viewportStartMs == null || viewportEndMs == null) return null;
413
- const duration = viewportEndMs - viewportStartMs;
414
- if (!Number.isFinite(duration) || duration <= 0) return null;
415
- const fill = COLOR_BY_KEY[segment.colorKey] ?? BOSUN_COLORS.gray;
416
- const border = tintHex(fill, -0.25);
417
- if (segment.end === segment.start) {
418
- if (segment.start < viewportStartMs || segment.start > viewportEndMs) return null;
419
- const pointPercent = clamp((segment.start - viewportStartMs) / duration * 100, 0, 100);
420
- return `left:calc(${pointPercent}% - 2px);width:4px;background:${fill};border-color:${border};`;
421
- }
422
- const visibleStart = Math.max(segment.start, viewportStartMs);
423
- const visibleEnd = Math.min(segment.end, viewportEndMs);
424
- if (visibleEnd < visibleStart) return null;
425
- const leftPercent = (visibleStart - viewportStartMs) / duration * 100;
426
- const widthPercent = (visibleEnd - visibleStart) / duration * 100;
427
- return `left:${leftPercent}%;width:max(${widthPercent}%,2px);background:${fill};border-color:${border};`;
428
- }
429
- function guideLineStyle(guide) {
430
- return `left:${guide.leftPercent}%;top:${guide.topPx}px;height:${guide.heightPx}px;border-color:${guide.color};opacity:${guide.opacity};`;
431
- }
432
- function buildGuideLines(rows) {
433
- return [];
434
- }
435
- function chooseTickStep(durationMs) {
436
- const approx = durationMs / 7;
437
- const magnitude = 10 ** Math.floor(Math.log10(Math.max(1, approx)));
438
- const normalized = approx / magnitude;
439
- if (normalized <= 1) return 1 * magnitude;
440
- if (normalized <= 2) return 2 * magnitude;
441
- if (normalized <= 5) return 5 * magnitude;
442
- return 10 * magnitude;
443
- }
444
- function buildTicks(startMs, endMs, originMs) {
445
- const durationMs = endMs - startMs;
446
- if (!Number.isFinite(durationMs) || durationMs <= 0) return [];
447
- const stepMs = chooseTickStep(durationMs);
448
- const firstTick = Math.ceil((startMs - originMs) / stepMs) * stepMs + originMs;
449
- const ticks = [];
450
- for (let tick = firstTick; tick <= endMs; tick += stepMs) {
451
- const leftPercent = (tick - startMs) / durationMs * 100;
452
- ticks.push({
453
- time: tick,
454
- leftPercent,
455
- label: formatRelativeTime(tick - originMs)
456
- });
457
- }
458
- return ticks;
459
- }
460
- async function closePlaybackAudioContext() {
461
- const context = playbackAudioContext;
462
- playbackAudioContext = null;
463
- if (!context) return;
464
- await context.close().catch(() => {
465
- });
466
- }
467
- function getPlaybackPositionMs() {
468
- const durationMs = getRecordingDurationMs();
469
- if (playbackPlaying && playbackAudioContext && playbackStartedAtMs != null && playbackStartedAtContextTime != null) {
470
- const elapsedMs = (playbackAudioContext.currentTime - playbackStartedAtContextTime) * 1e3;
471
- const currentMs = playbackStartedAtMs + Math.max(0, elapsedMs);
472
- return durationMs > 0 ? clamp(currentMs, 0, durationMs) : Math.max(0, currentMs);
473
- }
474
- return durationMs > 0 ? clamp(playbackPositionMs, 0, durationMs) : Math.max(0, playbackPositionMs);
475
- }
476
- function stopPlayback(preservePosition = true) {
477
- if (preservePosition) {
478
- playbackPositionMs = getPlaybackPositionMs();
479
- }
480
- const source = playbackSourceNode;
481
- playbackSourceNode = null;
482
- playbackStartedAtMs = null;
483
- playbackStartedAtContextTime = null;
484
- playbackPlaying = false;
485
- if (!source) return;
486
- source.onended = null;
487
- try {
488
- source.stop();
489
- } catch {
490
- }
491
- source.disconnect();
492
- }
493
- function getRecordingDurationMs() {
494
- return 0;
495
- }
496
- async function togglePlayback() {
497
- return;
498
- }
499
- function fitViewport(markDirty = true) {
500
- const extent = contentExtent;
501
- if (!extent) return;
502
- const paddingMs = Math.max(500, (extent.max - extent.min) * 0.05);
503
- viewportStartMs = extent.min - paddingMs;
504
- viewportEndMs = extent.max + paddingMs;
505
- }
506
- function clampViewport(startMs, endMs) {
507
- const extent = contentExtent;
508
- if (!extent) return { startMs, endMs };
509
- const durationMs = endMs - startMs;
510
- if (durationMs <= 0) return { startMs, endMs };
511
- const marginMs = Math.max(1e3, durationMs * 0.25);
512
- const minAllowed = extent.min - marginMs;
513
- const maxAllowed = extent.max + marginMs;
514
- if (durationMs >= maxAllowed - minAllowed) {
515
- return { startMs: minAllowed, endMs: maxAllowed };
516
- }
517
- if (startMs < minAllowed) {
518
- endMs += minAllowed - startMs;
519
- startMs = minAllowed;
520
- }
521
- if (endMs > maxAllowed) {
522
- startMs -= endMs - maxAllowed;
523
- endMs = maxAllowed;
524
- }
525
- return { startMs, endMs };
526
- }
527
- function setViewport(startMs, endMs) {
528
- if (!Number.isFinite(startMs) || !Number.isFinite(endMs) || endMs <= startMs) return;
529
- const next = clampViewport(startMs, endMs);
530
- viewportStartMs = next.startMs;
531
- viewportEndMs = next.endMs;
532
- }
533
- function zoomViewport(factor, focusRatio = 0.5) {
534
- if (viewportStartMs == null || viewportEndMs == null) return;
535
- const currentDuration = viewportEndMs - viewportStartMs;
536
- if (!Number.isFinite(currentDuration) || currentDuration <= 0) return;
537
- const extent = contentExtent;
538
- const contentDuration = extent ? extent.max - extent.min : currentDuration;
539
- const minDuration = Math.min(100, currentDuration);
540
- const maxDuration = Math.max(contentDuration + Math.max(2e3, contentDuration * 0.1), 5e3);
541
- const nextDuration = clamp(currentDuration * factor, minDuration, maxDuration);
542
- const nextFocusRatio = clamp(focusRatio, 0, 1);
543
- const focusMs = viewportStartMs + currentDuration * nextFocusRatio;
544
- const nextStartMs = focusMs - nextDuration * nextFocusRatio;
545
- setViewport(nextStartMs, nextStartMs + nextDuration);
546
- }
547
- async function resetAlignment() {
548
- return;
549
- }
550
- $$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 `);
551
- if (conversationId) {
552
- $$renderer2.push("<!--[-->");
553
- $$renderer2.push(`<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200">${escape_html(conversationId)}</span>`);
554
- } else {
555
- $$renderer2.push("<!--[!-->");
556
- }
557
- $$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 traces:</span> <span class="font-mono text-rc-gray-100">${escape_html(callSegments.length)}</span></div> <div><span class="text-rc-gray-400">Traces with metrics:</span> <span class="font-mono text-rc-gray-100">${escape_html(latencyTraceCount)}</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> `);
558
- {
559
- $$renderer2.push("<!--[!-->");
560
- }
561
- $$renderer2.push(`<!--]--> `);
562
- if (viewportStartMs != null && viewportEndMs != null) {
563
- $$renderer2.push("<!--[-->");
564
- $$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>`);
565
- } else {
566
- $$renderer2.push("<!--[!-->");
567
- }
568
- $$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"/> `);
569
- Button($$renderer2, {
570
- variant: "secondary",
571
- size: "small",
572
- disabled: uploadInFlight,
573
- onclick: () => fileInputEl?.click(),
574
- children: ($$renderer3) => {
575
- $$renderer3.push(`<!---->${escape_html("Upload WAV")}`);
576
- },
577
- $$slots: { default: true }
578
- });
579
- $$renderer2.push(`<!----> `);
580
- Button($$renderer2, {
581
- variant: "secondary",
582
- size: "small",
583
- disabled: true,
584
- onclick: () => void togglePlayback(),
585
- children: ($$renderer3) => {
586
- $$renderer3.push(`<!---->${escape_html(playbackPlaying ? "Pause" : "Play")}`);
587
- },
588
- $$slots: { default: true }
589
- });
590
- $$renderer2.push(`<!----> `);
591
- Button($$renderer2, {
592
- variant: "secondary",
593
- size: "small",
594
- disabled: viewportDurationMs == null,
595
- onclick: () => zoomViewport(0.8),
596
- children: ($$renderer3) => {
597
- $$renderer3.push(`<!---->Zoom in`);
598
- },
599
- $$slots: { default: true }
600
- });
601
- $$renderer2.push(`<!----> `);
602
- Button($$renderer2, {
603
- variant: "secondary",
604
- size: "small",
605
- disabled: viewportDurationMs == null,
606
- onclick: () => zoomViewport(1.25),
607
- children: ($$renderer3) => {
608
- $$renderer3.push(`<!---->Zoom out`);
609
- },
610
- $$slots: { default: true }
611
- });
612
- $$renderer2.push(`<!----> `);
613
- Button($$renderer2, {
614
- variant: "secondary",
615
- size: "small",
616
- disabled: !contentExtent,
617
- onclick: () => fitViewport(true),
618
- children: ($$renderer3) => {
619
- $$renderer3.push(`<!---->Fit call`);
620
- },
621
- $$slots: { default: true }
622
- });
623
- $$renderer2.push(`<!----> `);
624
- Button($$renderer2, {
625
- variant: "secondary",
626
- size: "small",
627
- disabled: true,
628
- onclick: resetAlignment,
629
- children: ($$renderer3) => {
630
- $$renderer3.push(`<!---->Reset alignment`);
631
- },
632
- $$slots: { default: true }
633
- });
634
- $$renderer2.push(`<!----></div></div> `);
635
- {
636
- $$renderer2.push("<!--[!-->");
637
- }
638
- $$renderer2.push(`<!--]--> `);
639
- {
640
- $$renderer2.push("<!--[!-->");
641
- }
642
- $$renderer2.push(`<!--]--> `);
643
- {
644
- $$renderer2.push("<!--[!-->");
645
- }
646
- $$renderer2.push(`<!--]--> `);
647
- {
648
- $$renderer2.push("<!--[!-->");
649
- }
650
- $$renderer2.push(`<!--]--> `);
651
- {
652
- $$renderer2.push("<!--[!-->");
653
- }
654
- $$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 bg-rc-gray-900/60 p-3"><div class="flex flex-wrap items-start justify-between gap-3"><div><div class="text-sm font-semibold text-rc-gray-100">Recording</div> `);
655
- {
656
- $$renderer2.push("<!--[!-->");
657
- $$renderer2.push(`<div class="mt-1 text-sm text-rc-gray-300">Upload a WAV recording to overlay the call waveform and persist it under this
658
- project's \`data/\` folder.</div>`);
659
- }
660
- $$renderer2.push(`<!--]--></div> <div class="text-xs text-rc-gray-300"><div>Drag the latency chart to pan the viewport.</div> <div>Scroll anywhere in the timeline to zoom traces and waveform together.</div> <div>Click the waveform to move the playhead.</div> <div>Press Space to play or pause.</div> <div>Drag the waveform itself to align the audio against the traces.</div> `);
661
- {
662
- $$renderer2.push("<!--[!-->");
663
- }
664
- $$renderer2.push(`<!--]--></div></div></div> <div class="rounded-md border border-rc-gray-650 bg-rc-gray-900/60 p-3"><div class="mb-3 flex items-center justify-between gap-3"><div class="text-sm font-semibold text-rc-gray-100">Call timeline</div> <div class="text-xs text-rc-gray-400">Shared x-axis for traces and waveform</div></div> `);
665
- {
666
- $$renderer2.push("<!--[!-->");
667
- if (!callSegments.length) {
668
- $$renderer2.push("<!--[-->");
669
- $$renderer2.push(`<div class="text-sm text-rc-gray-300">No latency metrics were found on this call.</div>`);
670
- } else {
671
- $$renderer2.push("<!--[!-->");
672
- if (viewportStartMs == null || viewportEndMs == null) {
673
- $$renderer2.push("<!--[-->");
674
- $$renderer2.push(`<div class="text-sm text-rc-gray-300">Preparing timeline…</div>`);
675
- } else {
676
- $$renderer2.push("<!--[!-->");
677
- $$renderer2.push(`<div class="grid grid-cols-[140px_minmax(0,1fr)] gap-x-3"><div class="flex flex-col"><div class="h-8"></div> <!--[-->`);
678
- const each_array = ensure_array_like(timelineRows);
679
- for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
680
- let row = each_array[$$index];
681
- $$renderer2.push(`<div class="flex h-10 items-center text-xs text-rc-gray-300">${escape_html(row.label)}</div>`);
682
- }
683
- $$renderer2.push(`<!--]--> <div class="flex h-40 items-center text-xs text-rc-gray-300">Waveform</div> <div class="flex h-8 items-center text-xs text-rc-gray-300">Scale</div></div> <div class="relative"><div class="pointer-events-none absolute inset-0 z-10 overflow-hidden"><!--[-->`);
684
- const each_array_1 = ensure_array_like(guideLines);
685
- for (let $$index_1 = 0, $$length = each_array_1.length; $$index_1 < $$length; $$index_1++) {
686
- let guide = each_array_1[$$index_1];
687
- $$renderer2.push(`<div class="absolute -translate-x-1/2 border-l border-dashed"${attr_style(guideLineStyle(guide))}></div>`);
688
- }
689
- $$renderer2.push(`<!--]--> `);
690
- if (playbackCursor) {
691
- $$renderer2.push("<!--[-->");
692
- $$renderer2.push(`<div class="absolute top-0 -translate-x-1/2 border-l-2 border-rc-green-200/90"${attr_style(`left:${playbackCursor.leftPercent}%;height:${playbackCursor.heightPx}px;`)}></div> <div class="absolute top-1 h-2 w-2 -translate-x-1/2 rounded-full bg-rc-green-200"${attr_style(`left:${playbackCursor.leftPercent}%;`)}></div>`);
693
- } else {
694
- $$renderer2.push("<!--[!-->");
695
- }
696
- $$renderer2.push(`<!--]--></div> <div class="relative z-0 h-8 overflow-hidden rounded-t border border-b-0 border-rc-gray-700/60 bg-rc-gray-800/30"><!--[-->`);
697
- const each_array_2 = ensure_array_like(visibleTicks);
698
- for (let $$index_2 = 0, $$length = each_array_2.length; $$index_2 < $$length; $$index_2++) {
699
- let tick = each_array_2[$$index_2];
700
- $$renderer2.push(`<div class="absolute inset-y-0 w-px bg-rc-gray-700/70"${attr_style(`left:${tick.leftPercent}%;`)}></div> <div class="absolute bottom-1 -translate-x-1/2 whitespace-nowrap text-[11px] text-rc-gray-400"${attr_style(`left:${tick.leftPercent}%;`)}>${escape_html(tick.label)}</div>`);
701
- }
702
- $$renderer2.push(`<!--]--></div> <!--[-->`);
703
- const each_array_3 = ensure_array_like(timelineRows);
704
- for (let $$index_5 = 0, $$length = each_array_3.length; $$index_5 < $$length; $$index_5++) {
705
- let row = each_array_3[$$index_5];
706
- $$renderer2.push(`<div class="relative z-0 h-10 overflow-hidden border-x border-t border-rc-gray-700/60 bg-rc-gray-800/20"><!--[-->`);
707
- const each_array_4 = ensure_array_like(visibleTicks);
708
- for (let $$index_3 = 0, $$length2 = each_array_4.length; $$index_3 < $$length2; $$index_3++) {
709
- let tick = each_array_4[$$index_3];
710
- $$renderer2.push(`<div class="absolute inset-y-0 w-px bg-rc-gray-700/60"${attr_style(`left:${tick.leftPercent}%;`)}></div>`);
711
- }
712
- $$renderer2.push(`<!--]--> <!--[-->`);
713
- const each_array_5 = ensure_array_like(row.segments);
714
- for (let $$index_4 = 0, $$length2 = each_array_5.length; $$index_4 < $$length2; $$index_4++) {
715
- let segment = each_array_5[$$index_4];
716
- const style = segmentStyle(segment);
717
- if (style) {
718
- $$renderer2.push("<!--[-->");
719
- $$renderer2.push(`<div class="absolute top-1/2 h-5 -translate-y-1/2 rounded border shadow-[0_0_0_1px_rgba(0,0,0,0.12)]"${attr_style(style)}></div>`);
720
- } else {
721
- $$renderer2.push("<!--[!-->");
722
- }
723
- $$renderer2.push(`<!--]-->`);
724
- }
725
- $$renderer2.push(`<!--]--></div>`);
726
- }
727
- $$renderer2.push(`<!--]--> <div class="relative z-0 h-40 overflow-hidden border-x border-t border-rc-gray-700/60 bg-rc-gray-800/30">`);
728
- {
729
- $$renderer2.push("<!--[-->");
730
- $$renderer2.push(`<div class="absolute inset-0 flex items-center justify-center px-4 text-sm text-rc-gray-300">Upload a WAV file to render the call waveform here.</div>`);
731
- }
732
- $$renderer2.push(`<!--]--> <!--[-->`);
733
- const each_array_6 = ensure_array_like(visibleTicks);
734
- for (let $$index_6 = 0, $$length = each_array_6.length; $$index_6 < $$length; $$index_6++) {
735
- let tick = each_array_6[$$index_6];
736
- $$renderer2.push(`<div class="absolute inset-y-0 w-px bg-rc-gray-700/60"${attr_style(`left:${tick.leftPercent}%;`)}></div>`);
737
- }
738
- $$renderer2.push(`<!--]--> `);
739
- {
740
- $$renderer2.push("<!--[!-->");
741
- }
742
- $$renderer2.push(`<!--]--></div> <div class="relative z-0 h-8 overflow-hidden rounded-b border-x border-b border-t border-rc-gray-700/60 bg-rc-gray-800/25"><div class="absolute left-3 top-1/2 -translate-y-1/2 rounded bg-rc-gray-900/80 px-2 py-0.5 text-[11px] text-rc-gray-300">Grid: ${escape_html(formatScaleStep(visibleTickStepMs))}</div> <!--[-->`);
743
- const each_array_7 = ensure_array_like(visibleTicks);
744
- for (let $$index_7 = 0, $$length = each_array_7.length; $$index_7 < $$length; $$index_7++) {
745
- let tick = each_array_7[$$index_7];
746
- $$renderer2.push(`<div class="absolute inset-y-0 w-px bg-rc-gray-700/60"${attr_style(`left:${tick.leftPercent}%;`)}></div> <div class="absolute bottom-1 -translate-x-1/2 whitespace-nowrap text-[11px] text-rc-gray-400"${attr_style(`left:${tick.leftPercent}%;`)}>${escape_html(tick.label)}</div>`);
747
- }
748
- $$renderer2.push(`<!--]--></div></div></div>`);
749
- }
750
- $$renderer2.push(`<!--]-->`);
751
- }
752
- $$renderer2.push(`<!--]-->`);
753
- }
754
- $$renderer2.push(`<!--]--></div></div></div></div> `);
755
- {
756
- $$renderer2.push("<!--[!-->");
757
- }
758
- $$renderer2.push(`<!--]-->`);
759
- });
760
- }
761
-
762
- export { _page as default };
763
- //# sourceMappingURL=_page.svelte-VFizsKQC.js.map