@piwitests/server 0.24.0 → 0.25.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/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{DbmGeOus.js → 5nOoVJzL.js} +1 -1
- package/.output/public/_nuxt/6DSY_93j.js +1 -0
- package/.output/public/_nuxt/7vRR5W2L.js +1 -0
- package/.output/public/_nuxt/{DM3bDZC6.js → 9Dtlg-K4.js} +1 -1
- package/.output/public/_nuxt/9Yziijlb.js +1 -0
- package/.output/public/_nuxt/{BakMHV79.js → B-onBCAB.js} +1 -1
- package/.output/public/_nuxt/B2bK5uNR.js +1 -0
- package/.output/public/_nuxt/{BkM2KXUo.js → B63B19Iv.js} +2 -2
- package/.output/public/_nuxt/{BFxvHlO9.js → B77w1Eib.js} +1 -1
- package/.output/public/_nuxt/{Drw8yQg6.js → BC5bqlfM.js} +1 -1
- package/.output/public/_nuxt/{CJ1rmnk4.js → BF5JDf9_.js} +1 -1
- package/.output/public/_nuxt/BFVrl1ss.js +1 -0
- package/.output/public/_nuxt/{CjtjQV60.js → BIHMeNW-.js} +1 -1
- package/.output/public/_nuxt/BKqOGcst.js +1 -0
- package/.output/public/_nuxt/{Bme1UkOl.js → BLqooxh5.js} +1 -1
- package/.output/public/_nuxt/{D0Kop4bS.js → BMfTUMYy.js} +1 -1
- package/.output/public/_nuxt/{V9p3z39z.js → BOrnSpTA.js} +1 -1
- package/.output/public/_nuxt/{DEvYVl9M.js → BPQNVV4M.js} +1 -1
- package/.output/public/_nuxt/{DuOH5jcQ.js → BSKLNgre.js} +1 -1
- package/.output/public/_nuxt/BTCWUyBX.js +1 -0
- package/.output/public/_nuxt/BUYmGTVP.js +1 -0
- package/.output/public/_nuxt/{CgkXEZMo.js → BWddBCom.js} +1 -1
- package/.output/public/_nuxt/{B33YjaHr.js → BYQ9lXQb.js} +1 -1
- package/.output/public/_nuxt/BYWQ47QQ.js +5 -0
- package/.output/public/_nuxt/{BvAfKk6C.js → BYnqoVCE.js} +1 -1
- package/.output/public/_nuxt/{-COcylA_.js → BaU2hm4B.js} +1 -1
- package/.output/public/_nuxt/{6Z_ZwH8I.js → BbXvpkBp.js} +1 -1
- package/.output/public/_nuxt/Bb_925DD.js +1 -0
- package/.output/public/_nuxt/BcHU1KNK.js +1 -0
- package/.output/public/_nuxt/BdUGUwvE.js +1 -0
- package/.output/public/_nuxt/{DPZBpFOX.js → BeQq85yJ.js} +2 -2
- package/.output/public/_nuxt/Bg8yOdSf.js +1 -0
- package/.output/public/_nuxt/BhzfJaPC.js +1 -0
- package/.output/public/_nuxt/{D1vqYZsL.js → Bkb-0yS0.js} +4 -4
- package/.output/public/_nuxt/BmweLu9g.js +2 -0
- package/.output/public/_nuxt/Boyv6hLW.js +1 -0
- package/.output/public/_nuxt/{BtSGUY-7.js → Bq4xEWLF.js} +4 -4
- package/.output/public/_nuxt/{CMuzkARi.js → BraJd4EA.js} +1 -1
- package/.output/public/_nuxt/BvXrhZ8k.js +1 -0
- package/.output/public/_nuxt/{B8H4XydJ.js → Bw4oIhct.js} +1 -1
- package/.output/public/_nuxt/BxSrScjV.js +1 -0
- package/.output/public/_nuxt/Byqt8JHG.js +1 -0
- package/.output/public/_nuxt/{C5TrTuWv.js → BzBaMPgu.js} +3 -3
- package/.output/public/_nuxt/{BKrWWV14.js → C1-8_6cB.js} +1 -1
- package/.output/public/_nuxt/{CjBktNrC.js → C7SG50jD.js} +1 -1
- package/.output/public/_nuxt/{BkxRbXIj.js → C8WgBDU1.js} +1 -1
- package/.output/public/_nuxt/C8uZoJVq.js +1 -0
- package/.output/public/_nuxt/{Bg93Rnts.js → CBQXv4bU.js} +2 -2
- package/.output/public/_nuxt/CDEmotIt.js +1 -0
- package/.output/public/_nuxt/CIBOv3Ge.js +2 -0
- package/.output/public/_nuxt/CO7j4p5r.js +1 -0
- package/.output/public/_nuxt/COMhp7lz.js +1 -0
- package/.output/public/_nuxt/{CsV7pmcT.js → CPiLUjjx.js} +1 -1
- package/.output/public/_nuxt/{D_y2VS8k.js → CTYlay1H.js} +1 -1
- package/.output/public/_nuxt/{VACXezo0.js → CVEk4D8I.js} +1 -1
- package/.output/public/_nuxt/{P5uOaRUZ.js → CbuK1HIv.js} +1 -1
- package/.output/public/_nuxt/{opyDpgSw.js → CdLqOMvN.js} +1 -1
- package/.output/public/_nuxt/CdM2qNYM.js +2 -0
- package/.output/public/_nuxt/Ch8sGLqE.js +1 -0
- package/.output/public/_nuxt/CkdznmkX.js +1 -0
- package/.output/public/_nuxt/{B1LUinhp.js → Cmuwgbf4.js} +1 -1
- package/.output/public/_nuxt/{Ce5_Tq63.js → CnRNwiuE.js} +1 -1
- package/.output/public/_nuxt/{Bp3FRuEm.js → CnsaoeEq.js} +1 -1
- package/.output/public/_nuxt/{BUnwEAjq.js → Cp0V2FeW.js} +1 -1
- package/.output/public/_nuxt/Cvw4EFTy.js +17 -0
- package/.output/public/_nuxt/CwDej2Lz.js +1 -0
- package/.output/public/_nuxt/D-wlhH6J.js +1 -0
- package/.output/public/_nuxt/D5Mhpp98.js +1 -0
- package/.output/public/_nuxt/{CDTeSrLO.js → D8ixf-ZR.js} +5 -5
- package/.output/public/_nuxt/{DMWfVJCj.js → DBvdRbTA.js} +2 -2
- package/.output/public/_nuxt/DDho3MJD.js +1 -0
- package/.output/public/_nuxt/DEGHW4pO.js +1 -0
- package/.output/public/_nuxt/{BoNKdx5o.js → DHSYRMJp.js} +1 -1
- package/.output/public/_nuxt/DH_LEqhd.js +2 -0
- package/.output/public/_nuxt/{BVLqydCr.js → DIqik40e.js} +1 -1
- package/.output/public/_nuxt/DLwuL-qR.js +1 -0
- package/.output/public/_nuxt/{CIpF9l75.js → DPDFGVb_.js} +2 -2
- package/.output/public/_nuxt/DRNHuVn4.js +2 -0
- package/.output/public/_nuxt/{DcR0Mmdl.js → DUtYU4Sb.js} +1 -1
- package/.output/public/_nuxt/{opwuUqHG.js → DWl73MJR.js} +1 -1
- package/.output/public/_nuxt/{BCGljaM0.js → DWz_bHNP.js} +1 -1
- package/.output/public/_nuxt/{DGq4A2Pd.js → D_SCB-z2.js} +1 -1
- package/.output/public/_nuxt/{DMAiMrNr.js → D_j436ND.js} +1 -1
- package/.output/public/_nuxt/DamzjN7l.js +1 -0
- package/.output/public/_nuxt/Db5xe__T.js +1 -0
- package/.output/public/_nuxt/{CpcrljrH.js → DcUBmKKE.js} +1 -1
- package/.output/public/_nuxt/DiP18sFE.js +1 -0
- package/.output/public/_nuxt/Die1200X.js +1 -0
- package/.output/public/_nuxt/{BN1zZw5b.js → DihSeDlY.js} +4 -4
- package/.output/public/_nuxt/{DzZpIs4W.js → DkGXOZRW.js} +1 -1
- package/.output/public/_nuxt/{C7fq_rHE.js → DnOtRv65.js} +1 -1
- package/.output/public/_nuxt/DnV-BkUA.js +1 -0
- package/.output/public/_nuxt/DpeRrg68.js +1 -0
- package/.output/public/_nuxt/Dq6_-84R.js +1 -0
- package/.output/public/_nuxt/DqKFKS1b.js +1 -0
- package/.output/public/_nuxt/DrbO0dl5.js +6 -0
- package/.output/public/_nuxt/{Qo6oszaF.js → Ds8_6Fzl.js} +1 -1
- package/.output/public/_nuxt/{BtbpLWDs.js → DvewDI9t.js} +1 -1
- package/.output/public/_nuxt/E26Y1NWH.js +1 -0
- package/.output/public/_nuxt/Hp-_W7z4.js +1 -0
- package/.output/public/_nuxt/OanUGF_v.js +1 -0
- package/.output/public/_nuxt/{CX_G-FHC.js → RSS6R9Te.js} +13 -13
- package/.output/public/_nuxt/{BmzxRbcg.js → VqLetC2g.js} +1 -1
- package/.output/public/_nuxt/WCZdf9Ln.js +1 -0
- package/.output/public/_nuxt/{DF6Mes5z.js → Yl6iqHwK.js} +4 -4
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/03f2d81b-8c58-4ea8-9a9d-7553c8ca4af6.json +1 -0
- package/.output/public/_nuxt/{entry.DzPSf_u5.css → entry.DVKh2Fd6.css} +1 -1
- package/.output/public/_nuxt/iUf7K_JR.js +1 -0
- package/.output/public/_nuxt/{C8Paf_V1.js → kDEwM7SQ.js} +1 -1
- package/.output/public/_nuxt/{Bd8B-yeR.js → knaDbxMJ.js} +1 -1
- package/.output/public/_nuxt/lnpLc047.js +1 -0
- package/.output/public/_nuxt/{CD8ZzAFC.js → mhvG7mu8.js} +1 -1
- package/.output/public/_nuxt/{BgABj4Ty.js → qUaN2ZW8.js} +4 -4
- package/.output/public/_nuxt/qeqzb80l.js +1 -0
- package/.output/public/_nuxt/{Fsw2W4TA.js → uj92NYTx.js} +2 -2
- package/.output/public/_nuxt/vOZZ2cLi.js +1 -0
- package/.output/public/_nuxt/{CGHV0Y2d.js → zAFiz2Mg.js} +1 -1
- package/.output/public/demo/seed.version.json +2 -2
- package/.output/server/chunks/build/{Alert-He-UxEt6.mjs → Alert-BhTWQzM5.mjs} +2 -2
- package/.output/server/chunks/build/Alert-BhTWQzM5.mjs.map +1 -0
- package/.output/server/chunks/build/{Breadcrumb-DEP2dVCZ.mjs → Breadcrumb-BJnPB2AW.mjs} +3 -3
- package/.output/server/chunks/build/Breadcrumb-BJnPB2AW.mjs.map +1 -0
- package/.output/server/chunks/build/{BreadcrumbNav-y6nMDYcR.mjs → BreadcrumbNav-C6Cun6tF.mjs} +3 -3
- package/.output/server/chunks/build/BreadcrumbNav-C6Cun6tF.mjs.map +1 -0
- package/.output/server/chunks/build/{BrowserBadge-DIASU8Gf.mjs → BrowserBadge-T1KRMIXA.mjs} +4 -4
- package/.output/server/chunks/build/BrowserBadge-T1KRMIXA.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartCard-ZTsCvItQ.mjs → ChartCard-D_asI_WF.mjs} +2 -2
- package/.output/server/chunks/build/ChartCard-D_asI_WF.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartMarkerTooltip-u_1DUHh-.mjs → ChartMarkerTooltip-DscESDg7.mjs} +3 -3
- package/.output/server/chunks/build/ChartMarkerTooltip-DscESDg7.mjs.map +1 -0
- package/.output/server/chunks/build/{Checkbox-BisdHf8n.mjs → Checkbox-Y9ZiIRkJ.mjs} +6 -6
- package/.output/server/chunks/build/Checkbox-Y9ZiIRkJ.mjs.map +1 -0
- package/.output/server/chunks/build/{CodeBlock-B8BNtZAe.mjs → CodeBlock-Bnn_ps9O.mjs} +4 -4
- package/.output/server/chunks/build/CodeBlock-Bnn_ps9O.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardNavbar-D7-3zBUU.mjs → DashboardNavbar-D37dPEtR.mjs} +3 -3
- package/.output/server/chunks/build/DashboardNavbar-D37dPEtR.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardSidebarToggle-C3HdHvlE.mjs → DashboardSidebarToggle-DzwsZHVx.mjs} +2 -2
- package/.output/server/chunks/build/DashboardSidebarToggle-DzwsZHVx.mjs.map +1 -0
- package/.output/server/chunks/build/{DataLocationCard-CC2-lHiP.mjs → DataLocationCard-CUXgZQEs.mjs} +4 -4
- package/.output/server/chunks/build/DataLocationCard-CUXgZQEs.mjs.map +1 -0
- package/.output/server/chunks/build/{DesktopRunLocallyButton-iNzrDsEs.mjs → DesktopRunLocallyButton-BCmQklj6.mjs} +15 -76
- package/.output/server/chunks/build/DesktopRunLocallyButton-BCmQklj6.mjs.map +1 -0
- package/.output/server/chunks/build/{DiagnosisPanel-BVb2LgHu.mjs → DiagnosisPanel-haHS2azn.mjs} +7 -7
- package/.output/server/chunks/build/DiagnosisPanel-haHS2azn.mjs.map +1 -0
- package/.output/server/chunks/build/{DiagnosisResult-xVgZlfKK.mjs → DiagnosisResult-DqTIOelM.mjs} +10 -10
- package/.output/server/chunks/build/DiagnosisResult-DqTIOelM.mjs.map +1 -0
- package/.output/server/chunks/build/{DurationValue-UX9uajQJ.mjs → DurationValue-D6fQEi5S.mjs} +2 -2
- package/.output/server/chunks/build/DurationValue-D6fQEi5S.mjs.map +1 -0
- package/.output/server/chunks/build/{EmptyState-DC2q_7TD.mjs → EmptyState-C-mCzGhO.mjs} +2 -2
- package/.output/server/chunks/build/EmptyState-C-mCzGhO.mjs.map +1 -0
- package/.output/server/chunks/build/{EntityLinks-Dzn73fbq.mjs → EntityLinks-CRJQM9Vy.mjs} +3 -3
- package/.output/server/chunks/build/EntityLinks-CRJQM9Vy.mjs.map +1 -0
- package/.output/server/chunks/build/{EnvManagedBadge-C-agmABK.mjs → EnvManagedBadge-hyelwXrw.mjs} +4 -4
- package/.output/server/chunks/build/EnvManagedBadge-hyelwXrw.mjs.map +1 -0
- package/.output/server/chunks/build/{ErrorState-CktYyeEZ.mjs → ErrorState-9UPssp7w.mjs} +2 -2
- package/.output/server/chunks/build/ErrorState-9UPssp7w.mjs.map +1 -0
- package/.output/server/chunks/build/{FeatureUnavailable-DHFkwI7t.mjs → FeatureUnavailable-CDw3__eq.mjs} +3 -3
- package/.output/server/chunks/build/FeatureUnavailable-CDw3__eq.mjs.map +1 -0
- package/.output/server/chunks/build/{FormField-GYHKiSI6.mjs → FormField-8vSc-3mb.mjs} +2 -2
- package/.output/server/chunks/build/FormField-8vSc-3mb.mjs.map +1 -0
- package/.output/server/chunks/build/{GetStartedWizard-BpcGYsm2.mjs → GetStartedWizard-Dp_tjhry.mjs} +4 -4
- package/.output/server/chunks/build/GetStartedWizard-Dp_tjhry.mjs.map +1 -0
- package/.output/server/chunks/build/{HelpHint-plioHKA0.mjs → HelpHint-Bfyo3ar6.mjs} +4 -4
- package/.output/server/chunks/build/HelpHint-Bfyo3ar6.mjs.map +1 -0
- package/.output/server/chunks/build/{LoadingState-CwpfmI0W.mjs → LoadingState-CxfFwac9.mjs} +2 -2
- package/.output/server/chunks/build/LoadingState-CxfFwac9.mjs.map +1 -0
- package/.output/server/chunks/build/{MarkerBadge-Biz5--h2.mjs → MarkerBadge-DmubzeuF.mjs} +2 -2
- package/.output/server/chunks/build/MarkerBadge-DmubzeuF.mjs.map +1 -0
- package/.output/server/chunks/build/{MetaStripGroup-A0a72vt5.mjs → MetaStripGroup-C-cNBfC9.mjs} +6 -6
- package/.output/server/chunks/build/MetaStripGroup-C-cNBfC9.mjs.map +1 -0
- package/.output/server/chunks/build/{Modal-hKLvVFNp.mjs → Modal-DcNzjvnm.mjs} +2 -2
- package/.output/server/chunks/build/Modal-DcNzjvnm.mjs.map +1 -0
- package/.output/server/chunks/build/{NavbarActions-_YjrSUat.mjs → NavbarActions-VCHW0u67.mjs} +2 -2
- package/.output/server/chunks/build/NavbarActions-VCHW0u67.mjs.map +1 -0
- package/.output/server/chunks/build/{NavigationMenu-RfBOyS32.mjs → NavigationMenu-DG6V0R9Y.mjs} +4 -4
- package/.output/server/chunks/build/NavigationMenu-DG6V0R9Y.mjs.map +1 -0
- package/.output/server/chunks/build/{OpenInIdeLink-Jp6SzEtD.mjs → OpenInIdeLink-CLj2cTkc.mjs} +5 -5
- package/.output/server/chunks/build/{OpenInIdeLink-Jp6SzEtD.mjs.map → OpenInIdeLink-CLj2cTkc.mjs.map} +1 -1
- package/.output/server/chunks/build/{ProjectTestCasesTable-DxOTfhi4.mjs → ProjectTestCasesTable-BNd5Fn_G.mjs} +15 -15
- package/.output/server/chunks/build/{ProjectTestCasesTable-DxOTfhi4.mjs.map → ProjectTestCasesTable-BNd5Fn_G.mjs.map} +1 -1
- package/.output/server/chunks/build/{RovingFocusItem-BOSx1Z9Z.mjs → RovingFocusItem-DkZadRuK.mjs} +2 -2
- package/.output/server/chunks/build/RovingFocusItem-DkZadRuK.mjs.map +1 -0
- package/.output/server/chunks/build/{RunReports-nuLb-Nm3.mjs → RunReports-CnyGcU8K.mjs} +3 -3
- package/.output/server/chunks/build/RunReports-CnyGcU8K.mjs.map +1 -0
- package/.output/server/chunks/build/{RunStatusBadge-CvWmcFYM.mjs → RunStatusBadge-DTqX18X-.mjs} +3 -3
- package/.output/server/chunks/build/RunStatusBadge-DTqX18X-.mjs.map +1 -0
- package/.output/server/chunks/build/{SectionCard-DHAFvJxm.mjs → SectionCard-taTpPtua.mjs} +3 -3
- package/.output/server/chunks/build/SectionCard-taTpPtua.mjs.map +1 -0
- package/.output/server/chunks/build/{Select-CEyw7HGK.mjs → Select-BChKOOsc.mjs} +3 -3
- package/.output/server/chunks/build/Select-BChKOOsc.mjs.map +1 -0
- package/.output/server/chunks/build/{SelectMenu-C02Hs2_F.mjs → SelectMenu-DLkMyBsW.mjs} +4 -4
- package/.output/server/chunks/build/{SelectMenu-C02Hs2_F.mjs.map → SelectMenu-DLkMyBsW.mjs.map} +1 -1
- package/.output/server/chunks/build/{Separator-lrN70ODV.mjs → Separator-Dn-4PN3P.mjs} +2 -2
- package/.output/server/chunks/build/Separator-Dn-4PN3P.mjs.map +1 -0
- package/.output/server/chunks/build/{SettingsField-tRmytcEJ.mjs → SettingsField-BLO1C7uY.mjs} +6 -6
- package/.output/server/chunks/build/SettingsField-BLO1C7uY.mjs.map +1 -0
- package/.output/server/chunks/build/{Slideover-D6cRIqch.mjs → Slideover-BiDJaQrt.mjs} +3 -3
- package/.output/server/chunks/build/Slideover-BiDJaQrt.mjs.map +1 -0
- package/.output/server/chunks/build/{Switch-R2n82ncQ.mjs → Switch-Ca3fYrSH.mjs} +4 -4
- package/.output/server/chunks/build/Switch-Ca3fYrSH.mjs.map +1 -0
- package/.output/server/chunks/build/{Table-qZdnm9t2.mjs → Table-DQb34a0A.mjs} +2 -2
- package/.output/server/chunks/build/Table-DQb34a0A.mjs.map +1 -0
- package/.output/server/chunks/build/{Tabs-BDP7MWl4.mjs → Tabs-_ALhm_oG.mjs} +3 -3
- package/.output/server/chunks/build/Tabs-_ALhm_oG.mjs.map +1 -0
- package/.output/server/chunks/build/{TestCaseHistoryChart-CKDXQ2GI.mjs → TestCaseHistoryChart-D-TEUsZ8.mjs} +3 -3
- package/.output/server/chunks/build/TestCaseHistoryChart-D-TEUsZ8.mjs.map +1 -0
- package/.output/server/chunks/build/{TestMetaBadges-BlyKmfeP.mjs → TestMetaBadges-G2dAHnT-.mjs} +2 -2
- package/.output/server/chunks/build/TestMetaBadges-G2dAHnT-.mjs.map +1 -0
- package/.output/server/chunks/build/{TestStatusBar-CvsmKJ4D.mjs → TestStatusBar-CseETAdn.mjs} +2 -2
- package/.output/server/chunks/build/TestStatusBar-CseETAdn.mjs.map +1 -0
- package/.output/server/chunks/build/{Textarea-DpmpM-lN.mjs → Textarea-CXOoRq7y.mjs} +2 -2
- package/.output/server/chunks/build/Textarea-CXOoRq7y.mjs.map +1 -0
- package/.output/server/chunks/build/{Tooltip-BI3WQErw.mjs → Tooltip-trltUr5c.mjs} +2 -2
- package/.output/server/chunks/build/Tooltip-trltUr5c.mjs.map +1 -0
- package/.output/server/chunks/build/{VisuallyHiddenInput-D4E5aJCQ.mjs → VisuallyHiddenInput-CGURvg3N.mjs} +2 -2
- package/.output/server/chunks/build/VisuallyHiddenInput-CGURvg3N.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-w7YCSiiy.mjs → _id_-B-G4eG5U.mjs} +40 -40
- package/.output/server/chunks/build/{_id_-w7YCSiiy.mjs.map → _id_-B-G4eG5U.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-T965GKYC.mjs → _id_-Cnzg8n21.mjs} +41 -38
- package/.output/server/chunks/build/_id_-Cnzg8n21.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-wiULjAVc.mjs → _id_-Dp_d6gT7.mjs} +62 -54
- package/.output/server/chunks/build/{_id_-wiULjAVc.mjs.map → _id_-Dp_d6gT7.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-26komi8G.mjs → _id_-t2AWaYuK.mjs} +46 -46
- package/.output/server/chunks/build/{_id_-26komi8G.mjs.map → _id_-t2AWaYuK.mjs.map} +1 -1
- package/.output/server/chunks/build/{about-B3V_OEiu.mjs → about-BFsHkJwE.mjs} +8 -8
- package/.output/server/chunks/build/about-BFsHkJwE.mjs.map +1 -0
- package/.output/server/chunks/build/{account-DpBdYE46.mjs → account-CZAq8kVg.mjs} +8 -8
- package/.output/server/chunks/build/account-CZAq8kVg.mjs.map +1 -0
- package/.output/server/chunks/build/{ai-DYhpzbqp.mjs → ai-BGP3GcCR.mjs} +20 -20
- package/.output/server/chunks/build/{ai-DYhpzbqp.mjs.map → ai-BGP3GcCR.mjs.map} +1 -1
- package/.output/server/chunks/build/{analytics-CZJEU0an.mjs → analytics-CXl5OWV-.mjs} +25 -25
- package/.output/server/chunks/build/{analytics-CZJEU0an.mjs.map → analytics-CXl5OWV-.mjs.map} +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/{default-CQa_bmAf.mjs → default-4ixAePum.mjs} +208 -76
- package/.output/server/chunks/build/default-4ixAePum.mjs.map +1 -0
- package/.output/server/chunks/build/{docs-C8bndVXg.mjs → docs-Cgsd01H9.mjs} +16 -16
- package/.output/server/chunks/build/{docs-C8bndVXg.mjs.map → docs-Cgsd01H9.mjs.map} +1 -1
- package/.output/server/chunks/build/{edit-BdfF9er2.mjs → edit-BEQ-ozj9.mjs} +436 -40
- package/.output/server/chunks/build/edit-BEQ-ozj9.mjs.map +1 -0
- package/.output/server/chunks/build/{fetch-tkz5_OA-.mjs → fetch-B5TVXZ1s.mjs} +2 -2
- package/.output/server/chunks/build/fetch-B5TVXZ1s.mjs.map +1 -0
- package/.output/server/chunks/build/{forgot-password-swZRcvXE.mjs → forgot-password-mqE1mpDI.mjs} +4 -4
- package/.output/server/chunks/build/forgot-password-mqE1mpDI.mjs.map +1 -0
- package/.output/server/chunks/build/{help-content-C876a9WD.mjs → help-content-Bc99BajS.mjs} +6 -1
- package/.output/server/chunks/build/help-content-Bc99BajS.mjs.map +1 -0
- package/.output/server/chunks/build/{import-B27Sv7h5.mjs → import-DqDDTcSc.mjs} +14 -14
- package/.output/server/chunks/build/import-DqDDTcSc.mjs.map +1 -0
- package/.output/server/chunks/build/{index-ID913tUa.mjs → index-Bpdj6TXV.mjs} +5 -5
- package/.output/server/chunks/build/index-Bpdj6TXV.mjs.map +1 -0
- package/.output/server/chunks/build/{index-Dq6nk6OB.mjs → index-DBFsIsjA.mjs} +180 -188
- package/.output/server/chunks/build/{index-Dq6nk6OB.mjs.map → index-DBFsIsjA.mjs.map} +1 -1
- package/.output/server/chunks/build/{index-C7m32bRI.mjs → index-DSufXCZq.mjs} +22 -18
- package/.output/server/chunks/build/index-DSufXCZq.mjs.map +1 -0
- package/.output/server/chunks/build/{index-BdZmxLtC.mjs → index-WXE60AXk.mjs} +24 -24
- package/.output/server/chunks/build/{index-BdZmxLtC.mjs.map → index-WXE60AXk.mjs.map} +1 -1
- package/.output/server/chunks/build/{index-ByWTzqF6.mjs → index-okKjrRhL.mjs} +15 -4
- package/.output/server/chunks/build/index-okKjrRhL.mjs.map +1 -0
- package/.output/server/chunks/build/{isValueEqualOrExist-D4lZ8uRY.mjs → isValueEqualOrExist-C-9DzL4K.mjs} +2 -2
- package/.output/server/chunks/build/isValueEqualOrExist-C-9DzL4K.mjs.map +1 -0
- package/.output/server/chunks/build/{login-hxCF06JT.mjs → login-eQ88UoBW.mjs} +6 -6
- package/.output/server/chunks/build/login-eQ88UoBW.mjs.map +1 -0
- package/.output/server/chunks/build/{mcp-BVW1llyW.mjs → mcp-frcSP2Zg.mjs} +13 -13
- package/.output/server/chunks/build/mcp-frcSP2Zg.mjs.map +1 -0
- package/.output/server/chunks/build/{notifications-Dn-evqXM.mjs → notifications-DAtRd5V6.mjs} +14 -14
- package/.output/server/chunks/build/notifications-DAtRd5V6.mjs.map +1 -0
- package/.output/server/chunks/build/{performance-CV8qm94u.mjs → performance-BcQzGXE7.mjs} +13 -13
- package/.output/server/chunks/build/performance-BcQzGXE7.mjs.map +1 -0
- package/.output/server/chunks/build/{pr-feedback-gKDz8LyA.mjs → pr-feedback-BHtgvegy.mjs} +11 -11
- package/.output/server/chunks/build/pr-feedback-BHtgvegy.mjs.map +1 -0
- package/.output/server/chunks/build/{reset-password-DtEISa1I.mjs → reset-password-DMHrp14-.mjs} +4 -4
- package/.output/server/chunks/build/reset-password-DMHrp14-.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +32 -32
- package/.output/server/chunks/build/{settings-BJDnuLpc.mjs → settings-Bo5OETop.mjs} +11 -11
- package/.output/server/chunks/build/settings-Bo5OETop.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-metadata-DnAK4Rzg.mjs → settings-metadata-BHbsWQ2g.mjs} +2 -2
- package/.output/server/chunks/build/settings-metadata-BHbsWQ2g.mjs.map +1 -0
- package/.output/server/chunks/build/{setup-BO9tXa_G.mjs → setup-DAXcxuNY.mjs} +18 -18
- package/.output/server/chunks/build/{setup-BO9tXa_G.mjs.map → setup-DAXcxuNY.mjs.map} +1 -1
- package/.output/server/chunks/build/{storage-zN92cA9q.mjs → storage-BPK0fVwx.mjs} +12 -12
- package/.output/server/chunks/build/storage-BPK0fVwx.mjs.map +1 -0
- package/.output/server/chunks/build/{tags-CJFnoyQc.mjs → tags-CoxErA5m.mjs} +8 -8
- package/.output/server/chunks/build/tags-CoxErA5m.mjs.map +1 -0
- package/.output/server/chunks/build/{test-cases-0Q6rT73d.mjs → test-cases-D8rn-0le.mjs} +27 -27
- package/.output/server/chunks/build/test-cases-D8rn-0le.mjs.map +1 -0
- package/.output/server/chunks/build/{test-functions-DVRJgiWo.mjs → test-functions-pWs9mhbJ.mjs} +12 -12
- package/.output/server/chunks/build/test-functions-pWs9mhbJ.mjs.map +1 -0
- package/.output/server/chunks/build/{useCopyRich-BM9GTjJi.mjs → useCopyRich-BqVfhnoH.mjs} +27 -16
- package/.output/server/chunks/build/{useCopyRich-BM9GTjJi.mjs.map → useCopyRich-BqVfhnoH.mjs.map} +1 -1
- package/.output/server/chunks/build/{useDesktopDownload-Dyf0fR47.mjs → useDesktopDownload-l80DQJ9e.mjs} +2 -2
- package/.output/server/chunks/build/useDesktopDownload-l80DQJ9e.mjs.map +1 -0
- package/.output/server/chunks/build/{useDesktopLocalRuns-k7Gw3Fv3.mjs → useDesktopLocalRuns-Dil3YzyU.mjs} +68 -6
- package/.output/server/chunks/build/useDesktopLocalRuns-Dil3YzyU.mjs.map +1 -0
- package/.output/server/chunks/build/{useDesktopProjectLink-WwLte59P.mjs → useDesktopProjectLink-BnIONB--.mjs} +21 -4
- package/.output/server/chunks/build/useDesktopProjectLink-BnIONB--.mjs.map +1 -0
- package/.output/server/chunks/build/{useFormControl-8skMOTIf.mjs → useFormControl-CXKztoWk.mjs} +2 -2
- package/.output/server/chunks/build/useFormControl-CXKztoWk.mjs.map +1 -0
- package/.output/server/chunks/build/{useOpenInIde-D74FmDNg.mjs → useOpenInIde-CbbYW3pd.mjs} +2 -2
- package/.output/server/chunks/build/useOpenInIde-CbbYW3pd.mjs.map +1 -0
- package/.output/server/chunks/build/{useSettingsNav-BLTHducV.mjs → useSettingsNav-C6NpD4Ab.mjs} +2 -2
- package/.output/server/chunks/build/useSettingsNav-C6NpD4Ab.mjs.map +1 -0
- package/.output/server/chunks/build/{users-C9bjOBde.mjs → users-C2MuCf5G.mjs} +9 -9
- package/.output/server/chunks/build/users-C2MuCf5G.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +677 -670
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/03FA4-rI.js +0 -1
- package/.output/public/_nuxt/5a7jHE9s.js +0 -1
- package/.output/public/_nuxt/7ZHq6PCI.js +0 -1
- package/.output/public/_nuxt/98sAB6Gu.js +0 -1
- package/.output/public/_nuxt/B--J7VNt.js +0 -1
- package/.output/public/_nuxt/B69RP95P.js +0 -1
- package/.output/public/_nuxt/B8Xm4_S_.js +0 -1
- package/.output/public/_nuxt/BBhrClA9.js +0 -1
- package/.output/public/_nuxt/BPXqL9vK.js +0 -1
- package/.output/public/_nuxt/BWMSVSNM.js +0 -1
- package/.output/public/_nuxt/B_r0xHVS.js +0 -1
- package/.output/public/_nuxt/BevElZaK.js +0 -1
- package/.output/public/_nuxt/BfA6lfg4.js +0 -1
- package/.output/public/_nuxt/BjaRappk.js +0 -1
- package/.output/public/_nuxt/Bn0jaRxI.js +0 -1
- package/.output/public/_nuxt/BrUBOQ0y.js +0 -1
- package/.output/public/_nuxt/BwEN1fJ1.js +0 -1
- package/.output/public/_nuxt/C-XjxjG5.js +0 -1
- package/.output/public/_nuxt/C3W_wyr9.js +0 -1
- package/.output/public/_nuxt/C7D5Wl7T.js +0 -1
- package/.output/public/_nuxt/COuZu9FO.js +0 -2
- package/.output/public/_nuxt/CX5Q0dZ8.js +0 -1
- package/.output/public/_nuxt/Cf4MFOuf.js +0 -1
- package/.output/public/_nuxt/Cq33x7yV.js +0 -1
- package/.output/public/_nuxt/Cu2Q4iPh.js +0 -1
- package/.output/public/_nuxt/CyLcEDg2.js +0 -2
- package/.output/public/_nuxt/D1Y43xM1.js +0 -2
- package/.output/public/_nuxt/D2rZosKf.js +0 -6
- package/.output/public/_nuxt/D7jpwkRG.js +0 -5
- package/.output/public/_nuxt/D8NAb7VE.js +0 -1
- package/.output/public/_nuxt/D8vguZKg.js +0 -17
- package/.output/public/_nuxt/DH5H1DJh.js +0 -1
- package/.output/public/_nuxt/DL8knjzi.js +0 -1
- package/.output/public/_nuxt/DMsm-RGQ.js +0 -1
- package/.output/public/_nuxt/DMtrFQqi.js +0 -2
- package/.output/public/_nuxt/DVEGfqtt.js +0 -2
- package/.output/public/_nuxt/DaNC-xl1.js +0 -1
- package/.output/public/_nuxt/DcLbz6DV.js +0 -1
- package/.output/public/_nuxt/DhYznn-U.js +0 -1
- package/.output/public/_nuxt/DhuRRlmK.js +0 -1
- package/.output/public/_nuxt/DuO5wfAC.js +0 -1
- package/.output/public/_nuxt/DvEsAuE9.js +0 -1
- package/.output/public/_nuxt/Dz6g_QJT.js +0 -1
- package/.output/public/_nuxt/DzzNS-K1.js +0 -1
- package/.output/public/_nuxt/LwoTUb-r.js +0 -1
- package/.output/public/_nuxt/OfPjZaky.js +0 -1
- package/.output/public/_nuxt/T5UuMUxA.js +0 -1
- package/.output/public/_nuxt/UY8pjaZA.js +0 -1
- package/.output/public/_nuxt/YmCeJkZ2.js +0 -1
- package/.output/public/_nuxt/builds/meta/70224ee0-4d1f-45d2-b380-2ecb18064bf1.json +0 -1
- package/.output/public/_nuxt/fXUwH_3d.js +0 -1
- package/.output/public/_nuxt/sVV8xB9f.js +0 -1
- package/.output/public/_nuxt/xa5UHCot.js +0 -1
- package/.output/server/chunks/build/Alert-He-UxEt6.mjs.map +0 -1
- package/.output/server/chunks/build/Breadcrumb-DEP2dVCZ.mjs.map +0 -1
- package/.output/server/chunks/build/BreadcrumbNav-y6nMDYcR.mjs.map +0 -1
- package/.output/server/chunks/build/BrowserBadge-DIASU8Gf.mjs.map +0 -1
- package/.output/server/chunks/build/ChartCard-ZTsCvItQ.mjs.map +0 -1
- package/.output/server/chunks/build/ChartMarkerTooltip-u_1DUHh-.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-BisdHf8n.mjs.map +0 -1
- package/.output/server/chunks/build/CodeBlock-B8BNtZAe.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardNavbar-D7-3zBUU.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardSidebarToggle-C3HdHvlE.mjs.map +0 -1
- package/.output/server/chunks/build/DataLocationCard-CC2-lHiP.mjs.map +0 -1
- package/.output/server/chunks/build/DesktopRunLocallyButton-iNzrDsEs.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisPanel-BVb2LgHu.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisResult-xVgZlfKK.mjs.map +0 -1
- package/.output/server/chunks/build/DurationValue-UX9uajQJ.mjs.map +0 -1
- package/.output/server/chunks/build/EmptyState-DC2q_7TD.mjs.map +0 -1
- package/.output/server/chunks/build/EntityLinks-Dzn73fbq.mjs.map +0 -1
- package/.output/server/chunks/build/EnvManagedBadge-C-agmABK.mjs.map +0 -1
- package/.output/server/chunks/build/ErrorState-CktYyeEZ.mjs.map +0 -1
- package/.output/server/chunks/build/FeatureUnavailable-DHFkwI7t.mjs.map +0 -1
- package/.output/server/chunks/build/FormField-GYHKiSI6.mjs.map +0 -1
- package/.output/server/chunks/build/GetStartedWizard-BpcGYsm2.mjs.map +0 -1
- package/.output/server/chunks/build/HelpHint-plioHKA0.mjs.map +0 -1
- package/.output/server/chunks/build/LoadingState-CwpfmI0W.mjs.map +0 -1
- package/.output/server/chunks/build/MarkerBadge-Biz5--h2.mjs.map +0 -1
- package/.output/server/chunks/build/MetaStripGroup-A0a72vt5.mjs.map +0 -1
- package/.output/server/chunks/build/Modal-hKLvVFNp.mjs.map +0 -1
- package/.output/server/chunks/build/NavbarActions-_YjrSUat.mjs.map +0 -1
- package/.output/server/chunks/build/NavigationMenu-RfBOyS32.mjs.map +0 -1
- package/.output/server/chunks/build/RovingFocusItem-BOSx1Z9Z.mjs.map +0 -1
- package/.output/server/chunks/build/RunReports-nuLb-Nm3.mjs.map +0 -1
- package/.output/server/chunks/build/RunStatusBadge-CvWmcFYM.mjs.map +0 -1
- package/.output/server/chunks/build/SectionCard-DHAFvJxm.mjs.map +0 -1
- package/.output/server/chunks/build/Select-CEyw7HGK.mjs.map +0 -1
- package/.output/server/chunks/build/Separator-lrN70ODV.mjs.map +0 -1
- package/.output/server/chunks/build/SettingsField-tRmytcEJ.mjs.map +0 -1
- package/.output/server/chunks/build/Slideover-D6cRIqch.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-R2n82ncQ.mjs.map +0 -1
- package/.output/server/chunks/build/Table-qZdnm9t2.mjs.map +0 -1
- package/.output/server/chunks/build/Tabs-BDP7MWl4.mjs.map +0 -1
- package/.output/server/chunks/build/TestCaseHistoryChart-CKDXQ2GI.mjs.map +0 -1
- package/.output/server/chunks/build/TestMetaBadges-BlyKmfeP.mjs.map +0 -1
- package/.output/server/chunks/build/TestStatusBar-CvsmKJ4D.mjs.map +0 -1
- package/.output/server/chunks/build/Textarea-DpmpM-lN.mjs.map +0 -1
- package/.output/server/chunks/build/Tooltip-BI3WQErw.mjs.map +0 -1
- package/.output/server/chunks/build/VisuallyHiddenInput-D4E5aJCQ.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-T965GKYC.mjs.map +0 -1
- package/.output/server/chunks/build/about-B3V_OEiu.mjs.map +0 -1
- package/.output/server/chunks/build/account-DpBdYE46.mjs.map +0 -1
- package/.output/server/chunks/build/default-CQa_bmAf.mjs.map +0 -1
- package/.output/server/chunks/build/edit-BdfF9er2.mjs.map +0 -1
- package/.output/server/chunks/build/fetch-tkz5_OA-.mjs.map +0 -1
- package/.output/server/chunks/build/forgot-password-swZRcvXE.mjs.map +0 -1
- package/.output/server/chunks/build/help-content-C876a9WD.mjs.map +0 -1
- package/.output/server/chunks/build/import-B27Sv7h5.mjs.map +0 -1
- package/.output/server/chunks/build/index-ByWTzqF6.mjs.map +0 -1
- package/.output/server/chunks/build/index-C7m32bRI.mjs.map +0 -1
- package/.output/server/chunks/build/index-ID913tUa.mjs.map +0 -1
- package/.output/server/chunks/build/isValueEqualOrExist-D4lZ8uRY.mjs.map +0 -1
- package/.output/server/chunks/build/login-hxCF06JT.mjs.map +0 -1
- package/.output/server/chunks/build/mcp-BVW1llyW.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-Dn-evqXM.mjs.map +0 -1
- package/.output/server/chunks/build/performance-CV8qm94u.mjs.map +0 -1
- package/.output/server/chunks/build/pr-feedback-gKDz8LyA.mjs.map +0 -1
- package/.output/server/chunks/build/reset-password-DtEISa1I.mjs.map +0 -1
- package/.output/server/chunks/build/settings-BJDnuLpc.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-DnAK4Rzg.mjs.map +0 -1
- package/.output/server/chunks/build/storage-zN92cA9q.mjs.map +0 -1
- package/.output/server/chunks/build/tags-CJFnoyQc.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-0Q6rT73d.mjs.map +0 -1
- package/.output/server/chunks/build/test-functions-DVRJgiWo.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopDownload-Dyf0fR47.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopLocalRuns-k7Gw3Fv3.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopProjectLink-WwLte59P.mjs.map +0 -1
- package/.output/server/chunks/build/useFormControl-8skMOTIf.mjs.map +0 -1
- package/.output/server/chunks/build/useOpenInIde-D74FmDNg.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-BLTHducV.mjs.map +0 -1
- package/.output/server/chunks/build/users-C9bjOBde.mjs.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import{r as ne,d as ce,o as p,c as f,
|
|
1
|
+
import{r as ne,d as ce,o as p,c as f,b as c,g as x,V as We,h as S,_ as ke,j as _e,R as rt,F as j,z as Y,t as w,l as $,v as P,q as it,e as N,f as Q,k as C,B as Tt,i as J,a as ye,L as zt,ao as It,x as Et,M as Pt,m as Lt}from"./BzBaMPgu.js";import{a as Be}from"./CDEmotIt.js";import{e as Bt,f as Dt}from"./CdM2qNYM.js";import{_ as De}from"./qeqzb80l.js";import{_ as qt}from"./BbXvpkBp.js";import{_ as Ft}from"./Db5xe__T.js";import{_ as Mt}from"./BMfTUMYy.js";import{h as Xe,_ as Nt}from"./Cmuwgbf4.js";import{_ as jt}from"./Die1200X.js";function Ot(t,e=!1){const s=ne(e);try{const i=document.cookie.match(new RegExp(`(?:^|;\\s*)${t}=([^;]*)`));i&&(s.value=i[1]==="true")}catch{}function r(){document.cookie=`${t}=${s.value}; path=/; max-age=31536000; sameSite=lax`}function n(){s.value=!s.value,r()}function o(i){s.value=i,r()}return{folded:s,toggle:n,setFolded:o}}function Ht(t){return Ot(`piwi-summary-fold-${t}`,!1)}const Zt={class:"flex items-center gap-3"},Ut={class:"ml-auto shrink-0"},Vt={key:1,class:"relative"},Qt={class:"absolute top-1 right-1 z-10"},Gt=ce({__name:"FoldableSummary",props:{storageKey:{}},setup(t){const e=t,{folded:s,toggle:r}=Ht(e.storageKey);return(n,o)=>{const i=ke,l=_e;return p(),f("div",null,[c(s)?(p(),f("div",{key:0,class:"border border-gray-200 dark:border-gray-800 rounded-xl p-2.5 shadow-xs cursor-pointer select-none",onClick:o[0]||(o[0]=(...a)=>c(r)&&c(r)(...a))},[x("div",Zt,[We(n.$slots,"folded"),x("div",Ut,[S(i,{name:"i-lucide-chevron-down",class:"size-4 text-gray-400"})])])])):(p(),f("div",Vt,[x("div",Qt,[S(l,{icon:"i-lucide-chevron-up",size:"xs",color:"neutral",variant:"ghost",onClick:c(r),title:"Collapse summary"},null,8,["onClick"])]),We(n.$slots,"default")]))])}}}),zr=Object.assign(Gt,{__name:"FoldableSummary"}),Wt=new Set([".png",".jpg",".jpeg",".gif",".svg",".webp"]),Xt=new Set(["image/png","image/jpeg","image/gif","image/svg+xml","image/webp"]),Kt=new Set([".webm",".mp4",".ogg",".mov"]),Jt=new Set(["video/webm","video/mp4","video/ogg","video/quicktime"]);function Ir(t,e){const s="."+(t.toLowerCase().split(".").pop()||"");return!!(Wt.has(s)||e&&Xt.has(e.toLowerCase()))}function Er(t,e){const s="."+(t.toLowerCase().split(".").pop()||"");return!!(Kt.has(s)||e&&Jt.has(e.toLowerCase()))}function Pr(t){return t.replace(/\x1b\[[0-9;]*[a-zA-Z]/g,"")}const Yt={class:"rounded-lg border border-default overflow-hidden bg-muted min-h-16"},es={key:0,class:"flex items-center gap-2 p-4 text-sm text-gray-500"},ts={key:0,class:"text-sm font-bold text-gray-900 dark:text-white mt-4 mb-0.5 first:mt-0"},ss={key:1,class:"font-semibold text-gray-700 dark:text-gray-200 mt-2 mb-0.5"},ns={key:2,class:"my-1 px-2 py-0.5 rounded bg-yellow-50 dark:bg-yellow-900/20 text-yellow-800 dark:text-yellow-300 italic"},rs={key:3,class:"text-gray-600 dark:text-gray-400 flex gap-1.5"},is={key:4,class:"text-gray-600 dark:text-gray-400"},os={key:5,class:"h-2"},as={key:6,class:"mt-2 px-2 py-0.5 bg-gray-200 dark:bg-gray-700 text-gray-500 dark:text-gray-400 rounded-t text-[10px] uppercase tracking-wide"},ls={key:7,class:"overflow-x-auto bg-gray-50 dark:bg-gray-900/40"},cs=["innerHTML"],us={key:8,class:"h-1 bg-gray-100 dark:bg-gray-800/50 rounded-b mb-2"},ps={key:2,class:"p-3 text-xs text-gray-400 italic"},ds=ce({__name:"MarkdownPreview",props:{text:{},loading:{type:Boolean},maxHeight:{}},setup(t){const e=t;function s(n){const o=[];let i=!1,l="",a=[];for(const d of n.split(`
|
|
2
2
|
`))if(!i)d.startsWith("```")?(i=!0,l=d.slice(3).trim(),a=[]):d.startsWith("## ")?o.push({kind:"h2",text:d.slice(3)}):d.startsWith("### ")?o.push({kind:"h3",text:d.slice(4)}):d.startsWith("> ")?o.push({kind:"note",text:d.slice(2)}):d.startsWith("- ")?o.push({kind:"bullet",text:d.slice(2)}):d.trim()===""?o.push({kind:"blank"}):o.push({kind:"text",text:d});else if(d==="```"){const h=a.join(`
|
|
3
3
|
`);if(a.length){const{html:m}=Xe(h,l);o.push({kind:"code-start",lang:l||"code"}),o.push({kind:"code-block",html:m}),o.push({kind:"code-end"})}i=!1}else a.push(d);if(i&&a.length){const{html:d}=Xe(a.join(`
|
|
4
|
-
`),l);o.push({kind:"code-start",lang:l||"code"}),o.push({kind:"code-block",html:d}),o.push({kind:"code-end"})}return o}const r=P(()=>e.text?s(e.text):[]);return(n,o)=>{const i=ke;return p(),f("div",Yt,[t.loading?(p(),f("div",es,[S(i,{name:"i-lucide-loader-2",class:"size-4 animate-spin"}),o[0]||(o[0]=x("span",null,"Fetching context… (includes SCM diff lookup)",-1))])):c(r).length?(p(),f("div",{key:1,class:"overflow-auto p-3 text-xs font-mono leading-relaxed",style:rt({maxHeight:t.maxHeight??"45vh"})},[(p(!0),f(j,null,Y(c(r),(l,a)=>(p(),f(j,{key:a},[l.kind==="h2"?(p(),f("div",ts,w(l.text),1)):l.kind==="h3"?(p(),f("div",ss,w(l.text),1)):l.kind==="note"?(p(),f("div",ns,w(l.text),1)):l.kind==="bullet"?(p(),f("div",rs,[o[1]||(o[1]=x("span",{class:"text-gray-400 shrink-0"},"·",-1)),x("span",null,w(l.text),1)])):l.kind==="text"?(p(),f("div",is,w(l.text),1)):l.kind==="blank"?(p(),f("div",os)):l.kind==="code-start"?(p(),f("div",as,w(l.lang||"code"),1)):l.kind==="code-block"?(p(),f("div",ls,[x("pre",{class:"hljs px-2 py-1 !bg-transparent whitespace-pre-wrap",innerHTML:l.html},null,8,cs)])):l.kind==="code-end"?(p(),f("div",us)):$("",!0)],64))),128))],4)):(p(),f("div",ps,"No context loaded"))])}}}),ot=Object.assign(ds,{__name:"MarkdownPreview"}),hs=ce({__name:"CopyAiPromptButton",props:{contextEndpoint:{}},setup(t){const e=t,{copy:s,copied:r}=Be(),n=it(),o=ne(!1),i=P(()=>(Tt().app?.baseURL??"/").replace(/\/$/,""));async function l(){o.value=!0;try{const a=await fetch(`${i.value}${e.contextEndpoint}?format=prompt`);if(!a.ok)throw new Error(`Request failed (${a.status})`);s(await a.text(),{toast:"AI prompt copied"})}catch(a){n.add({title:"Could not copy the prompt",description:Bt(a),color:"error"})}finally{o.value=!1}}return(a,d)=>{const h=_e;return p(),N(h,{icon:c(r)?"i-lucide-check":"i-lucide-clipboard-copy",size:"xs",color:"neutral",variant:"outline",loading:c(o),title:"Copy the exact request Piwi would send to the model — to reuse it elsewhere, or to check what it contains",onClick:l},{default:Q(()=>[C(w(c(r)?"Copied":"Copy prompt"),1)]),_:1},8,["icon","loading"])}}}),Lr=Object.assign(hs,{__name:"CopyAiPromptButton"}),Se=[{id:"clusterSummary",label:"Failure cluster summary",short:"Cluster"},{id:"sampleError",label:"Raw error message",short:"Error"},{id:"representativeExecution",label:"Representative execution overview",short:"Execution"},{id:"executionError",label:"Representative execution error",short:"Error"},{id:"runContext",label:"Run context (partial run, parallelism, flaky class)",short:"Run context"},{id:"testAnnotations",label:"Test annotations (@fixme/@flaky …)",short:"Annotations"},{id:"affectedTests",label:"Affected tests",short:"Tests"},{id:"testSource",label:"Test source code",short:"Source"},{id:"sourceFiles",label:"Full source files (suspect + imports)",short:"Files"},{id:"steps",label:"Test steps",short:"Steps"},{id:"failingSteps",label:"Failing steps",short:"Steps"},{id:"aiSteps",label:"AI-step prompts (natural-language intents)",short:"AI steps"},{id:"console",label:"Browser console logs",short:"Console"},{id:"networkRequests",label:"Network requests",short:"Network"},{id:"serverLogs",label:"Backend server logs",short:"Server logs"},{id:"serverTraces",label:"Server traces (spans)",short:"Traces"},{id:"webVitals",label:"Web vitals",short:"Web vitals"},{id:"appState",label:"App state at test end (URL/storage/cookies)",short:"App state"},{id:"ariaSnapshot",label:"ARIA snapshot",short:"ARIA"},{id:"domSnapshot",label:"DOM snapshot from trace (failure time)",short:"DOM"},{id:"screenshots",label:"Screenshots (attached as images)",short:"Screenshots"},{id:"visualDiff",label:"Visual diff vs last passing screenshot",short:"Visual diff"},{id:"browserDistribution",label:"Browser distribution",short:"Browsers"},{id:"recurrenceFlakiness",label:"Recurrence & flakiness",short:"Flakiness"},{id:"baselineComparison",label:"Compared to last pass (duration/vitals/steps)",short:"Baseline"},{id:"environmentDiff",label:"Environment diff vs last pass",short:"Env diff"},{id:"retryProgression",label:"Retry progression (per-attempt errors)",short:"Retries"},{id:"passedPeers",label:"Passing peers in same file",short:"Peers"},{id:"scmInvestigation",label:"SCM diff since last green",short:"SCM diff"},{id:"selectedCommits",label:"Manually selected commits",short:"Commits"},{id:"priorDiagnosis",label:"Prior diagnosis & triage",short:"Prior"},{id:"tracePointers",label:"Trace files",short:"Traces"},{id:"artifacts",label:"Attachments & artifacts (video, HAR)",short:"Artifacts"},{id:"nearestAriaNames",label:"Nearest matching ARIA names from snapshot",short:"Nearest ARIA"},{id:"alreadyGreen",label:"Baseline freshness / already-green check",short:"Already green"},{id:"topSuspectedCommit",label:"Top suspected commit",short:"Top commit"},{id:"failingAction",label:"Failing action from trace parsing",short:"Trace"},{id:"traceCallStack",label:"Full call stack with source (from trace)",short:"Call stack"},{id:"traceNetwork",label:"Network activity from trace (all requests)",short:"Trace net"},{id:"locatorHealing",label:"Alternative locators from prior success",short:"Alt locators"}],at=new Set(Se.map(t=>t.id)),lt=Object.fromEntries(Se.map(t=>[t.id,t.short]));function gs(t){return at.has(t)}function Br(t){const e=new Set;for(const s of t)if(s)for(const r of String(s).matchAll(/\[([a-zA-Z][a-zA-Z0-9]*)]/g))at.has(r[1])&&e.add(r[1]);return[...e]}const fs={class:"rounded-lg border border-default bg-elevated/30 px-2.5 py-2"},ks={key:0,class:"flex items-center gap-2 text-xs text-gray-400"},xs={key:1,class:"flex flex-wrap items-center gap-1.5"},ms={class:"text-xs font-medium text-gray-500 inline-flex items-center gap-1"},bs=["title","onClick"],ys={key:0,class:"text-xs text-gray-400"},ws=ce({__name:"DiagnosisCoverageStrip",props:{sections:{},notApplicable:{},tokenEstimate:{},loading:{type:Boolean}},emits:["view-section","open"],setup(t,{emit:e}){const s=t,r=e,n=P(()=>s.sections.map(l=>({id:l.id,short:lt[l.id]??l.title??l.id,truncated:l.truncated}))),o=P(()=>Math.max(0,Se.length-s.sections.length)),i=P(()=>{const l=s.tokenEstimate;return l?l>=1e3?`${(l/1e3).toFixed(1)}k`:String(l):""});return(l,a)=>{const d=ke,h=De;return p(),f("div",fs,[t.loading&&!t.sections.length?(p(),f("div",ks,[S(d,{name:"i-lucide-loader-circle",class:"size-3.5 animate-spin"}),a[1]||(a[1]=C(" Building context… ",-1))])):(p(),f("div",xs,[x("span",ms,[S(d,{name:"i-lucide-layers",class:"size-3.5"}),a[2]||(a[2]=C(" Context ",-1)),S(h,{topic:"cluster.coverage"})]),(p(!0),f(j,null,Y(c(n),m=>(p(),f("button",{key:m.id,type:"button",class:"inline-flex items-center gap-1 rounded-full border border-default bg-default px-2 py-0.5 text-xs hover:border-primary/50 transition-colors",title:m.truncated?`${m.short} (truncated)`:m.short,onClick:b=>r("view-section",m.id)},[S(d,{name:m.truncated?"i-lucide-scissors":"i-lucide-check",class:J(["size-3",m.truncated?"text-warning":"text-success"])},null,8,["name","class"]),C(" "+w(m.short),1)],8,bs))),128)),c(n).length?$("",!0):(p(),f("span",ys,"No evidence sections yet")),x("button",{type:"button",class:"ml-auto text-xs text-gray-400 hover:text-primary transition-colors whitespace-nowrap",onClick:a[0]||(a[0]=m=>r("open"))},[c(o)?(p(),f(j,{key:0},[C(w(c(o))+" not included · ",1)],64)):$("",!0),c(i)?(p(),f(j,{key:1},[C("~"+w(c(i))+" tokens",1)],64)):$("",!0),S(d,{name:"i-lucide-arrow-right",class:"size-3 inline align-text-bottom"})])]))])}}}),Dr=Object.assign(ws,{__name:"DiagnosisCoverageStrip"}),vs={class:"flex items-center justify-between w-full"},$s={class:"flex items-center gap-2"},_s={class:"font-semibold inline-flex items-center gap-1"},Ss={class:"text-xs text-gray-400"},As={class:"flex items-center gap-1"},Rs={class:"rounded-lg border border-default bg-elevated/30 p-3 mb-4"},Cs={class:"flex items-center justify-between gap-2 mb-2"},Ts={class:"text-xs font-medium text-gray-500 uppercase tracking-wide inline-flex items-center gap-1"},zs={class:"text-xs text-gray-400"},Is={class:"flex flex-wrap gap-1.5"},Es=["title"],Ps={class:"text-xs text-gray-400 mt-2"},Ls={class:"space-y-4"},Bs={class:"text-xs font-medium text-gray-500 uppercase tracking-wide mb-2"},Ds={class:"space-y-2"},qs=["data-section-id"],Fs={key:0,class:"text-center text-gray-400 py-8 text-sm"},Ms=ce({__name:"DiagnosisContextModal",props:{open:{type:Boolean},sections:{},tokenEstimate:{},imageTokenEstimate:{},loading:{type:Boolean},focusSection:{},citedSections:{},notApplicableSections:{}},emits:["update:open","refresh"],setup(t,{emit:e}){const s=t,r=P(()=>{const v=new Map;for(const y of s.sections)v.has(y.id)||v.set(y.id,y);return v}),n=P(()=>new Set(Object.keys(s.notApplicableSections??{}))),o=P(()=>new Set(s.citedSections??[])),i=P(()=>Se.map(v=>{if(n.value.has(v.id))return{id:v.id,short:v.short,label:v.label,state:"notApplicable",cited:o.value.has(v.id)};const y=r.value.get(v.id),L=y?y.truncated?"truncated":"present":"absent";return{id:v.id,short:v.short,label:v.label,state:L,cited:o.value.has(v.id)}})),l=P(()=>{const v={present:0,truncated:0,absent:0,notApplicable:0};for(const y of i.value)v[y.state]++;return v}),a={present:"bg-emerald-500",truncated:"bg-amber-500",absent:"bg-gray-300 dark:bg-gray-600",notApplicable:"bg-purple-400"};function d(v){if(v.state==="notApplicable"){const y=s.notApplicableSections?.[v.id];return`${v.label}: not applicable${y?` — ${y}`:""}`}return`${v.label}: ${v.state}${v.cited?" · cited by the diagnosis":""}`}const h=e,{copy:m,copied:b}=Be(),z=P(()=>{const v=[],y=["clusterSummary","sampleError","representativeExecution","executionError","runContext"],L=["testAnnotations","testSource","steps","failingSteps","console","networkRequests","serverLogs","serverTraces","webVitals","ariaSnapshot"],ee=["recurrenceFlakiness","baselineComparison","retryProgression","passedPeers","browserDistribution","affectedTests"],re=["scmInvestigation","selectedCommits"],te=["priorDiagnosis","tracePointers","artifacts"],q=(E,F)=>{const le=s.sections.filter(Ce=>E.includes(Ce.id));le.length>0&&v.push({label:F,items:le})};return q(y,"Primary"),q(L,"Test Evidence"),q(ee,"Analysis"),q(re,"SCM"),q(te,"Other"),v}),_=ne(null);ye(()=>[s.open,s.focusSection],async([v,y])=>{if(!v||!y)return;await zt();const L=document.querySelector(`[data-section-id="${y}"]`);L&&(L.scrollIntoView({behavior:"smooth",block:"start"}),_.value=y,setTimeout(()=>{_.value===y&&(_.value=null)},2500))});function H(v){let y=`## ${v.title}`;const L=[];return L.push(`${v.chars} chars`),v.truncated&&L.push("truncated"),v.items!=null&&L.push(`${v.items} items`),L.length&&(y+=` — ${L.join(", ")}`),y}return(v,y)=>{const L=De,ee=_e,re=ke,te=ot,q=qt;return p(),N(q,{open:t.open,title:"Context sent to AI",ui:{content:"max-w-5xl"},"onUpdate:open":y[2]||(y[2]=E=>h("update:open",E))},{header:Q(()=>[x("div",vs,[x("div",$s,[x("span",_s,[y[3]||(y[3]=C(" Context sent to AI ",-1)),S(L,{topic:"cluster.context-preview"})]),x("span",Ss,[C(" ~"+w(t.tokenEstimate)+" tokens",1),t.imageTokenEstimate?(p(),f(j,{key:0},[C(" ("+w(t.tokenEstimate-t.imageTokenEstimate)+" text + "+w(t.imageTokenEstimate)+" image)",1)],64)):$("",!0)])]),x("div",As,[S(ee,{icon:"i-lucide-refresh-cw",size:"xs",color:"neutral",variant:"ghost",loading:t.loading,onClick:y[0]||(y[0]=E=>h("refresh"))},null,8,["loading"]),S(ee,{icon:"i-lucide-x",size:"xs",color:"neutral",variant:"ghost",onClick:y[1]||(y[1]=E=>h("update:open",!1))})])])]),body:Q(()=>[y[7]||(y[7]=x("p",{class:"text-xs text-gray-500 dark:text-gray-400 mb-3"},"Copy individual sections or the full context below.",-1)),x("div",Rs,[x("div",Cs,[x("p",Ts,[y[4]||(y[4]=C(" Data coverage ",-1)),S(L,{topic:"cluster.coverage"})]),x("p",zs,w(c(l).present)+" present · "+w(c(l).truncated)+" truncated · "+w(c(l).absent)+" absent"+w(c(l).notApplicable?` · ${c(l).notApplicable} n/a`:""),1)]),x("div",Is,[(p(!0),f(j,null,Y(c(i),E=>(p(),f("span",{key:E.id,class:J(["inline-flex items-center gap-1 rounded border px-1.5 py-0.5 text-xs",[E.cited?"border-primary text-primary":"border-default",E.state==="absent"?"text-gray-400 opacity-70":"",E.state==="notApplicable"?"text-purple-500 border-purple-300 dark:border-purple-700":""]]),title:d(E)},[x("span",{class:J(["size-1.5 rounded-full shrink-0",a[E.state]])},null,2),C(" "+w(E.short)+" ",1),E.cited?(p(),N(re,{key:0,name:"i-lucide-quote",class:"size-2.5 shrink-0"})):$("",!0)],10,Es))),128))]),x("p",Ps,[y[5]||(y[5]=C(" Absent or truncated evidence lowers the diagnosis confidence. ",-1)),S(re,{name:"i-lucide-quote",class:"size-2.5 inline"}),y[6]||(y[6]=C(" marks sections the diagnosis cited. ",-1))])]),x("div",Ls,[(p(!0),f(j,null,Y(c(z),E=>(p(),f("div",{key:E.label},[x("p",Bs,w(E.label),1),x("div",Ds,[(p(!0),f(j,null,Y(E.items,F=>(p(),f("div",{key:F.id,"data-section-id":F.id,class:J(["relative rounded-lg transition-shadow",c(_)===F.id?"ring-2 ring-primary":c(o).has(F.id)?"ring-1 ring-primary/40":""])},[S(te,{text:H(F)+`
|
|
4
|
+
`),l);o.push({kind:"code-start",lang:l||"code"}),o.push({kind:"code-block",html:d}),o.push({kind:"code-end"})}return o}const r=P(()=>e.text?s(e.text):[]);return(n,o)=>{const i=ke;return p(),f("div",Yt,[t.loading?(p(),f("div",es,[S(i,{name:"i-lucide-loader-2",class:"size-4 animate-spin"}),o[0]||(o[0]=x("span",null,"Fetching context… (includes SCM diff lookup)",-1))])):c(r).length?(p(),f("div",{key:1,class:"overflow-auto p-3 text-xs font-mono leading-relaxed",style:rt({maxHeight:t.maxHeight??"45vh"})},[(p(!0),f(j,null,Y(c(r),(l,a)=>(p(),f(j,{key:a},[l.kind==="h2"?(p(),f("div",ts,w(l.text),1)):l.kind==="h3"?(p(),f("div",ss,w(l.text),1)):l.kind==="note"?(p(),f("div",ns,w(l.text),1)):l.kind==="bullet"?(p(),f("div",rs,[o[1]||(o[1]=x("span",{class:"text-gray-400 shrink-0"},"·",-1)),x("span",null,w(l.text),1)])):l.kind==="text"?(p(),f("div",is,w(l.text),1)):l.kind==="blank"?(p(),f("div",os)):l.kind==="code-start"?(p(),f("div",as,w(l.lang||"code"),1)):l.kind==="code-block"?(p(),f("div",ls,[x("pre",{class:"hljs px-2 py-1 !bg-transparent whitespace-pre-wrap",innerHTML:l.html},null,8,cs)])):l.kind==="code-end"?(p(),f("div",us)):$("",!0)],64))),128))],4)):(p(),f("div",ps,"No context loaded"))])}}}),ot=Object.assign(ds,{__name:"MarkdownPreview"}),hs=ce({__name:"CopyAiPromptButton",props:{contextEndpoint:{}},setup(t){const e=t,{copy:s,copied:r}=Be(),n=it(),o=ne(!1),i=P(()=>(Tt().app?.baseURL??"/").replace(/\/$/,""));async function l(){o.value=!0;try{const a=await fetch(`${i.value}${e.contextEndpoint}?format=prompt`);if(!a.ok)throw new Error(`Request failed (${a.status})`);s(await a.text(),{toast:"AI prompt copied"})}catch(a){n.add({title:"Could not copy the prompt",description:Bt(a),color:"error"})}finally{o.value=!1}}return(a,d)=>{const h=_e;return p(),N(h,{icon:c(r)?"i-lucide-check":"i-lucide-clipboard-copy",size:"xs",color:"neutral",variant:"outline",loading:c(o),title:"Copy the exact request Piwi would send to the model — to reuse it elsewhere, or to check what it contains",onClick:l},{default:Q(()=>[C(w(c(r)?"Copied":"Copy prompt"),1)]),_:1},8,["icon","loading"])}}}),Lr=Object.assign(hs,{__name:"CopyAiPromptButton"}),Se=[{id:"clusterSummary",label:"Failure cluster summary",short:"Cluster"},{id:"sampleError",label:"Raw error message",short:"Error"},{id:"representativeExecution",label:"Representative execution overview",short:"Execution"},{id:"executionError",label:"Representative execution error",short:"Error"},{id:"runContext",label:"Run context (partial run, parallelism, flaky class)",short:"Run context"},{id:"testAnnotations",label:"Test annotations (@fixme/@flaky …)",short:"Annotations"},{id:"affectedTests",label:"Affected tests",short:"Tests"},{id:"testSource",label:"Test source code",short:"Source"},{id:"sourceFiles",label:"Full source files (suspect + imports)",short:"Files"},{id:"steps",label:"Test steps",short:"Steps"},{id:"failingSteps",label:"Failing steps",short:"Steps"},{id:"aiSteps",label:"AI-step prompts (natural-language intents)",short:"AI steps"},{id:"console",label:"Browser console logs",short:"Console"},{id:"networkRequests",label:"Network requests",short:"Network"},{id:"serverLogs",label:"Backend server logs",short:"Server logs"},{id:"serverTraces",label:"Server traces (spans)",short:"Traces"},{id:"webVitals",label:"Web vitals",short:"Web vitals"},{id:"appState",label:"App state at test end (URL/storage/cookies)",short:"App state"},{id:"ariaSnapshot",label:"ARIA snapshot",short:"ARIA"},{id:"domSnapshot",label:"DOM snapshot from trace (failure time)",short:"DOM"},{id:"screenshots",label:"Screenshots (attached as images)",short:"Screenshots"},{id:"visualDiff",label:"Visual diff vs last passing screenshot",short:"Visual diff"},{id:"browserDistribution",label:"Browser distribution",short:"Browsers"},{id:"recurrenceFlakiness",label:"Recurrence & flakiness",short:"Flakiness"},{id:"baselineComparison",label:"Compared to last pass (duration/vitals/steps)",short:"Baseline"},{id:"environmentDiff",label:"Environment diff vs last pass",short:"Env diff"},{id:"retryProgression",label:"Retry progression (per-attempt errors)",short:"Retries"},{id:"passedPeers",label:"Passing peers in same file",short:"Peers"},{id:"scmInvestigation",label:"SCM diff since last green",short:"SCM diff"},{id:"selectedCommits",label:"Manually selected commits",short:"Commits"},{id:"priorDiagnosis",label:"Prior diagnosis & triage",short:"Prior"},{id:"tracePointers",label:"Trace files",short:"Traces"},{id:"artifacts",label:"Attachments & artifacts (video, HAR)",short:"Artifacts"},{id:"nearestAriaNames",label:"Nearest matching ARIA names from snapshot",short:"Nearest ARIA"},{id:"alreadyGreen",label:"Baseline freshness / already-green check",short:"Already green"},{id:"topSuspectedCommit",label:"Top suspected commit",short:"Top commit"},{id:"failingAction",label:"Failing action from trace parsing",short:"Trace"},{id:"traceCallStack",label:"Full call stack with source (from trace)",short:"Call stack"},{id:"traceNetwork",label:"Network activity from trace (all requests)",short:"Trace net"},{id:"locatorHealing",label:"Alternative locators from prior success",short:"Alt locators"}],at=new Set(Se.map(t=>t.id)),lt=Object.fromEntries(Se.map(t=>[t.id,t.short]));function gs(t){return at.has(t)}function Br(t){const e=new Set;for(const s of t)if(s)for(const r of String(s).matchAll(/\[([a-zA-Z][a-zA-Z0-9]*)]/g))at.has(r[1])&&e.add(r[1]);return[...e]}const fs={class:"rounded-lg border border-default bg-elevated/30 px-2.5 py-2"},ks={key:0,class:"flex items-center gap-2 text-xs text-gray-400"},xs={key:1,class:"flex flex-wrap items-center gap-1.5"},ms={class:"text-xs font-medium text-gray-500 inline-flex items-center gap-1"},bs=["title","onClick"],ys={key:0,class:"text-xs text-gray-400"},ws=ce({__name:"DiagnosisCoverageStrip",props:{sections:{},notApplicable:{},tokenEstimate:{},loading:{type:Boolean}},emits:["view-section","open"],setup(t,{emit:e}){const s=t,r=e,n=P(()=>s.sections.map(l=>({id:l.id,short:lt[l.id]??l.title??l.id,truncated:l.truncated}))),o=P(()=>Math.max(0,Se.length-s.sections.length)),i=P(()=>{const l=s.tokenEstimate;return l?l>=1e3?`${(l/1e3).toFixed(1)}k`:String(l):""});return(l,a)=>{const d=ke,h=De;return p(),f("div",fs,[t.loading&&!t.sections.length?(p(),f("div",ks,[S(d,{name:"i-lucide-loader-circle",class:"size-3.5 animate-spin"}),a[1]||(a[1]=C(" Building context… ",-1))])):(p(),f("div",xs,[x("span",ms,[S(d,{name:"i-lucide-layers",class:"size-3.5"}),a[2]||(a[2]=C(" Context ",-1)),S(h,{topic:"cluster.coverage"})]),(p(!0),f(j,null,Y(c(n),m=>(p(),f("button",{key:m.id,type:"button",class:"inline-flex items-center gap-1 rounded-full border border-default bg-default px-2 py-0.5 text-xs hover:border-primary/50 transition-colors",title:m.truncated?`${m.short} (truncated)`:m.short,onClick:b=>r("view-section",m.id)},[S(d,{name:m.truncated?"i-lucide-scissors":"i-lucide-check",class:J(["size-3",m.truncated?"text-warning":"text-success"])},null,8,["name","class"]),C(" "+w(m.short),1)],8,bs))),128)),c(n).length?$("",!0):(p(),f("span",ys,"No evidence sections yet")),x("button",{type:"button",class:"ml-auto text-xs text-gray-400 hover:text-primary transition-colors whitespace-nowrap",onClick:a[0]||(a[0]=m=>r("open"))},[c(o)?(p(),f(j,{key:0},[C(w(c(o))+" not included · ",1)],64)):$("",!0),c(i)?(p(),f(j,{key:1},[C("~"+w(c(i))+" tokens",1)],64)):$("",!0),S(d,{name:"i-lucide-arrow-right",class:"size-3 inline align-text-bottom"})])]))])}}}),Dr=Object.assign(ws,{__name:"DiagnosisCoverageStrip"}),vs={class:"flex items-center justify-between w-full"},$s={class:"flex items-center gap-2"},_s={class:"font-semibold inline-flex items-center gap-1"},Ss={class:"text-xs text-gray-400"},Rs={class:"flex items-center gap-1"},As={class:"rounded-lg border border-default bg-elevated/30 p-3 mb-4"},Cs={class:"flex items-center justify-between gap-2 mb-2"},Ts={class:"text-xs font-medium text-gray-500 uppercase tracking-wide inline-flex items-center gap-1"},zs={class:"text-xs text-gray-400"},Is={class:"flex flex-wrap gap-1.5"},Es=["title"],Ps={class:"text-xs text-gray-400 mt-2"},Ls={class:"space-y-4"},Bs={class:"text-xs font-medium text-gray-500 uppercase tracking-wide mb-2"},Ds={class:"space-y-2"},qs=["data-section-id"],Fs={key:0,class:"text-center text-gray-400 py-8 text-sm"},Ms=ce({__name:"DiagnosisContextModal",props:{open:{type:Boolean},sections:{},tokenEstimate:{},imageTokenEstimate:{},loading:{type:Boolean},focusSection:{},citedSections:{},notApplicableSections:{}},emits:["update:open","refresh"],setup(t,{emit:e}){const s=t,r=P(()=>{const v=new Map;for(const y of s.sections)v.has(y.id)||v.set(y.id,y);return v}),n=P(()=>new Set(Object.keys(s.notApplicableSections??{}))),o=P(()=>new Set(s.citedSections??[])),i=P(()=>Se.map(v=>{if(n.value.has(v.id))return{id:v.id,short:v.short,label:v.label,state:"notApplicable",cited:o.value.has(v.id)};const y=r.value.get(v.id),L=y?y.truncated?"truncated":"present":"absent";return{id:v.id,short:v.short,label:v.label,state:L,cited:o.value.has(v.id)}})),l=P(()=>{const v={present:0,truncated:0,absent:0,notApplicable:0};for(const y of i.value)v[y.state]++;return v}),a={present:"bg-emerald-500",truncated:"bg-amber-500",absent:"bg-gray-300 dark:bg-gray-600",notApplicable:"bg-purple-400"};function d(v){if(v.state==="notApplicable"){const y=s.notApplicableSections?.[v.id];return`${v.label}: not applicable${y?` — ${y}`:""}`}return`${v.label}: ${v.state}${v.cited?" · cited by the diagnosis":""}`}const h=e,{copy:m,copied:b}=Be(),z=P(()=>{const v=[],y=["clusterSummary","sampleError","representativeExecution","executionError","runContext"],L=["testAnnotations","testSource","steps","failingSteps","console","networkRequests","serverLogs","serverTraces","webVitals","ariaSnapshot"],ee=["recurrenceFlakiness","baselineComparison","retryProgression","passedPeers","browserDistribution","affectedTests"],re=["scmInvestigation","selectedCommits"],te=["priorDiagnosis","tracePointers","artifacts"],q=(E,F)=>{const le=s.sections.filter(Ce=>E.includes(Ce.id));le.length>0&&v.push({label:F,items:le})};return q(y,"Primary"),q(L,"Test Evidence"),q(ee,"Analysis"),q(re,"SCM"),q(te,"Other"),v}),_=ne(null);ye(()=>[s.open,s.focusSection],async([v,y])=>{if(!v||!y)return;await zt();const L=document.querySelector(`[data-section-id="${y}"]`);L&&(L.scrollIntoView({behavior:"smooth",block:"start"}),_.value=y,setTimeout(()=>{_.value===y&&(_.value=null)},2500))});function H(v){let y=`## ${v.title}`;const L=[];return L.push(`${v.chars} chars`),v.truncated&&L.push("truncated"),v.items!=null&&L.push(`${v.items} items`),L.length&&(y+=` — ${L.join(", ")}`),y}return(v,y)=>{const L=De,ee=_e,re=ke,te=ot,q=qt;return p(),N(q,{open:t.open,title:"Context sent to AI",ui:{content:"max-w-5xl"},"onUpdate:open":y[2]||(y[2]=E=>h("update:open",E))},{header:Q(()=>[x("div",vs,[x("div",$s,[x("span",_s,[y[3]||(y[3]=C(" Context sent to AI ",-1)),S(L,{topic:"cluster.context-preview"})]),x("span",Ss,[C(" ~"+w(t.tokenEstimate)+" tokens",1),t.imageTokenEstimate?(p(),f(j,{key:0},[C(" ("+w(t.tokenEstimate-t.imageTokenEstimate)+" text + "+w(t.imageTokenEstimate)+" image)",1)],64)):$("",!0)])]),x("div",Rs,[S(ee,{icon:"i-lucide-refresh-cw",size:"xs",color:"neutral",variant:"ghost",loading:t.loading,onClick:y[0]||(y[0]=E=>h("refresh"))},null,8,["loading"]),S(ee,{icon:"i-lucide-x",size:"xs",color:"neutral",variant:"ghost",onClick:y[1]||(y[1]=E=>h("update:open",!1))})])])]),body:Q(()=>[y[7]||(y[7]=x("p",{class:"text-xs text-gray-500 dark:text-gray-400 mb-3"},"Copy individual sections or the full context below.",-1)),x("div",As,[x("div",Cs,[x("p",Ts,[y[4]||(y[4]=C(" Data coverage ",-1)),S(L,{topic:"cluster.coverage"})]),x("p",zs,w(c(l).present)+" present · "+w(c(l).truncated)+" truncated · "+w(c(l).absent)+" absent"+w(c(l).notApplicable?` · ${c(l).notApplicable} n/a`:""),1)]),x("div",Is,[(p(!0),f(j,null,Y(c(i),E=>(p(),f("span",{key:E.id,class:J(["inline-flex items-center gap-1 rounded border px-1.5 py-0.5 text-xs",[E.cited?"border-primary text-primary":"border-default",E.state==="absent"?"text-gray-400 opacity-70":"",E.state==="notApplicable"?"text-purple-500 border-purple-300 dark:border-purple-700":""]]),title:d(E)},[x("span",{class:J(["size-1.5 rounded-full shrink-0",a[E.state]])},null,2),C(" "+w(E.short)+" ",1),E.cited?(p(),N(re,{key:0,name:"i-lucide-quote",class:"size-2.5 shrink-0"})):$("",!0)],10,Es))),128))]),x("p",Ps,[y[5]||(y[5]=C(" Absent or truncated evidence lowers the diagnosis confidence. ",-1)),S(re,{name:"i-lucide-quote",class:"size-2.5 inline"}),y[6]||(y[6]=C(" marks sections the diagnosis cited. ",-1))])]),x("div",Ls,[(p(!0),f(j,null,Y(c(z),E=>(p(),f("div",{key:E.label},[x("p",Bs,w(E.label),1),x("div",Ds,[(p(!0),f(j,null,Y(E.items,F=>(p(),f("div",{key:F.id,"data-section-id":F.id,class:J(["relative rounded-lg transition-shadow",c(_)===F.id?"ring-2 ring-primary":c(o).has(F.id)?"ring-1 ring-primary/40":""])},[S(te,{text:H(F)+`
|
|
5
5
|
|
|
6
|
-
`+F.markdown},null,8,["text"]),S(ee,{icon:c(b)?"i-lucide-check":"i-lucide-clipboard",size:"xs",color:"neutral",variant:"ghost",class:"absolute top-1 right-1",onClick:le=>c(m)(F.markdown)},null,8,["icon","onClick"])],10,qs))),128))])]))),128)),t.sections.length===0&&!t.loading?(p(),f("div",Fs," No context sections available. ")):$("",!0)])]),_:1},8,["open"])}}}),qr=Object.assign(Ms,{__name:"DiagnosisContextModal"});function qe(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ae=qe();function ct(t){ae=t}var ie={exec:()=>null};function
|
|
7
|
-
]`).replace("lheading",pt).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Ys=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,en=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,ht=/^( {2,}|\\)\n(?!\s*$)/,tn=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,ue=/[\p{P}\p{S}]/u,
|
|
6
|
+
`+F.markdown},null,8,["text"]),S(ee,{icon:c(b)?"i-lucide-check":"i-lucide-clipboard",size:"xs",color:"neutral",variant:"ghost",class:"absolute top-1 right-1",onClick:le=>c(m)(F.markdown)},null,8,["icon","onClick"])],10,qs))),128))])]))),128)),t.sections.length===0&&!t.loading?(p(),f("div",Fs," No context sections available. ")):$("",!0)])]),_:1},8,["open"])}}}),qr=Object.assign(Ms,{__name:"DiagnosisContextModal"});function qe(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ae=qe();function ct(t){ae=t}var ie={exec:()=>null};function R(t,e=""){let s=typeof t=="string"?t:t.source,r={replace:(n,o)=>{let i=typeof o=="string"?o:o.source;return i=i.replace(O.caret,"$1"),s=s.replace(n,i),r},getRegex:()=>new RegExp(s,e)};return r}var Ns=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),O={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:t=>new RegExp(`^( {0,3}${t})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}#`),htmlBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}<(?:[a-z].*>|!--)`,"i"),blockquoteBeginRegex:t=>new RegExp(`^ {0,${Math.min(3,t-1)}}>`)},js=/^(?:[ \t]*(?:\n|$))+/,Os=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Hs=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,xe=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Zs=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Fe=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,ut=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,pt=R(ut).replace(/bull/g,Fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Us=R(ut).replace(/bull/g,Fe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Me=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,Vs=/^[^\n]+/,Ne=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Qs=R(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Ne).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Gs=R(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Fe).getRegex(),Re="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",je=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ws=R("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",je).replace("tag",Re).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),dt=R(Me).replace("hr",xe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Re).getRegex(),Xs=R(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",dt).getRegex(),Oe={blockquote:Xs,code:Os,def:Qs,fences:Hs,heading:Zs,hr:xe,html:Ws,lheading:pt,list:Gs,newline:js,paragraph:dt,table:ie,text:Vs},Ke=R("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",xe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Re).getRegex(),Ks={...Oe,lheading:Us,table:Ke,paragraph:R(Me).replace("hr",xe).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Ke).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Re).getRegex()},Js={...Oe,html:R(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",je).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:ie,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:R(Me).replace("hr",xe).replace("heading",` *#{1,6} *[^
|
|
7
|
+
]`).replace("lheading",pt).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Ys=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,en=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,ht=/^( {2,}|\\)\n(?!\s*$)/,tn=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,ue=/[\p{P}\p{S}]/u,Ae=/[\s\p{P}\p{S}]/u,He=/[^\s\p{P}\p{S}]/u,sn=R(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Ae).getRegex(),gt=/(?!~)[\p{P}\p{S}]/u,nn=/(?!~)[\s\p{P}\p{S}]/u,rn=/(?:[^\s\p{P}\p{S}]|~)/u,on=R(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Ns?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),ft=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,an=R(ft,"u").replace(/punct/g,ue).getRegex(),ln=R(ft,"u").replace(/punct/g,gt).getRegex(),kt="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",cn=R(kt,"gu").replace(/notPunctSpace/g,He).replace(/punctSpace/g,Ae).replace(/punct/g,ue).getRegex(),un=R(kt,"gu").replace(/notPunctSpace/g,rn).replace(/punctSpace/g,nn).replace(/punct/g,gt).getRegex(),pn=R("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,He).replace(/punctSpace/g,Ae).replace(/punct/g,ue).getRegex(),dn=R(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,ue).getRegex(),hn="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",gn=R(hn,"gu").replace(/notPunctSpace/g,He).replace(/punctSpace/g,Ae).replace(/punct/g,ue).getRegex(),fn=R(/\\(punct)/,"gu").replace(/punct/g,ue).getRegex(),kn=R(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),xn=R(je).replace("(?:-->|$)","-->").getRegex(),mn=R("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",xn).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),we=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,bn=R(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",we).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),xt=R(/^!?\[(label)\]\[(ref)\]/).replace("label",we).replace("ref",Ne).getRegex(),mt=R(/^!?\[(ref)\](?:\[\])?/).replace("ref",Ne).getRegex(),yn=R("reflink|nolink(?!\\()","g").replace("reflink",xt).replace("nolink",mt).getRegex(),Je=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,Ze={_backpedal:ie,anyPunctuation:fn,autolink:kn,blockSkip:on,br:ht,code:en,del:ie,delLDelim:ie,delRDelim:ie,emStrongLDelim:an,emStrongRDelimAst:cn,emStrongRDelimUnd:pn,escape:Ys,link:bn,nolink:mt,punctuation:sn,reflink:xt,reflinkSearch:yn,tag:mn,text:tn,url:ie},wn={...Ze,link:R(/^!?\[(label)\]\((.*?)\)/).replace("label",we).getRegex(),reflink:R(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",we).getRegex()},Ee={...Ze,emStrongRDelimAst:un,emStrongLDelim:ln,delLDelim:dn,delRDelim:gn,url:R(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",Je).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:R(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",Je).getRegex()},vn={...Ee,br:R(ht).replace("{2,}","*").getRegex(),text:R(Ee.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},be={normal:Oe,gfm:Ks,pedantic:Js},he={normal:Ze,gfm:Ee,breaks:vn,pedantic:wn},$n={"&":"&","<":"<",">":">",'"':""","'":"'"},Ye=t=>$n[t];function K(t,e){if(e){if(O.escapeTest.test(t))return t.replace(O.escapeReplace,Ye)}else if(O.escapeTestNoEncode.test(t))return t.replace(O.escapeReplaceNoEncode,Ye);return t}function et(t){try{t=encodeURI(t).replace(O.percentDecode,"%")}catch{return null}return t}function tt(t,e){let s=t.replace(O.findPipe,(o,i,l)=>{let a=!1,d=i;for(;--d>=0&&l[d]==="\\";)a=!a;return a?"|":" |"}),r=s.split(O.splitPipe),n=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),e)if(r.length>e)r.splice(e);else for(;r.length<e;)r.push("");for(;n<r.length;n++)r[n]=r[n].trim().replace(O.slashPipe,"|");return r}function ge(t,e,s){let r=t.length;if(r===0)return"";let n=0;for(;n<r&&t.charAt(r-n-1)===e;)n++;return t.slice(0,r-n)}function _n(t,e){if(t.indexOf(e[1])===-1)return-1;let s=0;for(let r=0;r<t.length;r++)if(t[r]==="\\")r++;else if(t[r]===e[0])s++;else if(t[r]===e[1]&&(s--,s<0))return r;return s>0?-2:-1}function Sn(t,e=0){let s=e,r="";for(let n of t)if(n===" "){let o=4-s%4;r+=" ".repeat(o),s+=o}else r+=n,s++;return r}function st(t,e,s,r,n){let o=e.href,i=e.title||null,l=t[1].replace(n.other.outputLinkReplace,"$1");r.state.inLink=!0;let a={type:t[0].charAt(0)==="!"?"image":"link",raw:s,href:o,title:i,text:l,tokens:r.inlineTokens(l)};return r.state.inLink=!1,a}function Rn(t,e,s){let r=t.match(s.other.indentCodeCompensation);if(r===null)return e;let n=r[1];return e.split(`
|
|
8
8
|
`).map(o=>{let i=o.match(s.other.beginningSpace);if(i===null)return o;let[l]=i;return l.length>=n.length?o.slice(n.length):o}).join(`
|
|
9
9
|
`)}var ve=class{options;rules;lexer;constructor(t){this.options=t||ae}space(t){let e=this.rules.block.newline.exec(t);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(t){let e=this.rules.block.code.exec(t);if(e){let s=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?s:ge(s,`
|
|
10
|
-
`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let s=e[0],r=
|
|
10
|
+
`)}}}fences(t){let e=this.rules.block.fences.exec(t);if(e){let s=e[0],r=Rn(s,e[3]||"",this.rules);return{type:"code",raw:s,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:r}}}heading(t){let e=this.rules.block.heading.exec(t);if(e){let s=e[2].trim();if(this.rules.other.endingHash.test(s)){let r=ge(s,"#");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(s=r.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:s,tokens:this.lexer.inline(s)}}}hr(t){let e=this.rules.block.hr.exec(t);if(e)return{type:"hr",raw:ge(e[0],`
|
|
11
11
|
`)}}blockquote(t){let e=this.rules.block.blockquote.exec(t);if(e){let s=ge(e[0],`
|
|
12
12
|
`).split(`
|
|
13
13
|
`),r="",n="",o=[];for(;s.length>0;){let i=!1,l=[],a;for(a=0;a<s.length;a++)if(this.rules.other.blockquoteStart.test(s[a]))l.push(s[a]),i=!0;else if(!i)l.push(s[a]);else break;s=s.slice(a);let d=l.join(`
|
|
@@ -61,19 +61,19 @@ ${this.parser.parse(t)}</blockquote>
|
|
|
61
61
|
${t}</tr>
|
|
62
62
|
`}tablecell(t){let e=this.parser.parseInline(t.tokens),s=t.header?"th":"td";return(t.align?`<${s} align="${t.align}">`:`<${s}>`)+e+`</${s}>
|
|
63
63
|
`}strong({tokens:t}){return`<strong>${this.parser.parseInline(t)}</strong>`}em({tokens:t}){return`<em>${this.parser.parseInline(t)}</em>`}codespan({text:t}){return`<code>${K(t,!0)}</code>`}br(t){return"<br>"}del({tokens:t}){return`<del>${this.parser.parseInline(t)}</del>`}link({href:t,title:e,tokens:s}){let r=this.parser.parseInline(s),n=et(t);if(n===null)return r;t=n;let o='<a href="'+t+'"';return e&&(o+=' title="'+K(e)+'"'),o+=">"+r+"</a>",o}image({href:t,title:e,text:s,tokens:r}){r&&(s=this.parser.parseInline(r,this.parser.textRenderer));let n=et(t);if(n===null)return K(s);t=n;let o=`<img src="${t}" alt="${K(s)}"`;return e&&(o+=` title="${K(e)}"`),o+=">",o}text(t){return"tokens"in t&&t.tokens?this.parser.parseInline(t.tokens):"escaped"in t&&t.escaped?t.text:K(t.text)}},Ue=class{strong({text:t}){return t}em({text:t}){return t}codespan({text:t}){return t}del({text:t}){return t}html({text:t}){return t}text({text:t}){return t}link({text:t}){return""+t}image({text:t}){return""+t}br(){return""}checkbox({raw:t}){return t}},W=class Le{options;renderer;textRenderer;constructor(e){this.options=e||ae,this.options.renderer=this.options.renderer||new $e,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Ue}static parse(e,s){return new Le(s).parse(e)}static parseInline(e,s){return new Le(s).parseInline(e)}parse(e){this.renderer.parser=this;let s="";for(let r=0;r<e.length;r++){let n=e[r];if(this.options.extensions?.renderers?.[n.type]){let i=n,l=this.options.extensions.renderers[i.type].call({parser:this},i);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(i.type)){s+=l||"";continue}}let o=n;switch(o.type){case"space":{s+=this.renderer.space(o);break}case"hr":{s+=this.renderer.hr(o);break}case"heading":{s+=this.renderer.heading(o);break}case"code":{s+=this.renderer.code(o);break}case"table":{s+=this.renderer.table(o);break}case"blockquote":{s+=this.renderer.blockquote(o);break}case"list":{s+=this.renderer.list(o);break}case"checkbox":{s+=this.renderer.checkbox(o);break}case"html":{s+=this.renderer.html(o);break}case"def":{s+=this.renderer.def(o);break}case"paragraph":{s+=this.renderer.paragraph(o);break}case"text":{s+=this.renderer.text(o);break}default:{let i='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(i),"";throw new Error(i)}}}return s}parseInline(e,s=this.renderer){this.renderer.parser=this;let r="";for(let n=0;n<e.length;n++){let o=e[n];if(this.options.extensions?.renderers?.[o.type]){let l=this.options.extensions.renderers[o.type].call({parser:this},o);if(l!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(o.type)){r+=l||"";continue}}let i=o;switch(i.type){case"escape":{r+=s.text(i);break}case"html":{r+=s.html(i);break}case"link":{r+=s.link(i);break}case"image":{r+=s.image(i);break}case"checkbox":{r+=s.checkbox(i);break}case"strong":{r+=s.strong(i);break}case"em":{r+=s.em(i);break}case"codespan":{r+=s.codespan(i);break}case"br":{r+=s.br(i);break}case"del":{r+=s.del(i);break}case"text":{r+=s.text(i);break}default:{let l='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return r}},fe=class{options;block;constructor(t){this.options=t||ae}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}emStrongMask(t){return t}provideLexer(t=this.block){return t?G.lex:G.lexInline}provideParser(t=this.block){return t?W.parse:W.parseInline}},bt=class{defaults=qe();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=W;Renderer=$e;TextRenderer=Ue;Lexer=G;Tokenizer=ve;Hooks=fe;constructor(...t){this.use(...t)}walkTokens(t,e){let s=[];for(let r of t)switch(s=s.concat(e.call(this,r)),r.type){case"table":{let n=r;for(let o of n.header)s=s.concat(this.walkTokens(o.tokens,e));for(let o of n.rows)for(let i of o)s=s.concat(this.walkTokens(i.tokens,e));break}case"list":{let n=r;s=s.concat(this.walkTokens(n.items,e));break}default:{let n=r;this.defaults.extensions?.childTokens?.[n.type]?this.defaults.extensions.childTokens[n.type].forEach(o=>{let i=n[o].flat(1/0);s=s.concat(this.walkTokens(i,e))}):n.tokens&&(s=s.concat(this.walkTokens(n.tokens,e)))}}return s}use(...t){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(s=>{let r={...s};if(r.async=this.defaults.async||r.async||!1,s.extensions&&(s.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let o=e.renderers[n.name];o?e.renderers[n.name]=function(...i){let l=n.renderer.apply(this,i);return l===!1&&(l=o.apply(this,i)),l}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let o=e[n.level];o?o.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),r.extensions=e),s.renderer){let n=this.defaults.renderer||new $e(this.defaults);for(let o in s.renderer){if(!(o in n))throw new Error(`renderer '${o}' does not exist`);if(["options","parser"].includes(o))continue;let i=o,l=s.renderer[i],a=n[i];n[i]=(...d)=>{let h=l.apply(n,d);return h===!1&&(h=a.apply(n,d)),h||""}}r.renderer=n}if(s.tokenizer){let n=this.defaults.tokenizer||new ve(this.defaults);for(let o in s.tokenizer){if(!(o in n))throw new Error(`tokenizer '${o}' does not exist`);if(["options","rules","lexer"].includes(o))continue;let i=o,l=s.tokenizer[i],a=n[i];n[i]=(...d)=>{let h=l.apply(n,d);return h===!1&&(h=a.apply(n,d)),h}}r.tokenizer=n}if(s.hooks){let n=this.defaults.hooks||new fe;for(let o in s.hooks){if(!(o in n))throw new Error(`hook '${o}' does not exist`);if(["options","block"].includes(o))continue;let i=o,l=s.hooks[i],a=n[i];fe.passThroughHooks.has(o)?n[i]=d=>{if(this.defaults.async&&fe.passThroughHooksRespectAsync.has(o))return(async()=>{let m=await l.call(n,d);return a.call(n,m)})();let h=l.call(n,d);return a.call(n,h)}:n[i]=(...d)=>{if(this.defaults.async)return(async()=>{let m=await l.apply(n,d);return m===!1&&(m=await a.apply(n,d)),m})();let h=l.apply(n,d);return h===!1&&(h=a.apply(n,d)),h}}r.hooks=n}if(s.walkTokens){let n=this.defaults.walkTokens,o=s.walkTokens;r.walkTokens=function(i){let l=[];return l.push(o.call(this,i)),n&&(l=l.concat(n.call(this,i))),l}}this.defaults={...this.defaults,...r}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,e){return G.lex(t,e??this.defaults)}parser(t,e){return W.parse(t,e??this.defaults)}parseMarkdown(t){return(e,s)=>{let r={...s},n={...this.defaults,...r},o=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&r.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=t),n.async)return(async()=>{let i=n.hooks?await n.hooks.preprocess(e):e,l=await(n.hooks?await n.hooks.provideLexer(t):t?G.lex:G.lexInline)(i,n),a=n.hooks?await n.hooks.processAllTokens(l):l;n.walkTokens&&await Promise.all(this.walkTokens(a,n.walkTokens));let d=await(n.hooks?await n.hooks.provideParser(t):t?W.parse:W.parseInline)(a,n);return n.hooks?await n.hooks.postprocess(d):d})().catch(o);try{n.hooks&&(e=n.hooks.preprocess(e));let i=(n.hooks?n.hooks.provideLexer(t):t?G.lex:G.lexInline)(e,n);n.hooks&&(i=n.hooks.processAllTokens(i)),n.walkTokens&&this.walkTokens(i,n.walkTokens);let l=(n.hooks?n.hooks.provideParser(t):t?W.parse:W.parseInline)(i,n);return n.hooks&&(l=n.hooks.postprocess(l)),l}catch(i){return o(i)}}}onError(t,e){return s=>{if(s.message+=`
|
|
64
|
-
Please report this to https://github.com/markedjs/marked.`,t){let r="<p>An error occurred:</p><pre>"+K(s.message+"",!0)+"</pre>";return e?Promise.resolve(r):r}if(e)return Promise.reject(s);throw s}}},oe=new bt;function T(t,e){return oe.parse(t,e)}T.options=T.setOptions=function(t){return oe.setOptions(t),T.defaults=oe.defaults,ct(T.defaults),T};T.getDefaults=qe;T.defaults=ae;T.use=function(...t){return oe.use(...t),T.defaults=oe.defaults,ct(T.defaults),T};T.walkTokens=function(t,e){return oe.walkTokens(t,e)};T.parseInline=oe.parseInline;T.Parser=W;T.parser=W.parse;T.Renderer=$e;T.TextRenderer=Ue;T.Lexer=G;T.lexer=G.lex;T.Tokenizer=ve;T.Hooks=fe;T.parse=T;T.options;T.setOptions;T.use;T.walkTokens;T.parseInline;W.parse;G.lex;function B(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}const
|
|
64
|
+
Please report this to https://github.com/markedjs/marked.`,t){let r="<p>An error occurred:</p><pre>"+K(s.message+"",!0)+"</pre>";return e?Promise.resolve(r):r}if(e)return Promise.reject(s);throw s}}},oe=new bt;function T(t,e){return oe.parse(t,e)}T.options=T.setOptions=function(t){return oe.setOptions(t),T.defaults=oe.defaults,ct(T.defaults),T};T.getDefaults=qe;T.defaults=ae;T.use=function(...t){return oe.use(...t),T.defaults=oe.defaults,ct(T.defaults),T};T.walkTokens=function(t,e){return oe.walkTokens(t,e)};T.parseInline=oe.parseInline;T.Parser=W;T.parser=W.parse;T.Renderer=$e;T.TextRenderer=Ue;T.Lexer=G;T.lexer=G.lex;T.Tokenizer=ve;T.Hooks=fe;T.parse=T;T.options;T.setOptions;T.use;T.walkTokens;T.parseInline;W.parse;G.lex;function B(t){return t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}const An=/^(?:https?:|mailto:|tel:|[/#?]|[^a-z0-9+.-]|$)/i;function nt(t){return An.test(t.trim().replace(/[-]/g,""))}function yt(t){return new bt({renderer:{html:e=>B(typeof e=="string"?e:e.text),link:e=>{const s=B(e.text||e.href);return t==="text"||!nt(e.href)?e.text&&e.text!==e.href?`${s} (${B(e.href)})`:s:`<a href="${B(e.href)}">${s}</a>`},image:e=>t==="text"||!nt(e.href)?B(e.text||e.href):`<img src="${B(e.href)}" alt="${B(e.text??"")}">`}})}yt("anchor");yt("text");const Cn=Symbol("clusterSectionLocator");function Tn(){return It(Cn,{canLocate:()=>!1,open:()=>{}})}const zn={class:"space-y-3"},In={key:2,class:"space-y-3 rounded-lg border border-default p-4 bg-elevated/30"},En={class:"flex items-start gap-3"},Pn=["title"],Ln={class:"relative size-12"},Bn={viewBox:"0 0 36 36",class:"size-12 -rotate-90"},Dn=["stroke-dasharray"],qn={class:"absolute inset-0 flex items-center justify-center text-xs font-semibold"},Fn={class:"flex-1 min-w-0"},Mn={class:"flex items-start justify-between gap-2"},Nn={class:"flex flex-wrap items-center gap-1.5"},jn={key:4,class:"text-xs text-gray-500 inline-flex items-center gap-1"},On={class:"flex items-center gap-1 shrink-0"},Hn={key:0,class:"text-sm font-medium mt-1.5"},Zn={key:0,class:"text-sm text-gray-600 dark:text-gray-400"},Un={key:1,class:"space-y-1"},Vn={class:"flex flex-wrap items-baseline gap-x-1.5 gap-y-1"},Qn=["title","onClick"],Gn=["title","onClick"],Wn={key:2},Xn={class:"text-sm text-gray-600 dark:text-gray-400"},Kn={key:1,class:"mt-2"},Jn={class:"flex items-center justify-between mb-1"},Yn={class:"flex items-center gap-1.5"},er={class:"flex items-center gap-1"},tr={key:0,class:"text-xs text-rose-600 dark:text-rose-400 mt-1"},sr={key:2,class:"mt-2"},nr={key:3,class:"space-y-1.5"},rr={class:"flex items-center gap-1"},ir={key:0,class:"space-y-1.5"},or={class:"flex items-center gap-1.5"},ar={key:1,class:"flex items-center gap-1.5 flex-1 min-w-0"},lr={class:"h-1.5 flex-1 max-w-24 rounded-full bg-gray-200 dark:bg-gray-700 overflow-hidden"},cr={class:"text-xs text-gray-400 shrink-0"},ur={key:0,class:"text-sm text-gray-600 dark:text-gray-400 mt-1"},pr={class:"space-y-1"},dr=["onClick"],hr={key:5,class:"space-y-1"},gr={class:"flex items-start justify-between gap-3 pt-1 border-t border-default"},fr={class:"flex items-start gap-2"},kr={class:"flex items-center gap-1 shrink-0 pt-0.5"},xr={key:0,class:"flex items-start gap-1.5"},mr={class:"flex items-center gap-1.5 text-xs text-gray-400 shrink-0 pt-0.5"},br={key:3,class:"flex flex-col items-center justify-center p-8 text-center text-gray-400 border border-dashed border-default rounded-lg"},yr=ce({__name:"DiagnosisResult",props:{diagnosis:{},lastSeenRunId:{}},emits:["view-section","prefill-context"],setup(t,{emit:e}){const s=t,{copy:r,copied:n}=Be(),o=Tn(),i=P(()=>s.diagnosis?.details);function l(u,g){return u==null&&g==null?"":`${u??0} in / ${g??0} out tokens`}function a(u){return u.status==="running"&&Date.now()-new Date(u.updatedAt).getTime()>300*1e3}const d=ne(!1),h=ne(!1),m=ne(!1),b=ne(null),z=ne(void 0),_=Pt(new Set);ye(()=>s.diagnosis?.id,()=>_.clear()),ye(()=>s.diagnosis?.feedback,u=>{b.value=u??null},{immediate:!0}),ye(()=>s.diagnosis?.feedbackNote,u=>{z.value=u??void 0},{immediate:!0});async function H(u){if(!s.diagnosis)return;const g=b.value===u?null:u;b.value=g,g||(m.value=!1),d.value=!0;try{await $fetch(`/api/failure-diagnoses/${s.diagnosis.id}/feedback`,{method:"PATCH",body:{feedback:g,feedbackNote:z.value||null}})}catch{b.value=s.diagnosis.feedback??null}finally{d.value=!1}}async function v(){if(s.diagnosis){h.value=!0;try{await $fetch(`/api/failure-diagnoses/${s.diagnosis.id}/feedback`,{method:"PATCH",body:{feedback:b.value,feedbackNote:z.value||null}}),m.value=!1}catch{}finally{h.value=!1}}}const y=P(()=>{const u=s.diagnosis;return!u||u.status!=="completed"||s.lastSeenRunId==null?!1:new Date(u.updatedAt).getTime()<Date.now()-300*1e3});function L(){if(!s.diagnosis||s.diagnosis.status!=="completed")return"";const u=s.diagnosis,g=i.value,k=[];u.category&&k.push(`**Category:** ${u.category}`),u.confidence&&k.push(`**Confidence:** ${u.confidence}${g?.confidenceScore!=null?` (${g.confidenceScore}/100)`:""}`),g?.severity&&k.push(`**Severity:** ${g.severity}`),g?.affectedArea&&k.push(`**Affected area:** ${g.affectedArea}`),k.push(""),u.summary&&k.push(`${u.summary}
|
|
65
65
|
`),u.rootCause&&k.push(`**Root cause:** ${u.rootCause}
|
|
66
|
-
`);const D=g?.evidence??[];D.length&&(k.push("**Evidence:**"),D.forEach(V=>k.push(`- ${V}`)),k.push(""));const
|
|
67
|
-
${
|
|
68
|
-
\`\`\``):
|
|
69
|
-
${
|
|
66
|
+
`);const D=g?.evidence??[];D.length&&(k.push("**Evidence:**"),D.forEach(V=>k.push(`- ${V}`)),k.push(""));const A=g?.suggestedFix;A&&(k.push("**Suggested fix:**"),A.description&&k.push(`${A.description}`),A.file&&k.push(`\`${A.file}\``),A.patch?k.push(`\`\`\`diff
|
|
67
|
+
${A.patch}
|
|
68
|
+
\`\`\``):A.code&&k.push(`\`\`\`
|
|
69
|
+
${A.code}
|
|
70
70
|
\`\`\``),k.push(""));const M=g?.hypotheses?.slice(1)??[];M.length&&(k.push("**Other hypotheses considered:**"),M.forEach(V=>k.push(`- (${V.category??"unknown"}, ${V.likelihood??"?"}/100) ${V.rootCause??""}`)),k.push(""));const Z=g?.investigationSteps??[];Z.length&&(k.push("**To confirm this diagnosis:**"),Z.forEach(V=>k.push(`- ${V}`)),k.push(""));const X=g?.preventionTips??[];return X.length&&(k.push("**Prevention tips:**"),X.forEach(V=>k.push(`- ${V}`)),k.push("")),u.model&&k.push(`_${u.model}_`),k.join(`
|
|
71
|
-
`)}function ee(){if(!s.diagnosis||s.diagnosis.status!=="completed")return"";const u=s.diagnosis,g=i.value,k=["<dl>"];u.category&&k.push(`<dt>Category</dt><dd>${B(u.category)}</dd>`),u.confidence&&k.push(`<dt>Confidence</dt><dd>${B(u.confidence)}${g?.confidenceScore!=null?` (${g.confidenceScore}/100)`:""}</dd>`),g?.severity&&k.push(`<dt>Severity</dt><dd>${B(String(g.severity))}</dd>`),g?.affectedArea&&k.push(`<dt>Affected area</dt><dd>${B(String(g.affectedArea))}</dd>`),k.push("</dl>"),u.summary&&k.push(`<p><strong>${B(u.summary)}</strong></p>`),u.rootCause&&k.push(`<p><strong>Root cause:</strong> ${B(u.rootCause)}</p>`);const D=g?.evidence??[];D.length&&(k.push("<p><strong>Evidence:</strong></p><ul>"),D.forEach(X=>k.push(`<li>${B(X)}</li>`)),k.push("</ul>"));const
|
|
71
|
+
`)}function ee(){if(!s.diagnosis||s.diagnosis.status!=="completed")return"";const u=s.diagnosis,g=i.value,k=["<dl>"];u.category&&k.push(`<dt>Category</dt><dd>${B(u.category)}</dd>`),u.confidence&&k.push(`<dt>Confidence</dt><dd>${B(u.confidence)}${g?.confidenceScore!=null?` (${g.confidenceScore}/100)`:""}</dd>`),g?.severity&&k.push(`<dt>Severity</dt><dd>${B(String(g.severity))}</dd>`),g?.affectedArea&&k.push(`<dt>Affected area</dt><dd>${B(String(g.affectedArea))}</dd>`),k.push("</dl>"),u.summary&&k.push(`<p><strong>${B(u.summary)}</strong></p>`),u.rootCause&&k.push(`<p><strong>Root cause:</strong> ${B(u.rootCause)}</p>`);const D=g?.evidence??[];D.length&&(k.push("<p><strong>Evidence:</strong></p><ul>"),D.forEach(X=>k.push(`<li>${B(X)}</li>`)),k.push("</ul>"));const A=g?.suggestedFix;A&&(k.push("<p><strong>Suggested fix:</strong></p>"),A.description&&k.push(`<p>${B(String(A.description))}</p>`),A.file&&k.push(`<code>${B(String(A.file))}</code>`),A.patch?k.push(`<pre>${B(String(A.patch))}</pre>`):A.code&&k.push(`<pre>${B(String(A.code))}</pre>`));const M=g?.investigationSteps??[];M.length&&(k.push("<p><strong>To confirm this diagnosis:</strong></p><ul>"),M.forEach(X=>k.push(`<li>${B(X)}</li>`)),k.push("</ul>"));const Z=g?.preventionTips??[];return Z.length&&(k.push("<p><strong>Prevention tips:</strong></p><ul>"),Z.forEach(X=>k.push(`<li>${B(X)}</li>`)),k.push("</ul>")),k.join(`
|
|
72
72
|
`)}async function re(){const u=L(),g=ee();if(!(!u&&!g))try{await navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([u],{type:"text/plain"}),"text/html":new Blob([g],{type:"text/html"})})]),it().add({title:"Diagnosis copied",icon:"i-lucide-check",color:"success",duration:2e3})}catch{r(u,{toast:"Diagnosis copied"})}}function te(){const u=s.diagnosis;if(!u)return;const g=u.details?.suggestedFix?.patch;if(!g)return;const k=`git apply <<'EOF'
|
|
73
73
|
${g}
|
|
74
74
|
EOF`;r(k,{toast:"git apply command copied"})}function q(){const u=i.value?.suggestedFix?.patch;if(!u)return;const g=u.endsWith(`
|
|
75
75
|
`)?u:u+`
|
|
76
|
-
`,k=new Blob([g],{type:"text/x-patch"}),D=URL.createObjectURL(k),
|
|
76
|
+
`,k=new Blob([g],{type:"text/x-patch"}),D=URL.createObjectURL(k),A=document.createElement("a");A.href=D,A.download=`piwi-diagnosis-${s.diagnosis?.id??"fix"}.patch`,document.body.appendChild(A),A.click(),setTimeout(()=>{A.remove(),URL.revokeObjectURL(D)},1e3)}const E=P(()=>{const u=i.value?.patchValidation;return u&&typeof u=="object"?u:null}),F=P(()=>{const u=E.value;if(!u)return null;switch(u.status){case"applies":return{color:"success",icon:"i-lucide-badge-check",label:"Applies cleanly",title:"Verified against the real file at the failing commit"};case"applies-with-offset":return{color:"warning",icon:"i-lucide-badge-check",label:"Applies with offset",title:"Context matched at a shifted line — apply should still succeed"};case"stale-file":return{color:"error",icon:"i-lucide-badge-alert",label:"Does not apply",title:u.errors.join(`
|
|
77
77
|
`)||"The file changed since — patch context did not match"};case"invalid":return{color:"error",icon:"i-lucide-badge-alert",label:"Invalid diff",title:u.errors.join(`
|
|
78
78
|
`)||"Could not parse the patch as a unified diff"};default:return{color:"neutral",icon:"i-lucide-badge-help",label:"Unverified",title:"The source file was not in context, so the patch could not be validated"}}}),le={"app-bug":"error","test-bug":"warning","flaky-test":"warning",infrastructure:"info",environment:"secondary",unknown:"neutral"},Ce={high:"success",medium:"warning",low:"neutral"},wt={blocker:"error",high:"warning",medium:"info",low:"neutral"},Ve=e;function vt(){const u=i.value?.investigationSteps??[];if(!u.length)return;const g=["Investigation findings (fill in the results, then re-diagnose):",...u.map(k=>`- ${k}: `)].join(`
|
|
79
|
-
`);Ve("prefill-context",g)}const pe=P(()=>{const u=i.value?.confidenceScore;return typeof u=="number"?u:null}),de=P(()=>{const u=pe.value;return u!==null?u<50:s.diagnosis?.confidence==="low"||s.diagnosis?.category==="unknown"}),$t={"app-bug":"i-lucide-bug","test-bug":"i-lucide-flask-conical","flaky-test":"i-lucide-dice-5",infrastructure:"i-lucide-server",environment:"i-lucide-settings-2",unknown:"i-lucide-circle-help"},_t=P(()=>{const u=s.diagnosis?.confidence;return u==="high"?"text-emerald-500":u==="medium"?"text-amber-500":"text-rose-500"});function Te(u){return lt[u]??u}function St(u){const g=[];return{text:u.replace(/\[([a-zA-Z][a-zA-Z0-9]*)\]/g,(D,R)=>gs(R)?(g.push(R),""):D).replace(/\s{2,}/g," ").trim(),citations:g}}const Qe=P(()=>{const u=i.value?.evidence;return Array.isArray(u)?u.map(St):[]}),ze=P(()=>{const u=i.value?.hypotheses;return Array.isArray(u)?u.slice(1):[]}),me=ne(!1),Ie=P(()=>{const u=i.value?.pipeline;return Array.isArray(u)?u:[]}),Ge=P(()=>Ie.value.reduce((u,g)=>u+(g.cacheReadInputTokens??0),0));return(u,g)=>{const k=Ft,D=Lt,R=De,M=ke,Z=_e,X=Mt,V=ot,At=Nt,Rt=jt;return p(),f("div",zn,[t.diagnosis&&(t.diagnosis.status==="failed"||a(t.diagnosis))?(p(),N(k,{key:0,color:"error",title:"Diagnosis failed",description:t.diagnosis.error||"Unknown error"},null,8,["description"])):$("",!0),c(y)?(p(),N(k,{key:1,color:"warning",icon:"i-lucide-clock",title:"Diagnosis may be stale",description:"New evidence may have appeared since this diagnosis was made. Consider re-running."})):$("",!0),t.diagnosis&&t.diagnosis.status==="completed"?(p(),f("div",In,[x("div",En,[c(pe)!==null?(p(),f("div",{key:0,class:"shrink-0",title:`Confidence ${c(pe)}/100`},[x("div",Ln,[(p(),f("svg",Bn,[g[6]||(g[6]=x("circle",{cx:"18",cy:"18",r:"15.9155",fill:"none",class:"text-gray-200 dark:text-gray-700",stroke:"currentColor","stroke-width":"3"},null,-1)),x("circle",{cx:"18",cy:"18",r:"15.9155",fill:"none",class:J(c(_t)),stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-dasharray":`${c(pe)} 100`},null,10,Dn)])),x("span",qn,w(c(pe)),1)])],8,Pn)):$("",!0),x("div",Fn,[x("div",Mn,[x("div",Nn,[t.diagnosis.category?(p(),N(D,{key:0,color:le[t.diagnosis.category]||"neutral",variant:"subtle",size:"sm",icon:$t[t.diagnosis.category]},{default:Q(()=>[C(w(t.diagnosis.category),1)]),_:1},8,["color","icon"])):$("",!0),t.diagnosis.confidence?(p(),N(D,{key:1,color:Ce[t.diagnosis.confidence]||"neutral",variant:"outline",size:"sm"},{default:Q(()=>[C(w(t.diagnosis.confidence)+" confidence ",1)]),_:1},8,["color"])):$("",!0),t.diagnosis.confidence?(p(),N(R,{key:2,topic:"cluster.confidence"})):$("",!0),c(i)?.severity?(p(),N(D,{key:3,color:wt[c(i).severity]||"neutral",variant:"soft",size:"sm"},{default:Q(()=>[C(w(c(i).severity)+" severity ",1)]),_:1},8,["color"])):$("",!0),c(i)?.affectedArea?(p(),f("span",jn,[S(M,{name:"i-lucide-crosshair",class:"size-3 shrink-0"}),C(" "+w(c(i).affectedArea),1)])):$("",!0)]),x("div",On,[S(R,{topic:"cluster.result"}),S(Z,{icon:c(n)?"i-lucide-check":"i-lucide-clipboard",size:"xs",color:"neutral",variant:"ghost",title:"Copy full diagnosis (Markdown + HTML)",onClick:re},null,8,["icon"])])]),t.diagnosis.summary?(p(),f("p",Hn,w(t.diagnosis.summary),1)):$("",!0)])]),t.diagnosis.rootCause?(p(),f("p",Zn,w(t.diagnosis.rootCause),1)):$("",!0),c(Qe).length?(p(),f("ul",Un,[(p(!0),f(j,null,Y(c(Qe),(I,U)=>(p(),f("li",{key:U,class:"text-sm text-gray-600 dark:text-gray-400 flex gap-1.5"},[g[7]||(g[7]=x("span",{class:"text-gray-400 shrink-0 leading-5"},"•",-1)),x("span",Vn,[x("span",null,w(I.text),1),(p(!0),f(j,null,Y(I.citations,se=>(p(),f("span",{key:se,class:"inline-flex items-center"},[x("button",{class:J(["inline-flex items-center gap-0.5 border border-default px-1.5 text-xs text-gray-500 hover:text-primary hover:border-primary transition-colors",c(o).canLocate(se)?"rounded-l bg-elevated":"rounded bg-elevated"]),title:`View ${Te(se)} in the AI context`,onClick:Ct=>Ve("view-section",se)},[S(M,{name:"i-lucide-link",class:"size-2.5"}),C(" "+w(Te(se)),1)],10,Qn),c(o).canLocate(se)?(p(),f("button",{key:0,class:"inline-flex items-center rounded-r border border-l-0 border-default bg-elevated px-1 text-xs text-gray-500 hover:text-primary hover:border-primary transition-colors",title:`Show ${Te(se)} on the page`,onClick:Ct=>c(o).open(se)},[S(M,{name:"i-lucide-map-pin",class:"size-2.5"})],8,Gn)):$("",!0)]))),128))])]))),128))])):$("",!0),c(i)?.suggestedFix?(p(),f("div",Wn,[g[9]||(g[9]=x("p",{class:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Suggested fix",-1)),x("p",Xn,w(c(i).suggestedFix.description),1),c(i).suggestedFix.file&&!c(i).suggestedFix.patch?(p(),N(X,{key:0,"file-path":c(i).suggestedFix.file,class:"text-xs mt-1"},null,8,["file-path"])):$("",!0),c(i).suggestedFix.patch?(p(),f("div",Kn,[x("div",Jn,[x("div",Yn,[g[8]||(g[8]=x("span",{class:"text-xs text-gray-500 font-mono"},"patch",-1)),c(F)?(p(),N(D,{key:0,color:c(F).color,variant:"subtle",size:"sm",icon:c(F).icon,title:c(F).title},{default:Q(()=>[C(w(c(F).label),1)]),_:1},8,["color","icon","title"])):$("",!0)]),x("div",er,[S(Z,{size:"xs",color:"neutral",variant:"ghost",icon:"i-lucide-download",title:"Download .patch file",onClick:q}),S(Z,{size:"xs",color:"neutral",variant:"ghost",icon:"i-lucide-terminal",title:"Copy git apply command",onClick:te}),S(Z,{icon:c(n)?"i-lucide-check":"i-lucide-clipboard",size:"xs",color:"neutral",variant:"ghost",title:"Copy patch",onClick:g[0]||(g[0]=I=>c(r)(c(i).suggestedFix.patch))},null,8,["icon"])])]),S(V,{text:"```diff\n"+c(i).suggestedFix.patch+"\n```"},null,8,["text"]),c(E)&&(c(E).status==="stale-file"||c(E).status==="invalid")?(p(),f("p",tr,w(c(E).errors[0]||"This patch could not be verified against the source."),1)):$("",!0)])):c(i).suggestedFix.code?(p(),f("div",sr,[S(At,{code:c(i).suggestedFix.code},null,8,["code"])])):$("",!0)])):$("",!0),c(ze).length?(p(),f("div",nr,[x("div",rr,[x("button",{class:"flex items-center gap-1.5 text-xs font-medium text-gray-500 uppercase tracking-wide hover:text-gray-700 dark:hover:text-gray-300",onClick:g[1]||(g[1]=I=>me.value=!c(me))},[S(M,{name:c(me)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3.5"},null,8,["name"]),C(" Other hypotheses considered ("+w(c(ze).length)+") ",1)]),S(R,{topic:"cluster.hypotheses"})]),c(me)?(p(),f("div",ir,[(p(!0),f(j,null,Y(c(ze),(I,U)=>(p(),f("div",{key:U,class:"rounded-md border border-default bg-elevated/40 px-2.5 py-1.5"},[x("div",or,[I.category?(p(),N(D,{key:0,color:le[I.category]||"neutral",variant:"subtle",size:"sm"},{default:Q(()=>[C(w(I.category),1)]),_:2},1032,["color"])):$("",!0),typeof I.likelihood=="number"?(p(),f("div",ar,[x("div",lr,[x("div",{class:"h-full rounded-full bg-gray-400 dark:bg-gray-500",style:rt({width:`${I.likelihood}%`})},null,4)]),x("span",cr,w(I.likelihood)+"/100",1)])):$("",!0)]),I.rootCause?(p(),f("p",ur,w(I.rootCause),1)):$("",!0)]))),128))])):$("",!0)])):$("",!0),c(i)?.investigationSteps?.length?(p(),f("div",{key:4,class:J(["space-y-1.5",c(de)?"rounded-lg border border-amber-300/60 dark:border-amber-500/30 bg-amber-50/60 dark:bg-amber-500/10 p-3":""])},[x("p",{class:J(["text-xs font-medium uppercase tracking-wide flex items-center gap-1.5",c(de)?"text-amber-700 dark:text-amber-400":"text-gray-500"])},[c(de)?(p(),N(M,{key:0,name:"i-lucide-flask-conical",class:"size-3.5 shrink-0"})):$("",!0),C(" "+w(c(de)?"Low confidence — gather more evidence":"To confirm this diagnosis"),1)],2),x("ul",pr,[(p(!0),f(j,null,Y(c(i).investigationSteps,(I,U)=>(p(),f("li",{key:U,class:J(["text-sm flex gap-2 items-start cursor-pointer select-none",c(_).has(Number(U))?"text-gray-400 dark:text-gray-500 line-through":"text-gray-600 dark:text-gray-400"]),onClick:se=>c(_).has(Number(U))?c(_).delete(Number(U)):c(_).add(Number(U))},[S(M,{name:c(_).has(Number(U))?"i-lucide-check-square":"i-lucide-square",class:J(["size-4 shrink-0 mt-0.5",c(_).has(Number(U))?"text-primary":"text-gray-400"])},null,8,["name","class"]),C(" "+w(I),1)],10,dr))),128))]),c(de)?(p(),N(Z,{key:0,size:"xs",color:"warning",variant:"soft",icon:"i-lucide-clipboard-pen",class:"mt-1",title:"Pre-fill the additional-context box with these checks, then re-diagnose",onClick:vt},{default:Q(()=>[...g[10]||(g[10]=[C(" Add to context & refine ",-1)])]),_:1})):$("",!0)],2)):$("",!0),c(i)?.preventionTips?.length?(p(),f("ul",hr,[g[11]||(g[11]=x("li",{class:"text-xs font-medium text-gray-500 uppercase tracking-wide"},"Prevention tips",-1)),(p(!0),f(j,null,Y(c(i).preventionTips,(I,U)=>(p(),f("li",{key:U,class:"text-sm text-gray-600 dark:text-gray-400 flex gap-1.5"},[S(M,{name:"i-lucide-lightbulb",class:"size-3.5 shrink-0 mt-0.5 text-yellow-500"}),C(" "+w(I),1)]))),128))])):$("",!0),x("div",gr,[x("div",fr,[x("div",kr,[S(Z,{icon:(c(b)==="up","i-lucide-thumbs-up"),color:c(b)==="up"?"success":"neutral",variant:"ghost",size:"xs",loading:c(d),onClick:g[2]||(g[2]=I=>H("up"))},null,8,["icon","color","loading"]),S(Z,{icon:(c(b)==="down","i-lucide-thumbs-down"),color:c(b)==="down"?"error":"neutral",variant:"ghost",size:"xs",loading:c(d),onClick:g[3]||(g[3]=I=>H("down"))},null,8,["icon","color","loading"]),c(b)?(p(),f("button",{key:0,class:"text-xs text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 ml-1 transition-colors",onClick:g[4]||(g[4]=I=>m.value=!c(m))},[S(M,{name:c(m)?"i-lucide-chevron-up":"i-lucide-chevron-down",class:"size-3"},null,8,["name"]),C(" "+w(c(z)?"Edit note":"Note"),1)])):$("",!0)]),c(m)?(p(),f("div",xr,[S(Rt,{modelValue:c(z),"onUpdate:modelValue":g[5]||(g[5]=I=>Et(z)?z.value=I:null),size:"xs",placeholder:"Add a note about this feedback…",class:"max-w-64",ui:{base:"text-xs"},rows:2},null,8,["modelValue"]),S(Z,{size:"xs",color:"primary",variant:"solid",loading:c(h),onClick:v},{default:Q(()=>[...g[12]||(g[12]=[C(" Save ",-1)])]),_:1},8,["loading"])])):$("",!0)]),x("div",mr,[c(Ie).length>1?(p(),N(D,{key:0,color:"neutral",variant:"subtle",size:"sm",icon:"i-lucide-workflow",title:c(Ie).map(I=>`${I.role}: ${I.model}`).join(" → ")},{default:Q(()=>[...g[13]||(g[13]=[C(" 2-stage ",-1)])]),_:1},8,["title"])):$("",!0),x("span",null,[C(w(t.diagnosis.model)+" · "+w(l(t.diagnosis.inputTokens,t.diagnosis.outputTokens)),1),c(Ge)>0?(p(),f(j,{key:0},[C(" ("+w(c(Ge))+" cached)",1)],64)):$("",!0),C(" · "+w(c(Dt)(t.diagnosis.updatedAt)),1)])])])])):$("",!0),t.diagnosis?$("",!0):(p(),f("div",br,[S(M,{name:"i-lucide-sparkles",class:"size-8 mb-2 opacity-30"}),g[14]||(g[14]=x("p",{class:"text-sm"},"Diagnosis will appear here",-1))]))])}}}),Fr=Object.assign(yr,{__name:"DiagnosisResult"});export{zr as _,ot as a,Er as b,Cn as c,Dr as d,Fr as e,qr as f,Lr as g,Br as h,Ir as i,Pr as s,Ot as u};
|
|
79
|
+
`);Ve("prefill-context",g)}const pe=P(()=>{const u=i.value?.confidenceScore;return typeof u=="number"?u:null}),de=P(()=>{const u=pe.value;return u!==null?u<50:s.diagnosis?.confidence==="low"||s.diagnosis?.category==="unknown"}),$t={"app-bug":"i-lucide-bug","test-bug":"i-lucide-flask-conical","flaky-test":"i-lucide-dice-5",infrastructure:"i-lucide-server",environment:"i-lucide-settings-2",unknown:"i-lucide-circle-help"},_t=P(()=>{const u=s.diagnosis?.confidence;return u==="high"?"text-emerald-500":u==="medium"?"text-amber-500":"text-rose-500"});function Te(u){return lt[u]??u}function St(u){const g=[];return{text:u.replace(/\[([a-zA-Z][a-zA-Z0-9]*)\]/g,(D,A)=>gs(A)?(g.push(A),""):D).replace(/\s{2,}/g," ").trim(),citations:g}}const Qe=P(()=>{const u=i.value?.evidence;return Array.isArray(u)?u.map(St):[]}),ze=P(()=>{const u=i.value?.hypotheses;return Array.isArray(u)?u.slice(1):[]}),me=ne(!1),Ie=P(()=>{const u=i.value?.pipeline;return Array.isArray(u)?u:[]}),Ge=P(()=>Ie.value.reduce((u,g)=>u+(g.cacheReadInputTokens??0),0));return(u,g)=>{const k=Ft,D=Lt,A=De,M=ke,Z=_e,X=Mt,V=ot,Rt=Nt,At=jt;return p(),f("div",zn,[t.diagnosis&&(t.diagnosis.status==="failed"||a(t.diagnosis))?(p(),N(k,{key:0,color:"error",title:"Diagnosis failed",description:t.diagnosis.error||"Unknown error"},null,8,["description"])):$("",!0),c(y)?(p(),N(k,{key:1,color:"warning",icon:"i-lucide-clock",title:"Diagnosis may be stale",description:"New evidence may have appeared since this diagnosis was made. Consider re-running."})):$("",!0),t.diagnosis&&t.diagnosis.status==="completed"?(p(),f("div",In,[x("div",En,[c(pe)!==null?(p(),f("div",{key:0,class:"shrink-0",title:`Confidence ${c(pe)}/100`},[x("div",Ln,[(p(),f("svg",Bn,[g[6]||(g[6]=x("circle",{cx:"18",cy:"18",r:"15.9155",fill:"none",class:"text-gray-200 dark:text-gray-700",stroke:"currentColor","stroke-width":"3"},null,-1)),x("circle",{cx:"18",cy:"18",r:"15.9155",fill:"none",class:J(c(_t)),stroke:"currentColor","stroke-width":"3","stroke-linecap":"round","stroke-dasharray":`${c(pe)} 100`},null,10,Dn)])),x("span",qn,w(c(pe)),1)])],8,Pn)):$("",!0),x("div",Fn,[x("div",Mn,[x("div",Nn,[t.diagnosis.category?(p(),N(D,{key:0,color:le[t.diagnosis.category]||"neutral",variant:"subtle",size:"sm",icon:$t[t.diagnosis.category]},{default:Q(()=>[C(w(t.diagnosis.category),1)]),_:1},8,["color","icon"])):$("",!0),t.diagnosis.confidence?(p(),N(D,{key:1,color:Ce[t.diagnosis.confidence]||"neutral",variant:"outline",size:"sm"},{default:Q(()=>[C(w(t.diagnosis.confidence)+" confidence ",1)]),_:1},8,["color"])):$("",!0),t.diagnosis.confidence?(p(),N(A,{key:2,topic:"cluster.confidence"})):$("",!0),c(i)?.severity?(p(),N(D,{key:3,color:wt[c(i).severity]||"neutral",variant:"soft",size:"sm"},{default:Q(()=>[C(w(c(i).severity)+" severity ",1)]),_:1},8,["color"])):$("",!0),c(i)?.affectedArea?(p(),f("span",jn,[S(M,{name:"i-lucide-crosshair",class:"size-3 shrink-0"}),C(" "+w(c(i).affectedArea),1)])):$("",!0)]),x("div",On,[S(A,{topic:"cluster.result"}),S(Z,{icon:c(n)?"i-lucide-check":"i-lucide-clipboard",size:"xs",color:"neutral",variant:"ghost",title:"Copy full diagnosis (Markdown + HTML)",onClick:re},null,8,["icon"])])]),t.diagnosis.summary?(p(),f("p",Hn,w(t.diagnosis.summary),1)):$("",!0)])]),t.diagnosis.rootCause?(p(),f("p",Zn,w(t.diagnosis.rootCause),1)):$("",!0),c(Qe).length?(p(),f("ul",Un,[(p(!0),f(j,null,Y(c(Qe),(I,U)=>(p(),f("li",{key:U,class:"text-sm text-gray-600 dark:text-gray-400 flex gap-1.5"},[g[7]||(g[7]=x("span",{class:"text-gray-400 shrink-0 leading-5"},"•",-1)),x("span",Vn,[x("span",null,w(I.text),1),(p(!0),f(j,null,Y(I.citations,se=>(p(),f("span",{key:se,class:"inline-flex items-center"},[x("button",{class:J(["inline-flex items-center gap-0.5 border border-default px-1.5 text-xs text-gray-500 hover:text-primary hover:border-primary transition-colors",c(o).canLocate(se)?"rounded-l bg-elevated":"rounded bg-elevated"]),title:`View ${Te(se)} in the AI context`,onClick:Ct=>Ve("view-section",se)},[S(M,{name:"i-lucide-link",class:"size-2.5"}),C(" "+w(Te(se)),1)],10,Qn),c(o).canLocate(se)?(p(),f("button",{key:0,class:"inline-flex items-center rounded-r border border-l-0 border-default bg-elevated px-1 text-xs text-gray-500 hover:text-primary hover:border-primary transition-colors",title:`Show ${Te(se)} on the page`,onClick:Ct=>c(o).open(se)},[S(M,{name:"i-lucide-map-pin",class:"size-2.5"})],8,Gn)):$("",!0)]))),128))])]))),128))])):$("",!0),c(i)?.suggestedFix?(p(),f("div",Wn,[g[9]||(g[9]=x("p",{class:"text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Suggested fix",-1)),x("p",Xn,w(c(i).suggestedFix.description),1),c(i).suggestedFix.file&&!c(i).suggestedFix.patch?(p(),N(X,{key:0,"file-path":c(i).suggestedFix.file,class:"text-xs mt-1"},null,8,["file-path"])):$("",!0),c(i).suggestedFix.patch?(p(),f("div",Kn,[x("div",Jn,[x("div",Yn,[g[8]||(g[8]=x("span",{class:"text-xs text-gray-500 font-mono"},"patch",-1)),c(F)?(p(),N(D,{key:0,color:c(F).color,variant:"subtle",size:"sm",icon:c(F).icon,title:c(F).title},{default:Q(()=>[C(w(c(F).label),1)]),_:1},8,["color","icon","title"])):$("",!0)]),x("div",er,[S(Z,{size:"xs",color:"neutral",variant:"ghost",icon:"i-lucide-download",title:"Download .patch file",onClick:q}),S(Z,{size:"xs",color:"neutral",variant:"ghost",icon:"i-lucide-terminal",title:"Copy git apply command",onClick:te}),S(Z,{icon:c(n)?"i-lucide-check":"i-lucide-clipboard",size:"xs",color:"neutral",variant:"ghost",title:"Copy patch",onClick:g[0]||(g[0]=I=>c(r)(c(i).suggestedFix.patch))},null,8,["icon"])])]),S(V,{text:"```diff\n"+c(i).suggestedFix.patch+"\n```"},null,8,["text"]),c(E)&&(c(E).status==="stale-file"||c(E).status==="invalid")?(p(),f("p",tr,w(c(E).errors[0]||"This patch could not be verified against the source."),1)):$("",!0)])):c(i).suggestedFix.code?(p(),f("div",sr,[S(Rt,{code:c(i).suggestedFix.code},null,8,["code"])])):$("",!0)])):$("",!0),c(ze).length?(p(),f("div",nr,[x("div",rr,[x("button",{class:"flex items-center gap-1.5 text-xs font-medium text-gray-500 uppercase tracking-wide hover:text-gray-700 dark:hover:text-gray-300",onClick:g[1]||(g[1]=I=>me.value=!c(me))},[S(M,{name:c(me)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3.5"},null,8,["name"]),C(" Other hypotheses considered ("+w(c(ze).length)+") ",1)]),S(A,{topic:"cluster.hypotheses"})]),c(me)?(p(),f("div",ir,[(p(!0),f(j,null,Y(c(ze),(I,U)=>(p(),f("div",{key:U,class:"rounded-md border border-default bg-elevated/40 px-2.5 py-1.5"},[x("div",or,[I.category?(p(),N(D,{key:0,color:le[I.category]||"neutral",variant:"subtle",size:"sm"},{default:Q(()=>[C(w(I.category),1)]),_:2},1032,["color"])):$("",!0),typeof I.likelihood=="number"?(p(),f("div",ar,[x("div",lr,[x("div",{class:"h-full rounded-full bg-gray-400 dark:bg-gray-500",style:rt({width:`${I.likelihood}%`})},null,4)]),x("span",cr,w(I.likelihood)+"/100",1)])):$("",!0)]),I.rootCause?(p(),f("p",ur,w(I.rootCause),1)):$("",!0)]))),128))])):$("",!0)])):$("",!0),c(i)?.investigationSteps?.length?(p(),f("div",{key:4,class:J(["space-y-1.5",c(de)?"rounded-lg border border-amber-300/60 dark:border-amber-500/30 bg-amber-50/60 dark:bg-amber-500/10 p-3":""])},[x("p",{class:J(["text-xs font-medium uppercase tracking-wide flex items-center gap-1.5",c(de)?"text-amber-700 dark:text-amber-400":"text-gray-500"])},[c(de)?(p(),N(M,{key:0,name:"i-lucide-flask-conical",class:"size-3.5 shrink-0"})):$("",!0),C(" "+w(c(de)?"Low confidence — gather more evidence":"To confirm this diagnosis"),1)],2),x("ul",pr,[(p(!0),f(j,null,Y(c(i).investigationSteps,(I,U)=>(p(),f("li",{key:U,class:J(["text-sm flex gap-2 items-start cursor-pointer select-none",c(_).has(Number(U))?"text-gray-400 dark:text-gray-500 line-through":"text-gray-600 dark:text-gray-400"]),onClick:se=>c(_).has(Number(U))?c(_).delete(Number(U)):c(_).add(Number(U))},[S(M,{name:c(_).has(Number(U))?"i-lucide-check-square":"i-lucide-square",class:J(["size-4 shrink-0 mt-0.5",c(_).has(Number(U))?"text-primary":"text-gray-400"])},null,8,["name","class"]),C(" "+w(I),1)],10,dr))),128))]),c(de)?(p(),N(Z,{key:0,size:"xs",color:"warning",variant:"soft",icon:"i-lucide-clipboard-pen",class:"mt-1",title:"Pre-fill the additional-context box with these checks, then re-diagnose",onClick:vt},{default:Q(()=>[...g[10]||(g[10]=[C(" Add to context & refine ",-1)])]),_:1})):$("",!0)],2)):$("",!0),c(i)?.preventionTips?.length?(p(),f("ul",hr,[g[11]||(g[11]=x("li",{class:"text-xs font-medium text-gray-500 uppercase tracking-wide"},"Prevention tips",-1)),(p(!0),f(j,null,Y(c(i).preventionTips,(I,U)=>(p(),f("li",{key:U,class:"text-sm text-gray-600 dark:text-gray-400 flex gap-1.5"},[S(M,{name:"i-lucide-lightbulb",class:"size-3.5 shrink-0 mt-0.5 text-yellow-500"}),C(" "+w(I),1)]))),128))])):$("",!0),x("div",gr,[x("div",fr,[x("div",kr,[S(Z,{icon:(c(b)==="up","i-lucide-thumbs-up"),color:c(b)==="up"?"success":"neutral",variant:"ghost",size:"xs",loading:c(d),onClick:g[2]||(g[2]=I=>H("up"))},null,8,["icon","color","loading"]),S(Z,{icon:(c(b)==="down","i-lucide-thumbs-down"),color:c(b)==="down"?"error":"neutral",variant:"ghost",size:"xs",loading:c(d),onClick:g[3]||(g[3]=I=>H("down"))},null,8,["icon","color","loading"]),c(b)?(p(),f("button",{key:0,class:"text-xs text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 ml-1 transition-colors",onClick:g[4]||(g[4]=I=>m.value=!c(m))},[S(M,{name:c(m)?"i-lucide-chevron-up":"i-lucide-chevron-down",class:"size-3"},null,8,["name"]),C(" "+w(c(z)?"Edit note":"Note"),1)])):$("",!0)]),c(m)?(p(),f("div",xr,[S(At,{modelValue:c(z),"onUpdate:modelValue":g[5]||(g[5]=I=>Et(z)?z.value=I:null),size:"xs",placeholder:"Add a note about this feedback…",class:"max-w-64",ui:{base:"text-xs"},rows:2},null,8,["modelValue"]),S(Z,{size:"xs",color:"primary",variant:"solid",loading:c(h),onClick:v},{default:Q(()=>[...g[12]||(g[12]=[C(" Save ",-1)])]),_:1},8,["loading"])])):$("",!0)]),x("div",mr,[c(Ie).length>1?(p(),N(D,{key:0,color:"neutral",variant:"subtle",size:"sm",icon:"i-lucide-workflow",title:c(Ie).map(I=>`${I.role}: ${I.model}`).join(" → ")},{default:Q(()=>[...g[13]||(g[13]=[C(" 2-stage ",-1)])]),_:1},8,["title"])):$("",!0),x("span",null,[C(w(t.diagnosis.model)+" · "+w(l(t.diagnosis.inputTokens,t.diagnosis.outputTokens)),1),c(Ge)>0?(p(),f(j,{key:0},[C(" ("+w(c(Ge))+" cached)",1)],64)):$("",!0),C(" · "+w(c(Dt)(t.diagnosis.updatedAt)),1)])])])])):$("",!0),t.diagnosis?$("",!0):(p(),f("div",br,[S(M,{name:"i-lucide-sparkles",class:"size-8 mb-2 opacity-30"}),g[14]||(g[14]=x("p",{class:"text-sm"},"Diagnosis will appear here",-1))]))])}}}),Fr=Object.assign(yr,{__name:"DiagnosisResult"});export{zr as _,ot as a,Er as b,Cn as c,Dr as d,Fr as e,qr as f,Lr as g,Br as h,Ir as i,Pr as s,Ot as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ca as s}from"./
|
|
1
|
+
import{ca as s}from"./BzBaMPgu.js";import{h as o}from"./BcHU1KNK.js";const c=[{id:"instance",label:"Instance"},{id:"analysis",label:"Analysis"},{id:"meta",label:""}],n=[{id:"account",label:"Account",icon:"i-lucide-user-round",to:"/settings/account",group:"instance",authOnly:!0,fields:[{id:"account.display-name",label:"Display name",help:"account.display-name"},{id:"account.email",label:"Email address",help:"account.email"},{id:"account.connected-accounts",label:"Connected accounts",help:"account.connected-accounts"},{id:"account.password",label:"Password",help:"account.password"},{id:"account.auth-toggle",label:"Authentication",help:"settings.auth-toggle",envOnly:!0}]},{id:"users",label:"Users",icon:"i-lucide-users",to:"/settings/users",group:"instance",roles:[s.ADMINISTRATOR],authOnly:!0,introHelp:"settings.users",fields:[{id:"users.list",label:"Users & roles",help:"settings.users"},{id:"users.api-keys",label:"API keys",help:"settings.api-keys"}]},{id:"notifications",label:"Notifications",icon:"i-lucide-bell",to:"/settings/notifications",group:"instance",fields:[{id:"notifications.smtp",label:"SMTP email delivery",help:"settings.smtp",envOnly:!0},{id:"notifications.test-email",label:"Send test email",help:"notifications.test-email"},{id:"notifications.channels",label:"Notification channels",help:"notifications.channels"},{id:"notifications.subscriptions",label:"My subscriptions",help:"notifications.subscriptions"}]},{id:"tags",label:"Tags",icon:"i-lucide-tags",to:"/settings/tags",group:"analysis",roles:[s.ADMINISTRATOR],introHelp:"settings.tags",fields:[{id:"tags.list",label:"Tags",help:"settings.tags"}]},{id:"storage",label:"Storage",icon:"i-lucide-hard-drive",to:"/settings/storage",group:"instance",roles:[s.ADMINISTRATOR],fields:[{id:"storage.backend",label:"Storage backend",help:"settings.storage-backend",envOnly:!0},{id:"storage.stats",label:"Storage statistics",help:"settings.storage-stats"},{id:"storage.cleanup",label:"Cleanup old test runs",help:"settings.cleanup"}]},{id:"performance",label:"Performance",icon:"i-lucide-gauge",to:"/settings/performance",group:"analysis",roles:[s.ADMINISTRATOR],fields:[{id:"wasted-time.patterns",label:"Wasted-time patterns",help:"settings.wasted-time"},{id:"timeout-hygiene.thresholds",label:"Detection thresholds",help:"settings.timeout-hygiene"}]},{id:"pr-feedback",label:"Pull requests",icon:"i-lucide-git-pull-request",to:"/settings/pr-feedback",group:"analysis",roles:[s.ADMINISTRATOR],introHelp:"settings.pr-feedback",fields:[{id:"pr-feedback.settings",label:"Pull-request feedback",help:"settings.pr-feedback"}]},{id:"ai",label:"AI diagnosis",icon:"i-lucide-sparkles",to:"/settings/ai",group:"analysis",roles:[s.ADMINISTRATOR],fields:[{id:"ai.diagnosis",label:"Diagnosis model",help:"settings.ai-provider"},{id:"ai.research",label:"Research model",help:"settings.ai-research"},{id:"ai.embedding",label:"Embedding model",help:"settings.embedding-model"},{id:"ai.auto-diagnose",label:"Auto-diagnose",help:"settings.auto-diagnose"},{id:"ai.context-limits",label:"Diagnosis context limits",help:"settings.ai-limits"},{id:"ai.instructions",label:"Global analysis instructions",help:"settings.ai-instructions"},{id:"ai.scm-token",label:"Repository access token",help:"project.scm-token"},{id:"ai.privacy",label:"Privacy notice",help:"settings.privacy"}]},{id:"about",label:"About",icon:"i-lucide-info",to:"/settings/about",group:"meta",fields:[]}];function r(i){return o(i.help)}function g(i){const t=new Set;for(const a of i.fields)for(const e of r(a))t.add(e);return[...t]}function p(i){const t=n.find(a=>a.id===i);if(!t)throw new Error(`Unknown settings page: ${i}`);return t}function b(i){const t=n.filter(e=>(!e.roles||i.canSeeAdmin)&&!(i.isDesktop&&e.authOnly)),a=e=>({label:e.label,icon:e.icon,to:e.to,...i.envManaged?.[e.id]?{badge:{icon:"i-lucide-lock",color:"neutral"}}:{}});return c.map(e=>t.filter(l=>l.group===e.id).map(a)).filter(e=>e.length>0)}export{b,p as g,g as p};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{av as o}from"./BzBaMPgu.js";function n(){const e=o()?.vnode?.scopeId;return e?{[e]:""}:{}}export{n as u};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{x as U,y as g,z as q,A as Q,B as Z,D as ee,E as
|
|
1
|
+
import{x as U,y as g,z as q,A as Q,B as Z,D as ee,E as J,X as te,C as ne,c as R,d as ae,i as re,e as se,F as $,j as ie,G as B,f as Y,g as X,k as oe,r as O,n as P,s as T,l as W,H as z,I,J as le,K as ce,p as ue,t as de,P as he,v as ye}from"./CbuK1HIv.js";import{d as fe,ao as pe,C as ve,L as ge,ad as me,a as V,o as ke,c as xe,v as be,r as Se}from"./BzBaMPgu.js";function Ae(p,n,e){var r=null,s=g(!0),l=null,o=q,c=null,m=U(a);p=typeof p=="function"?p:p===void 0?Q:g(+p),n=typeof n=="function"?n:n===void 0?g(0):g(+n),e=typeof e=="function"?e:e===void 0?Z:g(+e);function a(t){var u,x,d,h=(t=ee(t)).length,f,v=!1,b,i=new Array(h),y=new Array(h);for(l==null&&(c=o(b=m())),u=0;u<=h;++u){if(!(u<h&&s(f=t[u],u,t))===v)if(v=!v)x=u,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),d=u-1;d>=x;--d)c.point(i[d],y[d]);c.lineEnd(),c.areaEnd()}v&&(i[u]=+p(f,u,t),y[u]=+n(f,u,t),c.point(r?+r(f,u,t):i[u],e?+e(f,u,t):y[u]))}if(b)return c=null,b+""||null}function k(){return J().defined(s).curve(o).context(l)}return a.x=function(t){return arguments.length?(p=typeof t=="function"?t:g(+t),r=null,a):p},a.x0=function(t){return arguments.length?(p=typeof t=="function"?t:g(+t),a):p},a.x1=function(t){return arguments.length?(r=t==null?null:typeof t=="function"?t:g(+t),a):r},a.y=function(t){return arguments.length?(n=typeof t=="function"?t:g(+t),e=null,a):n},a.y0=function(t){return arguments.length?(n=typeof t=="function"?t:g(+t),a):n},a.y1=function(t){return arguments.length?(e=t==null?null:typeof t=="function"?t:g(+t),a):e},a.lineX0=a.lineY0=function(){return k().x(p).y(n)},a.lineY1=function(){return k().x(p).y(e)},a.lineX1=function(){return k().x(r).y(n)},a.defined=function(t){return arguments.length?(s=typeof t=="function"?t:g(!!t),a):s},a.curve=function(t){return arguments.length?(o=t,l!=null&&(c=o(l)),a):o},a.context=function(t){return arguments.length?(t==null?l=c=null:c=o(l=t),a):l},a}const De=Object.assign(Object.assign({},te),{color:void 0,curveType:ne.MonotoneX,baseline:()=>0,opacity:1,cursor:null,line:!1,lineColor:void 0,lineWidth:2,lineDashArray:void 0,minHeight1Px:!1,minHeight:void 0,stackMinHeight:!1}),K=R`
|
|
2
2
|
label: area-component;
|
|
3
3
|
`,Ce=re`
|
|
4
4
|
:root {
|
|
@@ -20,7 +20,7 @@ import{x as U,y as g,z as q,A as Q,B as Z,D as ee,E as V,X as te,C as ne,c as E,
|
|
|
20
20
|
--vis-area-stroke-color: var(--vis-dark-area-stroke-color);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
`,w=
|
|
23
|
+
`,w=R`
|
|
24
24
|
label: area;
|
|
25
25
|
cursor: var(--vis-area-cursor);
|
|
26
26
|
fill-opacity: var(--vis-area-fill-opacity);
|
|
@@ -33,9 +33,9 @@ import{x as U,y as g,z as q,A as Q,B as Z,D as ee,E as V,X as te,C as ne,c as E,
|
|
|
33
33
|
fill-opacity: var(--vis-area-hover-fill-opacity);
|
|
34
34
|
stroke-width: var(--vis-area-hover-stroke-width);
|
|
35
35
|
}
|
|
36
|
-
`,
|
|
36
|
+
`,E=R`
|
|
37
37
|
label: areaLinePath;
|
|
38
38
|
fill: none;
|
|
39
39
|
stroke-dasharray: var(--vis-line-stroke-dasharray);
|
|
40
40
|
stroke-dashoffset: var(--vis-line-stroke-dashoffset);
|
|
41
|
-
`,Me=Object.freeze(Object.defineProperty({__proto__:null,area:w,areaLinePath:
|
|
41
|
+
`,Me=Object.freeze(Object.defineProperty({__proto__:null,area:w,areaLinePath:E,globalStyles:Ce,root:K},Symbol.toStringTag,{value:"Module"}));class H extends se{constructor(n){super(),this._defaultConfig=De,this.config=this._defaultConfig,this.stacked=!0,this.events={[H.selectors.area]:{}},n&&this.setConfig(n),this.stacked=Array.isArray(this.config.y)}get bleed(){const{config:{line:n,lineWidth:e}}=this;if(!n)return{top:0,bottom:0,left:0,right:0};const r=this.yScale.domain(),l=(this.yScale.range()[0]>this.yScale.range()[1]?$.North:$.South)===$.South,o=e>3,c=e>=10;return{top:!c&&(!l&&r[1]===0||l&&r[0]===0)?0:e/2,bottom:!c&&(!l&&r[0]===0||l&&r[1]===0)?0:e/2,left:o?e/2:0,right:o?e/2:0}}_render(n){super._render(n);const{config:e,datamodel:{data:r}}=this,s=ie(n)?n:e.duration,l=B[e.curveType];this._areaGen=Ae().x(i=>i.x).y0(i=>i.y0).y1(i=>i.y1).curve(l);const o=Y(e.y)?e.y:[e.y],c=r.map((i,y)=>this.xScale(X(i,e.x,y))),m=oe(r,e.baseline,o,this._prevNegative);this._prevNegative=m.map(i=>!!i.isMostlyNegative);const a=this.yScale.range(),k=Math.min(a[0],a[1]),t=Math.max(a[0],a[1]),u=[],x=m.map(i=>i.map((y,A)=>{var S,D;const F=c[A],L=O(this.yScale(y[0]),k,t),j=O(this.yScale(y[1]),k,t),G=j>L,C=e.stackMinHeight&&u[A]||0,N=G?L+C:L-C,M=G?j+C:j-C;let _=0;return(e.minHeight||e.minHeight1Px)&&Math.abs(M-N)<((S=e.minHeight)!==null&&S!==void 0?S:1)&&(_=((D=e.minHeight)!==null&&D!==void 0?D:1)-Math.abs(M-N),e.stackMinHeight&&(u[A]=C+_)),{x:F,y0:N,y1:G?M+_:M-_}})),d=x.length-1,h=[...x].reverse(),f=this.g.selectAll(`.${w}`).data(h),v=f.enter().append("path").attr("class",w).attr("d",i=>this._areaGen(i)||this._emptyPath()).style("opacity",0).style("fill",(i,y)=>P(r,e.color,d-y)),b=T(v.merge(f),s).style("opacity",(i,y)=>i.some(S=>S.y0-S.y1!==0)?X(r,e.opacity,d-y):0).style("fill",(i,y)=>P(r,e.color,d-y)).style("cursor",(i,y)=>W(r,e.cursor,d-y));s?b.attrTween("d",(y,A,S)=>{const D=z(S[A]).attr("d"),F=this._areaGen(y)||this._emptyPath();return I(D,F)}):b.attr("d",i=>this._areaGen(i)||this._emptyPath()),T(f.exit(),s).style("opacity",0).remove(),this._renderLines(s,e.line?x:[])}_renderLines(n,e){var r;const{config:s,datamodel:{data:l}}=this,o=e.length-1,c=[...e].reverse(),m=(r=s.lineColor)!==null&&r!==void 0?r:s.color,a=this.g.selectAll(`.${E}`).data(c),k=this.g.selectAll(`.${w}`).nodes(),t=a.enter().insert("path",(d,h)=>k[h+1]).attr("class",E).attr("stroke",(d,h)=>P(l,m,o-h)).attr("stroke-width",s.lineWidth).attr("stroke-opacity",0),u=T(t.merge(a),n).attr("stroke",(d,h)=>P(l,m,o-h)).attr("stroke-width",s.lineWidth).attr("stroke-opacity",1).attr("cursor",(d,h)=>W(l,s.cursor,o-h)).style("stroke-dasharray",(d,h)=>{var f,v;return(v=(f=le(l,s.lineDashArray,h))===null||f===void 0?void 0:f.join(" "))!==null&&v!==void 0?v:null}),x=B[s.curveType];this._lineGen=J().x(d=>d.x).y(d=>d.y1).curve(x),n?u.attrTween("d",(h,f,v)=>{const b=z(v[f]).attr("d")||this._emptyLinePath(),i=this._lineGen(h)||this._emptyLinePath();return I(b,i)}):u.attr("d",d=>this._lineGen(d)||this._emptyLinePath()),T(a.exit(),n).style("opacity",0).remove()}getYDataExtent(n){const{config:e,datamodel:r}=this,s=Y(e.y)?e.y:[e.y],l=this.xScale.domain(),o=n?ce(r.data,l,e.x,!0):r.data;return ue(o,e.baseline,...s)}_emptyPath(){const n=this.xScale.range(),e=this.yScale.domain(),r=this.yScale((e[0]+e[1])/2),s=r;return this._areaGen([{y0:r,y1:s,x:n[0]},{y0:r,y1:s,x:n[1]}])}_emptyLinePath(){const n=this.xScale.range(),e=this.yScale.range();return`M${n[0]},${e[0]} L${n[1]},${e[0]}`}}H.selectors=Me;const _e={"data-vis-component":""},we=fe({__name:"index",props:{color:{type:[Function,String,Array,null]},curveType:{},baseline:{type:[Function,Number,null]},opacity:{type:[Function,Number,null]},cursor:{type:[Function,String,null]},line:{type:Boolean},lineColor:{type:[Function,String,Array,null]},lineWidth:{},lineDashArray:{type:[Function,Array,null]},minHeight1Px:{type:Boolean},minHeight:{},stackMinHeight:{type:Boolean},x:{type:[Function,Number,null]},y:{type:[Function,Number,null,Array]},id:{type:Function},xScale:{type:[Object,Function]},yScale:{type:[Object,Function]},excludeFromDomainCalculation:{type:Boolean},duration:{},events:{},attributes:{},data:{}},setup(p,{expose:n}){const e=pe(de),r=p,s=be(()=>e.data.value??r.data),l=he(r),o=Se();return ve(()=>{ge(()=>{o.value=new H(l.value),o.value?.setData(s.value),e.update(o.value)})}),me(()=>{o.value?.destroy(),e.destroy()}),V(l,(c,m)=>{ye(c,m)||(o.value?.setConfig(l.value),o.value?.render())}),V(s,()=>{o.value?.setData(s.value)}),n({component:o}),(c,m)=>(ke(),xe("div",_e))}});export{we as N};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"id":"
|
|
1
|
+
{"id":"03f2d81b-8c58-4ea8-9a9d-7553c8ca4af6","timestamp":1785671929323}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"id":"03f2d81b-8c58-4ea8-9a9d-7553c8ca4af6","timestamp":1785671929323,"prerendered":[]}
|