@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as Os}from"./BV8EzO8q.js";import{_ as Ks}from"./B7zo6PK8.js";import{q as Ue,B as Ft,d as ue,O as Wt,w as ye,a as ge,b as e,o as t,e as y,f as s,h as l,j as Te,c as r,g as n,k as d,t as i,l as j,F as q,z as Y,i as se,_ as Le,H as Oe,x as ee,P as Dt,Q as zt,v as P,r as F,G as qs,m as Ae,n as Bt,E as Et,I as Zt,J as Hs,u as Qs,p as Xs,s as Gs,D as Jt,R as Js,S as Ys}from"./BdQ7kfxJ.js";import{_ as Ws}from"./B4NjylBn.js";import{_ as et,a as Zs}from"./CrsaY0R_.js";import{_ as Fe}from"./D0XWJGhG.js";import{_ as es}from"./CyWOerIG.js";import{u as en}from"./igDJCTgt.js";import{u as he}from"./DTtizz85.js";import{_ as tn}from"./DxPZIuWy.js";import{_ as sn,a as nn}from"./B7uPoZ7T.js";import{_ as ts}from"./B0eHOux4.js";import{_ as Be}from"./HGYIpJtg.js";import{u as an,a as on,i as ln}from"./BL8cYWsR.js";import{_ as rn}from"./9oKY4Zb7.js";import{_ as ss}from"./Drh1_ASq.js";import{b as Ze,s as cn,R as ns,d as as,f as os,t as ls,u as rs,_ as is,a as cs,c as Ut,e as un,l as Yt}from"./DtGJeysS.js";import{_ as je}from"./CfV2N201.js";import{_ as dn}from"./DzJa19LG.js";import{_ as us}from"./C_eXufkv.js";import{_ as mn}from"./D0TpBpCc.js";import{_ as pn}from"./BnhWd06P.js";import{_ as gn}from"./LWIyaZKe.js";import{_ as fn}from"./D5SN7rPK.js";import{_ as Ee}from"./CLrLFf3s.js";import{_ as Pt}from"./BOn5q0rT.js";import{_ as Ke}from"./DPPhFZOr.js";import{a as Nt,d as _n,c as vn,g as yn,j as L,t as hn,e as ds,p as gt,k as dt}from"./DwZS0oRm.js";import{_ as ms}from"./CsGsLxHg.js";import{_ as ft}from"./CPrVhXJk.js";import{_ as tt}from"./Bh2WA4IJ.js";import{_ as xn}from"./CUWrUpTl.js";import{_ as bn}from"./B6djubIK.js";import{_ as kn}from"./C2hIM5f9.js";import{_ as $n}from"./C9A3sPDo.js";import{_ as Cn}from"./D56yp7m9.js";import{_ as Tn}from"./Bp2zrrkV.js";import{M as jn,D as Mt,_ as Sn,g as It}from"./G2J1dVVb.js";import{_ as wn}from"./dg6uXTyR.js";import{_ as Vt}from"./CK2AMqz_.js";import{_ as Rn}from"./DadksxQ9.js";import{u as An}from"./DR1jFptD.js";import{u as Dn}from"./BY9A1aOT.js";import"./Bo73sAu8.js";import"./Bg63qh8W.js";import"./i7znB42v.js";import"./CxwnFFD0.js";import"./BO4sfkbw.js";import"./rPG7kzfL.js";import"./D-c8ZSws.js";import"./EJllK0wm.js";import"./CrZhoZuI.js";import"./r6zkA1SE.js";import"./CZ6WR7uw.js";import"./Bb_1uAHn.js";import"./DKgbchez.js";import"./WZXZeGYt.js";const zn=["run.finished","run.failed","run.failed.default_branch","cluster.new","flakiness.spike","perf.regression","diagnosis.completed","auto_heal.pr_opened"],mt=new Map,pt=new Map;function Mn(D,T){const S=[{event:"run.failed",scenario:{title:`Test run failed — ${D}`,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 — ${D}`,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 — ${D}`,description:"TimeoutError: locator.click: Timeout 30000ms exceeded",icon:"i-lucide-layers",color:"warning"}},{event:"flakiness.spike",scenario:{title:`Flakiness spike — ${D}`,description:"3 tests became flaky (8.3% rate)",icon:"i-lucide-shuffle",color:"warning"}},{event:"perf.regression",scenario:{title:`Performance regression — ${D}`,description:"p90 duration increased by 42% vs last week",icon:"i-lucide-trending-down",color:"warning"}},{event:"run.finished",scenario:{title:`Test run recovered — ${D}`,description:"All 12 tests passed on main",icon:"i-lucide-circle-check",color:"success"}},{event:"diagnosis.completed",scenario:{title:`Diagnosis complete — ${D}`,description:"Root cause: test bug — confidence: high",icon:"i-lucide-sparkles",color:"info"}}],x=S.filter(g=>T.length===0||T.includes(g.event)).map(g=>g.scenario);return x.length===0?[S[0].scenario,S[S.length-1].scenario]:x}function In(){if(!Ft().public.demoMode)return null;const T=Ue();function S(g,f,u){x(g);const z=Mn(f,u);pt.set(g,0);function O(){const M=(pt.get(g)??0)%z.length;pt.set(g,M+1);const h=z[M];T.add({title:h.title,description:h.description,icon:h.icon,color:h.color,duration:7e3});const A=25e3+Math.random()*1e4;mt.set(g,setTimeout(O,A))}mt.set(g,setTimeout(O,8e3))}function x(g){const f=mt.get(g);f!==void 0&&(clearTimeout(f),mt.delete(g)),pt.delete(g)}return{scheduleFor:S,cancelFor:x}}const Un={key:0,class:"p-3 space-y-3"},Fn={key:0,class:"text-xs text-gray-500"},Bn={key:1,class:"text-xs text-gray-500"},En={key:2,class:"text-xs text-gray-500"},Pn={class:"space-y-1"},Nn=["checked","onChange"],Vn={class:"flex items-center justify-between"},Ln={class:"font-medium text-sm inline-flex items-center gap-1"},On={key:0,class:"text-xs text-muted bg-primary/5 rounded px-2 py-1.5"},Kn={key:1,class:"text-xs text-muted text-center py-2"},qn={key:2,class:"space-y-1.5"},Hn={key:0,class:"space-y-2 rounded border border-primary/30 bg-primary/5 px-2 py-2"},Qn={class:"space-y-1"},Xn=["value"],Gn={class:"flex gap-1.5 justify-end"},Jn={class:"flex-1 font-medium truncate"},Yn={key:0,class:"text-primary"},Wn={key:3,class:"text-xs text-muted text-center py-1"},Zn={key:4,class:"space-y-2 border-t border-default pt-2"},ea={class:"space-y-1"},ta=["value"],sa={key:0,class:"flex items-center gap-1.5 text-xs cursor-pointer",title:"Deliver to this channel for everyone, not tied to your account"},na={class:"flex gap-1.5 justify-end"},aa=ue({__name:"SubscribeBell",props:{projectId:{},projectLabel:{}},async setup(D){let T,S;const x=D,g=Ft(),f=g.public.demoMode,u=P(()=>g.public.authEnabled),{authState:z,canSeeAdmin:O}=Wt(),M=P(()=>z.value.authenticated),h=Ue(),A=F(!1),w=f?In():null,U=!u.value&&!f?en():null,m=F("default"),p=P(()=>"Notification"in window);"Notification"in window&&(m.value=Notification.permission);const _=P(()=>U?.getProject(x.projectId).events??[]),v=P(()=>U?.isSubscribed(x.projectId)??!1);async function R(){!p.value||m.value!=="default"||(m.value=await Notification.requestPermission())}function I(N){return _.value.includes(N)}function B(N){U?.toggleEvent(x.projectId,N)}const K=f||!u.value||M.value,k=f?{server:!1}:{},{data:X,refresh:$}=([T,S]=ye(()=>he(`/api/subscriptions?projectId=${x.projectId}`,{immediate:K,...k},"$APDuK86tlj")),T=await T,S(),T),H=P(()=>X.value?.items??[]),G=P(()=>H.value.length>0),{data:b}=([T,S]=ye(()=>he("/api/channels",{immediate:K,...k},"$uK3f0xlELn")),T=await T,S(),T),C=P(()=>b.value?.items??[]),J=F(!1),de=F(void 0),fe=F(["run.failed"]),xe=F(!1),qe=F(!1),st=P(()=>C.value.find(N=>N.id===de.value)),He=P(()=>u.value&&O.value&&st.value?.userId===null);function _t(N){return N.userId===null?O.value:!0}const be=F(null),W=F(void 0),ke=F([]),Qe=F(!1);function Xe(N){be.value=N,W.value=N.channel.id,ke.value=[...N.events]}function vt(){be.value=null}async function re(){if(!(!be.value||!W.value||ke.value.length===0)){Qe.value=!0;try{await $fetch(`/api/subscriptions/${be.value.id}`,{method:"PATCH",body:{channelId:W.value,events:ke.value}}),await $(),be.value=null}catch(N){h.add({title:"Update failed",description:String(N?.message??N),color:"error"})}finally{Qe.value=!1}}}const $e=P(()=>C.value.map(N=>({label:N.type==="personal_email"?`${N.name} (${N.config.address})`:N.name,value:N.id}))),De=zn.map(N=>({label:N==="auto_heal.pr_opened"?"Auto-heal › PR opened":N.replace(/\./g," › "),value:N}));ge(A,N=>{N?(K&&$(),C.value.length>0&&!de.value&&(de.value=C.value[0].id)):(J.value=!1,be.value=null)});async function yt(){if(!(!de.value||fe.value.length===0)){qe.value=!0;try{await $fetch("/api/subscriptions",{method:"POST",body:{channelId:de.value,projectId:x.projectId,events:fe.value,mode:"realtime",...He.value&&xe.value?{global:!0}:{}}}),await $(),J.value=!1,xe.value=!1,h.add({title:"Subscribed",color:"success"}),f&&w?.scheduleFor(x.projectId,x.projectLabel||"this project",fe.value)}catch(N){h.add({title:"Subscribe failed",description:String(N?.message??N),color:"error"})}finally{qe.value=!1}}}async function ht(N){try{await $fetch(`/api/subscriptions/${N}`,{method:"DELETE"}),await $(),h.add({title:"Unsubscribed",color:"success"}),f&&H.value.length===0&&w?.cancelFor(x.projectId)}catch(V){h.add({title:"Failed",description:String(V?.message??V),color:"error"})}}async function _e(N){const V=N.mutedUntil&&new Date(N.mutedUntil)>new Date;try{await $fetch(`/api/subscriptions/${N.id}`,{method:"PATCH",body:{mutedUntil:V?null:new Date(Date.now()+10080*60*1e3).toISOString()}}),await $()}catch(ne){h.add({title:"Failed",description:String(ne?.message??ne),color:"error"})}}function ie(N){return N.mutedUntil&&new Date(N.mutedUntil)>new Date}function nt(N){return N==="personal_email"?"i-lucide-user-round":N==="email"?"i-lucide-mail":N==="slack"?"i-lucide-slack":"i-lucide-webhook"}const at=P(()=>f||u.value&&M.value||U!=null),Pe=P(()=>f||u.value?G.value:v.value||G.value);return(N,V)=>{const ne=Te,xt=Ws,bt=et,Se=Le,kt=Oe,Ge=Fe,we=es,ot=qs;return e(at)?(t(),y(ot,{key:0,open:e(A),"onUpdate:open":V[7]||(V[7]=Q=>ee(A)?A.value=Q:null),ui:{content:"w-72"}},{content:s(()=>[e(U)?(t(),r("div",Un,[V[10]||(V[10]=n("div",{class:"flex items-center justify-between"},[n("span",{class:"font-medium text-sm"},"Browser notifications")],-1)),e(p)&&e(m)==="default"?(t(),r("p",Fn,[l(ne,{variant:"link",size:"xs",class:"p-0",onClick:R},{default:s(()=>[...V[8]||(V[8]=[d(" Allow notifications ",-1)])]),_:1}),V[9]||(V[9]=d(" "+i(" ")+"in your browser to get alerts for this project. ",-1))])):e(p)&&e(m)==="denied"?(t(),r("p",Bn," Notifications are blocked. Check your browser settings to allow them. ")):e(p)?j("",!0):(t(),r("p",En,"Notifications are not supported in this browser.")),e(p)&&e(m)==="granted"?(t(),r(q,{key:3},[l(xt),n("div",Pn,[(t(!0),r(q,null,Y(e(De),Q=>(t(),r("label",{key:Q.value,class:"flex items-center gap-1.5 text-xs cursor-pointer"},[n("input",{type:"checkbox",checked:I(Q.value),class:"accent-primary size-3",onChange:me=>B(Q.value)},null,40,Nn),d(" "+i(Q.label),1)]))),128))])],64)):j("",!0)])):j("",!0),e(K)?(t(),r("div",{key:1,class:se(["p-3 space-y-3",e(U)?"border-t border-default":""])},[n("div",Vn,[n("span",Ln,[d(i(e(U)?"Channel subscriptions":"Notifications")+" ",1),l(bt,{topic:"notifications.subscribe"})]),e(J)?j("",!0):(t(),y(ne,{key:0,size:"xs",icon:"i-lucide-plus",variant:"ghost",color:"neutral",disabled:e(C).length===0,onClick:V[0]||(V[0]=Q=>J.value=!0)},{default:s(()=>[...V[11]||(V[11]=[d(" Add ",-1)])]),_:1},8,["disabled"]))]),e(f)?(t(),r("div",On,[l(Se,{name:"i-lucide-sparkles",class:"size-3 inline-block mr-1 text-primary"}),V[12]||(V[12]=d(" Demo — notifications will appear as toasts in ~8 s. ",-1))])):e(C).length===0?(t(),r("div",Kn,[V[14]||(V[14]=d(" No channels configured.",-1)),V[15]||(V[15]=n("br",null,null,-1)),l(kt,{to:"/settings/notifications",class:"text-primary underline"},{default:s(()=>[...V[13]||(V[13]=[d("Add one in Settings",-1)])]),_:1})])):j("",!0),e(H).length>0?(t(),r("div",qn,[(t(!0),r(q,null,Y(e(H),Q=>(t(),r(q,{key:Q.id},[e(be)?.id===Q.id?(t(),r("div",Hn,[l(we,{label:"Channel",size:"xs"},{default:s(()=>[l(Ge,{modelValue:e(W),"onUpdate:modelValue":V[1]||(V[1]=me=>ee(W)?W.value=me:null),items:e($e),"value-key":"value",class:"w-full text-xs",size:"xs"},null,8,["modelValue","items"])]),_:1}),l(we,{label:"Events",size:"xs"},{default:s(()=>[n("div",Qn,[(t(!0),r(q,null,Y(e(De),me=>(t(),r("label",{key:me.value,class:"flex items-center gap-1.5 text-xs cursor-pointer"},[Dt(n("input",{type:"checkbox",value:me.value,"onUpdate:modelValue":V[2]||(V[2]=Je=>ee(ke)?ke.value=Je:null),class:"accent-primary size-3"},null,8,Xn),[[zt,e(ke)]]),d(" "+i(me.label),1)]))),128))])]),_:1}),n("div",Gn,[l(ne,{size:"xs",color:"neutral",variant:"ghost",onClick:vt},{default:s(()=>[...V[16]||(V[16]=[d("Cancel",-1)])]),_:1}),l(ne,{size:"xs",color:"primary",loading:e(Qe),disabled:!e(W)||e(ke).length===0,onClick:re},{default:s(()=>[...V[17]||(V[17]=[d(" Save ",-1)])]),_:1},8,["loading","disabled"])])])):(t(),r("div",{key:1,class:se(["flex items-center gap-2 rounded px-2 py-1.5 text-xs",ie(Q)?"opacity-60":""])},[l(Se,{name:nt(Q.channel.type),class:"size-3.5 text-muted shrink-0"},null,8,["name"]),n("span",Jn,[d(i(Q.channel.name)+" ",1),Q.userId===null&&e(u)?(t(),r("span",Yn,"(global)")):j("",!0)]),_t(Q)?(t(),r(q,{key:0},[l(ne,{icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"xs",title:"Edit subscription",onClick:me=>Xe(Q)},null,8,["onClick"]),l(ne,{icon:ie(Q)?"i-lucide-bell":"i-lucide-bell-off",color:"neutral",variant:"ghost",size:"xs",title:ie(Q)?"Unmute":"Mute 7 days",onClick:me=>_e(Q)},null,8,["icon","title","onClick"]),l(ne,{icon:"i-lucide-x",color:"error",variant:"ghost",size:"xs",title:"Unsubscribe",onClick:me=>ht(Q.id)},null,8,["onClick"])],64)):j("",!0)],2))],64))),128))])):!e(J)&&e(C).length>0?(t(),r("div",Wn," Not subscribed to this project. ")):j("",!0),e(J)?(t(),r("div",Zn,[l(we,{label:"Channel",size:"xs"},{default:s(()=>[l(Ge,{modelValue:e(de),"onUpdate:modelValue":V[3]||(V[3]=Q=>ee(de)?de.value=Q:null),items:e($e),"value-key":"value",class:"w-full text-xs",size:"xs"},null,8,["modelValue","items"])]),_:1}),l(we,{label:"Events",size:"xs"},{default:s(()=>[n("div",ea,[(t(!0),r(q,null,Y(e(De),Q=>(t(),r("label",{key:Q.value,class:"flex items-center gap-1.5 text-xs cursor-pointer"},[Dt(n("input",{type:"checkbox",value:Q.value,"onUpdate:modelValue":V[4]||(V[4]=me=>ee(fe)?fe.value=me:null),class:"accent-primary size-3"},null,8,ta),[[zt,e(fe)]]),d(" "+i(Q.label),1)]))),128))])]),_:1}),e(He)?(t(),r("label",sa,[Dt(n("input",{type:"checkbox","onUpdate:modelValue":V[5]||(V[5]=Q=>ee(xe)?xe.value=Q:null),class:"accent-primary size-3"},null,512),[[zt,e(xe)]]),V[18]||(V[18]=d(" Instance-wide (global) ",-1))])):j("",!0),n("div",na,[l(ne,{size:"xs",color:"neutral",variant:"ghost",onClick:V[6]||(V[6]=Q=>J.value=!1)},{default:s(()=>[...V[19]||(V[19]=[d("Cancel",-1)])]),_:1}),l(ne,{size:"xs",color:"primary",loading:e(qe),disabled:!e(de)||e(fe).length===0,onClick:yt},{default:s(()=>[...V[20]||(V[20]=[d(" Subscribe ",-1)])]),_:1},8,["loading","disabled"])])])):j("",!0)],2)):j("",!0)]),default:s(()=>[l(ne,{icon:e(Pe)?"i-lucide-bell-ring":"i-lucide-bell",size:"sm",color:e(Pe)?"primary":"neutral",variant:e(Pe)?"soft":"outline",title:"Notification subscriptions for this project"},null,8,["icon","color","variant"])]),_:1},8,["open"])):j("",!0)}}}),oa=Object.assign(aa,{__name:"SubscribeBell"}),la={class:"flex flex-wrap items-center justify-between gap-3"},ra={class:"flex items-center gap-2 min-w-0 text-sm"},ia={class:"text-xs break-all"},ca={key:1,class:"text-muted"},ua=ue({__name:"DesktopProjectLinkCard",props:{projectId:{}},setup(D){const T=D,{available:S,link:x}=an(()=>T.projectId),g=F(null);ge(()=>x.value?.path,async u=>{g.value=u&&x.value?.exists?await on(u):null},{immediate:!0});const f=P(()=>ln(g.value));return(u,z)=>{const O=Le,M=Ae,h=Te,A=Be;return e(S)?(t(),y(A,{key:0,class:"shrink-0",ui:{body:"p-3 sm:p-3"}},{default:s(()=>[n("div",la,[n("div",ra,[l(O,{name:e(x)?e(x).exists?"i-lucide-folder-check":"i-lucide-folder-x":"i-lucide-folder-symlink",class:se(["size-4 shrink-0",e(x)?e(x).exists?"text-success":"text-warning":"text-muted"])},null,8,["name","class"]),e(x)?(t(),r(q,{key:0},[n("code",ia,i(e(x).path),1),e(x).exists?e(f)?(t(),y(M,{key:1,color:"success",variant:"subtle",size:"sm"},{default:s(()=>[...z[1]||(z[1]=[d("ready",-1)])]),_:1})):e(g)?(t(),y(M,{key:2,color:"warning",variant:"subtle",size:"sm"},{default:s(()=>[...z[2]||(z[2]=[d("needs setup",-1)])]),_:1})):j("",!0):(t(),y(M,{key:0,color:"warning",variant:"subtle",size:"sm"},{default:s(()=>[...z[0]||(z[0]=[d("missing",-1)])]),_:1}))],64)):(t(),r("span",ca," No local folder linked — link this project’s checkout to run tests from here and open files in your IDE. "))]),l(h,{size:"xs",color:"neutral",variant:"soft",icon:e(x)?"i-lucide-settings-2":"i-lucide-folder-plus",to:`/projects/${D.projectId}/edit#local-folder`,title:e(x)?"Manage the linked folder in project settings":"Link a folder in project settings"},{default:s(()=>[d(i(e(x)?"Manage":"Link folder"),1)]),_:1},8,["icon","to","title"])])]),_:1})):j("",!0)}}}),da=Object.assign(ua,{__name:"DesktopProjectLinkCard"}),ma={class:"w-full"},pa=["x","y","width","height","fill"],ga=["x","y"],fa=["x","width","height","fill","onClick","onMouseenter"],_a={class:"font-semibold mb-1"},va={class:"capitalize mb-1"},ya={class:"space-y-0.5"},ha={class:"font-medium mt-1"},xa=ue({__name:"TestRunsChart",props:{testRuns:{},height:{default:150},markers:{default:()=>[]}},emits:["marker-click"],setup(D,{emit:T}){const S=D,x=T,g=P(()=>!S.testRuns||S.testRuns.length===0?[]:[...S.testRuns].sort((_,v)=>new Date(_.startTime).getTime()-new Date(v.startTime).getTime()).slice(-30).map(_=>{const v=_.flakyTests||0,R=_.passedTests||0;return{id:_.id,date:new Date(_.startTime),passed:Math.max(0,R-v),failed:_.failedTests||0,skipped:_.skippedTests||0,flaky:v,total:_.totalTests||0,status:_.status}})),f=P(()=>Math.max(1,...g.value.map(p=>p.passed+p.failed+p.skipped+p.flaky))),u=P(()=>g.value.map(p=>p.date));function z(p,_,v){const R=Ze(g.value.length,p);return g.value.map((I,B)=>({d:I,slotX:B*R.slotWidth,slotWidth:R.slotWidth,barX:R.xOf(B),barWidth:R.barWidth,segments:cn(ns.map(K=>({color:K.color,value:I[K.key]})),_,v)}))}function O(p){const{centerOf:_}=Ze(g.value.length,p);return as(u.value,Math.max(2,Math.floor(p/80))).map(v=>({x:_(v),label:os(u.value[v])}))}function M(p,_){const{centerOf:v}=Ze(g.value.length,p),R=g.value.map((I,B)=>v(B));return ls(u.value,R,new Date(_).getTime())}const{data:h,pos:A,show:w,move:U,hide:m}=rs();return(p,_)=>{const v=ss,R=is,I=je,B=cs;return t(),r("div",ma,[e(g).length>0?(t(),y(R,{key:0,height:D.height,"y-max":e(f)},{default:s(({plotWidth:K,plotHeight:k,yScale:X})=>[(t(!0),r(q,null,Y(z(K,k,X),$=>(t(),r(q,{key:$.d.id},[(t(!0),r(q,null,Y($.segments,H=>(t(),r("rect",{key:H.color,x:$.barX,y:H.y,width:$.barWidth,height:H.height,fill:H.color},null,8,pa))),128))],64))),128)),(t(!0),r(q,null,Y(O(K),$=>(t(),r("text",{key:$.x,x:$.x,y:k+14,"text-anchor":"middle",class:"fill-gray-400 dark:fill-gray-500 text-[10px]"},i($.label),9,ga))),128)),l(v,{markers:D.markers,"x-of":$=>M(K,$),"plot-height":k,onMarkerClick:_[0]||(_[0]=$=>x("marker-click",$))},null,8,["markers","x-of","plot-height"]),(t(!0),r(q,null,Y(z(K,k,X),$=>(t(),r("rect",{key:`hover-${$.d.id}`,x:$.slotX,y:0,width:$.slotWidth,height:k,fill:e(h)?.id===$.d.id?"rgb(148 163 184 / 0.15)":"transparent",class:"cursor-pointer",onClick:H=>("navigateTo"in p?p.navigateTo:e(Bt))(`/test-runs/${$.d.id}`),onMouseenter:H=>e(w)(H,$.d),onMousemove:_[1]||(_[1]=H=>e(U)(H)),onMouseleave:_[2]||(_[2]=H=>e(m)())},null,40,fa))),128))]),_:1},8,["height","y-max"])):(t(),y(I,{key:1,text:"No test run data available to display chart"})),e(h)?(t(),y(B,{key:2,pos:e(A)},{default:s(()=>[n("div",_a,i(e(h).date.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1),n("div",va,"Status: "+i(e(h).status),1),n("div",ya,[n("div",null,[_[3]||(_[3]=n("span",{class:"text-red-500 dark:text-red-400"},"●",-1)),d(" Failed: "+i(e(h).failed),1)]),n("div",null,[_[4]||(_[4]=n("span",{class:"text-purple-500 dark:text-purple-400"},"●",-1)),d(" Flaky: "+i(e(h).flaky),1)]),n("div",null,[_[5]||(_[5]=n("span",{class:"text-orange-500 dark:text-orange-400"},"●",-1)),d(" Skipped: "+i(e(h).skipped),1)]),n("div",null,[_[6]||(_[6]=n("span",{class:"text-green-500 dark:text-green-400"},"●",-1)),d(" Passed: "+i(e(h).passed),1)]),n("div",ha,"Total: "+i(e(h).total),1)]),_[7]||(_[7]=n("div",{class:"text-gray-400 dark:text-gray-500 text-xs mt-1"},"Click to view run details",-1))]),_:1},8,["pos"])):j("",!0)])}}}),ba=Object.assign(xa,{__name:"TestRunsChart"}),ka={class:"space-y-3"},$a={class:"min-w-0 space-y-1"},Ca={class:"flex items-center gap-2 flex-wrap text-sm"},Ta={key:0,class:"text-gray-500"},ja=["title"],Sa=["title"],wa={key:0,class:"text-xs text-gray-500 italic"},Ra={class:"flex items-center gap-2 shrink-0"},Aa=ue({__name:"ClusterMergeSuggestions",props:{projectId:{}},emits:["merged"],setup(D,{emit:T}){const S=D,x=T,g=Ue(),f=F([]),u=F(null);async function z(){try{f.value=(await $fetch(`/api/projects/${S.projectId}/cluster-merge-suggestions`)).items}catch{f.value=[]}}ge(()=>S.projectId,z,{immediate:!0});async function O(h,A){u.value=h;try{await $fetch(`/api/cluster-merge-suggestions/${h}/${A}`,{method:"POST"}),g.add({title:A==="approve"?"Clusters merged":"Suggestion dismissed",color:"success"}),await z(),A==="approve"&&x("merged")}catch(w){g.add({title:"Action failed",description:String(w?.message??w),color:"error"})}finally{u.value=null}}const M=h=>h==null?"":`${Math.round(h*100)}% similar`;return(h,A)=>{const w=Ae,U=Te,m=Pt;return e(f).length?(t(),y(m,{key:0,icon:"i-lucide-git-merge",title:"Suggested merges",count:e(f).length,class:"mb-4"},{subtitle:s(()=>[...A[0]||(A[0]=[d(" Likely-duplicate clusters found by semantic analysis. Approving merges them into the older cluster. ",-1)])]),default:s(()=>[n("div",ka,[(t(!0),r(q,null,Y(e(f),p=>(t(),r("div",{key:p.id,class:"rounded-lg border border-default p-3 flex items-start justify-between gap-4"},[n("div",$a,[n("div",Ca,[l(w,{color:p.method==="llm"?"primary":"neutral",variant:"subtle",size:"sm"},{default:s(()=>[d(i(p.method==="llm"?`AI · ${p.llmConfidence??""}`:"similarity"),1)]),_:2},1032,["color"]),M(p.score)?(t(),r("span",Ta,i(M(p.score)),1)):j("",!0)]),n("p",{class:"text-sm truncate",title:p.clusterA?.signature||""},[A[1]||(A[1]=n("span",{class:"text-gray-400"},"A:",-1)),d(" "+i(p.clusterA?.signature||`#${p.id}`),1)],8,ja),n("p",{class:"text-sm truncate",title:p.clusterB?.signature||""},[A[2]||(A[2]=n("span",{class:"text-gray-400"},"B:",-1)),d(" "+i(p.clusterB?.signature||""),1)],8,Sa),p.llmReason?(t(),r("p",wa,i(p.llmReason),1)):j("",!0)]),n("div",Ra,[l(U,{size:"sm",color:"primary",icon:"i-lucide-git-merge",loading:e(u)===p.id,onClick:_=>O(p.id,"approve")},{default:s(()=>[...A[3]||(A[3]=[d(" Merge ",-1)])]),_:1},8,["loading","onClick"]),l(U,{size:"sm",color:"neutral",variant:"ghost",icon:"i-lucide-x",disabled:e(u)===p.id,onClick:_=>O(p.id,"reject")},{default:s(()=>[...A[4]||(A[4]=[d(" Dismiss ",-1)])]),_:1},8,["disabled","onClick"])])]))),128))])]),_:1},8,["count"])):j("",!0)}}}),Da=Object.assign(Aa,{__name:"ClusterMergeSuggestions"}),za={class:"flex items-center justify-between"},Ma={class:"text-sm text-gray-500 inline-flex items-center gap-1"},Ia={class:"min-w-0 space-y-0.5"},Ua={key:0,class:"text-xs text-gray-500 italic truncate"},Fa={key:1,class:"text-gray-400 text-xs"},Ba={class:"space-y-1"},Ea={class:"text-sm tabular-nums"},Pa={class:"text-sm tabular-nums"},Na={key:1,class:"text-gray-400 text-xs"},Va={class:"text-sm text-gray-500 whitespace-nowrap"},La={key:0,class:"ml-1 text-xs text-gray-400"},Oa={class:"flex justify-end"},Ka=ue({__name:"FailureClustersList",props:{projectId:{}},async setup(D){let T,S;const x=D,g=F(void 0),{data:f,pending:u}=([T,S]=ye(()=>he(()=>{const M=new URLSearchParams;g.value&&M.set("status",g.value);const h=M.toString();return`/api/projects/${x.projectId}/failure-clusters${h?`?${h}`:""}`},{lazy:!0,server:!1,watch:[g],transform:M=>M.items},"$fqv4nq7Mtw")),T=await T,S(),T),z=M=>yn(M.fixVerification),O=[{accessorKey:"signature",header:L("Signature")},{accessorKey:"errorType",header:L("Type")},{accessorKey:"status",header:L("Status")},{accessorKey:"affectedTests",header:L("Tests")},{accessorKey:"occurrences",header:L("Occurrences")},{accessorKey:"diagnosis",header:"AI"},{accessorKey:"lastSeenAt",header:L("Last seen")},{id:"actions",header:"Actions"}];return(M,h)=>{const A=et,w=Fe,U=Oe,m=Ae,p=Le,_=us,v=Te,R=Ee,I=Ke,B=je,K=Be;return t(),y(K,{"data-shot":"failure-clusters"},{header:s(()=>[n("div",za,[n("p",Ma,[h[1]||(h[1]=d(" Ongoing failure signatures grouped by normalized error. ",-1)),l(A,{topic:"cluster.concept"})]),l(w,{modelValue:e(g),"onUpdate:modelValue":h[0]||(h[0]=k=>ee(g)?g.value=k: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:s(()=>[l(I,{"min-width":"48rem",bleed:!1},{default:s(()=>[l(R,{data:e(f)??[],columns:O,loading:e(u)},{"actions-header":s(()=>[...h[2]||(h[2]=[n("div",{class:"text-right"},"Actions",-1)])]),"signature-cell":s(({row:k})=>[n("div",Ia,[l(U,{to:`/failure-clusters/${k.original.id}`,class:se(["text-sm text-primary hover:underline truncate block",k.original.title?"":"font-mono"]),title:k.original.signature},{default:s(()=>[d(i(k.original.title||k.original.signature),1)]),_:2},1032,["to","class","title"]),k.original.triageNote?(t(),r("p",Ua,i(k.original.triageNote),1)):j("",!0)])]),"errorType-cell":s(({row:k})=>[k.original.errorType?(t(),y(m,{key:0,color:("clusterErrorTypeColor"in M?M.clusterErrorTypeColor:e(vn))(k.original.errorType),variant:"subtle",size:"sm"},{default:s(()=>[d(i(k.original.errorType),1)]),_:2},1032,["color"])):(t(),r("span",Fa,"—"))]),"status-cell":s(({row:k})=>[n("div",Ba,[l(m,{color:("clusterStatusColor"in M?M.clusterStatusColor:e(_n))(k.original.status),variant:"subtle",size:"sm"},{default:s(()=>[d(i(k.original.status),1)]),_:2},1032,["color"]),z(k.original)?(t(),y(_,{key:0,text:z(k.original).hint},{default:s(()=>[l(m,{color:z(k.original).color,variant:"subtle",size:"sm",class:"gap-1"},{default:s(()=>[l(p,{name:z(k.original).icon,class:"size-3"},null,8,["name"]),d(" "+i(z(k.original).label),1)]),_:2},1032,["color"])]),_:2},1032,["text"])):j("",!0)])]),"affectedTests-cell":s(({row:k})=>[n("span",Ea,i(k.original.affectedTests),1)]),"occurrences-cell":s(({row:k})=>[n("span",Pa,i(k.original.occurrences),1)]),"diagnosis-cell":s(({row:k})=>[k.original.diagnosis?.status==="completed"&&k.original.diagnosis.category?(t(),y(m,{key:0,color:"neutral",variant:"subtle",size:"sm",class:"gap-1"},{default:s(()=>[l(p,{name:"i-lucide-sparkles",class:"size-3"}),d(" "+i(k.original.diagnosis.category),1)]),_:2},1024)):(t(),r("span",Na,"—"))]),"lastSeenAt-cell":s(({row:k})=>[n("div",Va,[l(U,{to:`/test-runs/${k.original.lastSeenRunId}`,class:"text-primary hover:underline"},{default:s(()=>[d(" run #"+i(k.original.lastSeenRunId),1)]),_:2},1032,["to"]),k.original.lastSeenAt?(t(),r("span",La," ("+i(("formatRelativeTime"in M?M.formatRelativeTime:e(Nt))(k.original.lastSeenAt))+") ",1)):j("",!0)])]),"actions-cell":s(({row:k})=>[n("div",Oa,[l(v,{to:`/failure-clusters/${k.original.id}`,size:"sm",variant:"outline","trailing-icon":"i-lucide-arrow-right"},{default:s(()=>[...h[3]||(h[3]=[d(" View ",-1)])]),_:1},8,["to"])])]),_:1},8,["data","loading"])]),_:1}),!e(u)&&e(f)&&e(f).length===0?(t(),y(B,{key:0,text:"No failure clusters recorded for this project.",padded:!1,class:"py-4"})):j("",!0)]),_:1})}}}),qa=Object.assign(Ka,{__name:"FailureClustersList"}),Ha={class:"flex items-center justify-between"},Qa={class:"flex items-center gap-3"},Xa={class:"text-sm text-gray-500 inline-flex items-center gap-1"},Ga={class:"flex items-center gap-1.5"},Ja={class:"min-w-0 space-y-0.5"},Ya={class:"flex items-center gap-2"},Wa={class:"text-sm tabular-nums"},Za={class:"text-sm tabular-nums"},eo={key:1,class:"text-gray-400 text-xs"},to={key:1,class:"text-gray-400 text-xs"},so={key:1,class:"text-gray-400 text-xs"},no={key:0,class:"text-sm text-gray-500"},ao={key:1,class:"text-gray-400 text-xs"},oo={class:"flex justify-end"},lo={key:0,class:"text-sm text-gray-500 py-4 text-center"},ro=ue({__name:"FlakyTestsList",props:{projectId:{},environment:{},branch:{},projectName:{}},async setup(D){let T,S;const x=D,g=F(50),f=F([]),{data:u,pending:z}=([T,S]=ye(()=>he(()=>{const m=new URLSearchParams({runs:String(g.value)});return x.environment&&m.set("environment",x.environment),x.branch&&m.set("branch",x.branch),`/api/projects/${x.projectId}/flaky-tests?${m.toString()}`},{lazy:!0,server:!1,watch:[g,()=>x.environment,()=>x.branch],transform:m=>m.items},"$BbmtLKIPAB")),T=await T,S(),T),O=P(()=>f.value.length===0?u.value??[]:(u.value??[]).filter(m=>f.value.includes(m.rootCause??"")));function M(m){return m>=60?"error":m>=30?"warning":"neutral"}function h(m){switch(m){case"timing":return"amber";case"network":return"red";case"assertion":return"blue";case"environment":return"purple";default:return"gray"}}function A(m){f.value.indexOf(m)>=0?f.value=f.value.filter(_=>_!==m):f.value=[...f.value,m]}const w=[{label:"Timing",value:"timing"},{label:"Network",value:"network"},{label:"Assertion",value:"assertion"},{label:"Environment",value:"environment"},{label:"Other",value:"other"}],U=[{accessorKey:"title",header:L("Test")},{accessorKey:"impact",header:L("Impact")},{accessorKey:"score",header:L("Score")},{accessorKey:"failureRate",header:L("Failure rate")},{accessorKey:"retryPassRuns",header:L("Retry passes")},{accessorKey:"alternations",header:L("Flips")},{accessorKey:"rootCause",header:"Root cause"},{accessorKey:"lastFlakeAt",header:L("Last flake")},{id:"actions",header:"Actions"}];return(m,p)=>{const _=et,v=Le,R=Ae,I=Te,B=Fe,K=Oe,k=ms,X=ft,$=ts,H=Ee,G=Ke,b=Be;return t(),y(b,{"data-shot":"flaky-table"},{header:s(()=>[n("div",Ha,[n("div",Qa,[n("p",Xa,[p[1]||(p[1]=d(" Tests that fail intermittently — detected by retry passes and status alternations ",-1)),l(_,{topic:"project.flaky-tests"})]),D.environment?(t(),y(R,{key:0,color:"neutral",variant:"subtle",size:"sm",class:"gap-1"},{default:s(()=>[l(v,{name:"i-lucide-layers",class:"size-3"}),d(" "+i(D.environment),1)]),_:1})):j("",!0),n("div",Ga,[(t(),r(q,null,Y(w,C=>l(I,{key:C.value,size:"xs",variant:e(f).includes(C.value)?"solid":"outline",color:(e(f).includes(C.value),"neutral"),onClick:J=>A(C.value)},{default:s(()=>[d(i(C.label),1)]),_:2},1032,["variant","color","onClick"])),64))])]),l(B,{modelValue:e(g),"onUpdate:modelValue":p[0]||(p[0]=C=>ee(g)?g.value=C: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:s(()=>[l(G,{"min-width":"52rem",bleed:!1},{default:s(()=>[l(H,{data:e(O),columns:U,loading:e(z),sticky:"",class:"max-h-[32rem]"},{"actions-header":s(()=>[...p[2]||(p[2]=[n("div",{class:"text-right"},"Actions",-1)])]),"title-cell":s(({row:C})=>[n("div",Ja,[l(K,{to:`/test-run-cases/${C.original.latestRunsCaseId}`,class:"text-sm font-medium text-primary hover:underline truncate block",title:C.original.title},{default:s(()=>[d(i(C.original.title),1)]),_:2},1032,["to","title"]),l(k,{tags:C.original.tags,meta:{owner:C.original.owner??void 0,priority:("toTestPriority"in m?m.toTestPriority:e(hn))(C.original.priority)},"max-tags":3},null,8,["tags","meta"]),l(X,{"file-path":C.original.filePath,"project-key":D.projectId,"project-name":D.projectName,class:"text-xs text-gray-400"},null,8,["file-path","project-key","project-name"])])]),"impact-cell":s(({row:C})=>[n("div",Ya,[n("span",{class:se(["inline-block w-2 h-2 rounded-full shrink-0",{"bg-red-500":C.original.wastedCiMinutes>=30,"bg-amber-500":C.original.wastedCiMinutes>=5&&C.original.wastedCiMinutes<30,"bg-green-500":C.original.wastedCiMinutes>=0&&C.original.wastedCiMinutes<5}])},null,2),n("span",Wa,i(Math.round(C.original.wastedCiMinutes))+" min wasted",1)])]),"score-cell":s(({row:C})=>[l(R,{color:M(C.original.score),variant:"subtle",size:"sm"},{default:s(()=>[d(i(C.original.score),1)]),_:2},1032,["color"])]),"failureRate-cell":s(({row:C})=>[n("span",Za,i(Math.round(C.original.failureRate*100))+"%",1)]),"retryPassRuns-cell":s(({row:C})=>[C.original.retryPassRuns?(t(),y(R,{key:0,color:"warning",variant:"outline",size:"sm"},{default:s(()=>[d(i(C.original.retryPassRuns)+" run"+i(C.original.retryPassRuns===1?"":"s"),1)]),_:2},1024)):(t(),r("span",eo,"—"))]),"alternations-cell":s(({row:C})=>[C.original.alternations>=2?(t(),y(R,{key:0,color:"neutral",variant:"outline",size:"sm"},{default:s(()=>[d(i(C.original.alternations),1)]),_:2},1024)):(t(),r("span",to,"—"))]),"rootCause-cell":s(({row:C})=>[C.original.rootCause?(t(),y($,{key:0,text:C.original.rootCause,color:h(C.original.rootCause)},null,8,["text","color"])):(t(),r("span",so,"—"))]),"lastFlakeAt-cell":s(({row:C})=>[C.original.lastFlakeAt?(t(),r("span",no,i(("formatRelativeTime"in m?m.formatRelativeTime:e(Nt))(C.original.lastFlakeAt)),1)):(t(),r("span",ao,"—"))]),"actions-cell":s(({row:C})=>[n("div",oo,[l(I,{to:`/test-run-cases/${C.original.latestRunsCaseId}`,size:"sm",variant:"outline","trailing-icon":"i-lucide-arrow-right"},{default:s(()=>[...p[3]||(p[3]=[d(" View ",-1)])]),_:1},8,["to"])])]),_:1},8,["data","loading"])]),_:1}),!e(z)&&e(O).length===0?(t(),r("p",lo," No flaky tests detected in the last "+i(e(g))+" runs. ",1)):j("",!0)]),_:1})}}}),io=Object.assign(ro,{__name:"FlakyTestsList"}),co={class:"w-full"},uo=["d","stroke"],mo=["cx","cy","fill"],po=["x","y"],go=["x","width","height","fill","onClick","onMouseenter"],fo={class:"font-semibold mb-1"},_o={class:"capitalize mb-1"},vo={class:"space-y-0.5"},yo={class:"mt-1"},ho={key:0,class:"text-gray-400 dark:text-gray-500 text-xs"},xo=ue({__name:"PerformanceTrendChart",props:{data:{},height:{default:260},markers:{default:()=>[]}},emits:["marker-click"],setup(D,{emit:T}){const S=D,x=T,g=P(()=>!S.data||S.data.length===0?[]:S.data.map(v=>({id:v.id,date:new Date(v.startTime),duration:v.duration?Math.round(v.duration/1e3):null,avgTestDuration:v.avgTestDuration?Math.round(v.avgTestDuration/1e3):null,p90TestDuration:v.p90TestDuration?Math.round(v.p90TestDuration/1e3):null,commit:v.commit?v.commit.substring(0,7):null,status:v.status,totalTests:v.totalTests}))),f=P(()=>Math.max(1,...g.value.flatMap(v=>Ut.map(R=>v[R.key]??0)))),u=P(()=>g.value.map(v=>v.date));function z(v){const{centerOf:R}=Ze(g.value.length,v);return g.value.map((I,B)=>R(B))}function O(v,R,I){const B=z(R);let K="",k=!1;return g.value.forEach((X,$)=>{const H=X[v];if(H==null){k=!1;return}K+=`${k?"L":"M"}${B[$]},${I(H)}`,k=!0}),K}function M(v,R,I){const B=z(R);return g.value.flatMap((K,k)=>{const X=K[v];return X==null?[]:[{id:K.id,x:B[k],y:I(X)}]})}function h(v){const{centerOf:R}=Ze(g.value.length,v);return as(u.value,Math.max(2,Math.floor(v/80))).map(I=>({x:R(I),label:os(u.value[I])}))}function A(v,R){return ls(u.value,z(v),new Date(R).getTime())}const{data:w,pos:U,show:m,move:p,hide:_}=rs();return(v,R)=>{const I=ss,B=is,K=je,k=cs;return t(),r("div",co,[e(g).length>0?(t(),y(B,{key:0,height:D.height,"y-max":e(f),"y-format":X=>`${X}s`},{default:s(({plotWidth:X,plotHeight:$,yScale:H})=>[(t(!0),r(q,null,Y(e(Ut),G=>(t(),r(q,{key:G.key},[n("path",{d:O(G.key,X,H),fill:"none",stroke:G.color,"stroke-width":"2"},null,8,uo),(t(!0),r(q,null,Y(M(G.key,X,H),b=>(t(),r("circle",{key:b.id,cx:b.x,cy:b.y,r:"3",fill:G.color},null,8,mo))),128))],64))),128)),(t(!0),r(q,null,Y(h(X),G=>(t(),r("text",{key:G.x,x:G.x,y:$+14,"text-anchor":"middle",class:"fill-gray-400 dark:fill-gray-500 text-[10px]"},i(G.label),9,po))),128)),l(I,{markers:D.markers,"x-of":G=>A(X,G),"plot-height":$,onMarkerClick:R[0]||(R[0]=G=>x("marker-click",G))},null,8,["markers","x-of","plot-height"]),(t(!0),r(q,null,Y(e(g),(G,b)=>(t(),r("rect",{key:`hover-${G.id}`,x:b*(X/e(g).length),y:0,width:X/e(g).length,height:$,fill:e(w)?.id===G.id?"rgb(148 163 184 / 0.15)":"transparent",class:"cursor-pointer",onClick:C=>("navigateTo"in v?v.navigateTo:e(Bt))(`/test-runs/${G.id}`),onMouseenter:C=>e(m)(C,G),onMousemove:R[1]||(R[1]=C=>e(p)(C)),onMouseleave:R[2]||(R[2]=C=>e(_)())},null,40,go))),128))]),_:1},8,["height","y-max","y-format"])):(t(),y(K,{key:1,text:"No performance data available to display chart"})),e(w)?(t(),y(k,{key:2,pos:e(U)},{default:s(()=>[n("div",fo,i(e(w).date.toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1),n("div",_o,"Status: "+i(e(w).status),1),n("div",vo,[n("div",null,[R[3]||(R[3]=n("span",{class:"text-blue-500 dark:text-blue-400"},"●",-1)),d(" Total: "+i(e(w).duration??"-")+"s ",1)]),n("div",null,[R[4]||(R[4]=n("span",{class:"text-green-500 dark:text-green-400"},"●",-1)),d(" Avg: "+i(e(w).avgTestDuration??"-")+"s ",1)]),n("div",null,[R[5]||(R[5]=n("span",{class:"text-orange-500 dark:text-orange-400"},"●",-1)),d(" P90: "+i(e(w).p90TestDuration??"-")+"s ",1)]),n("div",yo,"Tests: "+i(e(w).totalTests),1),e(w).commit?(t(),r("div",ho," Commit: "+i(e(w).commit),1)):j("",!0)]),R[6]||(R[6]=n("div",{class:"text-gray-400 dark:text-gray-500 text-xs mt-1"},"Click to view run details",-1))]),_:1},8,["pos"])):j("",!0)])}}}),bo=Object.assign(xo,{__name:"PerformanceTrendChart"}),ko={class:"min-w-0"},$o={class:"mt-1"},Co={class:"tabular-nums"},To={key:0,class:"ml-1 text-xs text-gray-500",title:"timeout ÷ p95"},jo={class:"tabular-nums text-gray-500"},So={key:0,class:"text-sm"},wo={key:1,class:"tabular-nums"},Ro={class:"tabular-nums font-medium text-green-600 dark:text-green-400"},Ao={class:"tabular-nums text-gray-500"},Do=ue({__name:"TimeoutOpportunitiesTable",props:{projectId:{},projectName:{}},async setup(D){let T,S;const x=D,{data:g,pending:f}=([T,S]=ye(()=>he(()=>`/api/projects/${x.projectId}/timeout-opportunities`,{lazy:!0,server:!1,transform:M=>M.items},"$zikJNhkkxJ")),T=await T,S(),T),u=P(()=>g.value??[]);function z(M){return M==null?"—":M<1e3?`${M}ms`:`${(M/1e3).toFixed(1)}s`}const O=[{accessorKey:"title",header:L("Test case")},{accessorKey:"kind",header:"Type"},{accessorKey:"timeout",header:L("Timeout")},{accessorKey:"p95",header:L("p95")},{accessorKey:"recommendedTimeout",header:"Recommendation"},{accessorKey:"estimatedSavingMs",header:L("Est. saving / failure")},{accessorKey:"runCount",header:L("Runs")}];return(M,h)=>{const A=tt,w=je,U=Oe,m=ft,p=Ae,_=Ee,v=Ke,R=Be;return t(),y(R,null,{header:s(()=>[...h[0]||(h[0]=[n("h2",{class:"text-xl font-semibold"},"Timeout opportunities",-1),n("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 "),n("code",{class:"text-xs"},"test.slow()"),d(" mark — tightening these makes failures surface sooner. ")],-1)])]),default:s(()=>[e(f)?(t(),y(A,{key:0})):e(u).length===0?(t(),y(w,{key:1,text:"No timeout opportunities",description:"No oversized timeouts or stale test.slow() marks were found for this project."})):(t(),y(v,{key:2,"min-width":"52rem",bleed:!1},{default:s(()=>[l(_,{data:e(u),columns:O,sticky:"",class:"max-h-[32rem]"},{"title-cell":s(({row:I})=>[n("div",ko,[l(U,{to:`/test-cases/${I.original.testCaseId}`,class:"font-medium truncate block hover:text-primary hover:underline"},{default:s(()=>[d(i(I.original.title),1)]),_:2},1032,["to"]),n("div",$o,[l(m,{"file-path":I.original.filePath,"project-key":D.projectId,"project-name":D.projectName,class:"text-xs"},null,8,["file-path","project-key","project-name"])])])]),"kind-cell":s(({row:I})=>[l(p,{color:I.original.kind==="oversized-timeout"?"warning":"info",variant:"subtle",size:"sm"},{default:s(()=>[d(i(I.original.kind==="oversized-timeout"?"Oversized timeout":"Stale test.slow()"),1)]),_:2},1032,["color"])]),"timeout-cell":s(({row:I})=>[n("span",Co,i(z(I.original.timeout)),1),I.original.headroomRatio!=null?(t(),r("span",To," ("+i(I.original.headroomRatio)+"×) ",1)):j("",!0)]),"p95-cell":s(({row:I})=>[n("span",jo,i(z(I.original.p95)),1)]),"recommendedTimeout-cell":s(({row:I})=>[I.original.kind==="stale-slow"?(t(),r("span",So,[...h[1]||(h[1]=[d("Remove ",-1),n("code",{class:"text-xs"},"test.slow()",-1)])])):(t(),r("span",wo,"Lower to ~"+i(z(I.original.recommendedTimeout)),1))]),"estimatedSavingMs-cell":s(({row:I})=>[n("span",Ro,i(z(I.original.estimatedSavingMs)),1)]),"runCount-cell":s(({row:I})=>[n("span",Ao,i(I.original.runCount),1)]),_:1},8,["data"])]),_:1}))]),_:1})}}}),zo=Object.assign(Do,{__name:"TimeoutOpportunitiesTable"}),Mo={class:"flex items-center justify-between"},Io={class:"text-sm text-gray-500 inline-flex items-center gap-1"},Uo={class:"truncate font-mono text-xs"},Fo={class:"tabular-nums"},Bo={class:"tabular-nums text-gray-500"},Eo={class:"tabular-nums text-gray-500"},Po=ue({__name:"SpecHealthTable",props:{projectId:{}},async setup(D){let T,S;const x=D,g=F(30),{data:f,pending:u}=([T,S]=ye(()=>he(()=>`/api/projects/${x.projectId}/spec-health?days=${g.value}`,{lazy:!0,server:!1,watch:[g]},"$SX5aqvhtuX")),T=await T,S(),T),z=P(()=>f.value?.specs??[]);function O(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 M(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 h(m){return`${Math.round(m*100)}%`}function A(m){return m<1e3?`${m}ms`:`${(m/1e3).toFixed(1)}s`}const w=[{label:"Last 7 days",value:7},{label:"Last 30 days",value:30},{label:"Last 90 days",value:90}],U=[{accessorKey:"prefix",header:L("Spec prefix")},{accessorKey:"passRate",header:L("Pass rate")},{accessorKey:"flakyRate",header:L("Flaky")},{accessorKey:"failureCount",header:L("Failures")},{accessorKey:"testCount",header:L("Tests")},{accessorKey:"avgDuration",header:L("Avg time")}];return(m,p)=>{const _=et,v=Fe,R=tt,I=je,B=Oe,K=Ee,k=Ke,X=Be;return t(),y(X,null,{header:s(()=>[n("div",Mo,[n("p",Io,[p[1]||(p[1]=d(" Spec-file health overview — pass rate, flaky rate, and failure count per spec prefix ",-1)),l(_,{topic:"project.spec-health"})]),l(v,{modelValue:e(g),"onUpdate:modelValue":p[0]||(p[0]=$=>ee(g)?g.value=$:null),items:w,size:"xs",class:"w-32"},null,8,["modelValue"])])]),default:s(()=>[e(u)?(t(),y(R,{key:0})):e(z).length===0?(t(),y(I,{key:1,text:"No data",description:"No spec health data available for the selected period."})):(t(),y(k,{key:2,"min-width":"46rem",bleed:!1},{default:s(()=>[l(K,{data:e(z),columns:U,sticky:"",class:"max-h-[32rem]"},{"prefix-cell":s(({row:$})=>[l(B,{to:`/projects/${D.projectId}/test-cases?file=${encodeURIComponent($.original.prefix)}`,class:"flex items-center gap-2 min-w-0 text-primary hover:underline",title:$.original.prefix},{default:s(()=>[n("span",{class:se(["inline-block size-3 rounded shrink-0",O($.original.passRate)])},null,2),n("span",Uo,i($.original.prefix),1)]),_:2},1032,["to","title"])]),"passRate-cell":s(({row:$})=>[n("span",{class:se(["font-medium tabular-nums",M($.original.passRate)])},i(h($.original.passRate)),3)]),"flakyRate-cell":s(({row:$})=>[n("span",Fo,i(Math.round($.original.flakyRate*100))+"%",1)]),"failureCount-cell":s(({row:$})=>[n("span",{class:se(["tabular-nums",$.original.failureCount>0?"text-red-600 dark:text-red-400":""])},i($.original.failureCount),3)]),"testCount-cell":s(({row:$})=>[n("span",Bo,i($.original.testCount),1)]),"avgDuration-cell":s(({row:$})=>[n("span",Eo,i(A($.original.avgDuration)),1)]),_:1},8,["data"])]),_:1}))]),_:1})}}}),No=Object.assign(Po,{__name:"SpecHealthTable"}),Vo={class:"flex items-center justify-between"},Lo={key:2},Oo={class:"grid grid-cols-3 gap-3 mb-4"},Ko={class:"rounded-lg border border-gray-200 dark:border-gray-800 p-3"},qo={class:"text-2xl font-semibold tabular-nums"},Ho={class:"rounded-lg border border-gray-200 dark:border-gray-800 p-3"},Qo={class:"text-2xl font-semibold tabular-nums"},Xo={class:"rounded-lg border border-gray-200 dark:border-gray-800 p-3"},Go={class:"text-2xl font-semibold tabular-nums"},Jo=["title"],Yo={class:"tabular-nums"},Wo={class:"tabular-nums text-gray-500"},Zo=["title"],el=ue({__name:"AiStepCoverage",props:{projectId:{}},async setup(D){let T,S;const x=D,g=F(30),{data:f,pending:u}=([T,S]=ye(()=>he(()=>`/api/projects/${x.projectId}/ai-steps?days=${g.value}`,{lazy:!0,server:!1,watch:[g]},"$XNuZ38B1nb")),T=await T,S(),T),z=P(()=>f.value?.artifacts??[]),O=P(()=>f.value?.summary??{artifactCount:0,testCount:0,runCount:0,replayCount:0});function M(U){const m=U.split(/[\\/]/);return m[m.length-1]||U}function h(U){if(!U)return"—";const m=new Date(U).getTime();if(!Number.isFinite(m))return"—";const p=Math.max(0,Math.round((Date.now()-m)/1e3));if(p<60)return"just now";const _=Math.round(p/60);if(_<60)return`${_}m ago`;const v=Math.round(_/60);return v<24?`${v}h ago`:`${Math.round(v/24)}d ago`}const A=[{label:"Last 7 days",value:7},{label:"Last 30 days",value:30},{label:"Last 90 days",value:90}],w=[{accessorKey:"entry",header:L("Artifact")},{accessorKey:"testCount",header:L("Tests")},{accessorKey:"replayCount",header:L("Replays")},{accessorKey:"lastSeen",header:L("Last seen")}];return(U,m)=>{const p=Fe,_=tt,v=je,R=Ee,I=Ke,B=Be;return t(),y(B,null,{header:s(()=>[n("div",Vo,[m[1]||(m[1]=n("p",{class:"text-sm text-gray-500"},[d(" AI-step liveness — which committed "),n("code",{class:"text-xs"},"piwiLocator"),d(" / "),n("code",{class:"text-xs"},"piwiRun"),d(" artifacts were replayed, and when they were last seen ")],-1)),l(p,{modelValue:e(g),"onUpdate:modelValue":m[0]||(m[0]=K=>ee(g)?g.value=K:null),items:A,size:"xs",class:"w-32"},null,8,["modelValue"])])]),default:s(()=>[e(u)?(t(),y(_,{key:0})):e(z).length===0?(t(),y(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."})):(t(),r("div",Lo,[n("div",Oo,[n("div",Ko,[n("div",qo,i(e(O).artifactCount),1),m[2]||(m[2]=n("div",{class:"text-xs text-gray-500"},"Artifacts replayed",-1))]),n("div",Ho,[n("div",Qo,i(e(O).testCount),1),m[3]||(m[3]=n("div",{class:"text-xs text-gray-500"},"Tests using AI steps",-1))]),n("div",Xo,[n("div",Go,i(e(O).replayCount),1),m[4]||(m[4]=n("div",{class:"text-xs text-gray-500"},"Total replays",-1))])]),l(I,{"min-width":"40rem",bleed:!1},{default:s(()=>[l(R,{data:e(z),columns:w,sticky:"",class:"max-h-[32rem]"},{"entry-cell":s(({row:K})=>[n("span",{class:"font-mono text-xs truncate block max-w-[28rem]",title:K.original.entry},i(M(K.original.entry)),9,Jo)]),"testCount-cell":s(({row:K})=>[n("span",Yo,i(K.original.testCount),1)]),"replayCount-cell":s(({row:K})=>[n("span",Wo,i(K.original.replayCount),1)]),"lastSeen-cell":s(({row:K})=>[n("span",{class:"tabular-nums text-gray-500",title:K.original.lastSeen||""},i(h(K.original.lastSeen)),9,Zo)]),_:1},8,["data"])]),_:1})]))]),_:1})}}}),tl=Object.assign(el,{__name:"AiStepCoverage"}),sl={class:"space-y-6"},nl={class:"w-full text-sm"},al={class:"px-3 py-2 min-w-0"},ol={class:"text-xs text-muted"},ll={class:"px-3 py-2 text-muted"},rl={class:"px-3 py-2 whitespace-nowrap"},il={key:1,class:"text-xs text-muted"},cl={key:2,class:"text-xs"},ul={class:"px-3 py-2 whitespace-nowrap text-muted"},dl={class:"px-3 py-2 text-right"},ml={class:"w-full text-sm"},pl={class:"px-3 py-2 min-w-0"},gl={class:"text-xs text-muted"},fl={class:"px-3 py-2 text-right whitespace-nowrap"},_l=ue({__name:"QuarantineTable",props:{projectId:{},projectName:{}},async setup(D){let T,S;const x=D,g=Ue(),f=F(null),{data:u,status:z,error:O,refresh:M}=([T,S]=ye(()=>he(()=>`/api/projects/${x.projectId}/quarantine`,"$BSyDdCMaDx")),T=await T,S(),T);function h(U){const m=Math.round(U/36e5);return m<48?`${Math.max(1,m)}h`:`${Math.round(m/24)}d`}async function A(U,m){f.value=U;try{await $fetch(`/api/projects/${x.projectId}/quarantine`,{method:"POST",body:{testCaseId:U,reason:m,source:"proposed"}}),g.add({title:"Quarantined",color:"success"}),await M()}catch{g.add({title:"Could not quarantine that test",color:"error"})}finally{f.value=null}}async function w(U){f.value=U;try{await $fetch(`/api/projects/${x.projectId}/quarantine/${U}`,{method:"DELETE"}),g.add({title:"Released",color:"success"}),await M()}catch{g.add({title:"Could not release that test",color:"error"})}finally{f.value=null}}return(U,m)=>{const p=tt,_=kn,v=$n,R=Cn,I=je,B=Oe,K=ms,k=ft,X=Ae,$=Te,H=Ke,G=Pt;return t(),r("div",sl,[l(G,{title:"Quarantine",icon:"i-lucide-shield-alert",count:e(u)?.debt.active,help:"project.quarantine"},{subtitle:s(()=>[...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:s(()=>[e(z)==="pending"?(t(),y(p,{key:0})):e(O)?(t(),y(_,{key:1,text:String(e(O))},null,8,["text"])):(t(),r(q,{key:2},[e(u)&&e(u).debt.active>0?(t(),y(R,{key:0,class:"mb-4"},{default:s(()=>[l(v,{label:"Quarantined",value:e(u).debt.active},null,8,["value"]),l(v,{label:"Ready to release",value:e(u).debt.readyToRelease,"value-class":e(u).debt.readyToRelease>0?"text-green-600 dark:text-green-400":"",hint:"earned their way out"},null,8,["value","value-class"]),l(v,{label:"Still failing",value:e(u).debt.stillFailing,hint:"no passing streak"},null,8,["value"]),l(v,{label:"Oldest",value:h(e(u).debt.oldestAgeMs),size:"sm"},null,8,["value"])]),_:1})):j("",!0),!e(u)||e(u).entries.length===0?(t(),y(I,{key:1,icon:"i-lucide-shield-check",text:"Nothing quarantined. Tests you quarantine appear here with their progress back out."})):(t(),y(H,{key:2},{default:s(()=>[n("table",nl,[m[2]||(m[2]=n("thead",{class:"text-left text-xs text-muted"},[n("tr",null,[n("th",{class:"px-3 py-2"},"Test"),n("th",{class:"px-3 py-2"},"Reason"),n("th",{class:"px-3 py-2 whitespace-nowrap"},"Streak"),n("th",{class:"px-3 py-2 whitespace-nowrap"},"Age"),n("th",{class:"px-3 py-2 text-right"},"Actions")])],-1)),n("tbody",null,[(t(!0),r(q,null,Y(e(u).entries,b=>(t(),r("tr",{key:b.id,class:"border-t border-default"},[n("td",al,[l(B,{to:`/test-cases/${b.testCaseId}`,class:"text-primary hover:underline font-medium"},{default:s(()=>[d(i(b.title),1)]),_:2},1032,["to"]),l(K,{tags:b.tags,meta:{owner:b.owner??void 0},"max-tags":3,class:"ml-1"},null,8,["tags","meta"]),n("div",ol,[l(k,{"file-path":b.filePath,"project-key":D.projectId,"project-name":D.projectName},null,8,["file-path","project-key","project-name"])])]),n("td",ll,i(b.reason||"—"),1),n("td",rl,[b.releaseProposed?(t(),y(X,{key:0,color:"success",variant:"soft",size:"xs"},{default:s(()=>[d(i(b.consecutivePasses)+" green — ready ",1)]),_:2},1024)):b.runsSinceQuarantine===0?(t(),r("span",il,"not run yet")):(t(),r("span",cl,i(b.consecutivePasses)+" / "+i(e(u).releaseAfterConsecutivePasses),1))]),n("td",ul,i(h(b.ageMs)),1),n("td",dl,[l($,{size:"xs",color:b.releaseProposed?"primary":"neutral",variant:"soft",loading:e(f)===b.testCaseId,onClick:C=>w(b.testCaseId)},{default:s(()=>[...m[1]||(m[1]=[d(" Release ",-1)])]),_:1},8,["color","loading","onClick"])])]))),128))])])]),_:1}))],64))]),_:1},8,["count"]),e(u)&&e(u).candidates.length>0?(t(),y(G,{key:0,title:"Worth quarantining",icon:"i-lucide-lightbulb",count:e(u).candidates.length},{subtitle:s(()=>[...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:s(()=>[l(H,null,{default:s(()=>[n("table",ml,[n("tbody",null,[(t(!0),r(q,null,Y(e(u).candidates,b=>(t(),r("tr",{key:b.testCaseId,class:"border-t border-default"},[n("td",pl,[l(B,{to:`/test-cases/${b.testCaseId}`,class:"text-primary hover:underline font-medium"},{default:s(()=>[d(i(b.title),1)]),_:2},1032,["to"]),n("div",gl,i(b.rationale),1)]),n("td",fl,[l($,{size:"xs",color:"neutral",variant:"soft",loading:e(f)===b.testCaseId,onClick:C=>A(b.testCaseId,b.rationale)},{default:s(()=>[...m[4]||(m[4]=[d(" Quarantine ",-1)])]),_:1},8,["loading","onClick"])])]))),128))])])]),_:1})]),_:1},8,["count"])):j("",!0)])}}}),vl=Object.assign(_l,{__name:"QuarantineTable"}),yl={class:"space-y-4"},hl={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},xl={id:"marker-environments"},bl=["value"],kl=ue({__name:"MarkerFormModal",props:{open:{type:Boolean},projectId:{},marker:{},environments:{}},emits:["update:open","saved"],setup(D,{emit:T}){const S=D,x=T,g=Ue(),f=jn.map(A=>({label:A.label,value:A.id,icon:A.icon})),u=Hs({label:"",occurredAt:"",category:Mt,environment:"",description:""}),z=P(()=>!!S.marker),O=F(!1);function M(A){const w=new Date(A),U=m=>String(m).padStart(2,"0");return`${w.getFullYear()}-${U(w.getMonth()+1)}-${U(w.getDate())}T${U(w.getHours())}:${U(w.getMinutes())}`}ge(()=>S.open,A=>{A&&(S.marker?(u.label=S.marker.label,u.occurredAt=M(S.marker.occurredAt),u.category=S.marker.category||Mt,u.environment=S.marker.environment??"",u.description=S.marker.description??""):(u.label="",u.occurredAt=M(new Date),u.category=Mt,u.environment="",u.description=""))});async function h(){if(!u.label.trim()){g.add({title:"Label is required",color:"error"});return}if(!u.occurredAt){g.add({title:"Date is required",color:"error"});return}O.value=!0;const A={label:u.label.trim(),occurredAt:new Date(u.occurredAt).toISOString(),category:u.category,environment:u.environment.trim()||null,description:u.description.trim()||null};try{S.marker?(await $fetch(`/api/markers/${S.marker.id}`,{method:"PATCH",body:A}),g.add({title:"Marker updated",color:"success"})):(await $fetch(`/api/projects/${S.projectId}/markers`,{method:"POST",body:A}),g.add({title:"Marker created",color:"success"})),x("update:open",!1),x("saved")}catch(w){g.add({title:z.value?"Failed to update marker":"Failed to create marker",description:ds(w),color:"error"})}finally{O.value=!1}}return(A,w)=>{const U=Zt,m=es,p=Fe,_=wn,v=Te,R=Vt,I=Et;return t(),y(I,null,{default:s(()=>[l(R,{open:D.open,title:e(z)?"Edit marker":"Add marker","onUpdate:open":w[6]||(w[6]=B=>x("update:open",B))},{body:s(()=>[n("div",yl,[l(m,{label:"Label",name:"label",required:""},{default:s(()=>[l(U,{modelValue:e(u).label,"onUpdate:modelValue":w[0]||(w[0]=B=>e(u).label=B),placeholder:"e.g. Migrated CI to new runners",class:"w-full"},null,8,["modelValue"])]),_:1}),n("div",hl,[l(m,{label:"Date & time",name:"occurredAt",required:""},{default:s(()=>[l(U,{modelValue:e(u).occurredAt,"onUpdate:modelValue":w[1]||(w[1]=B=>e(u).occurredAt=B),type:"datetime-local",class:"w-full"},null,8,["modelValue"])]),_:1}),l(m,{label:"Category",name:"category"},{default:s(()=>[l(p,{modelValue:e(u).category,"onUpdate:modelValue":w[2]||(w[2]=B=>e(u).category=B),items:e(f),class:"w-full"},null,8,["modelValue","items"])]),_:1})]),l(m,{label:"Environment",name:"environment",help:"Optional. Leave empty to apply to all environments."},{default:s(()=>[l(U,{modelValue:e(u).environment,"onUpdate:modelValue":w[3]||(w[3]=B=>e(u).environment=B),list:"marker-environments",placeholder:"e.g. production",class:"w-full"},null,8,["modelValue"]),n("datalist",xl,[(t(!0),r(q,null,Y(D.environments||[],B=>(t(),r("option",{key:B,value:B},null,8,bl))),128))])]),_:1}),l(m,{label:"Description",name:"description"},{default:s(()=>[l(_,{modelValue:e(u).description,"onUpdate:modelValue":w[4]||(w[4]=B=>e(u).description=B),rows:3,placeholder:"Optional details",class:"w-full"},null,8,["modelValue"])]),_:1})])]),footer:s(()=>[l(v,{color:"neutral",variant:"ghost",label:"Cancel",onClick:w[5]||(w[5]=B=>x("update:open",!1))}),l(v,{label:e(z)?"Save changes":"Add marker",icon:e(z)?"i-lucide-check":"i-lucide-plus",loading:e(O),onClick:h},null,8,["label","icon","loading"])]),_:1},8,["open","title"])]),_:1})}}}),$l=Object.assign(kl,{__name:"MarkerFormModal"}),Cl={class:"md:hidden space-y-3"},Tl={class:"flex items-start justify-between gap-2"},jl={key:0,class:"flex gap-1 shrink-0"},Sl={class:"text-sm text-muted"},wl={key:0,class:"text-xs"},Rl={key:1,class:"text-sm text-muted"},Al={class:"whitespace-nowrap"},Dl={class:"text-sm"},zl={class:"text-xs text-muted"},Ml={class:"font-medium flex items-center gap-1"},Il={key:0,class:"text-xs text-muted line-clamp-1"},Ul={key:1,class:"text-xs text-muted"},Fl={key:0,class:"flex gap-1 justify-end"},Bl=ue({__name:"ProjectTimeline",props:{projectId:{},markers:{},environments:{},canEdit:{type:Boolean},focusMarkerId:{}},emits:["changed","clear-focus"],setup(D,{emit:T}){const S=D,x=T,g=Ue(),f=P(()=>[...S.markers].sort((p,_)=>+new Date(_.occurredAt)-+new Date(p.occurredAt))),u=[{accessorKey:"occurredAt",header:"When"},{accessorKey:"category",header:"Category"},{accessorKey:"label",header:"Label"},{accessorKey:"environment",header:"Environment"},{accessorKey:"actions",header:""}],z=F(!1),O=F(null);function M(){O.value=null,z.value=!0}function h(p){O.value=p,z.value=!0}ge(()=>S.focusMarkerId,p=>{if(p==null)return;const _=S.markers.find(v=>v.id===p);_&&h(_),x("clear-focus")},{immediate:!0});const A=F(!1),w=F(null);function U(p){w.value=p,A.value=!0}async function m(){const p=w.value;if(A.value=!1,w.value=null,!!p)try{await $fetch(`/api/markers/${p.id}`,{method:"DELETE"}),g.add({title:"Marker deleted",color:"success"}),x("changed")}catch(_){g.add({title:"Failed to delete marker",description:ds(_),color:"error"})}}return(p,_)=>{const v=Te,R=je,I=Sn,B=Ae,K=Le,k=Ee,X=$l,$=Vt,H=Et,G=Pt;return t(),y(G,{title:"Timeline markers",count:D.markers.length,icon:"i-lucide-milestone",help:"project.timeline",subtitle:"Dated events overlaid on the analytics charts"},{actions:s(()=>[D.canEdit?(t(),y(v,{key:0,label:"Add marker",icon:"i-lucide-plus",size:"sm",onClick:M})):j("",!0)]),default:s(()=>[D.markers.length===0?(t(),y(R,{key:0,icon:"i-lucide-milestone",text:"No markers yet. Add a deploy, config change, or incident to see it on the charts."})):(t(),r(q,{key:1},[n("div",Cl,[(t(!0),r(q,null,Y(e(f),b=>(t(),r("div",{key:b.id,class:"rounded-lg border border-default p-3 space-y-2"},[n("div",Tl,[l(I,{marker:b},null,8,["marker"]),D.canEdit?(t(),r("div",jl,[l(v,{icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"xs",onClick:C=>h(b)},null,8,["onClick"]),l(v,{icon:"i-lucide-trash-2",color:"error",variant:"ghost",size:"xs",onClick:C=>U(b)},null,8,["onClick"])])):j("",!0)]),n("div",Sl,i(("prettyDateFormat"in p?p.prettyDateFormat:e(gt))(b.occurredAt)),1),b.environment?(t(),r("div",wl,[l(B,{color:"neutral",variant:"subtle",size:"xs"},{default:s(()=>[d(i(b.environment),1)]),_:2},1024)])):j("",!0),b.description?(t(),r("p",Rl,i(b.description),1)):j("",!0)]))),128))]),l(k,{data:e(f),columns:u,class:"hidden md:block"},{"occurredAt-cell":s(({row:b})=>[n("div",Al,[n("div",Dl,i(("prettyDateFormat"in p?p.prettyDateFormat:e(gt))(b.original.occurredAt)),1),n("div",zl,i(("formatRelativeTime"in p?p.formatRelativeTime:e(Nt))(b.original.occurredAt)),1)])]),"category-cell":s(({row:b})=>[l(B,{color:e(It)(b.original.category).color,variant:"subtle",size:"sm",class:"gap-1"},{default:s(()=>[l(K,{name:e(It)(b.original.category).icon,class:"size-3"},null,8,["name"]),d(" "+i(e(It)(b.original.category).label),1)]),_:2},1032,["color"])]),"label-cell":s(({row:b})=>[n("div",null,[n("div",Ml,[d(i(b.original.label)+" ",1),b.original.source==="auto"?(t(),y(K,{key:0,name:"i-lucide-sparkles",class:"size-3 text-muted",title:"Automatically detected"})):j("",!0)]),b.original.description?(t(),r("div",Il,i(b.original.description),1)):j("",!0)])]),"environment-cell":s(({row:b})=>[b.original.environment?(t(),y(B,{key:0,color:"neutral",variant:"subtle",size:"xs"},{default:s(()=>[d(i(b.original.environment),1)]),_:2},1024)):(t(),r("span",Ul,"All"))]),"actions-cell":s(({row:b})=>[D.canEdit?(t(),r("div",Fl,[l(v,{icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"sm",onClick:C=>h(b.original)},null,8,["onClick"]),l(v,{icon:"i-lucide-trash-2",color:"error",variant:"ghost",size:"sm",onClick:C=>U(b.original)},null,8,["onClick"])])):j("",!0)]),_:1},8,["data"])],64)),l(X,{open:e(z),"onUpdate:open":_[0]||(_[0]=b=>ee(z)?z.value=b:null),"project-id":D.projectId,marker:e(O),environments:D.environments,onSaved:_[1]||(_[1]=b=>x("changed"))},null,8,["open","project-id","marker","environments"]),l(H,null,{default:s(()=>[l($,{open:e(A),title:"Delete marker","onUpdate:open":_[3]||(_[3]=b=>A.value=b)},{body:s(()=>[n("p",null,[_[4]||(_[4]=d(" Delete marker ",-1)),e(w)?(t(),y(I,{key:0,marker:e(w),class:"inline-flex align-middle"},null,8,["marker"])):j("",!0),_[5]||(_[5]=d("? This can't be undone. ",-1))])]),footer:s(()=>[l(v,{color:"neutral",variant:"ghost",label:"Cancel",onClick:_[2]||(_[2]=b=>A.value=!1)}),l(v,{color:"error",label:"Delete",icon:"i-lucide-trash-2",onClick:m})]),_:1},8,["open"])]),_:1})]),_:1},8,["count"])}}}),El=Object.assign(Bl,{__name:"ProjectTimeline"}),Pl={class:"flex flex-col h-full overflow-y-auto gap-4"},Nl={key:0,class:"pb-0 space-y-4"},Vl={key:0,class:"text-gray-600"},Ll={key:1,class:"flex flex-wrap gap-1 mt-2"},Ol={class:"flex flex-wrap items-center gap-3 mb-4"},Kl={class:"inline-flex items-center gap-1"},ql=["onClick"],Hl=["title","onClick"],Ql={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"},Xl={class:"text-sm text-primary-700 dark:text-primary-300"},Gl={key:1,class:"text-xs text-primary-500"},Jl=["checked","onClick"],Yl={class:"flex items-center gap-2"},Wl=["href","onClick"],Zl={key:0,class:"text-xs text-gray-500 dark:text-gray-400 truncate max-w-32"},er={class:"inline-flex items-center gap-1"},tr={key:0,class:"flex items-center gap-1"},sr={class:"text-xs text-gray-600"},nr={key:0,class:"flex items-center gap-1 flex-wrap"},ar=["title","onClick"],or={key:1,class:"text-xs text-gray-500"},lr={class:"space-y-1"},rr={class:"flex justify-end gap-2"},ir={key:2,class:"text-center py-8 text-gray-500"},cr={class:"text-xs text-gray-400 max-w-sm"},ur={class:"bg-gray-100 dark:bg-gray-800 px-1 rounded"},dr={class:"flex flex-wrap items-center gap-3"},mr={class:"text-xl font-semibold inline-flex items-center gap-1"},pr={class:"font-medium"},gr={class:"mt-1"},fr={key:0,class:"text-red-600 font-medium"},_r={key:1,class:"text-green-600 font-medium"},vr={key:2,class:"text-gray-500"},yr={key:2,class:"text-center py-8 text-red-500"},hr={key:3,class:"text-center py-8 text-gray-500"},xr={class:"flex items-center justify-between"},br={class:"text-xl font-semibold inline-flex items-center gap-1"},kr={class:"space-y-4"},$r={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},Cr={key:0,class:"text-center py-4 text-gray-500"},Tr={key:1,class:"space-y-4"},jr={class:"flex gap-4 text-sm"},Sr={key:0,class:"text-gray-400"},wr={key:0,class:"text-gray-400"},Rr={key:1,class:"text-gray-400"},Ar={key:1,class:"text-gray-400"},Dr={key:0,class:"text-gray-400"},zr={key:0,class:"text-gray-400"},Mr={key:2,class:"text-center py-8 text-gray-500"},Ir={key:3,class:"text-center py-8 text-gray-500"},Ur={class:"flex items-center justify-between"},Fr={class:"text-sm text-gray-600 inline-flex items-center gap-1"},Br={class:"space-y-4"},Er={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},Pr={key:0,class:"text-center py-8 text-gray-500"},Nr={key:1,class:"space-y-4"},Vr={class:"space-y-2"},Lr={class:"flex flex-wrap gap-4 text-sm"},Or={key:3,class:"text-sm text-gray-500"},Kr={class:"flex flex-wrap gap-4 text-sm"},qr={key:0,class:"text-gray-400"},Hr={key:0,class:"text-gray-400"},Qr={key:1,class:"text-gray-400"},Xr={key:1,class:"text-gray-400"},Gr={key:0,class:"text-gray-400"},Jr={key:0,class:"text-gray-400"},Yr={key:2,class:"text-center py-8 text-gray-500"},Wr={key:3,class:"text-center py-8 text-gray-500"},Zr={class:"flex items-center justify-between"},ei={class:"text-sm text-gray-600 inline-flex items-center gap-1"},ti={key:0,class:"space-y-2"},si={class:"font-medium text-sm"},ni={class:"text-xs text-muted flex items-center gap-2"},ai={key:0,class:"italic"},oi={key:1,class:"text-xs text-muted italic"},li={key:1,class:"text-center py-8 text-muted text-sm"},ri={class:"space-y-4"},ii={class:"text-sm text-gray-600 dark:text-gray-400"},ci={class:"block text-sm font-medium mb-1"},ui={class:"bg-gray-100 dark:bg-gray-800 px-1 rounded"},gc=ue({__name:"index",async setup(D){let T,S;const x=Qs(),g=Xs(),f=x.params.id,{data:u,refresh:z}=([T,S]=ye(()=>he(`/api/projects/${f}`,"$F60FKvNOBL")),T=await T,S(),T);Gs(P(()=>({title:`${u.value?.label||u.value?.name||"Project"} — Piwi Dashboard`})));const O=Ue(),M=F(null),h=F(null),{isAdmin:A,isReporter:w}=Wt(),U=Ft(),m=P(()=>!U.public.authEnabled||A.value),p=m,_=F(!1),v=F(""),R=F(!1),I=P(()=>v.value===u.value?.name);async function B(){if(I.value){R.value=!0;try{await $fetch(`/api/projects/${f}`,{method:"DELETE"}),O.add({title:"Project deleted",color:"success"}),await Ys(),await g.push("/")}catch(c){const a=c&&typeof c=="object"&&"data"in c?c.data?.message:void 0;O.add({title:"Delete failed",description:a||"An error occurred",color:"error"}),R.value=!1}}}Dn(z);async function K(c){h.value=null,M.value=c;try{await $fetch(`/api/test-runs/${c}`,{method:"DELETE"}),O.add({title:"Test run deleted",color:"success"}),await z()}catch(a){const E=a&&typeof a=="object"&&"data"in a?a.data?.message:void 0;O.add({title:"Delete failed",description:E||"An error occurred",color:"error"})}finally{M.value=null}}const k=F([]),X=F([]),$=F([]),H=P(()=>{const c=new Map(k.value.map(E=>[E.id,E])),a=[];for(const E of X.value){if(E.role==="administrator")continue;const Z=c.get(E.id);a.push({id:E.id,username:E.username,name:E.name??null,role:E.role,global:Z?.global??!1,hasAccess:!!Z})}for(const E of k.value)E.role==="administrator"&&a.push({...E,hasAccess:!0});return a}),G=P(()=>{const c=k.value.filter(E=>E.role!=="administrator"&&!E.global).map(E=>E.id).sort(),a=[...$.value].sort();return JSON.stringify(c)!==JSON.stringify(a)});ge(()=>u.value?.id,async c=>{if(!(!c||!A.value))try{const[a,E]=await Promise.all([$fetch(`/api/projects/${f}/members`),$fetch("/api/users")]);k.value=a.items,X.value=E.items,$.value=a.items.filter(Z=>Z.role!=="administrator"&&!Z.global).map(Z=>Z.id)}catch{k.value=[],X.value=[],$.value=[]}},{immediate:!0});function b(c){const a=$.value.indexOf(c);a>=0?$.value.splice(a,1):$.value.push(c)}async function C(){try{await $fetch(`/api/projects/${f}/members`,{method:"PUT",body:{userIds:$.value}}),O.add({title:"Members updated",color:"success"});const c=await $fetch(`/api/projects/${f}/members`);k.value=c.items}catch(c){const a=c&&typeof c=="object"&&"data"in c?c.data?.message:void 0;O.add({title:"Update failed",description:a||"An error occurred",color:"error"})}}const J=F("test-runs"),de=F(0),fe=["test-runs","failure-clusters","flaky-tests","performance","test-cases","compare","spec-health","ai-steps","quarantine","timeline","members"],xe=x.query.tab;typeof xe=="string"&&fe.includes(xe)&&(J.value=xe),ge(J,c=>{x.query.tab!==c&&fe.includes(c)&&g.replace({query:{...x.query,tab:c}})});const qe=P(()=>u.value?.testRuns?.some(c=>c.failedTests>0)??!1),st=P(()=>[{label:"Results",items:[{label:`Test runs (${N.value.length})`,icon:"i-lucide-play-circle",value:"test-runs",slot:"test-runs"},{label:`Test cases${Je.value!=null?` (${Je.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:[...qe.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${Se.value.length?` (${Se.value.length})`:""}`,icon:"i-lucide-milestone",value:"timeline",slot:"timeline"}]},...A.value?[{label:"Admin",items:[{label:"Members",icon:"i-lucide-users",value:"members",slot:"members"}]}]:[]]),He=P(()=>st.value.flatMap(c=>c.items)),_t=P(()=>st.value.map(c=>c.items).filter(c=>c.length>0)),be=P(()=>He.value.find(c=>c.value===J.value)?.icon),W=F([]),ke=c=>W.value.includes(c);function Qe(c){const a=W.value.indexOf(c);if(a>=0)W.value.splice(a,1);else{if(W.value.length>=2){O.add({title:"Maximum 2 runs",description:"Select at most 2 runs to compare. Deselect one first.",color:"warning"});return}W.value.push(c)}}const Xe=F(null);function vt(){W.value.length===2&&(Xe.value=[W.value[0],W.value[1]],J.value="compare")}const re=F([]),$e=F(!0),De=P(()=>{const c=new Set;for(const a of u.value?.testRuns||[])a.environment&&c.add(a.environment);return[...c].sort()});function yt(c){const a=re.value.indexOf(c);a===-1?re.value.push(c):re.value.splice(a,1)}function ht(c){return re.value.includes(c)}function _e(c){return c.branch??c.metadata?.scm?.branch??null}const ie=F([]),nt=P(()=>{const c=new Set;for(const a of u.value?.testRuns||[]){const E=_e(a);E&&c.add(E)}return[...c].sort()});function at(c){const a=ie.value.indexOf(c);a===-1?ie.value.push(c):ie.value.splice(a,1)}function Pe(c){return ie.value.includes(c)}const N=P(()=>{let c=u.value?.testRuns||[];return $e.value&&(c=c.filter(a=>a.isFullRun!==!1)),re.value.length>0&&(c=c.filter(a=>a.environment&&re.value.includes(a.environment))),ie.value.length>0&&(c=c.filter(a=>{const E=_e(a);return E!==null&&ie.value.includes(E)})),c}),V=P(()=>re.value.length===1?re.value[0]:void 0),ne=P(()=>ie.value.length===1?ie.value[0]:void 0),{data:xt,refresh:bt}=([T,S]=ye(()=>he(`/api/projects/${f}/markers`,{default:()=>({items:[]})},"$jubPXy8o3y")),T=await T,S(),T),Se=P(()=>xt.value?.items??[]),kt=P(()=>!U.public.authEnabled||A.value||w.value),Ge=P(()=>re.value.length===0?Se.value:Se.value.filter(c=>c.environment==null||re.value.includes(c.environment))),we=F(null);function ot(c){we.value=c,J.value="timeline"}function Q(c){if(c.isFullRun!==!1)return"Full run — the complete test suite ran";const a=[],E=c.filterDetails?.grep?.trim(),Z=c.filterDetails?.grepInvert?.trim(),ve=c.filterDetails?.files;return E&&E!==".*"&&a.push(`grep: ${E}`),Z&&a.push(`grep-invert: ${Z}`),ve?.length&&a.push(`files: ${ve.join(", ")}`),a.length?`Partial run — ${a.join(" · ")}`:"Partial run — only a filtered subset of tests ran (grep, file, or line filter)"}const me=[{accessorKey:"select",header:""},{accessorKey:"id",header:L("Run")},{accessorKey:"status",header:L("Status")},{accessorKey:"isFullRun",header:"Scope"},{id:"browsers",accessorFn:c=>c.browsers,header:""},{accessorKey:"startTime",header:L("Started")},{accessorKey:"environment",header:L("Environment")},{accessorKey:"metadata",header:"Branch / Commit"},{accessorKey:"duration",header:L("Test status / Dur.")},{accessorKey:"reports",header:"Reports"},{id:"actions",header:"Actions"}],Je=F(null),ze=F(""),Me=F(""),ps=P(()=>{const c={};return ze.value&&(c.from=ze.value),Me.value&&(c.to=Me.value),c}),$t=F(null),Ct=F(!1),Ne=F(null),Tt=F(!1),lt=F(!1),gs=P(()=>Ct.value&&$t.value===null);ge([J,ps,$e],async([c,a])=>{if(c!=="performance")return;Ct.value=!0,Ne.value||(lt.value=!0);const E=new URLSearchParams(a).toString(),Z=$e.value?`${E?"&":""}fullRunsOnly=true`:"",ve=E||Z?`?${E}${Z}`:"",Re=await $fetch(`/api/projects/${f}/performance${ve}`).catch(Ye=>(console.warn("[PerformanceTab] Failed to fetch performance trend:",Ye),null));if($t.value=Re?.items??null,Ct.value=!1,lt.value){Tt.value=!1;const Ye=await $fetch(`/api/projects/${f}/slow-tests`).catch(wt=>(Tt.value=!0,console.warn("[PerformanceTab] Failed to fetch slow tests:",wt),null));Ne.value=Ye?.items??null,lt.value=!1}},{immediate:!0});const fs=[{accessorKey:"title",header:L("Test case")},{accessorKey:"avgDuration",header:L("Avg duration")},{accessorKey:"maxDuration",header:L("Max")},{accessorKey:"minDuration",header:L("Min")},{accessorKey:"latestDuration",header:L("Latest")},{accessorKey:"trend",header:L("Trend")},{accessorKey:"runCount",header:L("Runs")}];function _s(c){const a=gt(c.startTime,{dateOnly:!0}),E=c.metadata?.scm?.commit?` (${c.metadata.scm.commit.substring(0,7)})`:"";return`Run #${c.id} — ${a}${E}`}const pe=P(()=>u.value?.testRuns?[...u.value.testRuns].reverse().map(c=>({label:_s(c),value:c.id})):[]),ae=F(void 0),oe=F(void 0),Lt=P(()=>x.query.runA?Number(x.query.runA):null),Ot=P(()=>x.query.runB?Number(x.query.runB):null);ge(pe,c=>{if(Lt.value){const a=c.find(E=>E.value===Lt.value);a&&(ae.value=a)}if(Ot.value){const a=c.find(E=>E.value===Ot.value);a&&(oe.value=a)}},{immediate:!0}),ge(Xe,c=>{if(c){const a=pe.value.find(Z=>Z.value===c[0]),E=pe.value.find(Z=>Z.value===c[1]);a&&(ae.value=a),E&&(oe.value=E),Xe.value=null}});function Kt(){pe.value.length>=2&&(ae.value=pe.value[1],oe.value=pe.value[0])}const jt=F(null),St=F(null),rt=F(!1);async function vs(){const c=ae.value,a=oe.value;if(!(!c?.value&&!a?.value)){rt.value=!0;try{const E=[];c?.value&&E.push(c.value),a?.value&&E.push(a.value);const Z=await Promise.all(E.map(Re=>$fetch(`/api/test-runs/${Re}/summary`))),ve=new Map;for(const Re of Z)ve.set(Re.id,Re);jt.value=c?.value?ve.get(c.value)??null:null,St.value=a?.value?ve.get(a.value)??null:null}catch{jt.value=null,St.value=null}finally{rt.value=!1}}}ge([ae,oe],()=>{vs()});const{comparisonData:it,comparisonSummary:te}=An(jt,St),qt=[{accessorKey:"title",header:L("Test case")},{accessorKey:"statusA",header:L("Status A")},{accessorKey:"statusB",header:L("Status B")},{accessorKey:"durationA",header:L("Duration A")},{accessorKey:"durationB",header:L("Duration B")},{accessorKey:"delta",header:L("Delta")},{accessorKey:"percentChange",header:L("Change")}];return(c,a)=>{const E=Os,Z=Ks,ve=oa,Re=tn,Ye=nn,wt=ts,ys=da,hs=Fe,xs=rn,Ve=et,ce=Te,bs=ba,Ht=un,ks=dn,Rt=Le,$s=us,Cs=mn,le=Ae,Ts=pn,Ie=gn,js=fn,ct=Ee,Ss=Zs,ws=je,We=Be,Rs=Da,As=qa,Ds=io,At=Zt,Qt=tt,zs=bo,Ms=ft,Is=zo,ut=xn,Us=bn,Fs=No,Bs=tl,Es=vl,Ps=Tn,Ns=El,Vs=Rn,Ls=sn,Xt=Vt,Gt=Et;return t(),r(q,null,[l(Ls,{id:"project-detail"},{header:s(()=>[l(Ye,null,{leading:s(()=>[l(E),l(Z,{items:[{label:"Home",icon:"i-lucide-house",to:"/"},{label:"Projects",to:"/projects"},{label:e(u)?.label||e(u)?.name||"Project"}]},null,8,["items"])]),right:s(()=>[l(Re,{size:"sm",actions:[...e(m)?[{label:"Delete",icon:"i-lucide-trash-2",color:"error",variant:"ghost",onClick:()=>{v.value="",_.value=!0}}]:[],...e(p)?[{label:"Import",icon:"i-lucide-import",variant:"outline",to:`/projects/${e(f)}/import`}]:[],{label:"Test functions",icon:"i-lucide-function-square",variant:"outline",to:`/projects/${e(f)}/test-functions`},{label:"Selections",icon:"i-lucide-list-filter",variant:"outline",to:`/projects/${e(f)}/selections`},{label:"Edit",icon:"i-lucide-pencil",variant:"outline",to:`/projects/${e(f)}/edit`},{label:"Refresh",icon:"i-lucide-refresh-cw",variant:"outline",onClick:()=>e(z)()}]},{leading:s(()=>[l(ve,{"project-id":parseInt(e(f)),"project-label":e(u)?.label||e(u)?.name},null,8,["project-id","project-label"])]),_:1},8,["actions"])]),_:1})]),body:s(()=>[n("div",Pl,[e(u)?.description||e(u)?.tags&&e(u).tags.length>0?(t(),r("div",Nl,[e(u)?.description?(t(),r("p",Vl,i(e(u).description),1)):j("",!0),e(u)?.tags&&e(u).tags.length>0?(t(),r("div",Ll,[(t(!0),r(q,null,Y(e(u).tags,o=>(t(),y(wt,{key:o.id,text:o.text,color:o.color},null,8,["text","color"]))),128))])):j("",!0)])):j("",!0),l(ys,{"project-id":e(f)},null,8,["project-id"]),l(hs,{modelValue:e(J),"onUpdate:modelValue":a[0]||(a[0]=o=>ee(J)?J.value=o:null),items:e(_t),icon:e(be),size:"md",class:"w-full mx-1 mb-1 sm:hidden"},null,8,["modelValue","items","icon"]),l(Vs,{modelValue:e(J),"onUpdate:modelValue":a[15]||(a[15]=o=>ee(J)?J.value=o:null),items:e(He),size:"sm",class:"p-1",ui:{list:"max-sm:hidden overflow-x-auto",trigger:"shrink-0"}},{"test-runs":s(()=>[n("div",Ol,[n("div",Kl,[l(xs,{modelValue:e($e),"onUpdate:modelValue":a[1]||(a[1]=o=>ee($e)?$e.value=o:null),label:"Full runs only",ui:{label:"text-sm"}},null,8,["modelValue"]),l(Ve,{topic:"project.run-scope"})]),e(De).length>0?(t(),r(q,{key:0},[a[22]||(a[22]=n("span",{class:"text-sm text-muted shrink-0"},"Environment:",-1)),(t(!0),r(q,null,Y(e(De),o=>(t(),r("button",{key:o,type:"button",class:se(["text-xs font-medium px-2 py-1 rounded border cursor-pointer focus:outline-none transition-colors",ht(o)?"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:Ce=>yt(o)},i(o),11,ql))),128)),e(re).length>0?(t(),y(ce,{key:0,size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-x",label:"Clear filter",onClick:a[2]||(a[2]=o=>re.value=[])})):j("",!0)],64)):j("",!0),e(nt).length>0?(t(),r(q,{key:1},[a[23]||(a[23]=n("span",{class:"text-sm text-muted shrink-0"},"Branch:",-1)),(t(!0),r(q,null,Y(e(nt),o=>(t(),r("button",{key:o,type:"button",title:o,class:se(["text-xs font-medium px-2 py-1 rounded border cursor-pointer focus:outline-none transition-colors max-w-[12rem] truncate",Pe(o)?"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:Ce=>at(o)},i(o),11,Hl))),128)),e(ie).length>0?(t(),y(ce,{key:0,size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-x",label:"Clear filter",onClick:a[3]||(a[3]=o=>ie.value=[])})):j("",!0)],64)):j("",!0)]),e(N).length>0?(t(),y(Ht,{key:0,title:"Run trend",subtitle:"One bar per run, newest on the right",help:"project.runs-trend",legend:e(Yt)(e(ns)),"data-shot":"run-trend"},{default:s(()=>[l(bs,{"test-runs":e(N),markers:e(Ge),onMarkerClick:ot},null,8,["test-runs","markers"])]),_:1},8,["legend"])):j("",!0),l(We,{class:"mt-4"},{default:s(()=>[e(W).length>0?(t(),r("div",Ql,[n("span",Xl,i(e(W).length)+" run"+i(e(W).length>1?"s":"")+" selected ",1),e(W).length===2?(t(),y(ce,{key:0,icon:"i-lucide-git-compare-arrows",size:"sm",color:"primary",label:"Compare selected runs",onClick:vt})):(t(),r("span",Gl," Select another run to compare ")),l(ce,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-x",label:"Clear",onClick:a[4]||(a[4]=o=>W.value=[])})])):j("",!0),e(N).length>0?(t(),y(ct,{key:1,data:e(N),columns:me,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":s(({row:o})=>[n("input",{type:"checkbox",checked:ke(o.original.id),class:"cursor-pointer size-4 accent-primary",onClick:Jt(Ce=>Qe(o.original.id),["stop"])},null,8,Jl)]),"id-cell":s(({row:o})=>[n("div",Yl,[n("a",{href:`/test-runs/${o.original.id}`,class:"text-primary hover:underline font-medium",onClick:Jt(Ce=>("navigateTo"in c?c.navigateTo:e(Bt))(`/test-runs/${o.original.id}`),["prevent"])}," Run #"+i(o.original.id),9,Wl),o.original.label?(t(),r("span",Zl,i(o.original.label),1)):j("",!0)])]),"status-cell":s(({row:o})=>[l(ks,{status:o.original.status},null,8,["status"])]),"isFullRun-header":s(()=>[n("span",er,[a[24]||(a[24]=d("Scope ",-1)),l(Ve,{topic:"run.partial"})])]),"isFullRun-cell":s(({row:o})=>[l($s,{text:Q(o.original)},{default:s(()=>[l(Rt,{name:o.original.isFullRun===!1?"i-lucide-list-filter":"i-lucide-list-checks",class:se(["size-4 shrink-0 cursor-help",o.original.isFullRun===!1?"text-amber-500":"text-green-500"])},null,8,["name","class"])]),_:2},1032,["text"])]),"browsers-cell":s(({row:o})=>[o.original.browsers?.length?(t(),r("div",tr,[(t(!0),r(q,null,Y(o.original.browsers,Ce=>(t(),y(Cs,{key:Ce,browser:{projectName:Ce},size:"sm"},null,8,["browser"]))),128))])):j("",!0)]),"startTime-cell":s(({row:o})=>[n("span",sr,i(("prettyDateFormat"in c?c.prettyDateFormat:e(gt))(o.original.startTime)),1)]),"environment-cell":s(({row:o})=>[o.original.environment?(t(),y(le,{key:0,color:"info",variant:"subtle",size:"sm"},{default:s(()=>[d(i(o.original.environment),1)]),_:2},1024)):j("",!0)]),"metadata-cell":s(({row:o})=>[_e(o.original)||o.original.metadata?.scm?.commit?(t(),r("div",nr,[_e(o.original)?(t(),r("button",{key:0,type:"button",title:`Filter runs on ${_e(o.original)}`,class:se(["text-xs font-medium px-1.5 py-0.5 rounded cursor-pointer transition-colors max-w-[12rem] truncate",Pe(_e(o.original))?"bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-300":"bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700"]),onClick:Ce=>at(_e(o.original))},i(_e(o.original)),11,ar)):j("",!0),o.original.metadata?.scm?.commit?(t(),r("code",or,i(o.original.metadata.scm.commit.substring(0,7)),1)):j("",!0)])):j("",!0)]),"duration-cell":s(({row:o})=>[n("div",lr,[l(Ts,{passed:o.original.passedTests,failed:o.original.failedTests,skipped:o.original.skippedTests,flaky:o.original.flakyTests,"did-not-run":o.original.didNotRunTests??0,total:o.original.totalTests},null,8,["passed","failed","skipped","flaky","did-not-run","total"]),l(Ie,{ms:o.original.duration,class:"text-xs text-gray-500"},null,8,["ms"])])]),"reports-cell":s(({row:o})=>[l(js,{reports:o.original.reports},null,8,["reports"])]),"actions-header":s(()=>[...a[25]||(a[25]=[n("div",{class:"text-right"},"Actions",-1)])]),"actions-cell":s(({row:o})=>[n("div",rr,[l(ce,{to:`/test-runs/${o.original.id}`,size:"sm",variant:"outline"},{default:s(()=>[...a[26]||(a[26]=[d(" View ",-1)])]),_:1},8,["to"]),l(ce,{size:"sm",color:"error",variant:"soft",icon:"i-lucide-trash-2",loading:e(M)===o.original.id,onClick:Ce=>h.value=o.original.id},{default:s(()=>[...a[27]||(a[27]=[d(" Delete ",-1)])]),_:1},8,["loading","onClick"])])]),_:1},8,["data"])):e(u)?.testRuns&&e(u).testRuns.length>0?(t(),r("div",ir," No test runs match the selected environment filter. ")):(t(),y(ws,{key:3,icon:"i-lucide-rocket",text:"No test runs yet for this project."},{default:s(()=>[n("p",cr,[a[29]||(a[29]=d(" Point the reporter's ",-1)),a[30]||(a[30]=n("code",{class:"bg-gray-100 dark:bg-gray-800 px-1 rounded"},"projectName",-1)),a[31]||(a[31]=d(" at ",-1)),n("code",ur,i(e(u)?.name),1),a[32]||(a[32]=d(" to send results here — see the ",-1)),l(Ss,{to:"reporter","no-icon":"",class:"text-primary hover:underline"},{default:s(()=>[...a[28]||(a[28]=[d("reporter docs",-1)])]),_:1}),a[33]||(a[33]=d(" for setup instructions. ",-1))])]),_:1}))]),_:1})]),"failure-clusters":s(()=>[e(J)==="failure-clusters"?(t(),r(q,{key:0},[(t(),y(Rs,{key:`sug-${e(de)}`,"project-id":String(e(f)),onMerged:a[5]||(a[5]=o=>de.value++)},null,8,["project-id"])),(t(),y(As,{key:e(de),"project-id":String(e(f))},null,8,["project-id"]))],64)):j("",!0)]),"flaky-tests":s(()=>[e(J)==="flaky-tests"?(t(),y(Ds,{key:0,"project-id":String(e(f)),environment:e(V),branch:e(ne),"project-name":e(u)?.name},null,8,["project-id","environment","branch","project-name"])):j("",!0)]),performance:s(()=>[n("div",dr,[a[34]||(a[34]=n("span",{class:"text-sm text-muted shrink-0"},"Date range:",-1)),l(At,{modelValue:e(ze),"onUpdate:modelValue":a[6]||(a[6]=o=>ee(ze)?ze.value=o:null),type:"date",size:"sm",placeholder:"From",class:"w-40"},null,8,["modelValue"]),a[35]||(a[35]=n("span",{class:"text-sm text-muted"},"to",-1)),l(At,{modelValue:e(Me),"onUpdate:modelValue":a[7]||(a[7]=o=>ee(Me)?Me.value=o:null),type:"date",size:"sm",placeholder:"To",class:"w-40"},null,8,["modelValue"]),e(ze)||e(Me)?(t(),y(ce,{key:0,size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-x",label:"Clear",onClick:a[8]||(a[8]=o=>{ze.value="",Me.value=""})})):j("",!0)]),l(Ht,{title:"Performance trend",subtitle:"Duration metrics per run, newest on the right",help:"project.performance",legend:e(Yt)(e(Ut)),"data-shot":"performance-trend"},{default:s(()=>[e(gs)?(t(),y(Qt,{key:0,text:"Loading chart…"})):(t(),y(zs,{key:1,data:e($t)||[],markers:e(Ge),onMarkerClick:ot},null,8,["data","markers"]))]),_:1},8,["legend"]),l(We,{"data-shot":"slowest-tests"},{header:s(()=>[n("h2",mr,[a[36]||(a[36]=d(" Slowest tests ",-1)),l(Ve,{topic:"project.slowest-tests"})]),a[37]||(a[37]=n("p",{class:"text-sm text-gray-600 mt-1"},"Top 20 slowest test cases across recent runs",-1))]),default:s(()=>[e(lt)&&e(Ne)===null?(t(),y(Qt,{key:0,text:"Loading…"})):e(Ne)&&e(Ne).length>0?(t(),y(ct,{key:1,data:e(Ne),columns:fs,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":s(({row:o})=>[n("div",null,[n("div",pr,i(o.original.title),1),n("div",gr,[l(Ms,{"file-path":o.original.filePath,"project-key":e(f),"project-name":e(u)?.name,class:"text-xs"},null,8,["file-path","project-key","project-name"])])])]),"trend-cell":s(({row:o})=>[o.original.trend==="slower"?(t(),r("span",fr,"▲ Slower")):o.original.trend==="faster"?(t(),r("span",_r,"▼ Faster")):(t(),r("span",vr,"— Stable"))]),_:1},8,["data"])):e(Tt)?(t(),r("div",yr," Couldn't load the slowest tests — try refreshing. ")):(t(),r("div",hr,"No slow test data available yet."))]),_:1}),l(Is,{"project-id":String(e(f)),"project-name":e(u)?.name},null,8,["project-id","project-name"]),l(We,null,{header:s(()=>[n("div",xr,[n("div",null,[n("h2",br,[a[38]||(a[38]=d(" Run comparison ",-1)),l(Ve,{topic:"project.run-compare"})]),a[39]||(a[39]=n("p",{class:"text-sm text-gray-600 mt-1"},"Compare duration changes between two runs",-1))]),e(pe).length>=2?(t(),y(ce,{key:0,icon:"i-lucide-git-compare-arrows",size:"sm",variant:"outline",label:"Compare latest vs previous",onClick:Kt})):j("",!0)])]),default:s(()=>[n("div",kr,[n("div",$r,[n("div",null,[a[40]||(a[40]=n("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Run A (baseline)",-1)),l(ut,{modelValue:e(ae),"onUpdate:modelValue":a[9]||(a[9]=o=>ee(ae)?ae.value=o:null),items:e(pe),placeholder:"Select run A..."},null,8,["modelValue","items"])]),n("div",null,[a[41]||(a[41]=n("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Run B (comparison)",-1)),l(ut,{modelValue:e(oe),"onUpdate:modelValue":a[10]||(a[10]=o=>ee(oe)?oe.value=o:null),items:e(pe),placeholder:"Select run B..."},null,8,["modelValue","items"])])]),e(rt)?(t(),r("div",Cr,[l(Rt,{name:"i-lucide-loader-2",class:"animate-spin mr-2"}),a[42]||(a[42]=d(" Loading run data… ",-1))])):e(ae)&&e(oe)&&e(it).length>0?(t(),r("div",Tr,[n("div",jr,[l(le,{color:"success",variant:"soft",size:"lg"},{default:s(()=>[d(i(e(te).improved)+" improved",1)]),_:1}),l(le,{color:"error",variant:"soft",size:"lg"},{default:s(()=>[d(i(e(te).regressed)+" regressed",1)]),_:1}),l(le,{color:"neutral",variant:"soft",size:"lg"},{default:s(()=>[d(i(e(te).unchanged)+" unchanged",1)]),_:1})]),l(ct,{data:e(it),columns:qt,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":s(({row:o})=>[o.original.statusA?(t(),y(le,{key:1,color:("getStatusColor"in c?c.getStatusColor:e(dt))(o.original.statusA),variant:"subtle",class:"capitalize"},{default:s(()=>[d(i(o.original.statusA),1)]),_:2},1032,["color"])):(t(),r("span",Sr,"—"))]),"statusB-cell":s(({row:o})=>[o.original.statusB?(t(),y(le,{key:1,color:("getStatusColor"in c?c.getStatusColor:e(dt))(o.original.statusB),variant:"subtle",class:"capitalize"},{default:s(()=>[d(i(o.original.statusB),1)]),_:2},1032,["color"])):(t(),r("span",wr,"—"))]),"durationA-cell":s(({row:o})=>[o.original.durationA!==null?(t(),y(Ie,{key:0,ms:o.original.durationA},null,8,["ms"])):(t(),r("span",Rr,"—"))]),"durationB-cell":s(({row:o})=>[o.original.durationB!==null?(t(),y(Ie,{key:0,ms:o.original.durationB},null,8,["ms"])):(t(),r("span",Ar,"—"))]),"delta-cell":s(({row:o})=>[o.original.delta===null?(t(),r("span",Dr,"—")):(t(),r("span",{key:1,class:se(o.original.delta>0?"text-red-600":o.original.delta<0?"text-green-600":"text-gray-500")},[d(i(o.original.delta>0?"+":""),1),l(Ie,{ms:o.original.delta,"unit-class":"opacity-60"},null,8,["ms"])],2))]),"percentChange-cell":s(({row:o})=>[o.original.percentChange===null?(t(),r("span",zr,"—")):(t(),r("span",{key:1,class:se(o.original.percentChange>10?"text-red-600 font-medium":o.original.percentChange<-10?"text-green-600 font-medium":"text-gray-500")},i(o.original.percentChange>0?"+":"")+i(o.original.percentChange)+"% ",3))]),_:1},8,["data"])])):!e(ae)||!e(oe)?(t(),r("div",Mr," Select two runs to compare their performance. ")):(t(),r("div",Ir," No overlapping test cases found between the selected runs. "))])]),_:1})]),"test-cases":s(()=>[l(Us,{"project-id":e(f),"project-name":e(u)?.name,"sync-query":"",onTotal:a[11]||(a[11]=o=>Je.value=o)},null,8,["project-id","project-name"])]),compare:s(()=>[l(We,null,{header:s(()=>[n("div",Ur,[n("p",Fr,[a[43]||(a[43]=d(" Compare two test runs side-by-side — status changes and duration deltas ",-1)),l(Ve,{topic:"project.compare"})]),e(pe).length>=2?(t(),y(ce,{key:0,icon:"i-lucide-git-compare-arrows",size:"sm",variant:"outline",label:"Latest vs previous",onClick:Kt})):j("",!0)])]),default:s(()=>[n("div",Br,[n("div",Er,[n("div",null,[a[44]||(a[44]=n("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Run A (baseline)",-1)),l(ut,{modelValue:e(ae),"onUpdate:modelValue":a[12]||(a[12]=o=>ee(ae)?ae.value=o:null),items:e(pe),placeholder:"Select run A..."},null,8,["modelValue","items"])]),n("div",null,[a[45]||(a[45]=n("label",{class:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1"},"Run B (comparison)",-1)),l(ut,{modelValue:e(oe),"onUpdate:modelValue":a[13]||(a[13]=o=>ee(oe)?oe.value=o:null),items:e(pe),placeholder:"Select run B..."},null,8,["modelValue","items"])])]),e(rt)?(t(),r("div",Pr,[l(Rt,{name:"i-lucide-loader-2",class:"animate-spin mr-2"}),a[46]||(a[46]=d(" Loading run data… ",-1))])):e(ae)&&e(oe)&&e(it).length>0?(t(),r("div",Nr,[n("div",Vr,[n("div",Lr,[a[47]||(a[47]=n("span",{class:"text-xs font-semibold text-gray-500 uppercase tracking-wider mr-1"},"Status changes",-1)),e(te).newFailures>0?(t(),y(le,{key:0,color:"error",variant:"soft",size:"lg"},{default:s(()=>[d(i(e(te).newFailures)+" new failure"+i(e(te).newFailures>1?"s":""),1)]),_:1})):j("",!0),e(te).recovered>0?(t(),y(le,{key:1,color:"success",variant:"soft",size:"lg"},{default:s(()=>[d(i(e(te).recovered)+" recovered ",1)]),_:1})):j("",!0),e(te).stillFailing>0?(t(),y(le,{key:2,color:"warning",variant:"soft",size:"lg"},{default:s(()=>[d(i(e(te).stillFailing)+" still failing ",1)]),_:1})):j("",!0),e(te).newFailures===0&&e(te).recovered===0&&e(te).stillFailing===0?(t(),r("span",Or,"No status changes")):j("",!0)]),n("div",Kr,[a[48]||(a[48]=n("span",{class:"text-xs font-semibold text-gray-500 uppercase tracking-wider mr-1"},"Duration changes",-1)),e(te).regressed>0?(t(),y(le,{key:0,color:"error",variant:"soft",size:"lg"},{default:s(()=>[d(i(e(te).regressed)+" regressed ",1)]),_:1})):j("",!0),e(te).improved>0?(t(),y(le,{key:1,color:"success",variant:"soft",size:"lg"},{default:s(()=>[d(i(e(te).improved)+" improved ",1)]),_:1})):j("",!0),l(le,{color:"neutral",variant:"soft",size:"lg"},{default:s(()=>[d(i(e(te).unchanged)+" unchanged ",1)]),_:1})])]),l(ct,{data:e(it),columns:qt,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":s(({row:o})=>[o.original.statusA?(t(),y(le,{key:1,color:("getStatusColor"in c?c.getStatusColor:e(dt))(o.original.statusA),variant:"subtle",class:"capitalize"},{default:s(()=>[d(i(o.original.statusA),1)]),_:2},1032,["color"])):(t(),r("span",qr,"—"))]),"statusB-cell":s(({row:o})=>[o.original.statusB?(t(),y(le,{key:1,color:("getStatusColor"in c?c.getStatusColor:e(dt))(o.original.statusB),variant:"subtle",class:"capitalize"},{default:s(()=>[d(i(o.original.statusB),1)]),_:2},1032,["color"])):(t(),r("span",Hr,"—"))]),"durationA-cell":s(({row:o})=>[o.original.durationA!==null?(t(),y(Ie,{key:0,ms:o.original.durationA},null,8,["ms"])):(t(),r("span",Qr,"—"))]),"durationB-cell":s(({row:o})=>[o.original.durationB!==null?(t(),y(Ie,{key:0,ms:o.original.durationB},null,8,["ms"])):(t(),r("span",Xr,"—"))]),"delta-cell":s(({row:o})=>[o.original.delta===null?(t(),r("span",Gr,"—")):(t(),r("span",{key:1,class:se(o.original.delta>0?"text-red-600":o.original.delta<0?"text-green-600":"text-gray-500")},[d(i(o.original.delta>0?"+":""),1),l(Ie,{ms:o.original.delta,"unit-class":"opacity-60"},null,8,["ms"])],2))]),"percentChange-cell":s(({row:o})=>[o.original.percentChange===null?(t(),r("span",Jr,"—")):(t(),r("span",{key:1,class:se(o.original.percentChange>10?"text-red-600 font-medium":o.original.percentChange<-10?"text-green-600 font-medium":"text-gray-500")},i(o.original.percentChange>0?"+":"")+i(o.original.percentChange)+"% ",3))]),_:1},8,["data"])])):!e(ae)||!e(oe)?(t(),r("div",Yr," Select two runs to compare test results. ")):(t(),r("div",Wr," No overlapping test cases found between the selected runs. "))])]),_:1})]),"spec-health":s(()=>[l(Fs,{"project-id":String(e(f))},null,8,["project-id"])]),"ai-steps":s(()=>[l(Bs,{"project-id":String(e(f))},null,8,["project-id"])]),quarantine:s(()=>[l(Es,{"project-id":String(e(f)),"project-name":e(u)?.name},null,8,["project-id","project-name"])]),members:s(()=>[l(We,null,{header:s(()=>[n("div",Zr,[n("p",ei,[a[49]||(a[49]=d(" Users with access to this project ",-1)),l(Ve,{topic:"project.members"})]),l(ce,{label:"Save changes",icon:"i-lucide-check",size:"sm",disabled:!e(G),onClick:C},null,8,["disabled"])])]),default:s(()=>[e(H).length>0?(t(),r("div",ti,[(t(!0),r(q,null,Y(e(H),o=>(t(),r("div",{key:o.id,class:"flex items-center justify-between rounded-lg border border-default px-4 py-3"},[n("div",null,[n("div",si,i(o.name||o.username),1),n("div",ni,[n("span",null,"@"+i(o.username),1),l(le,{color:o.role==="administrator"?"primary":o.role==="reporter"?"info":"neutral",variant:"subtle",size:"xs"},{default:s(()=>[d(i(o.role),1)]),_:2},1032,["color"]),o.global?(t(),r("span",ai,"Global access")):j("",!0)])]),o.role!=="administrator"?(t(),y(Ps,{key:0,"model-value":e($).includes(o.id),disabled:o.global,title:o.global?"Has global access — remove global assignment first":"",onChange:Ce=>b(o.id)},null,8,["model-value","disabled","title","onChange"])):(t(),r("span",oi,"Admin"))]))),128))])):(t(),r("div",li,"Loading members…"))]),_:1})]),timeline:s(()=>[l(Ns,{"project-id":Number(e(f)),markers:e(Se),environments:e(De),"can-edit":e(kt),"focus-marker-id":e(we),onChanged:e(bt),onClearFocus:a[14]||(a[14]=o=>we.value=null)},null,8,["project-id","markers","environments","can-edit","focus-marker-id","onChanged"])]),_:1},8,["modelValue","items"])])]),_:1}),l(Gt,null,{default:s(()=>[l(Xt,{open:e(_),title:"Delete project","onUpdate:open":a[18]||(a[18]=o=>{o||(_.value=!1)})},{body:s(()=>[n("div",ri,[n("p",ii,[a[50]||(a[50]=d(" This will permanently delete ",-1)),n("strong",null,i(e(u)?.label||e(u)?.name),1),a[51]||(a[51]=d(" and all its test runs, reports, traces, and failure clusters. This action cannot be undone. ",-1))]),n("div",null,[n("label",ci,[a[52]||(a[52]=d(" Type the project key ",-1)),n("code",ui,i(e(u)?.name),1),a[53]||(a[53]=d(" to confirm: ",-1))]),l(At,{modelValue:e(v),"onUpdate:modelValue":a[16]||(a[16]=o=>ee(v)?v.value=o:null),placeholder:e(u)?.name,autofocus:"",onKeydown:Js(B,["enter"])},null,8,["modelValue","placeholder"])])])]),footer:s(()=>[l(ce,{color:"neutral",variant:"ghost",label:"Cancel",onClick:a[17]||(a[17]=o=>_.value=!1)}),l(ce,{color:"error",label:"Delete project",icon:"i-lucide-trash-2",disabled:!e(I),loading:e(R),onClick:B},null,8,["disabled","loading"])]),_:1},8,["open"])]),_:1}),l(Gt,null,{default:s(()=>[l(Xt,{open:e(h)!==null,title:"Delete test run","onUpdate:open":a[21]||(a[21]=o=>{o||(h.value=null)})},{body:s(()=>[n("p",null,[a[54]||(a[54]=d(" Are you sure you want to delete ",-1)),n("strong",null,"Run #"+i(e(h)),1),a[55]||(a[55]=d("? This will also remove all associated test results, reports, and traces. This action cannot be undone. ",-1))])]),footer:s(()=>[l(ce,{color:"neutral",variant:"ghost",label:"Cancel",onClick:a[19]||(a[19]=o=>h.value=null)}),l(ce,{color:"error",label:"Delete",icon:"i-lucide-trash-2",loading:e(M)===e(h),onClick:a[20]||(a[20]=o=>K(e(h)))},null,8,["loading"])]),_:1},8,["open"])]),_:1})],64)}}});export{gc as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{av as B,q as H,ar as I,v as V}from"./BdQ7kfxJ.js";import{g as x}from"./BL8cYWsR.js";const R=4096;function D(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function b(e){return'"'+e.replace(/"/g,'\\"')+'"'}function p(e){return e.replace(/\\/g,"/")}function T(e){const n=new Map;for(const r of e){const i=r.projectName||"";n.has(i)||n.set(i,[]),n.get(i).push(r)}return n}function L(e){const n=new Set;return e.filter(r=>{const i=r.filePath;return n.has(i)?!1:(n.add(i),!0)}).map(r=>r.filePath)}function A(e,n){const r=n?.mode??"file-line",d=`${n?.pkgRunner??"npx"} playwright test`;if(e.length===0)return"";const P=T(e),m=[];for(const[v,f]of P){let c;if(r==="file"){const l=L(f).map(t=>b(p(t))).join(" ");c=`${d} ${l}`}else if(r==="file-line"){const a=new Set,l=f.filter(t=>{const o=t.filePath+":"+t.line;return t.line&&a.has(o)?!1:(t.line&&a.add(o),!0)}).map(t=>t.line?b(`${p(t.filePath)}:${t.line}`):b(p(t.filePath))).join(" ");c=`${d} ${l}`}else{const a=f.map(t=>D(t.title)),l=a.length===1?a[0]:`(${a.join("|")})`;c=`${d} --grep ${b(l)}`}v&&(c+=` --project=${b(v)}`),m.push(c)}let g=m.join(" && ");if(g.length>R){if(r==="grep")return A(e,{...n,mode:"file-line"});if(r==="file-line")return A(e,{...n,mode:"file"});const f=_(e).map(a=>b(p(a))).join(" ");let c=`${d} ${f}`;return c.length>R&&(c=c.slice(0,R-3)+"..."),c}return g}function _(e){const n=new Set;return e.reduce((r,i)=>(n.has(i.filePath)||(n.add(i.filePath),r.push(i.filePath)),r),[])}function C(e,n){return e==null?"":n==null?`:${e}`:`:${e}:${n}`}function w(e){return e.replace(/%/g,"%25").replace(/ /g,"%20").replace(/#/g,"%23").replace(/\?/g,"%3F")}function $(e,n){const r=p(e).replace(/\/+$/,""),i=p(n).replace(/^\.?\/+/,"");return r?`${r}/${i}`:i}function K(e){const n=w(p(e.absPath)),r=n.startsWith("/")?n:`/${n}`;return`${e.scheme}://file${r}${C(e.line,e.column)}`}function F(e){const n=w(p(e.relPath))+C(e.line,e.column);return`jetbrains://${e.product}/navigate/reference?project=${encodeURIComponent(e.projectName)}&path=${n}`}function M(e){const n=w(p(e.path));return`http://localhost:${e.port}/api/file/${n}${C(e.line,e.column)}`}const G="piwi-ide-prefs",q={method:"auto",vscodeScheme:"vscode",jetbrainsProduct:"idea",jetbrainsPort:63342,jetbrainsHttpUsesRelativePath:!1,defaultRoot:"",projectRoots:{},jetbrainsProjectNames:{}},W={vscode:"VS Code","vscode-insiders":"VS Code Insiders",vscodium:"VSCodium",cursor:"Cursor"},Q={auto:"Auto (try all)",vscode:"VS Code","jetbrains-url":"JetBrains (URL)","jetbrains-http":"JetBrains (local server)"},Z=["idea","webstorm","pycharm","phpstorm","goland","rubymine","clion","rider","rustrover"];function ee(){const e=B(G,q,{mergeDefaults:!0}),n=H(),r=I("piwi-ide-settings-open",()=>!1),i=I("piwi-ide-settings-context",()=>({}));function d(t){return t==null||t===""?null:String(t)}function P(t={}){i.value={projectKey:t.projectKey??null,projectName:t.projectName??null},r.value=!0}function m(t){const o=d(t);return((o?e.value.projectRoots[o]:void 0)||e.value.defaultRoot||"").trim()}function g(t,o){const s=d(t);return((s?e.value.jetbrainsProjectNames[s]:void 0)||o||"").trim()}function v(t,o){const s=m(o);return s?$(s,t):null}const f=V(()=>!!e.value.defaultRoot?.trim()||Object.keys(e.value.projectRoots).length>0||Object.keys(e.value.jetbrainsProjectNames).length>0);function c(t){try{const o=document.createElement("iframe");o.style.display="none",o.src=t,document.body.appendChild(o),setTimeout(()=>o.remove(),1e3)}catch{const o=document.createElement("a");o.href=t,o.style.display="none",document.body.appendChild(o),o.click(),setTimeout(()=>o.remove(),1e3)}}async function a(t,o,s){const h=M({port:e.value.jetbrainsPort,path:t,line:o,column:s});try{return await fetch(h,{mode:"no-cors",signal:AbortSignal.timeout(1200)}),!0}catch{return!1}}async function l(t){const o=t.method??e.value.method,s=t.filePath,h=t.line??null,S=t.column??null;let u=m(t.projectKey);if(!u){const j=await x(t.projectKey);j?.exists&&(u=j.path)}const y=g(t.projectKey,t.projectName),O={projectKey:d(t.projectKey),projectName:t.projectName??null},k={label:"Configure",color:"info",onClick:()=>P(O)},J=()=>u?(c(K({scheme:e.value.vscodeScheme,absPath:$(u,s),line:h,column:S})),n.add({title:`Opening ${W[e.value.vscodeScheme]}…`,description:"If nothing opens, the editor may not be installed or the workspace root is wrong.",color:"neutral",icon:"i-lucide-external-link"}),!0):(n.add({title:"Set a workspace root",description:"VS Code needs the local folder that contains this file.",color:"info",icon:"i-lucide-folder-cog",actions:[k]}),!1),E=()=>y?(c(F({product:e.value.jetbrainsProduct,projectName:y,relPath:s,line:h,column:S})),n.add({title:"Opening JetBrains…",description:"If nothing opens, JetBrains Toolbox may not be installed or the project is not open.",color:"neutral",icon:"i-lucide-external-link"}),!0):(n.add({title:"Set a JetBrains project name",description:"The jetbrains:// link needs the open IDE project name.",color:"info",icon:"i-lucide-folder-cog",actions:[k]}),!1),U=async()=>{const j=e.value.jetbrainsHttpUsesRelativePath?s:u?$(u,s):s,N=await a(j,h,S);return n.add(N?{title:"Opened in JetBrains",color:"success",icon:"i-lucide-check"}:{title:"JetBrains not reachable",description:`Nothing responded on localhost:${e.value.jetbrainsPort}. Start the IDE with the Remote Control plugin (and "Allow unsigned requests").`,color:"error",icon:"i-lucide-plug-zap"}),N};if(o==="vscode"){J();return}if(o==="jetbrains-url"){E();return}if(o==="jetbrains-http"){await U();return}if(e.value.jetbrainsHttpUsesRelativePath||!!u){const j=e.value.jetbrainsHttpUsesRelativePath?s:$(u,s);if(await a(j,h,S)){n.add({title:"Opened in JetBrains",color:"success",icon:"i-lucide-check"});return}}if(u){J();return}if(y){E();return}n.add({title:'Set up "Open in IDE"',description:"Add your local workspace folder (for VS Code) or a JetBrains project name to open files from here.",color:"info",icon:"i-lucide-folder-cog",actions:[k]})}return{prefs:e,isConfigured:f,openInIde:l,openInVscode:t=>l({...t,method:"vscode"}),openViaJetbrainsUrl:t=>l({...t,method:"jetbrains-url"}),openViaJetbrainsHttp:t=>l({...t,method:"jetbrains-http"}),resolveRoot:m,resolveJbProjectName:g,resolveAbsPath:v,settingsOpen:r,settingsContext:i,openSettings:P}}export{Q as I,Z as J,W as V,A as b,D as e,p as t,ee as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as W,o as a,e as m,y as x,b as e,f as u,U as M,_ as v,l as s,v as n,k as A,G as L,x as D,h as C,c as _,t as p,g as h,F as N,z as k,r as w,j as U}from"./BdQ7kfxJ.js";import{H}from"./Bg63qh8W.js";import{a as G}from"./DTtizz85.js";const B="https://piwitests.dev";function X(t){return`${B}/${t.replace(/^\//,"")}`}const Y=W({__name:"DocLink",props:{to:{},noIcon:{type:Boolean}},setup(t){const i=t,E=n(()=>X(i.to));return(c,o)=>{const g=v,d=x;return a(),m(d,{to:e(E),target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1 text-primary hover:underline"},{default:u(()=>[M(c.$slots,"default",{},()=>[o[0]||(o[0]=A("Learn more",-1))]),t.noIcon?s("",!0):(a(),m(g,{key:0,name:"i-lucide-external-link",class:"w-3.5 h-3.5 shrink-0"}))]),_:3},8,["to"])}}}),V=Object.assign(Y,{__name:"DocLink"}),P={PIWI_SITE_URL:{description:"Public base URL of the instance (e.g. https://piwi.example.com). Used to build links in emails.",category:"general",type:"url",example:"https://piwi.example.com",notes:"When unset, links in emails point to http://localhost:3000 and OAuth callback URLs are inferred from the request host — set it when running behind a reverse proxy."},PIWI_SECRET_KEY:{description:"Master key for AES-256-GCM encryption of secrets stored in the database (AI API keys, webhook/SCM secrets). Strongly recommended in production.",category:"general",secret:!0,example:"a 64-char random hex string",notes:"Falls back to an insecure built-in development key (with a startup warning in production). Generate one with `node -e \"console.log(require('node:crypto').randomBytes(32).toString('hex'))\"`."},PIWI_BUILD_DIR:{description:"Overrides the Nuxt build output directory. Used by the test harness to isolate parallel builds.",category:"build",runtimeOnly:!0,type:"path"},PIWI_BUILD_SHA:{description:"Commit SHA baked into the build for provenance. Shown on Settings → About. Set as a build-time arg.",category:"build",runtimeOnly:!0},PIWI_DESKTOP_TOKEN:{description:"Per-install access token the desktop (Tauri) app injects to gate its local server. Set automatically by the desktop shell — not user-configurable. Absent on the server build.",category:"desktop",secret:!0,runtimeOnly:!0,since:"0.16.0"},PIWI_DATABASE_PATH:{description:"Path to the SQLite database file (used when PIWI_DATABASE_URL is not set).",category:"database",type:"path",default:".data/piwi.db",relevantWhen:{PIWI_DATABASE_URL:""}},PIWI_DATABASE_URL:{description:"PostgreSQL connection string. When set, PostgreSQL is used instead of SQLite and migrations run automatically on startup.",category:"database",secret:!0,example:"postgres://piwi:piwi@db:5432/piwi",docs:"database#postgresql"},PIWI_RETENTION_DAYS:{description:"Days of test-run history the nightly retention sweep keeps. Unset or 0 disables automatic run pruning (the default — pruning is opt-in).",category:"database",type:"number",min:0,docs:"storage#data-retention"},PIWI_RETENTION_NOTIFICATION_DAYS:{description:"Days to keep sent/failed notification outbox rows before the nightly sweep prunes them (default 30; 0 keeps them forever).",category:"database",type:"number",default:"30",min:0},PIWI_RETENTION_DIAGNOSIS_VERSIONS:{description:"AI-diagnosis history versions kept per diagnosis by the nightly sweep (default 20; 0 disables capping).",category:"database",type:"number",default:"20",min:0},PIWI_STORAGE_TYPE:{description:'Storage backend for test artifacts (HTML reports, traces, attachments): "local" or "s3".',category:"storage",type:"enum",enum:["local","s3"],default:"local",notes:"Only the exact value `s3` selects S3; any other value falls back to local storage."},PIWI_STORAGE_PATH:{description:'Directory for local file storage (when PIWI_STORAGE_TYPE is "local").',category:"storage",type:"path",default:".data/storage",relevantWhen:{PIWI_STORAGE_TYPE:"local"}},PIWI_S3_BUCKET:{description:'S3 bucket name for artifact storage (when PIWI_STORAGE_TYPE is "s3").',category:"storage",relevantWhen:{PIWI_STORAGE_TYPE:"s3"},requiredWhen:{PIWI_STORAGE_TYPE:"s3"},docs:"storage#s3-compatible-storage"},PIWI_S3_REGION:{description:'S3 bucket region (when PIWI_STORAGE_TYPE is "s3").',category:"storage",example:"us-east-1",relevantWhen:{PIWI_STORAGE_TYPE:"s3"},requiredWhen:{PIWI_STORAGE_TYPE:"s3"}},PIWI_S3_ACCESS_KEY_ID:{description:"S3 access key id with write access to the bucket.",category:"storage",secret:!0,relevantWhen:{PIWI_STORAGE_TYPE:"s3"},requiredWhen:{PIWI_STORAGE_TYPE:"s3"}},PIWI_S3_SECRET_ACCESS_KEY:{description:"S3 secret access key.",category:"storage",secret:!0,relevantWhen:{PIWI_STORAGE_TYPE:"s3"},requiredWhen:{PIWI_STORAGE_TYPE:"s3"}},PIWI_S3_ENDPOINT:{description:"Custom endpoint for S3-compatible services (MinIO, R2, Spaces).",category:"storage",type:"url",example:"https://minio.example.com",relevantWhen:{PIWI_STORAGE_TYPE:"s3"}},PIWI_S3_FORCE_PATH_STYLE:{description:"Use path-style addressing (required by some S3-compatible services).",category:"storage",type:"boolean",relevantWhen:{PIWI_STORAGE_TYPE:"s3"},notes:"Defaults to on when a custom endpoint is set, off otherwise; only the exact value `false` turns it off explicitly."},PIWI_AUTH_ENABLED:{description:'Set to "true" to enable role-based access control and API keys. Off by default.',category:"auth",type:"boolean",default:"false"},PIWI_AUTH_SECRET:{description:"Secret used to sign/encrypt session cookies. Required when PIWI_AUTH_ENABLED is true.",category:"auth",secret:!0,relevantWhen:{PIWI_AUTH_ENABLED:"true"},requiredWhen:{PIWI_AUTH_ENABLED:"true"},notes:"The server refuses to start when auth is enabled and this is unset."},PIWI_SHARE_LINKS_ENABLED:{description:'Set to "true" to allow minting read-only public share links for executions and failure clusters. Off by default; turning it off again immediately dead-ends every outstanding link without deleting anything.',category:"auth",type:"boolean",default:"false",since:"0.26.0"},PIWI_SHARE_LINK_MAX_TTL_DAYS:{description:"Longest allowed share-link lifetime, in days. The creation dialog offers expiries up to this; 0 lifts the cap and allows links with no expiry.",category:"auth",type:"number",default:"30",min:0,max:3650,relevantWhen:{PIWI_SHARE_LINKS_ENABLED:"true"},since:"0.26.0"},PIWI_TRUST_PROXY:{description:`Set to "true" when a reverse proxy sits in front of Piwi, so per-IP rate limits on the auth endpoints key on the client address your proxy appends to X-Forwarded-For instead of on the proxy's own address (which would pool every client into one bucket). Leave off when clients connect directly: the header is client-controlled then, and trusting it would let a caller choose its own bucket.`,category:"auth",type:"boolean",default:"false",since:"0.26.0"},PIWI_OAUTH_GOOGLE_CLIENT_ID:{description:"Google OAuth client id (optional single sign-on).",category:"oauth",relevantWhen:{PIWI_AUTH_ENABLED:"true"},requiredWhen:{PIWI_OAUTH_GOOGLE_CLIENT_SECRET:"*"},docs:"authentication#oauth-google-github"},PIWI_OAUTH_GOOGLE_CLIENT_SECRET:{description:"Google OAuth client secret.",category:"oauth",secret:!0,relevantWhen:{PIWI_AUTH_ENABLED:"true"},requiredWhen:{PIWI_OAUTH_GOOGLE_CLIENT_ID:"*"}},PIWI_OAUTH_GITHUB_CLIENT_ID:{description:"GitHub OAuth client id (optional single sign-on).",category:"oauth",relevantWhen:{PIWI_AUTH_ENABLED:"true"},requiredWhen:{PIWI_OAUTH_GITHUB_CLIENT_SECRET:"*"},docs:"authentication#oauth-google-github"},PIWI_OAUTH_GITHUB_CLIENT_SECRET:{description:"GitHub OAuth client secret.",category:"oauth",secret:!0,relevantWhen:{PIWI_AUTH_ENABLED:"true"},requiredWhen:{PIWI_OAUTH_GITHUB_CLIENT_ID:"*"}},PIWI_OAUTH_ALLOWED_DOMAINS:{description:"Comma-separated verified email domains allowed to sign in via OAuth (all providers).",category:"oauth",type:"list",example:"example.com,corp.example.com",relevantWhen:{PIWI_AUTH_ENABLED:"true"},notes:"Only verified emails in these domains are accepted. Empty means no domain restriction."},PIWI_OAUTH_GITHUB_ALLOWED_ORGS:{description:"Comma-separated GitHub org logins a user must belong to (requests read:org scope).",category:"oauth",type:"list",relevantWhen:{PIWI_OAUTH_GITHUB_CLIENT_ID:"*"}},PIWI_AI_PROVIDER:{description:'AI provider for failure diagnosis: "anthropic" or "openai" (OpenAI-compatible).',category:"ai",type:"enum",enum:["anthropic","openai"]},PIWI_AI_API_KEY:{description:"API key for the diagnosis provider. Takes precedence over the DB-stored key.",category:"ai",secret:!0,relevantWhen:{PIWI_AI_PROVIDER:"*"},requiredWhen:{PIWI_AI_PROVIDER:"anthropic"},notes:"Optional for OpenAI-compatible providers that need no key (e.g. a local model)."},PIWI_AI_MODEL:{description:"Diagnosis model name (default: claude-opus-4-8 for Anthropic).",category:"ai",example:"claude-opus-4-8",relevantWhen:{PIWI_AI_PROVIDER:"*"},requiredWhen:{PIWI_AI_PROVIDER:"openai"}},PIWI_AI_BASE_URL:{description:"Base URL for OpenAI-compatible providers (e.g. http://localhost:11434/v1).",category:"ai",type:"url",example:"http://localhost:11434/v1",relevantWhen:{PIWI_AI_PROVIDER:"*"},requiredWhen:{PIWI_AI_PROVIDER:"openai"}},PIWI_AI_AUTO_DIAGNOSE:{description:'Set to "true" to auto-diagnose new failure clusters when a run finishes.',category:"ai",type:"boolean",default:"false",relevantWhen:{PIWI_AI_PROVIDER:"*"}},PIWI_AI_AUTO_DIAGNOSE_MAX:{description:"Max clusters auto-diagnosed per finished run (budget cap; default 3).",category:"ai",type:"number",default:"3",min:1,relevantWhen:{PIWI_AI_AUTO_DIAGNOSE:"true"}},PIWI_AI_RESEARCH_PROVIDER:{description:"Provider for the optional research (pre-analysis) stage. Falls back to PIWI_AI_PROVIDER.",category:"ai",type:"enum",enum:["anthropic","openai"],relevantWhen:{PIWI_AI_RESEARCH_MODEL:"*"}},PIWI_AI_RESEARCH_MODEL:{description:"Cheaper/faster model for the research stage. Empty disables the two-stage pipeline.",category:"ai",relevantWhen:{PIWI_AI_PROVIDER:"*"}},PIWI_AI_RESEARCH_BASE_URL:{description:"Base URL for the research-stage provider. Falls back to PIWI_AI_BASE_URL.",category:"ai",type:"url",relevantWhen:{PIWI_AI_RESEARCH_MODEL:"*"}},PIWI_AI_RESEARCH_API_KEY:{description:"API key for the research-stage provider. Falls back to PIWI_AI_API_KEY.",category:"ai",secret:!0,relevantWhen:{PIWI_AI_RESEARCH_MODEL:"*"}},PIWI_AI_EMBEDDING_PROVIDER:{description:"Provider for embeddings (semantic failure clustering). Falls back to PIWI_AI_PROVIDER.",category:"ai",type:"enum",enum:["openai"],relevantWhen:{PIWI_AI_EMBEDDING_MODEL:"*"},notes:'Must resolve to an OpenAI-compatible provider — Anthropic has no embeddings API — so the fallback only helps when the main provider is "openai".'},PIWI_AI_EMBEDDING_MODEL:{description:"Embedding model name (e.g. text-embedding-3-small).",category:"ai",example:"text-embedding-3-small",relevantWhen:{PIWI_AI_PROVIDER:"*"},notes:"Empty disables semantic clustering (and the embedding fallbacks)."},PIWI_AI_EMBEDDING_BASE_URL:{description:"Base URL for the embedding provider. Falls back to PIWI_AI_BASE_URL.",category:"ai",type:"url",relevantWhen:{PIWI_AI_EMBEDDING_MODEL:"*"}},PIWI_AI_EMBEDDING_API_KEY:{description:"API key for the embedding provider. Falls back to PIWI_AI_API_KEY.",category:"ai",secret:!0,relevantWhen:{PIWI_AI_EMBEDDING_MODEL:"*"}},PIWI_AI_MAX_SAMPLE_ERROR_CHARS:{description:"Max characters of raw error text (per error block).",category:"ai-limits",type:"number",default:"10000",min:200,max:5e4},PIWI_AI_MAX_SCM_PATCH_BUDGET:{description:"Total characters of diff patches across changed files.",category:"ai-limits",type:"number",default:"15000",min:0,max:5e4},PIWI_AI_MAX_AFFECTED_TESTS:{description:"Max affected tests listed in the diagnosis context.",category:"ai-limits",type:"number",default:"30",min:1,max:200},PIWI_AI_MAX_STEPS:{description:"Max recent test steps included.",category:"ai-limits",type:"number",default:"50",min:1,max:200},PIWI_AI_MAX_CONSOLE_ENTRIES:{description:"Max console error/warning entries included.",category:"ai-limits",type:"number",default:"30",min:0,max:200},PIWI_AI_MAX_CONSOLE_ENTRY_CHARS:{description:"Max characters per console entry.",category:"ai-limits",type:"number",default:"1000",min:50,max:5e3},PIWI_AI_MAX_NETWORK_REQUESTS:{description:"Max failed network requests included.",category:"ai-limits",type:"number",default:"25",min:0,max:200},PIWI_AI_MAX_ARIA_SNAPSHOT_CHARS:{description:"Max characters of the page ARIA snapshot.",category:"ai-limits",type:"number",default:"12000",min:0,max:5e4},PIWI_AI_MAX_TEST_SOURCE_CHARS:{description:"Max characters of the test source snippet.",category:"ai-limits",type:"number",default:"8000",min:0,max:5e4},PIWI_AI_MAX_SOURCE_FILES:{description:"Max full source files fetched from SCM to ground patches (0 disables).",category:"ai-limits",type:"number",default:"4",min:0,max:20},PIWI_AI_MAX_SOURCE_FILE_CHARS:{description:"Max characters per fetched full source file.",category:"ai-limits",type:"number",default:"12000",min:0,max:5e4},PIWI_AI_MAX_SERVER_LOG_ENTRIES:{description:"Max backend server log entries (from X-Piwi-Logs header) included.",category:"ai-limits",type:"number",default:"50",min:0,max:200},PIWI_AI_MAX_SERVER_LOG_ENTRY_CHARS:{description:"Max characters per backend server log entry.",category:"ai-limits",type:"number",default:"1000",min:50,max:5e3},PIWI_AI_MAX_SERVER_TRACE_SPANS:{description:"Max backend server spans (from X-Piwi-Trace header) included in AI diagnosis (0 disables).",category:"ai-limits",type:"number",default:"40",min:0,max:500,since:"0.16.0"},PIWI_AI_MAX_STEP_INTENTS:{description:"Max AI-step intent mappings (natural-language prompt → compiled locator) included in a diagnosis (0 disables the section).",category:"ai-limits",type:"number",default:"20",min:0,max:100,since:"0.24.0"},PIWI_AI_STEP_MAX_SNAPSHOT_CHARS:{description:"Max characters of the page ARIA snapshot the reporter sends per AI-step authoring iteration.",category:"ai-steps",type:"number",default:"24000",min:0,max:1e5,since:"0.24.0"},PIWI_AI_STEP_MAX_OUTPUT_TOKENS:{description:"Max output tokens the model may return per AI-step authoring iteration. Reasoning models count hidden chain-of-thought against this, so raise it (up to 8192) when authoring with one.",category:"ai-steps",type:"number",default:"1024",min:256,max:8192,since:"0.24.0"},PIWI_AI_MAX_IMAGES:{description:"Max screenshots auto-included in the diagnosis context.",category:"ai-limits",type:"number",default:"5",min:0,max:20},PIWI_AI_MAX_PASSED_PEERS:{description:"Max peer tests in the same file listed when they passed.",category:"ai-limits",type:"number",default:"20",min:0,max:100},PIWI_AI_MAX_CONSOLE_WINDOW:{description:"Max console entries of any type in the window before failure.",category:"ai-limits",type:"number",default:"50",min:0,max:200},PIWI_AI_SLOW_REQUEST_MS:{description:"Network request duration (ms) threshold for flagging as slow.",category:"ai-limits",type:"number",default:"1500",min:100,max:3e4},PIWI_AI_MAX_TRACE_ACTIONS:{description:"Max actions extracted from trace ZIP for failing-action context (0 disables).",category:"ai-limits",type:"number",default:"10",min:0,max:50},PIWI_AI_TRACE_DOM_CHARS:{description:"Max characters for the trace-derived DOM/ARIA excerpt in failing-action context.",category:"ai-limits",type:"number",default:"6000",min:0,max:2e4},PIWI_AI_MAX_TRACE_STACK_FRAMES:{description:"Max call-stack frames (with source windows) from the trace call-stack section (0 disables).",category:"ai-limits",type:"number",default:"10",min:0,max:50},PIWI_AI_MAX_TRACE_NETWORK_REQUESTS:{description:"Max requests included from the trace network stream (0 disables).",category:"ai-limits",type:"number",default:"20",min:0,max:200},PIWI_AI_MAX_DOM_SNAPSHOT_CHARS:{description:"Max characters of the failure-time DOM snapshot rendered from the trace (0 disables).",category:"ai-limits",type:"number",default:"8000",min:0,max:5e4},PIWI_AI_IMAGE_MAX_EDGE:{description:"Screenshots are downscaled to at most this many pixels on the long edge before being sent.",category:"ai-limits",type:"number",default:"1920",min:512,max:8192},PIWI_INGEST_MAX_CONSOLE_ENTRIES:{description:"Max console entries stored per test execution.",category:"ingest",type:"number",default:"200",min:10,max:5e3},PIWI_IMPORT_MAX_BYTES:{description:"Max size of a single multipart upload (report upload or blob-report import), in bytes. Lower it to match a reverse proxy that rejects large bodies, so the import page rejects an oversized archive before uploading it.",category:"ingest",type:"number",default:String(500*1024*1024),min:1024*1024,max:5*1024*1024*1024,since:"0.19.0"},PIWI_EXPORT_MAX_INLINE_BYTES:{description:"Max size of a single evidence file embedded as a data: URI in an HTML export, in bytes. Larger files are left out of the single-file HTML (and listed as omitted); the ZIP export still carries them at full size.",category:"export",type:"number",default:String(8*1024*1024),min:64*1024,max:512*1024*1024,since:"0.19.0"},PIWI_EXPORT_MAX_BYTES:{description:"Max total size of one export, in bytes. Evidence is added largest-last until the budget is reached; the rest is listed as omitted. The archive is built in memory, so this also bounds what a single export costs the server.",category:"export",type:"number",default:String(500*1024*1024),min:1024*1024,max:4*1024*1024*1024,since:"0.19.0"},PIWI_EXPORT_MAX_CASES:{description:"Max member executions carrying full evidence in a failure-cluster export. Remaining affected tests are listed by name without their evidence.",category:"export",type:"number",default:"25",min:1,max:200,since:"0.19.0"},PIWI_INGEST_MAX_CONSOLE_ENTRY_CHARS:{description:"Max characters stored per console entry.",category:"ingest",type:"number",default:"2000",min:200,max:2e4},PIWI_INGEST_MAX_STEPS:{description:"Max test steps stored per execution.",category:"ingest",type:"number",default:"500",min:20,max:5e3},PIWI_INGEST_MAX_STEP_EVENTS:{description:"Max step events stored per execution.",category:"ingest",type:"number",default:"1000",min:20,max:1e4},PIWI_INGEST_MAX_ARIA_CHARS:{description:"Max characters of the ARIA snapshot stored per failing execution.",category:"ingest",type:"number",default:"100000",min:1e3,max:1e6},PIWI_INGEST_MAX_ERROR_CHARS:{description:"Max characters of error text stored per execution (head and tail are kept).",category:"ingest",type:"number",default:"20000",min:1e3,max:1e5},PIWI_INGEST_MAX_SAMPLE_ERROR_CHARS:{description:"Max characters of the sample error stored per failure cluster.",category:"ingest",type:"number",default:"50000",min:1e3,max:2e5},PIWI_INGEST_MAX_TEST_SOURCE_CHARS:{description:"Max characters of the test source snippet stored per failing execution.",category:"ingest",type:"number",default:"50000",min:1e3,max:2e5},PIWI_INGEST_MAX_SOURCE_FRAMES:{description:"Max source stack frames stored per failing execution.",category:"ingest",type:"number",default:"8",min:1,max:32},PIWI_INGEST_MAX_SOURCE_FRAME_CHARS:{description:"Max characters per stored source frame snippet.",category:"ingest",type:"number",default:"4000",min:500,max:2e4},PIWI_AUTO_MARKERS:{description:"Automatically create a timeline marker when a run’s environment, Playwright version, or reporter version changes from the previous run (default: enabled). Set to false to disable.",category:"markers",type:"boolean",default:"true",docs:"timeline-markers",notes:"Only the exact value `false` disables auto-markers."},PIWI_TEST_LOGS_DISABLED:{description:"Disable X-Piwi-Logs response header emission (default: auto-disabled in production, enabled in development).",category:"testing",type:"boolean",docs:"backend-logs",notes:"Unset: capture is on in development and off in production builds; `true` forces it off everywhere, `false` forces it on even in production."},PIWI_CLUSTER_SIMILARITY_THRESHOLD:{description:"Cosine similarity (0–1) above which two failure embeddings merge into one cluster.",category:"clustering",type:"number",default:"0.92",min:0,max:1,relevantWhen:{PIWI_AI_EMBEDDING_MODEL:"*"},notes:"Must be greater than 0 and at most 1; invalid values fall back to the default."},PIWI_CLUSTER_SUGGEST_THRESHOLD:{description:"Similarity at which a failure is suggested (not auto-merged) as related to a cluster.",category:"clustering",type:"number",default:"0.80",min:0,max:1,relevantWhen:{PIWI_AI_EMBEDDING_MODEL:"*"},notes:"Capped at the merge threshold."},PIWI_SMTP_HOST:{description:"SMTP server hostname for outbound email.",category:"smtp",example:"smtp.example.com"},PIWI_SMTP_PORT:{description:"SMTP port (default 587; 465 for implicit TLS).",category:"smtp",type:"number",default:"587",min:1,max:65535,relevantWhen:{PIWI_SMTP_HOST:"*"}},PIWI_SMTP_USER:{description:"SMTP username. Optional — only when the server requires authentication.",category:"smtp",relevantWhen:{PIWI_SMTP_HOST:"*"}},PIWI_SMTP_PASS:{description:"SMTP password. Optional — only when the server requires authentication. Never returned by the API.",category:"smtp",secret:!0,relevantWhen:{PIWI_SMTP_HOST:"*"}},PIWI_SMTP_FROM:{description:"From address for outbound email (e.g. noreply@example.com).",category:"smtp",example:"noreply@example.com",relevantWhen:{PIWI_SMTP_HOST:"*"},requiredWhen:{PIWI_SMTP_HOST:"*"}},PIWI_SMTP_FROM_NAME:{description:"Display name for the from address (optional).",category:"smtp",default:"Piwi Dashboard",relevantWhen:{PIWI_SMTP_HOST:"*"}},PIWI_SMTP_SECURE:{description:'Set to "true" for implicit TLS on port 465 (default false → STARTTLS/plain).',category:"smtp",type:"boolean",relevantWhen:{PIWI_SMTP_HOST:"*"},notes:"Defaults to on when the port is 465, off otherwise."},PIWI_WASTED_WAIT_PATTERNS:{description:"Glob patterns (comma or newline separated) defining which wait steps count as wasted time. Locks the UI when set.",category:"wasted-time",type:"list",default:"Wait for timeout*,*waitForTimeout*",notes:"Case-insensitive globs (`*` and `?`) matched against a wait step’s title or source location. Use `*` to count every wait."},PIWI_DEMO_MODE:{description:'Set to "true" to build the standalone client-side demo SPA (no server).',category:"demo",runtimeOnly:!0,type:"boolean"},PIWI_BASE_URL:{description:"Base URL the metadata test spec targets (defaults to http://localhost:3000).",category:"test",runtimeOnly:!0},PIWI_POSTGRES_TEST_URL:{description:"PostgreSQL connection string used by the Postgres test suite.",category:"test",runtimeOnly:!0,secret:!0},PIWI_S3_TEST_BUCKET:{description:"S3 bucket for the storage integration tests.",category:"test",runtimeOnly:!0},PIWI_S3_TEST_REGION:{description:"Region for the S3 storage integration tests.",category:"test",runtimeOnly:!0},PIWI_S3_TEST_ACCESS_KEY_ID:{description:"Access key id for the S3 storage integration tests.",category:"test",runtimeOnly:!0,secret:!0},PIWI_S3_TEST_SECRET_ACCESS_KEY:{description:"Secret access key for the S3 storage integration tests.",category:"test",runtimeOnly:!0,secret:!0},PIWI_S3_TEST_ENDPOINT:{description:"Custom endpoint for the S3 storage integration tests.",category:"test",runtimeOnly:!0},PIWI_MAILPIT_URL:{description:"Mailpit base URL; when set, the email/notification E2E tests run against it.",category:"test",runtimeOnly:!0},PIWI_MAILPIT_SMTP_PORT:{description:"SMTP port the email E2E tests send to (Mailpit).",category:"test",runtimeOnly:!0},PIWI_EMAIL_SERVER_URL:{description:"Base URL the email test spec targets.",category:"test",runtimeOnly:!0},PIWI_TEST_CLEANUP_ENABLED:{description:"Allow the E2E cleanup endpoint (`DELETE /api/tests/cleanup`) on a production build, which CI needs because it runs the suite against one. Never set it on a real deployment.",category:"test",runtimeOnly:!0,type:"boolean",since:"0.19.0"}};function T(t){return P[t]}function oe(t){return Object.keys(P).filter(i=>P[i].category===t)}const q={key:0,class:"font-medium mb-1"},F={class:"text-muted"},K={key:1,class:"mt-2 space-y-1"},$={class:"text-muted text-xs"},z={class:"flex flex-col gap-1.5"},Q=["title","onClick"],j={class:"block font-mono text-xs bg-elevated rounded px-1.5 py-0.5 select-all cursor-pointer group-hover:ring-1 ring-default"},Z={key:0,class:"block text-muted text-[11px] mt-0.5"},J={key:2,class:"mt-2 flex flex-col gap-1"},ee=W({__name:"HelpHint",props:{topic:{},title:{},text:{},doc:{},envVars:{},size:{}},setup(t){const i=t,{copy:E}=G(),c=n(()=>i.topic?H[i.topic]:null),o=n(()=>i.title??c.value?.title),g=n(()=>i.text??c.value?.text??""),d=n(()=>i.doc??c.value?.doc),I=n(()=>i.envVars??c.value?.envVars),y=w(!1),S=n(()=>o.value?`Help: ${o.value}`:"Help"),b=n(()=>({side:"bottom","aria-label":S.value}));return(te,l)=>{const R=U,f=V,O=L;return a(),m(O,{open:e(y),"onUpdate:open":l[0]||(l[0]=r=>D(y)?y.value=r:null),content:e(b),ui:{content:"max-w-xs p-3 text-sm"}},{content:u(()=>[e(o)?(a(),_("p",q,p(e(o)),1)):s("",!0),h("p",F,p(e(g)),1),e(I)?.length?(a(),_("div",K,[h("p",$,"Environment variable"+p(e(I).length>1?"s":"")+":",1),h("div",z,[(a(!0),_(N,null,k(e(I),r=>(a(),_("button",{key:r,type:"button",class:"group text-left",title:`Click to copy ${r}`,onClick:ae=>e(E)(r,{toast:`Copied ${r}`})},[h("code",j,p(r),1),e(T)(r).description?(a(),_("span",Z,p(e(T)(r).description),1)):s("",!0)],8,Q))),128))])])):s("",!0),e(d)||e(I)?.length?(a(),_("div",J,[e(d)?(a(),m(f,{key:0,to:e(d)},{default:u(()=>[...l[1]||(l[1]=[A("Learn more",-1)])]),_:1},8,["to"])):s("",!0),e(I)?.length?(a(),m(f,{key:1,to:"configuration"},{default:u(()=>[...l[2]||(l[2]=[A("Configuration reference",-1)])]),_:1})):s("",!0)])):s("",!0)]),default:u(()=>[C(R,{size:t.size??"xs",variant:"ghost",color:"neutral",icon:"i-lucide-circle-help","aria-label":e(S),title:"What is this?",class:"text-muted hover:text-default align-middle"},null,8,["size","aria-label"])]),_:1},8,["open","content"])}}}),se=Object.assign(ee,{__name:"HelpHint"});export{se as _,V as a,X as d,oe as e,T as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as T,b as n,o as a,c as x,e as s,m as B,f as r,k as l,t as c,l as i,F as C,z as M,h as y,_ as O,y as b,D as I,v as m}from"./BdQ7kfxJ.js";import"./DwZS0oRm.js";const L={key:0,class:"inline-flex items-center gap-1 flex-wrap"},N=T({__name:"TestMetaBadges",props:{tags:{default:null},meta:{default:null},maxTags:{default:0}},setup(t){const e=t,_={critical:"error",high:"warning",medium:"info",low:"neutral"},u=m(()=>{const f=e.tags??[];return e.maxTags>0?f.slice(0,e.maxTags):f}),d=m(()=>Math.max(0,(e.tags?.length??0)-u.value.length)),p=m(()=>(e.tags??[]).slice(u.value.length).join(", ")),v=m(()=>e.meta?.priority?_[e.meta.priority]??"neutral":"neutral"),w=m(()=>u.value.length>0||!!(e.meta?.owner||e.meta?.priority||e.meta?.feature||e.meta?.link));return(f,k)=>{const o=B,g=O,z=b;return n(w)?(a(),x("div",L,[t.meta?.priority?(a(),s(o,{key:0,color:n(v),variant:"soft",size:"xs",class:"shrink-0 capitalize"},{default:r(()=>[l(c(t.meta.priority),1)]),_:1},8,["color"])):i("",!0),(a(!0),x(C,null,M(n(u),h=>(a(),s(o,{key:h,color:"primary",variant:"soft",size:"xs",class:"shrink-0 font-mono"},{default:r(()=>[l(" @"+c(h),1)]),_:2},1024))),128)),n(d)>0?(a(),s(o,{key:1,color:"neutral",variant:"soft",size:"xs",class:"shrink-0",title:n(p)},{default:r(()=>[l(" +"+c(n(d)),1)]),_:1},8,["title"])):i("",!0),t.meta?.owner?(a(),s(o,{key:2,color:"neutral",variant:"soft",size:"xs",class:"shrink-0 gap-1"},{default:r(()=>[y(g,{name:"i-lucide-user",class:"size-2.5 shrink-0"}),l(" "+c(t.meta.owner),1)]),_:1})):i("",!0),t.meta?.feature?(a(),s(o,{key:3,color:"neutral",variant:"outline",size:"xs",class:"shrink-0"},{default:r(()=>[l(c(t.meta.feature),1)]),_:1})):i("",!0),t.meta?.link?(a(),s(z,{key:4,to:t.meta.link,target:"_blank",rel:"noopener noreferrer",class:"text-gray-500 hover:text-primary shrink-0",title:t.meta.link,onClick:k[0]||(k[0]=I(()=>{},["stop"]))},{default:r(()=>[y(g,{name:"i-lucide-external-link",class:"size-3"})]),_:1},8,["to","title"])):i("",!0)])):i("",!0)}}}),V=Object.assign(N,{__name:"TestMetaBadges"});export{V as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{u}from"./DqkCbAzo.js";import{q as l,am as f}from"./BdQ7kfxJ.js";import{e as w}from"./DwZS0oRm.js";function p(r){let e="";for(let o=0;o<r.length;o+=32768)e+=String.fromCharCode(...r.subarray(o,o+32768));return btoa(e)}function b(){const r=u(),e=l();async function a(o,i,n={}){const s=f();if(!s){window.open(o,"_blank");return}try{const t=await fetch(o,{credentials:"include"});if(!t.ok)throw new Error(`Request failed (${t.status})`);const c=n.binary?p(new Uint8Array(await t.arrayBuffer())):await t.text(),d=await s.invoke("desktop_save_download",{filename:i,contents:c,encoding:n.binary?"base64":"utf8"});e.add({title:"Saved to Downloads",description:d,color:"success",icon:"i-lucide-download"})}catch(t){e.add({title:"Download failed",description:w(t),color:"error"})}}return{isDesktop:r,download:a}}export{b as u};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import{d as F,C as W,o,e as u,f as n,g as e,c,F as E,z as N,b as a,i as C,_ as O,t as y,l as m,m as R,k as s,j as V,h as i,r as I,v as g,B as G}from"./BdQ7kfxJ.js";import{a as T,d as K,_ as L}from"./CrsaY0R_.js";import{_ as Y}from"./Gn1Ns00e.js";import{_ as H}from"./HGYIpJtg.js";import{u as q}from"./DqkCbAzo.js";const M={class:"flex items-center gap-3"},J={class:"p-2 bg-primary/10 rounded-lg shrink-0"},Q={class:"text-xl font-semibold inline-flex items-center gap-1"},X={class:"text-sm text-gray-500 dark:text-gray-400"},Z={class:"flex flex-col items-center shrink-0"},tt={key:1},et={key:0,class:"w-px flex-1 mt-2 min-h-6 bg-gray-200 dark:bg-gray-700"},st={class:"flex-1 pb-6"},rt={class:"flex items-center gap-2 mb-1"},ot={class:"font-medium"},it={class:"text-sm text-gray-600 dark:text-gray-400 mb-3"},nt={class:"border-t border-gray-200 dark:border-gray-700 pt-4 mt-2"},at={key:0,class:"mt-4 space-y-6"},lt={class:"text-sm text-gray-600 dark:text-gray-400 mb-3"},dt={class:"flex items-center justify-between text-sm text-gray-500 dark:text-gray-400"},pt=`// tests/fixtures.ts
|
|
2
|
+
import { test as base, expect } from '@playwright/test'
|
|
3
|
+
import { piwiFixtures } from '@piwitests/reporter'
|
|
4
|
+
|
|
5
|
+
export const test = base.extend(piwiFixtures)
|
|
6
|
+
export { expect }`,ut=`// your test file
|
|
7
|
+
import { test, expect } from './fixtures'
|
|
8
|
+
|
|
9
|
+
test('homepage loads', async ({ page }) => {
|
|
10
|
+
await page.goto('/')
|
|
11
|
+
// network requests, web vitals, console errors, and ARIA snapshots
|
|
12
|
+
// are captured automatically and appear in the dashboard
|
|
13
|
+
})`,ct=`// tests/fixtures.ts
|
|
14
|
+
import { test as base } from '@playwright/test'
|
|
15
|
+
import { extendPiwiFixtures } from '@piwitests/reporter'
|
|
16
|
+
|
|
17
|
+
export const test = extendPiwiFixtures(base)
|
|
18
|
+
export { expect } from '@playwright/test'`,mt=F({__name:"GetStartedWizard",setup(gt){const P=G(),h=g(()=>!!P.public.authEnabled),b=q(),_=I("http://localhost:3000");W(()=>{_.value=window.location.origin});function k(d){const t=["projectName: 'my-project',"];return b||(t.unshift(`serverUrl: '${_.value}',`),h.value&&t.push("apiKey: process.env.PIWI_API_KEY,")),t.map(l=>`${d}${l}`).join(`
|
|
19
|
+
`)}const z=g(()=>`import { defineConfig } from '@playwright/test'
|
|
20
|
+
|
|
21
|
+
export default defineConfig({
|
|
22
|
+
reporter: [
|
|
23
|
+
['list'],
|
|
24
|
+
['@piwitests/reporter', {
|
|
25
|
+
${k(" ")}
|
|
26
|
+
}],
|
|
27
|
+
],
|
|
28
|
+
use: {
|
|
29
|
+
trace: 'retain-on-failure',
|
|
30
|
+
},
|
|
31
|
+
})`),A=g(()=>`import { defineConfig } from '@playwright/test'
|
|
32
|
+
import PiwiDashboard from '@piwitests/reporter'
|
|
33
|
+
|
|
34
|
+
export default PiwiDashboard.wrapConfig(
|
|
35
|
+
defineConfig({
|
|
36
|
+
// your existing config
|
|
37
|
+
use: {
|
|
38
|
+
trace: 'retain-on-failure',
|
|
39
|
+
},
|
|
40
|
+
}),
|
|
41
|
+
{
|
|
42
|
+
${k(" ")}
|
|
43
|
+
},
|
|
44
|
+
)`),x=g(()=>{const d=[{title:"Start the dashboard",description:"You're already here — the dashboard is running.",done:!0},{title:"Install the reporter",description:"Add the Piwi reporter to your Playwright project.",code:"npm install --save-dev @piwitests/reporter",lang:"bash"}];return h.value&&d.push({title:"Create an API key",description:"Authentication is enabled on this instance, so the reporter needs a key to submit results. Create one, then set it as PIWI_API_KEY in your CI secrets (used by the snippet below).",action:"create-api-key"}),d.push({title:"Configure Playwright",description:b?"Add the reporter to your playwright.config.ts. While this app is running it needs no URL or token — the reporter finds it automatically.":"Add the reporter to your playwright.config.ts.",code:z.value,lang:"typescript"},{title:"Run your tests",description:"Results appear in the dashboard automatically. The project is created on first submit.",code:"npx playwright test",lang:"bash"}),d.map((t,l)=>({id:l+1,...t}))}),S=["zero","one","two","three","four","five","six"],j=g(()=>S[x.value.length]??String(x.value.length)),f=I(!1);return(d,t)=>{const l=O,U=L,$=R,w=V,p=Y,v=T,B=H;return o(),u(B,null,{header:n(()=>[e("div",M,[e("div",J,[i(l,{name:"i-lucide-rocket",class:"size-5 text-primary"})]),e("div",null,[e("h2",Q,[t[1]||(t[1]=s(" Get started in 60 seconds ",-1)),i(U,{topic:"home.get-started"})]),e("p",X,"Send your first test run in "+y(a(j))+" steps",1)])])]),footer:n(()=>[e("div",dt,[e("span",null,[t[18]||(t[18]=s("Need more options? See the ",-1)),i(v,{to:"reporter","no-icon":"",class:"text-primary hover:underline"},{default:n(()=>[...t[17]||(t[17]=[s("full reporter docs",-1)])]),_:1}),t[19]||(t[19]=s(".",-1))]),i(w,{to:a(K)("demo/"),target:"_blank",variant:"ghost",size:"sm",color:"neutral","trailing-icon":"i-lucide-external-link"},{default:n(()=>[...t[20]||(t[20]=[s(" View demo with sample data ",-1)])]),_:1},8,["to"])])]),default:n(()=>[e("div",null,[(o(!0),c(E,null,N(a(x),(r,D)=>(o(),c("div",{key:r.id,class:"flex gap-4"},[e("div",Z,[e("div",{class:C(["flex size-8 items-center justify-center rounded-full text-sm font-semibold",r.done?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-primary/10 text-primary"])},[r.done?(o(),u(l,{key:0,name:"i-lucide-check",class:"size-4"})):(o(),c("span",tt,y(r.id),1))],2),D<a(x).length-1?(o(),c("div",et)):m("",!0)]),e("div",st,[e("div",rt,[e("h3",ot,y(r.title),1),r.done?(o(),u($,{key:0,color:"success",variant:"subtle",size:"xs"},{default:n(()=>[...t[2]||(t[2]=[s("Done",-1)])]),_:1})):m("",!0)]),e("p",it,y(r.description),1),r.action==="create-api-key"?(o(),u(w,{key:0,to:"/settings/users",icon:"i-lucide-key-round",size:"sm",variant:"soft"},{default:n(()=>[...t[3]||(t[3]=[s(" Create an API key ",-1)])]),_:1})):m("",!0),r.code?(o(),u(p,{key:1,code:r.code,lang:r.lang},null,8,["code","lang"])):m("",!0)])]))),128)),e("div",nt,[e("button",{class:"flex items-center gap-2 text-sm font-medium text-gray-600 dark:text-gray-300 hover:text-primary dark:hover:text-primary transition-colors w-full text-left",onClick:t[0]||(t[0]=r=>f.value=!a(f))},[i(l,{name:"i-lucide-chevron-right",class:C(["size-4 transition-transform duration-200",a(f)?"rotate-90":""])},null,8,["class"]),t[4]||(t[4]=s(" Go further — simpler config & capture fixtures ",-1))]),a(f)?(o(),c("div",at,[e("div",null,[t[5]||(t[5]=e("h4",{class:"font-medium text-sm mb-1"},[s(" Simpler config with "),e("code",{class:"text-primary text-xs"},"wrapConfig")],-1)),t[6]||(t[6]=e("p",{class:"text-sm text-gray-600 dark:text-gray-400 mb-3"},[s(" Instead of manually adding the reporter array entry, "),e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"wrapConfig"),s(" auto-injects the reporter and chains the global setup in one call. It also registers the run on the dashboard "),e("em",null,"before"),s(" your "),e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"globalSetup"),s(" runs, so the dashboard shows an initializing state during setup. ")],-1)),i(p,{code:a(A),lang:"typescript"},null,8,["code"])]),e("div",null,[t[14]||(t[14]=e("h4",{class:"font-medium text-sm mb-1"},[s(" Capture fixtures — network, Web Vitals, console & locator healing with "),e("code",{class:"text-primary text-xs"},"piwiFixtures")],-1)),e("p",lt,[t[8]||(t[8]=s(" Extend your Playwright ",-1)),t[9]||(t[9]=e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"test",-1)),t[10]||(t[10]=s(" with ",-1)),t[11]||(t[11]=e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"piwiFixtures",-1)),t[12]||(t[12]=s(" to automatically capture network timing, browser Web Vitals, console errors, ARIA snapshots on failure, and the locator snapshots that power locator healing. See the ",-1)),i(v,{to:"capture-fixtures","no-icon":"",class:"text-primary hover:underline"},{default:n(()=>[...t[7]||(t[7]=[s("capture fixtures guide",-1)])]),_:1}),t[13]||(t[13]=s(". ",-1))]),t[15]||(t[15]=e("p",{class:"text-xs font-semibold uppercase tracking-wide text-gray-400 dark:text-gray-500 mb-2"}," Option A — extend your existing fixtures ",-1)),i(p,{code:pt,lang:"typescript",class:"mb-3"}),i(p,{code:ut,lang:"typescript",class:"mb-4"}),t[16]||(t[16]=e("p",{class:"text-xs font-semibold uppercase tracking-wide text-gray-400 dark:text-gray-500 mb-2"}," Option B — one-line extend ",-1)),i(p,{code:ct,lang:"typescript"})])])):m("",!0)])])]),_:1})}}}),_t=Object.assign(mt,{__name:"GetStartedWizard"});export{_t as _};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{_ as Pe}from"./BV8EzO8q.js";import{_ as ze}from"./B7zo6PK8.js";import{_ as Le,a as Ue}from"./B7uPoZ7T.js";import{d as Oe,u as Me,q as Ve,w as ee,s as Be,a as qe,c as p,h as c,f,F as D,E as Fe,v as E,o as s,g as l,b as e,t as m,k as h,e as _,G as Ke,z as I,l as y,m as Je,j as He,H as Ye,x as ue,I as Ge,r as C,J as Qe}from"./BdQ7kfxJ.js";import{_ as Xe}from"./Bh2WA4IJ.js";import{_ as We}from"./CfV2N201.js";import{_ as Ze}from"./BOn5q0rT.js";import{_ as et}from"./CyWOerIG.js";import{_ as tt}from"./dg6uXTyR.js";import{_ as nt}from"./CZ6WR7uw.js";import{_ as st}from"./Gn1Ns00e.js";import{_ as it}from"./CK2AMqz_.js";import{f as te}from"./DwZS0oRm.js";import{u as ne}from"./DTtizz85.js";import"./Bo73sAu8.js";import"./CrsaY0R_.js";import"./Bg63qh8W.js";import"./HGYIpJtg.js";import"./CxwnFFD0.js";const ot=/^[a-z0-9][a-z0-9-]{0,63}$/,de=25,ce=new Set(["critical","high","medium","low"]),me=new Set(["failureLikelihood","recentFailure","priority","slowest","fastest"]),at={ids:"idArray",tags:"stringArray",anyTags:"stringArray",owner:"stringArray",priority:"priorityArray",feature:"stringArray",files:"stringArray",suitePath:"string",text:"string",quarantined:"boolean",flaky:"boolean",minPassRate:"rate",maxPassRate:"rate",minAvgDurationMs:"nonNegative",maxAvgDurationMs:"nonNegative",lastStatus:"stringArray",failedInLastRuns:"window",neverRun:"boolean"},rt=new Set(["include","exclude","pins","budget","limit"]);function M(g){return typeof g=="object"&&g!==null&&!Array.isArray(g)}function lt(g,o,r){if(!M(g)){r.push(`${o} must be an object`);return}for(const[u,a]of Object.entries(g)){const k=at[u];if(!k){r.push(`${o}: unknown predicate "${u}"`);continue}switch(k){case"stringArray":!Array.isArray(a)||a.some($=>typeof $!="string")?r.push(`${o}.${u} must be an array of strings`):a.length===0&&r.push(`${o}.${u} must not be empty`);break;case"idArray":se(a,`${o}.${u}`,r);break;case"priorityArray":(!Array.isArray(a)||a.some($=>typeof $!="string"||!ce.has($)))&&r.push(`${o}.${u} must be an array of ${[...ce].join(" / ")}`);break;case"string":(typeof a!="string"||a.trim()==="")&&r.push(`${o}.${u} must be a non-empty string`);break;case"boolean":typeof a!="boolean"&&r.push(`${o}.${u} must be a boolean`);break;case"rate":(typeof a!="number"||!Number.isFinite(a)||a<0||a>1)&&r.push(`${o}.${u} must be a number between 0 and 1`);break;case"nonNegative":(typeof a!="number"||!Number.isFinite(a)||a<0)&&r.push(`${o}.${u} must be a non-negative number`);break;case"window":(typeof a!="number"||!Number.isInteger(a)||a<1||a>de)&&r.push(`${o}.${u} must be an integer between 1 and ${de}`);break}}}function se(g,o,r){(!Array.isArray(g)||g.some(u=>typeof u!="number"||!Number.isInteger(u)||u<=0))&&r.push(`${o} must be an array of positive integer ids`)}function ut(g){const o=[];if(!M(g))return{valid:!1,errors:["definition must be an object"]};for(const u of Object.keys(g))rt.has(u)||o.push(`unknown key "${u}"`);const r=g;for(const u of["include","exclude"]){const a=r[u];if(a!==void 0){if(!Array.isArray(a)){o.push(`${u} must be an array of predicate groups`);continue}a.forEach((k,$)=>lt(k,`${u}[${$}]`,o))}}if(r.pins!==void 0)if(!M(r.pins))o.push("pins must be an object");else{for(const u of Object.keys(r.pins))u!=="add"&&u!=="remove"&&o.push(`pins: unknown key "${u}"`);r.pins.add!==void 0&&se(r.pins.add,"pins.add",o),r.pins.remove!==void 0&&se(r.pins.remove,"pins.remove",o)}if(r.budget!==void 0)if(!M(r.budget))o.push("budget must be an object");else{for(const k of Object.keys(r.budget))k!=="maxTotalDurationMs"&&k!=="rankBy"&&o.push(`budget: unknown key "${k}"`);const u=r.budget.maxTotalDurationMs;u!==void 0&&(typeof u!="number"||!Number.isFinite(u)||u<=0)&&o.push("budget.maxTotalDurationMs must be a positive number");const a=r.budget.rankBy;a!==void 0&&(typeof a!="string"||!me.has(a))&&o.push(`budget.rankBy must be one of ${[...me].join(" / ")}`)}return r.limit!==void 0&&(typeof r.limit!="number"||!Number.isInteger(r.limit)||r.limit<1)&&o.push("limit must be a positive integer"),{valid:o.length===0,errors:o}}const dt=[{key:"failed",name:"Currently failing",description:"Tests whose most recent execution failed or timed out.",definition:{include:[{lastStatus:["failed","timedout","timedOut"]}]}},{key:"quarantine-free",name:"Everything but quarantine",description:"The whole suite minus tests under an active quarantine.",definition:{exclude:[{quarantined:!0}]}}];new Map(dt.map(g=>[g.key,g]));const ct={class:"p-4 space-y-4"},mt={key:0,class:"flex flex-wrap items-center gap-x-4 gap-y-1 text-sm mb-3 pb-3 border-b border-gray-200 dark:border-gray-800"},pt={class:"text-gray-600 dark:text-gray-300"},ft={class:"text-warning-600 dark:text-warning-400 cursor-help underline decoration-dotted"},yt={class:"p-3 max-w-sm space-y-1"},_t={class:"text-xs font-mono space-y-0.5"},gt={key:0,class:"text-xs text-gray-400"},vt={key:1,class:"text-gray-500"},kt={key:3,class:"divide-y divide-gray-200 dark:divide-gray-800"},bt={class:"min-w-0 space-y-1"},ht={class:"flex items-center gap-2 flex-wrap"},xt={class:"font-mono text-sm font-medium"},$t={class:"text-sm text-gray-600 dark:text-gray-300"},wt={key:0,class:"text-xs text-gray-500 dark:text-gray-400"},Ct={class:"flex items-center gap-1 shrink-0"},Tt={key:2,class:"space-y-4"},At={key:0,class:"rounded-lg border border-gray-200 dark:border-gray-800 p-3 space-y-2"},St={class:"flex items-center justify-between"},Dt={class:"text-xs text-gray-500"},jt={class:"flex flex-wrap gap-1"},Nt={class:"opacity-60"},It={key:1,class:"divide-y divide-gray-200 dark:divide-gray-800"},Rt={class:"min-w-0 space-y-0.5"},Et={class:"flex items-center gap-2"},Pt={class:"text-xs text-gray-500"},zt={class:"space-y-4"},Lt={class:"grid grid-cols-1 sm:grid-cols-2 gap-3"},Ut={class:"flex flex-wrap gap-1 mb-2"},Ot={class:"rounded-lg border border-gray-200 dark:border-gray-800 p-3 space-y-2"},Mt={class:"flex items-center justify-between text-sm"},Vt={key:0,class:"text-xs text-gray-500"},Bt={class:"flex items-center gap-4 text-sm"},qt={key:0,class:"text-gray-500"},Ft={key:1,class:"text-xs text-gray-500"},Kt={class:"flex justify-end gap-2 w-full"},Jt={key:1,class:"space-y-3"},Ht={class:"flex items-center gap-4 text-sm"},Yt={key:0,class:"text-gray-500"},Gt={key:0},_n=Oe({__name:"selections",async setup(g){let o,r;const a=Me().params.id,k=Ve(),{data:$}=([o,r]=ee(()=>ne(`/api/projects/${a}`,"$q25QkFCInI")),o=await o,r(),o),{data:pe,refresh:ie,status:fe}=([o,r]=ee(()=>ne(`/api/projects/${a}/selections`,"$DmNPh6yFfJ")),o=await o,r(),o);Be(E(()=>({title:`Selections — ${$.value?.label||$.value?.name||"Project"} — Piwi Dashboard`})));const V=E(()=>pe.value?.items??[]),{data:oe,refresh:ae}=([o,r]=ee(()=>ne(`/api/projects/${a}/selections/analytics`,{lazy:!0},"$AnBQIOTkPH")),o=await o,r(),o),j=E(()=>oe.value?.coverage??null),ye=E(()=>new Map((oe.value?.selections??[]).map(i=>[i.key,i])));function T(i){return ye.value.get(i)}function _e(i){const n=T(i)?.drift;return!n||n.countDelta===0?"drifted":`drifted ${n.countDelta>0?"+":""}${n.countDelta}`}function ge(i){const n=T(i);return!n?.drift||!n.lastRun?"":`Resolves to ${n.resolvedCount} test(s) now; its most recent run recorded ${n.lastRun.recordedCount}`}const ve=[{label:"Smoke by tag",definition:{include:[{tags:["smoke"]}]}},{label:"Critical & stable",definition:{include:[{priority:["critical","high"],minPassRate:.9}]}},{label:"Exclude quarantine",definition:{exclude:[{quarantined:!0}]}},{label:"Recently broken",definition:{include:[{failedInLastRuns:5}]}},{label:"Best 5 minutes",definition:{budget:{maxTotalDurationMs:3e5,rankBy:"failureLikelihood"}}}],N=C(!1),B=C(!1),x=C(null),d=Qe({key:"",name:"",description:"",definitionText:`{
|
|
2
|
+
"include": [{ "tags": ["smoke"] }]
|
|
3
|
+
}`}),A=E(()=>{let i;try{i=JSON.parse(d.definitionText)}catch(Y){return{error:`Not valid JSON: ${Y.message}`}}const n=ut(i);return n.valid?{definition:i}:{error:n.errors.join("; ")}}),q=E(()=>{if(!d.key)return"A key is required";if(!ot.test(d.key))return"Lowercase letters, digits and hyphens only"});function ke(){x.value=null,d.key="",d.name="",d.description="",d.definitionText=`{
|
|
4
|
+
"include": [{ "tags": ["smoke"] }]
|
|
5
|
+
}`,b.value=null,N.value=!0}function be(i){x.value=i.key,d.key=i.key,d.name=i.name,d.description=i.description??"",d.definitionText=JSON.stringify(i.definition,null,2),b.value=null,N.value=!0,L()}function he(i){d.definitionText=JSON.stringify(i,null,2),L()}async function xe(){if(!(q.value||A.value.error||!d.name.trim())){B.value=!0;try{const i={name:d.name.trim(),description:d.description.trim()||null,definition:A.value.definition};x.value?await $fetch(`/api/projects/${a}/selections/${encodeURIComponent(x.value)}`,{method:"PATCH",body:i}):await $fetch(`/api/projects/${a}/selections`,{method:"POST",body:{key:d.key,...i}}),k.add({title:x.value?"Selection updated":"Selection created",color:"success"}),N.value=!1,await Promise.all([ie(),ae()])}catch(i){k.add({title:"Could not save",description:i?.data?.message,color:"error"})}finally{B.value=!1}}}async function $e(i){if(confirm(`Delete selection "${i.key}"?`))try{await $fetch(`/api/projects/${a}/selections/${encodeURIComponent(i.key)}`,{method:"DELETE"}),k.add({title:"Selection deleted",color:"success"}),await Promise.all([ie(),ae()])}catch(n){k.add({title:"Could not delete",description:n?.data?.message,color:"error"})}}const b=C(null),F=C(!1);let K;function L(){K&&clearTimeout(K),K=setTimeout(async()=>{if(A.value.error||!A.value.definition){b.value=null;return}F.value=!0;try{b.value=await $fetch(`/api/projects/${a}/selections/preview`,{method:"POST",body:{definition:A.value.definition,format:"args"}})}catch{b.value=null}finally{F.value=!1}},400)}qe(()=>d.definitionText,L);const P=C(!1),J=C(!1),w=C(null),H=C("");async function we(i){H.value=i.key,w.value=null,P.value=!0,J.value=!0;try{w.value=await $fetch(`/api/projects/${a}/selections/${encodeURIComponent(i.key)}/resolve?format=args`)}catch(n){k.add({title:"Could not resolve",description:n?.data?.message,color:"error"}),P.value=!1}finally{J.value=!1}}function Ce(i){return`npx @piwitests/reporter run ${i}`}const v=C(null),z=C(!1);async function Te(){z.value=!0;try{v.value=await $fetch(`/api/projects/${a}/selections/suggestions`)}catch(i){k.add({title:"Could not analyze",description:i?.data?.message,color:"error"})}finally{z.value=!1}}function Ae(i){x.value=null,d.key="smoke",d.name="Smoke suite",d.description="Mined for route coverage under a time budget.",d.definitionText=JSON.stringify({include:[{ids:i}]},null,2),N.value=!0,L()}return(i,n)=>{const Y=Pe,Se=ze,De=Ue,S=He,je=Ke,G=Xe,U=We,R=Je,re=Ze,Ne=Ye,Ie=Le,Q=Ge,O=et,Re=tt,X=nt,W=st,le=it,Ee=Fe;return s(),p(D,null,[c(Ie,{id:"project-selections"},{header:f(()=>[c(De,null,{leading:f(()=>[c(Y),c(Se,{items:[{label:"Home",icon:"i-lucide-house",to:"/"},{label:"Projects",to:"/projects"},{label:e($)?.label||e($)?.name||"Project",to:`/projects/${e(a)}`},{label:"Selections"}]},null,8,["items"])]),_:1})]),body:f(()=>[l("div",ct,[c(re,{title:"Test selections",icon:"i-lucide-list-filter",count:e(V).length||null,subtitle:"Named, data-driven subsets of the suite resolved from run history. Run one with `npx @piwitests/reporter run <key>`."},{actions:f(()=>[c(S,{label:"New selection",icon:"i-lucide-plus",size:"sm",onClick:ke})]),default:f(()=>[e(j)?(s(),p("div",mt,[l("span",pt,[l("strong",null,m(e(j).selected),1),h(" / "+m(e(j).total)+" tests in a selection ",1)]),e(j).unselected?(s(),_(je,{key:0,mode:"hover"},{content:f(()=>[l("div",yt,[n[9]||(n[9]=l("p",{class:"text-xs text-gray-500"},"Matched by no stored selection:",-1)),l("ul",_t,[(s(!0),p(D,null,I(e(j).unselectedSample.slice(0,12),t=>(s(),p("li",{key:t.testCaseId,class:"truncate text-gray-600 dark:text-gray-300"},m(t.filePath)+" › "+m(t.title),1))),128))]),e(j).unselected>12?(s(),p("p",gt," +"+m(e(j).unselected-12)+" more ",1)):y("",!0)])]),default:f(()=>[l("span",ft,[l("strong",null,m(e(j).unselected),1),n[8]||(n[8]=h(" unselected ",-1))])]),_:1})):(s(),p("span",vt,"every test is covered"))])):y("",!0),e(fe)==="pending"?(s(),_(G,{key:1})):e(V).length===0?(s(),_(U,{key:2,icon:"i-lucide-list-filter",text:"No selections yet — create one, or run a built-in with piwi run failed."})):(s(),p("div",kt,[(s(!0),p(D,null,I(e(V),t=>(s(),p("div",{key:t.key,class:"py-3 flex items-start justify-between gap-3"},[l("div",bt,[l("div",ht,[l("span",xt,m(t.key),1),t.builtin?(s(),_(R,{key:0,color:"neutral",variant:"subtle",size:"sm"},{default:f(()=>[...n[10]||(n[10]=[h("built-in",-1)])]),_:1})):y("",!0),l("span",$t,m(t.name),1),T(t.key)?(s(),_(R,{key:1,color:"neutral",variant:"outline",size:"sm"},{default:f(()=>[h(m(T(t.key)?.resolvedCount)+" "+m(T(t.key)?.resolvedCount===1?"test":"tests"),1)]),_:2},1024)):y("",!0),T(t.key)?.drift?.changed?(s(),_(R,{key:2,color:"warning",variant:"subtle",size:"sm",title:ge(t.key)},{default:f(()=>[h(m(_e(t.key)),1)]),_:2},1032,["title"])):y("",!0),T(t.key)?.quarantinedCount?(s(),_(R,{key:3,color:"warning",variant:"outline",size:"sm",title:`${T(t.key)?.quarantinedCount} quarantined test(s) in this selection`},{default:f(()=>[h(m(T(t.key)?.quarantinedCount)+" quarantined ",1)]),_:2},1032,["title"])):y("",!0)]),t.description?(s(),p("div",wt,m(t.description),1)):y("",!0)]),l("div",Ct,[c(S,{label:"Command",icon:"i-lucide-terminal",color:"neutral",variant:"ghost",size:"sm",onClick:Z=>we(t)},null,8,["onClick"]),t.builtin?y("",!0):(s(),_(S,{key:0,icon:"i-lucide-pencil",color:"neutral",variant:"ghost",size:"sm","aria-label":`Edit ${t.key}`,onClick:Z=>be(t)},null,8,["aria-label","onClick"])),t.builtin?y("",!0):(s(),_(S,{key:1,icon:"i-lucide-trash-2",color:"error",variant:"ghost",size:"sm","aria-label":`Delete ${t.key}`,onClick:Z=>$e(t)},null,8,["aria-label","onClick"]))])]))),128))]))]),_:1},8,["count"]),c(re,{title:"Suggestions",icon:"i-lucide-sparkles",subtitle:"Proposed from observed history — slow outliers, feature tags from route families, and a mined smoke suite. Suggest-only; nothing is applied."},{actions:f(()=>[c(S,{label:"Analyze",icon:"i-lucide-wand-2",size:"sm",loading:e(z),onClick:Te},null,8,["loading"])]),default:f(()=>[!e(v)&&!e(z)?(s(),_(U,{key:0,icon:"i-lucide-sparkles",text:"Analyze the project's history to propose tags and a smoke suite."})):e(z)&&!e(v)?(s(),_(G,{key:1})):e(v)?(s(),p("div",Tt,[e(v).smoke&&e(v).smoke.picks.length?(s(),p("div",At,[l("div",St,[n[11]||(n[11]=l("span",{class:"text-sm font-medium"},"Mined smoke suite",-1)),c(S,{label:"Save as selection",icon:"i-lucide-save",size:"xs",variant:"subtle",onClick:n[0]||(n[0]=t=>Ae(e(v).smoke.testCaseIds))})]),l("p",Dt,[h(m(e(v).smoke.picks.length)+" tests cover ",1),l("strong",null,m(e(v).smoke.coveredRoutes),1),h(" of "+m(e(v).smoke.totalRoutes)+" routes in ~"+m(("formatDuration"in i?i.formatDuration:e(te))(e(v).smoke.picks.at(-1)?.cumulativeDurationMs??0))+" — each pick buys fewer new routes than the last. ",1)]),l("div",jt,[(s(!0),p(D,null,I(e(v).smoke.picks,t=>(s(),_(R,{key:t.testCaseId,color:"neutral",variant:"subtle",size:"sm",title:`+${t.newRoutes} new routes → ${t.cumulativeRoutes} total`},{default:f(()=>[h(m(t.title)+" ",1),l("span",Nt,"+"+m(t.newRoutes),1)]),_:2},1032,["title"]))),128))])])):y("",!0),e(v).tags.length?(s(),p("div",It,[(s(!0),p(D,null,I(e(v).tags,t=>(s(),p("div",{key:`${t.kind}-${t.testCaseId}`,class:"py-2 flex items-start justify-between gap-3"},[l("div",Rt,[l("div",Et,[c(R,{color:t.kind==="slow"?"warning":"primary",variant:"subtle",size:"sm"},{default:f(()=>[h("@"+m(t.tag),1)]),_:2},1032,["color"]),c(Ne,{to:`/test-cases/${t.testCaseId}`,class:"text-sm text-primary hover:underline truncate"},{default:f(()=>[h(m(t.title),1)]),_:2},1032,["to"])]),l("p",Pt,m(t.evidence[0]),1)])]))),128))])):y("",!0),!e(v).tags.length&&!(e(v).smoke&&e(v).smoke.picks.length)?(s(),_(U,{key:2,icon:"i-lucide-check",text:"No suggestions — not enough route/duration history yet, or nothing stands out."})):y("",!0)])):y("",!0)]),_:1})])]),_:1}),c(Ee,null,{default:f(()=>[c(le,{open:e(N),"onUpdate:open":n[6]||(n[6]=t=>ue(N)?N.value=t:null),title:e(x)?`Edit ${e(x)}`:"New selection",ui:{content:"max-w-3xl"}},{body:f(()=>[l("div",zt,[l("div",Lt,[c(O,{label:"Key",error:e(x)?void 0:e(q),required:""},{default:f(()=>[c(Q,{modelValue:e(d).key,"onUpdate:modelValue":n[1]||(n[1]=t=>e(d).key=t),disabled:!!e(x),placeholder:"smoke",class:"w-full font-mono"},null,8,["modelValue","disabled"])]),_:1},8,["error"]),c(O,{label:"Name",required:""},{default:f(()=>[c(Q,{modelValue:e(d).name,"onUpdate:modelValue":n[2]||(n[2]=t=>e(d).name=t),placeholder:"Smoke tests",class:"w-full"},null,8,["modelValue"])]),_:1})]),c(O,{label:"Description"},{default:f(()=>[c(Q,{modelValue:e(d).description,"onUpdate:modelValue":n[3]||(n[3]=t=>e(d).description=t),placeholder:"Fast breadth check over the app's entry points",class:"w-full"},null,8,["modelValue"])]),_:1}),c(O,{label:"Definition"},{default:f(()=>[l("div",Ut,[(s(),p(D,null,I(ve,t=>c(S,{key:t.label,label:t.label,color:"neutral",variant:"subtle",size:"xs",onClick:Z=>he(t.definition)},null,8,["label","onClick"])),64))]),c(Re,{modelValue:e(d).definitionText,"onUpdate:modelValue":n[4]||(n[4]=t=>e(d).definitionText=t),rows:10,class:"w-full font-mono text-xs"},null,8,["modelValue"])]),_:1}),e(A).error?(s(),_(X,{key:0,color:"error",variant:"subtle",title:e(A).error,icon:"i-lucide-triangle-alert"},null,8,["title"])):y("",!0),l("div",Ot,[l("div",Mt,[n[12]||(n[12]=l("span",{class:"font-medium"},"Live preview",-1)),e(F)?(s(),p("span",Vt,"resolving…")):y("",!0)]),e(b)?(s(),p(D,{key:0},[l("div",Bt,[l("span",null,[l("strong",null,m(e(b).estimate.count),1),h(" "+m(e(b).estimate.count===1?"test":"tests"),1)]),e(b).estimate.totalDurationMs!=null?(s(),p("span",qt," ~"+m(("formatDuration"in i?i.formatDuration:e(te))(e(b).estimate.totalDurationMs)),1)):y("",!0)]),(s(!0),p(D,null,I(e(b).warnings,t=>(s(),_(X,{key:t.code,color:"warning",variant:"subtle",title:t.message,icon:"i-lucide-triangle-alert",ui:{title:"text-xs"}},null,8,["title"]))),128)),e(b).materialization.command?(s(),_(W,{key:0,code:e(b).materialization.command,lang:"bash"},null,8,["code"])):y("",!0)],64)):e(A).error?y("",!0):(s(),p("p",Ft," Edit the definition to preview what it resolves to. "))])])]),footer:f(()=>[l("div",Kt,[c(S,{color:"neutral",variant:"ghost",label:"Cancel",onClick:n[5]||(n[5]=t=>N.value=!1)}),c(S,{label:e(x)?"Save":"Create",loading:e(B),disabled:!!e(A).error||!e(d).name.trim()||!e(x)&&!!e(q),onClick:xe},null,8,["label","loading","disabled"])])]),_:1},8,["open","title"]),c(le,{open:e(P),"onUpdate:open":n[7]||(n[7]=t=>ue(P)?P.value=t:null),title:`Run ${e(H)}`,ui:{content:"max-w-3xl"}},{body:f(()=>[e(J)?(s(),_(G,{key:0})):e(w)?(s(),p("div",Jt,[l("div",Ht,[l("span",null,[l("strong",null,m(e(w).estimate.count),1),h(" "+m(e(w).estimate.count===1?"test":"tests"),1)]),e(w).estimate.totalDurationMs!=null?(s(),p("span",Yt," ~"+m(("formatDuration"in i?i.formatDuration:e(te))(e(w).estimate.totalDurationMs)),1)):y("",!0)]),(s(!0),p(D,null,I(e(w).warnings,t=>(s(),_(X,{key:t.code,color:"warning",variant:"subtle",title:t.message,icon:"i-lucide-triangle-alert",ui:{title:"text-xs"}},null,8,["title"]))),128)),l("div",null,[n[13]||(n[13]=l("p",{class:"text-xs text-gray-500 mb-1"},"Run it with the reporter CLI",-1)),c(W,{code:Ce(e(H)),lang:"bash"},null,8,["code"])]),e(w).materialization.command?(s(),p("div",Gt,[n[14]||(n[14]=l("p",{class:"text-xs text-gray-500 mb-1"},"Or drive Playwright directly",-1)),c(W,{code:e(w).materialization.command,lang:"bash"},null,8,["code"])])):y("",!0),e(w).estimate.count===0?(s(),_(U,{key:1,icon:"i-lucide-search-x",text:"This selection currently matches no tests."})):y("",!0)])):y("",!0)]),_:1},8,["open","title"])]),_:1})],64)}}});export{_n as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as l,T as o,o as u,e as p,f as d,U as f,V as n,b as i,W as _}from"./BdQ7kfxJ.js";var m=l({__name:"Label",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"label"}},setup(r){const t=r;return o(),(s,a)=>(u(),p(i(_),n(t,{onMousedown:a[0]||(a[0]=e=>{!e.defaultPrevented&&e.detail>1&&e.preventDefault()})}),{default:d(()=>[f(s.$slots,"default")]),_:3},16))}}),v=m;export{v as L};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a2 as $,a3 as z,a5 as S,aq as y,aW as j,r as w,aR as P,aX as V,a as B,o,e as C,f as b,g as q,i as s,b as t,c as u,h as N,U as n,k as c,t as f,l as m,W,v as h,a8 as F,N as g,bb as D,bc as K}from"./BdQ7kfxJ.js";import{L as O}from"./CxwnFFD0.js";const E={slots:{root:"",wrapper:"",labelWrapper:"flex content-center items-center justify-between gap-1",label:"block font-medium text-default",container:"relative",description:"text-muted",error:"mt-2 text-error",hint:"text-muted",help:"mt-2 text-muted"},variants:{size:{xs:{root:"text-xs"},sm:{root:"text-xs"},md:{root:"text-sm"},lg:{root:"text-sm"},xl:{root:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},orientation:{vertical:{container:"mt-1"},horizontal:{root:"flex justify-between place-items-baseline gap-2"}}},defaultVariants:{size:"md"}},L=["id"],U=["id"],A=["id"],R=["id"],H={__name:"UFormField",props:{as:{type:null,required:!1},name:{type:String,required:!1},errorPattern:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},help:{type:String,required:!1},error:{type:[Boolean,String],required:!1,default:void 0},hint:{type:String,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},eagerValidation:{type:Boolean,required:!1},validateOnInputDelay:{type:Number,required:!1},orientation:{type:null,required:!1,default:"vertical"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(x){const _=x,l=$(),e=z("formField",_),I=S(),a=h(()=>F({extend:E,...I.ui?.formField||{}})({size:e.size,required:e.required,orientation:e.orientation})),k=y(j,null),i=h(()=>e.error||k?.value?.find(r=>r.name===e.name||e.errorPattern&&r.name?.match(e.errorPattern))?.message),d=w(P()),p=d.value,v=y(V,void 0);return B(d,()=>{v&&e.name&&(v.value[e.name]={id:d.value,pattern:e.errorPattern})},{immediate:!0}),g(D,d),g(K,h(()=>({error:i.value,name:e.name,size:e.size,eagerValidation:e.eagerValidation,validateOnInputDelay:e.validateOnInputDelay,errorPattern:e.errorPattern,hint:e.hint,description:e.description,help:e.help,ariaId:p}))),(r,T)=>(o(),C(t(W),{as:t(e).as,"data-orientation":t(e).orientation,"data-slot":"root",class:s(a.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:b(()=>[q("div",{"data-slot":"wrapper",class:s(a.value.wrapper({class:t(e).ui?.wrapper}))},[t(e).label||l.label?(o(),u("div",{key:0,"data-slot":"labelWrapper",class:s(a.value.labelWrapper({class:t(e).ui?.labelWrapper}))},[N(t(O),{for:d.value,"data-slot":"label",class:s(a.value.label({class:t(e).ui?.label}))},{default:b(()=>[n(r.$slots,"label",{label:t(e).label},()=>[c(f(t(e).label),1)])]),_:3},8,["for","class"]),t(e).hint||l.hint?(o(),u("span",{key:0,id:`${t(p)}-hint`,"data-slot":"hint",class:s(a.value.hint({class:t(e).ui?.hint}))},[n(r.$slots,"hint",{hint:t(e).hint},()=>[c(f(t(e).hint),1)])],10,L)):m("",!0)],2)):m("",!0),t(e).description||l.description?(o(),u("p",{key:1,id:`${t(p)}-description`,"data-slot":"description",class:s(a.value.description({class:t(e).ui?.description}))},[n(r.$slots,"description",{description:t(e).description},()=>[c(f(t(e).description),1)])],10,U)):m("",!0)],2),q("div",{class:s([(t(e).label||!!l.label||t(e).description||!!l.description)&&a.value.container({class:t(e).ui?.container})])},[n(r.$slots,"default",{error:i.value}),t(e).error!==!1&&(typeof i.value=="string"&&i.value||l.error)?(o(),u("div",{key:0,id:`${t(p)}-error`,"data-slot":"error",class:s(a.value.error({class:t(e).ui?.error}))},[n(r.$slots,"error",{error:i.value},()=>[c(f(i.value),1)])],10,A)):t(e).help||l.help?(o(),u("div",{key:1,id:`${t(p)}-help`,"data-slot":"help",class:s(a.value.help({class:t(e).ui?.help}))},[n(r.$slots,"help",{help:t(e).help},()=>[c(f(t(e).help),1)])],10,R)):m("",!0)],2)]),_:3},8,["as","data-orientation","class"]))}};export{H as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as m,b as r,o as a,e as _,f as g,h as b,_ as v,a1 as w,i as x,c as $,v as t}from"./BdQ7kfxJ.js";import{_ as S}from"./C_eXufkv.js";import{E as C,F as z}from"./DwZS0oRm.js";const k={key:1,class:"text-xs text-gray-400 dark:text-gray-500 italic"},B=m({__name:"BrowserBadge",props:{browser:{},size:{}},setup(c){const n=c,s=t(()=>n.browser?.projectName??null),l=t(()=>C(s.value)),p=t(()=>z(s.value)),u=t(()=>n.size==="sm"?"size-3.5":n.size==="lg"?"size-5":"size-4"),i=t(()=>{const e=n.browser;if(!e)return[];const o=[];return e.browserName&&e.browserName!==s.value&&o.push(`Browser: ${e.browserName}`),e.channel&&o.push(`Channel: ${e.channel}`),e.viewport&&o.push(`Viewport: ${e.viewport.width}×${e.viewport.height}`),e.deviceScaleFactor&&e.deviceScaleFactor!==1&&o.push(`Scale: ${e.deviceScaleFactor}x`),e.isMobile&&o.push("Mobile"),e.hasTouch&&!e.isMobile&&o.push("Touch"),e.locale&&o.push(`Locale: ${e.locale}`),e.timezoneId&&o.push(`TZ: ${e.timezoneId}`),e.colorScheme&&e.colorScheme!=="light"&&o.push(`Color: ${e.colorScheme}`),e.reducedMotion&&e.reducedMotion!=="no-preference"&&o.push(`Motion: ${e.reducedMotion}`),e.forcedColors&&e.forcedColors!=="none"&&o.push("Colors: forced"),e.offline&&o.push("Offline"),e.bypassCSP&&o.push("CSP bypassed"),e.javaScriptEnabled===!1&&o.push("JS disabled"),e.serviceWorkers==="block"&&o.push("SW blocked"),e.geolocation&&o.push(`Geo: ${e.geolocation.latitude.toFixed(2)},${e.geolocation.longitude.toFixed(2)}`),e.userAgent&&o.push(`UA: ${e.userAgent.length>60?e.userAgent.slice(0,60)+"…":e.userAgent}`),o}),h=t(()=>s.value?i.value.length?`${s.value} · ${i.value.join(" · ")}`:s.value:"");return(e,o)=>{const f=v,d=S;return r(s)?(a(),_(d,{key:0,text:r(h),popper:{placement:"top"}},{default:g(()=>[b(f,{name:r(l),class:x(["shrink-0 cursor-help",r(u)]),style:w({color:r(p)})},null,8,["name","class","style"])]),_:1},8,["text"])):(a(),$("span",k,"—"))}}}),A=Object.assign(B,{__name:"BrowserBadge"});export{A as _};
|