@piwitests/server 0.20.0 → 0.22.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/2VtBYkNh.js +1 -0
- package/.output/public/_nuxt/{BmUfSNMV.js → 3xlGO1qT.js} +1 -1
- package/.output/public/_nuxt/{DeY2JkR2.js → 4yvOL9PC.js} +1 -1
- package/.output/public/_nuxt/6-ivqM_I.js +17 -0
- package/.output/public/_nuxt/{BrQEE053.js → 9N6hSApy.js} +1 -1
- package/.output/public/_nuxt/{hC_z4G8p.js → 9P8iHISX.js} +1 -1
- package/.output/public/_nuxt/B-6GGrhr.js +1 -0
- package/.output/public/_nuxt/B09ddw9C.js +1 -0
- package/.output/public/_nuxt/{Dpd16JVI.js → B0hK-xDF.js} +1 -1
- package/.output/public/_nuxt/{BdfhYr-u.js → B2a-Phk3.js} +1 -1
- package/.output/public/_nuxt/{B99fbi73.js → B6s20NbT.js} +1 -1
- package/.output/public/_nuxt/B9FSuKdA.js +1 -0
- package/.output/public/_nuxt/B9kt7ySS.js +5 -0
- package/.output/public/_nuxt/BDQCwxpX.js +1 -0
- package/.output/public/_nuxt/{oAClCn_h.js → BFcdtAzg.js} +1 -1
- package/.output/public/_nuxt/{CeG9pBAD.js → BH-ym1CI.js} +1 -1
- package/.output/public/_nuxt/{AbmKWFQQ.js → BKJetfRH.js} +1 -1
- package/.output/public/_nuxt/BNAHBHbY.js +1 -0
- package/.output/public/_nuxt/BQOWm9mQ.js +1 -0
- package/.output/public/_nuxt/{DJxlKFGb.js → BQzG26t0.js} +1 -1
- package/.output/public/_nuxt/{DabzhQB1.js → BTvE9qca.js} +1 -1
- package/.output/public/_nuxt/{C2hkrSey.js → BUMoU50-.js} +1 -1
- package/.output/public/_nuxt/{C1gTN4Q8.js → BVN50jIb.js} +1 -1
- package/.output/public/_nuxt/BYB8NVJZ.js +1 -0
- package/.output/public/_nuxt/{BicAJ6U8.js → BZnfiR67.js} +1 -1
- package/.output/public/_nuxt/{5A6ITZXj.js → B_mN5eMV.js} +1 -1
- package/.output/public/_nuxt/BaDhDBCV.js +1 -0
- package/.output/public/_nuxt/Bb7Uckln.js +5 -0
- package/.output/public/_nuxt/Be4c943G.js +2 -0
- package/.output/public/_nuxt/{CsLojMwR.js → BfS8BZTO.js} +1 -1
- package/.output/public/_nuxt/{KyA_4Ks-.js → BhH0TNTi.js} +1 -1
- package/.output/public/_nuxt/BjU3HZuS.js +1 -0
- package/.output/public/_nuxt/{DrfE8IY0.js → BlRWlfdD.js} +1 -1
- package/.output/public/_nuxt/BmJUhCIO.js +6 -0
- package/.output/public/_nuxt/BpUXqOVj.js +2 -0
- package/.output/public/_nuxt/BqCiYSVY.js +1 -0
- package/.output/public/_nuxt/Bt4FLbe0.js +1 -0
- package/.output/public/_nuxt/{Bm62iDV5.js → BtSJxOdh.js} +1 -1
- package/.output/public/_nuxt/{Und3xXFc.js → BtaTvcz6.js} +2 -2
- package/.output/public/_nuxt/{hNh4CIL0.js → By5qkOq8.js} +1 -1
- package/.output/public/_nuxt/{Bnxf8nbZ.js → C0v6l4pr.js} +1 -1
- package/.output/public/_nuxt/{CXEH9OPk.js → C9p0YCAi.js} +1 -1
- package/.output/public/_nuxt/{Dyeqn3aG.js → CAZpjzvB.js} +1 -1
- package/.output/public/_nuxt/{CjPfj7ya.js → CBZD8ym8.js} +1 -1
- package/.output/public/_nuxt/CCP6Tyle.js +1 -0
- package/.output/public/_nuxt/{DuwtTfO8.js → CD3R-ggS.js} +2 -2
- package/.output/public/_nuxt/{CxyAzHr3.js → CDh_Qt7h.js} +1 -1
- package/.output/public/_nuxt/CI_q0F1O.js +9 -0
- package/.output/public/_nuxt/CJEp4i0N.js +1 -0
- package/.output/public/_nuxt/{l5WKbU4h.js → CMhK1PvI.js} +3 -3
- package/.output/public/_nuxt/{H94BMf3L.js → CNcu4khZ.js} +1 -1
- package/.output/public/_nuxt/COP3KBCA.js +9 -0
- package/.output/public/_nuxt/{BT3wGCTI.js → CRPt9SfB.js} +1 -1
- package/.output/public/_nuxt/{DsesNydr.js → CScusXhF.js} +1 -1
- package/.output/public/_nuxt/{-f7BAm1H.js → CWoSSKhQ.js} +1 -1
- package/.output/public/_nuxt/{CAvY22RE.js → CWw9WGlv.js} +1 -1
- package/.output/public/_nuxt/{DdwHkKfV.js → CZ9ThISn.js} +1 -1
- package/.output/public/_nuxt/Cd8r0xk5.js +1 -0
- package/.output/public/_nuxt/Cf52zHyB.js +1 -0
- package/.output/public/_nuxt/{GPNI1ffD.js → CkKCKAYp.js} +2 -2
- package/.output/public/_nuxt/CkyMZI-0.js +1 -0
- package/.output/public/_nuxt/CoPntblj.js +1 -0
- package/.output/public/_nuxt/CobveFaj.js +1 -0
- package/.output/public/_nuxt/Cot8fIp5.js +2 -0
- package/.output/public/_nuxt/{D5tke0B5.js → CrOA9onF.js} +1 -1
- package/.output/public/_nuxt/{FaFoMVKo.js → Cwwe5bRS.js} +1 -1
- package/.output/public/_nuxt/D0ROfwV0.js +1 -0
- package/.output/public/_nuxt/{L3kAWB2a.js → D4UlSVir.js} +1 -1
- package/.output/public/_nuxt/D4oheDIm.js +4 -0
- package/.output/public/_nuxt/{CAAwCT7H.js → D6Mo5HeX.js} +1 -1
- package/.output/public/_nuxt/{Cnsmicv2.js → DBhdObsO.js} +34 -34
- package/.output/public/_nuxt/{A1pj0VnG.js → DDN2tt0a.js} +1 -1
- package/.output/public/_nuxt/DGnQ69wW.js +64 -0
- package/.output/public/_nuxt/{Cus22Ud3.js → DGyGmFem.js} +2 -2
- package/.output/public/_nuxt/{CzAPFPpL.js → DHUT-BKj.js} +1 -1
- package/.output/public/_nuxt/DK7xciFW.js +7 -0
- package/.output/public/_nuxt/{C0_yH0N7.js → DLNNAYfu.js} +1 -1
- package/.output/public/_nuxt/DLn-VPtK.js +34 -0
- package/.output/public/_nuxt/{CA9B2HE5.js → DOBSrxzY.js} +1 -1
- package/.output/public/_nuxt/{Dy-TJ0Mt.js → DOLeth7M.js} +1 -1
- package/.output/public/_nuxt/{CNyV9YpI.js → DQnsFoJn.js} +1 -1
- package/.output/public/_nuxt/DS2ANCQh.js +1 -0
- package/.output/public/_nuxt/{bLcjFslv.js → DSvBQHzW.js} +1 -1
- package/.output/public/_nuxt/{BzRRzmwm.js → DWEkQ7bl.js} +1 -1
- package/.output/public/_nuxt/DWwiVTZX.js +24 -0
- package/.output/public/_nuxt/DXXnDejN.js +1 -0
- package/.output/public/_nuxt/{B3obW6cw.js → Dj-TetcW.js} +2 -2
- package/.output/public/_nuxt/DpalT0nH.js +1 -0
- package/.output/public/_nuxt/{Bow4tTR0.js → DsX5CCb5.js} +1 -1
- package/.output/public/_nuxt/DslnXfcH.js +1 -0
- package/.output/public/_nuxt/DtSn2Q9-.js +1 -0
- package/.output/public/_nuxt/DwyFnMoY.js +44 -0
- package/.output/public/_nuxt/{CJFtzlQ4.js → DzM9oeLa.js} +1 -1
- package/.output/public/_nuxt/{BKkF4pPD.js → Gik813Ek.js} +1 -1
- package/.output/public/_nuxt/{pQqGiNch.js → Hot1UcKY.js} +1 -1
- package/.output/public/_nuxt/{DPCxhHri.js → HwFFbACq.js} +1 -1
- package/.output/public/_nuxt/{DJmoLeVt.js → PdEEuEsg.js} +1 -1
- package/.output/public/_nuxt/SBmMTKQb.js +1 -0
- package/.output/public/_nuxt/{C8e1EbJI.js → Sgis3xif.js} +1 -1
- package/.output/public/_nuxt/{CTU1mrhq.js → _VzR8bwc.js} +1 -1
- package/.output/public/_nuxt/{CeW8v31b.js → b_yFgp5S.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/5f1ebc7c-d690-4f02-847f-a3249653f75f.json +1 -0
- package/.output/public/_nuxt/{b-GYfcrQ.js → cSeAgciy.js} +1 -1
- package/.output/public/_nuxt/{CwGWJbiy.js → czXrP7NB.js} +1 -1
- package/.output/public/_nuxt/entry.BAvBQY-h.css +1 -0
- package/.output/public/_nuxt/{Du2W7Jne.js → h49q_GXF.js} +42 -42
- package/.output/public/_nuxt/hzsG6cAc.js +1 -0
- package/.output/public/_nuxt/iubpj2qv.js +1 -0
- package/.output/public/_nuxt/jjOqY9Tv.js +1 -0
- package/.output/public/_nuxt/kfFeu9tK.js +1 -0
- package/.output/public/_nuxt/nANaAHCd.js +5 -0
- package/.output/public/_nuxt/{CIrFl3MW.js → t-juTK3X.js} +1 -1
- package/.output/public/_nuxt/{4gYNA-d4.js → x8YSyy4c.js} +1 -1
- package/.output/public/_nuxt/{DfgOx_ou.js → x8w_1_rn.js} +1 -1
- package/.output/public/_nuxt/xbO0VmDX.js +1 -0
- package/.output/server/chunks/_/collect.mjs +1 -1
- package/.output/server/chunks/_/error-500.mjs.map +1 -1
- package/.output/server/chunks/_/markers.mjs +1 -1
- package/.output/server/chunks/_/quarantine.mjs +1 -1
- package/.output/server/chunks/_/scope.mjs +43 -27
- package/.output/server/chunks/_/scope.mjs.map +1 -1
- package/.output/server/chunks/_/users.mjs +1 -1
- package/.output/server/chunks/build/{Alert-C4xq8lao.mjs → Alert-DAb8nKVs.mjs} +2 -2
- package/.output/server/chunks/build/Alert-DAb8nKVs.mjs.map +1 -0
- package/.output/server/chunks/build/{Breadcrumb-Ak2Lg3oM.mjs → Breadcrumb-DJp5WvUM.mjs} +5 -5
- package/.output/server/chunks/build/Breadcrumb-DJp5WvUM.mjs.map +1 -0
- package/.output/server/chunks/build/{BreadcrumbNav-DO7I_z-n.mjs → BreadcrumbNav-BrQwfL8G.mjs} +2 -2
- package/.output/server/chunks/build/BreadcrumbNav-BrQwfL8G.mjs.map +1 -0
- package/.output/server/chunks/build/{BrowserBadge-MFvBwxmD.mjs → BrowserBadge-Djw_e_I9.mjs} +3 -3
- package/.output/server/chunks/build/BrowserBadge-Djw_e_I9.mjs.map +1 -0
- package/.output/server/chunks/build/{Card-BQP_oZkQ.mjs → Card--Ike7sYc.mjs} +2 -2
- package/.output/server/chunks/build/Card--Ike7sYc.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartCard-Y1UKwMsf.mjs → ChartCard-B2gd_8HP.mjs} +2 -2
- package/.output/server/chunks/build/ChartCard-B2gd_8HP.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartMarkerTooltip-0DcMfD_6.mjs → ChartMarkerTooltip-u_1DUHh-.mjs} +2 -2
- package/.output/server/chunks/build/ChartMarkerTooltip-u_1DUHh-.mjs.map +1 -0
- package/.output/server/chunks/build/{Checkbox-4Q5d0fa0.mjs → Checkbox-C1khEdTh.mjs} +4 -4
- package/.output/server/chunks/build/Checkbox-C1khEdTh.mjs.map +1 -0
- package/.output/server/chunks/build/{CodeBlock-BgE-NSmE.mjs → CodeBlock-CjnDrO3Y.mjs} +4 -4
- package/.output/server/chunks/build/CodeBlock-CjnDrO3Y.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardNavbar-BHmMSPX7.mjs → DashboardNavbar-DYtmVlhy.mjs} +5 -5
- package/.output/server/chunks/build/DashboardNavbar-DYtmVlhy.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardSidebarToggle-DCTnHiIv.mjs → DashboardSidebarToggle-BPNxODwj.mjs} +5 -5
- package/.output/server/chunks/build/DashboardSidebarToggle-BPNxODwj.mjs.map +1 -0
- package/.output/server/chunks/build/{DataLocationCard-B_YHdzSz.mjs → DataLocationCard-2B-sVSMr.mjs} +5 -5
- package/.output/server/chunks/build/DataLocationCard-2B-sVSMr.mjs.map +1 -0
- package/.output/server/chunks/build/{DiagnosisPanel-CALyEmcJ.mjs → DiagnosisPanel-D6QO30FQ.mjs} +9 -8
- package/.output/server/chunks/build/DiagnosisPanel-D6QO30FQ.mjs.map +1 -0
- package/.output/server/chunks/build/{useAiStatus-CxjMmDDY.mjs → DiagnosisResult-ujB5Lt2A.mjs} +12 -34
- package/.output/server/chunks/build/DiagnosisResult-ujB5Lt2A.mjs.map +1 -0
- package/.output/server/chunks/build/{DurationValue-D20oGbnc.mjs → DurationValue-UX9uajQJ.mjs} +2 -2
- package/.output/server/chunks/build/DurationValue-UX9uajQJ.mjs.map +1 -0
- package/.output/server/chunks/build/{EntityLinks-BBHWssHH.mjs → EntityLinks-F8_kC-IH.mjs} +6 -6
- package/.output/server/chunks/build/EntityLinks-F8_kC-IH.mjs.map +1 -0
- package/.output/server/chunks/build/{EnvManagedBadge-UwD2b9v2.mjs → EnvManagedBadge-D6e-10M9.mjs} +3 -3
- package/.output/server/chunks/build/EnvManagedBadge-D6e-10M9.mjs.map +1 -0
- package/.output/server/chunks/build/FeatureUnavailable-BMw4euTk.mjs +83 -0
- package/.output/server/chunks/build/FeatureUnavailable-BMw4euTk.mjs.map +1 -0
- package/.output/server/chunks/build/{FormField-B0HKsdMd.mjs → FormField-QptK0rPg.mjs} +3 -3
- package/.output/server/chunks/build/FormField-QptK0rPg.mjs.map +1 -0
- package/.output/server/chunks/build/GetStartedWizard-DxT8T14Y.mjs +510 -0
- package/.output/server/chunks/build/GetStartedWizard-DxT8T14Y.mjs.map +1 -0
- package/.output/server/chunks/build/{HelpHint-DrcIv-Oj.mjs → HelpHint-C5Ru8BCc.mjs} +3 -3
- package/.output/server/chunks/build/HelpHint-C5Ru8BCc.mjs.map +1 -0
- package/.output/server/chunks/build/{LoadingState-C3pBSuOO.mjs → LoadingState-CwpfmI0W.mjs} +3 -3
- package/.output/server/chunks/build/LoadingState-CwpfmI0W.mjs.map +1 -0
- package/.output/server/chunks/build/{MarkerBadge-D7meXy4u.mjs → MarkerBadge-Biz5--h2.mjs} +1 -1
- package/.output/server/chunks/build/MarkerBadge-Biz5--h2.mjs.map +1 -0
- package/.output/server/chunks/build/{CiEnvCard-DB5DvBh1.mjs → MetaStripGroup-BBByVvpR.mjs} +242 -529
- package/.output/server/chunks/build/MetaStripGroup-BBByVvpR.mjs.map +1 -0
- package/.output/server/chunks/build/{MiniRunBars-CZMugDrh.mjs → MiniRunBars-fgLMgRUp.mjs} +2 -2
- package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs.map +1 -0
- package/.output/server/chunks/build/{Modal-pSDlXzT3.mjs → Modal-BacZmQCX.mjs} +3 -3
- package/.output/server/chunks/build/Modal-BacZmQCX.mjs.map +1 -0
- package/.output/server/chunks/build/{useSettingsNav-DnQKacz8.mjs → NavigationMenu-sTiKSWDm.mjs} +7 -30
- package/.output/server/chunks/build/NavigationMenu-sTiKSWDm.mjs.map +1 -0
- package/.output/server/chunks/build/{OpenInIdeLink-CQWKKChd.mjs → OpenInIdeLink-Crc8y0Yx.mjs} +6 -6
- package/.output/server/chunks/build/{OpenInIdeLink-CQWKKChd.mjs.map → OpenInIdeLink-Crc8y0Yx.mjs.map} +1 -1
- package/.output/server/chunks/build/{ProjectTestCasesTable-Bo61P5K1.mjs → ProjectTestCasesTable-DwjqZ2i5.mjs} +17 -17
- package/.output/server/chunks/build/{ProjectTestCasesTable-Bo61P5K1.mjs.map → ProjectTestCasesTable-DwjqZ2i5.mjs.map} +1 -1
- package/.output/server/chunks/build/{RunReports-DFLv51TX.mjs → RunReports-nuLb-Nm3.mjs} +3 -3
- package/.output/server/chunks/build/RunReports-nuLb-Nm3.mjs.map +1 -0
- package/.output/server/chunks/build/{RunStatusBadge-FfGb6bkW.mjs → RunStatusBadge-CvWmcFYM.mjs} +2 -2
- package/.output/server/chunks/build/RunStatusBadge-CvWmcFYM.mjs.map +1 -0
- package/.output/server/chunks/build/{SectionCard-CN-v0FZ_.mjs → SectionCard-C753B3Yo.mjs} +3 -3
- package/.output/server/chunks/build/SectionCard-C753B3Yo.mjs.map +1 -0
- package/.output/server/chunks/build/{Select-5DK9frQ7.mjs → Select-BAyYwPuo.mjs} +4 -4
- package/.output/server/chunks/build/Select-BAyYwPuo.mjs.map +1 -0
- package/.output/server/chunks/build/{SelectMenu-D-2FSqBU.mjs → SelectMenu-zE_AhMX8.mjs} +4 -4
- package/.output/server/chunks/build/{SelectMenu-D-2FSqBU.mjs.map → SelectMenu-zE_AhMX8.mjs.map} +1 -1
- package/.output/server/chunks/build/{Separator-CR4WcEKD.mjs → Separator-BbgCfKKJ.mjs} +3 -3
- package/.output/server/chunks/build/Separator-BbgCfKKJ.mjs.map +1 -0
- package/.output/server/chunks/build/{SettingsField-BZfx4ma1.mjs → SettingsField-D-VriK9X.mjs} +5 -5
- package/.output/server/chunks/build/SettingsField-D-VriK9X.mjs.map +1 -0
- package/.output/server/chunks/build/{Skeleton-CEHuuKVh.mjs → Skeleton-DAp_WMEe.mjs} +2 -2
- package/.output/server/chunks/build/Skeleton-DAp_WMEe.mjs.map +1 -0
- package/.output/server/chunks/build/{Slideover-D270EZZD.mjs → Slideover-CNbGvbUF.mjs} +3 -3
- package/.output/server/chunks/build/Slideover-CNbGvbUF.mjs.map +1 -0
- package/.output/server/chunks/build/{StatTile-D61Vzo6e.mjs → StatTile-DpcVQFVI.mjs} +2 -26
- package/.output/server/chunks/build/StatTile-DpcVQFVI.mjs.map +1 -0
- package/.output/server/chunks/build/StatTileGrid-7zOFUQ6j.mjs +30 -0
- package/.output/server/chunks/build/StatTileGrid-7zOFUQ6j.mjs.map +1 -0
- package/.output/server/chunks/build/{Switch-B5Fp8ULt.mjs → Switch-DdkA3Fii.mjs} +3 -3
- package/.output/server/chunks/build/Switch-DdkA3Fii.mjs.map +1 -0
- package/.output/server/chunks/build/{Table-BRk04Hd2.mjs → Table-CfDVAuUJ.mjs} +4 -4
- package/.output/server/chunks/build/Table-CfDVAuUJ.mjs.map +1 -0
- package/.output/server/chunks/build/{Tabs-BkSOnbaB.mjs → Tabs-BCOhHEB9.mjs} +2 -2
- package/.output/server/chunks/build/Tabs-BCOhHEB9.mjs.map +1 -0
- package/.output/server/chunks/build/{TestCaseHistoryChart-CSi64vVA.mjs → TestCaseHistoryChart-CKDXQ2GI.mjs} +4 -4
- package/.output/server/chunks/build/TestCaseHistoryChart-CKDXQ2GI.mjs.map +1 -0
- package/.output/server/chunks/build/{TestMetaBadges-D5_yUtIP.mjs → TestMetaBadges-BlyKmfeP.mjs} +1 -1
- package/.output/server/chunks/build/TestMetaBadges-BlyKmfeP.mjs.map +1 -0
- package/.output/server/chunks/build/{TestStatusBar-DX3EhlyP.mjs → TestStatusBar-wquHQqtp.mjs} +4 -4
- package/.output/server/chunks/build/TestStatusBar-wquHQqtp.mjs.map +1 -0
- package/.output/server/chunks/build/{Textarea-Dv2-lOvW.mjs → Textarea-Ohs6QTXf.mjs} +3 -3
- package/.output/server/chunks/build/Textarea-Ohs6QTXf.mjs.map +1 -0
- package/.output/server/chunks/build/{Tooltip-Dv4htNP6.mjs → Tooltip-BRBnl4pE.mjs} +3 -3
- package/.output/server/chunks/build/Tooltip-BRBnl4pE.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-BxA6IgWr.mjs → _id_-BesWjK_d.mjs} +900 -394
- package/.output/server/chunks/build/_id_-BesWjK_d.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-C_uSBiyU.mjs → _id_-CGs0u8Fr.mjs} +38 -36
- package/.output/server/chunks/build/_id_-CGs0u8Fr.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-BdG37K7s.mjs → _id_-CQ0lolEK.mjs} +31 -28
- package/.output/server/chunks/build/_id_-CQ0lolEK.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-BdJs7BJZ.mjs → _id_-D1-06Fcl.mjs} +1913 -1121
- package/.output/server/chunks/build/_id_-D1-06Fcl.mjs.map +1 -0
- package/.output/server/chunks/build/{about-BE0UV-8-.mjs → about-DdyOj-dj.mjs} +25 -455
- package/.output/server/chunks/build/about-DdyOj-dj.mjs.map +1 -0
- package/.output/server/chunks/build/{account-DAfvaD-F.mjs → account-7aVMKekZ.mjs} +11 -9
- package/.output/server/chunks/build/account-7aVMKekZ.mjs.map +1 -0
- package/.output/server/chunks/build/{ai-Cn05ch0u.mjs → ai-zw3T9b5u.mjs} +24 -22
- package/.output/server/chunks/build/{ai-Cn05ch0u.mjs.map → ai-zw3T9b5u.mjs.map} +1 -1
- package/.output/server/chunks/build/{analytics-Bo_B_jko.mjs → analytics-CeCzKwEX.mjs} +105 -76
- package/.output/server/chunks/build/analytics-CeCzKwEX.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/{compare-RxHSOdsO.mjs → compare-B2OB3zdd.mjs} +4 -1
- package/.output/server/chunks/build/compare-B2OB3zdd.mjs.map +1 -0
- package/.output/server/chunks/build/{db.client-CQoVTYB9.mjs → db.client-Bdqk_eYQ.mjs} +40 -2
- package/.output/server/chunks/build/db.client-Bdqk_eYQ.mjs.map +1 -0
- package/.output/server/chunks/build/{default-CbNHaFsy.mjs → default-CkyAx_Mu.mjs} +48 -33
- package/.output/server/chunks/build/{default-CbNHaFsy.mjs.map → default-CkyAx_Mu.mjs.map} +1 -1
- package/.output/server/chunks/build/{docs-B_llWMxx.mjs → docs-Dhj-wEks.mjs} +18 -16
- package/.output/server/chunks/build/{docs-B_llWMxx.mjs.map → docs-Dhj-wEks.mjs.map} +1 -1
- package/.output/server/chunks/build/{edit-J0asTFg8.mjs → edit-CVz_gdoe.mjs} +17 -16
- package/.output/server/chunks/build/edit-CVz_gdoe.mjs.map +1 -0
- package/.output/server/chunks/build/{fetch-B4FwBOzu.mjs → fetch-Be-j7hF1.mjs} +32 -4
- package/.output/server/chunks/build/fetch-Be-j7hF1.mjs.map +1 -0
- package/.output/server/chunks/build/{forgot-password-CC__1OnV.mjs → forgot-password-CwdjL7BO.mjs} +8 -5
- package/.output/server/chunks/build/forgot-password-CwdjL7BO.mjs.map +1 -0
- package/.output/server/chunks/build/{import-CS9oylTN.mjs → import-DyQEw4V3.mjs} +17 -15
- package/.output/server/chunks/build/import-DyQEw4V3.mjs.map +1 -0
- package/.output/server/chunks/build/{index-CU2nZhAa.mjs → index-ByWTzqF6.mjs} +2 -1
- package/.output/server/chunks/build/index-ByWTzqF6.mjs.map +1 -0
- package/.output/server/chunks/build/{index-DE45ycdZ.mjs → index-D7Bmj6bq.mjs} +19 -18
- package/.output/server/chunks/build/index-D7Bmj6bq.mjs.map +1 -0
- package/.output/server/chunks/build/{index-e9skCi-V.mjs → index-DcnICCZU.mjs} +43 -539
- package/.output/server/chunks/build/index-DcnICCZU.mjs.map +1 -0
- package/.output/server/chunks/build/{index-hGHlmyxj.mjs → index-DghAFpNR.mjs} +132 -89
- package/.output/server/chunks/build/{index-hGHlmyxj.mjs.map → index-DghAFpNR.mjs.map} +1 -1
- package/.output/server/chunks/build/index-ID913tUa.mjs +93 -0
- package/.output/server/chunks/build/index-ID913tUa.mjs.map +1 -0
- package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs +1 -1
- package/.output/server/chunks/build/{login-Da4u1IlW.mjs → login-rXKF63j6.mjs} +12 -9
- package/.output/server/chunks/build/login-rXKF63j6.mjs.map +1 -0
- package/.output/server/chunks/build/{mcp-uhVCCwQM.mjs → mcp-ByNvFy4o.mjs} +254 -22
- package/.output/server/chunks/build/mcp-ByNvFy4o.mjs.map +1 -0
- package/.output/server/chunks/build/{notifications-fx_qnKGA.mjs → notifications-CbLAZnKJ.mjs} +18 -16
- package/.output/server/chunks/build/notifications-CbLAZnKJ.mjs.map +1 -0
- package/.output/server/chunks/build/performance-C93MEPaZ.mjs +581 -0
- package/.output/server/chunks/build/performance-C93MEPaZ.mjs.map +1 -0
- package/.output/server/chunks/build/{pr-feedback-X6-70iF0.mjs → pr-feedback-DKCB0bDE.mjs} +12 -10
- package/.output/server/chunks/build/pr-feedback-DKCB0bDE.mjs.map +1 -0
- package/.output/server/chunks/build/{reset-password-BmrUS4ZD.mjs → reset-password-BBoHKMqD.mjs} +8 -5
- package/.output/server/chunks/build/reset-password-BBoHKMqD.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +86 -72
- package/.output/server/chunks/build/server.mjs.map +1 -1
- package/.output/server/chunks/build/{settings-CCYe7rsc.mjs → settings-DiG0JjzC.mjs} +18 -26
- package/.output/server/chunks/build/settings-DiG0JjzC.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-metadata-DrEqWcW-.mjs → settings-metadata-DnAK4Rzg.mjs} +40 -18
- package/.output/server/chunks/build/settings-metadata-DnAK4Rzg.mjs.map +1 -0
- package/.output/server/chunks/build/setup-0-1O6Hjz.mjs +1065 -0
- package/.output/server/chunks/build/setup-0-1O6Hjz.mjs.map +1 -0
- package/.output/server/chunks/build/{storage-CJEmviCD.mjs → storage-3JiFJ843.mjs} +18 -16
- package/.output/server/chunks/build/storage-3JiFJ843.mjs.map +1 -0
- package/.output/server/chunks/build/{tags-DauTe_F-.mjs → tags-CqYcp7js.mjs} +11 -10
- package/.output/server/chunks/build/tags-CqYcp7js.mjs.map +1 -0
- package/.output/server/chunks/build/{test-cases-thBbAykw.mjs → test-cases-y1HSgPX2.mjs} +26 -24
- package/.output/server/chunks/build/test-cases-y1HSgPX2.mjs.map +1 -0
- package/.output/server/chunks/build/test-functions-D2ju95Ly.mjs +552 -0
- package/.output/server/chunks/build/test-functions-D2ju95Ly.mjs.map +1 -0
- package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs +9 -0
- package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs.map +1 -0
- package/.output/server/chunks/build/{useChartMarkers-C89e_VLV.mjs → useChartMarkers-C0wSO0xk.mjs} +1 -1
- package/.output/server/chunks/build/useChartMarkers-C0wSO0xk.mjs.map +1 -0
- package/.output/server/chunks/build/{useCopyRich-RJKhWoyj.mjs → useCopyRich-CVFeYfkG.mjs} +699 -247
- package/.output/server/chunks/build/useCopyRich-CVFeYfkG.mjs.map +1 -0
- package/.output/server/chunks/build/{useDesktopDownload-BepjqxOt.mjs → useDesktopDownload-Dyf0fR47.mjs} +2 -2
- package/.output/server/chunks/build/useDesktopDownload-Dyf0fR47.mjs.map +1 -0
- package/.output/server/chunks/build/{useOpenInIde-BbTnPhFA.mjs → useOpenInIde--6Me0WlL.mjs} +1 -1
- package/.output/server/chunks/build/useOpenInIde--6Me0WlL.mjs.map +1 -0
- package/.output/server/chunks/build/useSettingsNav-BLTHducV.mjs +19 -0
- package/.output/server/chunks/build/useSettingsNav-BLTHducV.mjs.map +1 -0
- package/.output/server/chunks/build/{users-CTUqXyGh.mjs → users-IdmY9JZV.mjs} +12 -11
- package/.output/server/chunks/build/users-IdmY9JZV.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +2336 -1581
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs +4 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +3 -0
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/stats.get.mjs +3 -0
- package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/status.get.mjs +3 -0
- package/.output/server/chunks/routes/api/ai/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +3 -0
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/change-password.post.mjs +10 -1
- package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +3 -1
- package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/login.post.mjs +16 -2
- package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +4 -1
- package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/me.get.mjs +4 -1
- package/.output/server/chunks/routes/api/auth/me.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +4 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +4 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +11 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +9 -1
- package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +7 -1
- package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/setup.get.mjs +4 -1
- package/.output/server/chunks/routes/api/auth/setup.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/setup.post.mjs +30 -12
- package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +4 -1
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +6 -3
- package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +4 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +4 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/desktop/import-local.post.mjs +4 -1
- package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +3 -0
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +4 -1
- package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs +23 -4
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +4 -1
- package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +12 -5
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get2.mjs +9 -3
- package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +4 -1
- package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get4.mjs +4 -1
- package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get5.mjs +4 -1
- package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +3 -1
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post2.mjs +6 -2
- package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post3.mjs +3 -1
- package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post4.mjs +14 -1
- package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post5.mjs +3 -1
- package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post6.mjs +3 -1
- package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +5 -3
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs +5 -3
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs +4 -3
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs +3 -1
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs +33 -16
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +3 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +3 -1
- package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs +78 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs +68 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs +55 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs +69 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs +3 -1
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects.get.mjs +4 -1
- package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/search.get.mjs +4 -1
- package/.output/server/chunks/routes/api/search.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +3 -0
- package/.output/server/chunks/routes/api/settings/ai/models.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +3 -1
- package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +4 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/setup-status.get.mjs +101 -0
- package/.output/server/chunks/routes/api/setup-status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/stream.get.mjs +8 -2
- package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +3 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs +3 -1
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs +62 -0
- package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs +71 -0
- package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +7 -4
- package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/start.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +4 -1
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs +6 -3
- package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.get.mjs +4 -1
- package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.post.mjs +3 -1
- package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +4 -1
- package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +4 -1
- package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +3 -1
- package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +4 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id_.patch.mjs +7 -2
- package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/version.get.mjs +4 -1
- package/.output/server/chunks/routes/api/version.get.mjs.map +1 -1
- package/.output/server/chunks/routes/mcp.post.mjs +43 -11
- package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs.map +1 -1
- package/.output/server/chunks/tasks/sweep.mjs +3 -0
- package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
- package/.output/server/chunks/tasks/sweep2.mjs +3 -0
- package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
- package/.output/server/database/migrations/0043_watery_dragon_lord.sql +22 -0
- package/.output/server/database/migrations/0044_panoramic_eddie_brock.sql +1 -0
- package/.output/server/database/migrations/meta/0043_snapshot.json +3764 -0
- package/.output/server/database/migrations/meta/0044_snapshot.json +3772 -0
- package/.output/server/database/migrations/meta/_journal.json +14 -0
- package/.output/server/database/migrations-pg/0044_dark_triathlon.sql +22 -0
- package/.output/server/database/migrations-pg/0045_loose_runaways.sql +1 -0
- package/.output/server/database/migrations-pg/meta/0044_snapshot.json +4473 -0
- package/.output/server/database/migrations-pg/meta/0045_snapshot.json +4480 -0
- package/.output/server/database/migrations-pg/meta/_journal.json +14 -0
- package/.output/server/index.mjs +4 -1
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/bin/piwi-server.mjs +10 -0
- package/package.json +1 -1
- package/.output/public/_nuxt/8PUUncmO.js +0 -44
- package/.output/public/_nuxt/B7FTvFWq.js +0 -5
- package/.output/public/_nuxt/B8zkOmwo.js +0 -1
- package/.output/public/_nuxt/B96M2gdj.js +0 -1
- package/.output/public/_nuxt/B9OLmp0f.js +0 -1
- package/.output/public/_nuxt/BUa0V0Ly.js +0 -1
- package/.output/public/_nuxt/BUkim3TM.js +0 -1
- package/.output/public/_nuxt/BVc14Ncz.js +0 -4
- package/.output/public/_nuxt/BY0HxR3t.js +0 -17
- package/.output/public/_nuxt/B_xAMWQS.js +0 -2
- package/.output/public/_nuxt/BdQoBaOv.js +0 -1
- package/.output/public/_nuxt/BgRu_3tT.js +0 -1
- package/.output/public/_nuxt/BiO7RBWb.js +0 -6
- package/.output/public/_nuxt/CEfS4-oS.js +0 -64
- package/.output/public/_nuxt/CIoSMkpp.js +0 -1
- package/.output/public/_nuxt/CSJ-eOQM.js +0 -1
- package/.output/public/_nuxt/CahpB9Z2.js +0 -5
- package/.output/public/_nuxt/Cbh--1MW.js +0 -1
- package/.output/public/_nuxt/Cx6gc2VW.js +0 -1
- package/.output/public/_nuxt/D--H4jLI.js +0 -1
- package/.output/public/_nuxt/D1POo6S4.js +0 -10
- package/.output/public/_nuxt/D8nkF-OO.js +0 -3
- package/.output/public/_nuxt/DA25RkyK.js +0 -1
- package/.output/public/_nuxt/DIB-5fUJ.js +0 -1
- package/.output/public/_nuxt/DMec-OLo.js +0 -1
- package/.output/public/_nuxt/DSqHUrvO.js +0 -1
- package/.output/public/_nuxt/DmkUdSS4.js +0 -1
- package/.output/public/_nuxt/DoIREDVb.js +0 -1
- package/.output/public/_nuxt/DpZ1r1HA.js +0 -1
- package/.output/public/_nuxt/DqcKngf3.js +0 -1
- package/.output/public/_nuxt/DtHJgCS8.js +0 -1
- package/.output/public/_nuxt/Dtd4rC58.js +0 -9
- package/.output/public/_nuxt/Dy86h-7P.js +0 -1
- package/.output/public/_nuxt/HPNQD6v3.js +0 -1
- package/.output/public/_nuxt/HXadJrHu.js +0 -2
- package/.output/public/_nuxt/McL25vkx.js +0 -34
- package/.output/public/_nuxt/Nn93e_Mz.js +0 -1
- package/.output/public/_nuxt/UdR3DBPS.js +0 -1
- package/.output/public/_nuxt/_mj6CfPa.js +0 -1
- package/.output/public/_nuxt/builds/meta/e659b3e1-0e61-4971-940e-10063f9f4763.json +0 -1
- package/.output/public/_nuxt/entry.DmptwB51.css +0 -1
- package/.output/public/_nuxt/ryMzSDUj.js +0 -2
- package/.output/public/trace-viewer/assets/codeMirrorModule-LEHpjmcn.js +0 -32
- package/.output/public/trace-viewer/assets/defaultSettingsView-BNmKHKpQ.js +0 -264
- package/.output/public/trace-viewer/assets/urlMatch-BYQrIQwR.js +0 -1
- package/.output/public/trace-viewer/assets/xtermModule-CsJ4vdCR.js +0 -9
- package/.output/public/trace-viewer/codeMirrorModule.DYBRYzYX.css +0 -1
- package/.output/public/trace-viewer/codicon.DCmgc-ay.ttf +0 -0
- package/.output/public/trace-viewer/defaultSettingsView.CjdS-WJx.css +0 -1
- package/.output/public/trace-viewer/index.CzXZzn5A.css +0 -1
- package/.output/public/trace-viewer/index.DMMX1gXU.js +0 -2
- package/.output/public/trace-viewer/index.html +0 -44
- package/.output/public/trace-viewer/manifest.webmanifest +0 -16
- package/.output/public/trace-viewer/playwright-logo.svg +0 -9
- package/.output/public/trace-viewer/snapshot.html +0 -10
- package/.output/public/trace-viewer/snapshot.v8KI4P3m.js +0 -2
- package/.output/public/trace-viewer/sw.bundle.js +0 -5
- package/.output/public/trace-viewer/uiMode.BZQ54Kgt.css +0 -1
- package/.output/public/trace-viewer/uiMode.Ut8wwJNp.js +0 -6
- package/.output/public/trace-viewer/uiMode.html +0 -18
- package/.output/public/trace-viewer/xtermModule.DYP7pi_n.css +0 -32
- package/.output/server/chunks/build/Alert-C4xq8lao.mjs.map +0 -1
- package/.output/server/chunks/build/Breadcrumb-Ak2Lg3oM.mjs.map +0 -1
- package/.output/server/chunks/build/BreadcrumbNav-DO7I_z-n.mjs.map +0 -1
- package/.output/server/chunks/build/BrowserBadge-MFvBwxmD.mjs.map +0 -1
- package/.output/server/chunks/build/Card-BQP_oZkQ.mjs.map +0 -1
- package/.output/server/chunks/build/ChartCard-Y1UKwMsf.mjs.map +0 -1
- package/.output/server/chunks/build/ChartMarkerTooltip-0DcMfD_6.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-4Q5d0fa0.mjs.map +0 -1
- package/.output/server/chunks/build/CiEnvCard-DB5DvBh1.mjs.map +0 -1
- package/.output/server/chunks/build/CodeBlock-BgE-NSmE.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardNavbar-BHmMSPX7.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardSidebarToggle-DCTnHiIv.mjs.map +0 -1
- package/.output/server/chunks/build/DataLocationCard-B_YHdzSz.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisPanel-CALyEmcJ.mjs.map +0 -1
- package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs.map +0 -1
- package/.output/server/chunks/build/EntityLinks-BBHWssHH.mjs.map +0 -1
- package/.output/server/chunks/build/EnvManagedBadge-UwD2b9v2.mjs.map +0 -1
- package/.output/server/chunks/build/FormField-B0HKsdMd.mjs.map +0 -1
- package/.output/server/chunks/build/HelpHint-DrcIv-Oj.mjs.map +0 -1
- package/.output/server/chunks/build/LoadingState-C3pBSuOO.mjs.map +0 -1
- package/.output/server/chunks/build/MarkerBadge-D7meXy4u.mjs.map +0 -1
- package/.output/server/chunks/build/MiniRunBars-CZMugDrh.mjs.map +0 -1
- package/.output/server/chunks/build/Modal-pSDlXzT3.mjs.map +0 -1
- package/.output/server/chunks/build/RunReports-DFLv51TX.mjs.map +0 -1
- package/.output/server/chunks/build/RunStatusBadge-FfGb6bkW.mjs.map +0 -1
- package/.output/server/chunks/build/SectionCard-CN-v0FZ_.mjs.map +0 -1
- package/.output/server/chunks/build/Select-5DK9frQ7.mjs.map +0 -1
- package/.output/server/chunks/build/Separator-CR4WcEKD.mjs.map +0 -1
- package/.output/server/chunks/build/SettingsField-BZfx4ma1.mjs.map +0 -1
- package/.output/server/chunks/build/Skeleton-CEHuuKVh.mjs.map +0 -1
- package/.output/server/chunks/build/Slideover-D270EZZD.mjs.map +0 -1
- package/.output/server/chunks/build/StatTile-D61Vzo6e.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-B5Fp8ULt.mjs.map +0 -1
- package/.output/server/chunks/build/Table-BRk04Hd2.mjs.map +0 -1
- package/.output/server/chunks/build/Tabs-BkSOnbaB.mjs.map +0 -1
- package/.output/server/chunks/build/TestCaseHistoryChart-CSi64vVA.mjs.map +0 -1
- package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs.map +0 -1
- package/.output/server/chunks/build/TestStatusBar-DX3EhlyP.mjs.map +0 -1
- package/.output/server/chunks/build/Textarea-Dv2-lOvW.mjs.map +0 -1
- package/.output/server/chunks/build/Tooltip-Dv4htNP6.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BdG37K7s.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BdJs7BJZ.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BxA6IgWr.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-C_uSBiyU.mjs.map +0 -1
- package/.output/server/chunks/build/about-BE0UV-8-.mjs.map +0 -1
- package/.output/server/chunks/build/account-DAfvaD-F.mjs.map +0 -1
- package/.output/server/chunks/build/analytics-Bo_B_jko.mjs.map +0 -1
- package/.output/server/chunks/build/compare-RxHSOdsO.mjs.map +0 -1
- package/.output/server/chunks/build/db.client-CQoVTYB9.mjs.map +0 -1
- package/.output/server/chunks/build/edit-J0asTFg8.mjs.map +0 -1
- package/.output/server/chunks/build/fetch-B4FwBOzu.mjs.map +0 -1
- package/.output/server/chunks/build/forgot-password-CC__1OnV.mjs.map +0 -1
- package/.output/server/chunks/build/import-CS9oylTN.mjs.map +0 -1
- package/.output/server/chunks/build/index-CU2nZhAa.mjs.map +0 -1
- package/.output/server/chunks/build/index-DE45ycdZ.mjs.map +0 -1
- package/.output/server/chunks/build/index-e9skCi-V.mjs.map +0 -1
- package/.output/server/chunks/build/index-tR6owKzj.mjs +0 -167
- package/.output/server/chunks/build/index-tR6owKzj.mjs.map +0 -1
- package/.output/server/chunks/build/login-Da4u1IlW.mjs.map +0 -1
- package/.output/server/chunks/build/mcp-uhVCCwQM.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-fx_qnKGA.mjs.map +0 -1
- package/.output/server/chunks/build/pr-feedback-X6-70iF0.mjs.map +0 -1
- package/.output/server/chunks/build/reset-password-BmrUS4ZD.mjs.map +0 -1
- package/.output/server/chunks/build/settings-CCYe7rsc.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-DrEqWcW-.mjs.map +0 -1
- package/.output/server/chunks/build/storage-CJEmviCD.mjs.map +0 -1
- package/.output/server/chunks/build/tags-DauTe_F-.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-thBbAykw.mjs.map +0 -1
- package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs +0 -330
- package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs.map +0 -1
- package/.output/server/chunks/build/useAiStatus-CxjMmDDY.mjs.map +0 -1
- package/.output/server/chunks/build/useChartMarkers-C89e_VLV.mjs.map +0 -1
- package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs +0 -33
- package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs.map +0 -1
- package/.output/server/chunks/build/useCopyRich-RJKhWoyj.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopDownload-BepjqxOt.mjs.map +0 -1
- package/.output/server/chunks/build/useOpenInIde-BbTnPhFA.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-DnQKacz8.mjs.map +0 -1
- package/.output/server/chunks/build/users-CTUqXyGh.mjs.map +0 -1
- package/.output/server/chunks/build/wasted-time-BNTPIyrC.mjs +0 -301
- package/.output/server/chunks/build/wasted-time-BNTPIyrC.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as
|
|
1
|
+
import{d as I,u as q,a as F,b as S,c as g,j as t,g as n,o as i,k as e,f as h,F as T,v as j,i as d,C as A,E as M,l as k,_ as E,m as b,t as x,G as z,p as D,h as V,r as u}from"./h49q_GXF.js";import{_ as G}from"./9N6hSApy.js";import{_ as L}from"./BKJetfRH.js";import{_ as O}from"./CWoSSKhQ.js";import"./D4UlSVir.js";const H={class:"min-h-screen flex items-center justify-center bg-elevated/50"},J={class:"flex items-center gap-2"},K={class:"text-2xl font-bold"},Q={class:"mt-4 text-center"},te=I({__name:"reset-password",setup(W){const f=q(),U=F(),$=S(),m=V(()=>f.query.token),p=V(()=>f.query.mode==="invite"),o=u(""),c=u(""),r=u(!1),a=u("");async function B(){if(a.value="",!m.value){a.value="Missing reset token";return}if(o.value.length<8){a.value="Password must be at least 8 characters";return}if(o.value!==c.value){a.value="Passwords do not match";return}r.value=!0;try{await $fetch("/api/auth/reset-password",{method:"POST",body:{token:m.value,password:o.value}}),$.add({title:p.value?"Account activated!":"Password reset!",color:"success"}),U.push("/login")}catch(l){const s=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;a.value=s||"Invalid or expired link"}finally{r.value=!1}}return(l,s)=>{const C=D,v=G,w=M,y=L,N=E,P=z,R=O;return i(),g("div",H,[t(R,{class:"w-full max-w-md"},{header:n(()=>[d("div",J,[t(C,{name:"i-lucide-lock",class:"size-6"}),d("h1",K,x(e(p)?"Set your password":"Reset your password"),1)])]),default:n(()=>[e(m)?(i(),g(T,{key:1},[e(a)?(i(),h(v,{key:0,color:"error",title:e(a),variant:"subtle",class:"mb-4"},null,8,["title"])):j("",!0),d("form",{class:"space-y-4",onSubmit:A(B,["prevent"])},[t(y,{label:"New password",name:"password",required:""},{default:n(()=>[t(w,{modelValue:e(o),"onUpdate:modelValue":s[0]||(s[0]=_=>k(o)?o.value=_:null),type:"password",placeholder:"Min 8 characters",autocomplete:"new-password",disabled:e(r),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),t(y,{label:"Confirm password",name:"confirmPassword",required:""},{default:n(()=>[t(w,{modelValue:e(c),"onUpdate:modelValue":s[1]||(s[1]=_=>k(c)?c.value=_:null),type:"password",placeholder:"Repeat password",autocomplete:"new-password",disabled:e(r),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),t(N,{type:"submit",block:"",loading:e(r)},{default:n(()=>[b(x(e(p)?"Activate account":"Reset password"),1)]),_:1},8,["loading"])],32)],64)):(i(),h(v,{key:0,color:"error",title:"Invalid link",description:"This link is missing or malformed."})),d("div",Q,[t(P,{to:"/login",class:"text-sm text-gray-500 hover:text-gray-700 dark:hover:text-gray-300"},{default:n(()=>[...s[2]||(s[2]=[b(" Back to login ",-1)])]),_:1})])]),_:1})])}}});export{te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as o,o as s,f as e,g as c,p as u,v as r,m,t as l,k as g,s as d}from"./
|
|
1
|
+
import{d as o,o as s,f as e,g as c,p as u,v as r,m,t as l,k as g,s as d}from"./h49q_GXF.js";import{j as f}from"./CD3R-ggS.js";const _=o({__name:"RunStatusBadge",props:{status:{},size:{}},setup(t){return(a,z)=>{const n=u,i=d;return s(),e(i,{color:("getStatusColor"in a?a.getStatusColor:g(f))(t.status),size:t.size,variant:"subtle",class:"capitalize gap-1 items-center"},{default:c(()=>[t.status==="running"||t.status==="initialising"||t.status==="finalizing"?(s(),e(n,{key:0,name:"i-lucide-loader-circle",class:"size-3 animate-spin shrink-0"})):r("",!0),m(" "+l(t.status),1)]),_:1},8,["color","size"])}}}),S=Object.assign(_,{__name:"RunStatusBadge"});export{S as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a3 as S,a6 as V,
|
|
1
|
+
import{a3 as S,a6 as V,b9 as P,a4 as A,a5 as B,r as O,o as r,f as v,W as b,k as a,_ as j,h as q,a8 as x,a2 as F,g as k,i as L,q as u,c as f,F as C,y as N,j as y,x as D,ba as K,bb as T,V as d,p as $,aJ as U,v as m,aI as I,m as E,t as J,X as R}from"./h49q_GXF.js";import{a as W}from"./BhH0TNTi.js";const X={base:"hidden lg:flex",variants:{side:{left:"",right:""}}},Q={__name:"UDashboardSidebarCollapse",props:{color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"ghost"},side:{type:String,required:!1,default:"left"},ui:{type:Object,required:!1},label:{type:String,required:!1},activeColor:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},class:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},exactActiveClass:{type:String,required:!1},viewTransition:{type:Boolean,required:!1}},setup(g){const i=S("dashboardSidebarCollapse",g),l=V(P(i,"icon","side","class")),{t:p}=A(),o=B(),{sidebarCollapsed:c,collapseSidebar:s}=W({sidebarCollapsed:O(!1),collapseSidebar:()=>{}}),n=q(()=>x({extend:X,...o.ui?.dashboardSidebarCollapse||{}}));return(_,e)=>(r(),v(j,b({...a(l),icon:a(i).icon||(a(c)?a(o).ui.icons.panelOpen:a(o).ui.icons.panelClose),"aria-label":a(c)?a(p)("dashboardSidebarCollapse.expand"):a(p)("dashboardSidebarCollapse.collapse"),..._.$attrs},{class:n.value({class:[a(i).ui?.base,a(i).class],side:a(i).side}),onClick:e[0]||(e[0]=t=>a(s)?.(!a(c)))}),null,16,["class"]))}},G={slots:{root:"relative min-w-0",list:"flex items-center gap-1.5",item:"flex min-w-0",link:"group relative flex items-center gap-1.5 text-sm min-w-0 rounded-md",linkLeadingIcon:"shrink-0 size-5",linkLeadingAvatar:"shrink-0",linkLeadingAvatarSize:"2xs",linkLabel:"truncate",separator:"flex",separatorIcon:"shrink-0 size-5 text-muted"},variants:{active:{true:{link:"font-semibold"},false:{link:"text-muted font-medium"}},disabled:{true:{link:"cursor-not-allowed opacity-75"}},to:{true:""},color:{primary:{link:"outline-primary/25 focus-visible:outline-3"},secondary:{link:"outline-secondary/25 focus-visible:outline-3"},success:{link:"outline-success/25 focus-visible:outline-3"},info:{link:"outline-info/25 focus-visible:outline-3"},warning:{link:"outline-warning/25 focus-visible:outline-3"},error:{link:"outline-error/25 focus-visible:outline-3"},neutral:{link:"outline-inverted/25 focus-visible:outline-3"}}},compoundVariants:[{disabled:!1,active:!1,to:!0,class:{link:["hover:text-default","transition-colors"]}},{color:"primary",active:!0,class:{link:"text-primary"}},{color:"secondary",active:!0,class:{link:"text-secondary"}},{color:"success",active:!0,class:{link:"text-success"}},{color:"info",active:!0,class:{link:"text-info"}},{color:"warning",active:!0,class:{link:"text-warning"}},{color:"error",active:!0,class:{link:"text-error"}},{color:"neutral",active:!0,class:{link:"text-highlighted"}}],defaultVariants:{color:"primary"}},Y={__name:"UBreadcrumb",props:{as:{type:null,required:!1,default:"nav"},items:{type:Array,required:!1},separatorIcon:{type:null,required:!1},color:{type:null,required:!1},labelKey:{type:null,required:!1,default:"label"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(g){const h=g,i=F(),l=S("breadcrumb",h),{dir:p}=A(),o=B(),c=q(()=>l.separatorIcon||(p.value==="rtl"?o.ui.icons.chevronLeft:o.ui.icons.chevronRight)),s=q(()=>x({extend:G,...o.ui?.breadcrumb||{}})({color:l.color}));return(n,_)=>(r(),v(a(R),{as:a(l).as,"aria-label":"breadcrumb","data-slot":"root",class:u(s.value.root({class:[a(l).ui?.root,a(l).class]}))},{default:k(()=>[L("ol",{"data-slot":"list",class:u(s.value.list({class:a(l).ui?.list}))},[(r(!0),f(C,null,N(a(l).items,(e,t)=>(r(),f(C,{key:t},[L("li",{"data-slot":"item",class:u(s.value.item({class:[a(l).ui?.item,e.ui?.item]}))},[y(D,b({ref_for:!0},a(K)(e),{custom:""}),{default:k(({active:w,...z})=>[y(T,b({ref_for:!0},z,{as:"span","aria-current":(e.active??w)&&t===a(l).items.length-1?"page":void 0,"data-slot":"link",class:s.value.link({class:[a(l).ui?.link,e.ui?.link,e.class],active:e.active??t===a(l).items.length-1,disabled:!!e.disabled,to:!!e.to})}),{default:k(()=>[d(n.$slots,e.slot||"item",{item:e,active:e.active??t===a(l).items.length-1,index:t,ui:s.value},()=>[d(n.$slots,e.slot?`${e.slot}-leading`:"item-leading",{item:e,active:e.active??t===a(l).items.length-1,index:t,ui:s.value},()=>[e.icon?(r(),v($,{key:0,name:e.icon,"data-slot":"linkLeadingIcon",class:u(s.value.linkLeadingIcon({class:[a(l).ui?.linkLeadingIcon,e.ui?.linkLeadingIcon],active:e.active??t===a(l).items.length-1}))},null,8,["name","class"])):e.avatar?(r(),v(U,b({key:1,size:a(l).ui?.linkLeadingAvatarSize||s.value.linkLeadingAvatarSize()},{ref_for:!0},e.avatar,{"data-slot":"linkLeadingAvatar",class:s.value.linkLeadingAvatar({class:[a(l).ui?.linkLeadingAvatar,e.ui?.linkLeadingAvatar],active:e.active??t===a(l).items.length-1})}),null,16,["size","class"])):m("",!0)]),a(I)(e,a(l).labelKey)||i[e.slot?`${e.slot}-label`:"item-label"]?(r(),f("span",{key:0,"data-slot":"linkLabel",class:u(s.value.linkLabel({class:[a(l).ui?.linkLabel,e.ui?.linkLabel]}))},[d(n.$slots,e.slot?`${e.slot}-label`:"item-label",{item:e,active:e.active??t===a(l).items.length-1,index:t},()=>[E(J(a(I)(e,a(l).labelKey)),1)])],2)):m("",!0),d(n.$slots,e.slot?`${e.slot}-trailing`:"item-trailing",{item:e,active:e.active??t===a(l).items.length-1,index:t})])]),_:2},1040,["aria-current","class"])]),_:2},1040)],2),t<a(l).items.length-1?(r(),f("li",{key:0,role:"presentation","aria-hidden":"true","data-slot":"separator",class:u(s.value.separator({class:[a(l).ui?.separator,e.ui?.separator]}))},[d(n.$slots,"separator",{ui:s.value},()=>[y($,{name:c.value,"data-slot":"separatorIcon",class:u(s.value.separatorIcon({class:[a(l).ui?.separatorIcon,e.ui?.separatorIcon]}))},null,8,["name","class"])])],2)):m("",!0)],64))),128))],2)]),_:3},8,["as","class"]))}};export{Q as _,Y as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a3 as r,a5 as n,o as p,f as i,g as u,V as c,q as d,k as e,X as f,h as m,a8 as _}from"./
|
|
1
|
+
import{a3 as r,a5 as n,o as p,f as i,g as u,V as c,q as d,k as e,X as f,h as m,a8 as _}from"./h49q_GXF.js";const b={base:"animate-pulse rounded-md bg-elevated"},C={__name:"USkeleton",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(a){const s=r("skeleton",a),t=n(),l=m(()=>_({extend:b,...t.ui?.skeleton||{}}));return(o,g)=>(p(),i(e(f),{as:e(s).as,"aria-busy":"true","aria-label":"loading","aria-live":"polite",role:"alert",class:d(l.value({class:[e(s).ui?.base,e(s).class]}))},{default:u(()=>[c(o.$slots,"default")]),_:3},8,["as","class"]))}};export{C as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as i,o as a,c as t,V as n,F as r,y as c,f as d,g as _,i as m,t as b,_ as u}from"./
|
|
1
|
+
import{d as i,o as a,c as t,V as n,F as r,y as c,f as d,g as _,i as m,t as b,_ as u}from"./h49q_GXF.js";const p={class:"flex items-center gap-1.5"},f={class:"hidden sm:inline"},g=i({__name:"NavbarActions",props:{actions:{},size:{default:"md"}},setup(s){return(l,k)=>{const o=u;return a(),t("div",p,[n(l.$slots,"leading"),(a(!0),t(r,null,c(s.actions,e=>(a(),d(o,{key:e.label,icon:e.icon,size:s.size,color:e.color,variant:e.variant,to:e.to,loading:e.loading,disabled:e.disabled,"aria-label":e.label,title:e.label,onClick:v=>e.onClick?.()},{default:_(()=>[m("span",f,b(e.label),1)]),_:2},1032,["icon","size","color","variant","to","loading","disabled","aria-label","title","onClick"]))),128)),n(l.$slots,"default")])}}}),B=Object.assign(g,{__name:"NavbarActions"});export{B as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as x,a as $}from"./C9p0YCAi.js";import{_ as w,a as y}from"./B_mN5eMV.js";import{_ as B}from"./iubpj2qv.js";import{a3 as C,a5 as M,o as m,f as d,g as l,V as c,i as u,q as p,k as t,X as S,h as U,a8 as k,B as D,r as N,d as P,e as q,j as o,aK as T}from"./h49q_GXF.js";import{u as j}from"./B-6GGrhr.js";import"./BhH0TNTi.js";import"./x8w_1_rn.js";import"./CRPt9SfB.js";import"./CobveFaj.js";import"./BjaRappk.js";import"./BaDhDBCV.js";const V={slots:{root:"shrink-0 flex items-center justify-between border-b border-default px-4 sm:px-6 gap-1.5 overflow-x-auto min-h-[49px]",left:"flex items-center gap-1.5",right:"flex items-center gap-1.5"}},H={__name:"UDashboardToolbar",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(s){const a=C("dashboardToolbar",s),e=M(),r=U(()=>k({extend:V,...e.ui?.dashboardToolbar||{}})());return(i,f)=>(m(),d(t(S),{as:t(a).as,"data-slot":"root",class:p(r.value.root({class:[t(a).ui?.root,t(a).class]}))},{default:l(()=>[c(i.$slots,"default",{},()=>[u("div",{"data-slot":"left",class:p(r.value.left({class:[t(a).ui?.left]}))},[c(i.$slots,"left")],2),u("div",{"data-slot":"right",class:p(r.value.right({class:[t(a).ui?.right]}))},[c(i.$slots,"right")],2)])]),_:3},8,["as","class"]))}};function z(){const s=N({account:!1,users:!1,notifications:!1,tags:!1,storage:!1,performance:!1,"pr-feedback":!1,ai:!1,about:!1});async function n(){const a=[];a.push($fetch("/api/settings/ai").then(e=>{s.value.ai=!!e.envManaged}).catch(()=>{})),a.push($fetch("/api/settings/wasted-waits").then(e=>{s.value.performance=!!e.envManaged}).catch(()=>{})),a.push($fetch("/api/settings/smtp").then(e=>{s.value.notifications=!!(e.envManaged&&e.configured)}).catch(()=>{})),await Promise.all(a)}return D(()=>{n()}),{envManaged:s,refresh:n}}const A={class:"flex flex-col gap-4 sm:gap-6 lg:gap-12 w-full lg:max-w-4xl mx-auto"},W=P({__name:"settings",setup(s){q({title:"Settings — Piwi Dashboard"});const{envManaged:n}=z(),a=j(n);return(e,r)=>{const i=x,f=$,_=y,g=B,h=H,b=T,v=w;return m(),d(v,{id:"settings",ui:{body:"lg:py-12"}},{header:l(()=>[o(_,null,{leading:l(()=>[o(i),o(f,{items:[{label:"Home",icon:"i-lucide-house",to:"/"},{label:"Settings"}]})]),_:1}),o(h,null,{default:l(()=>[o(g,{items:t(a),highlight:"",class:"-mx-1 flex-1",ui:{list:"overflow-x-auto",root:"min-w-0"}},null,8,["items"])]),_:1})]),body:l(()=>[u("div",A,[o(b)])]),_:1})}}});export{W as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{aa as P,p as L}from"./Du2W7Jne.js";const y=43200,k=1440,C=Symbol.for("constructDateFrom");function x(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&C in e?e[C](t):e instanceof Date?new e.constructor(t):new Date(t)}function g(e,t){return x(e,e)}let _={};function A(){return _}function W(e){const t=g(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function D(e,...t){const n=x.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function w(e,t){const n=+g(e)-+g(t);return n<0?-1:n>0?1:n}function z(e){return x(e,Date.now())}function E(e,t,n){const[r,a]=D(n?.in,e,t),u=r.getFullYear()-a.getFullYear(),o=r.getMonth()-a.getMonth();return u*12+o}function $(e){return t=>{const r=(e?Math[e]:Math.trunc)(t);return r===0?0:r}}function j(e,t){return+g(e)-+g(t)}function R(e,t){const n=g(e);return n.setHours(23,59,59,999),n}function X(e,t){const n=g(e),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function Y(e,t){const n=g(e);return+R(n)==+X(n)}function U(e,t,n){const[r,a,u]=D(n?.in,e,e,t),o=w(a,u),i=Math.abs(E(a,u));if(i<1)return 0;a.getMonth()===1&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-o*i);let l=w(a,u)===-o;Y(r)&&i===1&&w(r,u)===1&&(l=!1);const d=o*(i-+l);return d===0?0:d}function V(e,t,n){const r=j(e,t)/1e3;return $(n?.roundingMethod)(r)}const q={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},H=(e,t,n)=>{let r;const a=q[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function v(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const B={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},J={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},G={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Q={date:v({formats:B,defaultWidth:"full"}),time:v({formats:J,defaultWidth:"full"}),dateTime:v({formats:G,defaultWidth:"full"})},K={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Z=(e,t,n,r)=>K[e];function p(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const o=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):o;a=e.formattingValues[i]||e.formattingValues[o]}else{const o=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;a=e.values[i]||e.values[o]}const u=e.argumentCallback?e.argumentCallback(t):t;return a[u]}}const ee={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},te={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ne={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},re={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},ae={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ie={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},oe=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},se={ordinalNumber:oe,era:p({values:ee,defaultWidth:"wide"}),quarter:p({values:te,defaultWidth:"wide",argumentCallback:e=>e-1}),month:p({values:ne,defaultWidth:"wide"}),day:p({values:re,defaultWidth:"wide"}),dayPeriod:p({values:ae,defaultWidth:"wide",formattingValues:ie,defaultFormattingWidth:"wide"})};function b(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],u=t.match(a);if(!u)return null;const o=u[0],i=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(i)?ce(i,h=>h.test(o)):ue(i,h=>h.test(o));let d;d=e.valueCallback?e.valueCallback(l):l,d=n.valueCallback?n.valueCallback(d):d;const f=t.slice(o.length);return{value:d,rest:f}}}function ue(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ce(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function le(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],u=t.match(e.parsePattern);if(!u)return null;let o=e.valueCallback?e.valueCallback(u[0]):u[0];o=n.valueCallback?n.valueCallback(o):o;const i=t.slice(a.length);return{value:o,rest:i}}}const de=/^(\d+)(th|st|nd|rd)?/i,fe=/\d+/i,he={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},me={any:[/^b/i,/^(a|c)/i]},ge={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},pe={any:[/1/i,/2/i,/3/i,/4/i]},be={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ye={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},we={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Me={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},ve={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},xe={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},De={ordinalNumber:le({matchPattern:de,parsePattern:fe,valueCallback:e=>parseInt(e,10)}),era:b({matchPatterns:he,defaultMatchWidth:"wide",parsePatterns:me,defaultParseWidth:"any"}),quarter:b({matchPatterns:ge,defaultMatchWidth:"wide",parsePatterns:pe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:b({matchPatterns:be,defaultMatchWidth:"wide",parsePatterns:ye,defaultParseWidth:"any"}),day:b({matchPatterns:we,defaultMatchWidth:"wide",parsePatterns:Me,defaultParseWidth:"any"}),dayPeriod:b({matchPatterns:ve,defaultMatchWidth:"any",parsePatterns:xe,defaultParseWidth:"any"})},N={code:"en-US",formatDistance:H,formatLong:Q,formatRelative:Z,localize:se,match:De,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Se(e,t,n){const r=A(),a=n?.locale??r.locale??N,u=2520,o=w(e,t);if(isNaN(o))throw new RangeError("Invalid time value");const i=Object.assign({},n,{addSuffix:n?.addSuffix,comparison:o}),[l,d]=D(n?.in,...o>0?[t,e]:[e,t]),f=V(d,l),h=(W(d)-W(l))/1e3,c=Math.round((f-h)/60);let s;if(c<2)return n?.includeSeconds?f<5?a.formatDistance("lessThanXSeconds",5,i):f<10?a.formatDistance("lessThanXSeconds",10,i):f<20?a.formatDistance("lessThanXSeconds",20,i):f<40?a.formatDistance("halfAMinute",0,i):f<60?a.formatDistance("lessThanXMinutes",1,i):a.formatDistance("xMinutes",1,i):c===0?a.formatDistance("lessThanXMinutes",1,i):a.formatDistance("xMinutes",c,i);if(c<45)return a.formatDistance("xMinutes",c,i);if(c<90)return a.formatDistance("aboutXHours",1,i);if(c<k){const m=Math.round(c/60);return a.formatDistance("aboutXHours",m,i)}else{if(c<u)return a.formatDistance("xDays",1,i);if(c<y){const m=Math.round(c/k);return a.formatDistance("xDays",m,i)}else if(c<y*2)return s=Math.round(c/y),a.formatDistance("aboutXMonths",s,i)}if(s=U(d,l),s<12){const m=Math.round(c/y);return a.formatDistance("xMonths",m,i)}else{const m=s%12,M=Math.trunc(s/12);return m<3?a.formatDistance("aboutXYears",M,i):m<9?a.formatDistance("overXYears",M,i):a.formatDistance("almostXYears",M+1,i)}}function Pe(e,t){return Se(e,z(e),t)}const ke=["years","months","weeks","days","hours","minutes","seconds"];function Ce(e,t){const r=A().locale??N,a=ke,u=" ";return r.formatDistance?a.reduce((i,l)=>{const d=`x${l.replace(/(^.)/,h=>h.toUpperCase())}`,f=e[l];return f!==void 0&&e[l]?i.concat(r.formatDistance(d,f)):i},[]).join(u):""}const We="piwi:",O=["critical","high","medium","low"];new Set(O);function Le(e){return typeof e=="string"&&e.trim().toLowerCase().startsWith(We)}function _e(e){return O.includes(e)?e:void 0}function ze(e){return({column:t})=>{const n=t.getIsSorted();return P("button",{class:"flex items-center gap-1 font-semibold select-none cursor-pointer hover:text-highlighted transition-colors",onClick:()=>t.toggleSorting()},[e,P(L,{name:n==="asc"?"i-lucide-chevron-up":n==="desc"?"i-lucide-chevron-down":"i-lucide-chevrons-up-down",class:["shrink-0 size-3.5",!n&&"opacity-40"]})])}}function Ee(e,t={}){if(e==null||e==="")return"N/A";let n;if(e instanceof Date)n=e;else{const r=typeof e=="number"?e:Number(e);!Number.isNaN(r)&&String(e).trim()!==""?n=new Date(r<1e12?r*1e3:r):n=new Date(e)}return Number.isNaN(n.getTime())?"N/A":t.dateOnly?n.toLocaleDateString():n.toLocaleString()}function $e(e){return e?Pe(new Date(e),{addSuffix:!0}):"N/A"}function je(e){if(e==null)return"N/A";const t=Math.round(Math.abs(e));return t===0?"0 seconds":(e<0?"−":"")+Ce({seconds:t/1e3})}function Re(e){if(e==null)return null;const t=Math.round(Math.abs(e)),n=e<0?"−":"";if(t<1e3)return{value:n+t,unit:"ms"};const r=t/1e3;return r<60?{value:n+Math.round(r*10)/10,unit:"s"}:{value:n+Math.round(r/60*10)/10,unit:"m"}}function Xe(e){switch(e){case"html":return"i-lucide-layout-dashboard";case"monocart":return"i-lucide-bar-chart-2";case"blob":return"i-lucide-download";default:return"i-lucide-file-text"}}function Ye(e){if(!e)return"i-lucide-globe";const t=e.toLowerCase();return t.includes("chrome")||t.includes("chromium")?"i-simple-icons-googlechrome":t.includes("firefox")?"i-simple-icons-firefoxbrowser":t.includes("safari")||t.includes("webkit")?"i-simple-icons-safari":t.includes("edge")?"i-simple-icons-microsoftedge":"i-lucide-globe"}function Ue(e){if(!e)return"#6b7280";const t=e.toLowerCase();return t.includes("chrome")||t.includes("chromium")?"#4285F4":t.includes("firefox")?"#FF7139":t.includes("safari")||t.includes("webkit")?"#007AFF":t.includes("edge")?"#0078D7":"#6b7280"}function Te(e){switch(e){case"passed":return"success";case"failed":return"error";case"timedout":return"warning";case"timedOut":return"warning";case"interrupted":return"warning";case"cancelled":return"neutral";case"initialising":return"info";case"running":return"info";case"finalizing":return"info";default:return"neutral"}}function S(e){return e==="timedOut"?"timedout":e}function Ve(e){switch(S(e)){case"passed":return"i-lucide-check-circle-2";case"failed":case"timedout":return"i-lucide-x-circle";case"didnotrun":return"i-lucide-circle-slash";case"running":case"initialising":case"finalizing":return"i-lucide-loader-circle";default:return"i-lucide-minus-circle"}}function qe(e){switch(S(e)){case"passed":return"text-emerald-600 dark:text-emerald-400";case"failed":case"timedout":return"text-rose-600 dark:text-rose-400";case"didnotrun":return"text-amber-600 dark:text-amber-400";case"running":case"initialising":case"finalizing":return"text-blue-600 dark:text-blue-400";default:return"text-zinc-400 dark:text-zinc-500"}}function He(e){const t=S(e);return t==="running"||t==="initialising"||t==="finalizing"}function Be(e){return e==="timedOut"||e==="timedout"?"failed":e==="didnotrun"?"didn't run":e==="never-run"?"never run":e}function Je(e){return e&&{open:"warning",resolved:"success",ignored:"neutral"}[e]||"neutral"}function Ge(e){switch(e){case"diagnosis-verified":return{label:"Fix verified",color:"success",icon:"i-lucide-badge-check",hint:"The tests went green and the change touched the files the diagnosis named."};case"stopped-failing":return{label:"Stopped failing",color:"info",icon:"i-lucide-check",hint:"The tests went green. Nothing corroborates which change did it."};case"regressed":return{label:"Regressed",color:"error",icon:"i-lucide-undo-2",hint:"A fix was recorded for this cluster and it did not hold — the failure came back."};default:return null}}function Qe(e){return e&&{timeout:"warning",assertion:"error","strict-mode":"info",navigation:"secondary",crash:"error",unknown:"neutral"}[e]||"neutral"}const T=["#ef4444","#f97316","#f59e0b","#84cc16","#10b981","#14b8a6","#06b6d4","#3b82f6","#6366f1","#8b5cf6","#d946ef","#ec4899"];function Ke(){return T[Math.floor(Math.random()*T.length)]}function I(e){return!e.startsWith(".")&&!e.startsWith("/")?e:e.replace(".data/storage/","")}function Ze(e,t,n="/",r=!1){const a=(n||"/").replace(/\/$/,""),u=new URLSearchParams,o=/\.[a-z0-9]+$/i.test(e);t&&!o&&u.set("contentType",t),r&&u.set("compress","1");const i=u.toString();return`${a}/api/files/${I(e)}${i?`?${i}`:""}`}function et(e,t="/",n=!1){const r=(t||"/").replace(/\/$/,""),o=`${typeof location>"u"?"":location.origin}${r}/${n?"":"api/files/"}${I(e)}`;return`${r}/trace-viewer/?trace=${encodeURIComponent(o)}`}function tt(e,t="Unknown error"){if(e&&typeof e=="object"){const n=e;return n.data?.message??n.message??t}return t}function nt(e,t){const n=t.trim().toLowerCase();return n?e.filter(r=>r.message.toLowerCase().includes(n)||r.author.toLowerCase().includes(n)||r.sha.includes(n)||r.shortSha.includes(n)):e}function rt(e){switch(e){case"added":return{icon:"i-lucide-file-plus",color:"text-green-500",badgeColor:"success"};case"removed":return{icon:"i-lucide-file-minus",color:"text-red-500",badgeColor:"error"};case"renamed":return{icon:"i-lucide-file-symlink",color:"text-blue-500",badgeColor:"info"};default:return{icon:"i-lucide-file-pen-line",color:"text-gray-400",badgeColor:"neutral"}}}const at={add:"bg-green-50 dark:bg-green-950/30 text-green-800 dark:text-green-300",remove:"bg-red-50 dark:bg-red-950/30 text-red-800 dark:text-red-300",hunk:"bg-blue-50 dark:bg-blue-950/20 text-blue-500 dark:text-blue-400",context:"text-gray-600 dark:text-gray-400"};function it(e){return e.split(`
|
|
2
|
-
`).map(t=>t.startsWith("+")&&!t.startsWith("+++")?{type:"add",text:t}:t.startsWith("-")&&!t.startsWith("---")?{type:"remove",text:t}:t.startsWith("@@")?{type:"hunk",text:t}:{type:"context",text:t})}const Fe="\x1B",Ae={30:"#000000",31:"#dc2626",32:"#16a34a",33:"#d97706",34:"#2563eb",35:"#9333ea",36:"#0891b2",37:"#9ca3af"},Ne={40:"#000000",41:"#dc2626",42:"#16a34a",43:"#d97706",44:"#2563eb",45:"#9333ea",46:"#0891b2",47:"#9ca3af"},F=new RegExp(`${Fe}\\[([0-9;]*)m`,"g");function Oe(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function ot(e){const t=[];let n=0,r,a,u=!1,o=!1,i=!1,l=!1;const d=c=>{if(!c)return;const s=[];u&&s.push("font-weight:600"),o&&s.push("opacity:.7"),i&&s.push("font-style:italic"),l&&s.push("text-decoration:underline"),r&&s.push(`color:${r}`),a&&s.push(`background:${a}`);const m=Oe(c);t.push(s.length?`<span style="${s.join(";")}">${m}</span>`:m)},f=c=>{for(const s of c)s===0?(r=void 0,a=void 0,u=!1,o=!1,i=!1,l=!1):s===1?u=!0:s===2?o=!0:s===3?i=!0:s===4?l=!0:s===22?(u=!1,o=!1):s===23?i=!1:s===24?l=!1:s>=30&&s<=37?r=Ae[s]:s===39?r=void 0:s>=40&&s<=47?a=Ne[s]:s===49&&(a=void 0)};let h;for(;(h=F.exec(e))!==null;){d(e.slice(n,h.index)),n=F.lastIndex;const c=h[1]?h[1].split(";").map(Number):[0];f(c)}return d(e.slice(n)),t.join("")}function st(e,t=120){if(!e)return"";const n=e.replace(/\n/g," · ");return n.length<=t?n:n.slice(0,t)+"…"}function ut(e){return e.totalTests>0?Math.round(e.passedTests/e.totalTests*100):0}function ct(e){return e==="flaky"?"warning":e==="never-run"?"neutral":e==="didnotrun"?"warning":Te(e)}function lt(e){switch(e.toUpperCase()){case"GET":return"info";case"POST":return"success";case"DELETE":return"error";case"PUT":case"PATCH":return"warning";default:return"neutral"}}function dt(e){return!e||e<=0?"neutral":e>=500?"error":e>=400?"warning":"success"}export{Ve as A,He as B,Ye as C,Ue as D,Ke as E,ut as F,Re as G,je as a,Je as b,Qe as c,Ge as d,
|
|
1
|
+
import{aa as P,p as L}from"./h49q_GXF.js";const y=43200,k=1440,C=Symbol.for("constructDateFrom");function x(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&C in e?e[C](t):e instanceof Date?new e.constructor(t):new Date(t)}function g(e,t){return x(e,e)}let _={};function A(){return _}function W(e){const t=g(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function D(e,...t){const n=x.bind(null,e||t.find(r=>typeof r=="object"));return t.map(n)}function w(e,t){const n=+g(e)-+g(t);return n<0?-1:n>0?1:n}function z(e){return x(e,Date.now())}function E(e,t,n){const[r,a]=D(n?.in,e,t),u=r.getFullYear()-a.getFullYear(),o=r.getMonth()-a.getMonth();return u*12+o}function $(e){return t=>{const r=(e?Math[e]:Math.trunc)(t);return r===0?0:r}}function j(e,t){return+g(e)-+g(t)}function R(e,t){const n=g(e);return n.setHours(23,59,59,999),n}function X(e,t){const n=g(e),r=n.getMonth();return n.setFullYear(n.getFullYear(),r+1,0),n.setHours(23,59,59,999),n}function Y(e,t){const n=g(e);return+R(n)==+X(n)}function U(e,t,n){const[r,a,u]=D(n?.in,e,e,t),o=w(a,u),i=Math.abs(E(a,u));if(i<1)return 0;a.getMonth()===1&&a.getDate()>27&&a.setDate(30),a.setMonth(a.getMonth()-o*i);let l=w(a,u)===-o;Y(r)&&i===1&&w(r,u)===1&&(l=!1);const d=o*(i-+l);return d===0?0:d}function V(e,t,n){const r=j(e,t)/1e3;return $(n?.roundingMethod)(r)}const q={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},H=(e,t,n)=>{let r;const a=q[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function v(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const B={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},J={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},G={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},Q={date:v({formats:B,defaultWidth:"full"}),time:v({formats:J,defaultWidth:"full"}),dateTime:v({formats:G,defaultWidth:"full"})},K={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Z=(e,t,n,r)=>K[e];function p(e){return(t,n)=>{const r=n?.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const o=e.defaultFormattingWidth||e.defaultWidth,i=n?.width?String(n.width):o;a=e.formattingValues[i]||e.formattingValues[o]}else{const o=e.defaultWidth,i=n?.width?String(n.width):e.defaultWidth;a=e.values[i]||e.values[o]}const u=e.argumentCallback?e.argumentCallback(t):t;return a[u]}}const ee={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},te={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},ne={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},re={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},ae={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},ie={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},oe=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},se={ordinalNumber:oe,era:p({values:ee,defaultWidth:"wide"}),quarter:p({values:te,defaultWidth:"wide",argumentCallback:e=>e-1}),month:p({values:ne,defaultWidth:"wide"}),day:p({values:re,defaultWidth:"wide"}),dayPeriod:p({values:ae,defaultWidth:"wide",formattingValues:ie,defaultFormattingWidth:"wide"})};function b(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],u=t.match(a);if(!u)return null;const o=u[0],i=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(i)?ce(i,h=>h.test(o)):ue(i,h=>h.test(o));let d;d=e.valueCallback?e.valueCallback(l):l,d=n.valueCallback?n.valueCallback(d):d;const f=t.slice(o.length);return{value:d,rest:f}}}function ue(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ce(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function le(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],u=t.match(e.parsePattern);if(!u)return null;let o=e.valueCallback?e.valueCallback(u[0]):u[0];o=n.valueCallback?n.valueCallback(o):o;const i=t.slice(a.length);return{value:o,rest:i}}}const de=/^(\d+)(th|st|nd|rd)?/i,fe=/\d+/i,he={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},me={any:[/^b/i,/^(a|c)/i]},ge={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},pe={any:[/1/i,/2/i,/3/i,/4/i]},be={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},ye={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},we={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},Me={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},ve={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},xe={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},De={ordinalNumber:le({matchPattern:de,parsePattern:fe,valueCallback:e=>parseInt(e,10)}),era:b({matchPatterns:he,defaultMatchWidth:"wide",parsePatterns:me,defaultParseWidth:"any"}),quarter:b({matchPatterns:ge,defaultMatchWidth:"wide",parsePatterns:pe,defaultParseWidth:"any",valueCallback:e=>e+1}),month:b({matchPatterns:be,defaultMatchWidth:"wide",parsePatterns:ye,defaultParseWidth:"any"}),day:b({matchPatterns:we,defaultMatchWidth:"wide",parsePatterns:Me,defaultParseWidth:"any"}),dayPeriod:b({matchPatterns:ve,defaultMatchWidth:"any",parsePatterns:xe,defaultParseWidth:"any"})},N={code:"en-US",formatDistance:H,formatLong:Q,formatRelative:Z,localize:se,match:De,options:{weekStartsOn:0,firstWeekContainsDate:1}};function Se(e,t,n){const r=A(),a=n?.locale??r.locale??N,u=2520,o=w(e,t);if(isNaN(o))throw new RangeError("Invalid time value");const i=Object.assign({},n,{addSuffix:n?.addSuffix,comparison:o}),[l,d]=D(n?.in,...o>0?[t,e]:[e,t]),f=V(d,l),h=(W(d)-W(l))/1e3,c=Math.round((f-h)/60);let s;if(c<2)return n?.includeSeconds?f<5?a.formatDistance("lessThanXSeconds",5,i):f<10?a.formatDistance("lessThanXSeconds",10,i):f<20?a.formatDistance("lessThanXSeconds",20,i):f<40?a.formatDistance("halfAMinute",0,i):f<60?a.formatDistance("lessThanXMinutes",1,i):a.formatDistance("xMinutes",1,i):c===0?a.formatDistance("lessThanXMinutes",1,i):a.formatDistance("xMinutes",c,i);if(c<45)return a.formatDistance("xMinutes",c,i);if(c<90)return a.formatDistance("aboutXHours",1,i);if(c<k){const m=Math.round(c/60);return a.formatDistance("aboutXHours",m,i)}else{if(c<u)return a.formatDistance("xDays",1,i);if(c<y){const m=Math.round(c/k);return a.formatDistance("xDays",m,i)}else if(c<y*2)return s=Math.round(c/y),a.formatDistance("aboutXMonths",s,i)}if(s=U(d,l),s<12){const m=Math.round(c/y);return a.formatDistance("xMonths",m,i)}else{const m=s%12,M=Math.trunc(s/12);return m<3?a.formatDistance("aboutXYears",M,i):m<9?a.formatDistance("overXYears",M,i):a.formatDistance("almostXYears",M+1,i)}}function Pe(e,t){return Se(e,z(e),t)}const ke=["years","months","weeks","days","hours","minutes","seconds"];function Ce(e,t){const r=A().locale??N,a=ke,u=" ";return r.formatDistance?a.reduce((i,l)=>{const d=`x${l.replace(/(^.)/,h=>h.toUpperCase())}`,f=e[l];return f!==void 0&&e[l]?i.concat(r.formatDistance(d,f)):i},[]).join(u):""}const We="piwi:",O=["critical","high","medium","low"];new Set(O);function Le(e){return typeof e=="string"&&e.trim().toLowerCase().startsWith(We)}function _e(e){return O.includes(e)?e:void 0}function ze(e){return({column:t})=>{const n=t.getIsSorted();return P("button",{class:"flex items-center gap-1 font-semibold select-none cursor-pointer hover:text-highlighted transition-colors",onClick:()=>t.toggleSorting()},[e,P(L,{name:n==="asc"?"i-lucide-chevron-up":n==="desc"?"i-lucide-chevron-down":"i-lucide-chevrons-up-down",class:["shrink-0 size-3.5",!n&&"opacity-40"]})])}}function Ee(e,t={}){if(e==null||e==="")return"N/A";let n;if(e instanceof Date)n=e;else{const r=typeof e=="number"?e:Number(e);!Number.isNaN(r)&&String(e).trim()!==""?n=new Date(r<1e12?r*1e3:r):n=new Date(e)}return Number.isNaN(n.getTime())?"N/A":t.dateOnly?n.toLocaleDateString():n.toLocaleString()}function $e(e){return e?Pe(new Date(e),{addSuffix:!0}):"N/A"}function je(e){if(e==null)return"N/A";const t=Math.round(Math.abs(e));return t===0?"0 seconds":(e<0?"−":"")+Ce({seconds:t/1e3})}function Re(e){if(e==null)return null;const t=Math.round(Math.abs(e)),n=e<0?"−":"";if(t<1e3)return{value:n+t,unit:"ms"};const r=t/1e3;return r<60?{value:n+Math.round(r*10)/10,unit:"s"}:{value:n+Math.round(r/60*10)/10,unit:"m"}}function Xe(e){switch(e){case"html":return"i-lucide-layout-dashboard";case"monocart":return"i-lucide-bar-chart-2";case"blob":return"i-lucide-download";default:return"i-lucide-file-text"}}function Ye(e){if(!e)return"i-lucide-globe";const t=e.toLowerCase();return t.includes("chrome")||t.includes("chromium")?"i-simple-icons-googlechrome":t.includes("firefox")?"i-simple-icons-firefoxbrowser":t.includes("safari")||t.includes("webkit")?"i-simple-icons-safari":t.includes("edge")?"i-simple-icons-microsoftedge":"i-lucide-globe"}function Ue(e){if(!e)return"#6b7280";const t=e.toLowerCase();return t.includes("chrome")||t.includes("chromium")?"#4285F4":t.includes("firefox")?"#FF7139":t.includes("safari")||t.includes("webkit")?"#007AFF":t.includes("edge")?"#0078D7":"#6b7280"}function Te(e){switch(e){case"passed":return"success";case"failed":return"error";case"timedout":return"warning";case"timedOut":return"warning";case"interrupted":return"warning";case"cancelled":return"neutral";case"initialising":return"info";case"running":return"info";case"finalizing":return"info";default:return"neutral"}}function S(e){return e==="timedOut"?"timedout":e}function Ve(e){switch(S(e)){case"passed":return"i-lucide-check-circle-2";case"failed":case"timedout":return"i-lucide-x-circle";case"didnotrun":return"i-lucide-circle-slash";case"running":case"initialising":case"finalizing":return"i-lucide-loader-circle";default:return"i-lucide-minus-circle"}}function qe(e){switch(S(e)){case"passed":return"text-emerald-600 dark:text-emerald-400";case"failed":case"timedout":return"text-rose-600 dark:text-rose-400";case"didnotrun":return"text-amber-600 dark:text-amber-400";case"running":case"initialising":case"finalizing":return"text-blue-600 dark:text-blue-400";default:return"text-zinc-400 dark:text-zinc-500"}}function He(e){const t=S(e);return t==="running"||t==="initialising"||t==="finalizing"}function Be(e){return e==="timedOut"||e==="timedout"?"failed":e==="didnotrun"?"didn't run":e==="never-run"?"never run":e}function Je(e){return e&&{open:"warning",resolved:"success",ignored:"neutral"}[e]||"neutral"}function Ge(e){switch(e){case"diagnosis-verified":return{label:"Fix verified",color:"success",icon:"i-lucide-badge-check",hint:"The tests went green and the change touched the files the diagnosis named."};case"stopped-failing":return{label:"Stopped failing",color:"info",icon:"i-lucide-check",hint:"The tests went green. Nothing corroborates which change did it."};case"regressed":return{label:"Regressed",color:"error",icon:"i-lucide-undo-2",hint:"A fix was recorded for this cluster and it did not hold — the failure came back."};default:return null}}function Qe(e){return e&&{timeout:"warning",assertion:"error","strict-mode":"info",navigation:"secondary",crash:"error",unknown:"neutral"}[e]||"neutral"}const T=["#ef4444","#f97316","#f59e0b","#84cc16","#10b981","#14b8a6","#06b6d4","#3b82f6","#6366f1","#8b5cf6","#d946ef","#ec4899"];function Ke(){return T[Math.floor(Math.random()*T.length)]}function I(e){return!e.startsWith(".")&&!e.startsWith("/")?e:e.replace(".data/storage/","")}function Ze(e,t,n="/",r=!1){const a=(n||"/").replace(/\/$/,""),u=new URLSearchParams,o=/\.[a-z0-9]+$/i.test(e);t&&!o&&u.set("contentType",t),r&&u.set("compress","1");const i=u.toString();return`${a}/api/files/${I(e)}${i?`?${i}`:""}`}function et(e,t="/",n=!1){const r=(t||"/").replace(/\/$/,""),o=`${typeof location>"u"?"":location.origin}${r}/${n?"":"api/files/"}${I(e)}`;return`${r}/trace-viewer/?trace=${encodeURIComponent(o)}`}function tt(e,t="Unknown error"){if(e&&typeof e=="object"){const n=e;return n.data?.message??n.message??t}return t}function nt(e,t){const n=t.trim().toLowerCase();return n?e.filter(r=>r.message.toLowerCase().includes(n)||r.author.toLowerCase().includes(n)||r.sha.includes(n)||r.shortSha.includes(n)):e}function rt(e){switch(e){case"added":return{icon:"i-lucide-file-plus",color:"text-green-500",badgeColor:"success"};case"removed":return{icon:"i-lucide-file-minus",color:"text-red-500",badgeColor:"error"};case"renamed":return{icon:"i-lucide-file-symlink",color:"text-blue-500",badgeColor:"info"};default:return{icon:"i-lucide-file-pen-line",color:"text-gray-400",badgeColor:"neutral"}}}const at={add:"bg-green-50 dark:bg-green-950/30 text-green-800 dark:text-green-300",remove:"bg-red-50 dark:bg-red-950/30 text-red-800 dark:text-red-300",hunk:"bg-blue-50 dark:bg-blue-950/20 text-blue-500 dark:text-blue-400",context:"text-gray-600 dark:text-gray-400"};function it(e){return e.split(`
|
|
2
|
+
`).map(t=>t.startsWith("+")&&!t.startsWith("+++")?{type:"add",text:t}:t.startsWith("-")&&!t.startsWith("---")?{type:"remove",text:t}:t.startsWith("@@")?{type:"hunk",text:t}:{type:"context",text:t})}const Fe="\x1B",Ae={30:"#000000",31:"#dc2626",32:"#16a34a",33:"#d97706",34:"#2563eb",35:"#9333ea",36:"#0891b2",37:"#9ca3af"},Ne={40:"#000000",41:"#dc2626",42:"#16a34a",43:"#d97706",44:"#2563eb",45:"#9333ea",46:"#0891b2",47:"#9ca3af"},F=new RegExp(`${Fe}\\[([0-9;]*)m`,"g");function Oe(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function ot(e){const t=[];let n=0,r,a,u=!1,o=!1,i=!1,l=!1;const d=c=>{if(!c)return;const s=[];u&&s.push("font-weight:600"),o&&s.push("opacity:.7"),i&&s.push("font-style:italic"),l&&s.push("text-decoration:underline"),r&&s.push(`color:${r}`),a&&s.push(`background:${a}`);const m=Oe(c);t.push(s.length?`<span style="${s.join(";")}">${m}</span>`:m)},f=c=>{for(const s of c)s===0?(r=void 0,a=void 0,u=!1,o=!1,i=!1,l=!1):s===1?u=!0:s===2?o=!0:s===3?i=!0:s===4?l=!0:s===22?(u=!1,o=!1):s===23?i=!1:s===24?l=!1:s>=30&&s<=37?r=Ae[s]:s===39?r=void 0:s>=40&&s<=47?a=Ne[s]:s===49&&(a=void 0)};let h;for(;(h=F.exec(e))!==null;){d(e.slice(n,h.index)),n=F.lastIndex;const c=h[1]?h[1].split(";").map(Number):[0];f(c)}return d(e.slice(n)),t.join("")}function st(e,t=120){if(!e)return"";const n=e.replace(/\n/g," · ");return n.length<=t?n:n.slice(0,t)+"…"}function ut(e){return e.totalTests>0?Math.round(e.passedTests/e.totalTests*100):0}function ct(e){return e==="flaky"?"warning":e==="never-run"?"neutral":e==="didnotrun"?"warning":Te(e)}function lt(e){switch(e.toUpperCase()){case"GET":return"info";case"POST":return"success";case"DELETE":return"error";case"PUT":case"PATCH":return"warning";default:return"neutral"}}function dt(e){return!e||e<=0?"neutral":e>=500?"error":e>=400?"warning":"success"}export{Ve as A,He as B,Ye as C,Ue as D,Ke as E,ut as F,Re as G,je as a,Je as b,Qe as c,Ge as d,tt as e,$e as f,nt as g,st as h,ze as i,Te as j,Be as k,ct as l,Le as m,Ze as n,lt as o,Ee as p,dt as q,ot as r,rt as s,_e as t,at as u,it as v,et as w,I as x,Xe as y,qe as z};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as S,Y as L,aA as N,U as C,Z as O,aB as D,o as c,f as y,g,V as h,k as a,X as I,r as q,aC as j,$ as E,B as U,af as W,j as w,Q as G,v as k,aD as J,h as _,H as Q,aE as X,aF as Y,W as V,aG as Z,aH as aa,S as ta,C as ea,a2 as ia,a3 as sa,a5 as oa,a6 as la,a7 as ra,q as x,c as B,F as $,y as M,aI as z,p as na,aJ as da,m as R,t as K,s as ua,a8 as ca}from"./Du2W7Jne.js";import{R as va}from"./pQqGiNch.js";const[T,fa]=E("TabsRoot");var ga=S({__name:"TabsRoot",props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:"automatic"},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(d,{emit:r}){const u=d,i=r,{orientation:v,unmountOnHide:n,dir:t}=L(u),o=N(t);C();const s=O(u,"modelValue",i,{defaultValue:u.defaultValue,passive:u.modelValue===void 0}),l=q(),p=j(new Set);return fa({modelValue:s,changeModelValue:b=>{s.value=b},orientation:v,dir:o,unmountOnHide:n,activationMode:u.activationMode,baseId:D(void 0,"reka-tabs"),tabsList:l,contentIds:p,registerContent:b=>{p.value=new Set([...p.value,b])},unregisterContent:b=>{const f=new Set(p.value);f.delete(b),p.value=f}}),(b,f)=>(c(),y(a(I),{dir:a(o),"data-orientation":a(v),"as-child":b.asChild,as:b.as},{default:g(()=>[h(b.$slots,"default",{modelValue:a(s)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),pa=ga;function F(d,r){return`${d}-trigger-${r}`}function H(d,r){return`${d}-content-${r}`}var ba=S({__name:"TabsContent",props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(d){const r=d,{forwardRef:u}=C(),i=T(),v=_(()=>F(i.baseId,r.value)),n=_(()=>H(i.baseId,r.value)),t=_(()=>r.value===i.modelValue.value),o=q(t.value);return U(()=>{i.registerContent(r.value),requestAnimationFrame(()=>{o.value=!1})}),W(()=>{i.unregisterContent(r.value)}),(s,l)=>(c(),y(a(J),{present:s.forceMount||t.value,"force-mount":""},{default:g(({present:p})=>[w(a(I),{id:n.value,ref:a(u),"as-child":s.asChild,as:s.as,role:"tabpanel","data-state":t.value?"active":"inactive","data-orientation":a(i).orientation.value,"aria-labelledby":v.value,hidden:!p,tabindex:"0",style:G({animationDuration:o.value?"0s":void 0})},{default:g(()=>[!a(i).unmountOnHide.value||p?h(s.$slots,"default",{key:0}):k("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),ya=ba,ha=S({__name:"TabsIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(d,{expose:r}){const u=d,i=T();r({updateIndicatorStyle:o}),C();const v=Z(),n=q({size:null,thickness:null,position:null}),t=q([]);Q(()=>[i.modelValue.value,i?.dir.value],()=>{o()},{immediate:!0,flush:"post"}),X(()=>{t.value=Array.from(i.tabsList.value?.querySelectorAll('[role="tab"]')||[])}),Y(_(()=>[i.tabsList.value,...t.value]),o);function o(){const s=i.tabsList.value?.querySelector('[role="tab"][data-state="active"]');s&&(i.orientation.value==="horizontal"?n.value={size:s.offsetWidth,thickness:s.offsetHeight,position:s.offsetLeft}:n.value={size:s.offsetHeight,thickness:s.offsetWidth,position:s.offsetTop})}return(s,l)=>a(v)&&typeof n.value.size=="number"?(c(),y(a(I),V({key:0},u,{style:{"--reka-tabs-indicator-size":`${n.value.size}px`,"--reka-tabs-indicator-thickness":`${n.value.thickness}px`,"--reka-tabs-indicator-position":`${n.value.position}px`}}),{default:g(()=>[h(s.$slots,"default")]),_:3},16,["style"])):k("v-if",!0)}}),ma=ha,_a=S({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(d){const r=d,{loop:u}=L(r),{forwardRef:i,currentElement:v}=C(),n=T();return n.tabsList=v,(t,o)=>(c(),y(a(aa),{"as-child":"",orientation:a(n).orientation.value,dir:a(n).dir.value,loop:a(u)},{default:g(()=>[w(a(I),{ref:a(i),role:"tablist","as-child":t.asChild,as:t.as,"aria-orientation":a(n).orientation.value},{default:g(()=>[h(t.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),xa=_a,za=S({__name:"TabsTrigger",props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(d){const r=d,{forwardRef:u}=C(),i=T(),v=_(()=>F(i.baseId,r.value)),n=_(()=>i.contentIds.value.has(r.value)?H(i.baseId,r.value):void 0),t=_(()=>r.value===i.modelValue.value);return(o,s)=>(c(),y(a(va),{"as-child":"",focusable:!o.disabled,active:t.value},{default:g(()=>[w(a(I),{id:v.value,ref:a(u),role:"tab",type:o.as==="button"?"button":void 0,as:o.as,"as-child":o.asChild,"aria-selected":t.value?"true":"false","aria-controls":n.value,"data-state":t.value?"active":"inactive",disabled:o.disabled,"data-disabled":o.disabled?"":void 0,"data-orientation":a(i).orientation.value,onMousedown:s[0]||(s[0]=ea(l=>{!o.disabled&&l.ctrlKey===!1?a(i).changeModelValue(o.value):l.preventDefault()},["left"])),onKeydown:s[1]||(s[1]=ta(l=>a(i).changeModelValue(o.value),["enter","space"])),onFocus:s[2]||(s[2]=()=>{const l=a(i).activationMode!=="manual";!t.value&&!o.disabled&&l&&a(i).changeModelValue(o.value)})},{default:g(()=>[h(o.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),ka=za;const qa={slots:{root:"flex items-center gap-2",list:"relative flex p-1 group",indicator:"absolute transition-[translate,width] duration-200",trigger:["group relative inline-flex items-center min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leadingIcon:"shrink-0",leadingAvatar:"shrink-0",leadingAvatarSize:"",label:"truncate",trailingBadge:"shrink-0",trailingBadgeSize:"sm",content:"w-full rounded-md focus-visible:outline-3"},variants:{color:{primary:{content:"outline-primary/25"},secondary:{content:"outline-secondary/25"},success:{content:"outline-success/25"},info:{content:"outline-info/25"},warning:{content:"outline-warning/25"},error:{content:"outline-error/25"},neutral:{content:"outline-inverted/25"}},variant:{pill:{list:"bg-elevated rounded-lg",trigger:["grow","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:inset-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:rounded-md in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:shadow-xs in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:-z-10 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:isolate"],indicator:"rounded-md shadow-xs"},link:{list:"border-default",indicator:"rounded-full",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:rounded-full"}},orientation:{horizontal:{root:"flex-col",list:"w-full",indicator:"left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)",trigger:"justify-center"},vertical:{list:"flex-col",indicator:"top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)"}},size:{xs:{trigger:"px-2 py-1 text-xs gap-1",leadingIcon:"size-4",leadingAvatarSize:"3xs"},sm:{trigger:"px-2.5 py-1.5 text-xs gap-1.5",leadingIcon:"size-4",leadingAvatarSize:"3xs"},md:{trigger:"px-3 py-1.5 text-sm gap-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs"},lg:{trigger:"px-3 py-2 text-sm gap-2",leadingIcon:"size-5",leadingAvatarSize:"2xs"},xl:{trigger:"px-3 py-2 text-base gap-2",leadingIcon:"size-6",leadingAvatarSize:"xs"}}},compoundVariants:[{orientation:"horizontal",variant:"pill",class:{indicator:"inset-y-1"}},{orientation:"horizontal",variant:"link",class:{list:"border-b -mb-px",indicator:"-bottom-px h-px",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-x-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-bottom-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:h-px"}},{orientation:"vertical",variant:"pill",class:{indicator:"inset-x-1",list:"items-center",trigger:"w-full justify-center"}},{orientation:"vertical",variant:"link",class:{list:"border-s -ms-px",indicator:"-start-px w-px",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-y-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-start-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:w-px"}},{color:"primary",variant:"pill",class:{indicator:"bg-primary",trigger:["data-[state=active]:text-inverted outline-primary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-primary"]}},{color:"secondary",variant:"pill",class:{indicator:"bg-secondary",trigger:["data-[state=active]:text-inverted outline-secondary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-secondary"]}},{color:"success",variant:"pill",class:{indicator:"bg-success",trigger:["data-[state=active]:text-inverted outline-success/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-success"]}},{color:"info",variant:"pill",class:{indicator:"bg-info",trigger:["data-[state=active]:text-inverted outline-info/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-info"]}},{color:"warning",variant:"pill",class:{indicator:"bg-warning",trigger:["data-[state=active]:text-inverted outline-warning/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-warning"]}},{color:"error",variant:"pill",class:{indicator:"bg-error",trigger:["data-[state=active]:text-inverted outline-error/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-error"]}},{color:"neutral",variant:"pill",class:{indicator:"bg-inverted",trigger:["data-[state=active]:text-inverted outline-inverted/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-inverted"]}},{color:"primary",variant:"link",class:{indicator:"bg-primary",trigger:["data-[state=active]:text-primary outline-primary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-primary"]}},{color:"secondary",variant:"link",class:{indicator:"bg-secondary",trigger:["data-[state=active]:text-secondary outline-secondary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-secondary"]}},{color:"success",variant:"link",class:{indicator:"bg-success",trigger:["data-[state=active]:text-success outline-success/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-success"]}},{color:"info",variant:"link",class:{indicator:"bg-info",trigger:["data-[state=active]:text-info outline-info/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-info"]}},{color:"warning",variant:"link",class:{indicator:"bg-warning",trigger:["data-[state=active]:text-warning outline-warning/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-warning"]}},{color:"error",variant:"link",class:{indicator:"bg-error",trigger:["data-[state=active]:text-error outline-error/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-error"]}},{color:"neutral",variant:"link",class:{indicator:"bg-inverted",trigger:["data-[state=active]:text-highlighted outline-inverted/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-inverted"]}}],defaultVariants:{color:"primary",variant:"pill",size:"md"}},Ca={__name:"UTabs",props:{as:{type:null,required:!1},items:{type:Array,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},content:{type:Boolean,required:!1,default:!0},valueKey:{type:null,required:!1,default:"value"},labelKey:{type:null,required:!1,default:"label"},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultValue:{type:[String,Number],required:!1,default:"0"},modelValue:{type:[String,Number],required:!1},activationMode:{type:String,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:["update:modelValue"],setup(d,{expose:r,emit:u}){const i=d,v=u,n=ia(),t=sa("tabs",i),o=oa(),s=la(ra(t,"as","unmountOnHide"),v),l=_(()=>ca({extend:qa,...o.ui?.tabs||{}})({color:t.color,variant:t.variant,size:t.size,orientation:t.orientation})),p=q([]);function b(f,A){p.value[f]=A}return r({triggersRef:p}),(f,A)=>(c(),y(a(pa),V(a(s),{"model-value":a(t).modelValue,"default-value":a(t).defaultValue,orientation:a(t).orientation,"activation-mode":a(t).activationMode,"data-slot":"root",class:l.value.root({class:[a(t).ui?.root,a(t).class]})}),{default:g(()=>[w(a(xa),{"data-slot":"list",class:x(l.value.list({class:a(t).ui?.list}))},{default:g(()=>[w(a(ma),{"data-slot":"indicator",class:x(l.value.indicator({class:a(t).ui?.indicator}))},null,8,["class"]),h(f.$slots,"list-leading"),(c(!0),B($,null,M(a(t).items,(e,m)=>(c(),y(a(ka),{key:a(z)(e,a(t).valueKey)??m,ref_for:!0,ref:P=>b(m,P),value:a(z)(e,a(t).valueKey)??String(m),disabled:e.disabled,"data-slot":"trigger",class:x(l.value.trigger({class:[a(t).ui?.trigger,e.ui?.trigger]}))},{default:g(()=>[h(f.$slots,"leading",{item:e,index:m,ui:l.value},()=>[e.icon?(c(),y(na,{key:0,name:e.icon,"data-slot":"leadingIcon",class:x(l.value.leadingIcon({class:[a(t).ui?.leadingIcon,e.ui?.leadingIcon]}))},null,8,["name","class"])):e.avatar?(c(),y(da,V({key:1,size:e.ui?.leadingAvatarSize||a(t).ui?.leadingAvatarSize||l.value.leadingAvatarSize()},{ref_for:!0},e.avatar,{"data-slot":"leadingAvatar",class:l.value.leadingAvatar({class:[a(t).ui?.leadingAvatar,e.ui?.leadingAvatar]})}),null,16,["size","class"])):k("",!0)]),a(z)(e,a(t).labelKey)||n.default?(c(),B("span",{key:0,"data-slot":"label",class:x(l.value.label({class:[a(t).ui?.label,e.ui?.label]}))},[h(f.$slots,"default",{item:e,index:m},()=>[R(K(a(z)(e,a(t).labelKey)),1)])],2)):k("",!0),h(f.$slots,"trailing",{item:e,index:m,ui:l.value},()=>[e.badge||e.badge===0?(c(),y(ua,V({key:0,color:"neutral",variant:"outline",size:e.ui?.trailingBadgeSize||a(t).ui?.trailingBadgeSize||l.value.trailingBadgeSize()},{ref_for:!0},typeof e.badge=="string"||typeof e.badge=="number"?{label:e.badge}:e.badge,{"data-slot":"trailingBadge",class:l.value.trailingBadge({class:[a(t).ui?.trailingBadge,e.ui?.trailingBadge]})}),null,16,["size","class"])):k("",!0)])]),_:2},1032,["value","disabled","class"]))),128)),h(f.$slots,"list-trailing")]),_:3},8,["class"]),a(t).content?(c(!0),B($,{key:0},M(a(t).items,(e,m)=>(c(),y(a(ya),{key:a(z)(e,a(t).valueKey)??m,value:a(z)(e,a(t).valueKey)??String(m),"data-slot":"content",class:x(l.value.content({class:[a(t).ui?.content,e.ui?.content,e.class]}))},{default:g(()=>[h(f.$slots,e.slot||"content",{item:e,index:m,ui:l.value},()=>[R(K(e.content),1)])]),_:2},1032,["value","class"]))),128)):k("",!0)]),_:3},16,["model-value","default-value","orientation","activation-mode","class"]))}};export{Ca as _};
|
|
1
|
+
import{d as S,Y as L,aA as N,U as C,Z as O,aB as D,o as c,f as y,g,V as h,k as a,X as I,r as q,aC as j,$ as E,B as U,af as W,j as w,R as G,v as k,aD as J,h as _,J as X,aE as Y,aF as Z,W as V,aG as Q,aH as aa,S as ta,C as ea,a2 as ia,a3 as sa,a5 as oa,a6 as la,a7 as ra,q as x,c as B,F as $,y as M,aI as z,p as na,aJ as da,m as R,t as K,s as ua,a8 as ca}from"./h49q_GXF.js";import{R as va}from"./Hot1UcKY.js";const[T,fa]=E("TabsRoot");var ga=S({__name:"TabsRoot",props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:"horizontal"},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:"automatic"},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["update:modelValue"],setup(d,{emit:r}){const u=d,i=r,{orientation:v,unmountOnHide:n,dir:t}=L(u),o=N(t);C();const s=O(u,"modelValue",i,{defaultValue:u.defaultValue,passive:u.modelValue===void 0}),l=q(),p=j(new Set);return fa({modelValue:s,changeModelValue:b=>{s.value=b},orientation:v,dir:o,unmountOnHide:n,activationMode:u.activationMode,baseId:D(void 0,"reka-tabs"),tabsList:l,contentIds:p,registerContent:b=>{p.value=new Set([...p.value,b])},unregisterContent:b=>{const f=new Set(p.value);f.delete(b),p.value=f}}),(b,f)=>(c(),y(a(I),{dir:a(o),"data-orientation":a(v),"as-child":b.asChild,as:b.as},{default:g(()=>[h(b.$slots,"default",{modelValue:a(s)})]),_:3},8,["dir","data-orientation","as-child","as"]))}}),pa=ga;function F(d,r){return`${d}-trigger-${r}`}function P(d,r){return`${d}-content-${r}`}var ba=S({__name:"TabsContent",props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(d){const r=d,{forwardRef:u}=C(),i=T(),v=_(()=>F(i.baseId,r.value)),n=_(()=>P(i.baseId,r.value)),t=_(()=>r.value===i.modelValue.value),o=q(t.value);return U(()=>{i.registerContent(r.value),requestAnimationFrame(()=>{o.value=!1})}),W(()=>{i.unregisterContent(r.value)}),(s,l)=>(c(),y(a(J),{present:s.forceMount||t.value,"force-mount":""},{default:g(({present:p})=>[w(a(I),{id:n.value,ref:a(u),"as-child":s.asChild,as:s.as,role:"tabpanel","data-state":t.value?"active":"inactive","data-orientation":a(i).orientation.value,"aria-labelledby":v.value,hidden:!p,tabindex:"0",style:G({animationDuration:o.value?"0s":void 0})},{default:g(()=>[!a(i).unmountOnHide.value||p?h(s.$slots,"default",{key:0}):k("v-if",!0)]),_:2},1032,["id","as-child","as","data-state","data-orientation","aria-labelledby","hidden","style"])]),_:3},8,["present"]))}}),ya=ba,ha=S({__name:"TabsIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(d,{expose:r}){const u=d,i=T();r({updateIndicatorStyle:o}),C();const v=Q(),n=q({size:null,thickness:null,position:null}),t=q([]);X(()=>[i.modelValue.value,i?.dir.value],()=>{o()},{immediate:!0,flush:"post"}),Y(()=>{t.value=Array.from(i.tabsList.value?.querySelectorAll('[role="tab"]')||[])}),Z(_(()=>[i.tabsList.value,...t.value]),o);function o(){const s=i.tabsList.value?.querySelector('[role="tab"][data-state="active"]');s&&(i.orientation.value==="horizontal"?n.value={size:s.offsetWidth,thickness:s.offsetHeight,position:s.offsetLeft}:n.value={size:s.offsetHeight,thickness:s.offsetWidth,position:s.offsetTop})}return(s,l)=>a(v)&&typeof n.value.size=="number"?(c(),y(a(I),V({key:0},u,{style:{"--reka-tabs-indicator-size":`${n.value.size}px`,"--reka-tabs-indicator-thickness":`${n.value.thickness}px`,"--reka-tabs-indicator-position":`${n.value.position}px`}}),{default:g(()=>[h(s.$slots,"default")]),_:3},16,["style"])):k("v-if",!0)}}),ma=ha,_a=S({__name:"TabsList",props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(d){const r=d,{loop:u}=L(r),{forwardRef:i,currentElement:v}=C(),n=T();return n.tabsList=v,(t,o)=>(c(),y(a(aa),{"as-child":"",orientation:a(n).orientation.value,dir:a(n).dir.value,loop:a(u)},{default:g(()=>[w(a(I),{ref:a(i),role:"tablist","as-child":t.asChild,as:t.as,"aria-orientation":a(n).orientation.value},{default:g(()=>[h(t.$slots,"default")]),_:3},8,["as-child","as","aria-orientation"])]),_:3},8,["orientation","dir","loop"]))}}),xa=_a,za=S({__name:"TabsTrigger",props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(d){const r=d,{forwardRef:u}=C(),i=T(),v=_(()=>F(i.baseId,r.value)),n=_(()=>i.contentIds.value.has(r.value)?P(i.baseId,r.value):void 0),t=_(()=>r.value===i.modelValue.value);return(o,s)=>(c(),y(a(va),{"as-child":"",focusable:!o.disabled,active:t.value},{default:g(()=>[w(a(I),{id:v.value,ref:a(u),role:"tab",type:o.as==="button"?"button":void 0,as:o.as,"as-child":o.asChild,"aria-selected":t.value?"true":"false","aria-controls":n.value,"data-state":t.value?"active":"inactive",disabled:o.disabled,"data-disabled":o.disabled?"":void 0,"data-orientation":a(i).orientation.value,onMousedown:s[0]||(s[0]=ea(l=>{!o.disabled&&l.ctrlKey===!1?a(i).changeModelValue(o.value):l.preventDefault()},["left"])),onKeydown:s[1]||(s[1]=ta(l=>a(i).changeModelValue(o.value),["enter","space"])),onFocus:s[2]||(s[2]=()=>{const l=a(i).activationMode!=="manual";!t.value&&!o.disabled&&l&&a(i).changeModelValue(o.value)})},{default:g(()=>[h(o.$slots,"default")]),_:3},8,["id","type","as","as-child","aria-selected","aria-controls","data-state","disabled","data-disabled","data-orientation"])]),_:3},8,["focusable","active"]))}}),ka=za;const qa={slots:{root:"flex items-center gap-2",list:"relative flex p-1 group",indicator:"absolute transition-[translate,width] duration-200",trigger:["group relative inline-flex items-center min-w-0 data-[state=inactive]:text-muted hover:data-[state=inactive]:not-disabled:text-default font-medium rounded-md disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leadingIcon:"shrink-0",leadingAvatar:"shrink-0",leadingAvatarSize:"",label:"truncate",trailingBadge:"shrink-0",trailingBadgeSize:"sm",content:"w-full rounded-md focus-visible:outline-3"},variants:{color:{primary:{content:"outline-primary/25"},secondary:{content:"outline-secondary/25"},success:{content:"outline-success/25"},info:{content:"outline-info/25"},warning:{content:"outline-warning/25"},error:{content:"outline-error/25"},neutral:{content:"outline-inverted/25"}},variant:{pill:{list:"bg-elevated rounded-lg",trigger:["grow","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:inset-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:rounded-md in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:shadow-xs in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:-z-10 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:isolate"],indicator:"rounded-md shadow-xs"},link:{list:"border-default",indicator:"rounded-full",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:content-[''] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:absolute in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:rounded-full"}},orientation:{horizontal:{root:"flex-col",list:"w-full",indicator:"left-0 w-(--reka-tabs-indicator-size) translate-x-(--reka-tabs-indicator-position)",trigger:"justify-center"},vertical:{list:"flex-col",indicator:"top-0 h-(--reka-tabs-indicator-size) translate-y-(--reka-tabs-indicator-position)"}},size:{xs:{trigger:"px-2 py-1 text-xs gap-1",leadingIcon:"size-4",leadingAvatarSize:"3xs"},sm:{trigger:"px-2.5 py-1.5 text-xs gap-1.5",leadingIcon:"size-4",leadingAvatarSize:"3xs"},md:{trigger:"px-3 py-1.5 text-sm gap-1.5",leadingIcon:"size-5",leadingAvatarSize:"2xs"},lg:{trigger:"px-3 py-2 text-sm gap-2",leadingIcon:"size-5",leadingAvatarSize:"2xs"},xl:{trigger:"px-3 py-2 text-base gap-2",leadingIcon:"size-6",leadingAvatarSize:"xs"}}},compoundVariants:[{orientation:"horizontal",variant:"pill",class:{indicator:"inset-y-1"}},{orientation:"horizontal",variant:"link",class:{list:"border-b -mb-px",indicator:"-bottom-px h-px",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-x-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-bottom-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:h-px"}},{orientation:"vertical",variant:"pill",class:{indicator:"inset-x-1",list:"items-center",trigger:"w-full justify-center"}},{orientation:"vertical",variant:"link",class:{list:"border-s -ms-px",indicator:"-start-px w-px",trigger:"in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:inset-y-0 in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:-start-[calc(var(--spacing)+1px)] in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:w-px"}},{color:"primary",variant:"pill",class:{indicator:"bg-primary",trigger:["data-[state=active]:text-inverted outline-primary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-primary"]}},{color:"secondary",variant:"pill",class:{indicator:"bg-secondary",trigger:["data-[state=active]:text-inverted outline-secondary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-secondary"]}},{color:"success",variant:"pill",class:{indicator:"bg-success",trigger:["data-[state=active]:text-inverted outline-success/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-success"]}},{color:"info",variant:"pill",class:{indicator:"bg-info",trigger:["data-[state=active]:text-inverted outline-info/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-info"]}},{color:"warning",variant:"pill",class:{indicator:"bg-warning",trigger:["data-[state=active]:text-inverted outline-warning/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-warning"]}},{color:"error",variant:"pill",class:{indicator:"bg-error",trigger:["data-[state=active]:text-inverted outline-error/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-error"]}},{color:"neutral",variant:"pill",class:{indicator:"bg-inverted",trigger:["data-[state=active]:text-inverted outline-inverted/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:before:bg-inverted"]}},{color:"primary",variant:"link",class:{indicator:"bg-primary",trigger:["data-[state=active]:text-primary outline-primary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-primary"]}},{color:"secondary",variant:"link",class:{indicator:"bg-secondary",trigger:["data-[state=active]:text-secondary outline-secondary/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-secondary"]}},{color:"success",variant:"link",class:{indicator:"bg-success",trigger:["data-[state=active]:text-success outline-success/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-success"]}},{color:"info",variant:"link",class:{indicator:"bg-info",trigger:["data-[state=active]:text-info outline-info/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-info"]}},{color:"warning",variant:"link",class:{indicator:"bg-warning",trigger:["data-[state=active]:text-warning outline-warning/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-warning"]}},{color:"error",variant:"link",class:{indicator:"bg-error",trigger:["data-[state=active]:text-error outline-error/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-error"]}},{color:"neutral",variant:"link",class:{indicator:"bg-inverted",trigger:["data-[state=active]:text-highlighted outline-inverted/25 focus-visible:outline-3","in-[[data-slot=list]:not(:has([data-slot=indicator]))]:data-[state=active]:after:bg-inverted"]}}],defaultVariants:{color:"primary",variant:"pill",size:"md"}},Ca={__name:"UTabs",props:{as:{type:null,required:!1},items:{type:Array,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},content:{type:Boolean,required:!1,default:!0},valueKey:{type:null,required:!1,default:"value"},labelKey:{type:null,required:!1,default:"label"},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultValue:{type:[String,Number],required:!1,default:"0"},modelValue:{type:[String,Number],required:!1},activationMode:{type:String,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:["update:modelValue"],setup(d,{expose:r,emit:u}){const i=d,v=u,n=ia(),t=sa("tabs",i),o=oa(),s=la(ra(t,"as","unmountOnHide"),v),l=_(()=>ca({extend:qa,...o.ui?.tabs||{}})({color:t.color,variant:t.variant,size:t.size,orientation:t.orientation})),p=q([]);function b(f,A){p.value[f]=A}return r({triggersRef:p}),(f,A)=>(c(),y(a(pa),V(a(s),{"model-value":a(t).modelValue,"default-value":a(t).defaultValue,orientation:a(t).orientation,"activation-mode":a(t).activationMode,"data-slot":"root",class:l.value.root({class:[a(t).ui?.root,a(t).class]})}),{default:g(()=>[w(a(xa),{"data-slot":"list",class:x(l.value.list({class:a(t).ui?.list}))},{default:g(()=>[w(a(ma),{"data-slot":"indicator",class:x(l.value.indicator({class:a(t).ui?.indicator}))},null,8,["class"]),h(f.$slots,"list-leading"),(c(!0),B($,null,M(a(t).items,(e,m)=>(c(),y(a(ka),{key:a(z)(e,a(t).valueKey)??m,ref_for:!0,ref:H=>b(m,H),value:a(z)(e,a(t).valueKey)??String(m),disabled:e.disabled,"data-slot":"trigger",class:x(l.value.trigger({class:[a(t).ui?.trigger,e.ui?.trigger]}))},{default:g(()=>[h(f.$slots,"leading",{item:e,index:m,ui:l.value},()=>[e.icon?(c(),y(na,{key:0,name:e.icon,"data-slot":"leadingIcon",class:x(l.value.leadingIcon({class:[a(t).ui?.leadingIcon,e.ui?.leadingIcon]}))},null,8,["name","class"])):e.avatar?(c(),y(da,V({key:1,size:e.ui?.leadingAvatarSize||a(t).ui?.leadingAvatarSize||l.value.leadingAvatarSize()},{ref_for:!0},e.avatar,{"data-slot":"leadingAvatar",class:l.value.leadingAvatar({class:[a(t).ui?.leadingAvatar,e.ui?.leadingAvatar]})}),null,16,["size","class"])):k("",!0)]),a(z)(e,a(t).labelKey)||n.default?(c(),B("span",{key:0,"data-slot":"label",class:x(l.value.label({class:[a(t).ui?.label,e.ui?.label]}))},[h(f.$slots,"default",{item:e,index:m},()=>[R(K(a(z)(e,a(t).labelKey)),1)])],2)):k("",!0),h(f.$slots,"trailing",{item:e,index:m,ui:l.value},()=>[e.badge||e.badge===0?(c(),y(ua,V({key:0,color:"neutral",variant:"outline",size:e.ui?.trailingBadgeSize||a(t).ui?.trailingBadgeSize||l.value.trailingBadgeSize()},{ref_for:!0},typeof e.badge=="string"||typeof e.badge=="number"?{label:e.badge}:e.badge,{"data-slot":"trailingBadge",class:l.value.trailingBadge({class:[a(t).ui?.trailingBadge,e.ui?.trailingBadge]})}),null,16,["size","class"])):k("",!0)])]),_:2},1032,["value","disabled","class"]))),128)),h(f.$slots,"list-trailing")]),_:3},8,["class"]),a(t).content?(c(!0),B($,{key:0},M(a(t).items,(e,m)=>(c(),y(a(ya),{key:a(z)(e,a(t).valueKey)??m,value:a(z)(e,a(t).valueKey)??String(m),"data-slot":"content",class:x(l.value.content({class:[a(t).ui?.content,e.ui?.content,e.class]}))},{default:g(()=>[h(f.$slots,e.slot||"content",{item:e,index:m,ui:l.value},()=>[R(K(e.content),1)])]),_:2},1032,["value","class"]))),128)):k("",!0)]),_:3},16,["model-value","default-value","orientation","activation-mode","class"]))}};export{Ca as _};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{_ as Yt}from"./C9p0YCAi.js";import{_ as es}from"./BTvE9qca.js";import{d as re,o as s,f as _,g as u,i as o,j as r,t as c,c as a,F as U,y as ee,k as e,s as pe,m as f,v as i,D as pt,q as X,p as ue,h as C,G as Pe,_ as Ie,b as ts,B as yt,l as ge,r as A,ab as $e,J as ve,ac as ss,A as Ee,R as Ce,u as ns,a as as,w as mt,e as os,ad as rs,N as is}from"./h49q_GXF.js";import{d as ls,e as cs,h as Oe,a as us,b as ds,c as ms,_ as fs,n as gs,o as ps,p as ys,u as hs,f as xs,i as vs,j as _s,k as ks,l as bs,m as ws}from"./Bb7Uckln.js";import{_ as $s,a as Cs,b as Ts,c as Ss,d as Is}from"./BpUXqOVj.js";import{_ as Rs}from"./CBZD8ym8.js";import{_ as js,a as Ls}from"./B_mN5eMV.js";import{_ as Re}from"./DWEkQ7bl.js";import{_ as zs}from"./cSeAgciy.js";import{_ as Ms}from"./DOBSrxzY.js";import{_ as ht}from"./PdEEuEsg.js";import{_ as xt}from"./CkyMZI-0.js";import{_ as vt}from"./DtSn2Q9-.js";import{_ as _t,a as kt}from"./BtSJxOdh.js";import{_ as Ns}from"./9P8iHISX.js";import{_ as Ds}from"./CWoSSKhQ.js";import{_ as Ps,d as As,e as Us,f as Bs,g as Fs,h as Vs,a as bt,i as Te,b as De,c as Es}from"./DBhdObsO.js";import{f as Se,m as Os,c as Hs,e as Ks,n as wt,o as He,q as Ke,a as Ws,j as Gs,r as ft}from"./CD3R-ggS.js";import{_ as $t}from"./CRPt9SfB.js";import{_ as ye}from"./DLNNAYfu.js";import{_ as Js}from"./CScusXhF.js";import{u as qs}from"./Cf52zHyB.js";import{_ as We}from"./CDh_Qt7h.js";import{_ as Ge}from"./DHUT-BKj.js";import{_ as Ct}from"./BQOWm9mQ.js";import{f as we}from"./D-c8ZSws.js";import{_ as Qs}from"./Dj-TetcW.js";import{_ as Zs}from"./BQzG26t0.js";import{_ as Xs}from"./DGyGmFem.js";import{_ as Ys}from"./DzM9oeLa.js";import{_ as en}from"./BVN50jIb.js";import{_ as tn}from"./b_yFgp5S.js";import{b as sn}from"./BZnfiR67.js";import{a as nn,u as gt}from"./Cd8r0xk5.js";import"./BhH0TNTi.js";import"./DOLeth7M.js";import"./BDQCwxpX.js";import"./BaDhDBCV.js";import"./9N6hSApy.js";import"./jjOqY9Tv.js";import"./DDN2tt0a.js";import"./xbO0VmDX.js";import"./BKJetfRH.js";import"./D4UlSVir.js";import"./B0hK-xDF.js";import"./B9FSuKdA.js";import"./BNAHBHbY.js";import"./BjaRappk.js";import"./Hot1UcKY.js";import"./B6s20NbT.js";import"./Sgis3xif.js";import"./Cwwe5bRS.js";import"./D7W_4Sqc.js";import"./czXrP7NB.js";const an={class:"text-sm font-semibold truncate min-w-0"},on={class:"flex items-center gap-3 ml-auto max-sm:hidden"},rn={class:"text-xs text-gray-500 tabular-nums whitespace-nowrap"},ln={class:"text-xs text-gray-500 tabular-nums whitespace-nowrap"},cn={class:"text-gray-700 dark:text-gray-300"},un={class:"text-xs text-gray-500 tabular-nums whitespace-nowrap"},dn={class:"text-gray-700 dark:text-gray-300"},mn={class:"text-xs text-gray-500 tabular-nums whitespace-nowrap"},fn={class:"text-gray-700 dark:text-gray-300"},gn={key:0,class:"text-xs text-gray-500 tabular-nums whitespace-nowrap"},pn={class:"text-gray-700 dark:text-gray-300"},yn={class:"@container"},hn={class:"space-y-3"},xn={class:"flex items-start gap-2.5 pr-8"},vn={class:"min-w-0 flex-1"},_n={class:"flex items-center gap-2 flex-wrap"},kn={class:"text-base font-bold truncate max-w-full"},bn={class:"text-xs text-gray-500 mt-0.5 flex items-center gap-x-2 gap-y-0.5 flex-wrap"},wn=["title"],$n={key:1},Cn={key:0,class:"flex items-center gap-2 text-sm"},Tn={class:"text-gray-700 dark:text-gray-300 truncate"},Sn={key:0,class:"text-gray-500 shrink-0"},In={key:1,class:"flex items-center gap-1.5 text-sm"},Rn={key:0,class:"font-medium"},jn=["title"],Ln={key:2,class:"text-muted"},zn=["title"],Mn={key:0,class:"rounded-full border border-default px-2 py-0.5 text-xs bg-elevated/60"},Nn={key:1},Dn=["href"],Pn={key:1},An={class:"text-muted"},Un={key:0,class:"tabular-nums text-muted"},Bn={key:0,class:"text-dimmed"},Fn=re({__name:"TestCaseSummary",props:{testCase:{},scmInfo:{},ciInfo:{},browser:{},environment:{},stepsCount:{},historicalTiming:{},stableLinks:{},projectKey:{},projectName:{}},emits:["refresh"],setup(t){const k=t,h=C(()=>{const n=k.testCase;if(!n)return[];const l=[];return n.isNewRegression&&l.push({label:"New regression",color:"error",title:"Passed in the baseline run, failing here"}),n.isNewFlaky&&l.push({label:"New flaky",color:"warning",title:"Newly started passing only on retry"}),n.status==="passed"&&(n.retries??0)>0&&l.push({label:"Passed on retry",color:"warning",title:"This test failed then passed on a retry"}),l}),w=C(()=>(k.testCase?.testAnnotations??[]).filter(n=>!Os(n.type))),$=C(()=>k.testCase?.startedAt??null),g=C(()=>!!(k.ciInfo||k.environment));return(n,l)=>{const d=$s,D=Re,M=zs,b=pe,v=Ms,F=ht,L=pt,m=xt,S=vt,V=ue,B=_t,I=Ts,G=Ns,J=Cs,N=Ds,ne=Ps;return s(),_(ne,{"storage-key":"test-case"},{folded:u(()=>[r(d,{status:t.testCase?.status??"",size:"sm"},null,8,["status"]),o("span",an,c(t.testCase?.title),1),o("div",on,[o("span",rn,[l[1]||(l[1]=f(" Dur: ",-1)),r(D,{ms:t.testCase?.duration,class:"font-bold text-gray-700 dark:text-gray-300"},null,8,["ms"])]),o("span",ln,[l[2]||(l[2]=f(" Retries: ",-1)),o("strong",cn,c(t.testCase?.retries??0),1)]),o("span",un,[l[3]||(l[3]=f(" Steps: ",-1)),o("strong",dn,c(t.stepsCount),1)]),o("span",mn,[l[4]||(l[4]=f(" Worker: ",-1)),o("strong",fn,c(t.testCase?.workerIndex??"—"),1)]),t.testCase?.shardIndex!=null?(s(),a("span",gn,[l[5]||(l[5]=f(" Shard: ",-1)),o("strong",pn,c(t.testCase.shardIndex),1)])):i("",!0)]),t.browser?(s(),_(M,{key:0,browser:t.browser,size:"sm",class:"shrink-0 max-sm:hidden"},null,8,["browser"])):i("",!0)]),default:u(()=>[o("div",yn,[r(N,{class:"shadow-xs",ui:{footer:"px-4 py-2.5 sm:px-4 bg-muted/30"}},{footer:u(()=>[r(J,null,{default:u(()=>[t.scmInfo?(s(),_(I,{key:0,label:"Source",icon:"i-lucide-git-branch"},{default:u(()=>[t.scmInfo.branch?(s(),a("span",Rn,c(t.scmInfo.branch),1)):i("",!0),t.scmInfo.commit?(s(),a("code",{key:1,class:"text-xs font-mono bg-zinc-100 dark:bg-zinc-800 px-1 py-0.5 rounded",title:t.scmInfo.commit},c(t.scmInfo.commit.length>=8?t.scmInfo.commit.substring(0,8):t.scmInfo.commit),9,jn)):i("",!0),t.scmInfo.author?(s(),a("span",Ln,c(t.scmInfo.author),1)):i("",!0),t.scmInfo.commitMessage?(s(),a("span",{key:3,class:"text-xs text-dimmed truncate max-w-[40ch]",title:t.scmInfo.commitMessage},c(t.scmInfo.commitMessage),9,zn)):i("",!0)]),_:1})):i("",!0),e(g)?(s(),_(I,{key:1,label:"CI & environment",icon:"i-lucide-cloud",help:"run.ci-env"},{default:u(()=>[t.environment?(s(),a("span",Mn,c(t.environment),1)):i("",!0),t.ciInfo?.provider?(s(),a("span",Nn,c(t.ciInfo.provider),1)):i("",!0),t.ciInfo?.buildNumber||t.ciInfo?.buildUrl?(s(),a(U,{key:2},[l[12]||(l[12]=o("span",{class:"text-dimmed"},"·",-1)),t.ciInfo?.buildUrl?(s(),a("a",{key:0,href:t.ciInfo.buildUrl,target:"_blank",class:"text-primary hover:underline"},c(t.ciInfo?.buildNumber?`Build #${t.ciInfo.buildNumber}`:"View build"),9,Dn)):(s(),a("span",Pn,"Build #"+c(t.ciInfo.buildNumber),1))],64)):i("",!0),t.ciInfo?.workflow||t.ciInfo?.jobName?(s(),a(U,{key:3},[l[13]||(l[13]=o("span",{class:"text-dimmed"},"·",-1)),o("span",An,[t.ciInfo?.workflow?(s(),a(U,{key:0},[f(c(t.ciInfo.workflow),1)],64)):i("",!0),t.ciInfo?.workflow&&t.ciInfo?.jobName?(s(),a(U,{key:1},[f(" · ")],64)):i("",!0),t.ciInfo?.jobName?(s(),a(U,{key:2},[f(c(t.ciInfo.jobName),1)],64)):i("",!0)])],64)):i("",!0)]),_:1})):i("",!0),t.browser?(s(),_(I,{key:2,label:"Browser"},{default:u(()=>[r(M,{browser:{...t.browser,viewport:void 0},size:"sm"},null,8,["browser"]),t.browser.viewport?(s(),a("span",Un,[f(c(t.browser.viewport.width)+"×"+c(t.browser.viewport.height)+" ",1),t.browser.deviceScaleFactor&&t.browser.deviceScaleFactor!==1?(s(),a("span",Bn,"@"+c(t.browser.deviceScaleFactor)+"x",1)):i("",!0)])):i("",!0)]),_:1})):i("",!0),r(I,{label:"Links",icon:"i-lucide-link"},{default:u(()=>[t.testCase?.id?(s(),_(G,{key:0,"entity-type":"test_case","entity-id":t.testCase.id,links:t.stableLinks??null,onUpdated:l[0]||(l[0]=O=>n.$emit("refresh"))},null,8,["entity-id","links"])):i("",!0)]),_:1})]),_:1})]),default:u(()=>[o("div",hn,[o("div",xn,[r(d,{status:t.testCase?.status??"",class:"mt-0.5"},null,8,["status"]),o("div",vn,[o("div",_n,[o("h2",kn,c(t.testCase?.title),1),(s(!0),a(U,null,ee(e(h),O=>(s(),_(b,{key:O.label,color:O.color,variant:"subtle",size:"xs",title:O.title},{default:u(()=>[f(c(O.label),1)]),_:2},1032,["color","title"]))),128)),(s(!0),a(U,null,ee(e(w),(O,le)=>(s(),_(b,{key:`ann-${le}`,color:"neutral",variant:"soft",size:"xs",class:"font-mono",title:O.description||O.type},{default:u(()=>[f(" @"+c(O.type),1)]),_:2},1032,["title"]))),128)),r(v,{tags:t.testCase?.tags,meta:t.testCase?.testMeta},null,8,["tags","meta"])]),o("p",bn,[t.testCase?.location?(s(),_(F,{key:0,location:t.testCase.location,"project-key":t.projectKey,"project-name":t.projectName},null,8,["location","project-key","project-name"])):i("",!0),r(L,null,{default:u(()=>[e($)?(s(),a("span",{key:0,class:"text-gray-400",title:new Date(e($)).toLocaleString()}," started "+c(("formatRelativeTime"in n?n.formatRelativeTime:e(Se))(e($))),9,wn)):i("",!0)]),_:1}),t.historicalTiming?(s(),a("span",$n,[l[6]||(l[6]=f(" Avg ",-1)),r(D,{ms:t.historicalTiming.avg},null,8,["ms"]),l[7]||(l[7]=f(" · ",-1)),o("span",{class:X(t.historicalTiming.diff>0?"text-red-600":"text-green-600")},c(t.historicalTiming.diff>0?"+":"")+c(t.historicalTiming.pct)+"% ",3)])):i("",!0)])])]),r(S,null,{default:u(()=>[r(m,{label:"Duration"},{default:u(()=>[r(D,{ms:t.testCase?.duration},null,8,["ms"])]),_:1}),r(m,{label:"Retries",value:t.testCase?.retries??0},null,8,["value"]),r(m,{label:"Steps",value:t.stepsCount},null,8,["value"]),r(m,{label:"Worker",value:t.testCase?.workerIndex??"—"},null,8,["value"])]),_:1}),t.testCase?.slowestStep?(s(),a("div",Cn,[r(V,{name:"i-lucide-zap",class:"size-4 text-amber-500 shrink-0"}),l[10]||(l[10]=o("span",{class:"font-medium text-amber-700 dark:text-amber-300"},"Slowest step:",-1)),o("span",Tn,c(t.testCase.slowestStep),1),t.testCase.slowestStepDuration?(s(),a("span",Sn,[l[8]||(l[8]=f("(",-1)),r(D,{ms:t.testCase.slowestStepDuration},null,8,["ms"]),l[9]||(l[9]=f(")",-1))])):i("",!0)])):i("",!0),(t.testCase?.wastedTimeMs??0)>0?(s(),a("div",In,[r(V,{name:"i-lucide-hourglass",class:"size-4 text-amber-500 shrink-0"}),l[11]||(l[11]=o("span",{class:"font-medium text-amber-700 dark:text-amber-300"},"Wasted in fixed waits:",-1)),r(D,{ms:t.testCase?.wastedTimeMs,class:"text-gray-700 dark:text-gray-300"},null,8,["ms"]),r(B,{topic:"case.wasted-time"})])):i("",!0)])]),_:1})])]),_:1})}}}),Vn=Object.assign(Fn,{__name:"TestCaseSummary"}),En={class:"space-y-3"},On={key:0,class:"flex flex-wrap gap-1.5"},Hn={key:0,class:"text-sm text-gray-600 dark:text-gray-400"},Kn={class:"text-gray-800 dark:text-gray-200"},Wn={key:1},Gn={class:"flex items-center gap-1 flex-wrap"},Jn=re({__name:"TestCaseVerdictCard",props:{testCase:{},history:{},currentId:{}},setup(t){const k=t,h=l=>l==="failed"||l==="timedOut"||l==="timedout",w=C(()=>{const l=k.testCase;if(!l)return[];const d=[];return l.isNewRegression&&d.push({label:"New regression",color:"error",icon:"i-lucide-git-pull-request-arrow",title:"Passed in the baseline run, failing here — likely fallout from the latest change"}),l.isNewFlaky&&d.push({label:"New flaky",color:"warning",icon:"i-lucide-shuffle",title:"Newly started passing only on retry — intermittent failure"}),l.status==="timedOut"&&d.push({label:"Timed out",color:"warning",icon:"i-lucide-timer-off",title:"The test exceeded its timeout"}),(l.retries??0)>0&&d.push({label:l.status==="passed"?`Passed on retry ${l.retries}`:`Retried ${l.retries}×`,color:l.status==="passed"?"warning":"neutral",icon:"i-lucide-refresh-cw",title:`This execution retried ${l.retries} time${l.retries===1?"":"s"}`}),d}),$=C(()=>k.history.slice(0,24).slice().reverse()),g=C(()=>{const l=k.history;if(!l.length)return null;const d=Math.max(0,l.findIndex(b=>b.id===k.currentId));let D=0;for(let b=d;b<l.length&&h(l[b].status);b++)D++;let M=null;for(let b=d+1;b<l.length;b++)if(l[b].status==="passed"){M=l[b];break}return{streak:D,lastPass:M,total:l.length,anchorFailing:h(l[d]?.status)}}),n=l=>({"bg-red-500 hover:bg-red-600":h(l),"bg-green-500 hover:bg-green-600":l==="passed","bg-yellow-500 hover:bg-yellow-600":l==="skipped","bg-gray-400 hover:bg-gray-500":!h(l)&&!["passed","skipped"].includes(l)});return(l,d)=>{const D=ue,M=pe,b=Pe,v=$t,F=pt,L=ye;return s(),_(L,{icon:"i-lucide-clipboard-check","icon-class":"text-amber-500",title:"Verdict",help:"case.verdict"},{default:u(()=>[o("div",En,[e(w).length?(s(),a("div",On,[(s(!0),a(U,null,ee(e(w),m=>(s(),_(M,{key:m.label,color:m.color,variant:"subtle",size:"sm",title:m.title,class:"inline-flex items-center gap-1"},{default:u(()=>[r(D,{name:m.icon,class:"size-3 shrink-0"},null,8,["name"]),f(" "+c(m.label),1)]),_:2},1032,["color","title"]))),128))])):i("",!0),r(F,null,{default:u(()=>[e(g)?(s(),a("p",Hn,[e(g).streak>=1?(s(),a(U,{key:0},[d[1]||(d[1]=f(" Failing for ",-1)),o("strong",Kn,c(e(g).streak),1),f(" consecutive run"+c(e(g).streak===1?"":"s")+". ",1),e(g).lastPass?(s(),a(U,{key:0},[d[0]||(d[0]=f(" Last passed in ",-1)),r(b,{to:`/test-run-cases/${e(g).lastPass.id}`,class:"text-primary hover:underline"},{default:u(()=>[f(" run #"+c(e(g).lastPass.runId),1)]),_:1},8,["to"]),f(" ("+c(("formatRelativeTime"in l?l.formatRelativeTime:e(Se))(e(g).lastPass.startTime))+"). ",1)],64)):e(g).total>1?(s(),a(U,{key:1},[f(" No passing run in the last "+c(e(g).total)+" recorded. ",1)],64)):(s(),a(U,{key:2},[f(" First recorded run of this test. ")],64))],64)):t.testCase?.status==="passed"?(s(),a(U,{key:1},[f(" This execution passed. ")],64)):i("",!0)])):i("",!0),e($).length>1?(s(),a("div",Wn,[d[2]||(d[2]=o("p",{class:"text-xs text-gray-400 mb-1"},"Recent runs (oldest → newest)",-1)),o("div",Gn,[(s(!0),a(U,null,ee(e($),m=>(s(),_(v,{key:m.id,text:`Run #${m.runId}: ${m.status}`},{default:u(()=>[r(b,{to:`/test-run-cases/${m.id}`,class:X(["size-3.5 rounded-sm inline-block transition-colors",[n(m.status),m.id===t.currentId?"ring-2 ring-offset-1 ring-primary":""]])},null,8,["to","class"])]),_:2},1032,["text"]))),128))])])):i("",!0)]),_:1})])]),_:1})}}}),qn=Object.assign(Jn,{__name:"TestCaseVerdictCard"}),Qn={class:"space-y-3"},Zn={class:"space-y-1.5"},Xn={class:"flex items-center gap-2 flex-wrap"},Yn={class:"text-xs text-gray-500"},ea=["title"],ta={class:"text-xs text-gray-500 dark:text-gray-400"},sa={key:0,class:"rounded-lg border border-default bg-elevated/40 p-2.5 space-y-1"},na={class:"flex items-center gap-1.5 flex-wrap"},aa={class:"text-xs text-gray-600 dark:text-gray-400 line-clamp-3"},oa=["title"],ra=re({__name:"FailureClusterCard",props:{cluster:{}},setup(t){const k=t,h=C(()=>Math.max(0,k.cluster.sameRunCaseCount-1)),w=C(()=>{const g=k.cluster.diagnosis;return g&&g.status==="completed"&&g.summary?g:null}),$=g=>g==="high"?"success":g==="medium"?"warning":"neutral";return(g,n)=>{const l=pe,d=Pe,D=ue,M=Ie,b=ye;return s(),_(b,{icon:"i-lucide-layers","icon-class":"text-primary",title:"Failure cluster",help:"cluster.concept"},{actions:u(()=>[t.cluster.isNew?(s(),_(l,{key:0,color:"warning",variant:"subtle",size:"sm"},{default:u(()=>[...n[0]||(n[0]=[f("New",-1)])]),_:1})):i("",!0),t.cluster.status&&t.cluster.status!=="open"?(s(),_(l,{key:1,color:t.cluster.status==="resolved"?"success":"neutral",variant:"subtle",size:"sm",class:"capitalize"},{default:u(()=>[f(c(t.cluster.status),1)]),_:1},8,["color"])):i("",!0)]),default:u(()=>[o("div",Qn,[o("div",Zn,[o("div",Xn,[t.cluster.errorType?(s(),_(l,{key:0,color:e(Hs)(t.cluster.errorType),variant:"soft",size:"sm"},{default:u(()=>[f(c(t.cluster.errorType),1)]),_:1},8,["color"])):i("",!0),o("span",Yn,c(t.cluster.occurrences??0)+" occurrence"+c((t.cluster.occurrences??0)===1?"":"s"),1)]),o("p",{class:"font-mono text-xs text-gray-600 dark:text-gray-400 break-all line-clamp-2",title:t.cluster.signature},c(t.cluster.signature),9,ea)]),o("p",ta,[e(h)>0?(s(),a(U,{key:0},[f(" Matches "+c(e(h))+" other failing "+c(e(h)===1?"test":"tests")+" in this run. ",1)],64)):i("",!0),t.cluster.isNew?(s(),a(U,{key:2},[f("Opened a new cluster in this run.")],64)):(s(),a(U,{key:1},[n[1]||(n[1]=f(" Known failure — first seen in ",-1)),r(d,{to:`/test-runs/${t.cluster.firstSeenRunId}`,class:"text-primary hover:underline"},{default:u(()=>[f(" run #"+c(t.cluster.firstSeenRunId),1)]),_:1},8,["to"]),t.cluster.firstSeenAt?(s(),a(U,{key:0},[f(" ("+c(("formatRelativeTime"in g?g.formatRelativeTime:e(Se))(t.cluster.firstSeenAt))+")",1)],64)):i("",!0),n[2]||(n[2]=f(". ",-1))],64))]),e(w)?(s(),a("div",sa,[o("div",na,[r(D,{name:"i-lucide-sparkles",class:"size-3.5 text-primary shrink-0"}),n[3]||(n[3]=o("span",{class:"text-xs font-medium"},"AI verdict",-1)),e(w).category?(s(),_(l,{key:0,color:"neutral",variant:"soft",size:"xs"},{default:u(()=>[f(c(e(w).category),1)]),_:1})):i("",!0),e(w).confidence?(s(),_(l,{key:1,color:$(e(w).confidence),variant:"soft",size:"xs"},{default:u(()=>[f(c(e(w).confidence)+" confidence ",1)]),_:1},8,["color"])):i("",!0)]),o("p",aa,c(e(w).summary),1)])):i("",!0),t.cluster.triageNote?(s(),a("p",{key:1,class:"text-xs italic text-gray-500 dark:text-gray-400",title:t.cluster.triageNote}," “"+c(t.cluster.triageNote)+"” ",9,oa)):i("",!0),r(M,{to:`/failure-clusters/${t.cluster.id}`,size:"sm",color:"primary",variant:"solid",block:"","trailing-icon":"i-lucide-arrow-right"},{default:u(()=>[...n[4]||(n[4]=[f(" Open cluster investigation ",-1)])]),_:1},8,["to"])])]),_:1})}}}),ia=Object.assign(ra,{__name:"FailureClusterCard"}),la={class:"space-y-3"},ca={class:"text-xs text-gray-400 inline-flex items-center gap-1"},ua={key:0,class:"text-primary"},da={key:0,class:"flex items-center justify-between gap-2 rounded-lg border border-default bg-elevated/40 p-2.5"},ma={class:"inline-flex items-center gap-2 text-sm text-gray-500"},fa={key:1,class:"flex items-center gap-2"},ga={key:2,class:"rounded-lg border border-dashed border-default p-4 text-center text-gray-400"},pa={class:"text-sm inline-flex items-center gap-1 justify-center"},ya={class:"pt-1 text-center"},ha=re({__name:"TestCaseAiCard",props:{testRunsCaseId:{}},setup(t){const k=t,{aiStatus:h}=qs(),w=ts(),$=A(null),g=A(!1),n=A(null),l=A([]),d=A(0),D=A(0),M=A(null),b=A(!1),v=A(!1),F=A(null),L=A(!1),m=A("");async function S(){b.value=!0;try{const y=await $fetch(`/api/test-run-cases/${k.testRunsCaseId}/diagnosis-context`,{query:{format:"json"}});n.value=y.text,l.value=y.sections,d.value=y.tokenEstimate,D.value=y.imageTokenEstimate??0,M.value=y.coverage}catch{n.value=null,l.value=[],d.value=0,M.value=null}finally{b.value=!1}}async function V(){try{const y=await $fetch(`/api/test-run-cases/${k.testRunsCaseId}/diagnosis`);$.value=y.diagnosis}catch{}}yt(()=>{V(),S()});const B=C(()=>{const y=$.value?.details;if(!y)return[];const P=[];if(Array.isArray(y.evidence)&&P.push(...y.evidence),Array.isArray(y.hypotheses))for(const se of y.hypotheses)Array.isArray(se?.evidence)&&P.push(...se.evidence);return Vs(P)});function I(y){F.value=y,v.value=!0}function G(y){m.value=m.value?`${m.value}
|
|
2
|
+
|
|
3
|
+
${y}`:y,L.value=!0}async function J(y=!1){g.value=!0;try{const P=y?`/api/test-run-cases/${k.testRunsCaseId}/diagnose?force=true`:`/api/test-run-cases/${k.testRunsCaseId}/diagnose`,se=m.value.trim()?{additionalContext:m.value.trim()}:void 0;$.value=await $fetch(P,{method:"POST",body:se})}catch(P){const se=P?.statusCode;se===409?(w.add({title:"Diagnosis already running",color:"warning"}),V()):se===503?w.add({title:"AI diagnosis is not configured",color:"warning"}):w.add({title:"Diagnosis failed",description:Ks(P),color:"error"})}finally{g.value=!1}}function N(y){return y.status==="running"&&Date.now()-new Date(y.updatedAt).getTime()>300*1e3}const ne=C(()=>$.value&&($.value.status==="completed"||$.value.status==="failed")),O=C(()=>!$.value||$.value.status==="failed"||$.value.status==="running"&&N($.value)),le=C(()=>$.value?.status==="running"&&!N($.value)&&!g.value);return(y,P)=>{const se=Fs,x=ue,T=As,K=Js,q=Ie,Q=Us,te=_t,H=Bs,Z=Pe,Y=ye;return s(),_(Y,{icon:"i-lucide-sparkles","icon-class":"text-primary",title:"AI diagnosis",help:"case.ai"},{actions:u(()=>[r(se,{"context-endpoint":`/api/test-run-cases/${t.testRunsCaseId}/diagnosis-context`},null,8,["context-endpoint"])]),default:u(()=>[o("div",la,[o("p",ca,[r(x,{name:"i-lucide-triangle-alert",class:"size-3 shrink-0"}),P[6]||(P[6]=f(" AI-generated — verify before applying. ",-1))]),e(h)?.configured?(s(),_(T,{key:0,sections:e(l),"not-applicable":e(M)?.notApplicable,"token-estimate":e(d),loading:e(b),onViewSection:I,onOpen:P[0]||(P[0]=ae=>v.value=!0)},null,8,["sections","not-applicable","token-estimate","loading"])):i("",!0),e(h)?.configured?(s(),a(U,{key:1},[o("div",null,[o("button",{class:"flex items-center gap-1.5 text-xs font-medium text-gray-500 hover:text-gray-700 dark:hover:text-gray-300",onClick:P[1]||(P[1]=ae=>L.value=!e(L))},[r(x,{name:e(L)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3.5"},null,8,["name"]),P[7]||(P[7]=f(" Additional context ",-1)),e(m).trim()?(s(),a("span",ua,"(1)")):i("",!0)]),e(L)?(s(),_(K,{key:0,modelValue:e(m),"onUpdate:modelValue":P[2]||(P[2]=ae=>ge(m)?m.value=ae:null),placeholder:"e.g. We deployed a new auth middleware yesterday…",rows:3,class:"w-full text-sm mt-1"},null,8,["modelValue"])):i("",!0)]),e(le)?(s(),a("div",da,[o("span",ma,[r(x,{name:"i-lucide-loader-circle",class:"size-4 animate-spin text-primary shrink-0"}),P[8]||(P[8]=f(" Diagnosis in progress… ",-1))]),r(q,{size:"xs",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",loading:e(g),onClick:V},{default:u(()=>[...P[9]||(P[9]=[f(" Refresh ",-1)])]),_:1},8,["loading"])])):(s(),a("div",fa,[e(O)?(s(),_(q,{key:0,icon:"i-lucide-sparkles",size:"sm",color:"primary",variant:"solid",loading:e(g),onClick:P[3]||(P[3]=ae=>J(e($)?.status==="running"))},{default:u(()=>[f(c(e($)?.status==="running"?"Restart diagnosis":"Diagnose with AI"),1)]),_:1},8,["loading"])):e($)?.status==="completed"?(s(),_(q,{key:1,icon:"i-lucide-refresh-cw",size:"xs",color:"primary",variant:"soft",loading:e(g),onClick:P[4]||(P[4]=ae=>J(!0))},{default:u(()=>[...P[10]||(P[10]=[f(" Re-diagnose ",-1)])]),_:1},8,["loading"])):i("",!0)])),e(ne)?(s(),_(Q,{key:2,diagnosis:e($),onViewSection:I,onPrefillContext:G},null,8,["diagnosis"])):i("",!0)],64)):(s(),a("div",ga,[o("p",pa,[P[11]||(P[11]=f(" AI diagnosis is not configured ",-1)),r(te,{topic:"cluster.ai-setup"})]),P[13]||(P[13]=o("p",{class:"text-xs mt-2 max-w-xs mx-auto"},[f(" Use "),o("strong",null,"Export → AI context"),f(" in the header to grab the full evidence bundle for your own AI tool, or configure a provider. ")],-1)),r(q,{to:"/settings/ai",size:"xs",color:"neutral",variant:"outline",class:"mt-3"},{default:u(()=>[...P[12]||(P[12]=[f(" Configure in Settings ",-1)])]),_:1})])),r(H,{open:e(v),sections:e(l),"token-estimate":e(d),"image-token-estimate":e(D),loading:e(b),"focus-section":e(F),"cited-sections":e(B),"not-applicable-sections":e(M)?.notApplicable,"onUpdate:open":P[5]||(P[5]=ae=>{v.value=ae,ae||(F.value=null)}),onRefresh:S},null,8,["open","sections","token-estimate","image-token-estimate","loading","focus-section","cited-sections","not-applicable-sections"]),o("div",ya,[r(Z,{to:"/mcp",class:"inline-flex items-center gap-1 text-xs text-gray-400 hover:text-primary transition-colors"},{default:u(()=>[r(x,{name:"i-lucide-bot",class:"size-3"}),P[14]||(P[14]=f(" Query this failure from your AI agent via MCP ",-1))]),_:1})])])]),_:1})}}}),xa=Object.assign(ha,{__name:"TestCaseAiCard"});function Tt(t,k,h){const w=A(null),$=A(!1),g=A(!1);async function n(){const l=t();if(!(!l||!$e(k)||$.value)){g.value=!0,$.value=!0;try{w.value=await $fetch(l)}catch{w.value=null}finally{$.value=!1}}}return yt(()=>{ve(()=>$e(k),l=>{l&&(h||g.value)&&!w.value&&n()},{immediate:!0})}),{data:w,pending:$,load:n}}function va(t,k,h,w={}){return Tt(()=>{const $=$e(t),g=$e(k);return $&&g?`/api/test-runs/${$}/cases/${g}/trace-stacks`:null},h,w.auto??!0)}function _a(t,k,h,w={}){return Tt(()=>{const $=$e(t),g=$e(k);return $&&g?`/api/test-runs/${$}/cases/${g}/trace-network`:null},h,w.auto??!1)}const ka={class:"max-h-[32rem] overflow-y-auto"},ba={key:0,class:"mb-2 flex items-center gap-1.5 text-xs text-gray-400 dark:text-gray-500"},wa={key:0,class:"mt-3 flex items-center gap-1.5 text-xs text-gray-400 dark:text-gray-500"},$a=re({__name:"TestSourceCard",props:{frames:{},testSource:{},runId:{},testRunsCaseId:{},hasTrace:{type:Boolean},projectKey:{},projectName:{},storageKey:{}},setup(t,{expose:k}){const h=t,{data:w,pending:$}=va(()=>h.runId,()=>h.testRunsCaseId,()=>h.hasTrace,{auto:!0}),g=C(()=>w.value?.status==="ok"?w.value.frames??[]:[]),n=C(()=>g.value.length>0),l=C(()=>h.frames?.length??0),d=C(()=>l.value>0||!!h.testSource),D=A(null),M=C({get:()=>D.value??(n.value?"trace":"captured"),set:L=>{D.value=L}}),b=C(()=>[{label:`Full stack (${g.value.length})`,value:"trace"},{label:`Captured (${l.value||1})`,value:"captured"}]),v=C(()=>M.value==="trace"&&n.value?g.value.length:l.value||null),F=A(null);return k({reveal:()=>F.value?.reveal()}),(L,m)=>{const S=We,V=ue,B=ls,I=cs,G=bt,J=Ge,N=kt,ne=Oe;return s(),_(ne,{ref_key:"card",ref:F,"storage-key":t.storageKey,icon:"i-lucide-code",count:e(v),title:"Test source",help:"case.test-source"},ss({folded:u(()=>[e(M)==="trace"&&e(n)?(s(),a(U,{key:0},[f(" Full call stack from the trace"+c(e(w)?.hasSources===!1?" (recorded without sources)":""),1)],64)):e(l)>1?(s(),a(U,{key:1},[f(" The failing line and "+c(e(l)-1)+" caller"+c(e(l)-1===1?"":"s"),1)],64)):(s(),a(U,{key:2},[f("Source around the failing assertion")],64))]),default:u(()=>[o("div",ka,[e(M)==="trace"&&e(n)?(s(),a(U,{key:0},[e(w)?.hasSources===!1?(s(),a("p",ba,[r(V,{name:"i-lucide-info",class:"size-3.5 shrink-0"}),m[1]||(m[1]=f(" Trace recorded without sources — frame list only. ",-1))])):i("",!0),r(B,{frames:e(g),"project-key":t.projectKey,"project-name":t.projectName},null,8,["frames","project-key","project-name"])],64)):(s(),a(U,{key:1},[t.frames?.length?(s(),_(I,{key:0,frames:t.frames,"project-key":t.projectKey,"project-name":t.projectName},null,8,["frames","project-key","project-name"])):t.testSource?(s(),_(G,{key:1,text:"```typescript\n"+t.testSource+"\n```"},null,8,["text"])):t.hasTrace&&e($)?(s(),_(J,{key:2,text:"Loading call stack from trace…"})):i("",!0)],64))]),t.hasTrace?i("",!0):(s(),a("p",wa,[r(V,{name:"i-lucide-info",class:"size-3.5 shrink-0"}),o("span",null,[m[3]||(m[3]=f(" Want to go deeper? Record traces (",-1)),m[4]||(m[4]=o("code",null,"trace: 'retain-on-failure'",-1)),m[5]||(m[5]=f(") to see the full call stack with source here. ",-1)),r(N,{to:"ui-overview#trace-powered-deep-views","no-icon":"",class:"underline"},{default:u(()=>[...m[2]||(m[2]=[f("Learn more",-1)])]),_:1})])]))]),_:2},[e(n)&&e(d)?{name:"actions",fn:u(()=>[r(S,{modelValue:e(M),"onUpdate:modelValue":m[0]||(m[0]=O=>ge(M)?M.value=O:null),items:e(b),size:"xs",variant:"link",ui:{list:"gap-2",trigger:"px-1.5"}},null,8,["modelValue","items"])]),key:"0"}:void 0]),1032,["storage-key","count"])}}}),Ca=Object.assign($a,{__name:"TestSourceCard"}),Ta={class:"space-y-3"},Sa={class:"divide-y divide-default"},Ia={class:"flex items-center gap-2 min-w-0"},Ra={class:"text-sm truncate"},ja={key:0,class:"text-xs text-gray-400 shrink-0"},La=re({__name:"TestCaseEvidenceCard",props:{attachments:{},traces:{},storageKey:{}},setup(t,{expose:k}){const h=t,w=Ee(),$=C(()=>h.attachments.filter(v=>Te(v.path,v.contentType)).length),g=C(()=>h.attachments.filter(v=>De(v.path,v.contentType)).length),n=C(()=>h.attachments.filter(v=>!Te(v.path,v.contentType)&&!De(v.path,v.contentType))),l=C(()=>$.value+g.value+h.traces.length+n.value.length),d=C(()=>{const v=[];return $.value&&v.push(`${$.value} screenshot${$.value===1?"":"s"}`),g.value&&v.push(`${g.value} video${g.value===1?"":"s"}`),h.traces.length&&v.push(`${h.traces.length} trace${h.traces.length===1?"":"s"}`),n.value.length&&v.push(`${n.value.length} file${n.value.length===1?"":"s"}`),v.join(" · ")||"No evidence captured"});function D(v,F){return wt(v,F,w.app?.baseURL)}function M(v){return v.split("/").pop()||v}const b=A(null);return k({reveal:()=>b.value?.reveal?.()}),(v,F)=>{const L=us,m=ds,S=ms,V=ue,B=Ie,I=fs,G=Ct,J=Oe;return s(),_(J,{ref_key:"card",ref:b,"storage-key":t.storageKey,icon:"i-lucide-camera",title:"Failure evidence",count:e(l),help:"case.evidence"},{folded:u(()=>[f(c(e(d)),1)]),default:u(()=>[o("div",Ta,[r(L,{attachments:t.attachments},null,8,["attachments"]),r(m,{attachments:t.attachments},null,8,["attachments"]),r(S,{traces:t.traces},null,8,["traces"]),e(n).length?(s(),_(I,{key:0,icon:"i-lucide-paperclip",label:"Attachments",count:e(n).length,collapsible:!1},{default:u(()=>[o("div",Sa,[(s(!0),a(U,null,ee(e(n),N=>(s(),a("div",{key:N.id,class:"flex items-center justify-between gap-2 px-3 py-2"},[o("div",Ia,[r(V,{name:"i-lucide-file",class:"size-4 text-gray-400 shrink-0"}),o("span",Ra,c(M(N.path)),1),N.size?(s(),a("span",ja,c(("formatBytes"in v?v.formatBytes:e(we))(N.size)),1)):i("",!0)]),r(B,{to:D(N.path,N.contentType),target:"_blank",icon:"i-lucide-external-link",size:"xs",color:"neutral",variant:"soft",label:"Open"},null,8,["to"])]))),128))])]),_:1},8,["count"])):i("",!0),e(l)===0?(s(),_(G,{key:1,icon:"i-lucide-camera-off",title:"No screenshots, video or traces captured",text:"Evidence comes from Playwright's own capture settings — set trace, screenshot and video in your config (trace: 'retain-on-failure' is the usual starting point).",doc:"reporter"})):i("",!0)])]),_:1},8,["storage-key","count"])}}}),za=Object.assign(La,{__name:"TestCaseEvidenceCard"}),Ma={class:"space-y-1 max-h-80 overflow-y-auto"},Na={class:"min-w-0 flex-1"},Da={class:"flex items-center gap-2"},Pa={class:"truncate"},Aa={key:0,class:"text-xs text-gray-400 mt-0.5 ml-0"},Ua=re({__name:"TestCaseConsoleCard",props:{entries:{}},setup(t){function k(w){switch(w){case"error":return"error";case"warning":return"warning";case"assert":return"error";default:return"neutral"}}function h(w){switch(w){case"error":return"i-lucide-octagon-x";case"warning":return"i-lucide-alert-triangle";case"assert":return"i-lucide-octagon-x";default:return"i-lucide-message-square"}}return(w,$)=>{const g=ue,n=pe,l=ye;return t.entries.length>0?(s(),_(l,{key:0,icon:"i-lucide-terminal",title:"Console output",count:t.entries.length,help:"case.console"},{default:u(()=>[o("div",Ma,[(s(!0),a(U,null,ee(t.entries,(d,D)=>(s(),a("div",{key:D,class:"flex items-start gap-2 py-1.5 px-2 rounded hover:bg-gray-50 dark:hover:bg-gray-800 text-sm"},[r(g,{name:h(d.type),class:X([d.type==="error"||d.type==="assert"?"text-red-500":d.type==="warning"?"text-amber-500":"text-gray-400","size-4 mt-0.5 shrink-0"])},null,8,["name","class"]),o("div",Na,[o("div",Da,[r(n,{color:k(d.type),variant:"soft",size:"xs",class:"shrink-0"},{default:u(()=>[f(c(d.type),1)]),_:2},1032,["color"]),o("span",Pa,c(d.text),1)]),d.location?(s(),a("div",Aa,c(d.location),1)):i("",!0)])]))),128))])]),_:1},8,["count"])):i("",!0)}}}),Ba=Object.assign(Ua,{__name:"TestCaseConsoleCard"}),Fa={key:0,class:"space-y-4 text-sm"},Va={class:"space-y-1.5"},Ea={class:"flex items-center gap-2"},Oa={key:0,class:"text-xs text-gray-500"},Ha={class:"block text-xs break-all text-gray-700 dark:text-gray-300"},Ka={key:0,class:"text-xs text-red-600 dark:text-red-400 font-mono"},Wa={class:"flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-gray-400"},Ga={key:0,class:"font-mono"},Ja={key:1,class:"font-mono"},qa={key:2},Qa={key:3,title:"Bytes on the wire"},Za={key:0},Xa={class:"flex h-2 rounded overflow-hidden bg-gray-100 dark:bg-gray-800"},Ya=["title"],eo={class:"flex flex-wrap gap-x-3 gap-y-1 mt-1.5 text-xs text-gray-500"},to={class:"text-xs font-medium text-gray-500 dark:text-gray-400 mb-1.5 capitalize"},so={key:0,class:"rounded border border-default divide-y divide-default max-h-48 overflow-y-auto"},no={class:"text-gray-500 dark:text-gray-400 shrink-0"},ao={class:"break-all text-gray-700 dark:text-gray-300"},oo={key:1,class:"text-xs text-gray-400"},ro={key:1},io={key:0,class:"rounded border border-default p-2"},lo=["src","alt"],co={key:1,class:"max-h-96 overflow-y-auto"},uo={key:0,class:"mt-1 text-xs text-gray-400"},mo={key:2,class:"text-xs text-gray-400"},fo={key:2,class:"text-xs text-gray-400"},go=re({__name:"TraceNetworkDrawer",props:{open:{type:Boolean},entry:{},runId:{},testRunsCaseId:{}},emits:["update:open"],setup(t,{emit:k}){const h=t,w=k,$=[{key:"dns",label:"DNS",color:"bg-sky-400"},{key:"connect",label:"Connect",color:"bg-violet-400"},{key:"ssl",label:"TLS",color:"bg-rose-400"},{key:"send",label:"Send",color:"bg-amber-400"},{key:"wait",label:"Wait",color:"bg-blue-400"},{key:"receive",label:"Receive",color:"bg-emerald-400"}],g=C(()=>{const b=h.entry?.timings;return b?$.map(v=>({...v,value:b[v.key]??-1})).filter(v=>typeof v.value=="number"&&v.value>=0):[]}),n=C(()=>g.value.reduce((b,v)=>b+v.value,0)),l=C(()=>{const b=h.entry?.requestPostData??"";return b.startsWith("{")||b.startsWith("[")}),d=A(null),D=A(!1),M=new Map;return ve(()=>[h.open,h.entry?.bodySha1],async([b,v])=>{if(d.value=null,!b||!v||!h.runId)return;const F=M.get(v);if(F){d.value=F;return}D.value=!0;try{const L=await $fetch(`/api/test-runs/${h.runId}/cases/${h.testRunsCaseId}/trace-network-body`,{query:{sha1:v}});M.set(v,L),d.value=L}catch{d.value={status:"not-found"}}finally{D.value=!1}},{immediate:!0}),(b,v)=>{const F=pe,L=Re,m=Qs,S=Ge,V=Zs;return s(),_(V,{open:t.open,title:"Request detail",ui:{content:"max-w-xl"},"onUpdate:open":v[0]||(v[0]=B=>w("update:open",B))},{body:u(()=>[t.entry?(s(),a("div",Fa,[o("div",Va,[o("div",Ea,[r(F,{color:("httpMethodColor"in b?b.httpMethodColor:e(He))(t.entry.method),variant:"soft",size:"sm",class:"font-mono shrink-0"},{default:u(()=>[f(c(t.entry.method),1)]),_:1},8,["color"]),r(F,{color:("httpStatusColor"in b?b.httpStatusColor:e(Ke))(t.entry.status),variant:"soft",size:"sm",class:"font-mono shrink-0 tabular-nums"},{default:u(()=>[f(c(t.entry.status>0?t.entry.status:"—"),1)]),_:1},8,["color"]),t.entry.statusText?(s(),a("span",Oa,c(t.entry.statusText),1)):i("",!0)]),o("code",Ha,c(t.entry.url),1),t.entry.failureText?(s(),a("p",Ka,c(t.entry.failureText),1)):i("",!0),o("div",Wa,[t.entry.resourceType?(s(),a("span",Ga,c(t.entry.resourceType),1)):i("",!0),t.entry.mimeType?(s(),a("span",Ja,c(t.entry.mimeType),1)):i("",!0),t.entry.responseBodySize!=null?(s(),a("span",qa,c(("formatBytes"in b?b.formatBytes:e(we))(t.entry.responseBodySize)),1)):i("",!0),t.entry.transferSize!=null?(s(),a("span",Qa,c(("formatBytes"in b?b.formatBytes:e(we))(t.entry.transferSize))+" transferred",1)):i("",!0),r(L,{ms:t.entry.duration},null,8,["ms"]),t.entry.duringFailure?(s(),_(F,{key:4,color:"error",variant:"subtle",size:"xs"},{default:u(()=>[...v[1]||(v[1]=[f("During failing action",-1)])]),_:1})):i("",!0)])]),e(g).length>0&&e(n)>0?(s(),a("div",Za,[v[2]||(v[2]=o("p",{class:"text-xs font-medium text-gray-500 dark:text-gray-400 mb-1.5"},"Timing",-1)),o("div",Xa,[(s(!0),a(U,null,ee(e(g),B=>(s(),a("div",{key:B.key,class:X(B.color),style:Ce({width:`${Math.max(.5,B.value/e(n)*100)}%`}),title:`${B.label}: ${("formatDuration"in b?b.formatDuration:e(Ws))(B.value)}`},null,14,Ya))),128))]),o("div",eo,[(s(!0),a(U,null,ee(e(g),B=>(s(),a("span",{key:B.key,class:"inline-flex items-center gap-1"},[o("span",{class:X(["size-2 rounded-full",B.color])},null,2),f(" "+c(B.label)+" ",1),r(L,{ms:B.value,"no-title":""},null,8,["ms"])]))),128))])])):i("",!0),(s(),a(U,null,ee(["request","response"],B=>o("div",{key:B},[o("p",to,c(B)+" headers",1),(B==="request"?t.entry.requestHeaders:t.entry.responseHeaders).length>0?(s(),a("div",so,[(s(!0),a(U,null,ee(B==="request"?t.entry.requestHeaders:t.entry.responseHeaders,I=>(s(),a("div",{key:`${B}-${I.name}`,class:"px-2 py-1 text-xs font-mono flex gap-2"},[o("span",no,c(I.name)+":",1),o("span",ao,c(I.value),1)]))),128))])):(s(),a("p",oo,"None recorded."))])),64)),t.entry.requestPostData?(s(),a("div",ro,[v[3]||(v[3]=o("p",{class:"text-xs font-medium text-gray-500 dark:text-gray-400 mb-1.5"},"Request body",-1)),r(m,{code:t.entry.requestPostData,lang:e(l)?"json":"text"},null,8,["code","lang"])])):i("",!0),o("div",null,[v[4]||(v[4]=o("p",{class:"text-xs font-medium text-gray-500 dark:text-gray-400 mb-1.5"},"Response body",-1)),e(D)?(s(),_(S,{key:0,text:"Loading body…",padded:!1})):e(d)?(s(),a(U,{key:1},[e(d).status==="ok"&&e(d).kind==="image"?(s(),a("div",io,[o("img",{src:e(d).dataUri,alt:t.entry.url,class:"max-w-full max-h-96"},null,8,lo)])):e(d).status==="ok"?(s(),a("div",co,[r(m,{code:e(d).content??"",lang:e(d).kind==="json"?"json":"text"},null,8,["code","lang"]),e(d).truncated?(s(),a("p",uo,"Preview truncated.")):i("",!0)])):(s(),a("p",mo,c(e(d).status==="too-large"?`Body too large to preview (${("formatBytes"in b?b.formatBytes:e(we))(e(d).size??0)}) — open the trace viewer to inspect it.`:e(d).status==="unsupported"?`No preview for ${e(d).mimeType||"this content type"} — open the trace viewer to inspect it.`:"Body not stored in the trace."),1))],64)):t.entry.bodySha1?i("",!0):(s(),a("p",fo,"No body captured for this request."))])])):i("",!0)]),_:1},8,["open"])}}}),po=Object.assign(go,{__name:"TraceNetworkDrawer"}),yo={class:"flex items-center justify-between gap-2 mb-2"},ho={key:0,class:"hidden sm:flex items-center gap-1.5 text-xs text-gray-400"},xo={class:"space-y-1 max-h-[28rem] overflow-y-auto"},vo=["title","onClick"],_o={class:"flex items-center gap-2 text-sm min-w-0"},ko={class:"truncate text-xs flex-1 min-w-0"},bo={key:0,class:"shrink-0 text-xs text-gray-400 font-mono hidden md:inline"},wo={key:1,class:"shrink-0 text-xs text-gray-400 tabular-nums hidden sm:inline"},$o={class:"relative h-1.5 mt-1 rounded bg-gray-100 dark:bg-gray-800 overflow-hidden"},Co={key:0,class:"mt-2 text-xs text-gray-400 dark:text-gray-500"},To=re({__name:"TraceNetworkList",props:{data:{},runId:{},testRunsCaseId:{}},setup(t){const k=t,h=A("all"),w=C(()=>k.data.requests??[]),$=C(()=>({total:w.value.length,failed:w.value.filter(S=>S.failed).length,duringFailure:w.value.filter(S=>S.duringFailure).length})),g=C(()=>[{label:`All (${$.value.total})`,value:"all"},{label:`Failed (${$.value.failed})`,value:"failed",disabled:$.value.failed===0},{label:`During failure (${$.value.duringFailure})`,value:"duringFailure",disabled:$.value.duringFailure===0}]),n=C(()=>h.value==="failed"?w.value.filter(S=>S.failed):h.value==="duringFailure"?w.value.filter(S=>S.duringFailure):w.value);function l(S){try{return new URL(S).pathname||S}catch{return S}}const d=C(()=>Math.max(1,k.data.timelineDuration??1));function D(S){const V=Math.max(0,Math.min(100,S.start/d.value*100)),B=Math.min(100-V,Math.max(1.5,S.duration/d.value*100));return{left:`${V}%`,width:`${B}%`}}const M=C(()=>{const S=k.data.failingWindow;if(!S||S.end<=S.start)return null;const V=Math.max(0,Math.min(100,S.start/d.value*100)),B=Math.max(.5,Math.min(100-V,(S.end-S.start)/d.value*100));return{left:`${V}%`,width:`${B}%`}});function b(S){return S.failed?"bg-red-500":S.duration>1e3?"bg-orange-400":"bg-gray-400 dark:bg-gray-500"}function v(S){return S.failed?"border-l-2 border-l-red-400 dark:border-l-red-600":S.duringFailure?"border-l-2 border-l-amber-400 dark:border-l-amber-600":"border-l-2 border-l-transparent"}const F=A(null),L=A(!1);function m(S){F.value=S,L.value=!0}return(S,V)=>{const B=We,I=pe,G=Re,J=po;return s(),a("div",null,[o("div",yo,[r(B,{modelValue:e(h),"onUpdate:modelValue":V[0]||(V[0]=N=>ge(h)?h.value=N:null),items:e(g),size:"xs",variant:"link",ui:{list:"gap-2",trigger:"px-1.5"}},null,8,["modelValue","items"]),t.data.failingWindow?(s(),a("span",ho,[...V[2]||(V[2]=[o("span",{class:"inline-block w-3 h-2 rounded-sm bg-red-500/10 border border-red-300 dark:border-red-800"},null,-1),f(" failing action ",-1)])])):i("",!0)]),o("div",xo,[(s(!0),a(U,null,ee(e(n),N=>(s(),a("button",{key:N.index,type:"button",class:X([v(N),"w-full rounded bg-gray-50/60 dark:bg-gray-800/40 py-1.5 px-2 text-left cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800"]),title:N.url,onClick:ne=>m(N)},[o("div",_o,[r(I,{color:("httpMethodColor"in S?S.httpMethodColor:e(He))(N.method),variant:"soft",size:"xs",class:"font-mono shrink-0"},{default:u(()=>[f(c(N.method),1)]),_:2},1032,["color"]),r(I,{color:("httpStatusColor"in S?S.httpStatusColor:e(Ke))(N.status),variant:"soft",size:"xs",class:"font-mono shrink-0 tabular-nums",title:N.failureText||N.statusText},{default:u(()=>[f(c(N.status>0?N.status:"—"),1)]),_:2},1032,["color","title"]),o("code",ko,c(l(N.url)),1),N.resourceType?(s(),a("span",bo,c(N.resourceType),1)):i("",!0),N.responseBodySize!=null?(s(),a("span",wo,c(("formatBytes"in S?S.formatBytes:e(we))(N.responseBodySize)),1)):i("",!0),o("span",{class:X(["ml-1 shrink-0 text-xs tabular-nums",N.duration>1e3?"text-red-600 font-medium":N.duration>500?"text-orange-500":"text-gray-500"])},[r(G,{ms:N.duration,"unit-class":"opacity-60"},null,8,["ms"])],2)]),o("div",$o,[e(M)?(s(),a("div",{key:0,class:"absolute inset-y-0 bg-red-500/10 border-x border-red-300/60 dark:border-red-800/60",style:Ce(e(M))},null,4)):i("",!0),o("div",{class:X(["absolute inset-y-0 rounded-full",b(N)]),style:Ce(D(N))},null,6)])],10,vo))),128))]),t.data.truncated?(s(),a("p",Co," Showing the first "+c(e(w).length)+" of "+c(t.data.totalBeforeCap)+" requests recorded in the trace. ",1)):i("",!0),r(J,{open:e(L),"onUpdate:open":V[1]||(V[1]=N=>ge(L)?L.value=N:null),entry:e(F),"run-id":t.runId,"test-runs-case-id":t.testRunsCaseId},null,8,["open","entry","run-id","test-runs-case-id"])])}}}),So=Object.assign(To,{__name:"TraceNetworkList"}),Io={class:"flex flex-wrap items-center gap-x-3 gap-y-1"},Ro={key:0,class:"flex items-center gap-2 text-xs"},jo={key:0,class:"flex items-center gap-1 text-red-600 dark:text-red-400"},Lo={key:1,class:"flex items-center gap-1 text-amber-600 dark:text-amber-400"},zo={key:2,class:"text-xs text-gray-400 py-2"},Mo={key:1,class:"space-y-1 max-h-[28rem] overflow-y-auto"},No=["disabled","onClick"],Do={key:1,class:"size-3.5 shrink-0"},Po=["title"],Ao=["title"],Uo=["title"],Bo=["title"],Fo=["title"],Vo=["title"],Eo={key:0,class:"px-2 pt-1.5 pb-2 pl-7 space-y-1"},Oo={class:"flex items-center gap-1.5 text-[11px] uppercase tracking-wide text-gray-400"},Ho=["title"],Ko={key:0,class:"shrink-0 text-[10px] uppercase text-gray-400 font-mono hidden sm:inline"},Wo={class:"relative flex-1 h-3 rounded bg-gray-100 dark:bg-gray-800 min-w-0"},Go={key:1,class:"px-2 pb-2 pl-7 space-y-1.5"},Jo={class:"flex items-start gap-2"},qo={key:0,class:"text-gray-400 shrink-0 font-mono"},Qo={class:"font-mono break-all text-gray-700 dark:text-gray-300 flex-1 min-w-0"},Zo=["title"],Xo={key:0,class:"mt-1.5"},Yo=["onClick"],er={key:0,class:"mt-1 whitespace-pre-wrap break-all font-mono text-[11px] leading-relaxed text-gray-500 dark:text-gray-400 max-h-48 overflow-y-auto"},tr={key:2,class:"mt-3 flex items-center gap-1.5 text-xs text-gray-400 dark:text-gray-500"},sr={key:3,class:"mt-3 flex items-center gap-1.5 text-xs text-gray-400 dark:text-gray-500"},nr=re({__name:"TestCaseNetworkRequests",props:{requests:{},runId:{},testRunsCaseId:{},hasTrace:{type:Boolean}},setup(t,{expose:k}){const h=t,w=A("all"),{data:$,pending:g,load:n}=_a(()=>h.runId,()=>h.testRunsCaseId,()=>!!h.hasTrace),l=A(null),d=C({get:()=>l.value??(h.requests.length===0&&h.hasTrace?"trace":"captured"),set:x=>{l.value=x}});ve(()=>d.value==="trace",x=>{x&&n()},{immediate:!0});const D=C(()=>$.value?.status==="ok"?$.value.requests?.length??0:null),M=C(()=>[{label:`Captured (${h.requests.length})`,value:"captured",disabled:h.requests.length===0},{label:D.value!=null?`Full trace (${D.value})`:"Full trace",value:"trace"}]);function b(){h.hasTrace&&(l.value="trace")}k({showTraceMode:b});const v=A(new Set);function F(x){const T=new Set(v.value);T.has(x)?T.delete(x):T.add(x),v.value=T}const L=A(new Set);function m(x){const T=new Set(L.value);T.has(x)?T.delete(x):T.add(x),L.value=T}function S(x){if(x.length===0)return[];const T=Math.min(...x.map(H=>H.startMs)),K=Math.max(...x.map(H=>H.startMs+H.durMs)),q=Math.max(1,K-T),Q=new Map(x.map(H=>[H.id,H])),te=H=>{let Z=0,Y=H;const ae=new Set;for(;Y?.parentId&&Q.has(Y.parentId)&&!ae.has(Y.id)&&(ae.add(Y.id),Y=Q.get(Y.parentId),Z++,!(Z>8)););return Z};return[...x].sort((H,Z)=>H.startMs-Z.startMs||Z.durMs-H.durMs).map(H=>({...H,offsetPct:(H.startMs-T)/q*100,widthPct:Math.max(1.5,H.durMs/q*100),depth:te(H)}))}function V(x){return x.status==="error"?"bg-red-400 dark:bg-red-500":x.kind==="db"?"bg-violet-400 dark:bg-violet-500":x.kind==="client"?"bg-sky-400 dark:bg-sky-500":x.kind==="internal"?"bg-gray-400 dark:bg-gray-500":"bg-emerald-400 dark:bg-emerald-500"}function B(x){const T=x.toLowerCase();return T==="critical"||T==="fatal"?3:T==="error"?2:T==="warning"||T==="warn"?1:0}function I(x){const T=B(x);if(T>=2)return"error";if(T===1)return"warning";const K=x.toLowerCase();return K==="info"||K==="information"?"info":"neutral"}function G(x){try{return new URL(x).pathname||x}catch{return x}}function J(x){return(x.split("/")[1]??x).replace(/^vnd\.[^+]*\+?/,"").replace(/^x-/,"")||x}function N(x){return x?new Date(x).toLocaleString():""}const ne=C(()=>h.requests.map((x,T)=>{const K=Array.isArray(x.serverLogs)?x.serverLogs:[],q=Array.isArray(x.serverTraces)?x.serverTraces:[];let Q=0,te=0;for(const Z of K){const Y=B(Z.level);Y>=2?Q++:Y===1&&te++}const H=q.find(Z=>!Z.parentId)??q[0];return{...x,_index:T,logs:[...K].sort((Z,Y)=>Z.timestamp-Y.timestamp),spans:q,serverMs:H?H.durMs:null,errorLogCount:Q,warnLogCount:te,failed:x.status>=400,hasDetail:K.length>0||q.length>0,path:G(x.url)}})),O=C(()=>{let x=0,T=0,K=0,q=0,Q=0;for(const te of ne.value)te.failed&&x++,te.logs.length>0&&T++,te.spans.length>0&&K++,q+=te.errorLogCount,Q+=te.warnLogCount;return{total:ne.value.length,failed:x,withLogs:T,withSpans:K,errorLogs:q,warnLogs:Q}}),le=C(()=>{let x=ne.value;return w.value==="failed"?x=x.filter(T=>T.failed):w.value==="logs"&&(x=x.filter(T=>T.logs.length>0)),[...x].sort((T,K)=>{const q=Q=>(Q.errorLogCount>0?3:0)+(Q.failed?2:0)+(Q.logs.length>0?1:0);return q(K)-q(T)||T._index-K._index})}),y=C(()=>[{label:`All (${O.value.total})`,value:"all"},{label:`Failed (${O.value.failed})`,value:"failed",disabled:O.value.failed===0},{label:`With logs (${O.value.withLogs})`,value:"logs",disabled:O.value.withLogs===0}]),P=C(()=>O.value.withLogs>0);function se(x){return x.errorLogCount>0||x.status>=500?"border-l-2 border-l-red-400 dark:border-l-red-600":x.failed||x.warnLogCount>0?"border-l-2 border-l-amber-400 dark:border-l-amber-600":"border-l-2 border-l-transparent"}return(x,T)=>{const K=ue,q=We,Q=Ge,te=So,H=pe,Z=Re,Y=kt,ae=ye;return s(),_(ae,{icon:"i-lucide-network",title:"Network & backend logs",count:e(d)==="trace"?e(D):e(O).total,help:"case.network"},{actions:u(()=>[o("div",Io,[e(d)==="captured"?(s(),a(U,{key:0},[e(O).errorLogs>0||e(O).warnLogs>0?(s(),a("div",Ro,[e(O).errorLogs>0?(s(),a("span",jo,[r(K,{name:"i-lucide-octagon-alert",class:"size-3.5"}),f(c(e(O).errorLogs),1)])):i("",!0),e(O).warnLogs>0?(s(),a("span",Lo,[r(K,{name:"i-lucide-triangle-alert",class:"size-3.5"}),f(c(e(O).warnLogs),1)])):i("",!0)])):i("",!0),r(q,{modelValue:e(w),"onUpdate:modelValue":T[0]||(T[0]=z=>ge(w)?w.value=z:null),items:e(y),size:"xs",variant:"link",ui:{list:"gap-2",trigger:"px-1.5"}},null,8,["modelValue","items"])],64)):i("",!0),t.hasTrace?(s(),_(q,{key:1,modelValue:e(d),"onUpdate:modelValue":T[1]||(T[1]=z=>ge(d)?d.value=z:null),items:e(M),size:"xs",variant:"pill",ui:{list:"gap-1 p-0.5",trigger:"px-2"}},null,8,["modelValue","items"])):i("",!0)])]),default:u(()=>[e(d)==="trace"?(s(),a(U,{key:0},[e(g)||!e($)?(s(),_(Q,{key:0,text:"Parsing trace network stream…"})):e($).status==="ok"?(s(),_(te,{key:1,data:e($),"run-id":t.runId??null,"test-runs-case-id":t.testRunsCaseId??0},null,8,["data","run-id","test-runs-case-id"])):(s(),a("p",zo,"No network activity recorded in this trace."))],64)):(s(),a("div",Mo,[(s(!0),a(U,null,ee(e(le),z=>(s(),a("div",{key:z._index,class:X([se(z),"rounded bg-gray-50/60 dark:bg-gray-800/40"])},[o("button",{type:"button",class:X(["w-full flex items-center gap-2 py-1.5 px-2 text-sm text-left",z.hasDetail?"cursor-pointer hover:bg-gray-100 dark:hover:bg-gray-800":"cursor-default"]),disabled:!z.hasDetail,onClick:W=>z.hasDetail&&F(z._index)},[z.hasDetail?(s(),_(K,{key:0,name:e(v).has(z._index)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3.5 shrink-0 text-gray-400"},null,8,["name"])):(s(),a("span",Do)),r(H,{color:("httpMethodColor"in x?x.httpMethodColor:e(He))(z.method),variant:"soft",size:"xs",class:"font-mono shrink-0"},{default:u(()=>[f(c(z.method),1)]),_:2},1032,["color"]),r(H,{color:("httpStatusColor"in x?x.httpStatusColor:e(Ke))(z.status),variant:"soft",size:"xs",class:"font-mono shrink-0 tabular-nums"},{default:u(()=>[f(c(z.status||"—"),1)]),_:2},1032,["color"]),o("code",{class:"truncate text-xs flex-1 min-w-0",title:z.url},c(z.path),9,Po),z.contentType?(s(),a("span",{key:2,class:"shrink-0 text-xs text-gray-400 font-mono hidden md:inline",title:`Response content type: ${z.contentType}`},c(J(z.contentType)),9,Ao)):i("",!0),z.errorLogCount>0?(s(),a("span",{key:3,class:"shrink-0 inline-flex items-center gap-1 text-xs text-red-600 dark:text-red-400",title:`${z.errorLogCount} backend error log(s)`},[r(K,{name:"i-lucide-octagon-alert",class:"size-3.5"}),f(c(z.errorLogCount),1)],8,Uo)):i("",!0),z.warnLogCount>0?(s(),a("span",{key:4,class:"shrink-0 inline-flex items-center gap-1 text-xs text-amber-600 dark:text-amber-400",title:`${z.warnLogCount} backend warning log(s)`},[r(K,{name:"i-lucide-triangle-alert",class:"size-3.5"}),f(c(z.warnLogCount),1)],8,Bo)):i("",!0),z.serverMs!=null?(s(),a("span",{key:5,class:"shrink-0 inline-flex items-center gap-1 text-xs text-emerald-600 dark:text-emerald-400 tabular-nums",title:`Server-side processing time (${z.spans.length} span${z.spans.length===1?"":"s"})`},[r(K,{name:"i-lucide-server",class:"size-3.5"}),r(Z,{ms:z.serverMs,"no-title":""},null,8,["ms"])],8,Fo)):i("",!0),z.startTime?(s(),a("span",{key:6,class:"shrink-0 text-xs text-gray-400 hidden sm:inline",title:N(z.startTime)},c(("formatRelativeTime"in x?x.formatRelativeTime:e(Se))(z.startTime)),9,Vo)):i("",!0),o("span",{class:X(["ml-1 shrink-0 text-xs tabular-nums",(z.duration??0)>1e3?"text-red-600 font-medium":(z.duration??0)>500?"text-orange-500":"text-gray-500"])},[r(Z,{ms:z.duration,"unit-class":"opacity-60"},null,8,["ms"])],2)],10,No),z.spans.length>0&&e(v).has(z._index)?(s(),a("div",Eo,[o("div",Oo,[r(K,{name:"i-lucide-waypoints",class:"size-3.5"}),T[2]||(T[2]=f("Server trace ",-1))]),(s(!0),a(U,null,ee(S(z.spans),W=>(s(),a("div",{key:W.id,class:"flex items-center gap-2 text-xs",title:W.status==="error"?`${W.name} (error)`:W.name},[o("div",{class:"w-40 sm:w-56 shrink-0 flex items-center gap-1 min-w-0",style:Ce({paddingLeft:`${W.depth*12}px`})},[W.kind?(s(),a("span",Ko,c(W.kind),1)):i("",!0),o("span",{class:X(["truncate font-mono",W.status==="error"?"text-red-600 dark:text-red-400":"text-gray-600 dark:text-gray-300"])},c(W.name),3)],4),o("div",Wo,[o("div",{class:X(["absolute top-0 h-3 rounded",V(W)]),style:Ce({left:`${W.offsetPct}%`,width:`${W.widthPct}%`})},null,6)]),r(Z,{ms:W.durMs,class:"w-12 shrink-0 text-right text-gray-500"},null,8,["ms"])],8,Ho))),128))])):i("",!0),z.logs.length>0&&e(v).has(z._index)?(s(),a("div",Go,[(s(!0),a(U,null,ee(z.logs,(W,he)=>(s(),a("div",{key:he,class:"rounded border border-default bg-white dark:bg-gray-900/60 p-2 text-xs"},[o("div",Jo,[r(H,{color:I(W.level),variant:"soft",size:"xs",class:"shrink-0 capitalize"},{default:u(()=>[f(c(W.level),1)]),_:2},1032,["color"]),W.category?(s(),a("span",qo,"["+c(W.category)+"]",1)):i("",!0),o("span",Qo,c(W.message),1),W.timestamp?(s(),a("span",{key:1,class:"shrink-0 text-gray-400 tabular-nums",title:N(W.timestamp)},c(("formatRelativeTime"in x?x.formatRelativeTime:e(Se))(W.timestamp)),9,Zo)):i("",!0)]),W.stack?(s(),a("div",Xo,[o("button",{type:"button",class:"inline-flex items-center gap-1 text-gray-400 hover:text-gray-600 dark:hover:text-gray-200",onClick:Je=>m(`${z._index}:${he}`)},[r(K,{name:e(L).has(`${z._index}:${he}`)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3"},null,8,["name"]),T[3]||(T[3]=f(" Stack trace ",-1))],8,Yo),e(L).has(`${z._index}:${he}`)?(s(),a("pre",er,c(W.stack),1)):i("",!0)])):i("",!0)]))),128))])):i("",!0)],2))),128))])),e(d)==="captured"&&!e(P)?(s(),a("p",tr,[r(K,{name:"i-lucide-info",class:"size-3.5 shrink-0"}),T[5]||(T[5]=f(" No backend server logs captured — install ",-1)),r(Y,{to:"backend-logs","no-icon":"",class:"underline"},{default:u(()=>[...T[4]||(T[4]=[f("a Piwi backend integration",-1)])]),_:1}),T[6]||(T[6]=f(" to see server-side warnings and errors under each request. ",-1))])):i("",!0),t.hasTrace?i("",!0):(s(),a("p",sr,[r(K,{name:"i-lucide-info",class:"size-3.5 shrink-0"}),o("span",null,[T[8]||(T[8]=f(" Want to go deeper? Record traces (",-1)),T[9]||(T[9]=o("code",null,"trace: 'retain-on-failure'",-1)),T[10]||(T[10]=f(") to see every request with headers, timing and bodies here. ",-1)),r(Y,{to:"ui-overview#trace-powered-deep-views","no-icon":"",class:"underline"},{default:u(()=>[...T[7]||(T[7]=[f("Learn more",-1)])]),_:1})])]))]),_:1},8,["count"])}}}),ar=Object.assign(nr,{__name:"TestCaseNetworkRequests"}),or={class:"space-y-2"},rr=re({__name:"TestCaseTracesCard",props:{traces:{}},setup(t){return(k,h)=>{const w=gs,$=ye;return t.traces.length>0?(s(),_($,{key:0,icon:"i-lucide-bug-play",title:"Traces",count:t.traces.length,help:"case.traces"},{default:u(()=>[o("div",or,[(s(!0),a(U,null,ee(t.traces,g=>(s(),_(w,{key:g.id,trace:g,class:"py-2 px-3 rounded-lg border"},null,8,["trace"]))),128))])]),_:1},8,["count"])):i("",!0)}}}),ir=Object.assign(rr,{__name:"TestCaseTracesCard"}),lr={class:"space-y-3"},cr={class:"flex items-center justify-between px-3 py-2 bg-gray-50 dark:bg-gray-800/50 border-b"},ur={class:"flex items-center gap-2 min-w-0"},dr={class:"text-sm font-medium truncate"},mr={key:0,class:"text-xs text-gray-400 shrink-0"},fr={class:"text-xs text-gray-400"},gr={class:"flex items-center gap-1 shrink-0"},pr=["href"],yr={key:0,class:"bg-gray-100 dark:bg-gray-900"},hr=["src","alt","onClick"],xr={key:1,class:"bg-black"},vr={key:2,class:"bg-gray-50 dark:bg-gray-900"},_r={key:0,class:"flex items-center justify-center py-8"},kr={key:1,class:"p-4 text-red-500 text-sm"},br={key:2,class:"p-4 overflow-auto max-h-96"},wr={class:"text-sm whitespace-pre-wrap font-sans leading-relaxed"},$r=re({__name:"TestCaseAttachmentsCard",props:{attachments:{}},setup(t){const k=t,h=Ee(),w=A(null),$=C(()=>k.attachments.filter(I=>Te(I.path,I.contentType)).map(I=>({src:M(I.path,I.contentType),name:I.name||b(I.path)})));function g(I){w.value=I}const n=new Set([".md",".mdx",".markdown"]),l=new Set(["text/markdown","text/x-markdown"]);function d(I){return I.toLowerCase().split(".").pop()||""}function D(I,G){return!!(n.has(d(I))||G&&l.has(G.toLowerCase()))}function M(I,G){return wt(I,G,h.app?.baseURL)}function b(I){return I.split("/").pop()||I}function v(I){return I==null?"":we(I)}const F=A({}),L=A({}),m=A({}),S=A(new Set);async function V(I){if(F.value[I.id]===void 0&&!m.value[I.id]){m.value[I.id]=!0,L.value[I.id]=null;try{const G=await $fetch(M(I.path,I.contentType),{responseType:"text"});F.value[I.id]=G}catch{L.value[I.id]="Failed to load preview"}finally{m.value[I.id]=!1}}}function B(I,G){const J=new Set(S.value);J.has(I)?J.delete(I):(J.add(I),V(G)),S.value=J}return(I,G)=>{const J=ue,N=Ie,ne=ps,O=ys,le=ye;return t.attachments.length>0?(s(),_(le,{key:0,icon:"i-lucide-paperclip",title:"Attachments",count:t.attachments.length},{default:u(()=>[o("div",lr,[(s(!0),a(U,null,ee(t.attachments,y=>(s(),a("div",{key:y.id,class:"rounded-lg border overflow-hidden"},[o("div",cr,[o("div",ur,[r(J,{name:e(Te)(y.path,y.contentType)?"i-lucide-image":e(De)(y.path,y.contentType)?"i-lucide-video":D(y.path,y.contentType)?"i-lucide-file-text":"i-lucide-file",class:"size-4 text-gray-400 shrink-0"},null,8,["name"]),o("span",dr,c(b(y.path)),1),y.name&&y.name!==b(y.path)?(s(),a("span",mr,c(y.name),1)):i("",!0),o("span",fr,c(v(y.size)),1)]),o("div",gr,[D(y.path,y.contentType)?(s(),_(N,{key:0,size:"xs",color:"neutral",variant:"soft",onClick:P=>B(y.id,y)},{default:u(()=>[f(c(e(S).has(y.id)?"Hide preview":"Preview"),1)]),_:2},1032,["onClick"])):i("",!0),o("a",{href:M(y.path,y.contentType),target:"_blank",class:"text-primary hover:underline text-xs shrink-0"},"Open",8,pr)])]),e(Te)(y.path,y.contentType)?(s(),a("div",yr,[o("img",{src:M(y.path,y.contentType),alt:y.name||"Screenshot",class:"max-w-full max-h-96 object-contain mx-auto cursor-pointer hover:opacity-90 transition-opacity",loading:"lazy",onClick:P=>g(e($).findIndex(se=>se.src===M(y.path,y.contentType)))},null,8,hr)])):e(De)(y.path,y.contentType)?(s(),a("div",xr,[r(ne,{src:M(y.path,y.contentType)},null,8,["src"])])):D(y.path,y.contentType)&&e(S).has(y.id)?(s(),a("div",vr,[e(m)[y.id]?(s(),a("div",_r,[r(J,{name:"i-lucide-loader-circle",class:"size-5 animate-spin text-gray-400"})])):e(L)[y.id]?(s(),a("div",kr,c(e(L)[y.id]),1)):e(F)[y.id]?(s(),a("div",br,[o("pre",wr,c(e(F)[y.id]),1)])):i("",!0)])):i("",!0)]))),128))]),r(O,{modelValue:e(w),"onUpdate:modelValue":G[0]||(G[0]=y=>ge(w)?w.value=y:null),images:e($)},null,8,["modelValue","images"])]),_:1},8,["count"])):i("",!0)}}}),Cr=Object.assign($r,{__name:"TestCaseAttachmentsCard"});function Tr(t){return Array.isArray(t)?t.some(k=>k&&typeof k.type=="string"&&k.type.toLowerCase()==="slow"):!1}function Sr(t){const k=[];if(!t)return k;const h=t.steps||[],$=h.filter(n=>n.category==="navigation").filter(n=>n.duration>3e3);if($.length>0){const n=$.sort((l,d)=>d.duration-l.duration)[0];k.push({type:"warning",message:"Slow navigation detected",details:`"${n.title}" took ${(n.duration/1e3).toFixed(1)}s. The tested page may have performance issues (slow server response, heavy JS bundles, etc.).`})}h.length>20&&k.push({type:"info",message:"Many sequential actions",details:`This test has ${h.length} steps. Consider splitting it into smaller, focused tests for better isolation and faster feedback.`}),t.status==="passed"&&(t.retries||0)>0&&k.push({type:"warning",message:"Flaky test — passed after retries",details:`This test needed ${t.retries} ${t.retries===1?"retry":"retries"} to pass. Consider reviewing locator strategies, adding explicit waits, or checking for race conditions.`});const g=h.filter(n=>n.category==="assertion"&&n.duration>2e3);if(g.length>0){const n=g.sort((l,d)=>d.duration-l.duration)[0];k.push({type:"info",message:"Slow assertions detected",details:`"${n.title}" took ${(n.duration/1e3).toFixed(1)}s. The UI may be slow to render or the assertion timeout may need tuning.`})}return Tr(t.testAnnotations)&&typeof t.duration=="number"&&t.duration<1e4&&k.push({type:"info",message:"test.slow() may be unnecessary",details:`This run finished in ${(t.duration/1e3).toFixed(1)}s, yet the test is marked test.slow(), which triples its timeout budget. If it is consistently this fast, removing test.slow() lets a failure surface sooner.`}),typeof t.timeout=="number"&&t.timeout>0&&typeof t.duration=="number"&&t.duration>0&&t.timeout>=4*t.duration&&t.timeout-t.duration>=3e4&&k.push({type:"info",message:"Oversized timeout",details:`The timeout is ${(t.timeout/1e3).toFixed(0)}s but this run took ${(t.duration/1e3).toFixed(1)}s. A large timeout means a hang or failure waits far longer than necessary — consider lowering it toward the test's real duration.`}),k}function Ir(t,k){const h=t.search(/\n at /);if(h===-1)return k!==void 0&&t.length>k?t.slice(0,k)+`
|
|
4
|
+
[truncated]`:t;const w=t.slice(0,h),g=t.slice(h).split(`
|
|
5
|
+
`),n=[];let l=0;const d=()=>{l>0&&(n.push(`… (${l} internal frame${l>1?"s":""})`),l=0)};for(const M of g){const b=M.trimStart();b.startsWith("at ")?M.includes("node_modules")||b.startsWith("at node:")?l++:(d(),n.push(M)):(b===""||d(),n.push(M))}d();let D=w+`
|
|
6
|
+
`+n.join(`
|
|
7
|
+
`);return k!==void 0&&D.length>k&&(D=D.slice(0,k)+`
|
|
8
|
+
[truncated]`),D}const Rr={class:"space-y-4"},jr=["innerHTML"],Lr={class:"grid grid-cols-1 xl:grid-cols-[3fr_2fr] gap-4"},zr={class:"space-y-4 xl:order-2"},Mr={class:"space-y-4 xl:order-1 min-w-0"},Nr={class:"max-h-96 overflow-y-auto"},Dr={class:"space-y-3"},Pr={key:0},Ar={class:"flex flex-wrap items-center gap-x-3 gap-y-1.5 text-xs mb-3"},Ur={class:"font-medium text-gray-600 dark:text-gray-300"},Br={class:"tabular-nums text-gray-500 dark:text-gray-400"},Fr={class:"text-xs tabular-nums text-gray-400 dark:text-gray-500"},Vr={key:0,class:"inline-flex items-center justify-center size-5 rounded-full bg-red-100 dark:bg-red-900/30 text-red-600 dark:text-red-400 text-xs leading-none",title:"Step failed"},Er={key:1,class:"inline-flex items-center justify-center size-5 rounded-full bg-green-100 dark:bg-green-900/30 text-green-600 dark:text-green-400 text-xs leading-none",title:"Step passed"},Or={class:"flex items-center gap-2"},Hr={key:0,class:"text-xs text-red-500 mt-1 whitespace-pre-wrap break-words font-mono"},Kr={class:"min-w-[6rem]"},Wr={class:"flex items-center justify-between gap-2"},Gr={key:0,class:"text-xs tabular-nums text-gray-400 dark:text-gray-500"},Jr={class:"relative mt-1 h-1.5 w-full overflow-hidden rounded-full bg-gray-100 dark:bg-gray-800"},qr={class:"space-y-4 pt-4"},Qr={key:3,class:"flex flex-col items-center justify-center py-12 text-gray-400"},Zr={class:"space-y-4 pt-1"},Xr={key:0,class:"space-y-2"},Yr={class:"flex items-start gap-2"},ei={class:"space-y-4"},ti={key:3,class:"text-xs text-gray-400 pt-1"},si={class:"bg-gray-100 dark:bg-gray-800 px-1 rounded"},ni={class:"space-y-4 pt-4"},ai={key:0,class:"space-y-4"},oi={class:"flex items-center justify-end"},ri={class:"text-xs whitespace-nowrap"},ii={class:"text-gray-500"},li={class:"text-gray-400 ml-1"},ci={key:1,class:"text-gray-400"},ui=["title"],dl=re({__name:"[id]",async setup(t){let k,h;const w=ns(),$=as(),g=w.params.id,{data:n,refresh:l}=([k,h]=mt(()=>gt(`/api/test-run-cases/${g}`,"$rX1OuZQOSq")),k=await k,h(),k),d=A([]);ve(()=>n.value?.testCaseId,async p=>{if(p)try{d.value=await $fetch(`/api/test-cases/${p}/history`)}catch{d.value=[]}else d.value=[]},{immediate:!0});const{data:D,refresh:M}=([k,h]=mt(()=>gt(`/api/test-run-cases/${g}/traces`,"$bq3dlhiM5e")),k=await k,h(),k),b=C(()=>(D.value?.length??0)>0);os(C(()=>({title:n.value?.title?`${n.value.title} — execution — Piwi Dashboard`:`Execution #${g} — Piwi Dashboard`})));const v=C(()=>!!n.value?.error),F=C(()=>n.value?Sr(n.value):[]),L=C(()=>n.value?.steps?n.value.steps:[]),m=C(()=>n.value?.webVitals??null),S=C(()=>n.value?.networkRequests??[]),V=C(()=>{if(!d.value||d.value.length<2||!n.value?.duration)return null;const p=d.value.filter(ce=>ce.duration!==null&&ce.id!==n.value?.id);if(p.length===0)return null;const R=p.reduce((ce,fe)=>ce+(fe.duration||0),0)/p.length,E=n.value.duration,oe=E-R,me=R>0?Math.round(oe/R*100):0;return{avg:Math.round(R),current:E,diff:Math.round(oe),pct:me}}),B=C(()=>n.value?.testRun?.metadata),I=C(()=>{const p=B.value;return p?.scm?p.scm:null}),G=C(()=>{const p=B.value;return p?.ci?p.ci:null}),J=C(()=>n.value?.failureCluster??null),N=C(()=>{const p=[];return v.value&&p.push({label:"Diagnosis",icon:"i-lucide-stethoscope",value:"diagnosis",slot:"diagnosis"}),p.push({label:`Steps (${L.value.length})`,icon:"i-lucide-list-checks",value:"steps",slot:"steps"}),v.value||p.push({label:"Artifacts",icon:"i-lucide-paperclip",value:"artifacts",slot:"artifacts"}),p.push({label:"Performance",icon:"i-lucide-gauge",value:"performance",slot:"performance"}),p.push({label:`History${d.value?.length?` (${d.value.length})`:""}`,icon:"i-lucide-trending-up",value:"history",slot:"history"}),p}),ne=C(()=>N.value.map(p=>p.value));function O(){return v.value?"diagnosis":"steps"}function le(p){let R=typeof p=="string"?p:"";return R==="error"&&(R="diagnosis"),R==="traces"&&(R=v.value?"diagnosis":"artifacts"),ne.value.includes(R)?R:O()}const y=A(le(w.query.tab));ve(ne,p=>{p.includes(y.value)||(y.value=le(w.query.tab))}),ve(y,p=>{w.query.tab!==p&&$.replace({query:{...w.query,tab:p}})},{immediate:!0});const P=[{accessorKey:"startTime",header:"Date"},{accessorKey:"status",header:"Status"},{accessorKey:"duration",header:"Duration"},{accessorKey:"retries",header:"Retries"},{accessorKey:"runId",header:"Run"},{accessorKey:"error",header:"Error"}],se={navigation:"info",assertion:"success",action:"warning",input:"warning",api:"info",wait:"neutral",hook:"neutral",fixture:"neutral"},x=[{id:"index",header:"#",meta:{class:{th:"w-12",td:"w-12"}}},{id:"status",header:"",meta:{class:{th:"w-10",td:"w-10"}}},{accessorKey:"category",header:"Category",meta:{class:{th:"w-28",td:"w-28"}}},{accessorKey:"title",header:"Step"},{accessorKey:"duration",header:"Duration",meta:{class:{th:"w-44",td:"w-44"}}}],T=C(()=>{const p=new Map;for(const R of L.value){const E=p.get(R.category)??{count:0,duration:0};E.count+=1,E.duration+=R.duration||0,p.set(R.category,E)}return Array.from(p,([R,E])=>({category:R,...E})).sort((R,E)=>E.duration-R.duration)}),K=C(()=>{let p=-1,R=-1;return L.value.forEach((E,oe)=>{(E.duration||0)>R&&(R=E.duration||0,p=oe)}),p}),q=C(()=>L.value.reduce((p,R)=>Math.max(p,R.duration||0),0)),Q=C(()=>L.value.length>0&&L.value.every(p=>typeof p.startTime=="number")),te=C(()=>n.value?.startedAt??(Q.value?Math.min(...L.value.map(p=>p.startTime)):0)),H=C(()=>{const p=n.value?.duration??0;if(p>0)return p;if(Q.value){const R=Math.max(...L.value.map(E=>E.startTime+(E.duration||0)));return Math.max(1,R-te.value)}return 0});function Z(p){if(Q.value&&H.value>0){const E=Math.max(0,Math.min(100,(p.startTime-te.value)/H.value*100)),oe=Math.min(100-E,Math.max(1.5,(p.duration||0)/H.value*100));return{left:`${E}%`,width:`${oe}%`}}return{left:"0%",width:`${q.value>0?Math.max(2,(p.duration||0)/q.value*100):0}%`}}function Y(p){const R=n.value?.duration??0;if(R<=0)return"";const E=p/R*100;return E>0&&E<1?"<1%":`${Math.round(E)}%`}function ae(p){return p>2e3?"text-red-600 font-medium":p>500?"text-orange-500":"text-gray-500"}function z(p){return p>2e3?"bg-red-500":p>500?"bg-orange-400":"bg-gray-400 dark:bg-gray-500"}const W=C(()=>n.value?.testRun?.environment),he=C(()=>[{filePath:n.value?.filePath??"",title:n.value?.title??"",line:n.value?.line??null,projectName:n.value?.browser?.projectName??null}]),Je=C(()=>sn(he.value)),{copy:St,copied:qe}=nn(),It=C(()=>[{label:qe.value?"Copied":"Retry command",icon:qe.value?"i-lucide-check":"i-lucide-play",onClick:()=>St(Je.value,{toast:"Retry command copied"})},{label:"Refresh",icon:"i-lucide-refresh-cw",onClick:()=>l()}]),Rt=!!Ee().public.demoMode;let xe=null;const Qe=C(()=>{const p=n.value?.testRun?.status;return p==="running"||p==="finalizing"});function jt(){if(Rt||xe)return;const p=n.value?.testRun?.id;p&&(xe=new EventSource(`/api/test-runs/${p}/stream`),xe.onmessage=R=>{try{const E=JSON.parse(R.data);E.type==="case-files"&&E.data?.testRunsCaseId===Number(g)?(l(),M()):E.type==="run-finished"&&(l(),M(),Ae())}catch{}},xe.onerror=()=>{})}function Ae(){xe&&(xe.close(),xe=null)}ve(Qe,p=>{p?jt():Ae()},{immediate:!0}),rs(Ae);const{copyRich:Lt,copied:Ze}=hs();function zt(){const p=n.value;if(!p?.error)return;const R=window.location.origin,E=p.title??"Unknown test",oe=p.location??"",me=p.error.replace(/\x1b\[[0-9;]*[a-zA-Z]/g,""),ce=be=>be.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),fe=J.value?`${R}/failure-clusters/${J.value.id}`:null,Me=`${R}/test-run-cases/${g}?tab=diagnosis`,ke=n.value?.testCaseId?`${R}/test-cases/${n.value.testCaseId}`:null,Be=[`❌ Test failed: ${E}`,oe?`Location: ${oe}`:null,"","Error:",me,"",fe?`Failure cluster: ${fe}`:null,`Execution: ${Me}`,ke?`History: ${ke}`:null].filter(be=>be!==null).join(`
|
|
9
|
+
`),Fe=[`<p><strong>❌ Test failed: ${ce(E)}</strong>${oe?`<br><code>${ce(oe)}</code>`:""}</p>`,`<p><strong>Error:</strong></p><pre>${ft(p.error)}</pre>`,`<p>🔗 ${fe?`<a href="${fe}">View failure cluster</a> · `:""}<a href="${Me}">Execution details</a>${ke?` · <a href="${ke}">Test history</a>`:""}</p>`].join("");Lt(Be,Fe,{toast:"Failure copied"})}const Ue=A(null),Xe=A(null),je=A(null),Le=A(null),Ye=A(null),ze=A(null),et=A(null),tt=A(null),st=A(null),nt=A(null);function _e(p){p?.scrollIntoView({behavior:"smooth",block:"start"})}const at={sampleError:()=>_e(Ue.value),executionError:()=>_e(Ue.value),testSource:()=>Le.value?.reveal(),sourceFiles:()=>Le.value?.reveal(),environmentDiff:()=>et.value?.reveal(),visualDiff:()=>tt.value?.reveal(),domSnapshot:()=>st.value?.reveal(),ariaSnapshot:()=>nt.value?.reveal(),screenshots:()=>ze.value?.reveal(),tracePointers:()=>ze.value?.reveal(),artifacts:()=>ze.value?.reveal(),console:()=>_e(Xe.value),networkRequests:()=>_e(je.value),serverTraces:()=>_e(je.value),traceCallStack:()=>Le.value?.reveal(),traceNetwork:()=>{Ye.value?.showTraceMode(),_e(je.value)},steps:()=>{y.value="steps"},failingSteps:()=>{y.value="steps"}};return is(Es,{canLocate:p=>p in at,open:p=>at[p]?.()}),(p,R)=>{const E=Yt,oe=es,me=ue,ce=Pe,fe=ws,Me=Is,ke=Rs,Be=Ls,Fe=Vn,be=Ie,Mt=$t,ot=ye,Nt=qn,Dt=ia,Pt=xa,At=Ca,Ut=za,Bt=vs,Ft=_s,Vt=ks,rt=Ba,it=ar,lt=xs,Et=bt,Ot=Oe,Ht=bs,Ne=pe,ie=Re,Kt=ht,ct=Xs,ut=Ys,dt=en,Wt=ir,Gt=Cr,de=xt,Ve=vt,Jt=Ct,qt=tn,Qt=Ss,Zt=js;return s(),_(Zt,{id:"test-run-case-detail"},{header:u(()=>[r(Be,null,{leading:u(()=>[r(E),r(oe,{items:[{label:"Home",icon:"i-lucide-house",to:"/"},{label:"Projects",to:"/projects"},...e(n)?.testRun?.project?.id?[{label:e(n).testRun.project.name||"Project",to:`/projects/${e(n).testRun.project.id}`}]:[{label:"Project"}],...e(n)?.testRun?.id?[{label:`Run #${e(n).testRun.id}`+(e(n).testRun.label?` — ${e(n).testRun.label}`:""),to:`/test-runs/${e(n).testRun.id}`}]:[{label:"Test run"}],{label:e(n)?.title||`Execution #${e(g)}`}]},null,8,["items"])]),right:u(()=>[e(n)?.testCaseId?(s(),_(ce,{key:0,to:`/test-cases/${e(n).testCaseId}`,class:"text-xs text-gray-500 hover:text-primary mr-2 flex items-center gap-1",title:"View test case evolution and history"},{default:u(()=>[r(me,{name:"i-lucide-trending-up",class:"size-3.5"}),R[2]||(R[2]=o("span",{class:"hidden sm:inline"},"Evolution",-1))]),_:1},8,["to"])):i("",!0),e(n)?(s(),_(fe,{key:1,endpoint:`/api/test-run-cases/${e(n).id}/export`,"base-name":`piwi-execution-${e(n).id}`,class:"mr-2"},null,8,["endpoint","base-name"])):i("",!0),r(Me,{"project-id":e(n)?.testRun?.project?.id,"project-label":e(n)?.testRun?.project?.label??e(n)?.testRun?.project?.name,cases:e(he),class:"mr-2"},null,8,["project-id","project-label","cases"]),r(ke,{actions:e(It)},null,8,["actions"])]),_:1})]),body:u(()=>[r(Qt,{modelValue:e(y),"onUpdate:modelValue":R[1]||(R[1]=j=>ge(y)?y.value=j:null),"tab-items":e(N)},{summary:u(()=>[r(Fe,{"test-case":e(n)??null,"scm-info":e(I),"ci-info":e(G),browser:e(n)?.browser??null,environment:e(W),"steps-count":e(L).length,"historical-timing":e(V),"stable-links":e(n)?.stableLinks??null,"project-key":e(n)?.testRun?.project?.id,"project-name":e(n)?.testRun?.project?.name,onRefresh:R[0]||(R[0]=j=>e(l)())},null,8,["test-case","scm-info","ci-info","browser","environment","steps-count","historical-timing","stable-links","project-key","project-name"])]),"tab-diagnosis":u(()=>[o("div",Rr,[o("div",{ref_key:"errorEl",ref:Ue,class:"scroll-mt-4"},[e(n)?.error?(s(),_(ot,{key:0,icon:"i-lucide-circle-x","icon-class":"text-red-500",title:"Error"},{actions:u(()=>[r(Mt,{text:e(Ze)?"Copied!":"Copy failure"},{default:u(()=>[r(be,{size:"xs",variant:"ghost",color:"neutral",icon:e(Ze)?"i-lucide-check":"i-lucide-clipboard",onClick:zt},null,8,["icon"])]),_:1},8,["text"])]),default:u(()=>[o("div",{class:"text-xs font-mono whitespace-pre-wrap break-words max-h-96 overflow-y-auto rounded bg-red-50 dark:bg-red-950/20 p-3",innerHTML:e(ft)(e(Ir)(e(n).error))},null,8,jr)]),_:1})):i("",!0)],512),o("div",Lr,[o("div",zr,[r(Nt,{"test-case":e(n)??null,history:e(d),"current-id":Number(e(g))},null,8,["test-case","history","current-id"]),e(J)?(s(),_(Dt,{key:0,cluster:e(J)},null,8,["cluster"])):i("",!0),r(Pt,{"test-runs-case-id":Number(e(g))},null,8,["test-runs-case-id"])]),o("div",Mr,[e(n)?.testSourceFrames?.length||e(n)?.testSource||e(b)?(s(),_(At,{key:0,ref_key:"testSourceCard",ref:Le,"storage-key":"case-test-source",frames:e(n)?.testSourceFrames??null,"test-source":e(n)?.testSource??null,"run-id":e(n)?.testRun?.id??null,"test-runs-case-id":Number(e(g)),"has-trace":e(b),"project-key":e(n)?.testRun?.project?.id,"project-name":e(n)?.testRun?.project?.name},null,8,["frames","test-source","run-id","test-runs-case-id","has-trace","project-key","project-name"])):i("",!0),r(Ut,{ref_key:"evidenceCard",ref:ze,"storage-key":"case-evidence",attachments:e(n)?.attachments??[],traces:e(D)??[]},null,8,["attachments","traces"]),e(n)?.testRun?.id?(s(),_(Bt,{key:1,"storage-key":"case-locators","run-id":e(n).testRun.id,"test-runs-case-id":Number(e(g))},null,8,["run-id","test-runs-case-id"])):i("",!0),e(n)?.testRun?.id?(s(),_(Ft,{key:2,ref_key:"envDiffCard",ref:et,"storage-key":"case-env-diff","run-id":e(n).testRun.id,"test-runs-case-id":Number(e(g))},null,8,["run-id","test-runs-case-id"])):i("",!0),e(n)?.testRun?.id?(s(),_(Vt,{key:3,ref_key:"visualDiffCard",ref:tt,"storage-key":"case-visual-diff","run-id":e(n).testRun.id,"test-runs-case-id":Number(e(g))},null,8,["run-id","test-runs-case-id"])):i("",!0),e(n)?.consoleLogs?.length?(s(),a("div",{key:4,ref_key:"consoleEl",ref:Xe,class:"scroll-mt-4"},[r(rt,{entries:e(n)?.consoleLogs??[]},null,8,["entries"])],512)):i("",!0),e(S).length>0||e(b)?(s(),a("div",{key:5,ref_key:"networkEl",ref:je,class:"scroll-mt-4"},[r(it,{ref_key:"networkCard",ref:Ye,requests:e(S),"run-id":e(n)?.testRun?.id??null,"test-runs-case-id":Number(e(g)),"has-trace":e(b)},null,8,["requests","run-id","test-runs-case-id","has-trace"])],512)):i("",!0),e(n)?.pageState?(s(),_(lt,{key:6,"storage-key":"case-page-state","page-state":e(n).pageState},null,8,["page-state"])):i("",!0),e(n)?.ariaSnapshot?(s(),_(Ot,{key:7,ref_key:"ariaCard",ref:nt,"storage-key":"case-aria",icon:"i-lucide-scan-text",title:"ARIA snapshot",help:"case.aria"},{folded:u(()=>[...R[3]||(R[3]=[f("Accessibility tree captured at the moment of failure",-1)])]),default:u(()=>[o("div",Nr,[r(Et,{text:"```yaml\n"+e(n).ariaSnapshot+"\n```"},null,8,["text"])])]),_:1},512)):i("",!0),e(n)?.testRun?.id?(s(),_(Ht,{key:8,ref_key:"domSnapshotCard",ref:st,"storage-key":"case-dom-snapshot","run-id":e(n).testRun.id,"test-runs-case-id":Number(e(g))},null,8,["run-id","test-runs-case-id"])):i("",!0)])])])]),"tab-steps":u(()=>[o("div",Dr,[e(L).length>0?(s(),a("div",Pr,[o("div",Ar,[o("span",Ur,c(e(L).length)+" steps",1),R[4]||(R[4]=o("span",{class:"text-gray-300 dark:text-gray-600"},"·",-1)),(s(!0),a(U,null,ee(e(T),j=>(s(),a("span",{key:j.category,class:"inline-flex items-center gap-1"},[r(Ne,{color:se[j.category]||"neutral",variant:"soft",size:"xs"},{default:u(()=>[f(c(j.category),1)]),_:2},1032,["color"]),o("span",Br,[f("×"+c(j.count)+" · ",1),r(ie,{ms:j.duration},null,8,["ms"])])]))),128))]),r(ut,{"min-width":"40rem",bleed:!1},{default:u(()=>[r(ct,{data:e(L),columns:x,ui:{base:"table-fixed w-full border-separate border-spacing-0 min-w-[40rem]",thead:"[&>tr]:bg-elevated/50 [&>tr]:after:content-none",tbody:"[&>tr]:last:[&>td]:border-b-0",th:"first:rounded-l-lg last:rounded-r-lg border-y border-default first:border-l last:border-r",td:"border-b border-default align-top"}},{"index-cell":u(({row:j})=>[o("span",Fr,c(j.index+1),1)]),"status-cell":u(({row:j})=>[j.original.failed?(s(),a("span",Vr,"✗")):(s(),a("span",Er,"✓"))]),"category-cell":u(({row:j})=>[r(Ne,{color:se[j.original.category]||"neutral",variant:"soft",size:"xs"},{default:u(()=>[f(c(j.original.category),1)]),_:2},1032,["color"])]),"title-cell":u(({row:j})=>[o("div",Or,[o("span",{class:X(j.original.failed?"text-red-600 dark:text-red-400 font-medium":"")},c(j.original.title),3),j.index===e(K)?(s(),_(Ne,{key:0,color:"warning",variant:"subtle",size:"xs",class:"shrink-0",title:"Slowest step in this test"},{default:u(()=>[...R[5]||(R[5]=[f(" slowest ",-1)])]),_:1})):i("",!0)]),j.original.failed&&j.original.error?.message?(s(),a("p",Hr,c(j.original.error.message),1)):i("",!0),j.original.location?(s(),_(Kt,{key:1,location:j.original.location,"project-key":e(n)?.testRun?.project?.id,"project-name":e(n)?.testRun?.project?.name,class:"text-xs text-gray-400 dark:text-gray-500 mt-0.5"},null,8,["location","project-key","project-name"])):i("",!0)]),"duration-cell":u(({row:j})=>[o("div",Kr,[o("div",Wr,[r(ie,{ms:j.original.duration,class:X(`text-sm ${ae(j.original.duration)}`),"unit-class":"opacity-60"},null,8,["ms","class"]),Y(j.original.duration)?(s(),a("span",Gr,c(Y(j.original.duration)),1)):i("",!0)]),o("div",Jr,[o("div",{class:X(["absolute inset-y-0 rounded-full",z(j.original.duration)]),style:Ce(Z(j.original))},null,6)])])]),_:1},8,["data"])]),_:1})])):(s(),_(dt,{key:1,icon:"i-lucide-list-checks",text:"No steps recorded for this execution"}))])]),"tab-artifacts":u(()=>[o("div",qr,[r(Wt,{traces:e(D)||[]},null,8,["traces"]),r(Gt,{attachments:e(n)?.attachments??[]},null,8,["attachments"]),e(n)?.pageState?(s(),_(lt,{key:0,"storage-key":"case-page-state","page-state":e(n).pageState},null,8,["page-state"])):i("",!0),e(n)?.consoleLogs?.length?(s(),_(rt,{key:1,entries:e(n)?.consoleLogs??[]},null,8,["entries"])):i("",!0),e(S).length>0||e(b)?(s(),_(it,{key:2,requests:e(S),"run-id":e(n)?.testRun?.id??null,"test-runs-case-id":Number(e(g)),"has-trace":e(b)},null,8,["requests","run-id","test-runs-case-id","has-trace"])):i("",!0),!e(D)?.length&&!e(n)?.attachments?.length&&!e(n)?.consoleLogs?.length&&!e(S).length?(s(),a("div",Qr,[e(Qe)?(s(),a(U,{key:0},[r(me,{name:"i-lucide-loader-circle",class:"size-8 mb-2 animate-spin"}),R[6]||(R[6]=o("p",{class:"text-sm"}," Run in progress — traces and attachments appear here as soon as they are uploaded. ",-1))],64)):(s(),a(U,{key:1},[r(me,{name:"i-lucide-inbox",class:"size-8 mb-2"}),R[7]||(R[7]=o("p",{class:"text-sm"},"No traces, console logs, or network requests captured for this test case.",-1))],64))])):i("",!0)])]),"tab-performance":u(()=>[o("div",Zr,[e(F).length>0?(s(),a("div",Xr,[(s(!0),a(U,null,ee(e(F),(j,Xt)=>(s(),a("div",{key:Xt,class:X(["p-3 rounded-lg border",j.type==="warning"?"bg-amber-50 dark:bg-amber-900/20 border-amber-200 dark:border-amber-800":"bg-blue-50 dark:bg-blue-900/20 border-blue-200 dark:border-blue-800"])},[o("div",Yr,[r(me,{name:j.type==="warning"?"i-lucide-alert-triangle":"i-lucide-lightbulb",class:X([j.type==="warning"?"text-amber-600":"text-blue-600","size-4 mt-0.5 shrink-0"])},null,8,["name","class"]),o("div",null,[o("p",{class:X(j.type==="warning"?"text-amber-800 dark:text-amber-200 font-medium":"text-blue-800 dark:text-blue-200 font-medium")},c(j.message),3),o("p",{class:X([j.type==="warning"?"text-amber-700 dark:text-amber-300":"text-blue-700 dark:text-blue-300","mt-1"])},c(j.details),3)])])],2))),128))])):i("",!0),e(m)?(s(),_(ot,{key:1,icon:"i-lucide-gauge",title:"Browser performance (Web Vitals)",help:"case.web-vitals"},{default:u(()=>[o("div",ei,[e(m).navigation?(s(),_(Ve,{key:0,"min-tile-width":"10rem"},{default:u(()=>[r(de,{label:"TTFB",hint:"Time to first byte","value-class":e(m).navigation.ttfb>600?"text-red-600":e(m).navigation.ttfb>200?"text-orange-500":"text-green-600"},{default:u(()=>[r(ie,{ms:e(m).navigation.ttfb},null,8,["ms"])]),_:1},8,["value-class"]),r(de,{label:"DOM Interactive",hint:"DOM interactive","value-class":e(m).navigation.domInteractive>3e3?"text-red-600":e(m).navigation.domInteractive>1500?"text-orange-500":"text-green-600"},{default:u(()=>[r(ie,{ms:e(m).navigation.domInteractive},null,8,["ms"])]),_:1},8,["value-class"]),r(de,{label:"DOMContentLoaded",hint:"DOMContentLoaded","value-class":e(m).navigation.domContentLoaded>3e3?"text-red-600":e(m).navigation.domContentLoaded>1500?"text-orange-500":"text-green-600"},{default:u(()=>[r(ie,{ms:e(m).navigation.domContentLoaded},null,8,["ms"])]),_:1},8,["value-class"]),r(de,{label:"Load Complete",hint:"Page fully loaded","value-class":e(m).navigation.loadComplete>5e3?"text-red-600":e(m).navigation.loadComplete>3e3?"text-orange-500":"text-green-600"},{default:u(()=>[r(ie,{ms:e(m).navigation.loadComplete},null,8,["ms"])]),_:1},8,["value-class"])]),_:1})):i("",!0),e(m).paint&&(e(m).paint.firstPaint||e(m).paint.firstContentfulPaint)?(s(),_(Ve,{key:1,"min-tile-width":"10rem",class:"pt-2 border-t"},{default:u(()=>[e(m).paint.firstPaint!==void 0?(s(),_(de,{key:0,label:"First Paint (FP)"},{default:u(()=>[r(ie,{ms:e(m).paint.firstPaint},null,8,["ms"])]),_:1})):i("",!0),e(m).paint.firstContentfulPaint!==void 0?(s(),_(de,{key:1,label:"First Contentful Paint (FCP)","value-class":e(m).paint.firstContentfulPaint>3e3?"text-red-600":e(m).paint.firstContentfulPaint>1800?"text-orange-500":"text-green-600"},{default:u(()=>[r(ie,{ms:e(m).paint.firstContentfulPaint},null,8,["ms"])]),_:1},8,["value-class"])):i("",!0)]),_:1})):i("",!0),e(m).vitals?(s(),_(Ve,{key:2,"min-tile-width":"10rem",class:"pt-2 border-t"},{default:u(()=>[r(de,{label:"Largest Contentful Paint (LCP)","value-class":e(m).vitals.lcp==null?"text-gray-400":e(m).vitals.lcp>4e3?"text-red-600":e(m).vitals.lcp>2500?"text-orange-500":"text-green-600"},{default:u(()=>[r(ie,{ms:e(m).vitals.lcp,fallback:"n/a"},null,8,["ms"])]),_:1},8,["value-class"]),r(de,{label:"Cumulative Layout Shift (CLS)",value:e(m).vitals.cls!=null?String(e(m).vitals.cls):"n/a","value-class":e(m).vitals.cls==null?"text-gray-400":e(m).vitals.cls>.25?"text-red-600":e(m).vitals.cls>.1?"text-orange-500":"text-green-600"},null,8,["value","value-class"]),r(de,{label:"Interaction to Next Paint (INP)","value-class":e(m).vitals.inp==null?"text-gray-400":e(m).vitals.inp>500?"text-red-600":e(m).vitals.inp>200?"text-orange-500":"text-green-600"},{default:u(()=>[r(ie,{ms:e(m).vitals.inp,fallback:"n/a"},null,8,["ms"])]),_:1},8,["value-class"])]),_:1})):i("",!0),e(m).navigation?.url?(s(),a("div",ti,[R[8]||(R[8]=f(" Page: ",-1)),o("code",si,c(e(m).navigation.url),1)])):i("",!0)])]),_:1})):i("",!0),e(F).length===0&&!e(m)?(s(),_(Jt,{key:2,icon:"i-lucide-gauge",title:"No performance hints or Web Vitals for this execution",text:"Web Vitals and step timing come from the Piwi capture fixtures — extend your Playwright test with piwiFixtures to collect them.",doc:"capture-fixtures"})):i("",!0)])]),"tab-history":u(()=>[o("div",ni,[e(d)&&e(d).length>0?(s(),a("div",ai,[o("div",oi,[e(n)?.testCaseId?(s(),_(be,{key:0,to:`/test-cases/${e(n).testCaseId}`,size:"xs",variant:"outline",color:"neutral","trailing-icon":"i-lucide-arrow-right"},{default:u(()=>[...R[9]||(R[9]=[f(" View full test history ",-1)])]),_:1},8,["to"])):i("",!0)]),r(qt,{data:e(d),height:200},null,8,["data"]),r(ut,{"min-width":"44rem",bleed:!1},{default:u(()=>[r(ct,{data:e(d),columns:P,ui:{base:"table-fixed border-separate border-spacing-0 min-w-[44rem]",thead:"[&>tr]:bg-elevated/50 [&>tr]:after:content-none",tbody:"[&>tr]:last:[&>td]:border-b-0",th:"first:rounded-l-lg last:rounded-r-lg border-y border-default first:border-l last:border-r",td:"border-b border-default"}},{"startTime-cell":u(({row:j})=>[o("span",ri,[o("span",ii,c(new Date(j.original.startTime).toLocaleDateString("en-US",{month:"short",day:"numeric"})),1),o("span",li,c(new Date(j.original.startTime).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})),1)])]),"status-cell":u(({row:j})=>[r(Ne,{color:("getStatusColor"in p?p.getStatusColor:e(Gs))(j.original.status),variant:"subtle",class:"capitalize"},{default:u(()=>[f(c(j.original.status),1)]),_:2},1032,["color"])]),"duration-cell":u(({row:j})=>[j.original.duration!==null?(s(),_(ie,{key:0,ms:j.original.duration},null,8,["ms"])):(s(),a("span",ci,"—"))]),"runId-cell":u(({row:j})=>[r(ce,{to:`/test-runs/${j.original.runId}`,class:"text-primary hover:underline"},{default:u(()=>[f(" #"+c(j.original.runId),1)]),_:2},1032,["to"])]),"error-cell":u(({row:j})=>[j.original.error?(s(),a("span",{key:0,class:"text-red-600 text-xs truncate max-w-xs block",title:j.original.error},c(j.original.error.length>80?`${j.original.error.substring(0,80)}…`:j.original.error),9,ui)):i("",!0)]),_:1},8,["data"])]),_:1})])):(s(),_(dt,{key:1,icon:"i-lucide-trending-up",text:"No prior executions of this test yet."},{default:u(()=>[...R[10]||(R[10]=[o("p",{class:"text-xs text-gray-400"}," This is the first recorded run. Once it runs again, its status and duration trend appear here. ",-1)])]),_:1}))])]),_:1},8,["modelValue","tab-items"])]),_:1})}}});export{dl as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as f}from"./CRPt9SfB.js";import{d as y,o as s,f as b,g as d,c as o,F as r,y as u,k as p,R as h,q as m,i as n,t as l,h as x}from"./h49q_GXF.js";const w={key:0,class:"flex gap-0.5 h-2.5 w-full min-w-30 overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-700"},g={key:1,class:"text-xs text-zinc-400 dark:text-zinc-500 italic"},v={class:"min-w-52 space-y-1.5 rounded-md bg-zinc-900 px-3 py-2 text-sm shadow-lg"},z={class:"font-semibold text-white"},B={class:"text-white"},C={class:"ml-4 tabular-nums font-medium text-white"},F={class:"ml-auto tabular-nums text-zinc-300 text-xs"},N=y({__name:"TestStatusBar",props:{passed:{},failed:{},skipped:{},flaky:{},total:{},didNotRun:{}},setup(i){const t=i,c=x(()=>t.total?[{key:"passed",label:"Passed",count:t.passed-t.flaky,color:"bg-emerald-500"},{key:"failed",label:"Failed",count:t.failed,color:"bg-rose-500"},{key:"flaky",label:"Flaky",count:t.flaky,color:"bg-purple-500"},{key:"skipped",label:"Skipped",count:t.skipped,color:"bg-zinc-400"},{key:"didNotRun",label:"Didn't run",count:t.didNotRun??0,color:"bg-amber-300 dark:bg-amber-700"}].filter(a=>a.count>0).map(a=>({...a,widthPct:a.count/t.total*100,displayPct:(a.count/t.total*100).toFixed(1)})):[]);return(k,a)=>{const _=f;return s(),b(_,{ui:{content:"overflow-visible !p-0"}},{content:d(()=>[n("div",v,[n("div",z,l(i.total)+" tests total",1),(s(!0),o(r,null,u(p(c),e=>(s(),o("div",{key:e.key,class:"flex items-center gap-2 whitespace-nowrap"},[n("span",{class:m([e.color,"inline-block h-2.5 w-2.5 shrink-0 rounded-sm"])},null,2),n("span",B,l(e.label),1),n("span",C,l(e.count),1),n("span",F,l(e.displayPct)+"%",1)]))),128))])]),default:d(()=>[i.total>0?(s(),o("div",w,[(s(!0),o(r,null,u(p(c),e=>(s(),o("div",{key:e.key,class:m([e.color,"h-full transition-all"]),style:h({width:e.widthPct+"%"})},null,6))),128))])):(s(),o("div",g,"No tests"))]),_:1})}}}),R=Object.assign(N,{__name:"TestStatusBar"});export{R as _};
|