@recombine-ai/bosun 0.16.2 → 0.18.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.
- package/build/client/_app/immutable/assets/0.B4Hv80zl.css +1 -0
- package/build/client/_app/immutable/assets/0.B4Hv80zl.css.br +0 -0
- package/build/client/_app/immutable/assets/0.B4Hv80zl.css.gz +0 -0
- package/build/client/_app/immutable/assets/{2.DtxQDOXx.css → 2.Bc0Sf3YD.css} +1 -1
- package/build/client/_app/immutable/assets/2.Bc0Sf3YD.css.br +0 -0
- package/build/client/_app/immutable/assets/2.Bc0Sf3YD.css.gz +0 -0
- package/build/client/_app/immutable/chunks/A4HgFSOM.js +1 -0
- package/build/client/_app/immutable/chunks/A4HgFSOM.js.br +2 -0
- package/build/client/_app/immutable/chunks/A4HgFSOM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DoD3q5w5.js → B00B3Gwh.js} +1 -1
- package/build/client/_app/immutable/chunks/B00B3Gwh.js.br +0 -0
- package/build/client/_app/immutable/chunks/B00B3Gwh.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B43-lfXY.js +1 -0
- package/build/client/_app/immutable/chunks/B43-lfXY.js.br +0 -0
- package/build/client/_app/immutable/chunks/B43-lfXY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B4tOnDzM.js +1 -0
- package/build/client/_app/immutable/chunks/B4tOnDzM.js.br +2 -0
- package/build/client/_app/immutable/chunks/B4tOnDzM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Bv1mNXs0.js → BDY0xZsU.js} +1 -1
- package/build/client/_app/immutable/chunks/BDY0xZsU.js.br +0 -0
- package/build/client/_app/immutable/chunks/BDY0xZsU.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{UqjCSZmA.js → BIxSqfKT.js} +1 -1
- package/build/client/_app/immutable/chunks/BIxSqfKT.js.br +0 -0
- package/build/client/_app/immutable/chunks/BIxSqfKT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{r0sHOWrM.js → BQJs3N6E.js} +1 -1
- package/build/client/_app/immutable/chunks/BQJs3N6E.js.br +0 -0
- package/build/client/_app/immutable/chunks/BQJs3N6E.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BHHfrjbV.js → BXh99ZNk.js} +1 -1
- package/build/client/_app/immutable/chunks/BXh99ZNk.js.br +0 -0
- package/build/client/_app/immutable/chunks/BXh99ZNk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B_RIpUuZ.js +1 -0
- package/build/client/_app/immutable/chunks/B_RIpUuZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/B_RIpUuZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CEHsomMo.js → Bd-a6hgR.js} +1 -1
- package/build/client/_app/immutable/chunks/Bd-a6hgR.js.br +0 -0
- package/build/client/_app/immutable/chunks/{CEHsomMo.js.gz → Bd-a6hgR.js.gz} +0 -0
- package/build/client/_app/immutable/chunks/{Dm49pcMm.js → BftRRaUE.js} +1 -1
- package/build/client/_app/immutable/chunks/BftRRaUE.js.br +0 -0
- package/build/client/_app/immutable/chunks/BftRRaUE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bm4FdRXc.js +1 -0
- package/build/client/_app/immutable/chunks/Bm4FdRXc.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bm4FdRXc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Ddv5LgEc.js → BmdpEiKy.js} +2 -2
- package/build/client/_app/immutable/chunks/BmdpEiKy.js.br +0 -0
- package/build/client/_app/immutable/chunks/BmdpEiKy.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{B5zf3x62.js → BxZ1WgZm.js} +1 -1
- package/build/client/_app/immutable/chunks/BxZ1WgZm.js.br +0 -0
- package/build/client/_app/immutable/chunks/BxZ1WgZm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Cp_st-64.js → C9LBPFJH.js} +1 -1
- package/build/client/_app/immutable/chunks/C9LBPFJH.js.br +0 -0
- package/build/client/_app/immutable/chunks/C9LBPFJH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{JcG4w2gF.js → CH3XJDoO.js} +1 -1
- package/build/client/_app/immutable/chunks/CH3XJDoO.js.br +0 -0
- package/build/client/_app/immutable/chunks/CH3XJDoO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CWVkeRMt.js +3 -0
- package/build/client/_app/immutable/chunks/CWVkeRMt.js.br +0 -0
- package/build/client/_app/immutable/chunks/CWVkeRMt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXfw8fai.js +1 -0
- package/build/client/_app/immutable/chunks/CXfw8fai.js.br +2 -0
- package/build/client/_app/immutable/chunks/CXfw8fai.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DfcDjAv-.js → Clfp4Zf_.js} +1 -1
- package/build/client/_app/immutable/chunks/Clfp4Zf_.js.br +0 -0
- package/build/client/_app/immutable/chunks/Clfp4Zf_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DneQQ7D5.js → Cr5XqyuF.js} +1 -1
- package/build/client/_app/immutable/chunks/Cr5XqyuF.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cr5XqyuF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Bmd5zhWC.js → CxzD8Edk.js} +1 -1
- package/build/client/_app/immutable/chunks/CxzD8Edk.js.br +0 -0
- package/build/client/_app/immutable/chunks/CxzD8Edk.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D6iBTJD_.js +1 -0
- package/build/client/_app/immutable/chunks/D6iBTJD_.js.br +0 -0
- package/build/client/_app/immutable/chunks/D6iBTJD_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{CJcZ2GVC.js → DB-s6wHX.js} +1 -1
- package/build/client/_app/immutable/chunks/DB-s6wHX.js.br +0 -0
- package/build/client/_app/immutable/chunks/DB-s6wHX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D_LCsjN0.js +1 -0
- package/build/client/_app/immutable/chunks/D_LCsjN0.js.br +0 -0
- package/build/client/_app/immutable/chunks/D_LCsjN0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dd-8KgV2.js +2 -0
- package/build/client/_app/immutable/chunks/Dd-8KgV2.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dd-8KgV2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{pPpIn6tB.js → DdmShlNz.js} +1 -1
- package/build/client/_app/immutable/chunks/DdmShlNz.js.br +0 -0
- package/build/client/_app/immutable/chunks/DdmShlNz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Df5gZp_x.js +1 -0
- package/build/client/_app/immutable/chunks/Df5gZp_x.js.br +0 -0
- package/build/client/_app/immutable/chunks/Df5gZp_x.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{wcTQUnZO.js → Dfg-7N3Z.js} +1 -1
- package/build/client/_app/immutable/chunks/Dfg-7N3Z.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dfg-7N3Z.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BnqH7p3U.js → DnsnkygW.js} +2 -2
- package/build/client/_app/immutable/chunks/DnsnkygW.js.br +0 -0
- package/build/client/_app/immutable/chunks/DnsnkygW.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D8mA-uZ4.js → Do-VHn0U.js} +1 -1
- package/build/client/_app/immutable/chunks/Do-VHn0U.js.br +0 -0
- package/build/client/_app/immutable/chunks/Do-VHn0U.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DyBwTDJp.js → DtC6KNFZ.js} +1 -1
- package/build/client/_app/immutable/chunks/DtC6KNFZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/DtC6KNFZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DtXXy94i.js → LEDvCGy2.js} +1 -1
- package/build/client/_app/immutable/chunks/LEDvCGy2.js.br +0 -0
- package/build/client/_app/immutable/chunks/LEDvCGy2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/PrCSpCPg.js +1 -0
- package/build/client/_app/immutable/chunks/PrCSpCPg.js.br +0 -0
- package/build/client/_app/immutable/chunks/PrCSpCPg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Si6VyCMt.js +8 -0
- package/build/client/_app/immutable/chunks/Si6VyCMt.js.br +0 -0
- package/build/client/_app/immutable/chunks/Si6VyCMt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Dy2CFyD6.js → W2LAs4ks.js} +1 -1
- package/build/client/_app/immutable/chunks/W2LAs4ks.js.br +0 -0
- package/build/client/_app/immutable/chunks/W2LAs4ks.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DCXjBDmY.js → cxBf7mxj.js} +1 -1
- package/build/client/_app/immutable/chunks/cxBf7mxj.js.br +0 -0
- package/build/client/_app/immutable/chunks/cxBf7mxj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/g6pAcE-g.js +1 -0
- package/build/client/_app/immutable/chunks/g6pAcE-g.js.br +0 -0
- package/build/client/_app/immutable/chunks/g6pAcE-g.js.gz +0 -0
- package/build/client/_app/immutable/chunks/nt0OWMrn.js +2 -0
- package/build/client/_app/immutable/chunks/nt0OWMrn.js.br +0 -0
- package/build/client/_app/immutable/chunks/nt0OWMrn.js.gz +0 -0
- package/build/client/_app/immutable/chunks/r0jEdDRH.js +1 -0
- package/build/client/_app/immutable/chunks/r0jEdDRH.js.br +0 -0
- package/build/client/_app/immutable/chunks/r0jEdDRH.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.C6BwoHPB.js +2 -0
- package/build/client/_app/immutable/entry/app.C6BwoHPB.js.br +0 -0
- package/build/client/_app/immutable/entry/app.C6BwoHPB.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DtdsXA4D.js +1 -0
- package/build/client/_app/immutable/entry/start.DtdsXA4D.js.br +2 -0
- package/build/client/_app/immutable/entry/start.DtdsXA4D.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.nG3DdvIX.js → 0.Be4zhwyU.js} +1 -1
- package/build/client/_app/immutable/nodes/0.Be4zhwyU.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.Be4zhwyU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.DU-ZnWjM.js +1 -0
- package/build/client/_app/immutable/nodes/1.DU-ZnWjM.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.DU-ZnWjM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.CnYak_rj.js +28 -0
- package/build/client/_app/immutable/nodes/10.CnYak_rj.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.CnYak_rj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{15.D2I0y3ys.js → 15.DZxmOvq_.js} +1 -1
- package/build/client/_app/immutable/nodes/15.DZxmOvq_.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.DZxmOvq_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.6u3BMaGP.js +3 -0
- package/build/client/_app/immutable/nodes/17.6u3BMaGP.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.6u3BMaGP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/18.B74hqK3k.js +11 -0
- package/build/client/_app/immutable/nodes/18.B74hqK3k.js.br +0 -0
- package/build/client/_app/immutable/nodes/18.B74hqK3k.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.tsu7vFWw.js +35 -0
- package/build/client/_app/immutable/nodes/2.tsu7vFWw.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.tsu7vFWw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.uagy_HG1.js +1 -0
- package/build/client/_app/immutable/nodes/3.uagy_HG1.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.uagy_HG1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.C8VxVbVn.js → 4.DMbfNKYL.js} +1 -1
- package/build/client/_app/immutable/nodes/4.DMbfNKYL.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.DMbfNKYL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.BjrnKYaA.js → 5.DpWrPX3L.js} +1 -1
- package/build/client/_app/immutable/nodes/5.DpWrPX3L.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.DpWrPX3L.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.C_hEzPrU.js → 6.D7wtfdve.js} +1 -1
- package/build/client/_app/immutable/nodes/6.D7wtfdve.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.D7wtfdve.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Bo50UIdy.js +2 -0
- package/build/client/_app/immutable/nodes/8.Bo50UIdy.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Bo50UIdy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.DVspuDYY.js → 9.B2xXyeYp.js} +1 -1
- package/build/client/_app/immutable/nodes/9.B2xXyeYp.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.B2xXyeYp.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/0-BFGwTpfy.js +9 -0
- package/build/server/chunks/0-BFGwTpfy.js.map +1 -0
- package/build/server/chunks/1-B_bvJcKE.js +9 -0
- package/build/server/chunks/{1-C0HdTvXW.js.map → 1-B_bvJcKE.js.map} +1 -1
- package/build/server/chunks/10-CVT4oo13.js +9 -0
- package/build/server/chunks/10-CVT4oo13.js.map +1 -0
- package/build/server/chunks/15-B6cgfT20.js +9 -0
- package/build/server/chunks/{15-BQcb9C_y.js.map → 15-B6cgfT20.js.map} +1 -1
- package/build/server/chunks/17-fi2rlX_T.js +9 -0
- package/build/server/chunks/17-fi2rlX_T.js.map +1 -0
- package/build/server/chunks/18-CdypjWwX.js +9 -0
- package/build/server/chunks/18-CdypjWwX.js.map +1 -0
- package/build/server/chunks/2-CkwyQ1U4.js +9 -0
- package/build/server/chunks/2-CkwyQ1U4.js.map +1 -0
- package/build/server/chunks/3-BXLsvzRq.js +9 -0
- package/build/server/chunks/3-BXLsvzRq.js.map +1 -0
- package/build/server/chunks/4-C3Me7zq3.js +9 -0
- package/build/server/chunks/4-C3Me7zq3.js.map +1 -0
- package/build/server/chunks/5-DYS5LmK2.js +9 -0
- package/build/server/chunks/{5-CBdMutbv.js.map → 5-DYS5LmK2.js.map} +1 -1
- package/build/server/chunks/6-Cp6GA1FS.js +9 -0
- package/build/server/chunks/{6-FoEi7ggm.js.map → 6-Cp6GA1FS.js.map} +1 -1
- package/build/server/chunks/8-Csly_0ub.js +9 -0
- package/build/server/chunks/8-Csly_0ub.js.map +1 -0
- package/build/server/chunks/9-C1UZfJDT.js +9 -0
- package/build/server/chunks/9-C1UZfJDT.js.map +1 -0
- package/build/server/chunks/{AgentSidebar-BWBnqHnV.js → AgentSidebar-BqqgUCT2.js} +4 -4
- package/build/server/chunks/{AgentSidebar-BWBnqHnV.js.map → AgentSidebar-BqqgUCT2.js.map} +1 -1
- package/build/server/chunks/{Button-DH7gdU0s.js → Button-Huqrc2wY.js} +2 -2
- package/build/server/chunks/{Button-DH7gdU0s.js.map → Button-Huqrc2wY.js.map} +1 -1
- package/build/server/chunks/{ChatStepTrace-BivoNYOY.js → ChatStepTrace-CmyR6NOL.js} +21 -7
- package/build/server/chunks/ChatStepTrace-CmyR6NOL.js.map +1 -0
- package/build/server/chunks/{Icon-DP1YKCRV.js → Icon-BJfQMgGu.js} +2 -2
- package/build/server/chunks/{Icon-DP1YKCRV.js.map → Icon-BJfQMgGu.js.map} +1 -1
- package/build/server/chunks/{Input-CUJ9Cg7b.js → Input-D-uxKbuX.js} +2 -2
- package/build/server/chunks/{Input-CUJ9Cg7b.js.map → Input-D-uxKbuX.js.map} +1 -1
- package/build/server/chunks/{Modal-CGJuNpZ0.js → Modal-B_fVcSLK.js} +5 -5
- package/build/server/chunks/{Modal-CGJuNpZ0.js.map → Modal-B_fVcSLK.js.map} +1 -1
- package/build/server/chunks/{Panel-zvjxe036.js → Panel-mV52rK4D.js} +2 -2
- package/build/server/chunks/{Panel-zvjxe036.js.map → Panel-mV52rK4D.js.map} +1 -1
- package/build/server/chunks/{Tab-CUkyLqbN.js → Tab-tFWS4zzn.js} +8 -11
- package/build/server/chunks/Tab-tFWS4zzn.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-B-0DHjLB.js → _layout.svelte-BjBXlTt-.js} +8 -8
- package/build/server/chunks/{_layout.svelte-B-0DHjLB.js.map → _layout.svelte-BjBXlTt-.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-BnrWYuLv.js → _layout.svelte-Bv87ouh2.js} +9 -10
- package/build/server/chunks/{_layout.svelte-BnrWYuLv.js.map → _layout.svelte-Bv87ouh2.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-B88WMyk0.js → _layout.svelte-CHJ_Q00I.js} +130 -37
- package/build/server/chunks/_layout.svelte-CHJ_Q00I.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-wi6o5Ecu.js → _layout.svelte-DPP4TE7p.js} +305 -46
- package/build/server/chunks/_layout.svelte-DPP4TE7p.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DhFNFMnl.js → _page.svelte-CDGPJuVG.js} +11 -11
- package/build/server/chunks/_page.svelte-CDGPJuVG.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CeS_21Ho.js → _page.svelte-CXjHZqjR.js} +22 -20
- package/build/server/chunks/_page.svelte-CXjHZqjR.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BoHt2cpr.js → _page.svelte-CZXVTrWJ.js} +5 -5
- package/build/server/chunks/{_page.svelte-BoHt2cpr.js.map → _page.svelte-CZXVTrWJ.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-h_J4lNT9.js → _page.svelte-CvPyTgqp.js} +6 -6
- package/build/server/chunks/{_page.svelte-h_J4lNT9.js.map → _page.svelte-CvPyTgqp.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DHSYVLoj.js → _page.svelte-DHE9UaxV.js} +11 -12
- package/build/server/chunks/{_page.svelte-DHSYVLoj.js.map → _page.svelte-DHE9UaxV.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-CHgQjBQj.js → _page.svelte-DSLYtPvs.js} +2 -2
- package/build/server/chunks/{_page.svelte-CHgQjBQj.js.map → _page.svelte-DSLYtPvs.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-57pyhszV.js → _page.svelte-Yjru58jZ.js} +20 -107
- package/build/server/chunks/_page.svelte-Yjru58jZ.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BSVJ2d2G.js → _page.svelte-nQ_thh1S.js} +186 -104
- package/build/server/chunks/_page.svelte-nQ_thh1S.js.map +1 -0
- package/build/server/chunks/{agents-context-CbFsZmi5.js → agents-context-BdX2j9DI.js} +2 -2
- package/build/server/chunks/{agents-context-CbFsZmi5.js.map → agents-context-BdX2j9DI.js.map} +1 -1
- package/build/server/chunks/{Dropdown-DnARl86Q.js → chat-content.svelte-x4GXVNwU.js} +16 -4
- package/build/server/chunks/chat-content.svelte-x4GXVNwU.js.map +1 -0
- package/build/server/chunks/{client-DO-hqMbT.js → client-D1Y2ZQJN.js} +4 -4
- package/build/server/chunks/{client-DO-hqMbT.js.map → client-D1Y2ZQJN.js.map} +1 -1
- package/build/server/chunks/{conversation-view-memory-CtbUZd_L.js → conversation-view-memory-CMgSQUdu.js} +2 -2
- package/build/server/chunks/{conversation-view-memory-CtbUZd_L.js.map → conversation-view-memory-CMgSQUdu.js.map} +1 -1
- package/build/server/chunks/{edit-workspace-context-tyHBPujC.js → edit-workspace-context-ClnqepZ4.js} +2 -2
- package/build/server/chunks/{edit-workspace-context-tyHBPujC.js.map → edit-workspace-context-ClnqepZ4.js.map} +1 -1
- package/build/server/chunks/error.svelte-B5VtiMGd.js +15 -0
- package/build/server/chunks/{error.svelte-DmKKN1RU.js.map → error.svelte-B5VtiMGd.js.map} +1 -1
- package/build/server/chunks/{index-LMsd1ih2.js → index-Do08hKbr.js} +8 -5
- package/build/server/chunks/index-Do08hKbr.js.map +1 -0
- package/build/server/chunks/{index-server-BRr5mZEq.js → index-server-CHFC9Apw.js} +2 -2
- package/build/server/chunks/index-server-CHFC9Apw.js.map +1 -0
- package/build/server/chunks/{index2-ClgfzZ89.js → index2-B_Xf0ugP.js} +3 -3
- package/build/server/chunks/{index2-ClgfzZ89.js.map → index2-B_Xf0ugP.js.map} +1 -1
- package/build/server/chunks/{index3-BdRUAffj.js → index3-C9gC86lU.js} +2 -2
- package/build/server/chunks/{index3-BdRUAffj.js.map → index3-C9gC86lU.js.map} +1 -1
- package/build/server/chunks/log-content.svelte-D5gN0L7Q.js +7 -0
- package/build/server/chunks/log-content.svelte-D5gN0L7Q.js.map +1 -0
- package/build/server/chunks/{root-4q2Pr7ck.js → root-DoSdrdfw.js} +2 -2
- package/build/server/chunks/root-DoSdrdfw.js.map +1 -0
- package/build/server/chunks/{source-selection-CcN1cgXc.js → source-selection-1aBuBpkL.js} +45 -2
- package/build/server/chunks/source-selection-1aBuBpkL.js.map +1 -0
- package/build/server/chunks/{state.svelte-Bd1i-u49.js → state.svelte-B2OaeWMp.js} +3 -3
- package/build/server/chunks/{state.svelte-Bd1i-u49.js.map → state.svelte-B2OaeWMp.js.map} +1 -1
- package/build/server/index.js +4 -4
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +14 -14
- package/build/server/manifest.js.map +1 -1
- package/package.json +1 -5
- package/src/backend/roleplay/agent-loader.ts +49 -0
- package/src/backend/roleplay/prompt-edit-proposals.ts +38 -4
- package/src/backend/roleplay/prompt-file.ts +59 -0
- package/src/backend/roleplay/router.spec.ts +75 -0
- package/src/backend/roleplay/router.ts +123 -69
- package/src/backend/roleplay/suggest-file-edit.ts +160 -0
- package/src/backend/roleplay/suggest-prompt-edit.ts +9 -138
- package/src/backend/roleplay/suggest-test-fix.spec.ts +50 -0
- package/src/backend/roleplay/suggest-test-fix.ts +65 -0
- package/src/backend/roleplay/test-fix-proposal-acceptance.spec.ts +253 -0
- package/src/backend/tests/academy.ts +16 -2
- package/src/backend/tests/data.spec.ts +81 -2
- package/src/backend/tests/data.ts +74 -4
- package/src/backend/tests/router.ts +101 -36
- package/src/backend/tests/suggest-test-history-edit.spec.ts +20 -0
- package/src/backend/tests/suggest-test-history-edit.ts +52 -0
- package/src/backend/tests/test-edit-source.spec.ts +61 -0
- package/src/backend/tests/test-edit-source.ts +34 -0
- package/src/backend/tests/test-history-edit-proposals.ts +69 -0
- package/src/backend/tests/test-history-overrides.spec.ts +24 -0
- package/src/backend/tests/test-selection.ts +27 -0
- package/src/lib/api-telescope/client.ts +25 -0
- package/src/lib/api-telescope/source-selection.spec.ts +44 -0
- package/src/lib/api-telescope/source-selection.ts +28 -0
- package/src/lib/api-telescope/types.ts +28 -0
- package/src/lib/components/Modal.svelte +1 -1
- package/src/lib/components/Tab.svelte +10 -12
- package/src/lib/edit/edit-workspace-context.ts +29 -0
- package/src/lib/edit/test-ai-edit.spec.ts +31 -0
- package/src/lib/edit/test-ai-edit.ts +52 -0
- package/src/lib/monaco/bosun-theme.ts +6 -83
- package/src/lib/monaco/editor-appearance.spec.ts +84 -0
- package/src/lib/monaco/editor-appearance.ts +154 -0
- package/src/lib/monaco/editor-decorations.spec.ts +91 -0
- package/src/lib/monaco/editor-decorations.ts +133 -0
- package/src/lib/tests/assertion-types.ts +74 -0
- package/build/client/_app/immutable/assets/0.Rrc0O--C.css +0 -1
- package/build/client/_app/immutable/assets/0.Rrc0O--C.css.br +0 -0
- package/build/client/_app/immutable/assets/0.Rrc0O--C.css.gz +0 -0
- package/build/client/_app/immutable/assets/2.DtxQDOXx.css.br +0 -0
- package/build/client/_app/immutable/assets/2.DtxQDOXx.css.gz +0 -0
- package/build/client/_app/immutable/chunks/B1HdnQRQ.js +0 -1
- package/build/client/_app/immutable/chunks/B1HdnQRQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/B1HdnQRQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B5zf3x62.js.br +0 -0
- package/build/client/_app/immutable/chunks/B5zf3x62.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BHHfrjbV.js.br +0 -2
- package/build/client/_app/immutable/chunks/BHHfrjbV.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BU7aeYn4.js +0 -1
- package/build/client/_app/immutable/chunks/BU7aeYn4.js.br +0 -0
- package/build/client/_app/immutable/chunks/BU7aeYn4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BbGYcfPY.js +0 -3
- package/build/client/_app/immutable/chunks/BbGYcfPY.js.br +0 -0
- package/build/client/_app/immutable/chunks/BbGYcfPY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bmd5zhWC.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bmd5zhWC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BnqH7p3U.js.br +0 -0
- package/build/client/_app/immutable/chunks/BnqH7p3U.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bog028VR.js +0 -1
- package/build/client/_app/immutable/chunks/Bog028VR.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bog028VR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bv1mNXs0.js.br +0 -0
- package/build/client/_app/immutable/chunks/Bv1mNXs0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BvjXTrOz.js +0 -1
- package/build/client/_app/immutable/chunks/BvjXTrOz.js.br +0 -0
- package/build/client/_app/immutable/chunks/BvjXTrOz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C1R-s4aD.js +0 -1
- package/build/client/_app/immutable/chunks/C1R-s4aD.js.br +0 -0
- package/build/client/_app/immutable/chunks/C1R-s4aD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CC1OcqhR.js +0 -1
- package/build/client/_app/immutable/chunks/CC1OcqhR.js.br +0 -0
- package/build/client/_app/immutable/chunks/CC1OcqhR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CEHsomMo.js.br +0 -0
- package/build/client/_app/immutable/chunks/CJcZ2GVC.js.br +0 -0
- package/build/client/_app/immutable/chunks/CJcZ2GVC.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CN555stc.js +0 -2
- package/build/client/_app/immutable/chunks/CN555stc.js.br +0 -0
- package/build/client/_app/immutable/chunks/CN555stc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CQg2Mme0.js +0 -9
- package/build/client/_app/immutable/chunks/CQg2Mme0.js.br +0 -0
- package/build/client/_app/immutable/chunks/CQg2Mme0.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cp_st-64.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cp_st-64.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D8mA-uZ4.js.br +0 -0
- package/build/client/_app/immutable/chunks/D8mA-uZ4.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DCXjBDmY.js.br +0 -0
- package/build/client/_app/immutable/chunks/DCXjBDmY.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DSLyVE1P.js +0 -1
- package/build/client/_app/immutable/chunks/DSLyVE1P.js.br +0 -0
- package/build/client/_app/immutable/chunks/DSLyVE1P.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ddv5LgEc.js.br +0 -0
- package/build/client/_app/immutable/chunks/Ddv5LgEc.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DfcDjAv-.js.br +0 -0
- package/build/client/_app/immutable/chunks/DfcDjAv-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dg0A8wPA.js +0 -1
- package/build/client/_app/immutable/chunks/Dg0A8wPA.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dg0A8wPA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dm49pcMm.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dm49pcMm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DneQQ7D5.js.br +0 -0
- package/build/client/_app/immutable/chunks/DneQQ7D5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DoD3q5w5.js.br +0 -0
- package/build/client/_app/immutable/chunks/DoD3q5w5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DtXXy94i.js.br +0 -0
- package/build/client/_app/immutable/chunks/DtXXy94i.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dy2CFyD6.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dy2CFyD6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DyBwTDJp.js.br +0 -0
- package/build/client/_app/immutable/chunks/DyBwTDJp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/ILTCveYH.js +0 -1
- package/build/client/_app/immutable/chunks/ILTCveYH.js.br +0 -0
- package/build/client/_app/immutable/chunks/ILTCveYH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/JcG4w2gF.js.br +0 -0
- package/build/client/_app/immutable/chunks/JcG4w2gF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/UqjCSZmA.js.br +0 -0
- package/build/client/_app/immutable/chunks/UqjCSZmA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/_YcrHZ6P.js +0 -1
- package/build/client/_app/immutable/chunks/_YcrHZ6P.js.br +0 -2
- package/build/client/_app/immutable/chunks/_YcrHZ6P.js.gz +0 -0
- package/build/client/_app/immutable/chunks/i6ygh6h8.js +0 -1
- package/build/client/_app/immutable/chunks/i6ygh6h8.js.br +0 -2
- package/build/client/_app/immutable/chunks/i6ygh6h8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/oRi68ch3.js +0 -1
- package/build/client/_app/immutable/chunks/oRi68ch3.js.br +0 -0
- package/build/client/_app/immutable/chunks/oRi68ch3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/pPpIn6tB.js.br +0 -0
- package/build/client/_app/immutable/chunks/pPpIn6tB.js.gz +0 -0
- package/build/client/_app/immutable/chunks/r0sHOWrM.js.br +0 -0
- package/build/client/_app/immutable/chunks/r0sHOWrM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/wcTQUnZO.js.br +0 -0
- package/build/client/_app/immutable/chunks/wcTQUnZO.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DdO0gkPg.js +0 -2
- package/build/client/_app/immutable/entry/app.DdO0gkPg.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DdO0gkPg.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.eAjDq0c9.js +0 -1
- package/build/client/_app/immutable/entry/start.eAjDq0c9.js.br +0 -2
- package/build/client/_app/immutable/entry/start.eAjDq0c9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.nG3DdvIX.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.nG3DdvIX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.Ceu0XS6v.js +0 -1
- package/build/client/_app/immutable/nodes/1.Ceu0XS6v.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.Ceu0XS6v.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.dm2dgy31.js +0 -13
- package/build/client/_app/immutable/nodes/10.dm2dgy31.js.br +0 -0
- package/build/client/_app/immutable/nodes/10.dm2dgy31.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.D2I0y3ys.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.D2I0y3ys.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.CKxGp0E7.js +0 -3
- package/build/client/_app/immutable/nodes/17.CKxGp0E7.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.CKxGp0E7.js.gz +0 -0
- package/build/client/_app/immutable/nodes/18.DHJxyQpw.js +0 -11
- package/build/client/_app/immutable/nodes/18.DHJxyQpw.js.br +0 -0
- package/build/client/_app/immutable/nodes/18.DHJxyQpw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DesR2keg.js +0 -35
- package/build/client/_app/immutable/nodes/2.DesR2keg.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DesR2keg.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.BUKrXGR_.js +0 -1
- package/build/client/_app/immutable/nodes/3.BUKrXGR_.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BUKrXGR_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.C8VxVbVn.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.C8VxVbVn.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BjrnKYaA.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BjrnKYaA.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.C_hEzPrU.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.C_hEzPrU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.BTYaOiDC.js +0 -2
- package/build/client/_app/immutable/nodes/8.BTYaOiDC.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.BTYaOiDC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DVspuDYY.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DVspuDYY.js.gz +0 -0
- package/build/server/chunks/0-D_duQDWy.js +0 -9
- package/build/server/chunks/0-D_duQDWy.js.map +0 -1
- package/build/server/chunks/1-C0HdTvXW.js +0 -9
- package/build/server/chunks/10-DcfhCR4R.js +0 -9
- package/build/server/chunks/10-DcfhCR4R.js.map +0 -1
- package/build/server/chunks/15-BQcb9C_y.js +0 -9
- package/build/server/chunks/17-DuVCTioj.js +0 -9
- package/build/server/chunks/17-DuVCTioj.js.map +0 -1
- package/build/server/chunks/18-CT0VFW_p.js +0 -9
- package/build/server/chunks/18-CT0VFW_p.js.map +0 -1
- package/build/server/chunks/2-DgTzKQAP.js +0 -9
- package/build/server/chunks/2-DgTzKQAP.js.map +0 -1
- package/build/server/chunks/3-eQMSMzXP.js +0 -9
- package/build/server/chunks/3-eQMSMzXP.js.map +0 -1
- package/build/server/chunks/4-OaAJtDqP.js +0 -9
- package/build/server/chunks/4-OaAJtDqP.js.map +0 -1
- package/build/server/chunks/5-CBdMutbv.js +0 -9
- package/build/server/chunks/6-FoEi7ggm.js +0 -9
- package/build/server/chunks/8-B44yRkfX.js +0 -9
- package/build/server/chunks/8-B44yRkfX.js.map +0 -1
- package/build/server/chunks/9-eUjFpHzI.js +0 -9
- package/build/server/chunks/9-eUjFpHzI.js.map +0 -1
- package/build/server/chunks/ChatStepTrace-BivoNYOY.js.map +0 -1
- package/build/server/chunks/Dropdown-DnARl86Q.js.map +0 -1
- package/build/server/chunks/Tab-CUkyLqbN.js.map +0 -1
- package/build/server/chunks/_layout.svelte-B88WMyk0.js.map +0 -1
- package/build/server/chunks/_layout.svelte-wi6o5Ecu.js.map +0 -1
- package/build/server/chunks/_page.svelte-57pyhszV.js.map +0 -1
- package/build/server/chunks/_page.svelte-BSVJ2d2G.js.map +0 -1
- package/build/server/chunks/_page.svelte-CeS_21Ho.js.map +0 -1
- package/build/server/chunks/_page.svelte-DhFNFMnl.js.map +0 -1
- package/build/server/chunks/error.svelte-DmKKN1RU.js +0 -15
- package/build/server/chunks/index-LMsd1ih2.js.map +0 -1
- package/build/server/chunks/index-server-BRr5mZEq.js.map +0 -1
- package/build/server/chunks/log-content.svelte-CfQzj-v_.js +0 -20
- package/build/server/chunks/log-content.svelte-CfQzj-v_.js.map +0 -1
- package/build/server/chunks/root-4q2Pr7ck.js.map +0 -1
- package/build/server/chunks/source-selection-CcN1cgXc.js.map +0 -1
- /package/build/client/_app/immutable/assets/{ReadOnlyMonacoDiff.iiWNRlR-.css → Modal.iiWNRlR-.css} +0 -0
- /package/build/client/_app/immutable/assets/{ReadOnlyMonacoDiff.iiWNRlR-.css.br → Modal.iiWNRlR-.css.br} +0 -0
- /package/build/client/_app/immutable/assets/{ReadOnlyMonacoDiff.iiWNRlR-.css.gz → Modal.iiWNRlR-.css.gz} +0 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{d as es,b as Ie,e as fe,a as h,f as P,t as Re,c as ts}from"../chunks/cxBf7mxj.js";import{a as rs}from"../chunks/B00B3Gwh.js";import{p as ns,w as x,x as K,d as te,f as vt,t as L,a as as,j as r,n as w,c as b,y as i,s as p,r as v,o as Ce,L as os}from"../chunks/Bd-a6hgR.js";import{s as R}from"../chunks/Dd-8KgV2.js";import{i as D}from"../chunks/BXh99ZNk.js";import{e as re,i as ss}from"../chunks/DdmShlNz.js";import{c as mt,s as et}from"../chunks/W2LAs4ks.js";import{s as N}from"../chunks/B43-lfXY.js";import{b as Be}from"../chunks/LEDvCGy2.js";import{p as ht}from"../chunks/C9LBPFJH.js";import{B as Ne}from"../chunks/DB-s6wHX.js";import{P as Tn}from"../chunks/CxzD8Edk.js";import{g as wr,a as _r,T as is}from"../chunks/CH3XJDoO.js";import{i as ls}from"../chunks/DgGeUDDh.js";import{b as cs,f as ds,R as us}from"../chunks/T0seCQS_.js";import{g as fs,c as Bt}from"../chunks/Dfg-7N3Z.js";const En="bosun.traces.latencyTimelineViewports.v2",Ft=new Map;let Mn=!1;function kn(B){if(!B||typeof B!="object")return!1;const E=B;return typeof E.startMs=="number"&&Number.isFinite(E.startMs)&&typeof E.endMs=="number"&&Number.isFinite(E.endMs)&&E.endMs>E.startMs&&typeof E.originMs=="number"&&Number.isFinite(E.originMs)}function ps(B,E){if(!Number.isFinite(E))return{...B};const ne=E-B.originMs;return{startMs:B.startMs+ne,endMs:B.endMs+ne,originMs:E}}function $n(){if(!Mn&&(Mn=!0,!(typeof window>"u")))try{const B=window.sessionStorage.getItem(En);if(!B)return;const E=JSON.parse(B);if(!E||typeof E!="object"||Array.isArray(E))return;for(const[ne,z]of Object.entries(E))!ne||!kn(z)||Ft.set(ne,z)}catch{}}function vs(){if(!(typeof window>"u"))try{window.sessionStorage.setItem(En,JSON.stringify(Object.fromEntries(Ft.entries())))}catch{}}function ms(B){if(!B)return null;$n();const E=Ft.get(B);return E?{...E}:null}function Ln(B,E){!B||!kn(E)||($n(),Ft.set(B,{...E}),vs())}var hs=P('<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200"> </span>',1),bs=P('<div><span class="text-rc-gray-400">Playhead:</span> <span class="font-mono text-rc-gray-100"> </span></div>'),xs=P('<div><span class="text-rc-gray-400">Viewport:</span> <span class="font-mono text-rc-gray-100"> </span></div>'),gs=P('<div class="mt-2 text-sm text-rc-gray-400"> </div>'),Nt=P('<div class="mt-2 text-sm text-red-300"> </div>'),ys=P('<div class="text-sm text-rc-gray-300">Loading latency events…</div>'),ws=P('<div class="text-sm text-rc-gray-300">No latency events were found on this call.</div>'),_s=P('<div class="text-sm text-rc-gray-300">Preparing timeline…</div>'),Ts=P('<div class="flex items-center text-xs text-rc-gray-300"> </div>'),Ms=P('<div class="flex items-center text-xs text-rc-gray-300">Waveform</div>'),Ls=P('<div class="absolute -translate-x-1/2 border-l border-rc-gray-300/40"></div>'),Ps=P('<div class="absolute -translate-x-1/2 border-l border-dashed"></div>'),Ss=P('<div class="absolute border-l border-rc-gray-200/80"></div>'),Es=P('<div class="absolute -translate-x-1/2 border-l-2 border-rc-green-200/90"></div> <div class="absolute h-2 w-2 -translate-x-1/2 rounded-full bg-rc-green-200"></div>',1),ks=P('<div class="absolute inset-y-0 w-px bg-rc-gray-700/70"></div> <div> </div>',1),Pn=P('<div class="absolute inset-y-0 w-px bg-rc-gray-700/60"></div>'),$s=P('<span class="block truncate"> </span>'),As=P("<div><!></div>"),Is=P('<div class="relative z-0 overflow-hidden border-x border-t border-rc-gray-700/60"><!> <!></div>'),Rs=P('<div class="absolute inset-y-0 w-px bg-rc-gray-700/45"></div>'),Sn=P("<div> </div>"),Cs=P('<div class="absolute inset-0 flex items-center justify-center px-4 text-sm text-rc-gray-300">Decoding waveform…</div>'),Bs=P('<div class="absolute inset-0 flex items-center justify-center px-4 text-sm text-red-300"> </div>'),Ns=P('<canvas class="absolute inset-0 h-full w-full"></canvas>'),Fs=P('<div class="relative z-0 overflow-hidden rounded-b border-x border-b border-t border-rc-gray-700/60"><!> <!></div>'),Ds=P('<div class="grid grid-cols-[140px_minmax(0,1fr)] gap-x-3"><div class="flex flex-col"><div class="h-8"></div> <!> <div class="flex items-center text-xs text-rc-gray-300">Human</div> <!></div> <div class="relative"><div class="pointer-events-none absolute inset-0 z-10 overflow-hidden"><!> <!> <!> <!></div> <div class="relative z-0 h-8 overflow-hidden rounded-t border border-b-0 border-rc-gray-700/60"></div> <!> <div><div class="absolute inset-x-0 top-0 border-b border-rc-gray-700/50"></div> <!> <!></div> <!></div></div>'),Ws=P('<div class="pointer-events-none z-popover max-w-[28rem] rounded-md border border-rc-gray-500/80 bg-rc-gray-900/95 px-3 py-2 text-xs text-rc-gray-100 shadow-2xl backdrop-blur-sm"></div>'),Os=P('<div><div class="whitespace-pre-wrap break-words"> </div></div>'),Hs=P('<div class="flex h-full min-h-0 flex-col bg-rc-gray-700"><div class="flex-none border-b border-rc-gray-300/40 p-4"><div class="flex flex-wrap items-start justify-between gap-3"><div><h2 class="text-lg font-semibold text-rc-gray-100">Latency <!></h2> <div class="mt-2 flex flex-wrap gap-x-5 gap-y-1 text-xs text-rc-gray-300"><div><span class="text-rc-gray-400">Latency events:</span> <span class="font-mono text-rc-gray-100"> </span></div> <div><span class="text-rc-gray-400">Timeline items:</span> <span class="font-mono text-rc-gray-100"> </span></div> <div><span class="text-rc-gray-400">Recording offset:</span> <span class="font-mono text-rc-gray-100"> </span></div> <!> <!></div></div> <div class="flex flex-wrap items-center gap-2"><input type="file" accept=".wav,audio/wav,audio/x-wav" class="hidden"/> <!> <!> <!> <!> <!> <!> <!></div></div> <!> <!> <!> <!> <!></div> <div class="rc-scroll min-h-0 flex-1 overflow-auto p-4"><div class="flex flex-col gap-4"><div class="rounded-md border border-rc-gray-650 p-3"><!></div></div></div></div> <!> <!>',1);function oi(B,E){ns(E,!0);const ne=30,z=32,Me=ne,ae=5,Dt=160,Tr=ne+ae,Mr=3,An=8,Fe=60,In=132,Rn=200,Cn=24,Lr=3e4,Bn=50,Nn=.00145,Pr=137,Fn=new Set(["VAD","Playback"]),tt=new is(fetch),C={blue:"#569cd6",green:"#93FF6D",greenDark:"#00B58A",orange:"#ce9178",purple:"#81147D",red:"#FF6666",gray:"#767676"},Sr=[{label:"VAD",eventTypes:["vad.activated","vad.deactivated"]},{label:"STT",eventTypes:["stt.started","stt.interim","stt.final","stt.final_transcript"]},{label:"Trigger",eventTypes:["speech.created"]},{label:"Reply Pending",eventTypes:["reply.pending.started","reply.pending.completed"]},{label:"LLM Transport",eventTypes:["llm.connect_tcp.started","llm.connect_tcp.completed","llm.connect_tcp.failed","llm.start_tls.started","llm.start_tls.completed","llm.start_tls.failed"]},{label:"LLM Wait",eventTypes:["llm.wait.started","llm.requested","llm.wait.completed"]},{label:"LLM Stream",eventTypes:["llm.stream.started","llm.first_token","llm.completed","llm.stream.completed"]},{label:"TTS Text",eventTypes:["tts.text.first_sent","tts.text.completed"]},{label:"Provider",eventTypes:["tts.provider.started","tts.audio.first_received","tts.audio.last_received","tts.provider.completed"]},{label:"Decode",eventTypes:["tts.decode.started","tts.decode.completed"]},{label:"Output Queue",eventTypes:["audio.output.wait.started","audio.output.wait.completed"]},{label:"Playback",eventTypes:["audio.playback.started","audio.playback.stopped","audio.playback.ended"]},{label:"Response Latency"},{label:"Interruptions",eventTypes:["interruption.detected","audio.playback.interrupted"]},{label:"Other"}],Dn=new Set(Sr.map(e=>e.label)),Er={call:G(C.gray,.2),vad:G(C.purple,.35),stt:G(C.purple,.2),trigger:C.greenDark,"response.latency.ok":C.green,"response.latency.high":C.red,"reply.pending":G(C.greenDark,.18),"llm.transport":G(C.blue,.18),"llm.wait":G(C.blue,-.25),"llm.stream":C.blue,"tts.text":C.orange,"tts.provider.lifecycle":G(C.purple,-.18),"tts.provider":G(C.purple,.12),"tts.decode":G(C.orange,-.12),"audio.output.wait":C.orange,playback:G(C.greenDark,-.08),interruption:C.orange,other:C.gray},Wn=[{startEventType:"reply.pending.started",endEventType:"reply.pending.completed",row:"Reply Pending",colorKey:"reply.pending",label:"Reply pending",description:"Derived from adjacent reply-pending lifecycle events"},{startEventType:"llm.connect_tcp.started",endEventType:"llm.connect_tcp.completed",row:"LLM Transport",colorKey:"llm.transport",label:"Connect TCP",description:"Derived from adjacent TCP connect lifecycle events"},{startEventType:"llm.start_tls.started",endEventType:"llm.start_tls.completed",row:"LLM Transport",colorKey:"llm.transport",label:"Start TLS",description:"Derived from adjacent TLS lifecycle events"},{startEventType:"llm.wait.started",endEventType:"llm.wait.completed",row:"LLM Wait",colorKey:"llm.wait",label:"LLM wait",description:"Derived from adjacent LLM wait lifecycle events"},{startEventType:"llm.stream.started",endEventType:"llm.stream.completed",row:"LLM Stream",colorKey:"llm.stream",label:"LLM stream",description:"Derived from adjacent LLM stream lifecycle events"},{startEventType:"tts.text.first_sent",endEventType:"tts.text.completed",row:"TTS Text",colorKey:"tts.text",label:"TTS text send",description:"Derived from adjacent TTS text send and completion events"},{startEventType:"tts.provider.started",endEventType:"tts.audio.first_received",row:"Provider",colorKey:"tts.provider.lifecycle",label:"Provider wait",description:"Derived from adjacent provider start and first-audio events"},{startEventType:"tts.audio.first_received",endEventType:"tts.provider.completed",row:"Provider",colorKey:"tts.provider",label:"Provider audio",description:"Derived from adjacent provider first-audio and completion events"},{startEventType:"tts.decode.started",endEventType:"tts.decode.completed",row:"Decode",colorKey:"tts.decode",label:"Decode",description:"Derived from adjacent local decode lifecycle events"},{startEventType:"audio.output.wait.started",endEventType:"audio.output.wait.completed",row:"Output Queue",colorKey:"audio.output.wait",label:"Output queue",description:"Derived from adjacent audio-output wait lifecycle events"},{startEventType:"audio.playback.started",endEventType:"audio.playback.stopped",row:"Playback",colorKey:"playback",label:"Playback",description:"Derived from adjacent playback start and playback stop events"}],On=new Map(Wn.map(e=>[e.startEventType,e]));function kr(){return{exists:!1,audioUrl:null,fileName:null,mimeType:null,size:null,uploadedAt:null,alignmentOffsetMs:0}}const De=fs(),Wt=wr(ht.url)??_r()??"",Hn=ht.params.conversationId??"",Vn=Bt(Hn,Wt),m=De.latency.get(Vn);tt.setSourceId(Wt||void 0);let Ot=x(K(Wt)),Le=x(K((m==null?void 0:m.conversation)??null)),j=x(K((m==null?void 0:m.traces)??[])),pe=x(K((m==null?void 0:m.conversationTraces)??[])),Pe=x(K((m==null?void 0:m.dataLoaded)??!1)),We=x(!1),Oe=x(K((m==null?void 0:m.error)??null)),$=x(K((m==null?void 0:m.recording)??kr())),He=x(K((m==null?void 0:m.recordingLoaded)??!1)),bt=x(!1),ve=x(K((m==null?void 0:m.recordingError)??null)),xt=x(!1),U=x(K((m==null?void 0:m.waveform)??null)),Ve=x(!1),Se=x(K((m==null?void 0:m.waveformError)??null)),Y=x(K((m==null?void 0:m.playbackPositionMs)??0)),le=x(!1),ce=x(null),Ht=x(!1),me=x(null),oe=x(K((m==null?void 0:m.viewDirty)??!1)),u=x(null),g=x(null),se=x(null),Vt=x(null),he=x(0),Ut=x(null),qt=x(null),Ue=x(0),Kt=x(0),jt=x(null),qe=x(null),rt=x(null),Xt=x(null),nt=x(null),at=x(null),zt=x(null),ot=x(K((m==null?void 0:m.humanSpeechBubbleReservedLevels)??1)),Ke=x("idle"),be=x(""),Yt=x(null),gt=0,st=0,yt=0,xe=null,je=0,de=(m==null?void 0:m.playbackAudioBuffer)??null,ie=null,it=null,lt=null,ct=null,dt=null;const Xe=w(()=>ht.params.conversationId);function $r(e,t){const n=new URLSearchParams;t&&n.set("source",t);const a=n.toString();return`/traces/api/latency/${encodeURIComponent(e)}${a?`?${a}`:""}`}const ut=w(()=>r(Xe)?$r(r(Xe),r(Ot)):""),W=w(()=>{var t;let e=Number.POSITIVE_INFINITY;for(const n of r(j))typeof n.atMs!="number"||!Number.isFinite(n.atMs)||(e=Math.min(e,n.atMs));return Number.isFinite(e)?e:typeof((t=r(Le))==null?void 0:t.createdAt)=="number"&&Number.isFinite(r(Le).createdAt)?r(Le).createdAt:Number.isFinite(e)?e:0}),Ee=w(()=>Va(r(j))),Un=w(()=>r(j).length),qn=w(()=>ya()),Kn=w(()=>Ta(r(Ee))),jn=w(()=>[...r(Ee).map(t=>{const n=r(Kn).get(t.id);return!n||t.row!=="Playback"||t.durationMs<=0?t:{...t,speechText:n.text,speechFullText:n.fullText,speechTraceLabel:n.traceLabel}}),...Ma(r(qn))]),ke=w(()=>{const e=new Map;for(const t of r(jn)){const n=e.get(t.row);n?n.push(t):e.set(t.row,[t])}return[...Sr].reverse().map(t=>({label:t.label,segments:e.get(t.label)??[]})).filter(t=>t.segments.length>0)}),Gt=w(()=>Ca()),Xn=w(()=>Math.max(r(ot),Hr(r(Gt),"human"))),Ar=w(()=>Ia(r(Gt))),Zt=w(()=>Aa(r(Xn))),Ir=w(()=>r(Zt)),Rr=w(()=>r(ke).length*Me+Math.max(0,r(ke).length-1)*ae),wt=w(()=>r(ke).length>0?ae:0),zn=w(()=>z+r(Rr)+r(wt)),ft=w(()=>r($).exists),Yn=w(()=>r(ft)?ae+Dt:0),Gn=w(()=>Qa(r(ke))),ge=w(()=>r(U)?r(W)+r($).alignmentOffsetMs:null),Jt=w(()=>z+r(Rr)+r(wt)+r(Ir)+r(Yn)),Qt=w(()=>r(ge)==null?null:r(ge)+r(Y)),ze=w(()=>{const e=r(Qt);if(e==null||r(u)==null||r(g)==null)return null;const t=r(g)-r(u);return!Number.isFinite(t)||t<=0||e<r(u)||e>r(g)?null:{leftPercent:O((e-r(u))/t*100,0,100),topPx:z,heightPx:Math.max(1,r(Jt)-z)}}),Cr=w(()=>{if(r(u)==null||r(g)==null)return null;const e=r(g)-r(u);return!Number.isFinite(e)||e<=0||r(W)<r(u)||r(W)>r(g)?null:{leftPercent:(r(W)-r(u))/e*100,topPx:z,heightPx:Math.max(1,r(Jt)-z)}}),Ye=w(()=>{let e=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY;for(const n of r(Ee))e=Math.min(e,n.start),t=Math.max(t,n.end);return r(U)&&r(ge)!=null&&(e=Math.min(e,r(ge)),t=Math.max(t,r(ge)+r(U).durationMs)),!Number.isFinite(e)||!Number.isFinite(t)?null:(t<=e&&(t=e+1),{min:e,max:t})}),_t=w(()=>{let e=Number.POSITIVE_INFINITY,t=Number.NEGATIVE_INFINITY;for(const n of r(Ee))Dn.has(n.row)&&(e=Math.min(e,n.start),t=Math.max(t,n.end));return!Number.isFinite(e)||!Number.isFinite(t)?null:(t<=e&&(t=e+1),{min:e,max:t})}),Br=w(()=>{if(r(u)==null||r(g)==null)return null;const e=r(g)-r(u);return e>0?e:null}),Tt=w(()=>r(u)==null||r(g)==null?[]:to(r(u),r(g),r(W))),Zn=w(()=>r(qe)?Xa(r(qe)).split(`
|
|
2
|
+
`):[]);te(()=>{const e=r(Xt),t=r(rt),n=r(qe);r(u),r(g),!(!e||!t||!n)&&e.update()}),te(()=>{const e=r(zt),t=r(at),n=r(nt);r(u),r(g),!(!e||!t||!n)&&e.update()}),te(()=>{const e=Hr(r(Gt),"human");e>r(ot)&&i(ot,e,!0)});function Ge(e=r(be)){var s,l;if(!e)return;const t=De.latency.get(e),n={conversation:r(Le),traces:r(j),conversationTraces:r(pe),dataLoaded:r(Pe),error:r(Oe),recording:r($),recordingLoaded:r(He),recordingError:r(ve),waveform:r(U),waveformError:r(Se),playbackAudioBuffer:de,playbackPositionMs:r(Y),viewportStartMs:r(u),viewportEndMs:r(g),viewportOriginMs:r(W),viewDirty:r(oe),humanSpeechBubbleReservedLevels:r(ot),scrollTop:(t==null?void 0:t.scrollTop)??((s=r(se))==null?void 0:s.scrollTop)??0,scrollLeft:(t==null?void 0:t.scrollLeft)??((l=r(se))==null?void 0:l.scrollLeft)??0};De.latency.set(e,n);const a=r(Xe),o=wr(ht.url)??_r()??"";a&&o&&e===Bt(a,"")&&De.latency.set(Bt(a,o),n)}async function Jn(e){e&&(await os(),r(se)&&(r(se).scrollTop=e.scrollTop,r(se).scrollLeft=e.scrollLeft))}function Qn(){if(!r(be)||!r(se))return;const e=De.latency.get(r(be));if(!e){Ge();return}e.scrollTop=r(se).scrollTop,e.scrollLeft=r(se).scrollLeft}rs(()=>{Nr(),Ge(),xe==null||xe(),nr(),Je(!1),oo()}),te(()=>{const e=r(Xe),t=wr(ht.url)??_r()??"";if(t!==r(Ot)&&i(Ot,t,!0),!e)return;const n=Bt(e,t);if(n===r(be))return;Nr(),Ge(),i(be,n,!0);const a=De.latency.get(n),s=((a==null?void 0:a.viewportStartMs)!=null&&a.viewportEndMs!=null&&typeof a.viewportOriginMs=="number"&&Number.isFinite(a.viewportOriginMs)?{startMs:a.viewportStartMs,endMs:a.viewportEndMs,originMs:a.viewportOriginMs}:null)??ms(n);i(Yt,s,!0),i(oe,s?(a==null?void 0:a.viewDirty)??!0:!1,!0),i(Oe,(a==null?void 0:a.error)??null,!0),i(ve,(a==null?void 0:a.recordingError)??null,!0),i(me,null),i(Se,(a==null?void 0:a.waveformError)??null,!0),Je(!1),de=a!=null&&a.recordingLoaded?a.playbackAudioBuffer:null,i(Y,(a==null?void 0:a.playbackPositionMs)??0,!0),i(ce,null),i(U,a!=null&&a.recordingLoaded?a.waveform:null,!0),i(Le,a!=null&&a.dataLoaded?a.conversation:null,!0),i(j,a!=null&&a.dataLoaded?a.traces:[],!0),i(pe,a!=null&&a.dataLoaded?a.conversationTraces:[],!0),i(Pe,(a==null?void 0:a.dataLoaded)??!1,!0),i($,a!=null&&a.recordingLoaded?a.recording:kr(),!0),i(He,(a==null?void 0:a.recordingLoaded)??!1,!0),i(u,null),i(g,null),i(ot,(a==null?void 0:a.humanSpeechBubbleReservedLevels)??1,!0),tt.setSourceId(t||void 0),r(Pe)?i(We,!1):ho(e),r(He)?i(bt,!1):bo($r(e,t)),Jn(a)}),te(()=>{const e=r(Yt),t=r(Pe),n=r(_t)??r(Ye),a=r(W);if(!e||!t||!n)return;i(Yt,null),i(oe,!0);const o=ps(e,a);cr(o.startMs,o.endMs)}),te(()=>{!r(Pe)||!(r(_t)??r(Ye))||r(oe)||lr(!1)}),te(()=>{const e=r(be),t=r(u),n=r(g);!e||t==null||n==null||Ln(e,{startMs:t,endMs:n,originMs:r(W)})}),te(()=>{const e=r(Vt);if(!e||typeof ResizeObserver>"u")return;i(he,e.clientWidth,!0);const t=new ResizeObserver(n=>{const a=n[0];a&&i(he,a.contentRect.width,!0)});return t.observe(e),()=>t.disconnect()}),te(()=>{const e=r(Ut);if(!e||typeof ResizeObserver>"u")return;i(Ue,e.clientWidth,!0),i(Kt,e.clientHeight,!0);const t=new ResizeObserver(n=>{const a=n[0];a&&(i(Ue,a.contentRect.width,!0),i(Kt,a.contentRect.height,!0))});return t.observe(e),()=>t.disconnect()}),te(()=>{if(!r($).exists||typeof window>"u")return;const t=n=>{n.code==="Space"&&(n.metaKey||n.ctrlKey||n.altKey||n.shiftKey||uo(n.target)||(n.preventDefault(),zr()))};return window.addEventListener("keydown",t),()=>window.removeEventListener("keydown",t)}),te(()=>{const e=r(qt),t=r(U),n=r(ge),a=r(u),o=r(g),s=r(Ue),l=r(Kt);!e||!t||n==null||a==null||o==null||ao(e,{peaks:t,recordingStartMs:n,viewportStartMs:a,viewportEndMs:o,width:s,height:l})});function J(e){if(typeof e!="string")return null;const t=e.trim();return t||null}function ea(e){return typeof e=="number"&&Number.isFinite(e)?e:null}function er(e){return Math.max(0,Math.min(255,Math.round(e)))}function O(e,t,n){return Math.min(n,Math.max(t,e))}function G(e,t){const n=(e??"").trim().replace(/^#/,""),a=n.length===3?n.split("").map(y=>`${y}${y}`).join(""):n;if(a.length!==6||!/^[0-9a-fA-F]+$/.test(a))return e;const o=parseInt(a.slice(0,2),16),s=parseInt(a.slice(2,4),16),l=parseInt(a.slice(4,6),16),c=Math.abs(Math.max(-1,Math.min(1,t))),d=t>=0?255:0;return`#${er(o+(d-o)*c).toString(16).padStart(2,"0")}${er(s+(d-s)*c).toString(16).padStart(2,"0")}${er(l+(d-l)*c).toString(16).padStart(2,"0")}`}function ta(e){const t=ea(e);return t==null?"—":`${Math.round(t)} ms`}function ra(e){if(e==null||!Number.isFinite(e))return"0 ms";const t=Math.round(e);return t===0?"0 ms":`${t>0?"+":""}${t} ms`}function Ze(e){if(!Number.isFinite(e))return"—";const t=e<0?"-":"",n=Math.abs(e);if(n<1e4)return`${t}${(n/1e3).toFixed(1)}s`;if(n<6e4)return`${t}${(n/1e3).toFixed(2)}s`;const a=n/1e3,o=Math.floor(a/60),s=a-o*60;return`${t}${o}:${s.toFixed(1).padStart(4,"0")}`}function na(e){try{return JSON.stringify(e??null,null,2)}catch{return String(e)}}async function aa(){try{await navigator.clipboard.writeText(na(r(j))),i(Ke,"ok"),window.setTimeout(()=>{i(Ke,"idle")},2e3)}catch(e){console.error("Failed to copy latency stream",e),i(Ke,"error"),window.setTimeout(()=>{i(Ke,"idle")},3e3)}}function Nr(){!r(be)||r(u)==null||r(g)==null||Ln(r(be),{startMs:r(u),endMs:r(g),originMs:r(W)})}function Q(e){const t=typeof e.createdAt=="number"&&Number.isFinite(e.createdAt)?new Date(e.createdAt).toLocaleTimeString():"unknown time";return e.traceType==="LATENCY"?`Latency • #${e.seq??"?"} • ${e.eventType??"unknown"} • ${t}`:e.traceType==="CONVERSATIONAL"?`Conversational • ${e.eventName} • ${t}`:e.traceType==="STEP"?`Step • ${e.name??"unknown"} • ${t}`:`API • ${e.operationName} • ${t}`}function tr(e){const t=e.payload;return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function oa(e){return e==="call.started"||e==="call.ended"?"Call":e.startsWith("vad.")?"VAD":e.startsWith("stt.")?"STT":e==="speech.created"?"Trigger":e.startsWith("reply.pending.")?"Reply Pending":e.startsWith("llm.connect_tcp.")||e.startsWith("llm.start_tls.")?"LLM Transport":e==="llm.requested"||e.startsWith("llm.wait.")?"LLM Wait":e==="llm.first_token"||e==="llm.completed"||e.startsWith("llm.stream.")?"LLM Stream":e.startsWith("tts.text.")?"TTS Text":e.startsWith("tts.provider.")||e==="tts.audio.first_received"||e==="tts.audio.last_received"?"Provider":e.startsWith("tts.decode.")?"Decode":e.startsWith("audio.output.wait.")?"Output Queue":e==="interruption.detected"||e==="audio.playback.interrupted"?"Interruptions":e.startsWith("audio.playback.")?"Playback":"Other"}function sa(e){return e==="call.started"||e==="call.ended"?"call":e.startsWith("vad.")?"vad":e.startsWith("stt.")?"stt":e==="speech.created"?"trigger":e.startsWith("reply.pending.")?"reply.pending":e.startsWith("llm.connect_tcp.")||e.startsWith("llm.start_tls.")?"llm.transport":e==="llm.requested"||e.startsWith("llm.wait.")?"llm.wait":e==="llm.first_token"||e==="llm.completed"||e.startsWith("llm.stream.")?"llm.stream":e.startsWith("tts.text.")?"tts.text":e.startsWith("tts.provider.")?"tts.provider.lifecycle":e==="tts.audio.first_received"||e==="tts.audio.last_received"?"tts.provider":e.startsWith("tts.decode.")?"tts.decode":e.startsWith("audio.output.wait.")?"audio.output.wait":e==="interruption.detected"||e==="audio.playback.interrupted"?"interruption":e.startsWith("audio.playback.")?"playback":"other"}function ia(e){switch(e){case"vad.activated":case"stt.started":return"start";case"vad.deactivated":case"stt.final":case"stt.final_transcript":return"end";default:return null}}function la(e){switch(e.eventType){case"call.started":return"Call started";case"call.ended":return"Call ended";case"vad.activated":return"VAD activated";case"vad.deactivated":return"VAD deactivated";case"stt.started":return"STT start";case"stt.interim":return"STT interim";case"stt.final":case"stt.final_transcript":return"STT final";case"speech.created":return"Speech created";case"reply.pending.started":return"Reply pending start";case"reply.pending.completed":return"Reply pending end";case"llm.connect_tcp.started":return"Connect TCP start";case"llm.connect_tcp.completed":return"Connect TCP end";case"llm.connect_tcp.failed":return"Connect TCP failed";case"llm.start_tls.started":return"TLS start";case"llm.start_tls.completed":return"TLS end";case"llm.start_tls.failed":return"TLS failed";case"llm.wait.started":return"LLM wait start";case"llm.wait.completed":return"LLM wait end";case"llm.stream.started":return"LLM stream start";case"llm.stream.completed":return"LLM stream end";case"llm.requested":return"LLM request";case"llm.first_token":return"LLM first token";case"llm.completed":return"LLM end";case"tts.text.first_sent":return"TTS first text";case"tts.text.completed":return"TTS text end";case"tts.provider.started":return"Provider start";case"tts.provider.completed":return"Provider end";case"tts.audio.first_received":return"Provider audio received";case"tts.audio.last_received":return"Provider audio end";case"tts.decode.started":return"Decode start";case"tts.decode.completed":return"Decode end";case"audio.output.wait.started":return"Output queue start";case"audio.output.wait.completed":return"Output queue end";case"interruption.detected":return"Interruption detected";case"audio.playback.started":return"Playback start";case"audio.playback.stopped":return"Playback stop";case"audio.playback.ended":return"Playback end";case"audio.playback.interrupted":return"Playback interrupted";default:return e.eventType}}function ca(e){const t=tr(e);switch(e.eventType){case"call.started":return"Call-scoped latency stream started";case"call.ended":return"Call-scoped latency stream ended";case"vad.activated":return"Raw VAD activation event";case"vad.deactivated":return"Raw VAD deactivation event";case"stt.started":return"Speech-to-text detected speech start";case"stt.interim":return J(t.originalType)==="preflight_transcript"?"Speech-to-text preflight transcript":"Speech-to-text interim transcript";case"stt.final":case"stt.final_transcript":return"Speech-to-text final transcript";case"speech.created":return"LiveKit created a speech handle";case"reply.pending.started":return"Reply generation was committed, but downstream generation has not started yet";case"reply.pending.completed":return"Reply generation moved from pending into the LLM request phase";case"llm.connect_tcp.started":return"httpcore started opening a new TCP connection for the LLM request";case"llm.connect_tcp.completed":return"httpcore finished opening a new TCP connection for the LLM request";case"llm.connect_tcp.failed":return"httpcore failed while opening a new TCP connection for the LLM request";case"llm.start_tls.started":return"httpcore started TLS negotiation for the LLM request";case"llm.start_tls.completed":return"httpcore finished TLS negotiation for the LLM request";case"llm.start_tls.failed":return"httpcore failed during TLS negotiation for the LLM request";case"llm.wait.started":return"LLM request is in flight and waiting for the first token";case"llm.wait.completed":return"The LLM wait phase ended when the first token arrived";case"llm.stream.started":return"LLM streaming phase started";case"llm.stream.completed":return"LLM streaming phase ended";case"llm.requested":return"AnyVan received an LLM request";case"llm.first_token":return"First LLM token received";case"llm.completed":return"LLM streaming completed";case"tts.text.first_sent":return"First text chunk sent to the TTS provider";case"tts.text.completed":return"Last non-empty text chunk observed for this TTS stream";case"tts.provider.started":return"Provider lifecycle started when the first non-empty TTS text chunk was sent";case"tts.provider.completed":return"Provider lifecycle ended when the provider stream reported completion";case"tts.audio.first_received":return"First audio chunk received from the TTS provider";case"tts.audio.last_received":return"Last audio chunk received from the TTS provider";case"tts.decode.started":return"First provider audio bytes were handed into the local decode path";case"tts.decode.completed":return"The first decoded audio frame left the local decode path";case"audio.output.wait.started":return"The first local audio frame was handed to the LiveKit audio output";case"audio.output.wait.completed":return"The audio-output wait phase ended when low-level playback actually started";case"interruption.detected":return"User speech overlapped active playback; this does not guarantee playback stopped";case"audio.playback.started":return"First played audio frame";case"audio.playback.stopped":return"Playback lifecycle ended on the Playback row";case"audio.playback.ended":return"Audio playback finished normally";case"audio.playback.interrupted":return"Audio playback ended because the output buffer was interrupted";default:return null}}function Fr(e){const t=tr(e);return J(t.text)}function da(e){return e.eventType==="stt.final"||e.eventType==="stt.final_transcript"}function ue(e){const t=J(e);return t&&t.replace(/\s+/g," ").trim()||null}function ua(e){const t=tr(e),n=ue(t.text)??ue(t.transcript)??ue(t.finalTranscript)??ue(t.final_transcript)??ue(t.message);if(n)return n;const a=t.alternatives;if(Array.isArray(a))for(const o of a){if(!o||typeof o!="object")continue;const s=ue(o.text);if(s)return s}return null}function Dr(e){return e.traceType==="CONVERSATIONAL"}function fa(e){return Dr(e)&&e.role.toLowerCase()==="user"&&(e.eventName==="received-message"||e.eventName==="llm-handler-stream-requested")}function pa(e){return Dr(e)&&(e.eventName==="finished-main-streaming-step"||e.eventName==="sent-message")}function rr(e){return J(e.traceId)??`${e.createdAt}:${e.eventName}:${e.content}`}function Wr(){for(const e of r(j).slice().sort(pt))if(e.eventType==="call.started"&&Number.isFinite(e.atMs))return e.atMs;return r(W)}function va(e,t){const n=t.filter(a=>a.start<=e).sort((a,o)=>o.start-a.start||o.end-a.end)[0];return n?n.end<=e?Math.min(n.end,e):Math.min(n.start,e):Math.min(Wr(),e)}function ma(e){return/<WAIT\b[^>]*\/?\s*>/i.test(e)}function ha(e){return e.traceType==="STEP"&&ls(e.name)&&J(e.response)!=null}function Or(e){return e.replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim()}function ba(e,t){if(e===t)return!0;const n=Or(e),a=Or(t);return n!==""&&n===a}function xa(e){let t=e-Lr,n=e+Lr;for(const a of r(pe))if(fa(a))if(a.createdAt<=e)t=a.createdAt;else{n=a.createdAt;break}return{start:t,end:n}}function ga(e,t,n){const a=xa(e.createdAt);return t.filter(o=>!n.has($e(o))&&o.createdAt>=a.start&&o.createdAt<a.end).sort((o,s)=>Math.abs(o.createdAt-e.createdAt)-Math.abs(s.createdAt-e.createdAt))[0]??null}function ya(){const e=[],t=new Set,n=r(pe).filter(ha).sort(ir),a=r(pe).filter(pa).sort(ir);for(const o of a){const s=ga(o,n,t),c=(s?J(s.response):null)??J(o.content),d=ue(c);if(!d||!c)continue;const y=e.find(M=>M.agentTraceIds.size>0&&Math.abs(M.createdAt-o.createdAt)<=1e3&&ba(M.fullText,c));if(y){y.agentTraceIds.add(rr(o)),s&&t.add($e(s));continue}s&&t.add($e(s)),e.push({id:s?`response:step:${$e(s)}`:`response:agent:${rr(o)}`,text:d,fullText:c,createdAt:o.createdAt,agentTraceIds:new Set([rr(o)]),traceLabel:Q(s??o)})}for(const o of n){const s=$e(o);if(t.has(s))continue;const l=J(o.response),c=ue(l);!c||!l||e.push({id:`response:step:${s}`,text:c,fullText:l,createdAt:o.createdAt,agentTraceIds:new Set,traceLabel:Q(o)})}return e.sort((o,s)=>o.createdAt-s.createdAt||o.id.localeCompare(s.id))}function $e(e){return J(e.traceId)??`${e.seq??"?"}:${e.createdAt??"?"}`}function wa(){return r(j).slice().sort(pt).flatMap(e=>{if(e.eventType!=="tts.text.first_sent"&&e.eventType!=="tts.text.completed")return[];const t=ue(Fr(e));return t?[{trace:e,text:t}]:[]})}function _a(e,t,n,a){const o=a-250,s=e.start+2e3;return t.filter(({trace:c})=>n.has($e(c))?!1:c.atMs>=o&&c.atMs<=s).sort((c,d)=>Math.abs(c.trace.atMs-e.start)-Math.abs(d.trace.atMs-e.start))[0]??null}function Ta(e){const t=new Map,n=e.filter(l=>l.row==="Playback"&&l.durationMs>0).sort((l,c)=>l.start-c.start||l.end-c.end),a=new Set,o=wa();let s=Wr();for(const l of n){const c=_a(l,o,a,s);s=Math.max(s,l.end),c&&(a.add($e(c.trace)),t.set(l.id,{text:c.text,fullText:c.text,traceLabel:Q(c.trace)}))}return t}function Ma(e){return e.flatMap(t=>{if(!ma(t.fullText))return[];const n=La(t.createdAt);return[{...Lt({id:`playback:wait:${t.id}`,row:"Playback",start:t.createdAt,end:n,colorKey:"playback",label:"WAIT response",traceLabel:t.traceLabel}),speechText:t.text,speechFullText:t.fullText,speechTraceLabel:t.traceLabel}]})}function La(e){const t=r(j).filter(n=>n.atMs>e&&(n.eventType==="audio.playback.started"||n.eventType==="stt.started"||n.eventType==="vad.activated"||n.eventType==="call.ended")).sort((n,a)=>n.atMs-a.atMs||n.seq-a.seq)[0];return t?t.atMs:e+1}function Pa(){const e=[],t=r(Ee).filter(n=>n.row==="Playback"&&n.durationMs>0).sort((n,a)=>n.start-a.start||n.end-a.end);return r(j).slice().sort(pt).forEach(n=>{if(!da(n))return;const a=ua(n);a&&e.push({id:`bubble:human:${n.traceId??n.seq}`,role:"human",text:a,fullText:a,anchorTime:n.atMs,minStartTime:va(n.atMs,t),anchorRow:"STT",traceLabel:Q(n)})}),e.sort((n,a)=>n.anchorTime-a.anchorTime||n.role.localeCompare(a.role)||n.id.localeCompare(a.id))}function Sa(e){const t=r(ke).findIndex(n=>n.label===e);return t===-1?z:z+t*(Me+ae)+Math.round(Me/2)}function Ea(e){let t=0;for(const n of e)n===" "?t+=4:"ilI.,:;!|".includes(n)?t+=4.2:"mwMW@#%&".includes(n)?t+=9.5:/[A-Z0-9]/.test(n)?t+=7.5:t+=6.8;return Math.ceil(t+Cn)}function ka(e,t){const n=Ea(e),a=Math.max(Fe,t);return O(n,Fe,a)}function $a(e,t){const n=new Set,a=[],o=Math.max(Fe,t);for(const s of[e,Rn,In,Fe]){const l=O(s,Fe,o);l>e||n.has(l)||(n.add(l),a.push(l))}return a}function Hr(e,t){let n=-1;for(const a of e)a.role===t&&(n=Math.max(n,a.level));return n+1}function Aa(e){return Math.max(0,e)*Tr}function Ia(e){const t=r(zn);return e.map(n=>{const a=n.level*Tr,o=t+a,s=Sa(n.anchorRow);return{...n,topPx:a,lineTopPx:s,lineHeightPx:Math.max(1,o-s)}})}function Ra(e,t){if(r(u)==null||r(g)==null||r(he)<=0)return[];const n=r(u),o=r(g)-n;if(!Number.isFinite(o)||o<=0)return[];const s=t.filter(d=>d.role===e).map(d=>{const y=(d.anchorTime-n)/o*100,M=(d.minStartTime-n)/o*r(he),T=y/100*r(he);return{...d,anchorPercent:y,anchorPx:T,maxWidthPx:Math.max(Fe,T-M)}}).sort((d,y)=>d.anchorPx-y.anchorPx||d.anchorTime-y.anchorTime),l=Array.from({length:Mr},()=>Number.NEGATIVE_INFINITY),c=[];for(const d of s){const y=ka(d.text,d.maxWidthPx),M=$a(y,d.maxWidthPx);let T=null;for(const X of M){const Z=d.anchorPx,I=Z-X;for(let F=0;F<Mr;F+=1)if(!(I<l[F]+An)){T={...d,leftPx:I,topPx:0,widthPx:X,level:F,lineTopPx:ne,lineHeightPx:1},l[F]=Z;break}if(T)break}T&&c.push(T)}return c}function Ca(){const e=Pa();return Ra("human",e)}function Ba(e){return`left:${Math.round(e.leftPx)}px;top:${Math.round(e.topPx)}px;width:${Math.round(e.widthPx)}px;height:${ne}px;`}function Na(e){return`left:${e.anchorPercent}%;top:${Math.round(e.lineTopPx)}px;height:${Math.round(e.lineHeightPx)}px;`}function Fa(e){const t="absolute z-20 overflow-hidden truncate rounded-lg border-thin border-rc-gray-110 px-3 text-sm leading-[30px] text-rc-gray-100 backdrop-blur-md";return e.role==="agent"?`${t} bg-rc-green-700`:`${t} bg-rc-gray-700`}function Da(e){const t="pointer-events-none max-h-56 max-w-[34rem] overflow-auto rounded-lg border-thin border-rc-gray-110 p-2 pt-1 text-sm text-rc-gray-100 shadow-2xl backdrop-blur-md";return e.role==="agent"?`${t} bg-rc-green-700`:`${t} bg-rc-gray-700`}function nr(){dt!=null&&(window.clearTimeout(dt),dt=null)}function Vr(e,t){const n=t.currentTarget;n instanceof HTMLElement&&(nr(),dt=window.setTimeout(()=>{i(nt,e,!0),i(at,n,!0),dt=null},Bn))}function Mt(){nr(),i(nt,null),i(at,null)}function Lt(e){return{id:e.id,row:e.row,start:e.start,end:e.end,durationMs:Math.max(0,e.end-e.start),colorKey:e.colorKey,label:e.label,description:e.description??null,explain:e.explain??null,text:e.text??null,speechText:null,speechFullText:null,speechTraceLabel:null,traceLabel:e.traceLabel,eventMarker:e.eventMarker??null}}function pt(e,t){return e.seq-t.seq||e.atMs-t.atMs||(e.createdAt??0)-(t.createdAt??0)||String(e.traceId??"").localeCompare(String(t.traceId??""))}function Wa(e,t,n,a){for(let o=t+1;o<e.length;o+=1){const s=e[o];if(a(s))return null;if(n(s))return s}return null}function Oa(e){return cs(e).filter(t=>ds(r(pe),t)!=null).map(t=>Lt({id:`derived:${t.id}`,row:"Response Latency",start:t.start,end:t.end,colorKey:t.isHigh?"response.latency.high":"response.latency.ok",label:"Final STT -> speech start",description:t.speechCreatedTrace?"Final STT transcript -> first audio for the next uncancelled LiveKit speech":"Final STT transcript -> next audio playback start",explain:t.isHigh?`High latency (>${us}ms)`:"OK",text:t.text,traceLabel:t.speechCreatedTrace?`${Q(t.startTrace)} -> ${Q(t.speechCreatedTrace)} -> ${Q(t.endTrace)}`:`${Q(t.startTrace)} -> ${Q(t.endTrace)}`}))}function Ha(e){const t=Oa(e);return e.forEach((n,a)=>{const o=On.get(n.eventType);if(!o)return;const s=Wa(e,a,l=>l.eventType===o.endEventType,l=>l.eventType===o.startEventType);!s||s.atMs<n.atMs||t.push(Lt({id:`derived:${o.row.toLowerCase().replaceAll(" ","_")}:${n.seq}:${s.seq}`,row:o.row,start:n.atMs,end:s.atMs,colorKey:o.colorKey,label:o.label,description:o.description,traceLabel:Q(n)}))}),t}function Va(e){const t=e.slice().filter(o=>typeof o.atMs=="number"&&Number.isFinite(o.atMs)&&typeof o.seq=="number"&&Number.isFinite(o.seq)).sort(pt),n=t.map((o,s)=>Lt({id:`point:${o.traceId??o.seq}:${s}`,row:oa(o.eventType),start:o.atMs,end:o.atMs,colorKey:sa(o.eventType),label:la(o),description:ca(o),text:Fr(o),traceLabel:Q(o),eventMarker:ia(o.eventType)}));return[...Ha(t),...n].sort((o,s)=>o.start-s.start||(o.durationMs===0?1:0)-(s.durationMs===0?1:0)||o.end-s.end||o.row.localeCompare(s.row))}function Pt(e){const t=e&&typeof e=="object"?e:{},n=typeof t.audioUrl=="string"&&t.audioUrl.trim()?t.audioUrl:null;return{exists:t.exists===!0&&n!=null,audioUrl:n,fileName:typeof t.fileName=="string"?t.fileName:null,mimeType:typeof t.mimeType=="string"?t.mimeType:null,size:typeof t.size=="number"&&Number.isFinite(t.size)?t.size:null,uploadedAt:typeof t.uploadedAt=="string"?t.uploadedAt:null,alignmentOffsetMs:typeof t.alignmentOffsetMs=="number"&&Number.isFinite(t.alignmentOffsetMs)?t.alignmentOffsetMs:0}}function ar(e,t){const n=e&&typeof e=="object"?e:{};return typeof n.error=="string"&&n.error.trim()?n.error:typeof n.message=="string"&&n.message.trim()?n.message:t}async function or(e){var a,o;const t=e.headers.get("content-type")??"";if(t.includes("application/json"))return e.json().catch(()=>({}));const n=(await e.text().catch(()=>"")).trim();if(!n)return{};if(t.includes("text/html")){const s=n.match(/<title>([^<]+)<\/title>/i),l=n.match(/<h1[^>]*>([^<]+)<\/h1>/i);return{message:((a=s==null?void 0:s[1])==null?void 0:a.trim())||((o=l==null?void 0:l[1])==null?void 0:o.trim())||`${e.status} ${e.statusText}`.trim()}}return{message:n}}function St(e){return e.row==="Playback"&&!e.eventMarker&&e.durationMs>0}function Ua(e){return!St(e)||!e.speechFullText?null:{role:"agent",fullText:e.speechFullText}}function qa(e){return St(e)?e.speechText:null}function Ka(e){if(r(u)==null||r(g)==null)return null;const t=r(g)-r(u);if(!Number.isFinite(t)||t<=0)return null;const n=Er[e.colorKey]??C.gray,a=G(n,-.25);if(e.end===e.start){if(e.start<r(u)||e.start>r(g))return null;const d=O((e.start-r(u))/t*100,0,100);return e.eventMarker==="start"?`left:${d}%;width:7px;background:${n};border-color:${a};clip-path:polygon(0 0,100% 50%,0 100%);`:e.eventMarker==="end"?`left:calc(${d}% - 7px);width:7px;background:${n};border-color:${a};clip-path:polygon(100% 0,0 50%,100% 100%);`:`left:calc(${d}% - 2px);width:4px;background:${n};border-color:${a};`}const o=Math.max(e.start,r(u)),s=Math.min(e.end,r(g));if(s<o)return null;const l=(o-r(u))/t*100,c=(s-o)/t*100;return St(e)?`left:${l}%;width:max(${c}%,2px);`:`left:${l}%;width:max(${c}%,2px);background:${n};border-color:${a};`}function ja(e){return e.eventMarker?"absolute inset-y-0 shadow-[0_0_0_1px_rgba(0,0,0,0.28)]":St(e)?"absolute inset-y-0 overflow-hidden truncate rounded-lg border-thin border-rc-gray-110 bg-rc-green-700 px-3 text-sm leading-[30px] text-rc-gray-100 shadow-[0_0_0_1px_rgba(0,0,0,0.12)] backdrop-blur-md":"absolute inset-y-0 rounded border shadow-[0_0_0_1px_rgba(0,0,0,0.12)]"}function Xa(e){return[e.label,e.row!==e.label?e.row:"",`${Ze(e.start-r(W))} → ${Ze(e.end-r(W))} (${ta(e.durationMs)})`,e.description??"",e.text?`Text: ${e.text}`:"",e.explain??"",e.traceLabel].filter(n=>n.trim()!=="").join(`
|
|
3
|
+
`)}function za(e,t){const n=t.currentTarget;n instanceof HTMLElement&&(i(qe,e,!0),i(rt,n,!0))}function Ur(){i(qe,null),i(rt,null)}function Ya(e,t){const n=Ua(e);if(n){Ur(),Vr(n,t);return}Mt(),za(e,t)}function qr(){Ur(),Mt()}function Ga(e){return`left:${e.leftPercent}%;top:${e.topPx}px;height:${e.heightPx}px;border-color:${e.color};opacity:${e.opacity};`}function Za(e){return`left:${e.leftPercent}%;top:${e.topPx}px;height:${e.heightPx}px;`}function Ja(e){const t="absolute top-1 whitespace-nowrap text-[11px] text-rc-gray-400";return e.leftPercent<=.1?t:e.leftPercent>=99.9?`${t} -translate-x-full`:`${t} -translate-x-1/2`}function Qa(e){if(!r($).exists||r(u)==null||r(g)==null)return[];const t=r(u),n=r(g),a=n-t;if(!Number.isFinite(a)||a<=0)return[];const o=r(Jt),s=new Set,l=[];return e.forEach((c,d)=>{if(!Fn.has(c.label))return;const M=z+d*(Me+ae)+Math.round(Me/2);c.segments.forEach(T=>{if(T.id.startsWith("playback:wait:"))return;const X=G(Er[T.colorKey]??C.gray,.15),Z=T.end===T.start?T.start>=t&&T.start<=n?[T.start]:[]:(()=>{const I=Math.max(T.start,t),F=Math.min(T.end,n);return F<I?[]:[I,F]})();for(const I of Z){const F=Math.round(I),ye=`${c.label}:${F}`;if(s.has(ye))continue;s.add(ye);const ee=O((I-t)/a*100,0,100);l.push({id:`${T.id}:${F}`,leftPercent:ee,topPx:M,heightPx:Math.max(1,o-M),color:X,opacity:c.label==="VAD"?.62:.48})}})}),l}function eo(e){const t=e/7,n=10**Math.floor(Math.log10(Math.max(1,t))),a=t/n;return a<=1?1*n:a<=2?2*n:a<=5?5*n:10*n}function to(e,t,n){const a=t-e;if(!Number.isFinite(a)||a<=0)return[];const o=eo(a),s=Math.ceil((e-n)/o)*o+n,l=[];for(let c=s;c<=t;c+=o){const d=(c-e)/a*100;l.push({time:c,leftPercent:d,label:Ze(c-n)})}return l}function Kr(){const e=window.AudioContext??window.webkitAudioContext;if(!e)throw new Error("Web Audio is not available in this browser");return new e}function ro(e){if(e.length===0||e.duration===0)return{durationMs:0,binDurationMs:0,minPeaks:new Float32Array(0),maxPeaks:new Float32Array(0),channelCount:e.numberOfChannels,sampleRate:e.sampleRate};const t=O(Math.round(e.duration*200),8e3,6e4),n=Math.max(1,Math.min(t,e.length)),a=Math.max(1,Math.floor(e.length/n)),o=new Float32Array(n),s=new Float32Array(n);for(let l=0;l<n;l+=1){const c=l*a,d=l===n-1?e.length:Math.min(e.length,c+a);let y=1,M=-1;for(let T=0;T<e.numberOfChannels;T+=1){const X=e.getChannelData(T);for(let Z=c;Z<d;Z+=1){const I=X[Z]??0;I<y&&(y=I),I>M&&(M=I)}}M===-1&&y===1&&(y=0,M=0),o[l]=y,s[l]=M}return{durationMs:e.duration*1e3,binDurationMs:e.duration*1e3/n,minPeaks:o,maxPeaks:s,channelCount:e.numberOfChannels,sampleRate:e.sampleRate}}async function no(e){const t=await fetch(e,{cache:"no-store"});if(!t.ok)throw new Error(`Failed to load recording (${t.status})`);const n=await t.arrayBuffer(),a=Kr();try{const o=await a.decodeAudioData(n.slice(0));return{peaks:ro(o),audioBuffer:o}}finally{await a.close().catch(()=>{})}}function ao(e,t){const n=Math.max(1,Math.floor(t.width)),a=Math.max(1,Math.floor(t.height)),o=window.devicePixelRatio||1;e.width=Math.max(1,Math.round(n*o)),e.height=Math.max(1,Math.round(a*o)),e.style.width=`${n}px`,e.style.height=`${a}px`;const s=e.getContext("2d");if(!s)return;s.setTransform(o,0,0,o,0,0),s.clearRect(0,0,n,a),s.fillStyle="rgba(10, 10, 10, 0.2)",s.fillRect(0,0,n,a);const l=t.viewportEndMs-t.viewportStartMs;if(l<=0||t.peaks.minPeaks.length===0||t.peaks.binDurationMs<=0)return;const c=t.recordingStartMs+t.peaks.durationMs,d=Math.max(t.viewportStartMs,t.recordingStartMs),y=Math.min(t.viewportEndMs,c),M=a/2,T=a*.42;if(s.strokeStyle="rgba(147, 255, 109, 0.95)",s.lineWidth=1,s.beginPath(),y>d){const X=Math.max(0,Math.floor((d-t.recordingStartMs)/t.peaks.binDurationMs)),Z=Math.min(t.peaks.minPeaks.length-1,Math.ceil((y-t.recordingStartMs)/t.peaks.binDurationMs));for(let I=X;I<=Z;I+=1){const ye=(t.recordingStartMs+I*t.peaks.binDurationMs-t.viewportStartMs)/l*n,ee=t.peaks.minPeaks[I]??0,At=t.peaks.maxPeaks[I]??0,It=M-At*T,Rt=M-ee*T;s.moveTo(ye,It),s.lineTo(ye,Rt)}}s.stroke(),s.strokeStyle="rgba(255, 255, 255, 0.18)",s.lineWidth=1,s.beginPath(),s.moveTo(0,M),s.lineTo(n,M),s.stroke()}function sr(){je&&(window.cancelAnimationFrame(je),je=0)}async function oo(){const e=ie;ie=null,e&&await e.close().catch(()=>{})}async function so(){return(!ie||ie.state==="closed")&&(ie=Kr()),ie.state==="suspended"&&await ie.resume(),ie}function jr(){const e=Xr();if(r(le)&&ie&<!=null&&ct!=null){const t=(ie.currentTime-ct)*1e3,n=lt+Math.max(0,t);return e>0?O(n,0,e):Math.max(0,n)}return e>0?O(r(Y),0,e):Math.max(0,r(Y))}function Je(e=!0){e&&i(Y,jr(),!0);const t=it;if(it=null,lt=null,ct=null,i(le,!1),sr(),!!t){t.onended=null;try{t.stop()}catch{}t.disconnect()}}function io(){sr();const e=()=>{if(!r(le)){je=0;return}i(Y,jr(),!0),je=window.requestAnimationFrame(e)};je=window.requestAnimationFrame(e)}function Xr(){return r(U)&&Number.isFinite(r(U).durationMs)?Math.max(0,r(U).durationMs):de&&Number.isFinite(de.duration)?Math.max(0,de.duration*1e3):0}function lo(e){const t=Xr(),n=t>0?O(e,0,t):Math.max(0,e);i(Y,n,!0),r(le)&&Yr(n)}function co(e,t){if(r(u)==null||r(g)==null||r(ge)==null)return;const n=t.getBoundingClientRect(),a=O((e-n.left)/Math.max(1,n.width),0,1),o=r(u)+a*(r(g)-r(u));i(ce,null),lo(o-r(ge))}function uo(e){const t=e instanceof HTMLElement?e:null;if(!t)return!1;const n=t.tagName;return t.isContentEditable||n==="INPUT"||n==="TEXTAREA"||n==="SELECT"||n==="BUTTON"||n==="A"}async function zr(){if(!(!r($).exists||!r($).audioUrl)){if(i(ce,null),r(le)){Je(!0);return}await Yr(r(Y))}}async function Yr(e){const t=de;if(!t){i(ce,r(Ve)?"Recording is still decoding":"Failed to decode recording for playback",!0);return}const n=Math.max(0,t.duration*1e3),a=n>0?e>=n?0:O(e,0,n):Math.max(0,e);Je(!1),i(Y,a,!0);try{const o=await so(),s=o.createBufferSource();s.buffer=t,s.connect(o.destination),s.onended=()=>{it===s&&(it=null,lt=null,ct=null,i(le,!1),i(Y,n,!0),sr())},it=s,lt=a,ct=o.currentTime,i(le,!0),i(ce,null),io(),s.start(0,a/1e3)}catch(o){Je(!1),i(le,!1),i(ce,o instanceof Error?o.message:"Failed to play recording",!0)}}function fo(e){const t=new Set;return e.filter(n=>{const a=J(n==null?void 0:n.traceId);return a?t.has(a)?!1:(t.add(a),!0):!0})}function po(e){const t=new Set;return e.filter(n=>{const a=J(n==null?void 0:n.traceId);return a?t.has(a)?!1:(t.add(a),!0):!0})}function ir(e,t){return e.createdAt-t.createdAt||String(e.traceId??"").localeCompare(String(t.traceId??""))}async function vo(e){const t=[];let n;for(;;){const a=await tt.getLatencyTraces(e,500,n);if(t.push(...a.items??[]),n=a.lastTraceId,!n)break}return fo(t).slice().sort(pt)}async function mo(e){const t=[];let n;for(;;){const a=await tt.getTraces(e,100,n);if(t.push(...a.items??[]),n=a.lastTraceId,!n)break}return po(t).slice().sort(ir)}async function ho(e){const t=++gt;i(Pe,!1),i(We,!0),i(Oe,null);try{const[n,a,o]=await Promise.all([tt.getConversation(e).catch(s=>(console.error("Failed to load conversation details:",s),null)),vo(e),mo(e).catch(s=>(console.error("Failed to load conversation traces for latency matching:",s),[]))]);if(t!==gt)return;i(Le,n,!0),i(j,a,!0),i(pe,o,!0),i(Pe,!0)}catch(n){if(t!==gt)return;i(Oe,n instanceof Error?n.message:String(n),!0),i(Le,null),i(j,[],!0),i(pe,[],!0)}finally{if(t!==gt)return;i(We,!1),Ge()}}async function Gr(e){if(Je(!1),i($,e,!0),i(me,null),i(ce,null),i(Y,0),!e.exists||!e.audioUrl){de=null,i(U,null),i(Ve,!1),i(Se,null);return}const t=++yt;i(Ve,!0),i(Se,null);try{const n=await no(e.audioUrl);if(t!==yt)return;i(U,n.peaks,!0),de=n.audioBuffer}catch(n){if(t!==yt)return;de=null,i(U,null),i(Se,n instanceof Error?n.message:String(n),!0)}finally{if(t!==yt)return;i(Ve,!1)}}async function bo(e=r(ut)){if(!e)return;const t=++st;i(He,!1),i(bt,!0),i(ve,null);try{const n=await fetch(e,{cache:"no-store",headers:{accept:"application/json"}}),a=await or(n);if(!n.ok)throw new Error(ar(a,"Failed to load recording metadata"));if(t!==st||(await Gr(Pt(a)),t!==st))return;i(He,!0)}catch(n){if(t!==st)return;i(ve,n instanceof Error?n.message:String(n),!0),i($,Pt({}),!0),i(U,null),i(Ve,!1)}finally{if(t!==st)return;i(bt,!1),Ge()}}function lr(e=!0){const t=r(_t)??r(Ye);if(!t)return;const n=r(W);i(u,n,!0),i(g,Math.max(n+1e3,t.max),!0),i(oe,e,!0)}function xo(e,t){const n=r(Ye);if(!n)return{startMs:e,endMs:t};const a=t-e;if(a<=0)return{startMs:e,endMs:t};const o=Math.max(1e3,a*.25),s=n.min-o,l=n.max+o;return a>=l-s?{startMs:s,endMs:l}:(e<s&&(t+=s-e,e=s),t>l&&(e-=t-l,t=l),{startMs:e,endMs:t})}function cr(e,t){if(!Number.isFinite(e)||!Number.isFinite(t)||t<=e)return;const n=xo(e,t);i(u,n.startMs,!0),i(g,n.endMs,!0)}function Et(e,t=.5){if(r(u)==null||r(g)==null)return;const n=r(g)-r(u);if(!Number.isFinite(n)||n<=0)return;const a=r(Ye),o=a?a.max-a.min:n,s=Math.min(100,n),l=Math.max(o+Math.max(2e3,o*.1),5e3),c=O(n*e,s,l),d=O(t,0,1),M=r(u)+n*d-c*d;i(oe,!0),cr(M,M+c)}function go(e){let t=e.deltaY;return e.deltaMode===WheelEvent.DOM_DELTA_LINE?t*=16:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=window.innerHeight),O(t,-Pr,Pr)}function Zr(e){return Math.exp(go(e)*Nn)}function dr(e){if(r(he)<=0)return;e.preventDefault();const t=e.currentTarget.getBoundingClientRect(),n=O((e.clientX-t.left)/Math.max(1,t.width),0,1);Et(Zr(e),n)}function yo(e){if(r(Ue)<=0)return;e.preventDefault();const t=e.currentTarget.getBoundingClientRect(),n=O((e.clientX-t.left)/Math.max(1,t.width),0,1);Et(Zr(e),n)}function Jr(e){var d;xe==null||xe();const t=Math.max(0,e.activationDistancePx??0);let n=t===0;n&&((d=e.onStart)==null||d.call(e));const a=y=>{var X;if(n)return!0;const M=y.clientX-e.startEvent.clientX,T=y.clientY-e.startEvent.clientY;return Math.hypot(M,T)<t?!1:(n=!0,(X=e.onStart)==null||X.call(e),!0)},o=y=>{a(y)&&e.onMove(y)},s=y=>{var M,T;window.removeEventListener("pointermove",o),window.removeEventListener("pointerup",l),window.removeEventListener("pointercancel",c),xe=null,!n&&y&&((M=e.onClick)==null||M.call(e,y)),(T=e.onEnd)==null||T.call(e,{wasDrag:n,event:y})},l=y=>s(y),c=()=>s();window.addEventListener("pointermove",o),window.addEventListener("pointerup",l),window.addEventListener("pointercancel",c),xe=()=>s()}function Qr(e){if(e.button!==0||r(u)==null||r(g)==null||r(he)<=0)return;e.preventDefault(),i(oe,!0);const t=e.clientX,n=r(u),a=r(g)-r(u);Jr({startEvent:e,onMove:o=>{const l=(o.clientX-t)/r(he)*a;cr(n-l,n-l+a)}})}function en(e){i($,{...r($),alignmentOffsetMs:Math.round(e)},!0)}async function tn(){if(!(!r($).exists||!r(ut))){i(Ht,!0),i(me,null);try{const e=await fetch(r(ut),{method:"PATCH",headers:{accept:"application/json","content-type":"application/json"},body:JSON.stringify({alignmentOffsetMs:r($).alignmentOffsetMs})}),t=await or(e);if(!e.ok)throw new Error(ar(t,"Failed to save alignment offset"));i($,Pt(t),!0)}catch(e){i(me,e instanceof Error?e.message:String(e),!0)}finally{i(Ht,!1)}}}function wo(e){if(e.button!==0||!r($).exists||r(U)==null||r(u)==null||r(g)==null||r(Ue)<=0)return;e.preventDefault(),i(me,null);const t=e.currentTarget,n=e.clientX,a=r($).alignmentOffsetMs,o=r(g)-r(u);Jr({startEvent:e,activationDistancePx:6,onStart:()=>{i(oe,!0)},onMove:s=>{const c=(s.clientX-n)/r(Ue)*o;en(a+c)},onClick:s=>{co(s.clientX,t)},onEnd:({wasDrag:s})=>{s&&tn()}})}async function _o(){r($).exists&&(i(oe,!0),en(0),await tn())}async function To(e){var a;const t=e.currentTarget,n=(a=t.files)==null?void 0:a[0];if(t.value="",!(!n||!r(ut))){i(xt,!0),i(ve,null),i(me,null);try{const o=new URL(r(ut),window.location.origin);o.searchParams.set("filename",n.name);const s=await fetch(o,{method:"POST",headers:{accept:"application/json","content-type":n.type||"audio/wav"},body:n}),l=await or(s);if(!s.ok)throw new Error(ar(l,"Failed to upload recording"));i(oe,!1),await Gr(Pt(l)),lr(!1),i(He,!0),Ge()}catch(o){i(ve,o instanceof Error?o.message:String(o),!0)}finally{i(xt,!1)}}}var rn=Hs(),kt=vt(rn),ur=b(kt),fr=b(ur),pr=b(fr),vr=b(pr),Mo=p(b(vr));{var Lo=e=>{var t=hs(),n=p(vt(t),2),a=b(n,!0);v(n),L(()=>R(a,r(Xe))),h(e,t)};D(Mo,e=>{r(Xe)&&e(Lo)})}v(vr);var nn=p(vr,2),mr=b(nn),an=p(b(mr),2),Po=b(an,!0);v(an),v(mr);var hr=p(mr,2),on=p(b(hr),2),So=b(on,!0);v(on),v(hr);var br=p(hr,2),sn=p(b(br),2),Eo=b(sn,!0);v(sn),v(br);var ln=p(br,2);{var ko=e=>{var t=bs(),n=p(b(t),2),a=b(n,!0);v(n),v(t),L(o=>R(a,o),[()=>Ze(r(Qt)-r(W))]),h(e,t)};D(ln,e=>{r($).exists&&r(Qt)!=null&&e(ko)})}var $o=p(ln,2);{var Ao=e=>{var t=xs(),n=p(b(t),2),a=b(n);v(n),v(t),L((o,s)=>R(a,`${o??""} → ${s??""}`),[()=>Ze(r(u)-r(W)),()=>Ze(r(g)-r(W))]),h(e,t)};D($o,e=>{r(u)!=null&&r(g)!=null&&e(Ao)})}v(nn),v(pr);var cn=p(pr,2),xr=b(cn);Be(xr,e=>i(jt,e),()=>r(jt));var dn=p(xr,2);Ne(dn,{variant:"secondary",size:"small",get disabled(){return r(xt)},onclick:()=>{var e;return(e=r(jt))==null?void 0:e.click()},children:(e,t)=>{Ce();var n=Re();L(()=>R(n,r(xt)?"Uploading…":r($).exists?"Replace WAV":"Upload WAV")),h(e,n)},$$slots:{default:!0}});var un=p(dn,2);{let e=w(()=>!r($).exists);Ne(un,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:()=>void zr(),children:(t,n)=>{Ce();var a=Re();L(()=>R(a,r(le)?"Pause":"Play")),h(t,a)},$$slots:{default:!0}})}var fn=p(un,2);{let e=w(()=>r(Br)==null);Ne(fn,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:()=>Et(.8),children:(t,n)=>{Ce();var a=Re("Zoom in");h(t,a)},$$slots:{default:!0}})}var pn=p(fn,2);{let e=w(()=>r(Br)==null);Ne(pn,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:()=>Et(1.25),children:(t,n)=>{Ce();var a=Re("Zoom out");h(t,a)},$$slots:{default:!0}})}var vn=p(pn,2);{let e=w(()=>!(r(_t)??r(Ye)));Ne(vn,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:()=>lr(!0),children:(t,n)=>{Ce();var a=Re("Fit call");h(t,a)},$$slots:{default:!0}})}var mn=p(vn,2);{let e=w(()=>!r($).exists||r(Ht));Ne(mn,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:_o,children:(t,n)=>{Ce();var a=Re("Reset alignment");h(t,a)},$$slots:{default:!0}})}var Io=p(mn,2);{let e=w(()=>!r(j).length);Ne(Io,{variant:"secondary",size:"small",get disabled(){return r(e)},onclick:aa,children:(t,n)=>{Ce();var a=Re();L(()=>R(a,r(Ke)==="ok"?"Copied":r(Ke)==="error"?"Copy failed":"Copy latency stream")),h(t,a)},$$slots:{default:!0}})}v(cn),v(fr);var hn=p(fr,2);{var Ro=e=>{var t=gs(),n=b(t,!0);v(t),L(()=>R(n,r(We)?"Loading call latency…":"Loading recording…")),h(e,t)};D(hn,e=>{(r(We)||r(bt))&&e(Ro)})}var bn=p(hn,2);{var Co=e=>{var t=Nt(),n=b(t);v(t),L(()=>R(n,`Failed to load latency traces: ${r(Oe)??""}`)),h(e,t)};D(bn,e=>{r(Oe)&&e(Co)})}var xn=p(bn,2);{var Bo=e=>{var t=Nt(),n=b(t);v(t),L(()=>R(n,`Recording error: ${r(ve)??""}`)),h(e,t)};D(xn,e=>{r(ve)&&e(Bo)})}var gn=p(xn,2);{var No=e=>{var t=Nt(),n=b(t);v(t),L(()=>R(n,`Alignment error: ${r(me)??""}`)),h(e,t)};D(gn,e=>{r(me)&&e(No)})}var Fo=p(gn,2);{var Do=e=>{var t=Nt(),n=b(t);v(t),L(()=>R(n,`Playback error: ${r(ce)??""}`)),h(e,t)};D(Fo,e=>{r(ce)&&e(Do)})}v(ur);var $t=p(ur,2),yn=b($t),wn=b(yn),Wo=b(wn);{var Oo=e=>{var t=ys();h(e,t)},Ho=e=>{var t=ws();h(e,t)},Vo=e=>{var t=_s();h(e,t)},Uo=e=>{var t=Ds(),n=b(t),a=p(b(n),2);re(a,19,()=>r(ke),f=>f.label,(f,_,S)=>{var A=Ts(),H=b(A,!0);v(A),L(()=>{N(A,`height:${Me}px;margin-top:${r(S)===0?0:ae}px;`),R(H,r(_).label)}),h(f,A)});var o=p(a,2),s=p(o,2);{var l=f=>{var _=Ms();N(_,`height:${Dt}px;margin-top:${ae}px;`),h(f,_)};D(s,f=>{r(ft)&&f(l)})}v(n);var c=p(n,2),d=b(c),y=b(d);re(y,17,()=>r(Ar),f=>f.id,(f,_)=>{var S=Ls();L(A=>N(S,A),[()=>Na(r(_))]),h(f,S)});var M=p(y,2);re(M,17,()=>r(Gn),f=>f.id,(f,_)=>{var S=Ps();L(A=>N(S,A),[()=>Ga(r(_))]),h(f,S)});var T=p(M,2);{var X=f=>{var _=Ss();L(S=>N(_,S),[()=>Za(r(Cr))]),h(f,_)};D(T,f=>{r(Cr)&&f(X)})}var Z=p(T,2);{var I=f=>{var _=Es(),S=vt(_),A=p(S,2);L(()=>{N(S,`left:${r(ze).leftPercent}%;top:${r(ze).topPx}px;height:${r(ze).heightPx}px;`),N(A,`left:${r(ze).leftPercent}%;top:${r(ze).topPx-4}px;`)}),h(f,_)};D(Z,f=>{r(ze)&&f(I)})}v(d);var F=p(d,2);re(F,21,()=>r(Tt),f=>f.time,(f,_,S,A)=>{var H=ks(),we=vt(H),q=p(we,2),k=b(q,!0);v(q),L(V=>{N(we,`left:${r(_).leftPercent}%;`),et(q,1,V),N(q,`left:${r(_).leftPercent}%;`),R(k,r(_).label)},[()=>mt(Ja(r(_)))]),h(f,H)}),v(F),Be(F,f=>i(Vt,f),()=>r(Vt));var ye=p(F,2);re(ye,19,()=>r(ke),f=>f.label,(f,_,S)=>{var A=Is(),H=b(A);re(H,17,()=>r(Tt),q=>q.time,(q,k,V,_e)=>{var Qe=Pn();L(()=>N(Qe,`left:${r(k).leftPercent}%;`)),h(q,Qe)});var we=p(H,2);re(we,17,()=>r(_).segments,q=>q.id,(q,k)=>{const V=w(()=>Ka(r(k))),_e=w(()=>qa(r(k)));var Qe=ts(),Ct=vt(Qe);{var Go=gr=>{var Te=As(),Zo=b(Te);{var Jo=Ae=>{var yr=$s(),Qo=b(yr,!0);v(yr),L(()=>R(Qo,r(_e))),h(Ae,yr)};D(Zo,Ae=>{r(_e)&&Ae(Jo)})}v(Te),L(Ae=>{et(Te,1,Ae),N(Te,r(V))},[()=>mt(ja(r(k)))]),fe("pointerenter",Te,Ae=>Ya(r(k),Ae)),fe("pointerleave",Te,qr),Ie("pointerdown",Te,qr),h(gr,Te)};D(Ct,gr=>{r(V)&&gr(Go)})}h(q,Qe)}),v(A),L(()=>N(A,`height:${Me}px;margin-top:${r(S)===0?0:ae}px;`)),Ie("pointerdown",A,Qr),fe("wheel",A,dr),h(f,A)});var ee=p(ye,2);let At;var It=b(ee),Rt=p(It,2);re(Rt,17,()=>r(Tt),f=>f.time,(f,_,S,A)=>{var H=Rs();L(()=>N(H,`left:${r(_).leftPercent}%;`)),h(f,H)});var Xo=p(Rt,2);re(Xo,17,()=>r(Ar),f=>f.id,(f,_)=>{var S=Sn(),A=b(S,!0);v(S),L((H,we)=>{et(S,1,H),N(S,we),R(A,r(_).text)},[()=>mt(Fa(r(_))),()=>Ba(r(_))]),fe("pointerenter",S,H=>Vr(r(_),H)),fe("pointerleave",S,Mt),Ie("pointerdown",S,Mt),h(f,S)}),v(ee);var zo=p(ee,2);{var Yo=f=>{var _=Fs();N(_,`height:${Dt}px;margin-top:${ae}px;`);var S=b(_);{var A=k=>{var V=Cs();h(k,V)},H=k=>{var V=Bs(),_e=b(V);v(V),L(()=>R(_e,`Failed to decode waveform: ${r(Se)??""}`)),h(k,V)},we=k=>{var V=Ns();Be(V,_e=>i(qt,_e),()=>r(qt)),h(k,V)};D(S,k=>{r(Ve)?k(A):r(Se)?k(H,1):k(we,-1)})}var q=p(S,2);re(q,17,()=>r(Tt),k=>k.time,(k,V,_e,Qe)=>{var Ct=Pn();L(()=>N(Ct,`left:${r(V).leftPercent}%;`)),h(k,Ct)}),v(_),Be(_,k=>i(Ut,k),()=>r(Ut)),Ie("pointerdown",_,wo),fe("wheel",_,yo),h(f,_)};D(zo,f=>{r(ft)&&f(Yo)})}v(c),v(t),L(()=>{N(o,`height:${r(Zt)}px;margin-top:${r(wt)}px;`),At=et(ee,1,"relative z-0 overflow-hidden border-x border-t border-rc-gray-700/60",null,At,{"rounded-b":!r(ft),"border-b":!r(ft)}),N(ee,`height:${r(Ir)}px;margin-top:${r(wt)}px;`),N(It,`height:${r(Zt)}px;`)}),fe("wheel",F,dr),Ie("pointerdown",ee,Qr),fe("wheel",ee,dr),h(e,t)};D(Wo,e=>{r(We)?e(Oo):r(Ee).length?r(u)==null||r(g)==null?e(Vo,2):e(Uo,-1):e(Ho,1)})}v(wn),v(yn),v($t),Be($t,e=>i(se,e),()=>r(se)),v(kt);var _n=p(kt,2);{var qo=e=>{Be(Tn(e,{get referenceEl(){return r(rt)},placement:"top-start",offset:[0,10],children:n=>{var a=Ws();re(a,21,()=>r(Zn),ss,(o,s,l)=>{var c=Sn();et(c,1,mt(l===0?"font-semibold text-rc-gray-050":"mt-1 whitespace-pre-wrap break-words text-rc-gray-300"));var d=b(c,!0);v(c),L(()=>R(d,r(s))),h(o,c)}),v(a),h(n,a)},$$slots:{default:!0}}),n=>i(Xt,n,!0),()=>r(Xt))};D(_n,e=>{r(qe)&&r(rt)&&e(qo)})}var Ko=p(_n,2);{var jo=e=>{const t=w(()=>r(nt));Be(Tn(e,{get referenceEl(){return r(at)},placement:"top-start",offset:[0,-4],flip:!1,children:a=>{var o=Os(),s=b(o),l=b(s,!0);v(s),v(o),L(c=>{et(o,1,c),R(l,r(t).fullText)},[()=>mt(Da(r(t)))]),h(a,o)},$$slots:{default:!0}}),a=>i(zt,a,!0),()=>r(zt))};D(Ko,e=>{r(nt)&&r(at)&&e(jo)})}L(e=>{R(Po,r(Un)),R(So,r(Ee).length),R(Eo,e)},[()=>ra(r($).alignmentOffsetMs)]),Ie("click",kt,e=>e.stopPropagation()),Ie("change",xr,To),fe("scroll",$t,Qn),h(B,rn),as()}es(["click","change","pointerdown"]);export{oi as component};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{a as c,t as K,f as b,d as be,c as Xt,b as ie,e as Ke}from"../chunks/cxBf7mxj.js";import"../chunks/CXfw8fai.js";import{o as qe,a as Be}from"../chunks/B00B3Gwh.js";import{p as ce,d as He,j as t,y as d,c as h,f as ft,s as $,n as Pt,r as y,a as ue,w as Zt,o as Tt,t as W,k as ct,h as f,_ as et,a4 as D,bf as Bt,bg as Ve,e as Ye,$ as Ge,L as Qe,bh as fe}from"../chunks/Bd-a6hgR.js";import{s as Y}from"../chunks/Dd-8KgV2.js";import{p as tt,a as Xe,s as Ze}from"../chunks/Do-VHn0U.js";import{i as L}from"../chunks/BXh99ZNk.js";import{e as le,i as pe}from"../chunks/DdmShlNz.js";import{h as tr}from"../chunks/BDY0xZsU.js";import{b as er}from"../chunks/B43-lfXY.js";import{b as rr}from"../chunks/LEDvCGy2.js";import{i as Te}from"../chunks/Cr5XqyuF.js";import{s as ar}from"../chunks/Bm4FdRXc.js";import{g as ve,a as me,T as nr}from"../chunks/CH3XJDoO.js";import{i as se}from"../chunks/DgGeUDDh.js";import{b as or,f as sr}from"../chunks/T0seCQS_.js";import{B as _t}from"../chunks/DB-s6wHX.js";import{D as ir}from"../chunks/BIxSqfKT.js";import{I as lr,h as ge}from"../chunks/BmdpEiKy.js";import{M as ye}from"../chunks/Si6VyCMt.js";import{m as cr}from"../chunks/ddC1NP9R.js";import{C as ur,a as dr,b as fr,f as _e,c as he}from"../chunks/CWVkeRMt.js";import{s as jt}from"../chunks/W2LAs4ks.js";import{g as pr,c as xe}from"../chunks/Dfg-7N3Z.js";const vr=()=>{const rt=ar;return{page:{subscribe:rt.page.subscribe},navigating:{subscribe:rt.navigating.subscribe},updated:rt.updated}},mr={subscribe(rt){return vr().page.subscribe(rt)}};var gr=b("<!> <!>",1),yr=b('<div class="mt-1 overflow-hidden rounded-lg border border-rc-gray-110 bg-rc-gray-930 shadow-inner-white-soft backdrop-blur-2xl" role="listbox"><!> <!></div>'),_r=b("<div><!> <!></div>");function hr(rt,N){ce(N,!0);let w=tt(N,"disabled",3,!1),wt=tt(N,"dropdownId",3,"copy-traces-dropdown"),J=Zt(!1),ut=Zt(null),at=Zt(null),nt=Zt(null);He(()=>{w()&&t(J)&&d(J,!1)});async function ht(M){try{const z=M==="with-prompts"?N.getWithPromptsText():N.getWithoutPromptsText();await navigator.clipboard.writeText(z),d(at,M,!0),t(nt)&&clearTimeout(t(nt)),d(nt,window.setTimeout(()=>{d(at,null),d(nt,null)},2e3),!0)}catch(z){console.error("Failed to copy traces",z)}}var pt=_r(),p=h(pt);_t(p,{variant:"secondary",size:"small",get disabled(){return w()},get"aria-expanded"(){return t(J)},"aria-haspopup":"listbox",get"aria-controls"(){return wt()},onclick:M=>{M.stopPropagation(),d(J,!t(J))},class:"flex items-center gap-1",get el(){return t(ut)},set el(M){d(ut,M,!0)},children:(M,z)=>{var m=gr(),G=ft(m);{var k=A=>{var U=K("Copied traces (without prompts)");c(A,U)},B=A=>{var U=K("Copied traces (with prompts)");c(A,U)},ot=A=>{var U=K("Copy traces");c(A,U)};L(G,A=>{t(at)==="without-prompts"?A(k):t(at)==="with-prompts"?A(B,1):A(ot,-1)})}var H=$(G,2);{let A=Pt(()=>"size-5 text-rc-gray-400 transition-transform duration-200 "+(t(J)?"rotate-180":""));lr(H,{name:"chevron-down",get class(){return t(A)}})}c(M,m)},$$slots:{default:!0}});var xt=$(p,2);ir(xt,{get id(){return wt()},get open(){return t(J)},onClose:()=>d(J,!1),get anchorEl(){return t(ut)},placement:"bottom-end",offset:[0,1],children:z=>{var m=yr(),G=h(m);_t(G,{variant:"ghost",size:"small",role:"option",onclick:B=>{B.stopPropagation(),d(J,!1),ht("without-prompts")},class:"w-full rounded-none border-b border-rc-gray-110 py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(B,ot)=>{Tt();var H=K("Without prompts");c(B,H)},$$slots:{default:!0}});var k=$(G,2);_t(k,{variant:"ghost",size:"small",role:"option",onclick:B=>{B.stopPropagation(),d(J,!1),ht("with-prompts")},class:"w-full rounded-none py-2 pr-3 text-left backdrop-blur-2xl hover:bg-rc-gray-700 focus:bg-rc-gray-400",children:(B,ot)=>{Tt();var H=K("With prompts");c(B,H)},$$slots:{default:!0}}),y(m),c(z,m)},$$slots:{default:!0}}),y(pt),c(rt,pt),ue()}var xr=b("<div> </div>"),br=b('<div class="mt-1 whitespace-pre-wrap break-words text-xs italic text-rc-gray-200"> </div>'),Tr=b("<div><!> <!> <!></div>"),wr=b("<div><div><div> </div> <div><!> <!></div> <!></div></div>"),Sr=b('<div class="space-y-3"></div>'),$r=b('<div class="whitespace-pre-wrap break-words"><!></div>'),Lr=b('<button class="inline-flex text-sm text-rc-green-200 hover:text-rc-green-100"> </button>'),Cr=b('<div><span class="whitespace-pre-wrap break-words"><!></span> <!></div>');function Pr(rt,N){ce(N,!1);let w=tt(N,"value",8,""),wt=tt(N,"limit",8,200),J=tt(N,"maxLines",8,null),ut=tt(N,"className",8,""),at=tt(N,"collapsedLabel",8,"...more"),nt=tt(N,"initiallyExpanded",8,!1),ht=tt(N,"stopPropagation",8,!0),pt=tt(N,"expanded",28,nt),p=tt(N,"treatPlainText",8,!1),xt=tt(N,"highlightPrompt",8,!1);function M(s){return s.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function z(s){const l=m(s);let a=M(l);const u=[];return a=a.replace(/(\{+[\s\S]*?\}+)/g,_=>{const g=u.length;return u.push(_),`__CURLY${g}__`}),a=a.replace(/^(\s*#.*)$/gm,'<span class="prompt-heading">$1</span>'),a=a.replace(/(<[^&]*?>)/g,'<span class="mtk8">$1</span>'),a=a.replace(/^(\s*)(\d+)([.)])(\s+)/gm,(_,g,S,O,gt)=>`${g}<span class="mtk8">${S}${O}</span>${gt}`),u.forEach((_,g)=>{const S=`<span class="mtk5">${_}</span>`;a=a.replace(`__CURLY${g}__`,S)}),a=a.replace(/\n/g,"<br/>"),a}function m(s){let l=s.replace(/\r\n/g,`
|
|
2
|
+
`);return l=l.replace(/\\n/g,`
|
|
3
|
+
`),l}function G(s){try{if(Array.isArray(s)){const l=s.map(a=>(a==null?void 0:a.text)??(a==null?void 0:a.content)??JSON.stringify(a)).join(" ");return m(l)}if(typeof s=="string")try{const l=JSON.parse(s);if(Array.isArray(l)){const a=l.map(u=>(u==null?void 0:u.text)??(u==null?void 0:u.content)??JSON.stringify(u)).join(" ");return m(a)}return m(s)}catch{return m(s)}return m(JSON.stringify(s))}catch{return m(String(s??""))}}function k(s){try{if(Array.isArray(s)){const l=s.map(a=>(a==null?void 0:a.text)??(a==null?void 0:a.content)??JSON.stringify(a)).join(`
|
|
4
|
+
`);return m(l)}if(typeof s=="string")try{const l=JSON.parse(s);if(Array.isArray(l)){const a=l.map(u=>(u==null?void 0:u.text)??(u==null?void 0:u.content)??JSON.stringify(u)).join(`
|
|
5
|
+
`);return m(a)}return m(s)}catch{return m(s)}return m(JSON.stringify(s,null,2))}catch{return m(String(s??""))}}function B(s){const a=m(s).split(/\n+/).map(S=>S.trim()).filter(S=>S.length>0),u=[];let _,g="";for(const S of a){const O=S.match(/^(user|assistant|system|customer|caller|tool|model|agent)\s*[:\-]\s*(.*)$/i);O?(g&&u.push({text:g,role:_}),_=O[1].toLowerCase(),g=O[2]??""):g?g+=`
|
|
6
|
+
`+S:g=S}return g&&u.push({text:g,role:_}),u}function ot(s){try{let l=s;if(typeof s=="string")try{l=JSON.parse(s)}catch{return p()?B(s):[]}if(!Array.isArray(l))if(Array.isArray(l==null?void 0:l.messages))l=l.messages;else return[];return l.map(a=>{let u;return(a==null?void 0:a.text)!=null?u=String(a.text):(a==null?void 0:a.content)!=null?Array.isArray(a.content)?u=a.content.map(_=>{var g;return typeof _=="string"?_:typeof(_==null?void 0:_.text)=="string"?_.text:typeof((g=_==null?void 0:_.text)==null?void 0:g.value)=="string"?_.text.value:JSON.stringify(_)}).join(" "):typeof a.content=="string"?u=a.content:u=JSON.stringify(a.content):typeof a=="string"?u=a:u=JSON.stringify(a),{text:m(u),role:a==null?void 0:a.role,time:a==null?void 0:a.time,duration:a==null?void 0:a.duration}}).filter(a=>a.text&&String(a.text).trim().length>0)}catch{return[]}}const H=()=>G(w()),A=()=>k(w()),U=()=>H().split(`
|
|
7
|
+
`),vt=()=>ot(w()),Ft=()=>vt().length>0,Nt=()=>J()!=null?U().length>J():H().length>wt(),T=()=>{const s=H();return Nt()?J()!=null?U().slice(0,J()).join(`
|
|
8
|
+
`):s.slice(0,wt()):s};function zt(s){if(!s)return null;try{const l=new Date(s);return Number.isNaN(l.getTime())?s:l.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return s}}function kt(s){if(s==null||!Number.isFinite(s))return null;const l=Number(s),a=Math.floor(l),u=Math.floor(a/60),_=a%60,g=String(u).padStart(2,"0"),S=String(_).padStart(2,"0");return`${g}:${S}`}function St(s){if(!s)return"Assistant";const l=s.trim();return l?l.charAt(0).toUpperCase()+l.slice(1):"Assistant"}function Ut(s){const l=(s==null?void 0:s.toLowerCase())??"";return l==="user"||l==="customer"||l==="caller"}function Dt(s){const l=[];return{main:s.replace(/<([^>]+)>/g,(u,_)=>{const g=String(_).trim();return g&&l.push(g),""}).trim(),system:l}}function V(s){ht()&&s.stopPropagation(),pt(!pt())}function mt(s){ht()&&s.stopPropagation()}Te();var dt=Xt(),$t=ft(dt);{var Lt=s=>{var l=Xt(),a=ft(l);{var u=S=>{var O=Sr();le(O,5,()=>f(vt),pe,(gt,x)=>{const C=et(()=>(t(x),f(()=>Ut(t(x).role)))),j=et(()=>(t(x),f(()=>(t(x).role??"").toLowerCase()==="system"))),q=et(()=>(t(x),f(()=>Dt(t(x).text)))),st=et(()=>(t(x),f(()=>zt(t(x).time)))),At=et(()=>(t(x),f(()=>kt(t(x).duration))));var It=wr(),Wt=h(It),Et=h(Wt),te=h(Et,!0);y(Et);var Ot=$(Et,2),Vt=h(Ot);{var Yt=Q=>{var X=xr(),it=h(X,!0);y(X),W(()=>Y(it,(ct(t(q)),f(()=>t(q).main)))),c(Q,X)};L(Vt,Q=>{ct(t(q)),f(()=>t(q).main)&&Q(Yt)})}var ee=$(Vt,2);le(ee,1,()=>(ct(t(q)),f(()=>t(q).system)),pe,(Q,X)=>{var it=br(),bt=h(it);y(it),W(()=>Y(bt,`<${t(X)??""}>`)),c(Q,it)}),y(Ot);var Gt=$(Ot,2);{var re=Q=>{var X=Tr(),it=h(X);{var bt=Z=>{var yt=K();W(()=>Y(yt,t(st))),c(Z,yt)};L(it,Z=>{t(st)&&Z(bt)})}var Rt=$(it,2);{var Kt=Z=>{var yt=K("·");c(Z,yt)};L(Rt,Z=>{t(st)&&t(At)&&Z(Kt)})}var qt=$(Rt,2);{var ae=Z=>{var yt=K();W(()=>Y(yt,t(At))),c(Z,yt)};L(qt,Z=>{t(At)&&Z(ae)})}y(X),W(()=>jt(X,1,`mt-1 text-xs text-rc-gray-300 ${t(C)?"text-right":"text-left"}`)),c(Q,X)};L(Gt,Q=>{(t(st)||t(At))&&Q(re)})}y(Wt),y(It),W(Q=>{jt(It,1,`flex ${t(C)?"justify-end":"justify-start"}`),jt(Wt,1,`max-w-[70%] break-words rounded-md px-3 py-2 text-sm shadow-sm ${t(C)?"bg-rc-gray-600 text-rc-gray-100":"bg-rc-gray-700 text-rc-gray-100"}`),jt(Et,1,`my-1 text-xs font-semibold uppercase ${t(j)?"text-rc-blue "+(t(C)?"text-right":"text-left"):"text-rc-green-200 "+(t(C)?"text-right":"text-left")}`),Y(te,Q),jt(Ot,1,`whitespace-pre-wrap break-words py-1 text-sm ${t(C)?"text-justify":"text-left"} ${t(j)?"italic text-rc-gray-200":""}`)},[()=>(t(x),f(()=>St(t(x).role)))]),c(gt,It)}),y(O),c(S,O)},_=Pt(()=>f(Ft)),g=S=>{var O=$r(),gt=h(O);{var x=j=>{var q=Xt(),st=ft(q);ge(st,()=>f(()=>z(A()))),c(j,q)},C=j=>{var q=K();W(st=>Y(q,st),[()=>f(A)]),c(j,q)};L(gt,j=>{xt()?j(x):j(C,-1)})}y(O),c(S,O)};L(a,S=>{t(_)?S(u):S(g,-1)})}c(s,l)},Ht=s=>{var l=Cr(),a=h(l),u=h(a);{var _=x=>{var C=Xt(),j=ft(C);ge(j,()=>f(()=>z(T()))),c(x,C)},g=x=>{var C=K();W(j=>Y(C,j),[()=>f(T)]),c(x,C)};L(u,x=>{xt()?x(_):x(g,-1)})}y(a);var S=$(a,2);{var O=x=>{var C=Lr(),j=h(C,!0);y(C),W(()=>Y(j,at())),ie("click",C,V),c(x,C)},gt=Pt(()=>f(Nt));L(S,x=>{t(gt)&&x(O)})}y(l),W(()=>jt(l,1,`mt-1 cursor-text select-text rounded bg-rc-gray-900 p-2 text-sm text-rc-gray-200 ${ut()}`)),ie("click",l,mt),c(s,l)};L($t,s=>{pt()?s(Lt):s(Ht,-1)})}c(rt,dt),ue()}be(["click"]);var Nr=b('<span class="text-rc-gray-100">for conversation Id:</span> <span class="text-rc-green-200"> </span>',1),kr=b('<div class="flex flex-wrap items-center gap-2"><!> <!> <!></div>'),Ar=b('<div class="mt-2 text-sm text-rc-gray-400">Loading call details…</div>'),Ir=b('<div class="mt-2 text-sm text-rc-gray-300"> </div>'),Er=b('<div class="py-8 text-center text-rc-gray-300">No conversation selected</div>'),Or=b('<div class="py-8 text-center text-rc-gray-200">Loading traces...</div>'),Rr=b('<div class="z-50 py-8 text-center text-red-400"> </div>'),Jr=b('<div class="py-8 text-center text-rc-gray-300">No traces found</div>'),Mr=b('<div class="my-3 flex w-full justify-center"><div class="rounded-full border border-rc-gray-650 bg-rc-gray-900/40 px-3 py-1 text-xs text-rc-gray-200"> </div></div>'),jr=b('<div class="my-3 flex w-full justify-center"><div class="rounded-full border border-red-500 bg-red-950/30 px-3 py-1 text-xs font-semibold text-red-200"> </div></div>'),Fr=b("<!> <!> <!>",1),zr=b("<div></div>"),Ur=b('<audio class="w-full" controls=""></audio> <div class="mt-3 break-all text-sm text-rc-gray-300"> </div>',1),Dr=b("<!> <!>",1),Wr=b('<div class="rc-scroll flex max-h-[60vh] flex-col gap-4 overflow-scroll p-2"><!></div>'),Kr=b('<div class="flex w-full items-center justify-end gap-5"><!> <!></div>'),qr=b('<div class="flex h-full w-full flex-col bg-rc-gray-700"><div class="flex-none border-b border-rc-gray-300/40 p-4"><div class="flex flex-wrap items-start justify-between gap-3"><h2 class="text-lg font-semibold text-rc-gray-100">Traces <!></h2> <!></div> <!></div> <div class="rc-scroll min-h-0 flex-1 overflow-scroll p-4"><!></div></div> <!> <!>',1);function ga(rt,N){ce(N,!1);const w=()=>Xe(mr,"$page",wt),[wt,J]=Ze();let ut=tt(N,"useMock",8,!1);const at=pr(),nt=ve(w().url)??me()??"",ht=w().params.conversationId??"",pt=xe(ht,ut()?"__mock__":nt),p=at.traces.get(pt),xt=!!(p!=null&&p.tracesLoaded)&&!(p!=null&&p.hasMoreTraces),M=new nr(fetch);M.setSourceId(nt||void 0);let z=nt,m=D((p==null?void 0:p.traces)??[]),G=D((p==null?void 0:p.latencyTraces)??[]),k=D([]),B=D(new Map),ot=D(!1),H=xt,A=D((p==null?void 0:p.tracesError)??null),U=D(xt?ht:null),vt=D(xt?nt:null),Ft=(p==null?void 0:p.lastTraceId)??null,Nt=(p==null?void 0:p.hasMoreTraces)??!1,T=D((p==null?void 0:p.conversation)??null),zt=D(!1),kt=(p==null?void 0:p.conversationLoaded)??!1,St=D((p==null?void 0:p.conversationError)??null),Ut=D(""),Dt=D(null),V=D(null),mt=D(!1),dt=D(!1),$t=0,Lt=0;const Ht=new WeakMap;let s=0;function l(e,r=z){return xe(e,ut()?"__mock__":r)}function a(e=t(U),r=t(vt)??z){var i,v;if(!e)return;const o=l(e,r),n=at.traces.get(o);at.traces.set(o,{traces:t(m),latencyTraces:t(G),tracesLoaded:H,tracesError:t(A),lastTraceId:Ft,hasMoreTraces:Nt,conversation:t(T),conversationLoaded:kt,conversationError:t(St),scrollTop:(n==null?void 0:n.scrollTop)??((i=t(V))==null?void 0:i.scrollTop)??0,scrollLeft:(n==null?void 0:n.scrollLeft)??((v=t(V))==null?void 0:v.scrollLeft)??0})}async function u(e){e&&(await Qe(),t(V)&&(fe(V,t(V).scrollTop=e.scrollTop),fe(V,t(V).scrollLeft=e.scrollLeft)))}function _(){if(!t(U)||!t(V))return;const e=at.traces.get(l(t(U),t(vt)??z));if(!e){a();return}e.scrollTop=t(V).scrollTop,e.scrollLeft=t(V).scrollLeft}function g(e){if(typeof e!="string")return null;const r=e.trim();return r||null}function S(e){return`${Math.round(e)} ms`}function O(e){const r=g(e==null?void 0:e.traceId);if(r)return r;const o=Ht.get(e);if(o)return o;s+=1;const n=`synthetic-${e.traceType}-${e.createdAt}-${s}`;return Ht.set(e,n),n}function gt(e){const r=new Set;return e.filter(o=>{const n=g(o==null?void 0:o.traceId);return n?r.has(n)?!1:(r.add(n),!0):!0})}function x(e){return e?t(m):t(m).map(r=>{if(r.traceType!=="STEP")return r;const{receivedPrompt:o,renderedPrompt:n,...i}=r;return i})}function C(e){return e&&typeof e.renderedPrompt=="string"?e.renderedPrompt:null}function j(e,r){for(let o=r-1;o>=0;o--){const n=e[o];if(n.traceType!=="STEP")continue;const i=n;if(se(i.name)&&C(i))return i}for(let o=r-1;o>=0;o--){const n=e[o];if(n.traceType!=="STEP")continue;const i=n;if(i.name==="prewarm"&&C(i))return i}return null}function q(e){return!!(e!=null&&e.audioUrl&&String(e.audioUrl).trim())}function st(e){const r=e==null?void 0:e.transcript;return typeof r=="string"?r.trim()!=="":Array.isArray(r)?r.length>0:!1}function At(e){const r=e==null?void 0:e.transcript;return r?typeof r=="string"?r:Array.isArray(r)?r.map(o=>{const n=typeof(o==null?void 0:o.time)=="string"?o.time:"",i=typeof(o==null?void 0:o.role)=="string"?o.role:"",v=typeof(o==null?void 0:o.text)=="string"?o.text:"",P=[n,i].filter(Boolean).join(" • ");return P?`${P}
|
|
9
|
+
${v}`:v}).join(`
|
|
10
|
+
|
|
11
|
+
`):"":""}async function It(){try{await navigator.clipboard.writeText(At(t(T)))}catch(e){console.error("Failed to copy transcript",e)}}async function Wt(){var e;try{const r=(e=t(T))==null?void 0:e.audioUrl;if(!r)return;await navigator.clipboard.writeText(r)}catch(r){console.error("Failed to copy recording URL",r)}}function Et(e){return e.traceType!=="CONVERSATIONAL"?!1:e.eventName==="received-message"||e.eventName==="llm-handler-stream-requested"||e.eventName==="finished-main-streaming-step"||e.eventName==="sent-message"||e.eventName==="transfer-requested"||e.eventName==="hangup-requested"}function te(e,r){const o=new Map;for(const n of or(r)){if(!n.isHigh)continue;const i=sr(e,n);if(!i)continue;const v=O(i),P=o.get(v);(!P||n.durationMs>P.durationMs)&&o.set(v,{id:n.id,durationMs:n.durationMs})}return o}function Ot(e){return t(B).get(O(e))??null}const Vt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Yt(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const o=r.getFullYear(),n=String(r.getMonth()+1).padStart(2,"0"),i=String(r.getDate()).padStart(2,"0");return`${o}-${n}-${i}`}function ee(e){if(typeof e!="number"||!Number.isFinite(e))return null;const r=new Date(e);if(Number.isNaN(r.getTime()))return null;const o=r.getDate(),n=Vt[r.getMonth()],i=r.getFullYear();return`${o} ${n} ${i}`}async function Gt(e){const r=++Lt;d(zt,!0),kt=!1,d(St,null),d(T,null);try{if(ut())return;const o=await M.getConversation(e);if(r!==Lt)return;d(T,o),kt=!0}catch(o){if(r!==Lt)return;d(St,o.message),d(T,null)}finally{if(r!==Lt)return;d(zt,!1),a(e)}}async function re(e){const r=[];let o;const n=new Set;for(;;){const i=await M.getLatencyTraces(e,500,o);if(r.push(...i.items??[]),o=i.lastTraceId,!o)break;if(n.has(o))throw new Error("Telescope latency pagination repeated a cursor");n.add(o)}return r}async function Q(e){const r=[];let o;const n=new Set;for(;;){const i=await M.getTraces(e,100,o);r.push(...i.items??[]);const v=i.lastTraceId;if(!v)break;if(n.has(v))throw new Error("Telescope trace pagination repeated a cursor");n.add(v),o=v}return r}async function X(e,r=z){if(!e||e===t(U)&&r===t(vt))return;a();const o=++$t;z=r,M.setSourceId(r||void 0),d(U,e),d(vt,r),d(ot,!0),H=!1,d(A,null),Ft=null,Nt=!1,d(G,[]),d(mt,!1),d(dt,!1),Gt(e);try{let n=[],i=[];if(ut())n=(await cr.fetchTraces(e)).items??[];else{const[v,P]=await Promise.all([Q(e),re(e).catch(I=>(console.error("Failed to load latency traces for chat warnings:",I),[]))]);n=v,i=P}if(o!==$t)return;Ft=null,Nt=!1,d(G,i),d(m,gt(n).slice().sort((v,P)=>v.createdAt-P.createdAt)),H=!0}catch(n){if(o!==$t)return;d(A,n.message),d(m,[]),console.error("Failed to load traces:",n)}finally{if(o!==$t)return;d(ot,!1),a(e)}}qe(()=>{const e=w().params.conversationId;e&&(H?kt||Gt(e):X(e,z),u(p))}),Be(()=>{a(),$t+=1,Lt+=1}),Bt(()=>t(m),()=>{d(k,t(m).filter(e=>e.traceType==="API_CALL"||e.traceType==="STEP"||Et(e)))}),Bt(()=>(t(k),t(G)),()=>{d(B,te(t(k),t(G)))}),Bt(()=>(w(),t(T)),()=>{var e;d(Ut,g(w().url.searchParams.get("agent"))??g((e=t(T))==null?void 0:e.agentId)??"")}),Bt(()=>w(),()=>{d(Dt,g(w().url.searchParams.get("region")))}),Bt(()=>(w(),t(U),t(vt)),()=>{const e=w().params.conversationId,r=ve(w().url)??me()??"";e&&(e!==t(U)||r!==t(vt))&&X(e,r)}),Ve(),Te();var it=qr();tr("1uatba4",e=>{Ye(()=>{Ge.title="Bosun: Telescope"})});var bt=ft(it),Rt=h(bt),Kt=h(Rt),qt=h(Kt),ae=$(h(qt));{var Z=e=>{var r=Nr(),o=$(ft(r),2),n=h(o,!0);y(o),W(()=>Y(n,(w(),f(()=>w().params.conversationId)))),c(e,r)};L(ae,e=>{w(),f(()=>w().params.conversationId)&&e(Z)})}y(qt);var yt=$(qt,2);{var we=e=>{var r=kr(),o=h(r);{var n=E=>{_t(E,{variant:"secondary",size:"small",onclick:()=>d(mt,!0),children:(Jt,ne)=>{Tt();var Mt=K("Recording");c(Jt,Mt)},$$slots:{default:!0}})},i=Pt(()=>(t(T),f(()=>q(t(T)))));L(o,E=>{t(i)&&E(n)})}var v=$(o,2);{var P=E=>{_t(E,{variant:"secondary",size:"small",onclick:()=>d(dt,!0),children:(Jt,ne)=>{Tt();var Mt=K("Transcript");c(Jt,Mt)},$$slots:{default:!0}})},I=Pt(()=>(t(T),f(()=>st(t(T)))));L(v,E=>{t(I)&&E(P)})}var R=$(v,2);{let E=et(()=>(t(m),t(ot),f(()=>!t(m).length||t(ot))));hr(R,{get disabled(){return t(E)},getWithPromptsText:()=>JSON.stringify(x(!0),null,2),getWithoutPromptsText:()=>JSON.stringify(x(!1),null,2)})}y(r),c(e,r)};L(yt,e=>{w(),f(()=>w().params.conversationId)&&e(we)})}y(Kt);var Se=$(Kt,2);{var $e=e=>{var r=Ar();c(e,r)},Le=e=>{var r=Ir(),o=h(r);y(r),W(()=>Y(o,`Call details unavailable: ${t(St)??""}`)),c(e,r)};L(Se,e=>{t(zt)?e($e):t(St)&&e(Le,1)})}y(Rt);var Qt=$(Rt,2),Ce=h(Qt);{var Pe=e=>{var r=Er();c(e,r)},Ne=e=>{var r=Or();c(e,r)},ke=e=>{var r=Rr(),o=h(r);y(r),W(()=>Y(o,`Error: ${t(A)??""}`)),c(e,r)},Ae=e=>{var r=Jr();c(e,r)},Ie=e=>{var r=zr();le(r,7,()=>t(k),o=>O(o),(o,n,i)=>{const v=et(()=>(t(n),f(()=>Yt(t(n).createdAt)))),P=et(()=>(ct(t(i)),t(k),f(()=>t(i)>0?Yt(t(k)[t(i)-1].createdAt):null))),I=et(()=>(t(n),f(()=>ee(t(n).createdAt)))),R=et(()=>(t(n),f(()=>Ot(t(n)))));var E=Fr(),Jt=ft(E);{var ne=F=>{var lt=Mr(),Ct=h(lt),oe=h(Ct,!0);y(Ct),y(lt),W(()=>Y(oe,t(I))),c(F,lt)};L(Jt,F=>{t(v)&&t(I)&&t(v)!==t(P)&&F(ne)})}var Mt=$(Jt,2);{var je=F=>{ur(F,{get trace(){return t(n)}})},Fe=F=>{{let lt=et(()=>(ct(_e),t(k),ct(t(i)),f(()=>_e(t(k),t(i))))),Ct=et(()=>(ct(se),t(n),t(k),ct(t(i)),f(()=>se(t(n).name)?j(t(k),t(i)):null)));dr(F,{get trace(){return t(n)},get agentId(){return t(Ut)},get region(){return t(Dt)},get fallbackConversation(){return t(lt)},get compareTrace(){return t(Ct)},testCreationMode:"pii-sanitized"})}},ze=F=>{{let lt=et(()=>(ct(he),t(k),ct(t(i)),f(()=>he(t(k),t(i)))));fr(F,{get trace(){return t(n)},context:null,get agentId(){return t(Ut)},get region(){return t(Dt)},get testSourceStep(){return t(lt)},get testEntries(){return t(k)},requireTestSourceStep:!0,testCreationMode:"pii-sanitized"})}};L(Mt,F=>{t(n),f(()=>t(n).traceType==="API_CALL")?F(je):(t(n),f(()=>t(n).traceType==="STEP")?F(Fe,1):F(ze,-1))})}var Ue=$(Mt,2);{var De=F=>{var lt=jr(),Ct=h(lt),oe=h(Ct);y(Ct),y(lt),W(We=>Y(oe,`High response latency: ${We??""}`),[()=>(ct(t(R)),f(()=>S(t(R).durationMs)))]),c(F,lt)};L(Ue,F=>{t(R)&&F(De)})}c(o,E)}),y(r),c(e,r)};L(Ce,e=>{w(),f(()=>!w().params.conversationId)?e(Pe):t(ot)?e(Ne,1):t(A)?e(ke,2):(t(k),f(()=>!t(k).length)?e(Ae,3):e(Ie,-1))})}y(Qt),rr(Qt,e=>d(V,e),()=>t(V)),y(bt);var de=$(bt,2);{var Ee=e=>{ye(e,{title:"Recording",class:"!max-w-3xl",get open(){return t(mt)},set open(n){d(mt,n)},children:n=>{var i=Ur(),v=ft(i),P=$(v,2),I=h(P,!0);y(P),W(()=>{er(v,"src",(t(T),f(()=>{var R;return(R=t(T))==null?void 0:R.audioUrl}))),Y(I,(t(T),f(()=>{var R;return(R=t(T))==null?void 0:R.audioUrl})))}),c(n,i)},footer:n=>{var i=Dr(),v=ft(i);_t(v,{variant:"secondary",size:"small",onclick:Wt,children:(I,R)=>{Tt();var E=K("Copy URL");c(I,E)},$$slots:{default:!0}});var P=$(v,2);_t(P,{variant:"secondary",size:"small",onclick:()=>d(mt,!1),children:(I,R)=>{Tt();var E=K("Close");c(I,E)},$$slots:{default:!0}}),c(n,i)},$$slots:{default:!0,footer:!0},$$legacy:!0})},Oe=Pt(()=>(t(mt),t(T),f(()=>t(mt)&&q(t(T)))));L(de,e=>{t(Oe)&&e(Ee)})}var Re=$(de,2);{var Je=e=>{ye(e,{title:"Transcript",class:"!max-w-4xl",get open(){return t(dt)},set open(n){d(dt,n)},children:n=>{var i=Wr(),v=h(i);{var P=I=>{Pr(I,{get value(){return t(T),f(()=>t(T).transcript)},limit:500,expanded:!0})};L(v,I=>{t(T),f(()=>{var R;return typeof((R=t(T))==null?void 0:R.transcript)=="string"})&&I(P)})}y(i),c(n,i)},footer:n=>{var i=Kr(),v=h(i);_t(v,{onclick:It,children:(I,R)=>{Tt();var E=K("Copy transcript");c(I,E)},$$slots:{default:!0}});var P=$(v,2);_t(P,{variant:"secondary",onclick:()=>d(dt,!1),children:(I,R)=>{Tt();var E=K("Close");c(I,E)},$$slots:{default:!0}}),y(i),c(n,i)},$$slots:{default:!0,footer:!0},$$legacy:!0})},Me=Pt(()=>(t(dt),t(T),f(()=>t(dt)&&st(t(T)))));L(Re,e=>{t(Me)&&e(Je)})}ie("click",bt,e=>e.stopPropagation()),Ke("scroll",Qt,_),c(rt,it),ue(),J()}be(["click"]);export{ga as component};
|
|
Binary file
|
|
Binary file
|