@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.
Files changed (2468) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/3HmftUHT.js +1 -0
  3. package/.output/public/_nuxt/9oKY4Zb7.js +1 -0
  4. package/.output/public/_nuxt/B0eHOux4.js +1 -0
  5. package/.output/public/_nuxt/B1KjIR-q.js +1 -0
  6. package/.output/public/_nuxt/B4NjylBn.js +1 -0
  7. package/.output/public/_nuxt/B6djubIK.js +1 -0
  8. package/.output/public/_nuxt/B7uPoZ7T.js +1 -0
  9. package/.output/public/_nuxt/B7zo6PK8.js +1 -0
  10. package/.output/public/_nuxt/B8tezsWe.js +2 -0
  11. package/.output/public/_nuxt/BIamiwb7.js +5 -0
  12. package/.output/public/_nuxt/BL8cYWsR.js +1 -0
  13. package/.output/public/_nuxt/BMlKQMjM.js +1 -0
  14. package/.output/public/_nuxt/BO4sfkbw.js +1 -0
  15. package/.output/public/_nuxt/BOn5q0rT.js +1 -0
  16. package/.output/public/_nuxt/BPhGDGAR.js +1 -0
  17. package/.output/public/_nuxt/BTG_PmM5.js +1 -0
  18. package/.output/public/_nuxt/BV8EzO8q.js +1 -0
  19. package/.output/public/_nuxt/BY9A1aOT.js +1 -0
  20. package/.output/public/_nuxt/Bb_1uAHn.js +1 -0
  21. package/.output/public/_nuxt/BdQ7kfxJ.js +254 -0
  22. package/.output/public/_nuxt/BdyXNI2_.js +1 -0
  23. package/.output/public/_nuxt/Be0bwdsi.js +1 -0
  24. package/.output/public/_nuxt/Bg63qh8W.js +1 -0
  25. package/.output/public/_nuxt/Bh2WA4IJ.js +1 -0
  26. package/.output/public/_nuxt/BilJoEne.js +1 -0
  27. package/.output/public/_nuxt/BkHJoHpc.js +1 -0
  28. package/.output/public/_nuxt/BnhWd06P.js +1 -0
  29. package/.output/public/_nuxt/Bo73sAu8.js +1 -0
  30. package/.output/public/_nuxt/Bp2zrrkV.js +1 -0
  31. package/.output/public/_nuxt/Bp55g9gr.js +7 -0
  32. package/.output/public/_nuxt/BsGvSoPC.js +1 -0
  33. package/.output/public/_nuxt/BtcDY0Du.js +1 -0
  34. package/.output/public/_nuxt/C2hIM5f9.js +1 -0
  35. package/.output/public/_nuxt/C2yZcDch.js +1 -0
  36. package/.output/public/_nuxt/C5X_N4R7.js +79 -0
  37. package/.output/public/_nuxt/C6R4tyud.js +1 -0
  38. package/.output/public/_nuxt/C9A3sPDo.js +1 -0
  39. package/.output/public/_nuxt/CEgRB8H9.js +9 -0
  40. package/.output/public/_nuxt/CFKbXp6V.js +17 -0
  41. package/.output/public/_nuxt/CFg5qdS0.js +1 -0
  42. package/.output/public/_nuxt/CHWW6xiX.js +1 -0
  43. package/.output/public/_nuxt/CIPvUOic.js +2 -0
  44. package/.output/public/_nuxt/CK2AMqz_.js +1 -0
  45. package/.output/public/_nuxt/CLrLFf3s.js +4 -0
  46. package/.output/public/_nuxt/CMVTTE_g.js +1 -0
  47. package/.output/public/_nuxt/CPrVhXJk.js +1 -0
  48. package/.output/public/_nuxt/CTFUlsXp.js +1 -0
  49. package/.output/public/_nuxt/CUWrUpTl.js +1 -0
  50. package/.output/public/_nuxt/CUjzhXN1.js +1 -0
  51. package/.output/public/_nuxt/CVcFbORW.js +9 -0
  52. package/.output/public/_nuxt/CY1UsEbI.js +1 -0
  53. package/.output/public/_nuxt/CZ6WR7uw.js +1 -0
  54. package/.output/public/_nuxt/CZXeJs2k.js +1 -0
  55. package/.output/public/_nuxt/CZlz5y13.js +1 -0
  56. package/.output/public/_nuxt/C_eXufkv.js +1 -0
  57. package/.output/public/_nuxt/CbzgEkmW.js +2 -0
  58. package/.output/public/_nuxt/CfV2N201.js +1 -0
  59. package/.output/public/_nuxt/Cf_a8ynB.js +2 -0
  60. package/.output/public/_nuxt/ChlP20A5.js +6 -0
  61. package/.output/public/_nuxt/CkV_UG8j.js +1 -0
  62. package/.output/public/_nuxt/CrZhoZuI.js +1 -0
  63. package/.output/public/_nuxt/CrsaY0R_.js +1 -0
  64. package/.output/public/_nuxt/CsGsLxHg.js +1 -0
  65. package/.output/public/_nuxt/CsJ9Ce4U.js +1 -0
  66. package/.output/public/_nuxt/CxRTKV-K.js +44 -0
  67. package/.output/public/_nuxt/CxspCKpR.js +5 -0
  68. package/.output/public/_nuxt/CxwnFFD0.js +1 -0
  69. package/.output/public/_nuxt/CyWOerIG.js +1 -0
  70. package/.output/public/_nuxt/D0TpBpCc.js +1 -0
  71. package/.output/public/_nuxt/D0XWJGhG.js +1 -0
  72. package/.output/public/_nuxt/D3LyIeiJ.js +1 -0
  73. package/.output/public/_nuxt/D56yp7m9.js +1 -0
  74. package/.output/public/_nuxt/D5SN7rPK.js +1 -0
  75. package/.output/public/_nuxt/D72Ce8Ff.js +1 -0
  76. package/.output/public/_nuxt/DCeZxpxe.js +5 -0
  77. package/.output/public/_nuxt/DKgbchez.js +1 -0
  78. package/.output/public/_nuxt/DKhqIou2.js +1 -0
  79. package/.output/public/_nuxt/DLN-CQXF.js +5 -0
  80. package/.output/public/_nuxt/DPPhFZOr.js +1 -0
  81. package/.output/public/_nuxt/DR1jFptD.js +1 -0
  82. package/.output/public/_nuxt/DTtizz85.js +1 -0
  83. package/.output/public/_nuxt/DUC3QnqW.js +4 -0
  84. package/.output/public/_nuxt/DVIIj6Vv.js +1 -0
  85. package/.output/public/_nuxt/D_SD71Qf.js +1 -0
  86. package/.output/public/_nuxt/DadksxQ9.js +1 -0
  87. package/.output/public/_nuxt/DcccidY5.js +4 -0
  88. package/.output/public/_nuxt/DqkCbAzo.js +1 -0
  89. package/.output/public/_nuxt/Drh1_ASq.js +1 -0
  90. package/.output/public/_nuxt/DtGJeysS.js +1 -0
  91. package/.output/public/_nuxt/DwH4SIZE.js +1 -0
  92. package/.output/public/_nuxt/DwZS0oRm.js +2 -0
  93. package/.output/public/_nuxt/DxPZIuWy.js +1 -0
  94. package/.output/public/_nuxt/Dyb1FouX.js +1 -0
  95. package/.output/public/_nuxt/DzJa19LG.js +1 -0
  96. package/.output/public/_nuxt/EJllK0wm.js +1 -0
  97. package/.output/public/_nuxt/G2J1dVVb.js +1 -0
  98. package/.output/public/_nuxt/Gn1Ns00e.js +3 -0
  99. package/.output/public/_nuxt/HGYIpJtg.js +1 -0
  100. package/.output/public/_nuxt/IoE3eJ9F.js +1 -0
  101. package/.output/public/_nuxt/LWIyaZKe.js +1 -0
  102. package/.output/public/_nuxt/Q2oJNyXL.js +1 -0
  103. package/.output/public/_nuxt/R7AVOWi_.js +1 -0
  104. package/.output/public/_nuxt/Sx5-c-bZ.js +1 -0
  105. package/.output/public/_nuxt/WZXZeGYt.js +1 -0
  106. package/.output/public/_nuxt/builds/latest.json +1 -1
  107. package/.output/public/_nuxt/builds/meta/a5fb24cc-65e3-4e55-aa12-038fe2de4754.json +1 -0
  108. package/.output/public/_nuxt/dg6uXTyR.js +1 -0
  109. package/.output/public/_nuxt/entry.BFe0Ua9k.css +1 -0
  110. package/.output/public/_nuxt/i7znB42v.js +1 -0
  111. package/.output/public/_nuxt/igDJCTgt.js +1 -0
  112. package/.output/public/_nuxt/j2eGYaRa.js +1 -0
  113. package/.output/public/_nuxt/jv8U_Tup.js +1 -0
  114. package/.output/public/_nuxt/oA84LLqO.js +1 -0
  115. package/.output/public/_nuxt/r-HZNbp3.js +5 -0
  116. package/.output/public/_nuxt/r6zkA1SE.js +1 -0
  117. package/.output/public/_nuxt/rPG7kzfL.js +1 -0
  118. package/.output/public/_nuxt/vcSKeWsW.js +1 -0
  119. package/.output/public/_nuxt/xKX9IHe3.js +2 -0
  120. package/.output/public/demo/seed.version.json +2 -2
  121. package/.output/server/chunks/_/collect.mjs +1 -1
  122. package/.output/server/chunks/_/icons2.mjs +11506 -0
  123. package/.output/server/chunks/_/icons2.mjs.map +1 -0
  124. package/.output/server/chunks/_/markers.mjs +3 -3
  125. package/.output/server/chunks/_/markers.mjs.map +1 -1
  126. package/.output/server/chunks/_/scope.mjs +3 -0
  127. package/.output/server/chunks/_/scope.mjs.map +1 -1
  128. package/.output/server/chunks/_/users.mjs +15 -2
  129. package/.output/server/chunks/_/users.mjs.map +1 -1
  130. package/.output/server/chunks/build/Alert-gs8RgKxH.mjs +479 -0
  131. package/.output/server/chunks/build/Alert-gs8RgKxH.mjs.map +1 -0
  132. package/.output/server/chunks/build/Breadcrumb-DtV_L8Gt.mjs +522 -0
  133. package/.output/server/chunks/build/Breadcrumb-DtV_L8Gt.mjs.map +1 -0
  134. package/.output/server/chunks/build/BreadcrumbNav-DBnGj5Jq.mjs +111 -0
  135. package/.output/server/chunks/build/BreadcrumbNav-DBnGj5Jq.mjs.map +1 -0
  136. package/.output/server/chunks/build/BrowserBadge-vFb1ERG_.mjs +89 -0
  137. package/.output/server/chunks/build/BrowserBadge-vFb1ERG_.mjs.map +1 -0
  138. package/.output/server/chunks/build/ChartMarkerLines-BXqUpUcs.mjs +113 -0
  139. package/.output/server/chunks/build/ChartMarkerLines-BXqUpUcs.mjs.map +1 -0
  140. package/.output/server/chunks/build/ChartTooltip-DoF6Smyc.mjs +298 -0
  141. package/.output/server/chunks/build/ChartTooltip-DoF6Smyc.mjs.map +1 -0
  142. package/.output/server/chunks/build/Checkbox-ChSYhiUz.mjs +746 -0
  143. package/.output/server/chunks/build/Checkbox-ChSYhiUz.mjs.map +1 -0
  144. package/.output/server/chunks/build/CodeBlock-CmvKHaq8.mjs +54 -0
  145. package/.output/server/chunks/build/CodeBlock-CmvKHaq8.mjs.map +1 -0
  146. package/.output/server/chunks/build/DashboardNavbar-C3PsNVJt.mjs +270 -0
  147. package/.output/server/chunks/build/DashboardNavbar-C3PsNVJt.mjs.map +1 -0
  148. package/.output/server/chunks/build/DashboardSidebarToggle-a5KYecZ0.mjs +480 -0
  149. package/.output/server/chunks/build/DashboardSidebarToggle-a5KYecZ0.mjs.map +1 -0
  150. package/.output/server/chunks/build/DataLocationCard-ChV02QJj.mjs +102 -0
  151. package/.output/server/chunks/build/DataLocationCard-ChV02QJj.mjs.map +1 -0
  152. package/.output/server/chunks/build/DesktopRunLocallyButton-BfmbZpiL.mjs +1122 -0
  153. package/.output/server/chunks/build/DesktopRunLocallyButton-BfmbZpiL.mjs.map +1 -0
  154. package/.output/server/chunks/build/DiagnosisPanel-C_ndadzP.mjs +1207 -0
  155. package/.output/server/chunks/build/DiagnosisPanel-C_ndadzP.mjs.map +1 -0
  156. package/.output/server/chunks/build/DiagnosisResult-GAjo6Lt3.mjs +1524 -0
  157. package/.output/server/chunks/build/DiagnosisResult-GAjo6Lt3.mjs.map +1 -0
  158. package/.output/server/chunks/build/DurationValue-CObiBDnH.mjs +43 -0
  159. package/.output/server/chunks/build/DurationValue-CObiBDnH.mjs.map +1 -0
  160. package/.output/server/chunks/build/EntityLinks-BcpvMt_V.mjs +325 -0
  161. package/.output/server/chunks/build/EntityLinks-BcpvMt_V.mjs.map +1 -0
  162. package/.output/server/chunks/build/EnvManagedBadge-_8GfjWjE.mjs +71 -0
  163. package/.output/server/chunks/build/EnvManagedBadge-_8GfjWjE.mjs.map +1 -0
  164. package/.output/server/chunks/build/FeatureUnavailable-Buoyoqx1.mjs +83 -0
  165. package/.output/server/chunks/build/FeatureUnavailable-Buoyoqx1.mjs.map +1 -0
  166. package/.output/server/chunks/build/FormField-GYHKiSI6.mjs +282 -0
  167. package/.output/server/chunks/build/FormField-GYHKiSI6.mjs.map +1 -0
  168. package/.output/server/chunks/build/GetStartedWizard-tL3U_qM1.mjs +510 -0
  169. package/.output/server/chunks/build/GetStartedWizard-tL3U_qM1.mjs.map +1 -0
  170. package/.output/server/chunks/build/HelpHint-C96TlqxY.mjs +1070 -0
  171. package/.output/server/chunks/build/HelpHint-C96TlqxY.mjs.map +1 -0
  172. package/.output/server/chunks/build/MetaStripGroup-Cp2WCQf7.mjs +193 -0
  173. package/.output/server/chunks/build/MetaStripGroup-Cp2WCQf7.mjs.map +1 -0
  174. package/.output/server/chunks/build/MiniRunBars-CcSn_9Wl.mjs +59 -0
  175. package/.output/server/chunks/build/MiniRunBars-CcSn_9Wl.mjs.map +1 -0
  176. package/.output/server/chunks/build/Modal-BGBGJtVH.mjs +1472 -0
  177. package/.output/server/chunks/build/Modal-BGBGJtVH.mjs.map +1 -0
  178. package/.output/server/chunks/build/NavigationMenu-D4ZpdCm_.mjs +4155 -0
  179. package/.output/server/chunks/build/NavigationMenu-D4ZpdCm_.mjs.map +1 -0
  180. package/.output/server/chunks/build/OpenInIdeLink-Bnl-_som.mjs +396 -0
  181. package/.output/server/chunks/build/OpenInIdeLink-Bnl-_som.mjs.map +1 -0
  182. package/.output/server/chunks/build/ProjectTestCasesTable-saHYJoyQ.mjs +2407 -0
  183. package/.output/server/chunks/build/ProjectTestCasesTable-saHYJoyQ.mjs.map +1 -0
  184. package/.output/server/chunks/build/RovingFocusItem-CLjuqlIR.mjs +100 -0
  185. package/.output/server/chunks/build/RovingFocusItem-CLjuqlIR.mjs.map +1 -0
  186. package/.output/server/chunks/build/RunReports-CKYYRC59.mjs +57 -0
  187. package/.output/server/chunks/build/RunReports-CKYYRC59.mjs.map +1 -0
  188. package/.output/server/chunks/build/RunStatusBadge-CWhmAmKb.mjs +59 -0
  189. package/.output/server/chunks/build/RunStatusBadge-CWhmAmKb.mjs.map +1 -0
  190. package/.output/server/chunks/build/SectionCard-BB1O3uXd.mjs +142 -0
  191. package/.output/server/chunks/build/SectionCard-BB1O3uXd.mjs.map +1 -0
  192. package/.output/server/chunks/build/Select-COU8NARj.mjs +3572 -0
  193. package/.output/server/chunks/build/Select-COU8NARj.mjs.map +1 -0
  194. package/.output/server/chunks/build/SelectMenu-BUwwc3Qt.mjs +4400 -0
  195. package/.output/server/chunks/build/SelectMenu-BUwwc3Qt.mjs.map +1 -0
  196. package/.output/server/chunks/build/Separator-CQsq6WA9.mjs +421 -0
  197. package/.output/server/chunks/build/Separator-CQsq6WA9.mjs.map +1 -0
  198. package/.output/server/chunks/build/SettingsField-CEasBHu3.mjs +174 -0
  199. package/.output/server/chunks/build/SettingsField-CEasBHu3.mjs.map +1 -0
  200. package/.output/server/chunks/build/Slideover-DN5CvSnw.mjs +926 -0
  201. package/.output/server/chunks/build/Slideover-DN5CvSnw.mjs.map +1 -0
  202. package/.output/server/chunks/build/Switch-_NJhWmI9.mjs +655 -0
  203. package/.output/server/chunks/build/Switch-_NJhWmI9.mjs.map +1 -0
  204. package/.output/server/chunks/build/Table-BET-DOtX.mjs +949 -0
  205. package/.output/server/chunks/build/Table-BET-DOtX.mjs.map +1 -0
  206. package/.output/server/chunks/build/Tabs-CC34LIUz.mjs +1058 -0
  207. package/.output/server/chunks/build/Tabs-CC34LIUz.mjs.map +1 -0
  208. package/.output/server/chunks/build/TagBadge-aGUzbCxx.mjs +31 -0
  209. package/.output/server/chunks/build/TagBadge-aGUzbCxx.mjs.map +1 -0
  210. package/.output/server/chunks/build/TestCaseHistoryChart-BgI6P_zS.mjs +221 -0
  211. package/.output/server/chunks/build/TestCaseHistoryChart-BgI6P_zS.mjs.map +1 -0
  212. package/.output/server/chunks/build/TestStatusBar-DR8jM5th.mjs +109 -0
  213. package/.output/server/chunks/build/TestStatusBar-DR8jM5th.mjs.map +1 -0
  214. package/.output/server/chunks/build/Textarea-CmjqdiIA.mjs +605 -0
  215. package/.output/server/chunks/build/Textarea-CmjqdiIA.mjs.map +1 -0
  216. package/.output/server/chunks/build/Tooltip-CK0ucuXC.mjs +874 -0
  217. package/.output/server/chunks/build/Tooltip-CK0ucuXC.mjs.map +1 -0
  218. package/.output/server/chunks/build/VisuallyHiddenInput-D4E5aJCQ.mjs +142 -0
  219. package/.output/server/chunks/build/VisuallyHiddenInput-D4E5aJCQ.mjs.map +1 -0
  220. package/.output/server/chunks/build/_id_-B7Dw490u.mjs +8608 -0
  221. package/.output/server/chunks/build/_id_-B7Dw490u.mjs.map +1 -0
  222. package/.output/server/chunks/build/_id_-DVPb1S93.mjs +8736 -0
  223. package/.output/server/chunks/build/_id_-DVPb1S93.mjs.map +1 -0
  224. package/.output/server/chunks/build/_id_-kkexEH_q.mjs +1418 -0
  225. package/.output/server/chunks/build/_id_-kkexEH_q.mjs.map +1 -0
  226. package/.output/server/chunks/build/_id_-rQhFY0fN.mjs +4161 -0
  227. package/.output/server/chunks/build/_id_-rQhFY0fN.mjs.map +1 -0
  228. package/.output/server/chunks/build/about-C4AbyQ4q.mjs +698 -0
  229. package/.output/server/chunks/build/about-C4AbyQ4q.mjs.map +1 -0
  230. package/.output/server/chunks/build/account-B45bYZd1.mjs +920 -0
  231. package/.output/server/chunks/build/account-B45bYZd1.mjs.map +1 -0
  232. package/.output/server/chunks/build/ai-CgN9xXFf.mjs +1850 -0
  233. package/.output/server/chunks/build/ai-CgN9xXFf.mjs.map +1 -0
  234. package/.output/server/chunks/build/analytics-BRkiUpwa.mjs +3784 -0
  235. package/.output/server/chunks/build/analytics-BRkiUpwa.mjs.map +1 -0
  236. package/.output/server/chunks/build/auto-heal-BnTdKHQq.mjs +533 -0
  237. package/.output/server/chunks/build/auto-heal-BnTdKHQq.mjs.map +1 -0
  238. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  239. package/.output/server/chunks/build/compare-ykNFuMic.mjs +83 -0
  240. package/.output/server/chunks/build/compare-ykNFuMic.mjs.map +1 -0
  241. package/.output/server/chunks/build/db.client-DyVEaqk4.mjs +1196 -0
  242. package/.output/server/chunks/build/db.client-DyVEaqk4.mjs.map +1 -0
  243. package/.output/server/chunks/build/default-BGOdM_zA.mjs +6499 -0
  244. package/.output/server/chunks/build/default-BGOdM_zA.mjs.map +1 -0
  245. package/.output/server/chunks/build/docs-D7R5eJ1Z.mjs +1181 -0
  246. package/.output/server/chunks/build/docs-D7R5eJ1Z.mjs.map +1 -0
  247. package/.output/server/chunks/build/edit-BbL3k6c3.mjs +1640 -0
  248. package/.output/server/chunks/build/edit-BbL3k6c3.mjs.map +1 -0
  249. package/.output/server/chunks/build/fetch-DOcN2mHf.mjs +148 -0
  250. package/.output/server/chunks/build/fetch-DOcN2mHf.mjs.map +1 -0
  251. package/.output/server/chunks/build/forgot-password-CizombKP.mjs +297 -0
  252. package/.output/server/chunks/build/forgot-password-CizombKP.mjs.map +1 -0
  253. package/.output/server/chunks/build/help-content-BK3jcgLw.mjs +650 -0
  254. package/.output/server/chunks/build/help-content-BK3jcgLw.mjs.map +1 -0
  255. package/.output/server/chunks/build/import-ibAn_HB9.mjs +1023 -0
  256. package/.output/server/chunks/build/import-ibAn_HB9.mjs.map +1 -0
  257. package/.output/server/chunks/build/index-2GmuPNF-.mjs +457 -0
  258. package/.output/server/chunks/build/index-2GmuPNF-.mjs.map +1 -0
  259. package/.output/server/chunks/build/index-CqinXTVs.mjs +1700 -0
  260. package/.output/server/chunks/build/index-CqinXTVs.mjs.map +1 -0
  261. package/.output/server/chunks/build/index-D5A0DW7Y.mjs +93 -0
  262. package/.output/server/chunks/build/index-D5A0DW7Y.mjs.map +1 -0
  263. package/.output/server/chunks/build/index-DreB_S-d.mjs +1169 -0
  264. package/.output/server/chunks/build/index-DreB_S-d.mjs.map +1 -0
  265. package/.output/server/chunks/build/index-KsRegEjT.mjs +11040 -0
  266. package/.output/server/chunks/build/index-KsRegEjT.mjs.map +1 -0
  267. package/.output/server/chunks/build/isValueEqualOrExist-D4lZ8uRY.mjs +11 -0
  268. package/.output/server/chunks/build/isValueEqualOrExist-D4lZ8uRY.mjs.map +1 -0
  269. package/.output/server/chunks/build/login-DueFS2RU.mjs +835 -0
  270. package/.output/server/chunks/build/login-DueFS2RU.mjs.map +1 -0
  271. package/.output/server/chunks/build/mcp-Dwj29-uG.mjs +1593 -0
  272. package/.output/server/chunks/build/mcp-Dwj29-uG.mjs.map +1 -0
  273. package/.output/server/chunks/build/notifications-CjAn5FJj.mjs +1265 -0
  274. package/.output/server/chunks/build/notifications-CjAn5FJj.mjs.map +1 -0
  275. package/.output/server/chunks/build/performance-DRzcu_c7.mjs +581 -0
  276. package/.output/server/chunks/build/performance-DRzcu_c7.mjs.map +1 -0
  277. package/.output/server/chunks/build/pr-feedback-DR60oGBf.mjs +370 -0
  278. package/.output/server/chunks/build/pr-feedback-DR60oGBf.mjs.map +1 -0
  279. package/.output/server/chunks/build/reset-password-D6UnQTgI.mjs +355 -0
  280. package/.output/server/chunks/build/reset-password-D6UnQTgI.mjs.map +1 -0
  281. package/.output/server/chunks/build/selections-BjjolRZ9.mjs +1197 -0
  282. package/.output/server/chunks/build/selections-BjjolRZ9.mjs.map +1 -0
  283. package/.output/server/chunks/build/server.mjs +341 -43
  284. package/.output/server/chunks/build/server.mjs.map +1 -1
  285. package/.output/server/chunks/build/settings-B3NWV9tu.mjs +282 -0
  286. package/.output/server/chunks/build/settings-B3NWV9tu.mjs.map +1 -0
  287. package/.output/server/chunks/build/settings-metadata-DwJk8uSt.mjs +164 -0
  288. package/.output/server/chunks/build/settings-metadata-DwJk8uSt.mjs.map +1 -0
  289. package/.output/server/chunks/build/setup-BlgFTixN.mjs +1065 -0
  290. package/.output/server/chunks/build/setup-BlgFTixN.mjs.map +1 -0
  291. package/.output/server/chunks/build/storage-C1O-FC0U.mjs +361 -0
  292. package/.output/server/chunks/build/storage-C1O-FC0U.mjs.map +1 -0
  293. package/.output/server/chunks/build/styles.mjs +0 -2
  294. package/.output/server/chunks/build/tags-dsvYrnii.mjs +375 -0
  295. package/.output/server/chunks/build/tags-dsvYrnii.mjs.map +1 -0
  296. package/.output/server/chunks/build/test-cases-CFiOuyK6.mjs +228 -0
  297. package/.output/server/chunks/build/test-cases-CFiOuyK6.mjs.map +1 -0
  298. package/.output/server/chunks/build/test-functions-CbmBi6az.mjs +552 -0
  299. package/.output/server/chunks/build/test-functions-CbmBi6az.mjs.map +1 -0
  300. package/.output/server/chunks/build/useAiStatus-CiK1MZbH.mjs +9 -0
  301. package/.output/server/chunks/build/useAiStatus-CiK1MZbH.mjs.map +1 -0
  302. package/.output/server/chunks/build/useCopyRich-DPKZKHvZ.mjs +5805 -0
  303. package/.output/server/chunks/build/useCopyRich-DPKZKHvZ.mjs.map +1 -0
  304. package/.output/server/chunks/build/useDesktopDownload-R_RWSgUV.mjs +46 -0
  305. package/.output/server/chunks/build/useDesktopDownload-R_RWSgUV.mjs.map +1 -0
  306. package/.output/server/chunks/build/useDesktopLocalRuns-BdELBy0Y.mjs +381 -0
  307. package/.output/server/chunks/build/useDesktopLocalRuns-BdELBy0Y.mjs.map +1 -0
  308. package/.output/server/chunks/build/useDesktopProjectLink-IUN7SIP2.mjs +84 -0
  309. package/.output/server/chunks/build/useDesktopProjectLink-IUN7SIP2.mjs.map +1 -0
  310. package/.output/server/chunks/build/useFormControl-8skMOTIf.mjs +9 -0
  311. package/.output/server/chunks/build/useFormControl-8skMOTIf.mjs.map +1 -0
  312. package/.output/server/chunks/build/useOpenInIde-DS4YXevu.mjs +95 -0
  313. package/.output/server/chunks/build/useOpenInIde-DS4YXevu.mjs.map +1 -0
  314. package/.output/server/chunks/build/useSettingsNav-Dg87E7kY.mjs +19 -0
  315. package/.output/server/chunks/build/useSettingsNav-Dg87E7kY.mjs.map +1 -0
  316. package/.output/server/chunks/build/useTreeViewCookie-BvoH7a_X.mjs +25 -0
  317. package/.output/server/chunks/build/useTreeViewCookie-BvoH7a_X.mjs.map +1 -0
  318. package/.output/server/chunks/build/users-DgsoiXxQ.mjs +747 -0
  319. package/.output/server/chunks/build/users-DgsoiXxQ.mjs.map +1 -0
  320. package/.output/server/chunks/nitro/nitro.mjs +5513 -2266
  321. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  322. package/.output/server/chunks/routes/__piwi/session.get.mjs +3 -3
  323. package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
  324. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +2 -2
  325. package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
  326. package/.output/server/chunks/routes/api/admin/stats.get.mjs +1 -1
  327. package/.output/server/chunks/routes/api/ai/status.get.mjs +1 -1
  328. package/.output/server/chunks/routes/api/ai/step-resolution.post.mjs +6 -5
  329. package/.output/server/chunks/routes/api/ai/step-resolution.post.mjs.map +1 -1
  330. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +16 -4
  331. package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
  332. package/.output/server/chunks/routes/api/auth/change-password.post.mjs +4 -4
  333. package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
  334. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +4 -5
  335. package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
  336. package/.output/server/chunks/routes/api/auth/login.post.mjs +6 -8
  337. package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
  338. package/.output/server/chunks/routes/api/auth/logout.post.mjs +2 -2
  339. package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
  340. package/.output/server/chunks/routes/api/auth/me.get.mjs +1 -1
  341. package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +1 -1
  342. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +4 -4
  343. package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
  344. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +2 -2
  345. package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
  346. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +7 -8
  347. package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
  348. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +6 -5
  349. package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
  350. package/.output/server/chunks/routes/api/auth/setup.get.mjs +1 -1
  351. package/.output/server/chunks/routes/api/auth/setup.post.mjs +8 -9
  352. package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
  353. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +3 -3
  354. package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
  355. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +9 -8
  356. package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
  357. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +5 -6
  358. package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
  359. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +2 -2
  360. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
  361. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +2 -2
  362. package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
  363. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs +7 -7
  364. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -1
  365. package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +1 -1
  366. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +2 -2
  367. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
  368. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +5 -5
  369. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
  370. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +3 -3
  371. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
  372. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +6 -6
  373. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
  374. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +2 -2
  375. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
  376. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +12 -11
  377. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
  378. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +12 -11
  379. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
  380. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +3 -2
  381. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
  382. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +1 -1
  383. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +2 -2
  384. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -1
  385. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +3 -3
  386. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
  387. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +3 -3
  388. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -1
  389. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.get.mjs +54 -0
  390. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.get.mjs.map +1 -0
  391. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.post.mjs +91 -0
  392. package/.output/server/chunks/routes/api/failure-clusters/_id/share-links.post.mjs.map +1 -0
  393. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +3 -3
  394. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
  395. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +2 -2
  396. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
  397. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +6 -5
  398. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
  399. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +4 -4
  400. package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
  401. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  402. package/.output/server/chunks/routes/api/index.get.mjs +4 -19
  403. package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
  404. package/.output/server/chunks/routes/api/index.get2.mjs +27 -11
  405. package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
  406. package/.output/server/chunks/routes/api/index.get3.mjs +12 -29
  407. package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
  408. package/.output/server/chunks/routes/api/index.get4.mjs +15 -4
  409. package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
  410. package/.output/server/chunks/routes/api/index.get5.mjs +2 -7
  411. package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
  412. package/.output/server/chunks/routes/api/index.get6.mjs +58 -0
  413. package/.output/server/chunks/routes/api/index.get6.mjs.map +1 -0
  414. package/.output/server/chunks/routes/api/index.post.mjs +20 -9
  415. package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
  416. package/.output/server/chunks/routes/api/index.post2.mjs +7 -7
  417. package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
  418. package/.output/server/chunks/routes/api/index.post3.mjs +4 -4
  419. package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
  420. package/.output/server/chunks/routes/api/index.post4.mjs +20 -13
  421. package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
  422. package/.output/server/chunks/routes/api/index.post5.mjs +6 -5
  423. package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
  424. package/.output/server/chunks/routes/api/index.post6.mjs +10 -17
  425. package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
  426. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +4 -4
  427. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
  428. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +3 -3
  429. package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
  430. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +4 -4
  431. package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
  432. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +2 -2
  433. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
  434. package/.output/server/chunks/routes/api/markers/_id_.patch.mjs +76 -0
  435. package/.output/server/chunks/routes/api/markers/_id_.patch.mjs.map +1 -0
  436. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +46 -12
  437. package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
  438. package/.output/server/chunks/routes/api/projects/_id/ai-steps.get.mjs +3 -3
  439. package/.output/server/chunks/routes/api/projects/_id/ai-steps.get.mjs.map +1 -1
  440. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +2 -2
  441. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
  442. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +3 -3
  443. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
  444. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +3 -3
  445. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
  446. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +6 -6
  447. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
  448. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +1 -1
  449. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +2 -2
  450. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
  451. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +2 -2
  452. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
  453. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +3 -3
  454. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
  455. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +4 -4
  456. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
  457. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +6 -6
  458. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
  459. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +4 -4
  460. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -1
  461. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +2 -4
  462. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -1
  463. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +3 -4
  464. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -1
  465. package/.output/server/chunks/routes/api/projects/_id/selections/_key/resolve.get.mjs +75 -0
  466. package/.output/server/chunks/routes/api/projects/_id/selections/_key/resolve.get.mjs.map +1 -0
  467. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.delete.mjs +61 -0
  468. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.delete.mjs.map +1 -0
  469. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.get.mjs +59 -0
  470. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.get.mjs.map +1 -0
  471. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.patch.mjs +67 -0
  472. package/.output/server/chunks/routes/api/projects/_id/selections/_key_.patch.mjs.map +1 -0
  473. package/.output/server/chunks/routes/api/projects/_id/selections/analytics.get.mjs +55 -0
  474. package/.output/server/chunks/routes/api/projects/_id/selections/analytics.get.mjs.map +1 -0
  475. package/.output/server/chunks/routes/api/projects/_id/selections/impact.post.mjs +64 -0
  476. package/.output/server/chunks/routes/api/projects/_id/selections/impact.post.mjs.map +1 -0
  477. package/.output/server/chunks/routes/api/projects/_id/selections/preview.post.mjs +60 -0
  478. package/.output/server/chunks/routes/api/projects/_id/selections/preview.post.mjs.map +1 -0
  479. package/.output/server/chunks/routes/api/projects/_id/selections/suggestions.get.mjs +58 -0
  480. package/.output/server/chunks/routes/api/projects/_id/selections/suggestions.get.mjs.map +1 -0
  481. package/.output/server/chunks/routes/api/projects/_id/selections.get.mjs +55 -0
  482. package/.output/server/chunks/routes/api/projects/_id/selections.get.mjs.map +1 -0
  483. package/.output/server/chunks/routes/api/projects/_id/selections.post.mjs +69 -0
  484. package/.output/server/chunks/routes/api/projects/_id/selections.post.mjs.map +1 -0
  485. package/.output/server/chunks/routes/api/projects/_id/share-links.get.mjs +55 -0
  486. package/.output/server/chunks/routes/api/projects/_id/share-links.get.mjs.map +1 -0
  487. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +4 -5
  488. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
  489. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +3 -3
  490. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
  491. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +1 -1
  492. package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs +6 -5
  493. package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs.map +1 -1
  494. package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs +3 -3
  495. package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs.map +1 -1
  496. package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs +2 -2
  497. package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs.map +1 -1
  498. package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs +3 -3
  499. package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs.map +1 -1
  500. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +4 -5
  501. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
  502. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +2 -2
  503. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
  504. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +3 -4
  505. package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
  506. package/.output/server/chunks/routes/api/projects/_id_.patch.mjs +91 -0
  507. package/.output/server/chunks/routes/api/projects/_id_.patch.mjs.map +1 -0
  508. package/.output/server/chunks/routes/api/projects/menu.get.mjs +2 -2
  509. package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
  510. package/.output/server/chunks/routes/api/projects/overview.get.mjs +2 -2
  511. package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
  512. package/.output/server/chunks/routes/api/projects.get.mjs +3 -2
  513. package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
  514. package/.output/server/chunks/routes/api/search.get.mjs +1 -1
  515. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +1 -1
  516. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +1 -1
  517. package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +1 -1
  518. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +3 -2
  519. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
  520. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +2 -3
  521. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
  522. package/.output/server/chunks/routes/api/settings/ai.get.mjs +1 -1
  523. package/.output/server/chunks/routes/api/settings/ai.put.mjs +6 -6
  524. package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
  525. package/.output/server/chunks/routes/api/settings/auto-heal.get.mjs +59 -0
  526. package/.output/server/chunks/routes/api/settings/auto-heal.get.mjs.map +1 -0
  527. package/.output/server/chunks/routes/api/settings/auto-heal.put.mjs +65 -0
  528. package/.output/server/chunks/routes/api/settings/auto-heal.put.mjs.map +1 -0
  529. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +1 -1
  530. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +1 -1
  531. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +3 -3
  532. package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
  533. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +15 -2
  534. package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
  535. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +1 -1
  536. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +1 -1
  537. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +1 -1
  538. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +2 -2
  539. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
  540. package/.output/server/chunks/routes/api/setup-status.get.mjs +1 -1
  541. package/.output/server/chunks/routes/api/share-links/_id_.delete.mjs +60 -0
  542. package/.output/server/chunks/routes/api/share-links/_id_.delete.mjs.map +1 -0
  543. package/.output/server/chunks/routes/api/share-links/settings.get.mjs +53 -0
  544. package/.output/server/chunks/routes/api/share-links/settings.get.mjs.map +1 -0
  545. package/.output/server/chunks/routes/api/stream.get.mjs +1 -1
  546. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +3 -4
  547. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
  548. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +11 -8
  549. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
  550. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +3 -3
  551. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
  552. package/.output/server/chunks/routes/api/tags/_id_.patch.mjs +77 -0
  553. package/.output/server/chunks/routes/api/tags/_id_.patch.mjs.map +1 -0
  554. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +3 -3
  555. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs.map +1 -1
  556. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +3 -3
  557. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs.map +1 -1
  558. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +2 -2
  559. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
  560. package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs +2 -2
  561. package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs.map +1 -1
  562. package/.output/server/chunks/routes/api/test-functions/_id_.patch.mjs +71 -0
  563. package/.output/server/chunks/routes/api/test-functions/_id_.patch.mjs.map +1 -0
  564. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +8 -7
  565. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
  566. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +4 -4
  567. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
  568. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +1 -1
  569. package/.output/server/chunks/routes/api/test-run-cases/_id/dom-snapshot.get.mjs +65 -0
  570. package/.output/server/chunks/routes/api/test-run-cases/_id/dom-snapshot.get.mjs.map +1 -0
  571. package/.output/server/chunks/routes/api/test-run-cases/_id/environment-diff.get.mjs +54 -0
  572. package/.output/server/chunks/routes/api/test-run-cases/_id/environment-diff.get.mjs.map +1 -0
  573. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +2 -2
  574. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -1
  575. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-healing.get.mjs +57 -0
  576. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-healing.get.mjs.map +1 -0
  577. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-pick.post.mjs +63 -0
  578. package/.output/server/chunks/routes/api/test-run-cases/_id/locator-pick.post.mjs.map +1 -0
  579. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.get.mjs +54 -0
  580. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.get.mjs.map +1 -0
  581. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.post.mjs +91 -0
  582. package/.output/server/chunks/routes/api/test-run-cases/_id/share-links.post.mjs.map +1 -0
  583. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network-body.get.mjs +63 -0
  584. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network-body.get.mjs.map +1 -0
  585. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network.get.mjs +58 -0
  586. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-network.get.mjs.map +1 -0
  587. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-stacks.get.mjs +61 -0
  588. package/.output/server/chunks/routes/api/test-run-cases/_id/trace-stacks.get.mjs.map +1 -0
  589. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +3 -3
  590. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
  591. package/.output/server/chunks/routes/api/test-run-cases/_id/visual-diff.get.mjs +54 -0
  592. package/.output/server/chunks/routes/api/test-run-cases/_id/visual-diff.get.mjs.map +1 -0
  593. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +2 -2
  594. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
  595. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +8 -8
  596. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
  597. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +11 -11
  598. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
  599. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +69 -39
  600. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
  601. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +2 -2
  602. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
  603. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +10 -8
  604. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
  605. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +84 -12
  606. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -1
  607. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +3 -3
  608. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
  609. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +2 -2
  610. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
  611. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +3 -3
  612. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
  613. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +2 -2
  614. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
  615. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +9 -5
  616. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
  617. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +2 -2
  618. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
  619. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +2 -2
  620. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
  621. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +2 -2
  622. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
  623. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +3 -3
  624. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
  625. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +5 -5
  626. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -1
  627. package/.output/server/chunks/routes/api/test-runs/import.post.mjs +4 -4
  628. package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -1
  629. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +2 -2
  630. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
  631. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +18 -15
  632. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
  633. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +14 -11
  634. package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
  635. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +34 -25
  636. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
  637. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +26 -18
  638. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
  639. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +5 -2
  640. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
  641. package/.output/server/chunks/routes/api/traces/check.post.mjs +3 -3
  642. package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
  643. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +4 -4
  644. package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
  645. package/.output/server/chunks/routes/api/users/_id/index.get.mjs +4 -4
  646. package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
  647. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +4 -4
  648. package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
  649. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +7 -6
  650. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
  651. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +3 -3
  652. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
  653. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +6 -6
  654. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
  655. package/.output/server/chunks/routes/api/users/_id_.delete.mjs +6 -6
  656. package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
  657. package/.output/server/chunks/routes/api/users/_id_.patch.mjs +9 -12
  658. package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
  659. package/.output/server/chunks/routes/api/version.get.mjs +1 -1
  660. package/.output/server/chunks/routes/mcp.post.mjs +9 -4
  661. package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
  662. package/.output/server/chunks/routes/renderer.mjs +1 -1
  663. package/.output/server/chunks/routes/share/_token_.get.mjs +101 -0
  664. package/.output/server/chunks/routes/share/_token_.get.mjs.map +1 -0
  665. package/.output/server/chunks/tasks/sweep.mjs +7 -7
  666. package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
  667. package/.output/server/chunks/tasks/sweep2.mjs +7 -35
  668. package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
  669. package/.output/server/chunks/tasks/sweep3.mjs +95 -0
  670. package/.output/server/chunks/tasks/sweep3.mjs.map +1 -0
  671. package/.output/server/database/migrations/0046_strange_micromax.sql +1 -0
  672. package/.output/server/database/migrations/0047_lethal_white_tiger.sql +2 -0
  673. package/.output/server/database/migrations/0048_stormy_whizzer.sql +21 -0
  674. package/.output/server/database/migrations/0049_optimal_blue_blade.sql +22 -0
  675. package/.output/server/database/migrations/0050_rainy_snowbird.sql +1 -0
  676. package/.output/server/database/migrations/0051_brave_rafael_vega.sql +3 -0
  677. package/.output/server/database/migrations/0052_backfill_branch.sql +10 -0
  678. package/.output/server/database/migrations/0053_damp_dark_beast.sql +18 -0
  679. package/.output/server/database/migrations/meta/0046_snapshot.json +3786 -0
  680. package/.output/server/database/migrations/meta/0047_snapshot.json +3800 -0
  681. package/.output/server/database/migrations/meta/0048_snapshot.json +3935 -0
  682. package/.output/server/database/migrations/meta/0049_snapshot.json +4079 -0
  683. package/.output/server/database/migrations/meta/0050_snapshot.json +4086 -0
  684. package/.output/server/database/migrations/meta/0051_snapshot.json +4105 -0
  685. package/.output/server/database/migrations/meta/0052_snapshot.json +4105 -0
  686. package/.output/server/database/migrations/meta/0053_snapshot.json +4221 -0
  687. package/.output/server/database/migrations/meta/_journal.json +56 -0
  688. package/.output/server/database/migrations-pg/0047_boring_harry_osborn.sql +1 -0
  689. package/.output/server/database/migrations-pg/0048_right_gargoyle.sql +2 -0
  690. package/.output/server/database/migrations-pg/0049_plain_preak.sql +21 -0
  691. package/.output/server/database/migrations-pg/0050_shallow_mother_askani.sql +22 -0
  692. package/.output/server/database/migrations-pg/0051_military_drax.sql +1 -0
  693. package/.output/server/database/migrations-pg/0052_clean_patch.sql +3 -0
  694. package/.output/server/database/migrations-pg/0053_backfill_branch.sql +10 -0
  695. package/.output/server/database/migrations-pg/0054_smooth_malice.sql +18 -0
  696. package/.output/server/database/migrations-pg/meta/0047_snapshot.json +4492 -0
  697. package/.output/server/database/migrations-pg/meta/0048_snapshot.json +4504 -0
  698. package/.output/server/database/migrations-pg/meta/0049_snapshot.json +4667 -0
  699. package/.output/server/database/migrations-pg/meta/0050_snapshot.json +4853 -0
  700. package/.output/server/database/migrations-pg/meta/0051_snapshot.json +4859 -0
  701. package/.output/server/database/migrations-pg/meta/0052_snapshot.json +4898 -0
  702. package/.output/server/database/migrations-pg/meta/0053_snapshot.json +4898 -0
  703. package/.output/server/database/migrations-pg/meta/0054_snapshot.json +5043 -0
  704. package/.output/server/database/migrations-pg/meta/_journal.json +56 -0
  705. package/.output/server/index.mjs +1 -1
  706. package/.output/server/package.json +1 -53
  707. package/README.md +4 -4
  708. package/package.json +3 -3
  709. package/.output/public/_nuxt/5nOoVJzL.js +0 -1
  710. package/.output/public/_nuxt/6DSY_93j.js +0 -1
  711. package/.output/public/_nuxt/7vRR5W2L.js +0 -1
  712. package/.output/public/_nuxt/9Dtlg-K4.js +0 -1
  713. package/.output/public/_nuxt/9Yziijlb.js +0 -1
  714. package/.output/public/_nuxt/B-onBCAB.js +0 -1
  715. package/.output/public/_nuxt/B2bK5uNR.js +0 -1
  716. package/.output/public/_nuxt/B63B19Iv.js +0 -4
  717. package/.output/public/_nuxt/B77w1Eib.js +0 -1
  718. package/.output/public/_nuxt/BC5bqlfM.js +0 -1
  719. package/.output/public/_nuxt/BF5JDf9_.js +0 -1
  720. package/.output/public/_nuxt/BFVrl1ss.js +0 -1
  721. package/.output/public/_nuxt/BIHMeNW-.js +0 -1
  722. package/.output/public/_nuxt/BKqOGcst.js +0 -1
  723. package/.output/public/_nuxt/BLqooxh5.js +0 -1
  724. package/.output/public/_nuxt/BMfTUMYy.js +0 -1
  725. package/.output/public/_nuxt/BOrnSpTA.js +0 -1
  726. package/.output/public/_nuxt/BPQNVV4M.js +0 -1
  727. package/.output/public/_nuxt/BSKLNgre.js +0 -1
  728. package/.output/public/_nuxt/BTCWUyBX.js +0 -1
  729. package/.output/public/_nuxt/BUYmGTVP.js +0 -1
  730. package/.output/public/_nuxt/BWddBCom.js +0 -1
  731. package/.output/public/_nuxt/BYQ9lXQb.js +0 -1
  732. package/.output/public/_nuxt/BYWQ47QQ.js +0 -5
  733. package/.output/public/_nuxt/BYnqoVCE.js +0 -1
  734. package/.output/public/_nuxt/BaU2hm4B.js +0 -1
  735. package/.output/public/_nuxt/BbXvpkBp.js +0 -1
  736. package/.output/public/_nuxt/Bb_925DD.js +0 -1
  737. package/.output/public/_nuxt/BcHU1KNK.js +0 -1
  738. package/.output/public/_nuxt/BdUGUwvE.js +0 -1
  739. package/.output/public/_nuxt/BeQq85yJ.js +0 -5
  740. package/.output/public/_nuxt/Bg8yOdSf.js +0 -1
  741. package/.output/public/_nuxt/BhzfJaPC.js +0 -1
  742. package/.output/public/_nuxt/Bkb-0yS0.js +0 -7
  743. package/.output/public/_nuxt/BmweLu9g.js +0 -2
  744. package/.output/public/_nuxt/Boyv6hLW.js +0 -1
  745. package/.output/public/_nuxt/Bq4xEWLF.js +0 -5
  746. package/.output/public/_nuxt/BraJd4EA.js +0 -1
  747. package/.output/public/_nuxt/BvXrhZ8k.js +0 -1
  748. package/.output/public/_nuxt/Bw4oIhct.js +0 -1
  749. package/.output/public/_nuxt/BxSrScjV.js +0 -1
  750. package/.output/public/_nuxt/Byqt8JHG.js +0 -1
  751. package/.output/public/_nuxt/BzBaMPgu.js +0 -254
  752. package/.output/public/_nuxt/C1-8_6cB.js +0 -1
  753. package/.output/public/_nuxt/C7SG50jD.js +0 -1
  754. package/.output/public/_nuxt/C8WgBDU1.js +0 -1
  755. package/.output/public/_nuxt/C8uZoJVq.js +0 -1
  756. package/.output/public/_nuxt/CBQXv4bU.js +0 -4
  757. package/.output/public/_nuxt/CDEmotIt.js +0 -1
  758. package/.output/public/_nuxt/CIBOv3Ge.js +0 -2
  759. package/.output/public/_nuxt/CO7j4p5r.js +0 -1
  760. package/.output/public/_nuxt/COMhp7lz.js +0 -1
  761. package/.output/public/_nuxt/CPiLUjjx.js +0 -1
  762. package/.output/public/_nuxt/CTYlay1H.js +0 -1
  763. package/.output/public/_nuxt/CVEk4D8I.js +0 -1
  764. package/.output/public/_nuxt/CbuK1HIv.js +0 -167
  765. package/.output/public/_nuxt/CdLqOMvN.js +0 -1
  766. package/.output/public/_nuxt/CdM2qNYM.js +0 -2
  767. package/.output/public/_nuxt/Ch8sGLqE.js +0 -1
  768. package/.output/public/_nuxt/CkdznmkX.js +0 -1
  769. package/.output/public/_nuxt/Cmuwgbf4.js +0 -3
  770. package/.output/public/_nuxt/CnRNwiuE.js +0 -1
  771. package/.output/public/_nuxt/CnsaoeEq.js +0 -1
  772. package/.output/public/_nuxt/Cp0V2FeW.js +0 -1
  773. package/.output/public/_nuxt/Cvw4EFTy.js +0 -17
  774. package/.output/public/_nuxt/CwDej2Lz.js +0 -1
  775. package/.output/public/_nuxt/D-wlhH6J.js +0 -1
  776. package/.output/public/_nuxt/D5Mhpp98.js +0 -1
  777. package/.output/public/_nuxt/D7W_4Sqc.js +0 -1
  778. package/.output/public/_nuxt/D8ixf-ZR.js +0 -44
  779. package/.output/public/_nuxt/DBvdRbTA.js +0 -34
  780. package/.output/public/_nuxt/DDho3MJD.js +0 -1
  781. package/.output/public/_nuxt/DEGHW4pO.js +0 -1
  782. package/.output/public/_nuxt/DHSYRMJp.js +0 -1
  783. package/.output/public/_nuxt/DH_LEqhd.js +0 -2
  784. package/.output/public/_nuxt/DIqik40e.js +0 -1
  785. package/.output/public/_nuxt/DLwuL-qR.js +0 -1
  786. package/.output/public/_nuxt/DPDFGVb_.js +0 -5
  787. package/.output/public/_nuxt/DRNHuVn4.js +0 -2
  788. package/.output/public/_nuxt/DUtYU4Sb.js +0 -1
  789. package/.output/public/_nuxt/DWl73MJR.js +0 -2
  790. package/.output/public/_nuxt/DWz_bHNP.js +0 -1
  791. package/.output/public/_nuxt/D_SCB-z2.js +0 -1
  792. package/.output/public/_nuxt/D_j436ND.js +0 -1
  793. package/.output/public/_nuxt/DamzjN7l.js +0 -1
  794. package/.output/public/_nuxt/Db5xe__T.js +0 -1
  795. package/.output/public/_nuxt/DcUBmKKE.js +0 -1
  796. package/.output/public/_nuxt/DiP18sFE.js +0 -1
  797. package/.output/public/_nuxt/Die1200X.js +0 -1
  798. package/.output/public/_nuxt/DihSeDlY.js +0 -9
  799. package/.output/public/_nuxt/DkGXOZRW.js +0 -1
  800. package/.output/public/_nuxt/DnOtRv65.js +0 -1
  801. package/.output/public/_nuxt/DnV-BkUA.js +0 -1
  802. package/.output/public/_nuxt/DpeRrg68.js +0 -1
  803. package/.output/public/_nuxt/Dq6_-84R.js +0 -1
  804. package/.output/public/_nuxt/DqKFKS1b.js +0 -1
  805. package/.output/public/_nuxt/DrbO0dl5.js +0 -6
  806. package/.output/public/_nuxt/Ds8_6Fzl.js +0 -1
  807. package/.output/public/_nuxt/DvewDI9t.js +0 -1
  808. package/.output/public/_nuxt/E26Y1NWH.js +0 -1
  809. package/.output/public/_nuxt/Hp-_W7z4.js +0 -1
  810. package/.output/public/_nuxt/OanUGF_v.js +0 -1
  811. package/.output/public/_nuxt/RSS6R9Te.js +0 -79
  812. package/.output/public/_nuxt/VqLetC2g.js +0 -1
  813. package/.output/public/_nuxt/WCZdf9Ln.js +0 -1
  814. package/.output/public/_nuxt/Yl6iqHwK.js +0 -41
  815. package/.output/public/_nuxt/builds/meta/03f2d81b-8c58-4ea8-9a9d-7553c8ca4af6.json +0 -1
  816. package/.output/public/_nuxt/entry.DVKh2Fd6.css +0 -1
  817. package/.output/public/_nuxt/iUf7K_JR.js +0 -1
  818. package/.output/public/_nuxt/index.BiXg7rd-.css +0 -1
  819. package/.output/public/_nuxt/kDEwM7SQ.js +0 -1
  820. package/.output/public/_nuxt/knaDbxMJ.js +0 -1
  821. package/.output/public/_nuxt/lnpLc047.js +0 -1
  822. package/.output/public/_nuxt/mhvG7mu8.js +0 -1
  823. package/.output/public/_nuxt/qUaN2ZW8.js +0 -4
  824. package/.output/public/_nuxt/qeqzb80l.js +0 -1
  825. package/.output/public/_nuxt/uj92NYTx.js +0 -9
  826. package/.output/public/_nuxt/vOZZ2cLi.js +0 -1
  827. package/.output/public/_nuxt/zAFiz2Mg.js +0 -1
  828. package/.output/server/chunks/_/quarantine.mjs +0 -112
  829. package/.output/server/chunks/_/quarantine.mjs.map +0 -1
  830. package/.output/server/chunks/build/Alert-BhTWQzM5.mjs +0 -479
  831. package/.output/server/chunks/build/Alert-BhTWQzM5.mjs.map +0 -1
  832. package/.output/server/chunks/build/Breadcrumb-BJnPB2AW.mjs +0 -522
  833. package/.output/server/chunks/build/Breadcrumb-BJnPB2AW.mjs.map +0 -1
  834. package/.output/server/chunks/build/BreadcrumbNav-C6Cun6tF.mjs +0 -111
  835. package/.output/server/chunks/build/BreadcrumbNav-C6Cun6tF.mjs.map +0 -1
  836. package/.output/server/chunks/build/BrowserBadge-T1KRMIXA.mjs +0 -89
  837. package/.output/server/chunks/build/BrowserBadge-T1KRMIXA.mjs.map +0 -1
  838. package/.output/server/chunks/build/ChartCard-D_asI_WF.mjs +0 -77
  839. package/.output/server/chunks/build/ChartCard-D_asI_WF.mjs.map +0 -1
  840. package/.output/server/chunks/build/ChartMarkerTooltip-DscESDg7.mjs +0 -72
  841. package/.output/server/chunks/build/ChartMarkerTooltip-DscESDg7.mjs.map +0 -1
  842. package/.output/server/chunks/build/Checkbox-Y9ZiIRkJ.mjs +0 -746
  843. package/.output/server/chunks/build/Checkbox-Y9ZiIRkJ.mjs.map +0 -1
  844. package/.output/server/chunks/build/CodeBlock-Bnn_ps9O.mjs +0 -54
  845. package/.output/server/chunks/build/CodeBlock-Bnn_ps9O.mjs.map +0 -1
  846. package/.output/server/chunks/build/DashboardNavbar-D37dPEtR.mjs +0 -270
  847. package/.output/server/chunks/build/DashboardNavbar-D37dPEtR.mjs.map +0 -1
  848. package/.output/server/chunks/build/DashboardSidebarToggle-DzwsZHVx.mjs +0 -480
  849. package/.output/server/chunks/build/DashboardSidebarToggle-DzwsZHVx.mjs.map +0 -1
  850. package/.output/server/chunks/build/DataLocationCard-CUXgZQEs.mjs +0 -102
  851. package/.output/server/chunks/build/DataLocationCard-CUXgZQEs.mjs.map +0 -1
  852. package/.output/server/chunks/build/DesktopRunLocallyButton-BCmQklj6.mjs +0 -1122
  853. package/.output/server/chunks/build/DesktopRunLocallyButton-BCmQklj6.mjs.map +0 -1
  854. package/.output/server/chunks/build/DiagnosisPanel-haHS2azn.mjs +0 -1208
  855. package/.output/server/chunks/build/DiagnosisPanel-haHS2azn.mjs.map +0 -1
  856. package/.output/server/chunks/build/DiagnosisResult-DqTIOelM.mjs +0 -1524
  857. package/.output/server/chunks/build/DiagnosisResult-DqTIOelM.mjs.map +0 -1
  858. package/.output/server/chunks/build/DurationValue-D6fQEi5S.mjs +0 -43
  859. package/.output/server/chunks/build/DurationValue-D6fQEi5S.mjs.map +0 -1
  860. package/.output/server/chunks/build/EntityLinks-CRJQM9Vy.mjs +0 -325
  861. package/.output/server/chunks/build/EntityLinks-CRJQM9Vy.mjs.map +0 -1
  862. package/.output/server/chunks/build/EnvManagedBadge-hyelwXrw.mjs +0 -71
  863. package/.output/server/chunks/build/EnvManagedBadge-hyelwXrw.mjs.map +0 -1
  864. package/.output/server/chunks/build/FeatureUnavailable-CDw3__eq.mjs +0 -83
  865. package/.output/server/chunks/build/FeatureUnavailable-CDw3__eq.mjs.map +0 -1
  866. package/.output/server/chunks/build/FormField-8vSc-3mb.mjs +0 -282
  867. package/.output/server/chunks/build/FormField-8vSc-3mb.mjs.map +0 -1
  868. package/.output/server/chunks/build/GetStartedWizard-Dp_tjhry.mjs +0 -510
  869. package/.output/server/chunks/build/GetStartedWizard-Dp_tjhry.mjs.map +0 -1
  870. package/.output/server/chunks/build/HelpHint-Bfyo3ar6.mjs +0 -1048
  871. package/.output/server/chunks/build/HelpHint-Bfyo3ar6.mjs.map +0 -1
  872. package/.output/server/chunks/build/MetaStripGroup-C-cNBfC9.mjs +0 -193
  873. package/.output/server/chunks/build/MetaStripGroup-C-cNBfC9.mjs.map +0 -1
  874. package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs +0 -59
  875. package/.output/server/chunks/build/MiniRunBars-fgLMgRUp.mjs.map +0 -1
  876. package/.output/server/chunks/build/Modal-DcNzjvnm.mjs +0 -1472
  877. package/.output/server/chunks/build/Modal-DcNzjvnm.mjs.map +0 -1
  878. package/.output/server/chunks/build/NavigationMenu-DG6V0R9Y.mjs +0 -4155
  879. package/.output/server/chunks/build/NavigationMenu-DG6V0R9Y.mjs.map +0 -1
  880. package/.output/server/chunks/build/OpenInIdeLink-CLj2cTkc.mjs +0 -396
  881. package/.output/server/chunks/build/OpenInIdeLink-CLj2cTkc.mjs.map +0 -1
  882. package/.output/server/chunks/build/ProjectTestCasesTable-BNd5Fn_G.mjs +0 -2407
  883. package/.output/server/chunks/build/ProjectTestCasesTable-BNd5Fn_G.mjs.map +0 -1
  884. package/.output/server/chunks/build/RovingFocusItem-DkZadRuK.mjs +0 -100
  885. package/.output/server/chunks/build/RovingFocusItem-DkZadRuK.mjs.map +0 -1
  886. package/.output/server/chunks/build/RunReports-CnyGcU8K.mjs +0 -57
  887. package/.output/server/chunks/build/RunReports-CnyGcU8K.mjs.map +0 -1
  888. package/.output/server/chunks/build/RunStatusBadge-DTqX18X-.mjs +0 -59
  889. package/.output/server/chunks/build/RunStatusBadge-DTqX18X-.mjs.map +0 -1
  890. package/.output/server/chunks/build/SectionCard-taTpPtua.mjs +0 -142
  891. package/.output/server/chunks/build/SectionCard-taTpPtua.mjs.map +0 -1
  892. package/.output/server/chunks/build/Select-BChKOOsc.mjs +0 -3572
  893. package/.output/server/chunks/build/Select-BChKOOsc.mjs.map +0 -1
  894. package/.output/server/chunks/build/SelectMenu-DLkMyBsW.mjs +0 -4400
  895. package/.output/server/chunks/build/SelectMenu-DLkMyBsW.mjs.map +0 -1
  896. package/.output/server/chunks/build/Separator-Dn-4PN3P.mjs +0 -421
  897. package/.output/server/chunks/build/Separator-Dn-4PN3P.mjs.map +0 -1
  898. package/.output/server/chunks/build/SettingsField-BLO1C7uY.mjs +0 -174
  899. package/.output/server/chunks/build/SettingsField-BLO1C7uY.mjs.map +0 -1
  900. package/.output/server/chunks/build/Slideover-BiDJaQrt.mjs +0 -926
  901. package/.output/server/chunks/build/Slideover-BiDJaQrt.mjs.map +0 -1
  902. package/.output/server/chunks/build/Switch-Ca3fYrSH.mjs +0 -655
  903. package/.output/server/chunks/build/Switch-Ca3fYrSH.mjs.map +0 -1
  904. package/.output/server/chunks/build/Table-DQb34a0A.mjs +0 -949
  905. package/.output/server/chunks/build/Table-DQb34a0A.mjs.map +0 -1
  906. package/.output/server/chunks/build/Tabs-_ALhm_oG.mjs +0 -1058
  907. package/.output/server/chunks/build/Tabs-_ALhm_oG.mjs.map +0 -1
  908. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs +0 -31
  909. package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs.map +0 -1
  910. package/.output/server/chunks/build/TestCaseHistoryChart-D-TEUsZ8.mjs +0 -164
  911. package/.output/server/chunks/build/TestCaseHistoryChart-D-TEUsZ8.mjs.map +0 -1
  912. package/.output/server/chunks/build/TestStatusBar-CseETAdn.mjs +0 -109
  913. package/.output/server/chunks/build/TestStatusBar-CseETAdn.mjs.map +0 -1
  914. package/.output/server/chunks/build/Textarea-CXOoRq7y.mjs +0 -605
  915. package/.output/server/chunks/build/Textarea-CXOoRq7y.mjs.map +0 -1
  916. package/.output/server/chunks/build/Tooltip-trltUr5c.mjs +0 -874
  917. package/.output/server/chunks/build/Tooltip-trltUr5c.mjs.map +0 -1
  918. package/.output/server/chunks/build/VisuallyHiddenInput-CGURvg3N.mjs +0 -142
  919. package/.output/server/chunks/build/VisuallyHiddenInput-CGURvg3N.mjs.map +0 -1
  920. package/.output/server/chunks/build/_id_-B-G4eG5U.mjs +0 -4144
  921. package/.output/server/chunks/build/_id_-B-G4eG5U.mjs.map +0 -1
  922. package/.output/server/chunks/build/_id_-Cnzg8n21.mjs +0 -1416
  923. package/.output/server/chunks/build/_id_-Cnzg8n21.mjs.map +0 -1
  924. package/.output/server/chunks/build/_id_-Dp_d6gT7.mjs +0 -8666
  925. package/.output/server/chunks/build/_id_-Dp_d6gT7.mjs.map +0 -1
  926. package/.output/server/chunks/build/_id_-t2AWaYuK.mjs +0 -8126
  927. package/.output/server/chunks/build/_id_-t2AWaYuK.mjs.map +0 -1
  928. package/.output/server/chunks/build/about-BFsHkJwE.mjs +0 -698
  929. package/.output/server/chunks/build/about-BFsHkJwE.mjs.map +0 -1
  930. package/.output/server/chunks/build/account-CZAq8kVg.mjs +0 -920
  931. package/.output/server/chunks/build/account-CZAq8kVg.mjs.map +0 -1
  932. package/.output/server/chunks/build/ai-BGP3GcCR.mjs +0 -1850
  933. package/.output/server/chunks/build/ai-BGP3GcCR.mjs.map +0 -1
  934. package/.output/server/chunks/build/analytics-CXl5OWV-.mjs +0 -3567
  935. package/.output/server/chunks/build/analytics-CXl5OWV-.mjs.map +0 -1
  936. package/.output/server/chunks/build/compare-B2OB3zdd.mjs +0 -83
  937. package/.output/server/chunks/build/compare-B2OB3zdd.mjs.map +0 -1
  938. package/.output/server/chunks/build/db.client-DijpEH6i.mjs +0 -1101
  939. package/.output/server/chunks/build/db.client-DijpEH6i.mjs.map +0 -1
  940. package/.output/server/chunks/build/default-4ixAePum.mjs +0 -6494
  941. package/.output/server/chunks/build/default-4ixAePum.mjs.map +0 -1
  942. package/.output/server/chunks/build/docs-Cgsd01H9.mjs +0 -1181
  943. package/.output/server/chunks/build/docs-Cgsd01H9.mjs.map +0 -1
  944. package/.output/server/chunks/build/edit-BEQ-ozj9.mjs +0 -1600
  945. package/.output/server/chunks/build/edit-BEQ-ozj9.mjs.map +0 -1
  946. package/.output/server/chunks/build/fetch-B5TVXZ1s.mjs +0 -148
  947. package/.output/server/chunks/build/fetch-B5TVXZ1s.mjs.map +0 -1
  948. package/.output/server/chunks/build/forgot-password-mqE1mpDI.mjs +0 -297
  949. package/.output/server/chunks/build/forgot-password-mqE1mpDI.mjs.map +0 -1
  950. package/.output/server/chunks/build/help-content-Bc99BajS.mjs +0 -643
  951. package/.output/server/chunks/build/help-content-Bc99BajS.mjs.map +0 -1
  952. package/.output/server/chunks/build/import-DqDDTcSc.mjs +0 -1023
  953. package/.output/server/chunks/build/import-DqDDTcSc.mjs.map +0 -1
  954. package/.output/server/chunks/build/index-Bpdj6TXV.mjs +0 -93
  955. package/.output/server/chunks/build/index-Bpdj6TXV.mjs.map +0 -1
  956. package/.output/server/chunks/build/index-DBFsIsjA.mjs +0 -10713
  957. package/.output/server/chunks/build/index-DBFsIsjA.mjs.map +0 -1
  958. package/.output/server/chunks/build/index-DSufXCZq.mjs +0 -1168
  959. package/.output/server/chunks/build/index-DSufXCZq.mjs.map +0 -1
  960. package/.output/server/chunks/build/index-WXE60AXk.mjs +0 -1696
  961. package/.output/server/chunks/build/index-WXE60AXk.mjs.map +0 -1
  962. package/.output/server/chunks/build/index-okKjrRhL.mjs +0 -443
  963. package/.output/server/chunks/build/index-okKjrRhL.mjs.map +0 -1
  964. package/.output/server/chunks/build/index-styles.BmH47p9x.mjs +0 -8
  965. package/.output/server/chunks/build/index-styles.BmH47p9x.mjs.map +0 -1
  966. package/.output/server/chunks/build/isValueEqualOrExist-C-9DzL4K.mjs +0 -11
  967. package/.output/server/chunks/build/isValueEqualOrExist-C-9DzL4K.mjs.map +0 -1
  968. package/.output/server/chunks/build/login-eQ88UoBW.mjs +0 -827
  969. package/.output/server/chunks/build/login-eQ88UoBW.mjs.map +0 -1
  970. package/.output/server/chunks/build/mcp-frcSP2Zg.mjs +0 -1593
  971. package/.output/server/chunks/build/mcp-frcSP2Zg.mjs.map +0 -1
  972. package/.output/server/chunks/build/notifications-DAtRd5V6.mjs +0 -1136
  973. package/.output/server/chunks/build/notifications-DAtRd5V6.mjs.map +0 -1
  974. package/.output/server/chunks/build/performance-BcQzGXE7.mjs +0 -581
  975. package/.output/server/chunks/build/performance-BcQzGXE7.mjs.map +0 -1
  976. package/.output/server/chunks/build/pr-feedback-BHtgvegy.mjs +0 -370
  977. package/.output/server/chunks/build/pr-feedback-BHtgvegy.mjs.map +0 -1
  978. package/.output/server/chunks/build/reset-password-DMHrp14-.mjs +0 -355
  979. package/.output/server/chunks/build/reset-password-DMHrp14-.mjs.map +0 -1
  980. package/.output/server/chunks/build/settings-Bo5OETop.mjs +0 -281
  981. package/.output/server/chunks/build/settings-Bo5OETop.mjs.map +0 -1
  982. package/.output/server/chunks/build/settings-metadata-BHbsWQ2g.mjs +0 -154
  983. package/.output/server/chunks/build/settings-metadata-BHbsWQ2g.mjs.map +0 -1
  984. package/.output/server/chunks/build/setup-DAXcxuNY.mjs +0 -1065
  985. package/.output/server/chunks/build/setup-DAXcxuNY.mjs.map +0 -1
  986. package/.output/server/chunks/build/storage-BPK0fVwx.mjs +0 -361
  987. package/.output/server/chunks/build/storage-BPK0fVwx.mjs.map +0 -1
  988. package/.output/server/chunks/build/tags-CoxErA5m.mjs +0 -375
  989. package/.output/server/chunks/build/tags-CoxErA5m.mjs.map +0 -1
  990. package/.output/server/chunks/build/test-cases-D8rn-0le.mjs +0 -228
  991. package/.output/server/chunks/build/test-cases-D8rn-0le.mjs.map +0 -1
  992. package/.output/server/chunks/build/test-functions-pWs9mhbJ.mjs +0 -552
  993. package/.output/server/chunks/build/test-functions-pWs9mhbJ.mjs.map +0 -1
  994. package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs +0 -9
  995. package/.output/server/chunks/build/useAiStatus-UR8x-feE.mjs.map +0 -1
  996. package/.output/server/chunks/build/useChartMarkers-C0wSO0xk.mjs +0 -156
  997. package/.output/server/chunks/build/useChartMarkers-C0wSO0xk.mjs.map +0 -1
  998. package/.output/server/chunks/build/useCopyRich-BqVfhnoH.mjs +0 -5355
  999. package/.output/server/chunks/build/useCopyRich-BqVfhnoH.mjs.map +0 -1
  1000. package/.output/server/chunks/build/useDesktopDownload-l80DQJ9e.mjs +0 -46
  1001. package/.output/server/chunks/build/useDesktopDownload-l80DQJ9e.mjs.map +0 -1
  1002. package/.output/server/chunks/build/useDesktopLocalRuns-Dil3YzyU.mjs +0 -381
  1003. package/.output/server/chunks/build/useDesktopLocalRuns-Dil3YzyU.mjs.map +0 -1
  1004. package/.output/server/chunks/build/useDesktopProjectLink-BnIONB--.mjs +0 -84
  1005. package/.output/server/chunks/build/useDesktopProjectLink-BnIONB--.mjs.map +0 -1
  1006. package/.output/server/chunks/build/useFormControl-CXKztoWk.mjs +0 -9
  1007. package/.output/server/chunks/build/useFormControl-CXKztoWk.mjs.map +0 -1
  1008. package/.output/server/chunks/build/useOpenInIde-CbbYW3pd.mjs +0 -185
  1009. package/.output/server/chunks/build/useOpenInIde-CbbYW3pd.mjs.map +0 -1
  1010. package/.output/server/chunks/build/useSettingsNav-C6NpD4Ab.mjs +0 -19
  1011. package/.output/server/chunks/build/useSettingsNav-C6NpD4Ab.mjs.map +0 -1
  1012. package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs +0 -25
  1013. package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs.map +0 -1
  1014. package/.output/server/chunks/build/users-C2MuCf5G.mjs +0 -747
  1015. package/.output/server/chunks/build/users-C2MuCf5G.mjs.map +0 -1
  1016. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +0 -76
  1017. package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +0 -1
  1018. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +0 -89
  1019. package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +0 -1
  1020. package/.output/server/chunks/routes/api/tags/_id_.put.mjs +0 -77
  1021. package/.output/server/chunks/routes/api/tags/_id_.put.mjs.map +0 -1
  1022. package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs +0 -71
  1023. package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs.map +0 -1
  1024. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +0 -66
  1025. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +0 -1
  1026. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +0 -55
  1027. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +0 -1
  1028. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +0 -56
  1029. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +0 -1
  1030. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +0 -64
  1031. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +0 -1
  1032. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +0 -64
  1033. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +0 -1
  1034. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +0 -59
  1035. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +0 -1
  1036. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +0 -62
  1037. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +0 -1
  1038. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +0 -55
  1039. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +0 -1
  1040. package/.output/server/node_modules/.nitro/d3-array@2.12.1/dist/d3-array.js +0 -1182
  1041. package/.output/server/node_modules/.nitro/d3-array@2.12.1/package.json +0 -53
  1042. package/.output/server/node_modules/.nitro/d3-array@3.2.4/package.json +0 -61
  1043. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/array.js +0 -4
  1044. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/ascending.js +0 -3
  1045. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bin.js +0 -125
  1046. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bisect.js +0 -9
  1047. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/bisector.js +0 -56
  1048. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/blur.js +0 -115
  1049. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/constant.js +0 -3
  1050. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/count.js +0 -18
  1051. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/cross.js +0 -33
  1052. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/cumsum.js +0 -6
  1053. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/descending.js +0 -7
  1054. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/deviation.js +0 -6
  1055. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/difference.js +0 -11
  1056. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/disjoint.js +0 -15
  1057. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/every.js +0 -10
  1058. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/extent.js +0 -29
  1059. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/filter.js +0 -11
  1060. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/fsum.js +0 -69
  1061. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/greatest.js +0 -29
  1062. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/greatestIndex.js +0 -19
  1063. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/group.js +0 -65
  1064. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/groupSort.js +0 -10
  1065. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/identity.js +0 -3
  1066. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/index.js +0 -57
  1067. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/intersection.js +0 -19
  1068. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/least.js +0 -29
  1069. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/leastIndex.js +0 -19
  1070. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/map.js +0 -5
  1071. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/max.js +0 -20
  1072. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/maxIndex.js +0 -22
  1073. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/mean.js +0 -19
  1074. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/median.js +0 -9
  1075. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/merge.js +0 -9
  1076. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/min.js +0 -20
  1077. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/minIndex.js +0 -22
  1078. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/mode.js +0 -28
  1079. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/nice.js +0 -18
  1080. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/number.js +0 -20
  1081. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/pairs.js +0 -15
  1082. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/permute.js +0 -3
  1083. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/quantile.js +0 -47
  1084. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/quickselect.js +0 -53
  1085. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/range.js +0 -13
  1086. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/rank.js +0 -24
  1087. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/reduce.js +0 -14
  1088. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/reverse.js +0 -4
  1089. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/scan.js +0 -6
  1090. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/shuffle.js +0 -13
  1091. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/some.js +0 -10
  1092. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/sort.js +0 -39
  1093. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/subset.js +0 -5
  1094. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/sum.js +0 -18
  1095. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/superset.js +0 -19
  1096. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/freedmanDiaconis.js +0 -7
  1097. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/scott.js +0 -7
  1098. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/threshold/sturges.js +0 -5
  1099. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/ticks.js +0 -55
  1100. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/transpose.js +0 -15
  1101. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/union.js +0 -11
  1102. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/variance.js +0 -25
  1103. package/.output/server/node_modules/.nitro/d3-array@3.2.4/src/zip.js +0 -5
  1104. package/.output/server/node_modules/.nitro/d3-path@1.0.9/dist/d3-path.js +0 -141
  1105. package/.output/server/node_modules/.nitro/d3-path@1.0.9/package.json +0 -47
  1106. package/.output/server/node_modules/.nitro/d3-path@3.1.0/package.json +0 -54
  1107. package/.output/server/node_modules/.nitro/d3-path@3.1.0/src/index.js +0 -1
  1108. package/.output/server/node_modules/.nitro/d3-path@3.1.0/src/path.js +0 -156
  1109. package/.output/server/node_modules/.nitro/d3-shape@1.3.7/dist/d3-shape.js +0 -1949
  1110. package/.output/server/node_modules/.nitro/d3-shape@1.3.7/package.json +0 -48
  1111. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/package.json +0 -55
  1112. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/arc.js +0 -268
  1113. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/area.js +0 -112
  1114. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/areaRadial.js +0 -29
  1115. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/array.js +0 -7
  1116. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/constant.js +0 -5
  1117. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basis.js +0 -51
  1118. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basisClosed.js +0 -52
  1119. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/basisOpen.js +0 -39
  1120. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/bump.js +0 -75
  1121. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/bundle.js +0 -56
  1122. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinal.js +0 -61
  1123. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinalClosed.js +0 -61
  1124. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/cardinalOpen.js +0 -49
  1125. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRom.js +0 -88
  1126. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRomClosed.js +0 -74
  1127. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/catmullRomOpen.js +0 -62
  1128. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/linear.js +0 -31
  1129. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/linearClosed.js +0 -25
  1130. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/monotone.js +0 -104
  1131. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/natural.js +0 -65
  1132. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/radial.js +0 -36
  1133. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/curve/step.js +0 -53
  1134. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/descending.js +0 -3
  1135. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/identity.js +0 -3
  1136. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/index.js +0 -53
  1137. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/line.js +0 -58
  1138. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/lineRadial.js +0 -19
  1139. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/link.js +0 -73
  1140. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/math.js +0 -20
  1141. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/noop.js +0 -1
  1142. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/diverging.js +0 -14
  1143. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/expand.js +0 -10
  1144. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/none.js +0 -9
  1145. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/silhouette.js +0 -10
  1146. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/offset/wiggle.js +0 -24
  1147. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/appearance.js +0 -12
  1148. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/ascending.js +0 -12
  1149. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/descending.js +0 -5
  1150. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/insideOut.js +0 -27
  1151. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/none.js +0 -5
  1152. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/order/reverse.js +0 -5
  1153. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/path.js +0 -19
  1154. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/pie.js +0 -80
  1155. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/point.js +0 -7
  1156. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/pointRadial.js +0 -3
  1157. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/stack.js +0 -58
  1158. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/asterisk.js +0 -17
  1159. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/circle.js +0 -9
  1160. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/cross.js +0 -20
  1161. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/diamond.js +0 -16
  1162. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/diamond2.js +0 -12
  1163. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/plus.js +0 -11
  1164. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/square.js +0 -9
  1165. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/square2.js +0 -12
  1166. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/star.js +0 -24
  1167. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/times.js +0 -11
  1168. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/triangle.js +0 -13
  1169. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/triangle2.js +0 -15
  1170. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol/wye.js +0 -25
  1171. package/.output/server/node_modules/.nitro/d3-shape@3.2.0/src/symbol.js +0 -66
  1172. package/.output/server/node_modules/@emotion/cache/dist/emotion-cache.cjs.js +0 -503
  1173. package/.output/server/node_modules/@emotion/cache/package.json +0 -100
  1174. package/.output/server/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.cjs.js +0 -148
  1175. package/.output/server/node_modules/@emotion/css/create-instance/package.json +0 -9
  1176. package/.output/server/node_modules/@emotion/css/dist/emotion-css.cjs.js +0 -33
  1177. package/.output/server/node_modules/@emotion/css/dist/emotion-css.cjs.mjs +0 -12
  1178. package/.output/server/node_modules/@emotion/css/package.json +0 -106
  1179. package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.dev.js +0 -59
  1180. package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.js +0 -7
  1181. package/.output/server/node_modules/@emotion/hash/dist/emotion-hash.cjs.prod.js +0 -59
  1182. package/.output/server/node_modules/@emotion/hash/package.json +0 -29
  1183. package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.dev.js +0 -13
  1184. package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.js +0 -7
  1185. package/.output/server/node_modules/@emotion/memoize/dist/emotion-memoize.cjs.prod.js +0 -13
  1186. package/.output/server/node_modules/@emotion/memoize/package.json +0 -32
  1187. package/.output/server/node_modules/@emotion/serialize/dist/emotion-serialize.cjs.js +0 -246
  1188. package/.output/server/node_modules/@emotion/serialize/package.json +0 -54
  1189. package/.output/server/node_modules/@emotion/sheet/dist/emotion-sheet.cjs.js +0 -144
  1190. package/.output/server/node_modules/@emotion/sheet/package.json +0 -47
  1191. package/.output/server/node_modules/@emotion/unitless/dist/emotion-unitless.cjs.js +0 -56
  1192. package/.output/server/node_modules/@emotion/unitless/package.json +0 -29
  1193. package/.output/server/node_modules/@emotion/utils/dist/emotion-utils.cjs.js +0 -60
  1194. package/.output/server/node_modules/@emotion/utils/package.json +0 -65
  1195. package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.dev.js +0 -20
  1196. package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.js +0 -7
  1197. package/.output/server/node_modules/@emotion/weak-memoize/dist/emotion-weak-memoize.cjs.prod.js +0 -20
  1198. package/.output/server/node_modules/@emotion/weak-memoize/package.json +0 -32
  1199. package/.output/server/node_modules/@juggle/resize-observer/lib/exports/resize-observer.umd.js +0 -512
  1200. package/.output/server/node_modules/@juggle/resize-observer/package.json +0 -69
  1201. package/.output/server/node_modules/@unovis/dagre-layout/dist/acyclic.js +0 -73
  1202. package/.output/server/node_modules/@unovis/dagre-layout/dist/add-border-segments.js +0 -48
  1203. package/.output/server/node_modules/@unovis/dagre-layout/dist/coordinate-system.js +0 -89
  1204. package/.output/server/node_modules/@unovis/dagre-layout/dist/data/list.js +0 -61
  1205. package/.output/server/node_modules/@unovis/dagre-layout/dist/greedy-fas.js +0 -143
  1206. package/.output/server/node_modules/@unovis/dagre-layout/dist/index.js +0 -9
  1207. package/.output/server/node_modules/@unovis/dagre-layout/dist/layout.js +0 -514
  1208. package/.output/server/node_modules/@unovis/dagre-layout/dist/nesting-graph.js +0 -149
  1209. package/.output/server/node_modules/@unovis/dagre-layout/dist/normalize.js +0 -111
  1210. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/add-subgraph-constraints.js +0 -57
  1211. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/barycenter.js +0 -35
  1212. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/build-layer-graph.js +0 -86
  1213. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/cross-count.js +0 -90
  1214. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/index.js +0 -83
  1215. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/init-order.js +0 -54
  1216. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/resolve-conflicts.js +0 -132
  1217. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/sort-subgraph.js +0 -83
  1218. package/.output/server/node_modules/@unovis/dagre-layout/dist/order/sort.js +0 -70
  1219. package/.output/server/node_modules/@unovis/dagre-layout/dist/parent-dummy-chains.js +0 -94
  1220. package/.output/server/node_modules/@unovis/dagre-layout/dist/position/bk.js +0 -451
  1221. package/.output/server/node_modules/@unovis/dagre-layout/dist/position/index.js +0 -35
  1222. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/feasible-tree.js +0 -94
  1223. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/index.js +0 -56
  1224. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/network-simplex.js +0 -246
  1225. package/.output/server/node_modules/@unovis/dagre-layout/dist/rank/util.js +0 -56
  1226. package/.output/server/node_modules/@unovis/dagre-layout/dist/util.js +0 -291
  1227. package/.output/server/node_modules/@unovis/dagre-layout/package.json +0 -73
  1228. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/components.js +0 -32
  1229. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dfs.js +0 -53
  1230. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dijkstra-all.js +0 -11
  1231. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/dijkstra.js +0 -57
  1232. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/find-cycles.js +0 -11
  1233. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/floyd-warshall.js +0 -56
  1234. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/index.js +0 -12
  1235. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/is-acyclic.js +0 -18
  1236. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/postorder.js +0 -8
  1237. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/preorder.js +0 -8
  1238. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/prim.js +0 -56
  1239. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/tarjan.js +0 -49
  1240. package/.output/server/node_modules/@unovis/graphlibrary/dist/alg/topsort.js +0 -42
  1241. package/.output/server/node_modules/@unovis/graphlibrary/dist/data/priority-queue.js +0 -179
  1242. package/.output/server/node_modules/@unovis/graphlibrary/dist/graph.js +0 -572
  1243. package/.output/server/node_modules/@unovis/graphlibrary/dist/index.js +0 -6
  1244. package/.output/server/node_modules/@unovis/graphlibrary/dist/json.js +0 -88
  1245. package/.output/server/node_modules/@unovis/graphlibrary/package.json +0 -63
  1246. package/.output/server/node_modules/@unovis/ts/components/annotations/config.js +0 -6
  1247. package/.output/server/node_modules/@unovis/ts/components/annotations/index.js +0 -125
  1248. package/.output/server/node_modules/@unovis/ts/components/annotations/style.js +0 -54
  1249. package/.output/server/node_modules/@unovis/ts/components/annotations/types.js +0 -2
  1250. package/.output/server/node_modules/@unovis/ts/components/area/config.js +0 -7
  1251. package/.output/server/node_modules/@unovis/ts/components/area/index.js +0 -197
  1252. package/.output/server/node_modules/@unovis/ts/components/area/style.js +0 -50
  1253. package/.output/server/node_modules/@unovis/ts/components/axis/config.js +0 -7
  1254. package/.output/server/node_modules/@unovis/ts/components/axis/index.js +0 -500
  1255. package/.output/server/node_modules/@unovis/ts/components/axis/style.js +0 -121
  1256. package/.output/server/node_modules/@unovis/ts/components/axis/types.js +0 -8
  1257. package/.output/server/node_modules/@unovis/ts/components/brush/config.js +0 -15
  1258. package/.output/server/node_modules/@unovis/ts/components/brush/index.js +0 -204
  1259. package/.output/server/node_modules/@unovis/ts/components/brush/style.js +0 -70
  1260. package/.output/server/node_modules/@unovis/ts/components/brush/types.js +0 -8
  1261. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/config.js +0 -17
  1262. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/index.js +0 -87
  1263. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/modules/shape.js +0 -102
  1264. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/style.js +0 -75
  1265. package/.output/server/node_modules/@unovis/ts/components/bullet-legend/types.js +0 -12
  1266. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/config.js +0 -8
  1267. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/index.js +0 -245
  1268. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/label.js +0 -113
  1269. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/layout.js +0 -93
  1270. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/link.js +0 -69
  1271. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/modules/node.js +0 -52
  1272. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/style.js +0 -97
  1273. package/.output/server/node_modules/@unovis/ts/components/chord-diagram/types.js +0 -8
  1274. package/.output/server/node_modules/@unovis/ts/components/crosshair/config.js +0 -6
  1275. package/.output/server/node_modules/@unovis/ts/components/crosshair/index.js +0 -287
  1276. package/.output/server/node_modules/@unovis/ts/components/crosshair/style.js +0 -30
  1277. package/.output/server/node_modules/@unovis/ts/components/crosshair/types.js +0 -2
  1278. package/.output/server/node_modules/@unovis/ts/components/donut/config.js +0 -7
  1279. package/.output/server/node_modules/@unovis/ts/components/donut/constants.js +0 -8
  1280. package/.output/server/node_modules/@unovis/ts/components/donut/index.js +0 -138
  1281. package/.output/server/node_modules/@unovis/ts/components/donut/modules/arc.js +0 -59
  1282. package/.output/server/node_modules/@unovis/ts/components/donut/style.js +0 -70
  1283. package/.output/server/node_modules/@unovis/ts/components/flow-legend/config.js +0 -17
  1284. package/.output/server/node_modules/@unovis/ts/components/flow-legend/index.js +0 -96
  1285. package/.output/server/node_modules/@unovis/ts/components/flow-legend/style.js +0 -98
  1286. package/.output/server/node_modules/@unovis/ts/components/flow-legend/types.js +0 -8
  1287. package/.output/server/node_modules/@unovis/ts/components/free-brush/config.js +0 -15
  1288. package/.output/server/node_modules/@unovis/ts/components/free-brush/index.js +0 -193
  1289. package/.output/server/node_modules/@unovis/ts/components/free-brush/style.js +0 -51
  1290. package/.output/server/node_modules/@unovis/ts/components/free-brush/types.js +0 -10
  1291. package/.output/server/node_modules/@unovis/ts/components/graph/config.js +0 -23
  1292. package/.output/server/node_modules/@unovis/ts/components/graph/index.js +0 -914
  1293. package/.output/server/node_modules/@unovis/ts/components/graph/modules/layout-helpers.js +0 -69
  1294. package/.output/server/node_modules/@unovis/ts/components/graph/modules/layout.js +0 -429
  1295. package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/helper.js +0 -64
  1296. package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/index.js +0 -294
  1297. package/.output/server/node_modules/@unovis/ts/components/graph/modules/link/style.js +0 -120
  1298. package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/helper.js +0 -129
  1299. package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/index.js +0 -326
  1300. package/.output/server/node_modules/@unovis/ts/components/graph/modules/node/style.js +0 -313
  1301. package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/helper.js +0 -111
  1302. package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/index.js +0 -99
  1303. package/.output/server/node_modules/@unovis/ts/components/graph/modules/panel/style.js +0 -126
  1304. package/.output/server/node_modules/@unovis/ts/components/graph/modules/shape.js +0 -78
  1305. package/.output/server/node_modules/@unovis/ts/components/graph/modules/zoom-levels.js +0 -10
  1306. package/.output/server/node_modules/@unovis/ts/components/graph/style.js +0 -87
  1307. package/.output/server/node_modules/@unovis/ts/components/graph/types.js +0 -45
  1308. package/.output/server/node_modules/@unovis/ts/components/grouped-bar/config.js +0 -7
  1309. package/.output/server/node_modules/@unovis/ts/components/grouped-bar/index.js +0 -239
  1310. package/.output/server/node_modules/@unovis/ts/components/grouped-bar/style.js +0 -45
  1311. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/config.js +0 -7
  1312. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/index.js +0 -221
  1313. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/renderer-utils.js +0 -15
  1314. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/renderer.js +0 -117
  1315. package/.output/server/node_modules/@unovis/ts/components/leaflet-flow-map/shaders.js +0 -27
  1316. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/config.js +0 -28
  1317. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/index.js +0 -706
  1318. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/leaflet.css.js +0 -5
  1319. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/clusterBackground.js +0 -27
  1320. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/donut.js +0 -25
  1321. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/map.js +0 -155
  1322. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/node.js +0 -158
  1323. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/selectionRing.js +0 -41
  1324. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/modules/utils.js +0 -214
  1325. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/leaflet-maplibre-gl.js +0 -273
  1326. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/map-style.js +0 -15
  1327. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-dark-theme.json.js +0 -40
  1328. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-light-theme.json.js +0 -40
  1329. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl/mapboxgl-settings.json.js +0 -4981
  1330. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl-layer.js +0 -27
  1331. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/mapboxgl-utils.js +0 -38
  1332. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/renderer/maplibre-gl.css.js +0 -4
  1333. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/style.js +0 -183
  1334. package/.output/server/node_modules/@unovis/ts/components/leaflet-map/types.js +0 -15
  1335. package/.output/server/node_modules/@unovis/ts/components/line/config.js +0 -7
  1336. package/.output/server/node_modules/@unovis/ts/components/line/index.js +0 -191
  1337. package/.output/server/node_modules/@unovis/ts/components/line/style.js +0 -46
  1338. package/.output/server/node_modules/@unovis/ts/components/nested-donut/config.js +0 -8
  1339. package/.output/server/node_modules/@unovis/ts/components/nested-donut/index.js +0 -218
  1340. package/.output/server/node_modules/@unovis/ts/components/nested-donut/modules/arc.js +0 -51
  1341. package/.output/server/node_modules/@unovis/ts/components/nested-donut/modules/label.js +0 -82
  1342. package/.output/server/node_modules/@unovis/ts/components/nested-donut/style.js +0 -80
  1343. package/.output/server/node_modules/@unovis/ts/components/nested-donut/types.js +0 -14
  1344. package/.output/server/node_modules/@unovis/ts/components/plotband/config.js +0 -9
  1345. package/.output/server/node_modules/@unovis/ts/components/plotband/constants.js +0 -413
  1346. package/.output/server/node_modules/@unovis/ts/components/plotband/index.js +0 -92
  1347. package/.output/server/node_modules/@unovis/ts/components/plotband/style.js +0 -39
  1348. package/.output/server/node_modules/@unovis/ts/components/plotband/types.js +0 -27
  1349. package/.output/server/node_modules/@unovis/ts/components/plotline/config.js +0 -9
  1350. package/.output/server/node_modules/@unovis/ts/components/plotline/constants.js +0 -58
  1351. package/.output/server/node_modules/@unovis/ts/components/plotline/index.js +0 -102
  1352. package/.output/server/node_modules/@unovis/ts/components/plotline/style.js +0 -43
  1353. package/.output/server/node_modules/@unovis/ts/components/plotline/types.js +0 -33
  1354. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/config.js +0 -11
  1355. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/index.js +0 -69
  1356. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/style.js +0 -39
  1357. package/.output/server/node_modules/@unovis/ts/components/rolling-pin-legend/types.js +0 -2
  1358. package/.output/server/node_modules/@unovis/ts/components/sankey/config.js +0 -18
  1359. package/.output/server/node_modules/@unovis/ts/components/sankey/index.js +0 -637
  1360. package/.output/server/node_modules/@unovis/ts/components/sankey/modules/label.js +0 -206
  1361. package/.output/server/node_modules/@unovis/ts/components/sankey/modules/link.js +0 -99
  1362. package/.output/server/node_modules/@unovis/ts/components/sankey/modules/node.js +0 -206
  1363. package/.output/server/node_modules/@unovis/ts/components/sankey/style.js +0 -172
  1364. package/.output/server/node_modules/@unovis/ts/components/sankey/types.js +0 -46
  1365. package/.output/server/node_modules/@unovis/ts/components/scatter/config.js +0 -10
  1366. package/.output/server/node_modules/@unovis/ts/components/scatter/index.js +0 -200
  1367. package/.output/server/node_modules/@unovis/ts/components/scatter/modules/point.js +0 -87
  1368. package/.output/server/node_modules/@unovis/ts/components/scatter/modules/utils.js +0 -112
  1369. package/.output/server/node_modules/@unovis/ts/components/scatter/style.js +0 -56
  1370. package/.output/server/node_modules/@unovis/ts/components/stacked-bar/config.js +0 -7
  1371. package/.output/server/node_modules/@unovis/ts/components/stacked-bar/index.js +0 -244
  1372. package/.output/server/node_modules/@unovis/ts/components/stacked-bar/style.js +0 -44
  1373. package/.output/server/node_modules/@unovis/ts/components/timeline/config.js +0 -20
  1374. package/.output/server/node_modules/@unovis/ts/components/timeline/constants.js +0 -6
  1375. package/.output/server/node_modules/@unovis/ts/components/timeline/index.js +0 -568
  1376. package/.output/server/node_modules/@unovis/ts/components/timeline/style.js +0 -126
  1377. package/.output/server/node_modules/@unovis/ts/components/timeline/types.js +0 -2
  1378. package/.output/server/node_modules/@unovis/ts/components/timeline/utils.js +0 -16
  1379. package/.output/server/node_modules/@unovis/ts/components/tooltip/config.js +0 -21
  1380. package/.output/server/node_modules/@unovis/ts/components/tooltip/index.js +0 -365
  1381. package/.output/server/node_modules/@unovis/ts/components/tooltip/style.js +0 -76
  1382. package/.output/server/node_modules/@unovis/ts/components/topojson-map/config.js +0 -11
  1383. package/.output/server/node_modules/@unovis/ts/components/topojson-map/index.js +0 -1294
  1384. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/background.js +0 -13
  1385. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/donut.js +0 -29
  1386. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/flow.js +0 -134
  1387. package/.output/server/node_modules/@unovis/ts/components/topojson-map/modules/selectionRing.js +0 -33
  1388. package/.output/server/node_modules/@unovis/ts/components/topojson-map/style.js +0 -229
  1389. package/.output/server/node_modules/@unovis/ts/components/topojson-map/types.js +0 -87
  1390. package/.output/server/node_modules/@unovis/ts/components/topojson-map/utils.js +0 -324
  1391. package/.output/server/node_modules/@unovis/ts/components/treemap/config.js +0 -7
  1392. package/.output/server/node_modules/@unovis/ts/components/treemap/index.js +0 -296
  1393. package/.output/server/node_modules/@unovis/ts/components/treemap/style.js +0 -68
  1394. package/.output/server/node_modules/@unovis/ts/components/treemap/types.js +0 -2
  1395. package/.output/server/node_modules/@unovis/ts/components/vis-controls/config.js +0 -10
  1396. package/.output/server/node_modules/@unovis/ts/components/vis-controls/index.js +0 -55
  1397. package/.output/server/node_modules/@unovis/ts/components/vis-controls/style.js +0 -76
  1398. package/.output/server/node_modules/@unovis/ts/components/vis-controls/types.js +0 -8
  1399. package/.output/server/node_modules/@unovis/ts/components/xy-labels/config.js +0 -8
  1400. package/.output/server/node_modules/@unovis/ts/components/xy-labels/index.js +0 -88
  1401. package/.output/server/node_modules/@unovis/ts/components/xy-labels/modules/label.js +0 -107
  1402. package/.output/server/node_modules/@unovis/ts/components/xy-labels/style.js +0 -56
  1403. package/.output/server/node_modules/@unovis/ts/components/xy-labels/types.js +0 -9
  1404. package/.output/server/node_modules/@unovis/ts/components.js +0 -35
  1405. package/.output/server/node_modules/@unovis/ts/containers/single-container/config.js +0 -7
  1406. package/.output/server/node_modules/@unovis/ts/containers/single-container/index.js +0 -151
  1407. package/.output/server/node_modules/@unovis/ts/containers/xy-container/config.js +0 -7
  1408. package/.output/server/node_modules/@unovis/ts/containers/xy-container/index.js +0 -370
  1409. package/.output/server/node_modules/@unovis/ts/containers.js +0 -4
  1410. package/.output/server/node_modules/@unovis/ts/core/component/config.js +0 -8
  1411. package/.output/server/node_modules/@unovis/ts/core/component/index.js +0 -136
  1412. package/.output/server/node_modules/@unovis/ts/core/component/types.js +0 -2
  1413. package/.output/server/node_modules/@unovis/ts/core/container/config.js +0 -26
  1414. package/.output/server/node_modules/@unovis/ts/core/container/index.js +0 -135
  1415. package/.output/server/node_modules/@unovis/ts/core/xy-component/config.js +0 -7
  1416. package/.output/server/node_modules/@unovis/ts/core/xy-component/index.js +0 -78
  1417. package/.output/server/node_modules/@unovis/ts/data-models/core.js +0 -14
  1418. package/.output/server/node_modules/@unovis/ts/data-models/graph.js +0 -128
  1419. package/.output/server/node_modules/@unovis/ts/data-models/index.js +0 -5
  1420. package/.output/server/node_modules/@unovis/ts/data-models/map-graph.js +0 -59
  1421. package/.output/server/node_modules/@unovis/ts/data-models/map.js +0 -12
  1422. package/.output/server/node_modules/@unovis/ts/data-models/series.js +0 -19
  1423. package/.output/server/node_modules/@unovis/ts/index.js +0 -81
  1424. package/.output/server/node_modules/@unovis/ts/package.json +0 -127
  1425. package/.output/server/node_modules/@unovis/ts/styles/colors.js +0 -24
  1426. package/.output/server/node_modules/@unovis/ts/styles/index.js +0 -66
  1427. package/.output/server/node_modules/@unovis/ts/styles/patterns.js +0 -54
  1428. package/.output/server/node_modules/@unovis/ts/styles/sizes.js +0 -117
  1429. package/.output/server/node_modules/@unovis/ts/types/accessor.js +0 -2
  1430. package/.output/server/node_modules/@unovis/ts/types/component.js +0 -16
  1431. package/.output/server/node_modules/@unovis/ts/types/curve.js +0 -46
  1432. package/.output/server/node_modules/@unovis/ts/types/data.js +0 -9
  1433. package/.output/server/node_modules/@unovis/ts/types/direction.js +0 -10
  1434. package/.output/server/node_modules/@unovis/ts/types/graph.js +0 -2
  1435. package/.output/server/node_modules/@unovis/ts/types/map.js +0 -2
  1436. package/.output/server/node_modules/@unovis/ts/types/misc.js +0 -2
  1437. package/.output/server/node_modules/@unovis/ts/types/position.js +0 -28
  1438. package/.output/server/node_modules/@unovis/ts/types/scale.js +0 -28
  1439. package/.output/server/node_modules/@unovis/ts/types/shape.js +0 -11
  1440. package/.output/server/node_modules/@unovis/ts/types/spacing.js +0 -2
  1441. package/.output/server/node_modules/@unovis/ts/types/svg.js +0 -22
  1442. package/.output/server/node_modules/@unovis/ts/types/symbol.js +0 -24
  1443. package/.output/server/node_modules/@unovis/ts/types/text.js +0 -26
  1444. package/.output/server/node_modules/@unovis/ts/types.js +0 -37
  1445. package/.output/server/node_modules/@unovis/ts/utils/color.js +0 -66
  1446. package/.output/server/node_modules/@unovis/ts/utils/d3.js +0 -16
  1447. package/.output/server/node_modules/@unovis/ts/utils/data.js +0 -314
  1448. package/.output/server/node_modules/@unovis/ts/utils/html.js +0 -23
  1449. package/.output/server/node_modules/@unovis/ts/utils/index.js +0 -14
  1450. package/.output/server/node_modules/@unovis/ts/utils/map.js +0 -20
  1451. package/.output/server/node_modules/@unovis/ts/utils/misc.js +0 -151
  1452. package/.output/server/node_modules/@unovis/ts/utils/path.js +0 -261
  1453. package/.output/server/node_modules/@unovis/ts/utils/resize-observer.js +0 -6
  1454. package/.output/server/node_modules/@unovis/ts/utils/scale.js +0 -4
  1455. package/.output/server/node_modules/@unovis/ts/utils/style.js +0 -30
  1456. package/.output/server/node_modules/@unovis/ts/utils/svg.js +0 -61
  1457. package/.output/server/node_modules/@unovis/ts/utils/text.js +0 -506
  1458. package/.output/server/node_modules/@unovis/ts/utils/theme.js +0 -4
  1459. package/.output/server/node_modules/@unovis/ts/utils/to-px.js +0 -110
  1460. package/.output/server/node_modules/@unovis/ts/utils/type.js +0 -2
  1461. package/.output/server/node_modules/@unovis/vue/components/annotations/index.js +0 -34
  1462. package/.output/server/node_modules/@unovis/vue/components/area/index.js +0 -52
  1463. package/.output/server/node_modules/@unovis/vue/components/axis/index.js +0 -71
  1464. package/.output/server/node_modules/@unovis/vue/components/brush/index.js +0 -51
  1465. package/.output/server/node_modules/@unovis/vue/components/chord-diagram/index.js +0 -48
  1466. package/.output/server/node_modules/@unovis/vue/components/crosshair/index.js +0 -28
  1467. package/.output/server/node_modules/@unovis/vue/components/donut/index.js +0 -52
  1468. package/.output/server/node_modules/@unovis/vue/components/free-brush/index.js +0 -50
  1469. package/.output/server/node_modules/@unovis/vue/components/graph/index.js +0 -124
  1470. package/.output/server/node_modules/@unovis/vue/components/grouped-bar/index.js +0 -50
  1471. package/.output/server/node_modules/@unovis/vue/components/line/index.js +0 -48
  1472. package/.output/server/node_modules/@unovis/vue/components/nested-donut/index.js +0 -53
  1473. package/.output/server/node_modules/@unovis/vue/components/plotband/index.js +0 -49
  1474. package/.output/server/node_modules/@unovis/vue/components/plotline/index.js +0 -50
  1475. package/.output/server/node_modules/@unovis/vue/components/sankey/index.js +0 -91
  1476. package/.output/server/node_modules/@unovis/vue/components/scatter/index.js +0 -53
  1477. package/.output/server/node_modules/@unovis/vue/components/stacked-bar/index.js +0 -50
  1478. package/.output/server/node_modules/@unovis/vue/components/timeline/index.js +0 -28
  1479. package/.output/server/node_modules/@unovis/vue/components/tooltip/index.js +0 -42
  1480. package/.output/server/node_modules/@unovis/vue/components/topojson-map/index.js +0 -95
  1481. package/.output/server/node_modules/@unovis/vue/components/treemap/index.js +0 -60
  1482. package/.output/server/node_modules/@unovis/vue/components/xy-labels/index.js +0 -54
  1483. package/.output/server/node_modules/@unovis/vue/containers/single-container/index.js +0 -67
  1484. package/.output/server/node_modules/@unovis/vue/containers/xy-container/index.js +0 -98
  1485. package/.output/server/node_modules/@unovis/vue/html-components/bullet-legend/index.js +0 -44
  1486. package/.output/server/node_modules/@unovis/vue/html-components/flow-legend/index.js +0 -46
  1487. package/.output/server/node_modules/@unovis/vue/html-components/leaflet-flow-map/index.js +0 -96
  1488. package/.output/server/node_modules/@unovis/vue/html-components/leaflet-map/index.js +0 -83
  1489. package/.output/server/node_modules/@unovis/vue/html-components/rolling-pin-legend/index.js +0 -40
  1490. package/.output/server/node_modules/@unovis/vue/index.js +0 -96
  1491. package/.output/server/node_modules/@unovis/vue/package.json +0 -81
  1492. package/.output/server/node_modules/@unovis/vue/utils/context.js +0 -9
  1493. package/.output/server/node_modules/@unovis/vue/utils/props.js +0 -19
  1494. package/.output/server/node_modules/d3-axis/package.json +0 -54
  1495. package/.output/server/node_modules/d3-axis/src/axis.js +0 -174
  1496. package/.output/server/node_modules/d3-axis/src/identity.js +0 -3
  1497. package/.output/server/node_modules/d3-axis/src/index.js +0 -6
  1498. package/.output/server/node_modules/d3-brush/package.json +0 -55
  1499. package/.output/server/node_modules/d3-brush/src/brush.js +0 -621
  1500. package/.output/server/node_modules/d3-brush/src/constant.js +0 -1
  1501. package/.output/server/node_modules/d3-brush/src/event.js +0 -16
  1502. package/.output/server/node_modules/d3-brush/src/index.js +0 -6
  1503. package/.output/server/node_modules/d3-brush/src/noevent.js +0 -8
  1504. package/.output/server/node_modules/d3-chord/package.json +0 -54
  1505. package/.output/server/node_modules/d3-chord/src/array.js +0 -1
  1506. package/.output/server/node_modules/d3-chord/src/chord.js +0 -122
  1507. package/.output/server/node_modules/d3-chord/src/constant.js +0 -5
  1508. package/.output/server/node_modules/d3-chord/src/index.js +0 -2
  1509. package/.output/server/node_modules/d3-chord/src/math.js +0 -8
  1510. package/.output/server/node_modules/d3-chord/src/ribbon.js +0 -134
  1511. package/.output/server/node_modules/d3-color/package.json +0 -54
  1512. package/.output/server/node_modules/d3-color/src/color.js +0 -396
  1513. package/.output/server/node_modules/d3-color/src/cubehelix.js +0 -61
  1514. package/.output/server/node_modules/d3-color/src/define.js +0 -10
  1515. package/.output/server/node_modules/d3-color/src/index.js +0 -3
  1516. package/.output/server/node_modules/d3-color/src/lab.js +0 -123
  1517. package/.output/server/node_modules/d3-color/src/math.js +0 -2
  1518. package/.output/server/node_modules/d3-dispatch/package.json +0 -50
  1519. package/.output/server/node_modules/d3-dispatch/src/dispatch.js +0 -84
  1520. package/.output/server/node_modules/d3-dispatch/src/index.js +0 -1
  1521. package/.output/server/node_modules/d3-drag/package.json +0 -54
  1522. package/.output/server/node_modules/d3-drag/src/constant.js +0 -1
  1523. package/.output/server/node_modules/d3-drag/src/drag.js +0 -194
  1524. package/.output/server/node_modules/d3-drag/src/event.js +0 -28
  1525. package/.output/server/node_modules/d3-drag/src/index.js +0 -2
  1526. package/.output/server/node_modules/d3-drag/src/nodrag.js +0 -28
  1527. package/.output/server/node_modules/d3-drag/src/noevent.js +0 -13
  1528. package/.output/server/node_modules/d3-ease/package.json +0 -51
  1529. package/.output/server/node_modules/d3-ease/src/back.js +0 -37
  1530. package/.output/server/node_modules/d3-ease/src/bounce.js +0 -22
  1531. package/.output/server/node_modules/d3-ease/src/circle.js +0 -11
  1532. package/.output/server/node_modules/d3-ease/src/cubic.js +0 -11
  1533. package/.output/server/node_modules/d3-ease/src/elastic.js +0 -46
  1534. package/.output/server/node_modules/d3-ease/src/exp.js +0 -13
  1535. package/.output/server/node_modules/d3-ease/src/index.js +0 -66
  1536. package/.output/server/node_modules/d3-ease/src/linear.js +0 -1
  1537. package/.output/server/node_modules/d3-ease/src/math.js +0 -4
  1538. package/.output/server/node_modules/d3-ease/src/poly.js +0 -37
  1539. package/.output/server/node_modules/d3-ease/src/quad.js +0 -11
  1540. package/.output/server/node_modules/d3-ease/src/sin.js +0 -14
  1541. package/.output/server/node_modules/d3-force/package.json +0 -58
  1542. package/.output/server/node_modules/d3-force/src/center.js +0 -40
  1543. package/.output/server/node_modules/d3-force/src/collide.js +0 -100
  1544. package/.output/server/node_modules/d3-force/src/constant.js +0 -5
  1545. package/.output/server/node_modules/d3-force/src/index.js +0 -8
  1546. package/.output/server/node_modules/d3-force/src/jiggle.js +0 -3
  1547. package/.output/server/node_modules/d3-force/src/lcg.js +0 -9
  1548. package/.output/server/node_modules/d3-force/src/link.js +0 -117
  1549. package/.output/server/node_modules/d3-force/src/manyBody.js +0 -116
  1550. package/.output/server/node_modules/d3-force/src/radial.js +0 -57
  1551. package/.output/server/node_modules/d3-force/src/simulation.js +0 -156
  1552. package/.output/server/node_modules/d3-force/src/x.js +0 -41
  1553. package/.output/server/node_modules/d3-force/src/y.js +0 -41
  1554. package/.output/server/node_modules/d3-format/package.json +0 -56
  1555. package/.output/server/node_modules/d3-format/src/defaultLocale.js +0 -18
  1556. package/.output/server/node_modules/d3-format/src/exponent.js +0 -5
  1557. package/.output/server/node_modules/d3-format/src/formatDecimal.js +0 -20
  1558. package/.output/server/node_modules/d3-format/src/formatGroup.js +0 -18
  1559. package/.output/server/node_modules/d3-format/src/formatNumerals.js +0 -7
  1560. package/.output/server/node_modules/d3-format/src/formatPrefixAuto.js +0 -16
  1561. package/.output/server/node_modules/d3-format/src/formatRounded.js +0 -11
  1562. package/.output/server/node_modules/d3-format/src/formatSpecifier.js +0 -47
  1563. package/.output/server/node_modules/d3-format/src/formatTrim.js +0 -11
  1564. package/.output/server/node_modules/d3-format/src/formatTypes.js +0 -19
  1565. package/.output/server/node_modules/d3-format/src/identity.js +0 -3
  1566. package/.output/server/node_modules/d3-format/src/index.js +0 -6
  1567. package/.output/server/node_modules/d3-format/src/locale.js +0 -147
  1568. package/.output/server/node_modules/d3-format/src/precisionFixed.js +0 -5
  1569. package/.output/server/node_modules/d3-format/src/precisionPrefix.js +0 -5
  1570. package/.output/server/node_modules/d3-format/src/precisionRound.js +0 -6
  1571. package/.output/server/node_modules/d3-geo/package.json +0 -59
  1572. package/.output/server/node_modules/d3-geo/src/area.js +0 -76
  1573. package/.output/server/node_modules/d3-geo/src/bounds.js +0 -179
  1574. package/.output/server/node_modules/d3-geo/src/cartesian.js +0 -33
  1575. package/.output/server/node_modules/d3-geo/src/centroid.js +0 -143
  1576. package/.output/server/node_modules/d3-geo/src/circle.js +0 -72
  1577. package/.output/server/node_modules/d3-geo/src/clip/antimeridian.js +0 -92
  1578. package/.output/server/node_modules/d3-geo/src/clip/buffer.js +0 -24
  1579. package/.output/server/node_modules/d3-geo/src/clip/circle.js +0 -177
  1580. package/.output/server/node_modules/d3-geo/src/clip/extent.js +0 -20
  1581. package/.output/server/node_modules/d3-geo/src/clip/index.js +0 -131
  1582. package/.output/server/node_modules/d3-geo/src/clip/line.js +0 -59
  1583. package/.output/server/node_modules/d3-geo/src/clip/rectangle.js +0 -168
  1584. package/.output/server/node_modules/d3-geo/src/clip/rejoin.js +0 -103
  1585. package/.output/server/node_modules/d3-geo/src/compose.js +0 -12
  1586. package/.output/server/node_modules/d3-geo/src/constant.js +0 -5
  1587. package/.output/server/node_modules/d3-geo/src/contains.js +0 -97
  1588. package/.output/server/node_modules/d3-geo/src/distance.js +0 -10
  1589. package/.output/server/node_modules/d3-geo/src/graticule.js +0 -105
  1590. package/.output/server/node_modules/d3-geo/src/identity.js +0 -1
  1591. package/.output/server/node_modules/d3-geo/src/index.js +0 -34
  1592. package/.output/server/node_modules/d3-geo/src/interpolate.js +0 -36
  1593. package/.output/server/node_modules/d3-geo/src/length.js +0 -53
  1594. package/.output/server/node_modules/d3-geo/src/math.js +0 -36
  1595. package/.output/server/node_modules/d3-geo/src/noop.js +0 -1
  1596. package/.output/server/node_modules/d3-geo/src/path/area.js +0 -50
  1597. package/.output/server/node_modules/d3-geo/src/path/bounds.js +0 -28
  1598. package/.output/server/node_modules/d3-geo/src/path/centroid.js +0 -100
  1599. package/.output/server/node_modules/d3-geo/src/path/context.js +0 -45
  1600. package/.output/server/node_modules/d3-geo/src/path/index.js +0 -76
  1601. package/.output/server/node_modules/d3-geo/src/path/measure.js +0 -45
  1602. package/.output/server/node_modules/d3-geo/src/path/string.js +0 -86
  1603. package/.output/server/node_modules/d3-geo/src/pointEqual.js +0 -5
  1604. package/.output/server/node_modules/d3-geo/src/polygonContains.js +0 -74
  1605. package/.output/server/node_modules/d3-geo/src/projection/albers.js +0 -10
  1606. package/.output/server/node_modules/d3-geo/src/projection/albersUsa.js +0 -111
  1607. package/.output/server/node_modules/d3-geo/src/projection/azimuthal.js +0 -27
  1608. package/.output/server/node_modules/d3-geo/src/projection/azimuthalEqualArea.js +0 -17
  1609. package/.output/server/node_modules/d3-geo/src/projection/azimuthalEquidistant.js +0 -17
  1610. package/.output/server/node_modules/d3-geo/src/projection/conic.js +0 -15
  1611. package/.output/server/node_modules/d3-geo/src/projection/conicConformal.js +0 -38
  1612. package/.output/server/node_modules/d3-geo/src/projection/conicEqualArea.js +0 -33
  1613. package/.output/server/node_modules/d3-geo/src/projection/conicEquidistant.js +0 -32
  1614. package/.output/server/node_modules/d3-geo/src/projection/cylindricalEqualArea.js +0 -15
  1615. package/.output/server/node_modules/d3-geo/src/projection/equalEarth.js +0 -36
  1616. package/.output/server/node_modules/d3-geo/src/projection/equirectangular.js +0 -12
  1617. package/.output/server/node_modules/d3-geo/src/projection/fit.js +0 -47
  1618. package/.output/server/node_modules/d3-geo/src/projection/gnomonic.js +0 -16
  1619. package/.output/server/node_modules/d3-geo/src/projection/identity.js +0 -85
  1620. package/.output/server/node_modules/d3-geo/src/projection/index.js +0 -177
  1621. package/.output/server/node_modules/d3-geo/src/projection/mercator.js +0 -52
  1622. package/.output/server/node_modules/d3-geo/src/projection/naturalEarth1.js +0 -28
  1623. package/.output/server/node_modules/d3-geo/src/projection/orthographic.js +0 -15
  1624. package/.output/server/node_modules/d3-geo/src/projection/resample.js +0 -102
  1625. package/.output/server/node_modules/d3-geo/src/projection/stereographic.js +0 -18
  1626. package/.output/server/node_modules/d3-geo/src/projection/transverseMercator.js +0 -27
  1627. package/.output/server/node_modules/d3-geo/src/rotation.js +0 -79
  1628. package/.output/server/node_modules/d3-geo/src/stream.js +0 -69
  1629. package/.output/server/node_modules/d3-geo/src/transform.js +0 -26
  1630. package/.output/server/node_modules/d3-geo-projection/package.json +0 -79
  1631. package/.output/server/node_modules/d3-geo-projection/src/airy.js +0 -49
  1632. package/.output/server/node_modules/d3-geo-projection/src/aitoff.js +0 -45
  1633. package/.output/server/node_modules/d3-geo-projection/src/armadillo.js +0 -83
  1634. package/.output/server/node_modules/d3-geo-projection/src/august.js +0 -39
  1635. package/.output/server/node_modules/d3-geo-projection/src/baker.js +0 -27
  1636. package/.output/server/node_modules/d3-geo-projection/src/berghaus.js +0 -77
  1637. package/.output/server/node_modules/d3-geo-projection/src/bertin.js +0 -44
  1638. package/.output/server/node_modules/d3-geo-projection/src/boggs.js +0 -26
  1639. package/.output/server/node_modules/d3-geo-projection/src/bonne.js +0 -29
  1640. package/.output/server/node_modules/d3-geo-projection/src/bottomley.js +0 -34
  1641. package/.output/server/node_modules/d3-geo-projection/src/bromley.js +0 -10
  1642. package/.output/server/node_modules/d3-geo-projection/src/chamberlin.js +0 -120
  1643. package/.output/server/node_modules/d3-geo-projection/src/collignon.js +0 -18
  1644. package/.output/server/node_modules/d3-geo-projection/src/craig.js +0 -26
  1645. package/.output/server/node_modules/d3-geo-projection/src/craster.js +0 -18
  1646. package/.output/server/node_modules/d3-geo-projection/src/cylindricalEqualArea.js +0 -22
  1647. package/.output/server/node_modules/d3-geo-projection/src/cylindricalStereographic.js +0 -21
  1648. package/.output/server/node_modules/d3-geo-projection/src/eckert1.js +0 -24
  1649. package/.output/server/node_modules/d3-geo-projection/src/eckert2.js +0 -23
  1650. package/.output/server/node_modules/d3-geo-projection/src/eckert3.js +0 -23
  1651. package/.output/server/node_modules/d3-geo-projection/src/eckert4.js +0 -30
  1652. package/.output/server/node_modules/d3-geo-projection/src/eckert5.js +0 -23
  1653. package/.output/server/node_modules/d3-geo-projection/src/eckert6.js +0 -28
  1654. package/.output/server/node_modules/d3-geo-projection/src/eisenlohr.js +0 -70
  1655. package/.output/server/node_modules/d3-geo-projection/src/elliptic.js +0 -118
  1656. package/.output/server/node_modules/d3-geo-projection/src/fahey.js +0 -19
  1657. package/.output/server/node_modules/d3-geo-projection/src/foucaut.js +0 -17
  1658. package/.output/server/node_modules/d3-geo-projection/src/foucautSinusoidal.js +0 -49
  1659. package/.output/server/node_modules/d3-geo-projection/src/gilbert.js +0 -64
  1660. package/.output/server/node_modules/d3-geo-projection/src/gingery.js +0 -146
  1661. package/.output/server/node_modules/d3-geo-projection/src/ginzburg4.js +0 -9
  1662. package/.output/server/node_modules/d3-geo-projection/src/ginzburg5.js +0 -9
  1663. package/.output/server/node_modules/d3-geo-projection/src/ginzburg6.js +0 -10
  1664. package/.output/server/node_modules/d3-geo-projection/src/ginzburg8.js +0 -33
  1665. package/.output/server/node_modules/d3-geo-projection/src/ginzburg9.js +0 -9
  1666. package/.output/server/node_modules/d3-geo-projection/src/ginzburgPolyconic.js +0 -56
  1667. package/.output/server/node_modules/d3-geo-projection/src/gringorten.js +0 -147
  1668. package/.output/server/node_modules/d3-geo-projection/src/guyou.js +0 -53
  1669. package/.output/server/node_modules/d3-geo-projection/src/hammer.js +0 -51
  1670. package/.output/server/node_modules/d3-geo-projection/src/hammerRetroazimuthal.js +0 -109
  1671. package/.output/server/node_modules/d3-geo-projection/src/healpix.js +0 -99
  1672. package/.output/server/node_modules/d3-geo-projection/src/hill.js +0 -66
  1673. package/.output/server/node_modules/d3-geo-projection/src/homolosine.js +0 -22
  1674. package/.output/server/node_modules/d3-geo-projection/src/hufnagel.js +0 -91
  1675. package/.output/server/node_modules/d3-geo-projection/src/hyperelliptical.js +0 -73
  1676. package/.output/server/node_modules/d3-geo-projection/src/index.js +0 -95
  1677. package/.output/server/node_modules/d3-geo-projection/src/integrate.js +0 -91
  1678. package/.output/server/node_modules/d3-geo-projection/src/interrupted/boggs.js +0 -17
  1679. package/.output/server/node_modules/d3-geo-projection/src/interrupted/homolosine.js +0 -17
  1680. package/.output/server/node_modules/d3-geo-projection/src/interrupted/index.js +0 -147
  1681. package/.output/server/node_modules/d3-geo-projection/src/interrupted/mollweide.js +0 -17
  1682. package/.output/server/node_modules/d3-geo-projection/src/interrupted/mollweideHemispheres.js +0 -16
  1683. package/.output/server/node_modules/d3-geo-projection/src/interrupted/quarticAuthalic.js +0 -16
  1684. package/.output/server/node_modules/d3-geo-projection/src/interrupted/sinuMollweide.js +0 -19
  1685. package/.output/server/node_modules/d3-geo-projection/src/interrupted/sinusoidal.js +0 -18
  1686. package/.output/server/node_modules/d3-geo-projection/src/kavrayskiy7.js +0 -15
  1687. package/.output/server/node_modules/d3-geo-projection/src/lagrange.js +0 -47
  1688. package/.output/server/node_modules/d3-geo-projection/src/larrivee.js +0 -46
  1689. package/.output/server/node_modules/d3-geo-projection/src/laskowski.js +0 -37
  1690. package/.output/server/node_modules/d3-geo-projection/src/littrow.js +0 -29
  1691. package/.output/server/node_modules/d3-geo-projection/src/loximuthal.js +0 -34
  1692. package/.output/server/node_modules/d3-geo-projection/src/math.js +0 -64
  1693. package/.output/server/node_modules/d3-geo-projection/src/miller.js +0 -15
  1694. package/.output/server/node_modules/d3-geo-projection/src/modifiedStereographic.js +0 -122
  1695. package/.output/server/node_modules/d3-geo-projection/src/mollweide.js +0 -29
  1696. package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarParabolic.js +0 -26
  1697. package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarQuartic.js +0 -29
  1698. package/.output/server/node_modules/d3-geo-projection/src/mtFlatPolarSinusoidal.js +0 -31
  1699. package/.output/server/node_modules/d3-geo-projection/src/naturalEarth2.js +0 -29
  1700. package/.output/server/node_modules/d3-geo-projection/src/nellHammer.js +0 -26
  1701. package/.output/server/node_modules/d3-geo-projection/src/newton.js +0 -64
  1702. package/.output/server/node_modules/d3-geo-projection/src/nicolosi.js +0 -64
  1703. package/.output/server/node_modules/d3-geo-projection/src/noop.js +0 -1
  1704. package/.output/server/node_modules/d3-geo-projection/src/parallel1.js +0 -14
  1705. package/.output/server/node_modules/d3-geo-projection/src/patterson.js +0 -41
  1706. package/.output/server/node_modules/d3-geo-projection/src/polyconic.js +0 -35
  1707. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/butterfly.js +0 -31
  1708. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/collignon.js +0 -43
  1709. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/index.js +0 -173
  1710. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/matrix.js +0 -64
  1711. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/octahedron.js +0 -21
  1712. package/.output/server/node_modules/d3-geo-projection/src/polyhedral/waterman.js +0 -123
  1713. package/.output/server/node_modules/d3-geo-projection/src/project/clockwise.js +0 -8
  1714. package/.output/server/node_modules/d3-geo-projection/src/project/contains.js +0 -11
  1715. package/.output/server/node_modules/d3-geo-projection/src/project/index.js +0 -136
  1716. package/.output/server/node_modules/d3-geo-projection/src/quantize.js +0 -70
  1717. package/.output/server/node_modules/d3-geo-projection/src/quincuncial/gringorten.js +0 -7
  1718. package/.output/server/node_modules/d3-geo-projection/src/quincuncial/index.js +0 -40
  1719. package/.output/server/node_modules/d3-geo-projection/src/quincuncial/peirce.js +0 -7
  1720. package/.output/server/node_modules/d3-geo-projection/src/rectangularPolyconic.js +0 -44
  1721. package/.output/server/node_modules/d3-geo-projection/src/robinson.js +0 -88
  1722. package/.output/server/node_modules/d3-geo-projection/src/satellite.js +0 -71
  1723. package/.output/server/node_modules/d3-geo-projection/src/sinuMollweide.js +0 -26
  1724. package/.output/server/node_modules/d3-geo-projection/src/sinusoidal.js +0 -15
  1725. package/.output/server/node_modules/d3-geo-projection/src/square.js +0 -24
  1726. package/.output/server/node_modules/d3-geo-projection/src/stitch.js +0 -215
  1727. package/.output/server/node_modules/d3-geo-projection/src/times.js +0 -25
  1728. package/.output/server/node_modules/d3-geo-projection/src/twoPoint.js +0 -26
  1729. package/.output/server/node_modules/d3-geo-projection/src/twoPointAzimuthal.js +0 -29
  1730. package/.output/server/node_modules/d3-geo-projection/src/twoPointEquidistant.js +0 -47
  1731. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten.js +0 -47
  1732. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten2.js +0 -34
  1733. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten3.js +0 -30
  1734. package/.output/server/node_modules/d3-geo-projection/src/vanDerGrinten4.js +0 -63
  1735. package/.output/server/node_modules/d3-geo-projection/src/wagner.js +0 -98
  1736. package/.output/server/node_modules/d3-geo-projection/src/wagner4.js +0 -13
  1737. package/.output/server/node_modules/d3-geo-projection/src/wagner6.js +0 -15
  1738. package/.output/server/node_modules/d3-geo-projection/src/wiechel.js +0 -34
  1739. package/.output/server/node_modules/d3-geo-projection/src/winkel3.js +0 -45
  1740. package/.output/server/node_modules/d3-hierarchy/package.json +0 -56
  1741. package/.output/server/node_modules/d3-hierarchy/src/accessors.js +0 -8
  1742. package/.output/server/node_modules/d3-hierarchy/src/array.js +0 -20
  1743. package/.output/server/node_modules/d3-hierarchy/src/cluster.js +0 -84
  1744. package/.output/server/node_modules/d3-hierarchy/src/constant.js +0 -9
  1745. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/ancestors.js +0 -7
  1746. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/count.js +0 -12
  1747. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/descendants.js +0 -3
  1748. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/each.js +0 -7
  1749. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/eachAfter.js +0 -15
  1750. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/eachBefore.js +0 -12
  1751. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/find.js +0 -8
  1752. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/index.js +0 -91
  1753. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/iterator.js +0 -14
  1754. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/leaves.js +0 -9
  1755. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/links.js +0 -9
  1756. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/path.js +0 -30
  1757. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/sort.js +0 -7
  1758. package/.output/server/node_modules/d3-hierarchy/src/hierarchy/sum.js +0 -9
  1759. package/.output/server/node_modules/d3-hierarchy/src/index.js +0 -15
  1760. package/.output/server/node_modules/d3-hierarchy/src/lcg.js +0 -9
  1761. package/.output/server/node_modules/d3-hierarchy/src/pack/enclose.js +0 -123
  1762. package/.output/server/node_modules/d3-hierarchy/src/pack/index.js +0 -81
  1763. package/.output/server/node_modules/d3-hierarchy/src/pack/siblings.js +0 -120
  1764. package/.output/server/node_modules/d3-hierarchy/src/partition.js +0 -52
  1765. package/.output/server/node_modules/d3-hierarchy/src/stratify.js +0 -145
  1766. package/.output/server/node_modules/d3-hierarchy/src/tree.js +0 -237
  1767. package/.output/server/node_modules/d3-hierarchy/src/treemap/binary.js +0 -46
  1768. package/.output/server/node_modules/d3-hierarchy/src/treemap/dice.js +0 -12
  1769. package/.output/server/node_modules/d3-hierarchy/src/treemap/index.js +0 -94
  1770. package/.output/server/node_modules/d3-hierarchy/src/treemap/resquarify.js +0 -36
  1771. package/.output/server/node_modules/d3-hierarchy/src/treemap/round.js +0 -6
  1772. package/.output/server/node_modules/d3-hierarchy/src/treemap/slice.js +0 -12
  1773. package/.output/server/node_modules/d3-hierarchy/src/treemap/sliceDice.js +0 -6
  1774. package/.output/server/node_modules/d3-hierarchy/src/treemap/squarify.js +0 -66
  1775. package/.output/server/node_modules/d3-interpolate/package.json +0 -53
  1776. package/.output/server/node_modules/d3-interpolate/src/array.js +0 -22
  1777. package/.output/server/node_modules/d3-interpolate/src/basis.js +0 -19
  1778. package/.output/server/node_modules/d3-interpolate/src/basisClosed.js +0 -13
  1779. package/.output/server/node_modules/d3-interpolate/src/color.js +0 -29
  1780. package/.output/server/node_modules/d3-interpolate/src/constant.js +0 -1
  1781. package/.output/server/node_modules/d3-interpolate/src/cubehelix.js +0 -29
  1782. package/.output/server/node_modules/d3-interpolate/src/date.js +0 -6
  1783. package/.output/server/node_modules/d3-interpolate/src/discrete.js +0 -6
  1784. package/.output/server/node_modules/d3-interpolate/src/hcl.js +0 -21
  1785. package/.output/server/node_modules/d3-interpolate/src/hsl.js +0 -21
  1786. package/.output/server/node_modules/d3-interpolate/src/hue.js +0 -9
  1787. package/.output/server/node_modules/d3-interpolate/src/index.js +0 -21
  1788. package/.output/server/node_modules/d3-interpolate/src/lab.js +0 -16
  1789. package/.output/server/node_modules/d3-interpolate/src/number.js +0 -5
  1790. package/.output/server/node_modules/d3-interpolate/src/numberArray.js +0 -14
  1791. package/.output/server/node_modules/d3-interpolate/src/object.js +0 -23
  1792. package/.output/server/node_modules/d3-interpolate/src/piecewise.js +0 -11
  1793. package/.output/server/node_modules/d3-interpolate/src/quantize.js +0 -5
  1794. package/.output/server/node_modules/d3-interpolate/src/rgb.js +0 -55
  1795. package/.output/server/node_modules/d3-interpolate/src/round.js +0 -5
  1796. package/.output/server/node_modules/d3-interpolate/src/string.js +0 -64
  1797. package/.output/server/node_modules/d3-interpolate/src/transform/decompose.js +0 -26
  1798. package/.output/server/node_modules/d3-interpolate/src/transform/index.js +0 -63
  1799. package/.output/server/node_modules/d3-interpolate/src/transform/parse.js +0 -18
  1800. package/.output/server/node_modules/d3-interpolate/src/value.js +0 -22
  1801. package/.output/server/node_modules/d3-interpolate/src/zoom.js +0 -71
  1802. package/.output/server/node_modules/d3-interpolate-path/build/d3-interpolate-path.js +0 -782
  1803. package/.output/server/node_modules/d3-interpolate-path/package.json +0 -52
  1804. package/.output/server/node_modules/d3-quadtree/package.json +0 -49
  1805. package/.output/server/node_modules/d3-quadtree/src/add.js +0 -84
  1806. package/.output/server/node_modules/d3-quadtree/src/cover.js +0 -43
  1807. package/.output/server/node_modules/d3-quadtree/src/data.js +0 -7
  1808. package/.output/server/node_modules/d3-quadtree/src/extent.js +0 -5
  1809. package/.output/server/node_modules/d3-quadtree/src/find.js +0 -70
  1810. package/.output/server/node_modules/d3-quadtree/src/index.js +0 -1
  1811. package/.output/server/node_modules/d3-quadtree/src/quad.js +0 -7
  1812. package/.output/server/node_modules/d3-quadtree/src/quadtree.js +0 -73
  1813. package/.output/server/node_modules/d3-quadtree/src/remove.js +0 -62
  1814. package/.output/server/node_modules/d3-quadtree/src/root.js +0 -3
  1815. package/.output/server/node_modules/d3-quadtree/src/size.js +0 -7
  1816. package/.output/server/node_modules/d3-quadtree/src/visit.js +0 -16
  1817. package/.output/server/node_modules/d3-quadtree/src/visitAfter.js +0 -21
  1818. package/.output/server/node_modules/d3-quadtree/src/x.js +0 -7
  1819. package/.output/server/node_modules/d3-quadtree/src/y.js +0 -7
  1820. package/.output/server/node_modules/d3-sankey/dist/d3-sankey.js +0 -425
  1821. package/.output/server/node_modules/d3-sankey/package.json +0 -43
  1822. package/.output/server/node_modules/d3-scale/package.json +0 -57
  1823. package/.output/server/node_modules/d3-scale/src/band.js +0 -101
  1824. package/.output/server/node_modules/d3-scale/src/constant.js +0 -5
  1825. package/.output/server/node_modules/d3-scale/src/continuous.js +0 -125
  1826. package/.output/server/node_modules/d3-scale/src/diverging.js +0 -104
  1827. package/.output/server/node_modules/d3-scale/src/identity.js +0 -28
  1828. package/.output/server/node_modules/d3-scale/src/index.js +0 -78
  1829. package/.output/server/node_modules/d3-scale/src/init.js +0 -26
  1830. package/.output/server/node_modules/d3-scale/src/linear.js +0 -70
  1831. package/.output/server/node_modules/d3-scale/src/log.js +0 -140
  1832. package/.output/server/node_modules/d3-scale/src/nice.js +0 -18
  1833. package/.output/server/node_modules/d3-scale/src/number.js +0 -3
  1834. package/.output/server/node_modules/d3-scale/src/ordinal.js +0 -46
  1835. package/.output/server/node_modules/d3-scale/src/pow.js +0 -50
  1836. package/.output/server/node_modules/d3-scale/src/quantile.js +0 -57
  1837. package/.output/server/node_modules/d3-scale/src/quantize.js +0 -56
  1838. package/.output/server/node_modules/d3-scale/src/radial.js +0 -63
  1839. package/.output/server/node_modules/d3-scale/src/sequential.js +0 -107
  1840. package/.output/server/node_modules/d3-scale/src/sequentialQuantile.js +0 -38
  1841. package/.output/server/node_modules/d3-scale/src/symlog.js +0 -35
  1842. package/.output/server/node_modules/d3-scale/src/threshold.js +0 -39
  1843. package/.output/server/node_modules/d3-scale/src/tickFormat.js +0 -29
  1844. package/.output/server/node_modules/d3-scale/src/time.js +0 -71
  1845. package/.output/server/node_modules/d3-scale/src/utcTime.js +0 -8
  1846. package/.output/server/node_modules/d3-selection/package.json +0 -51
  1847. package/.output/server/node_modules/d3-selection/src/array.js +0 -9
  1848. package/.output/server/node_modules/d3-selection/src/constant.js +0 -5
  1849. package/.output/server/node_modules/d3-selection/src/create.js +0 -6
  1850. package/.output/server/node_modules/d3-selection/src/creator.js +0 -25
  1851. package/.output/server/node_modules/d3-selection/src/index.js +0 -15
  1852. package/.output/server/node_modules/d3-selection/src/local.js +0 -27
  1853. package/.output/server/node_modules/d3-selection/src/matcher.js +0 -12
  1854. package/.output/server/node_modules/d3-selection/src/namespace.js +0 -7
  1855. package/.output/server/node_modules/d3-selection/src/namespaces.js +0 -9
  1856. package/.output/server/node_modules/d3-selection/src/pointer.js +0 -20
  1857. package/.output/server/node_modules/d3-selection/src/pointers.js +0 -11
  1858. package/.output/server/node_modules/d3-selection/src/select.js +0 -7
  1859. package/.output/server/node_modules/d3-selection/src/selectAll.js +0 -8
  1860. package/.output/server/node_modules/d3-selection/src/selection/append.js +0 -8
  1861. package/.output/server/node_modules/d3-selection/src/selection/attr.js +0 -57
  1862. package/.output/server/node_modules/d3-selection/src/selection/call.js +0 -6
  1863. package/.output/server/node_modules/d3-selection/src/selection/classed.js +0 -75
  1864. package/.output/server/node_modules/d3-selection/src/selection/clone.js +0 -13
  1865. package/.output/server/node_modules/d3-selection/src/selection/data.js +0 -128
  1866. package/.output/server/node_modules/d3-selection/src/selection/datum.js +0 -5
  1867. package/.output/server/node_modules/d3-selection/src/selection/dispatch.js +0 -34
  1868. package/.output/server/node_modules/d3-selection/src/selection/each.js +0 -10
  1869. package/.output/server/node_modules/d3-selection/src/selection/empty.js +0 -3
  1870. package/.output/server/node_modules/d3-selection/src/selection/enter.js +0 -22
  1871. package/.output/server/node_modules/d3-selection/src/selection/exit.js +0 -6
  1872. package/.output/server/node_modules/d3-selection/src/selection/filter.js +0 -16
  1873. package/.output/server/node_modules/d3-selection/src/selection/html.js +0 -25
  1874. package/.output/server/node_modules/d3-selection/src/selection/index.js +0 -90
  1875. package/.output/server/node_modules/d3-selection/src/selection/insert.js +0 -14
  1876. package/.output/server/node_modules/d3-selection/src/selection/iterator.js +0 -7
  1877. package/.output/server/node_modules/d3-selection/src/selection/join.js +0 -15
  1878. package/.output/server/node_modules/d3-selection/src/selection/lower.js +0 -7
  1879. package/.output/server/node_modules/d3-selection/src/selection/merge.js +0 -19
  1880. package/.output/server/node_modules/d3-selection/src/selection/node.js +0 -11
  1881. package/.output/server/node_modules/d3-selection/src/selection/nodes.js +0 -3
  1882. package/.output/server/node_modules/d3-selection/src/selection/on.js +0 -67
  1883. package/.output/server/node_modules/d3-selection/src/selection/order.js +0 -13
  1884. package/.output/server/node_modules/d3-selection/src/selection/property.js +0 -28
  1885. package/.output/server/node_modules/d3-selection/src/selection/raise.js +0 -7
  1886. package/.output/server/node_modules/d3-selection/src/selection/remove.js +0 -8
  1887. package/.output/server/node_modules/d3-selection/src/selection/select.js +0 -17
  1888. package/.output/server/node_modules/d3-selection/src/selection/selectAll.js +0 -25
  1889. package/.output/server/node_modules/d3-selection/src/selection/selectChild.js +0 -18
  1890. package/.output/server/node_modules/d3-selection/src/selection/selectChildren.js +0 -18
  1891. package/.output/server/node_modules/d3-selection/src/selection/size.js +0 -5
  1892. package/.output/server/node_modules/d3-selection/src/selection/sort.js +0 -24
  1893. package/.output/server/node_modules/d3-selection/src/selection/sparse.js +0 -3
  1894. package/.output/server/node_modules/d3-selection/src/selection/style.js +0 -35
  1895. package/.output/server/node_modules/d3-selection/src/selection/text.js +0 -25
  1896. package/.output/server/node_modules/d3-selection/src/selector.js +0 -7
  1897. package/.output/server/node_modules/d3-selection/src/selectorAll.js +0 -9
  1898. package/.output/server/node_modules/d3-selection/src/sourceEvent.js +0 -5
  1899. package/.output/server/node_modules/d3-selection/src/window.js +0 -5
  1900. package/.output/server/node_modules/d3-time/package.json +0 -53
  1901. package/.output/server/node_modules/d3-time/src/day.js +0 -35
  1902. package/.output/server/node_modules/d3-time/src/duration.js +0 -7
  1903. package/.output/server/node_modules/d3-time/src/hour.js +0 -26
  1904. package/.output/server/node_modules/d3-time/src/index.js +0 -96
  1905. package/.output/server/node_modules/d3-time/src/interval.js +0 -69
  1906. package/.output/server/node_modules/d3-time/src/millisecond.js +0 -25
  1907. package/.output/server/node_modules/d3-time/src/minute.js +0 -26
  1908. package/.output/server/node_modules/d3-time/src/month.js +0 -27
  1909. package/.output/server/node_modules/d3-time/src/second.js +0 -14
  1910. package/.output/server/node_modules/d3-time/src/ticks.js +0 -58
  1911. package/.output/server/node_modules/d3-time/src/week.js +0 -56
  1912. package/.output/server/node_modules/d3-time/src/year.js +0 -49
  1913. package/.output/server/node_modules/d3-time-format/package.json +0 -60
  1914. package/.output/server/node_modules/d3-time-format/src/defaultLocale.js +0 -27
  1915. package/.output/server/node_modules/d3-time-format/src/index.js +0 -4
  1916. package/.output/server/node_modules/d3-time-format/src/isoFormat.js +0 -13
  1917. package/.output/server/node_modules/d3-time-format/src/isoParse.js +0 -13
  1918. package/.output/server/node_modules/d3-time-format/src/locale.js +0 -697
  1919. package/.output/server/node_modules/d3-timer/package.json +0 -53
  1920. package/.output/server/node_modules/d3-timer/src/index.js +0 -13
  1921. package/.output/server/node_modules/d3-timer/src/interval.js +0 -17
  1922. package/.output/server/node_modules/d3-timer/src/timeout.js +0 -11
  1923. package/.output/server/node_modules/d3-timer/src/timer.js +0 -110
  1924. package/.output/server/node_modules/d3-transition/package.json +0 -65
  1925. package/.output/server/node_modules/d3-transition/src/active.js +0 -21
  1926. package/.output/server/node_modules/d3-transition/src/index.js +0 -4
  1927. package/.output/server/node_modules/d3-transition/src/interrupt.js +0 -24
  1928. package/.output/server/node_modules/d3-transition/src/selection/index.js +0 -6
  1929. package/.output/server/node_modules/d3-transition/src/selection/interrupt.js +0 -7
  1930. package/.output/server/node_modules/d3-transition/src/selection/transition.js +0 -42
  1931. package/.output/server/node_modules/d3-transition/src/transition/attr.js +0 -78
  1932. package/.output/server/node_modules/d3-transition/src/transition/attrTween.js +0 -44
  1933. package/.output/server/node_modules/d3-transition/src/transition/delay.js +0 -23
  1934. package/.output/server/node_modules/d3-transition/src/transition/duration.js +0 -23
  1935. package/.output/server/node_modules/d3-transition/src/transition/ease.js +0 -16
  1936. package/.output/server/node_modules/d3-transition/src/transition/easeVarying.js +0 -14
  1937. package/.output/server/node_modules/d3-transition/src/transition/end.js +0 -29
  1938. package/.output/server/node_modules/d3-transition/src/transition/filter.js +0 -16
  1939. package/.output/server/node_modules/d3-transition/src/transition/index.js +0 -73
  1940. package/.output/server/node_modules/d3-transition/src/transition/interpolate.js +0 -10
  1941. package/.output/server/node_modules/d3-transition/src/transition/merge.js +0 -19
  1942. package/.output/server/node_modules/d3-transition/src/transition/on.js +0 -32
  1943. package/.output/server/node_modules/d3-transition/src/transition/remove.js +0 -11
  1944. package/.output/server/node_modules/d3-transition/src/transition/schedule.js +0 -153
  1945. package/.output/server/node_modules/d3-transition/src/transition/select.js +0 -22
  1946. package/.output/server/node_modules/d3-transition/src/transition/selectAll.js +0 -26
  1947. package/.output/server/node_modules/d3-transition/src/transition/selection.js +0 -7
  1948. package/.output/server/node_modules/d3-transition/src/transition/style.js +0 -80
  1949. package/.output/server/node_modules/d3-transition/src/transition/styleTween.js +0 -24
  1950. package/.output/server/node_modules/d3-transition/src/transition/text.js +0 -20
  1951. package/.output/server/node_modules/d3-transition/src/transition/textTween.js +0 -24
  1952. package/.output/server/node_modules/d3-transition/src/transition/transition.js +0 -24
  1953. package/.output/server/node_modules/d3-transition/src/transition/tween.js +0 -81
  1954. package/.output/server/node_modules/d3-zoom/package.json +0 -57
  1955. package/.output/server/node_modules/d3-zoom/src/constant.js +0 -1
  1956. package/.output/server/node_modules/d3-zoom/src/event.js +0 -14
  1957. package/.output/server/node_modules/d3-zoom/src/index.js +0 -2
  1958. package/.output/server/node_modules/d3-zoom/src/noevent.js +0 -8
  1959. package/.output/server/node_modules/d3-zoom/src/transform.js +0 -51
  1960. package/.output/server/node_modules/d3-zoom/src/zoom.js +0 -447
  1961. package/.output/server/node_modules/elkjs/lib/elk.bundled.js +0 -6545
  1962. package/.output/server/node_modules/elkjs/package.json +0 -54
  1963. package/.output/server/node_modules/internmap/package.json +0 -43
  1964. package/.output/server/node_modules/internmap/src/index.js +0 -61
  1965. package/.output/server/node_modules/leaflet/dist/leaflet-src.js +0 -14062
  1966. package/.output/server/node_modules/leaflet/package.json +0 -109
  1967. package/.output/server/node_modules/lodash-es/_DataView.js +0 -7
  1968. package/.output/server/node_modules/lodash-es/_Hash.js +0 -32
  1969. package/.output/server/node_modules/lodash-es/_LazyWrapper.js +0 -28
  1970. package/.output/server/node_modules/lodash-es/_ListCache.js +0 -32
  1971. package/.output/server/node_modules/lodash-es/_LodashWrapper.js +0 -22
  1972. package/.output/server/node_modules/lodash-es/_Map.js +0 -7
  1973. package/.output/server/node_modules/lodash-es/_MapCache.js +0 -32
  1974. package/.output/server/node_modules/lodash-es/_Promise.js +0 -7
  1975. package/.output/server/node_modules/lodash-es/_Set.js +0 -7
  1976. package/.output/server/node_modules/lodash-es/_SetCache.js +0 -27
  1977. package/.output/server/node_modules/lodash-es/_Stack.js +0 -27
  1978. package/.output/server/node_modules/lodash-es/_Symbol.js +0 -6
  1979. package/.output/server/node_modules/lodash-es/_Uint8Array.js +0 -6
  1980. package/.output/server/node_modules/lodash-es/_WeakMap.js +0 -7
  1981. package/.output/server/node_modules/lodash-es/_apply.js +0 -21
  1982. package/.output/server/node_modules/lodash-es/_arrayEach.js +0 -22
  1983. package/.output/server/node_modules/lodash-es/_arrayFilter.js +0 -25
  1984. package/.output/server/node_modules/lodash-es/_arrayIncludes.js +0 -17
  1985. package/.output/server/node_modules/lodash-es/_arrayIncludesWith.js +0 -22
  1986. package/.output/server/node_modules/lodash-es/_arrayLikeKeys.js +0 -49
  1987. package/.output/server/node_modules/lodash-es/_arrayMap.js +0 -21
  1988. package/.output/server/node_modules/lodash-es/_arrayPush.js +0 -20
  1989. package/.output/server/node_modules/lodash-es/_arrayReduce.js +0 -26
  1990. package/.output/server/node_modules/lodash-es/_arraySome.js +0 -23
  1991. package/.output/server/node_modules/lodash-es/_asciiSize.js +0 -12
  1992. package/.output/server/node_modules/lodash-es/_assignMergeValue.js +0 -20
  1993. package/.output/server/node_modules/lodash-es/_assignValue.js +0 -28
  1994. package/.output/server/node_modules/lodash-es/_assocIndexOf.js +0 -21
  1995. package/.output/server/node_modules/lodash-es/_baseAssign.js +0 -17
  1996. package/.output/server/node_modules/lodash-es/_baseAssignIn.js +0 -17
  1997. package/.output/server/node_modules/lodash-es/_baseAssignValue.js +0 -25
  1998. package/.output/server/node_modules/lodash-es/_baseClone.js +0 -166
  1999. package/.output/server/node_modules/lodash-es/_baseCreate.js +0 -30
  2000. package/.output/server/node_modules/lodash-es/_baseEach.js +0 -14
  2001. package/.output/server/node_modules/lodash-es/_baseExtremum.js +0 -32
  2002. package/.output/server/node_modules/lodash-es/_baseFilter.js +0 -21
  2003. package/.output/server/node_modules/lodash-es/_baseFindIndex.js +0 -24
  2004. package/.output/server/node_modules/lodash-es/_baseFlatten.js +0 -38
  2005. package/.output/server/node_modules/lodash-es/_baseFor.js +0 -16
  2006. package/.output/server/node_modules/lodash-es/_baseForOwn.js +0 -16
  2007. package/.output/server/node_modules/lodash-es/_baseGet.js +0 -24
  2008. package/.output/server/node_modules/lodash-es/_baseGetAllKeys.js +0 -20
  2009. package/.output/server/node_modules/lodash-es/_baseGetTag.js +0 -28
  2010. package/.output/server/node_modules/lodash-es/_baseGt.js +0 -14
  2011. package/.output/server/node_modules/lodash-es/_baseHas.js +0 -19
  2012. package/.output/server/node_modules/lodash-es/_baseHasIn.js +0 -13
  2013. package/.output/server/node_modules/lodash-es/_baseIndexOf.js +0 -20
  2014. package/.output/server/node_modules/lodash-es/_baseIsArguments.js +0 -18
  2015. package/.output/server/node_modules/lodash-es/_baseIsEqual.js +0 -28
  2016. package/.output/server/node_modules/lodash-es/_baseIsEqualDeep.js +0 -83
  2017. package/.output/server/node_modules/lodash-es/_baseIsMap.js +0 -18
  2018. package/.output/server/node_modules/lodash-es/_baseIsMatch.js +0 -62
  2019. package/.output/server/node_modules/lodash-es/_baseIsNaN.js +0 -12
  2020. package/.output/server/node_modules/lodash-es/_baseIsNative.js +0 -47
  2021. package/.output/server/node_modules/lodash-es/_baseIsSet.js +0 -18
  2022. package/.output/server/node_modules/lodash-es/_baseIsTypedArray.js +0 -60
  2023. package/.output/server/node_modules/lodash-es/_baseIteratee.js +0 -31
  2024. package/.output/server/node_modules/lodash-es/_baseKeys.js +0 -30
  2025. package/.output/server/node_modules/lodash-es/_baseKeysIn.js +0 -33
  2026. package/.output/server/node_modules/lodash-es/_baseLodash.js +0 -10
  2027. package/.output/server/node_modules/lodash-es/_baseLt.js +0 -14
  2028. package/.output/server/node_modules/lodash-es/_baseMap.js +0 -22
  2029. package/.output/server/node_modules/lodash-es/_baseMatches.js +0 -22
  2030. package/.output/server/node_modules/lodash-es/_baseMatchesProperty.js +0 -33
  2031. package/.output/server/node_modules/lodash-es/_baseMerge.js +0 -42
  2032. package/.output/server/node_modules/lodash-es/_baseMergeDeep.js +0 -94
  2033. package/.output/server/node_modules/lodash-es/_baseOrderBy.js +0 -49
  2034. package/.output/server/node_modules/lodash-es/_basePick.js +0 -19
  2035. package/.output/server/node_modules/lodash-es/_basePickBy.js +0 -30
  2036. package/.output/server/node_modules/lodash-es/_baseProperty.js +0 -14
  2037. package/.output/server/node_modules/lodash-es/_basePropertyDeep.js +0 -16
  2038. package/.output/server/node_modules/lodash-es/_baseRange.js +0 -28
  2039. package/.output/server/node_modules/lodash-es/_baseReduce.js +0 -23
  2040. package/.output/server/node_modules/lodash-es/_baseRest.js +0 -17
  2041. package/.output/server/node_modules/lodash-es/_baseSet.js +0 -51
  2042. package/.output/server/node_modules/lodash-es/_baseSetData.js +0 -17
  2043. package/.output/server/node_modules/lodash-es/_baseSetToString.js +0 -22
  2044. package/.output/server/node_modules/lodash-es/_baseSortBy.js +0 -21
  2045. package/.output/server/node_modules/lodash-es/_baseTimes.js +0 -20
  2046. package/.output/server/node_modules/lodash-es/_baseToPairs.js +0 -18
  2047. package/.output/server/node_modules/lodash-es/_baseToString.js +0 -37
  2048. package/.output/server/node_modules/lodash-es/_baseTrim.js +0 -19
  2049. package/.output/server/node_modules/lodash-es/_baseUnary.js +0 -14
  2050. package/.output/server/node_modules/lodash-es/_baseUniq.js +0 -72
  2051. package/.output/server/node_modules/lodash-es/_baseValues.js +0 -19
  2052. package/.output/server/node_modules/lodash-es/_baseZipObject.js +0 -23
  2053. package/.output/server/node_modules/lodash-es/_cacheHas.js +0 -13
  2054. package/.output/server/node_modules/lodash-es/_castFunction.js +0 -14
  2055. package/.output/server/node_modules/lodash-es/_castPath.js +0 -21
  2056. package/.output/server/node_modules/lodash-es/_cloneArrayBuffer.js +0 -16
  2057. package/.output/server/node_modules/lodash-es/_cloneBuffer.js +0 -35
  2058. package/.output/server/node_modules/lodash-es/_cloneDataView.js +0 -16
  2059. package/.output/server/node_modules/lodash-es/_cloneRegExp.js +0 -17
  2060. package/.output/server/node_modules/lodash-es/_cloneSymbol.js +0 -18
  2061. package/.output/server/node_modules/lodash-es/_cloneTypedArray.js +0 -16
  2062. package/.output/server/node_modules/lodash-es/_compareAscending.js +0 -41
  2063. package/.output/server/node_modules/lodash-es/_compareMultiple.js +0 -44
  2064. package/.output/server/node_modules/lodash-es/_composeArgs.js +0 -39
  2065. package/.output/server/node_modules/lodash-es/_composeArgsRight.js +0 -41
  2066. package/.output/server/node_modules/lodash-es/_copyArray.js +0 -20
  2067. package/.output/server/node_modules/lodash-es/_copyObject.js +0 -40
  2068. package/.output/server/node_modules/lodash-es/_copySymbols.js +0 -16
  2069. package/.output/server/node_modules/lodash-es/_copySymbolsIn.js +0 -16
  2070. package/.output/server/node_modules/lodash-es/_coreJsData.js +0 -6
  2071. package/.output/server/node_modules/lodash-es/_countHolders.js +0 -21
  2072. package/.output/server/node_modules/lodash-es/_createAssigner.js +0 -37
  2073. package/.output/server/node_modules/lodash-es/_createBaseEach.js +0 -32
  2074. package/.output/server/node_modules/lodash-es/_createBaseFor.js +0 -25
  2075. package/.output/server/node_modules/lodash-es/_createBind.js +0 -28
  2076. package/.output/server/node_modules/lodash-es/_createCtor.js +0 -37
  2077. package/.output/server/node_modules/lodash-es/_createCurry.js +0 -46
  2078. package/.output/server/node_modules/lodash-es/_createFind.js +0 -25
  2079. package/.output/server/node_modules/lodash-es/_createHybrid.js +0 -92
  2080. package/.output/server/node_modules/lodash-es/_createPartial.js +0 -43
  2081. package/.output/server/node_modules/lodash-es/_createRange.js +0 -30
  2082. package/.output/server/node_modules/lodash-es/_createRecurry.js +0 -56
  2083. package/.output/server/node_modules/lodash-es/_createSet.js +0 -19
  2084. package/.output/server/node_modules/lodash-es/_createToPairs.js +0 -30
  2085. package/.output/server/node_modules/lodash-es/_createWrap.js +0 -106
  2086. package/.output/server/node_modules/lodash-es/_defineProperty.js +0 -11
  2087. package/.output/server/node_modules/lodash-es/_equalArrays.js +0 -84
  2088. package/.output/server/node_modules/lodash-es/_equalByTag.js +0 -112
  2089. package/.output/server/node_modules/lodash-es/_equalObjects.js +0 -90
  2090. package/.output/server/node_modules/lodash-es/_flatRest.js +0 -16
  2091. package/.output/server/node_modules/lodash-es/_freeGlobal.js +0 -4
  2092. package/.output/server/node_modules/lodash-es/_getAllKeys.js +0 -16
  2093. package/.output/server/node_modules/lodash-es/_getAllKeysIn.js +0 -17
  2094. package/.output/server/node_modules/lodash-es/_getData.js +0 -15
  2095. package/.output/server/node_modules/lodash-es/_getFuncName.js +0 -31
  2096. package/.output/server/node_modules/lodash-es/_getHolder.js +0 -13
  2097. package/.output/server/node_modules/lodash-es/_getMapData.js +0 -18
  2098. package/.output/server/node_modules/lodash-es/_getMatchData.js +0 -24
  2099. package/.output/server/node_modules/lodash-es/_getNative.js +0 -17
  2100. package/.output/server/node_modules/lodash-es/_getPrototype.js +0 -6
  2101. package/.output/server/node_modules/lodash-es/_getRawTag.js +0 -46
  2102. package/.output/server/node_modules/lodash-es/_getSymbols.js +0 -30
  2103. package/.output/server/node_modules/lodash-es/_getSymbolsIn.js +0 -25
  2104. package/.output/server/node_modules/lodash-es/_getTag.js +0 -58
  2105. package/.output/server/node_modules/lodash-es/_getValue.js +0 -13
  2106. package/.output/server/node_modules/lodash-es/_getWrapDetails.js +0 -17
  2107. package/.output/server/node_modules/lodash-es/_hasPath.js +0 -39
  2108. package/.output/server/node_modules/lodash-es/_hasUnicode.js +0 -26
  2109. package/.output/server/node_modules/lodash-es/_hashClear.js +0 -15
  2110. package/.output/server/node_modules/lodash-es/_hashDelete.js +0 -17
  2111. package/.output/server/node_modules/lodash-es/_hashGet.js +0 -30
  2112. package/.output/server/node_modules/lodash-es/_hashHas.js +0 -23
  2113. package/.output/server/node_modules/lodash-es/_hashSet.js +0 -23
  2114. package/.output/server/node_modules/lodash-es/_initCloneArray.js +0 -26
  2115. package/.output/server/node_modules/lodash-es/_initCloneByTag.js +0 -77
  2116. package/.output/server/node_modules/lodash-es/_initCloneObject.js +0 -18
  2117. package/.output/server/node_modules/lodash-es/_insertWrapDetails.js +0 -23
  2118. package/.output/server/node_modules/lodash-es/_isFlattenable.js +0 -20
  2119. package/.output/server/node_modules/lodash-es/_isIndex.js +0 -25
  2120. package/.output/server/node_modules/lodash-es/_isIterateeCall.js +0 -30
  2121. package/.output/server/node_modules/lodash-es/_isKey.js +0 -29
  2122. package/.output/server/node_modules/lodash-es/_isKeyable.js +0 -15
  2123. package/.output/server/node_modules/lodash-es/_isLaziable.js +0 -28
  2124. package/.output/server/node_modules/lodash-es/_isMasked.js +0 -20
  2125. package/.output/server/node_modules/lodash-es/_isPrototype.js +0 -18
  2126. package/.output/server/node_modules/lodash-es/_isStrictComparable.js +0 -15
  2127. package/.output/server/node_modules/lodash-es/_listCacheClear.js +0 -13
  2128. package/.output/server/node_modules/lodash-es/_listCacheDelete.js +0 -35
  2129. package/.output/server/node_modules/lodash-es/_listCacheGet.js +0 -19
  2130. package/.output/server/node_modules/lodash-es/_listCacheHas.js +0 -16
  2131. package/.output/server/node_modules/lodash-es/_listCacheSet.js +0 -26
  2132. package/.output/server/node_modules/lodash-es/_mapCacheClear.js +0 -21
  2133. package/.output/server/node_modules/lodash-es/_mapCacheDelete.js +0 -18
  2134. package/.output/server/node_modules/lodash-es/_mapCacheGet.js +0 -16
  2135. package/.output/server/node_modules/lodash-es/_mapCacheHas.js +0 -16
  2136. package/.output/server/node_modules/lodash-es/_mapCacheSet.js +0 -22
  2137. package/.output/server/node_modules/lodash-es/_mapToArray.js +0 -18
  2138. package/.output/server/node_modules/lodash-es/_matchesStrictComparable.js +0 -20
  2139. package/.output/server/node_modules/lodash-es/_memoizeCapped.js +0 -26
  2140. package/.output/server/node_modules/lodash-es/_mergeData.js +0 -90
  2141. package/.output/server/node_modules/lodash-es/_metaMap.js +0 -6
  2142. package/.output/server/node_modules/lodash-es/_nativeCreate.js +0 -6
  2143. package/.output/server/node_modules/lodash-es/_nativeKeys.js +0 -6
  2144. package/.output/server/node_modules/lodash-es/_nativeKeysIn.js +0 -20
  2145. package/.output/server/node_modules/lodash-es/_nodeUtil.js +0 -30
  2146. package/.output/server/node_modules/lodash-es/_objectToString.js +0 -22
  2147. package/.output/server/node_modules/lodash-es/_overArg.js +0 -15
  2148. package/.output/server/node_modules/lodash-es/_overRest.js +0 -36
  2149. package/.output/server/node_modules/lodash-es/_realNames.js +0 -4
  2150. package/.output/server/node_modules/lodash-es/_reorder.js +0 -29
  2151. package/.output/server/node_modules/lodash-es/_replaceHolders.js +0 -29
  2152. package/.output/server/node_modules/lodash-es/_root.js +0 -9
  2153. package/.output/server/node_modules/lodash-es/_safeGet.js +0 -21
  2154. package/.output/server/node_modules/lodash-es/_setCacheAdd.js +0 -19
  2155. package/.output/server/node_modules/lodash-es/_setCacheHas.js +0 -14
  2156. package/.output/server/node_modules/lodash-es/_setData.js +0 -20
  2157. package/.output/server/node_modules/lodash-es/_setToArray.js +0 -18
  2158. package/.output/server/node_modules/lodash-es/_setToPairs.js +0 -18
  2159. package/.output/server/node_modules/lodash-es/_setToString.js +0 -14
  2160. package/.output/server/node_modules/lodash-es/_setWrapToString.js +0 -21
  2161. package/.output/server/node_modules/lodash-es/_shortOut.js +0 -37
  2162. package/.output/server/node_modules/lodash-es/_stackClear.js +0 -15
  2163. package/.output/server/node_modules/lodash-es/_stackDelete.js +0 -18
  2164. package/.output/server/node_modules/lodash-es/_stackGet.js +0 -14
  2165. package/.output/server/node_modules/lodash-es/_stackHas.js +0 -14
  2166. package/.output/server/node_modules/lodash-es/_stackSet.js +0 -34
  2167. package/.output/server/node_modules/lodash-es/_strictIndexOf.js +0 -23
  2168. package/.output/server/node_modules/lodash-es/_stringSize.js +0 -18
  2169. package/.output/server/node_modules/lodash-es/_stringToPath.js +0 -27
  2170. package/.output/server/node_modules/lodash-es/_toKey.js +0 -21
  2171. package/.output/server/node_modules/lodash-es/_toSource.js +0 -26
  2172. package/.output/server/node_modules/lodash-es/_trimmedEndIndex.js +0 -19
  2173. package/.output/server/node_modules/lodash-es/_unicodeSize.js +0 -44
  2174. package/.output/server/node_modules/lodash-es/_updateWrapDetails.js +0 -46
  2175. package/.output/server/node_modules/lodash-es/_wrapperClone.js +0 -23
  2176. package/.output/server/node_modules/lodash-es/bind.js +0 -57
  2177. package/.output/server/node_modules/lodash-es/clone.js +0 -36
  2178. package/.output/server/node_modules/lodash-es/cloneDeep.js +0 -29
  2179. package/.output/server/node_modules/lodash-es/constant.js +0 -26
  2180. package/.output/server/node_modules/lodash-es/defaults.js +0 -64
  2181. package/.output/server/node_modules/lodash-es/each.js +0 -1
  2182. package/.output/server/node_modules/lodash-es/eq.js +0 -37
  2183. package/.output/server/node_modules/lodash-es/filter.js +0 -52
  2184. package/.output/server/node_modules/lodash-es/find.js +0 -42
  2185. package/.output/server/node_modules/lodash-es/findIndex.js +0 -55
  2186. package/.output/server/node_modules/lodash-es/flatten.js +0 -22
  2187. package/.output/server/node_modules/lodash-es/forEach.js +0 -41
  2188. package/.output/server/node_modules/lodash-es/get.js +0 -33
  2189. package/.output/server/node_modules/lodash-es/has.js +0 -35
  2190. package/.output/server/node_modules/lodash-es/hasIn.js +0 -34
  2191. package/.output/server/node_modules/lodash-es/identity.js +0 -21
  2192. package/.output/server/node_modules/lodash-es/isArguments.js +0 -36
  2193. package/.output/server/node_modules/lodash-es/isArray.js +0 -26
  2194. package/.output/server/node_modules/lodash-es/isArrayLike.js +0 -33
  2195. package/.output/server/node_modules/lodash-es/isArrayLikeObject.js +0 -33
  2196. package/.output/server/node_modules/lodash-es/isBuffer.js +0 -38
  2197. package/.output/server/node_modules/lodash-es/isEmpty.js +0 -77
  2198. package/.output/server/node_modules/lodash-es/isFunction.js +0 -37
  2199. package/.output/server/node_modules/lodash-es/isLength.js +0 -35
  2200. package/.output/server/node_modules/lodash-es/isMap.js +0 -27
  2201. package/.output/server/node_modules/lodash-es/isObject.js +0 -31
  2202. package/.output/server/node_modules/lodash-es/isObjectLike.js +0 -29
  2203. package/.output/server/node_modules/lodash-es/isPlainObject.js +0 -62
  2204. package/.output/server/node_modules/lodash-es/isSet.js +0 -27
  2205. package/.output/server/node_modules/lodash-es/isString.js +0 -30
  2206. package/.output/server/node_modules/lodash-es/isSymbol.js +0 -29
  2207. package/.output/server/node_modules/lodash-es/isTypedArray.js +0 -27
  2208. package/.output/server/node_modules/lodash-es/isUndefined.js +0 -22
  2209. package/.output/server/node_modules/lodash-es/keys.js +0 -37
  2210. package/.output/server/node_modules/lodash-es/keysIn.js +0 -32
  2211. package/.output/server/node_modules/lodash-es/last.js +0 -20
  2212. package/.output/server/node_modules/lodash-es/map.js +0 -53
  2213. package/.output/server/node_modules/lodash-es/mapValues.js +0 -43
  2214. package/.output/server/node_modules/lodash-es/max.js +0 -29
  2215. package/.output/server/node_modules/lodash-es/maxBy.js +0 -34
  2216. package/.output/server/node_modules/lodash-es/memoize.js +0 -73
  2217. package/.output/server/node_modules/lodash-es/merge.js +0 -39
  2218. package/.output/server/node_modules/lodash-es/min.js +0 -29
  2219. package/.output/server/node_modules/lodash-es/minBy.js +0 -34
  2220. package/.output/server/node_modules/lodash-es/noop.js +0 -17
  2221. package/.output/server/node_modules/lodash-es/now.js +0 -23
  2222. package/.output/server/node_modules/lodash-es/package.json +0 -23
  2223. package/.output/server/node_modules/lodash-es/pick.js +0 -25
  2224. package/.output/server/node_modules/lodash-es/property.js +0 -32
  2225. package/.output/server/node_modules/lodash-es/range.js +0 -46
  2226. package/.output/server/node_modules/lodash-es/reduce.js +0 -51
  2227. package/.output/server/node_modules/lodash-es/size.js +0 -46
  2228. package/.output/server/node_modules/lodash-es/sortBy.js +0 -48
  2229. package/.output/server/node_modules/lodash-es/stubArray.js +0 -23
  2230. package/.output/server/node_modules/lodash-es/stubFalse.js +0 -18
  2231. package/.output/server/node_modules/lodash-es/toFinite.js +0 -42
  2232. package/.output/server/node_modules/lodash-es/toInteger.js +0 -36
  2233. package/.output/server/node_modules/lodash-es/toNumber.js +0 -64
  2234. package/.output/server/node_modules/lodash-es/toPairs.js +0 -30
  2235. package/.output/server/node_modules/lodash-es/toPlainObject.js +0 -32
  2236. package/.output/server/node_modules/lodash-es/toString.js +0 -28
  2237. package/.output/server/node_modules/lodash-es/transform.js +0 -65
  2238. package/.output/server/node_modules/lodash-es/union.js +0 -26
  2239. package/.output/server/node_modules/lodash-es/uniqueId.js +0 -28
  2240. package/.output/server/node_modules/lodash-es/values.js +0 -34
  2241. package/.output/server/node_modules/lodash-es/wrapperLodash.js +0 -147
  2242. package/.output/server/node_modules/lodash-es/zipObject.js +0 -24
  2243. package/.output/server/node_modules/maplibre-gl/dist/maplibre-gl.js +0 -44
  2244. package/.output/server/node_modules/maplibre-gl/dist/package.json +0 -1
  2245. package/.output/server/node_modules/maplibre-gl/package.json +0 -182
  2246. package/.output/server/node_modules/striptags/package.json +0 -30
  2247. package/.output/server/node_modules/striptags/src/striptags.js +0 -239
  2248. package/.output/server/node_modules/stylis/dist/umd/package.json +0 -1
  2249. package/.output/server/node_modules/stylis/dist/umd/stylis.js +0 -2
  2250. package/.output/server/node_modules/stylis/package.json +0 -167
  2251. package/.output/server/node_modules/supercluster/dist/supercluster.js +0 -635
  2252. package/.output/server/node_modules/supercluster/package.json +0 -54
  2253. package/.output/server/node_modules/three/package.json +0 -136
  2254. package/.output/server/node_modules/three/src/cameras/ArrayCamera.js +0 -18
  2255. package/.output/server/node_modules/three/src/cameras/Camera.js +0 -68
  2256. package/.output/server/node_modules/three/src/cameras/CubeCamera.js +0 -107
  2257. package/.output/server/node_modules/three/src/cameras/OrthographicCamera.js +0 -136
  2258. package/.output/server/node_modules/three/src/cameras/PerspectiveCamera.js +0 -233
  2259. package/.output/server/node_modules/three/src/constants.js +0 -199
  2260. package/.output/server/node_modules/three/src/core/BufferAttribute.js +0 -528
  2261. package/.output/server/node_modules/three/src/core/BufferGeometry.js +0 -1130
  2262. package/.output/server/node_modules/three/src/core/EventDispatcher.js +0 -87
  2263. package/.output/server/node_modules/three/src/core/Layers.js +0 -60
  2264. package/.output/server/node_modules/three/src/core/Object3D.js +0 -924
  2265. package/.output/server/node_modules/three/src/extras/ImageUtils.js +0 -66
  2266. package/.output/server/node_modules/three/src/extras/PMREMGenerator.js +0 -1013
  2267. package/.output/server/node_modules/three/src/geometries/BoxGeometry.js +0 -170
  2268. package/.output/server/node_modules/three/src/geometries/PlaneGeometry.js +0 -87
  2269. package/.output/server/node_modules/three/src/materials/Material.js +0 -491
  2270. package/.output/server/node_modules/three/src/materials/MeshBasicMaterial.js +0 -106
  2271. package/.output/server/node_modules/three/src/materials/MeshDepthMaterial.js +0 -74
  2272. package/.output/server/node_modules/three/src/materials/MeshDistanceMaterial.js +0 -72
  2273. package/.output/server/node_modules/three/src/materials/PointsMaterial.js +0 -59
  2274. package/.output/server/node_modules/three/src/materials/RawShaderMaterial.js +0 -17
  2275. package/.output/server/node_modules/three/src/materials/ShaderMaterial.js +0 -200
  2276. package/.output/server/node_modules/three/src/math/Box3.js +0 -518
  2277. package/.output/server/node_modules/three/src/math/Color.js +0 -604
  2278. package/.output/server/node_modules/three/src/math/Euler.js +0 -322
  2279. package/.output/server/node_modules/three/src/math/Frustum.js +0 -162
  2280. package/.output/server/node_modules/three/src/math/MathUtils.js +0 -258
  2281. package/.output/server/node_modules/three/src/math/Matrix3.js +0 -339
  2282. package/.output/server/node_modules/three/src/math/Matrix4.js +0 -885
  2283. package/.output/server/node_modules/three/src/math/Plane.js +0 -205
  2284. package/.output/server/node_modules/three/src/math/Quaternion.js +0 -689
  2285. package/.output/server/node_modules/three/src/math/Ray.js +0 -496
  2286. package/.output/server/node_modules/three/src/math/Sphere.js +0 -219
  2287. package/.output/server/node_modules/three/src/math/Triangle.js +0 -299
  2288. package/.output/server/node_modules/three/src/math/Vector2.js +0 -484
  2289. package/.output/server/node_modules/three/src/math/Vector3.js +0 -745
  2290. package/.output/server/node_modules/three/src/math/Vector4.js +0 -664
  2291. package/.output/server/node_modules/three/src/objects/Group.js +0 -17
  2292. package/.output/server/node_modules/three/src/objects/Mesh.js +0 -419
  2293. package/.output/server/node_modules/three/src/objects/Points.js +0 -188
  2294. package/.output/server/node_modules/three/src/renderers/WebGLCubeRenderTarget.js +0 -155
  2295. package/.output/server/node_modules/three/src/renderers/WebGLMultisampleRenderTarget.js +0 -33
  2296. package/.output/server/node_modules/three/src/renderers/WebGLRenderTarget.js +0 -109
  2297. package/.output/server/node_modules/three/src/renderers/WebGLRenderer.js +0 -2217
  2298. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl.js +0 -7
  2299. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl.js +0 -7
  2300. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_fragment.glsl.js +0 -7
  2301. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/alphatest_pars_fragment.glsl.js +0 -5
  2302. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/aomap_fragment.glsl.js +0 -18
  2303. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl.js +0 -8
  2304. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/begin_vertex.glsl.js +0 -3
  2305. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/beginnormal_vertex.glsl.js +0 -9
  2306. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/bsdfs.glsl.js +0 -258
  2307. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl.js +0 -44
  2308. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_begin.glsl.js +0 -7
  2309. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_normal_fragment_maps.glsl.js +0 -18
  2310. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clearcoat_pars_fragment.glsl.js +0 -21
  2311. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_fragment.glsl.js +0 -33
  2312. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_fragment.glsl.js +0 -9
  2313. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_pars_vertex.glsl.js +0 -7
  2314. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/clipping_planes_vertex.glsl.js +0 -7
  2315. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_fragment.glsl.js +0 -11
  2316. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl.js +0 -11
  2317. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl.js +0 -11
  2318. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/color_vertex.glsl.js +0 -23
  2319. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/common.glsl.js +0 -116
  2320. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/cube_uv_reflection_fragment.glsl.js +0 -214
  2321. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/default_fragment.glsl.js +0 -5
  2322. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/default_vertex.glsl.js +0 -5
  2323. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl.js +0 -36
  2324. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_pars_vertex.glsl.js +0 -9
  2325. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/displacementmap_vertex.glsl.js +0 -7
  2326. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/dithering_fragment.glsl.js +0 -7
  2327. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/dithering_pars_fragment.glsl.js +0 -20
  2328. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_fragment.glsl.js +0 -11
  2329. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/emissivemap_pars_fragment.glsl.js +0 -7
  2330. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/encodings_fragment.glsl.js +0 -3
  2331. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/encodings_pars_fragment.glsl.js +0 -62
  2332. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_common_pars_fragment.glsl.js +0 -14
  2333. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_fragment.glsl.js +0 -68
  2334. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl.js +0 -21
  2335. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl.js +0 -22
  2336. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_physical_pars_fragment.glsl.js +0 -62
  2337. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/envmap_vertex.glsl.js +0 -37
  2338. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_fragment.glsl.js +0 -17
  2339. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl.js +0 -19
  2340. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_pars_vertex.glsl.js +0 -7
  2341. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/fog_vertex.glsl.js +0 -7
  2342. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/gradientmap_pars_fragment.glsl.js +0 -26
  2343. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl.js +0 -16
  2344. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl.js +0 -8
  2345. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_begin.glsl.js +0 -152
  2346. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_end.glsl.js +0 -13
  2347. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_fragment_maps.glsl.js +0 -38
  2348. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl.js +0 -122
  2349. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_pars_begin.glsl.js +0 -223
  2350. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl.js +0 -7
  2351. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl.js +0 -34
  2352. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_fragment.glsl.js +0 -95
  2353. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_physical_pars_fragment.glsl.js +0 -188
  2354. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_fragment.glsl.js +0 -4
  2355. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/lights_toon_pars_fragment.glsl.js +0 -28
  2356. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl.js +0 -9
  2357. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl.js +0 -9
  2358. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl.js +0 -16
  2359. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl.js +0 -22
  2360. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_fragment.glsl.js +0 -10
  2361. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl.js +0 -7
  2362. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl.js +0 -20
  2363. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl.js +0 -19
  2364. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_fragment.glsl.js +0 -12
  2365. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/metalnessmap_pars_fragment.glsl.js +0 -7
  2366. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl.js +0 -27
  2367. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl.js +0 -38
  2368. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl.js +0 -44
  2369. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_begin.glsl.js +0 -48
  2370. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_fragment_maps.glsl.js +0 -41
  2371. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_fragment.glsl.js +0 -14
  2372. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_pars_vertex.glsl.js +0 -14
  2373. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normal_vertex.glsl.js +0 -14
  2374. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl.js +0 -45
  2375. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/output_fragment.glsl.js +0 -12
  2376. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/packing.glsl.js +0 -54
  2377. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/premultiplied_alpha_fragment.glsl.js +0 -8
  2378. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/project_vertex.glsl.js +0 -13
  2379. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_fragment.glsl.js +0 -12
  2380. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/roughnessmap_pars_fragment.glsl.js +0 -7
  2381. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl.js +0 -310
  2382. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl.js +0 -63
  2383. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl.js +0 -60
  2384. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/shadowmask_pars_fragment.glsl.js +0 -66
  2385. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinbase_vertex.glsl.js +0 -10
  2386. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl.js +0 -48
  2387. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinning_vertex.glsl.js +0 -15
  2388. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl.js +0 -20
  2389. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl.js +0 -14
  2390. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl.js +0 -7
  2391. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_fragment.glsl.js +0 -7
  2392. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/tonemapping_pars_fragment.glsl.js +0 -77
  2393. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_fragment.glsl.js +0 -32
  2394. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/transmission_pars_fragment.glsl.js +0 -115
  2395. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl.js +0 -7
  2396. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl.js +0 -10
  2397. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv2_vertex.glsl.js +0 -7
  2398. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl.js +0 -7
  2399. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl.js +0 -17
  2400. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/uv_vertex.glsl.js +0 -7
  2401. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl.js +0 -15
  2402. package/.output/server/node_modules/three/src/renderers/shaders/ShaderChunk.js +0 -257
  2403. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/background.glsl.js +0 -29
  2404. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/cube.glsl.js +0 -38
  2405. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/depth.glsl.js +0 -92
  2406. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/distanceRGBA.glsl.js +0 -73
  2407. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/equirect.glsl.js +0 -37
  2408. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/linedashed.glsl.js +0 -69
  2409. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshbasic.glsl.js +0 -115
  2410. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshlambert.glsl.js +0 -150
  2411. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshmatcap.glsl.js +0 -107
  2412. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshnormal.glsl.js +0 -76
  2413. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshphong.glsl.js +0 -125
  2414. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshphysical.glsl.js +0 -196
  2415. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/meshtoon.glsl.js +0 -116
  2416. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/points.glsl.js +0 -70
  2417. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/shadow.glsl.js +0 -49
  2418. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/sprite.glsl.js +0 -79
  2419. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib/vsm.glsl.js +0 -56
  2420. package/.output/server/node_modules/three/src/renderers/shaders/ShaderLib.js +0 -325
  2421. package/.output/server/node_modules/three/src/renderers/shaders/UniformsLib.js +0 -217
  2422. package/.output/server/node_modules/three/src/renderers/shaders/UniformsUtils.js +0 -66
  2423. package/.output/server/node_modules/three/src/renderers/webgl/WebGLAnimation.js +0 -53
  2424. package/.output/server/node_modules/three/src/renderers/webgl/WebGLAttributes.js +0 -193
  2425. package/.output/server/node_modules/three/src/renderers/webgl/WebGLBackground.js +0 -225
  2426. package/.output/server/node_modules/three/src/renderers/webgl/WebGLBindingStates.js +0 -595
  2427. package/.output/server/node_modules/three/src/renderers/webgl/WebGLBufferRenderer.js +0 -61
  2428. package/.output/server/node_modules/three/src/renderers/webgl/WebGLCapabilities.js +0 -123
  2429. package/.output/server/node_modules/three/src/renderers/webgl/WebGLClipping.js +0 -167
  2430. package/.output/server/node_modules/three/src/renderers/webgl/WebGLCubeMaps.js +0 -103
  2431. package/.output/server/node_modules/three/src/renderers/webgl/WebGLCubeUVMaps.js +0 -117
  2432. package/.output/server/node_modules/three/src/renderers/webgl/WebGLExtensions.js +0 -96
  2433. package/.output/server/node_modules/three/src/renderers/webgl/WebGLGeometries.js +0 -195
  2434. package/.output/server/node_modules/three/src/renderers/webgl/WebGLIndexedBufferRenderer.js +0 -71
  2435. package/.output/server/node_modules/three/src/renderers/webgl/WebGLInfo.js +0 -72
  2436. package/.output/server/node_modules/three/src/renderers/webgl/WebGLLights.js +0 -551
  2437. package/.output/server/node_modules/three/src/renderers/webgl/WebGLMaterials.js +0 -792
  2438. package/.output/server/node_modules/three/src/renderers/webgl/WebGLMorphtargets.js +0 -283
  2439. package/.output/server/node_modules/three/src/renderers/webgl/WebGLObjects.js +0 -72
  2440. package/.output/server/node_modules/three/src/renderers/webgl/WebGLProgram.js +0 -897
  2441. package/.output/server/node_modules/three/src/renderers/webgl/WebGLPrograms.js +0 -432
  2442. package/.output/server/node_modules/three/src/renderers/webgl/WebGLProperties.js +0 -48
  2443. package/.output/server/node_modules/three/src/renderers/webgl/WebGLRenderLists.js +0 -247
  2444. package/.output/server/node_modules/three/src/renderers/webgl/WebGLRenderStates.js +0 -106
  2445. package/.output/server/node_modules/three/src/renderers/webgl/WebGLShader.js +0 -12
  2446. package/.output/server/node_modules/three/src/renderers/webgl/WebGLShadowMap.js +0 -381
  2447. package/.output/server/node_modules/three/src/renderers/webgl/WebGLState.js +0 -1083
  2448. package/.output/server/node_modules/three/src/renderers/webgl/WebGLTextures.js +0 -1530
  2449. package/.output/server/node_modules/three/src/renderers/webgl/WebGLUniforms.js +0 -1019
  2450. package/.output/server/node_modules/three/src/renderers/webgl/WebGLUtils.js +0 -197
  2451. package/.output/server/node_modules/three/src/renderers/webxr/WebXRController.js +0 -299
  2452. package/.output/server/node_modules/three/src/renderers/webxr/WebXRManager.js +0 -684
  2453. package/.output/server/node_modules/three/src/scenes/Scene.js +0 -58
  2454. package/.output/server/node_modules/three/src/textures/CubeTexture.js +0 -33
  2455. package/.output/server/node_modules/three/src/textures/DataTexture2DArray.js +0 -29
  2456. package/.output/server/node_modules/three/src/textures/DataTexture3D.js +0 -37
  2457. package/.output/server/node_modules/three/src/textures/DepthTexture.js +0 -36
  2458. package/.output/server/node_modules/three/src/textures/Texture.js +0 -377
  2459. package/.output/server/node_modules/three/src/utils.js +0 -93
  2460. package/.output/server/node_modules/throttle-debounce/esm/index.js +0 -162
  2461. package/.output/server/node_modules/throttle-debounce/esm/package.json +0 -1
  2462. package/.output/server/node_modules/throttle-debounce/package.json +0 -98
  2463. package/.output/server/node_modules/topojson-client/dist/topojson-client.js +0 -508
  2464. package/.output/server/node_modules/topojson-client/package.json +0 -49
  2465. package/.output/server/node_modules/tslib/modules/index.js +0 -70
  2466. package/.output/server/node_modules/tslib/modules/package.json +0 -3
  2467. package/.output/server/node_modules/tslib/package.json +0 -47
  2468. package/.output/server/node_modules/tslib/tslib.js +0 -484
@@ -0,0 +1 @@
1
+ import{d as p,o as a,e as g,m as C,b as o,f as I,h as c,i as b,_ as v,k as x,t as y,c as u,l as d,U as f,K as V,g as _,F as h,z,L as U,r as L,v as M}from"./BdQ7kfxJ.js";import{k as j,D as B,C as F,l as D}from"./DwZS0oRm.js";import{_ as N}from"./CrsaY0R_.js";import{_ as O}from"./D0XWJGhG.js";import{_ as P}from"./DadksxQ9.js";const T=p({__name:"StatusChip",props:{status:{},size:{}},setup(e){return(t,n)=>{const l=v,r=C;return a(),g(r,{color:("getStatusColor"in t?t.getStatusColor:o(j))(e.status),size:e.size,variant:"subtle",class:"capitalize gap-1 items-center font-semibold shrink-0"},{default:I(()=>[c(l,{name:("getStatusIcon"in t?t.getStatusIcon:o(F))(e.status),class:b(["size-3.5 shrink-0",{"animate-spin":("isStatusInFlight"in t?t.isStatusInFlight:o(B))(e.status)}])},null,8,["name","class"]),x(" "+y(("formatStatusLabel"in t?t.formatStatusLabel:o(D))(e.status)),1)]),_:1},8,["color","size"])}}}),ee=Object.assign(T,{__name:"StatusChip"}),H=["title"],G=p({__name:"MetaStripGroup",props:{label:{},icon:{},help:{}},setup(e){return(t,n)=>{const l=v,r=N;return a(),u("div",{class:"inline-flex items-center flex-wrap gap-x-1.5 gap-y-1 min-w-0 py-0.5 mr-3 [&:not(:first-child)]:border-l [&:not(:first-child)]:border-default [&:not(:first-child)]:pl-3",title:e.label},[e.icon?(a(),g(l,{key:0,name:e.icon,class:"w-3.5 h-3.5 text-dimmed shrink-0"},null,8,["name"])):d("",!0),f(t.$slots,"default"),e.help?(a(),g(r,{key:1,topic:e.help},null,8,["topic"])):d("",!0)],8,H)}}}),te=Object.assign(G,{__name:"MetaStripGroup"}),q={class:"flex flex-wrap items-center gap-y-1 text-sm min-w-0"},E=p({__name:"SummaryMetaStrip",setup(e){return(t,n)=>(a(),u("div",q,[f(t.$slots,"default")]))}}),se=Object.assign(E,{__name:"SummaryMetaStrip"}),K={class:"flex flex-col h-full gap-4 p-1 max-lg:overflow-y-auto lg:overflow-hidden"},A={key:0,class:"lg:shrink-0"},J={class:"lg:shrink-0 max-lg:sticky max-lg:top-0 max-lg:z-10 max-lg:-mx-1 max-lg:bg-(--ui-bg-canvas) max-lg:px-1 max-lg:py-1.5"},Q=p({__name:"DetailPageLayout",props:U({tabItems:{},tabPanelClass:{}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const t=e,n=V(e,"modelValue"),l=L(!1),r=M(()=>t.tabItems.find(i=>i.value===n.value)?.icon);function S(i){return["min-h-0","lg:flex-1",t.tabPanelClass?.[i]??"overflow-y-auto","max-lg:!block","max-lg:!overflow-visible"]}return(i,m)=>{const k=v,$=O,w=P;return a(),u("div",K,[i.$slots.summary?(a(),u("div",A,[_("div",{class:b(o(l)?"max-lg:hidden":"")},[f(i.$slots,"summary")],2),_("button",{type:"button",class:"lg:hidden mt-2 w-full flex items-center justify-center gap-1 rounded-md border border-default py-1.5 text-xs font-medium text-muted hover:bg-elevated/60 transition-colors",onClick:m[0]||(m[0]=s=>l.value=!o(l))},[c(k,{name:o(l)?"i-lucide-chevron-down":"i-lucide-chevron-up",class:"size-3.5"},null,8,["name"]),x(" "+y(o(l)?"Show summary":"Hide summary"),1)])])):d("",!0),_("div",J,[c($,{modelValue:n.value,"onUpdate:modelValue":m[1]||(m[1]=s=>n.value=s),items:e.tabItems,icon:o(r),size:"md",class:"w-full sm:hidden"},null,8,["modelValue","items","icon"]),c(w,{modelValue:n.value,"onUpdate:modelValue":m[2]||(m[2]=s=>n.value=s),items:e.tabItems,size:"sm",class:"hidden sm:flex",ui:{list:"overflow-x-auto",trigger:"shrink-0"}},null,8,["modelValue","items"])]),(a(!0),u(h,null,z(e.tabItems,s=>(a(),u(h,{key:s.value},[n.value===s.value?(a(),u("div",{key:0,class:b(S(s.value))},[f(i.$slots,`tab-${s.slot??s.value}`)],2)):d("",!0)],64))),128))])}}}),ae=Object.assign(Q,{__name:"DetailPageLayout"});export{ee as _,se as a,te as b,ae as c};
@@ -0,0 +1 @@
1
+ import{a3 as r,a5 as n,o as i,e as p,f as u,U as c,i as d,b as e,W as f,v as m,a8 as _}from"./BdQ7kfxJ.js";const b={base:"animate-pulse rounded-md bg-elevated"},g={__name:"USkeleton",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(a){const s=r("skeleton",a),t=n(),l=m(()=>_({extend:b,...t.ui?.skeleton||{}}));return(o,k)=>(i(),p(e(f),{as:e(s).as,"aria-busy":"true","aria-label":"loading","aria-live":"polite",role:"alert",class:d(l.value({class:[e(s).ui?.base,e(s).class]}))},{default:u(()=>[c(o.$slots,"default")]),_:3},8,["as","class"]))}};export{g as _};
@@ -0,0 +1 @@
1
+ const t={"home.flaky":{title:"Flaky tests",text:"Tests that pass and fail without code changes. This counts how many were detected across your projects recently.",doc:"flaky-tests#flaky-test-detection"},"home.trend-bars":{title:"Run history bars",text:"One bar per full run (up to 20), oldest left → newest right. Green = pass, red = fail, amber = passed with flaky tests, gray = skipped/unknown. Click a bar to open that run.",doc:"ui-overview#home"},"home.tendency":{title:"Tendency",text:"Derived from the last 5 full runs. Failing = latest run failed; flaky = pass/fail mixed or flaky tests seen in the window; passing = all recent runs green.",doc:"ui-overview#home"},"home.project-health":{title:"Project health",text:"Every project at a glance — run history bars and a tendency badge so you can immediately see which project needs attention. Only full runs count.",doc:"ui-overview#home"},"home.get-started":{title:"Get started",text:"Wire the Piwi reporter into your Playwright config to start sending results here. The wizard generates the snippet for you.",doc:"getting-started#using-the-piwi-dashboard-reporter"},"analytics.insights":{title:"Insights",text:"Auto-generated findings over the selected period — pass-rate drops, failing streaks, stale clusters, wasted CI time. Ranked by severity; click one to jump to the source."},"analytics.portfolio":{title:"Portfolio health",text:"Every project over the selected period: pass rate with its change vs the previous period, flaky volume, open failure clusters, and the latest run. Worst health sorts first."},"analytics.heatmap":{title:"Pass rate heatmap",text:"Each cell is the aggregate pass rate of one project over one time bucket — green is healthy, red is broken, gray means no runs. Longer periods use wider buckets."},"analytics.ci-time":{title:"CI time",text:"Total minutes your test runs consumed, over time, with the change vs the previous equal-length period. Steady growth here is a capacity conversation."},"analytics.wasted-time":{title:"Wasted CI time",text:"Minutes that produced no signal: time inside wait steps plus time executing attempts that ended failed or timed out. The strongest argument for fixing slow waits and flaky tests."},"analytics.flaky-leaderboard":{title:"Flakiest tests",text:"The worst flaky tests across all projects, using the same scoring as each project’s Flaky tests tab, sorted by wasted-CI impact.",doc:"flaky-tests#flaky-test-detection"},"analytics.cluster-landscape":{title:"Failure clusters",text:"Open failure clusters across all projects — the biggest and oldest unresolved root causes. Clusters outlive run retention, so this works on long horizons.",doc:"ai-diagnosis#failure-clustering"},"analytics.regression-velocity":{title:"Regression velocity",text:"How much new breakage each period introduces: tests that passed in a baseline and now fail (regressions), plus tests that turned flaky. Rising bars mean quality debt is accumulating.",doc:"flaky-tests#regression-signals"},"analytics.browser-matrix":{title:"Browser matrix",text:"Pass rate per project × browser, so a suite that is green on one browser but failing on another (a browser-specific bug) stands out immediately."},"analytics.slow-endpoints":{title:"Slow endpoints",text:"Backend calls captured during tests, aggregated across all projects by route: p50/p90 latency, error rate, and how many projects hit each one — a shared endpoint regressing shows up here first.",doc:"capture-fixtures"},"projects.tag-filter":{text:"Filter projects by tag. Selecting several tags uses OR logic — a project matching any of them is shown."},"projects.table":{title:"Projects",text:"Every project that has reported results, with its latest run, pass rate and activity. Click a row to drill in.",doc:"ui-overview#projects"},"project.import":{title:"Importing past runs",text:"Upload the archives Playwright writes to blob-report/ to backfill runs from before you adopted Piwi. One archive becomes one run, complete with traces and screenshots, and re-uploading the same archive changes nothing. Imports are silent by design — no notifications, AI diagnosis or regression signals, so a backfill never pages the team about months-old failures.",doc:"importing-runs",envVars:["PIWI_IMPORT_MAX_BYTES"]},"project.run-scope":{title:"Full vs partial runs",text:"A partial run executed only a subset of the suite (a shard, a retry, or a filtered selection). Trends use full runs so partial results don’t skew the numbers.",doc:"ui-overview#test-run-detail"},"project.runs-trend":{title:"Run trend",text:"One stacked bar per run — failed anchored at the bottom, passed on top — following the filters above. A growing red base marks where things broke; hover a bar for the counts, click it to open the run.",doc:"ui-overview#project-detail"},"project.flaky-tests":{title:"Flaky tests",text:"Tests that fail intermittently across runs. Impact estimates wasted CI time; the score (0–100) rates severity and root cause explains why.",doc:"flaky-tests#flaky-test-detection"},"project.quarantine":{title:"Quarantine",text:"A quarantined test still runs and still reports — it is only excluded from the CI gate’s verdict. Passing runs accumulate as a streak, so a test that recovers is flagged ready to release instead of staying quarantined forever.",doc:"flaky-tests#quarantine-with-a-way-out"},"project.performance":{title:"Performance",text:"Duration trends for the suite — average and P90 (the slowest 10% threshold). Use it to catch tests getting steadily slower.",doc:"flaky-tests#performance"},"project.timeline":{title:"Timeline markers",text:"Dated events — deploys, config changes, infra migrations, incidents — overlaid as vertical lines on the trend charts, so you can tell whether a change moved your results or performance. Markers can be scoped to an environment; some are detected automatically when tooling versions change between runs.",doc:"timeline-markers",envVars:["PIWI_AUTO_MARKERS"]},"project.slowest-tests":{title:"Slowest tests",text:"The tests taking the most time, ranked. Optimizing the top entries shortens your overall run the fastest.",doc:"flaky-tests#performance"},"project.run-compare":{title:"Run comparison",text:"Diff two runs to see which tests changed status or duration between them — handy for confirming a fix or spotting a regression.",doc:"ui-overview#test-run-detail"},"project.test-cases":{title:"Test cases",text:'Every distinct test in the project with its executed-only pass rate, result breakdown and average duration across runs. Search by title or file, filter by status, and switch to a per-spec tree. Cases not run within the selected age window are hidden by default (last 30 days) — pick "All time" to see obsolete ones. Click a test to see its full history.',doc:"ui-overview#project-detail"},"project.compare":{title:"Compare runs",text:"Pick two runs to see a side-by-side summary and a per-test status diff between them.",doc:"ui-overview#test-run-detail"},"project.spec-health":{title:"Spec health",text:"A heatmap grouped by spec file: pass rate, flaky rate and average time per spec, so you can find the riskiest files at a glance.",doc:"flaky-tests#spec-health-heatmap"},"project.members":{title:"Project access",text:"Who can see this project. Admins always have access; reporters and users see only the projects assigned to them.",doc:"authentication#user-management"},"project.ai-instructions":{title:"AI diagnosis instructions",text:"Extra guidance handed to the AI when diagnosing this project’s failures — e.g. domain terms, known-flaky areas, or where to look first.",doc:"ai-diagnosis#custom-instructions"},"project.scm-token":{title:"Repository access token",text:"A read-only Git host token lets diagnosis pull the actual commit diffs behind a failure for SCM-grounded analysis. Stored encrypted.",doc:"ai-diagnosis#scm-grounded-context"},"project.local-folder":{title:"Linked local folder",text:"The checkout on this machine that produces this project’s runs. Linking it enables running tests from the app and opening files in your IDE. The link is stored on this machine only — never on the server.",doc:"desktop#running-tests-from-the-app"},"run.summary":{title:"Run summary",text:"Headline outcome of this run — overall status, test counts and total duration.",doc:"ui-overview#test-run-detail"},"run.partial":{title:"Partial run",text:"This run covered only part of the suite (a shard, retry or filtered selection), so its totals aren’t a full picture.",doc:"ui-overview#test-run-detail"},"run.live":{title:"Live run",text:"This run is still streaming results in real time. Results and counts update as each test finishes.",doc:"reporter#live-streaming"},"run.ci-env":{title:"CI & environment",text:"Where this run executed — CI provider, pipeline and machine details — collected automatically by the reporter.",doc:"reporter#automatic-metadata-collection"},"run.reports":{title:"Storage & reports",text:"HTML reports, traces and attachments uploaded with this run. A run can carry several reports (e.g. per shard).",doc:"reporter#multiple-reports"},"run.metadata":{title:"Tags, links & custom data",text:"Extra context attached to the run: tags for grouping, links to external issues, and any custom key/value data your reporter sent."},"run.test-cases":{title:"Test cases",text:"Per-test results for this run. Filter by status, or by the NEW (new regression) and FLAKY signal badges.",doc:"ui-overview#test-run-detail"},"run.insights":{title:"Run insights",text:"Automatic highlights for this run — newly failing, flaky and slow tests — surfaced so you don’t have to hunt for them.",doc:"flaky-tests#run-insights"},"run.regression":{title:"Regression signals",text:"Tests that newly started failing in this run versus the project baseline — the most likely fallout from the latest change.",doc:"flaky-tests#regression-signals"},"run.timeline":{title:"Workers timeline",text:"When each test ran on each parallel worker. Gaps and long bars reveal poor parallelization or a single slow test stalling a shard.",doc:"ui-overview#test-run-detail"},"case.diagnosis-tab":{title:"Diagnosis",text:"Everything you need to understand and fix this failure in one place — the error, a verdict on what kind of failure it is, the captured evidence, and an AI diagnosis.",doc:"evidence#one-execution-diagnosis-first"},"case.verdict":{title:"Failure verdict",text:"An at-a-glance read on this failure: whether it newly regressed or is flaky, how many times it retried, and how long the test has been failing.",doc:"flaky-tests#regression-signals"},"case.evidence":{title:"Failure evidence",text:"What was captured at the moment of failure — screenshots, video and traces — grouped so you can see exactly what the browser saw.",doc:"evidence#trace-viewer"},"case.test-source":{title:"Test source",text:"The source around the failing line and the callers above it — captured from the failure’s call stack — so you can read where it broke, and the code that led there, without opening your editor. When the execution has a trace, this deepens into the complete call stack with the real source of every frame, read from the trace’s embedded files.",doc:"evidence#trace-powered-deep-views"},"export.offline":{title:"Reading this offline",text:"Takes this investigation out of the dashboard as a file that needs no network and no Piwi server. HTML is one self-contained page with screenshots and video embedded; ZIP adds the raw artifacts — trace archives, full-size video, logs — plus a machine-readable data.json; PDF is the HTML printed from your browser. Evidence past the size budget is listed in the report as omitted rather than dropped quietly.",doc:"offline-export",envVars:["PIWI_EXPORT_MAX_INLINE_BYTES","PIWI_EXPORT_MAX_BYTES","PIWI_EXPORT_MAX_CASES"]},"case.artifacts":{title:"Artifacts",text:"Traces, attachments, console output and network requests captured for this execution — the raw material behind the result.",doc:"evidence#trace-viewer"},"case.steps":{title:"Steps",text:"Each step Playwright ran, with its duration. A failed step is highlighted with its error, and slow steps are color-coded.",doc:"evidence#one-execution-diagnosis-first"},"case.wasted-time":{title:"Wasted time",text:"Time spent in fixed waits (waitForTimeout and matching patterns) that could usually be replaced with a web-first assertion.",doc:"flaky-tests#performance"},"case.ai":{title:"AI diagnosis for this execution",text:"Diagnose just this failing execution, or copy the full evidence context to paste into your own AI assistant.",doc:"ai-diagnosis#diagnosing-one-execution"},"case.web-vitals":{title:"Web Vitals",text:"Core Web Vitals (LCP, CLS, etc.) captured during the test, measuring real loading and responsiveness of the page under test.",doc:"capture-fixtures"},"case.traces":{title:"Traces",text:`Playwright trace files for this execution. "View trace" opens them in the dashboard's own trace viewer — the trace stays on your server, it is never sent to a third party.`,doc:"evidence#trace-viewer"},"case.console":{title:"Console output",text:"Browser console messages logged while this test ran — often the first clue for a JavaScript error behind a failure.",doc:"capture-fixtures"},"case.network":{title:"Network requests",text:"HTTP requests the page made during the test, with timing and status — useful for spotting failed or slow calls. When the execution has a trace, the Full trace view shows every request (all resource types) with headers, timing phases, a waterfall and capped body previews; sensitive header values are masked.",doc:"evidence#trace-powered-deep-views"},"case.backend-logs":{title:"Backend server logs",text:"Server-side warnings and errors captured during the test, correlated with this execution via a Piwi backend integration.",doc:"backend-logs"},"case.aria":{title:"ARIA snapshot",text:"A snapshot of the accessibility tree at the moment of failure — what assistive tech saw, and useful grounding for AI diagnosis.",doc:"ai-diagnosis#what-a-diagnosis-contains"},"case.flaky-count":{title:"Flaky runs",text:"How many of this test’s recent executions flipped between pass and fail without a code change.",doc:"flaky-tests#flaky-test-detection"},"case.history-chart":{title:"Duration trend",text:"This test’s duration across recent runs. Rising times or spikes hint at a slowdown or instability.",doc:"flaky-tests#flaky-test-detection"},"case.sparkline":{title:"Status history",text:"Pass/fail outcome of this test over its recent runs, oldest to newest — a quick read on its stability.",doc:"flaky-tests#flaky-test-detection"},"cluster.concept":{title:"Failure clusters",text:"Failures with the same error fingerprint are grouped into one cluster, so a single root cause shows up once instead of N times.",doc:"ai-diagnosis#failure-clustering"},"cluster.new-vs-known":{title:"New vs known failure",text:"Whether this failure matches an existing cluster (a known issue) or opened a new one — a fresh signature worth a closer look.",doc:"ai-diagnosis#failure-clustering"},"cluster.triage":{text:"Track a cluster’s state: set its status, add triage notes, or extract a subset of failures into a separate cluster."},"cluster.resolution":{title:"Resolution",text:"Recorded when a full run turns this cluster green: when the fix landed, how long the cluster stayed open, and whether the change matched the diagnosed files. If the failure comes back, the cluster is marked as regressed rather than quietly reopened.",doc:"ai-diagnosis#did-the-fix-work"},"cluster.evidence":{title:"Test evidence",text:"The concrete artifacts behind this cluster — screenshots, signals and traces from affected tests — gathered for review and AI diagnosis.",doc:"ai-diagnosis#what-a-diagnosis-contains"},"cluster.scm":{title:"What changed",text:"Recent commits and diffs around when this failure started, so you can connect the break to the change that caused it.",doc:"ai-diagnosis#scm-grounded-context"},"cluster.baseline":{title:"Baseline commit",text:"The last known-good commit. Diffs are computed from here forward to scope the search for the offending change.",doc:"ai-diagnosis#scm-grounded-context"},"cluster.commit-browser":{title:"Commit browser",text:"Browse the repository’s recent commits and inspect each diff to pick a baseline or find the suspect change.",doc:"ai-diagnosis#scm-grounded-context"},"cluster.diagnosis":{title:"AI diagnosis",text:"Runs the configured AI model over the failure plus its evidence and code changes to propose a root cause and fix.",doc:"ai-diagnosis#enabling-ai-diagnosis"},"cluster.context-input":{title:"Additional context",text:"Extra notes, files or screenshots you add to steer the diagnosis — anything the model can’t infer from the captured evidence.",doc:"ai-diagnosis#custom-instructions"},"cluster.context-preview":{title:"Context preview",text:"Exactly what will be sent to the AI, including how much was trimmed to fit the token budget. Review it before spending tokens.",doc:"ai-diagnosis#context-limits-and-token-cost"},"cluster.result":{title:"Diagnosis result",text:"The AI’s proposed root cause, fix and confidence. Treat it as a lead to verify, not proof — confirm against the evidence before acting.",doc:"ai-diagnosis#what-a-diagnosis-contains"},"cluster.ai-setup":{title:"AI not configured",text:"Diagnosis needs an AI provider and API key. Configure one in Settings → AI to enable automatic and on-demand analysis.",doc:"ai-diagnosis#enabling-ai-diagnosis"},"cluster.confidence":{title:"Confidence score",text:"How sure the model is of the top hypothesis (0–100). It is lowered when key evidence is missing or truncated, so treat a low score as “gather more before acting”.",doc:"ai-diagnosis#what-a-diagnosis-contains"},"cluster.hypotheses":{title:"Other hypotheses",text:"Alternative root causes the model weighed, ranked by likelihood. Useful when the evidence is ambiguous and the top pick is not conclusive.",doc:"ai-diagnosis#what-a-diagnosis-contains"},"cluster.coverage":{title:"Data coverage",text:"Which evidence sections were present, truncated or absent for this diagnosis — the same map the model sees. Absent or trimmed evidence lowers confidence; the quote icon marks sections the diagnosis cited.",doc:"ai-diagnosis#context-limits-and-token-cost"},"notifications.subscribe":{title:"Project notifications",text:"Get notified about this project’s runs through your channels. Choose which events trigger an alert.",doc:"notifications#subscriptions"},"settings.general":{title:"General settings",text:"Central place for account, users, AI diagnosis, notifications, storage and tags. Settings that can be overridden by environment variables show a lock badge naming the variable."},"settings.storage-stats":{title:"Storage statistics",text:"How much disk your reports, traces and attachments use, broken down so you can see what to clean up.",doc:"storage#storage-architecture"},"settings.cleanup":{title:"Cleanup old runs",text:"Delete runs (and their reports, traces and attachments) older than a chosen age to reclaim storage. This cannot be undone.",doc:"storage#storage-management"},"account.email":{title:"Email & verification",text:"Your account email is used for password resets and notifications. Verifying it confirms you own the address.",doc:"authentication#user-management"},"settings.smtp":{title:"SMTP status",text:"Outbound email (resets, invites, notifications) is configured through environment variables and shown here read-only.",doc:"notifications#smtp-configuration",envVars:["PIWI_SMTP_HOST","PIWI_SMTP_PORT","PIWI_SMTP_USER","PIWI_SMTP_PASS","PIWI_SMTP_FROM","PIWI_SMTP_FROM_NAME","PIWI_SMTP_SECURE"]},"notifications.channels":{title:"Channels",text:"Destinations an alert can go to — browser, email, Slack or webhook. Create a channel, then subscribe events to it. Administrators can make a channel global (usable by everyone); without authentication every channel is global.",doc:"notifications#channels"},"notifications.subscriptions":{title:"Subscriptions",text:"Which events (run failed, new cluster, etc.) notify which channel, optionally scoped to one project and filtered. Global subscriptions deliver instance-wide and are managed by administrators.",doc:"notifications#subscriptions"},"settings.ai-provider":{title:"AI provider",text:"Configure the model providers behind the three AI roles — diagnosis, research and embedding. Each role has its own provider config, or reuses another role’s provider and credentials. Keys are stored encrypted and never returned by the API.",doc:"ai-diagnosis#enabling-ai-diagnosis",envVars:["PIWI_AI_PROVIDER","PIWI_AI_MODEL","PIWI_AI_API_KEY","PIWI_AI_BASE_URL"]},"settings.ai-instructions":{title:"Global analysis instructions",text:"Guidance applied to every diagnosis across all projects — house style, terminology, or things to always check. Per-project instructions add to this.",doc:"ai-diagnosis#custom-instructions"},"settings.ai-research":{title:"Research model",text:"An optional cheaper/faster model that pre-analyzes the failure (on a lean view) before the main model writes the final diagnosis. It can use its own provider, and the costly SCM diff is only fetched when it flags a likely regression. It also handles cluster naming and merge adjudication, so configuring a cheap research model routes those utility calls away from the expensive diagnosis model.",doc:"ai-diagnosis#enabling-ai-diagnosis",envVars:["PIWI_AI_RESEARCH_PROVIDER","PIWI_AI_RESEARCH_MODEL","PIWI_AI_RESEARCH_BASE_URL","PIWI_AI_RESEARCH_API_KEY"]},"settings.ai-limits":{title:"Diagnosis context limits",text:"Caps on how much evidence (and how many tokens) go into each diagnosis. Higher limits give the model more to work with but cost more. Each field can be pinned individually by its env var.",doc:"ai-diagnosis#context-limits-and-token-cost",envVars:["PIWI_AI_MAX_SAMPLE_ERROR_CHARS","PIWI_AI_MAX_SCM_PATCH_BUDGET","PIWI_AI_MAX_AFFECTED_TESTS","PIWI_AI_MAX_STEPS","PIWI_AI_MAX_CONSOLE_ENTRIES","PIWI_AI_MAX_CONSOLE_ENTRY_CHARS","PIWI_AI_MAX_NETWORK_REQUESTS","PIWI_AI_MAX_ARIA_SNAPSHOT_CHARS","PIWI_AI_MAX_TEST_SOURCE_CHARS","PIWI_AI_MAX_SERVER_LOG_ENTRIES","PIWI_AI_MAX_SERVER_LOG_ENTRY_CHARS","PIWI_AI_MAX_IMAGES","PIWI_AI_MAX_PASSED_PEERS","PIWI_AI_MAX_CONSOLE_WINDOW","PIWI_AI_SLOW_REQUEST_MS","PIWI_AI_MAX_TRACE_STACK_FRAMES","PIWI_AI_MAX_TRACE_NETWORK_REQUESTS"]},"settings.users":{title:"Users & roles",text:"Manage accounts and their role. Administrators control everything; reporters submit results; users have read-only access.",doc:"authentication#roles"},"settings.api-keys":{title:"API keys",text:"Tokens (prefixed pd_) that let the reporter or scripts authenticate without a password. Shown once at creation; revoke anytime.",doc:"authentication#api-keys"},"settings.tags":{text:"Reusable labels you can attach to projects for grouping and filtering across the dashboard."},"settings.wasted-time":{title:"Wasted-time patterns",text:"Define which wait steps count as wasted time. A wait is wasted when any pattern matches its step title or source location. Patterns are case-insensitive and support * and ? wildcards. Changes apply to existing runs immediately.",doc:"flaky-tests#performance",envVars:["PIWI_WASTED_WAIT_PATTERNS"]},"settings.timeout-hygiene":{title:"Timeout hygiene",text:"Thresholds for flagging oversized per-test timeouts and stale test.slow() marks. Opportunities are recomputed at read time, so changes apply to existing runs immediately.",doc:"flaky-tests#performance"},"settings.pr-feedback":{title:"Pull-request feedback",text:"When a run finishes on a branch with an open pull request, Piwi can post a summary comment — new failures separated from pre-existing ones, with suggested locators — and set a commit status. Needs PIWI_SITE_URL and an SCM token with write access.",doc:"ci#pull-request-feedback",envVars:["PIWI_SITE_URL"]},"settings.auto-heal":{title:"Auto-heal pull requests",text:"When a locator breaks on the default branch and healing has high-confidence evidence, Piwi opens the fix pull request itself — a deterministic one-line locator edit per broken call site. Off by default, with an explicit per-project allowlist. Needs PIWI_SITE_URL and an SCM token with write access.",doc:"auto-heal",envVars:["PIWI_SITE_URL"]},"settings.auto-diagnose":{title:"Auto-diagnose",text:"When a run finishes, up to 3 new failure clusters are diagnosed automatically — each diagnosis is one research call (when a research model is configured) plus one diagnosis call — and new clusters get human-readable titles in one batched call. Requires the diagnosis model to be configured.",doc:"ai-diagnosis#enabling-ai-diagnosis",envVars:["PIWI_AI_AUTO_DIAGNOSE"]},"settings.embedding-model":{title:"Embedding model",text:"Embeds failures so semantically-similar errors group together (used by failure clustering). Can reuse another role’s provider or configure its own.",doc:"ai-diagnosis#enabling-ai-diagnosis",envVars:["PIWI_AI_EMBEDDING_PROVIDER","PIWI_AI_EMBEDDING_MODEL","PIWI_AI_EMBEDDING_BASE_URL","PIWI_AI_EMBEDDING_API_KEY"]},"settings.privacy":{title:"Privacy notice",text:"What data is sent to the configured LLM provider when diagnosing a failure, and how secrets are stored. API keys are encrypted at rest; env vars keep them out of the DB entirely.",doc:"ai-diagnosis#what-a-diagnosis-contains"},"settings.storage-backend":{title:"Storage backend",text:"Where test artifacts (HTML reports, traces, attachments) are stored — local disk or S3. Configured entirely through environment variables; shown here read-only.",doc:"storage#storage-architecture",envVars:["PIWI_STORAGE_TYPE","PIWI_STORAGE_PATH","PIWI_S3_BUCKET","PIWI_S3_REGION","PIWI_S3_ACCESS_KEY_ID","PIWI_S3_SECRET_ACCESS_KEY","PIWI_S3_ENDPOINT","PIWI_S3_FORCE_PATH_STYLE"]},"settings.auth-toggle":{title:"Authentication",text:"Role-based access control and API keys. Off by default — when disabled, every endpoint behaves as a single virtual administrator.",doc:"authentication",envVars:["PIWI_AUTH_ENABLED","PIWI_AUTH_SECRET"]},"account.display-name":{title:"Display name",text:"A friendly name shown alongside your account. Optional, and visible only within the dashboard."},"account.connected-accounts":{title:"Connected accounts",text:"Sign in with an OAuth provider (Google or GitHub). Providers are configured by an operator through environment variables; one provider can be linked per account.",doc:"authentication#oauth-google-github",envVars:["PIWI_OAUTH_GOOGLE_CLIENT_ID","PIWI_OAUTH_GOOGLE_CLIENT_SECRET","PIWI_OAUTH_GITHUB_CLIENT_ID","PIWI_OAUTH_GITHUB_CLIENT_SECRET","PIWI_OAUTH_ALLOWED_DOMAINS","PIWI_OAUTH_GITHUB_ALLOWED_ORGS"]},"account.password":{title:"Password",text:"Change the password you sign in with. OAuth-only accounts manage their password through their provider.",doc:"authentication#user-management"},"notifications.test-email":{title:"Send test email",text:"Send a test message through the configured SMTP server to verify delivery. Uses the environment-configured SMTP connection.",doc:"notifications#smtp-configuration"},"mcp.tools":{title:"What it provides",text:"The tools this MCP server exposes to AI agents, letting them query your projects, runs and failures directly.",doc:"mcp#what-it-provides"},"mcp.auth":{title:"Authentication",text:"How an MCP client authenticates to this server — uses the same API keys as the rest of the dashboard.",doc:"mcp#authentication"},"mcp.client-setup":{title:"Client setup",text:"Copy-paste configuration to connect Claude Code, Cursor, VS Code and other MCP clients to this server.",doc:"mcp#client-setup"},"shared.entity-links":{title:"Entity links",text:"Links to external systems (Jira, GitHub, etc.) attached to this item. The provider is detected automatically from the URL."},"ide.open":{title:"Open in IDE",text:"Click a source path to open it in your local editor. Set your local workspace folder (so VS Code gets an absolute path) or a JetBrains project name, then pick a method. Auto probes the JetBrains local server first (the only one it can confirm) before falling back to a vscode:// or jetbrains:// launch. These preferences live in this browser only.",doc:"ide-integration"},"locator-healing":{title:"Alternative locators",text:'When a locator breaks after a UI change, Piwi suggests pre-captured alternatives from the last passing run — or from another test in the project that uses the same locator. Each alternative is ranked by stability score — prefer data-testid (100) over CSS classes (10–40). The recommended fix shows the exact one-line edit for the failing test, with a "Copy fix prompt" for an AI coding agent. A "Your pick" badge marks a replacement you confirmed on the failing page: "Pick from snapshot" opens the failure-time DOM and lets you click the intended element, and "Pick from trace" opens the failure trace in the trace viewer, whose Pick locator tool works on the recorded page snapshots.',doc:"reporter#locator-healing"},"environment-diff":{title:"Environment diff",text:"Compares this execution’s environment (Playwright version, browser config, locale, viewport, CI provider, …) against the same test’s last passing run on the same browser. Only changed keys are shown — an empty diff rules out environment drift as the cause."},"visual-diff":{title:"Visual diff",text:"Pixel-compares the failing screenshot against the same test’s last passing screenshot (same browser). Red pixels in the overlay mark what changed. When the two screenshots have different dimensions the ratio is flagged as unreliable."},"dom-snapshot":{title:"DOM snapshot",text:"The page’s HTML around the failing action, rendered from the uploaded Playwright trace — nothing extra is captured. Input values, inline handlers and script bodies are removed; token-shaped strings are masked."},"page-state":{title:"App state at test end",text:"URL, history state, storage key names + value lengths, and cookie names + flags captured when the test ended. Values are never captured. Disable with the reporter’s capturePageState option.",doc:"capture-fixtures"}};function s(e){return t[e].envVars??[]}export{t as H,s as h};
@@ -0,0 +1 @@
1
+ import{d as a,o as s,c as n,h as o,_ as c,g as i,t as r,i as d}from"./BdQ7kfxJ.js";const l={class:"text-sm"},_=a({__name:"LoadingState",props:{text:{default:"Loading…"},padded:{type:Boolean,default:!0}},setup(e){return(p,m)=>{const t=c;return s(),n("div",{role:"status","aria-live":"polite","aria-busy":"true",class:d(["flex items-center justify-center gap-2 text-gray-400",e.padded&&"py-8"])},[o(t,{name:"i-lucide-loader-2",class:"size-4 animate-spin"}),i("span",l,r(e.text),1)],2)}}}),f=Object.assign(_,{__name:"LoadingState"});export{f as _};
@@ -0,0 +1 @@
1
+ import{a3 as K,a5 as J,o as X,e as Y,f as V,U as W,i as Q,b as g,W as Z,v as x,a8 as ee,N as te,c4 as se,ar as b,q as ne,p as oe,am as $,aI as ie}from"./BdQ7kfxJ.js";import{e as ae,t as L}from"./CrZhoZuI.js";import{e as le}from"./DwZS0oRm.js";const re={base:"relative",variants:{size:{xs:"",sm:"",md:"",lg:"",xl:""},orientation:{horizontal:"inline-flex -space-x-px",vertical:"flex flex-col -space-y-px"}}},Ie={__name:"UFieldGroup",props:{as:{type:null,required:!1},size:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(n){const i=K("fieldGroup",n),u=J(),l=x(()=>ee({extend:re,...u.ui?.fieldGroup||{}}));return te(se,x(()=>({orientation:i.orientation,size:i.size}))),(r,h)=>(X(),Y(g(Z),{as:g(i).as,"data-orientation":g(i).orientation,class:Q(l.value({orientation:g(i).orientation,class:[g(i).ui?.base,g(i).class]}))},{default:V(()=>[W(r.$slots,"default")]),_:3},8,["as","data-orientation","class"]))}},ce={normal:[],headed:["--headed"],debug:["--debug"],ui:["--ui"]};function ue(n){const a=new Map;for(const i of n){const u=i.projectName||"";a.has(u)||a.set(u,[]),a.get(u).push(i)}return a}function pe(n,a){if(a==="grep"){const l=n.map(r=>ae(r.title));return["--grep",l.length===1?l[0]:`(${l.join("|")})`]}const i=new Set,u=[];for(const l of n){const r=a==="file-line"&&l.line?`${L(l.filePath)}:${l.line}`:L(l.filePath);i.has(r)||(i.add(r),u.push(r))}return u}function de(n){return/[\s"'()|]/.test(n)?`"${n.replace(/"/g,'\\"')}"`:n}function fe(n,a={}){if(n.length===0)return[];const i=a.mode??"file-line",u=a.runMode??"normal",l=Math.min(1e3,Math.max(1,Math.floor(a.repeatEach??1))),r=[];for(const[h,v]of ue(n)){const p=pe(v,i);h&&p.push(`--project=${h}`),p.push(...ce[u]),a.trace&&p.push("--trace=on"),l>1&&p.push(`--repeat-each=${l}`),r.push({args:p,display:["playwright","test",...p.map(de)].join(" ")})}return r}function be(n){return n.progressTotal?`Running ${n.progressDone}/${n.progressTotal}…`:n.steps.length>1?`Running ${n.stepIndex+1}/${n.steps.length}…`:"Running…"}const he={mode:"file-line",runMode:"normal",trace:!1,repeatEach:1},$e=[{label:"Headless",value:"normal",icon:"i-lucide-square-terminal"},{label:"Headed",value:"headed",icon:"i-lucide-app-window"},{label:"Debug (inspector)",value:"debug",icon:"i-lucide-bug"},{label:"UI mode",value:"ui",icon:"i-lucide-layout-grid"}],_e=[{label:"File:line",value:"file-line"},{label:"Title (grep)",value:"grep"},{label:"File only",value:"file"}],S=2e3,k=15,O="piwi:desktop-local-run-options";let ge=1,E=null,w=0,m=[];const _=new Map,R=new Map;let y=null,M=null,P=!1;const ve=/^Running (\d+) tests? using \d+ workers?$/,we=/^\s{1,6}(?:✓|✘|✗|x|ok|-)\s+\d+\s/;function xe(){const n=b("desktop-local-runs",()=>[]),a=b("desktop-local-runs-tray",()=>!1),i=b("desktop-local-run-options",()=>({}));y=ne(),M=oe();const u=x(()=>n.value.filter(e=>e.status==="running").length);function l(){if(!P){P=!0;try{const e=localStorage.getItem(O);e&&(i.value=JSON.parse(e))}catch{}}}function r(e){return l(),{...he,...i.value[String(e)]}}function h(e,t){l();const s={...r(e),...t};i.value={...i.value,[String(e)]:s};try{localStorage.setItem(O,JSON.stringify(i.value))}catch{}}function v(e,t,s){if(e.lines.push({text:t,error:s}),e.lines.length>S&&e.lines.splice(0,e.lines.length-S),s)return;const o=ve.exec(t);o?e.progressTotal=(e.progressTotal??0)+Number(o[1]):we.test(t)&&(e.progressDone=Math.min(e.progressDone+1,e.progressTotal??e.progressDone+1))}function p(e,t){if(t.kind==="exit"){R.get(t.id)?.(t.code);return}v(e,t.line??"",t.kind!=="stdout")}async function T(){if(E)return;const e=ie();if(!e)throw new Error("The desktop bridge is unavailable.");E=await e.listen("piwi:local-run",({payload:t})=>{const s=_.get(t.id);s?p(s,t):w>0&&m.push(t)})}async function A(e,t){const s=$();if(!s)throw new Error("The desktop bridge is unavailable.");w+=1;let o;try{o=await s.invoke("desktop_run_local_tests",{projectId:e.projectId,args:t.args})}catch(d){throw w-=1,d}const c=new Promise(d=>R.set(o,d));_.set(o,e),e.shellId=o;const f=m.filter(d=>d.id===o);m=w>1?m.filter(d=>d.id!==o):[],w-=1;for(const d of f)p(e,d);const I=await c;return _.delete(o),R.delete(o),e.shellId=null,I}async function C(e){try{await T();let t=0;for(const[s,o]of e.steps.entries()){if(e.stopRequested)break;e.stepIndex=s,e.steps.length>1&&v(e,`$ ${o.display}`,!1);const c=await A(e,o);if(e.stopRequested)break;c!==0&&(t=c??1)}e.stopRequested?e.status="stopped":(e.exitCode=typeof t=="number"?t:1,e.status=t===0?"passed":"failed")}catch(t){v(e,le(t),!0),e.status="error"}finally{e.finishedAt=Date.now(),D(e),q()}}function D(e){if(e.status==="stopped")return;const t=e.projectLabel||"Local run",s=`${e.cases.length} test${e.cases.length===1?"":"s"}`,o=Math.max(1,Math.round(((e.finishedAt??Date.now())-e.startedAt)/1e3));N(e,t,s,o);const c={label:"View output",color:"neutral",variant:"outline",onClick:()=>{a.value=!0}},f=e.piwiRunId==null?[]:[{label:`Open run #${e.piwiRunId}`,color:"neutral",variant:"outline",onClick:()=>{M?.push(`/test-runs/${e.piwiRunId}`)}}];e.status==="passed"?y?.add({title:"Local run passed",description:`${t} — ${s} in ${o}s`,icon:"i-lucide-check",color:"success",actions:[c,...f]}):e.status==="failed"?y?.add({title:"Local run failed",description:`${t} — exit ${e.exitCode??1} after ${o}s`,icon:"i-lucide-x",color:"error",actions:[c,...f]}):y?.add({title:"Local run could not start",description:e.lines.findLast(I=>I.error)?.text,icon:"i-lucide-triangle-alert",color:"error",actions:[c]})}function N(e,t,s,o){if(typeof Notification>"u"||Notification.permission!=="granted"||!document.hidden&&document.hasFocus())return;const c=e.status==="passed"?"Local run passed":e.status==="failed"?"Local run failed":"Local run could not start",f=e.status==="failed"?`${t} — exit ${e.exitCode??1} after ${o}s`:`${t} — ${s} in ${o}s`;try{new Notification(c,{body:f})}catch{}}function q(){const e=n.value.filter(s=>s.status!=="running");if(e.length<=k)return;const t=new Set(e.slice(k).map(s=>s.key));n.value=n.value.filter(s=>!t.has(s.key))}function j(e){if(!$()||e.cases.length===0)return null;const t={...r(e.projectId),...e.options},s=fe(e.cases,t);if(s.length===0)return null;e.persistOptions!==!1&&h(e.projectId,t);const o={key:ge++,projectId:String(e.projectId),projectLabel:e.projectLabel??null,cases:e.cases.map(f=>({...f})),options:t,steps:s,stepIndex:0,status:"running",lines:[],exitCode:null,startedAt:Date.now(),finishedAt:null,shellId:null,stopRequested:!1,progressTotal:null,progressDone:0,piwiRunId:null,piwiRunBaseline:null};n.value=[o,...n.value];const c=n.value[0];return a.value=!0,F(c),C(c),c}async function F(e){try{const t=await $fetch(`/api/projects/${e.projectId}/latest-run`);e.piwiRunBaseline=t?.id??0}catch{}}async function B(){const e=Date.now()-12e4;for(const t of n.value)if(!(t.piwiRunId!=null||t.piwiRunBaseline==null)&&!(t.status!=="running"&&(t.finishedAt??0)<e))try{const s=await $fetch(`/api/projects/${t.projectId}/latest-run`);s&&s.id>t.piwiRunBaseline&&(t.piwiRunId=s.id)}catch{}}function G(e){return j({projectId:e.projectId,projectLabel:e.projectLabel,cases:e.cases,options:e.options,persistOptions:!1})}async function U(e){if(e.status!=="running")return;e.stopRequested=!0;const t=$(),s=e.shellId;if(t&&s!=null){try{await t.invoke("desktop_stop_local_tests",{runId:s})}catch{}R.get(s)?.(null)}}function z(){n.value=n.value.filter(e=>e.status==="running")}function H(e){if(e==null)return;const t=String(e);return n.value.find(s=>s.projectId===t)}return{runs:n,trayOpen:a,activeCount:u,startRun:j,rerun:G,stopRun:U,clearFinished:z,latestForProject:H,getProjectOptions:r,saveProjectOptions:h,correlatePiwiRuns:B}}export{$e as L,_e as R,Ie as _,fe as b,be as l,xe as u};
@@ -0,0 +1 @@
1
+ import{_ as pe}from"./BV8EzO8q.js";import{_ as me}from"./B7zo6PK8.js";import{_ as he,a as fe}from"./B7uPoZ7T.js";import{_ as ye}from"./Gn1Ns00e.js";import{_ as X}from"./CZ6WR7uw.js";import{_ as ge}from"./BOn5q0rT.js";import{d as Y,o as v,c as C,g as b,t as I,b as e,h as E,f as R,_ as J,i as q,k as A,m as ve,e as j,l as B,y as _e,F as K,z as Q,v as U,j as Z,A as be,B as ee,r as F,u as xe,w as we,s as ke,C as $e,D as O}from"./BdQ7kfxJ.js";import{_ as Te}from"./CfV2N201.js";import{f as V}from"./D-c8ZSws.js";import{u as Ce}from"./DTtizz85.js";import"./Bo73sAu8.js";import"./DwZS0oRm.js";import"./CrsaY0R_.js";import"./Bg63qh8W.js";import"./HGYIpJtg.js";const Ie={class:"p-3 sm:p-4 space-y-2"},Be={class:"flex items-start justify-between gap-3"},ze={class:"min-w-0 space-y-1"},Ee={class:"font-medium text-sm break-all"},Ue={class:"text-xs text-gray-500"},Ae={class:"flex items-center gap-2 shrink-0"},je={key:2,class:"text-xs"},Le={key:0,class:"text-xs text-gray-500"},Pe={class:"text-default"},De={key:1,class:"flex flex-wrap gap-x-4 gap-y-1 text-xs text-gray-500"},Re={key:0},Se={key:1},Fe={key:2},Ne={key:3},Me={key:3,class:"text-xs text-gray-500"},Ve={class:"space-y-0.5"},He={class:"text-[11px]"},Oe=Y({__name:"ImportFileRow",props:{entry:{},removable:{type:Boolean}},emits:["remove"],setup(p){const c=p,a={hashing:{label:"Reading",color:"neutral",icon:"i-lucide-loader-circle"},checking:{label:"Checking",color:"neutral",icon:"i-lucide-loader-circle"},ready:{label:"Ready",color:"primary",icon:"i-lucide-circle-check"},uploading:{label:"Importing",color:"primary",icon:"i-lucide-loader-circle"},imported:{label:"Imported",color:"success",icon:"i-lucide-check"},duplicate:{label:"Already imported",color:"neutral",icon:"i-lucide-copy-check"},"too-large":{label:"Too large",color:"warning",icon:"i-lucide-weight"},invalid:{label:"Not importable",color:"warning",icon:"i-lucide-file-x"},failed:{label:"Failed",color:"error",icon:"i-lucide-circle-alert"}},d=U(()=>a[c.entry.state]),m=U(()=>["hashing","checking","uploading"].includes(c.entry.state)),o=U(()=>c.entry.result),t=U(()=>c.entry.state==="imported"?o.value:null),h=U(()=>t.value?.kind==="trace");function n(l,i){return`${l} ${i}${l===1?"":"s"}`}return(l,i)=>{const f=J,y=ve,k=Z,$=be,x=_e,T=X;return v(),C("div",Ie,[b("div",Be,[b("div",ze,[b("p",Ee,I(p.entry.name),1),b("p",Ue,I(("formatBytes"in l?l.formatBytes:e(V))(p.entry.size)),1)]),b("div",Ae,[E(y,{color:e(d).color,variant:"subtle",size:"sm"},{default:R(()=>[E(f,{name:e(d).icon,class:q(["size-3.5 mr-1",e(m)&&"animate-spin"])},null,8,["name","class"]),A(" "+I(e(d).label),1)]),_:1},8,["color"]),p.removable?(v(),j(k,{key:0,icon:"i-lucide-x",color:"neutral",variant:"ghost",size:"xs",title:"Remove from the list",onClick:i[0]||(i[0]=s=>l.$emit("remove",p.entry.id))})):B("",!0)])]),p.entry.state==="uploading"||p.entry.state==="hashing"?(v(),j($,{key:0,"model-value":Math.round(p.entry.progress*100),size:"sm"},null,8,["model-value"])):B("",!0),p.entry.message?(v(),C("p",{key:1,class:q(["text-xs",p.entry.state==="failed"?"text-error":"text-gray-500"])},I(p.entry.message),3)):B("",!0),e(o)?.runId?(v(),C("div",je,[E(x,{to:`/test-runs/${e(o).runId}`,class:"text-primary hover:underline"},{default:R(()=>[A(" View run #"+I(e(o).runId),1)]),_:1},8,["to"])])):B("",!0),e(t)?(v(),C(K,{key:3},[e(h)?(v(),C("p",Le,[i[1]||(i[1]=A(" Added ",-1)),b("span",Pe,I(e(t).caseTitle),1),i[2]||(i[2]=A(" to this run. ",-1))])):(v(),C("div",De,[b("span",null,I(n(e(t).totalTests,"execution")),1),b("span",null,I(e(t).passedTests)+" passed",1),b("span",null,I(e(t).failedTests)+" failed",1),e(t).skippedTests?(v(),C("span",Re,I(e(t).skippedTests)+" skipped",1)):B("",!0),e(t).flakyTests?(v(),C("span",Se,I(e(t).flakyTests)+" flaky",1)):B("",!0),e(t).traceCount?(v(),C("span",Fe,I(n(e(t).traceCount,"trace")),1)):B("",!0),e(t).attachmentCount?(v(),C("span",Ne,I(n(e(t).attachmentCount,"attachment")),1)):B("",!0)])),e(t).shard?(v(),j(T,{key:2,color:"warning",variant:"subtle",icon:"i-lucide-split",description:`This archive is shard ${e(t).shard.current} of ${e(t).shard.total}. Each shard imports as its own run — they are not merged.`,ui:{description:"text-xs"}},null,8,["description"])):B("",!0),e(t).filePaths.length&&!e(h)?(v(),C("div",Me,[i[3]||(i[3]=b("p",{class:"mb-1"},[A(" Spec files recorded as "),b("span",{class:"text-gray-400"},"(these must match the paths your live runs report for history to line up)"),A(": ")],-1)),b("ul",Ve,[(v(!0),C(K,null,Q(e(t).filePaths,s=>(v(),C("li",{key:s},[b("code",He,I(s),1)]))),128))])])):B("",!0)],64)):B("",!0)])}}}),qe=Object.assign(Oe,{__name:"ImportFileRow"}),D=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),Ke=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),We=Array.from({length:256},(p,c)=>c.toString(16).padStart(2,"0"));class te{#r=new Uint32Array(Ke);#t=new Uint8Array(64);#e=0;#n=0;#i=new Uint32Array(64);#o=!1;update(c){if(this.#o)throw new Error("Sha256: update() after digest()");this.#n+=c.length;let a=0;if(this.#e>0){const d=Math.min(64-this.#e,c.length);if(this.#t.set(c.subarray(0,d),this.#e),this.#e+=d,a=d,this.#e<64)return this;this.#s(this.#t,0),this.#e=0}for(;a+64<=c.length;a+=64)this.#s(c,a);return a<c.length&&(this.#t.set(c.subarray(a),0),this.#e=c.length-a),this}digest(){if(this.#o)throw new Error("Sha256: digest() called twice");this.#o=!0;const c=this.#n*8;this.#t[this.#e++]=128,this.#e>56&&(this.#t.fill(0,this.#e),this.#s(this.#t,0),this.#e=0),this.#t.fill(0,this.#e,56);const a=new DataView(this.#t.buffer,this.#t.byteOffset,64);a.setUint32(56,Math.floor(c/4294967296),!1),a.setUint32(60,c>>>0,!1),this.#s(this.#t,0);const d=new Uint8Array(32),m=new DataView(d.buffer);for(let o=0;o<8;o++)m.setUint32(o*4,this.#r[o],!1);return d}hex(){const c=this.digest();let a="";for(let d=0;d<32;d++)a+=We[c[d]];return a}#s(c,a){const d=this.#i,m=this.#r;for(let r=0;r<16;r++){const _=a+r*4;d[r]=c[_]<<24|c[_+1]<<16|c[_+2]<<8|c[_+3]}for(let r=16;r<64;r++){const _=d[r-15],z=d[r-2],g=(_>>>7|_<<25)^(_>>>18|_<<14)^_>>>3,S=(z>>>17|z<<15)^(z>>>19|z<<13)^z>>>10;d[r]=d[r-16]+g+d[r-7]+S|0}let o=m[0],t=m[1],h=m[2],n=m[3],l=m[4],i=m[5],f=m[6],y=m[7],k=0,$=0,x=0,T=0,s=0,u=0;for(let r=0;r<64;r+=8)$=(l>>>6|l<<26)^(l>>>11|l<<21)^(l>>>25|l<<7),x=l&i^~l&f,s=y+$+x+D[r]+d[r]|0,k=(o>>>2|o<<30)^(o>>>13|o<<19)^(o>>>22|o<<10),T=o&t^o&h^t&h,u=k+T|0,n=n+s|0,y=s+u|0,$=(n>>>6|n<<26)^(n>>>11|n<<21)^(n>>>25|n<<7),x=n&l^~n&i,s=f+$+x+D[r+1]+d[r+1]|0,k=(y>>>2|y<<30)^(y>>>13|y<<19)^(y>>>22|y<<10),T=y&o^y&t^o&t,u=k+T|0,h=h+s|0,f=s+u|0,$=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),x=h&n^~h&l,s=i+$+x+D[r+2]+d[r+2]|0,k=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),T=f&y^f&o^y&o,u=k+T|0,t=t+s|0,i=s+u|0,$=(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7),x=t&h^~t&n,s=l+$+x+D[r+3]+d[r+3]|0,k=(i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10),T=i&f^i&y^f&y,u=k+T|0,o=o+s|0,l=s+u|0,$=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),x=o&t^~o&h,s=n+$+x+D[r+4]+d[r+4]|0,k=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),T=l&i^l&f^i&f,u=k+T|0,y=y+s|0,n=s+u|0,$=(y>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7),x=y&o^~y&t,s=h+$+x+D[r+5]+d[r+5]|0,k=(n>>>2|n<<30)^(n>>>13|n<<19)^(n>>>22|n<<10),T=n&l^n&i^l&i,u=k+T|0,f=f+s|0,h=s+u|0,$=(f>>>6|f<<26)^(f>>>11|f<<21)^(f>>>25|f<<7),x=f&y^~f&o,s=t+$+x+D[r+6]+d[r+6]|0,k=(h>>>2|h<<30)^(h>>>13|h<<19)^(h>>>22|h<<10),T=h&n^h&l^n&l,u=k+T|0,i=i+s|0,t=s+u|0,$=(i>>>6|i<<26)^(i>>>11|i<<21)^(i>>>25|i<<7),x=i&f^~i&y,s=o+$+x+D[r+7]+d[r+7]|0,k=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),T=t&h^t&n^h&n,u=k+T|0,l=l+s|0,o=s+u|0;m[0]=m[0]+o|0,m[1]=m[1]+t|0,m[2]=m[2]+h|0,m[3]=m[3]+n|0,m[4]=m[4]+l|0,m[5]=m[5]+i|0,m[6]=m[6]+f|0,m[7]=m[7]+y|0}}async function Ge(p,c){const a=new te,d=p.stream().getReader();let m=0;for(;;){const{done:o,value:t}=await d.read();if(o)break;a.update(t),m+=t.length,c&&c(p.size?m/p.size:1)}return c&&c(1),a.hex()}const G=["ready","failed"],Xe={ok:"ready",duplicate:"duplicate","too-large":"too-large",invalid:"invalid"};function Ye(p){const c=Je("/api/test-runs/import"),a=F([]),d=F(null),m=F(null),o=F(!1);let t=1;const h=U(()=>a.value.filter(s=>G.includes(s.state)).length),n=U(()=>a.value.filter(s=>s.state==="imported").length),l=U(()=>a.value.some(s=>s.state==="hashing"||s.state==="checking")),i=F({done:0,total:0});async function f(){if(p.value)try{const s=await $fetch("/api/test-runs/import/check",{method:"POST",body:{projectName:p.value,files:[]}});d.value=s.maxBytes,m.value=null}catch(s){m.value=M(s,"Could not reach the server to read its upload limit.")}}async function y(s){const u=s.map(g=>({id:t++,file:g,name:g.name,size:g.size,state:"hashing",progress:0}));a.value=[...a.value,...u];const r=a.value.slice(-u.length),_=[];for(const g of r)d.value!=null&&g.size>d.value?(g.state="too-large",g.message=`${V(g.size)} exceeds the ${V(d.value)} limit.`):g.size===0?(g.state="invalid",g.message="The file is empty."):g.name.toLowerCase().endsWith(".zip")?_.push(g):(g.state="invalid",g.message="Expected a .zip blob report (blob-report/report-*.zip).");if(_.length===0)return;for(const g of _)try{g.progress=0,g.hash=await Ge(g.file,S=>{g.progress=S}),g.state="checking"}catch(S){g.state="failed",g.message=M(S,"Could not read the file.")}finally{g.progress=0}const z=await Qe(_);for(const g of _)g.group=z??void 0;await k(_.filter(g=>g.state==="checking"))}async function k(s){if(!(s.length===0||!p.value))try{const u=await $fetch("/api/test-runs/import/check",{method:"POST",body:{projectName:p.value,files:s.map(r=>({name:r.name,size:r.size,hash:r.hash}))}});d.value=u.maxBytes,u.results.forEach((r,_)=>{const z=s[_];z&&(z.state=Xe[r.status]??"ready",z.message=r.message,r.runId&&(z.result={runId:r.runId}))})}catch(u){const r=M(u,"Pre-flight check failed.");for(const _ of s)_.state="ready",_.message=`${r} Importing will still verify it.`}}async function $(){if(o.value||!p.value)return;o.value=!0;const s=a.value.filter(u=>G.includes(u.state));i.value={done:0,total:s.length};try{for(const u of s){u.state="uploading",u.message=void 0,u.progress=0;try{const r=await Ze(c,p.value,u,u.group??null,_=>{u.progress=_});u.result=r,u.state=r.status==="duplicate"?"duplicate":"imported",u.message=r.status==="duplicate"?"Already imported into this project.":void 0}catch(r){u.state="failed",u.message=M(r,"The import failed.")}finally{u.progress=0,i.value={...i.value,done:i.value.done+1}}}}finally{o.value=!1}}function x(s){a.value=a.value.filter(u=>u.id!==s)}function T(){a.value=a.value.filter(s=>!["imported","duplicate"].includes(s.state))}return{entries:a,maxBytes:d,limitError:m,importing:o,readyCount:h,importedCount:n,busy:l,batch:i,loadLimit:f,addFiles:y,startImport:$,remove:x,clearFinished:T}}function Je(p){return`${(ee().app.baseURL||"/").replace(/\/$/,"")}${p}`}async function Qe(p){const c=p.map(a=>a.hash).filter(a=>!!a);return c.length===0?null:new te().update(new TextEncoder().encode([...c].sort().join(""))).hex()}function Ze(p,c,a,d,m){return new Promise((o,t)=>{const h=new FormData;h.append("projectName",c),d&&h.append("importGroup",d),h.append("archive",a.file,a.name);const n=new XMLHttpRequest;n.open("POST",p),n.responseType="json",n.upload.addEventListener("progress",l=>{l.lengthComputable&&m(l.loaded/l.total)}),n.addEventListener("load",()=>{const l=n.response;if(n.status>=200&&n.status<300){o(l);return}const i=typeof l?.message=="string"?l.message:null;t(new Error(i??et(n.status)))}),n.addEventListener("error",()=>t(new Error("The connection dropped during the upload."))),n.addEventListener("abort",()=>t(new Error("The upload was cancelled."))),n.addEventListener("timeout",()=>t(new Error("The upload timed out."))),n.send(h)})}function et(p){return p===413?"The server (or a proxy in front of it) rejected the archive as too large.":p===401||p===403?"You do not have permission to import into this project.":p===0?"The connection dropped during the upload.":p>=500?`The server failed while importing (HTTP ${p}).`:`The import was rejected (HTTP ${p}).`}function M(p,c){const a=p?.data;return typeof a?.message=="string"&&a.message?a.message:p?.message||c}const tt={class:"p-4 space-y-4"},st={class:"space-y-4"},ot={class:"text-sm text-gray-600 dark:text-gray-400 space-y-2"},rt={class:"flex items-center gap-2"},nt={key:0,class:"text-xs text-gray-500 tabular-nums"},it={class:"space-y-4"},at={key:0,class:"text-xs text-gray-500 mt-3"},lt={key:1,class:"divide-y divide-gray-100 dark:divide-gray-800 border rounded-lg border-gray-200 dark:border-gray-800"},ct={key:2,class:"flex justify-end"},Tt=Y({__name:"import",async setup(p){let c,a;const m=xe().params.id,{data:o}=([c,a]=we(()=>Ce(`/api/projects/${m}`,"$GhVKHsNemL")),c=await c,a(),c);ke(U(()=>({title:`Import runs — ${o.value?.label||o.value?.name||"Project"} — Piwi Dashboard`})));const t=ee().public.demoMode,h=U(()=>o.value?.name),{entries:n,maxBytes:l,limitError:i,importing:f,readyCount:y,importedCount:k,busy:$,batch:x,loadLimit:T,addFiles:s,startImport:u,remove:r,clearFinished:_}=Ye(h);$e(T);const z=F(null),g=F(!1);function S(L){const w=L.target;w.files?.length&&s([...w.files]),w.value=""}function se(L){g.value=!1;const w=[...L.dataTransfer?.files??[]];w.length&&s(w)}const oe=U(()=>n.value.filter(L=>["imported","duplicate"].includes(L.state)).length);return(L,w)=>{const re=pe,ne=me,ie=fe,ae=ye,H=X,W=ge,N=Z,le=J,ce=Te,de=qe,ue=he;return v(),j(ue,{id:"project-import"},{header:R(()=>[E(ie,null,{leading:R(()=>[E(re),E(ne,{items:[{label:"Home",icon:"i-lucide-house",to:"/"},{label:"Projects",to:"/projects"},{label:e(o)?.label||e(o)?.name||"Project",to:`/projects/${e(m)}`},{label:"Import runs"}]},null,8,["items"])]),_:1})]),body:R(()=>[b("div",tt,[E(W,{title:"Import past runs",icon:"i-lucide-import",help:"project.import",subtitle:"Backfill runs recorded before you started using Piwi, from Playwright's own blob reports."},{default:R(()=>[b("div",st,[b("div",ot,[w[5]||(w[5]=b("p",null,[A(" Run your suite with the blob reporter and upload the archives it writes to "),b("code",null,"blob-report/"),A(": ")],-1)),E(ae,{code:"npx playwright test --reporter=blob",language:"bash"}),w[6]||(w[6]=b("p",null," Each archive imports as one completed run, with its traces, screenshots and videos. Importing the same archive twice does nothing, so an interrupted batch is safe to repeat. ",-1))]),e(t)?(v(),j(H,{key:0,color:"primary",variant:"subtle",icon:"i-lucide-monitor-smartphone",title:"Nothing leaves your browser",description:"This is the demo: the archive is read by a service worker and stored in your browser, not uploaded. It is cleared when the demo's sample data is refreshed, or when you reset the demo.",ui:{description:"text-xs"}})):B("",!0),E(H,{color:"neutral",variant:"subtle",icon:"i-lucide-info",title:"What imported runs carry",description:"Failures still cluster, and traces, screenshots and videos open exactly as they do for reported runs. Web vitals, page state and locator healing come from Piwi's own capture fixtures, so historical runs have none — they start once the reporter is in place.",ui:{description:"text-xs"}}),e(i)?(v(),j(H,{key:1,color:"error",variant:"subtle",icon:"i-lucide-circle-alert",description:e(i)},null,8,["description"])):B("",!0)])]),_:1}),E(W,{title:"Archives",icon:"i-lucide-files",count:e(n).length||null},{actions:R(()=>[b("div",rt,[e(f)?(v(),C("span",nt,I(e(x).done)+" of "+I(e(x).total)+" done ",1)):B("",!0),e(oe)>0&&!e(f)?(v(),j(N,{key:1,label:"Clear finished",icon:"i-lucide-eraser",color:"neutral",variant:"ghost",size:"sm",disabled:e(f),onClick:w[0]||(w[0]=P=>e(_)())},null,8,["disabled"])):B("",!0),E(N,{label:e(y)>0?`Import ${e(y)} archive${e(y)===1?"":"s"}`:"Import",icon:"i-lucide-upload",size:"sm",loading:e(f),disabled:e(y)===0||e($),onClick:w[1]||(w[1]=P=>e(u)())},null,8,["label","loading","disabled"])])]),default:R(()=>[b("div",it,[b("div",{class:q(["rounded-lg border-2 border-dashed p-6 text-center transition-colors",e(g)?"border-primary bg-primary/5":"border-gray-200 dark:border-gray-700"]),onDragover:w[3]||(w[3]=O(P=>g.value=!0,["prevent"])),onDragleave:w[4]||(w[4]=O(P=>g.value=!1,["prevent"])),onDrop:O(se,["prevent"])},[E(le,{name:"i-lucide-file-archive",class:"size-7 text-gray-400 mb-2"}),w[7]||(w[7]=b("p",{class:"text-sm text-gray-600 dark:text-gray-400"},[A("Drop "),b("code",null,"report-*.zip"),A(" files here, or")],-1)),E(N,{label:"Choose files",icon:"i-lucide-folder-open",variant:"outline",size:"sm",class:"mt-2",disabled:e(f),onClick:w[2]||(w[2]=P=>e(z)?.click())},null,8,["disabled"]),e(l)?(v(),C("p",at," Up to "+I(("formatBytes"in L?L.formatBytes:e(V))(e(l)))+" per archive. Larger ones are rejected here, before uploading. ",1)):B("",!0),b("input",{ref_key:"fileInput",ref:z,type:"file",accept:".zip",multiple:"",class:"hidden",onChange:S},null,544)],34),e(n).length===0?(v(),j(ce,{key:0,icon:"i-lucide-inbox",text:"No archives selected yet."})):(v(),C("div",lt,[(v(!0),C(K,null,Q(e(n),P=>(v(),j(de,{key:P.id,entry:P,removable:!e(f)&&P.state!=="uploading",onRemove:e(r)},null,8,["entry","removable","onRemove"]))),128))])),e(k)>0?(v(),C("div",ct,[E(N,{label:`Open ${e(o)?.label||e(o)?.name||"project"}`,icon:"i-lucide-arrow-right",trailing:"",variant:"ghost",size:"sm",to:`/projects/${e(m)}`},null,8,["label","to"])])):B("",!0)])]),_:1},8,["count"])])]),_:1})}}});export{Tt as default};
@@ -0,0 +1 @@
1
+ import{_ as f}from"./C_eXufkv.js";import{d as b,o as s,e as y,f as d,c as o,F as r,z as u,b as p,a1 as h,i as m,g as n,t as l,v as x}from"./BdQ7kfxJ.js";const w={key:0,class:"flex gap-0.5 h-2.5 w-full min-w-30 overflow-hidden rounded-full bg-zinc-200 dark:bg-zinc-700"},g={key:1,class:"text-xs text-zinc-400 dark:text-zinc-500 italic"},v={class:"min-w-52 space-y-1.5 rounded-md bg-zinc-900 px-3 py-2 text-sm shadow-lg"},z={class:"font-semibold text-white"},B={class:"text-white"},C={class:"ml-4 tabular-nums font-medium text-white"},F={class:"ml-auto tabular-nums text-zinc-300 text-xs"},N=b({__name:"TestStatusBar",props:{passed:{},failed:{},skipped:{},flaky:{},total:{},didNotRun:{}},setup(i){const t=i,c=x(()=>t.total?[{key:"passed",label:"Passed",count:t.passed-t.flaky,color:"bg-emerald-500"},{key:"failed",label:"Failed",count:t.failed,color:"bg-rose-500"},{key:"flaky",label:"Flaky",count:t.flaky,color:"bg-purple-500"},{key:"skipped",label:"Skipped",count:t.skipped,color:"bg-zinc-400"},{key:"didNotRun",label:"Didn't run",count:t.didNotRun??0,color:"bg-amber-300 dark:bg-amber-700"}].filter(a=>a.count>0).map(a=>({...a,widthPct:a.count/t.total*100,displayPct:(a.count/t.total*100).toFixed(1)})):[]);return(_,a)=>{const k=f;return s(),y(k,{ui:{content:"overflow-visible !p-0"}},{content:d(()=>[n("div",v,[n("div",z,l(i.total)+" tests total",1),(s(!0),o(r,null,u(p(c),e=>(s(),o("div",{key:e.key,class:"flex items-center gap-2 whitespace-nowrap"},[n("span",{class:m([e.color,"inline-block h-2.5 w-2.5 shrink-0 rounded-sm"])},null,2),n("span",B,l(e.label),1),n("span",C,l(e.count),1),n("span",F,l(e.displayPct)+"%",1)]))),128))])]),default:d(()=>[i.total>0?(s(),o("div",w,[(s(!0),o(r,null,u(p(c),e=>(s(),o("div",{key:e.key,class:m([e.color,"h-full transition-all"]),style:h({width:e.widthPct+"%"})},null,6))),128))])):(s(),o("div",g,"No tests"))]),_:1})}}}),R=Object.assign(N,{__name:"TestStatusBar"});export{R as _};
@@ -0,0 +1 @@
1
+ import{r as C,a as I,b8 as N,ap as D,b9 as X,M as G,aQ as K,Z as Q,a3 as U,a6 as Y,a_ as Z,a4 as V,a5 as H,o as W,e as F,V as ee,b as p,j as te,v as E,a8 as J,ba as oe,x as j,f as ne,U as ie,i as ae,W as re}from"./BdQ7kfxJ.js";const se=3456e4;function le(e,a,t){const n=e.indexOf(";",a);return n===-1?t:n}function ue(e,a,t){const n=e.indexOf("=",a);return n<t?n:-1}function M(e,a,t){if(a===t)return"";let n=a,i=t;do{const l=e.charCodeAt(n);if(l!==32&&l!==9)break}while(++n<i);for(;i>n;){const l=e.charCodeAt(i-1);if(l!==32&&l!==9)break;i--}return e.slice(n,i)}const ce=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function de(e,a){const t=new ce,n=e.length;if(n<2)return t;const i=a?.decode||fe,l=a?.allowMultiple||!1;let o=0;do{const c=ue(e,o,n);if(c===-1)break;const u=le(e,o,n);if(c>u){o=e.lastIndexOf(";",c-1)+1;continue}const r=M(e,o,c);if(a?.filter&&!a.filter(r)){o=u+1;continue}const f=i(M(e,c+1,u));if(l){const d=t[r];d===void 0?t[r]=f:Array.isArray(d)?d.push(f):t[r]=[d,f]}else t[r]===void 0&&(t[r]=f);o=u+1}while(o<n);return t}function fe(e){if(!e.includes("%"))return e;try{return decodeURIComponent(e)}catch{return e}}const pe=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,ve=/^[\u0021-\u003A\u003C-\u007E]*$/,he=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,me=/^[\u0020-\u003A\u003C-\u007E]*$/,ge=Object.prototype.toString;function $(e,a,t){const n=typeof e=="object"&&e!==null,i=n?a:t,l=i?.stringify||JSON.stringify,o=n?e:{...t,name:e,value:a==null?"":typeof a=="string"?a:l(a)},c=i?.encode||encodeURIComponent;if(!pe.test(o.name))throw new TypeError(`argument name is invalid: ${o.name}`);const u=o.value?c(o.value):"";if(!ve.test(u))throw new TypeError(`argument val is invalid: ${o.value}`);if(!o.secure){if(o.partitioned)throw new TypeError("Partitioned cookies must have the Secure attribute");if(o.sameSite&&String(o.sameSite).toLowerCase()==="none")throw new TypeError("SameSite=None cookies must have the Secure attribute");if(o.name.length>9&&o.name.charCodeAt(0)===95&&o.name.charCodeAt(1)===95){const f=o.name.toLowerCase();if(f.startsWith("__secure-")||f.startsWith("__host-"))throw new TypeError(`${o.name} cookies must have the Secure attribute`)}}if(o.name.length>7&&o.name.charCodeAt(0)===95&&o.name.charCodeAt(1)===95&&o.name.toLowerCase().startsWith("__host-")){if(o.path!=="/")throw new TypeError("__Host- cookies must have Path=/");if(o.domain)throw new TypeError("__Host- cookies must not have a Domain attribute")}let r=o.name+"="+u;if(o.maxAge!==void 0){if(!Number.isInteger(o.maxAge))throw new TypeError(`option maxAge is invalid: ${o.maxAge}`);r+="; Max-Age="+Math.max(0,Math.min(o.maxAge,se))}if(o.domain){if(!he.test(o.domain))throw new TypeError(`option domain is invalid: ${o.domain}`);r+="; Domain="+o.domain}if(o.path){if(!me.test(o.path))throw new TypeError(`option path is invalid: ${o.path}`);r+="; Path="+o.path}if(o.expires){if(!be(o.expires)||!Number.isFinite(o.expires.valueOf()))throw new TypeError(`option expires is invalid: ${o.expires}`);r+="; Expires="+o.expires.toUTCString()}if(o.httpOnly&&(r+="; HttpOnly"),o.secure&&(r+="; Secure"),o.partitioned&&(r+="; Partitioned"),o.priority)switch(typeof o.priority=="string"?o.priority.toLowerCase():void 0){case"low":r+="; Priority=Low";break;case"medium":r+="; Priority=Medium";break;case"high":r+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${o.priority}`)}if(o.sameSite)switch(typeof o.sameSite=="string"?o.sameSite.toLowerCase():o.sameSite){case!0:case"strict":r+="; SameSite=Strict";break;case"lax":r+="; SameSite=Lax";break;case"none":r+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${o.sameSite}`)}return r}function be(e){return ge.call(e)==="[object Date]"}function g(e){if(typeof e!="object")return e;var a,t,n=Object.prototype.toString.call(e);if(n==="[object Object]"){if(e.constructor!==Object&&typeof e.constructor=="function"){t=new e.constructor;for(a in e)e.hasOwnProperty(a)&&t[a]!==e[a]&&(t[a]=g(e[a]))}else{t={};for(a in e)a==="__proto__"?Object.defineProperty(t,a,{value:g(e[a]),configurable:!0,enumerable:!0,writable:!0}):t[a]=g(e[a])}return t}if(n==="[object Array]"){for(a=e.length,t=Array(a);a--;)t[a]=g(e[a]);return t}return n==="[object Set]"?(t=new Set,e.forEach(function(i){t.add(g(i))}),t):n==="[object Map]"?(t=new Map,e.forEach(function(i,l){t.set(g(l),g(i))}),t):n==="[object Date]"?new Date(+e):n==="[object RegExp]"?(t=new RegExp(e.source,e.flags),t.lastIndex=e.lastIndex,t):n==="[object DataView]"?new e.constructor(g(e.buffer)):n==="[object ArrayBuffer]"?e.slice(0):n.slice(-6)==="Array]"?new e.constructor(e):e}function ye(e){if(e!=="undefined")try{const a=JSON.parse(e);return typeof a=="number"&&String(a)!==e?e:a}catch{return e}}const Se={path:"/",watch:!0,decode:e=>e&&ye(decodeURIComponent(e)),encode:e=>{if(typeof e!="string"||e==="undefined")return encodeURIComponent(JSON.stringify(e));try{if(typeof JSON.parse(e)!="string")return encodeURIComponent(JSON.stringify(e))}catch{}return encodeURIComponent(e)},refresh:!1},R=globalThis.cookieStore;function we(e,a){const t={...Se,...a};t.filter??=r=>r===e;const n=B(t)||{};let i;t.maxAge!==void 0?i=t.maxAge*1e3:t.expires&&(i=t.expires.getTime()-Date.now());const l=i!==void 0&&i<=0,o=l||n[e]===void 0||n[e]===null,c=g(l?void 0:n[e]??t.default?.()),u=i&&!l?Oe(c,i,t.watch&&t.watch!=="shallow"):C(c);{let r=null;try{!R&&typeof BroadcastChannel<"u"&&(r=new BroadcastChannel(`nuxt:cookies:${e}`))}catch{}const f=(h=!1)=>{if(!h&&(t.readonly||K(u.value,n[e])))return;const b=u.value===null||u.value===void 0?void 0:t.encode(u.value);ke(e,b,t),n[e]=g(u.value),r?.postMessage({value:t.encode(u.value)})},d=h=>{const b=h.refresh?B(t)?.[e]:t.decode(h.value);y=!0,u.value=b,n[e]=g(b),G(()=>{y=!1})};let y=!1;const S=!!N();if(S&&D(()=>{y=!0,f(),r?.close()}),R){const h=b=>{const A=b.changed.find(k=>k.name===e),L=b.deleted.find(k=>k.name===e);A&&d({value:A.value}),L&&d({value:null})};R.addEventListener("change",h),S&&D(()=>R.removeEventListener("change",h))}else r&&(r.onmessage=({data:h})=>d(h));t.watch&&I(u,()=>{y||f(t.refresh)},{deep:t.watch!=="shallow"}),o&&f(o)}return u}function B(e={}){return de(document.cookie,e)}const Ce=e=>e;function ze(e){const{encode:a,decode:t,...n}=e;return{...n,encode:Ce}}function Ee(e,a,t={}){const n=ze(t);return a===void 0?$(e,"",{...n,maxAge:-1}):$(e,a,n)}function ke(e,a,t={}){document.cookie=Ee(e,a,t)}const P=2147483647;function Oe(e,a,t){let n,i,l=0;const o=t?C(e):{value:e};return N()&&D(()=>{i?.(),clearTimeout(n)}),X((c,u)=>{t&&(i=I(o,u));function r(){const d=a-l,y=d<P?d:P;n=setTimeout(()=>{if(l+=y,l<a)return r();o.value=void 0,u()},y)}function f(){l=0,clearTimeout(n),r()}return{get(){return c(),o.value},set(d){f(),o.value=d,u()}}})}const[Te,xe]=Q("DashboardGroup"),_e={base:"lg:hidden",variants:{side:{left:"",right:""}}},je=Object.assign({inheritAttrs:!1},{__name:"UDashboardSidebarToggle",props:{color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1,default:"ghost"},side:{type:String,required:!1,default:"left"},ui:{type:Object,required:!1},label:{type:String,required:!1},activeColor:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},class:{type:null,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},exactActiveClass:{type:String,required:!1},viewTransition:{type:Boolean,required:!1}},setup(e){const t=U("dashboardSidebarToggle",e),n=Y(Z(t,"icon","side","class")),{t:i}=V(),l=H(),{sidebarOpen:o,toggleSidebar:c}=Te({sidebarOpen:C(!1),toggleSidebar:()=>{}}),u=E(()=>J({extend:_e,...l.ui?.dashboardSidebarToggle||{}}));return(r,f)=>(W(),F(te,ee({...p(n),icon:p(t).icon||(p(o)?p(l).ui.icons.close:p(l).ui.icons.menu),"aria-label":p(o)?p(i)("dashboardSidebarToggle.close"):p(i)("dashboardSidebarToggle.open"),...r.$attrs},{class:u.value({class:[p(t).ui?.base,p(t).class],side:p(t).side}),onClick:p(c)}),null,16,["class","onClick"]))}});function Re(e,a={},{collapsed:t=C(!1)}={}){const n=C(null),i=E(()=>({side:"left",minSize:0,maxSize:100,defaultSize:0,storage:"cookie",persistent:!0,collapsible:!1,collapsedSize:0,resizable:!0,unit:"%",...j(a)?a.value:a})),{dir:l}=V(),o={size:i.value.defaultSize,collapsed:p(t)??!1},c=i.value.persistent&&(i.value.resizable||i.value.collapsible)?i.value.storage==="cookie"?we(e,{...i.value.storageOptions,default:()=>o}):oe(e,o,void 0,i.value.storageOptions):C(o),u=s=>{c.value?Object.assign(c.value,s):c.value={...o,...s}},r=E({get:()=>c.value?.collapsed??o.collapsed,set:s=>{i.value.collapsible&&(j(t)&&(t.value=s),u({collapsed:s}))}}),f=C(i.value.defaultSize),d=E({get:()=>c.value?.size??i.value.defaultSize,set:s=>{u({size:s})}}),y=E(()=>r.value?i.value.collapsedSize:d.value),S=C(!1),h=()=>i.value.unit==="rem"?Number.parseFloat(getComputedStyle(document.documentElement).fontSize):1,b=(s,v,O,T)=>{if(!n.value||!i.value.resizable)return;const _=n.value.parentElement?.offsetWidth||1,z=l.value==="rtl";let m;z?m=i.value.side==="left"?v-s:s-v:m=i.value.side==="left"?s-v:v-s;const w=O+m;let q;if(i.value.unit==="rem"?q=w/T:i.value.unit==="px"?q=w:q=w/_*100,i.value.collapsible&&q<i.value.collapsedSize+4){x(!0);return}else r.value&&x(!1);d.value=Math.min(i.value.maxSize,Math.max(i.value.minSize,q))},A=s=>{if(!n.value||!i.value.resizable)return;s.preventDefault(),s.stopPropagation();const v=n.value.getBoundingClientRect().width;if(!v)return;const O=s.clientX,T=v,_=h();S.value=!0;const z=w=>{b(w.clientX,O,T,_)},m=()=>{S.value=!1,document.removeEventListener("mousemove",z),document.removeEventListener("mouseup",m)};document.addEventListener("mousemove",z),document.addEventListener("mouseup",m)},L=s=>{if(!n.value||!i.value.resizable||!s.touches[0])return;s.preventDefault(),s.stopPropagation();const v=n.value.getBoundingClientRect().width;if(!v)return;const O=s.touches[0].clientX,T=v,_=h();S.value=!0;const z=w=>{w.touches[0]&&b(w.touches[0].clientX,O,T,_)},m=()=>{S.value=!1,document.removeEventListener("touchmove",z),document.removeEventListener("touchend",m),document.removeEventListener("touchcancel",m)};document.addEventListener("touchmove",z,{passive:!1}),document.addEventListener("touchend",m),document.addEventListener("touchcancel",m)},k=s=>{!n.value||!i.value.resizable||(s.preventDefault(),s.stopPropagation(),r.value&&x(!1),d.value=i.value.defaultSize)},x=s=>{if(!i.value.collapsible)return;const v=s??!r.value;v&&!r.value?f.value=d.value:!v&&r.value&&(d.value=f.value),r.value=v};return j(t)&&c.value?.collapsed&&(t.value=c.value.collapsed),j(t)&&I(t,s=>{i.value.collapsible&&c.value?.collapsed!==s&&(r.value=s)}),{el:n,size:y,isDragging:S,isCollapsed:r,onMouseDown:A,onTouchStart:L,onDoubleClick:k,collapse:x}}const qe={base:"hidden lg:block touch-none select-none cursor-ew-resize relative before:absolute before:inset-y-0 before:-left-1.5 before:-right-1.5 before:z-1"},Le={__name:"UDashboardResizeHandle",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(e){const t=U("dashboardResizeHandle",e),n=H(),i=E(()=>J({extend:qe,...n.ui?.dashboardResizeHandle||{}}));return(l,o)=>(W(),F(p(re),{as:p(t).as,role:"separator",class:ae(i.value({class:[p(t).ui?.base,p(t).class]}))},{default:ne(()=>[ie(l.$slots,"default")]),_:3},8,["as","class"]))}};export{je as _,Te as a,Re as b,Le as c,xe as p,we as u};
@@ -0,0 +1 @@
1
+ import{Z as D,d as G,T as L,Y,c8 as O,o as i,c as S,e as f,f as v,U as C,b as e,V as _,R as J,D as X,ai as T,W as $,l as x,F as ee,v as m,bZ as E,aQ as P,h as B,aA as ae,a2 as re,a3 as te,a5 as se,a6 as le,a7 as ie,aK as oe,aR as ne,g as de,i as c,_ as j,k as N,t as K,a8 as ue}from"./BdQ7kfxJ.js";import{i as M}from"./DKgbchez.js";import{u as ce}from"./i7znB42v.js";import{u as pe}from"./BO4sfkbw.js";import{V as fe}from"./rPG7kzfL.js";import{R as ve}from"./WZXZeGYt.js";import{L as U}from"./CxwnFFD0.js";const[be]=D("CheckboxGroupRoot");function A(o){return o==="indeterminate"}function Z(o){return A(o)?"indeterminate":o?"checked":"unchecked"}const[me,he]=D("CheckboxRoot");var ge=G({inheritAttrs:!1,__name:"CheckboxRoot",props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:"on"},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue"],setup(o,{emit:h}){const r=o,l=h,{forwardRef:g,currentElement:a}=L(),s=be(null),d=Y(r,"modelValue",l,{defaultValue:r.defaultValue??r.falseValue,passive:r.modelValue===void 0}),p=m(()=>s?.disabled.value||r.disabled),q=m(()=>P(d.value,r.trueValue)),u=m(()=>E(s?.modelValue.value)?d.value==="indeterminate"?"indeterminate":q.value:M(s.modelValue.value,r.value));function z(){if(E(s?.modelValue.value))d.value==="indeterminate"?d.value=r.trueValue:d.value=q.value?r.falseValue:r.trueValue;else{const t=[...s.modelValue.value||[]];if(M(t,r.value)){const y=t.findIndex(I=>P(I,r.value));t.splice(y,1)}else t.push(r.value);s.modelValue.value=t}}const F=ce(a),k=pe(),R=O(),V=m(()=>{if(!R["aria-label"])return r.id&&a.value?document.querySelector(`[for="${r.id}"]`)?.innerText:void 0});return he({disabled:p,state:u}),(t,y)=>(i(),S(ee,null,[(i(),f(T(e(s)?.rovingFocus.value?e(ve):e($)),_({...t.$attrs,...e(k)},{id:t.id,ref:e(g),role:"checkbox","as-child":t.asChild,as:t.as,type:t.as==="button"?"button":void 0,"aria-checked":e(A)(u.value)?"mixed":u.value,"aria-required":t.required,"aria-label":t.$attrs["aria-label"]||V.value,"data-state":e(Z)(u.value),"data-disabled":p.value?"":void 0,disabled:p.value,focusable:e(s)?.rovingFocus.value?!p.value:void 0,onKeydown:J(X(()=>{},["prevent"]),["enter"]),onClick:z}),{default:v(()=>[C(t.$slots,"default",{modelValue:e(d),state:u.value})]),_:3},16,["id","as-child","as","type","aria-checked","aria-required","aria-label","data-state","data-disabled","disabled","focusable","onKeydown"])),e(F)&&t.name&&!e(s)?(i(),f(e(fe),_({key:0,type:"checkbox",checked:!!u.value,name:t.name,value:t.value,disabled:p.value,required:t.required},e(k)),null,16,["checked","name","value","disabled","required"])):x("v-if",!0)],64))}}),ye=ge,qe=G({__name:"CheckboxIndicator",props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(o){const{forwardRef:h}=L(),r=me();return(l,g)=>(i(),f(e(ae),{present:l.forceMount||e(A)(e(r).state.value)||e(r).state.value===!0},{default:v(()=>[B(e($),_({ref:e(h),"data-state":e(Z)(e(r).state.value),"data-disabled":e(r).disabled.value?"":void 0,style:{pointerEvents:"none"},"as-child":l.asChild,as:l.as},l.$attrs),{default:v(()=>[C(l.$slots,"default")]),_:3},16,["data-state","data-disabled","as-child","as"])]),_:3},8,["present"]))}}),ke=qe;const Ve={slots:{root:"relative flex items-start",container:"flex items-center",base:"rounded-sm ring ring-inset ring-accented overflow-hidden focus-visible:outline-3",indicator:"flex items-center justify-center size-full text-inverted",icon:"shrink-0 size-full",wrapper:"w-full",label:"block font-medium text-default",description:"text-muted"},variants:{color:{primary:{base:"outline-primary/25 focus-visible:ring-primary",indicator:"bg-primary"},secondary:{base:"outline-secondary/25 focus-visible:ring-secondary",indicator:"bg-secondary"},success:{base:"outline-success/25 focus-visible:ring-success",indicator:"bg-success"},info:{base:"outline-info/25 focus-visible:ring-info",indicator:"bg-info"},warning:{base:"outline-warning/25 focus-visible:ring-warning",indicator:"bg-warning"},error:{base:"outline-error/25 focus-visible:ring-error",indicator:"bg-error"},neutral:{base:"outline-inverted/25 focus-visible:ring-inverted",indicator:"bg-inverted"}},variant:{list:{root:""},card:{root:"border border-muted rounded-lg"}},indicator:{start:{root:"flex-row",wrapper:"ms-2"},end:{root:"flex-row-reverse",wrapper:"me-2"},hidden:{base:"sr-only",wrapper:"text-center"}},size:{xs:{base:"size-3",container:"h-4",wrapper:"text-xs"},sm:{base:"size-3.5",container:"h-4",wrapper:"text-xs"},md:{base:"size-4",container:"h-5",wrapper:"text-sm"},lg:{base:"size-4.5",container:"h-5",wrapper:"text-sm"},xl:{base:"size-5",container:"h-6",wrapper:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},disabled:{true:{root:"opacity-75",base:"cursor-not-allowed",label:"cursor-not-allowed",description:"cursor-not-allowed"}},highlight:{true:""},checked:{true:""}},compoundVariants:[{size:"xs",variant:"card",class:{root:"p-2.5"}},{size:"sm",variant:"card",class:{root:"p-3"}},{size:"md",variant:"card",class:{root:"p-3.5"}},{size:"lg",variant:"card",class:{root:"p-4"}},{size:"xl",variant:"card",class:{root:"p-4.5"}},{color:"primary",variant:"card",class:{root:"has-data-[state=checked]:border-primary"}},{color:"secondary",variant:"card",class:{root:"has-data-[state=checked]:border-secondary"}},{color:"success",variant:"card",class:{root:"has-data-[state=checked]:border-success"}},{color:"info",variant:"card",class:{root:"has-data-[state=checked]:border-info"}},{color:"warning",variant:"card",class:{root:"has-data-[state=checked]:border-warning"}},{color:"error",variant:"card",class:{root:"has-data-[state=checked]:border-error"}},{color:"neutral",variant:"card",class:{root:"has-data-[state=checked]:border-inverted"}},{variant:"card",disabled:!0,class:{root:"cursor-not-allowed"}},{color:"primary",highlight:!0,class:{base:"ring-primary"}},{color:"secondary",highlight:!0,class:{base:"ring-secondary"}},{color:"success",highlight:!0,class:{base:"ring-success"}},{color:"info",highlight:!0,class:{base:"ring-info"}},{color:"warning",highlight:!0,class:{base:"ring-warning"}},{color:"error",highlight:!0,class:{base:"ring-error"}},{color:"neutral",highlight:!0,class:{base:"ring-inverted"}}],defaultVariants:{size:"md",color:"primary",variant:"list",indicator:"start"}},Ie=Object.assign({inheritAttrs:!1},{__name:"UCheckbox",props:{as:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},indicator:{type:null,required:!1},highlight:{type:Boolean,required:!1},icon:{type:null,required:!1},indeterminateIcon:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},disabled:{type:Boolean,required:!1},required:{type:Boolean,required:!1},name:{type:String,required:!1},value:{type:null,required:!1},id:{type:String,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},trueValue:{type:null,required:!1},falseValue:{type:null,required:!1}},emits:["change","update:modelValue"],setup(o,{emit:h}){const r=o,l=re(),g=h,a=te("checkbox",r),s=se(),d=le(ie(a,"required","value","defaultValue","modelValue","trueValue","falseValue"),g),{id:p,emitFormChange:q,emitFormInput:u,size:z,color:F,highlight:k,name:R,disabled:V,ariaAttrs:t}=oe(r),y=p.value??ne(),I=O(),H=m(()=>{const{"data-state":b,...w}=I;return w}),n=m(()=>ue({extend:Ve,...s.ui?.checkbox||{}})({size:z.value??a.size,color:F.value??a.color,variant:a.variant,indicator:a.indicator,highlight:k.value??a.highlight,required:a.required,disabled:V.value}));function Q(b){const w=new Event("change",{target:{value:b}});g("change",w),q(),u()}return(b,w)=>(i(),f(e($),{as:!e(a).variant||e(a).variant==="list"?e(a).as:e(U),"data-slot":b.$attrs["data-slot"]??"root",class:c(n.value.root({class:[e(a).ui?.root,e(a).class]}))},{default:v(()=>[de("div",{"data-slot":"container",class:c(n.value.container({class:e(a).ui?.container}))},[B(e(ye),_({id:e(y)},{...e(d),...H.value,...e(t)},{name:e(R),disabled:e(V),"data-slot":"base",class:n.value.base({class:e(a).ui?.base}),"onUpdate:modelValue":Q}),{default:v(({state:W})=>[B(e(ke),{"data-slot":"indicator",class:c(n.value.indicator({class:e(a).ui?.indicator}))},{default:v(()=>[W==="indeterminate"?(i(),f(j,{key:0,name:e(a).indeterminateIcon||e(s).ui.icons.minus,"data-slot":"icon",class:c(n.value.icon({class:e(a).ui?.icon}))},null,8,["name","class"])):(i(),f(j,{key:1,name:e(a).icon||e(s).ui.icons.check,"data-slot":"icon",class:c(n.value.icon({class:e(a).ui?.icon}))},null,8,["name","class"]))]),_:2},1032,["class"])]),_:1},16,["id","name","disabled","class"])],2),e(a).label||l.label||e(a).description||l.description?(i(),S("div",{key:0,"data-slot":"wrapper",class:c(n.value.wrapper({class:e(a).ui?.wrapper}))},[e(a).label||l.label?(i(),f(T(!e(a).variant||e(a).variant==="list"?e(U):"p"),{key:0,for:e(y),"data-slot":"label",class:c(n.value.label({class:e(a).ui?.label}))},{default:v(()=>[C(b.$slots,"label",{label:e(a).label},()=>[N(K(e(a).label),1)])]),_:3},8,["for","class"])):x("",!0),e(a).description||l.description?(i(),S("p",{key:1,"data-slot":"description",class:c(n.value.description({class:e(a).ui?.description}))},[C(b.$slots,"description",{description:e(a).description},()=>[N(K(e(a).description),1)])],2)):x("",!0)],2)):x("",!0)]),_:3},8,["as","data-slot","class"]))}});export{Ie as _};
@@ -0,0 +1,7 @@
1
+ import{_ as ee,a as te}from"./B7uPoZ7T.js";import{_ as se}from"./CZ6WR7uw.js";import{d as B,q as re,C as ie,am as T,b as i,o as r,e as k,f as d,c as a,h as c,_ as E,k as s,F as _,z as O,i as oe,g as t,t as l,m as ne,l as g,j as F,r as U,w as ae,s as ce,B as pe,v as x}from"./BdQ7kfxJ.js";import{_ as G}from"./BOn5q0rT.js";import{e as N}from"./DwZS0oRm.js";import{_ as de}from"./Gn1Ns00e.js";import{_ as le}from"./DadksxQ9.js";import{E as ue}from"./DWwiVTZX.js";import{u as me}from"./DqkCbAzo.js";import{a as ge,u as fe}from"./DTtizz85.js";import"./Bo73sAu8.js";import"./CrsaY0R_.js";import"./Bg63qh8W.js";import"./HGYIpJtg.js";import"./WZXZeGYt.js";import"./DGnQ69wW.js";const ye={key:0,class:"flex items-center gap-2 text-sm text-muted"},he={key:1,class:"space-y-2"},be=["data-testid"],xe={class:"min-w-0 flex-1"},_e={class:"flex items-center gap-2"},ve={class:"text-sm font-medium"},we={key:0,class:"text-xs text-muted truncate"},ke={key:1,class:"text-xs text-warning"},Ie={class:"flex items-center gap-1.5 shrink-0"},je=B({__name:"DesktopMcpClientsCard",setup(M){const v=re(),C=U(!1),S=U(!0),I=U([]),f=U(null);async function R(){const n=T();if(n)try{I.value=await n.invoke("desktop_mcp_clients"),C.value=!0}catch{C.value=!1}finally{S.value=!1}}ie(()=>{T()?R():S.value=!1});async function y(n,p){const h=T();if(h){f.value=n.id;try{const w=await h.invoke(p?"desktop_mcp_connect":"desktop_mcp_disconnect",{clientId:n.id});I.value=I.value.map(b=>b.id===w.id?w:b),v.add({title:p?`${n.label} connected`:`${n.label} disconnected`,description:p?`Restart ${n.label} to pick up the new server.`:void 0,color:"success",icon:"i-lucide-plug"})}catch(w){v.add({title:`Could not update ${n.label}`,description:N(w),color:"error"})}finally{f.value=null}}}async function u(n){const p=T();if(p)try{await p.invoke("desktop_mcp_reveal",{clientId:n.id})}catch(h){v.add({title:"Could not open the file",description:N(h),color:"error"})}}function q(n){switch(n.status){case"connected":return{label:"Connected",color:"success"};case"stale":return{label:"Needs update",color:"warning"};case"manual":return{label:"Manual setup",color:"warning"};case"not_installed":return{label:"Not detected",color:"neutral"};default:return null}}return(n,p)=>{const h=E,w=ne,b=F,z=G;return i(C)?(r(),k(z,{key:0,icon:"i-lucide-plug-zap",title:"Connect a client on this machine"},{subtitle:d(()=>[...p[0]||(p[0]=[s(" One click writes the ",-1),t("code",null,"piwi",-1),s(" entry into the client's own config file (a backup is kept next to it), and entries are kept current when this app's address changes. Restart the client after connecting. ",-1)])]),default:d(()=>[i(S)?(r(),a("div",ye,[c(h,{name:"i-lucide-loader-2",class:"size-4 animate-spin"}),p[1]||(p[1]=s(" Detecting clients… ",-1))])):(r(),a("div",he,[(r(!0),a(_,null,O(i(I),o=>(r(),a("div",{key:o.id,"data-testid":`mcp-client-${o.id}`,class:oe(["flex items-center gap-3 rounded-md border border-default p-2.5",o.status==="not_installed"?"opacity-60":""])},[c(h,{name:"i-lucide-bot",class:"size-4 text-gray-400 shrink-0"}),t("div",xe,[t("div",_e,[t("p",ve,l(o.label),1),q(o)?(r(),k(w,{key:0,color:q(o).color,variant:"subtle",size:"sm"},{default:d(()=>[s(l(q(o).label),1)]),_:2},1032,["color"])):g("",!0)]),o.config_path?(r(),a("p",we,l(o.config_path),1)):g("",!0),o.detail?(r(),a("p",ke,l(o.detail),1)):g("",!0)]),t("div",Ie,[o.status==="not_connected"?(r(),k(b,{key:0,size:"xs",icon:"i-lucide-plug",loading:i(f)===o.id,onClick:P=>y(o,!0)},{default:d(()=>[...p[2]||(p[2]=[s(" Connect ",-1)])]),_:1},8,["loading","onClick"])):o.status==="stale"?(r(),k(b,{key:1,size:"xs",color:"warning",icon:"i-lucide-refresh-cw",loading:i(f)===o.id,onClick:P=>y(o,!0)},{default:d(()=>[...p[3]||(p[3]=[s(" Update ",-1)])]),_:1},8,["loading","onClick"])):g("",!0),o.status==="connected"||o.status==="stale"?(r(),k(b,{key:2,size:"xs",color:"neutral",variant:"ghost",icon:"i-lucide-unplug",loading:i(f)===o.id,onClick:P=>y(o,!1)},{default:d(()=>[...p[4]||(p[4]=[s(" Disconnect ",-1)])]),_:1},8,["loading","onClick"])):g("",!0),o.status!=="not_installed"&&o.config_path?(r(),k(b,{key:3,size:"xs",color:"neutral",variant:"ghost",icon:"i-lucide-folder-open","aria-label":"Reveal config file",title:"Reveal config file",onClick:P=>u(o)},null,8,["onClick"])):g("",!0)])],10,be))),128)),p[5]||(p[5]=t("p",{class:"text-xs text-muted"}," A client that is not listed — or marked manual — can always be connected with the snippets below. ",-1))]))]),_:1})):g("",!0)}}}),Ce=Object.assign(je,{__name:"DesktopMcpClientsCard"}),Se=[{name:"list_projects",description:"List all projects with stats: total runs, test cases, latest run status and branch. Use this first to discover available projects and their IDs.",inputSchema:{type:"object",properties:{}}},{name:"get_project",description:"Get project details and its recent test runs with pass/fail counts. Results are paginated — use pageSize and cursor for the runs list.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID from list_projects"},pageSize:{type:"number",description:"Runs per page (default 10, max 50)"},cursor:{type:"string",description:"Opaque cursor from a previous response to get the next page of runs"}},required:["projectId"]}},{name:"list_runs",description:"List test runs for a project with filters.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},status:{type:"string",enum:["passed","failed","timedout","interrupted","running","cancelled","initializing","finalizing"],description:"Filter by run status (exact match against the stored value)"},branch:{type:"string",description:"Filter by branch name (exact match against the run branch)"},pageSize:{type:"number",description:"Results per page (default 10, max 50)"},cursor:{type:"string",description:"Opaque cursor from a previous response to get the next page"}},required:["projectId"]}},{name:"get_run",description:"Get a test run summary plus its test cases (paginated), with status, truncated error text, and failure cluster IDs. Filter by status and page with pageSize/cursor.",inputSchema:{type:"object",properties:{runId:{type:"number",description:"Test run ID"},statusFilter:{type:"string",enum:["failed","flaky","all"],description:'Which test cases to include (default: "failed" — only failed+timedOut; "flaky" — only flaky; "all" — every case)'},pageSize:{type:"number",description:"Cases per page (default 10, max 50)"},cursor:{type:"string",description:"Opaque cursor from a previous response for the next page of cases"}},required:["runId"]}},{name:"list_failed_cases",description:"List failed and timed-out test cases across recent runs for a project.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},pageSize:{type:"number",description:"Results per page (default 10, max 50)"},cursor:{type:"string",description:"Opaque cursor from a previous response to get the next page"},runId:{type:"number",description:"Optional: restrict to a specific run"}},required:["projectId"]}},{name:"list_flaky_tests",description:"List flaky tests for a project with flakiness scores.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},runs:{type:"number",description:"Number of recent runs to analyze (default 50, max 200)"},pageSize:{type:"number",description:"Results per page (default 10, max 50)"},cursor:{type:"string",description:"Opaque cursor from a previous response. Cursor is the flakyScore value (descending)."}},required:["projectId"]}},{name:"get_test_case",description:"Get test case details including aggregated pass/fail stats, flakiness metrics, and recent executions (paginated). Use testCaseId (stable identity), not the per-run caseId.",inputSchema:{type:"object",properties:{testCaseId:{type:"number",description:"Test case ID (testCaseId from list_failed_cases or list_flaky_tests)"},pageSize:{type:"number",description:"Executions per page (default 10, max 50)"},cursor:{type:"string",description:"Opaque cursor from a previous response to get the next page of executions"}},required:["testCaseId"]}},{name:"list_clusters",description:"List failure clusters for a project. Each cluster groups similar failures by error fingerprint.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},status:{type:"string",enum:["open","resolved","ignored"],description:"Filter by triage status (default: all statuses)"},pageSize:{type:"number",description:"Results per page (default 10, max 50)"},cursor:{type:"string",description:"Opaque cursor from a previous response to get the next page"}},required:["projectId"]}},{name:"get_cluster",description:"Get full details for a failure cluster including all affected test cases, a compact diagnosis summary, and locator healing suggestions for up to 5 affected cases. Each healing entry includes the failing locator, the recommended fix, and the number of alternatives available. Use get_cluster_diagnosis for the full diagnosis text, or get_cluster_context for the raw AI evidence.",inputSchema:{type:"object",properties:{clusterId:{type:"number",description:"Cluster ID from list_clusters"}},required:["clusterId"]}},{name:"get_fix_plan",description:"Everything needed to fix one failure cluster, in a single answer: the diagnosis and its validated patch, ranked locator replacements each with the exact file and line and a ready-to-apply `edit` (the rewritten line plus a unified diff `git apply` accepts), the failing tests, the owning team, and the command that verifies the work. `verify.expectation` states what the dashboard records once those tests pass, so you can confirm the fix landed rather than guessing. Prefer this over assembling get_cluster + get_cluster_diagnosis + get_locator_healing yourself.",inputSchema:{type:"object",properties:{clusterId:{type:"number",description:"Cluster ID from list_clusters or list_open_clusters"}},required:["clusterId"]}},{name:"get_cluster_diagnosis",description:"Get the stored AI diagnosis for a failure cluster. Returns category, confidence, root cause, evidence, and suggested fix. Returns null if no diagnosis has been run yet.",inputSchema:{type:"object",properties:{clusterId:{type:"number",description:"Cluster ID"}},required:["clusterId"]}},{name:"get_test_case_context",description:"Get the AI evidence context for a specific test-run-case (execution scope). Use this when debugging a single test failure — it provides the execution-scoped evidence including steps, console, network, and SCM diff.",inputSchema:{type:"object",properties:{executionId:{type:"number",description:"Test run case ID"}},required:["executionId"]}},{name:"get_case_screenshots",description:"Get screenshots for a test-run-case. By default returns metadata only (name, type, size). Set content=true to include base64-encoded image data (max 3, capped at ~100 KB each). Call metadata-only first to discover what exists, then request content for the ones you need.",inputSchema:{type:"object",properties:{executionId:{type:"number",description:"Test run case ID"},content:{type:"boolean",description:"Include base64 image data (default false — metadata only)"}},required:["executionId"]}},{name:"get_cluster_context",description:"Get the full AI evidence context for a failure cluster — the same data sent to the diagnosis AI. Includes error samples, stack traces, test steps, console logs, network failures, ARIA snapshots, SCM diff (changed files since last green run), and a per-section breakdown with char counts and truncation flags. This is the richest available evidence for debugging a failure.",inputSchema:{type:"object",properties:{clusterId:{type:"number",description:"Cluster ID"},baseCommit:{type:"string",description:"Optional: override the baseline commit SHA for SCM diff comparison"},selectedCommitShas:{type:"array",items:{type:"string"},description:"Optional: specific commit SHAs to include in the diff context (max 10)"}},required:["clusterId"]}},{name:"search_test_cases",description:"Search test cases by title or file path within a project. Accepts a free-text query and returns matching test cases with basic stats. Use this to find a test case when you don't know its ID.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},q:{type:"string",description:"Search query — matched against title and file path (case-insensitive)"},pageSize:{type:"number",description:"Results per page (default 10, max 50)"},cursor:{type:"string",description:"Opaque cursor from a previous response to get the next page"}},required:["projectId","q"]}},{name:"get_test_run_case",description:"Get a single test-run-case execution record with full (untruncated) error text plus steps, console logs, web vitals, and ARIA snapshot. Use include to fetch only the blobs you need. The ID is the executionId from get_run.cases or testRunsCaseId from get_cluster.affectedTestCases.",inputSchema:{type:"object",properties:{executionId:{type:"number",description:"Test run case ID (executionId from get_run.cases or testRunsCaseId from get_cluster.affectedTestCases)"},include:{type:"array",items:{type:"string",enum:["steps","console","webVitals","aria","source"]},description:"Optional: which heavy blobs to include (default: all). The error, status, and summary are always returned."}},required:["executionId"]}},{name:"list_recent_activity",description:"List the most recent test runs across all projects. No projectId required — returns a cross-project view of recent CI activity. Paginated by startTime descending.",inputSchema:{type:"object",properties:{pageSize:{type:"number",description:"Results per page (default 10, max 50)"},cursor:{type:"string",description:"Opaque cursor from a previous response to get the next page"}}}},{name:"get_repo_commits",description:"List recent commits for a project's repository. Requires SCM token configuration (per-project or global). Returns commit details (SHA, message, author, date).",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},branch:{type:"string",description:"Branch name (default: repository default branch)"},limit:{type:"number",description:"Max commits (default 20, max 100)"}},required:["projectId"]}},{name:"get_repo_diff",description:"Get the diff (changed files with patches) for a single commit in a project's repository. Requires SCM token configuration (per-project or global). Useful for inspecting what code changed in a specific commit suspected of causing a failure.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},sha:{type:"string",description:"Full commit SHA"}},required:["projectId","sha"]}},{name:"get_run_insights",description:'Compare a run to its last green baseline: pass-rate delta, new regressions, recurrences, recovered tests, new flaky tests, biggest perf improvements/regressions, worker imbalance, and newly opened clusters. Use this to answer "what changed?" and "did my fix work?".',inputSchema:{type:"object",properties:{runId:{type:"number",description:"Test run ID"}},required:["runId"]}},{name:"get_spec_health",description:"Per-spec-file health for a project: pass rate, flaky rate, failure count, test count, and average duration grouped by spec-file prefix over the last N days. Use to find which areas of the suite are unhealthy.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},days:{type:"number",description:"Lookback window in days (default 30, max 90)"}},required:["projectId"]}},{name:"get_slow_tests",description:"Slowest test cases in a project by average duration, with max/min and trend direction across recent runs. Use to target performance work.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},runs:{type:"number",description:"Recent runs to analyze (default 50, max 100)"}},required:["projectId"]}},{name:"get_performance_trend",description:'Time series of run duration, average test duration, and p90 test duration for a project. Use to answer "is the suite getting slower?".',inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},limit:{type:"number",description:"Number of recent runs (default 30, max 100)"}},required:["projectId"]}},{name:"get_test_stability_trend",description:'Time-series stability for a single test case: flaky rate, pass rate, and average duration bucketed over its recent execution history. Use to answer "is this test getting flakier?".',inputSchema:{type:"object",properties:{testCaseId:{type:"number",description:"Test case ID (stable testCaseId)"},buckets:{type:"number",description:"Number of time buckets (default 20, 5–50)"}},required:["testCaseId"]}},{name:"get_network_requests",description:"A run's network requests aggregated by method + normalized route, sorted by average duration, with status codes and captured backend server logs. Use to pin a UI failure on a slow or failing endpoint.",inputSchema:{type:"object",properties:{runId:{type:"number",description:"Test run ID"}},required:["runId"]}},{name:"get_failure_groups",description:"One run's failures grouped by failure cluster, with per-group affected cases and worker correlation. Run-scoped counterpart to list_clusters.",inputSchema:{type:"object",properties:{runId:{type:"number",description:"Test run ID"}},required:["runId"]}},{name:"get_locator_healing",description:"Ranked alternative locators for a failing test-run-case: the failing locator, the recommended durable fix, and the full alternative lists (from prior success, element match, and ARIA snapshot). Includes `location` (file:line:col), the failing `sourceLine`, and a ready-to-apply `edit` — the rewritten line plus a unified diff `git apply` accepts. Use when fixing a broken selector.",inputSchema:{type:"object",properties:{executionId:{type:"number",description:"Test run case ID (executionId)"}},required:["executionId"]}},{name:"search",description:"Global search across all in-scope projects, runs (by label or numeric id), and test cases (by title). Use to find a run by its label or locate an entity across projects.",inputSchema:{type:"object",properties:{q:{type:"string",description:"Search query (min 2 chars)"}},required:["q"]}},{name:"list_case_traces",description:"List Playwright trace files for a test-run-case, with a download path for each. Fetch the bytes via GET /api/files/<path>.",inputSchema:{type:"object",properties:{executionId:{type:"number",description:"Test run case ID (executionId)"}},required:["executionId"]}},{name:"list_links",description:"List external entity links (Jira, GitHub PR/issue, etc.) attached to a run, test-run-case, or test case, with provider and unfurled status.",inputSchema:{type:"object",properties:{entityType:{type:"string",enum:["test_run","test_runs_case","test_case"],description:"Which entity the links are attached to"},entityId:{type:"number",description:"The entity ID matching entityType"}},required:["entityType","entityId"]}},{name:"list_tags",description:"List every tag defined on this instance (id, text, color). Tags are instance-wide, not per-project.",inputSchema:{type:"object",properties:{}}},{name:"get_project_test_catalog",description:"The full test-case catalog for a project with aggregated pass/fail/flaky counts, average duration, and last status per test. Offset-paginated bulk companion to get_test_case.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},pageSize:{type:"number",description:"Results per page (default 10, max 50)"},offset:{type:"number",description:"Row offset for paging (default 0)"},query:{type:"string",description:"Optional case-insensitive substring filter on title or file path"},tags:{type:"string",description:"Comma-separated tags; a test must carry every one of them. A leading @ is optional."},owner:{type:"string",description:"Exact owner declared via the piwi:owner annotation"},priority:{type:"string",enum:["critical","high","medium","low"],description:"Priority declared via the piwi:priority annotation"}},required:["projectId"]}},{name:"list_selections",description:"A project's saved test selections plus the built-in ones (failed, quarantine-free). A selection is a named, declarative subset of the suite resolved from run history. Use resolve_selection to turn one into the tests to run.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID from list_projects"}},required:["projectId"]}},{name:"resolve_selection",description:"Resolve a saved (or built-in) selection to the tests it currently matches and a ready-to-run `playwright test` command. Just landed a fix? Resolve the relevant selection to get the exact command that verifies it.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},key:{type:"string",description:'Selection key, e.g. "smoke" (or a built-in: failed, quarantine-free)'},format:{type:"string",enum:["args","grep","files","json"],description:"Materialization of the command: args = file:line (default), grep, files, or json (no command)"},budgetMs:{type:"number",description:"Optional time budget in ms — take the best tests that fit"}},required:["projectId","key"]}},{name:"preview_selection",description:"Resolve an ad-hoc selection definition without saving it — the dry-run behind the builder. Supply a definition (include/exclude predicate groups, pins, budget, limit) and get back the matching tests, an estimate, warnings and a command. An unknown predicate is an error, not ignored.",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},definition:{type:"object",description:"A SelectionDefinition: { include?: group[], exclude?: group[], pins?, budget?, limit? }. A group ANDs predicates like tags, priority, files (globs), flaky, minPassRate, maxAvgDurationMs, lastStatus, failedInLastRuns."},format:{type:"string",enum:["args","grep","files","json"],description:"Command materialization (default args)"}},required:["projectId","definition"]}},{name:"suggest_selections",description:"Suggest tags and a smoke suite for a project from observed history (suggest-only, with evidence). Returns `slow` tags for duration outliers, `feature` tags from the route families tests hit, and a mined smoke suite — a budgeted set cover over observed routes, each pick buying fewer new routes than the last. `budgetMs` caps the smoke suite (default 5 min).",inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"},budgetMs:{type:"number",description:"Time budget in ms for the mined smoke suite (default 300000)"}},required:["projectId"]}},{name:"analyze_selections",description:`Health and drift for a project's selections. For each: what it resolves to now (count, quarantined members, duration, warnings) and whether that differs from what its most recent stamped run recorded — a silent drift a green build can hide. Plus coverage: how many tests are matched by no stored selection (the "unselected" gap), with a sample. Read-only.`,inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID"}},required:["projectId"]}},{name:"list_open_clusters",description:"Open failure clusters across all in-scope projects, ranked by occurrences — a cross-project triage queue. Filter by status; paginate with pageSize/cursor.",inputSchema:{type:"object",properties:{status:{type:"string",enum:["open","resolved","ignored"],description:"Triage status (default: open)"},pageSize:{type:"number",description:"Results per page (default 10, max 50)"},cursor:{type:"string",description:"Opaque cursor from a previous response to get the next page"}}}},{name:"get_instance_stats",description:"Instance-wide counts (projects, runs, test cases, executions, files) and total storage size. Admin only.",inputSchema:{type:"object",properties:{}}},{name:"explain_failure",description:"One-call evidence bundle for a single failing execution: error, steps, console, ARIA snapshot, the recommended locator fix, a screenshot count, and the AI diagnosis context. Prefer this over chaining get_test_run_case + get_locator_healing + get_test_case_context.",inputSchema:{type:"object",properties:{executionId:{type:"number",description:"Test run case ID (executionId)"}},required:["executionId"]}},{name:"set_cluster_status",description:"Triage a failure cluster: set its status to open, resolved, or ignored with an optional note. Requires reporter or admin access. Use after fixing the underlying issue.",inputSchema:{type:"object",properties:{clusterId:{type:"number",description:"Cluster ID"},status:{type:"string",enum:["open","resolved","ignored"],description:"New triage status"},triageNote:{type:"string",description:"Optional note explaining the status change"}},required:["clusterId","status"]}},{name:"set_cluster_base_commit",description:'Pin the baseline commit SHA a cluster uses for its SCM-diff diagnosis context, so "what changed since green" is accurate. Requires reporter or admin access.',inputSchema:{type:"object",properties:{clusterId:{type:"number",description:"Cluster ID"},commit:{type:"string",description:"Baseline commit SHA (empty to clear)"}},required:["clusterId","commit"]}},{name:"submit_diagnosis_feedback",description:"Record thumbs up/down feedback on a stored diagnosis, with an optional note. Requires reporter or admin access.",inputSchema:{type:"object",properties:{diagnosisId:{type:"number",description:"Diagnosis ID"},feedback:{type:"string",enum:["up","down"],description:"Rating (omit to clear)"},feedbackNote:{type:"string",description:"Optional note"}},required:["diagnosisId"]}},{name:"run_cluster_diagnosis",description:"Trigger an AI diagnosis for a failure cluster and return the result (category, confidence, root cause, suggested fix). Returns the existing completed diagnosis unless force is set. Requires reporter or admin access and a configured AI provider.",inputSchema:{type:"object",properties:{clusterId:{type:"number",description:"Cluster ID"},force:{type:"boolean",description:"Re-run even if a completed diagnosis exists (default false)"},baseCommit:{type:"string",description:"Optional baseline commit SHA for SCM-diff context"}},required:["clusterId"]}},{name:"create_test_function",description:`Register a page-object method or helper in a project's test-function catalog, so the Piwi Picker browser extension (and its recorder) can match a live page or a recorded session against it and substitute a call to your own code instead of raw locator lines. This tool does not call an AI itself — you (the calling agent) read the function's real source in your own context and fill in these fields directly; the tool only validates the shape and persists it. Follow these extraction rules when deciding the field values:
2
+
3
+ ${ue}
4
+
5
+ The fields below map onto that guidance one-for-one, plus "module" and "urlPattern", which no amount of code-reading can infer — supply them from where the function actually lives and, optionally, which page it applies to. Requires reporter or administrator access.`,inputSchema:{type:"object",properties:{projectId:{type:"number",description:"Project ID from list_projects"},name:{type:"string",description:"Becomes the called method/function name — must be a valid JS identifier"},kind:{type:"string",enum:["page-object-method","helper","fixture"],description:'"page-object-method" for a class method acting on this.page; "helper" for a standalone function taking page as its first parameter; "fixture" only for Playwright fixture setup'},module:{type:"string",description:"Import specifier for where this function lives, e.g. './pages/CartPage'"},receiver:{type:["string","null"],description:"page-object-method only: instance variable name, e.g. cartPage (null for a helper/fixture)"},importName:{type:["string","null"],description:"page-object-method only: the class name to import, e.g. CartPage (null for a helper/fixture)"},params:{type:"array",description:"The function's own parameters, excluding the leading Playwright handle (page/locator/this). An options-bag parameter must be type 'object' with its property names in 'fields' — never flattened to a string.",items:{type:"object",properties:{name:{type:"string"},type:{type:"string",enum:["string","number","boolean","object"]},fields:{type:"array",items:{type:"string"},description:"For type 'object': the bag's property names, e.g. ['label', 'testId']"}},required:["name","type"]}},returnsPage:{type:"boolean",description:"True if the function returns/navigates to a new Page (default false)"},urlPattern:{type:["string","null"],description:'Optional glob (** crosses path segments, * does not, e.g. "**/cart") gating which page this applies to'},steps:{type:"array",description:"The ordered sequence of page interactions the function performs — at least one required",items:{type:"object",properties:{action:{type:"string",enum:["goto","click","fill","check","uncheck","selectOption","press","assertVisible"]},target:{type:"object",properties:{role:{type:["string","null"]},name:{type:["string","null"]},testId:{type:["string","null"]}}}},required:["action","target"]}},paramSources:{type:"array",description:"Maps a step's argument back to a function parameter, when that argument IS the parameter",items:{type:"object",properties:{param:{type:"string"},path:{type:["string","null"],description:"For an 'object' param: which of its fields this fills (e.g. 'label'). Omit for a scalar param."},stepIndex:{type:"integer"},from:{type:"string",enum:["text","value","testId"]}},required:["param","stepIndex","from"]}}},required:["projectId","name","kind","module","params","steps"]}}],qe=[{name:"setup_piwi",description:"Set up the current Playwright project to report to this Piwi Dashboard: install the reporter, wrap the config, add the capture fixtures, and verify a run lands. Server-aware — fills in this dashboard's URL, whether authentication is required, and the projects that already exist.",arguments:[{name:"projectName",description:"Name to report runs under. Omit to reuse an existing project or derive one from the repository.",required:!1}]}];function Pe(M){return new URL(globalThis.location.href)}const Ae={class:"max-w-3xl mx-auto p-6 space-y-6"},Re={key:0,class:"mb-4 space-y-3 rounded-md border border-default bg-elevated/50 p-3"},De={class:"space-y-1"},Te={class:"flex items-start gap-2"},Ue={class:"text-xs break-all flex-1"},Oe={class:"space-y-1"},ze={class:"flex items-start gap-2"},$e={class:"text-xs break-all flex-1"},Me={class:"text-sm text-gray-500 dark:text-gray-400 mb-4"},Le={class:"space-y-3"},Ne={class:"space-y-3"},Be={class:"space-y-3"},Ee={class:"space-y-3"},Fe={class:"space-y-3"},Ge={class:"text-xs text-gray-400"},He={class:"space-y-3"},We={class:"space-y-3"},Je={class:"flex flex-col gap-1.5"},Ve={class:"min-w-0"},Ye={class:"text-sm font-mono font-semibold text-foreground"},Ke={class:"text-xs text-gray-500 dark:text-gray-400 mt-0.5"},Xe={class:"flex flex-col gap-1.5"},Qe={class:"min-w-0"},Ze={class:"text-sm font-mono font-semibold text-foreground"},et={class:"text-xs text-gray-500 dark:text-gray-400 mt-0.5"},tt={key:0,class:"flex flex-wrap gap-1.5 mt-1.5"},st=["title"],rt={class:"space-y-3 text-sm text-gray-600 dark:text-gray-400"},it={key:0},ot={key:1},nt={key:2,class:"text-xs text-gray-400"},at={key:3,class:"text-xs text-gray-400"},ct={class:"space-y-2"},pt={class:"flex items-center gap-2"},dt={class:"flex-1 px-3 py-2 bg-muted rounded-md text-sm font-mono break-all"},lt={class:"text-xs text-gray-400"},ut="pd_YOUR_API_KEY",Pt=B({__name:"mcp",async setup(M){let v,C;const S=pe(),I=S.public.demoMode,f=me(),{copy:R}=ge(),{data:y}=([v,C]=ae(()=>fe("/api/desktop/reporter-config",{immediate:f,default:()=>null},"$vt7OJTNW5l")),v=await v,C(),v),u=x(()=>y.value?.token??ut),q=Pe(),n=x(()=>`${y.value?.url??S.public.siteUrl??q.origin}/mcp`);ce({title:"MCP server — Piwi Dashboard"});const p=Se,h=qe,w=[{label:"Claude Code",slot:"claude-code"},{label:"Opencode",slot:"opencode"},{label:"Cursor",slot:"cursor"},{label:"VS Code",slot:"vscode"},{label:"Claude Desktop",slot:"claude-desktop"},{label:"Gemini CLI",slot:"gemini"},{label:"Windsurf / Continue",slot:"windsurf"}],b=x(()=>`claude mcp add --transport http piwi ${n.value} \\
6
+ --header "Authorization: Bearer ${u.value}"`),z=x(()=>JSON.stringify({mcp:{piwi:{type:"remote",url:n.value,headers:{Authorization:`Bearer ${u.value}`}}}},null,2)),o=x(()=>JSON.stringify({mcpServers:{piwi:{url:n.value,headers:{Authorization:`Bearer ${u.value}`}}}},null,2)),P=x(()=>JSON.stringify({servers:{piwi:{type:"http",url:n.value,headers:{Authorization:`Bearer ${u.value}`}}}},null,2)),H=x(()=>JSON.stringify({mcpServers:{piwi:{command:"npx",args:["-y","mcp-remote",n.value,"--transport","http-only","--header","Authorization:${AUTH_HEADER}"],env:{AUTH_HEADER:`Bearer ${u.value}`}}}},null,2)),W=x(()=>`gemini mcp add --transport http piwi ${n.value} \\
7
+ --header "Authorization: Bearer ${u.value}"`),J=x(()=>JSON.stringify({mcpServers:{piwi:{serverUrl:n.value,headers:{Authorization:`Bearer ${u.value}`}}}},null,2));return(V,e)=>{const Y=te,K=se,X=Ce,$=F,j=de,Q=le,A=G,L=E,Z=ee;return r(),k(Z,null,{header:d(()=>[c(Y,{title:"MCP server"})]),body:d(()=>[t("div",Ae,[i(I)?(r(),k(K,{key:0,color:"info",icon:"i-lucide-bot",title:"Feature preview",description:"The MCP endpoint is not active in this demo — it requires a real Piwi backend. The tools and client setup shown below reflect what your own deployment exposes."})):g("",!0),c(X),c(A,{icon:"i-lucide-settings-2",title:"Client setup",help:"mcp.client-setup"},{default:d(()=>[i(y)?(r(),a("div",Re,[t("div",De,[e[2]||(e[2]=t("div",{class:"text-xs text-muted"},"MCP URL",-1)),t("div",Te,[t("code",Ue,l(i(n)),1),c($,{icon:"i-lucide-copy",color:"neutral",variant:"ghost",size:"xs","aria-label":"Copy MCP URL",onClick:e[0]||(e[0]=m=>i(R)(i(n),{toast:!0}))})])]),t("div",Oe,[e[3]||(e[3]=t("div",{class:"text-xs text-muted"},"Access token",-1)),t("div",ze,[t("code",$e,l(i(u)),1),c($,{icon:"i-lucide-copy",color:"neutral",variant:"ghost",size:"xs","aria-label":"Copy access token",onClick:e[1]||(e[1]=m=>i(R)(i(u),{toast:!0}))})])]),e[4]||(e[4]=t("p",{class:"text-xs text-muted"},[s(" This app authenticates with a local access token even though sign-in is off — it is the "),t("code",{class:"font-mono"},"Bearer"),s(" value, already filled into the snippets below. ")],-1))])):g("",!0),t("p",Me,[i(y)?(r(),a(_,{key:0},[s("Pick your client below — the URL and access token above are already baked into each snippet.")],64)):(r(),a(_,{key:1},[e[5]||(e[5]=s("Replace ",-1)),e[6]||(e[6]=t("code",{class:"px-1 py-0.5 bg-muted rounded text-xs font-mono"},"pd_YOUR_API_KEY",-1)),e[7]||(e[7]=s(" with your actual API key. The MCP URL shown in the snippets is auto-detected from your current browser origin.",-1))],64))]),c(Q,{items:w,ui:{list:"mb-4"}},{"claude-code":d(()=>[t("div",Le,[e[8]||(e[8]=t("p",{class:"text-sm text-gray-600 dark:text-gray-400"}," Run once in any terminal. Claude Code stores the server in your global MCP config. ",-1)),c(j,{code:i(b),lang:"sh"},null,8,["code"]),e[9]||(e[9]=t("p",{class:"text-xs text-gray-400"},[s(" After adding, restart Claude Code and use "),t("code",{class:"font-mono"},"/mcp"),s(" to verify "),t("strong",null,"piwi"),s(" is connected. Claude will call the tools automatically when you ask about test results or failures. ")],-1))])]),opencode:d(()=>[t("div",Ne,[e[10]||(e[10]=t("p",{class:"text-sm text-gray-600 dark:text-gray-400"},[s(" Add to "),t("code",{class:"font-mono text-xs"},"~/.config/opencode/opencode.json"),s(" (global config): ")],-1)),c(j,{code:i(z),lang:"json"},null,8,["code"]),e[11]||(e[11]=t("p",{class:"text-xs text-gray-400"}," Restart Opencode to pick up the new MCP server. Tools become available automatically in the next session. ",-1))])]),cursor:d(()=>[t("div",Be,[e[12]||(e[12]=t("p",{class:"text-sm text-gray-600 dark:text-gray-400"},[s(" Add to "),t("code",{class:"font-mono text-xs"},"~/.cursor/mcp.json"),s(" (global) or "),t("code",{class:"font-mono text-xs"},".cursor/mcp.json"),s(" in your project root: ")],-1)),c(j,{code:i(o),lang:"json"},null,8,["code"]),e[13]||(e[13]=t("p",{class:"text-xs text-gray-400"}," Restart Cursor, then enable the MCP server in Cursor Settings → MCP. ",-1))])]),vscode:d(()=>[t("div",Ee,[e[14]||(e[14]=t("p",{class:"text-sm text-gray-600 dark:text-gray-400"},[s(" Add to "),t("code",{class:"font-mono text-xs"},".vscode/mcp.json"),s(" in your workspace (VS Code Copilot agent mode, version 1.99+): ")],-1)),c(j,{code:i(P),lang:"json"},null,8,["code"]),e[15]||(e[15]=t("p",{class:"text-xs text-gray-400"}," The server appears in the Copilot chat agent drop-down once the file is saved. ",-1))])]),"claude-desktop":d(()=>[t("div",Fe,[e[24]||(e[24]=t("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Add to your Claude Desktop config file:",-1)),e[25]||(e[25]=t("ul",{class:"text-xs text-gray-400 space-y-0.5 mb-2"},[t("li",null,[t("strong",null,"macOS:"),t("code",{class:"font-mono"},"~/Library/Application Support/Claude/claude_desktop_config.json")]),t("li",null,[t("strong",null,"Windows:"),t("code",{class:"font-mono"},"%APPDATA%\\Claude\\claude_desktop_config.json")])],-1)),c(j,{code:i(H),lang:"json"},null,8,["code"]),t("p",Ge,[e[19]||(e[19]=s(" That file only accepts servers started as a local command — pasting a ",-1)),e[20]||(e[20]=t("code",{class:"font-mono"},"url",-1)),e[21]||(e[21]=s(" entry there makes Claude Desktop report it as invalid and ignore it. ",-1)),e[22]||(e[22]=t("code",{class:"font-mono"},"mcp-remote",-1)),e[23]||(e[23]=s(" (needs Node) bridges the HTTP endpoint to that shape. Restart Claude Desktop after saving. ",-1)),i(y)?(r(),a(_,{key:0},[e[16]||(e[16]=s("On this machine, ",-1)),e[17]||(e[17]=t("strong",null,"Connect",-1)),e[18]||(e[18]=s(" above does it without Node — it points Claude Desktop at this app's own bridge.",-1))],64)):g("",!0)])])]),gemini:d(()=>[t("div",He,[e[26]||(e[26]=t("p",{class:"text-sm text-gray-600 dark:text-gray-400"},"Run once to register the server with Gemini CLI:",-1)),c(j,{code:i(W),lang:"sh"},null,8,["code"]),e[27]||(e[27]=t("p",{class:"text-xs text-gray-400"}," Gemini CLI fetches the tool list on startup and makes them available in agent mode. ",-1))])]),windsurf:d(()=>[t("div",We,[e[28]||(e[28]=t("p",{class:"text-sm text-gray-600 dark:text-gray-400"},[s(" Add to your Windsurf or Continue MCP config. For Windsurf: "),t("code",{class:"font-mono text-xs"},"~/.codeium/windsurf/mcp_config.json"),s(". For Continue: "),t("code",{class:"font-mono text-xs"},"~/.continue/config.json"),s(" under "),t("code",{class:"font-mono text-xs"},"mcpServers"),s(". ")],-1)),c(j,{code:i(J),lang:"json"},null,8,["code"])])]),_:1})]),_:1}),c(A,{icon:"i-lucide-bot",title:"What it provides",help:"mcp.tools"},{default:d(()=>[t("div",Je,[(r(!0),a(_,null,O(i(p),m=>(r(),a("div",{key:m.name,class:"flex items-start gap-3 px-3 py-2.5 rounded-md bg-elevated/50 border border-default hover:bg-elevated transition-colors"},[c(L,{name:"i-lucide-wrench",class:"size-4 mt-0.5 shrink-0 text-primary"}),t("div",Ve,[t("p",Ye,l(m.name),1),t("p",Ke,l(m.description),1)])]))),128))])]),_:1}),c(A,{icon:"i-lucide-sparkles",title:"Prompts"},{default:d(()=>[e[29]||(e[29]=t("p",{class:"text-sm text-gray-500 dark:text-gray-400 mb-4"},[s(" Prompts are ready-made instructions your MCP client offers as a slash command — nothing to install. "),t("code",{class:"font-mono"},"setup_piwi"),s(" is "),t("strong",null,"server-aware"),s(": it fills in this instance's URL, whether authentication is required, and the projects that already exist, then hands your agent a ready-to-run setup for a Playwright project that is not yet reporting here. ")],-1)),t("div",Xe,[(r(!0),a(_,null,O(i(h),m=>(r(),a("div",{key:m.name,class:"flex items-start gap-3 px-3 py-2.5 rounded-md bg-elevated/50 border border-default hover:bg-elevated transition-colors"},[c(L,{name:"i-lucide-square-slash",class:"size-4 mt-0.5 shrink-0 text-primary"}),t("div",Qe,[t("p",Ze,l(m.name),1),t("p",et,l(m.description),1),m.arguments?.length?(r(),a("div",tt,[(r(!0),a(_,null,O(m.arguments,D=>(r(),a("code",{key:D.name,class:"px-1.5 py-0.5 rounded bg-muted text-[11px] font-mono",title:D.description},l(D.name)+l(D.required?"":"?"),9,st))),128))])):g("",!0)])]))),128))])]),_:1}),c(A,{icon:"i-lucide-key",title:"Authentication",help:"mcp.auth"},{default:d(()=>[t("div",rt,[e[34]||(e[34]=t("p",null,[s(" MCP requests are authenticated with the same API keys used by the REST API. API keys start with "),t("code",{class:"px-1 py-0.5 bg-muted rounded text-xs font-mono"},"pd_"),s(". ")],-1)),i(f)?(r(),a("p",ot,[...e[31]||(e[31]=[s(" This app provides a local access token automatically — shown in ",-1),t("strong",null,"Client setup",-1),s(" above and already filled into every snippet, so there is nothing to replace. ",-1)])])):(r(),a("p",it,[...e[30]||(e[30]=[s(" Generate a key in ",-1),t("strong",null,"Settings → Users → [your account] → API keys",-1),s(", then replace ",-1),t("code",{class:"px-1 py-0.5 bg-muted rounded text-xs font-mono"},"pd_YOUR_API_KEY",-1),s(" in the snippets above. ",-1)])])),i(f)?(r(),a("p",at,[...e[33]||(e[33]=[s(" This desktop app keeps sign-in off but still requires its own local access token on every request — it is the ",-1),t("code",{class:"font-mono"},"Bearer",-1),s(" value. The endpoint is not open. ",-1)])])):(r(),a("p",nt,[...e[32]||(e[32]=[s(" When authentication is disabled (",-1),t("code",{class:"font-mono"},"PIWI_AUTH_ENABLED",-1),s(" not set), any request is accepted without a key. ",-1)])]))])]),_:1}),c(A,{icon:"i-lucide-link",title:"Server URL"},{default:d(()=>[t("div",ct,[t("div",pt,[t("code",dt,l(i(n)),1),c($,{icon:"i-lucide-external-link",size:"sm",color:"neutral",variant:"outline",title:"Open API docs",to:"/docs",external:!i(I)},{default:d(()=>[...e[35]||(e[35]=[s(" REST API docs ",-1)])]),_:1},8,["external"])]),t("p",lt,[e[42]||(e[42]=s(" This is your Piwi instance's MCP endpoint. It is also the server URL to paste into client configs above. ",-1)),i(f)?(r(),a(_,{key:0},[e[36]||(e[36]=s("This desktop app requires its local access token as the ",-1)),e[37]||(e[37]=t("code",{class:"font-mono"},"Bearer",-1)),e[38]||(e[38]=s(" value on every request.",-1))],64)):(r(),a(_,{key:1},[e[39]||(e[39]=s("The server requires a valid Bearer token (or no auth if ",-1)),e[40]||(e[40]=t("code",{class:"font-mono"},"PIWI_AUTH_ENABLED",-1)),e[41]||(e[41]=s(" is not set).",-1))],64))])])]),_:1})])]),_:1})}}});export{Pt as default};
@@ -0,0 +1 @@
1
+ import{d as T,o as r,c as x,h as p,b as a,_ as U,t as E,l as h,g as k,e as _,f as y,k as I,j,v as w,m as N,r as b,a as O,F as D,z as S,D as Z,I as R,x as C,G}from"./BdQ7kfxJ.js";import{a as M}from"./DTtizz85.js";const H=[{provider:"jira",tests:[/^https:\/\/([^./]+)\.atlassian\.net\/browse\//i,/^https:\/\/[^/]+\/jira\/software\/c\/projects\//i,/^https:\/\/[^/]+\/.+\/browse\//i],keyExtract:/\/([A-Z][A-Z0-9_]+-\d+)(?:\?|$|#)/i},{provider:"github-issue",tests:[/^https:\/\/github\.com\/[^/]+\/[^/]+\/issues\//i],keyExtract:/\/issues\/(\d+)/},{provider:"github-pr",tests:[/^https:\/\/github\.com\/[^/]+\/[^/]+\/pull\//i],keyExtract:/\/pull\/(\d+)/},{provider:"gitlab-issue",tests:[/^https:\/\/(gitlab\.[^/]+|[^/]+\.gitlab\.io)\/[^/]+\/[^/]+\/-\/issues\//i],keyExtract:/\/issues\/(\d+)/},{provider:"gitlab-mr",tests:[/^https:\/\/(gitlab\.[^/]+|[^/]+\.gitlab\.io)\/[^/]+\/[^/]+\/-\/merge_requests\//i],keyExtract:/\/merge_requests\/(\d+)/},{provider:"bitbucket",tests:[/^https:\/\/bitbucket\.org\/[^/]+\/[^/]+\/pull-requests\//i],keyExtract:/\/pull-requests\/(\d+)/},{provider:"confluence",tests:[/^https:\/\/([^./]+)\.atlassian\.net\/wiki\//i]},{provider:"slack",tests:[/^https:\/\/[^/]+\.slack\.com\//i]},{provider:"linear",tests:[/^https:\/\/linear\.app\//i],keyExtract:/\/([A-Za-z]+-\d+)(?:\/|\?|$|#)/},{provider:"notion",tests:[/^https:\/\/(www\.)?notion\.so\//i]}];function J(t){for(const c of H)if(c.tests.some(e=>e.test(t)))return c.provider;return"generic"}function z(t){return{jira:"i-simple-icons-jira","github-issue":"i-simple-icons-github","github-pr":"i-simple-icons-github","gitlab-issue":"i-simple-icons-gitlab","gitlab-mr":"i-simple-icons-gitlab",bitbucket:"i-simple-icons-bitbucket",confluence:"i-simple-icons-confluence",slack:"i-simple-icons-slack",linear:"i-simple-icons-linear",notion:"i-simple-icons-notion",generic:"i-lucide-link"}[t]}const K={class:"inline-flex items-center gap-1.5 px-2 py-0.5 rounded-full text-xs font-medium bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 group hover:bg-gray-200 dark:hover:bg-gray-700 transition-colors"},Q={key:0,class:"font-mono text-primary font-medium"},W=["title"],X=T({__name:"LinkChip",props:{link:{},removable:{type:Boolean}},emits:["remove"],setup(t,{emit:c}){const e=t,v=c,g=w(()=>e.link.title||e.link.key||e.link.url.replace(/^https?:\/\//,"").slice(0,50)),o=w(()=>z(e.link.provider));return(s,l)=>{const d=U,f=N,m=j;return r(),x("span",K,[p(d,{name:a(o),class:"w-3.5 h-3.5 shrink-0"},null,8,["name"]),t.link.key?(r(),x("span",Q,E(t.link.key),1)):h("",!0),k("span",{class:"max-w-48 truncate",title:t.link.title||t.link.url},E(a(g)),9,W),t.link.statusText?(r(),_(f,{key:1,color:t.link.statusColor||"neutral",variant:"subtle",size:"xs"},{default:y(()=>[I(E(t.link.statusText),1)]),_:1},8,["color"])):h("",!0),p(m,{to:t.link.url,target:"_blank",size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-external-link",class:"opacity-0 group-hover:opacity-100 transition-opacity -my-1"},null,8,["to"]),t.removable?(r(),_(m,{key:2,size:"xs",variant:"ghost",color:"error",icon:"i-lucide-x",class:"opacity-0 group-hover:opacity-100 transition-opacity -my-1",onClick:l[0]||(l[0]=L=>v("remove",t.link.id))})):h("",!0)])}}}),Y=Object.assign(X,{__name:"LinkChip"}),tt={class:"flex flex-wrap items-center gap-1.5"},et={class:"relative"},it={class:"flex justify-end gap-2"},st=T({__name:"EntityLinks",props:{entityType:{},entityId:{},links:{}},emits:["updated"],setup(t,{emit:c}){const e=t,v=c,{copy:g}=M(),o=b(e.links??[]),s=b(""),l=b(!1),d=b(!1),f=w(()=>{try{return s.value?J(s.value):null}catch{return null}}),m=w(()=>f.value?z(f.value):null);async function L(){const n=await $fetch("/api/links",{params:{entityType:e.entityType,entityId:e.entityId}});o.value=n.items}async function B(){if(!(!s.value||d.value)){d.value=!0;try{const n=await $fetch("/api/links",{method:"POST",body:{entityType:e.entityType,entityId:e.entityId,url:s.value}});o.value.push(n.link),s.value="",l.value=!1,v("updated")}catch(n){g(n?.data?.message||"Failed to add link",{toast:!0})}finally{d.value=!1}}}async function V(n){try{await $fetch(`/api/links/${n}`,{method:"DELETE"}),o.value=o.value.filter(i=>i.id!==n),v("updated")}catch{g("Failed to remove link",{toast:!0})}}return O(()=>[e.entityType,e.entityId],()=>{e.links?o.value=e.links:L()},{immediate:!0}),(n,i)=>{const A=Y,$=j,P=R,q=U,F=G;return r(),x("div",tt,[(r(!0),x(D,null,S(a(o),u=>(r(),_(A,{key:u.id,link:u,removable:"",onRemove:V},null,8,["link"]))),128)),p(F,{open:a(l),"onUpdate:open":i[2]||(i[2]=u=>C(l)?l.value=u:null)},{content:y(()=>[k("form",{class:"p-3 space-y-3 min-w-72",onSubmit:Z(B,["prevent"])},[i[5]||(i[5]=k("p",{class:"text-sm font-medium"},"Add link",-1)),k("div",et,[p(P,{modelValue:a(s),"onUpdate:modelValue":i[0]||(i[0]=u=>C(s)?s.value=u:null),placeholder:"https://...",size:"sm",class:"w-full",autofocus:""},null,8,["modelValue"]),a(m)?(r(),_(q,{key:0,name:a(m),class:"absolute right-2.5 top-1/2 -translate-y-1/2 w-4 h-4 text-gray-400"},null,8,["name"])):h("",!0)]),k("div",it,[p($,{size:"xs",variant:"ghost",color:"neutral",onClick:i[1]||(i[1]=u=>l.value=!1)},{default:y(()=>[...i[3]||(i[3]=[I(" Cancel ",-1)])]),_:1}),p($,{size:"xs",color:"primary",type:"submit",loading:a(d),disabled:!a(s).trim()},{default:y(()=>[...i[4]||(i[4]=[I(" Add ",-1)])]),_:1},8,["loading","disabled"])])],32)]),default:y(()=>[p($,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-plus",class:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300",title:"Add link"})]),_:1},8,["open"])])}}}),ot=Object.assign(st,{__name:"EntityLinks"});export{ot as _};
@@ -0,0 +1 @@
1
+ import{a3 as se,a5 as ie,aR as oe,aM as ue,aq as $,aS as H,aT as J,C as X,M as le,ad as fe,r as j,J as M,v as x,aU as k,o as ce,e as de,f as me,U as pe,D as ye,i as ve,b as g,ai as he,aV as Ee,a8 as be,N as w,aW as ge,aX as we,aY as Se,aZ as Fe}from"./BdQ7kfxJ.js";function Ie(n){return"schema"in n&&typeof n.coercer=="function"&&typeof n.validator=="function"&&typeof n.refiner=="function"}function qe(n){return"~standard"in n}async function je(n,i){const f=await i["~standard"].validate(n);return f.issues?{errors:f.issues?.map(u=>({name:u.path?.map(o=>typeof o=="object"?o.key:o).join(".")||"",message:u.message}))||[],result:null}:{errors:null,result:f.value}}async function xe(n,i){const[f,u]=i.validate(n);return f?{errors:f.failures().map(r=>({message:r.message,name:r.path.join(".")})),result:null}:{errors:null,result:u}}function Be(n,i){if(qe(i))return je(n,i);if(Ie(i))return xe(n,i);throw new Error("Form validation failed: Unsupported form schema")}function Ne(n,i){return i?i.split(".").reduce((u,o)=>u?.[o],n):n}function Oe(n,i,f){if(!i)return Object.assign(n,f);if(!n)return n;const u=i.split(".");let o=n;for(let y=0;y<u.length-1;y++){const v=u[y];(o[v]===void 0||o[v]===null)&&(y+1<u.length&&!Number.isNaN(Number(u[y+1]))?o[v]=[]:o[v]={}),o=o[v]}const r=u[u.length-1];return o[r]=f,n}class B extends Error{formId;errors;constructor(i,f){super("Form validation exception"),this.formId=i,this.errors=f,Object.setPrototypeOf(this,B.prototype)}}const Re={base:""},Ae={__name:"UForm",props:{id:{type:[String,Number],required:!1},schema:{type:null,required:!1},state:{type:null,required:!1},validate:{type:Function,required:!1},validateOn:{type:Array,required:!1,default(){return["input","blur","change"]}},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},validateOnInputDelay:{type:Number,required:!1,default:300},transform:{type:null,required:!1,default:()=>!0},nested:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},onSubmit:{type:Function,required:!1}},emits:["submit","error"],setup(n,{expose:i,emit:f}){const u=n,o=f,r=se("form",u),y=ie(),v=x(()=>be({extend:Re,...y.ui?.form||{}})),S=r.id??oe(),A=ue("formRef"),_=Ee(`form-${S}`),E=r.nested===!0&&$(H,void 0),C=r.nested===!0?$(J,void 0):void 0,F=x(()=>C?.value?r.name?Ne(C.value,r.name):C.value:r.state);w(H,_),w(J,F);const I=j(new Map);X(async()=>{E&&(await le(),E.emit({type:"attach",validate:q,formId:S,name:r.name,api:V}))}),fe(()=>{_.reset(),E&&E.emit({type:"detach",formId:S})}),X(async()=>{_.on(async e=>{e.type==="attach"?I.value.set(e.formId,{validate:e.validate,name:e.name,api:e.api}):e.type==="detach"?I.value.delete(e.formId):r.validateOn?.includes(e.type)&&!h.value&&(e.type!=="input"?await q({name:e.name,silent:!0,nested:!1}):(e.eager||K.has(e.name))&&await q({name:e.name,silent:!0,nested:!1})),e.type==="blur"&&K.add(e.name),(e.type==="change"||e.type==="input"||e.type==="blur"||e.type==="focus")&&T.add(e.name),(e.type==="change"||e.type==="input")&&O.add(e.name)})});const l=j([]);w(ge,l);const N=j({});w(we,N);const O=M(new Set),T=M(new Set),K=M(new Set);function W(e){return e.map(t=>({...t,id:t?.name?N.value[t.name]?.id:void 0}))}const R=j(null);async function Y(){let e=r.validate?await r.validate(F.value)??[]:[];if(r.schema){const{errors:t,result:a}=await Be(F.value,r.schema);t?e=e.concat(t):R.value=a}return W(e)}async function q(e={silent:!1,nested:!1,transform:!1}){const t=e.name&&!Array.isArray(e.name)?[e.name]:e.name;let a=[],s=[];if(!t&&e.nested){const p=Array.from(I.value.values()).map(m=>Z(m,e)),d=await Promise.all(p);s=d.filter(m=>m.error).flatMap(m=>m.error.errors.map(ne=>G(ne,m.name))),a=d.filter(m=>m.output!==void 0)}const b=[...await Y(),...s];if(t?l.value=ae(b,t):l.value=b,l.value?.length){if(e.silent)return!1;throw new B(S,l.value)}return e.transform?(a.forEach(p=>{p.name?Oe(R.value,p.name,p.output):Object.assign(R.value,p.output)}),R.value??F.value):F.value}const h=j(!1);w(Se,k(h));async function D(e){h.value=!!r.loadingAuto;const t=e;try{t.data=await q({nested:!0,transform:r.transform}),await r.onSubmit?.(t),O.clear()}catch(a){if(!(a instanceof B))throw a;const s={...t,errors:a.errors};o("error",s)}finally{h.value=!1}}const U=x(()=>r.disabled||h.value);w(Fe,x(()=>({disabled:U.value,validateOnInputDelay:r.validateOnInputDelay})));async function Z(e,t){try{const a=await e.validate({...t,silent:!1});return{name:e.name,output:a}}catch(a){if(!(a instanceof B))throw a;return{name:e.name,error:a}}}function G(e,t){return!t||!e.name?e:{...e,name:t+"."+e.name}}function Q(e,t){const a=t+".",s=e?.name?.startsWith(a)?e.name.substring(a.length):e.name;return{...e,name:s}}function ee(e,t){return t?e.filter(a=>a?.name?.startsWith(t+".")).map(a=>Q(a,t)):e}function L(e){return e.api.getErrors().map(t=>e.name?{...t,name:e.name+"."+t.name}:t)}function z(e,t){return!e||!t?!0:e instanceof RegExp?e.test(t):t===e||typeof e=="string"&&e.startsWith(t+".")}function te(e,t){if(!e||e instanceof RegExp)return e;if(t!==e)return typeof e=="string"&&e.startsWith(t+".")?e.substring(t.length+1):e}function ae(e,t){const a=new Set(t),s=t.map(d=>N.value?.[d]?.pattern).filter(Boolean),c=d=>d.name?a.has(d.name)?!0:s.some(m=>m.test(d.name)):!1,b=l.value.filter(d=>!c(d)),p=e.filter(c);return[...b,...p]}function re(e,t){return e.filter(a=>t instanceof RegExp?!(a.name&&t.test(a.name)):!a.name||a.name!==t)}function P(e){return!e.name||!!N.value[e.name]}const V={validate:q,errors:l,setErrors(e,t){const a=W(e.filter(P)),s=[];for(const c of I.value.values())if(z(t,c.name)){const b=ee(e,c.name);c.api.setErrors(b,te(t,c.name||"")),s.push(...L(c))}if(t){const c=re(l.value,t);l.value=[...c,...a,...s]}else l.value=[...a,...s]},async submit(){A.value instanceof HTMLFormElement&&A.value.reportValidity()===!1||await D(new Event("submit"))},getErrors(e){return e?l.value.filter(t=>e instanceof RegExp?t.name&&e.test(t.name):t.name===e):l.value},clear(e){const t=e?l.value.filter(s=>P(s)&&(e instanceof RegExp?!(s.name&&e.test(s.name)):s.name!==e)):[],a=[];for(const s of I.value.values())z(e,s.name)&&s.api.clear(),a.push(...L(s));l.value=[...t,...a]},disabled:U,loading:h,dirty:x(()=>!!O.size),dirtyFields:k(O),blurredFields:k(K),touchedFields:k(T)};return i(V),(e,t)=>(ce(),de(he(g(E)?"div":"form"),{id:g(S),ref_key:"formRef",ref:A,name:g(E)?void 0:g(r).name,method:"post",class:ve(v.value({class:[g(r).ui?.base,g(r).class]})),onSubmit:ye(D,["prevent"])},{default:me(()=>[pe(e.$slots,"default",{errors:l.value,loading:h.value})]),_:3},40,["id","name","class"]))}};export{Ae as _};
@@ -0,0 +1 @@
1
+ import{d as n,o as s,c as o,h as c,_ as r,g as l,t as i,U as d,i as m}from"./BdQ7kfxJ.js";const _={class:"text-sm text-red-500"},p=n({__name:"ErrorState",props:{text:{},icon:{default:"i-lucide-circle-alert"},padded:{type:Boolean,default:!0}},setup(e){return(t,u)=>{const a=r;return s(),o("div",{role:"alert",class:m(["flex flex-col items-center justify-center gap-2 text-center",e.padded&&"p-4"])},[c(a,{name:e.icon,class:"size-5 text-red-400"},null,8,["name"]),l("p",_,i(e.text),1),d(t.$slots,"action")],2)}}}),f=Object.assign(p,{__name:"ErrorState"});export{f as _};
@@ -0,0 +1 @@
1
+ import{_ as I}from"./j2eGYaRa.js";import{d as L,q as O,w as P,c as u,g as t,b as s,e as j,l as w,h as a,f as r,F as x,E as M,o as c,_ as N,k as p,z as A,t as i,j as q,x as W,r as y}from"./BdQ7kfxJ.js";import{_ as G}from"./CbzgEkmW.js";import{_ as K}from"./BOn5q0rT.js";import{_ as Z}from"./D0XWJGhG.js";import{_ as H}from"./CyWOerIG.js";import{_ as J}from"./CK2AMqz_.js";import{f as B}from"./D-c8ZSws.js";import{e as Q,g as X}from"./CrsaY0R_.js";import{u as Y}from"./DTtizz85.js";import"./C_eXufkv.js";import"./HGYIpJtg.js";import"./i7znB42v.js";import"./CxwnFFD0.js";import"./Bg63qh8W.js";const ee={class:"space-y-6"},te={class:"space-y-3"},se={class:"flex items-center gap-2 text-sm text-muted"},oe={class:"grid grid-cols-1 sm:grid-cols-2 gap-2 text-sm"},ae={class:"text-muted"},ne={class:"flex items-center gap-2 font-mono"},le={class:"text-xs"},ie={key:0,class:"flex items-center gap-2 py-4 text-muted"},re={key:1,class:"grid grid-cols-2 sm:grid-cols-3 gap-4"},de={class:"space-y-1"},ce={class:"text-2xl font-semibold"},me={class:"space-y-1"},ue={class:"text-2xl font-semibold"},pe={class:"space-y-1"},_e={class:"text-2xl font-semibold"},fe={class:"space-y-1"},ge={class:"text-2xl font-semibold"},ve={class:"space-y-1"},xe={class:"text-2xl font-semibold"},ye={class:"space-y-1"},be={class:"text-2xl font-semibold"},he={class:"space-y-1"},Ce={class:"text-2xl font-semibold"},ke={class:"flex flex-col sm:flex-row items-start sm:items-center gap-4"},je=L({__name:"storage",async setup(Se){let _,b;const h=O(),{data:n,refresh:C,pending:k}=([_,b]=P(()=>Y("/api/admin/stats","$phmoZI6KTi")),_=await _,b(),_),T=Q("storage").map(o=>({name:o,...X(o)})),$=[{label:"7 days",value:7},{label:"14 days",value:14},{label:"30 days",value:30},{label:"60 days",value:60},{label:"90 days",value:90},{label:"180 days",value:180},{label:"1 year",value:365}],d=y(30),m=y(!1),f=y(!1);async function E(){m.value=!1,f.value=!0;try{const o=await $fetch("/api/admin/cleanup",{method:"DELETE",body:{olderThanDays:d.value}});h.add({title:"Cleanup complete",description:`Deleted ${o.deletedRuns} test run(s) older than ${d.value} days.`,color:"success"}),await C()}catch(o){const e=o&&typeof o=="object"&&"data"in o?o.data?.message:void 0;h.add({title:"Cleanup failed",description:e||"An error occurred",color:"error"})}finally{f.value=!1}}return(o,e)=>{const V=I,S=N,D=G,v=K,g=q,F=Z,R=H,U=J,z=M;return c(),u(x,null,[t("div",ee,[s(n)?(c(),j(V,{key:0,database:s(n).databaseLocation,storage:s(n).storageLocation},null,8,["database","storage"])):w("",!0),a(v,{icon:"i-lucide-server",title:"Storage backend",help:"settings.storage-backend"},{subtitle:r(()=>[...e[5]||(e[5]=[p(" Configured through environment variables. The active backend is shown read-only. ",-1)])]),default:r(()=>[t("div",te,[t("div",se,[a(S,{name:"i-lucide-info",class:"size-4"}),e[6]||(e[6]=p(" Storage backend selection (local disk or S3) and its credentials are set via the environment. Each variable below is shown read-only — hover the lock to see what it controls. ",-1))]),t("div",oe,[(c(!0),u(x,null,A(s(T),l=>(c(),u(x,{key:l.name},[t("div",ae,i(l.name.replace("PIWI_S3_","S3 ").replace("PIWI_STORAGE_","Storage ")),1),t("div",ne,[t("code",le,i(l.name),1),a(D,{"env-vars":[l.name]},null,8,["env-vars"])])],64))),128))])])]),_:1}),a(v,{icon:"i-lucide-database",title:"Storage statistics",help:"settings.storage-stats"},{footer:r(()=>[a(g,{icon:"i-lucide-refresh-cw",variant:"outline",size:"sm",loading:s(k),label:"Refresh",onClick:e[0]||(e[0]=l=>s(C)())},null,8,["loading"])]),default:r(()=>[s(k)?(c(),u("div",ie,[a(S,{name:"i-lucide-loader-2",class:"animate-spin"}),e[7]||(e[7]=p(" Loading… ",-1))])):s(n)?(c(),u("div",re,[t("div",de,[e[8]||(e[8]=t("p",{class:"text-sm text-muted"},"Projects",-1)),t("p",ce,i(s(n).totalProjects),1)]),t("div",me,[e[9]||(e[9]=t("p",{class:"text-sm text-muted"},"Test runs",-1)),t("p",ue,i(s(n).totalRuns),1)]),t("div",pe,[e[10]||(e[10]=t("p",{class:"text-sm text-muted"},"Test cases (unique)",-1)),t("p",_e,i(s(n).totalTestCases),1)]),t("div",fe,[e[11]||(e[11]=t("p",{class:"text-sm text-muted"},"Test results",-1)),t("p",ge,i(s(n).totalRunsCases),1)]),t("div",ve,[e[12]||(e[12]=t("p",{class:"text-sm text-muted"},"Stored files",-1)),t("p",xe,i(s(n).totalFiles),1)]),t("div",ye,[e[13]||(e[13]=t("p",{class:"text-sm text-muted"},"File size (DB)",-1)),t("p",be,i(("formatBytes"in o?o.formatBytes:s(B))(s(n).totalFileSize)),1)]),t("div",he,[e[14]||(e[14]=t("p",{class:"text-sm text-muted"},"Storage on disk",-1)),t("p",Ce,i(("formatBytes"in o?o.formatBytes:s(B))(s(n).storageSizeOnDisk)),1)])])):w("",!0)]),_:1}),a(v,{icon:"i-lucide-trash-2",title:"Cleanup old test runs",help:"settings.cleanup"},{default:r(()=>[t("div",ke,[a(R,{label:"Delete runs older than",name:"period"},{default:r(()=>[a(F,{modelValue:s(d),"onUpdate:modelValue":e[1]||(e[1]=l=>W(d)?d.value=l:null),items:$},null,8,["modelValue"])]),_:1}),a(g,{icon:"i-lucide-trash-2",color:"error",variant:"soft",loading:s(f),label:"Run cleanup",class:"mt-4 sm:mt-5",onClick:e[2]||(e[2]=l=>m.value=!0)},null,8,["loading"])])]),_:1})]),a(z,null,{default:r(()=>[a(U,{open:s(m),title:"Confirm cleanup","onUpdate:open":e[4]||(e[4]=l=>m.value=l)},{body:r(()=>[t("p",null,[e[15]||(e[15]=p(" This will permanently delete all test runs older than ",-1)),t("strong",null,i(s(d))+" days",1),e[16]||(e[16]=p(", along with their associated reports, traces, and test results. This action cannot be undone. ",-1))])]),footer:r(()=>[a(g,{color:"neutral",variant:"ghost",label:"Cancel",onClick:e[3]||(e[3]=l=>m.value=!1)}),a(g,{color:"error",label:"Delete",icon:"i-lucide-trash-2",loading:s(f),onClick:E},null,8,["loading"])]),_:1},8,["open"])]),_:1})],64)}}});export{je as default};