@piwitests/server 0.19.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/{279D2RYp.js → 9ti9eNH9.js} +1 -1
- package/.output/public/_nuxt/{DcmZRa_F.js → B-zdP-D4.js} +1 -1
- package/.output/public/_nuxt/{eaVkJRSa.js → B1RmmOsM.js} +1 -1
- package/.output/public/_nuxt/{DprVVyUQ.js → B3Fsod9X.js} +1 -1
- package/.output/public/_nuxt/{HXerICAi.js → B3rirOqU.js} +34 -34
- package/.output/public/_nuxt/B3zmIJYb.js +1 -0
- package/.output/public/_nuxt/{CDk0q2hV.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/{Jo8kRmHz.js → BGusFAvZ.js} +1 -1
- package/.output/public/_nuxt/{CGNkHojN.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/{ZFiQCMUB.js → BTVqMsA3.js} +1 -1
- package/.output/public/_nuxt/{BqV0l12c.js → B_13C0GF.js} +1 -1
- package/.output/public/_nuxt/BeDIjhoR.js +44 -0
- package/.output/public/_nuxt/{BDicZ1gQ.js → BerCW7Ug.js} +1 -1
- package/.output/public/_nuxt/BfTNbVc_.js +1 -0
- package/.output/public/_nuxt/BnbSEpXX.js +1 -0
- package/.output/public/_nuxt/Bo_dxehb.js +1 -0
- package/.output/public/_nuxt/{ClOqkAcc.js → BpBHls4-.js} +1 -1
- package/.output/public/_nuxt/{C7P1UCO2.js → BpM6ZPIG.js} +1 -1
- package/.output/public/_nuxt/BqGumsDo.js +4 -0
- package/.output/public/_nuxt/{DS636elg.js → BrxtP_cN.js} +1 -1
- package/.output/public/_nuxt/{YVN7WG7q.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/{SfMRXW25.js → CAxgBYIt.js} +2 -2
- package/.output/public/_nuxt/{CZfMdzfk.js → CES2i5Pl.js} +1 -1
- package/.output/public/_nuxt/{BX9ZXe98.js → CFEdRqaj.js} +1 -1
- package/.output/public/_nuxt/{B44A4LSJ.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/{DHDtnj7p.js → CJBhojV6.js} +1 -1
- package/.output/public/_nuxt/{BPQoBGg5.js → CKYddHa6.js} +1 -1
- package/.output/public/_nuxt/{BccXfBfI.js → CLVWiCds.js} +1 -1
- package/.output/public/_nuxt/{DX-MDGb3.js → CMYAryzi.js} +1 -1
- package/.output/public/_nuxt/{BuMC3WjZ.js → COhdybDy.js} +1 -1
- package/.output/public/_nuxt/{Bu2aaVIY.js → CRBXM2d6.js} +2 -2
- package/.output/public/_nuxt/{BYDaY0Z7.js → CTD_pJ_v.js} +1 -1
- package/.output/public/_nuxt/{C9_jrmk9.js → CTP8Pw0-.js} +2 -2
- package/.output/public/_nuxt/{D55D4EYo.js → CV8iF2kG.js} +1 -1
- package/.output/public/_nuxt/{BCMuIgP5.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/{Dnpkl-1q.js → Chpah_7l.js} +1 -1
- package/.output/public/_nuxt/Ci9d8YVV.js +1 -0
- package/.output/public/_nuxt/{C95YAaJq.js → CifRHVaR.js} +1 -1
- package/.output/public/_nuxt/{BMvCSA6h.js → Ckgsh9AT.js} +1 -1
- package/.output/public/_nuxt/{eptP4pGv.js → Cpsq-kYE.js} +1 -1
- package/.output/public/_nuxt/Cqc-DSTF.js +1 -0
- package/.output/public/_nuxt/{KnfsST6Y.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/{DGfAxLHV.js → CvMzDKvu.js} +1 -1
- package/.output/public/_nuxt/{fVcG504p.js → D2pBhsH8.js} +1 -1
- package/.output/public/_nuxt/{rWNTSFD6.js → D8gX1Jde.js} +3 -3
- package/.output/public/_nuxt/D9knOn6D.js +1 -0
- package/.output/public/_nuxt/DAPTVdvA.js +1 -0
- package/.output/public/_nuxt/{NQikbhmK.js → DCFbQvIN.js} +44 -43
- package/.output/public/_nuxt/DCoJlz_q.js +1 -0
- package/.output/public/_nuxt/DGnQ69wW.js +64 -0
- package/.output/public/_nuxt/{CTxDO9fB.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/{CK_2LZBS.js → DKFXZdWZ.js} +1 -1
- package/.output/public/_nuxt/{tvgqrYDd.js → DL24AjfW.js} +1 -1
- package/.output/public/_nuxt/DON74Yh6.js +1 -0
- package/.output/public/_nuxt/{CHEFCN8Q.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/{DLSrtpsA.js → D_eDAIsT.js} +1 -1
- package/.output/public/_nuxt/Da8A92cF.js +1 -0
- package/.output/public/_nuxt/{BxCKKeYs.js → DdH3op4b.js} +1 -1
- package/.output/public/_nuxt/DepFDZO3.js +1 -0
- package/.output/public/_nuxt/{CV9-fTmY.js → DfSBKzrC.js} +1 -1
- package/.output/public/_nuxt/{DT53RWbC.js → DfnKh3dZ.js} +1 -1
- package/.output/public/_nuxt/{ndShiWE8.js → DhpTfeip.js} +1 -1
- package/.output/public/_nuxt/{ybDYeNxd.js → Dk9nD32g.js} +1 -1
- package/.output/public/_nuxt/{D0HNloZ9.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/{BfTuX0wq.js → DnQv_hst.js} +1 -1
- package/.output/public/_nuxt/{FUXhyidq.js → DqEOMteW.js} +1 -1
- package/.output/public/_nuxt/{Bti38m-M.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/{DP8hfJ9h.js → Ebw5l7n8.js} +1 -1
- package/.output/public/_nuxt/{nv9-6vBK.js → IPePdbzl.js} +1 -1
- package/.output/public/_nuxt/{BPRffDuo.js → LHoUGrfi.js} +1 -1
- package/.output/public/_nuxt/{CYsTqbBS.js → NERLHpOL.js} +1 -1
- package/.output/public/_nuxt/RAdNGxcF.js +1 -0
- package/.output/public/_nuxt/Vxyo_mU9.js +1 -0
- package/.output/public/_nuxt/{IvQlbZk6.js → YE1kAkU9.js} +1 -1
- package/.output/public/_nuxt/{DgE2YE3R.js → YmT5WiN5.js} +1 -1
- package/.output/public/_nuxt/ZcAfCxWE.js +17 -0
- package/.output/public/_nuxt/{cHAnlQbv.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/{DiOLdHBC.js → gV2U_Gqd.js} +1 -1
- package/.output/public/_nuxt/{C-elpgyr.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/{Cdff9XNh.js → tQoyVPCE.js} +1 -1
- package/.output/public/_nuxt/{DEFEpYzn.js → uSPCvASp.js} +1 -1
- package/.output/public/_nuxt/{y17lMTFy.js → wkz5-1SO.js} +1 -1
- package/.output/public/_nuxt/yYlVYKCz.js +34 -0
- package/.output/public/_nuxt/{B9WhzpKO.js → zv8WdMx0.js} +1 -1
- package/.output/server/chunks/_/collect.mjs +1 -1
- package/.output/server/chunks/_/markers.mjs +1 -1
- package/.output/server/chunks/_/quarantine.mjs +1 -1
- package/.output/server/chunks/_/scope.mjs +43 -27
- package/.output/server/chunks/_/scope.mjs.map +1 -1
- package/.output/server/chunks/_/users.mjs +1 -1
- package/.output/server/chunks/build/{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-D33lqUcj.mjs → BrowserBadge-DQqJS9CV.mjs} +66 -6
- 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-DvUBGagc.mjs → Checkbox-DmRKG-0s.mjs} +5 -5
- 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-B646dK4p.mjs → DiagnosisPanel-BWTpoCKy.mjs} +8 -7
- package/.output/server/chunks/build/DiagnosisPanel-BWTpoCKy.mjs.map +1 -0
- package/.output/server/chunks/build/{useAiStatus-CWvIo32Q.mjs → DiagnosisResult-Br3qBLXe.mjs} +14 -36
- 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/{EmptyState-Dtlab7S9.mjs → EmptyState-DC2q_7TD.mjs} +3 -3
- package/.output/server/chunks/build/EmptyState-DC2q_7TD.mjs.map +1 -0
- package/.output/server/chunks/build/{EntityLinks-D3fp57pR.mjs → EntityLinks-CF0xG3Y8.mjs} +6 -6
- package/.output/server/chunks/build/EntityLinks-CF0xG3Y8.mjs.map +1 -0
- package/.output/server/chunks/build/{EnvManagedBadge-Bg3FSiU1.mjs → EnvManagedBadge-UwD2b9v2.mjs} +3 -3
- package/.output/server/chunks/build/EnvManagedBadge-UwD2b9v2.mjs.map +1 -0
- 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/MetaStripGroup-dXXa_MzF.mjs +1205 -0
- 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/{Modal-Ck2XLt8d.mjs → Modal-pSDlXzT3.mjs} +2 -2
- package/.output/server/chunks/build/Modal-pSDlXzT3.mjs.map +1 -0
- package/.output/server/chunks/build/{useSettingsNav-C3O866KC.mjs → NavigationMenu-cqpt11Ce.mjs} +6 -29
- package/.output/server/chunks/build/NavigationMenu-cqpt11Ce.mjs.map +1 -0
- package/.output/server/chunks/build/{OpenInIdeLink-C4MXA8ya.mjs → OpenInIdeLink-B9wvQkhy.mjs} +5 -5
- package/.output/server/chunks/build/{OpenInIdeLink-C4MXA8ya.mjs.map → OpenInIdeLink-B9wvQkhy.mjs.map} +1 -1
- package/.output/server/chunks/build/{ProjectTestCasesTable-CxfQ5wtN.mjs → ProjectTestCasesTable-BwHEtZTz.mjs} +19 -19
- package/.output/server/chunks/build/ProjectTestCasesTable-BwHEtZTz.mjs.map +1 -0
- package/.output/server/chunks/build/{RovingFocusItem-BJSzTBjy.mjs → RovingFocusItem--OEHI2P3.mjs} +2 -2
- package/.output/server/chunks/build/RovingFocusItem--OEHI2P3.mjs.map +1 -0
- package/.output/server/chunks/build/{RunReports-DFLv51TX.mjs → RunReports-BDRIWn3o.mjs} +3 -3
- 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-CUqj50wi.mjs → Select-CVctwpib.mjs} +3 -3
- package/.output/server/chunks/build/Select-CVctwpib.mjs.map +1 -0
- package/.output/server/chunks/build/{SelectMenu-Db7osY7J.mjs → SelectMenu-XLVBEa11.mjs} +939 -7
- package/.output/server/chunks/build/{SelectMenu-Db7osY7J.mjs.map → SelectMenu-XLVBEa11.mjs.map} +1 -1
- package/.output/server/chunks/build/{SettingsField-D6iEYbEc.mjs → SettingsField-DvtRvI6O.mjs} +4 -4
- package/.output/server/chunks/build/SettingsField-DvtRvI6O.mjs.map +1 -0
- package/.output/server/chunks/build/{Slideover-DgCa80mf.mjs → Slideover-D270EZZD.mjs} +3 -3
- package/.output/server/chunks/build/Slideover-D270EZZD.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-CgUioOYB.mjs → Switch-8zWfwI5B.mjs} +3 -3
- 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/{Tabs-Bbsg9wag.mjs → Tabs-BkSOnbaB.mjs} +2 -2
- package/.output/server/chunks/build/Tabs-BkSOnbaB.mjs.map +1 -0
- package/.output/server/chunks/build/{TestCaseHistoryChart-nMLPhdvD.mjs → TestCaseHistoryChart-C6t5RrCG.mjs} +6 -6
- 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-j6h2Jp6A.mjs → TestStatusBar-DhbrM_rQ.mjs} +4 -4
- 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-BOazooWP.mjs → Tooltip-Dv4htNP6.mjs} +3 -3
- package/.output/server/chunks/build/Tooltip-Dv4htNP6.mjs.map +1 -0
- package/.output/server/chunks/build/{VisuallyHiddenInput-D6kBJxVd.mjs → VisuallyHiddenInput-BHvzNumK.mjs} +2 -2
- package/.output/server/chunks/build/VisuallyHiddenInput-BHvzNumK.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-z5N6HPyC.mjs → _id_-2PMH6rl8.mjs} +26 -25
- package/.output/server/chunks/build/_id_-2PMH6rl8.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-BHh65pfg.mjs → _id_-8cGIgeg6.mjs} +1912 -1098
- package/.output/server/chunks/build/_id_-8cGIgeg6.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-Rzkqx55x.mjs → _id_-CUZ5S6y5.mjs} +43 -44
- package/.output/server/chunks/build/_id_-CUZ5S6y5.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-B78ky13D.mjs → _id_-DMkgWSLZ.mjs} +956 -429
- package/.output/server/chunks/build/_id_-DMkgWSLZ.mjs.map +1 -0
- package/.output/server/chunks/build/about-D3WXTDro.mjs +696 -0
- 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-B4VJ9K1K.mjs → ai-C23R9l94.mjs} +18 -18
- package/.output/server/chunks/build/{ai-B4VJ9K1K.mjs.map → ai-C23R9l94.mjs.map} +1 -1
- package/.output/server/chunks/build/{analytics-CJPC6t4L.mjs → analytics-DQHeToK0.mjs} +106 -80
- 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-zvbFgDJG.mjs → default-CeyePZ5I.mjs} +624 -79
- package/.output/server/chunks/build/default-CeyePZ5I.mjs.map +1 -0
- package/.output/server/chunks/build/{docs-DyuVEgtB.mjs → docs-f_bnC75q.mjs} +17 -17
- package/.output/server/chunks/build/{docs-DyuVEgtB.mjs.map → docs-f_bnC75q.mjs.map} +1 -1
- package/.output/server/chunks/build/{edit-CFR5g2Qf.mjs → edit-BOC4zWuH.mjs} +13 -15
- 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-CZo3djDi.mjs → import-CC27wEIu.mjs} +14 -14
- package/.output/server/chunks/build/import-CC27wEIu.mjs.map +1 -0
- package/.output/server/chunks/build/{index-gCw_y4ZJ.mjs → index-B6PjfyTY.mjs} +44 -543
- 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-D7fe97l3.mjs → index-BhS1DuCr.mjs} +400 -151
- package/.output/server/chunks/build/index-BhS1DuCr.mjs.map +1 -0
- package/.output/server/chunks/build/{index-Stqw0dEI.mjs → index-DUmjP3Gr.mjs} +18 -19
- 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-B3IUvRgD.mjs → mcp-WTeO5WRo.mjs} +528 -16
- package/.output/server/chunks/build/mcp-WTeO5WRo.mjs.map +1 -0
- package/.output/server/chunks/build/{notifications-abDv0id8.mjs → notifications-yY6ik-fi.mjs} +11 -11
- package/.output/server/chunks/build/notifications-yY6ik-fi.mjs.map +1 -0
- package/.output/server/chunks/build/{pr-feedback-DjZID6q-.mjs → pr-feedback-Hv2Ydh_6.mjs} +8 -8
- 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-Du7YqF8i.mjs → settings-DIpvnY8_.mjs} +11 -9
- 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-B4vzxd8G.mjs → storage-gAbY1KbQ.mjs} +13 -13
- 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-DUvaO1He.mjs → test-cases-YP83YlnL.mjs} +21 -21
- 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-BemRsKgv.mjs → useCopyRich-Cd5Yj_Wy.mjs} +721 -239
- package/.output/server/chunks/build/useCopyRich-Cd5Yj_Wy.mjs.map +1 -0
- package/.output/server/chunks/build/{useDesktopDownload-D49JRQSw.mjs → useDesktopDownload-BmR6ouz2.mjs} +3 -3
- package/.output/server/chunks/build/useDesktopDownload-BmR6ouz2.mjs.map +1 -0
- package/.output/server/chunks/build/{useOpenInIde-4GFf-kdi.mjs → useOpenInIde-DolN3bZ5.mjs} +2 -2
- 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/useTauri-Kf3HE_42.mjs +11 -0
- package/.output/server/chunks/build/useTauri-Kf3HE_42.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-lYkx5YO4.mjs → wasted-time-DyIk0olc.mjs} +11 -11
- package/.output/server/chunks/build/wasted-time-DyIk0olc.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +3124 -1782
- 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 +89 -0
- package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +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 +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +2 -1
- package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +2 -1
- 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 +2 -1
- package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +2 -1
- 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.post2.mjs +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 +2 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs +2 -1
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs +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 +2 -1
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs +2 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs +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 +2 -1
- 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 +2 -1
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs +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 +2 -1
- package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +2 -1
- 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 +6 -3
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +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 -2
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs +5 -128
- 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 +4 -1
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs +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/-09h6CA9.js +0 -1
- package/.output/public/_nuxt/81InBX9v.js +0 -1
- package/.output/public/_nuxt/Ar3IelOY.js +0 -1
- package/.output/public/_nuxt/B33iXw77.js +0 -1
- package/.output/public/_nuxt/B3B9Ii2A.js +0 -1
- package/.output/public/_nuxt/B3HO8kuh.js +0 -1
- package/.output/public/_nuxt/B7NBP1C-.js +0 -1
- package/.output/public/_nuxt/BJ0XQElc.js +0 -1
- package/.output/public/_nuxt/BSIxhGsh.js +0 -1
- package/.output/public/_nuxt/BVaxh6Nl.js +0 -4
- package/.output/public/_nuxt/Bc8mOoz9.js +0 -4
- package/.output/public/_nuxt/BeLWlVK0.js +0 -1
- package/.output/public/_nuxt/Bn0YQDyy.js +0 -1
- package/.output/public/_nuxt/Bp5ELvx9.js +0 -1
- package/.output/public/_nuxt/BpUaY9nH.js +0 -2
- package/.output/public/_nuxt/C2_3mdPC.js +0 -1
- package/.output/public/_nuxt/C5iG7O4O.js +0 -64
- package/.output/public/_nuxt/CHNwfU1y.js +0 -1
- package/.output/public/_nuxt/CNFYDQmj.js +0 -1
- package/.output/public/_nuxt/CU5S9GCh.js +0 -1
- package/.output/public/_nuxt/CUtJobDm.js +0 -1
- package/.output/public/_nuxt/CpjgB2aY.js +0 -1
- package/.output/public/_nuxt/CrwJAwhk.js +0 -1
- package/.output/public/_nuxt/CtQBsNUb.js +0 -1
- package/.output/public/_nuxt/CuSVQEkS.js +0 -3
- package/.output/public/_nuxt/CylWPruw.js +0 -1
- package/.output/public/_nuxt/CzGyac8q.js +0 -1
- package/.output/public/_nuxt/DDDpCFpF.js +0 -1
- package/.output/public/_nuxt/DVDXJYq2.js +0 -2
- package/.output/public/_nuxt/DW0xl3I6.js +0 -17
- package/.output/public/_nuxt/Dgf5N4Ng.js +0 -1
- package/.output/public/_nuxt/DiZyJYez.js +0 -1
- package/.output/public/_nuxt/Dk9fwOCm.js +0 -34
- package/.output/public/_nuxt/DoUy4UHi.js +0 -44
- package/.output/public/_nuxt/DslPMqfa.js +0 -1
- package/.output/public/_nuxt/OSduWzyz.js +0 -1
- package/.output/public/_nuxt/SlIRLREZ.js +0 -6
- package/.output/public/_nuxt/WsxFTEFq.js +0 -10
- package/.output/public/_nuxt/aQgs_c6e.js +0 -9
- package/.output/public/_nuxt/builds/meta/ab473028-4b37-4884-b243-b8f6e5046e5e.json +0 -1
- package/.output/public/_nuxt/dYCKgE-3.js +0 -5
- package/.output/public/_nuxt/entry.CPhW41mh.css +0 -1
- package/.output/public/_nuxt/g26aVPxc.js +0 -1
- package/.output/public/_nuxt/zQyPuvV1.js +0 -1
- package/.output/server/chunks/_/import-runs.mjs +0 -351
- package/.output/server/chunks/_/import-runs.mjs.map +0 -1
- package/.output/server/chunks/build/Breadcrumb-Ak2Lg3oM.mjs.map +0 -1
- package/.output/server/chunks/build/BreadcrumbNav-DO7I_z-n.mjs.map +0 -1
- package/.output/server/chunks/build/BrowserBadge-D33lqUcj.mjs.map +0 -1
- package/.output/server/chunks/build/ChartCard-Y1UKwMsf.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-DvUBGagc.mjs.map +0 -1
- package/.output/server/chunks/build/CiEnvCard-CrjOM17n.mjs +0 -631
- package/.output/server/chunks/build/CiEnvCard-CrjOM17n.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-B646dK4p.mjs.map +0 -1
- package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs.map +0 -1
- package/.output/server/chunks/build/EmptyState-Dtlab7S9.mjs.map +0 -1
- package/.output/server/chunks/build/EntityLinks-D3fp57pR.mjs.map +0 -1
- package/.output/server/chunks/build/EnvManagedBadge-Bg3FSiU1.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/Modal-Ck2XLt8d.mjs.map +0 -1
- package/.output/server/chunks/build/ProjectTestCasesTable-CxfQ5wtN.mjs.map +0 -1
- package/.output/server/chunks/build/RovingFocusItem-BJSzTBjy.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-CUqj50wi.mjs.map +0 -1
- package/.output/server/chunks/build/SettingsField-D6iEYbEc.mjs.map +0 -1
- package/.output/server/chunks/build/Slideover-DgCa80mf.mjs.map +0 -1
- package/.output/server/chunks/build/StatTile-D61Vzo6e.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-CgUioOYB.mjs.map +0 -1
- package/.output/server/chunks/build/Tabs-Bbsg9wag.mjs.map +0 -1
- package/.output/server/chunks/build/TestCaseHistoryChart-nMLPhdvD.mjs.map +0 -1
- package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs.map +0 -1
- package/.output/server/chunks/build/TestStatusBar-j6h2Jp6A.mjs.map +0 -1
- package/.output/server/chunks/build/Textarea-Dv2-lOvW.mjs.map +0 -1
- package/.output/server/chunks/build/Tooltip-BOazooWP.mjs.map +0 -1
- package/.output/server/chunks/build/VisuallyHiddenInput-D6kBJxVd.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-B78ky13D.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-BHh65pfg.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-Rzkqx55x.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-z5N6HPyC.mjs.map +0 -1
- package/.output/server/chunks/build/about-CvSP73Ug.mjs +0 -781
- package/.output/server/chunks/build/about-CvSP73Ug.mjs.map +0 -1
- package/.output/server/chunks/build/account-DAfvaD-F.mjs.map +0 -1
- package/.output/server/chunks/build/analytics-CJPC6t4L.mjs.map +0 -1
- package/.output/server/chunks/build/db.client-CQoVTYB9.mjs.map +0 -1
- package/.output/server/chunks/build/default-zvbFgDJG.mjs.map +0 -1
- package/.output/server/chunks/build/edit-CFR5g2Qf.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-CZo3djDi.mjs.map +0 -1
- package/.output/server/chunks/build/index-CU2nZhAa.mjs.map +0 -1
- package/.output/server/chunks/build/index-D7fe97l3.mjs.map +0 -1
- package/.output/server/chunks/build/index-Stqw0dEI.mjs.map +0 -1
- package/.output/server/chunks/build/index-gCw_y4ZJ.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-B3IUvRgD.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-abDv0id8.mjs.map +0 -1
- package/.output/server/chunks/build/pr-feedback-DjZID6q-.mjs.map +0 -1
- package/.output/server/chunks/build/reset-password-BmrUS4ZD.mjs.map +0 -1
- package/.output/server/chunks/build/settings-Du7YqF8i.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-DrEqWcW-.mjs.map +0 -1
- package/.output/server/chunks/build/storage-B4vzxd8G.mjs.map +0 -1
- package/.output/server/chunks/build/tags-DauTe_F-.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-DUvaO1He.mjs.map +0 -1
- package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs.map +0 -1
- package/.output/server/chunks/build/useAiStatus-CWvIo32Q.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-BemRsKgv.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopDownload-D49JRQSw.mjs.map +0 -1
- package/.output/server/chunks/build/useOpenInIde-4GFf-kdi.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-C3O866KC.mjs.map +0 -1
- package/.output/server/chunks/build/useTauri-lRT8zkLv.mjs +0 -7
- package/.output/server/chunks/build/useTauri-lRT8zkLv.mjs.map +0 -1
- package/.output/server/chunks/build/users-CTUqXyGh.mjs.map +0 -1
- package/.output/server/chunks/build/virtualizer-Cd1hhlxC.mjs +0 -940
- package/.output/server/chunks/build/virtualizer-Cd1hhlxC.mjs.map +0 -1
- package/.output/server/chunks/build/wasted-time-lYkx5YO4.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as f}from"./9ti9eNH9.js";import{_ as b}from"./B_13C0GF.js";import{_ as h}from"./COhdybDy.js";import{_ as j,a as x}from"./DQM62mxB.js";import{_ as y}from"./D2pBhsH8.js";import{d as C,u as $,w as v,e as w,f as P,g as a,h as g,o as k,i as B,j as e,k as o,r as N}from"./DCFbQvIN.js";import{u as R}from"./E-_n_6vi.js";import"./C2hNxjjz.js";import"./BrxtP_cN.js";import"./CIEceDOw.js";import"./Dsvu7YJT.js";import"./DdH3op4b.js";import"./Dk9nD32g.js";import"./D_eDAIsT.js";import"./DkT2nCqn.js";import"./CtstIQSh.js";import"./Ebw5l7n8.js";import"./DfSBKzrC.js";import"./BAKUqW95.js";import"./IPePdbzl.js";import"./LHoUGrfi.js";import"./CFTZwazK.js";import"./BfTNbVc_.js";import"./CTP8Pw0-.js";import"./DqEOMteW.js";import"./B3Fsod9X.js";import"./BpM6ZPIG.js";import"./BjaRappk.js";import"./Cpsq-kYE.js";import"./lGC893pn.js";const D={class:"p-4"},_o=C({__name:"test-cases",async setup(T){let r,n;const i=$(),s=String(i.params.id),{data:t}=([r,n]=v(()=>R(`/api/projects/${s}`,"$yKRg49mBCi")),r=await r,n(),r),c=N(null);return w(g(()=>({title:`${t.value?.label||t.value?.name||"Project"} — Test cases — Piwi Dashboard`}))),(U,A)=>{const m=f,p=b,_=h,l=x,u=y,d=j;return k(),P(d,{id:"project-test-cases"},{header:a(()=>[e(l,null,{leading:a(()=>[e(m),e(p,{items:[{label:"Home",icon:"i-lucide-house",to:"/"},{label:"Projects",to:"/projects"},{label:o(t)?.label||o(t)?.name||"Project",to:`/projects/${o(s)}`},{label:"Test cases"}]},null,8,["items"])]),right:a(()=>[e(_,{actions:[{label:"Refresh",icon:"i-lucide-refresh-cw",onClick:()=>o(c)?.refresh()}]},null,8,["actions"])]),_:1})]),body:a(()=>[B("div",D,[e(u,{ref_key:"tableRef",ref:c,"project-id":o(s),"project-name":o(t)?.name,"sync-query":""},null,8,["project-id","project-name"])])]),_:1})}}});export{_o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as a,o,c as n,i as l,V as s,
|
|
1
|
+
import{d as a,o,c as n,i as l,V as s,R as i,q as m}from"./DCFbQvIN.js";const r=a({__name:"TableScroller",props:{minWidth:{},bleed:{type:Boolean,default:!0}},setup(e){return(t,c)=>(o(),n("div",{class:m(["overflow-x-auto",e.bleed?"-mx-4 px-4 sm:mx-0 sm:px-0":""])},[l("div",{style:i(e.minWidth?{minWidth:e.minWidth}:void 0)},[s(t.$slots,"default")],4)],2))}}),u=Object.assign(r,{__name:"TableScroller"});export{u as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r}from"./
|
|
1
|
+
import{r}from"./DCFbQvIN.js";function n(i){const o=`piwi-tree-view-${i}`,t=r(!1);try{const e=document.cookie.match(new RegExp(`(?:^|;\\s*)${o}=([^;]*)`));e&&(t.value=e[1]==="true")}catch{}function c(e){t.value=e,document.cookie=`${o}=${e}; path=/; max-age=31536000; sameSite=lax`}return{treeView:t,setTreeView:c}}export{n as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as ee,w as te,b as oe,O as ae,c as w,i as n,k as t,f as u,g as s,j as a,F as le,D as se,o as d,_ as ne,v as m,t as j,R as re,p as ie,E as ce,P as M,ak as S,m as q,h as P,r as v,M as B,A as de}from"./DCFbQvIN.js";import{_ as ue}from"./B-zdP-D4.js";import{_ as me}from"./CTP8Pw0-.js";import{_ as pe}from"./B3Fsod9X.js";import{_ as ge}from"./zv8WdMx0.js";import{_ as fe}from"./DON74Yh6.js";import{_ as xe}from"./oKrbs1XK.js";import{p as _e}from"./BAKUqW95.js";import{u as ve}from"./E-_n_6vi.js";import{o as be,s as N}from"./DGnQ69wW.js";import"./DqEOMteW.js";import"./BpM6ZPIG.js";import"./BjaRappk.js";import"./Cpsq-kYE.js";import"./NERLHpOL.js";const ye={class:"space-y-6"},Te={class:"flex items-center gap-2"},ke={class:"text-sm font-mono text-muted"},Ce={class:"text-sm text-muted"},he={class:"flex gap-1 justify-end"},$e={class:"text-center py-12"},Ae={class:"flex justify-center mb-4"},Ue={class:"flex items-center gap-3"},Ve={key:0,class:"mt-2"},we={class:"flex items-center gap-3"},De={key:0,class:"mt-2"},b="#6366f1",Ge=ee({__name:"tags",async setup(Ee){let y,D;const{data:z,refresh:A}=([y,D]=te(()=>ve("/api/tags","$WIWNTsOq96")),y=await y,D(),y),p=oe(),{authState:I}=ae(),K=de(),U=P(()=>z.value?.tags||[]),T=P(()=>K.public.authEnabled?I.value.user?.role==="administrator":!0),L=[{accessorKey:"text",header:"Tag"},{accessorKey:"color",header:"Color"},{accessorKey:"createdAt",header:"Created"},{accessorKey:"actions",header:""}],g=v(!1),E=be({text:N().min(1,"Tag text is required").max(50,"Tag text must be at most 50 characters"),color:N().min(1,"Color is required")}),r=B({text:"",color:b}),x=v(!1),k=v(null),i=B({text:"",color:b});function R(l){k.value=l,i.text=l.text,i.color=l.color,x.value=!0}async function W(){try{await $fetch("/api/tags",{method:"POST",body:r}),p.add({title:"Tag created",description:`Tag "${r.text}" has been created successfully`,color:"success"}),g.value=!1,r.text="",r.color=b,await A()}catch(l){const e=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;p.add({title:"Failed to create tag",description:e||"An error occurred",color:"error"})}}async function G(){if(k.value)try{await $fetch(`/api/tags/${k.value.id}`,{method:"PUT",body:{text:i.text,color:i.color}}),p.add({title:"Tag updated",description:"Tag has been updated successfully",color:"success"}),x.value=!1,k.value=null,await A()}catch(l){const e=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;p.add({title:"Failed to update tag",description:e||"An error occurred",color:"error"})}}const _=v(!1),f=v(null);function H(l){f.value=l,_.value=!0}async function J(){const l=f.value;if(l){_.value=!1,f.value=null;try{await $fetch(`/api/tags/${l.id}`,{method:"DELETE"}),p.add({title:"Tag deleted",description:`Tag "${l.text}" has been deleted`,color:"success"}),await A()}catch(e){const c=e&&typeof e=="object"&&"data"in e?e.data?.message:void 0;p.add({title:"Failed to delete tag",description:c||"An error occurred",color:"error"})}}}return(l,e)=>{const c=ne,C=ue,Q=me,F=pe,X=ie,h=ce,$=ge,O=fe,V=xe,Y=se;return d(),w(le,null,[n("div",ye,[t(U).length>0?(d(),u(F,{key:0,title:"Tags",count:t(U).length,help:"settings.tags"},{actions:s(()=>[t(T)?(d(),u(c,{key:0,label:"Add tag",icon:"i-lucide-tag",size:"sm",onClick:e[0]||(e[0]=o=>g.value=!0)})):m("",!0)]),default:s(()=>[a(Q,{data:t(U),columns:L},{"text-cell":s(({row:o})=>[a(C,{text:o.original.text,color:o.original.color},null,8,["text","color"])]),"color-cell":s(({row:o})=>[n("div",Te,[n("span",{class:"inline-block w-4 h-4 rounded-full border border-black/10",style:re({backgroundColor:o.original.color})},null,4),n("span",ke,j(o.original.color),1)])]),"createdAt-cell":s(({row:o})=>[n("span",Ce,j(("prettyDateFormat"in l?l.prettyDateFormat:t(_e))(o.original.createdAt,{dateOnly:!0})),1)]),"actions-cell":s(({row:o})=>[n("div",he,[t(T)?(d(),u(c,{key:0,icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"sm",onClick:Z=>R(o.original)},null,8,["onClick"])):m("",!0),t(T)?(d(),u(c,{key:1,icon:"i-lucide-trash-2",color:"error",variant:"ghost",size:"sm",onClick:Z=>H(o.original)},null,8,["onClick"])):m("",!0)])]),_:1},8,["data"])]),_:1},8,["count"])):(d(),u(F,{key:1,title:"Tags",count:0,help:"settings.tags"},{default:s(()=>[n("div",$e,[n("div",Ae,[a(X,{name:"i-lucide-tags",class:"text-4xl text-muted"})]),e[14]||(e[14]=n("h3",{class:"text-lg font-semibold mb-2"},"No tags yet",-1)),e[15]||(e[15]=n("p",{class:"text-muted mb-4"},"Create tags to categorize and filter your projects",-1)),t(T)?(d(),u(c,{key:0,label:"Add tag",icon:"i-lucide-tag",onClick:e[1]||(e[1]=o=>g.value=!0)})):m("",!0)])]),_:1}))]),a(Y,null,{default:s(()=>[a(V,{open:t(g),title:"Add new tag","onUpdate:open":e[6]||(e[6]=o=>g.value=o)},{body:s(()=>[a(O,{schema:t(E),state:t(r)},{default:s(()=>[a($,{label:"Tag text",name:"text",required:"",class:"mb-4"},{default:s(()=>[a(h,{modelValue:t(r).text,"onUpdate:modelValue":e[2]||(e[2]=o=>t(r).text=o),placeholder:"Enter tag name"},null,8,["modelValue"])]),_:1}),a($,{label:"Color",name:"color",required:"",class:"mb-4"},{default:s(()=>[n("div",Ue,[M(n("input",{"onUpdate:modelValue":e[3]||(e[3]=o=>t(r).color=o),type:"color",class:"w-10 h-10 rounded cursor-pointer border border-default","aria-label":"Pick tag color"},null,512),[[S,t(r).color]]),a(h,{modelValue:t(r).color,"onUpdate:modelValue":e[4]||(e[4]=o=>t(r).color=o),class:"flex-1 font-mono",placeholder:"#6366f1"},null,8,["modelValue"])])]),_:1}),t(r).text?(d(),w("div",Ve,[e[16]||(e[16]=n("span",{class:"text-sm text-muted mr-2"},"Preview:",-1)),a(C,{text:t(r).text,color:t(r).color||b},null,8,["text","color"])])):m("",!0)]),_:1},8,["schema","state"])]),footer:s(()=>[a(c,{type:"button",color:"neutral",variant:"ghost",label:"Cancel",onClick:e[5]||(e[5]=o=>g.value=!1)}),a(c,{type:"submit",label:"Create tag",icon:"i-lucide-tag",onClick:W})]),_:1},8,["open"]),a(V,{open:t(x),title:"Edit tag","onUpdate:open":e[11]||(e[11]=o=>x.value=o)},{body:s(()=>[a(O,{schema:t(E),state:t(i)},{default:s(()=>[a($,{label:"Tag text",name:"text",required:"",class:"mb-4"},{default:s(()=>[a(h,{modelValue:t(i).text,"onUpdate:modelValue":e[7]||(e[7]=o=>t(i).text=o),placeholder:"Enter tag name"},null,8,["modelValue"])]),_:1}),a($,{label:"Color",name:"color",required:"",class:"mb-4"},{default:s(()=>[n("div",we,[M(n("input",{"onUpdate:modelValue":e[8]||(e[8]=o=>t(i).color=o),type:"color",class:"w-10 h-10 rounded cursor-pointer border border-default","aria-label":"Pick tag color"},null,512),[[S,t(i).color]]),a(h,{modelValue:t(i).color,"onUpdate:modelValue":e[9]||(e[9]=o=>t(i).color=o),class:"flex-1 font-mono",placeholder:"#6366f1"},null,8,["modelValue"])])]),_:1}),t(i).text?(d(),w("div",De,[e[17]||(e[17]=n("span",{class:"text-sm text-muted mr-2"},"Preview:",-1)),a(C,{text:t(i).text,color:t(i).color||b},null,8,["text","color"])])):m("",!0)]),_:1},8,["schema","state"])]),footer:s(()=>[a(c,{type:"button",color:"neutral",variant:"ghost",label:"Cancel",onClick:e[10]||(e[10]=o=>x.value=!1)}),a(c,{type:"submit",label:"Save changes",icon:"i-lucide-check",onClick:G})]),_:1},8,["open"]),a(V,{open:t(_),title:"Delete tag","onUpdate:open":e[13]||(e[13]=o=>_.value=o)},{body:s(()=>[n("p",null,[e[18]||(e[18]=q(" Are you sure you want to delete tag ",-1)),t(f)?(d(),u(C,{key:0,text:t(f).text,color:t(f).color,class:"inline-flex"},null,8,["text","color"])):m("",!0),e[19]||(e[19]=q("? It will be removed from all projects. ",-1))])]),footer:s(()=>[a(c,{color:"neutral",variant:"ghost",label:"Cancel",onClick:e[12]||(e[12]=o=>_.value=!1)}),a(c,{color:"error",label:"Delete",icon:"i-lucide-trash-2",onClick:J})]),_:1},8,["open"])]),_:1})],64)}}});export{Ge as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as O,Z,Y as ee,V as f,k as e,r as R,$ as te,U as B,o as r,f as i,g as u,W as b,X as I,aB as V,B as G,bx as U,j as k,bI as oe,c3 as ae,bH as se,c4 as N,bF as le,J as j,h as F,P as x,ae as L,aD as J,bD as re,C as ne,v as g,a0 as Q,a1 as X,bM as ue,a2 as ie,a3 as de,a4 as pe,a5 as fe,a6 as ce,a7 as ve,bN as ye,b7 as z,b6 as me,c1 as _e,bW as ge,m as A,t as M,c as E,q as h,_ as De,bQ as be,F as Oe,a8 as Ce,c5 as qe}from"./DCFbQvIN.js";const[w,Be]=te("DialogRoot");var we=O({inheritAttrs:!1,__name:"DialogRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1,default:!0}},emits:["update:open"],setup(d,{emit:n}){const a=d,o=Z(a,"open",n,{defaultValue:a.defaultOpen,passive:a.open===void 0}),t=R(),y=R(),{modal:p,unmountOnHide:c}=ee(a);return Be({open:o,modal:p,unmountOnHide:c,openModal:()=>{o.value=!0},onOpenChange:l=>{o.value=l},onOpenToggle:()=>{o.value=!o.value},contentId:"",titleId:"",descriptionId:"",triggerElement:t,contentElement:y}),(l,m)=>f(l.$slots,"default",{open:e(o),close:()=>o.value=!1})}}),he=we,ke=O({__name:"DialogClose",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(d){const n=d;B();const a=w();return(s,o)=>(r(),i(e(I),b(n,{type:s.as==="button"?"button":void 0,onClick:o[0]||(o[0]=t=>e(a).onOpenChange(!1))}),{default:u(()=>[f(s.$slots,"default")]),_:3},16,["type"]))}}),$e=ke,Pe=O({__name:"DialogContentImpl",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(d,{emit:n}){const a=d,s=n,o=w(),{forwardRef:t,currentElement:y}=B();return o.titleId||=V(void 0,"reka-dialog-title"),o.descriptionId||=V(void 0,"reka-dialog-description"),G(()=>{o.contentElement=y,U()!==document.body&&(o.triggerElement.value=U())}),(p,c)=>(r(),i(e(se),{"as-child":"",loop:"",trapped:a.trapFocus,present:a.present,onMountAutoFocus:c[5]||(c[5]=l=>s("openAutoFocus",l)),onUnmountAutoFocus:c[6]||(c[6]=l=>s("closeAutoFocus",l))},{default:u(()=>[k(e(oe),b({id:e(o).contentId,ref:e(t),as:p.as,"as-child":p.asChild,present:a.present,"disable-outside-pointer-events":p.disableOutsidePointerEvents,role:"dialog","aria-describedby":e(o).descriptionId,"aria-labelledby":e(o).titleId,"data-state":e(ae)(e(o).open.value)},p.$attrs,{onDismiss:c[0]||(c[0]=l=>e(o).onOpenChange(!1)),onEscapeKeyDown:c[1]||(c[1]=l=>s("escapeKeyDown",l)),onFocusOutside:c[2]||(c[2]=l=>s("focusOutside",l)),onInteractOutside:c[3]||(c[3]=l=>s("interactOutside",l)),onPointerDownOutside:c[4]||(c[4]=l=>s("pointerDownOutside",l))}),{default:u(()=>[f(p.$slots,"default")]),_:3},16,["id","as","as-child","present","disable-outside-pointer-events","aria-describedby","aria-labelledby","data-state"])]),_:3},8,["trapped","present"]))}}),Y=Pe,Ee=O({__name:"DialogContentModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(d,{emit:n}){const a=d,s=n,o=w(),t=N(s),{forwardRef:y,currentElement:p}=B(),c=F(()=>a.present?p.value:void 0);le(c);const l=F(()=>{const{present:m,...v}=a;return v});return j(()=>a.present,(m,v)=>{!m&&v&&o.triggerElement.value?.focus()}),(m,v)=>(r(),i(Y,b({...l.value,...e(t)},{ref:e(y),present:m.present,"trap-focus":e(o).open.value,"disable-outside-pointer-events":a.disableOutsidePointerEvents,onCloseAutoFocus:v[0]||(v[0]=C=>{C.defaultPrevented||(C.preventDefault(),e(o).triggerElement.value?.focus())}),onPointerDownOutside:v[1]||(v[1]=C=>{const $=C.detail.originalEvent,D=$.button===0&&$.ctrlKey===!0;($.button===2||D)&&C.preventDefault()}),onFocusOutside:v[2]||(v[2]=C=>{C.preventDefault()})}),{default:u(()=>[f(m.$slots,"default")]),_:3},16,["present","trap-focus","disable-outside-pointer-events"]))}}),Fe=Ee,Ie=O({__name:"DialogContentNonModal",props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!0}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(d,{emit:n}){const a=d,o=N(n);B();const t=w(),y=R(!1),p=R(!1),c=F(()=>{const{present:l,...m}=a;return m});return j(()=>a.present,(l,m)=>{!l&&m&&(y.value||t.triggerElement.value?.focus(),y.value=!1,p.value=!1)}),(l,m)=>(r(),i(Y,b({...c.value,...e(o)},{present:l.present,"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:m[0]||(m[0]=v=>{v.defaultPrevented||(y.value||e(t).triggerElement.value?.focus(),v.preventDefault()),y.value=!1,p.value=!1}),onInteractOutside:m[1]||(m[1]=v=>{v.defaultPrevented||(y.value=!0,v.detail.originalEvent.type==="pointerdown"&&(p.value=!0));const C=v.target;e(t).triggerElement.value?.contains(C)&&v.preventDefault(),v.detail.originalEvent.type==="focusin"&&p.value&&v.preventDefault()})}),{default:u(()=>[f(l.$slots,"default")]),_:3},16,["present"]))}}),Ae=Ie,Me=O({__name:"DialogContent",props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:void 0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside","openAutoFocus","closeAutoFocus"],setup(d,{emit:n}){const a=d,s=n,o=w(),t=N(s),{forwardRef:y}=B();return(p,c)=>(r(),i(e(J),{present:p.forceMount||e(o).open.value,"force-mount":p.forceMount||!e(o).unmountOnHide.value},{default:u(({present:l})=>[e(o).modal.value?x((r(),i(Fe,b({key:0,ref:e(y),present:e(o).unmountOnHide.value||l},{...a,...e(t),...p.$attrs}),{default:u(()=>[f(p.$slots,"default")]),_:2},1040,["present"])),[[L,e(o).unmountOnHide.value||l]]):x((r(),i(Ae,b({key:1,ref:e(y),present:e(o).unmountOnHide.value||l},{...a,...e(t),...p.$attrs}),{default:u(()=>[f(p.$slots,"default")]),_:2},1040,["present"])),[[L,e(o).unmountOnHide.value||l]])]),_:3},8,["present","force-mount"]))}}),Re=Me,He=O({__name:"DialogDescription",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"p"}},setup(d){const n=d;B();const a=w();return(s,o)=>(r(),i(e(I),b(n,{id:e(a).descriptionId}),{default:u(()=>[f(s.$slots,"default")]),_:3},16,["id"]))}}),S=He,Te=O({__name:"DialogOverlayImpl",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1},present:{type:Boolean,required:!1,default:!0}},setup(d){const n=d,a=w(),s=re(n.present);return j(()=>n.present,o=>s.value=o),B(),(o,t)=>(r(),i(e(I),{as:o.as,"as-child":o.asChild,"data-state":e(a).open.value?"open":"closed",style:{"pointer-events":"auto"},onPointerdown:t[0]||(t[0]=ne(()=>{},["left","self","prevent"]))},{default:u(()=>[f(o.$slots,"default")]),_:3},8,["as","as-child","data-state"]))}}),Se=Te,Ke=O({__name:"DialogOverlay",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(d){const n=w(),{forwardRef:a}=B();return(s,o)=>e(n)?.modal.value?(r(),i(e(J),{key:0,present:s.forceMount||e(n).open.value,"force-mount":s.forceMount||!e(n).unmountOnHide.value},{default:u(({present:t})=>[x(k(Se,b(s.$attrs,{ref:e(a),as:s.as,"as-child":s.asChild,present:e(n).unmountOnHide.value||t}),{default:u(()=>[f(s.$slots,"default")]),_:2},1040,["as","as-child","present"]),[[L,e(n).unmountOnHide.value||t]])]),_:3},8,["present","force-mount"])):g("v-if",!0)}}),W=Ke,Ve=O({__name:"DialogPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(d){const n=d;return(a,s)=>(r(),i(e(ue),Q(X(n)),{default:u(()=>[f(a.$slots,"default")]),_:3},16))}}),xe=Ve,Le=O({__name:"DialogTitle",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"h2"}},setup(d){const n=d,a=w();return B(),(s,o)=>(r(),i(e(I),b(n,{id:e(a).titleId}),{default:u(()=>[f(s.$slots,"default")]),_:3},16,["id"]))}}),K=Le,Ne=O({__name:"DialogTrigger",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(d){const n=d,a=w(),{forwardRef:s,currentElement:o}=B();return a.contentId||=V(void 0,"reka-dialog-content"),G(()=>{a.triggerElement.value=o.value}),(t,y)=>(r(),i(e(I),b(n,{ref:e(s),type:t.as==="button"?"button":void 0,"aria-haspopup":"dialog","aria-expanded":e(a).open.value||!1,"aria-controls":e(a).open.value?e(a).contentId:void 0,"data-state":e(a).open.value?"open":"closed",onClick:e(a).onOpenToggle}),{default:u(()=>[f(t.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","onClick"]))}}),je=Ne;const Ue={slots:{overlay:"fixed inset-0",content:"bg-default divide-y divide-default flex flex-col focus:outline-none",header:"flex items-center gap-1.5 p-4 sm:px-6 min-h-(--ui-header-height)",wrapper:"",body:"flex-1 p-4 sm:p-6",footer:"flex items-center gap-1.5 p-4 sm:px-6",title:"text-highlighted font-semibold",description:"mt-1 text-muted text-sm",close:"absolute top-4 end-4"},variants:{transition:{true:{overlay:"data-[state=open]:animate-[fade-in_200ms_ease-out] data-[state=closed]:animate-[fade-out_200ms_ease-in]",content:"data-[state=open]:animate-[scale-in_200ms_ease-out] data-[state=closed]:animate-[scale-out_200ms_ease-in]"}},fullscreen:{true:{content:"inset-0"},false:{content:"w-[calc(100vw-2rem)] max-w-lg rounded-lg shadow-lg ring ring-default"}},overlay:{true:{overlay:"bg-elevated/75"}},scrollable:{true:{overlay:"overflow-y-auto",content:"relative"},false:{content:"fixed",body:"overflow-y-auto"}}},compoundVariants:[{scrollable:!0,fullscreen:!1,class:{overlay:"grid place-items-center p-4 sm:py-8"}},{scrollable:!1,fullscreen:!1,class:{content:"top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 max-h-[calc(100dvh-2rem)] sm:max-h-[calc(100dvh-4rem)] overflow-hidden"}}]},We={__name:"UModal",props:{title:{type:String,required:!1},description:{type:String,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},scrollable:{type:Boolean,required:!1},transition:{type:Boolean,required:!1,default:!0},fullscreen:{type:Boolean,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},close:{type:[Boolean,Object],required:!1,default:!0},closeIcon:{type:null,required:!1},dismissible:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},modal:{type:Boolean,required:!1,default:!0},unmountOnHide:{type:Boolean,required:!1}},emits:["leave","after:leave","enter","after:enter","close:prevent","update:open"],setup(d,{emit:n}){const a=d,s=n,o=ie(),t=de("modal",a),{t:y}=pe(),p=fe(),c=ce(ve(t,"open","defaultOpen","modal","unmountOnHide"),s),l=ye(z(()=>t.portal)),m=z(()=>t.content),v=F(()=>t.dismissible?{pointerDownOutside:_=>qe(_,{scrollable:t.scrollable})}:["interactOutside","escapeKeyDown"].reduce((q,H)=>(q[H]=P=>{P.preventDefault(),s("close:prevent")},q),{})),[C,$]=me(),D=F(()=>Ce({extend:Ue,...p.ui?.modal||{}})({transition:t.transition,fullscreen:t.fullscreen,overlay:t.overlay,scrollable:t.scrollable}));return(_,q)=>(r(),i(e(he),Q(X(e(c))),{default:u(({open:H,close:P})=>[k(e(C),null,{default:u(()=>[k(e(Re),b({"data-slot":"content",class:D.value.content({class:[!o.default&&e(t).class,e(t).ui?.content]})},m.value,{onEnter:q[0]||(q[0]=T=>s("enter")),onAfterEnter:q[1]||(q[1]=T=>s("after:enter")),onLeave:q[2]||(q[2]=T=>s("leave")),onAfterLeave:q[3]||(q[3]=T=>s("after:leave"))},_e(v.value)),{default:u(()=>[!e(t).title&&!o.title||!e(t).description&&!o.description||o.content?(r(),i(e(ge),{key:0},{default:u(()=>[!e(t).title&&!o.title?(r(),i(e(K),{key:0})):o.content?(r(),i(e(K),{key:1},{default:u(()=>[f(_.$slots,"title",{},()=>[A(M(e(t).title),1)])]),_:3})):g("",!0),!e(t).description&&!o.description?(r(),i(e(S),{key:2})):o.content?(r(),i(e(S),{key:3},{default:u(()=>[f(_.$slots,"description",{},()=>[A(M(e(t).description),1)])]),_:3})):g("",!0)]),_:3})):g("",!0),f(_.$slots,"content",{close:P},()=>[o.header||e(t).title||o.title||e(t).description||o.description||e(t).close||o.close?(r(),E("div",{key:0,"data-slot":"header",class:h(D.value.header({class:e(t).ui?.header}))},[f(_.$slots,"header",{close:P},()=>[e(t).title||o.title||e(t).description||o.description?(r(),E("div",{key:0,"data-slot":"wrapper",class:h(D.value.wrapper({class:e(t).ui?.wrapper}))},[e(t).title||o.title?(r(),i(e(K),{key:0,"data-slot":"title",class:h(D.value.title({class:e(t).ui?.title}))},{default:u(()=>[f(_.$slots,"title",{},()=>[A(M(e(t).title),1)])]),_:3},8,["class"])):g("",!0),e(t).description||o.description?(r(),i(e(S),{key:1,"data-slot":"description",class:h(D.value.description({class:e(t).ui?.description}))},{default:u(()=>[f(_.$slots,"description",{},()=>[A(M(e(t).description),1)])]),_:3},8,["class"])):g("",!0)],2)):g("",!0),f(_.$slots,"actions"),e(t).close||o.close?(r(),i(e($e),{key:1,"as-child":""},{default:u(()=>[f(_.$slots,"close",{ui:D.value},()=>[e(t).close?(r(),i(De,b({key:0,icon:e(t).closeIcon||e(p).ui.icons.close,color:"neutral",variant:"ghost","aria-label":e(y)("modal.close")},typeof e(t).close=="object"?e(t).close:{},{"data-slot":"close",class:D.value.close({class:e(t).ui?.close})}),null,16,["icon","aria-label","class"])):g("",!0)])]),_:2},1024)):g("",!0)])],2)):g("",!0),o.body?(r(),E("div",{key:1,"data-slot":"body",class:h(D.value.body({class:e(t).ui?.body}))},[f(_.$slots,"body",{close:P})],2)):g("",!0),o.footer?(r(),E("div",{key:2,"data-slot":"footer",class:h(D.value.footer({class:e(t).ui?.footer}))},[f(_.$slots,"footer",{close:P})],2)):g("",!0)])]),_:2},1040,["class"])]),_:2},1024),o.default?(r(),i(e(je),{key:0,"as-child":"",class:h(e(t).class)},{default:u(()=>[f(_.$slots,"default",{open:H})]),_:2},1032,["class"])):g("",!0),k(e(xe),b(e(l),{"force-mount":e(l).disabled&&e(t).unmountOnHide===!1||void 0}),{default:u(()=>[k(e(be),null,{default:u(()=>[e(t).scrollable?(r(),i(e(W),{key:0,"data-slot":"overlay",class:h(D.value.overlay({class:e(t).ui?.overlay}))},{default:u(()=>[k(e($))]),_:1},8,["class"])):(r(),E(Oe,{key:1},[e(t).overlay?(r(),i(e(W),{key:0,"data-slot":"overlay",class:h(D.value.overlay({class:e(t).ui?.overlay}))},null,8,["class"])):g("",!0),k(e($))],64))]),_:1})]),_:1},16,["force-mount"])]),_:3},16))}};export{je as D,We as _,xe as a,W as b,Re as c,K as d,S as e,$e as f,he as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c8 as s}from"./DCFbQvIN.js";import{h as o}from"./BjaRappk.js";const c=[{id:"instance",label:"Instance"},{id:"analysis",label:"Analysis"},{id:"meta",label:""}],l=[{id:"account",label:"Account",icon:"i-lucide-user-round",to:"/settings/account",group:"instance",authOnly:!0,fields:[{id:"account.display-name",label:"Display name",help:"account.display-name"},{id:"account.email",label:"Email address",help:"account.email"},{id:"account.connected-accounts",label:"Connected accounts",help:"account.connected-accounts"},{id:"account.password",label:"Password",help:"account.password"},{id:"account.auth-toggle",label:"Authentication",help:"settings.auth-toggle",envOnly:!0}]},{id:"users",label:"Users",icon:"i-lucide-users",to:"/settings/users",group:"instance",roles:[s.ADMINISTRATOR],authOnly:!0,introHelp:"settings.users",fields:[{id:"users.list",label:"Users & roles",help:"settings.users"},{id:"users.api-keys",label:"API keys",help:"settings.api-keys"}]},{id:"notifications",label:"Notifications",icon:"i-lucide-bell",to:"/settings/notifications",group:"instance",fields:[{id:"notifications.smtp",label:"SMTP email delivery",help:"settings.smtp",envOnly:!0},{id:"notifications.test-email",label:"Send test email",help:"notifications.test-email"},{id:"notifications.channels",label:"Notification channels",help:"notifications.channels"},{id:"notifications.subscriptions",label:"My subscriptions",help:"notifications.subscriptions"}]},{id:"tags",label:"Tags",icon:"i-lucide-tags",to:"/settings/tags",group:"analysis",roles:[s.ADMINISTRATOR],introHelp:"settings.tags",fields:[{id:"tags.list",label:"Tags",help:"settings.tags"}]},{id:"storage",label:"Storage",icon:"i-lucide-hard-drive",to:"/settings/storage",group:"instance",roles:[s.ADMINISTRATOR],fields:[{id:"storage.backend",label:"Storage backend",help:"settings.storage-backend",envOnly:!0},{id:"storage.stats",label:"Storage statistics",help:"settings.storage-stats"},{id:"storage.cleanup",label:"Cleanup old test runs",help:"settings.cleanup"}]},{id:"wasted-time",label:"Wasted time",icon:"i-lucide-hourglass",to:"/settings/wasted-time",group:"analysis",roles:[s.ADMINISTRATOR],introHelp:"settings.wasted-time",fields:[{id:"wasted-time.patterns",label:"Wasted-time patterns",help:"settings.wasted-time"}]},{id:"timeout-hygiene",label:"Timeout hygiene",icon:"i-lucide-scissors",to:"/settings/timeout-hygiene",group:"analysis",roles:[s.ADMINISTRATOR],introHelp:"settings.timeout-hygiene",fields:[{id:"timeout-hygiene.thresholds",label:"Detection thresholds",help:"settings.timeout-hygiene"}]},{id:"pr-feedback",label:"Pull requests",icon:"i-lucide-git-pull-request",to:"/settings/pr-feedback",group:"analysis",roles:[s.ADMINISTRATOR],introHelp:"settings.pr-feedback",fields:[{id:"pr-feedback.settings",label:"Pull-request feedback",help:"settings.pr-feedback"}]},{id:"ai",label:"AI diagnosis",icon:"i-lucide-sparkles",to:"/settings/ai",group:"analysis",roles:[s.ADMINISTRATOR],fields:[{id:"ai.diagnosis",label:"Diagnosis model",help:"settings.ai-provider"},{id:"ai.research",label:"Research model",help:"settings.ai-research"},{id:"ai.embedding",label:"Embedding model",help:"settings.embedding-model"},{id:"ai.auto-diagnose",label:"Auto-diagnose",help:"settings.auto-diagnose"},{id:"ai.context-limits",label:"Diagnosis context limits",help:"settings.ai-limits"},{id:"ai.instructions",label:"Global analysis instructions",help:"settings.ai-instructions"},{id:"ai.scm-token",label:"Repository access token",help:"project.scm-token"},{id:"ai.privacy",label:"Privacy notice",help:"settings.privacy"}]},{id:"about",label:"About",icon:"i-lucide-info",to:"/settings/about",group:"meta",fields:[]}];function d(i){return o(i.help)}function g(i){const t=new Set;for(const n of i.fields)for(const e of d(n))t.add(e);return[...t]}function p(i){const t=l.find(n=>n.id===i);if(!t)throw new Error(`Unknown settings page: ${i}`);return t}function b(i){const t=l.filter(e=>(!e.roles||i.canSeeAdmin)&&!(i.isDesktop&&e.authOnly)),n=e=>({label:e.label,icon:e.icon,to:e.to,...i.envManaged?.[e.id]?{badge:{icon:"i-lucide-lock",color:"neutral"}}:{}});return c.map(e=>t.filter(a=>a.group===e.id).map(n)).filter(e=>e.length>0)}export{b,p as g,g as p};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as o}from"./DCFbQvIN.js";function n(){const t=o();return String(t.public.desktop)==="true"}export{n as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a3 as r,a5 as n,o as p,f as i,g as u,V as c,q as d,k as e,X as f,h as m,a8 as _}from"./
|
|
1
|
+
import{a3 as r,a5 as n,o as p,f as i,g as u,V as c,q as d,k as e,X as f,h as m,a8 as _}from"./DCFbQvIN.js";const b={base:"animate-pulse rounded-md bg-elevated"},C={__name:"USkeleton",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(a){const s=r("skeleton",a),t=n(),l=m(()=>_({extend:b,...t.ui?.skeleton||{}}));return(o,g)=>(p(),i(e(f),{as:e(s).as,"aria-busy":"true","aria-label":"loading","aria-live":"polite",role:"alert",class:d(l.value({class:[e(s).ui?.base,e(s).class]}))},{default:u(()=>[c(o.$slots,"default")]),_:3},8,["as","class"]))}};export{C as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a$ as l,
|
|
1
|
+
import{a$ as l,aN as s}from"./DCFbQvIN.js";function t(r,i){return l(r)?!1:Array.isArray(r)?r.some(a=>s(a,i)):s(r,i)}export{t as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as T,o as r,c as x,j as p,k as a,p as U,t as E,v as b,i as k,f as _,g as y,m as
|
|
1
|
+
import{d as T,o as r,c as x,j as p,k as a,p as U,t as E,v as b,i as k,f as _,g as y,m as L,_ as j,h as w,s as N,r as h,J as O,F as S,y as Z,C as D,E as R,l as I,K as J}from"./DCFbQvIN.js";import{a as K}from"./E-_n_6vi.js";const M=[{provider:"jira",tests:[/^https:\/\/([^./]+)\.atlassian\.net\/browse\//i,/^https:\/\/[^/]+\/jira\/software\/c\/projects\//i,/^https:\/\/[^/]+\/.+\/browse\//i],keyExtract:/\/([A-Z][A-Z0-9_]+-\d+)(?:\?|$|#)/i},{provider:"github-issue",tests:[/^https:\/\/github\.com\/[^/]+\/[^/]+\/issues\//i],keyExtract:/\/issues\/(\d+)/},{provider:"github-pr",tests:[/^https:\/\/github\.com\/[^/]+\/[^/]+\/pull\//i],keyExtract:/\/pull\/(\d+)/},{provider:"gitlab-issue",tests:[/^https:\/\/(gitlab\.[^/]+|[^/]+\.gitlab\.io)\/[^/]+\/[^/]+\/-\/issues\//i],keyExtract:/\/issues\/(\d+)/},{provider:"gitlab-mr",tests:[/^https:\/\/(gitlab\.[^/]+|[^/]+\.gitlab\.io)\/[^/]+\/[^/]+\/-\/merge_requests\//i],keyExtract:/\/merge_requests\/(\d+)/},{provider:"bitbucket",tests:[/^https:\/\/bitbucket\.org\/[^/]+\/[^/]+\/pull-requests\//i],keyExtract:/\/pull-requests\/(\d+)/},{provider:"confluence",tests:[/^https:\/\/([^./]+)\.atlassian\.net\/wiki\//i]},{provider:"slack",tests:[/^https:\/\/[^/]+\.slack\.com\//i]},{provider:"linear",tests:[/^https:\/\/linear\.app\//i],keyExtract:/\/([A-Za-z]+-\d+)(?:\/|\?|$|#)/},{provider:"notion",tests:[/^https:\/\/(www\.)?notion\.so\//i]}];function G(t){for(const c of M)if(c.tests.some(e=>e.test(t)))return c.provider;return"generic"}function z(t){return{jira:"i-simple-icons-jira","github-issue":"i-simple-icons-github","github-pr":"i-simple-icons-github","gitlab-issue":"i-simple-icons-gitlab","gitlab-mr":"i-simple-icons-gitlab",bitbucket:"i-simple-icons-bitbucket",confluence:"i-simple-icons-confluence",slack:"i-simple-icons-slack",linear:"i-simple-icons-linear",notion:"i-simple-icons-notion",generic:"i-lucide-link"}[t]}const H={class:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 group hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors"},Q={key:0,class:"font-mono text-primary font-medium"},W=["title"],X=T({__name:"LinkChip",props:{link:{},removable:{type:Boolean}},emits:["remove"],setup(t,{emit:c}){const e=t,v=c,g=w(()=>e.link.title||e.link.key||e.link.url.replace(/^https?:\/\//,"").slice(0,50)),o=w(()=>z(e.link.provider));return(s,l)=>{const d=U,f=N,m=j;return r(),x("span",H,[p(d,{name:a(o),class:"w-3.5 h-3.5 shrink-0"},null,8,["name"]),t.link.key?(r(),x("span",Q,E(t.link.key),1)):b("",!0),k("span",{class:"max-w-48 truncate",title:t.link.title||t.link.url},E(a(g)),9,W),t.link.statusText?(r(),_(f,{key:1,color:t.link.statusColor||"neutral",variant:"subtle",size:"xs"},{default:y(()=>[L(E(t.link.statusText),1)]),_:1},8,["color"])):b("",!0),p(m,{to:t.link.url,target:"_blank",size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-external-link",class:"opacity-0 group-hover:opacity-100 transition-opacity -my-1"},null,8,["to"]),t.removable?(r(),_(m,{key:2,size:"xs",variant:"ghost",color:"error",icon:"i-lucide-x",class:"opacity-0 group-hover:opacity-100 transition-opacity -my-1",onClick:l[0]||(l[0]=C=>v("remove",t.link.id))})):b("",!0)])}}}),Y=Object.assign(X,{__name:"LinkChip"}),tt={class:"flex flex-wrap items-center gap-1.5"},et={class:"relative"},it={class:"flex justify-end gap-2"},st=T({__name:"EntityLinks",props:{entityType:{},entityId:{},links:{}},emits:["updated"],setup(t,{emit:c}){const e=t,v=c,{copy:g}=K(),o=h(e.links??[]),s=h(""),l=h(!1),d=h(!1),f=w(()=>{try{return s.value?G(s.value):null}catch{return null}}),m=w(()=>f.value?z(f.value):null);async function C(){const n=await $fetch("/api/links",{params:{entityType:e.entityType,entityId:e.entityId}});o.value=n.links}async function B(){if(!(!s.value||d.value)){d.value=!0;try{const n=await $fetch("/api/links",{method:"POST",body:{entityType:e.entityType,entityId:e.entityId,url:s.value}});o.value.push(n.link),s.value="",l.value=!1,v("updated")}catch(n){g(n?.data?.message||"Failed to add link",{toast:!0})}finally{d.value=!1}}}async function V(n){try{await $fetch(`/api/links/${n}`,{method:"DELETE"}),o.value=o.value.filter(i=>i.id!==n),v("updated")}catch{g("Failed to remove link",{toast:!0})}}return O(()=>[e.entityType,e.entityId],()=>{e.links?o.value=e.links:C()},{immediate:!0}),(n,i)=>{const A=Y,$=j,P=R,q=U,F=J;return r(),x("div",tt,[(r(!0),x(S,null,Z(a(o),u=>(r(),_(A,{key:u.id,link:u,removable:"",onRemove:V},null,8,["link"]))),128)),p(F,{open:a(l),"onUpdate:open":i[2]||(i[2]=u=>I(l)?l.value=u:null)},{content:y(()=>[k("form",{class:"p-3 space-y-3 min-w-72",onSubmit:D(B,["prevent"])},[i[5]||(i[5]=k("p",{class:"text-sm font-medium"},"Add link",-1)),k("div",et,[p(P,{modelValue:a(s),"onUpdate:modelValue":i[0]||(i[0]=u=>I(s)?s.value=u:null),placeholder:"https://...",size:"sm",class:"w-full",autofocus:""},null,8,["modelValue"]),a(m)?(r(),_(q,{key:0,name:a(m),class:"absolute right-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"},null,8,["name"])):b("",!0)]),k("div",it,[p($,{size:"xs",variant:"ghost",color:"neutral",onClick:i[1]||(i[1]=u=>l.value=!1)},{default:y(()=>[...i[3]||(i[3]=[L(" Cancel ",-1)])]),_:1}),p($,{size:"xs",color:"primary",type:"submit",loading:a(d),disabled:!a(s).trim()},{default:y(()=>[...i[4]||(i[4]=[L(" Add ",-1)])]),_:1},8,["loading","disabled"])])],32)]),default:y(()=>[p($,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-plus",class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",title:"Add link"})]),_:1},8,["open"])])}}}),ot=Object.assign(st,{__name:"EntityLinks"});export{ot as _};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import{_ as At,a as Lt}from"./9ti9eNH9.js";import{_ as Ot,a as Bt}from"./DQM62mxB.js";import{_ as zt}from"./BrxtP_cN.js";import{d as z,an as Ut,B as Ft,L as qt,ad as Wt,J as vt,o as s,c as v,h as D,r as ft,j as $,l as at,k as t,f as k,g as f,i as a,p as lt,q as A,t as h,v as N,m as T,_ as q,w as F,F as P,y as L,ag as wt,G as Q,R as ot,s as Mt,e as Gt}from"./DCFbQvIN.js";import{_ as Ht}from"./RAdNGxcF.js";import{_ as Yt}from"./Ckgsh9AT.js";import{u as Xt}from"./C2hNxjjz.js";import{u as _t}from"./E-_n_6vi.js";import{_ as Jt}from"./Dsvu7YJT.js";import{_ as Qt}from"./DkT2nCqn.js";import{e as W,f as it,c as Zt}from"./BAKUqW95.js";import{_ as G}from"./DdH3op4b.js";import{_ as H}from"./Dk9nD32g.js";import{_ as X}from"./D_eDAIsT.js";import{_ as K}from"./B3Fsod9X.js";import{_ as Kt}from"./CJBhojV6.js";import{_ as Rt}from"./B-zdP-D4.js";import{_ as te}from"./DfSBKzrC.js";import{_ as ee}from"./DL24AjfW.js";import{_ as ct}from"./gV2U_Gqd.js";import{X as se,b as jt,c as dt,d as ae,i as ne,e as re,f as oe,g as et,m as mt,h as ie,j as kt,k as le,l as $t,s as st,n as St,o as ce,p as de,q as ue,r as me,t as pe,P as _e,v as ye,_ as bt,u as Et,a as xt,C as yt,w as he,O as Z}from"./CMYAryzi.js";import{_ as ut}from"./CFEdRqaj.js";import{N as Tt}from"./BNurUTla.js";import{_ as ge}from"./BR5cR2Ot.js";import{_ as fe}from"./D9knOn6D.js";import{_ as be}from"./DX4tAP78.js";import"./CIEceDOw.js";import"./CTD_pJ_v.js";import"./DqEOMteW.js";import"./uSPCvASp.js";import"./Vxyo_mU9.js";import"./YE1kAkU9.js";import"./NERLHpOL.js";import"./BpM6ZPIG.js";import"./BjaRappk.js";import"./Cpsq-kYE.js";import"./D7W_4Sqc.js";function xe({x:C,y:e,w:i,h:_,tl:n=!1,tr:M=!1,bl:u=!1,br:R=!1,r:b=0}){let p;p=`M${C+b},${e}h${i-2*b}`;let r=M?b:0,l=M?0:b;return p+=`a${r},${r} 0 0 1 ${r},${r}`,p+=`h${l}v${l}`,p+=`v${_-2*b}`,r=R?b:0,l=R?0:b,p+=`a${r},${r} 0 0 1 ${-r},${r}`,p+=`v${l}h${-l}`,p+=`h${2*b-i}`,r=u?b:0,l=u?0:b,p+=`a${r},${r} 0 0 1 ${-r},${-r}`,p+=`h${-l}v${-l}`,p+=`v${2*b-_}`,r=n?b:0,l=n?0:b,p+=`a${r},${r} 0 0 1 ${r},${-r}`,p+=`v${-l}h${l}`,p+="z",p}const ve=Object.assign(Object.assign({},se),{color:void 0,barMaxWidth:void 0,barWidth:void 0,dataStep:void 0,barPadding:0,roundedCorners:2,cursor:null,barMinHeight1Px:!1,barMinHeightZeroValue:null,orientation:jt.Vertical}),Dt=dt`
|
|
2
|
+
label: stacked-bar-component;
|
|
3
|
+
`,ke=ne`
|
|
4
|
+
:root {
|
|
5
|
+
--vis-stacked-bar-cursor: default;
|
|
6
|
+
--vis-stacked-bar-fill-color: var(--vis-color-main);
|
|
7
|
+
--vis-stacked-bar-stroke-color: none;
|
|
8
|
+
--vis-stacked-bar-stroke-width: 0px;
|
|
9
|
+
--vis-stacked-bar-hover-stroke-width: none;
|
|
10
|
+
--vis-stacked-bar-hover-stroke-color: none;
|
|
11
|
+
|
|
12
|
+
/* Dark Theme */
|
|
13
|
+
--vis-dark-stacked-bar-stroke-color: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
${ae} ${`.${Dt}`} {
|
|
17
|
+
--vis-stacked-bar-stroke-color: var(--vis-dark-stacked-bar-stroke-color);
|
|
18
|
+
}
|
|
19
|
+
`,rt=dt`
|
|
20
|
+
label: bar;
|
|
21
|
+
fill: var(--vis-stacked-bar-fill-color);
|
|
22
|
+
stroke: var(--vis-stacked-bar-stroke-color);
|
|
23
|
+
stroke-width: var(--vis-stacked-bar-stroke-width);
|
|
24
|
+
cursor: var(--vis-stacked-bar-cursor);
|
|
25
|
+
|
|
26
|
+
&:hover {
|
|
27
|
+
stroke-width: var(--vis-stacked-bar-hover-stroke-width);
|
|
28
|
+
stroke: var(--vis-stacked-bar-hover-stroke-color);
|
|
29
|
+
}
|
|
30
|
+
`,ht=dt`
|
|
31
|
+
label: barGroup;
|
|
32
|
+
`,Vt=dt`
|
|
33
|
+
label: barGroupExit;
|
|
34
|
+
`,$e=Object.freeze(Object.defineProperty({__proto__:null,bar:rt,barGroup:ht,barGroupExit:Vt,globalStyles:ke,root:Dt},Symbol.toStringTag,{value:"Module"}));class It extends re{constructor(e){super(),this._defaultConfig=ve,this.config=this._defaultConfig,this.getAccessors=()=>oe(this.config.y)?this.config.y:[this.config.y],this.stacked=!0,this.events={},this._barData=[],e&&this.setConfig(e)}get bleed(){if(this._barData=this._getVisibleData(),this._barData.length===0)return{top:0,bottom:0,left:0,right:0};const e=!this.isVertical()&&this.dataScale.range()[0]>this.dataScale.range()[1],i=this.dataScale.domain(),_=this._getBarWidth()/2,n=this._barData.map((x,m)=>et(x,this.config.x,m)),M=mt(n),u=ie(n),R=this.dataScale(M),b=this.dataScale(u),p=this.dataScale.invert(R+(e?_:-_)),r=this.dataScale.invert(b+(e?-_:_)),l=p<=i[0]?this.dataScale(i[0])-this.dataScale(p):0,E=r>i[1]?this.dataScale(r)-this.dataScale(i[1]):0;return{top:this.isVertical()?0:e?-E:l,bottom:this.isVertical()?0:e?-l:E,left:this.isVertical()?l:0,right:this.isVertical()?E:0}}get dataScale(){return this.isVertical()?this.xScale:this.yScale}get valueScale(){return this.isVertical()?this.yScale:this.xScale}isVertical(){return this.config.orientation===jt.Vertical}_render(e){const{config:i}=this,_=kt(e)?e:i.duration,n=this.getAccessors(),M=le(this._barData,0,n,this._prevNegative);this._prevNegative=M.map(m=>!!m.isMostlyNegative);const u=this.g.selectAll(`.${ht}`).data(this._barData,(m,g)=>{var c;return`${(c=$t(m,i.id,g))!==null&&c!==void 0?c:g}`}),R=(m,g)=>{const c=this.dataScale(et(m,i.x,g)),S=this.isVertical()?c:0,o=this.isVertical()?0:c;return`translate(${S},${o})`},p=u.enter().append("g").attr("class",ht).attr("transform",R).style("opacity",1).merge(u);st(p,_).attr("transform",R).style("opacity",1);const r=u.exit().attr("class",Vt);st(r,_).style("opacity",0).remove().on("interrupt",function(){this.remove()}),st(r.selectAll(`.${rt}`),_).attr("transform",this.isVertical()?`translate(0,${this._height/3})`:`translate(${this._width/6},0)`);const l=p.selectAll(`.${rt}`).data((m,g)=>{const c=M.map((S,o)=>({datum:m,index:g,stacked:S[g],stackIndex:o})).filter(S=>S.stacked[0]!==S.stacked[1]);return c.forEach((S,o)=>{S.isEnding=o===c.length-1||o<=c.length-1&&c[o+1].stacked[0]!==S.stacked[1]}),c},m=>m.stackIndex),x=l.enter().append("path").attr("class",rt).attr("d",m=>this._getBarPath(m,!0)).style("fill",m=>St(m.datum,i.color,m.stackIndex)).merge(l);st(x,_).attr("d",m=>this._getBarPath(m)).style("fill",m=>St(m.datum,i.color,m.stackIndex)).style("cursor",m=>$t(m.datum,i.cursor,m.stackIndex)),st(l.exit(),_).style("opacity",0).remove().on("interrupt",function(){this.remove()})}_getBarWidth(){const{config:e,datamodel:{data:i}}=this;if(ce(i))return 0;if(e.barWidth)return mt([e.barWidth,e.barMaxWidth]);const _=this.dataScale.bandwidth,n=this.dataScale.domain?this.dataScale.domain():[];let u=1+(_?n.length:n[1]-n[0])/e.dataStep||!_&&i.filter((p,r)=>{const l=et(p,e.x,r);return l>=n[0]&&l<=n[1]}).length||i.length;!_&&u>=2&&(u+=1);const b=(u<2?1:1-e.barPadding)*(this.isVertical()?this._width:this._height)/u;return mt([b,e.barMaxWidth])}_getVisibleData(){const{config:e,datamodel:{data:i}}=this,_=this._getBarWidth(),n=i.length<2?0:_/2,M=this.dataScale,u=Math.abs(M.invert(n)-M.invert(0));return i?.filter((b,p)=>{const r=et(b,e.x,p),l=M.domain(),E=+l[0],x=+l[1];return r>=E-u&&r<=x+u})}_getBarPath(e,i=!1){const{config:_}=this,n=this.getAccessors(),M=this._getBarWidth(),u=e.stacked[1]<0,R=e.isEnding,b=et(e.datum,n[e.stackIndex],e.index),p=i?0:Math.abs(this.valueScale(e.stacked[0])-this.valueScale(e.stacked[1])),r=!i&&_.barMinHeight1Px&&p<1&&isFinite(b)&&b!==_.barMinHeightZeroValue?1:p,l=i?this.valueScale(0):this.valueScale(u?e.stacked[0]:e.stacked[1])-(p<1&&_.barMinHeight1Px?1:0),E=-M/2,x=M,m=_.roundedCorners?kt(_.roundedCorners)?+_.roundedCorners:x/2:0,g=me(m,0,Math.min(p,x)/2),c=this.yScale.range()[0]>this.yScale.range()[1];return xe({x:this.isVertical()?E:l-r,y:this.isVertical()?l+(c?0:-r):E,w:this.isVertical()?x:r,h:this.isVertical()?r:x,tl:R&&(this.isVertical()?!u&&c||u&&!c:u),tr:R&&(this.isVertical()?!u&&c||u&&!c:!u),br:R&&(this.isVertical()?u&&c||!u&&!c:!u),bl:R&&(this.isVertical()?u&&c||!u&&!c:u),r:g})}_mapEventDatum(e){return{datum:Object.assign(Object.assign({},e),e.datum),index:e.index}}getValueScaleExtent(e){const{datamodel:i}=this,_=this.getAccessors(),n=e?this._getVisibleData():i.data;return de(n,..._)}getDataScaleExtent(){const{config:e,datamodel:i}=this;return ue(i.data,e.x)}getYDataExtent(e){return this.isVertical()?this.getValueScaleExtent(e):this.getDataScaleExtent()}getXDataExtent(){return this.isVertical()?this.getDataScaleExtent():this.getValueScaleExtent(!1)}}It.selectors=$e;const Se={"data-vis-component":""},Ce=z({__name:"index",props:{color:{type:[Function,String,Array,null]},barWidth:{},barMaxWidth:{},dataStep:{},barPadding:{},roundedCorners:{type:[Number,Boolean]},cursor:{type:[Function,String,null]},barMinHeight1Px:{type:Boolean},barMinHeightZeroValue:{},orientation:{},x:{type:[Function,Number,null]},y:{type:[Function,Number,null,Array]},id:{type:Function},xScale:{type:[Object,Function]},yScale:{type:[Object,Function]},excludeFromDomainCalculation:{type:Boolean},duration:{},events:{},attributes:{},data:{}},setup(C,{expose:e}){const i=Ut(pe),_=C,n=D(()=>i.data.value??_.data),M=_e(_),u=ft();return Ft(()=>{qt(()=>{u.value=new It(M.value),u.value?.setData(n.value),i.update(u.value)})}),Wt(()=>{u.value?.destroy(),i.destroy()}),vt(M,(R,b)=>{ye(R,b)||(u.value?.setConfig(M.value),u.value?.render())}),vt(n,()=>{u.value?.setData(n.value)}),e({component:u}),(R,b)=>(s(),v("div",Se))}}),we=30,gt=3650;function Me(C){const e={days:String(C.days)};return C.projectIds&&C.projectIds.length>0&&(e.projects=C.projectIds.join(",")),C.environment&&(e.environment=C.environment),C.fullRunsOnly||(e.fullRunsOnly="false"),e}const J={days:we,projectIds:[],environment:null,fullRunsOnly:!0};function Re(){const C=Xt("piwi-analytics-scope",{default:()=>({...J}),encode:_=>JSON.stringify(_),decode:_=>{try{return _?{...J,...JSON.parse(_)}:{...J}}catch{return{...J}}}}),e=D(()=>({days:C.value.days,projectIds:C.value.projectIds.length>0?C.value.projectIds:void 0,environment:C.value.environment,fullRunsOnly:C.value.fullRunsOnly})),i=D(()=>Me(e.value));return{state:C,scope:e,scopeQuery:i}}function Y(C,e){return _t(`/api/analytics/${C}`,{query:D(e),lazy:!0,server:!1},"$EEH4o0rJ7t")}const je={class:"flex items-center gap-3 flex-wrap"},Ee={class:"flex items-center gap-1.5"},Te={key:0,class:"text-gray-500"},De={key:1,class:"truncate"},Ve={key:2},Ie={class:"flex items-center gap-1.5 cursor-pointer select-none text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors"},pt="All environments",Pe=z({__name:"AnalyticsScopeBar",props:{modelValue:{},availableProjects:{},availableEnvironments:{}},emits:["update:modelValue"],setup(C,{emit:e}){const i=C,_=e,n=[{label:"Last 7 days",value:7},{label:"Last 30 days",value:30},{label:"Last 90 days",value:90},{label:"Last year",value:365},{label:"All time",value:gt}],M=D({get:()=>i.modelValue.days,set:m=>_("update:modelValue",{...i.modelValue,days:m})}),u=D(()=>i.availableProjects.map(m=>({label:m.label||m.name,value:m.id}))),R=D({get:()=>i.modelValue.projectIds,set:m=>_("update:modelValue",{...i.modelValue,projectIds:m})});function b(m){return u.value.find(g=>g.value===m)?.label??`#${m}`}const p=D({get:()=>i.modelValue.environment??pt,set:m=>_("update:modelValue",{...i.modelValue,environment:m===pt?null:m})}),r=D(()=>[pt,...i.availableEnvironments]),l=D({get:()=>i.modelValue.fullRunsOnly,set:m=>_("update:modelValue",{...i.modelValue,fullRunsOnly:m})}),E=D(()=>i.modelValue.days===J.days&&i.modelValue.projectIds.length===0&&i.modelValue.environment===null&&i.modelValue.fullRunsOnly===J.fullRunsOnly);function x(){_("update:modelValue",{...J})}return(m,g)=>{const c=zt,S=lt,o=Ht,d=Yt,y=q;return s(),v("div",je,[$(c,{modelValue:t(M),"onUpdate:modelValue":g[0]||(g[0]=j=>at(M)?M.value=j:null),items:n,size:"sm",class:"min-w-[140px]",icon:"i-lucide-calendar-range"},null,8,["modelValue"]),t(u).length>0?(s(),k(o,{key:0,modelValue:t(R),"onUpdate:modelValue":g[1]||(g[1]=j=>at(R)?R.value=j:null),items:t(u),"value-key":"value",multiple:"",searchable:"",size:"sm",class:"min-w-[170px]",placeholder:"All projects"},{default:f(({modelValue:j})=>[a("div",Ee,[$(S,{name:"i-lucide-folder",class:A(["size-3.5 shrink-0",j.length?"text-primary":"text-gray-400"])},null,8,["class"]),j.length?j.length===1?(s(),v("span",De,h(b(j[0])),1)):(s(),v("span",Ve,h(j.length)+" projects",1)):(s(),v("span",Te,"All projects"))])]),_:1},8,["modelValue","items"])):N("",!0),C.availableEnvironments.length>0?(s(),k(c,{key:1,modelValue:t(p),"onUpdate:modelValue":g[2]||(g[2]=j=>at(p)?p.value=j:null),items:t(r),size:"sm",class:"min-w-[160px]",icon:"i-lucide-server"},null,8,["modelValue","items"])):N("",!0),a("label",Ie,[$(d,{modelValue:t(l),"onUpdate:modelValue":g[3]||(g[3]=j=>at(l)?l.value=j:null),size:"sm"},null,8,["modelValue"]),g[4]||(g[4]=T(" Full runs only ",-1))]),t(E)?N("",!0):(s(),k(y,{key:2,variant:"ghost",size:"sm",color:"neutral",icon:"i-lucide-x",onClick:x},{default:f(()=>[...g[5]||(g[5]=[T(" Reset ",-1)])]),_:1}))])}}}),Ne=Object.assign(Pe,{__name:"AnalyticsScopeBar"}),Ae=[{id:"health",label:"Where things stand",description:"The state of every project right now."},{id:"pain",label:"Where the pain is",description:"What is costing you the most time and attention."},{id:"trends",label:"Which way it is going",description:"Movement over the selected period."},{id:"detail",label:"Detail",description:"Breakdowns to reach for once you know what you are chasing."}],Pt=[{id:"portfolio",title:"Portfolio health",icon:"i-lucide-table-properties",size:"full",band:"health"},{id:"insights",title:"Insights",icon:"i-lucide-lightbulb",size:"half",band:"health"},{id:"pass-rate-heatmap",title:"Pass rate heatmap",icon:"i-lucide-grid-3x3",size:"half",band:"health"},{id:"cluster-landscape",title:"Failure clusters",icon:"i-lucide-layers",size:"half",band:"pain"},{id:"flaky-leaderboard",title:"Flakiest tests",icon:"i-lucide-repeat",size:"half",band:"pain"},{id:"wasted-time",title:"Wasted CI time",icon:"i-lucide-hourglass",size:"half",band:"pain"},{id:"regression-velocity",title:"Regression velocity",icon:"i-lucide-git-pull-request-arrow",size:"half",band:"trends"},{id:"ci-time-trend",title:"CI time",icon:"i-lucide-timer",size:"half",band:"trends"},{id:"browser-matrix",title:"Browser matrix",icon:"i-lucide-monitor-smartphone",size:"half",band:"detail"},{id:"slow-endpoints",title:"Slow endpoints",icon:"i-lucide-gauge",size:"full",band:"detail"}];new Set(Pt.map(C=>C.id));const Le={key:3,class:"divide-y divide-gray-100 dark:divide-gray-800"},Oe={class:"min-w-0"},Be={class:"text-sm font-medium"},ze={key:0,class:"text-xs text-gray-500 dark:text-gray-400 mt-0.5"},Ue=z({__name:"InsightsFeed",props:{query:{}},async setup(C){let e,i;const _=C,{data:n,pending:M,error:u,refresh:R}=([e,i]=F(()=>Y("insights",()=>_.query)),e=await e,i(),e),b=Q,p={critical:{icon:"i-lucide-octagon-alert",class:"text-red-500",border:"border-l-red-500"},warning:{icon:"i-lucide-triangle-alert",class:"text-amber-500",border:"border-l-amber-400"},info:{icon:"i-lucide-info",class:"text-blue-500",border:"border-l-blue-400"},positive:{icon:"i-lucide-trending-up",class:"text-green-500",border:"border-l-green-500"}};return(r,l)=>{const E=G,x=q,m=H,g=X,c=lt,S=K;return s(),k(S,{icon:"i-lucide-lightbulb",title:"Insights",count:t(n)?.length||void 0,help:"analytics.insights"},{default:f(()=>[t(M)?(s(),k(E,{key:0})):t(u)?(s(),k(m,{key:1,text:`Couldn't load insights: ${("errorMessage"in r?r.errorMessage:t(W))(t(u))}`},{action:f(()=>[$(x,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:l[0]||(l[0]=o=>t(R)())},{default:f(()=>[...l[1]||(l[1]=[T(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):!t(n)||t(n).length===0?(s(),k(g,{key:2,icon:"i-lucide-check-circle",text:"Nothing needs your attention in this period."})):(s(),v("div",Le,[(s(!0),v(P,null,L(t(n),o=>(s(),k(wt(o.to?t(b):"div"),{key:o.id,to:o.to,class:A(["flex items-start gap-3 py-3 pl-3 border-l-2",[p[o.severity].border,o.to?"hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded-r transition-colors":""]])},{default:f(()=>[$(c,{name:p[o.severity].icon,class:A(["size-4 mt-0.5 shrink-0",p[o.severity].class])},null,8,["name","class"]),a("div",Oe,[a("p",Be,h(o.message),1),o.detail?(s(),v("p",ze,h(o.detail),1)):N("",!0)])]),_:2},1032,["to","class"]))),128))]))]),_:1},8,["count"])}}}),Fe=Object.assign(Ue,{__name:"InsightsFeed"}),qe={class:"md:hidden space-y-3"},We={class:"flex items-center justify-between gap-2"},Ge={class:"flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"},He={key:0},Ye={class:"hidden md:block"},Xe={class:"w-full text-sm"},Je={class:"divide-y divide-gray-100 dark:divide-gray-800"},Qe={class:"py-2.5 pr-4"},Ze={class:"flex items-center gap-2 min-w-0"},Ke={class:"py-2.5 pr-4"},ts={class:"w-36"},es={class:"py-2.5 pr-4 text-right"},ss={class:"py-2.5 pr-4 text-right tabular-nums"},as={class:"py-2.5 pr-4 text-right tabular-nums text-gray-500 dark:text-gray-400"},ns={class:"py-2.5 text-right"},rs={class:"text-xs text-gray-500 dark:text-gray-400"},os={key:1,class:"text-xs text-gray-400"},is=z({__name:"PortfolioScorecard",props:{query:{}},async setup(C){let e,i;const _=C,{data:n,pending:M,error:u,refresh:R}=([e,i]=F(()=>Y("portfolio",()=>_.query)),e=await e,i(),e);function b(r){return r===null?"text-gray-400":r>=90?"text-green-600 dark:text-green-400":r>=50?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"}function p(r){return r===null||Math.abs(r)<1?null:r>0?{icon:"i-lucide-trending-up",class:"text-green-600 dark:text-green-400"}:{icon:"i-lucide-trending-down",class:"text-red-600 dark:text-red-400"}}return(r,l)=>{const E=G,x=q,m=H,g=X,c=Q,S=Kt,o=Rt,d=lt,y=te,j=ee,V=ct,I=K;return s(),k(I,{icon:"i-lucide-table-properties",title:"Portfolio health",count:t(n)?.length||void 0,help:"analytics.portfolio"},{default:f(()=>[t(M)?(s(),k(E,{key:0})):t(u)?(s(),k(m,{key:1,text:`Couldn't load the portfolio: ${("errorMessage"in r?r.errorMessage:t(W))(t(u))}`},{action:f(()=>[$(x,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:l[0]||(l[0]=w=>t(R)())},{default:f(()=>[...l[1]||(l[1]=[T(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):!t(n)||t(n).length===0?(s(),k(g,{key:2,text:"No projects with runs in this period."})):(s(),v(P,{key:3},[a("div",qe,[(s(!0),v(P,null,L(t(n),w=>(s(),v("div",{key:w.projectId,class:"rounded-lg border border-gray-200 dark:border-gray-800 p-3 space-y-2"},[a("div",We,[$(c,{to:`/projects/${w.projectId}`,class:"font-medium truncate hover:text-primary"},{default:f(()=>[T(h(w.label||w.name),1)]),_:2},1032,["to"]),a("span",{class:A(["tabular-nums font-semibold shrink-0",b(w.passRate)])},h(w.passRate!==null?`${w.passRate}%`:"—"),3)]),$(S,{runs:w.recentRuns,height:20},null,8,["runs"]),a("div",Ge,[a("span",null,h(w.runCount)+" runs · "+h(w.flakyTests)+" flaky · "+h(w.openClusters)+" open clusters",1),w.latestRun?(s(),v("span",He,h(("formatRelativeTime"in r?r.formatRelativeTime:t(it))(w.latestRun.startTime)),1)):N("",!0)])]))),128))]),a("div",Ye,[$(V,{"min-width":"52rem"},{default:f(()=>[a("table",Xe,[l[2]||(l[2]=a("thead",null,[a("tr",{class:"text-left text-xs text-gray-500 uppercase tracking-wider border-b border-gray-200 dark:border-gray-800"},[a("th",{class:"py-2 pr-4 font-medium"},"Project"),a("th",{class:"py-2 pr-4 font-medium"},"Trend"),a("th",{class:"py-2 pr-4 font-medium text-right"},"Pass rate"),a("th",{class:"py-2 pr-4 font-medium text-right"},"Runs"),a("th",{class:"py-2 pr-4 font-medium text-right"},"Flaky"),a("th",{class:"py-2 pr-4 font-medium text-right"},"Avg run"),a("th",{class:"py-2 pr-4 font-medium text-right"},"Open clusters"),a("th",{class:"py-2 font-medium text-right"},"Latest run")])],-1)),a("tbody",Je,[(s(!0),v(P,null,L(t(n),w=>(s(),v("tr",{key:w.projectId},[a("td",Qe,[a("div",Ze,[$(c,{to:`/projects/${w.projectId}`,class:"font-medium truncate hover:text-primary"},{default:f(()=>[T(h(w.label||w.name),1)]),_:2},1032,["to"]),(s(!0),v(P,null,L(w.tags.slice(0,2),U=>(s(),k(o,{key:U.id,text:U.text,color:U.color},null,8,["text","color"]))),128))])]),a("td",Ke,[a("div",ts,[$(S,{runs:w.recentRuns,height:22},null,8,["runs"])])]),a("td",es,[a("span",{class:A(["inline-flex items-center gap-1 tabular-nums font-semibold",b(w.passRate)])},[T(h(w.passRate!==null?`${w.passRate}%`:"—")+" ",1),p(w.passRateDelta)?(s(),k(d,{key:0,name:p(w.passRateDelta).icon,class:A(["size-3.5",p(w.passRateDelta).class]),title:`${w.passRateDelta>0?"+":""}${w.passRateDelta} pts vs previous period`},null,8,["name","class","title"])):N("",!0)],2)]),a("td",ss,h(w.runCount),1),a("td",{class:A(["py-2.5 pr-4 text-right tabular-nums",w.flakyTests>0?"text-amber-600 dark:text-amber-400":""])},h(w.flakyTests),3),a("td",as,[$(y,{ms:w.avgRunDurationMs},null,8,["ms"])]),a("td",{class:A(["py-2.5 pr-4 text-right tabular-nums",w.openClusters>0?"text-red-600 dark:text-red-400":""])},h(w.openClusters),3),a("td",ns,[w.latestRun?(s(),k(c,{key:0,to:`/test-runs/${w.latestRun.id}`,class:"inline-flex items-center gap-2 hover:text-primary"},{default:f(()=>[$(j,{status:w.latestRun.status},null,8,["status"]),a("span",rs,h(("formatRelativeTime"in r?r.formatRelativeTime:t(it))(w.latestRun.startTime)),1)]),_:2},1032,["to"])):(s(),v("span",os,"No runs"))])]))),128))])])]),_:1})])],64))]),_:1},8,["count"])}}}),ls=Object.assign(is,{__name:"PortfolioScorecard"}),cs={class:"space-y-1"},ds={class:"flex gap-px"},us=["title"],ms={class:"grid gap-2",style:{"grid-template-columns":"8rem 1fr"}},ps={class:"relative h-4"},_s=z({__name:"PassRateHeatmap",props:{query:{}},async setup(C){let e,i;const _=C,{data:n,pending:M,error:u,refresh:R}=([e,i]=F(()=>Y("pass-rate-heatmap",()=>_.query)),e=await e,i(),e);function b(c){return c===null?{}:c>=99.5?{backgroundColor:"rgba(34, 197, 94, 0.85)"}:c>=90?{backgroundColor:"rgba(34, 197, 94, 0.5)"}:c>=75?{backgroundColor:"rgba(245, 158, 11, 0.55)"}:c>=50?{backgroundColor:"rgba(249, 115, 22, 0.65)"}:{backgroundColor:"rgba(239, 68, 68, 0.75)"}}function p(c,S,o){const d=n.value?.buckets[S]??"",y=(n.value?.bucketDays??1)>1?` (${n.value.bucketDays} days)`:"";return`${c.label||c.name} · ${d}${y}: ${o!==null?`${o}% passed`:"no runs"}`}const r=[{color:"rgba(34, 197, 94, 0.85)",label:"100%"},{color:"rgba(34, 197, 94, 0.5)",label:"≥ 90%"},{color:"rgba(245, 158, 11, 0.55)",label:"≥ 75%"},{color:"rgba(249, 115, 22, 0.65)",label:"≥ 50%"},{color:"rgba(239, 68, 68, 0.75)",label:"< 50%"}],l=D(()=>{const c=n.value?.bucketDays??1;return c>1?`One cell = ${c} days`:"One cell = one day"}),E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],x=D(()=>{const c=n.value?.buckets??[];return c.length>1&&c[0].slice(0,4)!==c[c.length-1].slice(0,4)});function m(c){const[S,o,d]=c.split("-"),y=E[Number(o)-1];return x.value?`${y} ${S}`:`${y} ${Number(d)}`}const g=D(()=>{const c=n.value?.buckets??[],S=c.length;if(S===0)return[];const o=Math.min(x.value?4:5,S),d=new Set,y=[];for(let j=0;j<o;j++){const V=o===1?0:Math.round(j*(S-1)/(o-1));if(d.has(V))continue;d.add(V);const I=V===0?0:V===S-1?100:(V+.5)/S*100,w=V===0?"translateX(0)":V===S-1?"translateX(-100%)":"translateX(-50%)";y.push({index:V,label:m(c[V]),left:I,transform:w})}return y});return(c,S)=>{const o=G,d=q,y=H,j=X,V=Q,I=bt,w=ct,U=ut;return s(),k(U,{icon:"i-lucide-grid-3x3",title:"Pass rate heatmap",subtitle:t(l),help:"analytics.heatmap"},{default:f(()=>[t(M)?(s(),k(o,{key:0})):t(u)?(s(),k(y,{key:1,text:`Couldn't load the heatmap: ${("errorMessage"in c?c.errorMessage:t(W))(t(u))}`},{action:f(()=>[$(d,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:S[0]||(S[0]=O=>t(R)())},{default:f(()=>[...S[1]||(S[1]=[T(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):!t(n)||t(n).rows.length===0?(s(),k(j,{key:2,text:"No runs in this period."})):(s(),k(w,{key:3,"min-width":"22rem"},{default:f(()=>[a("div",cs,[(s(!0),v(P,null,L(t(n).rows,O=>(s(),v("div",{key:O.projectId,class:"grid items-center gap-2",style:{"grid-template-columns":"8rem 1fr"}},[$(V,{to:`/projects/${O.projectId}`,class:"text-sm truncate hover:text-primary",title:O.label||O.name},{default:f(()=>[T(h(O.label||O.name),1)]),_:2},1032,["to","title"]),a("div",ds,[(s(!0),v(P,null,L(O.cells,(nt,tt)=>(s(),v("div",{key:tt,class:"h-6 flex-1 rounded-sm min-w-1 bg-gray-100 dark:bg-gray-800",style:ot(b(nt)),title:p(O,tt,nt)},null,12,us))),128))])]))),128)),a("div",ms,[S[2]||(S[2]=a("span",null,null,-1)),a("div",ps,[(s(!0),v(P,null,L(t(g),O=>(s(),v("span",{key:O.index,class:"absolute top-0 text-xs text-gray-400 whitespace-nowrap",style:ot({left:`${O.left}%`,transform:O.transform})},h(O.label),5))),128))])]),$(I,{items:r,dense:""})])]),_:1}))]),_:1},8,["subtitle"])}}}),ys=Object.assign(_s,{__name:"PassRateHeatmap"}),hs={key:3,class:"w-full relative"},gs={class:"p-2 text-sm text-gray-900 dark:text-gray-100"},fs={class:"font-semibold mb-1"},bs={class:"text-gray-400 text-xs"},Ct="rgb(59, 130, 246)",xs=z({__name:"CiTimeTrendChart",props:{query:{}},async setup(C){let e,i;const _=C,{data:n,pending:M,error:u,refresh:R}=([e,i]=F(()=>Y("ci-time-trend",()=>_.query)),e=await e,i(),e),b=D(()=>n.value?.points.map(o=>({date:new Date(o.date),totalMinutes:o.totalMinutes,runCount:o.runCount}))??[]),p=D(()=>b.value.some(o=>o.runCount>0)),r=o=>o.date,l=o=>o.totalMinutes,E=ft(null),{tooltipData:x,tooltipPos:m,onRenderComplete:g}=Et(E,b,{x:o=>o.date,series:[{y:o=>o.totalMinutes,color:Ct}]}),c=D(()=>{if(!n.value||n.value.deltaPct===null)return null;const o=n.value.deltaPct;return{label:`${o>0?"+":""}${o}% vs previous period`,class:o>25?"text-red-600 dark:text-red-400":o<-10?"text-green-600 dark:text-green-400":"text-gray-500"}}),S=D(()=>{if(!n.value)return;const o=n.value.totalMinutes;return`${o<60?`${Math.round(o)} min`:`${Math.round(o/60*10)/10} h`} across ${n.value.runCount} runs`});return(o,d)=>{const y=G,j=q,V=H,I=X,w=ut;return s(),k(w,{icon:"i-lucide-timer",title:"CI time",subtitle:t(S),help:"analytics.ci-time"},{actions:f(()=>[t(c)?(s(),v("span",{key:0,class:A(["text-xs font-medium tabular-nums",t(c).class])},h(t(c).label),3)):N("",!0)]),default:f(()=>[t(M)?(s(),k(y,{key:0})):t(u)?(s(),k(V,{key:1,text:`Couldn't load CI time: ${("errorMessage"in o?o.errorMessage:t(W))(t(u))}`},{action:f(()=>[$(j,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:d[0]||(d[0]=U=>t(R)())},{default:f(()=>[...d[1]||(d[1]=[T(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):t(p)?(s(),v("div",hs,[$(t(xt),{ref_key:"xyContainerRef",ref:E,data:t(b),height:220,padding:{top:10,right:10,bottom:0,left:0},"on-render-complete":t(g)},{default:f(()=>[$(t(Tt),{x:r,y:l,color:"rgba(59, 130, 246, 0.15)","curve-type":t(yt).MonotoneX},null,8,["curve-type"]),$(t(he),{x:r,y:l,color:Ct,"curve-type":t(yt).MonotoneX,"line-width":2},null,8,["curve-type"]),$(t(Z),{type:"x","tick-format":U=>new Date(U).toLocaleDateString("en-US",{month:"short",day:"numeric"})},null,8,["tick-format"]),$(t(Z),{type:"y",label:"Minutes","tick-format":U=>U.toString()},null,8,["tick-format"])]),_:1},8,["data","on-render-complete"]),t(x)?(s(),v("div",{key:0,class:"fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 max-w-[240px]",style:ot({left:`${t(m).x}px`,top:`${t(m).y}px`})},[a("div",gs,[a("div",fs,h(new Date(t(x).date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),1),a("div",null,h(t(x).totalMinutes)+" minutes",1),a("div",bs,h(t(x).runCount)+" runs",1)])],4)):N("",!0)])):(s(),k(I,{key:2,text:"No runs in this period."}))]),_:1},8,["subtitle"])}}}),vs=Object.assign(xs,{__name:"CiTimeTrendChart"}),ks={key:3,class:"w-full relative"},$s={class:"p-2 text-sm text-gray-900 dark:text-gray-100"},Ss={class:"font-semibold mb-1"},Cs={key:1,class:"mt-4 flex items-start gap-2 rounded-lg border border-amber-200 bg-amber-50 p-2.5 text-sm dark:border-amber-900/50 dark:bg-amber-950/30"},ws={class:"text-gray-700 dark:text-gray-300"},Ms={class:"font-semibold"},Rs={key:2,class:"mt-4 space-y-1"},js={class:"tabular-nums text-gray-500 dark:text-gray-400 shrink-0"},Es=z({__name:"WastedTimeChart",props:{query:{}},async setup(C){let e,i;const _=C,{data:n,pending:M,error:u,refresh:R}=([e,i]=F(()=>Y("wasted-time",()=>_.query)),e=await e,i(),e),b=D(()=>n.value?.points.map(y=>({date:new Date(y.date),waitMinutes:y.waitMinutes,failedExecMinutes:y.failedExecMinutes}))??[]),p=D(()=>b.value.some(y=>y.waitMinutes>0||y.failedExecMinutes>0)),r=y=>y.date,l=["rgb(245, 158, 11)","rgb(239, 68, 68)"],E=ft(null),{tooltipData:x,tooltipPos:m,onRenderComplete:g}=Et(E,b,{x:y=>y.date,series:[{y:y=>y.waitMinutes,color:l[0]},{y:y=>y.failedExecMinutes,color:l[1]}]}),c=[{color:l[0],label:"Wait steps"},{color:l[1],label:"Failed attempts"}],S=D(()=>{if(!n.value)return;const y=n.value.totalWaitMinutes+n.value.totalFailedExecMinutes;return`${y<60?`${Math.round(y)} min`:`${Math.round(y/60*10)/10} h`} of CI time produced no signal`}),o=D(()=>n.value?.timeoutReclaimable??null),d=D(()=>{const y=o.value?.estimatedMinutes??0;return y<60?`${Math.round(y)} min`:`${Math.round(y/60*10)/10} h`});return(y,j)=>{const V=bt,I=G,w=q,U=H,O=X,nt=lt,tt=Q,Nt=ut;return s(),k(Nt,{icon:"i-lucide-hourglass",title:"Wasted CI time",subtitle:t(S),help:"analytics.wasted-time"},{legend:f(()=>[$(V,{items:c,dense:""})]),default:f(()=>[t(M)?(s(),k(I,{key:0})):t(u)?(s(),k(U,{key:1,text:`Couldn't load wasted time: ${("errorMessage"in y?y.errorMessage:t(W))(t(u))}`},{action:f(()=>[$(w,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:j[0]||(j[0]=B=>t(R)())},{default:f(()=>[...j[1]||(j[1]=[T(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):t(p)?(s(),v("div",ks,[$(t(xt),{ref_key:"xyContainerRef",ref:E,data:t(b),height:220,padding:{top:10,right:10,bottom:0,left:0},"on-render-complete":t(g)},{default:f(()=>[$(t(Tt),{x:r,y:[B=>B.waitMinutes,B=>B.failedExecMinutes],color:l,"curve-type":t(yt).MonotoneX},null,8,["y","curve-type"]),$(t(Z),{type:"x","tick-format":B=>new Date(B).toLocaleDateString("en-US",{month:"short",day:"numeric"})},null,8,["tick-format"]),$(t(Z),{type:"y",label:"Minutes","tick-format":B=>B.toString()},null,8,["tick-format"])]),_:1},8,["data","on-render-complete"]),t(x)?(s(),v("div",{key:0,class:"fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 max-w-[240px]",style:ot({left:`${t(m).x}px`,top:`${t(m).y}px`})},[a("div",$s,[a("div",Ss,h(new Date(t(x).date).toLocaleDateString("en-US",{month:"short",day:"numeric"})),1),a("div",null,[j[2]||(j[2]=a("span",{class:"text-amber-500"},"●",-1)),T(" Wait steps: "+h(t(x).waitMinutes)+" min",1)]),a("div",null,[j[3]||(j[3]=a("span",{class:"text-red-500"},"●",-1)),T(" Failed attempts: "+h(t(x).failedExecMinutes)+" min",1)])])],4)):N("",!0),t(o)?(s(),v("div",Cs,[$(nt,{name:"i-lucide-scissors",class:"mt-0.5 shrink-0 text-amber-500"}),a("div",ws,[j[5]||(j[5]=T(" Up to ",-1)),a("span",Ms,"≈"+h(t(d)),1),T(" of this is avoidable — "+h(t(o).oversizedCount)+" oversized "+h(t(o).oversizedCount===1?"timeout":"timeouts")+" and "+h(t(o).staleSlowCount)+" stale ",1),j[6]||(j[6]=a("code",{class:"text-xs"},"test.slow()",-1)),T(" "+h(t(o).staleSlowCount===1?"mark":"marks")+" inflate the failed-attempt time above. ",1),t(o).topProjectId?(s(),k(tt,{key:0,to:`/projects/${t(o).topProjectId}#performance`,class:"text-primary hover:underline"},{default:f(()=>[...j[4]||(j[4]=[T("Review",-1)])]),_:1},8,["to"])):N("",!0)])])):N("",!0),t(n)&&t(n).byProject.length>0?(s(),v("div",Rs,[(s(!0),v(P,null,L(t(n).byProject.slice(0,5),B=>(s(),v("div",{key:B.projectId,class:"flex items-center justify-between text-sm"},[$(tt,{to:`/projects/${B.projectId}`,class:"truncate hover:text-primary"},{default:f(()=>[T(h(B.label||B.name),1)]),_:2},1032,["to"]),a("span",js,h(Math.round(B.waitMinutes+B.failedExecMinutes))+" min ",1)]))),128))])):N("",!0)])):(s(),k(O,{key:2,text:"No wasted time recorded in this period."}))]),_:1},8,["subtitle"])}}}),Ts=Object.assign(Es,{__name:"WastedTimeChart"}),Ds={key:3,class:"divide-y divide-gray-100 dark:divide-gray-800"},Vs={class:"flex-1 min-w-0"},Is={class:"text-sm font-medium truncate"},Ps={class:"text-xs text-gray-500 dark:text-gray-400 truncate"},Ns={class:"text-right shrink-0"},As=z({__name:"GlobalFlakyLeaderboard",props:{query:{}},async setup(C){let e,i;const _=C,{data:n,pending:M,error:u,refresh:R}=([e,i]=F(()=>Y("flaky-leaderboard",()=>_.query)),e=await e,i(),e);function b(r){return r>=60?"text-red-600 dark:text-red-400":r>=30?"text-amber-600 dark:text-amber-400":"text-gray-500"}function p(r){return r.retryPassRuns>0?`flaked ${r.retryPassRuns}/${r.totalRuns} runs`:`${r.alternations} status flips in ${r.totalRuns} runs`}return(r,l)=>{const E=G,x=q,m=H,g=X,c=Rt,S=Q,o=K;return s(),k(o,{icon:"i-lucide-repeat",title:"Flakiest tests",count:t(n)?.length||void 0,subtitle:"Across all projects, sorted by impact",help:"analytics.flaky-leaderboard"},{default:f(()=>[t(M)?(s(),k(E,{key:0})):t(u)?(s(),k(m,{key:1,text:`Couldn't load flaky tests: ${("errorMessage"in r?r.errorMessage:t(W))(t(u))}`},{action:f(()=>[$(x,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:l[0]||(l[0]=d=>t(R)())},{default:f(()=>[...l[1]||(l[1]=[T(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):!t(n)||t(n).length===0?(s(),k(g,{key:2,text:"No flaky tests detected. Nice and stable."})):(s(),v("div",Ds,[(s(!0),v(P,null,L(t(n),d=>(s(),k(S,{key:`${d.projectId}-${d.testCaseId}`,to:`/test-cases/${d.testCaseId}`,class:"flex items-center gap-3 py-2.5 hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded transition-colors"},{default:f(()=>[a("span",{class:A(["tabular-nums font-bold text-sm w-10 text-right shrink-0",b(d.score)])},h(d.score),3),a("div",Vs,[a("p",Is,h(d.title),1),a("p",Ps,[T(h(d.projectLabel||d.projectName)+" · "+h(p(d))+" ",1),d.lastFlakeAt?(s(),v(P,{key:0},[T(" · last "+h(("formatRelativeTime"in r?r.formatRelativeTime:t(it))(d.lastFlakeAt)),1)],64)):N("",!0)])]),a("div",Ns,[a("p",{class:A(["text-sm tabular-nums",d.wastedCiMinutes>=30?"text-red-600 dark:text-red-400":d.wastedCiMinutes>=5?"text-amber-600 dark:text-amber-400":"text-gray-500"])},h(Math.round(d.wastedCiMinutes))+" min ",3),d.rootCause?(s(),k(c,{key:0,text:d.rootCause,color:"neutral"},null,8,["text"])):N("",!0)])]),_:2},1032,["to"]))),128))]))]),_:1},8,["count"])}}}),Ls=Object.assign(As,{__name:"GlobalFlakyLeaderboard"}),Os={key:3,class:"space-y-4"},Bs={key:0,class:"flex flex-wrap gap-1.5"},zs={class:"divide-y divide-gray-100 dark:divide-gray-800"},Us={class:"flex-1 min-w-0"},Fs={class:"text-sm font-medium truncate"},qs={class:"text-xs text-gray-500 dark:text-gray-400 truncate"},Ws={class:"text-right text-xs shrink-0"},Gs={class:"tabular-nums font-medium"},Hs=z({__name:"ClusterLandscape",props:{query:{}},async setup(C){let e,i;const _=C,{data:n,pending:M,error:u,refresh:R}=([e,i]=F(()=>Y("cluster-landscape",()=>_.query)),e=await e,i(),e);function b(p){return p>=30?"text-red-600 dark:text-red-400":p>=14?"text-amber-600 dark:text-amber-400":"text-gray-500"}return(p,r)=>{const l=G,E=q,x=H,m=X,g=ge,c=fe,S=Mt,o=Q,d=K;return s(),k(d,{icon:"i-lucide-layers",title:"Failure clusters",subtitle:"Open root causes across all projects",help:"analytics.cluster-landscape"},{default:f(()=>[t(M)?(s(),k(l,{key:0})):t(u)?(s(),k(x,{key:1,text:`Couldn't load clusters: ${("errorMessage"in p?p.errorMessage:t(W))(t(u))}`},{action:f(()=>[$(E,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:r[0]||(r[0]=y=>t(R)())},{default:f(()=>[...r[1]||(r[1]=[T(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):!t(n)||t(n).totalOpen===0&&t(n).resolvedInPeriod===0?(s(),k(m,{key:2,icon:"i-lucide-check-circle",text:"No open failure clusters."})):(s(),v("div",Os,[$(c,null,{default:f(()=>[$(g,{label:"Open",value:t(n).totalOpen,"value-class":t(n).totalOpen>0?"text-red-600 dark:text-red-400":""},null,8,["value","value-class"]),$(g,{label:"Resolved this period",value:t(n).resolvedInPeriod},null,8,["value"]),$(g,{label:"Oldest open",value:t(n).clusters.length>0?`${Math.max(...t(n).clusters.map(y=>y.ageDays))} d`:"—",size:"lg"},null,8,["value"])]),_:1}),t(n).byErrorType.length>0?(s(),v("div",Bs,[(s(!0),v(P,null,L(t(n).byErrorType,y=>(s(),k(S,{key:y.errorType,color:("clusterErrorTypeColor"in p?p.clusterErrorTypeColor:t(Zt))(y.errorType),variant:"subtle",size:"sm"},{default:f(()=>[T(h(y.errorType)+" · "+h(y.count),1)]),_:2},1032,["color"]))),128))])):N("",!0),a("div",zs,[(s(!0),v(P,null,L(t(n).clusters.slice(0,8),y=>(s(),k(o,{key:y.id,to:`/failure-clusters/${y.id}`,class:"flex items-center gap-3 py-2.5 hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded transition-colors"},{default:f(()=>[a("div",Us,[a("p",Fs,h(y.title||y.signature),1),a("p",qs,[T(h(y.projectLabel||y.projectName)+" ",1),y.errorType?(s(),v(P,{key:0},[T(" · "+h(y.errorType),1)],64)):N("",!0)])]),a("div",Ws,[a("p",Gs,h(y.occurrences)+"×",1),a("p",{class:A(["tabular-nums",b(y.ageDays)])},h(y.ageDays)+" d open",3)])]),_:2},1032,["to"]))),128))])]))]),_:1})}}}),Ys=Object.assign(Hs,{__name:"ClusterLandscape"}),Xs={key:3,class:"w-full"},Js=z({__name:"RegressionVelocityChart",props:{query:{}},async setup(C){let e,i;const _=C,{data:n,pending:M,error:u,refresh:R}=([e,i]=F(()=>Y("regression-velocity",()=>_.query)),e=await e,i(),e),b=D(()=>n.value?.points.map(g=>({date:new Date(g.date),regressions:g.regressions,newFlaky:g.newFlaky}))??[]),p=D(()=>b.value.some(g=>g.regressions>0||g.newFlaky>0)),r=g=>g.date,l=["rgb(239, 68, 68)","rgb(147, 51, 234)"],E=[{color:l[0],label:"New regressions"},{color:l[1],label:"Newly flaky"}],x=D(()=>{if(!n.value||n.value.deltaPct===null)return null;const g=n.value.deltaPct;return{label:`${g>0?"+":""}${g}% vs previous period`,class:g>0?"text-red-600 dark:text-red-400":"text-green-600 dark:text-green-400"}}),m=D(()=>{if(n.value)return`${n.value.totalRegressions} new regressions, ${n.value.totalNewFlaky} newly flaky`});return(g,c)=>{const S=bt,o=G,d=q,y=H,j=X,V=ut;return s(),k(V,{icon:"i-lucide-git-pull-request-arrow",title:"Regression velocity",subtitle:t(m),help:"analytics.regression-velocity"},{legend:f(()=>[$(S,{items:E,dense:""})]),actions:f(()=>[t(x)?(s(),v("span",{key:0,class:A(["text-xs font-medium tabular-nums",t(x).class])},h(t(x).label),3)):N("",!0)]),default:f(()=>[t(M)?(s(),k(o,{key:0})):t(u)?(s(),k(y,{key:1,text:`Couldn't load regression velocity: ${("errorMessage"in g?g.errorMessage:t(W))(t(u))}`},{action:f(()=>[$(d,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:c[0]||(c[0]=I=>t(R)())},{default:f(()=>[...c[1]||(c[1]=[T(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):t(p)?(s(),v("div",Xs,[$(t(xt),{data:t(b),height:220,padding:{top:10,right:10,bottom:0,left:0}},{default:f(()=>[$(t(Ce),{x:r,y:[I=>I.regressions,I=>I.newFlaky],color:l,"rounded-corners":2},null,8,["y"]),$(t(Z),{type:"x","tick-format":I=>new Date(I).toLocaleDateString("en-US",{month:"short",day:"numeric"})},null,8,["tick-format"]),$(t(Z),{type:"y",label:"Count","tick-format":I=>I.toString()},null,8,["tick-format"])]),_:1},8,["data"])])):(s(),k(j,{key:2,icon:"i-lucide-shield-check",text:"No new regressions in this period."}))]),_:1},8,["subtitle"])}}}),Qs=Object.assign(Js,{__name:"RegressionVelocityChart"}),Zs={class:"w-full text-sm border-separate border-spacing-1"},Ks={class:"pr-2 max-w-[12rem]"},ta=["title"],ea=z({__name:"BrowserMatrix",props:{query:{}},async setup(C){let e,i;const _=C,{data:n,pending:M,error:u,refresh:R}=([e,i]=F(()=>Y("browser-matrix",()=>_.query)),e=await e,i(),e);function b(p){return p===null?"bg-gray-100 dark:bg-gray-800 text-gray-400":p>=99.5?"bg-green-500/85 text-white":p>=90?"bg-green-500/45":p>=75?"bg-amber-500/50":p>=50?"bg-orange-500/60":"bg-red-500/70 text-white"}return(p,r)=>{const l=G,E=q,x=H,m=X,g=Q,c=ct,S=K;return s(),k(S,{icon:"i-lucide-monitor-smartphone",title:"Browser matrix",help:"analytics.browser-matrix"},{default:f(()=>[t(M)?(s(),k(l,{key:0})):t(u)?(s(),k(x,{key:1,text:`Couldn't load the browser matrix: ${("errorMessage"in p?p.errorMessage:t(W))(t(u))}`},{action:f(()=>[$(E,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:r[0]||(r[0]=o=>t(R)())},{default:f(()=>[...r[1]||(r[1]=[T(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):!t(n)||t(n).rows.length===0?(s(),k(m,{key:2,text:"No runs with browser data in this period."})):(s(),k(c,{key:3,"min-width":"30rem"},{default:f(()=>[a("table",Zs,[a("thead",null,[a("tr",null,[r[2]||(r[2]=a("th",{class:"text-left text-xs text-gray-500 uppercase tracking-wider font-medium pr-2"},"Project",-1)),(s(!0),v(P,null,L(t(n).browsers,o=>(s(),v("th",{key:o,class:"text-xs text-gray-500 uppercase tracking-wider font-medium px-1 text-center"},h(o),1))),128))])]),a("tbody",null,[(s(!0),v(P,null,L(t(n).rows,o=>(s(),v("tr",{key:o.projectId},[a("td",Ks,[$(g,{to:`/projects/${o.projectId}`,class:"truncate hover:text-primary block",title:o.label||o.name},{default:f(()=>[T(h(o.label||o.name),1)]),_:2},1032,["to","title"])]),(s(!0),v(P,null,L(o.cells,(d,y)=>(s(),v("td",{key:y,class:A(["text-center tabular-nums rounded-md px-2 py-1.5 font-medium",b(d)]),title:`${o.label||o.name} · ${t(n).browsers[y]}: ${d!==null?`${d}% passed`:"no tests"}`},h(d!==null?`${Math.round(d)}%`:"—"),11,ta))),128))]))),128))])])]),_:1}))]),_:1})}}}),sa=Object.assign(ea,{__name:"BrowserMatrix"}),aa={class:"md:hidden space-y-3"},na={class:"flex items-center gap-2 min-w-0"},ra={class:"text-xs truncate"},oa={class:"flex items-center justify-between text-xs text-gray-500 dark:text-gray-400"},ia={key:0,class:"text-red-600 dark:text-red-400 tabular-nums"},la={class:"hidden md:block"},ca={class:"w-full text-sm"},da={class:"divide-y divide-gray-100 dark:divide-gray-800"},ua={class:"py-2.5 pr-4"},ma={class:"flex items-center gap-2 min-w-0"},pa=["title"],_a={class:"py-2.5 pr-4 text-right tabular-nums"},ya={class:"py-2.5 pr-4 text-right tabular-nums text-gray-500"},ha={class:"py-2.5 pr-4 text-right tabular-nums text-gray-500"},ga={class:"py-2.5 text-right tabular-nums"},fa=z({__name:"SlowEndpointsTable",props:{query:{}},async setup(C){let e,i;const _=C,{data:n,pending:M,error:u,refresh:R}=([e,i]=F(()=>Y("slow-endpoints",()=>_.query)),e=await e,i(),e);function b(r){return r>=1e3?"text-red-600 dark:text-red-400":r>=500?"text-amber-600 dark:text-amber-400":"text-gray-600 dark:text-gray-300"}function p(r){return{GET:"info",POST:"success",PUT:"warning",PATCH:"warning",DELETE:"error"}[r.toUpperCase()]??"neutral"}return(r,l)=>{const E=G,x=q,m=H,g=be,c=Mt,S=ct,o=K;return s(),k(o,{icon:"i-lucide-gauge",title:"Slow endpoints",count:t(n)?.endpoints.length||void 0,subtitle:"Backend calls across all projects, slowest first",help:"analytics.slow-endpoints"},{default:f(()=>[t(M)?(s(),k(E,{key:0})):t(u)?(s(),k(m,{key:1,text:`Couldn't load slow endpoints: ${("errorMessage"in r?r.errorMessage:t(W))(t(u))}`},{action:f(()=>[$(x,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:l[0]||(l[0]=d=>t(R)())},{default:f(()=>[...l[1]||(l[1]=[T(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):!t(n)||t(n).endpoints.length===0?(s(),k(g,{key:2,icon:"i-lucide-network",title:"No network requests captured in this period",text:"Slow endpoints need the Piwi capture fixtures — extend your Playwright test with piwiFixtures and request timing rides along with every run.",doc:"capture-fixtures"})):(s(),v(P,{key:3},[a("div",aa,[(s(!0),v(P,null,L(t(n).endpoints,d=>(s(),v("div",{key:`${d.method} ${d.route}`,class:"rounded-lg border border-gray-200 dark:border-gray-800 p-3 space-y-1.5"},[a("div",na,[$(c,{color:p(d.method),variant:"subtle",size:"sm"},{default:f(()=>[T(h(d.method),1)]),_:2},1032,["color"]),a("code",ra,h(d.route),1)]),a("div",oa,[a("span",null,[l[2]||(l[2]=T("p90 ",-1)),a("span",{class:A(["tabular-nums font-medium",b(d.p90Ms)])},h(d.p90Ms)+" ms",3)]),a("span",null,h(d.requests)+" reqs · "+h(d.projectCount)+" proj",1),d.errorRate>0?(s(),v("span",ia,h(d.errorRate)+"% err",1)):N("",!0)])]))),128))]),a("div",la,[$(S,{"min-width":"44rem"},{default:f(()=>[a("table",ca,[l[3]||(l[3]=a("thead",null,[a("tr",{class:"text-left text-xs text-gray-500 uppercase tracking-wider border-b border-gray-200 dark:border-gray-800"},[a("th",{class:"py-2 pr-4 font-medium"},"Endpoint"),a("th",{class:"py-2 pr-4 font-medium text-right"},"Requests"),a("th",{class:"py-2 pr-4 font-medium text-right"},"p50"),a("th",{class:"py-2 pr-4 font-medium text-right"},"p90"),a("th",{class:"py-2 pr-4 font-medium text-right"},"Max"),a("th",{class:"py-2 pr-4 font-medium text-right"},"Errors"),a("th",{class:"py-2 font-medium text-right"},"Projects")])],-1)),a("tbody",da,[(s(!0),v(P,null,L(t(n).endpoints,d=>(s(),v("tr",{key:`${d.method} ${d.route}`},[a("td",ua,[a("div",ma,[$(c,{color:p(d.method),variant:"subtle",size:"sm"},{default:f(()=>[T(h(d.method),1)]),_:2},1032,["color"]),a("code",{class:"text-xs truncate max-w-[22rem]",title:d.route},h(d.route),9,pa)])]),a("td",_a,h(d.requests),1),a("td",ya,h(d.p50Ms)+" ms",1),a("td",{class:A(["py-2.5 pr-4 text-right tabular-nums font-medium",b(d.p90Ms)])},h(d.p90Ms)+" ms ",3),a("td",ha,h(d.maxMs)+" ms",1),a("td",{class:A(["py-2.5 pr-4 text-right tabular-nums",d.errorRate>0?"text-red-600 dark:text-red-400":"text-gray-400"])},h(d.errorRate)+"% ",3),a("td",ga,h(d.projectCount),1)]))),128))])])]),_:1})])],64))]),_:1},8,["count"])}}}),ba=Object.assign(fa,{__name:"SlowEndpointsTable"}),xa={class:"space-y-6"},va={class:"text-sm font-semibold uppercase tracking-wide text-dimmed"},ka={class:"text-sm text-muted"},$a={class:"grid grid-cols-1 xl:grid-cols-2 gap-6 items-start"},ln=z({__name:"analytics",async setup(C){let e,i;Gt({title:"Analytics - Piwi Dashboard"});const{state:_,scopeQuery:n}=Re(),{data:M}=([e,i]=F(()=>_t("/api/projects/menu",{lazy:!0,server:!1,default:()=>[]},"$jZuDAh0IrH")),e=await e,i(),e),{data:u}=([e,i]=F(()=>_t("/api/test-runs/recent",{lazy:!0,server:!1,default:()=>[]},"$lmj5ErCURQ")),e=await e,i(),e),R=D(()=>{const x=new Set;for(const m of u.value??[])m.environment&&x.add(m.environment);return[...x].sort()}),b=D(()=>{const x=u.value??[];return x.length===0?null:Math.max(...x.map(m=>new Date(m.startTime).getTime()))}),p=D(()=>{if(b.value===null||_.value.days>=gt)return!1;const x=Date.now()-_.value.days*24*60*60*1e3;return b.value<x});function r(){_.value={..._.value,days:gt}}const l={insights:Fe,portfolio:ls,"pass-rate-heatmap":ys,"ci-time-trend":vs,"wasted-time":Ts,"flaky-leaderboard":Ls,"cluster-landscape":Ys,"regression-velocity":Qs,"browser-matrix":sa,"slow-endpoints":ba},E=D(()=>Ae.map(x=>({...x,widgets:Pt.filter(m=>m.band===x.id)})).filter(x=>x.widgets.length>0));return(x,m)=>{const g=At,c=Lt,S=Bt,o=Ne,d=Jt,y=Qt,j=Ot;return s(),k(j,{id:"analytics"},{header:f(()=>[$(S,null,{leading:f(()=>[$(g),$(c,{items:[{label:"Analytics",icon:"i-lucide-chart-line",to:"/analytics"}]})]),_:1})]),body:f(()=>[a("div",xa,[$(d,null,{default:f(()=>[$(o,{modelValue:t(_),"onUpdate:modelValue":m[0]||(m[0]=V=>at(_)?_.value=V:null),"available-projects":t(M),"available-environments":t(R)},null,8,["modelValue","available-projects","available-environments"])]),_:1}),t(p)?(s(),k(y,{key:0,icon:"i-lucide-calendar-off",color:"warning",variant:"subtle",title:`No test runs in the last ${t(_).days} days`,description:`Your most recent run was ${("formatRelativeTime"in x?x.formatRelativeTime:t(it))(t(b))} — the widgets below look empty because the selected range excludes it.`,actions:[{label:"Show all time",color:"warning",variant:"solid",size:"xs",onClick:r}]},null,8,["title","description","actions"])):N("",!0),(s(!0),v(P,null,L(t(E),V=>(s(),v("section",{key:V.id,class:"space-y-3"},[a("div",null,[a("h2",va,h(V.label),1),a("p",ka,h(V.description),1)]),a("div",$a,[(s(!0),v(P,null,L(V.widgets,I=>(s(),v("div",{key:I.id,class:A(I.size==="full"?"xl:col-span-2":"")},[(s(),k(wt(l[I.id]),{query:t(n)},null,8,["query"]))],2))),128))])]))),128))])]),_:1})}}});export{ln as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a2 as V,a3 as $,a5 as j,an as y,
|
|
1
|
+
import{a2 as V,a3 as $,a5 as j,an as y,aV as z,r as P,aP as S,aW as w,J as B,o,f as C,g as b,i as q,q as s,k as t,c as u,j as N,V as n,m as c,t as m,v as f,X as F,h,a8 as W,N as g,bl as D,bm as K}from"./DCFbQvIN.js";import{L as O}from"./NERLHpOL.js";const E={slots:{root:"",wrapper:"",labelWrapper:"flex content-center items-center justify-between gap-1",label:"block font-medium text-default",container:"relative",description:"text-muted",error:"mt-2 text-error",hint:"text-muted",help:"mt-2 text-muted"},variants:{size:{xs:{root:"text-xs"},sm:{root:"text-xs"},md:{root:"text-sm"},lg:{root:"text-sm"},xl:{root:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},orientation:{vertical:{container:"mt-1"},horizontal:{root:"flex justify-between place-items-baseline gap-2"}}},defaultVariants:{size:"md"}},L=["id"],A=["id"],J=["id"],T=["id"],H={__name:"UFormField",props:{as:{type:null,required:!1},name:{type:String,required:!1},errorPattern:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},help:{type:String,required:!1},error:{type:[Boolean,String],required:!1,default:void 0},hint:{type:String,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},eagerValidation:{type:Boolean,required:!1},validateOnInputDelay:{type:Number,required:!1},orientation:{type:null,required:!1,default:"vertical"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(x){const _=x,l=V(),e=$("formField",_),I=j(),a=h(()=>W({extend:E,...I.ui?.formField||{}})({size:e.size,required:e.required,orientation:e.orientation})),k=y(z,null),i=h(()=>e.error||k?.value?.find(r=>r.name===e.name||e.errorPattern&&r.name?.match(e.errorPattern))?.message),d=P(S()),p=d.value,v=y(w,void 0);return B(d,()=>{v&&e.name&&(v.value[e.name]={id:d.value,pattern:e.errorPattern})},{immediate:!0}),g(D,d),g(K,h(()=>({error:i.value,name:e.name,size:e.size,eagerValidation:e.eagerValidation,validateOnInputDelay:e.validateOnInputDelay,errorPattern:e.errorPattern,hint:e.hint,description:e.description,help:e.help,ariaId:p}))),(r,U)=>(o(),C(t(F),{as:t(e).as,"data-orientation":t(e).orientation,"data-slot":"root",class:s(a.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:b(()=>[q("div",{"data-slot":"wrapper",class:s(a.value.wrapper({class:t(e).ui?.wrapper}))},[t(e).label||l.label?(o(),u("div",{key:0,"data-slot":"labelWrapper",class:s(a.value.labelWrapper({class:t(e).ui?.labelWrapper}))},[N(t(O),{for:d.value,"data-slot":"label",class:s(a.value.label({class:t(e).ui?.label}))},{default:b(()=>[n(r.$slots,"label",{label:t(e).label},()=>[c(m(t(e).label),1)])]),_:3},8,["for","class"]),t(e).hint||l.hint?(o(),u("span",{key:0,id:`${t(p)}-hint`,"data-slot":"hint",class:s(a.value.hint({class:t(e).ui?.hint}))},[n(r.$slots,"hint",{hint:t(e).hint},()=>[c(m(t(e).hint),1)])],10,L)):f("",!0)],2)):f("",!0),t(e).description||l.description?(o(),u("p",{key:1,id:`${t(p)}-description`,"data-slot":"description",class:s(a.value.description({class:t(e).ui?.description}))},[n(r.$slots,"description",{description:t(e).description},()=>[c(m(t(e).description),1)])],10,A)):f("",!0)],2),q("div",{class:s([(t(e).label||!!l.label||t(e).description||!!l.description)&&a.value.container({class:t(e).ui?.container})])},[n(r.$slots,"default",{error:i.value}),t(e).error!==!1&&(typeof i.value=="string"&&i.value||l.error)?(o(),u("div",{key:0,id:`${t(p)}-error`,"data-slot":"error",class:s(a.value.error({class:t(e).ui?.error}))},[n(r.$slots,"error",{error:i.value},()=>[c(m(i.value),1)])],10,J)):t(e).help||l.help?(o(),u("div",{key:1,id:`${t(p)}-help`,"data-slot":"help",class:s(a.value.help({class:t(e).ui?.help}))},[n(r.$slots,"help",{help:t(e).help},()=>[c(m(t(e).help),1)])],10,T)):f("",!0)],2)]),_:3},8,["as","data-orientation","class"]))}};export{H as _};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ad as getFailureCluster, at as getClusterDiagnosis, az as getTestRunCase, aA as getTestRunCaseTraces, aB as getExecutionDiagnosis, aC as classifyEvidenceFile, aD as contentTypeForPath } from '../nitro/nitro.mjs';
|
|
2
2
|
|
|
3
3
|
function caseSlug(title, executionId) {
|
|
4
4
|
const base = title.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 60);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { aW as markers, t as testRuns } from '../nitro/nitro.mjs';
|
|
2
2
|
import { eq, asc, and, lt, desc } from 'drizzle-orm';
|
|
3
3
|
import { D as DEFAULT_MARKER_CATEGORY, M as MARKER_CATEGORY_IDS } from './marker-categories.mjs';
|
|
4
4
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { eq, and, isNull, asc, desc, inArray, gt, sql } from 'drizzle-orm';
|
|
2
|
-
import {
|
|
2
|
+
import { b4 as testCases, be as quarantinedTests, t as testRuns, w as testRunsCases } from '../nitro/nitro.mjs';
|
|
3
3
|
|
|
4
4
|
const RELEASE_AFTER_CONSECUTIVE_PASSES = 5;
|
|
5
5
|
const STREAK_SCAN_LIMIT = 30;
|
|
@@ -1,63 +1,79 @@
|
|
|
1
|
+
const ANALYTICS_BANDS = [
|
|
2
|
+
{ id: "health", label: "Where things stand", description: "The state of every project right now." },
|
|
3
|
+
{ id: "pain", label: "Where the pain is", description: "What is costing you the most time and attention." },
|
|
4
|
+
{ id: "trends", label: "Which way it is going", description: "Movement over the selected period." },
|
|
5
|
+
{ id: "detail", label: "Detail", description: "Breakdowns to reach for once you know what you are chasing." }
|
|
6
|
+
];
|
|
1
7
|
const ANALYTICS_WIDGETS = [
|
|
8
|
+
{
|
|
9
|
+
id: "portfolio",
|
|
10
|
+
title: "Portfolio health",
|
|
11
|
+
icon: "i-lucide-table-properties",
|
|
12
|
+
size: "full",
|
|
13
|
+
band: "health"
|
|
14
|
+
},
|
|
2
15
|
{
|
|
3
16
|
id: "insights",
|
|
4
17
|
title: "Insights",
|
|
5
18
|
icon: "i-lucide-lightbulb",
|
|
6
|
-
size: "half"
|
|
19
|
+
size: "half",
|
|
20
|
+
band: "health"
|
|
7
21
|
},
|
|
8
22
|
{
|
|
9
23
|
id: "pass-rate-heatmap",
|
|
10
24
|
title: "Pass rate heatmap",
|
|
11
25
|
icon: "i-lucide-grid-3x3",
|
|
12
|
-
size: "half"
|
|
26
|
+
size: "half",
|
|
27
|
+
band: "health"
|
|
13
28
|
},
|
|
14
29
|
{
|
|
15
|
-
id: "
|
|
16
|
-
title: "
|
|
17
|
-
icon: "i-lucide-
|
|
18
|
-
size: "
|
|
19
|
-
|
|
20
|
-
{
|
|
21
|
-
id: "ci-time-trend",
|
|
22
|
-
title: "CI time",
|
|
23
|
-
icon: "i-lucide-timer",
|
|
24
|
-
size: "half"
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
id: "wasted-time",
|
|
28
|
-
title: "Wasted CI time",
|
|
29
|
-
icon: "i-lucide-hourglass",
|
|
30
|
-
size: "half"
|
|
30
|
+
id: "cluster-landscape",
|
|
31
|
+
title: "Failure clusters",
|
|
32
|
+
icon: "i-lucide-layers",
|
|
33
|
+
size: "half",
|
|
34
|
+
band: "pain"
|
|
31
35
|
},
|
|
32
36
|
{
|
|
33
37
|
id: "flaky-leaderboard",
|
|
34
38
|
title: "Flakiest tests",
|
|
35
39
|
icon: "i-lucide-repeat",
|
|
36
|
-
size: "half"
|
|
40
|
+
size: "half",
|
|
41
|
+
band: "pain"
|
|
37
42
|
},
|
|
38
43
|
{
|
|
39
|
-
id: "
|
|
40
|
-
title: "
|
|
41
|
-
icon: "i-lucide-
|
|
42
|
-
size: "half"
|
|
44
|
+
id: "wasted-time",
|
|
45
|
+
title: "Wasted CI time",
|
|
46
|
+
icon: "i-lucide-hourglass",
|
|
47
|
+
size: "half",
|
|
48
|
+
band: "pain"
|
|
43
49
|
},
|
|
44
50
|
{
|
|
45
51
|
id: "regression-velocity",
|
|
46
52
|
title: "Regression velocity",
|
|
47
53
|
icon: "i-lucide-git-pull-request-arrow",
|
|
48
|
-
size: "half"
|
|
54
|
+
size: "half",
|
|
55
|
+
band: "trends"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: "ci-time-trend",
|
|
59
|
+
title: "CI time",
|
|
60
|
+
icon: "i-lucide-timer",
|
|
61
|
+
size: "half",
|
|
62
|
+
band: "trends"
|
|
49
63
|
},
|
|
50
64
|
{
|
|
51
65
|
id: "browser-matrix",
|
|
52
66
|
title: "Browser matrix",
|
|
53
67
|
icon: "i-lucide-monitor-smartphone",
|
|
54
|
-
size: "half"
|
|
68
|
+
size: "half",
|
|
69
|
+
band: "detail"
|
|
55
70
|
},
|
|
56
71
|
{
|
|
57
72
|
id: "slow-endpoints",
|
|
58
73
|
title: "Slow endpoints",
|
|
59
74
|
icon: "i-lucide-gauge",
|
|
60
|
-
size: "full"
|
|
75
|
+
size: "full",
|
|
76
|
+
band: "detail"
|
|
61
77
|
}
|
|
62
78
|
];
|
|
63
79
|
const WIDGET_IDS = new Set(ANALYTICS_WIDGETS.map((w) => w.id));
|
|
@@ -97,5 +113,5 @@ function analyticsScopeToQuery(scope) {
|
|
|
97
113
|
return query;
|
|
98
114
|
}
|
|
99
115
|
|
|
100
|
-
export {
|
|
116
|
+
export { ANALYTICS_BANDS as A, DEFAULT_ANALYTICS_DAYS as D, MAX_ANALYTICS_DAYS as M, ANALYTICS_WIDGETS as a, analyticsScopeToQuery as b, isAnalyticsWidgetId as i, parseAnalyticsScope as p };
|
|
101
117
|
//# sourceMappingURL=scope.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.mjs","sources":["../../../../shared/analytics/registry.ts","../../../../shared/analytics/scope.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scope.mjs","sources":["../../../../shared/analytics/registry.ts","../../../../shared/analytics/scope.ts"],"names":[],"mappings":"AAmBO,MAAM,eAAA,GAAiF;AAAA,EAC5F,EAAE,EAAA,EAAI,QAAA,EAAU,KAAA,EAAO,oBAAA,EAAsB,aAAa,uCAAA,EAAwC;AAAA,EAClG,EAAE,EAAA,EAAI,MAAA,EAAQ,KAAA,EAAO,mBAAA,EAAqB,aAAa,kDAAA,EAAmD;AAAA,EAC1G,EAAE,EAAA,EAAI,QAAA,EAAU,KAAA,EAAO,uBAAA,EAAyB,aAAa,oCAAA,EAAqC;AAAA,EAClG,EAAE,EAAA,EAAI,QAAA,EAAU,KAAA,EAAO,QAAA,EAAU,aAAa,6DAAA;AAChD;AAcO,MAAM,iBAAA,GAAoB;AAAA,EAC/B;AAAA,IACE,EAAA,EAAI,WAAA;AAAA,IACJ,KAAA,EAAO,kBAAA;AAAA,IACP,IAAA,EAAM,2BAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,EAAA,EAAI,UAAA;AAAA,IACJ,KAAA,EAAO,UAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,EAAA,EAAI,mBAAA;AAAA,IACJ,KAAA,EAAO,mBAAA;AAAA,IACP,IAAA,EAAM,mBAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,EAAA,EAAI,mBAAA;AAAA,IACJ,KAAA,EAAO,kBAAA;AAAA,IACP,IAAA,EAAM,iBAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,EAAA,EAAI,mBAAA;AAAA,IACJ,KAAA,EAAO,gBAAA;AAAA,IACP,IAAA,EAAM,iBAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,EAAA,EAAI,aAAA;AAAA,IACJ,KAAA,EAAO,gBAAA;AAAA,IACP,IAAA,EAAM,oBAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,EAAA,EAAI,qBAAA;AAAA,IACJ,KAAA,EAAO,qBAAA;AAAA,IACP,IAAA,EAAM,iCAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,EAAA,EAAI,eAAA;AAAA,IACJ,KAAA,EAAO,SAAA;AAAA,IACP,IAAA,EAAM,gBAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,EAAA,EAAI,gBAAA;AAAA,IACJ,KAAA,EAAO,gBAAA;AAAA,IACP,IAAA,EAAM,6BAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA;AAAA,IACE,EAAA,EAAI,gBAAA;AAAA,IACJ,KAAA,EAAO,gBAAA;AAAA,IACP,IAAA,EAAM,gBAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA;AAEV;AAIA,MAAM,UAAA,GAAa,IAAI,GAAA,CAAY,iBAAA,CAAkB,IAAI,CAAC,CAAA,KAAM,CAAA,CAAE,EAAE,CAAC,CAAA;AAE9D,SAAS,oBAAoB,KAAA,EAA4C;AAC9E,EAAA,OAAO,OAAO,KAAA,KAAU,QAAA,IAAY,UAAA,CAAW,IAAI,KAAK,CAAA;AAC1D;;AClGO,MAAM,sBAAA,GAAyB;AAG/B,MAAM,kBAAA,GAAqB;AAIlC,SAAS,IAAA,CAAK,OAAkB,GAAA,EAA4B;AA1B5D,EAAA,IAAA,EAAA;AA2BE,EAAA,IAAI,CAAC,OAAO,OAAO,IAAA;AACnB,EAAA,IAAI,KAAA,YAAiB,eAAA,EAAiB,OAAO,KAAA,CAAM,IAAI,GAAG,CAAA;AAC1D,EAAA,MAAM,KAAA,GAAS,MAAkC,GAAG,CAAA;AACpD,EAAA,IAAI,KAAA,IAAS,MAAM,OAAO,IAAA;AAC1B,EAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,MAAA,CAAA,CAAO,EAAA,GAAA,KAAA,CAAM,CAAC,CAAA,KAAP,IAAA,GAAA,EAAA,GAAY,EAAE,CAAA,GAAI,MAAA,CAAO,KAAK,CAAA;AACrE;AAEO,SAAS,oBAAoB,KAAA,EAAkC;AACpE,EAAA,MAAM,OAAA,GAAU,MAAA,CAAO,IAAA,CAAK,KAAA,EAAO,MAAM,CAAC,CAAA;AAC1C,EAAA,MAAM,IAAA,GACJ,MAAA,CAAO,QAAA,CAAS,OAAO,KAAK,OAAA,GAAU,CAAA,GAClC,IAAA,CAAK,GAAA,CAAI,kBAAA,EAAoB,IAAA,CAAK,KAAA,CAAM,OAAO,CAAC,CAAA,GAChD,sBAAA;AAEN,EAAA,MAAM,WAAA,GAAc,IAAA,CAAK,KAAA,EAAO,UAAU,CAAA;AAC1C,EAAA,MAAM,UAAA,GAAa,cACf,WAAA,CACG,KAAA,CAAM,GAAG,CAAA,CACT,GAAA,CAAI,CAAC,CAAA,KAAM,MAAA,CAAO,CAAC,CAAC,CAAA,CACpB,MAAA,CAAO,CAAC,CAAA,KAAM,MAAA,CAAO,UAAU,CAAC,CAAA,IAAK,CAAA,GAAI,CAAC,CAAA,GAC7C,MAAA;AAEJ,EAAA,MAAM,WAAA,GAAc,IAAA,CAAK,KAAA,EAAO,aAAa,CAAA,IAAK,IAAA;AAClD,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,KAAA,EAAO,cAAc,CAAA,KAAM,OAAA;AAErD,EAAA,OAAO;AAAA,IACL,IAAA;AAAA,IACA,UAAA,EAAY,UAAA,IAAc,UAAA,CAAW,MAAA,GAAS,IAAI,UAAA,GAAa,MAAA;AAAA,IAC/D,WAAA;AAAA,IACA;AAAA,GACF;AACF;AAGO,SAAS,sBAAsB,KAAA,EAA+C;AACnF,EAAA,MAAM,QAAgC,EAAE,IAAA,EAAM,MAAA,CAAO,KAAA,CAAM,IAAI,CAAA,EAAE;AACjE,EAAA,IAAI,KAAA,CAAM,UAAA,IAAc,KAAA,CAAM,UAAA,CAAW,MAAA,GAAS,CAAA,EAAG,KAAA,CAAM,QAAA,GAAW,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK,GAAG,CAAA;AAC/F,EAAA,IAAI,KAAA,CAAM,WAAA,EAAa,KAAA,CAAM,WAAA,GAAc,KAAA,CAAM,WAAA;AACjD,EAAA,IAAI,CAAC,KAAA,CAAM,YAAA,EAAc,KAAA,CAAM,YAAA,GAAe,OAAA;AAC9C,EAAA,OAAO,KAAA;AACT;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, computed, mergeProps, unref, useSlots, withCtx, renderSlot, openBlock, createBlock, createCommentVNode, createTextVNode, toDisplayString, createVNode, Fragment, renderList, useSSRContext } from 'vue';
|
|
2
2
|
import { ssrRenderComponent, ssrRenderClass, ssrRenderList, ssrRenderSlot, ssrInterpolate } from 'vue/server-renderer';
|
|
3
3
|
import { a as useComponentProps, D as useForwardProps, Y as reactiveOmit, C as useLocale, b as useAppConfig, t as tv, m as _sfc_main$k, P as Primitive, q as _sfc_main$l, Z as pickLinkProps, $ as _sfc_main$m, o as _sfc_main$p, V as _sfc_main$n, U as get } from './server.mjs';
|
|
4
|
-
import { u as useDashboard } from './DashboardSidebarToggle-
|
|
4
|
+
import { u as useDashboard } from './DashboardSidebarToggle-8EpBhX0R.mjs';
|
|
5
5
|
|
|
6
6
|
const theme$1 = {
|
|
7
7
|
"base": "hidden lg:flex",
|
|
@@ -519,4 +519,4 @@ _sfc_main.setup = (props, ctx) => {
|
|
|
519
519
|
};
|
|
520
520
|
|
|
521
521
|
export { _sfc_main$1 as _, _sfc_main as a };
|
|
522
|
-
//# sourceMappingURL=Breadcrumb-
|
|
522
|
+
//# sourceMappingURL=Breadcrumb-3itRZ1uz.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Breadcrumb-3itRZ1uz.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/Breadcrumb-3itRZ1uz.js"],"names":["_sfc_main$2","_sfc_main$3","_sfc_main$4","_sfc_main$5","_sfc_main$6"],"mappings":"","x_google_ignoreList":[0]}
|
package/.output/server/chunks/build/{BreadcrumbNav-DO7I_z-n.mjs → BreadcrumbNav-GnjBvXuT.mjs}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as _sfc_main$1 } from './Breadcrumb-
|
|
1
|
+
import { a as _sfc_main$1 } from './Breadcrumb-3itRZ1uz.mjs';
|
|
2
2
|
import { K as _sfc_main$a, m as _sfc_main$k, o as _sfc_main$p } from './server.mjs';
|
|
3
3
|
import { defineComponent, computed, createSlots, renderList, withCtx, renderSlot, unref, createVNode, useSSRContext } from 'vue';
|
|
4
4
|
import { ssrRenderComponent, ssrRenderSlot, ssrInterpolate } from 'vue/server-renderer';
|
|
@@ -108,4 +108,4 @@ _sfc_main.setup = (props, ctx) => {
|
|
|
108
108
|
const __nuxt_component_3 = Object.assign(_sfc_main, { __name: "BreadcrumbNav" });
|
|
109
109
|
|
|
110
110
|
export { __nuxt_component_3 as _ };
|
|
111
|
-
//# sourceMappingURL=BreadcrumbNav-
|
|
111
|
+
//# sourceMappingURL=BreadcrumbNav-GnjBvXuT.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BreadcrumbNav-GnjBvXuT.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/BreadcrumbNav-GnjBvXuT.js"],"names":["_sfc_main$2","_sfc_main$3","_sfc_main$4"],"mappings":"","x_google_ignoreList":[0]}
|