@piwitests/server 0.20.0 → 0.21.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/{CXEH9OPk.js → 9ti9eNH9.js} +1 -1
- package/.output/public/_nuxt/{oAClCn_h.js → B-zdP-D4.js} +1 -1
- package/.output/public/_nuxt/{DsesNydr.js → B1RmmOsM.js} +1 -1
- package/.output/public/_nuxt/{C0_yH0N7.js → B3Fsod9X.js} +1 -1
- package/.output/public/_nuxt/{Cnsmicv2.js → B3rirOqU.js} +34 -34
- package/.output/public/_nuxt/B3zmIJYb.js +1 -0
- package/.output/public/_nuxt/{DuwtTfO8.js → BAKUqW95.js} +2 -2
- package/.output/public/_nuxt/BG0KKQiT.js +7 -0
- package/.output/public/_nuxt/BGL_V7Y4.js +1 -0
- package/.output/public/_nuxt/{Dpd16JVI.js → BGusFAvZ.js} +1 -1
- package/.output/public/_nuxt/{l5WKbU4h.js → BNurUTla.js} +3 -3
- package/.output/public/_nuxt/BR5cR2Ot.js +1 -0
- package/.output/public/_nuxt/BTCh_0zN.js +1 -0
- package/.output/public/_nuxt/{C8e1EbJI.js → BTVqMsA3.js} +1 -1
- package/.output/public/_nuxt/{DabzhQB1.js → B_13C0GF.js} +1 -1
- package/.output/public/_nuxt/BeDIjhoR.js +44 -0
- package/.output/public/_nuxt/{D5tke0B5.js → BerCW7Ug.js} +1 -1
- package/.output/public/_nuxt/{BicAJ6U8.js → BfTNbVc_.js} +1 -1
- package/.output/public/_nuxt/BnbSEpXX.js +1 -0
- package/.output/public/_nuxt/Bo_dxehb.js +1 -0
- package/.output/public/_nuxt/{C2hkrSey.js → BpBHls4-.js} +1 -1
- package/.output/public/_nuxt/{Bm62iDV5.js → BpM6ZPIG.js} +1 -1
- package/.output/public/_nuxt/{GPNI1ffD.js → BqGumsDo.js} +2 -2
- package/.output/public/_nuxt/{A1pj0VnG.js → BrxtP_cN.js} +1 -1
- package/.output/public/_nuxt/{KyA_4Ks-.js → C2hNxjjz.js} +1 -1
- package/.output/public/_nuxt/C5PSqfKi.js +2 -0
- package/.output/public/_nuxt/C5vsaU4G.js +1 -0
- package/.output/public/_nuxt/C9sdHaXd.js +1 -0
- package/.output/public/_nuxt/{Und3xXFc.js → CAxgBYIt.js} +2 -2
- package/.output/public/_nuxt/{BmUfSNMV.js → CES2i5Pl.js} +1 -1
- package/.output/public/_nuxt/{CNyV9YpI.js → CFEdRqaj.js} +1 -1
- package/.output/public/_nuxt/{Dy-TJ0Mt.js → CFTZwazK.js} +1 -1
- package/.output/public/_nuxt/CIBS7ye6.js +1 -0
- package/.output/public/_nuxt/CIEceDOw.js +1 -0
- package/.output/public/_nuxt/{bLcjFslv.js → CJBhojV6.js} +1 -1
- package/.output/public/_nuxt/{b-GYfcrQ.js → CKYddHa6.js} +1 -1
- package/.output/public/_nuxt/{BKkF4pPD.js → CLVWiCds.js} +1 -1
- package/.output/public/_nuxt/{CwGWJbiy.js → CMYAryzi.js} +1 -1
- package/.output/public/_nuxt/{CjPfj7ya.js → COhdybDy.js} +1 -1
- package/.output/public/_nuxt/{B7FTvFWq.js → CRBXM2d6.js} +2 -2
- package/.output/public/_nuxt/CTD_pJ_v.js +1 -0
- package/.output/public/_nuxt/{Cus22Ud3.js → CTP8Pw0-.js} +2 -2
- package/.output/public/_nuxt/{CeW8v31b.js → CV8iF2kG.js} +1 -1
- package/.output/public/_nuxt/{H94BMf3L.js → CWKmbYlT.js} +1 -1
- package/.output/public/_nuxt/C_NfGMTd.js +9 -0
- package/.output/public/_nuxt/Cejoebel.js +6 -0
- package/.output/public/_nuxt/{FaFoMVKo.js → Chpah_7l.js} +1 -1
- package/.output/public/_nuxt/Ci9d8YVV.js +1 -0
- package/.output/public/_nuxt/{CIrFl3MW.js → CifRHVaR.js} +1 -1
- package/.output/public/_nuxt/{DrfE8IY0.js → Ckgsh9AT.js} +1 -1
- package/.output/public/_nuxt/{-f7BAm1H.js → Cpsq-kYE.js} +1 -1
- package/.output/public/_nuxt/Cqc-DSTF.js +1 -0
- package/.output/public/_nuxt/{CAAwCT7H.js → CsHulb12.js} +1 -1
- package/.output/public/_nuxt/Ctb2CqUf.js +5 -0
- package/.output/public/_nuxt/CtstIQSh.js +1 -0
- package/.output/public/_nuxt/{DJxlKFGb.js → CvMzDKvu.js} +1 -1
- package/.output/public/_nuxt/{CTU1mrhq.js → D2pBhsH8.js} +1 -1
- package/.output/public/_nuxt/{B3obW6cw.js → D8gX1Jde.js} +2 -2
- package/.output/public/_nuxt/D9knOn6D.js +1 -0
- package/.output/public/_nuxt/DAPTVdvA.js +1 -0
- package/.output/public/_nuxt/{Du2W7Jne.js → DCFbQvIN.js} +42 -42
- package/.output/public/_nuxt/DCoJlz_q.js +1 -0
- package/.output/public/_nuxt/DGnQ69wW.js +64 -0
- package/.output/public/_nuxt/{hNh4CIL0.js → DHzij16p.js} +1 -1
- package/.output/public/_nuxt/DJMCXRuW.js +5 -0
- package/.output/public/_nuxt/DJXcGkJP.js +2 -0
- package/.output/public/_nuxt/{DPCxhHri.js → DKFXZdWZ.js} +1 -1
- package/.output/public/_nuxt/{Bnxf8nbZ.js → DL24AjfW.js} +1 -1
- package/.output/public/_nuxt/DON74Yh6.js +1 -0
- package/.output/public/_nuxt/{5A6ITZXj.js → DQM62mxB.js} +1 -1
- package/.output/public/_nuxt/DSe8DxMl.js +1 -0
- package/.output/public/_nuxt/DWwiVTZX.js +24 -0
- package/.output/public/_nuxt/DX4tAP78.js +1 -0
- package/.output/public/_nuxt/{C1gTN4Q8.js → D_eDAIsT.js} +1 -1
- package/.output/public/_nuxt/Da8A92cF.js +1 -0
- package/.output/public/_nuxt/{CzAPFPpL.js → DdH3op4b.js} +1 -1
- package/.output/public/_nuxt/DepFDZO3.js +1 -0
- package/.output/public/_nuxt/{BzRRzmwm.js → DfSBKzrC.js} +1 -1
- package/.output/public/_nuxt/{BdfhYr-u.js → DfnKh3dZ.js} +1 -1
- package/.output/public/_nuxt/{Bow4tTR0.js → DhpTfeip.js} +1 -1
- package/.output/public/_nuxt/{CAvY22RE.js → Dk9nD32g.js} +1 -1
- package/.output/public/_nuxt/{BrQEE053.js → DkT2nCqn.js} +1 -1
- package/.output/public/_nuxt/DlW85lQq.js +4 -0
- package/.output/public/_nuxt/DnNio-ut.js +1 -0
- package/.output/public/_nuxt/{DdwHkKfV.js → DnQv_hst.js} +1 -1
- package/.output/public/_nuxt/{B99fbi73.js → DqEOMteW.js} +1 -1
- package/.output/public/_nuxt/{4gYNA-d4.js → Dsvu7YJT.js} +1 -1
- package/.output/public/_nuxt/DvhCDBrR.js +2 -0
- package/.output/public/_nuxt/DwQaVMZR.js +1 -0
- package/.output/public/_nuxt/E-_n_6vi.js +1 -0
- package/.output/public/_nuxt/{BT3wGCTI.js → Ebw5l7n8.js} +1 -1
- package/.output/public/_nuxt/{CA9B2HE5.js → IPePdbzl.js} +1 -1
- package/.output/public/_nuxt/{DJmoLeVt.js → LHoUGrfi.js} +1 -1
- package/.output/public/_nuxt/{L3kAWB2a.js → NERLHpOL.js} +1 -1
- package/.output/public/_nuxt/{CeG9pBAD.js → RAdNGxcF.js} +1 -1
- package/.output/public/_nuxt/Vxyo_mU9.js +1 -0
- package/.output/public/_nuxt/{pQqGiNch.js → YE1kAkU9.js} +1 -1
- package/.output/public/_nuxt/{CsLojMwR.js → YmT5WiN5.js} +1 -1
- package/.output/public/_nuxt/ZcAfCxWE.js +17 -0
- package/.output/public/_nuxt/{CxyAzHr3.js → _rglcvXN.js} +1 -1
- package/.output/public/_nuxt/bFU9Y1Vw.js +10 -0
- package/.output/public/_nuxt/bfecIH89.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/31ca2be4-a949-4df6-9818-773fc085557a.json +1 -0
- package/.output/public/_nuxt/entry.BAvBQY-h.css +1 -0
- package/.output/public/_nuxt/four-S1Y.js +1 -0
- package/.output/public/_nuxt/{CJFtzlQ4.js → gV2U_Gqd.js} +1 -1
- package/.output/public/_nuxt/{DeY2JkR2.js → lGC893pn.js} +1 -1
- package/.output/public/_nuxt/nOfj-ar8.js +1 -0
- package/.output/public/_nuxt/oKrbs1XK.js +1 -0
- package/.output/public/_nuxt/oSJFAC38.js +1 -0
- package/.output/public/_nuxt/rL4C0HV5.js +1 -0
- package/.output/public/_nuxt/{Dyeqn3aG.js → tQoyVPCE.js} +1 -1
- package/.output/public/_nuxt/{DfgOx_ou.js → uSPCvASp.js} +1 -1
- package/.output/public/_nuxt/{hC_z4G8p.js → wkz5-1SO.js} +1 -1
- package/.output/public/_nuxt/yYlVYKCz.js +34 -0
- package/.output/public/_nuxt/{AbmKWFQQ.js → zv8WdMx0.js} +1 -1
- package/.output/server/chunks/_/scope.mjs +43 -27
- package/.output/server/chunks/_/scope.mjs.map +1 -1
- package/.output/server/chunks/_/users.mjs +1 -1
- package/.output/server/chunks/build/{Breadcrumb-Ak2Lg3oM.mjs → Breadcrumb-3itRZ1uz.mjs} +2 -2
- package/.output/server/chunks/build/Breadcrumb-3itRZ1uz.mjs.map +1 -0
- package/.output/server/chunks/build/{BreadcrumbNav-DO7I_z-n.mjs → BreadcrumbNav-GnjBvXuT.mjs} +2 -2
- package/.output/server/chunks/build/BreadcrumbNav-GnjBvXuT.mjs.map +1 -0
- package/.output/server/chunks/build/{BrowserBadge-MFvBwxmD.mjs → BrowserBadge-DQqJS9CV.mjs} +2 -2
- package/.output/server/chunks/build/BrowserBadge-DQqJS9CV.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartCard-Y1UKwMsf.mjs → ChartCard-D0rzMf-N.mjs} +2 -2
- package/.output/server/chunks/build/ChartCard-D0rzMf-N.mjs.map +1 -0
- package/.output/server/chunks/build/{Checkbox-4Q5d0fa0.mjs → Checkbox-DmRKG-0s.mjs} +3 -3
- package/.output/server/chunks/build/Checkbox-DmRKG-0s.mjs.map +1 -0
- package/.output/server/chunks/build/{CodeBlock-BgE-NSmE.mjs → CodeBlock-DGhKVFad.mjs} +4 -4
- package/.output/server/chunks/build/CodeBlock-DGhKVFad.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardNavbar-BHmMSPX7.mjs → DashboardNavbar-DCr10nxL.mjs} +2 -2
- package/.output/server/chunks/build/DashboardNavbar-DCr10nxL.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardSidebarToggle-DCTnHiIv.mjs → DashboardSidebarToggle-8EpBhX0R.mjs} +3 -3
- package/.output/server/chunks/build/DashboardSidebarToggle-8EpBhX0R.mjs.map +1 -0
- package/.output/server/chunks/build/{DataLocationCard-B_YHdzSz.mjs → DataLocationCard-rzS-pgCP.mjs} +5 -5
- package/.output/server/chunks/build/DataLocationCard-rzS-pgCP.mjs.map +1 -0
- package/.output/server/chunks/build/{DiagnosisPanel-CALyEmcJ.mjs → DiagnosisPanel-BWTpoCKy.mjs} +8 -7
- package/.output/server/chunks/build/DiagnosisPanel-BWTpoCKy.mjs.map +1 -0
- package/.output/server/chunks/build/{useAiStatus-CxjMmDDY.mjs → DiagnosisResult-Br3qBLXe.mjs} +10 -32
- package/.output/server/chunks/build/DiagnosisResult-Br3qBLXe.mjs.map +1 -0
- package/.output/server/chunks/build/{DurationValue-D20oGbnc.mjs → DurationValue-CWKfjIF2.mjs} +2 -2
- package/.output/server/chunks/build/DurationValue-CWKfjIF2.mjs.map +1 -0
- package/.output/server/chunks/build/{EntityLinks-BBHWssHH.mjs → EntityLinks-CF0xG3Y8.mjs} +6 -6
- package/.output/server/chunks/build/EntityLinks-CF0xG3Y8.mjs.map +1 -0
- package/.output/server/chunks/build/EnvManagedBadge-UwD2b9v2.mjs +1 -1
- package/.output/server/chunks/build/FeatureUnavailable-CwPms6X_.mjs +83 -0
- package/.output/server/chunks/build/FeatureUnavailable-CwPms6X_.mjs.map +1 -0
- package/.output/server/chunks/build/{FormField-B0HKsdMd.mjs → FormField-e7OnSKPM.mjs} +2 -2
- package/.output/server/chunks/build/FormField-e7OnSKPM.mjs.map +1 -0
- package/.output/server/chunks/build/GetStartedWizard-CB5v1Xzu.mjs +510 -0
- package/.output/server/chunks/build/GetStartedWizard-CB5v1Xzu.mjs.map +1 -0
- package/.output/server/chunks/build/{HelpHint-DrcIv-Oj.mjs → HelpHint-DjGrGFA7.mjs} +3 -3
- package/.output/server/chunks/build/HelpHint-DjGrGFA7.mjs.map +1 -0
- package/.output/server/chunks/build/{LoadingState-C3pBSuOO.mjs → LoadingState-B8v1nWJt.mjs} +3 -3
- package/.output/server/chunks/build/LoadingState-B8v1nWJt.mjs.map +1 -0
- package/.output/server/chunks/build/{CiEnvCard-DB5DvBh1.mjs → MetaStripGroup-dXXa_MzF.mjs} +242 -529
- package/.output/server/chunks/build/MetaStripGroup-dXXa_MzF.mjs.map +1 -0
- package/.output/server/chunks/build/{MiniRunBars-CZMugDrh.mjs → MiniRunBars-fgLMgRUp.mjs} +2 -2
- package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs.map +1 -0
- package/.output/server/chunks/build/{useSettingsNav-DnQKacz8.mjs → NavigationMenu-cqpt11Ce.mjs} +5 -28
- package/.output/server/chunks/build/NavigationMenu-cqpt11Ce.mjs.map +1 -0
- package/.output/server/chunks/build/{OpenInIdeLink-CQWKKChd.mjs → OpenInIdeLink-B9wvQkhy.mjs} +5 -5
- package/.output/server/chunks/build/{OpenInIdeLink-CQWKKChd.mjs.map → OpenInIdeLink-B9wvQkhy.mjs.map} +1 -1
- package/.output/server/chunks/build/{ProjectTestCasesTable-Bo61P5K1.mjs → ProjectTestCasesTable-BwHEtZTz.mjs} +15 -15
- package/.output/server/chunks/build/ProjectTestCasesTable-BwHEtZTz.mjs.map +1 -0
- package/.output/server/chunks/build/{RunReports-DFLv51TX.mjs → RunReports-BDRIWn3o.mjs} +2 -2
- package/.output/server/chunks/build/RunReports-BDRIWn3o.mjs.map +1 -0
- package/.output/server/chunks/build/{RunStatusBadge-FfGb6bkW.mjs → RunStatusBadge-CuTDknRJ.mjs} +2 -2
- package/.output/server/chunks/build/RunStatusBadge-CuTDknRJ.mjs.map +1 -0
- package/.output/server/chunks/build/{SectionCard-CN-v0FZ_.mjs → SectionCard-BW5Lynrr.mjs} +2 -2
- package/.output/server/chunks/build/SectionCard-BW5Lynrr.mjs.map +1 -0
- package/.output/server/chunks/build/{Select-5DK9frQ7.mjs → Select-CVctwpib.mjs} +3 -3
- package/.output/server/chunks/build/Select-CVctwpib.mjs.map +1 -0
- package/.output/server/chunks/build/{SelectMenu-D-2FSqBU.mjs → SelectMenu-XLVBEa11.mjs} +3 -3
- package/.output/server/chunks/build/{SelectMenu-D-2FSqBU.mjs.map → SelectMenu-XLVBEa11.mjs.map} +1 -1
- package/.output/server/chunks/build/{SettingsField-BZfx4ma1.mjs → SettingsField-DvtRvI6O.mjs} +3 -3
- package/.output/server/chunks/build/SettingsField-DvtRvI6O.mjs.map +1 -0
- package/.output/server/chunks/build/{StatTile-D61Vzo6e.mjs → StatTile-DpcVQFVI.mjs} +2 -26
- package/.output/server/chunks/build/StatTile-DpcVQFVI.mjs.map +1 -0
- package/.output/server/chunks/build/StatTileGrid-7zOFUQ6j.mjs +30 -0
- package/.output/server/chunks/build/StatTileGrid-7zOFUQ6j.mjs.map +1 -0
- package/.output/server/chunks/build/{Switch-B5Fp8ULt.mjs → Switch-8zWfwI5B.mjs} +2 -2
- package/.output/server/chunks/build/Switch-8zWfwI5B.mjs.map +1 -0
- package/.output/server/chunks/build/Table-BRk04Hd2.mjs +1 -1
- package/.output/server/chunks/build/{TestCaseHistoryChart-CSi64vVA.mjs → TestCaseHistoryChart-C6t5RrCG.mjs} +2 -2
- package/.output/server/chunks/build/TestCaseHistoryChart-C6t5RrCG.mjs.map +1 -0
- package/.output/server/chunks/build/{TestMetaBadges-D5_yUtIP.mjs → TestMetaBadges-BlyKmfeP.mjs} +1 -1
- package/.output/server/chunks/build/TestMetaBadges-BlyKmfeP.mjs.map +1 -0
- package/.output/server/chunks/build/{TestStatusBar-DX3EhlyP.mjs → TestStatusBar-DhbrM_rQ.mjs} +3 -3
- package/.output/server/chunks/build/TestStatusBar-DhbrM_rQ.mjs.map +1 -0
- package/.output/server/chunks/build/{Textarea-Dv2-lOvW.mjs → Textarea-vkMKVQTJ.mjs} +2 -2
- package/.output/server/chunks/build/Textarea-vkMKVQTJ.mjs.map +1 -0
- package/.output/server/chunks/build/Tooltip-Dv4htNP6.mjs +1 -1
- package/.output/server/chunks/build/{_id_-BdG37K7s.mjs → _id_-2PMH6rl8.mjs} +20 -19
- package/.output/server/chunks/build/_id_-2PMH6rl8.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-BdJs7BJZ.mjs → _id_-8cGIgeg6.mjs} +1903 -1113
- package/.output/server/chunks/build/_id_-8cGIgeg6.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-C_uSBiyU.mjs → _id_-CUZ5S6y5.mjs} +29 -29
- package/.output/server/chunks/build/_id_-CUZ5S6y5.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-BxA6IgWr.mjs → _id_-DMkgWSLZ.mjs} +885 -381
- package/.output/server/chunks/build/_id_-DMkgWSLZ.mjs.map +1 -0
- package/.output/server/chunks/build/{about-BE0UV-8-.mjs → about-D3WXTDro.mjs} +21 -453
- package/.output/server/chunks/build/about-D3WXTDro.mjs.map +1 -0
- package/.output/server/chunks/build/{account-DAfvaD-F.mjs → account-BslDNCoo.mjs} +6 -6
- package/.output/server/chunks/build/account-BslDNCoo.mjs.map +1 -0
- package/.output/server/chunks/build/{ai-Cn05ch0u.mjs → ai-C23R9l94.mjs} +14 -14
- package/.output/server/chunks/build/{ai-Cn05ch0u.mjs.map → ai-C23R9l94.mjs.map} +1 -1
- package/.output/server/chunks/build/{analytics-Bo_B_jko.mjs → analytics-DQHeToK0.mjs} +104 -77
- package/.output/server/chunks/build/analytics-DQHeToK0.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/compare-RxHSOdsO.mjs +1 -0
- package/.output/server/chunks/build/{db.client-CQoVTYB9.mjs → db.client-D74DghqX.mjs} +38 -2
- package/.output/server/chunks/build/db.client-D74DghqX.mjs.map +1 -0
- package/.output/server/chunks/build/{default-CbNHaFsy.mjs → default-CeyePZ5I.mjs} +32 -19
- package/.output/server/chunks/build/{default-CbNHaFsy.mjs.map → default-CeyePZ5I.mjs.map} +1 -1
- package/.output/server/chunks/build/{docs-B_llWMxx.mjs → docs-f_bnC75q.mjs} +14 -14
- package/.output/server/chunks/build/{docs-B_llWMxx.mjs.map → docs-f_bnC75q.mjs.map} +1 -1
- package/.output/server/chunks/build/{edit-J0asTFg8.mjs → edit-BOC4zWuH.mjs} +11 -12
- package/.output/server/chunks/build/edit-BOC4zWuH.mjs.map +1 -0
- package/.output/server/chunks/build/{fetch-B4FwBOzu.mjs → fetch-BQg_fhX0.mjs} +32 -4
- package/.output/server/chunks/build/fetch-BQg_fhX0.mjs.map +1 -0
- package/.output/server/chunks/build/{forgot-password-CC__1OnV.mjs → forgot-password-CxuVbGWy.mjs} +4 -3
- package/.output/server/chunks/build/forgot-password-CxuVbGWy.mjs.map +1 -0
- package/.output/server/chunks/build/{import-CS9oylTN.mjs → import-CC27wEIu.mjs} +12 -12
- package/.output/server/chunks/build/import-CC27wEIu.mjs.map +1 -0
- package/.output/server/chunks/build/{index-e9skCi-V.mjs → index-B6PjfyTY.mjs} +39 -537
- package/.output/server/chunks/build/index-B6PjfyTY.mjs.map +1 -0
- package/.output/server/chunks/build/{index-CU2nZhAa.mjs → index-BOK1aJk9.mjs} +2 -1
- package/.output/server/chunks/build/index-BOK1aJk9.mjs.map +1 -0
- package/.output/server/chunks/build/{index-hGHlmyxj.mjs → index-BhS1DuCr.mjs} +117 -76
- package/.output/server/chunks/build/index-BhS1DuCr.mjs.map +1 -0
- package/.output/server/chunks/build/{index-DE45ycdZ.mjs → index-DUmjP3Gr.mjs} +12 -13
- package/.output/server/chunks/build/index-DUmjP3Gr.mjs.map +1 -0
- package/.output/server/chunks/build/index-jvF53f7_.mjs +91 -0
- package/.output/server/chunks/build/index-jvF53f7_.mjs.map +1 -0
- package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs +1 -1
- package/.output/server/chunks/build/{login-Da4u1IlW.mjs → login-CdpOhiP8.mjs} +8 -7
- package/.output/server/chunks/build/login-CdpOhiP8.mjs.map +1 -0
- package/.output/server/chunks/build/{mcp-uhVCCwQM.mjs → mcp-WTeO5WRo.mjs} +193 -10
- package/.output/server/chunks/build/mcp-WTeO5WRo.mjs.map +1 -0
- package/.output/server/chunks/build/{notifications-fx_qnKGA.mjs → notifications-yY6ik-fi.mjs} +9 -9
- package/.output/server/chunks/build/notifications-yY6ik-fi.mjs.map +1 -0
- package/.output/server/chunks/build/{pr-feedback-X6-70iF0.mjs → pr-feedback-Hv2Ydh_6.mjs} +7 -7
- package/.output/server/chunks/build/pr-feedback-Hv2Ydh_6.mjs.map +1 -0
- package/.output/server/chunks/build/{reset-password-BmrUS4ZD.mjs → reset-password-CFtO8A6n.mjs} +4 -3
- package/.output/server/chunks/build/reset-password-CFtO8A6n.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +51 -34
- package/.output/server/chunks/build/{settings-CCYe7rsc.mjs → settings-DIpvnY8_.mjs} +10 -8
- package/.output/server/chunks/build/settings-DIpvnY8_.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-metadata-DrEqWcW-.mjs → settings-metadata-DRv9VveS.mjs} +32 -2
- package/.output/server/chunks/build/settings-metadata-DRv9VveS.mjs.map +1 -0
- package/.output/server/chunks/build/setup-Di0UMyWx.mjs +1116 -0
- package/.output/server/chunks/build/setup-Di0UMyWx.mjs.map +1 -0
- package/.output/server/chunks/build/{storage-CJEmviCD.mjs → storage-gAbY1KbQ.mjs} +10 -10
- package/.output/server/chunks/build/storage-gAbY1KbQ.mjs.map +1 -0
- package/.output/server/chunks/build/{tags-DauTe_F-.mjs → tags-DJ80wCqt.mjs} +6 -7
- package/.output/server/chunks/build/tags-DJ80wCqt.mjs.map +1 -0
- package/.output/server/chunks/build/{test-cases-thBbAykw.mjs → test-cases-YP83YlnL.mjs} +18 -18
- package/.output/server/chunks/build/test-cases-YP83YlnL.mjs.map +1 -0
- package/.output/server/chunks/build/test-functions-BwLTxGmM.mjs +550 -0
- package/.output/server/chunks/build/test-functions-BwLTxGmM.mjs.map +1 -0
- package/.output/server/chunks/build/{timeout-hygiene-CbnSaVbK.mjs → timeout-hygiene-RpXDjXTX.mjs} +6 -6
- package/.output/server/chunks/build/timeout-hygiene-RpXDjXTX.mjs.map +1 -0
- package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs +9 -0
- package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs.map +1 -0
- package/.output/server/chunks/build/{useCopyRich-RJKhWoyj.mjs → useCopyRich-Cd5Yj_Wy.mjs} +694 -242
- package/.output/server/chunks/build/useCopyRich-Cd5Yj_Wy.mjs.map +1 -0
- package/.output/server/chunks/build/{useDesktopDownload-BepjqxOt.mjs → useDesktopDownload-BmR6ouz2.mjs} +2 -2
- package/.output/server/chunks/build/useDesktopDownload-BmR6ouz2.mjs.map +1 -0
- package/.output/server/chunks/build/{useOpenInIde-BbTnPhFA.mjs → useOpenInIde-DolN3bZ5.mjs} +1 -1
- package/.output/server/chunks/build/useOpenInIde-DolN3bZ5.mjs.map +1 -0
- package/.output/server/chunks/build/useSettingsNav-DfnOFlR_.mjs +19 -0
- package/.output/server/chunks/build/useSettingsNav-DfnOFlR_.mjs.map +1 -0
- package/.output/server/chunks/build/{users-CTUqXyGh.mjs → users-I2K7HXS2.mjs} +6 -7
- package/.output/server/chunks/build/users-I2K7HXS2.mjs.map +1 -0
- package/.output/server/chunks/build/{wasted-time-BNTPIyrC.mjs → wasted-time-DyIk0olc.mjs} +9 -9
- package/.output/server/chunks/build/wasted-time-DyIk0olc.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +1348 -675
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs +2 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/stats.get.mjs +1 -0
- package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/status.get.mjs +1 -0
- package/.output/server/chunks/routes/api/ai/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +1 -0
- package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/me.get.mjs +1 -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 +1 -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 +1 -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 +1 -0
- package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +1 -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 +1 -0
- package/.output/server/chunks/routes/api/auth/setup.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +1 -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 +1 -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 +1 -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 +1 -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 +1 -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 +1 -0
- package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +1 -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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +1 -0
- 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 +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +1 -0
- package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get2.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get4.mjs +2 -1
- package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get5.mjs +1 -0
- package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post4.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post5.mjs +1 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +1 -0
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +1 -0
- 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 +1 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +1 -0
- 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 +1 -0
- 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 +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs +76 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs +66 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs +53 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs +67 -0
- package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +2 -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 +1 -0
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects.get.mjs +1 -0
- package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/search.get.mjs +2 -1
- package/.output/server/chunks/routes/api/search.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +2 -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 +2 -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 +1 -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 +2 -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 +1 -0
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs +2 -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 +2 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +2 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs +2 -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 +2 -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 +2 -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 +2 -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 +2 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/setup-status.get.mjs +99 -0
- package/.output/server/chunks/routes/api/setup-status.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/stream.get.mjs +1 -0
- package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +2 -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 +2 -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 +2 -1
- package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs +60 -0
- package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs +69 -0
- package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +2 -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 +2 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +2 -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 +2 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +2 -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 +2 -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 +2 -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 +2 -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 +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -1
- package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +2 -1
- package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +2 -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 +2 -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 +2 -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 +2 -1
- package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs +2 -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 +1 -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 +1 -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 +1 -1
- package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +2 -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 +2 -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 +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -0
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/version.get.mjs +2 -1
- package/.output/server/chunks/routes/api/version.get.mjs.map +1 -1
- package/.output/server/chunks/routes/mcp.post.mjs +41 -11
- package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/tasks/sweep.mjs +1 -0
- package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
- package/.output/server/chunks/tasks/sweep2.mjs +1 -0
- package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
- package/.output/server/database/migrations/0043_watery_dragon_lord.sql +22 -0
- package/.output/server/database/migrations/meta/0043_snapshot.json +3764 -0
- package/.output/server/database/migrations/meta/_journal.json +7 -0
- package/.output/server/database/migrations-pg/0044_dark_triathlon.sql +22 -0
- package/.output/server/database/migrations-pg/meta/0044_snapshot.json +4473 -0
- package/.output/server/database/migrations-pg/meta/_journal.json +7 -0
- package/.output/server/index.mjs +2 -1
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/8PUUncmO.js +0 -44
- package/.output/public/_nuxt/B8zkOmwo.js +0 -1
- package/.output/public/_nuxt/B96M2gdj.js +0 -1
- package/.output/public/_nuxt/B9OLmp0f.js +0 -1
- package/.output/public/_nuxt/BUa0V0Ly.js +0 -1
- package/.output/public/_nuxt/BUkim3TM.js +0 -1
- package/.output/public/_nuxt/BVc14Ncz.js +0 -4
- package/.output/public/_nuxt/BY0HxR3t.js +0 -17
- package/.output/public/_nuxt/B_xAMWQS.js +0 -2
- package/.output/public/_nuxt/BdQoBaOv.js +0 -1
- package/.output/public/_nuxt/BgRu_3tT.js +0 -1
- package/.output/public/_nuxt/BiO7RBWb.js +0 -6
- package/.output/public/_nuxt/CEfS4-oS.js +0 -64
- package/.output/public/_nuxt/CIoSMkpp.js +0 -1
- package/.output/public/_nuxt/CSJ-eOQM.js +0 -1
- package/.output/public/_nuxt/CahpB9Z2.js +0 -5
- package/.output/public/_nuxt/Cbh--1MW.js +0 -1
- package/.output/public/_nuxt/Cx6gc2VW.js +0 -1
- package/.output/public/_nuxt/D--H4jLI.js +0 -1
- package/.output/public/_nuxt/D1POo6S4.js +0 -10
- package/.output/public/_nuxt/D8nkF-OO.js +0 -3
- package/.output/public/_nuxt/DA25RkyK.js +0 -1
- package/.output/public/_nuxt/DIB-5fUJ.js +0 -1
- package/.output/public/_nuxt/DMec-OLo.js +0 -1
- package/.output/public/_nuxt/DSqHUrvO.js +0 -1
- package/.output/public/_nuxt/DmkUdSS4.js +0 -1
- package/.output/public/_nuxt/DoIREDVb.js +0 -1
- package/.output/public/_nuxt/DpZ1r1HA.js +0 -1
- package/.output/public/_nuxt/DqcKngf3.js +0 -1
- package/.output/public/_nuxt/DtHJgCS8.js +0 -1
- package/.output/public/_nuxt/Dtd4rC58.js +0 -9
- package/.output/public/_nuxt/Dy86h-7P.js +0 -1
- package/.output/public/_nuxt/HPNQD6v3.js +0 -1
- package/.output/public/_nuxt/HXadJrHu.js +0 -2
- package/.output/public/_nuxt/McL25vkx.js +0 -34
- package/.output/public/_nuxt/Nn93e_Mz.js +0 -1
- package/.output/public/_nuxt/UdR3DBPS.js +0 -1
- package/.output/public/_nuxt/_mj6CfPa.js +0 -1
- package/.output/public/_nuxt/builds/meta/e659b3e1-0e61-4971-940e-10063f9f4763.json +0 -1
- package/.output/public/_nuxt/entry.DmptwB51.css +0 -1
- package/.output/public/_nuxt/ryMzSDUj.js +0 -2
- package/.output/server/chunks/build/Breadcrumb-Ak2Lg3oM.mjs.map +0 -1
- package/.output/server/chunks/build/BreadcrumbNav-DO7I_z-n.mjs.map +0 -1
- package/.output/server/chunks/build/BrowserBadge-MFvBwxmD.mjs.map +0 -1
- package/.output/server/chunks/build/ChartCard-Y1UKwMsf.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-4Q5d0fa0.mjs.map +0 -1
- package/.output/server/chunks/build/CiEnvCard-DB5DvBh1.mjs.map +0 -1
- package/.output/server/chunks/build/CodeBlock-BgE-NSmE.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardNavbar-BHmMSPX7.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardSidebarToggle-DCTnHiIv.mjs.map +0 -1
- package/.output/server/chunks/build/DataLocationCard-B_YHdzSz.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisPanel-CALyEmcJ.mjs.map +0 -1
- package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs.map +0 -1
- package/.output/server/chunks/build/EntityLinks-BBHWssHH.mjs.map +0 -1
- package/.output/server/chunks/build/FormField-B0HKsdMd.mjs.map +0 -1
- package/.output/server/chunks/build/HelpHint-DrcIv-Oj.mjs.map +0 -1
- package/.output/server/chunks/build/LoadingState-C3pBSuOO.mjs.map +0 -1
- package/.output/server/chunks/build/MiniRunBars-CZMugDrh.mjs.map +0 -1
- package/.output/server/chunks/build/ProjectTestCasesTable-Bo61P5K1.mjs.map +0 -1
- package/.output/server/chunks/build/RunReports-DFLv51TX.mjs.map +0 -1
- package/.output/server/chunks/build/RunStatusBadge-FfGb6bkW.mjs.map +0 -1
- package/.output/server/chunks/build/SectionCard-CN-v0FZ_.mjs.map +0 -1
- package/.output/server/chunks/build/Select-5DK9frQ7.mjs.map +0 -1
- package/.output/server/chunks/build/SettingsField-BZfx4ma1.mjs.map +0 -1
- package/.output/server/chunks/build/StatTile-D61Vzo6e.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-B5Fp8ULt.mjs.map +0 -1
- package/.output/server/chunks/build/TestCaseHistoryChart-CSi64vVA.mjs.map +0 -1
- package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs.map +0 -1
- package/.output/server/chunks/build/TestStatusBar-DX3EhlyP.mjs.map +0 -1
- package/.output/server/chunks/build/Textarea-Dv2-lOvW.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BdG37K7s.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BdJs7BJZ.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BxA6IgWr.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-C_uSBiyU.mjs.map +0 -1
- package/.output/server/chunks/build/about-BE0UV-8-.mjs.map +0 -1
- package/.output/server/chunks/build/account-DAfvaD-F.mjs.map +0 -1
- package/.output/server/chunks/build/analytics-Bo_B_jko.mjs.map +0 -1
- package/.output/server/chunks/build/db.client-CQoVTYB9.mjs.map +0 -1
- package/.output/server/chunks/build/edit-J0asTFg8.mjs.map +0 -1
- package/.output/server/chunks/build/fetch-B4FwBOzu.mjs.map +0 -1
- package/.output/server/chunks/build/forgot-password-CC__1OnV.mjs.map +0 -1
- package/.output/server/chunks/build/import-CS9oylTN.mjs.map +0 -1
- package/.output/server/chunks/build/index-CU2nZhAa.mjs.map +0 -1
- package/.output/server/chunks/build/index-DE45ycdZ.mjs.map +0 -1
- package/.output/server/chunks/build/index-e9skCi-V.mjs.map +0 -1
- package/.output/server/chunks/build/index-hGHlmyxj.mjs.map +0 -1
- package/.output/server/chunks/build/index-tR6owKzj.mjs +0 -167
- package/.output/server/chunks/build/index-tR6owKzj.mjs.map +0 -1
- package/.output/server/chunks/build/login-Da4u1IlW.mjs.map +0 -1
- package/.output/server/chunks/build/mcp-uhVCCwQM.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-fx_qnKGA.mjs.map +0 -1
- package/.output/server/chunks/build/pr-feedback-X6-70iF0.mjs.map +0 -1
- package/.output/server/chunks/build/reset-password-BmrUS4ZD.mjs.map +0 -1
- package/.output/server/chunks/build/settings-CCYe7rsc.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-DrEqWcW-.mjs.map +0 -1
- package/.output/server/chunks/build/storage-CJEmviCD.mjs.map +0 -1
- package/.output/server/chunks/build/tags-DauTe_F-.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-thBbAykw.mjs.map +0 -1
- package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs.map +0 -1
- package/.output/server/chunks/build/useAiStatus-CxjMmDDY.mjs.map +0 -1
- package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs +0 -33
- package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs.map +0 -1
- package/.output/server/chunks/build/useCopyRich-RJKhWoyj.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopDownload-BepjqxOt.mjs.map +0 -1
- package/.output/server/chunks/build/useOpenInIde-BbTnPhFA.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-DnQKacz8.mjs.map +0 -1
- package/.output/server/chunks/build/users-CTUqXyGh.mjs.map +0 -1
- package/.output/server/chunks/build/wasted-time-BNTPIyrC.mjs.map +0 -1
|
@@ -1,44 +1,45 @@
|
|
|
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$h } from './DashboardNavbar-DCr10nxL.mjs';
|
|
2
|
+
import { _ as _sfc_main$1$2 } from './Breadcrumb-3itRZ1uz.mjs';
|
|
3
|
+
import { _ as __nuxt_component_3$1 } from './BreadcrumbNav-GnjBvXuT.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, v as __nuxt_component_12$1, o as _sfc_main$p, s as __nuxt_component_7$1, _ as _sfc_main$d$1, w as _sfc_main$8$1, p as _sfc_main$j$1 } from './server.mjs';
|
|
5
|
+
import { _ as _sfc_main$i } from './Tooltip-Dv4htNP6.mjs';
|
|
6
6
|
import { _ as __nuxt_component_4 } from './NavbarActions-_YjrSUat.mjs';
|
|
7
|
-
import { _ as __nuxt_component_8, b as __nuxt_component_1$
|
|
8
|
-
import {
|
|
9
|
-
import { _ as __nuxt_component_14$
|
|
10
|
-
import { _ as __nuxt_component_14$1 } from './DurationValue-
|
|
11
|
-
import { _ as _sfc_main$
|
|
12
|
-
import { _ as __nuxt_component_2$2 } from './HelpHint-
|
|
7
|
+
import { _ as __nuxt_component_8, b as __nuxt_component_1$1, a as __nuxt_component_14$2, c as __nuxt_component_16$1, d as __nuxt_component_17$1 } from './MetaStripGroup-dXXa_MzF.mjs';
|
|
8
|
+
import { _ as __nuxt_component_0$1 } from './DiagnosisResult-Br3qBLXe.mjs';
|
|
9
|
+
import { _ as __nuxt_component_14$3 } from './TestStatusBar-DhbrM_rQ.mjs';
|
|
10
|
+
import { _ as __nuxt_component_14$1 } from './DurationValue-CWKfjIF2.mjs';
|
|
11
|
+
import { _ as _sfc_main$n } from './Card-BQP_oZkQ.mjs';
|
|
12
|
+
import { _ as __nuxt_component_2$2 } from './HelpHint-DjGrGFA7.mjs';
|
|
13
13
|
import { _ as __nuxt_component_5 } from './MarkerBadge-D7meXy4u.mjs';
|
|
14
|
-
import { _ as
|
|
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-
|
|
16
|
-
import { aa as formatBytes,
|
|
14
|
+
import { _ as __nuxt_component_1$2 } from './StatTileGrid-7zOFUQ6j.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-BOK1aJk9.mjs';
|
|
16
|
+
import { aa as formatBytes, bR as DEFAULT_WASTED_WAIT_PATTERNS, dX as isWastedWait } from '../nitro/nitro.mjs';
|
|
17
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';
|
|
18
18
|
import { ssrRenderComponent, ssrInterpolate, ssrRenderAttrs, ssrRenderClass, ssrRenderList, ssrRenderStyle, ssrRenderAttr, ssrRenderTeleport, ssrIncludeBooleanAttr } from 'vue/server-renderer';
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { _ as
|
|
23
|
-
import { _ as _sfc_main$q } from './
|
|
24
|
-
import { _ as
|
|
25
|
-
import { _ as
|
|
26
|
-
import { _ as
|
|
19
|
+
import { _ as __nuxt_component_19 } from './EntityLinks-CF0xG3Y8.mjs';
|
|
20
|
+
import { b as buildRetryCommand } from './useOpenInIde-DolN3bZ5.mjs';
|
|
21
|
+
import { u as useFetch, a as useCopy } from './fetch-BQg_fhX0.mjs';
|
|
22
|
+
import { _ as __nuxt_component_4$3 } from './FilterToolbar-BwXy8xSk.mjs';
|
|
23
|
+
import { _ as _sfc_main$q } from './Select-CVctwpib.mjs';
|
|
24
|
+
import { _ as _sfc_main$r } from './Checkbox-DmRKG-0s.mjs';
|
|
25
|
+
import { _ as __nuxt_component_1$3 } from './OpenInIdeLink-B9wvQkhy.mjs';
|
|
26
|
+
import { _ as __nuxt_component_2$3 } from './TestMetaBadges-BlyKmfeP.mjs';
|
|
27
|
+
import { _ as __nuxt_component_3$3 } from './BrowserBadge-DQqJS9CV.mjs';
|
|
27
28
|
import { u as useTreeViewCookie } from './useTreeViewCookie-CQjQdTkH.mjs';
|
|
28
29
|
import { _ as __nuxt_component_5$1 } from './ErrorState-CktYyeEZ.mjs';
|
|
29
|
-
import { _ as
|
|
30
|
-
import { _ as __nuxt_component_4$
|
|
31
|
-
import { _ as __nuxt_component_11 } from './SectionCard-
|
|
30
|
+
import { _ as __nuxt_component_12$2 } from './LoadingState-B8v1nWJt.mjs';
|
|
31
|
+
import { _ as __nuxt_component_4$2 } from './EmptyState-DC2q_7TD.mjs';
|
|
32
|
+
import { _ as __nuxt_component_11 } from './SectionCard-BW5Lynrr.mjs';
|
|
32
33
|
import { _ as __nuxt_component_3$2 } from './TableScroller-DMcdCVrH.mjs';
|
|
33
|
-
import { _ as _sfc_main$
|
|
34
|
-
import { _ as _sfc_main$
|
|
35
|
-
import { _ as __nuxt_component_0$2 } from './DiagnosisPanel-
|
|
36
|
-
import {
|
|
37
|
-
import { _ as
|
|
38
|
-
import { _ as
|
|
39
|
-
import { _ as _sfc_main$l } from './Alert-C4xq8lao.mjs';
|
|
34
|
+
import { _ as _sfc_main$j } from './Table-BRk04Hd2.mjs';
|
|
35
|
+
import { _ as _sfc_main$o } from './Modal-pSDlXzT3.mjs';
|
|
36
|
+
import { _ as __nuxt_component_0$2 } from './DiagnosisPanel-BWTpoCKy.mjs';
|
|
37
|
+
import { _ as _sfc_main$l } from './SelectMenu-XLVBEa11.mjs';
|
|
38
|
+
import { _ as __nuxt_component_13$1 } from './RunStatusBadge-CuTDknRJ.mjs';
|
|
39
|
+
import { _ as _sfc_main$m } from './Alert-C4xq8lao.mjs';
|
|
40
40
|
import { u as useRunComparison } from './useRunComparison-CiMBLpe2.mjs';
|
|
41
|
-
import './
|
|
41
|
+
import { _ as __nuxt_component_4$1 } from './FeatureUnavailable-CwPms6X_.mjs';
|
|
42
|
+
import './DashboardSidebarToggle-8EpBhX0R.mjs';
|
|
42
43
|
import 'vue-router';
|
|
43
44
|
import '@iconify/vue';
|
|
44
45
|
import 'tailwindcss/colors';
|
|
@@ -71,6 +72,7 @@ import 'highlight.js/lib/languages/typescript';
|
|
|
71
72
|
import 'highlight.js/lib/languages/xml';
|
|
72
73
|
import 'highlight.js/lib/languages/yaml';
|
|
73
74
|
import 'fflate';
|
|
75
|
+
import 'zod';
|
|
74
76
|
import 'pixelmatch';
|
|
75
77
|
import 'sharp';
|
|
76
78
|
import '@anthropic-ai/sdk';
|
|
@@ -94,27 +96,187 @@ import 'node:zlib';
|
|
|
94
96
|
import 'consola';
|
|
95
97
|
import 'node:url';
|
|
96
98
|
import '@iconify/utils';
|
|
97
|
-
import './FormField-
|
|
99
|
+
import './FormField-e7OnSKPM.mjs';
|
|
98
100
|
import './Label-DYDR1Oeh.mjs';
|
|
99
|
-
import './Switch-
|
|
101
|
+
import './Switch-8zWfwI5B.mjs';
|
|
100
102
|
import './useFormControl-CZ9So7iX.mjs';
|
|
101
103
|
import './useForwardScopeId-D0ameaSU.mjs';
|
|
102
104
|
import './VisuallyHiddenInput-BHvzNumK.mjs';
|
|
103
|
-
import './CodeBlock-
|
|
105
|
+
import './CodeBlock-DGhKVFad.mjs';
|
|
104
106
|
import './useTauri-Kf3HE_42.mjs';
|
|
105
107
|
import './Tabs-BkSOnbaB.mjs';
|
|
106
108
|
import './RovingFocusItem--OEHI2P3.mjs';
|
|
107
|
-
import './Textarea-
|
|
109
|
+
import './Textarea-vkMKVQTJ.mjs';
|
|
108
110
|
import './help-content-C876a9WD.mjs';
|
|
109
111
|
import '../_/marker-categories.mjs';
|
|
110
112
|
import 'date-fns';
|
|
113
|
+
import '@vue/shared';
|
|
111
114
|
import './handleAndDispatchCustomEvent-Bk_AVSSo.mjs';
|
|
112
115
|
import './isValueEqualOrExist-D2qw9YEr.mjs';
|
|
113
116
|
import './Separator-CR4WcEKD.mjs';
|
|
114
117
|
import '@tanstack/vue-table';
|
|
115
118
|
import '@tanstack/vue-virtual';
|
|
116
|
-
import '
|
|
119
|
+
import './useAiStatus-UR8x-feE.mjs';
|
|
117
120
|
|
|
121
|
+
const _sfc_main$g = /* @__PURE__ */ defineComponent({
|
|
122
|
+
__name: "RunStorageChip",
|
|
123
|
+
__ssrInlineRender: true,
|
|
124
|
+
props: {
|
|
125
|
+
storageStats: {},
|
|
126
|
+
reports: {},
|
|
127
|
+
finalizing: { type: Boolean }
|
|
128
|
+
},
|
|
129
|
+
setup(__props) {
|
|
130
|
+
const config = useRuntimeConfig();
|
|
131
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
132
|
+
const _component_UIcon = _sfc_main$p;
|
|
133
|
+
const _component_UProgress = _sfc_main$j$1;
|
|
134
|
+
const _component_UPopover = _sfc_main$8$1;
|
|
135
|
+
const _component_HelpHint = __nuxt_component_2$2;
|
|
136
|
+
const _component_UButton = _sfc_main$k;
|
|
137
|
+
if (__props.finalizing) {
|
|
138
|
+
_push(`<div${ssrRenderAttrs(mergeProps({ class: "inline-flex items-center gap-2 text-info" }, _attrs))}>`);
|
|
139
|
+
_push(ssrRenderComponent(_component_UIcon, {
|
|
140
|
+
name: "i-lucide-upload",
|
|
141
|
+
class: "size-3.5 shrink-0 animate-pulse"
|
|
142
|
+
}, null, _parent));
|
|
143
|
+
_push(`<span class="text-xs font-medium whitespace-nowrap">Uploading reports & traces…</span>`);
|
|
144
|
+
_push(ssrRenderComponent(_component_UProgress, {
|
|
145
|
+
value: null,
|
|
146
|
+
size: "sm",
|
|
147
|
+
color: "info",
|
|
148
|
+
class: "w-24 rounded-full animate-pulse"
|
|
149
|
+
}, null, _parent));
|
|
150
|
+
_push(`</div>`);
|
|
151
|
+
} else if (__props.storageStats?.totalFiles) {
|
|
152
|
+
_push(ssrRenderComponent(_component_UPopover, _attrs, {
|
|
153
|
+
content: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
154
|
+
if (_push2) {
|
|
155
|
+
_push2(`<div class="p-3 w-72 space-y-2"${_scopeId}><p class="text-xs font-medium text-muted inline-flex items-center gap-1"${_scopeId}> Stored artifacts `);
|
|
156
|
+
_push2(ssrRenderComponent(_component_HelpHint, { topic: "run.reports" }, null, _parent2, _scopeId));
|
|
157
|
+
_push2(`</p><!--[-->`);
|
|
158
|
+
ssrRenderList(__props.reports, (report) => {
|
|
159
|
+
_push2(`<div class="flex items-center justify-between gap-2 min-w-0"${_scopeId}>`);
|
|
160
|
+
_push2(ssrRenderComponent(_component_UButton, {
|
|
161
|
+
href: ("fileApiUrl" in _ctx ? _ctx.fileApiUrl : unref(fileApiUrl))(report.path, null, unref(config).app?.baseURL),
|
|
162
|
+
icon: ("reportIcon" in _ctx ? _ctx.reportIcon : unref(reportIcon))(report.type),
|
|
163
|
+
target: "_blank",
|
|
164
|
+
size: "xs",
|
|
165
|
+
variant: "outline",
|
|
166
|
+
class: "min-w-0",
|
|
167
|
+
ui: { label: "truncate" }
|
|
168
|
+
}, {
|
|
169
|
+
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
170
|
+
if (_push3) {
|
|
171
|
+
_push3(`${ssrInterpolate(report.label)}`);
|
|
172
|
+
} else {
|
|
173
|
+
return [
|
|
174
|
+
createTextVNode(toDisplayString(report.label), 1)
|
|
175
|
+
];
|
|
176
|
+
}
|
|
177
|
+
}),
|
|
178
|
+
_: 2
|
|
179
|
+
}, _parent2, _scopeId));
|
|
180
|
+
_push2(`<span class="text-xs tabular-nums text-dimmed shrink-0"${_scopeId}>${ssrInterpolate(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(report.size))}</span></div>`);
|
|
181
|
+
});
|
|
182
|
+
_push2(`<!--]-->`);
|
|
183
|
+
if (__props.storageStats.testCaseFilesCount > 0) {
|
|
184
|
+
_push2(`<div class="flex items-center justify-between gap-2 text-sm border-t border-default pt-2"${_scopeId}><span class="truncate"${_scopeId}>Test files (${ssrInterpolate(__props.storageStats.testCaseFilesCount)})</span><span class="text-xs tabular-nums text-dimmed shrink-0"${_scopeId}>${ssrInterpolate(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(__props.storageStats.testCaseFilesSize))}</span></div>`);
|
|
185
|
+
} else {
|
|
186
|
+
_push2(`<!---->`);
|
|
187
|
+
}
|
|
188
|
+
_push2(`</div>`);
|
|
189
|
+
} else {
|
|
190
|
+
return [
|
|
191
|
+
createVNode("div", { class: "p-3 w-72 space-y-2" }, [
|
|
192
|
+
createVNode("p", { class: "text-xs font-medium text-muted inline-flex items-center gap-1" }, [
|
|
193
|
+
createTextVNode(" Stored artifacts "),
|
|
194
|
+
createVNode(_component_HelpHint, { topic: "run.reports" })
|
|
195
|
+
]),
|
|
196
|
+
(openBlock(true), createBlock(Fragment, null, renderList(__props.reports, (report) => {
|
|
197
|
+
return openBlock(), createBlock("div", {
|
|
198
|
+
key: `${report.type}-${report.path}`,
|
|
199
|
+
class: "flex items-center justify-between gap-2 min-w-0"
|
|
200
|
+
}, [
|
|
201
|
+
createVNode(_component_UButton, {
|
|
202
|
+
href: ("fileApiUrl" in _ctx ? _ctx.fileApiUrl : unref(fileApiUrl))(report.path, null, unref(config).app?.baseURL),
|
|
203
|
+
icon: ("reportIcon" in _ctx ? _ctx.reportIcon : unref(reportIcon))(report.type),
|
|
204
|
+
target: "_blank",
|
|
205
|
+
size: "xs",
|
|
206
|
+
variant: "outline",
|
|
207
|
+
class: "min-w-0",
|
|
208
|
+
ui: { label: "truncate" }
|
|
209
|
+
}, {
|
|
210
|
+
default: withCtx(() => [
|
|
211
|
+
createTextVNode(toDisplayString(report.label), 1)
|
|
212
|
+
]),
|
|
213
|
+
_: 2
|
|
214
|
+
}, 1032, ["href", "icon"]),
|
|
215
|
+
createVNode("span", { class: "text-xs tabular-nums text-dimmed shrink-0" }, toDisplayString(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(report.size)), 1)
|
|
216
|
+
]);
|
|
217
|
+
}), 128)),
|
|
218
|
+
__props.storageStats.testCaseFilesCount > 0 ? (openBlock(), createBlock("div", {
|
|
219
|
+
key: 0,
|
|
220
|
+
class: "flex items-center justify-between gap-2 text-sm border-t border-default pt-2"
|
|
221
|
+
}, [
|
|
222
|
+
createVNode("span", { class: "truncate" }, "Test files (" + toDisplayString(__props.storageStats.testCaseFilesCount) + ")", 1),
|
|
223
|
+
createVNode("span", { class: "text-xs tabular-nums text-dimmed shrink-0" }, toDisplayString(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(__props.storageStats.testCaseFilesSize)), 1)
|
|
224
|
+
])) : createCommentVNode("", true)
|
|
225
|
+
])
|
|
226
|
+
];
|
|
227
|
+
}
|
|
228
|
+
}),
|
|
229
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
230
|
+
if (_push2) {
|
|
231
|
+
_push2(`<button type="button" class="inline-flex items-center gap-1.5 rounded-md px-1.5 py-0.5 -my-0.5 -ml-1.5 text-muted hover:text-default hover:bg-elevated/60 transition-colors cursor-pointer" title="Stored reports & artifacts"${_scopeId}>`);
|
|
232
|
+
_push2(ssrRenderComponent(_component_UIcon, {
|
|
233
|
+
name: "i-lucide-database",
|
|
234
|
+
class: "size-3.5 text-dimmed shrink-0"
|
|
235
|
+
}, null, _parent2, _scopeId));
|
|
236
|
+
_push2(`<span class="tabular-nums whitespace-nowrap"${_scopeId}>${ssrInterpolate(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(__props.storageStats.totalSize))} <span class="text-dimmed"${_scopeId}>· ${ssrInterpolate(__props.storageStats.totalFiles)} file${ssrInterpolate(__props.storageStats.totalFiles === 1 ? "" : "s")}</span></span>`);
|
|
237
|
+
_push2(ssrRenderComponent(_component_UIcon, {
|
|
238
|
+
name: "i-lucide-chevron-down",
|
|
239
|
+
class: "size-3 text-dimmed shrink-0"
|
|
240
|
+
}, null, _parent2, _scopeId));
|
|
241
|
+
_push2(`</button>`);
|
|
242
|
+
} else {
|
|
243
|
+
return [
|
|
244
|
+
createVNode("button", {
|
|
245
|
+
type: "button",
|
|
246
|
+
class: "inline-flex items-center gap-1.5 rounded-md px-1.5 py-0.5 -my-0.5 -ml-1.5 text-muted hover:text-default hover:bg-elevated/60 transition-colors cursor-pointer",
|
|
247
|
+
title: "Stored reports & artifacts"
|
|
248
|
+
}, [
|
|
249
|
+
createVNode(_component_UIcon, {
|
|
250
|
+
name: "i-lucide-database",
|
|
251
|
+
class: "size-3.5 text-dimmed shrink-0"
|
|
252
|
+
}),
|
|
253
|
+
createVNode("span", { class: "tabular-nums whitespace-nowrap" }, [
|
|
254
|
+
createTextVNode(toDisplayString(("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(__props.storageStats.totalSize)) + " ", 1),
|
|
255
|
+
createVNode("span", { class: "text-dimmed" }, "· " + toDisplayString(__props.storageStats.totalFiles) + " file" + toDisplayString(__props.storageStats.totalFiles === 1 ? "" : "s"), 1)
|
|
256
|
+
]),
|
|
257
|
+
createVNode(_component_UIcon, {
|
|
258
|
+
name: "i-lucide-chevron-down",
|
|
259
|
+
class: "size-3 text-dimmed shrink-0"
|
|
260
|
+
})
|
|
261
|
+
])
|
|
262
|
+
];
|
|
263
|
+
}
|
|
264
|
+
}),
|
|
265
|
+
_: 1
|
|
266
|
+
}, _parent));
|
|
267
|
+
} else {
|
|
268
|
+
_push(`<!---->`);
|
|
269
|
+
}
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
const _sfc_setup$g = _sfc_main$g.setup;
|
|
274
|
+
_sfc_main$g.setup = (props, ctx) => {
|
|
275
|
+
const ssrContext = useSSRContext();
|
|
276
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/run/RunStorageChip.vue");
|
|
277
|
+
return _sfc_setup$g ? _sfc_setup$g(props, ctx) : void 0;
|
|
278
|
+
};
|
|
279
|
+
const __nuxt_component_18$1 = Object.assign(_sfc_main$g, { __name: "RunStorageChip" });
|
|
118
280
|
const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
119
281
|
__name: "RunSummary",
|
|
120
282
|
__ssrInlineRender: true,
|
|
@@ -134,17 +296,14 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
134
296
|
const toast = useToast();
|
|
135
297
|
const config = useRuntimeConfig();
|
|
136
298
|
const storageStats = computed(() => props.testRun?.storageStats);
|
|
137
|
-
const
|
|
138
|
-
|
|
139
|
-
);
|
|
140
|
-
const
|
|
299
|
+
const ci = computed(() => props.testRun?.metadata?.ci);
|
|
300
|
+
const scm = computed(() => props.testRun?.metadata?.scm);
|
|
301
|
+
const tags = computed(() => props.testRun?.metadata?.tags);
|
|
302
|
+
const customData = computed(() => props.testRun?.metadata?.customData);
|
|
303
|
+
const showCiGroup = computed(() => !!(ci.value || props.testRun?.environment));
|
|
304
|
+
const showVersions = computed(() => !!(props.testRun?.playwrightVersion || props.testRun?.reporterVersion));
|
|
141
305
|
const showStorage = computed(() => !!(storageStats.value?.totalFiles || props.finalizing));
|
|
142
|
-
const
|
|
143
|
-
() => !!(props.testRun?.metadata?.tags?.length || props.testRun?.metadata?.projectDescription || props.testRun?.metadata?.relatedIssue || props.testRun?.metadata?.customData || props.testRun?.links?.length)
|
|
144
|
-
);
|
|
145
|
-
const { summaryColSpanClass, blockColSpanClass } = useDetailGrid(
|
|
146
|
-
() => [showCiEnv, showSource, showStorage, showOther].filter((b) => b.value).length
|
|
147
|
-
);
|
|
306
|
+
const primaryReport = computed(() => props.allReports[0] ?? null);
|
|
148
307
|
const { copy, copied } = useCopy();
|
|
149
308
|
const retryMode = ref("file-line");
|
|
150
309
|
const retryCopied = ref(false);
|
|
@@ -239,29 +398,30 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
239
398
|
}
|
|
240
399
|
return (_ctx, _push, _parent, _attrs) => {
|
|
241
400
|
const _component_FoldableSummary = __nuxt_component_0$1;
|
|
242
|
-
const
|
|
401
|
+
const _component_StatusChip = __nuxt_component_1$1;
|
|
243
402
|
const _component_UIcon = _sfc_main$p;
|
|
244
403
|
const _component_UBadge = _sfc_main$7$1;
|
|
245
|
-
const _component_TestStatusBar = __nuxt_component_14$
|
|
404
|
+
const _component_TestStatusBar = __nuxt_component_14$3;
|
|
246
405
|
const _component_DurationValue = __nuxt_component_14$1;
|
|
247
|
-
const _component_UCard = _sfc_main$
|
|
406
|
+
const _component_UCard = _sfc_main$n;
|
|
248
407
|
const _component_HelpHint = __nuxt_component_2$2;
|
|
249
|
-
const _component_UTooltip = _sfc_main$
|
|
408
|
+
const _component_UTooltip = _sfc_main$i;
|
|
250
409
|
const _component_NuxtLink = __nuxt_component_12$1;
|
|
251
410
|
const _component_MarkerBadge = __nuxt_component_5;
|
|
411
|
+
const _component_ClientOnly = __nuxt_component_7$1;
|
|
252
412
|
const _component_UButton = _sfc_main$k;
|
|
253
413
|
const _component_UPopover = _sfc_main$8$1;
|
|
254
|
-
const _component_DesktopRunLocallyButton =
|
|
255
|
-
const
|
|
256
|
-
const
|
|
257
|
-
const
|
|
258
|
-
const
|
|
259
|
-
const _component_EntityLinks =
|
|
414
|
+
const _component_DesktopRunLocallyButton = __nuxt_component_14$2;
|
|
415
|
+
const _component_StatTileGrid = __nuxt_component_1$2;
|
|
416
|
+
const _component_SummaryMetaStrip = __nuxt_component_16$1;
|
|
417
|
+
const _component_MetaStripGroup = __nuxt_component_17$1;
|
|
418
|
+
const _component_RunStorageChip = __nuxt_component_18$1;
|
|
419
|
+
const _component_EntityLinks = __nuxt_component_19;
|
|
260
420
|
_push(ssrRenderComponent(_component_FoldableSummary, mergeProps({ "storage-key": "test-run" }, _attrs), {
|
|
261
421
|
folded: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
262
422
|
if (_push2) {
|
|
263
423
|
_push2(`<div class="flex items-center gap-3 flex-1 min-w-0 justify-between"${_scopeId}><div class="flex items-center gap-3 min-w-0"${_scopeId}>`);
|
|
264
|
-
_push2(ssrRenderComponent(
|
|
424
|
+
_push2(ssrRenderComponent(_component_StatusChip, {
|
|
265
425
|
status: __props.testRun?.status ?? "",
|
|
266
426
|
size: "sm"
|
|
267
427
|
}, null, _parent2, _scopeId));
|
|
@@ -335,7 +495,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
335
495
|
return [
|
|
336
496
|
createVNode("div", { class: "flex items-center gap-3 flex-1 min-w-0 justify-between" }, [
|
|
337
497
|
createVNode("div", { class: "flex items-center gap-3 min-w-0" }, [
|
|
338
|
-
createVNode(
|
|
498
|
+
createVNode(_component_StatusChip, {
|
|
339
499
|
status: __props.testRun?.status ?? "",
|
|
340
500
|
size: "sm"
|
|
341
501
|
}, null, 8, ["status"]),
|
|
@@ -437,134 +597,856 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
437
597
|
}),
|
|
438
598
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
439
599
|
if (_push2) {
|
|
440
|
-
_push2(`<div class="
|
|
441
|
-
_push2(ssrRenderComponent(_component_UCard, {
|
|
442
|
-
|
|
600
|
+
_push2(`<div class="@container"${_scopeId}>`);
|
|
601
|
+
_push2(ssrRenderComponent(_component_UCard, {
|
|
602
|
+
class: "shadow-xs",
|
|
603
|
+
ui: { footer: "px-4 py-2.5 sm:px-4 bg-muted/30" }
|
|
604
|
+
}, {
|
|
605
|
+
footer: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
443
606
|
if (_push3) {
|
|
444
|
-
_push3(
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
607
|
+
_push3(ssrRenderComponent(_component_SummaryMetaStrip, null, {
|
|
608
|
+
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
609
|
+
if (_push4) {
|
|
610
|
+
if (unref(showCiGroup)) {
|
|
611
|
+
_push4(ssrRenderComponent(_component_MetaStripGroup, {
|
|
612
|
+
label: "CI & environment",
|
|
613
|
+
icon: "i-lucide-cloud",
|
|
614
|
+
help: "run.ci-env"
|
|
615
|
+
}, {
|
|
616
|
+
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
617
|
+
if (_push5) {
|
|
618
|
+
if (__props.testRun?.environment) {
|
|
619
|
+
_push5(`<span class="rounded-full border border-default px-2 py-0.5 text-xs bg-elevated/60"${_scopeId4}>${ssrInterpolate(__props.testRun.environment)}</span>`);
|
|
620
|
+
} else {
|
|
621
|
+
_push5(`<!---->`);
|
|
622
|
+
}
|
|
623
|
+
if (unref(ci)?.provider) {
|
|
624
|
+
_push5(`<span${_scopeId4}>${ssrInterpolate(unref(ci).provider)}</span>`);
|
|
625
|
+
} else {
|
|
626
|
+
_push5(`<!---->`);
|
|
627
|
+
}
|
|
628
|
+
if (unref(ci)?.buildNumber || unref(ci)?.buildUrl) {
|
|
629
|
+
_push5(`<!--[--><span class="text-dimmed"${_scopeId4}>·</span>`);
|
|
630
|
+
if (unref(ci)?.buildUrl) {
|
|
631
|
+
_push5(`<a${ssrRenderAttr("href", unref(ci).buildUrl)} target="_blank" class="text-primary hover:underline"${_scopeId4}>${ssrInterpolate(unref(ci)?.buildNumber ? `Build #${unref(ci).buildNumber}` : "View build")}</a>`);
|
|
632
|
+
} else {
|
|
633
|
+
_push5(`<span${_scopeId4}>Build #${ssrInterpolate(unref(ci).buildNumber)}</span>`);
|
|
634
|
+
}
|
|
635
|
+
_push5(`<!--]-->`);
|
|
636
|
+
} else {
|
|
637
|
+
_push5(`<!---->`);
|
|
638
|
+
}
|
|
639
|
+
if (unref(ci)?.workflow || unref(ci)?.jobName) {
|
|
640
|
+
_push5(`<!--[--><span class="text-dimmed"${_scopeId4}>·</span><span class="text-muted"${_scopeId4}>`);
|
|
641
|
+
if (unref(ci)?.workflow) {
|
|
642
|
+
_push5(`<!--[-->${ssrInterpolate(unref(ci).workflow)}<!--]-->`);
|
|
643
|
+
} else {
|
|
644
|
+
_push5(`<!---->`);
|
|
645
|
+
}
|
|
646
|
+
if (unref(ci)?.workflow && unref(ci)?.jobName) {
|
|
647
|
+
_push5(`<!--[--> · <!--]-->`);
|
|
648
|
+
} else {
|
|
649
|
+
_push5(`<!---->`);
|
|
650
|
+
}
|
|
651
|
+
if (unref(ci)?.jobName) {
|
|
652
|
+
_push5(`<!--[-->${ssrInterpolate(unref(ci).jobName)}<!--]-->`);
|
|
653
|
+
} else {
|
|
654
|
+
_push5(`<!---->`);
|
|
655
|
+
}
|
|
656
|
+
_push5(`</span><!--]-->`);
|
|
657
|
+
} else {
|
|
658
|
+
_push5(`<!---->`);
|
|
659
|
+
}
|
|
660
|
+
} else {
|
|
661
|
+
return [
|
|
662
|
+
__props.testRun?.environment ? (openBlock(), createBlock("span", {
|
|
663
|
+
key: 0,
|
|
664
|
+
class: "rounded-full border border-default px-2 py-0.5 text-xs bg-elevated/60"
|
|
665
|
+
}, toDisplayString(__props.testRun.environment), 1)) : createCommentVNode("", true),
|
|
666
|
+
unref(ci)?.provider ? (openBlock(), createBlock("span", { key: 1 }, toDisplayString(unref(ci).provider), 1)) : createCommentVNode("", true),
|
|
667
|
+
unref(ci)?.buildNumber || unref(ci)?.buildUrl ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
668
|
+
createVNode("span", { class: "text-dimmed" }, "·"),
|
|
669
|
+
unref(ci)?.buildUrl ? (openBlock(), createBlock("a", {
|
|
670
|
+
key: 0,
|
|
671
|
+
href: unref(ci).buildUrl,
|
|
672
|
+
target: "_blank",
|
|
673
|
+
class: "text-primary hover:underline"
|
|
674
|
+
}, toDisplayString(unref(ci)?.buildNumber ? `Build #${unref(ci).buildNumber}` : "View build"), 9, ["href"])) : (openBlock(), createBlock("span", { key: 1 }, "Build #" + toDisplayString(unref(ci).buildNumber), 1))
|
|
675
|
+
], 64)) : createCommentVNode("", true),
|
|
676
|
+
unref(ci)?.workflow || unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 3 }, [
|
|
677
|
+
createVNode("span", { class: "text-dimmed" }, "·"),
|
|
678
|
+
createVNode("span", { class: "text-muted" }, [
|
|
679
|
+
unref(ci)?.workflow ? (openBlock(), createBlock(Fragment, { key: 0 }, [
|
|
680
|
+
createTextVNode(toDisplayString(unref(ci).workflow), 1)
|
|
681
|
+
], 64)) : createCommentVNode("", true),
|
|
682
|
+
unref(ci)?.workflow && unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
683
|
+
createTextVNode(" · ")
|
|
684
|
+
], 64)) : createCommentVNode("", true),
|
|
685
|
+
unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
686
|
+
createTextVNode(toDisplayString(unref(ci).jobName), 1)
|
|
687
|
+
], 64)) : createCommentVNode("", true)
|
|
688
|
+
])
|
|
689
|
+
], 64)) : createCommentVNode("", true)
|
|
690
|
+
];
|
|
691
|
+
}
|
|
692
|
+
}),
|
|
693
|
+
_: 1
|
|
694
|
+
}, _parent4, _scopeId3));
|
|
487
695
|
} else {
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
696
|
+
_push4(`<!---->`);
|
|
697
|
+
}
|
|
698
|
+
if (unref(scm)) {
|
|
699
|
+
_push4(ssrRenderComponent(_component_MetaStripGroup, {
|
|
700
|
+
label: "Source",
|
|
701
|
+
icon: "i-lucide-git-branch"
|
|
702
|
+
}, {
|
|
703
|
+
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
704
|
+
if (_push5) {
|
|
705
|
+
if (unref(scm).branch) {
|
|
706
|
+
_push5(`<span class="font-medium"${_scopeId4}>${ssrInterpolate(unref(scm).branch)}</span>`);
|
|
707
|
+
} else {
|
|
708
|
+
_push5(`<!---->`);
|
|
709
|
+
}
|
|
710
|
+
if (unref(scm).commit) {
|
|
711
|
+
_push5(`<code class="text-xs font-mono bg-zinc-100 dark:bg-zinc-800 px-1 py-0.5 rounded"${ssrRenderAttr("title", unref(scm).commit)}${_scopeId4}>${ssrInterpolate(unref(scm).commit.length >= 8 ? unref(scm).commit.substring(0, 8) : unref(scm).commit)}</code>`);
|
|
712
|
+
} else {
|
|
713
|
+
_push5(`<!---->`);
|
|
714
|
+
}
|
|
715
|
+
if (unref(scm).author) {
|
|
716
|
+
_push5(`<span class="text-muted"${_scopeId4}>${ssrInterpolate(unref(scm).author)}</span>`);
|
|
717
|
+
} else {
|
|
718
|
+
_push5(`<!---->`);
|
|
719
|
+
}
|
|
720
|
+
if (unref(scm).commitMessage) {
|
|
721
|
+
_push5(`<span class="text-xs text-dimmed truncate max-w-[40ch]"${ssrRenderAttr("title", unref(scm).commitMessage)}${_scopeId4}>${ssrInterpolate(unref(scm).commitMessage)}</span>`);
|
|
722
|
+
} else {
|
|
723
|
+
_push5(`<!---->`);
|
|
724
|
+
}
|
|
725
|
+
} else {
|
|
726
|
+
return [
|
|
727
|
+
unref(scm).branch ? (openBlock(), createBlock("span", {
|
|
728
|
+
key: 0,
|
|
729
|
+
class: "font-medium"
|
|
730
|
+
}, toDisplayString(unref(scm).branch), 1)) : createCommentVNode("", true),
|
|
731
|
+
unref(scm).commit ? (openBlock(), createBlock("code", {
|
|
732
|
+
key: 1,
|
|
733
|
+
class: "text-xs font-mono bg-zinc-100 dark:bg-zinc-800 px-1 py-0.5 rounded",
|
|
734
|
+
title: unref(scm).commit
|
|
735
|
+
}, toDisplayString(unref(scm).commit.length >= 8 ? unref(scm).commit.substring(0, 8) : unref(scm).commit), 9, ["title"])) : createCommentVNode("", true),
|
|
736
|
+
unref(scm).author ? (openBlock(), createBlock("span", {
|
|
737
|
+
key: 2,
|
|
738
|
+
class: "text-muted"
|
|
739
|
+
}, toDisplayString(unref(scm).author), 1)) : createCommentVNode("", true),
|
|
740
|
+
unref(scm).commitMessage ? (openBlock(), createBlock("span", {
|
|
741
|
+
key: 3,
|
|
742
|
+
class: "text-xs text-dimmed truncate max-w-[40ch]",
|
|
743
|
+
title: unref(scm).commitMessage
|
|
744
|
+
}, toDisplayString(unref(scm).commitMessage), 9, ["title"])) : createCommentVNode("", true)
|
|
745
|
+
];
|
|
746
|
+
}
|
|
492
747
|
}),
|
|
493
|
-
|
|
494
|
-
|
|
748
|
+
_: 1
|
|
749
|
+
}, _parent4, _scopeId3));
|
|
750
|
+
} else {
|
|
751
|
+
_push4(`<!---->`);
|
|
495
752
|
}
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
_push3(`<!---->`);
|
|
501
|
-
}
|
|
502
|
-
if (__props.testRun?.precedingMarker) {
|
|
503
|
-
_push3(ssrRenderComponent(_component_UTooltip, {
|
|
504
|
-
text: `This run started after: ${__props.testRun.precedingMarker.label}`
|
|
505
|
-
}, {
|
|
506
|
-
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
507
|
-
if (_push4) {
|
|
508
|
-
_push4(ssrRenderComponent(_component_NuxtLink, {
|
|
509
|
-
to: `/projects/${__props.testRun.projectId}?tab=timeline`,
|
|
510
|
-
class: "shrink-0 inline-flex items-center gap-1"
|
|
753
|
+
if (unref(showVersions)) {
|
|
754
|
+
_push4(ssrRenderComponent(_component_MetaStripGroup, {
|
|
755
|
+
label: "Tooling versions",
|
|
756
|
+
icon: "i-lucide-tag"
|
|
511
757
|
}, {
|
|
512
758
|
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
513
759
|
if (_push5) {
|
|
514
|
-
_push5(`<span class="text-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
760
|
+
_push5(`<span class="text-muted whitespace-nowrap"${_scopeId4}>`);
|
|
761
|
+
if (__props.testRun?.playwrightVersion) {
|
|
762
|
+
_push5(`<!--[-->Playwright v${ssrInterpolate(__props.testRun.playwrightVersion)}<!--]-->`);
|
|
763
|
+
} else {
|
|
764
|
+
_push5(`<!---->`);
|
|
765
|
+
}
|
|
766
|
+
if (__props.testRun?.playwrightVersion && __props.testRun?.reporterVersion) {
|
|
767
|
+
_push5(`<!--[--> · <!--]-->`);
|
|
768
|
+
} else {
|
|
769
|
+
_push5(`<!---->`);
|
|
770
|
+
}
|
|
771
|
+
if (__props.testRun?.reporterVersion) {
|
|
772
|
+
_push5(`<!--[-->Piwi v${ssrInterpolate(__props.testRun.reporterVersion)}<!--]-->`);
|
|
773
|
+
} else {
|
|
774
|
+
_push5(`<!---->`);
|
|
775
|
+
}
|
|
776
|
+
_push5(`</span>`);
|
|
519
777
|
} else {
|
|
520
778
|
return [
|
|
521
|
-
createVNode("span", { class: "text-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
779
|
+
createVNode("span", { class: "text-muted whitespace-nowrap" }, [
|
|
780
|
+
__props.testRun?.playwrightVersion ? (openBlock(), createBlock(Fragment, { key: 0 }, [
|
|
781
|
+
createTextVNode("Playwright v" + toDisplayString(__props.testRun.playwrightVersion), 1)
|
|
782
|
+
], 64)) : createCommentVNode("", true),
|
|
783
|
+
__props.testRun?.playwrightVersion && __props.testRun?.reporterVersion ? (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
784
|
+
createTextVNode(" · ")
|
|
785
|
+
], 64)) : createCommentVNode("", true),
|
|
786
|
+
__props.testRun?.reporterVersion ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
787
|
+
createTextVNode("Piwi v" + toDisplayString(__props.testRun.reporterVersion), 1)
|
|
788
|
+
], 64)) : createCommentVNode("", true)
|
|
789
|
+
])
|
|
526
790
|
];
|
|
527
791
|
}
|
|
528
792
|
}),
|
|
529
793
|
_: 1
|
|
530
794
|
}, _parent4, _scopeId3));
|
|
531
795
|
} else {
|
|
532
|
-
|
|
533
|
-
createVNode(_component_NuxtLink, {
|
|
534
|
-
to: `/projects/${__props.testRun.projectId}?tab=timeline`,
|
|
535
|
-
class: "shrink-0 inline-flex items-center gap-1"
|
|
536
|
-
}, {
|
|
537
|
-
default: withCtx(() => [
|
|
538
|
-
createVNode("span", { class: "text-xs text-muted" }, "After"),
|
|
539
|
-
createVNode(_component_MarkerBadge, {
|
|
540
|
-
marker: __props.testRun.precedingMarker,
|
|
541
|
-
size: "xs"
|
|
542
|
-
}, null, 8, ["marker"])
|
|
543
|
-
]),
|
|
544
|
-
_: 1
|
|
545
|
-
}, 8, ["to"])
|
|
546
|
-
];
|
|
796
|
+
_push4(`<!---->`);
|
|
547
797
|
}
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
798
|
+
if (unref(tags)?.length) {
|
|
799
|
+
_push4(ssrRenderComponent(_component_MetaStripGroup, {
|
|
800
|
+
label: "Tags",
|
|
801
|
+
icon: "i-lucide-tags"
|
|
802
|
+
}, {
|
|
803
|
+
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
804
|
+
if (_push5) {
|
|
805
|
+
_push5(`<!--[-->`);
|
|
806
|
+
ssrRenderList(unref(tags), (tag) => {
|
|
807
|
+
_push5(ssrRenderComponent(_component_UBadge, {
|
|
808
|
+
key: tag,
|
|
809
|
+
color: "neutral",
|
|
810
|
+
variant: "soft",
|
|
811
|
+
size: "sm"
|
|
812
|
+
}, {
|
|
813
|
+
default: withCtx((_5, _push6, _parent6, _scopeId5) => {
|
|
814
|
+
if (_push6) {
|
|
815
|
+
_push6(`${ssrInterpolate(tag)}`);
|
|
816
|
+
} else {
|
|
817
|
+
return [
|
|
818
|
+
createTextVNode(toDisplayString(tag), 1)
|
|
819
|
+
];
|
|
820
|
+
}
|
|
821
|
+
}),
|
|
822
|
+
_: 2
|
|
823
|
+
}, _parent5, _scopeId4));
|
|
824
|
+
});
|
|
825
|
+
_push5(`<!--]-->`);
|
|
826
|
+
} else {
|
|
827
|
+
return [
|
|
828
|
+
(openBlock(true), createBlock(Fragment, null, renderList(unref(tags), (tag) => {
|
|
829
|
+
return openBlock(), createBlock(_component_UBadge, {
|
|
830
|
+
key: tag,
|
|
831
|
+
color: "neutral",
|
|
832
|
+
variant: "soft",
|
|
833
|
+
size: "sm"
|
|
834
|
+
}, {
|
|
835
|
+
default: withCtx(() => [
|
|
836
|
+
createTextVNode(toDisplayString(tag), 1)
|
|
837
|
+
]),
|
|
838
|
+
_: 2
|
|
839
|
+
}, 1024);
|
|
840
|
+
}), 128))
|
|
841
|
+
];
|
|
842
|
+
}
|
|
843
|
+
}),
|
|
844
|
+
_: 1
|
|
845
|
+
}, _parent4, _scopeId3));
|
|
846
|
+
} else {
|
|
847
|
+
_push4(`<!---->`);
|
|
848
|
+
}
|
|
849
|
+
if (__props.testRun?.metadata?.relatedIssue) {
|
|
850
|
+
_push4(ssrRenderComponent(_component_MetaStripGroup, {
|
|
851
|
+
label: "Related issue",
|
|
852
|
+
icon: "i-lucide-bookmark"
|
|
853
|
+
}, {
|
|
854
|
+
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
855
|
+
if (_push5) {
|
|
856
|
+
_push5(`<span class="text-muted"${_scopeId4}>${ssrInterpolate(__props.testRun.metadata.relatedIssue)}</span>`);
|
|
857
|
+
} else {
|
|
858
|
+
return [
|
|
859
|
+
createVNode("span", { class: "text-muted" }, toDisplayString(__props.testRun.metadata.relatedIssue), 1)
|
|
860
|
+
];
|
|
861
|
+
}
|
|
862
|
+
}),
|
|
863
|
+
_: 1
|
|
864
|
+
}, _parent4, _scopeId3));
|
|
865
|
+
} else {
|
|
866
|
+
_push4(`<!---->`);
|
|
867
|
+
}
|
|
868
|
+
if (unref(showStorage)) {
|
|
869
|
+
_push4(ssrRenderComponent(_component_MetaStripGroup, { label: "Storage" }, {
|
|
870
|
+
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
871
|
+
if (_push5) {
|
|
872
|
+
_push5(ssrRenderComponent(_component_RunStorageChip, {
|
|
873
|
+
"storage-stats": unref(storageStats),
|
|
874
|
+
reports: __props.allReports,
|
|
875
|
+
finalizing: __props.finalizing
|
|
876
|
+
}, null, _parent5, _scopeId4));
|
|
877
|
+
} else {
|
|
878
|
+
return [
|
|
879
|
+
createVNode(_component_RunStorageChip, {
|
|
880
|
+
"storage-stats": unref(storageStats),
|
|
881
|
+
reports: __props.allReports,
|
|
882
|
+
finalizing: __props.finalizing
|
|
883
|
+
}, null, 8, ["storage-stats", "reports", "finalizing"])
|
|
884
|
+
];
|
|
885
|
+
}
|
|
886
|
+
}),
|
|
887
|
+
_: 1
|
|
888
|
+
}, _parent4, _scopeId3));
|
|
889
|
+
} else {
|
|
890
|
+
_push4(`<!---->`);
|
|
891
|
+
}
|
|
892
|
+
_push4(ssrRenderComponent(_component_MetaStripGroup, {
|
|
893
|
+
label: "Links",
|
|
894
|
+
icon: "i-lucide-link",
|
|
895
|
+
help: "run.metadata"
|
|
896
|
+
}, {
|
|
897
|
+
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
898
|
+
if (_push5) {
|
|
899
|
+
_push5(ssrRenderComponent(_component_EntityLinks, {
|
|
900
|
+
"entity-type": "test_run",
|
|
901
|
+
"entity-id": __props.testRun.id,
|
|
902
|
+
links: __props.testRun.links ?? null,
|
|
903
|
+
onUpdated: ($event) => _ctx.$emit("label-updated")
|
|
904
|
+
}, null, _parent5, _scopeId4));
|
|
905
|
+
} else {
|
|
906
|
+
return [
|
|
907
|
+
createVNode(_component_EntityLinks, {
|
|
908
|
+
"entity-type": "test_run",
|
|
909
|
+
"entity-id": __props.testRun.id,
|
|
910
|
+
links: __props.testRun.links ?? null,
|
|
911
|
+
onUpdated: ($event) => _ctx.$emit("label-updated")
|
|
912
|
+
}, null, 8, ["entity-id", "links", "onUpdated"])
|
|
913
|
+
];
|
|
914
|
+
}
|
|
915
|
+
}),
|
|
916
|
+
_: 1
|
|
917
|
+
}, _parent4, _scopeId3));
|
|
918
|
+
if (unref(customData)) {
|
|
919
|
+
_push4(ssrRenderComponent(_component_MetaStripGroup, { label: "Custom data" }, {
|
|
920
|
+
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
921
|
+
if (_push5) {
|
|
922
|
+
_push5(ssrRenderComponent(_component_UButton, {
|
|
923
|
+
size: "xs",
|
|
924
|
+
variant: "ghost",
|
|
925
|
+
color: "neutral",
|
|
926
|
+
icon: __props.showCustomData ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
|
|
927
|
+
onClick: ($event) => emit("update:showCustomData", !__props.showCustomData)
|
|
928
|
+
}, {
|
|
929
|
+
default: withCtx((_5, _push6, _parent6, _scopeId5) => {
|
|
930
|
+
if (_push6) {
|
|
931
|
+
_push6(` Custom data `);
|
|
932
|
+
} else {
|
|
933
|
+
return [
|
|
934
|
+
createTextVNode(" Custom data ")
|
|
935
|
+
];
|
|
936
|
+
}
|
|
937
|
+
}),
|
|
938
|
+
_: 1
|
|
939
|
+
}, _parent5, _scopeId4));
|
|
940
|
+
} else {
|
|
941
|
+
return [
|
|
942
|
+
createVNode(_component_UButton, {
|
|
943
|
+
size: "xs",
|
|
944
|
+
variant: "ghost",
|
|
945
|
+
color: "neutral",
|
|
946
|
+
icon: __props.showCustomData ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
|
|
947
|
+
onClick: ($event) => emit("update:showCustomData", !__props.showCustomData)
|
|
948
|
+
}, {
|
|
949
|
+
default: withCtx(() => [
|
|
950
|
+
createTextVNode(" Custom data ")
|
|
951
|
+
]),
|
|
952
|
+
_: 1
|
|
953
|
+
}, 8, ["icon", "onClick"])
|
|
954
|
+
];
|
|
955
|
+
}
|
|
956
|
+
}),
|
|
957
|
+
_: 1
|
|
958
|
+
}, _parent4, _scopeId3));
|
|
959
|
+
} else {
|
|
960
|
+
_push4(`<!---->`);
|
|
961
|
+
}
|
|
962
|
+
} else {
|
|
963
|
+
return [
|
|
964
|
+
unref(showCiGroup) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
965
|
+
key: 0,
|
|
966
|
+
label: "CI & environment",
|
|
967
|
+
icon: "i-lucide-cloud",
|
|
968
|
+
help: "run.ci-env"
|
|
969
|
+
}, {
|
|
970
|
+
default: withCtx(() => [
|
|
971
|
+
__props.testRun?.environment ? (openBlock(), createBlock("span", {
|
|
972
|
+
key: 0,
|
|
973
|
+
class: "rounded-full border border-default px-2 py-0.5 text-xs bg-elevated/60"
|
|
974
|
+
}, toDisplayString(__props.testRun.environment), 1)) : createCommentVNode("", true),
|
|
975
|
+
unref(ci)?.provider ? (openBlock(), createBlock("span", { key: 1 }, toDisplayString(unref(ci).provider), 1)) : createCommentVNode("", true),
|
|
976
|
+
unref(ci)?.buildNumber || unref(ci)?.buildUrl ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
977
|
+
createVNode("span", { class: "text-dimmed" }, "·"),
|
|
978
|
+
unref(ci)?.buildUrl ? (openBlock(), createBlock("a", {
|
|
979
|
+
key: 0,
|
|
980
|
+
href: unref(ci).buildUrl,
|
|
981
|
+
target: "_blank",
|
|
982
|
+
class: "text-primary hover:underline"
|
|
983
|
+
}, toDisplayString(unref(ci)?.buildNumber ? `Build #${unref(ci).buildNumber}` : "View build"), 9, ["href"])) : (openBlock(), createBlock("span", { key: 1 }, "Build #" + toDisplayString(unref(ci).buildNumber), 1))
|
|
984
|
+
], 64)) : createCommentVNode("", true),
|
|
985
|
+
unref(ci)?.workflow || unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 3 }, [
|
|
986
|
+
createVNode("span", { class: "text-dimmed" }, "·"),
|
|
987
|
+
createVNode("span", { class: "text-muted" }, [
|
|
988
|
+
unref(ci)?.workflow ? (openBlock(), createBlock(Fragment, { key: 0 }, [
|
|
989
|
+
createTextVNode(toDisplayString(unref(ci).workflow), 1)
|
|
990
|
+
], 64)) : createCommentVNode("", true),
|
|
991
|
+
unref(ci)?.workflow && unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
992
|
+
createTextVNode(" · ")
|
|
993
|
+
], 64)) : createCommentVNode("", true),
|
|
994
|
+
unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
995
|
+
createTextVNode(toDisplayString(unref(ci).jobName), 1)
|
|
996
|
+
], 64)) : createCommentVNode("", true)
|
|
997
|
+
])
|
|
998
|
+
], 64)) : createCommentVNode("", true)
|
|
999
|
+
]),
|
|
1000
|
+
_: 1
|
|
1001
|
+
})) : createCommentVNode("", true),
|
|
1002
|
+
unref(scm) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1003
|
+
key: 1,
|
|
1004
|
+
label: "Source",
|
|
1005
|
+
icon: "i-lucide-git-branch"
|
|
1006
|
+
}, {
|
|
1007
|
+
default: withCtx(() => [
|
|
1008
|
+
unref(scm).branch ? (openBlock(), createBlock("span", {
|
|
1009
|
+
key: 0,
|
|
1010
|
+
class: "font-medium"
|
|
1011
|
+
}, toDisplayString(unref(scm).branch), 1)) : createCommentVNode("", true),
|
|
1012
|
+
unref(scm).commit ? (openBlock(), createBlock("code", {
|
|
1013
|
+
key: 1,
|
|
1014
|
+
class: "text-xs font-mono bg-zinc-100 dark:bg-zinc-800 px-1 py-0.5 rounded",
|
|
1015
|
+
title: unref(scm).commit
|
|
1016
|
+
}, toDisplayString(unref(scm).commit.length >= 8 ? unref(scm).commit.substring(0, 8) : unref(scm).commit), 9, ["title"])) : createCommentVNode("", true),
|
|
1017
|
+
unref(scm).author ? (openBlock(), createBlock("span", {
|
|
1018
|
+
key: 2,
|
|
1019
|
+
class: "text-muted"
|
|
1020
|
+
}, toDisplayString(unref(scm).author), 1)) : createCommentVNode("", true),
|
|
1021
|
+
unref(scm).commitMessage ? (openBlock(), createBlock("span", {
|
|
1022
|
+
key: 3,
|
|
1023
|
+
class: "text-xs text-dimmed truncate max-w-[40ch]",
|
|
1024
|
+
title: unref(scm).commitMessage
|
|
1025
|
+
}, toDisplayString(unref(scm).commitMessage), 9, ["title"])) : createCommentVNode("", true)
|
|
1026
|
+
]),
|
|
1027
|
+
_: 1
|
|
1028
|
+
})) : createCommentVNode("", true),
|
|
1029
|
+
unref(showVersions) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1030
|
+
key: 2,
|
|
1031
|
+
label: "Tooling versions",
|
|
1032
|
+
icon: "i-lucide-tag"
|
|
1033
|
+
}, {
|
|
1034
|
+
default: withCtx(() => [
|
|
1035
|
+
createVNode("span", { class: "text-muted whitespace-nowrap" }, [
|
|
1036
|
+
__props.testRun?.playwrightVersion ? (openBlock(), createBlock(Fragment, { key: 0 }, [
|
|
1037
|
+
createTextVNode("Playwright v" + toDisplayString(__props.testRun.playwrightVersion), 1)
|
|
1038
|
+
], 64)) : createCommentVNode("", true),
|
|
1039
|
+
__props.testRun?.playwrightVersion && __props.testRun?.reporterVersion ? (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
1040
|
+
createTextVNode(" · ")
|
|
1041
|
+
], 64)) : createCommentVNode("", true),
|
|
1042
|
+
__props.testRun?.reporterVersion ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
1043
|
+
createTextVNode("Piwi v" + toDisplayString(__props.testRun.reporterVersion), 1)
|
|
1044
|
+
], 64)) : createCommentVNode("", true)
|
|
1045
|
+
])
|
|
1046
|
+
]),
|
|
1047
|
+
_: 1
|
|
1048
|
+
})) : createCommentVNode("", true),
|
|
1049
|
+
unref(tags)?.length ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1050
|
+
key: 3,
|
|
1051
|
+
label: "Tags",
|
|
1052
|
+
icon: "i-lucide-tags"
|
|
1053
|
+
}, {
|
|
1054
|
+
default: withCtx(() => [
|
|
1055
|
+
(openBlock(true), createBlock(Fragment, null, renderList(unref(tags), (tag) => {
|
|
1056
|
+
return openBlock(), createBlock(_component_UBadge, {
|
|
1057
|
+
key: tag,
|
|
1058
|
+
color: "neutral",
|
|
1059
|
+
variant: "soft",
|
|
1060
|
+
size: "sm"
|
|
1061
|
+
}, {
|
|
1062
|
+
default: withCtx(() => [
|
|
1063
|
+
createTextVNode(toDisplayString(tag), 1)
|
|
1064
|
+
]),
|
|
1065
|
+
_: 2
|
|
1066
|
+
}, 1024);
|
|
1067
|
+
}), 128))
|
|
1068
|
+
]),
|
|
1069
|
+
_: 1
|
|
1070
|
+
})) : createCommentVNode("", true),
|
|
1071
|
+
__props.testRun?.metadata?.relatedIssue ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1072
|
+
key: 4,
|
|
1073
|
+
label: "Related issue",
|
|
1074
|
+
icon: "i-lucide-bookmark"
|
|
1075
|
+
}, {
|
|
1076
|
+
default: withCtx(() => [
|
|
1077
|
+
createVNode("span", { class: "text-muted" }, toDisplayString(__props.testRun.metadata.relatedIssue), 1)
|
|
1078
|
+
]),
|
|
1079
|
+
_: 1
|
|
1080
|
+
})) : createCommentVNode("", true),
|
|
1081
|
+
unref(showStorage) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1082
|
+
key: 5,
|
|
1083
|
+
label: "Storage"
|
|
1084
|
+
}, {
|
|
1085
|
+
default: withCtx(() => [
|
|
1086
|
+
createVNode(_component_RunStorageChip, {
|
|
1087
|
+
"storage-stats": unref(storageStats),
|
|
1088
|
+
reports: __props.allReports,
|
|
1089
|
+
finalizing: __props.finalizing
|
|
1090
|
+
}, null, 8, ["storage-stats", "reports", "finalizing"])
|
|
1091
|
+
]),
|
|
1092
|
+
_: 1
|
|
1093
|
+
})) : createCommentVNode("", true),
|
|
1094
|
+
createVNode(_component_MetaStripGroup, {
|
|
1095
|
+
label: "Links",
|
|
1096
|
+
icon: "i-lucide-link",
|
|
1097
|
+
help: "run.metadata"
|
|
1098
|
+
}, {
|
|
1099
|
+
default: withCtx(() => [
|
|
1100
|
+
createVNode(_component_EntityLinks, {
|
|
1101
|
+
"entity-type": "test_run",
|
|
1102
|
+
"entity-id": __props.testRun.id,
|
|
1103
|
+
links: __props.testRun.links ?? null,
|
|
1104
|
+
onUpdated: ($event) => _ctx.$emit("label-updated")
|
|
1105
|
+
}, null, 8, ["entity-id", "links", "onUpdated"])
|
|
1106
|
+
]),
|
|
1107
|
+
_: 1
|
|
1108
|
+
}),
|
|
1109
|
+
unref(customData) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1110
|
+
key: 6,
|
|
1111
|
+
label: "Custom data"
|
|
1112
|
+
}, {
|
|
1113
|
+
default: withCtx(() => [
|
|
1114
|
+
createVNode(_component_UButton, {
|
|
1115
|
+
size: "xs",
|
|
1116
|
+
variant: "ghost",
|
|
1117
|
+
color: "neutral",
|
|
1118
|
+
icon: __props.showCustomData ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
|
|
1119
|
+
onClick: ($event) => emit("update:showCustomData", !__props.showCustomData)
|
|
1120
|
+
}, {
|
|
1121
|
+
default: withCtx(() => [
|
|
1122
|
+
createTextVNode(" Custom data ")
|
|
1123
|
+
]),
|
|
1124
|
+
_: 1
|
|
1125
|
+
}, 8, ["icon", "onClick"])
|
|
1126
|
+
]),
|
|
1127
|
+
_: 1
|
|
1128
|
+
})) : createCommentVNode("", true)
|
|
1129
|
+
];
|
|
1130
|
+
}
|
|
1131
|
+
}),
|
|
1132
|
+
_: 1
|
|
1133
|
+
}, _parent3, _scopeId2));
|
|
1134
|
+
if (__props.showCustomData && unref(customData)) {
|
|
1135
|
+
_push3(`<div class="mt-2"${_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(unref(customData), null, 2))}</pre></div></div>`);
|
|
1136
|
+
} else {
|
|
1137
|
+
_push3(`<!---->`);
|
|
1138
|
+
}
|
|
1139
|
+
} else {
|
|
1140
|
+
return [
|
|
1141
|
+
createVNode(_component_SummaryMetaStrip, null, {
|
|
1142
|
+
default: withCtx(() => [
|
|
1143
|
+
unref(showCiGroup) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1144
|
+
key: 0,
|
|
1145
|
+
label: "CI & environment",
|
|
1146
|
+
icon: "i-lucide-cloud",
|
|
1147
|
+
help: "run.ci-env"
|
|
1148
|
+
}, {
|
|
1149
|
+
default: withCtx(() => [
|
|
1150
|
+
__props.testRun?.environment ? (openBlock(), createBlock("span", {
|
|
1151
|
+
key: 0,
|
|
1152
|
+
class: "rounded-full border border-default px-2 py-0.5 text-xs bg-elevated/60"
|
|
1153
|
+
}, toDisplayString(__props.testRun.environment), 1)) : createCommentVNode("", true),
|
|
1154
|
+
unref(ci)?.provider ? (openBlock(), createBlock("span", { key: 1 }, toDisplayString(unref(ci).provider), 1)) : createCommentVNode("", true),
|
|
1155
|
+
unref(ci)?.buildNumber || unref(ci)?.buildUrl ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
1156
|
+
createVNode("span", { class: "text-dimmed" }, "·"),
|
|
1157
|
+
unref(ci)?.buildUrl ? (openBlock(), createBlock("a", {
|
|
1158
|
+
key: 0,
|
|
1159
|
+
href: unref(ci).buildUrl,
|
|
1160
|
+
target: "_blank",
|
|
1161
|
+
class: "text-primary hover:underline"
|
|
1162
|
+
}, toDisplayString(unref(ci)?.buildNumber ? `Build #${unref(ci).buildNumber}` : "View build"), 9, ["href"])) : (openBlock(), createBlock("span", { key: 1 }, "Build #" + toDisplayString(unref(ci).buildNumber), 1))
|
|
1163
|
+
], 64)) : createCommentVNode("", true),
|
|
1164
|
+
unref(ci)?.workflow || unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 3 }, [
|
|
1165
|
+
createVNode("span", { class: "text-dimmed" }, "·"),
|
|
1166
|
+
createVNode("span", { class: "text-muted" }, [
|
|
1167
|
+
unref(ci)?.workflow ? (openBlock(), createBlock(Fragment, { key: 0 }, [
|
|
1168
|
+
createTextVNode(toDisplayString(unref(ci).workflow), 1)
|
|
1169
|
+
], 64)) : createCommentVNode("", true),
|
|
1170
|
+
unref(ci)?.workflow && unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
1171
|
+
createTextVNode(" · ")
|
|
1172
|
+
], 64)) : createCommentVNode("", true),
|
|
1173
|
+
unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
1174
|
+
createTextVNode(toDisplayString(unref(ci).jobName), 1)
|
|
1175
|
+
], 64)) : createCommentVNode("", true)
|
|
1176
|
+
])
|
|
1177
|
+
], 64)) : createCommentVNode("", true)
|
|
1178
|
+
]),
|
|
1179
|
+
_: 1
|
|
1180
|
+
})) : createCommentVNode("", true),
|
|
1181
|
+
unref(scm) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1182
|
+
key: 1,
|
|
1183
|
+
label: "Source",
|
|
1184
|
+
icon: "i-lucide-git-branch"
|
|
1185
|
+
}, {
|
|
1186
|
+
default: withCtx(() => [
|
|
1187
|
+
unref(scm).branch ? (openBlock(), createBlock("span", {
|
|
1188
|
+
key: 0,
|
|
1189
|
+
class: "font-medium"
|
|
1190
|
+
}, toDisplayString(unref(scm).branch), 1)) : createCommentVNode("", true),
|
|
1191
|
+
unref(scm).commit ? (openBlock(), createBlock("code", {
|
|
1192
|
+
key: 1,
|
|
1193
|
+
class: "text-xs font-mono bg-zinc-100 dark:bg-zinc-800 px-1 py-0.5 rounded",
|
|
1194
|
+
title: unref(scm).commit
|
|
1195
|
+
}, toDisplayString(unref(scm).commit.length >= 8 ? unref(scm).commit.substring(0, 8) : unref(scm).commit), 9, ["title"])) : createCommentVNode("", true),
|
|
1196
|
+
unref(scm).author ? (openBlock(), createBlock("span", {
|
|
1197
|
+
key: 2,
|
|
1198
|
+
class: "text-muted"
|
|
1199
|
+
}, toDisplayString(unref(scm).author), 1)) : createCommentVNode("", true),
|
|
1200
|
+
unref(scm).commitMessage ? (openBlock(), createBlock("span", {
|
|
1201
|
+
key: 3,
|
|
1202
|
+
class: "text-xs text-dimmed truncate max-w-[40ch]",
|
|
1203
|
+
title: unref(scm).commitMessage
|
|
1204
|
+
}, toDisplayString(unref(scm).commitMessage), 9, ["title"])) : createCommentVNode("", true)
|
|
1205
|
+
]),
|
|
1206
|
+
_: 1
|
|
1207
|
+
})) : createCommentVNode("", true),
|
|
1208
|
+
unref(showVersions) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1209
|
+
key: 2,
|
|
1210
|
+
label: "Tooling versions",
|
|
1211
|
+
icon: "i-lucide-tag"
|
|
1212
|
+
}, {
|
|
1213
|
+
default: withCtx(() => [
|
|
1214
|
+
createVNode("span", { class: "text-muted whitespace-nowrap" }, [
|
|
1215
|
+
__props.testRun?.playwrightVersion ? (openBlock(), createBlock(Fragment, { key: 0 }, [
|
|
1216
|
+
createTextVNode("Playwright v" + toDisplayString(__props.testRun.playwrightVersion), 1)
|
|
1217
|
+
], 64)) : createCommentVNode("", true),
|
|
1218
|
+
__props.testRun?.playwrightVersion && __props.testRun?.reporterVersion ? (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
1219
|
+
createTextVNode(" · ")
|
|
1220
|
+
], 64)) : createCommentVNode("", true),
|
|
1221
|
+
__props.testRun?.reporterVersion ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
1222
|
+
createTextVNode("Piwi v" + toDisplayString(__props.testRun.reporterVersion), 1)
|
|
1223
|
+
], 64)) : createCommentVNode("", true)
|
|
1224
|
+
])
|
|
1225
|
+
]),
|
|
1226
|
+
_: 1
|
|
1227
|
+
})) : createCommentVNode("", true),
|
|
1228
|
+
unref(tags)?.length ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1229
|
+
key: 3,
|
|
1230
|
+
label: "Tags",
|
|
1231
|
+
icon: "i-lucide-tags"
|
|
1232
|
+
}, {
|
|
1233
|
+
default: withCtx(() => [
|
|
1234
|
+
(openBlock(true), createBlock(Fragment, null, renderList(unref(tags), (tag) => {
|
|
1235
|
+
return openBlock(), createBlock(_component_UBadge, {
|
|
1236
|
+
key: tag,
|
|
1237
|
+
color: "neutral",
|
|
1238
|
+
variant: "soft",
|
|
1239
|
+
size: "sm"
|
|
1240
|
+
}, {
|
|
1241
|
+
default: withCtx(() => [
|
|
1242
|
+
createTextVNode(toDisplayString(tag), 1)
|
|
1243
|
+
]),
|
|
1244
|
+
_: 2
|
|
1245
|
+
}, 1024);
|
|
1246
|
+
}), 128))
|
|
1247
|
+
]),
|
|
1248
|
+
_: 1
|
|
1249
|
+
})) : createCommentVNode("", true),
|
|
1250
|
+
__props.testRun?.metadata?.relatedIssue ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1251
|
+
key: 4,
|
|
1252
|
+
label: "Related issue",
|
|
1253
|
+
icon: "i-lucide-bookmark"
|
|
1254
|
+
}, {
|
|
1255
|
+
default: withCtx(() => [
|
|
1256
|
+
createVNode("span", { class: "text-muted" }, toDisplayString(__props.testRun.metadata.relatedIssue), 1)
|
|
1257
|
+
]),
|
|
1258
|
+
_: 1
|
|
1259
|
+
})) : createCommentVNode("", true),
|
|
1260
|
+
unref(showStorage) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1261
|
+
key: 5,
|
|
1262
|
+
label: "Storage"
|
|
1263
|
+
}, {
|
|
1264
|
+
default: withCtx(() => [
|
|
1265
|
+
createVNode(_component_RunStorageChip, {
|
|
1266
|
+
"storage-stats": unref(storageStats),
|
|
1267
|
+
reports: __props.allReports,
|
|
1268
|
+
finalizing: __props.finalizing
|
|
1269
|
+
}, null, 8, ["storage-stats", "reports", "finalizing"])
|
|
1270
|
+
]),
|
|
1271
|
+
_: 1
|
|
1272
|
+
})) : createCommentVNode("", true),
|
|
1273
|
+
createVNode(_component_MetaStripGroup, {
|
|
1274
|
+
label: "Links",
|
|
1275
|
+
icon: "i-lucide-link",
|
|
1276
|
+
help: "run.metadata"
|
|
1277
|
+
}, {
|
|
1278
|
+
default: withCtx(() => [
|
|
1279
|
+
createVNode(_component_EntityLinks, {
|
|
1280
|
+
"entity-type": "test_run",
|
|
1281
|
+
"entity-id": __props.testRun.id,
|
|
1282
|
+
links: __props.testRun.links ?? null,
|
|
1283
|
+
onUpdated: ($event) => _ctx.$emit("label-updated")
|
|
1284
|
+
}, null, 8, ["entity-id", "links", "onUpdated"])
|
|
1285
|
+
]),
|
|
1286
|
+
_: 1
|
|
1287
|
+
}),
|
|
1288
|
+
unref(customData) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
1289
|
+
key: 6,
|
|
1290
|
+
label: "Custom data"
|
|
1291
|
+
}, {
|
|
1292
|
+
default: withCtx(() => [
|
|
1293
|
+
createVNode(_component_UButton, {
|
|
1294
|
+
size: "xs",
|
|
1295
|
+
variant: "ghost",
|
|
1296
|
+
color: "neutral",
|
|
1297
|
+
icon: __props.showCustomData ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
|
|
1298
|
+
onClick: ($event) => emit("update:showCustomData", !__props.showCustomData)
|
|
1299
|
+
}, {
|
|
1300
|
+
default: withCtx(() => [
|
|
1301
|
+
createTextVNode(" Custom data ")
|
|
1302
|
+
]),
|
|
1303
|
+
_: 1
|
|
1304
|
+
}, 8, ["icon", "onClick"])
|
|
1305
|
+
]),
|
|
1306
|
+
_: 1
|
|
1307
|
+
})) : createCommentVNode("", true)
|
|
1308
|
+
]),
|
|
1309
|
+
_: 1
|
|
1310
|
+
}),
|
|
1311
|
+
__props.showCustomData && unref(customData) ? (openBlock(), createBlock("div", {
|
|
1312
|
+
key: 0,
|
|
1313
|
+
class: "mt-2"
|
|
1314
|
+
}, [
|
|
1315
|
+
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" }, [
|
|
1316
|
+
createVNode("pre", { class: "m-0" }, toDisplayString(JSON.stringify(unref(customData), null, 2)), 1)
|
|
1317
|
+
])
|
|
1318
|
+
])) : createCommentVNode("", true)
|
|
1319
|
+
];
|
|
1320
|
+
}
|
|
1321
|
+
}),
|
|
1322
|
+
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
1323
|
+
if (_push3) {
|
|
1324
|
+
_push3(`<div class="space-y-3"${_scopeId2}><div class="flex items-start justify-between gap-x-3 gap-y-2 flex-wrap pr-8"${_scopeId2}><div class="min-w-0 flex-1 basis-64"${_scopeId2}><div class="flex items-center gap-2 flex-wrap"${_scopeId2}>`);
|
|
1325
|
+
_push3(ssrRenderComponent(_component_StatusChip, {
|
|
1326
|
+
status: __props.testRun?.status ?? ""
|
|
1327
|
+
}, null, _parent3, _scopeId2));
|
|
1328
|
+
_push3(`<h2 class="text-base font-bold shrink-0 flex items-center gap-1"${_scopeId2}> Run #${ssrInterpolate(__props.testRun?.id)} `);
|
|
1329
|
+
if (unref(editingLabel)) {
|
|
1330
|
+
_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}>`);
|
|
1331
|
+
if (unref(savingLabel)) {
|
|
1332
|
+
_push3(ssrRenderComponent(_component_UIcon, {
|
|
1333
|
+
name: "i-lucide-loader-circle",
|
|
1334
|
+
class: "size-3.5 text-zinc-400 animate-spin shrink-0"
|
|
1335
|
+
}, null, _parent3, _scopeId2));
|
|
1336
|
+
} else {
|
|
1337
|
+
_push3(`<!---->`);
|
|
1338
|
+
}
|
|
1339
|
+
_push3(`<!--]-->`);
|
|
1340
|
+
} else {
|
|
1341
|
+
_push3(`<!--[-->`);
|
|
1342
|
+
if (__props.testRun?.label) {
|
|
1343
|
+
_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>`);
|
|
1344
|
+
} else {
|
|
1345
|
+
_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>`);
|
|
1346
|
+
}
|
|
1347
|
+
_push3(`<!--]-->`);
|
|
1348
|
+
}
|
|
1349
|
+
_push3(ssrRenderComponent(_component_HelpHint, { topic: "run.summary" }, null, _parent3, _scopeId2));
|
|
1350
|
+
_push3(`</h2>`);
|
|
1351
|
+
if (__props.testRun?.shardTotal && __props.testRun.shardTotal > 1) {
|
|
1352
|
+
_push3(ssrRenderComponent(_component_UBadge, {
|
|
1353
|
+
color: "neutral",
|
|
1354
|
+
variant: "soft",
|
|
1355
|
+
size: "sm",
|
|
1356
|
+
class: "shrink-0",
|
|
1357
|
+
title: `Shard ${__props.testRun.shardsFinished ?? 0}/${__props.testRun.shardTotal}`
|
|
1358
|
+
}, {
|
|
1359
|
+
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
1360
|
+
if (_push4) {
|
|
1361
|
+
_push4(ssrRenderComponent(_component_UIcon, {
|
|
1362
|
+
name: "i-lucide-layout-grid",
|
|
1363
|
+
class: "size-3 mr-1"
|
|
1364
|
+
}, null, _parent4, _scopeId3));
|
|
1365
|
+
_push4(` ${ssrInterpolate(__props.testRun.shardsFinished ?? 0)}/${ssrInterpolate(__props.testRun.shardTotal)}`);
|
|
1366
|
+
} else {
|
|
1367
|
+
return [
|
|
1368
|
+
createVNode(_component_UIcon, {
|
|
1369
|
+
name: "i-lucide-layout-grid",
|
|
1370
|
+
class: "size-3 mr-1"
|
|
1371
|
+
}),
|
|
1372
|
+
createTextVNode(" " + toDisplayString(__props.testRun.shardsFinished ?? 0) + "/" + toDisplayString(__props.testRun.shardTotal), 1)
|
|
1373
|
+
];
|
|
1374
|
+
}
|
|
1375
|
+
}),
|
|
1376
|
+
_: 1
|
|
1377
|
+
}, _parent3, _scopeId2));
|
|
1378
|
+
} else {
|
|
1379
|
+
_push3(`<!---->`);
|
|
1380
|
+
}
|
|
1381
|
+
if (__props.testRun?.precedingMarker) {
|
|
1382
|
+
_push3(ssrRenderComponent(_component_UTooltip, {
|
|
1383
|
+
text: `This run started after: ${__props.testRun.precedingMarker.label}`
|
|
1384
|
+
}, {
|
|
1385
|
+
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
1386
|
+
if (_push4) {
|
|
1387
|
+
_push4(ssrRenderComponent(_component_NuxtLink, {
|
|
1388
|
+
to: `/projects/${__props.testRun.projectId}?tab=timeline`,
|
|
1389
|
+
class: "shrink-0 inline-flex items-center gap-1"
|
|
1390
|
+
}, {
|
|
1391
|
+
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
1392
|
+
if (_push5) {
|
|
1393
|
+
_push5(`<span class="text-xs text-muted"${_scopeId4}>After</span>`);
|
|
1394
|
+
_push5(ssrRenderComponent(_component_MarkerBadge, {
|
|
1395
|
+
marker: __props.testRun.precedingMarker,
|
|
1396
|
+
size: "xs"
|
|
1397
|
+
}, null, _parent5, _scopeId4));
|
|
1398
|
+
} else {
|
|
1399
|
+
return [
|
|
1400
|
+
createVNode("span", { class: "text-xs text-muted" }, "After"),
|
|
1401
|
+
createVNode(_component_MarkerBadge, {
|
|
1402
|
+
marker: __props.testRun.precedingMarker,
|
|
1403
|
+
size: "xs"
|
|
1404
|
+
}, null, 8, ["marker"])
|
|
1405
|
+
];
|
|
1406
|
+
}
|
|
1407
|
+
}),
|
|
1408
|
+
_: 1
|
|
1409
|
+
}, _parent4, _scopeId3));
|
|
1410
|
+
} else {
|
|
1411
|
+
return [
|
|
1412
|
+
createVNode(_component_NuxtLink, {
|
|
1413
|
+
to: `/projects/${__props.testRun.projectId}?tab=timeline`,
|
|
1414
|
+
class: "shrink-0 inline-flex items-center gap-1"
|
|
1415
|
+
}, {
|
|
1416
|
+
default: withCtx(() => [
|
|
1417
|
+
createVNode("span", { class: "text-xs text-muted" }, "After"),
|
|
1418
|
+
createVNode(_component_MarkerBadge, {
|
|
1419
|
+
marker: __props.testRun.precedingMarker,
|
|
1420
|
+
size: "xs"
|
|
1421
|
+
}, null, 8, ["marker"])
|
|
1422
|
+
]),
|
|
1423
|
+
_: 1
|
|
1424
|
+
}, 8, ["to"])
|
|
1425
|
+
];
|
|
1426
|
+
}
|
|
1427
|
+
}),
|
|
1428
|
+
_: 1
|
|
1429
|
+
}, _parent3, _scopeId2));
|
|
1430
|
+
} else {
|
|
1431
|
+
_push3(`<!---->`);
|
|
1432
|
+
}
|
|
1433
|
+
_push3(`</div><p class="mt-1 text-xs text-muted flex items-center gap-1.5 flex-wrap"${_scopeId2}><span${_scopeId2}>Started ${ssrInterpolate(("prettyDateFormat" in _ctx ? _ctx.prettyDateFormat : unref(prettyDateFormat))(__props.testRun?.startTime))}</span>`);
|
|
1434
|
+
_push3(ssrRenderComponent(_component_ClientOnly, null, {}, _parent3, _scopeId2));
|
|
1435
|
+
_push3(`</p></div><div class="flex items-center gap-1.5 shrink-0"${_scopeId2}>`);
|
|
1436
|
+
_push3(ssrRenderComponent(_component_UTooltip, {
|
|
1437
|
+
text: unref(copied) ? "Copied!" : "Copy run summary"
|
|
1438
|
+
}, {
|
|
1439
|
+
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
1440
|
+
if (_push4) {
|
|
1441
|
+
_push4(ssrRenderComponent(_component_UButton, {
|
|
1442
|
+
size: "xs",
|
|
1443
|
+
variant: "ghost",
|
|
1444
|
+
color: "neutral",
|
|
1445
|
+
icon: unref(copied) ? "i-lucide-check" : "i-lucide-clipboard",
|
|
1446
|
+
"aria-label": "Copy run summary",
|
|
1447
|
+
class: "text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
|
|
1448
|
+
onClick: ($event) => unref(copy)(buildRunSummary(), { toast: "Run summary copied" })
|
|
1449
|
+
}, null, _parent4, _scopeId3));
|
|
568
1450
|
} else {
|
|
569
1451
|
return [
|
|
570
1452
|
createVNode(_component_UButton, {
|
|
@@ -572,7 +1454,8 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
572
1454
|
variant: "ghost",
|
|
573
1455
|
color: "neutral",
|
|
574
1456
|
icon: unref(copied) ? "i-lucide-check" : "i-lucide-clipboard",
|
|
575
|
-
|
|
1457
|
+
"aria-label": "Copy run summary",
|
|
1458
|
+
class: "text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
|
|
576
1459
|
onClick: ($event) => unref(copy)(buildRunSummary(), { toast: "Run summary copied" })
|
|
577
1460
|
}, null, 8, ["icon", "onClick"])
|
|
578
1461
|
];
|
|
@@ -612,14 +1495,15 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
612
1495
|
variant: "subtle",
|
|
613
1496
|
icon: unref(retryCopied) ? "i-lucide-check" : "i-lucide-play",
|
|
614
1497
|
title: unref(retryTitle),
|
|
1498
|
+
"aria-label": "Retry",
|
|
615
1499
|
onClick: ($event) => copyRetryCommand()
|
|
616
1500
|
}, {
|
|
617
1501
|
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
618
1502
|
if (_push5) {
|
|
619
|
-
_push5(
|
|
1503
|
+
_push5(`<span class="hidden @2xl:inline"${_scopeId4}>Retry</span>`);
|
|
620
1504
|
} else {
|
|
621
1505
|
return [
|
|
622
|
-
|
|
1506
|
+
createVNode("span", { class: "hidden @2xl:inline" }, "Retry")
|
|
623
1507
|
];
|
|
624
1508
|
}
|
|
625
1509
|
}),
|
|
@@ -633,10 +1517,11 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
633
1517
|
variant: "subtle",
|
|
634
1518
|
icon: unref(retryCopied) ? "i-lucide-check" : "i-lucide-play",
|
|
635
1519
|
title: unref(retryTitle),
|
|
1520
|
+
"aria-label": "Retry",
|
|
636
1521
|
onClick: ($event) => copyRetryCommand()
|
|
637
1522
|
}, {
|
|
638
1523
|
default: withCtx(() => [
|
|
639
|
-
|
|
1524
|
+
createVNode("span", { class: "hidden @2xl:inline" }, "Retry")
|
|
640
1525
|
]),
|
|
641
1526
|
_: 1
|
|
642
1527
|
}, 8, ["icon", "title", "onClick"])
|
|
@@ -657,38 +1542,142 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
657
1542
|
} else {
|
|
658
1543
|
_push3(`<!---->`);
|
|
659
1544
|
}
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
1545
|
+
if (unref(primaryReport)) {
|
|
1546
|
+
_push3(ssrRenderComponent(_component_UButton, {
|
|
1547
|
+
href: ("fileApiUrl" in _ctx ? _ctx.fileApiUrl : unref(fileApiUrl))(unref(primaryReport).path, null, unref(config).app?.baseURL),
|
|
1548
|
+
icon: ("reportIcon" in _ctx ? _ctx.reportIcon : unref(reportIcon))(unref(primaryReport).type),
|
|
1549
|
+
target: "_blank",
|
|
1550
|
+
size: "xs",
|
|
1551
|
+
color: "primary",
|
|
1552
|
+
variant: "outline",
|
|
1553
|
+
"aria-label": unref(primaryReport).label,
|
|
1554
|
+
title: unref(primaryReport).size ? `${unref(primaryReport).label} · ${("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(unref(primaryReport).size)}` : unref(primaryReport).label
|
|
1555
|
+
}, {
|
|
1556
|
+
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
1557
|
+
if (_push4) {
|
|
1558
|
+
_push4(`<span class="hidden @2xl:inline"${_scopeId3}>${ssrInterpolate(unref(primaryReport).label)}</span>`);
|
|
1559
|
+
} else {
|
|
1560
|
+
return [
|
|
1561
|
+
createVNode("span", { class: "hidden @2xl:inline" }, toDisplayString(unref(primaryReport).label), 1)
|
|
1562
|
+
];
|
|
1563
|
+
}
|
|
1564
|
+
}),
|
|
1565
|
+
_: 1
|
|
1566
|
+
}, _parent3, _scopeId2));
|
|
677
1567
|
} else {
|
|
678
1568
|
_push3(`<!---->`);
|
|
679
1569
|
}
|
|
680
|
-
_push3(`</div
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
1570
|
+
_push3(`</div></div>`);
|
|
1571
|
+
_push3(ssrRenderComponent(_component_StatTileGrid, { "min-tile-width": "7.5rem" }, {
|
|
1572
|
+
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
1573
|
+
if (_push4) {
|
|
1574
|
+
_push4(`<button class="${ssrRenderClass([
|
|
1575
|
+
__props.activeFilter === "all" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated",
|
|
1576
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer"
|
|
1577
|
+
])}"${_scopeId3}><p class="text-xs font-medium text-zinc-500 uppercase tracking-wider"${_scopeId3}>Total</p><p class="text-xl font-bold mt-0.5"${_scopeId3}>${ssrInterpolate(__props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0)}</p></button><div class="relative"${_scopeId3}><button class="${ssrRenderClass([
|
|
1578
|
+
__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",
|
|
1579
|
+
"rounded-lg p-3 text-left w-full h-full transition-colors cursor-pointer"
|
|
1580
|
+
])}"${_scopeId3}><p class="text-xs font-medium text-emerald-700 dark:text-emerald-400 uppercase tracking-wider"${_scopeId3}> Passed </p><p class="text-xl font-bold mt-0.5 text-emerald-600 dark:text-emerald-400"${_scopeId3}>${ssrInterpolate(__props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0)}</p></button>`);
|
|
1581
|
+
if ((__props.testRun?.flakyTests ?? 0) > 0) {
|
|
1582
|
+
_push4(`<button class="${ssrRenderClass([
|
|
1583
|
+
__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",
|
|
1584
|
+
"absolute top-1.5 right-1.5 inline-flex items-center gap-0.5 rounded-full px-1.5 py-0.5 text-xs font-semibold leading-none tabular-nums transition-colors cursor-pointer"
|
|
1585
|
+
])}" title="Flaky — passed only after a retry (a subset of passed). Click to filter."${_scopeId3}>`);
|
|
1586
|
+
_push4(ssrRenderComponent(_component_UIcon, {
|
|
1587
|
+
name: "i-lucide-shuffle",
|
|
1588
|
+
class: "size-3"
|
|
1589
|
+
}, null, _parent4, _scopeId3));
|
|
1590
|
+
_push4(` ${ssrInterpolate(__props.testRun?.flakyTests ?? 0)}</button>`);
|
|
1591
|
+
} else {
|
|
1592
|
+
_push4(`<!---->`);
|
|
1593
|
+
}
|
|
1594
|
+
_push4(`</div><button class="${ssrRenderClass([
|
|
1595
|
+
__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",
|
|
1596
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer"
|
|
1597
|
+
])}"${_scopeId3}><p class="text-xs font-medium text-rose-700 dark:text-rose-400 uppercase tracking-wider"${_scopeId3}>Failed</p><p class="text-xl font-bold mt-0.5 text-rose-600 dark:text-rose-400"${_scopeId3}>${ssrInterpolate(__props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0)}</p></button><button class="${ssrRenderClass([
|
|
1598
|
+
__props.activeFilter === "skipped" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated",
|
|
1599
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer"
|
|
1600
|
+
])}"${_scopeId3}><p class="text-xs font-medium text-zinc-500 uppercase tracking-wider"${_scopeId3}>Skipped</p><p class="text-xl font-bold mt-0.5 text-zinc-600 dark:text-zinc-400"${_scopeId3}>${ssrInterpolate(__props.displayProgress?.skippedTests ?? __props.testRun?.skippedTests ?? 0)}</p></button><button class="${ssrRenderClass([
|
|
1601
|
+
__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",
|
|
1602
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer"
|
|
1603
|
+
])}" title="Tests that never ran (maxFailures cutoff or a serial-group failure)"${_scopeId3}><p class="text-xs font-medium text-amber-700 dark:text-amber-400 uppercase tracking-wider"${_scopeId3}>Didn't run</p><p class="text-xl font-bold mt-0.5 text-amber-600 dark:text-amber-400"${_scopeId3}>${ssrInterpolate(__props.testRun?.didNotRunTests ?? 0)}</p></button>`);
|
|
1604
|
+
} else {
|
|
1605
|
+
return [
|
|
1606
|
+
createVNode("button", {
|
|
1607
|
+
class: [
|
|
1608
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1609
|
+
__props.activeFilter === "all" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated"
|
|
1610
|
+
],
|
|
1611
|
+
onClick: ($event) => emit("filter-status", "all")
|
|
1612
|
+
}, [
|
|
1613
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 uppercase tracking-wider" }, "Total"),
|
|
1614
|
+
createVNode("p", { class: "text-xl font-bold mt-0.5" }, toDisplayString(__props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0), 1)
|
|
1615
|
+
], 10, ["onClick"]),
|
|
1616
|
+
createVNode("div", { class: "relative" }, [
|
|
1617
|
+
createVNode("button", {
|
|
1618
|
+
class: [
|
|
1619
|
+
"rounded-lg p-3 text-left w-full h-full transition-colors cursor-pointer",
|
|
1620
|
+
__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"
|
|
1621
|
+
],
|
|
1622
|
+
onClick: ($event) => emit("filter-status", "passed")
|
|
1623
|
+
}, [
|
|
1624
|
+
createVNode("p", { class: "text-xs font-medium text-emerald-700 dark:text-emerald-400 uppercase tracking-wider" }, " Passed "),
|
|
1625
|
+
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)
|
|
1626
|
+
], 10, ["onClick"]),
|
|
1627
|
+
(__props.testRun?.flakyTests ?? 0) > 0 ? (openBlock(), createBlock("button", {
|
|
1628
|
+
key: 0,
|
|
1629
|
+
class: [
|
|
1630
|
+
"absolute top-1.5 right-1.5 inline-flex items-center gap-0.5 rounded-full px-1.5 py-0.5 text-xs font-semibold leading-none tabular-nums transition-colors cursor-pointer",
|
|
1631
|
+
__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"
|
|
1632
|
+
],
|
|
1633
|
+
title: "Flaky — passed only after a retry (a subset of passed). Click to filter.",
|
|
1634
|
+
onClick: ($event) => emit("filter-status", "flaky")
|
|
1635
|
+
}, [
|
|
1636
|
+
createVNode(_component_UIcon, {
|
|
1637
|
+
name: "i-lucide-shuffle",
|
|
1638
|
+
class: "size-3"
|
|
1639
|
+
}),
|
|
1640
|
+
createTextVNode(" " + toDisplayString(__props.testRun?.flakyTests ?? 0), 1)
|
|
1641
|
+
], 10, ["onClick"])) : createCommentVNode("", true)
|
|
1642
|
+
]),
|
|
1643
|
+
createVNode("button", {
|
|
1644
|
+
class: [
|
|
1645
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1646
|
+
__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"
|
|
1647
|
+
],
|
|
1648
|
+
onClick: ($event) => emit("filter-status", "failed")
|
|
1649
|
+
}, [
|
|
1650
|
+
createVNode("p", { class: "text-xs font-medium text-rose-700 dark:text-rose-400 uppercase tracking-wider" }, "Failed"),
|
|
1651
|
+
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)
|
|
1652
|
+
], 10, ["onClick"]),
|
|
1653
|
+
createVNode("button", {
|
|
1654
|
+
class: [
|
|
1655
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1656
|
+
__props.activeFilter === "skipped" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated"
|
|
1657
|
+
],
|
|
1658
|
+
onClick: ($event) => emit("filter-status", "skipped")
|
|
1659
|
+
}, [
|
|
1660
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 uppercase tracking-wider" }, "Skipped"),
|
|
1661
|
+
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)
|
|
1662
|
+
], 10, ["onClick"]),
|
|
1663
|
+
createVNode("button", {
|
|
1664
|
+
class: [
|
|
1665
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1666
|
+
__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"
|
|
1667
|
+
],
|
|
1668
|
+
title: "Tests that never ran (maxFailures cutoff or a serial-group failure)",
|
|
1669
|
+
onClick: ($event) => emit("filter-status", "didnotrun")
|
|
1670
|
+
}, [
|
|
1671
|
+
createVNode("p", { class: "text-xs font-medium text-amber-700 dark:text-amber-400 uppercase tracking-wider" }, "Didn't run"),
|
|
1672
|
+
createVNode("p", { class: "text-xl font-bold mt-0.5 text-amber-600 dark:text-amber-400" }, toDisplayString(__props.testRun?.didNotRunTests ?? 0), 1)
|
|
1673
|
+
], 10, ["onClick"])
|
|
1674
|
+
];
|
|
1675
|
+
}
|
|
1676
|
+
}),
|
|
1677
|
+
_: 1
|
|
1678
|
+
}, _parent3, _scopeId2));
|
|
690
1679
|
if (__props.testRun) {
|
|
691
|
-
_push3(`<div class="flex items-center gap-
|
|
1680
|
+
_push3(`<div class="flex items-center gap-x-4 gap-y-1.5 flex-wrap"${_scopeId2}><div class="flex-1 basis-60 min-w-44 max-w-xl"${_scopeId2}>`);
|
|
692
1681
|
_push3(ssrRenderComponent(_component_TestStatusBar, {
|
|
693
1682
|
passed: __props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0,
|
|
694
1683
|
failed: __props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0,
|
|
@@ -697,7 +1686,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
697
1686
|
"did-not-run": __props.testRun?.didNotRunTests ?? 0,
|
|
698
1687
|
total: __props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0
|
|
699
1688
|
}, null, _parent3, _scopeId2));
|
|
700
|
-
_push3(`</div><div class="flex items-center gap-3 text-xs shrink-0"${_scopeId2}><div class="flex items-center gap-1"${_scopeId2}>`);
|
|
1689
|
+
_push3(`</div><div class="flex items-center flex-wrap gap-x-3 gap-y-1 text-xs shrink-0"${_scopeId2}><div class="flex items-center gap-1"${_scopeId2}>`);
|
|
701
1690
|
_push3(ssrRenderComponent(_component_UIcon, {
|
|
702
1691
|
name: "i-lucide-clock",
|
|
703
1692
|
class: "size-3.5 text-zinc-400"
|
|
@@ -713,7 +1702,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
713
1702
|
name: "i-lucide-gauge",
|
|
714
1703
|
class: "size-3.5 text-zinc-400"
|
|
715
1704
|
}, null, _parent3, _scopeId2));
|
|
716
|
-
_push3(`<span class="text-zinc-500
|
|
1705
|
+
_push3(`<span class="text-zinc-500"${_scopeId2}>Avg</span>`);
|
|
717
1706
|
_push3(ssrRenderComponent(_component_DurationValue, {
|
|
718
1707
|
ms: __props.testRun.avgTestDuration,
|
|
719
1708
|
class: "font-medium"
|
|
@@ -728,7 +1717,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
728
1717
|
name: "i-lucide-arrow-up-right",
|
|
729
1718
|
class: "size-3.5 text-orange-500"
|
|
730
1719
|
}, null, _parent3, _scopeId2));
|
|
731
|
-
_push3(`<span class="text-zinc-500
|
|
1720
|
+
_push3(`<span class="text-zinc-500"${_scopeId2}>P90</span>`);
|
|
732
1721
|
_push3(ssrRenderComponent(_component_DurationValue, {
|
|
733
1722
|
ms: __props.testRun.p90TestDuration,
|
|
734
1723
|
class: "font-medium text-orange-600 dark:text-orange-400",
|
|
@@ -744,7 +1733,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
744
1733
|
name: "i-lucide-clock",
|
|
745
1734
|
class: "size-3.5 text-amber-500"
|
|
746
1735
|
}, null, _parent3, _scopeId2));
|
|
747
|
-
_push3(`<span class="text-zinc-500
|
|
1736
|
+
_push3(`<span class="text-zinc-500"${_scopeId2}>Wasted</span>`);
|
|
748
1737
|
_push3(ssrRenderComponent(_component_DurationValue, {
|
|
749
1738
|
ms: __props.totalWastedTime,
|
|
750
1739
|
class: "font-medium text-amber-600 dark:text-amber-400",
|
|
@@ -758,289 +1747,315 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
758
1747
|
} else {
|
|
759
1748
|
_push3(`<!---->`);
|
|
760
1749
|
}
|
|
761
|
-
_push3(`</div
|
|
1750
|
+
_push3(`</div>`);
|
|
762
1751
|
} else {
|
|
763
1752
|
return [
|
|
764
1753
|
createVNode("div", { class: "space-y-3" }, [
|
|
765
|
-
createVNode("div", { class: "flex items-start gap-3" }, [
|
|
766
|
-
createVNode("div", { class: "
|
|
767
|
-
createVNode(
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
1754
|
+
createVNode("div", { class: "flex items-start justify-between gap-x-3 gap-y-2 flex-wrap pr-8" }, [
|
|
1755
|
+
createVNode("div", { class: "min-w-0 flex-1 basis-64" }, [
|
|
1756
|
+
createVNode("div", { class: "flex items-center gap-2 flex-wrap" }, [
|
|
1757
|
+
createVNode(_component_StatusChip, {
|
|
1758
|
+
status: __props.testRun?.status ?? ""
|
|
1759
|
+
}, null, 8, ["status"]),
|
|
1760
|
+
createVNode("h2", { class: "text-base font-bold shrink-0 flex items-center gap-1" }, [
|
|
1761
|
+
createTextVNode(" Run #" + toDisplayString(__props.testRun?.id) + " ", 1),
|
|
1762
|
+
unref(editingLabel) ? (openBlock(), createBlock(Fragment, { key: 0 }, [
|
|
1763
|
+
withDirectives(createVNode("input", {
|
|
1764
|
+
ref_key: "labelInputRef",
|
|
1765
|
+
ref: labelInputRef,
|
|
1766
|
+
"onUpdate:modelValue": ($event) => isRef(labelInput) ? labelInput.value = $event : null,
|
|
1767
|
+
type: "text",
|
|
1768
|
+
placeholder: "Add a label...",
|
|
1769
|
+
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",
|
|
1770
|
+
onKeydown: onLabelKeydown,
|
|
1771
|
+
onBlur: saveLabel
|
|
1772
|
+
}, null, 40, ["onUpdate:modelValue"]), [
|
|
1773
|
+
[vModelText, unref(labelInput)]
|
|
1774
|
+
]),
|
|
1775
|
+
unref(savingLabel) ? (openBlock(), createBlock(_component_UIcon, {
|
|
1776
|
+
key: 0,
|
|
1777
|
+
name: "i-lucide-loader-circle",
|
|
1778
|
+
class: "size-3.5 text-zinc-400 animate-spin shrink-0"
|
|
1779
|
+
})) : createCommentVNode("", true)
|
|
1780
|
+
], 64)) : (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
1781
|
+
__props.testRun?.label ? (openBlock(), createBlock("span", {
|
|
1782
|
+
key: 0,
|
|
1783
|
+
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",
|
|
1784
|
+
onClick: startEditLabel
|
|
1785
|
+
}, "— " + toDisplayString(__props.testRun.label), 1)) : (openBlock(), createBlock("button", {
|
|
1786
|
+
key: 1,
|
|
1787
|
+
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",
|
|
1788
|
+
title: "Add a label",
|
|
1789
|
+
onClick: startEditLabel
|
|
1790
|
+
}, " + label "))
|
|
1791
|
+
], 64)),
|
|
1792
|
+
createVNode(_component_HelpHint, { topic: "run.summary" })
|
|
1793
|
+
]),
|
|
1794
|
+
__props.testRun?.shardTotal && __props.testRun.shardTotal > 1 ? (openBlock(), createBlock(_component_UBadge, {
|
|
1795
|
+
key: 0,
|
|
1796
|
+
color: "neutral",
|
|
1797
|
+
variant: "soft",
|
|
1798
|
+
size: "sm",
|
|
1799
|
+
class: "shrink-0",
|
|
1800
|
+
title: `Shard ${__props.testRun.shardsFinished ?? 0}/${__props.testRun.shardTotal}`
|
|
1801
|
+
}, {
|
|
1802
|
+
default: withCtx(() => [
|
|
1803
|
+
createVNode(_component_UIcon, {
|
|
1804
|
+
name: "i-lucide-layout-grid",
|
|
1805
|
+
class: "size-3 mr-1"
|
|
1806
|
+
}),
|
|
1807
|
+
createTextVNode(" " + toDisplayString(__props.testRun.shardsFinished ?? 0) + "/" + toDisplayString(__props.testRun.shardTotal), 1)
|
|
1808
|
+
]),
|
|
1809
|
+
_: 1
|
|
1810
|
+
}, 8, ["title"])) : createCommentVNode("", true),
|
|
1811
|
+
__props.testRun?.precedingMarker ? (openBlock(), createBlock(_component_UTooltip, {
|
|
1812
|
+
key: 1,
|
|
1813
|
+
text: `This run started after: ${__props.testRun.precedingMarker.label}`
|
|
1814
|
+
}, {
|
|
1815
|
+
default: withCtx(() => [
|
|
1816
|
+
createVNode(_component_NuxtLink, {
|
|
1817
|
+
to: `/projects/${__props.testRun.projectId}?tab=timeline`,
|
|
1818
|
+
class: "shrink-0 inline-flex items-center gap-1"
|
|
1819
|
+
}, {
|
|
1820
|
+
default: withCtx(() => [
|
|
1821
|
+
createVNode("span", { class: "text-xs text-muted" }, "After"),
|
|
1822
|
+
createVNode(_component_MarkerBadge, {
|
|
1823
|
+
marker: __props.testRun.precedingMarker,
|
|
1824
|
+
size: "xs"
|
|
1825
|
+
}, null, 8, ["marker"])
|
|
787
1826
|
]),
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
name: "i-lucide-loader-circle",
|
|
791
|
-
class: "size-3.5 text-zinc-400 animate-spin shrink-0"
|
|
792
|
-
})) : createCommentVNode("", true)
|
|
793
|
-
], 64)) : (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
794
|
-
__props.testRun?.label ? (openBlock(), createBlock("span", {
|
|
795
|
-
key: 0,
|
|
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",
|
|
797
|
-
onClick: startEditLabel
|
|
798
|
-
}, "— " + toDisplayString(__props.testRun.label), 1)) : (openBlock(), createBlock("button", {
|
|
799
|
-
key: 1,
|
|
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",
|
|
801
|
-
title: "Add a label",
|
|
802
|
-
onClick: startEditLabel
|
|
803
|
-
}, " + label "))
|
|
804
|
-
], 64)),
|
|
805
|
-
createVNode(_component_HelpHint, { topic: "run.summary" })
|
|
1827
|
+
_: 1
|
|
1828
|
+
}, 8, ["to"])
|
|
806
1829
|
]),
|
|
807
|
-
|
|
808
|
-
|
|
1830
|
+
_: 1
|
|
1831
|
+
}, 8, ["text"])) : createCommentVNode("", true)
|
|
1832
|
+
]),
|
|
1833
|
+
createVNode("p", { class: "mt-1 text-xs text-muted flex items-center gap-1.5 flex-wrap" }, [
|
|
1834
|
+
createVNode("span", null, "Started " + toDisplayString(("prettyDateFormat" in _ctx ? _ctx.prettyDateFormat : unref(prettyDateFormat))(__props.testRun?.startTime)), 1),
|
|
1835
|
+
createVNode(_component_ClientOnly, null, {
|
|
1836
|
+
default: withCtx(() => [
|
|
1837
|
+
createVNode("span", { class: "text-dimmed" }, "· " + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.testRun?.startTime)), 1)
|
|
1838
|
+
]),
|
|
1839
|
+
_: 1
|
|
1840
|
+
})
|
|
1841
|
+
])
|
|
1842
|
+
]),
|
|
1843
|
+
createVNode("div", { class: "flex items-center gap-1.5 shrink-0" }, [
|
|
1844
|
+
createVNode(_component_UTooltip, {
|
|
1845
|
+
text: unref(copied) ? "Copied!" : "Copy run summary"
|
|
1846
|
+
}, {
|
|
1847
|
+
default: withCtx(() => [
|
|
1848
|
+
createVNode(_component_UButton, {
|
|
1849
|
+
size: "xs",
|
|
1850
|
+
variant: "ghost",
|
|
809
1851
|
color: "neutral",
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
class: "
|
|
813
|
-
|
|
814
|
-
},
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
_: 1
|
|
841
|
-
}, 8, ["to"])
|
|
842
|
-
]),
|
|
843
|
-
_: 1
|
|
844
|
-
}, 8, ["text"])) : createCommentVNode("", true),
|
|
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),
|
|
846
|
-
createVNode(_component_UTooltip, {
|
|
847
|
-
text: unref(copied) ? "Copied!" : "Copy run summary"
|
|
1852
|
+
icon: unref(copied) ? "i-lucide-check" : "i-lucide-clipboard",
|
|
1853
|
+
"aria-label": "Copy run summary",
|
|
1854
|
+
class: "text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
|
|
1855
|
+
onClick: ($event) => unref(copy)(buildRunSummary(), { toast: "Run summary copied" })
|
|
1856
|
+
}, null, 8, ["icon", "onClick"])
|
|
1857
|
+
]),
|
|
1858
|
+
_: 1
|
|
1859
|
+
}, 8, ["text"]),
|
|
1860
|
+
unref(failedCases).length > 0 ? (openBlock(), createBlock(_component_UPopover, { key: 0 }, {
|
|
1861
|
+
content: withCtx(() => [
|
|
1862
|
+
createVNode("div", { class: "p-2 space-y-1 min-w-32" }, [
|
|
1863
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 px-2 py-1" }, "Mode"),
|
|
1864
|
+
(openBlock(), createBlock(Fragment, null, renderList(["file-line", "grep", "file"], (m) => {
|
|
1865
|
+
return createVNode("button", {
|
|
1866
|
+
key: m,
|
|
1867
|
+
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" : ""],
|
|
1868
|
+
onClick: ($event) => retryMode.value = m
|
|
1869
|
+
}, toDisplayString(m === "file-line" ? "File:line" : m === "grep" ? "Title (grep)" : "File only"), 11, ["onClick"]);
|
|
1870
|
+
}), 64))
|
|
1871
|
+
])
|
|
1872
|
+
]),
|
|
1873
|
+
default: withCtx(() => [
|
|
1874
|
+
createVNode(_component_UButton, {
|
|
1875
|
+
size: "xs",
|
|
1876
|
+
color: "warning",
|
|
1877
|
+
variant: "subtle",
|
|
1878
|
+
icon: unref(retryCopied) ? "i-lucide-check" : "i-lucide-play",
|
|
1879
|
+
title: unref(retryTitle),
|
|
1880
|
+
"aria-label": "Retry",
|
|
1881
|
+
onClick: ($event) => copyRetryCommand()
|
|
848
1882
|
}, {
|
|
849
1883
|
default: withCtx(() => [
|
|
850
|
-
createVNode(
|
|
851
|
-
size: "xs",
|
|
852
|
-
variant: "ghost",
|
|
853
|
-
color: "neutral",
|
|
854
|
-
icon: unref(copied) ? "i-lucide-check" : "i-lucide-clipboard",
|
|
855
|
-
class: "shrink-0 text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
|
|
856
|
-
onClick: ($event) => unref(copy)(buildRunSummary(), { toast: "Run summary copied" })
|
|
857
|
-
}, null, 8, ["icon", "onClick"])
|
|
858
|
-
]),
|
|
859
|
-
_: 1
|
|
860
|
-
}, 8, ["text"]),
|
|
861
|
-
unref(failedCases).length > 0 ? (openBlock(), createBlock(_component_UPopover, { key: 2 }, {
|
|
862
|
-
content: withCtx(() => [
|
|
863
|
-
createVNode("div", { class: "p-2 space-y-1 min-w-32" }, [
|
|
864
|
-
createVNode("p", { class: "text-xs font-medium text-zinc-500 px-2 py-1" }, "Mode"),
|
|
865
|
-
(openBlock(), createBlock(Fragment, null, renderList(["file-line", "grep", "file"], (m) => {
|
|
866
|
-
return createVNode("button", {
|
|
867
|
-
key: m,
|
|
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" : ""],
|
|
869
|
-
onClick: ($event) => retryMode.value = m
|
|
870
|
-
}, toDisplayString(m === "file-line" ? "File:line" : m === "grep" ? "Title (grep)" : "File only"), 11, ["onClick"]);
|
|
871
|
-
}), 64))
|
|
872
|
-
])
|
|
873
|
-
]),
|
|
874
|
-
default: withCtx(() => [
|
|
875
|
-
createVNode(_component_UButton, {
|
|
876
|
-
size: "xs",
|
|
877
|
-
color: "warning",
|
|
878
|
-
variant: "subtle",
|
|
879
|
-
icon: unref(retryCopied) ? "i-lucide-check" : "i-lucide-play",
|
|
880
|
-
title: unref(retryTitle),
|
|
881
|
-
onClick: ($event) => copyRetryCommand()
|
|
882
|
-
}, {
|
|
883
|
-
default: withCtx(() => [
|
|
884
|
-
createTextVNode(" Retry ")
|
|
885
|
-
]),
|
|
886
|
-
_: 1
|
|
887
|
-
}, 8, ["icon", "title", "onClick"])
|
|
1884
|
+
createVNode("span", { class: "hidden @2xl:inline" }, "Retry")
|
|
888
1885
|
]),
|
|
889
1886
|
_: 1
|
|
890
|
-
}
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
1887
|
+
}, 8, ["icon", "title", "onClick"])
|
|
1888
|
+
]),
|
|
1889
|
+
_: 1
|
|
1890
|
+
})) : createCommentVNode("", true),
|
|
1891
|
+
unref(failedCases).length > 0 ? (openBlock(), createBlock(_component_DesktopRunLocallyButton, {
|
|
1892
|
+
key: 1,
|
|
1893
|
+
"project-id": __props.testRun?.project?.id,
|
|
1894
|
+
"project-label": __props.testRun?.project?.label ?? __props.testRun?.project?.name,
|
|
1895
|
+
cases: unref(failedCases)
|
|
1896
|
+
}, null, 8, ["project-id", "project-label", "cases"])) : createCommentVNode("", true),
|
|
1897
|
+
unref(primaryReport) ? (openBlock(), createBlock(_component_UButton, {
|
|
1898
|
+
key: 2,
|
|
1899
|
+
href: ("fileApiUrl" in _ctx ? _ctx.fileApiUrl : unref(fileApiUrl))(unref(primaryReport).path, null, unref(config).app?.baseURL),
|
|
1900
|
+
icon: ("reportIcon" in _ctx ? _ctx.reportIcon : unref(reportIcon))(unref(primaryReport).type),
|
|
1901
|
+
target: "_blank",
|
|
1902
|
+
size: "xs",
|
|
1903
|
+
color: "primary",
|
|
1904
|
+
variant: "outline",
|
|
1905
|
+
"aria-label": unref(primaryReport).label,
|
|
1906
|
+
title: unref(primaryReport).size ? `${unref(primaryReport).label} · ${("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(unref(primaryReport).size)}` : unref(primaryReport).label
|
|
1907
|
+
}, {
|
|
1908
|
+
default: withCtx(() => [
|
|
1909
|
+
createVNode("span", { class: "hidden @2xl:inline" }, toDisplayString(unref(primaryReport).label), 1)
|
|
1910
|
+
]),
|
|
1911
|
+
_: 1
|
|
1912
|
+
}, 8, ["href", "icon", "aria-label", "title"])) : createCommentVNode("", true)
|
|
899
1913
|
])
|
|
900
1914
|
]),
|
|
901
|
-
createVNode(
|
|
902
|
-
|
|
903
|
-
class: [
|
|
904
|
-
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
905
|
-
__props.activeFilter === "all" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated"
|
|
906
|
-
],
|
|
907
|
-
onClick: ($event) => emit("filter-status", "all")
|
|
908
|
-
}, [
|
|
909
|
-
createVNode("p", { class: "text-xs font-medium text-zinc-500 uppercase tracking-wider" }, "Total"),
|
|
910
|
-
createVNode("p", { class: "text-xl font-bold mt-0.5" }, toDisplayString(__props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0), 1)
|
|
911
|
-
], 10, ["onClick"]),
|
|
912
|
-
createVNode("div", { class: "relative" }, [
|
|
1915
|
+
createVNode(_component_StatTileGrid, { "min-tile-width": "7.5rem" }, {
|
|
1916
|
+
default: withCtx(() => [
|
|
913
1917
|
createVNode("button", {
|
|
914
1918
|
class: [
|
|
915
|
-
"rounded-lg p-3 text-left w-full
|
|
916
|
-
__props.activeFilter === "
|
|
1919
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1920
|
+
__props.activeFilter === "all" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated"
|
|
917
1921
|
],
|
|
918
|
-
onClick: ($event) => emit("filter-status", "
|
|
1922
|
+
onClick: ($event) => emit("filter-status", "all")
|
|
919
1923
|
}, [
|
|
920
|
-
createVNode("p", { class: "text-xs font-medium text-
|
|
921
|
-
createVNode("p", { class: "text-xl font-bold mt-0.5
|
|
1924
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 uppercase tracking-wider" }, "Total"),
|
|
1925
|
+
createVNode("p", { class: "text-xl font-bold mt-0.5" }, toDisplayString(__props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0), 1)
|
|
922
1926
|
], 10, ["onClick"]),
|
|
923
|
-
(
|
|
924
|
-
|
|
1927
|
+
createVNode("div", { class: "relative" }, [
|
|
1928
|
+
createVNode("button", {
|
|
1929
|
+
class: [
|
|
1930
|
+
"rounded-lg p-3 text-left w-full h-full transition-colors cursor-pointer",
|
|
1931
|
+
__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"
|
|
1932
|
+
],
|
|
1933
|
+
onClick: ($event) => emit("filter-status", "passed")
|
|
1934
|
+
}, [
|
|
1935
|
+
createVNode("p", { class: "text-xs font-medium text-emerald-700 dark:text-emerald-400 uppercase tracking-wider" }, " Passed "),
|
|
1936
|
+
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)
|
|
1937
|
+
], 10, ["onClick"]),
|
|
1938
|
+
(__props.testRun?.flakyTests ?? 0) > 0 ? (openBlock(), createBlock("button", {
|
|
1939
|
+
key: 0,
|
|
1940
|
+
class: [
|
|
1941
|
+
"absolute top-1.5 right-1.5 inline-flex items-center gap-0.5 rounded-full px-1.5 py-0.5 text-xs font-semibold leading-none tabular-nums transition-colors cursor-pointer",
|
|
1942
|
+
__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"
|
|
1943
|
+
],
|
|
1944
|
+
title: "Flaky — passed only after a retry (a subset of passed). Click to filter.",
|
|
1945
|
+
onClick: ($event) => emit("filter-status", "flaky")
|
|
1946
|
+
}, [
|
|
1947
|
+
createVNode(_component_UIcon, {
|
|
1948
|
+
name: "i-lucide-shuffle",
|
|
1949
|
+
class: "size-3"
|
|
1950
|
+
}),
|
|
1951
|
+
createTextVNode(" " + toDisplayString(__props.testRun?.flakyTests ?? 0), 1)
|
|
1952
|
+
], 10, ["onClick"])) : createCommentVNode("", true)
|
|
1953
|
+
]),
|
|
1954
|
+
createVNode("button", {
|
|
1955
|
+
class: [
|
|
1956
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1957
|
+
__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"
|
|
1958
|
+
],
|
|
1959
|
+
onClick: ($event) => emit("filter-status", "failed")
|
|
1960
|
+
}, [
|
|
1961
|
+
createVNode("p", { class: "text-xs font-medium text-rose-700 dark:text-rose-400 uppercase tracking-wider" }, "Failed"),
|
|
1962
|
+
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)
|
|
1963
|
+
], 10, ["onClick"]),
|
|
1964
|
+
createVNode("button", {
|
|
1965
|
+
class: [
|
|
1966
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1967
|
+
__props.activeFilter === "skipped" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated"
|
|
1968
|
+
],
|
|
1969
|
+
onClick: ($event) => emit("filter-status", "skipped")
|
|
1970
|
+
}, [
|
|
1971
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 uppercase tracking-wider" }, "Skipped"),
|
|
1972
|
+
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)
|
|
1973
|
+
], 10, ["onClick"]),
|
|
1974
|
+
createVNode("button", {
|
|
925
1975
|
class: [
|
|
926
|
-
"
|
|
927
|
-
__props.activeFilter === "
|
|
1976
|
+
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
1977
|
+
__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"
|
|
928
1978
|
],
|
|
929
|
-
title: "
|
|
930
|
-
onClick: ($event) => emit("filter-status", "
|
|
1979
|
+
title: "Tests that never ran (maxFailures cutoff or a serial-group failure)",
|
|
1980
|
+
onClick: ($event) => emit("filter-status", "didnotrun")
|
|
931
1981
|
}, [
|
|
1982
|
+
createVNode("p", { class: "text-xs font-medium text-amber-700 dark:text-amber-400 uppercase tracking-wider" }, "Didn't run"),
|
|
1983
|
+
createVNode("p", { class: "text-xl font-bold mt-0.5 text-amber-600 dark:text-amber-400" }, toDisplayString(__props.testRun?.didNotRunTests ?? 0), 1)
|
|
1984
|
+
], 10, ["onClick"])
|
|
1985
|
+
]),
|
|
1986
|
+
_: 1
|
|
1987
|
+
}),
|
|
1988
|
+
__props.testRun ? (openBlock(), createBlock("div", {
|
|
1989
|
+
key: 0,
|
|
1990
|
+
class: "flex items-center gap-x-4 gap-y-1.5 flex-wrap"
|
|
1991
|
+
}, [
|
|
1992
|
+
createVNode("div", { class: "flex-1 basis-60 min-w-44 max-w-xl" }, [
|
|
1993
|
+
createVNode(_component_TestStatusBar, {
|
|
1994
|
+
passed: __props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0,
|
|
1995
|
+
failed: __props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0,
|
|
1996
|
+
skipped: __props.displayProgress?.skippedTests ?? __props.testRun?.skippedTests ?? 0,
|
|
1997
|
+
flaky: __props.testRun?.flakyTests ?? 0,
|
|
1998
|
+
"did-not-run": __props.testRun?.didNotRunTests ?? 0,
|
|
1999
|
+
total: __props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0
|
|
2000
|
+
}, null, 8, ["passed", "failed", "skipped", "flaky", "did-not-run", "total"])
|
|
2001
|
+
]),
|
|
2002
|
+
createVNode("div", { class: "flex items-center flex-wrap gap-x-3 gap-y-1 text-xs shrink-0" }, [
|
|
2003
|
+
createVNode("div", { class: "flex items-center gap-1" }, [
|
|
932
2004
|
createVNode(_component_UIcon, {
|
|
933
|
-
name: "i-lucide-
|
|
934
|
-
class: "size-3"
|
|
2005
|
+
name: "i-lucide-clock",
|
|
2006
|
+
class: "size-3.5 text-zinc-400"
|
|
935
2007
|
}),
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
class: [
|
|
941
|
-
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
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"
|
|
943
|
-
],
|
|
944
|
-
onClick: ($event) => emit("filter-status", "failed")
|
|
945
|
-
}, [
|
|
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)
|
|
948
|
-
], 10, ["onClick"]),
|
|
949
|
-
createVNode("button", {
|
|
950
|
-
class: [
|
|
951
|
-
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
952
|
-
__props.activeFilter === "skipped" ? "bg-accented ring-2 ring-zinc-400 dark:ring-zinc-500" : "bg-elevated/60 hover:bg-elevated"
|
|
953
|
-
],
|
|
954
|
-
onClick: ($event) => emit("filter-status", "skipped")
|
|
955
|
-
}, [
|
|
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)
|
|
958
|
-
], 10, ["onClick"]),
|
|
959
|
-
createVNode("button", {
|
|
960
|
-
class: [
|
|
961
|
-
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
962
|
-
__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"
|
|
963
|
-
],
|
|
964
|
-
title: "Tests that never ran (maxFailures cutoff or a serial-group failure)",
|
|
965
|
-
onClick: ($event) => emit("filter-status", "didnotrun")
|
|
966
|
-
}, [
|
|
967
|
-
createVNode("p", { class: "text-xs font-medium text-amber-700 dark:text-amber-400 uppercase tracking-wider" }, " Didn't run "),
|
|
968
|
-
createVNode("p", { class: "text-xl font-bold mt-0.5 text-amber-600 dark:text-amber-400" }, toDisplayString(__props.testRun?.didNotRunTests ?? 0), 1)
|
|
969
|
-
], 10, ["onClick"])
|
|
970
|
-
]),
|
|
971
|
-
createVNode("div", null, [
|
|
972
|
-
__props.testRun ? (openBlock(), createBlock("div", {
|
|
973
|
-
key: 0,
|
|
974
|
-
class: "flex items-center gap-3"
|
|
975
|
-
}, [
|
|
976
|
-
createVNode("div", { class: "flex-1 max-w-md" }, [
|
|
977
|
-
createVNode(_component_TestStatusBar, {
|
|
978
|
-
passed: __props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0,
|
|
979
|
-
failed: __props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0,
|
|
980
|
-
skipped: __props.displayProgress?.skippedTests ?? __props.testRun?.skippedTests ?? 0,
|
|
981
|
-
flaky: __props.testRun?.flakyTests ?? 0,
|
|
982
|
-
"did-not-run": __props.testRun?.didNotRunTests ?? 0,
|
|
983
|
-
total: __props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0
|
|
984
|
-
}, null, 8, ["passed", "failed", "skipped", "flaky", "did-not-run", "total"])
|
|
2008
|
+
createVNode(_component_DurationValue, {
|
|
2009
|
+
ms: __props.testRun?.duration,
|
|
2010
|
+
class: "font-medium"
|
|
2011
|
+
}, null, 8, ["ms"])
|
|
985
2012
|
]),
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
class: "size-3.5 text-amber-500"
|
|
1033
|
-
}),
|
|
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"])
|
|
1040
|
-
])) : createCommentVNode("", true)
|
|
1041
|
-
])
|
|
1042
|
-
])) : createCommentVNode("", true)
|
|
1043
|
-
])
|
|
2013
|
+
__props.testRun?.avgTestDuration ? (openBlock(), createBlock("div", {
|
|
2014
|
+
key: 0,
|
|
2015
|
+
class: "flex items-center gap-1"
|
|
2016
|
+
}, [
|
|
2017
|
+
createVNode(_component_UIcon, {
|
|
2018
|
+
name: "i-lucide-gauge",
|
|
2019
|
+
class: "size-3.5 text-zinc-400"
|
|
2020
|
+
}),
|
|
2021
|
+
createVNode("span", { class: "text-zinc-500" }, "Avg"),
|
|
2022
|
+
createVNode(_component_DurationValue, {
|
|
2023
|
+
ms: __props.testRun.avgTestDuration,
|
|
2024
|
+
class: "font-medium"
|
|
2025
|
+
}, null, 8, ["ms"])
|
|
2026
|
+
])) : createCommentVNode("", true),
|
|
2027
|
+
__props.testRun?.p90TestDuration ? (openBlock(), createBlock("div", {
|
|
2028
|
+
key: 1,
|
|
2029
|
+
class: "flex items-center gap-1"
|
|
2030
|
+
}, [
|
|
2031
|
+
createVNode(_component_UIcon, {
|
|
2032
|
+
name: "i-lucide-arrow-up-right",
|
|
2033
|
+
class: "size-3.5 text-orange-500"
|
|
2034
|
+
}),
|
|
2035
|
+
createVNode("span", { class: "text-zinc-500" }, "P90"),
|
|
2036
|
+
createVNode(_component_DurationValue, {
|
|
2037
|
+
ms: __props.testRun.p90TestDuration,
|
|
2038
|
+
class: "font-medium text-orange-600 dark:text-orange-400",
|
|
2039
|
+
"unit-class": "opacity-60"
|
|
2040
|
+
}, null, 8, ["ms"])
|
|
2041
|
+
])) : createCommentVNode("", true),
|
|
2042
|
+
__props.totalWastedTime && __props.totalWastedTime > 0 ? (openBlock(), createBlock("div", {
|
|
2043
|
+
key: 2,
|
|
2044
|
+
class: "flex items-center gap-1"
|
|
2045
|
+
}, [
|
|
2046
|
+
createVNode(_component_UIcon, {
|
|
2047
|
+
name: "i-lucide-clock",
|
|
2048
|
+
class: "size-3.5 text-amber-500"
|
|
2049
|
+
}),
|
|
2050
|
+
createVNode("span", { class: "text-zinc-500" }, "Wasted"),
|
|
2051
|
+
createVNode(_component_DurationValue, {
|
|
2052
|
+
ms: __props.totalWastedTime,
|
|
2053
|
+
class: "font-medium text-amber-600 dark:text-amber-400",
|
|
2054
|
+
"unit-class": "opacity-60"
|
|
2055
|
+
}, null, 8, ["ms"])
|
|
2056
|
+
])) : createCommentVNode("", true)
|
|
2057
|
+
])
|
|
2058
|
+
])) : createCommentVNode("", true)
|
|
1044
2059
|
])
|
|
1045
2060
|
];
|
|
1046
2061
|
}
|
|
@@ -1048,238 +2063,108 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
1048
2063
|
_: 1
|
|
1049
2064
|
}, _parent2, _scopeId));
|
|
1050
2065
|
_push2(`</div>`);
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
}
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
}
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
})
|
|
1154
|
-
])
|
|
1155
|
-
])) : createCommentVNode("", true),
|
|
1156
|
-
unref(storageStats)?.totalFiles ? (openBlock(), createBlock("div", {
|
|
1157
|
-
key: 1,
|
|
1158
|
-
class: "space-y-1.5 text-sm"
|
|
1159
|
-
}, [
|
|
1160
|
-
(openBlock(true), createBlock(Fragment, null, renderList(__props.allReports, (report) => {
|
|
1161
|
-
return openBlock(), createBlock("div", {
|
|
1162
|
-
key: report.label,
|
|
1163
|
-
class: "flex items-center justify-between gap-2 min-w-0"
|
|
1164
|
-
}, [
|
|
1165
|
-
createVNode(_component_UButton, {
|
|
1166
|
-
href: ("fileApiUrl" in _ctx ? _ctx.fileApiUrl : unref(fileApiUrl))(report.path, null, unref(config).app?.baseURL),
|
|
1167
|
-
icon: ("reportIcon" in _ctx ? _ctx.reportIcon : unref(reportIcon))(report.type),
|
|
1168
|
-
target: "_blank",
|
|
1169
|
-
size: "xs",
|
|
1170
|
-
variant: "outline",
|
|
1171
|
-
class: "min-w-0",
|
|
1172
|
-
ui: { label: "truncate" }
|
|
1173
|
-
}, {
|
|
1174
|
-
default: withCtx(() => [
|
|
1175
|
-
createTextVNode(toDisplayString(report.label), 1)
|
|
1176
|
-
]),
|
|
1177
|
-
_: 2
|
|
1178
|
-
}, 1032, ["href", "icon"]),
|
|
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)
|
|
1180
|
-
]);
|
|
1181
|
-
}), 128)),
|
|
1182
|
-
unref(storageStats).testCaseFilesCount > 0 ? (openBlock(), createBlock("div", {
|
|
1183
|
-
key: 0,
|
|
1184
|
-
class: "flex items-center justify-between gap-2 min-w-0"
|
|
1185
|
-
}, [
|
|
1186
|
-
createVNode("span", { class: "truncate" }, "Test files (" + toDisplayString(unref(storageStats).testCaseFilesCount) + ")", 1),
|
|
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)
|
|
1188
|
-
])) : createCommentVNode("", true)
|
|
1189
|
-
])) : createCommentVNode("", true)
|
|
1190
|
-
];
|
|
1191
|
-
}
|
|
1192
|
-
}),
|
|
1193
|
-
_: 1
|
|
1194
|
-
}, _parent2, _scopeId));
|
|
1195
|
-
} else {
|
|
1196
|
-
_push2(`<!---->`);
|
|
1197
|
-
}
|
|
1198
|
-
if (unref(showOther)) {
|
|
1199
|
-
_push2(ssrRenderComponent(_component_BlockCard, {
|
|
1200
|
-
class: unref(blockColSpanClass),
|
|
1201
|
-
title: "Other",
|
|
1202
|
-
icon: "i-lucide-tags",
|
|
1203
|
-
help: "run.metadata"
|
|
1204
|
-
}, {
|
|
1205
|
-
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
1206
|
-
if (_push3) {
|
|
1207
|
-
_push3(`<div class="space-y-3 text-sm"${_scopeId2}>`);
|
|
1208
|
-
if (__props.testRun.metadata.tags && __props.testRun.metadata.tags.length > 0) {
|
|
1209
|
-
_push3(`<div${_scopeId2}><div class="flex flex-wrap gap-1.5"${_scopeId2}><!--[-->`);
|
|
1210
|
-
ssrRenderList(__props.testRun.metadata.tags, (tag) => {
|
|
1211
|
-
_push3(ssrRenderComponent(_component_UBadge, {
|
|
1212
|
-
key: tag,
|
|
1213
|
-
color: "neutral",
|
|
1214
|
-
variant: "soft",
|
|
1215
|
-
size: "sm"
|
|
1216
|
-
}, {
|
|
1217
|
-
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
1218
|
-
if (_push4) {
|
|
1219
|
-
_push4(`${ssrInterpolate(tag)}`);
|
|
1220
|
-
} else {
|
|
1221
|
-
return [
|
|
1222
|
-
createTextVNode(toDisplayString(tag), 1)
|
|
1223
|
-
];
|
|
1224
|
-
}
|
|
1225
|
-
}),
|
|
1226
|
-
_: 2
|
|
1227
|
-
}, _parent3, _scopeId2));
|
|
1228
|
-
});
|
|
1229
|
-
_push3(`<!--]--></div></div>`);
|
|
1230
|
-
} else {
|
|
1231
|
-
_push3(`<!---->`);
|
|
1232
|
-
}
|
|
1233
|
-
if (__props.testRun.metadata.relatedIssue) {
|
|
1234
|
-
_push3(`<p class="flex items-center gap-1"${_scopeId2}>`);
|
|
1235
|
-
_push3(ssrRenderComponent(_component_UIcon, {
|
|
1236
|
-
name: "i-lucide-link",
|
|
1237
|
-
class: "w-3.5 h-3.5 text-zinc-400 shrink-0"
|
|
1238
|
-
}, null, _parent3, _scopeId2));
|
|
1239
|
-
_push3(`<span${_scopeId2}>${ssrInterpolate(__props.testRun.metadata.relatedIssue)}</span></p>`);
|
|
1240
|
-
} else {
|
|
1241
|
-
_push3(`<!---->`);
|
|
1242
|
-
}
|
|
1243
|
-
_push3(ssrRenderComponent(_component_EntityLinks, {
|
|
1244
|
-
"entity-type": "test_run",
|
|
1245
|
-
"entity-id": __props.testRun.id,
|
|
1246
|
-
links: __props.testRun.links ?? null,
|
|
1247
|
-
onUpdated: ($event) => _ctx.$emit("label-updated")
|
|
1248
|
-
}, null, _parent3, _scopeId2));
|
|
1249
|
-
if (__props.testRun.metadata.customData) {
|
|
1250
|
-
_push3(ssrRenderComponent(_component_UButton, {
|
|
1251
|
-
size: "xs",
|
|
1252
|
-
variant: "ghost",
|
|
1253
|
-
color: "neutral",
|
|
1254
|
-
icon: __props.showCustomData ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
|
|
1255
|
-
onClick: ($event) => emit("update:showCustomData", !__props.showCustomData)
|
|
1256
|
-
}, {
|
|
1257
|
-
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
1258
|
-
if (_push4) {
|
|
1259
|
-
_push4(` Custom data `);
|
|
1260
|
-
} else {
|
|
1261
|
-
return [
|
|
1262
|
-
createTextVNode(" Custom data ")
|
|
1263
|
-
];
|
|
1264
|
-
}
|
|
1265
|
-
}),
|
|
1266
|
-
_: 1
|
|
1267
|
-
}, _parent3, _scopeId2));
|
|
1268
|
-
} else {
|
|
1269
|
-
_push3(`<!---->`);
|
|
1270
|
-
}
|
|
1271
|
-
if (__props.showCustomData && __props.testRun.metadata.customData) {
|
|
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>`);
|
|
1273
|
-
} else {
|
|
1274
|
-
_push3(`<!---->`);
|
|
1275
|
-
}
|
|
1276
|
-
_push3(`</div>`);
|
|
1277
|
-
} else {
|
|
1278
|
-
return [
|
|
1279
|
-
createVNode("div", { class: "space-y-3 text-sm" }, [
|
|
1280
|
-
__props.testRun.metadata.tags && __props.testRun.metadata.tags.length > 0 ? (openBlock(), createBlock("div", { key: 0 }, [
|
|
1281
|
-
createVNode("div", { class: "flex flex-wrap gap-1.5" }, [
|
|
1282
|
-
(openBlock(true), createBlock(Fragment, null, renderList(__props.testRun.metadata.tags, (tag) => {
|
|
2066
|
+
} else {
|
|
2067
|
+
return [
|
|
2068
|
+
createVNode("div", { class: "@container" }, [
|
|
2069
|
+
createVNode(_component_UCard, {
|
|
2070
|
+
class: "shadow-xs",
|
|
2071
|
+
ui: { footer: "px-4 py-2.5 sm:px-4 bg-muted/30" }
|
|
2072
|
+
}, {
|
|
2073
|
+
footer: withCtx(() => [
|
|
2074
|
+
createVNode(_component_SummaryMetaStrip, null, {
|
|
2075
|
+
default: withCtx(() => [
|
|
2076
|
+
unref(showCiGroup) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
2077
|
+
key: 0,
|
|
2078
|
+
label: "CI & environment",
|
|
2079
|
+
icon: "i-lucide-cloud",
|
|
2080
|
+
help: "run.ci-env"
|
|
2081
|
+
}, {
|
|
2082
|
+
default: withCtx(() => [
|
|
2083
|
+
__props.testRun?.environment ? (openBlock(), createBlock("span", {
|
|
2084
|
+
key: 0,
|
|
2085
|
+
class: "rounded-full border border-default px-2 py-0.5 text-xs bg-elevated/60"
|
|
2086
|
+
}, toDisplayString(__props.testRun.environment), 1)) : createCommentVNode("", true),
|
|
2087
|
+
unref(ci)?.provider ? (openBlock(), createBlock("span", { key: 1 }, toDisplayString(unref(ci).provider), 1)) : createCommentVNode("", true),
|
|
2088
|
+
unref(ci)?.buildNumber || unref(ci)?.buildUrl ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
2089
|
+
createVNode("span", { class: "text-dimmed" }, "·"),
|
|
2090
|
+
unref(ci)?.buildUrl ? (openBlock(), createBlock("a", {
|
|
2091
|
+
key: 0,
|
|
2092
|
+
href: unref(ci).buildUrl,
|
|
2093
|
+
target: "_blank",
|
|
2094
|
+
class: "text-primary hover:underline"
|
|
2095
|
+
}, toDisplayString(unref(ci)?.buildNumber ? `Build #${unref(ci).buildNumber}` : "View build"), 9, ["href"])) : (openBlock(), createBlock("span", { key: 1 }, "Build #" + toDisplayString(unref(ci).buildNumber), 1))
|
|
2096
|
+
], 64)) : createCommentVNode("", true),
|
|
2097
|
+
unref(ci)?.workflow || unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 3 }, [
|
|
2098
|
+
createVNode("span", { class: "text-dimmed" }, "·"),
|
|
2099
|
+
createVNode("span", { class: "text-muted" }, [
|
|
2100
|
+
unref(ci)?.workflow ? (openBlock(), createBlock(Fragment, { key: 0 }, [
|
|
2101
|
+
createTextVNode(toDisplayString(unref(ci).workflow), 1)
|
|
2102
|
+
], 64)) : createCommentVNode("", true),
|
|
2103
|
+
unref(ci)?.workflow && unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
2104
|
+
createTextVNode(" · ")
|
|
2105
|
+
], 64)) : createCommentVNode("", true),
|
|
2106
|
+
unref(ci)?.jobName ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
2107
|
+
createTextVNode(toDisplayString(unref(ci).jobName), 1)
|
|
2108
|
+
], 64)) : createCommentVNode("", true)
|
|
2109
|
+
])
|
|
2110
|
+
], 64)) : createCommentVNode("", true)
|
|
2111
|
+
]),
|
|
2112
|
+
_: 1
|
|
2113
|
+
})) : createCommentVNode("", true),
|
|
2114
|
+
unref(scm) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
2115
|
+
key: 1,
|
|
2116
|
+
label: "Source",
|
|
2117
|
+
icon: "i-lucide-git-branch"
|
|
2118
|
+
}, {
|
|
2119
|
+
default: withCtx(() => [
|
|
2120
|
+
unref(scm).branch ? (openBlock(), createBlock("span", {
|
|
2121
|
+
key: 0,
|
|
2122
|
+
class: "font-medium"
|
|
2123
|
+
}, toDisplayString(unref(scm).branch), 1)) : createCommentVNode("", true),
|
|
2124
|
+
unref(scm).commit ? (openBlock(), createBlock("code", {
|
|
2125
|
+
key: 1,
|
|
2126
|
+
class: "text-xs font-mono bg-zinc-100 dark:bg-zinc-800 px-1 py-0.5 rounded",
|
|
2127
|
+
title: unref(scm).commit
|
|
2128
|
+
}, toDisplayString(unref(scm).commit.length >= 8 ? unref(scm).commit.substring(0, 8) : unref(scm).commit), 9, ["title"])) : createCommentVNode("", true),
|
|
2129
|
+
unref(scm).author ? (openBlock(), createBlock("span", {
|
|
2130
|
+
key: 2,
|
|
2131
|
+
class: "text-muted"
|
|
2132
|
+
}, toDisplayString(unref(scm).author), 1)) : createCommentVNode("", true),
|
|
2133
|
+
unref(scm).commitMessage ? (openBlock(), createBlock("span", {
|
|
2134
|
+
key: 3,
|
|
2135
|
+
class: "text-xs text-dimmed truncate max-w-[40ch]",
|
|
2136
|
+
title: unref(scm).commitMessage
|
|
2137
|
+
}, toDisplayString(unref(scm).commitMessage), 9, ["title"])) : createCommentVNode("", true)
|
|
2138
|
+
]),
|
|
2139
|
+
_: 1
|
|
2140
|
+
})) : createCommentVNode("", true),
|
|
2141
|
+
unref(showVersions) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
2142
|
+
key: 2,
|
|
2143
|
+
label: "Tooling versions",
|
|
2144
|
+
icon: "i-lucide-tag"
|
|
2145
|
+
}, {
|
|
2146
|
+
default: withCtx(() => [
|
|
2147
|
+
createVNode("span", { class: "text-muted whitespace-nowrap" }, [
|
|
2148
|
+
__props.testRun?.playwrightVersion ? (openBlock(), createBlock(Fragment, { key: 0 }, [
|
|
2149
|
+
createTextVNode("Playwright v" + toDisplayString(__props.testRun.playwrightVersion), 1)
|
|
2150
|
+
], 64)) : createCommentVNode("", true),
|
|
2151
|
+
__props.testRun?.playwrightVersion && __props.testRun?.reporterVersion ? (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
2152
|
+
createTextVNode(" · ")
|
|
2153
|
+
], 64)) : createCommentVNode("", true),
|
|
2154
|
+
__props.testRun?.reporterVersion ? (openBlock(), createBlock(Fragment, { key: 2 }, [
|
|
2155
|
+
createTextVNode("Piwi v" + toDisplayString(__props.testRun.reporterVersion), 1)
|
|
2156
|
+
], 64)) : createCommentVNode("", true)
|
|
2157
|
+
])
|
|
2158
|
+
]),
|
|
2159
|
+
_: 1
|
|
2160
|
+
})) : createCommentVNode("", true),
|
|
2161
|
+
unref(tags)?.length ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
2162
|
+
key: 3,
|
|
2163
|
+
label: "Tags",
|
|
2164
|
+
icon: "i-lucide-tags"
|
|
2165
|
+
}, {
|
|
2166
|
+
default: withCtx(() => [
|
|
2167
|
+
(openBlock(true), createBlock(Fragment, null, renderList(unref(tags), (tag) => {
|
|
1283
2168
|
return openBlock(), createBlock(_component_UBadge, {
|
|
1284
2169
|
key: tag,
|
|
1285
2170
|
color: "neutral",
|
|
@@ -1292,196 +2177,244 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
1292
2177
|
_: 2
|
|
1293
2178
|
}, 1024);
|
|
1294
2179
|
}), 128))
|
|
1295
|
-
])
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
name: "i-lucide-link",
|
|
1303
|
-
class: "w-3.5 h-3.5 text-zinc-400 shrink-0"
|
|
1304
|
-
}),
|
|
1305
|
-
createVNode("span", null, toDisplayString(__props.testRun.metadata.relatedIssue), 1)
|
|
1306
|
-
])) : createCommentVNode("", true),
|
|
1307
|
-
createVNode(_component_EntityLinks, {
|
|
1308
|
-
"entity-type": "test_run",
|
|
1309
|
-
"entity-id": __props.testRun.id,
|
|
1310
|
-
links: __props.testRun.links ?? null,
|
|
1311
|
-
onUpdated: ($event) => _ctx.$emit("label-updated")
|
|
1312
|
-
}, null, 8, ["entity-id", "links", "onUpdated"]),
|
|
1313
|
-
__props.testRun.metadata.customData ? (openBlock(), createBlock(_component_UButton, {
|
|
1314
|
-
key: 2,
|
|
1315
|
-
size: "xs",
|
|
1316
|
-
variant: "ghost",
|
|
1317
|
-
color: "neutral",
|
|
1318
|
-
icon: __props.showCustomData ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
|
|
1319
|
-
onClick: ($event) => emit("update:showCustomData", !__props.showCustomData)
|
|
2180
|
+
]),
|
|
2181
|
+
_: 1
|
|
2182
|
+
})) : createCommentVNode("", true),
|
|
2183
|
+
__props.testRun?.metadata?.relatedIssue ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
2184
|
+
key: 4,
|
|
2185
|
+
label: "Related issue",
|
|
2186
|
+
icon: "i-lucide-bookmark"
|
|
1320
2187
|
}, {
|
|
1321
2188
|
default: withCtx(() => [
|
|
1322
|
-
|
|
2189
|
+
createVNode("span", { class: "text-muted" }, toDisplayString(__props.testRun.metadata.relatedIssue), 1)
|
|
1323
2190
|
]),
|
|
1324
2191
|
_: 1
|
|
1325
|
-
}
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
2192
|
+
})) : createCommentVNode("", true),
|
|
2193
|
+
unref(showStorage) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
2194
|
+
key: 5,
|
|
2195
|
+
label: "Storage"
|
|
2196
|
+
}, {
|
|
2197
|
+
default: withCtx(() => [
|
|
2198
|
+
createVNode(_component_RunStorageChip, {
|
|
2199
|
+
"storage-stats": unref(storageStats),
|
|
2200
|
+
reports: __props.allReports,
|
|
2201
|
+
finalizing: __props.finalizing
|
|
2202
|
+
}, null, 8, ["storage-stats", "reports", "finalizing"])
|
|
2203
|
+
]),
|
|
2204
|
+
_: 1
|
|
2205
|
+
})) : createCommentVNode("", true),
|
|
2206
|
+
createVNode(_component_MetaStripGroup, {
|
|
2207
|
+
label: "Links",
|
|
2208
|
+
icon: "i-lucide-link",
|
|
2209
|
+
help: "run.metadata"
|
|
2210
|
+
}, {
|
|
2211
|
+
default: withCtx(() => [
|
|
2212
|
+
createVNode(_component_EntityLinks, {
|
|
2213
|
+
"entity-type": "test_run",
|
|
2214
|
+
"entity-id": __props.testRun.id,
|
|
2215
|
+
links: __props.testRun.links ?? null,
|
|
2216
|
+
onUpdated: ($event) => _ctx.$emit("label-updated")
|
|
2217
|
+
}, null, 8, ["entity-id", "links", "onUpdated"])
|
|
2218
|
+
]),
|
|
2219
|
+
_: 1
|
|
2220
|
+
}),
|
|
2221
|
+
unref(customData) ? (openBlock(), createBlock(_component_MetaStripGroup, {
|
|
2222
|
+
key: 6,
|
|
2223
|
+
label: "Custom data"
|
|
2224
|
+
}, {
|
|
2225
|
+
default: withCtx(() => [
|
|
2226
|
+
createVNode(_component_UButton, {
|
|
2227
|
+
size: "xs",
|
|
2228
|
+
variant: "ghost",
|
|
2229
|
+
color: "neutral",
|
|
2230
|
+
icon: __props.showCustomData ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
|
|
2231
|
+
onClick: ($event) => emit("update:showCustomData", !__props.showCustomData)
|
|
2232
|
+
}, {
|
|
2233
|
+
default: withCtx(() => [
|
|
2234
|
+
createTextVNode(" Custom data ")
|
|
2235
|
+
]),
|
|
2236
|
+
_: 1
|
|
2237
|
+
}, 8, ["icon", "onClick"])
|
|
2238
|
+
]),
|
|
2239
|
+
_: 1
|
|
2240
|
+
})) : createCommentVNode("", true)
|
|
2241
|
+
]),
|
|
2242
|
+
_: 1
|
|
2243
|
+
}),
|
|
2244
|
+
__props.showCustomData && unref(customData) ? (openBlock(), createBlock("div", {
|
|
2245
|
+
key: 0,
|
|
2246
|
+
class: "mt-2"
|
|
2247
|
+
}, [
|
|
2248
|
+
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" }, [
|
|
2249
|
+
createVNode("pre", { class: "m-0" }, toDisplayString(JSON.stringify(unref(customData), null, 2)), 1)
|
|
1331
2250
|
])
|
|
1332
|
-
]
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
} else {
|
|
1342
|
-
return [
|
|
1343
|
-
createVNode("div", { class: "grid grid-cols-1 lg:grid-cols-12 gap-4" }, [
|
|
1344
|
-
createVNode("div", { class: unref(summaryColSpanClass) }, [
|
|
1345
|
-
createVNode(_component_UCard, { class: "shadow-xs h-full" }, {
|
|
1346
|
-
default: withCtx(() => [
|
|
1347
|
-
createVNode("div", { class: "space-y-3" }, [
|
|
1348
|
-
createVNode("div", { class: "flex items-start gap-3" }, [
|
|
1349
|
-
createVNode("div", { class: "flex items-center gap-2.5 min-w-0 flex-1" }, [
|
|
1350
|
-
createVNode(_component_StatusBlock, {
|
|
1351
|
-
status: __props.testRun?.status ?? "",
|
|
1352
|
-
size: "md"
|
|
2251
|
+
])) : createCommentVNode("", true)
|
|
2252
|
+
]),
|
|
2253
|
+
default: withCtx(() => [
|
|
2254
|
+
createVNode("div", { class: "space-y-3" }, [
|
|
2255
|
+
createVNode("div", { class: "flex items-start justify-between gap-x-3 gap-y-2 flex-wrap pr-8" }, [
|
|
2256
|
+
createVNode("div", { class: "min-w-0 flex-1 basis-64" }, [
|
|
2257
|
+
createVNode("div", { class: "flex items-center gap-2 flex-wrap" }, [
|
|
2258
|
+
createVNode(_component_StatusChip, {
|
|
2259
|
+
status: __props.testRun?.status ?? ""
|
|
1353
2260
|
}, null, 8, ["status"]),
|
|
1354
|
-
createVNode("
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
}, null, 40, ["onUpdate:modelValue"]), [
|
|
1369
|
-
[vModelText, unref(labelInput)]
|
|
1370
|
-
]),
|
|
1371
|
-
unref(savingLabel) ? (openBlock(), createBlock(_component_UIcon, {
|
|
1372
|
-
key: 0,
|
|
1373
|
-
name: "i-lucide-loader-circle",
|
|
1374
|
-
class: "size-3.5 text-zinc-400 animate-spin shrink-0"
|
|
1375
|
-
})) : createCommentVNode("", true)
|
|
1376
|
-
], 64)) : (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
1377
|
-
__props.testRun?.label ? (openBlock(), createBlock("span", {
|
|
1378
|
-
key: 0,
|
|
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",
|
|
1380
|
-
onClick: startEditLabel
|
|
1381
|
-
}, "— " + toDisplayString(__props.testRun.label), 1)) : (openBlock(), createBlock("button", {
|
|
1382
|
-
key: 1,
|
|
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",
|
|
1384
|
-
title: "Add a label",
|
|
1385
|
-
onClick: startEditLabel
|
|
1386
|
-
}, " + label "))
|
|
1387
|
-
], 64)),
|
|
1388
|
-
createVNode(_component_HelpHint, { topic: "run.summary" })
|
|
2261
|
+
createVNode("h2", { class: "text-base font-bold shrink-0 flex items-center gap-1" }, [
|
|
2262
|
+
createTextVNode(" Run #" + toDisplayString(__props.testRun?.id) + " ", 1),
|
|
2263
|
+
unref(editingLabel) ? (openBlock(), createBlock(Fragment, { key: 0 }, [
|
|
2264
|
+
withDirectives(createVNode("input", {
|
|
2265
|
+
ref_key: "labelInputRef",
|
|
2266
|
+
ref: labelInputRef,
|
|
2267
|
+
"onUpdate:modelValue": ($event) => isRef(labelInput) ? labelInput.value = $event : null,
|
|
2268
|
+
type: "text",
|
|
2269
|
+
placeholder: "Add a label...",
|
|
2270
|
+
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",
|
|
2271
|
+
onKeydown: onLabelKeydown,
|
|
2272
|
+
onBlur: saveLabel
|
|
2273
|
+
}, null, 40, ["onUpdate:modelValue"]), [
|
|
2274
|
+
[vModelText, unref(labelInput)]
|
|
1389
2275
|
]),
|
|
1390
|
-
|
|
2276
|
+
unref(savingLabel) ? (openBlock(), createBlock(_component_UIcon, {
|
|
1391
2277
|
key: 0,
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
class: "size-3 mr-1"
|
|
1402
|
-
}),
|
|
1403
|
-
createTextVNode(" " + toDisplayString(__props.testRun.shardsFinished ?? 0) + "/" + toDisplayString(__props.testRun.shardTotal), 1)
|
|
1404
|
-
]),
|
|
1405
|
-
_: 1
|
|
1406
|
-
}, 8, ["title"])) : createCommentVNode("", true),
|
|
1407
|
-
__props.testRun?.precedingMarker ? (openBlock(), createBlock(_component_UTooltip, {
|
|
2278
|
+
name: "i-lucide-loader-circle",
|
|
2279
|
+
class: "size-3.5 text-zinc-400 animate-spin shrink-0"
|
|
2280
|
+
})) : createCommentVNode("", true)
|
|
2281
|
+
], 64)) : (openBlock(), createBlock(Fragment, { key: 1 }, [
|
|
2282
|
+
__props.testRun?.label ? (openBlock(), createBlock("span", {
|
|
2283
|
+
key: 0,
|
|
2284
|
+
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",
|
|
2285
|
+
onClick: startEditLabel
|
|
2286
|
+
}, "— " + toDisplayString(__props.testRun.label), 1)) : (openBlock(), createBlock("button", {
|
|
1408
2287
|
key: 1,
|
|
1409
|
-
text:
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
2288
|
+
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",
|
|
2289
|
+
title: "Add a label",
|
|
2290
|
+
onClick: startEditLabel
|
|
2291
|
+
}, " + label "))
|
|
2292
|
+
], 64)),
|
|
2293
|
+
createVNode(_component_HelpHint, { topic: "run.summary" })
|
|
2294
|
+
]),
|
|
2295
|
+
__props.testRun?.shardTotal && __props.testRun.shardTotal > 1 ? (openBlock(), createBlock(_component_UBadge, {
|
|
2296
|
+
key: 0,
|
|
2297
|
+
color: "neutral",
|
|
2298
|
+
variant: "soft",
|
|
2299
|
+
size: "sm",
|
|
2300
|
+
class: "shrink-0",
|
|
2301
|
+
title: `Shard ${__props.testRun.shardsFinished ?? 0}/${__props.testRun.shardTotal}`
|
|
2302
|
+
}, {
|
|
2303
|
+
default: withCtx(() => [
|
|
2304
|
+
createVNode(_component_UIcon, {
|
|
2305
|
+
name: "i-lucide-layout-grid",
|
|
2306
|
+
class: "size-3 mr-1"
|
|
2307
|
+
}),
|
|
2308
|
+
createTextVNode(" " + toDisplayString(__props.testRun.shardsFinished ?? 0) + "/" + toDisplayString(__props.testRun.shardTotal), 1)
|
|
2309
|
+
]),
|
|
2310
|
+
_: 1
|
|
2311
|
+
}, 8, ["title"])) : createCommentVNode("", true),
|
|
2312
|
+
__props.testRun?.precedingMarker ? (openBlock(), createBlock(_component_UTooltip, {
|
|
2313
|
+
key: 1,
|
|
2314
|
+
text: `This run started after: ${__props.testRun.precedingMarker.label}`
|
|
2315
|
+
}, {
|
|
2316
|
+
default: withCtx(() => [
|
|
2317
|
+
createVNode(_component_NuxtLink, {
|
|
2318
|
+
to: `/projects/${__props.testRun.projectId}?tab=timeline`,
|
|
2319
|
+
class: "shrink-0 inline-flex items-center gap-1"
|
|
1431
2320
|
}, {
|
|
1432
2321
|
default: withCtx(() => [
|
|
1433
|
-
createVNode(
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
class: "shrink-0 text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
|
|
1439
|
-
onClick: ($event) => unref(copy)(buildRunSummary(), { toast: "Run summary copied" })
|
|
1440
|
-
}, null, 8, ["icon", "onClick"])
|
|
1441
|
-
]),
|
|
1442
|
-
_: 1
|
|
1443
|
-
}, 8, ["text"]),
|
|
1444
|
-
unref(failedCases).length > 0 ? (openBlock(), createBlock(_component_UPopover, { key: 2 }, {
|
|
1445
|
-
content: withCtx(() => [
|
|
1446
|
-
createVNode("div", { class: "p-2 space-y-1 min-w-32" }, [
|
|
1447
|
-
createVNode("p", { class: "text-xs font-medium text-zinc-500 px-2 py-1" }, "Mode"),
|
|
1448
|
-
(openBlock(), createBlock(Fragment, null, renderList(["file-line", "grep", "file"], (m) => {
|
|
1449
|
-
return createVNode("button", {
|
|
1450
|
-
key: m,
|
|
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" : ""],
|
|
1452
|
-
onClick: ($event) => retryMode.value = m
|
|
1453
|
-
}, toDisplayString(m === "file-line" ? "File:line" : m === "grep" ? "Title (grep)" : "File only"), 11, ["onClick"]);
|
|
1454
|
-
}), 64))
|
|
1455
|
-
])
|
|
1456
|
-
]),
|
|
1457
|
-
default: withCtx(() => [
|
|
1458
|
-
createVNode(_component_UButton, {
|
|
1459
|
-
size: "xs",
|
|
1460
|
-
color: "warning",
|
|
1461
|
-
variant: "subtle",
|
|
1462
|
-
icon: unref(retryCopied) ? "i-lucide-check" : "i-lucide-play",
|
|
1463
|
-
title: unref(retryTitle),
|
|
1464
|
-
onClick: ($event) => copyRetryCommand()
|
|
1465
|
-
}, {
|
|
1466
|
-
default: withCtx(() => [
|
|
1467
|
-
createTextVNode(" Retry ")
|
|
1468
|
-
]),
|
|
1469
|
-
_: 1
|
|
1470
|
-
}, 8, ["icon", "title", "onClick"])
|
|
2322
|
+
createVNode("span", { class: "text-xs text-muted" }, "After"),
|
|
2323
|
+
createVNode(_component_MarkerBadge, {
|
|
2324
|
+
marker: __props.testRun.precedingMarker,
|
|
2325
|
+
size: "xs"
|
|
2326
|
+
}, null, 8, ["marker"])
|
|
1471
2327
|
]),
|
|
1472
2328
|
_: 1
|
|
1473
|
-
}
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
|
|
1480
|
-
|
|
1481
|
-
|
|
2329
|
+
}, 8, ["to"])
|
|
2330
|
+
]),
|
|
2331
|
+
_: 1
|
|
2332
|
+
}, 8, ["text"])) : createCommentVNode("", true)
|
|
2333
|
+
]),
|
|
2334
|
+
createVNode("p", { class: "mt-1 text-xs text-muted flex items-center gap-1.5 flex-wrap" }, [
|
|
2335
|
+
createVNode("span", null, "Started " + toDisplayString(("prettyDateFormat" in _ctx ? _ctx.prettyDateFormat : unref(prettyDateFormat))(__props.testRun?.startTime)), 1),
|
|
2336
|
+
createVNode(_component_ClientOnly, null, {
|
|
2337
|
+
default: withCtx(() => [
|
|
2338
|
+
createVNode("span", { class: "text-dimmed" }, "· " + toDisplayString(("formatRelativeTime" in _ctx ? _ctx.formatRelativeTime : unref(formatRelativeTime))(__props.testRun?.startTime)), 1)
|
|
2339
|
+
]),
|
|
2340
|
+
_: 1
|
|
2341
|
+
})
|
|
1482
2342
|
])
|
|
1483
2343
|
]),
|
|
1484
|
-
createVNode("div", { class: "
|
|
2344
|
+
createVNode("div", { class: "flex items-center gap-1.5 shrink-0" }, [
|
|
2345
|
+
createVNode(_component_UTooltip, {
|
|
2346
|
+
text: unref(copied) ? "Copied!" : "Copy run summary"
|
|
2347
|
+
}, {
|
|
2348
|
+
default: withCtx(() => [
|
|
2349
|
+
createVNode(_component_UButton, {
|
|
2350
|
+
size: "xs",
|
|
2351
|
+
variant: "ghost",
|
|
2352
|
+
color: "neutral",
|
|
2353
|
+
icon: unref(copied) ? "i-lucide-check" : "i-lucide-clipboard",
|
|
2354
|
+
"aria-label": "Copy run summary",
|
|
2355
|
+
class: "text-zinc-400 hover:text-zinc-600 dark:hover:text-zinc-300",
|
|
2356
|
+
onClick: ($event) => unref(copy)(buildRunSummary(), { toast: "Run summary copied" })
|
|
2357
|
+
}, null, 8, ["icon", "onClick"])
|
|
2358
|
+
]),
|
|
2359
|
+
_: 1
|
|
2360
|
+
}, 8, ["text"]),
|
|
2361
|
+
unref(failedCases).length > 0 ? (openBlock(), createBlock(_component_UPopover, { key: 0 }, {
|
|
2362
|
+
content: withCtx(() => [
|
|
2363
|
+
createVNode("div", { class: "p-2 space-y-1 min-w-32" }, [
|
|
2364
|
+
createVNode("p", { class: "text-xs font-medium text-zinc-500 px-2 py-1" }, "Mode"),
|
|
2365
|
+
(openBlock(), createBlock(Fragment, null, renderList(["file-line", "grep", "file"], (m) => {
|
|
2366
|
+
return createVNode("button", {
|
|
2367
|
+
key: m,
|
|
2368
|
+
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" : ""],
|
|
2369
|
+
onClick: ($event) => retryMode.value = m
|
|
2370
|
+
}, toDisplayString(m === "file-line" ? "File:line" : m === "grep" ? "Title (grep)" : "File only"), 11, ["onClick"]);
|
|
2371
|
+
}), 64))
|
|
2372
|
+
])
|
|
2373
|
+
]),
|
|
2374
|
+
default: withCtx(() => [
|
|
2375
|
+
createVNode(_component_UButton, {
|
|
2376
|
+
size: "xs",
|
|
2377
|
+
color: "warning",
|
|
2378
|
+
variant: "subtle",
|
|
2379
|
+
icon: unref(retryCopied) ? "i-lucide-check" : "i-lucide-play",
|
|
2380
|
+
title: unref(retryTitle),
|
|
2381
|
+
"aria-label": "Retry",
|
|
2382
|
+
onClick: ($event) => copyRetryCommand()
|
|
2383
|
+
}, {
|
|
2384
|
+
default: withCtx(() => [
|
|
2385
|
+
createVNode("span", { class: "hidden @2xl:inline" }, "Retry")
|
|
2386
|
+
]),
|
|
2387
|
+
_: 1
|
|
2388
|
+
}, 8, ["icon", "title", "onClick"])
|
|
2389
|
+
]),
|
|
2390
|
+
_: 1
|
|
2391
|
+
})) : createCommentVNode("", true),
|
|
2392
|
+
unref(failedCases).length > 0 ? (openBlock(), createBlock(_component_DesktopRunLocallyButton, {
|
|
2393
|
+
key: 1,
|
|
2394
|
+
"project-id": __props.testRun?.project?.id,
|
|
2395
|
+
"project-label": __props.testRun?.project?.label ?? __props.testRun?.project?.name,
|
|
2396
|
+
cases: unref(failedCases)
|
|
2397
|
+
}, null, 8, ["project-id", "project-label", "cases"])) : createCommentVNode("", true),
|
|
2398
|
+
unref(primaryReport) ? (openBlock(), createBlock(_component_UButton, {
|
|
2399
|
+
key: 2,
|
|
2400
|
+
href: ("fileApiUrl" in _ctx ? _ctx.fileApiUrl : unref(fileApiUrl))(unref(primaryReport).path, null, unref(config).app?.baseURL),
|
|
2401
|
+
icon: ("reportIcon" in _ctx ? _ctx.reportIcon : unref(reportIcon))(unref(primaryReport).type),
|
|
2402
|
+
target: "_blank",
|
|
2403
|
+
size: "xs",
|
|
2404
|
+
color: "primary",
|
|
2405
|
+
variant: "outline",
|
|
2406
|
+
"aria-label": unref(primaryReport).label,
|
|
2407
|
+
title: unref(primaryReport).size ? `${unref(primaryReport).label} · ${("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(unref(primaryReport).size)}` : unref(primaryReport).label
|
|
2408
|
+
}, {
|
|
2409
|
+
default: withCtx(() => [
|
|
2410
|
+
createVNode("span", { class: "hidden @2xl:inline" }, toDisplayString(unref(primaryReport).label), 1)
|
|
2411
|
+
]),
|
|
2412
|
+
_: 1
|
|
2413
|
+
}, 8, ["href", "icon", "aria-label", "title"])) : createCommentVNode("", true)
|
|
2414
|
+
])
|
|
2415
|
+
]),
|
|
2416
|
+
createVNode(_component_StatTileGrid, { "min-tile-width": "7.5rem" }, {
|
|
2417
|
+
default: withCtx(() => [
|
|
1485
2418
|
createVNode("button", {
|
|
1486
2419
|
class: [
|
|
1487
2420
|
"rounded-lg p-3 text-left w-full transition-colors cursor-pointer",
|
|
@@ -1547,232 +2480,87 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
|
|
|
1547
2480
|
title: "Tests that never ran (maxFailures cutoff or a serial-group failure)",
|
|
1548
2481
|
onClick: ($event) => emit("filter-status", "didnotrun")
|
|
1549
2482
|
}, [
|
|
1550
|
-
createVNode("p", { class: "text-xs font-medium text-amber-700 dark:text-amber-400 uppercase tracking-wider" }, "
|
|
2483
|
+
createVNode("p", { class: "text-xs font-medium text-amber-700 dark:text-amber-400 uppercase tracking-wider" }, "Didn't run"),
|
|
1551
2484
|
createVNode("p", { class: "text-xl font-bold mt-0.5 text-amber-600 dark:text-amber-400" }, toDisplayString(__props.testRun?.didNotRunTests ?? 0), 1)
|
|
1552
2485
|
], 10, ["onClick"])
|
|
1553
2486
|
]),
|
|
1554
|
-
|
|
1555
|
-
__props.testRun ? (openBlock(), createBlock("div", {
|
|
1556
|
-
key: 0,
|
|
1557
|
-
class: "flex items-center gap-3"
|
|
1558
|
-
}, [
|
|
1559
|
-
createVNode("div", { class: "flex-1 max-w-md" }, [
|
|
1560
|
-
createVNode(_component_TestStatusBar, {
|
|
1561
|
-
passed: __props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0,
|
|
1562
|
-
failed: __props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0,
|
|
1563
|
-
skipped: __props.displayProgress?.skippedTests ?? __props.testRun?.skippedTests ?? 0,
|
|
1564
|
-
flaky: __props.testRun?.flakyTests ?? 0,
|
|
1565
|
-
"did-not-run": __props.testRun?.didNotRunTests ?? 0,
|
|
1566
|
-
total: __props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0
|
|
1567
|
-
}, null, 8, ["passed", "failed", "skipped", "flaky", "did-not-run", "total"])
|
|
1568
|
-
]),
|
|
1569
|
-
createVNode("div", { class: "flex items-center gap-3 text-xs shrink-0" }, [
|
|
1570
|
-
createVNode("div", { class: "flex items-center gap-1" }, [
|
|
1571
|
-
createVNode(_component_UIcon, {
|
|
1572
|
-
name: "i-lucide-clock",
|
|
1573
|
-
class: "size-3.5 text-zinc-400"
|
|
1574
|
-
}),
|
|
1575
|
-
createVNode(_component_DurationValue, {
|
|
1576
|
-
ms: __props.testRun?.duration,
|
|
1577
|
-
class: "font-medium"
|
|
1578
|
-
}, null, 8, ["ms"])
|
|
1579
|
-
]),
|
|
1580
|
-
__props.testRun?.avgTestDuration ? (openBlock(), createBlock("div", {
|
|
1581
|
-
key: 0,
|
|
1582
|
-
class: "flex items-center gap-1"
|
|
1583
|
-
}, [
|
|
1584
|
-
createVNode(_component_UIcon, {
|
|
1585
|
-
name: "i-lucide-gauge",
|
|
1586
|
-
class: "size-3.5 text-zinc-400"
|
|
1587
|
-
}),
|
|
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"])
|
|
1593
|
-
])) : createCommentVNode("", true),
|
|
1594
|
-
__props.testRun?.p90TestDuration ? (openBlock(), createBlock("div", {
|
|
1595
|
-
key: 1,
|
|
1596
|
-
class: "flex items-center gap-1"
|
|
1597
|
-
}, [
|
|
1598
|
-
createVNode(_component_UIcon, {
|
|
1599
|
-
name: "i-lucide-arrow-up-right",
|
|
1600
|
-
class: "size-3.5 text-orange-500"
|
|
1601
|
-
}),
|
|
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"])
|
|
1608
|
-
])) : createCommentVNode("", true),
|
|
1609
|
-
__props.totalWastedTime && __props.totalWastedTime > 0 ? (openBlock(), createBlock("div", {
|
|
1610
|
-
key: 2,
|
|
1611
|
-
class: "flex items-center gap-1"
|
|
1612
|
-
}, [
|
|
1613
|
-
createVNode(_component_UIcon, {
|
|
1614
|
-
name: "i-lucide-clock",
|
|
1615
|
-
class: "size-3.5 text-amber-500"
|
|
1616
|
-
}),
|
|
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"])
|
|
1623
|
-
])) : createCommentVNode("", true)
|
|
1624
|
-
])
|
|
1625
|
-
])) : createCommentVNode("", true)
|
|
1626
|
-
])
|
|
1627
|
-
])
|
|
1628
|
-
]),
|
|
1629
|
-
_: 1
|
|
1630
|
-
})
|
|
1631
|
-
], 2),
|
|
1632
|
-
unref(showCiEnv) ? (openBlock(), createBlock(_component_CiEnvCard, {
|
|
1633
|
-
key: 0,
|
|
1634
|
-
ci: __props.testRun?.metadata?.ci,
|
|
1635
|
-
environment: __props.testRun?.environment,
|
|
1636
|
-
"playwright-version": __props.testRun?.playwrightVersion,
|
|
1637
|
-
"reporter-version": __props.testRun?.reporterVersion,
|
|
1638
|
-
class: unref(blockColSpanClass)
|
|
1639
|
-
}, null, 8, ["ci", "environment", "playwright-version", "reporter-version", "class"])) : createCommentVNode("", true),
|
|
1640
|
-
unref(showSource) ? (openBlock(), createBlock(_component_SourceInfoCard, {
|
|
1641
|
-
key: 1,
|
|
1642
|
-
scm: __props.testRun.metadata.scm,
|
|
1643
|
-
class: unref(blockColSpanClass)
|
|
1644
|
-
}, null, 8, ["scm", "class"])) : createCommentVNode("", true),
|
|
1645
|
-
unref(showStorage) ? (openBlock(), createBlock(_component_BlockCard, {
|
|
1646
|
-
key: 2,
|
|
1647
|
-
class: unref(blockColSpanClass),
|
|
1648
|
-
title: "Storage",
|
|
1649
|
-
icon: "i-lucide-database",
|
|
1650
|
-
help: "run.reports",
|
|
1651
|
-
subtitle: unref(storageStats)?.totalFiles ? `${unref(storageStats).totalFiles} files · ${("formatBytes" in _ctx ? _ctx.formatBytes : unref(formatBytes))(unref(storageStats).totalSize)}` : void 0
|
|
1652
|
-
}, {
|
|
1653
|
-
default: withCtx(() => [
|
|
1654
|
-
__props.finalizing ? (openBlock(), createBlock("div", {
|
|
1655
|
-
key: 0,
|
|
1656
|
-
class: "flex items-center gap-3"
|
|
1657
|
-
}, [
|
|
1658
|
-
createVNode(_component_UIcon, {
|
|
1659
|
-
name: "i-lucide-upload",
|
|
1660
|
-
class: "size-5 text-info shrink-0 animate-pulse"
|
|
2487
|
+
_: 1
|
|
1661
2488
|
}),
|
|
1662
|
-
|
|
1663
|
-
createVNode("div", { class: "flex items-center justify-between mb-1" }, [
|
|
1664
|
-
createVNode("span", { class: "text-sm font-medium" }, "Finalizing test run"),
|
|
1665
|
-
createVNode("span", { class: "text-xs text-zinc-500" }, "Uploading reports & traces…")
|
|
1666
|
-
]),
|
|
1667
|
-
createVNode(_component_UProgress, {
|
|
1668
|
-
value: null,
|
|
1669
|
-
size: "sm",
|
|
1670
|
-
color: "info",
|
|
1671
|
-
class: "rounded-full animate-pulse"
|
|
1672
|
-
})
|
|
1673
|
-
])
|
|
1674
|
-
])) : createCommentVNode("", true),
|
|
1675
|
-
unref(storageStats)?.totalFiles ? (openBlock(), createBlock("div", {
|
|
1676
|
-
key: 1,
|
|
1677
|
-
class: "space-y-1.5 text-sm"
|
|
1678
|
-
}, [
|
|
1679
|
-
(openBlock(true), createBlock(Fragment, null, renderList(__props.allReports, (report) => {
|
|
1680
|
-
return openBlock(), createBlock("div", {
|
|
1681
|
-
key: report.label,
|
|
1682
|
-
class: "flex items-center justify-between gap-2 min-w-0"
|
|
1683
|
-
}, [
|
|
1684
|
-
createVNode(_component_UButton, {
|
|
1685
|
-
href: ("fileApiUrl" in _ctx ? _ctx.fileApiUrl : unref(fileApiUrl))(report.path, null, unref(config).app?.baseURL),
|
|
1686
|
-
icon: ("reportIcon" in _ctx ? _ctx.reportIcon : unref(reportIcon))(report.type),
|
|
1687
|
-
target: "_blank",
|
|
1688
|
-
size: "xs",
|
|
1689
|
-
variant: "outline",
|
|
1690
|
-
class: "min-w-0",
|
|
1691
|
-
ui: { label: "truncate" }
|
|
1692
|
-
}, {
|
|
1693
|
-
default: withCtx(() => [
|
|
1694
|
-
createTextVNode(toDisplayString(report.label), 1)
|
|
1695
|
-
]),
|
|
1696
|
-
_: 2
|
|
1697
|
-
}, 1032, ["href", "icon"]),
|
|
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)
|
|
1699
|
-
]);
|
|
1700
|
-
}), 128)),
|
|
1701
|
-
unref(storageStats).testCaseFilesCount > 0 ? (openBlock(), createBlock("div", {
|
|
2489
|
+
__props.testRun ? (openBlock(), createBlock("div", {
|
|
1702
2490
|
key: 0,
|
|
1703
|
-
class: "flex items-center
|
|
1704
|
-
}, [
|
|
1705
|
-
createVNode("span", { class: "truncate" }, "Test files (" + toDisplayString(unref(storageStats).testCaseFilesCount) + ")", 1),
|
|
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)
|
|
1707
|
-
])) : createCommentVNode("", true)
|
|
1708
|
-
])) : createCommentVNode("", true)
|
|
1709
|
-
]),
|
|
1710
|
-
_: 1
|
|
1711
|
-
}, 8, ["class", "subtitle"])) : createCommentVNode("", true),
|
|
1712
|
-
unref(showOther) ? (openBlock(), createBlock(_component_BlockCard, {
|
|
1713
|
-
key: 3,
|
|
1714
|
-
class: unref(blockColSpanClass),
|
|
1715
|
-
title: "Other",
|
|
1716
|
-
icon: "i-lucide-tags",
|
|
1717
|
-
help: "run.metadata"
|
|
1718
|
-
}, {
|
|
1719
|
-
default: withCtx(() => [
|
|
1720
|
-
createVNode("div", { class: "space-y-3 text-sm" }, [
|
|
1721
|
-
__props.testRun.metadata.tags && __props.testRun.metadata.tags.length > 0 ? (openBlock(), createBlock("div", { key: 0 }, [
|
|
1722
|
-
createVNode("div", { class: "flex flex-wrap gap-1.5" }, [
|
|
1723
|
-
(openBlock(true), createBlock(Fragment, null, renderList(__props.testRun.metadata.tags, (tag) => {
|
|
1724
|
-
return openBlock(), createBlock(_component_UBadge, {
|
|
1725
|
-
key: tag,
|
|
1726
|
-
color: "neutral",
|
|
1727
|
-
variant: "soft",
|
|
1728
|
-
size: "sm"
|
|
1729
|
-
}, {
|
|
1730
|
-
default: withCtx(() => [
|
|
1731
|
-
createTextVNode(toDisplayString(tag), 1)
|
|
1732
|
-
]),
|
|
1733
|
-
_: 2
|
|
1734
|
-
}, 1024);
|
|
1735
|
-
}), 128))
|
|
1736
|
-
])
|
|
1737
|
-
])) : createCommentVNode("", true),
|
|
1738
|
-
__props.testRun.metadata.relatedIssue ? (openBlock(), createBlock("p", {
|
|
1739
|
-
key: 1,
|
|
1740
|
-
class: "flex items-center gap-1"
|
|
2491
|
+
class: "flex items-center gap-x-4 gap-y-1.5 flex-wrap"
|
|
1741
2492
|
}, [
|
|
1742
|
-
createVNode(
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
links: __props.testRun.links ?? null,
|
|
1752
|
-
onUpdated: ($event) => _ctx.$emit("label-updated")
|
|
1753
|
-
}, null, 8, ["entity-id", "links", "onUpdated"]),
|
|
1754
|
-
__props.testRun.metadata.customData ? (openBlock(), createBlock(_component_UButton, {
|
|
1755
|
-
key: 2,
|
|
1756
|
-
size: "xs",
|
|
1757
|
-
variant: "ghost",
|
|
1758
|
-
color: "neutral",
|
|
1759
|
-
icon: __props.showCustomData ? "i-lucide-chevron-up" : "i-lucide-chevron-down",
|
|
1760
|
-
onClick: ($event) => emit("update:showCustomData", !__props.showCustomData)
|
|
1761
|
-
}, {
|
|
1762
|
-
default: withCtx(() => [
|
|
1763
|
-
createTextVNode(" Custom data ")
|
|
2493
|
+
createVNode("div", { class: "flex-1 basis-60 min-w-44 max-w-xl" }, [
|
|
2494
|
+
createVNode(_component_TestStatusBar, {
|
|
2495
|
+
passed: __props.displayProgress?.passedTests ?? __props.testRun?.passedTests ?? 0,
|
|
2496
|
+
failed: __props.displayProgress?.failedTests ?? __props.testRun?.failedTests ?? 0,
|
|
2497
|
+
skipped: __props.displayProgress?.skippedTests ?? __props.testRun?.skippedTests ?? 0,
|
|
2498
|
+
flaky: __props.testRun?.flakyTests ?? 0,
|
|
2499
|
+
"did-not-run": __props.testRun?.didNotRunTests ?? 0,
|
|
2500
|
+
total: __props.displayProgress?.totalTests ?? __props.testRun?.totalTests ?? 0
|
|
2501
|
+
}, null, 8, ["passed", "failed", "skipped", "flaky", "did-not-run", "total"])
|
|
1764
2502
|
]),
|
|
1765
|
-
|
|
1766
|
-
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
|
|
2503
|
+
createVNode("div", { class: "flex items-center flex-wrap gap-x-3 gap-y-1 text-xs shrink-0" }, [
|
|
2504
|
+
createVNode("div", { class: "flex items-center gap-1" }, [
|
|
2505
|
+
createVNode(_component_UIcon, {
|
|
2506
|
+
name: "i-lucide-clock",
|
|
2507
|
+
class: "size-3.5 text-zinc-400"
|
|
2508
|
+
}),
|
|
2509
|
+
createVNode(_component_DurationValue, {
|
|
2510
|
+
ms: __props.testRun?.duration,
|
|
2511
|
+
class: "font-medium"
|
|
2512
|
+
}, null, 8, ["ms"])
|
|
2513
|
+
]),
|
|
2514
|
+
__props.testRun?.avgTestDuration ? (openBlock(), createBlock("div", {
|
|
2515
|
+
key: 0,
|
|
2516
|
+
class: "flex items-center gap-1"
|
|
2517
|
+
}, [
|
|
2518
|
+
createVNode(_component_UIcon, {
|
|
2519
|
+
name: "i-lucide-gauge",
|
|
2520
|
+
class: "size-3.5 text-zinc-400"
|
|
2521
|
+
}),
|
|
2522
|
+
createVNode("span", { class: "text-zinc-500" }, "Avg"),
|
|
2523
|
+
createVNode(_component_DurationValue, {
|
|
2524
|
+
ms: __props.testRun.avgTestDuration,
|
|
2525
|
+
class: "font-medium"
|
|
2526
|
+
}, null, 8, ["ms"])
|
|
2527
|
+
])) : createCommentVNode("", true),
|
|
2528
|
+
__props.testRun?.p90TestDuration ? (openBlock(), createBlock("div", {
|
|
2529
|
+
key: 1,
|
|
2530
|
+
class: "flex items-center gap-1"
|
|
2531
|
+
}, [
|
|
2532
|
+
createVNode(_component_UIcon, {
|
|
2533
|
+
name: "i-lucide-arrow-up-right",
|
|
2534
|
+
class: "size-3.5 text-orange-500"
|
|
2535
|
+
}),
|
|
2536
|
+
createVNode("span", { class: "text-zinc-500" }, "P90"),
|
|
2537
|
+
createVNode(_component_DurationValue, {
|
|
2538
|
+
ms: __props.testRun.p90TestDuration,
|
|
2539
|
+
class: "font-medium text-orange-600 dark:text-orange-400",
|
|
2540
|
+
"unit-class": "opacity-60"
|
|
2541
|
+
}, null, 8, ["ms"])
|
|
2542
|
+
])) : createCommentVNode("", true),
|
|
2543
|
+
__props.totalWastedTime && __props.totalWastedTime > 0 ? (openBlock(), createBlock("div", {
|
|
2544
|
+
key: 2,
|
|
2545
|
+
class: "flex items-center gap-1"
|
|
2546
|
+
}, [
|
|
2547
|
+
createVNode(_component_UIcon, {
|
|
2548
|
+
name: "i-lucide-clock",
|
|
2549
|
+
class: "size-3.5 text-amber-500"
|
|
2550
|
+
}),
|
|
2551
|
+
createVNode("span", { class: "text-zinc-500" }, "Wasted"),
|
|
2552
|
+
createVNode(_component_DurationValue, {
|
|
2553
|
+
ms: __props.totalWastedTime,
|
|
2554
|
+
class: "font-medium text-amber-600 dark:text-amber-400",
|
|
2555
|
+
"unit-class": "opacity-60"
|
|
2556
|
+
}, null, 8, ["ms"])
|
|
2557
|
+
])) : createCommentVNode("", true)
|
|
1770
2558
|
])
|
|
1771
2559
|
])) : createCommentVNode("", true)
|
|
1772
2560
|
])
|
|
1773
2561
|
]),
|
|
1774
2562
|
_: 1
|
|
1775
|
-
}
|
|
2563
|
+
})
|
|
1776
2564
|
])
|
|
1777
2565
|
];
|
|
1778
2566
|
}
|
|
@@ -2442,12 +3230,12 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
|
|
|
2442
3230
|
}
|
|
2443
3231
|
__expose({ scrollToCase });
|
|
2444
3232
|
return (_ctx, _push, _parent, _attrs) => {
|
|
2445
|
-
const _component_FilterToolbar = __nuxt_component_4$
|
|
3233
|
+
const _component_FilterToolbar = __nuxt_component_4$3;
|
|
2446
3234
|
const _component_UIcon = _sfc_main$p;
|
|
2447
3235
|
const _component_HelpHint = __nuxt_component_2$2;
|
|
2448
3236
|
const _component_UInput = _sfc_main$d$1;
|
|
2449
|
-
const _component_USelect = _sfc_main$
|
|
2450
|
-
const _component_UCheckbox = _sfc_main$
|
|
3237
|
+
const _component_USelect = _sfc_main$q;
|
|
3238
|
+
const _component_UCheckbox = _sfc_main$r;
|
|
2451
3239
|
const _component_UButton = _sfc_main$k;
|
|
2452
3240
|
const _component_TestCasesTree = __nuxt_component_7;
|
|
2453
3241
|
const _component_ClientOnly = __nuxt_component_7$1;
|
|
@@ -2826,8 +3614,8 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
|
|
|
2826
3614
|
return (_ctx, _push, _parent, _attrs) => {
|
|
2827
3615
|
const _component_ErrorState = __nuxt_component_5$1;
|
|
2828
3616
|
const _component_UButton = _sfc_main$k;
|
|
2829
|
-
const _component_LoadingState =
|
|
2830
|
-
const _component_EmptyState = __nuxt_component_4$
|
|
3617
|
+
const _component_LoadingState = __nuxt_component_12$2;
|
|
3618
|
+
const _component_EmptyState = __nuxt_component_4$2;
|
|
2831
3619
|
const _component_UIcon = _sfc_main$p;
|
|
2832
3620
|
const _component_HelpHint = __nuxt_component_2$2;
|
|
2833
3621
|
const _component_SectionCard = __nuxt_component_11;
|
|
@@ -3854,12 +4642,12 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
|
|
|
3854
4642
|
const _component_UIcon = _sfc_main$p;
|
|
3855
4643
|
const _component_HelpHint = __nuxt_component_2$2;
|
|
3856
4644
|
const _component_UButton = _sfc_main$k;
|
|
3857
|
-
const _component_UCard = _sfc_main$
|
|
4645
|
+
const _component_UCard = _sfc_main$n;
|
|
3858
4646
|
const _component_TableScroller = __nuxt_component_3$2;
|
|
3859
|
-
const _component_UTable = _sfc_main$
|
|
4647
|
+
const _component_UTable = _sfc_main$j;
|
|
3860
4648
|
const _component_UBadge = _sfc_main$7$1;
|
|
3861
4649
|
const _component_NuxtLink = __nuxt_component_12$1;
|
|
3862
|
-
const _component_UModal = _sfc_main$
|
|
4650
|
+
const _component_UModal = _sfc_main$o;
|
|
3863
4651
|
const _component_ClusterDiagnosis = __nuxt_component_9;
|
|
3864
4652
|
_push(`<!--[--><div class="pt-4 space-y-3">`);
|
|
3865
4653
|
if (unref(loading)) {
|
|
@@ -4982,13 +5770,13 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
|
|
|
4982
5770
|
copy(context.value?.commitRange?.gitCommand);
|
|
4983
5771
|
}
|
|
4984
5772
|
return (_ctx, _push, _parent, _attrs) => {
|
|
4985
|
-
const _component_LoadingState =
|
|
4986
|
-
const _component_EmptyState = __nuxt_component_4$
|
|
5773
|
+
const _component_LoadingState = __nuxt_component_12$2;
|
|
5774
|
+
const _component_EmptyState = __nuxt_component_4$2;
|
|
4987
5775
|
const _component_UIcon = _sfc_main$p;
|
|
4988
5776
|
const _component_HelpHint = __nuxt_component_2$2;
|
|
4989
5777
|
const _component_NuxtLink = __nuxt_component_12$1;
|
|
4990
5778
|
const _component_UBadge = _sfc_main$7$1;
|
|
4991
|
-
const _component_UCard = _sfc_main$
|
|
5779
|
+
const _component_UCard = _sfc_main$n;
|
|
4992
5780
|
const _component_UButton = _sfc_main$k;
|
|
4993
5781
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "pt-4" }, _attrs))}>`);
|
|
4994
5782
|
if (unref(loading)) {
|
|
@@ -5350,7 +6138,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
|
|
|
5350
6138
|
const _component_HelpHint = __nuxt_component_2$2;
|
|
5351
6139
|
const _component_UPopover = _sfc_main$8$1;
|
|
5352
6140
|
const _component_UButton = _sfc_main$k;
|
|
5353
|
-
const _component_UCheckbox = _sfc_main$
|
|
6141
|
+
const _component_UCheckbox = _sfc_main$r;
|
|
5354
6142
|
_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" : "")} `);
|
|
5355
6143
|
if (__props.shardTotal && __props.shardTotal > 1) {
|
|
5356
6144
|
_push(`<!--[--> · ${ssrInterpolate(__props.shardTotal)} shard${ssrInterpolate(__props.shardTotal > 1 ? "s" : "")}<!--]-->`);
|
|
@@ -6251,15 +7039,15 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
|
6251
7039
|
}
|
|
6252
7040
|
];
|
|
6253
7041
|
return (_ctx, _push, _parent, _attrs) => {
|
|
6254
|
-
const _component_USelectMenu = _sfc_main$
|
|
7042
|
+
const _component_USelectMenu = _sfc_main$l;
|
|
6255
7043
|
const _component_RunStatusBadge = __nuxt_component_13$1;
|
|
6256
7044
|
const _component_UButton = _sfc_main$k;
|
|
6257
7045
|
const _component_UIcon = _sfc_main$p;
|
|
6258
|
-
const _component_UAlert = _sfc_main$
|
|
7046
|
+
const _component_UAlert = _sfc_main$m;
|
|
6259
7047
|
const _component_MarkerBadge = __nuxt_component_5;
|
|
6260
7048
|
const _component_UBadge = _sfc_main$7$1;
|
|
6261
7049
|
const _component_TableScroller = __nuxt_component_3$2;
|
|
6262
|
-
const _component_UTable = _sfc_main$
|
|
7050
|
+
const _component_UTable = _sfc_main$j;
|
|
6263
7051
|
const _component_DurationValue = __nuxt_component_14$1;
|
|
6264
7052
|
_push(`<div${ssrRenderAttrs(_attrs)}>`);
|
|
6265
7053
|
if (__props.testRun && !isLive.value) {
|
|
@@ -6846,9 +7634,10 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
6846
7634
|
];
|
|
6847
7635
|
return (_ctx, _push, _parent, _attrs) => {
|
|
6848
7636
|
const _component_UIcon = _sfc_main$p;
|
|
6849
|
-
const _component_UTable = _sfc_main$
|
|
7637
|
+
const _component_UTable = _sfc_main$j;
|
|
6850
7638
|
const _component_UBadge = _sfc_main$7$1;
|
|
6851
7639
|
const _component_DurationValue = __nuxt_component_14$1;
|
|
7640
|
+
const _component_FeatureUnavailable = __nuxt_component_4$1;
|
|
6852
7641
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "flex flex-col overflow-hidden" }, _attrs))}>`);
|
|
6853
7642
|
if (unref(loading)) {
|
|
6854
7643
|
_push(`<div class="flex-1 flex items-center justify-center text-gray-500 gap-2">`);
|
|
@@ -6981,12 +7770,13 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
|
6981
7770
|
_: 1
|
|
6982
7771
|
}, _parent));
|
|
6983
7772
|
} else {
|
|
6984
|
-
_push(
|
|
6985
|
-
|
|
6986
|
-
|
|
6987
|
-
|
|
7773
|
+
_push(ssrRenderComponent(_component_FeatureUnavailable, {
|
|
7774
|
+
class: "flex-1",
|
|
7775
|
+
icon: "i-lucide-wifi-off",
|
|
7776
|
+
title: "No network requests captured",
|
|
7777
|
+
text: "Slow endpoints need the Piwi capture fixtures — extend your Playwright test with piwiFixtures and request timing rides along with every run.",
|
|
7778
|
+
doc: "capture-fixtures"
|
|
6988
7779
|
}, null, _parent));
|
|
6989
|
-
_push(`<p> No network request data. Add the <code class="text-xs bg-gray-100 dark:bg-gray-800 px-1 rounded font-mono">@piwitests/reporter</code> fixtures to your test setup. </p></div>`);
|
|
6990
7780
|
}
|
|
6991
7781
|
_push(`</div>`);
|
|
6992
7782
|
};
|
|
@@ -7194,11 +7984,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
7194
7984
|
}
|
|
7195
7985
|
return (_ctx, _push, _parent, _attrs) => {
|
|
7196
7986
|
const _component_UDashboardPanel = _sfc_main$1$1;
|
|
7197
|
-
const _component_UDashboardNavbar = _sfc_main$
|
|
7987
|
+
const _component_UDashboardNavbar = _sfc_main$h;
|
|
7198
7988
|
const _component_UDashboardSidebarCollapse = _sfc_main$1$2;
|
|
7199
7989
|
const _component_BreadcrumbNav = __nuxt_component_3$1;
|
|
7200
7990
|
const _component_NuxtLink = __nuxt_component_12$1;
|
|
7201
|
-
const _component_UTooltip = _sfc_main$
|
|
7991
|
+
const _component_UTooltip = _sfc_main$i;
|
|
7202
7992
|
const _component_UIcon = _sfc_main$p;
|
|
7203
7993
|
const _component_NavbarActions = __nuxt_component_4;
|
|
7204
7994
|
const _component_DetailPageLayout = __nuxt_component_8;
|
|
@@ -7859,4 +8649,4 @@ _sfc_main.setup = (props, ctx) => {
|
|
|
7859
8649
|
};
|
|
7860
8650
|
|
|
7861
8651
|
export { _sfc_main as default };
|
|
7862
|
-
//# sourceMappingURL=_id_-
|
|
8652
|
+
//# sourceMappingURL=_id_-8cGIgeg6.mjs.map
|