@piwitests/server 0.25.0 → 0.26.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/3HmftUHT.js +1 -0
- package/.output/public/_nuxt/9oKY4Zb7.js +1 -0
- package/.output/public/_nuxt/B0eHOux4.js +1 -0
- package/.output/public/_nuxt/B1KjIR-q.js +1 -0
- package/.output/public/_nuxt/B4NjylBn.js +1 -0
- package/.output/public/_nuxt/B6djubIK.js +1 -0
- package/.output/public/_nuxt/B7uPoZ7T.js +1 -0
- package/.output/public/_nuxt/B7zo6PK8.js +1 -0
- package/.output/public/_nuxt/B8tezsWe.js +2 -0
- package/.output/public/_nuxt/BIamiwb7.js +5 -0
- package/.output/public/_nuxt/BL8cYWsR.js +1 -0
- package/.output/public/_nuxt/BMlKQMjM.js +1 -0
- package/.output/public/_nuxt/BO4sfkbw.js +1 -0
- package/.output/public/_nuxt/BOn5q0rT.js +1 -0
- package/.output/public/_nuxt/BPhGDGAR.js +1 -0
- package/.output/public/_nuxt/BTG_PmM5.js +1 -0
- package/.output/public/_nuxt/BV8EzO8q.js +1 -0
- package/.output/public/_nuxt/BY9A1aOT.js +1 -0
- package/.output/public/_nuxt/Bb_1uAHn.js +1 -0
- package/.output/public/_nuxt/BdQ7kfxJ.js +254 -0
- package/.output/public/_nuxt/BdyXNI2_.js +1 -0
- package/.output/public/_nuxt/Be0bwdsi.js +1 -0
- package/.output/public/_nuxt/Bg63qh8W.js +1 -0
- package/.output/public/_nuxt/Bh2WA4IJ.js +1 -0
- package/.output/public/_nuxt/BilJoEne.js +1 -0
- package/.output/public/_nuxt/BkHJoHpc.js +1 -0
- package/.output/public/_nuxt/BnhWd06P.js +1 -0
- package/.output/public/_nuxt/Bo73sAu8.js +1 -0
- package/.output/public/_nuxt/Bp2zrrkV.js +1 -0
- package/.output/public/_nuxt/Bp55g9gr.js +7 -0
- package/.output/public/_nuxt/BsGvSoPC.js +1 -0
- package/.output/public/_nuxt/BtcDY0Du.js +1 -0
- package/.output/public/_nuxt/C2hIM5f9.js +1 -0
- package/.output/public/_nuxt/C2yZcDch.js +1 -0
- package/.output/public/_nuxt/C5X_N4R7.js +79 -0
- package/.output/public/_nuxt/C6R4tyud.js +1 -0
- package/.output/public/_nuxt/C9A3sPDo.js +1 -0
- package/.output/public/_nuxt/CEgRB8H9.js +9 -0
- package/.output/public/_nuxt/CFKbXp6V.js +17 -0
- package/.output/public/_nuxt/CFg5qdS0.js +1 -0
- package/.output/public/_nuxt/CHWW6xiX.js +1 -0
- package/.output/public/_nuxt/CIPvUOic.js +2 -0
- package/.output/public/_nuxt/CK2AMqz_.js +1 -0
- package/.output/public/_nuxt/CLrLFf3s.js +4 -0
- package/.output/public/_nuxt/CMVTTE_g.js +1 -0
- package/.output/public/_nuxt/CPrVhXJk.js +1 -0
- package/.output/public/_nuxt/CTFUlsXp.js +1 -0
- package/.output/public/_nuxt/CUWrUpTl.js +1 -0
- package/.output/public/_nuxt/CUjzhXN1.js +1 -0
- package/.output/public/_nuxt/CVcFbORW.js +9 -0
- package/.output/public/_nuxt/CY1UsEbI.js +1 -0
- package/.output/public/_nuxt/CZ6WR7uw.js +1 -0
- package/.output/public/_nuxt/CZXeJs2k.js +1 -0
- package/.output/public/_nuxt/CZlz5y13.js +1 -0
- package/.output/public/_nuxt/C_eXufkv.js +1 -0
- package/.output/public/_nuxt/CbzgEkmW.js +2 -0
- package/.output/public/_nuxt/CfV2N201.js +1 -0
- package/.output/public/_nuxt/Cf_a8ynB.js +2 -0
- package/.output/public/_nuxt/ChlP20A5.js +6 -0
- package/.output/public/_nuxt/CkV_UG8j.js +1 -0
- package/.output/public/_nuxt/CrZhoZuI.js +1 -0
- package/.output/public/_nuxt/CrsaY0R_.js +1 -0
- package/.output/public/_nuxt/CsGsLxHg.js +1 -0
- package/.output/public/_nuxt/CsJ9Ce4U.js +1 -0
- package/.output/public/_nuxt/CxRTKV-K.js +44 -0
- package/.output/public/_nuxt/CxspCKpR.js +5 -0
- package/.output/public/_nuxt/CxwnFFD0.js +1 -0
- package/.output/public/_nuxt/CyWOerIG.js +1 -0
- package/.output/public/_nuxt/D0TpBpCc.js +1 -0
- package/.output/public/_nuxt/D0XWJGhG.js +1 -0
- package/.output/public/_nuxt/D3LyIeiJ.js +1 -0
- package/.output/public/_nuxt/D56yp7m9.js +1 -0
- package/.output/public/_nuxt/D5SN7rPK.js +1 -0
- package/.output/public/_nuxt/D72Ce8Ff.js +1 -0
- package/.output/public/_nuxt/DCeZxpxe.js +5 -0
- package/.output/public/_nuxt/DKgbchez.js +1 -0
- package/.output/public/_nuxt/DKhqIou2.js +1 -0
- package/.output/public/_nuxt/DLN-CQXF.js +5 -0
- package/.output/public/_nuxt/DPPhFZOr.js +1 -0
- package/.output/public/_nuxt/DR1jFptD.js +1 -0
- package/.output/public/_nuxt/DTtizz85.js +1 -0
- package/.output/public/_nuxt/DUC3QnqW.js +4 -0
- package/.output/public/_nuxt/DVIIj6Vv.js +1 -0
- package/.output/public/_nuxt/D_SD71Qf.js +1 -0
- package/.output/public/_nuxt/DadksxQ9.js +1 -0
- package/.output/public/_nuxt/DcccidY5.js +4 -0
- package/.output/public/_nuxt/DqkCbAzo.js +1 -0
- package/.output/public/_nuxt/Drh1_ASq.js +1 -0
- package/.output/public/_nuxt/DtGJeysS.js +1 -0
- package/.output/public/_nuxt/DwH4SIZE.js +1 -0
- package/.output/public/_nuxt/DwZS0oRm.js +2 -0
- package/.output/public/_nuxt/DxPZIuWy.js +1 -0
- package/.output/public/_nuxt/Dyb1FouX.js +1 -0
- package/.output/public/_nuxt/DzJa19LG.js +1 -0
- package/.output/public/_nuxt/EJllK0wm.js +1 -0
- package/.output/public/_nuxt/G2J1dVVb.js +1 -0
- package/.output/public/_nuxt/Gn1Ns00e.js +3 -0
- package/.output/public/_nuxt/HGYIpJtg.js +1 -0
- package/.output/public/_nuxt/IoE3eJ9F.js +1 -0
- package/.output/public/_nuxt/LWIyaZKe.js +1 -0
- package/.output/public/_nuxt/Q2oJNyXL.js +1 -0
- package/.output/public/_nuxt/R7AVOWi_.js +1 -0
- package/.output/public/_nuxt/Sx5-c-bZ.js +1 -0
- package/.output/public/_nuxt/WZXZeGYt.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/a5fb24cc-65e3-4e55-aa12-038fe2de4754.json +1 -0
- package/.output/public/_nuxt/dg6uXTyR.js +1 -0
- package/.output/public/_nuxt/entry.BFe0Ua9k.css +1 -0
- package/.output/public/_nuxt/i7znB42v.js +1 -0
- package/.output/public/_nuxt/igDJCTgt.js +1 -0
- package/.output/public/_nuxt/j2eGYaRa.js +1 -0
- package/.output/public/_nuxt/jv8U_Tup.js +1 -0
- package/.output/public/_nuxt/oA84LLqO.js +1 -0
- package/.output/public/_nuxt/r-HZNbp3.js +5 -0
- package/.output/public/_nuxt/r6zkA1SE.js +1 -0
- package/.output/public/_nuxt/rPG7kzfL.js +1 -0
- package/.output/public/_nuxt/vcSKeWsW.js +1 -0
- package/.output/public/_nuxt/xKX9IHe3.js +2 -0
- package/.output/public/demo/seed.version.json +2 -2
- package/.output/server/chunks/_/collect.mjs +1 -1
- package/.output/server/chunks/_/icons2.mjs +11506 -0
- package/.output/server/chunks/_/icons2.mjs.map +1 -0
- package/.output/server/chunks/_/markers.mjs +3 -3
- package/.output/server/chunks/_/markers.mjs.map +1 -1
- package/.output/server/chunks/_/scope.mjs +3 -0
- package/.output/server/chunks/_/scope.mjs.map +1 -1
- package/.output/server/chunks/_/users.mjs +15 -2
- package/.output/server/chunks/_/users.mjs.map +1 -1
- package/.output/server/chunks/build/Alert-gs8RgKxH.mjs +479 -0
- package/.output/server/chunks/build/Alert-gs8RgKxH.mjs.map +1 -0
- package/.output/server/chunks/build/Breadcrumb-DtV_L8Gt.mjs +522 -0
- package/.output/server/chunks/build/Breadcrumb-DtV_L8Gt.mjs.map +1 -0
- package/.output/server/chunks/build/BreadcrumbNav-DBnGj5Jq.mjs +111 -0
- package/.output/server/chunks/build/BreadcrumbNav-DBnGj5Jq.mjs.map +1 -0
- package/.output/server/chunks/build/BrowserBadge-vFb1ERG_.mjs +89 -0
- package/.output/server/chunks/build/BrowserBadge-vFb1ERG_.mjs.map +1 -0
- package/.output/server/chunks/build/ChartMarkerLines-BXqUpUcs.mjs +113 -0
- package/.output/server/chunks/build/ChartMarkerLines-BXqUpUcs.mjs.map +1 -0
- package/.output/server/chunks/build/ChartTooltip-DoF6Smyc.mjs +298 -0
- package/.output/server/chunks/build/ChartTooltip-DoF6Smyc.mjs.map +1 -0
- package/.output/server/chunks/build/Checkbox-ChSYhiUz.mjs +746 -0
- package/.output/server/chunks/build/Checkbox-ChSYhiUz.mjs.map +1 -0
- package/.output/server/chunks/build/CodeBlock-CmvKHaq8.mjs +54 -0
- package/.output/server/chunks/build/CodeBlock-CmvKHaq8.mjs.map +1 -0
- package/.output/server/chunks/build/DashboardNavbar-C3PsNVJt.mjs +270 -0
- package/.output/server/chunks/build/DashboardNavbar-C3PsNVJt.mjs.map +1 -0
- package/.output/server/chunks/build/DashboardSidebarToggle-a5KYecZ0.mjs +480 -0
- package/.output/server/chunks/build/DashboardSidebarToggle-a5KYecZ0.mjs.map +1 -0
- package/.output/server/chunks/build/DataLocationCard-ChV02QJj.mjs +102 -0
- package/.output/server/chunks/build/DataLocationCard-ChV02QJj.mjs.map +1 -0
- package/.output/server/chunks/build/DesktopRunLocallyButton-BfmbZpiL.mjs +1122 -0
- package/.output/server/chunks/build/DesktopRunLocallyButton-BfmbZpiL.mjs.map +1 -0
- package/.output/server/chunks/build/DiagnosisPanel-C_ndadzP.mjs +1207 -0
- package/.output/server/chunks/build/DiagnosisPanel-C_ndadzP.mjs.map +1 -0
- package/.output/server/chunks/build/DiagnosisResult-GAjo6Lt3.mjs +1524 -0
- package/.output/server/chunks/build/DiagnosisResult-GAjo6Lt3.mjs.map +1 -0
- package/.output/server/chunks/build/DurationValue-CObiBDnH.mjs +43 -0
- package/.output/server/chunks/build/DurationValue-CObiBDnH.mjs.map +1 -0
- package/.output/server/chunks/build/EntityLinks-BcpvMt_V.mjs +325 -0
- package/.output/server/chunks/build/EntityLinks-BcpvMt_V.mjs.map +1 -0
- package/.output/server/chunks/build/EnvManagedBadge-_8GfjWjE.mjs +71 -0
- package/.output/server/chunks/build/EnvManagedBadge-_8GfjWjE.mjs.map +1 -0
- package/.output/server/chunks/build/FeatureUnavailable-Buoyoqx1.mjs +83 -0
- package/.output/server/chunks/build/FeatureUnavailable-Buoyoqx1.mjs.map +1 -0
- package/.output/server/chunks/build/FormField-GYHKiSI6.mjs +282 -0
- package/.output/server/chunks/build/FormField-GYHKiSI6.mjs.map +1 -0
- package/.output/server/chunks/build/GetStartedWizard-tL3U_qM1.mjs +510 -0
- package/.output/server/chunks/build/GetStartedWizard-tL3U_qM1.mjs.map +1 -0
- package/.output/server/chunks/build/HelpHint-C96TlqxY.mjs +1070 -0
- package/.output/server/chunks/build/HelpHint-C96TlqxY.mjs.map +1 -0
- package/.output/server/chunks/build/MetaStripGroup-Cp2WCQf7.mjs +193 -0
- package/.output/server/chunks/build/MetaStripGroup-Cp2WCQf7.mjs.map +1 -0
- package/.output/server/chunks/build/MiniRunBars-CcSn_9Wl.mjs +59 -0
- package/.output/server/chunks/build/MiniRunBars-CcSn_9Wl.mjs.map +1 -0
- package/.output/server/chunks/build/Modal-BGBGJtVH.mjs +1472 -0
- package/.output/server/chunks/build/Modal-BGBGJtVH.mjs.map +1 -0
- package/.output/server/chunks/build/NavigationMenu-D4ZpdCm_.mjs +4155 -0
- package/.output/server/chunks/build/NavigationMenu-D4ZpdCm_.mjs.map +1 -0
- package/.output/server/chunks/build/OpenInIdeLink-Bnl-_som.mjs +396 -0
- package/.output/server/chunks/build/OpenInIdeLink-Bnl-_som.mjs.map +1 -0
- package/.output/server/chunks/build/ProjectTestCasesTable-saHYJoyQ.mjs +2407 -0
- package/.output/server/chunks/build/ProjectTestCasesTable-saHYJoyQ.mjs.map +1 -0
- package/.output/server/chunks/build/RovingFocusItem-CLjuqlIR.mjs +100 -0
- package/.output/server/chunks/build/RovingFocusItem-CLjuqlIR.mjs.map +1 -0
- package/.output/server/chunks/build/RunReports-CKYYRC59.mjs +57 -0
- package/.output/server/chunks/build/RunReports-CKYYRC59.mjs.map +1 -0
- package/.output/server/chunks/build/RunStatusBadge-CWhmAmKb.mjs +59 -0
- package/.output/server/chunks/build/RunStatusBadge-CWhmAmKb.mjs.map +1 -0
- package/.output/server/chunks/build/SectionCard-BB1O3uXd.mjs +142 -0
- package/.output/server/chunks/build/SectionCard-BB1O3uXd.mjs.map +1 -0
- package/.output/server/chunks/build/Select-COU8NARj.mjs +3572 -0
- package/.output/server/chunks/build/Select-COU8NARj.mjs.map +1 -0
- package/.output/server/chunks/build/SelectMenu-BUwwc3Qt.mjs +4400 -0
- package/.output/server/chunks/build/SelectMenu-BUwwc3Qt.mjs.map +1 -0
- package/.output/server/chunks/build/Separator-CQsq6WA9.mjs +421 -0
- package/.output/server/chunks/build/Separator-CQsq6WA9.mjs.map +1 -0
- package/.output/server/chunks/build/SettingsField-CEasBHu3.mjs +174 -0
- package/.output/server/chunks/build/SettingsField-CEasBHu3.mjs.map +1 -0
- package/.output/server/chunks/build/Slideover-DN5CvSnw.mjs +926 -0
- package/.output/server/chunks/build/Slideover-DN5CvSnw.mjs.map +1 -0
- package/.output/server/chunks/build/Switch-_NJhWmI9.mjs +655 -0
- package/.output/server/chunks/build/Switch-_NJhWmI9.mjs.map +1 -0
- package/.output/server/chunks/build/Table-BET-DOtX.mjs +949 -0
- package/.output/server/chunks/build/Table-BET-DOtX.mjs.map +1 -0
- package/.output/server/chunks/build/Tabs-CC34LIUz.mjs +1058 -0
- package/.output/server/chunks/build/Tabs-CC34LIUz.mjs.map +1 -0
- package/.output/server/chunks/build/TagBadge-aGUzbCxx.mjs +31 -0
- package/.output/server/chunks/build/TagBadge-aGUzbCxx.mjs.map +1 -0
- package/.output/server/chunks/build/TestCaseHistoryChart-BgI6P_zS.mjs +221 -0
- package/.output/server/chunks/build/TestCaseHistoryChart-BgI6P_zS.mjs.map +1 -0
- package/.output/server/chunks/build/TestStatusBar-DR8jM5th.mjs +109 -0
- package/.output/server/chunks/build/TestStatusBar-DR8jM5th.mjs.map +1 -0
- package/.output/server/chunks/build/Textarea-CmjqdiIA.mjs +605 -0
- package/.output/server/chunks/build/Textarea-CmjqdiIA.mjs.map +1 -0
- package/.output/server/chunks/build/Tooltip-CK0ucuXC.mjs +874 -0
- package/.output/server/chunks/build/Tooltip-CK0ucuXC.mjs.map +1 -0
- package/.output/server/chunks/build/VisuallyHiddenInput-D4E5aJCQ.mjs +142 -0
- package/.output/server/chunks/build/VisuallyHiddenInput-D4E5aJCQ.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-B7Dw490u.mjs +8608 -0
- package/.output/server/chunks/build/_id_-B7Dw490u.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-DVPb1S93.mjs +8736 -0
- package/.output/server/chunks/build/_id_-DVPb1S93.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-kkexEH_q.mjs +1418 -0
- package/.output/server/chunks/build/_id_-kkexEH_q.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-rQhFY0fN.mjs +4161 -0
- package/.output/server/chunks/build/_id_-rQhFY0fN.mjs.map +1 -0
- package/.output/server/chunks/build/about-C4AbyQ4q.mjs +698 -0
- package/.output/server/chunks/build/about-C4AbyQ4q.mjs.map +1 -0
- package/.output/server/chunks/build/account-B45bYZd1.mjs +920 -0
- package/.output/server/chunks/build/account-B45bYZd1.mjs.map +1 -0
- package/.output/server/chunks/build/ai-CgN9xXFf.mjs +1850 -0
- package/.output/server/chunks/build/ai-CgN9xXFf.mjs.map +1 -0
- package/.output/server/chunks/build/analytics-BRkiUpwa.mjs +3784 -0
- package/.output/server/chunks/build/analytics-BRkiUpwa.mjs.map +1 -0
- package/.output/server/chunks/build/auto-heal-BnTdKHQq.mjs +533 -0
- package/.output/server/chunks/build/auto-heal-BnTdKHQq.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/compare-ykNFuMic.mjs +83 -0
- package/.output/server/chunks/build/compare-ykNFuMic.mjs.map +1 -0
- package/.output/server/chunks/build/db.client-DyVEaqk4.mjs +1196 -0
- package/.output/server/chunks/build/db.client-DyVEaqk4.mjs.map +1 -0
- package/.output/server/chunks/build/default-BGOdM_zA.mjs +6499 -0
- package/.output/server/chunks/build/default-BGOdM_zA.mjs.map +1 -0
- package/.output/server/chunks/build/docs-D7R5eJ1Z.mjs +1181 -0
- package/.output/server/chunks/build/docs-D7R5eJ1Z.mjs.map +1 -0
- package/.output/server/chunks/build/edit-BbL3k6c3.mjs +1640 -0
- package/.output/server/chunks/build/edit-BbL3k6c3.mjs.map +1 -0
- package/.output/server/chunks/build/fetch-DOcN2mHf.mjs +148 -0
- package/.output/server/chunks/build/fetch-DOcN2mHf.mjs.map +1 -0
- package/.output/server/chunks/build/forgot-password-CizombKP.mjs +297 -0
- package/.output/server/chunks/build/forgot-password-CizombKP.mjs.map +1 -0
- package/.output/server/chunks/build/help-content-BK3jcgLw.mjs +650 -0
- package/.output/server/chunks/build/help-content-BK3jcgLw.mjs.map +1 -0
- package/.output/server/chunks/build/import-ibAn_HB9.mjs +1023 -0
- package/.output/server/chunks/build/import-ibAn_HB9.mjs.map +1 -0
- package/.output/server/chunks/build/index-2GmuPNF-.mjs +457 -0
- package/.output/server/chunks/build/index-2GmuPNF-.mjs.map +1 -0
- package/.output/server/chunks/build/index-CqinXTVs.mjs +1700 -0
- package/.output/server/chunks/build/index-CqinXTVs.mjs.map +1 -0
- package/.output/server/chunks/build/index-D5A0DW7Y.mjs +93 -0
- package/.output/server/chunks/build/index-D5A0DW7Y.mjs.map +1 -0
- package/.output/server/chunks/build/index-DreB_S-d.mjs +1169 -0
- package/.output/server/chunks/build/index-DreB_S-d.mjs.map +1 -0
- package/.output/server/chunks/build/index-KsRegEjT.mjs +11040 -0
- package/.output/server/chunks/build/index-KsRegEjT.mjs.map +1 -0
- package/.output/server/chunks/build/isValueEqualOrExist-D4lZ8uRY.mjs +11 -0
- package/.output/server/chunks/build/isValueEqualOrExist-D4lZ8uRY.mjs.map +1 -0
- package/.output/server/chunks/build/login-DueFS2RU.mjs +835 -0
- package/.output/server/chunks/build/login-DueFS2RU.mjs.map +1 -0
- package/.output/server/chunks/build/mcp-Dwj29-uG.mjs +1593 -0
- package/.output/server/chunks/build/mcp-Dwj29-uG.mjs.map +1 -0
- package/.output/server/chunks/build/notifications-CjAn5FJj.mjs +1265 -0
- package/.output/server/chunks/build/notifications-CjAn5FJj.mjs.map +1 -0
- package/.output/server/chunks/build/performance-DRzcu_c7.mjs +581 -0
- package/.output/server/chunks/build/performance-DRzcu_c7.mjs.map +1 -0
- package/.output/server/chunks/build/pr-feedback-DR60oGBf.mjs +370 -0
- package/.output/server/chunks/build/pr-feedback-DR60oGBf.mjs.map +1 -0
- package/.output/server/chunks/build/reset-password-D6UnQTgI.mjs +355 -0
- package/.output/server/chunks/build/reset-password-D6UnQTgI.mjs.map +1 -0
- package/.output/server/chunks/build/selections-BjjolRZ9.mjs +1197 -0
- package/.output/server/chunks/build/selections-BjjolRZ9.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +341 -43
- package/.output/server/chunks/build/server.mjs.map +1 -1
- package/.output/server/chunks/build/settings-B3NWV9tu.mjs +282 -0
- package/.output/server/chunks/build/settings-B3NWV9tu.mjs.map +1 -0
- package/.output/server/chunks/build/settings-metadata-DwJk8uSt.mjs +164 -0
- package/.output/server/chunks/build/settings-metadata-DwJk8uSt.mjs.map +1 -0
- package/.output/server/chunks/build/setup-BlgFTixN.mjs +1065 -0
- package/.output/server/chunks/build/setup-BlgFTixN.mjs.map +1 -0
- package/.output/server/chunks/build/storage-C1O-FC0U.mjs +361 -0
- package/.output/server/chunks/build/storage-C1O-FC0U.mjs.map +1 -0
- package/.output/server/chunks/build/styles.mjs +0 -2
- package/.output/server/chunks/build/tags-dsvYrnii.mjs +375 -0
- package/.output/server/chunks/build/tags-dsvYrnii.mjs.map +1 -0
- package/.output/server/chunks/build/test-cases-CFiOuyK6.mjs +228 -0
- package/.output/server/chunks/build/test-cases-CFiOuyK6.mjs.map +1 -0
- package/.output/server/chunks/build/test-functions-CbmBi6az.mjs +552 -0
- package/.output/server/chunks/build/test-functions-CbmBi6az.mjs.map +1 -0
- package/.output/server/chunks/build/useAiStatus-CiK1MZbH.mjs +9 -0
- package/.output/server/chunks/build/useAiStatus-CiK1MZbH.mjs.map +1 -0
- package/.output/server/chunks/build/useCopyRich-DPKZKHvZ.mjs +5805 -0
- package/.output/server/chunks/build/useCopyRich-DPKZKHvZ.mjs.map +1 -0
- package/.output/server/chunks/build/useDesktopDownload-R_RWSgUV.mjs +46 -0
- package/.output/server/chunks/build/useDesktopDownload-R_RWSgUV.mjs.map +1 -0
- package/.output/server/chunks/build/useDesktopLocalRuns-BdELBy0Y.mjs +381 -0
- package/.output/server/chunks/build/useDesktopLocalRuns-BdELBy0Y.mjs.map +1 -0
- package/.output/server/chunks/build/useDesktopProjectLink-IUN7SIP2.mjs +84 -0
- package/.output/server/chunks/build/useDesktopProjectLink-IUN7SIP2.mjs.map +1 -0
- package/.output/server/chunks/build/useFormControl-8skMOTIf.mjs +9 -0
- package/.output/server/chunks/build/useFormControl-8skMOTIf.mjs.map +1 -0
- package/.output/server/chunks/build/useOpenInIde-DS4YXevu.mjs +95 -0
- package/.output/server/chunks/build/useOpenInIde-DS4YXevu.mjs.map +1 -0
- package/.output/server/chunks/build/useSettingsNav-Dg87E7kY.mjs +19 -0
- package/.output/server/chunks/build/useSettingsNav-Dg87E7kY.mjs.map +1 -0
- package/.output/server/chunks/build/useTreeViewCookie-BvoH7a_X.mjs +25 -0
- package/.output/server/chunks/build/useTreeViewCookie-BvoH7a_X.mjs.map +1 -0
- package/.output/server/chunks/build/users-DgsoiXxQ.mjs +747 -0
- package/.output/server/chunks/build/users-DgsoiXxQ.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +5513 -2266
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs +3 -3
- package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/stats.get.mjs +1 -1
- package/.output/server/chunks/routes/api/ai/status.get.mjs +1 -1
- package/.output/server/chunks/routes/api/ai/step-resolution.post.mjs +6 -5
- package/.output/server/chunks/routes/api/ai/step-resolution.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +16 -4
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/change-password.post.mjs +4 -4
- package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +4 -5
- package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/login.post.mjs +6 -8
- package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +2 -2
- package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +4 -4
- 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 +2 -2
- package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +7 -8
- package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +6 -5
- 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 -1
- package/.output/server/chunks/routes/api/auth/setup.post.mjs +8 -9
- package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +3 -3
- 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 +9 -8
- package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +5 -6
- 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 +2 -2
- 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 +2 -2
- 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 +7 -7
- package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +2 -2
- 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 +5 -5
- 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 +3 -3
- 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 +6 -6
- 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 -2
- 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 +12 -11
- 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 +12 -11
- 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 +3 -2
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +2 -2
- 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 +3 -3
- 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 +3 -3
- 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/share-links.get.mjs +54 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.post.mjs +91 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +3 -3
- 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 -2
- 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 +6 -5
- 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 +4 -4
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +4 -19
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get2.mjs +27 -11
- package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +12 -29
- package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get4.mjs +15 -4
- package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get5.mjs +2 -7
- package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get6.mjs +58 -0
- package/.output/server/chunks/routes/api/index.get6.mjs.map +1 -0
- package/.output/server/chunks/routes/api/index.post.mjs +20 -9
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post2.mjs +7 -7
- package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post3.mjs +4 -4
- package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post4.mjs +20 -13
- package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post5.mjs +6 -5
- package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post6.mjs +10 -17
- package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +4 -4
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs +3 -3
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs +4 -4
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +2 -2
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.patch.mjs +76 -0
- package/.output/server/chunks/routes/api/markers/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs +46 -12
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/ai-steps.get.mjs +3 -3
- package/.output/server/chunks/routes/api/projects/_id/ai-steps.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +2 -2
- 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 +3 -3
- 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 +3 -3
- 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 +6 -6
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +2 -2
- 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 +2 -2
- package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +3 -3
- 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 +4 -4
- package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +6 -6
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +4 -4
- 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 -4
- 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 +3 -4
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/selections/_key/resolve.get.mjs +75 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/_key/resolve.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/_key_.delete.mjs +61 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/_key_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/_key_.get.mjs +59 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/_key_.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/_key_.patch.mjs +67 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/_key_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/analytics.get.mjs +55 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/analytics.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/impact.post.mjs +64 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/impact.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/preview.post.mjs +60 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/preview.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/suggestions.get.mjs +58 -0
- package/.output/server/chunks/routes/api/projects/_id/selections/suggestions.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/selections.get.mjs +55 -0
- package/.output/server/chunks/routes/api/projects/_id/selections.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/selections.post.mjs +69 -0
- package/.output/server/chunks/routes/api/projects/_id/selections.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/share-links.get.mjs +55 -0
- package/.output/server/chunks/routes/api/projects/_id/share-links.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +4 -5
- 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 +3 -3
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs +6 -5
- package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs +3 -3
- package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs +2 -2
- package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs +3 -3
- package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +4 -5
- 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 -2
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs +3 -4
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.patch.mjs +91 -0
- package/.output/server/chunks/routes/api/projects/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/menu.get.mjs +2 -2
- package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs +2 -2
- package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects.get.mjs +3 -2
- package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/search.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +3 -2
- 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 -3
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs +6 -6
- package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/auto-heal.get.mjs +59 -0
- package/.output/server/chunks/routes/api/settings/auto-heal.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/settings/auto-heal.put.mjs +65 -0
- package/.output/server/chunks/routes/api/settings/auto-heal.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +3 -3
- package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs +15 -2
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +2 -2
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/setup-status.get.mjs +1 -1
- package/.output/server/chunks/routes/api/share-links/_id_.delete.mjs +60 -0
- package/.output/server/chunks/routes/api/share-links/_id_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/share-links/settings.get.mjs +53 -0
- package/.output/server/chunks/routes/api/share-links/settings.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/stream.get.mjs +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +3 -4
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +11 -8
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +3 -3
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.patch.mjs +77 -0
- package/.output/server/chunks/routes/api/tags/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +3 -3
- 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 +3 -3
- 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 -2
- 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 +2 -2
- package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-functions/_id_.patch.mjs +71 -0
- package/.output/server/chunks/routes/api/test-functions/_id_.patch.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +8 -7
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +4 -4
- 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 +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/dom-snapshot.get.mjs +65 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/dom-snapshot.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/environment-diff.get.mjs +54 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/environment-diff.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +2 -2
- 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/locator-healing.get.mjs +57 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/locator-healing.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/locator-pick.post.mjs +63 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/locator-pick.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.get.mjs +54 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.post.mjs +91 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network-body.get.mjs +63 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network-body.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network.get.mjs +58 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/trace-stacks.get.mjs +61 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/trace-stacks.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +3 -3
- 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/visual-diff.get.mjs +54 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/visual-diff.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +2 -2
- 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 +8 -8
- 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 +11 -11
- 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/events.post.mjs +69 -39
- 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 -2
- 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 +10 -8
- 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 +84 -12
- 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 +3 -3
- 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 -2
- 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 +3 -3
- 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 -2
- 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 +9 -5
- 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 -2
- 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 -2
- 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 -2
- 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 +3 -3
- 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 +5 -5
- package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs +4 -4
- 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 -2
- 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 +18 -15
- 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 +14 -11
- 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 +34 -25
- 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 +26 -18
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +5 -2
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs +3 -3
- package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +4 -4
- package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.get.mjs +4 -4
- 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 +4 -4
- package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +7 -6
- 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 +3 -3
- 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 +6 -6
- package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +6 -6
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id_.patch.mjs +9 -12
- package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/version.get.mjs +1 -1
- package/.output/server/chunks/routes/mcp.post.mjs +9 -4
- package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/routes/share/_token_.get.mjs +101 -0
- package/.output/server/chunks/routes/share/_token_.get.mjs.map +1 -0
- package/.output/server/chunks/tasks/sweep.mjs +7 -7
- package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
- package/.output/server/chunks/tasks/sweep2.mjs +7 -35
- package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
- package/.output/server/chunks/tasks/sweep3.mjs +95 -0
- package/.output/server/chunks/tasks/sweep3.mjs.map +1 -0
- package/.output/server/database/migrations/0046_strange_micromax.sql +1 -0
- package/.output/server/database/migrations/0047_lethal_white_tiger.sql +2 -0
- package/.output/server/database/migrations/0048_stormy_whizzer.sql +21 -0
- package/.output/server/database/migrations/0049_optimal_blue_blade.sql +22 -0
- package/.output/server/database/migrations/0050_rainy_snowbird.sql +1 -0
- package/.output/server/database/migrations/0051_brave_rafael_vega.sql +3 -0
- package/.output/server/database/migrations/0052_backfill_branch.sql +10 -0
- package/.output/server/database/migrations/0053_damp_dark_beast.sql +18 -0
- package/.output/server/database/migrations/meta/0046_snapshot.json +3786 -0
- package/.output/server/database/migrations/meta/0047_snapshot.json +3800 -0
- package/.output/server/database/migrations/meta/0048_snapshot.json +3935 -0
- package/.output/server/database/migrations/meta/0049_snapshot.json +4079 -0
- package/.output/server/database/migrations/meta/0050_snapshot.json +4086 -0
- package/.output/server/database/migrations/meta/0051_snapshot.json +4105 -0
- package/.output/server/database/migrations/meta/0052_snapshot.json +4105 -0
- package/.output/server/database/migrations/meta/0053_snapshot.json +4221 -0
- package/.output/server/database/migrations/meta/_journal.json +56 -0
- package/.output/server/database/migrations-pg/0047_boring_harry_osborn.sql +1 -0
- package/.output/server/database/migrations-pg/0048_right_gargoyle.sql +2 -0
- package/.output/server/database/migrations-pg/0049_plain_preak.sql +21 -0
- package/.output/server/database/migrations-pg/0050_shallow_mother_askani.sql +22 -0
- package/.output/server/database/migrations-pg/0051_military_drax.sql +1 -0
- package/.output/server/database/migrations-pg/0052_clean_patch.sql +3 -0
- package/.output/server/database/migrations-pg/0053_backfill_branch.sql +10 -0
- package/.output/server/database/migrations-pg/0054_smooth_malice.sql +18 -0
- package/.output/server/database/migrations-pg/meta/0047_snapshot.json +4492 -0
- package/.output/server/database/migrations-pg/meta/0048_snapshot.json +4504 -0
- package/.output/server/database/migrations-pg/meta/0049_snapshot.json +4667 -0
- package/.output/server/database/migrations-pg/meta/0050_snapshot.json +4853 -0
- package/.output/server/database/migrations-pg/meta/0051_snapshot.json +4859 -0
- package/.output/server/database/migrations-pg/meta/0052_snapshot.json +4898 -0
- package/.output/server/database/migrations-pg/meta/0053_snapshot.json +4898 -0
- package/.output/server/database/migrations-pg/meta/0054_snapshot.json +5043 -0
- package/.output/server/database/migrations-pg/meta/_journal.json +56 -0
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -53
- package/README.md +4 -4
- package/package.json +3 -3
- package/.output/public/_nuxt/5nOoVJzL.js +0 -1
- package/.output/public/_nuxt/6DSY_93j.js +0 -1
- package/.output/public/_nuxt/7vRR5W2L.js +0 -1
- package/.output/public/_nuxt/9Dtlg-K4.js +0 -1
- package/.output/public/_nuxt/9Yziijlb.js +0 -1
- package/.output/public/_nuxt/B-onBCAB.js +0 -1
- package/.output/public/_nuxt/B2bK5uNR.js +0 -1
- package/.output/public/_nuxt/B63B19Iv.js +0 -4
- package/.output/public/_nuxt/B77w1Eib.js +0 -1
- package/.output/public/_nuxt/BC5bqlfM.js +0 -1
- package/.output/public/_nuxt/BF5JDf9_.js +0 -1
- package/.output/public/_nuxt/BFVrl1ss.js +0 -1
- package/.output/public/_nuxt/BIHMeNW-.js +0 -1
- package/.output/public/_nuxt/BKqOGcst.js +0 -1
- package/.output/public/_nuxt/BLqooxh5.js +0 -1
- package/.output/public/_nuxt/BMfTUMYy.js +0 -1
- package/.output/public/_nuxt/BOrnSpTA.js +0 -1
- package/.output/public/_nuxt/BPQNVV4M.js +0 -1
- package/.output/public/_nuxt/BSKLNgre.js +0 -1
- package/.output/public/_nuxt/BTCWUyBX.js +0 -1
- package/.output/public/_nuxt/BUYmGTVP.js +0 -1
- package/.output/public/_nuxt/BWddBCom.js +0 -1
- package/.output/public/_nuxt/BYQ9lXQb.js +0 -1
- package/.output/public/_nuxt/BYWQ47QQ.js +0 -5
- package/.output/public/_nuxt/BYnqoVCE.js +0 -1
- package/.output/public/_nuxt/BaU2hm4B.js +0 -1
- package/.output/public/_nuxt/BbXvpkBp.js +0 -1
- package/.output/public/_nuxt/Bb_925DD.js +0 -1
- package/.output/public/_nuxt/BcHU1KNK.js +0 -1
- package/.output/public/_nuxt/BdUGUwvE.js +0 -1
- package/.output/public/_nuxt/BeQq85yJ.js +0 -5
- package/.output/public/_nuxt/Bg8yOdSf.js +0 -1
- package/.output/public/_nuxt/BhzfJaPC.js +0 -1
- package/.output/public/_nuxt/Bkb-0yS0.js +0 -7
- package/.output/public/_nuxt/BmweLu9g.js +0 -2
- package/.output/public/_nuxt/Boyv6hLW.js +0 -1
- package/.output/public/_nuxt/Bq4xEWLF.js +0 -5
- package/.output/public/_nuxt/BraJd4EA.js +0 -1
- package/.output/public/_nuxt/BvXrhZ8k.js +0 -1
- package/.output/public/_nuxt/Bw4oIhct.js +0 -1
- package/.output/public/_nuxt/BxSrScjV.js +0 -1
- package/.output/public/_nuxt/Byqt8JHG.js +0 -1
- package/.output/public/_nuxt/BzBaMPgu.js +0 -254
- package/.output/public/_nuxt/C1-8_6cB.js +0 -1
- package/.output/public/_nuxt/C7SG50jD.js +0 -1
- package/.output/public/_nuxt/C8WgBDU1.js +0 -1
- package/.output/public/_nuxt/C8uZoJVq.js +0 -1
- package/.output/public/_nuxt/CBQXv4bU.js +0 -4
- package/.output/public/_nuxt/CDEmotIt.js +0 -1
- package/.output/public/_nuxt/CIBOv3Ge.js +0 -2
- package/.output/public/_nuxt/CO7j4p5r.js +0 -1
- package/.output/public/_nuxt/COMhp7lz.js +0 -1
- package/.output/public/_nuxt/CPiLUjjx.js +0 -1
- package/.output/public/_nuxt/CTYlay1H.js +0 -1
- package/.output/public/_nuxt/CVEk4D8I.js +0 -1
- package/.output/public/_nuxt/CbuK1HIv.js +0 -167
- package/.output/public/_nuxt/CdLqOMvN.js +0 -1
- package/.output/public/_nuxt/CdM2qNYM.js +0 -2
- package/.output/public/_nuxt/Ch8sGLqE.js +0 -1
- package/.output/public/_nuxt/CkdznmkX.js +0 -1
- package/.output/public/_nuxt/Cmuwgbf4.js +0 -3
- package/.output/public/_nuxt/CnRNwiuE.js +0 -1
- package/.output/public/_nuxt/CnsaoeEq.js +0 -1
- package/.output/public/_nuxt/Cp0V2FeW.js +0 -1
- package/.output/public/_nuxt/Cvw4EFTy.js +0 -17
- package/.output/public/_nuxt/CwDej2Lz.js +0 -1
- package/.output/public/_nuxt/D-wlhH6J.js +0 -1
- package/.output/public/_nuxt/D5Mhpp98.js +0 -1
- package/.output/public/_nuxt/D7W_4Sqc.js +0 -1
- package/.output/public/_nuxt/D8ixf-ZR.js +0 -44
- package/.output/public/_nuxt/DBvdRbTA.js +0 -34
- package/.output/public/_nuxt/DDho3MJD.js +0 -1
- package/.output/public/_nuxt/DEGHW4pO.js +0 -1
- package/.output/public/_nuxt/DHSYRMJp.js +0 -1
- package/.output/public/_nuxt/DH_LEqhd.js +0 -2
- package/.output/public/_nuxt/DIqik40e.js +0 -1
- package/.output/public/_nuxt/DLwuL-qR.js +0 -1
- package/.output/public/_nuxt/DPDFGVb_.js +0 -5
- package/.output/public/_nuxt/DRNHuVn4.js +0 -2
- package/.output/public/_nuxt/DUtYU4Sb.js +0 -1
- package/.output/public/_nuxt/DWl73MJR.js +0 -2
- package/.output/public/_nuxt/DWz_bHNP.js +0 -1
- package/.output/public/_nuxt/D_SCB-z2.js +0 -1
- package/.output/public/_nuxt/D_j436ND.js +0 -1
- package/.output/public/_nuxt/DamzjN7l.js +0 -1
- package/.output/public/_nuxt/Db5xe__T.js +0 -1
- package/.output/public/_nuxt/DcUBmKKE.js +0 -1
- package/.output/public/_nuxt/DiP18sFE.js +0 -1
- package/.output/public/_nuxt/Die1200X.js +0 -1
- package/.output/public/_nuxt/DihSeDlY.js +0 -9
- package/.output/public/_nuxt/DkGXOZRW.js +0 -1
- package/.output/public/_nuxt/DnOtRv65.js +0 -1
- package/.output/public/_nuxt/DnV-BkUA.js +0 -1
- package/.output/public/_nuxt/DpeRrg68.js +0 -1
- package/.output/public/_nuxt/Dq6_-84R.js +0 -1
- package/.output/public/_nuxt/DqKFKS1b.js +0 -1
- package/.output/public/_nuxt/DrbO0dl5.js +0 -6
- package/.output/public/_nuxt/Ds8_6Fzl.js +0 -1
- package/.output/public/_nuxt/DvewDI9t.js +0 -1
- package/.output/public/_nuxt/E26Y1NWH.js +0 -1
- package/.output/public/_nuxt/Hp-_W7z4.js +0 -1
- package/.output/public/_nuxt/OanUGF_v.js +0 -1
- package/.output/public/_nuxt/RSS6R9Te.js +0 -79
- package/.output/public/_nuxt/VqLetC2g.js +0 -1
- package/.output/public/_nuxt/WCZdf9Ln.js +0 -1
- package/.output/public/_nuxt/Yl6iqHwK.js +0 -41
- package/.output/public/_nuxt/builds/meta/03f2d81b-8c58-4ea8-9a9d-7553c8ca4af6.json +0 -1
- package/.output/public/_nuxt/entry.DVKh2Fd6.css +0 -1
- package/.output/public/_nuxt/iUf7K_JR.js +0 -1
- package/.output/public/_nuxt/index.BiXg7rd-.css +0 -1
- package/.output/public/_nuxt/kDEwM7SQ.js +0 -1
- package/.output/public/_nuxt/knaDbxMJ.js +0 -1
- package/.output/public/_nuxt/lnpLc047.js +0 -1
- package/.output/public/_nuxt/mhvG7mu8.js +0 -1
- package/.output/public/_nuxt/qUaN2ZW8.js +0 -4
- package/.output/public/_nuxt/qeqzb80l.js +0 -1
- package/.output/public/_nuxt/uj92NYTx.js +0 -9
- package/.output/public/_nuxt/vOZZ2cLi.js +0 -1
- package/.output/public/_nuxt/zAFiz2Mg.js +0 -1
- package/.output/server/chunks/_/quarantine.mjs +0 -112
- package/.output/server/chunks/_/quarantine.mjs.map +0 -1
- package/.output/server/chunks/build/Alert-BhTWQzM5.mjs +0 -479
- package/.output/server/chunks/build/Alert-BhTWQzM5.mjs.map +0 -1
- package/.output/server/chunks/build/Breadcrumb-BJnPB2AW.mjs +0 -522
- package/.output/server/chunks/build/Breadcrumb-BJnPB2AW.mjs.map +0 -1
- package/.output/server/chunks/build/BreadcrumbNav-C6Cun6tF.mjs +0 -111
- package/.output/server/chunks/build/BreadcrumbNav-C6Cun6tF.mjs.map +0 -1
- package/.output/server/chunks/build/BrowserBadge-T1KRMIXA.mjs +0 -89
- package/.output/server/chunks/build/BrowserBadge-T1KRMIXA.mjs.map +0 -1
- package/.output/server/chunks/build/ChartCard-D_asI_WF.mjs +0 -77
- package/.output/server/chunks/build/ChartCard-D_asI_WF.mjs.map +0 -1
- package/.output/server/chunks/build/ChartMarkerTooltip-DscESDg7.mjs +0 -72
- package/.output/server/chunks/build/ChartMarkerTooltip-DscESDg7.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-Y9ZiIRkJ.mjs +0 -746
- package/.output/server/chunks/build/Checkbox-Y9ZiIRkJ.mjs.map +0 -1
- package/.output/server/chunks/build/CodeBlock-Bnn_ps9O.mjs +0 -54
- package/.output/server/chunks/build/CodeBlock-Bnn_ps9O.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardNavbar-D37dPEtR.mjs +0 -270
- package/.output/server/chunks/build/DashboardNavbar-D37dPEtR.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardSidebarToggle-DzwsZHVx.mjs +0 -480
- package/.output/server/chunks/build/DashboardSidebarToggle-DzwsZHVx.mjs.map +0 -1
- package/.output/server/chunks/build/DataLocationCard-CUXgZQEs.mjs +0 -102
- package/.output/server/chunks/build/DataLocationCard-CUXgZQEs.mjs.map +0 -1
- package/.output/server/chunks/build/DesktopRunLocallyButton-BCmQklj6.mjs +0 -1122
- package/.output/server/chunks/build/DesktopRunLocallyButton-BCmQklj6.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisPanel-haHS2azn.mjs +0 -1208
- package/.output/server/chunks/build/DiagnosisPanel-haHS2azn.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisResult-DqTIOelM.mjs +0 -1524
- package/.output/server/chunks/build/DiagnosisResult-DqTIOelM.mjs.map +0 -1
- package/.output/server/chunks/build/DurationValue-D6fQEi5S.mjs +0 -43
- package/.output/server/chunks/build/DurationValue-D6fQEi5S.mjs.map +0 -1
- package/.output/server/chunks/build/EntityLinks-CRJQM9Vy.mjs +0 -325
- package/.output/server/chunks/build/EntityLinks-CRJQM9Vy.mjs.map +0 -1
- package/.output/server/chunks/build/EnvManagedBadge-hyelwXrw.mjs +0 -71
- package/.output/server/chunks/build/EnvManagedBadge-hyelwXrw.mjs.map +0 -1
- package/.output/server/chunks/build/FeatureUnavailable-CDw3__eq.mjs +0 -83
- package/.output/server/chunks/build/FeatureUnavailable-CDw3__eq.mjs.map +0 -1
- package/.output/server/chunks/build/FormField-8vSc-3mb.mjs +0 -282
- package/.output/server/chunks/build/FormField-8vSc-3mb.mjs.map +0 -1
- package/.output/server/chunks/build/GetStartedWizard-Dp_tjhry.mjs +0 -510
- package/.output/server/chunks/build/GetStartedWizard-Dp_tjhry.mjs.map +0 -1
- package/.output/server/chunks/build/HelpHint-Bfyo3ar6.mjs +0 -1048
- package/.output/server/chunks/build/HelpHint-Bfyo3ar6.mjs.map +0 -1
- package/.output/server/chunks/build/MetaStripGroup-C-cNBfC9.mjs +0 -193
- package/.output/server/chunks/build/MetaStripGroup-C-cNBfC9.mjs.map +0 -1
- package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs +0 -59
- package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs.map +0 -1
- package/.output/server/chunks/build/Modal-DcNzjvnm.mjs +0 -1472
- package/.output/server/chunks/build/Modal-DcNzjvnm.mjs.map +0 -1
- package/.output/server/chunks/build/NavigationMenu-DG6V0R9Y.mjs +0 -4155
- package/.output/server/chunks/build/NavigationMenu-DG6V0R9Y.mjs.map +0 -1
- package/.output/server/chunks/build/OpenInIdeLink-CLj2cTkc.mjs +0 -396
- package/.output/server/chunks/build/OpenInIdeLink-CLj2cTkc.mjs.map +0 -1
- package/.output/server/chunks/build/ProjectTestCasesTable-BNd5Fn_G.mjs +0 -2407
- package/.output/server/chunks/build/ProjectTestCasesTable-BNd5Fn_G.mjs.map +0 -1
- package/.output/server/chunks/build/RovingFocusItem-DkZadRuK.mjs +0 -100
- package/.output/server/chunks/build/RovingFocusItem-DkZadRuK.mjs.map +0 -1
- package/.output/server/chunks/build/RunReports-CnyGcU8K.mjs +0 -57
- package/.output/server/chunks/build/RunReports-CnyGcU8K.mjs.map +0 -1
- package/.output/server/chunks/build/RunStatusBadge-DTqX18X-.mjs +0 -59
- package/.output/server/chunks/build/RunStatusBadge-DTqX18X-.mjs.map +0 -1
- package/.output/server/chunks/build/SectionCard-taTpPtua.mjs +0 -142
- package/.output/server/chunks/build/SectionCard-taTpPtua.mjs.map +0 -1
- package/.output/server/chunks/build/Select-BChKOOsc.mjs +0 -3572
- package/.output/server/chunks/build/Select-BChKOOsc.mjs.map +0 -1
- package/.output/server/chunks/build/SelectMenu-DLkMyBsW.mjs +0 -4400
- package/.output/server/chunks/build/SelectMenu-DLkMyBsW.mjs.map +0 -1
- package/.output/server/chunks/build/Separator-Dn-4PN3P.mjs +0 -421
- package/.output/server/chunks/build/Separator-Dn-4PN3P.mjs.map +0 -1
- package/.output/server/chunks/build/SettingsField-BLO1C7uY.mjs +0 -174
- package/.output/server/chunks/build/SettingsField-BLO1C7uY.mjs.map +0 -1
- package/.output/server/chunks/build/Slideover-BiDJaQrt.mjs +0 -926
- package/.output/server/chunks/build/Slideover-BiDJaQrt.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-Ca3fYrSH.mjs +0 -655
- package/.output/server/chunks/build/Switch-Ca3fYrSH.mjs.map +0 -1
- package/.output/server/chunks/build/Table-DQb34a0A.mjs +0 -949
- package/.output/server/chunks/build/Table-DQb34a0A.mjs.map +0 -1
- package/.output/server/chunks/build/Tabs-_ALhm_oG.mjs +0 -1058
- package/.output/server/chunks/build/Tabs-_ALhm_oG.mjs.map +0 -1
- package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs +0 -31
- package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs.map +0 -1
- package/.output/server/chunks/build/TestCaseHistoryChart-D-TEUsZ8.mjs +0 -164
- package/.output/server/chunks/build/TestCaseHistoryChart-D-TEUsZ8.mjs.map +0 -1
- package/.output/server/chunks/build/TestStatusBar-CseETAdn.mjs +0 -109
- package/.output/server/chunks/build/TestStatusBar-CseETAdn.mjs.map +0 -1
- package/.output/server/chunks/build/Textarea-CXOoRq7y.mjs +0 -605
- package/.output/server/chunks/build/Textarea-CXOoRq7y.mjs.map +0 -1
- package/.output/server/chunks/build/Tooltip-trltUr5c.mjs +0 -874
- package/.output/server/chunks/build/Tooltip-trltUr5c.mjs.map +0 -1
- package/.output/server/chunks/build/VisuallyHiddenInput-CGURvg3N.mjs +0 -142
- package/.output/server/chunks/build/VisuallyHiddenInput-CGURvg3N.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-B-G4eG5U.mjs +0 -4144
- package/.output/server/chunks/build/_id_-B-G4eG5U.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-Cnzg8n21.mjs +0 -1416
- package/.output/server/chunks/build/_id_-Cnzg8n21.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-Dp_d6gT7.mjs +0 -8666
- package/.output/server/chunks/build/_id_-Dp_d6gT7.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-t2AWaYuK.mjs +0 -8126
- package/.output/server/chunks/build/_id_-t2AWaYuK.mjs.map +0 -1
- package/.output/server/chunks/build/about-BFsHkJwE.mjs +0 -698
- package/.output/server/chunks/build/about-BFsHkJwE.mjs.map +0 -1
- package/.output/server/chunks/build/account-CZAq8kVg.mjs +0 -920
- package/.output/server/chunks/build/account-CZAq8kVg.mjs.map +0 -1
- package/.output/server/chunks/build/ai-BGP3GcCR.mjs +0 -1850
- package/.output/server/chunks/build/ai-BGP3GcCR.mjs.map +0 -1
- package/.output/server/chunks/build/analytics-CXl5OWV-.mjs +0 -3567
- package/.output/server/chunks/build/analytics-CXl5OWV-.mjs.map +0 -1
- package/.output/server/chunks/build/compare-B2OB3zdd.mjs +0 -83
- package/.output/server/chunks/build/compare-B2OB3zdd.mjs.map +0 -1
- package/.output/server/chunks/build/db.client-DijpEH6i.mjs +0 -1101
- package/.output/server/chunks/build/db.client-DijpEH6i.mjs.map +0 -1
- package/.output/server/chunks/build/default-4ixAePum.mjs +0 -6494
- package/.output/server/chunks/build/default-4ixAePum.mjs.map +0 -1
- package/.output/server/chunks/build/docs-Cgsd01H9.mjs +0 -1181
- package/.output/server/chunks/build/docs-Cgsd01H9.mjs.map +0 -1
- package/.output/server/chunks/build/edit-BEQ-ozj9.mjs +0 -1600
- package/.output/server/chunks/build/edit-BEQ-ozj9.mjs.map +0 -1
- package/.output/server/chunks/build/fetch-B5TVXZ1s.mjs +0 -148
- package/.output/server/chunks/build/fetch-B5TVXZ1s.mjs.map +0 -1
- package/.output/server/chunks/build/forgot-password-mqE1mpDI.mjs +0 -297
- package/.output/server/chunks/build/forgot-password-mqE1mpDI.mjs.map +0 -1
- package/.output/server/chunks/build/help-content-Bc99BajS.mjs +0 -643
- package/.output/server/chunks/build/help-content-Bc99BajS.mjs.map +0 -1
- package/.output/server/chunks/build/import-DqDDTcSc.mjs +0 -1023
- package/.output/server/chunks/build/import-DqDDTcSc.mjs.map +0 -1
- package/.output/server/chunks/build/index-Bpdj6TXV.mjs +0 -93
- package/.output/server/chunks/build/index-Bpdj6TXV.mjs.map +0 -1
- package/.output/server/chunks/build/index-DBFsIsjA.mjs +0 -10713
- package/.output/server/chunks/build/index-DBFsIsjA.mjs.map +0 -1
- package/.output/server/chunks/build/index-DSufXCZq.mjs +0 -1168
- package/.output/server/chunks/build/index-DSufXCZq.mjs.map +0 -1
- package/.output/server/chunks/build/index-WXE60AXk.mjs +0 -1696
- package/.output/server/chunks/build/index-WXE60AXk.mjs.map +0 -1
- package/.output/server/chunks/build/index-okKjrRhL.mjs +0 -443
- package/.output/server/chunks/build/index-okKjrRhL.mjs.map +0 -1
- package/.output/server/chunks/build/index-styles.BmH47p9x.mjs +0 -8
- package/.output/server/chunks/build/index-styles.BmH47p9x.mjs.map +0 -1
- package/.output/server/chunks/build/isValueEqualOrExist-C-9DzL4K.mjs +0 -11
- package/.output/server/chunks/build/isValueEqualOrExist-C-9DzL4K.mjs.map +0 -1
- package/.output/server/chunks/build/login-eQ88UoBW.mjs +0 -827
- package/.output/server/chunks/build/login-eQ88UoBW.mjs.map +0 -1
- package/.output/server/chunks/build/mcp-frcSP2Zg.mjs +0 -1593
- package/.output/server/chunks/build/mcp-frcSP2Zg.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-DAtRd5V6.mjs +0 -1136
- package/.output/server/chunks/build/notifications-DAtRd5V6.mjs.map +0 -1
- package/.output/server/chunks/build/performance-BcQzGXE7.mjs +0 -581
- package/.output/server/chunks/build/performance-BcQzGXE7.mjs.map +0 -1
- package/.output/server/chunks/build/pr-feedback-BHtgvegy.mjs +0 -370
- package/.output/server/chunks/build/pr-feedback-BHtgvegy.mjs.map +0 -1
- package/.output/server/chunks/build/reset-password-DMHrp14-.mjs +0 -355
- package/.output/server/chunks/build/reset-password-DMHrp14-.mjs.map +0 -1
- package/.output/server/chunks/build/settings-Bo5OETop.mjs +0 -281
- package/.output/server/chunks/build/settings-Bo5OETop.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-BHbsWQ2g.mjs +0 -154
- package/.output/server/chunks/build/settings-metadata-BHbsWQ2g.mjs.map +0 -1
- package/.output/server/chunks/build/setup-DAXcxuNY.mjs +0 -1065
- package/.output/server/chunks/build/setup-DAXcxuNY.mjs.map +0 -1
- package/.output/server/chunks/build/storage-BPK0fVwx.mjs +0 -361
- package/.output/server/chunks/build/storage-BPK0fVwx.mjs.map +0 -1
- package/.output/server/chunks/build/tags-CoxErA5m.mjs +0 -375
- package/.output/server/chunks/build/tags-CoxErA5m.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-D8rn-0le.mjs +0 -228
- package/.output/server/chunks/build/test-cases-D8rn-0le.mjs.map +0 -1
- package/.output/server/chunks/build/test-functions-pWs9mhbJ.mjs +0 -552
- package/.output/server/chunks/build/test-functions-pWs9mhbJ.mjs.map +0 -1
- package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs +0 -9
- package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs.map +0 -1
- package/.output/server/chunks/build/useChartMarkers-C0wSO0xk.mjs +0 -156
- package/.output/server/chunks/build/useChartMarkers-C0wSO0xk.mjs.map +0 -1
- package/.output/server/chunks/build/useCopyRich-BqVfhnoH.mjs +0 -5355
- package/.output/server/chunks/build/useCopyRich-BqVfhnoH.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopDownload-l80DQJ9e.mjs +0 -46
- package/.output/server/chunks/build/useDesktopDownload-l80DQJ9e.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopLocalRuns-Dil3YzyU.mjs +0 -381
- package/.output/server/chunks/build/useDesktopLocalRuns-Dil3YzyU.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopProjectLink-BnIONB--.mjs +0 -84
- package/.output/server/chunks/build/useDesktopProjectLink-BnIONB--.mjs.map +0 -1
- package/.output/server/chunks/build/useFormControl-CXKztoWk.mjs +0 -9
- package/.output/server/chunks/build/useFormControl-CXKztoWk.mjs.map +0 -1
- package/.output/server/chunks/build/useOpenInIde-CbbYW3pd.mjs +0 -185
- package/.output/server/chunks/build/useOpenInIde-CbbYW3pd.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-C6NpD4Ab.mjs +0 -19
- package/.output/server/chunks/build/useSettingsNav-C6NpD4Ab.mjs.map +0 -1
- package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs +0 -25
- package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs.map +0 -1
- package/.output/server/chunks/build/users-C2MuCf5G.mjs +0 -747
- package/.output/server/chunks/build/users-C2MuCf5G.mjs.map +0 -1
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs +0 -76
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +0 -1
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs +0 -89
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +0 -1
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs +0 -77
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs.map +0 -1
- package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs +0 -71
- package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs.map +0 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +0 -66
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +0 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +0 -55
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +0 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +0 -56
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +0 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +0 -64
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +0 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +0 -64
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +0 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +0 -59
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +0 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +0 -62
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +0 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +0 -55
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +0 -1
- package/.output/server/node_modules/.nitro/d3-array@2.12.1/dist/d3-array.js +0 -1182
- package/.output/server/node_modules/.nitro/d3-array@2.12.1/package.json +0 -53
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/package.json +0 -61
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/array.js +0 -4
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/ascending.js +0 -3
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bin.js +0 -125
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bisect.js +0 -9
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bisector.js +0 -56
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/blur.js +0 -115
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/constant.js +0 -3
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/count.js +0 -18
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/cross.js +0 -33
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/cumsum.js +0 -6
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/descending.js +0 -7
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/deviation.js +0 -6
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/difference.js +0 -11
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/disjoint.js +0 -15
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/every.js +0 -10
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/extent.js +0 -29
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/filter.js +0 -11
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/fsum.js +0 -69
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/greatest.js +0 -29
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/greatestIndex.js +0 -19
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/group.js +0 -65
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/groupSort.js +0 -10
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/identity.js +0 -3
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/index.js +0 -57
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/intersection.js +0 -19
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/least.js +0 -29
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/leastIndex.js +0 -19
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/map.js +0 -5
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/max.js +0 -20
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/maxIndex.js +0 -22
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/mean.js +0 -19
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/median.js +0 -9
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/merge.js +0 -9
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/min.js +0 -20
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/minIndex.js +0 -22
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/mode.js +0 -28
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/nice.js +0 -18
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/number.js +0 -20
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/pairs.js +0 -15
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/permute.js +0 -3
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/quantile.js +0 -47
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/quickselect.js +0 -53
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/range.js +0 -13
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/rank.js +0 -24
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/reduce.js +0 -14
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/reverse.js +0 -4
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/scan.js +0 -6
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/shuffle.js +0 -13
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/some.js +0 -10
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/sort.js +0 -39
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/subset.js +0 -5
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/sum.js +0 -18
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/superset.js +0 -19
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/freedmanDiaconis.js +0 -7
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/scott.js +0 -7
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/sturges.js +0 -5
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/ticks.js +0 -55
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/transpose.js +0 -15
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/union.js +0 -11
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/variance.js +0 -25
- package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/zip.js +0 -5
- package/.output/server/node_modules/.nitro/d3-path@1.0.9/dist/d3-path.js +0 -141
- package/.output/server/node_modules/.nitro/d3-path@1.0.9/package.json +0 -47
- package/.output/server/node_modules/.nitro/d3-path@3.1.0/package.json +0 -54
- package/.output/server/node_modules/.nitro/d3-path@3.1.0/src/index.js +0 -1
- package/.output/server/node_modules/.nitro/d3-path@3.1.0/src/path.js +0 -156
- package/.output/server/node_modules/.nitro/d3-shape@1.3.7/dist/d3-shape.js +0 -1949
- package/.output/server/node_modules/.nitro/d3-shape@1.3.7/package.json +0 -48
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/package.json +0 -55
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/arc.js +0 -268
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/area.js +0 -112
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/areaRadial.js +0 -29
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/array.js +0 -7
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/constant.js +0 -5
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basis.js +0 -51
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basisClosed.js +0 -52
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basisOpen.js +0 -39
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/bump.js +0 -75
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/bundle.js +0 -56
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinal.js +0 -61
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinalClosed.js +0 -61
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinalOpen.js +0 -49
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRom.js +0 -88
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRomClosed.js +0 -74
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRomOpen.js +0 -62
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/linear.js +0 -31
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/linearClosed.js +0 -25
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/monotone.js +0 -104
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/natural.js +0 -65
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/radial.js +0 -36
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/step.js +0 -53
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/descending.js +0 -3
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/identity.js +0 -3
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/index.js +0 -53
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/line.js +0 -58
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/lineRadial.js +0 -19
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/link.js +0 -73
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/math.js +0 -20
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/noop.js +0 -1
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/diverging.js +0 -14
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/expand.js +0 -10
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/none.js +0 -9
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/silhouette.js +0 -10
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/wiggle.js +0 -24
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/appearance.js +0 -12
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/ascending.js +0 -12
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/descending.js +0 -5
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/insideOut.js +0 -27
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/none.js +0 -5
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/reverse.js +0 -5
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/path.js +0 -19
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/pie.js +0 -80
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/point.js +0 -7
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/pointRadial.js +0 -3
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/stack.js +0 -58
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/asterisk.js +0 -17
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/circle.js +0 -9
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/cross.js +0 -20
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/diamond.js +0 -16
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/diamond2.js +0 -12
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/plus.js +0 -11
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/square.js +0 -9
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/square2.js +0 -12
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/star.js +0 -24
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/times.js +0 -11
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/triangle.js +0 -13
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/triangle2.js +0 -15
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/wye.js +0 -25
- package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol.js +0 -66
- package/.output/server/node_modules/@emotion/cache/dist/emotion-cache.cjs.js +0 -503
- package/.output/server/node_modules/@emotion/cache/package.json +0 -100
- package/.output/server/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.cjs.js +0 -148
- package/.output/server/node_modules/@emotion/css/create-instance/package.json +0 -9
- package/.output/server/node_modules/@emotion/css/dist/emotion-css.cjs.js +0 -33
- package/.output/server/node_modules/@emotion/css/dist/emotion-css.cjs.mjs +0 -12
- package/.output/server/node_modules/@emotion/css/package.json +0 -106
- package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.dev.js +0 -59
- package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.js +0 -7
- package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.prod.js +0 -59
- package/.output/server/node_modules/@emotion/hash/package.json +0 -29
- package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.dev.js +0 -13
- package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.js +0 -7
- package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.prod.js +0 -13
- package/.output/server/node_modules/@emotion/memoize/package.json +0 -32
- package/.output/server/node_modules/@emotion/serialize/dist/emotion-serialize.cjs.js +0 -246
- package/.output/server/node_modules/@emotion/serialize/package.json +0 -54
- package/.output/server/node_modules/@emotion/sheet/dist/emotion-sheet.cjs.js +0 -144
- package/.output/server/node_modules/@emotion/sheet/package.json +0 -47
- package/.output/server/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.js +0 -56
- package/.output/server/node_modules/@emotion/unitless/package.json +0 -29
- package/.output/server/node_modules/@emotion/utils/dist/emotion-utils.cjs.js +0 -60
- package/.output/server/node_modules/@emotion/utils/package.json +0 -65
- package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.dev.js +0 -20
- package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.js +0 -7
- package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.prod.js +0 -20
- package/.output/server/node_modules/@emotion/weak-memoize/package.json +0 -32
- package/.output/server/node_modules/@juggle/resize-observer/lib/exports/resize-observer.umd.js +0 -512
- package/.output/server/node_modules/@juggle/resize-observer/package.json +0 -69
- package/.output/server/node_modules/@unovis/dagre-layout/dist/acyclic.js +0 -73
- package/.output/server/node_modules/@unovis/dagre-layout/dist/add-border-segments.js +0 -48
- package/.output/server/node_modules/@unovis/dagre-layout/dist/coordinate-system.js +0 -89
- package/.output/server/node_modules/@unovis/dagre-layout/dist/data/list.js +0 -61
- package/.output/server/node_modules/@unovis/dagre-layout/dist/greedy-fas.js +0 -143
- package/.output/server/node_modules/@unovis/dagre-layout/dist/index.js +0 -9
- package/.output/server/node_modules/@unovis/dagre-layout/dist/layout.js +0 -514
- package/.output/server/node_modules/@unovis/dagre-layout/dist/nesting-graph.js +0 -149
- package/.output/server/node_modules/@unovis/dagre-layout/dist/normalize.js +0 -111
- package/.output/server/node_modules/@unovis/dagre-layout/dist/order/add-subgraph-constraints.js +0 -57
- package/.output/server/node_modules/@unovis/dagre-layout/dist/order/barycenter.js +0 -35
- package/.output/server/node_modules/@unovis/dagre-layout/dist/order/build-layer-graph.js +0 -86
- package/.output/server/node_modules/@unovis/dagre-layout/dist/order/cross-count.js +0 -90
- package/.output/server/node_modules/@unovis/dagre-layout/dist/order/index.js +0 -83
- package/.output/server/node_modules/@unovis/dagre-layout/dist/order/init-order.js +0 -54
- package/.output/server/node_modules/@unovis/dagre-layout/dist/order/resolve-conflicts.js +0 -132
- package/.output/server/node_modules/@unovis/dagre-layout/dist/order/sort-subgraph.js +0 -83
- package/.output/server/node_modules/@unovis/dagre-layout/dist/order/sort.js +0 -70
- package/.output/server/node_modules/@unovis/dagre-layout/dist/parent-dummy-chains.js +0 -94
- package/.output/server/node_modules/@unovis/dagre-layout/dist/position/bk.js +0 -451
- package/.output/server/node_modules/@unovis/dagre-layout/dist/position/index.js +0 -35
- package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/feasible-tree.js +0 -94
- package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/index.js +0 -56
- package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/network-simplex.js +0 -246
- package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/util.js +0 -56
- package/.output/server/node_modules/@unovis/dagre-layout/dist/util.js +0 -291
- package/.output/server/node_modules/@unovis/dagre-layout/package.json +0 -73
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/components.js +0 -32
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dfs.js +0 -53
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dijkstra-all.js +0 -11
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dijkstra.js +0 -57
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/find-cycles.js +0 -11
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/floyd-warshall.js +0 -56
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/index.js +0 -12
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/is-acyclic.js +0 -18
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/postorder.js +0 -8
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/preorder.js +0 -8
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/prim.js +0 -56
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/tarjan.js +0 -49
- package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/topsort.js +0 -42
- package/.output/server/node_modules/@unovis/graphlibrary/dist/data/priority-queue.js +0 -179
- package/.output/server/node_modules/@unovis/graphlibrary/dist/graph.js +0 -572
- package/.output/server/node_modules/@unovis/graphlibrary/dist/index.js +0 -6
- package/.output/server/node_modules/@unovis/graphlibrary/dist/json.js +0 -88
- package/.output/server/node_modules/@unovis/graphlibrary/package.json +0 -63
- package/.output/server/node_modules/@unovis/ts/components/annotations/config.js +0 -6
- package/.output/server/node_modules/@unovis/ts/components/annotations/index.js +0 -125
- package/.output/server/node_modules/@unovis/ts/components/annotations/style.js +0 -54
- package/.output/server/node_modules/@unovis/ts/components/annotations/types.js +0 -2
- package/.output/server/node_modules/@unovis/ts/components/area/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/components/area/index.js +0 -197
- package/.output/server/node_modules/@unovis/ts/components/area/style.js +0 -50
- package/.output/server/node_modules/@unovis/ts/components/axis/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/components/axis/index.js +0 -500
- package/.output/server/node_modules/@unovis/ts/components/axis/style.js +0 -121
- package/.output/server/node_modules/@unovis/ts/components/axis/types.js +0 -8
- package/.output/server/node_modules/@unovis/ts/components/brush/config.js +0 -15
- package/.output/server/node_modules/@unovis/ts/components/brush/index.js +0 -204
- package/.output/server/node_modules/@unovis/ts/components/brush/style.js +0 -70
- package/.output/server/node_modules/@unovis/ts/components/brush/types.js +0 -8
- package/.output/server/node_modules/@unovis/ts/components/bullet-legend/config.js +0 -17
- package/.output/server/node_modules/@unovis/ts/components/bullet-legend/index.js +0 -87
- package/.output/server/node_modules/@unovis/ts/components/bullet-legend/modules/shape.js +0 -102
- package/.output/server/node_modules/@unovis/ts/components/bullet-legend/style.js +0 -75
- package/.output/server/node_modules/@unovis/ts/components/bullet-legend/types.js +0 -12
- package/.output/server/node_modules/@unovis/ts/components/chord-diagram/config.js +0 -8
- package/.output/server/node_modules/@unovis/ts/components/chord-diagram/index.js +0 -245
- package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/label.js +0 -113
- package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/layout.js +0 -93
- package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/link.js +0 -69
- package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/node.js +0 -52
- package/.output/server/node_modules/@unovis/ts/components/chord-diagram/style.js +0 -97
- package/.output/server/node_modules/@unovis/ts/components/chord-diagram/types.js +0 -8
- package/.output/server/node_modules/@unovis/ts/components/crosshair/config.js +0 -6
- package/.output/server/node_modules/@unovis/ts/components/crosshair/index.js +0 -287
- package/.output/server/node_modules/@unovis/ts/components/crosshair/style.js +0 -30
- package/.output/server/node_modules/@unovis/ts/components/crosshair/types.js +0 -2
- package/.output/server/node_modules/@unovis/ts/components/donut/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/components/donut/constants.js +0 -8
- package/.output/server/node_modules/@unovis/ts/components/donut/index.js +0 -138
- package/.output/server/node_modules/@unovis/ts/components/donut/modules/arc.js +0 -59
- package/.output/server/node_modules/@unovis/ts/components/donut/style.js +0 -70
- package/.output/server/node_modules/@unovis/ts/components/flow-legend/config.js +0 -17
- package/.output/server/node_modules/@unovis/ts/components/flow-legend/index.js +0 -96
- package/.output/server/node_modules/@unovis/ts/components/flow-legend/style.js +0 -98
- package/.output/server/node_modules/@unovis/ts/components/flow-legend/types.js +0 -8
- package/.output/server/node_modules/@unovis/ts/components/free-brush/config.js +0 -15
- package/.output/server/node_modules/@unovis/ts/components/free-brush/index.js +0 -193
- package/.output/server/node_modules/@unovis/ts/components/free-brush/style.js +0 -51
- package/.output/server/node_modules/@unovis/ts/components/free-brush/types.js +0 -10
- package/.output/server/node_modules/@unovis/ts/components/graph/config.js +0 -23
- package/.output/server/node_modules/@unovis/ts/components/graph/index.js +0 -914
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/layout-helpers.js +0 -69
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/layout.js +0 -429
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/helper.js +0 -64
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/index.js +0 -294
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/style.js +0 -120
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/helper.js +0 -129
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/index.js +0 -326
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/style.js +0 -313
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/helper.js +0 -111
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/index.js +0 -99
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/style.js +0 -126
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/shape.js +0 -78
- package/.output/server/node_modules/@unovis/ts/components/graph/modules/zoom-levels.js +0 -10
- package/.output/server/node_modules/@unovis/ts/components/graph/style.js +0 -87
- package/.output/server/node_modules/@unovis/ts/components/graph/types.js +0 -45
- package/.output/server/node_modules/@unovis/ts/components/grouped-bar/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/components/grouped-bar/index.js +0 -239
- package/.output/server/node_modules/@unovis/ts/components/grouped-bar/style.js +0 -45
- package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/index.js +0 -221
- package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/renderer-utils.js +0 -15
- package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/renderer.js +0 -117
- package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/shaders.js +0 -27
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/config.js +0 -28
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/index.js +0 -706
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/leaflet.css.js +0 -5
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/clusterBackground.js +0 -27
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/donut.js +0 -25
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/map.js +0 -155
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/node.js +0 -158
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/selectionRing.js +0 -41
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/utils.js +0 -214
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/leaflet-maplibre-gl.js +0 -273
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/map-style.js +0 -15
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js +0 -40
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js +0 -40
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js +0 -4981
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl-layer.js +0 -27
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl-utils.js +0 -38
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/maplibre-gl.css.js +0 -4
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/style.js +0 -183
- package/.output/server/node_modules/@unovis/ts/components/leaflet-map/types.js +0 -15
- package/.output/server/node_modules/@unovis/ts/components/line/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/components/line/index.js +0 -191
- package/.output/server/node_modules/@unovis/ts/components/line/style.js +0 -46
- package/.output/server/node_modules/@unovis/ts/components/nested-donut/config.js +0 -8
- package/.output/server/node_modules/@unovis/ts/components/nested-donut/index.js +0 -218
- package/.output/server/node_modules/@unovis/ts/components/nested-donut/modules/arc.js +0 -51
- package/.output/server/node_modules/@unovis/ts/components/nested-donut/modules/label.js +0 -82
- package/.output/server/node_modules/@unovis/ts/components/nested-donut/style.js +0 -80
- package/.output/server/node_modules/@unovis/ts/components/nested-donut/types.js +0 -14
- package/.output/server/node_modules/@unovis/ts/components/plotband/config.js +0 -9
- package/.output/server/node_modules/@unovis/ts/components/plotband/constants.js +0 -413
- package/.output/server/node_modules/@unovis/ts/components/plotband/index.js +0 -92
- package/.output/server/node_modules/@unovis/ts/components/plotband/style.js +0 -39
- package/.output/server/node_modules/@unovis/ts/components/plotband/types.js +0 -27
- package/.output/server/node_modules/@unovis/ts/components/plotline/config.js +0 -9
- package/.output/server/node_modules/@unovis/ts/components/plotline/constants.js +0 -58
- package/.output/server/node_modules/@unovis/ts/components/plotline/index.js +0 -102
- package/.output/server/node_modules/@unovis/ts/components/plotline/style.js +0 -43
- package/.output/server/node_modules/@unovis/ts/components/plotline/types.js +0 -33
- package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/config.js +0 -11
- package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/index.js +0 -69
- package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/style.js +0 -39
- package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/types.js +0 -2
- package/.output/server/node_modules/@unovis/ts/components/sankey/config.js +0 -18
- package/.output/server/node_modules/@unovis/ts/components/sankey/index.js +0 -637
- package/.output/server/node_modules/@unovis/ts/components/sankey/modules/label.js +0 -206
- package/.output/server/node_modules/@unovis/ts/components/sankey/modules/link.js +0 -99
- package/.output/server/node_modules/@unovis/ts/components/sankey/modules/node.js +0 -206
- package/.output/server/node_modules/@unovis/ts/components/sankey/style.js +0 -172
- package/.output/server/node_modules/@unovis/ts/components/sankey/types.js +0 -46
- package/.output/server/node_modules/@unovis/ts/components/scatter/config.js +0 -10
- package/.output/server/node_modules/@unovis/ts/components/scatter/index.js +0 -200
- package/.output/server/node_modules/@unovis/ts/components/scatter/modules/point.js +0 -87
- package/.output/server/node_modules/@unovis/ts/components/scatter/modules/utils.js +0 -112
- package/.output/server/node_modules/@unovis/ts/components/scatter/style.js +0 -56
- package/.output/server/node_modules/@unovis/ts/components/stacked-bar/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/components/stacked-bar/index.js +0 -244
- package/.output/server/node_modules/@unovis/ts/components/stacked-bar/style.js +0 -44
- package/.output/server/node_modules/@unovis/ts/components/timeline/config.js +0 -20
- package/.output/server/node_modules/@unovis/ts/components/timeline/constants.js +0 -6
- package/.output/server/node_modules/@unovis/ts/components/timeline/index.js +0 -568
- package/.output/server/node_modules/@unovis/ts/components/timeline/style.js +0 -126
- package/.output/server/node_modules/@unovis/ts/components/timeline/types.js +0 -2
- package/.output/server/node_modules/@unovis/ts/components/timeline/utils.js +0 -16
- package/.output/server/node_modules/@unovis/ts/components/tooltip/config.js +0 -21
- package/.output/server/node_modules/@unovis/ts/components/tooltip/index.js +0 -365
- package/.output/server/node_modules/@unovis/ts/components/tooltip/style.js +0 -76
- package/.output/server/node_modules/@unovis/ts/components/topojson-map/config.js +0 -11
- package/.output/server/node_modules/@unovis/ts/components/topojson-map/index.js +0 -1294
- package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/background.js +0 -13
- package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/donut.js +0 -29
- package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/flow.js +0 -134
- package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/selectionRing.js +0 -33
- package/.output/server/node_modules/@unovis/ts/components/topojson-map/style.js +0 -229
- package/.output/server/node_modules/@unovis/ts/components/topojson-map/types.js +0 -87
- package/.output/server/node_modules/@unovis/ts/components/topojson-map/utils.js +0 -324
- package/.output/server/node_modules/@unovis/ts/components/treemap/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/components/treemap/index.js +0 -296
- package/.output/server/node_modules/@unovis/ts/components/treemap/style.js +0 -68
- package/.output/server/node_modules/@unovis/ts/components/treemap/types.js +0 -2
- package/.output/server/node_modules/@unovis/ts/components/vis-controls/config.js +0 -10
- package/.output/server/node_modules/@unovis/ts/components/vis-controls/index.js +0 -55
- package/.output/server/node_modules/@unovis/ts/components/vis-controls/style.js +0 -76
- package/.output/server/node_modules/@unovis/ts/components/vis-controls/types.js +0 -8
- package/.output/server/node_modules/@unovis/ts/components/xy-labels/config.js +0 -8
- package/.output/server/node_modules/@unovis/ts/components/xy-labels/index.js +0 -88
- package/.output/server/node_modules/@unovis/ts/components/xy-labels/modules/label.js +0 -107
- package/.output/server/node_modules/@unovis/ts/components/xy-labels/style.js +0 -56
- package/.output/server/node_modules/@unovis/ts/components/xy-labels/types.js +0 -9
- package/.output/server/node_modules/@unovis/ts/components.js +0 -35
- package/.output/server/node_modules/@unovis/ts/containers/single-container/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/containers/single-container/index.js +0 -151
- package/.output/server/node_modules/@unovis/ts/containers/xy-container/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/containers/xy-container/index.js +0 -370
- package/.output/server/node_modules/@unovis/ts/containers.js +0 -4
- package/.output/server/node_modules/@unovis/ts/core/component/config.js +0 -8
- package/.output/server/node_modules/@unovis/ts/core/component/index.js +0 -136
- package/.output/server/node_modules/@unovis/ts/core/component/types.js +0 -2
- package/.output/server/node_modules/@unovis/ts/core/container/config.js +0 -26
- package/.output/server/node_modules/@unovis/ts/core/container/index.js +0 -135
- package/.output/server/node_modules/@unovis/ts/core/xy-component/config.js +0 -7
- package/.output/server/node_modules/@unovis/ts/core/xy-component/index.js +0 -78
- package/.output/server/node_modules/@unovis/ts/data-models/core.js +0 -14
- package/.output/server/node_modules/@unovis/ts/data-models/graph.js +0 -128
- package/.output/server/node_modules/@unovis/ts/data-models/index.js +0 -5
- package/.output/server/node_modules/@unovis/ts/data-models/map-graph.js +0 -59
- package/.output/server/node_modules/@unovis/ts/data-models/map.js +0 -12
- package/.output/server/node_modules/@unovis/ts/data-models/series.js +0 -19
- package/.output/server/node_modules/@unovis/ts/index.js +0 -81
- package/.output/server/node_modules/@unovis/ts/package.json +0 -127
- package/.output/server/node_modules/@unovis/ts/styles/colors.js +0 -24
- package/.output/server/node_modules/@unovis/ts/styles/index.js +0 -66
- package/.output/server/node_modules/@unovis/ts/styles/patterns.js +0 -54
- package/.output/server/node_modules/@unovis/ts/styles/sizes.js +0 -117
- package/.output/server/node_modules/@unovis/ts/types/accessor.js +0 -2
- package/.output/server/node_modules/@unovis/ts/types/component.js +0 -16
- package/.output/server/node_modules/@unovis/ts/types/curve.js +0 -46
- package/.output/server/node_modules/@unovis/ts/types/data.js +0 -9
- package/.output/server/node_modules/@unovis/ts/types/direction.js +0 -10
- package/.output/server/node_modules/@unovis/ts/types/graph.js +0 -2
- package/.output/server/node_modules/@unovis/ts/types/map.js +0 -2
- package/.output/server/node_modules/@unovis/ts/types/misc.js +0 -2
- package/.output/server/node_modules/@unovis/ts/types/position.js +0 -28
- package/.output/server/node_modules/@unovis/ts/types/scale.js +0 -28
- package/.output/server/node_modules/@unovis/ts/types/shape.js +0 -11
- package/.output/server/node_modules/@unovis/ts/types/spacing.js +0 -2
- package/.output/server/node_modules/@unovis/ts/types/svg.js +0 -22
- package/.output/server/node_modules/@unovis/ts/types/symbol.js +0 -24
- package/.output/server/node_modules/@unovis/ts/types/text.js +0 -26
- package/.output/server/node_modules/@unovis/ts/types.js +0 -37
- package/.output/server/node_modules/@unovis/ts/utils/color.js +0 -66
- package/.output/server/node_modules/@unovis/ts/utils/d3.js +0 -16
- package/.output/server/node_modules/@unovis/ts/utils/data.js +0 -314
- package/.output/server/node_modules/@unovis/ts/utils/html.js +0 -23
- package/.output/server/node_modules/@unovis/ts/utils/index.js +0 -14
- package/.output/server/node_modules/@unovis/ts/utils/map.js +0 -20
- package/.output/server/node_modules/@unovis/ts/utils/misc.js +0 -151
- package/.output/server/node_modules/@unovis/ts/utils/path.js +0 -261
- package/.output/server/node_modules/@unovis/ts/utils/resize-observer.js +0 -6
- package/.output/server/node_modules/@unovis/ts/utils/scale.js +0 -4
- package/.output/server/node_modules/@unovis/ts/utils/style.js +0 -30
- package/.output/server/node_modules/@unovis/ts/utils/svg.js +0 -61
- package/.output/server/node_modules/@unovis/ts/utils/text.js +0 -506
- package/.output/server/node_modules/@unovis/ts/utils/theme.js +0 -4
- package/.output/server/node_modules/@unovis/ts/utils/to-px.js +0 -110
- package/.output/server/node_modules/@unovis/ts/utils/type.js +0 -2
- package/.output/server/node_modules/@unovis/vue/components/annotations/index.js +0 -34
- package/.output/server/node_modules/@unovis/vue/components/area/index.js +0 -52
- package/.output/server/node_modules/@unovis/vue/components/axis/index.js +0 -71
- package/.output/server/node_modules/@unovis/vue/components/brush/index.js +0 -51
- package/.output/server/node_modules/@unovis/vue/components/chord-diagram/index.js +0 -48
- package/.output/server/node_modules/@unovis/vue/components/crosshair/index.js +0 -28
- package/.output/server/node_modules/@unovis/vue/components/donut/index.js +0 -52
- package/.output/server/node_modules/@unovis/vue/components/free-brush/index.js +0 -50
- package/.output/server/node_modules/@unovis/vue/components/graph/index.js +0 -124
- package/.output/server/node_modules/@unovis/vue/components/grouped-bar/index.js +0 -50
- package/.output/server/node_modules/@unovis/vue/components/line/index.js +0 -48
- package/.output/server/node_modules/@unovis/vue/components/nested-donut/index.js +0 -53
- package/.output/server/node_modules/@unovis/vue/components/plotband/index.js +0 -49
- package/.output/server/node_modules/@unovis/vue/components/plotline/index.js +0 -50
- package/.output/server/node_modules/@unovis/vue/components/sankey/index.js +0 -91
- package/.output/server/node_modules/@unovis/vue/components/scatter/index.js +0 -53
- package/.output/server/node_modules/@unovis/vue/components/stacked-bar/index.js +0 -50
- package/.output/server/node_modules/@unovis/vue/components/timeline/index.js +0 -28
- package/.output/server/node_modules/@unovis/vue/components/tooltip/index.js +0 -42
- package/.output/server/node_modules/@unovis/vue/components/topojson-map/index.js +0 -95
- package/.output/server/node_modules/@unovis/vue/components/treemap/index.js +0 -60
- package/.output/server/node_modules/@unovis/vue/components/xy-labels/index.js +0 -54
- package/.output/server/node_modules/@unovis/vue/containers/single-container/index.js +0 -67
- package/.output/server/node_modules/@unovis/vue/containers/xy-container/index.js +0 -98
- package/.output/server/node_modules/@unovis/vue/html-components/bullet-legend/index.js +0 -44
- package/.output/server/node_modules/@unovis/vue/html-components/flow-legend/index.js +0 -46
- package/.output/server/node_modules/@unovis/vue/html-components/leaflet-flow-map/index.js +0 -96
- package/.output/server/node_modules/@unovis/vue/html-components/leaflet-map/index.js +0 -83
- package/.output/server/node_modules/@unovis/vue/html-components/rolling-pin-legend/index.js +0 -40
- package/.output/server/node_modules/@unovis/vue/index.js +0 -96
- package/.output/server/node_modules/@unovis/vue/package.json +0 -81
- package/.output/server/node_modules/@unovis/vue/utils/context.js +0 -9
- package/.output/server/node_modules/@unovis/vue/utils/props.js +0 -19
- package/.output/server/node_modules/d3-axis/package.json +0 -54
- package/.output/server/node_modules/d3-axis/src/axis.js +0 -174
- package/.output/server/node_modules/d3-axis/src/identity.js +0 -3
- package/.output/server/node_modules/d3-axis/src/index.js +0 -6
- package/.output/server/node_modules/d3-brush/package.json +0 -55
- package/.output/server/node_modules/d3-brush/src/brush.js +0 -621
- package/.output/server/node_modules/d3-brush/src/constant.js +0 -1
- package/.output/server/node_modules/d3-brush/src/event.js +0 -16
- package/.output/server/node_modules/d3-brush/src/index.js +0 -6
- package/.output/server/node_modules/d3-brush/src/noevent.js +0 -8
- package/.output/server/node_modules/d3-chord/package.json +0 -54
- package/.output/server/node_modules/d3-chord/src/array.js +0 -1
- package/.output/server/node_modules/d3-chord/src/chord.js +0 -122
- package/.output/server/node_modules/d3-chord/src/constant.js +0 -5
- package/.output/server/node_modules/d3-chord/src/index.js +0 -2
- package/.output/server/node_modules/d3-chord/src/math.js +0 -8
- package/.output/server/node_modules/d3-chord/src/ribbon.js +0 -134
- package/.output/server/node_modules/d3-color/package.json +0 -54
- package/.output/server/node_modules/d3-color/src/color.js +0 -396
- package/.output/server/node_modules/d3-color/src/cubehelix.js +0 -61
- package/.output/server/node_modules/d3-color/src/define.js +0 -10
- package/.output/server/node_modules/d3-color/src/index.js +0 -3
- package/.output/server/node_modules/d3-color/src/lab.js +0 -123
- package/.output/server/node_modules/d3-color/src/math.js +0 -2
- package/.output/server/node_modules/d3-dispatch/package.json +0 -50
- package/.output/server/node_modules/d3-dispatch/src/dispatch.js +0 -84
- package/.output/server/node_modules/d3-dispatch/src/index.js +0 -1
- package/.output/server/node_modules/d3-drag/package.json +0 -54
- package/.output/server/node_modules/d3-drag/src/constant.js +0 -1
- package/.output/server/node_modules/d3-drag/src/drag.js +0 -194
- package/.output/server/node_modules/d3-drag/src/event.js +0 -28
- package/.output/server/node_modules/d3-drag/src/index.js +0 -2
- package/.output/server/node_modules/d3-drag/src/nodrag.js +0 -28
- package/.output/server/node_modules/d3-drag/src/noevent.js +0 -13
- package/.output/server/node_modules/d3-ease/package.json +0 -51
- package/.output/server/node_modules/d3-ease/src/back.js +0 -37
- package/.output/server/node_modules/d3-ease/src/bounce.js +0 -22
- package/.output/server/node_modules/d3-ease/src/circle.js +0 -11
- package/.output/server/node_modules/d3-ease/src/cubic.js +0 -11
- package/.output/server/node_modules/d3-ease/src/elastic.js +0 -46
- package/.output/server/node_modules/d3-ease/src/exp.js +0 -13
- package/.output/server/node_modules/d3-ease/src/index.js +0 -66
- package/.output/server/node_modules/d3-ease/src/linear.js +0 -1
- package/.output/server/node_modules/d3-ease/src/math.js +0 -4
- package/.output/server/node_modules/d3-ease/src/poly.js +0 -37
- package/.output/server/node_modules/d3-ease/src/quad.js +0 -11
- package/.output/server/node_modules/d3-ease/src/sin.js +0 -14
- package/.output/server/node_modules/d3-force/package.json +0 -58
- package/.output/server/node_modules/d3-force/src/center.js +0 -40
- package/.output/server/node_modules/d3-force/src/collide.js +0 -100
- package/.output/server/node_modules/d3-force/src/constant.js +0 -5
- package/.output/server/node_modules/d3-force/src/index.js +0 -8
- package/.output/server/node_modules/d3-force/src/jiggle.js +0 -3
- package/.output/server/node_modules/d3-force/src/lcg.js +0 -9
- package/.output/server/node_modules/d3-force/src/link.js +0 -117
- package/.output/server/node_modules/d3-force/src/manyBody.js +0 -116
- package/.output/server/node_modules/d3-force/src/radial.js +0 -57
- package/.output/server/node_modules/d3-force/src/simulation.js +0 -156
- package/.output/server/node_modules/d3-force/src/x.js +0 -41
- package/.output/server/node_modules/d3-force/src/y.js +0 -41
- package/.output/server/node_modules/d3-format/package.json +0 -56
- package/.output/server/node_modules/d3-format/src/defaultLocale.js +0 -18
- package/.output/server/node_modules/d3-format/src/exponent.js +0 -5
- package/.output/server/node_modules/d3-format/src/formatDecimal.js +0 -20
- package/.output/server/node_modules/d3-format/src/formatGroup.js +0 -18
- package/.output/server/node_modules/d3-format/src/formatNumerals.js +0 -7
- package/.output/server/node_modules/d3-format/src/formatPrefixAuto.js +0 -16
- package/.output/server/node_modules/d3-format/src/formatRounded.js +0 -11
- package/.output/server/node_modules/d3-format/src/formatSpecifier.js +0 -47
- package/.output/server/node_modules/d3-format/src/formatTrim.js +0 -11
- package/.output/server/node_modules/d3-format/src/formatTypes.js +0 -19
- package/.output/server/node_modules/d3-format/src/identity.js +0 -3
- package/.output/server/node_modules/d3-format/src/index.js +0 -6
- package/.output/server/node_modules/d3-format/src/locale.js +0 -147
- package/.output/server/node_modules/d3-format/src/precisionFixed.js +0 -5
- package/.output/server/node_modules/d3-format/src/precisionPrefix.js +0 -5
- package/.output/server/node_modules/d3-format/src/precisionRound.js +0 -6
- package/.output/server/node_modules/d3-geo/package.json +0 -59
- package/.output/server/node_modules/d3-geo/src/area.js +0 -76
- package/.output/server/node_modules/d3-geo/src/bounds.js +0 -179
- package/.output/server/node_modules/d3-geo/src/cartesian.js +0 -33
- package/.output/server/node_modules/d3-geo/src/centroid.js +0 -143
- package/.output/server/node_modules/d3-geo/src/circle.js +0 -72
- package/.output/server/node_modules/d3-geo/src/clip/antimeridian.js +0 -92
- package/.output/server/node_modules/d3-geo/src/clip/buffer.js +0 -24
- package/.output/server/node_modules/d3-geo/src/clip/circle.js +0 -177
- package/.output/server/node_modules/d3-geo/src/clip/extent.js +0 -20
- package/.output/server/node_modules/d3-geo/src/clip/index.js +0 -131
- package/.output/server/node_modules/d3-geo/src/clip/line.js +0 -59
- package/.output/server/node_modules/d3-geo/src/clip/rectangle.js +0 -168
- package/.output/server/node_modules/d3-geo/src/clip/rejoin.js +0 -103
- package/.output/server/node_modules/d3-geo/src/compose.js +0 -12
- package/.output/server/node_modules/d3-geo/src/constant.js +0 -5
- package/.output/server/node_modules/d3-geo/src/contains.js +0 -97
- package/.output/server/node_modules/d3-geo/src/distance.js +0 -10
- package/.output/server/node_modules/d3-geo/src/graticule.js +0 -105
- package/.output/server/node_modules/d3-geo/src/identity.js +0 -1
- package/.output/server/node_modules/d3-geo/src/index.js +0 -34
- package/.output/server/node_modules/d3-geo/src/interpolate.js +0 -36
- package/.output/server/node_modules/d3-geo/src/length.js +0 -53
- package/.output/server/node_modules/d3-geo/src/math.js +0 -36
- package/.output/server/node_modules/d3-geo/src/noop.js +0 -1
- package/.output/server/node_modules/d3-geo/src/path/area.js +0 -50
- package/.output/server/node_modules/d3-geo/src/path/bounds.js +0 -28
- package/.output/server/node_modules/d3-geo/src/path/centroid.js +0 -100
- package/.output/server/node_modules/d3-geo/src/path/context.js +0 -45
- package/.output/server/node_modules/d3-geo/src/path/index.js +0 -76
- package/.output/server/node_modules/d3-geo/src/path/measure.js +0 -45
- package/.output/server/node_modules/d3-geo/src/path/string.js +0 -86
- package/.output/server/node_modules/d3-geo/src/pointEqual.js +0 -5
- package/.output/server/node_modules/d3-geo/src/polygonContains.js +0 -74
- package/.output/server/node_modules/d3-geo/src/projection/albers.js +0 -10
- package/.output/server/node_modules/d3-geo/src/projection/albersUsa.js +0 -111
- package/.output/server/node_modules/d3-geo/src/projection/azimuthal.js +0 -27
- package/.output/server/node_modules/d3-geo/src/projection/azimuthalEqualArea.js +0 -17
- package/.output/server/node_modules/d3-geo/src/projection/azimuthalEquidistant.js +0 -17
- package/.output/server/node_modules/d3-geo/src/projection/conic.js +0 -15
- package/.output/server/node_modules/d3-geo/src/projection/conicConformal.js +0 -38
- package/.output/server/node_modules/d3-geo/src/projection/conicEqualArea.js +0 -33
- package/.output/server/node_modules/d3-geo/src/projection/conicEquidistant.js +0 -32
- package/.output/server/node_modules/d3-geo/src/projection/cylindricalEqualArea.js +0 -15
- package/.output/server/node_modules/d3-geo/src/projection/equalEarth.js +0 -36
- package/.output/server/node_modules/d3-geo/src/projection/equirectangular.js +0 -12
- package/.output/server/node_modules/d3-geo/src/projection/fit.js +0 -47
- package/.output/server/node_modules/d3-geo/src/projection/gnomonic.js +0 -16
- package/.output/server/node_modules/d3-geo/src/projection/identity.js +0 -85
- package/.output/server/node_modules/d3-geo/src/projection/index.js +0 -177
- package/.output/server/node_modules/d3-geo/src/projection/mercator.js +0 -52
- package/.output/server/node_modules/d3-geo/src/projection/naturalEarth1.js +0 -28
- package/.output/server/node_modules/d3-geo/src/projection/orthographic.js +0 -15
- package/.output/server/node_modules/d3-geo/src/projection/resample.js +0 -102
- package/.output/server/node_modules/d3-geo/src/projection/stereographic.js +0 -18
- package/.output/server/node_modules/d3-geo/src/projection/transverseMercator.js +0 -27
- package/.output/server/node_modules/d3-geo/src/rotation.js +0 -79
- package/.output/server/node_modules/d3-geo/src/stream.js +0 -69
- package/.output/server/node_modules/d3-geo/src/transform.js +0 -26
- package/.output/server/node_modules/d3-geo-projection/package.json +0 -79
- package/.output/server/node_modules/d3-geo-projection/src/airy.js +0 -49
- package/.output/server/node_modules/d3-geo-projection/src/aitoff.js +0 -45
- package/.output/server/node_modules/d3-geo-projection/src/armadillo.js +0 -83
- package/.output/server/node_modules/d3-geo-projection/src/august.js +0 -39
- package/.output/server/node_modules/d3-geo-projection/src/baker.js +0 -27
- package/.output/server/node_modules/d3-geo-projection/src/berghaus.js +0 -77
- package/.output/server/node_modules/d3-geo-projection/src/bertin.js +0 -44
- package/.output/server/node_modules/d3-geo-projection/src/boggs.js +0 -26
- package/.output/server/node_modules/d3-geo-projection/src/bonne.js +0 -29
- package/.output/server/node_modules/d3-geo-projection/src/bottomley.js +0 -34
- package/.output/server/node_modules/d3-geo-projection/src/bromley.js +0 -10
- package/.output/server/node_modules/d3-geo-projection/src/chamberlin.js +0 -120
- package/.output/server/node_modules/d3-geo-projection/src/collignon.js +0 -18
- package/.output/server/node_modules/d3-geo-projection/src/craig.js +0 -26
- package/.output/server/node_modules/d3-geo-projection/src/craster.js +0 -18
- package/.output/server/node_modules/d3-geo-projection/src/cylindricalEqualArea.js +0 -22
- package/.output/server/node_modules/d3-geo-projection/src/cylindricalStereographic.js +0 -21
- package/.output/server/node_modules/d3-geo-projection/src/eckert1.js +0 -24
- package/.output/server/node_modules/d3-geo-projection/src/eckert2.js +0 -23
- package/.output/server/node_modules/d3-geo-projection/src/eckert3.js +0 -23
- package/.output/server/node_modules/d3-geo-projection/src/eckert4.js +0 -30
- package/.output/server/node_modules/d3-geo-projection/src/eckert5.js +0 -23
- package/.output/server/node_modules/d3-geo-projection/src/eckert6.js +0 -28
- package/.output/server/node_modules/d3-geo-projection/src/eisenlohr.js +0 -70
- package/.output/server/node_modules/d3-geo-projection/src/elliptic.js +0 -118
- package/.output/server/node_modules/d3-geo-projection/src/fahey.js +0 -19
- package/.output/server/node_modules/d3-geo-projection/src/foucaut.js +0 -17
- package/.output/server/node_modules/d3-geo-projection/src/foucautSinusoidal.js +0 -49
- package/.output/server/node_modules/d3-geo-projection/src/gilbert.js +0 -64
- package/.output/server/node_modules/d3-geo-projection/src/gingery.js +0 -146
- package/.output/server/node_modules/d3-geo-projection/src/ginzburg4.js +0 -9
- package/.output/server/node_modules/d3-geo-projection/src/ginzburg5.js +0 -9
- package/.output/server/node_modules/d3-geo-projection/src/ginzburg6.js +0 -10
- package/.output/server/node_modules/d3-geo-projection/src/ginzburg8.js +0 -33
- package/.output/server/node_modules/d3-geo-projection/src/ginzburg9.js +0 -9
- package/.output/server/node_modules/d3-geo-projection/src/ginzburgPolyconic.js +0 -56
- package/.output/server/node_modules/d3-geo-projection/src/gringorten.js +0 -147
- package/.output/server/node_modules/d3-geo-projection/src/guyou.js +0 -53
- package/.output/server/node_modules/d3-geo-projection/src/hammer.js +0 -51
- package/.output/server/node_modules/d3-geo-projection/src/hammerRetroazimuthal.js +0 -109
- package/.output/server/node_modules/d3-geo-projection/src/healpix.js +0 -99
- package/.output/server/node_modules/d3-geo-projection/src/hill.js +0 -66
- package/.output/server/node_modules/d3-geo-projection/src/homolosine.js +0 -22
- package/.output/server/node_modules/d3-geo-projection/src/hufnagel.js +0 -91
- package/.output/server/node_modules/d3-geo-projection/src/hyperelliptical.js +0 -73
- package/.output/server/node_modules/d3-geo-projection/src/index.js +0 -95
- package/.output/server/node_modules/d3-geo-projection/src/integrate.js +0 -91
- package/.output/server/node_modules/d3-geo-projection/src/interrupted/boggs.js +0 -17
- package/.output/server/node_modules/d3-geo-projection/src/interrupted/homolosine.js +0 -17
- package/.output/server/node_modules/d3-geo-projection/src/interrupted/index.js +0 -147
- package/.output/server/node_modules/d3-geo-projection/src/interrupted/mollweide.js +0 -17
- package/.output/server/node_modules/d3-geo-projection/src/interrupted/mollweideHemispheres.js +0 -16
- package/.output/server/node_modules/d3-geo-projection/src/interrupted/quarticAuthalic.js +0 -16
- package/.output/server/node_modules/d3-geo-projection/src/interrupted/sinuMollweide.js +0 -19
- package/.output/server/node_modules/d3-geo-projection/src/interrupted/sinusoidal.js +0 -18
- package/.output/server/node_modules/d3-geo-projection/src/kavrayskiy7.js +0 -15
- package/.output/server/node_modules/d3-geo-projection/src/lagrange.js +0 -47
- package/.output/server/node_modules/d3-geo-projection/src/larrivee.js +0 -46
- package/.output/server/node_modules/d3-geo-projection/src/laskowski.js +0 -37
- package/.output/server/node_modules/d3-geo-projection/src/littrow.js +0 -29
- package/.output/server/node_modules/d3-geo-projection/src/loximuthal.js +0 -34
- package/.output/server/node_modules/d3-geo-projection/src/math.js +0 -64
- package/.output/server/node_modules/d3-geo-projection/src/miller.js +0 -15
- package/.output/server/node_modules/d3-geo-projection/src/modifiedStereographic.js +0 -122
- package/.output/server/node_modules/d3-geo-projection/src/mollweide.js +0 -29
- package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarParabolic.js +0 -26
- package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarQuartic.js +0 -29
- package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarSinusoidal.js +0 -31
- package/.output/server/node_modules/d3-geo-projection/src/naturalEarth2.js +0 -29
- package/.output/server/node_modules/d3-geo-projection/src/nellHammer.js +0 -26
- package/.output/server/node_modules/d3-geo-projection/src/newton.js +0 -64
- package/.output/server/node_modules/d3-geo-projection/src/nicolosi.js +0 -64
- package/.output/server/node_modules/d3-geo-projection/src/noop.js +0 -1
- package/.output/server/node_modules/d3-geo-projection/src/parallel1.js +0 -14
- package/.output/server/node_modules/d3-geo-projection/src/patterson.js +0 -41
- package/.output/server/node_modules/d3-geo-projection/src/polyconic.js +0 -35
- package/.output/server/node_modules/d3-geo-projection/src/polyhedral/butterfly.js +0 -31
- package/.output/server/node_modules/d3-geo-projection/src/polyhedral/collignon.js +0 -43
- package/.output/server/node_modules/d3-geo-projection/src/polyhedral/index.js +0 -173
- package/.output/server/node_modules/d3-geo-projection/src/polyhedral/matrix.js +0 -64
- package/.output/server/node_modules/d3-geo-projection/src/polyhedral/octahedron.js +0 -21
- package/.output/server/node_modules/d3-geo-projection/src/polyhedral/waterman.js +0 -123
- package/.output/server/node_modules/d3-geo-projection/src/project/clockwise.js +0 -8
- package/.output/server/node_modules/d3-geo-projection/src/project/contains.js +0 -11
- package/.output/server/node_modules/d3-geo-projection/src/project/index.js +0 -136
- package/.output/server/node_modules/d3-geo-projection/src/quantize.js +0 -70
- package/.output/server/node_modules/d3-geo-projection/src/quincuncial/gringorten.js +0 -7
- package/.output/server/node_modules/d3-geo-projection/src/quincuncial/index.js +0 -40
- package/.output/server/node_modules/d3-geo-projection/src/quincuncial/peirce.js +0 -7
- package/.output/server/node_modules/d3-geo-projection/src/rectangularPolyconic.js +0 -44
- package/.output/server/node_modules/d3-geo-projection/src/robinson.js +0 -88
- package/.output/server/node_modules/d3-geo-projection/src/satellite.js +0 -71
- package/.output/server/node_modules/d3-geo-projection/src/sinuMollweide.js +0 -26
- package/.output/server/node_modules/d3-geo-projection/src/sinusoidal.js +0 -15
- package/.output/server/node_modules/d3-geo-projection/src/square.js +0 -24
- package/.output/server/node_modules/d3-geo-projection/src/stitch.js +0 -215
- package/.output/server/node_modules/d3-geo-projection/src/times.js +0 -25
- package/.output/server/node_modules/d3-geo-projection/src/twoPoint.js +0 -26
- package/.output/server/node_modules/d3-geo-projection/src/twoPointAzimuthal.js +0 -29
- package/.output/server/node_modules/d3-geo-projection/src/twoPointEquidistant.js +0 -47
- package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten.js +0 -47
- package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten2.js +0 -34
- package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten3.js +0 -30
- package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten4.js +0 -63
- package/.output/server/node_modules/d3-geo-projection/src/wagner.js +0 -98
- package/.output/server/node_modules/d3-geo-projection/src/wagner4.js +0 -13
- package/.output/server/node_modules/d3-geo-projection/src/wagner6.js +0 -15
- package/.output/server/node_modules/d3-geo-projection/src/wiechel.js +0 -34
- package/.output/server/node_modules/d3-geo-projection/src/winkel3.js +0 -45
- package/.output/server/node_modules/d3-hierarchy/package.json +0 -56
- package/.output/server/node_modules/d3-hierarchy/src/accessors.js +0 -8
- package/.output/server/node_modules/d3-hierarchy/src/array.js +0 -20
- package/.output/server/node_modules/d3-hierarchy/src/cluster.js +0 -84
- package/.output/server/node_modules/d3-hierarchy/src/constant.js +0 -9
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/ancestors.js +0 -7
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/count.js +0 -12
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/descendants.js +0 -3
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/each.js +0 -7
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/eachAfter.js +0 -15
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/eachBefore.js +0 -12
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/find.js +0 -8
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/index.js +0 -91
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/iterator.js +0 -14
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/leaves.js +0 -9
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/links.js +0 -9
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/path.js +0 -30
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/sort.js +0 -7
- package/.output/server/node_modules/d3-hierarchy/src/hierarchy/sum.js +0 -9
- package/.output/server/node_modules/d3-hierarchy/src/index.js +0 -15
- package/.output/server/node_modules/d3-hierarchy/src/lcg.js +0 -9
- package/.output/server/node_modules/d3-hierarchy/src/pack/enclose.js +0 -123
- package/.output/server/node_modules/d3-hierarchy/src/pack/index.js +0 -81
- package/.output/server/node_modules/d3-hierarchy/src/pack/siblings.js +0 -120
- package/.output/server/node_modules/d3-hierarchy/src/partition.js +0 -52
- package/.output/server/node_modules/d3-hierarchy/src/stratify.js +0 -145
- package/.output/server/node_modules/d3-hierarchy/src/tree.js +0 -237
- package/.output/server/node_modules/d3-hierarchy/src/treemap/binary.js +0 -46
- package/.output/server/node_modules/d3-hierarchy/src/treemap/dice.js +0 -12
- package/.output/server/node_modules/d3-hierarchy/src/treemap/index.js +0 -94
- package/.output/server/node_modules/d3-hierarchy/src/treemap/resquarify.js +0 -36
- package/.output/server/node_modules/d3-hierarchy/src/treemap/round.js +0 -6
- package/.output/server/node_modules/d3-hierarchy/src/treemap/slice.js +0 -12
- package/.output/server/node_modules/d3-hierarchy/src/treemap/sliceDice.js +0 -6
- package/.output/server/node_modules/d3-hierarchy/src/treemap/squarify.js +0 -66
- package/.output/server/node_modules/d3-interpolate/package.json +0 -53
- package/.output/server/node_modules/d3-interpolate/src/array.js +0 -22
- package/.output/server/node_modules/d3-interpolate/src/basis.js +0 -19
- package/.output/server/node_modules/d3-interpolate/src/basisClosed.js +0 -13
- package/.output/server/node_modules/d3-interpolate/src/color.js +0 -29
- package/.output/server/node_modules/d3-interpolate/src/constant.js +0 -1
- package/.output/server/node_modules/d3-interpolate/src/cubehelix.js +0 -29
- package/.output/server/node_modules/d3-interpolate/src/date.js +0 -6
- package/.output/server/node_modules/d3-interpolate/src/discrete.js +0 -6
- package/.output/server/node_modules/d3-interpolate/src/hcl.js +0 -21
- package/.output/server/node_modules/d3-interpolate/src/hsl.js +0 -21
- package/.output/server/node_modules/d3-interpolate/src/hue.js +0 -9
- package/.output/server/node_modules/d3-interpolate/src/index.js +0 -21
- package/.output/server/node_modules/d3-interpolate/src/lab.js +0 -16
- package/.output/server/node_modules/d3-interpolate/src/number.js +0 -5
- package/.output/server/node_modules/d3-interpolate/src/numberArray.js +0 -14
- package/.output/server/node_modules/d3-interpolate/src/object.js +0 -23
- package/.output/server/node_modules/d3-interpolate/src/piecewise.js +0 -11
- package/.output/server/node_modules/d3-interpolate/src/quantize.js +0 -5
- package/.output/server/node_modules/d3-interpolate/src/rgb.js +0 -55
- package/.output/server/node_modules/d3-interpolate/src/round.js +0 -5
- package/.output/server/node_modules/d3-interpolate/src/string.js +0 -64
- package/.output/server/node_modules/d3-interpolate/src/transform/decompose.js +0 -26
- package/.output/server/node_modules/d3-interpolate/src/transform/index.js +0 -63
- package/.output/server/node_modules/d3-interpolate/src/transform/parse.js +0 -18
- package/.output/server/node_modules/d3-interpolate/src/value.js +0 -22
- package/.output/server/node_modules/d3-interpolate/src/zoom.js +0 -71
- package/.output/server/node_modules/d3-interpolate-path/build/d3-interpolate-path.js +0 -782
- package/.output/server/node_modules/d3-interpolate-path/package.json +0 -52
- package/.output/server/node_modules/d3-quadtree/package.json +0 -49
- package/.output/server/node_modules/d3-quadtree/src/add.js +0 -84
- package/.output/server/node_modules/d3-quadtree/src/cover.js +0 -43
- package/.output/server/node_modules/d3-quadtree/src/data.js +0 -7
- package/.output/server/node_modules/d3-quadtree/src/extent.js +0 -5
- package/.output/server/node_modules/d3-quadtree/src/find.js +0 -70
- package/.output/server/node_modules/d3-quadtree/src/index.js +0 -1
- package/.output/server/node_modules/d3-quadtree/src/quad.js +0 -7
- package/.output/server/node_modules/d3-quadtree/src/quadtree.js +0 -73
- package/.output/server/node_modules/d3-quadtree/src/remove.js +0 -62
- package/.output/server/node_modules/d3-quadtree/src/root.js +0 -3
- package/.output/server/node_modules/d3-quadtree/src/size.js +0 -7
- package/.output/server/node_modules/d3-quadtree/src/visit.js +0 -16
- package/.output/server/node_modules/d3-quadtree/src/visitAfter.js +0 -21
- package/.output/server/node_modules/d3-quadtree/src/x.js +0 -7
- package/.output/server/node_modules/d3-quadtree/src/y.js +0 -7
- package/.output/server/node_modules/d3-sankey/dist/d3-sankey.js +0 -425
- package/.output/server/node_modules/d3-sankey/package.json +0 -43
- package/.output/server/node_modules/d3-scale/package.json +0 -57
- package/.output/server/node_modules/d3-scale/src/band.js +0 -101
- package/.output/server/node_modules/d3-scale/src/constant.js +0 -5
- package/.output/server/node_modules/d3-scale/src/continuous.js +0 -125
- package/.output/server/node_modules/d3-scale/src/diverging.js +0 -104
- package/.output/server/node_modules/d3-scale/src/identity.js +0 -28
- package/.output/server/node_modules/d3-scale/src/index.js +0 -78
- package/.output/server/node_modules/d3-scale/src/init.js +0 -26
- package/.output/server/node_modules/d3-scale/src/linear.js +0 -70
- package/.output/server/node_modules/d3-scale/src/log.js +0 -140
- package/.output/server/node_modules/d3-scale/src/nice.js +0 -18
- package/.output/server/node_modules/d3-scale/src/number.js +0 -3
- package/.output/server/node_modules/d3-scale/src/ordinal.js +0 -46
- package/.output/server/node_modules/d3-scale/src/pow.js +0 -50
- package/.output/server/node_modules/d3-scale/src/quantile.js +0 -57
- package/.output/server/node_modules/d3-scale/src/quantize.js +0 -56
- package/.output/server/node_modules/d3-scale/src/radial.js +0 -63
- package/.output/server/node_modules/d3-scale/src/sequential.js +0 -107
- package/.output/server/node_modules/d3-scale/src/sequentialQuantile.js +0 -38
- package/.output/server/node_modules/d3-scale/src/symlog.js +0 -35
- package/.output/server/node_modules/d3-scale/src/threshold.js +0 -39
- package/.output/server/node_modules/d3-scale/src/tickFormat.js +0 -29
- package/.output/server/node_modules/d3-scale/src/time.js +0 -71
- package/.output/server/node_modules/d3-scale/src/utcTime.js +0 -8
- package/.output/server/node_modules/d3-selection/package.json +0 -51
- package/.output/server/node_modules/d3-selection/src/array.js +0 -9
- package/.output/server/node_modules/d3-selection/src/constant.js +0 -5
- package/.output/server/node_modules/d3-selection/src/create.js +0 -6
- package/.output/server/node_modules/d3-selection/src/creator.js +0 -25
- package/.output/server/node_modules/d3-selection/src/index.js +0 -15
- package/.output/server/node_modules/d3-selection/src/local.js +0 -27
- package/.output/server/node_modules/d3-selection/src/matcher.js +0 -12
- package/.output/server/node_modules/d3-selection/src/namespace.js +0 -7
- package/.output/server/node_modules/d3-selection/src/namespaces.js +0 -9
- package/.output/server/node_modules/d3-selection/src/pointer.js +0 -20
- package/.output/server/node_modules/d3-selection/src/pointers.js +0 -11
- package/.output/server/node_modules/d3-selection/src/select.js +0 -7
- package/.output/server/node_modules/d3-selection/src/selectAll.js +0 -8
- package/.output/server/node_modules/d3-selection/src/selection/append.js +0 -8
- package/.output/server/node_modules/d3-selection/src/selection/attr.js +0 -57
- package/.output/server/node_modules/d3-selection/src/selection/call.js +0 -6
- package/.output/server/node_modules/d3-selection/src/selection/classed.js +0 -75
- package/.output/server/node_modules/d3-selection/src/selection/clone.js +0 -13
- package/.output/server/node_modules/d3-selection/src/selection/data.js +0 -128
- package/.output/server/node_modules/d3-selection/src/selection/datum.js +0 -5
- package/.output/server/node_modules/d3-selection/src/selection/dispatch.js +0 -34
- package/.output/server/node_modules/d3-selection/src/selection/each.js +0 -10
- package/.output/server/node_modules/d3-selection/src/selection/empty.js +0 -3
- package/.output/server/node_modules/d3-selection/src/selection/enter.js +0 -22
- package/.output/server/node_modules/d3-selection/src/selection/exit.js +0 -6
- package/.output/server/node_modules/d3-selection/src/selection/filter.js +0 -16
- package/.output/server/node_modules/d3-selection/src/selection/html.js +0 -25
- package/.output/server/node_modules/d3-selection/src/selection/index.js +0 -90
- package/.output/server/node_modules/d3-selection/src/selection/insert.js +0 -14
- package/.output/server/node_modules/d3-selection/src/selection/iterator.js +0 -7
- package/.output/server/node_modules/d3-selection/src/selection/join.js +0 -15
- package/.output/server/node_modules/d3-selection/src/selection/lower.js +0 -7
- package/.output/server/node_modules/d3-selection/src/selection/merge.js +0 -19
- package/.output/server/node_modules/d3-selection/src/selection/node.js +0 -11
- package/.output/server/node_modules/d3-selection/src/selection/nodes.js +0 -3
- package/.output/server/node_modules/d3-selection/src/selection/on.js +0 -67
- package/.output/server/node_modules/d3-selection/src/selection/order.js +0 -13
- package/.output/server/node_modules/d3-selection/src/selection/property.js +0 -28
- package/.output/server/node_modules/d3-selection/src/selection/raise.js +0 -7
- package/.output/server/node_modules/d3-selection/src/selection/remove.js +0 -8
- package/.output/server/node_modules/d3-selection/src/selection/select.js +0 -17
- package/.output/server/node_modules/d3-selection/src/selection/selectAll.js +0 -25
- package/.output/server/node_modules/d3-selection/src/selection/selectChild.js +0 -18
- package/.output/server/node_modules/d3-selection/src/selection/selectChildren.js +0 -18
- package/.output/server/node_modules/d3-selection/src/selection/size.js +0 -5
- package/.output/server/node_modules/d3-selection/src/selection/sort.js +0 -24
- package/.output/server/node_modules/d3-selection/src/selection/sparse.js +0 -3
- package/.output/server/node_modules/d3-selection/src/selection/style.js +0 -35
- package/.output/server/node_modules/d3-selection/src/selection/text.js +0 -25
- package/.output/server/node_modules/d3-selection/src/selector.js +0 -7
- package/.output/server/node_modules/d3-selection/src/selectorAll.js +0 -9
- package/.output/server/node_modules/d3-selection/src/sourceEvent.js +0 -5
- package/.output/server/node_modules/d3-selection/src/window.js +0 -5
- package/.output/server/node_modules/d3-time/package.json +0 -53
- package/.output/server/node_modules/d3-time/src/day.js +0 -35
- package/.output/server/node_modules/d3-time/src/duration.js +0 -7
- package/.output/server/node_modules/d3-time/src/hour.js +0 -26
- package/.output/server/node_modules/d3-time/src/index.js +0 -96
- package/.output/server/node_modules/d3-time/src/interval.js +0 -69
- package/.output/server/node_modules/d3-time/src/millisecond.js +0 -25
- package/.output/server/node_modules/d3-time/src/minute.js +0 -26
- package/.output/server/node_modules/d3-time/src/month.js +0 -27
- package/.output/server/node_modules/d3-time/src/second.js +0 -14
- package/.output/server/node_modules/d3-time/src/ticks.js +0 -58
- package/.output/server/node_modules/d3-time/src/week.js +0 -56
- package/.output/server/node_modules/d3-time/src/year.js +0 -49
- package/.output/server/node_modules/d3-time-format/package.json +0 -60
- package/.output/server/node_modules/d3-time-format/src/defaultLocale.js +0 -27
- package/.output/server/node_modules/d3-time-format/src/index.js +0 -4
- package/.output/server/node_modules/d3-time-format/src/isoFormat.js +0 -13
- package/.output/server/node_modules/d3-time-format/src/isoParse.js +0 -13
- package/.output/server/node_modules/d3-time-format/src/locale.js +0 -697
- package/.output/server/node_modules/d3-timer/package.json +0 -53
- package/.output/server/node_modules/d3-timer/src/index.js +0 -13
- package/.output/server/node_modules/d3-timer/src/interval.js +0 -17
- package/.output/server/node_modules/d3-timer/src/timeout.js +0 -11
- package/.output/server/node_modules/d3-timer/src/timer.js +0 -110
- package/.output/server/node_modules/d3-transition/package.json +0 -65
- package/.output/server/node_modules/d3-transition/src/active.js +0 -21
- package/.output/server/node_modules/d3-transition/src/index.js +0 -4
- package/.output/server/node_modules/d3-transition/src/interrupt.js +0 -24
- package/.output/server/node_modules/d3-transition/src/selection/index.js +0 -6
- package/.output/server/node_modules/d3-transition/src/selection/interrupt.js +0 -7
- package/.output/server/node_modules/d3-transition/src/selection/transition.js +0 -42
- package/.output/server/node_modules/d3-transition/src/transition/attr.js +0 -78
- package/.output/server/node_modules/d3-transition/src/transition/attrTween.js +0 -44
- package/.output/server/node_modules/d3-transition/src/transition/delay.js +0 -23
- package/.output/server/node_modules/d3-transition/src/transition/duration.js +0 -23
- package/.output/server/node_modules/d3-transition/src/transition/ease.js +0 -16
- package/.output/server/node_modules/d3-transition/src/transition/easeVarying.js +0 -14
- package/.output/server/node_modules/d3-transition/src/transition/end.js +0 -29
- package/.output/server/node_modules/d3-transition/src/transition/filter.js +0 -16
- package/.output/server/node_modules/d3-transition/src/transition/index.js +0 -73
- package/.output/server/node_modules/d3-transition/src/transition/interpolate.js +0 -10
- package/.output/server/node_modules/d3-transition/src/transition/merge.js +0 -19
- package/.output/server/node_modules/d3-transition/src/transition/on.js +0 -32
- package/.output/server/node_modules/d3-transition/src/transition/remove.js +0 -11
- package/.output/server/node_modules/d3-transition/src/transition/schedule.js +0 -153
- package/.output/server/node_modules/d3-transition/src/transition/select.js +0 -22
- package/.output/server/node_modules/d3-transition/src/transition/selectAll.js +0 -26
- package/.output/server/node_modules/d3-transition/src/transition/selection.js +0 -7
- package/.output/server/node_modules/d3-transition/src/transition/style.js +0 -80
- package/.output/server/node_modules/d3-transition/src/transition/styleTween.js +0 -24
- package/.output/server/node_modules/d3-transition/src/transition/text.js +0 -20
- package/.output/server/node_modules/d3-transition/src/transition/textTween.js +0 -24
- package/.output/server/node_modules/d3-transition/src/transition/transition.js +0 -24
- package/.output/server/node_modules/d3-transition/src/transition/tween.js +0 -81
- package/.output/server/node_modules/d3-zoom/package.json +0 -57
- package/.output/server/node_modules/d3-zoom/src/constant.js +0 -1
- package/.output/server/node_modules/d3-zoom/src/event.js +0 -14
- package/.output/server/node_modules/d3-zoom/src/index.js +0 -2
- package/.output/server/node_modules/d3-zoom/src/noevent.js +0 -8
- package/.output/server/node_modules/d3-zoom/src/transform.js +0 -51
- package/.output/server/node_modules/d3-zoom/src/zoom.js +0 -447
- package/.output/server/node_modules/elkjs/lib/elk.bundled.js +0 -6545
- package/.output/server/node_modules/elkjs/package.json +0 -54
- package/.output/server/node_modules/internmap/package.json +0 -43
- package/.output/server/node_modules/internmap/src/index.js +0 -61
- package/.output/server/node_modules/leaflet/dist/leaflet-src.js +0 -14062
- package/.output/server/node_modules/leaflet/package.json +0 -109
- package/.output/server/node_modules/lodash-es/_DataView.js +0 -7
- package/.output/server/node_modules/lodash-es/_Hash.js +0 -32
- package/.output/server/node_modules/lodash-es/_LazyWrapper.js +0 -28
- package/.output/server/node_modules/lodash-es/_ListCache.js +0 -32
- package/.output/server/node_modules/lodash-es/_LodashWrapper.js +0 -22
- package/.output/server/node_modules/lodash-es/_Map.js +0 -7
- package/.output/server/node_modules/lodash-es/_MapCache.js +0 -32
- package/.output/server/node_modules/lodash-es/_Promise.js +0 -7
- package/.output/server/node_modules/lodash-es/_Set.js +0 -7
- package/.output/server/node_modules/lodash-es/_SetCache.js +0 -27
- package/.output/server/node_modules/lodash-es/_Stack.js +0 -27
- package/.output/server/node_modules/lodash-es/_Symbol.js +0 -6
- package/.output/server/node_modules/lodash-es/_Uint8Array.js +0 -6
- package/.output/server/node_modules/lodash-es/_WeakMap.js +0 -7
- package/.output/server/node_modules/lodash-es/_apply.js +0 -21
- package/.output/server/node_modules/lodash-es/_arrayEach.js +0 -22
- package/.output/server/node_modules/lodash-es/_arrayFilter.js +0 -25
- package/.output/server/node_modules/lodash-es/_arrayIncludes.js +0 -17
- package/.output/server/node_modules/lodash-es/_arrayIncludesWith.js +0 -22
- package/.output/server/node_modules/lodash-es/_arrayLikeKeys.js +0 -49
- package/.output/server/node_modules/lodash-es/_arrayMap.js +0 -21
- package/.output/server/node_modules/lodash-es/_arrayPush.js +0 -20
- package/.output/server/node_modules/lodash-es/_arrayReduce.js +0 -26
- package/.output/server/node_modules/lodash-es/_arraySome.js +0 -23
- package/.output/server/node_modules/lodash-es/_asciiSize.js +0 -12
- package/.output/server/node_modules/lodash-es/_assignMergeValue.js +0 -20
- package/.output/server/node_modules/lodash-es/_assignValue.js +0 -28
- package/.output/server/node_modules/lodash-es/_assocIndexOf.js +0 -21
- package/.output/server/node_modules/lodash-es/_baseAssign.js +0 -17
- package/.output/server/node_modules/lodash-es/_baseAssignIn.js +0 -17
- package/.output/server/node_modules/lodash-es/_baseAssignValue.js +0 -25
- package/.output/server/node_modules/lodash-es/_baseClone.js +0 -166
- package/.output/server/node_modules/lodash-es/_baseCreate.js +0 -30
- package/.output/server/node_modules/lodash-es/_baseEach.js +0 -14
- package/.output/server/node_modules/lodash-es/_baseExtremum.js +0 -32
- package/.output/server/node_modules/lodash-es/_baseFilter.js +0 -21
- package/.output/server/node_modules/lodash-es/_baseFindIndex.js +0 -24
- package/.output/server/node_modules/lodash-es/_baseFlatten.js +0 -38
- package/.output/server/node_modules/lodash-es/_baseFor.js +0 -16
- package/.output/server/node_modules/lodash-es/_baseForOwn.js +0 -16
- package/.output/server/node_modules/lodash-es/_baseGet.js +0 -24
- package/.output/server/node_modules/lodash-es/_baseGetAllKeys.js +0 -20
- package/.output/server/node_modules/lodash-es/_baseGetTag.js +0 -28
- package/.output/server/node_modules/lodash-es/_baseGt.js +0 -14
- package/.output/server/node_modules/lodash-es/_baseHas.js +0 -19
- package/.output/server/node_modules/lodash-es/_baseHasIn.js +0 -13
- package/.output/server/node_modules/lodash-es/_baseIndexOf.js +0 -20
- package/.output/server/node_modules/lodash-es/_baseIsArguments.js +0 -18
- package/.output/server/node_modules/lodash-es/_baseIsEqual.js +0 -28
- package/.output/server/node_modules/lodash-es/_baseIsEqualDeep.js +0 -83
- package/.output/server/node_modules/lodash-es/_baseIsMap.js +0 -18
- package/.output/server/node_modules/lodash-es/_baseIsMatch.js +0 -62
- package/.output/server/node_modules/lodash-es/_baseIsNaN.js +0 -12
- package/.output/server/node_modules/lodash-es/_baseIsNative.js +0 -47
- package/.output/server/node_modules/lodash-es/_baseIsSet.js +0 -18
- package/.output/server/node_modules/lodash-es/_baseIsTypedArray.js +0 -60
- package/.output/server/node_modules/lodash-es/_baseIteratee.js +0 -31
- package/.output/server/node_modules/lodash-es/_baseKeys.js +0 -30
- package/.output/server/node_modules/lodash-es/_baseKeysIn.js +0 -33
- package/.output/server/node_modules/lodash-es/_baseLodash.js +0 -10
- package/.output/server/node_modules/lodash-es/_baseLt.js +0 -14
- package/.output/server/node_modules/lodash-es/_baseMap.js +0 -22
- package/.output/server/node_modules/lodash-es/_baseMatches.js +0 -22
- package/.output/server/node_modules/lodash-es/_baseMatchesProperty.js +0 -33
- package/.output/server/node_modules/lodash-es/_baseMerge.js +0 -42
- package/.output/server/node_modules/lodash-es/_baseMergeDeep.js +0 -94
- package/.output/server/node_modules/lodash-es/_baseOrderBy.js +0 -49
- package/.output/server/node_modules/lodash-es/_basePick.js +0 -19
- package/.output/server/node_modules/lodash-es/_basePickBy.js +0 -30
- package/.output/server/node_modules/lodash-es/_baseProperty.js +0 -14
- package/.output/server/node_modules/lodash-es/_basePropertyDeep.js +0 -16
- package/.output/server/node_modules/lodash-es/_baseRange.js +0 -28
- package/.output/server/node_modules/lodash-es/_baseReduce.js +0 -23
- package/.output/server/node_modules/lodash-es/_baseRest.js +0 -17
- package/.output/server/node_modules/lodash-es/_baseSet.js +0 -51
- package/.output/server/node_modules/lodash-es/_baseSetData.js +0 -17
- package/.output/server/node_modules/lodash-es/_baseSetToString.js +0 -22
- package/.output/server/node_modules/lodash-es/_baseSortBy.js +0 -21
- package/.output/server/node_modules/lodash-es/_baseTimes.js +0 -20
- package/.output/server/node_modules/lodash-es/_baseToPairs.js +0 -18
- package/.output/server/node_modules/lodash-es/_baseToString.js +0 -37
- package/.output/server/node_modules/lodash-es/_baseTrim.js +0 -19
- package/.output/server/node_modules/lodash-es/_baseUnary.js +0 -14
- package/.output/server/node_modules/lodash-es/_baseUniq.js +0 -72
- package/.output/server/node_modules/lodash-es/_baseValues.js +0 -19
- package/.output/server/node_modules/lodash-es/_baseZipObject.js +0 -23
- package/.output/server/node_modules/lodash-es/_cacheHas.js +0 -13
- package/.output/server/node_modules/lodash-es/_castFunction.js +0 -14
- package/.output/server/node_modules/lodash-es/_castPath.js +0 -21
- package/.output/server/node_modules/lodash-es/_cloneArrayBuffer.js +0 -16
- package/.output/server/node_modules/lodash-es/_cloneBuffer.js +0 -35
- package/.output/server/node_modules/lodash-es/_cloneDataView.js +0 -16
- package/.output/server/node_modules/lodash-es/_cloneRegExp.js +0 -17
- package/.output/server/node_modules/lodash-es/_cloneSymbol.js +0 -18
- package/.output/server/node_modules/lodash-es/_cloneTypedArray.js +0 -16
- package/.output/server/node_modules/lodash-es/_compareAscending.js +0 -41
- package/.output/server/node_modules/lodash-es/_compareMultiple.js +0 -44
- package/.output/server/node_modules/lodash-es/_composeArgs.js +0 -39
- package/.output/server/node_modules/lodash-es/_composeArgsRight.js +0 -41
- package/.output/server/node_modules/lodash-es/_copyArray.js +0 -20
- package/.output/server/node_modules/lodash-es/_copyObject.js +0 -40
- package/.output/server/node_modules/lodash-es/_copySymbols.js +0 -16
- package/.output/server/node_modules/lodash-es/_copySymbolsIn.js +0 -16
- package/.output/server/node_modules/lodash-es/_coreJsData.js +0 -6
- package/.output/server/node_modules/lodash-es/_countHolders.js +0 -21
- package/.output/server/node_modules/lodash-es/_createAssigner.js +0 -37
- package/.output/server/node_modules/lodash-es/_createBaseEach.js +0 -32
- package/.output/server/node_modules/lodash-es/_createBaseFor.js +0 -25
- package/.output/server/node_modules/lodash-es/_createBind.js +0 -28
- package/.output/server/node_modules/lodash-es/_createCtor.js +0 -37
- package/.output/server/node_modules/lodash-es/_createCurry.js +0 -46
- package/.output/server/node_modules/lodash-es/_createFind.js +0 -25
- package/.output/server/node_modules/lodash-es/_createHybrid.js +0 -92
- package/.output/server/node_modules/lodash-es/_createPartial.js +0 -43
- package/.output/server/node_modules/lodash-es/_createRange.js +0 -30
- package/.output/server/node_modules/lodash-es/_createRecurry.js +0 -56
- package/.output/server/node_modules/lodash-es/_createSet.js +0 -19
- package/.output/server/node_modules/lodash-es/_createToPairs.js +0 -30
- package/.output/server/node_modules/lodash-es/_createWrap.js +0 -106
- package/.output/server/node_modules/lodash-es/_defineProperty.js +0 -11
- package/.output/server/node_modules/lodash-es/_equalArrays.js +0 -84
- package/.output/server/node_modules/lodash-es/_equalByTag.js +0 -112
- package/.output/server/node_modules/lodash-es/_equalObjects.js +0 -90
- package/.output/server/node_modules/lodash-es/_flatRest.js +0 -16
- package/.output/server/node_modules/lodash-es/_freeGlobal.js +0 -4
- package/.output/server/node_modules/lodash-es/_getAllKeys.js +0 -16
- package/.output/server/node_modules/lodash-es/_getAllKeysIn.js +0 -17
- package/.output/server/node_modules/lodash-es/_getData.js +0 -15
- package/.output/server/node_modules/lodash-es/_getFuncName.js +0 -31
- package/.output/server/node_modules/lodash-es/_getHolder.js +0 -13
- package/.output/server/node_modules/lodash-es/_getMapData.js +0 -18
- package/.output/server/node_modules/lodash-es/_getMatchData.js +0 -24
- package/.output/server/node_modules/lodash-es/_getNative.js +0 -17
- package/.output/server/node_modules/lodash-es/_getPrototype.js +0 -6
- package/.output/server/node_modules/lodash-es/_getRawTag.js +0 -46
- package/.output/server/node_modules/lodash-es/_getSymbols.js +0 -30
- package/.output/server/node_modules/lodash-es/_getSymbolsIn.js +0 -25
- package/.output/server/node_modules/lodash-es/_getTag.js +0 -58
- package/.output/server/node_modules/lodash-es/_getValue.js +0 -13
- package/.output/server/node_modules/lodash-es/_getWrapDetails.js +0 -17
- package/.output/server/node_modules/lodash-es/_hasPath.js +0 -39
- package/.output/server/node_modules/lodash-es/_hasUnicode.js +0 -26
- package/.output/server/node_modules/lodash-es/_hashClear.js +0 -15
- package/.output/server/node_modules/lodash-es/_hashDelete.js +0 -17
- package/.output/server/node_modules/lodash-es/_hashGet.js +0 -30
- package/.output/server/node_modules/lodash-es/_hashHas.js +0 -23
- package/.output/server/node_modules/lodash-es/_hashSet.js +0 -23
- package/.output/server/node_modules/lodash-es/_initCloneArray.js +0 -26
- package/.output/server/node_modules/lodash-es/_initCloneByTag.js +0 -77
- package/.output/server/node_modules/lodash-es/_initCloneObject.js +0 -18
- package/.output/server/node_modules/lodash-es/_insertWrapDetails.js +0 -23
- package/.output/server/node_modules/lodash-es/_isFlattenable.js +0 -20
- package/.output/server/node_modules/lodash-es/_isIndex.js +0 -25
- package/.output/server/node_modules/lodash-es/_isIterateeCall.js +0 -30
- package/.output/server/node_modules/lodash-es/_isKey.js +0 -29
- package/.output/server/node_modules/lodash-es/_isKeyable.js +0 -15
- package/.output/server/node_modules/lodash-es/_isLaziable.js +0 -28
- package/.output/server/node_modules/lodash-es/_isMasked.js +0 -20
- package/.output/server/node_modules/lodash-es/_isPrototype.js +0 -18
- package/.output/server/node_modules/lodash-es/_isStrictComparable.js +0 -15
- package/.output/server/node_modules/lodash-es/_listCacheClear.js +0 -13
- package/.output/server/node_modules/lodash-es/_listCacheDelete.js +0 -35
- package/.output/server/node_modules/lodash-es/_listCacheGet.js +0 -19
- package/.output/server/node_modules/lodash-es/_listCacheHas.js +0 -16
- package/.output/server/node_modules/lodash-es/_listCacheSet.js +0 -26
- package/.output/server/node_modules/lodash-es/_mapCacheClear.js +0 -21
- package/.output/server/node_modules/lodash-es/_mapCacheDelete.js +0 -18
- package/.output/server/node_modules/lodash-es/_mapCacheGet.js +0 -16
- package/.output/server/node_modules/lodash-es/_mapCacheHas.js +0 -16
- package/.output/server/node_modules/lodash-es/_mapCacheSet.js +0 -22
- package/.output/server/node_modules/lodash-es/_mapToArray.js +0 -18
- package/.output/server/node_modules/lodash-es/_matchesStrictComparable.js +0 -20
- package/.output/server/node_modules/lodash-es/_memoizeCapped.js +0 -26
- package/.output/server/node_modules/lodash-es/_mergeData.js +0 -90
- package/.output/server/node_modules/lodash-es/_metaMap.js +0 -6
- package/.output/server/node_modules/lodash-es/_nativeCreate.js +0 -6
- package/.output/server/node_modules/lodash-es/_nativeKeys.js +0 -6
- package/.output/server/node_modules/lodash-es/_nativeKeysIn.js +0 -20
- package/.output/server/node_modules/lodash-es/_nodeUtil.js +0 -30
- package/.output/server/node_modules/lodash-es/_objectToString.js +0 -22
- package/.output/server/node_modules/lodash-es/_overArg.js +0 -15
- package/.output/server/node_modules/lodash-es/_overRest.js +0 -36
- package/.output/server/node_modules/lodash-es/_realNames.js +0 -4
- package/.output/server/node_modules/lodash-es/_reorder.js +0 -29
- package/.output/server/node_modules/lodash-es/_replaceHolders.js +0 -29
- package/.output/server/node_modules/lodash-es/_root.js +0 -9
- package/.output/server/node_modules/lodash-es/_safeGet.js +0 -21
- package/.output/server/node_modules/lodash-es/_setCacheAdd.js +0 -19
- package/.output/server/node_modules/lodash-es/_setCacheHas.js +0 -14
- package/.output/server/node_modules/lodash-es/_setData.js +0 -20
- package/.output/server/node_modules/lodash-es/_setToArray.js +0 -18
- package/.output/server/node_modules/lodash-es/_setToPairs.js +0 -18
- package/.output/server/node_modules/lodash-es/_setToString.js +0 -14
- package/.output/server/node_modules/lodash-es/_setWrapToString.js +0 -21
- package/.output/server/node_modules/lodash-es/_shortOut.js +0 -37
- package/.output/server/node_modules/lodash-es/_stackClear.js +0 -15
- package/.output/server/node_modules/lodash-es/_stackDelete.js +0 -18
- package/.output/server/node_modules/lodash-es/_stackGet.js +0 -14
- package/.output/server/node_modules/lodash-es/_stackHas.js +0 -14
- package/.output/server/node_modules/lodash-es/_stackSet.js +0 -34
- package/.output/server/node_modules/lodash-es/_strictIndexOf.js +0 -23
- package/.output/server/node_modules/lodash-es/_stringSize.js +0 -18
- package/.output/server/node_modules/lodash-es/_stringToPath.js +0 -27
- package/.output/server/node_modules/lodash-es/_toKey.js +0 -21
- package/.output/server/node_modules/lodash-es/_toSource.js +0 -26
- package/.output/server/node_modules/lodash-es/_trimmedEndIndex.js +0 -19
- package/.output/server/node_modules/lodash-es/_unicodeSize.js +0 -44
- package/.output/server/node_modules/lodash-es/_updateWrapDetails.js +0 -46
- package/.output/server/node_modules/lodash-es/_wrapperClone.js +0 -23
- package/.output/server/node_modules/lodash-es/bind.js +0 -57
- package/.output/server/node_modules/lodash-es/clone.js +0 -36
- package/.output/server/node_modules/lodash-es/cloneDeep.js +0 -29
- package/.output/server/node_modules/lodash-es/constant.js +0 -26
- package/.output/server/node_modules/lodash-es/defaults.js +0 -64
- package/.output/server/node_modules/lodash-es/each.js +0 -1
- package/.output/server/node_modules/lodash-es/eq.js +0 -37
- package/.output/server/node_modules/lodash-es/filter.js +0 -52
- package/.output/server/node_modules/lodash-es/find.js +0 -42
- package/.output/server/node_modules/lodash-es/findIndex.js +0 -55
- package/.output/server/node_modules/lodash-es/flatten.js +0 -22
- package/.output/server/node_modules/lodash-es/forEach.js +0 -41
- package/.output/server/node_modules/lodash-es/get.js +0 -33
- package/.output/server/node_modules/lodash-es/has.js +0 -35
- package/.output/server/node_modules/lodash-es/hasIn.js +0 -34
- package/.output/server/node_modules/lodash-es/identity.js +0 -21
- package/.output/server/node_modules/lodash-es/isArguments.js +0 -36
- package/.output/server/node_modules/lodash-es/isArray.js +0 -26
- package/.output/server/node_modules/lodash-es/isArrayLike.js +0 -33
- package/.output/server/node_modules/lodash-es/isArrayLikeObject.js +0 -33
- package/.output/server/node_modules/lodash-es/isBuffer.js +0 -38
- package/.output/server/node_modules/lodash-es/isEmpty.js +0 -77
- package/.output/server/node_modules/lodash-es/isFunction.js +0 -37
- package/.output/server/node_modules/lodash-es/isLength.js +0 -35
- package/.output/server/node_modules/lodash-es/isMap.js +0 -27
- package/.output/server/node_modules/lodash-es/isObject.js +0 -31
- package/.output/server/node_modules/lodash-es/isObjectLike.js +0 -29
- package/.output/server/node_modules/lodash-es/isPlainObject.js +0 -62
- package/.output/server/node_modules/lodash-es/isSet.js +0 -27
- package/.output/server/node_modules/lodash-es/isString.js +0 -30
- package/.output/server/node_modules/lodash-es/isSymbol.js +0 -29
- package/.output/server/node_modules/lodash-es/isTypedArray.js +0 -27
- package/.output/server/node_modules/lodash-es/isUndefined.js +0 -22
- package/.output/server/node_modules/lodash-es/keys.js +0 -37
- package/.output/server/node_modules/lodash-es/keysIn.js +0 -32
- package/.output/server/node_modules/lodash-es/last.js +0 -20
- package/.output/server/node_modules/lodash-es/map.js +0 -53
- package/.output/server/node_modules/lodash-es/mapValues.js +0 -43
- package/.output/server/node_modules/lodash-es/max.js +0 -29
- package/.output/server/node_modules/lodash-es/maxBy.js +0 -34
- package/.output/server/node_modules/lodash-es/memoize.js +0 -73
- package/.output/server/node_modules/lodash-es/merge.js +0 -39
- package/.output/server/node_modules/lodash-es/min.js +0 -29
- package/.output/server/node_modules/lodash-es/minBy.js +0 -34
- package/.output/server/node_modules/lodash-es/noop.js +0 -17
- package/.output/server/node_modules/lodash-es/now.js +0 -23
- package/.output/server/node_modules/lodash-es/package.json +0 -23
- package/.output/server/node_modules/lodash-es/pick.js +0 -25
- package/.output/server/node_modules/lodash-es/property.js +0 -32
- package/.output/server/node_modules/lodash-es/range.js +0 -46
- package/.output/server/node_modules/lodash-es/reduce.js +0 -51
- package/.output/server/node_modules/lodash-es/size.js +0 -46
- package/.output/server/node_modules/lodash-es/sortBy.js +0 -48
- package/.output/server/node_modules/lodash-es/stubArray.js +0 -23
- package/.output/server/node_modules/lodash-es/stubFalse.js +0 -18
- package/.output/server/node_modules/lodash-es/toFinite.js +0 -42
- package/.output/server/node_modules/lodash-es/toInteger.js +0 -36
- package/.output/server/node_modules/lodash-es/toNumber.js +0 -64
- package/.output/server/node_modules/lodash-es/toPairs.js +0 -30
- package/.output/server/node_modules/lodash-es/toPlainObject.js +0 -32
- package/.output/server/node_modules/lodash-es/toString.js +0 -28
- package/.output/server/node_modules/lodash-es/transform.js +0 -65
- package/.output/server/node_modules/lodash-es/union.js +0 -26
- package/.output/server/node_modules/lodash-es/uniqueId.js +0 -28
- package/.output/server/node_modules/lodash-es/values.js +0 -34
- package/.output/server/node_modules/lodash-es/wrapperLodash.js +0 -147
- package/.output/server/node_modules/lodash-es/zipObject.js +0 -24
- package/.output/server/node_modules/maplibre-gl/dist/maplibre-gl.js +0 -44
- package/.output/server/node_modules/maplibre-gl/dist/package.json +0 -1
- package/.output/server/node_modules/maplibre-gl/package.json +0 -182
- package/.output/server/node_modules/striptags/package.json +0 -30
- package/.output/server/node_modules/striptags/src/striptags.js +0 -239
- package/.output/server/node_modules/stylis/dist/umd/package.json +0 -1
- package/.output/server/node_modules/stylis/dist/umd/stylis.js +0 -2
- package/.output/server/node_modules/stylis/package.json +0 -167
- package/.output/server/node_modules/supercluster/dist/supercluster.js +0 -635
- package/.output/server/node_modules/supercluster/package.json +0 -54
- package/.output/server/node_modules/three/package.json +0 -136
- package/.output/server/node_modules/three/src/cameras/ArrayCamera.js +0 -18
- package/.output/server/node_modules/three/src/cameras/Camera.js +0 -68
- package/.output/server/node_modules/three/src/cameras/CubeCamera.js +0 -107
- package/.output/server/node_modules/three/src/cameras/OrthographicCamera.js +0 -136
- package/.output/server/node_modules/three/src/cameras/PerspectiveCamera.js +0 -233
- package/.output/server/node_modules/three/src/constants.js +0 -199
- package/.output/server/node_modules/three/src/core/BufferAttribute.js +0 -528
- package/.output/server/node_modules/three/src/core/BufferGeometry.js +0 -1130
- package/.output/server/node_modules/three/src/core/EventDispatcher.js +0 -87
- package/.output/server/node_modules/three/src/core/Layers.js +0 -60
- package/.output/server/node_modules/three/src/core/Object3D.js +0 -924
- package/.output/server/node_modules/three/src/extras/ImageUtils.js +0 -66
- package/.output/server/node_modules/three/src/extras/PMREMGenerator.js +0 -1013
- package/.output/server/node_modules/three/src/geometries/BoxGeometry.js +0 -170
- package/.output/server/node_modules/three/src/geometries/PlaneGeometry.js +0 -87
- package/.output/server/node_modules/three/src/materials/Material.js +0 -491
- package/.output/server/node_modules/three/src/materials/MeshBasicMaterial.js +0 -106
- package/.output/server/node_modules/three/src/materials/MeshDepthMaterial.js +0 -74
- package/.output/server/node_modules/three/src/materials/MeshDistanceMaterial.js +0 -72
- package/.output/server/node_modules/three/src/materials/PointsMaterial.js +0 -59
- package/.output/server/node_modules/three/src/materials/RawShaderMaterial.js +0 -17
- package/.output/server/node_modules/three/src/materials/ShaderMaterial.js +0 -200
- package/.output/server/node_modules/three/src/math/Box3.js +0 -518
- package/.output/server/node_modules/three/src/math/Color.js +0 -604
- package/.output/server/node_modules/three/src/math/Euler.js +0 -322
- package/.output/server/node_modules/three/src/math/Frustum.js +0 -162
- package/.output/server/node_modules/three/src/math/MathUtils.js +0 -258
- package/.output/server/node_modules/three/src/math/Matrix3.js +0 -339
- package/.output/server/node_modules/three/src/math/Matrix4.js +0 -885
- package/.output/server/node_modules/three/src/math/Plane.js +0 -205
- package/.output/server/node_modules/three/src/math/Quaternion.js +0 -689
- package/.output/server/node_modules/three/src/math/Ray.js +0 -496
- package/.output/server/node_modules/three/src/math/Sphere.js +0 -219
- package/.output/server/node_modules/three/src/math/Triangle.js +0 -299
- package/.output/server/node_modules/three/src/math/Vector2.js +0 -484
- package/.output/server/node_modules/three/src/math/Vector3.js +0 -745
- package/.output/server/node_modules/three/src/math/Vector4.js +0 -664
- package/.output/server/node_modules/three/src/objects/Group.js +0 -17
- package/.output/server/node_modules/three/src/objects/Mesh.js +0 -419
- package/.output/server/node_modules/three/src/objects/Points.js +0 -188
- package/.output/server/node_modules/three/src/renderers/WebGLCubeRenderTarget.js +0 -155
- package/.output/server/node_modules/three/src/renderers/WebGLMultisampleRenderTarget.js +0 -33
- package/.output/server/node_modules/three/src/renderers/WebGLRenderTarget.js +0 -109
- package/.output/server/node_modules/three/src/renderers/WebGLRenderer.js +0 -2217
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_pars_fragment.glsl.js +0 -5
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js +0 -18
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js +0 -8
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/begin_vertex.glsl.js +0 -3
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js +0 -9
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +0 -258
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +0 -44
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_begin.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js +0 -18
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js +0 -21
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js +0 -33
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js +0 -9
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js +0 -11
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js +0 -11
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +0 -11
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +0 -23
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -116
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +0 -214
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/default_fragment.glsl.js +0 -5
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/default_vertex.glsl.js +0 -5
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js +0 -36
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl.js +0 -9
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/dithering_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js +0 -20
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +0 -11
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/encodings_fragment.glsl.js +0 -3
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/encodings_pars_fragment.glsl.js +0 -62
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +0 -14
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +0 -68
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +0 -21
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +0 -22
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +0 -62
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js +0 -37
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js +0 -17
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js +0 -19
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +0 -26
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -16
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl.js +0 -8
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +0 -152
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js +0 -13
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +0 -38
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js +0 -122
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +0 -223
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +0 -34
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +0 -95
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +0 -188
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_fragment.glsl.js +0 -4
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +0 -28
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +0 -9
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +0 -9
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +0 -16
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +0 -22
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +0 -10
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js +0 -20
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js +0 -19
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js +0 -12
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_pars_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +0 -27
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +0 -38
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +0 -44
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +0 -48
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js +0 -41
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_fragment.glsl.js +0 -14
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_vertex.glsl.js +0 -14
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_vertex.glsl.js +0 -14
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +0 -45
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +0 -12
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js +0 -54
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +0 -8
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js +0 -13
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js +0 -12
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_pars_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +0 -310
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +0 -63
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +0 -60
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +0 -66
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinbase_vertex.glsl.js +0 -10
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js +0 -48
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinning_vertex.glsl.js +0 -15
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js +0 -20
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js +0 -14
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +0 -77
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +0 -32
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +0 -115
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js +0 -10
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js +0 -17
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js +0 -7
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +0 -15
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk.js +0 -257
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js +0 -29
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/cube.glsl.js +0 -38
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js +0 -92
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js +0 -73
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/equirect.glsl.js +0 -37
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js +0 -69
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +0 -115
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +0 -150
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +0 -107
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +0 -76
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -125
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +0 -196
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +0 -116
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js +0 -70
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js +0 -49
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js +0 -79
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/vsm.glsl.js +0 -56
- package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib.js +0 -325
- package/.output/server/node_modules/three/src/renderers/shaders/UniformsLib.js +0 -217
- package/.output/server/node_modules/three/src/renderers/shaders/UniformsUtils.js +0 -66
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLAnimation.js +0 -53
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLAttributes.js +0 -193
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLBackground.js +0 -225
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLBindingStates.js +0 -595
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js +0 -61
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLCapabilities.js +0 -123
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLClipping.js +0 -167
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLCubeMaps.js +0 -103
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLCubeUVMaps.js +0 -117
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLExtensions.js +0 -96
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLGeometries.js +0 -195
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js +0 -71
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLInfo.js +0 -72
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLLights.js +0 -551
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLMaterials.js +0 -792
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLMorphtargets.js +0 -283
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLObjects.js +0 -72
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLProgram.js +0 -897
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLPrograms.js +0 -432
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLProperties.js +0 -48
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLRenderLists.js +0 -247
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLRenderStates.js +0 -106
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLShader.js +0 -12
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLShadowMap.js +0 -381
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLState.js +0 -1083
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLTextures.js +0 -1530
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLUniforms.js +0 -1019
- package/.output/server/node_modules/three/src/renderers/webgl/WebGLUtils.js +0 -197
- package/.output/server/node_modules/three/src/renderers/webxr/WebXRController.js +0 -299
- package/.output/server/node_modules/three/src/renderers/webxr/WebXRManager.js +0 -684
- package/.output/server/node_modules/three/src/scenes/Scene.js +0 -58
- package/.output/server/node_modules/three/src/textures/CubeTexture.js +0 -33
- package/.output/server/node_modules/three/src/textures/DataTexture2DArray.js +0 -29
- package/.output/server/node_modules/three/src/textures/DataTexture3D.js +0 -37
- package/.output/server/node_modules/three/src/textures/DepthTexture.js +0 -36
- package/.output/server/node_modules/three/src/textures/Texture.js +0 -377
- package/.output/server/node_modules/three/src/utils.js +0 -93
- package/.output/server/node_modules/throttle-debounce/esm/index.js +0 -162
- package/.output/server/node_modules/throttle-debounce/esm/package.json +0 -1
- package/.output/server/node_modules/throttle-debounce/package.json +0 -98
- package/.output/server/node_modules/topojson-client/dist/topojson-client.js +0 -508
- package/.output/server/node_modules/topojson-client/package.json +0 -49
- package/.output/server/node_modules/tslib/modules/index.js +0 -70
- package/.output/server/node_modules/tslib/modules/package.json +0 -3
- package/.output/server/node_modules/tslib/package.json +0 -47
- package/.output/server/node_modules/tslib/tslib.js +0 -484
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as p,o as a,e as g,m as w,b as o,f as C,h as c,i as b,_ as v,k as x,t as y,c as u,l as d,V as f,I as V,g as _,F as h,z,J as U,r as M,v as j}from"./BzBaMPgu.js";import{j as B,C as L,B as F,k as N}from"./CdM2qNYM.js";import{_ as O}from"./qeqzb80l.js";import{_ as P}from"./CnRNwiuE.js";import{_ as T}from"./Dq6_-84R.js";const D=p({__name:"StatusChip",props:{status:{},size:{}},setup(e){return(t,n)=>{const l=v,r=w;return a(),g(r,{color:("getStatusColor"in t?t.getStatusColor:o(B))(e.status),size:e.size,variant:"subtle",class:"capitalize gap-1 items-center font-semibold shrink-0"},{default:C(()=>[c(l,{name:("getStatusIcon"in t?t.getStatusIcon:o(F))(e.status),class:b(["size-3.5 shrink-0",{"animate-spin":("isStatusInFlight"in t?t.isStatusInFlight:o(L))(e.status)}])},null,8,["name","class"]),x(" "+y(("formatStatusLabel"in t?t.formatStatusLabel:o(N))(e.status)),1)]),_:1},8,["color","size"])}}}),ee=Object.assign(D,{__name:"StatusChip"}),H=["title"],G=p({__name:"MetaStripGroup",props:{label:{},icon:{},help:{}},setup(e){return(t,n)=>{const l=v,r=O;return a(),u("div",{class:"inline-flex items-center flex-wrap gap-x-1.5 gap-y-1 min-w-0 py-0.5 mr-3 [&:not(:first-child)]:border-l [&:not(:first-child)]:border-default [&:not(:first-child)]:pl-3",title:e.label},[e.icon?(a(),g(l,{key:0,name:e.icon,class:"w-3.5 h-3.5 text-dimmed shrink-0"},null,8,["name"])):d("",!0),f(t.$slots,"default"),e.help?(a(),g(r,{key:1,topic:e.help},null,8,["topic"])):d("",!0)],8,H)}}}),te=Object.assign(G,{__name:"MetaStripGroup"}),q={class:"flex flex-wrap items-center gap-y-1 text-sm min-w-0"},E=p({__name:"SummaryMetaStrip",setup(e){return(t,n)=>(a(),u("div",q,[f(t.$slots,"default")]))}}),se=Object.assign(E,{__name:"SummaryMetaStrip"}),J={class:"flex flex-col h-full gap-4 p-1 max-lg:overflow-y-auto lg:overflow-hidden"},A={key:0,class:"lg:shrink-0"},K={class:"lg:shrink-0 max-lg:sticky max-lg:top-0 max-lg:z-10 max-lg:-mx-1 max-lg:bg-(--ui-bg-canvas) max-lg:px-1 max-lg:py-1.5"},Q=p({__name:"DetailPageLayout",props:U({tabItems:{},tabPanelClass:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=V(e,"modelValue"),l=M(!1),r=j(()=>t.tabItems.find(i=>i.value===n.value)?.icon);function S(i){return["min-h-0","lg:flex-1",t.tabPanelClass?.[i]??"overflow-y-auto","max-lg:!block","max-lg:!overflow-visible"]}return(i,m)=>{const k=v,$=P,I=T;return a(),u("div",J,[i.$slots.summary?(a(),u("div",A,[_("div",{class:b(o(l)?"max-lg:hidden":"")},[f(i.$slots,"summary")],2),_("button",{type:"button",class:"lg:hidden mt-2 w-full flex items-center justify-center gap-1 rounded-md border border-default py-1.5 text-xs font-medium text-muted hover:bg-elevated/60 transition-colors",onClick:m[0]||(m[0]=s=>l.value=!o(l))},[c(k,{name:o(l)?"i-lucide-chevron-down":"i-lucide-chevron-up",class:"size-3.5"},null,8,["name"]),x(" "+y(o(l)?"Show summary":"Hide summary"),1)])])):d("",!0),_("div",K,[c($,{modelValue:n.value,"onUpdate:modelValue":m[1]||(m[1]=s=>n.value=s),items:e.tabItems,icon:o(r),size:"md",class:"w-full sm:hidden"},null,8,["modelValue","items","icon"]),c(I,{modelValue:n.value,"onUpdate:modelValue":m[2]||(m[2]=s=>n.value=s),items:e.tabItems,size:"sm",class:"hidden sm:flex",ui:{list:"overflow-x-auto",trigger:"shrink-0"}},null,8,["modelValue","items"])]),(a(!0),u(h,null,z(e.tabItems,s=>(a(),u(h,{key:s.value},[n.value===s.value?(a(),u("div",{key:0,class:b(S(s.value))},[f(i.$slots,`tab-${s.slot??s.value}`)],2)):d("",!0)],64))),128))])}}}),ae=Object.assign(Q,{__name:"DetailPageLayout"});export{ee as _,se as a,te as b,ae as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.unovis-xy-container{font-family:inherit}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a2 as m,a3 as y,a5 as g,o as i,e as h,f as b,b as t,c as l,i as o,V as d,k as u,t as c,l as n,X as k,v as x,a8 as C}from"./BzBaMPgu.js";const q={slots:{root:"rounded-lg overflow-hidden",header:"p-4 sm:px-6",title:"text-highlighted font-semibold",description:"mt-1 text-muted text-sm",body:"p-4 sm:p-6",footer:"p-4 sm:px-6"},variants:{variant:{solid:{root:"bg-inverted text-inverted",title:"text-inverted",description:"text-dimmed"},outline:{root:"bg-default ring ring-default divide-y divide-default"},soft:{root:"bg-elevated/50 divide-y divide-default"},subtle:{root:"bg-elevated/50 ring ring-default divide-y divide-default"}}},defaultVariants:{variant:"outline"}},V={__name:"UCard",props:{as:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},variant:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(p){const v=p,s=m(),e=y("card",v),f=g(),a=x(()=>C({extend:q,...f.ui?.card||{}})({variant:e.variant}));return(r,S)=>(i(),h(t(k),{as:t(e).as,"data-slot":"root",class:o(a.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:b(()=>[s.header||t(e).title||s.title||t(e).description||s.description?(i(),l("div",{key:0,"data-slot":"header",class:o(a.value.header({class:t(e).ui?.header}))},[d(r.$slots,"header",{},()=>[t(e).title||s.title?(i(),l("div",{key:0,"data-slot":"title",class:o(a.value.title({class:t(e).ui?.title}))},[d(r.$slots,"title",{},()=>[u(c(t(e).title),1)])],2)):n("",!0),t(e).description||s.description?(i(),l("div",{key:1,"data-slot":"description",class:o(a.value.description({class:t(e).ui?.description}))},[d(r.$slots,"description",{},()=>[u(c(t(e).description),1)])],2)):n("",!0)])],2)):n("",!0),s.default?(i(),l("div",{key:1,"data-slot":"body",class:o(a.value.body({class:t(e).ui?.body}))},[d(r.$slots,"default")],2)):n("",!0),s.footer?(i(),l("div",{key:2,"data-slot":"footer",class:o(a.value.footer({class:t(e).ui?.footer}))},[d(r.$slots,"footer")],2)):n("",!0)]),_:3},8,["as","class"]))}};export{V as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as V,U as Z,o as r,e as x,f as d,V as F,k as q,W as Q,b as e,X as H,Y as He,Z as We,v as k,$ as Xe,a0 as Ye,a1 as Je,t as P,c as I,g as f,R as ce,i as L,h as i,_ as ee,F as U,z as oe,m as Se,H as qe,l as B,j as G,r as w,a2 as et,a3 as tt,a4 as at,a5 as st,a6 as lt,a7 as nt,a8 as ot,u as it,p as rt,B as ut,a as ae,G as dt,x as se,a9 as Re,aa as de}from"./BzBaMPgu.js";import{_ as ct}from"./CnRNwiuE.js";import{_ as pt}from"./Bw4oIhct.js";import{_ as ft}from"./Hp-_W7z4.js";import{_ as gt}from"./DUtYU4Sb.js";import{_ as mt}from"./B77w1Eib.js";import{_ as vt}from"./Db5xe__T.js";import{_ as ze}from"./CVEk4D8I.js";import{_ as Ie}from"./Ch8sGLqE.js";import{k as pe,l as fe,p as ge,f as me,e as _t,t as yt}from"./CdM2qNYM.js";import{_ as bt}from"./BraJd4EA.js";import{_ as ht}from"./BMfTUMYy.js";import{_ as xt}from"./CBQXv4bU.js";import{_ as kt}from"./D_j436ND.js";import{u as Ct}from"./DkGXOZRW.js";import{u as Pt}from"./CDEmotIt.js";var Rt=V({__name:"PaginationEllipsis",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const c=u;return Z(),(s,_)=>(r(),x(e(H),Q(c,{"data-type":"ellipsis"}),{default:d(()=>[F(s.$slots,"default",{},()=>[_[0]||(_[0]=q("…"))])]),_:3},16))}}),$t=Rt;const[te,St]=Xe("PaginationRoot");var qt=V({__name:"PaginationRoot",props:{page:{type:Number,required:!1},defaultPage:{type:Number,required:!1,default:1},itemsPerPage:{type:Number,required:!0},total:{type:Number,required:!1,default:0},siblingCount:{type:Number,required:!1,default:2},disabled:{type:Boolean,required:!1},showEdges:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"nav"}},emits:["update:page"],setup(u,{emit:c}){const s=u,_=c,{siblingCount:m,disabled:t,showEdges:C}=He(s);Z();const b=We(s,"page",_,{defaultValue:s.defaultPage,passive:s.page===void 0}),T=k(()=>Math.max(1,Math.ceil(s.total/(s.itemsPerPage||1))));return St({page:b,onPageChange(z){b.value=z},pageCount:T,siblingCount:m,disabled:t,showEdges:C}),(z,E)=>(r(),x(e(H),{as:z.as,"as-child":z.asChild},{default:d(()=>[F(z.$slots,"default",{page:e(b),pageCount:T.value})]),_:3},8,["as","as-child"]))}}),zt=qt,It=V({__name:"PaginationFirst",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u,s=te();Z();const _=k(()=>s.page.value===1||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"First Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=q("First page"))])]),_:3},16,["type","disabled"]))}}),Lt=It,Nt=V({__name:"PaginationLast",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u,s=te();Z();const _=k(()=>s.page.value===s.pageCount.value||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Last Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).pageCount.value))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=q("Last page"))])]),_:3},16,["type","disabled"]))}}),Tt=Nt;function K(u,c){const s=c-u+1;return Array.from({length:s},(_,m)=>m+u)}function jt(u){return u.map(c=>typeof c=="number"?{type:"page",value:c}:{type:"ellipsis"})}const ne="ellipsis";function Ft(u,c,s,_){const t=c,C=Math.max(u-s,1),b=Math.min(u+s,t);if(_){const z=Math.min(2*s+5,c)-2,E=C>3&&Math.abs(t-z-1+1)>2&&Math.abs(C-1)>2,D=b<t-2&&Math.abs(t-z)>2&&Math.abs(t-b)>2;if(!E&&D)return[...K(1,z),ne,t];if(E&&!D){const l=K(t-z+1,t);return[1,ne,...l]}if(E&&D){const l=K(C,b);return[1,ne,...l,ne,t]}return K(1,t)}else{const T=s*2+1;return c<T?K(1,t):u<=s+1?K(1,T):c-u<=s?K(c-T+1,t):K(C,b)}}var wt=V({__name:"PaginationList",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(u){const c=u;Z();const s=te(),_=k(()=>jt(Ft(s.page.value,s.pageCount.value,s.siblingCount.value,s.showEdges.value)));return(m,t)=>(r(),x(e(H),Ye(Je(c)),{default:d(()=>[F(m.$slots,"default",{items:_.value})]),_:3},16))}}),Bt=wt,Vt=V({__name:"PaginationListItem",props:{value:{type:Number,required:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===c.value),m=k(()=>s.disabled.value);return(t,C)=>(r(),x(e(H),Q(c,{"data-type":"page","aria-label":`Page ${t.value}`,"aria-current":_.value?"page":void 0,"data-selected":_.value?"true":void 0,disabled:m.value,type:t.as==="button"?"button":void 0,onClick:C[0]||(C[0]=b=>!m.value&&e(s).onPageChange(t.value))}),{default:d(()=>[F(t.$slots,"default",{},()=>[q(P(t.value),1)])]),_:3},16,["aria-label","aria-current","data-selected","disabled","type"]))}}),Et=Vt,Dt=V({__name:"PaginationNext",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===s.pageCount.value||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Next Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).page.value+1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=q("Next page"))])]),_:3},16,["type","disabled"]))}}),Mt=Dt,Ut=V({__name:"PaginationPrev",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(u){const c=u;Z();const s=te(),_=k(()=>s.page.value===1||s.disabled.value);return(m,t)=>(r(),x(e(H),Q(c,{"aria-label":"Previous Page",type:m.as==="button"?"button":void 0,disabled:_.value,onClick:t[0]||(t[0]=C=>!_.value&&e(s).onPageChange(e(s).page.value-1))}),{default:d(()=>[F(m.$slots,"default",{},()=>[t[1]||(t[1]=q("Prev page"))])]),_:3},16,["type","disabled"]))}}),At=Ut;const Ot=["title"],Kt={class:"h-1.5 w-14 shrink-0 overflow-hidden rounded-full bg-gray-200 dark:bg-gray-700"},Gt={class:"text-sm font-medium tabular-nums"},Qt={key:1,class:"text-sm text-muted",title:"No executed runs yet"},Zt=V({__name:"PassRateIndicator",props:{rate:{}},setup(u){const c=u,s=k(()=>c.rate==null?null:Math.round(c.rate*100)),_=k(()=>s.value==null?"":s.value>=80?"bg-green-500":s.value>=50?"bg-amber-500":"bg-red-500");return(m,t)=>e(s)!=null?(r(),I("div",{key:0,class:"flex items-center gap-2",title:`${e(s)}% of executed runs passed`},[f("div",Kt,[f("div",{class:L([e(_),"h-full rounded-full transition-all"]),style:ce({width:`${e(s)}%`})},null,6)]),f("span",Gt,P(e(s))+"%",1)],8,Ot)):(r(),I("span",Qt,"—"))}}),Le=Object.assign(Zt,{__name:"PassRateIndicator"}),Ht={class:"rounded-lg border border-default bg-default text-sm"},Wt={class:"flex items-center justify-end px-3 py-1.5 border-b border-default bg-elevated"},Xt=["disabled","title"],Yt=["onClick"],Jt={class:"text-xs text-muted tabular-nums shrink-0"},ea={class:"w-24 sm:w-32 shrink-0 max-sm:hidden"},ta={class:"flex items-center gap-3 shrink-0"},aa=["title"],sa=["title"],la={key:0,class:"text-center py-8 text-muted"},na=V({__name:"ProjectTestCasesTree",props:{items:{},hasFilter:{type:Boolean}},setup(u){const c=u;function s(l){return(l.suitePath||"").split("").filter(Boolean)}function _(l){const n={passed:0,failed:0,skipped:0,flaky:0,didNotRun:0,total:0,cases:l.length};for(const v of l)n.passed+=v.passedRuns,n.failed+=v.failedRuns,n.skipped+=v.skippedRuns,n.flaky+=v.flakyRuns,n.didNotRun+=v.didNotRunRuns,n.total+=v.totalRuns;return n}const m=w(new Set),t=k(()=>m.value.size===0);function C(l){return c.hasFilter?!0:!m.value.has(l)}function b(l){if(c.hasFilter)return;const n=new Set(m.value);n.has(l)?n.delete(l):n.add(l),m.value=n}function T(){const l=new Set;for(const n of c.items){l.add(`file:${n.filePath}`);const v=s(n);for(let y=1;y<=v.length;y++)l.add(`group:${n.filePath}${v.slice(0,y).join("")}`)}return[...l]}function z(){m.value=new Set(T())}function E(){m.value=new Set}function D(l,n,v,y,h){const $=n.filter(R=>s(R).length===y.length),S=n.filter(R=>s(R).length>y.length),j=new Map;for(const R of S){const o=s(R)[y.length];j.has(o)||j.set(o,[]),j.get(o).push(R)}for(const[R,o]of j){const W=[...y,R],N=`group:${v}${W.join("")}`;l.push({kind:"group",depth:h,key:N,label:R,agg:_(o)}),C(N)&&D(l,o,v,W,h+1)}for(const R of $)l.push({kind:"case",depth:h,key:`case:${R.id}`,testCase:R})}const A=k(()=>{const l=[],n=new Map;for(const v of c.items){const y=v.filePath||"unknown";n.has(y)||n.set(y,[]),n.get(y).push(v)}for(const[v,y]of[...n.entries()].sort(([h],[$])=>h.localeCompare($))){const h=`file:${v}`;l.push({kind:"group",depth:0,key:h,label:v,agg:_(y)}),C(h)&&D(l,y,v,[],1)}return l});return(l,n)=>{const v=ee,y=ze,h=Se,$=qe,S=Le,j=Ie,R=G;return r(),I("div",Ht,[f("div",Wt,[f("button",{class:L(["flex items-center gap-1 text-xs transition-colors",u.hasFilter?"text-muted cursor-not-allowed opacity-50":"text-muted hover:text-default"]),disabled:u.hasFilter,title:u.hasFilter?"Clear filters to collapse/expand":e(t)?"Collapse all":"Expand all",onClick:n[0]||(n[0]=o=>e(t)?z():E())},[i(v,{name:e(t)?"i-lucide-fold-vertical":"i-lucide-unfold-vertical",class:"size-3.5"},null,8,["name"]),q(" "+P(e(t)?"Collapse all":"Expand all"),1)],10,Xt)]),(r(!0),I(U,null,oe(e(A),o=>(r(),I(U,{key:o.key},[o.kind==="group"?(r(),I("div",{key:0,class:L(["flex items-center gap-2 py-2 pr-3 border-b border-default last:border-b-0 select-none",[o.depth===0?"bg-elevated":"bg-default",!u.hasFilter&&"cursor-pointer"]]),style:ce({paddingLeft:`${o.depth*20+12}px`}),onClick:W=>b(o.key)},[i(v,{name:C(o.key)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3.5 text-muted shrink-0"},null,8,["name"]),i(v,{name:o.depth===0?"i-lucide-file-code-2":"i-lucide-folder-open",class:L(["size-4 shrink-0",o.depth===0?"text-blue-500":"text-amber-500"])},null,8,["name","class"]),f("span",{class:L(["font-medium truncate min-w-0",[o.depth===0?"text-default font-mono text-xs sm:text-sm":"text-muted"]])},P(o.label),3),f("span",Jt,P(o.agg.cases)+" "+P(o.agg.cases===1?"case":"cases"),1),n[1]||(n[1]=f("div",{class:"flex-1"},null,-1)),f("div",ea,[i(y,{passed:o.agg.passed,failed:o.agg.failed,skipped:o.agg.skipped,flaky:o.agg.flaky,"did-not-run":o.agg.didNotRun,total:o.agg.total},null,8,["passed","failed","skipped","flaky","did-not-run","total"])])],14,Yt)):(r(),I("div",{key:1,class:"flex flex-wrap items-center gap-x-2 gap-y-1 pr-3 py-1.5 border-b border-default last:border-b-0 hover:bg-gray-50 dark:hover:bg-gray-900/40 transition-colors",style:ce({paddingLeft:`${o.depth*20+12}px`})},[i(v,{name:"i-lucide-flask-conical",class:"size-3.5 text-muted shrink-0"}),i(h,{color:("testCaseCategoryColor"in l?l.testCaseCategoryColor:e(fe))(o.testCase.status),size:"xs",variant:"subtle",class:"capitalize shrink-0"},{default:d(()=>[q(P(("formatStatusLabel"in l?l.formatStatusLabel:e(pe))(o.testCase.status)),1)]),_:2},1032,["color"]),i($,{to:`/test-cases/${o.testCase.id}`,class:"text-sm text-primary hover:underline truncate flex-1 min-w-32",title:o.testCase.title},{default:d(()=>[q(P(o.testCase.title),1)]),_:2},1032,["to","title"]),f("div",ta,[i(S,{rate:o.testCase.passRate},null,8,["rate"]),f("span",{class:"text-xs text-muted tabular-nums max-sm:hidden",title:`${o.testCase.totalRuns} runs`},P(o.testCase.totalRuns)+"× ",9,aa),o.testCase.avgDuration!=null?(r(),x(j,{key:0,ms:o.testCase.avgDuration,class:"text-xs text-muted max-sm:hidden"},null,8,["ms"])):B("",!0),f("span",{class:"text-xs text-muted max-sm:hidden",title:("prettyDateFormat"in l?l.prettyDateFormat:e(ge))(o.testCase.lastRun)},P(("formatRelativeTime"in l?l.formatRelativeTime:e(me))(o.testCase.lastRun)),9,sa),i(R,{to:`/test-cases/${o.testCase.id}`,size:"xs",variant:"outline"},{default:d(()=>[...n[2]||(n[2]=[q("View",-1)])]),_:1},8,["to"])])],4))],64))),128)),e(A).length===0?(r(),I("div",la,[i(v,{name:"i-lucide-search-x",class:"size-6 mx-auto mb-2 text-gray-300 dark:text-gray-600"}),n[3]||(n[3]=f("p",{class:"text-sm"},"No test cases match your filters.",-1))])):B("",!0)])}}}),oa=Object.assign(na,{__name:"ProjectTestCasesTree"}),ia={slots:{root:"",list:"flex items-center gap-1",ellipsis:"pointer-events-none",label:"min-w-5 text-center",first:"",prev:"",item:"",next:"",last:""}},ra={__name:"UPagination",props:{as:{type:null,required:!1},firstIcon:{type:null,required:!1},prevIcon:{type:null,required:!1},nextIcon:{type:null,required:!1},lastIcon:{type:null,required:!1},ellipsisIcon:{type:null,required:!1},color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"outline"},activeColor:{type:null,required:!1,default:"primary"},activeVariant:{type:null,required:!1,default:"solid"},showControls:{type:Boolean,required:!1,default:!0},size:{type:null,required:!1},to:{type:Function,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultPage:{type:Number,required:!1},disabled:{type:Boolean,required:!1},itemsPerPage:{type:Number,required:!1,default:10},page:{type:Number,required:!1},showEdges:{type:Boolean,required:!1,default:!1},siblingCount:{type:Number,required:!1,default:2},total:{type:Number,required:!1,default:0}},emits:["update:page"],setup(u,{emit:c}){const s=u,_=c,m=et(),t=tt("pagination",s),{dir:C}=at(),b=st(),T=lt(nt(t,"as","defaultPage","disabled","itemsPerPage","page","showEdges","siblingCount","total"),_),z=k(()=>t.firstIcon||(C.value==="rtl"?b.ui.icons.chevronDoubleRight:b.ui.icons.chevronDoubleLeft)),E=k(()=>t.prevIcon||(C.value==="rtl"?b.ui.icons.chevronRight:b.ui.icons.chevronLeft)),D=k(()=>t.nextIcon||(C.value==="rtl"?b.ui.icons.chevronLeft:b.ui.icons.chevronRight)),A=k(()=>t.lastIcon||(C.value==="rtl"?b.ui.icons.chevronDoubleLeft:b.ui.icons.chevronDoubleRight)),l=k(()=>ot({extend:ia,...b.ui?.pagination||{}})());return(n,v)=>(r(),x(e(zt),Q(e(T),{"data-slot":"root",class:l.value.root({class:[e(t).ui?.root,e(t).class]})}),{default:d(({page:y,pageCount:h})=>[i(e(Bt),{"data-slot":"list",class:L(l.value.list({class:e(t).ui?.list}))},{default:d(({items:$})=>[e(t).showControls||m.first?(r(),x(e(Lt),{key:0,"as-child":"","data-slot":"first",class:L(l.value.first({class:e(t).ui?.first}))},{default:d(()=>[F(n.$slots,"first",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:z.value,to:e(t).to?.(1)},null,8,["color","variant","size","icon","to"])])]),_:3},8,["class"])):B("",!0),e(t).showControls||m.prev?(r(),x(e(At),{key:1,"as-child":"","data-slot":"prev",class:L(l.value.prev({class:e(t).ui?.prev}))},{default:d(()=>[F(n.$slots,"prev",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:E.value,to:y>1?e(t).to?.(y-1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):B("",!0),(r(!0),I(U,null,oe($,(S,j)=>(r(),I(U,{key:j},[S.type==="page"?(r(),x(e(Et),{key:0,"as-child":"",value:S.value,"data-slot":"item",class:L(l.value.item({class:e(t).ui?.item}))},{default:d(()=>[F(n.$slots,"item",Q({ref_for:!0},{item:S,index:j,page:y,pageCount:h}),()=>[i(G,{color:y===S.value?e(t).activeColor:e(t).color,variant:y===S.value?e(t).activeVariant:e(t).variant,size:e(t).size,label:String(S.value),ui:{label:l.value.label()},to:e(t).to?.(S.value),square:""},null,8,["color","variant","size","label","ui","to"])])]),_:2},1032,["value","class"])):(r(),x(e($t),{key:1,"as-child":"","data-slot":"ellipsis",class:L(l.value.ellipsis({class:e(t).ui?.ellipsis}))},{default:d(()=>[F(n.$slots,"ellipsis",{ui:l.value},()=>[i(G,{as:"div",color:e(t).color,variant:e(t).variant,size:e(t).size,icon:e(t).ellipsisIcon||e(b).ui.icons.ellipsis},null,8,["color","variant","size","icon"])])]),_:3},8,["class"]))],64))),128)),e(t).showControls||m.next?(r(),x(e(Mt),{key:2,"as-child":"","data-slot":"next",class:L(l.value.next({class:e(t).ui?.next}))},{default:d(()=>[F(n.$slots,"next",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:D.value,to:y<h?e(t).to?.(y+1):void 0},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):B("",!0),e(t).showControls||m.last?(r(),x(e(Tt),{key:3,"as-child":"","data-slot":"last",class:L(l.value.last({class:e(t).ui?.last}))},{default:d(()=>[F(n.$slots,"last",{},()=>[i(G,{color:e(t).color,variant:e(t).variant,size:e(t).size,icon:A.value,to:e(t).to?.(h)},null,8,["color","variant","size","icon","to"])])]),_:2},1032,["class"])):B("",!0)]),_:2},1032,["class"])]),_:3},16,["class"]))}},ua={class:"flex items-center rounded-md border border-default overflow-hidden"},da={class:"text-sm text-muted tabular-nums"},ca={class:"flex flex-wrap items-center gap-1"},pa=["aria-pressed","onClick"],fa={class:"mt-3 flex items-center justify-center gap-2"},ga={class:"hidden md:block overflow-x-auto"},ma={class:"min-w-0 space-y-0.5"},va={class:"flex items-center gap-1 text-xs text-muted"},_a={class:"text-sm tabular-nums"},ya=["title"],ba={class:"flex justify-end"},ha={class:"space-y-2 md:hidden"},xa={class:"flex items-start justify-between gap-2"},ka={class:"flex items-center gap-1 text-xs text-muted min-w-0"},Ca={class:"flex flex-wrap items-center justify-between gap-x-3 gap-y-1"},Pa={class:"text-xs text-muted tabular-nums"},Ra=["title"],$a={class:"mt-4 flex flex-wrap items-center justify-between gap-3"},Sa={class:"flex flex-wrap items-center gap-3"},qa={class:"text-sm text-muted tabular-nums"},za={class:"flex items-center gap-1.5"},Ia=1e3,$e=25,La=V({__name:"ProjectTestCasesTable",props:{projectId:{},projectName:{},syncQuery:{type:Boolean}},emits:["total"],setup(u,{expose:c,emit:s}){const _=u,m=s,t=it(),C=rt(),{treeView:b,setTreeView:T}=Ct("project-test-cases"),z=[{label:"10 / page",value:10},{label:"25 / page",value:25},{label:"50 / page",value:50},{label:"100 / page",value:100}],E=[{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:0}],D=[{label:"Passed",value:"passed",color:"green"},{label:"Failed",value:"failed",color:"red"},{label:"Flaky",value:"flaky",color:"orange"},{label:"Skipped",value:"skipped",color:"gray"},{label:"Didn't run",value:"didnotrun",color:"amber"}],A=ut().public.demoMode?0:30,l=_.syncQuery?t.query:{},n=w(Math.max(1,Number(l.page)||1)),v=w(typeof l.q=="string"?l.q:""),y=w(v.value),h=w(typeof l.status=="string"?l.status.split(",").filter(Boolean):[]),$=w(typeof l.age=="string"&&l.age!==""?Math.max(0,Number(l.age)||0):A),S=w(typeof l.tags=="string"?l.tags:""),j=w(S.value),R=w(typeof l.sort=="string"?l.sort:"lastRun"),o=w(l.dir==="asc"?"asc":"desc"),W=Number(l.pageSize),N=w(z.some(p=>p.value===W)?W:$e);ae(y,Re(p=>{v.value=p.trim()},300)),ae(j,Re(p=>{S.value=p.trim()},300)),ae([v,h,S,$,R,o,N,b],()=>{n.value=1});const Ne=k(()=>({limit:b.value?Ia:N.value,offset:b.value?0:(n.value-1)*N.value,...v.value?{q:v.value}:{},...h.value.length>0?{status:h.value.join(",")}:{},...S.value?{tags:S.value}:{},maxAgeDays:$.value,sort:R.value,dir:o.value})),{data:X,status:ie,error:ve,refresh:re}=Pt(`/api/projects/${_.projectId}/test-cases`,{query:Ne},"$SV884SqmUv");ae(()=>X.value?.total,p=>{p!=null&&m("total",p)},{immediate:!0}),_.syncQuery&&ae([v,h,S,$,R,o,n,N],()=>{C.replace({query:{...t.query,q:v.value||void 0,status:h.value.length>0?h.value.join(","):void 0,tags:S.value||void 0,age:$.value!==A?String($.value):void 0,sort:R.value!=="lastRun"?R.value:void 0,dir:o.value!=="desc"?o.value:void 0,page:n.value>1?String(n.value):void 0,pageSize:N.value!==$e?String(N.value):void 0}})});function Te(p){h.value=h.value.includes(p)?h.value.filter(g=>g!==p):[...h.value,p]}function je(p){R.value===p?o.value=o.value==="asc"?"desc":"asc":(R.value=p,o.value=p==="title"?"asc":"desc")}function Y(p,g){return()=>{const O=R.value===g,le=O?o.value==="asc"?"i-lucide-chevron-up":"i-lucide-chevron-down":"i-lucide-chevrons-up-down";return de("button",{type:"button",class:"flex items-center gap-1 font-semibold select-none cursor-pointer hover:text-highlighted transition-colors",onClick:()=>je(g)},[p,de(ee,{name:le,class:["shrink-0 size-3.5",!O&&"opacity-40"]})])}}const Fe=k(()=>[{accessorKey:"title",header:Y("Test case","title")},{accessorKey:"status",header:Y("Status","status")},{accessorKey:"totalRuns",header:Y("Runs","totalRuns")},{accessorKey:"passRate",header:Y("Pass rate","passRate")},{id:"results",header:"Results"},{accessorKey:"avgDuration",header:Y("Avg duration","avgDuration")},{accessorKey:"lastRun",header:Y("Last run","lastRun")},{id:"actions",header:()=>de("div",{class:"text-right"},"Actions")}]),J=k(()=>X.value?.items??[]),M=k(()=>X.value?.total??0),we=k(()=>M.value===0?0:(n.value-1)*N.value+1),Be=k(()=>b.value?J.value.length:Math.min(n.value*N.value,M.value)),ue=k(()=>v.value!==""||h.value.length>0),Ve=k(()=>ue.value||$.value!==0),Ee=k(()=>ie.value==="pending"&&!X.value);return c({refresh:re}),(p,g)=>{const O=G,le=dt,_e=ct,De=pt,Me=ft,Ue=gt,ye=mt,Ae=vt,Oe=oa,be=qe,Ke=bt,he=ht,xe=Se,ke=Le,Ce=ze,Pe=Ie,Ge=xt,Qe=ra,Ze=kt;return r(),x(Ze,{title:"Test cases",icon:"i-lucide-flask-conical",count:e(X)?.total,help:"project.test-cases"},{actions:d(()=>[i(O,{icon:"i-lucide-refresh-cw",size:"sm",color:"neutral",variant:"ghost","aria-label":"Refresh test cases",loading:e(ie)==="pending"&&!!e(X),onClick:g[0]||(g[0]=()=>e(re)())},null,8,["loading"])]),default:d(()=>[i(De,{class:"mb-4"},{start:d(()=>[f("div",ua,[f("button",{type:"button",class:L(["px-2 py-1 text-xs transition-colors",e(b)?"text-muted hover:bg-elevated/60":"bg-primary text-white dark:text-white"]),title:"Flat list",onClick:g[1]||(g[1]=a=>e(T)(!1))},[i(e(ee),{name:"i-lucide-list",class:"size-3.5"})],2),f("button",{type:"button",class:L(["px-2 py-1 text-xs transition-colors",e(b)?"bg-primary text-white dark:text-white":"text-muted hover:bg-elevated/60"]),title:"Tree view",onClick:g[2]||(g[2]=a=>e(T)(!0))},[i(e(ee),{name:"i-lucide-folder-tree",class:"size-3.5"})],2)]),f("span",da,P(e(M))+" "+P(e(M)===1?"case":"cases"),1)]),default:d(()=>[i(le,{modelValue:e(y),"onUpdate:modelValue":g[3]||(g[3]=a=>se(y)?y.value=a:null),placeholder:"Search title or file...",icon:"i-lucide-search",size:"sm",class:"min-w-48 max-sm:flex-1","aria-label":"Search test cases"},null,8,["modelValue"]),i(le,{modelValue:e(j),"onUpdate:modelValue":g[4]||(g[4]=a=>se(j)?j.value=a:null),placeholder:"Tags (comma-separated)…",icon:"i-lucide-tag",size:"sm",class:"min-w-44 max-sm:flex-1","aria-label":"Filter by tag",title:"Show only cases carrying every listed tag. A leading @ is optional."},null,8,["modelValue"]),f("div",ca,[(r(),I(U,null,oe(D,a=>f("button",{key:a.value,type:"button",class:L(["inline-flex items-center gap-1.5 px-2 py-1 rounded-md text-xs font-medium transition-colors whitespace-nowrap",e(h).includes(a.value)?a.color==="green"?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":a.color==="red"?"bg-red-100 text-red-700 dark:bg-red-900/30 dark:text-red-400":a.color==="orange"?"bg-orange-100 text-orange-700 dark:bg-orange-900/30 dark:text-orange-400":a.color==="amber"?"bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-400":"bg-gray-200 text-gray-700 dark:bg-gray-700 dark:text-gray-300":"bg-gray-100 text-gray-500 dark:bg-gray-800 dark:text-gray-400 hover:bg-gray-200 dark:hover:bg-gray-700"]),"aria-pressed":e(h).includes(a.value),onClick:Na=>Te(a.value)},[f("span",{class:L(["size-2 rounded-full shrink-0",a.color==="green"?"bg-green-500":a.color==="red"?"bg-red-500":a.color==="orange"?"bg-orange-500":a.color==="amber"?"bg-amber-500":"bg-gray-400"])},null,2),q(" "+P(a.label),1)],10,pa)),64))]),i(_e,{modelValue:e($),"onUpdate:modelValue":g[5]||(g[5]=a=>se($)?$.value=a:null),items:E,size:"sm",class:"w-36","aria-label":"Last run age filter"},null,8,["modelValue"])]),_:1}),e(Ee)?(r(),x(Me,{key:0,text:"Loading test cases..."})):e(ve)?(r(),x(Ue,{key:1,text:("errorMessage"in p?p.errorMessage:e(_t))(e(ve),"Failed to load test cases")},{action:d(()=>[i(O,{size:"sm",variant:"outline",onClick:g[6]||(g[6]=()=>e(re)())},{default:d(()=>[...g[11]||(g[11]=[q("Retry",-1)])]),_:1})]),_:1},8,["text"])):e(M)===0?(r(),I(U,{key:2},[e(Ve)?(r(),x(ye,{key:1,icon:"i-lucide-search-x",text:"No test cases match your filters."},{default:d(()=>[f("div",fa,[e($)!==0?(r(),x(O,{key:0,size:"sm",variant:"outline",onClick:g[7]||(g[7]=a=>$.value=0)},{default:d(()=>[...g[12]||(g[12]=[q("Show all time",-1)])]),_:1})):B("",!0),e(ue)?(r(),x(O,{key:1,size:"sm",variant:"ghost",onClick:g[8]||(g[8]=()=>{y.value="",v.value="",h.value=[]})},{default:d(()=>[...g[13]||(g[13]=[q(" Clear filters ",-1)])]),_:1})):B("",!0)])]),_:1})):(r(),x(ye,{key:0,icon:"i-lucide-flask-conical",text:"No test cases yet for this project."}))],64)):(r(),I("div",{key:3,class:L([{"opacity-60 pointer-events-none":e(ie)==="pending"},"transition-opacity"])},[e(b)?(r(),I(U,{key:0},[e(J).length<e(M)?(r(),x(Ae,{key:0,color:"warning",variant:"subtle",icon:"i-lucide-triangle-alert",class:"mb-3",title:`Showing the first ${e(J).length} of ${e(M)} cases — narrow the search or filters to see the rest.`},null,8,["title"])):B("",!0),i(Oe,{items:e(J),"has-filter":e(ue)},null,8,["items","has-filter"])],64)):(r(),I(U,{key:1},[f("div",ga,[i(Ge,{data:e(J),columns:e(Fe),ui:{base:"w-full table-fixed border-separate border-spacing-0 min-w-[56rem]",thead:"[&>tr]:bg-elevated/50 [&>tr]:after:content-none",tbody:"[&>tr]:last:[&>td]:border-b-0 [&>tr]:hover:bg-gray-50 dark:[&>tr]:hover:bg-gray-900/50",th:"first:rounded-l-lg last:rounded-r-lg border-y border-default first:border-l last:border-r",td:"border-b border-default"}},{"title-cell":d(({row:a})=>[f("div",ma,[i(be,{to:`/test-cases/${a.original.id}`,class:"text-sm font-medium text-primary hover:underline truncate block",title:a.original.title},{default:d(()=>[q(P(a.original.title),1)]),_:2},1032,["to","title"]),i(Ke,{tags:a.original.tags,meta:{owner:a.original.owner??void 0,priority:("toTestPriority"in p?p.toTestPriority:e(yt))(a.original.priority),feature:a.original.feature??void 0,link:a.original.link??void 0},"max-tags":4},null,8,["tags","meta"]),f("div",va,[i(e(ee),{name:"i-lucide-file-code",class:"size-3 shrink-0"}),i(he,{"file-path":a.original.filePath,"project-key":u.projectId,"project-name":u.projectName,class:"min-w-0"},null,8,["file-path","project-key","project-name"])])])]),"status-cell":d(({row:a})=>[i(xe,{color:("testCaseCategoryColor"in p?p.testCaseCategoryColor:e(fe))(a.original.status),variant:"subtle",size:"sm",class:"capitalize"},{default:d(()=>[q(P(("formatStatusLabel"in p?p.formatStatusLabel:e(pe))(a.original.status)),1)]),_:2},1032,["color"])]),"totalRuns-cell":d(({row:a})=>[f("span",_a,P(a.original.totalRuns),1)]),"passRate-cell":d(({row:a})=>[i(ke,{rate:a.original.passRate},null,8,["rate"])]),"results-cell":d(({row:a})=>[i(Ce,{passed:a.original.passedRuns,failed:a.original.failedRuns,skipped:a.original.skippedRuns,flaky:a.original.flakyRuns,"did-not-run":a.original.didNotRunRuns,total:a.original.totalRuns},null,8,["passed","failed","skipped","flaky","did-not-run","total"])]),"avgDuration-cell":d(({row:a})=>[i(Pe,{ms:a.original.avgDuration,class:"text-sm text-muted"},null,8,["ms"])]),"lastRun-cell":d(({row:a})=>[f("span",{class:"text-sm text-muted",title:("prettyDateFormat"in p?p.prettyDateFormat:e(ge))(a.original.lastRun)},P(a.original.lastRun!=null?("formatRelativeTime"in p?p.formatRelativeTime:e(me))(a.original.lastRun):"—"),9,ya)]),"actions-cell":d(({row:a})=>[f("div",ba,[i(O,{to:`/test-cases/${a.original.id}`,size:"sm",variant:"outline","trailing-icon":"i-lucide-arrow-right"},{default:d(()=>[...g[14]||(g[14]=[q(" View ",-1)])]),_:1},8,["to"])])]),_:1},8,["data","columns"])]),f("div",ha,[(r(!0),I(U,null,oe(e(J),a=>(r(),I("div",{key:a.id,class:"rounded-lg border border-default p-3 space-y-2"},[f("div",xa,[i(be,{to:`/test-cases/${a.id}`,class:"text-sm font-medium text-primary hover:underline min-w-0 truncate",title:a.title},{default:d(()=>[q(P(a.title),1)]),_:2},1032,["to","title"]),i(xe,{color:("testCaseCategoryColor"in p?p.testCaseCategoryColor:e(fe))(a.status),variant:"subtle",size:"sm",class:"capitalize shrink-0"},{default:d(()=>[q(P(("formatStatusLabel"in p?p.formatStatusLabel:e(pe))(a.status)),1)]),_:2},1032,["color"])]),f("div",ka,[i(e(ee),{name:"i-lucide-file-code",class:"size-3 shrink-0"}),i(he,{"file-path":a.filePath,"project-key":u.projectId,"project-name":u.projectName,class:"min-w-0"},null,8,["file-path","project-key","project-name"])]),i(Ce,{passed:a.passedRuns,failed:a.failedRuns,skipped:a.skippedRuns,flaky:a.flakyRuns,"did-not-run":a.didNotRunRuns,total:a.totalRuns},null,8,["passed","failed","skipped","flaky","did-not-run","total"]),f("div",Ca,[i(ke,{rate:a.passRate},null,8,["rate"]),f("span",Pa,P(a.totalRuns)+" runs",1),a.avgDuration!=null?(r(),x(Pe,{key:0,ms:a.avgDuration,class:"text-xs text-muted"},null,8,["ms"])):B("",!0),f("span",{class:"text-xs text-muted",title:("prettyDateFormat"in p?p.prettyDateFormat:e(ge))(a.lastRun)},P(a.lastRun!=null?("formatRelativeTime"in p?p.formatRelativeTime:e(me))(a.lastRun):"—"),9,Ra)])]))),128))]),f("div",$a,[f("div",Sa,[f("span",qa,"Showing "+P(e(we))+"–"+P(e(Be))+" of "+P(e(M)),1),f("div",za,[g[15]||(g[15]=f("span",{class:"text-sm text-muted"},"Rows per page",-1)),i(_e,{modelValue:e(N),"onUpdate:modelValue":g[9]||(g[9]=a=>se(N)?N.value=a:null),items:z,size:"sm",class:"w-28","aria-label":"Rows per page"},null,8,["modelValue"])])]),e(M)>e(N)?(r(),x(Qe,{key:0,page:e(n),"onUpdate:page":g[10]||(g[10]=a=>se(n)?n.value=a:null),total:e(M),"items-per-page":e(N),size:"sm"},null,8,["page","total","items-per-page"])):B("",!0)])],64))],2))]),_:1},8,["count"])}}}),Ha=Object.assign(La,{__name:"ProjectTestCasesTable"});export{Ha as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as Ms}from"./D5Mhpp98.js";import{_ as Fs}from"./Ds8_6Fzl.js";import{q as Ae,B as St,d as oe,O as Ot,w as he,a as ge,b as e,o as n,e as g,f as t,h as a,j as ke,c as i,g as s,k as d,t as r,l as A,F as G,z as ae,_ as Le,H as Ve,x as J,P as Vt,Q as Nt,i as ie,v as B,r as I,K as Ps,m as Ce,R as qt,n as wt,E as Rt,G as Ht,M as Es,u as Bs,p as Ls,s as Vs,D as Kt,S as Ns,T as Ks}from"./BzBaMPgu.js";import{_ as Os}from"./BTCWUyBX.js";import{_ as Xe,a as qs}from"./qeqzb80l.js";import{_ as ze}from"./CnRNwiuE.js";import{_ as Qt}from"./Bg8yOdSf.js";import{u as Hs}from"./DIqik40e.js";import{u as xe}from"./CDEmotIt.js";import{_ as Qs}from"./BC5bqlfM.js";import{_ as Gs,a as Xs}from"./CdLqOMvN.js";import{_ as Gt}from"./C7SG50jD.js";import{_ as Ue}from"./kDEwM7SQ.js";import{u as Js,a as Ws,i as Ys}from"./vOZZ2cLi.js";import{_ as Xt}from"./D_SCB-z2.js";import{_ as $e}from"./B77w1Eib.js";import{C as jt,w as Jt,O as it,a as Wt,_ as Yt,u as Zt}from"./CbuK1HIv.js";import{N as Zs}from"./Yl6iqHwK.js";import{_ as en}from"./C8WgBDU1.js";import{_ as tn}from"./C8uZoJVq.js";import{_ as sn}from"./BvXrhZ8k.js";import{_ as es}from"./BSKLNgre.js";import{_ as nn}from"./OanUGF_v.js";import{_ as an}from"./CVEk4D8I.js";import{_ as on}from"./Ch8sGLqE.js";import{_ as ln}from"./9Yziijlb.js";import{_ as Ie}from"./CBQXv4bU.js";import{_ as Dt}from"./D_j436ND.js";import{_ as Ne}from"./5nOoVJzL.js";import{f as At,b as rn,c as cn,d as un,i as E,t as dn,e as ts,p as ct,j as ot}from"./CdM2qNYM.js";import{_ as ss}from"./BraJd4EA.js";import{_ as ut}from"./BMfTUMYy.js";import{_ as Je}from"./Hp-_W7z4.js";import{_ as mn}from"./BUYmGTVP.js";import{_ as pn}from"./knaDbxMJ.js";import{_ as gn}from"./DUtYU4Sb.js";import{_ as fn}from"./BF5JDf9_.js";import{_ as _n}from"./B-onBCAB.js";import{_ as vn}from"./6DSY_93j.js";import{_ as yn}from"./BYnqoVCE.js";import{_ as hn}from"./Die1200X.js";import{_ as zt}from"./BbXvpkBp.js";import{M as xn,D as Ct,g as Tt}from"./D7W_4Sqc.js";import{_ as bn}from"./Dq6_-84R.js";import{u as kn}from"./DnV-BkUA.js";import{u as $n}from"./BLqooxh5.js";import"./DWz_bHNP.js";import"./BcHU1KNK.js";import"./DDho3MJD.js";import"./CTYlay1H.js";import"./WCZdf9Ln.js";import"./Boyv6hLW.js";import"./D-c8ZSws.js";import"./BOrnSpTA.js";import"./7vRR5W2L.js";import"./Bw4oIhct.js";import"./Db5xe__T.js";import"./DkGXOZRW.js";import"./DcUBmKKE.js";import"./BPQNVV4M.js";const Cn=["run.finished","run.failed","run.failed.default_branch","cluster.new","flakiness.spike","perf.regression","diagnosis.completed"],lt=new Map,rt=new Map;function Tn(z,C){const $=[{event:"run.failed",scenario:{title:`Test run failed — ${z}`,description:"3 of 12 tests failed on main — checkout › applies discount code +2 more",icon:"i-lucide-circle-x",color:"error"}},{event:"run.failed.default_branch",scenario:{title:`Test run failed on main — ${z}`,description:"2 of 12 tests failed · main — auth › logs in with valid credentials +1 more",icon:"i-lucide-circle-x",color:"error"}},{event:"cluster.new",scenario:{title:`New failure cluster — ${z}`,description:"TimeoutError: locator.click: Timeout 30000ms exceeded",icon:"i-lucide-layers",color:"warning"}},{event:"flakiness.spike",scenario:{title:`Flakiness spike — ${z}`,description:"3 tests became flaky (8.3% rate)",icon:"i-lucide-shuffle",color:"warning"}},{event:"perf.regression",scenario:{title:`Performance regression — ${z}`,description:"p90 duration increased by 42% vs last week",icon:"i-lucide-trending-down",color:"warning"}},{event:"run.finished",scenario:{title:`Test run recovered — ${z}`,description:"All 12 tests passed on main",icon:"i-lucide-circle-check",color:"success"}},{event:"diagnosis.completed",scenario:{title:`Diagnosis complete — ${z}`,description:"Root cause: test bug — confidence: high",icon:"i-lucide-sparkles",color:"info"}}],x=$.filter(_=>C.length===0||C.includes(_.event)).map(_=>_.scenario);return x.length===0?[$[0].scenario,$[$.length-1].scenario]:x}function jn(){if(!St().public.demoMode)return null;const C=Ae();function $(_,p,c){x(_);const U=Tn(p,c);rt.set(_,0);function F(){const R=(rt.get(_)??0)%U.length;rt.set(_,R+1);const y=U[R];C.add({title:y.title,description:y.description,icon:y.icon,color:y.color,duration:7e3});const h=25e3+Math.random()*1e4;lt.set(_,setTimeout(F,h))}lt.set(_,setTimeout(F,8e3))}function x(_){const p=lt.get(_);p!==void 0&&(clearTimeout(p),lt.delete(_)),rt.delete(_)}return{scheduleFor:$,cancelFor:x}}const Sn={key:0,class:"p-3 space-y-3"},wn={key:0,class:"text-xs text-gray-500"},Rn={key:1,class:"text-xs text-gray-500"},Dn={key:2,class:"text-xs text-gray-500"},An={class:"space-y-1"},zn=["checked","onChange"],Un={key:1,class:"p-3 space-y-3"},In={class:"flex items-center justify-between"},Mn={class:"font-medium text-sm inline-flex items-center gap-1"},Fn={key:0,class:"text-xs text-muted bg-primary/5 rounded px-2 py-1.5"},Pn={key:1,class:"text-xs text-muted text-center py-2"},En={key:2,class:"space-y-1.5"},Bn={key:0,class:"space-y-2 rounded border border-primary/30 bg-primary/5 px-2 py-2"},Ln={class:"space-y-1"},Vn=["value"],Nn={class:"flex gap-1.5 justify-end"},Kn={class:"flex-1 font-medium truncate"},On={key:3,class:"text-xs text-muted text-center py-1"},qn={key:4,class:"space-y-2 border-t border-default pt-2"},Hn={class:"space-y-1"},Qn=["value"],Gn={class:"flex gap-1.5 justify-end"},Xn=oe({__name:"SubscribeBell",props:{projectId:{},projectLabel:{}},async setup(z){let C,$;const x=z,_=St(),p=_.public.demoMode,c=B(()=>_.public.authEnabled),{authState:U}=Ot(),F=B(()=>U.value.authenticated),R=Ae(),y=I(!1),h=p?jn():null,k=!c.value&&!p?Hs():null,T=I("default"),m=B(()=>"Notification"in window);"Notification"in window&&(T.value=Notification.permission);const v=B(()=>k?.getProject(x.projectId).events??[]),M=B(()=>k?.isSubscribed(x.projectId)??!1);async function V(){!m.value||T.value!=="default"||(T.value=await Notification.requestPermission())}function j(K){return v.value.includes(K)}function f(K){k?.toggleEvent(x.projectId,K)}const S=p||c.value&&F.value,O=p?{server:!1}:{},{data:D,refresh:Q}=([C,$]=he(()=>xe(`/api/subscriptions?projectId=${x.projectId}`,{immediate:S,...O},"$APDuK86tlj")),C=await C,$(),C),N=B(()=>D.value?.subscriptions??[]),ue=B(()=>N.value.length>0),{data:fe}=([C,$]=he(()=>xe("/api/channels",{immediate:S,...O},"$uK3f0xlELn")),C=await C,$(),C),b=B(()=>fe.value?.channels??[]),w=I(!1),H=I(void 0),de=I(["run.failed"]),Me=I(!1),me=I(null),be=I(void 0),_e=I([]),Fe=I(!1);function dt(K){me.value=K,be.value=K.channel.id,_e.value=[...K.events]}function mt(){me.value=null}async function Y(){if(!(!me.value||!be.value||_e.value.length===0)){Fe.value=!0;try{await $fetch(`/api/subscriptions/${me.value.id}`,{method:"PATCH",body:{channelId:be.value,events:_e.value}}),await Q(),me.value=null}catch(K){R.add({title:"Update failed",description:String(K?.message??K),color:"error"})}finally{Fe.value=!1}}}const We=B(()=>b.value.map(K=>({label:K.type==="personal_email"?`${K.name} (${K.config.address})`:K.name,value:K.id}))),Ke=Cn.map(K=>({label:K.replace(/\./g," › "),value:K}));ge(y,K=>{K?(S&&Q(),b.value.length>0&&!H.value&&(H.value=b.value[0].id)):(w.value=!1,me.value=null)});async function Oe(){if(!(!H.value||de.value.length===0)){Me.value=!0;try{await $fetch("/api/subscriptions",{method:"POST",body:{channelId:H.value,projectId:x.projectId,events:de.value,mode:"realtime"}}),await Q(),w.value=!1,R.add({title:"Subscribed",color:"success"}),p&&h?.scheduleFor(x.projectId,x.projectLabel||"this project",de.value)}catch(K){R.add({title:"Subscribe failed",description:String(K?.message??K),color:"error"})}finally{Me.value=!1}}}async function pt(K){try{await $fetch(`/api/subscriptions/${K}`,{method:"DELETE"}),await Q(),R.add({title:"Unsubscribed",color:"success"}),p&&N.value.length===0&&h?.cancelFor(x.projectId)}catch(P){R.add({title:"Failed",description:String(P?.message??P),color:"error"})}}async function ne(K){const P=K.mutedUntil&&new Date(K.mutedUntil)>new Date;try{await $fetch(`/api/subscriptions/${K.id}`,{method:"PATCH",body:{mutedUntil:P?null:new Date(Date.now()+10080*60*1e3).toISOString()}}),await Q()}catch(Z){R.add({title:"Failed",description:String(Z?.message??Z),color:"error"})}}function pe(K){return K.mutedUntil&&new Date(K.mutedUntil)>new Date}function qe(K){return K==="personal_email"?"i-lucide-user-round":K==="email"?"i-lucide-mail":K==="slack"?"i-lucide-slack":"i-lucide-webhook"}const gt=B(()=>p||c.value&&F.value||k!=null),He=B(()=>p||c.value?ue.value:M.value);return(K,P)=>{const Z=ke,ft=Os,Te=Xe,Ye=Le,Ze=Ve,Pe=ze,je=Qt,_t=Ps;return e(gt)?(n(),g(_t,{key:0,open:e(y),"onUpdate:open":P[6]||(P[6]=q=>J(y)?y.value=q:null),ui:{content:"w-72"}},{content:t(()=>[e(k)?(n(),i("div",Sn,[P[9]||(P[9]=s("div",{class:"flex items-center justify-between"},[s("span",{class:"font-medium text-sm"},"Browser notifications")],-1)),e(m)&&e(T)==="default"?(n(),i("p",wn,[a(Z,{variant:"link",size:"xs",class:"p-0",onClick:V},{default:t(()=>[...P[7]||(P[7]=[d(" Allow notifications ",-1)])]),_:1}),P[8]||(P[8]=d(" "+r(" ")+"in your browser to get alerts for this project. ",-1))])):e(m)&&e(T)==="denied"?(n(),i("p",Rn," Notifications are blocked. Check your browser settings to allow them. ")):e(m)?A("",!0):(n(),i("p",Dn,"Notifications are not supported in this browser.")),e(m)&&e(T)==="granted"?(n(),i(G,{key:3},[a(ft),s("div",An,[(n(!0),i(G,null,ae(e(Ke),q=>(n(),i("label",{key:q.value,class:"flex items-center gap-1.5 text-xs cursor-pointer"},[s("input",{type:"checkbox",checked:j(q.value),class:"accent-primary size-3",onChange:le=>f(q.value)},null,40,zn),d(" "+r(q.label),1)]))),128))])],64)):A("",!0)])):(n(),i("div",Un,[s("div",In,[s("span",Mn,[P[10]||(P[10]=d(" Notifications ",-1)),a(Te,{topic:"notifications.subscribe"})]),e(w)?A("",!0):(n(),g(Z,{key:0,size:"xs",icon:"i-lucide-plus",variant:"ghost",color:"neutral",disabled:e(b).length===0,onClick:P[0]||(P[0]=q=>w.value=!0)},{default:t(()=>[...P[11]||(P[11]=[d(" Add ",-1)])]),_:1},8,["disabled"]))]),e(p)?(n(),i("div",Fn,[a(Ye,{name:"i-lucide-sparkles",class:"size-3 inline-block mr-1 text-primary"}),P[12]||(P[12]=d(" Demo — notifications will appear as toasts in ~8 s. ",-1))])):e(b).length===0?(n(),i("div",Pn,[P[14]||(P[14]=d(" No channels configured.",-1)),P[15]||(P[15]=s("br",null,null,-1)),a(Ze,{to:"/settings/notifications",class:"text-primary underline"},{default:t(()=>[...P[13]||(P[13]=[d("Add one in Settings",-1)])]),_:1})])):A("",!0),e(N).length>0?(n(),i("div",En,[(n(!0),i(G,null,ae(e(N),q=>(n(),i(G,{key:q.id},[e(me)?.id===q.id?(n(),i("div",Bn,[a(je,{label:"Channel",size:"xs"},{default:t(()=>[a(Pe,{modelValue:e(be),"onUpdate:modelValue":P[1]||(P[1]=le=>J(be)?be.value=le:null),items:e(We),"value-key":"value",class:"w-full text-xs",size:"xs"},null,8,["modelValue","items"])]),_:1}),a(je,{label:"Events",size:"xs"},{default:t(()=>[s("div",Ln,[(n(!0),i(G,null,ae(e(Ke),le=>(n(),i("label",{key:le.value,class:"flex items-center gap-1.5 text-xs cursor-pointer"},[Vt(s("input",{type:"checkbox",value:le.value,"onUpdate:modelValue":P[2]||(P[2]=Qe=>J(_e)?_e.value=Qe:null),class:"accent-primary size-3"},null,8,Vn),[[Nt,e(_e)]]),d(" "+r(le.label),1)]))),128))])]),_:1}),s("div",Nn,[a(Z,{size:"xs",color:"neutral",variant:"ghost",onClick:mt},{default:t(()=>[...P[16]||(P[16]=[d("Cancel",-1)])]),_:1}),a(Z,{size:"xs",color:"primary",loading:e(Fe),disabled:!e(be)||e(_e).length===0,onClick:Y},{default:t(()=>[...P[17]||(P[17]=[d(" Save ",-1)])]),_:1},8,["loading","disabled"])])])):(n(),i("div",{key:1,class:ie(["flex items-center gap-2 rounded px-2 py-1.5 text-xs",pe(q)?"opacity-60":""])},[a(Ye,{name:qe(q.channel.type),class:"size-3.5 text-muted shrink-0"},null,8,["name"]),s("span",Kn,r(q.channel.name),1),a(Z,{icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"xs",title:"Edit subscription",onClick:le=>dt(q)},null,8,["onClick"]),a(Z,{icon:pe(q)?"i-lucide-bell":"i-lucide-bell-off",color:"neutral",variant:"ghost",size:"xs",title:pe(q)?"Unmute":"Mute 7 days",onClick:le=>ne(q)},null,8,["icon","title","onClick"]),a(Z,{icon:"i-lucide-x",color:"error",variant:"ghost",size:"xs",title:"Unsubscribe",onClick:le=>pt(q.id)},null,8,["onClick"])],2))],64))),128))])):!e(w)&&e(b).length>0?(n(),i("div",On," Not subscribed to this project. ")):A("",!0),e(w)?(n(),i("div",qn,[a(je,{label:"Channel",size:"xs"},{default:t(()=>[a(Pe,{modelValue:e(H),"onUpdate:modelValue":P[3]||(P[3]=q=>J(H)?H.value=q:null),items:e(We),"value-key":"value",class:"w-full text-xs",size:"xs"},null,8,["modelValue","items"])]),_:1}),a(je,{label:"Events",size:"xs"},{default:t(()=>[s("div",Hn,[(n(!0),i(G,null,ae(e(Ke),q=>(n(),i("label",{key:q.value,class:"flex items-center gap-1.5 text-xs cursor-pointer"},[Vt(s("input",{type:"checkbox",value:q.value,"onUpdate:modelValue":P[4]||(P[4]=le=>J(de)?de.value=le:null),class:"accent-primary size-3"},null,8,Qn),[[Nt,e(de)]]),d(" "+r(q.label),1)]))),128))])]),_:1}),s("div",Gn,[a(Z,{size:"xs",color:"neutral",variant:"ghost",onClick:P[5]||(P[5]=q=>w.value=!1)},{default:t(()=>[...P[18]||(P[18]=[d("Cancel",-1)])]),_:1}),a(Z,{size:"xs",color:"primary",loading:e(Me),disabled:!e(H)||e(de).length===0,onClick:Oe},{default:t(()=>[...P[19]||(P[19]=[d(" Subscribe ",-1)])]),_:1},8,["loading","disabled"])])])):A("",!0)]))]),default:t(()=>[a(Z,{icon:e(He)?"i-lucide-bell-ring":"i-lucide-bell",size:"sm",color:e(He)?"primary":"neutral",variant:e(He)?"soft":"outline",title:"Notification subscriptions for this project"},null,8,["icon","color","variant"])]),_:1},8,["open"])):A("",!0)}}}),Jn=Object.assign(Xn,{__name:"SubscribeBell"}),Wn={class:"flex flex-wrap items-center justify-between gap-3"},Yn={class:"flex items-center gap-2 min-w-0 text-sm"},Zn={class:"text-xs break-all"},ea={key:1,class:"text-muted"},ta=oe({__name:"DesktopProjectLinkCard",props:{projectId:{}},setup(z){const C=z,{available:$,link:x}=Js(()=>C.projectId),_=I(null);ge(()=>x.value?.path,async c=>{_.value=c&&x.value?.exists?await Ws(c):null},{immediate:!0});const p=B(()=>Ys(_.value));return(c,U)=>{const F=Le,R=Ce,y=ke,h=Ue;return e($)?(n(),g(h,{key:0,class:"shrink-0",ui:{body:"p-3 sm:p-3"}},{default:t(()=>[s("div",Wn,[s("div",Yn,[a(F,{name:e(x)?e(x).exists?"i-lucide-folder-check":"i-lucide-folder-x":"i-lucide-folder-symlink",class:ie(["size-4 shrink-0",e(x)?e(x).exists?"text-success":"text-warning":"text-muted"])},null,8,["name","class"]),e(x)?(n(),i(G,{key:0},[s("code",Zn,r(e(x).path),1),e(x).exists?e(p)?(n(),g(R,{key:1,color:"success",variant:"subtle",size:"sm"},{default:t(()=>[...U[1]||(U[1]=[d("ready",-1)])]),_:1})):e(_)?(n(),g(R,{key:2,color:"warning",variant:"subtle",size:"sm"},{default:t(()=>[...U[2]||(U[2]=[d("needs setup",-1)])]),_:1})):A("",!0):(n(),g(R,{key:0,color:"warning",variant:"subtle",size:"sm"},{default:t(()=>[...U[0]||(U[0]=[d("missing",-1)])]),_:1}))],64)):(n(),i("span",ea," No local folder linked — link this project’s checkout to run tests from here and open files in your IDE. "))]),a(y,{size:"xs",color:"neutral",variant:"soft",icon:e(x)?"i-lucide-settings-2":"i-lucide-folder-plus",to:`/projects/${z.projectId}/edit#local-folder`,title:e(x)?"Manage the linked folder in project settings":"Link a folder in project settings"},{default:t(()=>[d(r(e(x)?"Manage":"Link folder"),1)]),_:1},8,["icon","to","title"])])]),_:1})):A("",!0)}}}),sa=Object.assign(ta,{__name:"DesktopProjectLinkCard"}),na={class:"w-full relative"},aa={key:0},oa={class:"p-2 text-sm text-gray-900 dark:text-gray-100"},la={class:"font-semibold mb-1"},ra={class:"capitalize mb-1"},ia={class:"space-y-0.5"},ca={class:"font-medium mt-1"},ua=oe({__name:"TestRunsChart",props:{testRuns:{},height:{default:300},markers:{default:()=>[]}},emits:["marker-click"],setup(z,{emit:C}){const $=z,x=C,_=B(()=>$.markers),p=B(()=>!$.testRuns||$.testRuns.length===0?[]:[...$.testRuns].sort((S,O)=>new Date(S.startTime).getTime()-new Date(O.startTime).getTime()).slice(-30).map(S=>({id:S.id,date:new Date(S.startTime),passed:S.passedTests||0,failed:S.failedTests||0,skipped:S.skippedTests||0,flaky:S.flakyTests||0,total:S.totalTests||0,status:S.status}))),c=f=>f.date,U=f=>f.passed,F=f=>f.failed,R=f=>f.skipped,y=f=>f.flaky,h=["rgb(34, 197, 94)","rgb(239, 68, 68)","rgb(245, 158, 11)","rgb(147, 51, 234)"],k=I(null),{tooltipData:T,tooltipPos:m,markerTooltip:v,markerTooltipPos:M,onRenderComplete:V}=Zt(k,p,{x:f=>f.date,series:[{y:f=>f.passed,color:h[0]},{y:f=>f.failed,color:h[1]},{y:f=>f.skipped,color:h[2]},{y:f=>f.flaky,color:h[3]}],onClick:f=>wt(`/test-runs/${f.id}`),markers:_,onMarkerClick:f=>x("marker-click",f.id)}),j=[{color:h[0],label:"Passed"},{color:h[1],label:"Failed"},{color:h[2],label:"Skipped"},{color:h[3],label:"Flaky"}];return(f,S)=>{const O=Xt,D=$e,Q=Yt;return n(),i("div",na,[e(p).length>0?(n(),i("div",aa,[a(e(Wt),{ref_key:"xyContainerRef",ref:k,data:e(p),height:z.height,padding:{top:10,right:10,bottom:0,left:0},"on-render-complete":e(V)},{default:t(()=>[a(e(Zs),{x:c,y:[U,F,R,y],color:h,"curve-type":e(jt).MonotoneX},null,8,["y","curve-type"]),a(e(Jt),{x:c,y:[U,F,R,y],color:h,"curve-type":e(jt).MonotoneX,"line-width":2},null,8,["y","curve-type"]),a(e(it),{type:"x","tick-format":N=>new Date(N).toLocaleDateString("en-US",{month:"short",day:"numeric"})},null,8,["tick-format"]),a(e(it),{type:"y",label:"Tests","tick-format":N=>N.toString()},null,8,["tick-format"])]),_:1},8,["data","height","on-render-complete"]),e(T)?(n(),i("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-[260px]",style:qt({left:`${e(m).x}px`,top:`${e(m).y}px`})},[s("div",oa,[s("div",la,r(new Date(e(T).date).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1),s("div",ra,"Status: "+r(e(T).status),1),s("div",ia,[s("div",null,[S[0]||(S[0]=s("span",{class:"text-green-500 dark:text-green-400"},"●",-1)),d(" Passed: "+r(e(T).passed),1)]),s("div",null,[S[1]||(S[1]=s("span",{class:"text-red-500 dark:text-red-400"},"●",-1)),d(" Failed: "+r(e(T).failed),1)]),s("div",null,[S[2]||(S[2]=s("span",{class:"text-orange-500 dark:text-orange-400"},"●",-1)),d(" Skipped: "+r(e(T).skipped),1)]),s("div",null,[S[3]||(S[3]=s("span",{class:"text-purple-500 dark:text-purple-400"},"●",-1)),d(" Flaky: "+r(e(T).flaky),1)]),s("div",ca,"Total: "+r(e(T).total),1)]),S[4]||(S[4]=s("div",{class:"text-gray-400 dark:text-gray-500 text-xs mt-1"},"Click to view run details",-1))])],4)):A("",!0),a(O,{marker:e(v),pos:e(M)},null,8,["marker","pos"])])):(n(),g(D,{key:1,text:"No test run data available to display chart"})),a(Q,{items:j})])}}}),da=Object.assign(ua,{__name:"TestRunsChart"}),ma={class:"space-y-3"},pa={class:"min-w-0 space-y-1"},ga={class:"flex items-center gap-2 flex-wrap text-sm"},fa={key:0,class:"text-gray-500"},_a=["title"],va=["title"],ya={key:0,class:"text-xs text-gray-500 italic"},ha={class:"flex items-center gap-2 shrink-0"},xa=oe({__name:"ClusterMergeSuggestions",props:{projectId:{}},emits:["merged"],setup(z,{emit:C}){const $=z,x=C,_=Ae(),p=I([]),c=I(null);async function U(){try{p.value=await $fetch(`/api/projects/${$.projectId}/cluster-merge-suggestions`)}catch{p.value=[]}}ge(()=>$.projectId,U,{immediate:!0});async function F(y,h){c.value=y;try{await $fetch(`/api/cluster-merge-suggestions/${y}/${h}`,{method:"POST"}),_.add({title:h==="approve"?"Clusters merged":"Suggestion dismissed",color:"success"}),await U(),h==="approve"&&x("merged")}catch(k){_.add({title:"Action failed",description:String(k?.message??k),color:"error"})}finally{c.value=null}}const R=y=>y==null?"":`${Math.round(y*100)}% similar`;return(y,h)=>{const k=Ce,T=ke,m=Dt;return e(p).length?(n(),g(m,{key:0,icon:"i-lucide-git-merge",title:"Suggested merges",count:e(p).length,class:"mb-4"},{subtitle:t(()=>[...h[0]||(h[0]=[d(" Likely-duplicate clusters found by semantic analysis. Approving merges them into the older cluster. ",-1)])]),default:t(()=>[s("div",ma,[(n(!0),i(G,null,ae(e(p),v=>(n(),i("div",{key:v.id,class:"rounded-lg border border-default p-3 flex items-start justify-between gap-4"},[s("div",pa,[s("div",ga,[a(k,{color:v.method==="llm"?"primary":"neutral",variant:"subtle",size:"sm"},{default:t(()=>[d(r(v.method==="llm"?`AI · ${v.llmConfidence??""}`:"similarity"),1)]),_:2},1032,["color"]),R(v.score)?(n(),i("span",fa,r(R(v.score)),1)):A("",!0)]),s("p",{class:"text-sm truncate",title:v.clusterA?.signature||""},[h[1]||(h[1]=s("span",{class:"text-gray-400"},"A:",-1)),d(" "+r(v.clusterA?.signature||`#${v.id}`),1)],8,_a),s("p",{class:"text-sm truncate",title:v.clusterB?.signature||""},[h[2]||(h[2]=s("span",{class:"text-gray-400"},"B:",-1)),d(" "+r(v.clusterB?.signature||""),1)],8,va),v.llmReason?(n(),i("p",ya,r(v.llmReason),1)):A("",!0)]),s("div",ha,[a(T,{size:"sm",color:"primary",icon:"i-lucide-git-merge",loading:e(c)===v.id,onClick:M=>F(v.id,"approve")},{default:t(()=>[...h[3]||(h[3]=[d(" Merge ",-1)])]),_:1},8,["loading","onClick"]),a(T,{size:"sm",color:"neutral",variant:"ghost",icon:"i-lucide-x",disabled:e(c)===v.id,onClick:M=>F(v.id,"reject")},{default:t(()=>[...h[4]||(h[4]=[d(" Dismiss ",-1)])]),_:1},8,["disabled","onClick"])])]))),128))])]),_:1},8,["count"])):A("",!0)}}}),ba=Object.assign(xa,{__name:"ClusterMergeSuggestions"}),ka={class:"flex items-center justify-between"},$a={class:"text-sm text-gray-500 inline-flex items-center gap-1"},Ca={class:"min-w-0 space-y-0.5"},Ta={key:0,class:"text-xs text-gray-500 italic truncate"},ja={key:1,class:"text-gray-400 text-xs"},Sa={class:"space-y-1"},wa={class:"text-sm tabular-nums"},Ra={class:"text-sm tabular-nums"},Da={key:1,class:"text-gray-400 text-xs"},Aa={class:"text-sm text-gray-500 whitespace-nowrap"},za={key:0,class:"ml-1 text-xs text-gray-400"},Ua={class:"flex justify-end"},Ia=oe({__name:"FailureClustersList",props:{projectId:{}},async setup(z){let C,$;const x=z,_=I(void 0),{data:p,pending:c}=([C,$]=he(()=>xe(()=>{const R=new URLSearchParams;_.value&&R.set("status",_.value);const y=R.toString();return`/api/projects/${x.projectId}/failure-clusters${y?`?${y}`:""}`},{lazy:!0,server:!1,watch:[_]},"$fqv4nq7Mtw")),C=await C,$(),C),U=R=>un(R.fixVerification),F=[{accessorKey:"signature",header:E("Signature")},{accessorKey:"errorType",header:E("Type")},{accessorKey:"status",header:E("Status")},{accessorKey:"affectedTests",header:E("Tests")},{accessorKey:"occurrences",header:E("Occurrences")},{accessorKey:"diagnosis",header:"AI"},{accessorKey:"lastSeenAt",header:E("Last seen")},{id:"actions",header:"Actions"}];return(R,y)=>{const h=Xe,k=ze,T=Ve,m=Ce,v=Le,M=es,V=ke,j=Ie,f=Ne,S=$e,O=Ue;return n(),g(O,{"data-shot":"failure-clusters"},{header:t(()=>[s("div",ka,[s("p",$a,[y[1]||(y[1]=d(" Ongoing failure signatures grouped by normalized error. ",-1)),a(h,{topic:"cluster.concept"})]),a(k,{modelValue:e(_),"onUpdate:modelValue":y[0]||(y[0]=D=>J(_)?_.value=D:null),items:[{label:"All",value:void 0},{label:"Open",value:"open"},{label:"Resolved",value:"resolved"},{label:"Ignored",value:"ignored"}],size:"xs",class:"w-32"},null,8,["modelValue"])])]),default:t(()=>[a(f,{"min-width":"48rem",bleed:!1},{default:t(()=>[a(j,{data:e(p)??[],columns:F,loading:e(c)},{"actions-header":t(()=>[...y[2]||(y[2]=[s("div",{class:"text-right"},"Actions",-1)])]),"signature-cell":t(({row:D})=>[s("div",Ca,[a(T,{to:`/failure-clusters/${D.original.id}`,class:ie(["text-sm text-primary hover:underline truncate block",D.original.title?"":"font-mono"]),title:D.original.signature},{default:t(()=>[d(r(D.original.title||D.original.signature),1)]),_:2},1032,["to","class","title"]),D.original.triageNote?(n(),i("p",Ta,r(D.original.triageNote),1)):A("",!0)])]),"errorType-cell":t(({row:D})=>[D.original.errorType?(n(),g(m,{key:0,color:("clusterErrorTypeColor"in R?R.clusterErrorTypeColor:e(cn))(D.original.errorType),variant:"subtle",size:"sm"},{default:t(()=>[d(r(D.original.errorType),1)]),_:2},1032,["color"])):(n(),i("span",ja,"—"))]),"status-cell":t(({row:D})=>[s("div",Sa,[a(m,{color:("clusterStatusColor"in R?R.clusterStatusColor:e(rn))(D.original.status),variant:"subtle",size:"sm"},{default:t(()=>[d(r(D.original.status),1)]),_:2},1032,["color"]),U(D.original)?(n(),g(M,{key:0,text:U(D.original).hint},{default:t(()=>[a(m,{color:U(D.original).color,variant:"subtle",size:"sm",class:"gap-1"},{default:t(()=>[a(v,{name:U(D.original).icon,class:"size-3"},null,8,["name"]),d(" "+r(U(D.original).label),1)]),_:2},1032,["color"])]),_:2},1032,["text"])):A("",!0)])]),"affectedTests-cell":t(({row:D})=>[s("span",wa,r(D.original.affectedTests),1)]),"occurrences-cell":t(({row:D})=>[s("span",Ra,r(D.original.occurrences),1)]),"diagnosis-cell":t(({row:D})=>[D.original.diagnosis?.status==="completed"&&D.original.diagnosis.category?(n(),g(m,{key:0,color:"neutral",variant:"subtle",size:"sm",class:"gap-1"},{default:t(()=>[a(v,{name:"i-lucide-sparkles",class:"size-3"}),d(" "+r(D.original.diagnosis.category),1)]),_:2},1024)):(n(),i("span",Da,"—"))]),"lastSeenAt-cell":t(({row:D})=>[s("div",Aa,[a(T,{to:`/test-runs/${D.original.lastSeenRunId}`,class:"text-primary hover:underline"},{default:t(()=>[d(" run #"+r(D.original.lastSeenRunId),1)]),_:2},1032,["to"]),D.original.lastSeenAt?(n(),i("span",za," ("+r(("formatRelativeTime"in R?R.formatRelativeTime:e(At))(D.original.lastSeenAt))+") ",1)):A("",!0)])]),"actions-cell":t(({row:D})=>[s("div",Ua,[a(V,{to:`/failure-clusters/${D.original.id}`,size:"sm",variant:"outline","trailing-icon":"i-lucide-arrow-right"},{default:t(()=>[...y[3]||(y[3]=[d(" View ",-1)])]),_:1},8,["to"])])]),_:1},8,["data","loading"])]),_:1}),!e(c)&&e(p)&&e(p).length===0?(n(),g(S,{key:0,text:"No failure clusters recorded for this project.",padded:!1,class:"py-4"})):A("",!0)]),_:1})}}}),Ma=Object.assign(Ia,{__name:"FailureClustersList"}),Fa={class:"flex items-center justify-between"},Pa={class:"flex items-center gap-3"},Ea={class:"text-sm text-gray-500 inline-flex items-center gap-1"},Ba={class:"flex items-center gap-1.5"},La={class:"min-w-0 space-y-0.5"},Va={class:"flex items-center gap-2"},Na={class:"text-sm tabular-nums"},Ka={class:"text-sm tabular-nums"},Oa={key:1,class:"text-gray-400 text-xs"},qa={key:1,class:"text-gray-400 text-xs"},Ha={key:1,class:"text-gray-400 text-xs"},Qa={key:0,class:"text-sm text-gray-500"},Ga={key:1,class:"text-gray-400 text-xs"},Xa={class:"flex justify-end"},Ja={key:0,class:"text-sm text-gray-500 py-4 text-center"},Wa=oe({__name:"FlakyTestsList",props:{projectId:{},environment:{},projectName:{}},async setup(z){let C,$;const x=z,_=I(50),p=I([]),{data:c,pending:U}=([C,$]=he(()=>xe(()=>{const m=new URLSearchParams({runs:String(_.value)});return x.environment&&m.set("environment",x.environment),`/api/projects/${x.projectId}/flaky-tests?${m.toString()}`},{lazy:!0,server:!1,watch:[_,()=>x.environment]},"$BbmtLKIPAB")),C=await C,$(),C),F=B(()=>p.value.length===0?c.value??[]:(c.value??[]).filter(m=>p.value.includes(m.rootCause??"")));function R(m){return m>=60?"error":m>=30?"warning":"neutral"}function y(m){switch(m){case"timing":return"amber";case"network":return"red";case"assertion":return"blue";case"environment":return"purple";default:return"gray"}}function h(m){p.value.indexOf(m)>=0?p.value=p.value.filter(M=>M!==m):p.value=[...p.value,m]}const k=[{label:"Timing",value:"timing"},{label:"Network",value:"network"},{label:"Assertion",value:"assertion"},{label:"Environment",value:"environment"},{label:"Other",value:"other"}],T=[{accessorKey:"title",header:E("Test")},{accessorKey:"impact",header:E("Impact")},{accessorKey:"score",header:E("Score")},{accessorKey:"failureRate",header:E("Failure rate")},{accessorKey:"retryPassRuns",header:E("Retry passes")},{accessorKey:"alternations",header:E("Flips")},{accessorKey:"rootCause",header:"Root cause"},{accessorKey:"lastFlakeAt",header:E("Last flake")},{id:"actions",header:"Actions"}];return(m,v)=>{const M=Xe,V=Le,j=Ce,f=ke,S=ze,O=Ve,D=ss,Q=ut,N=Gt,ue=Ie,fe=Ne,b=Ue;return n(),g(b,{"data-shot":"flaky-table"},{header:t(()=>[s("div",Fa,[s("div",Pa,[s("p",Ea,[v[1]||(v[1]=d(" Tests that fail intermittently — detected by retry passes and status alternations ",-1)),a(M,{topic:"project.flaky-tests"})]),z.environment?(n(),g(j,{key:0,color:"neutral",variant:"subtle",size:"sm",class:"gap-1"},{default:t(()=>[a(V,{name:"i-lucide-layers",class:"size-3"}),d(" "+r(z.environment),1)]),_:1})):A("",!0),s("div",Ba,[(n(),i(G,null,ae(k,w=>a(f,{key:w.value,size:"xs",variant:e(p).includes(w.value)?"solid":"outline",color:(e(p).includes(w.value),"neutral"),onClick:H=>h(w.value)},{default:t(()=>[d(r(w.label),1)]),_:2},1032,["variant","color","onClick"])),64))])]),a(S,{modelValue:e(_),"onUpdate:modelValue":v[0]||(v[0]=w=>J(_)?_.value=w:null),items:[{label:"Last 20 runs",value:20},{label:"Last 50 runs",value:50},{label:"Last 100 runs",value:100}],size:"xs",class:"w-36"},null,8,["modelValue"])])]),default:t(()=>[a(fe,{"min-width":"52rem",bleed:!1},{default:t(()=>[a(ue,{data:e(F),columns:T,loading:e(U),sticky:"",class:"max-h-[32rem]"},{"actions-header":t(()=>[...v[2]||(v[2]=[s("div",{class:"text-right"},"Actions",-1)])]),"title-cell":t(({row:w})=>[s("div",La,[a(O,{to:`/test-run-cases/${w.original.latestRunsCaseId}`,class:"text-sm font-medium text-primary hover:underline truncate block",title:w.original.title},{default:t(()=>[d(r(w.original.title),1)]),_:2},1032,["to","title"]),a(D,{tags:w.original.tags,meta:{owner:w.original.owner??void 0,priority:("toTestPriority"in m?m.toTestPriority:e(dn))(w.original.priority)},"max-tags":3},null,8,["tags","meta"]),a(Q,{"file-path":w.original.filePath,"project-key":z.projectId,"project-name":z.projectName,class:"text-xs text-gray-400"},null,8,["file-path","project-key","project-name"])])]),"impact-cell":t(({row:w})=>[s("div",Va,[s("span",{class:ie(["inline-block w-2 h-2 rounded-full shrink-0",{"bg-red-500":w.original.wastedCiMinutes>=30,"bg-amber-500":w.original.wastedCiMinutes>=5&&w.original.wastedCiMinutes<30,"bg-green-500":w.original.wastedCiMinutes>=0&&w.original.wastedCiMinutes<5}])},null,2),s("span",Na,r(Math.round(w.original.wastedCiMinutes))+" min wasted",1)])]),"score-cell":t(({row:w})=>[a(j,{color:R(w.original.score),variant:"subtle",size:"sm"},{default:t(()=>[d(r(w.original.score),1)]),_:2},1032,["color"])]),"failureRate-cell":t(({row:w})=>[s("span",Ka,r(Math.round(w.original.failureRate*100))+"%",1)]),"retryPassRuns-cell":t(({row:w})=>[w.original.retryPassRuns?(n(),g(j,{key:0,color:"warning",variant:"outline",size:"sm"},{default:t(()=>[d(r(w.original.retryPassRuns)+" run"+r(w.original.retryPassRuns===1?"":"s"),1)]),_:2},1024)):(n(),i("span",Oa,"—"))]),"alternations-cell":t(({row:w})=>[w.original.alternations>=2?(n(),g(j,{key:0,color:"neutral",variant:"outline",size:"sm"},{default:t(()=>[d(r(w.original.alternations),1)]),_:2},1024)):(n(),i("span",qa,"—"))]),"rootCause-cell":t(({row:w})=>[w.original.rootCause?(n(),g(N,{key:0,text:w.original.rootCause,color:y(w.original.rootCause)},null,8,["text","color"])):(n(),i("span",Ha,"—"))]),"lastFlakeAt-cell":t(({row:w})=>[w.original.lastFlakeAt?(n(),i("span",Qa,r(("formatRelativeTime"in m?m.formatRelativeTime:e(At))(w.original.lastFlakeAt)),1)):(n(),i("span",Ga,"—"))]),"actions-cell":t(({row:w})=>[s("div",Xa,[a(f,{to:`/test-run-cases/${w.original.latestRunsCaseId}`,size:"sm",variant:"outline","trailing-icon":"i-lucide-arrow-right"},{default:t(()=>[...v[3]||(v[3]=[d(" View ",-1)])]),_:1},8,["to"])])]),_:1},8,["data","loading"])]),_:1}),!e(U)&&e(F).length===0?(n(),i("p",Ja," No flaky tests detected in the last "+r(e(_))+" runs. ",1)):A("",!0)]),_:1})}}}),Ya=Object.assign(Wa,{__name:"FlakyTestsList"}),Za={class:"w-full relative"},eo={key:0},to={class:"p-2 text-sm text-gray-900 dark:text-gray-100"},so={class:"font-semibold mb-1"},no={class:"capitalize mb-1"},ao={class:"space-y-0.5"},oo={class:"mt-1"},lo={key:0,class:"text-gray-400 dark:text-gray-500 text-xs"},ro=oe({__name:"PerformanceTrendChart",props:{data:{},height:{default:300},markers:{default:()=>[]}},emits:["marker-click"],setup(z,{emit:C}){const $=z,x=C,_=B(()=>$.markers),p=B(()=>!$.data||$.data.length===0?[]:$.data.map(j=>({id:j.id,date:new Date(j.startTime),duration:j.duration?Math.round(j.duration/1e3):null,avgTestDuration:j.avgTestDuration?Math.round(j.avgTestDuration/1e3):null,p90TestDuration:j.p90TestDuration?Math.round(j.p90TestDuration/1e3):null,commit:j.commit?j.commit.substring(0,7):null,status:j.status,totalTests:j.totalTests}))),c=j=>j.date,U=j=>j.duration??void 0,F=j=>j.avgTestDuration??void 0,R=j=>j.p90TestDuration??void 0,y=["rgb(59, 130, 246)","rgb(34, 197, 94)","rgb(249, 115, 22)"],h=I(null),{tooltipData:k,tooltipPos:T,markerTooltip:m,markerTooltipPos:v,onRenderComplete:M}=Zt(h,p,{x:j=>j.date,series:[{y:j=>j.duration,color:y[0]},{y:j=>j.avgTestDuration,color:y[1]},{y:j=>j.p90TestDuration,color:y[2]}],onClick:j=>wt(`/test-runs/${j.id}`),markers:_,onMarkerClick:j=>x("marker-click",j.id)}),V=[{color:y[0],label:"Total Duration"},{color:y[1],label:"Avg Test Duration"},{color:y[2],label:"P90 Test Duration"}];return(j,f)=>{const S=Xt,O=$e,D=Yt;return n(),i("div",Za,[e(p).length>0?(n(),i("div",eo,[a(e(Wt),{ref_key:"xyContainerRef",ref:h,data:e(p),height:z.height,padding:{top:10,right:10,bottom:0,left:0},"on-render-complete":e(M)},{default:t(()=>[a(e(Jt),{x:c,y:[U,F,R],color:y,"curve-type":e(jt).MonotoneX,"line-width":2},null,8,["y","curve-type"]),a(e(it),{type:"x","tick-format":Q=>new Date(Q).toLocaleDateString("en-US",{month:"short",day:"numeric"}),label:"Date"},null,8,["tick-format"]),a(e(it),{type:"y",label:"Duration (s)","tick-format":Q=>`${Q}s`},null,8,["tick-format"])]),_:1},8,["data","height","on-render-complete"]),e(k)?(n(),i("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-[260px]",style:qt({left:`${e(T).x}px`,top:`${e(T).y}px`})},[s("div",to,[s("div",so,r(new Date(e(k).date).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1),s("div",no,"Status: "+r(e(k).status),1),s("div",ao,[s("div",null,[f[0]||(f[0]=s("span",{class:"text-blue-500 dark:text-blue-400"},"●",-1)),d(" Total: "+r(e(k).duration??"-")+"s ",1)]),s("div",null,[f[1]||(f[1]=s("span",{class:"text-green-500 dark:text-green-400"},"●",-1)),d(" Avg: "+r(e(k).avgTestDuration??"-")+"s ",1)]),s("div",null,[f[2]||(f[2]=s("span",{class:"text-orange-500 dark:text-orange-400"},"●",-1)),d(" P90: "+r(e(k).p90TestDuration??"-")+"s ",1)]),s("div",oo,"Tests: "+r(e(k).totalTests),1),e(k).commit?(n(),i("div",lo," Commit: "+r(e(k).commit),1)):A("",!0)]),f[3]||(f[3]=s("div",{class:"text-gray-400 dark:text-gray-500 text-xs mt-1"},"Click to view run details",-1))])],4)):A("",!0),a(S,{marker:e(m),pos:e(v)},null,8,["marker","pos"])])):(n(),g(O,{key:1,text:"No performance data available to display chart"})),a(D,{items:V})])}}}),io=Object.assign(ro,{__name:"PerformanceTrendChart"}),co={class:"min-w-0"},uo={class:"mt-1"},mo={class:"tabular-nums"},po={key:0,class:"ml-1 text-xs text-gray-500",title:"timeout ÷ p95"},go={class:"tabular-nums text-gray-500"},fo={key:0,class:"text-sm"},_o={key:1,class:"tabular-nums"},vo={class:"tabular-nums font-medium text-green-600 dark:text-green-400"},yo={class:"tabular-nums text-gray-500"},ho=oe({__name:"TimeoutOpportunitiesTable",props:{projectId:{},projectName:{}},async setup(z){let C,$;const x=z,{data:_,pending:p}=([C,$]=he(()=>xe(()=>`/api/projects/${x.projectId}/timeout-opportunities`,{lazy:!0,server:!1},"$zikJNhkkxJ")),C=await C,$(),C),c=B(()=>_.value??[]);function U(R){return R==null?"—":R<1e3?`${R}ms`:`${(R/1e3).toFixed(1)}s`}const F=[{accessorKey:"title",header:E("Test case")},{accessorKey:"kind",header:"Type"},{accessorKey:"timeout",header:E("Timeout")},{accessorKey:"p95",header:E("p95")},{accessorKey:"recommendedTimeout",header:"Recommendation"},{accessorKey:"estimatedSavingMs",header:E("Est. saving / failure")},{accessorKey:"runCount",header:E("Runs")}];return(R,y)=>{const h=Je,k=$e,T=Ve,m=ut,v=Ce,M=Ie,V=Ne,j=Ue;return n(),g(j,null,{header:t(()=>[...y[0]||(y[0]=[s("h2",{class:"text-xl font-semibold"},"Timeout opportunities",-1),s("p",{class:"text-sm text-gray-600 mt-1"},[d(" Tests whose configured timeout far exceeds their real duration, or that still carry a stale "),s("code",{class:"text-xs"},"test.slow()"),d(" mark — tightening these makes failures surface sooner. ")],-1)])]),default:t(()=>[e(p)?(n(),g(h,{key:0})):e(c).length===0?(n(),g(k,{key:1,text:"No timeout opportunities",description:"No oversized timeouts or stale test.slow() marks were found for this project."})):(n(),g(V,{key:2,"min-width":"52rem",bleed:!1},{default:t(()=>[a(M,{data:e(c),columns:F,sticky:"",class:"max-h-[32rem]"},{"title-cell":t(({row:f})=>[s("div",co,[a(T,{to:`/test-cases/${f.original.testCaseId}`,class:"font-medium truncate block hover:text-primary hover:underline"},{default:t(()=>[d(r(f.original.title),1)]),_:2},1032,["to"]),s("div",uo,[a(m,{"file-path":f.original.filePath,"project-key":z.projectId,"project-name":z.projectName,class:"text-xs"},null,8,["file-path","project-key","project-name"])])])]),"kind-cell":t(({row:f})=>[a(v,{color:f.original.kind==="oversized-timeout"?"warning":"info",variant:"subtle",size:"sm"},{default:t(()=>[d(r(f.original.kind==="oversized-timeout"?"Oversized timeout":"Stale test.slow()"),1)]),_:2},1032,["color"])]),"timeout-cell":t(({row:f})=>[s("span",mo,r(U(f.original.timeout)),1),f.original.headroomRatio!=null?(n(),i("span",po," ("+r(f.original.headroomRatio)+"×) ",1)):A("",!0)]),"p95-cell":t(({row:f})=>[s("span",go,r(U(f.original.p95)),1)]),"recommendedTimeout-cell":t(({row:f})=>[f.original.kind==="stale-slow"?(n(),i("span",fo,[...y[1]||(y[1]=[d("Remove ",-1),s("code",{class:"text-xs"},"test.slow()",-1)])])):(n(),i("span",_o,"Lower to ~"+r(U(f.original.recommendedTimeout)),1))]),"estimatedSavingMs-cell":t(({row:f})=>[s("span",vo,r(U(f.original.estimatedSavingMs)),1)]),"runCount-cell":t(({row:f})=>[s("span",yo,r(f.original.runCount),1)]),_:1},8,["data"])]),_:1}))]),_:1})}}}),xo=Object.assign(ho,{__name:"TimeoutOpportunitiesTable"}),bo={class:"flex items-center justify-between"},ko={class:"text-sm text-gray-500 inline-flex items-center gap-1"},$o={class:"truncate font-mono text-xs"},Co={class:"tabular-nums"},To={class:"tabular-nums text-gray-500"},jo={class:"tabular-nums text-gray-500"},So=oe({__name:"SpecHealthTable",props:{projectId:{}},async setup(z){let C,$;const x=z,_=I(30),{data:p,pending:c}=([C,$]=he(()=>xe(()=>`/api/projects/${x.projectId}/spec-health?days=${_.value}`,{lazy:!0,server:!1,watch:[_]},"$SX5aqvhtuX")),C=await C,$(),C),U=B(()=>p.value?.specs??[]);function F(m){return m>=.9?"bg-green-500":m>=.7?"bg-amber-500":m>0?"bg-red-500":"bg-gray-300 dark:bg-gray-600"}function R(m){return m>=.9?"text-green-600 dark:text-green-400":m>=.7?"text-amber-600 dark:text-amber-400":m>0?"text-red-600 dark:text-red-400":"text-gray-500"}function y(m){return`${Math.round(m*100)}%`}function h(m){return m<1e3?`${m}ms`:`${(m/1e3).toFixed(1)}s`}const k=[{label:"Last 7 days",value:7},{label:"Last 30 days",value:30},{label:"Last 90 days",value:90}],T=[{accessorKey:"prefix",header:E("Spec prefix")},{accessorKey:"passRate",header:E("Pass rate")},{accessorKey:"flakyRate",header:E("Flaky")},{accessorKey:"failureCount",header:E("Failures")},{accessorKey:"testCount",header:E("Tests")},{accessorKey:"avgDuration",header:E("Avg time")}];return(m,v)=>{const M=Xe,V=ze,j=Je,f=$e,S=Ve,O=Ie,D=Ne,Q=Ue;return n(),g(Q,null,{header:t(()=>[s("div",bo,[s("p",ko,[v[1]||(v[1]=d(" Spec-file health overview — pass rate, flaky rate, and failure count per spec prefix ",-1)),a(M,{topic:"project.spec-health"})]),a(V,{modelValue:e(_),"onUpdate:modelValue":v[0]||(v[0]=N=>J(_)?_.value=N:null),items:k,size:"xs",class:"w-32"},null,8,["modelValue"])])]),default:t(()=>[e(c)?(n(),g(j,{key:0})):e(U).length===0?(n(),g(f,{key:1,text:"No data",description:"No spec health data available for the selected period."})):(n(),g(D,{key:2,"min-width":"46rem",bleed:!1},{default:t(()=>[a(O,{data:e(U),columns:T,sticky:"",class:"max-h-[32rem]"},{"prefix-cell":t(({row:N})=>[a(S,{to:`/projects/${z.projectId}/test-cases?file=${encodeURIComponent(N.original.prefix)}`,class:"flex items-center gap-2 min-w-0 text-primary hover:underline",title:N.original.prefix},{default:t(()=>[s("span",{class:ie(["inline-block size-3 rounded shrink-0",F(N.original.passRate)])},null,2),s("span",$o,r(N.original.prefix),1)]),_:2},1032,["to","title"])]),"passRate-cell":t(({row:N})=>[s("span",{class:ie(["font-medium tabular-nums",R(N.original.passRate)])},r(y(N.original.passRate)),3)]),"flakyRate-cell":t(({row:N})=>[s("span",Co,r(Math.round(N.original.flakyRate*100))+"%",1)]),"failureCount-cell":t(({row:N})=>[s("span",{class:ie(["tabular-nums",N.original.failureCount>0?"text-red-600 dark:text-red-400":""])},r(N.original.failureCount),3)]),"testCount-cell":t(({row:N})=>[s("span",To,r(N.original.testCount),1)]),"avgDuration-cell":t(({row:N})=>[s("span",jo,r(h(N.original.avgDuration)),1)]),_:1},8,["data"])]),_:1}))]),_:1})}}}),wo=Object.assign(So,{__name:"SpecHealthTable"}),Ro={class:"flex items-center justify-between"},Do={key:2},Ao={class:"grid grid-cols-3 gap-3 mb-4"},zo={class:"rounded-lg border border-gray-200 dark:border-gray-800 p-3"},Uo={class:"text-2xl font-semibold tabular-nums"},Io={class:"rounded-lg border border-gray-200 dark:border-gray-800 p-3"},Mo={class:"text-2xl font-semibold tabular-nums"},Fo={class:"rounded-lg border border-gray-200 dark:border-gray-800 p-3"},Po={class:"text-2xl font-semibold tabular-nums"},Eo=["title"],Bo={class:"tabular-nums"},Lo={class:"tabular-nums text-gray-500"},Vo=["title"],No=oe({__name:"AiStepCoverage",props:{projectId:{}},async setup(z){let C,$;const x=z,_=I(30),{data:p,pending:c}=([C,$]=he(()=>xe(()=>`/api/projects/${x.projectId}/ai-steps?days=${_.value}`,{lazy:!0,server:!1,watch:[_]},"$XNuZ38B1nb")),C=await C,$(),C),U=B(()=>p.value?.artifacts??[]),F=B(()=>p.value?.summary??{artifactCount:0,testCount:0,runCount:0,replayCount:0});function R(T){const m=T.split(/[\\/]/);return m[m.length-1]||T}function y(T){if(!T)return"—";const m=new Date(T).getTime();if(!Number.isFinite(m))return"—";const v=Math.max(0,Math.round((Date.now()-m)/1e3));if(v<60)return"just now";const M=Math.round(v/60);if(M<60)return`${M}m ago`;const V=Math.round(M/60);return V<24?`${V}h ago`:`${Math.round(V/24)}d ago`}const h=[{label:"Last 7 days",value:7},{label:"Last 30 days",value:30},{label:"Last 90 days",value:90}],k=[{accessorKey:"entry",header:E("Artifact")},{accessorKey:"testCount",header:E("Tests")},{accessorKey:"replayCount",header:E("Replays")},{accessorKey:"lastSeen",header:E("Last seen")}];return(T,m)=>{const v=ze,M=Je,V=$e,j=Ie,f=Ne,S=Ue;return n(),g(S,null,{header:t(()=>[s("div",Ro,[m[1]||(m[1]=s("p",{class:"text-sm text-gray-500"},[d(" AI-step liveness — which committed "),s("code",{class:"text-xs"},"piwiLocator"),d(" / "),s("code",{class:"text-xs"},"piwiRun"),d(" artifacts were replayed, and when they were last seen ")],-1)),a(v,{modelValue:e(_),"onUpdate:modelValue":m[0]||(m[0]=O=>J(_)?_.value=O:null),items:h,size:"xs",class:"w-32"},null,8,["modelValue"])])]),default:t(()=>[e(c)?(n(),g(M,{key:0})):e(U).length===0?(n(),g(V,{key:1,text:"No AI steps",description:"No committed AI-step artifacts were replayed in the selected period. Author them with page.piwiLocator / page.piwiRun in resolve mode."})):(n(),i("div",Do,[s("div",Ao,[s("div",zo,[s("div",Uo,r(e(F).artifactCount),1),m[2]||(m[2]=s("div",{class:"text-xs text-gray-500"},"Artifacts replayed",-1))]),s("div",Io,[s("div",Mo,r(e(F).testCount),1),m[3]||(m[3]=s("div",{class:"text-xs text-gray-500"},"Tests using AI steps",-1))]),s("div",Fo,[s("div",Po,r(e(F).replayCount),1),m[4]||(m[4]=s("div",{class:"text-xs text-gray-500"},"Total replays",-1))])]),a(f,{"min-width":"40rem",bleed:!1},{default:t(()=>[a(j,{data:e(U),columns:k,sticky:"",class:"max-h-[32rem]"},{"entry-cell":t(({row:O})=>[s("span",{class:"font-mono text-xs truncate block max-w-[28rem]",title:O.original.entry},r(R(O.original.entry)),9,Eo)]),"testCount-cell":t(({row:O})=>[s("span",Bo,r(O.original.testCount),1)]),"replayCount-cell":t(({row:O})=>[s("span",Lo,r(O.original.replayCount),1)]),"lastSeen-cell":t(({row:O})=>[s("span",{class:"tabular-nums text-gray-500",title:O.original.lastSeen||""},r(y(O.original.lastSeen)),9,Vo)]),_:1},8,["data"])]),_:1})]))]),_:1})}}}),Ko=Object.assign(No,{__name:"AiStepCoverage"}),Oo={class:"space-y-6"},qo={class:"w-full text-sm"},Ho={class:"px-3 py-2 min-w-0"},Qo={class:"text-xs text-muted"},Go={class:"px-3 py-2 text-muted"},Xo={class:"px-3 py-2 whitespace-nowrap"},Jo={key:1,class:"text-xs text-muted"},Wo={key:2,class:"text-xs"},Yo={class:"px-3 py-2 whitespace-nowrap text-muted"},Zo={class:"px-3 py-2 text-right"},el={class:"w-full text-sm"},tl={class:"px-3 py-2 min-w-0"},sl={class:"text-xs text-muted"},nl={class:"px-3 py-2 text-right whitespace-nowrap"},al=oe({__name:"QuarantineTable",props:{projectId:{},projectName:{}},async setup(z){let C,$;const x=z,_=Ae(),p=I(null),{data:c,status:U,error:F,refresh:R}=([C,$]=he(()=>xe(()=>`/api/projects/${x.projectId}/quarantine`,"$BSyDdCMaDx")),C=await C,$(),C);function y(T){const m=Math.round(T/36e5);return m<48?`${Math.max(1,m)}h`:`${Math.round(m/24)}d`}async function h(T,m){p.value=T;try{await $fetch(`/api/projects/${x.projectId}/quarantine`,{method:"POST",body:{testCaseId:T,reason:m,source:"proposed"}}),_.add({title:"Quarantined",color:"success"}),await R()}catch{_.add({title:"Could not quarantine that test",color:"error"})}finally{p.value=null}}async function k(T){p.value=T;try{await $fetch(`/api/projects/${x.projectId}/quarantine/${T}`,{method:"DELETE"}),_.add({title:"Released",color:"success"}),await R()}catch{_.add({title:"Could not release that test",color:"error"})}finally{p.value=null}}return(T,m)=>{const v=Je,M=gn,V=fn,j=_n,f=$e,S=Ve,O=ss,D=ut,Q=Ce,N=ke,ue=Ne,fe=Dt;return n(),i("div",Oo,[a(fe,{title:"Quarantine",icon:"i-lucide-shield-alert",count:e(c)?.debt.active,help:"project.quarantine"},{subtitle:t(()=>[...m[0]||(m[0]=[d(" A quarantined test keeps running and keeps reporting — it is excluded from the CI gate's verdict and nothing else. That is what lets it earn its way back out. ",-1)])]),default:t(()=>[e(U)==="pending"?(n(),g(v,{key:0})):e(F)?(n(),g(M,{key:1,text:String(e(F))},null,8,["text"])):(n(),i(G,{key:2},[e(c)&&e(c).debt.active>0?(n(),g(j,{key:0,class:"mb-4"},{default:t(()=>[a(V,{label:"Quarantined",value:e(c).debt.active},null,8,["value"]),a(V,{label:"Ready to release",value:e(c).debt.readyToRelease,"value-class":e(c).debt.readyToRelease>0?"text-green-600 dark:text-green-400":"",hint:"earned their way out"},null,8,["value","value-class"]),a(V,{label:"Still failing",value:e(c).debt.stillFailing,hint:"no passing streak"},null,8,["value"]),a(V,{label:"Oldest",value:y(e(c).debt.oldestAgeMs),size:"sm"},null,8,["value"])]),_:1})):A("",!0),!e(c)||e(c).entries.length===0?(n(),g(f,{key:1,icon:"i-lucide-shield-check",text:"Nothing quarantined. Tests you quarantine appear here with their progress back out."})):(n(),g(ue,{key:2},{default:t(()=>[s("table",qo,[m[2]||(m[2]=s("thead",{class:"text-left text-xs text-muted"},[s("tr",null,[s("th",{class:"px-3 py-2"},"Test"),s("th",{class:"px-3 py-2"},"Reason"),s("th",{class:"px-3 py-2 whitespace-nowrap"},"Streak"),s("th",{class:"px-3 py-2 whitespace-nowrap"},"Age"),s("th",{class:"px-3 py-2 text-right"},"Actions")])],-1)),s("tbody",null,[(n(!0),i(G,null,ae(e(c).entries,b=>(n(),i("tr",{key:b.id,class:"border-t border-default"},[s("td",Ho,[a(S,{to:`/test-cases/${b.testCaseId}`,class:"text-primary hover:underline font-medium"},{default:t(()=>[d(r(b.title),1)]),_:2},1032,["to"]),a(O,{tags:b.tags,meta:{owner:b.owner??void 0},"max-tags":3,class:"ml-1"},null,8,["tags","meta"]),s("div",Qo,[a(D,{"file-path":b.filePath,"project-key":z.projectId,"project-name":z.projectName},null,8,["file-path","project-key","project-name"])])]),s("td",Go,r(b.reason||"—"),1),s("td",Xo,[b.releaseProposed?(n(),g(Q,{key:0,color:"success",variant:"soft",size:"xs"},{default:t(()=>[d(r(b.consecutivePasses)+" green — ready ",1)]),_:2},1024)):b.runsSinceQuarantine===0?(n(),i("span",Jo,"not run yet")):(n(),i("span",Wo,r(b.consecutivePasses)+" / "+r(e(c).releaseAfterConsecutivePasses),1))]),s("td",Yo,r(y(b.ageMs)),1),s("td",Zo,[a(N,{size:"xs",color:b.releaseProposed?"primary":"neutral",variant:"soft",loading:e(p)===b.testCaseId,onClick:w=>k(b.testCaseId)},{default:t(()=>[...m[1]||(m[1]=[d(" Release ",-1)])]),_:1},8,["color","loading","onClick"])])]))),128))])])]),_:1}))],64))]),_:1},8,["count"]),e(c)&&e(c).candidates.length>0?(n(),g(fe,{key:0,title:"Worth quarantining",icon:"i-lucide-lightbulb",count:e(c).candidates.length},{subtitle:t(()=>[...m[3]||(m[3]=[d(" Ranked by the CI minutes their flakiness wastes, not by how often they flake — a test that flakes constantly but finishes instantly costs nothing. ",-1)])]),default:t(()=>[a(ue,null,{default:t(()=>[s("table",el,[s("tbody",null,[(n(!0),i(G,null,ae(e(c).candidates,b=>(n(),i("tr",{key:b.testCaseId,class:"border-t border-default"},[s("td",tl,[a(S,{to:`/test-cases/${b.testCaseId}`,class:"text-primary hover:underline font-medium"},{default:t(()=>[d(r(b.title),1)]),_:2},1032,["to"]),s("div",sl,r(b.rationale),1)]),s("td",nl,[a(N,{size:"xs",color:"neutral",variant:"soft",loading:e(p)===b.testCaseId,onClick:w=>h(b.testCaseId,b.rationale)},{default:t(()=>[...m[4]||(m[4]=[d(" Quarantine ",-1)])]),_:1},8,["loading","onClick"])])]))),128))])])]),_:1})]),_:1},8,["count"])):A("",!0)])}}}),ol=Object.assign(al,{__name:"QuarantineTable"}),ll={class:"space-y-4"},rl={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},il={id:"marker-environments"},cl=["value"],ul=oe({__name:"MarkerFormModal",props:{open:{type:Boolean},projectId:{},marker:{},environments:{}},emits:["update:open","saved"],setup(z,{emit:C}){const $=z,x=C,_=Ae(),p=xn.map(h=>({label:h.label,value:h.id,icon:h.icon})),c=Es({label:"",occurredAt:"",category:Ct,environment:"",description:""}),U=B(()=>!!$.marker),F=I(!1);function R(h){const k=new Date(h),T=m=>String(m).padStart(2,"0");return`${k.getFullYear()}-${T(k.getMonth()+1)}-${T(k.getDate())}T${T(k.getHours())}:${T(k.getMinutes())}`}ge(()=>$.open,h=>{h&&($.marker?(c.label=$.marker.label,c.occurredAt=R($.marker.occurredAt),c.category=$.marker.category||Ct,c.environment=$.marker.environment??"",c.description=$.marker.description??""):(c.label="",c.occurredAt=R(new Date),c.category=Ct,c.environment="",c.description=""))});async function y(){if(!c.label.trim()){_.add({title:"Label is required",color:"error"});return}if(!c.occurredAt){_.add({title:"Date is required",color:"error"});return}F.value=!0;const h={label:c.label.trim(),occurredAt:new Date(c.occurredAt).toISOString(),category:c.category,environment:c.environment.trim()||null,description:c.description.trim()||null};try{$.marker?(await $fetch(`/api/markers/${$.marker.id}`,{method:"PUT",body:h}),_.add({title:"Marker updated",color:"success"})):(await $fetch(`/api/projects/${$.projectId}/markers`,{method:"POST",body:h}),_.add({title:"Marker created",color:"success"})),x("update:open",!1),x("saved")}catch(k){_.add({title:U.value?"Failed to update marker":"Failed to create marker",description:ts(k),color:"error"})}finally{F.value=!1}}return(h,k)=>{const T=Ht,m=Qt,v=ze,M=hn,V=ke,j=zt,f=Rt;return n(),g(f,null,{default:t(()=>[a(j,{open:z.open,title:e(U)?"Edit marker":"Add marker","onUpdate:open":k[6]||(k[6]=S=>x("update:open",S))},{body:t(()=>[s("div",ll,[a(m,{label:"Label",name:"label",required:""},{default:t(()=>[a(T,{modelValue:e(c).label,"onUpdate:modelValue":k[0]||(k[0]=S=>e(c).label=S),placeholder:"e.g. Migrated CI to new runners",class:"w-full"},null,8,["modelValue"])]),_:1}),s("div",rl,[a(m,{label:"Date & time",name:"occurredAt",required:""},{default:t(()=>[a(T,{modelValue:e(c).occurredAt,"onUpdate:modelValue":k[1]||(k[1]=S=>e(c).occurredAt=S),type:"datetime-local",class:"w-full"},null,8,["modelValue"])]),_:1}),a(m,{label:"Category",name:"category"},{default:t(()=>[a(v,{modelValue:e(c).category,"onUpdate:modelValue":k[2]||(k[2]=S=>e(c).category=S),items:e(p),class:"w-full"},null,8,["modelValue","items"])]),_:1})]),a(m,{label:"Environment",name:"environment",help:"Optional. Leave empty to apply to all environments."},{default:t(()=>[a(T,{modelValue:e(c).environment,"onUpdate:modelValue":k[3]||(k[3]=S=>e(c).environment=S),list:"marker-environments",placeholder:"e.g. production",class:"w-full"},null,8,["modelValue"]),s("datalist",il,[(n(!0),i(G,null,ae(z.environments||[],S=>(n(),i("option",{key:S,value:S},null,8,cl))),128))])]),_:1}),a(m,{label:"Description",name:"description"},{default:t(()=>[a(M,{modelValue:e(c).description,"onUpdate:modelValue":k[4]||(k[4]=S=>e(c).description=S),rows:3,placeholder:"Optional details",class:"w-full"},null,8,["modelValue"])]),_:1})])]),footer:t(()=>[a(V,{color:"neutral",variant:"ghost",label:"Cancel",onClick:k[5]||(k[5]=S=>x("update:open",!1))}),a(V,{label:e(U)?"Save changes":"Add marker",icon:e(U)?"i-lucide-check":"i-lucide-plus",loading:e(F),onClick:y},null,8,["label","icon","loading"])]),_:1},8,["open","title"])]),_:1})}}}),dl=Object.assign(ul,{__name:"MarkerFormModal"}),ml={class:"md:hidden space-y-3"},pl={class:"flex items-start justify-between gap-2"},gl={key:0,class:"flex gap-1 shrink-0"},fl={class:"text-sm text-muted"},_l={key:0,class:"text-xs"},vl={key:1,class:"text-sm text-muted"},yl={class:"whitespace-nowrap"},hl={class:"text-sm"},xl={class:"text-xs text-muted"},bl={class:"font-medium flex items-center gap-1"},kl={key:0,class:"text-xs text-muted line-clamp-1"},$l={key:1,class:"text-xs text-muted"},Cl={key:0,class:"flex gap-1 justify-end"},Tl=oe({__name:"ProjectTimeline",props:{projectId:{},markers:{},environments:{},canEdit:{type:Boolean},focusMarkerId:{}},emits:["changed","clear-focus"],setup(z,{emit:C}){const $=z,x=C,_=Ae(),p=B(()=>[...$.markers].sort((v,M)=>+new Date(M.occurredAt)-+new Date(v.occurredAt))),c=[{accessorKey:"occurredAt",header:"When"},{accessorKey:"category",header:"Category"},{accessorKey:"label",header:"Label"},{accessorKey:"environment",header:"Environment"},{accessorKey:"actions",header:""}],U=I(!1),F=I(null);function R(){F.value=null,U.value=!0}function y(v){F.value=v,U.value=!0}ge(()=>$.focusMarkerId,v=>{if(v==null)return;const M=$.markers.find(V=>V.id===v);M&&y(M),x("clear-focus")},{immediate:!0});const h=I(!1),k=I(null);function T(v){k.value=v,h.value=!0}async function m(){const v=k.value;if(h.value=!1,k.value=null,!!v)try{await $fetch(`/api/markers/${v.id}`,{method:"DELETE"}),_.add({title:"Marker deleted",color:"success"}),x("changed")}catch(M){_.add({title:"Failed to delete marker",description:ts(M),color:"error"})}}return(v,M)=>{const V=ke,j=$e,f=yn,S=Ce,O=Le,D=Ie,Q=dl,N=zt,ue=Rt,fe=Dt;return n(),g(fe,{title:"Timeline markers",count:z.markers.length,icon:"i-lucide-milestone",help:"project.timeline",subtitle:"Dated events overlaid on the analytics charts"},{actions:t(()=>[z.canEdit?(n(),g(V,{key:0,label:"Add marker",icon:"i-lucide-plus",size:"sm",onClick:R})):A("",!0)]),default:t(()=>[z.markers.length===0?(n(),g(j,{key:0,icon:"i-lucide-milestone",text:"No markers yet. Add a deploy, config change, or incident to see it on the charts."})):(n(),i(G,{key:1},[s("div",ml,[(n(!0),i(G,null,ae(e(p),b=>(n(),i("div",{key:b.id,class:"rounded-lg border border-default p-3 space-y-2"},[s("div",pl,[a(f,{marker:b},null,8,["marker"]),z.canEdit?(n(),i("div",gl,[a(V,{icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"xs",onClick:w=>y(b)},null,8,["onClick"]),a(V,{icon:"i-lucide-trash-2",color:"error",variant:"ghost",size:"xs",onClick:w=>T(b)},null,8,["onClick"])])):A("",!0)]),s("div",fl,r(("prettyDateFormat"in v?v.prettyDateFormat:e(ct))(b.occurredAt)),1),b.environment?(n(),i("div",_l,[a(S,{color:"neutral",variant:"subtle",size:"xs"},{default:t(()=>[d(r(b.environment),1)]),_:2},1024)])):A("",!0),b.description?(n(),i("p",vl,r(b.description),1)):A("",!0)]))),128))]),a(D,{data:e(p),columns:c,class:"hidden md:block"},{"occurredAt-cell":t(({row:b})=>[s("div",yl,[s("div",hl,r(("prettyDateFormat"in v?v.prettyDateFormat:e(ct))(b.original.occurredAt)),1),s("div",xl,r(("formatRelativeTime"in v?v.formatRelativeTime:e(At))(b.original.occurredAt)),1)])]),"category-cell":t(({row:b})=>[a(S,{color:e(Tt)(b.original.category).color,variant:"subtle",size:"sm",class:"gap-1"},{default:t(()=>[a(O,{name:e(Tt)(b.original.category).icon,class:"size-3"},null,8,["name"]),d(" "+r(e(Tt)(b.original.category).label),1)]),_:2},1032,["color"])]),"label-cell":t(({row:b})=>[s("div",null,[s("div",bl,[d(r(b.original.label)+" ",1),b.original.source==="auto"?(n(),g(O,{key:0,name:"i-lucide-sparkles",class:"size-3 text-muted",title:"Automatically detected"})):A("",!0)]),b.original.description?(n(),i("div",kl,r(b.original.description),1)):A("",!0)])]),"environment-cell":t(({row:b})=>[b.original.environment?(n(),g(S,{key:0,color:"neutral",variant:"subtle",size:"xs"},{default:t(()=>[d(r(b.original.environment),1)]),_:2},1024)):(n(),i("span",$l,"All"))]),"actions-cell":t(({row:b})=>[z.canEdit?(n(),i("div",Cl,[a(V,{icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"sm",onClick:w=>y(b.original)},null,8,["onClick"]),a(V,{icon:"i-lucide-trash-2",color:"error",variant:"ghost",size:"sm",onClick:w=>T(b.original)},null,8,["onClick"])])):A("",!0)]),_:1},8,["data"])],64)),a(Q,{open:e(U),"onUpdate:open":M[0]||(M[0]=b=>J(U)?U.value=b:null),"project-id":z.projectId,marker:e(F),environments:z.environments,onSaved:M[1]||(M[1]=b=>x("changed"))},null,8,["open","project-id","marker","environments"]),a(ue,null,{default:t(()=>[a(N,{open:e(h),title:"Delete marker","onUpdate:open":M[3]||(M[3]=b=>h.value=b)},{body:t(()=>[s("p",null,[M[4]||(M[4]=d(" Delete marker ",-1)),e(k)?(n(),g(f,{key:0,marker:e(k),class:"inline-flex align-middle"},null,8,["marker"])):A("",!0),M[5]||(M[5]=d("? This can't be undone. ",-1))])]),footer:t(()=>[a(V,{color:"neutral",variant:"ghost",label:"Cancel",onClick:M[2]||(M[2]=b=>h.value=!1)}),a(V,{color:"error",label:"Delete",icon:"i-lucide-trash-2",onClick:m})]),_:1},8,["open"])]),_:1})]),_:1},8,["count"])}}}),jl=Object.assign(Tl,{__name:"ProjectTimeline"}),Sl={class:"flex flex-col h-full overflow-y-auto gap-4"},wl={key:0,class:"pb-0 space-y-4"},Rl={key:0,class:"text-gray-600"},Dl={key:1,class:"flex flex-wrap gap-1 mt-2"},Al={class:"flex flex-wrap items-center gap-3 mb-4"},zl={class:"inline-flex items-center gap-1"},Ul=["onClick"],Il={key:0,class:"flex items-center gap-3 px-3 py-2 mb-3 rounded-lg bg-primary-50 dark:bg-primary-900/20 border border-primary-200 dark:border-primary-800"},Ml={class:"text-sm text-primary-700 dark:text-primary-300"},Fl={key:1,class:"text-xs text-primary-500"},Pl=["checked","onClick"],El={class:"flex items-center gap-2"},Bl=["href","onClick"],Ll={key:0,class:"text-xs text-gray-500 dark:text-gray-400 truncate max-w-32"},Vl={class:"inline-flex items-center gap-1"},Nl={key:0,class:"flex items-center gap-1"},Kl={class:"text-xs text-gray-600"},Ol={key:0,class:"flex items-center gap-1 flex-wrap"},ql={key:0,class:"text-xs font-medium bg-gray-100 dark:bg-gray-800 px-1.5 py-0.5 rounded"},Hl={key:1,class:"text-xs text-gray-500"},Ql={class:"space-y-1"},Gl={class:"flex justify-end gap-2"},Xl={key:2,class:"text-center py-8 text-gray-500"},Jl={class:"text-xs text-gray-400 max-w-sm"},Wl={class:"bg-gray-100 dark:bg-gray-800 px-1 rounded"},Yl={class:"flex flex-wrap items-center gap-3"},Zl={class:"text-xl font-semibold inline-flex items-center gap-1"},er={class:"font-medium"},tr={class:"mt-1"},sr={key:0,class:"text-red-600 font-medium"},nr={key:1,class:"text-green-600 font-medium"},ar={key:2,class:"text-gray-500"},or={key:2,class:"text-center py-8 text-red-500"},lr={key:3,class:"text-center py-8 text-gray-500"},rr={class:"flex items-center justify-between"},ir={class:"text-xl font-semibold inline-flex items-center gap-1"},cr={class:"space-y-4"},ur={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},dr={key:0,class:"text-center py-4 text-gray-500"},mr={key:1,class:"space-y-4"},pr={class:"flex gap-4 text-sm"},gr={key:0,class:"text-gray-400"},fr={key:0,class:"text-gray-400"},_r={key:1,class:"text-gray-400"},vr={key:1,class:"text-gray-400"},yr={key:0,class:"text-gray-400"},hr={key:0,class:"text-gray-400"},xr={key:2,class:"text-center py-8 text-gray-500"},br={key:3,class:"text-center py-8 text-gray-500"},kr={class:"flex items-center justify-between"},$r={class:"text-sm text-gray-600 inline-flex items-center gap-1"},Cr={class:"space-y-4"},Tr={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},jr={key:0,class:"text-center py-8 text-gray-500"},Sr={key:1,class:"space-y-4"},wr={class:"space-y-2"},Rr={class:"flex flex-wrap gap-4 text-sm"},Dr={key:3,class:"text-sm text-gray-500"},Ar={class:"flex flex-wrap gap-4 text-sm"},zr={key:0,class:"text-gray-400"},Ur={key:0,class:"text-gray-400"},Ir={key:1,class:"text-gray-400"},Mr={key:1,class:"text-gray-400"},Fr={key:0,class:"text-gray-400"},Pr={key:0,class:"text-gray-400"},Er={key:2,class:"text-center py-8 text-gray-500"},Br={key:3,class:"text-center py-8 text-gray-500"},Lr={class:"flex items-center justify-between"},Vr={class:"text-sm text-gray-600 inline-flex items-center gap-1"},Nr={key:0,class:"space-y-2"},Kr={class:"font-medium text-sm"},Or={class:"text-xs text-muted flex items-center gap-2"},qr={key:0,class:"italic"},Hr={key:1,class:"text-xs text-muted italic"},Qr={key:1,class:"text-center py-8 text-muted text-sm"},Gr={class:"space-y-4"},Xr={class:"text-sm text-gray-600 dark:text-gray-400"},Jr={class:"block text-sm font-medium mb-1"},Wr={class:"bg-gray-100 dark:bg-gray-800 px-1 rounded"},ac=oe({__name:"index",async setup(z){let C,$;const x=Bs(),_=Ls(),p=x.params.id,{data:c,refresh:U}=([C,$]=he(()=>xe(`/api/projects/${p}`,"$F60FKvNOBL")),C=await C,$(),C);Vs(B(()=>({title:`${c.value?.label||c.value?.name||"Project"} — Piwi Dashboard`})));const F=Ae(),R=I(null),y=I(null),{isAdmin:h,isReporter:k}=Ot(),T=St(),m=B(()=>!T.public.authEnabled||h.value),v=m,M=I(!1),V=I(""),j=I(!1),f=B(()=>V.value===c.value?.name);async function S(){if(f.value){j.value=!0;try{await $fetch(`/api/projects/${p}`,{method:"DELETE"}),F.add({title:"Project deleted",color:"success"}),await Ks(),await _.push("/")}catch(u){const o=u&&typeof u=="object"&&"data"in u?u.data?.message:void 0;F.add({title:"Delete failed",description:o||"An error occurred",color:"error"}),j.value=!1}}}$n(U);async function O(u){y.value=null,R.value=u;try{await $fetch(`/api/test-runs/${u}`,{method:"DELETE"}),F.add({title:"Test run deleted",color:"success"}),await U()}catch(o){const L=o&&typeof o=="object"&&"data"in o?o.data?.message:void 0;F.add({title:"Delete failed",description:L||"An error occurred",color:"error"})}finally{R.value=null}}const D=I([]),Q=I([]),N=I([]),ue=B(()=>{const u=new Map(D.value.map(L=>[L.id,L])),o=[];for(const L of Q.value){if(L.role==="administrator")continue;const X=u.get(L.id);o.push({id:L.id,username:L.username,name:L.name??null,role:L.role,global:X?.global??!1,hasAccess:!!X})}for(const L of D.value)L.role==="administrator"&&o.push({...L,hasAccess:!0});return o}),fe=B(()=>{const u=D.value.filter(L=>L.role!=="administrator"&&!L.global).map(L=>L.id).sort(),o=[...N.value].sort();return JSON.stringify(u)!==JSON.stringify(o)});ge(()=>c.value?.id,async u=>{if(!(!u||!h.value))try{const[o,L]=await Promise.all([$fetch(`/api/projects/${p}/members`),$fetch("/api/users")]);D.value=o.users,Q.value=L.users,N.value=o.users.filter(X=>X.role!=="administrator"&&!X.global).map(X=>X.id)}catch{D.value=[],Q.value=[],N.value=[]}},{immediate:!0});function b(u){const o=N.value.indexOf(u);o>=0?N.value.splice(o,1):N.value.push(u)}async function w(){try{await $fetch(`/api/projects/${p}/members`,{method:"PUT",body:{userIds:N.value}}),F.add({title:"Members updated",color:"success"});const u=await $fetch(`/api/projects/${p}/members`);D.value=u.users}catch(u){const o=u&&typeof u=="object"&&"data"in u?u.data?.message:void 0;F.add({title:"Update failed",description:o||"An error occurred",color:"error"})}}const H=I("test-runs"),de=I(0),Me=["test-runs","failure-clusters","flaky-tests","performance","test-cases","compare","spec-health","ai-steps","quarantine","timeline","members"],me=x.query.tab;typeof me=="string"&&Me.includes(me)&&(H.value=me),ge(H,u=>{x.query.tab!==u&&Me.includes(u)&&_.replace({query:{...x.query,tab:u}})});const be=B(()=>c.value?.testRuns?.some(u=>u.failedTests>0)??!1),_e=B(()=>[{label:"Results",items:[{label:`Test runs (${K.value.length})`,icon:"i-lucide-play-circle",value:"test-runs",slot:"test-runs"},{label:`Test cases${Qe.value!=null?` (${Qe.value})`:""}`,icon:"i-lucide-list-checks",value:"test-cases",slot:"test-cases"},{label:"Compare",icon:"i-lucide-git-compare-arrows",value:"compare",slot:"compare"}]},{label:"Failures",items:[...be.value?[{label:"Failure clusters",icon:"i-lucide-layers",value:"failure-clusters",slot:"failure-clusters"}]:[],{label:"Flaky tests",icon:"i-lucide-shuffle",value:"flaky-tests",slot:"flaky-tests"},{label:"Quarantine",icon:"i-lucide-shield-alert",value:"quarantine",slot:"quarantine"}]},{label:"Health",items:[{label:"Spec health",icon:"i-lucide-table-2",value:"spec-health",slot:"spec-health"},{label:"AI steps",icon:"i-lucide-wand-sparkles",value:"ai-steps",slot:"ai-steps"},{label:"Performance",icon:"i-lucide-trending-up",value:"performance",slot:"performance"},{label:`Timeline${Te.value.length?` (${Te.value.length})`:""}`,icon:"i-lucide-milestone",value:"timeline",slot:"timeline"}]},...h.value?[{label:"Admin",items:[{label:"Members",icon:"i-lucide-users",value:"members",slot:"members"}]}]:[]]),Fe=B(()=>_e.value.flatMap(u=>u.items)),dt=B(()=>_e.value.map(u=>u.items).filter(u=>u.length>0)),mt=B(()=>Fe.value.find(u=>u.value===H.value)?.icon),Y=I([]),We=u=>Y.value.includes(u);function Ke(u){const o=Y.value.indexOf(u);if(o>=0)Y.value.splice(o,1);else{if(Y.value.length>=2){F.add({title:"Maximum 2 runs",description:"Select at most 2 runs to compare. Deselect one first.",color:"warning"});return}Y.value.push(u)}}const Oe=I(null);function pt(){Y.value.length===2&&(Oe.value=[Y.value[0],Y.value[1]],H.value="compare")}const ne=I([]),pe=I(!0),qe=B(()=>{const u=new Set;for(const o of c.value?.testRuns||[])o.environment&&u.add(o.environment);return[...u].sort()});function gt(u){const o=ne.value.indexOf(u);o===-1?ne.value.push(u):ne.value.splice(o,1)}function He(u){return ne.value.includes(u)}const K=B(()=>{let u=c.value?.testRuns||[];return pe.value&&(u=u.filter(o=>o.isFullRun!==!1)),ne.value.length===0?u:u.filter(o=>o.environment&&ne.value.includes(o.environment))}),P=B(()=>ne.value.length===1?ne.value[0]:void 0),{data:Z,refresh:ft}=([C,$]=he(()=>xe(`/api/projects/${p}/markers`,{default:()=>({markers:[]})},"$jubPXy8o3y")),C=await C,$(),C),Te=B(()=>Z.value?.markers??[]),Ye=B(()=>!T.public.authEnabled||h.value||k.value),Ze=B(()=>ne.value.length===0?Te.value:Te.value.filter(u=>u.environment==null||ne.value.includes(u.environment))),Pe=I(null);function je(u){Pe.value=u,H.value="timeline"}const _t=B(()=>{const u=c.value?.testRuns||[];return pe.value?u.filter(o=>o.isFullRun!==!1):u});function q(u){if(u.isFullRun!==!1)return"Full run — the complete test suite ran";const o=[],L=u.filterDetails?.grep?.trim(),X=u.filterDetails?.grepInvert?.trim(),ve=u.filterDetails?.files;return L&&L!==".*"&&o.push(`grep: ${L}`),X&&o.push(`grep-invert: ${X}`),ve?.length&&o.push(`files: ${ve.join(", ")}`),o.length?`Partial run — ${o.join(" · ")}`:"Partial run — only a filtered subset of tests ran (grep, file, or line filter)"}const le=[{accessorKey:"select",header:""},{accessorKey:"id",header:E("Run")},{accessorKey:"status",header:E("Status")},{accessorKey:"isFullRun",header:"Scope"},{id:"browsers",accessorFn:u=>u.browsers,header:""},{accessorKey:"startTime",header:E("Started")},{accessorKey:"environment",header:E("Environment")},{accessorKey:"metadata",header:"Branch / Commit"},{accessorKey:"duration",header:E("Test status / Dur.")},{accessorKey:"reports",header:"Reports"},{id:"actions",header:"Actions"}],Qe=I(null),Se=I(""),we=I(""),ns=B(()=>{const u={};return Se.value&&(u.from=Se.value),we.value&&(u.to=we.value),u}),vt=I(null),yt=I(!1),Ee=I(null),ht=I(!1),et=I(!1),as=B(()=>yt.value&&vt.value===null);ge([H,ns,pe],async([u,o])=>{if(u!=="performance")return;yt.value=!0,Ee.value||(et.value=!0);const L=new URLSearchParams(o).toString(),X=pe.value?`${L?"&":""}fullRunsOnly=true`:"",ve=L||X?`?${L}${X}`:"";vt.value=await $fetch(`/api/projects/${p}/performance${ve}`).catch(ye=>(console.warn("[PerformanceTab] Failed to fetch performance trend:",ye),null)),yt.value=!1,et.value&&(ht.value=!1,Ee.value=await $fetch(`/api/projects/${p}/slow-tests`).catch(ye=>(ht.value=!0,console.warn("[PerformanceTab] Failed to fetch slow tests:",ye),null)),et.value=!1)},{immediate:!0});const os=[{accessorKey:"title",header:E("Test case")},{accessorKey:"avgDuration",header:E("Avg duration")},{accessorKey:"maxDuration",header:E("Max")},{accessorKey:"minDuration",header:E("Min")},{accessorKey:"latestDuration",header:E("Latest")},{accessorKey:"trend",header:E("Trend")},{accessorKey:"runCount",header:E("Runs")}];function ls(u){const o=ct(u.startTime,{dateOnly:!0}),L=u.metadata?.scm?.commit?` (${u.metadata.scm.commit.substring(0,7)})`:"";return`Run #${u.id} — ${o}${L}`}const ce=B(()=>c.value?.testRuns?[...c.value.testRuns].reverse().map(u=>({label:ls(u),value:u.id})):[]),ee=I(void 0),te=I(void 0),Ut=B(()=>x.query.runA?Number(x.query.runA):null),It=B(()=>x.query.runB?Number(x.query.runB):null);ge(ce,u=>{if(Ut.value){const o=u.find(L=>L.value===Ut.value);o&&(ee.value=o)}if(It.value){const o=u.find(L=>L.value===It.value);o&&(te.value=o)}},{immediate:!0}),ge(Oe,u=>{if(u){const o=ce.value.find(X=>X.value===u[0]),L=ce.value.find(X=>X.value===u[1]);o&&(ee.value=o),L&&(te.value=L),Oe.value=null}});function Mt(){ce.value.length>=2&&(ee.value=ce.value[1],te.value=ce.value[0])}const xt=I(null),bt=I(null),tt=I(!1);async function rs(){const u=ee.value,o=te.value;if(!(!u?.value&&!o?.value)){tt.value=!0;try{const L=[];u?.value&&L.push(u.value),o?.value&&L.push(o.value);const X=await Promise.all(L.map(ye=>$fetch(`/api/test-runs/${ye}/summary`))),ve=new Map;for(const ye of X)ve.set(ye.id,ye);xt.value=u?.value?ve.get(u.value)??null:null,bt.value=o?.value?ve.get(o.value)??null:null}catch{xt.value=null,bt.value=null}finally{tt.value=!1}}}ge([ee,te],()=>{rs()});const{comparisonData:st,comparisonSummary:W}=kn(xt,bt),Ft=[{accessorKey:"title",header:E("Test case")},{accessorKey:"statusA",header:E("Status A")},{accessorKey:"statusB",header:E("Status B")},{accessorKey:"durationA",header:E("Duration A")},{accessorKey:"durationB",header:E("Duration B")},{accessorKey:"delta",header:E("Delta")},{accessorKey:"percentChange",header:E("Change")}];return(u,o)=>{const L=Ms,X=Fs,ve=Jn,ye=Qs,is=Xs,cs=Gt,us=sa,ds=ze,ms=da,Pt=en,ps=tn,Be=Xe,re=ke,gs=sn,kt=Le,fs=es,_s=nn,se=Ce,vs=an,Re=on,ys=ln,nt=Ie,hs=qs,xs=$e,Ge=Ue,bs=ba,ks=Ma,$s=Ya,$t=Ht,Et=Je,Cs=io,Ts=ut,js=xo,at=mn,Ss=pn,ws=wo,Rs=Ko,Ds=ol,As=vn,zs=jl,Us=bn,Is=Gs,Bt=zt,Lt=Rt;return n(),i(G,null,[a(Is,{id:"project-detail"},{header:t(()=>[a(is,null,{leading:t(()=>[a(L),a(X,{items:[{label:"Home",icon:"i-lucide-house",to:"/"},{label:"Projects",to:"/projects"},{label:e(c)?.label||e(c)?.name||"Project"}]},null,8,["items"])]),right:t(()=>[a(ye,{size:"sm",actions:[...e(m)?[{label:"Delete",icon:"i-lucide-trash-2",color:"error",variant:"ghost",onClick:()=>{V.value="",M.value=!0}}]:[],...e(v)?[{label:"Import",icon:"i-lucide-import",variant:"outline",to:`/projects/${e(p)}/import`}]:[],{label:"Test functions",icon:"i-lucide-function-square",variant:"outline",to:`/projects/${e(p)}/test-functions`},{label:"Edit",icon:"i-lucide-pencil",variant:"outline",to:`/projects/${e(p)}/edit`},{label:"Refresh",icon:"i-lucide-refresh-cw",variant:"outline",onClick:()=>e(U)()}]},{leading:t(()=>[a(ve,{"project-id":parseInt(e(p)),"project-label":e(c)?.label||e(c)?.name},null,8,["project-id","project-label"])]),_:1},8,["actions"])]),_:1})]),body:t(()=>[s("div",Sl,[e(c)?.description||e(c)?.tags&&e(c).tags.length>0?(n(),i("div",wl,[e(c)?.description?(n(),i("p",Rl,r(e(c).description),1)):A("",!0),e(c)?.tags&&e(c).tags.length>0?(n(),i("div",Dl,[(n(!0),i(G,null,ae(e(c).tags,l=>(n(),g(cs,{key:l.id,text:l.text,color:l.color},null,8,["text","color"]))),128))])):A("",!0)])):A("",!0),a(us,{"project-id":e(p)},null,8,["project-id"]),a(ds,{modelValue:e(H),"onUpdate:modelValue":o[0]||(o[0]=l=>J(H)?H.value=l:null),items:e(dt),icon:e(mt),size:"md",class:"w-full mx-1 mb-1 sm:hidden"},null,8,["modelValue","items","icon"]),a(Us,{modelValue:e(H),"onUpdate:modelValue":o[14]||(o[14]=l=>J(H)?H.value=l:null),items:e(Fe),size:"sm",class:"p-1",ui:{list:"max-sm:hidden overflow-x-auto",trigger:"shrink-0"}},{"test-runs":t(()=>[e(c)?.testRuns&&e(c).testRuns.length>0?(n(),g(Pt,{key:0,title:"Run trend",subtitle:`Test run statistics over time for ${e(c)?.label||e(c)?.name}`,help:"project.runs-trend"},{default:t(()=>[a(ms,{"test-runs":e(_t),height:200,markers:e(Ze),onMarkerClick:je},null,8,["test-runs","markers"])]),_:1},8,["subtitle"])):A("",!0),a(Ge,{class:"mt-4"},{default:t(()=>[s("div",Al,[s("div",zl,[a(ps,{modelValue:e(pe),"onUpdate:modelValue":o[1]||(o[1]=l=>J(pe)?pe.value=l:null),label:"Full runs only",ui:{label:"text-sm"}},null,8,["modelValue"]),a(Be,{topic:"project.run-scope"})]),e(qe).length>0?(n(),i(G,{key:0},[o[21]||(o[21]=s("span",{class:"text-sm text-muted shrink-0"},"Environment:",-1)),(n(!0),i(G,null,ae(e(qe),l=>(n(),i("button",{key:l,type:"button",class:ie(["text-xs font-medium px-2 py-1 rounded border cursor-pointer focus:outline-none transition-colors",He(l)?"bg-blue-100 text-blue-700 border-blue-300 dark:bg-blue-900/40 dark:text-blue-300 dark:border-blue-700":"bg-zinc-100 text-zinc-500 border-zinc-200 hover:bg-zinc-200 dark:bg-zinc-800 dark:text-zinc-400 dark:border-zinc-700 dark:hover:bg-zinc-700"]),onClick:De=>gt(l)},r(l),11,Ul))),128)),e(ne).length>0?(n(),g(re,{key:0,size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-x",label:"Clear filter",onClick:o[2]||(o[2]=l=>ne.value=[])})):A("",!0)],64)):A("",!0)]),e(Y).length>0?(n(),i("div",Il,[s("span",Ml,r(e(Y).length)+" run"+r(e(Y).length>1?"s":"")+" selected ",1),e(Y).length===2?(n(),g(re,{key:0,icon:"i-lucide-git-compare-arrows",size:"sm",color:"primary",label:"Compare selected runs",onClick:pt})):(n(),i("span",Fl," Select another run to compare ")),a(re,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-x",label:"Clear",onClick:o[3]||(o[3]=l=>Y.value=[])})])):A("",!0),e(K).length>0?(n(),g(nt,{key:1,data:e(K),columns:le,ui:{base:"table-fixed border-separate border-spacing-0",thead:"[&>tr]:bg-elevated/50 [&>tr]:after:content-none",tbody:"[&>tr]:last:[&>td]:border-b-0",th:"first:rounded-l-lg last:rounded-r-lg border-y border-default first:border-l last:border-r",td:"border-b border-default"}},{"select-cell":t(({row:l})=>[s("input",{type:"checkbox",checked:We(l.original.id),class:"cursor-pointer size-4 accent-primary",onClick:Kt(De=>Ke(l.original.id),["stop"])},null,8,Pl)]),"id-cell":t(({row:l})=>[s("div",El,[s("a",{href:`/test-runs/${l.original.id}`,class:"text-primary hover:underline font-medium",onClick:Kt(De=>("navigateTo"in u?u.navigateTo:e(wt))(`/test-runs/${l.original.id}`),["prevent"])}," Run #"+r(l.original.id),9,Bl),l.original.label?(n(),i("span",Ll,r(l.original.label),1)):A("",!0)])]),"status-cell":t(({row:l})=>[a(gs,{status:l.original.status},null,8,["status"])]),"isFullRun-header":t(()=>[s("span",Vl,[o[22]||(o[22]=d("Scope ",-1)),a(Be,{topic:"run.partial"})])]),"isFullRun-cell":t(({row:l})=>[a(fs,{text:q(l.original)},{default:t(()=>[a(kt,{name:l.original.isFullRun===!1?"i-lucide-list-filter":"i-lucide-list-checks",class:ie(["size-4 shrink-0 cursor-help",l.original.isFullRun===!1?"text-amber-500":"text-green-500"])},null,8,["name","class"])]),_:2},1032,["text"])]),"browsers-cell":t(({row:l})=>[l.original.browsers?.length?(n(),i("div",Nl,[(n(!0),i(G,null,ae(l.original.browsers,De=>(n(),g(_s,{key:De,browser:{projectName:De},size:"sm"},null,8,["browser"]))),128))])):A("",!0)]),"startTime-cell":t(({row:l})=>[s("span",Kl,r(("prettyDateFormat"in u?u.prettyDateFormat:e(ct))(l.original.startTime)),1)]),"environment-cell":t(({row:l})=>[l.original.environment?(n(),g(se,{key:0,color:"info",variant:"subtle",size:"sm"},{default:t(()=>[d(r(l.original.environment),1)]),_:2},1024)):A("",!0)]),"metadata-cell":t(({row:l})=>[l.original.metadata?.scm?(n(),i("div",Ol,[l.original.metadata.scm.branch?(n(),i("span",ql,r(l.original.metadata.scm.branch),1)):A("",!0),l.original.metadata.scm.commit?(n(),i("code",Hl,r(l.original.metadata.scm.commit.substring(0,7)),1)):A("",!0)])):A("",!0)]),"duration-cell":t(({row:l})=>[s("div",Ql,[a(vs,{passed:l.original.passedTests,failed:l.original.failedTests,skipped:l.original.skippedTests,flaky:l.original.flakyTests,"did-not-run":l.original.didNotRunTests??0,total:l.original.totalTests},null,8,["passed","failed","skipped","flaky","did-not-run","total"]),a(Re,{ms:l.original.duration,class:"text-xs text-gray-500"},null,8,["ms"])])]),"reports-cell":t(({row:l})=>[a(ys,{reports:l.original.reports},null,8,["reports"])]),"actions-header":t(()=>[...o[23]||(o[23]=[s("div",{class:"text-right"},"Actions",-1)])]),"actions-cell":t(({row:l})=>[s("div",Gl,[a(re,{to:`/test-runs/${l.original.id}`,size:"sm",variant:"outline"},{default:t(()=>[...o[24]||(o[24]=[d(" View ",-1)])]),_:1},8,["to"]),a(re,{size:"sm",color:"error",variant:"soft",icon:"i-lucide-trash-2",loading:e(R)===l.original.id,onClick:De=>y.value=l.original.id},{default:t(()=>[...o[25]||(o[25]=[d(" Delete ",-1)])]),_:1},8,["loading","onClick"])])]),_:1},8,["data"])):e(c)?.testRuns&&e(c).testRuns.length>0?(n(),i("div",Xl," No test runs match the selected environment filter. ")):(n(),g(xs,{key:3,icon:"i-lucide-rocket",text:"No test runs yet for this project."},{default:t(()=>[s("p",Jl,[o[27]||(o[27]=d(" Point the reporter's ",-1)),o[28]||(o[28]=s("code",{class:"bg-gray-100 dark:bg-gray-800 px-1 rounded"},"projectName",-1)),o[29]||(o[29]=d(" at ",-1)),s("code",Wl,r(e(c)?.name),1),o[30]||(o[30]=d(" to send results here — see the ",-1)),a(hs,{to:"reporter","no-icon":"",class:"text-primary hover:underline"},{default:t(()=>[...o[26]||(o[26]=[d("reporter docs",-1)])]),_:1}),o[31]||(o[31]=d(" for setup instructions. ",-1))])]),_:1}))]),_:1})]),"failure-clusters":t(()=>[e(H)==="failure-clusters"?(n(),i(G,{key:0},[(n(),g(bs,{key:`sug-${e(de)}`,"project-id":String(e(p)),onMerged:o[4]||(o[4]=l=>de.value++)},null,8,["project-id"])),(n(),g(ks,{key:e(de),"project-id":String(e(p))},null,8,["project-id"]))],64)):A("",!0)]),"flaky-tests":t(()=>[e(H)==="flaky-tests"?(n(),g($s,{key:0,"project-id":String(e(p)),environment:e(P),"project-name":e(c)?.name},null,8,["project-id","environment","project-name"])):A("",!0)]),performance:t(()=>[s("div",Yl,[o[32]||(o[32]=s("span",{class:"text-sm text-muted shrink-0"},"Date range:",-1)),a($t,{modelValue:e(Se),"onUpdate:modelValue":o[5]||(o[5]=l=>J(Se)?Se.value=l:null),type:"date",size:"sm",placeholder:"From",class:"w-40"},null,8,["modelValue"]),o[33]||(o[33]=s("span",{class:"text-sm text-muted"},"to",-1)),a($t,{modelValue:e(we),"onUpdate:modelValue":o[6]||(o[6]=l=>J(we)?we.value=l:null),type:"date",size:"sm",placeholder:"To",class:"w-40"},null,8,["modelValue"]),e(Se)||e(we)?(n(),g(re,{key:0,size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-x",label:"Clear",onClick:o[7]||(o[7]=l=>{Se.value="",we.value=""})})):A("",!0)]),a(Pt,{title:"Performance trend",subtitle:"Duration metrics over time",help:"project.performance","data-shot":"performance-trend"},{default:t(()=>[e(as)?(n(),g(Et,{key:0,text:"Loading chart…"})):(n(),g(Cs,{key:1,data:e(vt)||[],height:350,markers:e(Ze),onMarkerClick:je},null,8,["data","markers"]))]),_:1}),a(Ge,{"data-shot":"slowest-tests"},{header:t(()=>[s("h2",Zl,[o[34]||(o[34]=d(" Slowest tests ",-1)),a(Be,{topic:"project.slowest-tests"})]),o[35]||(o[35]=s("p",{class:"text-sm text-gray-600 mt-1"},"Top 20 slowest test cases across recent runs",-1))]),default:t(()=>[e(et)&&e(Ee)===null?(n(),g(Et,{key:0,text:"Loading…"})):e(Ee)&&e(Ee).length>0?(n(),g(nt,{key:1,data:e(Ee),columns:os,ui:{base:"table-fixed border-separate border-spacing-0",thead:"[&>tr]:bg-elevated/50 [&>tr]:after:content-none",tbody:"[&>tr]:last:[&>td]:border-b-0",th:"first:rounded-l-lg last:rounded-r-lg border-y border-default first:border-l last:border-r",td:"border-b border-default"}},{"title-cell":t(({row:l})=>[s("div",null,[s("div",er,r(l.original.title),1),s("div",tr,[a(Ts,{"file-path":l.original.filePath,"project-key":e(p),"project-name":e(c)?.name,class:"text-xs"},null,8,["file-path","project-key","project-name"])])])]),"trend-cell":t(({row:l})=>[l.original.trend==="slower"?(n(),i("span",sr,"▲ Slower")):l.original.trend==="faster"?(n(),i("span",nr,"▼ Faster")):(n(),i("span",ar,"— Stable"))]),_:1},8,["data"])):e(ht)?(n(),i("div",or," Couldn't load the slowest tests — try refreshing. ")):(n(),i("div",lr,"No slow test data available yet."))]),_:1}),a(js,{"project-id":String(e(p)),"project-name":e(c)?.name},null,8,["project-id","project-name"]),a(Ge,null,{header:t(()=>[s("div",rr,[s("div",null,[s("h2",ir,[o[36]||(o[36]=d(" Run comparison ",-1)),a(Be,{topic:"project.run-compare"})]),o[37]||(o[37]=s("p",{class:"text-sm text-gray-600 mt-1"},"Compare duration changes between two runs",-1))]),e(ce).length>=2?(n(),g(re,{key:0,icon:"i-lucide-git-compare-arrows",size:"sm",variant:"outline",label:"Compare latest vs previous",onClick:Mt})):A("",!0)])]),default:t(()=>[s("div",cr,[s("div",ur,[s("div",null,[o[38]||(o[38]=s("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Run A (baseline)",-1)),a(at,{modelValue:e(ee),"onUpdate:modelValue":o[8]||(o[8]=l=>J(ee)?ee.value=l:null),items:e(ce),placeholder:"Select run A..."},null,8,["modelValue","items"])]),s("div",null,[o[39]||(o[39]=s("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Run B (comparison)",-1)),a(at,{modelValue:e(te),"onUpdate:modelValue":o[9]||(o[9]=l=>J(te)?te.value=l:null),items:e(ce),placeholder:"Select run B..."},null,8,["modelValue","items"])])]),e(tt)?(n(),i("div",dr,[a(kt,{name:"i-lucide-loader-2",class:"animate-spin mr-2"}),o[40]||(o[40]=d(" Loading run data… ",-1))])):e(ee)&&e(te)&&e(st).length>0?(n(),i("div",mr,[s("div",pr,[a(se,{color:"success",variant:"soft",size:"lg"},{default:t(()=>[d(r(e(W).improved)+" improved",1)]),_:1}),a(se,{color:"error",variant:"soft",size:"lg"},{default:t(()=>[d(r(e(W).regressed)+" regressed",1)]),_:1}),a(se,{color:"neutral",variant:"soft",size:"lg"},{default:t(()=>[d(r(e(W).unchanged)+" unchanged",1)]),_:1})]),a(nt,{data:e(st),columns:Ft,ui:{base:"table-fixed border-separate border-spacing-0",thead:"[&>tr]:bg-elevated/50 [&>tr]:after:content-none",tbody:"[&>tr]:last:[&>td]:border-b-0",th:"first:rounded-l-lg last:rounded-r-lg border-y border-default first:border-l last:border-r",td:"border-b border-default"}},{"statusA-cell":t(({row:l})=>[l.original.statusA?(n(),g(se,{key:1,color:("getStatusColor"in u?u.getStatusColor:e(ot))(l.original.statusA),variant:"subtle",class:"capitalize"},{default:t(()=>[d(r(l.original.statusA),1)]),_:2},1032,["color"])):(n(),i("span",gr,"—"))]),"statusB-cell":t(({row:l})=>[l.original.statusB?(n(),g(se,{key:1,color:("getStatusColor"in u?u.getStatusColor:e(ot))(l.original.statusB),variant:"subtle",class:"capitalize"},{default:t(()=>[d(r(l.original.statusB),1)]),_:2},1032,["color"])):(n(),i("span",fr,"—"))]),"durationA-cell":t(({row:l})=>[l.original.durationA!==null?(n(),g(Re,{key:0,ms:l.original.durationA},null,8,["ms"])):(n(),i("span",_r,"—"))]),"durationB-cell":t(({row:l})=>[l.original.durationB!==null?(n(),g(Re,{key:0,ms:l.original.durationB},null,8,["ms"])):(n(),i("span",vr,"—"))]),"delta-cell":t(({row:l})=>[l.original.delta===null?(n(),i("span",yr,"—")):(n(),i("span",{key:1,class:ie(l.original.delta>0?"text-red-600":l.original.delta<0?"text-green-600":"text-gray-500")},[d(r(l.original.delta>0?"+":""),1),a(Re,{ms:l.original.delta,"unit-class":"opacity-60"},null,8,["ms"])],2))]),"percentChange-cell":t(({row:l})=>[l.original.percentChange===null?(n(),i("span",hr,"—")):(n(),i("span",{key:1,class:ie(l.original.percentChange>10?"text-red-600 font-medium":l.original.percentChange<-10?"text-green-600 font-medium":"text-gray-500")},r(l.original.percentChange>0?"+":"")+r(l.original.percentChange)+"% ",3))]),_:1},8,["data"])])):!e(ee)||!e(te)?(n(),i("div",xr," Select two runs to compare their performance. ")):(n(),i("div",br," No overlapping test cases found between the selected runs. "))])]),_:1})]),"test-cases":t(()=>[a(Ss,{"project-id":e(p),"project-name":e(c)?.name,"sync-query":"",onTotal:o[10]||(o[10]=l=>Qe.value=l)},null,8,["project-id","project-name"])]),compare:t(()=>[a(Ge,null,{header:t(()=>[s("div",kr,[s("p",$r,[o[41]||(o[41]=d(" Compare two test runs side-by-side — status changes and duration deltas ",-1)),a(Be,{topic:"project.compare"})]),e(ce).length>=2?(n(),g(re,{key:0,icon:"i-lucide-git-compare-arrows",size:"sm",variant:"outline",label:"Latest vs previous",onClick:Mt})):A("",!0)])]),default:t(()=>[s("div",Cr,[s("div",Tr,[s("div",null,[o[42]||(o[42]=s("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Run A (baseline)",-1)),a(at,{modelValue:e(ee),"onUpdate:modelValue":o[11]||(o[11]=l=>J(ee)?ee.value=l:null),items:e(ce),placeholder:"Select run A..."},null,8,["modelValue","items"])]),s("div",null,[o[43]||(o[43]=s("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Run B (comparison)",-1)),a(at,{modelValue:e(te),"onUpdate:modelValue":o[12]||(o[12]=l=>J(te)?te.value=l:null),items:e(ce),placeholder:"Select run B..."},null,8,["modelValue","items"])])]),e(tt)?(n(),i("div",jr,[a(kt,{name:"i-lucide-loader-2",class:"animate-spin mr-2"}),o[44]||(o[44]=d(" Loading run data… ",-1))])):e(ee)&&e(te)&&e(st).length>0?(n(),i("div",Sr,[s("div",wr,[s("div",Rr,[o[45]||(o[45]=s("span",{class:"text-xs font-semibold text-gray-500 uppercase tracking-wider mr-1"},"Status changes",-1)),e(W).newFailures>0?(n(),g(se,{key:0,color:"error",variant:"soft",size:"lg"},{default:t(()=>[d(r(e(W).newFailures)+" new failure"+r(e(W).newFailures>1?"s":""),1)]),_:1})):A("",!0),e(W).recovered>0?(n(),g(se,{key:1,color:"success",variant:"soft",size:"lg"},{default:t(()=>[d(r(e(W).recovered)+" recovered ",1)]),_:1})):A("",!0),e(W).stillFailing>0?(n(),g(se,{key:2,color:"warning",variant:"soft",size:"lg"},{default:t(()=>[d(r(e(W).stillFailing)+" still failing ",1)]),_:1})):A("",!0),e(W).newFailures===0&&e(W).recovered===0&&e(W).stillFailing===0?(n(),i("span",Dr,"No status changes")):A("",!0)]),s("div",Ar,[o[46]||(o[46]=s("span",{class:"text-xs font-semibold text-gray-500 uppercase tracking-wider mr-1"},"Duration changes",-1)),e(W).regressed>0?(n(),g(se,{key:0,color:"error",variant:"soft",size:"lg"},{default:t(()=>[d(r(e(W).regressed)+" regressed ",1)]),_:1})):A("",!0),e(W).improved>0?(n(),g(se,{key:1,color:"success",variant:"soft",size:"lg"},{default:t(()=>[d(r(e(W).improved)+" improved ",1)]),_:1})):A("",!0),a(se,{color:"neutral",variant:"soft",size:"lg"},{default:t(()=>[d(r(e(W).unchanged)+" unchanged ",1)]),_:1})])]),a(nt,{data:e(st),columns:Ft,ui:{base:"table-fixed border-separate border-spacing-0",thead:"[&>tr]:bg-elevated/50 [&>tr]:after:content-none",tbody:"[&>tr]:last:[&>td]:border-b-0",th:"first:rounded-l-lg last:rounded-r-lg border-y border-default first:border-l last:border-r",td:"border-b border-default"}},{"statusA-cell":t(({row:l})=>[l.original.statusA?(n(),g(se,{key:1,color:("getStatusColor"in u?u.getStatusColor:e(ot))(l.original.statusA),variant:"subtle",class:"capitalize"},{default:t(()=>[d(r(l.original.statusA),1)]),_:2},1032,["color"])):(n(),i("span",zr,"—"))]),"statusB-cell":t(({row:l})=>[l.original.statusB?(n(),g(se,{key:1,color:("getStatusColor"in u?u.getStatusColor:e(ot))(l.original.statusB),variant:"subtle",class:"capitalize"},{default:t(()=>[d(r(l.original.statusB),1)]),_:2},1032,["color"])):(n(),i("span",Ur,"—"))]),"durationA-cell":t(({row:l})=>[l.original.durationA!==null?(n(),g(Re,{key:0,ms:l.original.durationA},null,8,["ms"])):(n(),i("span",Ir,"—"))]),"durationB-cell":t(({row:l})=>[l.original.durationB!==null?(n(),g(Re,{key:0,ms:l.original.durationB},null,8,["ms"])):(n(),i("span",Mr,"—"))]),"delta-cell":t(({row:l})=>[l.original.delta===null?(n(),i("span",Fr,"—")):(n(),i("span",{key:1,class:ie(l.original.delta>0?"text-red-600":l.original.delta<0?"text-green-600":"text-gray-500")},[d(r(l.original.delta>0?"+":""),1),a(Re,{ms:l.original.delta,"unit-class":"opacity-60"},null,8,["ms"])],2))]),"percentChange-cell":t(({row:l})=>[l.original.percentChange===null?(n(),i("span",Pr,"—")):(n(),i("span",{key:1,class:ie(l.original.percentChange>10?"text-red-600 font-medium":l.original.percentChange<-10?"text-green-600 font-medium":"text-gray-500")},r(l.original.percentChange>0?"+":"")+r(l.original.percentChange)+"% ",3))]),_:1},8,["data"])])):!e(ee)||!e(te)?(n(),i("div",Er," Select two runs to compare test results. ")):(n(),i("div",Br," No overlapping test cases found between the selected runs. "))])]),_:1})]),"spec-health":t(()=>[a(ws,{"project-id":String(e(p))},null,8,["project-id"])]),"ai-steps":t(()=>[a(Rs,{"project-id":String(e(p))},null,8,["project-id"])]),quarantine:t(()=>[a(Ds,{"project-id":String(e(p)),"project-name":e(c)?.name},null,8,["project-id","project-name"])]),members:t(()=>[a(Ge,null,{header:t(()=>[s("div",Lr,[s("p",Vr,[o[47]||(o[47]=d(" Users with access to this project ",-1)),a(Be,{topic:"project.members"})]),a(re,{label:"Save changes",icon:"i-lucide-check",size:"sm",disabled:!e(fe),onClick:w},null,8,["disabled"])])]),default:t(()=>[e(ue).length>0?(n(),i("div",Nr,[(n(!0),i(G,null,ae(e(ue),l=>(n(),i("div",{key:l.id,class:"flex items-center justify-between rounded-lg border border-default px-4 py-3"},[s("div",null,[s("div",Kr,r(l.name||l.username),1),s("div",Or,[s("span",null,"@"+r(l.username),1),a(se,{color:l.role==="administrator"?"primary":l.role==="reporter"?"info":"neutral",variant:"subtle",size:"xs"},{default:t(()=>[d(r(l.role),1)]),_:2},1032,["color"]),l.global?(n(),i("span",qr,"Global access")):A("",!0)])]),l.role!=="administrator"?(n(),g(As,{key:0,"model-value":e(N).includes(l.id),disabled:l.global,title:l.global?"Has global access — remove global assignment first":"",onChange:De=>b(l.id)},null,8,["model-value","disabled","title","onChange"])):(n(),i("span",Hr,"Admin"))]))),128))])):(n(),i("div",Qr,"Loading members…"))]),_:1})]),timeline:t(()=>[a(zs,{"project-id":Number(e(p)),markers:e(Te),environments:e(qe),"can-edit":e(Ye),"focus-marker-id":e(Pe),onChanged:e(ft),onClearFocus:o[13]||(o[13]=l=>Pe.value=null)},null,8,["project-id","markers","environments","can-edit","focus-marker-id","onChanged"])]),_:1},8,["modelValue","items"])])]),_:1}),a(Lt,null,{default:t(()=>[a(Bt,{open:e(M),title:"Delete project","onUpdate:open":o[17]||(o[17]=l=>{l||(M.value=!1)})},{body:t(()=>[s("div",Gr,[s("p",Xr,[o[48]||(o[48]=d(" This will permanently delete ",-1)),s("strong",null,r(e(c)?.label||e(c)?.name),1),o[49]||(o[49]=d(" and all its test runs, reports, traces, and failure clusters. This action cannot be undone. ",-1))]),s("div",null,[s("label",Jr,[o[50]||(o[50]=d(" Type the project key ",-1)),s("code",Wr,r(e(c)?.name),1),o[51]||(o[51]=d(" to confirm: ",-1))]),a($t,{modelValue:e(V),"onUpdate:modelValue":o[15]||(o[15]=l=>J(V)?V.value=l:null),placeholder:e(c)?.name,autofocus:"",onKeydown:Ns(S,["enter"])},null,8,["modelValue","placeholder"])])])]),footer:t(()=>[a(re,{color:"neutral",variant:"ghost",label:"Cancel",onClick:o[16]||(o[16]=l=>M.value=!1)}),a(re,{color:"error",label:"Delete project",icon:"i-lucide-trash-2",disabled:!e(f),loading:e(j),onClick:S},null,8,["disabled","loading"])]),_:1},8,["open"])]),_:1}),a(Lt,null,{default:t(()=>[a(Bt,{open:e(y)!==null,title:"Delete test run","onUpdate:open":o[20]||(o[20]=l=>{l||(y.value=null)})},{body:t(()=>[s("p",null,[o[52]||(o[52]=d(" Are you sure you want to delete ",-1)),s("strong",null,"Run #"+r(e(y)),1),o[53]||(o[53]=d("? This will also remove all associated test results, reports, and traces. This action cannot be undone. ",-1))])]),footer:t(()=>[a(re,{color:"neutral",variant:"ghost",label:"Cancel",onClick:o[18]||(o[18]=l=>y.value=null)}),a(re,{color:"error",label:"Delete",icon:"i-lucide-trash-2",loading:e(R)===e(y),onClick:o[19]||(o[19]=l=>O(e(y)))},null,8,["loading"])]),_:1},8,["open"])]),_:1})],64)}}});export{ac as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as p,o as s,c as u,h as n,_ as f,g as e,t as a,f as c,k as l,j as x,e as g,l as y,V as k,i as b}from"./BzBaMPgu.js";import{a as B}from"./qeqzb80l.js";const v={class:"text-sm font-medium text-gray-600 dark:text-gray-300"},V={class:"text-sm max-w-md"},h={class:"flex items-center gap-3 mt-1"},z=p({__name:"FeatureUnavailable",props:{title:{},text:{},icon:{default:"i-lucide-plug-zap"},doc:{},to:{default:"/setup"},toLabel:{default:"How to enable"},padded:{type:Boolean,default:!0}},setup(i){const t=i;return(r,o)=>{const d=f,_=x,m=B;return s(),u("div",{class:b(["flex flex-col items-center justify-center gap-2 text-center text-gray-500",t.padded&&"py-8"])},[n(d,{name:t.icon,class:"size-6 opacity-60"},null,8,["name"]),e("p",v,a(t.title),1),e("p",V,a(t.text),1),e("div",h,[n(_,{to:t.to,size:"xs",variant:"soft",icon:"i-lucide-rocket"},{default:c(()=>[l(a(t.toLabel),1)]),_:1},8,["to"]),t.doc?(s(),g(m,{key:0,to:t.doc,class:"text-sm"},{default:c(()=>[...o[0]||(o[0]=[l("Docs",-1)])]),_:1},8,["to"])):y("",!0)]),k(r.$slots,"default")],2)}}}),U=Object.assign(z,{__name:"FeatureUnavailable"});export{U as _};
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{_ as Pe}from"./D5Mhpp98.js";import{_ as Oe}from"./Ds8_6Fzl.js";import{_ as _e,a as He,b as qe,c as Ke,d as Ge,e as We,f as Je,g as ke,u as Qe,h as Ze,i as Xe,j as Ye,k as et,l as tt,m as st}from"./BYWQ47QQ.js";import{d as Y,o as s,e as S,f as p,g as t,h as r,c as l,t as o,l as u,m as ue,b as e,k as $,_ as ae,H as be,F as B,z as Q,j as ce,v as D,I as nt,i as X,J as at,r as g,a as oe,C as ot,x as J,G as $e,K as lt,L as rt,D as fe,M as it,q as ct,u as ut,w as dt,s as mt,N as ft}from"./BzBaMPgu.js";import{_ as Ce}from"./BSKLNgre.js";import{_ as pt,a as gt}from"./CdLqOMvN.js";import{_ as ge}from"./qeqzb80l.js";import{_ as xt}from"./BvXrhZ8k.js";import{_ as vt}from"./D_j436ND.js";import{_ as we}from"./Die1200X.js";import{_ as ht,a as yt,i as _t,b as kt,s as ve,c as bt}from"./RSS6R9Te.js";import{c as he,f as ie,a as $t,b as Ct,d as wt,g as Se,s as pe,e as de,r as ye,h as St}from"./CdM2qNYM.js";import{_ as xe}from"./BMfTUMYy.js";import{_ as Tt}from"./DH_LEqhd.js";import{_ as jt}from"./Dq6_-84R.js";import{_ as It}from"./BUYmGTVP.js";import{_ as Rt}from"./Hp-_W7z4.js";import{_ as zt}from"./DUtYU4Sb.js";import{_ as Te}from"./BbXvpkBp.js";import{u as Ut,p as Vt,_ as At}from"./Cvw4EFTy.js";import{b as Et}from"./7vRR5W2L.js";import{a as Mt,u as Lt}from"./CDEmotIt.js";import"./DWz_bHNP.js";import"./BTCWUyBX.js";import"./CPiLUjjx.js";import"./E26Y1NWH.js";import"./Db5xe__T.js";import"./Cmuwgbf4.js";import"./D-c8ZSws.js";import"./kDEwM7SQ.js";import"./BcHU1KNK.js";import"./BFVrl1ss.js";import"./CnRNwiuE.js";import"./DDho3MJD.js";import"./Bg8yOdSf.js";import"./CTYlay1H.js";import"./C8uZoJVq.js";import"./WCZdf9Ln.js";import"./Boyv6hLW.js";import"./vOZZ2cLi.js";import"./BPQNVV4M.js";import"./BOrnSpTA.js";import"./zAFiz2Mg.js";import"./DWl73MJR.js";const Nt={class:"flex items-center gap-3 flex-1 min-w-0 justify-between"},Ft={class:"flex items-center gap-3 min-w-0"},Bt={class:"font-mono text-sm truncate text-gray-600 dark:text-gray-400 min-w-0"},Dt={class:"flex items-center gap-3 shrink-0 max-sm:hidden"},Pt={class:"text-xs text-gray-500 tabular-nums whitespace-nowrap"},Ot={class:"text-xs text-gray-500 tabular-nums whitespace-nowrap"},Ht={key:1,class:"text-xs text-gray-400 whitespace-nowrap"},qt={class:"grid grid-cols-1 lg:grid-cols-12 gap-4"},Kt={class:"lg:col-span-9"},Gt={class:"space-y-3"},Wt={key:0,class:"text-sm font-medium break-words text-gray-500 dark:text-gray-400"},Jt={class:"flex flex-wrap gap-2"},Qt={class:"text-sm text-gray-500"},Zt={key:1,class:"rounded-md border border-default p-3 space-y-1.5"},Xt={class:"flex items-center gap-2 flex-wrap"},Yt={key:0,class:"text-xs text-gray-500"},es={class:"text-xs text-gray-500"},ts={class:"text-sm text-gray-500"},ss={class:"font-mono text-xs"},ns={class:"flex items-start gap-3"},as={class:"flex flex-col gap-1 shrink-0"},os={class:"flex-1 min-w-0 space-y-1.5"},ls={class:"flex justify-end"},rs=Y({__name:"ClusterSummary",props:{cluster:{},triageStatus:{},triageNote:{},triageSaving:{type:Boolean},triageChanged:{type:Boolean}},emits:["update:triageStatus","update:triageNote","save-triage"],setup(a,{emit:I}){const m=a,C=I,d=D(()=>wt(m.cluster.fixVerification)),w=[{label:"Open",value:"open",color:"warning"},{label:"Resolved",value:"resolved",color:"success"},{label:"Ignored",value:"ignored",color:"neutral"}];return(n,c)=>{const _=ue,z=ae,E=ge,R=be,T=xt,y=vt,j=ce,x=we,M=ht;return s(),S(M,{"storage-key":"failure-cluster"},{folded:p(()=>[t("div",Nt,[t("div",Ft,[r(_,{color:("clusterStatusColor"in n?n.clusterStatusColor:e(Ct))(a.cluster.status),variant:"solid",size:"sm",class:"shrink-0 capitalize"},{default:p(()=>[$(o(a.cluster.status),1)]),_:1},8,["color"]),t("span",Bt,o(a.cluster.signature),1),a.cluster.errorType?(s(),S(_,{key:0,color:("clusterErrorTypeColor"in n?n.clusterErrorTypeColor:e(he))(a.cluster.errorType),variant:"subtle",size:"sm"},{default:p(()=>[$(o(a.cluster.errorType),1)]),_:1},8,["color"])):u("",!0),e(d)?(s(),S(_,{key:1,color:e(d).color,variant:"subtle",size:"sm",class:"gap-1 shrink-0"},{default:p(()=>[r(z,{name:e(d).icon,class:"size-3"},null,8,["name"]),$(" "+o(e(d).label),1)]),_:1},8,["color"])):u("",!0)]),t("div",Dt,[t("span",Pt,o(a.cluster.occurrences)+" occurrence"+o(a.cluster.occurrences===1?"":"s"),1),t("span",Ot,o(a.cluster.affectedTests)+" "+o(a.cluster.affectedTests===1?"test":"tests"),1),a.cluster.diagnosis?.status==="completed"&&a.cluster.diagnosis?.category?(s(),S(_,{key:0,color:"neutral",variant:"outline",size:"sm",class:"gap-1 whitespace-nowrap"},{default:p(()=>[r(z,{name:"i-lucide-sparkles",class:"size-3"}),$(" "+o(a.cluster.diagnosis.category),1)]),_:1})):u("",!0),a.cluster.lastSeenAt?(s(),l("span",Ht," last seen "+o(("formatRelativeTime"in n?n.formatRelativeTime:e(ie))(a.cluster.lastSeenAt)),1)):u("",!0)])])]),default:p(()=>[t("div",qt,[t("div",Kt,[r(y,{title:a.cluster.signature},{default:p(()=>[t("div",Gt,[a.cluster.title?(s(),l("p",Wt,o(a.cluster.title),1)):u("",!0),t("div",Jt,[a.cluster.errorType?(s(),S(_,{key:0,color:("clusterErrorTypeColor"in n?n.clusterErrorTypeColor:e(he))(a.cluster.errorType),variant:"subtle"},{default:p(()=>[$(o(a.cluster.errorType),1)]),_:1},8,["color"])):u("",!0),r(_,{color:"neutral",variant:"subtle"},{default:p(()=>[$(o(a.cluster.occurrences)+" occurrence"+o(a.cluster.occurrences===1?"":"s"),1)]),_:1}),r(_,{color:"neutral",variant:"subtle"},{default:p(()=>[$(o(a.cluster.affectedTests)+" "+o(a.cluster.affectedTests===1?"test":"tests")+" affected ",1)]),_:1}),a.cluster.diagnosis?.status==="completed"&&a.cluster.diagnosis?.category?(s(),S(_,{key:1,color:"neutral",variant:"outline",class:"gap-1"},{default:p(()=>[r(z,{name:"i-lucide-sparkles",class:"size-3"}),$(" "+o(a.cluster.diagnosis.category),1)]),_:1})):u("",!0),r(E,{topic:"cluster.concept"})]),t("p",Qt,[c[2]||(c[2]=$(" First seen in ",-1)),r(R,{to:`/test-runs/${a.cluster.firstSeenRunId}`,class:"text-primary hover:underline"},{default:p(()=>[$(" run #"+o(a.cluster.firstSeenRunId),1)]),_:1},8,["to"]),a.cluster.firstSeenAt?(s(),l(B,{key:0},[$(" ("+o(("formatRelativeTime"in n?n.formatRelativeTime:e(ie))(a.cluster.firstSeenAt))+") ",1)],64)):u("",!0),c[3]||(c[3]=$(" · Last seen in ",-1)),r(R,{to:`/test-runs/${a.cluster.lastSeenRunId}`,class:"text-primary hover:underline"},{default:p(()=>[$(" run #"+o(a.cluster.lastSeenRunId),1)]),_:1},8,["to"]),a.cluster.lastSeenAt?(s(),l(B,{key:1},[$(" ("+o(("formatRelativeTime"in n?n.formatRelativeTime:e(ie))(a.cluster.lastSeenAt))+") ",1)],64)):u("",!0),a.cluster.lastSeenRunStatus?(s(),S(T,{key:2,status:a.cluster.lastSeenRunStatus,size:"sm",class:"ml-1 align-middle"},null,8,["status"])):u("",!0)]),e(d)?(s(),l("div",Zt,[t("div",Xt,[r(_,{color:e(d).color,variant:"subtle",class:"gap-1"},{default:p(()=>[r(z,{name:e(d).icon,class:"size-3"},null,8,["name"]),$(" "+o(e(d).label),1)]),_:1},8,["color"]),a.cluster.timeToResolutionMs!=null?(s(),l("span",Yt," open for "+o(("formatLongDuration"in n?n.formatLongDuration:e($t))(a.cluster.timeToResolutionMs)),1)):u("",!0),r(E,{topic:"cluster.resolution"})]),t("p",es,o(e(d).hint),1),t("p",ts,[a.cluster.fixLandedRunId?(s(),l(B,{key:0},[c[4]||(c[4]=$(" Fix landed in ",-1)),r(R,{to:`/test-runs/${a.cluster.fixLandedRunId}`,class:"text-primary hover:underline"},{default:p(()=>[$(" run #"+o(a.cluster.fixLandedRunId),1)]),_:1},8,["to"])],64)):u("",!0),a.cluster.fixLandedAt?(s(),l(B,{key:1},[$(" ("+o(("formatRelativeTime"in n?n.formatRelativeTime:e(ie))(a.cluster.fixLandedAt))+")",1)],64)):u("",!0),a.cluster.fixCommit?(s(),l(B,{key:2},[c[5]||(c[5]=$(" · commit ",-1)),t("code",ss,o(a.cluster.fixCommit.slice(0,8)),1)],64)):u("",!0)])])):u("",!0)])]),_:1},8,["title"])]),r(y,{class:"lg:col-span-3",icon:"i-lucide-triangle-alert","icon-class":"text-amber-500",title:"Triage",help:"cluster.triage"},{default:p(()=>[t("div",ns,[t("div",as,[(s(),l(B,null,Q(w,N=>r(j,{key:N.value,size:"xs",class:"justify-start",color:a.triageStatus===N.value?N.color:"neutral",variant:a.triageStatus===N.value?"solid":"outline",onClick:O=>C("update:triageStatus",N.value)},{default:p(()=>[$(o(N.label),1)]),_:2},1032,["color","variant","onClick"])),64))]),t("div",os,[r(x,{"model-value":a.triageNote,placeholder:"Optional note…",rows:3,class:"text-sm w-full","onUpdate:modelValue":c[0]||(c[0]=N=>C("update:triageNote",N))},null,8,["model-value"]),t("div",ls,[a.triageChanged?(s(),S(j,{key:0,size:"xs",icon:"i-lucide-check",loading:a.triageSaving,onClick:c[1]||(c[1]=N=>C("save-triage"))},{default:p(()=>[...c[6]||(c[6]=[$(" Save ",-1)])]),_:1},8,["loading"])):u("",!0)])])])]),_:1})])]),_:1})}}}),is=Object.assign(rs,{__name:"ClusterSummary"}),cs={class:"divide-y divide-default"},us={class:"text-xs font-mono text-gray-700 dark:text-gray-300 break-all whitespace-pre-wrap"},ds={class:"text-xs font-mono text-gray-600 dark:text-gray-400 truncate"},ms=Y({__name:"TestEvidenceSignals",props:at({consoleLogs:{},networkRequests:{}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:["update:open"],setup(a){const I=a,m=D(()=>Array.isArray(I.consoleLogs)?I.consoleLogs.filter(c=>c.type==="error"||c.type==="warning"):[]),C=D(()=>Array.isArray(I.networkRequests)?I.networkRequests.filter(c=>c.status&&c.status>=400):[]),d=D(()=>m.value.length>0||C.value.length>0),w=D(()=>{const c=[];return m.value.length&&c.push(`${m.value.length} console`),C.value.length&&c.push(`${C.value.length} network`),c.join(", ")}),n=nt(a,"open");return(c,_)=>{const z=ae,E=ue,R=_e;return e(d)?(s(),S(R,{key:0,icon:"i-lucide-triangle-alert",label:`Signals (${e(w)})`,open:n.value,"onUpdate:open":_[0]||(_[0]=T=>n.value=T)},{default:p(()=>[t("div",cs,[e(m).length>0?(s(),l(B,{key:0},[_[1]||(_[1]=t("div",{class:"px-3 py-1 bg-gray-50 dark:bg-gray-800/40"},[t("p",{class:"text-[10px] font-semibold text-gray-400 uppercase tracking-wide"},"Console")],-1)),(s(!0),l(B,null,Q(e(m),(T,y)=>(s(),l("div",{key:"log-"+y,class:"px-3 py-1.5 flex items-start gap-2"},[r(z,{name:T.type==="error"?"i-lucide-x-circle":"i-lucide-alert-triangle",class:X(["size-3.5 mt-0.5 shrink-0",T.type==="error"?"text-red-500":"text-yellow-500"])},null,8,["name","class"]),t("p",us,o(T.text),1)]))),128))],64)):u("",!0),e(C).length>0?(s(),l(B,{key:1},[_[2]||(_[2]=t("div",{class:"px-3 py-1 bg-gray-50 dark:bg-gray-800/40"},[t("p",{class:"text-[10px] font-semibold text-gray-400 uppercase tracking-wide"},"Network")],-1)),(s(!0),l(B,null,Q(e(C),(T,y)=>(s(),l("div",{key:"req-"+y,class:"px-3 py-1.5 flex items-center gap-2"},[r(E,{color:T.status>=500?"error":"warning",variant:"subtle",size:"sm",class:"shrink-0 font-mono"},{default:p(()=>[$(o(T.status),1)]),_:2},1032,["color"]),t("p",ds,o(T.url),1)]))),128))],64)):u("",!0)])]),_:1},8,["label","open"])):u("",!0)}}}),fs=Object.assign(ms,{__name:"TestEvidenceSignals"}),ps={class:"space-y-3"},gs={key:0,class:"flex gap-0 border-b border-default overflow-x-auto"},xs=["title","onClick"],vs={key:0,class:"opacity-60 ml-1"},hs={key:1,class:"flex items-start justify-between gap-2 flex-wrap"},ys={class:"min-w-0"},_s={class:"text-sm font-medium break-words"},ks={key:2,class:"flex items-center justify-center py-10"},bs={key:0,class:"flex flex-wrap gap-1.5"},$s={class:"divide-y divide-default"},Cs={class:"text-xs font-medium text-gray-700 dark:text-gray-300"},ws={key:0,class:"text-xs font-mono text-red-500 whitespace-pre-wrap break-all"},Ss={class:"overflow-x-auto max-h-72"},Ts={class:"max-h-64 overflow-auto"},js=Y({__name:"ClusterTestEvidence",props:{affectedTestCases:{},projectKey:{},projectName:{}},setup(a){const I=a,m=g(I.affectedTestCases[0]?.recentTestRunsCaseId??null),C=D(()=>I.affectedTestCases.find(f=>f.recentTestRunsCaseId===m.value)),d=g(null),w=g([]),n=g(!1),c=g(!1),_=g(!1),z=g(!1),E=g(!1),R=g(!1),T=g(!1),y=new Map;function j(){_.value=!1,z.value=!1,E.value=!1,R.value=!1,T.value=!1}async function x(f){j();const v=y.get(f);if(v){d.value=v.detail,w.value=v.traces,n.value=!1,c.value=!1;return}n.value=!0,c.value=!0,d.value=null,w.value=[];const[L,K]=await Promise.allSettled([$fetch(`/api/test-run-cases/${f}`),$fetch(`/api/test-run-cases/${f}/traces`)]);L.status==="fulfilled"&&(d.value=L.value),n.value=!1,K.status==="fulfilled"&&(w.value=K.value),c.value=!1,L.status==="fulfilled"&&K.status==="fulfilled"&&y.set(f,{detail:L.value,traces:K.value})}const M=new Map,N=g(null),O=g("trace"),F=D(()=>N.value?.frames??[]);async function q(f){if(N.value=M.get(f)??null,M.has(f)||w.value.length===0)return;const v=d.value?.testRun?.id;if(v)try{const L=await $fetch(`/api/test-runs/${v}/cases/${f}/trace-stacks`),K=L.status==="ok"&&L.frames?.length?L:null;M.set(f,K),m.value===f&&(N.value=K)}catch{M.set(f,null)}}oe([d,w],()=>{O.value="trace",m.value&&q(m.value)}),oe(m,f=>{f&&x(f)}),ot(()=>{m.value&&x(m.value)});const V=D(()=>{const f=d.value?.steps;return Array.isArray(f)?f.filter(v=>v.error):[]}),P=D(()=>d.value?.testSource?d.value.testSource.split(`
|
|
2
|
-
`).length:0),U=D(()=>{const f=d.value;if(!f)return[];const v=f.attachments.filter(k=>_t(k.path,k.contentType)).length,L=f.attachments.filter(k=>kt(k.path,k.contentType)).length,K=Array.isArray(f.consoleLogs)?f.consoleLogs.filter(k=>k.type==="error"||k.type==="warning").length:0,Z=Array.isArray(f.networkRequests)?f.networkRequests.filter(k=>(k.status??0)>=400).length:0;return[{icon:"i-lucide-image",label:"screenshots",count:v},{icon:"i-lucide-video",label:"videos",count:L},{icon:"i-lucide-bug-play",label:"traces",count:w.value.length},{icon:"i-lucide-list-checks",label:"failing steps",count:V.value.length},{icon:"i-lucide-triangle-alert",label:"signals",count:K+Z},{icon:"i-lucide-code",label:"source",count:f.testSourceFrames?.length||(f.testSource?1:0)},{icon:"i-lucide-accessibility",label:"ARIA",count:f.ariaSnapshot?1:0}].filter(k=>k.count>0)});return(f,v)=>{const L=xe,K=ce,Z=ae,k=ue,i=He,ee=qe,b=Ke,A=_e,H=fs,G=jt,W=Ge,te=We,se=yt,le=Je;return s(),l("div",ps,[a.affectedTestCases.length>1?(s(),l("div",gs,[(s(!0),l(B,null,Q(a.affectedTestCases,h=>(s(),l("button",{key:h.recentTestRunsCaseId,class:X(["px-3 py-1.5 text-xs whitespace-nowrap border-b-2 -mb-px transition-colors",e(m)===h.recentTestRunsCaseId?"border-primary text-primary font-medium":"border-transparent text-gray-500 hover:text-gray-700 dark:hover:text-gray-300"]),title:h.title,onClick:ne=>m.value=h.recentTestRunsCaseId},[$(o(h.title.split(" › ").pop())+" ",1),h.runCount>1?(s(),l("span",vs,o(h.runCount)+"×",1)):u("",!0)],10,xs))),128))])):u("",!0),e(C)?(s(),l("div",hs,[t("div",ys,[t("p",_s,o(e(C).title),1),r(L,{"file-path":e(C).filePath,"project-key":a.projectKey,"project-name":a.projectName,class:"text-xs text-gray-400"},null,8,["file-path","project-key","project-name"])]),r(K,{to:`/test-run-cases/${e(C).recentTestRunsCaseId}`,size:"xs",variant:"outline",color:"neutral","trailing-icon":"i-lucide-arrow-right"},{default:p(()=>[...v[6]||(v[6]=[$(" Open execution ",-1)])]),_:1},8,["to"])])):u("",!0),e(n)?(s(),l("div",ks,[r(Z,{name:"i-lucide-loader-circle",class:"size-5 animate-spin text-gray-400"})])):e(d)?(s(),l(B,{key:3},[e(U).length?(s(),l("div",bs,[(s(!0),l(B,null,Q(e(U),h=>(s(),S(k,{key:h.label,color:"neutral",variant:"subtle",size:"sm",class:"gap-1"},{default:p(()=>[r(Z,{name:h.icon,class:"size-3"},null,8,["name"]),$(" "+o(h.count)+" "+o(h.label),1)]),_:2},1024))),128))])):u("",!0),r(i,{attachments:e(d).attachments},null,8,["attachments"]),r(ee,{attachments:e(d).attachments},null,8,["attachments"]),r(b,{traces:e(w),loading:e(c)},null,8,["traces","loading"]),e(V).length>0?(s(),S(A,{key:1,icon:"i-lucide-list-checks",label:"Failing steps",count:e(V).length,open:e(_),"onUpdate:open":v[0]||(v[0]=h=>J(_)?_.value=h:null)},{default:p(()=>[t("div",$s,[(s(!0),l(B,null,Q(e(V),(h,ne)=>(s(),l("div",{key:ne,class:"px-3 py-2 space-y-0.5"},[t("p",Cs,o(ne+1)+". "+o(h.title),1),h.error?.message?(s(),l("p",ws,o(h.error.message),1)):u("",!0)]))),128))])]),_:1},8,["count","open"])):u("",!0),r(H,{"console-logs":e(d).consoleLogs,"network-requests":e(d).networkRequests,open:e(z),"onUpdate:open":v[1]||(v[1]=h=>J(z)?z.value=h:null)},null,8,["console-logs","network-requests","open"]),e(d).testSourceFrames?.length||e(d).testSource||e(F).length?(s(),S(A,{key:2,icon:"i-lucide-code",label:"Test source",count:e(F).length||e(d).testSourceFrames?.length||e(P),open:e(E),"onUpdate:open":v[3]||(v[3]=h=>J(E)?E.value=h:null)},{default:p(()=>[e(F).length&&(e(d).testSourceFrames?.length||e(d).testSource)?(s(),S(G,{key:0,modelValue:e(O),"onUpdate:modelValue":v[2]||(v[2]=h=>J(O)?O.value=h:null),items:[{label:`Full stack (${e(F).length})`,value:"trace"},{label:`Captured (${e(d).testSourceFrames?.length||1})`,value:"captured"}],size:"xs",variant:"link",class:"mb-1.5",ui:{list:"gap-2",trigger:"px-1.5"}},null,8,["modelValue","items"])):u("",!0),t("div",Ss,[e(O)==="trace"&&e(F).length?(s(),S(W,{key:0,frames:e(F),"project-key":a.projectKey,"project-name":a.projectName},null,8,["frames","project-key","project-name"])):e(d).testSourceFrames?.length?(s(),S(te,{key:1,frames:e(d).testSourceFrames,"project-key":a.projectKey,"project-name":a.projectName},null,8,["frames","project-key","project-name"])):e(d).testSource?(s(),S(se,{key:2,text:"```typescript\n"+e(d).testSource+"\n```"},null,8,["text"])):u("",!0)])]),_:1},8,["count","open"])):u("",!0),e(d).ariaSnapshot?(s(),S(A,{key:3,icon:"i-lucide-accessibility",label:"ARIA snapshot",open:e(R),"onUpdate:open":v[4]||(v[4]=h=>J(R)?R.value=h:null)},{default:p(()=>[t("div",Ts,[r(se,{text:"```yaml\n"+e(d).ariaSnapshot+"\n```"},null,8,["text"])])]),_:1},8,["open"])):u("",!0),e(d).pageState?(s(),S(A,{key:4,icon:"i-lucide-database",label:"App state",open:e(T),"onUpdate:open":v[5]||(v[5]=h=>J(T)?T.value=h:null)},{default:p(()=>[r(le,{"page-state":e(d).pageState,plain:""},null,8,["page-state"])]),_:1},8,["open"])):u("",!0)],64)):u("",!0)])}}}),Is=Object.assign(js,{__name:"ClusterTestEvidence"}),Rs={key:0,class:"flex items-center gap-1.5 overflow-hidden min-w-0"},zs={class:"text-primary shrink-0"},Us={class:"text-gray-500 truncate text-xs font-sans"},Vs={key:1,class:"text-primary text-xs"},As={key:2,class:"text-gray-400 font-sans text-xs"},Es={class:"w-96 p-2 space-y-2"},Ms={class:"flex items-center gap-1"},Ls={class:"flex items-center gap-1"},Ns={key:0,class:"flex items-center gap-2 px-2 py-1.5 text-xs rounded-md bg-primary/5 text-gray-600 dark:text-gray-300"},Fs={class:"font-medium text-green-600 dark:text-green-400"},Bs={class:"font-medium text-red-600 dark:text-red-400"},Ds={class:"text-gray-400"},Ps={key:1,class:"flex items-center justify-center gap-2 py-6 text-gray-400"},Os={key:2,class:"py-4 text-center text-sm text-red-500"},Hs={key:3,class:"flex items-start gap-2 px-2 py-2 text-xs text-amber-700 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20 rounded-md"},qs={key:4,class:"max-h-80 overflow-y-auto space-y-px"},Ks={class:"text-xs text-primary"},Gs={key:1,class:"py-4 text-center text-sm text-gray-400"},Ws=["onClick"],Js={class:"text-xs text-primary shrink-0 w-14 pt-px"},Qs={class:"flex-1 min-w-0"},Zs={class:"text-xs font-medium leading-snug truncate"},Xs={class:"text-xs text-gray-400 leading-snug truncate"},Ys=Y({__name:"CommitPicker",props:{modelValue:{},clusterId:{}},emits:["update:modelValue"],setup(a,{emit:I}){const m=a,C=I,d=g(!1),w=g(""),n=g([]),c=g(null),_=g(null),z=g(!1),E=g(!1),R=g(null),T=g(null),y=g([]),j=g(!1),x=g(void 0),M=D(()=>{if(!m.modelValue)return null;const U=m.modelValue.trim();return n.value.find(v=>v.sha===U||v.sha.startsWith(U))??{sha:U,shortSha:U.slice(0,7),message:"",author:"",date:""}});async function N(){if(!y.value.length){j.value=!0;try{const U=await $fetch(`/api/failure-clusters/${m.clusterId}/branches`);y.value=U.branches}catch{}finally{j.value=!1}}}async function O(){const U=m.modelValue||"";z.value=!0,E.value=!1,T.value=null;try{const f={};U&&(f.baseline=U),x.value&&(f.branch=x.value);const v=await $fetch(`/api/failure-clusters/${m.clusterId}/commits`,{query:f});n.value=v.commits,_.value=v.aggregate,c.value=v.error??null,T.value=U}catch{E.value=!0}finally{z.value=!1}}oe(x,()=>{n.value=[],T.value=null,O()}),oe(d,async U=>{if(U){await Promise.all([N(),O()]),await rt();const f=R.value?.$el?.querySelector("input")??R.value?.$el;f instanceof HTMLElement&&f.focus()}else w.value=""});const F=D(()=>Se(n.value,w.value)),q=D(()=>{const U=w.value.trim();return!/^[0-9a-f]{7,40}$/i.test(U)||F.value.some(f=>f.sha.startsWith(U.toLowerCase()))?null:U});function V(U){C("update:modelValue",U),d.value=!1}function P(U){U.stopPropagation(),c.value=null,_.value=null,C("update:modelValue",""),d.value=!1}return(U,f)=>{const v=ce,L=ae,K=It,Z=$e,k=lt;return s(),S(k,{open:e(d),"onUpdate:open":f[4]||(f[4]=i=>J(d)?d.value=i:null)},{content:p(()=>[t("div",Es,[t("div",Ms,[r(L,{name:"i-lucide-git-branch",class:"size-3.5 text-gray-400 shrink-0"}),r(K,{modelValue:e(x),"onUpdate:modelValue":f[0]||(f[0]=i=>J(x)?x.value=i:null),items:e(y),placeholder:"Default branch",size:"xs",class:"flex-1",loading:e(j),disabled:e(j)},null,8,["modelValue","items","loading","disabled"])]),t("div",Ls,[r(Z,{ref_key:"searchInputRef",ref:R,modelValue:e(w),"onUpdate:modelValue":f[1]||(f[1]=i=>J(w)?w.value=i:null),placeholder:"Search message, author, SHA…",size:"xs",icon:"i-lucide-search",class:"flex-1"},null,8,["modelValue"]),a.modelValue?(s(),S(v,{key:0,size:"xs",color:"neutral",variant:"ghost",icon:"i-lucide-x",title:"Clear baseline",onClick:f[2]||(f[2]=i=>P(i))})):u("",!0)]),e(_)&&a.modelValue&&!e(z)?(s(),l("div",Ns,[r(L,{name:"i-lucide-git-compare-arrows",class:"size-3.5 shrink-0 text-primary"}),f[5]||(f[5]=t("span",null,"Since baseline:",-1)),t("span",Fs,"+"+o(e(_).linesAdded),1),t("span",Bs,"-"+o(e(_).linesRemoved),1),t("span",Ds,"across "+o(e(_).filesChanged)+" file"+o(e(_).filesChanged===1?"":"s"),1)])):u("",!0),e(z)?(s(),l("div",Ps,[r(L,{name:"i-lucide-loader-2",class:"size-4 animate-spin"}),f[6]||(f[6]=t("span",{class:"text-sm"},"Loading commits…",-1))])):e(E)?(s(),l("div",Os," Failed to load commits — check your SCM token in Settings → AI ")):e(c)&&!e(z)&&e(n).length===0?(s(),l("div",Hs,[r(L,{name:"i-lucide-triangle-alert",class:"size-3.5 shrink-0 mt-0.5"}),t("span",null,o(e(c)),1)])):(s(),l("div",qs,[e(q)?(s(),l("button",{key:0,class:"w-full text-left px-2 py-1.5 rounded flex items-center gap-2 hover:bg-elevated transition-colors border border-dashed border-default",onClick:f[3]||(f[3]=i=>V(e(q)))},[r(L,{name:"i-lucide-git-commit-horizontal",class:"size-3.5 text-gray-400 shrink-0"}),f[7]||(f[7]=t("span",{class:"text-xs text-gray-500"},"Use commit",-1)),t("code",Ks,o(e(q).slice(0,7)),1)])):u("",!0),e(F).length===0&&!e(q)?(s(),l("div",Gs,o(e(w)?"No commits match":"No commits available"),1)):u("",!0),(s(!0),l(B,null,Q(e(F),i=>(s(),l("button",{key:i.sha,class:X(["w-full text-left px-2 py-1.5 rounded flex items-start gap-2 hover:bg-elevated transition-colors",a.modelValue===i.sha?"bg-primary/10 ring-1 ring-inset ring-primary/30":""]),onClick:ee=>V(i.sha)},[t("code",Js,o(i.shortSha),1),t("div",Qs,[t("p",Zs,o(i.message),1),t("p",Xs,[$(o(i.author),1),i.date?(s(),l(B,{key:0},[$(" · "+o(e(ie)(i.date)),1)],64)):u("",!0)])]),a.modelValue===i.sha?(s(),S(L,{key:0,name:"i-lucide-check",class:"size-3.5 text-primary shrink-0 mt-0.5"})):u("",!0)],10,Ws))),128))]))])]),default:p(()=>[r(v,{size:"xs",color:"neutral",variant:"outline",icon:a.modelValue?"i-lucide-git-branch-plus":"i-lucide-git-branch","trailing-icon":"i-lucide-chevron-down",class:"min-w-36 max-w-48 font-mono"},{default:p(()=>[e(M)?.message?(s(),l("span",Rs,[t("code",zs,o(e(M).shortSha),1),t("span",Us,o(e(M).message),1)])):a.modelValue?(s(),l("span",Vs,o(a.modelValue.slice(0,7))+"…",1)):(s(),l("span",As,"baseline commit…"))]),_:1},8,["icon"])]),_:1},8,["open"])}}}),en=Object.assign(Ys,{__name:"CommitPicker"}),tn={class:"space-y-3"},sn={key:0,class:"space-y-1"},nn={class:"text-xs font-semibold text-gray-500 uppercase tracking-wide px-1"},an={class:"rounded-md border border-default overflow-hidden divide-y divide-default"},on={class:"text-xs text-gray-400 shrink-0"},ln={class:"text-xs text-gray-700 dark:text-gray-300 truncate"},rn={class:"space-y-1"},cn={class:"text-xs font-semibold text-gray-500 uppercase tracking-wide px-1"},un={key:0,class:"text-yellow-500 font-normal normal-case"},dn={class:"rounded-md border border-default overflow-hidden divide-y divide-default"},mn=["onClick"],fn={class:"text-xs font-mono flex-1 truncate text-gray-700 dark:text-gray-300"},pn={class:"text-xs text-gray-400 shrink-0 tabular-nums"},gn={key:0,class:"text-green-500"},xn={key:1,class:"text-gray-300 mx-0.5"},vn={key:2,class:"text-red-500"},hn={key:0,class:"border-t border-default overflow-x-auto max-h-96"},yn=Y({__name:"ScmChangesView",props:{changes:{}},setup(a){const I=g(new Set);function m(C){const d=new Set(I.value);d.has(C)?d.delete(C):d.add(C),I.value=d}return(C,d)=>{const w=ae,n=ke;return s(),l("div",tn,[a.changes.commits.length>0?(s(),l("div",sn,[t("p",nn,o(a.changes.commits.length)+" commit"+o(a.changes.commits.length===1?"":"s"),1),t("div",an,[(s(!0),l(B,null,Q(a.changes.commits,c=>(s(),l("div",{key:c.sha,class:"flex items-center gap-2 px-3 py-1.5"},[r(w,{name:"i-lucide-git-commit-horizontal",class:"size-3.5 text-gray-400 shrink-0"}),t("code",on,o(c.sha.slice(0,7)),1),t("span",ln,o(c.message),1)]))),128))])])):u("",!0),t("div",rn,[t("p",cn,[$(o(a.changes.files.length)+" file"+o(a.changes.files.length===1?"":"s")+" changed ",1),a.changes.patchesOmitted?(s(),l("span",un," — diff too large, file names only ")):u("",!0)]),t("div",dn,[(s(!0),l(B,null,Q(a.changes.files,c=>(s(),l("div",{key:c.filename},[t("button",{class:X(["w-full flex items-center gap-2 px-3 py-1.5 text-left hover:bg-gray-50 dark:hover:bg-gray-800/50 transition-colors",c.patch?"cursor-pointer":"cursor-default"]),onClick:_=>c.patch&&m(c.filename)},[r(w,{name:("scmFileStatusMeta"in C?C.scmFileStatusMeta:e(pe))(c.status).icon,class:X(["size-3.5 shrink-0",("scmFileStatusMeta"in C?C.scmFileStatusMeta:e(pe))(c.status).color])},null,8,["name","class"]),t("span",fn,o(c.filename),1),t("span",pn,[c.additions?(s(),l("span",gn,"+"+o(c.additions),1)):u("",!0),c.additions&&c.deletions?(s(),l("span",xn,"/")):u("",!0),c.deletions?(s(),l("span",vn,"-"+o(c.deletions),1)):u("",!0)]),c.patch?(s(),S(w,{key:0,name:e(I).has(c.filename)?"i-lucide-chevron-up":"i-lucide-chevron-down",class:"size-3.5 text-gray-400 shrink-0"},null,8,["name"])):u("",!0)],10,mn),c.patch&&e(I).has(c.filename)?(s(),l("div",hn,[r(n,{patch:c.patch},null,8,["patch"])])):u("",!0)]))),128))])])])}}}),_n=Object.assign(yn,{__name:"ScmChangesView"}),kn={class:"border border-default rounded-lg overflow-clip text-xs font-mono"},bn={class:"sticky top-0 z-10 flex items-center justify-between px-3 py-1.5 bg-elevated border-b border-default text-gray-600 dark:text-gray-300"},$n={class:"font-medium truncate"},Cn={class:"shrink-0 flex items-center gap-1.5 ml-2 text-[11px]"},wn={key:0,class:"text-green-600 dark:text-green-400"},Sn={key:1,class:"text-red-600 dark:text-red-400"},Tn={key:1,class:"px-3 py-2 text-gray-400 text-[11px]"},jn=Y({__name:"DiffFile",props:{file:{}},setup(a){return(I,m)=>{const C=ue,d=ke;return s(),l("div",kn,[t("div",bn,[t("span",$n,o(a.file.filename),1),t("span",Cn,[a.file.additions?(s(),l("span",wn,"+"+o(a.file.additions),1)):u("",!0),a.file.deletions?(s(),l("span",Sn,"-"+o(a.file.deletions),1)):u("",!0),r(C,{label:a.file.status,size:"xs",variant:"subtle",color:("scmFileStatusMeta"in I?I.scmFileStatusMeta:e(pe))(a.file.status).badgeColor},null,8,["label","color"])])]),a.file.patch?(s(),S(d,{key:0,patch:a.file.patch},null,8,["patch"])):(s(),l("div",Tn,"No patch available"))])}}}),In=Object.assign(jn,{__name:"DiffFile"}),Rn={class:"inline-flex items-center gap-1"},zn={class:"flex h-[72vh] overflow-hidden"},Un={class:"w-72 shrink-0 border-r border-default flex flex-col"},Vn={class:"p-2 border-b border-default space-y-2 shrink-0"},An={class:"flex items-center gap-2 text-xs text-gray-500"},En={class:"ml-auto"},Mn={key:2,class:"flex-1 overflow-y-auto flex flex-col"},Ln={key:0,class:"py-6 text-center text-sm text-gray-400 flex-1"},Nn=["onClick"],Fn=["checked","onChange"],Bn={class:"flex-1 min-w-0"},Dn={class:"text-xs font-medium leading-snug truncate"},Pn={class:"text-[10px] text-gray-400 leading-snug mt-0.5 flex items-center gap-1 min-w-0"},On={class:"text-primary shrink-0"},Hn={class:"truncate"},qn={key:0,class:"shrink-0"},Kn={key:1,class:"p-2 shrink-0 space-y-1.5"},Gn={key:0,class:"flex items-center gap-1.5 text-xs text-red-500 px-1"},Wn={class:"flex-1 overflow-y-auto flex flex-col min-w-0"},Jn={key:0,class:"flex-1 flex items-center justify-center text-gray-400 text-sm"},Qn={key:2,class:"flex-1 p-4 space-y-3"},Zn={key:0,class:"space-y-0.5 pb-3 border-b border-default"},Xn={class:"flex items-center gap-2"},Yn={class:"text-xs font-mono text-primary"},ea={class:"text-xs text-gray-400"},ta={class:"text-sm font-semibold"},sa={key:1,class:"text-sm text-gray-400 pt-2"},na={key:4,class:"flex-1 flex items-center justify-center text-sm text-gray-400"},aa={class:"flex items-center gap-3 w-full"},oa={class:"flex-1 flex items-center gap-2 text-sm text-gray-500 min-w-0"},la={class:"font-medium text-gray-700 dark:text-gray-200 shrink-0"},ra={class:"shrink-0"},ia={class:"text-green-600 dark:text-green-400 shrink-0 font-medium"},ca={class:"text-red-600 dark:text-red-400 shrink-0 font-medium"},ua={key:1,class:"text-gray-400 text-xs shrink-0"},da={key:1},me=50,ma=Y({__name:"CommitBrowserModal",props:{open:{type:Boolean},clusterId:{},initialSelected:{},autoSelectedShas:{}},emits:["update:open","confirm"],setup(a,{emit:I}){const m=a,C=D(()=>new Set(m.autoSelectedShas??[])),d=I,w=g(""),n=g([]),c=g(me),_=g(!1),z=g(!1),E=g(!1),R=g(null),T=g(null),y=g(new Set),j=g(null),x=it({}),M=g(null),N=g(!1),O=g(null),F=D(()=>n.value.find(k=>k.sha===j.value)??null),q=D(()=>Se(n.value,w.value)),V=D(()=>{let k=0,i=0,ee=0,b=0;for(const A of y.value){if(!(A in x)){b++;continue}const H=x[A];H&&(k+=H.files.length,i+=H.files.reduce((G,W)=>G+W.additions,0),ee+=H.files.reduce((G,W)=>G+W.deletions,0))}return{files:k,linesAdded:i,linesRemoved:ee,unreviewed:b}});async function P(k){k?(z.value=!0,R.value=null):(E.value=!0,T.value=null);try{const i=await $fetch(`/api/failure-clusters/${m.clusterId}/commits`,{query:{limit:c.value}});n.value=i.commits,_.value=i.hasMore??!1,i.error&&!i.commits.length&&(k?R.value=i.error:T.value=i.error),k&&i.commits[0]&&f(i.commits[0].sha)}catch(i){k?R.value=de(i):T.value=de(i)}finally{z.value=!1,E.value=!1}}async function U(){c.value+=me,await P(!1)}oe(()=>m.open,async k=>{if(k){if(y.value=new Set(m.initialSelected??[]),n.value.length){!j.value&&n.value[0]&&f(n.value[0].sha);return}c.value=me,await P(!0)}});async function f(k){if(j.value!==k){if(j.value=k,O.value=null,k in x){M.value=x[k],N.value=!1;return}M.value=null,N.value=!0;try{const i=await $fetch(`/api/failure-clusters/${m.clusterId}/commit-diff`,{query:{sha:k}});x[k]=i,j.value===k&&(M.value=i)}catch(i){j.value===k&&(O.value=de(i))}finally{j.value===k&&(N.value=!1)}}}function v(k){const i=new Set(y.value);i.has(k)?i.delete(k):i.add(k),y.value=i}function L(){y.value=new Set(q.value.map(k=>k.sha))}function K(){y.value=new Set}function Z(){d("confirm",[...y.value]),d("update:open",!1)}return(k,i)=>{const ee=ge,b=$e,A=Rt,H=ce,G=zt,W=ue,te=ae,se=In,le=Te;return s(),S(le,{open:a.open,title:"Browse commits",ui:{content:"max-w-6xl",body:"p-0 overflow-hidden"},"onUpdate:open":i[4]||(i[4]=h=>d("update:open",h))},{title:p(()=>[t("span",Rn,[i[5]||(i[5]=$("Browse commits ",-1)),r(ee,{topic:"cluster.commit-browser"})])]),body:p(()=>[t("div",zn,[t("div",Un,[t("div",Vn,[r(b,{modelValue:e(w),"onUpdate:modelValue":i[0]||(i[0]=h=>J(w)?w.value=h:null),placeholder:"Search commits…",size:"xs",icon:"i-lucide-search"},null,8,["modelValue"]),t("div",An,[t("button",{class:"hover:text-primary transition-colors",onClick:L},"All"),i[6]||(i[6]=t("span",null,"·",-1)),t("button",{class:"hover:text-primary transition-colors",onClick:K},"None"),t("span",En,o(e(y).size>0?`${e(y).size} selected`:"none selected"),1)])]),e(z)?(s(),S(A,{key:0,text:"Loading…",padded:!1,class:"flex-1"})):e(R)?(s(),S(G,{key:1,text:e(R),padded:!1,class:"flex-1 p-4"},{action:p(()=>[r(H,{size:"xs",color:"neutral",variant:"outline",onClick:i[1]||(i[1]=h=>P(!0))},{default:p(()=>[...i[7]||(i[7]=[$(" Retry ",-1)])]),_:1})]),_:1},8,["text"])):(s(),l("div",Mn,[e(q).length===0?(s(),l("div",Ln,o(e(w)?"No commits match":"No commits"),1)):u("",!0),(s(!0),l(B,null,Q(e(q),h=>(s(),l("button",{key:h.sha,class:X(["w-full text-left px-2.5 py-2 flex items-start gap-2.5 hover:bg-elevated transition-colors border-b border-default/50 last:border-0 shrink-0",e(j)===h.sha?"bg-elevated":""]),onClick:ne=>f(h.sha)},[t("input",{type:"checkbox",checked:e(y).has(h.sha),class:"mt-0.5 shrink-0 cursor-pointer accent-primary",onClick:i[2]||(i[2]=fe(()=>{},["stop"])),onChange:ne=>v(h.sha)},null,40,Fn),t("div",Bn,[t("p",Dn,o(h.message||"(no message)"),1),t("p",Pn,[t("code",On,o(h.shortSha),1),t("span",Hn,o(h.author),1),h.date?(s(),l("span",qn,"· "+o(e(ie)(h.date)),1)):u("",!0),e(C).has(h.sha)?(s(),S(W,{key:1,size:"xs",color:"info",variant:"soft",class:"shrink-0"},{default:p(()=>[...i[8]||(i[8]=[$(" auto ",-1)])]),_:1})):u("",!0)])])],10,Nn))),128)),e(_)&&!e(w)?(s(),l("div",Kn,[e(T)?(s(),l("p",Gn,[r(te,{name:"i-lucide-circle-alert",class:"size-3.5 shrink-0"}),$(" "+o(e(T)),1)])):u("",!0),r(H,{size:"xs",color:"neutral",variant:"outline",block:"",loading:e(E),onClick:U},{default:p(()=>[...i[9]||(i[9]=[$(" Load more ",-1)])]),_:1},8,["loading"])])):u("",!0)]))]),t("div",Wn,[e(j)?e(N)?(s(),S(A,{key:1,text:"Loading diff…",padded:!1,class:"flex-1"})):e(M)?(s(),l("div",Qn,[e(F)?(s(),l("div",Zn,[t("div",Xn,[t("code",Yn,o(e(F).shortSha),1),t("span",ea,[$(o(e(F).author),1),e(F).date?(s(),l(B,{key:0},[$(" · "+o(e(ie)(e(F).date)),1)],64)):u("",!0)])]),t("p",ta,o(e(F).message),1)])):u("",!0),e(M).files.length===0?(s(),l("div",sa,"No file changes in this commit")):u("",!0),(s(!0),l(B,null,Q(e(M).files,h=>(s(),S(se,{key:h.filename,file:h},null,8,["file"]))),128))])):e(O)?(s(),S(G,{key:3,text:e(O),padded:!1,class:"flex-1 p-6"},{action:p(()=>[...i[10]||(i[10]=[t("p",{class:"text-xs text-gray-400"},"Click the commit again to retry",-1)])]),_:1},8,["text"])):(s(),l("div",na," Diff not available for this commit ")):(s(),l("div",Jn," Select a commit to view its diff "))])])]),footer:p(()=>[t("div",aa,[t("div",oa,[e(y).size>0?(s(),l(B,{key:0},[t("span",la,o(e(y).size)+" commit"+o(e(y).size===1?"":"s"),1),e(V).files>0||e(V).linesAdded>0||e(V).linesRemoved>0?(s(),l(B,{key:0},[i[11]||(i[11]=t("span",{class:"text-gray-300 dark:text-gray-600"},"·",-1)),t("span",ra,o(e(V).files)+" file"+o(e(V).files===1?"":"s"),1),t("span",ia,"+"+o(e(V).linesAdded),1),t("span",ca,"-"+o(e(V).linesRemoved),1)],64)):u("",!0),e(V).unreviewed>0?(s(),l("span",ua," ("+o(e(V).unreviewed)+" unreviewed) ",1)):u("",!0)],64)):(s(),l("span",da,"No commits selected"))]),r(H,{color:"neutral",variant:"ghost",onClick:i[3]||(i[3]=h=>d("update:open",!1))},{default:p(()=>[...i[12]||(i[12]=[$(" Cancel ",-1)])]),_:1}),r(H,{color:"primary",disabled:e(y).size===0,onClick:Z},{default:p(()=>[...i[13]||(i[13]=[$(" Add to context ",-1)])]),_:1},8,["disabled"])])]),_:1},8,["open"])}}}),fa=Object.assign(ma,{__name:"CommitBrowserModal"});function je(a){return{scmStatus:D(()=>{const m=a.value?.scm;if(!m)return{color:"text-gray-400",icon:"i-lucide-git-branch",text:"Git context unavailable",detail:""};if(m.baseCommitUsed){if(m.filesCount===0)return{color:"text-yellow-500",icon:"i-lucide-git-branch-plus",text:`Manual baseline ${m.baseCommitUsed.slice(0,7)} · fetch failed`,detail:"network error or missing SCM token (check AI settings)"};const w=m.patchesOmitted?", no patches (diff too large)":m.patchesTruncated?`, ${m.patchedFilesCount} with patches (some cut)`:`, ${m.patchedFilesCount} with patches`;return{color:"text-blue-500",icon:"i-lucide-git-branch-plus",text:`Manual baseline ${m.baseCommitUsed.slice(0,7)} · ${m.filesCount} files${w}`,detail:m.hasLastGreen?"overrides last passing run baseline":"no last passing run"}}if(!m.hasLastGreen)return{color:"text-gray-400",icon:"i-lucide-git-branch",text:"No last passing run",detail:"enter a baseline commit below to enable diff"};if(!m.hasCommitRange)return{color:"text-gray-400",icon:"i-lucide-git-branch",text:"No commit range",detail:"reporter did not send SCM metadata"};if(!m.provider)return{color:"text-yellow-500",icon:"i-lucide-git-branch",text:"Unsupported SCM host",detail:"only GitHub, GitLab and Bitbucket are supported"};if(m.filesCount===0)return{color:"text-yellow-500",icon:"i-lucide-git-branch",text:`${m.provider} · fetch failed`,detail:"network error or missing SCM token (check AI settings)"};if(m.patchesOmitted)return{color:"text-yellow-500",icon:"i-lucide-git-branch",text:`${m.provider} · ${m.filesCount} files`,detail:"diff too large — file list only, no patches"};const C=m.patchesTruncated?", some patches cut (budget)":"",d=m.commitsCount>0?` · ${m.commitsCount} commit${m.commitsCount>1?"s":""}`:"";return{color:"text-green-500",icon:"i-lucide-git-branch",text:`${m.provider} · ${m.filesCount} files · ${m.patchedFilesCount} with patches${C}${d}`,detail:""}})}}const pa={class:"space-y-3"},ga={class:"pb-2 border-b border-default"},xa={class:"flex items-center gap-2 flex-wrap"},va={class:"text-xs text-gray-500 font-medium shrink-0 inline-flex items-center gap-1"},ha={class:"flex items-center gap-1.5 ml-auto"},ya={key:0,class:"flex items-center gap-1 px-2 py-0.5 rounded-full bg-primary/10 text-primary text-xs font-medium"},_a={key:0,class:"flex items-start gap-1.5 text-xs px-2 py-1.5 rounded-md bg-elevated border border-default"},ka={key:0,class:"text-gray-400 ml-1"},ba={key:1,class:"flex items-center justify-center py-6"},$a={key:3,class:"text-xs text-gray-400 text-center py-4"},Ca=Y({__name:"ClusterInvestigation",setup(a){const{clusterId:I,baseCommit:m,selectedCommitShas:C,autoSelectedCommits:d,baseCommitIsPinned:w,coverage:n,scmChanges:c,contextLoading:_,refreshContext:z}=Ut(),E=g(!1),{scmStatus:R}=je(n);return(T,y)=>{const j=ge,x=en,M=ae,N=Ce,O=ce,F=_n,q=fa;return s(),l(B,null,[t("div",pa,[t("div",ga,[t("div",xa,[t("span",va,[y[5]||(y[5]=$(" Baseline ",-1)),r(j,{topic:"cluster.baseline"})]),r(x,{modelValue:e(m),"onUpdate:modelValue":y[0]||(y[0]=V=>J(m)?m.value=V:null),"cluster-id":e(I)},null,8,["modelValue","cluster-id"]),e(w)?(s(),S(N,{key:0,text:"Baseline commit pinned for this cluster"},{default:p(()=>[r(M,{name:"i-lucide-pin",class:"size-3.5 text-primary shrink-0"})]),_:1})):u("",!0),t("div",ha,[e(C).length?(s(),l("div",ya,[r(M,{name:"i-lucide-git-commit-horizontal",class:"size-3"}),t("span",null,o(e(C).length)+" commit"+o(e(C).length===1?"":"s"),1),t("button",{class:"ml-0.5 hover:opacity-70 transition-opacity",onClick:y[1]||(y[1]=V=>C.value=[])},[r(M,{name:"i-lucide-x",class:"size-3"})])])):u("",!0),r(O,{size:"xs",color:"neutral",variant:"ghost",icon:"i-lucide-list",onClick:y[2]||(y[2]=V=>E.value=!0)},{default:p(()=>[...y[6]||(y[6]=[$(" Browse ",-1)])]),_:1}),r(O,{icon:"i-lucide-refresh-cw",size:"xs",color:"neutral",variant:"outline",loading:e(_),onClick:e(z)},null,8,["loading","onClick"])])])]),e(n)?(s(),l("div",_a,[r(M,{name:e(R).icon,class:X(["size-3.5 mt-0.5 shrink-0",e(R).color])},null,8,["name","class"]),t("div",null,[t("span",{class:X(e(R).color)},o(e(R).text),3),e(R).detail?(s(),l("span",ka,"— "+o(e(R).detail),1)):u("",!0)])])):u("",!0),e(_)&&!e(c)?(s(),l("div",ba,[r(M,{name:"i-lucide-loader-circle",class:"size-4 animate-spin text-gray-400"})])):e(c)?(s(),S(F,{key:2,changes:e(c)},null,8,["changes"])):e(n)&&!e(_)&&!e(c)?(s(),l("p",$a," No changes found in this range. ")):u("",!0)]),r(q,{open:e(E),"onUpdate:open":y[3]||(y[3]=V=>J(E)?E.value=V:null),"cluster-id":e(I),"initial-selected":e(C),"auto-selected-shas":e(d),onConfirm:y[4]||(y[4]=V=>C.value=V)},null,8,["open","cluster-id","initial-selected","auto-selected-shas"])],64)}}}),wa=Object.assign(Ca,{__name:"ClusterInvestigation"}),Sa={class:"flex flex-col h-[60vh]"},Ta={class:"flex items-center gap-3 px-4 py-2.5 border-b border-default text-sm shrink-0"},ja={key:0,class:"ml-auto text-xs text-gray-500"},Ia={class:"flex-1 overflow-y-auto"},Ra={class:"w-full text-sm"},za=["onClick"],Ua={class:"px-4 py-2.5"},Va=["checked","onChange"],Aa={class:"px-2 py-2.5 min-w-0"},Ea={class:"truncate font-medium text-gray-800 dark:text-gray-200 max-w-[24rem]"},Ma={class:"px-2 py-2.5 text-gray-500 text-xs max-w-[16rem] hidden sm:table-cell"},La={class:"px-2 py-2.5 text-right text-gray-500 text-xs"},Na={key:0},Fa={class:"shrink-0 border-t border-default px-4 py-3 space-y-1.5"},Ba={key:0,class:"shrink-0 px-4 pb-3 flex items-center gap-1.5 text-xs text-red-500"},Da={class:"flex items-center gap-3 w-full"},Pa=Y({__name:"ClusterExtractCasesModal",props:{open:{type:Boolean},clusterId:{},affectedTestCases:{},projectKey:{},projectName:{}},emits:["update:open","extracted"],setup(a,{emit:I}){const m=a,C=I,d=ct(),w=g(new Set),n=g(""),c=g(!1),_=g(null);function z(){w.value=new Set(m.affectedTestCases.map(j=>j.testCaseId))}function E(){w.value=new Set}function R(j){const x=new Set(w.value);x.has(j)?x.delete(j):x.add(j),w.value=x}oe(()=>m.open,j=>{j&&(E(),n.value="",_.value=null)});const T=D(()=>w.value.size);async function y(){if(T.value!==0){c.value=!0,_.value=null;try{await $fetch(`/api/failure-clusters/${m.clusterId}/extract-cases`,{method:"POST",body:{testCaseIds:[...w.value],triageNote:n.value.trim()||void 0}}),d.add({title:`Extracted ${T.value} test ${T.value===1?"case":"cases"}`,color:"success"}),C("extracted"),C("update:open",!1)}catch(j){_.value=de(j)}finally{c.value=!1}}}return(j,x)=>{const M=be,N=xe,O=we,F=ae,q=ce,V=Te;return s(),S(V,{open:a.open,title:"Extract test cases",ui:{content:"max-w-4xl",body:"p-0 flex flex-col overflow-hidden"},"onUpdate:open":x[4]||(x[4]=P=>C("update:open",P))},{body:p(()=>[t("div",Sa,[t("div",Ta,[t("button",{class:"text-xs font-medium text-primary hover:underline",onClick:z},"Select all"),x[5]||(x[5]=t("span",{class:"text-gray-300 dark:text-gray-600"},"·",-1)),t("button",{class:"text-xs font-medium text-primary hover:underline",onClick:E},"Deselect all"),e(T)>0?(s(),l("span",ja,o(e(T))+" selected ",1)):u("",!0)]),t("div",Ia,[t("table",Ra,[x[8]||(x[8]=t("thead",{class:"sticky top-0 bg-gray-50 dark:bg-gray-800 border-b border-default"},[t("tr",null,[t("th",{class:"w-10 px-4 py-2.5"}),t("th",{class:"text-left px-2 py-2.5 font-medium text-gray-500 text-xs uppercase tracking-wide"},"Test"),t("th",{class:"text-left px-2 py-2.5 font-medium text-gray-500 text-xs uppercase tracking-wide hidden sm:table-cell"}," File "),t("th",{class:"text-right px-2 py-2.5 font-medium text-gray-500 text-xs uppercase tracking-wide w-20"}," Occurrences ")])],-1)),t("tbody",null,[(s(!0),l(B,null,Q(a.affectedTestCases,P=>(s(),l("tr",{key:P.testCaseId,class:"border-b border-default/50 hover:bg-elevated transition-colors cursor-pointer",onClick:U=>R(P.testCaseId)},[t("td",Ua,[t("input",{type:"checkbox",checked:e(w).has(P.testCaseId),class:"shrink-0 cursor-pointer accent-primary",onClick:x[0]||(x[0]=fe(()=>{},["stop"])),onChange:U=>R(P.testCaseId)},null,40,Va)]),t("td",Aa,[t("p",Ea,o(P.title),1),r(M,{to:`/test-cases/${P.testCaseId}`,class:"text-[10px] text-primary hover:underline mt-0.5 inline-block",onClick:x[1]||(x[1]=fe(()=>{},["stop"]))},{default:p(()=>[...x[6]||(x[6]=[$(" View details ",-1)])]),_:1},8,["to"])]),t("td",Ma,[r(N,{"file-path":P.filePath,"project-key":a.projectKey,"project-name":a.projectName,class:"max-w-full"},null,8,["file-path","project-key","project-name"])]),t("td",La,o(P.runCount),1)],8,za))),128)),a.affectedTestCases.length===0?(s(),l("tr",Na,[...x[7]||(x[7]=[t("td",{colspan:"4",class:"px-4 py-8 text-center text-gray-400 text-sm"},"No test cases in this cluster.",-1)])])):u("",!0)])])]),t("div",Fa,[x[9]||(x[9]=t("label",{class:"text-xs font-medium text-gray-500 uppercase tracking-wide"},"Triage note (optional)",-1)),r(O,{modelValue:e(n),"onUpdate:modelValue":x[2]||(x[2]=P=>J(n)?n.value=P:null),placeholder:"Add a note explaining why these tests were extracted…",rows:2,class:"text-sm w-full"},null,8,["modelValue"])]),e(_)?(s(),l("p",Ba,[r(F,{name:"i-lucide-circle-alert",class:"size-3.5 shrink-0"}),$(" "+o(e(_)),1)])):u("",!0)])]),footer:p(()=>[t("div",Da,[x[11]||(x[11]=t("div",{class:"flex-1"},null,-1)),r(q,{color:"neutral",variant:"ghost",disabled:e(c),onClick:x[3]||(x[3]=P=>C("update:open",!1))},{default:p(()=>[...x[10]||(x[10]=[$(" Cancel ",-1)])]),_:1},8,["disabled"]),r(q,{color:"warning",disabled:e(T)===0,loading:e(c),onClick:y},{default:p(()=>[$(" Extract"+o(e(T)>0?` ${e(T)}`:""),1)]),_:1},8,["disabled","loading"])])]),_:1},8,["open"])}}}),Oa=Object.assign(Pa,{__name:"ClusterExtractCasesModal"}),Ha={key:0,class:"flex flex-col h-full min-h-0 max-xl:overflow-y-auto xl:overflow-hidden"},qa={class:"border-b border-default shrink-0"},Ka={class:"grid grid-cols-1 xl:grid-cols-[3fr_2fr] gap-4 p-1 xl:flex-1 xl:min-h-0 xl:overflow-hidden"},Ga={class:"space-y-4 xl:overflow-y-auto"},Wa={class:"font-mono text-xs"},Ja=["innerHTML"],Qa={class:"inline-flex items-center gap-1.5"},Za={class:"xl:overflow-y-auto"},Xa={key:1,class:"flex items-center justify-center h-64 text-gray-500"},Ho=Y({__name:"[id]",async setup(a){let I,m;const C=ut(),d=parseInt(String(C.params.id)),w=Vt(d),{data:n,refresh:c}=([I,m]=dt(()=>Lt(`/api/failure-clusters/${d}`,"$Io0yQjh0TH")),I=await I,m(),I);mt(D(()=>({title:`${n.value?.signature??"Failure cluster"} — Piwi Dashboard`})));const _=g(n.value?.status??"open"),z=g(n.value?.triageNote??""),E=g(!1);oe(()=>n.value?.status,b=>{b&&(_.value=b)}),oe(()=>n.value?.triageNote,b=>{z.value=b??""});const R=D(()=>_.value!==(n.value?.status??"open")||z.value.trim()!==(n.value?.triageNote??""));async function T(){E.value=!0;try{await $fetch(`/api/failure-clusters/${d}/status`,{method:"PATCH",body:{status:_.value,triageNote:z.value.trim()||null}}),c()}finally{E.value=!1}}const y=g(!1);function j(){y.value=!1,c()}const{copyRich:x,copied:M}=Qe();function N(){const b=n.value;if(!b)return;const A=window.location.href,H=le=>le.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),G=[b.errorType,`${b.occurrences} occurrence${b.occurrences===1?"":"s"}`,`${b.affectedTests} test${b.affectedTests===1?"":"s"} affected`,b.status!=="open"?b.status:null].filter(Boolean).join(" · "),W=b.diagnosis?.status==="completed"&&b.diagnosis.summary?`AI diagnosis (${b.diagnosis.category??"unknown"}, ${b.diagnosis.confidence??"?"} confidence): ${b.diagnosis.summary}`:null,te=[`❌ Failure cluster: ${b.signature}`,G,"",...b.sampleError?["Sample error:",ve(b.sampleError),""]:[],...W?[W,""]:[],`Cluster: ${A}`].join(`
|
|
3
|
-
`),se=[`<p><strong>❌ Failure cluster</strong>: <code>${H(b.signature)}</code></p>`,`<p><em>${H(G)}</em></p>`,b.sampleError?`<p><strong>Sample error:</strong></p><pre>${ye(b.sampleError)}</pre>`:"",W?`<p><strong>AI diagnosis</strong> (${H(b.diagnosis?.category??"unknown")}, ${H(b.diagnosis?.confidence??"?")} confidence):<br>${H(b.diagnosis.summary)}</p>`:"",`<p>🔗 <a href="${A}">View failure cluster</a></p>`].join("");x(te,se,{toast:"Failure cluster copied"})}const O=D(()=>{const b=n.value?.sampleError;return b?ve(b).split(`
|
|
4
|
-
`).find(A=>A.trim())??"":""}),{scmStatus:F}=je(w.coverage),q=D(()=>(n.value?.affectedTestCases??[]).map(b=>({filePath:b.filePath,title:b.title,line:null,projectName:null}))),V=D(()=>Et(q.value)),{copy:P,copied:U}=Mt(),f=g(null),v=g(null),L=g(null),K=g(null),Z=g(null),k=g(null),i={sampleError:()=>f.value,executionError:()=>f.value,environmentDiff:()=>K.value,visualDiff:()=>Z.value,domSnapshot:()=>k.value,scmInvestigation:()=>L.value,selectedCommits:()=>L.value,topSuspectedCommit:()=>L.value,failingAction:()=>L.value,affectedTests:()=>v.value,testSource:()=>v.value,sourceFiles:()=>v.value,steps:()=>v.value,failingSteps:()=>v.value,console:()=>v.value,networkRequests:()=>v.value,serverTraces:()=>v.value,ariaSnapshot:()=>v.value,screenshots:()=>v.value,tracePointers:()=>v.value,artifacts:()=>v.value};ft(bt,{canLocate:b=>b in i,open:b=>i[b]?.()?.reveal()});const ee=D(()=>[{label:"Home",icon:"i-lucide-house",to:"/"},{label:"Projects",to:"/projects"},...n.value?.project?[{label:n.value.project.label||n.value.project.name||"Project",to:`/projects/${n.value.project.id}?tab=failure-clusters`}]:[{label:"Project"}],{label:`Failure cluster #${d}`}]);return(b,A)=>{const H=Pe,G=Oe,W=st,te=ce,se=Ce,le=gt,h=is,ne=Ze,Ie=Xe,Re=Ye,ze=et,Ue=tt,Ve=xe,Ae=ue,Ee=Tt,Me=Is,Le=ae,Ne=wa,Fe=At,Be=pt,De=Oa;return s(),l(B,null,[r(Be,{id:"failure-cluster-detail"},{header:p(()=>[r(le,null,{leading:p(()=>[r(H),r(G,{items:e(ee)},null,8,["items"])]),right:p(()=>[e(n)?(s(),S(W,{key:0,endpoint:`/api/failure-clusters/${e(n).id}/export`,"base-name":`piwi-cluster-${e(n).id}`},null,8,["endpoint","base-name"])):u("",!0),e(n)?(s(),S(se,{key:1,text:e(M)?"Copied!":"Copy failure cluster"},{default:p(()=>[r(te,{size:"sm",variant:"ghost",color:"neutral",icon:e(M)?"i-lucide-check":"i-lucide-clipboard",onClick:N},null,8,["icon"])]),_:1},8,["text"])):u("",!0)]),_:1})]),body:p(()=>[e(n)?(s(),l("div",Ha,[t("div",qa,[r(h,{cluster:e(n),"triage-status":e(_),"triage-note":e(z),"triage-saving":e(E),"triage-changed":e(R),"onUpdate:triageStatus":A[0]||(A[0]=re=>_.value=re),"onUpdate:triageNote":A[1]||(A[1]=re=>z.value=re),onSaveTriage:T},null,8,["cluster","triage-status","triage-note","triage-saving","triage-changed"])]),t("div",Ka,[t("div",Ga,[e(n).sampleError?(s(),S(ne,{key:0,ref_key:"errorSection",ref:f,"storage-key":"cluster-error",icon:"i-lucide-circle-x","icon-class":"text-red-500",title:"Error message"},{folded:p(()=>[t("span",Wa,o(e(O)),1)]),default:p(()=>[t("div",{class:"text-xs font-mono overflow-x-auto whitespace-pre-wrap",innerHTML:e(ye)(e(n).sampleError)},null,8,Ja)]),_:1},512)):u("",!0),e(n).affectedTestCases?.length&&e(n).affectedTestCases[0]?.recentTestRunsCaseId?(s(),S(Ie,{key:1,ref:"locatorSection","storage-key":"cluster-locators","run-id":e(n).lastSeenRunId,"test-runs-case-id":e(n).affectedTestCases[0].recentTestRunsCaseId,"affected-count":e(n).affectedTestCases.length},null,8,["run-id","test-runs-case-id","affected-count"])):u("",!0),e(n).affectedTestCases?.length&&e(n).affectedTestCases[0]?.recentTestRunsCaseId?(s(),S(Re,{key:2,ref_key:"envDiffSection",ref:K,"storage-key":"cluster-env-diff","run-id":e(n).lastSeenRunId,"test-runs-case-id":e(n).affectedTestCases[0].recentTestRunsCaseId},null,8,["run-id","test-runs-case-id"])):u("",!0),e(n).affectedTestCases?.length&&e(n).affectedTestCases[0]?.recentTestRunsCaseId?(s(),S(ze,{key:3,ref_key:"visualDiffSection",ref:Z,"storage-key":"cluster-visual-diff","run-id":e(n).lastSeenRunId,"test-runs-case-id":e(n).affectedTestCases[0].recentTestRunsCaseId},null,8,["run-id","test-runs-case-id"])):u("",!0),e(n).affectedTestCases?.length&&e(n).affectedTestCases[0]?.recentTestRunsCaseId?(s(),S(Ue,{key:4,ref_key:"domSnapshotSection",ref:k,"storage-key":"cluster-dom-snapshot","run-id":e(n).lastSeenRunId,"test-runs-case-id":e(n).affectedTestCases[0].recentTestRunsCaseId},null,8,["run-id","test-runs-case-id"])):u("",!0),e(n).affectedTestCases?.length?(s(),S(ne,{key:5,ref_key:"evidenceSection",ref:v,"storage-key":"cluster-evidence",icon:"i-lucide-flask-conical",title:"Test evidence",help:"cluster.evidence"},{folded:p(()=>[$(o(e(n).affectedTests)+" "+o(e(n).affectedTests===1?"test":"tests")+" · "+o(e(n).occurrences)+" occurrence"+o(e(n).occurrences===1?"":"s")+" · ",1),e(n).affectedTestCases[0]?.filePath?(s(),S(Ve,{key:0,"file-path":e(n).affectedTestCases[0].filePath,"project-key":e(n).project?.id,"project-name":e(n).project?.name,class:"text-xs"},null,8,["file-path","project-key","project-name"])):u("",!0)]),actions:p(()=>[r(Ae,{color:"neutral",variant:"subtle",size:"sm"},{default:p(()=>[$(o(e(n).affectedTestCases.length)+" "+o(e(n).affectedTestCases.length===1?"test":"tests"),1)]),_:1}),r(te,{size:"xs",variant:"outline",color:"neutral",icon:e(U)?"i-lucide-check":"i-lucide-play",title:e(U)?"Copied!":("copyPreview"in b?b.copyPreview:e(St))(e(V)),onClick:A[2]||(A[2]=re=>e(P)(e(V),{toast:"Retry command copied"}))},{default:p(()=>[...A[5]||(A[5]=[$(" Copy retry command ",-1)])]),_:1},8,["icon","title"]),r(Ee,{"project-id":e(n).project?.id,"project-label":e(n).project?.name,cases:e(q),label:"Run affected locally","preset-options":{mode:"grep"}},null,8,["project-id","project-label","cases"]),r(se,{text:"Unlink incorrectly clustered test cases from this group"},{default:p(()=>[r(te,{size:"xs",color:"warning",variant:"outline",icon:"i-lucide-arrow-up-from-line",onClick:A[3]||(A[3]=re=>y.value=!0)},{default:p(()=>[...A[6]||(A[6]=[$(" Extract ",-1)])]),_:1})]),_:1})]),default:p(()=>[r(Me,{"affected-test-cases":e(n).affectedTestCases,"project-key":e(n).project?.id,"project-name":e(n).project?.name},null,8,["affected-test-cases","project-key","project-name"])]),_:1},512)):u("",!0),r(ne,{ref_key:"scmSection",ref:L,"storage-key":"cluster-scm",icon:"i-lucide-git-compare-arrows",title:"What changed",help:"cluster.scm"},{folded:p(()=>[t("span",Qa,[r(Le,{name:e(F).icon,class:X(["size-3.5 shrink-0",e(F).color])},null,8,["name","class"]),t("span",{class:X(e(F).color)},o(e(F).text),3)])]),default:p(()=>[r(Ne)]),_:1},512)]),t("div",Za,[r(Fe,{"cluster-id":e(d),"last-seen-run-id":e(n)?.lastSeenRunId,"affected-test-cases":e(n)?.affectedTestCases??[]},null,8,["cluster-id","last-seen-run-id","affected-test-cases"])])])])):(s(),l("div",Xa,"Cluster not found."))]),_:1}),e(n)?(s(),S(De,{key:0,open:e(y),"cluster-id":e(d),"affected-test-cases":e(n).affectedTestCases??[],"project-key":e(n).project?.id,"project-name":e(n).project?.name,"onUpdate:open":A[4]||(A[4]=re=>y.value=re),onExtracted:j},null,8,["open","cluster-id","affected-test-cases","project-key","project-name"])):u("",!0)],64)}}});export{Ho as default};
|