@piwitests/server 0.18.2 → 0.20.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/{Dwws9U0D.js → -f7BAm1H.js} +1 -1
- package/.output/public/_nuxt/{BjCHB89N.js → 4gYNA-d4.js} +1 -1
- package/.output/public/_nuxt/5A6ITZXj.js +1 -0
- package/.output/public/_nuxt/8PUUncmO.js +44 -0
- package/.output/public/_nuxt/A1pj0VnG.js +1 -0
- package/.output/public/_nuxt/{DZ3Vfcpz.js → AbmKWFQQ.js} +1 -1
- package/.output/public/_nuxt/B3obW6cw.js +3 -0
- package/.output/public/_nuxt/{QmMoMxLM.js → B7FTvFWq.js} +3 -3
- package/.output/public/_nuxt/{DXbPFI1d.js → B8zkOmwo.js} +1 -1
- package/.output/public/_nuxt/B96M2gdj.js +1 -0
- package/.output/public/_nuxt/{BFP6M-20.js → B99fbi73.js} +1 -1
- package/.output/public/_nuxt/{DD5HpaW9.js → B9OLmp0f.js} +1 -1
- package/.output/public/_nuxt/BKkF4pPD.js +1 -0
- package/.output/public/_nuxt/BT3wGCTI.js +1 -0
- package/.output/public/_nuxt/BUa0V0Ly.js +1 -0
- package/.output/public/_nuxt/BUkim3TM.js +1 -0
- package/.output/public/_nuxt/BVc14Ncz.js +4 -0
- package/.output/public/_nuxt/BY0HxR3t.js +17 -0
- package/.output/public/_nuxt/B_xAMWQS.js +2 -0
- package/.output/public/_nuxt/BdQoBaOv.js +1 -0
- package/.output/public/_nuxt/{Cng9gj7q.js → BdfhYr-u.js} +1 -1
- package/.output/public/_nuxt/BgRu_3tT.js +1 -0
- package/.output/public/_nuxt/{BBK2-Krn.js → BiO7RBWb.js} +2 -2
- package/.output/public/_nuxt/BicAJ6U8.js +1 -0
- package/.output/public/_nuxt/BjaRappk.js +1 -0
- package/.output/public/_nuxt/Bm62iDV5.js +1 -0
- package/.output/public/_nuxt/{C9YzQCiq.js → BmUfSNMV.js} +1 -1
- package/.output/public/_nuxt/Bnxf8nbZ.js +1 -0
- package/.output/public/_nuxt/{CsUoYK75.js → Bow4tTR0.js} +1 -1
- package/.output/public/_nuxt/{B2oUeBbA.js → BrQEE053.js} +1 -1
- package/.output/public/_nuxt/BzRRzmwm.js +1 -0
- package/.output/public/_nuxt/{CN1mJlvD.js → C0_yH0N7.js} +1 -1
- package/.output/public/_nuxt/C1gTN4Q8.js +1 -0
- package/.output/public/_nuxt/{CNMoZYMv.js → C2hkrSey.js} +1 -1
- package/.output/public/_nuxt/{rTvJTef_.js → C8e1EbJI.js} +1 -1
- package/.output/public/_nuxt/CA9B2HE5.js +1 -0
- package/.output/public/_nuxt/{oFM1KLWA.js → CAAwCT7H.js} +1 -1
- package/.output/public/_nuxt/{qpI-_f9Q.js → CAvY22RE.js} +1 -1
- package/.output/public/_nuxt/{BLIRKrbM.js → CEfS4-oS.js} +4 -4
- package/.output/public/_nuxt/CIoSMkpp.js +1 -0
- package/.output/public/_nuxt/{hH1UFE3Z.js → CIrFl3MW.js} +1 -1
- package/.output/public/_nuxt/CJFtzlQ4.js +1 -0
- package/.output/public/_nuxt/{hgHc4teu.js → CNyV9YpI.js} +1 -1
- package/.output/public/_nuxt/CSJ-eOQM.js +1 -0
- package/.output/public/_nuxt/CTU1mrhq.js +1 -0
- package/.output/public/_nuxt/CXEH9OPk.js +1 -0
- package/.output/public/_nuxt/CahpB9Z2.js +5 -0
- package/.output/public/_nuxt/{C8OCrfDP.js → Cbh--1MW.js} +1 -1
- package/.output/public/_nuxt/CeG9pBAD.js +1 -0
- package/.output/public/_nuxt/{DBtBvrYc.js → CeW8v31b.js} +1 -1
- package/.output/public/_nuxt/{DZUgX70W.js → CjPfj7ya.js} +1 -1
- package/.output/public/_nuxt/Cnsmicv2.js +79 -0
- package/.output/public/_nuxt/CsLojMwR.js +1 -0
- package/.output/public/_nuxt/{BXY_PWcx.js → Cus22Ud3.js} +2 -2
- package/.output/public/_nuxt/{4TxgDGVa.js → CwGWJbiy.js} +1 -1
- package/.output/public/_nuxt/Cx6gc2VW.js +1 -0
- package/.output/public/_nuxt/{B1X__ilH.js → CxyAzHr3.js} +1 -1
- package/.output/public/_nuxt/{BJtlcTrb.js → CzAPFPpL.js} +1 -1
- package/.output/public/_nuxt/D--H4jLI.js +1 -0
- package/.output/public/_nuxt/D-c8ZSws.js +1 -0
- package/.output/public/_nuxt/D1POo6S4.js +10 -0
- package/.output/public/_nuxt/D5tke0B5.js +1 -0
- package/.output/public/_nuxt/D8nkF-OO.js +3 -0
- package/.output/public/_nuxt/DA25RkyK.js +1 -0
- package/.output/public/_nuxt/{DZ1zNBVM.js → DIB-5fUJ.js} +1 -1
- package/.output/public/_nuxt/DJmoLeVt.js +1 -0
- package/.output/public/_nuxt/DJxlKFGb.js +1 -0
- package/.output/public/_nuxt/DMec-OLo.js +1 -0
- package/.output/public/_nuxt/DPCxhHri.js +1 -0
- package/.output/public/_nuxt/{By4YL7mx.js → DSqHUrvO.js} +1 -1
- package/.output/public/_nuxt/DabzhQB1.js +1 -0
- package/.output/public/_nuxt/{D5oNv2cB.js → DdwHkKfV.js} +1 -1
- package/.output/public/_nuxt/{CfOLBbW9.js → DeY2JkR2.js} +1 -1
- package/.output/public/_nuxt/{CPLJeOCb.js → DfgOx_ou.js} +1 -1
- package/.output/public/_nuxt/DmkUdSS4.js +1 -0
- package/.output/public/_nuxt/{CUvGJXY3.js → DoIREDVb.js} +1 -1
- package/.output/public/_nuxt/DpZ1r1HA.js +1 -0
- package/.output/public/_nuxt/{BOCwBVnz.js → Dpd16JVI.js} +1 -1
- package/.output/public/_nuxt/DqcKngf3.js +1 -0
- package/.output/public/_nuxt/{xqiPI_FQ.js → DrfE8IY0.js} +1 -1
- package/.output/public/_nuxt/{BeFDVhpA.js → DsesNydr.js} +1 -1
- package/.output/public/_nuxt/{D0cnIs93.js → DtHJgCS8.js} +1 -1
- package/.output/public/_nuxt/Dtd4rC58.js +9 -0
- package/.output/public/_nuxt/Du2W7Jne.js +254 -0
- package/.output/public/_nuxt/DuwtTfO8.js +2 -0
- package/.output/public/_nuxt/Dy-TJ0Mt.js +1 -0
- package/.output/public/_nuxt/{BlnwU1OO.js → Dy86h-7P.js} +1 -1
- package/.output/public/_nuxt/{B-IcwqZ2.js → Dyeqn3aG.js} +1 -1
- package/.output/public/_nuxt/{BlA8mIS-.js → FaFoMVKo.js} +1 -1
- package/.output/public/_nuxt/GPNI1ffD.js +4 -0
- package/.output/public/_nuxt/{DWowvnwc.js → H94BMf3L.js} +1 -1
- package/.output/public/_nuxt/HPNQD6v3.js +1 -0
- package/.output/public/_nuxt/HXadJrHu.js +2 -0
- package/.output/public/_nuxt/KyA_4Ks-.js +1 -0
- package/.output/public/_nuxt/{e7zD3uJ0.js → L3kAWB2a.js} +1 -1
- package/.output/public/_nuxt/McL25vkx.js +34 -0
- package/.output/public/_nuxt/Nn93e_Mz.js +1 -0
- package/.output/public/_nuxt/TagBadge.By1E6r4y.css +1 -0
- package/.output/public/_nuxt/UdR3DBPS.js +1 -0
- package/.output/public/_nuxt/Und3xXFc.js +5 -0
- package/.output/public/_nuxt/_mj6CfPa.js +1 -0
- package/.output/public/_nuxt/b-GYfcrQ.js +1 -0
- package/.output/public/_nuxt/bLcjFslv.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/e659b3e1-0e61-4971-940e-10063f9f4763.json +1 -0
- package/.output/public/_nuxt/entry.DmptwB51.css +1 -0
- package/.output/public/_nuxt/{wHnZ9OaL.js → hC_z4G8p.js} +1 -1
- package/.output/public/_nuxt/{DZOS7Fh7.js → hNh4CIL0.js} +1 -1
- package/.output/public/_nuxt/{kjYMoWWx.js → l5WKbU4h.js} +3 -3
- package/.output/public/_nuxt/oAClCn_h.js +1 -0
- package/.output/public/_nuxt/{gnCL8GjZ.js → pQqGiNch.js} +1 -1
- package/.output/public/_nuxt/ryMzSDUj.js +2 -0
- package/.output/public/demo/seed.version.json +2 -2
- package/.output/server/chunks/_/ai-prompt-preview.mjs +38 -0
- package/.output/server/chunks/_/ai-prompt-preview.mjs.map +1 -0
- package/.output/server/chunks/_/collect.mjs +122 -0
- package/.output/server/chunks/_/collect.mjs.map +1 -0
- package/.output/server/chunks/_/markers.mjs +1 -1
- package/.output/server/chunks/_/quarantine.mjs +112 -0
- package/.output/server/chunks/_/quarantine.mjs.map +1 -0
- package/.output/server/chunks/_/users.mjs +1 -1
- package/.output/server/chunks/build/{Alert-Bp1Wz_sq.mjs → Alert-C4xq8lao.mjs} +2 -2
- package/.output/server/chunks/build/Alert-C4xq8lao.mjs.map +1 -0
- package/.output/server/chunks/build/{Breadcrumb-C9ZPTLym.mjs → Breadcrumb-Ak2Lg3oM.mjs} +3 -3
- package/.output/server/chunks/build/Breadcrumb-Ak2Lg3oM.mjs.map +1 -0
- package/.output/server/chunks/build/{BreadcrumbNav-C3y42Vun.mjs → BreadcrumbNav-DO7I_z-n.mjs} +3 -3
- package/.output/server/chunks/build/BreadcrumbNav-DO7I_z-n.mjs.map +1 -0
- package/.output/server/chunks/build/{BrowserBadge-DNCp9pF-.mjs → BrowserBadge-MFvBwxmD.mjs} +67 -7
- package/.output/server/chunks/build/BrowserBadge-MFvBwxmD.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartCard-Fr557IbV.mjs → ChartCard-Y1UKwMsf.mjs} +2 -2
- package/.output/server/chunks/build/ChartCard-Y1UKwMsf.mjs.map +1 -0
- package/.output/server/chunks/build/{Checkbox-cVOSIY93.mjs → Checkbox-4Q5d0fa0.mjs} +8 -8
- package/.output/server/chunks/build/Checkbox-4Q5d0fa0.mjs.map +1 -0
- package/.output/server/chunks/build/CiEnvCard-DB5DvBh1.mjs +1492 -0
- package/.output/server/chunks/build/CiEnvCard-DB5DvBh1.mjs.map +1 -0
- package/.output/server/chunks/build/{CodeBlock-BGwNmJ8J.mjs → CodeBlock-BgE-NSmE.mjs} +7 -22
- package/.output/server/chunks/build/CodeBlock-BgE-NSmE.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardNavbar-Bdp-OwTN.mjs → DashboardNavbar-BHmMSPX7.mjs} +3 -3
- package/.output/server/chunks/build/DashboardNavbar-BHmMSPX7.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardSidebarToggle-Ji6ADuqF.mjs → DashboardSidebarToggle-DCTnHiIv.mjs} +3 -3
- package/.output/server/chunks/build/DashboardSidebarToggle-DCTnHiIv.mjs.map +1 -0
- package/.output/server/chunks/build/{DataLocationCard-D6xSOrme.mjs → DataLocationCard-B_YHdzSz.mjs} +3 -3
- package/.output/server/chunks/build/DataLocationCard-B_YHdzSz.mjs.map +1 -0
- package/.output/server/chunks/build/{DiagnosisPanel-DV1xwGu4.mjs → DiagnosisPanel-CALyEmcJ.mjs} +17 -528
- package/.output/server/chunks/build/DiagnosisPanel-CALyEmcJ.mjs.map +1 -0
- package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs +43 -0
- package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs.map +1 -0
- package/.output/server/chunks/build/{EmptyState-DV3oT_xz.mjs → EmptyState-DC2q_7TD.mjs} +3 -3
- package/.output/server/chunks/build/EmptyState-DC2q_7TD.mjs.map +1 -0
- package/.output/server/chunks/build/{EntityLinks-DeOP13Kr.mjs → EntityLinks-BBHWssHH.mjs} +6 -6
- package/.output/server/chunks/build/EntityLinks-BBHWssHH.mjs.map +1 -0
- package/.output/server/chunks/build/{EnvManagedBadge-Qpn58Nmr.mjs → EnvManagedBadge-UwD2b9v2.mjs} +3 -3
- package/.output/server/chunks/build/EnvManagedBadge-UwD2b9v2.mjs.map +1 -0
- package/.output/server/chunks/build/{FormField-B-GSn_VR.mjs → FormField-B0HKsdMd.mjs} +3 -3
- package/.output/server/chunks/build/FormField-B0HKsdMd.mjs.map +1 -0
- package/.output/server/chunks/build/{HelpHint-YEMWtKu1.mjs → HelpHint-DrcIv-Oj.mjs} +53 -6
- package/.output/server/chunks/build/HelpHint-DrcIv-Oj.mjs.map +1 -0
- package/.output/server/chunks/build/{Label-DBvbHd3A.mjs → Label-DYDR1Oeh.mjs} +2 -2
- package/.output/server/chunks/build/Label-DYDR1Oeh.mjs.map +1 -0
- package/.output/server/chunks/build/{MiniRunBars-C3HG-EYm.mjs → MiniRunBars-CZMugDrh.mjs} +2 -2
- package/.output/server/chunks/build/MiniRunBars-CZMugDrh.mjs.map +1 -0
- package/.output/server/chunks/build/{Modal-CfA78Hm1.mjs → Modal-pSDlXzT3.mjs} +2 -2
- package/.output/server/chunks/build/Modal-pSDlXzT3.mjs.map +1 -0
- package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs → OpenInIdeLink-CQWKKChd.mjs} +6 -6
- package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs.map → OpenInIdeLink-CQWKKChd.mjs.map} +1 -1
- package/.output/server/chunks/build/{ProjectTestCasesTable-9Ia825h8.mjs → ProjectTestCasesTable-Bo61P5K1.mjs} +120 -45
- package/.output/server/chunks/build/ProjectTestCasesTable-Bo61P5K1.mjs.map +1 -0
- package/.output/server/chunks/build/{RovingFocusItem-CxhHdNGo.mjs → RovingFocusItem--OEHI2P3.mjs} +2 -2
- package/.output/server/chunks/build/RovingFocusItem--OEHI2P3.mjs.map +1 -0
- package/.output/server/chunks/build/{RunReports-BpJqLHY9.mjs → RunReports-DFLv51TX.mjs} +8 -6
- package/.output/server/chunks/build/RunReports-DFLv51TX.mjs.map +1 -0
- package/.output/server/chunks/build/{RunStatusBadge-BhmJ_RKM.mjs → RunStatusBadge-FfGb6bkW.mjs} +3 -2
- package/.output/server/chunks/build/RunStatusBadge-FfGb6bkW.mjs.map +1 -0
- package/.output/server/chunks/build/{SectionCard-COd9TuDq.mjs → SectionCard-CN-v0FZ_.mjs} +2 -2
- package/.output/server/chunks/build/SectionCard-CN-v0FZ_.mjs.map +1 -0
- package/.output/server/chunks/build/{Select-ppPz926C.mjs → Select-5DK9frQ7.mjs} +4 -4
- package/.output/server/chunks/build/Select-5DK9frQ7.mjs.map +1 -0
- package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs → SelectMenu-D-2FSqBU.mjs} +939 -7
- package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs.map → SelectMenu-D-2FSqBU.mjs.map} +1 -1
- package/.output/server/chunks/build/{Separator-CxZdx8kw.mjs → Separator-CR4WcEKD.mjs} +2 -2
- package/.output/server/chunks/build/Separator-CR4WcEKD.mjs.map +1 -0
- package/.output/server/chunks/build/{SettingsField-DDD4oqys.mjs → SettingsField-BZfx4ma1.mjs} +6 -6
- package/.output/server/chunks/build/SettingsField-BZfx4ma1.mjs.map +1 -0
- package/.output/server/chunks/build/{Slideover-B95Rj237.mjs → Slideover-D270EZZD.mjs} +3 -3
- package/.output/server/chunks/build/Slideover-D270EZZD.mjs.map +1 -0
- package/.output/server/chunks/build/{Switch-xQQ3_ME1.mjs → Switch-B5Fp8ULt.mjs} +5 -5
- package/.output/server/chunks/build/Switch-B5Fp8ULt.mjs.map +1 -0
- package/.output/server/chunks/build/{Table-CPhhVzDv.mjs → Table-BRk04Hd2.mjs} +3 -3
- package/.output/server/chunks/build/Table-BRk04Hd2.mjs.map +1 -0
- package/.output/server/chunks/build/{Tabs-BV9XqjoO.mjs → Tabs-BkSOnbaB.mjs} +3 -3
- package/.output/server/chunks/build/Tabs-BkSOnbaB.mjs.map +1 -0
- package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs +31 -0
- package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs.map +1 -0
- package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs +8 -0
- package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs.map +1 -0
- package/.output/server/chunks/build/{TestCaseHistoryChart-DMb-xSJa.mjs → TestCaseHistoryChart-CSi64vVA.mjs} +6 -6
- package/.output/server/chunks/build/TestCaseHistoryChart-CSi64vVA.mjs.map +1 -0
- package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs +200 -0
- package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs.map +1 -0
- package/.output/server/chunks/build/{TestStatusBar-CEzt76wk.mjs → TestStatusBar-DX3EhlyP.mjs} +15 -15
- package/.output/server/chunks/build/TestStatusBar-DX3EhlyP.mjs.map +1 -0
- package/.output/server/chunks/build/{Textarea-DrrqQUVG.mjs → Textarea-Dv2-lOvW.mjs} +2 -2
- package/.output/server/chunks/build/Textarea-Dv2-lOvW.mjs.map +1 -0
- package/.output/server/chunks/build/{Tooltip-7vwuDPrZ.mjs → Tooltip-Dv4htNP6.mjs} +3 -3
- package/.output/server/chunks/build/Tooltip-Dv4htNP6.mjs.map +1 -0
- package/.output/server/chunks/build/{VisuallyHiddenInput-C9eJVpPW.mjs → VisuallyHiddenInput-BHvzNumK.mjs} +2 -2
- package/.output/server/chunks/build/VisuallyHiddenInput-BHvzNumK.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-CE0Gso6i.mjs → _id_-BdG37K7s.mjs} +91 -42
- package/.output/server/chunks/build/_id_-BdG37K7s.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-bWcP2xFl.mjs → _id_-BdJs7BJZ.mjs} +719 -448
- package/.output/server/chunks/build/_id_-BdJs7BJZ.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-B2yirIuA.mjs → _id_-BxA6IgWr.mjs} +831 -368
- package/.output/server/chunks/build/_id_-BxA6IgWr.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-B4V5fop6.mjs → _id_-C_uSBiyU.mjs} +296 -60
- package/.output/server/chunks/build/{_id_-B4V5fop6.mjs.map → _id_-C_uSBiyU.mjs.map} +1 -1
- package/.output/server/chunks/build/{about-CoJjvUwM.mjs → about-BE0UV-8-.mjs} +456 -61
- package/.output/server/chunks/build/about-BE0UV-8-.mjs.map +1 -0
- package/.output/server/chunks/build/{account-Cn-eZqXM.mjs → account-DAfvaD-F.mjs} +21 -9
- package/.output/server/chunks/build/account-DAfvaD-F.mjs.map +1 -0
- package/.output/server/chunks/build/{ai-7jdaPOmj.mjs → ai-Cn05ch0u.mjs} +45 -23
- package/.output/server/chunks/build/{ai-7jdaPOmj.mjs.map → ai-Cn05ch0u.mjs.map} +1 -1
- package/.output/server/chunks/build/{analytics-B276WPeU.mjs → analytics-Bo_B_jko.mjs} +66 -41
- package/.output/server/chunks/build/analytics-Bo_B_jko.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/compare-RxHSOdsO.mjs +12 -0
- package/.output/server/chunks/build/{db.client-aHcD0wyX.mjs → db.client-CQoVTYB9.mjs} +83 -5
- package/.output/server/chunks/build/db.client-CQoVTYB9.mjs.map +1 -0
- package/.output/server/chunks/build/{default-BSzdkM_L.mjs → default-CbNHaFsy.mjs} +622 -78
- package/.output/server/chunks/build/default-CbNHaFsy.mjs.map +1 -0
- package/.output/server/chunks/build/{docs-BN_x1OW3.mjs → docs-B_llWMxx.mjs} +30 -49
- package/.output/server/chunks/build/{docs-BN_x1OW3.mjs.map → docs-B_llWMxx.mjs.map} +1 -1
- package/.output/server/chunks/build/{edit-C9Z7oZeu.mjs → edit-J0asTFg8.mjs} +29 -18
- package/.output/server/chunks/build/edit-J0asTFg8.mjs.map +1 -0
- package/.output/server/chunks/build/{fetch-8kznMtBM.mjs → fetch-B4FwBOzu.mjs} +3 -3
- package/.output/server/chunks/build/fetch-B4FwBOzu.mjs.map +1 -0
- package/.output/server/chunks/build/{forgot-password-BqPF4Rxs.mjs → forgot-password-CC__1OnV.mjs} +17 -5
- package/.output/server/chunks/build/forgot-password-CC__1OnV.mjs.map +1 -0
- package/.output/server/chunks/build/{help-content-DmFnuhNu.mjs → help-content-C876a9WD.mjs} +37 -8
- package/.output/server/chunks/build/help-content-C876a9WD.mjs.map +1 -0
- package/.output/server/chunks/build/import-CS9oylTN.mjs +1021 -0
- package/.output/server/chunks/build/import-CS9oylTN.mjs.map +1 -0
- package/.output/server/chunks/build/{index-CULN3-en.mjs → index-CU2nZhAa.mjs} +113 -42
- package/.output/server/chunks/build/index-CU2nZhAa.mjs.map +1 -0
- package/.output/server/chunks/build/{index-BR9hw6qk.mjs → index-DE45ycdZ.mjs} +51 -31
- package/.output/server/chunks/build/index-DE45ycdZ.mjs.map +1 -0
- package/.output/server/chunks/build/{index-BK9PTRpd.mjs → index-e9skCi-V.mjs} +85 -69
- package/.output/server/chunks/build/{index-BK9PTRpd.mjs.map → index-e9skCi-V.mjs.map} +1 -1
- package/.output/server/chunks/build/{index-DVUtBexc.mjs → index-hGHlmyxj.mjs} +1520 -288
- package/.output/server/chunks/build/index-hGHlmyxj.mjs.map +1 -0
- package/.output/server/chunks/build/{index-Ba-Fifra.mjs → index-tR6owKzj.mjs} +18 -6
- package/.output/server/chunks/build/index-tR6owKzj.mjs.map +1 -0
- package/.output/server/chunks/build/{isValueEqualOrExist-DBZjbD_3.mjs → isValueEqualOrExist-D2qw9YEr.mjs} +3 -3
- package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs.map +1 -0
- package/.output/server/chunks/build/{login-D2XZDuek.mjs → login-Da4u1IlW.mjs} +19 -7
- package/.output/server/chunks/build/login-Da4u1IlW.mjs.map +1 -0
- package/.output/server/chunks/build/{mcp-_o6cMS6m.mjs → mcp-uhVCCwQM.mjs} +359 -24
- package/.output/server/chunks/build/mcp-uhVCCwQM.mjs.map +1 -0
- package/.output/server/chunks/build/{notifications-Dzm9c0u_.mjs → notifications-fx_qnKGA.mjs} +27 -21
- package/.output/server/chunks/build/notifications-fx_qnKGA.mjs.map +1 -0
- package/.output/server/chunks/build/pr-feedback-X6-70iF0.mjs +368 -0
- package/.output/server/chunks/build/pr-feedback-X6-70iF0.mjs.map +1 -0
- package/.output/server/chunks/build/{reset-password-gpFzIEDj.mjs → reset-password-BmrUS4ZD.mjs} +17 -5
- package/.output/server/chunks/build/reset-password-BmrUS4ZD.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +238 -36
- package/.output/server/chunks/build/{settings-pNyPBXVa.mjs → settings-CCYe7rsc.mjs} +23 -10
- package/.output/server/chunks/build/settings-CCYe7rsc.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-metadata-B0wo5R-W.mjs → settings-metadata-DrEqWcW-.mjs} +11 -2
- package/.output/server/chunks/build/settings-metadata-DrEqWcW-.mjs.map +1 -0
- package/.output/server/chunks/build/{storage-XelzuyPy.mjs → storage-CJEmviCD.mjs} +41 -31
- package/.output/server/chunks/build/storage-CJEmviCD.mjs.map +1 -0
- package/.output/server/chunks/build/styles.mjs +1 -0
- package/.output/server/chunks/build/{tags-DrCQ7QSw.mjs → tags-DauTe_F-.mjs} +22 -10
- package/.output/server/chunks/build/tags-DauTe_F-.mjs.map +1 -0
- package/.output/server/chunks/build/{test-cases-pmOxi-AN.mjs → test-cases-thBbAykw.mjs} +38 -24
- package/.output/server/chunks/build/test-cases-thBbAykw.mjs.map +1 -0
- package/.output/server/chunks/build/{timeout-hygiene-CNs71Iah.mjs → timeout-hygiene-CbnSaVbK.mjs} +20 -8
- package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs.map +1 -0
- package/.output/server/chunks/build/{useAiStatus-ZO987RY7.mjs → useAiStatus-CxjMmDDY.mjs} +89 -89
- package/.output/server/chunks/build/useAiStatus-CxjMmDDY.mjs.map +1 -0
- package/.output/server/chunks/build/{useCopy-BQQKcwlq.mjs → useCopy-CeKWgHyT.mjs} +2 -2
- package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs.map +1 -0
- package/.output/server/chunks/build/{PageStateCard-Bwee6JTk.mjs → useCopyRich-RJKhWoyj.mjs} +472 -63
- package/.output/server/chunks/build/useCopyRich-RJKhWoyj.mjs.map +1 -0
- package/.output/server/chunks/build/useDesktopDownload-BepjqxOt.mjs +46 -0
- package/.output/server/chunks/build/useDesktopDownload-BepjqxOt.mjs.map +1 -0
- package/.output/server/chunks/build/{useFormControl-BLpq1s4O.mjs → useFormControl-CZ9So7iX.mjs} +2 -2
- package/.output/server/chunks/build/useFormControl-CZ9So7iX.mjs.map +1 -0
- package/.output/server/chunks/build/{useOpenInIde-kMZ7Jw5c.mjs → useOpenInIde-BbTnPhFA.mjs} +3 -3
- package/.output/server/chunks/build/useOpenInIde-BbTnPhFA.mjs.map +1 -0
- package/.output/server/chunks/build/{useSettingsNav-NjI2seBy.mjs → useSettingsNav-DnQKacz8.mjs} +6 -6
- package/.output/server/chunks/build/useSettingsNav-DnQKacz8.mjs.map +1 -0
- package/.output/server/chunks/build/useTauri-Kf3HE_42.mjs +11 -0
- package/.output/server/chunks/build/useTauri-Kf3HE_42.mjs.map +1 -0
- package/.output/server/chunks/build/{useTreeViewCookie-DVYpxW-p.mjs → useTreeViewCookie-CQjQdTkH.mjs} +2 -2
- package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs.map +1 -0
- package/.output/server/chunks/build/{users-NmAUZs3i.mjs → users-CTUqXyGh.mjs} +22 -10
- package/.output/server/chunks/build/users-CTUqXyGh.mjs.map +1 -0
- package/.output/server/chunks/build/{wasted-time-CguAF9zc.mjs → wasted-time-BNTPIyrC.mjs} +26 -14
- package/.output/server/chunks/build/wasted-time-BNTPIyrC.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +6438 -1964
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs +13 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +12 -0
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/stats.get.mjs +12 -0
- package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/status.get.mjs +12 -0
- package/.output/server/chunks/routes/api/ai/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +12 -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 +12 -0
- 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 +12 -0
- package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/login.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/me.get.mjs +12 -0
- 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 +12 -0
- 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 +12 -0
- 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 +12 -0
- 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 +12 -0
- 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 +12 -0
- 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 +12 -0
- package/.output/server/chunks/routes/api/auth/setup.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/setup.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +12 -0
- 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 +12 -0
- package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +12 -0
- 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 +12 -0
- 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 +12 -0
- 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 +88 -0
- package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +12 -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 +13 -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 +13 -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 +13 -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 +13 -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 +24 -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 +13 -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 +13 -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 +13 -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 +13 -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 +64 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +13 -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 +56 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +13 -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 +13 -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 +13 -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 +13 -32
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +13 -1
- package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +12 -0
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get2.mjs +13 -1
- package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +13 -1
- package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get4.mjs +13 -1
- package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get5.mjs +12 -0
- package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +12 -0
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post2.mjs +13 -1
- package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post3.mjs +13 -1
- package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post4.mjs +13 -1
- package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post5.mjs +13 -1
- package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post6.mjs +12 -0
- package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +13 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs +13 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs +13 -1
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +13 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs +13 -1
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs +13 -1
- 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 +13 -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 +13 -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 +13 -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 +22 -2
- 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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +58 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +57 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +72 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +13 -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 +13 -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 +13 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +13 -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 +13 -1
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/search.get.mjs +13 -1
- package/.output/server/chunks/routes/api/search.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +13 -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 +13 -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 +12 -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 +13 -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 +13 -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 +13 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs +13 -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 +57 -0
- package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +63 -0
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +12 -0
- package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs +13 -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 +13 -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 +13 -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 +13 -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 +13 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/stream.get.mjs +13 -1
- package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +13 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +13 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +13 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs +13 -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 +13 -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 +13 -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 +13 -1
- package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +13 -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 +25 -3
- 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 +13 -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 +60 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +13 -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 +13 -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 +13 -1
- 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 +13 -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 +17 -3
- 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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +15 -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 +196 -0
- package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +13 -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 +77 -0
- package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs +77 -0
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +13 -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 +13 -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 +13 -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 +32 -15
- 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 +21 -6
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +156 -3
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs +13 -1
- 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 +12 -0
- 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 +12 -0
- 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 +13 -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 +13 -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 +13 -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 +13 -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 +12 -0
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id_.patch.mjs +12 -0
- package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/version.get.mjs +13 -1
- package/.output/server/chunks/routes/api/version.get.mjs.map +1 -1
- package/.output/server/chunks/routes/mcp.post.mjs +13 -1
- package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/tasks/sweep.mjs +12 -0
- package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
- package/.output/server/chunks/tasks/sweep2.mjs +12 -0
- package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
- package/.output/server/database/migrations/0039_remarkable_jean_grey.sql +2 -0
- package/.output/server/database/migrations/0040_organic_phalanx.sql +8 -0
- package/.output/server/database/migrations/0041_tense_gravity.sql +5 -0
- package/.output/server/database/migrations/0042_burly_hemingway.sql +19 -0
- package/.output/server/database/migrations/meta/0039_snapshot.json +3403 -0
- package/.output/server/database/migrations/meta/0040_snapshot.json +3457 -0
- package/.output/server/database/migrations/meta/0041_snapshot.json +3492 -0
- package/.output/server/database/migrations/meta/0042_snapshot.json +3618 -0
- package/.output/server/database/migrations/meta/_journal.json +28 -0
- package/.output/server/database/migrations-pg/0040_lazy_layla_miller.sql +2 -0
- package/.output/server/database/migrations-pg/0041_light_screwball.sql +8 -0
- package/.output/server/database/migrations-pg/0042_serious_layla_miller.sql +5 -0
- package/.output/server/database/migrations-pg/0043_wonderful_mordo.sql +19 -0
- package/.output/server/database/migrations-pg/meta/0040_snapshot.json +4060 -0
- package/.output/server/database/migrations-pg/meta/0041_snapshot.json +4123 -0
- package/.output/server/database/migrations-pg/meta/0042_snapshot.json +4153 -0
- package/.output/server/database/migrations-pg/meta/0043_snapshot.json +4308 -0
- package/.output/server/database/migrations-pg/meta/_journal.json +28 -0
- package/.output/server/index.mjs +13 -1
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
- package/.output/server/node_modules/fflate/package.json +128 -0
- package/.output/server/node_modules/highlight.js/es/languages/yaml.js +213 -0
- package/.output/server/node_modules/marked/lib/marked.esm.js +72 -0
- package/.output/server/node_modules/marked/package.json +103 -0
- package/.output/server/package.json +3 -1
- package/package.json +2 -2
- package/.output/public/_nuxt/9-wVZMur.js +0 -4
- package/.output/public/_nuxt/B-5GukRk.js +0 -1
- package/.output/public/_nuxt/B1G3GGhQ.js +0 -1
- package/.output/public/_nuxt/B1zMFx24.js +0 -1
- package/.output/public/_nuxt/B4jvLMfS.js +0 -1
- package/.output/public/_nuxt/BBnX5xw4.js +0 -2
- package/.output/public/_nuxt/BHpUiv6j.js +0 -3
- package/.output/public/_nuxt/BLOUs6AE.js +0 -5
- package/.output/public/_nuxt/BT6p4Pgt.js +0 -2
- package/.output/public/_nuxt/BUXSUkJ_.js +0 -1
- package/.output/public/_nuxt/BVf6Yx9V.js +0 -26
- package/.output/public/_nuxt/BbS6Bwby.js +0 -1
- package/.output/public/_nuxt/Bd3HqPMF.js +0 -1
- package/.output/public/_nuxt/BeKvLsja.js +0 -2
- package/.output/public/_nuxt/BeUm5UNV.js +0 -1
- package/.output/public/_nuxt/BfV444H3.js +0 -3
- package/.output/public/_nuxt/BjKamgHq.js +0 -1
- package/.output/public/_nuxt/BoJdjCVl.js +0 -4
- package/.output/public/_nuxt/BreO2PiA.js +0 -1
- package/.output/public/_nuxt/BvIDC_R-.js +0 -1
- package/.output/public/_nuxt/ByuJWADR.js +0 -34
- package/.output/public/_nuxt/C1dyLp_j.js +0 -1
- package/.output/public/_nuxt/CAUgpKsF.js +0 -2
- package/.output/public/_nuxt/CL9-VLTJ.js +0 -1
- package/.output/public/_nuxt/CazDIG_m.js +0 -1
- package/.output/public/_nuxt/CcXaak_K.js +0 -1
- package/.output/public/_nuxt/CdMuck_X.js +0 -1
- package/.output/public/_nuxt/CfPSts5n.js +0 -1
- package/.output/public/_nuxt/CfROFPse.js +0 -1
- package/.output/public/_nuxt/Cnapl7lZ.js +0 -1
- package/.output/public/_nuxt/CscWZxCi.js +0 -1
- package/.output/public/_nuxt/CuicKV-B.js +0 -34
- package/.output/public/_nuxt/Cyiu1VQD.js +0 -1
- package/.output/public/_nuxt/D6PUPmRC.js +0 -1
- package/.output/public/_nuxt/DCl2yo4g.js +0 -8
- package/.output/public/_nuxt/DHXWp5yD.js +0 -1
- package/.output/public/_nuxt/DHltYerF.js +0 -114
- package/.output/public/_nuxt/DLXydYJb.js +0 -47
- package/.output/public/_nuxt/DRPSi76A.js +0 -1
- package/.output/public/_nuxt/DS53kyHJ.js +0 -1
- package/.output/public/_nuxt/DWhBqv_7.js +0 -1
- package/.output/public/_nuxt/Dd0kK5WH.js +0 -1
- package/.output/public/_nuxt/Df7kUO0m.js +0 -1
- package/.output/public/_nuxt/Dga3Av-m.js +0 -1
- package/.output/public/_nuxt/DgwTpwfB.js +0 -1
- package/.output/public/_nuxt/DkI145a5.js +0 -1
- package/.output/public/_nuxt/DoFBTaDR.js +0 -1
- package/.output/public/_nuxt/Dr_dI5hB.js +0 -1
- package/.output/public/_nuxt/EPZOxdgq.js +0 -1
- package/.output/public/_nuxt/R1nNqTru.js +0 -1
- package/.output/public/_nuxt/S5DLdEpg.js +0 -4
- package/.output/public/_nuxt/builds/meta/7caf3cb3-d272-4dbd-bb3f-1eeb64fab5d1.json +0 -1
- package/.output/public/_nuxt/entry.ChQMshd4.css +0 -1
- package/.output/public/_nuxt/gCELhaU9.js +0 -1
- package/.output/public/_nuxt/ipDzNHcs.js +0 -5
- package/.output/public/_nuxt/kS3boz40.js +0 -1
- package/.output/public/_nuxt/qH_j2A3a.js +0 -1
- package/.output/public/_nuxt/r3SBLxtE.js +0 -1
- package/.output/public/_nuxt/rsiRgrVM.js +0 -1
- package/.output/public/_nuxt/swrbBdtB.js +0 -1
- package/.output/public/sw.js +0 -1
- package/.output/public/workbox-2fbc6a65.js +0 -1
- package/.output/server/chunks/build/Alert-Bp1Wz_sq.mjs.map +0 -1
- package/.output/server/chunks/build/Breadcrumb-C9ZPTLym.mjs.map +0 -1
- package/.output/server/chunks/build/BreadcrumbNav-C3y42Vun.mjs.map +0 -1
- package/.output/server/chunks/build/BrowserBadge-DNCp9pF-.mjs.map +0 -1
- package/.output/server/chunks/build/ChartCard-Fr557IbV.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-cVOSIY93.mjs.map +0 -1
- package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs +0 -640
- package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs.map +0 -1
- package/.output/server/chunks/build/CodeBlock-BGwNmJ8J.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardNavbar-Bdp-OwTN.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardSidebarToggle-Ji6ADuqF.mjs.map +0 -1
- package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisPanel-DV1xwGu4.mjs.map +0 -1
- package/.output/server/chunks/build/EmptyState-DV3oT_xz.mjs.map +0 -1
- package/.output/server/chunks/build/EntityLinks-DeOP13Kr.mjs.map +0 -1
- package/.output/server/chunks/build/EnvManagedBadge-Qpn58Nmr.mjs.map +0 -1
- package/.output/server/chunks/build/FormField-B-GSn_VR.mjs.map +0 -1
- package/.output/server/chunks/build/HelpHint-YEMWtKu1.mjs.map +0 -1
- package/.output/server/chunks/build/Label-DBvbHd3A.mjs.map +0 -1
- package/.output/server/chunks/build/MiniRunBars-C3HG-EYm.mjs.map +0 -1
- package/.output/server/chunks/build/Modal-CfA78Hm1.mjs.map +0 -1
- package/.output/server/chunks/build/PageStateCard-Bwee6JTk.mjs.map +0 -1
- package/.output/server/chunks/build/ProjectTestCasesTable-9Ia825h8.mjs.map +0 -1
- package/.output/server/chunks/build/RovingFocusItem-CxhHdNGo.mjs.map +0 -1
- package/.output/server/chunks/build/RunReports-BpJqLHY9.mjs.map +0 -1
- package/.output/server/chunks/build/RunStatusBadge-BhmJ_RKM.mjs.map +0 -1
- package/.output/server/chunks/build/SectionCard-COd9TuDq.mjs.map +0 -1
- package/.output/server/chunks/build/Select-ppPz926C.mjs.map +0 -1
- package/.output/server/chunks/build/Separator-CxZdx8kw.mjs.map +0 -1
- package/.output/server/chunks/build/SettingsField-DDD4oqys.mjs.map +0 -1
- package/.output/server/chunks/build/Slideover-B95Rj237.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-xQQ3_ME1.mjs.map +0 -1
- package/.output/server/chunks/build/Table-CPhhVzDv.mjs.map +0 -1
- package/.output/server/chunks/build/Tabs-BV9XqjoO.mjs.map +0 -1
- package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs +0 -47
- package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs.map +0 -1
- package/.output/server/chunks/build/TestCaseHistoryChart-DMb-xSJa.mjs.map +0 -1
- package/.output/server/chunks/build/TestStatusBar-CEzt76wk.mjs.map +0 -1
- package/.output/server/chunks/build/Textarea-DrrqQUVG.mjs.map +0 -1
- package/.output/server/chunks/build/Tooltip-7vwuDPrZ.mjs.map +0 -1
- package/.output/server/chunks/build/VisuallyHiddenInput-C9eJVpPW.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-B2yirIuA.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-CE0Gso6i.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-bWcP2xFl.mjs.map +0 -1
- package/.output/server/chunks/build/about-CoJjvUwM.mjs.map +0 -1
- package/.output/server/chunks/build/account-Cn-eZqXM.mjs.map +0 -1
- package/.output/server/chunks/build/analytics-B276WPeU.mjs.map +0 -1
- package/.output/server/chunks/build/db.client-aHcD0wyX.mjs.map +0 -1
- package/.output/server/chunks/build/default-BSzdkM_L.mjs.map +0 -1
- package/.output/server/chunks/build/edit-C9Z7oZeu.mjs.map +0 -1
- package/.output/server/chunks/build/fetch-8kznMtBM.mjs.map +0 -1
- package/.output/server/chunks/build/forgot-password-BqPF4Rxs.mjs.map +0 -1
- package/.output/server/chunks/build/help-content-DmFnuhNu.mjs.map +0 -1
- package/.output/server/chunks/build/index-BR9hw6qk.mjs.map +0 -1
- package/.output/server/chunks/build/index-Ba-Fifra.mjs.map +0 -1
- package/.output/server/chunks/build/index-CULN3-en.mjs.map +0 -1
- package/.output/server/chunks/build/index-DVUtBexc.mjs.map +0 -1
- package/.output/server/chunks/build/isValueEqualOrExist-DBZjbD_3.mjs.map +0 -1
- package/.output/server/chunks/build/login-D2XZDuek.mjs.map +0 -1
- package/.output/server/chunks/build/mcp-_o6cMS6m.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-Dzm9c0u_.mjs.map +0 -1
- package/.output/server/chunks/build/reset-password-gpFzIEDj.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-B0wo5R-W.mjs.map +0 -1
- package/.output/server/chunks/build/settings-pNyPBXVa.mjs.map +0 -1
- package/.output/server/chunks/build/storage-XelzuyPy.mjs.map +0 -1
- package/.output/server/chunks/build/tags-DrCQ7QSw.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-pmOxi-AN.mjs.map +0 -1
- package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs.map +0 -1
- package/.output/server/chunks/build/useAiStatus-ZO987RY7.mjs.map +0 -1
- package/.output/server/chunks/build/useCopy-BQQKcwlq.mjs.map +0 -1
- package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs.map +0 -1
- package/.output/server/chunks/build/useOpenInIde-kMZ7Jw5c.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-NjI2seBy.mjs.map +0 -1
- package/.output/server/chunks/build/useTauri-lRT8zkLv.mjs +0 -7
- package/.output/server/chunks/build/useTauri-lRT8zkLv.mjs.map +0 -1
- package/.output/server/chunks/build/useTreeViewCookie-DVYpxW-p.mjs.map +0 -1
- package/.output/server/chunks/build/users-NmAUZs3i.mjs.map +0 -1
- package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs +0 -940
- package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs.map +0 -1
- package/.output/server/chunks/build/wasted-time-CguAF9zc.mjs.map +0 -1
- /package/.output/public/_nuxt/{PageStateCard.BrM5HWjY.css → useCopyRich.BrM5HWjY.css} +0 -0
|
@@ -1,41 +1,44 @@
|
|
|
1
|
-
import { _ as _sfc_main$1$1, a as _sfc_main$
|
|
2
|
-
import { _ as _sfc_main$1$2 } from './Breadcrumb-
|
|
3
|
-
import { _ as __nuxt_component_3$1 } from './BreadcrumbNav-
|
|
4
|
-
import { u as useRoute, k as useRouter, r as useRuntimeConfig, l as useHead, j as useToast, n as _sfc_main$7$1, m as _sfc_main$k,
|
|
5
|
-
import { _ as _sfc_main$
|
|
1
|
+
import { _ as _sfc_main$1$1, a as _sfc_main$g } from './DashboardNavbar-BHmMSPX7.mjs';
|
|
2
|
+
import { _ as _sfc_main$1$2 } from './Breadcrumb-Ak2Lg3oM.mjs';
|
|
3
|
+
import { _ as __nuxt_component_3$1 } from './BreadcrumbNav-DO7I_z-n.mjs';
|
|
4
|
+
import { u as useRoute, k as useRouter, r as useRuntimeConfig, l as useHead, j as useToast, n as _sfc_main$7$1, m as _sfc_main$k, s as __nuxt_component_12$1, o as _sfc_main$p, y as __nuxt_component_7$1, _ as _sfc_main$d$1, v as _sfc_main$8$1, p as _sfc_main$j$1 } from './server.mjs';
|
|
5
|
+
import { _ as _sfc_main$h } from './Tooltip-Dv4htNP6.mjs';
|
|
6
6
|
import { _ as __nuxt_component_4 } from './NavbarActions-_YjrSUat.mjs';
|
|
7
|
-
import { _ as __nuxt_component_8,
|
|
8
|
-
import {
|
|
9
|
-
import { _ as
|
|
10
|
-
import { _ as
|
|
11
|
-
import { _ as
|
|
7
|
+
import { _ as __nuxt_component_8, b as __nuxt_component_1$2, a as __nuxt_component_13$2, d as __nuxt_component_14$3, c as __nuxt_component_15$1, e as __nuxt_component_16$1 } from './CiEnvCard-DB5DvBh1.mjs';
|
|
8
|
+
import { u as useDetailGrid, _ as __nuxt_component_0$1 } from './useAiStatus-CxjMmDDY.mjs';
|
|
9
|
+
import { _ as __nuxt_component_14$2 } from './TestStatusBar-DX3EhlyP.mjs';
|
|
10
|
+
import { _ as __nuxt_component_14$1 } from './DurationValue-D20oGbnc.mjs';
|
|
11
|
+
import { _ as _sfc_main$m } from './Card-BQP_oZkQ.mjs';
|
|
12
|
+
import { _ as __nuxt_component_2$2 } from './HelpHint-DrcIv-Oj.mjs';
|
|
12
13
|
import { _ as __nuxt_component_5 } from './MarkerBadge-D7meXy4u.mjs';
|
|
13
|
-
import { _ as
|
|
14
|
-
import {
|
|
14
|
+
import { _ as __nuxt_component_18$1 } from './EntityLinks-BBHWssHH.mjs';
|
|
15
|
+
import { p as prettyDateFormat, v as getStatusColor, f as formatRelativeTime, c as copyPreview, j as clusterStatusColor, i as clusterErrorTypeColor, z as reportIcon, n as fileApiUrl, w as createSortHeader, d as formatDuration, F as getStatusTextClass, E as getStatusIcon, a as formatStatusLabel, D as isStatusInFlight, C as isPiwiAnnotation } from './index-CU2nZhAa.mjs';
|
|
16
|
+
import { aa as formatBytes, bM as DEFAULT_WASTED_WAIT_PATTERNS, dH as isWastedWait } from '../nitro/nitro.mjs';
|
|
15
17
|
import { defineComponent, withAsyncContext, ref, computed, watch, withCtx, isRef, unref, createVNode, createTextVNode, openBlock, createBlock, createCommentVNode, toDisplayString, nextTick, mergeProps, Fragment, renderList, useModel, mergeModels, withDirectives, vModelText, useSSRContext } from 'vue';
|
|
16
18
|
import { ssrRenderComponent, ssrInterpolate, ssrRenderAttrs, ssrRenderClass, ssrRenderList, ssrRenderStyle, ssrRenderAttr, ssrRenderTeleport, ssrIncludeBooleanAttr } from 'vue/server-renderer';
|
|
17
|
-
import { b as buildRetryCommand } from './useOpenInIde-
|
|
18
|
-
import { u as useCopy } from './useCopy-
|
|
19
|
-
import { _ as __nuxt_component_4$
|
|
20
|
-
import { _ as _sfc_main$
|
|
21
|
-
import { _ as _sfc_main$
|
|
22
|
-
import { _ as __nuxt_component_1$3 } from './OpenInIdeLink-
|
|
23
|
-
import {
|
|
19
|
+
import { b as buildRetryCommand } from './useOpenInIde-BbTnPhFA.mjs';
|
|
20
|
+
import { u as useCopy } from './useCopy-CeKWgHyT.mjs';
|
|
21
|
+
import { _ as __nuxt_component_4$2 } from './FilterToolbar-BwXy8xSk.mjs';
|
|
22
|
+
import { _ as _sfc_main$o } from './Select-5DK9frQ7.mjs';
|
|
23
|
+
import { _ as _sfc_main$q } from './Checkbox-4Q5d0fa0.mjs';
|
|
24
|
+
import { _ as __nuxt_component_1$3 } from './OpenInIdeLink-CQWKKChd.mjs';
|
|
25
|
+
import { _ as __nuxt_component_2$3 } from './TestMetaBadges-D5_yUtIP.mjs';
|
|
26
|
+
import { _ as __nuxt_component_3$3 } from './BrowserBadge-MFvBwxmD.mjs';
|
|
27
|
+
import { u as useTreeViewCookie } from './useTreeViewCookie-CQjQdTkH.mjs';
|
|
24
28
|
import { _ as __nuxt_component_5$1 } from './ErrorState-CktYyeEZ.mjs';
|
|
25
29
|
import { _ as __nuxt_component_1$1 } from './LoadingState-C3pBSuOO.mjs';
|
|
26
|
-
import { _ as
|
|
27
|
-
import { _ as __nuxt_component_11 } from './SectionCard-
|
|
30
|
+
import { _ as __nuxt_component_4$1 } from './EmptyState-DC2q_7TD.mjs';
|
|
31
|
+
import { _ as __nuxt_component_11 } from './SectionCard-CN-v0FZ_.mjs';
|
|
28
32
|
import { _ as __nuxt_component_3$2 } from './TableScroller-DMcdCVrH.mjs';
|
|
29
|
-
import { _ as _sfc_main$
|
|
30
|
-
import { _ as _sfc_main$
|
|
31
|
-
import { _ as __nuxt_component_0$2 } from './DiagnosisPanel-
|
|
32
|
-
import { u as useFetch } from './fetch-
|
|
33
|
-
import {
|
|
34
|
-
import { _ as
|
|
35
|
-
import { _ as
|
|
36
|
-
import { _ as _sfc_main$j } from './Alert-Bp1Wz_sq.mjs';
|
|
33
|
+
import { _ as _sfc_main$i } from './Table-BRk04Hd2.mjs';
|
|
34
|
+
import { _ as _sfc_main$n } from './Modal-pSDlXzT3.mjs';
|
|
35
|
+
import { _ as __nuxt_component_0$2 } from './DiagnosisPanel-CALyEmcJ.mjs';
|
|
36
|
+
import { u as useFetch } from './fetch-B4FwBOzu.mjs';
|
|
37
|
+
import { _ as _sfc_main$j } from './SelectMenu-D-2FSqBU.mjs';
|
|
38
|
+
import { _ as __nuxt_component_13$1 } from './RunStatusBadge-FfGb6bkW.mjs';
|
|
39
|
+
import { _ as _sfc_main$l } from './Alert-C4xq8lao.mjs';
|
|
37
40
|
import { u as useRunComparison } from './useRunComparison-CiMBLpe2.mjs';
|
|
38
|
-
import './DashboardSidebarToggle-
|
|
41
|
+
import './DashboardSidebarToggle-DCTnHiIv.mjs';
|
|
39
42
|
import 'vue-router';
|
|
40
43
|
import '@iconify/vue';
|
|
41
44
|
import 'tailwindcss/colors';
|
|
@@ -56,6 +59,18 @@ import 'path';
|
|
|
56
59
|
import 'fs/promises';
|
|
57
60
|
import 'zlib';
|
|
58
61
|
import 'util';
|
|
62
|
+
import 'marked';
|
|
63
|
+
import 'highlight.js/lib/core';
|
|
64
|
+
import 'highlight.js/lib/languages/bash';
|
|
65
|
+
import 'highlight.js/lib/languages/css';
|
|
66
|
+
import 'highlight.js/lib/languages/diff';
|
|
67
|
+
import 'highlight.js/lib/languages/javascript';
|
|
68
|
+
import 'highlight.js/lib/languages/json';
|
|
69
|
+
import 'highlight.js/lib/languages/python';
|
|
70
|
+
import 'highlight.js/lib/languages/typescript';
|
|
71
|
+
import 'highlight.js/lib/languages/xml';
|
|
72
|
+
import 'highlight.js/lib/languages/yaml';
|
|
73
|
+
import 'fflate';
|
|
59
74
|
import 'pixelmatch';
|
|
60
75
|
import 'sharp';
|
|
61
76
|
import '@anthropic-ai/sdk';
|
|
@@ -79,36 +94,28 @@ import 'node:zlib';
|
|
|
79
94
|
import 'consola';
|
|
80
95
|
import 'node:url';
|
|
81
96
|
import '@iconify/utils';
|
|
82
|
-
import './
|
|
83
|
-
import './
|
|
84
|
-
import './
|
|
85
|
-
import '
|
|
86
|
-
import '
|
|
87
|
-
import '
|
|
88
|
-
import '
|
|
89
|
-
import '
|
|
90
|
-
import '
|
|
91
|
-
import '
|
|
92
|
-
import '
|
|
93
|
-
import '
|
|
94
|
-
import './CodeBlock-BGwNmJ8J.mjs';
|
|
95
|
-
import './Textarea-DrrqQUVG.mjs';
|
|
96
|
-
import './help-content-DmFnuhNu.mjs';
|
|
97
|
+
import './FormField-B0HKsdMd.mjs';
|
|
98
|
+
import './Label-DYDR1Oeh.mjs';
|
|
99
|
+
import './Switch-B5Fp8ULt.mjs';
|
|
100
|
+
import './useFormControl-CZ9So7iX.mjs';
|
|
101
|
+
import './useForwardScopeId-D0ameaSU.mjs';
|
|
102
|
+
import './VisuallyHiddenInput-BHvzNumK.mjs';
|
|
103
|
+
import './CodeBlock-BgE-NSmE.mjs';
|
|
104
|
+
import './useTauri-Kf3HE_42.mjs';
|
|
105
|
+
import './Tabs-BkSOnbaB.mjs';
|
|
106
|
+
import './RovingFocusItem--OEHI2P3.mjs';
|
|
107
|
+
import './Textarea-Dv2-lOvW.mjs';
|
|
108
|
+
import './help-content-C876a9WD.mjs';
|
|
97
109
|
import '../_/marker-categories.mjs';
|
|
98
110
|
import 'date-fns';
|
|
99
|
-
import './useFormControl-BLpq1s4O.mjs';
|
|
100
111
|
import './handleAndDispatchCustomEvent-Bk_AVSSo.mjs';
|
|
101
|
-
import './isValueEqualOrExist-
|
|
102
|
-
import './
|
|
103
|
-
import './VisuallyHiddenInput-C9eJVpPW.mjs';
|
|
104
|
-
import './Label-DBvbHd3A.mjs';
|
|
105
|
-
import './Separator-CxZdx8kw.mjs';
|
|
112
|
+
import './isValueEqualOrExist-D2qw9YEr.mjs';
|
|
113
|
+
import './Separator-CR4WcEKD.mjs';
|
|
106
114
|
import '@tanstack/vue-table';
|
|
107
115
|
import '@tanstack/vue-virtual';
|
|
108
116
|
import '@vue/shared';
|
|
109
|
-
import './virtualizer-ZaqK4guJ.mjs';
|
|
110
117
|
|
|
111
|
-
const _sfc_main$
|
|
118
|
+
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
112
119
|
__name: "RunSummary",
|
|
113
120
|
__ssrInlineRender: true,
|
|
114
121
|
props: {
|
|
@@ -125,6 +132,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
125
132
|
const props = __props;
|
|
126
133
|
const emit = __emit;
|
|
127
134
|
const toast = useToast();
|
|
135
|
+
const config = useRuntimeConfig();
|
|
128
136
|
const storageStats = computed(() => props.testRun?.storageStats);
|
|
129
137
|
const showCiEnv = computed(
|
|
130
138
|
() => !!(props.testRun?.metadata?.ci || props.testRun?.environment || props.testRun?.playwrightVersion || props.testRun?.reporterVersion)
|
|
@@ -234,19 +242,21 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
234
242
|
const _component_StatusBlock = __nuxt_component_1$2;
|
|
235
243
|
const _component_UIcon = _sfc_main$p;
|
|
236
244
|
const _component_UBadge = _sfc_main$7$1;
|
|
237
|
-
const _component_TestStatusBar =
|
|
238
|
-
const
|
|
239
|
-
const
|
|
240
|
-
const
|
|
245
|
+
const _component_TestStatusBar = __nuxt_component_14$2;
|
|
246
|
+
const _component_DurationValue = __nuxt_component_14$1;
|
|
247
|
+
const _component_UCard = _sfc_main$m;
|
|
248
|
+
const _component_HelpHint = __nuxt_component_2$2;
|
|
249
|
+
const _component_UTooltip = _sfc_main$h;
|
|
241
250
|
const _component_NuxtLink = __nuxt_component_12$1;
|
|
242
251
|
const _component_MarkerBadge = __nuxt_component_5;
|
|
243
252
|
const _component_UButton = _sfc_main$k;
|
|
244
253
|
const _component_UPopover = _sfc_main$8$1;
|
|
245
|
-
const
|
|
246
|
-
const
|
|
247
|
-
const
|
|
254
|
+
const _component_DesktopRunLocallyButton = __nuxt_component_13$2;
|
|
255
|
+
const _component_CiEnvCard = __nuxt_component_14$3;
|
|
256
|
+
const _component_SourceInfoCard = __nuxt_component_15$1;
|
|
257
|
+
const _component_BlockCard = __nuxt_component_16$1;
|
|
248
258
|
const _component_UProgress = _sfc_main$j$1;
|
|
249
|
-
const _component_EntityLinks =
|
|
259
|
+
const _component_EntityLinks = __nuxt_component_18$1;
|
|
250
260
|
_push(ssrRenderComponent(_component_FoldableSummary, mergeProps({ "storage-key": "test-run" }, _attrs), {
|
|
251
261
|
folded: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
252
262
|
if (_push2) {
|
|
@@ -257,11 +267,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
257
267
|
}, null, _parent2, _scopeId));
|
|
258
268
|
_push2(`<span class="text-sm font-semibold truncate flex items-center gap-1"${_scopeId}> Run #${ssrInterpolate(__props.testRun?.id)} `);
|
|
259
269
|
if (unref(editingLabel)) {
|
|
260
|
-
_push2(`<!--[--><input${ssrRenderAttr("value", unref(labelInput))} type="text" placeholder="Add a label..." class="inline-block w-40 text-sm font-normal border-b border-dashed border-
|
|
270
|
+
_push2(`<!--[--><input${ssrRenderAttr("value", unref(labelInput))} type="text" placeholder="Add a label..." class="inline-block w-40 text-sm font-normal border-b border-dashed border-zinc-400 bg-transparent outline-none focus:border-primary px-0.5 py-0"${_scopeId}>`);
|
|
261
271
|
if (unref(savingLabel)) {
|
|
262
272
|
_push2(ssrRenderComponent(_component_UIcon, {
|
|
263
273
|
name: "i-lucide-loader-circle",
|
|
264
|
-
class: "size-3.5 text-
|
|
274
|
+
class: "size-3.5 text-zinc-400 animate-spin shrink-0"
|
|
265
275
|
}, null, _parent2, _scopeId));
|
|
266
276
|
} else {
|
|
267
277
|
_push2(`<!---->`);
|
|
@@ -270,9 +280,9 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
270
280
|
} else {
|
|
271
281
|
_push2(`<!--[-->`);
|
|
272
282
|
if (__props.testRun?.label) {
|
|
273
|
-
_push2(`<span class="font-normal text-
|
|
283
|
+
_push2(`<span class="font-normal text-zinc-500 ml-1.5 cursor-pointer hover:text-zinc-700 dark:hover:text-zinc-300 border-b border-dashed border-transparent hover:border-zinc-400"${_scopeId}>— ${ssrInterpolate(__props.testRun.label)}</span>`);
|
|
274
284
|
} else {
|
|
275
|
-
_push2(`<button class="text-xs text-
|
|
285
|
+
_push2(`<button class="text-xs text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 border-b border-dashed border-transparent hover:border-zinc-400 ml-1" title="Add a label"${_scopeId}> + label </button>`);
|
|
276
286
|
}
|
|
277
287
|
_push2(`<!--]-->`);
|
|
278
288
|
}
|
|
@@ -307,7 +317,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
307
317
|
} else {
|
|
308
318
|
_push2(`<!---->`);
|
|
309
319
|
}
|
|
310
|
-
_push2(`</div><div class="flex items-center gap-3 shrink-0 max-sm:hidden"${_scopeId}><span class="text-xs text-
|
|
320
|
+
_push2(`</div><div class="flex items-center gap-3 shrink-0 max-sm:hidden"${_scopeId}><span class="text-xs text-zinc-500 tabular-nums whitespace-nowrap"${_scopeId}> T: <strong class="text-zinc-700 dark:text-zinc-300"${_scopeId}>${ssrInterpolate(__props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0)}</strong></span><span class="text-xs text-emerald-600 dark:text-emerald-400 tabular-nums whitespace-nowrap"${_scopeId}> P: <strong${_scopeId}>${ssrInterpolate(__props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0)}</strong></span><span class="text-xs text-rose-600 dark:text-rose-400 tabular-nums whitespace-nowrap"${_scopeId}> F: <strong${_scopeId}>${ssrInterpolate(__props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0)}</strong></span><span class="text-xs text-zinc-500 tabular-nums whitespace-nowrap"${_scopeId}> S: <strong${_scopeId}>${ssrInterpolate(__props.displayProgress?.skippedTests ?? __props.testRun?.skippedTests ?? 0)}</strong></span><span class="text-xs text-amber-600 dark:text-amber-400 tabular-nums whitespace-nowrap" title="Tests that never ran (maxFailures cutoff or a serial-group failure)"${_scopeId}> DNR: <strong${_scopeId}>${ssrInterpolate(__props.testRun?.didNotRunTests ?? 0)}</strong></span><span class="text-xs text-orange-600 dark:text-orange-400 tabular-nums whitespace-nowrap"${_scopeId}> Fl: <strong${_scopeId}>${ssrInterpolate(__props.testRun?.flakyTests ?? 0)}</strong></span>`);
|
|
311
321
|
_push2(ssrRenderComponent(_component_TestStatusBar, {
|
|
312
322
|
passed: __props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0,
|
|
313
323
|
failed: __props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0,
|
|
@@ -316,7 +326,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
316
326
|
"did-not-run": __props.testRun?.didNotRunTests ?? 0,
|
|
317
327
|
total: __props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0
|
|
318
328
|
}, null, _parent2, _scopeId));
|
|
319
|
-
_push2(
|
|
329
|
+
_push2(ssrRenderComponent(_component_DurationValue, {
|
|
330
|
+
ms: __props.testRun?.duration,
|
|
331
|
+
class: "text-xs text-zinc-400"
|
|
332
|
+
}, null, _parent2, _scopeId));
|
|
333
|
+
_push2(`</div></div>`);
|
|
320
334
|
} else {
|
|
321
335
|
return [
|
|
322
336
|
createVNode("div", { class: "flex items-center gap-3 flex-1 min-w-0 justify-between" }, [
|
|
@@ -334,7 +348,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
334
348
|
"onUpdate:modelValue": ($event) => isRef(labelInput) ? labelInput.value = $event : null,
|
|
335
349
|
type: "text",
|
|
336
350
|
placeholder: "Add a label...",
|
|
337
|
-
class: "inline-block w-40 text-sm font-normal border-b border-dashed border-
|
|
351
|
+
class: "inline-block w-40 text-sm font-normal border-b border-dashed border-zinc-400 bg-transparent outline-none focus:border-primary px-0.5 py-0",
|
|
338
352
|
onKeydown: onLabelKeydown,
|
|
339
353
|
onBlur: saveLabel
|
|
340
354
|
}, null, 40, ["onUpdate:modelValue"]), [
|
|
@@ -343,16 +357,16 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
343
357
|
unref(savingLabel) ? (openBlock(), createBlock(_component_UIcon, {
|
|
344
358
|
key: 0,
|
|
345
359
|
name: "i-lucide-loader-circle",
|
|
346
|
-
class: "size-3.5 text-
|
|
360
|
+
class: "size-3.5 text-zinc-400 animate-spin shrink-0"
|
|
347
361
|
})) : createCommentVNode("", true)
|
|
348
362
|
], 64)) : (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
349
363
|
__props.testRun?.label ? (openBlock(), createBlock("span", {
|
|
350
364
|
key: 0,
|
|
351
|
-
class: "font-normal text-
|
|
365
|
+
class: "font-normal text-zinc-500 ml-1.5 cursor-pointer hover:text-zinc-700 dark:hover:text-zinc-300 border-b border-dashed border-transparent hover:border-zinc-400",
|
|
352
366
|
onClick: startEditLabel
|
|
353
367
|
}, "— " + toDisplayString(__props.testRun.label), 1)) : (openBlock(), createBlock("button", {
|
|
354
368
|
key: 1,
|
|
355
|
-
class: "text-xs text-
|
|
369
|
+
class: "text-xs text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 border-b border-dashed border-transparent hover:border-zinc-400 ml-1",
|
|
356
370
|
title: "Add a label",
|
|
357
371
|
onClick: startEditLabel
|
|
358
372
|
}, " + label "))
|
|
@@ -377,19 +391,19 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
377
391
|
}, 8, ["title"])) : createCommentVNode("", true)
|
|
378
392
|
]),
|
|
379
393
|
createVNode("div", { class: "flex items-center gap-3 shrink-0 max-sm:hidden" }, [
|
|
380
|
-
createVNode("span", { class: "text-xs text-
|
|
394
|
+
createVNode("span", { class: "text-xs text-zinc-500 tabular-nums whitespace-nowrap" }, [
|
|
381
395
|
createTextVNode(" T: "),
|
|
382
|
-
createVNode("strong", { class: "text-
|
|
396
|
+
createVNode("strong", { class: "text-zinc-700 dark:text-zinc-300" }, toDisplayString(__props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0), 1)
|
|
383
397
|
]),
|
|
384
|
-
createVNode("span", { class: "text-xs text-
|
|
398
|
+
createVNode("span", { class: "text-xs text-emerald-600 dark:text-emerald-400 tabular-nums whitespace-nowrap" }, [
|
|
385
399
|
createTextVNode(" P: "),
|
|
386
400
|
createVNode("strong", null, toDisplayString(__props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0), 1)
|
|
387
401
|
]),
|
|
388
|
-
createVNode("span", { class: "text-xs text-
|
|
402
|
+
createVNode("span", { class: "text-xs text-rose-600 dark:text-rose-400 tabular-nums whitespace-nowrap" }, [
|
|
389
403
|
createTextVNode(" F: "),
|
|
390
404
|
createVNode("strong", null, toDisplayString(__props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0), 1)
|
|
391
405
|
]),
|
|
392
|
-
createVNode("span", { class: "text-xs text-
|
|
406
|
+
createVNode("span", { class: "text-xs text-zinc-500 tabular-nums whitespace-nowrap" }, [
|
|
393
407
|
createTextVNode(" S: "),
|
|
394
408
|
createVNode("strong", null, toDisplayString(__props.displayProgress?.skippedTests ?? __props.testRun?.skippedTests ?? 0), 1)
|
|
395
409
|
]),
|
|
@@ -412,7 +426,10 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
412
426
|
"did-not-run": __props.testRun?.didNotRunTests ?? 0,
|
|
413
427
|
total: __props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0
|
|
414
428
|
}, null, 8, ["passed", "failed", "skipped", "flaky", "did-not-run", "total"]),
|
|
415
|
-
createVNode(
|
|
429
|
+
createVNode(_component_DurationValue, {
|
|
430
|
+
ms: __props.testRun?.duration,
|
|
431
|
+
class: "text-xs text-zinc-400"
|
|
432
|
+
}, null, 8, ["ms"])
|
|
416
433
|
])
|
|
417
434
|
])
|
|
418
435
|
];
|
|
@@ -431,11 +448,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
431
448
|
}, null, _parent3, _scopeId2));
|
|
432
449
|
_push3(`<div class="min-w-0 flex-1"${_scopeId2}><div class="flex items-center gap-2"${_scopeId2}><h2 class="text-base font-bold shrink-0 flex items-center gap-1"${_scopeId2}> Run #${ssrInterpolate(__props.testRun?.id)} `);
|
|
433
450
|
if (unref(editingLabel)) {
|
|
434
|
-
_push3(`<!--[--><input${ssrRenderAttr("value", unref(labelInput))} type="text" placeholder="Add a label..." class="inline-block w-48 text-sm font-normal border-b border-dashed border-
|
|
451
|
+
_push3(`<!--[--><input${ssrRenderAttr("value", unref(labelInput))} type="text" placeholder="Add a label..." class="inline-block w-48 text-sm font-normal border-b border-dashed border-zinc-400 bg-transparent outline-none focus:border-primary px-0.5 py-0"${_scopeId2}>`);
|
|
435
452
|
if (unref(savingLabel)) {
|
|
436
453
|
_push3(ssrRenderComponent(_component_UIcon, {
|
|
437
454
|
name: "i-lucide-loader-circle",
|
|
438
|
-
class: "size-3.5 text-
|
|
455
|
+
class: "size-3.5 text-zinc-400 animate-spin shrink-0"
|
|
439
456
|
}, null, _parent3, _scopeId2));
|
|
440
457
|
} else {
|
|
441
458
|
_push3(`<!---->`);
|
|
@@ -444,9 +461,9 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
444
461
|
} else {
|
|
445
462
|
_push3(`<!--[-->`);
|
|
446
463
|
if (__props.testRun?.label) {
|
|
447
|
-
_push3(`<span class="font-normal text-
|
|
464
|
+
_push3(`<span class="font-normal text-zinc-500 ml-1.5 cursor-pointer hover:text-zinc-700 dark:hover:text-zinc-300 border-b border-dashed border-transparent hover:border-zinc-400"${_scopeId2}>— ${ssrInterpolate(__props.testRun.label)}</span>`);
|
|
448
465
|
} else {
|
|
449
|
-
_push3(`<button class="text-xs text-
|
|
466
|
+
_push3(`<button class="text-xs text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 border-b border-dashed border-transparent hover:border-zinc-400 ml-1.5" title="Add a label"${_scopeId2}> + label </button>`);
|
|
450
467
|
}
|
|
451
468
|
_push3(`<!--]-->`);
|
|
452
469
|
}
|
|
@@ -534,7 +551,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
534
551
|
} else {
|
|
535
552
|
_push3(`<!---->`);
|
|
536
553
|
}
|
|
537
|
-
_push3(`<span class="text-xs text-
|
|
554
|
+
_push3(`<span class="text-xs text-zinc-500 ml-auto whitespace-nowrap"${_scopeId2}>${ssrInterpolate(__props.testRun?.project?.label ?? __props.testRun?.project?.name)} · Started ${ssrInterpolate(("prettyDateFormat" in _ctx ? _ctx.prettyDateFormat : unref(prettyDateFormat))(__props.testRun?.startTime))}</span>`);
|
|
538
555
|
_push3(ssrRenderComponent(_component_UTooltip, {
|
|
539
556
|
text: unref(copied) ? "Copied!" : "Copy run summary"
|
|
540
557
|
}, {
|
|
@@ -545,7 +562,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
545
562
|
variant: "ghost",
|
|
546
563
|
color: "neutral",
|
|
547
564
|
icon: unref(copied) ? "i-lucide-check" : "i-lucide-clipboard",
|
|
548
|
-
class: "shrink-0 text-
|
|
565
|
+
class: "shrink-0 text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
|
|
549
566
|
onClick: ($event) => unref(copy)(buildRunSummary(), { toast: "Run summary copied" })
|
|
550
567
|
}, null, _parent4, _scopeId3));
|
|
551
568
|
} else {
|
|
@@ -555,7 +572,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
555
572
|
variant: "ghost",
|
|
556
573
|
color: "neutral",
|
|
557
574
|
icon: unref(copied) ? "i-lucide-check" : "i-lucide-clipboard",
|
|
558
|
-
class: "shrink-0 text-
|
|
575
|
+
class: "shrink-0 text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
|
|
559
576
|
onClick: ($event) => unref(copy)(buildRunSummary(), { toast: "Run summary copied" })
|
|
560
577
|
}, null, 8, ["icon", "onClick"])
|
|
561
578
|
];
|
|
@@ -567,19 +584,19 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
567
584
|
_push3(ssrRenderComponent(_component_UPopover, null, {
|
|
568
585
|
content: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
569
586
|
if (_push4) {
|
|
570
|
-
_push4(`<div class="p-2 space-y-1 min-w-32"${_scopeId3}><p class="text-xs font-medium text-
|
|
587
|
+
_push4(`<div class="p-2 space-y-1 min-w-32"${_scopeId3}><p class="text-xs font-medium text-zinc-500 px-2 py-1"${_scopeId3}>Mode</p><!--[-->`);
|
|
571
588
|
ssrRenderList(["file-line", "grep", "file"], (m) => {
|
|
572
|
-
_push4(`<button class="${ssrRenderClass([unref(retryMode) === m ? "bg-primary/10 text-primary" : "", "w-full text-left px-2 py-1 text-sm rounded hover:bg-
|
|
589
|
+
_push4(`<button class="${ssrRenderClass([unref(retryMode) === m ? "bg-primary/10 text-primary" : "", "w-full text-left px-2 py-1 text-sm rounded hover:bg-zinc-100 dark:hover:bg-zinc-800"])}"${_scopeId3}>${ssrInterpolate(m === "file-line" ? "File:line" : m === "grep" ? "Title (grep)" : "File only")}</button>`);
|
|
573
590
|
});
|
|
574
591
|
_push4(`<!--]--></div>`);
|
|
575
592
|
} else {
|
|
576
593
|
return [
|
|
577
594
|
createVNode("div", { class: "p-2 space-y-1 min-w-32" }, [
|
|
578
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
595
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 px-2 py-1" }, "Mode"),
|
|
579
596
|
(openBlock(), createBlock(Fragment, null, renderList(["file-line", "grep", "file"], (m) => {
|
|
580
597
|
return createVNode("button", {
|
|
581
598
|
key: m,
|
|
582
|
-
class: ["w-full text-left px-2 py-1 text-sm rounded hover:bg-
|
|
599
|
+
class: ["w-full text-left px-2 py-1 text-sm rounded hover:bg-zinc-100 dark:hover:bg-zinc-800", unref(retryMode) === m ? "bg-primary/10 text-primary" : ""],
|
|
583
600
|
onClick: ($event) => retryMode.value = m
|
|
584
601
|
}, toDisplayString(m === "file-line" ? "File:line" : m === "grep" ? "Title (grep)" : "File only"), 11, ["onClick"]);
|
|
585
602
|
}), 64))
|
|
@@ -631,13 +648,22 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
631
648
|
} else {
|
|
632
649
|
_push3(`<!---->`);
|
|
633
650
|
}
|
|
651
|
+
if (unref(failedCases).length > 0) {
|
|
652
|
+
_push3(ssrRenderComponent(_component_DesktopRunLocallyButton, {
|
|
653
|
+
"project-id": __props.testRun?.project?.id,
|
|
654
|
+
"project-label": __props.testRun?.project?.label ?? __props.testRun?.project?.name,
|
|
655
|
+
cases: unref(failedCases)
|
|
656
|
+
}, null, _parent3, _scopeId2));
|
|
657
|
+
} else {
|
|
658
|
+
_push3(`<!---->`);
|
|
659
|
+
}
|
|
634
660
|
_push3(`</div></div></div></div><div class="grid grid-cols-3 sm:grid-cols-5 gap-2"${_scopeId2}><button class="${ssrRenderClass([
|
|
635
|
-
__props.activeFilter === "all" ? "bg-
|
|
661
|
+
__props.activeFilter === "all" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated",
|
|
636
662
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer"
|
|
637
|
-
])}"${_scopeId2}><p class="text-xs font-medium text-
|
|
638
|
-
__props.activeFilter === "passed" ? "bg-
|
|
663
|
+
])}"${_scopeId2}><p class="text-xs font-medium text-zinc-500 uppercase tracking-wider"${_scopeId2}>Total</p><p class="text-xl font-bold mt-0.5"${_scopeId2}>${ssrInterpolate(__props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0)}</p></button><div class="relative"${_scopeId2}><button class="${ssrRenderClass([
|
|
664
|
+
__props.activeFilter === "passed" ? "bg-emerald-100 dark:bg-emerald-900/30 ring-2 ring-emerald-400 dark:ring-emerald-600" : "bg-emerald-50 dark:bg-emerald-900/20 hover:bg-emerald-100 dark:hover:bg-emerald-900/30",
|
|
639
665
|
"rounded-lg p-3 text-left w-full h-full transition-colors cursor-pointer"
|
|
640
|
-
])}"${_scopeId2}><p class="text-xs font-medium text-
|
|
666
|
+
])}"${_scopeId2}><p class="text-xs font-medium text-emerald-700 dark:text-emerald-400 uppercase tracking-wider"${_scopeId2}> Passed </p><p class="text-xl font-bold mt-0.5 text-emerald-600 dark:text-emerald-400"${_scopeId2}>${ssrInterpolate(__props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0)}</p></button>`);
|
|
641
667
|
if ((__props.testRun?.flakyTests ?? 0) > 0) {
|
|
642
668
|
_push3(`<button class="${ssrRenderClass([
|
|
643
669
|
__props.activeFilter === "flaky" ? "bg-orange-200 dark:bg-orange-800/60 text-orange-800 dark:text-orange-200 ring-2 ring-orange-400 dark:ring-orange-600" : "bg-orange-100 dark:bg-orange-900/40 text-orange-700 dark:text-orange-300 hover:bg-orange-200 dark:hover:bg-orange-800/60",
|
|
@@ -652,12 +678,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
652
678
|
_push3(`<!---->`);
|
|
653
679
|
}
|
|
654
680
|
_push3(`</div><button class="${ssrRenderClass([
|
|
655
|
-
__props.activeFilter === "failed" ? "bg-
|
|
681
|
+
__props.activeFilter === "failed" ? "bg-rose-100 dark:bg-rose-900/30 ring-2 ring-rose-400 dark:ring-rose-600" : "bg-rose-50 dark:bg-rose-900/20 hover:bg-rose-100 dark:hover:bg-rose-900/30",
|
|
656
682
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer"
|
|
657
|
-
])}"${_scopeId2}><p class="text-xs font-medium text-
|
|
658
|
-
__props.activeFilter === "skipped" ? "bg-
|
|
683
|
+
])}"${_scopeId2}><p class="text-xs font-medium text-rose-700 dark:text-rose-400 uppercase tracking-wider"${_scopeId2}>Failed</p><p class="text-xl font-bold mt-0.5 text-rose-600 dark:text-rose-400"${_scopeId2}>${ssrInterpolate(__props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0)}</p></button><button class="${ssrRenderClass([
|
|
684
|
+
__props.activeFilter === "skipped" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated",
|
|
659
685
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer"
|
|
660
|
-
])}"${_scopeId2}><p class="text-xs font-medium text-
|
|
686
|
+
])}"${_scopeId2}><p class="text-xs font-medium text-zinc-500 uppercase tracking-wider"${_scopeId2}>Skipped</p><p class="text-xl font-bold mt-0.5 text-zinc-600 dark:text-zinc-400"${_scopeId2}>${ssrInterpolate(__props.displayProgress?.skippedTests ?? __props.testRun?.skippedTests ?? 0)}</p></button><button class="${ssrRenderClass([
|
|
661
687
|
__props.activeFilter === "didnotrun" ? "bg-amber-100 dark:bg-amber-900/30 ring-2 ring-amber-400 dark:ring-amber-600" : "bg-amber-50 dark:bg-amber-900/20 hover:bg-amber-100 dark:hover:bg-amber-900/30",
|
|
662
688
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer"
|
|
663
689
|
])}" title="Tests that never ran (maxFailures cutoff or a serial-group failure)"${_scopeId2}><p class="text-xs font-medium text-amber-700 dark:text-amber-400 uppercase tracking-wider"${_scopeId2}> Didn't run </p><p class="text-xl font-bold mt-0.5 text-amber-600 dark:text-amber-400"${_scopeId2}>${ssrInterpolate(__props.testRun?.didNotRunTests ?? 0)}</p></button></div><div${_scopeId2}>`);
|
|
@@ -674,16 +700,25 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
674
700
|
_push3(`</div><div class="flex items-center gap-3 text-xs shrink-0"${_scopeId2}><div class="flex items-center gap-1"${_scopeId2}>`);
|
|
675
701
|
_push3(ssrRenderComponent(_component_UIcon, {
|
|
676
702
|
name: "i-lucide-clock",
|
|
677
|
-
class: "size-3.5 text-
|
|
703
|
+
class: "size-3.5 text-zinc-400"
|
|
704
|
+
}, null, _parent3, _scopeId2));
|
|
705
|
+
_push3(ssrRenderComponent(_component_DurationValue, {
|
|
706
|
+
ms: __props.testRun?.duration,
|
|
707
|
+
class: "font-medium"
|
|
678
708
|
}, null, _parent3, _scopeId2));
|
|
679
|
-
_push3(
|
|
709
|
+
_push3(`</div>`);
|
|
680
710
|
if (__props.testRun?.avgTestDuration) {
|
|
681
711
|
_push3(`<div class="flex items-center gap-1"${_scopeId2}>`);
|
|
682
712
|
_push3(ssrRenderComponent(_component_UIcon, {
|
|
683
713
|
name: "i-lucide-gauge",
|
|
684
|
-
class: "size-3.5 text-
|
|
714
|
+
class: "size-3.5 text-zinc-400"
|
|
715
|
+
}, null, _parent3, _scopeId2));
|
|
716
|
+
_push3(`<span class="text-zinc-500 hidden sm:inline"${_scopeId2}>Avg</span>`);
|
|
717
|
+
_push3(ssrRenderComponent(_component_DurationValue, {
|
|
718
|
+
ms: __props.testRun.avgTestDuration,
|
|
719
|
+
class: "font-medium"
|
|
685
720
|
}, null, _parent3, _scopeId2));
|
|
686
|
-
_push3(
|
|
721
|
+
_push3(`</div>`);
|
|
687
722
|
} else {
|
|
688
723
|
_push3(`<!---->`);
|
|
689
724
|
}
|
|
@@ -693,7 +728,13 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
693
728
|
name: "i-lucide-arrow-up-right",
|
|
694
729
|
class: "size-3.5 text-orange-500"
|
|
695
730
|
}, null, _parent3, _scopeId2));
|
|
696
|
-
_push3(`<span class="text-
|
|
731
|
+
_push3(`<span class="text-zinc-500 hidden sm:inline"${_scopeId2}>P90</span>`);
|
|
732
|
+
_push3(ssrRenderComponent(_component_DurationValue, {
|
|
733
|
+
ms: __props.testRun.p90TestDuration,
|
|
734
|
+
class: "font-medium text-orange-600 dark:text-orange-400",
|
|
735
|
+
"unit-class": "opacity-60"
|
|
736
|
+
}, null, _parent3, _scopeId2));
|
|
737
|
+
_push3(`</div>`);
|
|
697
738
|
} else {
|
|
698
739
|
_push3(`<!---->`);
|
|
699
740
|
}
|
|
@@ -703,7 +744,13 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
703
744
|
name: "i-lucide-clock",
|
|
704
745
|
class: "size-3.5 text-amber-500"
|
|
705
746
|
}, null, _parent3, _scopeId2));
|
|
706
|
-
_push3(`<span class="text-
|
|
747
|
+
_push3(`<span class="text-zinc-500 hidden sm:inline"${_scopeId2}>Wasted</span>`);
|
|
748
|
+
_push3(ssrRenderComponent(_component_DurationValue, {
|
|
749
|
+
ms: __props.totalWastedTime,
|
|
750
|
+
class: "font-medium text-amber-600 dark:text-amber-400",
|
|
751
|
+
"unit-class": "opacity-60"
|
|
752
|
+
}, null, _parent3, _scopeId2));
|
|
753
|
+
_push3(`</div>`);
|
|
707
754
|
} else {
|
|
708
755
|
_push3(`<!---->`);
|
|
709
756
|
}
|
|
@@ -732,7 +779,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
732
779
|
"onUpdate:modelValue": ($event) => isRef(labelInput) ? labelInput.value = $event : null,
|
|
733
780
|
type: "text",
|
|
734
781
|
placeholder: "Add a label...",
|
|
735
|
-
class: "inline-block w-48 text-sm font-normal border-b border-dashed border-
|
|
782
|
+
class: "inline-block w-48 text-sm font-normal border-b border-dashed border-zinc-400 bg-transparent outline-none focus:border-primary px-0.5 py-0",
|
|
736
783
|
onKeydown: onLabelKeydown,
|
|
737
784
|
onBlur: saveLabel
|
|
738
785
|
}, null, 40, ["onUpdate:modelValue"]), [
|
|
@@ -741,16 +788,16 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
741
788
|
unref(savingLabel) ? (openBlock(), createBlock(_component_UIcon, {
|
|
742
789
|
key: 0,
|
|
743
790
|
name: "i-lucide-loader-circle",
|
|
744
|
-
class: "size-3.5 text-
|
|
791
|
+
class: "size-3.5 text-zinc-400 animate-spin shrink-0"
|
|
745
792
|
})) : createCommentVNode("", true)
|
|
746
793
|
], 64)) : (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
747
794
|
__props.testRun?.label ? (openBlock(), createBlock("span", {
|
|
748
795
|
key: 0,
|
|
749
|
-
class: "font-normal text-
|
|
796
|
+
class: "font-normal text-zinc-500 ml-1.5 cursor-pointer hover:text-zinc-700 dark:hover:text-zinc-300 border-b border-dashed border-transparent hover:border-zinc-400",
|
|
750
797
|
onClick: startEditLabel
|
|
751
798
|
}, "— " + toDisplayString(__props.testRun.label), 1)) : (openBlock(), createBlock("button", {
|
|
752
799
|
key: 1,
|
|
753
|
-
class: "text-xs text-
|
|
800
|
+
class: "text-xs text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 border-b border-dashed border-transparent hover:border-zinc-400 ml-1.5",
|
|
754
801
|
title: "Add a label",
|
|
755
802
|
onClick: startEditLabel
|
|
756
803
|
}, " + label "))
|
|
@@ -795,7 +842,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
795
842
|
]),
|
|
796
843
|
_: 1
|
|
797
844
|
}, 8, ["text"])) : createCommentVNode("", true),
|
|
798
|
-
createVNode("span", { class: "text-xs text-
|
|
845
|
+
createVNode("span", { class: "text-xs text-zinc-500 ml-auto whitespace-nowrap" }, toDisplayString(__props.testRun?.project?.label ?? __props.testRun?.project?.name) + " · Started " + toDisplayString(("prettyDateFormat" in _ctx ? _ctx.prettyDateFormat : unref(prettyDateFormat))(__props.testRun?.startTime)), 1),
|
|
799
846
|
createVNode(_component_UTooltip, {
|
|
800
847
|
text: unref(copied) ? "Copied!" : "Copy run summary"
|
|
801
848
|
}, {
|
|
@@ -805,7 +852,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
805
852
|
variant: "ghost",
|
|
806
853
|
color: "neutral",
|
|
807
854
|
icon: unref(copied) ? "i-lucide-check" : "i-lucide-clipboard",
|
|
808
|
-
class: "shrink-0 text-
|
|
855
|
+
class: "shrink-0 text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
|
|
809
856
|
onClick: ($event) => unref(copy)(buildRunSummary(), { toast: "Run summary copied" })
|
|
810
857
|
}, null, 8, ["icon", "onClick"])
|
|
811
858
|
]),
|
|
@@ -814,11 +861,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
814
861
|
unref(failedCases).length > 0 ? (openBlock(), createBlock(_component_UPopover, { key: 2 }, {
|
|
815
862
|
content: withCtx(() => [
|
|
816
863
|
createVNode("div", { class: "p-2 space-y-1 min-w-32" }, [
|
|
817
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
864
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 px-2 py-1" }, "Mode"),
|
|
818
865
|
(openBlock(), createBlock(Fragment, null, renderList(["file-line", "grep", "file"], (m) => {
|
|
819
866
|
return createVNode("button", {
|
|
820
867
|
key: m,
|
|
821
|
-
class: ["w-full text-left px-2 py-1 text-sm rounded hover:bg-
|
|
868
|
+
class: ["w-full text-left px-2 py-1 text-sm rounded hover:bg-zinc-100 dark:hover:bg-zinc-800", unref(retryMode) === m ? "bg-primary/10 text-primary" : ""],
|
|
822
869
|
onClick: ($event) => retryMode.value = m
|
|
823
870
|
}, toDisplayString(m === "file-line" ? "File:line" : m === "grep" ? "Title (grep)" : "File only"), 11, ["onClick"]);
|
|
824
871
|
}), 64))
|
|
@@ -840,7 +887,13 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
840
887
|
}, 8, ["icon", "title", "onClick"])
|
|
841
888
|
]),
|
|
842
889
|
_: 1
|
|
843
|
-
})) : createCommentVNode("", true)
|
|
890
|
+
})) : createCommentVNode("", true),
|
|
891
|
+
unref(failedCases).length > 0 ? (openBlock(), createBlock(_component_DesktopRunLocallyButton, {
|
|
892
|
+
key: 3,
|
|
893
|
+
"project-id": __props.testRun?.project?.id,
|
|
894
|
+
"project-label": __props.testRun?.project?.label ?? __props.testRun?.project?.name,
|
|
895
|
+
cases: unref(failedCases)
|
|
896
|
+
}, null, 8, ["project-id", "project-label", "cases"])) : createCommentVNode("", true)
|
|
844
897
|
])
|
|
845
898
|
])
|
|
846
899
|
])
|
|
@@ -849,23 +902,23 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
849
902
|
createVNode("button", {
|
|
850
903
|
class: [
|
|
851
904
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
852
|
-
__props.activeFilter === "all" ? "bg-
|
|
905
|
+
__props.activeFilter === "all" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated"
|
|
853
906
|
],
|
|
854
907
|
onClick: ($event) => emit("filter-status", "all")
|
|
855
908
|
}, [
|
|
856
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
909
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 uppercase tracking-wider" }, "Total"),
|
|
857
910
|
createVNode("p", { class: "text-xl font-bold mt-0.5" }, toDisplayString(__props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0), 1)
|
|
858
911
|
], 10, ["onClick"]),
|
|
859
912
|
createVNode("div", { class: "relative" }, [
|
|
860
913
|
createVNode("button", {
|
|
861
914
|
class: [
|
|
862
915
|
"rounded-lg p-3 text-left w-full h-full transition-colors cursor-pointer",
|
|
863
|
-
__props.activeFilter === "passed" ? "bg-
|
|
916
|
+
__props.activeFilter === "passed" ? "bg-emerald-100 dark:bg-emerald-900/30 ring-2 ring-emerald-400 dark:ring-emerald-600" : "bg-emerald-50 dark:bg-emerald-900/20 hover:bg-emerald-100 dark:hover:bg-emerald-900/30"
|
|
864
917
|
],
|
|
865
918
|
onClick: ($event) => emit("filter-status", "passed")
|
|
866
919
|
}, [
|
|
867
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
868
|
-
createVNode("p", { class: "text-xl font-bold mt-0.5 text-
|
|
920
|
+
createVNode("p", { class: "text-xs font-medium text-emerald-700 dark:text-emerald-400 uppercase tracking-wider" }, " Passed "),
|
|
921
|
+
createVNode("p", { class: "text-xl font-bold mt-0.5 text-emerald-600 dark:text-emerald-400" }, toDisplayString(__props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0), 1)
|
|
869
922
|
], 10, ["onClick"]),
|
|
870
923
|
(__props.testRun?.flakyTests ?? 0) > 0 ? (openBlock(), createBlock("button", {
|
|
871
924
|
key: 0,
|
|
@@ -886,22 +939,22 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
886
939
|
createVNode("button", {
|
|
887
940
|
class: [
|
|
888
941
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
889
|
-
__props.activeFilter === "failed" ? "bg-
|
|
942
|
+
__props.activeFilter === "failed" ? "bg-rose-100 dark:bg-rose-900/30 ring-2 ring-rose-400 dark:ring-rose-600" : "bg-rose-50 dark:bg-rose-900/20 hover:bg-rose-100 dark:hover:bg-rose-900/30"
|
|
890
943
|
],
|
|
891
944
|
onClick: ($event) => emit("filter-status", "failed")
|
|
892
945
|
}, [
|
|
893
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
894
|
-
createVNode("p", { class: "text-xl font-bold mt-0.5 text-
|
|
946
|
+
createVNode("p", { class: "text-xs font-medium text-rose-700 dark:text-rose-400 uppercase tracking-wider" }, "Failed"),
|
|
947
|
+
createVNode("p", { class: "text-xl font-bold mt-0.5 text-rose-600 dark:text-rose-400" }, toDisplayString(__props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0), 1)
|
|
895
948
|
], 10, ["onClick"]),
|
|
896
949
|
createVNode("button", {
|
|
897
950
|
class: [
|
|
898
951
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
899
|
-
__props.activeFilter === "skipped" ? "bg-
|
|
952
|
+
__props.activeFilter === "skipped" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated"
|
|
900
953
|
],
|
|
901
954
|
onClick: ($event) => emit("filter-status", "skipped")
|
|
902
955
|
}, [
|
|
903
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
904
|
-
createVNode("p", { class: "text-xl font-bold mt-0.5 text-
|
|
956
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 uppercase tracking-wider" }, "Skipped"),
|
|
957
|
+
createVNode("p", { class: "text-xl font-bold mt-0.5 text-zinc-600 dark:text-zinc-400" }, toDisplayString(__props.displayProgress?.skippedTests ?? __props.testRun?.skippedTests ?? 0), 1)
|
|
905
958
|
], 10, ["onClick"]),
|
|
906
959
|
createVNode("button", {
|
|
907
960
|
class: [
|
|
@@ -934,9 +987,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
934
987
|
createVNode("div", { class: "flex items-center gap-1" }, [
|
|
935
988
|
createVNode(_component_UIcon, {
|
|
936
989
|
name: "i-lucide-clock",
|
|
937
|
-
class: "size-3.5 text-
|
|
990
|
+
class: "size-3.5 text-zinc-400"
|
|
938
991
|
}),
|
|
939
|
-
createVNode(
|
|
992
|
+
createVNode(_component_DurationValue, {
|
|
993
|
+
ms: __props.testRun?.duration,
|
|
994
|
+
class: "font-medium"
|
|
995
|
+
}, null, 8, ["ms"])
|
|
940
996
|
]),
|
|
941
997
|
__props.testRun?.avgTestDuration ? (openBlock(), createBlock("div", {
|
|
942
998
|
key: 0,
|
|
@@ -944,10 +1000,13 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
944
1000
|
}, [
|
|
945
1001
|
createVNode(_component_UIcon, {
|
|
946
1002
|
name: "i-lucide-gauge",
|
|
947
|
-
class: "size-3.5 text-
|
|
1003
|
+
class: "size-3.5 text-zinc-400"
|
|
948
1004
|
}),
|
|
949
|
-
createVNode("span", { class: "text-
|
|
950
|
-
createVNode(
|
|
1005
|
+
createVNode("span", { class: "text-zinc-500 hidden sm:inline" }, "Avg"),
|
|
1006
|
+
createVNode(_component_DurationValue, {
|
|
1007
|
+
ms: __props.testRun.avgTestDuration,
|
|
1008
|
+
class: "font-medium"
|
|
1009
|
+
}, null, 8, ["ms"])
|
|
951
1010
|
])) : createCommentVNode("", true),
|
|
952
1011
|
__props.testRun?.p90TestDuration ? (openBlock(), createBlock("div", {
|
|
953
1012
|
key: 1,
|
|
@@ -957,8 +1016,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
957
1016
|
name: "i-lucide-arrow-up-right",
|
|
958
1017
|
class: "size-3.5 text-orange-500"
|
|
959
1018
|
}),
|
|
960
|
-
createVNode("span", { class: "text-
|
|
961
|
-
createVNode(
|
|
1019
|
+
createVNode("span", { class: "text-zinc-500 hidden sm:inline" }, "P90"),
|
|
1020
|
+
createVNode(_component_DurationValue, {
|
|
1021
|
+
ms: __props.testRun.p90TestDuration,
|
|
1022
|
+
class: "font-medium text-orange-600 dark:text-orange-400",
|
|
1023
|
+
"unit-class": "opacity-60"
|
|
1024
|
+
}, null, 8, ["ms"])
|
|
962
1025
|
])) : createCommentVNode("", true),
|
|
963
1026
|
__props.totalWastedTime && __props.totalWastedTime > 0 ? (openBlock(), createBlock("div", {
|
|
964
1027
|
key: 2,
|
|
@@ -968,8 +1031,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
968
1031
|
name: "i-lucide-clock",
|
|
969
1032
|
class: "size-3.5 text-amber-500"
|
|
970
1033
|
}),
|
|
971
|
-
createVNode("span", { class: "text-
|
|
972
|
-
createVNode(
|
|
1034
|
+
createVNode("span", { class: "text-zinc-500 hidden sm:inline" }, "Wasted"),
|
|
1035
|
+
createVNode(_component_DurationValue, {
|
|
1036
|
+
ms: __props.totalWastedTime,
|
|
1037
|
+
class: "font-medium text-amber-600 dark:text-amber-400",
|
|
1038
|
+
"unit-class": "opacity-60"
|
|
1039
|
+
}, null, 8, ["ms"])
|
|
973
1040
|
])) : createCommentVNode("", true)
|
|
974
1041
|
])
|
|
975
1042
|
])) : createCommentVNode("", true)
|
|
@@ -1016,7 +1083,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1016
1083
|
name: "i-lucide-upload",
|
|
1017
1084
|
class: "size-5 text-info shrink-0 animate-pulse"
|
|
1018
1085
|
}, null, _parent3, _scopeId2));
|
|
1019
|
-
_push3(`<div class="flex-1 min-w-0"${_scopeId2}><div class="flex items-center justify-between mb-1"${_scopeId2}><span class="text-sm font-medium"${_scopeId2}>Finalizing test run</span><span class="text-xs text-
|
|
1086
|
+
_push3(`<div class="flex-1 min-w-0"${_scopeId2}><div class="flex items-center justify-between mb-1"${_scopeId2}><span class="text-sm font-medium"${_scopeId2}>Finalizing test run</span><span class="text-xs text-zinc-500"${_scopeId2}>Uploading reports & traces…</span></div>`);
|
|
1020
1087
|
_push3(ssrRenderComponent(_component_UProgress, {
|
|
1021
1088
|
value: null,
|
|
1022
1089
|
size: "sm",
|
|
@@ -1032,7 +1099,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1032
1099
|
ssrRenderList(__props.allReports, (report) => {
|
|
1033
1100
|
_push3(`<div class="flex items-center justify-between gap-2 min-w-0"${_scopeId2}>`);
|
|
1034
1101
|
_push3(ssrRenderComponent(_component_UButton, {
|
|
1035
|
-
href:
|
|
1102
|
+
href: ("fileApiUrl" in _ctx ? _ctx.fileApiUrl : unref(fileApiUrl))(report.path, null, unref(config).app?.baseURL),
|
|
1036
1103
|
icon: ("reportIcon" in _ctx ? _ctx.reportIcon : unref(reportIcon))(report.type),
|
|
1037
1104
|
target: "_blank",
|
|
1038
1105
|
size: "xs",
|
|
@@ -1051,11 +1118,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1051
1118
|
}),
|
|
1052
1119
|
_: 2
|
|
1053
1120
|
}, _parent3, _scopeId2));
|
|
1054
|
-
_push3(`<span class="text-xs tabular-nums text-
|
|
1121
|
+
_push3(`<span class="text-xs tabular-nums text-zinc-400 dark:text-zinc-500 shrink-0"${_scopeId2}>${ssrInterpolate(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(report.size))}</span></div>`);
|
|
1055
1122
|
});
|
|
1056
1123
|
_push3(`<!--]-->`);
|
|
1057
1124
|
if (unref(storageStats).testCaseFilesCount > 0) {
|
|
1058
|
-
_push3(`<div class="flex items-center justify-between gap-2 min-w-0"${_scopeId2}><span class="truncate"${_scopeId2}>Test files (${ssrInterpolate(unref(storageStats).testCaseFilesCount)})</span><span class="text-xs tabular-nums text-
|
|
1125
|
+
_push3(`<div class="flex items-center justify-between gap-2 min-w-0"${_scopeId2}><span class="truncate"${_scopeId2}>Test files (${ssrInterpolate(unref(storageStats).testCaseFilesCount)})</span><span class="text-xs tabular-nums text-zinc-400 dark:text-zinc-500 shrink-0"${_scopeId2}>${ssrInterpolate(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(unref(storageStats).testCaseFilesSize))}</span></div>`);
|
|
1059
1126
|
} else {
|
|
1060
1127
|
_push3(`<!---->`);
|
|
1061
1128
|
}
|
|
@@ -1076,7 +1143,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1076
1143
|
createVNode("div", { class: "flex-1 min-w-0" }, [
|
|
1077
1144
|
createVNode("div", { class: "flex items-center justify-between mb-1" }, [
|
|
1078
1145
|
createVNode("span", { class: "text-sm font-medium" }, "Finalizing test run"),
|
|
1079
|
-
createVNode("span", { class: "text-xs text-
|
|
1146
|
+
createVNode("span", { class: "text-xs text-zinc-500" }, "Uploading reports & traces…")
|
|
1080
1147
|
]),
|
|
1081
1148
|
createVNode(_component_UProgress, {
|
|
1082
1149
|
value: null,
|
|
@@ -1096,7 +1163,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1096
1163
|
class: "flex items-center justify-between gap-2 min-w-0"
|
|
1097
1164
|
}, [
|
|
1098
1165
|
createVNode(_component_UButton, {
|
|
1099
|
-
href:
|
|
1166
|
+
href: ("fileApiUrl" in _ctx ? _ctx.fileApiUrl : unref(fileApiUrl))(report.path, null, unref(config).app?.baseURL),
|
|
1100
1167
|
icon: ("reportIcon" in _ctx ? _ctx.reportIcon : unref(reportIcon))(report.type),
|
|
1101
1168
|
target: "_blank",
|
|
1102
1169
|
size: "xs",
|
|
@@ -1109,7 +1176,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1109
1176
|
]),
|
|
1110
1177
|
_: 2
|
|
1111
1178
|
}, 1032, ["href", "icon"]),
|
|
1112
|
-
createVNode("span", { class: "text-xs tabular-nums text-
|
|
1179
|
+
createVNode("span", { class: "text-xs tabular-nums text-zinc-400 dark:text-zinc-500 shrink-0" }, toDisplayString(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(report.size)), 1)
|
|
1113
1180
|
]);
|
|
1114
1181
|
}), 128)),
|
|
1115
1182
|
unref(storageStats).testCaseFilesCount > 0 ? (openBlock(), createBlock("div", {
|
|
@@ -1117,7 +1184,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1117
1184
|
class: "flex items-center justify-between gap-2 min-w-0"
|
|
1118
1185
|
}, [
|
|
1119
1186
|
createVNode("span", { class: "truncate" }, "Test files (" + toDisplayString(unref(storageStats).testCaseFilesCount) + ")", 1),
|
|
1120
|
-
createVNode("span", { class: "text-xs tabular-nums text-
|
|
1187
|
+
createVNode("span", { class: "text-xs tabular-nums text-zinc-400 dark:text-zinc-500 shrink-0" }, toDisplayString(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(unref(storageStats).testCaseFilesSize)), 1)
|
|
1121
1188
|
])) : createCommentVNode("", true)
|
|
1122
1189
|
])) : createCommentVNode("", true)
|
|
1123
1190
|
];
|
|
@@ -1167,7 +1234,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1167
1234
|
_push3(`<p class="flex items-center gap-1"${_scopeId2}>`);
|
|
1168
1235
|
_push3(ssrRenderComponent(_component_UIcon, {
|
|
1169
1236
|
name: "i-lucide-link",
|
|
1170
|
-
class: "w-3.5 h-3.5 text-
|
|
1237
|
+
class: "w-3.5 h-3.5 text-zinc-400 shrink-0"
|
|
1171
1238
|
}, null, _parent3, _scopeId2));
|
|
1172
1239
|
_push3(`<span${_scopeId2}>${ssrInterpolate(__props.testRun.metadata.relatedIssue)}</span></p>`);
|
|
1173
1240
|
} else {
|
|
@@ -1202,7 +1269,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1202
1269
|
_push3(`<!---->`);
|
|
1203
1270
|
}
|
|
1204
1271
|
if (__props.showCustomData && __props.testRun.metadata.customData) {
|
|
1205
|
-
_push3(`<div${_scopeId2}><div class="bg-
|
|
1272
|
+
_push3(`<div${_scopeId2}><div class="bg-zinc-50 dark:bg-zinc-900 p-2.5 rounded text-xs font-mono overflow-x-auto max-h-48 overflow-y-auto"${_scopeId2}><pre class="m-0"${_scopeId2}>${ssrInterpolate(JSON.stringify(__props.testRun.metadata.customData, null, 2))}</pre></div></div>`);
|
|
1206
1273
|
} else {
|
|
1207
1274
|
_push3(`<!---->`);
|
|
1208
1275
|
}
|
|
@@ -1233,7 +1300,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1233
1300
|
}, [
|
|
1234
1301
|
createVNode(_component_UIcon, {
|
|
1235
1302
|
name: "i-lucide-link",
|
|
1236
|
-
class: "w-3.5 h-3.5 text-
|
|
1303
|
+
class: "w-3.5 h-3.5 text-zinc-400 shrink-0"
|
|
1237
1304
|
}),
|
|
1238
1305
|
createVNode("span", null, toDisplayString(__props.testRun.metadata.relatedIssue), 1)
|
|
1239
1306
|
])) : createCommentVNode("", true),
|
|
@@ -1257,7 +1324,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1257
1324
|
_: 1
|
|
1258
1325
|
}, 8, ["icon", "onClick"])) : createCommentVNode("", true),
|
|
1259
1326
|
__props.showCustomData && __props.testRun.metadata.customData ? (openBlock(), createBlock("div", { key: 3 }, [
|
|
1260
|
-
createVNode("div", { class: "bg-
|
|
1327
|
+
createVNode("div", { class: "bg-zinc-50 dark:bg-zinc-900 p-2.5 rounded text-xs font-mono overflow-x-auto max-h-48 overflow-y-auto" }, [
|
|
1261
1328
|
createVNode("pre", { class: "m-0" }, toDisplayString(JSON.stringify(__props.testRun.metadata.customData, null, 2)), 1)
|
|
1262
1329
|
])
|
|
1263
1330
|
])) : createCommentVNode("", true)
|
|
@@ -1295,7 +1362,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1295
1362
|
"onUpdate:modelValue": ($event) => isRef(labelInput) ? labelInput.value = $event : null,
|
|
1296
1363
|
type: "text",
|
|
1297
1364
|
placeholder: "Add a label...",
|
|
1298
|
-
class: "inline-block w-48 text-sm font-normal border-b border-dashed border-
|
|
1365
|
+
class: "inline-block w-48 text-sm font-normal border-b border-dashed border-zinc-400 bg-transparent outline-none focus:border-primary px-0.5 py-0",
|
|
1299
1366
|
onKeydown: onLabelKeydown,
|
|
1300
1367
|
onBlur: saveLabel
|
|
1301
1368
|
}, null, 40, ["onUpdate:modelValue"]), [
|
|
@@ -1304,16 +1371,16 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1304
1371
|
unref(savingLabel) ? (openBlock(), createBlock(_component_UIcon, {
|
|
1305
1372
|
key: 0,
|
|
1306
1373
|
name: "i-lucide-loader-circle",
|
|
1307
|
-
class: "size-3.5 text-
|
|
1374
|
+
class: "size-3.5 text-zinc-400 animate-spin shrink-0"
|
|
1308
1375
|
})) : createCommentVNode("", true)
|
|
1309
1376
|
], 64)) : (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
1310
1377
|
__props.testRun?.label ? (openBlock(), createBlock("span", {
|
|
1311
1378
|
key: 0,
|
|
1312
|
-
class: "font-normal text-
|
|
1379
|
+
class: "font-normal text-zinc-500 ml-1.5 cursor-pointer hover:text-zinc-700 dark:hover:text-zinc-300 border-b border-dashed border-transparent hover:border-zinc-400",
|
|
1313
1380
|
onClick: startEditLabel
|
|
1314
1381
|
}, "— " + toDisplayString(__props.testRun.label), 1)) : (openBlock(), createBlock("button", {
|
|
1315
1382
|
key: 1,
|
|
1316
|
-
class: "text-xs text-
|
|
1383
|
+
class: "text-xs text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300 border-b border-dashed border-transparent hover:border-zinc-400 ml-1.5",
|
|
1317
1384
|
title: "Add a label",
|
|
1318
1385
|
onClick: startEditLabel
|
|
1319
1386
|
}, " + label "))
|
|
@@ -1358,7 +1425,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1358
1425
|
]),
|
|
1359
1426
|
_: 1
|
|
1360
1427
|
}, 8, ["text"])) : createCommentVNode("", true),
|
|
1361
|
-
createVNode("span", { class: "text-xs text-
|
|
1428
|
+
createVNode("span", { class: "text-xs text-zinc-500 ml-auto whitespace-nowrap" }, toDisplayString(__props.testRun?.project?.label ?? __props.testRun?.project?.name) + " · Started " + toDisplayString(("prettyDateFormat" in _ctx ? _ctx.prettyDateFormat : unref(prettyDateFormat))(__props.testRun?.startTime)), 1),
|
|
1362
1429
|
createVNode(_component_UTooltip, {
|
|
1363
1430
|
text: unref(copied) ? "Copied!" : "Copy run summary"
|
|
1364
1431
|
}, {
|
|
@@ -1368,7 +1435,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1368
1435
|
variant: "ghost",
|
|
1369
1436
|
color: "neutral",
|
|
1370
1437
|
icon: unref(copied) ? "i-lucide-check" : "i-lucide-clipboard",
|
|
1371
|
-
class: "shrink-0 text-
|
|
1438
|
+
class: "shrink-0 text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
|
|
1372
1439
|
onClick: ($event) => unref(copy)(buildRunSummary(), { toast: "Run summary copied" })
|
|
1373
1440
|
}, null, 8, ["icon", "onClick"])
|
|
1374
1441
|
]),
|
|
@@ -1377,11 +1444,11 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1377
1444
|
unref(failedCases).length > 0 ? (openBlock(), createBlock(_component_UPopover, { key: 2 }, {
|
|
1378
1445
|
content: withCtx(() => [
|
|
1379
1446
|
createVNode("div", { class: "p-2 space-y-1 min-w-32" }, [
|
|
1380
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
1447
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 px-2 py-1" }, "Mode"),
|
|
1381
1448
|
(openBlock(), createBlock(Fragment, null, renderList(["file-line", "grep", "file"], (m) => {
|
|
1382
1449
|
return createVNode("button", {
|
|
1383
1450
|
key: m,
|
|
1384
|
-
class: ["w-full text-left px-2 py-1 text-sm rounded hover:bg-
|
|
1451
|
+
class: ["w-full text-left px-2 py-1 text-sm rounded hover:bg-zinc-100 dark:hover:bg-zinc-800", unref(retryMode) === m ? "bg-primary/10 text-primary" : ""],
|
|
1385
1452
|
onClick: ($event) => retryMode.value = m
|
|
1386
1453
|
}, toDisplayString(m === "file-line" ? "File:line" : m === "grep" ? "Title (grep)" : "File only"), 11, ["onClick"]);
|
|
1387
1454
|
}), 64))
|
|
@@ -1403,7 +1470,13 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1403
1470
|
}, 8, ["icon", "title", "onClick"])
|
|
1404
1471
|
]),
|
|
1405
1472
|
_: 1
|
|
1406
|
-
})) : createCommentVNode("", true)
|
|
1473
|
+
})) : createCommentVNode("", true),
|
|
1474
|
+
unref(failedCases).length > 0 ? (openBlock(), createBlock(_component_DesktopRunLocallyButton, {
|
|
1475
|
+
key: 3,
|
|
1476
|
+
"project-id": __props.testRun?.project?.id,
|
|
1477
|
+
"project-label": __props.testRun?.project?.label ?? __props.testRun?.project?.name,
|
|
1478
|
+
cases: unref(failedCases)
|
|
1479
|
+
}, null, 8, ["project-id", "project-label", "cases"])) : createCommentVNode("", true)
|
|
1407
1480
|
])
|
|
1408
1481
|
])
|
|
1409
1482
|
])
|
|
@@ -1412,23 +1485,23 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1412
1485
|
createVNode("button", {
|
|
1413
1486
|
class: [
|
|
1414
1487
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1415
|
-
__props.activeFilter === "all" ? "bg-
|
|
1488
|
+
__props.activeFilter === "all" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated"
|
|
1416
1489
|
],
|
|
1417
1490
|
onClick: ($event) => emit("filter-status", "all")
|
|
1418
1491
|
}, [
|
|
1419
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
1492
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 uppercase tracking-wider" }, "Total"),
|
|
1420
1493
|
createVNode("p", { class: "text-xl font-bold mt-0.5" }, toDisplayString(__props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0), 1)
|
|
1421
1494
|
], 10, ["onClick"]),
|
|
1422
1495
|
createVNode("div", { class: "relative" }, [
|
|
1423
1496
|
createVNode("button", {
|
|
1424
1497
|
class: [
|
|
1425
1498
|
"rounded-lg p-3 text-left w-full h-full transition-colors cursor-pointer",
|
|
1426
|
-
__props.activeFilter === "passed" ? "bg-
|
|
1499
|
+
__props.activeFilter === "passed" ? "bg-emerald-100 dark:bg-emerald-900/30 ring-2 ring-emerald-400 dark:ring-emerald-600" : "bg-emerald-50 dark:bg-emerald-900/20 hover:bg-emerald-100 dark:hover:bg-emerald-900/30"
|
|
1427
1500
|
],
|
|
1428
1501
|
onClick: ($event) => emit("filter-status", "passed")
|
|
1429
1502
|
}, [
|
|
1430
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
1431
|
-
createVNode("p", { class: "text-xl font-bold mt-0.5 text-
|
|
1503
|
+
createVNode("p", { class: "text-xs font-medium text-emerald-700 dark:text-emerald-400 uppercase tracking-wider" }, " Passed "),
|
|
1504
|
+
createVNode("p", { class: "text-xl font-bold mt-0.5 text-emerald-600 dark:text-emerald-400" }, toDisplayString(__props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0), 1)
|
|
1432
1505
|
], 10, ["onClick"]),
|
|
1433
1506
|
(__props.testRun?.flakyTests ?? 0) > 0 ? (openBlock(), createBlock("button", {
|
|
1434
1507
|
key: 0,
|
|
@@ -1449,22 +1522,22 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1449
1522
|
createVNode("button", {
|
|
1450
1523
|
class: [
|
|
1451
1524
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1452
|
-
__props.activeFilter === "failed" ? "bg-
|
|
1525
|
+
__props.activeFilter === "failed" ? "bg-rose-100 dark:bg-rose-900/30 ring-2 ring-rose-400 dark:ring-rose-600" : "bg-rose-50 dark:bg-rose-900/20 hover:bg-rose-100 dark:hover:bg-rose-900/30"
|
|
1453
1526
|
],
|
|
1454
1527
|
onClick: ($event) => emit("filter-status", "failed")
|
|
1455
1528
|
}, [
|
|
1456
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
1457
|
-
createVNode("p", { class: "text-xl font-bold mt-0.5 text-
|
|
1529
|
+
createVNode("p", { class: "text-xs font-medium text-rose-700 dark:text-rose-400 uppercase tracking-wider" }, "Failed"),
|
|
1530
|
+
createVNode("p", { class: "text-xl font-bold mt-0.5 text-rose-600 dark:text-rose-400" }, toDisplayString(__props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0), 1)
|
|
1458
1531
|
], 10, ["onClick"]),
|
|
1459
1532
|
createVNode("button", {
|
|
1460
1533
|
class: [
|
|
1461
1534
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1462
|
-
__props.activeFilter === "skipped" ? "bg-
|
|
1535
|
+
__props.activeFilter === "skipped" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated"
|
|
1463
1536
|
],
|
|
1464
1537
|
onClick: ($event) => emit("filter-status", "skipped")
|
|
1465
1538
|
}, [
|
|
1466
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
1467
|
-
createVNode("p", { class: "text-xl font-bold mt-0.5 text-
|
|
1539
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 uppercase tracking-wider" }, "Skipped"),
|
|
1540
|
+
createVNode("p", { class: "text-xl font-bold mt-0.5 text-zinc-600 dark:text-zinc-400" }, toDisplayString(__props.displayProgress?.skippedTests ?? __props.testRun?.skippedTests ?? 0), 1)
|
|
1468
1541
|
], 10, ["onClick"]),
|
|
1469
1542
|
createVNode("button", {
|
|
1470
1543
|
class: [
|
|
@@ -1497,9 +1570,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1497
1570
|
createVNode("div", { class: "flex items-center gap-1" }, [
|
|
1498
1571
|
createVNode(_component_UIcon, {
|
|
1499
1572
|
name: "i-lucide-clock",
|
|
1500
|
-
class: "size-3.5 text-
|
|
1573
|
+
class: "size-3.5 text-zinc-400"
|
|
1501
1574
|
}),
|
|
1502
|
-
createVNode(
|
|
1575
|
+
createVNode(_component_DurationValue, {
|
|
1576
|
+
ms: __props.testRun?.duration,
|
|
1577
|
+
class: "font-medium"
|
|
1578
|
+
}, null, 8, ["ms"])
|
|
1503
1579
|
]),
|
|
1504
1580
|
__props.testRun?.avgTestDuration ? (openBlock(), createBlock("div", {
|
|
1505
1581
|
key: 0,
|
|
@@ -1507,10 +1583,13 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1507
1583
|
}, [
|
|
1508
1584
|
createVNode(_component_UIcon, {
|
|
1509
1585
|
name: "i-lucide-gauge",
|
|
1510
|
-
class: "size-3.5 text-
|
|
1586
|
+
class: "size-3.5 text-zinc-400"
|
|
1511
1587
|
}),
|
|
1512
|
-
createVNode("span", { class: "text-
|
|
1513
|
-
createVNode(
|
|
1588
|
+
createVNode("span", { class: "text-zinc-500 hidden sm:inline" }, "Avg"),
|
|
1589
|
+
createVNode(_component_DurationValue, {
|
|
1590
|
+
ms: __props.testRun.avgTestDuration,
|
|
1591
|
+
class: "font-medium"
|
|
1592
|
+
}, null, 8, ["ms"])
|
|
1514
1593
|
])) : createCommentVNode("", true),
|
|
1515
1594
|
__props.testRun?.p90TestDuration ? (openBlock(), createBlock("div", {
|
|
1516
1595
|
key: 1,
|
|
@@ -1520,8 +1599,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1520
1599
|
name: "i-lucide-arrow-up-right",
|
|
1521
1600
|
class: "size-3.5 text-orange-500"
|
|
1522
1601
|
}),
|
|
1523
|
-
createVNode("span", { class: "text-
|
|
1524
|
-
createVNode(
|
|
1602
|
+
createVNode("span", { class: "text-zinc-500 hidden sm:inline" }, "P90"),
|
|
1603
|
+
createVNode(_component_DurationValue, {
|
|
1604
|
+
ms: __props.testRun.p90TestDuration,
|
|
1605
|
+
class: "font-medium text-orange-600 dark:text-orange-400",
|
|
1606
|
+
"unit-class": "opacity-60"
|
|
1607
|
+
}, null, 8, ["ms"])
|
|
1525
1608
|
])) : createCommentVNode("", true),
|
|
1526
1609
|
__props.totalWastedTime && __props.totalWastedTime > 0 ? (openBlock(), createBlock("div", {
|
|
1527
1610
|
key: 2,
|
|
@@ -1531,8 +1614,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1531
1614
|
name: "i-lucide-clock",
|
|
1532
1615
|
class: "size-3.5 text-amber-500"
|
|
1533
1616
|
}),
|
|
1534
|
-
createVNode("span", { class: "text-
|
|
1535
|
-
createVNode(
|
|
1617
|
+
createVNode("span", { class: "text-zinc-500 hidden sm:inline" }, "Wasted"),
|
|
1618
|
+
createVNode(_component_DurationValue, {
|
|
1619
|
+
ms: __props.totalWastedTime,
|
|
1620
|
+
class: "font-medium text-amber-600 dark:text-amber-400",
|
|
1621
|
+
"unit-class": "opacity-60"
|
|
1622
|
+
}, null, 8, ["ms"])
|
|
1536
1623
|
])) : createCommentVNode("", true)
|
|
1537
1624
|
])
|
|
1538
1625
|
])) : createCommentVNode("", true)
|
|
@@ -1575,7 +1662,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1575
1662
|
createVNode("div", { class: "flex-1 min-w-0" }, [
|
|
1576
1663
|
createVNode("div", { class: "flex items-center justify-between mb-1" }, [
|
|
1577
1664
|
createVNode("span", { class: "text-sm font-medium" }, "Finalizing test run"),
|
|
1578
|
-
createVNode("span", { class: "text-xs text-
|
|
1665
|
+
createVNode("span", { class: "text-xs text-zinc-500" }, "Uploading reports & traces…")
|
|
1579
1666
|
]),
|
|
1580
1667
|
createVNode(_component_UProgress, {
|
|
1581
1668
|
value: null,
|
|
@@ -1595,7 +1682,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1595
1682
|
class: "flex items-center justify-between gap-2 min-w-0"
|
|
1596
1683
|
}, [
|
|
1597
1684
|
createVNode(_component_UButton, {
|
|
1598
|
-
href:
|
|
1685
|
+
href: ("fileApiUrl" in _ctx ? _ctx.fileApiUrl : unref(fileApiUrl))(report.path, null, unref(config).app?.baseURL),
|
|
1599
1686
|
icon: ("reportIcon" in _ctx ? _ctx.reportIcon : unref(reportIcon))(report.type),
|
|
1600
1687
|
target: "_blank",
|
|
1601
1688
|
size: "xs",
|
|
@@ -1608,7 +1695,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1608
1695
|
]),
|
|
1609
1696
|
_: 2
|
|
1610
1697
|
}, 1032, ["href", "icon"]),
|
|
1611
|
-
createVNode("span", { class: "text-xs tabular-nums text-
|
|
1698
|
+
createVNode("span", { class: "text-xs tabular-nums text-zinc-400 dark:text-zinc-500 shrink-0" }, toDisplayString(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(report.size)), 1)
|
|
1612
1699
|
]);
|
|
1613
1700
|
}), 128)),
|
|
1614
1701
|
unref(storageStats).testCaseFilesCount > 0 ? (openBlock(), createBlock("div", {
|
|
@@ -1616,7 +1703,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1616
1703
|
class: "flex items-center justify-between gap-2 min-w-0"
|
|
1617
1704
|
}, [
|
|
1618
1705
|
createVNode("span", { class: "truncate" }, "Test files (" + toDisplayString(unref(storageStats).testCaseFilesCount) + ")", 1),
|
|
1619
|
-
createVNode("span", { class: "text-xs tabular-nums text-
|
|
1706
|
+
createVNode("span", { class: "text-xs tabular-nums text-zinc-400 dark:text-zinc-500 shrink-0" }, toDisplayString(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(unref(storageStats).testCaseFilesSize)), 1)
|
|
1620
1707
|
])) : createCommentVNode("", true)
|
|
1621
1708
|
])) : createCommentVNode("", true)
|
|
1622
1709
|
]),
|
|
@@ -1654,7 +1741,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1654
1741
|
}, [
|
|
1655
1742
|
createVNode(_component_UIcon, {
|
|
1656
1743
|
name: "i-lucide-link",
|
|
1657
|
-
class: "w-3.5 h-3.5 text-
|
|
1744
|
+
class: "w-3.5 h-3.5 text-zinc-400 shrink-0"
|
|
1658
1745
|
}),
|
|
1659
1746
|
createVNode("span", null, toDisplayString(__props.testRun.metadata.relatedIssue), 1)
|
|
1660
1747
|
])) : createCommentVNode("", true),
|
|
@@ -1678,7 +1765,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1678
1765
|
_: 1
|
|
1679
1766
|
}, 8, ["icon", "onClick"])) : createCommentVNode("", true),
|
|
1680
1767
|
__props.showCustomData && __props.testRun.metadata.customData ? (openBlock(), createBlock("div", { key: 3 }, [
|
|
1681
|
-
createVNode("div", { class: "bg-
|
|
1768
|
+
createVNode("div", { class: "bg-zinc-50 dark:bg-zinc-900 p-2.5 rounded text-xs font-mono overflow-x-auto max-h-48 overflow-y-auto" }, [
|
|
1682
1769
|
createVNode("pre", { class: "m-0" }, toDisplayString(JSON.stringify(__props.testRun.metadata.customData, null, 2)), 1)
|
|
1683
1770
|
])
|
|
1684
1771
|
])) : createCommentVNode("", true)
|
|
@@ -1695,36 +1782,27 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
|
1695
1782
|
};
|
|
1696
1783
|
}
|
|
1697
1784
|
});
|
|
1698
|
-
const _sfc_setup$
|
|
1699
|
-
_sfc_main$
|
|
1785
|
+
const _sfc_setup$f = _sfc_main$f.setup;
|
|
1786
|
+
_sfc_main$f.setup = (props, ctx) => {
|
|
1700
1787
|
const ssrContext = useSSRContext();
|
|
1701
1788
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/run/RunSummary.vue");
|
|
1702
|
-
return _sfc_setup$
|
|
1789
|
+
return _sfc_setup$f ? _sfc_setup$f(props, ctx) : void 0;
|
|
1703
1790
|
};
|
|
1704
|
-
const __nuxt_component_9$1 = Object.assign(_sfc_main$
|
|
1705
|
-
const _sfc_main$
|
|
1706
|
-
__name: "
|
|
1791
|
+
const __nuxt_component_9$1 = Object.assign(_sfc_main$f, { __name: "RunSummary" });
|
|
1792
|
+
const _sfc_main$e = /* @__PURE__ */ defineComponent({
|
|
1793
|
+
__name: "TestRowBadges",
|
|
1707
1794
|
__ssrInlineRender: true,
|
|
1708
1795
|
props: {
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1796
|
+
mode: { default: null },
|
|
1797
|
+
isNewRegression: { type: [Boolean, null], default: false },
|
|
1798
|
+
isNewFlaky: { type: [Boolean, null], default: false },
|
|
1799
|
+
annotations: { default: null },
|
|
1800
|
+
tags: { default: null },
|
|
1801
|
+
meta: { default: null },
|
|
1802
|
+
maxTags: { default: 0 }
|
|
1715
1803
|
},
|
|
1716
1804
|
setup(__props) {
|
|
1717
1805
|
const props = __props;
|
|
1718
|
-
const suiteLookup = computed(() => {
|
|
1719
|
-
const map = /* @__PURE__ */ new Map();
|
|
1720
|
-
for (const s of props.suites) {
|
|
1721
|
-
map.set(`${s.filePath}${s.suitePath.join("")}`, s);
|
|
1722
|
-
}
|
|
1723
|
-
return map;
|
|
1724
|
-
});
|
|
1725
|
-
function normalizeStatus(s) {
|
|
1726
|
-
return s === "timedOut" || s === "timedout" ? "failed" : s;
|
|
1727
|
-
}
|
|
1728
1806
|
function annotationColor(type) {
|
|
1729
1807
|
if (type === "fixme" || type === "slow") return "warning";
|
|
1730
1808
|
if (type === "fail") return "error";
|
|
@@ -1751,6 +1829,193 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
1751
1829
|
function annotationLabel(ann) {
|
|
1752
1830
|
return ann.type === "tag" ? ann.description ?? ann.type : ann.type;
|
|
1753
1831
|
}
|
|
1832
|
+
const marks = computed(() => (props.annotations ?? []).filter((ann) => !isPiwiAnnotation(ann.type)));
|
|
1833
|
+
const hasMeta = computed(
|
|
1834
|
+
() => Boolean(
|
|
1835
|
+
(props.tags?.length ?? 0) > 0 || props.meta?.owner || props.meta?.priority || props.meta?.feature || props.meta?.link
|
|
1836
|
+
)
|
|
1837
|
+
);
|
|
1838
|
+
const hasAnything = computed(
|
|
1839
|
+
() => props.mode === "parallel" || props.mode === "serial" || Boolean(props.isNewRegression) || Boolean(props.isNewFlaky) || marks.value.length > 0 || hasMeta.value
|
|
1840
|
+
);
|
|
1841
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
1842
|
+
const _component_UBadge = _sfc_main$7$1;
|
|
1843
|
+
const _component_UIcon = _sfc_main$p;
|
|
1844
|
+
const _component_TestMetaBadges = __nuxt_component_2$3;
|
|
1845
|
+
if (unref(hasAnything)) {
|
|
1846
|
+
_push(`<div${ssrRenderAttrs(mergeProps({ class: "inline-flex items-center gap-1 flex-wrap" }, _attrs))}>`);
|
|
1847
|
+
if (__props.mode === "parallel") {
|
|
1848
|
+
_push(ssrRenderComponent(_component_UBadge, {
|
|
1849
|
+
color: "success",
|
|
1850
|
+
variant: "soft",
|
|
1851
|
+
size: "xs",
|
|
1852
|
+
class: "shrink-0"
|
|
1853
|
+
}, {
|
|
1854
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1855
|
+
if (_push2) {
|
|
1856
|
+
_push2(`parallel`);
|
|
1857
|
+
} else {
|
|
1858
|
+
return [
|
|
1859
|
+
createTextVNode("parallel")
|
|
1860
|
+
];
|
|
1861
|
+
}
|
|
1862
|
+
}),
|
|
1863
|
+
_: 1
|
|
1864
|
+
}, _parent));
|
|
1865
|
+
} else {
|
|
1866
|
+
_push(`<!---->`);
|
|
1867
|
+
}
|
|
1868
|
+
if (__props.mode === "serial") {
|
|
1869
|
+
_push(ssrRenderComponent(_component_UBadge, {
|
|
1870
|
+
color: "warning",
|
|
1871
|
+
variant: "soft",
|
|
1872
|
+
size: "xs",
|
|
1873
|
+
class: "shrink-0"
|
|
1874
|
+
}, {
|
|
1875
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1876
|
+
if (_push2) {
|
|
1877
|
+
_push2(`serial`);
|
|
1878
|
+
} else {
|
|
1879
|
+
return [
|
|
1880
|
+
createTextVNode("serial")
|
|
1881
|
+
];
|
|
1882
|
+
}
|
|
1883
|
+
}),
|
|
1884
|
+
_: 1
|
|
1885
|
+
}, _parent));
|
|
1886
|
+
} else {
|
|
1887
|
+
_push(`<!---->`);
|
|
1888
|
+
}
|
|
1889
|
+
if (__props.isNewRegression) {
|
|
1890
|
+
_push(ssrRenderComponent(_component_UBadge, {
|
|
1891
|
+
color: "error",
|
|
1892
|
+
variant: "solid",
|
|
1893
|
+
size: "xs",
|
|
1894
|
+
class: "uppercase tracking-wider shrink-0",
|
|
1895
|
+
title: "First run in which this test failed"
|
|
1896
|
+
}, {
|
|
1897
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1898
|
+
if (_push2) {
|
|
1899
|
+
_push2(` NEW `);
|
|
1900
|
+
} else {
|
|
1901
|
+
return [
|
|
1902
|
+
createTextVNode(" NEW ")
|
|
1903
|
+
];
|
|
1904
|
+
}
|
|
1905
|
+
}),
|
|
1906
|
+
_: 1
|
|
1907
|
+
}, _parent));
|
|
1908
|
+
} else {
|
|
1909
|
+
_push(`<!---->`);
|
|
1910
|
+
}
|
|
1911
|
+
if (__props.isNewFlaky) {
|
|
1912
|
+
_push(ssrRenderComponent(_component_UBadge, {
|
|
1913
|
+
color: "info",
|
|
1914
|
+
variant: "solid",
|
|
1915
|
+
size: "xs",
|
|
1916
|
+
class: "uppercase tracking-wider shrink-0",
|
|
1917
|
+
title: "First run in which this test was flaky"
|
|
1918
|
+
}, {
|
|
1919
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1920
|
+
if (_push2) {
|
|
1921
|
+
_push2(` FLAKY `);
|
|
1922
|
+
} else {
|
|
1923
|
+
return [
|
|
1924
|
+
createTextVNode(" FLAKY ")
|
|
1925
|
+
];
|
|
1926
|
+
}
|
|
1927
|
+
}),
|
|
1928
|
+
_: 1
|
|
1929
|
+
}, _parent));
|
|
1930
|
+
} else {
|
|
1931
|
+
_push(`<!---->`);
|
|
1932
|
+
}
|
|
1933
|
+
_push(`<!--[-->`);
|
|
1934
|
+
ssrRenderList(unref(marks), (ann) => {
|
|
1935
|
+
_push(ssrRenderComponent(_component_UBadge, {
|
|
1936
|
+
key: `${ann.type}:${ann.description ?? ""}`,
|
|
1937
|
+
color: annotationColor(ann.type),
|
|
1938
|
+
variant: "soft",
|
|
1939
|
+
size: "xs",
|
|
1940
|
+
title: ann.type !== "tag" ? ann.description ?? void 0 : void 0,
|
|
1941
|
+
class: "shrink-0 gap-1"
|
|
1942
|
+
}, {
|
|
1943
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1944
|
+
if (_push2) {
|
|
1945
|
+
if (annotationIcon(ann.type)) {
|
|
1946
|
+
_push2(ssrRenderComponent(_component_UIcon, {
|
|
1947
|
+
name: annotationIcon(ann.type),
|
|
1948
|
+
class: "size-2.5 shrink-0"
|
|
1949
|
+
}, null, _parent2, _scopeId));
|
|
1950
|
+
} else {
|
|
1951
|
+
_push2(`<!---->`);
|
|
1952
|
+
}
|
|
1953
|
+
_push2(` ${ssrInterpolate(annotationLabel(ann))}`);
|
|
1954
|
+
} else {
|
|
1955
|
+
return [
|
|
1956
|
+
annotationIcon(ann.type) ? (openBlock(), createBlock(_component_UIcon, {
|
|
1957
|
+
key: 0,
|
|
1958
|
+
name: annotationIcon(ann.type),
|
|
1959
|
+
class: "size-2.5 shrink-0"
|
|
1960
|
+
}, null, 8, ["name"])) : createCommentVNode("", true),
|
|
1961
|
+
createTextVNode(" " + toDisplayString(annotationLabel(ann)), 1)
|
|
1962
|
+
];
|
|
1963
|
+
}
|
|
1964
|
+
}),
|
|
1965
|
+
_: 2
|
|
1966
|
+
}, _parent));
|
|
1967
|
+
});
|
|
1968
|
+
_push(`<!--]-->`);
|
|
1969
|
+
_push(ssrRenderComponent(_component_TestMetaBadges, {
|
|
1970
|
+
tags: __props.tags,
|
|
1971
|
+
meta: __props.meta,
|
|
1972
|
+
"max-tags": __props.maxTags
|
|
1973
|
+
}, null, _parent));
|
|
1974
|
+
_push(`</div>`);
|
|
1975
|
+
} else {
|
|
1976
|
+
_push(`<!---->`);
|
|
1977
|
+
}
|
|
1978
|
+
};
|
|
1979
|
+
}
|
|
1980
|
+
});
|
|
1981
|
+
const _sfc_setup$e = _sfc_main$e.setup;
|
|
1982
|
+
_sfc_main$e.setup = (props, ctx) => {
|
|
1983
|
+
const ssrContext = useSSRContext();
|
|
1984
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/shared/TestRowBadges.vue");
|
|
1985
|
+
return _sfc_setup$e ? _sfc_setup$e(props, ctx) : void 0;
|
|
1986
|
+
};
|
|
1987
|
+
const __nuxt_component_2$1 = Object.assign(_sfc_main$e, { __name: "TestRowBadges" });
|
|
1988
|
+
const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
1989
|
+
__name: "TestCasesTree",
|
|
1990
|
+
__ssrInlineRender: true,
|
|
1991
|
+
props: {
|
|
1992
|
+
testCases: {},
|
|
1993
|
+
suites: {},
|
|
1994
|
+
hasFilter: { type: Boolean },
|
|
1995
|
+
highlightedCaseId: {},
|
|
1996
|
+
projectKey: {},
|
|
1997
|
+
projectName: {}
|
|
1998
|
+
},
|
|
1999
|
+
setup(__props) {
|
|
2000
|
+
const props = __props;
|
|
2001
|
+
const suiteLookup = computed(() => {
|
|
2002
|
+
const map = /* @__PURE__ */ new Map();
|
|
2003
|
+
for (const s of props.suites) {
|
|
2004
|
+
map.set(`${s.filePath}${s.suitePath.join("")}`, s);
|
|
2005
|
+
}
|
|
2006
|
+
return map;
|
|
2007
|
+
});
|
|
2008
|
+
function normalizeStatus(s) {
|
|
2009
|
+
return s === "timedOut" || s === "timedout" ? "failed" : s;
|
|
2010
|
+
}
|
|
2011
|
+
const GROUP_STAT_KEYS = ["failed", "passed", "skipped", "didnotrun", "running"];
|
|
2012
|
+
function visibleStats(stats) {
|
|
2013
|
+
return GROUP_STAT_KEYS.filter((key) => stats[key] > 0).map((key) => ({
|
|
2014
|
+
key,
|
|
2015
|
+
count: stats[key],
|
|
2016
|
+
label: formatStatusLabel(key)
|
|
2017
|
+
}));
|
|
2018
|
+
}
|
|
1754
2019
|
function computeStats(tests) {
|
|
1755
2020
|
const stats = { passed: 0, failed: 0, skipped: 0, didnotrun: 0, running: 0, total: 0 };
|
|
1756
2021
|
for (const t of tests) {
|
|
@@ -1816,9 +2081,11 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
1816
2081
|
return (_ctx, _push, _parent, _attrs) => {
|
|
1817
2082
|
const _component_UIcon = _sfc_main$p;
|
|
1818
2083
|
const _component_OpenInIdeLink = __nuxt_component_1$3;
|
|
2084
|
+
const _component_TestRowBadges = __nuxt_component_2$1;
|
|
2085
|
+
const _component_BrowserBadge = __nuxt_component_3$3;
|
|
2086
|
+
const _component_DurationValue = __nuxt_component_14$1;
|
|
1819
2087
|
const _component_UBadge = _sfc_main$7$1;
|
|
1820
|
-
|
|
1821
|
-
_push(`<div${ssrRenderAttrs(mergeProps({ class: "rounded-lg border border-default text-sm flex flex-col flex-1 min-h-0" }, _attrs))}><div class="flex items-center justify-end px-3 py-1.5 border-b border-default bg-elevated shrink-0"><button class="${ssrRenderClass([__props.hasFilter ? "text-muted cursor-not-allowed opacity-50" : "text-muted hover:text-default", "flex items-center gap-1 text-xs transition-colors"])}"${ssrIncludeBooleanAttr(__props.hasFilter) ? " disabled" : ""}${ssrRenderAttr("title", __props.hasFilter ? "Clear filters to collapse/expand" : isAllExpanded.value ? "Collapse all" : "Expand all")}>`);
|
|
2088
|
+
_push(`<div${ssrRenderAttrs(mergeProps({ class: "rounded-lg border border-default bg-default text-sm flex flex-col flex-1 min-h-0" }, _attrs))}><div class="flex items-center justify-end px-3 py-1.5 border-b border-default bg-elevated shrink-0"><button class="${ssrRenderClass([__props.hasFilter ? "text-muted cursor-not-allowed opacity-50" : "text-muted hover:text-default", "flex items-center gap-1 text-xs transition-colors"])}"${ssrIncludeBooleanAttr(__props.hasFilter) ? " disabled" : ""}${ssrRenderAttr("title", __props.hasFilter ? "Clear filters to collapse/expand" : isAllExpanded.value ? "Collapse all" : "Expand all")}>`);
|
|
1822
2089
|
_push(ssrRenderComponent(_component_UIcon, {
|
|
1823
2090
|
name: isAllExpanded.value ? "i-lucide-fold-vertical" : "i-lucide-unfold-vertical",
|
|
1824
2091
|
class: "size-3.5"
|
|
@@ -1853,177 +2120,55 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
1853
2120
|
_push(`<span class="font-medium truncate min-w-0 text-muted">${ssrInterpolate(row.label)}</span>`);
|
|
1854
2121
|
}
|
|
1855
2122
|
if (row.depth > 0) {
|
|
1856
|
-
_push(
|
|
1857
|
-
|
|
1858
|
-
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
size: "xs"
|
|
1862
|
-
}, {
|
|
1863
|
-
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1864
|
-
if (_push2) {
|
|
1865
|
-
_push2(`parallel`);
|
|
1866
|
-
} else {
|
|
1867
|
-
return [
|
|
1868
|
-
createTextVNode("parallel")
|
|
1869
|
-
];
|
|
1870
|
-
}
|
|
1871
|
-
}),
|
|
1872
|
-
_: 2
|
|
1873
|
-
}, _parent));
|
|
1874
|
-
} else {
|
|
1875
|
-
_push(`<!---->`);
|
|
1876
|
-
}
|
|
1877
|
-
if (row.mode === "serial") {
|
|
1878
|
-
_push(ssrRenderComponent(_component_UBadge, {
|
|
1879
|
-
color: "warning",
|
|
1880
|
-
variant: "soft",
|
|
1881
|
-
size: "xs"
|
|
1882
|
-
}, {
|
|
1883
|
-
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1884
|
-
if (_push2) {
|
|
1885
|
-
_push2(`serial`);
|
|
1886
|
-
} else {
|
|
1887
|
-
return [
|
|
1888
|
-
createTextVNode("serial")
|
|
1889
|
-
];
|
|
1890
|
-
}
|
|
1891
|
-
}),
|
|
1892
|
-
_: 2
|
|
1893
|
-
}, _parent));
|
|
1894
|
-
} else {
|
|
1895
|
-
_push(`<!---->`);
|
|
1896
|
-
}
|
|
1897
|
-
_push(`<!--[-->`);
|
|
1898
|
-
ssrRenderList(row.annotations, (ann) => {
|
|
1899
|
-
_push(ssrRenderComponent(_component_UBadge, {
|
|
1900
|
-
key: `${ann.type}:${ann.description ?? ""}`,
|
|
1901
|
-
color: annotationColor(ann.type),
|
|
1902
|
-
variant: "soft",
|
|
1903
|
-
size: "xs",
|
|
1904
|
-
title: ann.type !== "tag" ? ann.description ?? void 0 : void 0,
|
|
1905
|
-
class: "gap-1"
|
|
1906
|
-
}, {
|
|
1907
|
-
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1908
|
-
if (_push2) {
|
|
1909
|
-
if (annotationIcon(ann.type)) {
|
|
1910
|
-
_push2(ssrRenderComponent(_component_UIcon, {
|
|
1911
|
-
name: annotationIcon(ann.type),
|
|
1912
|
-
class: "size-2.5 shrink-0"
|
|
1913
|
-
}, null, _parent2, _scopeId));
|
|
1914
|
-
} else {
|
|
1915
|
-
_push2(`<!---->`);
|
|
1916
|
-
}
|
|
1917
|
-
_push2(` ${ssrInterpolate(annotationLabel(ann))}`);
|
|
1918
|
-
} else {
|
|
1919
|
-
return [
|
|
1920
|
-
annotationIcon(ann.type) ? (openBlock(), createBlock(_component_UIcon, {
|
|
1921
|
-
key: 0,
|
|
1922
|
-
name: annotationIcon(ann.type),
|
|
1923
|
-
class: "size-2.5 shrink-0"
|
|
1924
|
-
}, null, 8, ["name"])) : createCommentVNode("", true),
|
|
1925
|
-
createTextVNode(" " + toDisplayString(annotationLabel(ann)), 1)
|
|
1926
|
-
];
|
|
1927
|
-
}
|
|
1928
|
-
}),
|
|
1929
|
-
_: 2
|
|
1930
|
-
}, _parent));
|
|
1931
|
-
});
|
|
1932
|
-
_push(`<!--]--></div>`);
|
|
1933
|
-
} else {
|
|
1934
|
-
_push(`<!---->`);
|
|
1935
|
-
}
|
|
1936
|
-
_push(`<div class="flex-1"></div><div class="flex items-center gap-2 shrink-0 tabular-nums">`);
|
|
1937
|
-
if (row.stats.failed > 0) {
|
|
1938
|
-
_push(`<span class="text-xs text-red-600 dark:text-red-400 font-medium">${ssrInterpolate(row.stats.failed)} failed </span>`);
|
|
1939
|
-
} else {
|
|
1940
|
-
_push(`<!---->`);
|
|
1941
|
-
}
|
|
1942
|
-
if (row.stats.passed > 0) {
|
|
1943
|
-
_push(`<span class="text-xs text-green-600 dark:text-green-400">${ssrInterpolate(row.stats.passed)} passed </span>`);
|
|
1944
|
-
} else {
|
|
1945
|
-
_push(`<!---->`);
|
|
1946
|
-
}
|
|
1947
|
-
if (row.stats.skipped > 0) {
|
|
1948
|
-
_push(`<span class="text-xs text-muted">${ssrInterpolate(row.stats.skipped)} skipped</span>`);
|
|
1949
|
-
} else {
|
|
1950
|
-
_push(`<!---->`);
|
|
1951
|
-
}
|
|
1952
|
-
if (row.stats.didnotrun > 0) {
|
|
1953
|
-
_push(`<span class="text-xs text-amber-600 dark:text-amber-400">${ssrInterpolate(row.stats.didnotrun)} didn't run </span>`);
|
|
1954
|
-
} else {
|
|
1955
|
-
_push(`<!---->`);
|
|
1956
|
-
}
|
|
1957
|
-
if (row.stats.running > 0) {
|
|
1958
|
-
_push(`<span class="text-xs text-info">${ssrInterpolate(row.stats.running)} running</span>`);
|
|
2123
|
+
_push(ssrRenderComponent(_component_TestRowBadges, {
|
|
2124
|
+
mode: row.mode,
|
|
2125
|
+
annotations: row.annotations,
|
|
2126
|
+
class: "shrink-0"
|
|
2127
|
+
}, null, _parent));
|
|
1959
2128
|
} else {
|
|
1960
2129
|
_push(`<!---->`);
|
|
1961
2130
|
}
|
|
1962
|
-
_push(
|
|
2131
|
+
_push(`<div class="flex-1"></div><div class="flex items-center gap-1.5 sm:gap-2 shrink-0 tabular-nums"><!--[-->`);
|
|
2132
|
+
ssrRenderList(visibleStats(row.stats), (stat) => {
|
|
2133
|
+
_push(`<span class="${ssrRenderClass([[("getStatusTextClass" in _ctx ? _ctx.getStatusTextClass : unref(getStatusTextClass))(stat.key), stat.key === "failed" ? "font-medium" : ""], "text-xs inline-flex items-center gap-0.5"])}"${ssrRenderAttr("title", `${stat.count} ${stat.label}`)}>`);
|
|
2134
|
+
_push(ssrRenderComponent(_component_UIcon, {
|
|
2135
|
+
name: ("getStatusIcon" in _ctx ? _ctx.getStatusIcon : unref(getStatusIcon))(stat.key),
|
|
2136
|
+
class: "size-3 shrink-0 sm:hidden"
|
|
2137
|
+
}, null, _parent));
|
|
2138
|
+
_push(` ${ssrInterpolate(stat.count)}<span class="max-sm:sr-only">${ssrInterpolate(stat.label)}</span></span>`);
|
|
2139
|
+
});
|
|
2140
|
+
_push(`<!--]--></div></div>`);
|
|
1963
2141
|
} else {
|
|
1964
|
-
_push(`<div class="${ssrRenderClass([__props.highlightedCaseId === row.test.id ? "animate-pulse bg-yellow-100 dark:bg-yellow-900/30" : "", "flex items-center gap-2 pr-3 py-1.5 border-b border-default last:border-b-0 hover:bg-
|
|
2142
|
+
_push(`<div class="${ssrRenderClass([__props.highlightedCaseId === row.test.id ? "animate-pulse bg-yellow-100 dark:bg-yellow-900/30" : "", "flex flex-wrap items-center gap-x-2 gap-y-1 pr-3 py-2 sm:py-1.5 border-b border-default last:border-b-0 hover:bg-zinc-50 dark:hover:bg-zinc-900/40 transition-colors"])}" style="${ssrRenderStyle({ paddingLeft: `${row.depth * 20 + 12}px` })}">`);
|
|
2143
|
+
_push(ssrRenderComponent(_component_BrowserBadge, {
|
|
2144
|
+
browser: row.test.browser,
|
|
2145
|
+
size: "sm"
|
|
2146
|
+
}, null, _parent));
|
|
1965
2147
|
_push(ssrRenderComponent(_component_UIcon, {
|
|
1966
|
-
name: "
|
|
1967
|
-
class: "size-
|
|
2148
|
+
name: ("getStatusIcon" in _ctx ? _ctx.getStatusIcon : unref(getStatusIcon))(row.test.status),
|
|
2149
|
+
class: ["size-4 shrink-0", [("getStatusTextClass" in _ctx ? _ctx.getStatusTextClass : unref(getStatusTextClass))(row.test.status), ("isStatusInFlight" in _ctx ? _ctx.isStatusInFlight : unref(isStatusInFlight))(row.test.status) ? "animate-spin" : ""]],
|
|
2150
|
+
role: "img",
|
|
2151
|
+
"aria-label": `Status: ${("formatStatusLabel" in _ctx ? _ctx.formatStatusLabel : unref(formatStatusLabel))(row.test.status)}`,
|
|
2152
|
+
title: ("formatStatusLabel" in _ctx ? _ctx.formatStatusLabel : unref(formatStatusLabel))(row.test.status)
|
|
1968
2153
|
}, null, _parent));
|
|
1969
|
-
_push(
|
|
1970
|
-
|
|
1971
|
-
|
|
1972
|
-
),
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
return [
|
|
1981
|
-
createTextVNode(toDisplayString(("formatStatusLabel" in _ctx ? _ctx.formatStatusLabel : unref(formatStatusLabel))(row.test.status)), 1)
|
|
1982
|
-
];
|
|
1983
|
-
}
|
|
1984
|
-
}),
|
|
1985
|
-
_: 2
|
|
1986
|
-
}, _parent));
|
|
1987
|
-
_push(`<!--[-->`);
|
|
1988
|
-
ssrRenderList(row.test.testAnnotations ?? [], (ann) => {
|
|
1989
|
-
_push(ssrRenderComponent(_component_UBadge, {
|
|
1990
|
-
key: `${ann.type}:${ann.description ?? ""}`,
|
|
1991
|
-
color: annotationColor(ann.type),
|
|
1992
|
-
variant: "soft",
|
|
1993
|
-
size: "xs",
|
|
1994
|
-
title: ann.type !== "tag" ? ann.description ?? void 0 : void 0,
|
|
1995
|
-
class: "shrink-0 gap-1"
|
|
1996
|
-
}, {
|
|
1997
|
-
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
1998
|
-
if (_push2) {
|
|
1999
|
-
if (annotationIcon(ann.type)) {
|
|
2000
|
-
_push2(ssrRenderComponent(_component_UIcon, {
|
|
2001
|
-
name: annotationIcon(ann.type),
|
|
2002
|
-
class: "size-2.5 shrink-0"
|
|
2003
|
-
}, null, _parent2, _scopeId));
|
|
2004
|
-
} else {
|
|
2005
|
-
_push2(`<!---->`);
|
|
2006
|
-
}
|
|
2007
|
-
_push2(` ${ssrInterpolate(annotationLabel(ann))}`);
|
|
2008
|
-
} else {
|
|
2009
|
-
return [
|
|
2010
|
-
annotationIcon(ann.type) ? (openBlock(), createBlock(_component_UIcon, {
|
|
2011
|
-
key: 0,
|
|
2012
|
-
name: annotationIcon(ann.type),
|
|
2013
|
-
class: "size-2.5 shrink-0"
|
|
2014
|
-
}, null, 8, ["name"])) : createCommentVNode("", true),
|
|
2015
|
-
createTextVNode(" " + toDisplayString(annotationLabel(ann)), 1)
|
|
2016
|
-
];
|
|
2017
|
-
}
|
|
2018
|
-
}),
|
|
2019
|
-
_: 2
|
|
2020
|
-
}, _parent));
|
|
2021
|
-
});
|
|
2022
|
-
_push(`<!--]--><a${ssrRenderAttr("href", `/test-run-cases/${row.test.id}`)} class="text-primary hover:underline truncate flex-1 min-w-0">${ssrInterpolate(row.test.title)}</a><div class="flex items-center gap-2 shrink-0">`);
|
|
2154
|
+
_push(`<a${ssrRenderAttr("href", `/test-run-cases/${row.test.id}`)} class="text-highlighted hover:text-primary hover:underline min-w-32 self-stretch flex items-center"${ssrRenderAttr("title", row.test.title)}><span class="truncate">${ssrInterpolate(row.test.title)}</span></a>`);
|
|
2155
|
+
_push(ssrRenderComponent(_component_TestRowBadges, {
|
|
2156
|
+
"is-new-regression": Boolean(row.test.isNewRegression),
|
|
2157
|
+
"is-new-flaky": Boolean(row.test.isNewFlaky),
|
|
2158
|
+
annotations: row.test.testAnnotations,
|
|
2159
|
+
tags: row.test.tags,
|
|
2160
|
+
meta: row.test.testMeta,
|
|
2161
|
+
"max-tags": 3,
|
|
2162
|
+
class: "shrink-0"
|
|
2163
|
+
}, null, _parent));
|
|
2164
|
+
_push(`<div class="flex items-center gap-1.5 sm:gap-2 shrink-0 ml-auto">`);
|
|
2023
2165
|
if (row.test.status === "running") {
|
|
2024
2166
|
_push(`<span class="text-xs text-info">In progress...</span>`);
|
|
2025
2167
|
} else if (row.test.duration) {
|
|
2026
|
-
_push(
|
|
2168
|
+
_push(ssrRenderComponent(_component_DurationValue, {
|
|
2169
|
+
ms: row.test.duration,
|
|
2170
|
+
class: "text-xs text-muted"
|
|
2171
|
+
}, null, _parent));
|
|
2027
2172
|
} else {
|
|
2028
2173
|
_push(`<!---->`);
|
|
2029
2174
|
}
|
|
@@ -2069,22 +2214,21 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
2069
2214
|
} else {
|
|
2070
2215
|
_push(`<!---->`);
|
|
2071
2216
|
}
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
}, _parent));
|
|
2217
|
+
if (row.test.wastedTimeMs) {
|
|
2218
|
+
_push(`<span class="inline-flex items-center gap-0.5 text-xs text-amber-600 dark:text-amber-400" title="Wasted in fixed waits">`);
|
|
2219
|
+
_push(ssrRenderComponent(_component_UIcon, {
|
|
2220
|
+
name: "i-lucide-hourglass",
|
|
2221
|
+
class: "size-3 shrink-0"
|
|
2222
|
+
}, null, _parent));
|
|
2223
|
+
_push(ssrRenderComponent(_component_DurationValue, {
|
|
2224
|
+
ms: row.test.wastedTimeMs,
|
|
2225
|
+
"unit-class": "opacity-60",
|
|
2226
|
+
"no-title": ""
|
|
2227
|
+
}, null, _parent));
|
|
2228
|
+
_push(`</span>`);
|
|
2229
|
+
} else {
|
|
2230
|
+
_push(`<!---->`);
|
|
2231
|
+
}
|
|
2088
2232
|
_push(`</div></div>`);
|
|
2089
2233
|
}
|
|
2090
2234
|
_push(`<!--]-->`);
|
|
@@ -2094,7 +2238,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
|
|
|
2094
2238
|
_push(`<div class="text-center py-8 text-muted">`);
|
|
2095
2239
|
_push(ssrRenderComponent(_component_UIcon, {
|
|
2096
2240
|
name: "i-lucide-search-x",
|
|
2097
|
-
class: "size-6 mx-auto mb-2 text-
|
|
2241
|
+
class: "size-6 mx-auto mb-2 text-zinc-300 dark:text-zinc-600"
|
|
2098
2242
|
}, null, _parent));
|
|
2099
2243
|
_push(`<p class="text-sm">No test cases match your filters.</p></div>`);
|
|
2100
2244
|
} else {
|
|
@@ -2110,7 +2254,8 @@ _sfc_main$d.setup = (props, ctx) => {
|
|
|
2110
2254
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/run/TestCasesTree.vue");
|
|
2111
2255
|
return _sfc_setup$d ? _sfc_setup$d(props, ctx) : void 0;
|
|
2112
2256
|
};
|
|
2113
|
-
const
|
|
2257
|
+
const __nuxt_component_7 = Object.assign(_sfc_main$d, { __name: "TestCasesTree" });
|
|
2258
|
+
const NATURAL_ORDER = "natural";
|
|
2114
2259
|
const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
2115
2260
|
__name: "TestCasesList",
|
|
2116
2261
|
__ssrInlineRender: true,
|
|
@@ -2246,11 +2391,21 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2246
2391
|
if (hasWastedTime.value) {
|
|
2247
2392
|
cols.push({ key: "wastedTimeMs", label: "Wasted", sortable: true, width: "6rem", align: "left" });
|
|
2248
2393
|
}
|
|
2249
|
-
cols.push({ key: "actions", label: "Actions", sortable: false, width: "7.5rem", align: "right" });
|
|
2250
2394
|
return cols;
|
|
2251
2395
|
});
|
|
2396
|
+
const sortOptions = computed(() => [
|
|
2397
|
+
{ label: "Run order", value: NATURAL_ORDER },
|
|
2398
|
+
...columns.value.map((c) => ({ label: c.label, value: c.key }))
|
|
2399
|
+
]);
|
|
2400
|
+
const mobileSortKey = computed({
|
|
2401
|
+
get: () => sortKey.value ?? NATURAL_ORDER,
|
|
2402
|
+
set: (value) => {
|
|
2403
|
+
sortKey.value = value === NATURAL_ORDER ? null : value;
|
|
2404
|
+
if (value !== NATURAL_ORDER) sortDir.value = "asc";
|
|
2405
|
+
}
|
|
2406
|
+
});
|
|
2252
2407
|
const gridTemplate = computed(() => columns.value.map((c) => c.width).join(" "));
|
|
2253
|
-
const gridMinWidth = computed(() => hasWastedTime.value ? "
|
|
2408
|
+
const gridMinWidth = computed(() => hasWastedTime.value ? "47.5rem" : "41.5rem");
|
|
2254
2409
|
const hasFilter = computed(
|
|
2255
2410
|
() => testCaseSearch.value !== "" || activeStatuses.value.length > 0 || testCaseBrowserFilter.value !== "all" || props.failureClusterFilter != null
|
|
2256
2411
|
);
|
|
@@ -2287,14 +2442,15 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2287
2442
|
}
|
|
2288
2443
|
__expose({ scrollToCase });
|
|
2289
2444
|
return (_ctx, _push, _parent, _attrs) => {
|
|
2290
|
-
const _component_FilterToolbar = __nuxt_component_4$
|
|
2445
|
+
const _component_FilterToolbar = __nuxt_component_4$2;
|
|
2291
2446
|
const _component_UIcon = _sfc_main$p;
|
|
2292
|
-
const _component_HelpHint = __nuxt_component_2$
|
|
2447
|
+
const _component_HelpHint = __nuxt_component_2$2;
|
|
2293
2448
|
const _component_UInput = _sfc_main$d$1;
|
|
2294
|
-
const _component_USelect = _sfc_main$
|
|
2295
|
-
const _component_UCheckbox = _sfc_main$
|
|
2296
|
-
const
|
|
2297
|
-
const
|
|
2449
|
+
const _component_USelect = _sfc_main$o;
|
|
2450
|
+
const _component_UCheckbox = _sfc_main$q;
|
|
2451
|
+
const _component_UButton = _sfc_main$k;
|
|
2452
|
+
const _component_TestCasesTree = __nuxt_component_7;
|
|
2453
|
+
const _component_ClientOnly = __nuxt_component_7$1;
|
|
2298
2454
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "flex flex-col min-h-0" }, _attrs))}>`);
|
|
2299
2455
|
_push(ssrRenderComponent(_component_FilterToolbar, { class: "mb-4 shrink-0" }, {
|
|
2300
2456
|
start: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
@@ -2311,11 +2467,11 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2311
2467
|
}, null, _parent2, _scopeId));
|
|
2312
2468
|
_push2(`</button></div>`);
|
|
2313
2469
|
if (__props.isLive) {
|
|
2314
|
-
_push2(`<span class="text-sm text-
|
|
2470
|
+
_push2(`<span class="text-sm text-zinc-500 tabular-nums inline-flex items-center gap-1"${_scopeId}>${ssrInterpolate(__props.testCases.length)} completed `);
|
|
2315
2471
|
_push2(ssrRenderComponent(_component_HelpHint, { topic: "run.live" }, null, _parent2, _scopeId));
|
|
2316
2472
|
_push2(`</span>`);
|
|
2317
2473
|
} else {
|
|
2318
|
-
_push2(`<span class="text-sm text-
|
|
2474
|
+
_push2(`<span class="text-sm text-zinc-500 tabular-nums inline-flex items-center gap-1"${_scopeId}>${ssrInterpolate(sortedTestCases.value.length)}${ssrInterpolate(sortedTestCases.value.length !== __props.testCases.length ? ` / ${__props.testCases.length}` : "")} cases `);
|
|
2319
2475
|
_push2(ssrRenderComponent(_component_HelpHint, { topic: "run.test-cases" }, null, _parent2, _scopeId));
|
|
2320
2476
|
_push2(`</span>`);
|
|
2321
2477
|
}
|
|
@@ -2345,13 +2501,13 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2345
2501
|
]),
|
|
2346
2502
|
__props.isLive ? (openBlock(), createBlock("span", {
|
|
2347
2503
|
key: 0,
|
|
2348
|
-
class: "text-sm text-
|
|
2504
|
+
class: "text-sm text-zinc-500 tabular-nums inline-flex items-center gap-1"
|
|
2349
2505
|
}, [
|
|
2350
2506
|
createTextVNode(toDisplayString(__props.testCases.length) + " completed ", 1),
|
|
2351
2507
|
createVNode(_component_HelpHint, { topic: "run.live" })
|
|
2352
2508
|
])) : (openBlock(), createBlock("span", {
|
|
2353
2509
|
key: 1,
|
|
2354
|
-
class: "text-sm text-
|
|
2510
|
+
class: "text-sm text-zinc-500 tabular-nums inline-flex items-center gap-1"
|
|
2355
2511
|
}, [
|
|
2356
2512
|
createTextVNode(toDisplayString(sortedTestCases.value.length) + toDisplayString(sortedTestCases.value.length !== __props.testCases.length ? ` / ${__props.testCases.length}` : "") + " cases ", 1),
|
|
2357
2513
|
createVNode(_component_HelpHint, { topic: "run.test-cases" })
|
|
@@ -2372,10 +2528,10 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2372
2528
|
_push2(`<div class="flex flex-wrap items-center gap-1"${_scopeId}><!--[-->`);
|
|
2373
2529
|
ssrRenderList(STATUS_OPTIONS, (opt) => {
|
|
2374
2530
|
_push2(`<button class="${ssrRenderClass([
|
|
2375
|
-
activeStatuses.value.includes(opt.value) ? opt.color === "green" ? "bg-
|
|
2531
|
+
activeStatuses.value.includes(opt.value) ? opt.color === "green" ? "bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400" : opt.color === "red" ? "bg-rose-100 text-rose-700 dark:bg-rose-900/30 dark:text-rose-400" : opt.color === "orange" ? "bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400" : "bg-zinc-200 text-zinc-700 dark:bg-zinc-700 dark:text-zinc-300" : "bg-zinc-100 text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400 hover:bg-zinc-200 dark:hover:bg-zinc-700",
|
|
2376
2532
|
"inline-flex items-center gap-1.5 px-2 py-1 rounded-md text-xs font-medium transition-colors whitespace-nowrap"
|
|
2377
2533
|
])}"${_scopeId}><span class="${ssrRenderClass([
|
|
2378
|
-
opt.color === "green" ? "bg-
|
|
2534
|
+
opt.color === "green" ? "bg-emerald-500" : opt.color === "red" ? "bg-rose-500" : opt.color === "orange" ? "bg-orange-500" : "bg-zinc-400",
|
|
2379
2535
|
"size-2 rounded-full shrink-0"
|
|
2380
2536
|
])}"${_scopeId}></span> ${ssrInterpolate(opt.label)}</button>`);
|
|
2381
2537
|
});
|
|
@@ -2407,6 +2563,30 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2407
2563
|
} else {
|
|
2408
2564
|
_push2(`<!---->`);
|
|
2409
2565
|
}
|
|
2566
|
+
if (!unref(treeView)) {
|
|
2567
|
+
_push2(`<div class="flex items-center gap-1 md:hidden"${_scopeId}>`);
|
|
2568
|
+
_push2(ssrRenderComponent(_component_USelect, {
|
|
2569
|
+
modelValue: mobileSortKey.value,
|
|
2570
|
+
"onUpdate:modelValue": ($event) => mobileSortKey.value = $event,
|
|
2571
|
+
items: sortOptions.value,
|
|
2572
|
+
size: "sm",
|
|
2573
|
+
class: "w-32",
|
|
2574
|
+
"aria-label": "Sort cases by"
|
|
2575
|
+
}, null, _parent2, _scopeId));
|
|
2576
|
+
_push2(ssrRenderComponent(_component_UButton, {
|
|
2577
|
+
size: "sm",
|
|
2578
|
+
variant: "outline",
|
|
2579
|
+
color: "neutral",
|
|
2580
|
+
disabled: sortKey.value === null,
|
|
2581
|
+
icon: sortDir.value === "asc" ? "i-lucide-arrow-up-narrow-wide" : "i-lucide-arrow-down-wide-narrow",
|
|
2582
|
+
title: sortDir.value === "asc" ? "Sorted ascending" : "Sorted descending",
|
|
2583
|
+
"aria-label": sortDir.value === "asc" ? "Sorted ascending" : "Sorted descending",
|
|
2584
|
+
onClick: ($event) => sortDir.value = sortDir.value === "asc" ? "desc" : "asc"
|
|
2585
|
+
}, null, _parent2, _scopeId));
|
|
2586
|
+
_push2(`</div>`);
|
|
2587
|
+
} else {
|
|
2588
|
+
_push2(`<!---->`);
|
|
2589
|
+
}
|
|
2410
2590
|
} else {
|
|
2411
2591
|
return [
|
|
2412
2592
|
createVNode(_component_UInput, {
|
|
@@ -2423,14 +2603,14 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2423
2603
|
key: opt.value,
|
|
2424
2604
|
class: [
|
|
2425
2605
|
"inline-flex items-center gap-1.5 px-2 py-1 rounded-md text-xs font-medium transition-colors whitespace-nowrap",
|
|
2426
|
-
activeStatuses.value.includes(opt.value) ? opt.color === "green" ? "bg-
|
|
2606
|
+
activeStatuses.value.includes(opt.value) ? opt.color === "green" ? "bg-emerald-100 text-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-400" : opt.color === "red" ? "bg-rose-100 text-rose-700 dark:bg-rose-900/30 dark:text-rose-400" : opt.color === "orange" ? "bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400" : "bg-zinc-200 text-zinc-700 dark:bg-zinc-700 dark:text-zinc-300" : "bg-zinc-100 text-zinc-500 dark:bg-zinc-800 dark:text-zinc-400 hover:bg-zinc-200 dark:hover:bg-zinc-700"
|
|
2427
2607
|
],
|
|
2428
2608
|
onClick: ($event) => toggleStatus(opt.value)
|
|
2429
2609
|
}, [
|
|
2430
2610
|
createVNode("span", {
|
|
2431
2611
|
class: [
|
|
2432
2612
|
"size-2 rounded-full shrink-0",
|
|
2433
|
-
opt.color === "green" ? "bg-
|
|
2613
|
+
opt.color === "green" ? "bg-emerald-500" : opt.color === "red" ? "bg-rose-500" : opt.color === "orange" ? "bg-orange-500" : "bg-zinc-400"
|
|
2434
2614
|
]
|
|
2435
2615
|
}, null, 2),
|
|
2436
2616
|
createTextVNode(" " + toDisplayString(opt.label), 1)
|
|
@@ -2457,7 +2637,30 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2457
2637
|
"onUpdate:modelValue": ($event) => showNewFlakyOnly.value = $event,
|
|
2458
2638
|
label: "New flaky",
|
|
2459
2639
|
size: "sm"
|
|
2460
|
-
}, null, 8, ["modelValue", "onUpdate:modelValue"])) : createCommentVNode("", true)
|
|
2640
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue"])) : createCommentVNode("", true),
|
|
2641
|
+
!unref(treeView) ? (openBlock(), createBlock("div", {
|
|
2642
|
+
key: 2,
|
|
2643
|
+
class: "flex items-center gap-1 md:hidden"
|
|
2644
|
+
}, [
|
|
2645
|
+
createVNode(_component_USelect, {
|
|
2646
|
+
modelValue: mobileSortKey.value,
|
|
2647
|
+
"onUpdate:modelValue": ($event) => mobileSortKey.value = $event,
|
|
2648
|
+
items: sortOptions.value,
|
|
2649
|
+
size: "sm",
|
|
2650
|
+
class: "w-32",
|
|
2651
|
+
"aria-label": "Sort cases by"
|
|
2652
|
+
}, null, 8, ["modelValue", "onUpdate:modelValue", "items"]),
|
|
2653
|
+
createVNode(_component_UButton, {
|
|
2654
|
+
size: "sm",
|
|
2655
|
+
variant: "outline",
|
|
2656
|
+
color: "neutral",
|
|
2657
|
+
disabled: sortKey.value === null,
|
|
2658
|
+
icon: sortDir.value === "asc" ? "i-lucide-arrow-up-narrow-wide" : "i-lucide-arrow-down-wide-narrow",
|
|
2659
|
+
title: sortDir.value === "asc" ? "Sorted ascending" : "Sorted descending",
|
|
2660
|
+
"aria-label": sortDir.value === "asc" ? "Sorted ascending" : "Sorted descending",
|
|
2661
|
+
onClick: ($event) => sortDir.value = sortDir.value === "asc" ? "desc" : "asc"
|
|
2662
|
+
}, null, 8, ["disabled", "icon", "title", "aria-label", "onClick"])
|
|
2663
|
+
])) : createCommentVNode("", true)
|
|
2461
2664
|
];
|
|
2462
2665
|
}
|
|
2463
2666
|
}),
|
|
@@ -2476,7 +2679,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2476
2679
|
} else if (!unref(treeView)) {
|
|
2477
2680
|
_push(`<!--[-->`);
|
|
2478
2681
|
if (sortedTestCases.value.length > 0) {
|
|
2479
|
-
_push(`<div class="flex-1 min-h-0 max-lg:h-[70dvh] overflow-x-auto overflow-y-hidden rounded-lg border border-default"><div class="flex flex-col h-full" role="table" aria-label="Test cases"${ssrRenderAttr("aria-rowcount", sortedTestCases.value.length + 1)} style="${ssrRenderStyle({
|
|
2682
|
+
_push(`<div class="flex-1 min-h-0 max-lg:h-[70dvh] md:overflow-x-auto overflow-y-hidden rounded-lg border border-default bg-default"><div class="flex flex-col h-full md:min-w-(--grid-min-width)" role="table" aria-label="Test cases"${ssrRenderAttr("aria-rowcount", sortedTestCases.value.length + 1)} style="${ssrRenderStyle({ "--grid-min-width": gridMinWidth.value })}"><div class="hidden md:grid shrink-0 bg-elevated/50 border-b border-default" role="row" style="${ssrRenderStyle({ gridTemplateColumns: gridTemplate.value })}"><!--[-->`);
|
|
2480
2683
|
ssrRenderList(columns.value, (col) => {
|
|
2481
2684
|
_push(`<!--[-->`);
|
|
2482
2685
|
if (col.sortable) {
|
|
@@ -2503,7 +2706,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2503
2706
|
_push(ssrRenderComponent(_component_ClientOnly, null, {
|
|
2504
2707
|
fallback: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
2505
2708
|
if (_push2) {
|
|
2506
|
-
_push2(`<div class="flex-1 min-h-0 flex items-center justify-center py-10 text-sm text-
|
|
2709
|
+
_push2(`<div class="flex-1 min-h-0 flex items-center justify-center py-10 text-sm text-zinc-500"${_scopeId}>`);
|
|
2507
2710
|
_push2(ssrRenderComponent(_component_UIcon, {
|
|
2508
2711
|
name: "i-lucide-loader-circle",
|
|
2509
2712
|
class: "size-4 mr-2 animate-spin"
|
|
@@ -2511,7 +2714,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2511
2714
|
_push2(` Loading test cases… </div>`);
|
|
2512
2715
|
} else {
|
|
2513
2716
|
return [
|
|
2514
|
-
createVNode("div", { class: "flex-1 min-h-0 flex items-center justify-center py-10 text-sm text-
|
|
2717
|
+
createVNode("div", { class: "flex-1 min-h-0 flex items-center justify-center py-10 text-sm text-zinc-500" }, [
|
|
2515
2718
|
createVNode(_component_UIcon, {
|
|
2516
2719
|
name: "i-lucide-loader-circle",
|
|
2517
2720
|
class: "size-4 mr-2 animate-spin"
|
|
@@ -2524,17 +2727,17 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2524
2727
|
}, _parent));
|
|
2525
2728
|
_push(`</div></div>`);
|
|
2526
2729
|
} else if (__props.testCases.length === 0) {
|
|
2527
|
-
_push(`<div class="text-center py-10 text-
|
|
2730
|
+
_push(`<div class="text-center py-10 text-zinc-500">`);
|
|
2528
2731
|
_push(ssrRenderComponent(_component_UIcon, {
|
|
2529
2732
|
name: "i-lucide-beaker",
|
|
2530
|
-
class: "size-8 mx-auto mb-2 text-
|
|
2733
|
+
class: "size-8 mx-auto mb-2 text-zinc-300 dark:text-zinc-600"
|
|
2531
2734
|
}, null, _parent));
|
|
2532
2735
|
_push(`<p>No test cases recorded for this run.</p></div>`);
|
|
2533
2736
|
} else {
|
|
2534
|
-
_push(`<div class="text-center py-10 text-
|
|
2737
|
+
_push(`<div class="text-center py-10 text-zinc-500">`);
|
|
2535
2738
|
_push(ssrRenderComponent(_component_UIcon, {
|
|
2536
2739
|
name: "i-lucide-search-x",
|
|
2537
|
-
class: "size-8 mx-auto mb-2 text-
|
|
2740
|
+
class: "size-8 mx-auto mb-2 text-zinc-300 dark:text-zinc-600"
|
|
2538
2741
|
}, null, _parent));
|
|
2539
2742
|
_push(`<p>No test cases match your filters.</p></div>`);
|
|
2540
2743
|
}
|
|
@@ -2624,9 +2827,9 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
2624
2827
|
const _component_ErrorState = __nuxt_component_5$1;
|
|
2625
2828
|
const _component_UButton = _sfc_main$k;
|
|
2626
2829
|
const _component_LoadingState = __nuxt_component_1$1;
|
|
2627
|
-
const _component_EmptyState =
|
|
2830
|
+
const _component_EmptyState = __nuxt_component_4$1;
|
|
2628
2831
|
const _component_UIcon = _sfc_main$p;
|
|
2629
|
-
const _component_HelpHint = __nuxt_component_2$
|
|
2832
|
+
const _component_HelpHint = __nuxt_component_2$2;
|
|
2630
2833
|
const _component_SectionCard = __nuxt_component_11;
|
|
2631
2834
|
const _component_NuxtLink = __nuxt_component_12$1;
|
|
2632
2835
|
const _component_UBadge = _sfc_main$7$1;
|
|
@@ -3649,14 +3852,14 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
3649
3852
|
const totalCases = computed(() => groups.value?.reduce((sum, g) => sum + g.caseCount, 0) ?? 0);
|
|
3650
3853
|
return (_ctx, _push, _parent, _attrs) => {
|
|
3651
3854
|
const _component_UIcon = _sfc_main$p;
|
|
3652
|
-
const _component_HelpHint = __nuxt_component_2$
|
|
3855
|
+
const _component_HelpHint = __nuxt_component_2$2;
|
|
3653
3856
|
const _component_UButton = _sfc_main$k;
|
|
3654
|
-
const _component_UCard = _sfc_main$
|
|
3857
|
+
const _component_UCard = _sfc_main$m;
|
|
3655
3858
|
const _component_TableScroller = __nuxt_component_3$2;
|
|
3656
|
-
const _component_UTable = _sfc_main$
|
|
3859
|
+
const _component_UTable = _sfc_main$i;
|
|
3657
3860
|
const _component_UBadge = _sfc_main$7$1;
|
|
3658
3861
|
const _component_NuxtLink = __nuxt_component_12$1;
|
|
3659
|
-
const _component_UModal = _sfc_main$
|
|
3862
|
+
const _component_UModal = _sfc_main$n;
|
|
3660
3863
|
const _component_ClusterDiagnosis = __nuxt_component_9;
|
|
3661
3864
|
_push(`<!--[--><div class="pt-4 space-y-3">`);
|
|
3662
3865
|
if (unref(loading)) {
|
|
@@ -4780,12 +4983,12 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
4780
4983
|
}
|
|
4781
4984
|
return (_ctx, _push, _parent, _attrs) => {
|
|
4782
4985
|
const _component_LoadingState = __nuxt_component_1$1;
|
|
4783
|
-
const _component_EmptyState =
|
|
4986
|
+
const _component_EmptyState = __nuxt_component_4$1;
|
|
4784
4987
|
const _component_UIcon = _sfc_main$p;
|
|
4785
|
-
const _component_HelpHint = __nuxt_component_2$
|
|
4988
|
+
const _component_HelpHint = __nuxt_component_2$2;
|
|
4786
4989
|
const _component_NuxtLink = __nuxt_component_12$1;
|
|
4787
4990
|
const _component_UBadge = _sfc_main$7$1;
|
|
4788
|
-
const _component_UCard = _sfc_main$
|
|
4991
|
+
const _component_UCard = _sfc_main$m;
|
|
4789
4992
|
const _component_UButton = _sfc_main$k;
|
|
4790
4993
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "pt-4" }, _attrs))}>`);
|
|
4791
4994
|
if (unref(loading)) {
|
|
@@ -5144,10 +5347,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
5144
5347
|
emits: ["reset", "toggleSpan"],
|
|
5145
5348
|
setup(__props) {
|
|
5146
5349
|
return (_ctx, _push, _parent, _attrs) => {
|
|
5147
|
-
const _component_HelpHint = __nuxt_component_2$
|
|
5350
|
+
const _component_HelpHint = __nuxt_component_2$2;
|
|
5148
5351
|
const _component_UPopover = _sfc_main$8$1;
|
|
5149
5352
|
const _component_UButton = _sfc_main$k;
|
|
5150
|
-
const _component_UCheckbox = _sfc_main$
|
|
5353
|
+
const _component_UCheckbox = _sfc_main$q;
|
|
5151
5354
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "flex items-center justify-between mb-2" }, _attrs))}><span class="text-xs text-gray-500 inline-flex items-center gap-1"><span>${ssrInterpolate(__props.workerCount)} worker${ssrInterpolate(__props.workerCount > 1 ? "s" : "")} `);
|
|
5152
5355
|
if (__props.shardTotal && __props.shardTotal > 1) {
|
|
5153
5356
|
_push(`<!--[--> · ${ssrInterpolate(__props.shardTotal)} shard${ssrInterpolate(__props.shardTotal > 1 ? "s" : "")}<!--]-->`);
|
|
@@ -6048,15 +6251,16 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6048
6251
|
}
|
|
6049
6252
|
];
|
|
6050
6253
|
return (_ctx, _push, _parent, _attrs) => {
|
|
6051
|
-
const _component_USelectMenu = _sfc_main$
|
|
6254
|
+
const _component_USelectMenu = _sfc_main$j;
|
|
6052
6255
|
const _component_RunStatusBadge = __nuxt_component_13$1;
|
|
6053
6256
|
const _component_UButton = _sfc_main$k;
|
|
6054
6257
|
const _component_UIcon = _sfc_main$p;
|
|
6055
|
-
const _component_UAlert = _sfc_main$
|
|
6258
|
+
const _component_UAlert = _sfc_main$l;
|
|
6056
6259
|
const _component_MarkerBadge = __nuxt_component_5;
|
|
6057
6260
|
const _component_UBadge = _sfc_main$7$1;
|
|
6058
6261
|
const _component_TableScroller = __nuxt_component_3$2;
|
|
6059
|
-
const _component_UTable = _sfc_main$
|
|
6262
|
+
const _component_UTable = _sfc_main$i;
|
|
6263
|
+
const _component_DurationValue = __nuxt_component_14$1;
|
|
6060
6264
|
_push(`<div${ssrRenderAttrs(_attrs)}>`);
|
|
6061
6265
|
if (__props.testRun && !isLive.value) {
|
|
6062
6266
|
_push(`<div class="space-y-4"><div class="grid grid-cols-1 md:grid-cols-2 gap-4"><div><label class="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">Run A (baseline)</label>`);
|
|
@@ -6274,6 +6478,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6274
6478
|
} else {
|
|
6275
6479
|
_push3(ssrRenderComponent(_component_UBadge, {
|
|
6276
6480
|
color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.statusA),
|
|
6481
|
+
variant: "subtle",
|
|
6277
6482
|
class: "capitalize"
|
|
6278
6483
|
}, {
|
|
6279
6484
|
default: withCtx((_2, _push4, _parent4, _scopeId3) => {
|
|
@@ -6296,6 +6501,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6296
6501
|
}, "—")) : (openBlock(), createBlock(_component_UBadge, {
|
|
6297
6502
|
key: 1,
|
|
6298
6503
|
color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.statusA),
|
|
6504
|
+
variant: "subtle",
|
|
6299
6505
|
class: "capitalize"
|
|
6300
6506
|
}, {
|
|
6301
6507
|
default: withCtx(() => [
|
|
@@ -6313,6 +6519,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6313
6519
|
} else {
|
|
6314
6520
|
_push3(ssrRenderComponent(_component_UBadge, {
|
|
6315
6521
|
color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.statusB),
|
|
6522
|
+
variant: "subtle",
|
|
6316
6523
|
class: "capitalize"
|
|
6317
6524
|
}, {
|
|
6318
6525
|
default: withCtx((_2, _push4, _parent4, _scopeId3) => {
|
|
@@ -6335,6 +6542,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6335
6542
|
}, "—")) : (openBlock(), createBlock(_component_UBadge, {
|
|
6336
6543
|
key: 1,
|
|
6337
6544
|
color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.statusB),
|
|
6545
|
+
variant: "subtle",
|
|
6338
6546
|
class: "capitalize"
|
|
6339
6547
|
}, {
|
|
6340
6548
|
default: withCtx(() => [
|
|
@@ -6348,13 +6556,18 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6348
6556
|
"durationA-cell": withCtx(({ row }, _push3, _parent3, _scopeId2) => {
|
|
6349
6557
|
if (_push3) {
|
|
6350
6558
|
if (row.original.durationA !== null) {
|
|
6351
|
-
_push3(
|
|
6559
|
+
_push3(ssrRenderComponent(_component_DurationValue, {
|
|
6560
|
+
ms: row.original.durationA
|
|
6561
|
+
}, null, _parent3, _scopeId2));
|
|
6352
6562
|
} else {
|
|
6353
6563
|
_push3(`<span class="text-gray-400"${_scopeId2}>—</span>`);
|
|
6354
6564
|
}
|
|
6355
6565
|
} else {
|
|
6356
6566
|
return [
|
|
6357
|
-
row.original.durationA !== null ? (openBlock(), createBlock(
|
|
6567
|
+
row.original.durationA !== null ? (openBlock(), createBlock(_component_DurationValue, {
|
|
6568
|
+
key: 0,
|
|
6569
|
+
ms: row.original.durationA
|
|
6570
|
+
}, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
|
|
6358
6571
|
key: 1,
|
|
6359
6572
|
class: "text-gray-400"
|
|
6360
6573
|
}, "—"))
|
|
@@ -6364,13 +6577,18 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6364
6577
|
"durationB-cell": withCtx(({ row }, _push3, _parent3, _scopeId2) => {
|
|
6365
6578
|
if (_push3) {
|
|
6366
6579
|
if (row.original.durationB !== null) {
|
|
6367
|
-
_push3(
|
|
6580
|
+
_push3(ssrRenderComponent(_component_DurationValue, {
|
|
6581
|
+
ms: row.original.durationB
|
|
6582
|
+
}, null, _parent3, _scopeId2));
|
|
6368
6583
|
} else {
|
|
6369
6584
|
_push3(`<span class="text-gray-400"${_scopeId2}>—</span>`);
|
|
6370
6585
|
}
|
|
6371
6586
|
} else {
|
|
6372
6587
|
return [
|
|
6373
|
-
row.original.durationB !== null ? (openBlock(), createBlock(
|
|
6588
|
+
row.original.durationB !== null ? (openBlock(), createBlock(_component_DurationValue, {
|
|
6589
|
+
key: 0,
|
|
6590
|
+
ms: row.original.durationB
|
|
6591
|
+
}, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
|
|
6374
6592
|
key: 1,
|
|
6375
6593
|
class: "text-gray-400"
|
|
6376
6594
|
}, "—"))
|
|
@@ -6384,7 +6602,12 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6384
6602
|
} else {
|
|
6385
6603
|
_push3(`<span class="${ssrRenderClass(
|
|
6386
6604
|
row.original.delta > 0 ? "text-red-600" : row.original.delta < 0 ? "text-green-600" : "text-gray-500"
|
|
6387
|
-
)}"${_scopeId2}>${ssrInterpolate(row.original.delta > 0 ? "+" : "")}
|
|
6605
|
+
)}"${_scopeId2}>${ssrInterpolate(row.original.delta > 0 ? "+" : "")}`);
|
|
6606
|
+
_push3(ssrRenderComponent(_component_DurationValue, {
|
|
6607
|
+
ms: row.original.delta,
|
|
6608
|
+
"unit-class": "opacity-60"
|
|
6609
|
+
}, null, _parent3, _scopeId2));
|
|
6610
|
+
_push3(`</span>`);
|
|
6388
6611
|
}
|
|
6389
6612
|
} else {
|
|
6390
6613
|
return [
|
|
@@ -6394,7 +6617,13 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6394
6617
|
}, "—")) : (openBlock(), createBlock("span", {
|
|
6395
6618
|
key: 1,
|
|
6396
6619
|
class: row.original.delta > 0 ? "text-red-600" : row.original.delta < 0 ? "text-green-600" : "text-gray-500"
|
|
6397
|
-
},
|
|
6620
|
+
}, [
|
|
6621
|
+
createTextVNode(toDisplayString(row.original.delta > 0 ? "+" : ""), 1),
|
|
6622
|
+
createVNode(_component_DurationValue, {
|
|
6623
|
+
ms: row.original.delta,
|
|
6624
|
+
"unit-class": "opacity-60"
|
|
6625
|
+
}, null, 8, ["ms"])
|
|
6626
|
+
], 2))
|
|
6398
6627
|
];
|
|
6399
6628
|
}
|
|
6400
6629
|
}),
|
|
@@ -6441,6 +6670,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6441
6670
|
}, "—")) : (openBlock(), createBlock(_component_UBadge, {
|
|
6442
6671
|
key: 1,
|
|
6443
6672
|
color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.statusA),
|
|
6673
|
+
variant: "subtle",
|
|
6444
6674
|
class: "capitalize"
|
|
6445
6675
|
}, {
|
|
6446
6676
|
default: withCtx(() => [
|
|
@@ -6456,6 +6686,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6456
6686
|
}, "—")) : (openBlock(), createBlock(_component_UBadge, {
|
|
6457
6687
|
key: 1,
|
|
6458
6688
|
color: ("getStatusColor" in _ctx ? _ctx.getStatusColor : unref(getStatusColor))(row.original.statusB),
|
|
6689
|
+
variant: "subtle",
|
|
6459
6690
|
class: "capitalize"
|
|
6460
6691
|
}, {
|
|
6461
6692
|
default: withCtx(() => [
|
|
@@ -6465,13 +6696,19 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6465
6696
|
}, 1032, ["color"]))
|
|
6466
6697
|
]),
|
|
6467
6698
|
"durationA-cell": withCtx(({ row }) => [
|
|
6468
|
-
row.original.durationA !== null ? (openBlock(), createBlock(
|
|
6699
|
+
row.original.durationA !== null ? (openBlock(), createBlock(_component_DurationValue, {
|
|
6700
|
+
key: 0,
|
|
6701
|
+
ms: row.original.durationA
|
|
6702
|
+
}, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
|
|
6469
6703
|
key: 1,
|
|
6470
6704
|
class: "text-gray-400"
|
|
6471
6705
|
}, "—"))
|
|
6472
6706
|
]),
|
|
6473
6707
|
"durationB-cell": withCtx(({ row }) => [
|
|
6474
|
-
row.original.durationB !== null ? (openBlock(), createBlock(
|
|
6708
|
+
row.original.durationB !== null ? (openBlock(), createBlock(_component_DurationValue, {
|
|
6709
|
+
key: 0,
|
|
6710
|
+
ms: row.original.durationB
|
|
6711
|
+
}, null, 8, ["ms"])) : (openBlock(), createBlock("span", {
|
|
6475
6712
|
key: 1,
|
|
6476
6713
|
class: "text-gray-400"
|
|
6477
6714
|
}, "—"))
|
|
@@ -6483,7 +6720,13 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6483
6720
|
}, "—")) : (openBlock(), createBlock("span", {
|
|
6484
6721
|
key: 1,
|
|
6485
6722
|
class: row.original.delta > 0 ? "text-red-600" : row.original.delta < 0 ? "text-green-600" : "text-gray-500"
|
|
6486
|
-
},
|
|
6723
|
+
}, [
|
|
6724
|
+
createTextVNode(toDisplayString(row.original.delta > 0 ? "+" : ""), 1),
|
|
6725
|
+
createVNode(_component_DurationValue, {
|
|
6726
|
+
ms: row.original.delta,
|
|
6727
|
+
"unit-class": "opacity-60"
|
|
6728
|
+
}, null, 8, ["ms"])
|
|
6729
|
+
], 2))
|
|
6487
6730
|
]),
|
|
6488
6731
|
"percentChange-cell": withCtx(({ row }) => [
|
|
6489
6732
|
row.original.percentChange === null ? (openBlock(), createBlock("span", {
|
|
@@ -6603,8 +6846,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
6603
6846
|
];
|
|
6604
6847
|
return (_ctx, _push, _parent, _attrs) => {
|
|
6605
6848
|
const _component_UIcon = _sfc_main$p;
|
|
6606
|
-
const _component_UTable = _sfc_main$
|
|
6849
|
+
const _component_UTable = _sfc_main$i;
|
|
6607
6850
|
const _component_UBadge = _sfc_main$7$1;
|
|
6851
|
+
const _component_DurationValue = __nuxt_component_14$1;
|
|
6608
6852
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "flex flex-col overflow-hidden" }, _attrs))}>`);
|
|
6609
6853
|
if (unref(loading)) {
|
|
6610
6854
|
_push(`<div class="flex-1 flex items-center justify-center text-gray-500 gap-2">`);
|
|
@@ -6673,12 +6917,22 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
6673
6917
|
if (_push2) {
|
|
6674
6918
|
_push2(`<span class="${ssrRenderClass(
|
|
6675
6919
|
row.original.avgDuration > 1e3 ? "text-red-600 font-medium" : row.original.avgDuration > 500 ? "text-orange-500 font-medium" : ""
|
|
6676
|
-
)}"${_scopeId}
|
|
6920
|
+
)}"${_scopeId}>`);
|
|
6921
|
+
_push2(ssrRenderComponent(_component_DurationValue, {
|
|
6922
|
+
ms: row.original.avgDuration,
|
|
6923
|
+
"unit-class": "opacity-60"
|
|
6924
|
+
}, null, _parent2, _scopeId));
|
|
6925
|
+
_push2(`</span>`);
|
|
6677
6926
|
} else {
|
|
6678
6927
|
return [
|
|
6679
6928
|
createVNode("span", {
|
|
6680
6929
|
class: row.original.avgDuration > 1e3 ? "text-red-600 font-medium" : row.original.avgDuration > 500 ? "text-orange-500 font-medium" : ""
|
|
6681
|
-
},
|
|
6930
|
+
}, [
|
|
6931
|
+
createVNode(_component_DurationValue, {
|
|
6932
|
+
ms: row.original.avgDuration,
|
|
6933
|
+
"unit-class": "opacity-60"
|
|
6934
|
+
}, null, 8, ["ms"])
|
|
6935
|
+
], 2)
|
|
6682
6936
|
];
|
|
6683
6937
|
}
|
|
6684
6938
|
}),
|
|
@@ -6686,12 +6940,22 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
6686
6940
|
if (_push2) {
|
|
6687
6941
|
_push2(`<span class="${ssrRenderClass(
|
|
6688
6942
|
row.original.p90Duration > 2e3 ? "text-red-600 font-medium" : row.original.p90Duration > 1e3 ? "text-orange-500" : ""
|
|
6689
|
-
)}"${_scopeId}
|
|
6943
|
+
)}"${_scopeId}>`);
|
|
6944
|
+
_push2(ssrRenderComponent(_component_DurationValue, {
|
|
6945
|
+
ms: row.original.p90Duration,
|
|
6946
|
+
"unit-class": "opacity-60"
|
|
6947
|
+
}, null, _parent2, _scopeId));
|
|
6948
|
+
_push2(`</span>`);
|
|
6690
6949
|
} else {
|
|
6691
6950
|
return [
|
|
6692
6951
|
createVNode("span", {
|
|
6693
6952
|
class: row.original.p90Duration > 2e3 ? "text-red-600 font-medium" : row.original.p90Duration > 1e3 ? "text-orange-500" : ""
|
|
6694
|
-
},
|
|
6953
|
+
}, [
|
|
6954
|
+
createVNode(_component_DurationValue, {
|
|
6955
|
+
ms: row.original.p90Duration,
|
|
6956
|
+
"unit-class": "opacity-60"
|
|
6957
|
+
}, null, 8, ["ms"])
|
|
6958
|
+
], 2)
|
|
6695
6959
|
];
|
|
6696
6960
|
}
|
|
6697
6961
|
}),
|
|
@@ -6872,15 +7136,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6872
7136
|
value: "insights",
|
|
6873
7137
|
slot: "insights"
|
|
6874
7138
|
},
|
|
6875
|
-
|
|
6876
|
-
|
|
6877
|
-
|
|
6878
|
-
|
|
6879
|
-
|
|
6880
|
-
|
|
6881
|
-
|
|
6882
|
-
|
|
6883
|
-
|
|
7139
|
+
// Failure-only tabs stay visible but disabled on a green run: tabs that
|
|
7140
|
+
// appear and disappear shift every other tab's position between runs.
|
|
7141
|
+
{
|
|
7142
|
+
label: hasFailures.value ? `Failure groups (${failureGroupCount.value})` : "Failure groups",
|
|
7143
|
+
icon: "i-lucide-layers",
|
|
7144
|
+
value: "failure-groups",
|
|
7145
|
+
slot: "failure-groups",
|
|
7146
|
+
disabled: !hasFailures.value
|
|
7147
|
+
},
|
|
7148
|
+
{
|
|
7149
|
+
label: "Regression",
|
|
7150
|
+
icon: "i-lucide-git-pull-request-arrow",
|
|
7151
|
+
value: "regression",
|
|
7152
|
+
slot: "regression",
|
|
7153
|
+
disabled: !hasFailures.value
|
|
7154
|
+
},
|
|
6884
7155
|
{
|
|
6885
7156
|
label: `Timeline${uniqueWorkerCount.value > 0 ? ` (${uniqueWorkerCount.value})` : ""}`,
|
|
6886
7157
|
icon: "i-lucide-timeline",
|
|
@@ -6899,7 +7170,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6899
7170
|
"test-cases": "overflow-hidden flex flex-col",
|
|
6900
7171
|
endpoints: "overflow-hidden flex flex-col"
|
|
6901
7172
|
};
|
|
6902
|
-
const runTabValues = computed(() => tabItems.value.map((t) => t.value));
|
|
7173
|
+
const runTabValues = computed(() => tabItems.value.filter((t) => !t.disabled).map((t) => t.value));
|
|
6903
7174
|
if (typeof route.query.tab === "string" && runTabValues.value.includes(route.query.tab)) {
|
|
6904
7175
|
activeTab.value = route.query.tab;
|
|
6905
7176
|
}
|
|
@@ -6923,11 +7194,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6923
7194
|
}
|
|
6924
7195
|
return (_ctx, _push, _parent, _attrs) => {
|
|
6925
7196
|
const _component_UDashboardPanel = _sfc_main$1$1;
|
|
6926
|
-
const _component_UDashboardNavbar = _sfc_main$
|
|
7197
|
+
const _component_UDashboardNavbar = _sfc_main$g;
|
|
6927
7198
|
const _component_UDashboardSidebarCollapse = _sfc_main$1$2;
|
|
6928
7199
|
const _component_BreadcrumbNav = __nuxt_component_3$1;
|
|
6929
7200
|
const _component_NuxtLink = __nuxt_component_12$1;
|
|
6930
|
-
const _component_UTooltip = _sfc_main$
|
|
7201
|
+
const _component_UTooltip = _sfc_main$h;
|
|
6931
7202
|
const _component_UIcon = _sfc_main$p;
|
|
6932
7203
|
const _component_NavbarActions = __nuxt_component_4;
|
|
6933
7204
|
const _component_DetailPageLayout = __nuxt_component_8;
|
|
@@ -6941,7 +7212,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
6941
7212
|
const _component_WorkersTimeline = __nuxt_component_16;
|
|
6942
7213
|
const _component_RunCompare = __nuxt_component_17;
|
|
6943
7214
|
const _component_SlowEndpoints = __nuxt_component_18;
|
|
6944
|
-
const _component_ClientOnly = __nuxt_component_7;
|
|
7215
|
+
const _component_ClientOnly = __nuxt_component_7$1;
|
|
6945
7216
|
_push(`<!--[-->`);
|
|
6946
7217
|
_push(ssrRenderComponent(_component_UDashboardPanel, { id: "test-run-detail" }, {
|
|
6947
7218
|
header: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
@@ -7588,4 +7859,4 @@ _sfc_main.setup = (props, ctx) => {
|
|
|
7588
7859
|
};
|
|
7589
7860
|
|
|
7590
7861
|
export { _sfc_main as default };
|
|
7591
|
-
//# sourceMappingURL=_id_-
|
|
7862
|
+
//# sourceMappingURL=_id_-BdJs7BJZ.mjs.map
|